Received: from localhost ([::1]:40663 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Sp8g1-0001vI-K7; Wed, 11 Jul 2012 18:58:46 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:35396 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Sp8ft-0001vC-Op for wikichanges@lojban.org; Wed, 11 Jul 2012 18:58:43 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 11 Jul 2012 18:58:34 -0700 From: "Apache" Date: Wed, 11 Jul 2012 18:58:34 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page Folleto de introducción al lojban was changed by AldoEZ at 13:58 GMT+12 You can view the page by following this link: http://www.lojban.org/tiki/Folleto%20de%20introducci%C3%B3n%20al%20lojban [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_Folleto_de_introducci=C3=B3n_al?= =?utf-8?q?_lojban_changed_by_AldoEZ?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2UgRm9sbGV0byBkZSBpbnRyb2R1Y2Npw7NuIGFsIGxvamJhbiB3YXMgY2hhbmdlZCBi eSBBbGRvRVogYXQgMTM6NTggR01UKzEyCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93 aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9Gb2xsZXRvJTIwZGUl MjBpbnRyb2R1Y2NpJUMzJUIzbiUyMGFsJTIwbG9qYmFuCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJh Y2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6 Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Rm9sbGV0byUy MGRlJTIwaW50cm9kdWNjaSVDMyVCM24lMjBhbCUyMGxvamJhbiZjb21wYXJlPTEmb2xkdmVyPTMm bmV3dmVyPTQKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDQ0LTUwIGNoYW5nZWQgdG8gK0xpbmVzOiA0NC01MiBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpFbCBsb2piYW4gZnVl IGRpc2XDsWFkbyBwYXJhIHNlciB1biBpZGlvbWEgaHVtYW5vLCBubyB1biBsZW5ndWFqZSBkZSBw cm9ncmFtYWNpw7NuLiBQb3IgdGFudG8sIHNlIHByb2N1cmEgdXNhcmxvIGVuIGNvbnZlcnNhY2nD s24sIGxlY3R1cmEsIGVzY3JpdHVyYSB5IHBlbnNhbWllbnRvLiBTaW4gZW1iYXJnbywgeWEgcXVl IGVsIGxvamJhbiBwdWVkZSBzZXIgcHJvY2VzYWRvIHBvciB1bmEgY29tcHV0YWRvcmEgbXVjaG8g bcOhcyBmw6FjaWxtZW50ZSBxdWUgdW5hIGxlbmd1YSBuYXR1cmFsLCBzZSBwdWVkZW4gcHJldmVy IGFwbGljYWNpb25lcyBjb21wdXRhY2lvbmFsZXMgYmFzYWRhcyBlbiBlbCBsb2piYW4uIERlYmlk byBhIHN1IGluZXF1w612b2NhIGdyYW3DoXRpY2EgeSBzdSBzZW5jaWxsYSBlc3RydWN0dXJhLCBw dWVkZSBzZXIgZsOhY2lsbWVudGUgYW5hbGl6YWRvIHBvciBjb21wdXRhZG9yYXMsIGhhY2llbmRv IHBvc2libGUgZWwgdXNvIGRlbCBsb2piYW4gZW4gZWwgZnV0dXJvIHBhcmEgaW50ZXJhY2Npb25l cywgeSBxdWl6w6EgY29udmVyc2FjaW9uZXMsIGh1bWFuby1jb21wdXRhZG9yYS4gTGEgZXN0cnVj dHVyYSBwcmVkaWNhdGl2YSBkZWwgbG9qYmFuIGVzIHNpbWlsYXIgYSBsYSBkZSBsYSBpbnRlbGln ZW5jaWEgYXJ0aWZpY2lhbCwgbG8gcXVlIGxvIHByb3BvbmUgY29tbyB1bmEgcG9kZXJvc2EgaGVy cmFtaWVudGEgZW4gZWwgcHJvY2VzYW1pZW50byBkZSBpbnRlbGlnZW5jaWEgYXJ0aWZpY2lhbCwg ZW4gZXNwZWNpYWwgZW4gZWwgYWxtYWNlbmFtaWVudG8geSBwcm9jZXNhbWllbnRvIGRlIGRhdG9z IGFjZXJjYSBkZWwgbXVuZG8geSBsYXMgaWRlYXMgZGUgbGEgZ2VudGUgc29icmUgZWxsYS4gTG9z IGxpbmfDvGlzdGFzIGVzdMOhbiBpbnRlcmVzYWRvcyBlbiBlbCBwb3RlbmNpYWwgZGVsIGxvamJh biBjb21vIGxlbmd1YSBpbnRlcm1lZGlhIGVuIGxhIHRyYWR1Y2Npw7NuIGRlIGxlbmd1YXMgbmF0 dXJhbGVzIHBvciBjb21wdXRhZG9yYS4gQSBvdHJhcyBwZXJzb25hcyBsZXMgaW50ZXJlc2EgZWwg bG9qYmFuIGNvbW8gbGVuZ3VhIGludGVybmFjaW9uYWwuCgotICEhVGhlIExvamJhbiBkZXNpZ257 QU5BTUUoKX1kZXNpZ257QU5BTUV9CisgISFFbCBkaXNlw7FvIGRlbCBsb2piYW57QU5BTUUoKX1k ZXNpZ257QU5BTUV9CgotIExvamJhbidzIGNoYXJhY3RlciBzZXQgdXNlcyBvbmx5IHN0YW5kYXJk IGtleWJvYXJkIGtleXM7IGNhcGl0YWxpemF0aW9uIGlzIHJhcmU7IHB1bmN0dWF0aW9uIGlzIHNw b2tlbiBhcyB3b3Jkcy4gV3JpdHRlbiBsYW5ndWFnZSBjb3JyZXNwb25kcyBleGFjdGx5IHRvIHRo ZSBzb3VuZHMgb2YgdGhlIHNwb2tlbiBsYW5ndWFnZTsgc3BlbGxpbmcgaXMgcGhvbmV0aWMgYW5k IHVuYW1iaWd1b3VzLCBhbmQgdGhlIGZsb3dpbmcgc291bmRzIG9mIHRoZSBsYW5ndWFnZSBicmVh ayBkb3duIHVuaXF1ZWx5IGludG8gd29yZHMuIFRoZXNlIGZlYXR1cmVzIG1ha2UgY29tcHV0ZXIg c3BlZWNoIHJlY29nbml0aW9uIGFuZCB0cmFuc2NyaXB0aW9uIG1vcmUgcHJhY3RpY2FsLiBMZWFy bmluZyB0byB3cml0ZSBhbmQgc3BlbGwgTG9qYmFuIGlzIHRyaXZpYWwuCisgRWwgY29uanVudG8g ZGUgY2FyYWN0ZXJlcyBkZWwgbG9qYmFuIHNvbG8gdXRpbGl6YSB0ZWNsYXMgZXN0w6FuZGFyIGRl IHVuIHRlY2xhZG8sIGxhcyBtYXnDunNjdWxhcyBzb24gcmFyYW1lbnRlIHVzYWRhcyB5IGxhIHB1 bnR1YWNpw7NuIHNlIGluZGljYSBjb24gcGFsYWJyYXMgaGFibGFkYXMuIEVsIGlkaW9tYSBlc2Ny aXRvIGNvcnJlc3BvbmRlIGV4YWN0YW1lbnRlIGEgbG9zIHNvbmlkb3MgZGVsIGlkaW9tYSBoYWJs YWRvLCBsYSBvcnRvZ3JhZsOtYSBlcyBmb27DqXRpY2EgZSBpbmVxdcOtdm9jYSB5IGVsIGZsdWpv IGRlIHNvbmlkb3MgZGVsIGlkaW9tYSBzZSBzZXBhcmEgZW4gcGFsYWJyYXMgZGUgZm9ybWEgw7pu aWNhLiBFc3RhcyBjYXJhY3RlcsOtc3RpY2FzIGhhY2VuIG3DoXMgcHLDoWN0aWNvcyBhbCByZWNv bm9jaW1pZW50byB5IGxhIHRyYW5zY3JpcGNpw7NuIGRlIHZveiBwb3IgY29tcHV0YWRvcmEuIEFw cmVuZGVyIGEgZXNjcmliaXIgeSBkZWxldHJlYXIgbG9qYmFuIGVzIHRyaXZpYWwuPGJyIC8+PGJy IC8+TGEgZ3JhbcOhdGljYSBwcmVkaWNhdGl2YSBkZWwgbG9qYmFuIHNlIGRlcml2w7MgZGUgbGEg ZGUgbGEgbMOzZ2ljYSBmb3JtYWwuIExhcyBvcmFjaW9uZXMgbG9qYmFuYXMgc2UgZm9ybXVsYW4g Y29tbyBjb25qdW50b3MgZGUgYXJndW1lbnRvcyBhdGFkb3MgY29uIHByZWRpY2Fkb3MuIEVzdGFz IGVzdHJ1Y3R1cmFzIHByZWRpY2F0aXZhcyBwdWVkZW4gdXNhcnNlIHBhcmEgZXhwcmVzYXIgcGVu c2FtaWVudG9zIMKraWzDs2dpY29zwrsuCgpMb2piYW4ncyBwcmVkaWNhdGUgZ3JhbW1hciB3YXMg ZGVyaXZlZCBmcm9tIHRoYXQgb2YgZm9ybWFsIGxvZ2ljLiBMb2piYW4gc2VudGVuY2VzIGFyZSBz dGF0ZWQgYXMgc2V0cyBvZiBhcmd1bWVudHMgdGllZCB0b2dldGhlciBieSBwcmVkaWNhdGVzLiBU aGVzZSBwcmVkaWNhdGUgc3RydWN0dXJlcyBjYW4gYmUgdXNlZCB0byBleHByZXNzICdub24tbG9n aWNhbCcgdGhvdWdodDsgbG9naWNpYW5zIGFyZSBhYmxlIHRvIGFuYWx5emUgYWxsIG1hbm5lciBv ZiB2ZXJiYWwgZXhwcmVzc2lvbnMgYnkgY29udmVydGluZyB0aGVtIGludG8gcHJlZGljYXRlIG5v dGF0aW9uLiBCdXQgd2hpbGUgTG9qYmFuIHdpbGwgYWxyZWFkeSBiZSBleHByZXNzZWQgaW4gYSBw cmVkaWNhdGUtYmFzZWQgc3lzdGVtLCBhbGxvd2luZyBlYXN5IGxvZ2ljYWwgYW5hbHlzaXMsIGl0 IGFsc28gY29udGFpbnMgdGhlIHdpZGUgdmFyaWV0eSBvZiBlbGVtZW50cyBmb3VuZCBpbiBuYXR1 cmFsIGxhbmd1YWdlIGZvciBleHByZXNzaW9uIG9mIGF0dGl0dWRlcywKCgoKCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcg cGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpeVHJhbnNsYXRpb24gb2YgdGhpcyBwYWdl IGlzIGluY29tcGxldGUuXgoKCgohTG9qYmFuIC0gRWwgaWRpb21hIGzDs2dpY28KCgoKIScnbGEg bG9qYmFuLiBwbyd1IGxlIGxvZ2ppIGJhbmd1JycKCgoKKiB7QUxJTksoYW5hbWU9PmludHJvKX1J bnRyb2R1Y2Npw7Nue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PndoeSl9wr9Qb3IgcXXDqSBmdWUg Y3JlYWRvIGVsIGxvamJhbj97QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+b3RoZXJ1c2VzKX1PdHJv cyB1c29zIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+ZGVzaWduKX1FbCBkaXNl w7FvIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+Y3VycmVudCl9VXNvIHkgZXN0 YWRvIGFjdHVhbHtBTElOS30KCioge0FMSU5LKGFuYW1lPT51bmFtYmlndWl0eSl9TGEgbmF0dXJh bGV6YSBpbmVxdcOtdm9jYSBkZWwgbG9qYmFue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PnNhcGly d2hvcmYpfUVsIGxvamJhbiB5IFNhcGlyLVdob3Jme0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90 aGVybGluZyl9T3RyYXMgYXBsaWNhY2lvbmVzIGxpbmd1w61zdGljYXN7QUxJTkt9CgoqIHtBTElO SyhhbmFtZT0+aW50ZXJuYXRpb25hbCl9RWwgbG9qYmFuIGNvbW8gdW4gaWRpb21hIGludGVybmFj aW9uYWx7QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+cmVhc29ucyl9VmFyaWFzIHJhem9uZXMgcGFy YSBhcHJlbmRlciBsb2piYW4gQUhPUkF7QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+aG93KX1Dw7Nt byBhcHJlbmRlciBsb2piYW57QUxJTkt9CgoqICgoQ29udGFjdCBVU3xFbnRyYXIgZW4gY29udGFj dG8pKQoKISFJbnRyb2R1Y2Npw7Nue0FOQU1FKCl9aW50cm97QU5BTUV9CgoKCkVsIF9fbG9qYmFu X18gKC9MT0xMLWJhbi8gY29uIHllw61zbW8gYXJnZW50aW5vKSBlcyB1bmEgbGVuZ3VhIGNvbnN0 cnVpZGEuIE9yaWdpbmFsbWVudGUgZXJhIGxsYW1hZG8gIl9fbG9nbGFuX18iIHBvciBlbCBfX0Ry LiBKYW1lcyBDb29rZSBCcm93bl9fLCBmdW5kYWRvciBkZWwgcHJveWVjdG8sIHF1aWVuIGNvbWVu esOzIGEgZGVzYXJyb2xsYXIgZWwgaWRpb21hIGVuIF9fMTk1NV9fLiBMYXMgbWV0YXMgZGVsIGlk aW9tYSBzZSBkZXNjcmliaWVyb24gcG9yIHByaW1lcmEgdmV6IGVuIGVsIGFydMOtY3VsbyAiTG9n bGFuIiBkZSAnJ1NjaWVudGlmaWMgQW1lcmljYW4sIEp1bmlvLCAxOTYwJycuIEVsIGxvZ2xhbi9s b2piYW4gc2UgY29uc3RydXnDsyBlbiBtw6FzIGRlIHRyZXMgZMOpY2FkYXMgcG9yIGRvY2VuYXMg ZGUgdHJhYmFqYWRvcmVzIHkgY2llbnRvcyBkZSBzZWd1aWRvcmVzLCBkaXJpZ2lkb3MgcG9yIGVs IF9fTG9naWNhbCBMYW5ndWFnZSBHcm91cF9fIGRlc2RlIF9fMTk4N19fLgoKCgpFeGlzdGVuIG11 Y2hhcyBsZW5ndWFzIGFydGlmaWNpYWxlcywgcGVybyBlbCBsb2dsYW4vbG9qYmFuIHNlIGhhIHRy YWJhamFkbyBpbmdlbmllcmlsbWVudGUgcGFyYSBzZXIgw7puaWNvIGRlIHZhcmlhcyBtYW5lcmFz LiBMYXMgc2lndWllbnRlcyBzb24gbGFzIGNhcmFjdGVyw61zdGljYXMgcHJpbmNpcGFsZXMgZGVs IGxvamJhbjoKCgoKKiBFbCBsb2piYW4gZXN0w6EgZGlzZcOxYWRvIHBhcmEgc2VyIHV0aWxpemFk byBwb3IgbGEgZ2VudGUgZW4gY29tdW5pY2FjacOzbiBjb24gb3RyYXMgcGVyc29uYXMgeSwgdGFs IHZleiwgZW4gZWwgZnV0dXJvLCBjb24gY29tcHV0YWRvcmFzLgoKKiBFbCBsb2piYW4gZXN0w6Eg ZGlzZcOxYWRvIHBhcmEgc2VyIG5ldXRybyBlbnRyZSBsYXMgY3VsdHVyYXMuCgoqIExhIGdyYW3D oXRpY2EgZGVsIGxvamJhbiBlc3TDoSBiYXNhZGEgZW4gbG9zIHByaW5jaXBpb3MgZGUgbGEgbMOz Z2ljYSBkZSBwcmltZXIgb3JkZW4uCgoqIEVsIGxvamJhbiB0aWVuZSB1bmEgZ3JhbcOhdGljYSBp bmVxdcOtdm9jYSBwZXJvIGZsZXhpYmxlLgoKKiBFbCBsb2piYW4gdGllbmUgdW5hIGVzY3JpdHVy YSBmb27DqXRpY2EgZSBpbmVxdcOtdm9jYW1lbnRlIHJlc3VlbHZlIHN1cyBzb25pZG9zIGVuIHBh bGFicmFzLgoKKiBFbCBsb2piYW4gZXMgc2VuY2lsbG8gY29tcGFyYWRvIGNvbiBsYXMgbGVuZ3Vh cyBuYXR1cmFsZXM7IGVzIGbDoWNpbCBkZSBhcHJlbmRlci4KCiogTGFzIDEzMDAgcmHDrWNlcyBk ZWwgbG9qYmFuIHB1ZWRlbiBjb21iaW5hcnNlIGbDoWNpbG1lbnRlIHBhcmEgZm9ybWFyIHVuIHZv Y2FidWxhcmlvIGRlIG1pbGxvbmVzIGRlIHBhbGFicmFzLgoKKiBFbCBsb2piYW4gZXMgcmVndWxh cjsgbGFzIHJlZ2xhcyBkZWwgaWRpb21hIG5vIHRpZW5lbiBleGNlcGNpb25lcy4KCiogRWwgbG9q YmFuIGludGVudGEgcmVtb3ZlciBsYXMgcmVzdHJpY2Npb25lcyBlbiBlbCBwZW5zYW1pZW50byB5 IGxhIGNvbXVuaWNhY2nDs24gY3JlYXRpdm9zIHkgY2xhcm9zLgoKKiBFbCBsb2piYW4gdGllbmUg dW5hIGdyYW4gdmFyaWVkYWQgZGUgdXNvcywgZGVzZGUgbG8gY3JlYXRpdm8gaGFzdGEgbG8gY2ll bnTDrWZpY28geSBkZSBsbyB0ZcOzcmljbyBhIGxvIHByw6FjdGljby4KCiogRWwgbG9qYmFuIHNl IGhhIG1hbmlmZXN0YWRvIGVuIHRyYWR1Y2Npb25lcyB5IGVuIHRyYWJham9zIG9yaWdpbmFsZXMg ZW4gcHJvc2EgeSBlbiB2ZXJzby4KCiAKCgoKISHCv1BvciBxdcOpIGZ1ZSBjcmVhZG8gZWwgbG9q YmFuP3tBTkFNRSgpfXdoeXtBTkFNRX0KCgoKT3JpZ2luYWxtZW50ZSwgZWwgbG9qYmFuIGZ1ZSBk aXNlw7FhZG8gY29uIGVsIHByb3DDs3NpdG8gZGUgYXl1ZGFyIGVuIGxhIGludmVzdGlnYWNpw7Nu IGRlIHVuIGNvbmNlcHRvIGNvbm9jaWRvIGNvbW8gbGEgaGlww7N0ZXNpcyBkZSBfX1NhcGlyLVdo b3JmX186IMKrbGEgZXN0cnVjdHVyYSBkZSB1biBpZGlvbWEgcmVzdHJpbmdlIGVsIHBlbnNhbWll bnRvIGRlIGxhIGdlbnRlIHF1ZSBsbyB1c2HCuy4gRWwgbG9qYmFuIGNvbmNlZGUgdG9kYSBsYSBj YXBhY2lkYWQgZXhwcmVzaXZhIGRlIHVuYSBsZW5ndWEgbmF0dXJhbCwgcGVybyBzdSBlc3RydWN0 dXJhIGVzIGRpZmVyZW50ZSBhIGxhIGRlIG90cm9zIGlkaW9tYXMgZGUgbWFuZXJhIGltcG9ydGFu dGUuIEVzdG8gcGVybWl0ZSBzdSB1c28gY29tbyB2ZWjDrWN1bG8gZGUgcHJ1ZWJhIHBvciBsb3Mg Y2llbnTDrWZpY29zIHF1ZSBlc3R1ZGlhbiBsYXMgcmVsYWNpb25lcyBlbnRyZSBpZGlvbWEsIHBl bnNhbWllbnRvIHkgY3VsdHVyYS4KCgoKISFPdHJvcyB1c29zIGRlbCBsb2piYW57QU5BTUUoKX1v dGhlcnVzZXN7QU5BTUV9CgoKCkVsIGxvamJhbiBmdWUgZGlzZcOxYWRvIHBhcmEgc2VyIHVuIGlk aW9tYSBodW1hbm8sIG5vIHVuIGxlbmd1YWplIGRlIHByb2dyYW1hY2nDs24uIFBvciB0YW50bywg c2UgcHJvY3VyYSB1c2FybG8gZW4gY29udmVyc2FjacOzbiwgbGVjdHVyYSwgZXNjcml0dXJhIHkg cGVuc2FtaWVudG8uIFNpbiBlbWJhcmdvLCB5YSBxdWUgZWwgbG9qYmFuIHB1ZWRlIHNlciBwcm9j ZXNhZG8gcG9yIHVuYSBjb21wdXRhZG9yYSBtdWNobyBtw6FzIGbDoWNpbG1lbnRlIHF1ZSB1bmEg bGVuZ3VhIG5hdHVyYWwsIHNlIHB1ZWRlbiBwcmV2ZXIgYXBsaWNhY2lvbmVzIGNvbXB1dGFjaW9u YWxlcyBiYXNhZGFzIGVuIGVsIGxvamJhbi4gRGViaWRvIGEgc3UgaW5lcXXDrXZvY2EgZ3JhbcOh dGljYSB5IHN1IHNlbmNpbGxhIGVzdHJ1Y3R1cmEsIHB1ZWRlIHNlciBmw6FjaWxtZW50ZSBhbmFs aXphZG8gcG9yIGNvbXB1dGFkb3JhcywgaGFjaWVuZG8gcG9zaWJsZSBlbCB1c28gZGVsIGxvamJh biBlbiBlbCBmdXR1cm8gcGFyYSBpbnRlcmFjY2lvbmVzLCB5IHF1aXrDoSBjb252ZXJzYWNpb25l cywgaHVtYW5vLWNvbXB1dGFkb3JhLiBMYSBlc3RydWN0dXJhIHByZWRpY2F0aXZhIGRlbCBsb2pi YW4gZXMgc2ltaWxhciBhIGxhIGRlIGxhIGludGVsaWdlbmNpYSBhcnRpZmljaWFsLCBsbyBxdWUg bG8gcHJvcG9uZSBjb21vIHVuYSBwb2Rlcm9zYSBoZXJyYW1pZW50YSBlbiBlbCBwcm9jZXNhbWll bnRvIGRlIGludGVsaWdlbmNpYSBhcnRpZmljaWFsLCBlbiBlc3BlY2lhbCBlbiBlbCBhbG1hY2Vu YW1pZW50byB5IHByb2Nlc2FtaWVudG8gZGUgZGF0b3MgYWNlcmNhIGRlbCBtdW5kbyB5IGxhcyBp ZGVhcyBkZSBsYSBnZW50ZSBzb2JyZSBlbGxhLiBMb3MgbGluZ8O8aXN0YXMgZXN0w6FuIGludGVy ZXNhZG9zIGVuIGVsIHBvdGVuY2lhbCBkZWwgbG9qYmFuIGNvbW8gbGVuZ3VhIGludGVybWVkaWEg ZW4gbGEgdHJhZHVjY2nDs24gZGUgbGVuZ3VhcyBuYXR1cmFsZXMgcG9yIGNvbXB1dGFkb3JhLiBB IG90cmFzIHBlcnNvbmFzIGxlcyBpbnRlcmVzYSBlbCBsb2piYW4gY29tbyBsZW5ndWEgaW50ZXJu YWNpb25hbC4KCgoKISFFbCBkaXNlw7FvIGRlbCBsb2piYW57QU5BTUUoKX1kZXNpZ257QU5BTUV9 CgoKCkVsIGNvbmp1bnRvIGRlIGNhcmFjdGVyZXMgZGVsIGxvamJhbiBzb2xvIHV0aWxpemEgdGVj bGFzIGVzdMOhbmRhciBkZSB1biB0ZWNsYWRvLCBsYXMgbWF5w7pzY3VsYXMgc29uIHJhcmFtZW50 ZSB1c2FkYXMgeSBsYSBwdW50dWFjacOzbiBzZSBpbmRpY2EgY29uIHBhbGFicmFzIGhhYmxhZGFz LiBFbCBpZGlvbWEgZXNjcml0byBjb3JyZXNwb25kZSBleGFjdGFtZW50ZSBhIGxvcyBzb25pZG9z IGRlbCBpZGlvbWEgaGFibGFkbywgbGEgb3J0b2dyYWbDrWEgZXMgZm9uw6l0aWNhIGUgaW5lcXXD rXZvY2EgeSBlbCBmbHVqbyBkZSBzb25pZG9zIGRlbCBpZGlvbWEgc2Ugc2VwYXJhIGVuIHBhbGFi cmFzIGRlIGZvcm1hIMO6bmljYS4gRXN0YXMgY2FyYWN0ZXLDrXN0aWNhcyBoYWNlbiBtw6FzIHBy w6FjdGljb3MgYWwgcmVjb25vY2ltaWVudG8geSBsYSB0cmFuc2NyaXBjacOzbiBkZSB2b3ogcG9y IGNvbXB1dGFkb3JhLiBBcHJlbmRlciBhIGVzY3JpYmlyIHkgZGVsZXRyZWFyIGxvamJhbiBlcyB0 cml2aWFsLgoKCgpMYSBncmFtw6F0aWNhIHByZWRpY2F0aXZhIGRlbCBsb2piYW4gc2UgZGVyaXbD syBkZSBsYSBkZSBsYSBsw7NnaWNhIGZvcm1hbC4gTGFzIG9yYWNpb25lcyBsb2piYW5hcyBzZSBm b3JtdWxhbiBjb21vIGNvbmp1bnRvcyBkZSBhcmd1bWVudG9zIGF0YWRvcyBjb24gcHJlZGljYWRv cy4gRXN0YXMgZXN0cnVjdHVyYXMgcHJlZGljYXRpdmFzIHB1ZWRlbiB1c2Fyc2UgcGFyYSBleHBy ZXNhciBwZW5zYW1pZW50b3MgwqtpbMOzZ2ljb3PCuy4KCgoKTG9qYmFuJ3MgcHJlZGljYXRlIGdy YW1tYXIgd2FzIGRlcml2ZWQgZnJvbSB0aGF0IG9mIGZvcm1hbCBsb2dpYy4gTG9qYmFuIHNlbnRl bmNlcyBhcmUgc3RhdGVkIGFzIHNldHMgb2YgYXJndW1lbnRzIHRpZWQgdG9nZXRoZXIgYnkgcHJl ZGljYXRlcy4gVGhlc2UgcHJlZGljYXRlIHN0cnVjdHVyZXMgY2FuIGJlIHVzZWQgdG8gZXhwcmVz cyAnbm9uLWxvZ2ljYWwnIHRob3VnaHQ7IGxvZ2ljaWFucyBhcmUgYWJsZSB0byBhbmFseXplIGFs bCBtYW5uZXIgb2YgdmVyYmFsIGV4cHJlc3Npb25zIGJ5IGNvbnZlcnRpbmcgdGhlbSBpbnRvIHBy ZWRpY2F0ZSBub3RhdGlvbi4gQnV0IHdoaWxlIExvamJhbiB3aWxsIGFscmVhZHkgYmUgZXhwcmVz c2VkIGluIGEgcHJlZGljYXRlLWJhc2VkIHN5c3RlbSwgYWxsb3dpbmcgZWFzeSBsb2dpY2FsIGFu YWx5c2lzLCBpdCBhbHNvIGNvbnRhaW5zIHRoZSB3aWRlIHZhcmlldHkgb2YgZWxlbWVudHMgZm91 bmQgaW4gbmF0dXJhbCBsYW5ndWFnZSBmb3IgZXhwcmVzc2lvbiBvZiBhdHRpdHVkZXMsCgplbW90 aW9ucywgYW5kIHJpY2ggbWV0YXBob3IuCgoKCkxvamJhbiBoYXMgbm9uZSBvZiB0aGUgc3RhbmRh cmQgcGFydHMgb2Ygc3BlZWNoLiBMb2piYW4ncyAncHJlZGljYXRlIHdvcmRzJyBjYW4gc2VydmUg YXMgdGhlIGVxdWl2YWxlbnQgb2YgYSBub3VuLCB2ZXJiLCBhZGplY3RpdmUsIG9yIGFkdmVyYi4g QWN0aW9uIGFuZCBleGlzdGVuY2UgYXJlIGVxdWFsbHkgYWNjZXNzaWJsZSB0byBhIHNwZWFrZXI7 IHRoZSBkaXN0aW5jdGlvbiBjYW4gYmUgaWdub3JlZCwgb3IgY2FuIGJlIGV4cGxpY2l0bHkgZXhw cmVzc2VkLiBBIHZhcmlldHkgb2Ygb3BlcmF0b3JzIGRlYWwgd2l0aCBhYnN0cmFjdGlvbnMgc3Vj aCBhcyBldmVudHMsIHN0YXRlcywgcHJvcGVydGllcywgYW1vdW50cywgaWRlYXMsIGV4cGVyaWVu Y2UsIGFuZCB0cnV0aCwgYW5kIHdpdGggYXQgbGVhc3QgZm91ciBwcmUtZGVmaW5lZCB2YXJpZXRp ZXMgb2YgY2F1c2FsaXR5LgoKCgpMb2piYW4gaGFzIG5vIG1hbmRhdG9yeSBpbmZsZWN0aW9ucyBh bmQgZGVjbGVuc2lvbnMgb24gbm91bnMsIHZlcmJzLCBhbmQgYWRqZWN0aXZlcy4gTmF0dXJhbCBs YW5ndWFnZXMgZXZvbHZlZCBzdWNoIHZhcmlhdGlvbnMgdG8gcmVkdWNlIGFtYmlndWl0eSBhcyB0 byBob3cgd29yZHMgYXJlIHJlbGF0ZWQgaW4gYSBzZW50ZW5jZS4gRXZvbHV0aW9uYXJ5IGRldmVs b3BtZW50IG1hZGUgdGhlc2UgaW5mbGVjdGlvbnMgYW5kIGRlY2xlbnNpb25zIGhpZ2hseSBpcnJl Z3VsYXIgYW5kIHRodXMgZGlmZmljdWx0IHRvIGxlYXJuLiBUaGUgc2ltcGxlIGJ1dCBmbGV4aWJs ZSBwcmVkaWNhdGUgcmVsYXRpb25zaGlwIGVyYXNlcyBib3RoIHRoZSBpcnJlZ3VsYXJpdHkgYW5k IHRoZSBkZWNsZW5zaW9ucy4KCgoKVGVuc2UgYW5kIGxvY2F0aW9uIG1hcmtlcnMgKGluZmxlY3Rp b25zKSwgYWR2ZXJicywgYW5kIHByZXBvc2l0aW9ucyBhcmUgY29tYmluZWQgaW50byBvbmUgcGFy dCBvZiBzcGVlY2guIE5ldyBwcmVwb3NpdGlvbi1saWtlIGZvcm1zIGNhbiBiZSBidWlsdCBhdCB3 aWxsIGZyb20gcHJlZGljYXRlczsgdGhlc2UgYWxsb3cgdGhlIHVzZXIgdG8gZXhwYW5kIHVwb24g YSBzZW50ZW5jZSBieSBhdHRhY2hpbmcgYW5kIHJlbGF0aW5nIGNsYXVzZXMgbm90IG5vcm1hbGx5 IGltcGxpZWQgaW4gdGhlIG1lYW5pbmcgb2YgYSB3b3JkLgoKCgpOdW1iZXJzIGFuZCBxdWFudGlm aWVycyBhcmUgY29uY2VwdHVhbGx5IGV4cGFuZGVkIGZyb20gbmF0dXJhbCBsYW5ndWFnZXMuICJN YW55IiwgImVub3VnaCIsICJ0b28gbXVjaCIsICJhIGZldyIsIGFuZCAiYXQgbGVhc3QiIGFyZSBh bW9uZyBjb25jZXB0cyB0aGF0IGFyZSBleHByZXNzZWQgYXMgbnVtYmVycyBpbiBMb2piYW4uIENv cmUgY29uY2VwdHMgb2YgbG9naWMsIG1hdGhlbWF0aWNzLCBhbmQgc2NpZW5jZSBhcmUgYnVpbHQg aW50byB0aGUgcm9vdCB2b2NhYnVsYXJ5LiBPbiB0b3Agb2YgdGhlIGNvcmUgY29uY2VwdHMgb2Yg cHJlZGljYXRlIGxvZ2ljLCBMb2piYW4gYWRkcyBpbiBub24tbG9naWNhbCBjb25zdHJ1Y3RzIHRo YXQgZG8gbm90IGFmZmVjdCBvciBvYnNjdXJlIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSwgYWxsb3dp bmcgY29tbXVuaWNhdGlvbnMgdGhhdCBhcmUgbm90IGFtZW5hYmxlIHRvIGxvZ2ljYWwgYW5hbHlz aXMuIEZvciBleGFtcGxlLCBMb2piYW4gaGFzIGEgZnVsbCBzZXQgb2YgZW1vdGlvbmFsIGluZGlj YXRvcnMsIHNpbWlsYXIgdG8gc3VjaCBlamFjdWxhdGlvbnMgaW4gRW5nbGlzaCBhcyAiT2ghIiwg IkFoYSEiLCBhbmQgIldoZWVlISIsIGV4Y2VwdCB0aGF0IGVhY2ggaGFzIGEgc3BlY2lmaWMgbWVh bmluZy4gU2ltaWxhcmx5LCBMb2piYW4gaGFzIGluZGljYXRvcnMgb2YgdGhlIHNwZWFrZXIncyBy ZWxhdGlvbnNoaXAgdG8gd2hhdCBpcyBzYWlkLCBzaW1pbGFyIHRvIHRob3NlIGZvdW5kIGluIHNv bWUgQW1lcmljYW4gSW5kaWFuIGxhbmd1YWdlcy4KCgoKTG9qYmFuIHN1cHBvcnRzIG1ldGFsaW5n dWlzdGljIGRpc2N1c3Npb24gYWJvdXQgdGhlIHNlbnRlbmNlcyBiZWluZyBzcG9rZW4gd2hpbGUg cmVtYWluaW5nIHVuYW1iaWd1b3VzLiBMb2piYW4gYWxzbyBzdXBwb3J0cyBhICd0ZW5zZScgbG9n aWMgdGhhdCBhbGxvd3MgZXh0cmVtZSBzcGVjaWZpY2l0eSBvZiB0aW1lIGFuZCBzcGFjZSByZWxh dGlvbnNoaXBzLCBldmVuIHRob3NlIGltcGxpZWQgYnkgdGltZSB0cmF2ZWwuIExvamJhbidzIGdy YW1tYXIgaXMgZGVzaWduZWQgdG8gc3VwcG9ydCB1bmFtYmlndW91cyBzdGF0ZW1lbnQgb2YgbWF0 aGVtYXRpY2FsIGV4cHJlc3Npb25zIGFuZCByZWxhdGlvbnMgaW4gYSBtYW5uZXIgY29tcGF0aWJs ZSBib3RoIHdpdGggaW50ZXJuYXRpb25hbCB1c2FnZSBhbmQgTG9qYmFuJ3Mgbm9uLW1hdGhlbWF0 aWNhbCBncmFtbWFyLgoKCgpMb2piYW4gaXMgbXVjaCBzaW1wbGVyIHRoYW4gbmF0dXJhbCBsYW5n dWFnZXMuIEl0cyBncmFtbWFyIGlzIGNvbXBhcmFibGUgaW4gY29tcGxleGl0eSB3aXRoIHRoZSBj dXJyZW50IGdlbmVyYXRpb24gb2YgY29tcHV0ZXIgbGFuZ3VhZ2VzIChzdWNoIGFzIEFEQSkuIExv amJhbidzIHByb251bmNpYXRpb24sIHNwZWxsaW5nLCB3b3JkIGZvcm1hdGlvbiwgYW5kIGdyYW1t YXIgcnVsZXMgYXJlIGZpeGVkLCBhbmQgdGhlIGxhbmd1YWdlIGlzIGZyZWUgb2YgZXhjZXB0aW9u cyB0byB0aGVzZSBydWxlcy4KCgoKISFDdXJyZW50IHN0YXR1cyBhbmQgdXNhZ2V7QU5BTUUoKX1j dXJyZW50e0FOQU1FfQoKCgpUaGUgbGFuZ3VhZ2UsIHRoZW4gY2FsbGVkIF9fTG9nbGFuX18sIHdh cyBmaXJzdCBkZXNjcmliZWQgaW4gdGhlIDE5NTAncywgYnkgRHIuIEphbWVzIENvb2tlIEJyb3du LiBUaGUgMTk2MCBTY2llbnRpZmljIEFtZXJpY2FuIGFydGljbGUgIkxvZ2xhbiIgd2FzIGhpcyBj YWxsIGZvciBhc3Npc3RhbmNlIGluIGRldmVsb3BpbmcgdGhlIGxhbmd1YWdlLiBBIHJldm9sdXRp b24gaW4gbGluZ3Vpc3RpY3Mgd2FzIHNpbXVsdGFuZW91c2x5IHRha2luZyBwbGFjZTsgdGhlIHJl c3VsdGluZyBpbmNyZWFzZSBpbiBrbm93bGVkZ2Ugb2YgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZSBj aGFuZ2VkIHRoZSByZXF1aXJlbWVudHMgZm9yIExvZ2xhbi4gVGhlIGZpcnN0IHdpZGVseSBkaXN0 cmlidXRlZCBMb2dsYW4gZGljdGlvbmFyeSBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gZGlkIG5v dCBhcHBlYXIgdW50aWwgMTk3NTsgdGhpcyBkZXNjcmlwdGlvbiB3YXMgaW5jb21wbGV0ZSwgYW5k IGNvbnRpbnVlZCBkZXZlbG9wbWVudCB3b3JrIGRpc2NvdXJhZ2VkIGxlYXJuaW5nIHRoZSBsYW5n dWFnZS4gQ29tcHV0ZXJzIGNhdWdodCB1cCB3aXRoIExvZ2xhbiBqdXN0IHRoZW4sIG1ha2luZyBp dCBwb3NzaWJsZSB0byByZWZpbmUgdGhlIGdyYW1tYXIsIGVsaW1pbmF0ZSBhbWJpZ3VpdHkgYW5k IG1hdGhlbWF0aWNhbGx5IHByb3ZlIGl0cyBhYnNlbmNlOyB0aGlzIHdvcmsgaGFzIGp1c3QgYmVl biBjb21wbGV0ZWQuIEZvciBvdmVyIDM1IHllYXJzLCB0aGlzIHdvcmsgaGFzIGJlZW4gcGVyZm9y bWVkIGJ5IHZvbHVudGVlcnMsIGFuZCB3aXRob3V0IGZpbmFuY2lhbCBzdXBwb3J0LiBOb3csIGFm dGVyIHNldmVyYWwgdmVyc2lvbnMgb2YgdGhlIGxhbmd1YWdlLCBwZW9wbGUgYXJlIGxlYXJuaW5n IGFuZCB1c2luZyB0aGUgY3VycmVudCB2ZXJzaW9uLCB3aGljaCBpcyB0aGUgZmlyc3QgY2FsbGVk IF9fTG9qYmFuX18gKGZyb20gdGhlIHJvb3RzICJsb2dpY2FsLWxhbmd1YWdlIiBpbiBMb2piYW4p LgoKCgpUaGlzIHZlcnNpb24gaXMgdGhlIGZpcnN0IHZlcnNpb24gd2l0aCBhIHN0YWJsZSB2b2Nh YnVsYXJ5LCBhbmQgdGhlIGZpcnN0IHRvIGhhdmUgYSBzdGFibGUgYW5kIGNvbXBsZXRlbHkgZGVm aW5lZCBncmFtbWFyICh0aGUgZ3JhbW1hciBvZiBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbnMsIGZv ciBleGFtcGxlLCB3YXMgbm90IGRldmVsb3BlZCB1bnRpbCAxOTkwKS4gVGhlIGJhc2ljIExvamJh biB2b2NhYnVsYXJ5IHdhcyBiYXNlbGluZWQgKHN0YWJpbGl6ZWQgYWdhaW5zdCBjaGFuZ2UpIGlu IHRoZSBsYXN0IGhhbGYgb2YgMTk4OCwgYW5kIHRoZSBncmFtbWFyIHNpbWlsYXJseSBzdGFiaWxp emVkIGluIGxhdGUtMTk5MCwgYWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgZmlyc3QgTG9qYmFuIGNv dXJzZXMsIGFjdHVhbCB1c2FnZSBvZiB0aGUgbGFuZ3VhZ2UsIGFuZCBzZXZlcmFsIGl0ZXJhdGlv bnMgb2YgY2FyZWZ1bCBhbmFseXNpcy4gVGhlIGZ1bGwgbGFuZ3VhZ2UgZGVzaWduIHdhcyBiYXNl bGluZWQgaW4gMTk5NywgYW5kIG5vIGNoYW5nZXMgd2lsbCBldmVuIGJlIGNvbnNpZGVyZWQgdW50 aWwgNSB5ZWFycyBhZnRlciB0aGUgc2V0IG9mIGJvb2tzIGRlc2NyaWJpbmcgdGhlIGxhbmd1YWdl IGlzIHB1Ymxpc2hlZCAodGh1cyBhdCBsZWFzdCAyMDA1KS4gVGh1cywgd2hpbGUgdGhlIGxhbmd1 YWdlIHdhcyBmaXJzdCBzdGFydGVkIDM1IHllYXJzIGFnbywgTG9nbGFuL0xvamJhbiBpcyBhIHZl cnkgbmV3IGxhbmd1YWdlLgoKCgpUbyBlbnN1cmUgTG9qYmFuIHJlbWFpbnMgc3RhYmxlIHdoaWxl IHBlb3BsZSBsZWFybiBpdCwgdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gaXMgcHJlc2NyaWJlZCBh bmQgY2xvc2VseSBjb250cm9sbGVkLiBXaGVuIHRoZSBudW1iZXIgb2Ygc3BlYWtlcnMgaGFzIGdy b3duIHNpZ25pZmljYW50bHksIGFuZCBhIExvamJhbiBsaXRlcmF0dXJlIGhhcyBkZXZlbG9wZWQs IExvamJhbiB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG5hdHVyYWwgbGFuZ3VhZ2UgYW5kIGFsbG93 ZWQgdG8gZ3JvdyBhbmQgZmxvdXJpc2ggd2l0aG91dCBjb25zdHJhaW50LCBhcyBkbyBvdGhlciBu YXR1cmFsIGxhbmd1YWdlcy4KCgoKT3JpZ2luYWwgdGV4dCBhbmQgcG9ldHJ5IGhhdmUgYmVlbiB3 cml0dGVuIGluIExvamJhbiwgYW5kIHNvbWUgaGFzIGJlZW4gdHJhbnNsYXRlZCBpbnRvIHRoZSBs YW5ndWFnZS4gTG9qYmFuJ3MgcG93ZXJmdWwgbWV0YXBob3Igc3RydWN0dXJlIGFsbG93cyBidWls ZGluZyBuZXcgY29uY2VwdHMgaW50byB3b3JkcyBlYXNpbHksIGFzIG5lZWRlZC4gQSBMb2piYW4g c3BlYWtlciBkb2Vzbid0IG5lZWQgYSBkaWN0aW9uYXJ5IHRvIHVzZSBhbmQgdW5kZXJzdGFuZCBt aWxsaW9ucyBvZiB3b3JkcyB0aGF0IGNhbiBwb3RlbnRpYWxseSBleGlzdCBpbiB0aGUgbGFuZ3Vh Z2UuCgoKCkFzIG9mIDE5OTcsIHRoZXJlIGFyZSBhYm91dCAxMjAwIHBlb3BsZSBvbiBvdXIgbWFp bGluZyBsaXN0cywgaW5jbHVkaW5nIGFib3V0IDMwMCBsaXN0ZWQgYXMgYWN0aXZlbHkgdHJ5aW5n IHRvIGxlYXJuIHRoZSBsYW5ndWFnZS4gT3ZlciAxMDAgb2YgdGhlc2UgaGF2ZSBkZW1vbnN0cmF0 ZWQgY29tbXVuaWNhdGl2ZSBhYmlsaXR5IHRvIHVzZSB0aGUgbGFuZ3VhZ2UgaW4gY29udmVyc2F0 aW9uLCB0cmFuc2xhdGlvbiwgb3Igb3JpZ2luYWwgd3JpdGluZywgYW5kIG9uZSBwZXJzb24gaXMg c3VmZmljaWVudGx5IHNraWxsZWQgdG8gYmUgY29uc2lkZXJlZCBmbHVlbnQgaW4gdGhlIGxhbmd1 YWdlLiBTZXZlcmFsIG9mIHRoZXNlIHJlZ3VsYXJseSBnZXQgdG9nZXRoZXIgaW4gdGhlIFdhc2hp bmd0b24gREMgYXJlYSBmb3IgY29udmVyc2F0aW9uLCBhbmQgYW4gYW5udWFsIG1lZXRpbmcvbWlu aS1jb252ZW50aW9uIGlzIGhlbGQgdGhlcmUgZXZlcnkgc3VtbWVyLiBUaGlzIHByb2dyZXNzIGlz IHJlbWFya2FibGUgc2luY2UgdGhlcmUgaXMgbm8gZGljdGlvbmFyeSBmb3IgdGhlIGN1cnJlbnQg bGFuZ3VhZ2UsIGFuZCBhIHRleHRib29rIGV4aXN0cyBvbmx5IGluIHBhcnRpYWwgZHJhZnQgZm9y bTsgcGVvcGxlIHVzZSB0aGUgbGFuZ3VhZ2UgcmVmZXJlbmNlIG1hbnVhbCBhcyBhIGxlYXJuaW5n IHNvdXJjZSwgYW5kIHdlJ3ZlIGV2b2x2ZWQgbWV0aG9kcyBvZiB0ZWFjaGluZyB0aGUgbGFuZ3Vh Z2UgYXQgYSBkaXN0YW5jZSB0aGF0IG92ZXJjb21lIHRoaXMgaGFuZGljYXAuCgoKCiEhTG9qYmFu J3MgdW5hbWJpZ3VpdHl7QU5BTUUoKX11bmFtYmlndWl0eXtBTkFNRX0KCgoKTG9qYmFuIGhhcyBh biB1bmFtYmlndW91cyBncmFtbWFyIChwcm92ZW4gYnkgY29tcHV0ZXIgYW5hbHlzaXMgb2YgYSBm b3JtYWwgZ3JhbW1hciB3aXRoIFlBQ0MpLCBwcm9udW5jaWF0aW9uLCBhbmQgbW9ycGhvbG9neSAo d29yZCBmb3JtcykuIFRoZSBwZXJzb24gd2hvIHJlYWRzIG9yIGhlYXJzIGEgTG9qYmFuIHNlbnRl bmNlIGlzIG5ldmVyIGluIGRvdWJ0IGFzIHRvIHdoYXQgd29yZHMgaXQgY29udGFpbnMgb3Igd2hh dCByb2xlcyB0aGV5IHBsYXkgaW4gdGhlIHNlbnRlbmNlLiBMb2piYW4gaGFzIG5vIHdvcmRzIHRo YXQgc291bmQgYWxpa2UgYnV0IGhhdmUgZGlmZmVyZW50IG1lYW5pbmdzIChsaWtlICJoZXJkIiBh bmQgImhlYXJkIiksIHRoYXQgaGF2ZSBtdWx0aXBsZSB1bnJlbGF0ZWQgbWVhbmluZ3MgKCJzZXQi KSwgb3IgdGhhdCBkaWZmZXIgb25seSBpbiBwdW5jdHVhdGlvbiBidXQgbm90IGluIHNvdW5kIChs aWtlIHRoZSBhYm9taW5hYmxlICJpdHMiIGFuZCAiaXQncyIpLiBUaGVyZSBpcyBuZXZlciBhbnkg ZG91YnQgYWJvdXQgd2hlcmUgd29yZHMgYmVnaW4gYW5kIGVuZCAoImNhcmdvIHNoaXBtZW50IiBj YW4gYmUgaGVhcmQgYXMgMiwgMywgb3IgNCB3b3JkcykuIFRoZSBmdW5jdGlvbiBvZiBlYWNoIHdv cmQgaXMgY2xlYXI7IHRoZXJlIGlzIG5vdGhpbmcgbGlrZSB0aGUgRW5nbGlzaCAiVGltZSBmbGll cyBsaWtlIGFuIGFycm93LiIsIGluIHdoaWNoIGFueSBvZiB0aGUgZmlyc3QgdGhyZWUgd29yZHMg Y291bGQgYmUgdGhlIHZlcmIuIFByZWNpc2lvbiBpbiBubyB3YXkgY29uZmluZXMgdGhlIG1lYW5p bmcgb2YgYSBMb2piYW4gc2VudGVuY2UuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWFrIG5vbnNlbnNl LCB0byB0ZWxsIGEgbGllLCBvciB0byBiZSBtaXN1bmRlcnN0b29kLiBZb3UgY2FuIGJlIHZlcnkg c3BlY2lmaWMsIG9yIHlvdSBjYW4gYmUgaW50ZW50aW9uYWxseSB2YWd1ZS4gWW91ciBoZWFyZXIg bWF5IG5vdCB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW50LCBidXQgd2lsbCBhbHdheXMgdW5kZXJz dGFuZCB3aGF0IHlvdSBzYWlkLgoKCgpMb2piYW4gaXMgTk9UIGVudGlyZWx5IHVuYW1iaWd1b3Vz OyBodW1hbiBiZWluZ3Mgb2NjYXNpb25hbGx5IGRlc2lyZSB0byBiZSBhbWJpZ3VvdXMgaW4gdGhl aXIgZXhwcmVzc2lvbnMuIEluIExvamJhbiwgdGhpcyBhbWJpZ3VpdHkgaXMgbGltaXRlZCB0byBz ZW1hbnRpY3MsIG1ldGFwaG9yLCBhbmQgaW50ZW50aW9uYWwgb21pc3Npb24gb2YgaW5mb3JtYXRp b24gKGVsbGlwc2lzKS4gU2VtYW50aWMgYW1iaWd1aXR5IGluIGxhbmd1YWdlIHJlc3VsdHMgYmVj YXVzZSB3b3JkcyBpbiBuYXR1cmFsIGxhbmd1YWdlcyByZXByZXNlbnQgZmFtaWxpZXMgb2YgY29u Y2VwdHMgcmF0aGVyIHRoYW4gaW5kaXZpZHVhbCBtZWFuaW5ncywgb2Z0ZW4gd2l0aCBvbmx5IHdl YWsgc2VtYW50aWMgcmVsYXRpb25zaGlwcyB0byBlYWNoIG90aGVyLiBJbiBhZGRpdGlvbiwgZWFj aCBpbmRpdmlkdWFsJ3MgcGVyc29uYWwgZXhwZXJpZW5jZXMgcHJvdmlkZSBlbW90aW9uYWwgY29u bm90YXRpb25zIHRvIHdvcmRzLiBCeSBwcm92aWRpbmcgYSBmcmVzaCwgY3VsdHVyYWxseS1uZXV0 cmFsIHN0YXJ0LCBMb2piYW4gYXR0ZW1wdHMgdG8gbWluaW1pemUgdGhlIHRyYW5zZmVyZW5jZSBv ZiB0aGVzZSBhc3NvY2lhdGlvbnMgYXMgcGVvcGxlIGxlYXJuIHRoZSBsYW5ndWFnZS4gQnkgaW50 ZW50aW9uLCBtb3N0IExvamJhbiB3b3JkcyBkbyBub3QgY2xvc2VseSByZXNlbWJsZSBjb3JyZXNw b25kaW5nIHdvcmRzIGluIG90aGVyIGxhbmd1YWdlczsgdGhlIGRpZmZlcmVuY2VzIGFpZCBpbiBt YWtpbmcgdGhpcyBmcmVzaCBzdGFydCBwb3NzaWJsZS4gTG9qYmFuJ3MgcG93ZXJmdWwgbWV0YXBo b3IgYW5kIHdvcmQtYnVpbGRpbmcgZmVhdHVyZXMgbWFrZSBpdCBlYXN5IHRvIG1ha2UgZmluZSBk aXN0aW5jdGlvbnMgYmV0d2VlbiBjb25jZXB0cywgZGlzY291cmFnaW5nIGluZGl2aWR1YWwgd29y ZHMgZnJvbSBoYXZpbmcgZmFtaWxpZXMgb2YgbWVhbmluZ3MuIExvamJhbiBtZXRhcGhvcnMgYXJl IHRoZW1zZWx2ZXMgYW1iaWd1b3VzLCBzcGVjaWZ5aW5nIGEgcmVsYXRpb25zaGlwIGJldHdlZW4g Y29uY2VwdHMsIGJ1dCBub3Qgd2hhdCB0aGUgcmVsYXRpb25zaGlwIGlzLiBUaGF0IHJlbGF0aW9u c2hpcCBjYW4gYmUgbWFkZSBleHBsaWNpdCB1c2luZyB1bmFtYmlndW91cyBsb2dpY2FsIGNvbnN0 cnVjdHMgaWYgbmVjZXNzYXJ5LCBvciBjYW4gYmUgbGVmdCB2YWd1ZSBhcyB0aGUgc3BlYWtlciAo dXN1YWxseSkgZGVzaXJlcy4gU2ltaWxhcmx5LCBwb3J0aW9ucyBvZiB0aGUgbG9naWNhbCBzdHJ1 Y3R1cmUgb2YgYSBMb2piYW4gZXhwcmVzc2lvbiBjYW4gYmUgb21pdHRlZCwgZ3JlYXRseSBzaW1w bGlmeWluZyB0aGUgZXhwcmVzc2lvbiB3aGlsZSBjYXVzaW5nIHNvbWUgYW1iaWd1aXR5LiBVbmxp a2UgaW4gdGhlIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aG91Z2gsIHRoaXMgYW1iaWd1aXR5IGlzIHJl YWRpbHkgaWRlbnRpZmllZCBieSBhIHJlYWRlciBvciBsaXN0ZW5lci4gVGh1cyBhbGwgYW1iaWd1 aXR5IGluIExvamJhbiBpcyBjb25zdHJhaW5lZCBhbmQgcmVjb2duaXphYmxlLCBhbmQgY2FuIGJl IGNsYXJpZmllZCBhcyBuZWNlc3NhcnkgYnkgZnVydGhlciBpbnRlcmFjdGlvbi4KCgoKISFMb2pi YW4gYW5kIFNhcGlyLVdob3Jme0FOQU1FKCl9c2FwaXJ3aG9yZntBTkFNRX0KCgoKVGhpcyBoeXBv dGhlc2lzIHN0YXRlcyB0aGF0IHRoZSBzdHJ1Y3R1cmUgb2YgYSBsYW5ndWFnZSBjb25zdHJhaW5z IHRob3VnaHQgaW4gdGhhdCBsYW5ndWFnZSwgYW5kIGNvbnN0cmFpbnMgYW5kIGluZmx1ZW5jZXMg dGhlIGN1bHR1cmUgdGhhdCB1c2VzIGl0LiBJbiBvdGhlciB3b3JkcywgaWYgY29uY2VwdHMgb3Ig c3RydWN0dXJhbCBwYXR0ZXJucyBhcmUgZGlmZmljdWx0IHRvIGV4cHJlc3MgaW4gYSBsYW5ndWFn ZSwgdGhlIHNvY2lldHkgYW5kIGN1bHR1cmUgdXNpbmcgdGhlIGxhbmd1YWdlIHdpbGwgdGVuZCB0 byBhdm9pZCB0aGVtLiBJbmRpdmlkdWFscyBtaWdodCBvdmVyY29tZSB0aGlzIGJhcnJpZXIsIGJ1 dCB0aGUgc29jaWV0eSBhcyBhIHdob2xlIHdpbGwgbm90LiBUaGUgU2FwaXItV2hvcmYgaHlwb3Ro ZXNpcyBpcyBpbXBvcnRhbnQsIGFuZCBjb250cm92ZXJzaWFsOyBpdCBjYW4gYmUgdXNlZCBhcyBh IHNvY2lvbG9naWNhbCBhcmd1bWVudCB0byBqdXN0aWZ5IG9yIHRvIG9wcG9zZSByYWNpc20gYW5k IHNleGlzbSAoYW5kIGEgdmFyaWV0eSBvZiBvdGhlciAnaXNtcycpLiBGb3IgZXhhbXBsZSwgdGhl IGFzc2VydGlvbiB0aGF0IHNpbmNlIGdlbmRlcmxlc3MgZXhwcmVzc2lvbnMgaW4gRW5nbGlzaCB1 c2UgJ21hc2N1bGluZScgZm9ybXMsIEVuZ2xpc2ggaXMgJ3NleGlzdCcsIHByZXN1bWVzIHRoZSBT YXBpci1XaG9yZiBoeXBvdGhlc2lzIGlzIHRydWUuIFVuZGVyc3RhbmRpbmcgdGhlIHBvdGVudGlh bCBmb3IgU2FwaXItV2hvcmYgZWZmZWN0cyBjb3VsZCBsZWFkIHRvIGJldHRlciBpbnRlci1jdWx0 dXJhbCB1bmRlcnN0YW5kaW5nLCBwcm9tb3RpbmcgY29tbXVuaWNhdGlvbiBhbmQgcGVhY2UuCgoK Ckl0IGlzIGtub3duIHRoYXQgcGVvcGxlJ3MgaWRlYXMgYW5kIHRob3VnaHQgY2hhbmdlIHNvbWV3 aGF0IHdoZW4gdGhleSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UuIEl0IGlzIG5vdCBrbm93biB3 aGV0aGVyIHRoaXMgY2hhbmdlIGlzIGR1ZSB0byBleHBvc3VyZSB0byBhIGRpZmZlcmVudCBjdWx0 dXJlIG9yIGV2ZW4ganVzdCBnZXR0aW5nIG91dHNpZGUgb2Ygb25lcyBvd24gY3VsdHVyZS4gSXQg aXMgYWxzbyBub3Qga25vd24gaG93IG11Y2ggKGlmIGFueSkgb2YgdGhlIGNoYW5nZSBpcyBkdWUg dG8gdGhlIG5hdHVyZSBvZiB0aGUgbGFuZ3VhZ2UsIGFzIG9wcG9zZWQgdG8gdGhlIGN1bHR1cmFs IGFzc29jaWF0aW9ucy4KCgoKVGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgd2FzIGltcG9ydGFu dCBpbiBsaW5ndWlzdGljcyBpbiB0aGUgMTk1MCdzLCBidXQgaW50ZXJlc3QgZmVsbCBvZmYgcGFy dGlhbGx5IGJlY2F1c2UgcHJvcGVybHkgdGVzdGluZyBpdCB3YXMgc28gZGlmZmljdWx0LiBMb2ds YW4vTG9qYmFuIGlzIGEgbmV3IGFwcHJvYWNoIHRvIHN1Y2ggdGVzdGluZy4gT2J2aW91c2x5LCBp ZiBhIGN1bHR1cmUtaW5kZXBlbmRlbnQgbGFuZ3VhZ2UgY291bGQgYmUgdGF1Z2h0IHRvIGdyb3Vw cyBvZiBwZW9wbGUsIHRoZSBlZmZlY3RzIG9mIGxhbmd1YWdlIGNvdWxkIG1vcmUgZWFzaWx5IGJl IHNlcGFyYXRlZCBmcm9tIHRob3NlIG9mIGN1bHR1cmUuCgoKClVuaXF1ZSBmZWF0dXJlcyBvZiBM b2piYW4gcmVtb3ZlIGNvbnN0cmFpbnRzIG9uIGxhbmd1YWdlIGluIHRoZSBhcmVhcyBvZiBsb2dp YywgYW1iaWd1aXR5LCBhbmQgZXhwcmVzc2l2ZSBwb3dlciwgb3BlbmluZyB1cCBhcmVhcyBvZiB0 aG91Z2h0IHRoYXQgaGF2ZSBub3QgYmVlbiBlYXNpbHkgYWNjZXNzaWJsZSBieSBodW1hbiBsYW5n dWFnZSBiZWZvcmUuIE1lYW53aGlsZSwgdGhlIGZvcm1hbCByaWdpZGl0eSBvZiB0aGUgbGFuZ3Vh Z2UgZGVmaW5pdGlvbiBhbGxvd3Mgc3BlYWtlcnMgdG8gY2FyZWZ1bGx5IGNvbnRyb2wgdGhlaXIg ZXhwcmVzc2lvbnMgKGFuZCBwZXJoYXBzIHRoZXJlZm9yZSB0aGVpciB0aG91Z2h0IHByb2Nlc3Nl cykuIFRoaXMgZ2l2ZXMgc29tZSBtZWFzdXJlIG9mIHByZWRpY3RpdmUgcG93ZXIgdGhhdCBjYW4g YmUgdXNlZCBpbiBkZXNpZ25pbmcgYW5kIHByZXBhcmluZyBmb3IgYWN0dWFsIFNhcGlyLVdob3Jm IGV4cGVyaW1lbnRzLgoKCgpPbmUgb2YgdGhlIHByZXJlcXVpc2l0ZXMgb2YgYSBTYXBpci1XaG9y ZiBleHBlcmltZW50IGlzIGFuIGludGVybmF0aW9uYWwgYm9keSBvZiBMb2piYW4gc3BlYWtlcnMu IFdlIG5lZWQgdG8gYmUgYWJsZSB0byB0ZWFjaCBMb2piYW4gdG8gc3ViamVjdHMgd2hvIGtub3cg b25seSB0aGVpciBuYXRpdmUgKG5vbi1FbmdsaXNoKSB0b25ndWUsIGFuZCB3ZSBuZWVkIHRvIGtu b3cgaW4gYWR2YW5jZSB0aGUgZGlmZmljdWx0aWVzIHRoYXQgcGVvcGxlIGZyb20gZWFjaCBsYW5n dWFnZSBhbmQgY3VsdHVyZSB3aWxsIGhhdmUgaW4gbGVhcm5pbmcgTG9qYmFuLiBUaHVzLCB0aGUg TG9qYmFuIGNvbW11bml0eSBpcyBhY3RpdmVseSByZWFjaGluZyBvdXQgdG8gc3BlYWtlcnMgb2Yg bGFuZ3VhZ2VzIG90aGVyIHRoYW4gRW5nbGlzaC4KCgoKTG9qYmFuIGRvZXMgbm90IG5lZWQgdG8g cHJvdmUgb3IgZGlzcHJvdmUgdGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgaW4gb3JkZXIgdG8g YmUgc3VjY2Vzc2Z1bC4gSG93ZXZlciwgaWYgZXZpZGVuY2UgaXMgcHJvZHVjZWQgc3VwcG9ydGlu ZyB0aGUgU2FwaXItV2hvcmYgZWZmZWN0LCBMb2piYW4gd2lsbCBsaWtlbHkgYmUgcGVyY2VpdmVk IGFzIGFuIG91dHN0YW5kaW5nIHRvb2wgb2YgYW5hbHl0aWNhbCBhbmQgY3JlYXRpdmUgdGhvdWdo dC4gKChTYXBpci1XaG9yZiBIeXBvdGhlc2lzfE1vcmUuLi4pKQoKCgohIU90aGVyIGxpbmd1aXN0 aWMgYXBwbGljYXRpb25ze0FOQU1FKCl9b3RoZXJsaW5ne0FOQU1FfQoKCgpBbiBhcnRpZmljaWFs IGxhbmd1YWdlIChBTCkgaXMgYSBzaW1wbGUgbW9kZWwgb2YgYSBuYXR1cmFsIGxhbmd1YWdlLiBJ dCBpcyB1c2VkIGZvciBjb21tdW5pY2F0aW9uIGxpa2UgbmF0dXJhbCBsYW5ndWFnZXMsIHNpbXBs ZXIsIG1vcmUgcmVndWxhciwgYW5kIHJlbGF0aXZlbHkgdW5jb250YW1pbmF0ZWQgYnkgY3VsdHVy ZSBlZmZlY3RzLiBVbmxpa2UgbW9zdCBuYXR1cmFsIGxhbmd1YWdlcywgYW4gQUwgaGFzIG5vdCBl dm9sdmVkIHRocm91Z2ggbmF0dXJhbCBwcm9jZXNzZXMgb2YgaW50ZXJuYWwgY2hhbmdlIG9yIGNv bnRhY3Qgd2l0aCBvdGhlciBsYW5ndWFnZXMuIEluIGFkZGl0aW9uLCB0byB0aGUgZXh0ZW50IHRv IHdoaWNoIGRldGFpbHMgb2YgYW4gQUwgaXMgcHJlLWRlZmluZWQsIHRoZSBpbnRlcm5hbCBzdHJ1 Y3R1cmUgb2YgdGhlIGxhbmd1YWdlIGlzIGZhciBiZXR0ZXIga25vd24gdGhhbiB0aGF0IG9mIGFu eSBuYXR1cmFsIGxhbmd1YWdlLgoKCgpTdWNoIGEgcHJlLWRlZmluaXRpb24sIGEgbGFuZ3VhZ2Ug J3ByZXNjcmlwdGlvbicsIG1ha2VzIGFuIEFMIGEgdW5pcXVlIHRvb2wgZm9yIHN0dWR5aW5nIHRo ZSBuYXR1cmUgb2YgbGFuZ3VhZ2UuIEFzIHBlb3BsZSBsZWFybiB0aGUgbGFuZ3VhZ2UsIHRoZSB3 YXkgdGhleSAnYWNxdWlyZScgdW5kZXJzdGFuZGluZyBvZiB0aGF0IHByZXNjcmlwdGlvbiBjYW4g dGVsbCBzY2llbnRpc3RzIGhvdyAnbmF0dXJhbCcgdGhlIHByZXNjcmliZWQgZm9ybXMgYXJlLiBB Y3R1YWwgdXNhZ2Ugb2YgdGhlIGxhbmd1YWdlIGNhbiBiZSBjb21wYXJlZCB0byB0aGUgcHJlc2Ny aXB0aW9uIHByb3ZpZGluZyBxdWFudGl0YXRpdmUgZGF0YSBvbiBzcGVjaWZpYyBwYXR0ZXJucyBv ZiB1c2FnZS4gQXMgdGhlIGxhbmd1YWdlIGV2b2x2ZXMgZnJvbSBpdHMgcmVsYXRpdmVseSBwcmlz dGluZSBpbml0aWFsIHN0YXRlLCBpdCBtYXkgZGV2aWF0ZSBmcm9tIGl0cyBwcmVzY3JpcHRpb24u IFN1Y2ggZGV2aWF0aW9ucyB3aWxsIGJldHRlciBpbmZvcm0gcmVzZWFyY2hlcnMgYXMgdG8gdGhl IHByb3BlcnRpZXMgb2YgYSAnbmF0dXJhbCcgbGFuZ3VhZ2UuIFRoZSBwcm9jZXNzIG9mIGxhbmd1 YWdlIGNoYW5nZSBpdHNlbGYgd2lsbCBiZSBvcGVuIHRvIGludmVzdGlnYXRpb24gaW4gYSB3YXkg bmV2ZXIgYmVmb3JlIHBvc3NpYmxlLiBGaW5hbGx5LCB0aGUgZXhpc3RlbmNlIG9mIGEgcmVsYXRp dmVseSBjb21wbGV0ZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gYXQgdGhlIGJpcnRoIG9mIHRoZSBs YW5ndWFnZSBtZWFucyB0aGF0IGEgJ2Rlc2NyaXB0aW9uJyBvZiBhY3R1YWwgdXNhZ2UgYWZ0ZXIg dGhhdCBpbml0aWFsIHN0YXRlIGNhbiBiZSBtb3JlIHNpbXBseSBjcmVhdGVkLCBtYWludGFpbmVk LCBhbmQgc3R1ZGllZC4KCgoKTG9qYmFuIGlzIHVuZG91YnRlZGx5IHRoZSBtb3N0IGNhcmVmdWxs eSBkZXNpZ25lZCBhbmQgZGVmaW5lZCBBTCBldmVyIGNyZWF0ZWQuIEFsbCBhc3BlY3RzIG9mIGl0 cyBkZXNpZ24gaGF2ZSBiZWVuIGNhcmVmdWxseSBlbmdpbmVlcmVkIGJ5IHNldmVyYWwgcGVvcGxl IGVuY29tcGFzc2luZyBleHBlcnRpc2UgaW4gYSB2YXJpZXR5IG9mIGRpc2NpcGxpbmVzLCBpbmNs dWRpbmcgbGluZ3Vpc3RpY3MuIFRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gaXMgc2ltaWxhcmx5 IHRoZSBtb3N0IGNvbXBsZXRlIG9mIGFueSBsYW5ndWFnZS4gQXMgc3VjaCwgaXQgc2VydmVzIGFz IGEgdW5pcXVlIGJhc2lzIGZvciB0aGUgc3R1ZHkgb2YgbGFuZ3VhZ2UgdXNhZ2UgYW5kIGxhbmd1 YWdlIGNoYW5nZS4KCgoKQSBuZXcgbGFuZ3VhZ2UgbGlrZSBMb2piYW4sIHdpdGggbm8gbmF0aXZl IHNwZWFrZXJzLCBpcyBhICdwaWRnaW4nLiBBcyB0aGUgbGFuZ3VhZ2UgZXZvbHZlcywgbmF0aXZl IHNwZWFrZXJzIG9mIG90aGVyIGxhbmd1YWdlcyB3aWxsIGxlYXJuIGl0LCBhbmQgd2lsbCBicmlu ZyBpbnRvIHRoZWlyIExvamJhbiB1c2FnZSB0aGUgcGVyc3BlY3RpdmUgYW5kIHBhdHRlcm5zIG9m IHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gVGhpcyBpbnRlcmFjdGlvbiBwcm9jZXNzLCBjYWxsZWQg J2NyZW9saXphdGlvbicsIGFmZmVjdHMgYWxsIGxhbmd1YWdlcywgYW5kIG1heSBiZSB0aGUgcHJp bmNpcGxlIGNhdXNlIG9mIGxhbmd1YWdlIGNoYW5nZS4gQXMgTG9qYmFuIGlzIGxlYXJuZWQgYnkg c3BlYWtlcnMgb2YgYSB2YXJpZXR5IG9mIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aGlzIHByb2Nlc3Mg Y2FuIGJlIHN0dWRpZWQgZGlyZWN0bHkgaW4gYSB3YXkgbmV2ZXIgYmVmb3JlIHBvc3NpYmxlLCB3 aXRoIHRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gc2VydmluZyBhcyBhIHN0YW5kYXJkIGJ5IHdo aWNoIGRldmlhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHNwZWFrZXIgb3JpZ2luLCBhbmQgZXZvbHV0 aW9uIG9mIHVzYWdlLCBjYW4gYmUgbWVhc3VyZWQgYW5kIGRlc2NyaWJlZCBpbiBkZXRhaWwuCgoK CkFuIEFMIGxpa2UgTG9qYmFuIGhhcyBuZWl0aGVyIGFuIGFzc29jaWF0ZWQgJ25hdGl2ZSBhY2Nl bnQnIG5vciBhIGN1bHR1cmUgYmFzZS4gQmVpbmcgbXVjaCBzaW1wbGVyIGFuZCBtb3JlIHJlZ3Vs YXIgdGhhbiBhIG5hdHVyYWwgbGFuZ3VhZ2UsIGFuIGFkdWx0IHNwZWFrZXIgc2hvdWxkIGFjcXVp cmUgYSBmbHVlbmN5IHNlbGRvbSBhY2hpZXZlZCB3aGVuIHN0dWR5aW5nIGEgbmF0dXJhbCBsYW5n dWFnZSwgYW5kIGluIGEgcmVsYXRpdmVseSBzaG9ydCB0aW1lLiBMb2piYW4gdGh1cyBtYWtlcyBw b3NzaWJsZSByZWxhdGl2ZWx5IHNob3J0LXRlcm0gc3R1ZGllcyBvZiBsYW5ndWFnZSBsZWFybmlu ZyBhbmQgbGFuZ3VhZ2UgY2hhbmdlLiBQcm9jZXNzZXMgdGhhdCB0YWtlIGdlbmVyYXRpb25zIGlu IG5hdHVyYWwgbGFuZ3VhZ2VzIG1heSBiZSBvYnNlcnZlZCBpbiBhIGZldyB5ZWFycyBpbiBMb2pi YW4gc3BlYWtlcnMuCgoKCldpdGggdGhlIGxlYXJuaW5nIG9mIG90aGVyIGxhbmd1YWdlcyBhY3F1 aXJpbmcgY3JpdGljYWwgaW1wb3J0YW5jZSBpbiB0b2RheSdzIGludGVybmF0aW9uYWwgZWNvbm9t eSwgTG9qYmFuIHByb3ZpZGVzIGEgdG9vbCBmb3IgcmVzZWFyY2ggaW4gbGFuZ3VhZ2UgYWNxdWlz aXRpb24uIEFnYWluLCBMb2piYW4ncyBzaW1wbGljaXR5IGFsbG93cyB0aGUgcmVzdWx0cyBvZiBz dWNoIHJlc2VhcmNoIHRvIGJlIG9idGFpbmVkIG1vcmUgcXVpY2tseSB0aGFuIGluIHNpbWlsYXIg c3R1ZGllcyBvZiBuYXR1cmFsIGxhbmd1YWdlIGFjcXVpc2l0aW9uLgoKCgpObyBjbGFpbSBpcyBt YWRlIHRoYXQgc3R1ZHlpbmcgTG9qYmFuIHdpbGwgdGVsbCAnYWxsJyBhYm91dCBsYW5ndWFnZS4g TG9qYmFuLCBhdCBsZWFzdCBmb3Igc2V2ZXJhbCBkZWNhZGVzLCB3aWxsIG9ubHkgYmUgYSAnbW9k ZWwnIG9mIGEgbGFuZ3VhZ2UsIHdob3NlICduYXR1cmFsbmVzcycgd2lsbCBiZSBzdXNwZWN0LiBI b3dldmVyLCB0byB0aGUgZXh0ZW50IHRoYXQgTG9qYmFuIHNlcnZlcyB0aGUgY29tbXVuaWNhdGl2 ZSBhbmQgZXhwcmVzc2l2ZSBmdW5jdGlvbnMgb2YgaHVtYW4gbGFuZ3VhZ2UsIGFueSB0aGVvcnkg YWJvdXQgdGhlIG5hdHVyZSBvZiBodW1hbiBsYW5ndWFnZSBtdXN0IGFwcGx5IHRvIExvamJhbi4g TGFuZ3VhZ2UgZmVhdHVyZXMgYW5kIHByb2Nlc3NlcyBtb3JlIGVhc2lseSBpZGVudGlmaWVkIGlu IHN0dWR5aW5nIExvamJhbiBjYW4gdGhlbiBiZSBjb25maXJtZWQgaW4gbmF0dXJhbCBsYW5ndWFn ZXMuIFNpbWlsYXJseSwgdGhlb3JpZXMgb2YgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZSBjYW4gYmUg dGVzdGVkIGFuZCByZWZpbmVkIGFnYWluc3QgdGhpcyBzaW1wbGVyIG1vZGVsIG9mIGEgbGFuZ3Vh Z2UgYmVmb3JlIGZhY2luZyB0aGUgbW9yZSBkaWZmaWN1bHQgYW5kIHRpbWUtY29uc3VtaW5nIHRl c3RpbmcgYW5kIGFuYWx5c2lzIGludm9sdmVkIGluIG5hdHVyYWwgbGFuZ3VhZ2UgcmVzZWFyY2gu CgoKCkJlY2F1c2UgTG9qYmFuIGlzIHJlbGF0aXZlbHkgY3VsdHVyZS1mcmVlLCBhbmQgYmVjYXVz ZSBvZiBpdHMgcHJlc2NyaWJlZCBzdHJ1Y3R1cmUgdGhhdCBpcyBjb25zaXN0ZW50IHdpdGggcHJl ZGljYXRlIGxvZ2ljLCBMb2piYW4gaXMgYW4gaWRlYWwgbWVkaXVtIGZvciB0aGUgYW5hbHlzaXMg YW5kIGRlc2NyaXB0aW9uIG9mIG90aGVyIGxhbmd1YWdlcy4gQ3VycmVudGx5LCBmZWF0dXJlcyBp biBsYW5ndWFnZSBtdXN0IGJlIGNvbXBhcmVkIGFnYWluc3Qgb3RoZXIgbmF0dXJhbCBsYW5ndWFn ZXMsIGFuZCBhcmUgdXN1YWxseSBkZXNjcmliZWQgaW4gc2NpZW50aWZpYyBsaXRlcmF0dXJlIGJ5 IGdsb3NzZWQgdHJhbnNsYXRpb24gaW50byBFbmdsaXNoLiBMb2piYW4gaXMgc2ltcGxlIGFuZCBy ZWd1bGFyIGVub3VnaCB0byBiZSBhY3F1aXJlZCBhcyBhIG1ldGFsYW5ndWFnZSBmb3IgZGVzY3Jp YmluZyBvdGhlciBsYW5ndWFnZXM7IGl0cyBzdHJ1Y3R1cmVzIGFsbG93IGNsZWFyZXIgcmVmbGVj dGlvbiBvZiB0aGUgcGF0dGVybnMgb2YgdGhlIGxhbmd1YWdlIGJlaW5nIGRlc2NyaWJlZCwgd2l0 aG91dCBpbnRlcmZlcmVuY2UgZnJvbSB0aGUgY29tcGV0aW5nIHBhdHRlcm5zIG9mIEVuZ2xpc2gu CgoKCkZpbmFsbHksIExvamJhbidzIHByZWRpY2F0ZSBncmFtbWFyLCBtYWtlcyBpdCBlbWluZW50 bHkgc3VpdGVkIGZvciBvbmdvaW5nIGNvbXB1dGVyIHJlc2VhcmNoIGludG8gbmF0dXJhbCBsYW5n dWFnZXMuIExvamJhbiBjYW4gYmUgdXNlZCBmb3IgcGFyc2luZyBhbmQgYW5hbHlzaXMsIGFzIGFu IGludGVybmFsIG1lZGl1bSBvZiBkYXRhIHN0b3JhZ2UsIG9yIGFzIGFuIGludGVybWVkaWF0ZSBs YW5ndWFnZSBmb3IgbWFjaGluZSB0cmFuc2xhdGlvbi4gSGF2aW5nIGEgY29tYmluYXRpb24gb2Yg bG9naWNhbCBhbmQgbmF0dXJhbCBsYW5ndWFnZSBzdHJ1Y3R1cmVzLCBMb2piYW4gY29tYmluZXMg dGhlIGJlc3Qgb2YgYm90aCBtYWpvciBzdHJ1Y3R1cmFsIGFwcHJvYWNoZXMgdG8gbGFuZ3VhZ2Ug cHJvY2Vzc2luZyBpbiBjb21wdXRlcnMuCgoKClRoZSBleGVyY2lzZSBvZiB0cnlpbmcgdG8gaW52 ZW50IGEgbGFuZ3VhZ2UgY2FuIHRlYWNoIHVzIHRoaW5ncyBhYm91dCBsYW5ndWFnZSB0aGF0IHBy b2JhYmx5IGNhbid0IGJlIGxlYXJuZWQgaW4gYW55IG90aGVyIHdheS4gRXZlbiBpZiBMb2piYW4g c2hvdWxkIGZhaWwgYXMgYSBsYW5ndWFnZSwgd2Ugd2lsbCBsZWFybi4gSG93ZXZlciwgdG8gdGhl IGV4dGVudCBMb2piYW4gc3VjY2VlZHMsIGl0cyBwb3RlbnRpYWwgYXMgYSBiYXNpcyBmb3IgdGVz dGluZyBpZGVhcyBhYm91dCBsYW5ndWFnZSwgaXRzIHN0cnVjdHVyZSwgYW5kIHVzYWdlLCBpcyB1 bmxpbWl0ZWQuIFRoZSBpbnZlbnRpb24gb2YgTG9qYmFuIGlzIHRoZSBpbnZlbnRpb24gb2YgdGhl IHNjaWVuY2Ugb2YgZXhwZXJpbWVudGFsIGxpbmd1aXN0aWNzLgoKCgohIUxvamJhbiBhcyBhbiBp bnRlcm5hdGlvbmFsIGxhbmd1YWdle0FOQU1FKCl9aW50ZXJuYXRpb25hbHtBTkFNRX0KCgoKTG9q YmFuIG1heSBiZSB0aGUgZmlyc3QgYXJ0aWZpY2lhbCBsYW5ndWFnZSBOT1QgaW4gZGlyZWN0IGNv bXBldGl0aW9uIHdpdGggRXNwZXJhbnRvLCBpbiB0aGF0IExvamJhbidzIHBvdGVudGlhbCBzdWNj ZXNzIGlzIG5vdCBkZXBlbmRlbnQgb24gaXRzIGltbWVkaWF0ZSBwcmFjdGljYWwgdXNlIGFzIGFu IGludGVybmF0aW9uYWwgbGFuZ3VhZ2UuIEluZGVlZCwgd2UgdXNlIEVzcGVyYW50byBhcyBvbmUg bWVhbnMgb2YgcmFwaWRseSBzcHJlYWRpbmcgaW5mb3JtYXRpb24gYWJvdXQgTG9qYmFuIHRvIG5v bi1FbmdsaXNoIHNwZWFrZXJzLCBzcGVlZGluZyBhIHByb2Nlc3MgdGhhdCB3b3VsZCB0YWtlIGRl Y2FkZXMgdXNpbmcgZGlyZWN0IHRyYW5zbGF0aW9uIHRvIGFsbCB0YXJnZXQgbGFuZ3VhZ2VzLiBM b2piYW4gaGFzIHByb3ZlbiBhdHRyYWN0aXZlIHRvIEVzcGVyYW50aXN0cyBpbnRlcmVzdGVkIGlu IGFjcXVpcmluZyBhIG5ldyBwZXJzcGVjdGl2ZSBvbiB0aGVpciBvd24gaW50ZXJuYXRpb25hbCBs YW5ndWFnZTsgdGhlc2UgZmVlbCBsZXNzIHRocmVhdGVuZWQgYmVjYXVzZSBMb2piYW4gaGFzIGRp ZmZlcmVudCBnb2Fscy4gTG9qYmFuJ3Mgc3VwcG9ydGVycyByZWNvZ25pemUgdGhhdCBpdCB3aWxs IHRha2UgZGVjYWRlcyBmb3IgTG9qYmFuIHRvIGFjcXVpcmUgYm90aCB0aGUgbnVtYmVyIGFuZCB2 YXJpZXR5IG9mIHNwZWFrZXJzIGFuZCB0aGUgZXh0ZW5zaXZlIGhpc3Rvcnkgb2YgdXNhZ2UgdGhh dCBtYXJrcyBFc3BlcmFudG8gY3VsdHVyZS4gTWVhbndoaWxlLCBlYWNoIGxhbmd1YWdlIGNvbW11 bml0eSBoYXMgbXVjaCB0byBsZWFybiBmcm9tIGVhY2ggb3RoZXI7IHRoaXMgcHJvY2VzcyBoYXMg c3RhcnRlZCBhbmQgaXMgbW9zdCBhY3RpdmUuCgoKCiEhU2V2ZXJhbCByZWFzb25zIGZvciBsZWFy bmluZyBMb2piYW4gTk9Xe0FOQU1FKCl9cmVhc29uc3tBTkFNRX0KCgoKVGhvc2Ugd29ya2luZyB3 aXRoIHRoZSBsYW5ndWFnZSBub3cgYXJlIGFjdGl2ZWx5IGNvbnN1bHRlZCBmb3IgdGhlaXIgb3Bp bmlvbnMgb24gaG93IHRvIHRlYWNoIGFuZCBzcHJlYWQgdGhlIGxhbmd1YWdlLiBQZW9wbGUgd2hv IHdyaXRlIGluIHRoZSBsYW5ndWFnZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBncm93dGggb2Yg dGhlIGxleGljb24sIGFuZCBlc3RhYmxpc2hpbmcgdGhlIGNvbnZlbnRpb25zIGFuZCBpZGlvbXMg dGhhdCB3aWxsIGd1aWRlIGxhbmd1YWdlIHVzZSBpbiBmdXR1cmUgeWVhcnMuIFBlb3BsZSB3aG8g YXJlIGVzcGVjaWFsbHkgYWN0aXZlIGhhdmUgam9pbmVkIHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAg d2l0aGluIGEgZmV3IG1vbnRocyBvZiBiZWNvbWluZyBpbnZvbHZlZC4KCgoKVGhvc2Ugd2l0aCBh IGNvbXB1dGVyIGJhY2tncm91bmQgY2FuIGxlYWQgZGV2ZWxvcG1lbnQgb2YgdGhlIGZpcnN0IGNv bXB1dGVyIGFwcGxpY2F0aW9ucyBmb3IgdGhlIGxhbmd1YWdlLiBFeHBlcnRpc2UgaW4gdGhlIGxh bmd1YWdlIHdpbGwgbm8gZG91YnQgYmUgdmFsdWFibGUgYXMgTG9qYmFuIGJlY29tZXMgcmVjb2du aXplZCBhcyBhIHVzZWZ1bCB0b29sIGZvciBjb21wdXRlciBhcHBsaWNhdGlvbnMgYnkgdGhlIGNv bXB1dGVyIGluZHVzdHJ5LiBDb21wdXRlci1vcmllbnRlZCBMb2piYW5pc3RzIGNhbiBhbHNvIGFp ZCBpbiBkZXZlbG9waW5nIGNvbXB1dGVyLWFpZGVkIGluc3RydWN0aW9uIHRvb2xzIG9yIGNvbnZl cnRpbmcgZXhpc3Rpbmcgc29mdHdhcmUgdG8gcnVuIG9uIG5ldyBjb21wdXRlcnMuCgoKClJlZ2Fy ZGxlc3Mgb2YgYmFja2dyb3VuZCwgbGVhcm5pbmcgTG9qYmFuIGlzIGEgbWluZC1leHBhbmRpbmcg ZXhwZXJpZW5jZS4gTGVhcm5pbmcgYW55IGxhbmd1YWdlIG90aGVyIHRoYW4geW91ciBuYXRpdmUg dG9uZ3VlIGJyb2FkZW5zIHlvdXIgcGVyc3BlY3RpdmVzIGFuZCBhbGxvd3MgeW91IHRvIHRyYW5z Y2VuZCB0aGUgbGltaXRlZCB2aWV3cG9pbnRzIG9mIHlvdXIgbmF0aXZlIGxhbmd1YWdlIGN1bHR1 cmUuIExvamJhbiwgYmVpbmcgbXVjaCBzaW1wbGVyIHRvIGxlYXJuIHRoYW4gbmF0dXJhbCBsYW5n dWFnZXMsIHByb3ZpZGVzIHRoaXMgYmVuZWZpdCBtdWNoIG1vcmUgcXVpY2tseSB0aGFuIGRvZXMg dGhlIHN0dWR5IG9mIG90aGVyIGxhbmd1YWdlcy4gQmVpbmcgc28gc3Ryb25nbHkgZGlmZmVyZW50 LCB0aGUgaW50ZW5zaXR5IG9mIHRoZSBlZmZlY3Qgc2VlbXMgdG8gYmUgaGVpZ2h0ZW5lZC4gV2hl biBMb2piYW5pc3RzIHRhbGsgYWJvdXQgbGFuZ3VhZ2UsIHRoZSBkaXNjdXNzaW9uIGhhcyBiZWVu IG9ic2VydmVkIHRvIGJlIG1vcmUgc29waGlzdGljYXRlZCBhcyB3ZWxsIGFzIHF1YWxpdGF0aXZl bHkgZGlmZmVyZW50IGZyb20gdGhlIHRhbGsgb2Ygc3R1ZGVudHMgb2Ygc2Vjb25kIG5hdHVyYWwg bGFuZ3VhZ2VzLgoKCgpUaGUgbG9naWNhbCBvcmdhbml6YXRpb24gZW1iZWRkZWQgaW4gTG9qYmFu IGFpZHMgaW4gb3JnYW5pemluZyBhbmQgY2xhcmlmeWluZyB0aG91Z2h0cy4gSGF2aW5nIGRvbmUg c28sIHlvdXIgbmV3IHBlcnNwZWN0aXZlIG9uIGxhbmd1YWdlLCBhbWJpZ3VpdHksIGFuZCBjb21t dW5pY2F0aW9uIHdpbGwgYWxsb3cgeW91IHRvIGV4cHJlc3MgdGhvc2UgdGhvdWdodHMgbW9yZSBj bGVhcmx5LCBldmVuIHdoZW4geW91IHVzZSBhbiBhbWJpZ3VvdXMgbmF0dXJhbCBsYW5ndWFnZS4K CgoKQSByZWxhdGl2ZWx5IHNob3J0IHN0dWR5IG9mIExvamJhbiBieSBoaWdoIHNjaG9vbCAob3Ig eW91bmdlcikgc3R1ZGVudHMgaGFzIGJlZW4gcHJvcG9zZWQsIHByb3ZpZGluZyB0aGUgbGluZ3Vp c3RpYyB1bmRlcnN0YW5kaW5nIHRoYXQgd2FzIG9uY2UgYXNzb2NpYXRlZCB3aXRoIHN0dWR5aW5n IExhdGluIGFuZCBvdGhlciBsYW5ndWFnZXMgZm9yIG11Y2ggbG9uZ2VyIHBlcmlvZHMgb2YgdGlt ZS4gU3VjaCBzdHVkeSBjYW4gYmUgdGllZCBpbiB3aXRoIGNvbmNlcHRzIG9mIGxvZ2ljLCBhbmQg cG9zc2libHkgd2l0aCBjb21wdXRlci1yZWxhdGVkIGFjdGl2aXRpZXMsIGhlbHBpbmcgdG8gc2hv dyB0aGUgZXNzZW50aWFsIGludGVycmVsYXRlZCBuYXR1cmUgb2YgbGFuZ3VhZ2UgYW5kIG90aGVy IGh1bWFuIGVuZGVhdm9yLgoKCgpZb3UgbmVlZG4ndCBsZWFybiBMb2piYW4gZm9yIGFueSBwcmFj dGljYWwgcHVycG9zZSwgaG93ZXZlci4gTWFueSBvZiB0aG9zZSBsZWFybmluZyBMb2piYW4gYXJl IGRvaW5nIHNvIGJlY2F1c2UgaXQgaXMgZnVuLiBMZWFybmluZyBMb2piYW4gaXMgaW50ZWxsZWN0 dWFsbHkgc3RpbXVsYXRpbmcsIGFuZCBwcm92aWRlcyBodW1hbiBpbnRlcmFjdGlvbiBhbmQgbWVu dGFsIGNoYWxsZW5nZS4gTG9qYmFuIGhhcyBhbGwgdGhlIGJlbmVmaXRzIG9mIGdhbWVzIGRlc2ln bmVkIGZvciBlbnRlcnRhaW5tZW50LCB3aXRoIHRoZSBhZGRlZCBwcm9zcGVjdCBvZiBkZXZlbG9w aW5nIHVzZWZ1bCBza2lsbHMgYXMgYSBzaWRlIGJlbmVmaXQuIExlYXJuaW5nIExvamJhbiBhcyBh biAnaW50ZWxsZWN0dWFsIHRveScgbWVhbnMgdGhhdCB5b3UgY2FuIGdldCBlbmpveW1lbnQgZnJv bSBsZWFybmluZyBMb2piYW4gd2l0aG91dCBuZWFybHkgdGhlIGVmZm9ydCBuZWVkZWQgdG8gYmVu ZWZpdCBmcm9tIHN0dWR5aW5nIG90aGVyIGxhbmd1YWdlcy4gV2hpbGUgYmVjb21pbmcgZmx1ZW50 IGluIExvamJhbiB3aWxsIHByb2JhYmx5IHRha2UgaHVuZHJlZHMgb2YgaG91cnMgb3ZlciBzZXZl cmFsIG1vbnRocywgeW91IGNhbiBmZWVsIHNvbWUgc2Vuc2Ugb2YgYWNjb21wbGlzaG1lbnQgaW4g dGhlIGxhbmd1YWdlIGFmdGVyIGp1c3QgYSBmZXcgaG91cnMgb2Ygc3R1ZHkuIFlvdSBjYW4gdXNl IExvamJhbiBpbW1lZGlhdGVseSBmb3IgZnVuLCB3aGlsZSBnYWluaW5nIHNraWxsIHdpdGggZ3Jl YXRlciBleHBlcmllbmNlLgoKCgohIUhvdyB0byBsZWFybiBMb2piYW57QU5BTUUoKX1ob3d7QU5B TUV9CgoKCldyaXRlIHRvIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvbGxnL2NvbnRhY3QuaHRtbHxU aGUgTG9naWNhbCBMYW5ndWFnZSBHcm91cCwgSW5jLl0sIGFuZCB3ZSB3aWxsIGJlIGhhcHB5IHRv IHByb3ZpZGUgaW5mb3JtYXRpb24sIHRob3VnaCBvdXIgY29sbGVjdGVkIFdlYiBhbmQgZmlsZSBh cmNoaXZlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiB0aGF0IHdlIGhhdmUgaW4gZGlzdHJpYnV0 YWJsZSBmb3JtLiBGb3IgcHJpbnRlZCBtYXR0ZXIsIHdlIHJlcXVlc3QgYSBjb250cmlidXRpb24g b2YgJDUgdG8gY292ZXIgdGhlIGNvc3RzIG9mIGludHJvZHVjdG9yeSBtYXRlcmlhbHMgKGluY2x1 ZGluZyBhIGNvcHkgb2YgdGhpcyBlc3NheSksIGJ1dCB3aWxsIHNlbmQgdGhpcyBwYWNrYWdlIG9u IHNwZWN1bGF0aW9uLiBBZGRpdGlvbmFsIG1hdGVyaWFscyBhdmFpbGFibGUgdG90YWwgaHVuZHJl ZHMgb2YgcGFnZXMsIHdoaWNoIGFyZSBwcmljZWQgYXBwcm94aW1hdGVseSBhdCBvdXIgY29zdHM7 IHdlIGFyZSBhIG5vbi1wcm9maXQgZWR1Y2F0aW9uYWwvc2NpZW50aWZpYyBvcmdhbml6YXRpb24u ICgoQ29udGFjdCBVcykpIHVzIHJlZ2FyZGluZyBpbnRlcm5hdGlvbmFsIHBheW1lbnQ7IHdlIG9m ZmVyIHNldmVyYWwgb3B0aW9ucy4gQSBsaW1pdGVkIHBvbGljeSBleGlzdHMgZm9yIHByb3ZpZGlu ZyBtYXRlcmlhbHMgdG8gcGVvcGxlIHdobyBjYW5ub3QgYWZmb3JkIHBheW1lbnQuCgoKCldlIGVu Y291cmFnZSBuZXcgcGVvcGxlIHRvIGNvbmNlbnRyYXRlIG9uIHZvY2FidWxhcnkuIEFsbW9zdCBh bnkgdXNlIG9mIExvamJhbiByZXF1aXJlcyBzb21lIG1hc3Rlcnkgb2YgdGhlIGJhc2ljIHZvY2Fi dWxhcnkgKDEwMDAtMjAwMCB3b3JkcykuIFlvdSBjYW4gbGVhcm4gZW5vdWdoIExvamJhbiBncmFt bWFyIHRvIHN1cHBvcnQgY29udmVyc2F0aW9uIGluIGp1c3QgYSBjb3VwbGUgb2YgaG91cnMsIGJ1 dCBmYWNlIG1hbnkgaG91cnMgb2Ygdm9jYWJ1bGFyeSB3b3JrIGluIG9yZGVyIHRvIGVmZmVjdGl2 ZWx5IHVzZSB0aGF0IGdyYW1tYXIuIFdlIGRpc3RyaWJ1dGUgZmxhc2ggY2FyZHMgYW5kIGhhdmUg ZGV2ZWxvcGVkIGZsYXNoIGNhcmQgdGVjaG5pcXVlcyB0aGF0IGFyZSBleHRyZW1lbHkgZWZmaWNp ZW50IGluIGxlYXJuaW5nIHZvY2FidWxhcnkuIFRoZXNlIHRlY2huaXF1ZXMgaGF2ZSBiZWVuIGF1 dG9tYXRlZCBpbnRvIGNvbXB1dGVyLWFpZGVkLXRlYWNoaW5nIHByb2dyYW1zIHNvbGQgYW5kIGRp c3RyaWJ1dGVkIGFzIFNoYXJld2FyZSB1bmRlciB0aGUgbmFtZSAiTG9nRmxhc2giLCB3aXRoIE1T LURPUyBhbmQgTWFjSW50b3NoIHZlcnNpb25zCgpjdXJyZW50bHkgYXZhaWxhYmxlLgoKCgpZb3Ug Y2FuIGxlYXJuIHRoZSBMb2piYW4gZ3JhbW1hciBpbiBzZXZlcmFsIHdheXMsIGluY2x1ZGluZyBz dHVkeSBvZiBleGFtcGxlcyBpbiB0aGUgcXVhcnRlcmx5IGpvdXJuYWwgKChqdSdpIGxvYnlwbGl8 X18nJ2p1J2kgbG9ieXBsaScnX18pKSBvciBieSBpbnNwZWN0aW9uIGFuZCBhbmFseXNpcyBvZiBZ QUNDIGFuZCBFLUJORiBmb3JtYWwgZ3JhbW1hciBkZXNjcmlwdGlvbnMuIFRoZXJlIGlzIG5vdyBh IHB1Ymxpc2hlZCBsYW5ndWFnZSByZWZlcmVuY2UgW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJs aWNhdGlvbnMvY2xsLmh0bWx8IFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2VdLCBieSBKb2hu IENvd2FuLiBEcmFmdCBsZXNzb24gbWF0ZXJpYWxzIChhYm91dCAxODAgcGFnZXMpIGFyZSB0aGUg YmVzdCBtYXRlcmlhbHMgYXZhaWxhYmxlIGZvciBzZWxmLXN0dWR5LiBBIExvamJhbiB0ZXh0LWJv b2sgaXMgYmVpbmcgd3JpdHRlbiB0byByZWZsZWN0IHdoYXQgaXMgbGVhcm5lZCBmcm9tIHRoZSBm aXJzdCBsZWFybmluZyBlZmZvcnRzLCBhbmQgaXMgYmVpbmcgZGVzaWduZWQgc28gdGhhdCBpdCBj YW4gYmUgdXNlZCBmb3Igc2VsZi1pbnN0cnVjdGlvbiwgY2xhc3Nyb29tIHRlYWNoaW5nLCBvciBn cm91cCBzdHVkeS4gQSBmb3JtYWwgJ0xvamJhbiBkaWN0aW9uYXJ5JyB3aWxsIHJlcGxhY2UgbW9z dCBvZiB0aGUgZXhpc3Rpbmcgd29yZCBsaXN0cyBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gbWF0 ZXJpYWxzLCBhbmQgaXMgYmVpbmcgd29ya2VkIG9uLCBidXQgcHJlc2VudCBtYXRlcmlhbHMgY29u dGFpbiB0aGUgZXF1aXZhbGVudCBvZiBhIGJhc2ljIGRpY3Rpb25hcnkuCgoKCkFmdGVyIHRoZSBk aWN0aW9uYXJ5IGFuZCB0ZXh0Ym9vayBoYXZlIGJlZW4gcHVibGlzaGVkIHRoZSBMb2piYW4gbGFu Z3VhZ2UgZGVmaW5pdGlvbiB3aWxsIGJlIGJhc2VsaW5lZCAoZnJvemVuKSBmb3IgYSBtaW5pbXVt IG9mIDUgeWVhcnMsIGFuZCBMb2piYW4gd2lsbCB0aGVyZWFmdGVyIGJlIHNvbGVseSBjb250cm9s bGVkIGJ5IHNwZWFrZXJzIG9mIHRoZSBsYW5ndWFnZS4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNo YW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8v d2lraWNoYW5nZXMK