Received: from PCH.mit.edu (18.7.21.50) by mail.efplus.com (192.168.0.8) with Microsoft SMTP Server (TLS) id 8.3.485.1; Wed, 30 Dec 2020 16:30:46 -0800 Received: from PCH.MIT.EDU (localhost.localdomain [127.0.0.1]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BV0N8ei009583; Wed, 30 Dec 2020 19:23:47 -0500 Received: from outgoing-exchange-1.mit.edu (OUTGOING-EXCHANGE-1.MIT.EDU [18.9.28.15]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BV0N7oa009580 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 30 Dec 2020 19:23:07 -0500 Received: from w92exedge4.exchange.mit.edu (W92EXEDGE4.EXCHANGE.MIT.EDU [18.7.73.16]) by outgoing-exchange-1.mit.edu (8.14.7/8.12.4) with ESMTP id 0BV0N6wV028503 for ; Wed, 30 Dec 2020 19:23:07 -0500 Received: from w92expo7.exchange.mit.edu (18.7.74.61) by w92exedge4.exchange.mit.edu (18.7.73.16) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Wed, 30 Dec 2020 19:22:26 -0500 Received: from oc11exhyb6.exchange.mit.edu (18.9.1.111) by w92expo7.exchange.mit.edu (18.7.74.61) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Wed, 30 Dec 2020 19:23:06 -0500 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by oc11exhyb6.exchange.mit.edu (18.9.1.111) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Wed, 30 Dec 2020 19:23:06 -0500 Received: from DM6PR11CA0010.namprd11.prod.outlook.com (2603:10b6:5:190::23) by MWHPR01MB2703.prod.exchangelabs.com (2603:10b6:300:f2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.28; Thu, 31 Dec 2020 00:23:04 +0000 Received: from DM6NAM11FT034.eop-nam11.prod.protection.outlook.com (2603:10b6:5:190:cafe::85) by DM6PR11CA0010.outlook.office365.com (2603:10b6:5:190::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.19 via Frontend Transport; Thu, 31 Dec 2020 00:23:04 +0000 Received: from premium47-1.web-hosting.com (68.65.123.241) by DM6NAM11FT034.mail.protection.outlook.com (10.13.173.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.29 via Frontend Transport; Thu, 31 Dec 2020 00:23:04 +0000 Received: from [172.58.155.27] (port=53182 helo=[IPv6:2607:fb90:1bd4:786f:149b:d727:a77:5b5a]) by premium47.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1kulk1-001Sz2-Nd; Wed, 30 Dec 2020 19:23:03 -0500 From: Neil To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Wed, 30 Dec 2020 16:22:53 -0800 Subject: Re: [EE] Eliminating external noise through PS Thread-Topic: [EE] Eliminating external noise through PS Thread-Index: AdbfDC63/9FfcKapShGgOD4RzhUsjw== Message-ID: <5FED19DD.5030704@narwani.org> References: <5FCFC00E.8040703@narwani.org> <004f01d6cf54$9da13a80$d8e3af80$@functech.com> <5FD3D1E9.8040605@narwani.org> <5FD6A0DC.4010801@narwani.org> <5FD6AEAF.6090505@narwani.org> <5FEB7356.7020408@narwani.org> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: Reply-To: Microcontroller discussion list - Public. Accept-Language: en-US X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: TS500.efplus4.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-SenderIdResult: Pass X-MS-Exchange-Organization-PRD: mit.edu X-MS-TNEF-Correlator: received-spf: None (protection.outlook.com: narwani.org does not designate permitted sender hosts) dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=narwani.org ; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:Reply-To:To:References:Subject:Sender:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=x8K7EeQXl1Uqu2J1e6MIcLqDJPXpK3INn66DpgGSAzc=; b=z0MtMd4LAS2XgA+KfSKg7IAoYR 209DsmvJoNvakAz/cliBQrtG7rgVpAFDljX53L5tP3B3SogTkb4OlNdm9k/pV2uOnyPi21OnIdO+8 ASvC8xl2LJDZ+g4fVJrfTEGJflsRyEBx3MZ65p2Il2BbBMda32PWfDNzJfrzgCXAbTmbVWtJNm/fM 9slzowND5XvSiQGOB6EMh1/50z0nyP2HhjzaaTswTX5HXnaZk7ktqdtBWmmt4bu4NQvbvZWY+PIrt dVpZyGMdGRLtFwtKp/xvGEp29TXPGWa7ysj+tlR9cCvx2w0phYpiAXrrs+w/G2ZInOj15arN6Pmqf HFDEujaQ==; authentication-results: spf=none (sender IP is 68.65.123.241) smtp.mailfrom=narwani.org; mit.edu; dkim=pass (signature was verified) header.d=narwani.org;mit.edu; dmarc=bestguesspass action=none header.from=narwani.org; user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 errors-to: piclist-bounces@mit.edu list-id: "Microcontroller discussion list - Public." list-post: x-beenthere: piclist@mit.edu x-mailman-version: 2.1.6 x-source-args: x-source-dir: x-antiabuse: Sender Address Domain - narwani.org x-source: x-authenticated-sender: premium47.web-hosting.com: ca4@narwani.org x-topics: [EE] x-mime-autoconverted: from quoted-printable to 8bit by PCH.mit.edu id 0BV0N7oa009580 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 SnVzdCBtZW50aW9uZWQgdGhhdCBpbiBhbm90aGVyIHBvc3QgKEdyb3VuZGVkIHdpdGggcmVndWxh ciBsZWFkL2NsaXAsDQpidXQgcHJldiB0cmllZCBwYXBlcmNsaXAgbW9kIGFuZCBkaWRuJ3Qgc2Vl IGEgY2hhbmdlIHRoZW4gc28gd2VudCBiYWNrDQp0byByZWd1bGFyIGxlYWQvY2xpcCksIHNvIHdp bGwgdHJ5IGl0IGFnYWluLiAgV291bGQgYmUgZ3JlYXQgaWYgdGhpcyB3YXMNCnRoZSBsYXN0IGJp dCBvZiB0aGUgaXNzdWUuDQoNCkJ5ICJmbG9hdCB0aGUgc2NvcGUiLCBkbyB5b3UgbWVhbiB1c2lu ZyBhIHRyYW5zZm9ybWVyIG9mIHNvbWUgc29ydCB0bw0KaXNvbGF0ZSB0aGUgZ3JvdW5kPw0KDQpT aGllbGRpbmcgdGhlIEFDIHdpcmVzIGRpZG4ndCBtYWtlIG11Y2ggb2YgYSBkZW50Li4uIEkgZmly c3QgdHJpZWQNCmFsdW1pbnVtIGZvaWwgYW5kIGdyb3VuZGVkIG9uIHRoZSBtb3RvciBzaWRlLiAg VGhlbiBJIHRyaWVkIGFjdHVhbA0Kc2hpZWxkaW5nIGJyYWlkLCBidXQgdGhhdCBkaWRuJ3QgZG8g YW55dGhpbmcgZWl0aGVyLg0KDQpJIG5lZWQgdG8gc2VhcmNoIGZvciB0aG9zZSBwYWNrYWdlZCBw b3dlciBlbnRyeSBmaWx0ZXJzLg0KDQpDaGVlcnMsDQotTmVpbC4NCg0KDQoNCk9uIDEyLzI5LzIw MjAgMzozNCBQTSwgbWFkc2NpZW50aXN0YXRsYXJnZSB3cm90ZToNCj4gV2hlbiB5b3UgbWVhc3Vy ZSB3aXRoIHRoZSBzY29wZSwgaG93IGFyZSB5b3UgZ3JvdW5kaW5nIHRoZSBQcm9iZT8gIFRob3Nl IGNvbnZlbmllbnQgd2lyZXMgd2l0aCBhbGxpZ2F0b3IgY2xpcHMgbWFrZSBnb29kIGFudGVubmFz LCBiZXN0IHRvIHRha2UgYSB3aXJlLCBwcmVmZXJhYmx5IGJlcnlsbGl1bSBjb3BwZXIgYmVjYXVz ZSBpdCdzIHNwcmluZ3ksIGFuZCB3cmFwIG9uZSBlbmQgYXJvdW5kIHRoZSBleHBvc2VkIGdyb3Vu ZCBqdXN0IGJlaGluZCB0aGUgdGlwLCB0aGVuIGJlbmQgaXQgdG8gcG9pbnQgdGhlIHNhbWUgd2F5 IGFzIHRoZSBzaWduYWwgcHJvYmUgYW5kIHRyaW0gdG8gbGVuZ3RoIHNvIHlvdSBhcmUgZ3JvdW5k aW5nIGl0IHJpZ2h0IHdoZXJlIHlvdSBhcmUgbWVhc3VyaW5nLiAgTWlnaHQgYWxzbyB3YW50IHRv IGZsb2F0IHRoZSBzY29wZSB0byBhdm9pZCBncm91bmQgbG9vcHMuICBJZiB5b3UgYXJlIGluIHRo ZSBVLlMuIFRoZXNlIGd1eXMgd2lsbCBzZWxsIGEgc2luZ2xlIGZvb3Qgb2YgYmVyeWxsaXVtIGNv cHBlciB3aXJlLCA8aHR0cDovL2xmYS13aXJlLmNvbS9QbGF0ZWQtV2lyZS1hcnRpY2xlL1BsYXRl ZC1XaXJlLTIuaHRtbD4uICBIYXZlbid0IGRlYWx0IHdpdGggdGhlbSBidXQgcGxhbiB0byBhcyBz b29uIGFzIEkgZ2V0IG15IGJlbmNoIHNldHVwLiAgSSBsZWFybmVkIHRoaXMgdHJpY2sgb24gYSBq b2IgYW5kIGhhdmUgc2VlbiBpdCBtZW50aW9uZWQgb25jZSBvbmxpbmUgKGJlZW4gb25saW5lIHNp bmNlIDIwMDApLiAgSW4gYSBwaW5jaCBhIHBpZWNlIG9mIGNvcHBlciBtaWdodCB3b3JrIGJyaWVm bHksIG9yIGFueSBvdGhlciBzdGlmZiB3aXJlLCBwb3NzaWJseSBldmVuIGEgcGFwZXIgY2xpcCBp biBhIHBpbmNoIChoYXZlbid0IHRyaWVkIGl0LCBzdGVlbCBkb2VzIGhhdmUgc29tZSByZXNpc3Rh bmNlIGJ1dCBsaWtlbHkgbm90IHRvbyBiYWQgb24gMWNtIG9yIGxlc3MpLiAgV2hlbiB5b3UgY3V0 IHRoZSB3aXJlIHlvdSBjYW4gY3V0IGEgbmljZSBwb2ludCBvbiB0aGUgZW5kLg0KPg0KPiBOb2lz ZSB3aWxsIGRyaXZlIG9uZSBiYXR0eSwgSSBvbmNlIHRyYWNlZCBpdCB0byBhIGxlYWt5IHRyYW5z Zm9ybWVyIGluIGEgZmxvdyBjb250cm9sbGVyLiAgVGhlIGN1cnJlbnQgd2FzIGdvaW5nIHRvIGdy b3VuZCB0aHJvdWdoIHRoZSBjb21wdXRlcidzIGRhdGEgYWNxIGNhcmQgYW5kIHNwb3JhZGljYWxs eSBtYWtpbmcgbm9pc2Ugb24gdGhlIG1lYXN1cmVtZW50LiAgIE5vIHBlcm1hbmVudCBlZmZlY3Qg aW4gdGhhdCBjYXNlLiAgVGhpbmcgd2FzIHdoZW4gSSBjb25uZWN0ZWQgdGhlIHNjb3BlIGdyb3Vu ZCB0byB0aGUgZXF1aXBtZW50IGl0IHRvb2sgdGhlIGxlYWthZ2UgYW5kIHRoZSBub2lzZSB3ZW50 IGF3YXksIG9ubHkgc2F3IGl0IGJlY2F1c2UgSSByZWFzb25lZCB0aGUgc2NvcGUgd2FzIGRvaW5n IHRoZSBtYWdpYy4gIE9wZW5lZCB0aGUgZmxvdyBjb250cm9sbGVyIGNhc2UgYW5kIG91dCBvZiA0 IHRyYW5zZm9ybWVycyAoMSBmb3IgZWFjaCBjaGFubmVsKSBvbmUgaGFkIGEgYmlnIGJ1YmJsZSBv biB0aGUgZW5jYXBzdWxhdGlvbiwgSSd2ZSBhbHdheXMgYXNzdW1lZCBpdCB3YXMgc3Bpa2UgZGFt YWdlLiAgUmVwbGFjZWQgdGhlIHRyYW5zZm9ybWVyIGFuZCBhd2F5IHdlbnQgdGhlIG5vaXNlLiAg VGhlIGFubm95aW5nIHRoaW5nIGlzIGl0IGhhZCBiZWVuIGluIHRvIHRoZSBtYW51ZmFjdHVyZXIg Zm9yIHRoZSBub2lzZSBwcm9ibGVtIGFuZCBvZiBjb3Vyc2UgdGhleSBmb3VuZCBubyBpc3N1ZXMg KEkgZG9uJ3QgYmxhbWUgdGhlbSwgSSBzcGVudCBhIGRheSBhbmQgYSBoYWxmIHBsYXlpbmcgd2l0 aCBpdCBiZWZvcmUgSSBmaWd1cmVkIGl0IG91dCkuDQo+DQo+IFdoZW4geW91IGdyYWIgdGhlIGxl YWQgYW5kIHRoZSBub2lzZSBkcm9wcyB5b3UncmUgcHJvYmFibHkgYmVpbmcgYSBsb3NzeSBsb2Fk LCBvciBnZXR0aW5nIHBoYXNlIGNhbmNlbGxhdGlvbiwgb3I/Pz8gIEluIGEgcGluY2ggeW91IGNv dWxkIHVzZSBzaGllbGRlZCB3aXJpbmcgdG8gdGhlIG1vdG9yLCBjb25kdWl0IG1pZ2h0IGhlbHAg ZW5vdWdoLCBwcmVmZXJhYmx5IGdyb3VuZGVkIGF0IG9ubHkgdGhlIG1vdG9yIChub2lzZSBzb3Vy Y2UpIGVuZCBvZiB0aGUgbGluZS4gIEFsc28gdW5sZXNzIHlvdXInIGZpbHRlcnMgYXJlIHNoaWVs ZGVkLCBhbmQgdGhlIGxpbmUgdG8vZnJvbSB0aGVtIG5vaXNlIGNhbiBlYXNpbHkgY291cGxlIGFy b3VuZCB0aGUgZmlsdGVyLiAgVGhpcyBoYXBwZW5zIHdpdGggcG93ZXIgZW50cnkgZmlsdGVyaW5n IGlmIHRoZSB3aXJlcyBydW4gbmVhciBlYWNoIG90aGVyLCB3aGljaCBtYWtlcyB0aGUgcGFja2Fn ZWQgcG93ZXIgZW50cnkgZmlsdGVycyB3b3J0aCB0aGUgZXh0cmEgJCQgaW4gbWFueSBjYXNlcy4N Cj4NCj4NCj4gU2VudCB3aXRoIFByb3Rvbk1haWwgU2VjdXJlIEVtYWlsLg0KPg0KPiDigJDigJDi gJDigJDigJDigJDigJAgT3JpZ2luYWwgTWVzc2FnZSDigJDigJDigJDigJDigJDigJDigJANCj4g T24gVHVlc2RheSwgRGVjZW1iZXIgMjksIDIwMjAgMTI6MzYgUE0sIEphc29uIFdoaXRlIDx3aGl0 ZXdhdGVyc3NvZnR3YXJlaW5mb0BnbWFpbC5jb20+IHdyb3RlOg0KPg0KPj4gTXkgZXhwZXJpZW5j ZSBkZXZlbG9waW5nICJhbGwgZGlzY3JldGUiIChubyBtaWNyb2NvbnRyb2xsZXIpIG1vdG9yIGRy aXZlcg0KPj4gUENCcyBpcyB0aGF0IGFueSBub2lzZSB0aGF0IGlzIHVuYWZmZWN0ZWQgYnkgZmls dGVyaW5nIHRlbmRzIHRvIGJlIGENCj4+IG1lYXN1cmVtZW50IG9yIGVudmlyb25tZW50YWwgYXJ0 aWZhY3QuDQo+Pg0KPj4gSSdkIHJlY29tbWVuZCBkb3VibGVkIGNoZWNraW5nIHlvdXIgcHJvYmUv c2NvcGUgZ3JvdW5kaW5nIC0gaXQgaXMgYW4NCj4+IGVuZGxlc3Mgc291cmNlIG9mIHRyb3VibGUg YW5kIGVycm9uZW91cyByZWFkaW5ncy4gSSd2ZSBmb3VuZCB0aGF0IG9mdGVuDQo+PiB0aW1lcyBw cm9ibGVtcyBpbiBzeXN0ZW1zIGFyZSBhIHJlc3VsdCBvZiBhIGNvbWJpbmF0aW9uIG9mICJpbm5v Y2VudA0KPj4gbG9va2luZyIgYW5kIHVucmVsYXRlZCB0aGluZ3MgdGhhdCBlbmQgdXAgaW50ZXJh Y3RpbmcgaW4gdW5leHBlY3RlZCB3YXlzLg0KPj4NCj4+IE9uIFR1ZXNkYXksIERlY2VtYmVyIDI5 LCAyMDIwLCBOZWlsIHBpY2R1ZGUzQG5hcndhbmkub3JnIHdyb3RlOg0KPj4NCj4+PiBIYXBweSBo b2xpZGF5cyBldmVyeW9uZS4NCj4+PiBPa2F5LCBJIGdvdCBiYWNrIHRvIHRoaXMgcmVjZW50bHkg YW5kIGhhdmUgYSBidW5jaCBvZiB1cGRhdGVzOg0KPj4+IEZvciB0aGUgdGw7ZHIgJ2Vycy4uLiBJ J3ZlIGdvdCBhIGxvdCBvZiBub2lzZSBvdXQsIHRoZSBwcm9jZXNzb3IgZG9lcw0KPj4+IG5vdCBj cmFzaCBhbnltb3JlLCBidXQgMiBxdWVzdGlvbnMgcmVtYWluOg0KPj4+DQoNCj4+PiAtICAgU2hv dWxkIEkgaGF2ZSB0aGUgQUMtb3V0bGV0IGdyb3VuZCB3aXJlLCBjb21pbmcgb250byB0aGUgUENC IGFuZCB1c2VkDQo+Pj4gICAgICBhcyBhIHNoaWVsZD8NCj4+Pg0KPj4+IC0gICBJZiBJIGhvbGQg dGhlIEFDIHdpcmUgd2l0aCBteSBoYW5kLCB0aGUgbm9pc2UgKGFzIHNlZW4gb24gdGhlDQo+Pj4g ICAgICBvc2NpbGxvc2NvcGUpIGRyb3BzIChub3RpY2VhYmx5KS4gU2hpZWxkaW5nIHRoZSBBQyB3 aXJlIGRvZXMgbm90IGhhdmUNCj4+PiAgICAgIHRoZSBzYW1lIGVmZmVjdCwgc28gd2hhdCBpcyBo YXBwZW5pbmcgaGVyZSwgYW5kIGhvdyBjYW4gSSB1c2UgdGhpcyB0bw0KPj4+ICAgICAgaGVscCBy ZWR1Y2UgdGhlIG5vaXNlIGV2ZW4gbW9yZT8NCj4+Pg0KPj4+DQo+Pj4gRm9yIHRoZSBnb3J5IGRl dGFpbHMsIGhlcmUncyBteSBzdW1tYXJ5IG9mIHdoYXQgSSB0cmllZCBhbmQgZm91bmQuLi4NCj4+ PiBGb3IgcmVmZXJlbmNlLi4uDQo+Pj4gaHR0cDovL29ybGFuZG9yb2JvdGJ1aWxkZXJzLmNvbS9z dHVmZi9TTU5vaXNlLzIwMjAxMjI0LVNNTi0wOC5qcGcgLCBhbmQNCj4+PiBub2lzZSBpcyBtb3N0 bHkgaW4gdGhlIGZldyBNaHogcmFuZ2UgYW5kIGhpZ2hlci4NCj4+Pg0KPj4+IC0gICBDZXJhbWlj IGNhcCBhY3Jvc3MgKERDKSBtb3RvciB3aXJlcyAocmlnaHQgYXQgdGhlIG1vdG9yKSBoZWxwZWQg YSBiaXQuDQo+Pj4gLSAgIExvdy1wYXNzIGZpbHRlciBoZWxwZWQgbWluaW1hbGx5DQo+Pj4gLSAg IFBpIGZpbHRlciB3YXMgYSBiaXQgYmV0dGVyLCBidXQgc3RpbGwgc21hbGwgaW1wYWN0Lg0KPj4+ IC0gICBDb21tb24gbW9kZSBjaG9rZSAodW5jYWxjdWxhdGVkLCBidXQgc2hvdWxkJ3ZlIGJlZW4g YWJsZSB0byBzZXBhcmF0ZQ0KPj4+ICAgICAgNjBIeiBmcm9tIE1oei1yYW5nZSBub2lzZSkgZGlk bid0IGhlbHAuIEkgYW0gbmV3IHRvIHRoZXNlLCBidXQNCj4+PiAgICAgIGFwcGFyZW50bHkgYWJv dmUgc29tZSBmcmVxdWVuY3kgdGhlIGltcGVkYW5jZSBkcm9wcyBhZ2Fpbi4NCj4+Pg0KPj4+IC0g ICBGZXJyaXRlIGFjcm9zcyBBQyBzaWRlIG9mIG1vdG9yIHdpcmVzIGhlbHBlZCBtaW5pbWFsbHku DQo+Pj4gLSAgIEZlcnJpdGUgb24gaW5jb21pbmctcG93ZXIgQUMgd2lyZXMgZGlkIG5vdCBoZWxw DQo+Pj4gLSAgIFJlbW92ZWQgcmVsYXkgKGFuZCBqdW1wZXIgYWNyb3NzIGNvbnRhY3RzIHRvIHJ1 biB0aGUgcHVtcCkgdG8gc2VlIGlmDQo+Pj4gICAgICBub2lzZSB3YXMgY29taW5nIGludG8gYm9h cmQgZnJvbSB0aGF0IHNpZGUsIGJ1dCBub3BlLg0KPj4+DQo+Pj4gLSAgIFN0YXJ0ZWQgZnJvbSBz Y3JhdGNoIHdpdGggYSBtaW5pbWFsIHNldHVwIC0tIHRoZSBBQy1EQyBQUyAobm8gUENCKSwNCj4+ PiAgICAgIHdpdGggd2lyZXMgc29sZGVyZWQgb24gZm9yIHRoZSBpbmNvbWluZyBwb3dlciBhbmQg cGFyYWxsZWwgd2lyZXMgdG8gcnVuDQo+Pj4gICAgICB0aGUgcHVtcCwgYW5kIGEgMWsgbG9hZCBy ZXNpc3RvciBvbiB0aGUgUFMgb3V0cHV0LiBTdGlsbCBhIGxvdCBvZiBub2lzZQ0KPj4+DQo+Pj4g LSAgIExvdy1wYXNzIGZpbHRlciBhZ2FpbiBoZWxwZWQgcmVkdWNlIG5vaXNlIG1pbmltYWxseS4N Cj4+PiAtICAgQ2FwYWNpdGFuY2UgbXVsdGlwbGllciBoZWxwZWQgbm90aWNlYWJseS4NCj4+PiAt ICAgMiBtb3JlIGNlcmFtaWMgY2FwcyBmcm9tIGVhY2ggbW90b3Igd2lyZSB0byBncm91bmQvbW90 b3IgY2FzZSAocmlnaHQNCj4+PiAgICAgIGF0IHRoZSBtb3RvcikgaGVscGVkIG5vdGljZWFibHku DQo+Pj4NCj4+PiAtICAgVHdpc3RlZCB0aGUgQUMgd2lyZXMgdG8gdGhlIG1vdG9yIHRpZ2h0ZXIs IGFuZCBkaWRuJ3QgcmVhbGx5IHNlZSBhbnkNCj4+PiAgICAgIGRpZmZlcmVuY2UuDQo+Pj4NCj4+ PiAtICAgQmFjayB0byBvcmlnaW5hbCBib2FyZCwgdG8gdXNlIHNvbWUgb2YgdGhlc2UsIGJ1dCB0 b28gbXVjaCB2b2x0YWdlDQo+Pj4gICAgICBkcm9wIG9uIGNhcGFjaXRhbmNlIG11bHRpcGxpZXIg dG8gYmUgdXNhYmxlLiBJIHNob3VsZCBjYWxjdWxhdGUgdGhpcw0KPj4+ICAgICAgcHJvcGVybHkg YW5kIGZpbmQgdGhlIHJpZ2h0IHRyYW5zaXN0b3IgZm9yIHRoaXMuDQo+Pj4NCj4+Pg0KPj4+IEF0 IHRoaXMgcG9pbnQsIEkgaGF2ZSAzIEAgMC4wMXVmIGNlcmFtaWMgY2FwcyBhdCB0aGUgbW90b3Ig YW5kIHRoZSBwaQ0KPj4+IGZpbHRlciBhbmQgdGhlIGJvYXJkIGlzbid0IGNyYXNoaW5nLCBidXQg SSBjYW4gc3RpbGwgc2VlIHNvbWUgbm9pc2Ugb24NCj4+PiB0aGUgc2NvcGUsIHdoaWNoIEknZCBs aWtlIHRvIHJlZHVjZSBldmVuIG1vcmUuIEdvaW5nIHRvIHRyeSBhDQo+Pj4gbXVsdGktc3RhZ2Ug cGkvTEMgZmlsdGVyLg0KPj4+IEJ1dCBJJ20gY3VyaW91cyBob3cgdG8gdXNlIHRoZSAicGhlbm9t ZW5vbiIgd2hlcmUgaG9sZGluZyB0aGUgQUMgd2lyZSBpbg0KPj4+IG15IGhhbmQgcmVkdWNlcyBu b2lzZSBub3RpY2VhYmx5LCB0byBoZWxwIHRoaXMuDQo+Pj4gVGhhbmtzLA0KPj4+IC1OZWlsLg0K Pj4+IE9uIDEyLzEzLzIwMjAgNzoxNSBQTSwgTmVpbCB3cm90ZToNCj4+Pg0KPj4+PiBUaGF0J3Mg YSBkZWZpbml0ZSBwb3NzaWJpbGl0eSBhdCB0aGlzIHBvaW50LiBUaGUgb3JpZ2luYWwgY2lyY3Vp dA0KPj4+PiAocHJpb3IgdmVyc2lvbikgd29ya2VkIGdyZWF0IHdpdGggMiBsYXllcnMsIGJ1dCBJ IG5lZWRlZCAyb3ogY29wcGVyIHRvDQo+Pj4+IGhhbmRsZSB0aGUgcHVtcCBjdXJyZW50Lg0KPj4+ PiBOZXZlciB2ZXJzaW9uIHdvcmtzIGp1c3QgYXMgZ3JlYXQuIE9yIEkgc2hvdWxkIHNheSAid29y a2VkIiwgdW50aWwNCj4+Pj4gdGhleSBkZWNpZGVkIHRvIHN3aXRjaCBmcm9tIHRoZSBBQyBwdW1w IHRvIHRoaXMgREMgcHVtcC4NCj4+Pj4gQ2hlZXJzLA0KPj4+PiAtTmVpbA0KPj4+PiBPbiAxMi8x My8yMDIwIDY6NTggUE0sIEphc29uIFdoaXRlIHdyb3RlOg0KPj4+Pg0KPj4+Pj4gTmVpbCwgZnJv bSB0aGUgcGljdHVyZXMgaXQgbG9va3MgbGlrZSB5b3UncmUgdXNpbmcgYSAyIGxheWVyIFBDQi4g SGF2ZQ0KPj4+Pj4geW91DQo+Pj4+PiBjb25zaWRlcmVkIGEgNCBsYXllciBQQ0I/IEEgY29udGlu dW91cyBkZWRpY2F0ZWQgZ3JvdW5kIHBsYW5lIGxheWVyDQo+Pj4+PiB3b3VsZA0KPj4+Pj4gZHJh c3RpY2FsbHkgcmVkdWNlIHRoZSBsb29wIGFyZWEgKGFuZCB0aHVzIHN1c2NlcHRpYmlsaXR5IHRv IEVNSSkgb2YNCj4+Pj4+IHlvdXINCj4+Pj4+IHRyYWNlcy4NCj4+Pj4+IE90aGVyd2lzZSwgaXQg bWF5IGJlIHdvcnRoIGNvbnNpZGVyaW5nIG1vdmluZyB0aGUgcmVsYXlzIHRvIGEgc2VwYXJhdGUN Cj4+Pj4+IGJvYXJkL2FyZWEuDQo+Pj4+PiBPbiBTdW5kYXksIERlY2VtYmVyIDEzLCAyMDIwLCBO ZWlsIHBpY2R1ZGUzQG5hcndhbmkub3JnIHdyb3RlOg0KPj4+Pj4NCj4+Pj4+PiBJIHN0cm9uZ2x5 IGZlZWwgc28sIGJlY2F1c2UgaW4gbXkgZWFybHkgdGVzdHMsIEk6DQo+Pj4+Pj4gKGEpIGRpc2Nv bm5lY3RlZCBvbmUgb2YgdGhlIHB1bXAgd2lyZXMgKHNvIHRoZSBwdW1wIHdvdWxkbid0IHJ1biks IGFuZA0KPj4+Pj4+IGl0IHdhcyAoZXhwZWN0ZWRseSkgdmVyeSBjbGVhbiAob24gdGhlIHNjb3Bl KS4NCj4+Pj4+PiAoYikgZGlzY29ubmVjdGVkIGJvdGggb2YgdGhlIHB1bXAgd2lyZXMgYW5kIHBs dWdnZWQgaXQgaW50byB0aGUgZmVtYWxlDQo+Pj4+Pj4gc2lkZSBvZiBhIFBDIHBvd2VyIGNvcmQs IHNvIHRoZSBwdW1wIHJhbiwgYnV0IHdhcyBjb25uZWN0ZWQgdG8gMTIwVkFDDQo+Pj4+Pj4gZnJv bSBhIGRpZmZlcmVudCBzb3VyY2UuIFZlcnkgY2xlYW4gcG93ZXIgYWdhaW4uDQo+Pj4+Pj4gSW4g Ym90aCBjYXNlcywgYWxsIGVsc2Ugc3RheWVkIHRoZSBzYW1lIGluY2x1ZGluZyB3aGVyZSB0aGUg d2lyZXMgd2VyZQ0KPj4+Pj4+IGRyYXBlZCwgZXRjLg0KPj4+Pj4+IEluIG90aGVyIHRlc3RzLCBJ IG1vdmVkIHRoZSBzY29wZSwgcG93ZXIgbGluZXMsIGV0YyBhbmQgbm8gY2hhbmdlIHRvDQo+Pj4+ Pj4gdGhlDQo+Pj4+Pj4gbm9pc2Ugb24gdGhlIGxpbmUuDQo+Pj4+Pj4gRWl0aGVyIHdheSwgSSBo YXZlbid0IGRvbmUgbXkgb3RoZXIgdGVzdHMgeWV0IHNpbmNlIEkgdG9vayB0aGUgcHVtcA0KPj4+ Pj4+IHdpdGgNCj4+Pj4+PiBtZSwgc28gSSdsbCBnZXQgdG8gdGhvc2UgdGhpcyB3ZWVrLg0KPj4+ Pj4+IENoZWVycywNCj4+Pj4+PiAtTmVpbC4NCj4+Pj4+PiBPbiAxMi8xMS8yMDIwIDc6MzcgUE0s IEphc29uIFdoaXRlIHdyb3RlOg0KPj4+Pj4+DQo+Pj4+Pj4+IEhpIE5laWwsDQo+Pj4+Pj4+IFRo aXMgbWF5IGJlIGEgc2lsbHkgcXVlc3Rpb246IGFyZSB5b3Ugc3VyZSB0aGF0IHNvbWUgb2YgdGhl c2Ugdm9sdGFnZQ0KPj4+Pj4+PiBzcGlrZXMgdGhhdCB5b3UndmUgY2FwdHVyZWQgb24gdGhlIHNj b3BlIGFyZSBub3QgYXJ0aWZhY3RzIG9mIHlvdXINCj4+Pj4+Pj4gbWVhc3VyZW1lbnQgc2V0dXA/ IFRoZSBsb29wIGZvcm1lZCBieSB0aGUgZ3JvdW5kIHdpcmUvY2xpcCBvbiBhIHNjb3BlDQo+Pj4+ Pj4+IHByb2JlDQo+Pj4+Pj4+IG1ha2VzIGEgdmVyeSBlZmZlY3RpdmUgYW50ZW5uYS4gTWF5YmUg eW91ciBwb3dlciByYWlsIGlzIGNsZWFuZXIgdGhhbg0KPj4+Pj4+PiB5b3UNCj4+Pj4+Pj4gdGhp bmsgLSBpbiB3aGljaCBjYXNlIHRoZSB0cnVlIHByb2JsZW0gbWlnaHQgYmUgZWxzZXdoZXJlLg0K Pj4+Pj4+PiAtSmFzb24gV2hpdGUNCj4+Pj4+Pj4gT24gRnJpLCBEZWMgMTEsIDIwMjAgYXQgMzox MSBQTSBOZWlsIHBpY2R1ZGUzQG5hcndhbmkub3JnIHdyb3RlOg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4g U29ycnksIGRpc2FwcGVhcmVkIGZvciBhIGNvdXBsZSBkYXlzLCBidXQgc29tZSBxdWljayBhbnN3 ZXJzIHRvDQo+Pj4+Pj4+PiBldmVyeXRoaW5nIGZvciBub3csIGFuZCBteSBuZXh0IHN0ZXBzOg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+IC0gICBZZXMgSSBoYXZlIGZseWJhY2sgZGlvZGVzLiBIaWdobGln aHRlZCB3aXRoIHllbGxvdyBoZXJlLCBqdXN0DQo+Pj4+Pj4+PiAgICAgIGFib3ZlDQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4gdGhlIHJlbGF5cy4uLg0KPj4+Pj4+Pj4gaHR0cDovL29ybGFuZG9yb2JvdGJ1 aWxkZXJzLmNvbS9zdHVmZi9TTU5vaXNlLzIwMjAxMjA3LVNNTi0wNi5qcGcNCj4+Pj4+Pj4+DQo+ Pj4+Pj4+PiAtICAgSmFtZXMgJiBSdXNzZWxsLCBpbiB0aGF0IGRpYWdyYW0gYWxzbywgSSBsYWJl bGVkIHRoZSBwYXRocyBmb3INCj4+Pj4+Pj4+ICAgICAgcG93ZXIuDQo+Pj4+Pj4+Pg0KPj4+Pj4+ Pj4gVGhlIDVWIHRvIHRoZSByZWxheXMgaXMgcHJldHR5IG11Y2ggZGVkaWNhdGVkIGFuZCA1ViBp cyBvbiB0aGUgdG9wDQo+Pj4+Pj4+PiBsYXllciwgYW5kIChkZWRpY2F0ZWQpIGdyb3VuZCBmb3Ig dGhlIHJlbGF5cyBvbiB0aGUgYm90dG9tIGxheWVyLg0KPj4+Pj4+Pj4gQnV0DQo+Pj4+Pj4+PiB5 ZXMsIGl0J3MgcmlnaHQgdXAgYWdhaW5zdCB0aGUgQUMgc2VjdGlvbiwgYnV0IGFzIG1hbnkgY29t cG9uZW50cw0KPj4+Pj4+Pj4gaGF2ZQ0KPj4+Pj4+Pj4gYmVlbiByZW1vdmVkIG5vdywgSSB3aWxs IHB1c2ggdGhhdCBmYXIgYXdheS4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAtICAgVGhlIDMuM1YgcmVn dWxhdG9yIGhhcyBiZWVuIGdldHRpbmcgYSBiaXQgd2FybWVyIHRoYW4gSSBsaWtlLCBzbyBJDQo+ Pj4+Pj4+PiAgICAgIGhhdmUgYmVlbiBwbGFubmluZyB0byB1c2UgYSBidWNrIGNvbnZlcnRlciBp bnN0ZWFkLiBCdXQgbWF5YmUgSQ0KPj4+Pj4+Pj4gICAgICBzaG91bGQNCj4+Pj4+Pj4+DQo+Pj4+ Pj4+PiBydW4gdHdvIDMuM1YgcmVndWxhdG9ycyBpbnN0ZWFkPyBJIHdvdWxkIHRoaW5rIHRoYXQg dGhlIGJ1Y2sNCj4+Pj4+Pj4+IGNvbnZlcnRlcg0KPj4+Pj4+Pj4gd291bGQgYmUgcGFzcyBsZXNz IG9mIHRoZSBub2lzZSB0aHJvdWdoLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IC0gICBJIHJhbiBvdmVy IHRoZXJlIHF1aWNrbHkgdG8gcGljayB1cCBzdHVmZiBhbmQgdHJpZWQgYSBjcnVkZQ0KPj4+Pj4+ Pj4gICAgICAodW5jYWxjdWxhdGVkKSBjb21tb24tbW9kZSBjaG9rZSBJIG1hZGUgdXAgZnJvbSBz dHVmZiBJIGNvdWxkIGZpbmQuDQo+Pj4+Pj4+PiAgICAgIERpZA0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+ IG5vdCBtYWtlIGluIGRlbnQgaW4gdGhlIG5vaXNlIGNvbWluZyB0aHJvdWdoLg0KPj4+Pj4+Pj4g U2VlIGhlcmUuLi4NCj4+Pj4+Pj4+IGh0dHA6Ly9vcmxhbmRvcm9ib3RidWlsZGVycy5jb20vc3R1 ZmYvU01Ob2lzZS8yMDIwMTIwNy1TTU4tMDcuanBnDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gLSAgIEkg ZmVlbCBsaWtlIEJyZW50IG1heSBiZSBjb3JyZWN0LCB0aGF0IHRoZSBub2lzZSBtYXkgYmUgY29t aW5nIGZyb20NCj4+Pj4+Pj4+ICAgICAgdGhlIHJlbGF5IHNpZGUuIFRoZSBwcm9jZXNzb3IgKEVT UDMyKSBpcyByZXNldHRpbmcuIEkga25vdyBpdCdzDQo+Pj4+Pj4+PiAgICAgIG5vdCBhDQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4gZmlybXdhcmUgaXNzdWUgYXMgaXQgaGFkIHplcm8gY3Jhc2hlcyB3aXRo IHRoZSBwcmV2aW91cyBwdW1wLg0KPj4+Pj4+Pj4gQWRkaW5nIHNvbWUgaW5mbzoNCj4+Pj4+Pj4+ IFRoZSBwcmV2aW91cyBwdW1wIHdhcyBhIGh1Z2UgQUMgcHVtcC4gVGhpcyBuZXcgcHVtcCBpcyBh Y3R1YWxseSBEQywNCj4+Pj4+Pj4+IGJ1dA0KPj4+Pj4+Pj4gdGhlcmUncyBhIGJyaWRnZSByZWN0 aWZpZXIgb24gdGhlIHdpcmVzLiBTbyBJJ20gbm93IGNvbnZpbmNlZCB0aGF0DQo+Pj4+Pj4+PiB0 aGUNCj4+Pj4+Pj4+IG5vaXNlIGlzIGNvbWluZyBmcm9tIGJydXNoZXMuDQo+Pj4+Pj4+PiBJIGJy b3VnaHQgdGhlIHB1bXAgd2l0aCBtZSwgYW5kIEkgaGF2ZSBhIG5ldyBibGFuayBib2FyZC4gTXkg cGxhbg0KPj4+Pj4+Pj4gaXMgdG8NCj4+Pj4+Pj4+IHJlcHJvZHVjZSBqdXN0IGVub3VnaCBvZiB0 aGUgY2lyY3VpdCB0byBzZWUgdGhlIG5vaXNlLCBhbmQgSSBjYW4gY3V0DQo+Pj4+Pj4+PiBhbmQN Cj4+Pj4+Pj4+IHJlLXJvdXRlIHRyYWNlcyAodGhlIDVWICYgZ3JvdW5kIHRvIHRoZSByZWxheXMp IHRvIHNlZSBpZiBoZWxwcy4NCj4+Pj4+Pj4+IEkgd2lsbCBhbHNvIGFkZCBhIGNlcmFtaWMgY2Fw YWNpdG9yIHRvIHRoZSBwdW1wIHdpcmVzIChyaWdodCBhdCB0aGUNCj4+Pj4+Pj4+IHB1bXApLCBh bmQgaG9wZSB0aGF0IGhlbHBzLiBQbHVzIHR3aXN0IHRoZSB3aXJlcy4NCj4+Pj4+Pj4+IEknbGwg YmUgYmFjayB3aXRoIHNvbWUgcmVzdWx0cy4NCj4+Pj4+Pj4+IENoZWVycywNCj4+Pj4+Pj4+IC1O ZWlsLg0KPj4+Pj4+Pj4gT24gMTIvMTAvMjAyMCA3OjI4IFBNLCBGVEwgd3JvdGU6DQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4+IFRoaXMgaXMgYWxtb3N0IHRvbyBvYnZpb3VzLCBidXQgaW4gdGhlIHNjaGVt YXRpYyBJIGRvIG5vdCBzZWUgYQ0KPj4+Pj4+Pj4+IGZseWJhY2sNCj4+Pj4+Pj4+PiBkaW9kZSBh Y3Jvc3MgdGhlIHJlbGF5IHRvIHN1cHByZXNzIHRoZSBiYWNrIEVNRiB3aGVuIHRoZSByZWxheSBp cw0KPj4+Pj4+Pj4+IHR1cm5lZA0KPj4+Pj4+Pj4+IG9mZi4gVGhlIGxhY2sgb2YgZGlvZGUgd291 bGQgY2F1c2UgYSBzZXJpb3VzIHNwaWtlIGluIHRoZSA1ViBzdXBwbHkNCj4+Pj4+Pj4+PiB3aGVu DQo+Pj4+Pj4+PiB0aGUNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gcmVsYXkgaXMgdHVybmVkIG9mZi4N Cj4+Pj4+Pj4+PiBJcyB0aGUgdHJhbnNpc3RvciBiZWluZyB0dXJuZWQgb24gaGFyZCBlbm91Z2gg dG8ga2VlcCB0aGUgcmVsYXkgb24NCj4+Pj4+Pj4+PiBwcm9wZXJseS4NCj4+Pj4+Pj4+PiBJZiBp dCBpcyBub3QgZnVsbHkgb24gd2l0aCBubyBmbHliYWNrIGRpb2RlLCBtYXliZSBpdCBpcw0KPj4+ Pj4+Pj4+IG9jY2FzaW9uYWxseQ0KPj4+Pj4+Pj4+IHJlbGVhc2luZyBhbmQgY2F1c2luZyBiaWcg bm9pc2Ugb24gdGhlIDVWIGJ1cy4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPj4+Pj4+Pj4+PiBGcm9tOiBwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdSBw aWNsaXN0LWJvdW5jZXNAbWl0LmVkdSBPbiBCZWhhbGYNCj4+Pj4+Pj4+Pj4gT2YNCj4+Pj4+Pj4+ IE5laWwNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IFNlbnQ6IERlY2VtYmVyIDgsIDIwMjAgMTE6MDQg QU0NCj4+Pj4+Pj4+Pj4gVG86IE1pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJs aWMuIHBpY2xpc3RAbWl0LmVkdQ0KPj4+Pj4+Pj4+PiBTdWJqZWN0OiBbRUVdIEVsaW1pbmF0aW5n IGV4dGVybmFsIG5vaXNlIHRocm91Z2ggUFMNCj4+Pj4+Pj4+Pj4gSGksDQo+Pj4+Pj4+Pj4+IEkn bSB3b3JraW5nIG9uIGEgZGV2aWNlIHRoYXQgdGFrZXMgMTIwVkFDLCBjb252ZXJ0cyB0byA1VkRD IHdpdGggYQ0KPj4+Pj4+Pj4+PiBQQ0ItDQo+Pj4+Pj4+Pj4+IG1vdW50ZWQgcG93ZXIgc3VwcGx5 LCB0aGVuIGZ1cnRoZXIgcmVkdWNlcyB0aGF0IHRvIDMuM1ZEQyB3aXRoIGENCj4+Pj4+Pj4+Pj4g bGluZWFyDQo+Pj4+Pj4+Pj4+IHJlZ3VsYXRvci4NCj4+Pj4+Pj4+Pj4gQSAzLjNWIG1pY3JvY29u dHJvbGxlciBzd2l0Y2hlcyBhIHJlbGF5IHRvIHBvd2VyIGEgMTIwVkFDIHB1bXAuDQo+Pj4+Pj4+ Pj4+IE92ZXJ2aWV3Li4uDQo+Pj4+Pj4+Pj4+IGh0dHA6Ly9vcmxhbmRvcm9ib3RidWlsZGVycy5j b20vc3R1ZmYvU01Ob2lzZS8yMDIwMTIwNy1TTU4tMDAuanBnDQo+Pj4+Pj4+Pj4+IEFsbCBoYXMg YmVlbiBncmVhdCB1bnRpbCB3ZSBzd2l0Y2hlZCB0byBhIHNwZWNpZmljIHB1bXAsIHdoaWNoDQo+ Pj4+Pj4+Pj4+IGhhcHBlbnMNCj4+Pj4+Pj4+IHRvDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBnZW5l cmF0ZSBhIExPVCBvZiBjb25kdWN0ZWQgbm9pc2UsIHdoaWNoIHBhc3NlcyB0aHJvdWdoIHRoZSA1 ViBQUywNCj4+Pj4+Pj4+Pj4gYW5kDQo+Pj4+Pj4+PiB0aGUNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ IDMuM1YgcmVndWxhdG9yLCBhbmQgY2F1c2luZyB0aGUgbWljcm9jb250cm9sbGVyIHRvIGNyYXNo Lg0KPj4+Pj4+Pj4+PiBJIGRpZCBhIGJ1bmNoIG9mIHRlc3RlZCBhbmQgZm91bmQgdGhhdCB0aGUg bm9pc2UgaXMgYmVpbmcgY29uZHVjdGVkDQo+Pj4+Pj4+Pj4+IHRocm91Z2gNCj4+Pj4+Pj4+Pj4g dGhlIHdpcmVzIGJhY2sgdG8gdGhlIGJvYXJkIHRocm91Z2ggdGhlIFBTLCB0aHJvdWdoIHRoZSBs aW5lYXINCj4+Pj4+Pj4+Pj4gcmVndWxhdG9yLA0KPj4+Pj4+Pj4+PiBhbmQNCj4+Pj4+Pj4+Pj4g dGhpcyBpcyB0aGUgMy4zViBsaW5lLi4uDQo+Pj4+Pj4+Pj4+IGh0dHA6Ly9vcmxhbmRvcm9ib3Ri dWlsZGVycy5jb20vc3R1ZmYvU01Ob2lzZS8yMDIwMTIwNy1TTU4tMDEuanBnDQo+Pj4+Pj4+Pj4+ IEkgd2FzIG92ZXIgYXQgc29tZW9uZSBlbHNlJ3MgcGxhY2Ugc28gZGlkIG5vdCBoYXZlIGEgbG90 IG9mIHBhcnRzDQo+Pj4+Pj4+Pj4+IHdpdGgNCj4+Pj4+Pj4+IG1lLA0KPj4+Pj4+Pj4NCj4+Pj4+ Pj4+Pj4gYnV0Li4uDQo+Pj4+Pj4+Pj4+IEFkZGluZyBhIGJ1bmNoIG1vcmUgMC4xdWYgYnlwYXNz IGNhcGFjaXRvcnMgYWxsIG92ZXIgdGhlIGJvYXJkIGRpZA0KPj4+Pj4+Pj4+PiBub3QNCj4+Pj4+ Pj4+PiBoZWxwLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IENoYW5naW5nIHRoZSBwb3dlciBzdXBw bHkgZnJvbSBhbiBJUk0tMTAtNSAoaW5kdXN0cmlhbCBzcGVjLCAyMDBtVg0KPj4+Pj4+Pj4+PiBy aXBwbGUpIHRvIE1QTS0xMC01IChtZWRpY2FsIHNwZWMsIDEwMG1WIHJpcHBsZSksIGhlbHBlZCBy ZWR1Y2UgdGhlDQo+Pj4+Pj4+Pj4+IHJhdGUNCj4+Pj4+Pj4+PiBvZg0KPj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4+IHRoZSBjcmFzaGluZy4uLiBidXQgdGhlIHJpcHBsZSBpdHNlbGYgd2Fzbid0IGNhdXNp bmcgY3Jhc2hpbmcuDQo+Pj4+Pj4+Pj4+IEFkZGluZyAobm9uLXNwZWNpZmljIHNpemUpIGZlcnJp dGVzIHRvIHRoZSBwdW1wIHdpcmVzLCBhbmQgMTIwVkFDDQo+Pj4+Pj4+Pj4+IGlucHV0DQo+Pj4+ Pj4+Pj4gd2lyZXMNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBkaWQgbm90IGhlbHAuDQo+Pj4+Pj4+ Pj4+IEkgdGhlbiB0cmllZCB0byBjcmVhdGUgYSBjcnVkZS91bmNhbGN1bGF0ZWQgTEMgZmlsdGVy ICh3aGljaA0KPj4+Pj4+Pj4+PiB3aGF0ZXZlcg0KPj4+Pj4+Pj4+PiBjb21wb25lbnRzIEkgaGFk IG9uIGhhbmQgKDMzdWggaW5kdWN0b3IgYW5kIDEwMDB1ZiBjYXBhY2l0b3IsDQo+Pj4+Pj4+Pj4+ IHNob3VsZA0KPj4+Pj4+IGJlDQo+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gbG93IEVTUiksIHRoZW4gYSBQ aSBmaWx0ZXIgKGFkZGVkIDY4MCB1RiBjYXBhY2l0b3IpLCBhbmQgdGhvc2UNCj4+Pj4+Pj4+Pj4g YmFyZWx5DQo+Pj4+Pj4+PiBtYWRlDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IGENCj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+PiBkZW50Lg0KPj4+Pj4+Pj4+PiBFdmVudHVhbGx5IEkgYWRkZWQgYW5vdGhlciAw LjF1ZiBjYXBhY2l0b3IgdG8gdGhlIG91dHB1dCBzaWRlIG9mDQo+Pj4+Pj4+Pj4+IHRoZQ0KPj4+ Pj4+IHBpDQo+Pj4+Pj4NCj4+Pj4+Pj4+PiBmaWx0ZXINCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBh bmQgdGhhdCBoZWxwZWQgZW5vdWdoIHRvIHByZXZlbnQgdGhlIG1pY3JvY29udHJvbGxlciBjcmFz aGluZy4NCj4+Pj4+Pj4+Pj4gQnV0IHRoZXJlIGlzIHN0aWxsIGEgbG90IG9mIG5vaXNlIG9uIHRo ZSAzLjNWIGxpbmUuLi4NCj4+Pj4+Pj4+Pj4gaHR0cDovL29ybGFuZG9yb2JvdGJ1aWxkZXJzLmNv bS9zdHVmZi9TTU5vaXNlLzIwMjAxMjA3LVNNTi0wMi5qcGcNCj4+Pj4+Pj4+Pj4gaHR0cDovL29y bGFuZG9yb2JvdGJ1aWxkZXJzLmNvbS9zdHVmZi9TTU5vaXNlLzIwMjAxMjA3LVNNTi0wMy5qcGcN Cj4+Pj4+Pj4+Pj4gRldJVywgdGhpcyBpcyB3aGVyZSBpdCBlbmRlZCB1cC4uLg0KPj4+Pj4+Pj4+ PiBodHRwOi8vb3JsYW5kb3JvYm90YnVpbGRlcnMuY29tL3N0dWZmL1NNTm9pc2UvMjAyMDEyMDct U01OLTA0LmpwZw0KPj4+Pj4+Pj4+PiBUaGUgbm9pc2UgaXMgaW4gdGhlIDdNaHogdG8gMzBNaHog cmFuZ2UgKHByb2IgZXZlbiBoaWdoZXIpLg0KPj4+Pj4+Pj4+PiBJIGZlZWwgbGlrZSBzbWFsbGVy LCBsb3ctRVNSIGNlcmFtaWMgY2FwcyBzaG91bGQgaGVscCwgYnV0IEkgZG91YnQNCj4+Pj4+Pj4+ Pj4gaXQNCj4+Pj4+Pj4+IHdpbGwNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gdGFrZQ0KPj4+Pj4+Pj4+ DQo+Pj4+Pj4+Pj4+IG91dCBtb3N0IG9mIHRoZSBub2lzZS4NCj4+Pj4+Pj4+Pj4gV2hhdCBpcyB0 aGUgcmlnaHQgdHlwZSBvZiBmaWx0ZXIgdG8gZWxpbWluYXRlIHRoaXMgbm9pc2U/DQo+Pj4+Pj4+ Pj4+IENoZWVycywNCj4+Pj4+Pj4+Pj4gLU5laWwuDQo+Pj4+Pj4+Pj4+IC0tDQo+Pj4+Pj4+Pj4+ IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0 IGFyY2hpdmUNCj4+Pj4+Pj4+Pj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQNCj4+Pj4+Pj4+Pj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QNCj4+Pj4+Pj4+Pj4gLS0NCj4+Pj4+Pj4+Pj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90 ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQ0KPj4+Pj4+Pj4+PiBWaWV3 L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KPj4+Pj4+Pj4+PiBodHRwOi8vbWFp bG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdA0KPj4+Pj4+IC0tDQo+Pj4+Pj4g aHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQ0KPj4+Pj4+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQo+ Pj4+Pj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QNCj4+ PiAtLQ0KPj4+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUNCj4+PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9u cyBhdA0KPj4+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 DQo+PiAtLQ0KPj4NCj4+IEphc29uIFdoaXRlDQo+Pg0KPj4gLS0tLS0tLS0tLS0tDQo+Pg0KPj4g aHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQ0KPj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQNCj4+IGh0 dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQo+DQo+DQoNCg0K DQotLQ0KaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAm IGxpc3QgYXJjaGl2ZQ0KVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQNCmh0 dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQo= .