From owner-sc22wg5@open-std.org Mon Jul 17 18:08:15 2006 Return-Path: X-Original-To: sc22wg5-dmo5 Delivered-To: sc22wg5-dmo5@open-std.org Received: by open-std.org (Postfix, from userid 521) id 0E9D61B538; Mon, 17 Jul 2006 18:08:15 +0200 (CET DST) 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 open-std.org (Postfix) with ESMTP id 0E6401B537 for ; Mon, 17 Jul 2006 18:08:13 +0200 (CET DST) 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/8.12.11) with ESMTP id k6HG83ll006846 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 17 Jul 2006 17:08:03 +0100 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 k6HG83oU009049; Mon, 17 Jul 2006 17:08:03 +0100 Message-ID: <44BBB5E3.5060606@rl.ac.uk> Date: Mon, 17 Jul 2006 17:08:03 +0100 From: John Reid Reply-To: j.k.reid@rl.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: Sally Seitz CC: WG5 Subject: Defect Report 2 for Fortran 2003 Content-Type: multipart/mixed; boundary="------------070002080105050109070003" X-CCLRC-SPAM-report: -4.9 : BAYES_00 X-Scanned-By: MIMEDefang 2.39 Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multi-part message in MIME format. --------------070002080105050109070003 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit --------------070002080105050109070003 Content-Type: text/plain; name="N1666.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="N1666.txt" ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08vSUVDIEpU QzEvU0MyMi9XRzUgTjE2NjYKRGVmZWN0IFJlcG9ydCAyIGZvciBGb3J0cmFuIDIwMDMNCg0K QWxsIGVkaXRzIHNwZWNpZmllZCBpbiB0aGlzIGRvY3VtZW50IHJlbGF0ZSB0byBXRzUtTjE2 MDEgKGozLzA0LTAwNykuDQpPdGhlciByZWZlcmVuY2VzIHRvIHBhZ2UgYW5kIGxpbmUgbnVt YmVycyBpbiBnZW5lcmFsIHJlZmVyIHRvIHRoZQ0Kc3RhbmRhcmQgZG9jdW1lbnQgYXMgaXQg d2FzIGF0IHRoZSB0aW1lIG9mIHRoZSBpbml0aWFsIGludGVycHJldGF0aW9uDQpyZXF1ZXN0 IGFuZC9vciBzdWJzZXF1ZW50IGludGVycHJldGF0aW9uIHdvcmsuDQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiAgIApOVU1CRVI6IEYwMy8wMDA4ClRJVExFOiBQb2ludGVyIGFzc2lnbm1lbnQg YW5kIGFycmF5cwpLRVlXT1JEUzogcG9pbnRlciBhc3NpZ25tZW50LCBhcnJheSwgZGF0YS1y ZWYKREVGRUNUIFRZUEU6IEVycmF0dW0KU1RBVFVTOiBQYXNzZWQgYnkgV0c1IGJhbGxvdAoK UVVFU1RJT046CgpUaGVyZSBhcHBlYXJzIHRvIGJlIG5vIGV4cGxpY2l0IHJlcXVpcmVtZW50 IHRoYXQgdGhlCjx2YXJpYWJsZT5zIGluIFI3MzYgYW5kIFI3NDEgYmUgc2NhbGFyLiAgSWYg ZGF0YS1wb2ludGVyLW9iamVjdAphbmQgcHJvYy1jb21wb25lbnQgcmVmIHdlcmUgZGF0YS1y ZWZzLCB0aGVuIEM2MTQgd291bGQgcHJvaGliaXQKdGhlIDx2YXJpYWJsZT5zIGZyb20gYmVp bmcgYXJyYXlzLiAgSG93ZXZlciwgYWx0aG91Z2ggdGhlIHN5bnRheApsb29rcyBsaWtlIGEg c3BlY2lhbCBjYXNlIG9mIGEgZGF0YS1yZWYsIG5vdGhpbmcgYXBwZWFycyB0byBzYXkKdGhh dCBSNzM2IGFuZCBSNzQxIGFjdHVhbGx5IGNvbnN0aXR1dGUgZGF0YS1yZWZzLgoKVGhlIHN0 YW5kYXJkIGdpdmVzIG5vIGludGVycHJldGF0aW9uIGFzIHRvIHdoYXQgdGhlIG1lYW5pbmcK d291bGQgYmUgaW4gdGhlIGNhc2Ugb2YgYW4gYXJyYXkuCgpFdmVuIHdoZW4gdmFyaWFibGUg aXMgYSBzY2FsYXIsIHRoZSBzdGFuZGFyZCBkb2VzIG5vdCBhcHBlYXIgdG8KZGVmaW5lIHdo YXQgdGhlIHByb3BlcnRpZXMgKHN1Y2ggYXMgdHlwZSBhbmQgc2hhcGUpIG9mIGEKZGF0YS1w b2ludGVyLW9iamVjdCBvciBwcm9jLXBvaW50ZXItb2JqZWN0IGFyZSBpbiB0aGUgY2FzZSB3 aGVyZQp0aGUgc3ludGF4IGhhcyBhICIlIi4gIEFsbCB3ZSBoYXZlIGlzIGEgc3ludGF4IHdp dGggbm8KZXN0YWJsaXNoZWQgbWVhbmluZy4KClExLiBJcyB0aGUgPHZhcmlhYmxlPiBpbiBS NzM2IG9yIFI3NDEgYWxsb3dlZCB0byBiZSBhbiBhcnJheT8KClEyLiBJcyB0aGUgaW50ZXJw cmV0YXRpb24gb2YgdGhlIGZvcm1zIGluIFI3MzYgYW5kIFI3NDEgdGhlCiAgICBzYW1lIGFz IHRoYXQgb2YgYSBkYXRhLXJlZj8KCkFOU1dFUjoKCkExLiBOby4gIFRoZSBzdGFuZGFyZCBw cm92aWRlcyBubyBpbnRlcnByZXRhdGlvbiBvZiB3aGF0IHN1Y2gKICAgIGEgZm9ybSB3b3Vs ZCBtZWFuLiAgVGhlcmVmb3JlLCBieSB0aGUgZmlyc3Qgc2VudGVuY2Ugb2YKICAgIDEuNSwg aXQgaXMgbm90IHN0YW5kYXJkLWNvbmZvcm1pbmcuICBFZGl0cyBhcmUgcHJvdmlkZWQgdG8K ICAgIG1ha2UgdGhpcyBwcm9oaWJpdGlvbiBtb3JlIGRpcmVjdC4KCkEyLiBZZXMuCgpFRElU UzoKCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcuCgpbMTQzOjEyLDI0LDM1LDM3XSBJbnNl cnQgIjxzY2FsYXItPiIgYmVmb3JlICI8dmFyaWFibGU+IiwgZm91ciB0aW1lcy4KClNVQk1J VFRFRCBCWTogUmljaGFyZCBNYWluZQoKSElTVE9SWTogMDQtMzMzICAgIG0xNjkgIEYwMy8w MDA4IFN1Ym1pdHRlZAogICAgICAgICAwNC0zMzNyMSAgbTE2OSAgUGFzc2VkIGJ5IEozIG1l ZXRpbmcKICAgICAgICAgMDQtNDE4cjEgIG0xNzAgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90 ICM5CiAgICAgICAgIDA0LTQyMSAgICBtMTcwICBSZXZpc2VkIC0gUGFzc2VkIGJ5IEozIG1l ZXRpbmcKICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90 ICMxMAogICAgICAgICBOMTY1OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcK ICAgICAgICAgTjE2NjMgICAgICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2 MSBvbiBOMTY2MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDAxMgpUSVRMRTog IFByb2NlZHVyZSBwb2ludGVycyBhbmQgdGhlIEVYVEVSTkFMIGF0dHJpYnV0ZQpLRVlXT1JE UzogUHJvY2VkdXJlIHBvaW50ZXJzLCBFWFRFUk5BTApERUZFQ1QgVFlQRTogRXJyYXR1bQpT VEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCklzIHRoZSBmb2xsb3dp bmcgcHJvZ3JhbSB1bml0IHN0YW5kYXJkIGNvbmZvcm1pbmc/CgogIFNVQlJPVVRJTkUgU1VC ICggUlBQICkKICAgIFJFQUwsIEVYVEVSTkFMLCBQT0lOVEVSIDo6IFJQUAogICAgRVhURVJO QUwgOjogUFAKICAgIFBPSU5URVIgOjogUFAKICAgIFBST0NFRFVSRShSRUFMKSwgUE9JTlRF UiA6OiBQUFAgPT4gTlVMTCgpCiAgRU5EIFNVQlJPVVRJTkUgU1VCCgpUaGUgbGFzdCBzZW50 ZW5jZSBvZiAiNS4xLjIuNiBFWFRFUk5BTCBhdHRyaWJ1dGUiIGFwcGVhcnMgdG8gaW5kaWNh dGUKdGhhdCBpdCBpcyBhbGxvd2VkOgoKICAiQSBwcm9jZWR1cmUgdGhhdCBoYXMgYm90aCB0 aGUgRVhURVJOQUwgYW5kIFBPSU5URVIgYXR0cmlidXRlcyBpcyBhCiAgcHJvY2VkdXJlIHBv aW50ZXIuIgoKVGhhdCB0aGUgdGl0bGUgb2Ygc3ViY2xhdXNlIDEyLjIuMS4yIGlzICJDaGFy YWN0ZXJpc3RpY3Mgb2YgZHVtbXkKcHJvY2VkdXJlcyBhbmQgZHVtbXkgcHJvY2VkdXJlIHBv aW50ZXJzIiBzdWdnZXN0cyB0aGF0IGl0IGlzIGFsbG93ZWQuClRoYXQgc3ViY2xhdXNlIGNv bnRpbnVlcyAiLi4uIHdoZXRoZXIgaXQgaXMgYSBwb2ludGVyLCAuLi4iIHNvIGl0IHdhcwpj bGVhcmx5IGVudmlzaW9uZWQgdGhhdCBhdCBsZWFzdCBkdW1teSBwcm9jZWR1cmVzIGNvdWxk IGhhdmUgdGhlClBPSU5URVIgYXR0cmlidXRlLgoKQzEyMTYgWzI2NDozMF0gYXBwZWFycyB0 byByZXF1aXJlIFBQUCB0byBiZSBhbGxvd2VkOgoKIkMxMjE2IChSMTIxNCkgSWYgPT4gYXBw ZWFycyBpbiA8cHJvYy1kZWNsPiwgdGhlIHByb2NlZHVyZSBlbnRpdHkKICAgICAgIHNoYWxs IGhhdmUgdGhlIHBvaW50ZXIgYXR0cmlidXRlLiIKCk9uIHRoZSBvdGhlciBoYW5kLCBBIGNv bnNwaXJhY3kgb2YgQzUxMiBbNzI6MjgtMjldCgoiQzUxMiAoUjUwMSkgSWYgdGhlIFBPSU5U RVIgYXR0cmlidXRlIGlzIHNwZWNpZmllZCwgdGhlIEFMTE9DQVRBQkxFLAogICAgICBUQVJH RVQsIEVYVEVSTkFMLCBvciBJTlRSSU5TSUMgYXR0cmlidXRlIHNoYWxsIG5vdCBiZQogICAg ICBzcGVjaWZpZWQuIgoKdGhlIHNlY29uZCBzZW50ZW5jZSBvZiBzdWJjbGF1c2UgNS4xLjIu NiBbODA6MzgtNDBdCgogICJUaGlzIFtFWFRFUk5BTF0gYXR0cmlidXRlIG1heSBhbHNvIGJl IHNwZWNpZmllZCBieSAuLi4gYQogIDxwcm9jZWR1cmUtZGVjbGFyYXRpb24tc3RtdD4uLi4i Cgp0aGUgZmlyc3QgcGFyYWdyYXBoIG9mIHN1YmNsYXVzZSA1LjIgWzg1OjE1ZmZdCgogICJU aGUgY29tYmluYXRpb24gb2YgYXR0cmlidXRlcyB0aGF0IG1heSBiZSBzcGVjaWZpZWQgZm9y IGEKICAgcGFydGljdWxhciBlbnRpdHkgaXMgc3ViamVjdCB0byB0aGUgc2FtZSByZXN0cmlj dGlvbnMgLi4uCiAgIHJlZ2FyZGxlc3Mgb2YgdGhlIG1ldGhvZCBvZiBzcGVjaWZpY2F0aW9u LiAgVGhpcyBhbHNvIGFwcGxpZXMgdG8KICAgdGhlIFBST0NFRFVSRSwgRVhURVJOQUwgYW5k IElOVFJJTlNJQyBzdGF0ZW1lbnRzLiIKCmFuZCB0aGUgbGFzdCBzZW50ZW5jZSBvZiB0aGUg Zmlyc3QgcGFyYWdyYXBoIG9mIDEyLjMuMi4zIFsyNjQ6OF0KCiAgIkl0IFt0aGUgcHJvY2Vk dXJlIGRlY2xhcmF0aW9uIHN0YXRlbWVudF0gc3BlY2lmaWVzIHRoZSBFWFRFUk5BTAogIGF0 dHJpYnV0ZS4uLi4iCgphcHBlYXJzIHRvIGNvbXBsZXRlbHkgd2lwZSBvdXQgcHJvY2VkdXJl IHBvaW50ZXJzIChQUFAgYmVjYXVzZSBvZiB0aGUKZmlyc3QgcGFyYWdyYXBoIG9mIDEyLjMu Mi4zKS4KCkM1MjEgWzczOjYtN10gYW5kIEM1NjggWzkxOjVdIGFsc28gYXBwZWFyIHRvIHBy b2hpYml0IFJQUCBhbmQgUFA6CgoiQzUyMSAoUjUwNCkgVGhlIDxmdW5jdGlvbi1uYW1lPiBz aGFsbCBiZSB0aGUgbmFtZSBvZiBhbiBleHRlcm5hbAogICAgICBmdW5jdGlvbiwgYSBmdW5j dGlvbiBkdW1teSBwcm9jZWR1cmV7LCBvciBhIHN0YXRlbWVudAogICAgICBmdW5jdGlvbn0u IgoKIkM1NjggKFI1NDEpIEEgPHByb2MtZW50aXR5LW5hbWU+IHNoYWxsIGFsc28gYmUgZGVj bGFyZWQgaW4gYQogICAgICA8cHJvY2VkdXJlLWRlY2xhcmF0aW9uLXN0bXQ+LiIKCkJ1dCB0 aGVuIHRoZSBmaXJzdCBwYXJhZ3JhcGggYWZ0ZXIgUjEyMTAgKGRlZmluaW5nIHRoZSBFWFRF Uk5BTApzdGF0ZW1lbnQpIFsyNjQ6MV0gYXBwZWFycyB0byBhbGxvdyBSUFAgYW5kIFBQOgoK ICAiRWFjaCA8ZXh0ZXJuYWwtbmFtZT4gc2hhbGwgYmUgdGhlIG5hbWUgb2YgLi4uIGEgcHJv Y2VkdXJlCiAgIHBvaW50ZXIuLi4uIgoKVGhlcmUgaXMgYWxzbyBhIHByb2JsZW0gd2l0aCBw cm90ZWN0ZWQgcHJvY2VkdXJlIHBvaW50ZXJzLiAgQzUzNQpjbGVhcmx5IGVudmlzaW9ucyB0 aGVpciBleGlzdGVuY2U6CgoiQzUzNSAoUjUwMSkgVGhlIFBST1RFQ1RFRCBhdHRyaWJ1dGUg aXMgcGVybWl0dGVkIG9ubHkgZm9yIGEgcHJvY2VkdXJlCiAgICAgIHBvaW50ZXIuLi4uIgoK d2hpbGUgQzUzNiBwcm9oaWJpdHMgdGhlaXIgZXhpc3RlbmNlOgoKIkM1MzYgKFI1MDEpIElm IHRoZSBQUk9URUNURUQgYXR0cmlidXRlIGlzIHNwZWNpZmllZCwgdGhlIEVYVEVSTkFMIC4u LgogICAgICBhdHRyaWJ1dGUgc2hhbGwgbm90IGJlIHNwZWNpZmllZC4iCgpBTlNXRVI6CgpU aGUgZGlzY3Vzc2lvbiBvZiBwcm9jZWR1cmUgcG9pbnRlcnMgaXMgaW5kZWVkIGluY29uc2lz dGVudC4KClRoZSBwcm9ncmFtIHVuaXQgaXMgaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQgY29u Zm9ybWluZy4gIEl0IHdhcyBhbgpvdmVyc2lnaHQgZHVyaW5nIHRoZSBkZXZlbG9wbWVudCBv ZiB0aGUgcHJvY2VkdXJlIHBvaW50ZXIgZmFjaWxpdHkKdGhhdCB0aGUgRVhURVJOQUwgYXR0 cmlidXRlIHdhcyBub3QgcmVtb3ZlZCBmcm9tIEM1MTIsIHRoYXQKInByb2NlZHVyZSBwb2lu dGVyIiB3YXMgbm90IGFkZGVkIHRvIEM1MjEsIHRoYXQgQzUzNSBhbmQgQzUzNgpjb250cmFk aWN0IG9uZSBhbm90aGVyLCBhbmQgdGhhdCBhbiBleHRlcm5hbCBzdGF0ZW1lbnQgYW5kIHNw ZWNpZnlpbmcKdGhlIEVYVEVSTkFMIGF0dHJpYnV0ZSBpbiBhIHR5cGUgZGVjbGFyYXRpb24g c3RhdGVtZW50IHdlcmUgbm90CmFsbG93ZWQgaW4gQzU2OC4gIEl0IGlzIG5vdCBoZWxwZnVs IHRoYXQgdGhlIGxhc3Qgc2VudGVuY2Ugb2YgdGhlCmZpcnN0IHBhcmFncmFwaCBvZiBzdWJj bGF1c2UgNS4yIHJlZmVycyB0byAiUFJPQ0VEVVJFIC4uLiBzdGF0ZW1lbnRzIgood2hpY2gg Y291bGQgYmUgY29uZnVzZWQgd2l0aCB0aGUgUFJPQ0VEVVJFIHN0YXRlbWVudCBpbiBhbiBp bnRlcmZhY2UKYmxvY2spIHdoZXJlIGl0IHNob3VsZCByZWZlciB0byAicHJvY2VkdXJlIGRl Y2xhcmF0aW9uIC4uLgpzdGF0ZW1lbnRzLiIKCkVESVRTOgoKRGVsZXRlICIsIEVYVEVSTkFM IiBmcm9tIEM1MTIgWzcyOjI4XS4KCkluc2VydCAiLCBhIHByb2NlZHVyZSBwb2ludGVyIiBh ZnRlciAiZHVtbXkgcHJvY2VkdXJlIiBpbiBDNTIxIFs3Mzo3XS4KClJlcGxhY2UgQzUzNiBb NzM6MzUtMzZdOgoKIkM1MzYgKFI1MDEpIElmIHRoZSBQUk9URUNURUQgYXR0cmlidXRlIGlz IHNwZWNpZmllZCwgdGhlIElOVFJJTlNJQyBvcgogICAgICBQQVJBTUVURVIgYXR0cmlidXRl IHNoYWxsIG5vdCBiZSBzcGVjaWZpZWQuICBJZiB0aGUgUFJPVEVDVEVECiAgICAgIGFuZCBF WFRFUk5BTCBhdHRyaWJ1dGVzIGFyZSBzcGVjaWZpZWQsIHRoZSBQT0lOVEVSIGF0dHJpYnV0 ZQogICAgICBzaGFsbCBhbHNvIGJlIHNwZWNpZmllZC4iCgpSZXBsYWNlIHRoZSBsYXN0IHNl bnRlbmNlIG9mIHRoZSBmaXJzdCBwYXJhZ3JhcGggb2Ygc3ViY2xhdXNlIDUuMgpbODY6MV0g YnkgIlRoaXMgYWxzbyBhcHBsaWVzIHRvIHByb2NlZHVyZSBkZWNsYXJhdGlvbiBzdGF0ZW1l bnRzLCBhbmQKdG8gRVhURVJOQUwgYW5kIElOVFJJTlNJQyBzdGF0ZW1lbnRzLiIKClJlcGxh Y2UgQzU2OCBbOTE6NV06CgoiQzU2OCAoUjU0MSkgVGhlIEVYVEVSTkFMIGF0dHJpYnV0ZSAo NS4xLjIuNikgc2hhbGwgYmUgZXhwbGljaXRseQogICAgICBzcGVjaWZpZWQgZm9yIGEgPHBy b2MtZW50aXR5LW5hbWU+LiIKClNVQk1JVFRFRCBCWTogIFZhbiBTbnlkZXIKCkhJU1RPUlk6 IDA0LTM1OCAgICBtMTY5ICBGMDMvMDAxMiBTdWJtaXR0ZWQKICAgICAgICAgMDQtMzU4cjIg IG0xNjkgIFJldmlzZWQKICAgICAgICAgMDQtNDE4cjEgIG0xNzAgIEZhaWxlZCBKMyBsZXR0 ZXIgYmFsbG90ICM5CiAgICAgICAgIDA0LTQwMXIyICBtMTcwICBQYXNzZWQgYnkgSjMgbWVl dGluZwogICAgICAgICAwNS0xNDYgICAgbTE3MSAgUGFzc2VkIEozIGxldHRlciBiYWxsb3Qg IzEwCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxvdCBOMTY1NyAt IGZpeCB0eXBvCiAgICAgICAgIE4xNjYzICAgICAgICAgICBSZWFmZmlybWVkIGluIFdHNSBi YWxsb3QgTjE2NjEgb24gTjE2NjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5VTUJFUjogRjAzLzAw MjAKVElUTEU6IEtpbmRzIG9mIGludHJpbnNpYyB0eXBlIHBhcmFtZXRlcnMKS0VZV09SRFM6 IHR5cGUgcGFyYW1ldGVyLCBraW5kLCBpbnRyaW5zaWMgdHlwZQpERUZFQ1QgVFlQRTogRXJy YXR1bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKClExLiBXaGF0 IGFyZSB0aGUga2luZHMgb2YgdGhlIHR5cGUgcGFyYW1ldGVycyBmb3IgaW50cmluc2ljIHR5 cGVzPwoKICAgIEluIG1vc3QgY29udGV4dHMsIGl0IGRvZXNuJ3QgbWF0dGVyLiBGb3J0cmFu IDk1IGRpZCBub3QgZXZlbgogICAgaGF2ZSB0aGUgY29uY2VwdCBvZiB0aGUga2luZCBvZiBh IHR5cGUgcGFyYW1ldGVyIG9yIGEgY29udGV4dAogICAgaW4gd2hpY2ggc3VjaCBhIHRoaW5n IGNvdWxkIGJlIGRldGVjdGVkIGluIGEKICAgIHN0YW5kYXJkLWNvbmZvcm1pbmcgcHJvZ3Jh bS4gIEZvcnRyYW4gMjAwMyBhZGRlZCB0aGUgY29uY2VwdAogICAgaW4gc3VwcG9ydCBvZiBk ZXJpdmVkIHR5cGVzLiBJdCBhbHNvIGFkZGVkIGEgc3ludGF4IHdoaWNoCiAgICBleHBvc2Vz IHRoZSBxdWVzdGlvbiBmb3IgaW50cmluc2ljIHR5cGVzLgoKUTIuIFdoYXQgaXMgdGhlIEtJ TkQgb2YgYSB0eXBlIHBhcmFtZXRlciBpbnF1aXJ5PwoKUTMuIEZvciBleGFtcGxlLCBjb25z aWRlciB0aGUgcHJvZ3JhbQoKICAgICAgcHJvZ3JhbSB3aGF0X2tpbmQKICAgICAgICBjaGFy YWN0ZXIgYwogICAgICAgIHdyaXRlICgqLCopIGtpbmQoYyVraW5kKSA9PSBraW5kKDApCiAg ICAgICAgd3JpdGUgKCosKikga2luZChjJWxlbikgPT0ga2luZCgwKQogICAgICBlbmQKCiAg ICBBcmUgYm90aCB3cml0ZSBzdGF0ZW1lbnRzIGd1YXJhbnRlZWQgdG8gcHJpbnQgLnRydWUu IChtZWFuaW5nCiAgICB0aGF0IHRoZSBjJWtpbmQgYW5kIGMlbGVuIGFyZSBvZiBkZWZhdWx0 IGtpbmQpIG9yIG5vdD8KCkZvciBLSU5EIHBhcmFtZXRlcnMsIGFsdGhvdWdoIEkgY2FuJ3Qg ZmluZCBpdCBleHBsaWNpdGx5IHN0YXRlZCwKSSBzZWUgZmFpcmx5IHN0cm9uZyBldmlkZW5j ZSB0aGF0IGFsbCBpbnRyaW5zaWMga2luZCBwYXJhbWV0ZXJzCmFyZSBpbnRlbmRlZCB0byBi ZSBkZWZhdWx0IGludGVnZXJzLiAgVGhpcyBldmlkZW5jZSBpcyBpbiB0aGUKaW50cmluc2lj IGZ1bmN0aW9ucy4gIFRoZSBLSU5EIGludHJpbnNpYyBmdW5jdGlvbiBhbmQgYWxsIHRoZQpz ZWxlY3RlZF8qX2tpbmQgZnVuY3Rpb25zIGFyZSBzcGVjaWZpZWQgdG8gcmV0dXJuIGRlZmF1 bHQKaW50ZWdlcnMsIHdoaWNoIHdvdWxkIG1ha2UgZm9yIHNvbWUgc3RyYW5nZW5lc3MgaWYg dGhlIGtpbmQKcGFyYW1ldGVycyB3ZXJlIG5vdCBkZWZhdWx0IGludGVnZXIsIGluIHBhcnRp Y3VsYXIgaWYgdGhlIEtJTkQKaW50cmluc2ljIGNvdWxkIG5vdCByZXR1cm4gdGhlIGtpbmQg b2YgaXRzIGFyZ3VtZW50IGJlY2F1c2UgdGhhdApraW5kIGNvdWxkIG5vdCBiZSByZXByZXNl bnRlZCBpbiBhIGRlZmF1bHQgaW50ZWdlci4KClRoZXJlIGFsc28gc2VlbXMgbm8gb2J2aW91 cyBiZW5lZml0IHRvIGhhdmluZyB0aGUga2luZCBvZiB0aGUKaW50cmluc2ljIGtpbmQgcGFy YW1ldGVycyBiZSBhbnl0aGluZyBvdGhlciB0aGFuIGRlZmF1bHQuIEluCnByYWN0aWNlLCB0 aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCB2YWx1ZXMgZm9yIGtpbmQgaXMgc21hbGwgYW5kCndv dWxkIGhhdmUgbm8gdHJvdWJsZSBiZWluZyByZXByZXNlbnRlZCBpbiBhIGRlZmF1bHQgaW50 ZWdlcjsKbGFyZ2UgYXJyYXlzIG9mIGtpbmQgdmFsdWVzIGFyZSByYXJlLCBzbyB0aGVyZSBp c24ndCBtdWNoCmJlbmVmaXQgaW4gdXNpbmcgcmVwcmVzZW50YXRpb25zIHNtYWxsZXIgdGhh biBkZWZhdWx0LgoKRm9yIGNoYXJhY3RlciBsZW5ndGgsIEkgc2VlIG5vIHNpbWlsYXIgZXZp ZGVuY2UuICBJbmRlZWQsIHRoZQpMRU4gaW50cmluc2ljIHNlZW1zIHRvIHN1Z2dlc3QgdGhh dCBsZW5ndGhzIG1pZ2h0IGJlIG90aGVyIHRoYW4KZGVmYXVsdCBpbnRlZ2VyLiBJIGJlbGll dmUgdGhhdCB0aGVyZSB3YXMgY2xlYXIgaW50ZW50IHRvCmZhY2lsaXRhdGUgKGJ1dCBub3Qg cmVxdWlyZSkgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGxlbmd0aHMKbG9uZ2VyIHRoYW4gY291 bGQgYmUgZXhwcmVzc2VkIGJ5IGEgZGVmYXVsdCBpbnRlZ2VyLgoKSW4gbW9zdCBjb250ZXh0 cywgaXQgZG9lc24ndCBkaXJlY3RseSBtYXR0ZXIgd2hhdCB0aGUga2luZCBvZgpsZW5ndGgg aXMuICBQYXJhbWV0ZXIgc3BlY2lmaWNhdGlvbnMgaW4gdHlwZS1zcGVjcyBkb24ndCBoYXZl IHRvCm1hdGNoIGluIGtpbmQuIFNvIHRoZSB1c2VyIGNvdWxkIHNwZWNpZnkgYW5kIGRvIGFy aXRobWV0aWMgb24KbGVuZ3RocyB1c2luZyB3aGF0ZXZlciBraW5kIHdhcyBhcHByb3ByaWF0 ZSBmb3IgdGhlIGFudGljaXBhdGVkCnByb2JsZW0gc2l6ZXMuIFRoZSBsaW1pdCBvbiBtYXhp bXVtIGNoYXJhY3RlciBsZW5ndGggaXMKcHJvY2Vzc29yLWRlcGVuZGVudCBhbnl3YXkgYW5k IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZQphcyBIVUdFKHdoYXRldmVyKSAodGhvdWdo IGl0IGlzIGEgYml0IGhhcmQgdG8gaW1hZ2luZSBob3cgaXQKY291bGQgdXNlZnVsbHkgYmUg bGFyZ2VyKS4KClRoZSBvbmx5IGNvbnRleHQgaW4gd2hpY2ggSSBjYW4gc2VlIHRoYXQgbWln aHQgbWF0dGVyIGlzIGluIGEKdHlwZSBwYXJhbWV0ZXIgaW5xdWlyeSAoNi4xLjMpLiAgV2Ug ZG9uJ3QgYXBwZWFyIHRvIGhhdmUgZGVmaW5lZAp0aGUga2luZCBvZiBhIHR5cGUgcGFyYW1l dGVyIGlucXVpcnkuICBBbHRob3VnaCB3ZSBkaWRuJ3Qgc2F5LCBJCmFtIGFzc3VtaW5nIHRo YXQgYSB0eXBlIHBhcmFtZXRlciBpbnF1aXJ5IG91Z2h0IHRvICJyZXR1cm4iIHRoZQpraW5k IG9mIHRoZSB0eXBlIHBhcmFtZXRlciBpdCBpcyBpbnF1aXJpbmcgYWJvdXQuIE90aGVyd2lz ZSwKdGhlcmUgd291bGQgYmUgbm8gd2F5IHRvIGlucXVpcmUgYWJvdXQgdGhlIHR5cGUgcGFy YW1ldGVyIHZhbHVlcwpvZiBzb21lIGRlcml2ZWQgdHlwZSB2YXJpYWJsZXMgKGlmIHRoZSB2 YWx1ZXMgZGlkbid0IGZpdCBpbiBhCmRlZmF1bHQgaW50ZWdlcikuICBXZSBwcm9iYWJseSBv dWdodCB0byBleHBsaWNpdGx5IHNheSwgdGhvdWdoLgoKQU5TV0VSOgoKUTEuIFRoZSBraW5k IHBhcmFtZXRlcnMgb2YgYWxsIHRoZSBpbnRyaW5zaWMgdHlwZXMgYXJlIG9mCiAgICBkZWZh dWx0IGludGVnZXIga2luZC4gVGhlIGtpbmQgcGFyYW1ldGVyIG9mIHRoZSBpbnRyaW5zaWMK ICAgIGNoYXJhY3RlciBsZW5ndGggcGFyYW1ldGVyIGlzIHByb2Nlc3Nvci1kZXBlbmRlbnQu CgogICAgVGhlIHN1cHBvcnQgZm9yIHRoaXMgYW5zd2VyIGlzIGFzIGRlc2NyaWJlZCBpbiB0 aGUgcXVlc3Rpb24uCiAgICBFZGl0cyBhcmUgcHJvdmlkZWQgdG8gbWFrZSB0aGlzIGFuc3dl ciBleHBsaWNpdC4KClEyLiBUaGUga2luZCBwYXJhbWV0ZXIgb2YgYSB0eXBlIGlucXVpcnkg aXMgdGhlIHNhbWUgYXMgdGhhdCBvZgogICAgdGhlIHR5cGUgcGFyYW1ldGVyIGlucXVpcmVk IGFib3V0LiBTZWUgcGFnZSAxMjMsIGxpbmVzIDM1LTM2LgoKUTMuIFRoZSBmaXJzdCB3cml0 ZSBzdGF0ZW1lbnQgaXMgZ3VhcmFudGVlZCB0byBwcmludCBhIC50cnVlLiB2YWx1ZTsKICAg IGl0IGlzIHByb2Nlc3NvciBkZXBlbmRlbnQgd2hldGhlciB0aGUgc2Vjb25kIG9uZSBwcmlu dHMgYSAudHJ1ZS4KICAgIG9yIC5mYWxzZS4gdmFsdWUuCgpFRElUUzoKCkFsbCBlZGl0cyBh cHBseSB0byAwNC0wMDcuCgpBdCBbMzY6MTRdLCBbMzc6MzBdLCBbMzk6MTVdLCBbNDA6MTRd LCBhbmQgWzQ0OjJdLCBpbnNlcnQgdGhlCmZvbGxvd2luZyBzZW50ZW5jZSBiZWZvcmUgIlRo ZSBraW5kIjoKICAgIFRoZSBraW5kIHR5cGUgcGFyYW1ldGVyIGlzIG9mIHR5cGUgZGVmYXVs dCBpbnRlZ2VyLgoKQXQgWzQwOjEwXSwgYmVmb3JlICJpdHMiLCBpbnNlcnQgIml0cyBraW5k IGlzIHByb2Nlc3Nvci1kZXBlbmRlbnQKYW5kIi4KClNVQk1JVFRFRCBCWTogUmljaGFyZCBN YWluZQoKSElTVE9SWTogMDQtNDA4ICAgIG0xNzAgIEYwMy8wMDIwIFN1Ym1pdHRlZAogICAg ICAgICAwNC00MDhyMSAgbTE3MCAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAgICAgMDUt MTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMAogICAgICAgICBOMTY1 OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcKICAgICAgICAgTjE2NjMgICAg ICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2MAoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDAyMwpUSVRMRTogSUVFRV9TRVQvR0VUX1VOREVS RkxPV19NT0RFCktFWVdPUkRTOiBJRUVFLCB1bmRlcmZsb3cgbW9kZQpERUZFQ1QgVFlQRTog RXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCklzIGl0 IGFsbG93ZWQgZm9yIHRoZSBhcmd1bWVudCBvZiBJRUVFX1NFVF9VTkRFUkZMT1dfTU9ERSBv cgpJRUVFX0dFVF9VTkRFUkZMT1dfTU9ERSB0byBiZSBhbiBhcnJheT8KClRoZXJlIGFwcGVh cnMgdG8gYmUgbm8gcmVzdHJpY3Rpb24gYWdhaW5zdCBhcnJheXMgaW4gdGhlc2UKcHJvY2Vk dXJlcy4gIEZvciBJRUVFX1NFVF9VTkRFUkZMT1dfTU9ERSwgaXQgaXMgaWxsLWRlZmluZWQK d2hhdCBhbiBhcnJheSB3b3VsZCBtZWFuLiAgVGhlIHdvcmRpbmcgaW1wbGllcyBhIHNjYWxh ciwgaW4KdGhhdCBpdCB0YWxrcyBhYm91dCBiZWluZyB0cnVlIG9yIGZhbHNlLCBidXQgdGhl IHJlc3RyaWN0aW9uCnRvIHNjYWxhcnMgaXMgbm90IGV4cGxpY2l0LiBGb3IgSUVFRV9HRVRf VU5ERVJGTE9XX01PREUsIGl0CmNvdWxkIGJlIGRlZmluZWQsIGJ1dCBzZWVtcyBhIGxpdHRs ZSBzaWxseSBhbmQgbm9ucGFyYWxsZWwuCgpUaGUgc2ltaWxhciBwcm9jZWR1cmVzIGZvciBy b3VuZGluZyBtb2RlIGRvIGV4cGxpY2l0bHkKc3BlY2lmeSB0aGF0IHRoZWlyIGFyZ3VtZW50 cyBhcmUgc2NhbGFyLgoKQU5TV0VSOgoKTm8sIGFycmF5cyBhcmUgbm90IGFsbG93ZWQgZm9y IHRoZXNlIGFyZ3VtZW50cy4gIEVkaXRzIGFyZSBwcm92aWRlZAp0byBjb3JyZWN0IHRoaXMg ZXJyb3IuCgpFRElUUzoKClszNzQ6MjFdIEFkZCAic2NhbGFyIGFuZCIgYWZ0ZXIgInNoYWxs IGJlIgpbMzgwOjEzXSBBZGQgInNjYWxhciBhbmQiIGFmdGVyICJzaGFsbCBiZSIKClNVQk1J VFRFRCBCWTogUmljaGFyZCBNYWluZQoKSElTVE9SWTogMDQtNDIwICAgIG0xNzAgIEYwMy8w MDIzIFN1Ym1pdHRlZCAtIFBhc3NlZCBieSBKMyBtZWV0aW5nCiAgICAgICAgIDA1LTE0NiAg ICBtMTcxICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTAKICAgICAgICAgTjE2NTggICAg IG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4xNjU3CiAgICAgICAgIE4xNjYzICAgICAgICAg ICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3QgTjE2NjEgb24gTjE2NjAKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KCk5VTUJFUjogRjAzLzAwMjUKVElUTEU6IEFic3RyYWN0IHR5cGVzIGluIENMQVNT IElTIHR5cGUgZ3VhcmQgc3RhdGVtZW50cwpLRVlXT1JEUzogQUJTVFJBQ1QsIENMQVNTIElT LCB0eXBlIGd1YXJkLCBTRUxFQ1QgVFlQRQpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6 IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCkNvbnNpZGVyIHRoZSBmb2xsb3dp bmcgcHJvZ3JhbToKCiAgICAgIFBST0dSQU0gZm9vCgogICAgICAgIFRZUEUsIEFCU1RSQUNU IDo6IGJhc2UKICAgICAgICAgIElOVEVHRVIgaQogICAgICAgIEVORCBUWVBFCiAgICAgICAg VFlQRSwgRVhURU5EUyhiYXNlKSA6OiBjaGlsZAogICAgICAgICAgSU5URUdFUiBqCiAgICAg ICAgRU5EIFRZUEUKICAgICAgICBDTEFTUygqKSwgUE9JTlRFUiA6OiB4CiAgICAgICAgVFlQ RShjaGlsZCksIFRBUkdFVCA6OiBjMQoKICAgICAgICB4ID0+IGMxCiAgICAgICAgU0VMRUNU IFRZUEUgKHgpCiAgICAgICAgICBDTEFTUyBJUyAoYmFzZSkKICAgICAgICAgICAgUFJJTlQg KiwgJ0NsYXNzIGlzIGJhc2UnCiAgICAgICAgICBDTEFTUyBERUZBVUxUCiAgICAgICAgICAg IFBSSU5UICosICdDbGFzcyBpcyBub3QgYmFzZScKICAgICAgICBFTkQgU0VMRUNUCgogICAg ICBFTkQKCkNvbnN0cmFpbnQgQzQwMSBzZWVtcyB0byBwcm9oaWJpdCB0aGUgYWJzdHJhY3Qg dHlwZSAiYmFzZSIgZnJvbQphcHBlYXJpbmcgaW4gYSBDTEFTUyBJUyB0eXBlIGd1YXJkIHN0 YXRlbWVudCwgdGh1cyBwcm9oaWJpdGluZyB0aGlzCnByb2dyYW0uICBUaGVyZSBzZWVtcyB0 byBiZSBubyByZWFzb24gdG8gcHJvaGliaXQgdGhpcywgYW5kIGFsbG93aW5nCml0IHNlZW1z IHRvIGJlIHVzZWZ1bCBpbiBzb21lIHNpdHVhdGlvbnMuCgpXYXMgdGhpcyBwcm9ncmFtIGlu dGVuZGVkIHRvIGJlIHN0YW5kYXJkLWNvbmZvcm1pbmc/CgpBTlNXRVI6CgpZZXMsIHRoaXMg cHJvZ3JhbSB3YXMgaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZy4gIEVkaXRz IGFyZQpwcm92aWRlZCB0byBjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0LgoKRURJVFM6CgpBbGwg ZWRpdHMgcmVmZXIgdG8gMDQtMDA3LgpbMTYyOjE3XSBDaGFuZ2UgIjx0eXBlLXNwZWM+IiB0 byAiPGRlcml2ZWQtdHlwZS1zcGVjPiIuClsxNjI6MTldIEFmdGVyICI8dHlwZS1zcGVjPiIs IGluc2VydCAib3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuClsxNjI6MjBdIEFmdGVyICI8dHlw ZS1zcGVjPiIsIGluc2VydCAib3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuClsxNjI6MjFdIEFm dGVyICI8dHlwZS1zcGVjPiIsIGluc2VydCAib3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuCgpT VUJNSVRURUQgQlk6IFJvYiBKYW1lcwoKSElTVE9SWTogMDQtNDExICAgIG0xNzAgIEYwMy8w MDI1IFN1Ym1pdHRlZAogICAgICAgICAwNC00MTFyMSAgbTE3MCAgUGFzc2VkIGJ5IEozIG1l ZXRpbmcKICAgICAgICAgMDUtMTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90 ICMxMAogICAgICAgICBOMTY1OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcK ICAgICAgICAgTjE2NjMgICAgICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2 MSBvbiBOMTY2MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDAyNgpUSVRMRTog SW50cmluc2ljIHR5cGVzIGluIENMQVNTIElTIHR5cGUgZ3VhcmQgc3RhdGVtZW50cwpLRVlX T1JEUzogQ0xBU1MgSVMsIHR5cGUgZ3VhcmQsIFNFTEVDVCBUWVBFLCBpbnRyaW5zaWMgdHlw ZQpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpR VUVTVElPTjoKCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToKCiAgICAgIFBST0dS QU0gZm9vCgogICAgICAgIENMQVNTKCopLCBQT0lOVEVSIDo6IHgKICAgICAgICBJTlRFR0VS LCBUQVJHRVQgOjogaQoKICAgICAgICB4ID0+IGkKICAgICAgICBTRUxFQ1QgVFlQRSAoeCkK ICAgICAgICAgIENMQVNTIElTIChJTlRFR0VSKQogICAgICAgICAgICBQUklOVCAqLCAnSG93 IGNhbiBJTlRFR0VSIGJlIGEgY2xhc3M/JwogICAgICAgIEVORCBTRUxFQ1QKCiAgICAgIEVO RAoKVGhlIGRlc2NyaXB0aW9uIG9mIGEgQ0xBU1MgSVMgdHlwZSBndWFyZCBzdGF0ZW1lbnQg cmVmZXJzIHRvIGFuCmV4dGVuc2lvbiBvZiB0aGUgdHlwZSBzcGVjaWZpZWQuICBUaGlzIG1h a2VzIG5vIHNlbnNlIGZvcgpub25leHRlbnNpYmxlIHR5cGVzLiAgQzgxNSBkaXNhbGxvd3Mg YWxsIG5vbmV4dGVuc2libGUgZGVyaXZlZCB0eXBlcywKYnV0IG5vdGhpbmcgZGlzYWxsb3dz IGludHJpbnNpYyB0eXBlcywgd2hpY2ggYXJlIGFsc28gbm9uZXh0ZW5zaWJsZS4KCldhcyB0 aGlzIHByb2dyYW0gaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZz8KCkFOU1dF UjoKCk5vLCB0aGlzIHByb2dyYW0gd2FzIG5vdCBpbnRlbmRlZCB0byBiZSBzdGFuZGFyZC1j b25mb3JtaW5nLiAgRWRpdHMKYXJlIHN1cHBsaWVkIHRvIGNvcnJlY3QgdGhpcyBvdmVyc2ln aHQuCgpFRElUUzoKCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcuICBOb3RlIHRoYXQgdGhl c2UgZWRpdHMgYXJlIHRoZSBzYW1lIGFzIHRoZQplZGl0cyBwcm9wb3NlZCBmb3IgRjAzLzAw MjUuCgpbMTYyOjE3XSBDaGFuZ2UgIjx0eXBlLXNwZWM+IiB0byAiPGRlcml2ZWQtdHlwZS1z cGVjPiIuClsxNjI6MTldIEFmdGVyICI8dHlwZS1zcGVjPiIsIGluc2VydCAib3IgPGRlcml2 ZWQtdHlwZS1zcGVjPiIuClsxNjI6MjBdIEFmdGVyICI8dHlwZS1zcGVjPiIsIGluc2VydCAi b3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuClsxNjI6MjFdIEFmdGVyICI8dHlwZS1zcGVjPiIs IGluc2VydCAib3IgPGRlcml2ZWQtdHlwZS1zcGVjPiIuCgpTVUJNSVRURUQgQlk6IFJvYiBK YW1lcwoKSElTVE9SWTogMDQtNDEyICAgIG0xNzAgIEYwMy8wMDI2IFN1Ym1pdHRlZAogICAg ICAgICAwNC00MTJyMSAgbTE3MCAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAgICAgMDUt MTQ2ICAgIG0xNzEgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMAogICAgICAgICBOMTY1 OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcKICAgICAgICAgTjE2NjMgICAg ICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2MAoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDAyNwpUSVRMRTogQXNzdW1lZCBjaGFyYWN0ZXIg bGVuZ3RoIGluIHR5cGUgZ3VhcmQgc3RhdGVtZW50cwpLRVlXT1JEUzogQ0hBUkFDVEVSLCBh c3N1bWVkIGxlbmd0aCwgdHlwZSBndWFyZCwgU0VMRUNUIFRZUEUKREVGRUNUIFRZUEU6IEVy cmF0dW0KU1RBVFVTOiBQYXNzZWQgYnkgV0c1IGJhbGxvdAoKUVVFU1RJT046CgpDb25zaWRl ciB0aGUgZm9sbG93aW5nIHByb2dyYW06CgogICAgICBQUk9HUkFNIGZvbwogICAgICAgIENI QVJBQ1RFUiwgVEFSR0VUIDo6IGMKICAgICAgICBDTEFTUygqKSwgUE9JTlRFUiA6OiBwCgog ICAgICAgIHAgPT4gYwogICAgICAgIFNFTEVDVCBUWVBFIChwKQogICAgICAgICAgVFlQRSBJ UyAoQ0hBUkFDVEVSKCopKQogICAgICAgICAgICBQUklOVCAqLCAnQ2hhcmFjdGVyIG9mIGxl bmd0aCAnLCBMRU4ocCkKICAgICAgICBFTkQgU0VMRUNUCiAgICAgIEVORAoKQ29uc3RyYWlu dCBDODE0IHNheXMgdGhhdCwgaW4gYSB0eXBlIGd1YXJkIHN0YXRlbWVudCwgdGhlIDx0eXBl LXNwZWM+CnNoYWxsIHNwZWNpZnkgdGhhdCBlYWNoIGxlbmd0aCB0eXBlIHBhcmFtZXRlciBp cyBhc3N1bWVkLgoKQ29uc3RyYWludCBDNDE2IGRvZXMgbm90IGxpc3QgYSB0eXBlIGd1YXJk IHN0YXRlbWVudCBhcyBhIGNvbnRleHQgaW4Kd2hpY2ggIioiIGNhbiBiZSB1c2VkIGFzIGEg bGVuZ3RoIHR5cGUgcGFyYW1ldGVyIGZvciBhIGNoYXJhY3Rlci4KCldhcyB0aGlzIHByb2dy YW0gaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZz8KCgpBTlNXRVI6CgpZZXMs IHRoaXMgcHJvZ3JhbSB3YXMgaW50ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZy4g IEVkaXRzIGFyZQpzdXBwbGllZCB0byBjb3JyZWN0IHRoaXMgb3ZlcnNpZ2h0LgoKCkVESVRT OgoKQWxsIGVkaXRzIHJlZmVyIHRvIDA0LTAwNy4gIFRoZXNlIGVkaXRzIGFzc3VtZSB0aGF0 IHRoZSBlZGl0cyBmb3IKRjAzLzAwMjYgYXJlIHBhc3NlZC4KCls0MTo5XSAgIFJlbW92ZSAi b3IiLgpbNDE6OStdICBBZGQgYSBuZXcgbGlzdCBpdGVtOgogICAgICAgICAiKDMuNSkgaW4g dGhlIDx0eXBlLXNwZWM+IG9yIDxkZXJpdmVkLXR5cGUtc3BlYz4gb2YgYSB0eXBlCiAgICAg ICAgICBndWFyZCBzdGF0ZW1lbnQgKDguMS41KSwKICAgICAgICAgb3IiCls0MTozMytdIEFk ZCBhIG5ldyBsaXN0IGl0ZW06CiAgICAgICAgICIoMy41KSBJZiB1c2VkIGluIHRoZSA8dHlw ZS1zcGVjPiBvZiBhIHR5cGUgZ3VhcmQgc3RhdGVtZW50LAogICAgICAgICAgdGhlIGFzc29j aWF0aW5nIGVudGl0eSBhc3N1bWVzIGl0cyBsZW5ndGggZnJvbSB0aGUgc2VsZWN0b3IuIgoK ClNVQk1JVFRFRCBCWTogUm9iIEphbWVzCgpISVNUT1JZOiAwNC00MTMgICAgbTE3MCAgRjAz LzAwMjcgU3VibWl0dGVkCiAgICAgICAgIDA0LTQxM3IxICBtMTcwICBQYXNzZWQgYnkgSjMg bWVldGluZwogICAgICAgICAwNS0xNDYgICAgbTE3MSAgUGFzc2VkIEozIGxldHRlciBiYWxs b3QgIzEwCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxvdCBOMTY1 NyAtIGZpeCBlZGl0cwogICAgICAgICBOMTY2MyAgICAgICAgICAgUmVhZmZpcm1lZCBpbiBX RzUgYmFsbG90IE4xNjYxIG9uIE4xNjYwIC0gZml4CiAgICAgICAgICAgICAgICAgICAgICAg ICAgZWRpdHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5VTUJFUjogRjAzLzAwMjgKVElUTEU6IENv bW1hcyBpbiBjb21wbGV4IG5hbWVsaXN0IG91dHB1dApLRVlXT1JEUzogTmFtZWxpc3QsIGNv bXBsZXggZm9ybWF0dGluZywgY29tbWEsIHNlbWljb2xvbgpERUZFQ1QgVFlQRTogRXJyYXR1 bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKClRoZSA3dGggcGFy YWdyYXBoIGluIDEwLjkuMiBmb3IgbGlzdCBkaXJlY3RlZCBvdXRwdXQgc2F5czoKCiJDb21w bGV4IGNvbnN0YW50cyBhcmUgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMgd2l0aCBhCnNlcGFy YXRvciBiZXR3ZWVuIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMsIGVhY2gKcHJvZHVj ZWQgYXMgZGVmaW5lZCBhYm92ZSBmb3IgcmVhbCBjb25zdGFudHMuIFRoZSBzZXBhcmF0b3IK aXMgYSBjb21tYSBpZiB0aGUgZGVjaW1hbCBlZGl0IG1vZGUgaXMgUE9JTlQ7IGl0IGlzIGEK c2VtaWNvbG9uIGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZSBpcyBDT01NQS4iCgpUaGVyZSBh cmUgc2ltaWxhciB3b3JkcyBpbiBtb3N0IG90aGVyIHBsYWNlcyB3aGVyZSBjb21wbGV4CmZv cm1hdHRpbmcgaXMgZGVzY3JpYmVkLgoKVGhlIHNlY29uZCBwYXJhZ3JhcGggb2YgMTAuMTAu MS4zIE5hbWVsaXN0IGdyb3VwIG9iamVjdCBsaXN0Cml0ZW1zIHNheXM6CgoiV2hlbiB0aGUg bmV4dCBlZmZlY3RpdmUgaXRlbSBpcyBvZiB0eXBlIGNvbXBsZXgsIHRoZSBpbnB1dApmb3Jt IG9mIHRoZSBpbnB1dCB2YWx1ZSBjb25zaXN0cyBvZiBhIGxlZnQgcGFyZW50aGVzaXMKZm9s bG93ZWQgYnkgYW4gb3JkZXJlZCBwYWlyIG9mIG51bWVyaWMgaW5wdXQgZmllbGRzCnNlcGFy YXRlZCBieSBhIGNvbW1hIGFuZCBmb2xsb3dlZCBieSBhIHJpZ2h0IHBhcmVudGhlc2lzLiAi CgpPdGhlciBwbGFjZXMgY29ycmVjdGx5IGRlc2NyaWJlIG5hbWVsaXN0IGNvbXBsZXggb3V0 cHV0IGFzCmhhdmluZyBhIHNlcGFyYXRvciwgZWl0aGVyIGEgY29tbWEgb3IgYSBzZW1pY29s b24sIGRlcGVuZGluZwpvbiB0aGUgZGVjaW1hbCBlZGl0IG1vZGUuCgpTaG91bGQgdGhlIG5h bWVsaXN0IHZlcnNpb24gYmUgcmV3b3JkZWQgdG8gc2F5ICJjb21tYSBvcgpzZW1pY29sb24i PwoKQU5TV0VSOgoKWWVzLiAgRWRpdHMgYXJlIHN1cHBsaWVkIHRvIGNvcnJlY3QgdGhpcyBv dmVyc2lnaHQuCkluIGFkZGl0aW9uLCBhIHNpbWlsYXIgaXNzdWUgZXhpc3RzIGZvciBsaXN0 IGRpcmVjdGVkIGlucHV0IG9mCnVuZGVsaW1pdGVkIGNoYXJhY3RlciB2YWx1ZXMgYW5kIG5h bWVsaXN0IG91dHB1dCBvZiBjaGFyYWN0ZXIKdmFsdWVzLgoKRURJVFM6CgpBbGwgZWRpdHMg cmVmZXIgdG8gMDQtMDA3LgoKWzI0MDoxM10gUmVwbGFjZSAiY29tbWEiIHdpdGggImNvbW1h IChpZiB0aGUgZGVjaW1hbCBlZGl0IG1vZGUgaXMKICAgICAgICAgUE9JTlQpLCBzZW1pY29s b24gKGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZSBpcyBDT01NQSkiLgoKWzI0NDoyOV0gUmVw bGFjZSAiYSBjb21tYSIgYnkgImEgY29tbWEgKGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZQog ICAgICAgICBpcyBQT0lOVCkgb3IgYSBzZW1pY29sb24gKGlmIHRoZSBkZWNpbWFsIGVkaXQg bW9kZSBpcwogICAgICAgICBDT01NQSksIi4KWzI0NDozMF0gQmVmb3JlICJUaGUgZmlyc3Qi LCBhZGQgdGhlIGZvbGxvd2luZyBzZW50ZW5jZToKICAgICAgICAgICBUaGUgc2VwYXJhdG9y IGlzIGEgY29tbWEgaWYgdGhlIGRlY2ltYWwgZWRpdCBtb2RlIGlzCiAgICAgICAgICAgUE9J TlQ7IGl0IGlzIGEgc2VtaWNvbG9uIGlmIHRoZSBkZWNpbWFsIGVkaXQgbW9kZSBpcwogICAg ICAgICAgIENPTU1BLgpbMjQ0OjMyXSBSZXBsYWNlICJjb21tYSIgd2l0aCAic2VwYXJhdG9y Ii4KWzI0NDozM10gUmVwbGFjZSAiY29tbWEiIHdpdGggInNlcGFyYXRvciIuCgpbMjQ1OjRd IEFmdGVyICJjb21tYSwiIGluc2VydCAiIHNlbWljb2xvbiwiLgoKU1VCTUlUVEVEIEJZOiBE aWNrIEhlbmRyaWNrc29uCgpISVNUT1JZOiAwNC00MDkgICAgbTE3MCAgRjAzLzAwMjggU3Vi bWl0dGVkCiAgICAgICAgIDA0LTQwOXIxICBtMTcwICBQYXNzZWQgYnkgSjMgbWVldGluZwog ICAgICAgICAwNS0xNDYgICAgbTE3MSAgRmFpbGVkIGludGVycCBsZXR0ZXIgYmFsbG90ICMx MAogICAgICAgICAwNS0xNjQgICAgbTE3MSAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAg ICAgMDUtMTcwICAgIG0xNzIgIEZhaWxlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMQogICAgICAg ICAwNS0yNTcgICAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAgICAgMDYtMTMz ICAgIG0xNzUgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMgogICAgICAgICBOMTY1OCAg ICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcgLSBmaXggZWRpdHMKICAgICAgICAg TjE2NjMgICAgICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2 MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDAyOQpUSVRMRTogTmVnYXRpdmUg emVybyBhbmQgaW50cmluc2ljIGZ1bmN0aW9ucwpLRVlXT1JEUzogTmVnYXRpdmUgemVybywg SUVFRSwgaW50cmluc2ljIGZ1bmN0aW9ucwpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6 IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCjQuNC4yIHN0YXRlcwogICJQcm9j ZXNzb3JzIHRoYXQgZGlzdGluZ3Vpc2ggYmV0d2VlbiBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUg emVyb3MKICAgc2hhbGwgdHJlYXQgdGhlbSBhcyBlcXVpdmFsZW50IC4uLiBhcyBhY3R1YWwg YXJndW1lbnRzIHRvIGludHJpbnNpYwogICBwcm9jZWR1cmVzIG90aGVyIHRoYW4gdGhvc2Ug Zm9yIHdoaWNoIGl0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkCiAgIHRoYXQgbmVnYXRpdmUg emVybyBpcyBkaXN0aW5ndWlzaGVkIgoKUTEuIERvZXMgdGhpcyBtZWFuIHRoYXQgVFJBTlNG RVIoLTAuMCw0MikgaXMgcmVxdWlyZWQgdG8gZ2l2ZSB0aGUgc2FtZQogICAgYW5zd2VyIGFz IFRSQU5TRkVSKCswLjAsNDIpPyAgVGhlIGRlZmluaXRpb24gb2YgVFJBTlNGRVIgaGFzIG5v CiAgICBleHBsaWNpdCBtZW50aW9uIG9mIG5lZ2F0aXZlIHplcm8uCgpRMi4gRG9lcyB0aGlz IG1lYW4gdGhhdCBNRVJHRSgrMC4wLC0wLjAsZmxhZykgYWx3YXlzIHJldHVybnMgKzAuMD8K ClEzLiBEb2VzIHRoaXMgbWVhbiB0aGF0IFNQUkVBRCgtMC4wLDIpIGhhcyB0aGUgdmFsdWUg WyswLjAsKzAuMF0KICAgIGluc3RlYWQgb2YgWy0wLjAsLTAuMF0/CgpRNC4gRG9lcyB0aGlz IG1lYW4gdGhhdCBSRVNIQVBFKFstMC4wXSxbMV0pIGhhcyB0aGUgdmFsdWUgWyswLjBdCiAg ICBpbnN0ZWFkIG9mIFstMC4wXT8KClE1LiBEb2VzIHRoaXMgbWVhbiB0aGF0IFNFVF9FWFBP TkVOVCgtMC4wLDEwKSBpcyArMC4wIG5vdCAtMC4wPwoKUTYuIERvZXMgdGhpcyBtZWFuIHRo YXQgaWYgYSBSRUFMIHZhcmlhYmxlIFggaGFzIGEgbmVnYXRpdmUgemVybwogICAgdmFsdWUs IFJFQUwoeCwuLi4pIGhhcyBhIHBvc2l0aXZlIHplcm8gdmFsdWU/CgpRNy4gRG9lcyB0aGlz IG1lYW4gdGhhdCBDTVBMWCgwLC0wLjApIGhhcyB0aGUgdmFsdWUgKCswLjAsKzAuMCkKICAg IGluc3RlYWQgb2YgKCswLjAsLTAuMCk/CgpROC4gRG9lcyB0aGlzIG1lYW4gdGhhdCBpZiBh IGNvbXBsZXggdmFyaWFibGUgQyBoYXMgYSBuZWdhdGl2ZSB6ZXJvCiAgICBpbWFnaW5hcnkg cGFydCwgdGhhdCBBSU1BRyhDKSByZXR1cm5zICswLjAgaW5zdGVhZCBvZiAtMC4wPwoKUTku IEluIGFueSBvdGhlciBpbnRyaW5zaWMgZnVuY3Rpb24sIGlmIHRoZSBkZWZpbml0aW9uIG9m IHRoZQogICAgaW50cmluc2ljIHdvdWxkIGltcGx5IGEgZGlmZmVyZW50IHJlc3VsdCBmb3Ig bmVnYXRpdmUgemVybyB0aGFuCiAgICBmb3IgcG9zaXRpdmUgemVybywgZG9lcyB0aGlzIG1l YW4gdGhhdCB0aGUgZnVuY3Rpb24gcmV0dXJucyB0aGUKICAgIHBvc2l0aXZlIHplcm8gYW5z d2VyIGZvciBhIG5lZ2F0aXZlIHplcm8gYXJndW1lbnQ/CgpBTlNXRVI6CgpRMS4gIE5vLiAg VGhlIGRlZmluaXRpb24gb2YgVFJBTlNGRVIgZXhwbGljaXRseSBzdGF0ZXMgdGhhdCBpdHMg cmVzdWx0CiAgICAgaGFzIHRoZSBzYW1lIHBoeXNpY2FsIHJlcHJlc2VudGF0aW9uIGFzIGl0 cyBmaXJzdCBhcmd1bWVudC4gIFRoaXMKICAgICB3b3VsZCBub3QgYmUgcG9zc2libGUgaWYg ImVxdWl2YWxlbnQiIG1lYW50IHRoYXQgdGhlIGV4YWN0IHNhbWUKICAgICByZXN1bHQgaGFk IHRvIGJlIHByb2R1Y2VkLgoKUTIuICBObywgdGhpcyB3b3VsZCBjb250cmFkaWN0IHRoZSBk ZWZpbml0aW9uIG9mIE1FUkdFLgoKUTMuICBOby4gIFNQUkVBRCAicmVwbGljYXRlcyIgaXRz IGFyZ3VtZW50LCB3aGljaCBtZWFucyB0aGF0IHRoZSB2YWx1ZQogICAgIG9mIGVhY2ggY29w eSBpcyB0aGUgc2FtZSBhcyB0aGUgb3JpZ2luYWwsIG5vdCBqdXN0IGNvbXBhcmUgZXF1YWwu CiAgICAgQXMgd2l0aCBUUkFOU0ZFUiwgdGhpcyB3b3VsZCBub3QgYmUgcG9zc2libGUgd2l0 aCB0aGUgc3VnZ2VzdGVkCiAgICAgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHRleHQgaW4gNC40 LjIuCgpRNCsuICBOby4gIEFzIHdpdGggdGhlIHByZXZpb3VzIHF1ZXN0aW9ucywgdGhpcyB3 b3VsZCByZXF1aXJlIGFuCiAgICAgIG92ZXJseSBzdHJpY3QgaW50ZXJwcmV0YXRpb24gb2Yg dGhlIHRlcm0gImVxdWl2YWxlbnQiLAogICAgICBjb250cmFkaWN0aW5nIHRoZSBjbGVhciBp bnRlbnQgb2YgdGhlIGZ1bmN0aW9uIGluIHF1ZXN0aW9uLgoKRElTQ1VTU0lPTjoKClRoZSB0 ZXJtICJlcXVpdmFsZW50IiBpbiB0aGUgcXVvdGVkIHRleHQgaW4gNC40LjIgcmVmZXJzIHRv IHRoZQpjb25jZXB0IG9mIG1hdGhlbWF0aWNhbCBlcXVpdmFsZW5jZSwgbm90IHBoeXNpY2Fs IG9yIGNvbXB1dGF0aW9uYWwKZXF1aXZhbGVuY2UuICBBIGNsYXJpZnlpbmcgZWRpdCBpcyBz dXBwbGllZC4KCkVESVRTOgoKWzM4OjJdIEJlZm9yZSAiZXF1aXZhbGVudCIgaW5zZXJ0ICJt YXRoZW1hdGljYWxseSIuCgpTVUJNSVRURUQgQlk6IE1hbGNvbG0gQ29oZW4KCkhJU1RPUlk6 IDA0LTQyMiAgICBtMTcwICBGMDMvMDAyOSBTdWJtaXR0ZWQgLSBQYXNzZWQgYnkgSjMgbWVl dGluZwogICAgICAgICAwNS0xNDYgICAgbTE3MSAgUGFzc2VkIEozIGxldHRlciBiYWxsb3Qg IzEwCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxvdCBOMTY1Nwog ICAgICAgICBOMTY2MyAgICAgICAgICAgUmVhZmZpcm1lZCBpbiBXRzUgYmFsbG90IE4xNjYx IG9uIE4xNjYwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpOVU1CRVI6IEYwMy8wMDQ1ClRJVExFOiBG aW5hbGl6YXRpb24gYW5kIGFzc3VtZWQtc2l6ZSBhcmd1bWVudHMgd2l0aCBJTlRFTlQoT1VU KQpLRVlXT1JEUzogZmluYWxpemF0aW9uLCBJTlRFTlQoT1VUKSwgYXNzdW1lZCBzaXplLCBk dW1teSBhcmd1bWVudApERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBX RzUgYmFsbG90CgpRVUVTVElPTjoKCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToK Ck1PRFVMRSBtCiAgVFlQRSB0CiAgICBJTlRFR0VSIDo6IGkKICBDT05UQUlOUwogICAgRklO QUwgOjogZmluYWxpemVUCiAgRU5EIFRZUEUKQ09OVEFJTlMKICBFTEVNRU5UQUwgU1VCUk9V VElORSBmaW5hbGl6ZVQoZikKICAgIFRZUEUodCksIElOVEVOVChJTk9VVCkgOjogZgogICAg ZiVpID0gMTAKICBFTkQgU1VCUk9VVElORQpFTkQgTU9EVUxFCgpTVUJST1VUSU5FIHh5eiAo ZCkKICBVU0UgbQogIFRZUEUodCksIElOVEVOVChPVVQpIDo6IGQoKikKRU5EIFNVQlJPVVRJ TkUKClBST0dSQU0gZm9vCiAgVVNFIG0KICBFWFRFUk5BTCB4eXoKICBUWVBFKHQpIDo6IGEo MTApID0gdCg1KQogIENBTEwgeHl6KGEoMikpCkVORCBQUk9HUkFNCgo0LjUuNS4yIG9mIEZv cnRyYW4gMjAwMyBzdGF0ZXM6CiAgICBXaGVuIGEgcHJvY2VkdXJlIGlzIGludm9rZWQsIGEg bm9ucG9pbnRlciwgbm9uYWxsb2NhdGFibGUgb2JqZWN0CiAgICB0aGF0IGlzIGFuIGFjdHVh bCBhcmd1bWVudCBhc3NvY2lhdGVkIHdpdGggYW4gSU5URU5UKE9VVCkgZHVtbXkKICAgIGFy Z3VtZW50IGlzIGZpbmFsaXplZC4KCkZvciBhc3N1bWVkLXNpemUgYXJndW1lbnRzLCB0aGlz IHNpdHVhdGlvbiBpcyBzaW1pbGFyIHRvIHRoYXQgb2YKZGVmYXVsdCBpbml0aWFsaXphdGlv biB3aXRoIElOVEVOVChPVVQpLiAgRGVmYXVsdCBpbml0aWFsaXphdGlvbiBpcwpwcm9oaWJp dGVkIGZvciBJTlRFTlQoT1VUKSwgYXNzdW1lZC1zaXplIGR1bW15IGFyZ3VtZW50cyBieSBD NTQ0LiAgQQpzaW1pbGFyIHJlc3RyaWN0aW9uIG9uIGZpbmFsaXphdGlvbiBtYXkgaGF2ZSBi ZWVuIG92ZXJsb29rZWQuCgpXYXMgdGhpcyBwcm9ncmFtIGludGVuZGVkIHRvIGJlIHN0YW5k YXJkLWNvbmZvcm1pbmc/CgpBTlNXRVI6CgpObywgdGhpcyBwcm9ncmFtIHdhcyBub3QgaW50 ZW5kZWQgdG8gYmUgc3RhbmRhcmQtY29uZm9ybWluZy4gIEFuIGVkaXQKaXMgc3VwcGxpZWQg dG8gY29ycmVjdCB0aGlzIG92ZXJzaWdodC4KCkRJU0NVU1NJT046CgpUaGUgdW5zdGF0ZWQg cGhpbG9zb3BoeSBvZiBhc3N1bWVkLXNpemUgYXJyYXlzIGluIHRoZSBzdGFuZGFyZCBpcyB0 aGF0Cm5vIGFjdGlvbiBpcyBhbGxvd2VkIG9uIGFuIGFzc3VtZWQtc2l6ZSBhcnJheSB3aGlj aCB3b3VsZCBuZWVkIHRvIGJlCmFwcGxpZWQgZWxlbWVudGFsbHkgdG8gdGhlIHdob2xlIGFy cmF5LiAgVGhhdCBpcyB3aHkgbm8gd2hvbGUgYXJyYXkKYXNzaWdubWVudCBpcyBhbGxvd2Vk LCBmb3IgZXhhbXBsZS4KCkluIGFjY29yZGFuY2Ugd2l0aCB0aGlzIHBoaWxvc29waHksCigx KSB0eXBlcyB3aXRoIHVsdGltYXRlIGFsbG9jYXRhYmxlIGNvbXBvbmVudHMgYWxzbyBuZWVk IHRvIGJlCiAgICBleGNsdWRlZCBmcm9tIGJlaW5nIElOVEVOVChPVVQpIGFzc3VtZWQtc2l6 ZSwgYXMgcHJvY2VkdXJlCiAgICBpbnZvY2F0aW9uIGluIHRoaXMgY2FzZSByZXF1aXJlcyBk ZWFsbG9jYXRpb24gb2YgYWxsIHRoZQogICAgYWxsb2NhdGVkIGNvbXBvbmVudHMuCgooMikg cG9seW1vcnBoaWMgSU5URU5UKE9VVCkgYXNzdW1lZC1zaXplIGFycmF5cyBzaG91bGQgYWxz byBiZQogICAgZXhjbHVkZWQsIGFzIHRoZXkgbWlnaHQgaGF2ZSBmaW5hbGlzYXRpb24sIGRl ZmF1bHQgaW5pdGlhbGlzYXRpb24KICAgIG9yIGFsbG9jYXRhYmxlIGNvbXBvbmVudHMuCgpU aGlzIGludGVycCBzdWJzdW1lcyBGb3J0cmFuIDIwMDMgaW50ZXJwICMwMDYwLgoKRURJVFM6 CgpBbGwgZWRpdHMgcmVmZXIgdG8gMDQtMDA3LgoKWzgwOjldICBCZWZvcmUgIm9mIGEgdHlw ZSIsIGluc2VydAogICAgICAgICJwb2x5bW9ycGhpYywgb2YgYSBmaW5hbGl6YWJsZSB0eXBl LCBvZiBhIHR5cGUgd2l0aCBhbgogICAgICAgICB1bHRpbWF0ZSBhbGxvY2F0YWJsZSBjb21w b25lbnQsIG9yIi4KClNVQk1JVFRFRCBCWTogUm9iIEphbWVzCgpISVNUT1JZOiAwNS0xMzYg ICAgbTE3MSAgRjAzLzAwNDUgU3VibWl0dGVkLCBwYXNzZWQgYnkgSjMgbWVldGluZwogICAg ICAgICAwNS0xNzAgICAgbTE3MiAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzExCiAgICAg ICAgIE4xNjIyICAgICBtMTcyICBGYWlsZWQgV0c1IGJhbGxvdCBOMTYyOQogICAgICAgICAw NS0yNTYgICAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAgICAgMDYtMTMzICAg IG0xNzUgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMgogICAgICAgICBOMTY1OCAgICAg bTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcKICAgICAgICAgTjE2NjMgICAgICAgICAg IFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2MAoKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKTlVNQkVSOiBGMDMvMDA1NgpUSVRMRTogTnVsbCBpbnB1dCB2YWx1ZXMgYW5kIGxp c3QtZGlyZWN0ZWQgVUREVElPCktFWVdPUkRTOiBudWxsIHZhbHVlLCBVRERUSU8KREVGRUNU IFRZUEU6IEludGVycHJldGF0aW9uClNUQVRVUzogUGFzc2VkIGJ5IFdHNSBiYWxsb3QKClFV RVNUSU9OOgoKQ29uc2lkZXIgdGhlIGZvbGxvd2luZyBwcm9ncmFtOgoKICAgICAgTU9EVUxF IG0KICAgICAgICBQUklWQVRFCiAgICAgICAgVFlQRSwgUFVCTElDIDo6IHQKICAgICAgICAg IElOVEVHRVIgaQogICAgICAgICAgSU5URUdFUiBqCiAgICAgICAgQ09OVEFJTlMKICAgICAg ICAgIFBST0NFRFVSRSwgUFJJVkFURSA6OiByZWFkRm9ybWF0dGVkID0+IHJlYWRGb3JtYXR0 ZWRUCiAgICAgICAgICBHRU5FUklDIDo6IFJFQUQoRk9STUFUVEVEKSA9PiByZWFkRm9ybWF0 dGVkCiAgICAgICAgRU5EIFRZUEUKICAgICAgQ09OVEFJTlMKICAgICAgICBTVUJST1VUSU5F IHJlYWRmb3JtYXR0ZWRUKGR0diwgdW5pdCwgaW90eXBlLCB2X2xpc3QsIGlvc3RhdCwgaW9t c2cpCiAgICAgICAgICBDTEFTUyh0KSwgICAgIElOVEVOVChJTk9VVCkgOjogZHR2CiAgICAg ICAgICBJTlRFR0VSLCAgICAgIElOVEVOVChJTikgICAgOjogdW5pdAogICAgICAgICAgQ0hB UkFDVEVSKCopLCBJTlRFTlQoSU4pICAgIDo6IGlvdHlwZQogICAgICAgICAgSU5URUdFUiwg ICAgICBJTlRFTlQoSU4pICAgIDo6IHZfbGlzdCg6KQogICAgICAgICAgSU5URUdFUiwgICAg ICBJTlRFTlQoT1VUKSAgIDo6IGlvc3RhdAogICAgICAgICAgQ0hBUkFDVEVSKCopLCBJTlRF TlQoSU5PVVQpIDo6IGlvbXNnCiAgICAgICAgICBSRUFEICh1bml0LCAqKSBkdHYlaQogICAg ICAgICAgUkVBRCAodW5pdCwgKikgZHR2JWoKICAgICAgICBFTkQgU1VCUk9VVElORQogICAg ICBFTkQgTU9EVUxFCgogICAgICBQUk9HUkFNIHAKICAgICAgICBVU0UgbQogICAgICAgIElO VEVHRVIgaQogICAgICAgIFRZUEUodCkgeCwgeSwgegogICAgICAgIHglaSA9IDEwCiAgICAg ICAgeCVqID0gMTUKICAgICAgICB5JWkgPSAyMAogICAgICAgIHklaiA9IDI1CiAgICAgICAg eiVpID0gMzAKICAgICAgICB6JWogPSAzNQogICAgICAgIGkgPSAxMDAKICAgICAgICBSRUFE ICgqLCopIHgsIHksIHosIGkKICAgICAgICBQUklOVCAqLCB4LCB5LCB6LCBpCiAgICAgIEVO RCBQUk9HUkFNCgpUaGUgZm9sbG93aW5nIGlzIGdpdmVuIGFzIGlucHV0IHRvIHRoaXMgcHJv Z3JhbToKCjEwNDQgMjE2NyAzOTc3IC8KMSAyIDMKCgoxMC45LjEuMSBvZiBGb3J0cmFuIDIw MDMgKE51bGwgdmFsdWVzKSBzdGF0ZXM6CgogICAgQSBzbGFzaCBlbmNvdW50ZXJlZCBhcyBh IHZhbHVlIHNlcGFyYXRvciBkdXJpbmcgZXhlY3V0aW9uIG9mIGEKICAgIGxpc3QtZGlyZWN0 ZWQgaW5wdXQgc3RhdGVtZW50IGNhdXNlcyB0ZXJtaW5hdGlvbiBvZiBleGVjdXRpb24gb2YK ICAgIHRoYXQgaW5wdXQgc3RhdGVtZW50IGFmdGVyIHRoZSBhc3NpZ25tZW50IG9mIHRoZSBw cmV2aW91cyB2YWx1ZS4KCklmIGEgY2hpbGQgZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnQgZW5j b3VudGVycyBhIHNsYXNoIGFzIGEgdmFsdWUKc2VwYXJhdG9yLCBpdCBpcyB1bmNsZWFyIHdo ZXRoZXIgdGhpcyBzdGF0ZW1lbnQgYXBwbGllcyB0byBqdXN0IHRoZQpjaGlsZCBzdGF0ZW1l bnQsIG9yIHRvIHRoZSBwYXJlbnQgZGF0YSB0cmFuc2ZlciBzdGF0ZW1lbnQgYXMgd2VsbC4K VGhlIHNpZ25pZmljYW5jZSBmb3IgYW55IHN1YnNlcXVlbnQgY2hpbGQgc3RhdGVtZW50IGlz IGFsc28gdW5jbGVhci4KCldoYXQgaXMgdGhlIGJlaGF2aW91ciBvZiB0aGlzIHByb2dyYW0g d2hlbiBpdCBpcyBnaXZlbiB0aGUgc3BlY2lmaWVkCmlucHV0PwoKCkFOU1dFUjoKCldoZW4g YSBjaGlsZCBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudCBlbmNvdW50ZXJzIGEgc2xhc2ggYXMg YSB2YWx1ZQpzZXBhcmF0b3IsIG9ubHkgdGhhdCBkYXRhIHRyYW5zZmVyIHN0YXRlbWVudCBl bmNvdW50ZXJzIHRoZSBzbGFzaC4KTm9uZSBvZiBpdHMgcGFyZW50IGRhdGEgdHJhbnNmZXIg c3RhdGVtZW50cyBlbmNvdW50ZXJzIHRoZSBzbGFzaC4KT25seSB0aGUgZGF0YSB0cmFuc2Zl ciBzdGF0ZW1lbnQgdGhhdCBlbmNvdW50ZXJzIHRoZSBzbGFzaCBpcwp0ZXJtaW5hdGVkLgoK VGhlIHByb2dyYW0gYWJvdmUgc2hvdWxkIHByaW50IHRoZSBmb2xsb3dpbmc6CiAxMDQ0LjIx NjcuMzk3Ny4yNS4xLjIuMwp3aGVyZSAiLiIgcmVwcmVzZW50cyBhIHZhbHVlIHNlcGFyYXRv ci4KCgpFRElUUzoKCk5vbmUuCgoKU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMKCkhJU1RPUlk6 IDA1LTE3MSAgICBtMTcyICBGMDMvMDA1NiBTdWJtaXR0ZWQKICAgICAgICAgMDUtMjE4ICAg IG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBQ YXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTIKICAgICAgICAgTjE2NTggICAgIG0xNzYgIFBh c3NlZCBXRzUgYmFsbG90IE4xNjU3CiAgICAgICAgIE4xNjYzICAgICAgICAgICBSZWFmZmly bWVkIGluIFdHNSBiYWxsb3QgTjE2NjEgb24gTjE2NjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5V TUJFUjogRjAzLzAwNTcKVElUTEU6IE5hbWVsaXN0IEkvTyBhbmQgVUREVElPCktFWVdPUkRT OiBuYW1lbGlzdCwgVUREVElPCkRFRkVDVCBUWVBFOiBFcnJhdHVtClNUQVRVUzogUGFzc2Vk IGJ5IFdHNSBiYWxsb3QKClFVRVNUSU9OOgoKQ2FuIG5hbWVsaXN0IEkvTyBldmVyIGludm9r ZSBhIHVzZXItZGVmaW5lZCBkZXJpdmVkLXR5cGUgSS9PCnByb2NlZHVyZT8KCjEwLjEwLjEu MiBvZiBGb3J0cmFuIDIwMDMgKE5hbWVsaXN0IGlucHV0IHZhbHVlcykgaW1wbGllcyB0aGF0 Cm5hbWVsaXN0IGlucHV0IGNhbm5vdCBpbnZva2UgYSB1c2VyLWRlZmluZWQgZGVyaXZlZC10 eXBlIEkvTwpwcm9jZWR1cmUuICBJdCBzYXlzIHRoYXQsIGZvciBhIGRlcml2ZWQtdHlwZSB2 YXJpYWJsZSwgInRoZSBlZmZlY3QgaXMKYXMgaWYgdGhlIHZhcmlhYmxlIHJlcHJlc2VudGVk IHdlcmUgZXhwYW5kZWQgaW50byBhIHNlcXVlbmNlIG9mIHNjYWxhcgpsaXN0IGl0ZW1zIG9m IGludHJpbnNpYyBkYXRhIHR5cGVzIiwgd2hpY2ggd291bGQgcHJlY2x1ZGUgYW55CmRlcml2 ZWQtdHlwZSBJL08uCgpIb3dldmVyLCB0aGUgc2FtZSBzZW50ZW5jZSBzYXlzIHRoYXQgdGhp cyBpcyBkb25lICJpbiB0aGUgc2FtZSB3YXkKdGhhdCBmb3JtYXR0ZWQgaW5wdXQvb3V0cHV0 IGxpc3QgaXRlbXMgYXJlIGV4cGFuZGVkICg5LjUuMikiLCB3aGljaAp3b3VsZCByZXN1bHQg aW4gc29tZSBlZmZlY3RpdmUgbGlzdCBpdGVtcyBvZiBkZXJpdmVkIHR5cGUuCgo5LjUuMy42 IGFuZCA5LjUuMy43LjIgYWxzbyBpbXBseSB0aGF0IGEgdXNlci1kZWZpbmVkIGRlcml2ZWQt dHlwZSBJL08KcHJvY2VkdXJlIGNvdWxkIGJlIGludm9rZWQgZm9yIGEgbmFtZWxpc3QgZ3Jv dXAgb2JqZWN0LgoKCkFOU1dFUjoKClllcywgbmFtZWxpc3QgSS9PIGNhbiBpbnZva2UgYSB1 c2VyLWRlZmluZWQgZGVyaXZlZC10eXBlIEkvTwpwcm9jZWR1cmUuICBFZGl0cyBhcmUgcHJv dmlkZWQgdG8gY29ycmVjdCB0aGlzIHByb2JsZW0uCgoKRURJVFM6CgpBbGwgZWRpdHMgcmVm ZXIgdG8gMDQtMDA3LgoKWzI0NDo4XSAgIFJlbW92ZSAib2YgaW50cmluc2ljIGRhdGEgdHlw ZXMiLgoKWzI0NDoxMF0gIFJlbW92ZSAiaW50cmluc2ljIi4KCgpTVUJNSVRURUQgQlk6IFJv YiBKYW1lcwoKSElTVE9SWTogMDUtMTcyICAgIG0xNzIgIEYwMy8wMDU3IFN1Ym1pdHRlZAog ICAgICAgICAwNS0yMTkgICAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAgICAg MDYtMTMzICAgIG0xNzUgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMgogICAgICAgICBO MTY1OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2NTcKICAgICAgICAgTjE2NjMg ICAgICAgICAgIFJlYWZmaXJtZWQgaW4gV0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2MAoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDA1OApUSVRMRTogUmVjdXJzaXZlIG5hbWVs aXN0IG91dHB1dApLRVlXT1JEUzogVUREVElPLCBuYW1lbGlzdCwgb3V0cHV0CkRFRkVDVCBU WVBFOiBJbnRlcnByZXRhdGlvbgpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVT VElPTjoKCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbToKCiAgICAgIE1PRFVMRSBt b2QKICAgICAgICBQUklWQVRFCiAgICAgICAgVFlQRSwgUFVCTElDIDo6IG5vZGUKICAgICAg ICAgIElOVEVHRVIgOjogdmFsdWUgPSAwCiAgICAgICAgQ09OVEFJTlMKICAgICAgICAgIFBS T0NFRFVSRSwgUFJJVkFURSA6OiBub2RlRm9ybWF0dGVkV3JpdGUgPT4gd3JpdGVyb3V0aW5l CiAgICAgICAgICBHRU5FUklDIDo6IFdSSVRFKEZPUk1BVFRFRCkgPT4gbm9kZUZvcm1hdHRl ZFdyaXRlCiAgICAgICAgRU5EIFRZUEUKICAgICAgQ09OVEFJTlMKICAgICAgICBTVUJST1VU SU5FIHdyaXRlcm91dGluZShkdHYsIHVuaXQsIGlvdHlwZSwgdmxpc3QsIGlvc3RhdCwgaW9t c2cpCiAgICAgICAgICBDTEFTUyhub2RlKSwgSU5URU5UKElOKSA6OiBkdHYKICAgICAgICAg IElOVEVHRVIsIElOVEVOVChJTikgOjogdW5pdAogICAgICAgICAgQ0hBUkFDVEVSKExFTj0q KSwgSU5URU5UKElOKSA6OiBpb3R5cGUKICAgICAgICAgIElOVEVHRVIsIElOVEVOVChJTikg Ojogdmxpc3QoOikKICAgICAgICAgIElOVEVHRVIsIElOVEVOVChPVVQpIDo6IGlvc3RhdAog ICAgICAgICAgQ0hBUkFDVEVSKExFTj0qKSwgSU5URU5UKElOT1VUKSA6OiBpb21zZwoKICAg ICAgICAgIFJFQUwgYQogICAgICAgICAgTkFNRUxJU1QgL2lubmVyLyBhCiAgICAgICAgICBh ID0gNC4wCiAgICAgICAgICBXUklURSh1bml0LCBOTUw9aW5uZXIpCiAgICAgICAgRU5EIFNV QlJPVVRJTkUKICAgICAgRU5EIE1PRFVMRQoKICAgICAgUFJPR1JBTSBmb28KICAgICAgICBV U0UgbW9kCiAgICAgICAgVFlQRShub2RlKSA6OiBhKDIpCiAgICAgICAgTkFNRUxJU1QgL291 dGVyLyBhCiAgICAgICAgYSgxKSV2YWx1ZSA9IDEKICAgICAgICBhKDIpJXZhbHVlID0gMgog ICAgICAgIFdSSVRFKCosIE5NTD1vdXRlcikKICAgICAgRU5EIFBST0dSQU0KCklzIHRoZSBm b2xsb3dpbmcgb3V0cHV0IHN0YW5kYXJkLWNvbmZvcm1pbmcgZm9yIHRoZSBhYm92ZSBwcm9n cmFtPyAgSWYKbm90LCBwbGVhc2UgZ2l2ZSBhbiBleGFtcGxlIG9mIHN0YW5kYXJkLWNvbmZv cm1pbmcgb3V0cHV0LgoKICZPVVRFUgogQT0gJklOTkVSCiBBPTQuMDAwMDAwMDAwCiAvLCAg JklOTkVSCiBBPTQuMDAwMDAwMDAwCiAvCiAvCgpBTlNXRVI6CgpZZXMKCkVESVRTOgoKTm9u ZQoKU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMKCkhJU1RPUlk6IDA1LTE3MyAgICBtMTcyICBG MDMvMDA1OCBTdWJtaXR0ZWQKICAgICAgICAgMDUtMjIwICAgIG0xNzMgIFBhc3NlZCBieSBK MyBtZWV0aW5nCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgSjMgbGV0dGVyIGJh bGxvdCAjMTIKICAgICAgICAgTjE2NTggICAgIG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4x NjU3CiAgICAgICAgIE4xNjYzICAgICAgICAgICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3Qg TjE2NjEgb24gTjE2NjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5VTUJFUjogRjAzLzAwNjAKVElU TEU6IERlZmF1bHQgaW5pdGlhbGl6YXRpb24gb2YgSU5URU5UKE9VVCksIGFzc3VtZWQtc2l6 ZSBhcnJheXMKS0VZV09SRFM6IGRlZmF1bHQgaW5pdGlhbGl6YXRpb24sIElOVEVOVChPVVQp LCBhc3N1bWVkIHNpemUsIHBvbHltb3JwaGlzbQpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFU VVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCkNvbnNpZGVyIHRoZSBmb2xs b3dpbmcgcHJvZ3JhbToKCiAgICAgIE1PRFVMRSBtCiAgICAgICAgVFlQRSBiYXNlCiAgICAg ICAgICBJTlRFR0VSIEkKICAgICAgICBFTkQgVFlQRQogICAgICAgIFRZUEUsIEVYVEVORFMo YmFzZSkgOjogY2hpbGQKICAgICAgICAgIElOVEVHRVIgOjogaiA9IDUKICAgICAgICBFTkQg VFlQRQogICAgICBDT05UQUlOUwogICAgICAgIFNVQlJPVVRJTkUgc3ViKGIpCiAgICAgICAg ICBDTEFTUyhiYXNlKSwgSU5URU5UKE9VVCkgOjogYigqKQogICAgICAgIEVORCBTVUJST1VU SU5FCiAgICAgIEVORCBNT0RVTEUKCiAgICAgIFBST0dSQU0gZm9vCiAgICAgICAgVVNFIG0K ICAgICAgICBUWVBFKGNoaWxkKSA6OiBjKDMpCiAgICAgICAgYyVpID0gMTIKICAgICAgICBj JWogPSA0NwogICAgICAgIENBTEwgc3ViKGMpCiAgICAgICAgUFJJTlQgKiwgYyVqCiAgICAg IEVORCBQUk9HUkFNCgpDNTQ0IHByZXZlbnRzIG5vbnBvbHltb3JwaGljLCBJTlRFTlQoT1VU KSwgYXNzdW1lZC1zaXplIGFycmF5cyBmcm9tCmhhdmluZyBkZWZhdWx0IGluaXRpYWxpemF0 aW9uLiAgVGhlIHBvbHltb3JwaGljIGNhc2UsIGhvd2V2ZXIsIGlzIG5vdApjaGVja2FibGUg YXQgY29tcGlsZSB0aW1lLCBzbyBpdCBjYW5ub3QgYmUgYSBjb25zdHJhaW50LgoKV2FzIGl0 IGludGVuZGVkIHRoYXQgdGhlIGR5bmFtaWMgdHlwZSBvZiBhbiBJTlRFTlQoT1VUKSwgYXNz dW1lZC1zaXplCmFycmF5IGNvdWxkIGhhdmUgZGVmYXVsdCBpbml0aWFsaXphdGlvbj8gIElm IHNvLCB3aGF0IGRvZXMgdGhlIGFib3ZlCnByb2dyYW0gcHJpbnQ/CgpBTlNXRVI6CgpObywg dGhpcyB3YXMgbm90IGludGVuZGVkLgoKVGhpcyBpbnRlcnAgaXMgc3Vic3VtZWQgYnkgRm9y dHJhbiAyMDAzIGludGVycCAjIDQ1LAp3aGljaCBjb250YWlucyBlZGl0cyBtYWtpbmcgdGhl IGFib3ZlIGV4YW1wbGUgbm9uLWNvbmZvcm1pbmcuCgpFRElUUzoKCk5vbmUKClNVQk1JVFRF RCBCWTogUm9iIEphbWVzCgpISVNUT1JZOiAwNS0xNzUgICAgbTE3MiAgRjAzLzAwNjAgU3Vi bWl0dGVkCiAgICAgICAgIDA1LTIyMiAgICBtMTczICBFZGl0IHByb3ZpZGVkCiAgICAgICAg IDA1LTIyMnIxICBtMTczICBTdWJzdW1lZCBieSAwMDQ1IC0gUGFzc2VkICBieSBKMyBtZWV0 aW5nCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAj MTIKICAgICAgICAgTjE2NTggICAgIG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4xNjU3CiAg ICAgICAgIE4xNjYzICAgICAgICAgICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3QgTjE2NjEg b24gTjE2NjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5VTUJFUjogRjAzLzAwNjEKVElUTEU6IFBv bHltb3JwaGlzbSBhbmQgZXhwbGljaXQtc2hhcGUgb3IgYXNzdW1lZC1zaXplIGR1bW15IGFy Z3VtZW50cwpLRVlXT1JEUzogcG9seW1vcnBoaXNtLCBhc3N1bWVkIHNpemUsIGFjdHVhbCBh cmd1bWVudCwgZHVtbXkgYXJndW1lbnQKREVGRUNUIFRZUEU6IEVycmF0dW0KU1RBVFVTOiBQ YXNzZWQgYnkgV0c1IGJhbGxvdAoKUVVFU1RJT046CgpDb25zaWRlciB0aGUgZm9sbG93aW5n IHByb2dyYW06CgogICAgICBNT0RVTEUgbQogICAgICAgIFRZUEUgdDEKICAgICAgICAgIElO VEVHRVIgOjogaQogICAgICAgIEVORCBUWVBFCiAgICAgIENPTlRBSU5TCiAgICAgICAgU1VC Uk9VVElORSBhYmMgKGIpCiAgICAgICAgICBDTEFTUyh0MSkgOjogYigqKQogICAgICAgICAg RVhURVJOQUwgeHl6CiAgICAgICAgICBDQUxMIHh5eihiKDIpKQogICAgICAgIEVORCBTVUJS T1VUSU5FCiAgICAgIEVORCBNT0RVTEUKCiAgICAgIFNVQlJPVVRJTkUgeHl6KGQpCiAgICAg ICAgVVNFIG0KICAgICAgICBUWVBFKHQxKSA6OiBkKDIsMykKICAgICAgRU5EIFNVQlJPVVRJ TkUKCiAgICAgIFBST0dSQU0gZm9vCiAgICAgICAgVVNFIG0KICAgICAgICBUWVBFLCBFWFRF TkRTKHQxKSA6OiB0MgogICAgICAgICAgSU5URUdFUiA6OiBqCiAgICAgICAgRU5EIFRZUEUK ICAgICAgICBUWVBFKHQyKSBhKDEwKQogICAgICAgIENBTEwgYWJjKGEoMikpCiAgICAgIEVO RCBQUk9HUkFNCgpEdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiAieHl6IiwgdGhlIGR1bW15IGFy Z3VtZW50ICJkIiBpcyBzZXF1ZW5jZQphc3NvY2lhdGVkIHdpdGggdGhlIGFzc29jaWF0ZWQg YWN0dWFsIGFyZ3VtZW50ICh3aGljaCBpcyB0cnVlIGlmICJkIgpoYXMgZWl0aGVyIGV4cGxp Y2l0IHNoYXBlIG9yIGFzc3VtZWQgc2l6ZSkuICBUaGlzIGltcGxpZXMgdGhhdCB0aGUKZW50 aXR5IHRoYXQgaXMgYXJndW1lbnQgYXNzb2NpYXRlZCB3aXRoICJkIiBtdXN0IGJlIGNvbnRp Z3VvdXMuCgpUaGUgZHVtbXkgYXJndW1lbnQgImIiIG9mIHRoZSBtb2R1bGUgc3Vicm91dGlu ZSAiYWJjIiBpcyBwb2x5bW9ycGhpYywKYW5kIGl0cyBkeW5hbWljIHR5cGUgaW4gdGhpcyBj YXNlIGlzIGRpZmZlcmVudCB0aGFuIGl0cyBkZWNsYXJlZCB0eXBlLgpJbiB0aGlzIHNjb3Bp bmcgdW5pdCwgInh5eiIgaGFzIGFuIGltcGxpY2l0IGludGVyZmFjZSwgc28gd2Uga25vdyBp dApkb2Vzbid0IGhhdmUgYW55IHBvbHltb3JwaGljIGFyZ3VtZW50cy4gIFNvLCB0aGUgZHVt bXkgYXJndW1lbnQgb2YKInh5eiIgbXVzdCBiZSBub25wb2x5bW9ycGhpYywgYW5kIGhhdmUg dGhlIHNhbWUgZGVjbGFyZWQgdHlwZSBhcyB0aGUKYWN0dWFsIGFyZ3VtZW50IChiKDIpKS4K ClRoaXMgaW1wbGllcyB0aGF0IHdlIG9ubHkgd2FudCB0byBwYXNzIHRoZSBwYXJlbnQgcG9y dGlvbiBvZiBiKDIpLgpCdXQgdGhlIGR1bW15IGFyZ3VtZW50IG9mICJ4eXoiIG1heSBiZSBh biBleHBsaWNpdC1zaGFwZSBvcgphc3N1bWVkLXNpemUgYXJyYXkgKGluIHRoaXMgY2FzZSwg aXQgaXMgYW4gZXhwbGljaXQtc2hhcGUgYXJyYXkpLgoKVGhpcyBtZWFucyB0aGF0IHdlIGhh dmUgdG8gcGFzcyBhIGNvbnRpZ3VvdXMgYXJyYXkgdG8gInh5eiIuICBUaGlzCndvdWxkbid0 IGJlIGEgcHJvYmxlbSBpZiB0aGUgZHluYW1pYyB0eXBlIG9mICJiIiB3YXMgdGhlIHNhbWUg YXMgdGhlCmRlY2xhcmVkIHR5cGUsIGJ1dCBpbiB0aGlzIGNhc2UgaXQgaXMgbm90LiAgVGhl IHBhcmVudCBwb3J0aW9uIG9mICJiIgooZnJvbSBlbGVtZW50IDIgdG8gdGhlIGVuZCBvZiB0 aGUgYXJyYXkpIG11c3QgYmUgY29waWVkIGludG8gYQp0ZW1wb3JhcnkgYXJyYXkuCgpUaGUg Y29tcGlsZXIgY2Fubm90IHBvc3NpYmx5IGtub3cgaG93IGJpZyAiYiIgaXMgYmVjYXVzZSBp dCBpcyBhbgphc3N1bWVkLXNpemUgYXJyYXksIHNvIGl0IGlzIGltcG9zc2libGUgdG8gbWFr ZSBzdWNoIGEgY29weS4KCldhcyB0aGlzIHByb2dyYW0gaW50ZW5kZWQgdG8gYmUgc3RhbmRh cmQtY29uZm9ybWluZz8KCkFOU1dFUjoKCk5vLCB0aGlzIHByb2dyYW0gd2FzIG5vdCBpbnRl bmRlZCB0byBiZSBzdGFuZGFyZC1jb25mb3JtaW5nLiAgRWRpdHMKYXJlIHByb3ZpZGVkIHRv IGNvcnJlY3QgdGhpcyBvdmVyc2lnaHQuCgpFRElUUzoKCkFsbCBlZGl0cyByZWZlciB0byAw NC0wMDcuCgpbMjcwOjI3XSAgQ2hhbmdlICJhc3N1bWVkLXNoYXBlIG9yIHBvaW50ZXIiIHRv ICJhc3N1bWVkLXNoYXBlLAogICAgICAgICAgcG9pbnRlciwgb3IgcG9seW1vcnBoaWMiLgoK U1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMKCkhJU1RPUlk6IDA1LTE3NiAgICBtMTcyICBGMDMv MDA2MSBTdWJtaXR0ZWQKICAgICAgICAgMDUtMjIzICAgIG0xNzMgIFBhc3NlZCBieSBKMyBt ZWV0aW5nCiAgICAgICAgIDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxv dCAjMTIKICAgICAgICAgTjE2NTggICAgIG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4xNjU3 CiAgICAgICAgIE4xNjYzICAgICAgICAgICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3QgTjE2 NjEgb24gTjE2NjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5VTUJFUjogRjAzLzAwNjIKVElUTEU6 IEZpbmFsaXphdGlvbiBvZiBhcnJheSBjb25zdHJ1Y3RvcnMKS0VZV09SRFM6IEZpbmFsaXph dGlvbiwgYXJyYXkgY29uc3RydWN0b3IKREVGRUNUIFRZUEU6IEVycmF0dW0KU1RBVFVTOiBQ YXNzZWQgYnkgV0c1IGJhbGxvdAoKUVVFU1RJT046CgpDb25zaWRlciB0aGUgZm9sbG93aW5n IHByb2dyYW06CgogICAgICBNT0RVTEUgbQogICAgICAgIFRZUEUgdAogICAgICAgICAgSU5U RUdFUiBpCiAgICAgICAgQ09OVEFJTlMKICAgICAgICAgIEZJTkFMIDo6IGZpbmFsaXplVAog ICAgICAgIEVORCBUWVBFCiAgICAgIENPTlRBSU5TCiAgICAgICAgU1VCUk9VVElORSBmaW5h bGl6ZVQob2JqKQogICAgICAgICAgVFlQRSh0KSA6OiBvYmooOikKICAgICAgICAgIFBSSU5U ICosICdGaW5hbGl6aW5nIGEgcmFuay0xIGFycmF5IG9mIHR5cGUgdCcKICAgICAgICBFTkQg U1VCUk9VVElORQogICAgICBFTkQgTU9EVUxFCgogICAgICBQUk9HUkFNIGZvbwogICAgICAg IFVTRSBtCiAgICAgICAgVFlQRSh0KSA6OiBhCiAgICAgICAgYSVpID0gNQogICAgICAgIFBS SU5UICosICgvIChhLCBpPTEsNSkgLykKICAgICAgRU5EIFBST0dSQU0KCklmIHRoZSBQUklO VCBzdGF0ZW1lbnQgaW4gdGhlIG1haW4gcHJvZ3JhbSB3YXMgcHJpbnRpbmcgYSBmdW5jdGlv bgpyZXN1bHQgb3IgYSBzdHJ1Y3R1cmUgY29uc3RydWN0b3IsIHJhdGhlciB0aGFuIGFuIGFy cmF5IGNvbnN0cnVjdG9yLAppdCBpcyBjbGVhciB0aGF0IHRoZSBvYmplY3Qgc2hvdWxkIGJl IGZpbmFsaXplZCBhZnRlciB0aGF0IFBSSU5UCnN0YXRlbWVudC4KCkhvd2V2ZXIsIGZvciBh cnJheSBjb25zdHJ1Y3RvcnMsIHRoaXMgZG9lcyBub3QgYXBwZWFyIHRvIGJlIHRoZSBjYXNl LgpJbiB0aGUgbWFpbiBwcm9ncmFtIGFib3ZlLCBzaG91bGQgdGhlIGVudGl0eSBjcmVhdGVk IGJ5IHRoZSBhcnJheQpjb25zdHJ1Y3RvciBiZSBmaW5hbGl6ZWQgYWZ0ZXIgZXhlY3V0aW9u IG9mIHRoZSBQUklOVCBzdGF0ZW1lbnQ/CgpBTlNXRVI6CgpZZXMsIHRoZSBhcnJheSBjb25z dHJ1Y3RvciBzaG91bGQgYmUgZmluYWxpemVkLiAgRWRpdHMgYXJlIHByb3ZpZGVkIHRvCmNv cnJlY3QgdGhpcyBvdmVyc2lnaHQuCgpFRElUUzoKClRoaXMgZWRpdCByZWZlcnMgdG8gMDQt MDA3LgoKWzU5OjI3XSAgQWZ0ZXIgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgInN0cnVjdHVy ZSBjb25zdHJ1Y3RvciIsIGluc2VydAogICAgICAgICAib3IgYXJyYXkgY29uc3RydWN0b3Ii LiAgT24gdGhlIHNhbWUgbGluZSwgZGVsZXRlIHRoZSBzZWNvbmQKICAgICAgICAgb2NjdXJy ZW5jZSBvZiAic3RydWN0dXJlIi4KClRoaXMgZWRpdCByZWZlcnMgdG8gdGhlIGVkaXQgaW50 cm9kdWNlZCBieSBpbnRlcnByZXRhdGlvbiBGMDMvMDAwNy4KCiAgICAgICAgIEFmdGVyIHRo ZSBmaXJzdCBvY2N1cnJlbmNlIG9mICJzdHJ1Y3R1cmUgY29uc3RydWN0b3IiLCBpbnNlcnQK ICAgICAgICAgIm9yIGFycmF5IGNvbnN0cnVjdG9yIi4gSW4gdGhlIHNhbWUgc2VudGVuY2Us IGRlbGV0ZSB0aGUgc2Vjb25kCiAgICAgICAgIG9jY3VycmVuY2Ugb2YgInN0cnVjdHVyZSIu CgpTVUJNSVRURUQgQlk6IFJvYiBKYW1lcwoKSElTVE9SWTogMDUtMTc3ICAgIG0xNzIgIEYw My8wMDYyIFN1Ym1pdHRlZAogICAgICAgICAwNS0yMjQgICAgbTE3MyAgUGFzc2VkIGJ5IEoz IG1lZXRpbmcKICAgICAgICAgMDYtMTMzICAgIG0xNzUgIFBhc3NlZCBKMyBsZXR0ZXIgYmFs bG90ICMxMgogICAgICAgICBOMTY1OCAgICAgbTE3NiAgUGFzc2VkIFdHNSBiYWxsb3QgTjE2 NTcgLSBmaXggZWRpdHMKICAgICAgICAgTjE2NjMgICAgICAgICAgIFJlYWZmaXJtZWQgaW4g V0c1IGJhbGxvdCBOMTY2MSBvbiBOMTY2MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBG MDMvMDA2NgpUSVRMRTogUHJlY2lzaW9uIG9mIG9wZXJhdGlvbgpLRVlXT1JEUzogcHJlY2lz aW9uLCBvcGVyYXRpb24KREVGRUNUIFRZUEU6IEludGVycHJldGF0aW9uClNUQVRVUzogUGFz c2VkIGJ5IFdHNSBiYWxsb3QKClFVRVNUSU9OOgoKR2l2ZW4KICBSRUFMIFgKICBYID0gLi4u IHNvbWUgdmFsdWUgLi4uCiAgSUYoIChYKzMuMCkgLkVRLiAzLjAgKS4uLiAgCm1heSB0aGUg WCszLjAgYmUgY29tcHV0ZWQgd2l0aCBtb3JlIHJhbmdlIGFuZC9vciBwcmVjaXNpb24gdGhh biB0aGF0Cm9mIFJFQUw/ICBJbiBvdGhlciB3b3JkcywgaXMgUFJFQ0lTSU9OKFgpIC5FUS4g UFJFQ0lTSU9OKFgrMy4wKSBhbHdheXMKdHJ1ZTsgb3IgaXMgUFJFQ0lTSU9OKFgpIC5MVC4g UFJFQ0lTSU9OKFgrMy4wKSBzb21ldGltZXMgdHJ1ZT8KClJlZmVyZW5jZXMgYXJlIHRvIEoz LzA0LTAwNy4KCjIuNC4xLjEgSW50cmluc2ljIHR5cGUgaGFzICJUaGUga2luZCB0eXBlIHBh cmFtZXRlciBpbmRpY2F0ZXMgLi4uIHRoZQpkZWNpbWFsIHByZWNpc2lvbiBhbmQgZXhwb25l bnQgcmFuZ2UgZm9yIHRoZSByZWFsIGFuZCBjb21wbGV4IHR5cGVzLAouLi4iCgo3LjEuNC4y IFR5cGUsIHR5cGUgcGFyYW1ldGVycywgYW5kIHNoYXBlIG9mIHRoZSByZXN1bHQgb2YgYW4g b3BlcmF0aW9uCmhhcyBpbiAoNCkgIkZvciBhbiBleHByZXNzaW9uIHgxIG9wIHgyIHdoZXJl IG9wIGlzIGEgbnVtZXJpYyBpbnRyaW5zaWMKYmluYXJ5IG9wZXJhdG9yIHdpdGggYm90aCBv cGVyYW5kcyBvZiB0aGUgc2FtZSB0eXBlIGFuZCBraW5kIHR5cGUKcGFyYW1ldGVycywgLi4u LCB0aGUga2luZCB0eXBlIHBhcmFtZXRlciBvZiB0aGUgZXhwcmVzc2lvbiBpcwppZGVudGlj YWwgdG8gdGhhdCBvZiBlYWNoIG9wZXJhbmQuIgoKU2luY2UgWCBhbmQgMy4wIGFyZSB0aGUg c2FtZSB0eXBlIGFuZCBoYXZlIHRoZSBzYW1lIGtpbmQgdHlwZQpwYXJhbWV0ZXJzLCA3LjEu NC4yICg0KSBhcHBlYXJzIHRvIHJlcXVpcmUgdGhlIFgrMy4wIGhhdmUganVzdCB0aGUKcmFu Z2UgYW5kIHByZWNpc2lvbiBvZiBSRUFMOyBubyBtb3JlLCBubyBsZXNzIChvdGhlcndpc2Us IHRoZQpwcmVjaXNpb24gaXMgbm90IGlkZW50aWNhbCkuICBCdXQsIHNldmVyYWwgbWVtYmVy cyBvZiB0aGUgSjMgZW1haWwKbGlzdCBoYXZlIHNhaWQgdGhhdCB0aGUgIisiIG1heSBiZSBk b25lIHdpdGggbW9yZSBwcmVjaXNpb247IHVzaW5nCmVpdGhlciAxLjQoNikgb3IgNy4xLjgu MyBhcyB0aGUgcmVhc29uLgoKUGVyaGFwcyBzb21ldGhpbmcgYWxvbmUgdGhlIGxpbmVzIG9m ICJUaGUgdmFsdWVzIG9mIGZsb2F0aW5nIG9wZXJhbmRzCmFuZCBvZiB0aGUgcmVzdWx0cyBv ZiBmbG9hdGluZyBleHByZXNzaW9ucyBtYXkgYmUgcmVwcmVzZW50ZWQgaW4KZ3JlYXRlciBw cmVjaXNpb24gYW5kIHJhbmdlIHRoYW4gdGhhdCByZXF1aXJlZCBieSB0aGUga2luZCB0eXBl CnBhcmFtZXRlcjsgdGhlIGtpbmQgdHlwZSBwYXJhbWV0ZXIgaXMgbm90IGNoYW5nZWQgdGhl cmVieS4iIHNob3VsZCBiZQphZGRlZCB0byA3LjEuNC4yKDQpLgoKUVVFU1RJT046CgpJcyBQ UkVDSVNJT04oWCkgLkVRLiBQUkVDSVNJT04oWCszLjApIGFsd2F5cyB0cnVlPyAKCkFOU1dF UjoKClllcywgdGhhdCBpcyB0aGUgZGVmaW5pdGlvbiBvZiBQUkVDSVNJT04uICBUaGUgUFJF Q0lTSU9OIGludHJpbnNpYyBoYXMKbm90aGluZyB0byBkbyB3aXRoIHRoZSBwcmVjaXNpb24g aW4gd2hpY2ggdGhlIGNvbXB1dGF0aW9uIFgrMy4wIGlzCmNvbXB1dGVkLiAgNy4xLjQuMiAo NCkgb25seSBkZXNjcmliZXMgdGhlIHByZWNpc2lvbiBvZiB0aGUgZW5kIHJlc3VsdApvZiB0 aGUgY29tcHV0YXRpb24uCgpUaGUgd2Vhc2VsIHdvcmRzIGluIDEuNCAoNikgYWxsb3cgdGhl IHByb2Nlc3NvciB0byBjb21wdXRlIHRoaXMgZXhwcmVzc2lvbgppbiBoaWdoZXIgcHJlY2lz aW9uIHRoYW4gUkVBTC4KCkVESVRTOgoKTm9uZQoKU1VCTUlUVEVEIEJZOiBGcmVkIFR5ZGVt YW4KCkhJU1RPUlk6IDA1LTE5MyAgICBtMTczICBGMDMvMDA2NiBTdWJtaXR0ZWQKICAgICAg ICAgMDUtMTkzcjEgIG0xNzMgIFBhc3NlZCBieSBKMyBtZWV0aW5nCiAgICAgICAgIDA2LTEz MyAgICBtMTc1ICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTIKICAgICAgICAgTjE2NTgg ICAgIG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4xNjU3CiAgICAgICAgIE4xNjYzICAgICAg ICAgICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3QgTjE2NjEgb24gTjE2NjAKCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KCk5VTUJFUjogRjAzLzAwNjcKVElUTEU6IEFjY3VyYWN5IG9mIGNvbnZlcnNp b24gb2YgcmVhbCBsaXRlcmFsIGNvbnN0YW50cwpLRVlXT1JEUzogY29udmVyc2lvbiwgYWNj dXJhY3kKREVGRUNUIFRZUEU6IEludGVycHJldGF0aW9uClNUQVRVUzogUGFzc2VkIGJ5IFdH NSBiYWxsb3QKClFVRVNUSU9OOgoKVGhlIGZvbGxvd2luZyBpcyBpbmRlcGVuZGVudCBvZiBJ RUVFLTc1NC4KCkZvcnRyYW4gMjAwMyAxMC42LjEuMi42IGNvdmVycyBjb252ZXJzaW9ucyBi ZXR3ZWVuICJkZWNpbWFsIHZhbHVlcyIKYW5kICJpbnRlcm5hbCB2YWx1ZXMiIGFuZCBoYXMg c29tZSBzdHJvbmcgcmVxdWlyZW1lbnRzLgoKQXJlIHRoZXJlIGVxdWl2YWxlbnQgcmVxdWly ZW1lbnRzIG9uIGFjY3VyYWN5IGZvciBjb252ZXJzaW9ucyBvZiByZWFsCmxpdGVyYWwgY29u c3RhbnRzPyAgU2VjdGlvbnMgNC4xLjIgYW5kIDQuNC4yIHNlZW1zIGxpa2UgdGhlIHBsYWNl cyB0bwpmaW5kIHRoZW0gKGlmIHRoZXkgZXhpc3QpLgoKV2hhdCByb3VuZGluZyBtb2RlIGlz IHVzZWQgZm9yIGNvbnZlcnNpb25zIG9mIHJlYWwgbGl0ZXJhbCBjb25zdGFudHM/CklzIHRo ZSBzYW1lIHJvdW5kaW5nIG1vZGUgdXNlZCBmb3IgYWxsIHN1Y2ggY29udmVyc2lvbnM/CgpU aGUgZm9sbG93aW5nIGZvdXIgcXVlc3Rpb25zIGFyZSBhYm91dCBwb3NpdGl2ZSB2YWx1ZXMs IGJ1dCB0aGUgc2FtZQp3b3VsZCBhcHBseSB0byBuZWdhdGl2ZSB2YWx1ZXMuCgpNdXN0IGFs bCAiZGVjaW1hbCB2YWx1ZXMiIGluIHRoZSByYW5nZSBzbWFsbGVzdCBub24temVybyBmaW5p dGUKaW50ZXJuYWwgdmFsdWUgKHdoaWNoIGNvdWxkIGJlIGEgZGVub3JtYWwpIHRvIGxhcmdl c3QgZmluaXRlIGludGVybmFsCnZhbHVlLCBlLmcuIDAuMSwgYmUgY29udmVydGVkPwoKTXVz dCBhbGwgImRlY2ltYWwgdmFsdWVzIiBpbiB0aGUgcmFuZ2UgemVybyB0byBzbWFsbGVzdCBu b24temVybwpmaW5pdGUgaW50ZXJuYWwgdmFsdWUsIGUuZy4gMS4wZS05OTk5OTk5OTksIGJl IGNvbnZlcnRlZD8KCk11c3QgYWxsICJkZWNpbWFsIHZhbHVlcyIgbGFyZ2VyIHRoYW4gdGhl IGxhcmdlc3QgZmluaXRlIGludGVybmFsCnZhbHVlLCBlLmcuIDkuOWUrOTk5OTk5OTk5OTks IGJlIGNvbnZlcnRlZCBpZiBpbmZpbml0eSBpcyBhbiBpbnRlcm5hbAp2YWx1ZT8gIFdoYXQg ZG9lcyBuZWFyZXN0IHJvdW5kaW5nIG1lYW4gZm9yIHRoZXNlIGNhc2VzPwoKV2hhdCByZXF1 aXJlbWVudHMgZXhpc3QgZm9yICJkZWNpbWFsIHZhbHVlcyIgbGFyZ2VyIHRoYW4gdGhlIGxh cmdlc3QKZmluaXRlIGludGVybmFsIHZhbHVlIGlmIGluZmluaXR5IGlzIG5vdCBhbiBpbnRl cm5hbCB2YWx1ZT8KCkFOU1dFUjoKClRoZXJlIGFyZSBubyByZXF1aXJlbWVudHMgb24gYWNj dXJhY3kgZm9yIGNvbnZlcnNpb25zIG9mIHJlYWwgbGl0ZXJhbApjb25zdGFudHMuCgpUaGUg c3RhbmRhcmQgZG9lcyBub3Qgc3BlY2lmeSB0aGUgcm91bmRpbmcgbW9kZSB1c2VkIGZvciBj b252ZXJzaW9ucwpvZiByZWFsIGxpdGVyYWwgY29uc3RhbnRzLCBub3IgZG9lcyBpdCByZXF1 aXJlIHRoZSBzYW1lIHJvdW5kaW5nIG1vZGUKdG8gYmUgdXNlZCBmb3IgYWxsIGNvbnZlcnNp b25zLgoKV2hldGhlciBhbGwgZGVjaW1hbCB2YWx1ZXMgaW4gYW55IHJhbmdlIGNhbiBiZSBj b252ZXJ0ZWQgaXMgbm90CnN0YW5kYXJkaXplZC4KClRoZXJlIGFyZSBubyByZXF1aXJlbWVu dHMgZm9yICJkZWNpbWFsIHZhbHVlcyIgbGFyZ2VyIHRoYW4gdGhlIGxhcmdlc3QKZmluaXRl IGludGVybmFsIHZhbHVlIHdoZXRoZXIgaW5maW5pdHkgaXMgYW4gaW50ZXJuYWwgdmFsdWUg b3Igbm90LgoKRURJVFM6CgpOb25lCgpTVUJNSVRURUQgQlk6IEZyZWQgVHlkZW1hbgoKSElT VE9SWTogMDUtMjA2ICAgIG0xNzMgIEYwMy8wMDY3IFN1Ym1pdHRlZAoJIDA1LTIwNnIxICBt MTczICBQYXNzZWQgYnkgSjMgbWVldGluZwogICAgICAgICAwNi0xMzMgICAgbTE3NSAgUGFz c2VkIEozIGxldHRlciBiYWxsb3QgIzEyCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNz ZWQgV0c1IGJhbGxvdCBOMTY1NwogICAgICAgICBOMTY2MyAgICAgICAgICAgUmVhZmZpcm1l ZCBpbiBXRzUgYmFsbG90IE4xNjYxIG9uIE4xNjYwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpOVU1C RVI6IEYwMy8wMDY4ClRJVExFOiBGaXJzdCBjaGFyYWN0ZXIgb2YgbmFtZWxpc3Qgb3V0cHV0 IHJlY29yZHMKS0VZV09SRFM6IG5hbWVsaXN0LCBvdXRwdXQsIFVERFRJTwpERUZFQ1QgVFlQ RTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKClRo ZSBsYXN0IHNlbnRlbmNlIG9mIDEwLjEwLjIuMiBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzOgog ICAgRXhjZXB0IGZvciBjb250aW51YXRpb24gb2YgZGVsaW1pdGVkIGNoYXJhY3RlciBzZXF1 ZW5jZXMsIGVhY2gKICAgIG91dHB1dCByZWNvcmQgYmVnaW5zIHdpdGggYSBibGFuayBjaGFy YWN0ZXIuCgpJZiBhIG5hbWVsaXN0IG91dHB1dCBzdGF0ZW1lbnQgY2F1c2VzIGEgdXNlci1k ZWZpbmVkIGRlcml2ZWQtdHlwZQpvdXRwdXQgcHJvY2VkdXJlIHRvIGJlIGNhbGxlZCwgd2Fz IGl0IGludGVuZGVkIHRvIGJlIHN0YW5kYXJkLQpjb25mb3JtaW5nIGZvciB0aGF0IHByb2Nl ZHVyZSB0byBjcmVhdGUgYSBuZXcgcmVjb3JkIChwZXJoYXBzIGJ5IHVzaW5nCnRoZSBzbGFz aCBlZGl0IGRlc2NyaXB0b3IpIHRoYXQgZG9lcyBub3QgYmVnaW4gd2l0aCBhIGJsYW5rIGNo YXJhY3Rlcj8KCkFOU1dFUjoKClllcywgdGhpcyBzaXR1YXRpb24gd2FzIGludGVuZGVkIHRv IGJlIHN0YW5kYXJkLWNvbmZvcm1pbmcuICBFeHBsaWNpdCBmb3JtYXR0aW5nCmluIHVzZXIt ZGVmaW5lZCBkZXJpdmVkLXR5cGUgb3V0cHV0IGlzIG5vdCByZXF1aXJlZCB0byBvdXRwdXQg YSBsZWFkaW5nIGJsYW5rCmluIHRoaXMgY2FzZS4gIEFuIGVkaXQgaXMgcHJvdmlkZWQgdG8g Y29ycmVjdCB0aGlzIG92ZXJzaWdodC4KCkVESVRTOgoKQWxsIGVkaXRzIHJlZmVyIHRvIDA0 LTAwNy4KClsyNDc6MzNdIEJlZm9yZSAiY29udGludWF0aW9uIiwgaW5zZXJ0ICJuZXcgcmVj b3JkcyBjcmVhdGVkIGJ5CiAgICAgICAgIGV4cGxpY2l0IGZvcm1hdHRpbmcgd2l0aGluIGEg dXNlci1kZWZpbmVkIGRlcml2ZWQtdHlwZQogICAgICAgICBvdXRwdXQgcHJvY2VkdXJlIG9y IGJ5Ii4KClNVQk1JVFRFRCBCWTogUm9iIEphbWVzCgpISVNUT1JZOiAwNS0yMjcgICAgbTE3 MyAgRjAzLzAwNjggU3VibWl0dGVkCiAgICAgICAgIDA1LTIyN3IxICBtMTczICBQYXNzZWQg YnkgSjMgbWVldGluZwogICAgICAgICAwNi0xMzMgICAgbTE3NSAgUGFzc2VkIEozIGxldHRl ciBiYWxsb3QgIzEyCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxv dCBOMTY1NwogICAgICAgICBOMTY2MyAgICAgICAgICAgUmVhZmZpcm1lZCBpbiBXRzUgYmFs bG90IE4xNjYxIG9uIE4xNjYwCiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTlVNQkVSOiBGMDMvMDA2 OQpUSVRMRTogUHJvY2VkdXJlIHBvaW50ZXJzIGluIGRlZmluZWQgYXNzaWdubWVudApLRVlX T1JEUzogcHJvY2VkdXJlIHBvaW50ZXIsIGRlZmluZWQgYXNzaWdubWVudApERUZFQ1QgVFlQ RTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCklu IDEyLjMuMi4xLjEgb2YgRm9ydHJhbiAyMDAzLCBhdCBbMjYyOjgtOV0sIHRoZSBmb2xsb3dp bmcgaXMgc3RhdGVkCmFib3V0IHRoZSBkdW1teSBhcmd1bWVudHMgb2YgYSBmdW5jdGlvbiB0 aGF0IGRlZmluZXMgYW4gb3BlcmF0aW9uOgogICAgVGhlIGR1bW15IGFyZ3VtZW50cyBzaGFs bCBiZSBub25vcHRpb25hbCBkdW1teSBkYXRhIG9iamVjdHMgYW5kCiAgICBzaGFsbCBiZSBz cGVjaWZpZWQgd2l0aCBJTlRFTlQgKElOKS4KClRoaXMgY2xlYXJseSBzdGF0ZXMgdGhhdCBh IGR1bW15IGFyZ3VtZW50IG9mIHN1Y2ggYSBmdW5jdGlvbiBjYW5ub3QgYmUKYSBwcm9jZWR1 cmUgcG9pbnRlci4gIFRoZSBzYW1lIGlzIG5vdCBzdGF0ZWQgZm9yIHRoZSBkdW1teSBhcmd1 bWVudHMKb2YgYSBzdWJyb3V0aW5lIHRoYXQgZGVmaW5lcyBhc3NpZ25tZW50LgoKV2FzIGl0 IGludGVuZGVkIHRoYXQgcHJvY2VkdXJlIHBvaW50ZXJzIHNob3VsZCBiZSBhbGxvd2VkIGlu IGRlZmluZWQKYXNzaWdubWVudCwgYnV0IG5vdCBpbiBkZWZpbmVkIG9wZXJhdGlvbnM/CgpB TlNXRVI6CgpOby4gIEl0IHdhcyBub3QgaW50ZW5kZWQgdGhhdCBwcm9jZWR1cmUgcG9pbnRl cnMgc2hvdWxkIGJlIGFsbG93ZWQgaW4KZWl0aGVyIGRlZmluZWQgYXNzaWdubWVudCBvciBk ZWZpbmVkIG9wZXJhdGlvbnMuICBBbiBlZGl0IGlzIHByb3ZpZGVkCnRvIGNvcnJlY3QgdGhp cyBvdmVyc2lnaHQuCgpFRElUUzoKCkFsbCBlZGl0cyByZWZlciB0byAwNC0wMDcuCgpbMjYz OjZdICBSZXBsYWNlICJFYWNoIGFyZ3VtZW50IHNoYWxsIGJlIG5vbm9wdGlvbmFsLiIgd2l0 aAogICAgICAgICAiVGhlIGR1bW15IGFyZ3VtZW50cyBzaGFsbCBiZSBub25vcHRpb25hbCBk dW1teSBkYXRhIG9iamVjdHMuIgoKU1VCTUlUVEVEIEJZOiBSb2IgSmFtZXMKCkhJU1RPUlk6 IDA1LTIyOCAgICBtMTczICBGMDMvMDA2OSBQYXNzZWQgYnkgSjMgbWVldGluZwogICAgICAg ICAwNi0xMzMgICAgbTE3NSAgUGFzc2VkIEozIGxldHRlciBiYWxsb3QgIzEyCiAgICAgICAg IE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxvdCBOMTY1NwogICAgICAgICBOMTY2 MyAgICAgICAgICAgUmVhZmZpcm1lZCBpbiBXRzUgYmFsbG90IE4xNjYxIG9uIE4xNjYwCgot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCgpOVU1CRVI6IEYwMy8wMDcwClRJVExFOiBDYW4gY2hpbGQgSS9P IHN0YXRlbWVudHMgYmUgYWR2YW5jaW5nIEkvTyBzdGF0ZW1lbnRzPwpLRVlXT1JEUzogVURE VElPLCBBRFZBTkNFPQpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBieSBX RzUgYmFsbG90CgpbMTc1OjMwLTMxXSBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzOgogICAgQW4g YWR2YW5jaW5nIGlucHV0L291dHB1dCBzdGF0ZW1lbnQgYWx3YXlzIHBvc2l0aW9ucyBhIHJl Y29yZCBmaWxlCiAgICBhZnRlciB0aGUgbGFzdCByZWNvcmQgcmVhZCBvciB3cml0dGVuLCB1 bmxlc3MgdGhlcmUgaXMgYW4gZXJyb3IKICAgIGNvbmRpdGlvbi4KClNpbmNlIGEgY2hpbGQg SS9PIHN0YXRlbWVudCBkb2VzIG5vdCBwb3NpdGlvbiBhIGZpbGUgYWZ0ZXIgdGhlIGxhc3QK UmVjb3JkIFsxOTQ6MTldWzE5OTo4LTldLCB0aGlzIGltcGxpZXMgdGhhdCBhIGNoaWxkIEkv TyBzdGF0ZW1lbnQgY2Fubm90IApiZSBhbiBhZHZhbmNpbmcgSS9PIHN0YXRlbWVudC4KClsx ODk6Ni05XSBvZiBGb3J0cmFuIDIwMDMgc3RhdGVzOgogICAgVGhlIEFEVkFOQ0U9IHNwZWNp ZmllciBkZXRlcm1pbmVzIHdoZXRoZXIgYWR2YW5jaW5nIGlucHV0L291dHB1dAogICAgb2Nj dXJzIGZvciB0aGlzIGlucHV0L291dHB1dCBzdGF0ZW1lbnQuIElmIFlFUyBpcyBzcGVjaWZp ZWQsCiAgICBhZHZhbmNpbmcgaW5wdXQvb3V0cHV0IG9jY3Vycy4gSWYgTk8gaXMgc3BlY2lm aWVkLCBub25hZHZhbmNpbmcKICAgIGlucHV0L291dHB1dCBvY2N1cnMgKDkuMi4zLjEpLiBJ ZiB0aGlzIHNwZWNpZmllciBpcyBvbWl0dGVkIGZyb20KICAgIGFuIGlucHV0L291dHB1dCBz dGF0ZW1lbnQgdGhhdCBhbGxvd3MgdGhlIHNwZWNpZmllciwgdGhlIGRlZmF1bHQKICAgIHZh bHVlIGlzIFlFUy4KClRoaXMgY2xlYXJseSBzdGF0ZXMgdGhhdCBhbnkgZGF0YSB0cmFuc2Zl ciBzdGF0ZW1lbnQgaXMgYW4gYWR2YW5jaW5nCkkvTyBzdGF0ZW1lbnQgaWYgdGhlIHZhbHVl ICdOTycgaXMgbm90IHNwZWNpZmllZCBmb3IgdGhlIEFEVkFOQ0U9CnNwZWNpZmllci4KClRo ZXNlIHR3byBzdGF0ZW1lbnRzIHNlZW0gdG8gY29udHJhZGljdCBlYWNoIG90aGVyLiAKClFV RVNUSU9OOgoKSWYgYSBjaGlsZCBJL08gc3RhdGVtZW50IGRvZXMgbm90IGhhdmUgYW4gQURW QU5DRT0gc3BlY2lmaWVyIHdpdGggdGhlCnZhbHVlICdOTycsIGlzIGl0IGFuIGFkdmFuY2lu ZyBJL08gc3RhdGVtZW50PwoKRElTQ1VTU0lPTjoKClRoZSBhbnN3ZXIgdG8gdGhpcyBxdWVz dGlvbiBhZmZlY3RzIHRoZSB2YWx1ZSBmb3IgdGhlIElPU1RBVCB2YXJpYWJsZQpmb3IgY2hp bGQgUkVBRCBzdGF0ZW1lbnRzIGluIHNvbWUgc2l0dWF0aW9ucy4gIEZvciBleGFtcGxlLCBp biB0aGUKZm9sbG93aW5nIHByb2dyYW0sIHRoZSB2YWx1ZSBvZiAic3RhdDEiIHNob3VsZCBi ZSBlcXVhbCB0byBJT1NUQVRfRU9GCmlmIHRoZSBjaGlsZCBSRUFEIHN0YXRlbWVudCBpcyBh ZHZhbmNpbmcsIGJ1dCBpdCBzaG91bGQgYmUgZXF1YWwgdG8KSU9TVEFUX0VPUiBpZiB0aGUg c3RhdGVtZW50IGlzIG5vbmFkdmFuY2luZy4KCiAgICAgIE1PRFVMRSBtCiAgICAgICAgVFlQ RSB0CiAgICAgICAgICBDSEFSQUNURVIoMikgOjogeCgyKQogICAgICAgIENPTlRBSU5TCiAg ICAgICAgICBQUk9DRURVUkUgOjogcmVhZFQKICAgICAgICAgIEdFTkVSSUMgOjogUkVBRChG T1JNQVRURUQpID0+IHJlYWRUCiAgICAgICAgRU5EIFRZUEUKICAgICAgQ09OVEFJTlMKICAg ICAgICBTVUJST1VUSU5FIHJlYWRUKGR0diwgdW5pdCwgaW90eXBlLCB2X2xpc3QsIGlvc3Rh dCwgaW9tc2cpCiAgICAgICAgICBDTEFTUyh0KSwgSU5URU5UKElOT1VUKSA6OiBkdHYKICAg ICAgICAgIElOVEVHRVIsIElOVEVOVChJTikgOjogdW5pdAogICAgICAgICAgQ0hBUkFDVEVS KCopLCBJTlRFTlQoSU4pIDo6IGlvdHlwZQogICAgICAgICAgSU5URUdFUiwgSU5URU5UKElO KSAgOjogdl9saXN0KDopCiAgICAgICAgICBJTlRFR0VSLCBJTlRFTlQoT1VUKSA6OiBpb3N0 YXQKICAgICAgICAgIENIQVJBQ1RFUigqKSwgSU5URU5UKElOT1VUKSA6OiBpb21zZwogICAg ICAgICAgUkVBRCAodW5pdCwgJygyYTIpJywgSU9TVEFUPWlvc3RhdCkgZHR2JXgKICAgICAg ICBFTkQgU1VCUk9VVElORQogICAgICBFTkQgTU9EVUxFCgogICAgICBQUk9HUkFNIHAKICAg ICAgICBVU0UgbQogICAgICAgIFVTRSwgSU5UUklOU0lDIDo6IElTT19GT1JUUkFOX0VOVgog ICAgICAgIFRZUEUodCkgdDEKICAgICAgICBDSEFSQUNURVIoMykgOjogYyA9ICcxMjMnCiAg ICAgICAgSU5URUdFUiBzdGF0MQogICAgICAgIFJFQUQgKGMsICosIElPU1RBVD1zdGF0MSkg dDEKICAgICAgICBQUklOVCAqLCAoc3RhdDEgPT0gSU9TVEFUX0VPUiksIChzdGF0MSA9PSBJ T1NUQVRfRU9GKQogICAgICBFTkQgUFJPR1JBTQoKQU5TV0VSOgoKTm8sIHN1Y2ggYSBjaGls ZCBJL08gc3RhdGVtZW50IGlzIG5vdCBhZHZhbmNpbmcuICBFZGl0cyBhcmUgcHJvdmlkZWQK dG8gY29ycmVjdCB0aGlzIGluY29uc2lzdGVuY3kuCgpFRElUUzoKCkFsbCBlZGl0cyByZWZl ciB0byAwNC0wMDcuCgpbMTg5OjddICBSZXBsYWNlICJ0aGlzIGlucHV0L291dHB1dCBzdGF0 ZW1lbnQiIGJ5ICJhIG5vbmNoaWxkCiAgICAgICAgIGlucHV0L291dHB1dCBzdGF0ZW1lbnQi LgoKWzE4OTo5XSAgUmVwbGFjZSAiZnJvbSBhbiBpbnB1dC9vdXRwdXQgc3RhdGVtZW50IiBi eSAiZnJvbSBhCiAgICAgICAgIG5vbmNoaWxkIGlucHV0L291dHB1dCBzdGF0ZW1lbnQiLgoK WzE4OTo5XSAgQWZ0ZXIgIllFUy4iIEluc2VydAogICAgICAgICAiICBBIGZvcm1hdHRlZCBj aGlsZCBpbnB1dC9vdXRwdXQgc3RhdGVtZW50IGlzIGEKICAgICAgICAgICBub25hZHZhbmNp bmcgaW5wdXQvb3V0cHV0IHN0YXRlbWVudCwgYW5kIGFueSBBRFZBTkNFPQogICAgICAgICAg IHNwZWNpZmllciBpcyBpZ25vcmVkLiIKClsxOTk6OCtdIEFkZCBhIG5ldyBidWxsZXQ6CiAg ICAgICAgICIgbyBBbnkgQURWQU5DRT0gc3BlY2lmaWVyIGluIGEgY2hpbGQgaW5wdXQvb3V0 cHV0IHN0YXRlbWVudCBpcwogICAgICAgICAgICAgaWdub3JlZC4iCgpTVUJNSVRURUQgQlk6 IFJvYiBKYW1lcwoKSElTVE9SWTogMDUtMjI5ICAgIG0xNzMgIEYwMy8wMDcwIFN1Ym1pdHRl ZAogICAgICAgICAwNS0yMjlyMSAgbTE3MyAgUGFzc2VkIGJ5IEozIG1lZXRpbmcKICAgICAg ICAgMDYtMTMzICAgIG0xNzUgIFBhc3NlZCBKMyBsZXR0ZXIgYmFsbG90ICMxMiAtIHR5cG9z IGZpeGVkCiAgICAgICAgIE4xNjU4ICAgICBtMTc2ICBQYXNzZWQgV0c1IGJhbGxvdCBOMTY1 NyAtIGZpeCBlZGl0cwogICAgICAgICBOMTY2MyAgICAgICAgICAgUmVhZmZpcm1lZCBpbiBX RzUgYmFsbG90IE4xNjYxIG9uIE4xNjYwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpOVU1CRVI6IEYw My8wMDcyClRJVExFOiBEZWZhdWx0IGluaXRpYWxpemF0aW9uIGZvciAiYXV0b21hdGljIiBj b21wb25lbnRzCktFWVdPUkRTOiBQYXJhbWV0ZXJpemVkIERlcml2ZWQgVHlwZSwgRGVmYXVs dCBJbml0aWFsaXphdGlvbgpERUZFQ1QgVFlQRTogRXJyYXR1bQpTVEFUVVM6IFBhc3NlZCBi eSBXRzUgYmFsbG90CgpRVUVTVElPTjoKCkNvbnNpZGVyCiAgVFlQRSB0KGxlbikKICAgIElO VEVHRVIsTEVOIDo6IGxlbgogICAgQ0hBUkFDVEVSKGxlbikgOjogY3ZhbHVlID0gInh5eiIK ICBFTkQgVFlQRQoKICBTVUJST1VUSU5FIHMobikKICAgIFRZUEUodChuKSkgeAogICAgLi4u CgogIFRZUEUgdDIobGVuMikKICAgIFRZUEUodChsZW4yKSkgOjogdHZhbHVlID0gdCgxMCwi ZnJlZCBudXJrZSIpCiAgRU5EIFRZUEUKCiAgU1VCUk9VVElORSBzMihuKQogICAgVFlQRSh0 MihuKSkgOjogeQogICAgLi4uCgpUaGUgdHlwZSBkZWZpbml0aW9uIGZvciBUIGFwcGVhcnMg dG8gY29uZm9ybSB0byB0aGUgc3RhbmRhcmQ7IGl0CmFsbG93cyBhbiAiYXV0b21hdGljIiBj b21wb25lbnQgdG8gYmUgZGVmYXVsdCBpbml0aWFsaXplZC4gIEhvd2V2ZXIsCnRoZSBkZWNs YXJhdGlvbiBvZiB0aGUgbG9jYWwgdmFyaWFibGUgWCBpbiBzdWJyb3V0aW5lIFMgd2lsbApp bml0aWFsaXplIHRoZSBjb21wb25lbnQgZGlmZmVyZW50bHkgZGVwZW5kaW5nIG9uIHRoZSB2 YWx1ZSBvZiBOLCBmb3IKZXhhbXBsZSwgZ2l2aW5nIHRoZSBDVkFMVUUgY29tcG9uZW50IHRo ZSB2YWx1ZSAiIiwgIngiLCAieHkiLCAieHl6IiwKInh5eiAiIGZvciBOIGJlaW5nIDAsIDEs IDIsIDMsIDQgcmVzcGVjdGl2ZWx5LgoKUTEuIFdhcyBpdCBpbnRlbmRlZCB0aGF0ICJhdXRv bWF0aWMiIGNvbXBvbmVudHMgY2FuIGJlCiAgICBkZWZhdWx0LWluaXRpYWxpemVkPwoKSWYg dGhlIGFuc3dlciBpcyAiWWVzIiwgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgVDIgYWxzbyBh cHBlYXJzIHRvCmNvbmZvcm0gdG8gdGhlIHN0YW5kYXJkLiAgSG93ZXZlciwgdGhlIGRlY2xh cmF0aW9uIG9mIFkgaW4gUzIgd2lsbCBub3QKd29yayBpZiBOIGhhcyBhbnkgdmFsdWUgb3Ro ZXIgdGhhbiAxMCBhdCBydW4gdGltZS4gIFRoaXMgaXMKc3VycHJpc2luZzsgIHRoZXJlIGFw cGVhcnMgdG8gYmUgbm8gb3RoZXIgc2l0dWF0aW9uIHdoZXJlIHRoZSBydW50aW1lCnZhbHVl IG9mIGEgbGVuZ3RoIHR5cGUgcGFyYW1ldGVyIGNhbiByZW5kZXIgYSBkZWNsYXJhdGlvbiBp bnZhbGlkLgoKUTIuIElzIHRoaXMgc2l0dWF0aW9uIGludGVudGlvbmFsPwoKQU5TV0VSOgoK UTEuIE5vLCB0aGlzIHdhcyBub3QgaW50ZW5kZWQuICBBbiBlZGl0IGlzIHN1cHBsaWVkIHRv IGZpeCB0aGlzLgoKUTIuIE5vdCBhcHBsaWNhYmxlLgoKRURJVFM6CgpJbiA0LjUuMyBDb21w b25lbnRzLCBpbW1lZGlhdGVseSBiZWZvcmUgUjQ0NQo8cHJvYy1jb21wb25lbnQtZGVmLXN0 bXQ+LCBpbnNlcnQgYSBuZXcgY29uc3RyYWludDogWzUwOjQwK10KIkM0NDdhIChSNDQwKSBJ ZiA8Y29tcG9uZW50LWluaXRpYWxpemF0aW9uPiBhcHBlYXJzLCBldmVyeSB0eXBlCiAgICAg ICAgICAgICAgcGFyYW1ldGVyIGFuZCBhcnJheSBib3VuZCBvZiB0aGUgY29tcG9uZW50IHNo YWxsIGJlIGFuCiAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZXhwcmVzc2lvbi4iCgpT VUJNSVRURUQgQlk6IE1hbGNvbG0gQ29oZW4KCkhJU1RPUlk6IDA1LTI4NSAgICBtMTc0ICBG MDMvMDA3MiBTdWJtaXR0ZWQKCSAwNS0yODVyMSAgbTE3NCAgUmV2aXNlZCBlZGl0CiAgICAg ICAgIDA2LTEzMyAgICBtMTc1ICBQYXNzZWQgSjMgbGV0dGVyIGJhbGxvdCAjMTIKICAgICAg ICAgTjE2NTggICAgIG0xNzYgIFBhc3NlZCBXRzUgYmFsbG90IE4xNjU3CiAgICAgICAgIE4x NjYzICAgICAgICAgICBSZWFmZmlybWVkIGluIFdHNSBiYWxsb3QgTjE2NjEgb24gTjE2NjAK --------------070002080105050109070003--