From owner-sc22wg5@open-std.org Thu Nov 6 19:18:23 2008 Return-Path: X-Original-To: sc22wg5-dom7 Delivered-To: sc22wg5-dom7@www2.open-std.org Received: by www2.open-std.org (Postfix, from userid 521) id F1974CA5FE5; Thu, 6 Nov 2008 19:18:22 +0100 (CET) X-Original-To: sc22wg5@open-std.org Delivered-To: sc22wg5@open-std.org Received: from oin.rl.ac.uk (oin.rl.ac.uk [130.246.135.200]) by www2.open-std.org (Postfix) with ESMTP id 00A92CA343A for ; Thu, 6 Nov 2008 19:18:20 +0100 (CET) X-RAL-MFrom: X-RAL-Connect: Received: from jkr.cse.rl.ac.uk (jkr.cse.rl.ac.uk [130.246.9.202]) by oin.rl.ac.uk (8.12.11.20060308/8.12.11) with ESMTP id mA6IIBpQ009606 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Nov 2008 18:18:11 GMT Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by jkr.cse.rl.ac.uk (8.12.10/8.12.8) with ESMTP id mA6IIAlt003771; Thu, 6 Nov 2008 18:18:10 GMT Message-ID: <491334E2.2020204@stfc.ac.uk> Date: Thu, 06 Nov 2008 18:18:10 +0000 From: John Reid Reply-To: John.Reid@stfc.ac.uk Organization: Rutherford Appleton Laboratory User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060209 Fedora/1.7.12-1.1.2.legacy X-Accept-Language: en-us, en MIME-Version: 1.0 To: WG5 Subject: New WG5 papers Content-Type: multipart/mixed; boundary="------------030808050809040107000205" X-CCLRC-SPAM-report: 0.1 : MIME_SUSPECT_NAME X-Scanned-By: MIMEDefang 2.39 Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multi-part message in MIME format. --------------030808050809040107000205 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit WG5, I have sent these papers to Nag to put on the WG5 site. I am not sure how soon they will be there, so I am copying them to you. John. --------------030808050809040107000205 Content-Type: application/unknown; name="N1753.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="N1753.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy9JRUMgSlRD MS9TQzIyL1dHNSBOMTc1MwoKICAgICAgIEF0b21pYyBMT0FEL1NUT1JFIGludHJpbnNpY3Mg aW5zdGVhZCBvZiBWT0xBVElMRSBjb2FycmF5cwoKICAgICAgICAgICAgICAgICAgICAgICAg QWxla3NhbmRhciBEb25ldgoKVGhlcmUgaXMgY29udGVudGlvbiBvdmVyIHdoZXRoZXIgdG8g aW5jbHVkZSBWT0xBVElMRSBjb2FycmF5cyBpbiBGb3J0cmFuCjIwMDguIFRoaXMgcHJvcG9z YWwgb2ZmZXJzIGFuIGFsdGVybmF0aXZlIHRoYXQgYWxsb3dzIHRoZSBzYW1lIGZ1bmN0aW9u YWxpdHkKKGFjdHVhbGx5LCBtb3JlKSBhbmQgZWZmaWNpZW5jeSBhcyBkbyBWT0xBVElMRSBj b2FycmF5cywgYW5kLCBpbiBteQpvcGluaW9uLCBoYXMgbXVjaCBjbGVhbmVyIHNlbWFudGlj cy4KClRoZSBwcmVzZW50IENEIGFsbG93cyBhIFZPTEFUSUxFIHZhcmlhYmxlIHRvIGJlIHJl ZmVyZW5jZWQgYnkgYW4gaW1hZ2UKY29uY3VycmVudGx5ICh3aXRob3V0IHNlZ21lbnQgb3Jk ZXJpbmcpIHdpdGggaXQgYmVpbmcgZGVmaW5lZCBieSBhbm90aGVyCmltYWdlLiBUaGlzIHJl cXVpcmVzIHRoYXQgYXRvbWljIGluc3RydWN0aW9ucyBiZSB1c2VkIGJ5IHRoZSBwcm9jZXNz b3IgZm9yCmJvdGggdGhlIGRlZmluaXRpb24gYW5kIHRoZSByZWZlcmVuY2UsIHRvIGVuc3Vy ZSB0aGF0IGp1bmsgdmFsdWVzIGFyZSBub3QKcHJvZHVjZWQgZHVlIHRvIGNvbmN1cnJlbmN5 LiBNb3N0IGFyY2hpdGVjdHVyZXMgaGF2ZSBzZXZlcmFsIHN1Y2gKaW5zdHJ1Y3Rpb25zLCBi dXQgdGhlIGNvbXBpbGVyIG5lZWRzIHRvIGJlIGluZm9ybWVkIGFib3V0IHVzaW5nIHRob3Nl Cmluc3RydWN0aW9ucy4gVGhlIHR3byBmdW5kYW1lbnRhbCBvbmVzIGFyZSBhbiBhdG9taWMg bG9hZCBhbmQgYW4gYXRvbWljCnN0b3JlIGluc3RydWN0aW9uLiBJIHByb3Bvc2UgdGhhdCB0 aGVzZSBiZSBzdXBwb3J0ZWQgaW4gdGhlIGZvcm0gb2YgdHdvIG5ldwppbnRyaW5zaWNzOiBH RVRfQVRPTUlDIGFuZCBTRVRfQVRPTUlDLiBSZWZlcmVuY2VzIHRvIHRoZXNlIGludHJpbnNp Y3Mgd291bGQgYmUKZXhjbHVkZWQgZnJvbSB0aGUgc2VnbWVudCBvcmRlcmluZyBydWxlcy4g Tm90ZSB0aGF0IHRoaXMgd291bGQgYWxsb3cKY29uY3VycmVudCBkZWZpbml0aXRpb25zIChh dG9taWMgc3RvcmVzKSwgd2hpY2ggdGhlIGN1cnJlbnQgQ0QgZG9lcyBub3QKYWxsb3cgZm9y IHZvbGF0aWxlIGNvYXJyYXlzLgoKSSBwcmVmZXIgc3Vicm91dGluZXMgZm9yIGJvdGggb2Yg dGhlc2UsIGJ1dCBvZiBjb3Vyc2UsIHRoZSBsb2FkIG1pZ2h0IGJlIGEKZnVuY3Rpb24gYXMg d2VsbC4gVGhlIGFyZ3VtZW50IHNob3VsZCBiZSByZXN0cmljdGVkIHRvIGJlIGEgc2NhbGFy IG9mCmNlcnRhaW4gdHlwZXMgKGUuZy4sIGFuIGludGVnZXIgb2YgYSBnaXZlbiBraW5kLCBs b2dpY2FsLCBzaW5nbGUtcHJlY2lzaW9uCnJlYWwpLS0tdG8gYmUgZGVjaWRlZCBpbiBkaXNj dXNzaW9ucyB3aXRoIHZlbmRvcnMuIEluIHRoZSBmdXR1cmUgaXQgY291bGQgYmUKZXh0ZW5k ZWQgdG8gYXJyYXlzIG9yIGFyYml0cmFyeSB0eXBlcyAodGhpcyB3aWxsIHJlcXVpcmUgbG9j a3MgdG8gaW1wbGVtZW50Cm9uIG1vc3QgbWFjaGluZXMpLgoKQWx0ZXJuYXRpdmVseSwgYW5k IG1heWJlIGJldHRlciwgdHdvIG5ldyBzdGF0ZW1lbnRzIGNvdWxkIGJlIGFkZGVkIChHRVQK QVRPTUlDIGFuZCBTRVQgQVRPTUlDKS4KClVzaW5nIHRoZXNlIG5ldyBpbnRyaW5pc2NzLCB0 aGUgc3Bpbi1sb2NrIGV4YW1wbGUgaW4gTm90ZS4gOC4zOCBvZiBOMTcyMzoKCkxPR0lDQUws Vk9MQVRJTEUgOjogTE9DS0VEWypdID0gLlRSVUUuIApJTlRFR0VSIDo6IElBTSwgUCwgUSAK CklBTSA9IFRISVNfSU1BR0UoKSAKSUYgKElBTSA9PSBQKSBUSEVOCiAgICEgUHJlY2VkaW5n IHNlZ21lbnQKICAgU1lOQyBNRU1PUlkgICAgICAgICAgICAgICAhIEEgCiAgIExPQ0tFRFtR XSA9IC5GQUxTRS4gICAgICAgISBzZWdtZW50IFBpCiAgIFNZTkMgTUVNT1JZICAgICAgICAg ICAgICAgISBCCkVMU0UgSUYgKElBTSA9PSBRKSBUSEVOCiAgIERPIFdISUxFIChMT0NLRUQp OyBFTkQgRE8gISBzZWdtZW50IFFqCiAgIFNZTkMgTUVNT1JZICAgICAgICAgICAgICAgISBD CiAgICEgU3Vic2VxdWVudCBzZWdtZW50IApFTkQgSUYKCm1heSBiZSByZXBsYWNlZCBieTog CgoKTE9HSUNBTCA6OiBMT0NLWypdID0gLlRSVUUuLCBMT0NLRUQKSU5URUdFUiA6OiBJQU0s IFAsIFEKSUFNID0gVEhJU19JTUFHRSgpCgpJRiAoSUFNID09IFApIFRIRU4KICAgISBQcmVj ZWRpbmcgc2VnbWVudAogICBTWU5DIE1FTU9SWSAhIFVzZXItZGVmaW5lZCBzZWdtZW50IG9y ZGVyaW5nCiAgIENBTEwgU0VUX0FUT01JQyhWQVJJQUJMRT1MT0NLW1FdLCBWQUxVRT0uRkFM U0UuKQpFTFNFIElGIChJQU0gPT0gUSkgVEhFTgogICBETyAhIFNwaW4gbG9vcAogICAgICBD QUxMIEdFVF9BVE9NSUMoVkFSSUFCTEU9TE9DSywgVkFMVUU9TE9DS0VEKQogICAgICBJRigu Tk9ULkxPQ0tFRCkgRVhJVAogICBFTkQgRE8KICAgU1lOQyBNRU1PUlkgISBVc2VyLWRlZmlu ZWQgc2VnbWVudCBvcmRlcmluZwogICAhIFN1YnNlcXVlbnQgc2VnbWVudApFTkQgSUYK --------------030808050809040107000205 Content-Type: application/unknown; name="N1754.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="N1754.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08vSUVDIEpU QzEvU0MyMi9XRzUtTjE3NTQKCiAgICAgICAgICAgICAgICAgICBJbXBsZW1lbnRhdGlvbiBJ c3N1ZXMgZm9yIENvYXJyYXlzCiAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAgICAgICAgICAgICAgIE5pY2sgTWFjbGFyZW4s IDMwdGggT2N0b2JlciAyMDA4CgoKCkludHJvZHVjdGlvbgotLS0tLS0tLS0tLS0KCkkgYW0g aW5jbHVkaW5nIHRoaXMgcGFwZXIgYmVjYXVzZSBpdCB3YXMgY2lyY3VsYXRlZCB0byB0aGUg QlNJIEZvcnRyYW4KcGFuZWwgYW5kIHNvbWUgb3RoZXIgcGVvcGxlLCBhbmQgaW5jbHVkZXMg ZXZpZGVuY2UgZm9yIHZhcmlvdXMKc3RhdGVtZW50cyBpbiBvdGhlciBwYXBlcnMuICBJdCBp cyB2ZXJ5IG11Y2ggYSBiYWNrZ3JvdW5kIHBhcGVyIGZvcgpjb2FycmF5IHNwZWNpYWxpc3Rz IG9ubHkuICBJIGFwb2xvZ2lzZSBmb3IgaXRzIGxlbmd0aCwgYnV0IGl0IGlzCnVuYXZvaWRh YmxlIGlmIEkgYW0gdG8gYWRkcmVzcyBhbGwgb2YgdGhlIHBvaW50cyByYWlzZWQgYWZ0ZXIg SQpjaXJjdWxhdGVkIHRoZSBmaXJzdCBkcmFmdCB0byB0aGUgVUsgcGFuZWwuCgpJdCBkb2Vz IE5PVCByZXByZXNlbnQgdGhlIEJTSSBGb3J0cmFuIHBhbmVsJ3MgcG9zaXRpb24uCgpUaGUg ZnVuZGFtZW50YWwgaXNzdWVzIGFyZSBkZXNjcmliZWQgaW4gdGhlIGZpcnN0IHR3byBzZWN0 aW9ucy4gIFRoZQpyZW1haW5pbmcgc2VjdGlvbnMgYW5hbHlzZSB0aGUgaXNzdWVzIGluIG1v cmUgZGV0YWlsLCBhbmQgcHJvdmlkZQpldmlkZW5jZSBmb3IgdGhlIHN0YXRlbWVudHMgaW4g dGhlIGZpcnN0IHR3by4gIEZldyBwZW9wbGUgd2lsbCB3YW50IHRvCnJlYWQgdGhlbSwgb3Ig YXQgbGVhc3Qgd2lsbCB3YW50IHRvIGxvb2sgYXQgb25seSB0aGUgZXhhbXBsZXMuCgpJbiBh bG1vc3QgYWxsIGNhc2VzLCB3aGVyZSBJIG1ha2UgcmVtYXJrcyBhYm91dCBzdWJ0bGUgdGVj aG5pY2FsCmFzcGVjdHMsIEkgY2FuIHByb3ZpZGUgZnVydGhlciBkZXRhaWxzIG9uIHJlcXVl c3QsIGJ1dCBpbmNsdWRpbmcgdGhlbQpoZXJlIHdvdWxkIG1ha2UgdGhpcyBwYXBlciBpbmNv bXByZWhlbnNpYmxlIGFzIHdlbGwgYXMgc2V2ZXJhbCB0aW1lcwp0aGUgbGVuZ3RoLgoKCgpB LiBJbXBsZW1lbnRhdGlvbiBwcm9ibGVtcyB3aXRoIGNvYXJyYXlzIG9uIGRpc3RyaWJ1dGVk IG1lbW9yeSBzeXN0ZW1zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkNvYXJyYXlzIHdpbGwgYmUgZXh0 cmVtZWx5IGRpZmZpY3VsdCB0byBpbXBsZW1lbnQgb24gZGlzdHJpYnV0ZWQgbWVtb3J5CnN5 c3RlbXMsIGFuZCBtYXkgYmUgaW1wcmFjdGljYWwgZm9yIG1hbnkgZGV2ZWxvcGVycyBvbiB0 aGUgYWxtb3N0CnViaXF1aXRvdXMgJ2NvbW1vZGl0eSBjbHVzdGVycydbKl0uICBUaHJvdWdo b3V0IHRoaXMgZG9jdW1lbnQsIHRoZQpyZWZlcmVuY2VzIHRvIHByb2JsZW1zIGFyZSBpbiB0 aGUgY29udGV4dCBvZiBjb2FycmF5cyBiZWluZyBpbXBsZW1lbnRlZApvbiB0aGF0IHNvcnQg b2YgZGlzdHJpYnV0ZWQgbWVtb3J5IHN5c3RlbS4KClBvc3NpYmxlIHNvbHV0aW9ucyB0byB0 aGlzIGFyZSBkZXNjcmliZWQgaW4gc2VjdGlvbiBCLgoKClRoZXJlIGFyZSBhdCBsZWFzdCB0 aGUgZm9sbG93aW5nIG1ham9yIHByb2JsZW1zOgoKICAgIEEuMSkgVGhlcmUgaXMgYSBrbm93 biwgZ2VudWluZWx5IHBvcnRhYmxlLCB0ZWNobmlxdWUgZm9yCmltcGxlbWVudGluZyB0aGVt IChzZWUgc2VjdGlvbiBFLjEgYmVsb3cpLCBidXQgaXQgY2FuIGJlIGV4dHJlbWVseQppbmVm ZmljaWVudCwgbmVlZHMgc2lnbmlmaWNhbnQgY2hhbmdlcyB0byBhbGwgZXhpc3RpbmcgY29t cGlsZXJzLAphbmQgZG9lcyBub3Qgd29yayByZWxpYWJseSB0b2dldGhlciB3aXRoIGEgY29t cGFuaW9uIHByb2Nlc3Nvci4KCiAgICBBLjIpIFRoZXkgY2Fubm90IGJlIGltcGxlbWVudGVk IHJlbGlhYmx5IGFuZCBlZmZpY2llbnRseSB1c2luZyBhbnkKd2lkZXNwcmVhZCBmb3JtYWwg b3IgaW5mb3JtYWwgc3RhbmRhcmQsIGluY2x1ZGluZyBQT1NJWCAoSUVFRSBTdGQKMTAwMy4x LCAyMDA0KSBhbmQgTVBJLTIgKE1lc3NhZ2UgUGFzc2luZyBJbnRlcmZhY2UpLCB3aXRob3V0 IHJlbHlpbmcgb24KZXhwbGljaXRseSB1bmRlZmluZWQgYmVoYXZpb3VyLgoKICAgIEEuMykg RXZlbiBpZ25vcmluZyBzdGFuZGFyZHMgY29uZm9ybWFuY2UgYW5kIHBvcnRhYmlsaXR5LCBp dCBpcwpkb3VidGZ1bCB0aGF0IHRoZXkgY2FuIGJlIGltcGxlbWVudGVkIHJlbGlhYmx5IGFu ZCBlZmZpY2llbnRseSBvbiBtYW55CnN5c3RlbXMgd2l0aG91dCBvcGVyYXRpbmcgc3lzdGVt IGV4dGVuc2lvbnMuICBUaGlzIHdvdWxkIGNhdXNlIHNlcmlvdXMKcHJvYmxlbXMgdG8gdGhp cmQtcGFydHkgdmVuZG9ycy4KCiAgICBBLjQpIFRoZXJlIHNlZW1zIHRvIGJlIGxpdHRsZSBp bXBsZW1lbnRhdGlvbiBleHBlcmllbmNlIG9mIGNvYXJyYXlzLApleGNlcHQgYnkgb25lIGNv bXBsZXRlIHN5c3RlbSB2ZW5kb3JbK10sIGFuZCBpdCBpcyB1bmNsZWFyIHdoZXRoZXIgZXZl bgp0aGF0IHZlbmRvciBoYXMgaW1wbGVtZW50ZWQgYWxsIG9mIHRoZSBwcm9ibGVtYXRpYyBh c3BlY3RzLgoKICAgIEEuNSkgVGhlcmUgYXBwZWFyIHRvIGJlIG5vIG90aGVyIHdpZGVzcHJl YWQgcGFyYWxsZWwgbGFuZ3VhZ2VzIGFuZAppbnRlcmZhY2VzIHRoYXQgYm90aCBpbnRyb2R1 Y2UgYWxsIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBwcm9ibGVtcyB0aGF0CmNvYXJyYXlzIGRv IGFuZCBoYXZlIGFueSBpbXBsZW1lbnRhdGlvbnMgdGhhdCByZXNvbHZlIHRoZW0uCgoKVGhv c2Ugc3RhdGVtZW50cyBtYXkgc2VlbSBjb250cm92ZXJzaWFsLCBidXQgdGhpcyBwYXBlciBw cm92aWRlcwpldmlkZW5jZSBmb3IgdGhlbSwgd2hpY2ggYWNjb3VudHMgZm9yIGl0cyBsZW5n dGguICBXaGlsZSBjb2FycmF5cyBhcmUKc3ludGFjdGljYWxseSBzaW1wbGUsIHRoZWlyIHNl bWFudGljcyAoYW5kIGhlbmNlIGltcGxlbWVudGF0aW9uKSBhcmUKbm90OyBpbiBmYWN0LCBJ IGtub3cgb2Ygbm8gb3RoZXIgcGFyYWxsZWwgaW50ZXJmYWNlIG9yIGxhbmd1YWdlIHRoYXQK Y3JlYXRlcyBhcyBtYW55IGRpZmZpY3VsdGllcyBmb3IgdGhlIGltcGxlbWVudG9yLgoKVGhl IHByb2JsZW1zIGFyZSBlc3NlbnRpYWxseSBzb2x1YmxlIGlmIGNvYXJyYXlzIHdlcmUgaW50 ZW5kZWQgb25seSBmb3IKY2FjaGUtY29oZXJlbnQgc2hhcmVkIG1lbW9yeSBzeXN0ZW1zLCBj b21wbGV0ZSBzeXN0ZW0gdmVuZG9ycyBhbmQKc3BlY2lhbGlzdCBpbnRlcmNvbm5lY3RzLCBv ZiBjb3Vyc2UsIGJ1dCBJIGJlbGlldmUgdGhhdCBpcyBub3QgdGhlCm9iamVjdGl2ZS4KCgpJ IGJlbGlldmUgdGhhdCB0aGF0IGNvYXJyYXlzIGFyZSBub3Qgc3VpdGFibGUgZm9yIGluY2x1 c2lvbiBpbiB0aGUKRm9ydHJhbiBzdGFuZGFyZCB1bnRpbCB0aGUgYWJvdmUgaXNzdWVzIGNh biBiZSBzaG93biB0byBiZSBzb2x1YmxlIGJ5CnRoZSBleGlzdGVuY2Ugb2YgYXQgbGVhc3Qg b25lIHJlYWwgaW1wbGVtZW50YXRpb24gYnkgYSB0aGlyZC1wYXJ0eQp2ZW5kb3Igb24gYSBj b21tb2RpdHkgY2x1c3RlciwgYW5kIHNvbWUgZXZpZGVuY2UgdGhhdCB0aGlzIHdpbGwgZXh0 ZW5kCnRvIG90aGVyIHN1Y2ggc3lzdGVtcywgb3IgdGhlIHByb2JsZW1zIHJhaXNlZCBoZXJl IGFyZSByZXNvbHZlZCBieQpjaGFuZ2VzIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgoKClRlcm1p bm9sb2d5OgoKWypdIEkgdXNlIHRoZSB0ZXJtICdjb21tb2RpdHkgY2x1c3RlcicgdG8gcmVm ZXIgdG8gYSBjb2xsZWN0aW9uIG9mCm9mZi10aGUtc2hlbGYgd29ya3N0YXRpb25zIG9yIHNt YWxsIHNlcnZlcnMsIGNvbm5lY3RlZCBieSBUQ1AvSVAgYW5kCkV0aGVybmV0IChvciBwb3Nz aWJseSBJbmZpbmlCYW5kKSwgYW5kIHJ1bm5pbmcgc29tZSB3aWRlbHktYXZhaWxhYmxlCm9w ZXJhdGluZyBzeXN0ZW0gKHN1Y2ggYXMgYSBMaW51eCBvciBVbml4IHZhcmlhbnQgb3IgTWlj cm9zb2Z0IHN5c3RlbSkuCk9uIHN1Y2ggc3lzdGVtcywgYWxtb3N0IGFsbCBjb21waWxlcnMs IGxhbmd1YWdlIHJ1bi10aW1lIHN5c3RlbXMgYW5kCmFwcGxpY2F0aW9ucyBsaWJyYXJpZXMg YXJlIHdyaXR0ZW4gYnkgc2VwYXJhdGUgb3JnYW5pc2F0aW9ucywgYW5kIHJ1bgp3aXRob3V0 ICdzeXN0ZW0gcHJpdmlsZWdlcycgYW5kIHdpdGhvdXQgb3BlcmF0aW5nIHN5c3RlbSBleHRl bnNpb25zLgoKWytdIFRoZSB0ZXJtICdjb21wbGV0ZSBzeXN0ZW0gdmVuZG9yJyBpcyBub3Qg YSBoYXBweSBvbmUsIGJ1dCBJCmNhbm5vdCB0aGluayBvZiBhIGJldHRlci4gIEl0IHJlZmVy cyB0byB0aGUgdmVuZG9ycyB3aG8gbWFpbnRhaW4gYW5kCm1hcmtldCBhdCBsZWFzdCBhIG1v ZGlmaWVkIHZlcnNpb24gb2YgYSBzdGFuZGFyZCBvcGVyYXRpbmcgc3lzdGVtLAppbmNsdWRp bmcgc3BlY2lhbGlzdCBuZXR3b3JraW5nIHN1cHBvcnQsIGFuZCB0aGUgRm9ydHJhbiBhbmQg TVBJCnRoYXQgcnVuIHVuZGVyIHRoZW0uICBTdWNoIHZlbmRvcnMgY2FuIGVuc3VyZSB0aGF0 IHRoZSBvcGVyYXRpbmcKc3lzdGVtIGFuZCBuZXR3b3JrIGludGVyZmFjZXMgcHJvdmlkZSB0 aGUgZmFjaWxpdGllcyBuZWVkZWQgZm9yCmltcGxlbWVudGluZyBwYXJhbGxlbCBsYW5ndWFn ZXMsIHJlbGlhYmx5IGFuZCBlZmZpY2llbnRseS4KCkl0IHdpbGwgYmUgY2xlYXIgdGhhdCwg dG8gYSBsYXJnZSBleHRlbnQsIHRoZXJlIGFyZSB0d28gZGlzam9pbnQKdHlwZXMgb2Ygc3lz dGVtLCBhbmQgaXQgaXMgdGhlIGZvcm1lciBJIGFtIGNvbmNlcm5lZCBhYm91dC4KClsgQXNp ZGU6IHNwZWNpYWxpc3QgaW50ZXJjb25uZWN0cyBhcmUgYW4gaW50ZXJtZWRpYXRlIGZvcm0s IGJ1dCB0aGUgb25seQpvbmUgSSBoYXZlIGZvdW5kIHRoYXQgc2VlbXMgdG8gYmUgYWRlcXVh dGUgZm9yIGltcGxlbWVudGluZyBGb3J0cmFuCmNvYXJyYXlzLCByZWxpYWJseSBhbmQgZWZm aWNpZW50bHksIGlzIFF1YWRyaWNzIC0gYW5kIHRoYXQgaXMgZmFpcmx5CnJhcmUuICBJdCBp cyBtZW50aW9uZWQgd2hlcmVldmVyIGl0IGlzIHJlbGV2YW50IGluIHRoaXMgZG9jdW1lbnQu IF0KCgoKQi4gU3VtbWFyeSBvZiB0aGUgcHJvYmxlbXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KClRoZSBmdW5kYW1lbnRhbCBwcm9ibGVtIGlzIHRoYXQgdGhlIHNwZWNpZmljYXRp b24gcGVybWl0cyB0d28gaW1hZ2VzIHRvCmNvbW11bmljYXRlIGJ5IGRlZmluaW5nIGFuZCBy ZWZlcmVuY2luZyBjb2FycmF5cyBvd25lZCBieSBhIHRoaXJkLAp3aXRob3V0IGFueSBleHBs aWNpdCBhY3Rpb24gYnkgdGhlIG93bmluZyBwcm9jZXNzLiAgVGhhdCBpcyB2ZXJ5CmRpZmZp Y3VsdCB0byBpbXBsZW1lbnQgd2hlbiB0aGUgdW5kZXJseWluZyBjb21tdW5pY2F0aW9uIG1l Y2hhbmlzbSBpcwpiYXNlZCBvbiBtZXNzYWdlIHBhc3NpbmcuCgpUaGF0IGlzIGNvbXBvdW5k ZWQgYnkgZXhpc3RpbmcgRm9ydHJhbiAyMDAzIGZlYXR1cmVzLCBpbmNsdWRpbmcKY29tcGFu aW9uIHByb2Nlc3NvcnMgYW5kIGV2ZW4gSS9PLCB3aGljaCBwcmV2ZW50IG1hbnkgb2YgdGhl IGtub3duCnNvbHV0aW9ucyB0byB0aGlzIHByb2JsZW0gYmVpbmcgdXNlZCBmb3IgY29hcnJh eXMuCgpUaGUgZWZmZWN0IHdpbGwgYmUgZWl0aGVyIHRoYXQgY29hcnJheXMgYXJlIG5vdCBp bXBsZW1lbnRlZCBmb3IgbW9zdApkaXN0cmlidXRlZCBtZW1vcnkgc3lzdGVtcywgb3IgdGhh dCB0aGUgaW1wbGVtZW50YXRpb25zIGhhdmUgc3VjaApzZXJpb3VzIChhbmQgcHJvYmFibHkg dW5kb2N1bWVudGVkKSByZXN0cmljdGlvbnMgdGhhdCBtYW55IHJlYXNvbmFibGUKY29hcnJh eSBwcm9ncmFtcyB3aWxsIG5vdCB3b3JrIGVmZmVjdGl2ZWx5IG9uIHRoZW0uICBVc2VycyB3 aWxsIHRoZW4KanVzdGlmaWFibHkgY2xhaW0gdGhhdCBGb3J0cmFuIGlzIGFuIHVuc3VpdGFi bGUgbGFuZ3VhZ2UgZm9yIHBhcmFsbGVsCnByb2dyYW1taW5nLgoKSW4gdGhlb3J5LCBtb3N0 IGRpc3RyaWJ1dGVkIG1lbW9yeSBvcGVyYXRpbmcgc3lzdGVtcyBjb3VsZCBiZSBlbmhhbmNl ZAp0byBlbmFibGUgdGhlIGVmZmljaWVudCBpbXBsZW1lbnRhdGlvbiBvZiBjb2FycmF5cywg YnV0IEkgZG91YnQgdGhhdApGb3J0cmFuIGlzIHN0aWxsIGltcG9ydGFudCBlbm91Z2ggdG8g Zm9yY2Ugc3VjaCBhIGRyYXN0aWMgY2hhbmdlLgoKQWxsIG9mIHRoZXNlIHByb2JsZW1zIGNh biBiZSBzb2x2ZWQgd2l0aCByZWFzb25hYmxlIGVmZmljaWVuY3kgb24gbW9zdApjdXJyZW50 IHN5c3RlbXMgKHRob3VnaCBub3QgYWxsKSBpZiBWT0xBVElMRSBjb2FycmF5cyBhcmUgZHJv cHBlZCBmcm9tCnRoZSBzdGFuZGFyZC4gIFNlZSBzZWN0aW9ucyBFLjYgYW5kIEUuNyBmb3Ig ZGV0YWlscy4KCkFuIGFsdGVybmF0aXZlIGFwcHJvYWNoIGlzIHRvIGNoYW5nZSB0aGUgY29h cnJheSBzcGVjaWZpY2F0aW9uIHRvIG1ha2UKdGhlbSBpbXBsZW1lbnRhYmxlLCBidXQgdGhl IG5lY2Vzc2FyeSBjaGFuZ2VzIGFyZSBkcmFzdGljIChzZWUgc2VjdGlvbgpFLjUgYmVsb3cp LiAgSWYgdGhhdCBhcHByb2FjaCB3ZXJlIHRvIGJlIHRha2VuLCBpdCBzaG91bGQgYmUgdGhl IHN1YmplY3QKb2YgYW5vdGhlciBwYXBlcjsgdGhpcyBvbmUgaXMgY29tcGxpY2F0ZWQgZW5v dWdoIGFzIGl0IGlzLgoKCgoKCkVWSURFTkNFIEZPUiBUSEUgQUJPVkUgU1RBVEVNRU5UUwot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClBsZWFzZSBub3RlIHRoYXQgdGhl IGV4YW1wbGVzIGFyZSB3cml0dGVuIHRvIHNob3cgdGhlIGlzc3VlcywgYW5kIGFyZQpub3Qg bmVjZXNzYXJpbHkgdGhlIGJlc3Qgd2F5IHRvIHBlcmZvcm0gdGhlaXIgdGFzay4gIFdyaXRp bmcgY2xlYXIsCnJlYWxpc3RpYyBleGFtcGxlcyB3b3VsZCB0YWtlIG1vcmUgdGltZSB0aGFu IEkgaGF2ZS4KCgpDLiBUaGUgYmFzaWMgcmVxdWlyZW1lbnQKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgpDb25zaWRlciBhIHByb2dyYW0gbGlrZSB0aGUgZm9sbG93aW5nOgoKICAgIFBS T0dSQU0gU3luY2hyb25pc2F0aW9uCiAgICAgICAgSU5URUdFUiA6OiB2YWx1ZVsqXSA9IDAs IGkKICAgICAgICBMT0dJQ0FMLCBWT0xBVElMRSA6OiBmaXJzdFsqXSA9IC5GYWxzZS4sIHNl Y29uZFsqXSA9IC5GYWxzZS4KICAgICAgICBTRUxFQ1QgQ0FTRShUSElTX0lNQUdFKCkpCiAg ICBDQVNFKDEpCiAgICAgICAgICAgIERPIGkgPSAxLENPX1VCT1VORCh2YWx1ZSkKICAgICAg ICAgICAgICAgIHZhbHVlW2ldID0gMTIzKmkKICAgICAgICAgICAgRU5EIERPCiAgICAgICAg ICAgIFNZTkMgTUVNT1JZICAgICEgT25lCiAgICAgICAgICAgIGZpcnN0WzldID0gLlRydWUu CiAgICBDQVNFKDIpCiAgICAgICAgICAgIERPIFdISUxFICguTk9ULiBmaXJzdFs5XSkKICAg ICAgICAgICAgICAgIENPTlRJTlVFCiAgICAgICAgICAgIEVORCBETwogICAgICAgICAgICBT WU5DIE1FTU9SWSAgICAhIFR3bwogICAgICAgICAgICBETyBpID0gMSxDT19VQk9VTkQodmFs dWUpCiAgICAgICAgICAgICAgICBQUklOVCAqLCB2YWx1ZVtpXQogICAgICAgICAgICBFTkQg RE8KICAgICAgICAgICAgc2Vjb25kWzhdID0gLlRydWUuCiAgICBDQVNFKDMpCiAgICAgICAg ICAgICEgQXNzdW1lIHNvbWUgaW50ZW5zaXZlIHNlcmlhbCBjb21wdXRhdGlvbiBoZXJlCiAg ICAgICAgICAgIERPIFdISUxFICguTk9ULiBzZWNvbmRbOF0pCiAgICAgICAgICAgICAgICBD T05USU5VRQogICAgICAgICAgICBFTkQgRE8KICAgICAgICBFTkQgU0VMRUNUCiAgICBFTkQg UFJPR1JBTSBTeW5jaHJvbmlzYXRpb24KClRoZSBwcm9jZXNzb3IgaGFzIHR3byBvcHRpb25z IHRvIGVuc3VyZSBjb25zaXN0ZW5jeSwgd2l0aCB2YXJpYXRpb25zOgoKICAgIEMuMSkgVGhl IHN0cmFpZ2h0Zm9yd2FyZCBpbXBsZW1lbnRhdGlvbiBpbnZvbHZlcyB0cmFuc2ZlcnJpbmcg YWxsIG9mCnRoZSB1cGRhdGVzIG9mIGNvYXJyYXlzIGZyb20gaW1hZ2UgMSB0byBhbGwgb3Ro ZXIgaW1hZ2VzICdkdXJpbmcnIHRoZQpTWU5DIE1FTU9SWSBzdGF0ZW1lbnRzIG1hcmtlZCBP bmUsIGFuZCB0cmFuc2ZlcnJpbmcgdGhlbSBmcm9tIGFsbCBvdGhlcgppbWFnZXMgdG8gaW1h Z2UgMiAnZHVyaW5nJyB0aGUgU1lOQyBNRU1PUlkgc3RhdGVtZW50cyBtYXJrZWQgVHdvLgoK ICAgIEMuMikgQW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggaW52b2x2ZXMgdHJhbnNmZXJyaW5n IHRoZSBpZGVudGl0aWVzIG9mCmFsbCB1cGRhdGVkIGNvYXJyYXlzIGZyb20gaW1hZ2UgMSB0 byBhbGwgb3RoZXIgaW1hZ2VzICdkdXJpbmcnIHRoZSBTWU5DCk1FTU9SWSBzdGF0ZW1lbnRz IG1hcmtlZCBPbmUsIGFuZCBtdXN0IGluc3BlY3QgdGhlbSBpbiBpbWFnZSAyICdkdXJpbmcn CnRoZSBTWU5DIE1FTU9SWSBzdGF0ZW1lbnRzIG1hcmtlZCBUd28uICBUaGUgcmVhc29uIHRo YXQgdGhleSBtdXN0IGJlCnRyYW5zZmVycmVkIHRvIGFsbCBvdGhlciBpbWFnZXMgaXMgYmVj YXVzZSB0aGV5IGNvdWxkIGJlIGV4ZWN1dGluZyBjb2RlCnNpbWlsYXIgdG8gdGhhdCBvZiBp bWFnZSAyLgoKQm90aCBvZiB0aG9zZSBtZWNoYW5pc20gYXJlIGV4cGVuc2l2ZSwgYW5kIHRo ZSBzZWNvbmQgaXMgbm90IHNjYWxhYmxlLApidXQgdGhhdCBpcyBub3QgdGhlIHByaW1hcnkg cG9pbnQgb2YgdGhpcyBwYXBlci4KCkl0IGlzIGltcG9ydGFudCB0byBub3RlIHRoYXQgdGhl IHVzZSBvZiBWT0xBVElMRSBjb2FycmF5cyBpbiB0aGUgYWJvdmUKaXMgbm90IGZ1bmRhbWVu dGFsLCBhbmQgYW55IGZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHN5bmNocm9uaXNhdGlvbgpt ZWNoYW5pc20gd291bGQgZXhwb3NlIHRoZSBzYW1lIGlzc3VlczsgZXhhbXBsZXMgb2YgdGhp cyBhcmUgZGVzY3JpYmVkCmluIHNlY3Rpb24gRCBiZWxvdy4KCgoKRC4gVGhlIHBvdGVudGlh bCBmb3IgZGVhZGxvY2sKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoaXMgZXhh bXBsZSByZWxpZXMgb24gdGhlIGV4aXN0ZW5jZSBvZiAidXNlci1kZWZpbmVkIG9yZGVyaW5n IiBhcwpwZXJtaXR0ZWQgaW4gOC41LjEgcGFyYWdyYXBoIDUuCgpDb25zaWRlciBhIHByb2dy YW0gbGlrZSB0aGUgZm9sbG93aW5nOgoKICAgIFBST0dSQU0gRGVhZGxvY2sKICAgICAgICBJ TlRFUkZBQ0UKICAgICAgICAgICAgU1VCUk9VVElORSBNdXRleF9sb2NrICh3aGljaCkgQklO RChDKQogICAgICAgICAgICAgICAgVVNFLCBJTlRSSU5TSUMgOjogSVNPX0NfQklORElORwog ICAgICAgICAgICAgICAgSU5URUdFUihLSU5EPUNfSU5UKSwgSU5URU5UKElOKSwgVkFMVUUg Ojogd2hpY2gKICAgICAgICAgICAgRU5EIFNVQlJPVVRJTkUgTXV0ZXhfbG9jawogICAgICAg ICAgICBTVUJST1VUSU5FIE11dGV4X3VubG9jayAod2hpY2gpIEJJTkQoQykKICAgICAgICAg ICAgICAgIFVTRSwgSU5UUklOU0lDIDo6IElTT19DX0JJTkRJTkcKICAgICAgICAgICAgICAg IElOVEVHRVIoS0lORD1DX0lOVCksIElOVEVOVChJTiksIFZBTFVFIDo6IHdoaWNoCiAgICAg ICAgICAgIEVORCBTVUJST1VUSU5FIE11dGV4X3VubG9jawogICAgICAgIEVORCBJTlRFUkZB Q0UKICAgICAgICBJTlRFR0VSIDo6IHZhbHVlWypdID0gMCwgaQoKICAgICAgICBJRiAoVEhJ U19JTUFHRSgpID09IDEpIFRIRU4KICAgICAgICAgICAgQ0FMTCBNdXRleF9sb2NrKDkpCiAg ICAgICAgRUxTRSBJRiAoVEhJU19JTUFHRSgpID09IDMpIFRIRU4KICAgICAgICAgICAgQ0FM TCBNdXRleF9sb2NrKDgpCiAgICAgICAgRU5EIElGCiAgICAgICAgU1lOQyBBTEwKICAgICAg ICBTRUxFQ1QgQ0FTRShUSElTX0lNQUdFKCkpCiAgICBDQVNFKDEpCiAgICAgICAgICAgIERP IGkgPSAxLENPX1VCT1VORCh2YWx1ZSkKICAgICAgICAgICAgICAgIHZhbHVlW2ldID0gMTIz KmkKICAgICAgICAgICAgRU5EIERPCiAgICAgICAgICAgIFNZTkMgTUVNT1JZICAgICEgT25l CiAgICAgICAgICAgIENBTEwgTXV0ZXhfdW5sb2NrKDkpCiAgICBDQVNFKDIpCiAgICAgICAg ICAgIENBTEwgTXV0ZXhfbG9jayg5KQogICAgICAgICAgICBTWU5DIE1FTU9SWSAgICAhIFR3 bwogICAgICAgICAgICBETyBpID0gMSxDT19VQk9VTkQodmFsdWUpCiAgICAgICAgICAgICAg ICBQUklOVCAqLCB2YWx1ZVtpXQogICAgICAgICAgICBFTkQgRE8KICAgICAgICAgICAgQ0FM TCBNdXRleF91bmxvY2soOCkKICAgIENBU0UoMykKICAgICAgICAgICAgQ0FMTCBNdXRleF9s b2NrKDgpCiAgICAgICAgRU5EIFNFTEVDVAogICAgRU5EIFBST0dSQU0gRGVhZGxvY2sKCklm IHRoZSBjYWxsIHRvIE11dGV4X2xvY2sgaW4gaW1hZ2UgMyBibG9ja3MsIGFuZCBjb2luZGV4 ZWQgb2JqZWN0cyBvd25lZApieSBpdCBjYW5ub3QgYmUgYWNjZXNzZWQgYnkgYW5vdGhlciBp bWFnZSB3aGlsZSBpdCBpcyBpbiB0aGF0IHN0YXRlLCB0aGUKYWJvdmUgcHJvZ3JhbSB3aWxs IGRlYWRsb2NrLiAgVGhlIEZvcnRyYW4gcHJvY2Vzc29yIGhhcyBvYnZpb3VzbHkgbm8KY29u dHJvbCBvdmVyIHRoZSBjb2RlIG9mIE11dGV4X2xvY2sgYW5kIE11dGV4X3VubG9jaywgYW5k IHNvIGNhbm5vdApwcmV2ZW50IHRoZW0gZnJvbSBibG9ja2luZy4KCgpJdCBpcyBpbXBvcnRh bnQgdG8gbm90ZSB0aGF0IHRoaXMgcHJvYmxlbSBpcyBub3QgY2F1c2VkIHNvbGVseSBieQpj b21wYW5pb24gcHJvY2Vzc29ycywgYnV0IGJ5IGFueSBleHRlcm5hbCBpbnRlcmZhY2UsIGlu Y2x1ZGluZyBGb3J0cmFuCkkvTy4gIE15IG9yaWdpbmFsIGV4YW1wbGUgd2FzIGJhc2VkIG9u IEZvcnRyYW4gSS9PLCBidXQgaXRzIHVuYXZvaWRhYmxlCmNvbXBsZXhpdHkgY2F1c2VkIG1h bnkgb2YgdGhlIHBlb3BsZSB3aG8gc2F3IGl0IHRvIG1pc3VuZGVyc3RhbmQgaXRzCnBvaW50 LiAgSSBoYXZlIHRoZXJlZm9yZSBleGNsdWRlZCBpdCBmcm9tIHRoaXMgcGFwZXIsIGJ1dCBo ZXJlIGlzIGEKc3VtbWFyeSBvZiBpdHMgZGVzaWduOgoKICAgIEQuMSkgTXV0ZXhfdW5sb2Nr KDxuPikgaXMgcmVwbGFjZWQgYnkgd3JpdGluZyBhIHJlY29yZCB0byBhbiBJL08KdW5pdCAx MCs8bj4sIGZvbGxvd2VkIGJ5IGEgRkxVU0ggc3RhdGVtZW50IG9uIHRoYXQgdW5pdCwgYW5k Ck11dGV4X2xvY2soPG4+KSBieSByZWFkaW5nIG9uZSBmcm9tIGFuIEkvTyB1bml0IDIwKzxu Pi4KCiAgICBELjIpIFRob3NlIEkvTyB1bml0cyBhcmUgY29ubmVjdGVkIHRvIEZJRk9zIChw aXBlcywgc29ja2V0cyBldGMuKSwKd2hlcmUgdGhlIG90aGVyIGVuZHMgb2YgdW5pdHMgMTAr PG4+IGFuZCAyMCs8bj4gYXJlIGFuIGlucHV0IEZJRk8gYW5kCmFuIG91dHB1dCBvbmUgdG8g dGhlIHNhbWUgcHJvZ3JhbSwgd2hpY2ggc2ltcGx5IHJlYWRzIGEgcmVjb3JkIGZyb20KdW5p dCAxMCs8bj4gYW5kIHdyaXRlcyBpdCB0byAyMCs8bj4uCgpUaGF0IGlzIG9idmlvdXNseSBh IHJlYXNvbmFibGUgY29uZmlndXJhdGlvbiBhbmQgZXhwb3NlcyBleGFjdGx5IHRoZQpzYW1l IHByb2JsZW0gYXMgdGhlIGFib3ZlIGV4YW1wbGUgZG9lcywgdGhvdWdoIHRoZSBleHRlcm5h bCBkZXRhaWxzIHVzZQpmZWF0dXJlcyBub3QgaW4gdGhlIEZvcnRyYW4gc3RhbmRhcmQuICBD b21tdW5pY2F0aW9uIHVzaW5nIGZpbGVzIGFuZCBhCnNoYXJlZCBmaWxlIHN5c3RlbSBsaWtl IE5GUyBpcyBjb21tb24gaW4gcGFyYWxsZWwgYXBwbGljYXRpb25zIG9uCmRpc3RyaWJ1dGVk IG1lbW9yeSBzeXN0ZW1zLCB0aG91Z2ggaXQgaXMgdXN1YWxseSBkb25lIGluIG90aGVyIHdh eXMuCgoKCkUuIEltcGxlbWVudGF0aW9uIHBvc3NpYmlsaXRpZXMKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoKQ29uc2lkZXIgYSBjb252ZW50aW9uYWwgZGlzdHJpYnV0ZWQg bWVtb3J5IHN5c3RlbSwgbWFkZSB1cCBvZiBzZXBhcmF0ZQpzeXN0ZW1zIChpLmUuIENQVXMg YW5kIG1lbW9yeSksIGNvbm5lY3RlZCBieSBJL08gb3ZlciBhIG5ldHdvcmssIHdpdGggYQpj b252ZW50aW9uYWwgc2VtaS1zZWN1cmUgb3BlcmF0aW5nIHN5c3RlbSAoc3VjaCBhcyBzcGVj aWZpZWQgYnkgUE9TSVgpLAphbmQgd2hlcmUgY29tcGlsZXJzLCBsYW5ndWFnZSBydW4tdGlt ZSBzeXN0ZW1zIGFuZCBhcHBsaWNhdGlvbnMKbGlicmFyaWVzIGFyZSB1bnByaXZpbGVnZWQg YXBwbGljYXRpb25zLgoKRm9ydHJhbiBkb2VzIG5vdCByZXF1aXJlIGVhY2ggaW1hZ2UgdG8g c3RvcmUgaXRzIG93biBjb3B5IG9mIGEgY29hcnJheQpsb2NhbGx5LCBidXQgaXQgJ2FsbW9z dCBkb2VzJywgYW5kIGNvYXJyYXlzIGFyZSB1bmxpa2VseSB0byBiZQppbXBsZW1lbnRlZCBp biBhbnkgb3RoZXIgd2F5IG9uIHN1Y2ggc3lzdGVtcy4KCkluIHRoZSBhYm92ZSBleGFtcGxl cywgd2hlbiBpbWFnZSAxIHJlYWNoZXMgdGhlIFNZTkMgTUVNT1JZIG1hcmtlZCBPbmUsCml0 IG11c3QgdHJhbnNmZXIgdGhlIGNvYXJyYXkgdXBkYXRlcyB0byBlYWNoIG9mIHRoZSBzeXN0 ZW1zIHRoYXQgaG9zdHMKdGhlIG90aGVyIGltYWdlcy4gIEFuZCBzaW1pbGFybHksIGl0IG11 c3QgdHJhbnNmZXIgdGhlIGRhdGEgZnJvbSB0aGVtIHRvCmltYWdlIDIgd2hlbiBpdCByZWFj aGVzIHRoZSBTWU5DIE1FTU9SWSBtYXJrZWQgVHdvLgoKSSBzaGFsbCBjYWxsIGltYWdlIGNv bnRyb2wgc3RhdGVtZW50cywgdGhlIHVzZSBvZiBWT0xBVElMRSBhbmQgSS9PCnN0YXRlbWVu dHMsICduYXR1cmFsIGJyZWFrIHBvaW50cycsIGJlY2F1c2UgdGhleSBhbGwgbmVlZCBzb21l IHNwZWNpYWwKY29kZSB0byBlbnN1cmUgY3Jvc3MtaW1hZ2UgY29uc2lzdGVuY3ksIGFjY29y ZGluZyB0byB0aGUgY3VycmVudCBkcmFmdC4KVGhleSBjb3VsZCBvYnZpb3VzbHkgYmUgZXh0 ZW5kZWQgdG8gaGFuZGxlIGNyb3NzLWltYWdlIHRyYW5zZmVycyBhcwp3ZWxsLgoKVGhlIGV4 YW1wbGVzIGRvIG5vdCBzaG93IGhvdyB0aGlzIHByb2JsZW0gY2FuIGFyaXNlIHdoaWxlIGFu IGltYWdlIGlzCmV4ZWN1dGluZyBjb2RlIHRoYXQgY29udGFpbnMgbm8gbmF0dXJhbCBicmVh ayBwb2ludHMsIGJ1dCB0aGF0IGlzCm9idmlvdXNseSBwb3NzaWJsZSwgYW5kIEkgZG8gdGhh dCBpbiBteSBjb252ZXJzaW9uIHRvIFVQQyAoc2VlIHNlY3Rpb25zCkYuMiBhbmQgRyBiZWxv dykuCgpUaGUgZXhhbXBsZXMgc2hvdyB0aGF0IHRoZSBwcm9jZXNzb3IgY2Fubm90IHdhaXQg dW50aWwgYm90aCBpbWFnZXMKaW52b2x2ZWQgaW4gYSB0cmFuc2ZlciByZWFjaCBhIG5hdHVy YWwgYnJlYWsgcG9pbnQsIHdpdGhvdXQgbG9zaW5nCnBhcmFsbGVsaXNtLCBvciBjYXVzaW5n IGxpdmVsb2NrIGFuZCBldmVuIGRlYWRsb2NrLgoKSSBrbm93IG9mIG9ubHkgc2l4IHJlYWxp c3RpYyBvcHRpb25zLCBhbmQgd2lsbCBkZXNjcmliZSB0aGVtIGFuZCB0aGVpcgpwcm9ibGVt cyBzZXBhcmF0ZWx5LgoKCkUuMS4gUG9sbGluZyBpbiBjb21waWxlZCBjb2RlCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgRm9ydHJhbiBwcm9jZXNzb3IgY2FuIG9idmlv dXNseSBjaGVjayBmb3IgcGVuZGluZyB0cmFuc2ZlcnMKKGkuZS4gcG9sbCBmb3IgdGhlbSkg YXQgZXZlcnkgbmF0dXJhbCBicmVhayBwb2ludCwgYW5kIGluc2VydCBhcnRpZmljaWFsCmJy ZWFrIHBvaW50cyBpbnRvIGFsbCBsb25nLXJ1bm5pbmcgbG9vcHMgdGhhdCBkbyBub3QgY29u dGFpbiBuYXR1cmFsCmJyZWFrIHBvaW50cy4KClRoaXMgdGVjaG5pcXVlIHdhcyB1c2VkIG9u IHNvbWUgb2YgdGhlIHJ1ZGltZW50YXJ5IG9wZXJhdGluZyBzeXN0ZW1zIG9mCnRoZSAxOTYw cyBhbmQgMTk3MHMgdG8gZGV0ZWN0IGxvb3BpbmcgcHJvZ3JhbXMsIGFuZCBleHBlcmllbmNl IHNob3dlZAp0aGF0IHRoZSAnY29tcGFuaW9uIHByb2Nlc3NvcicgcHJvYmxlbSBjYXVzZWQg dGhlIHRlY2huaXF1ZSB0byBiZQpzZXJpb3VzbHkgdW5yZWxpYWJsZS4gIEl0IHdhcyBkcm9w cGVkIGFzIHNvb24gYXMgYWxtb3N0IGFsbCBvcGVyYXRpbmcKc3lzdGVtcyBzdXBwb3J0ZWQg cHJlZW1wdGl2ZSBpbnRlcnJ1cHRzLgoKRm9yIHJlYXNvbmFibGUgZWZmaWNpZW5jeSBpbiBo aWdoLWNvbW11bmljYXRpb24gcHJvZ3JhbXMsIGEgYnJlYWsgcG9pbnQKbmVlZHMgdG8gYmUg cmVhY2hlZCBldmVyeSBmZXcgbWljcm9zZWNvbmRzIC0gZXhwZXJpZW5jZSB3aXRoIE1QSSBp cyB0aGF0CnRoZSBkaWZmZXJlbmNlIGJldHdlZW4gMSBhbmQgNSBtaWNyb3NlY29uZHMgbGF0 ZW5jeSBtYWtlcyBhIHZhc3QKZGlmZmVyZW5jZSB0byBtYW55IGFwcGxpY2F0aW9ucy4gIE5v dGUgdGhhdCBhIHR5cGljYWwgc2NoZWR1bGluZwppbnRlcnZhbCBmb3IgYSBtb2Rlcm4gc3lz dGVtIGlzIDEwIG1pbGxpc2Vjb25kcywgd2hpY2ggaXMgZmFyIHRvbyBsb25nLAphbmQgc28g aW1wbGVtZW50aW5nIHRoZSBwb2xsaW5nIGVmZmljaWVudGx5IG5lZWRzIGdyZWF0IHNraWxs IGFuZCBpcwpub3QgcG9ydGFibGUuICBIb3dldmVyLCBtb3N0IE1QSSBpbXBsZW1lbnRhdGlv bnMgYWNoaWV2ZSBpdC4KClRoYXQgaW50ZXJmZXJlcyB3aXRoIG1hbnkgb3RoZXIgY3JpdGlj YWwgb3B0aW1pc2F0aW9ucywgaW4gcGFydGljdWxhciwKdGhlIGV4dHJlbWUgcGlwZWxpbmlu ZyBhbmQgcHNldWRvLXZlY3RvcmlzYXRpb24gbmVlZGVkIGZvciBnb29kCnBlcmZvcm1hbmNl IG9uIEludGVsIElBNjQsIEhpdGFjaGkgU1I4MDAwIGFuZCBzaW1pbGFyIGZ1dHVyZSBzeXN0 ZW1zLgpJdCB3b3VsZCBoYW5kaWNhcCBvcHRpbWlzYXRpb24gZXZlbiBvbiBTUEFSQyBhbmQg UE9XRVIsIGFuZCBwb3NzaWJseQpldmVuIHg4Ni4KCk1vcmUgc2VyaW91c2x5LCBpdCBkb2Vz IG5vdCBoZWxwIHdpdGggcHJvZ3JhbXMgdGhhdCB1c2UgY29tcGFuaW9uCnByb2Nlc3NvcnMs IGluIHRoaXMgY29udGV4dCBpbmNsdWRpbmcgcHJvZ3JhbXMgdGhhdCBjYWxsIG9wdGltaXNl ZAp2ZXJzaW9ucyBvZiB0aGUgQkxBUywgTEFQQUNLIGV0Yy4sIGJlY2F1c2UgdGhlIEZvcnRy YW4gcHJvY2Vzc29yCm9idmlvdXNseSBjYW5ub3QgaW5zZXJ0IHBvbGxpbmcgaW50byBleHRl cm5hbCBjb2RlLiAgVGhpcyBwcm9ibGVtIGlzCnNob3duIGJ5IGV4YW1wbGUgRGVhZGxvY2sg aW4gc2VjdGlvbiBELCBidXQgd291bGQgcmVtYWluIGV2ZW4gaWYgdGhlCndvcmRzICJvciB1 c2VyLWRlZmluZWQgb3JkZXJpbmciIHdlcmUgcmVtb3ZlZC4gIE9idmlvdXNseSwgYW4gaW1h Z2UKZXhlY3V0aW5nIGEgY29tcGFuaW9uIHByb2Nlc3NvciBwcm9jZWR1cmUgY2Fubm90IHNl cnZpY2UgYW55IG1lbW9yeQpyZXF1ZXN0cyBmcm9tIG90aGVyIGltYWdlcyB1bnRpbCBpdCBy ZXR1cm5zLgoKU2VlIGFsc28gc2VjdGlvbiBFLjUgYmVsb3cuCgoKRS4yLiBQdXJlbHkgb25l LXNpZGVkIHRyYW5zZmVycyAoJ1JETUEnKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgpUaGVyZSBhcmUgc29tZSBwdXJlbHkgb25lLXNpZGVkIHRyYW5zZmVy IG1lY2hhbmlzbXMgKGkuZS4gb25lcyB0aGF0IG5lZWQKbm8gYWN0aW9uIHdoYXRzb2V2ZXIg b24gdGhlIGltYWdlIHRoYXQgb3ducyB0aGUgZGF0YSkuCgpJbiB0aGlzIGNvbnRleHQsIHRo ZSBjcml0ZXJpb24gaXMgdGhhdCBubyBhY3Rpb24gaXMgbmVlZGVkIGJ5IHRoZSBsb2NhbAph cHBsaWNhdGlvbiB3aGVuIGEgcmVtb3RlIHN5c3RlbSByZWFkcyBhbmQgdXBkYXRlcyBpdHMg ZGF0YSwgYW5kIG5vdAp3aGF0IGhhcHBlbnMgaW4gdGhlIGhhcmR3YXJlLCB0aGUgbmV0d29y ayBpbnRlcmZhY2UgZGV2aWNlIGRyaXZlciBvciB0aGUKb3BlcmF0aW5nIHN5c3RlbSBrZXJu ZWwuICBTaW1pbGFybHksIHRoZSByZWxldmFudCBpbnRlcmZhY2VzIGFyZSBvbmVzCnRoYXQg Y2FuIGJlIHVzZWQgYnkgdW5wcml2aWxlZ2VkIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBGb3J0 cmFuIHByb2dyYW1zLgpTb21lIG1vcmUgZGV0YWlscyBvZiBSRE1BIGFyZSBnaXZlbiBiZWxv dy4KCk1vc3QgY2FjaGUtY29oZXJlbnQgc2hhcmVkIG1lbW9yeSAoU01QKSBhcmNoaXRlY3R1 cmVzIHByb3ZpZGUgc3VpdGFibGUKbWVjaGFuaXNtcywgYnV0IGFyZSBpcnJlbGV2YW50IGlu IHRoaXMgY29udGV4dDsgbm90ZSB0aGF0LCBkZXNwaXRlCmNvbW1vbiBiZWxpZWYsIHRoZXkg ZG8gbm90IGFsd2F5cyBkbyBzbyBlbnRpcmVseSB0cmFuc3BhcmVudGx5LiAgSXQKYXBwZWFy cyB0aGF0IENyYXkgZGlzdHJpYnV0ZWQgbWVtb3J5IHN5c3RlbXMgcHJvdmlkZSB0aGVtLCBh bmQgdGhhdCB0aGUKUXVhZHJpY3MgaW50ZXJjb25uZWN0IGRvZXMsIHRvby4KClRDUC9JUCBh bmQgRXRoZXJuZXQgZG8gbm90IHByb3ZpZGUgYW55IHN1Y2ggbWVjaGFuaXNtLiAgVGhlcmUg aGF2ZSBiZWVuCnNldmVyYWwgcmVzZWFyY2ggcHJvamVjdHMgdG8gZXh0ZW5kIFRDUC9JUCB0 byBkbyB0aGlzIGJ1dCwgYXMgZmFyIGFzIEkKa25vdywgdGhleSBoYXZlIGFsbCBmaXp6bGVk IG91dC4gIFRoZSBSRE1BIENvbnNvcnRpdW0gaXMgdGFja2xpbmcgYW4KdW5yZWxhdGVkIHBy b2JsZW0uCgpUaGVyZSBpcyBubyBzdWNoIG1lY2hhbmlzbSBkZWZpbmVkIGJ5IGFueSByZWxl dmFudCBzdGFuZGFyZCwgZm9ybWFsIG9yCmluZm9ybWFsLCBmb3IgcmVhc29ucyBpbXBsaWVk IGJ5IHNlY3Rpb25zIEUuNCBhbmQgRS42LCBhbmQgSSBjYW4gZmluZCBubwpldmlkZW5jZSB0 aGF0IG9uZSBpcyBjdXJyZW50bHkgcHJvdmlkZWQgYnkgYW55IGRpc3RyaWJ1dGVkIG1lbW9y eQpvcGVyYXRpbmcgc3lzdGVtIG9yIGludGVyY29ubmVjdCB2ZW5kb3Igb3RoZXIgdGhhbiBD cmF5IGFuZCBRdWFkcmljcy4KCkl0IGlzIHBvc3NpYmxlIHRoYXQgc3VjaCBtZWNoYW5pc21z IGV4aXN0IGluIHRoZSBPcGVuZmFicmljcyBJbmZpbmlCYW5kCnN0YWNrLCBidXQgSSBiYXVs a2VkIGF0IGRvd25sb2FkaW5nIGFuZCBzZWFyY2hpbmcgNTggTUIgb2Ygc29mdHdhcmUgdG8K ZmluZCBvdXQuICBJbiBhbnkgY2FzZSwgSSBjYW4gZmluZCBubyBldmlkZW5jZSBvZiBzdWNo IGEgbWVjaGFuaXNtIGJlaW5nCnByb3ZpZGVkIHRvIG9yIHVzZWQgYnkgYXBwbGljYXRpb25z LgoKU3VjaCBtZWNoYW5pc21zIGNhbiBiZSBwcm92aWRlZCBmb3Igc3lzdGVtcyB0aGF0IGRv IG5vdCBoYXZlIHRoZW0gb25seQpieSBub24tdHJpdmlhbCBvcGVyYXRpbmcgc3lzdGVtIGtl cm5lbCBlbmhhbmNlbWVudHMuCgoKQXNpZGU6IHNvbWUgaW5mb3JtYXRpb24gb24gUkRNQS4K ClRoZSB0ZXJtICdSZW1vdGUgRGlyZWN0IE1lbW9yeSBBY2Nlc3MnIChhbHNvIGNhbGxlZCBS TUEpIGNvdmVycyBhIHdpZGUKdmFyaWV0eSBvZiBtZWNoYW5pc21zLCBidXQgaXQgYWx3YXlz IHJlZmVycyB0byBzb21lIG1lY2hhbmlzbSBmb3IKYXZvaWRpbmcgdGhlIHVzZSBvZiBhdCBs ZWFzdCBvbmUgaW50ZXJuYWwgSS9PIGJ1ZmZlciBmb3IgbGFyZ2UKdHJhbnNmZXJzLiAgRGVz cGl0ZSBjb21tb24gYmVsaWVmLCB0aGUgZGF0YSBhcmUgbm90IGFsd2F5cyBjb3BpZWQKZGly ZWN0bHkgZnJvbSB0aGUgbmV0d29yayB0byB0aGUgQ1BVJ3MgbWVtb3J5LCBidXQgaW5jb21p bmcgcGFja2V0cyBtYXkKYmUgYnVmZmVyZWQgaW4gdGhlIG5ldHdvcmsgY2FyZCwgZGVjb2Rl ZCB0aGVyZSwgYW5kIHRoZSBjb250ZW50cyB0aGVuCndyaXR0ZW4gdG8gdGhlIENQVSdzIG1l bW9yeS4gIFRoYXQgbWVhbnMgdGhhdCBhIG1lc3NhZ2UgY2FuIHJlYWNoIGl0cwpkZXN0aW5h dGlvbiBzb21lIHRpbWUgYmVmb3JlIGl0IGJlY29tZXMgdmlzaWJsZSB0byBhbiBhcHBsaWNh dGlvbgpydW5uaW5nIG9uIHRoYXQgc3lzdGVtLgoKVW5mb3J0dW5hdGVseSwgdGhlIHJlcXVp cmVtZW50IGZvciBjb2FycmF5cyBpcyBub3QgdGhhdCB0aGUgZGF0YSBhcmUKd3JpdHRlbiBk aXJlY3RseSB0byBtZW1vcnksIGJ1dCB0aGF0IHRoZSB0cmFuc21pc3Npb24gaXMgbm90CmFj a25vd2xlZGdlZCBhcyBjb21wbGV0ZSB1bnRpbCB0aGUgZGF0YSBpcyBhY3R1YWxseSB2aXNp YmxlIHRvIHRoZQphcHBsaWNhdGlvbi4gIFRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIGZlYXR1 cmUgdGhlcmVmb3JlIGRlcGVuZHMgbW9yZSBvbgp0aGUgaW50ZXJmYWNlIHNvZnR3YXJlIChl LmcuIFRDUC9JUCBvciBPcGVuZmFicmljcykgdGhhbiBvbiB0aGUgbmV0d29yawpoYXJkd2Fy ZSAoZS5nLiBFdGhlcm5ldCBvciBJbmZpbmlCYW5kKS4KCgpFLjMuIE1QSS0yIG9uZS1zaWRl ZCBjb21tdW5pY2F0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1Q SSBpcyBhIHdpZGVseSBhdmFpbGFibGUgZGUgZmFjdG8gc3RhbmRhcmQsIGFuZCBpcyB0aGUg ZG9taW5hbnQKaW50ZXJmYWNlIHVzZWQgb24gZGlzdHJpYnV0ZWQgbWVtb3J5IHN5c3RlbXMu ICBUaGUgdHdvLXNpZGVkIGFuZApjb2xsZWN0aXZlIG1lY2hhbmlzbXMgZGVmaW5lZCBieSBN UEktMSBhcmUgYXZhaWxhYmxlIG9uIGVmZmVjdGl2ZWx5CmFsbCBwYXJhbGxlbCBzeXN0ZW1z LCBidXQgYXJlIG9idmlvdXNseSBpbmFkZXF1YXRlIGZvciBpbXBsZW1lbnRpbmcKY29hcnJh eXMuCgpNUEktMiBhZGRlZCBvbmUtc2lkZWQgY29tbXVuaWNhdGlvbiB3aGljaCwgb24gdGhl IGZhY2Ugb2YgaXQsIHdvdWxkCmFwcGVhciBzdWl0YWJsZSBmb3IgaW1wbGVtZW50aW5nIGNv YXJyYXlzLiAgVmVyeSBmZXcgYXBwbGljYXRpb25zCmN1cnJlbnRseSB1c2UgTVBJLTIgb25l LXNpZGVkIGNvbW11bmljYXRpb24sIGFuZCBpdCBpcyB1bmNsZWFyIGhvdwpyZWxpYWJsZSwg Y29tcGxldGUgYW5kIGVmZmljaWVudCBpdHMgaW1wbGVtZW50YXRpb25zIGFyZS4gIFRoZXJl IGFyZSBhdApsZWFzdCB0aGUgZm9sbG93aW5nIGlzc3Vlcy4KClByb2dyYW1zIGluIFBHQVMg KFBhcmFsbGVsIEdsb2JhbCBBcnJheSBTdG9yYWdlKSBsYW5ndWFnZXMsIGxpa2UgRm9ydHJh bgp3aXRoIGNvYXJyYXlzLCB0ZW5kIHRvIHVzZSBhIG11Y2ggbG93ZXIgZ3JhbnVsYXJpdHkg dGhhbiBwcm9ncmFtcyB0aGF0CnVzZSBtZXNzYWdlLXBhc3NpbmcgbGlicmFyaWVzLiAgSXQg aXMgY29tbW9uIGZvciB0aGUgZm9ybWVyIHRvIGZhaWwgd2hlbgpidWlsdCBvbiB0aGUgbGF0 dGVyLCBhbmQgaXQgd2FzIG9uZSBvZiB0aGUgcmVhc29ucyBmb3IgdGhlIGZhaWx1cmUgb2YK SFBGLiBJbnRlbCBoYXZlIGEgdmVyc2lvbiBvZiBPcGVuTVAgdGhhdCBzdXBwb3J0cyBkaXN0 cmlidXRlZCBtZW1vcnksCmJ1dCBpdCBpcyBpbnRlbmRlZCBvbmx5IGZvciBsb3ctY29tbXVu aWNhdGlvbiBhcHBsaWNhdGlvbnMgbGlrZSBXZWIKc2VydmVycywgYW5kIG5vdCB0aGUgaGln aC1jb21tdW5pY2F0aW9uIG9uZXMgY29tbW9uIGluIEhQQywgYWNjb3JkaW5nIHRvCmEgcGVy c29uYWwgY29tbXVuaWNhdGlvbiBmcm9tIGEgZGV2ZWxvcGVyLgoKVGhlIG9ubHkgYXBwcm9w cmlhdGUgb25lLXNpZGVkIHN5bmNocm9uaXNhdGlvbiBtZWNoYW5pc20gaW4gTVBJLTIgaXMK TVBJX1dpbl9sb2NrIChNUEktMiA2LjQuMyksIGFuZCBNUEkgYWxsb3dzIHRoYXQgdG8gYmUg cmVzdHJpY3RlZCB0bwptZW1vcnkgYWxsb2NhdGVkIGJ5IE1QSV9BbGxvY19tZW0uICBUaGF0 IG1heSBub3QgYmUgZmVhc2libGUgZm9yIGFsbApGb3J0cmFuIGNvbXBpbGVycyBvbiBhbGwg c3lzdGVtcy4KCk1QSS0yIDExLjcuMiBzdGF0ZXMgdGhhdCBwcm9ncmVzcyB3aXRoIGEgdHJh bnNmZXIgaXMgbm90IHJlcXVpcmVkIHVudGlsCnRoZSB0YXJnZXQgcHJvY2VzcyBuZXh0IHJl YWNoZXMgYW4gTVBJIGNhbGwsIGFuZCB0aGVyZWZvcmUgbWF5IHRha2UgYW4KdW5ib3VuZGVk IGFtb3VudCBvZiB0aW1lLiAgQXMgc2hvd24gYnkgbXkgY29udmVyc2lvbiB0byBVUEMgKHNl ZQpzZWN0aW9ucyBGLjIgYW5kIEcgYmVsb3cpLCBzdWNoIGFuIGltcGxlbWVudGF0aW9uIHdv dWxkIGJlIGV4dHJlbWVseQppbmVmZmljaWVudCBvbiBleGFtcGxlIFN5bmNocm9uaXNhdGlv biBpbiBzZWN0aW9uIEMsIGFuZCB3b3VsZCBkZWFkbG9jawpvbiBleGFtcGxlIERlYWRsb2Nr IGluIHNlY3Rpb24gRC4KCk1QSSdzIGd1YXJhbnRlZXMgb2Ygbm8gZGVhZGxvY2sgb2J2aW91 c2x5IGFwcGx5IG9ubHkgd2hlbiBNUEkgcHJvY2VkdXJlcwphcmUgY2FsbGVkLCBhbmQgbm90 IHdoZW4gZXh0ZXJuYWwgY29kZSBpcy4gIFNvIGFueSBpbWFnZSB0aGF0IGlzIHdhaXRpbmcK aW4gYSBjb21wYW5pb24gcHJvY2Vzc29yIHByb2NlZHVyZSBvciBldmVuIEZvcnRyYW4gSS9P IG9idmlvdXNseSBjYW5ub3QKc2VydmljZSBhbnkgbWVtb3J5IHJlcXVlc3RzIGZyb20gb3Ro ZXIgaW1hZ2VzIHVudGlsIGl0IHJldHVybnMuCgoKRS40LiBJbnRlcnJ1cHRpbmcgdGhlIGlt YWdlIHRvIGNvbXBsZXRlIHRoZSB0cmFuc2ZlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgpJbiB0aGVvcnksIHRoZSBwcm9jZXNzb3Ig Y291bGQgdXNlIHNvbWUgZm9ybSBvZiB1bnByaXZpbGVnZWQgaW50ZXJydXB0Cm1lY2hhbmlz bSB0byB0cmFwIHNpZ25hbHMgdG8gdGhlIGV4ZWN1dGluZyBpbWFnZSAoaS5lLiB0aGUgb25l IHRoYXQgb3ducwp0aGUgZGF0YSksIGhhbmRsZSB0aGUgdHJhbnNmZXJzIGFuZCB0aGVuIGNv bnRpbnVlIHByb2Nlc3NpbmcuCgpUaGUgb25seSBjdXJyZW50bHkgcmVsZXZhbnQgbWVjaGFu aXNtIGlzIHNpZ25hbHMsIGFuZCBkb2luZyBJL08gaW4gdGhlbQppcyB1bmRlZmluZWQgYmVo YXZpb3VyIGluIEM5OSAoNy4xNC4xLjEgVGhlIHNpZ25hbCBmdW5jdGlvbiwgcGFyYWdyYXBo CjUpIGFuZCBQT1NJWCAoc2lnYWN0aW9uOiBBUFBMSUNBVElPTiBVU0FHRSwgcGFyYWdyYXBo IDMpLiAgTWFueSBzeXN0ZW1zCnByb3ZpZGUgZXh0ZW5zaW9ucyB0byBQT1NJWCBpbiB0aGlz IGFyZWEsIGJ1dCBmZXcgYXJlIG11Y2ggb2YgYW4KaW1wcm92ZW1lbnQsIGFuZCBtb3N0IGRv IG5vdCBwcm92aWRlIGVub3VnaCBzdXBwb3J0ZWQgZnVuY3Rpb25hbGl0eSB0bwppbXBsZW1l bnQgbWVzc2FnZSBwYXNzaW5nIGluIGFuIGludGVycnVwdCBoYW5kbGVyLgoKRnJvbSBhIHBy YWN0aWNhbCB2aWV3cG9pbnQsIHRoaXMgdGVjaG5pcXVlIGlzIHNlcmlvdXNseSB1bnJlbGlh YmxlIHVuZGVyCmFsbCBvZiB0aGUgZG96ZW4gb3Igc28gY3VycmVudCBvcGVyYXRpbmcgc3lz dGVtcyB3aGljaCBJIGhhdmUgbG9va2VkIGF0OwppdCB3YXMgZmllbmRpc2hseSBkaWZmaWN1 bHQgdG8gdXNlIGFuZCB1c3VhbGx5IHVucmVsaWFibGUgZXZlbiB1bmRlciB0aGUKb2xkIG1h aW5mcmFtZSBzeXN0ZW1zLCB3aGVyZSBpdCB3YXMgZnVsbHkgc3VwcG9ydGVkLgoKSSBoYXZl bid0IGludmVzdGlnYXRlZCBJbnRlbCBDbHVzdGVyIE9wZW5NUCBpbiBkZXRhaWwsIGJ1dCBp dHMKc3BlY2lmaWNhdGlvbiBzdGF0ZXMgY2xlYXJseSB0aGF0IGl0IHVzZXMgdGhlIHBhZ2Ug ZmF1bHRpbmcgbWVjaGFuaXNtCigndmlydHVhbCBtZW1vcnknKSB0byBkbyB0aGlzLiAgVGhh dCB1bmF2b2lkYWJseSBuZWVkcyBrZXJuZWwgcHJpdmlsZWdlLAp0aG91Z2ggaXQgbWF5IHVz ZSBkb2N1bWVudGVkIHN5c3RlbSBjYWxscy4gIEVxdWFsbHkgc2VyaW91c2x5LCBpdCBhbG1v c3QKY2VydGFpbmx5IHdpbGwgaW52b2x2ZSB0aGUga2VybmVsIHNjaGVkdWxlciwgYW5kIHNv IHRoZSBsYXRlbmN5IGlzCmxpa2VseSB0byBiZSBvZiB0aGUgb3JkZXIgb2YgMTAgbVMgLSB3 aGljaCBpcyBob3BlbGVzcyBmb3IgVk9MQVRJTEUKY29hcnJheXMgYW5kIG5vdCBnb29kIGZv ciBzZWdtZW50cy4gIFNlZSBzZWN0aW9uIDExIGluOgoKICAgIGh0dHA6Ly9jYWNoZS13d3cu aW50ZWwuY29tL2NkLzAwLzAwLzI5Lzc4LzI5Nzg3NV8yOTc4NzUucGRmCgoKRS41LiBVc2lu ZyB0aGUgTVBJIGFuZCBHQVNOZXQgcHJvZ3Jlc3MgbW9kZWwKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1QSSBhbmQgR0FTTmV0IChzZWUgc2VjdGlv biBGLjIgYmVsb3cpIGhhdmUgdGhlIGNvbmNlcHQgb2YgYSBwcm9ncmVzcwplbmdpbmUsIHdo ZXJlIG5hdHVyYWwgYnJlYWsgcG9pbnRzIGFyZSByZXF1aXJlZCB0byBjaGVjayBmb3IgYW5k IHNlcnZpY2UKYWxsIHBlbmRpbmcgYWN0aW9ucywgYnV0IG5vIGFjdGlvbiBuZWVkIGJlIHRh a2VuIGJldHdlZW4gdGhlbS4KCkluIHRoZSBGb3J0cmFuIGNvbnRleHQsIGEgcmVmZXJlbmNl IG9yIGRlZmluaXRpb24gZnJvbSBvbmUgaW1hZ2UgdG8gYQpjb2luZGV4ZWQgb2JqZWN0IG9u IGFub3RoZXIgbWlnaHQgbm90IG9jY3VyIHVudGlsIHRoZSBsYXR0ZXIgcmVhY2hlZCBhCm5h dHVyYWwgYnJlYWsgcG9pbnQuICBFeGFtcGxlcyBTeW5jaHJvbmlzYXRpb24gYW5kIERlYWRs b2NrIGluIHNlY3Rpb25zCkMgYW5kIEQgc2hvdyB0aGF0IHdvdWxkIG5vdCBiZSBhZGVxdWF0 ZSBmb3IgaW1wbGVtZW50aW5nIGNvYXJyYXlzIGFzCmN1cnJlbnRseSBzcGVjaWZpZWQuCgpJ biBvcmRlciB0byB0YWtlIHRoaXMgYXBwcm9hY2gsIE1QSSBpbXBvc2VzIHNpZ25pZmljYW50 IGNvbnN0cmFpbnRzIG9uCnRoZSBwcm9ncmFtIHRvIGVuc3VyZSB0aGF0IHByb2dyZXNzIGlz IGFsd2F5cyBwb3NzaWJsZSwgYW5kIHVzaW5nIGl0CndvdWxkIHJlcXVpcmUgRm9ydHJhbiB0 byBkbyB0aGUgc2FtZS4gIE1vZGlmeWluZyB0aGUgY29hcnJheQpzcGVjaWZpY2F0aW9uIHRv IGFsbG93IHRoaXMgd291bGQgY2VydGFpbmx5IGJlIHBvc3NpYmxlLCBhbmQgdGhlCnNpbXBs ZXN0IGFwcHJvYWNoIHdvdWxkIGJlIHRoZSBmb2xsb3dpbmc6CgogICAgRS41LjEpIFRvIGVs aW1pbmF0ZSBTWU5DIE1FTU9SWSBhbmQgVk9MQVRJTEUgY29hcnJheXMgaW4gdGhlaXIKZW50 aXJldHkuICBMb2NraW5nIHByaW1pdGl2ZXMgZG8gbm90IGNhdXNlIHRoZSBzYW1lIHByb2Js ZW1zLCBhbmQgYXJlCm1vcmUgY29tcGFyYWJsZSB0byBTWU5DIElNQUdFUyBpbiB0aGlzIGNv bnRleHQuCgogICAgRS41LjIpIFRvIHN0YXRlIHRoYXQgdGhpcyBwcm9ncmVzcyBtb2RlbCBp cyB1c2VkLCBhbmQgcHJvZ3JhbW1lcnMKbXVzdCBvYmV5IGl0cyBjb25zdHJhaW50cywgaW4g YSBzaW1pbGFyIHdheSB0byBNUEkuICBJIHNheSBNUEkgcmF0aGVyCnRoYW4gR0FTTmV0LCBi ZWNhdXNlIHRoZSBmb3JtZXIgc3RhbmRhcmQgaXMgbW9yZSBjb21wYXJhYmxlIHRvIEZvcnRy YW4KaW4gcHJlY2lzaW9uIGFuZCB0ZXJtaW5vbG9neS4KCiAgICBFLjUuMykgVG8gc3BlY2lm eSB0aGF0IHBlcmZvcm1pbmcgdW5ib3VuZGVkIGFjdGlvbnMgdXNpbmcgYW55CmV4dGVybmFs IGludGVyZmFjZSAoaW5jbHVkaW5nIEkvTyBhbmQgY29tcGFuaW9uIHByb2Nlc3NvcnMpLCB0 b2dldGhlcgp3aXRoIHVzaW5nIGNvYXJyYXlzLCBpcyB1bmRlZmluZWQuICBXaXRob3V0IHRo aXMsIEZvcnRyYW4gY29hcnJheXMgd2lsbAphbG1vc3QgY2VydGFpbmx5IGRldmVsb3AgYSBy ZXB1dGF0aW9uIGZvciBiZWluZyAnYnJva2VuJy4KClRoZXNlIGNoYW5nZXMgd291bGQgbWVh biB0aGF0IGV4YW1wbGUgU3luY2hyb25pc2F0aW9uIGluIHNlY3Rpb24gQyB3b3VsZAp1c3Vh bGx5IGJlIGV4dHJlbWVseSBpbmVmZmljaWVudCwgYW5kIGV4YW1wbGUgRGVhZGxvY2sgaW4g c2VjdGlvbiBECndvdWxkIGJlIHVuZGVmaW5lZC4KCgpFLjYuIFVzaW5nIGEgc2VwYXJhdGUg dGhyZWFkIHRvIGhhbmRsZSB0aGUgdHJhbnNmZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkEgcHJvY2Vzc29yIGNvdWxkIHJlcXVp cmUgdGhhdCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUsIHBlcm1hbmVudGx5CnJ1bm5pbmcsIHRo cmVhZCBkZWRpY2F0ZWQgdG8gbWVzc2FnZSBwYXNzaW5nIHBlciBzeXN0ZW0sIGFuZCB0aGF0 IHRoZQpvcGVyYXRpbmcgc3lzdGVtIHByb3ZpZGVzIGNvaGVyZW50IHNoYXJlZCBtZW1vcnkg YmV0d2VlbiB0aGF0IHRocmVhZCBhbmQKdGhlIGltYWdlIGV4ZWN1dGlvbiB0aHJlYWRzIChv ciBhbiBlcXVpdmFsZW50IG1lY2hhbmlzbSkuCgpUaGlzIHJlcXVpcmVzIGNhY2hlLWNvaGVy ZW50IHRocmVhZGluZyBzdXBwb3J0IGFuZCwgZm9yIHByYWN0aWNhYmlsaXR5LAphdCBsZWFz dCBvbmUgY29yZSBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiBpbWFnZXMgKHBlciBTTVAgc3lz dGVtKS4gIFRoYXQKaXMgbm90IGFsd2F5cyBhdmFpbGFibGUgb24gc3BlY2lhbGlzdCBwYXJh bGxlbCBzeXN0ZW1zLCBidXQgdGhlCmNvbnN0cmFpbnQgaXMgYSByZWxhdGl2ZWx5IG1pbm9y IHByb2JsZW0gbm93YWRheXMuCgpIb3dldmVyLCBpdCByZXF1aXJlcyB0aGUgaGFyZHdhcmUg YW5kIG9wZXJhdGluZyBzeXN0ZW0gdG8gc3VwcG9ydApjb2hlcmVudCBzaGFyZWQgbWVtb3J5 IGluIHN1Y2ggYSB3YXkgdGhhdCBhbiB1cGRhdGUgZnJvbSBvbmUgdGhyZWFkIGlzCmd1YXJh bnRlZWQgdG8gYmVjb21lIHZpc2libGUgdG8gYW5vdGhlciB0aHJlYWQsIGV4cGVkaXRpb3Vz bHksIHdpdGggbm8KYWN0aW9uIGJ5IHRoZSBzZWNvbmQgdGhyZWFkLiAgVGhhdCBpcyB1bmRl ZmluZWQgYmVoYXZpb3VyIGluIFBPU0lYICg0LjEwCk1lbW9yeSBTeW5jaHJvbml6YXRpb24p LgoKSXQgaXMgYWxzbyB1bnJlbGlhYmxlIGluIHByYWN0aWNlLCB1c3VhbGx5IGJlY2F1c2Ug b2YgdGhyZWFkIHNjaGVkdWxpbmcsCmRpc3BhdGNoYWJpbGl0eSBhbmQgbWVtb3J5IGNvbnNp c3RlbmN5IHByb2JsZW1zLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQKdGhyZWFkIHNjaGVk dWxpbmcgY29udHJvbCBpcyBvcHRpb25hbCBpbiBQT1NJWCwgYW5kIGl0cyBzZW1hbnRpY3Mg YXJlCmxhcmdlbHkgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgKFBPU0lYIDQuMTMgU2NoZWR1 bGluZyBQb2xpY3kpLgoKUHJvYmxlbXMgYXJlIHJhcmUsIGJ1dCBpbmNyZWRpYmx5IGNvbmZ1 c2luZyB0byB0aGUgcHJvZ3JhbW1lciAoYW5kIGV2ZW4KdGhlIG1vc3QgZXhwZXJpZW5jZWQg c3lzdGVtIGV4cGVydCkgd2hlbiB0aGV5IG9jY3VyLiAgVGhleSBhcmUgb2Z0ZW4gcHV0CmRv d24gdG8gJ2Nvc21pYyByYXlzJywgYnV0IG1vc3Qgb2YgdGhvc2UgY2xhaW1zIGFyZSBzdGF0 aXN0aWNhbGx5CmltcGxhdXNpYmxlOyBJIGhhdmUgdHJhY2tlZCBkb3duIGEgZmV3IHN1Y2gg ZmFpbHVyZXMgYW5kIGNhbiBleHBsYWluIGhvdwp0aGUgcHJvYmxlbXMgSSBkZXNjcmliZSBo ZXJlIGNhbiBvY2N1ci4KCkFnYWluLCBzdWNoIG1lY2hhbmlzbXMgY291bGQgYmUgbWFkZSBy ZWxpYWJsZSBmb3IgbWFueSBvciBtb3N0IHN5c3RlbXMKb25seSBieSBub24tdHJpdmlhbCBv cGVyYXRpbmcgc3lzdGVtIGtlcm5lbCBlbmhhbmNlbWVudHMuCgpUaGUgYWx0ZXJuYXRpdmUg YXBwcm9hY2ggaXMgdG8gZHJvcCBWT0xBVElMRSBjb2FycmF5cyBmcm9tIHRoZSBzdGFuZGFy ZC4KQW4gaW5kaWNhdGlvbiBvZiBob3cgdGhhdCBjb3VsZCB3b3JrIGlzIGdpdmVuIGluIHNl Y3Rpb24gRS43IGJlbG93LgoKCkUuNy4gQSBzZXBhcmF0ZSB0aHJlYWQgYW5kIG5vIFZPTEFU SUxFCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpGb3J0cmFuJ3Mg b3JkZXJpbmcgcnVsZXMgKDguNS4xIHBhcmFncmFwaCA2KSBhcmUgY2xvc2UgZW5vdWdoIHRv IFBPU0lYJ3MKdGhhdCBlbmZvcmNpbmcgUE9TSVggcnVsZXMgKFBPU0lYIDQuMTAgTWVtb3J5 IFN5bmNocm9uaXphdGlvbikgd2lsbApwcm92aWRlIEZvcnRyYW4ncyBzZW1hbnRpY3MgZm9y IG5vbi1WT0xBVElMRSB2YXJpYWJsZXMuICBMZXQgdXMgY29uc2lkZXIKYSBzaW5nbGUgY29t bXVuaWNhdGlvbiB0aHJlYWQgYW5kIG9uZSBvciBtb3JlIGltYWdlIHRocmVhZHMgb24gYSBz aW5nbGUsCmNhY2hlLWNvaGVyZW50IFNNUCBzeXN0ZW0uCgpUaGUgY29tbXVuaWNhdGlvbiB0 aHJlYWQgdHJhbnNmZXJzIGxvY2FsIGRhdGEgdG8gYW5kIGZyb20gb3RoZXIgU01QCnN5c3Rl bXMgYnkgbWVzc2FnZSBwYXNzaW5nIChlLmcuIE1QSSBvciBUQ1AvSVApLCBhbmQgdGhlIGZh Y3QgdGhhdCB0aGVyZQppcyBvbmx5IG9uZSBjb21tdW5pY2F0aW9uIHRocmVhZCBtZWFucyB0 aGF0IGFsbCBpbWFnZXMgZXh0ZXJuYWwgdG8gaXRzClNNUCBzeXN0ZW0gc2VlIGEgY29uc2lz dGVudCB2aWV3IG9mIHRoZSBsb2NhbCBkYXRhLCB3aGV0aGVyIG9yIG5vdCBhbnkKbG9jYWwg aW1hZ2UgdGhyZWFkIGFjY2Vzc2VzIGl0LiAgUmVzdHJpY3RpbmcgaXQgdG8gYSBzaW5nbGUg dGhyZWFkCmlzIGEgc2NhbGFiaWxpdHkgaXNzdWUsIG9mIGNvdXJzZSwgYnV0IG5vdCBhIGNh dGFzdHJvcGhpYyBvbmUuCgpUaGUgcHJvYmxlbSBpcyBob3cgaXQgbWFpbnRhaW5zIGNvbnNp c3RlbmN5IHdpdGggdGhlIGxvY2FsIGltYWdlCnRocmVhZHMuICBBbGwgb2YgRm9ydHJhbidz IGltYWdlIGNvbnRyb2wgc3RhdGVtZW50cyBuZWVkIHRvIHVzZSBvbmUgb2YKUE9TSVgncyBz eW5jaHJvbml6YXRpb24gZnVuY3Rpb25zIHRvIGhhbmRzaGFrZSB3aXRoIHRoZSBjb21tdW5p Y2F0aW9uCnRocmVhZCwgYW5kIHRoZSBsYXR0ZXIgbmVlZHMgdG8gZG8gdGhlIHNhbWUuICBV bmZvcnR1bmF0ZWx5LCBpdCBjYW5ub3QKc2ltcGx5IGNhbGwgb25lIG9mIHRoZSBibG9ja2lu ZyBmdW5jdGlvbnMgKGUuZy4gc2VtX3dhaXQpLCBhcyBpdCBuZWVkcwp0byBrZWVwIGNoZWNr aW5nIGZvciBtZXNzYWdlcyBmcm9tIG90aGVyIFNNUCBzeXN0ZW1zLgoKVGhlcmUgYXJlIHNl dmVyYWwgd2F5cyB0byByZXNvbHZlIHRoaXMgcHJvYmxlbSwgYnV0IGFsbCBuZWVkIHNvbWUK ZnJlcXVlbnQgYWN0aW9uIGJ5IHRoZSBjb21tdW5pY2F0aW9uIHRocmVhZCwgZmFyIHRvbyBm cmVxdWVudCB0byBhbGxvdwp0aGUgdGhyZWFkIHRvIGdvIGludG8gYSBzY2hlZHVsZXIgd2Fp dCAoc2VlIHNlY3Rpb24gRS4xIGFib3ZlKS4gIFNvCnVzaW5nIHNvbWUgc29ydCBvZiBzcGlu IGxvb3AgYW5kIGRlZGljYXRpbmcgYSBjb3JlIHRvIHRoZSBjb21tdW5pY2F0aW9uCnRocmVh ZCB3aWxsIGFsbW9zdCBhbHdheXMgYmUgZXNzZW50aWFsLgoKSSBiZWxpZXZlIHRoYXQgaXMg ZW5vdWdoIHRvIGltcGxlbWVudCBjb2FycmF5cyB3aXRob3V0IFZPTEFUSUxFIHdpdGgKdG9s ZXJhYmxlIGVmZmljaWVuY3ksIG9uIG11bHRpLWNvcmUsIGNhY2hlLWNvaGVyZW50IFNNUCBz eXN0ZW1zLgpIb3dldmVyLCBldmVuIHRoaXMgcmVsaWVzIG9uIHRoZSBzeXN0ZW0gYmVpbmcg Y29uZmlndXJlZCBmb3IgZ2FuZwpzY2hlZHVsaW5nIChub3QgdXN1YWxseSB0aGUgZGVmYXVs dCkgYW5kIGZvciBydW5uaW5nIHRoZSBudW1iZXIgb2YKaW1hZ2VzIHRoYXQgdGhlIHByb2dy YW1tZXIgaGFzIHJlcXVlc3RlZC4gIEZyb20gZXhwZXJpZW5jZSB3aXRoIE9wZW5NUAphbmQg TVBJLCBpdCB3aWxsIG5vdCB3b3JrIHdlbGwgb24gbXVsdGktdXNlciBTTVAgc3lzdGVtcy4K ClRoZSBhYm92ZSBpcyBub3QgZW5vdWdoIHRvIGltcGxlbWVudCBWT0xBVElMRSBjb2FycmF5 cyBiZWNhdXNlIG9uZSBvZgp0aGUgY29tbXVuaWNhdGlvbiBvciBpbWFnZSB0aHJlYWRzIG1p Z2h0IHJlYWQgYSB2YXJpYWJsZSB3aGlsZSBpdCB3YXMKaGFsZi11cGRhdGVkIGJ5IGFub3Ro ZXIuICBTbyBlYWNoIGFjY2VzcyB0byBhIFZPTEFUSUxFIHZhcmlhYmxlIHdvdWxkCm5lZWQg dG8gYmUgbG9ja2VkLCB3aXRoIHRoZSBjb21tdW5pY2F0aW9uIHRocmVhZCBpbnZvbHZlZCBp biBldmVyeQpsb2NrLiAgVGhhdCB3aWxsIG5vdCBkZWxpdmVyIGFjY2VwdGFibGUgZWZmaWNp ZW5jeSBvbiBtYW55IHN5c3RlbXMuCk5hdHVyYWxseSwgdGhlcmUgYXJlIG9wdGltaXNhdGlv bnMsIGJ1dCBmZXcgb2YgdGhlbSB3aWxsIGhlbHAgd2l0aAptb3JlIHRoYW4gYSBzdWJzZXQg b2YgY29hcnJheSBwcm9ncmFtcywgYmVjYXVzZSB0aGV5IHJlbHkgb24gY2VydGFpbgoocXVp dGUgcmVhc29uYWJsZSkgcGF0dGVybnMgb2YgdXNlIGJlaW5nIHJhcmUuCgoKCkYuIE90aGVy IGludGVyZmFjZXMKLS0tLS0tLS0tLS0tLS0tLS0tLQoKSSBoYXZlIGJlZW4gdG9sZCB0aGF0 IG15IGNvbmNlcm5zIGFyZSB1bmp1c3RpZmllZCwgYmVjYXVzZSB0aGVyZSBhcmUKZXhpc3Rp bmcsIHdpZGVseSB1c2VkIHNpbmdsZS1zaWRlZCBtZXNzYWdlIHBhc3NpbmcgaW50ZXJmYWNl cyBhbmQgUEdBUwpsYW5ndWFnZXMuICBJIGhhdmUgZG9uZSBzb21lIGZhaXJseSBleHRlbnNp dmUgaW52ZXN0aWdhdGlvbiwgYW5kIEkgY2FuCmZpbmQgbm8gZXZpZGVuY2UgZm9yIHRob3Nl IGNsYWltcyAtIGluZGVlZCwgSSBoYXZlIGZvdW5kIGZhaXJseSBzdHJvbmcKZXZpZGVuY2Ug b2YgdGhlIGNvbnZlcnNlLgoKQWxsIG9mIHJlbGV2YW50IGludGVyZmFjZXMgdGhhdCBJIGZv dW5kIHdoaWxlIHNlYXJjaGluZyBmb3IgZXZpZGVuY2UKd2VyZSBidWlsdCBvbiB0b3Agb2Yg Y29oZXJlbnQgc2hhcmVkIG1lbW9yeSwgTVBJLCBUQ1AvSVAsIFNITUVNIG9yCkdBU05ldCwg b3Igc29tZSBjb21iaW5hdGlvbi4gIFRoZSBmaXJzdCB0aHJlZSBoYXZlIGFscmVhZHkgYmVl bgpkaXNjdXNzZWQsIHNvIGl0IGxlYXZlcyBqdXN0IHRoZSBsYXN0IHR3by4KClNvbWUgaW50 ZXJmYWNlcyBhbHNvIHN1cHBvcnQgUXVhZHJpY3MgYW5kIE15cmluZXQsIGFzIG9wdGlvbnMu ICBRdWFkcmljcwpoYXMgYWxyZWFkeSBiZWVuIG1lbnRpb25lZCwgYnV0IE15cmluZXQgY3Vy cmVudGx5IHN1cHBvcnRzIG9ubHkKdHdvLXNpZGVkIGNvbW11bmljYXRpb25zIChNWCBTcGVj aWZpY2F0aW9uIDEuMiwgSUkgQ29uY2VwdHMpLgoKCkYuMS4gQ3JheSBTSE1FTQotLS0tLS0t LS0tLS0tLS0KClRoaXMgaXMgdGhlIG1lc3NhZ2UgcGFzc2luZyBpbnRlcmZhY2UgdGhhdCBv cmlnaW5hdGVkIG9uIENyYXksIGFuZCB3YXMKY29waWVkIG9uIG1hbnkgb3RoZXIgcGFyYWxs ZWwgc3lzdGVtczsgaXQgaXMgbm90IHRoZSAnU3lzdGVtIFYnIHNoYXJlZAptZW1vcnkgc2Vn bWVudCBpbnRlcmZhY2UgYWxzbyBjYWxsZWQgc2htZW0uCgpUaGUgb25seSBjYWxsIHRoYXQg aGVscHMgd2l0aCBteSBleGFtcGxlcyBpcyBTSE1FTV9RdWlldCAoU0hNRU1fRmVuY2UKYW5k IFNITUVNX1dhaXQgYWZmZWN0IGFjdGlvbnMgb24gdGhlIGxvY2FsIG5vZGUgb25seSwgYW5k IFNITUVNX0JhcnJpZXIKaXMgYSBjb2xsZWN0aXZlKS4gIEl0IGFwcGVhcnMgdGhhdCBTSE1F TV9RdWlldCB3YXMgaW50cm9kdWNlZCBpbiB0aGUKVDNFLgoKVGhlcmUgYXBwZWFycyB0byBi ZSBubyBhZGVxdWF0ZSBpbXBsZW1lbnRhdGlvbiBvZiBTSE1FTSBmb3IgZGlzdHJpYnV0ZWQK bWVtb3J5IHN5c3RlbXMsIGV4Y2VwdCBmb3IgQ3JheSBzeXN0ZW1zIGFuZCB0aGUgc3BlY2lh bGlzdCBpbnRlcmNvbm5lY3QKUXVhZHJpY3MuICBJIGhhdmUgYXNrZWQgc2V2ZXJhbCBjb250 YWN0cyBpbiB0aGUgcGFyYWxsZWwgcHJvZ3JhbW1pbmcKYXJlYSwgYW5kIG5vbmUgb2YgdGhl bSBrbm93IG9mIGEgdmVyc2lvbiBvZiBTSE1FTSBmb3IgbW9zdCBkaXN0cmlidXRlZAptZW1v cnkgc3lzdGVtcy4KCkEgV2ViIHNlYXJjaCAodXNpbmcgR29vZ2xlKSBvbiBTSE1FTV9RdWll dCBhbmQgTGludXggaGFkIG9ubHkgMjggaGl0cywKYW5kIG5vbmUgc2VlbWVkIHRvIGluZGlj YXRlIHRoZSBleGlzdGVuY2Ugb2YgYW55IG90aGVyIGltcGxlbWVudGF0aW9uOwppbmRlZWQs IG9uZSBzYWlkIHRoYXQgU0hNRU1fUXVpZXQgaGFkIG5vdCB5ZXQgYmVlbiBpbXBsZW1lbnRl ZCBieSBTY2FsaQppbiAyMDAxLiAgSSBjaGFuZ2VkIHRoZSAiTGludXgiIHRvICJCU0QiLCAi TWljcm9zb2Z0IiwgIldpbmRvd3MiLAoiSW5maW5pQmFuZCIsICJWb2x0YWlyZSIsICJNZWxs YW5veCIsICJDSVNDTyIsICJTY2FsaSIsICJNeXJpbmV0IiwKIkdQU0hNRU0iLCAiT3BlbklC IiBhbmQgIk9wZW5mYWJyaWNzIjsgbm9uZSBnb3QgbW9yZSB0aGFuIDEyIGhpdHMsIGFuZApu b25lIGluZGljYXRlZCBhIHJlbGV2YW50IGltcGxlbWVudGF0aW9uLiAgSSB0cmllZCBhIGZl dyBvdGhlciBzZWFyY2hlcwpub3QgdXNpbmcgU0hNRU1fUXVpZXQsIHRvby4gIE15IGF0dGVt cHRzIHRvIGZpbmQgYSBjdXJyZW50IFdlYiBwYWdlIGZvcgpHUFNITUVNIGZhaWxlZC4KCgpG LjIuIFVuaWZpZWQgUGFyYWxsZWwgQyAoVVBDKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKVGhpcyBpcyBieSBmYXIgdGhlIG1vc3Qgd2lkZXNwcmVhZCBQR0FTIChQYXJhbGxl bCBHbG9iYWwgQXJyYXkgU3RvcmFnZSkKbGFuZ3VhZ2UsIGJ1dCBJIGhhdmUgZm91bmQgbGl0 dGxlIGV2aWRlbmNlIHRoYXQgaXQgaXMgdXNlZCBmb3IgYWN0dWFsCmFwcGxpY2F0aW9ucywg YXMgZGlzdGluY3QgZnJvbSBjb21wdXRlciBzY2llbnRpc3RzIGludmVzdGlnYXRpbmcKdGVj aG5vbG9naWVzLiAgSSBhbSBpbmZvcm1lZCB0aGF0IGl0IGlzIHVzZWQgaW4gdGhlIFVTQSBE b0QgYW5kIHJlbGF0ZWQKb3JnYW5pc2F0aW9ucywgYnV0IEkgaGF2ZSBsaXR0bGUgY29udGFj dCB3aXRoIHRoZWlyIHNjaWVudGlmaWMKcmVzZWFyY2hlcnMuICBJIGhhdmUgYWxzbyBiZWVu IGluZm9ybWVkIHRoYXQgaXQgaXMgdXNlZCBlbHNld2hlcmUsIGJ1dApub25lIG9mIG15IHNv dXJjZXMgY291bGQgcHJvdmlkZSBhbnkgZXZpZGVuY2Ugb3IgYW55IHJlZmVyZW5jZSB0aGF0 IEkKY291bGQgaW52ZXN0aWdhdGUuCgpJdHMgc3ludGF4IGlzIGZhciBtb3JlIGNvbXBsaWNh dGVkIGFuZCBoYXJkIHRvIHVzZSB0aGFuIGNvYXJyYXlzLCBidXQKdGhpcyBwYXBlciBpcyBh Ym91dCBzZW1hbnRpY3MuICBVUEMncyBzZW1hbnRpY3MgYXJlIG11Y2ggc2ltcGxlciBhbmQK bW9yZSByZXN0cmljdGl2ZSB0aGFuIGZvciBjb2FycmF5cywgaW4gbWFueSBzdWJ0bGUgYW5k IHBvb3JseSBkb2N1bWVudGVkCndheXMsIGJ1dCBJIHNoYWxsIG9taXQgYWxsIGFzcGVjdHMg YnV0IG9uZTogdGhhdCBvZiAncHJvZ3Jlc3MnLgoKSXQgaXMgYmFzZWQgb24gYSBjb21tdW5p Y2F0aW9uIG1lY2hhbmlzbSAoR0FTbmV0KSwgYW5kIHRoZSBpc3N1ZXMgcmFpc2VkCmluIHRo aXMgcGFwZXIgcmVsYXRlIG1vc3RseSB0byB0aGF0LiAgTXkgaW52ZXN0aWdhdGlvbnMgaW5k aWNhdGUgdGhhdApHQVNuZXQgbGFja3MgdGhlIHBvd2VyIHRvIGltcGxlbWVudCBjb2FycmF5 cyBlZmZpY2llbnRseSBvbiBkaXN0cmlidXRlZAptZW1vcnkgc3lzdGVtcy4gIFRoZSBjdXJy ZW50IEdBU05ldCBzcGVjaWZpY2F0aW9uIGluY2x1ZGVzIHRoZQpmb2xsb3dpbmc6CgppbnQg Z2FzbmV0X0FNUG9sbCAoKQogICAgIEFuIGV4cGxpY2l0IGNhbGwgdG8gc2VydmljZSB0aGUg bmV0d29yaywgcHJvY2VzcyBwZW5kaW5nIG1lc3NhZ2VzCiAgICAgYW5kIHJ1biBoYW5kbGVy cyBhcyBhcHByb3ByaWF0ZS4gIE1vc3Qgb2YgdGhlIG1lc3NhZ2Utc2VuZGluZwogICAgIHBy aW1pdGl2ZXMgaW4gR0FTTmV0IHBvbGwgdGhlIG5ldHdvcmsgaW1wbGljaXRseS4gIFB1cmVs eQogICAgIHBvbGxpbmctYmFzZWQgaW1wbGVtZW50YXRpb25zIG9mIEdBU05ldCBtYXkgcmVx dWlyZSBvY2Nhc2lvbmFsCiAgICAgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiB0byBlbnN1cmUg cHJvZ3Jlc3Mgb2YgcmVtb3RlIG5vZGVzIGR1cmluZwogICAgIGNvbXB1dGUtb25seSBsb29w cy4gQW55IGNsaWVudCBjb2RlIHdoaWNoIHNwaW4td2FpdHMgZm9yIHRoZQogICAgIGFycml2 YWwgb2YgYSBtZXNzYWdlIHNob3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aGluIHRoZSBz cGluCiAgICAgbG9vcCB0byBvcHRpbWl6ZSByZXNwb25zZSB0aW1lLiAgVGhpcyBjYWxsIG1h eSBiZSBhIG5vLW9wIG9uIHNvbWUKICAgICBpbXBsZW1lbnRhdGlvbnMgKGUuZy4gcHVyZWx5 IGludGVycnVwdC1iYXNlZCBpbXBsZW1lbnRhdGlvbnMpLgogICAgIFJldHVybnMgYEdBU05F VF9PSycgdW5sZXNzIGFuIGVycm9yIGNvbmRpdGlvbiB3YXMgZGV0ZWN0ZWQuCgpUaGlzIG1h a2VzIGl0IGNsZWFyIHRoYXQgR0FTTmV0IHBlcm1pdHMgKGFuZCBldmVuIGFzc3VtZXMpIGEg cHJvZ3Jlc3MKZW5naW5lIGxpa2UgdGhhdCBvZiBNUEktMSAoc2VlIEUuNSksIGFuZCBJIGV4 cGxhaW4gaW4gdGhhdCBzZWN0aW9uIHdoeQp0aGF0IGlzIG5vdCBhZGVxdWF0ZSBmb3IgY29h cnJheXMsIGFzIGN1cnJlbnRseSBzcGVjaWZpZWQuICBJbiBzZWN0aW9uCkcsIEkgc2hvdyB0 aGF0IHRoaXMgcHJvYmxlbSBpcyBub3QgcHVyZWx5IHRoZW9yZXRpY2FsLgoKSSBoYXZlIGVu cXVpcmVkIGZ1cnRoZXIgYWJvdXQgR0FTTmV0LCBidXQgaGF2ZSBub3QgaGFkIGEgcmVzcG9u c2UuCgoKCkcuIENvbnZlcnNpb24gdG8gVVBDCi0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJIHRy YW5zbGF0ZWQgbXkgZXhhbXBsZSBpbnRvIFVQQywgdXNpbmcgYSBNYW5kZWxicm90IGxvb3Ag Zm9yIHRoZQpjb21wdXRhdGlvbi1pbnRlbnNpdmUgc2VjdGlvbiwgYW5kIHJhbiBpdCB3aXRo IHRoZSBCZXJrZWxleSBVUEMgc3lzdGVtCnVuZGVyIFNVU0UgMTAuMiBvbiBmYWlybHkgbW9k ZXJuIEludGVsL0RlbGwgd29ya3N0YXRpb25zLiAgSXQgcmFuCmVmZmljaWVudGx5IG9uIGEg c2luZ2xlIGNhY2hlLWNvaGVyZW50IHNoYXJlZC1tZW1vcnkgc3lzdGVtLCBidXQgZmFpbGVk Cm9uIGEgY2x1c3RlciBvZiA1IG9mIHRoZSBzYW1lIHN5c3RlbXMuICBJZiB0aGUgbG9vcCB3 YXMgZmFpcmx5IHNob3J0LCBpdApkaWQgbm90IHRyYW5zZmVyIHRoZSBkYXRhIHVudGlsIGl0 IHJlYWNoZWQgdGhlIHRlcm1pbmF0aW5nIGJhcnJpZXI7IGlmCnRoZSBsb29wIHdhcyBsb25n ZXIsIGl0IGRldGVjdGVkIHRoZSBsYWNrIG9mIHByb2dyZXNzIGFuZCBhYm9ydGVkLiAgVGhl CnJlc3VsdHMgYXJlIGFwcGVuZGVkLgoKVGhlIHRocmVhZGVkIHZlcnNpb24gaHVuZywgc29t ZXRpbWVzIHVua2lsbGFibHksIGR1cmluZyBwcm9jZXNzCnRlcm1pbmF0aW9uLCBidXQgdGhh dCBpcyBhbG1vc3QgY2VydGFpbmx5IGFuIHVucmVsYXRlZCBidWcgaW4gdGhlIExpbnV4CnB0 aHJlYWRzIGltcGxlbWVudGF0aW9uLCBwb3NzaWJseSB0cmlnZ2VyZWQgYnkgb25lIGluIFVQ Qy4gIFN1Y2gKcHJvYmxlbXMgYXJlIG5vdCByYXJlIHdpdGggcHRocmVhZHMuCgoKRy4xLiBU aGUgVVBDIGNvZGUKLS0tLS0tLS0tLS0tLS0tLS0KCkFmdGVyIHJ1bm5pbmcgdGhpcywgSSBu b3RpY2VkIHRoYXQgSSBmb3Jnb3QgdG8gcmVtb3ZlIHRoZSByZWZlcmVuY2VzCnRvICdzZWNv bmQnLiAgVGhleSBtYXkgYmUgaWdub3JlZCwgYXMgdGhleSBkbyBub3RoaW5nIHJlbGV2YW50 LgoKCiNpbmNsdWRlICJ1cGNfcmVsYXhlZC5oIgojaW5jbHVkZSAidXBjX2NvbGxlY3RpdmUu aCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRp bWUuaD4KCnNoYXJlZCBbKl0gaW50IHZhbHVlW1RIUkVBRFNdOwpzaGFyZWQgWypdIHZvbGF0 aWxlIGludCBmaXJzdFtUSFJFQURTXSwgc2Vjb25kW1RIUkVBRFNdOwoKc3RhdGljIHRpbWVf dCBzdGFydDsKCnN0YXRpYyBkb3VibGUgZGVsYXkgKHZvaWQpIHsKICAgIHJldHVybiBkaWZm dGltZSh0aW1lKE5VTEwpLHN0YXJ0KTsKfQoKdHlwZWRlZiBzdHJ1Y3Qge2RvdWJsZSByZSwg aW07fSBjb21wbGV4OwoKaW50IGFsbW9uZCAoY29tcGxleCBwb3NpdGlvbikgewogICAgY29t cGxleCB2YWx1ZV8xLCB2YWx1ZV8yOwogICAgaW50IGk7CgogICAgdmFsdWVfMS5yZSA9IHZh bHVlXzEuaW0gPSAwLjA7CiAgICBmb3IgKGkgPSAwOyBpIDwgMTAwMCoxMDAwKjEwMDA7ICsr aSkgewogICAgICAgIHZhbHVlXzIucmUgPSB2YWx1ZV8xLnJlKnZhbHVlXzEucmUtdmFsdWVf MS5pbSp2YWx1ZV8xLmltK3Bvc2l0aW9uLnJlOwogICAgICAgIHZhbHVlXzIuaW0gPSAyLjAq dmFsdWVfMS5yZSp2YWx1ZV8xLmltK3Bvc2l0aW9uLmltOwogICAgICAgIHZhbHVlXzEucmUg PSB2YWx1ZV8yLnJlKnZhbHVlXzIucmUtdmFsdWVfMi5pbSp2YWx1ZV8yLmltK3Bvc2l0aW9u LnJlOwogICAgICAgIHZhbHVlXzEuaW0gPSAyLjAqdmFsdWVfMi5yZSp2YWx1ZV8yLmltK3Bv c2l0aW9uLmltOwogICAgICAgIGlmICh2YWx1ZV8xLnJlIDwgLTIuMCB8fCB2YWx1ZV8xLnJl ID4gMi4wIHx8CiAgICAgICAgICAgICAgICB2YWx1ZV8xLmltIDwgLTIuMCB8fCB2YWx1ZV8x LmltID4gMi4wKQogICAgICAgICAgICBicmVhazsKICAgIH0KICAgIHJldHVybiAodmFsdWVf MS5yZSp2YWx1ZV8xLnJlK3ZhbHVlXzEuaW0qdmFsdWVfMS5pbSA8PSA0LjApOwp9CgppbnQg bWFpbiAodm9pZCkgewogICAgY29tcGxleCBwb3NpdGlvbjsKICAgIGludCBpOwoKICAgIGlm IChUSFJFQURTICE9IDUpIHsKICAgICAgICBmcHJpbnRmKHN0ZGVyciwiVGhpcyBwcm9ncmFt IGV4cGVjdHMgJWQgdGhyZWFkc1xuIixUSFJFQURTKTsKICAgICAgICBleGl0KEVYSVRfRkFJ TFVSRSk7CiAgICB9CgogICAgdmFsdWVbTVlUSFJFQURdID0gaSsxOwogICAgZmlyc3RbTVlU SFJFQURdID0gMDsKICAgIHNlY29uZFtNWVRIUkVBRF0gPSAwOwogICAgdXBjX2JhcnJpZXI7 CiAgICBzdGFydCA9IHRpbWUoTlVMTCk7CgogICAgaWYgKE1ZVEhSRUFEID09IDApIHsKICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgMTA7ICsraSkgdmFsdWVbaV0gPSAxMCooaSsxKTsKICAg ICAgICB1cGNfZmVuY2U7CiAgICAgICAgZmlyc3RbNF0gPSAxOwogICAgICAgIHVwY19mZW5j ZTsKICAgICAgICBwcmludGYoIkxlYXZpbmcgdGhyZWFkIDAgYWZ0ZXIgJS4xZiBzZWNvbmRz XG4iLGRlbGF5KCkpOwogICAgfSBlbHNlIGlmIChNWVRIUkVBRCA9PSAxKSB7CiAgICAgICAg d2hpbGUgKDEpIHsKICAgICAgICAgICAgdXBjX2ZlbmNlOwogICAgICAgICAgICBpZiAoZmly c3RbNF0pIGJyZWFrOwogICAgICAgIH0KICAgICAgICBwcmludGYoIkVudGVyaW5nIHRocmVh ZCAxIGFmdGVyICUuMWYgc2Vjb25kc1xuIixkZWxheSgpKTsKICAgICAgICBwcmludGYoIiVk ICVkICVkICVkICVkXG4iLAogICAgICAgICAgICB2YWx1ZVswXSx2YWx1ZVsxXSx2YWx1ZVsy XSx2YWx1ZVszXSx2YWx1ZVs0XSk7CiAgICAgICAgdXBjX2ZlbmNlOwogICAgICAgIHNlY29u ZFszXSA9IDE7CiAgICAgICAgdXBjX2ZlbmNlOwogICAgICAgIHByaW50ZigiTGVhdmluZyB0 aHJlYWQgMSBhZnRlciAlLjFmIHNlY29uZHNcbiIsZGVsYXkoKSk7CiAgICB9IGVsc2UgaWYg KE1ZVEhSRUFEID09IDIpIHsKICAgICAgICBwb3NpdGlvbi5yZSA9IDAuMDsKICAgICAgICBw b3NpdGlvbi5pbSA9IDEuMDsKLyogVGhlc2UgYXJlIGVuYWJsZWQgZm9yIHRoZSAnYmlnJyB2 ZXJzaW9ucy4KICAgICAgICBhbG1vbmQocG9zaXRpb24pOyBhbG1vbmQocG9zaXRpb24pOyBh bG1vbmQocG9zaXRpb24pOwogICAgICAgIGFsbW9uZChwb3NpdGlvbik7IGFsbW9uZChwb3Np dGlvbik7IGFsbW9uZChwb3NpdGlvbik7CiAgICAgICAgYWxtb25kKHBvc2l0aW9uKTsgYWxt b25kKHBvc2l0aW9uKTsgYWxtb25kKHBvc2l0aW9uKTsKKi8KICAgICAgICBwcmludGYoIlJl c3VsdCA9ICVkXG4iLGFsbW9uZChwb3NpdGlvbikpOwogICAgICAgIHN5c3RlbSgicHMgLWZM bXUgbm1tMSIpOwogICAgIH0KICAgIHByaW50ZigiVGhyZWFkICVkIGZpbmlzaGVkIGFmdGVy ICUuMWYgc2Vjb25kc1xuIixNWVRIUkVBRCxkZWxheSgpKTsKICAgIHVwY19iYXJyaWVyOwog ICAgcHJpbnRmKCJUaHJlYWQgJWQgbGVhdmluZyBhZnRlciAlLjFmIHNlY29uZHNcbiIsTVlU SFJFQUQsZGVsYXkoKSk7CiAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwp9CgoKRy4yLiBSZXN1 bHRzIG9uIGEgc2hhcmVkIG1lbW9yeSBzeXN0ZW0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KCk5vdGUgdGhhdCB0aHJlYWQgMSBkb2VzIG5vdCB3YWl0IHVudGls IHRocmVhZCAyIGhhcyBmaW5pc2hlZCB0aGUKY29tcHV0YXRpb24gbG9vcCBiZWZvcmUgcmVh ZGluZyB0aGUgZGF0YSB0aGF0IHRocmVhZCAwIGhhcyBzdG9yZWQgaW4gdGhlCm1lbW9yeSBv ZiB0aHJlYWQgNC4KCgpwY3BoeHRyMTMkdXBjYyAtcHRocmVhZHMgLW8gU0MgU0MudXBjCnBj cGh4dHIxMyR1cGNydW4gLW4gNSBTQwpXQVJOSU5HOiBOb2RlIDAgcnVubmluZyBtb3JlIHRo cmVhZHMgKDUpIHRoYW4gdGhlcmUgYXJlIHBoeXNpY2FsIENQVSdzICgyKQogICAgICAgICBl bmFibGluZyAicG9saXRlIiwgbG93LXBlcmZvcm1hbmNlIHN5bmNocm9uaXphdGlvbiBhbGdv cml0aG1zClVQQ1I6IFVQQyB0aHJlYWRzIDAuLjQgb2YgNSBvbiBwY3BoeHRyMTMgKHByb2Nl c3MgMCBvZiAxLCBwaWQ9NjQ4NikKV0FSTklORzogQ29uZmxpY3RpbmcgZW52aXJvbm1lbnQg dmFsdWVzIGZvciBHQVNORVRfQ09MTF9HQVRIRVJfQUxMX0RJU1NFTV9MSU1JVCAoMTAyNCkg YW5kIEdBU05FVF9DT0xMX0dBVEhFUl9BTExfRElTU0VNX0xJTUlUX1BFUl9USFJFQUQgKDIw NCkKV0FSTklORzogVXNpbmc6IDIwNApXQVJOSU5HOiBDb25mbGljdGluZyBlbnZpcm9ubWVu dCB2YWx1ZXMgZm9yIEdBU05FVF9DT0xMX0VYQ0hBTkdFX0RJU1NFTV9MSU1JVCAoMTAyNCkg YW5kIEdBU05FVF9DT0xMX0VYQ0hBTkdFX0RJU1NFTV9MSU1JVF9QRVJfVEhSRUFEICg0MCkK V0FSTklORzogVXNpbmc6IDQwCkxlYXZpbmcgdGhyZWFkIDAgYWZ0ZXIgMC4wIHNlY29uZHMK VGhyZWFkIDAgZmluaXNoZWQgYWZ0ZXIgMC4wIHNlY29uZHMKVGhyZWFkIDQgZmluaXNoZWQg YWZ0ZXIgMC4wIHNlY29uZHMKRW50ZXJpbmcgdGhyZWFkIDEgYWZ0ZXIgMC4wIHNlY29uZHMK MTAgMjAgMzAgNDAgNTAKTGVhdmluZyB0aHJlYWQgMSBhZnRlciAwLjAgc2Vjb25kcwpUaHJl YWQgMSBmaW5pc2hlZCBhZnRlciAwLjAgc2Vjb25kcwpUaHJlYWQgMyBmaW5pc2hlZCBhZnRl ciAwLjAgc2Vjb25kcwpSZXN1bHQgPSAxClVJRCAgICAgICAgUElEICBQUElEICAgTFdQICBD IE5MV1AgU1RJTUUgVFRZICAgICAgICAgIFRJTUUgQ01ECjwgcHMgLWZMbSBvdXRwdXQgb21p dHRlZCAgZm9yIGJyZXZpdHkgPgpUaHJlYWQgMiBmaW5pc2hlZCBhZnRlciAxODYuMCBzZWNv bmRzClRocmVhZCAwIGxlYXZpbmcgYWZ0ZXIgMTg2LjAgc2Vjb25kcwpUaHJlYWQgNCBsZWF2 aW5nIGFmdGVyIDE4Ni4wIHNlY29uZHMKVGhyZWFkIDEgbGVhdmluZyBhZnRlciAxODYuMCBz ZWNvbmRzClRocmVhZCAzIGxlYXZpbmcgYWZ0ZXIgMTg2LjAgc2Vjb25kcwpUaHJlYWQgMiBs ZWF2aW5nIGFmdGVyIDE4Ni4wIHNlY29uZHMKPCBJdCB0aGVuIGh1bmcsIGJ1dCBraWxsYWJs eSA+CgoKRy4zLiBSZXN1bHRzIG9uIGEgZGlzdHJpYnV0ZWQgbWVtb3J5IHN5c3RlbSAoMSkK LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5vdGUg dGhhdCB0aHJlYWQgMSBub3cgd2FpdHMgdW50aWwgdGhyZWFkIDIgaGFzIGZpbmlzaGVkIHRo ZSBjb21wdXRhdGlvbgpsb29wIGJlZm9yZSByZWFkaW5nIHRoZSBkYXRhIHRoYXQgdGhyZWFk IDAgaGFzIHN0b3JlZCBpbiB0aGUgbWVtb3J5IG9mCnRocmVhZCA0LiAgVGhpcyBpcyB0aGUg J3NtYWxsJyB2ZXJzaW9uIC0gaS5lLiB3aXRoIG9uZSBjYWxsIG9mIGZ1bmN0aW9uCidhbG1v bmQnLgoKCnBjcGh4dHIxMyR1cGNjIC1vIFNDIFNDLnVwYwpwY3BoeHRyMTMkY2F0IHJ1aW4K IyEvYmluL3NoCnNldCAtZXUKZXhwb3J0IFBBVEg9JFBBVEg6L2hvbWUvbm1tMS9VUEMvYmlu CmV4cG9ydCBVUENfTk9ERVM9J3BjcGh4dHIwOCBwY3BoeHRyMDkgcGNwaHh0cjEwIHBjcGh4 dHIxMSBwY3BoeHRyMTInCnNldCAteAp0aW1lIHVwY3J1biAtbiA1IC1jIDEgU0MKcHBjcGh4 dHIxMyRydWluCisgdXBjcnVuIC1uIDUgLWMgMSBTQwpVUENSOiBVUEMgdGhyZWFkIDEgb2Yg NSBvbiBwY3BoeHRyMTEgKHByb2Nlc3MgMSBvZiA1LCBwaWQ9NTk0OSkKVVBDUjogVVBDIHRo cmVhZCAwIG9mIDUgb24gcGNwaHh0cjA4IChwcm9jZXNzIDAgb2YgNSwgcGlkPTU5MzMpClVQ Q1I6IFVQQyB0aHJlYWQgMiBvZiA1IG9uIHBjcGh4dHIxMiAocHJvY2VzcyAyIG9mIDUsIHBp ZD01OTQwKQpVUENSOiBVUEMgdGhyZWFkIDMgb2YgNSBvbiBwY3BoeHRyMDkgKHByb2Nlc3Mg MyBvZiA1LCBwaWQ9NTk4MCkKVVBDUjogVVBDIHRocmVhZCA0IG9mIDUgb24gcGNwaHh0cjEw IChwcm9jZXNzIDQgb2YgNSwgcGlkPTU5NDMpClVJRCAgICAgICAgUElEICBQUElEICAgTFdQ ICBDIE5MV1AgU1RJTUUgVFRZICAgICAgICAgIFRJTUUgQ01ECjwgcHMgLWZMbSBvdXRwdXQg b21pdHRlZCAgZm9yIGJyZXZpdHkgPgpMZWF2aW5nIHRocmVhZCAwIGFmdGVyIDE4LjAgc2Vj b25kcwpUaHJlYWQgMCBmaW5pc2hlZCBhZnRlciAxOC4wIHNlY29uZHMKVGhyZWFkIDAgbGVh dmluZyBhZnRlciAxOC4wIHNlY29uZHMKUmVzdWx0ID0gMQpUaHJlYWQgMiBmaW5pc2hlZCBh ZnRlciAxOC4wIHNlY29uZHMKVGhyZWFkIDIgbGVhdmluZyBhZnRlciAxOC4wIHNlY29uZHMK VGhyZWFkIDQgZmluaXNoZWQgYWZ0ZXIgMC4wIHNlY29uZHMKVGhyZWFkIDQgbGVhdmluZyBh ZnRlciAxOC4wIHNlY29uZHMKRW50ZXJpbmcgdGhyZWFkIDEgYWZ0ZXIgMTguMCBzZWNvbmRz CjEwIDIwIDMwIDQwIDUwCkxlYXZpbmcgdGhyZWFkIDEgYWZ0ZXIgMTguMCBzZWNvbmRzClRo cmVhZCAxIGZpbmlzaGVkIGFmdGVyIDE4LjAgc2Vjb25kcwpUaHJlYWQgMSBsZWF2aW5nIGFm dGVyIDE4LjAgc2Vjb25kcwpUaHJlYWQgMyBmaW5pc2hlZCBhZnRlciAwLjAgc2Vjb25kcwpU aHJlYWQgMyBsZWF2aW5nIGFmdGVyIDE4LjAgc2Vjb25kcwoKcmVhbCAgICAwbTIzLjQ1OHMK dXNlciAgICAwbTAuMDkycwpzeXMgICAgIDBtMC4xMjRzCgoKRy40LiBSZXN1bHRzIG9uIGEg ZGlzdHJpYnV0ZWQgbWVtb3J5IHN5c3RlbSAoMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClRoaXMgaXMgdGhlICdsYXJnZScgdmVyc2lvbiAt IGkuZS4gd2l0aCB0ZW4gY2FsbHMgb2YgZnVuY3Rpb24gJ2FsbW9uZCcuCgoKcGNwaHh0cjEz JHVwY2MgLW8gU0MgU0MudXBjCnBjcGh4dHIxMyRjYXQgcnVpbgojIS9iaW4vc2gKc2V0IC1l dQpleHBvcnQgUEFUSD0kUEFUSDovaG9tZS9ubW0xL1VQQy9iaW4KZXhwb3J0IFVQQ19OT0RF Uz0ncGNwaHh0cjA4IHBjcGh4dHIwOSBwY3BoeHRyMTAgcGNwaHh0cjExIHBjcGh4dHIxMicK c2V0IC14CnRpbWUgdXBjcnVuIC1uIDUgLWMgMSBTQwpwY3BoeHRyMTMkcnVpbgorIHVwY3J1 biAtbiA1IC1jIDEgU0MKVVBDUjogVVBDIHRocmVhZCA0IG9mIDUgb24gcGNwaHh0cjEyIChw cm9jZXNzIDQgb2YgNSwgcGlkPTU4MTQpClVQQ1I6IFVQQyB0aHJlYWQgMiBvZiA1IG9uIHBj cGh4dHIwOSAocHJvY2VzcyAyIG9mIDUsIHBpZD01ODYzKQpVUENSOiBVUEMgdGhyZWFkIDMg b2YgNSBvbiBwY3BoeHRyMDggKHByb2Nlc3MgMyBvZiA1LCBwaWQ9NTgxNCkKVVBDUjogVVBD IHRocmVhZCAwIG9mIDUgb24gcGNwaHh0cjEwIChwcm9jZXNzIDAgb2YgNSwgcGlkPTU4MjMp ClVQQ1I6IFVQQyB0aHJlYWQgMSBvZiA1IG9uIHBjcGh4dHIxMSAocHJvY2VzcyAxIG9mIDUs IHBpZD01ODI5KQoqKiogRkFUQUwgRVJST1I6IEFuIGFjdGl2ZSBtZXNzYWdlIHdhcyByZXR1 cm5lZCB0byBzZW5kZXIsCiAgICBhbmQgdHJhcHBlZCBieSB0aGUgZGVmYXVsdCByZXR1cm5l ZCBtZXNzYWdlIGhhbmRsZXIgKGhhbmRsZXIgMCk6CkVycm9yIENvZGU6IEVDT05HRVNUSU9O OiBDb25nZXN0aW9uIGF0IGRlc3RpbmF0aW9uIGVuZHBvaW50ICAgICAgICAgICAgICAgIApN ZXNzYWdlIHR5cGU6IEFNX1JFUVVFU1RfSU0KRGVzdGluYXRpb246ICgxMjguMjMyLjI1My4x Mzk6MzI3NzcpICgyKQpIYW5kbGVyOiA3MQpUYWc6IDB4ODBlOGZkOGYwMDAyMTcxMQpBcmd1 bWVudHMoMik6IDB4YjdjNTcwMDAgIDB4MDgwZWVlNzAgIApBYm9ydGluZy4uLgoqKiogQ2F1 Z2h0IGEgZmF0YWwgc2lnbmFsOiBTSUdBQlJUKDYpIG9uIG5vZGUgMC81Ck5PVElDRTogQmVm b3JlIHJlcG9ydGluZyBidWdzLCBydW4gd2l0aCBHQVNORVRfQkFDS1RSQUNFPTEgaW4gdGhl IGVudmlyb25tZW50IHRvIGdlbmVyYXRlIGEgYmFja3RyYWNlLiAKYmFzaDogbGluZSAxOiAg NTgyMyBBYm9ydGVkICAgICAgICAgICAgICAgICAnLi9TQycgJ19fQU1VRFBfU0xBVkVfUFJP Q0VTU19fJyAncGNwaHh0cjEzOjQ2MDMwJwpwY3BoeHRyMTMkYmFzaDogbGluZSAxOiAgNTc1 NyBBYm9ydGVkICAgICAgICAgICAgICAgICAnLi9TQycgJ19fQU1VRFBfU0xBVkVfUFJPQ0VT U19fJyAncGNwaHh0cjEzOjM0ODU0JwpiYXNoOiBsaW5lIDE6ICA1Nzg4IEFib3J0ZWQgICAg ICAgICAgICAgICAgICcuL1NDJyAnX19BTVVEUF9TTEFWRV9QUk9DRVNTX18nICdwY3BoeHRy MTM6NTY0ODUnCmJhc2g6IGxpbmUgMTogIDU4NjMgQWJvcnRlZCAgICAgICAgICAgICAgICAg Jy4vU0MnICdfX0FNVURQX1NMQVZFX1BST0NFU1NfXycgJ3BjcGh4dHIxMzo0NjAzMCcKCgoK SC4gUmVmZXJlbmNlcwotLS0tLS0tLS0tLS0tCgpQT1NJWCAoSUVFRSBTdGQgMTAwMy4xLCAy MDA0KToKICAgIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9ib29rc3RvcmUvY2F0YWxvZy9j MDQ2Lmh0bQogICAgaHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL2Jvb2tzdG9yZS9jYXRhbG9n L2MwNDcuaHRtCgpNUEktMiAoTWVzc2FnZSBQYXNzaW5nIEludGVyZmFjZSk6CiAgICBodHRw Oi8vd3d3Lm1waS1mb3J1bS5vcmcvZG9jcy9kb2NzLmh0bWwKCkluZmluaUJhbmQ6CiAgICBo dHRwOi8vd3d3LmluZmluaWJhbmR0YS5vcmcvc3BlY3MvCiAgICBodHRwOi8vd3d3Lm9wZW5m YWJyaWNzLm9yZy8KCkNyYXkgU0hNRU06CiAgICBodHRwOi8vZG9jcy5jcmF5LmNvbS9ib29r cy9TLTIzODMtMjMvUy0yMzgzLTIzLW1hbnVhbC5wZGYKClVQQyBhbmQgR0FTTmV0OgogICAg aHR0cDovL3VwYy5sYmwuZ292LwogICAgaHR0cDovL2dhc25ldC5jcy5iZXJrZWxleS5lZHUv CgpSRE1BIENvbnNvcnRpdW06CiAgICBodHRwOi8vd3d3LnJkbWFjb25zb3J0aXVtLm9yZy9o b21lCgpNeXJpbmV0OgogICAgaHR0cDovL3d3dy5teXJpbmV0LmNvbS9zY3MvZG9jdW1lbnRh dGlvbi5odG1sCgpRdWFkcmljczoKICAgIGh0dHA6Ly93d3cucXVhZHJpY3MuY29tL3F1YWRy aWNzL1F1YWRyaWNzSG9tZS5uc2YvRGlzcGxheVBhZ2VzL0hvbWVwYWdlCg== --------------030808050809040107000205 Content-Type: application/unknown; name="N1755.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="N1755.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08vSUVDIEpU QzEvU0MyMi9XRzUgTjE3NTUKCiAgICAgICAgICAgICAgICBSZXF1ZXN0IGZvciBuZXcgZmVh dHVyZXMgZnJvbSBNUEkgRm9ydW0KCiAgICAgICAgICAgICAgICAgICAgICAgICBDcmFpZyBS YXNtdXNzZW4gICAgIAoKUmVmZXJlbmNlczogMDgtMTg1cjEsIDA4LTI1NQoKVGhlIE1QSSBG b3J1bSBoYXMgYmVlbiByZXN0YXJ0ZWQgaW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBNZXNzYWdl IFBhc3NpbmcKSW50ZXJmYWNlIChNUEkpIHN0YW5kYXJkLiAgQXMgcGFydCBvZiB0aGlzIHN0 YW5kYXJkaXphdGlvbiBlZmZvcnQsIGEgbmV3CkZvcnRyYW4gYmluZGluZyB3aWxsIGJlIGNy ZWF0ZWQgZm9yIHZlcnNpb24gMy4wIG9mIHRoZSBNUEkgc3RhbmRhcmQuICBUaGUKTVBJIEZv cnVtIGhhcyByZXF1ZXN0ZWQgdGhhdCBKMyBjb25zaWRlciBtb2RpZnlpbmcgdGhlIEZvcnRy YW4gc3RhbmRhcmQKKG9yIHByb3ZpZGUgZ3VpZGFuY2UpIHRvIGFjY29tcGxpc2ggdGhlIGZv bGxvd2luZzoKCiAgMS4gQSBtZWNoYW5pc20gdG8gc3VwcHJlc3MgY29weS1pbi9jb3B5LW91 dCBzZW1hbnRpY3MgZm9yIE1QSQogICAgIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLgoKICAy LiBTdXBwcmVzcyBhcmd1bWVudCBjaGVja2luZyBmb3IgTVBJIGNob2ljZSBidWZmZXJzIChD IHZvaWQgKiBmb3JtYWwKICAgICBwYXJhbWV0ZXJzKS4KCkEgc2VyaWVzIG9mIHN0cmF3IHZv dGVzIHdlcmUgdGFrZW4gYXQgSjMgbWVldGluZyAxODQgdG8gZGV0ZXJtaW5lIGhvdyB0bwph ZGRyZXNzIHRoZSByZXF1ZXN0IGZyb20gdGhlIE1QSSBGb3J1bS4gIFRoZSByZXN1bHRzIHdl cmU6CgogIDEuIFRoZSBWT0xBVElMRSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGdpdmVuIHRvIGJv dGggdGhlIGFjdHVhbCBhbmQgZHVtbXkKICAgICBhcmd1bWVudHMgdG8gc3VwcHJlc3MgY29w eS1pbi9jb3B5LW91dC4KCiAgMi4gSjMgdm90ZWQgdG8gY29uc2lkZXIgdGhyZWUgZGlmZmVy ZW50IGNhbmRpZGF0ZXMgZm9yIHN1cHByZXNzaW5nCiAgICAgYXJndW1lbnQgY2hlY2tpbmcg b2YgQyB2b2lkICogZm9ybWFsIHBhcmFtZXRlcnMuICBUaGUgcmVzdWx0cyBvZiB0aGUKICAg ICB2b3RlIHdlcmUgbWl4ZWQuICBBdCBhIGxhdGVyIGRhdGUsIHRoZSBIUEMgc3ViZ3JvdXAg ZGVjaWRlZCBvbiBvbmUKICAgICBvZiB0aGUgb3B0aW9uczoKCiAgICAgICBhLiBDcmVhdGUg bmV3IHN5bnRheCwgVFlQRSgqKSBhbmQgRElNRU5TSU9OKDopLCB0byBhbGxvdyBhbnkgdHlw ZSwKICAgICAgICAgIGtpbmQsIGFuZCByYW5rIG9mIGFjdHVhbCBhcmd1bWVudC4gIEEgVFlQ RSgqKSBkdW1teSBjYW4gYmUKICAgICAgICAgIGFyZ3VtZW50IGFzc29jaWF0ZWQgd2l0aCBh bnkgdHlwZSBhbmQga2luZCBvZiBhY3R1YWwgYXJndW1lbnQuCiAgICAgICAgICBBIGR1bW15 IGFyZ3VtZW50IHdpdGggdGhlIERJTUVOU0lPTig6KSBhdHRyaWJ1dGUgY2FuIGJlIGFyZ3Vt ZW50CiAgICAgICAgICBhc3NvY2lhdGVkIHdpdGggYW55IHJhbmsgYWN0dWFsIGFyZ3VtZW50 LCBpbmNsdWRpbmcgYSBzY2FsYXIuCgpXRzUgaXMgYXNrZWQgdG8gY29uc2lkZXIgVFlQRSgq KSBhbmQgRElNRU5TSU9OKDopIGFzIGEgd29yayBpdGVtIGZvciB0aGUgQwpJbnRlcm9wIFRS LgoKUmVnYXJkaW5nIHN0cmF3IHZvdGUgMTogCgpBIHByb2JsZW0gd2l0aCB1c2luZyBWT0xB VElMRSBhdHRyaWJ1dGUgaXMgdGhhdCBpdApjYW4gaGF2ZSBwZXJmb3JtYW5jZSBpbXBsaWNh dGlvbnMuICBUaGVyZWZvcmUgQWxla3NhbmRhciBEb25ldiBpbiBwYXBlcgowOC0yNTUgcHJv cG9zZWQgdGhlIGZvbGxvd2luZzoKCldlIHNob3VsZCBleHBsaWNpdGx5IGFsbG93IGEgdmFy aWFibGUgd2l0aCB0aGUgQVNZTkNIUk9OT1VTIGF0dHJpYnV0ZSB0byBiZQptb2RpZmllZCBv ciBleGFtaW5lZCBieSBtZWFucyBleHRlcm5hbCB0byB0aGUgcHJvY2Vzc29yLCBzaW1pbGFy bHkgdG8KVk9MQVRJTEUgdmFyaWFibGVzLiBJZiBzdWNoIGEgdmFyaWFibGUgaXMgbW9kaWZp ZWQgb3IgZXhhbWluZWQgZXh0ZXJuYWxseQpkdXJpbmcgYSBzZWdtZW50LCB0aGF0IHZhcmlh YmxlIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgb3IgZGVmaW5lIGR1cmluZwp0aGF0IHNlZ21l bnQuCgpUaGlzIHNpbXBsZSBtb2RpZmljYXRpb24gc29sdmVzIGFuIGV4aXN0aW5nIHByb2Js ZW0gd2l0aCBNUEkgbm9uLWJsb2NraW5nCnRyYW5zZmVyLCBuYW1lbHksIHRoZSBuZWVkIHRv IHByZXZlbnQgbW92ZW1lbnQgb2YgY29kZSBhY3Jvc3MgY2FsbHMgdG8KTVBJX1dhaXQuIFRo ZSBwcm9ncmFtbWVyIGNhbiB1c2UgU1lOQyBNRU1PUlkgdG8gaW5kaWNhdGUgdG8gdGhlIGNv bXBpbGVyCnRoYXQgQVNZTkNIUk9OT1VTIHZhcmlhYmxlcyBtYXkgYmUgYWZmZWN0ZWQgYW5k IHRoZXJlZm9yZSBvbGQgY29waWVzIGluCnJlZ2lzdGVycyBzaG91bGQgYmUgZGlzY2FyZGVk IGFuZCBuZXcgdmFsdWVzIHdyaXR0ZW4gdG8gbWVtb3J5LiBUaGlzIGlzCmV4YWN0bHkgYXMg Zm9yIGNvYXJyYXlzIGFuZCBUQVJHRVRzICh3aGljaCBtYXkgYmUgbW9kaWZpZWQgYnkgb3Ro ZXIgaW1hZ2VzKQphbmQgYWxzbyBqdXN0IGxpa2UgU1lOQyBNRU1PUlkgbmVlZHMgdG8gYmUg cHV0IGFyb3VuZCBleHRlcm5hbApzeW5jaHJvbml6YXRpb24gcm91dGluZXMgc3VjaCBhcyBN UElfQmFycmllciAoc2VlIE5vdGUgOC4zOSkuCgpUaGlzIGlkZWEgd2FzIHN1YnNlcXVlbnRs eSB0YWJsZWQgaW4gc3ViZ3JvdXAgYXMgYmVpbmcgdG9vIHN1YnN0YW50aWFsIGEKY2hhbmdl IGZvciB0aGUgMjAwOCBzdGFuZGFyZC4KCgpNUEkgMy4wIEludGVyZmFjZQotLS0tLS0tLS0t LS0tLS0tLQoKQW4gZXhhbXBsZSBvZiBhIHBvc3NpYmxlIGludGVyZmFjZSBmb3IgTVBJIDMu MCBpcyBzaG93biBiZWxvdyBmb3IgdGhlCmFzeW5jaHJvbm91cyByZWN2IGZ1bmN0aW9uOgoK aW50ZXJmYWNlCiAgIHN1YnJvdXRpbmUgTVBJX0lyZWN2KGJ1ZiwgY291bnQsIGRhdGF0eXBl LCBzb3VyY2UsIHRhZywgY29tbSwgcmVxdWVzdCwgZXJyKQogICAgICBpbXBvcnQgOjogTVBJ X0NvbW0sIE1QSV9EYXRhdHlwZSwgTVBJX1JlcXVlc3QKICAgICAgVFlQRSgqKSwgRElNRU5T SU9OKCopLCBWT0xBVElMRSwgaW50ZW50KGlub3V0KSA6OiBidWYKICAgICAgaW50ZWdlciwg aW50ZW50KGluKSAgICAgICAgICAgICAgIDo6IGNvdW50CiAgICAgIHR5cGUoTVBJX0RhdGF0 eXBlKSwgaW50ZW50KGluKSAgICA6OiBkYXRhdHlwZQogICAgICBpbnRlZ2VyLCBpbnRlbnQo aW4pICAgICAgICAgICAgICAgOjogc291cmNlCiAgICAgIGludGVnZXIsIGludGVudChpbikg ICAgICAgICAgICAgICA6OiB0YWcKICAgICAgdHlwZShNUElfQ29tbSksIGludGVudChpbikg ICAgICAgIDo6IGNvbW0KICAgICAgdHlwZShNUElfUmVxdWVzdCksIGludGVudChvdXQpICAg IDo6IHJlcXVlc3QKICAgICAgaW50ZWdlciwgb3B0aW9uYWwsIGludGVudChvdXQpICAgIDo6 IGVycgogICBlbmQgc3Vicm91dGluZSBNUElfSXJlY3YKZW5kIGludGVyZmFjZQoK --------------030808050809040107000205 Content-Type: application/unknown; name="N1748.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="N1748.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08vSUVDIEpU QzEvU0MyMi9XRzUtTjE3NDgKCiAgICAgICAgICAgICAgICBDbGFyaWZpY2F0aW9ucyBvZiBD b2FycmF5IE1lbW9yeSBNb2RlbAogICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgICAgICAgICAgICAgTmljayBNYWNsYXJlbiBh bmQgQWxla3NhbmRhciBEb25ldgoKVGhpcyBwYXBlciBhcmlzZXMgb3V0IG9mIEVtYWlsIGRp c2N1c3Npb25zLCBlc3BlY2lhbGx5IGJldHdlZW4gdGhlCmF1dGhvcnMsIGFuZCBjb3ZlcnMg YWxsIG9mIHRoZSBwb2ludHMgdGhhdCBoYXZlIGJlZW4gYXQgaXNzdWUgb3ZlciB0aGUKYmFz aWMgc2VnbWVudCBtb2RlbC4gIEl0IGFkZHJlc3NlcyBleGFjdGx5IHRoZSBzYW1lIGlzc3Vl cyBhcyBOMTc0NCwgYnV0CmF0dGVtcHRzIHRvIHByb3ZpZGUgYWx0ZXJuYXRpdmUgKGFuZCBw b3NzaWJseSBtb3JlIGFjY2VwdGFibGUpIHdvcmRpbmcuCgpJdCBhc3N1bWVzIHRoYXQgVk9M QVRJTEUgY29hcnJheXMgYXJlIGV4Y2x1ZGVkLgoKClByb3Bvc2VkIGNoYW5nZXMKLS0tLS0t LS0tLS0tLS0tLQoKMSkgVGhlcmUgc2hvdWxkIGJlIG5ldyBOT1RFIGluIDIuNC41LCBmb2xs b3dpbmcgcGFyYWdyYXBoIDMsIGFsb25nIHRoZQpmb2xsb3dpbmcgbGluZXM6CgogICAgIk5P VEUgMi4xMSsKICAgIFRoZSBhYm92ZSBydWxlcywgdGFrZW4gdG9nZXRoZXIsIGRlZmluZSB3 aGF0IG1lYW50IGJ5ICdhIHNlcXVlbmNlLAogICAgaW4gdGltZScgKDIuNC4xKS4gIEFsbCB0 aGF0IGEgY29uZm9ybWluZyBwcm9ncmFtIG1heSBhc3N1bWUgaXMgdGhhdAogICAgYWN0aW9u cyB0YWtlIHBsYWNlIGluIHRoZSBzdGF0ZW1lbnQgdGhhdCBwZXJmb3JtcyB0aGVtIChleGNl cHQgd2hlbgogICAgZXhwbGljaXRseSBzdGF0ZWQgb3RoZXJ3aXNlKSwgZXhlY3V0ZWQgc3Rh dGVtZW50cyBhcmUgdG90YWxseSBvcmRlcmVkCiAgICB3aXRoaW4gYSBzZWdtZW50LCB0aGUg c2VnbWVudHMgZXhlY3V0ZWQgYnkgYSBzaW5nbGUgaW1hZ2UgYXJlIHRvdGFsbHkKICAgIG9y ZGVyZWQsIGFuZCB0aGUgc2VnbWVudHMgZXhlY3V0ZWQgYnkgc2VwYXJhdGUgaW1hZ2VzIGFy ZSBwYXJ0aWFsbHkKICAgIG9yZGVyZWQgYnkgaW1hZ2UgY29udHJvbCBzdGF0ZW1lbnRzICg4 LjUuMSkuIgoKVGhpcyBpcyBub3QgdGhlIGhhcHBpZXN0IHdheSBvZiBzYXlpbmcgdGhpcywg YnV0IHRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlCmV4aXN0aW5nIHdvcmRpbmcgaXMgdmVyeSBz ZXJpYWwsIGFuZCB1c2VzIHRlcm1zIGxpa2UgImEgc2VxdWVuY2UsIGluCnRpbWUiLiAgU2Vy aWFsIHRpbWUgaXMgYSB3ZWxsLWRlZmluZWQgY29uY2VwdCwgYnV0IHBhcmFsbGVsIHRpbWUg aXMgbm90LgoKSXQgaXMgbmVjZXNzYXJ5IHRvIG1lbnRpb24gdGhhdCBhY3Rpb25zIHRha2Ug cGxhY2UgbG9naWNhbGx5IHdpdGhpbiBhCnN0YXRlbWVudCwgYXMgbWFueSBlc3RhYmxpc2hl ZCBwYXJhbGxlbCBtb2RlbHMgZGlmZmVyIC0gYXMgZG9lcyBGb3J0cmFuCmFzeW5jaHJvbm91 cyBJL08uICBGb3J0cmFuJ3MgYWJzdHJhY3QgbW9kZWwgbWF5IGJlIHRoZSBvcmlnaW5hbCBi dXQsCnJlZ3JldHRhYmx5LCBtb3N0IG1vZGVybiBjb21wdXRlciBzY2llbnRpc3RzIHNwZWFr IGEgZGlmZmVyZW50IGxhbmd1YWdlLAphbmQgdGhhdCBpcyB3aGF0IG1vc3QgaW1wbGVtZW5v cnMgYW5kIHByb2dyYW1tZXJzIHdpbGwgaGF2ZSBiZWVuIHRhdWdodC4KCgoyKSBUaGVyZSBz aG91bGQgYmUgYSBuZXcgTk9URSBpbiAyLjUuNywgYWxvbmcgdGhlIGZvbGxvd2luZyBsaW5l czoKCiAgICAiTk9URSAyLjE4KwogICAgQWNjZXNzaW5nIGEgY29hcnJheSBvbiBpdHMgb3du IGltYWdlIGJ5IHVzaW5nIGEgc2V0IG9mIGNvc3Vic2NyaXB0cwogICAgdGhhdCBtYXAgdG8g dGhhdCBpbWFnZSBoYXMgZXhhY3RseSB0aGUgc2FtZSBlZmZlY3QgYXMgYWNjZXNzaW5nIGl0 CiAgICB3aXRob3V0IGNvc3Vic2NyaXB0cy4gIEluIHBhcnRpY3VsYXIsIHRoZSBzZWdtZW50 IG9yZGVyaW5nIHJ1bGVzCiAgICAoOC41LjEpIGFwcGx5IHdoZXRoZXIgb3Igbm90IGl0IHVz ZXMgY29zdWJzY3JpcHRzIHRvIGFjY2VzcyB0aGUKICAgIGNvYXJyYXkuIgoKTXVsdGlwbGUg ZXhwZXJpZW5jZWQgcmVhZGVycyBoYXZlIGFscmVhZHkgaGFkIGRpZmZpY3VsdHkgd2l0aCB0 aGUKY3VycmVudCB3b3JkaW5nIChzZWUgSjMvMDgtMTI2IC0gdGhlIGZpcnN0IGF1dGhvciBo YWQgdGhlIHNhbWUgcHJvYmxlbSksCmFuZCB0aGlzIGNsYXJpZmllcyB0aGUgaW50ZW50LgoK CjMpIDguNS4xIHBhcmFncmFwaCA1IHNob3VsZCBiZSBjaGFuZ2VkIHRvIHN0YXJ0OgoKICAg ICJCeSBleGVjdXRpb24gb2YgaW1hZ2UgY29udHJvbCBzdGF0ZW1lbnRzLCBvcHRpb25hbGx5 IGNvbWJpbmVkCiAgICB3aXRoIHVzZXItZGVmaW5lZCBvcmRlcmluZyAoOC41LjQpLCAuLi4i CgpDdXJyZW50bHksIHRoZSBub3JtYXRpdmUgdGV4dCBpcyBzbGlnaHRseSBjb250cmFkaWN0 b3J5IG92ZXIgd2hldGhlciBhClNZTkMgSU1BR0VTIHN0YXRlbWVudCBjYW4gYmUgdXNlZCBp bnN0ZWFkIG9mIGEgU1lOQyBNRU1PUlkgb25lIGZvcgp1c2VyLWRlZmluZWQgb3JkZXJpbmcg d2l0aCBhbm90aGVyIGltYWdlIHRoYXQgaXMgbm90IGluIHRoZSBTWU5DIElNQUdFUwpzZXQ7 IGN1cnJlbnRseSwgOC41LjEgcGFyYWdyYXBoIDUgYW5kIDguNS40IHBhcmFncmFwaCAxIGlt cGx5IHRoYXQgaXQKY2Fubm90IGJlLCBhbmQgOC41LjQgcGFyYWdyYXBoIDIgaW1wbGllcyB0 aGF0IGl0IGNhbiBiZS4gIFRoaXMKZXhwbGljaXRseSBwZXJtaXRzIGNvZGUgbGlrZSB0aGUg Zm9sbG93aW5nOgoKSW1hZ2UgMTogICAgISBzZWdtZW50IFAKICAgICAgICAgICAgU1lOQyBJ TUFHRVMgKCAoLyAyIC8pICkKICAgICAgICAgICAgQ0FMTCBVTkxPQ0soIndoYXRldmVyIikK CkltYWdlIDk6ICAgIENBTEwgTE9DSygid2hhdGV2ZXIiKQogICAgICAgICAgICBTWU5DIE1F TU9SWQogICAgICAgICAgICAhIHNlZ21lbnQgUQoKVGhlIFNZTkMgSU1BR0VTIGhhcyB0aGUg c2FtZSBlZmZlY3QgYXMgYSBTWU5DIE1FTU9SWSBpbiBlbnN1cmluZyB0aGF0CnNlZ21lbnQg UCBwcmVjZWRlcyBzZWdtZW50IFEuCgoKNCkgVGhlcmUgc2hvdWxkIGJlIHR3byBuZXcgOC41 LjQgcGFyYWdyYXBocywgMyBhbmQgNCwgYWxvbmcgdGhlCmZvbGxvd2luZyBsaW5lczoKCiAg ICAiVXNlci1kZWZpbmVkIG9yZGVyaW5nIG9mIHNlZ21lbnQgUGkgb24gaW1hZ2UgUCB0byBw cmVjZWRlIHNlZ21lbnQKICAgIFFqIG9uIGltYWdlIFEgdGFrZXMgdGhlIGZvbGxvd2luZyBm b3JtOgogICAgICAgIEltYWdlIFAgZXhlY3V0ZXMgYW4gaW1hZ2UgY29udHJvbCBzdGF0ZW1l bnQgd2hpY2ggZW5kcyBzZWdtZW50CiAgICBQaSwgYW5kIHRoZW4gZXhlY3V0ZXMgYSBzdGF0 ZW1lbnQgdGhhdCBwZXJmb3JtcyBhIHN5bmNocm9uaXNhdGlvbgogICAgWmlqIGJldHdlZW4g aW1hZ2VzIFAgYW5kIFEuCiAgICAgICAgSW1hZ2UgUSBleGVjdXRlcyBhIHN0YXRlbWVudCB0 aGF0IHBlcmZvcm1zIHRoZSBzYW1lCiAgICBzeW5jaHJvbmlzYXRpb24gWmlqLCBhbmQgdGhl biBleGVjdXRlcyBhbiBpbWFnZSBjb250cm9sIHN0YXRlbWVudAogICAgd2hpY2ggc3RhcnRz IHNlZ21lbnQgUWouCgogICAgVGhlIG1lY2hhbmlzbXMgdGhhdCBtYXkgYmUgdXNlZCBmb3Ig c3luY2hyb25pc2F0aW9uIGFyZSBwcm9jZXNzb3IKICAgIGRlcGVuZGVudC4iCgpUaGlzIHNw ZWNpZmllcyBwcmVjaXNlbHkgd2hhdCB1c2VyLWRlZmluZWQgb3JkZXJpbmcgbWVhbnMgaW4g dGVybXMgb2YKc3RhdGVtZW50cywgYW5kIHRoYXQgdGhlIHN1cHBvcnRlZCBtZWNoYW5pc21z IGZvciB0aGUgbGF0dGVyIGFyZQpwcm9jZXNzb3IgZGVwZW5kZW50LiAgQmVjYXVzZSB0aGVy ZSBhcmUgc2V2ZXJhbCByZWFzb25hYmxlCmludGVycHJldGF0aW9ucyBjb21wYXRpYmxlIHdp dGggdGhlIGN1cnJlbnQgd29yZHMsIHRoaXMgbmVlZHMgdG8gYmUKbm9ybWF0aXZlLgoKCjUp IFRoZXJlIHNob3VsZCBiZSBhIG5ldyBOT1RFIGluIDguNS40LCBhbG9uZyB0aGUgZm9sbG93 aW5nIGxpbmVzOgoKICAgICJOT1RFIDguMzcrCiAgICBBIHByb2Nlc3NvciBzaG91bGQgaW5j bHVkZSBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIGFzIHBvdGVudGlhbAogICAgdXNlci1kZWZp bmVkIG9yZGVyaW5nIG1lY2hhbmlzbXM6CiAgICAgICAgQ2xvc2luZyBhIHVuaXQgY29ubmVj dGVkIHRvIGFuIGV4dGVybmFsIGZpbGUsIGZvbGxvd2VkIGJ5CiAgICBvcGVuaW5nIGEgdW5p dCBjb25uZWN0ZWQgdG8gYW4gZXh0ZXJuYWwgZmlsZS4KICAgICAgICBXcml0aW5nIHRvIGEg dW5pdCBjb25uZWN0ZWQgdG8gYW4gZXh0ZXJuYWwgZmlsZSwgZm9sbG93ZWQgYnkKICAgIGV4 ZWN1dGluZyB0aGUgRkxVU0ggc3RhdGVtZW50IGZvciBpdCwgZm9sbG93ZWQgYnkgcmVhZGlu ZyBmcm9tIGEKICAgIHVuaXQgY29ubmVjdGVkIHRvIGFuIGV4dGVybmFsIGZpbGUuCiAgICAg ICAgVHdvIGNhbGxzIHRvIGltcHVyZSBzdWJyb3V0aW5lcyB0aGF0IGFyZSBwcm92aWRlZCBi eSBhIGNvbXBhbmlvbgogICAgcHJvY2Vzc29yLiIKClRoaXMgY2xhcmlmaWVzIHRoYXQgYW4g aW1wbGVtZW50b3Igc2hvdWxkIGF0dGVtcHQgdG8gc3VwcG9ydCBhdCBsZWFzdAp0aGUgbWVj aGFuaXNtcyBtb3N0IHdpZGVseSB1c2VkIGJ5IGN1cnJlbnQgcGFyYWxsZWwgY29kZXMuICBB cyBOMTc0NAptZW50aW9ucywgdGhlcmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgbGFzdCBpbiBh IE5PVEUuCgoKNikgV2hpbGUgZGlzY3Vzc2luZyBwYXBlciBOMTc0NCB2aWEgRW1haWwsIHRo ZSBmaXJzdCBhdXRob3IgcmVhbGlzZWQKdGhhdCBoZSBoYWQgbWFkZSBhIG1pc3Rha2UgaW4g aW5jbHVkaW5nIHRoZSBpc3N1ZSBvZiAncHJvZ3Jlc3MnIHRvZ2V0aGVyCndpdGggdXNlci1k ZWZpbmVkIG9yZGVyaW5nLiAgV2hpbGUgdGhlIGNvbWJpbmF0aW9uIGlzIGJ5IGZhciB0aGUg bW9zdApsaWtlbHkgdG8gY2F1c2UgZGVhZGxvY2sgaW4gcHJhY3RpY2UsIGFuZCBpcyByZXNv bHZlZCBieSBwcm9wb3NhbCAoNCkKYWJvdmUsIHRoZSBpc3N1ZSBjYW4gYXJpc2UgZXZlbiB3 aXRoIFNZTkMgSU1BR0VTLgoKVGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgaW1hZ2VzIFAgYW5k IFEgY2FuIGNvbW11bmljYXRlIHRocm91Z2ggYSBjb2FycmF5Cm9uIGltYWdlIFIsIGlycmVz cGVjdGl2ZSBvZiB3aGF0IFIgaXMgZG9pbmcgYXQgdGhlIHRpbWUuICBUaGlzIGlzCmV4dHJl bWVseSBoYXJkIHRvIGltcGxlbWVudCBvbiBzb21lIHN5c3RlbXMsIGF0IGxlYXN0IHdoZW4g UiBpcyBpbiBhCmNhbGwgdG8gYSBjb21wYW5pb24gcHJvY2Vzc29yLCBwZXJmb3JtaW5nIEkv TyBvciBpbiBhIGxvbmctcnVubmluZwoncHVyZScgQ1BVIGxvb3AuICBPZiB0aGUgd2lkZXNw cmVhZCBwYXJhbGxlbCBpbnRlcmZhY2VzLCBvbmx5IE1QSSBoYXMKc3BlY2lmaWVkIGV4YWN0 bHkgd2hlbiBwcm9ncmVzcyBpcyByZXF1aXJlZCBpbiBub3JtYXRpdmUgdGV4dC4KCkZvciBl eGFtcGxlOgoKICAgICAgICBQUk9HUkFNIFByb2dyZXNzCiAgICAgICAgICAgIElOVEVHRVIg Ojogb25lWypdID0gMAogICAgICAgICAgICBTRUxFQ1QgQ0FTRSAoVEhJU19JTUFHRSgpKQog ICAgICAgIENBU0UoMSkKICAgICAgICAgICAgICAgIG9uZVs5XSA9IDEyMytvbmVbOF0KICAg ICAgICAgICAgICAgIFNZTkMgSU1BR0VTICggKC8gMiAvKSApCiAgICAgICAgQ0FTRSgyKQog ICAgICAgICAgICAgICAgU1lOQyBJTUFHRVMgKCAoLyAxIC8pICkKICAgICAgICAgICAgICAg IFBSSU5UICosIG9uZVs5XQogICAgICAgIENBU0UoOCkKICAgICAgICAgICAgICAgIG9uZVsy XSA9IDQ1NitvbmVbMV0KICAgICAgICAgICAgICAgIFNZTkMgSU1BR0VTICggKC8gOSAvKSAp CiAgICAgICAgQ0FTRSg5KQogICAgICAgICAgICAgICAgU1lOQyBJTUFHRVMgKCAoLyA4IC8p ICkKICAgICAgICAgICAgICAgIFBSSU5UICosIG9uZVsxXQogICAgICAgICAgICBFTkQgU0VM RUNUCiAgICAgICAgRU5EIFBST0dSQU0gUHJvZ3Jlc3MKIApDb25zaWRlciBhIHByb2Nlc3Nv ciB3aGVyZSBhbiBpbWFnZSBzZXJ2aWNlcyByZXF1ZXN0cyBmb3IgY29hcnJheSBkYXRhCnRo YXQgaXQgb3ducyBvbmx5IHdoZW4gaXQgcmVhY2hlcyBhbiBpbWFnZSBjb250cm9sIHN0YXRl bWVudDsgdGhpcyBpcwpjb21tb24gZm9yIE1QSSwgYW5kIGlzIGFsc28gZG9uZSBieSB0aGUg cmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIFVQQy4KVGhlIGFib3ZlIHByb2dyYW0gd2ls bCBkZWFkbG9jaywgYmVjYXVzZSBpbWFnZSAxIHdpbGwgbm90IHJlYWNoIGl0cyBTWU5DCklN QUdFUyB1bnRpbCBhZnRlciBpbWFnZXMgOCBhbmQgOSBoYXZlIHJlc3BvbmRlZCwgYW5kIGlt YWdlIDggd2lsbCBub3QKcmVhY2ggaXRzIFNZTkMgSU1BR0VTIHVudGlsIGFmdGVyIGltYWdl cyAxIGFuZCAyIGhhdmUgcmVzcG9uZGVkLgoKT2J2aW91c2x5LCB0aGF0IGlzIGEgcG9vciBp bXBsZW1lbnRhdGlvbiBvZiBjb2FycmF5cywgYnV0IHRoYXQgaXMgbm90CnRoZSBwb2ludCBh dCBpc3N1ZS4gIFRoZSBxdWVzdGlvbiBpcyB3aGV0aGVyIGl0IGlzIGEgY29uZm9ybWluZwpw cm9jZXNzb3IgaW4gdGhlIHNlbnNlIG9mIDEuNCBwYXJhZ3JhcGggMi4KCkF0IHRoZSB2ZXJ5 IGxlYXN0LCB0aGVyZSBzaG91bGQgYmUgYSBOT1RFIGluIDguNS4xLCBhbG9uZyB0aGUgZm9s bG93aW5nCmxpbmVzOgoKICAgICJOT1RFIDguMzIrCiAgICBXaGVyZSBzZWdtZW50IFBpIGFj Y2Vzc2VzIGEgY29pbmRleGVkIG9iamVjdCBvbiBpbWFnZSBRLCBidXQgaW1hZ2UgUQogICAg aXMgZXhlY3V0aW5nIGNlcnRhaW4gc3RhdGVtZW50cywgdGhlIGFjY2VzcyBtYXkgYmUgZGVs YXllZCB1bnRpbAogICAgaW1hZ2UgUSBpcyBmcmVlIHRvIHNlcnZpY2UgdGhlIGFjY2Vzczsg dGhpcyBjYW4gY2F1c2UgZGVhZGxvY2sgaW4KICAgIHNvbWUgcHJvZ3JhbXMuICBIb3dldmVy LCBwcm9jZXNzb3JzIHNob3VsZCBhdHRlbXB0IHRvIGNvbXBsZXRlIHRoZQogICAgYWNjZXNz IGFzIHNvb24gYXMgcG9zc2libGUsIGlycmVzcGVjdGl2ZSBvZiB3aGF0IHN0YXRlbWVudCBz ZWdtZW50CiAgICBRIGlzIGV4ZWN1dGluZyBhdCB0aGUgdGltZSwgYW5kIGF2b2lkIHN1Y2gg ZGVhZGxvY2suIgoKSXQgd291bGQgYmUgYmV0dGVyIHRvIGhhdmUgbm9ybWF0aXZlIHRleHQg dGhhdCByZXF1aXJlcyBwcm9ncmVzcyB0byBiZQptYWRlLCBhdCBsZWFzdCB3aGVuIGltYWdl IFEgbmV4dCByZWFjaGVzIGFuIGltYWdlIGNvbnRyb2wgc3RhdGVtZW50LCBhbmQKcHJvYmFi bHkgZXZlbiB3aGlsZSBpdCBpcyBpbiBhICdwdXJlIENQVSBsb29wJywgYnV0IHRoYXQgaXMg Y29uc2lkZXJhYmx5CmhhcmRlciB0byBkby4K --------------030808050809040107000205--