From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 78C6BA0519; Fri, 3 Jul 2020 05:30:15 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1A3C21D736; Fri, 3 Jul 2020 05:30:15 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id C736D1D735 for ; Fri, 3 Jul 2020 05:30:11 +0200 (CEST) IronPort-SDR: EbWyTJ9PPPhOvkpb+kGdAejSrszPCPNSgcALCRR1U98cILGQ+EUQFLHb0gpotqSygVy8aKAoUN ztuOPyHk8IyA== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="147091816" X-IronPort-AV: E=Sophos;i="5.75,306,1589266800"; d="log'?scan'208";a="147091816" X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 20:30:08 -0700 IronPort-SDR: ha+BEKg3RkFOLSTsWhmgEW3FyqAKrkAqguVNfeeInHgbRHNIAYcklO64+aRp+CyEpUO8LYHg7w YIU4o4k945pw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,306,1589266800"; d="log'?scan'208";a="267241221" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga008.fm.intel.com with ESMTP; 02 Jul 2020 20:30:06 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 2 Jul 2020 20:30:06 -0700 Received: from cdsmsx101.ccr.corp.intel.com (172.17.3.36) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 2 Jul 2020 20:30:03 -0700 Received: from cdsmsx102.ccr.corp.intel.com ([169.254.2.8]) by CDSMSX101.ccr.corp.intel.com ([169.254.1.146]) with mapi id 14.03.0439.000; Fri, 3 Jul 2020 11:30:00 +0800 From: "Xie, WeiX" To: "Zhang, XiX" , "dts@dpdk.org" CC: "Zhang, XiX" Thread-Topic: [dts] [PATCH V1] tests/TestSuite_ddp_gtp:modify pf case not start vm Thread-Index: AQHWUOlwrPvtuG6AQkSupXmWQK3zNaj1MmOQ Date: Fri, 3 Jul 2020 03:30:00 +0000 Message-ID: <6FD6A7610D20924F885A4ECF34E8AC910462637F@CDSMSX102.ccr.corp.intel.com> References: <1593746716-29771-1-git-send-email-xix.zhang@intel.com> In-Reply-To: <1593746716-29771-1-git-send-email-xix.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [172.17.6.105] Content-Type: multipart/mixed; boundary="_002_6FD6A7610D20924F885A4ECF34E8AC910462637FCDSMSX102ccrcor_" MIME-Version: 1.0 Subject: Re: [dts] [PATCH V1] tests/TestSuite_ddp_gtp:modify pf case not start vm X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" --_002_6FD6A7610D20924F885A4ECF34E8AC910462637FCDSMSX102ccrcor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Tested-by: Xie,WeiX < weix.xie@intel.com> Regards, Xie Wei -----Original Message----- From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of xizhan4x Sent: Friday, July 3, 2020 11:25 AM To: dts@dpdk.org Cc: Zhang, XiX Subject: [dts] [PATCH V1] tests/TestSuite_ddp_gtp:modify pf case not start = vm modify pf case not start vm env Signed-off-by: xizhan4x --- tests/TestSuite_ddp_gtp.py | 61 +++++++++++++++++++++++++++++++++---------= ---- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/tests/TestSuite_ddp_gtp.py b/tests/TestSuite_ddp_gtp.py index = e7aa96e..972c401 100644 --- a/tests/TestSuite_ddp_gtp.py +++ b/tests/TestSuite_ddp_gtp.py @@ -43,10 +43,39 @@ class TestDdpGtp(TestCase): else: self.vf_assign_method =3D 'vfio-pci' self.dut.send_expect('modprobe vfio-pci', '#') + def insmod_modprobe(self,modename=3D''): + """ + Insmod modProbe before run test case + """ + if modename =3D=3D "igb_uio": + self.dut.send_expect("modprobe uio", "#", 10) + out =3D self.dut.send_expect("lsmod | grep igb_uio", "#") + if "igb_uio" in out: + self.dut.send_expect("rmmod -f igb_uio", "#", 10) + self.dut.send_expect("insmod ./" + self.target +=20 + "/kmod/igb_uio.ko", "#", 10) + + out =3D self.dut.send_expect("lsmod | grep igb_uio", "#") + assert ("igb_uio" in out), "Failed to insmod igb_uio" =20 def set_up(self): - self.setup_vm_env() - self.load_profile() + self.dut_testpmd =3D PmdOutput(self.dut) + self.used_dut_port =3D self.dut_ports[0] + tester_port =3D self.tester.get_local_port(self.used_dut_port) + self.tester_intf =3D self.tester.get_interface(tester_port) + if "vf" in self._suite_result.test_case: + self.insmod_modprobe("igb_uio") + self.bind_nic_driver(self.dut_ports,"igb_uio") + self.setup_vm_env() + self.load_profile() + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, "--port-topology=3Dchained --txq=3D%s --rxq= =3D%s" + % (self.VF_QUEUE, self.VF_QUEUE)) + self.vm0_testpmd.execute_cmd('set fwd rxonly') + self.vm0_testpmd.execute_cmd('set verbose 1') + self.vm0_testpmd.execute_cmd('start') + else: + self.load_profile() + =20 def search_queue_number(self, Q_strip): """ @@ -91,10 +120,6 @@ class TestDdpGtp(TestCase): Create testing environment with VF generated from 1PF """ if self.env_done is False: - self.bind_nic_driver(self.dut_ports[:1], driver=3D"igb_uio") - self.used_dut_port =3D self.dut_ports[0] - tester_port =3D self.tester.get_local_port(self.used_dut_port) - self.tester_intf =3D self.tester.get_interface(tester_port) self.dut.generate_sriov_vfs_by_port( self.used_dut_port, 1, driver=3Ddriver) self.sriov_vfs_port =3D self.dut.ports_info[ @@ -102,8 +127,6 = @@ class TestDdpGtp(TestCase): for port in self.sriov_vfs_port: port.bind_driver(self.vf_driver) time.sleep(1) - self.dut_testpmd =3D PmdOutput(self.dut) - time.sleep(1) vf0_prop =3D {'opt_host': self.sriov_vfs_port[0].pci} # set up VM0 ENV self.vm0 =3D QEMUKvm(self.dut, 'vm0', 'ddp_gtp') @@ -119,6 +14= 2,7 @@ class TestDdpGtp(TestCase): self.vm0_testpmd =3D PmdOutput(self.vm0_dut) self.env_done =3D True =20 + def destroy_vm_env(self): =20 if getattr(self, 'vm0', None): @@ -146,9 +170,7 @@ class TestDdpGtp(TestCase): "Default", "--pkt-filter-mode=3Dperfect --port-topology=3Dchai= ned \ --txq=3D%s --rxq=3D%s" % (self.PF_QUEUE, self.PF_QUEUE)) - self.vm0_testpmd.start_testpmd( - VM_CORES_MASK, "--port-topology=3Dchained --txq=3D%s --rxq=3D%= s" - % (self.VF_QUEUE, self.VF_QUEUE)) + self.dut_testpmd.execute_cmd('port stop all') time.sleep(1) out =3D self.dut_testpmd.execute_cmd('ddp get list 0') @@ -161,9 += 183,9 @@ class TestDdpGtp(TestCase): self.dut_testpmd.execute_cmd('set fwd rxonly') self.dut_testpmd.execute_cmd('set verbose 1') self.dut_testpmd.execute_cmd('start') - self.vm0_testpmd.execute_cmd('set fwd rxonly') - self.vm0_testpmd.execute_cmd('set verbose 1') - self.vm0_testpmd.execute_cmd('start') + time.sleep(2) + + =20 def gtp_packets( self, type=3D'fdir', tunnel_pkt=3D'gtpu', inner_L3=3D'ipv4', @= @ -409,7 +431,10 @@ class TestDdpGtp(TestCase): type=3D'clfter', port=3D'vf id 0', tunnel_pkt=3D'gtpu', inner_= L3=3D'ipv6') =20 def tear_down(self): - self.vm0_testpmd.execute_cmd('stop') + if "vf" in self._suite_result.test_case: + self.destroy_vm_env() + self.vm0_testpmd.execute_cmd('stop') + self.vm0_testpmd.quit() self.dut_testpmd.execute_cmd('stop') out =3D self.dut_testpmd.execute_cmd('ddp get list 0') if "Profile number is: 0" not in out: @@ -420,8 +445,10 @@ class TestDdpGtp(TestCase): self.verify("Profile number is: 0" in out, "Failed to delete ddp profile!!!") self.dut_testpmd.execute_cmd('port start all') - self.vm0_testpmd.quit() self.dut_testpmd.quit() =20 + def tear_down_all(self): - self.destroy_vm_env() + if self.env_done: + self.destroy_vm_env() + -- 1.8.3.1 --_002_6FD6A7610D20924F885A4ECF34E8AC910462637FCDSMSX102ccrcor_ Content-Type: application/octet-stream; name="TestDdpGtp.log" Content-Description: TestDdpGtp.log Content-Disposition: attachment; filename="TestDdpGtp.log"; size=1006031; creation-date="Fri, 03 Jul 2020 03:29:17 GMT"; modification-date="Fri, 03 Jul 2020 03:29:17 GMT" Content-Transfer-Encoding: base64 MDMvMDcvMjAyMCAwMToyNDozNSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdHM6IApURVNU IFNVSVRFIDogVGVzdERkcEd0cAowMy8wNy8yMDIwIDAxOjI0OjM1ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGR0czogTklDIDogICAgICAgIGZvcnR2aWxsZV8yNWcKMDMvMDcvMjAyMCAwMToy NDozNSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjI0OjM1 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6MjQ6MzUgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzY3AgLXYgZGVwL2d0cC5wa2dvIHJvb3RAMTAu MjQwLjE4My4yNDc6L3RtcC8KMDMvMDcvMjAyMCAwMToyNDozNyAgICAgICAgICAgICBkdXQuMTAu MjQwLjE4My4yNDc6IGNhdCBjb25maWcvY29tbW9uX2Jhc2UKMDMvMDcvMjAyMCAwMToyNDozNyAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6ICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0zLUNsYXVzZQ0KIyBDb3B5cmlnaHQoYykgMjAxMC0yMDE3IEludGVsIENvcnBvcmF0aW9u DQoNCiMNCiMgU3RyaW5nIHRoYXQgYXBwZWFycyBiZWZvcmUgdGhlIHZlcnNpb24gbnVtYmVyDQoj DQpDT05GSUdfUlRFX1ZFUl9QUkVGSVg9IkRQREsiDQoNCiMNCiMgVmVyc2lvbiBpbmZvcm1hdGlv biBjb21wbGV0ZWQgd2hlbiB0aGlzIGZpbGUgaXMgcHJvY2Vzc2VkIGZvciBhIGJ1aWxkDQojDQpD T05GSUdfUlRFX1ZFUl9ZRUFSPV9fWUVBUg0KQ09ORklHX1JURV9WRVJfTU9OVEg9X19NT05USA0K Q09ORklHX1JURV9WRVJfTUlOT1I9X19NSU5PUg0KQ09ORklHX1JURV9WRVJfU1VGRklYPV9fU1VG RklYDQpDT05GSUdfUlRFX1ZFUl9SRUxFQVNFPV9fUkVMRUFTRQ0KDQojDQojIGRlZmluZSBleGVj dXRpdmUgZW52aXJvbm1lbnQNCiMgUlRFX0VYRUNfRU5WIHZhbHVlcyBhcmUgdGhlIGRpcmVjdG9y aWVzIGluIG1rL2V4ZWMtZW52Lw0KIw0KQ09ORklHX1JURV9FWEVDX0VOVj0NCg0KIw0KIyBkZWZp bmUgdGhlIGFyY2hpdGVjdHVyZSB3ZSBjb21waWxlIGZvci4NCiMgUlRFX0FSQ0ggdmFsdWVzIGFy ZSB0aGUgZGlyZWN0b3JpZXMgaW4gbWsvYXJjaC8NCiMNCkNPTkZJR19SVEVfQVJDSD0NCg0KIw0K IyBtYWNoaW5lIGNhbiBkZWZpbmUgc3BlY2lmaWMgdmFyaWFibGVzIG9yIGFjdGlvbiBmb3IgYSBz cGVjaWZpYyBib2FyZA0KIyBSVEVfTUFDSElORSB2YWx1ZXMgYXJlIHRoZSBkaXJlY3RvcmllcyBp biBtay9tYWNoaW5lLw0KIw0KQ09ORklHX1JURV9NQUNISU5FPQ0KDQojDQojIFRoZSBjb21waWxl ciB3ZSB1c2UuDQojIFJURV9UT09MQ0hBSU4gdmFsdWVzIGFyZSB0aGUgZGlyZWN0b3JpZXMgaW4g bWsvdG9vbGNoYWluLw0KIw0KQ09ORklHX1JURV9UT09MQ0hBSU49DQoNCiMNCiMgVXNlIGludHJp bnNpY3Mgb3IgYXNzZW1ibHkgY29kZSBmb3Iga2V5IHJvdXRpbmVzDQojDQpDT05GSUdfUlRFX0ZP UkNFX0lOVFJJTlNJQ1M9bg0KDQojDQojIE1hY2hpbmUgZm9yY2VzIHN0cmljdCBhbGlnbm1lbnQg Y29uc3RyYWludHMuDQojDQpDT05GSUdfUlRFX0FSQ0hfU1RSSUNUX0FMSUdOPW4NCg0KIw0KIyBF bmFibGUgbGluayB0aW1lIG9wdGltaXphdGlvbg0KIw0KQ09ORklHX1JURV9FTkFCTEVfTFRPPW4N Cg0KIw0KIyBDb21waWxlIHRvIHNoYXJlIGxpYnJhcnkNCiMNCkNPTkZJR19SVEVfQlVJTERfU0hB UkVEX0xJQj1uDQoNCiMNCiMgVXNlIG5ld2VzdCBjb2RlIGJyZWFraW5nIHByZXZpb3VzIEFCSQ0K Iw0KQ09ORklHX1JURV9ORVhUX0FCST15DQoNCiMNCiMgTWFjaGluZSdzIGNhY2hlIGxpbmUgc2l6 ZQ0KIw0KQ09ORklHX1JURV9DQUNIRV9MSU5FX1NJWkU9NjQNCg0KIw0KIyBNZW1vcnkgbW9kZWwN CiMNCkNPTkZJR19SVEVfVVNFX0MxMV9NRU1fTU9ERUw9bg0KDQojDQojIENvbXBpbGUgRW52aXJv bm1lbnQgQWJzdHJhY3Rpb24gTGF5ZXINCiMNCkNPTkZJR19SVEVfTElCUlRFX0VBTD15DQpDT05G SUdfUlRFX01BWF9MQ09SRT0xMjgNCkNPTkZJR19SVEVfTUFYX05VTUFfTk9ERVM9OA0KQ09ORklH X1JURV9NQVhfSEVBUFM9MzINCkNPTkZJR19SVEVfTUFYX01FTVNFR19MSVNUUz02NA0KIyBlYWNo IG1lbXNlZyBsaXN0IHdpbGwgYmUgbGltaXRlZCB0byBlaXRoZXIgUlRFX01BWF9NRU1TRUdfUEVS X0xJU1QgcGFnZXMNCiMgb3IgUlRFX01BWF9NRU1fTUJfUEVSX0xJU1QgbWVnYWJ5dGVzIHdvcnRo IG9mIG1lbW9yeSwgd2hpY2hldmVyIGlzIHNtYWxsZXINCkNPTkZJR19SVEVfTUFYX01FTVNFR19Q RVJfTElTVD04MTkyDQpDT05GSUdfUlRFX01BWF9NRU1fTUJfUEVSX0xJU1Q9MzI3NjgNCiMgYSAi dHlwZSIgaXMgYSBjb21iaW5hdGlvbiBvZiBwYWdlIHNpemUgYW5kIE5VTUEgbm9kZS4gdG90YWwg bnVtYmVyIG9mIG1lbXNlZw0KIyBsaXN0cyBwZXIgdHlwZSB3aWxsIGJlIGxpbWl0ZWQgdG8gZWl0 aGVyIFJURV9NQVhfTUVNU0VHX1BFUl9UWVBFIHBhZ2VzIChzcGxpdA0KIyBvdmVyIG11bHRpcGxl IGxpc3RzIG9mIFJURV9NQVhfTUVNU0VHX1BFUl9MSVNUIHBhZ2VzKSwgb3INCiMgUlRFX01BWF9N RU1fTUJfUEVSX1RZUEUgbWVnYWJ5dGVzIG9mIG1lbW9yeSAoc3BsaXQgb3ZlciBtdWx0aXBsZSBs aXN0cyBvZg0KIyBSVEVfTUFYX01FTV9NQl9QRVJfTElTVCksIHdoaWNoZXZlciBpcyBzbWFsbGVy DQpDT05GSUdfUlRFX01BWF9NRU1TRUdfUEVSX1RZUEU9MzI3NjgNCkNPTkZJR19SVEVfTUFYX01F TV9NQl9QRVJfVFlQRT0xMzEwNzINCiMgZ2xvYmFsIG1heGltdW0gdXNhYmxlIGFtb3VudCBvZiBW QSwgaW4gbWVnYWJ5dGVzDQpDT05GSUdfUlRFX01BWF9NRU1fTUI9NTI0Mjg4DQpDT05GSUdfUlRF X01BWF9NRU1aT05FPTI1NjANCkNPTkZJR19SVEVfTUFYX1RBSUxRPTMyDQpDT05GSUdfUlRFX0VO QUJMRV9BU1NFUlQ9bg0KQ09ORklHX1JURV9MT0dfRFBfTEVWRUw9UlRFX0xPR19JTkZPDQpDT05G SUdfUlRFX0VOQUJMRV9UUkFDRV9GUD1uDQpDT05GSUdfUlRFX0xPR19ISVNUT1JZPTI1Ng0KQ09O RklHX1JURV9CQUNLVFJBQ0U9eQ0KQ09ORklHX1JURV9MSUJFQUxfVVNFX0hQRVQ9bg0KQ09ORklH X1JURV9FQUxfQUxXQVlTX1BBTklDX09OX0VSUk9SPW4NCkNPTkZJR19SVEVfRUFMX0lHQl9VSU89 eQ0KQ09ORklHX1JURV9FQUxfVkZJTz1uDQpDT05GSUdfUlRFX01BWF9WRklPX0dST1VQUz02NA0K Q09ORklHX1JURV9NQVhfVkZJT19DT05UQUlORVJTPTY0DQpDT05GSUdfUlRFX01BTExPQ19ERUJV Rz1uDQpDT05GSUdfUlRFX0VBTF9OVU1BX0FXQVJFX0hVR0VQQUdFUz1uDQpDT05GSUdfUlRFX1VT RV9MSUJCU0Q9bg0KIyBVc2UgV0ZFIGluc3RydWN0aW9ucyB0byBpbXBsZW1lbnQgdGhlIHJ0ZV93 YWl0X2Zvcl9lcXVhbF94eHggQVBJcywNCiMgY2FsbGluZyB0aGVzZSBBUElzIHB1dCB0aGUgY29y ZXMgaW4gbG93IHBvd2VyIHN0YXRlIHdoaWxlIHdhaXRpbmcNCiMgZm9yIHRoZSBtZW1vcnkgYWRk cmVzcyB0byBiZWNvbWUgZXF1YWwgdG8gdGhlIGV4cGVjdGVkIHZhbHVlLg0KIyBUaGlzIGlzIHN1 cHBvcnRlZCBvbmx5IGJ5IGFhcmNoNjQuDQpDT05GSUdfUlRFX0FSTV9VU0VfV0ZFPW4NCg0KIw0K IyBSZWNvZ25pemUvaWdub3JlIHRoZSBBVlgvQVZYNTEyIENQVSBmbGFncyBmb3IgcGVyZm9ybWFu Y2UvcG93ZXIgdGVzdGluZy4NCiMgQVZYNTEyIGlzIG1hcmtlZCBhcyBleHBlcmltZW50YWwgZm9y IG5vdywgd2lsbCBlbmFibGUgaXQgYWZ0ZXIgZW5vdWdoDQojIGZpZWxkIHRlc3QgYW5kIHBvc3Np YmxlIG9wdGltaXphdGlvbi4NCiMNCkNPTkZJR19SVEVfRU5BQkxFX0FWWD15DQpDT05GSUdfUlRF X0VOQUJMRV9BVlg1MTI9bg0KDQojIFVzZSBBUk0gTFNFIEFUT01JQyBpbnN0cnVjdGlvbnMNCkNP TkZJR19SVEVfQVJNX0ZFQVRVUkVfQVRPTUlDUz1uDQoNCiMgRGVmYXVsdCBkcml2ZXIgcGF0aCAo b3IgIiIgdG8gZGlzYWJsZSkNCkNPTkZJR19SVEVfRUFMX1BNRF9QQVRIPSIiDQoNCiMNCiMgQ29t cGlsZSBFbnZpcm9ubWVudCBBYnN0cmFjdGlvbiBMYXllciB0byBzdXBwb3J0IFZtd2FyZSBUU0Mg bWFwDQojDQpDT05GSUdfUlRFX0xJQlJURV9FQUxfVk1XQVJFX1RTQ19NQVBfU1VQUE9SVD15DQoN CiMNCiMgQ29tcGlsZSB0aGUgUENJIGxpYnJhcnkNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BDST15 DQoNCiMNCiMgQ29tcGlsZSB0aGUgYXJndW1lbnQgcGFyc2VyIGxpYnJhcnkNCiMNCkNPTkZJR19S VEVfTElCUlRFX0tWQVJHUz15DQoNCiMNCiMgQ29tcGlsZSBnZW5lcmljIGV0aGVybmV0IGxpYnJh cnkNCiMNCkNPTkZJR19SVEVfTElCUlRFX0VUSEVSPXkNCkNPTkZJR19SVEVfTElCUlRFX0VUSERF Vl9ERUJVRz1uDQpDT05GSUdfUlRFX01BWF9FVEhQT1JUUz0zMg0KQ09ORklHX1JURV9NQVhfUVVF VUVTX1BFUl9QT1JUPTEwMjQNCkNPTkZJR19SVEVfTElCUlRFX0lFRUUxNTg4PW4NCkNPTkZJR19S VEVfRVRIREVWX1FVRVVFX1NUQVRfQ05UUlM9MTYNCkNPTkZJR19SVEVfRVRIREVWX1JYVFhfQ0FM TEJBQ0tTPXkNCkNPTkZJR19SVEVfRVRIREVWX1BST0ZJTEVfV0lUSF9WVFVORT1uDQoNCiMNCiMg VHVybiBvZmYgVHggcHJlcGFyYXRpb24gc3RhZ2UNCiMNCiMgV2FybmluZzogcnRlX2V0aF90eF9w cmVwYXJlKCkgY2FuIGJlIHNhZmVseSBkaXNhYmxlZCBvbmx5IGlmIHVzaW5nIGENCiMgZHJpdmVy IHdoaWNoIGRvIG5vdCBpbXBsZW1lbnQgYW55IFR4IHByZXBhcmF0aW9uLg0KIw0KQ09ORklHX1JU RV9FVEhERVZfVFhfUFJFUEFSRV9OT09QPW4NCg0KIw0KIyBDb21tb24gbGlicmFyaWVzLCBiZWZv cmUgQnVzL1BNRHMNCiMNCkNPTkZJR19SVEVfTElCUlRFX0NPTU1PTl9EUEFBWD1uDQoNCiMNCiMg Q29tcGlsZSB0aGUgSW50ZWwgRlBHQSBidXMNCiMNCkNPTkZJR19SVEVfTElCUlRFX0lGUEdBX0JV Uz15DQoNCiMNCiMgQ29tcGlsZSBQQ0kgYnVzIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVf UENJX0JVUz15DQoNCiMNCiMgQ29tcGlsZSB0aGUgdmRldiBidXMNCiMNCkNPTkZJR19SVEVfTElC UlRFX1ZERVZfQlVTPXkNCg0KIw0KIyBDb21waWxlIEFSSyBQTUQNCiMNCkNPTkZJR19SVEVfTElC UlRFX0FSS19QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfQVJLX1BBRF9UWD15DQpDT05GSUdfUlRF X0xJQlJURV9BUktfREVCVUdfUlg9bg0KQ09ORklHX1JURV9MSUJSVEVfQVJLX0RFQlVHX1RYPW4N CkNPTkZJR19SVEVfTElCUlRFX0FSS19ERUJVR19TVEFUUz1uDQpDT05GSUdfUlRFX0xJQlJURV9B UktfREVCVUdfVFJBQ0U9bg0KDQojDQojIENvbXBpbGUgQXF1YW50aWEgQXRsYW50aWMgUE1EIGRy aXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfQVRMQU5USUNfUE1EPXkNCg0KIw0KIyBDb21waWxl IEFNRCBQTUQNCiMNCkNPTkZJR19SVEVfTElCUlRFX0FYR0JFX1BNRD15DQpDT05GSUdfUlRFX0xJ QlJURV9BWEdCRV9QTURfREVCVUc9bg0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQgQnJv YWRjb20gUE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfQk5YMlhfUE1EPW4NCkNPTkZJ R19SVEVfTElCUlRFX0JOWDJYX0RFQlVHX1JYPW4NCkNPTkZJR19SVEVfTElCUlRFX0JOWDJYX0RF QlVHX1RYPW4NCkNPTkZJR19SVEVfTElCUlRFX0JOWDJYX01GX1NVUFBPUlQ9bg0KQ09ORklHX1JU RV9MSUJSVEVfQk5YMlhfREVCVUdfUEVSSU9ESUM9bg0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3Jp ZW50ZWQgQnJvYWRjb20gQk5YVCBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9CTlhU X1BNRD15DQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBDaGVsc2lvIFRlcm1pbmF0b3Ig KENYR0JFKSBQTUQNCiMNCkNPTkZJR19SVEVfTElCUlRFX0NYR0JFX1BNRD15DQoNCiMNCiMgQ29t cGlsZSBidXJzdC1vcmllbnRlZCBOWFAgUEZFIFBNRCBkcml2ZXINCiMNCkNPTkZJR19SVEVfTElC UlRFX1BGRV9QTUQ9bg0KDQojIE5YUCBEUEFBIEJ1cw0KQ09ORklHX1JURV9MSUJSVEVfRFBBQV9C VVM9bg0KQ09ORklHX1JURV9MSUJSVEVfRFBBQV9NRU1QT09MPW4NCkNPTkZJR19SVEVfTElCUlRF X0RQQUFfUE1EPW4NCkNPTkZJR19SVEVfTElCUlRFX0RQQUFfSFdERUJVRz1uDQoNCiMNCiMgQ29t cGlsZSBOWFAgRFBBQTIgRlNMLU1DIEJ1cw0KIw0KQ09ORklHX1JURV9MSUJSVEVfRlNMTUNfQlVT PW4NCg0KIw0KIyBDb21waWxlIFN1cHBvcnQgTGlicmFyaWVzIGZvciBOWFAgRFBBQTINCiMNCkNP TkZJR19SVEVfTElCUlRFX0RQQUEyX01FTVBPT0w9bg0KQ09ORklHX1JURV9MSUJSVEVfRFBBQTJf VVNFX1BIWVNfSU9WQT15DQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBOWFAgRFBBQTIg UE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfRFBBQTJfUE1EPW4NCkNPTkZJR19SVEVf TElCUlRFX0RQQUEyX0RFQlVHX0RSSVZFUj1uDQoNCiMNCiMgQ29tcGlsZSBOWFAgRU5FVEMgUE1E IERyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfRU5FVENfUE1EPW4NCg0KIw0KIyBDb21waWxl IGJ1cnN0LW9yaWVudGVkIEFtYXpvbiBFTkEgUE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJS VEVfRU5BX1BNRD15DQpDT05GSUdfUlRFX0xJQlJURV9FTkFfREVCVUdfUlg9bg0KQ09ORklHX1JU RV9MSUJSVEVfRU5BX0RFQlVHX1RYPW4NCkNPTkZJR19SVEVfTElCUlRFX0VOQV9ERUJVR19UWF9G UkVFPW4NCkNPTkZJR19SVEVfTElCUlRFX0VOQV9DT01fREVCVUc9bg0KDQojDQojIENvbXBpbGUg YnVyc3Qtb3JpZW50ZWQgQ2lzY28gRU5JQyBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJU RV9FTklDX1BNRD15DQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBJR0IgJiBFTSBQTUQg ZHJpdmVycw0KIw0KQ09ORklHX1JURV9MSUJSVEVfRU1fUE1EPXkNCkNPTkZJR19SVEVfTElCUlRF X0lHQl9QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfRTEwMDBfREVCVUdfUlg9bg0KQ09ORklHX1JU RV9MSUJSVEVfRTEwMDBfREVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVfRTEwMDBfREVCVUdf VFhfRlJFRT1uDQpDT05GSUdfUlRFX0xJQlJURV9FMTAwMF9QRl9ESVNBQkxFX1NUUklQX0NSQz1u DQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBISU5JQyBQTUQgZHJpdmVyDQojDQpDT05G SUdfUlRFX0xJQlJURV9ISU5JQ19QTUQ9bg0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQg SE5TMyBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9ITlMzX1BNRD1uDQoNCiMNCiMg Q29tcGlsZSBQZW5zYW5kbyBJT05JQyBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9J T05JQ19QTUQ9eQ0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQgSVhHQkUgUE1EIGRyaXZl cg0KIw0KQ09ORklHX1JURV9MSUJSVEVfSVhHQkVfUE1EPXkNCkNPTkZJR19SVEVfTElCUlRFX0lY R0JFX0RFQlVHX1JYPW4NCkNPTkZJR19SVEVfTElCUlRFX0lYR0JFX0RFQlVHX1RYPW4NCkNPTkZJ R19SVEVfTElCUlRFX0lYR0JFX0RFQlVHX1RYX0ZSRUU9bg0KQ09ORklHX1JURV9MSUJSVEVfSVhH QkVfUEZfRElTQUJMRV9TVFJJUF9DUkM9bg0KQ09ORklHX1JURV9MSUJSVEVfSVhHQkVfQllQQVNT PW4NCg0KIw0KIyBDb21waWxlIGJ1cnN0LW9yaWVudGVkIEk0MEUgUE1EIGRyaXZlcg0KIw0KQ09O RklHX1JURV9MSUJSVEVfSTQwRV9QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfSTQwRV9ERUJVR19S WD1uDQpDT05GSUdfUlRFX0xJQlJURV9JNDBFX0RFQlVHX1RYPW4NCkNPTkZJR19SVEVfTElCUlRF X0k0MEVfREVCVUdfVFhfRlJFRT1uDQpDT05GSUdfUlRFX0xJQlJURV9JNDBFX1JYX0FMTE9XX0JV TEtfQUxMT0M9eQ0KQ09ORklHX1JURV9MSUJSVEVfSTQwRV9JTkNfVkVDVE9SPXkNCkNPTkZJR19S VEVfTElCUlRFX0k0MEVfMTZCWVRFX1JYX0RFU0M9bg0KQ09ORklHX1JURV9MSUJSVEVfSTQwRV9R VUVVRV9OVU1fUEVSX1BGPTY0DQpDT05GSUdfUlRFX0xJQlJURV9JNDBFX1FVRVVFX05VTV9QRVJf Vk09NA0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQgRk0xMEsgUE1EDQojDQpDT05GSUdf UlRFX0xJQlJURV9GTTEwS19QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfRk0xMEtfREVCVUdfUlg9 bg0KQ09ORklHX1JURV9MSUJSVEVfRk0xMEtfREVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVf Rk0xMEtfREVCVUdfVFhfRlJFRT1uDQpDT05GSUdfUlRFX0xJQlJURV9GTTEwS19SWF9PTEZMQUdT X0VOQUJMRT15DQpDT05GSUdfUlRFX0xJQlJURV9GTTEwS19JTkNfVkVDVE9SPXkNCg0KIw0KIyBD b21waWxlIGJ1cnN0LW9yaWVudGVkIElDRSBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJU RV9JQ0VfUE1EPXkNCkNPTkZJR19SVEVfTElCUlRFX0lDRV9ERUJVR19SWD1uDQpDT05GSUdfUlRF X0xJQlJURV9JQ0VfREVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVfSUNFX0RFQlVHX1RYX0ZS RUU9bg0KQ09ORklHX1JURV9MSUJSVEVfSUNFXzE2QllURV9SWF9ERVNDPW4NCg0KIyBDb21waWxl IGJ1cnN0LW9yaWVudGVkIElBVkYgUE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfSUFW Rl9QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfSUFWRl9ERUJVR19UWD1uDQpDT05GSUdfUlRFX0xJ QlJURV9JQVZGX0RFQlVHX1RYX0ZSRUU9bg0KQ09ORklHX1JURV9MSUJSVEVfSUFWRl9ERUJVR19S WD1uDQpDT05GSUdfUlRFX0xJQlJURV9JQVZGX0RFQlVHX0RVTVBfREVTQz1uDQpDT05GSUdfUlRF X0xJQlJURV9JQVZGXzE2QllURV9SWF9ERVNDPW4NCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRl ZCBJUE4zS0UgUE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfSVBOM0tFX1BNRD1uDQoN CiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBJR0MgUE1EIGRyaXZlcnMNCiMNCkNPTkZJR19S VEVfTElCUlRFX0lHQ19QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfSUdDX0RFQlVHX1JYPW4NCkNP TkZJR19SVEVfTElCUlRFX0lHQ19ERUJVR19UWD1uDQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmll bnRlZCBNZWxsYW5veCBDb25uZWN0WC0zIChNTFg0KSBQTUQNCiMNCkNPTkZJR19SVEVfTElCUlRF X01MWDRfUE1EPW4NCkNPTkZJR19SVEVfTElCUlRFX01MWDRfREVCVUc9bg0KDQojDQojIENvbXBp bGUgYnVyc3Qtb3JpZW50ZWQgTWVsbGFub3ggQ29ubmVjdFgtNCwgQ29ubmVjdFgtNSwNCiMgQ29u bmVjdFgtNiAmIEJsdWVGaWVsZCAoTUxYNSkgUE1EDQojDQpDT05GSUdfUlRFX0xJQlJURV9NTFg1 X1BNRD1uDQpDT05GSUdfUlRFX0xJQlJURV9NTFg1X0RFQlVHPW4NCg0KIw0KIyBDb21waWxlIHZk cGEtb3JpZW50ZWQgTWVsbGFub3ggQ29ubmVjdFgtNiAmIEJsdWVGaWVsZCAoTUxYNSkgUE1EDQoj DQpDT05GSUdfUlRFX0xJQlJURV9NTFg1X1ZEUEFfUE1EPW4NCg0KIyBMaW5raW5nIG1ldGhvZCBm b3IgbWx4NC81IGRlcGVuZGVuY3kgb24gaWJ2ZXJicyBhbmQgcmVsYXRlZCBsaWJyYXJpZXMNCiMg RGVmYXVsdCBsaW5raW5nIGlzIGR5bmFtaWMgYnkgbGlua2VyLg0KIyBPdGhlciBvcHRpb25zIGFy ZTogZHluYW1pYyBieSBkbG9wZW4gYXQgcnVuLXRpbWUsIG9yIHN0YXRpY2FsbHkgZW1iZWRkZWQu DQpDT05GSUdfUlRFX0lCVkVSQlNfTElOS19ETE9QRU49bg0KQ09ORklHX1JURV9JQlZFUkJTX0xJ TktfU1RBVElDPW4NCg0KIw0KIyBDb21waWxlIGJ1cnN0LW9yaWVudGVkIE5ldHJvbm9tZSBORlAg UE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfTkZQX1BNRD1uDQpDT05GSUdfUlRFX0xJ QlJURV9ORlBfREVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVfTkZQX0RFQlVHX1JYPW4NCg0K IyBRTG9naWMgMTBHLzI1Ry80MEcvNTBHLzEwMEcgUE1EDQojDQpDT05GSUdfUlRFX0xJQlJURV9R RURFX1BNRD15DQpDT05GSUdfUlRFX0xJQlJURV9RRURFX0RFQlVHX1RYPW4NCkNPTkZJR19SVEVf TElCUlRFX1FFREVfREVCVUdfUlg9bg0KI1Byb3ZpZGVzIGFicyBwYXRoL25hbWUgb2YgdGhlIGZp cm13YXJlIGZpbGUuDQojRW1wdHkgc3RyaW5nIGRlbm90ZXMgZHJpdmVyIHdpbGwgdXNlIGRlZmF1 bHQgZmlybXdhcmUNCkNPTkZJR19SVEVfTElCUlRFX1FFREVfRlc9IiINCg0KIw0KIyBDb21waWxl IGJ1cnN0LW9yaWVudGVkIFNvbGFyZmxhcmUgbGliZWZ4LWJhc2VkIFBNRA0KIw0KQ09ORklHX1JU RV9MSUJSVEVfU0ZDX0VGWF9QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfU0ZDX0VGWF9ERUJVRz1u DQoNCiMNCiMgQ29tcGlsZSBzb2Z0d2FyZSBQTUQgYmFja2VkIGJ5IFNaRURBVEEyIGRldmljZQ0K Iw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX1NaRURBVEEyPW4NCg0KIw0KIyBDb21waWxlIHNvZnR3 YXJlIFBNRCBiYWNrZWQgYnkgTkZCIGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfTkZCX1BN RD1uDQoNCiMNCiMgQ29tcGlsZSBidXJzdC1vcmllbnRlZCBDYXZpdW0gVGh1bmRlcnggTklDVkYg UE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfVEhVTkRFUlhfTklDVkZfUE1EPXkNCkNP TkZJR19SVEVfTElCUlRFX1RIVU5ERVJYX05JQ1ZGX0RFQlVHX1JYPW4NCkNPTkZJR19SVEVfTElC UlRFX1RIVU5ERVJYX05JQ1ZGX0RFQlVHX1RYPW4NCg0KIw0KIyBDb21waWxlIGJ1cnN0LW9yaWVu dGVkIENhdml1bSBMaXF1aWRJTyBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9MSU9f UE1EPXkNCkNPTkZJR19SVEVfTElCUlRFX0xJT19ERUJVR19SWD1uDQpDT05GSUdfUlRFX0xJQlJU RV9MSU9fREVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVfTElPX0RFQlVHX01CT1g9bg0KQ09O RklHX1JURV9MSUJSVEVfTElPX0RFQlVHX1JFR1M9bg0KDQojDQojIENvbXBpbGUgYnVyc3Qtb3Jp ZW50ZWQgQ2F2aXVtIE9DVEVPTlRYIG5ldHdvcmsgUE1EIGRyaXZlcg0KIw0KQ09ORklHX1JURV9M SUJSVEVfT0NURU9OVFhfUE1EPXkNCg0KIw0KIyBDb21waWxlIGJ1cnN0LW9yaWVudGVkIE1hcnZl bGwgT0NURU9OIFRYMiBuZXR3b3JrIFBNRCBkcml2ZXINCiMNCkNPTkZJR19SVEVfTElCUlRFX09D VEVPTlRYMl9QTUQ9eQ0KDQojDQojIENvbXBpbGUgV1JTIGFjY2VsZXJhdGVkIHZpcnR1YWwgcG9y dCAoQVZQKSBndWVzdCBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9BVlBfUE1EPW4N CkNPTkZJR19SVEVfTElCUlRFX0FWUF9ERUJVR19SWD1uDQpDT05GSUdfUlRFX0xJQlJURV9BVlBf REVCVUdfVFg9bg0KQ09ORklHX1JURV9MSUJSVEVfQVZQX0RFQlVHX0JVRkZFUlM9bg0KDQojDQoj IENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQgVklSVElPIFBNRCBkcml2ZXINCiMNCkNPTkZJR19SVEVf TElCUlRFX1ZJUlRJT19QTUQ9eQ0KQ09ORklHX1JURV9MSUJSVEVfVklSVElPX0RFQlVHX1JYPW4N CkNPTkZJR19SVEVfTElCUlRFX1ZJUlRJT19ERUJVR19UWD1uDQpDT05GSUdfUlRFX0xJQlJURV9W SVJUSU9fREVCVUdfRFVNUD1uDQoNCiMNCiMgQ29tcGlsZSB2aXJ0aW8gZGV2aWNlIGVtdWxhdGlv biBpbnNpZGUgdmlydGlvIFBNRCBkcml2ZXINCiMNCkNPTkZJR19SVEVfVklSVElPX1VTRVI9bg0K DQojDQojIENvbXBpbGUgYnVyc3Qtb3JpZW50ZWQgVk1YTkVUMyBQTUQgZHJpdmVyDQojDQpDT05G SUdfUlRFX0xJQlJURV9WTVhORVQzX1BNRD15DQpDT05GSUdfUlRFX0xJQlJURV9WTVhORVQzX0RF QlVHX1JYPW4NCkNPTkZJR19SVEVfTElCUlRFX1ZNWE5FVDNfREVCVUdfVFg9bg0KQ09ORklHX1JU RV9MSUJSVEVfVk1YTkVUM19ERUJVR19UWF9GUkVFPW4NCg0KIw0KIyBDb21waWxlIHNvZnR3YXJl IFBNRCBiYWNrZWQgYnkgQUZfUEFDS0VUIHNvY2tldHMgKExpbnV4IG9ubHkpDQojDQpDT05GSUdf UlRFX0xJQlJURV9QTURfQUZfUEFDS0VUPW4NCg0KIw0KIyBDb21waWxlIHNvZnR3YXJlIFBNRCBi YWNrZWQgYnkgQUZfWERQIHNvY2tldHMgKExpbnV4IG9ubHkpDQojDQpDT05GSUdfUlRFX0xJQlJU RV9QTURfQUZfWERQPW4NCg0KIw0KIyBDb21waWxlIE1lbW9yeSBJbnRlcmZhY2UgUE1EIGRyaXZl ciAoTGludXggb25seSkNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9NRU1JRj1uDQoNCiMNCiMg Q29tcGlsZSBsaW5rIGJvbmRpbmcgUE1EIGxpYnJhcnkNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BN RF9CT05EPXkNCkNPTkZJR19SVEVfTElCUlRFX0JPTkRfREVCVUdfQUxCPW4NCkNPTkZJR19SVEVf TElCUlRFX0JPTkRfREVCVUdfQUxCX0wxPW4NCg0KIw0KIyBDb21waWxlIGZhaWwtc2FmZSBQTUQN CiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9GQUlMU0FGRT15DQoNCiMNCiMgQ29tcGlsZSBNYXJ2 ZWxsIFBNRCBkcml2ZXINCiMNCkNPTkZJR19SVEVfTElCUlRFX01WUFAyX1BNRD1uDQoNCiMNCiMg Q29tcGlsZSBNYXJ2ZWxsIE1WTkVUQSBQTUQgZHJpdmVyDQojDQpDT05GSUdfUlRFX0xJQlJURV9N Vk5FVEFfUE1EPW4NCg0KIw0KIyBDb21waWxlIHN1cHBvcnQgZm9yIFZNQnVzIGxpYnJhcnkNCiMN CkNPTkZJR19SVEVfTElCUlRFX1ZNQlVTPW4NCg0KIw0KIyBDb21waWxlIG5hdGl2ZSBQTUQgZm9y IEh5cGVyLVYvQXp1cmUNCiMNCkNPTkZJR19SVEVfTElCUlRFX05FVFZTQ19QTUQ9bg0KQ09ORklH X1JURV9MSUJSVEVfTkVUVlNDX0RFQlVHX1JYPW4NCkNPTkZJR19SVEVfTElCUlRFX05FVFZTQ19E RUJVR19UWD1uDQpDT05GSUdfUlRFX0xJQlJURV9ORVRWU0NfREVCVUdfRFVNUD1uDQoNCiMNCiMg Q29tcGlsZSB2aXJ0dWFsIGRldmljZSBkcml2ZXIgZm9yIE5ldFZTQyBvbiBIeXBlci1WL0F6dXJl DQojDQpDT05GSUdfUlRFX0xJQlJURV9WREVWX05FVFZTQ19QTUQ9bg0KDQojDQojIENvbXBpbGUg bnVsbCBQTUQNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9OVUxMPXkNCg0KIw0KIyBDb21waWxl IHNvZnR3YXJlIFBNRCBiYWNrZWQgYnkgUENBUCBmaWxlcw0KIw0KQ09ORklHX1JURV9MSUJSVEVf UE1EX1BDQVA9bg0KDQojDQojIENvbXBpbGUgZXhhbXBsZSBzb2Z0d2FyZSByaW5ncyBiYXNlZCBQ TUQNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9SSU5HPXkNCkNPTkZJR19SVEVfUE1EX1JJTkdf TUFYX1JYX1JJTkdTPTE2DQpDT05GSUdfUlRFX1BNRF9SSU5HX01BWF9UWF9SSU5HUz0xNg0KDQoj DQojIENvbXBpbGUgU09GVE5JQyBQTUQNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9TT0ZUTklD PW4NCg0KIw0KIyBDb21waWxlIHRoZSBUQVAgUE1EDQojIEl0IGlzIGVuYWJsZWQgYnkgZGVmYXVs dCBmb3IgTGludXggb25seS4NCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9UQVA9bg0KDQojDQoj IERvIHByZWZldGNoIG9mIHBhY2tldCBkYXRhIHdpdGhpbiBQTUQgZHJpdmVyIHJlY2VpdmUgZnVu Y3Rpb24NCiMNCkNPTkZJR19SVEVfUE1EX1BBQ0tFVF9QUkVGRVRDSD15DQoNCiMgQ29tcGlsZSBn ZW5lcmljIHdpcmVsZXNzIGJhc2UgYmFuZCBkZXZpY2UgbGlicmFyeQ0KIyBFWFBFUklNRU5UQUw6 IEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQojDQpDT05GSUdfUlRFX0xJQlJU RV9CQkRFVj15DQpDT05GSUdfUlRFX0xJQlJURV9CQkRFVl9ERUJVRz1uDQpDT05GSUdfUlRFX0JC REVWX01BWF9ERVZTPTEyOA0KQ09ORklHX1JURV9CQkRFVl9PRkZMT0FEX0NPU1Q9eQ0KQ09ORklH X1JURV9CQkRFVl9TREtfQVZYMj1uDQpDT05GSUdfUlRFX0JCREVWX1NES19BVlg1MTI9bg0KDQoj DQojIENvbXBpbGUgUE1EIGZvciBOVUxMIGJiZGV2IGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJS VEVfUE1EX0JCREVWX05VTEw9eQ0KDQojDQojIENvbXBpbGUgUE1EIGZvciB0dXJibyBzb2Z0d2Fy ZSBiYmRldiBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9CQkRFVl9UVVJCT19TVz15 DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIEludGVsIEZQR0EgTFRFIEZFQyBiYmRldiBkZXZpY2UN CiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9CQkRFVl9GUEdBX0xURV9GRUM9eQ0KDQojDQojIENv bXBpbGUgUE1EIGZvciBJbnRlbCBGUEdBIDVHTlIgRkVDIGJiZGV2IGRldmljZQ0KIw0KQ09ORklH X1JURV9MSUJSVEVfUE1EX0JCREVWX0ZQR0FfNUdOUl9GRUM9eQ0KDQojDQojIENvbXBpbGUgZ2Vu ZXJpYyBjcnlwdG8gZGV2aWNlIGxpYnJhcnkNCiMNCkNPTkZJR19SVEVfTElCUlRFX0NSWVBUT0RF Vj15DQpDT05GSUdfUlRFX0NSWVBUT19NQVhfREVWUz02NA0KDQojDQojIENvbXBpbGUgUE1EIGZv ciBBUk12OCBDcnlwdG8gZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfQVJNVjhfQ1JZ UFRPPW4NCkNPTkZJR19SVEVfTElCUlRFX1BNRF9BUk1WOF9DUllQVE9fREVCVUc9bg0KDQojDQoj IENvbXBpbGUgTlhQIENBQU0gSlIgY3J5cHRvIERyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVf UE1EX0NBQU1fSlI9bg0KQ09ORklHX1JURV9MSUJSVEVfUE1EX0NBQU1fSlJfQkU9bg0KDQojDQoj IENvbXBpbGUgTlhQIERQQUEyIGNyeXB0byBzZWMgZHJpdmVyIGZvciBDQUFNIEhXDQojDQpDT05G SUdfUlRFX0xJQlJURV9QTURfRFBBQTJfU0VDPW4NCg0KIw0KIyBOWFAgRFBBQSBjYWFtIC0gY3J5 cHRvIGRyaXZlcg0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX0RQQUFfU0VDPW4NCkNPTkZJR19S VEVfTElCUlRFX0RQQUFfTUFYX0NSWVBUT0RFVj00DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIENh dml1bSBPQ1RFT04gVFggY3J5cHRvIGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX09D VEVPTlRYX0NSWVBUTz15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIE1hcnZlbGwgT0NURU9OIFRY MiBjcnlwdG8gZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfT0NURU9OVFgyX0NSWVBU Tz15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIFF1aWNrQXNzaXN0IGJhc2VkIGRldmljZXMgLSBz ZWUgZG9jcyBmb3IgZGV0YWlscw0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX1FBVD15DQpDT05G SUdfUlRFX0xJQlJURV9QTURfUUFUX1NZTT1uDQpDT05GSUdfUlRFX0xJQlJURV9QTURfUUFUX0FT WU09bg0KIw0KIyBNYXguIG51bWJlciBvZiBRdWlja0Fzc2lzdCBkZXZpY2VzLCB3aGljaCBjYW4g YmUgZGV0ZWN0ZWQgYW5kIGF0dGFjaGVkDQojDQpDT05GSUdfUlRFX1BNRF9RQVRfTUFYX1BDSV9E RVZJQ0VTPTQ4DQpDT05GSUdfUlRFX1BNRF9RQVRfQ09NUF9JTV9CVUZGRVJfU0laRT02NTUzNg0K DQojDQojIENvbXBpbGUgUE1EIGZvciB2aXJ0aW8gY3J5cHRvIGRldmljZXMNCiMNCkNPTkZJR19S VEVfTElCUlRFX1BNRF9WSVJUSU9fQ1JZUFRPPXkNCiMNCiMgTnVtYmVyIG9mIG1heGltdW0gdmly dGlvIGNyeXB0byBkZXZpY2VzDQojDQpDT05GSUdfUlRFX01BWF9WSVJUSU9fQ1JZUFRPPTMyDQoN CiMNCiMgQ29tcGlsZSBQTUQgZm9yIEFFU05JIGJhY2tlZCBkZXZpY2UNCiMNCkNPTkZJR19SVEVf TElCUlRFX1BNRF9BRVNOSV9NQj1uDQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIFNvZnR3YXJlIGJh Y2tlZCBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9PUEVOU1NMPW4NCg0KIw0KIyBD b21waWxlIFBNRCBmb3IgQUVTTkkgR0NNIGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1E X0FFU05JX0dDTT1uDQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIFNOT1cgM0cgZGV2aWNlDQojDQpD T05GSUdfUlRFX0xJQlJURV9QTURfU05PVzNHPW4NCkNPTkZJR19SVEVfTElCUlRFX1BNRF9TTk9X M0dfREVCVUc9bg0KDQojDQojIENvbXBpbGUgUE1EIGZvciBLQVNVTUkgZGV2aWNlDQojDQpDT05G SUdfUlRFX0xJQlJURV9QTURfS0FTVU1JPW4NCg0KIw0KIyBDb21waWxlIFBNRCBmb3IgWlVDIGRl dmljZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX1pVQz1uDQoNCiMgQ29tcGlsZSBQTUQgZm9y IENyeXB0byBTY2hlZHVsZXIgZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfQ1JZUFRP X1NDSEVEVUxFUj15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIE5VTEwgQ3J5cHRvIGRldmljZQ0K Iw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX05VTExfQ1JZUFRPPXkNCg0KIw0KIyBDb21waWxlIFBN RCBmb3IgQU1EIENDUCBjcnlwdG8gZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfQ0NQ PW4NCg0KIw0KIyBDb21waWxlIFBNRCBmb3IgTWFydmVsbCBDcnlwdG8gZGV2aWNlDQojDQpDT05G SUdfUlRFX0xJQlJURV9QTURfTVZTQU1fQ1JZUFRPPW4NCg0KIw0KIyBDb21waWxlIFBNRCBmb3Ig TklUUk9YIGNyeXB0byBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9OSVRST1g9eQ0K DQojDQojIENvbXBpbGUgZ2VuZXJpYyBzZWN1cml0eSBsaWJyYXJ5DQojDQpDT05GSUdfUlRFX0xJ QlJURV9TRUNVUklUWT15DQoNCiMNCiMgQ29tcGlsZSBnZW5lcmljIGNvbXByZXNzaW9uIGRldmlj ZSBsaWJyYXJ5DQojDQpDT05GSUdfUlRFX0xJQlJURV9DT01QUkVTU0RFVj15DQpDT05GSUdfUlRF X0NPTVBSRVNTX01BWF9ERVZTPTY0DQoNCiMNCiMgQ29tcGlsZSBjb21wcmVzc2RldiB1bml0IHRl c3QNCiMNCkNPTkZJR19SVEVfQ09NUFJFU1NERVZfVEVTVD1uDQoNCiMNCiMgQ29tcGlsZSBQTUQg Zm9yIE9jdGVvbnR4IFpJUFZGIGNvbXByZXNzaW9uIGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJS VEVfUE1EX09DVEVPTlRYX1pJUFZGPXkNCg0KIw0KIyBDb21waWxlIFBNRCBmb3IgSVNBLUwgY29t cHJlc3Npb24gZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfSVNBTD1uDQoNCiMNCiMg Q29tcGlsZSBQTUQgZm9yIFpMSUIgY29tcHJlc3Npb24gZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJ QlJURV9QTURfWkxJQj1uDQoNCiMNCiMgQ29tcGlsZSBnZW5lcmljIGV2ZW50IGRldmljZSBsaWJy YXJ5DQojDQpDT05GSUdfUlRFX0xJQlJURV9FVkVOVERFVj15DQpDT05GSUdfUlRFX0xJQlJURV9F VkVOVERFVl9ERUJVRz1uDQpDT05GSUdfUlRFX0VWRU5UX01BWF9ERVZTPTE2DQpDT05GSUdfUlRF X0VWRU5UX01BWF9RVUVVRVNfUEVSX0RFVj02NA0KQ09ORklHX1JURV9FVkVOVF9USU1FUl9BREFQ VEVSX05VTV9NQVg9MzINCkNPTkZJR19SVEVfRVZFTlRfRVRIX0lOVFJfUklOR19TSVpFPTEwMjQN CkNPTkZJR19SVEVfRVZFTlRfQ1JZUFRPX0FEQVBURVJfTUFYX0lOU1RBTkNFPTMyDQpDT05GSUdf UlRFX0VWRU5UX0VUSF9UWF9BREFQVEVSX01BWF9JTlNUQU5DRT0zMg0KDQojDQojIENvbXBpbGUg UE1EIGZvciBza2VsZXRvbiBldmVudCBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9T S0VMRVRPTl9FVkVOVERFVj15DQpDT05GSUdfUlRFX0xJQlJURV9QTURfU0tFTEVUT05fRVZFTlRE RVZfREVCVUc9bg0KDQojDQojIENvbXBpbGUgUE1EIGZvciBzb2Z0d2FyZSBldmVudCBkZXZpY2UN CiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9TV19FVkVOVERFVj15DQoNCiMNCiMgQ29tcGlsZSBQ TUQgZm9yIGRpc3RyaWJ1dGVkIHNvZnR3YXJlIGV2ZW50IGRldmljZQ0KIw0KQ09ORklHX1JURV9M SUJSVEVfUE1EX0RTV19FVkVOVERFVj15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIG9jdGVvbnR4 IHNzbyBldmVudCBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9PQ1RFT05UWF9TU09W Rj15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIG9jdGVvbnR4MiBzc28gZXZlbnQgZGV2aWNlDQoj DQpDT05GSUdfUlRFX0xJQlJURV9QTURfT0NURU9OVFgyX0VWRU5UREVWPXkNCg0KIw0KIyBDb21w aWxlIFBNRCBmb3IgT1BETCBldmVudCBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9P UERMX0VWRU5UREVWPXkNCg0KIw0KIyBDb21waWxlIFBNRCBmb3IgTlhQIERQQUEgZXZlbnQgZGV2 aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfRFBBQV9FVkVOVERFVj1uDQoNCiMNCiMgQ29t cGlsZSBQTUQgZm9yIE5YUCBEUEFBMiBldmVudCBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRF X1BNRF9EUEFBMl9FVkVOVERFVj1uDQoNCiMNCiMgQ29tcGlsZSByYXcgZGV2aWNlIHN1cHBvcnQN CiMgRVhQRVJJTUVOVEFMOiBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KIw0K Q09ORklHX1JURV9MSUJSVEVfUkFXREVWPXkNCkNPTkZJR19SVEVfUkFXREVWX01BWF9ERVZTPTY0 DQpDT05GSUdfUlRFX0xJQlJURV9QTURfU0tFTEVUT05fUkFXREVWPXkNCg0KIw0KIyBDb21waWxl IFBNRCBmb3IgTlhQIERQQUEyIENNRElGIHJhdyBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRF X1BNRF9EUEFBMl9DTURJRl9SQVdERVY9bg0KDQojDQojIENvbXBpbGUgUE1EIGZvciBOWFAgRFBB QTIgUURNQSByYXcgZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9QTURfRFBBQTJfUURNQV9S QVdERVY9bg0KDQojDQojIENvbXBpbGUgUE1EIGZvciBJbnRlbCBGUEdBIHJhdyBkZXZpY2UNCiMN CkNPTkZJR19SVEVfTElCUlRFX1BNRF9JRlBHQV9SQVdERVY9bg0KDQojDQojIENvbXBpbGUgUE1E IGZvciBJbnRlbCBJT0FUIHJhdyBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9JT0FU X1JBV0RFVj15DQoNCiMNCiMgQ29tcGlsZSBQTUQgZm9yIG9jdGVvbnR4MiBETUEgcmF3IGRldmlj ZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX09DVEVPTlRYMl9ETUFfUkFXREVWPXkNCg0KIw0K IyBDb21waWxlIFBNRCBmb3Igb2N0ZW9udHgyIEVQIHJhdyBkZXZpY2UNCiMNCkNPTkZJR19SVEVf TElCUlRFX1BNRF9PQ1RFT05UWDJfRVBfUkFXREVWPXkNCg0KIw0KIyBDb21waWxlIFBNRCBmb3Ig TlRCIHJhdyBkZXZpY2UNCiMNCkNPTkZJR19SVEVfTElCUlRFX1BNRF9OVEJfUkFXREVWPXkNCg0K Iw0KIyBDb21waWxlIGxpYnJ0ZV9yaW5nDQojDQpDT05GSUdfUlRFX0xJQlJURV9SSU5HPXkNCg0K Iw0KIyBDb21waWxlIGxpYnJ0ZV9zdGFjaw0KIw0KQ09ORklHX1JURV9MSUJSVEVfU1RBQ0s9eQ0K DQojDQojIENvbXBpbGUgbGlicnRlX21lbXBvb2wNCiMNCkNPTkZJR19SVEVfTElCUlRFX01FTVBP T0w9eQ0KQ09ORklHX1JURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFPTUxMg0KQ09ORklHX1JURV9M SUJSVEVfTUVNUE9PTF9ERUJVRz1uDQoNCiMNCiMgQ29tcGlsZSBNZW1wb29sIGRyaXZlcnMNCiMN CkNPTkZJR19SVEVfRFJJVkVSX01FTVBPT0xfQlVDS0VUPXkNCkNPTkZJR19SVEVfRFJJVkVSX01F TVBPT0xfQlVDS0VUX1NJWkVfS0I9NjQNCkNPTkZJR19SVEVfRFJJVkVSX01FTVBPT0xfUklORz15 DQpDT05GSUdfUlRFX0RSSVZFUl9NRU1QT09MX1NUQUNLPXkNCg0KIw0KIyBDb21waWxlIFBNRCBm b3Igb2N0ZW9udHggZnBhIG1lbXBvb2wgZGV2aWNlDQojDQpDT05GSUdfUlRFX0xJQlJURV9PQ1RF T05UWF9NRU1QT09MPXkNCg0KIw0KIyBDb21waWxlIFBNRCBmb3Igb2N0ZW9udHgyIG5wYSBtZW1w b29sIGRldmljZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfT0NURU9OVFgyX01FTVBPT0w9eQ0KDQoj DQojIENvbXBpbGUgbGlicnRlX21idWYNCiMNCkNPTkZJR19SVEVfTElCUlRFX01CVUY9eQ0KQ09O RklHX1JURV9MSUJSVEVfTUJVRl9ERUJVRz1uDQpDT05GSUdfUlRFX01CVUZfREVGQVVMVF9NRU1Q T09MX09QUz0icmluZ19tcF9tYyINCkNPTkZJR19SVEVfTUJVRl9SRUZDTlRfQVRPTUlDPXkNCkNP TkZJR19SVEVfUEtUTUJVRl9IRUFEUk9PTT0xMjgNCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV90aW1l cg0KIw0KQ09ORklHX1JURV9MSUJSVEVfVElNRVI9eQ0KQ09ORklHX1JURV9MSUJSVEVfVElNRVJf REVCVUc9bg0KDQojDQojIENvbXBpbGUgbGlicnRlX2NmZ2ZpbGUNCiMNCkNPTkZJR19SVEVfTElC UlRFX0NGR0ZJTEU9eQ0KDQojDQojIENvbXBpbGUgbGlicnRlX2NtZGxpbmUNCiMNCkNPTkZJR19S VEVfTElCUlRFX0NNRExJTkU9eQ0KQ09ORklHX1JURV9MSUJSVEVfQ01ETElORV9ERUJVRz1uDQoN CiMNCiMgQ29tcGlsZSBsaWJydGVfaGFzaA0KIw0KQ09ORklHX1JURV9MSUJSVEVfSEFTSD15DQpD T05GSUdfUlRFX0xJQlJURV9IQVNIX0RFQlVHPW4NCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9lZmQN CiMNCkNPTkZJR19SVEVfTElCUlRFX0VGRD15DQoNCiMNCiMgQ29tcGlsZSBsaWJydGVfbWVtYmVy DQojDQpDT05GSUdfUlRFX0xJQlJURV9NRU1CRVI9eQ0KDQojDQojIENvbXBpbGUgbGlicnRlX2pv YnN0YXRzDQojDQpDT05GSUdfUlRFX0xJQlJURV9KT0JTVEFUUz15DQoNCiMNCiMgQ29tcGlsZSB0 aGUgZGV2aWNlIG1ldHJpY3MgbGlicmFyeQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfTUVUUklDUz15 DQoNCiMNCiMgQ29tcGlsZSB0aGUgYml0cmF0ZSBzdGF0aXN0aWNzIGxpYnJhcnkNCiMNCkNPTkZJ R19SVEVfTElCUlRFX0JJVFJBVEU9eQ0KDQojDQojIENvbXBpbGUgdGhlIGxhdGVuY3kgc3RhdGlz dGljcyBsaWJyYXJ5DQojDQpDT05GSUdfUlRFX0xJQlJURV9MQVRFTkNZX1NUQVRTPXkNCg0KIw0K IyBDb21waWxlIGxpYnJ0ZV90ZWxlbWV0cnkgbGVnYWN5IHN1cHBvcnQNCiMNCkNPTkZJR19SVEVf TElCUlRFX1RFTEVNRVRSWT1uDQoNCiMNCiMgQ29tcGlsZSBsaWJydGVfcmN1DQojDQpDT05GSUdf UlRFX0xJQlJURV9SQ1U9eQ0KQ09ORklHX1JURV9MSUJSVEVfUkNVX0RFQlVHPW4NCg0KIw0KIyBD b21waWxlIGxpYnJ0ZV9yaWINCiMNCkNPTkZJR19SVEVfTElCUlRFX1JJQj15DQoNCiMNCiMgQ29t cGlsZSBsaWJydGVfZmliDQojDQpDT05GSUdfUlRFX0xJQlJURV9GSUI9eQ0KQ09ORklHX1JURV9M SUJSVEVfRklCX0RFQlVHPW4NCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9scG0NCiMNCkNPTkZJR19S VEVfTElCUlRFX0xQTT15DQpDT05GSUdfUlRFX0xJQlJURV9MUE1fREVCVUc9bg0KDQojDQojIENv bXBpbGUgbGlicnRlX2FjbA0KIw0KQ09ORklHX1JURV9MSUJSVEVfQUNMPXkNCkNPTkZJR19SVEVf TElCUlRFX0FDTF9ERUJVRz1uDQoNCiMNCiMgQ29tcGlsZSBsaWJydGVfcG93ZXINCiMNCkNPTkZJ R19SVEVfTElCUlRFX1BPV0VSPW4NCkNPTkZJR19SVEVfTElCUlRFX1BPV0VSX0RFQlVHPW4NCkNP TkZJR19SVEVfTUFYX0xDT1JFX0ZSRVFTPTY0DQoNCiMNCiMgQ29tcGlsZSBsaWJydGVfbmV0DQoj DQpDT05GSUdfUlRFX0xJQlJURV9ORVQ9eQ0KDQojDQojIENvbXBpbGUgbGlicnRlX2lwX2ZyYWcN CiMNCkNPTkZJR19SVEVfTElCUlRFX0lQX0ZSQUc9eQ0KQ09ORklHX1JURV9MSUJSVEVfSVBfRlJB R19ERUJVRz1uDQpDT05GSUdfUlRFX0xJQlJURV9JUF9GUkFHX01BWF9GUkFHPTQNCkNPTkZJR19S VEVfTElCUlRFX0lQX0ZSQUdfVEJMX1NUQVQ9bg0KDQojDQojIENvbXBpbGUgR1JPIGxpYnJhcnkN CiMNCkNPTkZJR19SVEVfTElCUlRFX0dSTz15DQoNCiMNCiMgQ29tcGlsZSBHU08gbGlicmFyeQ0K Iw0KQ09ORklHX1JURV9MSUJSVEVfR1NPPXkNCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9tZXRlcg0K Iw0KQ09ORklHX1JURV9MSUJSVEVfTUVURVI9eQ0KDQojDQojIENvbXBpbGUgbGlicnRlX2NsYXNz aWZ5DQojDQpDT05GSUdfUlRFX0xJQlJURV9GTE9XX0NMQVNTSUZZPXkNCg0KIw0KIyBDb21waWxl IGxpYnJ0ZV9zY2hlZA0KIw0KQ09ORklHX1JURV9MSUJSVEVfU0NIRUQ9eQ0KQ09ORklHX1JURV9T Q0hFRF9ERUJVRz1uDQpDT05GSUdfUlRFX1NDSEVEX1JFRD1uDQpDT05GSUdfUlRFX1NDSEVEX0NP TExFQ1RfU1RBVFM9bg0KQ09ORklHX1JURV9TQ0hFRF9TVUJQT1JUX1RDX09WPW4NCkNPTkZJR19S VEVfU0NIRURfUE9SVF9OX0dSSU5ERVJTPTgNCkNPTkZJR19SVEVfU0NIRURfVkVDVE9SPW4NCg0K Iw0KIyBDb21waWxlIHRoZSBkaXN0cmlidXRvciBsaWJyYXJ5DQojDQpDT05GSUdfUlRFX0xJQlJU RV9ESVNUUklCVVRPUj15DQoNCiMNCiMgQ29tcGlsZSB0aGUgcmVvcmRlciBsaWJyYXJ5DQojDQpD T05GSUdfUlRFX0xJQlJURV9SRU9SREVSPXkNCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9wb3J0DQoj DQpDT05GSUdfUlRFX0xJQlJURV9QT1JUPXkNCkNPTkZJR19SVEVfUE9SVF9TVEFUU19DT0xMRUNU PW4NCkNPTkZJR19SVEVfUE9SVF9QQ0FQPW4NCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV90YWJsZQ0K Iw0KQ09ORklHX1JURV9MSUJSVEVfVEFCTEU9eQ0KQ09ORklHX1JURV9UQUJMRV9TVEFUU19DT0xM RUNUPW4NCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9waXBlbGluZQ0KIw0KQ09ORklHX1JURV9MSUJS VEVfUElQRUxJTkU9eQ0KQ09ORklHX1JURV9QSVBFTElORV9TVEFUU19DT0xMRUNUPW4NCg0KIw0K IyBDb21waWxlIGxpYnJ0ZV9rbmkNCiMNCkNPTkZJR19SVEVfTElCUlRFX0tOST1uDQpDT05GSUdf UlRFX0xJQlJURV9QTURfS05JPW4NCkNPTkZJR19SVEVfS05JX0tNT0Q9bg0KQ09ORklHX1JURV9L TklfUFJFRU1QVF9ERUZBVUxUPXkNCg0KIw0KIyBDb21waWxlIHRoZSBwZHVtcCBsaWJyYXJ5DQoj DQpDT05GSUdfUlRFX0xJQlJURV9QRFVNUD15DQoNCiMNCiMgQ29tcGlsZSB2aG9zdCB1c2VyIGxp YnJhcnkNCiMNCkNPTkZJR19SVEVfTElCUlRFX1ZIT1NUPW4NCkNPTkZJR19SVEVfTElCUlRFX1ZI T1NUX05VTUE9bg0KQ09ORklHX1JURV9MSUJSVEVfVkhPU1RfREVCVUc9bg0KDQojDQojIENvbXBp bGUgdmhvc3QgUE1EDQojIFRvIGNvbXBpbGUsIENPTkZJR19SVEVfTElCUlRFX1ZIT1NUIHNob3Vs ZCBiZSBlbmFibGVkLg0KIw0KQ09ORklHX1JURV9MSUJSVEVfUE1EX1ZIT1NUPW4NCg0KIw0KIyBD b21waWxlIElGQyBkcml2ZXINCiMgVG8gY29tcGlsZSwgQ09ORklHX1JURV9MSUJSVEVfVkhPU1Qg YW5kIENPTkZJR19SVEVfRUFMX1ZGSU8NCiMgc2hvdWxkIGJlIGVuYWJsZWQuDQojDQpDT05GSUdf UlRFX0xJQlJURV9JRkNfUE1EPW4NCg0KIw0KIyBDb21waWxlIGxpYnJ0ZV9icGYNCiMNCkNPTkZJ R19SVEVfTElCUlRFX0JQRj15DQojIGFsbG93IGxvYWQgQlBGIGZyb20gRUxGIGZpbGVzIChyZXF1 aXJlcyBsaWJlbGYpDQpDT05GSUdfUlRFX0xJQlJURV9CUEZfRUxGPW4NCg0KIw0KIyBDb21waWxl IGxpYnJ0ZV9pcHNlYw0KIw0KQ09ORklHX1JURV9MSUJSVEVfSVBTRUM9eQ0KDQojDQojIENvbXBp bGUgbGlicnRlX2dyYXBoDQojDQpDT05GSUdfUlRFX0xJQlJURV9HUkFQSD15DQpDT05GSUdfUlRF X0dSQVBIX0JVUlNUX1NJWkU9MjU2DQpDT05GSUdfUlRFX0xJQlJURV9HUkFQSF9TVEFUUz15DQoN CiMNCiMgQ29tcGlsZSBsaWJydGVfbm9kZQ0KIw0KQ09ORklHX1JURV9MSUJSVEVfTk9ERT15DQoN CiMNCiMgQ29tcGlsZSB0aGUgdGVzdCBhcHBsaWNhdGlvbg0KIw0KQ09ORklHX1JURV9BUFBfVEVT VD15DQpDT05GSUdfUlRFX0FQUF9URVNUX1JFU09VUkNFX1RBUj1uDQoNCiMNCiMgQ29tcGlsZSB0 aGUgcHJvY2luZm8gYXBwbGljYXRpb24NCiMNCkNPTkZJR19SVEVfUFJPQ19JTkZPPW4NCg0KIw0K IyBDb21waWxlIHRoZSBQTUQgdGVzdCBhcHBsaWNhdGlvbg0KIw0KQ09ORklHX1JURV9URVNUX1BN RD15DQpDT05GSUdfUlRFX1RFU1RfUE1EX1JFQ09SRF9DT1JFX0NZQ0xFUz1uDQpDT05GSUdfUlRF X1RFU1RfUE1EX1JFQ09SRF9CVVJTVF9TVEFUUz1uDQoNCiMNCiMgQ29tcGlsZSB0aGUgcnRlIGZs b3cgcGVyZiBhcHBsaWNhdGlvbg0KIw0KQ09ORklHX1JURV9URVNUX0ZMT1dfUEVSRj15DQoNCiMN CiMgQ29tcGlsZSB0aGUgYmJkZXYgdGVzdCBhcHBsaWNhdGlvbg0KIw0KQ09ORklHX1JURV9URVNU X0JCREVWPXkNCg0KIw0KIyBDb21waWxlIHRoZSBjb21wcmVzc2lvbiBwZXJmb3JtYW5jZSBhcHBs aWNhdGlvbg0KIw0KQ09ORklHX1JURV9BUFBfQ09NUFJFU1NfUEVSRj15DQoNCiMNCiMgQ29tcGls ZSB0aGUgY3J5cHRvIHBlcmZvcm1hbmNlIGFwcGxpY2F0aW9uDQojDQpDT05GSUdfUlRFX0FQUF9D UllQVE9fUEVSRj15DQoNCiMNCiMgQ29tcGlsZSB0aGUgZXZlbnRkZXYgYXBwbGljYXRpb24NCiMN CkNPTkZJR19SVEVfQVBQX0VWRU5UREVWPXkKMDMvMDcvMjAyMCAwMToyNDozNyAgICAgICAgICAg ICBkdXQuMTAuMjQwLjE4My4yNDc6IGNhdCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMK MDMvMDcvMjAyMCAwMToyNDozNyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IC8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCiAqIENvcHlyaWdodChjKSAyMDEw LTIwMTcgSW50ZWwgQ29ycG9yYXRpb24NCiAqLw0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNs dWRlIDxlcnJuby5oPg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KI2luY2x1ZGUgPHN0cmluZy5oPg0K I2luY2x1ZGUgPHVuaXN0ZC5oPg0KI2luY2x1ZGUgPHN0ZGFyZy5oPg0KI2luY2x1ZGUgPGludHR5 cGVzLmg+DQojaW5jbHVkZSA8YXNzZXJ0Lmg+DQoNCiNpbmNsdWRlIDxydGVfY29tbW9uLmg+DQoj aW5jbHVkZSA8cnRlX2VhbC5oPg0KI2luY2x1ZGUgPHJ0ZV9zdHJpbmdfZm5zLmg+DQojaW5jbHVk ZSA8cnRlX3BjaS5oPg0KI2luY2x1ZGUgPHJ0ZV9idXNfcGNpLmg+DQojaW5jbHVkZSA8cnRlX2V0 aGVyLmg+DQojaW5jbHVkZSA8cnRlX2V0aGRldl9kcml2ZXIuaD4NCiNpbmNsdWRlIDxydGVfZXRo ZGV2X3BjaS5oPg0KI2luY2x1ZGUgPHJ0ZV9tZW16b25lLmg+DQojaW5jbHVkZSA8cnRlX21hbGxv Yy5oPg0KI2luY2x1ZGUgPHJ0ZV9tZW1jcHkuaD4NCiNpbmNsdWRlIDxydGVfYWxhcm0uaD4NCiNp bmNsdWRlIDxydGVfZGV2Lmg+DQojaW5jbHVkZSA8cnRlX3RhaWxxLmg+DQojaW5jbHVkZSA8cnRl X2hhc2hfY3JjLmg+DQoNCiNpbmNsdWRlICJpNDBlX2xvZ3MuaCINCiNpbmNsdWRlICJiYXNlL2k0 MGVfcHJvdG90eXBlLmgiDQojaW5jbHVkZSAiYmFzZS9pNDBlX2FkbWlucV9jbWQuaCINCiNpbmNs dWRlICJiYXNlL2k0MGVfdHlwZS5oIg0KI2luY2x1ZGUgImJhc2UvaTQwZV9yZWdpc3Rlci5oIg0K I2luY2x1ZGUgImJhc2UvaTQwZV9kY2IuaCINCiNpbmNsdWRlICJpNDBlX2V0aGRldi5oIg0KI2lu Y2x1ZGUgImk0MGVfcnh0eC5oIg0KI2luY2x1ZGUgImk0MGVfcGYuaCINCiNpbmNsdWRlICJpNDBl X3JlZ3MuaCINCiNpbmNsdWRlICJydGVfcG1kX2k0MGUuaCINCg0KI2RlZmluZSBFVEhfSTQwRV9G TE9BVElOR19WRUJfQVJHCSJlbmFibGVfZmxvYXRpbmdfdmViIg0KI2RlZmluZSBFVEhfSTQwRV9G TE9BVElOR19WRUJfTElTVF9BUkcJImZsb2F0aW5nX3ZlYl9saXN0Ig0KI2RlZmluZSBFVEhfSTQw RV9TVVBQT1JUX01VTFRJX0RSSVZFUgkic3VwcG9ydC1tdWx0aS1kcml2ZXIiDQojZGVmaW5lIEVU SF9JNDBFX1FVRVVFX05VTV9QRVJfVkZfQVJHCSJxdWV1ZS1udW0tcGVyLXZmIg0KI2RlZmluZSBF VEhfSTQwRV9VU0VfTEFURVNUX1ZFQwkidXNlLWxhdGVzdC1zdXBwb3J0ZWQtdmVjIg0KI2RlZmlu ZSBFVEhfSTQwRV9WRl9NU0dfQ0ZHCQkidmZfbXNnX2NmZyINCg0KI2RlZmluZSBJNDBFX0NMRUFS X1BYRV9XQUlUX01TICAgICAyMDANCg0KLyogTWF4aW11biBudW1iZXIgb2YgY2FwYWJpbGl0eSBl bGVtZW50cyAqLw0KI2RlZmluZSBJNDBFX01BWF9DQVBfRUxFX05VTSAgICAgICAxMjgNCg0KLyog V2FpdCBjb3VudCBhbmQgaW50ZXJ2YWwgKi8NCiNkZWZpbmUgSTQwRV9DSEtfUV9FTkFfQ09VTlQg ICAgICAgMTAwMA0KI2RlZmluZSBJNDBFX0NIS19RX0VOQV9JTlRFUlZBTF9VUyAxMDAwDQoNCi8q IE1heGltdW4gbnVtYmVyIG9mIFZTSSAqLw0KI2RlZmluZSBJNDBFX01BWF9OVU1fVlNJUyAgICAg ICAgICAoMzg0VUwpDQoNCiNkZWZpbmUgSTQwRV9QUkVfVFhfUV9DRkdfV0FJVF9VUyAgICAgICAx MCAvKiAxMCB1cyAqLw0KDQovKiBGbG93IGNvbnRyb2wgZGVmYXVsdCB0aW1lciAqLw0KI2RlZmlu ZSBJNDBFX0RFRkFVTFRfUEFVU0VfVElNRSAweEZGRkZVDQoNCi8qIEZsb3cgY29udHJvbCBlbmFi bGUgZndkIGJpdCAqLw0KI2RlZmluZSBJNDBFX1BSVE1BQ19GV0RfQ1RSTCAgIDB4MDAwMDAwMDEN Cg0KLyogUmVjZWl2ZSBQYWNrZXQgQnVmZmVyIHNpemUgKi8NCiNkZWZpbmUgSTQwRV9SWFBCU0la RSAoOTY4ICogMTAyNCkNCg0KLyogS2lsb2J5dGVzIHNoaWZ0ICovDQojZGVmaW5lIEk0MEVfS0lM T1NISUZUIDEwDQoNCi8qIEZsb3cgY29udHJvbCBkZWZhdWx0IGhpZ2ggd2F0ZXIgKi8NCiNkZWZp bmUgSTQwRV9ERUZBVUxUX0hJR0hfV0FURVIgKDB4RjIwMDAgPj4gSTQwRV9LSUxPU0hJRlQpDQoN Ci8qIEZsb3cgY29udHJvbCBkZWZhdWx0IGxvdyB3YXRlciAqLw0KI2RlZmluZSBJNDBFX0RFRkFV TFRfTE9XX1dBVEVSICAoMHhGMjAwMCA+PiBJNDBFX0tJTE9TSElGVCkNCg0KLyogUmVjZWl2ZSBB dmVyYWdlIFBhY2tldCBTaXplIGluIEJ5dGUqLw0KI2RlZmluZSBJNDBFX1BBQ0tFVF9BVkVSQUdF X1NJWkUgMTI4DQoNCi8qIE1hc2sgb2YgUEYgaW50ZXJydXB0IGNhdXNlcyAqLw0KI2RlZmluZSBJ NDBFX1BGSU5UX0lDUjBfRU5BX01BU0sgKCBcDQoJCUk0MEVfUEZJTlRfSUNSMF9FTkFfRUNDX0VS Ul9NQVNLIHwgXA0KCQlJNDBFX1BGSU5UX0lDUjBfRU5BX01BTF9ERVRFQ1RfTUFTSyB8IFwNCgkJ STQwRV9QRklOVF9JQ1IwX0VOQV9HUlNUX01BU0sgfCBcDQoJCUk0MEVfUEZJTlRfSUNSMF9FTkFf UENJX0VYQ0VQVElPTl9NQVNLIHwgXA0KCQlJNDBFX1BGSU5UX0lDUjBfRU5BX1NUT1JNX0RFVEVD VF9NQVNLIHwgXA0KCQlJNDBFX1BGSU5UX0lDUjBfRU5BX0hNQ19FUlJfTUFTSyB8IFwNCgkJSTQw RV9QRklOVF9JQ1IwX0VOQV9QRV9DUklURVJSX01BU0sgfCBcDQoJCUk0MEVfUEZJTlRfSUNSMF9F TkFfVkZMUl9NQVNLIHwgXA0KCQlJNDBFX1BGSU5UX0lDUjBfRU5BX0FETUlOUV9NQVNLKQ0KDQoj ZGVmaW5lIEk0MEVfRkxPV19UWVBFUyAoIFwNCgkoMVVMIDw8IFJURV9FVEhfRkxPV19GUkFHX0lQ VjQpIHwgXA0KCSgxVUwgPDwgUlRFX0VUSF9GTE9XX05PTkZSQUdfSVBWNF9UQ1ApIHwgXA0KCSgx VUwgPDwgUlRFX0VUSF9GTE9XX05PTkZSQUdfSVBWNF9VRFApIHwgXA0KCSgxVUwgPDwgUlRFX0VU SF9GTE9XX05PTkZSQUdfSVBWNF9TQ1RQKSB8IFwNCgkoMVVMIDw8IFJURV9FVEhfRkxPV19OT05G UkFHX0lQVjRfT1RIRVIpIHwgXA0KCSgxVUwgPDwgUlRFX0VUSF9GTE9XX0ZSQUdfSVBWNikgfCBc DQoJKDFVTCA8PCBSVEVfRVRIX0ZMT1dfTk9ORlJBR19JUFY2X1RDUCkgfCBcDQoJKDFVTCA8PCBS VEVfRVRIX0ZMT1dfTk9ORlJBR19JUFY2X1VEUCkgfCBcDQoJKDFVTCA8PCBSVEVfRVRIX0ZMT1df Tk9ORlJBR19JUFY2X1NDVFApIHwgXA0KCSgxVUwgPDwgUlRFX0VUSF9GTE9XX05PTkZSQUdfSVBW Nl9PVEhFUikgfCBcDQoJKDFVTCA8PCBSVEVfRVRIX0ZMT1dfTDJfUEFZTE9BRCkpDQoNCi8qIEFk ZGl0aW9uYWwgdGltZXN5bmMgdmFsdWVzLiAqLw0KI2RlZmluZSBJNDBFX1BUUF80MEdCX0lOQ1ZB TCAgICAgMHgwMTk5OTk5OTk5VUxMDQojZGVmaW5lIEk0MEVfUFRQXzEwR0JfSU5DVkFMICAgICAw eDAzMzMzMzMzMzNVTEwNCiNkZWZpbmUgSTQwRV9QVFBfMUdCX0lOQ1ZBTCAgICAgIDB4MjAwMDAw MDAwMFVMTA0KI2RlZmluZSBJNDBFX1BSVFRTWU5fVFNZTkVOQSAgICAgMHg4MDAwMDAwMA0KI2Rl ZmluZSBJNDBFX1BSVFRTWU5fVFNZTlRZUEUgICAgMHgwZTAwMDAwMA0KI2RlZmluZSBJNDBFX0NZ Q0xFQ09VTlRFUl9NQVNLICAgMHhmZmZmZmZmZmZmZmZmZmZmVUxMDQoNCi8qKg0KICogQmVsb3cg YXJlIHZhbHVlcyBmb3Igd3JpdGluZyB1bi1leHBvc2VkIHJlZ2lzdGVycyBzdWdnZXN0ZWQNCiAq IGJ5IHNpbGljb24gZXhwZXJ0cw0KICovDQovKiBEZXN0aW5hdGlvbiBNQUMgYWRkcmVzcyAqLw0K I2RlZmluZSBJNDBFX1JFR19JTlNFVF9MMl9ETUFDICAgICAgICAgICAgICAgICAgIDB4RTAwMDAw MDAwMDAwMDAwMFVMTA0KLyogU291cmNlIE1BQyBhZGRyZXNzICovDQojZGVmaW5lIEk0MEVfUkVH X0lOU0VUX0wyX1NNQUMgICAgICAgICAgICAgICAgICAgMHgxQzAwMDAwMDAwMDAwMDAwVUxMDQov KiBPdXRlciAoUy1UYWcpIFZMQU4gdGFnIGluIHRoZSBvdXRlciBMMiBoZWFkZXIgKi8NCiNkZWZp bmUgSTQwRV9SRUdfSU5TRVRfTDJfT1VURVJfVkxBTiAgICAgICAgICAgICAweDAwMDAwMDAwMDQw MDAwMDBVTEwNCi8qIElubmVyIChDLVRhZykgb3Igc2luZ2xlIFZMQU4gdGFnIGluIHRoZSBvdXRl ciBMMiBoZWFkZXIgKi8NCiNkZWZpbmUgSTQwRV9SRUdfSU5TRVRfTDJfSU5ORVJfVkxBTiAgICAg ICAgICAgICAweDAwODAwMDAwMDAwMDAwMDBVTEwNCi8qIFNpbmdsZSBWTEFOIHRhZyBpbiB0aGUg aW5uZXIgTDIgaGVhZGVyICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX1RVTk5FTF9WTEFOICAg ICAgICAgICAgICAgMHgwMTAwMDAwMDAwMDAwMDAwVUxMDQovKiBTb3VyY2UgSVB2NCBhZGRyZXNz ICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0wzX1NSQ19JUDQgICAgICAgICAgICAgICAgMHgw MDAxODAwMDAwMDAwMDAwVUxMDQovKiBEZXN0aW5hdGlvbiBJUHY0IGFkZHJlc3MgKi8NCiNkZWZp bmUgSTQwRV9SRUdfSU5TRVRfTDNfRFNUX0lQNCAgICAgICAgICAgICAgICAweDAwMDAwMDE4MDAw MDAwMDBVTEwNCi8qIFNvdXJjZSBJUHY0IGFkZHJlc3MgZm9yIFg3MjIgKi8NCiNkZWZpbmUgSTQw RV9YNzIyX1JFR19JTlNFVF9MM19TUkNfSVA0ICAgICAgICAgICAweDAwMDYwMDAwMDAwMDAwMDBV TEwNCi8qIERlc3RpbmF0aW9uIElQdjQgYWRkcmVzcyBmb3IgWDcyMiAqLw0KI2RlZmluZSBJNDBF X1g3MjJfUkVHX0lOU0VUX0wzX0RTVF9JUDQgICAgICAgICAgIDB4MDAwMDA2MDAwMDAwMDAwMFVM TA0KLyogSVB2NCBQcm90b2NvbCBmb3IgWDcyMiAqLw0KI2RlZmluZSBJNDBFX1g3MjJfUkVHX0lO U0VUX0wzX0lQNF9QUk9UTyAgICAgICAgIDB4MDAxMDAwMDAwMDAwMDAwMFVMTA0KLyogSVB2NCBU aW1lIHRvIExpdmUgZm9yIFg3MjIgKi8NCiNkZWZpbmUgSTQwRV9YNzIyX1JFR19JTlNFVF9MM19J UDRfVFRMICAgICAgICAgICAweDAwMTAwMDAwMDAwMDAwMDBVTEwNCi8qIElQdjQgVHlwZSBvZiBT ZXJ2aWNlIChUT1MpICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0wzX0lQNF9UT1MgICAgICAg ICAgICAgICAgMHgwMDQwMDAwMDAwMDAwMDAwVUxMDQovKiBJUHY0IFByb3RvY29sICovDQojZGVm aW5lIEk0MEVfUkVHX0lOU0VUX0wzX0lQNF9QUk9UTyAgICAgICAgICAgICAgMHgwMDA0MDAwMDAw MDAwMDAwVUxMDQovKiBJUHY0IFRpbWUgdG8gTGl2ZSAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNF VF9MM19JUDRfVFRMICAgICAgICAgICAgICAgIDB4MDAwNDAwMDAwMDAwMDAwMFVMTA0KLyogU291 cmNlIElQdjYgYWRkcmVzcyAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNFVF9MM19TUkNfSVA2ICAg ICAgICAgICAgICAgIDB4MDAwN0Y4MDAwMDAwMDAwMFVMTA0KLyogRGVzdGluYXRpb24gSVB2NiBh ZGRyZXNzICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0wzX0RTVF9JUDYgICAgICAgICAgICAg ICAgMHgwMDAwMDdGODAwMDAwMDAwVUxMDQovKiBJUHY2IFRyYWZmaWMgQ2xhc3MgKFRDKSAqLw0K I2RlZmluZSBJNDBFX1JFR19JTlNFVF9MM19JUDZfVEMgICAgICAgICAgICAgICAgIDB4MDA0MDAw MDAwMDAwMDAwMFVMTA0KLyogSVB2NiBOZXh0IEhlYWRlciAqLw0KI2RlZmluZSBJNDBFX1JFR19J TlNFVF9MM19JUDZfTkVYVF9IRFIgICAgICAgICAgIDB4MDAwODAwMDAwMDAwMDAwMFVMTA0KLyog SVB2NiBIb3AgTGltaXQgKi8NCiNkZWZpbmUgSTQwRV9SRUdfSU5TRVRfTDNfSVA2X0hPUF9MSU1J VCAgICAgICAgICAweDAwMDgwMDAwMDAwMDAwMDBVTEwNCi8qIFNvdXJjZSBMNCBwb3J0ICovDQoj ZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0w0X1NSQ19QT1JUICAgICAgICAgICAgICAgMHgwMDAwMDAw NDAwMDAwMDAwVUxMDQovKiBEZXN0aW5hdGlvbiBMNCBwb3J0ICovDQojZGVmaW5lIEk0MEVfUkVH X0lOU0VUX0w0X0RTVF9QT1JUICAgICAgICAgICAgICAgMHgwMDAwMDAwMjAwMDAwMDAwVUxMDQov KiBTQ1RQIHZlcmlmaWNhdGlvbiB0YWcgKi8NCiNkZWZpbmUgSTQwRV9SRUdfSU5TRVRfTDRfU0NU UF9WRVJJRklDQVRJT05fVEFHICAweDAwMDAwMDAxODAwMDAwMDBVTEwNCi8qIElubmVyIGRlc3Rp bmF0aW9uIE1BQyBhZGRyZXNzIChNQUMtaW4tVURQL01BQy1pbi1HUkUpKi8NCiNkZWZpbmUgSTQw RV9SRUdfSU5TRVRfVFVOTkVMX0wyX0lOTkVSX0RTVF9NQUMgICAweDAwMDAwMDAwMDFDMDAwMDBV TEwNCi8qIFNvdXJjZSBwb3J0IG9mIHR1bm5lbGluZyBVRFAgKi8NCiNkZWZpbmUgSTQwRV9SRUdf SU5TRVRfVFVOTkVMX0w0X1VEUF9TUkNfUE9SVCAgICAweDAwMDAwMDAwMDAyMDAwMDBVTEwNCi8q IERlc3RpbmF0aW9uIHBvcnQgb2YgdHVubmVsaW5nIFVEUCAqLw0KI2RlZmluZSBJNDBFX1JFR19J TlNFVF9UVU5ORUxfTDRfVURQX0RTVF9QT1JUICAgIDB4MDAwMDAwMDAwMDEwMDAwMFVMTA0KLyog VURQIFR1bm5lbGluZyBJRCwgTlZHUkUvR1JFIGtleSAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNF VF9UVU5ORUxfSUQgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDBDMDAwMFVMTA0KLyogTGFz dCBldGhlciB0eXBlICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0xBU1RfRVRIRVJfVFlQRSAg ICAgICAgICAgMHgwMDAwMDAwMDAwMDA0MDAwVUxMDQovKiBUdW5uZWxpbmcgb3V0ZXIgZGVzdGlu YXRpb24gSVB2NCBhZGRyZXNzICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX1RVTk5FTF9MM19E U1RfSVA0ICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMEMwVUxMDQovKiBUdW5uZWxpbmcgb3V0ZXIg ZGVzdGluYXRpb24gSVB2NiBhZGRyZXNzICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX1RVTk5F TF9MM19EU1RfSVA2ICAgICAgICAgMHgwMDAwMDAwMDAwMDAzRkMwVUxMDQovKiAxc3Qgd29yZCBv ZiBmbGV4IHBheWxvYWQgKi8NCiNkZWZpbmUgSTQwRV9SRUdfSU5TRVRfRkxFWF9QQVlMT0FEX1dP UkQxICAgICAgICAweDAwMDAwMDAwMDAwMDIwMDBVTEwNCi8qIDJuZCB3b3JkIG9mIGZsZXggcGF5 bG9hZCAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNFVF9GTEVYX1BBWUxPQURfV09SRDIgICAgICAg IDB4MDAwMDAwMDAwMDAwMTAwMFVMTA0KLyogM3JkIHdvcmQgb2YgZmxleCBwYXlsb2FkICovDQoj ZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0ZMRVhfUEFZTE9BRF9XT1JEMyAgICAgICAgMHgwMDAwMDAw MDAwMDAwODAwVUxMDQovKiA0dGggd29yZCBvZiBmbGV4IHBheWxvYWQgKi8NCiNkZWZpbmUgSTQw RV9SRUdfSU5TRVRfRkxFWF9QQVlMT0FEX1dPUkQ0ICAgICAgICAweDAwMDAwMDAwMDAwMDA0MDBV TEwNCi8qIDV0aCB3b3JkIG9mIGZsZXggcGF5bG9hZCAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNF VF9GTEVYX1BBWUxPQURfV09SRDUgICAgICAgIDB4MDAwMDAwMDAwMDAwMDIwMFVMTA0KLyogNnRo IHdvcmQgb2YgZmxleCBwYXlsb2FkICovDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX0ZMRVhfUEFZ TE9BRF9XT1JENiAgICAgICAgMHgwMDAwMDAwMDAwMDAwMTAwVUxMDQovKiA3dGggd29yZCBvZiBm bGV4IHBheWxvYWQgKi8NCiNkZWZpbmUgSTQwRV9SRUdfSU5TRVRfRkxFWF9QQVlMT0FEX1dPUkQ3 ICAgICAgICAweDAwMDAwMDAwMDAwMDAwODBVTEwNCi8qIDh0aCB3b3JkIG9mIGZsZXggcGF5bG9h ZCAqLw0KI2RlZmluZSBJNDBFX1JFR19JTlNFVF9GTEVYX1BBWUxPQURfV09SRDggICAgICAgIDB4 MDAwMDAwMDAwMDAwMDA0MFVMTA0KLyogYWxsIDggd29yZHMgZmxleCBwYXlsb2FkICovDQojZGVm aW5lIEk0MEVfUkVHX0lOU0VUX0ZMRVhfUEFZTE9BRF9XT1JEUyAgICAgICAgMHgwMDAwMDAwMDAw MDAzRkMwVUxMDQojZGVmaW5lIEk0MEVfUkVHX0lOU0VUX01BU0tfREVGQVVMVCAgICAgICAgICAg ICAgMHgwMDAwMDAwMDAwMDAwMDAwVUxMDQoNCiNkZWZpbmUgSTQwRV9UUkFOU0xBVEVfSU5TRVQg MA0KI2RlZmluZSBJNDBFX1RSQU5TTEFURV9SRUcgICAxDQoNCiNkZWZpbmUgSTQwRV9JTlNFVF9J UFY0X1RPU19NQVNLICAgICAgICAweDAwMDlGRjAwVUwNCiNkZWZpbmUgSTQwRV9JTlNFVF9JUHY0 X1RUTF9NQVNLICAgICAgICAweDAwMEQwMEZGVUwNCiNkZWZpbmUgSTQwRV9JTlNFVF9JUFY0X1BS T1RPX01BU0sgICAgICAweDAwMERGRjAwVUwNCiNkZWZpbmUgSTQwRV9JTlNFVF9JUFY2X1RDX01B U0sgICAgICAgICAweDAwMDlGMDBGVUwNCiNkZWZpbmUgSTQwRV9JTlNFVF9JUFY2X0hPUF9MSU1J VF9NQVNLICAweDAwMENGRjAwVUwNCiNkZWZpbmUgSTQwRV9JTlNFVF9JUFY2X05FWFRfSERSX01B U0sgICAweDAwMEMwMEZGVUwNCg0KLyogUENJIG9mZnNldCBmb3IgcXVlcnlpbmcgY2FwYWJpbGl0 eSAqLw0KI2RlZmluZSBQQ0lfREVWX0NBUF9SRUcgICAgICAgICAgICAweEE0DQovKiBQQ0kgb2Zm c2V0IGZvciBlbmFibGluZy9kaXNhYmxpbmcgRXh0ZW5kZWQgVGFnICovDQojZGVmaW5lIFBDSV9E RVZfQ1RSTF9SRUcgICAgICAgICAgIDB4QTgNCi8qIEJpdCBtYXNrIG9mIEV4dGVuZGVkIFRhZyBj YXBhYmlsaXR5ICovDQojZGVmaW5lIFBDSV9ERVZfQ0FQX0VYVF9UQUdfTUFTSyAgIDB4MjANCi8q IEJpdCBzaGlmdCBvZiBFeHRlbmRlZCBUYWcgZW5hYmxlL2Rpc2FibGUgKi8NCiNkZWZpbmUgUENJ X0RFVl9DVFJMX0VYVF9UQUdfU0hJRlQgOA0KLyogQml0IG1hc2sgb2YgRXh0ZW5kZWQgVGFnIGVu YWJsZS9kaXNhYmxlICovDQojZGVmaW5lIFBDSV9ERVZfQ1RSTF9FWFRfVEFHX01BU0sgICgxIDw8 IFBDSV9ERVZfQ1RSTF9FWFRfVEFHX1NISUZUKQ0KDQpzdGF0aWMgaW50IGV0aF9pNDBlX2Rldl9p bml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2Rldiwgdm9pZCAqaW5pdF9wYXJhbXMpOw0Kc3Rh dGljIGludCBldGhfaTQwZV9kZXZfdW5pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2Rldik7 DQpzdGF0aWMgaW50IGk0MGVfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7 DQpzdGF0aWMgaW50IGk0MGVfZGV2X3N0YXJ0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCnN0 YXRpYyB2b2lkIGk0MGVfZGV2X3N0b3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0Kc3RhdGlj IHZvaWQgaTQwZV9kZXZfY2xvc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0Kc3RhdGljIGlu dCAgaTQwZV9kZXZfcmVzZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0Kc3RhdGljIGludCBp NDBlX2Rldl9wcm9taXNjdW91c19lbmFibGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0Kc3Rh dGljIGludCBpNDBlX2Rldl9wcm9taXNjdW91c19kaXNhYmxlKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfYWxsbXVsdGljYXN0X2VuYWJsZShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldik7DQpzdGF0aWMgaW50IGk0MGVfZGV2X2FsbG11bHRpY2FzdF9kaXNhYmxl KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfc2V0X2xpbmtf dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0Kc3RhdGljIGludCBpNDBlX2Rldl9zZXRfbGlu a19kb3duKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfc3Rh dHNfZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJICAgICAgIHN0cnVjdCBydGVfZXRo X3N0YXRzICpzdGF0cyk7DQpzdGF0aWMgaW50IGk0MGVfZGV2X3hzdGF0c19nZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsDQoJCQkgICAgICAgc3RydWN0IHJ0ZV9ldGhfeHN0YXQgKnhzdGF0cywg dW5zaWduZWQgbik7DQpzdGF0aWMgaW50IGk0MGVfZGV2X3hzdGF0c19nZXRfbmFtZXMoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJICAgICBzdHJ1Y3QgcnRlX2V0aF94c3RhdF9uYW1lICp4 c3RhdHNfbmFtZXMsDQoJCQkJICAgICB1bnNpZ25lZCBsaW1pdCk7DQpzdGF0aWMgaW50IGk0MGVf ZGV2X3N0YXRzX3Jlc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCnN0YXRpYyBpbnQgaTQw ZV9md192ZXJzaW9uX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQljaGFyICpmd192 ZXJzaW9uLCBzaXplX3QgZndfc2l6ZSk7DQpzdGF0aWMgaW50IGk0MGVfZGV2X2luZm9fZ2V0KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAq ZGV2X2luZm8pOw0Kc3RhdGljIGludCBpNDBlX3ZsYW5fZmlsdGVyX3NldChzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldiwNCgkJCQl1aW50MTZfdCB2bGFuX2lkLA0KCQkJCWludCBvbik7DQpzdGF0aWMg aW50IGk0MGVfdmxhbl90cGlkX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCSAgICAg IGVudW0gcnRlX3ZsYW5fdHlwZSB2bGFuX3R5cGUsDQoJCQkgICAgICB1aW50MTZfdCB0cGlkKTsN CnN0YXRpYyBpbnQgaTQwZV92bGFuX29mZmxvYWRfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 LCBpbnQgbWFzayk7DQpzdGF0aWMgdm9pZCBpNDBlX3ZsYW5fc3RyaXBfcXVldWVfc2V0KHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCSAgICAgIHVpbnQxNl90IHF1ZXVlLA0KCQkJCSAgICAg IGludCBvbik7DQpzdGF0aWMgaW50IGk0MGVfdmxhbl9wdmlkX3NldChzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwgdWludDE2X3QgcHZpZCwgaW50IG9uKTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfbGVk X29uKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfbGVkX29m ZihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMgaW50IGk0MGVfZmxvd19jdHJsX2dl dChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCSAgICAgIHN0cnVjdCBydGVfZXRoX2ZjX2Nv bmYgKmZjX2NvbmYpOw0Kc3RhdGljIGludCBpNDBlX2Zsb3dfY3RybF9zZXQoc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYsDQoJCQkgICAgICBzdHJ1Y3QgcnRlX2V0aF9mY19jb25mICpmY19jb25mKTsN CnN0YXRpYyBpbnQgaTQwZV9wcmlvcml0eV9mbG93X2N0cmxfc2V0KHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2LA0KCQkJCSAgICAgICBzdHJ1Y3QgcnRlX2V0aF9wZmNfY29uZiAqcGZjX2NvbmYpOw0K c3RhdGljIGludCBpNDBlX21hY2FkZHJfYWRkKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJ ICAgIHN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWFjX2FkZHIsDQoJCQkgICAgdWludDMyX3QgaW5k ZXgsDQoJCQkgICAgdWludDMyX3QgcG9vbCk7DQpzdGF0aWMgdm9pZCBpNDBlX21hY2FkZHJfcmVt b3ZlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MzJfdCBpbmRleCk7DQpzdGF0aWMgaW50 IGk0MGVfZGV2X3Jzc19yZXRhX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQkg ICAgc3RydWN0IHJ0ZV9ldGhfcnNzX3JldGFfZW50cnk2NCAqcmV0YV9jb25mLA0KCQkJCSAgICB1 aW50MTZfdCByZXRhX3NpemUpOw0Kc3RhdGljIGludCBpNDBlX2Rldl9yc3NfcmV0YV9xdWVyeShz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQkgICBzdHJ1Y3QgcnRlX2V0aF9yc3NfcmV0YV9l bnRyeTY0ICpyZXRhX2NvbmYsDQoJCQkJICAgdWludDE2X3QgcmV0YV9zaXplKTsNCg0Kc3RhdGlj IGludCBpNDBlX2dldF9jYXAoc3RydWN0IGk0MGVfaHcgKmh3KTsNCnN0YXRpYyBpbnQgaTQwZV9w Zl9wYXJhbWV0ZXJfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMgaW50IGk0 MGVfcGZfc2V0dXAoc3RydWN0IGk0MGVfcGYgKnBmKTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfcnh0 eF9pbml0KHN0cnVjdCBpNDBlX3BmICpwZik7DQpzdGF0aWMgaW50IGk0MGVfdm1kcV9zZXR1cChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMgaW50IGk0MGVfZGNiX3NldHVwKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KTsNCnN0YXRpYyB2b2lkIGk0MGVfc3RhdF91cGRhdGVfMzIoc3Ry dWN0IGk0MGVfaHcgKmh3LCB1aW50MzJfdCByZWcsDQoJCWJvb2wgb2Zmc2V0X2xvYWRlZCwgdWlu dDY0X3QgKm9mZnNldCwgdWludDY0X3QgKnN0YXQpOw0Kc3RhdGljIHZvaWQgaTQwZV9zdGF0X3Vw ZGF0ZV80OChzdHJ1Y3QgaTQwZV9odyAqaHcsDQoJCQkgICAgICAgdWludDMyX3QgaGlyZWcsDQoJ CQkgICAgICAgdWludDMyX3QgbG9yZWcsDQoJCQkgICAgICAgYm9vbCBvZmZzZXRfbG9hZGVkLA0K CQkJICAgICAgIHVpbnQ2NF90ICpvZmZzZXQsDQoJCQkgICAgICAgdWludDY0X3QgKnN0YXQpOw0K c3RhdGljIHZvaWQgaTQwZV9wZl9jb25maWdfaXJxMChzdHJ1Y3QgaTQwZV9odyAqaHcsIGJvb2wg bm9fcXVldWUpOw0Kc3RhdGljIHZvaWQgaTQwZV9kZXZfaW50ZXJydXB0X2hhbmRsZXIodm9pZCAq cGFyYW0pOw0Kc3RhdGljIHZvaWQgaTQwZV9kZXZfYWxhcm1faGFuZGxlcih2b2lkICpwYXJhbSk7 DQpzdGF0aWMgaW50IGk0MGVfcmVzX3Bvb2xfaW5pdChzdHJ1Y3QgaTQwZV9yZXNfcG9vbF9pbmZv ICpwb29sLA0KCQkJCXVpbnQzMl90IGJhc2UsIHVpbnQzMl90IG51bSk7DQpzdGF0aWMgdm9pZCBp NDBlX3Jlc19wb29sX2Rlc3Ryb3koc3RydWN0IGk0MGVfcmVzX3Bvb2xfaW5mbyAqcG9vbCk7DQpz dGF0aWMgaW50IGk0MGVfcmVzX3Bvb2xfZnJlZShzdHJ1Y3QgaTQwZV9yZXNfcG9vbF9pbmZvICpw b29sLA0KCQkJdWludDMyX3QgYmFzZSk7DQpzdGF0aWMgaW50IGk0MGVfcmVzX3Bvb2xfYWxsb2Mo c3RydWN0IGk0MGVfcmVzX3Bvb2xfaW5mbyAqcG9vbCwNCgkJCXVpbnQxNl90IG51bSk7DQpzdGF0 aWMgaW50IGk0MGVfZGV2X2luaXRfdmxhbihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0 aWMgaW50IGk0MGVfdmViX3JlbGVhc2Uoc3RydWN0IGk0MGVfdmViICp2ZWIpOw0Kc3RhdGljIHN0 cnVjdCBpNDBlX3ZlYiAqaTQwZV92ZWJfc2V0dXAoc3RydWN0IGk0MGVfcGYgKnBmLA0KCQkJCQkJ c3RydWN0IGk0MGVfdnNpICp2c2kpOw0Kc3RhdGljIGludCBpNDBlX3BmX2NvbmZpZ19tcV9yeChz dHJ1Y3QgaTQwZV9wZiAqcGYpOw0Kc3RhdGljIGludCBpNDBlX3ZzaV9jb25maWdfZG91YmxlX3Zs YW4oc3RydWN0IGk0MGVfdnNpICp2c2ksIGludCBvbik7DQpzdGF0aWMgaW5saW5lIGludCBpNDBl X2ZpbmRfYWxsX21hY19mb3JfdmxhbihzdHJ1Y3QgaTQwZV92c2kgKnZzaSwNCgkJCQkJICAgICBz dHJ1Y3QgaTQwZV9tYWN2bGFuX2ZpbHRlciAqbXZfZiwNCgkJCQkJICAgICBpbnQgbnVtLA0KCQkJ CQkgICAgIHVpbnQxNl90IHZsYW4pOw0Kc3RhdGljIGludCBpNDBlX3ZzaV9yZW1vdmVfYWxsX21h Y3ZsYW5fZmlsdGVyKHN0cnVjdCBpNDBlX3ZzaSAqdnNpKTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZf cnNzX2hhc2hfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCSAgICBzdHJ1Y3Qg cnRlX2V0aF9yc3NfY29uZiAqcnNzX2NvbmYpOw0Kc3RhdGljIGludCBpNDBlX2Rldl9yc3NfaGFz aF9jb25mX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQkgICAgICBzdHJ1Y3QgcnRl X2V0aF9yc3NfY29uZiAqcnNzX2NvbmYpOw0Kc3RhdGljIGludCBpNDBlX2Rldl91ZHBfdHVubmVs X3BvcnRfYWRkKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCQlzdHJ1Y3QgcnRlX2V0aF91 ZHBfdHVubmVsICp1ZHBfdHVubmVsKTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfdWRwX3R1bm5lbF9w b3J0X2RlbChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQkJc3RydWN0IHJ0ZV9ldGhfdWRw X3R1bm5lbCAqdWRwX3R1bm5lbCk7DQpzdGF0aWMgdm9pZCBpNDBlX2ZpbHRlcl9pbnB1dF9zZXRf aW5pdChzdHJ1Y3QgaTQwZV9wZiAqcGYpOw0Kc3RhdGljIGludCBpNDBlX2V0aGVydHlwZV9maWx0 ZXJfaGFuZGxlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCWVudW0gcnRlX2ZpbHRlcl9v cCBmaWx0ZXJfb3AsDQoJCQkJdm9pZCAqYXJnKTsNCnN0YXRpYyBpbnQgaTQwZV9kZXZfZmlsdGVy X2N0cmwoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJZW51bSBydGVfZmlsdGVyX3R5cGUg ZmlsdGVyX3R5cGUsDQoJCQkJZW51bSBydGVfZmlsdGVyX29wIGZpbHRlcl9vcCwNCgkJCQl2b2lk ICphcmcpOw0Kc3RhdGljIGludCBpNDBlX2Rldl9nZXRfZGNiX2luZm8oc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQoJCQkJICBzdHJ1Y3QgcnRlX2V0aF9kY2JfaW5mbyAqZGNiX2luZm8pOw0Kc3Rh dGljIGludCBpNDBlX2Rldl9zeW5jX3BoeV90eXBlKHN0cnVjdCBpNDBlX2h3ICpodyk7DQpzdGF0 aWMgdm9pZCBpNDBlX2NvbmZpZ3VyZV9yZWdpc3RlcnMoc3RydWN0IGk0MGVfaHcgKmh3KTsNCnN0 YXRpYyB2b2lkIGk0MGVfaHdfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMg aW50IGk0MGVfY29uZmlnX3FpbnEoc3RydWN0IGk0MGVfaHcgKmh3LCBzdHJ1Y3QgaTQwZV92c2kg KnZzaSk7DQpzdGF0aWMgZW51bSBpNDBlX3N0YXR1c19jb2RlIGk0MGVfYXFfZGVsX21pcnJvcl9y dWxlKHN0cnVjdCBpNDBlX2h3ICpodywNCgkJCQkJCSAgICAgdWludDE2X3Qgc2VpZCwNCgkJCQkJ CSAgICAgdWludDE2X3QgcnVsZV90eXBlLA0KCQkJCQkJICAgICB1aW50MTZfdCAqZW50cmllcywN CgkJCQkJCSAgICAgdWludDE2X3QgY291bnQsDQoJCQkJCQkgICAgIHVpbnQxNl90IHJ1bGVfaWQp Ow0Kc3RhdGljIGludCBpNDBlX21pcnJvcl9ydWxlX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl diwNCgkJCXN0cnVjdCBydGVfZXRoX21pcnJvcl9jb25mICptaXJyb3JfY29uZiwNCgkJCXVpbnQ4 X3Qgc3dfaWQsIHVpbnQ4X3Qgb24pOw0Kc3RhdGljIGludCBpNDBlX21pcnJvcl9ydWxlX3Jlc2V0 KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50OF90IHN3X2lkKTsNCg0Kc3RhdGljIGludCBp NDBlX3RpbWVzeW5jX2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMgaW50 IGk0MGVfdGltZXN5bmNfZGlzYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQpzdGF0aWMg aW50IGk0MGVfdGltZXN5bmNfcmVhZF9yeF90aW1lc3RhbXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsDQoJCQkJCSAgIHN0cnVjdCB0aW1lc3BlYyAqdGltZXN0YW1wLA0KCQkJCQkgICB1aW50MzJf dCBmbGFncyk7DQpzdGF0aWMgaW50IGk0MGVfdGltZXN5bmNfcmVhZF90eF90aW1lc3RhbXAoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJCSAgIHN0cnVjdCB0aW1lc3BlYyAqdGltZXN0YW1w KTsNCnN0YXRpYyB2b2lkIGk0MGVfcmVhZF9zdGF0c19yZWdpc3RlcnMoc3RydWN0IGk0MGVfcGYg KnBmLCBzdHJ1Y3QgaTQwZV9odyAqaHcpOw0KDQpzdGF0aWMgaW50IGk0MGVfdGltZXN5bmNfYWRq dXN0X3RpbWUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludDY0X3QgZGVsdGEpOw0KDQpzdGF0 aWMgaW50IGk0MGVfdGltZXN5bmNfcmVhZF90aW1lKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0K CQkJCSAgIHN0cnVjdCB0aW1lc3BlYyAqdGltZXN0YW1wKTsNCnN0YXRpYyBpbnQgaTQwZV90aW1l c3luY193cml0ZV90aW1lKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCSAgICBjb25zdCBz dHJ1Y3QgdGltZXNwZWMgKnRpbWVzdGFtcCk7DQoNCnN0YXRpYyBpbnQgaTQwZV9kZXZfcnhfcXVl dWVfaW50cl9lbmFibGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJCSB1aW50MTZfdCBx dWV1ZV9pZCk7DQpzdGF0aWMgaW50IGk0MGVfZGV2X3J4X3F1ZXVlX2ludHJfZGlzYWJsZShzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQkJICB1aW50MTZfdCBxdWV1ZV9pZCk7DQoNCnN0YXRp YyBpbnQgaTQwZV9nZXRfcmVncyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCSBzdHJ1Y3Qg cnRlX2Rldl9yZWdfaW5mbyAqcmVncyk7DQoNCnN0YXRpYyBpbnQgaTQwZV9nZXRfZWVwcm9tX2xl bmd0aChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQoNCnN0YXRpYyBpbnQgaTQwZV9nZXRfZWVw cm9tKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJICAgc3RydWN0IHJ0ZV9kZXZfZWVwcm9t X2luZm8gKmVlcHJvbSk7DQoNCnN0YXRpYyBpbnQgaTQwZV9nZXRfbW9kdWxlX2luZm8oc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJc3RydWN0IHJ0ZV9ldGhfZGV2X21vZHVsZV9pbmZvICpt b2RpbmZvKTsNCnN0YXRpYyBpbnQgaTQwZV9nZXRfbW9kdWxlX2VlcHJvbShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldiwNCgkJCQkgIHN0cnVjdCBydGVfZGV2X2VlcHJvbV9pbmZvICppbmZvKTsNCg0K c3RhdGljIGludCBpNDBlX3NldF9kZWZhdWx0X21hY19hZGRyKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2LA0KCQkJCSAgICAgIHN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWFjX2FkZHIpOw0KDQpzdGF0 aWMgaW50IGk0MGVfZGV2X210dV9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90 IG10dSk7DQoNCnN0YXRpYyBpbnQgaTQwZV9ldGhlcnR5cGVfZmlsdGVyX2NvbnZlcnQoDQoJY29u c3Qgc3RydWN0IHJ0ZV9ldGhfZXRoZXJ0eXBlX2ZpbHRlciAqaW5wdXQsDQoJc3RydWN0IGk0MGVf ZXRoZXJ0eXBlX2ZpbHRlciAqZmlsdGVyKTsNCnN0YXRpYyBpbnQgaTQwZV9zd19ldGhlcnR5cGVf ZmlsdGVyX2luc2VydChzdHJ1Y3QgaTQwZV9wZiAqcGYsDQoJCQkJICAgc3RydWN0IGk0MGVfZXRo ZXJ0eXBlX2ZpbHRlciAqZmlsdGVyKTsNCg0Kc3RhdGljIGludCBpNDBlX3R1bm5lbF9maWx0ZXJf Y29udmVydCgNCglzdHJ1Y3QgaTQwZV9hcWNfY2xvdWRfZmlsdGVyc19lbGVtZW50X2JiICpjbGRf ZmlsdGVyLA0KCXN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKnR1bm5lbF9maWx0ZXIpOw0Kc3Rh dGljIGludCBpNDBlX3N3X3R1bm5lbF9maWx0ZXJfaW5zZXJ0KHN0cnVjdCBpNDBlX3BmICpwZiwN CgkJCQlzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKTsNCnN0YXRpYyBp bnQgaTQwZV9jbG91ZF9maWx0ZXJfcWlucV9jcmVhdGUoc3RydWN0IGk0MGVfcGYgKnBmKTsNCg0K c3RhdGljIHZvaWQgaTQwZV9ldGhlcnR5cGVfZmlsdGVyX3Jlc3RvcmUoc3RydWN0IGk0MGVfcGYg KnBmKTsNCnN0YXRpYyB2b2lkIGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3JlKHN0cnVjdCBpNDBl X3BmICpwZik7DQpzdGF0aWMgdm9pZCBpNDBlX2ZpbHRlcl9yZXN0b3JlKHN0cnVjdCBpNDBlX3Bm ICpwZik7DQpzdGF0aWMgdm9pZCBpNDBlX25vdGlmeV9hbGxfdmZzX2xpbmtfc3RhdHVzKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KTsNCg0KaW50IGk0MGVfbG9ndHlwZV9pbml0Ow0KaW50IGk0MGVf bG9ndHlwZV9kcml2ZXI7DQojaWZkZWYgUlRFX0xJQlJURV9JNDBFX0RFQlVHX1JYDQppbnQgaTQw ZV9sb2d0eXBlX3J4Ow0KI2VuZGlmDQojaWZkZWYgUlRFX0xJQlJURV9JNDBFX0RFQlVHX1RYDQpp bnQgaTQwZV9sb2d0eXBlX3R4Ow0KI2VuZGlmDQojaWZkZWYgUlRFX0xJQlJURV9JNDBFX0RFQlVH X1RYX0ZSRUUNCmludCBpNDBlX2xvZ3R5cGVfdHhfZnJlZTsNCiNlbmRpZg0KDQpzdGF0aWMgY29u c3QgY2hhciAqY29uc3QgdmFsaWRfa2V5c1tdID0gew0KCUVUSF9JNDBFX0ZMT0FUSU5HX1ZFQl9B UkcsDQoJRVRIX0k0MEVfRkxPQVRJTkdfVkVCX0xJU1RfQVJHLA0KCUVUSF9JNDBFX1NVUFBPUlRf TVVMVElfRFJJVkVSLA0KCUVUSF9JNDBFX1FVRVVFX05VTV9QRVJfVkZfQVJHLA0KCUVUSF9JNDBF X1VTRV9MQVRFU1RfVkVDLA0KCUVUSF9JNDBFX1ZGX01TR19DRkcsDQoJTlVMTH07DQoNCnN0YXRp YyBjb25zdCBzdHJ1Y3QgcnRlX3BjaV9pZCBwY2lfaWRfaTQwZV9tYXBbXSA9IHsNCgl7IFJURV9Q Q0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF9TRlBfWEw3MTApIH0s DQoJeyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfUUVN VSkgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9J RF9LWF9CKSB9LA0KCXsgUlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVf REVWX0lEX0tYX0MpIH0sDQoJeyBSVEVfUENJX0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwg STQwRV9ERVZfSURfUVNGUF9BKSB9LA0KCXsgUlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5E T1JfSUQsIEk0MEVfREVWX0lEX1FTRlBfQikgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5U RUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF9RU0ZQX0MpIH0sDQoJeyBSVEVfUENJX0RFVklDRShJ NDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfMTBHX0JBU0VfVCkgfSwNCgl7IFJURV9Q Q0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8yMEdfS1IyKSB9LA0K CXsgUlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVfREVWX0lEXzIwR19L UjJfQSkgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RF Vl9JRF8xMEdfQkFTRV9UNCkgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9S X0lELCBJNDBFX0RFVl9JRF8yNUdfQikgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxf VkVORE9SX0lELCBJNDBFX0RFVl9JRF8yNUdfU0ZQMjgpIH0sDQoJeyBSVEVfUENJX0RFVklDRShJ NDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfWDcyMl9BMCkgfSwNCgl7IFJURV9QQ0lf REVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF9LWF9YNzIyKSB9LA0KCXsg UlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVfREVWX0lEX1FTRlBfWDcy MikgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9J RF9TRlBfWDcyMikgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJ NDBFX0RFVl9JRF8xR19CQVNFX1RfWDcyMikgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5U RUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8xMEdfQkFTRV9UX1g3MjIpIH0sDQoJeyBSVEVfUENJ X0RFVklDRShJNDBFX0lOVEVMX1ZFTkRPUl9JRCwgSTQwRV9ERVZfSURfU0ZQX0lfWDcyMikgfSwN Cgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF9YNzEw X04zMDAwKSB9LA0KCXsgUlRFX1BDSV9ERVZJQ0UoSTQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVf REVWX0lEX1hYVjcxMF9OMzAwMCkgfSwNCgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVO RE9SX0lELCBJNDBFX0RFVl9JRF8xMEdfQkFTRV9UX0JDKSB9LA0KCXsgUlRFX1BDSV9ERVZJQ0Uo STQwRV9JTlRFTF9WRU5ET1JfSUQsIEk0MEVfREVWX0lEXzVHX0JBU0VfVF9CQykgfSwNCgl7IFJU RV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8xMEdfQikgfSwN Cgl7IFJURV9QQ0lfREVWSUNFKEk0MEVfSU5URUxfVkVORE9SX0lELCBJNDBFX0RFVl9JRF8xMEdf U0ZQKSB9LA0KCXsgLnZlbmRvcl9pZCA9IDAsIC8qIHNlbnRpbmVsICovIH0sDQp9Ow0KDQpzdGF0 aWMgY29uc3Qgc3RydWN0IGV0aF9kZXZfb3BzIGk0MGVfZXRoX2Rldl9vcHMgPSB7DQoJLmRldl9j b25maWd1cmUgICAgICAgICAgICAgICAgPSBpNDBlX2Rldl9jb25maWd1cmUsDQoJLmRldl9zdGFy dCAgICAgICAgICAgICAgICAgICAgPSBpNDBlX2Rldl9zdGFydCwNCgkuZGV2X3N0b3AgICAgICAg ICAgICAgICAgICAgICA9IGk0MGVfZGV2X3N0b3AsDQoJLmRldl9jbG9zZSAgICAgICAgICAgICAg ICAgICAgPSBpNDBlX2Rldl9jbG9zZSwNCgkuZGV2X3Jlc2V0CQkgICAgICA9IGk0MGVfZGV2X3Jl c2V0LA0KCS5wcm9taXNjdW91c19lbmFibGUgICAgICAgICAgID0gaTQwZV9kZXZfcHJvbWlzY3Vv dXNfZW5hYmxlLA0KCS5wcm9taXNjdW91c19kaXNhYmxlICAgICAgICAgID0gaTQwZV9kZXZfcHJv bWlzY3VvdXNfZGlzYWJsZSwNCgkuYWxsbXVsdGljYXN0X2VuYWJsZSAgICAgICAgICA9IGk0MGVf ZGV2X2FsbG11bHRpY2FzdF9lbmFibGUsDQoJLmFsbG11bHRpY2FzdF9kaXNhYmxlICAgICAgICAg PSBpNDBlX2Rldl9hbGxtdWx0aWNhc3RfZGlzYWJsZSwNCgkuZGV2X3NldF9saW5rX3VwICAgICAg ICAgICAgICA9IGk0MGVfZGV2X3NldF9saW5rX3VwLA0KCS5kZXZfc2V0X2xpbmtfZG93biAgICAg ICAgICAgID0gaTQwZV9kZXZfc2V0X2xpbmtfZG93biwNCgkubGlua191cGRhdGUgICAgICAgICAg ICAgICAgICA9IGk0MGVfZGV2X2xpbmtfdXBkYXRlLA0KCS5zdGF0c19nZXQgICAgICAgICAgICAg ICAgICAgID0gaTQwZV9kZXZfc3RhdHNfZ2V0LA0KCS54c3RhdHNfZ2V0ICAgICAgICAgICAgICAg ICAgID0gaTQwZV9kZXZfeHN0YXRzX2dldCwNCgkueHN0YXRzX2dldF9uYW1lcyAgICAgICAgICAg ICA9IGk0MGVfZGV2X3hzdGF0c19nZXRfbmFtZXMsDQoJLnN0YXRzX3Jlc2V0ICAgICAgICAgICAg ICAgICAgPSBpNDBlX2Rldl9zdGF0c19yZXNldCwNCgkueHN0YXRzX3Jlc2V0ICAgICAgICAgICAg ICAgICA9IGk0MGVfZGV2X3N0YXRzX3Jlc2V0LA0KCS5md192ZXJzaW9uX2dldCAgICAgICAgICAg ICAgID0gaTQwZV9md192ZXJzaW9uX2dldCwNCgkuZGV2X2luZm9zX2dldCAgICAgICAgICAgICAg ICA9IGk0MGVfZGV2X2luZm9fZ2V0LA0KCS5kZXZfc3VwcG9ydGVkX3B0eXBlc19nZXQgICAgID0g aTQwZV9kZXZfc3VwcG9ydGVkX3B0eXBlc19nZXQsDQoJLnZsYW5fZmlsdGVyX3NldCAgICAgICAg ICAgICAgPSBpNDBlX3ZsYW5fZmlsdGVyX3NldCwNCgkudmxhbl90cGlkX3NldCAgICAgICAgICAg ICAgICA9IGk0MGVfdmxhbl90cGlkX3NldCwNCgkudmxhbl9vZmZsb2FkX3NldCAgICAgICAgICAg ICA9IGk0MGVfdmxhbl9vZmZsb2FkX3NldCwNCgkudmxhbl9zdHJpcF9xdWV1ZV9zZXQgICAgICAg ICA9IGk0MGVfdmxhbl9zdHJpcF9xdWV1ZV9zZXQsDQoJLnZsYW5fcHZpZF9zZXQgICAgICAgICAg ICAgICAgPSBpNDBlX3ZsYW5fcHZpZF9zZXQsDQoJLnJ4X3F1ZXVlX3N0YXJ0ICAgICAgICAgICAg ICAgPSBpNDBlX2Rldl9yeF9xdWV1ZV9zdGFydCwNCgkucnhfcXVldWVfc3RvcCAgICAgICAgICAg ICAgICA9IGk0MGVfZGV2X3J4X3F1ZXVlX3N0b3AsDQoJLnR4X3F1ZXVlX3N0YXJ0ICAgICAgICAg ICAgICAgPSBpNDBlX2Rldl90eF9xdWV1ZV9zdGFydCwNCgkudHhfcXVldWVfc3RvcCAgICAgICAg ICAgICAgICA9IGk0MGVfZGV2X3R4X3F1ZXVlX3N0b3AsDQoJLnJ4X3F1ZXVlX3NldHVwICAgICAg ICAgICAgICAgPSBpNDBlX2Rldl9yeF9xdWV1ZV9zZXR1cCwNCgkucnhfcXVldWVfaW50cl9lbmFi bGUgICAgICAgICA9IGk0MGVfZGV2X3J4X3F1ZXVlX2ludHJfZW5hYmxlLA0KCS5yeF9xdWV1ZV9p bnRyX2Rpc2FibGUgICAgICAgID0gaTQwZV9kZXZfcnhfcXVldWVfaW50cl9kaXNhYmxlLA0KCS5y eF9xdWV1ZV9yZWxlYXNlICAgICAgICAgICAgID0gaTQwZV9kZXZfcnhfcXVldWVfcmVsZWFzZSwN CgkucnhfcXVldWVfY291bnQgICAgICAgICAgICAgICA9IGk0MGVfZGV2X3J4X3F1ZXVlX2NvdW50 LA0KCS5yeF9kZXNjcmlwdG9yX2RvbmUgICAgICAgICAgID0gaTQwZV9kZXZfcnhfZGVzY3JpcHRv cl9kb25lLA0KCS5yeF9kZXNjcmlwdG9yX3N0YXR1cyAgICAgICAgID0gaTQwZV9kZXZfcnhfZGVz Y3JpcHRvcl9zdGF0dXMsDQoJLnR4X2Rlc2NyaXB0b3Jfc3RhdHVzICAgICAgICAgPSBpNDBlX2Rl dl90eF9kZXNjcmlwdG9yX3N0YXR1cywNCgkudHhfcXVldWVfc2V0dXAgICAgICAgICAgICAgICA9 IGk0MGVfZGV2X3R4X3F1ZXVlX3NldHVwLA0KCS50eF9xdWV1ZV9yZWxlYXNlICAgICAgICAgICAg ID0gaTQwZV9kZXZfdHhfcXVldWVfcmVsZWFzZSwNCgkuZGV2X2xlZF9vbiAgICAgICAgICAgICAg ICAgICA9IGk0MGVfZGV2X2xlZF9vbiwNCgkuZGV2X2xlZF9vZmYgICAgICAgICAgICAgICAgICA9 IGk0MGVfZGV2X2xlZF9vZmYsDQoJLmZsb3dfY3RybF9nZXQgICAgICAgICAgICAgICAgPSBpNDBl X2Zsb3dfY3RybF9nZXQsDQoJLmZsb3dfY3RybF9zZXQgICAgICAgICAgICAgICAgPSBpNDBlX2Zs b3dfY3RybF9zZXQsDQoJLnByaW9yaXR5X2Zsb3dfY3RybF9zZXQgICAgICAgPSBpNDBlX3ByaW9y aXR5X2Zsb3dfY3RybF9zZXQsDQoJLm1hY19hZGRyX2FkZCAgICAgICAgICAgICAgICAgPSBpNDBl X21hY2FkZHJfYWRkLA0KCS5tYWNfYWRkcl9yZW1vdmUgICAgICAgICAgICAgID0gaTQwZV9tYWNh ZGRyX3JlbW92ZSwNCgkucmV0YV91cGRhdGUgICAgICAgICAgICAgICAgICA9IGk0MGVfZGV2X3Jz c19yZXRhX3VwZGF0ZSwNCgkucmV0YV9xdWVyeSAgICAgICAgICAgICAgICAgICA9IGk0MGVfZGV2 X3Jzc19yZXRhX3F1ZXJ5LA0KCS5yc3NfaGFzaF91cGRhdGUgICAgICAgICAgICAgID0gaTQwZV9k ZXZfcnNzX2hhc2hfdXBkYXRlLA0KCS5yc3NfaGFzaF9jb25mX2dldCAgICAgICAgICAgID0gaTQw ZV9kZXZfcnNzX2hhc2hfY29uZl9nZXQsDQoJLnVkcF90dW5uZWxfcG9ydF9hZGQgICAgICAgICAg PSBpNDBlX2Rldl91ZHBfdHVubmVsX3BvcnRfYWRkLA0KCS51ZHBfdHVubmVsX3BvcnRfZGVsICAg ICAgICAgID0gaTQwZV9kZXZfdWRwX3R1bm5lbF9wb3J0X2RlbCwNCgkuZmlsdGVyX2N0cmwgICAg ICAgICAgICAgICAgICA9IGk0MGVfZGV2X2ZpbHRlcl9jdHJsLA0KCS5yeHFfaW5mb19nZXQgICAg ICAgICAgICAgICAgID0gaTQwZV9yeHFfaW5mb19nZXQsDQoJLnR4cV9pbmZvX2dldCAgICAgICAg ICAgICAgICAgPSBpNDBlX3R4cV9pbmZvX2dldCwNCgkucnhfYnVyc3RfbW9kZV9nZXQgICAgICAg ICAgICA9IGk0MGVfcnhfYnVyc3RfbW9kZV9nZXQsDQoJLnR4X2J1cnN0X21vZGVfZ2V0ICAgICAg ICAgICAgPSBpNDBlX3R4X2J1cnN0X21vZGVfZ2V0LA0KCS5taXJyb3JfcnVsZV9zZXQgICAgICAg ICAgICAgID0gaTQwZV9taXJyb3JfcnVsZV9zZXQsDQoJLm1pcnJvcl9ydWxlX3Jlc2V0ICAgICAg ICAgICAgPSBpNDBlX21pcnJvcl9ydWxlX3Jlc2V0LA0KCS50aW1lc3luY19lbmFibGUgICAgICAg ICAgICAgID0gaTQwZV90aW1lc3luY19lbmFibGUsDQoJLnRpbWVzeW5jX2Rpc2FibGUgICAgICAg ICAgICAgPSBpNDBlX3RpbWVzeW5jX2Rpc2FibGUsDQoJLnRpbWVzeW5jX3JlYWRfcnhfdGltZXN0 YW1wICAgPSBpNDBlX3RpbWVzeW5jX3JlYWRfcnhfdGltZXN0YW1wLA0KCS50aW1lc3luY19yZWFk X3R4X3RpbWVzdGFtcCAgID0gaTQwZV90aW1lc3luY19yZWFkX3R4X3RpbWVzdGFtcCwNCgkuZ2V0 X2RjYl9pbmZvICAgICAgICAgICAgICAgICA9IGk0MGVfZGV2X2dldF9kY2JfaW5mbywNCgkudGlt ZXN5bmNfYWRqdXN0X3RpbWUgICAgICAgICA9IGk0MGVfdGltZXN5bmNfYWRqdXN0X3RpbWUsDQoJ LnRpbWVzeW5jX3JlYWRfdGltZSAgICAgICAgICAgPSBpNDBlX3RpbWVzeW5jX3JlYWRfdGltZSwN CgkudGltZXN5bmNfd3JpdGVfdGltZSAgICAgICAgICA9IGk0MGVfdGltZXN5bmNfd3JpdGVfdGlt ZSwNCgkuZ2V0X3JlZyAgICAgICAgICAgICAgICAgICAgICA9IGk0MGVfZ2V0X3JlZ3MsDQoJLmdl dF9lZXByb21fbGVuZ3RoICAgICAgICAgICAgPSBpNDBlX2dldF9lZXByb21fbGVuZ3RoLA0KCS5n ZXRfZWVwcm9tICAgICAgICAgICAgICAgICAgID0gaTQwZV9nZXRfZWVwcm9tLA0KCS5nZXRfbW9k dWxlX2luZm8gICAgICAgICAgICAgID0gaTQwZV9nZXRfbW9kdWxlX2luZm8sDQoJLmdldF9tb2R1 bGVfZWVwcm9tICAgICAgICAgICAgPSBpNDBlX2dldF9tb2R1bGVfZWVwcm9tLA0KCS5tYWNfYWRk cl9zZXQgICAgICAgICAgICAgICAgID0gaTQwZV9zZXRfZGVmYXVsdF9tYWNfYWRkciwNCgkubXR1 X3NldCAgICAgICAgICAgICAgICAgICAgICA9IGk0MGVfZGV2X210dV9zZXQsDQoJLnRtX29wc19n ZXQgICAgICAgICAgICAgICAgICAgPSBpNDBlX3RtX29wc19nZXQsDQoJLnR4X2RvbmVfY2xlYW51 cCAgICAgICAgICAgICAgPSBpNDBlX3R4X2RvbmVfY2xlYW51cCwNCn07DQoNCi8qIHN0b3JlIHN0 YXRpc3RpY3MgbmFtZXMgYW5kIGl0cyBvZmZzZXQgaW4gc3RhdHMgc3RydWN0dXJlICovDQpzdHJ1 Y3QgcnRlX2k0MGVfeHN0YXRzX25hbWVfb2ZmIHsNCgljaGFyIG5hbWVbUlRFX0VUSF9YU1RBVFNf TkFNRV9TSVpFXTsNCgl1bnNpZ25lZCBvZmZzZXQ7DQp9Ow0KDQpzdGF0aWMgY29uc3Qgc3RydWN0 IHJ0ZV9pNDBlX3hzdGF0c19uYW1lX29mZiBydGVfaTQwZV9zdGF0c19zdHJpbmdzW10gPSB7DQoJ eyJyeF91bmljYXN0X3BhY2tldHMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9ldGhfc3RhdHMsIHJ4 X3VuaWNhc3QpfSwNCgl7InJ4X211bHRpY2FzdF9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0 MGVfZXRoX3N0YXRzLCByeF9tdWx0aWNhc3QpfSwNCgl7InJ4X2Jyb2FkY2FzdF9wYWNrZXRzIiwg b2Zmc2V0b2Yoc3RydWN0IGk0MGVfZXRoX3N0YXRzLCByeF9icm9hZGNhc3QpfSwNCgl7InJ4X2Ry b3BwZWRfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2V0aF9zdGF0cywgcnhfZGlzY2Fy ZHMpfSwNCgl7InJ4X3Vua25vd25fcHJvdG9jb2xfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBp NDBlX2V0aF9zdGF0cywNCgkJcnhfdW5rbm93bl9wcm90b2NvbCl9LA0KCXsidHhfdW5pY2FzdF9w YWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfZXRoX3N0YXRzLCB0eF91bmljYXN0KX0sDQoJ eyJ0eF9tdWx0aWNhc3RfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2V0aF9zdGF0cywg dHhfbXVsdGljYXN0KX0sDQoJeyJ0eF9icm9hZGNhc3RfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVj dCBpNDBlX2V0aF9zdGF0cywgdHhfYnJvYWRjYXN0KX0sDQoJeyJ0eF9kcm9wcGVkX3BhY2tldHMi LCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9ldGhfc3RhdHMsIHR4X2Rpc2NhcmRzKX0sDQp9Ow0KDQoj ZGVmaW5lIEk0MEVfTkJfRVRIX1hTVEFUUyAoc2l6ZW9mKHJ0ZV9pNDBlX3N0YXRzX3N0cmluZ3Mp IC8gXA0KCQlzaXplb2YocnRlX2k0MGVfc3RhdHNfc3RyaW5nc1swXSkpDQoNCnN0YXRpYyBjb25z dCBzdHJ1Y3QgcnRlX2k0MGVfeHN0YXRzX25hbWVfb2ZmIHJ0ZV9pNDBlX2h3X3BvcnRfc3RyaW5n c1tdID0gew0KCXsidHhfbGlua19kb3duX2Ryb3BwZWQiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9o d19wb3J0X3N0YXRzLA0KCQl0eF9kcm9wcGVkX2xpbmtfZG93bil9LA0KCXsicnhfY3JjX2Vycm9y cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsIGNyY19lcnJvcnMpfSwNCgl7 InJ4X2lsbGVnYWxfYnl0ZV9lcnJvcnMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0 YXRzLA0KCQlpbGxlZ2FsX2J5dGVzKX0sDQoJeyJyeF9lcnJvcl9ieXRlcyIsIG9mZnNldG9mKHN0 cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsIGVycm9yX2J5dGVzKX0sDQoJeyJtYWNfbG9jYWxfZXJy b3JzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJbWFjX2xvY2FsX2Zh dWx0cyl9LA0KCXsibWFjX3JlbW90ZV9lcnJvcnMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19w b3J0X3N0YXRzLA0KCQltYWNfcmVtb3RlX2ZhdWx0cyl9LA0KCXsicnhfbGVuZ3RoX2Vycm9ycyIs IG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsDQoJCXJ4X2xlbmd0aF9lcnJvcnMp fSwNCgl7InR4X3hvbl9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0 cywgbGlua194b25fdHgpfSwNCgl7InJ4X3hvbl9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0 MGVfaHdfcG9ydF9zdGF0cywgbGlua194b25fcngpfSwNCgl7InR4X3hvZmZfcGFja2V0cyIsIG9m ZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsIGxpbmtfeG9mZl90eCl9LA0KCXsicnhf eG9mZl9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywgbGlua194 b2ZmX3J4KX0sDQoJeyJyeF9zaXplXzY0X3BhY2tldHMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9o d19wb3J0X3N0YXRzLCByeF9zaXplXzY0KX0sDQoJeyJyeF9zaXplXzY1X3RvXzEyN19wYWNrZXRz Iiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcnhfc2l6ZV8xMjcpfSwN Cgl7InJ4X3NpemVfMTI4X3RvXzI1NV9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdf cG9ydF9zdGF0cywNCgkJcnhfc2l6ZV8yNTUpfSwNCgl7InJ4X3NpemVfMjU2X3RvXzUxMV9wYWNr ZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcnhfc2l6ZV81MTEp fSwNCgl7InJ4X3NpemVfNTEyX3RvXzEwMjNfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBl X2h3X3BvcnRfc3RhdHMsDQoJCXJ4X3NpemVfMTAyMyl9LA0KCXsicnhfc2l6ZV8xMDI0X3RvXzE1 MjJfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsDQoJCXJ4X3Np emVfMTUyMil9LA0KCXsicnhfc2l6ZV8xNTIzX3RvX21heF9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3Ry dWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcnhfc2l6ZV9iaWcpfSwNCgl7InJ4X3VuZGVyc2l6 ZWRfZXJyb3JzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcnhfdW5k ZXJzaXplKX0sDQoJeyJyeF9vdmVyc2l6ZV9lcnJvcnMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9o d19wb3J0X3N0YXRzLA0KCQlyeF9vdmVyc2l6ZSl9LA0KCXsicnhfbWFjX3Nob3J0X2Ryb3BwZWQi LCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLA0KCQltYWNfc2hvcnRfcGFja2V0 X2Ryb3BwZWQpfSwNCgl7InJ4X2ZyYWdtZW50ZWRfZXJyb3JzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0 MGVfaHdfcG9ydF9zdGF0cywNCgkJcnhfZnJhZ21lbnRzKX0sDQoJeyJyeF9qYWJiZXJfZXJyb3Jz Iiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywgcnhfamFiYmVyKX0sDQoJeyJ0 eF9zaXplXzY0X3BhY2tldHMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLCB0 eF9zaXplXzY0KX0sDQoJeyJ0eF9zaXplXzY1X3RvXzEyN19wYWNrZXRzIiwgb2Zmc2V0b2Yoc3Ry dWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJdHhfc2l6ZV8xMjcpfSwNCgl7InR4X3NpemVfMTI4 X3RvXzI1NV9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJ dHhfc2l6ZV8yNTUpfSwNCgl7InR4X3NpemVfMjU2X3RvXzUxMV9wYWNrZXRzIiwgb2Zmc2V0b2Yo c3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJdHhfc2l6ZV81MTEpfSwNCgl7InR4X3NpemVf NTEyX3RvXzEwMjNfcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMs DQoJCXR4X3NpemVfMTAyMyl9LA0KCXsidHhfc2l6ZV8xMDI0X3RvXzE1MjJfcGFja2V0cyIsIG9m ZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsDQoJCXR4X3NpemVfMTUyMil9LA0KCXsi dHhfc2l6ZV8xNTIzX3RvX21heF9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9y dF9zdGF0cywNCgkJdHhfc2l6ZV9iaWcpfSwNCgl7InJ4X2Zsb3dfZGlyZWN0b3JfYXRyX21hdGNo X3BhY2tldHMiLA0KCQlvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLCBmZF9hdHJf bWF0Y2gpfSwNCgl7InJ4X2Zsb3dfZGlyZWN0b3Jfc2JfbWF0Y2hfcGFja2V0cyIsDQoJCW9mZnNl dG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMsIGZkX3NiX21hdGNoKX0sDQoJeyJ0eF9sb3df cG93ZXJfaWRsZV9zdGF0dXMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLA0K CQl0eF9scGlfc3RhdHVzKX0sDQoJeyJyeF9sb3dfcG93ZXJfaWRsZV9zdGF0dXMiLCBvZmZzZXRv ZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLA0KCQlyeF9scGlfc3RhdHVzKX0sDQoJeyJ0eF9s b3dfcG93ZXJfaWRsZV9jb3VudCIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMs DQoJCXR4X2xwaV9jb3VudCl9LA0KCXsicnhfbG93X3Bvd2VyX2lkbGVfY291bnQiLCBvZmZzZXRv ZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLA0KCQlyeF9scGlfY291bnQpfSwNCn07DQoNCiNk ZWZpbmUgSTQwRV9OQl9IV19QT1JUX1hTVEFUUyAoc2l6ZW9mKHJ0ZV9pNDBlX2h3X3BvcnRfc3Ry aW5ncykgLyBcDQoJCXNpemVvZihydGVfaTQwZV9od19wb3J0X3N0cmluZ3NbMF0pKQ0KDQpzdGF0 aWMgY29uc3Qgc3RydWN0IHJ0ZV9pNDBlX3hzdGF0c19uYW1lX29mZiBydGVfaTQwZV9yeHFfcHJp b19zdHJpbmdzW10gPSB7DQoJeyJ4b25fcGFja2V0cyIsIG9mZnNldG9mKHN0cnVjdCBpNDBlX2h3 X3BvcnRfc3RhdHMsDQoJCXByaW9yaXR5X3hvbl9yeCl9LA0KCXsieG9mZl9wYWNrZXRzIiwgb2Zm c2V0b2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcHJpb3JpdHlfeG9mZl9yeCl9LA0K fTsNCg0KI2RlZmluZSBJNDBFX05CX1JYUV9QUklPX1hTVEFUUyAoc2l6ZW9mKHJ0ZV9pNDBlX3J4 cV9wcmlvX3N0cmluZ3MpIC8gXA0KCQlzaXplb2YocnRlX2k0MGVfcnhxX3ByaW9fc3RyaW5nc1sw XSkpDQoNCnN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2k0MGVfeHN0YXRzX25hbWVfb2ZmIHJ0ZV9p NDBlX3R4cV9wcmlvX3N0cmluZ3NbXSA9IHsNCgl7Inhvbl9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3Ry dWN0IGk0MGVfaHdfcG9ydF9zdGF0cywNCgkJcHJpb3JpdHlfeG9uX3R4KX0sDQoJeyJ4b2ZmX3Bh Y2tldHMiLCBvZmZzZXRvZihzdHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzLA0KCQlwcmlvcml0eV94 b2ZmX3R4KX0sDQoJeyJ4b25fdG9feG9mZl9wYWNrZXRzIiwgb2Zmc2V0b2Yoc3RydWN0IGk0MGVf aHdfcG9ydF9zdGF0cywNCgkJcHJpb3JpdHlfeG9uXzJfeG9mZil9LA0KfTsNCg0KI2RlZmluZSBJ NDBFX05CX1RYUV9QUklPX1hTVEFUUyAoc2l6ZW9mKHJ0ZV9pNDBlX3R4cV9wcmlvX3N0cmluZ3Mp IC8gXA0KCQlzaXplb2YocnRlX2k0MGVfdHhxX3ByaW9fc3RyaW5nc1swXSkpDQoNCnN0YXRpYyBp bnQNCmV0aF9pNDBlX3BjaV9wcm9iZShzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYgX19y dGVfdW51c2VkLA0KCXN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldikNCnsNCgljaGFyIG5h bWVbUlRFX0VUSF9OQU1FX01BWF9MRU5dOw0KCXN0cnVjdCBydGVfZXRoX2RldmFyZ3MgZXRoX2Rh ID0geyAubmJfcmVwcmVzZW50b3JfcG9ydHMgPSAwIH07DQoJaW50IGksIHJldHZhbDsNCg0KCWlm IChwY2lfZGV2LT5kZXZpY2UuZGV2YXJncykgew0KCQlyZXR2YWwgPSBydGVfZXRoX2RldmFyZ3Nf cGFyc2UocGNpX2Rldi0+ZGV2aWNlLmRldmFyZ3MtPmFyZ3MsDQoJCQkJJmV0aF9kYSk7DQoJCWlm IChyZXR2YWwpDQoJCQlyZXR1cm4gcmV0dmFsOw0KCX0NCg0KCXJldHZhbCA9IHJ0ZV9ldGhfZGV2 X2NyZWF0ZSgmcGNpX2Rldi0+ZGV2aWNlLCBwY2lfZGV2LT5kZXZpY2UubmFtZSwNCgkJc2l6ZW9m KHN0cnVjdCBpNDBlX2FkYXB0ZXIpLA0KCQlldGhfZGV2X3BjaV9zcGVjaWZpY19pbml0LCBwY2lf ZGV2LA0KCQlldGhfaTQwZV9kZXZfaW5pdCwgTlVMTCk7DQoNCglpZiAocmV0dmFsIHx8IGV0aF9k YS5uYl9yZXByZXNlbnRvcl9wb3J0cyA8IDEpDQoJCXJldHVybiByZXR2YWw7DQoNCgkvKiBwcm9i ZSBWRiByZXByZXNlbnRvciBwb3J0cyAqLw0KCXN0cnVjdCBydGVfZXRoX2RldiAqcGZfZXRoZGV2 ID0gcnRlX2V0aF9kZXZfYWxsb2NhdGVkKA0KCQlwY2lfZGV2LT5kZXZpY2UubmFtZSk7DQoNCglp ZiAocGZfZXRoZGV2ID09IE5VTEwpDQoJCXJldHVybiAtRU5PREVWOw0KDQoJZm9yIChpID0gMDsg aSA8IGV0aF9kYS5uYl9yZXByZXNlbnRvcl9wb3J0czsgaSsrKSB7DQoJCXN0cnVjdCBpNDBlX3Zm X3JlcHJlc2VudG9yIHJlcHJlc2VudG9yID0gew0KCQkJLnZmX2lkID0gZXRoX2RhLnJlcHJlc2Vu dG9yX3BvcnRzW2ldLA0KCQkJLnN3aXRjaF9kb21haW5faWQgPSBJNDBFX0RFVl9QUklWQVRFX1RP X1BGKA0KCQkJCXBmX2V0aGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpLT5zd2l0Y2hfZG9tYWluX2lk LA0KCQkJLmFkYXB0ZXIgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0FEQVBURVIoDQoJCQkJcGZfZXRo ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSkNCgkJfTsNCg0KCQkvKiByZXByZXNlbnRvciBwb3J0IG5l dF9iZGZfcG9ydCAqLw0KCQlzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICJuZXRfJXNfcmVw cmVzZW50b3JfJWQiLA0KCQkJcGNpX2Rldi0+ZGV2aWNlLm5hbWUsIGV0aF9kYS5yZXByZXNlbnRv cl9wb3J0c1tpXSk7DQoNCgkJcmV0dmFsID0gcnRlX2V0aF9kZXZfY3JlYXRlKCZwY2lfZGV2LT5k ZXZpY2UsIG5hbWUsDQoJCQlzaXplb2Yoc3RydWN0IGk0MGVfdmZfcmVwcmVzZW50b3IpLCBOVUxM LCBOVUxMLA0KCQkJaTQwZV92Zl9yZXByZXNlbnRvcl9pbml0LCAmcmVwcmVzZW50b3IpOw0KDQoJ CWlmIChyZXR2YWwpDQoJCQlQTURfRFJWX0xPRyhFUlIsICJmYWlsZWQgdG8gY3JlYXRlIGk0MGUg dmYgIg0KCQkJCSJyZXByZXNlbnRvciAlcy4iLCBuYW1lKTsNCgl9DQoNCglyZXR1cm4gMDsNCn0N Cg0Kc3RhdGljIGludCBldGhfaTQwZV9wY2lfcmVtb3ZlKHN0cnVjdCBydGVfcGNpX2RldmljZSAq cGNpX2RldikNCnsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aGRldjsNCg0KCWV0aGRldiA9IHJ0 ZV9ldGhfZGV2X2FsbG9jYXRlZChwY2lfZGV2LT5kZXZpY2UubmFtZSk7DQoJaWYgKCFldGhkZXYp DQoJCXJldHVybiAwOw0KDQoJaWYgKGV0aGRldi0+ZGF0YS0+ZGV2X2ZsYWdzICYgUlRFX0VUSF9E RVZfUkVQUkVTRU5UT1IpDQoJCXJldHVybiBydGVfZXRoX2Rldl9wY2lfZ2VuZXJpY19yZW1vdmUo cGNpX2RldiwNCgkJCQkJaTQwZV92Zl9yZXByZXNlbnRvcl91bmluaXQpOw0KCWVsc2UNCgkJcmV0 dXJuIHJ0ZV9ldGhfZGV2X3BjaV9nZW5lcmljX3JlbW92ZShwY2lfZGV2LA0KCQkJCQkJZXRoX2k0 MGVfZGV2X3VuaW5pdCk7DQp9DQoNCnN0YXRpYyBzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgcnRlX2k0 MGVfcG1kID0gew0KCS5pZF90YWJsZSA9IHBjaV9pZF9pNDBlX21hcCwNCgkuZHJ2X2ZsYWdzID0g UlRFX1BDSV9EUlZfTkVFRF9NQVBQSU5HIHwgUlRFX1BDSV9EUlZfSU5UUl9MU0MsDQoJLnByb2Jl ID0gZXRoX2k0MGVfcGNpX3Byb2JlLA0KCS5yZW1vdmUgPSBldGhfaTQwZV9wY2lfcmVtb3ZlLA0K fTsNCg0Kc3RhdGljIGlubGluZSB2b2lkDQppNDBlX3dyaXRlX2dsb2JhbF9yeF9jdGwoc3RydWN0 IGk0MGVfaHcgKmh3LCB1aW50MzJfdCByZWdfYWRkciwNCgkJCSB1aW50MzJfdCByZWdfdmFsKQ0K ew0KCXVpbnQzMl90IG9yaV9yZWdfdmFsOw0KCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2Ow0KDQoJ b3JpX3JlZ192YWwgPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCByZWdfYWRkcik7DQoJZGV2ID0gKChz dHJ1Y3QgaTQwZV9hZGFwdGVyICopaHctPmJhY2spLT5ldGhfZGV2Ow0KCWk0MGVfd3JpdGVfcnhf Y3RsKGh3LCByZWdfYWRkciwgcmVnX3ZhbCk7DQoJaWYgKG9yaV9yZWdfdmFsICE9IHJlZ192YWwp DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsDQoJCQkgICAgImk0MGUgZGV2aWNlICVzIGNoYW5nZWQg Z2xvYmFsIHJlZ2lzdGVyIFsweCUwOHhdLiINCgkJCSAgICAiIG9yaWdpbmFsOiAweCUwOHgsIG5l dzogMHglMDh4IiwNCgkJCSAgICBkZXYtPmRldmljZS0+bmFtZSwgcmVnX2FkZHIsIG9yaV9yZWdf dmFsLCByZWdfdmFsKTsNCn0NCg0KUlRFX1BNRF9SRUdJU1RFUl9QQ0kobmV0X2k0MGUsIHJ0ZV9p NDBlX3BtZCk7DQpSVEVfUE1EX1JFR0lTVEVSX1BDSV9UQUJMRShuZXRfaTQwZSwgcGNpX2lkX2k0 MGVfbWFwKTsNClJURV9QTURfUkVHSVNURVJfS01PRF9ERVAobmV0X2k0MGUsICIqIGlnYl91aW8g fCB1aW9fcGNpX2dlbmVyaWMgfCB2ZmlvLXBjaSIpOw0KDQojaWZuZGVmIEk0MEVfR0xRRl9PUlQN CiNkZWZpbmUgSTQwRV9HTFFGX09SVChfaSkgICAgKDB4MDAyNjg5MDAgKyAoKF9pKSAqIDQpKQ0K I2VuZGlmDQojaWZuZGVmIEk0MEVfR0xRRl9QSVQNCiNkZWZpbmUgSTQwRV9HTFFGX1BJVChfaSkg ICAgKDB4MDAyNjhDODAgKyAoKF9pKSAqIDQpKQ0KI2VuZGlmDQojaWZuZGVmIEk0MEVfR0xRRl9M M19NQVANCiNkZWZpbmUgSTQwRV9HTFFGX0wzX01BUChfaSkgKDB4MDAyNkM3MDAgKyAoKF9pKSAq IDQpKQ0KI2VuZGlmDQoNCnN0YXRpYyBpbmxpbmUgdm9pZCBpNDBlX0dMUUZfcmVnX2luaXQoc3Ry dWN0IGk0MGVfaHcgKmh3KQ0Kew0KCS8qDQoJICogSW5pdGlhbGl6ZSByZWdpc3RlcnMgZm9yIHBh cnNpbmcgcGFja2V0IHR5cGUgb2YgUWluUQ0KCSAqIFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgZnJv bSBjb2RlIG9uY2UgcHJvcGVyDQoJICogY29uZmlndXJhdGlvbiBBUEkgaXMgYWRkZWQgdG8gYXZv aWQgY29uZmlndXJhdGlvbiBjb25mbGljdHMNCgkgKiBiZXR3ZWVuIHBvcnRzIG9mIHRoZSBzYW1l IGRldmljZS4NCgkgKi8NCglJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xRRl9PUlQoNDAp LCAweDAwMDAwMDI5KTsNCglJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xRRl9QSVQoOSks IDB4MDAwMDk0MjApOw0KfQ0KDQpzdGF0aWMgaW5saW5lIHZvaWQgaTQwZV9jb25maWdfYXV0b21h c2soc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZf VE9fSFcocGYpOw0KCXVpbnQzMl90IHZhbDsNCg0KCS8qIElOVEVOQSBmbGFnIGlzIG5vdCBhdXRv LWNsZWFyZWQgZm9yIGludGVycnVwdCAqLw0KCXZhbCA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVf R0xJTlRfQ1RMKTsNCgl2YWwgfD0gSTQwRV9HTElOVF9DVExfRElTX0FVVE9NQVNLX1BGMF9NQVNL IHwNCgkJSTQwRV9HTElOVF9DVExfRElTX0FVVE9NQVNLX1ZGMF9NQVNLOw0KDQoJLyogSWYgc3Vw cG9ydCBtdWx0aS1kcml2ZXIsIFBGIHdpbGwgdXNlIElOVDAuICovDQoJaWYgKCFwZi0+c3VwcG9y dF9tdWx0aV9kcml2ZXIpDQoJCXZhbCB8PSBJNDBFX0dMSU5UX0NUTF9ESVNfQVVUT01BU0tfTl9N QVNLOw0KDQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfR0xJTlRfQ1RMLCB2YWwpOw0KfQ0KDQoj ZGVmaW5lIEk0MEVfRkxPV19DT05UUk9MX0VUSEVSVFlQRSAgMHg4ODA4DQoNCi8qDQogKiBBZGQg YSBldGhlcnR5cGUgZmlsdGVyIHRvIGRyb3AgYWxsIGZsb3cgY29udHJvbCBmcmFtZXMgdHJhbnNt aXR0ZWQNCiAqIGZyb20gVlNJcy4NCiovDQpzdGF0aWMgdm9pZA0KaTQwZV9hZGRfdHhfZmxvd19j b250cm9sX2Ryb3BfZmlsdGVyKHN0cnVjdCBpNDBlX3BmICpwZikNCnsNCglzdHJ1Y3QgaTQwZV9o dyAqaHcgPSBJNDBFX1BGX1RPX0hXKHBmKTsNCgl1aW50MTZfdCBmbGFncyA9IEk0MEVfQVFDX0FE RF9DT05UUk9MX1BBQ0tFVF9GTEFHU19JR05PUkVfTUFDIHwNCgkJCUk0MEVfQVFDX0FERF9DT05U Uk9MX1BBQ0tFVF9GTEFHU19EUk9QIHwNCgkJCUk0MEVfQVFDX0FERF9DT05UUk9MX1BBQ0tFVF9G TEFHU19UWDsNCglpbnQgcmV0Ow0KDQoJcmV0ID0gaTQwZV9hcV9hZGRfcmVtX2NvbnRyb2xfcGFj a2V0X2ZpbHRlcihodywgTlVMTCwNCgkJCQlJNDBFX0ZMT1dfQ09OVFJPTF9FVEhFUlRZUEUsIGZs YWdzLA0KCQkJCXBmLT5tYWluX3ZzaV9zZWlkLCAwLA0KCQkJCVRSVUUsIE5VTEwsIE5VTEwpOw0K CWlmIChyZXQpDQoJCVBNRF9JTklUX0xPRyhFUlIsDQoJCQkiRmFpbGVkIHRvIGFkZCBmaWx0ZXIg dG8gZHJvcCBmbG93IGNvbnRyb2wgZnJhbWVzIGZyb20gVlNJcy4iKTsNCn0NCg0Kc3RhdGljIGlu dA0KZmxvYXRpbmdfdmViX2xpc3RfaGFuZGxlcihfX3J0ZV91bnVzZWQgY29uc3QgY2hhciAqa2V5 LA0KCQkJICBjb25zdCBjaGFyICpmbG9hdGluZ192ZWJfdmFsdWUsDQoJCQkgIHZvaWQgKm9wYXF1 ZSkNCnsNCglpbnQgaWR4ID0gMDsNCgl1bnNpZ25lZCBpbnQgY291bnQgPSAwOw0KCWNoYXIgKmVu ZCA9IE5VTEw7DQoJaW50IG1pbiwgbWF4Ow0KCWJvb2wgKnZmX2Zsb2F0aW5nX3ZlYiA9IG9wYXF1 ZTsNCg0KCXdoaWxlIChpc2JsYW5rKCpmbG9hdGluZ192ZWJfdmFsdWUpKQ0KCQlmbG9hdGluZ192 ZWJfdmFsdWUrKzsNCg0KCS8qIFJlc2V0IGZsb2F0aW5nIFZFQiBjb25maWd1cmF0aW9uIGZvciBW RnMgKi8NCglmb3IgKGlkeCA9IDA7IGlkeCA8IEk0MEVfTUFYX1ZGOyBpZHgrKykNCgkJdmZfZmxv YXRpbmdfdmViW2lkeF0gPSBmYWxzZTsNCg0KCW1pbiA9IEk0MEVfTUFYX1ZGOw0KCWRvIHsNCgkJ d2hpbGUgKGlzYmxhbmsoKmZsb2F0aW5nX3ZlYl92YWx1ZSkpDQoJCQlmbG9hdGluZ192ZWJfdmFs dWUrKzsNCgkJaWYgKCpmbG9hdGluZ192ZWJfdmFsdWUgPT0gJ1wwJykNCgkJCXJldHVybiAtMTsN CgkJZXJybm8gPSAwOw0KCQlpZHggPSBzdHJ0b3VsKGZsb2F0aW5nX3ZlYl92YWx1ZSwgJmVuZCwg MTApOw0KCQlpZiAoZXJybm8gfHwgZW5kID09IE5VTEwpDQoJCQlyZXR1cm4gLTE7DQoJCXdoaWxl IChpc2JsYW5rKCplbmQpKQ0KCQkJZW5kKys7DQoJCWlmICgqZW5kID09ICctJykgew0KCQkJbWlu ID0gaWR4Ow0KCQl9IGVsc2UgaWYgKCgqZW5kID09ICc7JykgfHwgKCplbmQgPT0gJ1wwJykpIHsN CgkJCW1heCA9IGlkeDsNCgkJCWlmIChtaW4gPT0gSTQwRV9NQVhfVkYpDQoJCQkJbWluID0gaWR4 Ow0KCQkJaWYgKG1heCA+PSBJNDBFX01BWF9WRikNCgkJCQltYXggPSBJNDBFX01BWF9WRiAtIDE7 DQoJCQlmb3IgKGlkeCA9IG1pbjsgaWR4IDw9IG1heDsgaWR4KyspIHsNCgkJCQl2Zl9mbG9hdGlu Z192ZWJbaWR4XSA9IHRydWU7DQoJCQkJY291bnQrKzsNCgkJCX0NCgkJCW1pbiA9IEk0MEVfTUFY X1ZGOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIC0xOw0KCQl9DQoJCWZsb2F0aW5nX3ZlYl92YWx1 ZSA9IGVuZCArIDE7DQoJfSB3aGlsZSAoKmVuZCAhPSAnXDAnKTsNCg0KCWlmIChjb3VudCA9PSAw KQ0KCQlyZXR1cm4gLTE7DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIHZvaWQNCmNvbmZpZ192 Zl9mbG9hdGluZ192ZWIoc3RydWN0IHJ0ZV9kZXZhcmdzICpkZXZhcmdzLA0KCQkgICAgICAgdWlu dDE2X3QgZmxvYXRpbmdfdmViLA0KCQkgICAgICAgYm9vbCAqdmZfZmxvYXRpbmdfdmViKQ0Kew0K CXN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3Q7DQoJaW50IGk7DQoJY29uc3QgY2hhciAqZmxvYXRp bmdfdmViX2xpc3QgPSBFVEhfSTQwRV9GTE9BVElOR19WRUJfTElTVF9BUkc7DQoNCglpZiAoIWZs b2F0aW5nX3ZlYikNCgkJcmV0dXJuOw0KCS8qIEFsbCB0aGUgVkZzIGF0dGFjaCB0byB0aGUgZmxv YXRpbmcgVkVCIGJ5IGRlZmF1bHQNCgkgKiB3aGVuIHRoZSBmbG9hdGluZyBWRUIgaXMgZW5hYmxl ZC4NCgkgKi8NCglmb3IgKGkgPSAwOyBpIDwgSTQwRV9NQVhfVkY7IGkrKykNCgkJdmZfZmxvYXRp bmdfdmViW2ldID0gdHJ1ZTsNCg0KCWlmIChkZXZhcmdzID09IE5VTEwpDQoJCXJldHVybjsNCg0K CWt2bGlzdCA9IHJ0ZV9rdmFyZ3NfcGFyc2UoZGV2YXJncy0+YXJncywgdmFsaWRfa2V5cyk7DQoJ aWYgKGt2bGlzdCA9PSBOVUxMKQ0KCQlyZXR1cm47DQoNCglpZiAoIXJ0ZV9rdmFyZ3NfY291bnQo a3ZsaXN0LCBmbG9hdGluZ192ZWJfbGlzdCkpIHsNCgkJcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7 DQoJCXJldHVybjsNCgl9DQoJLyogV2hlbiB0aGUgZmxvYXRpbmdfdmViX2xpc3QgcGFyYW1ldGVy IGV4aXN0cywgYWxsIHRoZSBWRnMNCgkgKiB3aWxsIGF0dGFjaCB0byB0aGUgbGVnYWN5IFZFQiBm aXJzdGx5LCB0aGVuIGNvbmZpZ3VyZSBWRnMNCgkgKiB0byB0aGUgZmxvYXRpbmcgVkVCIGFjY29y ZGluZyB0byB0aGUgZmxvYXRpbmdfdmViX2xpc3QuDQoJICovDQoJaWYgKHJ0ZV9rdmFyZ3NfcHJv Y2Vzcyhrdmxpc3QsIGZsb2F0aW5nX3ZlYl9saXN0LA0KCQkJICAgICAgIGZsb2F0aW5nX3ZlYl9s aXN0X2hhbmRsZXIsDQoJCQkgICAgICAgdmZfZmxvYXRpbmdfdmViKSA8IDApIHsNCgkJcnRlX2t2 YXJnc19mcmVlKGt2bGlzdCk7DQoJCXJldHVybjsNCgl9DQoJcnRlX2t2YXJnc19mcmVlKGt2bGlz dCk7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfY2hlY2tfZmxvYXRpbmdfaGFuZGxlcihfX3J0ZV91 bnVzZWQgY29uc3QgY2hhciAqa2V5LA0KCQkJICAgIGNvbnN0IGNoYXIgKnZhbHVlLA0KCQkJICAg IF9fcnRlX3VudXNlZCB2b2lkICpvcGFxdWUpDQp7DQoJaWYgKHN0cmNtcCh2YWx1ZSwgIjEiKSkN CgkJcmV0dXJuIC0xOw0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmlzX2Zsb2F0aW5n X3ZlYl9zdXBwb3J0ZWQoc3RydWN0IHJ0ZV9kZXZhcmdzICpkZXZhcmdzKQ0Kew0KCXN0cnVjdCBy dGVfa3ZhcmdzICprdmxpc3Q7DQoJY29uc3QgY2hhciAqZmxvYXRpbmdfdmViX2tleSA9IEVUSF9J NDBFX0ZMT0FUSU5HX1ZFQl9BUkc7DQoNCglpZiAoZGV2YXJncyA9PSBOVUxMKQ0KCQlyZXR1cm4g MDsNCg0KCWt2bGlzdCA9IHJ0ZV9rdmFyZ3NfcGFyc2UoZGV2YXJncy0+YXJncywgdmFsaWRfa2V5 cyk7DQoJaWYgKGt2bGlzdCA9PSBOVUxMKQ0KCQlyZXR1cm4gMDsNCg0KCWlmICghcnRlX2t2YXJn c19jb3VudChrdmxpc3QsIGZsb2F0aW5nX3ZlYl9rZXkpKSB7DQoJCXJ0ZV9rdmFyZ3NfZnJlZShr dmxpc3QpOw0KCQlyZXR1cm4gMDsNCgl9DQoJLyogRmxvYXRpbmcgVkVCIGlzIGVuYWJsZWQgd2hl biB0aGVyZSdzIGtleS12YWx1ZToNCgkgKiBlbmFibGVfZmxvYXRpbmdfdmViPTENCgkgKi8NCglp ZiAocnRlX2t2YXJnc19wcm9jZXNzKGt2bGlzdCwgZmxvYXRpbmdfdmViX2tleSwNCgkJCSAgICAg ICBpNDBlX2NoZWNrX2Zsb2F0aW5nX2hhbmRsZXIsIE5VTEwpIDwgMCkgew0KCQlydGVfa3Zhcmdz X2ZyZWUoa3ZsaXN0KTsNCgkJcmV0dXJuIDA7DQoJfQ0KCXJ0ZV9rdmFyZ3NfZnJlZShrdmxpc3Qp Ow0KDQoJcmV0dXJuIDE7DQp9DQoNCnN0YXRpYyB2b2lkDQpjb25maWdfZmxvYXRpbmdfdmViKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rl diA9IFJURV9FVEhfREVWX1RPX1BDSShkZXYpOw0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVf REVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVf aHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsN Cg0KCW1lbXNldChwZi0+ZmxvYXRpbmdfdmViX2xpc3QsIDAsIHNpemVvZihwZi0+ZmxvYXRpbmdf dmViX2xpc3QpKTsNCg0KCWlmIChody0+YXEuZndfbWFqX3ZlciA+PSBGTE9BVElOR19WRUJfU1VQ UE9SVEVEX0ZXX01BSikgew0KCQlwZi0+ZmxvYXRpbmdfdmViID0NCgkJCWlzX2Zsb2F0aW5nX3Zl Yl9zdXBwb3J0ZWQocGNpX2Rldi0+ZGV2aWNlLmRldmFyZ3MpOw0KCQljb25maWdfdmZfZmxvYXRp bmdfdmViKHBjaV9kZXYtPmRldmljZS5kZXZhcmdzLA0KCQkJCSAgICAgICBwZi0+ZmxvYXRpbmdf dmViLA0KCQkJCSAgICAgICBwZi0+ZmxvYXRpbmdfdmViX2xpc3QpOw0KCX0gZWxzZSB7DQoJCXBm LT5mbG9hdGluZ192ZWIgPSBmYWxzZTsNCgl9DQp9DQoNCiNkZWZpbmUgSTQwRV9MMl9UQUdTX1Nf VEFHX1NISUZUIDENCiNkZWZpbmUgSTQwRV9MMl9UQUdTX1NfVEFHX01BU0sgSTQwRV9NQVNLKDB4 MSwgSTQwRV9MMl9UQUdTX1NfVEFHX1NISUZUKQ0KDQpzdGF0aWMgaW50DQppNDBlX2luaXRfZXRo dHlwZV9maWx0ZXJfbGlzdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQw ZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUp Ow0KCXN0cnVjdCBpNDBlX2V0aGVydHlwZV9ydWxlICpldGhlcnR5cGVfcnVsZSA9ICZwZi0+ZXRo ZXJ0eXBlOw0KCWNoYXIgZXRoZXJ0eXBlX2hhc2hfbmFtZVtSVEVfSEFTSF9OQU1FU0laRV07DQoJ aW50IHJldDsNCg0KCXN0cnVjdCBydGVfaGFzaF9wYXJhbWV0ZXJzIGV0aGVydHlwZV9oYXNoX3Bh cmFtcyA9IHsNCgkJLm5hbWUgPSBldGhlcnR5cGVfaGFzaF9uYW1lLA0KCQkuZW50cmllcyA9IEk0 MEVfTUFYX0VUSEVSVFlQRV9GSUxURVJfTlVNLA0KCQkua2V5X2xlbiA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9ldGhlcnR5cGVfZmlsdGVyX2lucHV0KSwNCgkJLmhhc2hfZnVuYyA9IHJ0ZV9oYXNoX2Ny YywNCgkJLmhhc2hfZnVuY19pbml0X3ZhbCA9IDAsDQoJCS5zb2NrZXRfaWQgPSBydGVfc29ja2V0 X2lkKCksDQoJfTsNCg0KCS8qIEluaXRpYWxpemUgZXRoZXJ0eXBlIGZpbHRlciBydWxlIGxpc3Qg YW5kIGhhc2ggKi8NCglUQUlMUV9JTklUKCZldGhlcnR5cGVfcnVsZS0+ZXRoZXJ0eXBlX2xpc3Qp Ow0KCXNucHJpbnRmKGV0aGVydHlwZV9oYXNoX25hbWUsIFJURV9IQVNIX05BTUVTSVpFLA0KCQkg ImV0aGVydHlwZV8lcyIsIGRldi0+ZGV2aWNlLT5uYW1lKTsNCglldGhlcnR5cGVfcnVsZS0+aGFz aF90YWJsZSA9IHJ0ZV9oYXNoX2NyZWF0ZSgmZXRoZXJ0eXBlX2hhc2hfcGFyYW1zKTsNCglpZiAo IWV0aGVydHlwZV9ydWxlLT5oYXNoX3RhYmxlKSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWls ZWQgdG8gY3JlYXRlIGV0aGVydHlwZSBoYXNoIHRhYmxlISIpOw0KCQlyZXR1cm4gLUVJTlZBTDsN Cgl9DQoJZXRoZXJ0eXBlX3J1bGUtPmhhc2hfbWFwID0gcnRlX3ptYWxsb2MoImk0MGVfZXRoZXJ0 eXBlX2hhc2hfbWFwIiwNCgkJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2V0aGVydHlwZV9m aWx0ZXIgKikgKg0KCQkJCSAgICAgICBJNDBFX01BWF9FVEhFUlRZUEVfRklMVEVSX05VTSwNCgkJ CQkgICAgICAgMCk7DQoJaWYgKCFldGhlcnR5cGVfcnVsZS0+aGFzaF9tYXApIHsNCgkJUE1EX0lO SVRfTE9HKEVSUiwNCgkJCSAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGV0aGVy dHlwZSBoYXNoIG1hcCEiKTsNCgkJcmV0ID0gLUVOT01FTTsNCgkJZ290byBlcnJfZXRoZXJ0eXBl X2hhc2hfbWFwX2FsbG9jOw0KCX0NCg0KCXJldHVybiAwOw0KDQplcnJfZXRoZXJ0eXBlX2hhc2hf bWFwX2FsbG9jOg0KCXJ0ZV9oYXNoX2ZyZWUoZXRoZXJ0eXBlX3J1bGUtPmhhc2hfdGFibGUpOw0K DQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9pbml0X3R1bm5lbF9maWx0ZXJf bGlzdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBp NDBlX3R1bm5lbF9ydWxlICp0dW5uZWxfcnVsZSA9ICZwZi0+dHVubmVsOw0KCWNoYXIgdHVubmVs X2hhc2hfbmFtZVtSVEVfSEFTSF9OQU1FU0laRV07DQoJaW50IHJldDsNCg0KCXN0cnVjdCBydGVf aGFzaF9wYXJhbWV0ZXJzIHR1bm5lbF9oYXNoX3BhcmFtcyA9IHsNCgkJLm5hbWUgPSB0dW5uZWxf aGFzaF9uYW1lLA0KCQkuZW50cmllcyA9IEk0MEVfTUFYX1RVTk5FTF9GSUxURVJfTlVNLA0KCQku a2V5X2xlbiA9IHNpemVvZihzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyX2lucHV0KSwNCgkJLmhh c2hfZnVuYyA9IHJ0ZV9oYXNoX2NyYywNCgkJLmhhc2hfZnVuY19pbml0X3ZhbCA9IDAsDQoJCS5z b2NrZXRfaWQgPSBydGVfc29ja2V0X2lkKCksDQoJfTsNCg0KCS8qIEluaXRpYWxpemUgdHVubmVs IGZpbHRlciBydWxlIGxpc3QgYW5kIGhhc2ggKi8NCglUQUlMUV9JTklUKCZ0dW5uZWxfcnVsZS0+ dHVubmVsX2xpc3QpOw0KCXNucHJpbnRmKHR1bm5lbF9oYXNoX25hbWUsIFJURV9IQVNIX05BTUVT SVpFLA0KCQkgInR1bm5lbF8lcyIsIGRldi0+ZGV2aWNlLT5uYW1lKTsNCgl0dW5uZWxfcnVsZS0+ aGFzaF90YWJsZSA9IHJ0ZV9oYXNoX2NyZWF0ZSgmdHVubmVsX2hhc2hfcGFyYW1zKTsNCglpZiAo IXR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQg dG8gY3JlYXRlIHR1bm5lbCBoYXNoIHRhYmxlISIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoJ dHVubmVsX3J1bGUtPmhhc2hfbWFwID0gcnRlX3ptYWxsb2MoImk0MGVfdHVubmVsX2hhc2hfbWFw IiwNCgkJCQkgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKikgKg0KCQkJCSAg ICBJNDBFX01BWF9UVU5ORUxfRklMVEVSX05VTSwNCgkJCQkgICAgMCk7DQoJaWYgKCF0dW5uZWxf cnVsZS0+aGFzaF9tYXApIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwNCgkJCSAgICAgIkZhaWxlZCB0 byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHR1bm5lbCBoYXNoIG1hcCEiKTsNCgkJcmV0ID0gLUVOT01F TTsNCgkJZ290byBlcnJfdHVubmVsX2hhc2hfbWFwX2FsbG9jOw0KCX0NCg0KCXJldHVybiAwOw0K DQplcnJfdHVubmVsX2hhc2hfbWFwX2FsbG9jOg0KCXJ0ZV9oYXNoX2ZyZWUodHVubmVsX3J1bGUt Pmhhc2hfdGFibGUpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9pbml0 X2ZkaXJfZmlsdGVyX2xpc3Qoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0IGk0 MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2YXRl KTsNCglzdHJ1Y3QgaTQwZV9mZGlyX2luZm8gKmZkaXJfaW5mbyA9ICZwZi0+ZmRpcjsNCgljaGFy IGZkaXJfaGFzaF9uYW1lW1JURV9IQVNIX05BTUVTSVpFXTsNCglpbnQgcmV0Ow0KDQoJc3RydWN0 IHJ0ZV9oYXNoX3BhcmFtZXRlcnMgZmRpcl9oYXNoX3BhcmFtcyA9IHsNCgkJLm5hbWUgPSBmZGly X2hhc2hfbmFtZSwNCgkJLmVudHJpZXMgPSBJNDBFX01BWF9GRElSX0ZJTFRFUl9OVU0sDQoJCS5r ZXlfbGVuID0gc2l6ZW9mKHN0cnVjdCBpNDBlX2ZkaXJfaW5wdXQpLA0KCQkuaGFzaF9mdW5jID0g cnRlX2hhc2hfY3JjLA0KCQkuaGFzaF9mdW5jX2luaXRfdmFsID0gMCwNCgkJLnNvY2tldF9pZCA9 IHJ0ZV9zb2NrZXRfaWQoKSwNCgl9Ow0KDQoJLyogSW5pdGlhbGl6ZSBmbG93IGRpcmVjdG9yIGZp bHRlciBydWxlIGxpc3QgYW5kIGhhc2ggKi8NCglUQUlMUV9JTklUKCZmZGlyX2luZm8tPmZkaXJf bGlzdCk7DQoJc25wcmludGYoZmRpcl9oYXNoX25hbWUsIFJURV9IQVNIX05BTUVTSVpFLA0KCQkg ImZkaXJfJXMiLCBkZXYtPmRldmljZS0+bmFtZSk7DQoJZmRpcl9pbmZvLT5oYXNoX3RhYmxlID0g cnRlX2hhc2hfY3JlYXRlKCZmZGlyX2hhc2hfcGFyYW1zKTsNCglpZiAoIWZkaXJfaW5mby0+aGFz aF90YWJsZSkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIGNyZWF0ZSBmZGlyIGhh c2ggdGFibGUhIik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCglmZGlyX2luZm8tPmhhc2hfbWFw ID0gcnRlX3ptYWxsb2MoImk0MGVfZmRpcl9oYXNoX21hcCIsDQoJCQkJCSAgc2l6ZW9mKHN0cnVj dCBpNDBlX2ZkaXJfZmlsdGVyICopICoNCgkJCQkJICBJNDBFX01BWF9GRElSX0ZJTFRFUl9OVU0s DQoJCQkJCSAgMCk7DQoJaWYgKCFmZGlyX2luZm8tPmhhc2hfbWFwKSB7DQoJCVBNRF9JTklUX0xP RyhFUlIsDQoJCQkgICAgICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmZGlyIGhhc2gg bWFwISIpOw0KCQlyZXQgPSAtRU5PTUVNOw0KCQlnb3RvIGVycl9mZGlyX2hhc2hfbWFwX2FsbG9j Ow0KCX0NCglyZXR1cm4gMDsNCg0KZXJyX2ZkaXJfaGFzaF9tYXBfYWxsb2M6DQoJcnRlX2hhc2hf ZnJlZShmZGlyX2luZm8tPmhhc2hfdGFibGUpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGlj IHZvaWQNCmk0MGVfaW5pdF9jdXN0b21pemVkX2luZm8oc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0K CWludCBpOw0KDQoJLyogSW5pdGlhbGl6ZSBjdXN0b21pemVkIHBjdHlwZSAqLw0KCWZvciAoaSA9 IEk0MEVfQ1VTVE9NSVpFRF9HVFBDOyBpIDwgSTQwRV9DVVNUT01JWkVEX01BWDsgaSsrKSB7DQoJ CXBmLT5jdXN0b21pemVkX3BjdHlwZVtpXS5pbmRleCA9IGk7DQoJCXBmLT5jdXN0b21pemVkX3Bj dHlwZVtpXS5wY3R5cGUgPSBJNDBFX0ZJTFRFUl9QQ1RZUEVfSU5WQUxJRDsNCgkJcGYtPmN1c3Rv bWl6ZWRfcGN0eXBlW2ldLnZhbGlkID0gZmFsc2U7DQoJfQ0KDQoJcGYtPmd0cF9zdXBwb3J0ID0g ZmFsc2U7DQoJcGYtPmVzcF9zdXBwb3J0ID0gZmFsc2U7DQp9DQoNCnZvaWQNCmk0MGVfaW5pdF9x dWV1ZV9yZWdpb25fY29uZihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQw ZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUp Ow0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfcXVldWVfcmVnaW9ucyAqaW5mbyA9ICZwZi0+ cXVldWVfcmVnaW9uOw0KCXVpbnQxNl90IGk7DQoNCglmb3IgKGkgPSAwOyBpIDwgSTQwRV9QRlFG X0hSRUdJT05fTUFYX0lOREVYOyBpKyspDQoJCWk0MGVfd3JpdGVfcnhfY3RsKGh3LCBJNDBFX1BG UUZfSFJFR0lPTihpKSwgMCk7DQoNCgltZW1zZXQoaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpNDBl X3F1ZXVlX3JlZ2lvbnMpKTsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9wYXJzZV9tdWx0aV9kcnZf aGFuZGxlcihfX3J0ZV91bnVzZWQgY29uc3QgY2hhciAqa2V5LA0KCQkJICAgICAgIGNvbnN0IGNo YXIgKnZhbHVlLA0KCQkJICAgICAgIHZvaWQgKm9wYXF1ZSkNCnsNCglzdHJ1Y3QgaTQwZV9wZiAq cGY7DQoJdW5zaWduZWQgbG9uZyBzdXBwb3J0X211bHRpX2RyaXZlcjsNCgljaGFyICplbmQ7DQoN CglwZiA9IChzdHJ1Y3QgaTQwZV9wZiAqKW9wYXF1ZTsNCg0KCWVycm5vID0gMDsNCglzdXBwb3J0 X211bHRpX2RyaXZlciA9IHN0cnRvdWwodmFsdWUsICZlbmQsIDEwKTsNCglpZiAoZXJybm8gIT0g MCB8fCBlbmQgPT0gdmFsdWUgfHwgKmVuZCAhPSAwKSB7DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcs ICJXcm9uZyBnbG9iYWwgY29uZmlndXJhdGlvbiIpOw0KCQlyZXR1cm4gLShFSU5WQUwpOw0KCX0N Cg0KCWlmIChzdXBwb3J0X211bHRpX2RyaXZlciA9PSAxIHx8IHN1cHBvcnRfbXVsdGlfZHJpdmVy ID09IDApDQoJCXBmLT5zdXBwb3J0X211bHRpX2RyaXZlciA9IChib29sKXN1cHBvcnRfbXVsdGlf ZHJpdmVyOw0KCWVsc2UNCgkJUE1EX0RSVl9MT0coV0FSTklORywgIiVzIG11c3QgYmUgMSBvciAw LCIsDQoJCQkgICAgImVuYWJsZSBnbG9iYWwgY29uZmlndXJhdGlvbiBieSBkZWZhdWx0LiINCgkJ CSAgICBFVEhfSTQwRV9TVVBQT1JUX01VTFRJX0RSSVZFUik7DQoJcmV0dXJuIDA7DQp9DQoNCnN0 YXRpYyBpbnQNCmk0MGVfc3VwcG9ydF9tdWx0aV9kcml2ZXIoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYpDQp7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0Ow0KCWludCBr dmFyZ3NfY291bnQ7DQoNCgkvKiBFbmFibGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gYnkgZGVmYXVs dCAqLw0KCXBmLT5zdXBwb3J0X211bHRpX2RyaXZlciA9IGZhbHNlOw0KDQoJaWYgKCFkZXYtPmRl dmljZS0+ZGV2YXJncykNCgkJcmV0dXJuIDA7DQoNCglrdmxpc3QgPSBydGVfa3ZhcmdzX3BhcnNl KGRldi0+ZGV2aWNlLT5kZXZhcmdzLT5hcmdzLCB2YWxpZF9rZXlzKTsNCglpZiAoIWt2bGlzdCkN CgkJcmV0dXJuIC1FSU5WQUw7DQoNCglrdmFyZ3NfY291bnQgPSBydGVfa3ZhcmdzX2NvdW50KGt2 bGlzdCwgRVRIX0k0MEVfU1VQUE9SVF9NVUxUSV9EUklWRVIpOw0KCWlmICgha3ZhcmdzX2NvdW50 KSB7DQoJCXJ0ZV9rdmFyZ3NfZnJlZShrdmxpc3QpOw0KCQlyZXR1cm4gMDsNCgl9DQoNCglpZiAo a3ZhcmdzX2NvdW50ID4gMSkNCgkJUE1EX0RSVl9MT0coV0FSTklORywgIk1vcmUgdGhhbiBvbmUg YXJndW1lbnQgXCIlc1wiIGFuZCBvbmx5ICINCgkJCSAgICAidGhlIGZpcnN0IGludmFsaWQgb3Ig bGFzdCB2YWxpZCBvbmUgaXMgdXNlZCAhIiwNCgkJCSAgICBFVEhfSTQwRV9TVVBQT1JUX01VTFRJ X0RSSVZFUik7DQoNCglpZiAocnRlX2t2YXJnc19wcm9jZXNzKGt2bGlzdCwgRVRIX0k0MEVfU1VQ UE9SVF9NVUxUSV9EUklWRVIsDQoJCQkgICAgICAgaTQwZV9wYXJzZV9tdWx0aV9kcnZfaGFuZGxl ciwgcGYpIDwgMCkgew0KCQlydGVfa3ZhcmdzX2ZyZWUoa3ZsaXN0KTsNCgkJcmV0dXJuIC1FSU5W QUw7DQoJfQ0KDQoJcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7DQoJcmV0dXJuIDA7DQp9DQoNCnN0 YXRpYyBpbnQNCmk0MGVfYXFfZGVidWdfd3JpdGVfZ2xvYmFsX3JlZ2lzdGVyKHN0cnVjdCBpNDBl X2h3ICpodywNCgkJCQkgICAgdWludDMyX3QgcmVnX2FkZHIsIHVpbnQ2NF90IHJlZ192YWwsDQoJ CQkJICAgIHN0cnVjdCBpNDBlX2FzcV9jbWRfZGV0YWlscyAqY21kX2RldGFpbHMpDQp7DQoJdWlu dDY0X3Qgb3JpX3JlZ192YWw7DQoJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7DQoJaW50IHJldDsN Cg0KCXJldCA9IGk0MGVfYXFfZGVidWdfcmVhZF9yZWdpc3RlcihodywgcmVnX2FkZHIsICZvcmlf cmVnX3ZhbCwgTlVMTCk7DQoJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9M T0coRVJSLA0KCQkJICAgICJGYWlsIHRvIGRlYnVnIHJlYWQgZnJvbSAweCUwOHgiLA0KCQkJICAg IHJlZ19hZGRyKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KCWRldiA9ICgoc3RydWN0IGk0MGVfYWRh cHRlciAqKWh3LT5iYWNrKS0+ZXRoX2RldjsNCg0KCWlmIChvcmlfcmVnX3ZhbCAhPSByZWdfdmFs KQ0KCQlQTURfRFJWX0xPRyhXQVJOSU5HLA0KCQkJICAgICJpNDBlIGRldmljZSAlcyBjaGFuZ2Vk IGdsb2JhbCByZWdpc3RlciBbMHglMDh4XS4iDQoJCQkgICAgIiBvcmlnaW5hbDogMHglIlBSSXg2 NCIsIGFmdGVyOiAweCUiUFJJeDY0LA0KCQkJICAgIGRldi0+ZGV2aWNlLT5uYW1lLCByZWdfYWRk ciwgb3JpX3JlZ192YWwsIHJlZ192YWwpOw0KDQoJcmV0dXJuIGk0MGVfYXFfZGVidWdfd3JpdGVf cmVnaXN0ZXIoaHcsIHJlZ19hZGRyLCByZWdfdmFsLCBjbWRfZGV0YWlscyk7DQp9DQoNCnN0YXRp YyBpbnQNCmk0MGVfcGFyc2VfbGF0ZXN0X3ZlY19oYW5kbGVyKF9fcnRlX3VudXNlZCBjb25zdCBj aGFyICprZXksDQoJCQkJY29uc3QgY2hhciAqdmFsdWUsDQoJCQkJdm9pZCAqb3BhcXVlKQ0Kew0K CXN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkID0gb3BhcXVlOw0KCWludCB1c2VfbGF0ZXN0X3ZlYzsN Cg0KCXVzZV9sYXRlc3RfdmVjID0gYXRvaSh2YWx1ZSk7DQoNCglpZiAodXNlX2xhdGVzdF92ZWMg IT0gMCAmJiB1c2VfbGF0ZXN0X3ZlYyAhPSAxKQ0KCQlQTURfRFJWX0xPRyhXQVJOSU5HLCAiVmFs dWUgc2hvdWxkIGJlIDAgb3IgMSwgc2V0IGl0IGFzIDEhIik7DQoNCglhZC0+dXNlX2xhdGVzdF92 ZWMgPSAodWludDhfdCl1c2VfbGF0ZXN0X3ZlYzsNCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMg aW50DQppNDBlX3VzZV9sYXRlc3RfdmVjKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0 cnVjdCBpNDBlX2FkYXB0ZXIgKmFkID0NCgkJSTQwRV9ERVZfUFJJVkFURV9UT19BREFQVEVSKGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3Q7DQoJaW50 IGt2YXJnc19jb3VudDsNCg0KCWFkLT51c2VfbGF0ZXN0X3ZlYyA9IGZhbHNlOw0KDQoJaWYgKCFk ZXYtPmRldmljZS0+ZGV2YXJncykNCgkJcmV0dXJuIDA7DQoNCglrdmxpc3QgPSBydGVfa3Zhcmdz X3BhcnNlKGRldi0+ZGV2aWNlLT5kZXZhcmdzLT5hcmdzLCB2YWxpZF9rZXlzKTsNCglpZiAoIWt2 bGlzdCkNCgkJcmV0dXJuIC1FSU5WQUw7DQoNCglrdmFyZ3NfY291bnQgPSBydGVfa3ZhcmdzX2Nv dW50KGt2bGlzdCwgRVRIX0k0MEVfVVNFX0xBVEVTVF9WRUMpOw0KCWlmICgha3ZhcmdzX2NvdW50 KSB7DQoJCXJ0ZV9rdmFyZ3NfZnJlZShrdmxpc3QpOw0KCQlyZXR1cm4gMDsNCgl9DQoNCglpZiAo a3ZhcmdzX2NvdW50ID4gMSkNCgkJUE1EX0RSVl9MT0coV0FSTklORywgIk1vcmUgdGhhbiBvbmUg YXJndW1lbnQgXCIlc1wiIGFuZCBvbmx5ICINCgkJCSAgICAidGhlIGZpcnN0IGludmFsaWQgb3Ig bGFzdCB2YWxpZCBvbmUgaXMgdXNlZCAhIiwNCgkJCSAgICBFVEhfSTQwRV9VU0VfTEFURVNUX1ZF Qyk7DQoNCglpZiAocnRlX2t2YXJnc19wcm9jZXNzKGt2bGlzdCwgRVRIX0k0MEVfVVNFX0xBVEVT VF9WRUMsDQoJCQkJaTQwZV9wYXJzZV9sYXRlc3RfdmVjX2hhbmRsZXIsIGFkKSA8IDApIHsNCgkJ cnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCg0KCXJ0ZV9r dmFyZ3NfZnJlZShrdmxpc3QpOw0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQpyZWFkX3Zm X21zZ19jb25maWcoX19ydGVfdW51c2VkIGNvbnN0IGNoYXIgKmtleSwNCgkJCSAgICAgICBjb25z dCBjaGFyICp2YWx1ZSwNCgkJCSAgICAgICB2b2lkICpvcGFxdWUpDQp7DQoJc3RydWN0IGk0MGVf dmZfbXNnX2NmZyAqY2ZnID0gb3BhcXVlOw0KDQoJaWYgKHNzY2FuZih2YWx1ZSwgIiV1QCV1OiV1 IiwgJmNmZy0+bWF4X21zZywgJmNmZy0+cGVyaW9kLA0KCQkJJmNmZy0+aWdub3JlX3NlY29uZCkg IT0gMykgew0KCQltZW1zZXQoY2ZnLCAwLCBzaXplb2YoKmNmZykpOw0KCQlQTURfRFJWX0xPRyhF UlIsICJmb3JtYXQgZXJyb3IhIGV4YW1wbGU6ICINCgkJCQkiJXM9NjBAMTIwOjE4MCIsIEVUSF9J NDBFX1ZGX01TR19DRkcpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCgkvKg0KCSAqIElmIHRo ZSBtZXNzYWdlIHZhbGlkYXRpb24gZnVuY3Rpb24gYmVlbiBlbmFibGVkLCB0aGUgJ3BlcmlvZCcN CgkgKiBhbmQgJ2lnbm9yZV9zZWNvbmQnIG11c3QgZ3JlYXRlciB0aGFuIDAuDQoJICovDQoJaWYg KGNmZy0+bWF4X21zZyAmJiAoIWNmZy0+cGVyaW9kIHx8ICFjZmctPmlnbm9yZV9zZWNvbmQpKSB7 DQoJCW1lbXNldChjZmcsIDAsIHNpemVvZigqY2ZnKSk7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIiVz IGVycm9yISB0aGUgc2Vjb25kIGFuZCB0aGlyZCINCgkJCQkiIG51bWJlciBtdXN0IGJlIGdyZWF0 ZXIgdGhhbiAwISIsDQoJCQkJRVRIX0k0MEVfVkZfTVNHX0NGRyk7DQoJCXJldHVybiAtRUlOVkFM Ow0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3BhcnNlX3ZmX21zZ19j b25maWcoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCXN0cnVjdCBpNDBlX3ZmX21zZ19jZmcg Km1zZ19jZmcpDQp7DQoJc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdDsNCglpbnQga3ZhcmdzX2Nv dW50Ow0KCWludCByZXQgPSAwOw0KDQoJbWVtc2V0KG1zZ19jZmcsIDAsIHNpemVvZigqbXNnX2Nm ZykpOw0KDQoJaWYgKCFkZXYtPmRldmljZS0+ZGV2YXJncykNCgkJcmV0dXJuIHJldDsNCg0KCWt2 bGlzdCA9IHJ0ZV9rdmFyZ3NfcGFyc2UoZGV2LT5kZXZpY2UtPmRldmFyZ3MtPmFyZ3MsIHZhbGlk X2tleXMpOw0KCWlmICgha3ZsaXN0KQ0KCQlyZXR1cm4gLUVJTlZBTDsNCg0KCWt2YXJnc19jb3Vu dCA9IHJ0ZV9rdmFyZ3NfY291bnQoa3ZsaXN0LCBFVEhfSTQwRV9WRl9NU0dfQ0ZHKTsNCglpZiAo IWt2YXJnc19jb3VudCkNCgkJZ290byBmcmVlX2VuZDsNCg0KCWlmIChrdmFyZ3NfY291bnQgPiAx KSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIk1vcmUgdGhhbiBvbmUgYXJndW1lbnQgXCIlc1wiISIs DQoJCQkJRVRIX0k0MEVfVkZfTVNHX0NGRyk7DQoJCXJldCA9IC1FSU5WQUw7DQoJCWdvdG8gZnJl ZV9lbmQ7DQoJfQ0KDQoJaWYgKHJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsIEVUSF9JNDBFX1ZG X01TR19DRkcsDQoJCQlyZWFkX3ZmX21zZ19jb25maWcsIG1zZ19jZmcpIDwgMCkNCgkJcmV0ID0g LUVJTlZBTDsNCg0KZnJlZV9lbmQ6DQoJcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7DQoJcmV0dXJu IHJldDsNCn0NCg0KI2RlZmluZSBJNDBFX0FMQVJNX0lOVEVSVkFMIDUwMDAwIC8qIHVzICovDQoN CnN0YXRpYyBpbnQNCmV0aF9pNDBlX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB2 b2lkICppbml0X3BhcmFtcyBfX3J0ZV91bnVzZWQpDQp7DQoJc3RydWN0IHJ0ZV9wY2lfZGV2aWNl ICpwY2lfZGV2Ow0KCXN0cnVjdCBydGVfaW50cl9oYW5kbGUgKmludHJfaGFuZGxlOw0KCXN0cnVj dCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV92c2kgKnZzaTsNCglpbnQgcmV0Ow0K CXVpbnQzMl90IGxlbiwgdmFsOw0KCXVpbnQ4X3QgYXFfZmFpbCA9IDA7DQoNCglQTURfSU5JVF9G VU5DX1RSQUNFKCk7DQoNCglkZXYtPmRldl9vcHMgPSAmaTQwZV9ldGhfZGV2X29wczsNCglkZXYt PnJ4X3BrdF9idXJzdCA9IGk0MGVfcmVjdl9wa3RzOw0KCWRldi0+dHhfcGt0X2J1cnN0ID0gaTQw ZV94bWl0X3BrdHM7DQoJZGV2LT50eF9wa3RfcHJlcGFyZSA9IGk0MGVfcHJlcF9wa3RzOw0KDQoJ LyogZm9yIHNlY29uZGFyeSBwcm9jZXNzZXMsIHdlIGRvbid0IGluaXRpYWxpc2UgYW55IGZ1cnRo ZXIgYXMgcHJpbWFyeQ0KCSAqIGhhcyBhbHJlYWR5IGRvbmUgdGhpcyB3b3JrLiBPbmx5IGNoZWNr IHdlIGRvbid0IG5lZWQgYSBkaWZmZXJlbnQNCgkgKiBSWCBmdW5jdGlvbiAqLw0KCWlmIChydGVf ZWFsX3Byb2Nlc3NfdHlwZSgpICE9IFJURV9QUk9DX1BSSU1BUlkpew0KCQlpNDBlX3NldF9yeF9m dW5jdGlvbihkZXYpOw0KCQlpNDBlX3NldF90eF9mdW5jdGlvbihkZXYpOw0KCQlyZXR1cm4gMDsN Cgl9DQoJaTQwZV9zZXRfZGVmYXVsdF9wdHlwZV90YWJsZShkZXYpOw0KCXBjaV9kZXYgPSBSVEVf RVRIX0RFVl9UT19QQ0koZGV2KTsNCglpbnRyX2hhbmRsZSA9ICZwY2lfZGV2LT5pbnRyX2hhbmRs ZTsNCg0KCXJ0ZV9ldGhfY29weV9wY2lfaW5mbyhkZXYsIHBjaV9kZXYpOw0KDQoJcGYtPmFkYXB0 ZXIgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0FEQVBURVIoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7 DQoJcGYtPmFkYXB0ZXItPmV0aF9kZXYgPSBkZXY7DQoJcGYtPmRldl9kYXRhID0gZGV2LT5kYXRh Ow0KDQoJaHctPmJhY2sgPSBJNDBFX1BGX1RPX0FEQVBURVIocGYpOw0KCWh3LT5od19hZGRyID0g KHVpbnQ4X3QgKikocGNpX2Rldi0+bWVtX3Jlc291cmNlWzBdLmFkZHIpOw0KCWlmICghaHctPmh3 X2FkZHIpIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwNCgkJCSJIYXJkd2FyZSBpcyBub3QgYXZhaWxh YmxlLCBhcyBhZGRyZXNzIGlzIE5VTEwiKTsNCgkJcmV0dXJuIC1FTk9ERVY7DQoJfQ0KDQoJaHct PnZlbmRvcl9pZCA9IHBjaV9kZXYtPmlkLnZlbmRvcl9pZDsNCglody0+ZGV2aWNlX2lkID0gcGNp X2Rldi0+aWQuZGV2aWNlX2lkOw0KCWh3LT5zdWJzeXN0ZW1fdmVuZG9yX2lkID0gcGNpX2Rldi0+ aWQuc3Vic3lzdGVtX3ZlbmRvcl9pZDsNCglody0+c3Vic3lzdGVtX2RldmljZV9pZCA9IHBjaV9k ZXYtPmlkLnN1YnN5c3RlbV9kZXZpY2VfaWQ7DQoJaHctPmJ1cy5kZXZpY2UgPSBwY2lfZGV2LT5h ZGRyLmRldmlkOw0KCWh3LT5idXMuZnVuYyA9IHBjaV9kZXYtPmFkZHIuZnVuY3Rpb247DQoJaHct PmFkYXB0ZXJfc3RvcHBlZCA9IDA7DQoJaHctPmFkYXB0ZXJfY2xvc2VkID0gMDsNCg0KCS8qIElu aXQgc3dpdGNoIGRldmljZSBwb2ludGVyICovDQoJaHctPnN3aXRjaF9kZXYgPSBOVUxMOw0KDQoJ LyoNCgkgKiBTd2l0Y2ggVGFnIHZhbHVlIHNob3VsZCBub3QgYmUgaWRlbnRpY2FsIHRvIGVpdGhl ciB0aGUgRmlyc3QgVGFnDQoJICogb3IgU2Vjb25kIFRhZyB2YWx1ZXMuIFNvIHNldCBzb21ldGhp bmcgb3RoZXIgdGhhbiBjb21tb24gRXRoZXJ0eXBlDQoJICogZm9yIGludGVybmFsIHN3aXRjaGlu Zy4NCgkgKi8NCglody0+c3dpdGNoX3RhZyA9IDB4ZmZmZjsNCg0KCXZhbCA9IEk0MEVfUkVBRF9S RUcoaHcsIEk0MEVfR0xfRldTVFMpOw0KCWlmICh2YWwgJiBJNDBFX0dMX0ZXU1RTX0ZXUzFCX01B U0spIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwgIlxuRVJST1I6ICINCgkJCSJGaXJtd2FyZSByZWNv dmVyeSBtb2RlIGRldGVjdGVkLiBMaW1pdGluZyBmdW5jdGlvbmFsaXR5LlxuIg0KCQkJIlJlZmVy IHRvIHRoZSBJbnRlbChSKSBFdGhlcm5ldCBBZGFwdGVycyBhbmQgRGV2aWNlcyAiDQoJCQkiVXNl ciBHdWlkZSBmb3IgZGV0YWlscyBvbiBmaXJtd2FyZSByZWNvdmVyeSBtb2RlLiIpOw0KCQlyZXR1 cm4gLUVJTzsNCgl9DQoNCglpNDBlX3BhcnNlX3ZmX21zZ19jb25maWcoZGV2LCAmcGYtPnZmX21z Z19jZmcpOw0KCS8qIENoZWNrIGlmIG5lZWQgdG8gc3VwcG9ydCBtdWx0aS1kcml2ZXIgKi8NCglp NDBlX3N1cHBvcnRfbXVsdGlfZHJpdmVyKGRldik7DQoJLyogQ2hlY2sgaWYgdXNlcnMgd2FudCB0 aGUgbGF0ZXN0IHN1cHBvcnRlZCB2ZWMgcGF0aCAqLw0KCWk0MGVfdXNlX2xhdGVzdF92ZWMoZGV2 KTsNCg0KCS8qIE1ha2Ugc3VyZSBhbGwgaXMgY2xlYW4gYmVmb3JlIGRvaW5nIFBGIHJlc2V0ICov DQoJaTQwZV9jbGVhcl9odyhodyk7DQoNCgkvKiBSZXNldCBoZXJlIHRvIG1ha2Ugc3VyZSBhbGwg aXMgY2xlYW4gZm9yIGVhY2ggUEYgKi8NCglyZXQgPSBpNDBlX3BmX3Jlc2V0KGh3KTsNCglpZiAo cmV0KSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gcmVzZXQgcGY6ICVkIiwgcmV0 KTsNCgkJcmV0dXJuIHJldDsNCgl9DQoNCgkvKiBJbml0aWFsaXplIHRoZSBzaGFyZWQgY29kZSAo YmFzZSBkcml2ZXIpICovDQoJcmV0ID0gaTQwZV9pbml0X3NoYXJlZF9jb2RlKGh3KTsNCglpZiAo cmV0KSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gaW5pdCBzaGFyZWQgY29kZSAo YmFzZSBkcml2ZXIpOiAlZCIsIHJldCk7DQoJCXJldHVybiByZXQ7DQoJfQ0KDQoJLyogSW5pdGlh bGl6ZSB0aGUgcGFyYW1ldGVycyBmb3IgYWRtaW5xICovDQoJaTQwZV9pbml0X2FkbWlucV9wYXJh bWV0ZXIoaHcpOw0KCXJldCA9IGk0MGVfaW5pdF9hZG1pbnEoaHcpOw0KCWlmIChyZXQgIT0gSTQw RV9TVUNDRVNTKSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gaW5pdCBhZG1pbnE6 ICVkIiwgcmV0KTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KCS8qIEZpcm13YXJlIG9mIFNGUCB4NzIy IGRvZXMgbm90IHN1cHBvcnQgYWRtaW5xIG9wdGlvbiAqLw0KCWlmIChody0+ZGV2aWNlX2lkID09 IEk0MEVfREVWX0lEX1NGUF9YNzIyKQ0KCQlody0+ZmxhZ3MgJj0gfkk0MEVfSFdfRkxBR184MDJf MUFEX0NBUEFCTEU7DQoNCglQTURfSU5JVF9MT0coSU5GTywgIkZXICVkLiVkIEFQSSAlZC4lZCBO Vk0gJTAyZC4lMDJkLiUwMmQgZWV0cmFjayAlMDR4IiwNCgkJICAgICBody0+YXEuZndfbWFqX3Zl ciwgaHctPmFxLmZ3X21pbl92ZXIsDQoJCSAgICAgaHctPmFxLmFwaV9tYWpfdmVyLCBody0+YXEu YXBpX21pbl92ZXIsDQoJCSAgICAgKChody0+bnZtLnZlcnNpb24gPj4gMTIpICYgMHhmKSwNCgkJ ICAgICAoKGh3LT5udm0udmVyc2lvbiA+PiA0KSAmIDB4ZmYpLA0KCQkgICAgIChody0+bnZtLnZl cnNpb24gJiAweGYpLCBody0+bnZtLmVldHJhY2spOw0KDQoJLyogSW5pdGlhbGl6ZSB0aGUgaGFy ZHdhcmUgKi8NCglpNDBlX2h3X2luaXQoZGV2KTsNCg0KCWk0MGVfY29uZmlnX2F1dG9tYXNrKHBm KTsNCg0KCWk0MGVfc2V0X2RlZmF1bHRfcGN0eXBlX3RhYmxlKGRldik7DQoNCgkvKg0KCSAqIFRv IHdvcmsgYXJvdW5kIHRoZSBOVk0gaXNzdWUsIGluaXRpYWxpemUgcmVnaXN0ZXJzDQoJICogZm9y IHBhY2tldCB0eXBlIG9mIFFpblEgYnkgc29mdHdhcmUuDQoJICogSXQgc2hvdWxkIGJlIHJlbW92 ZWQgb25jZSBpc3N1ZXMgYXJlIGZpeGVkIGluIE5WTS4NCgkgKi8NCglpZiAoIXBmLT5zdXBwb3J0 X211bHRpX2RyaXZlcikNCgkJaTQwZV9HTFFGX3JlZ19pbml0KGh3KTsNCg0KCS8qIEluaXRpYWxp emUgdGhlIGlucHV0IHNldCBmb3IgZmlsdGVycyAoaGFzaCBhbmQgZmQpIHRvIGRlZmF1bHQgdmFs dWUgKi8NCglpNDBlX2ZpbHRlcl9pbnB1dF9zZXRfaW5pdChwZik7DQoNCgkvKiBpbml0aWFsaXNl IHRoZSBMM19NQVAgcmVnaXN0ZXIgKi8NCglpZiAoIXBmLT5zdXBwb3J0X211bHRpX2RyaXZlcikg ew0KCQlyZXQgPSBpNDBlX2FxX2RlYnVnX3dyaXRlX2dsb2JhbF9yZWdpc3RlcihodywNCgkJCQkJ CSAgIEk0MEVfR0xRRl9MM19NQVAoNDApLA0KCQkJCQkJICAgMHgwMDAwMDAyOCwJTlVMTCk7DQoJ CWlmIChyZXQpDQoJCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIHdyaXRlIEwzIE1BUCBy ZWdpc3RlciAlZCIsDQoJCQkJICAgICByZXQpOw0KCQlQTURfSU5JVF9MT0coREVCVUcsDQoJCQkg ICAgICJHbG9iYWwgcmVnaXN0ZXIgMHglMDh4IGlzIGNoYW5nZWQgd2l0aCAweDI4IiwNCgkJCSAg ICAgSTQwRV9HTFFGX0wzX01BUCg0MCkpOw0KCX0NCg0KCS8qIE5lZWQgdGhlIHNwZWNpYWwgRlcg dmVyc2lvbiB0byBzdXBwb3J0IGZsb2F0aW5nIFZFQiAqLw0KCWNvbmZpZ19mbG9hdGluZ192ZWIo ZGV2KTsNCgkvKiBDbGVhciBQWEUgbW9kZSAqLw0KCWk0MGVfY2xlYXJfcHhlX21vZGUoaHcpOw0K CWk0MGVfZGV2X3N5bmNfcGh5X3R5cGUoaHcpOw0KDQoJLyoNCgkgKiBPbiBYNzEwLCBwZXJmb3Jt YW5jZSBudW1iZXIgaXMgZmFyIGZyb20gdGhlIGV4cGVjdGF0aW9uIG9uIHJlY2VudA0KCSAqIGZp cm13YXJlIHZlcnNpb25zLiBUaGUgZml4IGZvciB0aGlzIGlzc3VlIG1heSBub3QgYmUgaW50ZWdy YXRlZCBpbg0KCSAqIHRoZSBmb2xsb3dpbmcgZmlybXdhcmUgdmVyc2lvbi4gU28gdGhlIHdvcmth cm91bmQgaW4gc29mdHdhcmUgZHJpdmVyDQoJICogaXMgbmVlZGVkLiBJdCBuZWVkcyB0byBtb2Rp ZnkgdGhlIGluaXRpYWwgdmFsdWVzIG9mIDMgaW50ZXJuYWwgb25seQ0KCSAqIHJlZ2lzdGVycy4g Tm90ZSB0aGF0IHRoZSB3b3JrYXJvdW5kIGNhbiBiZSByZW1vdmVkIHdoZW4gaXQgaXMgZml4ZWQN CgkgKiBpbiBmaXJtd2FyZSBpbiB0aGUgZnV0dXJlLg0KCSAqLw0KCWk0MGVfY29uZmlndXJlX3Jl Z2lzdGVycyhodyk7DQoNCgkvKiBHZXQgaHcgY2FwYWJpbGl0aWVzICovDQoJcmV0ID0gaTQwZV9n ZXRfY2FwKGh3KTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfSU5JVF9MT0co RVJSLCAiRmFpbGVkIHRvIGdldCBjYXBhYmlsaXRpZXM6ICVkIiwgcmV0KTsNCgkJZ290byBlcnJf Z2V0X2NhcGFiaWxpdGllczsNCgl9DQoNCgkvKiBJbml0aWFsaXplIHBhcmFtZXRlcnMgZm9yIFBG ICovDQoJcmV0ID0gaTQwZV9wZl9wYXJhbWV0ZXJfaW5pdChkZXYpOw0KCWlmIChyZXQgIT0gMCkg ew0KCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIGRvIHBhcmFtZXRlciBpbml0OiAlZCIs IHJldCk7DQoJCWdvdG8gZXJyX3BhcmFtZXRlcl9pbml0Ow0KCX0NCg0KCS8qIEluaXRpYWxpemUg dGhlIHF1ZXVlIG1hbmFnZW1lbnQgKi8NCglyZXQgPSBpNDBlX3Jlc19wb29sX2luaXQoJnBmLT5x cF9wb29sLCAwLCBody0+ZnVuY19jYXBzLm51bV90eF9xcCk7DQoJaWYgKHJldCA8IDApIHsNCgkJ UE1EX0lOSVRfTE9HKEVSUiwgIkZhaWxlZCB0byBpbml0IHF1ZXVlIHBvb2wiKTsNCgkJZ290byBl cnJfcXBfcG9vbF9pbml0Ow0KCX0NCglyZXQgPSBpNDBlX3Jlc19wb29sX2luaXQoJnBmLT5tc2l4 X3Bvb2wsIDEsDQoJCQkJaHctPmZ1bmNfY2Fwcy5udW1fbXNpeF92ZWN0b3JzIC0gMSk7DQoJaWYg KHJldCA8IDApIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwgIkZhaWxlZCB0byBpbml0IE1TSVggcG9v bCIpOw0KCQlnb3RvIGVycl9tc2l4X3Bvb2xfaW5pdDsNCgl9DQoNCgkvKiBJbml0aWFsaXplIGxh biBobWMgKi8NCglyZXQgPSBpNDBlX2luaXRfbGFuX2htYyhodywgaHctPmZ1bmNfY2Fwcy5udW1f dHhfcXAsDQoJCQkJaHctPmZ1bmNfY2Fwcy5udW1fcnhfcXAsIDAsIDApOw0KCWlmIChyZXQgIT0g STQwRV9TVUNDRVNTKSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gaW5pdCBsYW4g aG1jOiAlZCIsIHJldCk7DQoJCWdvdG8gZXJyX2luaXRfbGFuX2htYzsNCgl9DQoNCgkvKiBDb25m aWd1cmUgbGFuIGhtYyAqLw0KCXJldCA9IGk0MGVfY29uZmlndXJlX2xhbl9obWMoaHcsIEk0MEVf SE1DX01PREVMX0RJUkVDVF9PTkxZKTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQ TURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBsYW4gaG1jOiAlZCIsIHJldCk7 DQoJCWdvdG8gZXJyX2NvbmZpZ3VyZV9sYW5faG1jOw0KCX0NCg0KCS8qIEdldCBhbmQgY2hlY2sg dGhlIG1hYyBhZGRyZXNzICovDQoJaTQwZV9nZXRfbWFjX2FkZHIoaHcsIGh3LT5tYWMuYWRkcik7 DQoJaWYgKGk0MGVfdmFsaWRhdGVfbWFjX2FkZHIoaHctPm1hYy5hZGRyKSAhPSBJNDBFX1NVQ0NF U1MpIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwgIm1hYyBhZGRyZXNzIGlzIG5vdCB2YWxpZCIpOw0K CQlyZXQgPSAtRUlPOw0KCQlnb3RvIGVycl9nZXRfbWFjX2FkZHI7DQoJfQ0KCS8qIENvcHkgdGhl IHBlcm1hbmVudCBNQUMgYWRkcmVzcyAqLw0KCXJ0ZV9ldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBy dGVfZXRoZXJfYWRkciAqKWh3LT5tYWMuYWRkciwNCgkJCShzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIg Kilody0+bWFjLnBlcm1fYWRkcik7DQoNCgkvKiBEaXNhYmxlIGZsb3cgY29udHJvbCAqLw0KCWh3 LT5mYy5yZXF1ZXN0ZWRfbW9kZSA9IEk0MEVfRkNfTk9ORTsNCglpNDBlX3NldF9mYyhodywgJmFx X2ZhaWwsIFRSVUUpOw0KDQoJLyogU2V0IHRoZSBnbG9iYWwgcmVnaXN0ZXJzIHdpdGggZGVmYXVs dCBldGhlciB0eXBlIHZhbHVlICovDQoJaWYgKCFwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIpIHsN CgkJcmV0ID0gaTQwZV92bGFuX3RwaWRfc2V0KGRldiwgRVRIX1ZMQU5fVFlQRV9PVVRFUiwNCgkJ CQkJIFJURV9FVEhFUl9UWVBFX1ZMQU4pOw0KCQlpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0K CQkJUE1EX0lOSVRfTE9HKEVSUiwNCgkJCQkgICAgICJGYWlsZWQgdG8gc2V0IHRoZSBkZWZhdWx0 IG91dGVyICINCgkJCQkgICAgICJWTEFOIGV0aGVyIHR5cGUiKTsNCgkJCWdvdG8gZXJyX3NldHVw X3BmX3N3aXRjaDsNCgkJfQ0KCX0NCg0KCS8qIFBGIHNldHVwLCB3aGljaCBpbmNsdWRlcyBWU0kg c2V0dXAgKi8NCglyZXQgPSBpNDBlX3BmX3NldHVwKHBmKTsNCglpZiAocmV0KSB7DQoJCVBNRF9J TklUX0xPRyhFUlIsICJGYWlsZWQgdG8gc2V0dXAgcGYgc3dpdGNoOiAlZCIsIHJldCk7DQoJCWdv dG8gZXJyX3NldHVwX3BmX3N3aXRjaDsNCgl9DQoNCgl2c2kgPSBwZi0+bWFpbl92c2k7DQoNCgkv KiBEaXNhYmxlIGRvdWJsZSB2bGFuIGJ5IGRlZmF1bHQgKi8NCglpNDBlX3ZzaV9jb25maWdfZG91 YmxlX3ZsYW4odnNpLCBGQUxTRSk7DQoNCgkvKiBEaXNhYmxlIFMtVEFHIGlkZW50aWZpY2F0aW9u IHdoZW4gZmxvYXRpbmdfdmViIGlzIGRpc2FibGVkICovDQoJaWYgKCFwZi0+ZmxvYXRpbmdfdmVi KSB7DQoJCXJldCA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVfUFJUX0wyVEFHU0VOKTsNCgkJaWYg KHJldCAmIEk0MEVfTDJfVEFHU19TX1RBR19NQVNLKSB7DQoJCQlyZXQgJj0gfkk0MEVfTDJfVEFH U19TX1RBR19NQVNLOw0KCQkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJUX0wyVEFHU0VOLCBy ZXQpOw0KCQl9DQoJfQ0KDQoJaWYgKCF2c2ktPm1heF9tYWNhZGRycykNCgkJbGVuID0gUlRFX0VU SEVSX0FERFJfTEVOOw0KCWVsc2UNCgkJbGVuID0gUlRFX0VUSEVSX0FERFJfTEVOICogdnNpLT5t YXhfbWFjYWRkcnM7DQoNCgkvKiBTaG91bGQgYmUgYWZ0ZXIgVlNJIGluaXRpYWxpemVkICovDQoJ ZGV2LT5kYXRhLT5tYWNfYWRkcnMgPSBydGVfem1hbGxvYygiaTQwZSIsIGxlbiwgMCk7DQoJaWYg KCFkZXYtPmRhdGEtPm1hY19hZGRycykgew0KCQlQTURfSU5JVF9MT0coRVJSLA0KCQkJIkZhaWxl ZCB0byBhbGxvY2F0ZWQgbWVtb3J5IGZvciBzdG9yaW5nIG1hYyBhZGRyZXNzIik7DQoJCWdvdG8g ZXJyX21hY19hbGxvYzsNCgl9DQoJcnRlX2V0aGVyX2FkZHJfY29weSgoc3RydWN0IHJ0ZV9ldGhl cl9hZGRyICopaHctPm1hYy5wZXJtX2FkZHIsDQoJCQkJCSZkZXYtPmRhdGEtPm1hY19hZGRyc1sw XSk7DQoNCgkvKiBQYXNzIHRoZSBpbmZvcm1hdGlvbiB0byB0aGUgcnRlX2V0aF9kZXZfY2xvc2Uo KSB0aGF0IGl0IHNob3VsZCBhbHNvDQoJICogcmVsZWFzZSB0aGUgcHJpdmF0ZSBwb3J0IHJlc291 cmNlcy4NCgkgKi8NCglkZXYtPmRhdGEtPmRldl9mbGFncyB8PSBSVEVfRVRIX0RFVl9DTE9TRV9S RU1PVkU7DQoNCgkvKiBJbml0IGRjYiB0byBzdyBtb2RlIGJ5IGRlZmF1bHQgKi8NCglyZXQgPSBp NDBlX2RjYl9pbml0X2NvbmZpZ3VyZShkZXYsIFRSVUUpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUND RVNTKSB7DQoJCVBNRF9JTklUX0xPRyhJTkZPLCAiRmFpbGVkIHRvIGluaXQgZGNiLiIpOw0KCQlw Zi0+ZmxhZ3MgJj0gfkk0MEVfRkxBR19EQ0I7DQoJfQ0KCS8qIFVwZGF0ZSBIVyBzdHJ1Y3QgYWZ0 ZXIgRENCIGNvbmZpZ3VyYXRpb24gKi8NCglpNDBlX2dldF9jYXAoaHcpOw0KDQoJLyogaW5pdGlh bGl6ZSBwZiBob3N0IGRyaXZlciB0byBzZXR1cCBTUklPViByZXNvdXJjZSBpZiBhcHBsaWNhYmxl ICovDQoJaTQwZV9wZl9ob3N0X2luaXQoZGV2KTsNCg0KCS8qIHJlZ2lzdGVyIGNhbGxiYWNrIGZ1 bmMgdG8gZWFsIGxpYiAqLw0KCXJ0ZV9pbnRyX2NhbGxiYWNrX3JlZ2lzdGVyKGludHJfaGFuZGxl LA0KCQkJCSAgIGk0MGVfZGV2X2ludGVycnVwdF9oYW5kbGVyLCBkZXYpOw0KDQoJLyogY29uZmln dXJlIGFuZCBlbmFibGUgZGV2aWNlIGludGVycnVwdCAqLw0KCWk0MGVfcGZfY29uZmlnX2lycTAo aHcsIFRSVUUpOw0KCWk0MGVfcGZfZW5hYmxlX2lycTAoaHcpOw0KDQoJLyogZW5hYmxlIHVpbyBp bnRyIGFmdGVyIGNhbGxiYWNrIHJlZ2lzdGVyICovDQoJcnRlX2ludHJfZW5hYmxlKGludHJfaGFu ZGxlKTsNCg0KCS8qIEJ5IGRlZmF1bHQgZGlzYWJsZSBmbGV4aWJsZSBwYXlsb2FkIGluIGdsb2Jh bCBjb25maWd1cmF0aW9uICovDQoJaWYgKCFwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIpDQoJCWk0 MGVfZmxleF9wYXlsb2FkX3JlZ19zZXRfZGVmYXVsdChodyk7DQoNCgkvKg0KCSAqIEFkZCBhbiBl dGhlcnR5cGUgZmlsdGVyIHRvIGRyb3AgYWxsIGZsb3cgY29udHJvbCBmcmFtZXMgdHJhbnNtaXR0 ZWQNCgkgKiBmcm9tIFZTSXMuIEJ5IGRvaW5nIHNvLCB3ZSBzdG9wIFZGIGZyb20gc2VuZGluZyBv dXQgUEFVU0Ugb3IgUEZDDQoJICogZnJhbWVzIHRvIHdpcmUuDQoJICovDQoJaTQwZV9hZGRfdHhf Zmxvd19jb250cm9sX2Ryb3BfZmlsdGVyKHBmKTsNCg0KCS8qIFNldCB0aGUgbWF4IGZyYW1lIHNp emUgdG8gMHgyNjAwIGJ5IGRlZmF1bHQsDQoJICogaW4gY2FzZSBvdGhlciBkcml2ZXJzIGNoYW5n ZWQgdGhlIGRlZmF1bHQgdmFsdWUuDQoJICovDQoJaTQwZV9hcV9zZXRfbWFjX2NvbmZpZyhodywg STQwRV9GUkFNRV9TSVpFX01BWCwgVFJVRSwgZmFsc2UsIDAsIE5VTEwpOw0KDQoJLyogaW5pdGlh bGl6ZSBtaXJyb3IgcnVsZSBsaXN0ICovDQoJVEFJTFFfSU5JVCgmcGYtPm1pcnJvcl9saXN0KTsN Cg0KCS8qIGluaXRpYWxpemUgUlNTIHJ1bGUgbGlzdCAqLw0KCVRBSUxRX0lOSVQoJnBmLT5yc3Nf Y29uZmlnX2xpc3QpOw0KDQoJLyogaW5pdGlhbGl6ZSBUcmFmZmljIE1hbmFnZXIgY29uZmlndXJh dGlvbiAqLw0KCWk0MGVfdG1fY29uZl9pbml0KGRldik7DQoNCgkvKiBJbml0aWFsaXplIGN1c3Rv bWl6ZWQgaW5mb3JtYXRpb24gKi8NCglpNDBlX2luaXRfY3VzdG9taXplZF9pbmZvKHBmKTsNCg0K CXJldCA9IGk0MGVfaW5pdF9ldGh0eXBlX2ZpbHRlcl9saXN0KGRldik7DQoJaWYgKHJldCA8IDAp DQoJCWdvdG8gZXJyX2luaXRfZXRodHlwZV9maWx0ZXJfbGlzdDsNCglyZXQgPSBpNDBlX2luaXRf dHVubmVsX2ZpbHRlcl9saXN0KGRldik7DQoJaWYgKHJldCA8IDApDQoJCWdvdG8gZXJyX2luaXRf dHVubmVsX2ZpbHRlcl9saXN0Ow0KCXJldCA9IGk0MGVfaW5pdF9mZGlyX2ZpbHRlcl9saXN0KGRl dik7DQoJaWYgKHJldCA8IDApDQoJCWdvdG8gZXJyX2luaXRfZmRpcl9maWx0ZXJfbGlzdDsNCg0K CS8qIGluaXRpYWxpemUgcXVldWUgcmVnaW9uIGNvbmZpZ3VyYXRpb24gKi8NCglpNDBlX2luaXRf cXVldWVfcmVnaW9uX2NvbmYoZGV2KTsNCg0KCS8qIGluaXRpYWxpemUgUlNTIGNvbmZpZ3VyYXRp b24gZnJvbSBydGVfZmxvdyAqLw0KCW1lbXNldCgmcGYtPnJzc19pbmZvLCAwLA0KCQlzaXplb2Yo c3RydWN0IGk0MGVfcnRlX2Zsb3dfcnNzX2NvbmYpKTsNCg0KCS8qIHJlc2V0IGFsbCBzdGF0cyBv ZiB0aGUgZGV2aWNlLCBpbmNsdWRpbmcgcGYgYW5kIG1haW4gdnNpICovDQoJaTQwZV9kZXZfc3Rh dHNfcmVzZXQoZGV2KTsNCg0KCXJldHVybiAwOw0KDQplcnJfaW5pdF9mZGlyX2ZpbHRlcl9saXN0 Og0KCXJ0ZV9mcmVlKHBmLT50dW5uZWwuaGFzaF90YWJsZSk7DQoJcnRlX2ZyZWUocGYtPnR1bm5l bC5oYXNoX21hcCk7DQplcnJfaW5pdF90dW5uZWxfZmlsdGVyX2xpc3Q6DQoJcnRlX2ZyZWUocGYt PmV0aGVydHlwZS5oYXNoX3RhYmxlKTsNCglydGVfZnJlZShwZi0+ZXRoZXJ0eXBlLmhhc2hfbWFw KTsNCmVycl9pbml0X2V0aHR5cGVfZmlsdGVyX2xpc3Q6DQoJcnRlX2ZyZWUoZGV2LT5kYXRhLT5t YWNfYWRkcnMpOw0KCWRldi0+ZGF0YS0+bWFjX2FkZHJzID0gTlVMTDsNCmVycl9tYWNfYWxsb2M6 DQoJaTQwZV92c2lfcmVsZWFzZShwZi0+bWFpbl92c2kpOw0KZXJyX3NldHVwX3BmX3N3aXRjaDoN CmVycl9nZXRfbWFjX2FkZHI6DQplcnJfY29uZmlndXJlX2xhbl9obWM6DQoJKHZvaWQpaTQwZV9z aHV0ZG93bl9sYW5faG1jKGh3KTsNCmVycl9pbml0X2xhbl9obWM6DQoJaTQwZV9yZXNfcG9vbF9k ZXN0cm95KCZwZi0+bXNpeF9wb29sKTsNCmVycl9tc2l4X3Bvb2xfaW5pdDoNCglpNDBlX3Jlc19w b29sX2Rlc3Ryb3koJnBmLT5xcF9wb29sKTsNCmVycl9xcF9wb29sX2luaXQ6DQplcnJfcGFyYW1l dGVyX2luaXQ6DQplcnJfZ2V0X2NhcGFiaWxpdGllczoNCgkodm9pZClpNDBlX3NodXRkb3duX2Fk bWlucShodyk7DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9ybV9ldGh0 eXBlX2ZpbHRlcl9saXN0KHN0cnVjdCBpNDBlX3BmICpwZikNCnsNCglzdHJ1Y3QgaTQwZV9ldGhl cnR5cGVfZmlsdGVyICpwX2V0aGVydHlwZTsNCglzdHJ1Y3QgaTQwZV9ldGhlcnR5cGVfcnVsZSAq ZXRoZXJ0eXBlX3J1bGU7DQoNCglldGhlcnR5cGVfcnVsZSA9ICZwZi0+ZXRoZXJ0eXBlOw0KCS8q IFJlbW92ZSBhbGwgZXRoZXJ0eXBlIGZpbHRlciBydWxlcyBhbmQgaGFzaCAqLw0KCWlmIChldGhl cnR5cGVfcnVsZS0+aGFzaF9tYXApDQoJCXJ0ZV9mcmVlKGV0aGVydHlwZV9ydWxlLT5oYXNoX21h cCk7DQoJaWYgKGV0aGVydHlwZV9ydWxlLT5oYXNoX3RhYmxlKQ0KCQlydGVfaGFzaF9mcmVlKGV0 aGVydHlwZV9ydWxlLT5oYXNoX3RhYmxlKTsNCg0KCXdoaWxlICgocF9ldGhlcnR5cGUgPSBUQUlM UV9GSVJTVCgmZXRoZXJ0eXBlX3J1bGUtPmV0aGVydHlwZV9saXN0KSkpIHsNCgkJVEFJTFFfUkVN T1ZFKCZldGhlcnR5cGVfcnVsZS0+ZXRoZXJ0eXBlX2xpc3QsDQoJCQkgICAgIHBfZXRoZXJ0eXBl LCBydWxlcyk7DQoJCXJ0ZV9mcmVlKHBfZXRoZXJ0eXBlKTsNCgl9DQp9DQoNCnN0YXRpYyB2b2lk DQppNDBlX3JtX3R1bm5lbF9maWx0ZXJfbGlzdChzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3Ry dWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqcF90dW5uZWw7DQoJc3RydWN0IGk0MGVfdHVubmVsX3J1 bGUgKnR1bm5lbF9ydWxlOw0KDQoJdHVubmVsX3J1bGUgPSAmcGYtPnR1bm5lbDsNCgkvKiBSZW1v dmUgYWxsIHR1bm5lbCBkaXJlY3RvciBydWxlcyBhbmQgaGFzaCAqLw0KCWlmICh0dW5uZWxfcnVs ZS0+aGFzaF9tYXApDQoJCXJ0ZV9mcmVlKHR1bm5lbF9ydWxlLT5oYXNoX21hcCk7DQoJaWYgKHR1 bm5lbF9ydWxlLT5oYXNoX3RhYmxlKQ0KCQlydGVfaGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNo X3RhYmxlKTsNCg0KCXdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUt PnR1bm5lbF9saXN0KSkpIHsNCgkJVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xp c3QsIHBfdHVubmVsLCBydWxlcyk7DQoJCXJ0ZV9mcmVlKHBfdHVubmVsKTsNCgl9DQp9DQoNCnN0 YXRpYyB2b2lkDQppNDBlX3JtX2ZkaXJfZmlsdGVyX2xpc3Qoc3RydWN0IGk0MGVfcGYgKnBmKQ0K ew0KCXN0cnVjdCBpNDBlX2ZkaXJfZmlsdGVyICpwX2ZkaXI7DQoJc3RydWN0IGk0MGVfZmRpcl9p bmZvICpmZGlyX2luZm87DQoNCglmZGlyX2luZm8gPSAmcGYtPmZkaXI7DQoJLyogUmVtb3ZlIGFs bCBmbG93IGRpcmVjdG9yIHJ1bGVzIGFuZCBoYXNoICovDQoJaWYgKGZkaXJfaW5mby0+aGFzaF9t YXApDQoJCXJ0ZV9mcmVlKGZkaXJfaW5mby0+aGFzaF9tYXApOw0KCWlmIChmZGlyX2luZm8tPmhh c2hfdGFibGUpDQoJCXJ0ZV9oYXNoX2ZyZWUoZmRpcl9pbmZvLT5oYXNoX3RhYmxlKTsNCg0KCXdo aWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsNCgkJ VEFJTFFfUkVNT1ZFKCZmZGlyX2luZm8tPmZkaXJfbGlzdCwgcF9mZGlyLCBydWxlcyk7DQoJCXJ0 ZV9mcmVlKHBfZmRpcik7DQoJfQ0KfQ0KDQp2b2lkIGk0MGVfZmxleF9wYXlsb2FkX3JlZ19zZXRf ZGVmYXVsdChzdHJ1Y3QgaTQwZV9odyAqaHcpDQp7DQoJLyoNCgkgKiBEaXNhYmxlIGJ5IGRlZmF1 bHQgZmxleGlibGUgcGF5bG9hZA0KCSAqIGZvciBjb3JyZXNwb25kaW5nIEwyL0wzL0w0IGxheWVy cy4NCgkgKi8NCglJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xRRl9PUlQoMzMpLCAweDAw MDAwMDAwKTsNCglJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xRRl9PUlQoMzQpLCAweDAw MDAwMDAwKTsNCglJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xRRl9PUlQoMzUpLCAweDAw MDAwMDAwKTsNCn0NCg0Kc3RhdGljIGludA0KZXRoX2k0MGVfZGV2X3VuaW5pdChzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHc7DQoNCglQTURfSU5JVF9GVU5D X1RSQUNFKCk7DQoNCglpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19QUklN QVJZKQ0KCQlyZXR1cm4gMDsNCg0KCWh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRh dGEtPmRldl9wcml2YXRlKTsNCg0KCWlmIChody0+YWRhcHRlcl9jbG9zZWQgPT0gMCkNCgkJaTQw ZV9kZXZfY2xvc2UoZGV2KTsNCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Rl dl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0IGk0MGVfYWRh cHRlciAqYWQgPQ0KCQlJNDBFX0RFVl9QUklWQVRFX1RPX0FEQVBURVIoZGV2LT5kYXRhLT5kZXZf cHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihk ZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9Q UklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCWVudW0gcnRlX2V0aF9yeF9t cV9tb2RlIG1xX21vZGUgPSBkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tcV9tb2RlOw0KCWlu dCBpLCByZXQ7DQoNCglyZXQgPSBpNDBlX2Rldl9zeW5jX3BoeV90eXBlKGh3KTsNCglpZiAocmV0 KQ0KCQlyZXR1cm4gcmV0Ow0KDQoJLyogSW5pdGlhbGl6ZSB0byBUUlVFLiBJZiBhbnkgb2YgUngg cXVldWVzIGRvZXNuJ3QgbWVldCB0aGUNCgkgKiBidWxrIGFsbG9jYXRpb24gb3IgdmVjdG9yIFJ4 IHByZWNvbmRpdGlvbnMgd2Ugd2lsbCByZXNldCBpdC4NCgkgKi8NCglhZC0+cnhfYnVsa19hbGxv Y19hbGxvd2VkID0gdHJ1ZTsNCglhZC0+cnhfdmVjX2FsbG93ZWQgPSB0cnVlOw0KCWFkLT50eF9z aW1wbGVfYWxsb3dlZCA9IHRydWU7DQoJYWQtPnR4X3ZlY19hbGxvd2VkID0gdHJ1ZTsNCg0KCWlm IChkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tcV9tb2RlICYgRVRIX01RX1JYX1JTU19GTEFH KQ0KCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyB8PSBERVZfUlhfT0ZGTE9B RF9SU1NfSEFTSDsNCg0KCS8qIE9ubHkgbGVnYWN5IGZpbHRlciBBUEkgbmVlZHMgdGhlIGZvbGxv d2luZyBmZGlyIGNvbmZpZy4gU28gd2hlbiB0aGUNCgkgKiBsZWdhY3kgZmlsdGVyIEFQSSBpcyBk ZXByZWNhdGVkLCB0aGUgZm9sbG93aW5nIGNvZGVzIHNob3VsZCBhbHNvIGJlDQoJICogcmVtb3Zl ZC4NCgkgKi8NCglpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5mZGlyX2NvbmYubW9kZSA9PSBSVEVf RkRJUl9NT0RFX1BFUkZFQ1QpIHsNCgkJcmV0ID0gaTQwZV9mZGlyX3NldHVwKHBmKTsNCgkJaWYg KHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBz ZXR1cCBmbG93IGRpcmVjdG9yLiIpOw0KCQkJcmV0dXJuIC1FTk9UU1VQOw0KCQl9DQoJCXJldCA9 IGk0MGVfZmRpcl9jb25maWd1cmUoZGV2KTsNCgkJaWYgKHJldCA8IDApIHsNCgkJCVBNRF9EUlZf TE9HKEVSUiwgImZhaWxlZCB0byBjb25maWd1cmUgZmRpci4iKTsNCgkJCWdvdG8gZXJyOw0KCQl9 DQoJfSBlbHNlDQoJCWk0MGVfZmRpcl90ZWFyZG93bihwZik7DQoNCglyZXQgPSBpNDBlX2Rldl9p bml0X3ZsYW4oZGV2KTsNCglpZiAocmV0IDwgMCkNCgkJZ290byBlcnI7DQoNCgkvKiBWTURRIHNl dHVwLg0KCSAqICBOZWVkcyB0byBtb3ZlIFZNRFEgc2V0dGluZyBvdXQgb2YgaTQwZV9wZl9jb25m aWdfbXFfcngoKSBhcyBWTURRIGFuZA0KCSAqICBSU1Mgc2V0dGluZyBoYXZlIGRpZmZlcmVudCBy ZXF1aXJlbWVudHMuDQoJICogIEdlbmVyYWwgUE1EIGRyaXZlciBjYWxsIHNlcXVlbmNlIGFyZSBO SUMgaW5pdCwgY29uZmlndXJlLA0KCSAqICByeC90eF9xdWV1ZV9zZXR1cCBhbmQgZGV2X3N0YXJ0 LiBJbiByeC90eF9xdWV1ZV9zZXR1cCgpIGZ1bmN0aW9uLCBpdA0KCSAqICB3aWxsIHRyeSB0byBs b29rdXAgdGhlIFZTSSB0aGF0IHNwZWNpZmljIHF1ZXVlIGJlbG9uZ3MgdG8gaWYgVk1EUQ0KCSAq ICBhcHBsaWNhYmxlLiBTbywgVk1EUSBzZXR0aW5nIGhhcyB0byBiZSBkb25lIGJlZm9yZQ0KCSAq ICByeC90eF9xdWV1ZV9zZXR1cCgpLiBUaGlzIGZ1bmN0aW9uIGlzIGdvb2QgIHRvIHBsYWNlIHZt ZHFfc2V0dXAuDQoJICogIEZvciBSU1Mgc2V0dGluZywgaXQgd2lsbCB0cnkgdG8gY2FsY3VsYXRl IGFjdHVhbCBjb25maWd1cmVkIFJYIHF1ZXVlDQoJICogIG51bWJlciwgd2hpY2ggd2lsbCBiZSBh dmFpbGFibGUgYWZ0ZXIgcnhfcXVldWVfc2V0dXAoKS4gZGV2X3N0YXJ0KCkNCgkgKiAgZnVuY3Rp b24gaXMgZ29vZCB0byBwbGFjZSBSU1Mgc2V0dXAuDQoJICovDQoJaWYgKG1xX21vZGUgJiBFVEhf TVFfUlhfVk1EUV9GTEFHKSB7DQoJCXJldCA9IGk0MGVfdm1kcV9zZXR1cChkZXYpOw0KCQlpZiAo cmV0KQ0KCQkJZ290byBlcnI7DQoJfQ0KDQoJaWYgKG1xX21vZGUgJiBFVEhfTVFfUlhfRENCX0ZM QUcpIHsNCgkJcmV0ID0gaTQwZV9kY2Jfc2V0dXAoZGV2KTsNCgkJaWYgKHJldCkgew0KCQkJUE1E X0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIGNvbmZpZ3VyZSBEQ0IuIik7DQoJCQlnb3RvIGVycl9k Y2I7DQoJCX0NCgl9DQoNCglUQUlMUV9JTklUKCZwZi0+Zmxvd19saXN0KTsNCg0KCXJldHVybiAw Ow0KDQplcnJfZGNiOg0KCS8qIG5lZWQgdG8gcmVsZWFzZSB2bWRxIHJlc291cmNlIGlmIGV4aXN0 cyAqLw0KCWZvciAoaSA9IDA7IGkgPCBwZi0+bmJfY2ZnX3ZtZHFfdnNpOyBpKyspIHsNCgkJaTQw ZV92c2lfcmVsZWFzZShwZi0+dm1kcVtpXS52c2kpOw0KCQlwZi0+dm1kcVtpXS52c2kgPSBOVUxM Ow0KCX0NCglydGVfZnJlZShwZi0+dm1kcSk7DQoJcGYtPnZtZHEgPSBOVUxMOw0KZXJyOg0KCS8q IE5lZWQgdG8gcmVsZWFzZSBmZGlyIHJlc291cmNlIGlmIGV4aXN0cy4NCgkgKiBPbmx5IGxlZ2Fj eSBmaWx0ZXIgQVBJIG5lZWRzIHRoZSBmb2xsb3dpbmcgZmRpciBjb25maWcuIFNvIHdoZW4gdGhl DQoJICogbGVnYWN5IGZpbHRlciBBUEkgaXMgZGVwcmVjYXRlZCwgdGhlIGZvbGxvd2luZyBjb2Rl IHNob3VsZCBhbHNvIGJlDQoJICogcmVtb3ZlZC4NCgkgKi8NCglpNDBlX2ZkaXJfdGVhcmRvd24o cGYpOw0KCXJldHVybiByZXQ7DQp9DQoNCnZvaWQNCmk0MGVfdnNpX3F1ZXVlc191bmJpbmRfaW50 cihzdHJ1Y3QgaTQwZV92c2kgKnZzaSkNCnsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9IHZz aS0+YWRhcHRlci0+ZXRoX2RldjsNCglzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPSBS VEVfRVRIX0RFVl9UT19QQ0koZGV2KTsNCglzdHJ1Y3QgcnRlX2ludHJfaGFuZGxlICppbnRyX2hh bmRsZSA9ICZwY2lfZGV2LT5pbnRyX2hhbmRsZTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBF X1ZTSV9UT19IVyh2c2kpOw0KCXVpbnQxNl90IG1zaXhfdmVjdCA9IHZzaS0+bXNpeF9pbnRyOw0K CXVpbnQxNl90IGk7DQoNCglmb3IgKGkgPSAwOyBpIDwgdnNpLT5uYl9xcHM7IGkrKykgew0KCQlJ NDBFX1dSSVRFX1JFRyhodywgSTQwRV9RSU5UX1RRQ1RMKHZzaS0+YmFzZV9xdWV1ZSArIGkpLCAw KTsNCgkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUUlOVF9SUUNUTCh2c2ktPmJhc2VfcXVldWUg KyBpKSwgMCk7DQoJCXJ0ZV93bWIoKTsNCgl9DQoNCglpZiAodnNpLT50eXBlICE9IEk0MEVfVlNJ X1NSSU9WKSB7DQoJCWlmICghcnRlX2ludHJfYWxsb3dfb3RoZXJzKGludHJfaGFuZGxlKSkgew0K CQkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZJTlRfTE5LTFNUMCwNCgkJCQkgICAgICAgSTQw RV9QRklOVF9MTktMU1QwX0ZJUlNUUV9JTkRYX01BU0spOw0KCQkJSTQwRV9XUklURV9SRUcoaHcs DQoJCQkJICAgICAgIEk0MEVfUEZJTlRfSVRSMChJNDBFX0lUUl9JTkRFWF9ERUZBVUxUKSwNCgkJ CQkgICAgICAgMCk7DQoJCX0gZWxzZSB7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRklO VF9MTktMU1ROKG1zaXhfdmVjdCAtIDEpLA0KCQkJCSAgICAgICBJNDBFX1BGSU5UX0xOS0xTVE5f RklSU1RRX0lORFhfTUFTSyk7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywNCgkJCQkgICAgICAgSTQw RV9QRklOVF9JVFJOKEk0MEVfSVRSX0lOREVYX0RFRkFVTFQsDQoJCQkJCQkgICAgICAgbXNpeF92 ZWN0IC0gMSksIDApOw0KCQl9DQoJfSBlbHNlIHsNCgkJdWludDMyX3QgcmVnOw0KCQlyZWcgPSAo aHctPmZ1bmNfY2Fwcy5udW1fbXNpeF92ZWN0b3JzX3ZmIC0gMSkgKg0KCQkJdnNpLT51c2VyX3Bh cmFtICsgKG1zaXhfdmVjdCAtIDEpOw0KDQoJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1ZQSU5U X0xOS0xTVE4ocmVnKSwNCgkJCSAgICAgICBJNDBFX1ZQSU5UX0xOS0xTVE5fRklSU1RRX0lORFhf TUFTSyk7DQoJfQ0KCUk0MEVfV1JJVEVfRkxVU0goaHcpOw0KfQ0KDQpzdGF0aWMgdm9pZA0KX192 c2lfcXVldWVzX2JpbmRfaW50cihzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWludDE2X3QgbXNpeF92 ZWN0LA0KCQkgICAgICAgaW50IGJhc2VfcXVldWUsIGludCBuYl9xdWV1ZSwNCgkJICAgICAgIHVp bnQxNl90IGl0cl9pZHgpDQp7DQoJaW50IGk7DQoJdWludDMyX3QgdmFsOw0KCXN0cnVjdCBpNDBl X2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQw RV9WU0lfVE9fUEYodnNpKTsNCg0KCS8qIEJpbmQgYWxsIFJYIHF1ZXVlcyB0byBhbGxvY2F0ZWQg TVNJWCBpbnRlcnJ1cHQgKi8NCglmb3IgKGkgPSAwOyBpIDwgbmJfcXVldWU7IGkrKykgew0KCQl2 YWwgPSAobXNpeF92ZWN0IDw8IEk0MEVfUUlOVF9SUUNUTF9NU0lYX0lORFhfU0hJRlQpIHwNCgkJ CWl0cl9pZHggPDwgSTQwRV9RSU5UX1JRQ1RMX0lUUl9JTkRYX1NISUZUIHwNCgkJCSgoYmFzZV9x dWV1ZSArIGkgKyAxKSA8PA0KCQkJIEk0MEVfUUlOVF9SUUNUTF9ORVhUUV9JTkRYX1NISUZUKSB8 DQoJCQkoMCA8PCBJNDBFX1FJTlRfUlFDVExfTkVYVFFfVFlQRV9TSElGVCkgfA0KCQkJSTQwRV9R SU5UX1JRQ1RMX0NBVVNFX0VOQV9NQVNLOw0KDQoJCWlmIChpID09IG5iX3F1ZXVlIC0gMSkNCgkJ CXZhbCB8PSBJNDBFX1FJTlRfUlFDVExfTkVYVFFfSU5EWF9NQVNLOw0KCQlJNDBFX1dSSVRFX1JF RyhodywgSTQwRV9RSU5UX1JRQ1RMKGJhc2VfcXVldWUgKyBpKSwgdmFsKTsNCgl9DQoNCgkvKiBX cml0ZSBmaXJzdCBSWCBxdWV1ZSB0byBMaW5rIGxpc3QgcmVnaXN0ZXIgYXMgdGhlIGhlYWQgZWxl bWVudCAqLw0KCWlmICh2c2ktPnR5cGUgIT0gSTQwRV9WU0lfU1JJT1YpIHsNCgkJdWludDE2X3Qg aW50ZXJ2YWwgPQ0KCQkJaTQwZV9jYWxjX2l0cl9pbnRlcnZhbCgxLCBwZi0+c3VwcG9ydF9tdWx0 aV9kcml2ZXIpOw0KDQoJCWlmIChtc2l4X3ZlY3QgPT0gSTQwRV9NSVNDX1ZFQ19JRCkgew0KCQkJ STQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZJTlRfTE5LTFNUMCwNCgkJCQkgICAgICAgKGJhc2Vf cXVldWUgPDwNCgkJCQkJSTQwRV9QRklOVF9MTktMU1QwX0ZJUlNUUV9JTkRYX1NISUZUKSB8DQoJ CQkJICAgICAgICgweDAgPDwNCgkJCQkJSTQwRV9QRklOVF9MTktMU1QwX0ZJUlNUUV9UWVBFX1NI SUZUKSk7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywNCgkJCQkgICAgICAgSTQwRV9QRklOVF9JVFIw KEk0MEVfSVRSX0lOREVYX0RFRkFVTFQpLA0KCQkJCSAgICAgICBpbnRlcnZhbCk7DQoJCX0gZWxz ZSB7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRklOVF9MTktMU1ROKG1zaXhfdmVjdCAt IDEpLA0KCQkJCSAgICAgICAoYmFzZV9xdWV1ZSA8PA0KCQkJCQlJNDBFX1BGSU5UX0xOS0xTVE5f RklSU1RRX0lORFhfU0hJRlQpIHwNCgkJCQkgICAgICAgKDB4MCA8PA0KCQkJCQlJNDBFX1BGSU5U X0xOS0xTVE5fRklSU1RRX1RZUEVfU0hJRlQpKTsNCgkJCUk0MEVfV1JJVEVfUkVHKGh3LA0KCQkJ CSAgICAgICBJNDBFX1BGSU5UX0lUUk4oSTQwRV9JVFJfSU5ERVhfREVGQVVMVCwNCgkJCQkJCSAg ICAgICBtc2l4X3ZlY3QgLSAxKSwNCgkJCQkgICAgICAgaW50ZXJ2YWwpOw0KCQl9DQoJfSBlbHNl IHsNCgkJdWludDMyX3QgcmVnOw0KDQoJCWlmIChtc2l4X3ZlY3QgPT0gSTQwRV9NSVNDX1ZFQ19J RCkgew0KCQkJSTQwRV9XUklURV9SRUcoaHcsDQoJCQkJICAgICAgIEk0MEVfVlBJTlRfTE5LTFNU MCh2c2ktPnVzZXJfcGFyYW0pLA0KCQkJCSAgICAgICAoYmFzZV9xdWV1ZSA8PA0KCQkJCQlJNDBF X1ZQSU5UX0xOS0xTVDBfRklSU1RRX0lORFhfU0hJRlQpIHwNCgkJCQkgICAgICAgKDB4MCA8PA0K CQkJCQlJNDBFX1ZQSU5UX0xOS0xTVDBfRklSU1RRX1RZUEVfU0hJRlQpKTsNCgkJfSBlbHNlIHsN CgkJCS8qIG51bV9tc2l4X3ZlY3RvcnNfdmYgbmVlZHMgdG8gbWludXMgaXJxMCAqLw0KCQkJcmVn ID0gKGh3LT5mdW5jX2NhcHMubnVtX21zaXhfdmVjdG9yc192ZiAtIDEpICoNCgkJCQl2c2ktPnVz ZXJfcGFyYW0gKyAobXNpeF92ZWN0IC0gMSk7DQoNCgkJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBF X1ZQSU5UX0xOS0xTVE4ocmVnKSwNCgkJCQkgICAgICAgKGJhc2VfcXVldWUgPDwNCgkJCQkJSTQw RV9WUElOVF9MTktMU1ROX0ZJUlNUUV9JTkRYX1NISUZUKSB8DQoJCQkJICAgICAgICgweDAgPDwN CgkJCQkJSTQwRV9WUElOVF9MTktMU1ROX0ZJUlNUUV9UWVBFX1NISUZUKSk7DQoJCX0NCgl9DQoN CglJNDBFX1dSSVRFX0ZMVVNIKGh3KTsNCn0NCg0Kdm9pZA0KaTQwZV92c2lfcXVldWVzX2JpbmRf aW50cihzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWludDE2X3QgaXRyX2lkeCkNCnsNCglzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiA9IHZzaS0+YWRhcHRlci0+ZXRoX2RldjsNCglzdHJ1Y3QgcnRlX3Bj aV9kZXZpY2UgKnBjaV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZGV2KTsNCglzdHJ1Y3QgcnRl X2ludHJfaGFuZGxlICppbnRyX2hhbmRsZSA9ICZwY2lfZGV2LT5pbnRyX2hhbmRsZTsNCglzdHJ1 Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KCXVpbnQxNl90IG1zaXhfdmVj dCA9IHZzaS0+bXNpeF9pbnRyOw0KCXVpbnQxNl90IG5iX21zaXggPSBSVEVfTUlOKHZzaS0+bmJf bXNpeCwgaW50cl9oYW5kbGUtPm5iX2VmZCk7DQoJdWludDE2X3QgcXVldWVfaWR4ID0gMDsNCglp bnQgcmVjb3JkID0gMDsNCglpbnQgaTsNCg0KCWZvciAoaSA9IDA7IGkgPCB2c2ktPm5iX3Fwczsg aSsrKSB7DQoJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1FJTlRfVFFDVEwodnNpLT5iYXNlX3F1 ZXVlICsgaSksIDApOw0KCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9RSU5UX1JRQ1RMKHZzaS0+ YmFzZV9xdWV1ZSArIGkpLCAwKTsNCgl9DQoNCgkvKiBWRiBiaW5kIGludGVycnVwdCAqLw0KCWlm ICh2c2ktPnR5cGUgPT0gSTQwRV9WU0lfU1JJT1YpIHsNCgkJX192c2lfcXVldWVzX2JpbmRfaW50 cih2c2ksIG1zaXhfdmVjdCwNCgkJCQkgICAgICAgdnNpLT5iYXNlX3F1ZXVlLCB2c2ktPm5iX3Fw cywNCgkJCQkgICAgICAgaXRyX2lkeCk7DQoJCXJldHVybjsNCgl9DQoNCgkvKiBQRiAmIFZNRHEg YmluZCBpbnRlcnJ1cHQgKi8NCglpZiAocnRlX2ludHJfZHBfaXNfZW4oaW50cl9oYW5kbGUpKSB7 DQoJCWlmICh2c2ktPnR5cGUgPT0gSTQwRV9WU0lfTUFJTikgew0KCQkJcXVldWVfaWR4ID0gMDsN CgkJCXJlY29yZCA9IDE7DQoJCX0gZWxzZSBpZiAodnNpLT50eXBlID09IEk0MEVfVlNJX1ZNRFEy KSB7DQoJCQlzdHJ1Y3QgaTQwZV92c2kgKm1haW5fdnNpID0NCgkJCQlJNDBFX0RFVl9QUklWQVRF X1RPX01BSU5fVlNJKHZzaS0+YWRhcHRlcik7DQoJCQlxdWV1ZV9pZHggPSB2c2ktPmJhc2VfcXVl dWUgLSBtYWluX3ZzaS0+bmJfcXBzOw0KCQkJcmVjb3JkID0gMTsNCgkJfQ0KCX0NCg0KCWZvciAo aSA9IDA7IGkgPCB2c2ktPm5iX3VzZWRfcXBzOyBpKyspIHsNCgkJaWYgKG5iX21zaXggPD0gMSkg ew0KCQkJaWYgKCFydGVfaW50cl9hbGxvd19vdGhlcnMoaW50cl9oYW5kbGUpKQ0KCQkJCS8qIGFs bG93IHRvIHNoYXJlIE1JU0NfVkVDX0lEICovDQoJCQkJbXNpeF92ZWN0ID0gSTQwRV9NSVNDX1ZF Q19JRDsNCg0KCQkJLyogbm8gZW5vdWdoIG1zaXhfdmVjdCwgbWFwIGFsbCB0byBvbmUgKi8NCgkJ CV9fdnNpX3F1ZXVlc19iaW5kX2ludHIodnNpLCBtc2l4X3ZlY3QsDQoJCQkJCSAgICAgICB2c2kt PmJhc2VfcXVldWUgKyBpLA0KCQkJCQkgICAgICAgdnNpLT5uYl91c2VkX3FwcyAtIGksDQoJCQkJ CSAgICAgICBpdHJfaWR4KTsNCgkJCWZvciAoOyAhIXJlY29yZCAmJiBpIDwgdnNpLT5uYl91c2Vk X3FwczsgaSsrKQ0KCQkJCWludHJfaGFuZGxlLT5pbnRyX3ZlY1txdWV1ZV9pZHggKyBpXSA9DQoJ CQkJCW1zaXhfdmVjdDsNCgkJCWJyZWFrOw0KCQl9DQoJCS8qIDE6MSBxdWV1ZS9tc2l4X3ZlY3Qg bWFwcGluZyAqLw0KCQlfX3ZzaV9xdWV1ZXNfYmluZF9pbnRyKHZzaSwgbXNpeF92ZWN0LA0KCQkJ CSAgICAgICB2c2ktPmJhc2VfcXVldWUgKyBpLCAxLA0KCQkJCSAgICAgICBpdHJfaWR4KTsNCgkJ aWYgKCEhcmVjb3JkKQ0KCQkJaW50cl9oYW5kbGUtPmludHJfdmVjW3F1ZXVlX2lkeCArIGldID0g bXNpeF92ZWN0Ow0KDQoJCW1zaXhfdmVjdCsrOw0KCQluYl9tc2l4LS07DQoJfQ0KfQ0KDQpzdGF0 aWMgdm9pZA0KaTQwZV92c2lfZW5hYmxlX3F1ZXVlc19pbnRyKHN0cnVjdCBpNDBlX3ZzaSAqdnNp KQ0Kew0KCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2ID0gdnNpLT5hZGFwdGVyLT5ldGhfZGV2Ow0K CXN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9IFJURV9FVEhfREVWX1RPX1BDSShkZXYp Ow0KCXN0cnVjdCBydGVfaW50cl9oYW5kbGUgKmludHJfaGFuZGxlID0gJnBjaV9kZXYtPmludHJf aGFuZGxlOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJc3Ry dWN0IGk0MGVfcGYgKnBmID0gSTQwRV9WU0lfVE9fUEYodnNpKTsNCgl1aW50MTZfdCBtc2l4X2lu dHIsIGk7DQoNCglpZiAocnRlX2ludHJfYWxsb3dfb3RoZXJzKGludHJfaGFuZGxlKSAmJiAhcGYt PnN1cHBvcnRfbXVsdGlfZHJpdmVyKQ0KCQlmb3IgKGkgPSAwOyBpIDwgdnNpLT5uYl9tc2l4OyBp KyspIHsNCgkJCW1zaXhfaW50ciA9IHZzaS0+bXNpeF9pbnRyICsgaTsNCgkJCUk0MEVfV1JJVEVf UkVHKGh3LCBJNDBFX1BGSU5UX0RZTl9DVExOKG1zaXhfaW50ciAtIDEpLA0KCQkJCUk0MEVfUEZJ TlRfRFlOX0NUTE5fSU5URU5BX01BU0sgfA0KCQkJCUk0MEVfUEZJTlRfRFlOX0NUTE5fQ0xFQVJQ QkFfTUFTSyB8DQoJCQkJSTQwRV9QRklOVF9EWU5fQ1RMTl9JVFJfSU5EWF9NQVNLKTsNCgkJfQ0K CWVsc2UNCgkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZJTlRfRFlOX0NUTDAsDQoJCQkgICAg ICAgSTQwRV9QRklOVF9EWU5fQ1RMMF9JTlRFTkFfTUFTSyB8DQoJCQkgICAgICAgSTQwRV9QRklO VF9EWU5fQ1RMMF9DTEVBUlBCQV9NQVNLIHwNCgkJCSAgICAgICBJNDBFX1BGSU5UX0RZTl9DVEww X0lUUl9JTkRYX01BU0spOw0KDQoJSTQwRV9XUklURV9GTFVTSChodyk7DQp9DQoNCnN0YXRpYyB2 b2lkDQppNDBlX3ZzaV9kaXNhYmxlX3F1ZXVlc19pbnRyKHN0cnVjdCBpNDBlX3ZzaSAqdnNpKQ0K ew0KCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2ID0gdnNpLT5hZGFwdGVyLT5ldGhfZGV2Ow0KCXN0 cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9IFJURV9FVEhfREVWX1RPX1BDSShkZXYpOw0K CXN0cnVjdCBydGVfaW50cl9oYW5kbGUgKmludHJfaGFuZGxlID0gJnBjaV9kZXYtPmludHJfaGFu ZGxlOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJc3RydWN0 IGk0MGVfcGYgKnBmID0gSTQwRV9WU0lfVE9fUEYodnNpKTsNCgl1aW50MTZfdCBtc2l4X2ludHIs IGk7DQoNCglpZiAocnRlX2ludHJfYWxsb3dfb3RoZXJzKGludHJfaGFuZGxlKSAmJiAhcGYtPnN1 cHBvcnRfbXVsdGlfZHJpdmVyKQ0KCQlmb3IgKGkgPSAwOyBpIDwgdnNpLT5uYl9tc2l4OyBpKysp IHsNCgkJCW1zaXhfaW50ciA9IHZzaS0+bXNpeF9pbnRyICsgaTsNCgkJCUk0MEVfV1JJVEVfUkVH KGh3LCBJNDBFX1BGSU5UX0RZTl9DVExOKG1zaXhfaW50ciAtIDEpLA0KCQkJCSAgICAgICBJNDBF X1BGSU5UX0RZTl9DVExOX0lUUl9JTkRYX01BU0spOw0KCQl9DQoJZWxzZQ0KCQlJNDBFX1dSSVRF X1JFRyhodywgSTQwRV9QRklOVF9EWU5fQ1RMMCwNCgkJCSAgICAgICBJNDBFX1BGSU5UX0RZTl9D VEwwX0lUUl9JTkRYX01BU0spOw0KDQoJSTQwRV9XUklURV9GTFVTSChodyk7DQp9DQoNCnN0YXRp YyBpbmxpbmUgdWludDhfdA0KaTQwZV9wYXJzZV9saW5rX3NwZWVkcyh1aW50MTZfdCBsaW5rX3Nw ZWVkcykNCnsNCgl1aW50OF90IGxpbmtfc3BlZWQgPSBJNDBFX0xJTktfU1BFRURfVU5LTk9XTjsN Cg0KCWlmIChsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzQwRykNCgkJbGlua19zcGVlZCB8 PSBJNDBFX0xJTktfU1BFRURfNDBHQjsNCglpZiAobGlua19zcGVlZHMgJiBFVEhfTElOS19TUEVF RF8yNUcpDQoJCWxpbmtfc3BlZWQgfD0gSTQwRV9MSU5LX1NQRUVEXzI1R0I7DQoJaWYgKGxpbmtf c3BlZWRzICYgRVRIX0xJTktfU1BFRURfMjBHKQ0KCQlsaW5rX3NwZWVkIHw9IEk0MEVfTElOS19T UEVFRF8yMEdCOw0KCWlmIChsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzEwRykNCgkJbGlu a19zcGVlZCB8PSBJNDBFX0xJTktfU1BFRURfMTBHQjsNCglpZiAobGlua19zcGVlZHMgJiBFVEhf TElOS19TUEVFRF8xRykNCgkJbGlua19zcGVlZCB8PSBJNDBFX0xJTktfU1BFRURfMUdCOw0KCWlm IChsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzEwME0pDQoJCWxpbmtfc3BlZWQgfD0gSTQw RV9MSU5LX1NQRUVEXzEwME1COw0KDQoJcmV0dXJuIGxpbmtfc3BlZWQ7DQp9DQoNCnN0YXRpYyBp bnQNCmk0MGVfcGh5X2NvbmZfbGluayhzdHJ1Y3QgaTQwZV9odyAqaHcsDQoJCSAgIHVpbnQ4X3Qg YWJpbGl0aWVzLA0KCQkgICB1aW50OF90IGZvcmNlX3NwZWVkLA0KCQkgICBib29sIGlzX3VwKQ0K ew0KCWVudW0gaTQwZV9zdGF0dXNfY29kZSBzdGF0dXM7DQoJc3RydWN0IGk0MGVfYXFfZ2V0X3Bo eV9hYmlsaXRpZXNfcmVzcCBwaHlfYWI7DQoJc3RydWN0IGk0MGVfYXFfc2V0X3BoeV9jb25maWcg cGh5X2NvbmY7DQoJZW51bSBpNDBlX2FxX3BoeV90eXBlIGNudDsNCgl1aW50OF90IGF2YWlsX3Nw ZWVkOw0KCXVpbnQzMl90IHBoeV90eXBlX21hc2sgPSAwOw0KDQoJY29uc3QgdWludDhfdCBtYXNr ID0gSTQwRV9BUV9QSFlfRkxBR19QQVVTRV9UWCB8DQoJCQlJNDBFX0FRX1BIWV9GTEFHX1BBVVNF X1JYIHwNCgkJCUk0MEVfQVFfUEhZX0ZMQUdfUEFVU0VfUlggfA0KCQkJSTQwRV9BUV9QSFlfRkxB R19MT1dfUE9XRVI7DQoJaW50IHJldCA9IC1FTk9UU1VQOw0KDQoJLyogVG8gZ2V0IHBoeSBjYXBh YmlsaXRpZXMgb2YgYXZhaWxhYmxlIHNwZWVkcy4gKi8NCglzdGF0dXMgPSBpNDBlX2FxX2dldF9w aHlfY2FwYWJpbGl0aWVzKGh3LCBmYWxzZSwgdHJ1ZSwgJnBoeV9hYiwNCgkJCQkJICAgICAgTlVM TCk7DQoJaWYgKHN0YXR1cykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZ2V0IFBI WSBjYXBhYmlsaXRpZXM6ICVkXG4iLA0KCQkJCXN0YXR1cyk7DQoJCXJldHVybiByZXQ7DQoJfQ0K CWF2YWlsX3NwZWVkID0gcGh5X2FiLmxpbmtfc3BlZWQ7DQoNCgkvKiBUbyBnZXQgdGhlIGN1cnJl bnQgcGh5IGNvbmZpZy4gKi8NCglzdGF0dXMgPSBpNDBlX2FxX2dldF9waHlfY2FwYWJpbGl0aWVz KGh3LCBmYWxzZSwgZmFsc2UsICZwaHlfYWIsDQoJCQkJCSAgICAgIE5VTEwpOw0KCWlmIChzdGF0 dXMpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCB0aGUgY3VycmVudCBQSFkg Y29uZmlnOiAlZFxuIiwNCgkJCQlzdGF0dXMpOw0KCQlyZXR1cm4gcmV0Ow0KCX0NCg0KCS8qIElm IGxpbmsgbmVlZHMgdG8gZ28gdXAgYW5kIGl0IGlzIGluIGF1dG9uZWcgbW9kZSB0aGUgc3BlZWQg aXMgT0ssDQoJICogbm8gbmVlZCB0byBzZXQgdXAgYWdhaW4uDQoJICovDQoJaWYgKGlzX3VwICYm IHBoeV9hYi5waHlfdHlwZSAhPSAwICYmDQoJCSAgICAgYWJpbGl0aWVzICYgSTQwRV9BUV9QSFlf QU5fRU5BQkxFRCAmJg0KCQkgICAgIHBoeV9hYi5saW5rX3NwZWVkICE9IDApDQoJCXJldHVybiBJ NDBFX1NVQ0NFU1M7DQoNCgltZW1zZXQoJnBoeV9jb25mLCAwLCBzaXplb2YocGh5X2NvbmYpKTsN Cg0KCS8qIGJpdHMgMC0yIHVzZSB0aGUgdmFsdWVzIGZyb20gZ2V0X3BoeV9hYmlsaXRpZXNfcmVz cCAqLw0KCWFiaWxpdGllcyAmPSB+bWFzazsNCglhYmlsaXRpZXMgfD0gcGh5X2FiLmFiaWxpdGll cyAmIG1hc2s7DQoNCglwaHlfY29uZi5hYmlsaXRpZXMgPSBhYmlsaXRpZXM7DQoNCgkvKiBJZiBs aW5rIG5lZWRzIHRvIGdvIHVwLCBidXQgdGhlIGZvcmNlIHNwZWVkIGlzIG5vdCBzdXBwb3J0ZWQs DQoJICogV2FybiB1c2VycyBhbmQgY29uZmlnIHRoZSBkZWZhdWx0IGF2YWlsYWJsZSBzcGVlZHMu DQoJICovDQoJaWYgKGlzX3VwICYmICEoZm9yY2Vfc3BlZWQgJiBhdmFpbF9zcGVlZCkpIHsNCgkJ UE1EX0RSVl9MT0coV0FSTklORywgIkludmFsaWQgc3BlZWQgc2V0dGluZywgc2V0IHRvIGRlZmF1 bHQhXG4iKTsNCgkJcGh5X2NvbmYubGlua19zcGVlZCA9IGF2YWlsX3NwZWVkOw0KCX0gZWxzZSB7 DQoJCXBoeV9jb25mLmxpbmtfc3BlZWQgPSBpc191cCA/IGZvcmNlX3NwZWVkIDogYXZhaWxfc3Bl ZWQ7DQoJfQ0KDQoJLyogUEhZIHR5cGUgbWFzayBuZWVkcyB0byBpbmNsdWRlIGVhY2ggdHlwZSBl eGNlcHQgUEhZIHR5cGUgZXh0ZW5zaW9uICovDQoJZm9yIChjbnQgPSBJNDBFX1BIWV9UWVBFX1NH TUlJOyBjbnQgPCBJNDBFX1BIWV9UWVBFXzI1R0JBU0VfS1I7IGNudCsrKQ0KCQlwaHlfdHlwZV9t YXNrIHw9IDEgPDwgY250Ow0KDQoJLyogdXNlIGdldF9waHlfYWJpbGl0aWVzX3Jlc3AgdmFsdWUg Zm9yIHRoZSByZXN0ICovDQoJcGh5X2NvbmYucGh5X3R5cGUgPSBpc191cCA/IGNwdV90b19sZTMy KHBoeV90eXBlX21hc2spIDogMDsNCglwaHlfY29uZi5waHlfdHlwZV9leHQgPSBpc191cCA/IChJ NDBFX0FRX1BIWV9UWVBFX0VYVF8yNUdfS1IgfA0KCQlJNDBFX0FRX1BIWV9UWVBFX0VYVF8yNUdf Q1IgfCBJNDBFX0FRX1BIWV9UWVBFX0VYVF8yNUdfU1IgfA0KCQlJNDBFX0FRX1BIWV9UWVBFX0VY VF8yNUdfTFIpIDogMDsNCglwaHlfY29uZi5mZWNfY29uZmlnID0gcGh5X2FiLmZlY19jZmdfY3Vy cl9tb2RfZXh0X2luZm87DQoJcGh5X2NvbmYuZWVlX2NhcGFiaWxpdHkgPSBwaHlfYWIuZWVlX2Nh cGFiaWxpdHk7DQoJcGh5X2NvbmYuZWVlciA9IHBoeV9hYi5lZWVyX3ZhbDsNCglwaHlfY29uZi5s b3dfcG93ZXJfY3RybCA9IHBoeV9hYi5kM19scGFuOw0KDQoJUE1EX0RSVl9MT0coREVCVUcsICJc dEN1cnJlbnQ6IGFiaWxpdGllcyAleCwgbGlua19zcGVlZCAleCIsDQoJCSAgICBwaHlfYWIuYWJp bGl0aWVzLCBwaHlfYWIubGlua19zcGVlZCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJcdENvbmZp ZzogIGFiaWxpdGllcyAleCwgbGlua19zcGVlZCAleCIsDQoJCSAgICBwaHlfY29uZi5hYmlsaXRp ZXMsIHBoeV9jb25mLmxpbmtfc3BlZWQpOw0KDQoJc3RhdHVzID0gaTQwZV9hcV9zZXRfcGh5X2Nv bmZpZyhodywgJnBoeV9jb25mLCBOVUxMKTsNCglpZiAoc3RhdHVzKQ0KCQlyZXR1cm4gcmV0Ow0K DQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9hcHBseV9saW5r X3NwZWVkKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXVpbnQ4X3Qgc3BlZWQ7DQoJdWlu dDhfdCBhYmlsaXRpZXMgPSAwOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZB VEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IHJ0ZV9ldGhfY29uZiAq Y29uZiA9ICZkZXYtPmRhdGEtPmRldl9jb25mOw0KDQoJYWJpbGl0aWVzIHw9IEk0MEVfQVFfUEhZ X0VOQUJMRV9BVE9NSUNfTElOSyB8DQoJCSAgICAgSTQwRV9BUV9QSFlfTElOS19FTkFCTEVEOw0K DQoJaWYgKGNvbmYtPmxpbmtfc3BlZWRzID09IEVUSF9MSU5LX1NQRUVEX0FVVE9ORUcpIHsNCgkJ Y29uZi0+bGlua19zcGVlZHMgPSBFVEhfTElOS19TUEVFRF80MEcgfA0KCQkJCSAgICBFVEhfTElO S19TUEVFRF8yNUcgfA0KCQkJCSAgICBFVEhfTElOS19TUEVFRF8yMEcgfA0KCQkJCSAgICBFVEhf TElOS19TUEVFRF8xMEcgfA0KCQkJCSAgICBFVEhfTElOS19TUEVFRF8xRyB8DQoJCQkJICAgIEVU SF9MSU5LX1NQRUVEXzEwME07DQoNCgkJYWJpbGl0aWVzIHw9IEk0MEVfQVFfUEhZX0FOX0VOQUJM RUQ7DQoJfSBlbHNlIHsNCgkJYWJpbGl0aWVzICY9IH5JNDBFX0FRX1BIWV9BTl9FTkFCTEVEOw0K CX0NCglzcGVlZCA9IGk0MGVfcGFyc2VfbGlua19zcGVlZHMoY29uZi0+bGlua19zcGVlZHMpOw0K DQoJcmV0dXJuIGk0MGVfcGh5X2NvbmZfbGluayhodywgYWJpbGl0aWVzLCBzcGVlZCwgdHJ1ZSk7 DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfZGV2X3N0YXJ0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 KQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFU RV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV92c2kgKm1haW5f dnNpID0gcGYtPm1haW5fdnNpOw0KCWludCByZXQsIGk7DQoJc3RydWN0IHJ0ZV9wY2lfZGV2aWNl ICpwY2lfZGV2ID0gUlRFX0VUSF9ERVZfVE9fUENJKGRldik7DQoJc3RydWN0IHJ0ZV9pbnRyX2hh bmRsZSAqaW50cl9oYW5kbGUgPSAmcGNpX2Rldi0+aW50cl9oYW5kbGU7DQoJdWludDMyX3QgaW50 cl92ZWN0b3IgPSAwOw0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpOw0KCXVpbnQxNl90IG5iX3J4cSwg bmJfdHhxOw0KDQoJaHctPmFkYXB0ZXJfc3RvcHBlZCA9IDA7DQoNCglydGVfaW50cl9kaXNhYmxl KGludHJfaGFuZGxlKTsNCg0KCWlmICgocnRlX2ludHJfY2FwX211bHRpcGxlKGludHJfaGFuZGxl KSB8fA0KCSAgICAgIVJURV9FVEhfREVWX1NSSU9WKGRldikuYWN0aXZlKSAmJg0KCSAgICBkZXYt PmRhdGEtPmRldl9jb25mLmludHJfY29uZi5yeHEgIT0gMCkgew0KCQlpbnRyX3ZlY3RvciA9IGRl di0+ZGF0YS0+bmJfcnhfcXVldWVzOw0KCQlyZXQgPSBydGVfaW50cl9lZmRfZW5hYmxlKGludHJf aGFuZGxlLCBpbnRyX3ZlY3Rvcik7DQoJCWlmIChyZXQpDQoJCQlyZXR1cm4gcmV0Ow0KCX0NCg0K CWlmIChydGVfaW50cl9kcF9pc19lbihpbnRyX2hhbmRsZSkgJiYgIWludHJfaGFuZGxlLT5pbnRy X3ZlYykgew0KCQlpbnRyX2hhbmRsZS0+aW50cl92ZWMgPQ0KCQkJcnRlX3ptYWxsb2MoImludHJf dmVjIiwNCgkJCQkgICAgZGV2LT5kYXRhLT5uYl9yeF9xdWV1ZXMgKiBzaXplb2YoaW50KSwNCgkJ CQkgICAgMCk7DQoJCWlmICghaW50cl9oYW5kbGUtPmludHJfdmVjKSB7DQoJCQlQTURfSU5JVF9M T0coRVJSLA0KCQkJCSJGYWlsZWQgdG8gYWxsb2NhdGUgJWQgcnhfcXVldWVzIGludHJfdmVjIiwN CgkJCQlkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcyk7DQoJCQlyZXR1cm4gLUVOT01FTTsNCgkJfQ0K CX0NCg0KCS8qIEluaXRpYWxpemUgVlNJICovDQoJcmV0ID0gaTQwZV9kZXZfcnh0eF9pbml0KHBm KTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWls ZWQgdG8gaW5pdCByeC90eCBxdWV1ZXMiKTsNCgkJcmV0dXJuIHJldDsNCgl9DQoNCgkvKiBNYXAg cXVldWVzIHdpdGggTVNJWCBpbnRlcnJ1cHQgKi8NCgltYWluX3ZzaS0+bmJfdXNlZF9xcHMgPSBk ZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcyAtDQoJCXBmLT5uYl9jZmdfdm1kcV92c2kgKiBSVEVfTElC UlRFX0k0MEVfUVVFVUVfTlVNX1BFUl9WTTsNCglpNDBlX3ZzaV9xdWV1ZXNfYmluZF9pbnRyKG1h aW5fdnNpLCBJNDBFX0lUUl9JTkRFWF9ERUZBVUxUKTsNCglpNDBlX3ZzaV9lbmFibGVfcXVldWVz X2ludHIobWFpbl92c2kpOw0KDQoJLyogTWFwIFZNRFEgVlNJIHF1ZXVlcyB3aXRoIE1TSVggaW50 ZXJydXB0ICovDQoJZm9yIChpID0gMDsgaSA8IHBmLT5uYl9jZmdfdm1kcV92c2k7IGkrKykgew0K CQlwZi0+dm1kcVtpXS52c2ktPm5iX3VzZWRfcXBzID0gUlRFX0xJQlJURV9JNDBFX1FVRVVFX05V TV9QRVJfVk07DQoJCWk0MGVfdnNpX3F1ZXVlc19iaW5kX2ludHIocGYtPnZtZHFbaV0udnNpLA0K CQkJCQkgIEk0MEVfSVRSX0lOREVYX0RFRkFVTFQpOw0KCQlpNDBlX3ZzaV9lbmFibGVfcXVldWVz X2ludHIocGYtPnZtZHFbaV0udnNpKTsNCgl9DQoNCgkvKiBlbmFibGUgRkRJUiBNU0lYIGludGVy cnVwdCAqLw0KCWlmIChwZi0+ZmRpci5mZGlyX3ZzaSkgew0KCQlpNDBlX3ZzaV9xdWV1ZXNfYmlu ZF9pbnRyKHBmLT5mZGlyLmZkaXJfdnNpLA0KCQkJCQkgIEk0MEVfSVRSX0lOREVYX05PTkUpOw0K CQlpNDBlX3ZzaV9lbmFibGVfcXVldWVzX2ludHIocGYtPmZkaXIuZmRpcl92c2kpOw0KCX0NCg0K CS8qIEVuYWJsZSBhbGwgcXVldWVzIHdoaWNoIGhhdmUgYmVlbiBjb25maWd1cmVkICovDQoJZm9y IChuYl9yeHEgPSAwOyBuYl9yeHEgPCBkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlczsgbmJfcnhxKysp IHsNCgkJcmV0ID0gaTQwZV9kZXZfcnhfcXVldWVfc3RhcnQoZGV2LCBuYl9yeHEpOw0KCQlpZiAo cmV0KQ0KCQkJZ290byByeF9lcnI7DQoJfQ0KDQoJZm9yIChuYl90eHEgPSAwOyBuYl90eHEgPCBk ZXYtPmRhdGEtPm5iX3R4X3F1ZXVlczsgbmJfdHhxKyspIHsNCgkJcmV0ID0gaTQwZV9kZXZfdHhf cXVldWVfc3RhcnQoZGV2LCBuYl90eHEpOw0KCQlpZiAocmV0KQ0KCQkJZ290byB0eF9lcnI7DQoJ fQ0KDQoJLyogRW5hYmxlIHJlY2VpdmluZyBicm9hZGNhc3QgcGFja2V0cyAqLw0KCXJldCA9IGk0 MGVfYXFfc2V0X3ZzaV9icm9hZGNhc3QoaHcsIG1haW5fdnNpLT5zZWlkLCB0cnVlLCBOVUxMKTsN CglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJUE1EX0RSVl9MT0coSU5GTywgImZhaWwgdG8g c2V0IHZzaSBicm9hZGNhc3QiKTsNCg0KCWZvciAoaSA9IDA7IGkgPCBwZi0+bmJfY2ZnX3ZtZHFf dnNpOyBpKyspIHsNCgkJcmV0ID0gaTQwZV9hcV9zZXRfdnNpX2Jyb2FkY2FzdChodywgcGYtPnZt ZHFbaV0udnNpLT5zZWlkLA0KCQkJCQkJdHJ1ZSwgTlVMTCk7DQoJCWlmIChyZXQgIT0gSTQwRV9T VUNDRVNTKQ0KCQkJUE1EX0RSVl9MT0coSU5GTywgImZhaWwgdG8gc2V0IHZzaSBicm9hZGNhc3Qi KTsNCgl9DQoNCgkvKiBFbmFibGUgdGhlIFZMQU4gcHJvbWlzY3VvdXMgbW9kZS4gKi8NCglpZiAo cGYtPnZmcykgew0KCQlmb3IgKGkgPSAwOyBpIDwgcGYtPnZmX251bTsgaSsrKSB7DQoJCQl2c2kg PSBwZi0+dmZzW2ldLnZzaTsNCgkJCWk0MGVfYXFfc2V0X3ZzaV92bGFuX3Byb21pc2MoaHcsIHZz aS0+c2VpZCwNCgkJCQkJCSAgICAgdHJ1ZSwgTlVMTCk7DQoJCX0NCgl9DQoNCgkvKiBFbmFibGUg bWFjIGxvb3BiYWNrIG1vZGUgKi8NCglpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5scGJrX21vZGUg PT0gSTQwRV9BUV9MQl9NT0RFX05PTkUgfHwNCgkgICAgZGV2LT5kYXRhLT5kZXZfY29uZi5scGJr X21vZGUgPT0gSTQwRV9BUV9MQl9QSFlfTE9DQUwpIHsNCgkJcmV0ID0gaTQwZV9hcV9zZXRfbGJf bW9kZXMoaHcsIGRldi0+ZGF0YS0+ZGV2X2NvbmYubHBia19tb2RlLCBOVUxMKTsNCgkJaWYgKHJl dCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgImZhaWwgdG8gc2V0IGxv b3BiYWNrIGxpbmsiKTsNCgkJCWdvdG8gdHhfZXJyOw0KCQl9DQoJfQ0KDQoJLyogQXBwbHkgbGlu ayBjb25maWd1cmUgKi8NCglyZXQgPSBpNDBlX2FwcGx5X2xpbmtfc3BlZWQoZGV2KTsNCglpZiAo STQwRV9TVUNDRVNTICE9IHJldCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsIHRvIGFwcGx5 IGxpbmsgc2V0dGluZyIpOw0KCQlnb3RvIHR4X2VycjsNCgl9DQoNCglpZiAoIXJ0ZV9pbnRyX2Fs bG93X290aGVycyhpbnRyX2hhbmRsZSkpIHsNCgkJcnRlX2ludHJfY2FsbGJhY2tfdW5yZWdpc3Rl cihpbnRyX2hhbmRsZSwNCgkJCQkJICAgICBpNDBlX2Rldl9pbnRlcnJ1cHRfaGFuZGxlciwNCgkJ CQkJICAgICAodm9pZCAqKWRldik7DQoJCS8qIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIGRldmljZSBp bnRlcnJ1cHQgKi8NCgkJaTQwZV9wZl9jb25maWdfaXJxMChodywgRkFMU0UpOw0KCQlpNDBlX3Bm X2VuYWJsZV9pcnEwKGh3KTsNCg0KCQlpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5pbnRyX2NvbmYu bHNjICE9IDApDQoJCQlQTURfSU5JVF9MT0coSU5GTywNCgkJCQkibHNjIHdvbid0IGVuYWJsZSBi ZWNhdXNlIG9mIG5vIGludHIgbXVsdGlwbGV4Iik7DQoJfSBlbHNlIHsNCgkJcmV0ID0gaTQwZV9h cV9zZXRfcGh5X2ludF9tYXNrKGh3LA0KCQkJCQkgICAgICAgfihJNDBFX0FRX0VWRU5UX0xJTktf VVBET1dOIHwNCgkJCQkJICAgICAgIEk0MEVfQVFfRVZFTlRfTU9EVUxFX1FVQUxfRkFJTCB8DQoJ CQkJCSAgICAgICBJNDBFX0FRX0VWRU5UX01FRElBX05BKSwgTlVMTCk7DQoJCWlmIChyZXQgIT0g STQwRV9TVUNDRVNTKQ0KCQkJUE1EX0RSVl9MT0coV0FSTklORywgIkZhaWwgdG8gc2V0IHBoeSBt YXNrIik7DQoNCgkJLyogQ2FsbCBnZXRfbGlua19pbmZvIGFxIGNvbW1vbmQgdG8gZW5hYmxlL2Rp c2FibGUgTFNFICovDQoJCWk0MGVfZGV2X2xpbmtfdXBkYXRlKGRldiwgMCk7DQoJfQ0KDQoJaWYg KGRldi0+ZGF0YS0+ZGV2X2NvbmYuaW50cl9jb25mLnJ4cSA9PSAwKSB7DQoJCXJ0ZV9lYWxfYWxh cm1fc2V0KEk0MEVfQUxBUk1fSU5URVJWQUwsDQoJCQkJICBpNDBlX2Rldl9hbGFybV9oYW5kbGVy LCBkZXYpOw0KCX0gZWxzZSB7DQoJCS8qIGVuYWJsZSB1aW8gaW50ciBhZnRlciBjYWxsYmFjayBy ZWdpc3RlciAqLw0KCQlydGVfaW50cl9lbmFibGUoaW50cl9oYW5kbGUpOw0KCX0NCg0KCWk0MGVf ZmlsdGVyX3Jlc3RvcmUocGYpOw0KDQoJaWYgKHBmLT50bV9jb25mLnJvb3QgJiYgIXBmLT50bV9j b25mLmNvbW1pdHRlZCkNCgkJUE1EX0RSVl9MT0coV0FSTklORywNCgkJCSAgICAicGxlYXNlIGNh bGwgaGllcmFyY2h5X2NvbW1pdCgpICINCgkJCSAgICAiYmVmb3JlIHN0YXJ0aW5nIHRoZSBwb3J0 Iik7DQoNCglyZXR1cm4gSTQwRV9TVUNDRVNTOw0KDQp0eF9lcnI6DQoJZm9yIChpID0gMDsgaSA8 IG5iX3R4cTsgaSsrKQ0KCQlpNDBlX2Rldl90eF9xdWV1ZV9zdG9wKGRldiwgaSk7DQpyeF9lcnI6 DQoJZm9yIChpID0gMDsgaSA8IG5iX3J4cTsgaSsrKQ0KCQlpNDBlX2Rldl9yeF9xdWV1ZV9zdG9w KGRldiwgaSk7DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9kZXZfc3Rv cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBF X0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBl X2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7 DQoJc3RydWN0IGk0MGVfdnNpICptYWluX3ZzaSA9IHBmLT5tYWluX3ZzaTsNCglzdHJ1Y3QgcnRl X3BjaV9kZXZpY2UgKnBjaV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZGV2KTsNCglzdHJ1Y3Qg cnRlX2ludHJfaGFuZGxlICppbnRyX2hhbmRsZSA9ICZwY2lfZGV2LT5pbnRyX2hhbmRsZTsNCglp bnQgaTsNCg0KCWlmIChody0+YWRhcHRlcl9zdG9wcGVkID09IDEpDQoJCXJldHVybjsNCg0KCWlm IChkZXYtPmRhdGEtPmRldl9jb25mLmludHJfY29uZi5yeHEgPT0gMCkgew0KCQlydGVfZWFsX2Fs YXJtX2NhbmNlbChpNDBlX2Rldl9hbGFybV9oYW5kbGVyLCBkZXYpOw0KCQlydGVfaW50cl9lbmFi bGUoaW50cl9oYW5kbGUpOw0KCX0NCg0KCS8qIERpc2FibGUgYWxsIHF1ZXVlcyAqLw0KCWZvciAo aSA9IDA7IGkgPCBkZXYtPmRhdGEtPm5iX3R4X3F1ZXVlczsgaSsrKQ0KCQlpNDBlX2Rldl90eF9x dWV1ZV9zdG9wKGRldiwgaSk7DQoNCglmb3IgKGkgPSAwOyBpIDwgZGV2LT5kYXRhLT5uYl9yeF9x dWV1ZXM7IGkrKykNCgkJaTQwZV9kZXZfcnhfcXVldWVfc3RvcChkZXYsIGkpOw0KDQoJLyogdW4t bWFwIHF1ZXVlcyB3aXRoIGludGVycnVwdCByZWdpc3RlcnMgKi8NCglpNDBlX3ZzaV9kaXNhYmxl X3F1ZXVlc19pbnRyKG1haW5fdnNpKTsNCglpNDBlX3ZzaV9xdWV1ZXNfdW5iaW5kX2ludHIobWFp bl92c2kpOw0KDQoJZm9yIChpID0gMDsgaSA8IHBmLT5uYl9jZmdfdm1kcV92c2k7IGkrKykgew0K CQlpNDBlX3ZzaV9kaXNhYmxlX3F1ZXVlc19pbnRyKHBmLT52bWRxW2ldLnZzaSk7DQoJCWk0MGVf dnNpX3F1ZXVlc191bmJpbmRfaW50cihwZi0+dm1kcVtpXS52c2kpOw0KCX0NCg0KCWlmIChwZi0+ ZmRpci5mZGlyX3ZzaSkgew0KCQlpNDBlX3ZzaV9xdWV1ZXNfdW5iaW5kX2ludHIocGYtPmZkaXIu ZmRpcl92c2kpOw0KCQlpNDBlX3ZzaV9kaXNhYmxlX3F1ZXVlc19pbnRyKHBmLT5mZGlyLmZkaXJf dnNpKTsNCgl9DQoJLyogQ2xlYXIgYWxsIHF1ZXVlcyBhbmQgcmVsZWFzZSBtZW1vcnkgKi8NCglp NDBlX2Rldl9jbGVhcl9xdWV1ZXMoZGV2KTsNCg0KCS8qIFNldCBsaW5rIGRvd24gKi8NCglpNDBl X2Rldl9zZXRfbGlua19kb3duKGRldik7DQoNCglpZiAoIXJ0ZV9pbnRyX2FsbG93X290aGVycyhp bnRyX2hhbmRsZSkpDQoJCS8qIHJlc3VtZSB0byB0aGUgZGVmYXVsdCBoYW5kbGVyICovDQoJCXJ0 ZV9pbnRyX2NhbGxiYWNrX3JlZ2lzdGVyKGludHJfaGFuZGxlLA0KCQkJCQkgICBpNDBlX2Rldl9p bnRlcnJ1cHRfaGFuZGxlciwNCgkJCQkJICAgKHZvaWQgKilkZXYpOw0KDQoJLyogQ2xlYW4gZGF0 YXBhdGggZXZlbnQgYW5kIHF1ZXVlL3ZlYyBtYXBwaW5nICovDQoJcnRlX2ludHJfZWZkX2Rpc2Fi bGUoaW50cl9oYW5kbGUpOw0KCWlmIChpbnRyX2hhbmRsZS0+aW50cl92ZWMpIHsNCgkJcnRlX2Zy ZWUoaW50cl9oYW5kbGUtPmludHJfdmVjKTsNCgkJaW50cl9oYW5kbGUtPmludHJfdmVjID0gTlVM TDsNCgl9DQoNCgkvKiByZXNldCBoaWVyYXJjaHkgY29tbWl0ICovDQoJcGYtPnRtX2NvbmYuY29t bWl0dGVkID0gZmFsc2U7DQoNCglody0+YWRhcHRlcl9zdG9wcGVkID0gMTsNCg0KCXBmLT5hZGFw dGVyLT5yc3NfcmV0YV91cGRhdGVkID0gMDsNCn0NCg0Kc3RhdGljIHZvaWQNCmk0MGVfZGV2X2Ns b3NlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0 MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0 MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRl KTsNCglzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0ko ZGV2KTsNCglzdHJ1Y3QgcnRlX2ludHJfaGFuZGxlICppbnRyX2hhbmRsZSA9ICZwY2lfZGV2LT5p bnRyX2hhbmRsZTsNCglzdHJ1Y3QgaTQwZV9taXJyb3JfcnVsZSAqcF9taXJyb3I7DQoJc3RydWN0 IGk0MGVfZmlsdGVyX2NvbnRyb2xfc2V0dGluZ3Mgc2V0dGluZ3M7DQoJc3RydWN0IHJ0ZV9mbG93 ICpwX2Zsb3c7DQoJdWludDMyX3QgcmVnOw0KCWludCBpOw0KCWludCByZXQ7DQoJdWludDhfdCBh cV9mYWlsID0gMDsNCglpbnQgcmV0cmllcyA9IDA7DQoNCglQTURfSU5JVF9GVU5DX1RSQUNFKCk7 DQoNCglyZXQgPSBydGVfZXRoX3N3aXRjaF9kb21haW5fZnJlZShwZi0+c3dpdGNoX2RvbWFpbl9p ZCk7DQoJaWYgKHJldCkNCgkJUE1EX0lOSVRfTE9HKFdBUk5JTkcsICJmYWlsZWQgdG8gZnJlZSBz d2l0Y2ggZG9tYWluOiAlZCIsIHJldCk7DQoNCg0KCWk0MGVfZGV2X3N0b3AoZGV2KTsNCg0KCS8q IFJlbW92ZSBhbGwgbWlycm9yIHJ1bGVzICovDQoJd2hpbGUgKChwX21pcnJvciA9IFRBSUxRX0ZJ UlNUKCZwZi0+bWlycm9yX2xpc3QpKSkgew0KCQlyZXQgPSBpNDBlX2FxX2RlbF9taXJyb3JfcnVs ZShodywNCgkJCQkJICAgICAgcGYtPm1haW5fdnNpLT52ZWItPnNlaWQsDQoJCQkJCSAgICAgIHBf bWlycm9yLT5ydWxlX3R5cGUsDQoJCQkJCSAgICAgIHBfbWlycm9yLT5lbnRyaWVzLA0KCQkJCQkg ICAgICBwX21pcnJvci0+bnVtX2VudHJpZXMsDQoJCQkJCSAgICAgIHBfbWlycm9yLT5pZCk7DQoJ CWlmIChyZXQgPCAwKQ0KCQkJUE1EX0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIHJlbW92ZSBtaXJy b3IgcnVsZTogIg0KCQkJCSAgICAic3RhdHVzID0gJWQsIGFxX2VyciA9ICVkLiIsIHJldCwNCgkJ CQkgICAgaHctPmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoNCgkJLyogcmVtb3ZlIG1pcnJvciBzb2Z0 d2FyZSByZXNvdXJjZSBhbnl3YXkgKi8NCgkJVEFJTFFfUkVNT1ZFKCZwZi0+bWlycm9yX2xpc3Qs IHBfbWlycm9yLCBydWxlcyk7DQoJCXJ0ZV9mcmVlKHBfbWlycm9yKTsNCgkJcGYtPm5iX21pcnJv cl9ydWxlLS07DQoJfQ0KDQoJaTQwZV9kZXZfZnJlZV9xdWV1ZXMoZGV2KTsNCg0KCS8qIERpc2Fi bGUgaW50ZXJydXB0ICovDQoJaTQwZV9wZl9kaXNhYmxlX2lycTAoaHcpOw0KCXJ0ZV9pbnRyX2Rp c2FibGUoaW50cl9oYW5kbGUpOw0KDQoJLyoNCgkgKiBPbmx5IGxlZ2FjeSBmaWx0ZXIgQVBJIG5l ZWRzIHRoZSBmb2xsb3dpbmcgZmRpciBjb25maWcuIFNvIHdoZW4gdGhlDQoJICogbGVnYWN5IGZp bHRlciBBUEkgaXMgZGVwcmVjYXRlZCwgdGhlIGZvbGxvd2luZyBjb2RlIHNob3VsZCBhbHNvIGJl DQoJICogcmVtb3ZlZC4NCgkgKi8NCglpNDBlX2ZkaXJfdGVhcmRvd24ocGYpOw0KDQoJLyogc2h1 dGRvd24gYW5kIGRlc3Ryb3kgdGhlIEhNQyAqLw0KCWk0MGVfc2h1dGRvd25fbGFuX2htYyhodyk7 DQoNCglmb3IgKGkgPSAwOyBpIDwgcGYtPm5iX2NmZ192bWRxX3ZzaTsgaSsrKSB7DQoJCWk0MGVf dnNpX3JlbGVhc2UocGYtPnZtZHFbaV0udnNpKTsNCgkJcGYtPnZtZHFbaV0udnNpID0gTlVMTDsN Cgl9DQoJcnRlX2ZyZWUocGYtPnZtZHEpOw0KCXBmLT52bWRxID0gTlVMTDsNCg0KCS8qIHJlbGVh c2UgYWxsIHRoZSBleGlzdGluZyBWU0lzIGFuZCBWRUJzICovDQoJaTQwZV92c2lfcmVsZWFzZShw Zi0+bWFpbl92c2kpOw0KDQoJLyogc2h1dGRvd24gdGhlIGFkbWlucSAqLw0KCWk0MGVfYXFfcXVl dWVfc2h1dGRvd24oaHcsIHRydWUpOw0KCWk0MGVfc2h1dGRvd25fYWRtaW5xKGh3KTsNCg0KCWk0 MGVfcmVzX3Bvb2xfZGVzdHJveSgmcGYtPnFwX3Bvb2wpOw0KCWk0MGVfcmVzX3Bvb2xfZGVzdHJv eSgmcGYtPm1zaXhfcG9vbCk7DQoNCgkvKiBEaXNhYmxlIGZsZXhpYmxlIHBheWxvYWQgaW4gZ2xv YmFsIGNvbmZpZ3VyYXRpb24gKi8NCglpZiAoIXBmLT5zdXBwb3J0X211bHRpX2RyaXZlcikNCgkJ aTQwZV9mbGV4X3BheWxvYWRfcmVnX3NldF9kZWZhdWx0KGh3KTsNCg0KCS8qIGZvcmNlIGEgUEYg cmVzZXQgdG8gY2xlYW4gYW55dGhpbmcgbGVmdG92ZXIgKi8NCglyZWcgPSBJNDBFX1JFQURfUkVH KGh3LCBJNDBFX1BGR0VOX0NUUkwpOw0KCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BGR0VOX0NU UkwsDQoJCQkocmVnIHwgSTQwRV9QRkdFTl9DVFJMX1BGU1dSX01BU0spKTsNCglJNDBFX1dSSVRF X0ZMVVNIKGh3KTsNCg0KCWRldi0+ZGV2X29wcyA9IE5VTEw7DQoJZGV2LT5yeF9wa3RfYnVyc3Qg PSBOVUxMOw0KCWRldi0+dHhfcGt0X2J1cnN0ID0gTlVMTDsNCg0KCS8qIENsZWFyIFBYRSBtb2Rl ICovDQoJaTQwZV9jbGVhcl9weGVfbW9kZShodyk7DQoNCgkvKiBVbmNvbmZpZ3VyZSBmaWx0ZXIg Y29udHJvbCAqLw0KCW1lbXNldCgmc2V0dGluZ3MsIDAsIHNpemVvZihzZXR0aW5ncykpOw0KCXJl dCA9IGk0MGVfc2V0X2ZpbHRlcl9jb250cm9sKGh3LCAmc2V0dGluZ3MpOw0KCWlmIChyZXQpDQoJ CVBNRF9JTklUX0xPRyhXQVJOSU5HLCAic2V0dXBfcGZfZmlsdGVyX2NvbnRyb2wgZmFpbGVkOiAl ZCIsDQoJCQkJCXJldCk7DQoNCgkvKiBEaXNhYmxlIGZsb3cgY29udHJvbCAqLw0KCWh3LT5mYy5y ZXF1ZXN0ZWRfbW9kZSA9IEk0MEVfRkNfTk9ORTsNCglpNDBlX3NldF9mYyhodywgJmFxX2ZhaWws IFRSVUUpOw0KDQoJLyogdW5pbml0aWFsaXplIHBmIGhvc3QgZHJpdmVyICovDQoJaTQwZV9wZl9o b3N0X3VuaW5pdChkZXYpOw0KDQoJZG8gew0KCQlyZXQgPSBydGVfaW50cl9jYWxsYmFja191bnJl Z2lzdGVyKGludHJfaGFuZGxlLA0KCQkJCWk0MGVfZGV2X2ludGVycnVwdF9oYW5kbGVyLCBkZXYp Ow0KCQlpZiAocmV0ID49IDAgfHwgcmV0ID09IC1FTk9FTlQpIHsNCgkJCWJyZWFrOw0KCQl9IGVs c2UgaWYgKHJldCAhPSAtRUFHQUlOKSB7DQoJCQlQTURfSU5JVF9MT0coRVJSLA0KCQkJCSAiaW50 ciBjYWxsYmFjayB1bnJlZ2lzdGVyIGZhaWxlZDogJWQiLA0KCQkJCSByZXQpOw0KCQl9DQoJCWk0 MGVfbXNlY19kZWxheSg1MDApOw0KCX0gd2hpbGUgKHJldHJpZXMrKyA8IDUpOw0KDQoJaTQwZV9y bV9ldGh0eXBlX2ZpbHRlcl9saXN0KHBmKTsNCglpNDBlX3JtX3R1bm5lbF9maWx0ZXJfbGlzdChw Zik7DQoJaTQwZV9ybV9mZGlyX2ZpbHRlcl9saXN0KHBmKTsNCg0KCS8qIFJlbW92ZSBhbGwgZmxv d3MgKi8NCgl3aGlsZSAoKHBfZmxvdyA9IFRBSUxRX0ZJUlNUKCZwZi0+Zmxvd19saXN0KSkpIHsN CgkJVEFJTFFfUkVNT1ZFKCZwZi0+Zmxvd19saXN0LCBwX2Zsb3csIG5vZGUpOw0KCQlydGVfZnJl ZShwX2Zsb3cpOw0KCX0NCg0KCS8qIFJlbW92ZSBhbGwgVHJhZmZpYyBNYW5hZ2VyIGNvbmZpZ3Vy YXRpb24gKi8NCglpNDBlX3RtX2NvbmZfdW5pbml0KGRldik7DQoNCglody0+YWRhcHRlcl9jbG9z ZWQgPSAxOw0KfQ0KDQovKg0KICogUmVzZXQgUEYgZGV2aWNlIG9ubHkgdG8gcmUtaW5pdGlhbGl6 ZSByZXNvdXJjZXMgaW4gUE1EIGxheWVyDQogKi8NCnN0YXRpYyBpbnQNCmk0MGVfZGV2X3Jlc2V0 KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCWludCByZXQ7DQoNCgkvKiBXaGVuIGEgRFBE SyBQTUQgUEYgYmVnaW4gdG8gcmVzZXQgUEYgcG9ydCwgaXQgc2hvdWxkIG5vdGlmeSBhbGwNCgkg KiBpdHMgVkYgdG8gbWFrZSB0aGVtIGFsaWduIHdpdGggaXQuIFRoZSBkZXRhaWxlZCBub3RpZmlj YXRpb24NCgkgKiBtZWNoYW5pc20gaXMgUE1EIHNwZWNpZmljLiBBcyB0byBpNDBlIFBGLCBpdCBp cyByYXRoZXIgY29tcGxleC4NCgkgKiBUbyBhdm9pZCB1bmV4cGVjdGVkIGJlaGF2aW9yIGluIFZG LCBjdXJyZW50bHkgcmVzZXQgb2YgUEYgd2l0aA0KCSAqIFNSLUlPViBhY3RpdmF0aW9uIGlzIG5v dCBzdXBwb3J0ZWQuIEl0IG1pZ2h0IGJlIHN1cHBvcnRlZCBsYXRlci4NCgkgKi8NCglpZiAoZGV2 LT5kYXRhLT5zcmlvdi5hY3RpdmUpDQoJCXJldHVybiAtRU5PVFNVUDsNCg0KCXJldCA9IGV0aF9p NDBlX2Rldl91bmluaXQoZGV2KTsNCglpZiAocmV0KQ0KCQlyZXR1cm4gcmV0Ow0KDQoJcmV0ID0g ZXRoX2k0MGVfZGV2X2luaXQoZGV2LCBOVUxMKTsNCg0KCXJldHVybiByZXQ7DQp9DQoNCnN0YXRp YyBpbnQNCmk0MGVfZGV2X3Byb21pc2N1b3VzX2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZB VEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfdnNpICp2c2kg PSBwZi0+bWFpbl92c2k7DQoJaW50IHN0YXR1czsNCg0KCXN0YXR1cyA9IGk0MGVfYXFfc2V0X3Zz aV91bmljYXN0X3Byb21pc2N1b3VzKGh3LCB2c2ktPnNlaWQsDQoJCQkJCQkgICAgIHRydWUsIE5V TEwsIHRydWUpOw0KCWlmIChzdGF0dXMgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9H KEVSUiwgIkZhaWxlZCB0byBlbmFibGUgdW5pY2FzdCBwcm9taXNjdW91cyIpOw0KCQlyZXR1cm4g LUVBR0FJTjsNCgl9DQoNCglzdGF0dXMgPSBpNDBlX2FxX3NldF92c2lfbXVsdGljYXN0X3Byb21p c2N1b3VzKGh3LCB2c2ktPnNlaWQsDQoJCQkJCQkJVFJVRSwgTlVMTCk7DQoJaWYgKHN0YXR1cyAh PSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGVuYWJsZSBt dWx0aWNhc3QgcHJvbWlzY3VvdXMiKTsNCgkJLyogUm9sbGJhY2sgdW5pY2FzdCBwcm9taXNjdW91 cyBtb2RlICovDQoJCWk0MGVfYXFfc2V0X3ZzaV91bmljYXN0X3Byb21pc2N1b3VzKGh3LCB2c2kt PnNlaWQsDQoJCQkJCQkgICAgZmFsc2UsIE5VTEwsIHRydWUpOw0KCQlyZXR1cm4gLUVBR0FJTjsN Cgl9DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfcHJvbWlzY3VvdXNf ZGlzYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYg PSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVj dCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoJc3RydWN0IGk0MGVfdnNpICp2c2kgPSBwZi0+bWFpbl92c2k7DQoJaW50IHN0YXR1 czsNCg0KCXN0YXR1cyA9IGk0MGVfYXFfc2V0X3ZzaV91bmljYXN0X3Byb21pc2N1b3VzKGh3LCB2 c2ktPnNlaWQsDQoJCQkJCQkgICAgIGZhbHNlLCBOVUxMLCB0cnVlKTsNCglpZiAoc3RhdHVzICE9 IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZGlzYWJsZSB1 bmljYXN0IHByb21pc2N1b3VzIik7DQoJCXJldHVybiAtRUFHQUlOOw0KCX0NCg0KCS8qIG11c3Qg cmVtYWluIGluIGFsbF9tdWx0aWNhc3QgbW9kZSAqLw0KCWlmIChkZXYtPmRhdGEtPmFsbF9tdWx0 aWNhc3QgPT0gMSkNCgkJcmV0dXJuIDA7DQoNCglzdGF0dXMgPSBpNDBlX2FxX3NldF92c2lfbXVs dGljYXN0X3Byb21pc2N1b3VzKGh3LCB2c2ktPnNlaWQsDQoJCQkJCQkJZmFsc2UsIE5VTEwpOw0K CWlmIChzdGF0dXMgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxl ZCB0byBkaXNhYmxlIG11bHRpY2FzdCBwcm9taXNjdW91cyIpOw0KCQkvKiBSb2xsYmFjayB1bmlj YXN0IHByb21pc2N1b3VzIG1vZGUgKi8NCgkJaTQwZV9hcV9zZXRfdnNpX3VuaWNhc3RfcHJvbWlz Y3VvdXMoaHcsIHZzaS0+c2VpZCwNCgkJCQkJCSAgICB0cnVlLCBOVUxMLCB0cnVlKTsNCgkJcmV0 dXJuIC1FQUdBSU47DQoJfQ0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfZGV2 X2FsbG11bHRpY2FzdF9lbmFibGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0 IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2 YXRlKTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpID0gcGYtPm1haW5fdnNp Ow0KCWludCByZXQ7DQoNCglyZXQgPSBpNDBlX2FxX3NldF92c2lfbXVsdGljYXN0X3Byb21pc2N1 b3VzKGh3LCB2c2ktPnNlaWQsIFRSVUUsIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNT KSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBlbmFibGUgbXVsdGljYXN0IHByb21p c2N1b3VzIik7DQoJCXJldHVybiAtRUFHQUlOOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0 aWMgaW50DQppNDBlX2Rldl9hbGxtdWx0aWNhc3RfZGlzYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BS SVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfdnNpICp2 c2kgPSBwZi0+bWFpbl92c2k7DQoJaW50IHJldDsNCg0KCWlmIChkZXYtPmRhdGEtPnByb21pc2N1 b3VzID09IDEpDQoJCXJldHVybiAwOyAvKiBtdXN0IHJlbWFpbiBpbiBhbGxfbXVsdGljYXN0IG1v ZGUgKi8NCg0KCXJldCA9IGk0MGVfYXFfc2V0X3ZzaV9tdWx0aWNhc3RfcHJvbWlzY3VvdXMoaHcs DQoJCQkJdnNpLT5zZWlkLCBGQUxTRSwgTlVMTCk7DQoJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1Mp IHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGRpc2FibGUgbXVsdGljYXN0IHByb21p c2N1b3VzIik7DQoJCXJldHVybiAtRUFHQUlOOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQovKg0K ICogU2V0IGRldmljZSBsaW5rIHVwLg0KICovDQpzdGF0aWMgaW50DQppNDBlX2Rldl9zZXRfbGlu a191cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCgkvKiByZS1hcHBseSBsaW5rIHNwZWVk IHNldHRpbmcgKi8NCglyZXR1cm4gaTQwZV9hcHBseV9saW5rX3NwZWVkKGRldik7DQp9DQoNCi8q DQogKiBTZXQgZGV2aWNlIGxpbmsgZG93bi4NCiAqLw0Kc3RhdGljIGludA0KaTQwZV9kZXZfc2V0 X2xpbmtfZG93bihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCgl1aW50OF90IHNwZWVkID0g STQwRV9MSU5LX1NQRUVEX1VOS05PV047DQoJdWludDhfdCBhYmlsaXRpZXMgPSAwOw0KCXN0cnVj dCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoNCglhYmlsaXRpZXMgPSBJNDBFX0FRX1BIWV9FTkFCTEVfQVRPTUlDX0xJTks7DQoJ cmV0dXJuIGk0MGVfcGh5X2NvbmZfbGluayhodywgYWJpbGl0aWVzLCBzcGVlZCwgZmFsc2UpOw0K fQ0KDQpzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQp1cGRhdGVfbGlua19yZWcoc3Ry dWN0IGk0MGVfaHcgKmh3LCBzdHJ1Y3QgcnRlX2V0aF9saW5rICpsaW5rKQ0Kew0KLyogTGluayBz dGF0dXMgcmVnaXN0ZXJzIGFuZCB2YWx1ZXMqLw0KI2RlZmluZSBJNDBFX1BSVE1BQ19MSU5LU1RB CQkweDAwMUUyNDIwDQojZGVmaW5lIEk0MEVfUkVHX0xJTktfVVAJCTB4NDAwMDAwODANCiNkZWZp bmUgSTQwRV9QUlRNQUNfTUFDQwkJMHgwMDFFMjRFMA0KI2RlZmluZSBJNDBFX1JFR19NQUNDXzI1 R0IJCTB4MDAwMjAwMDANCiNkZWZpbmUgSTQwRV9SRUdfU1BFRURfTUFTSwkJMHgzODAwMDAwMA0K I2RlZmluZSBJNDBFX1JFR19TUEVFRF8wCQkweDAwMDAwMDAwDQojZGVmaW5lIEk0MEVfUkVHX1NQ RUVEXzEJCTB4MDgwMDAwMDANCiNkZWZpbmUgSTQwRV9SRUdfU1BFRURfMgkJMHgxMDAwMDAwMA0K I2RlZmluZSBJNDBFX1JFR19TUEVFRF8zCQkweDE4MDAwMDAwDQojZGVmaW5lIEk0MEVfUkVHX1NQ RUVEXzQJCTB4MjAwMDAwMDANCgl1aW50MzJfdCBsaW5rX3NwZWVkOw0KCXVpbnQzMl90IHJlZ192 YWw7DQoNCglyZWdfdmFsID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9QUlRNQUNfTElOS1NUQSk7 DQoJbGlua19zcGVlZCA9IHJlZ192YWwgJiBJNDBFX1JFR19TUEVFRF9NQVNLOw0KCXJlZ192YWwg Jj0gSTQwRV9SRUdfTElOS19VUDsNCglsaW5rLT5saW5rX3N0YXR1cyA9IChyZWdfdmFsID09IEk0 MEVfUkVHX0xJTktfVVApID8gMSA6IDA7DQoNCglpZiAodW5saWtlbHkobGluay0+bGlua19zdGF0 dXMgPT0gMCkpDQoJCXJldHVybjsNCg0KCS8qIFBhcnNlIHRoZSBsaW5rIHN0YXR1cyAqLw0KCXN3 aXRjaCAobGlua19zcGVlZCkgew0KCWNhc2UgSTQwRV9SRUdfU1BFRURfMDoNCgkJbGluay0+bGlu a19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMTAwTTsNCgkJYnJlYWs7DQoJY2FzZSBJNDBFX1JFR19T UEVFRF8xOg0KCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xRzsNCgkJYnJlYWs7 DQoJY2FzZSBJNDBFX1JFR19TUEVFRF8yOg0KCQlpZiAoaHctPm1hYy50eXBlID09IEk0MEVfTUFD X1g3MjIpDQoJCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8yXzVHOw0KCQllbHNl DQoJCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xMEc7DQoJCWJyZWFrOw0KCWNh c2UgSTQwRV9SRUdfU1BFRURfMzoNCgkJaWYgKGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19YNzIy KSB7DQoJCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV81RzsNCgkJfSBlbHNlIHsN CgkJCXJlZ192YWwgPSBJNDBFX1JFQURfUkVHKGh3LCBJNDBFX1BSVE1BQ19NQUNDKTsNCg0KCQkJ aWYgKHJlZ192YWwgJiBJNDBFX1JFR19NQUNDXzI1R0IpDQoJCQkJbGluay0+bGlua19zcGVlZCA9 IEVUSF9TUEVFRF9OVU1fMjVHOw0KCQkJZWxzZQ0KCQkJCWxpbmstPmxpbmtfc3BlZWQgPSBFVEhf U1BFRURfTlVNXzQwRzsNCgkJfQ0KCQlicmVhazsNCgljYXNlIEk0MEVfUkVHX1NQRUVEXzQ6DQoJ CWlmIChody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMikNCgkJCWxpbmstPmxpbmtfc3BlZWQg PSBFVEhfU1BFRURfTlVNXzEwRzsNCgkJZWxzZQ0KCQkJbGluay0+bGlua19zcGVlZCA9IEVUSF9T UEVFRF9OVU1fMjBHOw0KCQlicmVhazsNCglkZWZhdWx0Og0KCQlQTURfRFJWX0xPRyhFUlIsICJV bmtub3duIGxpbmsgc3BlZWQgaW5mbyAldSIsIGxpbmtfc3BlZWQpOw0KCQlicmVhazsNCgl9DQp9 DQoNCnN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCnVwZGF0ZV9saW5rX2FxKHN0cnVj dCBpNDBlX2h3ICpodywgc3RydWN0IHJ0ZV9ldGhfbGluayAqbGluaywNCglib29sIGVuYWJsZV9s c2UsIGludCB3YWl0X3RvX2NvbXBsZXRlKQ0Kew0KI2RlZmluZSBDSEVDS19JTlRFUlZBTCAgICAg ICAgICAgICAxMDAgIC8qIDEwMG1zICovDQojZGVmaW5lIE1BWF9SRVBFQVRfVElNRSAgICAgICAg ICAgIDEwICAvKiAxcyAoMTAgKiAxMDBtcykgaW4gdG90YWwgKi8NCgl1aW50MzJfdCByZXBfY250 ID0gTUFYX1JFUEVBVF9USU1FOw0KCXN0cnVjdCBpNDBlX2xpbmtfc3RhdHVzIGxpbmtfc3RhdHVz Ow0KCWludCBzdGF0dXM7DQoNCgltZW1zZXQoJmxpbmtfc3RhdHVzLCAwLCBzaXplb2YobGlua19z dGF0dXMpKTsNCg0KCWRvIHsNCgkJbWVtc2V0KCZsaW5rX3N0YXR1cywgMCwgc2l6ZW9mKGxpbmtf c3RhdHVzKSk7DQoNCgkJLyogR2V0IGxpbmsgc3RhdHVzIGluZm9ybWF0aW9uIGZyb20gaGFyZHdh cmUgKi8NCgkJc3RhdHVzID0gaTQwZV9hcV9nZXRfbGlua19pbmZvKGh3LCBlbmFibGVfbHNlLA0K CQkJCQkJJmxpbmtfc3RhdHVzLCBOVUxMKTsNCgkJaWYgKHVubGlrZWx5KHN0YXR1cyAhPSBJNDBF X1NVQ0NFU1MpKSB7DQoJCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV9OT05FOw0K CQkJbGluay0+bGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCgkJCVBNRF9EUlZf TE9HKEVSUiwgIkZhaWxlZCB0byBnZXQgbGluayBpbmZvIik7DQoJCQlyZXR1cm47DQoJCX0NCg0K CQlsaW5rLT5saW5rX3N0YXR1cyA9IGxpbmtfc3RhdHVzLmxpbmtfaW5mbyAmIEk0MEVfQVFfTElO S19VUDsNCgkJaWYgKCF3YWl0X3RvX2NvbXBsZXRlIHx8IGxpbmstPmxpbmtfc3RhdHVzKQ0KCQkJ YnJlYWs7DQoNCgkJcnRlX2RlbGF5X21zKENIRUNLX0lOVEVSVkFMKTsNCgl9IHdoaWxlICgtLXJl cF9jbnQpOw0KDQoJLyogUGFyc2UgdGhlIGxpbmsgc3RhdHVzICovDQoJc3dpdGNoIChsaW5rX3N0 YXR1cy5saW5rX3NwZWVkKSB7DQoJY2FzZSBJNDBFX0xJTktfU1BFRURfMTAwTUI6DQoJCWxpbmst Pmxpbmtfc3BlZWQgPSBFVEhfU1BFRURfTlVNXzEwME07DQoJCWJyZWFrOw0KCWNhc2UgSTQwRV9M SU5LX1NQRUVEXzFHQjoNCgkJbGluay0+bGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMUc7DQoJ CWJyZWFrOw0KCWNhc2UgSTQwRV9MSU5LX1NQRUVEXzEwR0I6DQoJCWxpbmstPmxpbmtfc3BlZWQg PSBFVEhfU1BFRURfTlVNXzEwRzsNCgkJYnJlYWs7DQoJY2FzZSBJNDBFX0xJTktfU1BFRURfMjBH QjoNCgkJbGluay0+bGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMjBHOw0KCQlicmVhazsNCglj YXNlIEk0MEVfTElOS19TUEVFRF8yNUdCOg0KCQlsaW5rLT5saW5rX3NwZWVkID0gRVRIX1NQRUVE X05VTV8yNUc7DQoJCWJyZWFrOw0KCWNhc2UgSTQwRV9MSU5LX1NQRUVEXzQwR0I6DQoJCWxpbmst Pmxpbmtfc3BlZWQgPSBFVEhfU1BFRURfTlVNXzQwRzsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJ bGluay0+bGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fTk9ORTsNCgkJYnJlYWs7DQoJfQ0KfQ0K DQppbnQNCmk0MGVfZGV2X2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkg ICAgIGludCB3YWl0X3RvX2NvbXBsZXRlKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVf REVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IHJ0ZV9l dGhfbGluayBsaW5rOw0KCWJvb2wgZW5hYmxlX2xzZSA9IGRldi0+ZGF0YS0+ZGV2X2NvbmYuaW50 cl9jb25mLmxzYyA/IHRydWUgOiBmYWxzZTsNCglpbnQgcmV0Ow0KDQoJbWVtc2V0KCZsaW5rLCAw LCBzaXplb2YobGluaykpOw0KDQoJLyogaTQwZSB1c2VzIGZ1bGwgZHVwbGV4IG9ubHkgKi8NCgls aW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBMRVg7DQoJbGluay5saW5rX2F1dG9u ZWcgPSAhKGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19zcGVlZHMgJg0KCQkJRVRIX0xJTktfU1BF RURfRklYRUQpOw0KDQoJaWYgKCF3YWl0X3RvX2NvbXBsZXRlICYmICFlbmFibGVfbHNlKQ0KCQl1 cGRhdGVfbGlua19yZWcoaHcsICZsaW5rKTsNCgllbHNlDQoJCXVwZGF0ZV9saW5rX2FxKGh3LCAm bGluaywgZW5hYmxlX2xzZSwgd2FpdF90b19jb21wbGV0ZSk7DQoNCglpZiAoaHctPnN3aXRjaF9k ZXYpDQoJCXJ0ZV9ldGhfbGlua3N0YXR1c19nZXQoaHctPnN3aXRjaF9kZXYsICZsaW5rKTsNCg0K CXJldCA9IHJ0ZV9ldGhfbGlua3N0YXR1c19zZXQoZGV2LCAmbGluayk7DQoJaTQwZV9ub3RpZnlf YWxsX3Zmc19saW5rX3N0YXR1cyhkZXYpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0KLyogR2V0IGFs bCB0aGUgc3RhdGlzdGljcyBvZiBhIFZTSSAqLw0Kdm9pZA0KaTQwZV91cGRhdGVfdnNpX3N0YXRz KHN0cnVjdCBpNDBlX3ZzaSAqdnNpKQ0Kew0KCXN0cnVjdCBpNDBlX2V0aF9zdGF0cyAqb2VzID0g JnZzaS0+ZXRoX3N0YXRzX29mZnNldDsNCglzdHJ1Y3QgaTQwZV9ldGhfc3RhdHMgKm5lcyA9ICZ2 c2ktPmV0aF9zdGF0czsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kp Ow0KCWludCBpZHggPSBydGVfbGVfdG9fY3B1XzE2KHZzaS0+aW5mby5zdGF0X2NvdW50ZXJfaWR4 KTsNCg0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX0dPUkNIKGlkeCksIEk0MEVf R0xWX0dPUkNMKGlkeCksDQoJCQkgICAgdnNpLT5vZmZzZXRfbG9hZGVkLCAmb2VzLT5yeF9ieXRl cywNCgkJCSAgICAmbmVzLT5yeF9ieXRlcyk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQw RV9HTFZfVVBSQ0goaWR4KSwgSTQwRV9HTFZfVVBSQ0woaWR4KSwNCgkJCSAgICB2c2ktPm9mZnNl dF9sb2FkZWQsICZvZXMtPnJ4X3VuaWNhc3QsDQoJCQkgICAgJm5lcy0+cnhfdW5pY2FzdCk7DQoJ aTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQwRV9HTFZfTVBSQ0goaWR4KSwgSTQwRV9HTFZfTVBS Q0woaWR4KSwNCgkJCSAgICB2c2ktPm9mZnNldF9sb2FkZWQsICZvZXMtPnJ4X211bHRpY2FzdCwN CgkJCSAgICAmbmVzLT5yeF9tdWx0aWNhc3QpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0 MEVfR0xWX0JQUkNIKGlkeCksIEk0MEVfR0xWX0JQUkNMKGlkeCksDQoJCQkgICAgdnNpLT5vZmZz ZXRfbG9hZGVkLCAmb2VzLT5yeF9icm9hZGNhc3QsDQoJCQkgICAgJm5lcy0+cnhfYnJvYWRjYXN0 KTsNCgkvKiBleGNsdWRlIENSQyBieXRlcyAqLw0KCW5lcy0+cnhfYnl0ZXMgLT0gKG5lcy0+cnhf dW5pY2FzdCArIG5lcy0+cnhfbXVsdGljYXN0ICsNCgkJbmVzLT5yeF9icm9hZGNhc3QpICogUlRF X0VUSEVSX0NSQ19MRU47DQoNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMVl9SRFBD KGlkeCksIHZzaS0+b2Zmc2V0X2xvYWRlZCwNCgkJCSAgICAmb2VzLT5yeF9kaXNjYXJkcywgJm5l cy0+cnhfZGlzY2FyZHMpOw0KCS8qIEdMVl9SRVBDIG5vdCBzdXBwb3J0ZWQgKi8NCgkvKiBHTFZf Uk1QQyBub3Qgc3VwcG9ydGVkICovDQoJaTQwZV9zdGF0X3VwZGF0ZV8zMihodywgSTQwRV9HTFZf UlVQUChpZHgpLCB2c2ktPm9mZnNldF9sb2FkZWQsDQoJCQkgICAgJm9lcy0+cnhfdW5rbm93bl9w cm90b2NvbCwNCgkJCSAgICAmbmVzLT5yeF91bmtub3duX3Byb3RvY29sKTsNCglpNDBlX3N0YXRf dXBkYXRlXzQ4KGh3LCBJNDBFX0dMVl9HT1RDSChpZHgpLCBJNDBFX0dMVl9HT1RDTChpZHgpLA0K CQkJICAgIHZzaS0+b2Zmc2V0X2xvYWRlZCwgJm9lcy0+dHhfYnl0ZXMsDQoJCQkgICAgJm5lcy0+ dHhfYnl0ZXMpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX1VQVENIKGlkeCks IEk0MEVfR0xWX1VQVENMKGlkeCksDQoJCQkgICAgdnNpLT5vZmZzZXRfbG9hZGVkLCAmb2VzLT50 eF91bmljYXN0LA0KCQkJICAgICZuZXMtPnR4X3VuaWNhc3QpOw0KCWk0MGVfc3RhdF91cGRhdGVf NDgoaHcsIEk0MEVfR0xWX01QVENIKGlkeCksIEk0MEVfR0xWX01QVENMKGlkeCksDQoJCQkgICAg dnNpLT5vZmZzZXRfbG9hZGVkLCAmb2VzLT50eF9tdWx0aWNhc3QsDQoJCQkgICAgJm5lcy0+dHhf bXVsdGljYXN0KTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMVl9CUFRDSChpZHgp LCBJNDBFX0dMVl9CUFRDTChpZHgpLA0KCQkJICAgIHZzaS0+b2Zmc2V0X2xvYWRlZCwgICZvZXMt PnR4X2Jyb2FkY2FzdCwNCgkJCSAgICAmbmVzLT50eF9icm9hZGNhc3QpOw0KCS8qIEdMVl9URFBD IG5vdCBzdXBwb3J0ZWQgKi8NCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMVl9URVBD KGlkeCksIHZzaS0+b2Zmc2V0X2xvYWRlZCwNCgkJCSAgICAmb2VzLT50eF9lcnJvcnMsICZuZXMt PnR4X2Vycm9ycyk7DQoJdnNpLT5vZmZzZXRfbG9hZGVkID0gdHJ1ZTsNCg0KCVBNRF9EUlZfTE9H KERFQlVHLCAiKioqKioqKioqKioqKioqKiogVlNJWyV1XSBzdGF0cyBzdGFydCAqKioqKioqKioq KioqKioqKioqIiwNCgkJICAgIHZzaS0+dnNpX2lkKTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4 X2J5dGVzOiAgICAgICAgICAgICUiUFJJdTY0IiIsIG5lcy0+cnhfYnl0ZXMpOw0KCVBNRF9EUlZf TE9HKERFQlVHLCAicnhfdW5pY2FzdDogICAgICAgICAgJSJQUkl1NjQiIiwgbmVzLT5yeF91bmlj YXN0KTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4X211bHRpY2FzdDogICAgICAgICUiUFJJdTY0 IiIsIG5lcy0+cnhfbXVsdGljYXN0KTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4X2Jyb2FkY2Fz dDogICAgICAgICUiUFJJdTY0IiIsIG5lcy0+cnhfYnJvYWRjYXN0KTsNCglQTURfRFJWX0xPRyhE RUJVRywgInJ4X2Rpc2NhcmRzOiAgICAgICAgICUiUFJJdTY0IiIsIG5lcy0+cnhfZGlzY2FyZHMp Ow0KCVBNRF9EUlZfTE9HKERFQlVHLCAicnhfdW5rbm93bl9wcm90b2NvbDogJSJQUkl1NjQiIiwN CgkJICAgIG5lcy0+cnhfdW5rbm93bl9wcm90b2NvbCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0 eF9ieXRlczogICAgICAgICAgICAlIlBSSXU2NCIiLCBuZXMtPnR4X2J5dGVzKTsNCglQTURfRFJW X0xPRyhERUJVRywgInR4X3VuaWNhc3Q6ICAgICAgICAgICUiUFJJdTY0IiIsIG5lcy0+dHhfdW5p Y2FzdCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0eF9tdWx0aWNhc3Q6ICAgICAgICAlIlBSSXU2 NCIiLCBuZXMtPnR4X211bHRpY2FzdCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0eF9icm9hZGNh c3Q6ICAgICAgICAlIlBSSXU2NCIiLCBuZXMtPnR4X2Jyb2FkY2FzdCk7DQoJUE1EX0RSVl9MT0co REVCVUcsICJ0eF9kaXNjYXJkczogICAgICAgICAlIlBSSXU2NCIiLCBuZXMtPnR4X2Rpc2NhcmRz KTsNCglQTURfRFJWX0xPRyhERUJVRywgInR4X2Vycm9yczogICAgICAgICAgICUiUFJJdTY0IiIs IG5lcy0+dHhfZXJyb3JzKTsNCglQTURfRFJWX0xPRyhERUJVRywgIioqKioqKioqKioqKioqKioq IFZTSVsldV0gc3RhdHMgZW5kICoqKioqKioqKioqKioqKioqKioiLA0KCQkgICAgdnNpLT52c2lf aWQpOw0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9yZWFkX3N0YXRzX3JlZ2lzdGVycyhzdHJ1Y3Qg aTQwZV9wZiAqcGYsIHN0cnVjdCBpNDBlX2h3ICpodykNCnsNCgl1bnNpZ25lZCBpbnQgaTsNCglz dHJ1Y3QgaTQwZV9od19wb3J0X3N0YXRzICpucyA9ICZwZi0+c3RhdHM7IC8qIG5ldyBzdGF0cyAq Lw0KCXN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMgKm9zID0gJnBmLT5zdGF0c19vZmZzZXQ7IC8q IG9sZCBzdGF0cyAqLw0KDQoJLyogR2V0IHJ4L3R4IGJ5dGVzIG9mIGludGVybmFsIHRyYW5zZmVy IHBhY2tldHMgKi8NCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMVl9HT1JDSChody0+ cG9ydCksDQoJCQlJNDBFX0dMVl9HT1JDTChody0+cG9ydCksDQoJCQlwZi0+b2Zmc2V0X2xvYWRl ZCwNCgkJCSZwZi0+aW50ZXJuYWxfc3RhdHNfb2Zmc2V0LnJ4X2J5dGVzLA0KCQkJJnBmLT5pbnRl cm5hbF9zdGF0cy5yeF9ieXRlcyk7DQoNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dM Vl9HT1RDSChody0+cG9ydCksDQoJCQlJNDBFX0dMVl9HT1RDTChody0+cG9ydCksDQoJCQlwZi0+ b2Zmc2V0X2xvYWRlZCwNCgkJCSZwZi0+aW50ZXJuYWxfc3RhdHNfb2Zmc2V0LnR4X2J5dGVzLA0K CQkJJnBmLT5pbnRlcm5hbF9zdGF0cy50eF9ieXRlcyk7DQoJLyogR2V0IHRvdGFsIGludGVybmFs IHJ4IHBhY2tldCBjb3VudCAqLw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX1VQ UkNIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMVl9VUFJDTChody0+cG9ydCksDQoJCQkgICAg cGYtPm9mZnNldF9sb2FkZWQsDQoJCQkgICAgJnBmLT5pbnRlcm5hbF9zdGF0c19vZmZzZXQucnhf dW5pY2FzdCwNCgkJCSAgICAmcGYtPmludGVybmFsX3N0YXRzLnJ4X3VuaWNhc3QpOw0KCWk0MGVf c3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX01QUkNIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBF X0dMVl9NUFJDTChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsDQoJCQkgICAg JnBmLT5pbnRlcm5hbF9zdGF0c19vZmZzZXQucnhfbXVsdGljYXN0LA0KCQkJICAgICZwZi0+aW50 ZXJuYWxfc3RhdHMucnhfbXVsdGljYXN0KTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBF X0dMVl9CUFJDSChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFZfQlBSQ0woaHctPnBvcnQpLA0K CQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLA0KCQkJICAgICZwZi0+aW50ZXJuYWxfc3RhdHNfb2Zm c2V0LnJ4X2Jyb2FkY2FzdCwNCgkJCSAgICAmcGYtPmludGVybmFsX3N0YXRzLnJ4X2Jyb2FkY2Fz dCk7DQoJLyogR2V0IHRvdGFsIGludGVybmFsIHR4IHBhY2tldCBjb3VudCAqLw0KCWk0MGVfc3Rh dF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX1VQVENIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dM Vl9VUFRDTChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsDQoJCQkgICAgJnBm LT5pbnRlcm5hbF9zdGF0c19vZmZzZXQudHhfdW5pY2FzdCwNCgkJCSAgICAmcGYtPmludGVybmFs X3N0YXRzLnR4X3VuaWNhc3QpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xWX01Q VENIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMVl9NUFRDTChody0+cG9ydCksDQoJCQkgICAg cGYtPm9mZnNldF9sb2FkZWQsDQoJCQkgICAgJnBmLT5pbnRlcm5hbF9zdGF0c19vZmZzZXQudHhf bXVsdGljYXN0LA0KCQkJICAgICZwZi0+aW50ZXJuYWxfc3RhdHMudHhfbXVsdGljYXN0KTsNCglp NDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMVl9CUFRDSChody0+cG9ydCksDQoJCQkgICAg STQwRV9HTFZfQlBUQ0woaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLA0KCQkJ ICAgICZwZi0+aW50ZXJuYWxfc3RhdHNfb2Zmc2V0LnR4X2Jyb2FkY2FzdCwNCgkJCSAgICAmcGYt PmludGVybmFsX3N0YXRzLnR4X2Jyb2FkY2FzdCk7DQoNCgkvKiBleGNsdWRlIENSQyBzaXplICov DQoJcGYtPmludGVybmFsX3N0YXRzLnJ4X2J5dGVzIC09IChwZi0+aW50ZXJuYWxfc3RhdHMucnhf dW5pY2FzdCArDQoJCXBmLT5pbnRlcm5hbF9zdGF0cy5yeF9tdWx0aWNhc3QgKw0KCQlwZi0+aW50 ZXJuYWxfc3RhdHMucnhfYnJvYWRjYXN0KSAqIFJURV9FVEhFUl9DUkNfTEVOOw0KDQoJLyogR2V0 IHN0YXRpc3RpY3Mgb2Ygc3RydWN0IGk0MGVfZXRoX3N0YXRzICovDQoJaTQwZV9zdGF0X3VwZGF0 ZV80OChodywgSTQwRV9HTFBSVF9HT1JDSChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9H T1JDTChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+ZXRoLnJ4X2J5 dGVzLA0KCQkJICAgICZucy0+ZXRoLnJ4X2J5dGVzKTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3 LCBJNDBFX0dMUFJUX1VQUkNIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1VQUkNMKGh3 LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5ldGgucnhfdW5pY2FzdCwN CgkJCSAgICAmbnMtPmV0aC5yeF91bmljYXN0KTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJ NDBFX0dMUFJUX01QUkNIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX01QUkNMKGh3LT5w b3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5ldGgucnhfbXVsdGljYXN0LA0K CQkJICAgICZucy0+ZXRoLnJ4X211bHRpY2FzdCk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80OChodywg STQwRV9HTFBSVF9CUFJDSChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9CUFJDTChody0+ cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+ZXRoLnJ4X2Jyb2FkY2FzdCwN CgkJCSAgICAmbnMtPmV0aC5yeF9icm9hZGNhc3QpOw0KCS8qIFdvcmthcm91bmQ6IENSQyBzaXpl IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gYnl0ZSBzdGF0aXN0aWNzLA0KCSAqIHNvIHN1YnRy YWN0IFJURV9FVEhFUl9DUkNfTEVOIGZyb20gdGhlIGJ5dGUgY291bnRlciBmb3IgZWFjaCByeA0K CSAqIHBhY2tldC4NCgkgKi8NCglucy0+ZXRoLnJ4X2J5dGVzIC09IChucy0+ZXRoLnJ4X3VuaWNh c3QgKyBucy0+ZXRoLnJ4X211bHRpY2FzdCArDQoJCW5zLT5ldGgucnhfYnJvYWRjYXN0KSAqIFJU RV9FVEhFUl9DUkNfTEVOOw0KDQoJLyogZXhjbHVkZSBpbnRlcm5hbCByeCBieXRlcw0KCSAqIFdv cmthcm91bmQ6IGl0IGlzIHBvc3NpYmxlIEk0MEVfR0xWX0dPUkNIW0gvTF0gaXMgdXBkYXRlZCBi ZWZvcmUNCgkgKiBJNDBFX0dMUFJUX0dPUkNIW0gvTF0sIHNvIHRoZXJlIGlzIGEgc21hbGwgd2lu ZG93IHRoYXQgY2F1c2UgbmVnYXRpdmUNCgkgKiB2YWx1ZS4NCgkgKiBzYW1lIHRvIEk0MEVfR0xW X1VQUkNbSC9MXSwgSTQwRV9HTFZfTVBSQ1tIL0xdLCBJNDBFX0dMVl9CUFJDW0gvTF0uDQoJICov DQoJaWYgKG5zLT5ldGgucnhfYnl0ZXMgPCBwZi0+aW50ZXJuYWxfc3RhdHMucnhfYnl0ZXMpDQoJ CW5zLT5ldGgucnhfYnl0ZXMgPSAwOw0KCWVsc2UNCgkJbnMtPmV0aC5yeF9ieXRlcyAtPSBwZi0+ aW50ZXJuYWxfc3RhdHMucnhfYnl0ZXM7DQoNCglpZiAobnMtPmV0aC5yeF91bmljYXN0IDwgcGYt PmludGVybmFsX3N0YXRzLnJ4X3VuaWNhc3QpDQoJCW5zLT5ldGgucnhfdW5pY2FzdCA9IDA7DQoJ ZWxzZQ0KCQlucy0+ZXRoLnJ4X3VuaWNhc3QgLT0gcGYtPmludGVybmFsX3N0YXRzLnJ4X3VuaWNh c3Q7DQoNCglpZiAobnMtPmV0aC5yeF9tdWx0aWNhc3QgPCBwZi0+aW50ZXJuYWxfc3RhdHMucnhf bXVsdGljYXN0KQ0KCQlucy0+ZXRoLnJ4X211bHRpY2FzdCA9IDA7DQoJZWxzZQ0KCQlucy0+ZXRo LnJ4X211bHRpY2FzdCAtPSBwZi0+aW50ZXJuYWxfc3RhdHMucnhfbXVsdGljYXN0Ow0KDQoJaWYg KG5zLT5ldGgucnhfYnJvYWRjYXN0IDwgcGYtPmludGVybmFsX3N0YXRzLnJ4X2Jyb2FkY2FzdCkN CgkJbnMtPmV0aC5yeF9icm9hZGNhc3QgPSAwOw0KCWVsc2UNCgkJbnMtPmV0aC5yeF9icm9hZGNh c3QgLT0gcGYtPmludGVybmFsX3N0YXRzLnJ4X2Jyb2FkY2FzdDsNCg0KCWk0MGVfc3RhdF91cGRh dGVfMzIoaHcsIEk0MEVfR0xQUlRfUkRQQyhody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9s b2FkZWQsICZvcy0+ZXRoLnJ4X2Rpc2NhcmRzLA0KCQkJICAgICZucy0+ZXRoLnJ4X2Rpc2NhcmRz KTsNCgkvKiBHTFBSVF9SRVBDIG5vdCBzdXBwb3J0ZWQgKi8NCgkvKiBHTFBSVF9STVBDIG5vdCBz dXBwb3J0ZWQgKi8NCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX1JVUFAoaHct PnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLA0KCQkJICAgICZvcy0+ZXRoLnJ4X3Vu a25vd25fcHJvdG9jb2wsDQoJCQkgICAgJm5zLT5ldGgucnhfdW5rbm93bl9wcm90b2NvbCk7DQoJ aTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQwRV9HTFBSVF9HT1RDSChody0+cG9ydCksDQoJCQkg ICAgSTQwRV9HTFBSVF9HT1RDTChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQs ICZvcy0+ZXRoLnR4X2J5dGVzLA0KCQkJICAgICZucy0+ZXRoLnR4X2J5dGVzKTsNCglpNDBlX3N0 YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMUFJUX1VQVENIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBF X0dMUFJUX1VQVENMKGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5l dGgudHhfdW5pY2FzdCwNCgkJCSAgICAmbnMtPmV0aC50eF91bmljYXN0KTsNCglpNDBlX3N0YXRf dXBkYXRlXzQ4KGh3LCBJNDBFX0dMUFJUX01QVENIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dM UFJUX01QVENMKGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5ldGgu dHhfbXVsdGljYXN0LA0KCQkJICAgICZucy0+ZXRoLnR4X211bHRpY2FzdCk7DQoJaTQwZV9zdGF0 X3VwZGF0ZV80OChodywgSTQwRV9HTFBSVF9CUFRDSChody0+cG9ydCksDQoJCQkgICAgSTQwRV9H TFBSVF9CUFRDTChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+ZXRo LnR4X2Jyb2FkY2FzdCwNCgkJCSAgICAmbnMtPmV0aC50eF9icm9hZGNhc3QpOw0KCW5zLT5ldGgu dHhfYnl0ZXMgLT0gKG5zLT5ldGgudHhfdW5pY2FzdCArIG5zLT5ldGgudHhfbXVsdGljYXN0ICsN CgkJbnMtPmV0aC50eF9icm9hZGNhc3QpICogUlRFX0VUSEVSX0NSQ19MRU47DQoNCgkvKiBleGNs dWRlIGludGVybmFsIHR4IGJ5dGVzDQoJICogV29ya2Fyb3VuZDogaXQgaXMgcG9zc2libGUgSTQw RV9HTFZfR09UQ0hbSC9MXSBpcyB1cGRhdGVkIGJlZm9yZQ0KCSAqIEk0MEVfR0xQUlRfR09UQ0hb SC9MXSwgc28gdGhlcmUgaXMgYSBzbWFsbCB3aW5kb3cgdGhhdCBjYXVzZSBuZWdhdGl2ZQ0KCSAq IHZhbHVlLg0KCSAqIHNhbWUgdG8gSTQwRV9HTFZfVVBUQ1tIL0xdLCBJNDBFX0dMVl9NUFRDW0gv TF0sIEk0MEVfR0xWX0JQVENbSC9MXS4NCgkgKi8NCglpZiAobnMtPmV0aC50eF9ieXRlcyA8IHBm LT5pbnRlcm5hbF9zdGF0cy50eF9ieXRlcykNCgkJbnMtPmV0aC50eF9ieXRlcyA9IDA7DQoJZWxz ZQ0KCQlucy0+ZXRoLnR4X2J5dGVzIC09IHBmLT5pbnRlcm5hbF9zdGF0cy50eF9ieXRlczsNCg0K CWlmIChucy0+ZXRoLnR4X3VuaWNhc3QgPCBwZi0+aW50ZXJuYWxfc3RhdHMudHhfdW5pY2FzdCkN CgkJbnMtPmV0aC50eF91bmljYXN0ID0gMDsNCgllbHNlDQoJCW5zLT5ldGgudHhfdW5pY2FzdCAt PSBwZi0+aW50ZXJuYWxfc3RhdHMudHhfdW5pY2FzdDsNCg0KCWlmIChucy0+ZXRoLnR4X211bHRp Y2FzdCA8IHBmLT5pbnRlcm5hbF9zdGF0cy50eF9tdWx0aWNhc3QpDQoJCW5zLT5ldGgudHhfbXVs dGljYXN0ID0gMDsNCgllbHNlDQoJCW5zLT5ldGgudHhfbXVsdGljYXN0IC09IHBmLT5pbnRlcm5h bF9zdGF0cy50eF9tdWx0aWNhc3Q7DQoNCglpZiAobnMtPmV0aC50eF9icm9hZGNhc3QgPCBwZi0+ aW50ZXJuYWxfc3RhdHMudHhfYnJvYWRjYXN0KQ0KCQlucy0+ZXRoLnR4X2Jyb2FkY2FzdCA9IDA7 DQoJZWxzZQ0KCQlucy0+ZXRoLnR4X2Jyb2FkY2FzdCAtPSBwZi0+aW50ZXJuYWxfc3RhdHMudHhf YnJvYWRjYXN0Ow0KDQoJLyogR0xQUlRfVEVQQyBub3Qgc3VwcG9ydGVkICovDQoNCgkvKiBhZGRp dGlvbmFsIHBvcnQgc3BlY2lmaWMgc3RhdHMgKi8NCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJ NDBFX0dMUFJUX1RET0xEKGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9z LT50eF9kcm9wcGVkX2xpbmtfZG93biwNCgkJCSAgICAmbnMtPnR4X2Ryb3BwZWRfbGlua19kb3du KTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX0NSQ0VSUlMoaHctPnBvcnQp LA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPmNyY19lcnJvcnMsDQoJCQkgICAgJm5z LT5jcmNfZXJyb3JzKTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX0lMTEVS UkMoaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPmlsbGVnYWxfYnl0 ZXMsDQoJCQkgICAgJm5zLT5pbGxlZ2FsX2J5dGVzKTsNCgkvKiBHTFBSVF9FUlJCQyBub3Qgc3Vw cG9ydGVkICovDQoJaTQwZV9zdGF0X3VwZGF0ZV8zMihodywgSTQwRV9HTFBSVF9NTEZDKGh3LT5w b3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5tYWNfbG9jYWxfZmF1bHRzLA0K CQkJICAgICZucy0+bWFjX2xvY2FsX2ZhdWx0cyk7DQoJaTQwZV9zdGF0X3VwZGF0ZV8zMihodywg STQwRV9HTFBSVF9NUkZDKGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9z LT5tYWNfcmVtb3RlX2ZhdWx0cywNCgkJCSAgICAmbnMtPm1hY19yZW1vdGVfZmF1bHRzKTsNCglp NDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX1JMRUMoaHctPnBvcnQpLA0KCQkJICAg IHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPnJ4X2xlbmd0aF9lcnJvcnMsDQoJCQkgICAgJm5zLT5y eF9sZW5ndGhfZXJyb3JzKTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX0xY T05SWEMoaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPmxpbmtfeG9u X3J4LA0KCQkJICAgICZucy0+bGlua194b25fcngpOw0KCWk0MGVfc3RhdF91cGRhdGVfMzIoaHcs IEk0MEVfR0xQUlRfTFhPRkZSWEMoaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVk LCAmb3MtPmxpbmtfeG9mZl9yeCwNCgkJCSAgICAmbnMtPmxpbmtfeG9mZl9yeCk7DQoJZm9yIChp ID0gMDsgaSA8IDg7IGkrKykgew0KCQlpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJU X1BYT05SWEMoaHctPnBvcnQsIGkpLA0KCQkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwNCgkJCQkg ICAgJm9zLT5wcmlvcml0eV94b25fcnhbaV0sDQoJCQkJICAgICZucy0+cHJpb3JpdHlfeG9uX3J4 W2ldKTsNCgkJaTQwZV9zdGF0X3VwZGF0ZV8zMihodywgSTQwRV9HTFBSVF9QWE9GRlJYQyhody0+ cG9ydCwgaSksDQoJCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLA0KCQkJCSAgICAmb3MtPnByaW9y aXR5X3hvZmZfcnhbaV0sDQoJCQkJICAgICZucy0+cHJpb3JpdHlfeG9mZl9yeFtpXSk7DQoJfQ0K CWk0MGVfc3RhdF91cGRhdGVfMzIoaHcsIEk0MEVfR0xQUlRfTFhPTlRYQyhody0+cG9ydCksDQoJ CQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+bGlua194b25fdHgsDQoJCQkgICAgJm5zLT5s aW5rX3hvbl90eCk7DQoJaTQwZV9zdGF0X3VwZGF0ZV8zMihodywgSTQwRV9HTFBSVF9MWE9GRlRY Qyhody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+bGlua194b2ZmX3R4 LA0KCQkJICAgICZucy0+bGlua194b2ZmX3R4KTsNCglmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7 DQoJCWk0MGVfc3RhdF91cGRhdGVfMzIoaHcsIEk0MEVfR0xQUlRfUFhPTlRYQyhody0+cG9ydCwg aSksDQoJCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLA0KCQkJCSAgICAmb3MtPnByaW9yaXR5X3hv bl90eFtpXSwNCgkJCQkgICAgJm5zLT5wcmlvcml0eV94b25fdHhbaV0pOw0KCQlpNDBlX3N0YXRf dXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX1BYT0ZGVFhDKGh3LT5wb3J0LCBpKSwNCgkJCQkgICAg cGYtPm9mZnNldF9sb2FkZWQsDQoJCQkJICAgICZvcy0+cHJpb3JpdHlfeG9mZl90eFtpXSwNCgkJ CQkgICAgJm5zLT5wcmlvcml0eV94b2ZmX3R4W2ldKTsNCgkJaTQwZV9zdGF0X3VwZGF0ZV8zMiho dywgSTQwRV9HTFBSVF9SWE9OMk9GRkNOVChody0+cG9ydCwgaSksDQoJCQkJICAgIHBmLT5vZmZz ZXRfbG9hZGVkLA0KCQkJCSAgICAmb3MtPnByaW9yaXR5X3hvbl8yX3hvZmZbaV0sDQoJCQkJICAg ICZucy0+cHJpb3JpdHlfeG9uXzJfeG9mZltpXSk7DQoJfQ0KCWk0MGVfc3RhdF91cGRhdGVfNDgo aHcsIEk0MEVfR0xQUlRfUFJDNjRIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1BSQzY0 TChody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+cnhfc2l6ZV82NCwN CgkJCSAgICAmbnMtPnJ4X3NpemVfNjQpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVf R0xQUlRfUFJDMTI3SChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9QUkMxMjdMKGh3LT5w b3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5yeF9zaXplXzEyNywNCgkJCSAg ICAmbnMtPnJ4X3NpemVfMTI3KTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMUFJU X1BSQzI1NUgoaHctPnBvcnQpLA0KCQkJICAgIEk0MEVfR0xQUlRfUFJDMjU1TChody0+cG9ydCks DQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+cnhfc2l6ZV8yNTUsDQoJCQkgICAgJm5z LT5yeF9zaXplXzI1NSk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQwRV9HTFBSVF9QUkM1 MTFIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1BSQzUxMUwoaHctPnBvcnQpLA0KCQkJ ICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPnJ4X3NpemVfNTExLA0KCQkJICAgICZucy0+cnhf c2l6ZV81MTEpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xQUlRfUFJDMTAyM0go aHctPnBvcnQpLA0KCQkJICAgIEk0MEVfR0xQUlRfUFJDMTAyM0woaHctPnBvcnQpLA0KCQkJICAg IHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPnJ4X3NpemVfMTAyMywNCgkJCSAgICAmbnMtPnJ4X3Np emVfMTAyMyk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQwRV9HTFBSVF9QUkMxNTIySCho dy0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9QUkMxNTIyTChody0+cG9ydCksDQoJCQkgICAg cGYtPm9mZnNldF9sb2FkZWQsICZvcy0+cnhfc2l6ZV8xNTIyLA0KCQkJICAgICZucy0+cnhfc2l6 ZV8xNTIyKTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMUFJUX1BSQzk1MjJIKGh3 LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1BSQzk1MjJMKGh3LT5wb3J0KSwNCgkJCSAgICBw Zi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT5yeF9zaXplX2JpZywNCgkJCSAgICAmbnMtPnJ4X3NpemVf YmlnKTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX1JVQyhody0+cG9ydCks DQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+cnhfdW5kZXJzaXplLA0KCQkJICAgICZu cy0+cnhfdW5kZXJzaXplKTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJNDBFX0dMUFJUX1JG Qyhody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+cnhfZnJhZ21lbnRz LA0KCQkJICAgICZucy0+cnhfZnJhZ21lbnRzKTsNCglpNDBlX3N0YXRfdXBkYXRlXzMyKGh3LCBJ NDBFX0dMUFJUX1JPQyhody0+cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+ cnhfb3ZlcnNpemUsDQoJCQkgICAgJm5zLT5yeF9vdmVyc2l6ZSk7DQoJaTQwZV9zdGF0X3VwZGF0 ZV8zMihodywgSTQwRV9HTFBSVF9SSkMoaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9h ZGVkLCAmb3MtPnJ4X2phYmJlciwNCgkJCSAgICAmbnMtPnJ4X2phYmJlcik7DQoJaTQwZV9zdGF0 X3VwZGF0ZV80OChodywgSTQwRV9HTFBSVF9QVEM2NEgoaHctPnBvcnQpLA0KCQkJICAgIEk0MEVf R0xQUlRfUFRDNjRMKGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT50 eF9zaXplXzY0LA0KCQkJICAgICZucy0+dHhfc2l6ZV82NCk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80 OChodywgSTQwRV9HTFBSVF9QVEMxMjdIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1BU QzEyN0woaHctPnBvcnQpLA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPnR4X3NpemVf MTI3LA0KCQkJICAgICZucy0+dHhfc2l6ZV8xMjcpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcs IEk0MEVfR0xQUlRfUFRDMjU1SChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9QVEMyNTVM KGh3LT5wb3J0KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT50eF9zaXplXzI1NSwN CgkJCSAgICAmbnMtPnR4X3NpemVfMjU1KTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBF X0dMUFJUX1BUQzUxMUgoaHctPnBvcnQpLA0KCQkJICAgIEk0MEVfR0xQUlRfUFRDNTExTChody0+ cG9ydCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+dHhfc2l6ZV81MTEsDQoJCQkg ICAgJm5zLT50eF9zaXplXzUxMSk7DQoJaTQwZV9zdGF0X3VwZGF0ZV80OChodywgSTQwRV9HTFBS VF9QVEMxMDIzSChody0+cG9ydCksDQoJCQkgICAgSTQwRV9HTFBSVF9QVEMxMDIzTChody0+cG9y dCksDQoJCQkgICAgcGYtPm9mZnNldF9sb2FkZWQsICZvcy0+dHhfc2l6ZV8xMDIzLA0KCQkJICAg ICZucy0+dHhfc2l6ZV8xMDIzKTsNCglpNDBlX3N0YXRfdXBkYXRlXzQ4KGh3LCBJNDBFX0dMUFJU X1BUQzE1MjJIKGh3LT5wb3J0KSwNCgkJCSAgICBJNDBFX0dMUFJUX1BUQzE1MjJMKGh3LT5wb3J0 KSwNCgkJCSAgICBwZi0+b2Zmc2V0X2xvYWRlZCwgJm9zLT50eF9zaXplXzE1MjIsDQoJCQkgICAg Jm5zLT50eF9zaXplXzE1MjIpOw0KCWk0MGVfc3RhdF91cGRhdGVfNDgoaHcsIEk0MEVfR0xQUlRf UFRDOTUyMkgoaHctPnBvcnQpLA0KCQkJICAgIEk0MEVfR0xQUlRfUFRDOTUyMkwoaHctPnBvcnQp LA0KCQkJICAgIHBmLT5vZmZzZXRfbG9hZGVkLCAmb3MtPnR4X3NpemVfYmlnLA0KCQkJICAgICZu cy0+dHhfc2l6ZV9iaWcpOw0KCWk0MGVfc3RhdF91cGRhdGVfMzIoaHcsIEk0MEVfR0xRRl9QQ05U KHBmLT5mZGlyLm1hdGNoX2NvdW50ZXJfaW5kZXgpLA0KCQkJICAgcGYtPm9mZnNldF9sb2FkZWQs DQoJCQkgICAmb3MtPmZkX3NiX21hdGNoLCAmbnMtPmZkX3NiX21hdGNoKTsNCgkvKiBHTFBSVF9N U1BEQyBub3Qgc3VwcG9ydGVkICovDQoJLyogR0xQUlRfWEVDIG5vdCBzdXBwb3J0ZWQgKi8NCg0K CXBmLT5vZmZzZXRfbG9hZGVkID0gdHJ1ZTsNCg0KCWlmIChwZi0+bWFpbl92c2kpDQoJCWk0MGVf dXBkYXRlX3ZzaV9zdGF0cyhwZi0+bWFpbl92c2kpOw0KfQ0KDQovKiBHZXQgYWxsIHN0YXRpc3Rp Y3Mgb2YgYSBwb3J0ICovDQpzdGF0aWMgaW50DQppNDBlX2Rldl9zdGF0c19nZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX3N0YXRzICpzdGF0cykNCnsNCglzdHJ1Y3Qg aTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZh dGUpOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cyAqbnMgPSAmcGYt PnN0YXRzOyAvKiBuZXcgc3RhdHMgKi8NCglzdHJ1Y3QgaTQwZV92c2kgKnZzaTsNCgl1bnNpZ25l ZCBpOw0KDQoJLyogY2FsbCByZWFkIHJlZ2lzdGVycyAtIHVwZGF0ZXMgdmFsdWVzLCBub3cgd3Jp dGUgdGhlbSB0byBzdHJ1Y3QgKi8NCglpNDBlX3JlYWRfc3RhdHNfcmVnaXN0ZXJzKHBmLCBodyk7 DQoNCglzdGF0cy0+aXBhY2tldHMgPSBwZi0+bWFpbl92c2ktPmV0aF9zdGF0cy5yeF91bmljYXN0 ICsNCgkJCXBmLT5tYWluX3ZzaS0+ZXRoX3N0YXRzLnJ4X211bHRpY2FzdCArDQoJCQlwZi0+bWFp bl92c2ktPmV0aF9zdGF0cy5yeF9icm9hZGNhc3QgLQ0KCQkJcGYtPm1haW5fdnNpLT5ldGhfc3Rh dHMucnhfZGlzY2FyZHM7DQoJc3RhdHMtPm9wYWNrZXRzID0gbnMtPmV0aC50eF91bmljYXN0ICsN CgkJCW5zLT5ldGgudHhfbXVsdGljYXN0ICsNCgkJCW5zLT5ldGgudHhfYnJvYWRjYXN0Ow0KCXN0 YXRzLT5pYnl0ZXMgICA9IHBmLT5tYWluX3ZzaS0+ZXRoX3N0YXRzLnJ4X2J5dGVzOw0KCXN0YXRz LT5vYnl0ZXMgICA9IG5zLT5ldGgudHhfYnl0ZXM7DQoJc3RhdHMtPm9lcnJvcnMgID0gbnMtPmV0 aC50eF9lcnJvcnMgKw0KCQkJcGYtPm1haW5fdnNpLT5ldGhfc3RhdHMudHhfZXJyb3JzOw0KDQoJ LyogUnggRXJyb3JzICovDQoJc3RhdHMtPmltaXNzZWQgID0gbnMtPmV0aC5yeF9kaXNjYXJkcyAr DQoJCQlwZi0+bWFpbl92c2ktPmV0aF9zdGF0cy5yeF9kaXNjYXJkczsNCglzdGF0cy0+aWVycm9y cyAgPSBucy0+Y3JjX2Vycm9ycyArDQoJCQlucy0+cnhfbGVuZ3RoX2Vycm9ycyArIG5zLT5yeF91 bmRlcnNpemUgKw0KCQkJbnMtPnJ4X292ZXJzaXplICsgbnMtPnJ4X2ZyYWdtZW50cyArIG5zLT5y eF9qYWJiZXI7DQoNCglpZiAocGYtPnZmcykgew0KCQlmb3IgKGkgPSAwOyBpIDwgcGYtPnZmX251 bTsgaSsrKSB7DQoJCQl2c2kgPSBwZi0+dmZzW2ldLnZzaTsNCgkJCWk0MGVfdXBkYXRlX3ZzaV9z dGF0cyh2c2kpOw0KDQoJCQlzdGF0cy0+aXBhY2tldHMgKz0gKHZzaS0+ZXRoX3N0YXRzLnJ4X3Vu aWNhc3QgKw0KCQkJCQl2c2ktPmV0aF9zdGF0cy5yeF9tdWx0aWNhc3QgKw0KCQkJCQl2c2ktPmV0 aF9zdGF0cy5yeF9icm9hZGNhc3QgLQ0KCQkJCQl2c2ktPmV0aF9zdGF0cy5yeF9kaXNjYXJkcyk7 DQoJCQlzdGF0cy0+aWJ5dGVzICAgKz0gdnNpLT5ldGhfc3RhdHMucnhfYnl0ZXM7DQoJCQlzdGF0 cy0+b2Vycm9ycyAgKz0gdnNpLT5ldGhfc3RhdHMudHhfZXJyb3JzOw0KCQkJc3RhdHMtPmltaXNz ZWQgICs9IHZzaS0+ZXRoX3N0YXRzLnJ4X2Rpc2NhcmRzOw0KCQl9DQoJfQ0KDQoJUE1EX0RSVl9M T0coREVCVUcsICIqKioqKioqKioqKioqKioqKiBQRiBzdGF0cyBzdGFydCAqKioqKioqKioqKioq KioqKioqIik7DQoJUE1EX0RSVl9MT0coREVCVUcsICJyeF9ieXRlczogICAgICAgICAgICAlIlBS SXU2NCIiLCBucy0+ZXRoLnJ4X2J5dGVzKTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4X3VuaWNh c3Q6ICAgICAgICAgICUiUFJJdTY0IiIsIG5zLT5ldGgucnhfdW5pY2FzdCk7DQoJUE1EX0RSVl9M T0coREVCVUcsICJyeF9tdWx0aWNhc3Q6ICAgICAgICAlIlBSSXU2NCIiLCBucy0+ZXRoLnJ4X211 bHRpY2FzdCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJyeF9icm9hZGNhc3Q6ICAgICAgICAlIlBS SXU2NCIiLCBucy0+ZXRoLnJ4X2Jyb2FkY2FzdCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJyeF9k aXNjYXJkczogICAgICAgICAlIlBSSXU2NCIiLCBucy0+ZXRoLnJ4X2Rpc2NhcmRzKTsNCglQTURf RFJWX0xPRyhERUJVRywgInJ4X3Vua25vd25fcHJvdG9jb2w6ICUiUFJJdTY0IiIsDQoJCSAgICBu cy0+ZXRoLnJ4X3Vua25vd25fcHJvdG9jb2wpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAidHhfYnl0 ZXM6ICAgICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPmV0aC50eF9ieXRlcyk7DQoJUE1EX0RSVl9M T0coREVCVUcsICJ0eF91bmljYXN0OiAgICAgICAgICAlIlBSSXU2NCIiLCBucy0+ZXRoLnR4X3Vu aWNhc3QpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAidHhfbXVsdGljYXN0OiAgICAgICAgJSJQUkl1 NjQiIiwgbnMtPmV0aC50eF9tdWx0aWNhc3QpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAidHhfYnJv YWRjYXN0OiAgICAgICAgJSJQUkl1NjQiIiwgbnMtPmV0aC50eF9icm9hZGNhc3QpOw0KCVBNRF9E UlZfTE9HKERFQlVHLCAidHhfZGlzY2FyZHM6ICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPmV0aC50 eF9kaXNjYXJkcyk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0eF9lcnJvcnM6ICAgICAgICAgICAl IlBSSXU2NCIiLCBucy0+ZXRoLnR4X2Vycm9ycyk7DQoNCglQTURfRFJWX0xPRyhERUJVRywgInR4 X2Ryb3BwZWRfbGlua19kb3duOiAgICAgJSJQUkl1NjQiIiwNCgkJICAgIG5zLT50eF9kcm9wcGVk X2xpbmtfZG93bik7DQoJUE1EX0RSVl9MT0coREVCVUcsICJjcmNfZXJyb3JzOiAgICAgICAgICAg ICAgICUiUFJJdTY0IiIsIG5zLT5jcmNfZXJyb3JzKTsNCglQTURfRFJWX0xPRyhERUJVRywgImls bGVnYWxfYnl0ZXM6ICAgICAgICAgICAgJSJQUkl1NjQiIiwNCgkJICAgIG5zLT5pbGxlZ2FsX2J5 dGVzKTsNCglQTURfRFJWX0xPRyhERUJVRywgImVycm9yX2J5dGVzOiAgICAgICAgICAgICAgJSJQ Ukl1NjQiIiwgbnMtPmVycm9yX2J5dGVzKTsNCglQTURfRFJWX0xPRyhERUJVRywgIm1hY19sb2Nh bF9mYXVsdHM6ICAgICAgICAgJSJQUkl1NjQiIiwNCgkJICAgIG5zLT5tYWNfbG9jYWxfZmF1bHRz KTsNCglQTURfRFJWX0xPRyhERUJVRywgIm1hY19yZW1vdGVfZmF1bHRzOiAgICAgICAgJSJQUkl1 NjQiIiwNCgkJICAgIG5zLT5tYWNfcmVtb3RlX2ZhdWx0cyk7DQoJUE1EX0RSVl9MT0coREVCVUcs ICJyeF9sZW5ndGhfZXJyb3JzOiAgICAgICAgICUiUFJJdTY0IiIsDQoJCSAgICBucy0+cnhfbGVu Z3RoX2Vycm9ycyk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJsaW5rX3hvbl9yeDogICAgICAgICAg ICAgICUiUFJJdTY0IiIsIG5zLT5saW5rX3hvbl9yeCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJs aW5rX3hvZmZfcng6ICAgICAgICAgICAgICUiUFJJdTY0IiIsIG5zLT5saW5rX3hvZmZfcngpOw0K CWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsNCgkJUE1EX0RSVl9MT0coREVCVUcsICJwcmlvcml0 eV94b25fcnhbJWRdOiAgICAgICUiUFJJdTY0IiIsDQoJCQkJaSwgbnMtPnByaW9yaXR5X3hvbl9y eFtpXSk7DQoJCVBNRF9EUlZfTE9HKERFQlVHLCAicHJpb3JpdHlfeG9mZl9yeFslZF06ICAgICAl IlBSSXU2NCIiLA0KCQkJCWksIG5zLT5wcmlvcml0eV94b2ZmX3J4W2ldKTsNCgl9DQoJUE1EX0RS Vl9MT0coREVCVUcsICJsaW5rX3hvbl90eDogICAgICAgICAgICAgICUiUFJJdTY0IiIsIG5zLT5s aW5rX3hvbl90eCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJsaW5rX3hvZmZfdHg6ICAgICAgICAg ICAgICUiUFJJdTY0IiIsIG5zLT5saW5rX3hvZmZfdHgpOw0KCWZvciAoaSA9IDA7IGkgPCA4OyBp KyspIHsNCgkJUE1EX0RSVl9MT0coREVCVUcsICJwcmlvcml0eV94b25fdHhbJWRdOiAgICAgICUi UFJJdTY0IiIsDQoJCQkJaSwgbnMtPnByaW9yaXR5X3hvbl90eFtpXSk7DQoJCVBNRF9EUlZfTE9H KERFQlVHLCAicHJpb3JpdHlfeG9mZl90eFslZF06ICAgICAlIlBSSXU2NCIiLA0KCQkJCWksIG5z LT5wcmlvcml0eV94b2ZmX3R4W2ldKTsNCgkJUE1EX0RSVl9MT0coREVCVUcsICJwcmlvcml0eV94 b25fMl94b2ZmWyVkXTogICUiUFJJdTY0IiIsDQoJCQkJaSwgbnMtPnByaW9yaXR5X3hvbl8yX3hv ZmZbaV0pOw0KCX0NCglQTURfRFJWX0xPRyhERUJVRywgInJ4X3NpemVfNjQ6ICAgICAgICAgICAg ICAgJSJQUkl1NjQiIiwgbnMtPnJ4X3NpemVfNjQpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAicnhf c2l6ZV8xMjc6ICAgICAgICAgICAgICAlIlBSSXU2NCIiLCBucy0+cnhfc2l6ZV8xMjcpOw0KCVBN RF9EUlZfTE9HKERFQlVHLCAicnhfc2l6ZV8yNTU6ICAgICAgICAgICAgICAlIlBSSXU2NCIiLCBu cy0+cnhfc2l6ZV8yNTUpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAicnhfc2l6ZV81MTE6ICAgICAg ICAgICAgICAlIlBSSXU2NCIiLCBucy0+cnhfc2l6ZV81MTEpOw0KCVBNRF9EUlZfTE9HKERFQlVH LCAicnhfc2l6ZV8xMDIzOiAgICAgICAgICAgICAlIlBSSXU2NCIiLCBucy0+cnhfc2l6ZV8xMDIz KTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4X3NpemVfMTUyMjogICAgICAgICAgICAgJSJQUkl1 NjQiIiwgbnMtPnJ4X3NpemVfMTUyMik7DQoJUE1EX0RSVl9MT0coREVCVUcsICJyeF9zaXplX2Jp ZzogICAgICAgICAgICAgICUiUFJJdTY0IiIsIG5zLT5yeF9zaXplX2JpZyk7DQoJUE1EX0RSVl9M T0coREVCVUcsICJyeF91bmRlcnNpemU6ICAgICAgICAgICAgICUiUFJJdTY0IiIsIG5zLT5yeF91 bmRlcnNpemUpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAicnhfZnJhZ21lbnRzOiAgICAgICAgICAg ICAlIlBSSXU2NCIiLCBucy0+cnhfZnJhZ21lbnRzKTsNCglQTURfRFJWX0xPRyhERUJVRywgInJ4 X292ZXJzaXplOiAgICAgICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPnJ4X292ZXJzaXplKTsNCglQ TURfRFJWX0xPRyhERUJVRywgInJ4X2phYmJlcjogICAgICAgICAgICAgICAgJSJQUkl1NjQiIiwg bnMtPnJ4X2phYmJlcik7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0eF9zaXplXzY0OiAgICAgICAg ICAgICAgICUiUFJJdTY0IiIsIG5zLT50eF9zaXplXzY0KTsNCglQTURfRFJWX0xPRyhERUJVRywg InR4X3NpemVfMTI3OiAgICAgICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPnR4X3NpemVfMTI3KTsN CglQTURfRFJWX0xPRyhERUJVRywgInR4X3NpemVfMjU1OiAgICAgICAgICAgICAgJSJQUkl1NjQi IiwgbnMtPnR4X3NpemVfMjU1KTsNCglQTURfRFJWX0xPRyhERUJVRywgInR4X3NpemVfNTExOiAg ICAgICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPnR4X3NpemVfNTExKTsNCglQTURfRFJWX0xPRyhE RUJVRywgInR4X3NpemVfMTAyMzogICAgICAgICAgICAgJSJQUkl1NjQiIiwgbnMtPnR4X3NpemVf MTAyMyk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJ0eF9zaXplXzE1MjI6ICAgICAgICAgICAgICUi UFJJdTY0IiIsIG5zLT50eF9zaXplXzE1MjIpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAidHhfc2l6 ZV9iaWc6ICAgICAgICAgICAgICAlIlBSSXU2NCIiLCBucy0+dHhfc2l6ZV9iaWcpOw0KCVBNRF9E UlZfTE9HKERFQlVHLCAibWFjX3Nob3J0X3BhY2tldF9kcm9wcGVkOiAlIlBSSXU2NCIiLA0KCQkJ bnMtPm1hY19zaG9ydF9wYWNrZXRfZHJvcHBlZCk7DQoJUE1EX0RSVl9MT0coREVCVUcsICJjaGVj a3N1bV9lcnJvcjogICAgICAgICAgICUiUFJJdTY0IiIsDQoJCSAgICBucy0+Y2hlY2tzdW1fZXJy b3IpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAiZmRpcl9tYXRjaDogICAgICAgICAgICAgICAlIlBS SXU2NCIiLCBucy0+ZmRfc2JfbWF0Y2gpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAiKioqKioqKioq KioqKioqKiogUEYgc3RhdHMgZW5kICoqKioqKioqKioqKioqKioqKioqIik7DQoJcmV0dXJuIDA7 DQp9DQoNCi8qIFJlc2V0IHRoZSBzdGF0aXN0aWNzICovDQpzdGF0aWMgaW50DQppNDBlX2Rldl9z dGF0c19yZXNldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAq cGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0 cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZf cHJpdmF0ZSk7DQoNCgkvKiBNYXJrIFBGIGFuZCBWU0kgc3RhdHMgdG8gdXBkYXRlIHRoZSBvZmZz ZXQsIGFrYSAicmVzZXQiICovDQoJcGYtPm9mZnNldF9sb2FkZWQgPSBmYWxzZTsNCglpZiAocGYt Pm1haW5fdnNpKQ0KCQlwZi0+bWFpbl92c2ktPm9mZnNldF9sb2FkZWQgPSBmYWxzZTsNCg0KCS8q IHJlYWQgdGhlIHN0YXRzLCByZWFkaW5nIGN1cnJlbnQgcmVnaXN0ZXIgdmFsdWVzIGludG8gb2Zm c2V0ICovDQoJaTQwZV9yZWFkX3N0YXRzX3JlZ2lzdGVycyhwZiwgaHcpOw0KDQoJcmV0dXJuIDA7 DQp9DQoNCnN0YXRpYyB1aW50MzJfdA0KaTQwZV94c3RhdHNfY2FsY19udW0odm9pZCkNCnsNCgly ZXR1cm4gSTQwRV9OQl9FVEhfWFNUQVRTICsgSTQwRV9OQl9IV19QT1JUX1hTVEFUUyArDQoJCShJ NDBFX05CX1JYUV9QUklPX1hTVEFUUyAqIDgpICsNCgkJKEk0MEVfTkJfVFhRX1BSSU9fWFNUQVRT ICogOCk7DQp9DQoNCnN0YXRpYyBpbnQgaTQwZV9kZXZfeHN0YXRzX2dldF9uYW1lcyhfX3J0ZV91 bnVzZWQgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJICAgICBzdHJ1Y3QgcnRlX2V0aF94 c3RhdF9uYW1lICp4c3RhdHNfbmFtZXMsDQoJCQkJICAgICBfX3J0ZV91bnVzZWQgdW5zaWduZWQg bGltaXQpDQp7DQoJdW5zaWduZWQgY291bnQgPSAwOw0KCXVuc2lnbmVkIGksIHByaW87DQoNCglp ZiAoeHN0YXRzX25hbWVzID09IE5VTEwpDQoJCXJldHVybiBpNDBlX3hzdGF0c19jYWxjX251bSgp Ow0KDQoJLyogTm90ZTogbGltaXQgY2hlY2tlZCBpbiBydGVfZXRoX3hzdGF0c19uYW1lcygpICov DQoNCgkvKiBHZXQgc3RhdHMgZnJvbSBpNDBlX2V0aF9zdGF0cyBzdHJ1Y3QgKi8NCglmb3IgKGkg PSAwOyBpIDwgSTQwRV9OQl9FVEhfWFNUQVRTOyBpKyspIHsNCgkJc3RybGNweSh4c3RhdHNfbmFt ZXNbY291bnRdLm5hbWUsDQoJCQlydGVfaTQwZV9zdGF0c19zdHJpbmdzW2ldLm5hbWUsDQoJCQlz aXplb2YoeHN0YXRzX25hbWVzW2NvdW50XS5uYW1lKSk7DQoJCWNvdW50Kys7DQoJfQ0KDQoJLyog R2V0IGluZGl2aWRpdWFsIHN0YXRzIGZyb20gaTQwZV9od19wb3J0IHN0cnVjdCAqLw0KCWZvciAo aSA9IDA7IGkgPCBJNDBFX05CX0hXX1BPUlRfWFNUQVRTOyBpKyspIHsNCgkJc3RybGNweSh4c3Rh dHNfbmFtZXNbY291bnRdLm5hbWUsDQoJCQlydGVfaTQwZV9od19wb3J0X3N0cmluZ3NbaV0ubmFt ZSwNCgkJCXNpemVvZih4c3RhdHNfbmFtZXNbY291bnRdLm5hbWUpKTsNCgkJY291bnQrKzsNCgl9 DQoNCglmb3IgKGkgPSAwOyBpIDwgSTQwRV9OQl9SWFFfUFJJT19YU1RBVFM7IGkrKykgew0KCQlm b3IgKHByaW8gPSAwOyBwcmlvIDwgODsgcHJpbysrKSB7DQoJCQlzbnByaW50Zih4c3RhdHNfbmFt ZXNbY291bnRdLm5hbWUsDQoJCQkJIHNpemVvZih4c3RhdHNfbmFtZXNbY291bnRdLm5hbWUpLA0K CQkJCSAicnhfcHJpb3JpdHkldV8lcyIsIHByaW8sDQoJCQkJIHJ0ZV9pNDBlX3J4cV9wcmlvX3N0 cmluZ3NbaV0ubmFtZSk7DQoJCQljb3VudCsrOw0KCQl9DQoJfQ0KDQoJZm9yIChpID0gMDsgaSA8 IEk0MEVfTkJfVFhRX1BSSU9fWFNUQVRTOyBpKyspIHsNCgkJZm9yIChwcmlvID0gMDsgcHJpbyA8 IDg7IHByaW8rKykgew0KCQkJc25wcmludGYoeHN0YXRzX25hbWVzW2NvdW50XS5uYW1lLA0KCQkJ CSBzaXplb2YoeHN0YXRzX25hbWVzW2NvdW50XS5uYW1lKSwNCgkJCQkgInR4X3ByaW9yaXR5JXVf JXMiLCBwcmlvLA0KCQkJCSBydGVfaTQwZV90eHFfcHJpb19zdHJpbmdzW2ldLm5hbWUpOw0KCQkJ Y291bnQrKzsNCgkJfQ0KCX0NCglyZXR1cm4gY291bnQ7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVf ZGV2X3hzdGF0c19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX3hz dGF0ICp4c3RhdHMsDQoJCSAgICB1bnNpZ25lZCBuKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9 IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0 IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2 YXRlKTsNCgl1bnNpZ25lZCBpLCBjb3VudCwgcHJpbzsNCglzdHJ1Y3QgaTQwZV9od19wb3J0X3N0 YXRzICpod19zdGF0cyA9ICZwZi0+c3RhdHM7DQoNCgljb3VudCA9IGk0MGVfeHN0YXRzX2NhbGNf bnVtKCk7DQoJaWYgKG4gPCBjb3VudCkNCgkJcmV0dXJuIGNvdW50Ow0KDQoJaTQwZV9yZWFkX3N0 YXRzX3JlZ2lzdGVycyhwZiwgaHcpOw0KDQoJaWYgKHhzdGF0cyA9PSBOVUxMKQ0KCQlyZXR1cm4g MDsNCg0KCWNvdW50ID0gMDsNCg0KCS8qIEdldCBzdGF0cyBmcm9tIGk0MGVfZXRoX3N0YXRzIHN0 cnVjdCAqLw0KCWZvciAoaSA9IDA7IGkgPCBJNDBFX05CX0VUSF9YU1RBVFM7IGkrKykgew0KCQl4 c3RhdHNbY291bnRdLnZhbHVlID0gKih1aW50NjRfdCAqKSgoKGNoYXIgKikmaHdfc3RhdHMtPmV0 aCkgKw0KCQkJcnRlX2k0MGVfc3RhdHNfc3RyaW5nc1tpXS5vZmZzZXQpOw0KCQl4c3RhdHNbY291 bnRdLmlkID0gY291bnQ7DQoJCWNvdW50Kys7DQoJfQ0KDQoJLyogR2V0IGluZGl2aWRpdWFsIHN0 YXRzIGZyb20gaTQwZV9od19wb3J0IHN0cnVjdCAqLw0KCWZvciAoaSA9IDA7IGkgPCBJNDBFX05C X0hXX1BPUlRfWFNUQVRTOyBpKyspIHsNCgkJeHN0YXRzW2NvdW50XS52YWx1ZSA9ICoodWludDY0 X3QgKikoKChjaGFyICopaHdfc3RhdHMpICsNCgkJCXJ0ZV9pNDBlX2h3X3BvcnRfc3RyaW5nc1tp XS5vZmZzZXQpOw0KCQl4c3RhdHNbY291bnRdLmlkID0gY291bnQ7DQoJCWNvdW50Kys7DQoJfQ0K DQoJZm9yIChpID0gMDsgaSA8IEk0MEVfTkJfUlhRX1BSSU9fWFNUQVRTOyBpKyspIHsNCgkJZm9y IChwcmlvID0gMDsgcHJpbyA8IDg7IHByaW8rKykgew0KCQkJeHN0YXRzW2NvdW50XS52YWx1ZSA9 DQoJCQkJKih1aW50NjRfdCAqKSgoKGNoYXIgKilod19zdGF0cykgKw0KCQkJCXJ0ZV9pNDBlX3J4 cV9wcmlvX3N0cmluZ3NbaV0ub2Zmc2V0ICsNCgkJCQkoc2l6ZW9mKHVpbnQ2NF90KSAqIHByaW8p KTsNCgkJCXhzdGF0c1tjb3VudF0uaWQgPSBjb3VudDsNCgkJCWNvdW50Kys7DQoJCX0NCgl9DQoN Cglmb3IgKGkgPSAwOyBpIDwgSTQwRV9OQl9UWFFfUFJJT19YU1RBVFM7IGkrKykgew0KCQlmb3Ig KHByaW8gPSAwOyBwcmlvIDwgODsgcHJpbysrKSB7DQoJCQl4c3RhdHNbY291bnRdLnZhbHVlID0N CgkJCQkqKHVpbnQ2NF90ICopKCgoY2hhciAqKWh3X3N0YXRzKSArDQoJCQkJcnRlX2k0MGVfdHhx X3ByaW9fc3RyaW5nc1tpXS5vZmZzZXQgKw0KCQkJCShzaXplb2YodWludDY0X3QpICogcHJpbykp Ow0KCQkJeHN0YXRzW2NvdW50XS5pZCA9IGNvdW50Ow0KCQkJY291bnQrKzsNCgkJfQ0KCX0NCg0K CXJldHVybiBjb3VudDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9md192ZXJzaW9uX2dldChzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwgY2hhciAqZndfdmVyc2lvbiwgc2l6ZV90IGZ3X3NpemUpDQp7 DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEt PmRldl9wcml2YXRlKTsNCgl1MzIgZnVsbF92ZXI7DQoJdTggdmVyLCBwYXRjaDsNCgl1MTYgYnVp bGQ7DQoJaW50IHJldDsNCg0KCWZ1bGxfdmVyID0gaHctPm52bS5vZW1fdmVyOw0KCXZlciA9ICh1 OCkoZnVsbF92ZXIgPj4gMjQpOw0KCWJ1aWxkID0gKHUxNikoKGZ1bGxfdmVyID4+IDgpICYgMHhm ZmZmKTsNCglwYXRjaCA9ICh1OCkoZnVsbF92ZXIgJiAweGZmKTsNCg0KCXJldCA9IHNucHJpbnRm KGZ3X3ZlcnNpb24sIGZ3X3NpemUsDQoJCSAiJWQuJWQlZCAweCUwOHggJWQuJWQuJWQiLA0KCQkg KChody0+bnZtLnZlcnNpb24gPj4gMTIpICYgMHhmKSwNCgkJICgoaHctPm52bS52ZXJzaW9uID4+ IDQpICYgMHhmZiksDQoJCSAoaHctPm52bS52ZXJzaW9uICYgMHhmKSwgaHctPm52bS5lZXRyYWNr LA0KCQkgdmVyLCBidWlsZCwgcGF0Y2gpOw0KDQoJcmV0ICs9IDE7IC8qIGFkZCB0aGUgc2l6ZSBv ZiAnXDAnICovDQoJaWYgKGZ3X3NpemUgPCAodTMyKXJldCkNCgkJcmV0dXJuIHJldDsNCgllbHNl DQoJCXJldHVybiAwOw0KfQ0KDQovKg0KICogV2hlbiB1c2luZyBOVk0gNi4wMShmb3IgWDcxMCBY TDcxMCBYWFY3MTApLzMuMzMoZm9yIFg3MjIpIG9yIGxhdGVyLA0KICogdGhlIFJ4IGRhdGEgcGF0 aCBkb2VzIG5vdCBoYW5nIGlmIHRoZSBGVyBMTERQIGlzIHN0b3BwZWQuDQogKiByZXR1cm4gdHJ1 ZSBpZiBsbGRwIG5lZWQgdG8gc3RvcA0KICogcmV0dXJuIGZhbHNlIGlmIHdlIGNhbm5vdCBkaXNh YmxlIHRoZSBMTERQIHRvIGF2b2lkIFJ4IGRhdGEgcGF0aCBibG9ja2luZy4NCiAqLw0Kc3RhdGlj IGJvb2wNCmk0MGVfbmVlZF9zdG9wX2xsZHAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJ ZG91YmxlIG52bV92ZXI7DQoJY2hhciB2ZXJfc3RyWzY0XSA9IHswfTsNCglzdHJ1Y3QgaTQwZV9o dyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0K DQoJaTQwZV9md192ZXJzaW9uX2dldChkZXYsIHZlcl9zdHIsIDY0KTsNCgludm1fdmVyID0gYXRv Zih2ZXJfc3RyKTsNCglpZiAoKGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19YNzIyIHx8DQoJICAg ICBody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMl9WRikgJiYNCgkgICAgICgodWludDMyX3Qp KG52bV92ZXIgKiAxMDAwKSA+PSAodWludDMyX3QpKDMuMzMgKiAxMDAwKSkpDQoJCXJldHVybiB0 cnVlOw0KCWVsc2UgaWYgKCh1aW50MzJfdCkobnZtX3ZlciAqIDEwMDApID49ICh1aW50MzJfdCko Ni4wMSAqIDEwMDApKQ0KCQlyZXR1cm4gdHJ1ZTsNCg0KCXJldHVybiBmYWxzZTsNCn0NCg0Kc3Rh dGljIGludA0KaTQwZV9kZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVj dCBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBp NDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0 ZSk7DQoJc3RydWN0IGk0MGVfdnNpICp2c2kgPSBwZi0+bWFpbl92c2k7DQoJc3RydWN0IHJ0ZV9w Y2lfZGV2aWNlICpwY2lfZGV2ID0gUlRFX0VUSF9ERVZfVE9fUENJKGRldik7DQoNCglkZXZfaW5m by0+bWF4X3J4X3F1ZXVlcyA9IHZzaS0+bmJfcXBzOw0KCWRldl9pbmZvLT5tYXhfdHhfcXVldWVz ID0gdnNpLT5uYl9xcHM7DQoJZGV2X2luZm8tPm1pbl9yeF9idWZzaXplID0gSTQwRV9CVUZfU0la RV9NSU47DQoJZGV2X2luZm8tPm1heF9yeF9wa3RsZW4gPSBJNDBFX0ZSQU1FX1NJWkVfTUFYOw0K CWRldl9pbmZvLT5tYXhfbWFjX2FkZHJzID0gdnNpLT5tYXhfbWFjYWRkcnM7DQoJZGV2X2luZm8t Pm1heF92ZnMgPSBwY2lfZGV2LT5tYXhfdmZzOw0KCWRldl9pbmZvLT5tYXhfbXR1ID0gZGV2X2lu Zm8tPm1heF9yeF9wa3RsZW4gLSBJNDBFX0VUSF9PVkVSSEVBRDsNCglkZXZfaW5mby0+bWluX210 dSA9IFJURV9FVEhFUl9NSU5fTVRVOw0KCWRldl9pbmZvLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGEg PSAwOw0KCWRldl9pbmZvLT5yeF9vZmZsb2FkX2NhcGEgPQ0KCQlERVZfUlhfT0ZGTE9BRF9WTEFO X1NUUklQIHwNCgkJREVWX1JYX09GRkxPQURfUUlOUV9TVFJJUCB8DQoJCURFVl9SWF9PRkZMT0FE X0lQVjRfQ0tTVU0gfA0KCQlERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfA0KCQlERVZfUlhfT0ZG TE9BRF9UQ1BfQ0tTVU0gfA0KCQlERVZfUlhfT0ZGTE9BRF9PVVRFUl9JUFY0X0NLU1VNIHwNCgkJ REVWX1JYX09GRkxPQURfS0VFUF9DUkMgfA0KCQlERVZfUlhfT0ZGTE9BRF9TQ0FUVEVSIHwNCgkJ REVWX1JYX09GRkxPQURfVkxBTl9FWFRFTkQgfA0KCQlERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRF UiB8DQoJCURFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FIHwNCgkJREVWX1JYX09GRkxPQURfUlNT X0hBU0g7DQoNCglkZXZfaW5mby0+dHhfcXVldWVfb2ZmbG9hZF9jYXBhID0gREVWX1RYX09GRkxP QURfTUJVRl9GQVNUX0ZSRUU7DQoJZGV2X2luZm8tPnR4X29mZmxvYWRfY2FwYSA9DQoJCURFVl9U WF9PRkZMT0FEX1ZMQU5fSU5TRVJUIHwNCgkJREVWX1RYX09GRkxPQURfUUlOUV9JTlNFUlQgfA0K CQlERVZfVFhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwNCgkJREVWX1RYX09GRkxPQURfVURQX0NLU1VN IHwNCgkJREVWX1RYX09GRkxPQURfVENQX0NLU1VNIHwNCgkJREVWX1RYX09GRkxPQURfU0NUUF9D S1NVTSB8DQoJCURFVl9UWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0gfA0KCQlERVZfVFhfT0ZG TE9BRF9UQ1BfVFNPIHwNCgkJREVWX1RYX09GRkxPQURfVlhMQU5fVE5MX1RTTyB8DQoJCURFVl9U WF9PRkZMT0FEX0dSRV9UTkxfVFNPIHwNCgkJREVWX1RYX09GRkxPQURfSVBJUF9UTkxfVFNPIHwN CgkJREVWX1RYX09GRkxPQURfR0VORVZFX1ROTF9UU08gfA0KCQlERVZfVFhfT0ZGTE9BRF9NVUxU SV9TRUdTIHwNCgkJZGV2X2luZm8tPnR4X3F1ZXVlX29mZmxvYWRfY2FwYTsNCglkZXZfaW5mby0+ ZGV2X2NhcGEgPQ0KCQlSVEVfRVRIX0RFVl9DQVBBX1JVTlRJTUVfUlhfUVVFVUVfU0VUVVAgfA0K CQlSVEVfRVRIX0RFVl9DQVBBX1JVTlRJTUVfVFhfUVVFVUVfU0VUVVA7DQoNCglkZXZfaW5mby0+ aGFzaF9rZXlfc2l6ZSA9IChJNDBFX1BGUUZfSEtFWV9NQVhfSU5ERVggKyAxKSAqDQoJCQkJCQlz aXplb2YodWludDMyX3QpOw0KCWRldl9pbmZvLT5yZXRhX3NpemUgPSBwZi0+aGFzaF9sdXRfc2l6 ZTsNCglkZXZfaW5mby0+Zmxvd190eXBlX3Jzc19vZmZsb2FkcyA9IHBmLT5hZGFwdGVyLT5mbG93 X3R5cGVzX21hc2s7DQoNCglkZXZfaW5mby0+ZGVmYXVsdF9yeGNvbmYgPSAoc3RydWN0IHJ0ZV9l dGhfcnhjb25mKSB7DQoJCS5yeF90aHJlc2ggPSB7DQoJCQkucHRocmVzaCA9IEk0MEVfREVGQVVM VF9SWF9QVEhSRVNILA0KCQkJLmh0aHJlc2ggPSBJNDBFX0RFRkFVTFRfUlhfSFRIUkVTSCwNCgkJ CS53dGhyZXNoID0gSTQwRV9ERUZBVUxUX1JYX1dUSFJFU0gsDQoJCX0sDQoJCS5yeF9mcmVlX3Ro cmVzaCA9IEk0MEVfREVGQVVMVF9SWF9GUkVFX1RIUkVTSCwNCgkJLnJ4X2Ryb3BfZW4gPSAwLA0K CQkub2ZmbG9hZHMgPSAwLA0KCX07DQoNCglkZXZfaW5mby0+ZGVmYXVsdF90eGNvbmYgPSAoc3Ry dWN0IHJ0ZV9ldGhfdHhjb25mKSB7DQoJCS50eF90aHJlc2ggPSB7DQoJCQkucHRocmVzaCA9IEk0 MEVfREVGQVVMVF9UWF9QVEhSRVNILA0KCQkJLmh0aHJlc2ggPSBJNDBFX0RFRkFVTFRfVFhfSFRI UkVTSCwNCgkJCS53dGhyZXNoID0gSTQwRV9ERUZBVUxUX1RYX1dUSFJFU0gsDQoJCX0sDQoJCS50 eF9mcmVlX3RocmVzaCA9IEk0MEVfREVGQVVMVF9UWF9GUkVFX1RIUkVTSCwNCgkJLnR4X3JzX3Ro cmVzaCA9IEk0MEVfREVGQVVMVF9UWF9SU0JJVF9USFJFU0gsDQoJCS5vZmZsb2FkcyA9IDAsDQoJ fTsNCg0KCWRldl9pbmZvLT5yeF9kZXNjX2xpbSA9IChzdHJ1Y3QgcnRlX2V0aF9kZXNjX2xpbSkg ew0KCQkubmJfbWF4ID0gSTQwRV9NQVhfUklOR19ERVNDLA0KCQkubmJfbWluID0gSTQwRV9NSU5f UklOR19ERVNDLA0KCQkubmJfYWxpZ24gPSBJNDBFX0FMSUdOX1JJTkdfREVTQywNCgl9Ow0KDQoJ ZGV2X2luZm8tPnR4X2Rlc2NfbGltID0gKHN0cnVjdCBydGVfZXRoX2Rlc2NfbGltKSB7DQoJCS5u Yl9tYXggPSBJNDBFX01BWF9SSU5HX0RFU0MsDQoJCS5uYl9taW4gPSBJNDBFX01JTl9SSU5HX0RF U0MsDQoJCS5uYl9hbGlnbiA9IEk0MEVfQUxJR05fUklOR19ERVNDLA0KCQkubmJfc2VnX21heCA9 IEk0MEVfVFhfTUFYX1NFRywNCgkJLm5iX210dV9zZWdfbWF4ID0gSTQwRV9UWF9NQVhfTVRVX1NF RywNCgl9Ow0KDQoJaWYgKHBmLT5mbGFncyAmIEk0MEVfRkxBR19WTURRKSB7DQoJCWRldl9pbmZv LT5tYXhfdm1kcV9wb29scyA9IHBmLT5tYXhfbmJfdm1kcV92c2k7DQoJCWRldl9pbmZvLT52bWRx X3F1ZXVlX2Jhc2UgPSBkZXZfaW5mby0+bWF4X3J4X3F1ZXVlczsNCgkJZGV2X2luZm8tPnZtZHFf cXVldWVfbnVtID0gcGYtPnZtZHFfbmJfcXBzICoNCgkJCQkJCXBmLT5tYXhfbmJfdm1kcV92c2k7 DQoJCWRldl9pbmZvLT52bWRxX3Bvb2xfYmFzZSA9IEk0MEVfVk1EUV9QT09MX0JBU0U7DQoJCWRl dl9pbmZvLT5tYXhfcnhfcXVldWVzICs9IGRldl9pbmZvLT52bWRxX3F1ZXVlX251bTsNCgkJZGV2 X2luZm8tPm1heF90eF9xdWV1ZXMgKz0gZGV2X2luZm8tPnZtZHFfcXVldWVfbnVtOw0KCX0NCg0K CWlmIChJNDBFX1BIWV9UWVBFX1NVUFBPUlRfNDBHKGh3LT5waHkucGh5X3R5cGVzKSkgew0KCQkv KiBGb3IgWEw3MTAgKi8NCgkJZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfTElOS19TUEVFRF80 MEc7DQoJCWRldl9pbmZvLT5kZWZhdWx0X3J4cG9ydGNvbmYubmJfcXVldWVzID0gMjsNCgkJZGV2 X2luZm8tPmRlZmF1bHRfdHhwb3J0Y29uZi5uYl9xdWV1ZXMgPSAyOw0KCQlpZiAoZGV2LT5kYXRh LT5uYl9yeF9xdWV1ZXMgPT0gMSkNCgkJCWRldl9pbmZvLT5kZWZhdWx0X3J4cG9ydGNvbmYucmlu Z19zaXplID0gMjA0ODsNCgkJZWxzZQ0KCQkJZGV2X2luZm8tPmRlZmF1bHRfcnhwb3J0Y29uZi5y aW5nX3NpemUgPSAxMDI0Ow0KCQlpZiAoZGV2LT5kYXRhLT5uYl90eF9xdWV1ZXMgPT0gMSkNCgkJ CWRldl9pbmZvLT5kZWZhdWx0X3R4cG9ydGNvbmYucmluZ19zaXplID0gMTAyNDsNCgkJZWxzZQ0K CQkJZGV2X2luZm8tPmRlZmF1bHRfdHhwb3J0Y29uZi5yaW5nX3NpemUgPSA1MTI7DQoNCgl9IGVs c2UgaWYgKEk0MEVfUEhZX1RZUEVfU1VQUE9SVF8yNUcoaHctPnBoeS5waHlfdHlwZXMpKSB7DQoJ CS8qIEZvciBYWFY3MTAgKi8NCgkJZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfTElOS19TUEVF RF8yNUc7DQoJCWRldl9pbmZvLT5kZWZhdWx0X3J4cG9ydGNvbmYubmJfcXVldWVzID0gMTsNCgkJ ZGV2X2luZm8tPmRlZmF1bHRfdHhwb3J0Y29uZi5uYl9xdWV1ZXMgPSAxOw0KCQlkZXZfaW5mby0+ ZGVmYXVsdF9yeHBvcnRjb25mLnJpbmdfc2l6ZSA9IDI1NjsNCgkJZGV2X2luZm8tPmRlZmF1bHRf dHhwb3J0Y29uZi5yaW5nX3NpemUgPSAyNTY7DQoJfSBlbHNlIHsNCgkJLyogRm9yIFg3MTAgKi8N CgkJZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfTElOS19TUEVFRF8xRyB8IEVUSF9MSU5LX1NQ RUVEXzEwRzsNCgkJZGV2X2luZm8tPmRlZmF1bHRfcnhwb3J0Y29uZi5uYl9xdWV1ZXMgPSAxOw0K CQlkZXZfaW5mby0+ZGVmYXVsdF90eHBvcnRjb25mLm5iX3F1ZXVlcyA9IDE7DQoJCWlmIChkZXYt PmRhdGEtPmRldl9jb25mLmxpbmtfc3BlZWRzICYgRVRIX0xJTktfU1BFRURfMTBHKSB7DQoJCQlk ZXZfaW5mby0+ZGVmYXVsdF9yeHBvcnRjb25mLnJpbmdfc2l6ZSA9IDUxMjsNCgkJCWRldl9pbmZv LT5kZWZhdWx0X3R4cG9ydGNvbmYucmluZ19zaXplID0gMjU2Ow0KCQl9IGVsc2Ugew0KCQkJZGV2 X2luZm8tPmRlZmF1bHRfcnhwb3J0Y29uZi5yaW5nX3NpemUgPSAyNTY7DQoJCQlkZXZfaW5mby0+ ZGVmYXVsdF90eHBvcnRjb25mLnJpbmdfc2l6ZSA9IDI1NjsNCgkJfQ0KCX0NCglkZXZfaW5mby0+ ZGVmYXVsdF9yeHBvcnRjb25mLmJ1cnN0X3NpemUgPSAzMjsNCglkZXZfaW5mby0+ZGVmYXVsdF90 eHBvcnRjb25mLmJ1cnN0X3NpemUgPSAzMjsNCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50 DQppNDBlX3ZsYW5fZmlsdGVyX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3Qg dmxhbl9pZCwgaW50IG9uKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZB VEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfdnNpICp2c2kg PSBwZi0+bWFpbl92c2k7DQoJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KDQoJaWYgKG9uKQ0KCQly ZXR1cm4gaTQwZV92c2lfYWRkX3ZsYW4odnNpLCB2bGFuX2lkKTsNCgllbHNlDQoJCXJldHVybiBp NDBlX3ZzaV9kZWxldGVfdmxhbih2c2ksIHZsYW5faWQpOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBl X3ZsYW5fdHBpZF9zZXRfYnlfcmVnaXN0ZXJzKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJ CWVudW0gcnRlX3ZsYW5fdHlwZSB2bGFuX3R5cGUsDQoJCQkJdWludDE2X3QgdHBpZCwgaW50IHFp bnEpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCgl1aW50NjRfdCByZWdfciA9IDA7DQoJdWludDY0X3QgcmVn X3cgPSAwOw0KCXVpbnQxNl90IHJlZ19pZCA9IDM7DQoJaW50IHJldDsNCg0KCWlmIChxaW5xKSB7 DQoJCWlmICh2bGFuX3R5cGUgPT0gRVRIX1ZMQU5fVFlQRV9PVVRFUikNCgkJCXJlZ19pZCA9IDI7 DQoJfQ0KDQoJcmV0ID0gaTQwZV9hcV9kZWJ1Z19yZWFkX3JlZ2lzdGVyKGh3LCBJNDBFX0dMX1NX VF9MMlRBR0NUUkwocmVnX2lkKSwNCgkJCQkJICAmcmVnX3IsIE5VTEwpOw0KCWlmIChyZXQgIT0g STQwRV9TVUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwNCgkJCSAgICJGYWlsIHRvIGRlYnVn IHJlYWQgZnJvbSBJNDBFX0dMX1NXVF9MMlRBR0NUUkxbJWRdIiwNCgkJCSAgIHJlZ19pZCk7DQoJ CXJldHVybiAtRUlPOw0KCX0NCglQTURfRFJWX0xPRyhERUJVRywNCgkJICAgICJEZWJ1ZyByZWFk IGZyb20gSTQwRV9HTF9TV1RfTDJUQUdDVFJMWyVkXTogMHglMDgiUFJJeDY0LA0KCQkgICAgcmVn X2lkLCByZWdfcik7DQoNCglyZWdfdyA9IHJlZ19yICYgKH4oSTQwRV9HTF9TV1RfTDJUQUdDVFJM X0VUSEVSVFlQRV9NQVNLKSk7DQoJcmVnX3cgfD0gKCh1aW50NjRfdCl0cGlkIDw8IEk0MEVfR0xf U1dUX0wyVEFHQ1RSTF9FVEhFUlRZUEVfU0hJRlQpOw0KCWlmIChyZWdfciA9PSByZWdfdykgew0K CQlQTURfRFJWX0xPRyhERUJVRywgIk5vIG5lZWQgdG8gd3JpdGUiKTsNCgkJcmV0dXJuIDA7DQoJ fQ0KDQoJcmV0ID0gaTQwZV9hcV9kZWJ1Z193cml0ZV9nbG9iYWxfcmVnaXN0ZXIoaHcsDQoJCQkJ CSAgIEk0MEVfR0xfU1dUX0wyVEFHQ1RSTChyZWdfaWQpLA0KCQkJCQkgICByZWdfdywgTlVMTCk7 DQoJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLA0KCQkJICAg ICJGYWlsIHRvIGRlYnVnIHdyaXRlIHRvIEk0MEVfR0xfU1dUX0wyVEFHQ1RSTFslZF0iLA0KCQkJ ICAgIHJlZ19pZCk7DQoJCXJldHVybiAtRUlPOw0KCX0NCglQTURfRFJWX0xPRyhERUJVRywNCgkJ ICAgICJHbG9iYWwgcmVnaXN0ZXIgMHglMDh4IGlzIGNoYW5nZWQgd2l0aCB2YWx1ZSAweCUwOHgi LA0KCQkgICAgSTQwRV9HTF9TV1RfTDJUQUdDVFJMKHJlZ19pZCksICh1aW50MzJfdClyZWdfdyk7 DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV92bGFuX3RwaWRfc2V0KHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LA0KCQkgICBlbnVtIHJ0ZV92bGFuX3R5cGUgdmxhbl90eXBlLA0K CQkgICB1aW50MTZfdCB0cGlkKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BS SVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfcGYgKnBm ID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglpbnQg cWlucSA9IGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYNCgkJICAgREVWX1JY X09GRkxPQURfVkxBTl9FWFRFTkQ7DQoJaW50IHJldCA9IDA7DQoNCglpZiAoKHZsYW5fdHlwZSAh PSBFVEhfVkxBTl9UWVBFX0lOTkVSICYmDQoJICAgICB2bGFuX3R5cGUgIT0gRVRIX1ZMQU5fVFlQ RV9PVVRFUikgfHwNCgkgICAgKCFxaW5xICYmIHZsYW5fdHlwZSA9PSBFVEhfVkxBTl9UWVBFX0lO TkVSKSkgew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkgICAgIlVuc3VwcG9ydGVkIHZsYW4gdHlw ZS4iKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKHBmLT5zdXBwb3J0X211bHRpX2Ry aXZlcikgew0KCQlQTURfRFJWX0xPRyhFUlIsICJTZXR0aW5nIFRQSUQgaXMgbm90IHN1cHBvcnRl ZC4iKTsNCgkJcmV0dXJuIC1FTk9UU1VQOw0KCX0NCg0KCS8qIDgwMi4xYWQgZnJhbWVzIGFiaWxp dHkgaXMgYWRkZWQgaW4gTlZNIEFQSSAxLjcqLw0KCWlmIChody0+ZmxhZ3MgJiBJNDBFX0hXX0ZM QUdfODAyXzFBRF9DQVBBQkxFKSB7DQoJCWlmIChxaW5xKSB7DQoJCQlpZiAodmxhbl90eXBlID09 IEVUSF9WTEFOX1RZUEVfT1VURVIpDQoJCQkJaHctPmZpcnN0X3RhZyA9IHJ0ZV9jcHVfdG9fbGVf MTYodHBpZCk7DQoJCQllbHNlIGlmICh2bGFuX3R5cGUgPT0gRVRIX1ZMQU5fVFlQRV9JTk5FUikN CgkJCQlody0+c2Vjb25kX3RhZyA9IHJ0ZV9jcHVfdG9fbGVfMTYodHBpZCk7DQoJCX0gZWxzZSB7 DQoJCQlpZiAodmxhbl90eXBlID09IEVUSF9WTEFOX1RZUEVfT1VURVIpDQoJCQkJaHctPnNlY29u ZF90YWcgPSBydGVfY3B1X3RvX2xlXzE2KHRwaWQpOw0KCQl9DQoJCXJldCA9IGk0MGVfYXFfc2V0 X3N3aXRjaF9jb25maWcoaHcsIDAsIDAsIDAsIE5VTEwpOw0KCQlpZiAocmV0ICE9IEk0MEVfU1VD Q0VTUykgew0KCQkJUE1EX0RSVl9MT0coRVJSLA0KCQkJCSAgICAiU2V0IHN3aXRjaCBjb25maWcg ZmFpbGVkIGFxX2VycjogJWQiLA0KCQkJCSAgICBody0+YXEuYXNxX2xhc3Rfc3RhdHVzKTsNCgkJ CXJldCA9IC1FSU87DQoJCX0NCgl9IGVsc2UNCgkJLyogSWYgTlZNIEFQSSA8IDEuNywga2VlcCB0 aGUgcmVnaXN0ZXIgc2V0dGluZyAqLw0KCQlyZXQgPSBpNDBlX3ZsYW5fdHBpZF9zZXRfYnlfcmVn aXN0ZXJzKGRldiwgdmxhbl90eXBlLA0KCQkJCQkJICAgICAgdHBpZCwgcWlucSk7DQoNCglyZXR1 cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3ZsYW5fb2ZmbG9hZF9zZXQoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsIGludCBtYXNrKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVf REVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVf dnNpICp2c2kgPSBwZi0+bWFpbl92c2k7DQoJc3RydWN0IHJ0ZV9ldGhfcnhtb2RlICpyeG1vZGU7 DQoNCglpZiAobWFzayAmIEVUSF9RSU5RX1NUUklQX01BU0spIHsNCgkJUE1EX0RSVl9MT0coRVJS LCAiU3RyaXAgcWlucSBpcyBub3Qgc3VwcG9ydGVkLiIpOw0KCQlyZXR1cm4gLUVOT1RTVVA7DQoJ fQ0KDQoJcnhtb2RlID0gJmRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlOw0KCWlmIChtYXNrICYg RVRIX1ZMQU5fRklMVEVSX01BU0spIHsNCgkJaWYgKHJ4bW9kZS0+b2ZmbG9hZHMgJiBERVZfUlhf T0ZGTE9BRF9WTEFOX0ZJTFRFUikNCgkJCWk0MGVfdnNpX2NvbmZpZ192bGFuX2ZpbHRlcih2c2ks IFRSVUUpOw0KCQllbHNlDQoJCQlpNDBlX3ZzaV9jb25maWdfdmxhbl9maWx0ZXIodnNpLCBGQUxT RSk7DQoJfQ0KDQoJaWYgKG1hc2sgJiBFVEhfVkxBTl9TVFJJUF9NQVNLKSB7DQoJCS8qIEVuYWJs ZSBvciBkaXNhYmxlIFZMQU4gc3RyaXBwaW5nICovDQoJCWlmIChyeG1vZGUtPm9mZmxvYWRzICYg REVWX1JYX09GRkxPQURfVkxBTl9TVFJJUCkNCgkJCWk0MGVfdnNpX2NvbmZpZ192bGFuX3N0cmlw cGluZyh2c2ksIFRSVUUpOw0KCQllbHNlDQoJCQlpNDBlX3ZzaV9jb25maWdfdmxhbl9zdHJpcHBp bmcodnNpLCBGQUxTRSk7DQoJfQ0KDQoJaWYgKG1hc2sgJiBFVEhfVkxBTl9FWFRFTkRfTUFTSykg ew0KCQlpZiAocnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZMT0FEX1ZMQU5fRVhURU5EKSB7 DQoJCQlpNDBlX3ZzaV9jb25maWdfZG91YmxlX3ZsYW4odnNpLCBUUlVFKTsNCgkJCS8qIFNldCBn bG9iYWwgcmVnaXN0ZXJzIHdpdGggZGVmYXVsdCBldGhlcnR5cGUuICovDQoJCQlpNDBlX3ZsYW5f dHBpZF9zZXQoZGV2LCBFVEhfVkxBTl9UWVBFX09VVEVSLA0KCQkJCQkgICBSVEVfRVRIRVJfVFlQ RV9WTEFOKTsNCgkJCWk0MGVfdmxhbl90cGlkX3NldChkZXYsIEVUSF9WTEFOX1RZUEVfSU5ORVIs DQoJCQkJCSAgIFJURV9FVEhFUl9UWVBFX1ZMQU4pOw0KCQl9DQoJCWVsc2UNCgkJCWk0MGVfdnNp X2NvbmZpZ19kb3VibGVfdmxhbih2c2ksIEZBTFNFKTsNCgl9DQoNCglyZXR1cm4gMDsNCn0NCg0K c3RhdGljIHZvaWQNCmk0MGVfdmxhbl9zdHJpcF9xdWV1ZV9zZXQoX19ydGVfdW51c2VkIHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LA0KCQkJICBfX3J0ZV91bnVzZWQgdWludDE2X3QgcXVldWUsDQoJ CQkgIF9fcnRlX3VudXNlZCBpbnQgb24pDQp7DQoJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KfQ0K DQpzdGF0aWMgaW50DQppNDBlX3ZsYW5fcHZpZF9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYs IHVpbnQxNl90IHB2aWQsIGludCBvbikNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RF Vl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX3Zz aSAqdnNpID0gcGYtPm1haW5fdnNpOw0KCXN0cnVjdCBydGVfZXRoX2Rldl9kYXRhICpkYXRhID0g STQwRV9WU0lfVE9fREVWX0RBVEEodnNpKTsNCglzdHJ1Y3QgaTQwZV92c2lfdmxhbl9wdmlkX2lu Zm8gaW5mbzsNCg0KCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKGluZm8pKTsNCglpbmZvLm9uID0g b247DQoJaWYgKGluZm8ub24pDQoJCWluZm8uY29uZmlnLnB2aWQgPSBwdmlkOw0KCWVsc2Ugew0K CQlpbmZvLmNvbmZpZy5yZWplY3QudGFnZ2VkID0NCgkJCQlkYXRhLT5kZXZfY29uZi50eG1vZGUu aHdfdmxhbl9yZWplY3RfdGFnZ2VkOw0KCQlpbmZvLmNvbmZpZy5yZWplY3QudW50YWdnZWQgPQ0K CQkJCWRhdGEtPmRldl9jb25mLnR4bW9kZS5od192bGFuX3JlamVjdF91bnRhZ2dlZDsNCgl9DQoN CglyZXR1cm4gaTQwZV92c2lfdmxhbl9wdmlkX3NldCh2c2ksICZpbmZvKTsNCn0NCg0Kc3RhdGlj IGludA0KaTQwZV9kZXZfbGVkX29uKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVj dCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoJdWludDMyX3QgbW9kZSA9IGk0MGVfbGVkX2dldChodyk7DQoNCglpZiAobW9kZSA9 PSAwKQ0KCQlpNDBlX2xlZF9zZXQoaHcsIDB4ZiwgdHJ1ZSk7IC8qIDB4ZiBtZWFucyBsZWQgYWx3 YXlzIHRydWUgKi8NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Rldl9sZWRf b2ZmKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0 MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJdWludDMyX3Qg bW9kZSA9IGk0MGVfbGVkX2dldChodyk7DQoNCglpZiAobW9kZSAhPSAwKQ0KCQlpNDBlX2xlZF9z ZXQoaHcsIDAsIGZhbHNlKTsNCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Zs b3dfY3RybF9nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2ZjX2Nv bmYgKmZjX2NvbmYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9U T19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBF X0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KDQoJZmNfY29uZi0+ cGF1c2VfdGltZSA9IHBmLT5mY19jb25mLnBhdXNlX3RpbWU7DQoNCgkvKiByZWFkIG91dCBmcm9t IHJlZ2lzdGVyLCBpbiBjYXNlIHRoZXkgYXJlIG1vZGlmaWVkIGJ5IG90aGVyIHBvcnQgKi8NCglw Zi0+ZmNfY29uZi5oaWdoX3dhdGVyW0k0MEVfTUFYX1RSQUZGSUNfQ0xBU1NdID0NCgkJSTQwRV9S RUFEX1JFRyhodywgSTQwRV9HTFJQQl9HSFcpID4+IEk0MEVfS0lMT1NISUZUOw0KCXBmLT5mY19j b25mLmxvd193YXRlcltJNDBFX01BWF9UUkFGRklDX0NMQVNTXSA9DQoJCUk0MEVfUkVBRF9SRUco aHcsIEk0MEVfR0xSUEJfR0xXKSA+PiBJNDBFX0tJTE9TSElGVDsNCg0KCWZjX2NvbmYtPmhpZ2hf d2F0ZXIgPSAgcGYtPmZjX2NvbmYuaGlnaF93YXRlcltJNDBFX01BWF9UUkFGRklDX0NMQVNTXTsN CglmY19jb25mLT5sb3dfd2F0ZXIgPSBwZi0+ZmNfY29uZi5sb3dfd2F0ZXJbSTQwRV9NQVhfVFJB RkZJQ19DTEFTU107DQoNCgkgLyogUmV0dXJuIGN1cnJlbnQgbW9kZSBhY2NvcmRpbmcgdG8gYWN0 dWFsIHNldHRpbmcqLw0KCXN3aXRjaCAoaHctPmZjLmN1cnJlbnRfbW9kZSkgew0KCWNhc2UgSTQw RV9GQ19GVUxMOg0KCQlmY19jb25mLT5tb2RlID0gUlRFX0ZDX0ZVTEw7DQoJCWJyZWFrOw0KCWNh c2UgSTQwRV9GQ19UWF9QQVVTRToNCgkJZmNfY29uZi0+bW9kZSA9IFJURV9GQ19UWF9QQVVTRTsN CgkJYnJlYWs7DQoJY2FzZSBJNDBFX0ZDX1JYX1BBVVNFOg0KCQlmY19jb25mLT5tb2RlID0gUlRF X0ZDX1JYX1BBVVNFOw0KCQlicmVhazsNCgljYXNlIEk0MEVfRkNfTk9ORToNCglkZWZhdWx0Og0K CQlmY19jb25mLT5tb2RlID0gUlRFX0ZDX05PTkU7DQoJfTsNCg0KCXJldHVybiAwOw0KfQ0KDQpz dGF0aWMgaW50DQppNDBlX2Zsb3dfY3RybF9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0 cnVjdCBydGVfZXRoX2ZjX2NvbmYgKmZjX2NvbmYpDQp7DQoJdWludDMyX3QgbWZsY25fcmVnLCBm Y3RybF9yZWcsIHJlZzsNCgl1aW50MzJfdCBtYXhfaGlnaF93YXRlcjsNCgl1aW50OF90IGksIGFx X2ZhaWx1cmU7DQoJaW50IGVycjsNCglzdHJ1Y3QgaTQwZV9odyAqaHc7DQoJc3RydWN0IGk0MGVf cGYgKnBmOw0KCWVudW0gaTQwZV9mY19tb2RlIHJ0ZV9mY21vZGVfMl9pNDBlX2ZjbW9kZVtdID0g ew0KCQlbUlRFX0ZDX05PTkVdID0gSTQwRV9GQ19OT05FLA0KCQlbUlRFX0ZDX1JYX1BBVVNFXSA9 IEk0MEVfRkNfUlhfUEFVU0UsDQoJCVtSVEVfRkNfVFhfUEFVU0VdID0gSTQwRV9GQ19UWF9QQVVT RSwNCgkJW1JURV9GQ19GVUxMXSA9IEk0MEVfRkNfRlVMTA0KCX07DQoNCgkvKiBoaWdoX3dhdGVy IGZpZWxkIGluIHRoZSBydGVfZXRoX2ZjX2NvbmYgdXNpbmcgdGhlIGtpbG9ieXRlcyB1bml0ICov DQoNCgltYXhfaGlnaF93YXRlciA9IEk0MEVfUlhQQlNJWkUgPj4gSTQwRV9LSUxPU0hJRlQ7DQoJ aWYgKChmY19jb25mLT5oaWdoX3dhdGVyID4gbWF4X2hpZ2hfd2F0ZXIpIHx8DQoJCQkoZmNfY29u Zi0+aGlnaF93YXRlciA8IGZjX2NvbmYtPmxvd193YXRlcikpIHsNCgkJUE1EX0lOSVRfTE9HKEVS UiwNCgkJCSJJbnZhbGlkIGhpZ2gvbG93IHdhdGVyIHNldHVwIHZhbHVlIGluIEtCLCBIaWdoX3dh dGVyIG11c3QgYmUgPD0gJWQuIiwNCgkJCW1heF9oaWdoX3dhdGVyKTsNCgkJcmV0dXJuIC1FSU5W QUw7DQoJfQ0KDQoJaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpOw0KCXBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2 YXRlKTsNCglody0+ZmMucmVxdWVzdGVkX21vZGUgPSBydGVfZmNtb2RlXzJfaTQwZV9mY21vZGVb ZmNfY29uZi0+bW9kZV07DQoNCglwZi0+ZmNfY29uZi5wYXVzZV90aW1lID0gZmNfY29uZi0+cGF1 c2VfdGltZTsNCglwZi0+ZmNfY29uZi5oaWdoX3dhdGVyW0k0MEVfTUFYX1RSQUZGSUNfQ0xBU1Nd ID0gZmNfY29uZi0+aGlnaF93YXRlcjsNCglwZi0+ZmNfY29uZi5sb3dfd2F0ZXJbSTQwRV9NQVhf VFJBRkZJQ19DTEFTU10gPSBmY19jb25mLT5sb3dfd2F0ZXI7DQoNCglQTURfSU5JVF9GVU5DX1RS QUNFKCk7DQoNCgkvKiBBbGwgdGhlIGxpbmsgZmxvdyBjb250cm9sIHJlbGF0ZWQgZW5hYmxlL2Rp c2FibGUgcmVnaXN0ZXINCgkgKiBjb25maWd1cmF0aW9uIGlzIGhhbmRsZSBieSB0aGUgRi9XDQoJ ICovDQoJZXJyID0gaTQwZV9zZXRfZmMoaHcsICZhcV9mYWlsdXJlLCB0cnVlKTsNCglpZiAoZXJy IDwgMCkNCgkJcmV0dXJuIC1FTk9TWVM7DQoNCglpZiAoSTQwRV9QSFlfVFlQRV9TVVBQT1JUXzQw Ryhody0+cGh5LnBoeV90eXBlcykpIHsNCgkJLyogQ29uZmlndXJlIGZsb3cgY29udHJvbCByZWZy ZXNoIHRocmVzaG9sZCwNCgkJICogdGhlIHZhbHVlIGZvciBzdGF0X3R4X3BhdXNlX3JlZnJlc2hf dGltZXJbOF0NCgkJICogaXMgdXNlZCBmb3IgZ2xvYmFsIHBhdXNlIG9wZXJhdGlvbi4NCgkJICov DQoNCgkJSTQwRV9XUklURV9SRUcoaHcsDQoJCQkgICAgICAgSTQwRV9QUlRNQUNfSFNFQ19DVExf VFhfUEFVU0VfUkVGUkVTSF9USU1FUig4KSwNCgkJCSAgICAgICBwZi0+ZmNfY29uZi5wYXVzZV90 aW1lKTsNCg0KCQkvKiBjb25maWd1cmUgdGhlIHRpbWVyIHZhbHVlIGluY2x1ZGVkIGluIHRyYW5z bWl0dGVkIHBhdXNlDQoJCSAqIGZyYW1lLA0KCQkgKiB0aGUgdmFsdWUgZm9yIHN0YXRfdHhfcGF1 c2VfcXVhbnRhWzhdIGlzIHVzZWQgZm9yIGdsb2JhbA0KCQkgKiBwYXVzZSBvcGVyYXRpb24NCgkJ ICovDQoJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BSVE1BQ19IU0VDX0NUTF9UWF9QQVVTRV9R VUFOVEEoOCksDQoJCQkgICAgICAgcGYtPmZjX2NvbmYucGF1c2VfdGltZSk7DQoNCgkJZmN0cmxf cmVnID0gSTQwRV9SRUFEX1JFRyhodywNCgkJCQkJICBJNDBFX1BSVE1BQ19IU0VDX0NUTF9SWF9G T1JXQVJEX0NPTlRST0wpOw0KDQoJCWlmIChmY19jb25mLT5tYWNfY3RybF9mcmFtZV9md2QgIT0g MCkNCgkJCWZjdHJsX3JlZyB8PSBJNDBFX1BSVE1BQ19GV0RfQ1RSTDsNCgkJZWxzZQ0KCQkJZmN0 cmxfcmVnICY9IH5JNDBFX1BSVE1BQ19GV0RfQ1RSTDsNCg0KCQlJNDBFX1dSSVRFX1JFRyhodywg STQwRV9QUlRNQUNfSFNFQ19DVExfUlhfRk9SV0FSRF9DT05UUk9MLA0KCQkJICAgICAgIGZjdHJs X3JlZyk7DQoJfSBlbHNlIHsNCgkJLyogQ29uZmlndXJlIHBhdXNlIHRpbWUgKDIgVENzIHBlciBy ZWdpc3RlcikgKi8NCgkJcmVnID0gKHVpbnQzMl90KXBmLT5mY19jb25mLnBhdXNlX3RpbWUgKiAo dWludDMyX3QpMHgwMDAxMDAwMTsNCgkJZm9yIChpID0gMDsgaSA8IEk0MEVfTUFYX1RSQUZGSUNf Q0xBU1MgLyAyOyBpKyspDQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlREQ0JfRkNUVFZO KGkpLCByZWcpOw0KDQoJCS8qIENvbmZpZ3VyZSBmbG93IGNvbnRyb2wgcmVmcmVzaCB0aHJlc2hv bGQgdmFsdWUgKi8NCgkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJURENCX0ZDUlRWLA0KCQkJ ICAgICAgIHBmLT5mY19jb25mLnBhdXNlX3RpbWUgLyAyKTsNCg0KCQltZmxjbl9yZWcgPSBJNDBF X1JFQURfUkVHKGh3LCBJNDBFX1BSVERDQl9NRkxDTik7DQoNCgkJLyogc2V0IG9yIGNsZWFyIE1G TENOLlBNQ0YgJiBNRkxDTi5EUEYgYml0cw0KCQkgKmRlcGVuZGluZyBvbiBjb25maWd1cmF0aW9u DQoJCSAqLw0KCQlpZiAoZmNfY29uZi0+bWFjX2N0cmxfZnJhbWVfZndkICE9IDApIHsNCgkJCW1m bGNuX3JlZyB8PSBJNDBFX1BSVERDQl9NRkxDTl9QTUNGX01BU0s7DQoJCQltZmxjbl9yZWcgJj0g fkk0MEVfUFJURENCX01GTENOX0RQRl9NQVNLOw0KCQl9IGVsc2Ugew0KCQkJbWZsY25fcmVnICY9 IH5JNDBFX1BSVERDQl9NRkxDTl9QTUNGX01BU0s7DQoJCQltZmxjbl9yZWcgfD0gSTQwRV9QUlRE Q0JfTUZMQ05fRFBGX01BU0s7DQoJCX0NCg0KCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlRE Q0JfTUZMQ04sIG1mbGNuX3JlZyk7DQoJfQ0KDQoJaWYgKCFwZi0+c3VwcG9ydF9tdWx0aV9kcml2 ZXIpIHsNCgkJLyogY29uZmlnIHdhdGVyIG1hcmtlciBib3RoIGJhc2VkIG9uIHRoZSBwYWNrZXRz IGFuZCBieXRlcyAqLw0KCQlJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xSUEJfUEhXLA0K CQkJCSAocGYtPmZjX2NvbmYuaGlnaF93YXRlcltJNDBFX01BWF9UUkFGRklDX0NMQVNTXQ0KCQkJ CSA8PCBJNDBFX0tJTE9TSElGVCkgLyBJNDBFX1BBQ0tFVF9BVkVSQUdFX1NJWkUpOw0KCQlJNDBF X1dSSVRFX0dMQl9SRUcoaHcsIEk0MEVfR0xSUEJfUExXLA0KCQkJCSAgKHBmLT5mY19jb25mLmxv d193YXRlcltJNDBFX01BWF9UUkFGRklDX0NMQVNTXQ0KCQkJCSA8PCBJNDBFX0tJTE9TSElGVCkg LyBJNDBFX1BBQ0tFVF9BVkVSQUdFX1NJWkUpOw0KCQlJNDBFX1dSSVRFX0dMQl9SRUcoaHcsIEk0 MEVfR0xSUEJfR0hXLA0KCQkJCSAgcGYtPmZjX2NvbmYuaGlnaF93YXRlcltJNDBFX01BWF9UUkFG RklDX0NMQVNTXQ0KCQkJCSAgPDwgSTQwRV9LSUxPU0hJRlQpOw0KCQlJNDBFX1dSSVRFX0dMQl9S RUcoaHcsIEk0MEVfR0xSUEJfR0xXLA0KCQkJCSAgIHBmLT5mY19jb25mLmxvd193YXRlcltJNDBF X01BWF9UUkFGRklDX0NMQVNTXQ0KCQkJCSAgIDw8IEk0MEVfS0lMT1NISUZUKTsNCgl9IGVsc2Ug ew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkgICAgIldhdGVyIG1hcmtlciBjb25maWd1cmF0aW9u IGlzIG5vdCBzdXBwb3J0ZWQuIik7DQoJfQ0KDQoJSTQwRV9XUklURV9GTFVTSChodyk7DQoNCgly ZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9wcmlvcml0eV9mbG93X2N0cmxfc2V0KF9f cnRlX3VudXNlZCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCSAgICBfX3J0ZV91bnVzZWQg c3RydWN0IHJ0ZV9ldGhfcGZjX2NvbmYgKnBmY19jb25mKQ0Kew0KCVBNRF9JTklUX0ZVTkNfVFJB Q0UoKTsNCg0KCXJldHVybiAtRU5PU1lTOw0KfQ0KDQovKiBBZGQgYSBNQUMgYWRkcmVzcywgYW5k IHVwZGF0ZSBmaWx0ZXJzICovDQpzdGF0aWMgaW50DQppNDBlX21hY2FkZHJfYWRkKHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LA0KCQkgc3RydWN0IHJ0ZV9ldGhlcl9hZGRyICptYWNfYWRkciwNCgkJ IF9fcnRlX3VudXNlZCB1aW50MzJfdCBpbmRleCwNCgkJIHVpbnQzMl90IHBvb2wpDQp7DQoJc3Ry dWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9w cml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9tYWNfZmlsdGVyX2luZm8gbWFjX2ZpbHRlcjsNCglzdHJ1 Y3QgaTQwZV92c2kgKnZzaTsNCglzdHJ1Y3QgcnRlX2V0aF9yeG1vZGUgKnJ4bW9kZSA9ICZkZXYt PmRhdGEtPmRldl9jb25mLnJ4bW9kZTsNCglpbnQgcmV0Ow0KDQoJLyogSWYgVk1EUSBub3QgZW5h YmxlZCBvciBjb25maWd1cmVkLCByZXR1cm4gKi8NCglpZiAocG9vbCAhPSAwICYmICghKHBmLT5m bGFncyAmIEk0MEVfRkxBR19WTURRKSB8fA0KCQkJICAhcGYtPm5iX2NmZ192bWRxX3ZzaSkpIHsN CgkJUE1EX0RSVl9MT0coRVJSLCAiVk1EUSBub3QgJXMsIGNhbid0IHNldCBtYWMgdG8gcG9vbCAl dSIsDQoJCQlwZi0+ZmxhZ3MgJiBJNDBFX0ZMQUdfVk1EUSA/ICJjb25maWd1cmVkIiA6ICJlbmFi bGVkIiwNCgkJCXBvb2wpOw0KCQlyZXR1cm4gLUVOT1RTVVA7DQoJfQ0KDQoJaWYgKHBvb2wgPiBw Zi0+bmJfY2ZnX3ZtZHFfdnNpKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIlBvb2wgbnVtYmVyICV1 IGludmFsaWQuIE1heCBwb29sIGlzICV1IiwNCgkJCQlwb29sLCBwZi0+bmJfY2ZnX3ZtZHFfdnNp KTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJcnRlX21lbWNweSgmbWFjX2ZpbHRlci5tYWNf YWRkciwgbWFjX2FkZHIsIFJURV9FVEhFUl9BRERSX0xFTik7DQoJaWYgKHJ4bW9kZS0+b2ZmbG9h ZHMgJiBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUikNCgkJbWFjX2ZpbHRlci5maWx0ZXJfdHlw ZSA9IFJURV9NQUNWTEFOX1BFUkZFQ1RfTUFUQ0g7DQoJZWxzZQ0KCQltYWNfZmlsdGVyLmZpbHRl cl90eXBlID0gUlRFX01BQ19QRVJGRUNUX01BVENIOw0KDQoJaWYgKHBvb2wgPT0gMCkNCgkJdnNp ID0gcGYtPm1haW5fdnNpOw0KCWVsc2UNCgkJdnNpID0gcGYtPnZtZHFbcG9vbCAtIDFdLnZzaTsN Cg0KCXJldCA9IGk0MGVfdnNpX2FkZF9tYWModnNpLCAmbWFjX2ZpbHRlcik7DQoJaWYgKHJldCAh PSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFkZCBNQUNW TEFOIGZpbHRlciIpOw0KCQlyZXR1cm4gLUVOT0RFVjsNCgl9DQoJcmV0dXJuIDA7DQp9DQoNCi8q IFJlbW92ZSBhIE1BQyBhZGRyZXNzLCBhbmQgdXBkYXRlIGZpbHRlcnMgKi8NCnN0YXRpYyB2b2lk DQppNDBlX21hY2FkZHJfcmVtb3ZlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MzJfdCBp bmRleCkNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpOw0KCXN0cnVjdCBy dGVfZXRoX2Rldl9kYXRhICpkYXRhID0gZGV2LT5kYXRhOw0KCXN0cnVjdCBydGVfZXRoZXJfYWRk ciAqbWFjYWRkcjsNCglpbnQgcmV0Ow0KCXVpbnQzMl90IGk7DQoJdWludDY0X3QgcG9vbF9zZWw7 DQoNCgltYWNhZGRyID0gJihkYXRhLT5tYWNfYWRkcnNbaW5kZXhdKTsNCg0KCXBvb2xfc2VsID0g ZGV2LT5kYXRhLT5tYWNfcG9vbF9zZWxbaW5kZXhdOw0KDQoJZm9yIChpID0gMDsgaSA8IHNpemVv Zihwb29sX3NlbCkgKiBDSEFSX0JJVDsgaSsrKSB7DQoJCWlmIChwb29sX3NlbCAmICgxVUxMIDw8 IGkpKSB7DQoJCQlpZiAoaSA9PSAwKQ0KCQkJCXZzaSA9IHBmLT5tYWluX3ZzaTsNCgkJCWVsc2Ug ew0KCQkJCS8qIE5vIFZNRFEgcG9vbCBlbmFibGVkIG9yIGNvbmZpZ3VyZWQgKi8NCgkJCQlpZiAo IShwZi0+ZmxhZ3MgJiBJNDBFX0ZMQUdfVk1EUSkgfHwNCgkJCQkJKGkgPiBwZi0+bmJfY2ZnX3Zt ZHFfdnNpKSkgew0KCQkJCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJCQkiTm8gVk1EUSBwb29sIGVu YWJsZWQvY29uZmlndXJlZCIpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCXZzaSA9IHBmLT52 bWRxW2kgLSAxXS52c2k7DQoJCQl9DQoJCQlyZXQgPSBpNDBlX3ZzaV9kZWxldGVfbWFjKHZzaSwg bWFjYWRkcik7DQoNCgkJCWlmIChyZXQpIHsNCgkJCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQg dG8gcmVtb3ZlIE1BQ1ZMQU4gZmlsdGVyIik7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQl9DQoJfQ0K fQ0KDQovKiBTZXQgcGVyZmVjdCBtYXRjaCBvciBoYXNoIG1hdGNoIG9mIE1BQyBhbmQgVkxBTiBm b3IgYSBWRiAqLw0Kc3RhdGljIGludA0KaTQwZV92Zl9tYWNfZmlsdGVyX3NldChzdHJ1Y3QgaTQw ZV9wZiAqcGYsDQoJCSBzdHJ1Y3QgcnRlX2V0aF9tYWNfZmlsdGVyICpmaWx0ZXIsDQoJCSBib29s IGFkZCkNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHc7DQoJc3RydWN0IGk0MGVfbWFjX2ZpbHRlcl9p bmZvIG1hY19maWx0ZXI7DQoJc3RydWN0IHJ0ZV9ldGhlcl9hZGRyIG9sZF9tYWM7DQoJc3RydWN0 IHJ0ZV9ldGhlcl9hZGRyICpuZXdfbWFjOw0KCXN0cnVjdCBpNDBlX3BmX3ZmICp2ZiA9IE5VTEw7 DQoJdWludDE2X3QgdmZfaWQ7DQoJaW50IHJldDsNCg0KCWlmIChwZiA9PSBOVUxMKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwgIkludmFsaWQgUEYgYXJndW1lbnQuIik7DQoJCXJldHVybiAtRUlOVkFM Ow0KCX0NCglodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KDQoJaWYgKGZpbHRlciA9PSBOVUxMKSB7 DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkludmFsaWQgbWFjIGZpbHRlciBhcmd1bWVudC4iKTsNCgkJ cmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJbmV3X21hYyA9ICZmaWx0ZXItPm1hY19hZGRyOw0KDQoJ aWYgKHJ0ZV9pc196ZXJvX2V0aGVyX2FkZHIobmV3X21hYykpIHsNCgkJUE1EX0RSVl9MT0coRVJS LCAiSW52YWxpZCBldGhlcm5ldCBhZGRyZXNzLiIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoN Cgl2Zl9pZCA9IGZpbHRlci0+ZHN0X2lkOw0KDQoJaWYgKHZmX2lkID4gcGYtPnZmX251bSAtIDEg fHwgIXBmLT52ZnMpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCBhcmd1bWVudC4iKTsN CgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KCXZmID0gJnBmLT52ZnNbdmZfaWRdOw0KDQoJaWYgKGFk ZCAmJiBydGVfaXNfc2FtZV9ldGhlcl9hZGRyKG5ld19tYWMsICZwZi0+ZGV2X2FkZHIpKSB7DQoJ CVBNRF9EUlZfTE9HKElORk8sICJJZ25vcmUgYWRkaW5nIHBlcm1hbmVudCBNQUMgYWRkcmVzcy4i KTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKGFkZCkgew0KCQlydGVfbWVtY3B5KCZv bGRfbWFjLCBody0+bWFjLmFkZHIsIFJURV9FVEhFUl9BRERSX0xFTik7DQoJCXJ0ZV9tZW1jcHko aHctPm1hYy5hZGRyLCBuZXdfbWFjLT5hZGRyX2J5dGVzLA0KCQkJCVJURV9FVEhFUl9BRERSX0xF Tik7DQoJCXJ0ZV9tZW1jcHkoJm1hY19maWx0ZXIubWFjX2FkZHIsICZmaWx0ZXItPm1hY19hZGRy LA0KCQkJCSBSVEVfRVRIRVJfQUREUl9MRU4pOw0KDQoJCW1hY19maWx0ZXIuZmlsdGVyX3R5cGUg PSBmaWx0ZXItPmZpbHRlcl90eXBlOw0KCQlyZXQgPSBpNDBlX3ZzaV9hZGRfbWFjKHZmLT52c2ks ICZtYWNfZmlsdGVyKTsNCgkJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJCVBNRF9EUlZf TE9HKEVSUiwgIkZhaWxlZCB0byBhZGQgTUFDIGZpbHRlci4iKTsNCgkJCXJldHVybiAtMTsNCgkJ fQ0KCQlydGVfZXRoZXJfYWRkcl9jb3B5KG5ld19tYWMsICZwZi0+ZGV2X2FkZHIpOw0KCX0gZWxz ZSB7DQoJCXJ0ZV9tZW1jcHkoaHctPm1hYy5hZGRyLCBody0+bWFjLnBlcm1fYWRkciwNCgkJCQlS VEVfRVRIRVJfQUREUl9MRU4pOw0KCQlyZXQgPSBpNDBlX3ZzaV9kZWxldGVfbWFjKHZmLT52c2ks ICZmaWx0ZXItPm1hY19hZGRyKTsNCgkJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJCVBN RF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBkZWxldGUgTUFDIGZpbHRlci4iKTsNCgkJCXJldHVy biAtMTsNCgkJfQ0KDQoJCS8qIENsZWFyIGRldmljZSBhZGRyZXNzIGFzIGl0IGhhcyBiZWVuIHJl bW92ZWQgKi8NCgkJaWYgKHJ0ZV9pc19zYW1lX2V0aGVyX2FkZHIoJnBmLT5kZXZfYWRkciwgbmV3 X21hYykpDQoJCQltZW1zZXQoJnBmLT5kZXZfYWRkciwgMCwgc2l6ZW9mKHN0cnVjdCBydGVfZXRo ZXJfYWRkcikpOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQovKiBNQUMgZmlsdGVyIGhhbmRsZSAq Lw0Kc3RhdGljIGludA0KaTQwZV9tYWNfZmlsdGVyX2hhbmRsZShzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwgZW51bSBydGVfZmlsdGVyX29wIGZpbHRlcl9vcCwNCgkJdm9pZCAqYXJnKQ0Kew0KCXN0 cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZf cHJpdmF0ZSk7DQoJc3RydWN0IHJ0ZV9ldGhfbWFjX2ZpbHRlciAqZmlsdGVyOw0KCXN0cnVjdCBp NDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCWludCByZXQgPSBJNDBFX05PVF9TVVBQ T1JURUQ7DQoNCglmaWx0ZXIgPSAoc3RydWN0IHJ0ZV9ldGhfbWFjX2ZpbHRlciAqKShhcmcpOw0K DQoJc3dpdGNoIChmaWx0ZXJfb3ApIHsNCgljYXNlIFJURV9FVEhfRklMVEVSX05PUDoNCgkJcmV0 ID0gSTQwRV9TVUNDRVNTOw0KCQlicmVhazsNCgljYXNlIFJURV9FVEhfRklMVEVSX0FERDoNCgkJ aTQwZV9wZl9kaXNhYmxlX2lycTAoaHcpOw0KCQlpZiAoZmlsdGVyLT5pc192ZikNCgkJCXJldCA9 IGk0MGVfdmZfbWFjX2ZpbHRlcl9zZXQocGYsIGZpbHRlciwgMSk7DQoJCWk0MGVfcGZfZW5hYmxl X2lycTAoaHcpOw0KCQlicmVhazsNCgljYXNlIFJURV9FVEhfRklMVEVSX0RFTEVURToNCgkJaTQw ZV9wZl9kaXNhYmxlX2lycTAoaHcpOw0KCQlpZiAoZmlsdGVyLT5pc192ZikNCgkJCXJldCA9IGk0 MGVfdmZfbWFjX2ZpbHRlcl9zZXQocGYsIGZpbHRlciwgMCk7DQoJCWk0MGVfcGZfZW5hYmxlX2ly cTAoaHcpOw0KCQlicmVhazsNCglkZWZhdWx0Og0KCQlQTURfRFJWX0xPRyhFUlIsICJ1bmtub3du IG9wZXJhdGlvbiAldSIsIGZpbHRlcl9vcCk7DQoJCXJldCA9IEk0MEVfRVJSX1BBUkFNOw0KCQli cmVhazsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2dldF9yc3Nf bHV0KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90ICpsdXQsIHVpbnQxNl90IGx1dF9zaXpl KQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfVlNJX1RPX1BGKHZzaSk7DQoJc3RydWN0 IGk0MGVfaHcgKmh3ID0gSTQwRV9WU0lfVE9fSFcodnNpKTsNCgl1aW50MzJfdCByZWc7DQoJaW50 IHJldDsNCg0KCWlmICghbHV0KQ0KCQlyZXR1cm4gLUVJTlZBTDsNCg0KCWlmIChwZi0+ZmxhZ3Mg JiBJNDBFX0ZMQUdfUlNTX0FRX0NBUEFCTEUpIHsNCgkJcmV0ID0gaTQwZV9hcV9nZXRfcnNzX2x1 dChodywgdnNpLT52c2lfaWQsDQoJCQkJCSAgdnNpLT50eXBlICE9IEk0MEVfVlNJX1NSSU9WLA0K CQkJCQkgIGx1dCwgbHV0X3NpemUpOw0KCQlpZiAocmV0KSB7DQoJCQlQTURfRFJWX0xPRyhFUlIs ICJGYWlsZWQgdG8gZ2V0IFJTUyBsb29rdXAgdGFibGUiKTsNCgkJCXJldHVybiByZXQ7DQoJCX0N Cgl9IGVsc2Ugew0KCQl1aW50MzJfdCAqbHV0X2R3ID0gKHVpbnQzMl90ICopbHV0Ow0KCQl1aW50 MTZfdCBpLCBsdXRfc2l6ZV9kdyA9IGx1dF9zaXplIC8gNDsNCg0KCQlpZiAodnNpLT50eXBlID09 IEk0MEVfVlNJX1NSSU9WKSB7DQoJCQlmb3IgKGkgPSAwOyBpIDw9IGx1dF9zaXplX2R3OyBpKysp IHsNCgkJCQlyZWcgPSBJNDBFX1ZGUUZfSExVVDEoaSwgdnNpLT51c2VyX3BhcmFtKTsNCgkJCQls dXRfZHdbaV0gPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCByZWcpOw0KCQkJfQ0KCQl9IGVsc2Ugew0K CQkJZm9yIChpID0gMDsgaSA8IGx1dF9zaXplX2R3OyBpKyspDQoJCQkJbHV0X2R3W2ldID0gSTQw RV9SRUFEX1JFRyhodywNCgkJCQkJCQkgIEk0MEVfUEZRRl9ITFVUKGkpKTsNCgkJfQ0KCX0NCg0K CXJldHVybiAwOw0KfQ0KDQppbnQNCmk0MGVfc2V0X3Jzc19sdXQoc3RydWN0IGk0MGVfdnNpICp2 c2ksIHVpbnQ4X3QgKmx1dCwgdWludDE2X3QgbHV0X3NpemUpDQp7DQoJc3RydWN0IGk0MGVfcGYg KnBmOw0KCXN0cnVjdCBpNDBlX2h3ICpodzsNCglpbnQgcmV0Ow0KDQoJaWYgKCF2c2kgfHwgIWx1 dCkNCgkJcmV0dXJuIC1FSU5WQUw7DQoNCglwZiA9IEk0MEVfVlNJX1RPX1BGKHZzaSk7DQoJaHcg PSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KDQoJaWYgKHBmLT5mbGFncyAmIEk0MEVfRkxBR19SU1Nf QVFfQ0FQQUJMRSkgew0KCQlyZXQgPSBpNDBlX2FxX3NldF9yc3NfbHV0KGh3LCB2c2ktPnZzaV9p ZCwNCgkJCQkJICB2c2ktPnR5cGUgIT0gSTQwRV9WU0lfU1JJT1YsDQoJCQkJCSAgbHV0LCBsdXRf c2l6ZSk7DQoJCWlmIChyZXQpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQg UlNTIGxvb2t1cCB0YWJsZSIpOw0KCQkJcmV0dXJuIHJldDsNCgkJfQ0KCX0gZWxzZSB7DQoJCXVp bnQzMl90ICpsdXRfZHcgPSAodWludDMyX3QgKilsdXQ7DQoJCXVpbnQxNl90IGksIGx1dF9zaXpl X2R3ID0gbHV0X3NpemUgLyA0Ow0KDQoJCWlmICh2c2ktPnR5cGUgPT0gSTQwRV9WU0lfU1JJT1Yp IHsNCgkJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZV9kdzsgaSsrKQ0KCQkJCUk0MEVfV1JJVEVf UkVHKA0KCQkJCQlodywNCgkJCQkJSTQwRV9WRlFGX0hMVVQxKGksIHZzaS0+dXNlcl9wYXJhbSks DQoJCQkJCWx1dF9kd1tpXSk7DQoJCX0gZWxzZSB7DQoJCQlmb3IgKGkgPSAwOyBpIDwgbHV0X3Np emVfZHc7IGkrKykNCgkJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRlFGX0hMVVQoaSksDQoJ CQkJCSAgICAgICBsdXRfZHdbaV0pOw0KCQl9DQoJCUk0MEVfV1JJVEVfRkxVU0goaHcpOw0KCX0N Cg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Rldl9yc3NfcmV0YV91cGRhdGUo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkgc3RydWN0IHJ0ZV9ldGhfcnNzX3JldGFfZW50 cnk2NCAqcmV0YV9jb25mLA0KCQkJIHVpbnQxNl90IHJldGFfc2l6ZSkNCnsNCglzdHJ1Y3QgaTQw ZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUp Ow0KCXVpbnQxNl90IGksIGx1dF9zaXplID0gcGYtPmhhc2hfbHV0X3NpemU7DQoJdWludDE2X3Qg aWR4LCBzaGlmdDsNCgl1aW50OF90ICpsdXQ7DQoJaW50IHJldDsNCg0KCWlmIChyZXRhX3NpemUg IT0gbHV0X3NpemUgfHwNCgkJcmV0YV9zaXplID4gRVRIX1JTU19SRVRBX1NJWkVfNTEyKSB7DQoJ CVBNRF9EUlZfTE9HKEVSUiwNCgkJCSJUaGUgc2l6ZSBvZiBoYXNoIGxvb2t1cCB0YWJsZSBjb25m aWd1cmVkICglZCkgZG9lc24ndCBtYXRjaCB0aGUgbnVtYmVyIGhhcmR3YXJlIGNhbiBzdXBwb3J0 ZWQgKCVkKSIsDQoJCQlyZXRhX3NpemUsIGx1dF9zaXplKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJ fQ0KDQoJbHV0ID0gcnRlX3ptYWxsb2MoImk0MGVfcnNzX2x1dCIsIHJldGFfc2l6ZSwgMCk7DQoJ aWYgKCFsdXQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiTm8gbWVtb3J5IGNhbiBiZSBhbGxvY2F0 ZWQiKTsNCgkJcmV0dXJuIC1FTk9NRU07DQoJfQ0KCXJldCA9IGk0MGVfZ2V0X3Jzc19sdXQocGYt Pm1haW5fdnNpLCBsdXQsIHJldGFfc2l6ZSk7DQoJaWYgKHJldCkNCgkJZ290byBvdXQ7DQoJZm9y IChpID0gMDsgaSA8IHJldGFfc2l6ZTsgaSsrKSB7DQoJCWlkeCA9IGkgLyBSVEVfUkVUQV9HUk9V UF9TSVpFOw0KCQlzaGlmdCA9IGkgJSBSVEVfUkVUQV9HUk9VUF9TSVpFOw0KCQlpZiAocmV0YV9j b25mW2lkeF0ubWFzayAmICgxVUxMIDw8IHNoaWZ0KSkNCgkJCWx1dFtpXSA9IHJldGFfY29uZltp ZHhdLnJldGFbc2hpZnRdOw0KCX0NCglyZXQgPSBpNDBlX3NldF9yc3NfbHV0KHBmLT5tYWluX3Zz aSwgbHV0LCByZXRhX3NpemUpOw0KDQoJcGYtPmFkYXB0ZXItPnJzc19yZXRhX3VwZGF0ZWQgPSAx Ow0KDQpvdXQ6DQoJcnRlX2ZyZWUobHV0KTsNCg0KCXJldHVybiByZXQ7DQp9DQoNCnN0YXRpYyBp bnQNCmk0MGVfZGV2X3Jzc19yZXRhX3F1ZXJ5KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJ c3RydWN0IHJ0ZV9ldGhfcnNzX3JldGFfZW50cnk2NCAqcmV0YV9jb25mLA0KCQkJdWludDE2X3Qg cmV0YV9zaXplKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9f UEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJdWludDE2X3QgaSwgbHV0X3NpemUgPSBwZi0+ aGFzaF9sdXRfc2l6ZTsNCgl1aW50MTZfdCBpZHgsIHNoaWZ0Ow0KCXVpbnQ4X3QgKmx1dDsNCglp bnQgcmV0Ow0KDQoJaWYgKHJldGFfc2l6ZSAhPSBsdXRfc2l6ZSB8fA0KCQlyZXRhX3NpemUgPiBF VEhfUlNTX1JFVEFfU0laRV81MTIpIHsNCgkJUE1EX0RSVl9MT0coRVJSLA0KCQkJIlRoZSBzaXpl IG9mIGhhc2ggbG9va3VwIHRhYmxlIGNvbmZpZ3VyZWQgKCVkKSBkb2Vzbid0IG1hdGNoIHRoZSBu dW1iZXIgaGFyZHdhcmUgY2FuIHN1cHBvcnRlZCAoJWQpIiwNCgkJCXJldGFfc2l6ZSwgbHV0X3Np emUpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglsdXQgPSBydGVfem1hbGxvYygiaTQwZV9y c3NfbHV0IiwgcmV0YV9zaXplLCAwKTsNCglpZiAoIWx1dCkgew0KCQlQTURfRFJWX0xPRyhFUlIs ICJObyBtZW1vcnkgY2FuIGJlIGFsbG9jYXRlZCIpOw0KCQlyZXR1cm4gLUVOT01FTTsNCgl9DQoN CglyZXQgPSBpNDBlX2dldF9yc3NfbHV0KHBmLT5tYWluX3ZzaSwgbHV0LCByZXRhX3NpemUpOw0K CWlmIChyZXQpDQoJCWdvdG8gb3V0Ow0KCWZvciAoaSA9IDA7IGkgPCByZXRhX3NpemU7IGkrKykg ew0KCQlpZHggPSBpIC8gUlRFX1JFVEFfR1JPVVBfU0laRTsNCgkJc2hpZnQgPSBpICUgUlRFX1JF VEFfR1JPVVBfU0laRTsNCgkJaWYgKHJldGFfY29uZltpZHhdLm1hc2sgJiAoMVVMTCA8PCBzaGlm dCkpDQoJCQlyZXRhX2NvbmZbaWR4XS5yZXRhW3NoaWZ0XSA9IGx1dFtpXTsNCgl9DQoNCm91dDoN CglydGVfZnJlZShsdXQpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0KLyoqDQogKiBpNDBlX2FsbG9j YXRlX2RtYV9tZW1fZCAtIHNwZWNpZmljIG1lbW9yeSBhbGxvYyBmb3Igc2hhcmVkIGNvZGUgKGJh c2UgZHJpdmVyKQ0KICogQGh3OiAgIHBvaW50ZXIgdG8gdGhlIEhXIHN0cnVjdHVyZQ0KICogQG1l bTogIHBvaW50ZXIgdG8gbWVtIHN0cnVjdCB0byBmaWxsIG91dA0KICogQHNpemU6IHNpemUgb2Yg bWVtb3J5IHJlcXVlc3RlZA0KICogQGFsaWdubWVudDogd2hhdCB0byBhbGlnbiB0aGUgYWxsb2Nh dGlvbiB0bw0KICoqLw0KZW51bSBpNDBlX3N0YXR1c19jb2RlDQppNDBlX2FsbG9jYXRlX2RtYV9t ZW1fZChfX3J0ZV91bnVzZWQgc3RydWN0IGk0MGVfaHcgKmh3LA0KCQkJc3RydWN0IGk0MGVfZG1h X21lbSAqbWVtLA0KCQkJdTY0IHNpemUsDQoJCQl1MzIgYWxpZ25tZW50KQ0Kew0KCWNvbnN0IHN0 cnVjdCBydGVfbWVtem9uZSAqbXogPSBOVUxMOw0KCWNoYXIgel9uYW1lW1JURV9NRU1aT05FX05B TUVTSVpFXTsNCg0KCWlmICghbWVtKQ0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoNCglzbnBy aW50Zih6X25hbWUsIHNpemVvZih6X25hbWUpLCAiaTQwZV9kbWFfJSJQUkl1NjQsIHJ0ZV9yYW5k KCkpOw0KCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZV9ib3VuZGVkKHpfbmFtZSwgc2l6ZSwgU09D S0VUX0lEX0FOWSwNCgkJCVJURV9NRU1aT05FX0lPVkFfQ09OVElHLCBhbGlnbm1lbnQsIFJURV9Q R1NJWkVfMk0pOw0KCWlmICghbXopDQoJCXJldHVybiBJNDBFX0VSUl9OT19NRU1PUlk7DQoNCglt ZW0tPnNpemUgPSBzaXplOw0KCW1lbS0+dmEgPSBtei0+YWRkcjsNCgltZW0tPnBhID0gbXotPmlv dmE7DQoJbWVtLT56b25lID0gKGNvbnN0IHZvaWQgKiltejsNCglQTURfRFJWX0xPRyhERUJVRywN CgkJIm1lbXpvbmUgJXMgYWxsb2NhdGVkIHdpdGggcGh5c2ljYWwgYWRkcmVzczogJSJQUkl1NjQs DQoJCW16LT5uYW1lLCBtZW0tPnBhKTsNCg0KCXJldHVybiBJNDBFX1NVQ0NFU1M7DQp9DQoNCi8q Kg0KICogaTQwZV9mcmVlX2RtYV9tZW1fZCAtIHNwZWNpZmljIG1lbW9yeSBmcmVlIGZvciBzaGFy ZWQgY29kZSAoYmFzZSBkcml2ZXIpDQogKiBAaHc6ICAgcG9pbnRlciB0byB0aGUgSFcgc3RydWN0 dXJlDQogKiBAbWVtOiAgcHRyIHRvIG1lbSBzdHJ1Y3QgdG8gZnJlZQ0KICoqLw0KZW51bSBpNDBl X3N0YXR1c19jb2RlDQppNDBlX2ZyZWVfZG1hX21lbV9kKF9fcnRlX3VudXNlZCBzdHJ1Y3QgaTQw ZV9odyAqaHcsDQoJCSAgICBzdHJ1Y3QgaTQwZV9kbWFfbWVtICptZW0pDQp7DQoJaWYgKCFtZW0p DQoJCXJldHVybiBJNDBFX0VSUl9QQVJBTTsNCg0KCVBNRF9EUlZfTE9HKERFQlVHLA0KCQkibWVt em9uZSAlcyB0byBiZSBmcmVlZCB3aXRoIHBoeXNpY2FsIGFkZHJlc3M6ICUiUFJJdTY0LA0KCQko KGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqKW1lbS0+em9uZSktPm5hbWUsIG1lbS0+cGEpOw0K CXJ0ZV9tZW16b25lX2ZyZWUoKGNvbnN0IHN0cnVjdCBydGVfbWVtem9uZSAqKW1lbS0+em9uZSk7 DQoJbWVtLT56b25lID0gTlVMTDsNCgltZW0tPnZhID0gTlVMTDsNCgltZW0tPnBhID0gKHU2NCkw Ow0KDQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0KLyoqDQogKiBpNDBlX2FsbG9jYXRlX3Zp cnRfbWVtX2QgLSBzcGVjaWZpYyBtZW1vcnkgYWxsb2MgZm9yIHNoYXJlZCBjb2RlIChiYXNlIGRy aXZlcikNCiAqIEBodzogICBwb2ludGVyIHRvIHRoZSBIVyBzdHJ1Y3R1cmUNCiAqIEBtZW06ICBw b2ludGVyIHRvIG1lbSBzdHJ1Y3QgdG8gZmlsbCBvdXQNCiAqIEBzaXplOiBzaXplIG9mIG1lbW9y eSByZXF1ZXN0ZWQNCiAqKi8NCmVudW0gaTQwZV9zdGF0dXNfY29kZQ0KaTQwZV9hbGxvY2F0ZV92 aXJ0X21lbV9kKF9fcnRlX3VudXNlZCBzdHJ1Y3QgaTQwZV9odyAqaHcsDQoJCQkgc3RydWN0IGk0 MGVfdmlydF9tZW0gKm1lbSwNCgkJCSB1MzIgc2l6ZSkNCnsNCglpZiAoIW1lbSkNCgkJcmV0dXJu IEk0MEVfRVJSX1BBUkFNOw0KDQoJbWVtLT5zaXplID0gc2l6ZTsNCgltZW0tPnZhID0gcnRlX3pt YWxsb2MoImk0MGUiLCBzaXplLCAwKTsNCg0KCWlmIChtZW0tPnZhKQ0KCQlyZXR1cm4gSTQwRV9T VUNDRVNTOw0KCWVsc2UNCgkJcmV0dXJuIEk0MEVfRVJSX05PX01FTU9SWTsNCn0NCg0KLyoqDQog KiBpNDBlX2ZyZWVfdmlydF9tZW1fZCAtIHNwZWNpZmljIG1lbW9yeSBmcmVlIGZvciBzaGFyZWQg Y29kZSAoYmFzZSBkcml2ZXIpDQogKiBAaHc6ICAgcG9pbnRlciB0byB0aGUgSFcgc3RydWN0dXJl DQogKiBAbWVtOiAgcG9pbnRlciB0byBtZW0gc3RydWN0IHRvIGZyZWUNCiAqKi8NCmVudW0gaTQw ZV9zdGF0dXNfY29kZQ0KaTQwZV9mcmVlX3ZpcnRfbWVtX2QoX19ydGVfdW51c2VkIHN0cnVjdCBp NDBlX2h3ICpodywNCgkJICAgICBzdHJ1Y3QgaTQwZV92aXJ0X21lbSAqbWVtKQ0Kew0KCWlmICgh bWVtKQ0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoNCglydGVfZnJlZShtZW0tPnZhKTsNCglt ZW0tPnZhID0gTlVMTDsNCg0KCXJldHVybiBJNDBFX1NVQ0NFU1M7DQp9DQoNCnZvaWQNCmk0MGVf aW5pdF9zcGlubG9ja19kKHN0cnVjdCBpNDBlX3NwaW5sb2NrICpzcCkNCnsNCglydGVfc3Bpbmxv Y2tfaW5pdCgmc3AtPnNwaW5sb2NrKTsNCn0NCg0Kdm9pZA0KaTQwZV9hY3F1aXJlX3NwaW5sb2Nr X2Qoc3RydWN0IGk0MGVfc3BpbmxvY2sgKnNwKQ0Kew0KCXJ0ZV9zcGlubG9ja19sb2NrKCZzcC0+ c3BpbmxvY2spOw0KfQ0KDQp2b2lkDQppNDBlX3JlbGVhc2Vfc3BpbmxvY2tfZChzdHJ1Y3QgaTQw ZV9zcGlubG9jayAqc3ApDQp7DQoJcnRlX3NwaW5sb2NrX3VubG9jaygmc3AtPnNwaW5sb2NrKTsN Cn0NCg0Kdm9pZA0KaTQwZV9kZXN0cm95X3NwaW5sb2NrX2QoX19ydGVfdW51c2VkIHN0cnVjdCBp NDBlX3NwaW5sb2NrICpzcCkNCnsNCglyZXR1cm47DQp9DQoNCi8qKg0KICogR2V0IHRoZSBoYXJk d2FyZSBjYXBhYmlsaXRpZXMsIHdoaWNoIHdpbGwgYmUgcGFyc2VkDQogKiBhbmQgc2F2ZWQgaW50 byBzdHJ1Y3QgaTQwZV9ody4NCiAqLw0Kc3RhdGljIGludA0KaTQwZV9nZXRfY2FwKHN0cnVjdCBp NDBlX2h3ICpodykNCnsNCglzdHJ1Y3QgaTQwZV9hcWNfbGlzdF9jYXBhYmlsaXRpZXNfZWxlbWVu dF9yZXNwICpidWY7DQoJdWludDE2X3QgbGVuLCBzaXplID0gMDsNCglpbnQgcmV0Ow0KDQoJLyog Q2FsY3VsYXRlIGEgaHVnZSBlbm91Z2ggYnVmZiBmb3Igc2F2aW5nIHJlc3BvbnNlIGRhdGEgdGVt cG9yYXJpbHkgKi8NCglsZW4gPSBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2xpc3RfY2FwYWJpbGl0 aWVzX2VsZW1lbnRfcmVzcCkgKg0KCQkJCQkJSTQwRV9NQVhfQ0FQX0VMRV9OVU07DQoJYnVmID0g cnRlX3ptYWxsb2MoImk0MGUiLCBsZW4sIDApOw0KCWlmICghYnVmKSB7DQoJCVBNRF9EUlZfTE9H KEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkiKTsNCgkJcmV0dXJuIEk0MEVfRVJSX05P X01FTU9SWTsNCgl9DQoNCgkvKiBHZXQsIHBhcnNlIHRoZSBjYXBhYmlsaXRpZXMgYW5kIHNhdmUg aXQgdG8gaHcgKi8NCglyZXQgPSBpNDBlX2FxX2Rpc2NvdmVyX2NhcGFiaWxpdGllcyhodywgYnVm LCBsZW4sICZzaXplLA0KCQkJaTQwZV9hcWNfb3BjX2xpc3RfZnVuY19jYXBhYmlsaXRpZXMsIE5V TEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKQ0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWls ZWQgdG8gZGlzY292ZXIgY2FwYWJpbGl0aWVzIik7DQoNCgkvKiBGcmVlIHRoZSB0ZW1wb3Jhcnkg YnVmZmVyIGFmdGVyIGJlaW5nIHVzZWQgKi8NCglydGVfZnJlZShidWYpOw0KDQoJcmV0dXJuIHJl dDsNCn0NCg0KI2RlZmluZSBSVEVfTElCUlRFX0k0MEVfUVVFVUVfTlVNX1BFUl9WRgk0DQoNCnN0 YXRpYyBpbnQgaTQwZV9wZl9wYXJzZV92Zl9xdWV1ZV9udW1iZXJfaGFuZGxlcihjb25zdCBjaGFy ICprZXksDQoJCWNvbnN0IGNoYXIgKnZhbHVlLA0KCQl2b2lkICpvcGFxdWUpDQp7DQoJc3RydWN0 IGk0MGVfcGYgKnBmOw0KCXVuc2lnbmVkIGxvbmcgbnVtOw0KCWNoYXIgKmVuZDsNCg0KCXBmID0g KHN0cnVjdCBpNDBlX3BmICopb3BhcXVlOw0KCVJURV9TRVRfVVNFRChrZXkpOw0KDQoJZXJybm8g PSAwOw0KCW51bSA9IHN0cnRvdWwodmFsdWUsICZlbmQsIDApOw0KCWlmIChlcnJubyAhPSAwIHx8 IGVuZCA9PSB2YWx1ZSB8fCAqZW5kICE9IDApIHsNCgkJUE1EX0RSVl9MT0coV0FSTklORywgIldy b25nIFZGIHF1ZXVlIG51bWJlciA9ICVzLCBOb3cgaXQgaXMgIg0KCQkJICAgICJrZXB0IHRoZSB2 YWx1ZSA9ICVodSIsIHZhbHVlLCBwZi0+dmZfbmJfcXBfbWF4KTsNCgkJcmV0dXJuIC0oRUlOVkFM KTsNCgl9DQoNCglpZiAobnVtIDw9IEk0MEVfTUFYX1FQX05VTV9QRVJfVkYgJiYgcnRlX2lzX3Bv d2VyX29mXzIobnVtKSkNCgkJcGYtPnZmX25iX3FwX21heCA9ICh1aW50MTZfdCludW07DQoJZWxz ZQ0KCQkvKiBoZXJlIHJldHVybiAwIHRvIG1ha2UgbmV4dCB2YWxpZCBzYW1lIGFyZ3VtZW50IHdv cmsgKi8NCgkJUE1EX0RSVl9MT0coV0FSTklORywgIldyb25nIFZGIHF1ZXVlIG51bWJlciA9ICVs dSwgaXQgbXVzdCBiZSAiDQoJCQkgICAgInBvd2VyIG9mIDIgYW5kIGVxdWFsIG9yIGxlc3MgdGhh biAxNiAhLCBOb3cgaXQgaXMgIg0KCQkJICAgICJrZXB0IHRoZSB2YWx1ZSA9ICVodSIsIG51bSwg cGYtPnZmX25iX3FwX21heCk7DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludCBpNDBlX3Bm X2NvbmZpZ192Zl9yeHFfbnVtYmVyKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVj dCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoJc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdDsNCglpbnQga3ZhcmdzX2NvdW50Ow0K DQoJLyogc2V0IGRlZmF1bHQgcXVldWUgbnVtYmVyIHBlciBWRiBhcyA0ICovDQoJcGYtPnZmX25i X3FwX21heCA9IFJURV9MSUJSVEVfSTQwRV9RVUVVRV9OVU1fUEVSX1ZGOw0KDQoJaWYgKGRldi0+ ZGV2aWNlLT5kZXZhcmdzID09IE5VTEwpDQoJCXJldHVybiAwOw0KDQoJa3ZsaXN0ID0gcnRlX2t2 YXJnc19wYXJzZShkZXYtPmRldmljZS0+ZGV2YXJncy0+YXJncywgdmFsaWRfa2V5cyk7DQoJaWYg KGt2bGlzdCA9PSBOVUxMKQ0KCQlyZXR1cm4gLShFSU5WQUwpOw0KDQoJa3ZhcmdzX2NvdW50ID0g cnRlX2t2YXJnc19jb3VudChrdmxpc3QsIEVUSF9JNDBFX1FVRVVFX05VTV9QRVJfVkZfQVJHKTsN CglpZiAoIWt2YXJnc19jb3VudCkgew0KCQlydGVfa3ZhcmdzX2ZyZWUoa3ZsaXN0KTsNCgkJcmV0 dXJuIDA7DQoJfQ0KDQoJaWYgKGt2YXJnc19jb3VudCA+IDEpDQoJCVBNRF9EUlZfTE9HKFdBUk5J TkcsICJNb3JlIHRoYW4gb25lIGFyZ3VtZW50IFwiJXNcIiBhbmQgb25seSAiDQoJCQkgICAgInRo ZSBmaXJzdCBpbnZhbGlkIG9yIGxhc3QgdmFsaWQgb25lIGlzIHVzZWQgISIsDQoJCQkgICAgRVRI X0k0MEVfUVVFVUVfTlVNX1BFUl9WRl9BUkcpOw0KDQoJcnRlX2t2YXJnc19wcm9jZXNzKGt2bGlz dCwgRVRIX0k0MEVfUVVFVUVfTlVNX1BFUl9WRl9BUkcsDQoJCQkgICBpNDBlX3BmX3BhcnNlX3Zm X3F1ZXVlX251bWJlcl9oYW5kbGVyLCBwZik7DQoNCglydGVfa3ZhcmdzX2ZyZWUoa3ZsaXN0KTsN Cg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3BmX3BhcmFtZXRlcl9pbml0KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVW X1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcg Kmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2 ID0gUlRFX0VUSF9ERVZfVE9fUENJKGRldik7DQoJdWludDE2X3QgcXBfY291bnQgPSAwLCB2c2lf Y291bnQgPSAwOw0KDQoJaWYgKHBjaV9kZXYtPm1heF92ZnMgJiYgIWh3LT5mdW5jX2NhcHMuc3Jf aW92XzFfMSkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiSFcgY29uZmlndXJhdGlvbiBkb2Vzbid0 IHN1cHBvcnQgU1JJT1YiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaTQwZV9wZl9jb25m aWdfdmZfcnhxX251bWJlcihkZXYpOw0KDQoJLyogQWRkIHRoZSBwYXJhbWV0ZXIgaW5pdCBmb3Ig TEZDICovDQoJcGYtPmZjX2NvbmYucGF1c2VfdGltZSA9IEk0MEVfREVGQVVMVF9QQVVTRV9USU1F Ow0KCXBmLT5mY19jb25mLmhpZ2hfd2F0ZXJbSTQwRV9NQVhfVFJBRkZJQ19DTEFTU10gPSBJNDBF X0RFRkFVTFRfSElHSF9XQVRFUjsNCglwZi0+ZmNfY29uZi5sb3dfd2F0ZXJbSTQwRV9NQVhfVFJB RkZJQ19DTEFTU10gPSBJNDBFX0RFRkFVTFRfTE9XX1dBVEVSOw0KDQoJcGYtPmZsYWdzID0gSTQw RV9GTEFHX0hFQURFUl9TUExJVF9ESVNBQkxFRDsNCglwZi0+bWF4X251bV92c2kgPSBody0+ZnVu Y19jYXBzLm51bV92c2lzOw0KCXBmLT5sYW5fbmJfcXBfbWF4ID0gUlRFX0xJQlJURV9JNDBFX1FV RVVFX05VTV9QRVJfUEY7DQoJcGYtPnZtZHFfbmJfcXBfbWF4ID0gUlRFX0xJQlJURV9JNDBFX1FV RVVFX05VTV9QRVJfVk07DQoNCgkvKiBGRGlyIHF1ZXVlL1ZTSSBhbGxvY2F0aW9uICovDQoJcGYt PmZkaXJfcXBfb2Zmc2V0ID0gMDsNCglpZiAoaHctPmZ1bmNfY2Fwcy5mZCkgew0KCQlwZi0+Zmxh Z3MgfD0gSTQwRV9GTEFHX0ZESVI7DQoJCXBmLT5mZGlyX25iX3FwcyA9IEk0MEVfREVGQVVMVF9R UF9OVU1fRkRJUjsNCgl9IGVsc2Ugew0KCQlwZi0+ZmRpcl9uYl9xcHMgPSAwOw0KCX0NCglxcF9j b3VudCArPSBwZi0+ZmRpcl9uYl9xcHM7DQoJdnNpX2NvdW50ICs9IDE7DQoNCgkvKiBMQU4gcXVl dWUvVlNJIGFsbG9jYXRpb24gKi8NCglwZi0+bGFuX3FwX29mZnNldCA9IHBmLT5mZGlyX3FwX29m ZnNldCArIHBmLT5mZGlyX25iX3FwczsNCglpZiAoIWh3LT5mdW5jX2NhcHMucnNzKSB7DQoJCXBm LT5sYW5fbmJfcXBzID0gMTsNCgl9IGVsc2Ugew0KCQlwZi0+ZmxhZ3MgfD0gSTQwRV9GTEFHX1JT UzsNCgkJaWYgKGh3LT5tYWMudHlwZSA9PSBJNDBFX01BQ19YNzIyKQ0KCQkJcGYtPmZsYWdzIHw9 IEk0MEVfRkxBR19SU1NfQVFfQ0FQQUJMRTsNCgkJcGYtPmxhbl9uYl9xcHMgPSBwZi0+bGFuX25i X3FwX21heDsNCgl9DQoJcXBfY291bnQgKz0gcGYtPmxhbl9uYl9xcHM7DQoJdnNpX2NvdW50ICs9 IDE7DQoNCgkvKiBWRiBxdWV1ZS9WU0kgYWxsb2NhdGlvbiAqLw0KCXBmLT52Zl9xcF9vZmZzZXQg PSBwZi0+bGFuX3FwX29mZnNldCArIHBmLT5sYW5fbmJfcXBzOw0KCWlmIChody0+ZnVuY19jYXBz LnNyX2lvdl8xXzEgJiYgcGNpX2Rldi0+bWF4X3Zmcykgew0KCQlwZi0+ZmxhZ3MgfD0gSTQwRV9G TEFHX1NSSU9WOw0KCQlwZi0+dmZfbmJfcXBzID0gcGYtPnZmX25iX3FwX21heDsNCgkJcGYtPnZm X251bSA9IHBjaV9kZXYtPm1heF92ZnM7DQoJCVBNRF9EUlZfTE9HKERFQlVHLA0KCQkJIiV1IFZG IFZTSXMsICV1IHF1ZXVlcyBwZXIgVkYgVlNJLCBpbiB0b3RhbCAldSBxdWV1ZXMiLA0KCQkJcGYt PnZmX251bSwgcGYtPnZmX25iX3FwcywgcGYtPnZmX25iX3FwcyAqIHBmLT52Zl9udW0pOw0KCX0g ZWxzZSB7DQoJCXBmLT52Zl9uYl9xcHMgPSAwOw0KCQlwZi0+dmZfbnVtID0gMDsNCgl9DQoJcXBf Y291bnQgKz0gcGYtPnZmX25iX3FwcyAqIHBmLT52Zl9udW07DQoJdnNpX2NvdW50ICs9IHBmLT52 Zl9udW07DQoNCgkvKiBWTURxIHF1ZXVlL1ZTSSBhbGxvY2F0aW9uICovDQoJcGYtPnZtZHFfcXBf b2Zmc2V0ID0gcGYtPnZmX3FwX29mZnNldCArIHBmLT52Zl9uYl9xcHMgKiBwZi0+dmZfbnVtOw0K CXBmLT52bWRxX25iX3FwcyA9IDA7DQoJcGYtPm1heF9uYl92bWRxX3ZzaSA9IDA7DQoJaWYgKGh3 LT5mdW5jX2NhcHMudm1kcSkgew0KCQlpZiAocXBfY291bnQgPCBody0+ZnVuY19jYXBzLm51bV90 eF9xcCAmJg0KCQkJdnNpX2NvdW50IDwgaHctPmZ1bmNfY2Fwcy5udW1fdnNpcykgew0KCQkJcGYt Pm1heF9uYl92bWRxX3ZzaSA9IChody0+ZnVuY19jYXBzLm51bV90eF9xcCAtDQoJCQkJcXBfY291 bnQpIC8gcGYtPnZtZHFfbmJfcXBfbWF4Ow0KDQoJCQkvKiBMaW1pdCB0aGUgbWF4aW11bSBudW1i ZXIgb2YgVk1EcSB2c2kgdG8gdGhlIG1heGltdW0NCgkJCSAqIGV0aGRldiBjYW4gc3VwcG9ydA0K CQkJICovDQoJCQlwZi0+bWF4X25iX3ZtZHFfdnNpID0gUlRFX01JTihwZi0+bWF4X25iX3ZtZHFf dnNpLA0KCQkJCWh3LT5mdW5jX2NhcHMubnVtX3ZzaXMgLSB2c2lfY291bnQpOw0KCQkJcGYtPm1h eF9uYl92bWRxX3ZzaSA9IFJURV9NSU4ocGYtPm1heF9uYl92bWRxX3ZzaSwNCgkJCQlFVEhfNjRf UE9PTFMpOw0KCQkJaWYgKHBmLT5tYXhfbmJfdm1kcV92c2kpIHsNCgkJCQlwZi0+ZmxhZ3MgfD0g STQwRV9GTEFHX1ZNRFE7DQoJCQkJcGYtPnZtZHFfbmJfcXBzID0gcGYtPnZtZHFfbmJfcXBfbWF4 Ow0KCQkJCVBNRF9EUlZfTE9HKERFQlVHLA0KCQkJCQkiJXUgVk1EUSBWU0lzLCAldSBxdWV1ZXMg cGVyIFZNRFEgVlNJLCBpbiB0b3RhbCAldSBxdWV1ZXMiLA0KCQkJCQlwZi0+bWF4X25iX3ZtZHFf dnNpLCBwZi0+dm1kcV9uYl9xcHMsDQoJCQkJCXBmLT52bWRxX25iX3FwcyAqIHBmLT5tYXhfbmJf dm1kcV92c2kpOw0KCQkJfSBlbHNlIHsNCgkJCQlQTURfRFJWX0xPRyhJTkZPLA0KCQkJCQkiTm8g ZW5vdWdoIHF1ZXVlcyBsZWZ0IGZvciBWTURxIik7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlQTURf RFJWX0xPRyhJTkZPLCAiTm8gcXVldWUgb3IgVlNJIGxlZnQgZm9yIFZNRHEiKTsNCgkJfQ0KCX0N CglxcF9jb3VudCArPSBwZi0+dm1kcV9uYl9xcHMgKiBwZi0+bWF4X25iX3ZtZHFfdnNpOw0KCXZz aV9jb3VudCArPSBwZi0+bWF4X25iX3ZtZHFfdnNpOw0KDQoJaWYgKGh3LT5mdW5jX2NhcHMuZGNi KQ0KCQlwZi0+ZmxhZ3MgfD0gSTQwRV9GTEFHX0RDQjsNCg0KCWlmIChxcF9jb3VudCA+IGh3LT5m dW5jX2NhcHMubnVtX3R4X3FwKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwNCgkJCSJGYWlsZWQgdG8g YWxsb2NhdGUgJXUgcXVldWVzLCB3aGljaCBleGNlZWRzIHRoZSBoYXJkd2FyZSBtYXhpbXVtICV1 IiwNCgkJCXFwX2NvdW50LCBody0+ZnVuY19jYXBzLm51bV90eF9xcCk7DQoJCXJldHVybiAtRUlO VkFMOw0KCX0NCglpZiAodnNpX2NvdW50ID4gaHctPmZ1bmNfY2Fwcy5udW1fdnNpcykgew0KCQlQ TURfRFJWX0xPRyhFUlIsDQoJCQkiRmFpbGVkIHRvIGFsbG9jYXRlICV1IFZTSXMsIHdoaWNoIGV4 Y2VlZHMgdGhlIGhhcmR3YXJlIG1heGltdW0gJXUiLA0KCQkJdnNpX2NvdW50LCBody0+ZnVuY19j YXBzLm51bV92c2lzKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJcmV0dXJuIDA7DQp9DQoN CnN0YXRpYyBpbnQNCmk0MGVfcGZfZ2V0X3N3aXRjaF9jb25maWcoc3RydWN0IGk0MGVfcGYgKnBm KQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBp NDBlX2FxY19nZXRfc3dpdGNoX2NvbmZpZ19yZXNwICpzd2l0Y2hfY29uZmlnOw0KCXN0cnVjdCBp NDBlX2FxY19zd2l0Y2hfY29uZmlnX2VsZW1lbnRfcmVzcCAqZWxlbWVudDsNCgl1aW50MTZfdCBz dGFydF9zZWlkID0gMCwgbnVtX3JlcG9ydGVkOw0KCWludCByZXQ7DQoNCglzd2l0Y2hfY29uZmln ID0gKHN0cnVjdCBpNDBlX2FxY19nZXRfc3dpdGNoX2NvbmZpZ19yZXNwICopXA0KCQkJcnRlX3pt YWxsb2MoImk0MGUiLCBJNDBFX0FRX0xBUkdFX0JVRiwgMCk7DQoJaWYgKCFzd2l0Y2hfY29uZmln KSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0ZWQgbWVtb3J5Iik7DQoJ CXJldHVybiAtRU5PTUVNOw0KCX0NCg0KCS8qIEdldCB0aGUgc3dpdGNoIGNvbmZpZ3VyYXRpb25z ICovDQoJcmV0ID0gaTQwZV9hcV9nZXRfc3dpdGNoX2NvbmZpZyhodywgc3dpdGNoX2NvbmZpZywN CgkJSTQwRV9BUV9MQVJHRV9CVUYsICZzdGFydF9zZWlkLCBOVUxMKTsNCglpZiAocmV0ICE9IEk0 MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZ2V0IHN3aXRjaCBj b25maWd1cmF0aW9ucyIpOw0KCQlnb3RvIGZhaWw7DQoJfQ0KCW51bV9yZXBvcnRlZCA9IHJ0ZV9s ZV90b19jcHVfMTYoc3dpdGNoX2NvbmZpZy0+aGVhZGVyLm51bV9yZXBvcnRlZCk7DQoJaWYgKG51 bV9yZXBvcnRlZCAhPSAxKSB7IC8qIFRoZSBudW1iZXIgc2hvdWxkIGJlIDEgKi8NCgkJUE1EX0RS Vl9MT0coRVJSLCAiV3JvbmcgbnVtYmVyIG9mIHN3aXRjaCBjb25maWcgcmVwb3J0ZWQiKTsNCgkJ Z290byBmYWlsOw0KCX0NCg0KCS8qIFBhcnNlIHRoZSBzd2l0Y2ggY29uZmlndXJhdGlvbiBlbGVt ZW50cyAqLw0KCWVsZW1lbnQgPSAmKHN3aXRjaF9jb25maWctPmVsZW1lbnRbMF0pOw0KCWlmIChl bGVtZW50LT5lbGVtZW50X3R5cGUgPT0gSTQwRV9TV0lUQ0hfRUxFTUVOVF9UWVBFX1ZTSSkgew0K CQlwZi0+bWFjX3NlaWQgPSBydGVfbGVfdG9fY3B1XzE2KGVsZW1lbnQtPnVwbGlua19zZWlkKTsN CgkJcGYtPm1haW5fdnNpX3NlaWQgPSBydGVfbGVfdG9fY3B1XzE2KGVsZW1lbnQtPnNlaWQpOw0K CX0gZWxzZQ0KCQlQTURfRFJWX0xPRyhJTkZPLCAiVW5rbm93biBlbGVtZW50IHR5cGUiKTsNCg0K ZmFpbDoNCglydGVfZnJlZShzd2l0Y2hfY29uZmlnKTsNCg0KCXJldHVybiByZXQ7DQp9DQoNCnN0 YXRpYyBpbnQNCmk0MGVfcmVzX3Bvb2xfaW5pdCAoc3RydWN0IGk0MGVfcmVzX3Bvb2xfaW5mbyAq cG9vbCwgdWludDMyX3QgYmFzZSwNCgkJCXVpbnQzMl90IG51bSkNCnsNCglzdHJ1Y3QgcG9vbF9l bnRyeSAqZW50cnk7DQoNCglpZiAocG9vbCA9PSBOVUxMIHx8IG51bSA9PSAwKQ0KCQlyZXR1cm4g LUVJTlZBTDsNCg0KCWVudHJ5ID0gcnRlX3ptYWxsb2MoImk0MGUiLCBzaXplb2YoKmVudHJ5KSwg MCk7DQoJaWYgKGVudHJ5ID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRv IGFsbG9jYXRlIG1lbW9yeSBmb3IgcmVzb3VyY2UgcG9vbCIpOw0KCQlyZXR1cm4gLUVOT01FTTsN Cgl9DQoNCgkvKiBxdWV1ZSBoZWFwIGluaXRpYWxpemUgKi8NCglwb29sLT5udW1fZnJlZSA9IG51 bTsNCglwb29sLT5udW1fYWxsb2MgPSAwOw0KCXBvb2wtPmJhc2UgPSBiYXNlOw0KCUxJU1RfSU5J VCgmcG9vbC0+YWxsb2NfbGlzdCk7DQoJTElTVF9JTklUKCZwb29sLT5mcmVlX2xpc3QpOw0KDQoJ LyogSW5pdGlhbGl6ZSBlbGVtZW50ICAqLw0KCWVudHJ5LT5iYXNlID0gMDsNCgllbnRyeS0+bGVu ID0gbnVtOw0KDQoJTElTVF9JTlNFUlRfSEVBRCgmcG9vbC0+ZnJlZV9saXN0LCBlbnRyeSwgbmV4 dCk7DQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyB2b2lkDQppNDBlX3Jlc19wb29sX2Rlc3Ryb3ko c3RydWN0IGk0MGVfcmVzX3Bvb2xfaW5mbyAqcG9vbCkNCnsNCglzdHJ1Y3QgcG9vbF9lbnRyeSAq ZW50cnksICpuZXh0X2VudHJ5Ow0KDQoJaWYgKHBvb2wgPT0gTlVMTCkNCgkJcmV0dXJuOw0KDQoJ Zm9yIChlbnRyeSA9IExJU1RfRklSU1QoJnBvb2wtPmFsbG9jX2xpc3QpOw0KCQkJZW50cnkgJiYg KG5leHRfZW50cnkgPSBMSVNUX05FWFQoZW50cnksIG5leHQpLCAxKTsNCgkJCWVudHJ5ID0gbmV4 dF9lbnRyeSkgew0KCQlMSVNUX1JFTU9WRShlbnRyeSwgbmV4dCk7DQoJCXJ0ZV9mcmVlKGVudHJ5 KTsNCgl9DQoNCglmb3IgKGVudHJ5ID0gTElTVF9GSVJTVCgmcG9vbC0+ZnJlZV9saXN0KTsNCgkJ CWVudHJ5ICYmIChuZXh0X2VudHJ5ID0gTElTVF9ORVhUKGVudHJ5LCBuZXh0KSwgMSk7DQoJCQll bnRyeSA9IG5leHRfZW50cnkpIHsNCgkJTElTVF9SRU1PVkUoZW50cnksIG5leHQpOw0KCQlydGVf ZnJlZShlbnRyeSk7DQoJfQ0KDQoJcG9vbC0+bnVtX2ZyZWUgPSAwOw0KCXBvb2wtPm51bV9hbGxv YyA9IDA7DQoJcG9vbC0+YmFzZSA9IDA7DQoJTElTVF9JTklUKCZwb29sLT5hbGxvY19saXN0KTsN CglMSVNUX0lOSVQoJnBvb2wtPmZyZWVfbGlzdCk7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfcmVz X3Bvb2xfZnJlZShzdHJ1Y3QgaTQwZV9yZXNfcG9vbF9pbmZvICpwb29sLA0KCQkgICAgICAgdWlu dDMyX3QgYmFzZSkNCnsNCglzdHJ1Y3QgcG9vbF9lbnRyeSAqZW50cnksICpuZXh0LCAqcHJldiwg KnZhbGlkX2VudHJ5ID0gTlVMTDsNCgl1aW50MzJfdCBwb29sX29mZnNldDsNCgl1aW50MTZfdCBs ZW47DQoJaW50IGluc2VydDsNCg0KCWlmIChwb29sID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0co RVJSLCAiSW52YWxpZCBwYXJhbWV0ZXIiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJcG9v bF9vZmZzZXQgPSBiYXNlIC0gcG9vbC0+YmFzZTsNCgkvKiBMb29rdXAgaW4gYWxsb2MgbGlzdCAq Lw0KCUxJU1RfRk9SRUFDSChlbnRyeSwgJnBvb2wtPmFsbG9jX2xpc3QsIG5leHQpIHsNCgkJaWYg KGVudHJ5LT5iYXNlID09IHBvb2xfb2Zmc2V0KSB7DQoJCQl2YWxpZF9lbnRyeSA9IGVudHJ5Ow0K CQkJTElTVF9SRU1PVkUoZW50cnksIG5leHQpOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoNCgkvKiBO b3QgZmluZCwgcmV0dXJuICovDQoJaWYgKHZhbGlkX2VudHJ5ID09IE5VTEwpIHsNCgkJUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIGZpbmQgZW50cnkiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJ fQ0KDQoJLyoqDQoJICogRm91bmQgaXQsIG1vdmUgaXQgdG8gZnJlZSBsaXN0ICBhbmQgdHJ5IHRv IG1lcmdlLg0KCSAqIEluIG9yZGVyIHRvIG1ha2UgbWVyZ2UgZWFzaWVyLCBhbHdheXMgc29ydCBp dCBieSBxYmFzZS4NCgkgKiBGaW5kIGFkamFjZW50IHByZXYgYW5kIGxhc3QgZW50cmllcy4NCgkg Ki8NCglwcmV2ID0gbmV4dCA9IE5VTEw7DQoJTElTVF9GT1JFQUNIKGVudHJ5LCAmcG9vbC0+ZnJl ZV9saXN0LCBuZXh0KSB7DQoJCWlmIChlbnRyeS0+YmFzZSA+IHZhbGlkX2VudHJ5LT5iYXNlKSB7 DQoJCQluZXh0ID0gZW50cnk7DQoJCQlicmVhazsNCgkJfQ0KCQlwcmV2ID0gZW50cnk7DQoJfQ0K DQoJaW5zZXJ0ID0gMDsNCglsZW4gPSB2YWxpZF9lbnRyeS0+bGVuOw0KCS8qIFRyeSB0byBtZXJn ZSB3aXRoIG5leHQgb25lKi8NCglpZiAobmV4dCAhPSBOVUxMKSB7DQoJCS8qIE1lcmdlIHdpdGgg bmV4dCBvbmUgKi8NCgkJaWYgKHZhbGlkX2VudHJ5LT5iYXNlICsgbGVuID09IG5leHQtPmJhc2Up IHsNCgkJCW5leHQtPmJhc2UgPSB2YWxpZF9lbnRyeS0+YmFzZTsNCgkJCW5leHQtPmxlbiArPSBs ZW47DQoJCQlydGVfZnJlZSh2YWxpZF9lbnRyeSk7DQoJCQl2YWxpZF9lbnRyeSA9IG5leHQ7DQoJ CQlpbnNlcnQgPSAxOw0KCQl9DQoJfQ0KDQoJaWYgKHByZXYgIT0gTlVMTCkgew0KCQkvKiBNZXJn ZSB3aXRoIHByZXZpb3VzIG9uZSAqLw0KCQlpZiAocHJldi0+YmFzZSArIHByZXYtPmxlbiA9PSB2 YWxpZF9lbnRyeS0+YmFzZSkgew0KCQkJcHJldi0+bGVuICs9IGxlbjsNCgkJCS8qIElmIGl0IG1l cmdlIHdpdGggbmV4dCBvbmUsIHJlbW92ZSBuZXh0IG5vZGUgKi8NCgkJCWlmIChpbnNlcnQgPT0g MSkgew0KCQkJCUxJU1RfUkVNT1ZFKHZhbGlkX2VudHJ5LCBuZXh0KTsNCgkJCQlydGVfZnJlZSh2 YWxpZF9lbnRyeSk7DQoJCQkJdmFsaWRfZW50cnkgPSBOVUxMOw0KCQkJfSBlbHNlIHsNCgkJCQly dGVfZnJlZSh2YWxpZF9lbnRyeSk7DQoJCQkJdmFsaWRfZW50cnkgPSBOVUxMOw0KCQkJCWluc2Vy dCA9IDE7DQoJCQl9DQoJCX0NCgl9DQoNCgkvKiBOb3QgZmluZCBhbnkgZW50cnkgdG8gbWVyZ2Us IGluc2VydCAqLw0KCWlmIChpbnNlcnQgPT0gMCkgew0KCQlpZiAocHJldiAhPSBOVUxMKQ0KCQkJ TElTVF9JTlNFUlRfQUZURVIocHJldiwgdmFsaWRfZW50cnksIG5leHQpOw0KCQllbHNlIGlmIChu ZXh0ICE9IE5VTEwpDQoJCQlMSVNUX0lOU0VSVF9CRUZPUkUobmV4dCwgdmFsaWRfZW50cnksIG5l eHQpOw0KCQllbHNlIC8qIEl0J3MgZW1wdHkgbGlzdCwgaW5zZXJ0IHRvIGhlYWQgKi8NCgkJCUxJ U1RfSU5TRVJUX0hFQUQoJnBvb2wtPmZyZWVfbGlzdCwgdmFsaWRfZW50cnksIG5leHQpOw0KCX0N Cg0KCXBvb2wtPm51bV9mcmVlICs9IGxlbjsNCglwb29sLT5udW1fYWxsb2MgLT0gbGVuOw0KDQoJ cmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfcmVzX3Bvb2xfYWxsb2Moc3RydWN0IGk0 MGVfcmVzX3Bvb2xfaW5mbyAqcG9vbCwNCgkJICAgICAgIHVpbnQxNl90IG51bSkNCnsNCglzdHJ1 Y3QgcG9vbF9lbnRyeSAqZW50cnksICp2YWxpZF9lbnRyeTsNCg0KCWlmIChwb29sID09IE5VTEwg fHwgbnVtID09IDApIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCBwYXJhbWV0ZXIiKTsN CgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKHBvb2wtPm51bV9mcmVlIDwgbnVtKSB7DQoJ CVBNRF9EUlZfTE9HKEVSUiwgIk5vIHJlc291cmNlLiBhc2s6JXUsIGF2YWlsYWJsZToldSIsDQoJ CQkgICAgbnVtLCBwb29sLT5udW1fZnJlZSk7DQoJCXJldHVybiAtRU5PTUVNOw0KCX0NCg0KCXZh bGlkX2VudHJ5ID0gTlVMTDsNCgkvKiBMb29rdXAgIGluIGZyZWUgbGlzdCBhbmQgZmluZCBtb3N0 IGZpdCBvbmUgKi8NCglMSVNUX0ZPUkVBQ0goZW50cnksICZwb29sLT5mcmVlX2xpc3QsIG5leHQp IHsNCgkJaWYgKGVudHJ5LT5sZW4gPj0gbnVtKSB7DQoJCQkvKiBGaW5kIGJlc3Qgb25lICovDQoJ CQlpZiAoZW50cnktPmxlbiA9PSBudW0pIHsNCgkJCQl2YWxpZF9lbnRyeSA9IGVudHJ5Ow0KCQkJ CWJyZWFrOw0KCQkJfQ0KCQkJaWYgKHZhbGlkX2VudHJ5ID09IE5VTEwgfHwgdmFsaWRfZW50cnkt PmxlbiA+IGVudHJ5LT5sZW4pDQoJCQkJdmFsaWRfZW50cnkgPSBlbnRyeTsNCgkJfQ0KCX0NCg0K CS8qIE5vdCBmaW5kIG9uZSB0byBzYXRpc2Z5IHRoZSByZXF1ZXN0LCByZXR1cm4gKi8NCglpZiAo dmFsaWRfZW50cnkgPT0gTlVMTCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJObyB2YWxpZCBlbnRy eSBmb3VuZCIpOw0KCQlyZXR1cm4gLUVOT01FTTsNCgl9DQoJLyoqDQoJICogVGhlIGVudHJ5IGhh dmUgZXF1YWwgcXVldWUgbnVtYmVyIGFzIHJlcXVlc3RlZCwNCgkgKiByZW1vdmUgaXQgZnJvbSBh bGxvY19saXN0Lg0KCSAqLw0KCWlmICh2YWxpZF9lbnRyeS0+bGVuID09IG51bSkgew0KCQlMSVNU X1JFTU9WRSh2YWxpZF9lbnRyeSwgbmV4dCk7DQoJfSBlbHNlIHsNCgkJLyoqDQoJCSAqIFRoZSBl bnRyeSBoYXZlIG1vcmUgbnVtYmVycyB0aGFuIHJlcXVlc3RlZCwNCgkJICogY3JlYXRlIGEgbmV3 IGVudHJ5IGZvciBhbGxvY19saXN0IGFuZCBtaW51cyBpdHMNCgkJICogcXVldWUgYmFzZSBhbmQg bnVtYmVyIGluIGZyZWVfbGlzdC4NCgkJICovDQoJCWVudHJ5ID0gcnRlX3ptYWxsb2MoInJlc19w b29sIiwgc2l6ZW9mKCplbnRyeSksIDApOw0KCQlpZiAoZW50cnkgPT0gTlVMTCkgew0KCQkJUE1E X0RSVl9MT0coRVJSLA0KCQkJCSJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciByZXNvdXJj ZSBwb29sIik7DQoJCQlyZXR1cm4gLUVOT01FTTsNCgkJfQ0KCQllbnRyeS0+YmFzZSA9IHZhbGlk X2VudHJ5LT5iYXNlOw0KCQllbnRyeS0+bGVuID0gbnVtOw0KCQl2YWxpZF9lbnRyeS0+YmFzZSAr PSBudW07DQoJCXZhbGlkX2VudHJ5LT5sZW4gLT0gbnVtOw0KCQl2YWxpZF9lbnRyeSA9IGVudHJ5 Ow0KCX0NCg0KCS8qIEluc2VydCBpdCBpbnRvIGFsbG9jIGxpc3QsIG5vdCBzb3J0ZWQgKi8NCglM SVNUX0lOU0VSVF9IRUFEKCZwb29sLT5hbGxvY19saXN0LCB2YWxpZF9lbnRyeSwgbmV4dCk7DQoN Cglwb29sLT5udW1fZnJlZSAtPSB2YWxpZF9lbnRyeS0+bGVuOw0KCXBvb2wtPm51bV9hbGxvYyAr PSB2YWxpZF9lbnRyeS0+bGVuOw0KDQoJcmV0dXJuIHZhbGlkX2VudHJ5LT5iYXNlICsgcG9vbC0+ YmFzZTsNCn0NCg0KLyoqDQogKiBiaXRtYXBfaXNfc3Vic2V0IC0gQ2hlY2sgd2hldGhlciBzcmMy IGlzIHN1YnNldCBvZiBzcmMxDQogKiovDQpzdGF0aWMgaW5saW5lIGludA0KYml0bWFwX2lzX3N1 YnNldCh1aW50OF90IHNyYzEsIHVpbnQ4X3Qgc3JjMikNCnsNCglyZXR1cm4gISgoc3JjMSBeIHNy YzIpICYgc3JjMik7DQp9DQoNCnN0YXRpYyBlbnVtIGk0MGVfc3RhdHVzX2NvZGUNCnZhbGlkYXRl X3RjbWFwX3BhcmFtZXRlcihzdHJ1Y3QgaTQwZV92c2kgKnZzaSwgdWludDhfdCBlbmFibGVkX3Rj bWFwKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoNCgkv KiBJZiBEQ0IgaXMgbm90IHN1cHBvcnRlZCwgb25seSBkZWZhdWx0IFRDIGlzIHN1cHBvcnRlZCAq Lw0KCWlmICghaHctPmZ1bmNfY2Fwcy5kY2IgJiYgZW5hYmxlZF90Y21hcCAhPSBJNDBFX0RFRkFV TFRfVENNQVApIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRENCIGlzIG5vdCBlbmFibGVkLCBvbmx5 IFRDMCBpcyBzdXBwb3J0ZWQiKTsNCgkJcmV0dXJuIEk0MEVfTk9UX1NVUFBPUlRFRDsNCgl9DQoN CglpZiAoIWJpdG1hcF9pc19zdWJzZXQoaHctPmZ1bmNfY2Fwcy5lbmFibGVkX3RjbWFwLCBlbmFi bGVkX3RjbWFwKSkgew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkiRW5hYmxlZCBUQyBtYXAgMHgl eCBub3QgYXBwbGljYWJsZSB0byBIVyBzdXBwb3J0IDB4JXgiLA0KCQkJaHctPmZ1bmNfY2Fwcy5l bmFibGVkX3RjbWFwLCBlbmFibGVkX3RjbWFwKTsNCgkJcmV0dXJuIEk0MEVfTk9UX1NVUFBPUlRF RDsNCgl9DQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0KaW50DQppNDBlX3ZzaV92bGFuX3B2 aWRfc2V0KHN0cnVjdCBpNDBlX3ZzaSAqdnNpLA0KCQkJCXN0cnVjdCBpNDBlX3ZzaV92bGFuX3B2 aWRfaW5mbyAqaW5mbykNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHc7DQoJc3RydWN0IGk0MGVfdnNp X2NvbnRleHQgY3R4dDsNCgl1aW50OF90IHZsYW5fZmxhZ3MgPSAwOw0KCWludCByZXQ7DQoNCglp ZiAodnNpID09IE5VTEwgfHwgaW5mbyA9PSBOVUxMKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgImlu dmFsaWQgcGFyYW1ldGVycyIpOw0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoJfQ0KDQoJaWYg KGluZm8tPm9uKSB7DQoJCXZzaS0+aW5mby5wdmlkID0gaW5mby0+Y29uZmlnLnB2aWQ7DQoJCS8q Kg0KCQkgKiBJZiBpbnNlcnQgcHZpZCBpcyBlbmFibGVkLCBvbmx5IHRhZ2dlZCBwa3RzIGFyZQ0K CQkgKiBhbGxvd2VkIHRvIGJlIHNlbnQgb3V0Lg0KCQkgKi8NCgkJdmxhbl9mbGFncyB8PSBJNDBF X0FRX1ZTSV9QVkxBTl9JTlNFUlRfUFZJRCB8DQoJCQkJSTQwRV9BUV9WU0lfUFZMQU5fTU9ERV9U QUdHRUQ7DQoJfSBlbHNlIHsNCgkJdnNpLT5pbmZvLnB2aWQgPSAwOw0KCQlpZiAoaW5mby0+Y29u ZmlnLnJlamVjdC50YWdnZWQgPT0gMCkNCgkJCXZsYW5fZmxhZ3MgfD0gSTQwRV9BUV9WU0lfUFZM QU5fTU9ERV9UQUdHRUQ7DQoNCgkJaWYgKGluZm8tPmNvbmZpZy5yZWplY3QudW50YWdnZWQgPT0g MCkNCgkJCXZsYW5fZmxhZ3MgfD0gSTQwRV9BUV9WU0lfUFZMQU5fTU9ERV9VTlRBR0dFRDsNCgl9 DQoJdnNpLT5pbmZvLnBvcnRfdmxhbl9mbGFncyAmPSB+KEk0MEVfQVFfVlNJX1BWTEFOX0lOU0VS VF9QVklEIHwNCgkJCQkJSTQwRV9BUV9WU0lfUFZMQU5fTU9ERV9NQVNLKTsNCgl2c2ktPmluZm8u cG9ydF92bGFuX2ZsYWdzIHw9IHZsYW5fZmxhZ3M7DQoJdnNpLT5pbmZvLnZhbGlkX3NlY3Rpb25z ID0NCgkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9QUk9QX1ZMQU5fVkFMSUQpOw0KCW1l bXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsNCglydGVfbWVtY3B5KCZjdHh0LmluZm8sICZ2 c2ktPmluZm8sIHNpemVvZih2c2ktPmluZm8pKTsNCgljdHh0LnNlaWQgPSB2c2ktPnNlaWQ7DQoN CglodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJcmV0ID0gaTQwZV9hcV91cGRhdGVfdnNpX3Bh cmFtcyhodywgJmN0eHQsIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKQ0KCQlQTURf RFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gdXBkYXRlIFZTSSBwYXJhbXMiKTsNCg0KCXJldHVybiBy ZXQ7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfdnNpX3VwZGF0ZV90Y19iYW5kd2lkdGgoc3RydWN0 IGk0MGVfdnNpICp2c2ksIHVpbnQ4X3QgZW5hYmxlZF90Y21hcCkNCnsNCglzdHJ1Y3QgaTQwZV9o dyAqaHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KCWludCBpLCByZXQ7DQoJc3RydWN0IGk0MGVf YXFjX2NvbmZpZ3VyZV92c2lfdGNfYndfZGF0YSB0Y19id19kYXRhOw0KDQoJcmV0ID0gdmFsaWRh dGVfdGNtYXBfcGFyYW1ldGVyKHZzaSwgZW5hYmxlZF90Y21hcCk7DQoJaWYgKHJldCAhPSBJNDBF X1NVQ0NFU1MpDQoJCXJldHVybiByZXQ7DQoNCglpZiAoIXZzaS0+c2VpZCkgew0KCQlQTURfRFJW X0xPRyhFUlIsICJzZWlkIG5vdCB2YWxpZCIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglt ZW1zZXQoJnRjX2J3X2RhdGEsIDAsIHNpemVvZih0Y19id19kYXRhKSk7DQoJdGNfYndfZGF0YS50 Y192YWxpZF9iaXRzID0gZW5hYmxlZF90Y21hcDsNCglmb3IgKGkgPSAwOyBpIDwgSTQwRV9NQVhf VFJBRkZJQ19DTEFTUzsgaSsrKQ0KCQl0Y19id19kYXRhLnRjX2J3X2NyZWRpdHNbaV0gPQ0KCQkJ KGVuYWJsZWRfdGNtYXAgJiAoMSA8PCBpKSkgPyAxIDogMDsNCg0KCXJldCA9IGk0MGVfYXFfY29u ZmlnX3ZzaV90Y19idyhodywgdnNpLT5zZWlkLCAmdGNfYndfZGF0YSwgTlVMTCk7DQoJaWYgKHJl dCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGNvbmZp Z3VyZSBUQyBCVyIpOw0KCQlyZXR1cm4gcmV0Ow0KCX0NCg0KCXJ0ZV9tZW1jcHkodnNpLT5pbmZv LnFzX2hhbmRsZSwgdGNfYndfZGF0YS5xc19oYW5kbGVzLA0KCQkJCQlzaXplb2YodnNpLT5pbmZv LnFzX2hhbmRsZSkpOw0KCXJldHVybiBJNDBFX1NVQ0NFU1M7DQp9DQoNCnN0YXRpYyBlbnVtIGk0 MGVfc3RhdHVzX2NvZGUNCmk0MGVfdnNpX2NvbmZpZ190Y19xdWV1ZV9tYXBwaW5nKHN0cnVjdCBp NDBlX3ZzaSAqdnNpLA0KCQkJCSBzdHJ1Y3QgaTQwZV9hcWNfdnNpX3Byb3BlcnRpZXNfZGF0YSAq aW5mbywNCgkJCQkgdWludDhfdCBlbmFibGVkX3RjbWFwKQ0Kew0KCWVudW0gaTQwZV9zdGF0dXNf Y29kZSByZXQ7DQoJaW50IGksIHRvdGFsX3RjID0gMDsNCgl1aW50MTZfdCBxcG51bV9wZXJfdGMs IGJzZiwgcXBfaWR4Ow0KDQoJcmV0ID0gdmFsaWRhdGVfdGNtYXBfcGFyYW1ldGVyKHZzaSwgZW5h YmxlZF90Y21hcCk7DQoJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpDQoJCXJldHVybiByZXQ7DQoN Cglmb3IgKGkgPSAwOyBpIDwgSTQwRV9NQVhfVFJBRkZJQ19DTEFTUzsgaSsrKQ0KCQlpZiAoZW5h YmxlZF90Y21hcCAmICgxIDw8IGkpKQ0KCQkJdG90YWxfdGMrKzsNCglpZiAodG90YWxfdGMgPT0g MCkNCgkJdG90YWxfdGMgPSAxOw0KCXZzaS0+ZW5hYmxlZF90YyA9IGVuYWJsZWRfdGNtYXA7DQoN CgkvKiBOdW1iZXIgb2YgcXVldWVzIHBlciBlbmFibGVkIFRDICovDQoJcXBudW1fcGVyX3RjID0g aTQwZV9hbGlnbl9mbG9vcih2c2ktPm5iX3FwcyAvIHRvdGFsX3RjKTsNCglxcG51bV9wZXJfdGMg PSBSVEVfTUlOKHFwbnVtX3Blcl90YywgSTQwRV9NQVhfUV9QRVJfVEMpOw0KCWJzZiA9IHJ0ZV9i c2YzMihxcG51bV9wZXJfdGMpOw0KDQoJLyogQWRqdXN0IHRoZSBxdWV1ZSBudW1iZXIgdG8gYWN0 dWFsIHF1ZXVlcyB0aGF0IGNhbiBiZSBhcHBsaWVkICovDQoJaWYgKCEodnNpLT50eXBlID09IEk0 MEVfVlNJX01BSU4gJiYgdG90YWxfdGMgPT0gMSkpDQoJCXZzaS0+bmJfcXBzID0gcXBudW1fcGVy X3RjICogdG90YWxfdGM7DQoNCgkvKioNCgkgKiBDb25maWd1cmUgVEMgYW5kIHF1ZXVlIG1hcHBp bmcgcGFyYW1ldGVycywgZm9yIGVuYWJsZWQgVEMsDQoJICogYWxsb2NhdGUgcXBudW1fcGVyX3Rj IHF1ZXVlcyB0byB0aGlzIHRyYWZmaWMuIEZvciBkaXNhYmxlZCBUQywNCgkgKiBkZWZhdWx0IHF1 ZXVlIHdpbGwgc2VydmUgaXQuDQoJICovDQoJcXBfaWR4ID0gMDsNCglmb3IgKGkgPSAwOyBpIDwg STQwRV9NQVhfVFJBRkZJQ19DTEFTUzsgaSsrKSB7DQoJCWlmICh2c2ktPmVuYWJsZWRfdGMgJiAo MSA8PCBpKSkgew0KCQkJaW5mby0+dGNfbWFwcGluZ1tpXSA9IHJ0ZV9jcHVfdG9fbGVfMTYoKHFw X2lkeCA8PA0KCQkJCQlJNDBFX0FRX1ZTSV9UQ19RVUVfT0ZGU0VUX1NISUZUKSB8DQoJCQkJKGJz ZiA8PCBJNDBFX0FRX1ZTSV9UQ19RVUVfTlVNQkVSX1NISUZUKSk7DQoJCQlxcF9pZHggKz0gcXBu dW1fcGVyX3RjOw0KCQl9IGVsc2UNCgkJCWluZm8tPnRjX21hcHBpbmdbaV0gPSAwOw0KCX0NCg0K CS8qIEFzc29jaWF0ZSBxdWV1ZSBudW1iZXIgd2l0aCBWU0kgKi8NCglpZiAodnNpLT50eXBlID09 IEk0MEVfVlNJX1NSSU9WKSB7DQoJCWluZm8tPm1hcHBpbmdfZmxhZ3MgfD0NCgkJCXJ0ZV9jcHVf dG9fbGVfMTYoSTQwRV9BUV9WU0lfUVVFX01BUF9OT05DT05USUcpOw0KCQlmb3IgKGkgPSAwOyBp IDwgdnNpLT5uYl9xcHM7IGkrKykNCgkJCWluZm8tPnF1ZXVlX21hcHBpbmdbaV0gPQ0KCQkJCXJ0 ZV9jcHVfdG9fbGVfMTYodnNpLT5iYXNlX3F1ZXVlICsgaSk7DQoJfSBlbHNlIHsNCgkJaW5mby0+ bWFwcGluZ19mbGFncyB8PQ0KCQkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9RVUVfTUFQ X0NPTlRJRyk7DQoJCWluZm8tPnF1ZXVlX21hcHBpbmdbMF0gPSBydGVfY3B1X3RvX2xlXzE2KHZz aS0+YmFzZV9xdWV1ZSk7DQoJfQ0KCWluZm8tPnZhbGlkX3NlY3Rpb25zIHw9DQoJCXJ0ZV9jcHVf dG9fbGVfMTYoSTQwRV9BUV9WU0lfUFJPUF9RVUVVRV9NQVBfVkFMSUQpOw0KDQoJcmV0dXJuIEk0 MEVfU1VDQ0VTUzsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV92ZWJfcmVsZWFzZShzdHJ1Y3QgaTQw ZV92ZWIgKnZlYikNCnsNCglzdHJ1Y3QgaTQwZV92c2kgKnZzaTsNCglzdHJ1Y3QgaTQwZV9odyAq aHc7DQoNCglpZiAodmViID09IE5VTEwpDQoJCXJldHVybiAtRUlOVkFMOw0KDQoJaWYgKCFUQUlM UV9FTVBUWSgmdmViLT5oZWFkKSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJWRUIgc3RpbGwgaGFz IFZTSSBhdHRhY2hlZCwgY2FuJ3QgcmVtb3ZlIik7DQoJCXJldHVybiAtRUFDQ0VTOw0KCX0NCgkv KiBhc3NvY2lhdGVfdnNpIGZpZWxkIGlzIE5VTEwgZm9yIGZsb2F0aW5nIFZFQiAqLw0KCWlmICh2 ZWItPmFzc29jaWF0ZV92c2kgIT0gTlVMTCkgew0KCQl2c2kgPSB2ZWItPmFzc29jaWF0ZV92c2k7 DQoJCWh3ID0gSTQwRV9WU0lfVE9fSFcodnNpKTsNCg0KCQl2c2ktPnVwbGlua19zZWlkID0gdmVi LT51cGxpbmtfc2VpZDsNCgkJdnNpLT52ZWIgPSBOVUxMOw0KCX0gZWxzZSB7DQoJCXZlYi0+YXNz b2NpYXRlX3BmLT5tYWluX3ZzaS0+ZmxvYXRpbmdfdmViID0gTlVMTDsNCgkJaHcgPSBJNDBFX1ZT SV9UT19IVyh2ZWItPmFzc29jaWF0ZV9wZi0+bWFpbl92c2kpOw0KCX0NCg0KCWk0MGVfYXFfZGVs ZXRlX2VsZW1lbnQoaHcsIHZlYi0+c2VpZCwgTlVMTCk7DQoJcnRlX2ZyZWUodmViKTsNCglyZXR1 cm4gSTQwRV9TVUNDRVNTOw0KfQ0KDQovKiBTZXR1cCBhIHZlYiAqLw0Kc3RhdGljIHN0cnVjdCBp NDBlX3ZlYiAqDQppNDBlX3ZlYl9zZXR1cChzdHJ1Y3QgaTQwZV9wZiAqcGYsIHN0cnVjdCBpNDBl X3ZzaSAqdnNpKQ0Kew0KCXN0cnVjdCBpNDBlX3ZlYiAqdmViOw0KCWludCByZXQ7DQoJc3RydWN0 IGk0MGVfaHcgKmh3Ow0KDQoJaWYgKHBmID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLA0K CQkJICAgICJ2ZWIgc2V0dXAgZmFpbGVkLCBhc3NvY2lhdGVkIFBGIHNob3VsZG4ndCBudWxsIik7 DQoJCXJldHVybiBOVUxMOw0KCX0NCglodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KDQoJdmViID0g cnRlX3ptYWxsb2MoImk0MGVfdmViIiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3ZlYiksIDApOw0KCWlm ICghdmViKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkg Zm9yIHZlYiIpOw0KCQlnb3RvIGZhaWw7DQoJfQ0KDQoJdmViLT5hc3NvY2lhdGVfdnNpID0gdnNp Ow0KCXZlYi0+YXNzb2NpYXRlX3BmID0gcGY7DQoJVEFJTFFfSU5JVCgmdmViLT5oZWFkKTsNCgl2 ZWItPnVwbGlua19zZWlkID0gdnNpID8gdnNpLT51cGxpbmtfc2VpZCA6IDA7DQoNCgkvKiBjcmVh dGUgZmxvYXRpbmcgdmViIGlmIHZzaSBpcyBOVUxMICovDQoJaWYgKHZzaSAhPSBOVUxMKSB7DQoJ CXJldCA9IGk0MGVfYXFfYWRkX3ZlYihodywgdmViLT51cGxpbmtfc2VpZCwgdnNpLT5zZWlkLA0K CQkJCSAgICAgIEk0MEVfREVGQVVMVF9UQ01BUCwgZmFsc2UsDQoJCQkJICAgICAgJnZlYi0+c2Vp ZCwgZmFsc2UsIE5VTEwpOw0KCX0gZWxzZSB7DQoJCXJldCA9IGk0MGVfYXFfYWRkX3ZlYihodywg MCwgMCwgSTQwRV9ERUZBVUxUX1RDTUFQLA0KCQkJCSAgICAgIHRydWUsICZ2ZWItPnNlaWQsIGZh bHNlLCBOVUxMKTsNCgl9DQoNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfRFJW X0xPRyhFUlIsICJBZGQgdmViIGZhaWxlZCwgYXFfZXJyOiAlZCIsDQoJCQkgICAgaHctPmFxLmFz cV9sYXN0X3N0YXR1cyk7DQoJCWdvdG8gZmFpbDsNCgl9DQoJdmViLT5lbmFibGVkX3RjID0gSTQw RV9ERUZBVUxUX1RDTUFQOw0KDQoJLyogZ2V0IHN0YXRpc3RpY3MgaW5kZXggKi8NCglyZXQgPSBp NDBlX2FxX2dldF92ZWJfcGFyYW1ldGVycyhodywgdmViLT5zZWlkLCBOVUxMLCBOVUxMLA0KCQkJ CSZ2ZWItPnN0YXRzX2lkeCwgTlVMTCwgTlVMTCwgTlVMTCk7DQoJaWYgKHJldCAhPSBJNDBFX1NV Q0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiR2V0IHZlYiBzdGF0aXN0aWNzIGluZGV4IGZh aWxlZCwgYXFfZXJyOiAlZCIsDQoJCQkgICAgaHctPmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoJCWdv dG8gZmFpbDsNCgl9DQoJLyogR2V0IFZFQiBiYW5kd2lkdGgsIHRvIGJlIGltcGxlbWVudGVkICov DQoJLyogTm93IGFzc29jaWF0ZWQgdnNpIGJpbmRpbmcgdG8gdGhlIFZFQiwgc2V0IHVwbGluayB0 byB0aGlzIFZFQiAqLw0KCWlmICh2c2kpDQoJCXZzaS0+dXBsaW5rX3NlaWQgPSB2ZWItPnNlaWQ7 DQoNCglyZXR1cm4gdmViOw0KZmFpbDoNCglydGVfZnJlZSh2ZWIpOw0KCXJldHVybiBOVUxMOw0K fQ0KDQppbnQNCmk0MGVfdnNpX3JlbGVhc2Uoc3RydWN0IGk0MGVfdnNpICp2c2kpDQp7DQoJc3Ry dWN0IGk0MGVfcGYgKnBmOw0KCXN0cnVjdCBpNDBlX2h3ICpodzsNCglzdHJ1Y3QgaTQwZV92c2lf bGlzdCAqdnNpX2xpc3Q7DQoJdm9pZCAqdGVtcDsNCglpbnQgcmV0Ow0KCXN0cnVjdCBpNDBlX21h Y19maWx0ZXIgKmY7DQoJdWludDE2X3QgdXNlcl9wYXJhbTsNCg0KCWlmICghdnNpKQ0KCQlyZXR1 cm4gSTQwRV9TVUNDRVNTOw0KDQoJaWYgKCF2c2ktPmFkYXB0ZXIpDQoJCXJldHVybiAtRUZBVUxU Ow0KDQoJdXNlcl9wYXJhbSA9IHZzaS0+dXNlcl9wYXJhbTsNCg0KCXBmID0gSTQwRV9WU0lfVE9f UEYodnNpKTsNCglodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoNCgkvKiBWU0kgaGFzIGNoaWxk IHRvIGF0dGFjaCwgcmVsZWFzZSBjaGlsZCBmaXJzdCAqLw0KCWlmICh2c2ktPnZlYikgew0KCQlU QUlMUV9GT1JFQUNIX1NBRkUodnNpX2xpc3QsICZ2c2ktPnZlYi0+aGVhZCwgbGlzdCwgdGVtcCkg ew0KCQkJaWYgKGk0MGVfdnNpX3JlbGVhc2UodnNpX2xpc3QtPnZzaSkgIT0gSTQwRV9TVUNDRVNT KQ0KCQkJCXJldHVybiAtMTsNCgkJfQ0KCQlpNDBlX3ZlYl9yZWxlYXNlKHZzaS0+dmViKTsNCgl9 DQoNCglpZiAodnNpLT5mbG9hdGluZ192ZWIpIHsNCgkJVEFJTFFfRk9SRUFDSF9TQUZFKHZzaV9s aXN0LCAmdnNpLT5mbG9hdGluZ192ZWItPmhlYWQsIGxpc3QsIHRlbXApIHsNCgkJCWlmIChpNDBl X3ZzaV9yZWxlYXNlKHZzaV9saXN0LT52c2kpICE9IEk0MEVfU1VDQ0VTUykNCgkJCQlyZXR1cm4g LTE7DQoJCX0NCgl9DQoNCgkvKiBSZW1vdmUgYWxsIG1hY3ZsYW4gZmlsdGVycyBvZiB0aGUgVlNJ ICovDQoJaTQwZV92c2lfcmVtb3ZlX2FsbF9tYWN2bGFuX2ZpbHRlcih2c2kpOw0KCVRBSUxRX0ZP UkVBQ0hfU0FGRShmLCAmdnNpLT5tYWNfbGlzdCwgbmV4dCwgdGVtcCkNCgkJcnRlX2ZyZWUoZik7 DQoNCglpZiAodnNpLT50eXBlICE9IEk0MEVfVlNJX01BSU4gJiYNCgkgICAgKCh2c2ktPnR5cGUg IT0gSTQwRV9WU0lfU1JJT1YpIHx8DQoJICAgICFwZi0+ZmxvYXRpbmdfdmViX2xpc3RbdXNlcl9w YXJhbV0pKSB7DQoJCS8qIFJlbW92ZSB2c2kgZnJvbSBwYXJlbnQncyBzaWJsaW5nIGxpc3QgKi8N CgkJaWYgKHZzaS0+cGFyZW50X3ZzaSA9PSBOVUxMIHx8IHZzaS0+cGFyZW50X3ZzaS0+dmViID09 IE5VTEwpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIlZTSSdzIHBhcmVudCBWU0kgaXMgTlVMTCIp Ow0KCQkJcmV0dXJuIEk0MEVfRVJSX1BBUkFNOw0KCQl9DQoJCVRBSUxRX1JFTU9WRSgmdnNpLT5w YXJlbnRfdnNpLT52ZWItPmhlYWQsDQoJCQkJJnZzaS0+c2liX3ZzaV9saXN0LCBsaXN0KTsNCg0K CQkvKiBSZW1vdmUgYWxsIHN3aXRjaCBlbGVtZW50IG9mIHRoZSBWU0kgKi8NCgkJcmV0ID0gaTQw ZV9hcV9kZWxldGVfZWxlbWVudChodywgdnNpLT5zZWlkLCBOVUxMKTsNCgkJaWYgKHJldCAhPSBJ NDBFX1NVQ0NFU1MpDQoJCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZGVsZXRlIGVsZW1l bnQiKTsNCgl9DQoNCglpZiAoKHZzaS0+dHlwZSA9PSBJNDBFX1ZTSV9TUklPVikgJiYNCgkgICAg cGYtPmZsb2F0aW5nX3ZlYl9saXN0W3VzZXJfcGFyYW1dKSB7DQoJCS8qIFJlbW92ZSB2c2kgZnJv bSBwYXJlbnQncyBzaWJsaW5nIGxpc3QgKi8NCgkJaWYgKHZzaS0+cGFyZW50X3ZzaSA9PSBOVUxM IHx8DQoJCSAgICB2c2ktPnBhcmVudF92c2ktPmZsb2F0aW5nX3ZlYiA9PSBOVUxMKSB7DQoJCQlQ TURfRFJWX0xPRyhFUlIsICJWU0kncyBwYXJlbnQgVlNJIGlzIE5VTEwiKTsNCgkJCXJldHVybiBJ NDBFX0VSUl9QQVJBTTsNCgkJfQ0KCQlUQUlMUV9SRU1PVkUoJnZzaS0+cGFyZW50X3ZzaS0+Zmxv YXRpbmdfdmViLT5oZWFkLA0KCQkJICAgICAmdnNpLT5zaWJfdnNpX2xpc3QsIGxpc3QpOw0KDQoJ CS8qIFJlbW92ZSBhbGwgc3dpdGNoIGVsZW1lbnQgb2YgdGhlIFZTSSAqLw0KCQlyZXQgPSBpNDBl X2FxX2RlbGV0ZV9lbGVtZW50KGh3LCB2c2ktPnNlaWQsIE5VTEwpOw0KCQlpZiAocmV0ICE9IEk0 MEVfU1VDQ0VTUykNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBkZWxldGUgZWxlbWVu dCIpOw0KCX0NCg0KCWk0MGVfcmVzX3Bvb2xfZnJlZSgmcGYtPnFwX3Bvb2wsIHZzaS0+YmFzZV9x dWV1ZSk7DQoNCglpZiAodnNpLT50eXBlICE9IEk0MEVfVlNJX1NSSU9WKQ0KCQlpNDBlX3Jlc19w b29sX2ZyZWUoJnBmLT5tc2l4X3Bvb2wsIHZzaS0+bXNpeF9pbnRyKTsNCglydGVfZnJlZSh2c2kp Ow0KDQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV91cGRhdGVf ZGVmYXVsdF9maWx0ZXJfc2V0dGluZyhzdHJ1Y3QgaTQwZV92c2kgKnZzaSkNCnsNCglzdHJ1Y3Qg aTQwZV9odyAqaHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KCXN0cnVjdCBpNDBlX2FxY19yZW1v dmVfbWFjdmxhbl9lbGVtZW50X2RhdGEgZGVmX2ZpbHRlcjsNCglzdHJ1Y3QgaTQwZV9tYWNfZmls dGVyX2luZm8gZmlsdGVyOw0KCWludCByZXQ7DQoNCglpZiAodnNpLT50eXBlICE9IEk0MEVfVlNJ X01BSU4pDQoJCXJldHVybiBJNDBFX0VSUl9DT05GSUc7DQoJbWVtc2V0KCZkZWZfZmlsdGVyLCAw LCBzaXplb2YoZGVmX2ZpbHRlcikpOw0KCXJ0ZV9tZW1jcHkoZGVmX2ZpbHRlci5tYWNfYWRkciwg aHctPm1hYy5wZXJtX2FkZHIsDQoJCQkJCUVUSF9BRERSX0xFTik7DQoJZGVmX2ZpbHRlci52bGFu X3RhZyA9IDA7DQoJZGVmX2ZpbHRlci5mbGFncyA9IEk0MEVfQVFDX01BQ1ZMQU5fREVMX1BFUkZF Q1RfTUFUQ0ggfA0KCQkJCUk0MEVfQVFDX01BQ1ZMQU5fREVMX0lHTk9SRV9WTEFOOw0KCXJldCA9 IGk0MGVfYXFfcmVtb3ZlX21hY3ZsYW4oaHcsIHZzaS0+c2VpZCwgJmRlZl9maWx0ZXIsIDEsIE5V TEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCXN0cnVjdCBpNDBlX21hY19maWx0 ZXIgKmY7DQoJCXN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWFjOw0KDQoJCVBNRF9EUlZfTE9HKERF QlVHLA0KCQkJICAgICJDYW5ub3QgcmVtb3ZlIHRoZSBkZWZhdWx0IG1hY3ZsYW4gZmlsdGVyIik7 DQoJCS8qIEl0IG5lZWRzIHRvIGFkZCB0aGUgcGVybWFuZW50IG1hYyBpbnRvIG1hYyBsaXN0ICov DQoJCWYgPSBydGVfem1hbGxvYygibWFjdl9maWx0ZXIiLCBzaXplb2YoKmYpLCAwKTsNCgkJaWYg KGYgPT0gTlVMTCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1l bW9yeSIpOw0KCQkJcmV0dXJuIEk0MEVfRVJSX05PX01FTU9SWTsNCgkJfQ0KCQltYWMgPSAmZi0+ bWFjX2luZm8ubWFjX2FkZHI7DQoJCXJ0ZV9tZW1jcHkoJm1hYy0+YWRkcl9ieXRlcywgaHctPm1h Yy5wZXJtX2FkZHIsDQoJCQkJRVRIX0FERFJfTEVOKTsNCgkJZi0+bWFjX2luZm8uZmlsdGVyX3R5 cGUgPSBSVEVfTUFDVkxBTl9QRVJGRUNUX01BVENIOw0KCQlUQUlMUV9JTlNFUlRfVEFJTCgmdnNp LT5tYWNfbGlzdCwgZiwgbmV4dCk7DQoJCXZzaS0+bWFjX251bSsrOw0KDQoJCXJldHVybiByZXQ7 DQoJfQ0KCXJ0ZV9tZW1jcHkoJmZpbHRlci5tYWNfYWRkciwNCgkJKHN0cnVjdCBydGVfZXRoZXJf YWRkciAqKShody0+bWFjLnBlcm1fYWRkciksIEVUSF9BRERSX0xFTik7DQoJZmlsdGVyLmZpbHRl cl90eXBlID0gUlRFX01BQ1ZMQU5fUEVSRkVDVF9NQVRDSDsNCglyZXR1cm4gaTQwZV92c2lfYWRk X21hYyh2c2ksICZmaWx0ZXIpOw0KfQ0KDQovKg0KICogaTQwZV92c2lfZ2V0X2J3X2NvbmZpZyAt IFF1ZXJ5IFZTSSBCVyBJbmZvcm1hdGlvbg0KICogQHZzaTogdGhlIFZTSSB0byBiZSBxdWVyaWVk DQogKg0KICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWx1cmUN CiAqLw0Kc3RhdGljIGVudW0gaTQwZV9zdGF0dXNfY29kZQ0KaTQwZV92c2lfZ2V0X2J3X2NvbmZp ZyhzdHJ1Y3QgaTQwZV92c2kgKnZzaSkNCnsNCglzdHJ1Y3QgaTQwZV9hcWNfcXVlcnlfdnNpX2J3 X2NvbmZpZ19yZXNwIGJ3X2NvbmZpZzsNCglzdHJ1Y3QgaTQwZV9hcWNfcXVlcnlfdnNpX2V0c19z bGFfY29uZmlnX3Jlc3AgZXRzX3NsYV9jb25maWc7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gJnZz aS0+YWRhcHRlci0+aHc7DQoJaTQwZV9zdGF0dXMgcmV0Ow0KCWludCBpOw0KCXVpbnQzMl90IGJ3 X21heDsNCg0KCW1lbXNldCgmYndfY29uZmlnLCAwLCBzaXplb2YoYndfY29uZmlnKSk7DQoJcmV0 ID0gaTQwZV9hcV9xdWVyeV92c2lfYndfY29uZmlnKGh3LCB2c2ktPnNlaWQsICZid19jb25maWcs IE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwg IlZTSSBmYWlsZWQgdG8gZ2V0IGJhbmR3aWR0aCBjb25maWd1cmF0aW9uICV1IiwNCgkJCSAgICBo dy0+YXEuYXNxX2xhc3Rfc3RhdHVzKTsNCgkJcmV0dXJuIHJldDsNCgl9DQoNCgltZW1zZXQoJmV0 c19zbGFfY29uZmlnLCAwLCBzaXplb2YoZXRzX3NsYV9jb25maWcpKTsNCglyZXQgPSBpNDBlX2Fx X3F1ZXJ5X3ZzaV9ldHNfc2xhX2NvbmZpZyhodywgdnNpLT5zZWlkLA0KCQkJCQkmZXRzX3NsYV9j b25maWcsIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9H KEVSUiwNCgkJCSJWU0kgZmFpbGVkIHRvIGdldCBUQyBiYW5kd2RpdGggY29uZmlndXJhdGlvbiAl dSIsDQoJCQlody0+YXEuYXNxX2xhc3Rfc3RhdHVzKTsNCgkJcmV0dXJuIHJldDsNCgl9DQoNCgkv KiBzdG9yZSBhbmQgcHJpbnQgb3V0IEJXIGluZm8gKi8NCgl2c2ktPmJ3X2luZm8uYndfbGltaXQg PSBydGVfbGVfdG9fY3B1XzE2KGJ3X2NvbmZpZy5wb3J0X2J3X2xpbWl0KTsNCgl2c2ktPmJ3X2lu Zm8uYndfbWF4ID0gYndfY29uZmlnLm1heF9idzsNCglQTURfRFJWX0xPRyhERUJVRywgIlZTSSBi dyBsaW1pdDoldSIsIHZzaS0+YndfaW5mby5id19saW1pdCk7DQoJUE1EX0RSVl9MT0coREVCVUcs ICJWU0kgbWF4X2J3OiV1IiwgdnNpLT5id19pbmZvLmJ3X21heCk7DQoJYndfbWF4ID0gcnRlX2xl X3RvX2NwdV8xNihldHNfc2xhX2NvbmZpZy50Y19id19tYXhbMF0pIHwNCgkJICAgIChydGVfbGVf dG9fY3B1XzE2KGV0c19zbGFfY29uZmlnLnRjX2J3X21heFsxXSkgPDwNCgkJICAgICBJNDBFXzE2 X0JJVF9XSURUSCk7DQoJZm9yIChpID0gMDsgaSA8IEk0MEVfTUFYX1RSQUZGSUNfQ0xBU1M7IGkr Kykgew0KCQl2c2ktPmJ3X2luZm8uYndfZXRzX3NoYXJlX2NyZWRpdHNbaV0gPQ0KCQkJCWV0c19z bGFfY29uZmlnLnNoYXJlX2NyZWRpdHNbaV07DQoJCXZzaS0+YndfaW5mby5id19ldHNfY3JlZGl0 c1tpXSA9DQoJCQkJcnRlX2xlX3RvX2NwdV8xNihldHNfc2xhX2NvbmZpZy5jcmVkaXRzW2ldKTsN CgkJLyogNCBiaXRzIHBlciBUQywgNHRoIGJpdCBpcyByZXNlcnZlZCAqLw0KCQl2c2ktPmJ3X2lu Zm8uYndfZXRzX21heFtpXSA9DQoJCQkodWludDhfdCkoKGJ3X21heCA+PiAoaSAqIEk0MEVfNF9C SVRfV0lEVEgpKSAmDQoJCQkJICBSVEVfTEVOMk1BU0soMywgdWludDhfdCkpOw0KCQlQTURfRFJW X0xPRyhERUJVRywgIlx0VlNJIFRDJXU6c2hhcmUgY3JlZGl0cyAldSIsIGksDQoJCQkgICAgdnNp LT5id19pbmZvLmJ3X2V0c19zaGFyZV9jcmVkaXRzW2ldKTsNCgkJUE1EX0RSVl9MT0coREVCVUcs ICJcdFZTSSBUQyV1OmNyZWRpdHMgJXUiLCBpLA0KCQkJICAgIHZzaS0+YndfaW5mby5id19ldHNf Y3JlZGl0c1tpXSk7DQoJCVBNRF9EUlZfTE9HKERFQlVHLCAiXHRWU0kgVEMldTogbWF4IGNyZWRp dHM6ICV1IiwgaSwNCgkJCSAgICB2c2ktPmJ3X2luZm8uYndfZXRzX21heFtpXSk7DQoJfQ0KDQoJ cmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0KLyogaTQwZV9lbmFibGVfcGZfbGINCiAqIEBwZjog cG9pbnRlciB0byB0aGUgcGYgc3RydWN0dXJlDQogKg0KICogYWxsb3cgbG9vcGJhY2sgb24gcGYN CiAqLw0Kc3RhdGljIGlubGluZSB2b2lkDQppNDBlX2VuYWJsZV9wZl9sYihzdHJ1Y3QgaTQwZV9w ZiAqcGYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJc3Ry dWN0IGk0MGVfdnNpX2NvbnRleHQgY3R4dDsNCglpbnQgcmV0Ow0KDQoJLyogVXNlIHRoZSBGVyBB UEkgaWYgRlcgPj0gdjUuMCAqLw0KCWlmIChody0+YXEuZndfbWFqX3ZlciA8IDUgJiYgaHctPm1h Yy50eXBlICE9IEk0MEVfTUFDX1g3MjIpIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwgIkZXIDwgdjUu MCwgY2Fubm90IGVuYWJsZSBsb29wYmFjayIpOw0KCQlyZXR1cm47DQoJfQ0KDQoJbWVtc2V0KCZj dHh0LCAwLCBzaXplb2YoY3R4dCkpOw0KCWN0eHQuc2VpZCA9IHBmLT5tYWluX3ZzaV9zZWlkOw0K CWN0eHQucGZfbnVtID0gaHctPnBmX2lkOw0KCXJldCA9IGk0MGVfYXFfZ2V0X3ZzaV9wYXJhbXMo aHcsICZjdHh0LCBOVUxMKTsNCglpZiAocmV0KSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgImNhbm5v dCBnZXQgcGYgdnNpIGNvbmZpZywgZXJyICVkLCBhcV9lcnIgJWQiLA0KCQkJICAgIHJldCwgaHct PmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoJCXJldHVybjsNCgl9DQoJY3R4dC5mbGFncyA9IEk0MEVf QVFfVlNJX1RZUEVfUEY7DQoJY3R4dC5pbmZvLnZhbGlkX3NlY3Rpb25zID0NCgkJcnRlX2NwdV90 b19sZV8xNihJNDBFX0FRX1ZTSV9QUk9QX1NXSVRDSF9WQUxJRCk7DQoJY3R4dC5pbmZvLnN3aXRj aF9pZCB8PQ0KCQlydGVfY3B1X3RvX2xlXzE2KEk0MEVfQVFfVlNJX1NXX0lEX0ZMQUdfQUxMT1df TEIpOw0KDQoJcmV0ID0gaTQwZV9hcV91cGRhdGVfdnNpX3BhcmFtcyhodywgJmN0eHQsIE5VTEwp Ow0KCWlmIChyZXQpDQoJCVBNRF9EUlZfTE9HKEVSUiwgInVwZGF0ZSB2c2kgc3dpdGNoIGZhaWxl ZCwgYXFfZXJyPSVkIiwNCgkJCSAgICBody0+YXEuYXNxX2xhc3Rfc3RhdHVzKTsNCn0NCg0KLyog U2V0dXAgYSBWU0kgKi8NCnN0cnVjdCBpNDBlX3ZzaSAqDQppNDBlX3ZzaV9zZXR1cChzdHJ1Y3Qg aTQwZV9wZiAqcGYsDQoJICAgICAgIGVudW0gaTQwZV92c2lfdHlwZSB0eXBlLA0KCSAgICAgICBz dHJ1Y3QgaTQwZV92c2kgKnVwbGlua192c2ksDQoJICAgICAgIHVpbnQxNl90IHVzZXJfcGFyYW0p DQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJc3RydWN0IGk0 MGVfdnNpICp2c2k7DQoJc3RydWN0IGk0MGVfbWFjX2ZpbHRlcl9pbmZvIGZpbHRlcjsNCglpbnQg cmV0Ow0KCXN0cnVjdCBpNDBlX3ZzaV9jb250ZXh0IGN0eHQ7DQoJc3RydWN0IHJ0ZV9ldGhlcl9h ZGRyIGJyb2FkY2FzdCA9DQoJCXsuYWRkcl9ieXRlcyA9IHsweGZmLCAweGZmLCAweGZmLCAweGZm LCAweGZmLCAweGZmfX07DQoNCglpZiAodHlwZSAhPSBJNDBFX1ZTSV9NQUlOICYmIHR5cGUgIT0g STQwRV9WU0lfU1JJT1YgJiYNCgkgICAgdXBsaW5rX3ZzaSA9PSBOVUxMKSB7DQoJCVBNRF9EUlZf TE9HKEVSUiwNCgkJCSJWU0kgc2V0dXAgZmFpbGVkLCBWU0kgbGluayBzaG91bGRuJ3QgYmUgTlVM TCIpOw0KCQlyZXR1cm4gTlVMTDsNCgl9DQoNCglpZiAodHlwZSA9PSBJNDBFX1ZTSV9NQUlOICYm IHVwbGlua192c2kgIT0gTlVMTCkgew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkiVlNJIHNldHVw IGZhaWxlZCwgTUFJTiBWU0kgdXBsaW5rIFZTSSBzaG91bGQgYmUgTlVMTCIpOw0KCQlyZXR1cm4g TlVMTDsNCgl9DQoNCgkvKiB0d28gc2l0dWF0aW9ucw0KCSAqIDEudHlwZSBpcyBub3QgTUFJTiBh bmQgdXBsaW5rIHZzaSBpcyBub3QgTlVMTA0KCSAqIElmIHVwbGluayB2c2kgZGlkbid0IHNldHVw IFZFQiwgY3JlYXRlIG9uZSBmaXJzdCB1bmRlciB2ZWIgZmllbGQNCgkgKiAyLnR5cGUgaXMgU1JJ T1YgYW5kIHRoZSB1cGxpbmsgaXMgTlVMTA0KCSAqIElmIGZsb2F0aW5nIFZFQiBpcyBOVUxMLCBj cmVhdGUgb25lIHZlYiB1bmRlciBmbG9hdGluZyB2ZWIgZmllbGQNCgkgKi8NCg0KCWlmICh0eXBl ICE9IEk0MEVfVlNJX01BSU4gJiYgdXBsaW5rX3ZzaSAhPSBOVUxMICYmDQoJICAgIHVwbGlua192 c2ktPnZlYiA9PSBOVUxMKSB7DQoJCXVwbGlua192c2ktPnZlYiA9IGk0MGVfdmViX3NldHVwKHBm LCB1cGxpbmtfdnNpKTsNCg0KCQlpZiAodXBsaW5rX3ZzaS0+dmViID09IE5VTEwpIHsNCgkJCVBN RF9EUlZfTE9HKEVSUiwgIlZFQiBzZXR1cCBmYWlsZWQiKTsNCgkJCXJldHVybiBOVUxMOw0KCQl9 DQoJCS8qIHNldCBBTExPV0xPT1BCQUNrIG9uIHBmLCB3aGVuIHZlYiBpcyBjcmVhdGVkICovDQoJ CWk0MGVfZW5hYmxlX3BmX2xiKHBmKTsNCgl9DQoNCglpZiAodHlwZSA9PSBJNDBFX1ZTSV9TUklP ViAmJiB1cGxpbmtfdnNpID09IE5VTEwgJiYNCgkgICAgcGYtPm1haW5fdnNpLT5mbG9hdGluZ192 ZWIgPT0gTlVMTCkgew0KCQlwZi0+bWFpbl92c2ktPmZsb2F0aW5nX3ZlYiA9IGk0MGVfdmViX3Nl dHVwKHBmLCB1cGxpbmtfdnNpKTsNCg0KCQlpZiAocGYtPm1haW5fdnNpLT5mbG9hdGluZ192ZWIg PT0gTlVMTCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiVkVCIHNldHVwIGZhaWxlZCIpOw0KCQkJ cmV0dXJuIE5VTEw7DQoJCX0NCgl9DQoNCgl2c2kgPSBydGVfem1hbGxvYygiaTQwZV92c2kiLCBz aXplb2Yoc3RydWN0IGk0MGVfdnNpKSwgMCk7DQoJaWYgKCF2c2kpIHsNCgkJUE1EX0RSVl9MT0co RVJSLCAiRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgdnNpIik7DQoJCXJldHVybiBOVUxM Ow0KCX0NCglUQUlMUV9JTklUKCZ2c2ktPm1hY19saXN0KTsNCgl2c2ktPnR5cGUgPSB0eXBlOw0K CXZzaS0+YWRhcHRlciA9IEk0MEVfUEZfVE9fQURBUFRFUihwZik7DQoJdnNpLT5tYXhfbWFjYWRk cnMgPSBJNDBFX05VTV9NQUNBRERSX01BWDsNCgl2c2ktPnBhcmVudF92c2kgPSB1cGxpbmtfdnNp ID8gdXBsaW5rX3ZzaSA6IHBmLT5tYWluX3ZzaTsNCgl2c2ktPnVzZXJfcGFyYW0gPSB1c2VyX3Bh cmFtOw0KCXZzaS0+dmxhbl9hbnRpX3Nwb29mX29uID0gMDsNCgl2c2ktPnZsYW5fZmlsdGVyX29u ID0gMDsNCgkvKiBBbGxvY2F0ZSBxdWV1ZXMgKi8NCglzd2l0Y2ggKHZzaS0+dHlwZSkgew0KCWNh c2UgSTQwRV9WU0lfTUFJTiAgOg0KCQl2c2ktPm5iX3FwcyA9IHBmLT5sYW5fbmJfcXBzOw0KCQli cmVhazsNCgljYXNlIEk0MEVfVlNJX1NSSU9WIDoNCgkJdnNpLT5uYl9xcHMgPSBwZi0+dmZfbmJf cXBzOw0KCQlicmVhazsNCgljYXNlIEk0MEVfVlNJX1ZNRFEyOg0KCQl2c2ktPm5iX3FwcyA9IHBm LT52bWRxX25iX3FwczsNCgkJYnJlYWs7DQoJY2FzZSBJNDBFX1ZTSV9GRElSOg0KCQl2c2ktPm5i X3FwcyA9IHBmLT5mZGlyX25iX3FwczsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJZ290byBmYWls X21lbTsNCgl9DQoJLyoNCgkgKiBUaGUgZmlsdGVyIHN0YXR1cyBkZXNjcmlwdG9yIGlzIHJlcG9y dGVkIGluIHJ4IHF1ZXVlIDAsDQoJICogd2hpbGUgdGhlIHR4IHF1ZXVlIGZvciBmZGlyIGZpbHRl ciBwcm9ncmFtbWluZyBoYXMgbm8NCgkgKiBzdWNoIGNvbnN0cmFpbnRzLCBjYW4gYmUgbm9uLXpl cm8gcXVldWVzLg0KCSAqIFRvIHNpbXBsaWZ5IGl0LCBjaG9vc2UgRkRJUiB2c2kgdXNlIHF1ZXVl IDAgcGFpci4NCgkgKiBUbyBtYWtlIHN1cmUgaXQgd2lsbCB1c2UgcXVldWUgMCBwYWlyLCBxdWV1 ZSBhbGxvY2F0aW9uDQoJICogbmVlZCBiZSBkb25lIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGlzIGNh bGxlZA0KCSAqLw0KCWlmICh0eXBlICE9IEk0MEVfVlNJX0ZESVIpIHsNCgkJcmV0ID0gaTQwZV9y ZXNfcG9vbF9hbGxvYygmcGYtPnFwX3Bvb2wsIHZzaS0+bmJfcXBzKTsNCgkJCWlmIChyZXQgPCAw KSB7DQoJCQkJUE1EX0RSVl9MT0coRVJSLCAiVlNJICVkIGFsbG9jYXRlIHF1ZXVlIGZhaWxlZCAl ZCIsDQoJCQkJCQl2c2ktPnNlaWQsIHJldCk7DQoJCQkJZ290byBmYWlsX21lbTsNCgkJCX0NCgkJ CXZzaS0+YmFzZV9xdWV1ZSA9IHJldDsNCgl9IGVsc2UNCgkJdnNpLT5iYXNlX3F1ZXVlID0gSTQw RV9GRElSX1FVRVVFX0lEOw0KDQoJLyogVkYgaGFzIE1TSVggaW50ZXJydXB0IGluIFZGIHJhbmdl LCBkb24ndCBhbGxvY2F0ZSBoZXJlICovDQoJaWYgKHR5cGUgPT0gSTQwRV9WU0lfTUFJTikgew0K CQlpZiAocGYtPnN1cHBvcnRfbXVsdGlfZHJpdmVyKSB7DQoJCQkvKiBJZiBzdXBwb3J0IG11bHRp LWRyaXZlciwgbmVlZCB0byB1c2UgSU5UMCBpbnN0ZWFkIG9mDQoJCQkgKiBhbGxvY2F0aW5nIGZy b20gbXNpeCBwb29sLiBUaGUgTXNpeCBwb29sIGlzIGluaXQgZnJvbQ0KCQkJICogSU5UMSwgc28g aXQncyBPSyBqdXN0IHNldCBtc2l4X2ludHIgdG8gMCBhbmQgbmJfbXNpeA0KCQkJICogdG8gMSB3 aXRob3V0IGNhbGxpbmcgaTQwZV9yZXNfcG9vbF9hbGxvYy4NCgkJCSAqLw0KCQkJdnNpLT5tc2l4 X2ludHIgPSAwOw0KCQkJdnNpLT5uYl9tc2l4ID0gMTsNCgkJfSBlbHNlIHsNCgkJCXJldCA9IGk0 MGVfcmVzX3Bvb2xfYWxsb2MoJnBmLT5tc2l4X3Bvb2wsDQoJCQkJCQkgIFJURV9NSU4odnNpLT5u Yl9xcHMsDQoJCQkJCQkgICAgIFJURV9NQVhfUlhUWF9JTlRSX1ZFQ19JRCkpOw0KCQkJaWYgKHJl dCA8IDApIHsNCgkJCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJCSAgICAiVlNJIE1BSU4gJWQgZ2V0 IGhlYXAgZmFpbGVkICVkIiwNCgkJCQkJICAgIHZzaS0+c2VpZCwgcmV0KTsNCgkJCQlnb3RvIGZh aWxfcXVldWVfYWxsb2M7DQoJCQl9DQoJCQl2c2ktPm1zaXhfaW50ciA9IHJldDsNCgkJCXZzaS0+ bmJfbXNpeCA9IFJURV9NSU4odnNpLT5uYl9xcHMsDQoJCQkJCSAgICAgICBSVEVfTUFYX1JYVFhf SU5UUl9WRUNfSUQpOw0KCQl9DQoJfSBlbHNlIGlmICh0eXBlICE9IEk0MEVfVlNJX1NSSU9WKSB7 DQoJCXJldCA9IGk0MGVfcmVzX3Bvb2xfYWxsb2MoJnBmLT5tc2l4X3Bvb2wsIDEpOw0KCQlpZiAo cmV0IDwgMCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiVlNJICVkIGdldCBoZWFwIGZhaWxlZCAl ZCIsIHZzaS0+c2VpZCwgcmV0KTsNCgkJCWdvdG8gZmFpbF9xdWV1ZV9hbGxvYzsNCgkJfQ0KCQl2 c2ktPm1zaXhfaW50ciA9IHJldDsNCgkJdnNpLT5uYl9tc2l4ID0gMTsNCgl9IGVsc2Ugew0KCQl2 c2ktPm1zaXhfaW50ciA9IDA7DQoJCXZzaS0+bmJfbXNpeCA9IDA7DQoJfQ0KDQoJLyogQWRkIFZT SSAqLw0KCWlmICh0eXBlID09IEk0MEVfVlNJX01BSU4pIHsNCgkJLyogRm9yIG1haW4gVlNJLCBu byBuZWVkIHRvIGFkZCBzaW5jZSBpdCdzIGRlZmF1bHQgb25lICovDQoJCXZzaS0+dXBsaW5rX3Nl aWQgPSBwZi0+bWFjX3NlaWQ7DQoJCXZzaS0+c2VpZCA9IHBmLT5tYWluX3ZzaV9zZWlkOw0KCQkv KiBCaW5kIHF1ZXVlcyB3aXRoIHNwZWNpZmljIE1TSVggaW50ZXJydXB0ICovDQoJCS8qKg0KCQkg KiBOZWVkcyAyIGludGVycnVwdCBhdCBsZWFzdCwgb25lIGZvciBtaXNjIGNhdXNlIHdoaWNoIHdp bGwNCgkJICogZW5hYmxlZCBmcm9tIE9TIHNpZGUsIEFub3RoZXIgZm9yIHF1ZXVlcyBiaW5kaW5n IHRoZQ0KCQkgKiBpbnRlcnJ1cHQgZnJvbSBkZXZpY2Ugc2lkZSBvbmx5Lg0KCQkgKi8NCg0KCQkv KiBHZXQgZGVmYXVsdCBWU0kgcGFyYW1ldGVycyBmcm9tIGhhcmR3YXJlICovDQoJCW1lbXNldCgm Y3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsNCgkJY3R4dC5zZWlkID0gdnNpLT5zZWlkOw0KCQljdHh0 LnBmX251bSA9IGh3LT5wZl9pZDsNCgkJY3R4dC51cGxpbmtfc2VpZCA9IHZzaS0+dXBsaW5rX3Nl aWQ7DQoJCWN0eHQudmZfbnVtID0gMDsNCgkJcmV0ID0gaTQwZV9hcV9nZXRfdnNpX3BhcmFtcyho dywgJmN0eHQsIE5VTEwpOw0KCQlpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQkJUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCBWU0kgcGFyYW1zIik7DQoJCQlnb3RvIGZhaWxfbXNp eF9hbGxvYzsNCgkJfQ0KCQlydGVfbWVtY3B5KCZ2c2ktPmluZm8sICZjdHh0LmluZm8sDQoJCQlz aXplb2Yoc3RydWN0IGk0MGVfYXFjX3ZzaV9wcm9wZXJ0aWVzX2RhdGEpKTsNCgkJdnNpLT52c2lf aWQgPSBjdHh0LnZzaV9udW1iZXI7DQoJCXZzaS0+aW5mby52YWxpZF9zZWN0aW9ucyA9IDA7DQoN CgkJLyogQ29uZmlndXJlIHRjLCBlbmFibGVkIFRDMCBvbmx5ICovDQoJCWlmIChpNDBlX3ZzaV91 cGRhdGVfdGNfYmFuZHdpZHRoKHZzaSwgSTQwRV9ERUZBVUxUX1RDTUFQKSAhPQ0KCQkJSTQwRV9T VUNDRVNTKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gdXBkYXRlIFRDIGJhbmR3 aWR0aCIpOw0KCQkJZ290byBmYWlsX21zaXhfYWxsb2M7DQoJCX0NCg0KCQkvKiBUQywgcXVldWUg bWFwcGluZyAqLw0KCQltZW1zZXQoJmN0eHQsIDAsIHNpemVvZihjdHh0KSk7DQoJCXZzaS0+aW5m by52YWxpZF9zZWN0aW9ucyB8PQ0KCQkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9QUk9Q X1ZMQU5fVkFMSUQpOw0KCQl2c2ktPmluZm8ucG9ydF92bGFuX2ZsYWdzID0gSTQwRV9BUV9WU0lf UFZMQU5fTU9ERV9BTEwgfA0KCQkJCQlJNDBFX0FRX1ZTSV9QVkxBTl9FTU9EX1NUUl9CT1RIOw0K CQlydGVfbWVtY3B5KCZjdHh0LmluZm8sICZ2c2ktPmluZm8sDQoJCQlzaXplb2Yoc3RydWN0IGk0 MGVfYXFjX3ZzaV9wcm9wZXJ0aWVzX2RhdGEpKTsNCgkJcmV0ID0gaTQwZV92c2lfY29uZmlnX3Rj X3F1ZXVlX21hcHBpbmcodnNpLCAmY3R4dC5pbmZvLA0KCQkJCQkJSTQwRV9ERUZBVUxUX1RDTUFQ KTsNCgkJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwNCgkJ CQkiRmFpbGVkIHRvIGNvbmZpZ3VyZSBUQyBxdWV1ZSBtYXBwaW5nIik7DQoJCQlnb3RvIGZhaWxf bXNpeF9hbGxvYzsNCgkJfQ0KCQljdHh0LnNlaWQgPSB2c2ktPnNlaWQ7DQoJCWN0eHQucGZfbnVt ID0gaHctPnBmX2lkOw0KCQljdHh0LnVwbGlua19zZWlkID0gdnNpLT51cGxpbmtfc2VpZDsNCgkJ Y3R4dC52Zl9udW0gPSAwOw0KDQoJCS8qIFVwZGF0ZSBWU0kgcGFyYW1ldGVycyAqLw0KCQlyZXQg PSBpNDBlX2FxX3VwZGF0ZV92c2lfcGFyYW1zKGh3LCAmY3R4dCwgTlVMTCk7DQoJCWlmIChyZXQg IT0gSTQwRV9TVUNDRVNTKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gdXBkYXRl IFZTSSBwYXJhbXMiKTsNCgkJCWdvdG8gZmFpbF9tc2l4X2FsbG9jOw0KCQl9DQoNCgkJcnRlX21l bWNweSgmdnNpLT5pbmZvLnRjX21hcHBpbmcsICZjdHh0LmluZm8udGNfbWFwcGluZywNCgkJCQkJ CXNpemVvZih2c2ktPmluZm8udGNfbWFwcGluZykpOw0KCQlydGVfbWVtY3B5KCZ2c2ktPmluZm8u cXVldWVfbWFwcGluZywNCgkJCQkmY3R4dC5pbmZvLnF1ZXVlX21hcHBpbmcsDQoJCQlzaXplb2Yo dnNpLT5pbmZvLnF1ZXVlX21hcHBpbmcpKTsNCgkJdnNpLT5pbmZvLm1hcHBpbmdfZmxhZ3MgPSBj dHh0LmluZm8ubWFwcGluZ19mbGFnczsNCgkJdnNpLT5pbmZvLnZhbGlkX3NlY3Rpb25zID0gMDsN Cg0KCQlydGVfbWVtY3B5KHBmLT5kZXZfYWRkci5hZGRyX2J5dGVzLCBody0+bWFjLnBlcm1fYWRk ciwNCgkJCQlFVEhfQUREUl9MRU4pOw0KDQoJCS8qKg0KCQkgKiBVcGRhdGluZyBkZWZhdWx0IGZp bHRlciBzZXR0aW5ncyBhcmUgbmVjZXNzYXJ5IHRvIHByZXZlbnQNCgkJICogcmVjZXB0aW9uIG9m IHRhZ2dlZCBwYWNrZXRzLg0KCQkgKiBTb21lIG9sZCBmaXJtd2FyZSBjb25maWd1cmF0aW9ucyBs b2FkIGEgZGVmYXVsdCBtYWN2bGFuDQoJCSAqIGZpbHRlciB3aGljaCBhY2NlcHRzIGJvdGggdGFn Z2VkIGFuZCB1bnRhZ2dlZCBwYWNrZXRzLg0KCQkgKiBUaGUgdXBkYXRpbmcgaXMgdG8gdXNlIGEg bm9ybWFsIGZpbHRlciBpbnN0ZWFkIGlmIG5lZWRlZC4NCgkJICogRm9yIE5WTSA0LjIuMiBvciBh ZnRlciwgdGhlIHVwZGF0aW5nIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4NCgkJICogVGhlIGZpcm13 YXJlIHdpdGggY29ycmVjdCBjb25maWd1cmF0aW9ucyBsb2FkIHRoZSBkZWZhdWx0DQoJCSAqIG1h Y3ZsYW4gZmlsdGVyIHdoaWNoIGlzIGV4cGVjdGVkIGFuZCBjYW5ub3QgYmUgcmVtb3ZlZC4NCgkJ ICovDQoJCWk0MGVfdXBkYXRlX2RlZmF1bHRfZmlsdGVyX3NldHRpbmcodnNpKTsNCgkJaTQwZV9j b25maWdfcWlucShodywgdnNpKTsNCgl9IGVsc2UgaWYgKHR5cGUgPT0gSTQwRV9WU0lfU1JJT1Yp IHsNCgkJbWVtc2V0KCZjdHh0LCAwLCBzaXplb2YoY3R4dCkpOw0KCQkvKioNCgkJICogRm9yIG90 aGVyIFZTSSwgdGhlIHVwbGlua19zZWlkIGVxdWFscyB0byB1cGxpbmsgVlNJJ3MNCgkJICogdXBs aW5rX3NlaWQgc2luY2UgdGhleSBzaGFyZSBzYW1lIFZFQg0KCQkgKi8NCgkJaWYgKHVwbGlua192 c2kgPT0gTlVMTCkNCgkJCXZzaS0+dXBsaW5rX3NlaWQgPSBwZi0+bWFpbl92c2ktPmZsb2F0aW5n X3ZlYi0+c2VpZDsNCgkJZWxzZQ0KCQkJdnNpLT51cGxpbmtfc2VpZCA9IHVwbGlua192c2ktPnVw bGlua19zZWlkOw0KCQljdHh0LnBmX251bSA9IGh3LT5wZl9pZDsNCgkJY3R4dC52Zl9udW0gPSBo dy0+ZnVuY19jYXBzLnZmX2Jhc2VfaWQgKyB1c2VyX3BhcmFtOw0KCQljdHh0LnVwbGlua19zZWlk ID0gdnNpLT51cGxpbmtfc2VpZDsNCgkJY3R4dC5jb25uZWN0aW9uX3R5cGUgPSAweDE7DQoJCWN0 eHQuZmxhZ3MgPSBJNDBFX0FRX1ZTSV9UWVBFX1ZGOw0KDQoJCS8qIFVzZSB0aGUgVkVCIGNvbmZp Z3VyYXRpb24gaWYgRlcgPj0gdjUuMCAqLw0KCQlpZiAoaHctPmFxLmZ3X21hal92ZXIgPj0gNSB8 fCBody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMikgew0KCQkJLyogQ29uZmlndXJlIHN3aXRj aCBJRCAqLw0KCQkJY3R4dC5pbmZvLnZhbGlkX3NlY3Rpb25zIHw9DQoJCQlydGVfY3B1X3RvX2xl XzE2KEk0MEVfQVFfVlNJX1BST1BfU1dJVENIX1ZBTElEKTsNCgkJCWN0eHQuaW5mby5zd2l0Y2hf aWQgPQ0KCQkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9TV19JRF9GTEFHX0FMTE9XX0xC KTsNCgkJfQ0KDQoJCS8qIENvbmZpZ3VyZSBwb3J0L3ZsYW4gKi8NCgkJY3R4dC5pbmZvLnZhbGlk X3NlY3Rpb25zIHw9DQoJCQlydGVfY3B1X3RvX2xlXzE2KEk0MEVfQVFfVlNJX1BST1BfVkxBTl9W QUxJRCk7DQoJCWN0eHQuaW5mby5wb3J0X3ZsYW5fZmxhZ3MgfD0gSTQwRV9BUV9WU0lfUFZMQU5f TU9ERV9BTEw7DQoJCXJldCA9IGk0MGVfdnNpX2NvbmZpZ190Y19xdWV1ZV9tYXBwaW5nKHZzaSwg JmN0eHQuaW5mbywNCgkJCQkJCWh3LT5mdW5jX2NhcHMuZW5hYmxlZF90Y21hcCk7DQoJCWlmIChy ZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJIkZhaWxlZCB0 byBjb25maWd1cmUgVEMgcXVldWUgbWFwcGluZyIpOw0KCQkJZ290byBmYWlsX21zaXhfYWxsb2M7 DQoJCX0NCg0KCQljdHh0LmluZm8udXBfZW5hYmxlX2JpdHMgPSBody0+ZnVuY19jYXBzLmVuYWJs ZWRfdGNtYXA7DQoJCWN0eHQuaW5mby52YWxpZF9zZWN0aW9ucyB8PQ0KCQkJcnRlX2NwdV90b19s ZV8xNihJNDBFX0FRX1ZTSV9QUk9QX1NDSEVEX1ZBTElEKTsNCgkJLyoqDQoJCSAqIFNpbmNlIFZT SSBpcyBub3QgY3JlYXRlZCB5ZXQsIG9ubHkgY29uZmlndXJlIHBhcmFtZXRlciwNCgkJICogd2ls bCBhZGQgdnNpIGJlbG93Lg0KCQkgKi8NCg0KCQlpNDBlX2NvbmZpZ19xaW5xKGh3LCB2c2kpOw0K CX0gZWxzZSBpZiAodHlwZSA9PSBJNDBFX1ZTSV9WTURRMikgew0KCQltZW1zZXQoJmN0eHQsIDAs IHNpemVvZihjdHh0KSk7DQoJCS8qDQoJCSAqIEZvciBvdGhlciBWU0ksIHRoZSB1cGxpbmtfc2Vp ZCBlcXVhbHMgdG8gdXBsaW5rIFZTSSdzDQoJCSAqIHVwbGlua19zZWlkIHNpbmNlIHRoZXkgc2hh cmUgc2FtZSBWRUINCgkJICovDQoJCXZzaS0+dXBsaW5rX3NlaWQgPSB1cGxpbmtfdnNpLT51cGxp bmtfc2VpZDsNCgkJY3R4dC5wZl9udW0gPSBody0+cGZfaWQ7DQoJCWN0eHQudmZfbnVtID0gMDsN CgkJY3R4dC51cGxpbmtfc2VpZCA9IHZzaS0+dXBsaW5rX3NlaWQ7DQoJCWN0eHQuY29ubmVjdGlv bl90eXBlID0gMHgxOw0KCQljdHh0LmZsYWdzID0gSTQwRV9BUV9WU0lfVFlQRV9WTURRMjsNCg0K CQljdHh0LmluZm8udmFsaWRfc2VjdGlvbnMgfD0NCgkJCQlydGVfY3B1X3RvX2xlXzE2KEk0MEVf QVFfVlNJX1BST1BfU1dJVENIX1ZBTElEKTsNCgkJLyogdXNlcl9wYXJhbSBjYXJyaWVzIGZsYWcg dG8gZW5hYmxlIGxvb3AgYmFjayAqLw0KCQlpZiAodXNlcl9wYXJhbSkgew0KCQkJY3R4dC5pbmZv LnN3aXRjaF9pZCA9DQoJCQlydGVfY3B1X3RvX2xlXzE2KEk0MEVfQVFfVlNJX1NXX0lEX0ZMQUdf TE9DQUxfTEIpOw0KCQkJY3R4dC5pbmZvLnN3aXRjaF9pZCB8PQ0KCQkJcnRlX2NwdV90b19sZV8x NihJNDBFX0FRX1ZTSV9TV19JRF9GTEFHX0FMTE9XX0xCKTsNCgkJfQ0KDQoJCS8qIENvbmZpZ3Vy ZSBwb3J0L3ZsYW4gKi8NCgkJY3R4dC5pbmZvLnZhbGlkX3NlY3Rpb25zIHw9DQoJCQlydGVfY3B1 X3RvX2xlXzE2KEk0MEVfQVFfVlNJX1BST1BfVkxBTl9WQUxJRCk7DQoJCWN0eHQuaW5mby5wb3J0 X3ZsYW5fZmxhZ3MgfD0gSTQwRV9BUV9WU0lfUFZMQU5fTU9ERV9BTEw7DQoJCXJldCA9IGk0MGVf dnNpX2NvbmZpZ190Y19xdWV1ZV9tYXBwaW5nKHZzaSwgJmN0eHQuaW5mbywNCgkJCQkJCUk0MEVf REVGQVVMVF9UQ01BUCk7DQoJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCQlQTURfRFJW X0xPRyhFUlIsDQoJCQkJIkZhaWxlZCB0byBjb25maWd1cmUgVEMgcXVldWUgbWFwcGluZyIpOw0K CQkJZ290byBmYWlsX21zaXhfYWxsb2M7DQoJCX0NCgkJY3R4dC5pbmZvLnVwX2VuYWJsZV9iaXRz ID0gSTQwRV9ERUZBVUxUX1RDTUFQOw0KCQljdHh0LmluZm8udmFsaWRfc2VjdGlvbnMgfD0NCgkJ CXJ0ZV9jcHVfdG9fbGVfMTYoSTQwRV9BUV9WU0lfUFJPUF9TQ0hFRF9WQUxJRCk7DQoJfSBlbHNl IGlmICh0eXBlID09IEk0MEVfVlNJX0ZESVIpIHsNCgkJbWVtc2V0KCZjdHh0LCAwLCBzaXplb2Yo Y3R4dCkpOw0KCQl2c2ktPnVwbGlua19zZWlkID0gdXBsaW5rX3ZzaS0+dXBsaW5rX3NlaWQ7DQoJ CWN0eHQucGZfbnVtID0gaHctPnBmX2lkOw0KCQljdHh0LnZmX251bSA9IDA7DQoJCWN0eHQudXBs aW5rX3NlaWQgPSB2c2ktPnVwbGlua19zZWlkOw0KCQljdHh0LmNvbm5lY3Rpb25fdHlwZSA9IDB4 MTsgICAgIC8qIHJlZ3VsYXIgZGF0YSBwb3J0ICovDQoJCWN0eHQuZmxhZ3MgPSBJNDBFX0FRX1ZT SV9UWVBFX1BGOw0KCQlyZXQgPSBpNDBlX3ZzaV9jb25maWdfdGNfcXVldWVfbWFwcGluZyh2c2ks ICZjdHh0LmluZm8sDQoJCQkJCQlJNDBFX0RFRkFVTFRfVENNQVApOw0KCQlpZiAocmV0ICE9IEk0 MEVfU1VDQ0VTUykgew0KCQkJUE1EX0RSVl9MT0coRVJSLA0KCQkJCSJGYWlsZWQgdG8gY29uZmln dXJlIFRDIHF1ZXVlIG1hcHBpbmcuIik7DQoJCQlnb3RvIGZhaWxfbXNpeF9hbGxvYzsNCgkJfQ0K CQljdHh0LmluZm8udXBfZW5hYmxlX2JpdHMgPSBJNDBFX0RFRkFVTFRfVENNQVA7DQoJCWN0eHQu aW5mby52YWxpZF9zZWN0aW9ucyB8PQ0KCQkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9Q Uk9QX1NDSEVEX1ZBTElEKTsNCgl9IGVsc2Ugew0KCQlQTURfRFJWX0xPRyhFUlIsICJWU0k6IE5v dCBzdXBwb3J0IG90aGVyIHR5cGUgVlNJIHlldCIpOw0KCQlnb3RvIGZhaWxfbXNpeF9hbGxvYzsN Cgl9DQoNCglpZiAodnNpLT50eXBlICE9IEk0MEVfVlNJX01BSU4pIHsNCgkJcmV0ID0gaTQwZV9h cV9hZGRfdnNpKGh3LCAmY3R4dCwgTlVMTCk7DQoJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7 DQoJCQlQTURfRFJWX0xPRyhFUlIsICJhZGQgdnNpIGZhaWxlZCwgYXFfZXJyPSVkIiwNCgkJCQkg ICAgaHctPmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoJCQlnb3RvIGZhaWxfbXNpeF9hbGxvYzsNCgkJ fQ0KCQltZW1jcHkoJnZzaS0+aW5mbywgJmN0eHQuaW5mbywgc2l6ZW9mKGN0eHQuaW5mbykpOw0K CQl2c2ktPmluZm8udmFsaWRfc2VjdGlvbnMgPSAwOw0KCQl2c2ktPnNlaWQgPSBjdHh0LnNlaWQ7 DQoJCXZzaS0+dnNpX2lkID0gY3R4dC52c2lfbnVtYmVyOw0KCQl2c2ktPnNpYl92c2lfbGlzdC52 c2kgPSB2c2k7DQoJCWlmICh2c2ktPnR5cGUgPT0gSTQwRV9WU0lfU1JJT1YgJiYgdXBsaW5rX3Zz aSA9PSBOVUxMKSB7DQoJCQlUQUlMUV9JTlNFUlRfVEFJTCgmcGYtPm1haW5fdnNpLT5mbG9hdGlu Z192ZWItPmhlYWQsDQoJCQkJCSAgJnZzaS0+c2liX3ZzaV9saXN0LCBsaXN0KTsNCgkJfSBlbHNl IHsNCgkJCVRBSUxRX0lOU0VSVF9UQUlMKCZ1cGxpbmtfdnNpLT52ZWItPmhlYWQsDQoJCQkJCSAg JnZzaS0+c2liX3ZzaV9saXN0LCBsaXN0KTsNCgkJfQ0KCX0NCg0KCS8qIE1BQy9WTEFOIGNvbmZp Z3VyYXRpb24gKi8NCglydGVfbWVtY3B5KCZmaWx0ZXIubWFjX2FkZHIsICZicm9hZGNhc3QsIFJU RV9FVEhFUl9BRERSX0xFTik7DQoJZmlsdGVyLmZpbHRlcl90eXBlID0gUlRFX01BQ1ZMQU5fUEVS RkVDVF9NQVRDSDsNCg0KCXJldCA9IGk0MGVfdnNpX2FkZF9tYWModnNpLCAmZmlsdGVyKTsNCglp ZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8g YWRkIE1BQ1ZMQU4gZmlsdGVyIik7DQoJCWdvdG8gZmFpbF9tc2l4X2FsbG9jOw0KCX0NCg0KCS8q IEdldCBWU0kgQlcgaW5mb3JtYXRpb24gKi8NCglpNDBlX3ZzaV9nZXRfYndfY29uZmlnKHZzaSk7 DQoJcmV0dXJuIHZzaTsNCmZhaWxfbXNpeF9hbGxvYzoNCglpNDBlX3Jlc19wb29sX2ZyZWUoJnBm LT5tc2l4X3Bvb2wsdnNpLT5tc2l4X2ludHIpOw0KZmFpbF9xdWV1ZV9hbGxvYzoNCglpNDBlX3Jl c19wb29sX2ZyZWUoJnBmLT5xcF9wb29sLHZzaS0+YmFzZV9xdWV1ZSk7DQpmYWlsX21lbToNCgly dGVfZnJlZSh2c2kpOw0KCXJldHVybiBOVUxMOw0KfQ0KDQovKiBDb25maWd1cmUgdmxhbiBmaWx0 ZXIgb24gb3Igb2ZmICovDQppbnQNCmk0MGVfdnNpX2NvbmZpZ192bGFuX2ZpbHRlcihzdHJ1Y3Qg aTQwZV92c2kgKnZzaSwgYm9vbCBvbikNCnsNCglpbnQgaSwgbnVtOw0KCXN0cnVjdCBpNDBlX21h Y19maWx0ZXIgKmY7DQoJdm9pZCAqdGVtcDsNCglzdHJ1Y3QgaTQwZV9tYWNfZmlsdGVyX2luZm8g Km1hY19maWx0ZXI7DQoJZW51bSBydGVfbWFjX2ZpbHRlcl90eXBlIGRlc2lyZWRfZmlsdGVyOw0K CWludCByZXQgPSBJNDBFX1NVQ0NFU1M7DQoNCglpZiAob24pIHsNCgkJLyogRmlsdGVyIHRvIG1h dGNoIE1BQyBhbmQgVkxBTiAqLw0KCQlkZXNpcmVkX2ZpbHRlciA9IFJURV9NQUNWTEFOX1BFUkZF Q1RfTUFUQ0g7DQoJfSBlbHNlIHsNCgkJLyogRmlsdGVyIHRvIG1hdGNoIG9ubHkgTUFDICovDQoJ CWRlc2lyZWRfZmlsdGVyID0gUlRFX01BQ19QRVJGRUNUX01BVENIOw0KCX0NCg0KCW51bSA9IHZz aS0+bWFjX251bTsNCg0KCW1hY19maWx0ZXIgPSBydGVfem1hbGxvYygibWFjX2ZpbHRlcl9pbmZv X2RhdGEiLA0KCQkJCSBudW0gKiBzaXplb2YoKm1hY19maWx0ZXIpLCAwKTsNCglpZiAobWFjX2Zp bHRlciA9PSBOVUxMKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgImZhaWxlZCB0byBhbGxvY2F0ZSBt ZW1vcnkiKTsNCgkJcmV0dXJuIEk0MEVfRVJSX05PX01FTU9SWTsNCgl9DQoNCglpID0gMDsNCg0K CS8qIFJlbW92ZSBhbGwgZXhpc3RpbmcgbWFjICovDQoJVEFJTFFfRk9SRUFDSF9TQUZFKGYsICZ2 c2ktPm1hY19saXN0LCBuZXh0LCB0ZW1wKSB7DQoJCW1hY19maWx0ZXJbaV0gPSBmLT5tYWNfaW5m bzsNCgkJcmV0ID0gaTQwZV92c2lfZGVsZXRlX21hYyh2c2ksICZmLT5tYWNfaW5mby5tYWNfYWRk cik7DQoJCWlmIChyZXQpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIlVwZGF0ZSBWU0kgZmFpbGVk IHRvICVzIHZsYW4gZmlsdGVyIiwNCgkJCQkgICAgb24gPyAiZW5hYmxlIiA6ICJkaXNhYmxlIik7 DQoJCQlnb3RvIERPTkU7DQoJCX0NCgkJaSsrOw0KCX0NCg0KCS8qIE92ZXJyaWRlIHdpdGggbmV3 IGZpbHRlciAqLw0KCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgew0KCQltYWNfZmlsdGVyW2ld LmZpbHRlcl90eXBlID0gZGVzaXJlZF9maWx0ZXI7DQoJCXJldCA9IGk0MGVfdnNpX2FkZF9tYWMo dnNpLCAmbWFjX2ZpbHRlcltpXSk7DQoJCWlmIChyZXQpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwg IlVwZGF0ZSBWU0kgZmFpbGVkIHRvICVzIHZsYW4gZmlsdGVyIiwNCgkJCQkgICAgb24gPyAiZW5h YmxlIiA6ICJkaXNhYmxlIik7DQoJCQlnb3RvIERPTkU7DQoJCX0NCgl9DQoNCkRPTkU6DQoJcnRl X2ZyZWUobWFjX2ZpbHRlcik7DQoJcmV0dXJuIHJldDsNCn0NCg0KLyogQ29uZmlndXJlIHZsYW4g c3RyaXBwaW5nIG9uIG9yIG9mZiAqLw0KaW50DQppNDBlX3ZzaV9jb25maWdfdmxhbl9zdHJpcHBp bmcoc3RydWN0IGk0MGVfdnNpICp2c2ksIGJvb2wgb24pDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3 ID0gSTQwRV9WU0lfVE9fSFcodnNpKTsNCglzdHJ1Y3QgaTQwZV92c2lfY29udGV4dCBjdHh0Ow0K CXVpbnQ4X3Qgdmxhbl9mbGFnczsNCglpbnQgcmV0ID0gSTQwRV9TVUNDRVNTOw0KDQoJLyogQ2hl Y2sgaWYgaXQgaGFzIGJlZW4gYWxyZWFkeSBvbiBvciBvZmYgKi8NCglpZiAodnNpLT5pbmZvLnZh bGlkX3NlY3Rpb25zICYNCgkJcnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9QUk9QX1ZMQU5f VkFMSUQpKSB7DQoJCWlmIChvbikgew0KCQkJaWYgKCh2c2ktPmluZm8ucG9ydF92bGFuX2ZsYWdz ICYNCgkJCQlJNDBFX0FRX1ZTSV9QVkxBTl9FTU9EX01BU0spID09IDApDQoJCQkJcmV0dXJuIDA7 IC8qIGFscmVhZHkgb24gKi8NCgkJfSBlbHNlIHsNCgkJCWlmICgodnNpLT5pbmZvLnBvcnRfdmxh bl9mbGFncyAmDQoJCQkJSTQwRV9BUV9WU0lfUFZMQU5fRU1PRF9NQVNLKSA9PQ0KCQkJCUk0MEVf QVFfVlNJX1BWTEFOX0VNT0RfTUFTSykNCgkJCQlyZXR1cm4gMDsgLyogYWxyZWFkeSBvZmYgKi8N CgkJfQ0KCX0NCg0KCWlmIChvbikNCgkJdmxhbl9mbGFncyA9IEk0MEVfQVFfVlNJX1BWTEFOX0VN T0RfU1RSX0JPVEg7DQoJZWxzZQ0KCQl2bGFuX2ZsYWdzID0gSTQwRV9BUV9WU0lfUFZMQU5fRU1P RF9OT1RISU5HOw0KCXZzaS0+aW5mby52YWxpZF9zZWN0aW9ucyA9DQoJCXJ0ZV9jcHVfdG9fbGVf MTYoSTQwRV9BUV9WU0lfUFJPUF9WTEFOX1ZBTElEKTsNCgl2c2ktPmluZm8ucG9ydF92bGFuX2Zs YWdzICY9IH4oSTQwRV9BUV9WU0lfUFZMQU5fRU1PRF9NQVNLKTsNCgl2c2ktPmluZm8ucG9ydF92 bGFuX2ZsYWdzIHw9IHZsYW5fZmxhZ3M7DQoJY3R4dC5zZWlkID0gdnNpLT5zZWlkOw0KCXJ0ZV9t ZW1jcHkoJmN0eHQuaW5mbywgJnZzaS0+aW5mbywgc2l6ZW9mKHZzaS0+aW5mbykpOw0KCXJldCA9 IGk0MGVfYXFfdXBkYXRlX3ZzaV9wYXJhbXMoaHcsICZjdHh0LCBOVUxMKTsNCglpZiAocmV0KQ0K CQlQTURfRFJWX0xPRyhJTkZPLCAiVXBkYXRlIFZTSSBmYWlsZWQgdG8gJXMgdmxhbiBzdHJpcHBp bmciLA0KCQkJICAgIG9uID8gImVuYWJsZSIgOiAiZGlzYWJsZSIpOw0KDQoJcmV0dXJuIHJldDsN Cn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfaW5pdF92bGFuKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KQ0Kew0KCXN0cnVjdCBydGVfZXRoX2Rldl9kYXRhICpkYXRhID0gZGV2LT5kYXRhOw0KCWlu dCByZXQ7DQoJaW50IG1hc2sgPSAwOw0KDQoJLyogQXBwbHkgdmxhbiBvZmZsb2FkIHNldHRpbmcg Ki8NCgltYXNrID0gRVRIX1ZMQU5fU1RSSVBfTUFTSyB8DQoJICAgICAgIEVUSF9WTEFOX0ZJTFRF Ul9NQVNLIHwNCgkgICAgICAgRVRIX1ZMQU5fRVhURU5EX01BU0s7DQoJcmV0ID0gaTQwZV92bGFu X29mZmxvYWRfc2V0KGRldiwgbWFzayk7DQoJaWYgKHJldCkgew0KCQlQTURfRFJWX0xPRyhJTkZP LCAiRmFpbGVkIHRvIHVwZGF0ZSB2bGFuIG9mZmxvYWQiKTsNCgkJcmV0dXJuIHJldDsNCgl9DQoN CgkvKiBBcHBseSBwdmlkIHNldHRpbmcgKi8NCglyZXQgPSBpNDBlX3ZsYW5fcHZpZF9zZXQoZGV2 LCBkYXRhLT5kZXZfY29uZi50eG1vZGUucHZpZCwNCgkJCQlkYXRhLT5kZXZfY29uZi50eG1vZGUu aHdfdmxhbl9pbnNlcnRfcHZpZCk7DQoJaWYgKHJldCkNCgkJUE1EX0RSVl9MT0coSU5GTywgIkZh aWxlZCB0byB1cGRhdGUgVlNJIHBhcmFtcyIpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGlj IGludA0KaTQwZV92c2lfY29uZmlnX2RvdWJsZV92bGFuKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCBp bnQgb24pDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9WU0lfVE9fSFcodnNpKTsNCg0K CXJldHVybiBpNDBlX2FxX3NldF9wb3J0X3BhcmFtZXRlcnMoaHcsIHZzaS0+c2VpZCwgMCwgMSwg b24sIE5VTEwpOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3VwZGF0ZV9mbG93X2NvbnRyb2woc3Ry dWN0IGk0MGVfaHcgKmh3KQ0Kew0KI2RlZmluZSBJNDBFX0xJTktfUEFVU0VfUlhUWCAoSTQwRV9B UV9MSU5LX1BBVVNFX1JYIHwgSTQwRV9BUV9MSU5LX1BBVVNFX1RYKQ0KCXN0cnVjdCBpNDBlX2xp bmtfc3RhdHVzIGxpbmtfc3RhdHVzOw0KCXVpbnQzMl90IHJ4ZmMgPSAwLCB0eGZjID0gMCwgcmVn Ow0KCXVpbnQ4X3QgYW5faW5mbzsNCglpbnQgcmV0Ow0KDQoJbWVtc2V0KCZsaW5rX3N0YXR1cywg MCwgc2l6ZW9mKGxpbmtfc3RhdHVzKSk7DQoJcmV0ID0gaTQwZV9hcV9nZXRfbGlua19pbmZvKGh3 LCBGQUxTRSwgJmxpbmtfc3RhdHVzLCBOVUxMKTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykg ew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZ2V0IGxpbmsgc3RhdHVzIGluZm9ybWF0 aW9uIik7DQoJCWdvdG8gd3JpdGVfcmVnOyAvKiBEaXNhYmxlIGZsb3cgY29udHJvbCAqLw0KCX0N Cg0KCWFuX2luZm8gPSBody0+cGh5LmxpbmtfaW5mby5hbl9pbmZvOw0KCWlmICghKGFuX2luZm8g JiBJNDBFX0FRX0FOX0NPTVBMRVRFRCkpIHsNCgkJUE1EX0RSVl9MT0coSU5GTywgIkxpbmsgYXV0 byBuZWdvdGlhdGlvbiBub3QgY29tcGxldGVkIik7DQoJCXJldCA9IEk0MEVfRVJSX05PVF9SRUFE WTsNCgkJZ290byB3cml0ZV9yZWc7IC8qIERpc2FibGUgZmxvdyBjb250cm9sICovDQoJfQ0KCS8q Kg0KCSAqIElmIGxpbmsgYXV0byBuZWdvdGlhdGlvbiBpcyBlbmFibGVkLCBmbG93IGNvbnRyb2wg bmVlZHMgdG8NCgkgKiBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBpdA0KCSAqLw0KCXN3aXRj aCAoYW5faW5mbyAmIEk0MEVfTElOS19QQVVTRV9SWFRYKSB7DQoJY2FzZSBJNDBFX0xJTktfUEFV U0VfUlhUWDoNCgkJcnhmYyA9IDE7DQoJCXR4ZmMgPSAxOw0KCQlody0+ZmMuY3VycmVudF9tb2Rl ID0gSTQwRV9GQ19GVUxMOw0KCQlicmVhazsNCgljYXNlIEk0MEVfQVFfTElOS19QQVVTRV9SWDoN CgkJcnhmYyA9IDE7DQoJCWh3LT5mYy5jdXJyZW50X21vZGUgPSBJNDBFX0ZDX1JYX1BBVVNFOw0K CQlicmVhazsNCgljYXNlIEk0MEVfQVFfTElOS19QQVVTRV9UWDoNCgkJdHhmYyA9IDE7DQoJCWh3 LT5mYy5jdXJyZW50X21vZGUgPSBJNDBFX0ZDX1RYX1BBVVNFOw0KCQlicmVhazsNCglkZWZhdWx0 Og0KCQlody0+ZmMuY3VycmVudF9tb2RlID0gSTQwRV9GQ19OT05FOw0KCQlicmVhazsNCgl9DQoN CndyaXRlX3JlZzoNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlREQ0JfRkNDRkcsDQoJCXR4 ZmMgPDwgSTQwRV9QUlREQ0JfRkNDRkdfVEZDRV9TSElGVCk7DQoJcmVnID0gSTQwRV9SRUFEX1JF RyhodywgSTQwRV9QUlREQ0JfTUZMQ04pOw0KCXJlZyAmPSB+STQwRV9QUlREQ0JfTUZMQ05fUkZD RV9NQVNLOw0KCXJlZyB8PSByeGZjIDw8IEk0MEVfUFJURENCX01GTENOX1JGQ0VfU0hJRlQ7DQoJ STQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJURENCX01GTENOLCByZWcpOw0KDQoJcmV0dXJuIHJl dDsNCn0NCg0KLyogUEYgc2V0dXAgKi8NCnN0YXRpYyBpbnQNCmk0MGVfcGZfc2V0dXAoc3RydWN0 IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYp Ow0KCXN0cnVjdCBpNDBlX2ZpbHRlcl9jb250cm9sX3NldHRpbmdzIHNldHRpbmdzOw0KCXN0cnVj dCBpNDBlX3ZzaSAqdnNpOw0KCWludCByZXQ7DQoNCgkvKiBDbGVhciBhbGwgc3RhdHMgY291bnRl cnMgKi8NCglwZi0+b2Zmc2V0X2xvYWRlZCA9IEZBTFNFOw0KCW1lbXNldCgmcGYtPnN0YXRzLCAw LCBzaXplb2Yoc3RydWN0IGk0MGVfaHdfcG9ydF9zdGF0cykpOw0KCW1lbXNldCgmcGYtPnN0YXRz X29mZnNldCwgMCwgc2l6ZW9mKHN0cnVjdCBpNDBlX2h3X3BvcnRfc3RhdHMpKTsNCgltZW1zZXQo JnBmLT5pbnRlcm5hbF9zdGF0cywgMCwgc2l6ZW9mKHN0cnVjdCBpNDBlX2V0aF9zdGF0cykpOw0K CW1lbXNldCgmcGYtPmludGVybmFsX3N0YXRzX29mZnNldCwgMCwgc2l6ZW9mKHN0cnVjdCBpNDBl X2V0aF9zdGF0cykpOw0KDQoJcmV0ID0gaTQwZV9wZl9nZXRfc3dpdGNoX2NvbmZpZyhwZik7DQoJ aWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiQ291bGQgbm90 IGdldCBzd2l0Y2ggY29uZmlnLCBlcnIgJWQiLCByZXQpOw0KCQlyZXR1cm4gcmV0Ow0KCX0NCg0K CXJldCA9IHJ0ZV9ldGhfc3dpdGNoX2RvbWFpbl9hbGxvYygmcGYtPnN3aXRjaF9kb21haW5faWQp Ow0KCWlmIChyZXQpDQoJCVBNRF9JTklUX0xPRyhXQVJOSU5HLA0KCQkJImZhaWxlZCB0byBhbGxv Y2F0ZSBzd2l0Y2ggZG9tYWluIGZvciBkZXZpY2UgJWQiLCByZXQpOw0KDQoJaWYgKHBmLT5mbGFn cyAmIEk0MEVfRkxBR19GRElSKSB7DQoJCS8qIG1ha2UgcXVldWUgYWxsb2NhdGVkIGZpcnN0LCBs ZXQgRkRJUiB1c2UgcXVldWUgcGFpciAwKi8NCgkJcmV0ID0gaTQwZV9yZXNfcG9vbF9hbGxvYygm cGYtPnFwX3Bvb2wsIEk0MEVfREVGQVVMVF9RUF9OVU1fRkRJUik7DQoJCWlmIChyZXQgIT0gSTQw RV9GRElSX1FVRVVFX0lEKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJInF1ZXVlIGFsbG9j YXRpb24gZmFpbHMgZm9yIEZESVI6IHJldCA9JWQiLA0KCQkJCXJldCk7DQoJCQlwZi0+ZmxhZ3Mg Jj0gfkk0MEVfRkxBR19GRElSOw0KCQl9DQoJfQ0KCS8qICBtYWluIFZTSSBzZXR1cCAqLw0KCXZz aSA9IGk0MGVfdnNpX3NldHVwKHBmLCBJNDBFX1ZTSV9NQUlOLCBOVUxMLCAwKTsNCglpZiAoIXZz aSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJTZXR1cCBvZiBtYWluIHZzaSBmYWlsZWQiKTsNCgkJ cmV0dXJuIEk0MEVfRVJSX05PVF9SRUFEWTsNCgl9DQoJcGYtPm1haW5fdnNpID0gdnNpOw0KDQoJ LyogQ29uZmlndXJlIGZpbHRlciBjb250cm9sICovDQoJbWVtc2V0KCZzZXR0aW5ncywgMCwgc2l6 ZW9mKHNldHRpbmdzKSk7DQoJaWYgKGh3LT5mdW5jX2NhcHMucnNzX3RhYmxlX3NpemUgPT0gRVRI X1JTU19SRVRBX1NJWkVfMTI4KQ0KCQlzZXR0aW5ncy5oYXNoX2x1dF9zaXplID0gSTQwRV9IQVNI X0xVVF9TSVpFXzEyODsNCgllbHNlIGlmIChody0+ZnVuY19jYXBzLnJzc190YWJsZV9zaXplID09 IEVUSF9SU1NfUkVUQV9TSVpFXzUxMikNCgkJc2V0dGluZ3MuaGFzaF9sdXRfc2l6ZSA9IEk0MEVf SEFTSF9MVVRfU0laRV81MTI7DQoJZWxzZSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkhhc2ggbG9v a3VwIHRhYmxlIHNpemUgKCV1KSBub3Qgc3VwcG9ydGVkIiwNCgkJCWh3LT5mdW5jX2NhcHMucnNz X3RhYmxlX3NpemUpOw0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoJfQ0KCVBNRF9EUlZfTE9H KElORk8sICJIYXJkd2FyZSBjYXBhYmlsaXR5IG9mIGhhc2ggbG9va3VwIHRhYmxlIHNpemU6ICV1 IiwNCgkJaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfc2l6ZSk7DQoJcGYtPmhhc2hfbHV0X3NpemUg PSBody0+ZnVuY19jYXBzLnJzc190YWJsZV9zaXplOw0KDQoJLyogRW5hYmxlIGV0aHR5cGUgYW5k IG1hY3ZsYW4gZmlsdGVycyAqLw0KCXNldHRpbmdzLmVuYWJsZV9ldGh0eXBlID0gVFJVRTsNCglz ZXR0aW5ncy5lbmFibGVfbWFjdmxhbiA9IFRSVUU7DQoJcmV0ID0gaTQwZV9zZXRfZmlsdGVyX2Nv bnRyb2woaHcsICZzZXR0aW5ncyk7DQoJaWYgKHJldCkNCgkJUE1EX0lOSVRfTE9HKFdBUk5JTkcs ICJzZXR1cF9wZl9maWx0ZXJfY29udHJvbCBmYWlsZWQ6ICVkIiwNCgkJCQkJCQkJcmV0KTsNCg0K CS8qIFVwZGF0ZSBmbG93IGNvbnRyb2wgYWNjb3JkaW5nIHRvIHRoZSBhdXRvIG5lZ290aWF0aW9u ICovDQoJaTQwZV91cGRhdGVfZmxvd19jb250cm9sKGh3KTsNCg0KCXJldHVybiBJNDBFX1NVQ0NF U1M7DQp9DQoNCmludA0KaTQwZV9zd2l0Y2hfdHhfcXVldWUoc3RydWN0IGk0MGVfaHcgKmh3LCB1 aW50MTZfdCBxX2lkeCwgYm9vbCBvbikNCnsNCgl1aW50MzJfdCByZWc7DQoJdWludDE2X3QgajsN Cg0KCS8qKg0KCSAqIFNldCBvciBjbGVhciBUWCBRdWV1ZSBEaXNhYmxlIGZsYWdzLA0KCSAqIHdo aWNoIGlzIHJlcXVpcmVkIGJ5IGhhcmR3YXJlLg0KCSAqLw0KCWk0MGVfcHJlX3R4X3F1ZXVlX2Nm ZyhodywgcV9pZHgsIG9uKTsNCglydGVfZGVsYXlfdXMoSTQwRV9QUkVfVFhfUV9DRkdfV0FJVF9V Uyk7DQoNCgkvKiBXYWl0IHVudGlsIHRoZSByZXF1ZXN0IGlzIGZpbmlzaGVkICovDQoJZm9yIChq ID0gMDsgaiA8IEk0MEVfQ0hLX1FfRU5BX0NPVU5UOyBqKyspIHsNCgkJcnRlX2RlbGF5X3VzKEk0 MEVfQ0hLX1FfRU5BX0lOVEVSVkFMX1VTKTsNCgkJcmVnID0gSTQwRV9SRUFEX1JFRyhodywgSTQw RV9RVFhfRU5BKHFfaWR4KSk7DQoJCWlmICghKCgocmVnID4+IEk0MEVfUVRYX0VOQV9RRU5BX1JF UV9TSElGVCkgJiAweDEpIF4NCgkJCSgocmVnID4+IEk0MEVfUVRYX0VOQV9RRU5BX1NUQVRfU0hJ RlQpDQoJCQkJCQkJJiAweDEpKSkgew0KCQkJYnJlYWs7DQoJCX0NCgl9DQoJaWYgKG9uKSB7DQoJ CWlmIChyZWcgJiBJNDBFX1FUWF9FTkFfUUVOQV9TVEFUX01BU0spDQoJCQlyZXR1cm4gSTQwRV9T VUNDRVNTOyAvKiBhbHJlYWR5IG9uLCBza2lwIG5leHQgc3RlcHMgKi8NCg0KCQlJNDBFX1dSSVRF X1JFRyhodywgSTQwRV9RVFhfSEVBRChxX2lkeCksIDApOw0KCQlyZWcgfD0gSTQwRV9RVFhfRU5B X1FFTkFfUkVRX01BU0s7DQoJfSBlbHNlIHsNCgkJaWYgKCEocmVnICYgSTQwRV9RVFhfRU5BX1FF TkFfU1RBVF9NQVNLKSkNCgkJCXJldHVybiBJNDBFX1NVQ0NFU1M7IC8qIGFscmVhZHkgb2ZmLCBz a2lwIG5leHQgc3RlcHMgKi8NCgkJcmVnICY9IH5JNDBFX1FUWF9FTkFfUUVOQV9SRVFfTUFTSzsN Cgl9DQoJLyogV3JpdGUgdGhlIHJlZ2lzdGVyICovDQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVf UVRYX0VOQShxX2lkeCksIHJlZyk7DQoJLyogQ2hlY2sgdGhlIHJlc3VsdCAqLw0KCWZvciAoaiA9 IDA7IGogPCBJNDBFX0NIS19RX0VOQV9DT1VOVDsgaisrKSB7DQoJCXJ0ZV9kZWxheV91cyhJNDBF X0NIS19RX0VOQV9JTlRFUlZBTF9VUyk7DQoJCXJlZyA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVf UVRYX0VOQShxX2lkeCkpOw0KCQlpZiAob24pIHsNCgkJCWlmICgocmVnICYgSTQwRV9RVFhfRU5B X1FFTkFfUkVRX01BU0spICYmDQoJCQkJKHJlZyAmIEk0MEVfUVRYX0VOQV9RRU5BX1NUQVRfTUFT SykpDQoJCQkJYnJlYWs7DQoJCX0gZWxzZSB7DQoJCQlpZiAoIShyZWcgJiBJNDBFX1FUWF9FTkFf UUVOQV9SRVFfTUFTSykgJiYNCgkJCQkhKHJlZyAmIEk0MEVfUVRYX0VOQV9RRU5BX1NUQVRfTUFT SykpDQoJCQkJYnJlYWs7DQoJCX0NCgl9DQoJLyogQ2hlY2sgaWYgaXQgaXMgdGltZW91dCAqLw0K CWlmIChqID49IEk0MEVfQ0hLX1FfRU5BX0NPVU5UKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZh aWxlZCB0byAlcyB0eCBxdWV1ZVsldV0iLA0KCQkJICAgIChvbiA/ICJlbmFibGUiIDogImRpc2Fi bGUiKSwgcV9pZHgpOw0KCQlyZXR1cm4gSTQwRV9FUlJfVElNRU9VVDsNCgl9DQoNCglyZXR1cm4g STQwRV9TVUNDRVNTOw0KfQ0KDQppbnQNCmk0MGVfc3dpdGNoX3J4X3F1ZXVlKHN0cnVjdCBpNDBl X2h3ICpodywgdWludDE2X3QgcV9pZHgsIGJvb2wgb24pDQp7DQoJdWludDMyX3QgcmVnOw0KCXVp bnQxNl90IGo7DQoNCgkvKiBXYWl0IHVudGlsIHRoZSByZXF1ZXN0IGlzIGZpbmlzaGVkICovDQoJ Zm9yIChqID0gMDsgaiA8IEk0MEVfQ0hLX1FfRU5BX0NPVU5UOyBqKyspIHsNCgkJcnRlX2RlbGF5 X3VzKEk0MEVfQ0hLX1FfRU5BX0lOVEVSVkFMX1VTKTsNCgkJcmVnID0gSTQwRV9SRUFEX1JFRyho dywgSTQwRV9RUlhfRU5BKHFfaWR4KSk7DQoJCWlmICghKChyZWcgPj4gSTQwRV9RUlhfRU5BX1FF TkFfUkVRX1NISUZUKSAmIDB4MSkgXg0KCQkJKChyZWcgPj4gSTQwRV9RUlhfRU5BX1FFTkFfU1RB VF9TSElGVCkgJiAweDEpKQ0KCQkJYnJlYWs7DQoJfQ0KDQoJaWYgKG9uKSB7DQoJCWlmIChyZWcg JiBJNDBFX1FSWF9FTkFfUUVOQV9TVEFUX01BU0spDQoJCQlyZXR1cm4gSTQwRV9TVUNDRVNTOyAv KiBBbHJlYWR5IG9uLCBza2lwIG5leHQgc3RlcHMgKi8NCgkJcmVnIHw9IEk0MEVfUVJYX0VOQV9R RU5BX1JFUV9NQVNLOw0KCX0gZWxzZSB7DQoJCWlmICghKHJlZyAmIEk0MEVfUVJYX0VOQV9RRU5B X1NUQVRfTUFTSykpDQoJCQlyZXR1cm4gSTQwRV9TVUNDRVNTOyAvKiBBbHJlYWR5IG9mZiwgc2tp cCBuZXh0IHN0ZXBzICovDQoJCXJlZyAmPSB+STQwRV9RUlhfRU5BX1FFTkFfUkVRX01BU0s7DQoJ fQ0KDQoJLyogV3JpdGUgdGhlIHJlZ2lzdGVyICovDQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVf UVJYX0VOQShxX2lkeCksIHJlZyk7DQoJLyogQ2hlY2sgdGhlIHJlc3VsdCAqLw0KCWZvciAoaiA9 IDA7IGogPCBJNDBFX0NIS19RX0VOQV9DT1VOVDsgaisrKSB7DQoJCXJ0ZV9kZWxheV91cyhJNDBF X0NIS19RX0VOQV9JTlRFUlZBTF9VUyk7DQoJCXJlZyA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVf UVJYX0VOQShxX2lkeCkpOw0KCQlpZiAob24pIHsNCgkJCWlmICgocmVnICYgSTQwRV9RUlhfRU5B X1FFTkFfUkVRX01BU0spICYmDQoJCQkJKHJlZyAmIEk0MEVfUVJYX0VOQV9RRU5BX1NUQVRfTUFT SykpDQoJCQkJYnJlYWs7DQoJCX0gZWxzZSB7DQoJCQlpZiAoIShyZWcgJiBJNDBFX1FSWF9FTkFf UUVOQV9SRVFfTUFTSykgJiYNCgkJCQkhKHJlZyAmIEk0MEVfUVJYX0VOQV9RRU5BX1NUQVRfTUFT SykpDQoJCQkJYnJlYWs7DQoJCX0NCgl9DQoNCgkvKiBDaGVjayBpZiBpdCBpcyB0aW1lb3V0ICov DQoJaWYgKGogPj0gSTQwRV9DSEtfUV9FTkFfQ09VTlQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAi RmFpbGVkIHRvICVzIHJ4IHF1ZXVlWyV1XSIsDQoJCQkgICAgKG9uID8gImVuYWJsZSIgOiAiZGlz YWJsZSIpLCBxX2lkeCk7DQoJCXJldHVybiBJNDBFX0VSUl9USU1FT1VUOw0KCX0NCg0KCXJldHVy biBJNDBFX1NVQ0NFU1M7DQp9DQoNCi8qIEluaXRpYWxpemUgVlNJIGZvciBUWCAqLw0Kc3RhdGlj IGludA0KaTQwZV9kZXZfdHhfaW5pdChzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0IHJ0 ZV9ldGhfZGV2X2RhdGEgKmRhdGEgPSBwZi0+ZGV2X2RhdGE7DQoJdWludDE2X3QgaTsNCgl1aW50 MzJfdCByZXQgPSBJNDBFX1NVQ0NFU1M7DQoJc3RydWN0IGk0MGVfdHhfcXVldWUgKnR4cTsNCg0K CWZvciAoaSA9IDA7IGkgPCBkYXRhLT5uYl90eF9xdWV1ZXM7IGkrKykgew0KCQl0eHEgPSBkYXRh LT50eF9xdWV1ZXNbaV07DQoJCWlmICghdHhxIHx8ICF0eHEtPnFfc2V0KQ0KCQkJY29udGludWU7 DQoJCXJldCA9IGk0MGVfdHhfcXVldWVfaW5pdCh0eHEpOw0KCQlpZiAocmV0ICE9IEk0MEVfU1VD Q0VTUykNCgkJCWJyZWFrOw0KCX0NCglpZiAocmV0ID09IEk0MEVfU1VDQ0VTUykNCgkJaTQwZV9z ZXRfdHhfZnVuY3Rpb24oY29udGFpbmVyX29mKHBmLCBzdHJ1Y3QgaTQwZV9hZGFwdGVyLCBwZikN CgkJCQkgICAgIC0+ZXRoX2Rldik7DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQovKiBJbml0aWFsaXpl IFZTSSBmb3IgUlggKi8NCnN0YXRpYyBpbnQNCmk0MGVfZGV2X3J4X2luaXQoc3RydWN0IGk0MGVf cGYgKnBmKQ0Kew0KCXN0cnVjdCBydGVfZXRoX2Rldl9kYXRhICpkYXRhID0gcGYtPmRldl9kYXRh Ow0KCWludCByZXQgPSBJNDBFX1NVQ0NFU1M7DQoJdWludDE2X3QgaTsNCglzdHJ1Y3QgaTQwZV9y eF9xdWV1ZSAqcnhxOw0KDQoJaTQwZV9wZl9jb25maWdfbXFfcngocGYpOw0KCWZvciAoaSA9IDA7 IGkgPCBkYXRhLT5uYl9yeF9xdWV1ZXM7IGkrKykgew0KCQlyeHEgPSBkYXRhLT5yeF9xdWV1ZXNb aV07DQoJCWlmICghcnhxIHx8ICFyeHEtPnFfc2V0KQ0KCQkJY29udGludWU7DQoNCgkJcmV0ID0g aTQwZV9yeF9xdWV1ZV9pbml0KHJ4cSk7DQoJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJ CQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJIkZhaWxlZCB0byBkbyBSWCBxdWV1ZSBpbml0aWFsaXph dGlvbiIpOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoJaWYgKHJldCA9PSBJNDBFX1NVQ0NFU1MpDQoJ CWk0MGVfc2V0X3J4X2Z1bmN0aW9uKGNvbnRhaW5lcl9vZihwZiwgc3RydWN0IGk0MGVfYWRhcHRl ciwgcGYpDQoJCQkJICAgICAtPmV0aF9kZXYpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGlj IGludA0KaTQwZV9kZXZfcnh0eF9pbml0KHN0cnVjdCBpNDBlX3BmICpwZikNCnsNCglpbnQgZXJy Ow0KDQoJZXJyID0gaTQwZV9kZXZfdHhfaW5pdChwZik7DQoJaWYgKGVycikgew0KCQlQTURfRFJW X0xPRyhFUlIsICJGYWlsZWQgdG8gZG8gVFggaW5pdGlhbGl6YXRpb24iKTsNCgkJcmV0dXJuIGVy cjsNCgl9DQoJZXJyID0gaTQwZV9kZXZfcnhfaW5pdChwZik7DQoJaWYgKGVycikgew0KCQlQTURf RFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZG8gUlggaW5pdGlhbGl6YXRpb24iKTsNCgkJcmV0dXJu IGVycjsNCgl9DQoNCglyZXR1cm4gZXJyOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3ZtZHFfc2V0 dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0IHJ0ZV9ldGhfY29uZiAqY29u ZiA9ICZkZXYtPmRhdGEtPmRldl9jb25mOw0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVW X1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJaW50IGksIGVyciwgY29u Zl92c2lzLCBqLCBsb29wOw0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpOw0KCXN0cnVjdCBpNDBlX3Zt ZHFfaW5mbyAqdm1kcV9pbmZvOw0KCXN0cnVjdCBydGVfZXRoX3ZtZHFfcnhfY29uZiAqdm1kcV9j b25mOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KDQoJLyoNCgkg KiBEaXNhYmxlIGludGVycnVwdCB0byBhdm9pZCBtZXNzYWdlIGZyb20gVkYuIEZ1cnRoZXJtb3Jl LCBpdCB3aWxsDQoJICogYXZvaWQgcmFjZSBjb25kaXRpb24gaW4gVlNJIGNyZWF0aW9uL2Rlc3Ry b3kuDQoJICovDQoJaTQwZV9wZl9kaXNhYmxlX2lycTAoaHcpOw0KDQoJaWYgKChwZi0+ZmxhZ3Mg JiBJNDBFX0ZMQUdfVk1EUSkgPT0gMCkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiRlcgZG9lc24n dCBzdXBwb3J0IFZNRFEiKTsNCgkJcmV0dXJuIC1FTk9UU1VQOw0KCX0NCg0KCWNvbmZfdnNpcyA9 IGNvbmYtPnJ4X2Fkdl9jb25mLnZtZHFfcnhfY29uZi5uYl9xdWV1ZV9wb29sczsNCglpZiAoY29u Zl92c2lzID4gcGYtPm1heF9uYl92bWRxX3ZzaSkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiVk1E USBjb25maWc6ICV1LCBtYXggc3VwcG9ydDoldSIsDQoJCQljb25mLT5yeF9hZHZfY29uZi52bWRx X3J4X2NvbmYubmJfcXVldWVfcG9vbHMsDQoJCQlwZi0+bWF4X25iX3ZtZHFfdnNpKTsNCgkJcmV0 dXJuIC1FTk9UU1VQOw0KCX0NCg0KCWlmIChwZi0+dm1kcSAhPSBOVUxMKSB7DQoJCVBNRF9JTklU X0xPRyhJTkZPLCAiVk1EUSBhbHJlYWR5IGNvbmZpZ3VyZWQiKTsNCgkJcmV0dXJuIDA7DQoJfQ0K DQoJcGYtPnZtZHEgPSBydGVfem1hbGxvYygidm1kcV9pbmZvX3N0cnVjdCIsDQoJCQkJc2l6ZW9m KCp2bWRxX2luZm8pICogY29uZl92c2lzLCAwKTsNCg0KCWlmIChwZi0+dm1kcSA9PSBOVUxMKSB7 DQoJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5Iik7DQoJCXJl dHVybiAtRU5PTUVNOw0KCX0NCg0KCXZtZHFfY29uZiA9ICZjb25mLT5yeF9hZHZfY29uZi52bWRx X3J4X2NvbmY7DQoNCgkvKiBDcmVhdGUgVk1EUSBWU0kgKi8NCglmb3IgKGkgPSAwOyBpIDwgY29u Zl92c2lzOyBpKyspIHsNCgkJdnNpID0gaTQwZV92c2lfc2V0dXAocGYsIEk0MEVfVlNJX1ZNRFEy LCBwZi0+bWFpbl92c2ksDQoJCQkJdm1kcV9jb25mLT5lbmFibGVfbG9vcF9iYWNrKTsNCgkJaWYg KHZzaSA9PSBOVUxMKSB7DQoJCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIGNyZWF0ZSBW TURRIFZTSSIpOw0KCQkJZXJyID0gLTE7DQoJCQlnb3RvIGVycl92c2lfc2V0dXA7DQoJCX0NCgkJ dm1kcV9pbmZvID0gJnBmLT52bWRxW2ldOw0KCQl2bWRxX2luZm8tPnBmID0gcGY7DQoJCXZtZHFf aW5mby0+dnNpID0gdnNpOw0KCX0NCglwZi0+bmJfY2ZnX3ZtZHFfdnNpID0gY29uZl92c2lzOw0K DQoJLyogQ29uZmlndXJlIFZsYW4gKi8NCglsb29wID0gc2l6ZW9mKHZtZHFfY29uZi0+cG9vbF9t YXBbMF0ucG9vbHMpICogQ0hBUl9CSVQ7DQoJZm9yIChpID0gMDsgaSA8IHZtZHFfY29uZi0+bmJf cG9vbF9tYXBzOyBpKyspIHsNCgkJZm9yIChqID0gMDsgaiA8IGxvb3AgJiYgaiA8IHBmLT5uYl9j Zmdfdm1kcV92c2k7IGorKykgew0KCQkJaWYgKHZtZHFfY29uZi0+cG9vbF9tYXBbaV0ucG9vbHMg JiAoMVVMIDw8IGopKSB7DQoJCQkJUE1EX0lOSVRfTE9HKElORk8sICJBZGQgdmxhbiAldSB0byB2 bWRxIHBvb2wgJXUiLA0KCQkJCQl2bWRxX2NvbmYtPnBvb2xfbWFwW2ldLnZsYW5faWQsIGopOw0K DQoJCQkJZXJyID0gaTQwZV92c2lfYWRkX3ZsYW4ocGYtPnZtZHFbal0udnNpLA0KCQkJCQkJdm1k cV9jb25mLT5wb29sX21hcFtpXS52bGFuX2lkKTsNCgkJCQlpZiAoZXJyKSB7DQoJCQkJCVBNRF9J TklUX0xPRyhFUlIsICJGYWlsZWQgdG8gYWRkIHZsYW4iKTsNCgkJCQkJZXJyID0gLTE7DQoJCQkJ CWdvdG8gZXJyX3ZzaV9zZXR1cDsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglpNDBlX3BmX2Vu YWJsZV9pcnEwKGh3KTsNCg0KCXJldHVybiAwOw0KDQplcnJfdnNpX3NldHVwOg0KCWZvciAoaSA9 IDA7IGkgPCBjb25mX3ZzaXM7IGkrKykNCgkJaWYgKHBmLT52bWRxW2ldLnZzaSA9PSBOVUxMKQ0K CQkJYnJlYWs7DQoJCWVsc2UNCgkJCWk0MGVfdnNpX3JlbGVhc2UocGYtPnZtZHFbaV0udnNpKTsN Cg0KCXJ0ZV9mcmVlKHBmLT52bWRxKTsNCglwZi0+dm1kcSA9IE5VTEw7DQoJaTQwZV9wZl9lbmFi bGVfaXJxMChodyk7DQoJcmV0dXJuIGVycjsNCn0NCg0Kc3RhdGljIHZvaWQNCmk0MGVfc3RhdF91 cGRhdGVfMzIoc3RydWN0IGk0MGVfaHcgKmh3LA0KCQkgICB1aW50MzJfdCByZWcsDQoJCSAgIGJv b2wgb2Zmc2V0X2xvYWRlZCwNCgkJICAgdWludDY0X3QgKm9mZnNldCwNCgkJICAgdWludDY0X3Qg KnN0YXQpDQp7DQoJdWludDY0X3QgbmV3X2RhdGE7DQoNCgluZXdfZGF0YSA9ICh1aW50NjRfdClJ NDBFX1JFQURfUkVHKGh3LCByZWcpOw0KCWlmICghb2Zmc2V0X2xvYWRlZCkNCgkJKm9mZnNldCA9 IG5ld19kYXRhOw0KDQoJaWYgKG5ld19kYXRhID49ICpvZmZzZXQpDQoJCSpzdGF0ID0gKHVpbnQ2 NF90KShuZXdfZGF0YSAtICpvZmZzZXQpOw0KCWVsc2UNCgkJKnN0YXQgPSAodWludDY0X3QpKChu ZXdfZGF0YSArDQoJCQkoKHVpbnQ2NF90KTEgPDwgSTQwRV8zMl9CSVRfV0lEVEgpKSAtICpvZmZz ZXQpOw0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9zdGF0X3VwZGF0ZV80OChzdHJ1Y3QgaTQwZV9o dyAqaHcsDQoJCSAgIHVpbnQzMl90IGhpcmVnLA0KCQkgICB1aW50MzJfdCBsb3JlZywNCgkJICAg Ym9vbCBvZmZzZXRfbG9hZGVkLA0KCQkgICB1aW50NjRfdCAqb2Zmc2V0LA0KCQkgICB1aW50NjRf dCAqc3RhdCkNCnsNCgl1aW50NjRfdCBuZXdfZGF0YTsNCg0KCW5ld19kYXRhID0gKHVpbnQ2NF90 KUk0MEVfUkVBRF9SRUcoaHcsIGxvcmVnKTsNCgluZXdfZGF0YSB8PSAoKHVpbnQ2NF90KShJNDBF X1JFQURfUkVHKGh3LCBoaXJlZykgJg0KCQkJSTQwRV8xNl9CSVRfTUFTSykpIDw8IEk0MEVfMzJf QklUX1dJRFRIOw0KDQoJaWYgKCFvZmZzZXRfbG9hZGVkKQ0KCQkqb2Zmc2V0ID0gbmV3X2RhdGE7 DQoNCglpZiAobmV3X2RhdGEgPj0gKm9mZnNldCkNCgkJKnN0YXQgPSBuZXdfZGF0YSAtICpvZmZz ZXQ7DQoJZWxzZQ0KCQkqc3RhdCA9ICh1aW50NjRfdCkoKG5ld19kYXRhICsNCgkJCSgodWludDY0 X3QpMSA8PCBJNDBFXzQ4X0JJVF9XSURUSCkpIC0gKm9mZnNldCk7DQoNCgkqc3RhdCAmPSBJNDBF XzQ4X0JJVF9NQVNLOw0KfQ0KDQovKiBEaXNhYmxlIElSUTAgKi8NCnZvaWQNCmk0MGVfcGZfZGlz YWJsZV9pcnEwKHN0cnVjdCBpNDBlX2h3ICpodykNCnsNCgkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1 cHQgdHlwZXMgKi8NCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRklOVF9EWU5fQ1RMMCwNCgkJ ICAgICAgIEk0MEVfUEZJTlRfRFlOX0NUTDBfSVRSX0lORFhfTUFTSyk7DQoJSTQwRV9XUklURV9G TFVTSChodyk7DQp9DQoNCi8qIEVuYWJsZSBJUlEwICovDQp2b2lkDQppNDBlX3BmX2VuYWJsZV9p cnEwKHN0cnVjdCBpNDBlX2h3ICpodykNCnsNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRklO VF9EWU5fQ1RMMCwNCgkJSTQwRV9QRklOVF9EWU5fQ1RMMF9JTlRFTkFfTUFTSyB8DQoJCUk0MEVf UEZJTlRfRFlOX0NUTDBfQ0xFQVJQQkFfTUFTSyB8DQoJCUk0MEVfUEZJTlRfRFlOX0NUTDBfSVRS X0lORFhfTUFTSyk7DQoJSTQwRV9XUklURV9GTFVTSChodyk7DQp9DQoNCnN0YXRpYyB2b2lkDQpp NDBlX3BmX2NvbmZpZ19pcnEwKHN0cnVjdCBpNDBlX2h3ICpodywgYm9vbCBub19xdWV1ZSkNCnsN CgkvKiByZWFkIHBlbmRpbmcgcmVxdWVzdCBhbmQgZGlzYWJsZSBmaXJzdCAqLw0KCWk0MGVfcGZf ZGlzYWJsZV9pcnEwKGh3KTsNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRklOVF9JQ1IwX0VO QSwgSTQwRV9QRklOVF9JQ1IwX0VOQV9NQVNLKTsNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9Q RklOVF9TVEFUX0NUTDAsDQoJCUk0MEVfUEZJTlRfU1RBVF9DVEwwX09USEVSX0lUUl9JTkRYX01B U0spOw0KDQoJaWYgKG5vX3F1ZXVlKQ0KCQkvKiBMaW5rIG5vIHF1ZXVlcyB3aXRoIGlycTAgKi8N CgkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZJTlRfTE5LTFNUMCwNCgkJCSAgICAgICBJNDBF X1BGSU5UX0xOS0xTVDBfRklSU1RRX0lORFhfTUFTSyk7DQp9DQoNCnN0YXRpYyB2b2lkDQppNDBl X2Rldl9oYW5kbGVfdmZyX2V2ZW50KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVj dCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJp dmF0ZSk7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCglpbnQgaTsNCgl1aW50MTZfdCBhYnNfdmZfaWQ7DQoJdWlu dDMyX3QgaW5kZXgsIG9mZnNldCwgdmFsOw0KDQoJaWYgKCFwZi0+dmZzKQ0KCQlyZXR1cm47DQoJ LyoqDQoJICogVHJ5IHRvIGZpbmQgd2hpY2ggVkYgdHJpZ2dlciBhIHJlc2V0LCB1c2UgYWJzb2x1 dGUgVkYgaWQgdG8gYWNjZXNzDQoJICogc2luY2UgdGhlIHJlZyBpcyBnbG9iYWwgcmVnaXN0ZXIu DQoJICovDQoJZm9yIChpID0gMDsgaSA8IHBmLT52Zl9udW07IGkrKykgew0KCQlhYnNfdmZfaWQg PSBody0+ZnVuY19jYXBzLnZmX2Jhc2VfaWQgKyBpOw0KCQlpbmRleCA9IGFic192Zl9pZCAvIEk0 MEVfVUlOVDMyX0JJVF9TSVpFOw0KCQlvZmZzZXQgPSBhYnNfdmZfaWQgJSBJNDBFX1VJTlQzMl9C SVRfU0laRTsNCgkJdmFsID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9HTEdFTl9WRkxSU1RBVChp bmRleCkpOw0KCQkvKiBWRlIgZXZlbnQgb2NjdXJyZWQgKi8NCgkJaWYgKHZhbCAmICgweDEgPDwg b2Zmc2V0KSkgew0KCQkJaW50IHJldDsNCg0KCQkJLyogQ2xlYXIgdGhlIGV2ZW50IGZpcnN0ICov DQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9HTEdFTl9WRkxSU1RBVChpbmRleCksDQoJCQkJ CQkJKDB4MSA8PCBvZmZzZXQpKTsNCgkJCVBNRF9EUlZfTE9HKElORk8sICJWRiAldSByZXNldCBv Y2N1cnJlZCIsIGFic192Zl9pZCk7DQoJCQkvKioNCgkJCSAqIE9ubHkgbm90aWZ5IGEgVkYgcmVz ZXQgZXZlbnQgb2NjdXJyZWQsDQoJCQkgKiBkb24ndCB0cmlnZ2VyIGFub3RoZXIgU1cgcmVzZXQN CgkJCSAqLw0KCQkJcmV0ID0gaTQwZV9wZl9ob3N0X3ZmX3Jlc2V0KCZwZi0+dmZzW2ldLCAwKTsN CgkJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKQ0KCQkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxl ZCB0byBkbyBWRiByZXNldCIpOw0KCQl9DQoJfQ0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9ub3Rp ZnlfYWxsX3Zmc19saW5rX3N0YXR1cyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1 Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpOw0KCWludCBpOw0KDQoJZm9yIChpID0gMDsgaSA8IHBmLT52Zl9udW07IGkrKykNCgkJ aTQwZV9ub3RpZnlfdmZfbGlua19zdGF0dXMoZGV2LCAmcGYtPnZmc1tpXSk7DQp9DQoNCnN0YXRp YyB2b2lkDQppNDBlX2Rldl9oYW5kbGVfYXFfbXNnKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0K ew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfYXJxX2V2ZW50X2luZm8gaW5mbzsNCgl1aW50 MTZfdCBwZW5kaW5nLCBvcGNvZGU7DQoJaW50IHJldDsNCg0KCWluZm8uYnVmX2xlbiA9IEk0MEVf QVFfQlVGX1NaOw0KCWluZm8ubXNnX2J1ZiA9IHJ0ZV96bWFsbG9jKCJtc2dfYnVmZmVyIiwgaW5m by5idWZfbGVuLCAwKTsNCglpZiAoIWluZm8ubXNnX2J1Zikgew0KCQlQTURfRFJWX0xPRyhFUlIs ICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtIik7DQoJCXJldHVybjsNCgl9DQoNCglwZW5kaW5nID0g MTsNCgl3aGlsZSAocGVuZGluZykgew0KCQlyZXQgPSBpNDBlX2NsZWFuX2FycV9lbGVtZW50KGh3 LCAmaW5mbywgJnBlbmRpbmcpOw0KDQoJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCQlQ TURfRFJWX0xPRyhJTkZPLA0KCQkJCSJGYWlsZWQgdG8gcmVhZCBtc2cgZnJvbSBBZG1pblEsIGFx X2VycjogJXUiLA0KCQkJCWh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpOw0KCQkJYnJlYWs7DQoJCX0N CgkJb3Bjb2RlID0gcnRlX2xlX3RvX2NwdV8xNihpbmZvLmRlc2Mub3Bjb2RlKTsNCg0KCQlzd2l0 Y2ggKG9wY29kZSkgew0KCQljYXNlIGk0MGVfYXFjX29wY19zZW5kX21zZ190b19wZjoNCgkJCS8q IFJlZmVyIHRvIGk0MGVfYXFfc2VuZF9tc2dfdG9fcGYoKSBmb3IgYXJndW1lbnQgbGF5b3V0Ki8N CgkJCWk0MGVfcGZfaG9zdF9oYW5kbGVfdmZfbXNnKGRldiwNCgkJCQkJcnRlX2xlX3RvX2NwdV8x NihpbmZvLmRlc2MucmV0dmFsKSwNCgkJCQkJcnRlX2xlX3RvX2NwdV8zMihpbmZvLmRlc2MuY29v a2llX2hpZ2gpLA0KCQkJCQlydGVfbGVfdG9fY3B1XzMyKGluZm8uZGVzYy5jb29raWVfbG93KSwN CgkJCQkJaW5mby5tc2dfYnVmLA0KCQkJCQlpbmZvLm1zZ19sZW4pOw0KCQkJYnJlYWs7DQoJCWNh c2UgaTQwZV9hcWNfb3BjX2dldF9saW5rX3N0YXR1czoNCgkJCXJldCA9IGk0MGVfZGV2X2xpbmtf dXBkYXRlKGRldiwgMCk7DQoJCQlpZiAoIXJldCkNCgkJCQlfcnRlX2V0aF9kZXZfY2FsbGJhY2tf cHJvY2VzcyhkZXYsDQoJCQkJCVJURV9FVEhfRVZFTlRfSU5UUl9MU0MsIE5VTEwpOw0KCQkJYnJl YWs7DQoJCWRlZmF1bHQ6DQoJCQlQTURfRFJWX0xPRyhERUJVRywgIlJlcXVlc3QgJXUgaXMgbm90 IHN1cHBvcnRlZCB5ZXQiLA0KCQkJCSAgICBvcGNvZGUpOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoJ cnRlX2ZyZWUoaW5mby5tc2dfYnVmKTsNCn0NCg0Kc3RhdGljIHZvaWQNCmk0MGVfaGFuZGxlX21k ZF9ldmVudChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCiNkZWZpbmUgSTQwRV9NRERfQ0xF QVIzMiAweEZGRkZGRkZGDQojZGVmaW5lIEk0MEVfTUREX0NMRUFSMTYgMHhGRkZGDQoJc3RydWN0 IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2 YXRlKTsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCWJvb2wgbWRkX2RldGVjdGVkID0gZmFsc2U7DQoJc3RydWN0 IGk0MGVfcGZfdmYgKnZmOw0KCXVpbnQzMl90IHJlZzsNCglpbnQgaTsNCg0KCS8qIGZpbmQgd2hh dCB0cmlnZ2VyZWQgdGhlIE1ERCBldmVudCAqLw0KCXJlZyA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0 MEVfR0xfTURFVF9UWCk7DQoJaWYgKHJlZyAmIEk0MEVfR0xfTURFVF9UWF9WQUxJRF9NQVNLKSB7 DQoJCXVpbnQ4X3QgcGZfbnVtID0gKHJlZyAmIEk0MEVfR0xfTURFVF9UWF9QRl9OVU1fTUFTSykg Pj4NCgkJCQlJNDBFX0dMX01ERVRfVFhfUEZfTlVNX1NISUZUOw0KCQl1aW50MTZfdCB2Zl9udW0g PSAocmVnICYgSTQwRV9HTF9NREVUX1RYX1ZGX05VTV9NQVNLKSA+Pg0KCQkJCUk0MEVfR0xfTURF VF9UWF9WRl9OVU1fU0hJRlQ7DQoJCXVpbnQ4X3QgZXZlbnQgPSAocmVnICYgSTQwRV9HTF9NREVU X1RYX0VWRU5UX01BU0spID4+DQoJCQkJSTQwRV9HTF9NREVUX1RYX0VWRU5UX1NISUZUOw0KCQl1 aW50MTZfdCBxdWV1ZSA9ICgocmVnICYgSTQwRV9HTF9NREVUX1RYX1FVRVVFX01BU0spID4+DQoJ CQkJSTQwRV9HTF9NREVUX1RYX1FVRVVFX1NISUZUKSAtDQoJCQkJCWh3LT5mdW5jX2NhcHMuYmFz ZV9xdWV1ZTsNCgkJUE1EX0RSVl9MT0coV0FSTklORywgIk1hbGljaW91cyBEcml2ZXIgRGV0ZWN0 aW9uIGV2ZW50IDB4JTAyeCBvbiBUWCAiDQoJCQkicXVldWUgJWQgUEYgbnVtYmVyIDB4JTAyeCBW RiBudW1iZXIgMHglMDJ4IGRldmljZSAlc1xuIiwNCgkJCQlldmVudCwgcXVldWUsIHBmX251bSwg dmZfbnVtLCBkZXYtPmRhdGEtPm5hbWUpOw0KCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9HTF9N REVUX1RYLCBJNDBFX01ERF9DTEVBUjMyKTsNCgkJbWRkX2RldGVjdGVkID0gdHJ1ZTsNCgl9DQoJ cmVnID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9HTF9NREVUX1JYKTsNCglpZiAocmVnICYgSTQw RV9HTF9NREVUX1JYX1ZBTElEX01BU0spIHsNCgkJdWludDhfdCBmdW5jID0gKHJlZyAmIEk0MEVf R0xfTURFVF9SWF9GVU5DVElPTl9NQVNLKSA+Pg0KCQkJCUk0MEVfR0xfTURFVF9SWF9GVU5DVElP Tl9TSElGVDsNCgkJdWludDhfdCBldmVudCA9IChyZWcgJiBJNDBFX0dMX01ERVRfUlhfRVZFTlRf TUFTSykgPj4NCgkJCQlJNDBFX0dMX01ERVRfUlhfRVZFTlRfU0hJRlQ7DQoJCXVpbnQxNl90IHF1 ZXVlID0gKChyZWcgJiBJNDBFX0dMX01ERVRfUlhfUVVFVUVfTUFTSykgPj4NCgkJCQlJNDBFX0dM X01ERVRfUlhfUVVFVUVfU0hJRlQpIC0NCgkJCQkJaHctPmZ1bmNfY2Fwcy5iYXNlX3F1ZXVlOw0K DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJNYWxpY2lvdXMgRHJpdmVyIERldGVjdGlvbiBldmVu dCAweCUwMnggb24gUlggIg0KCQkJCSJxdWV1ZSAlZCBvZiBmdW5jdGlvbiAweCUwMnggZGV2aWNl ICVzXG4iLA0KCQkJCQlldmVudCwgcXVldWUsIGZ1bmMsIGRldi0+ZGF0YS0+bmFtZSk7DQoJCUk0 MEVfV1JJVEVfUkVHKGh3LCBJNDBFX0dMX01ERVRfUlgsIEk0MEVfTUREX0NMRUFSMzIpOw0KCQlt ZGRfZGV0ZWN0ZWQgPSB0cnVlOw0KCX0NCg0KCWlmIChtZGRfZGV0ZWN0ZWQpIHsNCgkJcmVnID0g STQwRV9SRUFEX1JFRyhodywgSTQwRV9QRl9NREVUX1RYKTsNCgkJaWYgKHJlZyAmIEk0MEVfUEZf TURFVF9UWF9WQUxJRF9NQVNLKSB7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QRl9NREVU X1RYLCBJNDBFX01ERF9DTEVBUjE2KTsNCgkJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJUWCBkcml2 ZXIgaXNzdWUgZGV0ZWN0ZWQgb24gUEZcbiIpOw0KCQl9DQoJCXJlZyA9IEk0MEVfUkVBRF9SRUco aHcsIEk0MEVfUEZfTURFVF9SWCk7DQoJCWlmIChyZWcgJiBJNDBFX1BGX01ERVRfUlhfVkFMSURf TUFTSykgew0KCQkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZfTURFVF9SWCwNCgkJCQkJSTQw RV9NRERfQ0xFQVIxNik7DQoJCQlQTURfRFJWX0xPRyhXQVJOSU5HLCAiUlggZHJpdmVyIGlzc3Vl IGRldGVjdGVkIG9uIFBGXG4iKTsNCgkJfQ0KCX0NCg0KCS8qIHNlZSBpZiBvbmUgb2YgdGhlIFZG cyBuZWVkcyBpdHMgaGFuZCBzbGFwcGVkICovDQoJZm9yIChpID0gMDsgaSA8IHBmLT52Zl9udW0g JiYgbWRkX2RldGVjdGVkOyBpKyspIHsNCgkJdmYgPSAmcGYtPnZmc1tpXTsNCgkJcmVnID0gSTQw RV9SRUFEX1JFRyhodywgSTQwRV9WUF9NREVUX1RYKGkpKTsNCgkJaWYgKHJlZyAmIEk0MEVfVlBf TURFVF9UWF9WQUxJRF9NQVNLKSB7DQoJCQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9WUF9NREVU X1RYKGkpLA0KCQkJCQlJNDBFX01ERF9DTEVBUjE2KTsNCgkJCXZmLT5udW1fbWRkX2V2ZW50cysr Ow0KCQkJUE1EX0RSVl9MT0coV0FSTklORywgIlRYIGRyaXZlciBpc3N1ZSBkZXRlY3RlZCBvbiBW RiAlZCAlLSINCgkJCQkJUFJJdTY0ICJ0aW1lc1xuIiwNCgkJCQkJaSwgdmYtPm51bV9tZGRfZXZl bnRzKTsNCgkJfQ0KDQoJCXJlZyA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVfVlBfTURFVF9SWChp KSk7DQoJCWlmIChyZWcgJiBJNDBFX1ZQX01ERVRfUlhfVkFMSURfTUFTSykgew0KCQkJSTQwRV9X UklURV9SRUcoaHcsIEk0MEVfVlBfTURFVF9SWChpKSwNCgkJCQkJSTQwRV9NRERfQ0xFQVIxNik7 DQoJCQl2Zi0+bnVtX21kZF9ldmVudHMrKzsNCgkJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJSWCBk cml2ZXIgaXNzdWUgZGV0ZWN0ZWQgb24gVkYgJWQgJS0iDQoJCQkJCVBSSXU2NCAidGltZXNcbiIs DQoJCQkJCWksIHZmLT5udW1fbWRkX2V2ZW50cyk7DQoJCX0NCgl9DQp9DQoNCi8qKg0KICogSW50 ZXJydXB0IGhhbmRsZXIgdHJpZ2dlcmVkIGJ5IE5JQyAgZm9yIGhhbmRsaW5nDQogKiBzcGVjaWZp YyBpbnRlcnJ1cHQuDQogKg0KICogQHBhcmFtIGhhbmRsZQ0KICogIFBvaW50ZXIgdG8gaW50ZXJy dXB0IGhhbmRsZS4NCiAqIEBwYXJhbSBwYXJhbQ0KICogIFRoZSBhZGRyZXNzIG9mIHBhcmFtZXRl ciAoc3RydWN0IHJ0ZV9ldGhfZGV2ICopIHJlZ3NpdGVyZWQgYmVmb3JlLg0KICoNCiAqIEByZXR1 cm4NCiAqICB2b2lkDQogKi8NCnN0YXRpYyB2b2lkDQppNDBlX2Rldl9pbnRlcnJ1cHRfaGFuZGxl cih2b2lkICpwYXJhbSkNCnsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9IChzdHJ1Y3QgcnRl X2V0aF9kZXYgKilwYXJhbTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRF X1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQzMl90IGljcjA7DQoNCgkvKiBE aXNhYmxlIGludGVycnVwdCAqLw0KCWk0MGVfcGZfZGlzYWJsZV9pcnEwKGh3KTsNCg0KCS8qIHJl YWQgb3V0IGludGVycnVwdCBjYXVzZXMgKi8NCglpY3IwID0gSTQwRV9SRUFEX1JFRyhodywgSTQw RV9QRklOVF9JQ1IwKTsNCg0KCS8qIE5vIGludGVycnVwdCBldmVudCBpbmRpY2F0ZWQgKi8NCglp ZiAoIShpY3IwICYgSTQwRV9QRklOVF9JQ1IwX0lOVEVWRU5UX01BU0spKSB7DQoJCVBNRF9EUlZf TE9HKElORk8sICJObyBpbnRlcnJ1cHQgZXZlbnQiKTsNCgkJZ290byBkb25lOw0KCX0NCglpZiAo aWNyMCAmIEk0MEVfUEZJTlRfSUNSMF9FQ0NfRVJSX01BU0spDQoJCVBNRF9EUlZfTE9HKEVSUiwg IklDUjA6IHVucmVjb3ZlcmFibGUgRUNDIGVycm9yIik7DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5U X0lDUjBfTUFMX0RFVEVDVF9NQVNLKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIklDUjA6IG1hbGlj aW91cyBwcm9ncmFtbWluZyBkZXRlY3RlZCIpOw0KCQlpNDBlX2hhbmRsZV9tZGRfZXZlbnQoZGV2 KTsNCgl9DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5UX0lDUjBfR1JTVF9NQVNLKQ0KCQlQTURfRFJW X0xPRyhJTkZPLCAiSUNSMDogZ2xvYmFsIHJlc2V0IHJlcXVlc3RlZCIpOw0KCWlmIChpY3IwICYg STQwRV9QRklOVF9JQ1IwX1BDSV9FWENFUFRJT05fTUFTSykNCgkJUE1EX0RSVl9MT0coSU5GTywg IklDUjA6IFBDSSBleGNlcHRpb24gYWN0aXZhdGVkIik7DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5U X0lDUjBfU1RPUk1fREVURUNUX01BU0spDQoJCVBNRF9EUlZfTE9HKElORk8sICJJQ1IwOiBhIGNo YW5nZSBpbiB0aGUgc3Rvcm0gY29udHJvbCBzdGF0ZSIpOw0KCWlmIChpY3IwICYgSTQwRV9QRklO VF9JQ1IwX0hNQ19FUlJfTUFTSykNCgkJUE1EX0RSVl9MT0coRVJSLCAiSUNSMDogSE1DIGVycm9y Iik7DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5UX0lDUjBfUEVfQ1JJVEVSUl9NQVNLKQ0KCQlQTURf RFJWX0xPRyhFUlIsICJJQ1IwOiBwcm90b2NvbCBlbmdpbmUgY3JpdGljYWwgZXJyb3IiKTsNCg0K CWlmIChpY3IwICYgSTQwRV9QRklOVF9JQ1IwX1ZGTFJfTUFTSykgew0KCQlQTURfRFJWX0xPRyhJ TkZPLCAiSUNSMDogVkYgcmVzZXQgZGV0ZWN0ZWQiKTsNCgkJaTQwZV9kZXZfaGFuZGxlX3Zmcl9l dmVudChkZXYpOw0KCX0NCglpZiAoaWNyMCAmIEk0MEVfUEZJTlRfSUNSMF9BRE1JTlFfTUFTSykg ew0KCQlQTURfRFJWX0xPRyhJTkZPLCAiSUNSMDogYWRtaW5xIGV2ZW50Iik7DQoJCWk0MGVfZGV2 X2hhbmRsZV9hcV9tc2coZGV2KTsNCgl9DQoNCmRvbmU6DQoJLyogRW5hYmxlIGludGVycnVwdCAq Lw0KCWk0MGVfcGZfZW5hYmxlX2lycTAoaHcpOw0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9kZXZf YWxhcm1faGFuZGxlcih2b2lkICpwYXJhbSkNCnsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9 IChzdHJ1Y3QgcnRlX2V0aF9kZXYgKilwYXJhbTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBF X0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQzMl90IGlj cjA7DQoNCgkvKiBEaXNhYmxlIGludGVycnVwdCAqLw0KCWk0MGVfcGZfZGlzYWJsZV9pcnEwKGh3 KTsNCg0KCS8qIHJlYWQgb3V0IGludGVycnVwdCBjYXVzZXMgKi8NCglpY3IwID0gSTQwRV9SRUFE X1JFRyhodywgSTQwRV9QRklOVF9JQ1IwKTsNCg0KCS8qIE5vIGludGVycnVwdCBldmVudCBpbmRp Y2F0ZWQgKi8NCglpZiAoIShpY3IwICYgSTQwRV9QRklOVF9JQ1IwX0lOVEVWRU5UX01BU0spKQ0K CQlnb3RvIGRvbmU7DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5UX0lDUjBfRUNDX0VSUl9NQVNLKQ0K CQlQTURfRFJWX0xPRyhFUlIsICJJQ1IwOiB1bnJlY292ZXJhYmxlIEVDQyBlcnJvciIpOw0KCWlm IChpY3IwICYgSTQwRV9QRklOVF9JQ1IwX01BTF9ERVRFQ1RfTUFTSykgew0KCQlQTURfRFJWX0xP RyhFUlIsICJJQ1IwOiBtYWxpY2lvdXMgcHJvZ3JhbW1pbmcgZGV0ZWN0ZWQiKTsNCgkJaTQwZV9o YW5kbGVfbWRkX2V2ZW50KGRldik7DQoJfQ0KCWlmIChpY3IwICYgSTQwRV9QRklOVF9JQ1IwX0dS U1RfTUFTSykNCgkJUE1EX0RSVl9MT0coSU5GTywgIklDUjA6IGdsb2JhbCByZXNldCByZXF1ZXN0 ZWQiKTsNCglpZiAoaWNyMCAmIEk0MEVfUEZJTlRfSUNSMF9QQ0lfRVhDRVBUSU9OX01BU0spDQoJ CVBNRF9EUlZfTE9HKElORk8sICJJQ1IwOiBQQ0kgZXhjZXB0aW9uIGFjdGl2YXRlZCIpOw0KCWlm IChpY3IwICYgSTQwRV9QRklOVF9JQ1IwX1NUT1JNX0RFVEVDVF9NQVNLKQ0KCQlQTURfRFJWX0xP RyhJTkZPLCAiSUNSMDogYSBjaGFuZ2UgaW4gdGhlIHN0b3JtIGNvbnRyb2wgc3RhdGUiKTsNCglp ZiAoaWNyMCAmIEk0MEVfUEZJTlRfSUNSMF9ITUNfRVJSX01BU0spDQoJCVBNRF9EUlZfTE9HKEVS UiwgIklDUjA6IEhNQyBlcnJvciIpOw0KCWlmIChpY3IwICYgSTQwRV9QRklOVF9JQ1IwX1BFX0NS SVRFUlJfTUFTSykNCgkJUE1EX0RSVl9MT0coRVJSLCAiSUNSMDogcHJvdG9jb2wgZW5naW5lIGNy aXRpY2FsIGVycm9yIik7DQoNCglpZiAoaWNyMCAmIEk0MEVfUEZJTlRfSUNSMF9WRkxSX01BU0sp IHsNCgkJUE1EX0RSVl9MT0coSU5GTywgIklDUjA6IFZGIHJlc2V0IGRldGVjdGVkIik7DQoJCWk0 MGVfZGV2X2hhbmRsZV92ZnJfZXZlbnQoZGV2KTsNCgl9DQoJaWYgKGljcjAgJiBJNDBFX1BGSU5U X0lDUjBfQURNSU5RX01BU0spIHsNCgkJUE1EX0RSVl9MT0coSU5GTywgIklDUjA6IGFkbWlucSBl dmVudCIpOw0KCQlpNDBlX2Rldl9oYW5kbGVfYXFfbXNnKGRldik7DQoJfQ0KDQpkb25lOg0KCS8q IEVuYWJsZSBpbnRlcnJ1cHQgKi8NCglpNDBlX3BmX2VuYWJsZV9pcnEwKGh3KTsNCglydGVfZWFs X2FsYXJtX3NldChJNDBFX0FMQVJNX0lOVEVSVkFMLA0KCQkJICBpNDBlX2Rldl9hbGFybV9oYW5k bGVyLCBkZXYpOw0KfQ0KDQppbnQNCmk0MGVfYWRkX21hY3ZsYW5fZmlsdGVycyhzdHJ1Y3QgaTQw ZV92c2kgKnZzaSwNCgkJCSBzdHJ1Y3QgaTQwZV9tYWN2bGFuX2ZpbHRlciAqZmlsdGVyLA0KCQkJ IGludCB0b3RhbCkNCnsNCglpbnQgZWxlX251bSwgZWxlX2J1ZmZfc2l6ZTsNCglpbnQgbnVtLCBh Y3R1YWxfbnVtLCBpOw0KCXVpbnQxNl90IGZsYWdzOw0KCWludCByZXQgPSBJNDBFX1NVQ0NFU1M7 DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9WU0lfVE9fSFcodnNpKTsNCglzdHJ1Y3QgaTQw ZV9hcWNfYWRkX21hY3ZsYW5fZWxlbWVudF9kYXRhICpyZXFfbGlzdDsNCg0KCWlmIChmaWx0ZXIg PT0gTlVMTCAgfHwgdG90YWwgPT0gMCkNCgkJcmV0dXJuIEk0MEVfRVJSX1BBUkFNOw0KCWVsZV9u dW0gPSBody0+YXEuYXNxX2J1Zl9zaXplIC8gc2l6ZW9mKCpyZXFfbGlzdCk7DQoJZWxlX2J1ZmZf c2l6ZSA9IGh3LT5hcS5hc3FfYnVmX3NpemU7DQoNCglyZXFfbGlzdCA9IHJ0ZV96bWFsbG9jKCJt YWN2bGFuX2FkZCIsIGVsZV9idWZmX3NpemUsIDApOw0KCWlmIChyZXFfbGlzdCA9PSBOVUxMKSB7 DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWwgdG8gYWxsb2NhdGUgbWVtb3J5Iik7DQoJCXJldHVy biBJNDBFX0VSUl9OT19NRU1PUlk7DQoJfQ0KDQoJbnVtID0gMDsNCglkbyB7DQoJCWFjdHVhbF9u dW0gPSAobnVtICsgZWxlX251bSA+IHRvdGFsKSA/ICh0b3RhbCAtIG51bSkgOiBlbGVfbnVtOw0K CQltZW1zZXQocmVxX2xpc3QsIDAsIGVsZV9idWZmX3NpemUpOw0KDQoJCWZvciAoaSA9IDA7IGkg PCBhY3R1YWxfbnVtOyBpKyspIHsNCgkJCXJ0ZV9tZW1jcHkocmVxX2xpc3RbaV0ubWFjX2FkZHIs DQoJCQkJJmZpbHRlcltudW0gKyBpXS5tYWNhZGRyLCBFVEhfQUREUl9MRU4pOw0KCQkJcmVxX2xp c3RbaV0udmxhbl90YWcgPQ0KCQkJCXJ0ZV9jcHVfdG9fbGVfMTYoZmlsdGVyW251bSArIGldLnZs YW5faWQpOw0KDQoJCQlzd2l0Y2ggKGZpbHRlcltudW0gKyBpXS5maWx0ZXJfdHlwZSkgew0KCQkJ Y2FzZSBSVEVfTUFDX1BFUkZFQ1RfTUFUQ0g6DQoJCQkJZmxhZ3MgPSBJNDBFX0FRQ19NQUNWTEFO X0FERF9QRVJGRUNUX01BVENIIHwNCgkJCQkJSTQwRV9BUUNfTUFDVkxBTl9BRERfSUdOT1JFX1ZM QU47DQoJCQkJYnJlYWs7DQoJCQljYXNlIFJURV9NQUNWTEFOX1BFUkZFQ1RfTUFUQ0g6DQoJCQkJ ZmxhZ3MgPSBJNDBFX0FRQ19NQUNWTEFOX0FERF9QRVJGRUNUX01BVENIOw0KCQkJCWJyZWFrOw0K CQkJY2FzZSBSVEVfTUFDX0hBU0hfTUFUQ0g6DQoJCQkJZmxhZ3MgPSBJNDBFX0FRQ19NQUNWTEFO X0FERF9IQVNIX01BVENIIHwNCgkJCQkJSTQwRV9BUUNfTUFDVkxBTl9BRERfSUdOT1JFX1ZMQU47 DQoJCQkJYnJlYWs7DQoJCQljYXNlIFJURV9NQUNWTEFOX0hBU0hfTUFUQ0g6DQoJCQkJZmxhZ3Mg PSBJNDBFX0FRQ19NQUNWTEFOX0FERF9IQVNIX01BVENIOw0KCQkJCWJyZWFrOw0KCQkJZGVmYXVs dDoNCgkJCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlkIE1BQyBtYXRjaCB0eXBlIik7DQoJCQkJ cmV0ID0gSTQwRV9FUlJfUEFSQU07DQoJCQkJZ290byBET05FOw0KCQkJfQ0KDQoJCQlyZXFfbGlz dFtpXS5xdWV1ZV9udW1iZXIgPSAwOw0KDQoJCQlyZXFfbGlzdFtpXS5mbGFncyA9IHJ0ZV9jcHVf dG9fbGVfMTYoZmxhZ3MpOw0KCQl9DQoNCgkJcmV0ID0gaTQwZV9hcV9hZGRfbWFjdmxhbihodywg dnNpLT5zZWlkLCByZXFfbGlzdCwNCgkJCQkJCWFjdHVhbF9udW0sIE5VTEwpOw0KCQlpZiAocmV0 ICE9IEk0MEVfU1VDQ0VTUykgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFkZCBt YWN2bGFuIGZpbHRlciIpOw0KCQkJZ290byBET05FOw0KCQl9DQoJCW51bSArPSBhY3R1YWxfbnVt Ow0KCX0gd2hpbGUgKG51bSA8IHRvdGFsKTsNCg0KRE9ORToNCglydGVfZnJlZShyZXFfbGlzdCk7 DQoJcmV0dXJuIHJldDsNCn0NCg0KaW50DQppNDBlX3JlbW92ZV9tYWN2bGFuX2ZpbHRlcnMoc3Ry dWN0IGk0MGVfdnNpICp2c2ksDQoJCQkgICAgc3RydWN0IGk0MGVfbWFjdmxhbl9maWx0ZXIgKmZp bHRlciwNCgkJCSAgICBpbnQgdG90YWwpDQp7DQoJaW50IGVsZV9udW0sIGVsZV9idWZmX3NpemU7 DQoJaW50IG51bSwgYWN0dWFsX251bSwgaTsNCgl1aW50MTZfdCBmbGFnczsNCglpbnQgcmV0ID0g STQwRV9TVUNDRVNTOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7 DQoJc3RydWN0IGk0MGVfYXFjX3JlbW92ZV9tYWN2bGFuX2VsZW1lbnRfZGF0YSAqcmVxX2xpc3Q7 DQoNCglpZiAoZmlsdGVyID09IE5VTEwgIHx8IHRvdGFsID09IDApDQoJCXJldHVybiBJNDBFX0VS Ul9QQVJBTTsNCg0KCWVsZV9udW0gPSBody0+YXEuYXNxX2J1Zl9zaXplIC8gc2l6ZW9mKCpyZXFf bGlzdCk7DQoJZWxlX2J1ZmZfc2l6ZSA9IGh3LT5hcS5hc3FfYnVmX3NpemU7DQoNCglyZXFfbGlz dCA9IHJ0ZV96bWFsbG9jKCJtYWN2bGFuX3JlbW92ZSIsIGVsZV9idWZmX3NpemUsIDApOw0KCWlm IChyZXFfbGlzdCA9PSBOVUxMKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWwgdG8gYWxsb2Nh dGUgbWVtb3J5Iik7DQoJCXJldHVybiBJNDBFX0VSUl9OT19NRU1PUlk7DQoJfQ0KDQoJbnVtID0g MDsNCglkbyB7DQoJCWFjdHVhbF9udW0gPSAobnVtICsgZWxlX251bSA+IHRvdGFsKSA/ICh0b3Rh bCAtIG51bSkgOiBlbGVfbnVtOw0KCQltZW1zZXQocmVxX2xpc3QsIDAsIGVsZV9idWZmX3NpemUp Ow0KDQoJCWZvciAoaSA9IDA7IGkgPCBhY3R1YWxfbnVtOyBpKyspIHsNCgkJCXJ0ZV9tZW1jcHko cmVxX2xpc3RbaV0ubWFjX2FkZHIsDQoJCQkJJmZpbHRlcltudW0gKyBpXS5tYWNhZGRyLCBFVEhf QUREUl9MRU4pOw0KCQkJcmVxX2xpc3RbaV0udmxhbl90YWcgPQ0KCQkJCXJ0ZV9jcHVfdG9fbGVf MTYoZmlsdGVyW251bSArIGldLnZsYW5faWQpOw0KDQoJCQlzd2l0Y2ggKGZpbHRlcltudW0gKyBp XS5maWx0ZXJfdHlwZSkgew0KCQkJY2FzZSBSVEVfTUFDX1BFUkZFQ1RfTUFUQ0g6DQoJCQkJZmxh Z3MgPSBJNDBFX0FRQ19NQUNWTEFOX0RFTF9QRVJGRUNUX01BVENIIHwNCgkJCQkJSTQwRV9BUUNf TUFDVkxBTl9ERUxfSUdOT1JFX1ZMQU47DQoJCQkJYnJlYWs7DQoJCQljYXNlIFJURV9NQUNWTEFO X1BFUkZFQ1RfTUFUQ0g6DQoJCQkJZmxhZ3MgPSBJNDBFX0FRQ19NQUNWTEFOX0RFTF9QRVJGRUNU X01BVENIOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSBSVEVfTUFDX0hBU0hfTUFUQ0g6DQoJCQkJZmxh Z3MgPSBJNDBFX0FRQ19NQUNWTEFOX0RFTF9IQVNIX01BVENIIHwNCgkJCQkJSTQwRV9BUUNfTUFD VkxBTl9ERUxfSUdOT1JFX1ZMQU47DQoJCQkJYnJlYWs7DQoJCQljYXNlIFJURV9NQUNWTEFOX0hB U0hfTUFUQ0g6DQoJCQkJZmxhZ3MgPSBJNDBFX0FRQ19NQUNWTEFOX0RFTF9IQVNIX01BVENIOw0K CQkJCWJyZWFrOw0KCQkJZGVmYXVsdDoNCgkJCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlkIE1B QyBmaWx0ZXIgdHlwZSIpOw0KCQkJCXJldCA9IEk0MEVfRVJSX1BBUkFNOw0KCQkJCWdvdG8gRE9O RTsNCgkJCX0NCgkJCXJlcV9saXN0W2ldLmZsYWdzID0gcnRlX2NwdV90b19sZV8xNihmbGFncyk7 DQoJCX0NCg0KCQlyZXQgPSBpNDBlX2FxX3JlbW92ZV9tYWN2bGFuKGh3LCB2c2ktPnNlaWQsIHJl cV9saXN0LA0KCQkJCQkJYWN0dWFsX251bSwgTlVMTCk7DQoJCWlmIChyZXQgIT0gSTQwRV9TVUND RVNTKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gcmVtb3ZlIG1hY3ZsYW4gZmls dGVyIik7DQoJCQlnb3RvIERPTkU7DQoJCX0NCgkJbnVtICs9IGFjdHVhbF9udW07DQoJfSB3aGls ZSAobnVtIDwgdG90YWwpOw0KDQpET05FOg0KCXJ0ZV9mcmVlKHJlcV9saXN0KTsNCglyZXR1cm4g cmV0Ow0KfQ0KDQovKiBGaW5kIG91dCBzcGVjaWZpYyBNQUMgZmlsdGVyICovDQpzdGF0aWMgc3Ry dWN0IGk0MGVfbWFjX2ZpbHRlciAqDQppNDBlX2ZpbmRfbWFjX2ZpbHRlcihzdHJ1Y3QgaTQwZV92 c2kgKnZzaSwNCgkJCSBzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKm1hY2FkZHIpDQp7DQoJc3RydWN0 IGk0MGVfbWFjX2ZpbHRlciAqZjsNCg0KCVRBSUxRX0ZPUkVBQ0goZiwgJnZzaS0+bWFjX2xpc3Qs IG5leHQpIHsNCgkJaWYgKHJ0ZV9pc19zYW1lX2V0aGVyX2FkZHIobWFjYWRkciwgJmYtPm1hY19p bmZvLm1hY19hZGRyKSkNCgkJCXJldHVybiBmOw0KCX0NCg0KCXJldHVybiBOVUxMOw0KfQ0KDQpz dGF0aWMgYm9vbA0KaTQwZV9maW5kX3ZsYW5fZmlsdGVyKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLA0K CQkJIHVpbnQxNl90IHZsYW5faWQpDQp7DQoJdWludDMyX3QgdmlkX2lkeCwgdmlkX2JpdDsNCg0K CWlmICh2bGFuX2lkID4gRVRIX1ZMQU5fSURfTUFYKQ0KCQlyZXR1cm4gMDsNCg0KCXZpZF9pZHgg PSBJNDBFX1ZGVEFfSURYKHZsYW5faWQpOw0KCXZpZF9iaXQgPSBJNDBFX1ZGVEFfQklUKHZsYW5f aWQpOw0KDQoJaWYgKHZzaS0+dmZ0YVt2aWRfaWR4XSAmIHZpZF9iaXQpDQoJCXJldHVybiAxOw0K CWVsc2UNCgkJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyB2b2lkDQppNDBlX3N0b3JlX3ZsYW5fZmls dGVyKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLA0KCQkgICAgICAgdWludDE2X3Qgdmxhbl9pZCwgYm9v bCBvbikNCnsNCgl1aW50MzJfdCB2aWRfaWR4LCB2aWRfYml0Ow0KDQoJdmlkX2lkeCA9IEk0MEVf VkZUQV9JRFgodmxhbl9pZCk7DQoJdmlkX2JpdCA9IEk0MEVfVkZUQV9CSVQodmxhbl9pZCk7DQoN CglpZiAob24pDQoJCXZzaS0+dmZ0YVt2aWRfaWR4XSB8PSB2aWRfYml0Ow0KCWVsc2UNCgkJdnNp LT52ZnRhW3ZpZF9pZHhdICY9IH52aWRfYml0Ow0KfQ0KDQp2b2lkDQppNDBlX3NldF92bGFuX2Zp bHRlcihzdHJ1Y3QgaTQwZV92c2kgKnZzaSwNCgkJICAgICB1aW50MTZfdCB2bGFuX2lkLCBib29s IG9uKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJc3Ry dWN0IGk0MGVfYXFjX2FkZF9yZW1vdmVfdmxhbl9lbGVtZW50X2RhdGEgdmxhbl9kYXRhID0gezB9 Ow0KCWludCByZXQ7DQoNCglpZiAodmxhbl9pZCA+IEVUSF9WTEFOX0lEX01BWCkNCgkJcmV0dXJu Ow0KDQoJaTQwZV9zdG9yZV92bGFuX2ZpbHRlcih2c2ksIHZsYW5faWQsIG9uKTsNCg0KCWlmICgo IXZzaS0+dmxhbl9hbnRpX3Nwb29mX29uICYmICF2c2ktPnZsYW5fZmlsdGVyX29uKSB8fCAhdmxh bl9pZCkNCgkJcmV0dXJuOw0KDQoJdmxhbl9kYXRhLnZsYW5fdGFnID0gcnRlX2NwdV90b19sZV8x Nih2bGFuX2lkKTsNCg0KCWlmIChvbikgew0KCQlyZXQgPSBpNDBlX2FxX2FkZF92bGFuKGh3LCB2 c2ktPnNlaWQsDQoJCQkJICAgICAgICZ2bGFuX2RhdGEsIDEsIE5VTEwpOw0KCQlpZiAocmV0ICE9 IEk0MEVfU1VDQ0VTUykNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhZGQgdmxhbiBm aWx0ZXIiKTsNCgl9IGVsc2Ugew0KCQlyZXQgPSBpNDBlX2FxX3JlbW92ZV92bGFuKGh3LCB2c2kt PnNlaWQsDQoJCQkJCSAgJnZsYW5fZGF0YSwgMSwgTlVMTCk7DQoJCWlmIChyZXQgIT0gSTQwRV9T VUNDRVNTKQ0KCQkJUE1EX0RSVl9MT0coRVJSLA0KCQkJCSAgICAiRmFpbGVkIHRvIHJlbW92ZSB2 bGFuIGZpbHRlciIpOw0KCX0NCn0NCg0KLyoqDQogKiBGaW5kIGFsbCB2bGFuIG9wdGlvbnMgZm9y IHNwZWNpZmljIG1hYyBhZGRyLA0KICogcmV0dXJuIHdpdGggYWN0dWFsIHZsYW4gZm91bmQuDQog Ki8NCmludA0KaTQwZV9maW5kX2FsbF92bGFuX2Zvcl9tYWMoc3RydWN0IGk0MGVfdnNpICp2c2ks DQoJCQkgICBzdHJ1Y3QgaTQwZV9tYWN2bGFuX2ZpbHRlciAqbXZfZiwNCgkJCSAgIGludCBudW0s IHN0cnVjdCBydGVfZXRoZXJfYWRkciAqYWRkcikNCnsNCglpbnQgaTsNCgl1aW50MzJfdCBqLCBr Ow0KDQoJLyoqDQoJICogTm90IHRvIHVzZSBpNDBlX2ZpbmRfdmxhbl9maWx0ZXIgdG8gZGVjcmVh c2UgdGhlIGxvb3AgdGltZSwNCgkgKiBhbHRob3VnaCB0aGUgY29kZSBsb29rcyBjb21wbGV4Lg0K CSAgKi8NCglpZiAobnVtIDwgdnNpLT52bGFuX251bSkNCgkJcmV0dXJuIEk0MEVfRVJSX1BBUkFN Ow0KDQoJaSA9IDA7DQoJZm9yIChqID0gMDsgaiA8IEk0MEVfVkZUQV9TSVpFOyBqKyspIHsNCgkJ aWYgKHZzaS0+dmZ0YVtqXSkgew0KCQkJZm9yIChrID0gMDsgayA8IEk0MEVfVUlOVDMyX0JJVF9T SVpFOyBrKyspIHsNCgkJCQlpZiAodnNpLT52ZnRhW2pdICYgKDEgPDwgaykpIHsNCgkJCQkJaWYg KGkgPiBudW0gLSAxKSB7DQoJCQkJCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkJCQkJInZsYW4gbnVt YmVyIGRvZXNuJ3QgbWF0Y2giKTsNCgkJCQkJCXJldHVybiBJNDBFX0VSUl9QQVJBTTsNCgkJCQkJ fQ0KCQkJCQlydGVfbWVtY3B5KCZtdl9mW2ldLm1hY2FkZHIsDQoJCQkJCQkJYWRkciwgRVRIX0FE RFJfTEVOKTsNCgkJCQkJbXZfZltpXS52bGFuX2lkID0NCgkJCQkJCWogKiBJNDBFX1VJTlQzMl9C SVRfU0laRSArIGs7DQoJCQkJCWkrKzsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoJcmV0dXJuIEk0 MEVfU1VDQ0VTUzsNCn0NCg0Kc3RhdGljIGlubGluZSBpbnQNCmk0MGVfZmluZF9hbGxfbWFjX2Zv cl92bGFuKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLA0KCQkJICAgc3RydWN0IGk0MGVfbWFjdmxhbl9m aWx0ZXIgKm12X2YsDQoJCQkgICBpbnQgbnVtLA0KCQkJICAgdWludDE2X3QgdmxhbikNCnsNCglp bnQgaSA9IDA7DQoJc3RydWN0IGk0MGVfbWFjX2ZpbHRlciAqZjsNCg0KCWlmIChudW0gPCB2c2kt Pm1hY19udW0pDQoJCXJldHVybiBJNDBFX0VSUl9QQVJBTTsNCg0KCVRBSUxRX0ZPUkVBQ0goZiwg JnZzaS0+bWFjX2xpc3QsIG5leHQpIHsNCgkJaWYgKGkgPiBudW0gLSAxKSB7DQoJCQlQTURfRFJW X0xPRyhFUlIsICJidWZmZXIgbnVtYmVyIG5vdCBtYXRjaCIpOw0KCQkJcmV0dXJuIEk0MEVfRVJS X1BBUkFNOw0KCQl9DQoJCXJ0ZV9tZW1jcHkoJm12X2ZbaV0ubWFjYWRkciwgJmYtPm1hY19pbmZv Lm1hY19hZGRyLA0KCQkJCUVUSF9BRERSX0xFTik7DQoJCW12X2ZbaV0udmxhbl9pZCA9IHZsYW47 DQoJCW12X2ZbaV0uZmlsdGVyX3R5cGUgPSBmLT5tYWNfaW5mby5maWx0ZXJfdHlwZTsNCgkJaSsr Ow0KCX0NCg0KCXJldHVybiBJNDBFX1NVQ0NFU1M7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfdnNp X3JlbW92ZV9hbGxfbWFjdmxhbl9maWx0ZXIoc3RydWN0IGk0MGVfdnNpICp2c2kpDQp7DQoJaW50 IGksIGosIG51bTsNCglzdHJ1Y3QgaTQwZV9tYWNfZmlsdGVyICpmOw0KCXN0cnVjdCBpNDBlX21h Y3ZsYW5fZmlsdGVyICptdl9mOw0KCWludCByZXQgPSBJNDBFX1NVQ0NFU1M7DQoNCglpZiAodnNp ID09IE5VTEwgfHwgdnNpLT5tYWNfbnVtID09IDApDQoJCXJldHVybiBJNDBFX0VSUl9QQVJBTTsN Cg0KCS8qIENhc2UgdGhhdCBubyB2bGFuIGlzIHNldCAqLw0KCWlmICh2c2ktPnZsYW5fbnVtID09 IDApDQoJCW51bSA9IHZzaS0+bWFjX251bTsNCgllbHNlDQoJCW51bSA9IHZzaS0+bWFjX251bSAq IHZzaS0+dmxhbl9udW07DQoNCgltdl9mID0gcnRlX3ptYWxsb2MoIm1hY3ZsYW5fZGF0YSIsIG51 bSAqIHNpemVvZigqbXZfZiksIDApOw0KCWlmIChtdl9mID09IE5VTEwpIHsNCgkJUE1EX0RSVl9M T0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm4gSTQwRV9FUlJf Tk9fTUVNT1JZOw0KCX0NCg0KCWkgPSAwOw0KCWlmICh2c2ktPnZsYW5fbnVtID09IDApIHsNCgkJ VEFJTFFfRk9SRUFDSChmLCAmdnNpLT5tYWNfbGlzdCwgbmV4dCkgew0KCQkJcnRlX21lbWNweSgm bXZfZltpXS5tYWNhZGRyLA0KCQkJCSZmLT5tYWNfaW5mby5tYWNfYWRkciwgRVRIX0FERFJfTEVO KTsNCgkJCW12X2ZbaV0uZmlsdGVyX3R5cGUgPSBmLT5tYWNfaW5mby5maWx0ZXJfdHlwZTsNCgkJ CW12X2ZbaV0udmxhbl9pZCA9IDA7DQoJCQlpKys7DQoJCX0NCgl9IGVsc2Ugew0KCQlUQUlMUV9G T1JFQUNIKGYsICZ2c2ktPm1hY19saXN0LCBuZXh0KSB7DQoJCQlyZXQgPSBpNDBlX2ZpbmRfYWxs X3ZsYW5fZm9yX21hYyh2c2ksJm12X2ZbaV0sDQoJCQkJCXZzaS0+dmxhbl9udW0sICZmLT5tYWNf aW5mby5tYWNfYWRkcik7DQoJCQlpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJCQlnb3RvIERP TkU7DQoJCQlmb3IgKGogPSBpOyBqIDwgaSArIHZzaS0+dmxhbl9udW07IGorKykNCgkJCQltdl9m W2pdLmZpbHRlcl90eXBlID0gZi0+bWFjX2luZm8uZmlsdGVyX3R5cGU7DQoJCQlpICs9IHZzaS0+ dmxhbl9udW07DQoJCX0NCgl9DQoNCglyZXQgPSBpNDBlX3JlbW92ZV9tYWN2bGFuX2ZpbHRlcnMo dnNpLCBtdl9mLCBudW0pOw0KRE9ORToNCglydGVfZnJlZShtdl9mKTsNCg0KCXJldHVybiByZXQ7 DQp9DQoNCmludA0KaTQwZV92c2lfYWRkX3ZsYW4oc3RydWN0IGk0MGVfdnNpICp2c2ksIHVpbnQx Nl90IHZsYW4pDQp7DQoJc3RydWN0IGk0MGVfbWFjdmxhbl9maWx0ZXIgKm12X2Y7DQoJaW50IG1h Y19udW07DQoJaW50IHJldCA9IEk0MEVfU1VDQ0VTUzsNCg0KCWlmICghdnNpIHx8IHZsYW4gPiBS VEVfRVRIRVJfTUFYX1ZMQU5fSUQpDQoJCXJldHVybiBJNDBFX0VSUl9QQVJBTTsNCg0KCS8qIElm IGl0J3MgYWxyZWFkeSBzZXQsIGp1c3QgcmV0dXJuICovDQoJaWYgKGk0MGVfZmluZF92bGFuX2Zp bHRlcih2c2ksdmxhbikpDQoJCXJldHVybiBJNDBFX1NVQ0NFU1M7DQoNCgltYWNfbnVtID0gdnNp LT5tYWNfbnVtOw0KDQoJaWYgKG1hY19udW0gPT0gMCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJF cnJvciEgVlNJIGRvZXNuJ3QgaGF2ZSBhIG1hYyBhZGRyIik7DQoJCXJldHVybiBJNDBFX0VSUl9Q QVJBTTsNCgl9DQoNCgltdl9mID0gcnRlX3ptYWxsb2MoIm1hY3ZsYW5fZGF0YSIsIG1hY19udW0g KiBzaXplb2YoKm12X2YpLCAwKTsNCg0KCWlmIChtdl9mID09IE5VTEwpIHsNCgkJUE1EX0RSVl9M T0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm4gSTQwRV9FUlJf Tk9fTUVNT1JZOw0KCX0NCg0KCXJldCA9IGk0MGVfZmluZF9hbGxfbWFjX2Zvcl92bGFuKHZzaSwg bXZfZiwgbWFjX251bSwgdmxhbik7DQoNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJZ290 byBET05FOw0KDQoJcmV0ID0gaTQwZV9hZGRfbWFjdmxhbl9maWx0ZXJzKHZzaSwgbXZfZiwgbWFj X251bSk7DQoNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJZ290byBET05FOw0KDQoJaTQw ZV9zZXRfdmxhbl9maWx0ZXIodnNpLCB2bGFuLCAxKTsNCg0KCXZzaS0+dmxhbl9udW0rKzsNCgly ZXQgPSBJNDBFX1NVQ0NFU1M7DQpET05FOg0KCXJ0ZV9mcmVlKG12X2YpOw0KCXJldHVybiByZXQ7 DQp9DQoNCmludA0KaTQwZV92c2lfZGVsZXRlX3ZsYW4oc3RydWN0IGk0MGVfdnNpICp2c2ksIHVp bnQxNl90IHZsYW4pDQp7DQoJc3RydWN0IGk0MGVfbWFjdmxhbl9maWx0ZXIgKm12X2Y7DQoJaW50 IG1hY19udW07DQoJaW50IHJldCA9IEk0MEVfU1VDQ0VTUzsNCg0KCS8qKg0KCSAqIFZsYW4gMCBp cyB0aGUgZ2VuZXJpYyBmaWx0ZXIgZm9yIHVudGFnZ2VkIHBhY2tldHMNCgkgKiBhbmQgY2FuJ3Qg YmUgcmVtb3ZlZC4NCgkgKi8NCglpZiAoIXZzaSB8fCB2bGFuID09IDAgfHwgdmxhbiA+IFJURV9F VEhFUl9NQVhfVkxBTl9JRCkNCgkJcmV0dXJuIEk0MEVfRVJSX1BBUkFNOw0KDQoJLyogSWYgY2Fu J3QgZmluZCBpdCwganVzdCByZXR1cm4gKi8NCglpZiAoIWk0MGVfZmluZF92bGFuX2ZpbHRlcih2 c2ksIHZsYW4pKQ0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoNCgltYWNfbnVtID0gdnNpLT5t YWNfbnVtOw0KDQoJaWYgKG1hY19udW0gPT0gMCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJFcnJv ciEgVlNJIGRvZXNuJ3QgaGF2ZSBhIG1hYyBhZGRyIik7DQoJCXJldHVybiBJNDBFX0VSUl9QQVJB TTsNCgl9DQoNCgltdl9mID0gcnRlX3ptYWxsb2MoIm1hY3ZsYW5fZGF0YSIsIG1hY19udW0gKiBz aXplb2YoKm12X2YpLCAwKTsNCg0KCWlmIChtdl9mID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0co RVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm4gSTQwRV9FUlJfTk9f TUVNT1JZOw0KCX0NCg0KCXJldCA9IGk0MGVfZmluZF9hbGxfbWFjX2Zvcl92bGFuKHZzaSwgbXZf ZiwgbWFjX251bSwgdmxhbik7DQoNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJZ290byBE T05FOw0KDQoJcmV0ID0gaTQwZV9yZW1vdmVfbWFjdmxhbl9maWx0ZXJzKHZzaSwgbXZfZiwgbWFj X251bSk7DQoNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJZ290byBET05FOw0KDQoJLyog VGhpcyBpcyBsYXN0IHZsYW4gdG8gcmVtb3ZlLCByZXBsYWNlIGFsbCBtYWMgZmlsdGVyIHdpdGgg dmxhbiAwICovDQoJaWYgKHZzaS0+dmxhbl9udW0gPT0gMSkgew0KCQlyZXQgPSBpNDBlX2ZpbmRf YWxsX21hY19mb3Jfdmxhbih2c2ksIG12X2YsIG1hY19udW0sIDApOw0KCQlpZiAocmV0ICE9IEk0 MEVfU1VDQ0VTUykNCgkJCWdvdG8gRE9ORTsNCg0KCQlyZXQgPSBpNDBlX2FkZF9tYWN2bGFuX2Zp bHRlcnModnNpLCBtdl9mLCBtYWNfbnVtKTsNCgkJaWYgKHJldCAhPSBJNDBFX1NVQ0NFU1MpDQoJ CQlnb3RvIERPTkU7DQoJfQ0KDQoJaTQwZV9zZXRfdmxhbl9maWx0ZXIodnNpLCB2bGFuLCAwKTsN Cg0KCXZzaS0+dmxhbl9udW0tLTsNCglyZXQgPSBJNDBFX1NVQ0NFU1M7DQpET05FOg0KCXJ0ZV9m cmVlKG12X2YpOw0KCXJldHVybiByZXQ7DQp9DQoNCmludA0KaTQwZV92c2lfYWRkX21hYyhzdHJ1 Y3QgaTQwZV92c2kgKnZzaSwgc3RydWN0IGk0MGVfbWFjX2ZpbHRlcl9pbmZvICptYWNfZmlsdGVy KQ0Kew0KCXN0cnVjdCBpNDBlX21hY19maWx0ZXIgKmY7DQoJc3RydWN0IGk0MGVfbWFjdmxhbl9m aWx0ZXIgKm12X2Y7DQoJaW50IGksIHZsYW5fbnVtID0gMDsNCglpbnQgcmV0ID0gSTQwRV9TVUND RVNTOw0KDQoJLyogSWYgaXQncyBhZGQgYW5kIHdlJ3ZlIGNvbmZpZyBpdCwgcmV0dXJuICovDQoJ ZiA9IGk0MGVfZmluZF9tYWNfZmlsdGVyKHZzaSwgJm1hY19maWx0ZXItPm1hY19hZGRyKTsNCglp ZiAoZiAhPSBOVUxMKQ0KCQlyZXR1cm4gSTQwRV9TVUNDRVNTOw0KCWlmICgobWFjX2ZpbHRlci0+ ZmlsdGVyX3R5cGUgPT0gUlRFX01BQ1ZMQU5fUEVSRkVDVF9NQVRDSCkgfHwNCgkJKG1hY19maWx0 ZXItPmZpbHRlcl90eXBlID09IFJURV9NQUNWTEFOX0hBU0hfTUFUQ0gpKSB7DQoNCgkJLyoqDQoJ CSAqIElmIHZsYW5fbnVtIGlzIDAsIHRoYXQncyB0aGUgZmlyc3QgdGltZSB0byBhZGQgbWFjLA0K CQkgKiBzZXQgbWFzayBmb3Igdmxhbl9pZCAwLg0KCQkgKi8NCgkJaWYgKHZzaS0+dmxhbl9udW0g PT0gMCkgew0KCQkJaTQwZV9zZXRfdmxhbl9maWx0ZXIodnNpLCAwLCAxKTsNCgkJCXZzaS0+dmxh bl9udW0gPSAxOw0KCQl9DQoJCXZsYW5fbnVtID0gdnNpLT52bGFuX251bTsNCgl9IGVsc2UgaWYg KChtYWNfZmlsdGVyLT5maWx0ZXJfdHlwZSA9PSBSVEVfTUFDX1BFUkZFQ1RfTUFUQ0gpIHx8DQoJ CQkobWFjX2ZpbHRlci0+ZmlsdGVyX3R5cGUgPT0gUlRFX01BQ19IQVNIX01BVENIKSkNCgkJdmxh bl9udW0gPSAxOw0KDQoJbXZfZiA9IHJ0ZV96bWFsbG9jKCJtYWN2bGFuX2RhdGEiLCB2bGFuX251 bSAqIHNpemVvZigqbXZfZiksIDApOw0KCWlmIChtdl9mID09IE5VTEwpIHsNCgkJUE1EX0RSVl9M T0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm4gSTQwRV9FUlJf Tk9fTUVNT1JZOw0KCX0NCg0KCWZvciAoaSA9IDA7IGkgPCB2bGFuX251bTsgaSsrKSB7DQoJCW12 X2ZbaV0uZmlsdGVyX3R5cGUgPSBtYWNfZmlsdGVyLT5maWx0ZXJfdHlwZTsNCgkJcnRlX21lbWNw eSgmbXZfZltpXS5tYWNhZGRyLCAmbWFjX2ZpbHRlci0+bWFjX2FkZHIsDQoJCQkJRVRIX0FERFJf TEVOKTsNCgl9DQoNCglpZiAobWFjX2ZpbHRlci0+ZmlsdGVyX3R5cGUgPT0gUlRFX01BQ1ZMQU5f UEVSRkVDVF9NQVRDSCB8fA0KCQltYWNfZmlsdGVyLT5maWx0ZXJfdHlwZSA9PSBSVEVfTUFDVkxB Tl9IQVNIX01BVENIKSB7DQoJCXJldCA9IGk0MGVfZmluZF9hbGxfdmxhbl9mb3JfbWFjKHZzaSwg bXZfZiwgdmxhbl9udW0sDQoJCQkJCSZtYWNfZmlsdGVyLT5tYWNfYWRkcik7DQoJCWlmIChyZXQg IT0gSTQwRV9TVUNDRVNTKQ0KCQkJZ290byBET05FOw0KCX0NCg0KCXJldCA9IGk0MGVfYWRkX21h Y3ZsYW5fZmlsdGVycyh2c2ksIG12X2YsIHZsYW5fbnVtKTsNCglpZiAocmV0ICE9IEk0MEVfU1VD Q0VTUykNCgkJZ290byBET05FOw0KDQoJLyogQWRkIHRoZSBtYWMgYWRkciBpbnRvIG1hYyBsaXN0 ICovDQoJZiA9IHJ0ZV96bWFsbG9jKCJtYWN2X2ZpbHRlciIsIHNpemVvZigqZiksIDApOw0KCWlm IChmID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1l bW9yeSIpOw0KCQlyZXQgPSBJNDBFX0VSUl9OT19NRU1PUlk7DQoJCWdvdG8gRE9ORTsNCgl9DQoJ cnRlX21lbWNweSgmZi0+bWFjX2luZm8ubWFjX2FkZHIsICZtYWNfZmlsdGVyLT5tYWNfYWRkciwN CgkJCUVUSF9BRERSX0xFTik7DQoJZi0+bWFjX2luZm8uZmlsdGVyX3R5cGUgPSBtYWNfZmlsdGVy LT5maWx0ZXJfdHlwZTsNCglUQUlMUV9JTlNFUlRfVEFJTCgmdnNpLT5tYWNfbGlzdCwgZiwgbmV4 dCk7DQoJdnNpLT5tYWNfbnVtKys7DQoNCglyZXQgPSBJNDBFX1NVQ0NFU1M7DQpET05FOg0KCXJ0 ZV9mcmVlKG12X2YpOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0KaW50DQppNDBlX3ZzaV9kZWxldGVf bWFjKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCBzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKmFkZHIpDQp7 DQoJc3RydWN0IGk0MGVfbWFjX2ZpbHRlciAqZjsNCglzdHJ1Y3QgaTQwZV9tYWN2bGFuX2ZpbHRl ciAqbXZfZjsNCglpbnQgaSwgdmxhbl9udW07DQoJZW51bSBydGVfbWFjX2ZpbHRlcl90eXBlIGZp bHRlcl90eXBlOw0KCWludCByZXQgPSBJNDBFX1NVQ0NFU1M7DQoNCgkvKiBDYW4ndCBmaW5kIGl0 LCByZXR1cm4gYW4gZXJyb3IgKi8NCglmID0gaTQwZV9maW5kX21hY19maWx0ZXIodnNpLCBhZGRy KTsNCglpZiAoZiA9PSBOVUxMKQ0KCQlyZXR1cm4gSTQwRV9FUlJfUEFSQU07DQoNCgl2bGFuX251 bSA9IHZzaS0+dmxhbl9udW07DQoJZmlsdGVyX3R5cGUgPSBmLT5tYWNfaW5mby5maWx0ZXJfdHlw ZTsNCglpZiAoZmlsdGVyX3R5cGUgPT0gUlRFX01BQ1ZMQU5fUEVSRkVDVF9NQVRDSCB8fA0KCQlm aWx0ZXJfdHlwZSA9PSBSVEVfTUFDVkxBTl9IQVNIX01BVENIKSB7DQoJCWlmICh2bGFuX251bSA9 PSAwKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJWTEFOIG51bWJlciBzaG91bGRuJ3QgYmUgMCIp Ow0KCQkJcmV0dXJuIEk0MEVfRVJSX1BBUkFNOw0KCQl9DQoJfSBlbHNlIGlmIChmaWx0ZXJfdHlw ZSA9PSBSVEVfTUFDX1BFUkZFQ1RfTUFUQ0ggfHwNCgkJCWZpbHRlcl90eXBlID09IFJURV9NQUNf SEFTSF9NQVRDSCkNCgkJdmxhbl9udW0gPSAxOw0KDQoJbXZfZiA9IHJ0ZV96bWFsbG9jKCJtYWN2 bGFuX2RhdGEiLCB2bGFuX251bSAqIHNpemVvZigqbXZfZiksIDApOw0KCWlmIChtdl9mID09IE5V TEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0K CQlyZXR1cm4gSTQwRV9FUlJfTk9fTUVNT1JZOw0KCX0NCg0KCWZvciAoaSA9IDA7IGkgPCB2bGFu X251bTsgaSsrKSB7DQoJCW12X2ZbaV0uZmlsdGVyX3R5cGUgPSBmaWx0ZXJfdHlwZTsNCgkJcnRl X21lbWNweSgmbXZfZltpXS5tYWNhZGRyLCAmZi0+bWFjX2luZm8ubWFjX2FkZHIsDQoJCQkJRVRI X0FERFJfTEVOKTsNCgl9DQoJaWYgKGZpbHRlcl90eXBlID09IFJURV9NQUNWTEFOX1BFUkZFQ1Rf TUFUQ0ggfHwNCgkJCWZpbHRlcl90eXBlID09IFJURV9NQUNWTEFOX0hBU0hfTUFUQ0gpIHsNCgkJ cmV0ID0gaTQwZV9maW5kX2FsbF92bGFuX2Zvcl9tYWModnNpLCBtdl9mLCB2bGFuX251bSwgYWRk cik7DQoJCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKQ0KCQkJZ290byBET05FOw0KCX0NCg0KCXJl dCA9IGk0MGVfcmVtb3ZlX21hY3ZsYW5fZmlsdGVycyh2c2ksIG12X2YsIHZsYW5fbnVtKTsNCglp ZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJZ290byBET05FOw0KDQoJLyogUmVtb3ZlIHRoZSBt YWMgYWRkciBpbnRvIG1hYyBsaXN0ICovDQoJVEFJTFFfUkVNT1ZFKCZ2c2ktPm1hY19saXN0LCBm LCBuZXh0KTsNCglydGVfZnJlZShmKTsNCgl2c2ktPm1hY19udW0tLTsNCg0KCXJldCA9IEk0MEVf U1VDQ0VTUzsNCkRPTkU6DQoJcnRlX2ZyZWUobXZfZik7DQoJcmV0dXJuIHJldDsNCn0NCg0KLyog Q29uZmlndXJlIGhhc2ggZW5hYmxlIGZsYWdzIGZvciBSU1MgKi8NCnVpbnQ2NF90DQppNDBlX2Nv bmZpZ19oZW5hKGNvbnN0IHN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkYXB0ZXIsIHVpbnQ2NF90IGZs YWdzKQ0Kew0KCXVpbnQ2NF90IGhlbmEgPSAwOw0KCWludCBpOw0KDQoJaWYgKCFmbGFncykNCgkJ cmV0dXJuIGhlbmE7DQoNCglmb3IgKGkgPSBSVEVfRVRIX0ZMT1dfVU5LTk9XTiArIDE7IGkgPCBJ NDBFX0ZMT1dfVFlQRV9NQVg7IGkrKykgew0KCQlpZiAoZmxhZ3MgJiAoMVVMTCA8PCBpKSkNCgkJ CWhlbmEgfD0gYWRhcHRlci0+cGN0eXBlc190YmxbaV07DQoJfQ0KDQoJcmV0dXJuIGhlbmE7DQp9 DQoNCi8qIFBhcnNlIHRoZSBoYXNoIGVuYWJsZSBmbGFncyAqLw0KdWludDY0X3QNCmk0MGVfcGFy c2VfaGVuYShjb25zdCBzdHJ1Y3QgaTQwZV9hZGFwdGVyICphZGFwdGVyLCB1aW50NjRfdCBmbGFn cykNCnsNCgl1aW50NjRfdCByc3NfaGYgPSAwOw0KDQoJaWYgKCFmbGFncykNCgkJcmV0dXJuIHJz c19oZjsNCglpbnQgaTsNCg0KCWZvciAoaSA9IFJURV9FVEhfRkxPV19VTktOT1dOICsgMTsgaSA8 IEk0MEVfRkxPV19UWVBFX01BWDsgaSsrKSB7DQoJCWlmIChmbGFncyAmIGFkYXB0ZXItPnBjdHlw ZXNfdGJsW2ldKQ0KCQkJcnNzX2hmIHw9ICgxVUxMIDw8IGkpOw0KCX0NCglyZXR1cm4gcnNzX2hm Ow0KfQ0KDQovKiBEaXNhYmxlIFJTUyAqLw0Kc3RhdGljIHZvaWQNCmk0MGVfcGZfZGlzYWJsZV9y c3Moc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZf VE9fSFcocGYpOw0KDQoJaTQwZV93cml0ZV9yeF9jdGwoaHcsIEk0MEVfUEZRRl9IRU5BKDApLCAw KTsNCglpNDBlX3dyaXRlX3J4X2N0bChodywgSTQwRV9QRlFGX0hFTkEoMSksIDApOw0KCUk0MEVf V1JJVEVfRkxVU0goaHcpOw0KfQ0KDQppbnQNCmk0MGVfc2V0X3Jzc19rZXkoc3RydWN0IGk0MGVf dnNpICp2c2ksIHVpbnQ4X3QgKmtleSwgdWludDhfdCBrZXlfbGVuKQ0Kew0KCXN0cnVjdCBpNDBl X3BmICpwZiA9IEk0MEVfVlNJX1RPX1BGKHZzaSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQw RV9WU0lfVE9fSFcodnNpKTsNCgl1aW50MTZfdCBrZXlfaWR4ID0gKHZzaS0+dHlwZSA9PSBJNDBF X1ZTSV9TUklPVikgPw0KCQkJICAgSTQwRV9WRlFGX0hLRVlfTUFYX0lOREVYIDoNCgkJCSAgIEk0 MEVfUEZRRl9IS0VZX01BWF9JTkRFWDsNCglpbnQgcmV0ID0gMDsNCg0KCWlmICgha2V5IHx8IGtl eV9sZW4gPT0gMCkgew0KCQlQTURfRFJWX0xPRyhERUJVRywgIk5vIGtleSB0byBiZSBjb25maWd1 cmVkIik7DQoJCXJldHVybiAwOw0KCX0gZWxzZSBpZiAoa2V5X2xlbiAhPSAoa2V5X2lkeCArIDEp ICoNCgkJc2l6ZW9mKHVpbnQzMl90KSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlkIGtl eSBsZW5ndGggJXUiLCBrZXlfbGVuKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKHBm LT5mbGFncyAmIEk0MEVfRkxBR19SU1NfQVFfQ0FQQUJMRSkgew0KCQlzdHJ1Y3QgaTQwZV9hcWNf Z2V0X3NldF9yc3Nfa2V5X2RhdGEgKmtleV9kdyA9DQoJCQkoc3RydWN0IGk0MGVfYXFjX2dldF9z ZXRfcnNzX2tleV9kYXRhICopa2V5Ow0KDQoJCXJldCA9IGk0MGVfYXFfc2V0X3Jzc19rZXkoaHcs IHZzaS0+dnNpX2lkLCBrZXlfZHcpOw0KCQlpZiAocmV0KQ0KCQkJUE1EX0lOSVRfTE9HKEVSUiwg IkZhaWxlZCB0byBjb25maWd1cmUgUlNTIGtleSB2aWEgQVEiKTsNCgl9IGVsc2Ugew0KCQl1aW50 MzJfdCAqaGFzaF9rZXkgPSAodWludDMyX3QgKilrZXk7DQoJCXVpbnQxNl90IGk7DQoNCgkJaWYg KHZzaS0+dHlwZSA9PSBJNDBFX1ZTSV9TUklPVikgew0KCQkJZm9yIChpID0gMDsgaSA8PSBJNDBF X1ZGUUZfSEtFWV9NQVhfSU5ERVg7IGkrKykNCgkJCQlJNDBFX1dSSVRFX1JFRygNCgkJCQkJaHcs DQoJCQkJCUk0MEVfVkZRRl9IS0VZMShpLCB2c2ktPnVzZXJfcGFyYW0pLA0KCQkJCQloYXNoX2tl eVtpXSk7DQoNCgkJfSBlbHNlIHsNCgkJCWZvciAoaSA9IDA7IGkgPD0gSTQwRV9QRlFGX0hLRVlf TUFYX0lOREVYOyBpKyspDQoJCQkJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUEZRRl9IS0VZKGkp LA0KCQkJCQkgICAgICAgaGFzaF9rZXlbaV0pOw0KCQl9DQoJCUk0MEVfV1JJVEVfRkxVU0goaHcp Ow0KCX0NCg0KCXJldHVybiByZXQ7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfZ2V0X3Jzc19rZXko c3RydWN0IGk0MGVfdnNpICp2c2ksIHVpbnQ4X3QgKmtleSwgdWludDhfdCAqa2V5X2xlbikNCnsN CglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX1ZTSV9UT19QRih2c2kpOw0KCXN0cnVjdCBpNDBl X2h3ICpodyA9IEk0MEVfVlNJX1RPX0hXKHZzaSk7DQoJdWludDMyX3QgcmVnOw0KCWludCByZXQ7 DQoNCglpZiAoIWtleSB8fCAha2V5X2xlbikNCgkJcmV0dXJuIDA7DQoNCglpZiAocGYtPmZsYWdz ICYgSTQwRV9GTEFHX1JTU19BUV9DQVBBQkxFKSB7DQoJCXJldCA9IGk0MGVfYXFfZ2V0X3Jzc19r ZXkoaHcsIHZzaS0+dnNpX2lkLA0KCQkJKHN0cnVjdCBpNDBlX2FxY19nZXRfc2V0X3Jzc19rZXlf ZGF0YSAqKWtleSk7DQoJCWlmIChyZXQpIHsNCgkJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQg dG8gZ2V0IFJTUyBrZXkgdmlhIEFRIik7DQoJCQlyZXR1cm4gcmV0Ow0KCQl9DQoJfSBlbHNlIHsN CgkJdWludDMyX3QgKmtleV9kdyA9ICh1aW50MzJfdCAqKWtleTsNCgkJdWludDE2X3QgaTsNCg0K CQlpZiAodnNpLT50eXBlID09IEk0MEVfVlNJX1NSSU9WKSB7DQoJCQlmb3IgKGkgPSAwOyBpIDw9 IEk0MEVfVkZRRl9IS0VZX01BWF9JTkRFWDsgaSsrKSB7DQoJCQkJcmVnID0gSTQwRV9WRlFGX0hL RVkxKGksIHZzaS0+dXNlcl9wYXJhbSk7DQoJCQkJa2V5X2R3W2ldID0gaTQwZV9yZWFkX3J4X2N0 bChodywgcmVnKTsNCgkJCX0NCgkJCSprZXlfbGVuID0gKEk0MEVfVkZRRl9IS0VZX01BWF9JTkRF WCArIDEpICoNCgkJCQkgICBzaXplb2YodWludDMyX3QpOw0KCQl9IGVsc2Ugew0KCQkJZm9yIChp ID0gMDsgaSA8PSBJNDBFX1BGUUZfSEtFWV9NQVhfSU5ERVg7IGkrKykgew0KCQkJCXJlZyA9IEk0 MEVfUEZRRl9IS0VZKGkpOw0KCQkJCWtleV9kd1tpXSA9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIHJl Zyk7DQoJCQl9DQoJCQkqa2V5X2xlbiA9IChJNDBFX1BGUUZfSEtFWV9NQVhfSU5ERVggKyAxKSAq DQoJCQkJICAgc2l6ZW9mKHVpbnQzMl90KTsNCgkJfQ0KCX0NCglyZXR1cm4gMDsNCn0NCg0Kc3Rh dGljIGludA0KaTQwZV9od19yc3NfaGFzaF9zZXQoc3RydWN0IGk0MGVfcGYgKnBmLCBzdHJ1Y3Qg cnRlX2V0aF9yc3NfY29uZiAqcnNzX2NvbmYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQw RV9QRl9UT19IVyhwZik7DQoJdWludDY0X3QgaGVuYTsNCglpbnQgcmV0Ow0KDQoJcmV0ID0gaTQw ZV9zZXRfcnNzX2tleShwZi0+bWFpbl92c2ksIHJzc19jb25mLT5yc3Nfa2V5LA0KCQkJICAgICAg IHJzc19jb25mLT5yc3Nfa2V5X2xlbik7DQoJaWYgKHJldCkNCgkJcmV0dXJuIHJldDsNCg0KCWhl bmEgPSBpNDBlX2NvbmZpZ19oZW5hKHBmLT5hZGFwdGVyLCByc3NfY29uZi0+cnNzX2hmKTsNCglp NDBlX3dyaXRlX3J4X2N0bChodywgSTQwRV9QRlFGX0hFTkEoMCksICh1aW50MzJfdCloZW5hKTsN CglpNDBlX3dyaXRlX3J4X2N0bChodywgSTQwRV9QRlFGX0hFTkEoMSksICh1aW50MzJfdCkoaGVu YSA+PiAzMikpOw0KCUk0MEVfV1JJVEVfRkxVU0goaHcpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0 YXRpYyBpbnQNCmk0MGVfZGV2X3Jzc19oYXNoX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl diwNCgkJCSBzdHJ1Y3QgcnRlX2V0aF9yc3NfY29uZiAqcnNzX2NvbmYpDQp7DQoJc3RydWN0IGk0 MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2YXRl KTsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0 YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQ2NF90IHJzc19oZiA9IHJzc19jb25mLT5yc3NfaGYgJiBw Zi0+YWRhcHRlci0+Zmxvd190eXBlc19tYXNrOw0KCXVpbnQ2NF90IGhlbmE7DQoNCgloZW5hID0g KHVpbnQ2NF90KWk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0MEVfUEZRRl9IRU5BKDApKTsNCgloZW5h IHw9ICgodWludDY0X3QpaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9QRlFGX0hFTkEoMSkpKSA8 PCAzMjsNCg0KCWlmICghKGhlbmEgJiBwZi0+YWRhcHRlci0+cGN0eXBlc19tYXNrKSkgeyAvKiBS U1MgZGlzYWJsZWQgKi8NCgkJaWYgKHJzc19oZiAhPSAwKSAvKiBFbmFibGUgUlNTICovDQoJCQly ZXR1cm4gLUVJTlZBTDsNCgkJcmV0dXJuIDA7IC8qIE5vdGhpbmcgdG8gZG8gKi8NCgl9DQoJLyog UlNTIGVuYWJsZWQgKi8NCglpZiAocnNzX2hmID09IDApIC8qIERpc2FibGUgUlNTICovDQoJCXJl dHVybiAtRUlOVkFMOw0KDQoJcmV0dXJuIGk0MGVfaHdfcnNzX2hhc2hfc2V0KHBmLCByc3NfY29u Zik7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfZGV2X3Jzc19oYXNoX2NvbmZfZ2V0KHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LA0KCQkJICAgc3RydWN0IHJ0ZV9ldGhfcnNzX2NvbmYgKnJzc19jb25m KQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFU RV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCgl1aW50NjRfdCBoZW5hOw0KCWludCBy ZXQ7DQoNCglpZiAoIXJzc19jb25mKQ0KCQlyZXR1cm4gLUVJTlZBTDsNCg0KCXJldCA9IGk0MGVf Z2V0X3Jzc19rZXkocGYtPm1haW5fdnNpLCByc3NfY29uZi0+cnNzX2tleSwNCgkJCSAmcnNzX2Nv bmYtPnJzc19rZXlfbGVuKTsNCglpZiAocmV0KQ0KCQlyZXR1cm4gcmV0Ow0KDQoJaGVuYSA9ICh1 aW50NjRfdClpNDBlX3JlYWRfcnhfY3RsKGh3LCBJNDBFX1BGUUZfSEVOQSgwKSk7DQoJaGVuYSB8 PSAoKHVpbnQ2NF90KWk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0MEVfUEZRRl9IRU5BKDEpKSkgPDwg MzI7DQoJcnNzX2NvbmYtPnJzc19oZiA9IGk0MGVfcGFyc2VfaGVuYShwZi0+YWRhcHRlciwgaGVu YSk7DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfZ2V0X2ZpbHRlcl90 eXBlKHVpbnQxNl90IGZpbHRlcl90eXBlLCB1aW50MTZfdCAqZmxhZykNCnsNCglzd2l0Y2ggKGZp bHRlcl90eXBlKSB7DQoJY2FzZSBSVEVfVFVOTkVMX0ZJTFRFUl9JTUFDX0lWTEFOOg0KCQkqZmxh ZyA9IEk0MEVfQVFDX0FERF9DTE9VRF9GSUxURVJfSU1BQ19JVkxBTjsNCgkJYnJlYWs7DQoJY2Fz ZSBSVEVfVFVOTkVMX0ZJTFRFUl9JTUFDX0lWTEFOX1RFTklEOg0KCQkqZmxhZyA9IEk0MEVfQVFD X0FERF9DTE9VRF9GSUxURVJfSU1BQ19JVkxBTl9URU5fSUQ7DQoJCWJyZWFrOw0KCWNhc2UgUlRF X1RVTk5FTF9GSUxURVJfSU1BQ19URU5JRDoNCgkJKmZsYWcgPSBJNDBFX0FRQ19BRERfQ0xPVURf RklMVEVSX0lNQUNfVEVOX0lEOw0KCQlicmVhazsNCgljYXNlIFJURV9UVU5ORUxfRklMVEVSX09N QUNfVEVOSURfSU1BQzoNCgkJKmZsYWcgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSX09NQUNf VEVOX0lEX0lNQUM7DQoJCWJyZWFrOw0KCWNhc2UgRVRIX1RVTk5FTF9GSUxURVJfSU1BQzoNCgkJ KmZsYWcgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSX0lNQUM7DQoJCWJyZWFrOw0KCWNhc2Ug RVRIX1RVTk5FTF9GSUxURVJfT0lQOg0KCQkqZmxhZyA9IEk0MEVfQVFDX0FERF9DTE9VRF9GSUxU RVJfT0lQOw0KCQlicmVhazsNCgljYXNlIEVUSF9UVU5ORUxfRklMVEVSX0lJUDoNCgkJKmZsYWcg PSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSX0lJUDsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJ UE1EX0RSVl9MT0coRVJSLCAiaW52YWxpZCB0dW5uZWwgZmlsdGVyIHR5cGUiKTsNCgkJcmV0dXJu IC1FSU5WQUw7DQoJfQ0KDQoJcmV0dXJuIDA7DQp9DQoNCi8qIENvbnZlcnQgdHVubmVsIGZpbHRl ciBzdHJ1Y3R1cmUgKi8NCnN0YXRpYyBpbnQNCmk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KA0K CXN0cnVjdCBpNDBlX2FxY19jbG91ZF9maWx0ZXJzX2VsZW1lbnRfYmIgKmNsZF9maWx0ZXIsDQoJ c3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVsX2ZpbHRlcikNCnsNCglydGVfZXRoZXJf YWRkcl9jb3B5KChzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKikNCgkJCSZjbGRfZmlsdGVyLT5lbGVt ZW50Lm91dGVyX21hYywNCgkJKHN0cnVjdCBydGVfZXRoZXJfYWRkciAqKSZ0dW5uZWxfZmlsdGVy LT5pbnB1dC5vdXRlcl9tYWMpOw0KCXJ0ZV9ldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBydGVfZXRo ZXJfYWRkciAqKQ0KCQkJJmNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjLA0KCQkoc3RydWN0 IHJ0ZV9ldGhlcl9hZGRyICopJnR1bm5lbF9maWx0ZXItPmlucHV0LmlubmVyX21hYyk7DQoJdHVu bmVsX2ZpbHRlci0+aW5wdXQuaW5uZXJfdmxhbiA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJf dmxhbjsNCglpZiAoKHJ0ZV9sZV90b19jcHVfMTYoY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFncykg Jg0KCSAgICAgSTQwRV9BUUNfQUREX0NMT1VEX0ZMQUdTX0lQVjYpID09DQoJICAgIEk0MEVfQVFD X0FERF9DTE9VRF9GTEFHU19JUFY2KQ0KCQl0dW5uZWxfZmlsdGVyLT5pbnB1dC5pcF90eXBlID0g STQwRV9UVU5ORUxfSVBUWVBFX0lQVjY7DQoJZWxzZQ0KCQl0dW5uZWxfZmlsdGVyLT5pbnB1dC5p cF90eXBlID0gSTQwRV9UVU5ORUxfSVBUWVBFX0lQVjQ7DQoJdHVubmVsX2ZpbHRlci0+aW5wdXQu ZmxhZ3MgPSBjbGRfZmlsdGVyLT5lbGVtZW50LmZsYWdzOw0KCXR1bm5lbF9maWx0ZXItPmlucHV0 LnRlbmFudF9pZCA9IGNsZF9maWx0ZXItPmVsZW1lbnQudGVuYW50X2lkOw0KCXR1bm5lbF9maWx0 ZXItPnF1ZXVlID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXI7DQoJcnRlX21lbWNw eSh0dW5uZWxfZmlsdGVyLT5pbnB1dC5nZW5lcmFsX2ZpZWxkcywNCgkJICAgY2xkX2ZpbHRlci0+ Z2VuZXJhbF9maWVsZHMsDQoJCSAgIHNpemVvZihjbGRfZmlsdGVyLT5nZW5lcmFsX2ZpZWxkcykp Ow0KDQoJcmV0dXJuIDA7DQp9DQoNCi8qIENoZWNrIGlmIHRoZXJlIGV4aXN0cyB0aGUgdHVubmVs IGZpbHRlciAqLw0Kc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqDQppNDBlX3N3X3R1bm5lbF9m aWx0ZXJfbG9va3VwKHN0cnVjdCBpNDBlX3R1bm5lbF9ydWxlICp0dW5uZWxfcnVsZSwNCgkJCSAg ICAgY29uc3Qgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlcl9pbnB1dCAqaW5wdXQpDQp7DQoJaW50 IHJldDsNCg0KCXJldCA9IHJ0ZV9oYXNoX2xvb2t1cCh0dW5uZWxfcnVsZS0+aGFzaF90YWJsZSwg KGNvbnN0IHZvaWQgKilpbnB1dCk7DQoJaWYgKHJldCA8IDApDQoJCXJldHVybiBOVUxMOw0KDQoJ cmV0dXJuIHR1bm5lbF9ydWxlLT5oYXNoX21hcFtyZXRdOw0KfQ0KDQovKiBBZGQgYSB0dW5uZWwg ZmlsdGVyIGludG8gdGhlIFNXIGxpc3QgKi8NCnN0YXRpYyBpbnQNCmk0MGVfc3dfdHVubmVsX2Zp bHRlcl9pbnNlcnQoc3RydWN0IGk0MGVfcGYgKnBmLA0KCQkJICAgICBzdHJ1Y3QgaTQwZV90dW5u ZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKQ0Kew0KCXN0cnVjdCBpNDBlX3R1bm5lbF9ydWxlICpy dWxlID0gJnBmLT50dW5uZWw7DQoJaW50IHJldDsNCg0KCXJldCA9IHJ0ZV9oYXNoX2FkZF9rZXko cnVsZS0+aGFzaF90YWJsZSwgJnR1bm5lbF9maWx0ZXItPmlucHV0KTsNCglpZiAocmV0IDwgMCkg ew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkgICAgIkZhaWxlZCB0byBpbnNlcnQgdHVubmVsIGZp bHRlciB0byBoYXNoIHRhYmxlICVkISIsDQoJCQkgICAgcmV0KTsNCgkJcmV0dXJuIHJldDsNCgl9 DQoJcnVsZS0+aGFzaF9tYXBbcmV0XSA9IHR1bm5lbF9maWx0ZXI7DQoNCglUQUlMUV9JTlNFUlRf VEFJTCgmcnVsZS0+dHVubmVsX2xpc3QsIHR1bm5lbF9maWx0ZXIsIHJ1bGVzKTsNCg0KCXJldHVy biAwOw0KfQ0KDQovKiBEZWxldGUgYSB0dW5uZWwgZmlsdGVyIGZyb20gdGhlIFNXIGxpc3QgKi8N CmludA0KaTQwZV9zd190dW5uZWxfZmlsdGVyX2RlbChzdHJ1Y3QgaTQwZV9wZiAqcGYsDQoJCQkg IHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXJfaW5wdXQgKmlucHV0KQ0Kew0KCXN0cnVjdCBpNDBl X3R1bm5lbF9ydWxlICpydWxlID0gJnBmLT50dW5uZWw7DQoJc3RydWN0IGk0MGVfdHVubmVsX2Zp bHRlciAqdHVubmVsX2ZpbHRlcjsNCglpbnQgcmV0Ow0KDQoJcmV0ID0gcnRlX2hhc2hfZGVsX2tl eShydWxlLT5oYXNoX3RhYmxlLCBpbnB1dCk7DQoJaWYgKHJldCA8IDApIHsNCgkJUE1EX0RSVl9M T0coRVJSLA0KCQkJICAgICJGYWlsZWQgdG8gZGVsZXRlIHR1bm5lbCBmaWx0ZXIgdG8gaGFzaCB0 YWJsZSAlZCEiLA0KCQkJICAgIHJldCk7DQoJCXJldHVybiByZXQ7DQoJfQ0KCXR1bm5lbF9maWx0 ZXIgPSBydWxlLT5oYXNoX21hcFtyZXRdOw0KCXJ1bGUtPmhhc2hfbWFwW3JldF0gPSBOVUxMOw0K DQoJVEFJTFFfUkVNT1ZFKCZydWxlLT50dW5uZWxfbGlzdCwgdHVubmVsX2ZpbHRlciwgcnVsZXMp Ow0KCXJ0ZV9mcmVlKHR1bm5lbF9maWx0ZXIpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCmludA0KaTQw ZV9kZXZfdHVubmVsX2ZpbHRlcl9zZXQoc3RydWN0IGk0MGVfcGYgKnBmLA0KCQkJc3RydWN0IHJ0 ZV9ldGhfdHVubmVsX2ZpbHRlcl9jb25mICp0dW5uZWxfZmlsdGVyLA0KCQkJdWludDhfdCBhZGQp DQp7DQoJdWludDE2X3QgaXBfdHlwZTsNCgl1aW50MzJfdCBpcHY0X2FkZHIsIGlwdjRfYWRkcl9s ZTsNCgl1aW50OF90IGksIHR1bl90eXBlID0gMDsNCgkvKiBpbnRlcm5hbCB2YXJpYWxiZSB0byBj b252ZXJ0IGlwdjYgYnl0ZSBvcmRlciAqLw0KCXVpbnQzMl90IGNvbnZlcnRfaXB2Nls0XTsNCglp bnQgdmFsLCByZXQgPSAwOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYp Ow0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpID0gcGYtPm1haW5fdnNpOw0KCXN0cnVjdCBpNDBlX2Fx Y19jbG91ZF9maWx0ZXJzX2VsZW1lbnRfYmIgKmNsZF9maWx0ZXI7DQoJc3RydWN0IGk0MGVfYXFj X2Nsb3VkX2ZpbHRlcnNfZWxlbWVudF9iYiAqcGZpbHRlcjsNCglzdHJ1Y3QgaTQwZV90dW5uZWxf cnVsZSAqdHVubmVsX3J1bGUgPSAmcGYtPnR1bm5lbDsNCglzdHJ1Y3QgaTQwZV90dW5uZWxfZmls dGVyICp0dW5uZWwsICpub2RlOw0KCXN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgY2hlY2tfZmls dGVyOyAvKiBDaGVjayBpZiBmaWx0ZXIgZXhpc3RzICovDQoNCgljbGRfZmlsdGVyID0gcnRlX3pt YWxsb2MoInR1bm5lbF9maWx0ZXIiLA0KCQkJIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQpLA0KCTApOw0KDQoJaWYgKE5VTEwgPT0gY2xkX2ZpbHRlcikg ew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gYWxsb2MgbWVtb3J5LiIpOw0KCQlyZXR1 cm4gLUVOT01FTTsNCgl9DQoJcGZpbHRlciA9IGNsZF9maWx0ZXI7DQoNCglydGVfZXRoZXJfYWRk cl9jb3B5KCZ0dW5uZWxfZmlsdGVyLT5vdXRlcl9tYWMsDQoJCQkoc3RydWN0IHJ0ZV9ldGhlcl9h ZGRyICopJnBmaWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjKTsNCglydGVfZXRoZXJfYWRkcl9jb3B5 KCZ0dW5uZWxfZmlsdGVyLT5pbm5lcl9tYWMsDQoJCQkoc3RydWN0IHJ0ZV9ldGhlcl9hZGRyICop JnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsNCg0KCXBmaWx0ZXItPmVsZW1lbnQuaW5uZXJf dmxhbiA9DQoJCXJ0ZV9jcHVfdG9fbGVfMTYodHVubmVsX2ZpbHRlci0+aW5uZXJfdmxhbik7DQoJ aWYgKHR1bm5lbF9maWx0ZXItPmlwX3R5cGUgPT0gUlRFX1RVTk5FTF9JUFRZUEVfSVBWNCkgew0K CQlpcF90eXBlID0gSTQwRV9BUUNfQUREX0NMT1VEX0ZMQUdTX0lQVjQ7DQoJCWlwdjRfYWRkciA9 IHJ0ZV9iZV90b19jcHVfMzIodHVubmVsX2ZpbHRlci0+aXBfYWRkci5pcHY0X2FkZHIpOw0KCQlp cHY0X2FkZHJfbGUgPSBydGVfY3B1X3RvX2xlXzMyKGlwdjRfYWRkcik7DQoJCXJ0ZV9tZW1jcHko JnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEsDQoJCQkJJmlwdjRfYWRkcl9sZSwNCgkJ CQlzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSkpOw0KCX0gZWxzZSB7DQoJ CWlwX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRkxBR1NfSVBWNjsNCgkJZm9yIChpID0gMDsg aSA8IDQ7IGkrKykgew0KCQkJY29udmVydF9pcHY2W2ldID0NCgkJCXJ0ZV9jcHVfdG9fbGVfMzIo cnRlX2JlX3RvX2NwdV8zMih0dW5uZWxfZmlsdGVyLT5pcF9hZGRyLmlwdjZfYWRkcltpXSkpOw0K CQl9DQoJCXJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEsDQoJCQkg ICAmY29udmVydF9pcHY2LA0KCQkJICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2 LmRhdGEpKTsNCgl9DQoNCgkvKiBjaGVjayB0dW5uZWxlZCB0eXBlICovDQoJc3dpdGNoICh0dW5u ZWxfZmlsdGVyLT50dW5uZWxfdHlwZSkgew0KCWNhc2UgUlRFX1RVTk5FTF9UWVBFX1ZYTEFOOg0K CQl0dW5fdHlwZSA9IEk0MEVfQVFDX0FERF9DTE9VRF9UTkxfVFlQRV9WWExBTjsNCgkJYnJlYWs7 DQoJY2FzZSBSVEVfVFVOTkVMX1RZUEVfTlZHUkU6DQoJCXR1bl90eXBlID0gSTQwRV9BUUNfQURE X0NMT1VEX1ROTF9UWVBFX05WR1JFX09NQUM7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX1RVTk5FTF9U WVBFX0lQX0lOX0dSRToNCgkJdHVuX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfVE5MX1RZUEVf SVA7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX1RVTk5FTF9UWVBFX1ZYTEFOX0dQRToNCgkJdHVuX3R5 cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfVE5MX1RZUEVfVlhMQU5fR1BFOw0KCQlicmVhazsNCglk ZWZhdWx0Og0KCQkvKiBPdGhlciB0dW5uZWwgdHlwZXMgaXMgbm90IHN1cHBvcnRlZC4gKi8NCgkJ UE1EX0RSVl9MT0coRVJSLCAidHVubmVsIHR5cGUgaXMgbm90IHN1cHBvcnRlZC4iKTsNCgkJcnRl X2ZyZWUoY2xkX2ZpbHRlcik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCg0KCXZhbCA9IGk0MGVf ZGV2X2dldF9maWx0ZXJfdHlwZSh0dW5uZWxfZmlsdGVyLT5maWx0ZXJfdHlwZSwNCgkJCQkgICAg ICAgJnBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MpOw0KCWlmICh2YWwgPCAwKSB7DQoJCXJ0ZV9mcmVl KGNsZF9maWx0ZXIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglwZmlsdGVyLT5lbGVtZW50 LmZsYWdzIHw9IHJ0ZV9jcHVfdG9fbGVfMTYoDQoJCUk0MEVfQVFDX0FERF9DTE9VRF9GTEFHU19U T19RVUVVRSB8DQoJCWlwX3R5cGUgfCAodHVuX3R5cGUgPDwgSTQwRV9BUUNfQUREX0NMT1VEX1RO TF9UWVBFX1NISUZUKSk7DQoJcGZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQgPSBydGVfY3B1X3Rv X2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFudF9pZCk7DQoJcGZpbHRlci0+ZWxlbWVudC5xdWV1 ZV9udW1iZXIgPQ0KCQlydGVfY3B1X3RvX2xlXzE2KHR1bm5lbF9maWx0ZXItPnF1ZXVlX2lkKTsN Cg0KCS8qIENoZWNrIGlmIHRoZXJlIGlzIHRoZSBmaWx0ZXIgaW4gU1cgbGlzdCAqLw0KCW1lbXNl dCgmY2hlY2tfZmlsdGVyLCAwLCBzaXplb2YoY2hlY2tfZmlsdGVyKSk7DQoJaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnQoY2xkX2ZpbHRlciwgJmNoZWNrX2ZpbHRlcik7DQoJbm9kZSA9IGk0MGVf c3dfdHVubmVsX2ZpbHRlcl9sb29rdXAodHVubmVsX3J1bGUsICZjaGVja19maWx0ZXIuaW5wdXQp Ow0KCWlmIChhZGQgJiYgbm9kZSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJDb25mbGljdCB3aXRo IGV4aXN0aW5nIHR1bm5lbCBydWxlcyEiKTsNCgkJcnRlX2ZyZWUoY2xkX2ZpbHRlcik7DQoJCXJl dHVybiAtRUlOVkFMOw0KCX0NCg0KCWlmICghYWRkICYmICFub2RlKSB7DQoJCVBNRF9EUlZfTE9H KEVSUiwgIlRoZXJlJ3Mgbm8gY29ycmVzcG9uZGluZyB0dW5uZWwgZmlsdGVyISIpOw0KCQlydGVf ZnJlZShjbGRfZmlsdGVyKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKGFkZCkgew0K CQlyZXQgPSBpNDBlX2FxX2FkZF9jbG91ZF9maWx0ZXJzKGh3LA0KCQkJCQl2c2ktPnNlaWQsICZj bGRfZmlsdGVyLT5lbGVtZW50LCAxKTsNCgkJaWYgKHJldCA8IDApIHsNCgkJCVBNRF9EUlZfTE9H KEVSUiwgIkZhaWxlZCB0byBhZGQgYSB0dW5uZWwgZmlsdGVyLiIpOw0KCQkJcnRlX2ZyZWUoY2xk X2ZpbHRlcik7DQoJCQlyZXR1cm4gLUVOT1RTVVA7DQoJCX0NCgkJdHVubmVsID0gcnRlX3ptYWxs b2MoInR1bm5lbF9maWx0ZXIiLCBzaXplb2YoKnR1bm5lbCksIDApOw0KCQlpZiAodHVubmVsID09 IE5VTEwpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvYyBtZW1vcnkuIik7 DQoJCQlydGVfZnJlZShjbGRfZmlsdGVyKTsNCgkJCXJldHVybiAtRU5PTUVNOw0KCQl9DQoNCgkJ cnRlX21lbWNweSh0dW5uZWwsICZjaGVja19maWx0ZXIsIHNpemVvZihjaGVja19maWx0ZXIpKTsN CgkJcmV0ID0gaTQwZV9zd190dW5uZWxfZmlsdGVyX2luc2VydChwZiwgdHVubmVsKTsNCgkJaWYg KHJldCA8IDApDQoJCQlydGVfZnJlZSh0dW5uZWwpOw0KCX0gZWxzZSB7DQoJCXJldCA9IGk0MGVf YXFfcmVtX2Nsb3VkX2ZpbHRlcnMoaHcsIHZzaS0+c2VpZCwNCgkJCQkJCSAgICZjbGRfZmlsdGVy LT5lbGVtZW50LCAxKTsNCgkJaWYgKHJldCA8IDApIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIkZh aWxlZCB0byBkZWxldGUgYSB0dW5uZWwgZmlsdGVyLiIpOw0KCQkJcnRlX2ZyZWUoY2xkX2ZpbHRl cik7DQoJCQlyZXR1cm4gLUVOT1RTVVA7DQoJCX0NCgkJcmV0ID0gaTQwZV9zd190dW5uZWxfZmls dGVyX2RlbChwZiwgJm5vZGUtPmlucHV0KTsNCgl9DQoNCglydGVfZnJlZShjbGRfZmlsdGVyKTsN CglyZXR1cm4gcmV0Ow0KfQ0KDQojZGVmaW5lIEk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lO UFVUX1RSX1dPUkQwIDB4NDgNCiNkZWZpbmUgSTQwRV9UUl9WWExBTl9HUkVfS0VZX01BU0sJCTB4 NA0KI2RlZmluZSBJNDBFX1RSX0dFTkVWRV9LRVlfTUFTSwkJCTB4OA0KI2RlZmluZSBJNDBFX1RS X0dFTkVSSUNfVURQX1RVTk5FTF9NQVNLCQkweDQwDQojZGVmaW5lIEk0MEVfVFJfR1JFX0tFWV9N QVNLCQkJMHg0MDANCiNkZWZpbmUgSTQwRV9UUl9HUkVfS0VZX1dJVEhfWFNVTV9NQVNLCQkweDgw MA0KI2RlZmluZSBJNDBFX1RSX0dSRV9OT19LRVlfTUFTSwkJCTB4ODAwMA0KDQpzdGF0aWMgZW51 bQ0KaTQwZV9zdGF0dXNfY29kZSBpNDBlX3JlcGxhY2VfbXBsc19sMV9maWx0ZXIoc3RydWN0IGk0 MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21k ICBmaWx0ZXJfcmVwbGFjZTsNCglzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJz X2NtZF9idWYgIGZpbHRlcl9yZXBsYWNlX2J1ZjsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBF X1BGX1RPX0hXKHBmKTsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICgoc3RydWN0IGk0MGVf YWRhcHRlciAqKWh3LT5iYWNrKS0+ZXRoX2RldjsNCgllbnVtIGk0MGVfc3RhdHVzX2NvZGUgc3Rh dHVzID0gSTQwRV9TVUNDRVNTOw0KDQoJaWYgKHBmLT5zdXBwb3J0X211bHRpX2RyaXZlcikgew0K CQlQTURfRFJWX0xPRyhFUlIsICJSZXBsYWNlIGwxIGZpbHRlciBpcyBub3Qgc3VwcG9ydGVkLiIp Ow0KCQlyZXR1cm4gSTQwRV9OT1RfU1VQUE9SVEVEOw0KCX0NCg0KCW1lbXNldCgmZmlsdGVyX3Jl cGxhY2UsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9m aWx0ZXJzX2NtZCkpOw0KCW1lbXNldCgmZmlsdGVyX3JlcGxhY2VfYnVmLCAwLA0KCSAgICAgICBz aXplb2Yoc3RydWN0IGk0MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWRfYnVmKSk7DQoN CgkvKiBjcmVhdGUgTDEgZmlsdGVyICovDQoJZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90eXBl ID0NCgkJSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfSU1BQzsNCglmaWx0ZXJf cmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfTDFfRklMVEVSXzBYMTE7DQoJ ZmlsdGVyX3JlcGxhY2UudHJfYml0ID0gMDsNCg0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMyBl bnRyaWVzICovDQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbMF0gPQ0KCQlJNDBFX0FRQ19SRVBM QUNFX0NMT1VEX0NNRF9JTlBVVF9GVl9URUlEX1dPUkQwOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5k YXRhWzBdIHw9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lOUFVUX1ZBTElEQVRFRDsN CglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVsyXSA9IDB4RkY7DQoJZmlsdGVyX3JlcGxhY2VfYnVm LmRhdGFbM10gPSAweEZGOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRdID0NCgkJSTQwRV9B UUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfVEVJRF9XT1JEMTsNCglmaWx0ZXJfcmVwbGFj ZV9idWYuZGF0YVs0XSB8PQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJ REFURUQ7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbN10gPSAweEYwOw0KCWZpbHRlcl9yZXBs YWNlX2J1Zi5kYXRhWzhdDQoJCT0gSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfVFJf V09SRDA7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbOF0gfD0NCgkJSTQwRV9BUUNfUkVQTEFD RV9DTE9VRF9DTURfSU5QVVRfVkFMSURBVEVEOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzEw XSA9IEk0MEVfVFJfVlhMQU5fR1JFX0tFWV9NQVNLIHwNCgkJSTQwRV9UUl9HRU5FVkVfS0VZX01B U0sgfA0KCQlJNDBFX1RSX0dFTkVSSUNfVURQX1RVTk5FTF9NQVNLOw0KCWZpbHRlcl9yZXBsYWNl X2J1Zi5kYXRhWzExXSA9IChJNDBFX1RSX0dSRV9LRVlfTUFTSyB8DQoJCUk0MEVfVFJfR1JFX0tF WV9XSVRIX1hTVU1fTUFTSyB8DQoJCUk0MEVfVFJfR1JFX05PX0tFWV9NQVNLKSA+PiA4Ow0KDQoJ c3RhdHVzID0gaTQwZV9hcV9yZXBsYWNlX2Nsb3VkX2ZpbHRlcnMoaHcsICZmaWx0ZXJfcmVwbGFj ZSwNCgkJCQkJICAgICAgICZmaWx0ZXJfcmVwbGFjZV9idWYpOw0KCWlmICghc3RhdHVzICYmIChm aWx0ZXJfcmVwbGFjZS5vbGRfZmlsdGVyX3R5cGUgIT0NCgkJCWZpbHRlcl9yZXBsYWNlLm5ld19m aWx0ZXJfdHlwZSkpDQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJpNDBlIGRldmljZSAlcyBjaGFu Z2VkIGNsb3VkIGwxIHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzogMHgleCIs DQoJCQkgICAgZGV2LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uub2xkX2Zp bHRlcl90eXBlLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7DQoNCgly ZXR1cm4gc3RhdHVzOw0KfQ0KDQpzdGF0aWMgZW51bQ0KaTQwZV9zdGF0dXNfY29kZSBpNDBlX3Jl cGxhY2VfbXBsc19jbG91ZF9maWx0ZXIoc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBp NDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21kICBmaWx0ZXJfcmVwbGFjZTsNCglzdHJ1 Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJzX2NtZF9idWYgIGZpbHRlcl9yZXBsYWNl X2J1ZjsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RPX0hXKHBmKTsNCglzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiA9ICgoc3RydWN0IGk0MGVfYWRhcHRlciAqKWh3LT5iYWNrKS0+ZXRo X2RldjsNCgllbnVtIGk0MGVfc3RhdHVzX2NvZGUgc3RhdHVzID0gSTQwRV9TVUNDRVNTOw0KDQoJ aWYgKHBmLT5zdXBwb3J0X211bHRpX2RyaXZlcikgew0KCQlQTURfRFJWX0xPRyhFUlIsICJSZXBs YWNlIGNsb3VkIGZpbHRlciBpcyBub3Qgc3VwcG9ydGVkLiIpOw0KCQlyZXR1cm4gSTQwRV9OT1Rf U1VQUE9SVEVEOw0KCX0NCg0KCS8qIEZvciBNUExTb1VEUCAqLw0KCW1lbXNldCgmZmlsdGVyX3Jl cGxhY2UsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9m aWx0ZXJzX2NtZCkpOw0KCW1lbXNldCgmZmlsdGVyX3JlcGxhY2VfYnVmLCAwLA0KCSAgICAgICBz aXplb2Yoc3RydWN0IGk0MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWRfYnVmKSk7DQoJ ZmlsdGVyX3JlcGxhY2UudmFsaWRfZmxhZ3MgPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0ZJTFRF UiB8DQoJCUk0MEVfQVFDX01JUlJPUl9DTE9VRF9GSUxURVI7DQoJZmlsdGVyX3JlcGxhY2Uub2xk X2ZpbHRlcl90eXBlID0gSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl9JSVA7DQoJZmlsdGVyX3Jl cGxhY2UubmV3X2ZpbHRlcl90eXBlID0NCgkJSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl8wWDEx Ow0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMiBlbnRyaWVzICovDQoJZmlsdGVyX3JlcGxhY2Vf YnVmLmRhdGFbMF0gPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9GVl9TVEFHOw0K CWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzBdIHw9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xPVURf Q01EX0lOUFVUX1ZBTElEQVRFRDsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVs0XSA9IEk0MEVf QVFDX0FERF9MMV9GSUxURVJfMFgxMTsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVs0XSB8PQ0K CQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7DQoJc3RhdHVzID0g aTQwZV9hcV9yZXBsYWNlX2Nsb3VkX2ZpbHRlcnMoaHcsICZmaWx0ZXJfcmVwbGFjZSwNCgkJCQkJ ICAgICAgICZmaWx0ZXJfcmVwbGFjZV9idWYpOw0KCWlmIChzdGF0dXMgPCAwKQ0KCQlyZXR1cm4g c3RhdHVzOw0KCWlmIChmaWx0ZXJfcmVwbGFjZS5vbGRfZmlsdGVyX3R5cGUgIT0NCgkgICAgZmls dGVyX3JlcGxhY2UubmV3X2ZpbHRlcl90eXBlKQ0KCQlQTURfRFJWX0xPRyhXQVJOSU5HLCAiaTQw ZSBkZXZpY2UgJXMgY2hhbmdlZCBjbG91ZCBmaWx0ZXIgdHlwZS4iDQoJCQkgICAgIiBvcmlnaW5h bDogMHgleCwgbmV3OiAweCV4IiwNCgkJCSAgICBkZXYtPmRldmljZS0+bmFtZSwNCgkJCSAgICBm aWx0ZXJfcmVwbGFjZS5vbGRfZmlsdGVyX3R5cGUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2UubmV3 X2ZpbHRlcl90eXBlKTsNCg0KCS8qIEZvciBNUExTb0dSRSAqLw0KCW1lbXNldCgmZmlsdGVyX3Jl cGxhY2UsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9m aWx0ZXJzX2NtZCkpOw0KCW1lbXNldCgmZmlsdGVyX3JlcGxhY2VfYnVmLCAwLA0KCSAgICAgICBz aXplb2Yoc3RydWN0IGk0MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWRfYnVmKSk7DQoN CglmaWx0ZXJfcmVwbGFjZS52YWxpZF9mbGFncyA9IEk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfRklM VEVSIHwNCgkJSTQwRV9BUUNfTUlSUk9SX0NMT1VEX0ZJTFRFUjsNCglmaWx0ZXJfcmVwbGFjZS5v bGRfZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSX0lNQUM7DQoJZmlsdGVy X3JlcGxhY2UubmV3X2ZpbHRlcl90eXBlID0NCgkJSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl8w WDEyOw0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMiBlbnRyaWVzICovDQoJZmlsdGVyX3JlcGxh Y2VfYnVmLmRhdGFbMF0gPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9GVl9TVEFH Ow0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzBdIHw9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xP VURfQ01EX0lOUFVUX1ZBTElEQVRFRDsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVs0XSA9IEk0 MEVfQVFDX0FERF9MMV9GSUxURVJfMFgxMTsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVs0XSB8 PQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7DQoNCglzdGF0 dXMgPSBpNDBlX2FxX3JlcGxhY2VfY2xvdWRfZmlsdGVycyhodywgJmZpbHRlcl9yZXBsYWNlLA0K CQkJCQkgICAgICAgJmZpbHRlcl9yZXBsYWNlX2J1Zik7DQoJaWYgKCFzdGF0dXMgJiYgKGZpbHRl cl9yZXBsYWNlLm9sZF9maWx0ZXJfdHlwZSAhPQ0KCQkJZmlsdGVyX3JlcGxhY2UubmV3X2ZpbHRl cl90eXBlKSkNCgkJUE1EX0RSVl9MT0coV0FSTklORywgImk0MGUgZGV2aWNlICVzIGNoYW5nZWQg Y2xvdWQgZmlsdGVyIHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzogMHgleCIs DQoJCQkgICAgZGV2LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uub2xkX2Zp bHRlcl90eXBlLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7DQoNCgly ZXR1cm4gc3RhdHVzOw0KfQ0KDQpzdGF0aWMgZW51bSBpNDBlX3N0YXR1c19jb2RlDQppNDBlX3Jl cGxhY2VfZ3RwX2wxX2ZpbHRlcihzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0IGk0MGVf YXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWQgIGZpbHRlcl9yZXBsYWNlOw0KCXN0cnVjdCBp NDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21kX2J1ZiAgZmlsdGVyX3JlcGxhY2VfYnVm Ow0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBydGVf ZXRoX2RldiAqZGV2ID0gKChzdHJ1Y3QgaTQwZV9hZGFwdGVyICopaHctPmJhY2spLT5ldGhfZGV2 Ow0KCWVudW0gaTQwZV9zdGF0dXNfY29kZSBzdGF0dXMgPSBJNDBFX1NVQ0NFU1M7DQoNCglpZiAo cGYtPnN1cHBvcnRfbXVsdGlfZHJpdmVyKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIlJlcGxhY2Ug bDEgZmlsdGVyIGlzIG5vdCBzdXBwb3J0ZWQuIik7DQoJCXJldHVybiBJNDBFX05PVF9TVVBQT1JU RUQ7DQoJfQ0KDQoJLyogRm9yIEdUUC1DICovDQoJbWVtc2V0KCZmaWx0ZXJfcmVwbGFjZSwgMCwN CgkgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21k KSk7DQoJbWVtc2V0KCZmaWx0ZXJfcmVwbGFjZV9idWYsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1 Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJzX2NtZF9idWYpKTsNCgkvKiBjcmVhdGUg TDEgZmlsdGVyICovDQoJZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90eXBlID0NCgkJSTQwRV9B UUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfSU1BQzsNCglmaWx0ZXJfcmVwbGFjZS5uZXdf ZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfTDFfRklMVEVSXzBYMTI7DQoJZmlsdGVyX3JlcGxh Y2UudHJfYml0ID0gSTQwRV9BUUNfTkVXX1RSXzIyIHwNCgkJSTQwRV9BUUNfUkVQTEFDRV9DTE9V RF9DTURfSU5QVVRfVkFMSURBVEVEOw0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMiBlbnRyaWVz ICovDQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbMF0gPQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NM T1VEX0NNRF9JTlBVVF9GVl9URUlEX1dPUkQwOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzBd IHw9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lOUFVUX1ZBTElEQVRFRDsNCglmaWx0 ZXJfcmVwbGFjZV9idWYuZGF0YVsyXSA9IDB4RkY7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFb M10gPSAweEZGOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRdID0NCgkJSTQwRV9BUUNfUkVQ TEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfVEVJRF9XT1JEMTsNCglmaWx0ZXJfcmVwbGFjZV9idWYu ZGF0YVs0XSB8PQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7 DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbNl0gPSAweEZGOw0KCWZpbHRlcl9yZXBsYWNlX2J1 Zi5kYXRhWzddID0gMHhGRjsNCglzdGF0dXMgPSBpNDBlX2FxX3JlcGxhY2VfY2xvdWRfZmlsdGVy cyhodywgJmZpbHRlcl9yZXBsYWNlLA0KCQkJCQkgICAgICAgJmZpbHRlcl9yZXBsYWNlX2J1Zik7 DQoJaWYgKHN0YXR1cyA8IDApDQoJCXJldHVybiBzdGF0dXM7DQoJaWYgKGZpbHRlcl9yZXBsYWNl Lm9sZF9maWx0ZXJfdHlwZSAhPQ0KCSAgICBmaWx0ZXJfcmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUp DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJpNDBlIGRldmljZSAlcyBjaGFuZ2VkIGNsb3VkIGwx IHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzogMHgleCIsDQoJCQkgICAgZGV2 LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90eXBlLA0K CQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7DQoNCgkvKiBmb3IgR1RQLVUg Ki8NCgltZW1zZXQoJmZpbHRlcl9yZXBsYWNlLCAwLA0KCSAgICAgICBzaXplb2Yoc3RydWN0IGk0 MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWQpKTsNCgltZW1zZXQoJmZpbHRlcl9yZXBs YWNlX2J1ZiwgMCwNCgkgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3Vk X2ZpbHRlcnNfY21kX2J1ZikpOw0KCS8qIGNyZWF0ZSBMMSBmaWx0ZXIgKi8NCglmaWx0ZXJfcmVw bGFjZS5vbGRfZmlsdGVyX3R5cGUgPQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBV VF9GVl9UVU5OTEVfS0VZOw0KCWZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSA9IEk0MEVf QVFDX0FERF9MMV9GSUxURVJfMFgxMzsNCglmaWx0ZXJfcmVwbGFjZS50cl9iaXQgPSBJNDBFX0FR Q19ORVdfVFJfMjEgfA0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFU RUQ7DQoJLyogUHJlcGFyZSB0aGUgYnVmZmVyLCAyIGVudHJpZXMgKi8NCglmaWx0ZXJfcmVwbGFj ZV9idWYuZGF0YVswXSA9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lOUFVUX0ZWX1RF SURfV09SRDA7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbMF0gfD0NCgkJSTQwRV9BUUNfUkVQ TEFDRV9DTE9VRF9DTURfSU5QVVRfVkFMSURBVEVEOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRh WzJdID0gMHhGRjsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVszXSA9IDB4RkY7DQoJZmlsdGVy X3JlcGxhY2VfYnVmLmRhdGFbNF0gPQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBV VF9GVl9URUlEX1dPUkQxOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRdIHw9DQoJCUk0MEVf QVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lOUFVUX1ZBTElEQVRFRDsNCglmaWx0ZXJfcmVwbGFjZV9i dWYuZGF0YVs2XSA9IDB4RkY7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbN10gPSAweEZGOw0K DQoJc3RhdHVzID0gaTQwZV9hcV9yZXBsYWNlX2Nsb3VkX2ZpbHRlcnMoaHcsICZmaWx0ZXJfcmVw bGFjZSwNCgkJCQkJICAgICAgICZmaWx0ZXJfcmVwbGFjZV9idWYpOw0KCWlmICghc3RhdHVzICYm IChmaWx0ZXJfcmVwbGFjZS5vbGRfZmlsdGVyX3R5cGUgIT0NCgkJCWZpbHRlcl9yZXBsYWNlLm5l d19maWx0ZXJfdHlwZSkpDQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJpNDBlIGRldmljZSAlcyBj aGFuZ2VkIGNsb3VkIGwxIHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzogMHgl eCIsDQoJCQkgICAgZGV2LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uub2xk X2ZpbHRlcl90eXBlLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7DQoN CglyZXR1cm4gc3RhdHVzOw0KfQ0KDQpzdGF0aWMgZW51bQ0KaTQwZV9zdGF0dXNfY29kZSBpNDBl X3JlcGxhY2VfZ3RwX2Nsb3VkX2ZpbHRlcihzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0 IGk0MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWQgIGZpbHRlcl9yZXBsYWNlOw0KCXN0 cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21kX2J1ZiAgZmlsdGVyX3JlcGxh Y2VfYnVmOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVj dCBydGVfZXRoX2RldiAqZGV2ID0gKChzdHJ1Y3QgaTQwZV9hZGFwdGVyICopaHctPmJhY2spLT5l dGhfZGV2Ow0KCWVudW0gaTQwZV9zdGF0dXNfY29kZSBzdGF0dXMgPSBJNDBFX1NVQ0NFU1M7DQoN CglpZiAocGYtPnN1cHBvcnRfbXVsdGlfZHJpdmVyKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIlJl cGxhY2UgY2xvdWQgZmlsdGVyIGlzIG5vdCBzdXBwb3J0ZWQuIik7DQoJCXJldHVybiBJNDBFX05P VF9TVVBQT1JURUQ7DQoJfQ0KDQoJLyogZm9yIEdUUC1DICovDQoJbWVtc2V0KCZmaWx0ZXJfcmVw bGFjZSwgMCwNCgkgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2Zp bHRlcnNfY21kKSk7DQoJbWVtc2V0KCZmaWx0ZXJfcmVwbGFjZV9idWYsIDAsDQoJICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJzX2NtZF9idWYpKTsNCglm aWx0ZXJfcmVwbGFjZS52YWxpZF9mbGFncyA9IEk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfRklMVEVS Ow0KCWZpbHRlcl9yZXBsYWNlLm9sZF9maWx0ZXJfdHlwZSA9IEk0MEVfQVFDX0FERF9DTE9VRF9G SUxURVJfSU1BQ19JVkxBTjsNCglmaWx0ZXJfcmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUgPQ0KCQlJ NDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTE7DQoJLyogUHJlcGFyZSB0aGUgYnVmZmVyLCAy IGVudHJpZXMgKi8NCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVswXSA9IEk0MEVfQVFDX0FERF9M MV9GSUxURVJfMFgxMjsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVswXSB8PQ0KCQlJNDBFX0FR Q19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7DQoJZmlsdGVyX3JlcGxhY2VfYnVm LmRhdGFbNF0gPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9GVl9TVEFHOw0KCWZp bHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRdIHw9DQoJCUk0MEVfQVFDX1JFUExBQ0VfQ0xPVURfQ01E X0lOUFVUX1ZBTElEQVRFRDsNCglzdGF0dXMgPSBpNDBlX2FxX3JlcGxhY2VfY2xvdWRfZmlsdGVy cyhodywgJmZpbHRlcl9yZXBsYWNlLA0KCQkJCQkgICAgICAgJmZpbHRlcl9yZXBsYWNlX2J1Zik7 DQoJaWYgKHN0YXR1cyA8IDApDQoJCXJldHVybiBzdGF0dXM7DQoJaWYgKGZpbHRlcl9yZXBsYWNl Lm9sZF9maWx0ZXJfdHlwZSAhPQ0KCSAgICBmaWx0ZXJfcmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUp DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcsICJpNDBlIGRldmljZSAlcyBjaGFuZ2VkIGNsb3VkIGZp bHRlciB0eXBlLiINCgkJCSAgICAiIG9yaWdpbmFsOiAweCV4LCBuZXc6IDB4JXgiLA0KCQkJICAg IGRldi0+ZGV2aWNlLT5uYW1lLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm9sZF9maWx0ZXJfdHlw ZSwNCgkJCSAgICBmaWx0ZXJfcmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUpOw0KDQoJLyogZm9yIEdU UC1VICovDQoJbWVtc2V0KCZmaWx0ZXJfcmVwbGFjZSwgMCwNCgkgICAgICAgc2l6ZW9mKHN0cnVj dCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21kKSk7DQoJbWVtc2V0KCZmaWx0ZXJf cmVwbGFjZV9idWYsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9j bG91ZF9maWx0ZXJzX2NtZF9idWYpKTsNCglmaWx0ZXJfcmVwbGFjZS52YWxpZF9mbGFncyA9IEk0 MEVfQVFDX1JFUExBQ0VfQ0xPVURfRklMVEVSOw0KCWZpbHRlcl9yZXBsYWNlLm9sZF9maWx0ZXJf dHlwZSA9DQoJCUk0MEVfQVFDX0FERF9DTE9VRF9GSUxURVJfSU1BQ19JVkxBTl9URU5fSUQ7DQoJ ZmlsdGVyX3JlcGxhY2UubmV3X2ZpbHRlcl90eXBlID0NCgkJSTQwRV9BUUNfQUREX0NMT1VEX0ZJ TFRFUl8wWDEyOw0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMiBlbnRyaWVzICovDQoJZmlsdGVy X3JlcGxhY2VfYnVmLmRhdGFbMF0gPSBJNDBFX0FRQ19BRERfTDFfRklMVEVSXzBYMTM7DQoJZmls dGVyX3JlcGxhY2VfYnVmLmRhdGFbMF0gfD0NCgkJSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURf SU5QVVRfVkFMSURBVEVEOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRdID0gSTQwRV9BUUNf UkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfU1RBRzsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0 YVs0XSB8PQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7DQoN CglzdGF0dXMgPSBpNDBlX2FxX3JlcGxhY2VfY2xvdWRfZmlsdGVycyhodywgJmZpbHRlcl9yZXBs YWNlLA0KCQkJCQkgICAgICAgJmZpbHRlcl9yZXBsYWNlX2J1Zik7DQoJaWYgKCFzdGF0dXMgJiYg KGZpbHRlcl9yZXBsYWNlLm9sZF9maWx0ZXJfdHlwZSAhPQ0KCQkJZmlsdGVyX3JlcGxhY2UubmV3 X2ZpbHRlcl90eXBlKSkNCgkJUE1EX0RSVl9MT0coV0FSTklORywgImk0MGUgZGV2aWNlICVzIGNo YW5nZWQgY2xvdWQgZmlsdGVyIHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzog MHgleCIsDQoJCQkgICAgZGV2LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uu b2xkX2ZpbHRlcl90eXBlLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7 DQoNCglyZXR1cm4gc3RhdHVzOw0KfQ0KDQppbnQNCmk0MGVfZGV2X2NvbnNpc3RlbnRfdHVubmVs X2ZpbHRlcl9zZXQoc3RydWN0IGk0MGVfcGYgKnBmLA0KCQkgICAgICBzdHJ1Y3QgaTQwZV90dW5u ZWxfZmlsdGVyX2NvbmYgKnR1bm5lbF9maWx0ZXIsDQoJCSAgICAgIHVpbnQ4X3QgYWRkKQ0Kew0K CXVpbnQxNl90IGlwX3R5cGU7DQoJdWludDMyX3QgaXB2NF9hZGRyLCBpcHY0X2FkZHJfbGU7DQoJ dWludDhfdCBpLCB0dW5fdHlwZSA9IDA7DQoJLyogaW50ZXJuYWwgdmFyaWFibGUgdG8gY29udmVy dCBpcHY2IGJ5dGUgb3JkZXIgKi8NCgl1aW50MzJfdCBjb252ZXJ0X2lwdjZbNF07DQoJaW50IHZh bCwgcmV0ID0gMDsNCglzdHJ1Y3QgaTQwZV9wZl92ZiAqdmYgPSBOVUxMOw0KCXN0cnVjdCBpNDBl X2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBpNDBlX3ZzaSAqdnNpOw0KCXN0 cnVjdCBpNDBlX2FxY19jbG91ZF9maWx0ZXJzX2VsZW1lbnRfYmIgKmNsZF9maWx0ZXI7DQoJc3Ry dWN0IGk0MGVfYXFjX2Nsb3VkX2ZpbHRlcnNfZWxlbWVudF9iYiAqcGZpbHRlcjsNCglzdHJ1Y3Qg aTQwZV90dW5uZWxfcnVsZSAqdHVubmVsX3J1bGUgPSAmcGYtPnR1bm5lbDsNCglzdHJ1Y3QgaTQw ZV90dW5uZWxfZmlsdGVyICp0dW5uZWwsICpub2RlOw0KCXN0cnVjdCBpNDBlX3R1bm5lbF9maWx0 ZXIgY2hlY2tfZmlsdGVyOyAvKiBDaGVjayBpZiBmaWx0ZXIgZXhpc3RzICovDQoJdWludDMyX3Qg dGVpZF9sZTsNCglib29sIGJpZ19idWZmZXIgPSAwOw0KDQoJY2xkX2ZpbHRlciA9IHJ0ZV96bWFs bG9jKCJ0dW5uZWxfZmlsdGVyIiwNCgkJCSBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0KSwNCgkJCSAwKTsNCg0KCWlmIChjbGRfZmlsdGVyID09IE5VTEwp IHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFsbG9jIG1lbW9yeS4iKTsNCgkJcmV0 dXJuIC1FTk9NRU07DQoJfQ0KCXBmaWx0ZXIgPSBjbGRfZmlsdGVyOw0KDQoJcnRlX2V0aGVyX2Fk ZHJfY29weSgmdHVubmVsX2ZpbHRlci0+b3V0ZXJfbWFjLA0KCQkJKHN0cnVjdCBydGVfZXRoZXJf YWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7DQoJcnRlX2V0aGVyX2FkZHJfY29w eSgmdHVubmVsX2ZpbHRlci0+aW5uZXJfbWFjLA0KCQkJKHN0cnVjdCBydGVfZXRoZXJfYWRkciAq KSZwZmlsdGVyLT5lbGVtZW50LmlubmVyX21hYyk7DQoNCglwZmlsdGVyLT5lbGVtZW50LmlubmVy X3ZsYW4gPQ0KCQlydGVfY3B1X3RvX2xlXzE2KHR1bm5lbF9maWx0ZXItPmlubmVyX3ZsYW4pOw0K CWlmICh0dW5uZWxfZmlsdGVyLT5pcF90eXBlID09IEk0MEVfVFVOTkVMX0lQVFlQRV9JUFY0KSB7 DQoJCWlwX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRkxBR1NfSVBWNDsNCgkJaXB2NF9hZGRy ID0gcnRlX2JlX3RvX2NwdV8zMih0dW5uZWxfZmlsdGVyLT5pcF9hZGRyLmlwdjRfYWRkcik7DQoJ CWlwdjRfYWRkcl9sZSA9IHJ0ZV9jcHVfdG9fbGVfMzIoaXB2NF9hZGRyKTsNCgkJcnRlX21lbWNw eSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSwNCgkJCQkmaXB2NF9hZGRyX2xlLA0K CQkJCXNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhKSk7DQoJfSBlbHNlIHsN CgkJaXBfdHlwZSA9IEk0MEVfQVFDX0FERF9DTE9VRF9GTEFHU19JUFY2Ow0KCQlmb3IgKGkgPSAw OyBpIDwgNDsgaSsrKSB7DQoJCQljb252ZXJ0X2lwdjZbaV0gPQ0KCQkJcnRlX2NwdV90b19sZV8z MihydGVfYmVfdG9fY3B1XzMyKA0KCQkJCQkgdHVubmVsX2ZpbHRlci0+aXBfYWRkci5pcHY2X2Fk ZHJbaV0pKTsNCgkJfQ0KCQlydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5k YXRhLA0KCQkJICAgJmNvbnZlcnRfaXB2NiwNCgkJCSAgIHNpemVvZihwZmlsdGVyLT5lbGVtZW50 LmlwYWRkci52Ni5kYXRhKSk7DQoJfQ0KDQoJLyogY2hlY2sgdHVubmVsZWQgdHlwZSAqLw0KCXN3 aXRjaCAodHVubmVsX2ZpbHRlci0+dHVubmVsX3R5cGUpIHsNCgljYXNlIEk0MEVfVFVOTkVMX1RZ UEVfVlhMQU46DQoJCXR1bl90eXBlID0gSTQwRV9BUUNfQUREX0NMT1VEX1ROTF9UWVBFX1ZYTEFO Ow0KCQlicmVhazsNCgljYXNlIEk0MEVfVFVOTkVMX1RZUEVfTlZHUkU6DQoJCXR1bl90eXBlID0g STQwRV9BUUNfQUREX0NMT1VEX1ROTF9UWVBFX05WR1JFX09NQUM7DQoJCWJyZWFrOw0KCWNhc2Ug STQwRV9UVU5ORUxfVFlQRV9JUF9JTl9HUkU6DQoJCXR1bl90eXBlID0gSTQwRV9BUUNfQUREX0NM T1VEX1ROTF9UWVBFX0lQOw0KCQlicmVhazsNCgljYXNlIEk0MEVfVFVOTkVMX1RZUEVfTVBMU29V RFA6DQoJCWlmICghcGYtPm1wbHNfcmVwbGFjZV9mbGFnKSB7DQoJCQlpNDBlX3JlcGxhY2VfbXBs c19sMV9maWx0ZXIocGYpOw0KCQkJaTQwZV9yZXBsYWNlX21wbHNfY2xvdWRfZmlsdGVyKHBmKTsN CgkJCXBmLT5tcGxzX3JlcGxhY2VfZmxhZyA9IDE7DQoJCX0NCgkJdGVpZF9sZSA9IHJ0ZV9jcHVf dG9fbGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lkKTsNCgkJcGZpbHRlci0+Z2VuZXJhbF9m aWVsZHNbSTQwRV9BUUNfQUREX0NMT1VEX0ZWX0ZMVV8wWDExX1dPUkQwXSA9DQoJCQl0ZWlkX2xl ID4+IDQ7DQoJCXBmaWx0ZXItPmdlbmVyYWxfZmllbGRzW0k0MEVfQVFDX0FERF9DTE9VRF9GVl9G TFVfMFgxMV9XT1JEMV0gPQ0KCQkJKHRlaWRfbGUgJiAweEYpIDw8IDEyOw0KCQlwZmlsdGVyLT5n ZW5lcmFsX2ZpZWxkc1tJNDBFX0FRQ19BRERfQ0xPVURfRlZfRkxVXzBYMTFfV09SRDJdID0NCgkJ CTB4NDA7DQoJCWJpZ19idWZmZXIgPSAxOw0KCQl0dW5fdHlwZSA9IEk0MEVfQVFDX0FERF9DTE9V RF9UTkxfVFlQRV9NUExTT1VEUDsNCgkJYnJlYWs7DQoJY2FzZSBJNDBFX1RVTk5FTF9UWVBFX01Q TFNvR1JFOg0KCQlpZiAoIXBmLT5tcGxzX3JlcGxhY2VfZmxhZykgew0KCQkJaTQwZV9yZXBsYWNl X21wbHNfbDFfZmlsdGVyKHBmKTsNCgkJCWk0MGVfcmVwbGFjZV9tcGxzX2Nsb3VkX2ZpbHRlcihw Zik7DQoJCQlwZi0+bXBsc19yZXBsYWNlX2ZsYWcgPSAxOw0KCQl9DQoJCXRlaWRfbGUgPSBydGVf Y3B1X3RvX2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFudF9pZCk7DQoJCXBmaWx0ZXItPmdlbmVy YWxfZmllbGRzW0k0MEVfQVFDX0FERF9DTE9VRF9GVl9GTFVfMFgxMV9XT1JEMF0gPQ0KCQkJdGVp ZF9sZSA+PiA0Ow0KCQlwZmlsdGVyLT5nZW5lcmFsX2ZpZWxkc1tJNDBFX0FRQ19BRERfQ0xPVURf RlZfRkxVXzBYMTFfV09SRDFdID0NCgkJCSh0ZWlkX2xlICYgMHhGKSA8PCAxMjsNCgkJcGZpbHRl ci0+Z2VuZXJhbF9maWVsZHNbSTQwRV9BUUNfQUREX0NMT1VEX0ZWX0ZMVV8wWDExX1dPUkQyXSA9 DQoJCQkweDA7DQoJCWJpZ19idWZmZXIgPSAxOw0KCQl0dW5fdHlwZSA9IEk0MEVfQVFDX0FERF9D TE9VRF9UTkxfVFlQRV9NUExTT0dSRTsNCgkJYnJlYWs7DQoJY2FzZSBJNDBFX1RVTk5FTF9UWVBF X0dUUEM6DQoJCWlmICghcGYtPmd0cF9yZXBsYWNlX2ZsYWcpIHsNCgkJCWk0MGVfcmVwbGFjZV9n dHBfbDFfZmlsdGVyKHBmKTsNCgkJCWk0MGVfcmVwbGFjZV9ndHBfY2xvdWRfZmlsdGVyKHBmKTsN CgkJCXBmLT5ndHBfcmVwbGFjZV9mbGFnID0gMTsNCgkJfQ0KCQl0ZWlkX2xlID0gcnRlX2NwdV90 b19sZV8zMih0dW5uZWxfZmlsdGVyLT50ZW5hbnRfaWQpOw0KCQlwZmlsdGVyLT5nZW5lcmFsX2Zp ZWxkc1tJNDBFX0FRQ19BRERfQ0xPVURfRlZfRkxVXzBYMTJfV09SRDBdID0NCgkJCSh0ZWlkX2xl ID4+IDE2KSAmIDB4RkZGRjsNCgkJcGZpbHRlci0+Z2VuZXJhbF9maWVsZHNbSTQwRV9BUUNfQURE X0NMT1VEX0ZWX0ZMVV8wWDEyX1dPUkQxXSA9DQoJCQl0ZWlkX2xlICYgMHhGRkZGOw0KCQlwZmls dGVyLT5nZW5lcmFsX2ZpZWxkc1tJNDBFX0FRQ19BRERfQ0xPVURfRlZfRkxVXzBYMTJfV09SRDJd ID0NCgkJCTB4MDsNCgkJYmlnX2J1ZmZlciA9IDE7DQoJCWJyZWFrOw0KCWNhc2UgSTQwRV9UVU5O RUxfVFlQRV9HVFBVOg0KCQlpZiAoIXBmLT5ndHBfcmVwbGFjZV9mbGFnKSB7DQoJCQlpNDBlX3Jl cGxhY2VfZ3RwX2wxX2ZpbHRlcihwZik7DQoJCQlpNDBlX3JlcGxhY2VfZ3RwX2Nsb3VkX2ZpbHRl cihwZik7DQoJCQlwZi0+Z3RwX3JlcGxhY2VfZmxhZyA9IDE7DQoJCX0NCgkJdGVpZF9sZSA9IHJ0 ZV9jcHVfdG9fbGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lkKTsNCgkJcGZpbHRlci0+Z2Vu ZXJhbF9maWVsZHNbSTQwRV9BUUNfQUREX0NMT1VEX0ZWX0ZMVV8wWDEzX1dPUkQwXSA9DQoJCQko dGVpZF9sZSA+PiAxNikgJiAweEZGRkY7DQoJCXBmaWx0ZXItPmdlbmVyYWxfZmllbGRzW0k0MEVf QVFDX0FERF9DTE9VRF9GVl9GTFVfMFgxM19XT1JEMV0gPQ0KCQkJdGVpZF9sZSAmIDB4RkZGRjsN CgkJcGZpbHRlci0+Z2VuZXJhbF9maWVsZHNbSTQwRV9BUUNfQUREX0NMT1VEX0ZWX0ZMVV8wWDEz X1dPUkQyXSA9DQoJCQkweDA7DQoJCWJpZ19idWZmZXIgPSAxOw0KCQlicmVhazsNCgljYXNlIEk0 MEVfVFVOTkVMX1RZUEVfUUlOUToNCgkJaWYgKCFwZi0+cWlucV9yZXBsYWNlX2ZsYWcpIHsNCgkJ CXJldCA9IGk0MGVfY2xvdWRfZmlsdGVyX3FpbnFfY3JlYXRlKHBmKTsNCgkJCWlmIChyZXQgPCAw KQ0KCQkJCVBNRF9EUlZfTE9HKERFQlVHLA0KCQkJCQkgICAgIlFpblEgdHVubmVsIGZpbHRlciBh bHJlYWR5IGNyZWF0ZWQuIik7DQoJCQlwZi0+cWlucV9yZXBsYWNlX2ZsYWcgPSAxOw0KCQl9DQoJ CS8qCUFkZCBpbiB0aGUgR2VuZXJhbCBmaWVsZHMgdGhlIHZhbHVlcyBvZg0KCQkgKgl0aGUgT3V0 ZXIgYW5kIElubmVyIFZMQU4NCgkJICoJQmlnIEJ1ZmZlciBzaG91bGQgYmUgc2V0LCBzZWUgY2hh bmdlcyBpbg0KCQkgKglpNDBlX2FxX2FkZF9jbG91ZF9maWx0ZXJzDQoJCSAqLw0KCQlwZmlsdGVy LT5nZW5lcmFsX2ZpZWxkc1swXSA9IHR1bm5lbF9maWx0ZXItPmlubmVyX3ZsYW47DQoJCXBmaWx0 ZXItPmdlbmVyYWxfZmllbGRzWzFdID0gdHVubmVsX2ZpbHRlci0+b3V0ZXJfdmxhbjsNCgkJYmln X2J1ZmZlciA9IDE7DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCS8qIE90aGVyIHR1bm5lbCB0eXBl cyBpcyBub3Qgc3VwcG9ydGVkLiAqLw0KCQlQTURfRFJWX0xPRyhFUlIsICJ0dW5uZWwgdHlwZSBp cyBub3Qgc3VwcG9ydGVkLiIpOw0KCQlydGVfZnJlZShjbGRfZmlsdGVyKTsNCgkJcmV0dXJuIC1F SU5WQUw7DQoJfQ0KDQoJaWYgKHR1bm5lbF9maWx0ZXItPnR1bm5lbF90eXBlID09IEk0MEVfVFVO TkVMX1RZUEVfTVBMU29VRFApDQoJCXBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MgPQ0KCQkJSTQwRV9B UUNfQUREX0NMT1VEX0ZJTFRFUl8wWDExOw0KCWVsc2UgaWYgKHR1bm5lbF9maWx0ZXItPnR1bm5l bF90eXBlID09IEk0MEVfVFVOTkVMX1RZUEVfTVBMU29HUkUpDQoJCXBmaWx0ZXItPmVsZW1lbnQu ZmxhZ3MgPQ0KCQkJSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl8wWDEyOw0KCWVsc2UgaWYgKHR1 bm5lbF9maWx0ZXItPnR1bm5lbF90eXBlID09IEk0MEVfVFVOTkVMX1RZUEVfR1RQQykNCgkJcGZp bHRlci0+ZWxlbWVudC5mbGFncyA9DQoJCQlJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTE7 DQoJZWxzZSBpZiAodHVubmVsX2ZpbHRlci0+dHVubmVsX3R5cGUgPT0gSTQwRV9UVU5ORUxfVFlQ RV9HVFBVKQ0KCQlwZmlsdGVyLT5lbGVtZW50LmZsYWdzID0NCgkJCUk0MEVfQVFDX0FERF9DTE9V RF9GSUxURVJfMFgxMjsNCgllbHNlIGlmICh0dW5uZWxfZmlsdGVyLT50dW5uZWxfdHlwZSA9PSBJ NDBFX1RVTk5FTF9UWVBFX1FJTlEpDQoJCXBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MgfD0NCgkJCUk0 MEVfQVFDX0FERF9DTE9VRF9GSUxURVJfMFgxMDsNCgllbHNlIHsNCgkJdmFsID0gaTQwZV9kZXZf Z2V0X2ZpbHRlcl90eXBlKHR1bm5lbF9maWx0ZXItPmZpbHRlcl90eXBlLA0KCQkJCQkJJnBmaWx0 ZXItPmVsZW1lbnQuZmxhZ3MpOw0KCQlpZiAodmFsIDwgMCkgew0KCQkJcnRlX2ZyZWUoY2xkX2Zp bHRlcik7DQoJCQlyZXR1cm4gLUVJTlZBTDsNCgkJfQ0KCX0NCg0KCXBmaWx0ZXItPmVsZW1lbnQu ZmxhZ3MgfD0gcnRlX2NwdV90b19sZV8xNigNCgkJSTQwRV9BUUNfQUREX0NMT1VEX0ZMQUdTX1RP X1FVRVVFIHwNCgkJaXBfdHlwZSB8ICh0dW5fdHlwZSA8PCBJNDBFX0FRQ19BRERfQ0xPVURfVE5M X1RZUEVfU0hJRlQpKTsNCglwZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZCA9IHJ0ZV9jcHVfdG9f bGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lkKTsNCglwZmlsdGVyLT5lbGVtZW50LnF1ZXVl X251bWJlciA9DQoJCXJ0ZV9jcHVfdG9fbGVfMTYodHVubmVsX2ZpbHRlci0+cXVldWVfaWQpOw0K DQoJaWYgKCF0dW5uZWxfZmlsdGVyLT5pc190b192ZikNCgkJdnNpID0gcGYtPm1haW5fdnNpOw0K CWVsc2Ugew0KCQlpZiAodHVubmVsX2ZpbHRlci0+dmZfaWQgPj0gcGYtPnZmX251bSkgew0KCQkJ UE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCBhcmd1bWVudC4iKTsNCgkJCXJ0ZV9mcmVlKGNsZF9m aWx0ZXIpOw0KCQkJcmV0dXJuIC1FSU5WQUw7DQoJCX0NCgkJdmYgPSAmcGYtPnZmc1t0dW5uZWxf ZmlsdGVyLT52Zl9pZF07DQoJCXZzaSA9IHZmLT52c2k7DQoJfQ0KDQoJLyogQ2hlY2sgaWYgdGhl cmUgaXMgdGhlIGZpbHRlciBpbiBTVyBsaXN0ICovDQoJbWVtc2V0KCZjaGVja19maWx0ZXIsIDAs IHNpemVvZihjaGVja19maWx0ZXIpKTsNCglpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydChjbGRf ZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsNCgljaGVja19maWx0ZXIuaXNfdG9fdmYgPSB0dW5uZWxf ZmlsdGVyLT5pc190b192ZjsNCgljaGVja19maWx0ZXIudmZfaWQgPSB0dW5uZWxfZmlsdGVyLT52 Zl9pZDsNCglub2RlID0gaTQwZV9zd190dW5uZWxfZmlsdGVyX2xvb2t1cCh0dW5uZWxfcnVsZSwg JmNoZWNrX2ZpbHRlci5pbnB1dCk7DQoJaWYgKGFkZCAmJiBub2RlKSB7DQoJCVBNRF9EUlZfTE9H KEVSUiwgIkNvbmZsaWN0IHdpdGggZXhpc3RpbmcgdHVubmVsIHJ1bGVzISIpOw0KCQlydGVfZnJl ZShjbGRfZmlsdGVyKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKCFhZGQgJiYgIW5v ZGUpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiVGhlcmUncyBubyBjb3JyZXNwb25kaW5nIHR1bm5l bCBmaWx0ZXIhIik7DQoJCXJ0ZV9mcmVlKGNsZF9maWx0ZXIpOw0KCQlyZXR1cm4gLUVJTlZBTDsN Cgl9DQoNCglpZiAoYWRkKSB7DQoJCWlmIChiaWdfYnVmZmVyKQ0KCQkJcmV0ID0gaTQwZV9hcV9h ZGRfY2xvdWRfZmlsdGVyc19iYihodywNCgkJCQkJCSAgIHZzaS0+c2VpZCwgY2xkX2ZpbHRlciwg MSk7DQoJCWVsc2UNCgkJCXJldCA9IGk0MGVfYXFfYWRkX2Nsb3VkX2ZpbHRlcnMoaHcsDQoJCQkJ CXZzaS0+c2VpZCwgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOw0KCQlpZiAocmV0IDwgMCkgew0K CQkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFkZCBhIHR1bm5lbCBmaWx0ZXIuIik7DQoJ CQlydGVfZnJlZShjbGRfZmlsdGVyKTsNCgkJCXJldHVybiAtRU5PVFNVUDsNCgkJfQ0KCQl0dW5u ZWwgPSBydGVfem1hbGxvYygidHVubmVsX2ZpbHRlciIsIHNpemVvZigqdHVubmVsKSwgMCk7DQoJ CWlmICh0dW5uZWwgPT0gTlVMTCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFs bG9jIG1lbW9yeS4iKTsNCgkJCXJ0ZV9mcmVlKGNsZF9maWx0ZXIpOw0KCQkJcmV0dXJuIC1FTk9N RU07DQoJCX0NCg0KCQlydGVfbWVtY3B5KHR1bm5lbCwgJmNoZWNrX2ZpbHRlciwgc2l6ZW9mKGNo ZWNrX2ZpbHRlcikpOw0KCQlyZXQgPSBpNDBlX3N3X3R1bm5lbF9maWx0ZXJfaW5zZXJ0KHBmLCB0 dW5uZWwpOw0KCQlpZiAocmV0IDwgMCkNCgkJCXJ0ZV9mcmVlKHR1bm5lbCk7DQoJfSBlbHNlIHsN CgkJaWYgKGJpZ19idWZmZXIpDQoJCQlyZXQgPSBpNDBlX2FxX3JlbV9jbG91ZF9maWx0ZXJzX2Ji KA0KCQkJCWh3LCB2c2ktPnNlaWQsIGNsZF9maWx0ZXIsIDEpOw0KCQllbHNlDQoJCQlyZXQgPSBp NDBlX2FxX3JlbV9jbG91ZF9maWx0ZXJzKGh3LCB2c2ktPnNlaWQsDQoJCQkJCQkmY2xkX2ZpbHRl ci0+ZWxlbWVudCwgMSk7DQoJCWlmIChyZXQgPCAwKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJG YWlsZWQgdG8gZGVsZXRlIGEgdHVubmVsIGZpbHRlci4iKTsNCgkJCXJ0ZV9mcmVlKGNsZF9maWx0 ZXIpOw0KCQkJcmV0dXJuIC1FTk9UU1VQOw0KCQl9DQoJCXJldCA9IGk0MGVfc3dfdHVubmVsX2Zp bHRlcl9kZWwocGYsICZub2RlLT5pbnB1dCk7DQoJfQ0KDQoJcnRlX2ZyZWUoY2xkX2ZpbHRlcik7 DQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9nZXRfdnhsYW5fcG9ydF9pZHgo c3RydWN0IGk0MGVfcGYgKnBmLCB1aW50MTZfdCBwb3J0KQ0Kew0KCXVpbnQ4X3QgaTsNCg0KCWZv ciAoaSA9IDA7IGkgPCBJNDBFX01BWF9QRl9VRFBfT0ZGTE9BRF9QT1JUUzsgaSsrKSB7DQoJCWlm IChwZi0+dnhsYW5fcG9ydHNbaV0gPT0gcG9ydCkNCgkJCXJldHVybiBpOw0KCX0NCg0KCXJldHVy biAtMTsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9hZGRfdnhsYW5fcG9ydChzdHJ1Y3QgaTQwZV9w ZiAqcGYsIHVpbnQxNl90IHBvcnQsIGludCB1ZHBfdHlwZSkNCnsNCglpbnQgIGlkeCwgcmV0Ow0K CXVpbnQ4X3QgZmlsdGVyX2lkeCA9IDA7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9U T19IVyhwZik7DQoNCglpZHggPSBpNDBlX2dldF92eGxhbl9wb3J0X2lkeChwZiwgcG9ydCk7DQoN CgkvKiBDaGVjayBpZiBwb3J0IGFscmVhZHkgZXhpc3RzICovDQoJaWYgKGlkeCA+PSAwKSB7DQoJ CVBNRF9EUlZfTE9HKEVSUiwgIlBvcnQgJWQgYWxyZWFkeSBvZmZsb2FkZWQiLCBwb3J0KTsNCgkJ cmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJLyogTm93IGNoZWNrIGlmIHRoZXJlIGlzIHNwYWNlIHRv IGFkZCB0aGUgbmV3IHBvcnQgKi8NCglpZHggPSBpNDBlX2dldF92eGxhbl9wb3J0X2lkeChwZiwg MCk7DQoJaWYgKGlkeCA8IDApIHsNCgkJUE1EX0RSVl9MT0coRVJSLA0KCQkJIk1heGltdW0gbnVt YmVyIG9mIFVEUCBwb3J0cyByZWFjaGVkLCBub3QgYWRkaW5nIHBvcnQgJWQiLA0KCQkJcG9ydCk7 DQoJCXJldHVybiAtRU5PU1BDOw0KCX0NCg0KCXJldCA9ICBpNDBlX2FxX2FkZF91ZHBfdHVubmVs KGh3LCBwb3J0LCB1ZHBfdHlwZSwNCgkJCQkJJmZpbHRlcl9pZHgsIE5VTEwpOw0KCWlmIChyZXQg PCAwKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhZGQgVlhMQU4gVURQIHBvcnQg JWQiLCBwb3J0KTsNCgkJcmV0dXJuIC0xOw0KCX0NCg0KCVBNRF9EUlZfTE9HKElORk8sICJBZGRl ZCBwb3J0ICVkIHdpdGggQVEgY29tbWFuZCB3aXRoIGluZGV4ICVkIiwNCgkJCSBwb3J0LCAgZmls dGVyX2lkeCk7DQoNCgkvKiBOZXcgcG9ydDogYWRkIGl0IGFuZCBtYXJrIGl0cyBpbmRleCBpbiB0 aGUgYml0bWFwICovDQoJcGYtPnZ4bGFuX3BvcnRzW2lkeF0gPSBwb3J0Ow0KCXBmLT52eGxhbl9i aXRtYXAgfD0gKDEgPDwgaWR4KTsNCg0KCWlmICghKHBmLT5mbGFncyAmIEk0MEVfRkxBR19WWExB TikpDQoJCXBmLT5mbGFncyB8PSBJNDBFX0ZMQUdfVlhMQU47DQoNCglyZXR1cm4gMDsNCn0NCg0K c3RhdGljIGludA0KaTQwZV9kZWxfdnhsYW5fcG9ydChzdHJ1Y3QgaTQwZV9wZiAqcGYsIHVpbnQx Nl90IHBvcnQpDQp7DQoJaW50IGlkeDsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RP X0hXKHBmKTsNCg0KCWlmICghKHBmLT5mbGFncyAmIEk0MEVfRkxBR19WWExBTikpIHsNCgkJUE1E X0RSVl9MT0coRVJSLCAiVlhMQU4gVURQIHBvcnQgd2FzIG5vdCBjb25maWd1cmVkLiIpOw0KCQly ZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglpZHggPSBpNDBlX2dldF92eGxhbl9wb3J0X2lkeChwZiwg cG9ydCk7DQoNCglpZiAoaWR4IDwgMCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJQb3J0ICVkIGRv ZXNuJ3QgZXhpc3QiLCBwb3J0KTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKGk0MGVf YXFfZGVsX3VkcF90dW5uZWwoaHcsIGlkeCwgTlVMTCkgPCAwKSB7DQoJCVBNRF9EUlZfTE9HKEVS UiwgIkZhaWxlZCB0byBkZWxldGUgVlhMQU4gVURQIHBvcnQgJWQiLCBwb3J0KTsNCgkJcmV0dXJu IC0xOw0KCX0NCg0KCVBNRF9EUlZfTE9HKElORk8sICJEZWxldGVkIHBvcnQgJWQgd2l0aCBBUSBj b21tYW5kIHdpdGggaW5kZXggJWQiLA0KCQkJcG9ydCwgaWR4KTsNCg0KCXBmLT52eGxhbl9wb3J0 c1tpZHhdID0gMDsNCglwZi0+dnhsYW5fYml0bWFwICY9IH4oMSA8PCBpZHgpOw0KDQoJaWYgKCFw Zi0+dnhsYW5fYml0bWFwKQ0KCQlwZi0+ZmxhZ3MgJj0gfkk0MEVfRkxBR19WWExBTjsNCg0KCXJl dHVybiAwOw0KfQ0KDQovKiBBZGQgVURQIHR1bm5lbGluZyBwb3J0ICovDQpzdGF0aWMgaW50DQpp NDBlX2Rldl91ZHBfdHVubmVsX3BvcnRfYWRkKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJ ICAgICBzdHJ1Y3QgcnRlX2V0aF91ZHBfdHVubmVsICp1ZHBfdHVubmVsKQ0Kew0KCWludCByZXQg PSAwOw0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQoNCglpZiAodWRwX3R1bm5lbCA9PSBOVUxMKQ0KCQlyZXR1cm4g LUVJTlZBTDsNCg0KCXN3aXRjaCAodWRwX3R1bm5lbC0+cHJvdF90eXBlKSB7DQoJY2FzZSBSVEVf VFVOTkVMX1RZUEVfVlhMQU46DQoJCXJldCA9IGk0MGVfYWRkX3Z4bGFuX3BvcnQocGYsIHVkcF90 dW5uZWwtPnVkcF9wb3J0LA0KCQkJCQkgIEk0MEVfQVFDX1RVTk5FTF9UWVBFX1ZYTEFOKTsNCgkJ YnJlYWs7DQoJY2FzZSBSVEVfVFVOTkVMX1RZUEVfVlhMQU5fR1BFOg0KCQlyZXQgPSBpNDBlX2Fk ZF92eGxhbl9wb3J0KHBmLCB1ZHBfdHVubmVsLT51ZHBfcG9ydCwNCgkJCQkJICBJNDBFX0FRQ19U VU5ORUxfVFlQRV9WWExBTl9HUEUpOw0KCQlicmVhazsNCgljYXNlIFJURV9UVU5ORUxfVFlQRV9H RU5FVkU6DQoJY2FzZSBSVEVfVFVOTkVMX1RZUEVfVEVSRURPOg0KCQlQTURfRFJWX0xPRyhFUlIs ICJUdW5uZWwgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIG5vdy4iKTsNCgkJcmV0ID0gLTE7DQoJCWJy ZWFrOw0KDQoJZGVmYXVsdDoNCgkJUE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCB0dW5uZWwgdHlw ZSIpOw0KCQlyZXQgPSAtMTsNCgkJYnJlYWs7DQoJfQ0KDQoJcmV0dXJuIHJldDsNCn0NCg0KLyog UmVtb3ZlIFVEUCB0dW5uZWxpbmcgcG9ydCAqLw0Kc3RhdGljIGludA0KaTQwZV9kZXZfdWRwX3R1 bm5lbF9wb3J0X2RlbChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCSAgICAgc3RydWN0IHJ0 ZV9ldGhfdWRwX3R1bm5lbCAqdWRwX3R1bm5lbCkNCnsNCglpbnQgcmV0ID0gMDsNCglzdHJ1Y3Qg aTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZh dGUpOw0KDQoJaWYgKHVkcF90dW5uZWwgPT0gTlVMTCkNCgkJcmV0dXJuIC1FSU5WQUw7DQoNCglz d2l0Y2ggKHVkcF90dW5uZWwtPnByb3RfdHlwZSkgew0KCWNhc2UgUlRFX1RVTk5FTF9UWVBFX1ZY TEFOOg0KCWNhc2UgUlRFX1RVTk5FTF9UWVBFX1ZYTEFOX0dQRToNCgkJcmV0ID0gaTQwZV9kZWxf dnhsYW5fcG9ydChwZiwgdWRwX3R1bm5lbC0+dWRwX3BvcnQpOw0KCQlicmVhazsNCgljYXNlIFJU RV9UVU5ORUxfVFlQRV9HRU5FVkU6DQoJY2FzZSBSVEVfVFVOTkVMX1RZUEVfVEVSRURPOg0KCQlQ TURfRFJWX0xPRyhFUlIsICJUdW5uZWwgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIG5vdy4iKTsNCgkJ cmV0ID0gLTE7DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkludmFs aWQgdHVubmVsIHR5cGUiKTsNCgkJcmV0ID0gLTE7DQoJCWJyZWFrOw0KCX0NCg0KCXJldHVybiBy ZXQ7DQp9DQoNCi8qIENhbGN1bGF0ZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29udGlndW91cyBQ RiBxdWV1ZXMgdGhhdCBhcmUgY29uZmlndXJlZCAqLw0Kc3RhdGljIGludA0KaTQwZV9wZl9jYWxj X2NvbmZpZ3VyZWRfcXVldWVzX251bShzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0IHJ0 ZV9ldGhfZGV2X2RhdGEgKmRhdGEgPSBwZi0+ZGV2X2RhdGE7DQoJaW50IGksIG51bTsNCglzdHJ1 Y3QgaTQwZV9yeF9xdWV1ZSAqcnhxOw0KDQoJbnVtID0gMDsNCglmb3IgKGkgPSAwOyBpIDwgcGYt Pmxhbl9uYl9xcHM7IGkrKykgew0KCQlyeHEgPSBkYXRhLT5yeF9xdWV1ZXNbaV07DQoJCWlmIChy eHEgJiYgcnhxLT5xX3NldCkNCgkJCW51bSsrOw0KCQllbHNlDQoJCQlicmVhazsNCgl9DQoNCgly ZXR1cm4gbnVtOw0KfQ0KDQovKiBDb25maWd1cmUgUlNTICovDQpzdGF0aWMgaW50DQppNDBlX3Bm X2NvbmZpZ19yc3Moc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9 IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBydGVfZXRoX3Jzc19jb25mIHJzc19jb25mOw0K CXVpbnQzMl90IGksIGx1dCA9IDA7DQoJdWludDE2X3QgaiwgbnVtOw0KDQoJLyoNCgkgKiBJZiBi b3RoIFZNRFEgYW5kIFJTUyBlbmFibGVkLCBub3QgYWxsIG9mIFBGIHF1ZXVlcyBhcmUgY29uZmln dXJlZC4NCgkgKiBJdCdzIG5lY2Vzc2FyeSB0byBjYWxjdWxhdGUgdGhlIGFjdHVhbCBQRiBxdWV1 ZXMgdGhhdCBhcmUgY29uZmlndXJlZC4NCgkgKi8NCglpZiAocGYtPmRldl9kYXRhLT5kZXZfY29u Zi5yeG1vZGUubXFfbW9kZSAmIEVUSF9NUV9SWF9WTURRX0ZMQUcpDQoJCW51bSA9IGk0MGVfcGZf Y2FsY19jb25maWd1cmVkX3F1ZXVlc19udW0ocGYpOw0KCWVsc2UNCgkJbnVtID0gcGYtPmRldl9k YXRhLT5uYl9yeF9xdWV1ZXM7DQoNCgludW0gPSBSVEVfTUlOKG51bSwgSTQwRV9NQVhfUV9QRVJf VEMpOw0KCVBNRF9JTklUX0xPRyhJTkZPLCAiTWF4IG9mIGNvbnRpZ3VvdXMgJXUgUEYgcXVldWVz IGFyZSBjb25maWd1cmVkIiwNCgkJCW51bSk7DQoNCglpZiAobnVtID09IDApIHsNCgkJUE1EX0lO SVRfTE9HKEVSUiwNCgkJCSJObyBQRiBxdWV1ZXMgYXJlIGNvbmZpZ3VyZWQgdG8gZW5hYmxlIFJT UyBmb3IgcG9ydCAldSIsDQoJCQlwZi0+ZGV2X2RhdGEtPnBvcnRfaWQpOw0KCQlyZXR1cm4gLUVO T1RTVVA7DQoJfQ0KDQoJaWYgKHBmLT5hZGFwdGVyLT5yc3NfcmV0YV91cGRhdGVkID09IDApIHsN CgkJZm9yIChpID0gMCwgaiA9IDA7IGkgPCBody0+ZnVuY19jYXBzLnJzc190YWJsZV9zaXplOyBp KyssIGorKykgew0KCQkJaWYgKGogPT0gbnVtKQ0KCQkJCWogPSAwOw0KCQkJbHV0ID0gKGx1dCA8 PCA4KSB8IChqICYgKCgweDEgPDwNCgkJCQlody0+ZnVuY19jYXBzLnJzc190YWJsZV9lbnRyeV93 aWR0aCkgLSAxKSk7DQoJCQlpZiAoKGkgJiAzKSA9PSAzKQ0KCQkJCUk0MEVfV1JJVEVfUkVHKGh3 LCBJNDBFX1BGUUZfSExVVChpID4+IDIpLA0KCQkJCQkgICAgICAgcnRlX2Jzd2FwMzIobHV0KSk7 DQoJCX0NCgl9DQoNCglyc3NfY29uZiA9IHBmLT5kZXZfZGF0YS0+ZGV2X2NvbmYucnhfYWR2X2Nv bmYucnNzX2NvbmY7DQoJaWYgKChyc3NfY29uZi5yc3NfaGYgJiBwZi0+YWRhcHRlci0+Zmxvd190 eXBlc19tYXNrKSA9PSAwKSB7DQoJCWk0MGVfcGZfZGlzYWJsZV9yc3MocGYpOw0KCQlyZXR1cm4g MDsNCgl9DQoJaWYgKHJzc19jb25mLnJzc19rZXkgPT0gTlVMTCB8fCByc3NfY29uZi5yc3Nfa2V5 X2xlbiA8DQoJCShJNDBFX1BGUUZfSEtFWV9NQVhfSU5ERVggKyAxKSAqIHNpemVvZih1aW50MzJf dCkpIHsNCgkJLyogUmFuZG9tIGRlZmF1bHQga2V5cyAqLw0KCQlzdGF0aWMgdWludDMyX3QgcnNz X2tleV9kZWZhdWx0W10gPSB7MHg2Yjc5Mzk0NCwNCgkJCTB4MjM1MDRjYjUsIDB4NWJlYTc1YjYs IDB4MzA5ZjRmMTIsIDB4M2RjMGEyYjgsDQoJCQkweDAyNGRkY2RmLCAweDMzOWI4Y2EwLCAweDRj NGFmNjRhLCAweDM0ZmFjNjA1LA0KCQkJMHg1NWQ4NTgzOSwgMHgzYTU4OTk3ZCwgMHgyZWM5Mzhl MSwgMHg2NjAzMTU4MX07DQoNCgkJcnNzX2NvbmYucnNzX2tleSA9ICh1aW50OF90ICopcnNzX2tl eV9kZWZhdWx0Ow0KCQlyc3NfY29uZi5yc3Nfa2V5X2xlbiA9IChJNDBFX1BGUUZfSEtFWV9NQVhf SU5ERVggKyAxKSAqDQoJCQkJCQkJc2l6ZW9mKHVpbnQzMl90KTsNCgl9DQoNCglyZXR1cm4gaTQw ZV9od19yc3NfaGFzaF9zZXQocGYsICZyc3NfY29uZik7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVf dHVubmVsX2ZpbHRlcl9wYXJhbV9jaGVjayhzdHJ1Y3QgaTQwZV9wZiAqcGYsDQoJCQkgICAgICAg c3RydWN0IHJ0ZV9ldGhfdHVubmVsX2ZpbHRlcl9jb25mICpmaWx0ZXIpDQp7DQoJaWYgKHBmID09 IE5VTEwgfHwgZmlsdGVyID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCBw YXJhbWV0ZXIiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKGZpbHRlci0+cXVldWVf aWQgPj0gcGYtPmRldl9kYXRhLT5uYl9yeF9xdWV1ZXMpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAi SW52YWxpZCBxdWV1ZSBJRCIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglpZiAoZmlsdGVy LT5pbm5lcl92bGFuID4gUlRFX0VUSEVSX01BWF9WTEFOX0lEKSB7DQoJCVBNRF9EUlZfTE9HKEVS UiwgIkludmFsaWQgaW5uZXIgVkxBTiBJRCIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglp ZiAoKGZpbHRlci0+ZmlsdGVyX3R5cGUgJiBFVEhfVFVOTkVMX0ZJTFRFUl9PTUFDKSAmJg0KCQko cnRlX2lzX3plcm9fZXRoZXJfYWRkcigmZmlsdGVyLT5vdXRlcl9tYWMpKSkgew0KCQlQTURfRFJW X0xPRyhFUlIsICJDYW5ub3QgYWRkIE5VTEwgb3V0ZXIgTUFDIGFkZHJlc3MiKTsNCgkJcmV0dXJu IC1FSU5WQUw7DQoJfQ0KDQoJaWYgKChmaWx0ZXItPmZpbHRlcl90eXBlICYgRVRIX1RVTk5FTF9G SUxURVJfSU1BQykgJiYNCgkJKHJ0ZV9pc196ZXJvX2V0aGVyX2FkZHIoJmZpbHRlci0+aW5uZXJf bWFjKSkpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiQ2Fubm90IGFkZCBOVUxMIGlubmVyIE1BQyBh ZGRyZXNzIik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQojZGVm aW5lIEk0MEVfR0xfUFJTX0ZWQk1fTVNLX0VOQSAweDgwMDAwMDAwDQojZGVmaW5lIEk0MEVfR0xf UFJTX0ZWQk0oX2kpICAgICAoMHgwMDI2OTc2MCArICgoX2kpICogNCkpDQpzdGF0aWMgaW50DQpp NDBlX2Rldl9zZXRfZ3JlX2tleV9sZW4oc3RydWN0IGk0MGVfaHcgKmh3LCB1aW50OF90IGxlbikN CnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSAmKChzdHJ1Y3QgaTQwZV9hZGFwdGVyICopaHctPmJh Y2spLT5wZjsNCgl1aW50MzJfdCB2YWwsIHJlZzsNCglpbnQgcmV0ID0gLUVJTlZBTDsNCg0KCWlm IChwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiR1JFIGtl eSBsZW5ndGggY29uZmlndXJhdGlvbiBpcyB1bnN1cHBvcnRlZCIpOw0KCQlyZXR1cm4gLUVOT1RT VVA7DQoJfQ0KDQoJdmFsID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9HTF9QUlNfRlZCTSgyKSk7 DQoJUE1EX0RSVl9MT0coREVCVUcsICJSZWFkIG9yaWdpbmFsIEdMX1BSU19GVkJNIHdpdGggMHgl MDh4IiwgdmFsKTsNCg0KCWlmIChsZW4gPT0gMykgew0KCQlyZWcgPSB2YWwgfCBJNDBFX0dMX1BS U19GVkJNX01TS19FTkE7DQoJfSBlbHNlIGlmIChsZW4gPT0gNCkgew0KCQlyZWcgPSB2YWwgJiB+ STQwRV9HTF9QUlNfRlZCTV9NU0tfRU5BOw0KCX0gZWxzZSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwg IlVuc3VwcG9ydGVkIEdSRSBrZXkgbGVuZ3RoIG9mICV1IiwgbGVuKTsNCgkJcmV0dXJuIHJldDsN Cgl9DQoNCglpZiAocmVnICE9IHZhbCkgew0KCQlyZXQgPSBpNDBlX2FxX2RlYnVnX3dyaXRlX2ds b2JhbF9yZWdpc3RlcihodywNCgkJCQkJCSAgIEk0MEVfR0xfUFJTX0ZWQk0oMiksDQoJCQkJCQkg ICByZWcsIE5VTEwpOw0KCQlpZiAocmV0ICE9IDApDQoJCQlyZXR1cm4gcmV0Ow0KCQlQTURfRFJW X0xPRyhERUJVRywgIkdsb2JhbCByZWdpc3RlciAweCUwOHggaXMgY2hhbmdlZCAiDQoJCQkgICAg IndpdGggdmFsdWUgMHglMDh4IiwNCgkJCSAgICBJNDBFX0dMX1BSU19GVkJNKDIpLCByZWcpOw0K CX0gZWxzZSB7DQoJCXJldCA9IDA7DQoJfQ0KCVBNRF9EUlZfTE9HKERFQlVHLCAiUmVhZCBtb2Rp ZmllZCBHTF9QUlNfRlZCTSB3aXRoIDB4JTA4eCIsDQoJCSAgICBJNDBFX1JFQURfUkVHKGh3LCBJ NDBFX0dMX1BSU19GVkJNKDIpKSk7DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgaW50DQpp NDBlX2Rldl9nbG9iYWxfY29uZmlnX3NldChzdHJ1Y3QgaTQwZV9odyAqaHcsIHN0cnVjdCBydGVf ZXRoX2dsb2JhbF9jZmcgKmNmZykNCnsNCglpbnQgcmV0ID0gLUVJTlZBTDsNCg0KCWlmICghaHcg fHwgIWNmZykNCgkJcmV0dXJuIC1FSU5WQUw7DQoNCglzd2l0Y2ggKGNmZy0+Y2ZnX3R5cGUpIHsN CgljYXNlIFJURV9FVEhfR0xPQkFMX0NGR19UWVBFX0dSRV9LRVlfTEVOOg0KCQlyZXQgPSBpNDBl X2Rldl9zZXRfZ3JlX2tleV9sZW4oaHcsIGNmZy0+Y2ZnLmdyZV9rZXlfbGVuKTsNCgkJYnJlYWs7 DQoJZGVmYXVsdDoNCgkJUE1EX0RSVl9MT0coRVJSLCAiVW5rbm93biBjb25maWcgdHlwZSAldSIs IGNmZy0+Y2ZnX3R5cGUpOw0KCQlicmVhazsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0 aWMgaW50DQppNDBlX2ZpbHRlcl9jdHJsX2dsb2JhbF9jb25maWcoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYsDQoJCQkgICAgICAgZW51bSBydGVfZmlsdGVyX29wIGZpbHRlcl9vcCwNCgkJCSAgICAg ICB2b2lkICphcmcpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9U T19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglpbnQgcmV0ID0gSTQwRV9FUlJfUEFSQU07 DQoNCglzd2l0Y2ggKGZpbHRlcl9vcCkgew0KCWNhc2UgUlRFX0VUSF9GSUxURVJfU0VUOg0KCQly ZXQgPSBpNDBlX2Rldl9nbG9iYWxfY29uZmlnX3NldChodywNCgkJCShzdHJ1Y3QgcnRlX2V0aF9n bG9iYWxfY2ZnICopYXJnKTsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJUE1EX0RSVl9MT0coRVJS LCAidW5rbm93biBvcGVyYXRpb24gJXUiLCBmaWx0ZXJfb3ApOw0KCQlicmVhazsNCgl9DQoNCgly ZXR1cm4gcmV0Ow0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX3R1bm5lbF9maWx0ZXJfaGFuZGxlKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJICBlbnVtIHJ0ZV9maWx0ZXJfb3AgZmlsdGVyX29w LA0KCQkJICB2b2lkICphcmcpDQp7DQoJc3RydWN0IHJ0ZV9ldGhfdHVubmVsX2ZpbHRlcl9jb25m ICpmaWx0ZXI7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihk ZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglpbnQgcmV0ID0gSTQwRV9TVUNDRVNTOw0KDQoJZmls dGVyID0gKHN0cnVjdCBydGVfZXRoX3R1bm5lbF9maWx0ZXJfY29uZiAqKShhcmcpOw0KDQoJaWYg KGk0MGVfdHVubmVsX2ZpbHRlcl9wYXJhbV9jaGVjayhwZiwgZmlsdGVyKSA8IDApDQoJCXJldHVy biBJNDBFX0VSUl9QQVJBTTsNCg0KCXN3aXRjaCAoZmlsdGVyX29wKSB7DQoJY2FzZSBSVEVfRVRI X0ZJTFRFUl9OT1A6DQoJCWlmICghKHBmLT5mbGFncyAmIEk0MEVfRkxBR19WWExBTikpDQoJCQly ZXQgPSBJNDBFX05PVF9TVVBQT1JURUQ7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX0VUSF9GSUxURVJf QUREOg0KCQlyZXQgPSBpNDBlX2Rldl90dW5uZWxfZmlsdGVyX3NldChwZiwgZmlsdGVyLCAxKTsN CgkJYnJlYWs7DQoJY2FzZSBSVEVfRVRIX0ZJTFRFUl9ERUxFVEU6DQoJCXJldCA9IGk0MGVfZGV2 X3R1bm5lbF9maWx0ZXJfc2V0KHBmLCBmaWx0ZXIsIDApOw0KCQlicmVhazsNCglkZWZhdWx0Og0K CQlQTURfRFJWX0xPRyhFUlIsICJ1bmtub3duIG9wZXJhdGlvbiAldSIsIGZpbHRlcl9vcCk7DQoJ CXJldCA9IEk0MEVfRVJSX1BBUkFNOw0KCQlicmVhazsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0K DQpzdGF0aWMgaW50DQppNDBlX3BmX2NvbmZpZ19tcV9yeChzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7 DQoJaW50IHJldCA9IDA7DQoJZW51bSBydGVfZXRoX3J4X21xX21vZGUgbXFfbW9kZSA9IHBmLT5k ZXZfZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1xX21vZGU7DQoNCgkvKiBSU1Mgc2V0dXAgKi8NCglp ZiAobXFfbW9kZSAmIEVUSF9NUV9SWF9SU1NfRkxBRykNCgkJcmV0ID0gaTQwZV9wZl9jb25maWdf cnNzKHBmKTsNCgllbHNlDQoJCWk0MGVfcGZfZGlzYWJsZV9yc3MocGYpOw0KDQoJcmV0dXJuIHJl dDsNCn0NCg0KLyogR2V0IHRoZSBzeW1tZXRyaWMgaGFzaCBlbmFibGUgY29uZmlndXJhdGlvbnMg cGVyIHBvcnQgKi8NCnN0YXRpYyB2b2lkDQppNDBlX2dldF9zeW1tZXRyaWNfaGFzaF9lbmFibGVf cGVyX3BvcnQoc3RydWN0IGk0MGVfaHcgKmh3LCB1aW50OF90ICplbmFibGUpDQp7DQoJdWludDMy X3QgcmVnID0gaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9QUlRRRl9DVExfMCk7DQoNCgkqZW5h YmxlID0gcmVnICYgSTQwRV9QUlRRRl9DVExfMF9IU1lNX0VOQV9NQVNLID8gMSA6IDA7DQp9DQoN Ci8qIFNldCB0aGUgc3ltbWV0cmljIGhhc2ggZW5hYmxlIGNvbmZpZ3VyYXRpb25zIHBlciBwb3J0 ICovDQpzdGF0aWMgdm9pZA0KaTQwZV9zZXRfc3ltbWV0cmljX2hhc2hfZW5hYmxlX3Blcl9wb3J0 KHN0cnVjdCBpNDBlX2h3ICpodywgdWludDhfdCBlbmFibGUpDQp7DQoJdWludDMyX3QgcmVnID0g aTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9QUlRRRl9DVExfMCk7DQoNCglpZiAoZW5hYmxlID4g MCkgew0KCQlpZiAocmVnICYgSTQwRV9QUlRRRl9DVExfMF9IU1lNX0VOQV9NQVNLKSB7DQoJCQlQ TURfRFJWX0xPRyhJTkZPLA0KCQkJCSJTeW1tZXRyaWMgaGFzaCBoYXMgYWxyZWFkeSBiZWVuIGVu YWJsZWQiKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlyZWcgfD0gSTQwRV9QUlRRRl9DVExfMF9IU1lN X0VOQV9NQVNLOw0KCX0gZWxzZSB7DQoJCWlmICghKHJlZyAmIEk0MEVfUFJUUUZfQ1RMXzBfSFNZ TV9FTkFfTUFTSykpIHsNCgkJCVBNRF9EUlZfTE9HKElORk8sDQoJCQkJIlN5bW1ldHJpYyBoYXNo IGhhcyBhbHJlYWR5IGJlZW4gZGlzYWJsZWQiKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlyZWcgJj0g fkk0MEVfUFJUUUZfQ1RMXzBfSFNZTV9FTkFfTUFTSzsNCgl9DQoJaTQwZV93cml0ZV9yeF9jdGwo aHcsIEk0MEVfUFJUUUZfQ1RMXzAsIHJlZyk7DQoJSTQwRV9XUklURV9GTFVTSChodyk7DQp9DQoN Ci8qDQogKiBHZXQgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIG9mIGhhc2ggZnVuY3Rpb24gdHlwZSBh bmQgc3ltbWV0cmljIGhhc2ggZW5hYmxlDQogKiBwZXIgZmxvdyB0eXBlIChwY3R5cGUpLiBOb3Rl IHRoYXQgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gbWVhbnMgaXQgYWZmZWN0cyBhbGwNCiAqIHRoZSBw b3J0cyBvbiB0aGUgc2FtZSBOSUMuDQogKi8NCnN0YXRpYyBpbnQNCmk0MGVfZ2V0X2hhc2hfZmls dGVyX2dsb2JhbF9jb25maWcoc3RydWN0IGk0MGVfaHcgKmh3LA0KCQkJCSAgIHN0cnVjdCBydGVf ZXRoX2hhc2hfZ2xvYmFsX2NvbmYgKmdfY2ZnKQ0Kew0KCXN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFk YXB0ZXIgPSAoc3RydWN0IGk0MGVfYWRhcHRlciAqKWh3LT5iYWNrOw0KCXVpbnQzMl90IHJlZzsN Cgl1aW50MTZfdCBpLCBqOw0KDQoJbWVtc2V0KGdfY2ZnLCAwLCBzaXplb2YoKmdfY2ZnKSk7DQoJ cmVnID0gaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9HTFFGX0NUTCk7DQoJaWYgKHJlZyAmIEk0 MEVfR0xRRl9DVExfSFRPRVBfTUFTSykNCgkJZ19jZmctPmhhc2hfZnVuYyA9IFJURV9FVEhfSEFT SF9GVU5DVElPTl9UT0VQTElUWjsNCgllbHNlDQoJCWdfY2ZnLT5oYXNoX2Z1bmMgPSBSVEVfRVRI X0hBU0hfRlVOQ1RJT05fU0lNUExFX1hPUjsNCglQTURfRFJWX0xPRyhERUJVRywgIkhhc2ggZnVu Y3Rpb24gaXMgJXMiLA0KCQkocmVnICYgSTQwRV9HTFFGX0NUTF9IVE9FUF9NQVNLKSA/ICJUb2Vw bGl0eiIgOiAiU2ltcGxlIFhPUiIpOw0KDQoJLyoNCgkgKiBBcyBpNDBlIHN1cHBvcnRzIGxlc3Mg dGhhbiA2NCBmbG93IHR5cGVzLCBvbmx5IGZpcnN0IDY0IGJpdHMgbmVlZCB0bw0KCSAqIGJlIGNo ZWNrZWQuDQoJICovDQoJZm9yIChpID0gMTsgaSA8IFJURV9TWU1fSEFTSF9NQVNLX0FSUkFZX1NJ WkU7IGkrKykgew0KCQlnX2NmZy0+dmFsaWRfYml0X21hc2tbaV0gPSAwVUxMOw0KCQlnX2NmZy0+ c3ltX2hhc2hfZW5hYmxlX21hc2tbaV0gPSAwVUxMOw0KCX0NCg0KCWdfY2ZnLT52YWxpZF9iaXRf bWFza1swXSA9IGFkYXB0ZXItPmZsb3dfdHlwZXNfbWFzazsNCg0KCWZvciAoaSA9IFJURV9FVEhf RkxPV19VTktOT1dOICsgMTsgaSA8IFVJTlQ2NF9CSVQ7IGkrKykgew0KCQlpZiAoIWFkYXB0ZXIt PnBjdHlwZXNfdGJsW2ldKQ0KCQkJY29udGludWU7DQoJCWZvciAoaiA9IEk0MEVfRklMVEVSX1BD VFlQRV9JTlZBTElEICsgMTsNCgkJICAgICBqIDwgSTQwRV9GSUxURVJfUENUWVBFX01BWDsgaisr KSB7DQoJCQlpZiAoYWRhcHRlci0+cGN0eXBlc190YmxbaV0gJiAoMVVMTCA8PCBqKSkgew0KCQkJ CXJlZyA9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0MEVfR0xRRl9IU1lNKGopKTsNCgkJCQlpZiAo cmVnICYgSTQwRV9HTFFGX0hTWU1fU1lNSF9FTkFfTUFTSykgew0KCQkJCQlnX2NmZy0+c3ltX2hh c2hfZW5hYmxlX21hc2tbMF0gfD0NCgkJCQkJCQkJKDFVTEwgPDwgaSk7DQoJCQkJfQ0KCQkJfQ0K CQl9DQoJfQ0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfaGFzaF9nbG9iYWxf Y29uZmlnX2NoZWNrKGNvbnN0IHN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkYXB0ZXIsDQoJCQkgICAg ICBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9oYXNoX2dsb2JhbF9jb25mICpnX2NmZykNCnsNCgl1aW50 MzJfdCBpOw0KCXVpbnQ2NF90IG1hc2swLCBpNDBlX21hc2sgPSBhZGFwdGVyLT5mbG93X3R5cGVz X21hc2s7DQoNCglpZiAoZ19jZmctPmhhc2hfZnVuYyAhPSBSVEVfRVRIX0hBU0hfRlVOQ1RJT05f VE9FUExJVFogJiYNCgkJZ19jZmctPmhhc2hfZnVuYyAhPSBSVEVfRVRIX0hBU0hfRlVOQ1RJT05f U0lNUExFX1hPUiAmJg0KCQlnX2NmZy0+aGFzaF9mdW5jICE9IFJURV9FVEhfSEFTSF9GVU5DVElP Tl9ERUZBVUxUKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIlVuc3VwcG9ydGVkIGhhc2ggZnVuY3Rp b24gdHlwZSAlZCIsDQoJCQkJCQlnX2NmZy0+aGFzaF9mdW5jKTsNCgkJcmV0dXJuIC1FSU5WQUw7 DQoJfQ0KDQoJLyoNCgkgKiBBcyBpNDBlIHN1cHBvcnRzIGxlc3MgdGhhbiA2NCBmbG93IHR5cGVz LCBvbmx5IGZpcnN0IDY0IGJpdHMgbmVlZCB0bw0KCSAqIGJlIGNoZWNrZWQuDQoJICovDQoJbWFz azAgPSBnX2NmZy0+dmFsaWRfYml0X21hc2tbMF07DQoJZm9yIChpID0gMDsgaSA8IFJURV9TWU1f SEFTSF9NQVNLX0FSUkFZX1NJWkU7IGkrKykgew0KCQlpZiAoaSA9PSAwKSB7DQoJCQkvKiBDaGVj ayBpZiBhbnkgdW5zdXBwb3J0ZWQgZmxvdyB0eXBlIGNvbmZpZ3VyZWQgKi8NCgkJCWlmICgobWFz azAgfCBpNDBlX21hc2spIF4gaTQwZV9tYXNrKQ0KCQkJCWdvdG8gbWFza19lcnI7DQoJCX0gZWxz ZSB7DQoJCQlpZiAoZ19jZmctPnZhbGlkX2JpdF9tYXNrW2ldKQ0KCQkJCWdvdG8gbWFza19lcnI7 DQoJCX0NCgl9DQoNCglyZXR1cm4gMDsNCg0KbWFza19lcnI6DQoJUE1EX0RSVl9MT0coRVJSLCAi aTQwZSB1bnN1cHBvcnRlZCBmbG93IHR5cGUgYml0KHMpIGNvbmZpZ3VyZWQiKTsNCg0KCXJldHVy biAtRUlOVkFMOw0KfQ0KDQovKg0KICogU2V0IGdsb2JhbCBjb25maWd1cmF0aW9ucyBvZiBoYXNo IGZ1bmN0aW9uIHR5cGUgYW5kIHN5bW1ldHJpYyBoYXNoIGVuYWJsZQ0KICogcGVyIGZsb3cgdHlw ZSAocGN0eXBlKS4gTm90ZSBhbnkgbW9kaWZ5aW5nIGdsb2JhbCBjb25maWd1cmF0aW9uIHdpbGwg YWZmZWN0DQogKiBhbGwgdGhlIHBvcnRzIG9uIHRoZSBzYW1lIE5JQy4NCiAqLw0Kc3RhdGljIGlu dA0KaTQwZV9zZXRfaGFzaF9maWx0ZXJfZ2xvYmFsX2NvbmZpZyhzdHJ1Y3QgaTQwZV9odyAqaHcs DQoJCQkJICAgc3RydWN0IHJ0ZV9ldGhfaGFzaF9nbG9iYWxfY29uZiAqZ19jZmcpDQp7DQoJc3Ry dWN0IGk0MGVfYWRhcHRlciAqYWRhcHRlciA9IChzdHJ1Y3QgaTQwZV9hZGFwdGVyICopaHctPmJh Y2s7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gJigoc3RydWN0IGk0MGVfYWRhcHRlciAqKWh3LT5i YWNrKS0+cGY7DQoJaW50IHJldDsNCgl1aW50MTZfdCBpLCBqOw0KCXVpbnQzMl90IHJlZzsNCgl1 aW50NjRfdCBtYXNrMCA9IGdfY2ZnLT52YWxpZF9iaXRfbWFza1swXSAmIGFkYXB0ZXItPmZsb3df dHlwZXNfbWFzazsNCg0KCWlmIChwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIpIHsNCgkJUE1EX0RS Vl9MT0coRVJSLCAiSGFzaCBnbG9iYWwgY29uZmlndXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIp Ow0KCQlyZXR1cm4gLUVOT1RTVVA7DQoJfQ0KDQoJLyogQ2hlY2sgdGhlIGlucHV0IHBhcmFtZXRl cnMgKi8NCglyZXQgPSBpNDBlX2hhc2hfZ2xvYmFsX2NvbmZpZ19jaGVjayhhZGFwdGVyLCBnX2Nm Zyk7DQoJaWYgKHJldCA8IDApDQoJCXJldHVybiByZXQ7DQoNCgkvKg0KCSAqIEFzIGk0MGUgc3Vw cG9ydHMgbGVzcyB0aGFuIDY0IGZsb3cgdHlwZXMsIG9ubHkgZmlyc3QgNjQgYml0cyBuZWVkIHRv DQoJICogYmUgY29uZmlndXJlZC4NCgkgKi8NCglmb3IgKGkgPSBSVEVfRVRIX0ZMT1dfVU5LTk9X TiArIDE7IG1hc2swICYmIGkgPCBVSU5UNjRfQklUOyBpKyspIHsNCgkJaWYgKG1hc2swICYgKDFV TCA8PCBpKSkgew0KCQkJcmVnID0gKGdfY2ZnLT5zeW1faGFzaF9lbmFibGVfbWFza1swXSAmICgx VUxMIDw8IGkpKSA/DQoJCQkJCUk0MEVfR0xRRl9IU1lNX1NZTUhfRU5BX01BU0sgOiAwOw0KDQoJ CQlmb3IgKGogPSBJNDBFX0ZJTFRFUl9QQ1RZUEVfSU5WQUxJRCArIDE7DQoJCQkgICAgIGogPCBJ NDBFX0ZJTFRFUl9QQ1RZUEVfTUFYOyBqKyspIHsNCgkJCQlpZiAoYWRhcHRlci0+cGN0eXBlc190 YmxbaV0gJiAoMVVMTCA8PCBqKSkNCgkJCQkJaTQwZV93cml0ZV9nbG9iYWxfcnhfY3RsKGh3LA0K CQkJCQkJCSAgSTQwRV9HTFFGX0hTWU0oaiksDQoJCQkJCQkJICByZWcpOw0KCQkJfQ0KCQl9DQoJ fQ0KDQoJcmVnID0gaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9HTFFGX0NUTCk7DQoJaWYgKGdf Y2ZnLT5oYXNoX2Z1bmMgPT0gUlRFX0VUSF9IQVNIX0ZVTkNUSU9OX1RPRVBMSVRaKSB7DQoJCS8q IFRvZXBsaXR6ICovDQoJCWlmIChyZWcgJiBJNDBFX0dMUUZfQ1RMX0hUT0VQX01BU0spIHsNCgkJ CVBNRF9EUlZfTE9HKERFQlVHLA0KCQkJCSJIYXNoIGZ1bmN0aW9uIGFscmVhZHkgc2V0IHRvIFRv ZXBsaXR6Iik7DQoJCQlnb3RvIG91dDsNCgkJfQ0KCQlyZWcgfD0gSTQwRV9HTFFGX0NUTF9IVE9F UF9NQVNLOw0KCX0gZWxzZSBpZiAoZ19jZmctPmhhc2hfZnVuYyA9PSBSVEVfRVRIX0hBU0hfRlVO Q1RJT05fU0lNUExFX1hPUikgew0KCQkvKiBTaW1wbGUgWE9SICovDQoJCWlmICghKHJlZyAmIEk0 MEVfR0xRRl9DVExfSFRPRVBfTUFTSykpIHsNCgkJCVBNRF9EUlZfTE9HKERFQlVHLA0KCQkJCSJI YXNoIGZ1bmN0aW9uIGFscmVhZHkgc2V0IHRvIFNpbXBsZSBYT1IiKTsNCgkJCWdvdG8gb3V0Ow0K CQl9DQoJCXJlZyAmPSB+STQwRV9HTFFGX0NUTF9IVE9FUF9NQVNLOw0KCX0gZWxzZQ0KCQkvKiBV c2UgdGhlIGRlZmF1bHQsIGFuZCBrZWVwIGl0IGFzIGl0IGlzICovDQoJCWdvdG8gb3V0Ow0KDQoJ aTQwZV93cml0ZV9nbG9iYWxfcnhfY3RsKGh3LCBJNDBFX0dMUUZfQ1RMLCByZWcpOw0KDQpvdXQ6 DQoJSTQwRV9XUklURV9GTFVTSChodyk7DQoNCglyZXR1cm4gMDsNCn0NCg0KLyoqDQogKiBWYWxp ZCBpbnB1dCBzZXRzIGZvciBoYXNoIGFuZCBmbG93IGRpcmVjdG9yIGZpbHRlcnMgcGVyIFBDVFlQ RQ0KICovDQpzdGF0aWMgdWludDY0X3QNCmk0MGVfZ2V0X3ZhbGlkX2lucHV0X3NldChlbnVtIGk0 MGVfZmlsdGVyX3BjdHlwZSBwY3R5cGUsDQoJCWVudW0gcnRlX2ZpbHRlcl90eXBlIGZpbHRlcikN CnsNCgl1aW50NjRfdCB2YWxpZDsNCg0KCXN0YXRpYyBjb25zdCB1aW50NjRfdCB2YWxpZF9oYXNo X2luc2V0X3RhYmxlW10gPSB7DQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfRlJBR19JUFY0XSA9DQoJ CQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VUX1NNQUMgfA0KCQkJSTQwRV9JTlNFVF9WTEFO X09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9UVU5O RUwgfCBJNDBFX0lOU0VUX0lQVjRfU1JDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNF9EU1QgfCBJNDBF X0lOU0VUX0lQVjRfVE9TIHwNCgkJCUk0MEVfSU5TRVRfSVBWNF9QUk9UTyB8IEk0MEVfSU5TRVRf SVBWNF9UVEwgfA0KCQkJSTQwRV9JTlNFVF9UVU5ORUxfRE1BQyB8IEk0MEVfSU5TRVRfVFVOTkVM X0lEIHwNCgkJCUk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0KCQlbSTQwRV9GSUxURVJfUENUWVBF X05PTkZfSVBWNF9VRFBdID0NCgkJCUk0MEVfSU5TRVRfRE1BQyB8IEk0MEVfSU5TRVRfU01BQyB8 DQoJCQlJNDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQkJ STQwRV9JTlNFVF9WTEFOX1RVTk5FTCB8IEk0MEVfSU5TRVRfSVBWNF9UT1MgfA0KCQkJSTQwRV9J TlNFVF9JUFY0X1BST1RPIHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCQlJNDBFX0lOU0VUX1RV Tk5FTF9ETUFDIHwgSTQwRV9JTlNFVF9UVU5ORUxfSUQgfA0KCQkJSTQwRV9JTlNFVF9JUFY0X1NS QyB8IEk0MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVf SU5TRVRfRFNUX1BPUlQgfA0KCQkJSTQwRV9JTlNFVF9GTEVYX1BBWUxPQUQsDQoJCVtJNDBFX0ZJ TFRFUl9QQ1RZUEVfTk9ORl9VTklDQVNUX0lQVjRfVURQXSA9DQoJCQlJNDBFX0lOU0VUX0RNQUMg fCBJNDBFX0lOU0VUX1NNQUMgfA0KCQkJSTQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNF VF9WTEFOX0lOTkVSIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9UVU5ORUwgfCBJNDBFX0lOU0VUX0lQ VjRfVE9TIHwNCgkJCUk0MEVfSU5TRVRfSVBWNF9QUk9UTyB8IEk0MEVfSU5TRVRfSVBWNF9UVEwg fA0KCQkJSTQwRV9JTlNFVF9UVU5ORUxfRE1BQyB8IEk0MEVfSU5TRVRfVFVOTkVMX0lEIHwNCgkJ CUk0MEVfSU5TRVRfSVBWNF9TUkMgfCBJNDBFX0lOU0VUX0lQVjRfRFNUIHwNCgkJCUk0MEVfSU5T RVRfU1JDX1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JUIHwNCgkJCUk0MEVfSU5TRVRfRkxFWF9Q QVlMT0FELA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZfTVVMVElDQVNUX0lQVjRfVURQXSA9 DQoJCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VUX1NNQUMgfA0KCQkJSTQwRV9JTlNFVF9W TEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9U VU5ORUwgfCBJNDBFX0lOU0VUX0lQVjRfVE9TIHwNCgkJCUk0MEVfSU5TRVRfSVBWNF9QUk9UTyB8 IEk0MEVfSU5TRVRfSVBWNF9UVEwgfA0KCQkJSTQwRV9JTlNFVF9UVU5ORUxfRE1BQyB8IEk0MEVf SU5TRVRfVFVOTkVMX0lEIHwNCgkJCUk0MEVfSU5TRVRfSVBWNF9TUkMgfCBJNDBFX0lOU0VUX0lQ VjRfRFNUIHwNCgkJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JUIHwN CgkJCUk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZf SVBWNF9UQ1BdID0NCgkJCUk0MEVfSU5TRVRfRE1BQyB8IEk0MEVfSU5TRVRfU01BQyB8DQoJCQlJ NDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQkJSTQwRV9J TlNFVF9WTEFOX1RVTk5FTCB8IEk0MEVfSU5TRVRfSVBWNF9UT1MgfA0KCQkJSTQwRV9JTlNFVF9J UFY0X1BST1RPIHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCQlJNDBFX0lOU0VUX1RVTk5FTF9E TUFDIHwgSTQwRV9JTlNFVF9UVU5ORUxfSUQgfA0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0 MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRf RFNUX1BPUlQgfA0KCQkJSTQwRV9JTlNFVF9UQ1BfRkxBR1MgfCBJNDBFX0lOU0VUX0ZMRVhfUEFZ TE9BRCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjRfVENQX1NZTl9OT19BQ0tdID0N CgkJCUk0MEVfSU5TRVRfRE1BQyB8IEk0MEVfSU5TRVRfU01BQyB8DQoJCQlJNDBFX0lOU0VUX1ZM QU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQkJSTQwRV9JTlNFVF9WTEFOX1RV Tk5FTCB8IEk0MEVfSU5TRVRfSVBWNF9UT1MgfA0KCQkJSTQwRV9JTlNFVF9JUFY0X1BST1RPIHwg STQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCQlJNDBFX0lOU0VUX1RVTk5FTF9ETUFDIHwgSTQwRV9J TlNFVF9UVU5ORUxfSUQgfA0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRfSVBW NF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNUX1BPUlQgfA0K CQkJSTQwRV9JTlNFVF9UQ1BfRkxBR1MgfCBJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRCwNCgkJW0k0 MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjRfU0NUUF0gPQ0KCQkJSTQwRV9JTlNFVF9ETUFDIHwg STQwRV9JTlNFVF9TTUFDIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8IEk0MEVfSU5TRVRf VkxBTl9JTk5FUiB8DQoJCQlJNDBFX0lOU0VUX1ZMQU5fVFVOTkVMIHwgSTQwRV9JTlNFVF9JUFY0 X1RPUyB8DQoJCQlJNDBFX0lOU0VUX0lQVjRfUFJPVE8gfCBJNDBFX0lOU0VUX0lQVjRfVFRMIHwN CgkJCUk0MEVfSU5TRVRfVFVOTkVMX0RNQUMgfCBJNDBFX0lOU0VUX1RVTk5FTF9JRCB8DQoJCQlJ NDBFX0lOU0VUX0lQVjRfU1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCQlJNDBFX0lOU0VU X1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9SVCB8DQoJCQlJNDBFX0lOU0VUX1NDVFBfVlQg fCBJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQ VjRfT1RIRVJdID0NCgkJCUk0MEVfSU5TRVRfRE1BQyB8IEk0MEVfSU5TRVRfU01BQyB8DQoJCQlJ NDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQkJSTQwRV9J TlNFVF9WTEFOX1RVTk5FTCB8IEk0MEVfSU5TRVRfSVBWNF9UT1MgfA0KCQkJSTQwRV9JTlNFVF9J UFY0X1BST1RPIHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCQlJNDBFX0lOU0VUX1RVTk5FTF9E TUFDIHwgSTQwRV9JTlNFVF9UVU5ORUxfSUQgfA0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0 MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9GTEVYX1BBWUxPQUQsDQoJCVtJNDBF X0ZJTFRFUl9QQ1RZUEVfRlJBR19JUFY2XSA9DQoJCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lO U0VUX1NNQUMgfA0KCQkJSTQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lO TkVSIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9UVU5ORUwgfCBJNDBFX0lOU0VUX0lQVjZfVEMgfA0K CQkJSTQwRV9JTlNFVF9JUFY2X0ZMT1cgfCBJNDBFX0lOU0VUX0lQVjZfTkVYVF9IRFIgfA0KCQkJ STQwRV9JTlNFVF9JUFY2X0hPUF9MSU1JVCB8IEk0MEVfSU5TRVRfVFVOTkVMX0RNQUMgfA0KCQkJ STQwRV9JTlNFVF9UVU5ORUxfSUQgfCBJNDBFX0lOU0VUX0lQVjZfU1JDIHwNCgkJCUk0MEVfSU5T RVRfSVBWNl9EU1QgfCBJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRCwNCgkJW0k0MEVfRklMVEVSX1BD VFlQRV9OT05GX0lQVjZfVURQXSA9DQoJCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VUX1NN QUMgfA0KCQkJSTQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwN CgkJCUk0MEVfSU5TRVRfVkxBTl9UVU5ORUwgfCBJNDBFX0lOU0VUX0lQVjZfVEMgfA0KCQkJSTQw RV9JTlNFVF9JUFY2X0ZMT1cgfCBJNDBFX0lOU0VUX0lQVjZfTkVYVF9IRFIgfA0KCQkJSTQwRV9J TlNFVF9JUFY2X0hPUF9MSU1JVCB8IEk0MEVfSU5TRVRfSVBWNl9TUkMgfA0KCQkJSTQwRV9JTlNF VF9JUFY2X0RTVCB8IEk0MEVfSU5TRVRfU1JDX1BPUlQgfA0KCQkJSTQwRV9JTlNFVF9EU1RfUE9S VCB8IEk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZf VU5JQ0FTVF9JUFY2X1VEUF0gPQ0KCQkJSTQwRV9JTlNFVF9ETUFDIHwgSTQwRV9JTlNFVF9TTUFD IHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8IEk0MEVfSU5TRVRfVkxBTl9JTk5FUiB8DQoJ CQlJNDBFX0lOU0VUX1ZMQU5fVFVOTkVMIHwgSTQwRV9JTlNFVF9JUFY2X1RDIHwNCgkJCUk0MEVf SU5TRVRfSVBWNl9GTE9XIHwgSTQwRV9JTlNFVF9JUFY2X05FWFRfSERSIHwNCgkJCUk0MEVfSU5T RVRfSVBWNl9IT1BfTElNSVQgfCBJNDBFX0lOU0VUX0lQVjZfU1JDIHwNCgkJCUk0MEVfSU5TRVRf SVBWNl9EU1QgfCBJNDBFX0lOU0VUX1NSQ19QT1JUIHwNCgkJCUk0MEVfSU5TRVRfRFNUX1BPUlQg fCBJNDBFX0lOU0VUX1RDUF9GTEFHUyB8DQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRCwNCgkJ W0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX01VTFRJQ0FTVF9JUFY2X1VEUF0gPQ0KCQkJSTQwRV9J TlNFVF9ETUFDIHwgSTQwRV9JTlNFVF9TTUFDIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8 IEk0MEVfSU5TRVRfVkxBTl9JTk5FUiB8DQoJCQlJNDBFX0lOU0VUX1ZMQU5fVFVOTkVMIHwgSTQw RV9JTlNFVF9JUFY2X1RDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9GTE9XIHwgSTQwRV9JTlNFVF9J UFY2X05FWFRfSERSIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVQgfCBJNDBFX0lOU0VU X0lQVjZfU1JDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9EU1QgfCBJNDBFX0lOU0VUX1NSQ19QT1JU IHwNCgkJCUk0MEVfSU5TRVRfRFNUX1BPUlQgfCBJNDBFX0lOU0VUX1RDUF9GTEFHUyB8DQoJCQlJ NDBFX0lOU0VUX0ZMRVhfUEFZTE9BRCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjZf VENQXSA9DQoJCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VUX1NNQUMgfA0KCQkJSTQwRV9J TlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJCUk0MEVfSU5TRVRf VkxBTl9UVU5ORUwgfCBJNDBFX0lOU0VUX0lQVjZfVEMgfA0KCQkJSTQwRV9JTlNFVF9JUFY2X0ZM T1cgfCBJNDBFX0lOU0VUX0lQVjZfTkVYVF9IRFIgfA0KCQkJSTQwRV9JTlNFVF9JUFY2X0hPUF9M SU1JVCB8IEk0MEVfSU5TRVRfSVBWNl9TUkMgfA0KCQkJSTQwRV9JTlNFVF9JUFY2X0RTVCB8IEk0 MEVfSU5TRVRfU1JDX1BPUlQgfA0KCQkJSTQwRV9JTlNFVF9EU1RfUE9SVCB8IEk0MEVfSU5TRVRf VENQX0ZMQUdTIHwNCgkJCUk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0KCQlbSTQwRV9GSUxURVJf UENUWVBFX05PTkZfSVBWNl9UQ1BfU1lOX05PX0FDS10gPQ0KCQkJSTQwRV9JTlNFVF9ETUFDIHwg STQwRV9JTlNFVF9TTUFDIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8IEk0MEVfSU5TRVRf VkxBTl9JTk5FUiB8DQoJCQlJNDBFX0lOU0VUX1ZMQU5fVFVOTkVMIHwgSTQwRV9JTlNFVF9JUFY2 X1RDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9GTE9XIHwgSTQwRV9JTlNFVF9JUFY2X05FWFRfSERS IHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVQgfCBJNDBFX0lOU0VUX0lQVjZfU1JDIHwN CgkJCUk0MEVfSU5TRVRfSVBWNl9EU1QgfCBJNDBFX0lOU0VUX1NSQ19QT1JUIHwNCgkJCUk0MEVf SU5TRVRfRFNUX1BPUlQgfCBJNDBFX0lOU0VUX1RDUF9GTEFHUyB8DQoJCQlJNDBFX0lOU0VUX0ZM RVhfUEFZTE9BRCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjZfU0NUUF0gPQ0KCQkJ STQwRV9JTlNFVF9ETUFDIHwgSTQwRV9JTlNFVF9TTUFDIHwNCgkJCUk0MEVfSU5TRVRfVkxBTl9P VVRFUiB8IEk0MEVfSU5TRVRfVkxBTl9JTk5FUiB8DQoJCQlJNDBFX0lOU0VUX1ZMQU5fVFVOTkVM IHwgSTQwRV9JTlNFVF9JUFY2X1RDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9GTE9XIHwgSTQwRV9J TlNFVF9JUFY2X05FWFRfSERSIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVQgfCBJNDBF X0lOU0VUX0lQVjZfU1JDIHwNCgkJCUk0MEVfSU5TRVRfSVBWNl9EU1QgfCBJNDBFX0lOU0VUX1NS Q19QT1JUIHwNCgkJCUk0MEVfSU5TRVRfRFNUX1BPUlQgfCBJNDBFX0lOU0VUX1NDVFBfVlQgfA0K CQkJSTQwRV9JTlNFVF9GTEVYX1BBWUxPQUQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9J UFY2X09USEVSXSA9DQoJCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VUX1NNQUMgfA0KCQkJ STQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJCUk0MEVf SU5TRVRfVkxBTl9UVU5ORUwgfCBJNDBFX0lOU0VUX0lQVjZfVEMgfA0KCQkJSTQwRV9JTlNFVF9J UFY2X0ZMT1cgfCBJNDBFX0lOU0VUX0lQVjZfTkVYVF9IRFIgfA0KCQkJSTQwRV9JTlNFVF9JUFY2 X0hPUF9MSU1JVCB8IEk0MEVfSU5TRVRfSVBWNl9TUkMgfA0KCQkJSTQwRV9JTlNFVF9JUFY2X0RT VCB8IEk0MEVfSU5TRVRfVFVOTkVMX0lEIHwNCgkJCUk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0K CQlbSTQwRV9GSUxURVJfUENUWVBFX0wyX1BBWUxPQURdID0NCgkJCUk0MEVfSU5TRVRfRE1BQyB8 IEk0MEVfSU5TRVRfU01BQyB8DQoJCQlJNDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VU X1ZMQU5fSU5ORVIgfA0KCQkJSTQwRV9JTlNFVF9WTEFOX1RVTk5FTCB8IEk0MEVfSU5TRVRfTEFT VF9FVEhFUl9UWVBFIHwNCgkJCUk0MEVfSU5TRVRfRkxFWF9QQVlMT0FELA0KCX07DQoNCgkvKioN CgkgKiBGbG93IGRpcmVjdG9yIHN1cHBvcnRzIG9ubHkgZmllbGRzIGRlZmluZWQgaW4NCgkgKiB1 bmlvbiBydGVfZXRoX2ZkaXJfZmxvdy4NCgkgKi8NCglzdGF0aWMgY29uc3QgdWludDY0X3QgdmFs aWRfZmRpcl9pbnNldF90YWJsZVtdID0gew0KCQlbSTQwRV9GSUxURVJfUENUWVBFX0ZSQUdfSVBW NF0gPQ0KCQlJNDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0K CQlJNDBFX0lOU0VUX0lQVjRfU1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCUk0MEVfSU5T RVRfSVBWNF9UT1MgfCBJNDBFX0lOU0VUX0lQVjRfUFJPVE8gfA0KCQlJNDBFX0lOU0VUX0lQVjRf VFRMLA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZfSVBWNF9VRFBdID0NCgkJSTQwRV9JTlNF VF9ETUFDIHwgSTQwRV9JTlNFVF9TTUFDIHwNCgkJSTQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQw RV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRf SVBWNF9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjRfVE9TIHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8 DQoJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JULA0KCQlbSTQwRV9G SUxURVJfUENUWVBFX05PTkZfVU5JQ0FTVF9JUFY0X1VEUF0gPQ0KCQlJNDBFX0lOU0VUX1ZMQU5f T1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQlJNDBFX0lOU0VUX0lQVjRfU1JDIHwg STQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCUk0MEVfSU5TRVRfSVBWNF9UT1MgfCBJNDBFX0lOU0VU X0lQVjRfVFRMIHwNCgkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNUX1BPUlQs DQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9NVUxUSUNBU1RfSVBWNF9VRFBdID0NCgkJSTQw RV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNF VF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjRfVE9T IHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBFX0lO U0VUX0RTVF9QT1JULA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZfSVBWNF9UQ1BdID0NCgkJ STQwRV9JTlNFVF9ETUFDIHwgSTQwRV9JTlNFVF9TTUFDIHwNCgkJSTQwRV9JTlNFVF9WTEFOX09V VEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0 MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjRfVE9TIHwgSTQwRV9JTlNFVF9J UFY0X1RUTCB8DQoJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JULA0K CQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZfSVBWNF9UQ1BfU1lOX05PX0FDS10gPQ0KCQlJNDBF X0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQlJNDBFX0lOU0VU X0lQVjRfU1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCUk0MEVfSU5TRVRfSVBWNF9UT1Mg fCBJNDBFX0lOU0VUX0lQVjRfVFRMIHwNCgkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5T RVRfRFNUX1BPUlQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY0X1NDVFBdID0NCgkJ STQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9J TlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjRf VE9TIHwgSTQwRV9JTlNFVF9JUFY0X1RUTCB8DQoJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBF X0lOU0VUX0RTVF9QT1JUIHwNCgkJSTQwRV9JTlNFVF9TQ1RQX1ZULA0KCQlbSTQwRV9GSUxURVJf UENUWVBFX05PTkZfSVBWNF9PVEhFUl0gPQ0KCQlJNDBFX0lOU0VUX0RNQUMgfCBJNDBFX0lOU0VU X1NNQUMgfA0KCQlJNDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIg fA0KCQlJNDBFX0lOU0VUX0lQVjRfU1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCUk0MEVf SU5TRVRfSVBWNF9UT1MgfCBJNDBFX0lOU0VUX0lQVjRfUFJPVE8gfA0KCQlJNDBFX0lOU0VUX0lQ VjRfVFRMLA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX0ZSQUdfSVBWNl0gPQ0KCQlJNDBFX0lOU0VU X1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQlJNDBFX0lOU0VUX0lQVjZf U1JDIHwgSTQwRV9JTlNFVF9JUFY2X0RTVCB8DQoJCUk0MEVfSU5TRVRfSVBWNl9UQyB8IEk0MEVf SU5TRVRfSVBWNl9ORVhUX0hEUiB8DQoJCUk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVQsDQoJCVtJ NDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY2X1VEUF0gPQ0KCQlJNDBFX0lOU0VUX1ZMQU5fT1VU RVIgfCBJNDBFX0lOU0VUX1ZMQU5fSU5ORVIgfA0KCQlJNDBFX0lOU0VUX0lQVjZfU1JDIHwgSTQw RV9JTlNFVF9JUFY2X0RTVCB8DQoJCUk0MEVfSU5TRVRfSVBWNl9UQyB8IEk0MEVfSU5TRVRfSVBW Nl9IT1BfTElNSVQgfA0KCQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9S VCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX1VOSUNBU1RfSVBWNl9VRFBdID0NCgkJSTQw RV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNF VF9JUFY2X1NSQyB8IEk0MEVfSU5TRVRfSVBWNl9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjZfVEMg fCBJNDBFX0lOU0VUX0lQVjZfSE9QX0xJTUlUIHwNCgkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0 MEVfSU5TRVRfRFNUX1BPUlQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9NVUxUSUNBU1Rf SVBWNl9VRFBdID0NCgkJSTQwRV9JTlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lO TkVSIHwNCgkJSTQwRV9JTlNFVF9JUFY2X1NSQyB8IEk0MEVfSU5TRVRfSVBWNl9EU1QgfA0KCQlJ NDBFX0lOU0VUX0lQVjZfVEMgfCBJNDBFX0lOU0VUX0lQVjZfSE9QX0xJTUlUIHwNCgkJSTQwRV9J TlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNUX1BPUlQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZ UEVfTk9ORl9JUFY2X1RDUF0gPQ0KCQlJNDBFX0lOU0VUX1ZMQU5fT1VURVIgfCBJNDBFX0lOU0VU X1ZMQU5fSU5ORVIgfA0KCQlJNDBFX0lOU0VUX0lQVjZfU1JDIHwgSTQwRV9JTlNFVF9JUFY2X0RT VCB8DQoJCUk0MEVfSU5TRVRfSVBWNl9UQyB8IEk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVQgfA0K CQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9SVCwNCgkJW0k0MEVfRklM VEVSX1BDVFlQRV9OT05GX0lQVjZfVENQX1NZTl9OT19BQ0tdID0NCgkJSTQwRV9JTlNFVF9WTEFO X09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNFVF9JUFY2X1NSQyB8 IEk0MEVfSU5TRVRfSVBWNl9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjZfVEMgfCBJNDBFX0lOU0VU X0lQVjZfSE9QX0xJTUlUIHwNCgkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNU X1BPUlQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY2X1NDVFBdID0NCgkJSTQwRV9J TlNFVF9WTEFOX09VVEVSIHwgSTQwRV9JTlNFVF9WTEFOX0lOTkVSIHwNCgkJSTQwRV9JTlNFVF9J UFY2X1NSQyB8IEk0MEVfSU5TRVRfSVBWNl9EU1QgfA0KCQlJNDBFX0lOU0VUX0lQVjZfVEMgfCBJ NDBFX0lOU0VUX0lQVjZfSE9QX0xJTUlUIHwNCgkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVf SU5TRVRfRFNUX1BPUlQgfA0KCQlJNDBFX0lOU0VUX1NDVFBfVlQsDQoJCVtJNDBFX0ZJTFRFUl9Q Q1RZUEVfTk9ORl9JUFY2X09USEVSXSA9DQoJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8IEk0MEVf SU5TRVRfVkxBTl9JTk5FUiB8DQoJCUk0MEVfSU5TRVRfSVBWNl9TUkMgfCBJNDBFX0lOU0VUX0lQ VjZfRFNUIHwNCgkJSTQwRV9JTlNFVF9JUFY2X1RDIHwgSTQwRV9JTlNFVF9JUFY2X05FWFRfSERS IHwNCgkJSTQwRV9JTlNFVF9JUFY2X0hPUF9MSU1JVCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9M Ml9QQVlMT0FEXSA9DQoJCUk0MEVfSU5TRVRfVkxBTl9PVVRFUiB8IEk0MEVfSU5TRVRfVkxBTl9J Tk5FUiB8DQoJCUk0MEVfSU5TRVRfTEFTVF9FVEhFUl9UWVBFLA0KCX07DQoNCglpZiAocGN0eXBl ID4gSTQwRV9GSUxURVJfUENUWVBFX0wyX1BBWUxPQUQpDQoJCXJldHVybiAwOw0KCWlmIChmaWx0 ZXIgPT0gUlRFX0VUSF9GSUxURVJfSEFTSCkNCgkJdmFsaWQgPSB2YWxpZF9oYXNoX2luc2V0X3Rh YmxlW3BjdHlwZV07DQoJZWxzZQ0KCQl2YWxpZCA9IHZhbGlkX2ZkaXJfaW5zZXRfdGFibGVbcGN0 eXBlXTsNCg0KCXJldHVybiB2YWxpZDsNCn0NCg0KLyoqDQogKiBWYWxpZGF0ZSBpZiB0aGUgaW5w dXQgc2V0IGlzIGFsbG93ZWQgZm9yIGEgc3BlY2lmaWMgUENUWVBFDQogKi8NCmludA0KaTQwZV92 YWxpZGF0ZV9pbnB1dF9zZXQoZW51bSBpNDBlX2ZpbHRlcl9wY3R5cGUgcGN0eXBlLA0KCQllbnVt IHJ0ZV9maWx0ZXJfdHlwZSBmaWx0ZXIsIHVpbnQ2NF90IGluc2V0KQ0Kew0KCXVpbnQ2NF90IHZh bGlkOw0KDQoJdmFsaWQgPSBpNDBlX2dldF92YWxpZF9pbnB1dF9zZXQocGN0eXBlLCBmaWx0ZXIp Ow0KCWlmIChpbnNldCAmICh+dmFsaWQpKQ0KCQlyZXR1cm4gLUVJTlZBTDsNCg0KCXJldHVybiAw Ow0KfQ0KDQovKiBkZWZhdWx0IGlucHV0IHNldCBmaWVsZHMgY29tYmluYXRpb24gcGVyIHBjdHlw ZSAqLw0KdWludDY0X3QNCmk0MGVfZ2V0X2RlZmF1bHRfaW5wdXRfc2V0KHVpbnQxNl90IHBjdHlw ZSkNCnsNCglzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdF9pbnNldF90YWJsZVtdID0gew0K CQlbSTQwRV9GSUxURVJfUENUWVBFX0ZSQUdfSVBWNF0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NS QyB8IEk0MEVfSU5TRVRfSVBWNF9EU1QsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY0 X1VEUF0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRfSVBWNF9EU1QgfA0K CQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNUX1BPUlQsDQoJCVtJNDBFX0ZJ TFRFUl9QQ1RZUEVfTk9ORl9VTklDQVNUX0lQVjRfVURQXSA9DQoJCQlJNDBFX0lOU0VUX0lQVjRf U1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJCQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQw RV9JTlNFVF9EU1RfUE9SVCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX01VTFRJQ0FTVF9J UFY0X1VEUF0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRfSVBWNF9EU1Qg fA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRfRFNUX1BPUlQsDQoJCVtJNDBF X0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY0X1RDUF0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8 IEk0MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5T RVRfRFNUX1BPUlQsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfTk9ORl9JUFY0X1RDUF9TWU5fTk9f QUNLXSA9DQoJCQlJNDBFX0lOU0VUX0lQVjRfU1JDIHwgSTQwRV9JTlNFVF9JUFY0X0RTVCB8DQoJ CQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9SVCwNCgkJW0k0MEVfRklM VEVSX1BDVFlQRV9OT05GX0lQVjRfU0NUUF0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0 MEVfSU5TRVRfSVBWNF9EU1QgfA0KCQkJSTQwRV9JTlNFVF9TUkNfUE9SVCB8IEk0MEVfSU5TRVRf RFNUX1BPUlQgfA0KCQkJSTQwRV9JTlNFVF9TQ1RQX1ZULA0KCQlbSTQwRV9GSUxURVJfUENUWVBF X05PTkZfSVBWNF9PVEhFUl0gPQ0KCQkJSTQwRV9JTlNFVF9JUFY0X1NSQyB8IEk0MEVfSU5TRVRf SVBWNF9EU1QsDQoJCVtJNDBFX0ZJTFRFUl9QQ1RZUEVfRlJBR19JUFY2XSA9DQoJCQlJNDBFX0lO U0VUX0lQVjZfU1JDIHwgSTQwRV9JTlNFVF9JUFY2X0RTVCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQ RV9OT05GX0lQVjZfVURQXSA9DQoJCQlJNDBFX0lOU0VUX0lQVjZfU1JDIHwgSTQwRV9JTlNFVF9J UFY2X0RTVCB8DQoJCQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9SVCwN CgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX1VOSUNBU1RfSVBWNl9VRFBdID0NCgkJCUk0MEVf SU5TRVRfSVBWNl9TUkMgfCBJNDBFX0lOU0VUX0lQVjZfRFNUIHwNCgkJCUk0MEVfSU5TRVRfU1JD X1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JULA0KCQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZf TVVMVElDQVNUX0lQVjZfVURQXSA9DQoJCQlJNDBFX0lOU0VUX0lQVjZfU1JDIHwgSTQwRV9JTlNF VF9JUFY2X0RTVCB8DQoJCQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwgSTQwRV9JTlNFVF9EU1RfUE9S VCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjZfVENQXSA9DQoJCQlJNDBFX0lOU0VU X0lQVjZfU1JDIHwgSTQwRV9JTlNFVF9JUFY2X0RTVCB8DQoJCQlJNDBFX0lOU0VUX1NSQ19QT1JU IHwgSTQwRV9JTlNFVF9EU1RfUE9SVCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9OT05GX0lQVjZf VENQX1NZTl9OT19BQ0tdID0NCgkJCUk0MEVfSU5TRVRfSVBWNl9TUkMgfCBJNDBFX0lOU0VUX0lQ VjZfRFNUIHwNCgkJCUk0MEVfSU5TRVRfU1JDX1BPUlQgfCBJNDBFX0lOU0VUX0RTVF9QT1JULA0K CQlbSTQwRV9GSUxURVJfUENUWVBFX05PTkZfSVBWNl9TQ1RQXSA9DQoJCQlJNDBFX0lOU0VUX0lQ VjZfU1JDIHwgSTQwRV9JTlNFVF9JUFY2X0RTVCB8DQoJCQlJNDBFX0lOU0VUX1NSQ19QT1JUIHwg STQwRV9JTlNFVF9EU1RfUE9SVCB8DQoJCQlJNDBFX0lOU0VUX1NDVFBfVlQsDQoJCVtJNDBFX0ZJ TFRFUl9QQ1RZUEVfTk9ORl9JUFY2X09USEVSXSA9DQoJCQlJNDBFX0lOU0VUX0lQVjZfU1JDIHwg STQwRV9JTlNFVF9JUFY2X0RTVCwNCgkJW0k0MEVfRklMVEVSX1BDVFlQRV9MMl9QQVlMT0FEXSA9 DQoJCQlJNDBFX0lOU0VUX0xBU1RfRVRIRVJfVFlQRSwNCgl9Ow0KDQoJaWYgKHBjdHlwZSA+IEk0 MEVfRklMVEVSX1BDVFlQRV9MMl9QQVlMT0FEKQ0KCQlyZXR1cm4gMDsNCg0KCXJldHVybiBkZWZh dWx0X2luc2V0X3RhYmxlW3BjdHlwZV07DQp9DQoNCi8qKg0KICogUGFyc2UgdGhlIGlucHV0IHNl dCBmcm9tIGluZGV4IHRvIGxvZ2ljYWwgYml0IG1hc2tzDQogKi8NCnN0YXRpYyBpbnQNCmk0MGVf cGFyc2VfaW5wdXRfc2V0KHVpbnQ2NF90ICppbnNldCwNCgkJICAgICBlbnVtIGk0MGVfZmlsdGVy X3BjdHlwZSBwY3R5cGUsDQoJCSAgICAgZW51bSBydGVfZXRoX2lucHV0X3NldF9maWVsZCAqZmll bGQsDQoJCSAgICAgdWludDE2X3Qgc2l6ZSkNCnsNCgl1aW50MTZfdCBpLCBqOw0KCWludCByZXQg PSAtRUlOVkFMOw0KDQoJc3RhdGljIGNvbnN0IHN0cnVjdCB7DQoJCWVudW0gcnRlX2V0aF9pbnB1 dF9zZXRfZmllbGQgZmllbGQ7DQoJCXVpbnQ2NF90IGluc2V0Ow0KCX0gaW5zZXRfY29udmVydF90 YWJsZVtdID0gew0KCQl7UlRFX0VUSF9JTlBVVF9TRVRfTk9ORSwgSTQwRV9JTlNFVF9OT05FfSwN CgkJe1JURV9FVEhfSU5QVVRfU0VUX0wyX1NSQ19NQUMsIEk0MEVfSU5TRVRfU01BQ30sDQoJCXtS VEVfRVRIX0lOUFVUX1NFVF9MMl9EU1RfTUFDLCBJNDBFX0lOU0VUX0RNQUN9LA0KCQl7UlRFX0VU SF9JTlBVVF9TRVRfTDJfT1VURVJfVkxBTiwgSTQwRV9JTlNFVF9WTEFOX09VVEVSfSwNCgkJe1JU RV9FVEhfSU5QVVRfU0VUX0wyX0lOTkVSX1ZMQU4sIEk0MEVfSU5TRVRfVkxBTl9JTk5FUn0sDQoJ CXtSVEVfRVRIX0lOUFVUX1NFVF9MMl9FVEhFUlRZUEUsIEk0MEVfSU5TRVRfTEFTVF9FVEhFUl9U WVBFfSwNCgkJe1JURV9FVEhfSU5QVVRfU0VUX0wzX1NSQ19JUDQsIEk0MEVfSU5TRVRfSVBWNF9T UkN9LA0KCQl7UlRFX0VUSF9JTlBVVF9TRVRfTDNfRFNUX0lQNCwgSTQwRV9JTlNFVF9JUFY0X0RT VH0sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9MM19JUDRfVE9TLCBJNDBFX0lOU0VUX0lQVjRfVE9T fSwNCgkJe1JURV9FVEhfSU5QVVRfU0VUX0wzX0lQNF9QUk9UTywgSTQwRV9JTlNFVF9JUFY0X1BS T1RPfSwNCgkJe1JURV9FVEhfSU5QVVRfU0VUX0wzX0lQNF9UVEwsIEk0MEVfSU5TRVRfSVBWNF9U VEx9LA0KCQl7UlRFX0VUSF9JTlBVVF9TRVRfTDNfU1JDX0lQNiwgSTQwRV9JTlNFVF9JUFY2X1NS Q30sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9MM19EU1RfSVA2LCBJNDBFX0lOU0VUX0lQVjZfRFNU fSwNCgkJe1JURV9FVEhfSU5QVVRfU0VUX0wzX0lQNl9UQywgSTQwRV9JTlNFVF9JUFY2X1RDfSwN CgkJe1JURV9FVEhfSU5QVVRfU0VUX0wzX0lQNl9ORVhUX0hFQURFUiwNCgkJCUk0MEVfSU5TRVRf SVBWNl9ORVhUX0hEUn0sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9MM19JUDZfSE9QX0xJTUlUUywN CgkJCUk0MEVfSU5TRVRfSVBWNl9IT1BfTElNSVR9LA0KCQl7UlRFX0VUSF9JTlBVVF9TRVRfTDRf VURQX1NSQ19QT1JULCBJNDBFX0lOU0VUX1NSQ19QT1JUfSwNCgkJe1JURV9FVEhfSU5QVVRfU0VU X0w0X1RDUF9TUkNfUE9SVCwgSTQwRV9JTlNFVF9TUkNfUE9SVH0sDQoJCXtSVEVfRVRIX0lOUFVU X1NFVF9MNF9TQ1RQX1NSQ19QT1JULCBJNDBFX0lOU0VUX1NSQ19QT1JUfSwNCgkJe1JURV9FVEhf SU5QVVRfU0VUX0w0X1VEUF9EU1RfUE9SVCwgSTQwRV9JTlNFVF9EU1RfUE9SVH0sDQoJCXtSVEVf RVRIX0lOUFVUX1NFVF9MNF9UQ1BfRFNUX1BPUlQsIEk0MEVfSU5TRVRfRFNUX1BPUlR9LA0KCQl7 UlRFX0VUSF9JTlBVVF9TRVRfTDRfU0NUUF9EU1RfUE9SVCwgSTQwRV9JTlNFVF9EU1RfUE9SVH0s DQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9MNF9TQ1RQX1ZFUklGSUNBVElPTl9UQUcsDQoJCQlJNDBF X0lOU0VUX1NDVFBfVlR9LA0KCQl7UlRFX0VUSF9JTlBVVF9TRVRfVFVOTkVMX0wyX0lOTkVSX0RT VF9NQUMsDQoJCQlJNDBFX0lOU0VUX1RVTk5FTF9ETUFDfSwNCgkJe1JURV9FVEhfSU5QVVRfU0VU X1RVTk5FTF9MMl9JTk5FUl9WTEFOLA0KCQkJSTQwRV9JTlNFVF9WTEFOX1RVTk5FTH0sDQoJCXtS VEVfRVRIX0lOUFVUX1NFVF9UVU5ORUxfTDRfVURQX0tFWSwNCgkJCUk0MEVfSU5TRVRfVFVOTkVM X0lEfSwNCgkJe1JURV9FVEhfSU5QVVRfU0VUX1RVTk5FTF9HUkVfS0VZLCBJNDBFX0lOU0VUX1RV Tk5FTF9JRH0sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9GTEVYX1BBWUxPQURfMVNUX1dPUkQsDQoJ CQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XMX0sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9GTEVY X1BBWUxPQURfMk5EX1dPUkQsDQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XMn0sDQoJCXtS VEVfRVRIX0lOUFVUX1NFVF9GTEVYX1BBWUxPQURfM1JEX1dPUkQsDQoJCQlJNDBFX0lOU0VUX0ZM RVhfUEFZTE9BRF9XM30sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9GTEVYX1BBWUxPQURfNFRIX1dP UkQsDQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XNH0sDQoJCXtSVEVfRVRIX0lOUFVUX1NF VF9GTEVYX1BBWUxPQURfNVRIX1dPUkQsDQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XNX0s DQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9GTEVYX1BBWUxPQURfNlRIX1dPUkQsDQoJCQlJNDBFX0lO U0VUX0ZMRVhfUEFZTE9BRF9XNn0sDQoJCXtSVEVfRVRIX0lOUFVUX1NFVF9GTEVYX1BBWUxPQURf N1RIX1dPUkQsDQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XN30sDQoJCXtSVEVfRVRIX0lO UFVUX1NFVF9GTEVYX1BBWUxPQURfOFRIX1dPUkQsDQoJCQlJNDBFX0lOU0VUX0ZMRVhfUEFZTE9B RF9XOH0sDQoJfTsNCg0KCWlmICghaW5zZXQgfHwgIWZpZWxkIHx8IHNpemUgPiBSVEVfRVRIX0lO U0VUX1NJWkVfTUFYKQ0KCQlyZXR1cm4gcmV0Ow0KDQoJLyogT25seSBvbmUgaXRlbSBhbGxvd2Vk IGZvciBkZWZhdWx0IG9yIGFsbCAqLw0KCWlmIChzaXplID09IDEpIHsNCgkJaWYgKGZpZWxkWzBd ID09IFJURV9FVEhfSU5QVVRfU0VUX0RFRkFVTFQpIHsNCgkJCSppbnNldCA9IGk0MGVfZ2V0X2Rl ZmF1bHRfaW5wdXRfc2V0KHBjdHlwZSk7DQoJCQlyZXR1cm4gMDsNCgkJfSBlbHNlIGlmIChmaWVs ZFswXSA9PSBSVEVfRVRIX0lOUFVUX1NFVF9OT05FKSB7DQoJCQkqaW5zZXQgPSBJNDBFX0lOU0VU X05PTkU7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0NCg0KCWZvciAoaSA9IDAsICppbnNldCA9IDA7 IGkgPCBzaXplOyBpKyspIHsNCgkJZm9yIChqID0gMDsgaiA8IFJURV9ESU0oaW5zZXRfY29udmVy dF90YWJsZSk7IGorKykgew0KCQkJaWYgKGZpZWxkW2ldID09IGluc2V0X2NvbnZlcnRfdGFibGVb al0uZmllbGQpIHsNCgkJCQkqaW5zZXQgfD0gaW5zZXRfY29udmVydF90YWJsZVtqXS5pbnNldDsN CgkJCQlicmVhazsNCgkJCX0NCgkJfQ0KDQoJCS8qIEl0IGNvbnRhaW5zIHVuc3VwcG9ydGVkIGlu cHV0IHNldCwgcmV0dXJuIGltbWVkaWF0ZWx5ICovDQoJCWlmIChqID09IFJURV9ESU0oaW5zZXRf Y29udmVydF90YWJsZSkpDQoJCQlyZXR1cm4gcmV0Ow0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQov KioNCiAqIFRyYW5zbGF0ZSB0aGUgaW5wdXQgc2V0IGZyb20gYml0IG1hc2tzIHRvIHJlZ2lzdGVy IGF3YXJlIGJpdCBtYXNrcw0KICogYW5kIHZpY2UgdmVyc2ENCiAqLw0KdWludDY0X3QNCmk0MGVf dHJhbnNsYXRlX2lucHV0X3NldF9yZWcoZW51bSBpNDBlX21hY190eXBlIHR5cGUsIHVpbnQ2NF90 IGlucHV0KQ0Kew0KCXVpbnQ2NF90IHZhbCA9IDA7DQoJdWludDE2X3QgaTsNCg0KCXN0cnVjdCBp bnNldF9tYXAgew0KCQl1aW50NjRfdCBpbnNldDsNCgkJdWludDY0X3QgaW5zZXRfcmVnOw0KCX07 DQoNCglzdGF0aWMgY29uc3Qgc3RydWN0IGluc2V0X21hcCBpbnNldF9tYXBfY29tbW9uW10gPSB7 DQoJCXtJNDBFX0lOU0VUX0RNQUMsIEk0MEVfUkVHX0lOU0VUX0wyX0RNQUN9LA0KCQl7STQwRV9J TlNFVF9TTUFDLCBJNDBFX1JFR19JTlNFVF9MMl9TTUFDfSwNCgkJe0k0MEVfSU5TRVRfVkxBTl9P VVRFUiwgSTQwRV9SRUdfSU5TRVRfTDJfT1VURVJfVkxBTn0sDQoJCXtJNDBFX0lOU0VUX1ZMQU5f SU5ORVIsIEk0MEVfUkVHX0lOU0VUX0wyX0lOTkVSX1ZMQU59LA0KCQl7STQwRV9JTlNFVF9MQVNU X0VUSEVSX1RZUEUsIEk0MEVfUkVHX0lOU0VUX0xBU1RfRVRIRVJfVFlQRX0sDQoJCXtJNDBFX0lO U0VUX0lQVjRfVE9TLCBJNDBFX1JFR19JTlNFVF9MM19JUDRfVE9TfSwNCgkJe0k0MEVfSU5TRVRf SVBWNl9TUkMsIEk0MEVfUkVHX0lOU0VUX0wzX1NSQ19JUDZ9LA0KCQl7STQwRV9JTlNFVF9JUFY2 X0RTVCwgSTQwRV9SRUdfSU5TRVRfTDNfRFNUX0lQNn0sDQoJCXtJNDBFX0lOU0VUX0lQVjZfVEMs IEk0MEVfUkVHX0lOU0VUX0wzX0lQNl9UQ30sDQoJCXtJNDBFX0lOU0VUX0lQVjZfTkVYVF9IRFIs IEk0MEVfUkVHX0lOU0VUX0wzX0lQNl9ORVhUX0hEUn0sDQoJCXtJNDBFX0lOU0VUX0lQVjZfSE9Q X0xJTUlULCBJNDBFX1JFR19JTlNFVF9MM19JUDZfSE9QX0xJTUlUfSwNCgkJe0k0MEVfSU5TRVRf U1JDX1BPUlQsIEk0MEVfUkVHX0lOU0VUX0w0X1NSQ19QT1JUfSwNCgkJe0k0MEVfSU5TRVRfRFNU X1BPUlQsIEk0MEVfUkVHX0lOU0VUX0w0X0RTVF9QT1JUfSwNCgkJe0k0MEVfSU5TRVRfU0NUUF9W VCwgSTQwRV9SRUdfSU5TRVRfTDRfU0NUUF9WRVJJRklDQVRJT05fVEFHfSwNCgkJe0k0MEVfSU5T RVRfVFVOTkVMX0lELCBJNDBFX1JFR19JTlNFVF9UVU5ORUxfSUR9LA0KCQl7STQwRV9JTlNFVF9U VU5ORUxfRE1BQywNCgkJCUk0MEVfUkVHX0lOU0VUX1RVTk5FTF9MMl9JTk5FUl9EU1RfTUFDfSwN CgkJe0k0MEVfSU5TRVRfVFVOTkVMX0lQVjRfRFNULCBJNDBFX1JFR19JTlNFVF9UVU5ORUxfTDNf RFNUX0lQNH0sDQoJCXtJNDBFX0lOU0VUX1RVTk5FTF9JUFY2X0RTVCwgSTQwRV9SRUdfSU5TRVRf VFVOTkVMX0wzX0RTVF9JUDZ9LA0KCQl7STQwRV9JTlNFVF9UVU5ORUxfU1JDX1BPUlQsDQoJCQlJ NDBFX1JFR19JTlNFVF9UVU5ORUxfTDRfVURQX1NSQ19QT1JUfSwNCgkJe0k0MEVfSU5TRVRfVFVO TkVMX0RTVF9QT1JULA0KCQkJSTQwRV9SRUdfSU5TRVRfVFVOTkVMX0w0X1VEUF9EU1RfUE9SVH0s DQoJCXtJNDBFX0lOU0VUX1ZMQU5fVFVOTkVMLCBJNDBFX1JFR19JTlNFVF9UVU5ORUxfVkxBTn0s DQoJCXtJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XMSwgSTQwRV9SRUdfSU5TRVRfRkxFWF9QQVlM T0FEX1dPUkQxfSwNCgkJe0k0MEVfSU5TRVRfRkxFWF9QQVlMT0FEX1cyLCBJNDBFX1JFR19JTlNF VF9GTEVYX1BBWUxPQURfV09SRDJ9LA0KCQl7STQwRV9JTlNFVF9GTEVYX1BBWUxPQURfVzMsIEk0 MEVfUkVHX0lOU0VUX0ZMRVhfUEFZTE9BRF9XT1JEM30sDQoJCXtJNDBFX0lOU0VUX0ZMRVhfUEFZ TE9BRF9XNCwgSTQwRV9SRUdfSU5TRVRfRkxFWF9QQVlMT0FEX1dPUkQ0fSwNCgkJe0k0MEVfSU5T RVRfRkxFWF9QQVlMT0FEX1c1LCBJNDBFX1JFR19JTlNFVF9GTEVYX1BBWUxPQURfV09SRDV9LA0K CQl7STQwRV9JTlNFVF9GTEVYX1BBWUxPQURfVzYsIEk0MEVfUkVHX0lOU0VUX0ZMRVhfUEFZTE9B RF9XT1JENn0sDQoJCXtJNDBFX0lOU0VUX0ZMRVhfUEFZTE9BRF9XNywgSTQwRV9SRUdfSU5TRVRf RkxFWF9QQVlMT0FEX1dPUkQ3fSwNCgkJe0k0MEVfSU5TRVRfRkxFWF9QQVlMT0FEX1c4LCBJNDBF X1JFR19JTlNFVF9GTEVYX1BBWUxPQURfV09SRDh9LA0KCX07DQoNCiAgICAvKiBzb21lIGRpZmZl cmVudCByZWdpc3RlcnMgbWFwIGluIHg3MjIqLw0KCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW5zZXRf bWFwIGluc2V0X21hcF9kaWZmX3g3MjJbXSA9IHsNCgkJe0k0MEVfSU5TRVRfSVBWNF9TUkMsIEk0 MEVfWDcyMl9SRUdfSU5TRVRfTDNfU1JDX0lQNH0sDQoJCXtJNDBFX0lOU0VUX0lQVjRfRFNULCBJ NDBFX1g3MjJfUkVHX0lOU0VUX0wzX0RTVF9JUDR9LA0KCQl7STQwRV9JTlNFVF9JUFY0X1BST1RP LCBJNDBFX1g3MjJfUkVHX0lOU0VUX0wzX0lQNF9QUk9UT30sDQoJCXtJNDBFX0lOU0VUX0lQVjRf VFRMLCBJNDBFX1g3MjJfUkVHX0lOU0VUX0wzX0lQNF9UVEx9LA0KCX07DQoNCglzdGF0aWMgY29u c3Qgc3RydWN0IGluc2V0X21hcCBpbnNldF9tYXBfZGlmZl9ub3RfeDcyMltdID0gew0KCQl7STQw RV9JTlNFVF9JUFY0X1NSQywgSTQwRV9SRUdfSU5TRVRfTDNfU1JDX0lQNH0sDQoJCXtJNDBFX0lO U0VUX0lQVjRfRFNULCBJNDBFX1JFR19JTlNFVF9MM19EU1RfSVA0fSwNCgkJe0k0MEVfSU5TRVRf SVBWNF9QUk9UTywgSTQwRV9SRUdfSU5TRVRfTDNfSVA0X1BST1RPfSwNCgkJe0k0MEVfSU5TRVRf SVBWNF9UVEwsIEk0MEVfUkVHX0lOU0VUX0wzX0lQNF9UVEx9LA0KCX07DQoNCglpZiAoaW5wdXQg PT0gMCkNCgkJcmV0dXJuIHZhbDsNCg0KCS8qIFRyYW5zbGF0ZSBpbnB1dCBzZXQgdG8gcmVnaXN0 ZXIgYXdhcmUgaW5zZXQgKi8NCglpZiAodHlwZSA9PSBJNDBFX01BQ19YNzIyKSB7DQoJCWZvciAo aSA9IDA7IGkgPCBSVEVfRElNKGluc2V0X21hcF9kaWZmX3g3MjIpOyBpKyspIHsNCgkJCWlmIChp bnB1dCAmIGluc2V0X21hcF9kaWZmX3g3MjJbaV0uaW5zZXQpDQoJCQkJdmFsIHw9IGluc2V0X21h cF9kaWZmX3g3MjJbaV0uaW5zZXRfcmVnOw0KCQl9DQoJfSBlbHNlIHsNCgkJZm9yIChpID0gMDsg aSA8IFJURV9ESU0oaW5zZXRfbWFwX2RpZmZfbm90X3g3MjIpOyBpKyspIHsNCgkJCWlmIChpbnB1 dCAmIGluc2V0X21hcF9kaWZmX25vdF94NzIyW2ldLmluc2V0KQ0KCQkJCXZhbCB8PSBpbnNldF9t YXBfZGlmZl9ub3RfeDcyMltpXS5pbnNldF9yZWc7DQoJCX0NCgl9DQoNCglmb3IgKGkgPSAwOyBp IDwgUlRFX0RJTShpbnNldF9tYXBfY29tbW9uKTsgaSsrKSB7DQoJCWlmIChpbnB1dCAmIGluc2V0 X21hcF9jb21tb25baV0uaW5zZXQpDQoJCQl2YWwgfD0gaW5zZXRfbWFwX2NvbW1vbltpXS5pbnNl dF9yZWc7DQoJfQ0KDQoJcmV0dXJuIHZhbDsNCn0NCg0KaW50DQppNDBlX2dlbmVyYXRlX2luc2V0 X21hc2tfcmVnKHVpbnQ2NF90IGluc2V0LCB1aW50MzJfdCAqbWFzaywgdWludDhfdCBuYl9lbGVt KQ0Kew0KCXVpbnQ4X3QgaSwgaWR4ID0gMDsNCgl1aW50NjRfdCBpbnNldF9uZWVkX21hc2sgPSBp bnNldDsNCg0KCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KCQl1aW50NjRfdCBpbnNldDsNCgkJdWlu dDMyX3QgbWFzazsNCgl9IGluc2V0X21hc2tfbWFwW10gPSB7DQoJCXtJNDBFX0lOU0VUX0lQVjRf VE9TLCBJNDBFX0lOU0VUX0lQVjRfVE9TX01BU0t9LA0KCQl7STQwRV9JTlNFVF9JUFY0X1BST1RP IHwgSTQwRV9JTlNFVF9JUFY0X1RUTCwgMH0sDQoJCXtJNDBFX0lOU0VUX0lQVjRfUFJPVE8sIEk0 MEVfSU5TRVRfSVBWNF9QUk9UT19NQVNLfSwNCgkJe0k0MEVfSU5TRVRfSVBWNF9UVEwsIEk0MEVf SU5TRVRfSVB2NF9UVExfTUFTS30sDQoJCXtJNDBFX0lOU0VUX0lQVjZfVEMsIEk0MEVfSU5TRVRf SVBWNl9UQ19NQVNLfSwNCgkJe0k0MEVfSU5TRVRfSVBWNl9ORVhUX0hEUiB8IEk0MEVfSU5TRVRf SVBWNl9IT1BfTElNSVQsIDB9LA0KCQl7STQwRV9JTlNFVF9JUFY2X05FWFRfSERSLCBJNDBFX0lO U0VUX0lQVjZfTkVYVF9IRFJfTUFTS30sDQoJCXtJNDBFX0lOU0VUX0lQVjZfSE9QX0xJTUlULCBJ NDBFX0lOU0VUX0lQVjZfSE9QX0xJTUlUX01BU0t9LA0KCX07DQoNCglpZiAoIWluc2V0IHx8ICFt YXNrIHx8ICFuYl9lbGVtKQ0KCQlyZXR1cm4gMDsNCg0KCWZvciAoaSA9IDAsIGlkeCA9IDA7IGkg PCBSVEVfRElNKGluc2V0X21hc2tfbWFwKTsgaSsrKSB7DQoJCS8qIENsZWFyIHRoZSBpbnNldCBi aXQsIGlmIG5vIE1BU0sgaXMgcmVxdWlyZWQsDQoJCSAqIGZvciBleGFtcGxlIHByb3RvICsgdHRs DQoJCSAqLw0KCQlpZiAoKGluc2V0ICYgaW5zZXRfbWFza19tYXBbaV0uaW5zZXQpID09DQoJCSAg ICAgaW5zZXRfbWFza19tYXBbaV0uaW5zZXQgJiYgaW5zZXRfbWFza19tYXBbaV0ubWFzayA9PSAw KQ0KCQkJaW5zZXRfbmVlZF9tYXNrICY9IH5pbnNldF9tYXNrX21hcFtpXS5pbnNldDsNCgkJaWYg KCFpbnNldF9uZWVkX21hc2spDQoJCQlyZXR1cm4gMDsNCgl9DQoJZm9yIChpID0gMCwgaWR4ID0g MDsgaSA8IFJURV9ESU0oaW5zZXRfbWFza19tYXApOyBpKyspIHsNCgkJaWYgKChpbnNldF9uZWVk X21hc2sgJiBpbnNldF9tYXNrX21hcFtpXS5pbnNldCkgPT0NCgkJICAgIGluc2V0X21hc2tfbWFw W2ldLmluc2V0KSB7DQoJCQlpZiAoaWR4ID49IG5iX2VsZW0pIHsNCgkJCQlQTURfRFJWX0xPRyhF UlIsICJleGNlZWQgbWF4aW1hbCBudW1iZXIgb2YgYml0bWFza3MiKTsNCgkJCQlyZXR1cm4gLUVJ TlZBTDsNCgkJCX0NCgkJCW1hc2tbaWR4XSA9IGluc2V0X21hc2tfbWFwW2ldLm1hc2s7DQoJCQlp ZHgrKzsNCgkJfQ0KCX0NCg0KCXJldHVybiBpZHg7DQp9DQoNCnZvaWQNCmk0MGVfY2hlY2tfd3Jp dGVfcmVnKHN0cnVjdCBpNDBlX2h3ICpodywgdWludDMyX3QgYWRkciwgdWludDMyX3QgdmFsKQ0K ew0KCXVpbnQzMl90IHJlZyA9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIGFkZHIpOw0KDQoJUE1EX0RS Vl9MT0coREVCVUcsICJbMHglMDh4XSBvcmlnaW5hbDogMHglMDh4IiwgYWRkciwgcmVnKTsNCglp ZiAocmVnICE9IHZhbCkNCgkJaTQwZV93cml0ZV9yeF9jdGwoaHcsIGFkZHIsIHZhbCk7DQoJUE1E X0RSVl9MT0coREVCVUcsICJbMHglMDh4XSBhZnRlcjogMHglMDh4IiwgYWRkciwNCgkJICAgICh1 aW50MzJfdClpNDBlX3JlYWRfcnhfY3RsKGh3LCBhZGRyKSk7DQp9DQoNCnZvaWQNCmk0MGVfY2hl Y2tfd3JpdGVfZ2xvYmFsX3JlZyhzdHJ1Y3QgaTQwZV9odyAqaHcsIHVpbnQzMl90IGFkZHIsIHVp bnQzMl90IHZhbCkNCnsNCgl1aW50MzJfdCByZWcgPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCBhZGRy KTsNCglzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldjsNCg0KCWRldiA9ICgoc3RydWN0IGk0MGVfYWRh cHRlciAqKWh3LT5iYWNrKS0+ZXRoX2RldjsNCglpZiAocmVnICE9IHZhbCkgew0KCQlpNDBlX3dy aXRlX3J4X2N0bChodywgYWRkciwgdmFsKTsNCgkJUE1EX0RSVl9MT0coV0FSTklORywNCgkJCSAg ICAiaTQwZSBkZXZpY2UgJXMgY2hhbmdlZCBnbG9iYWwgcmVnaXN0ZXIgWzB4JTA4eF0uIg0KCQkJ ICAgICIgb3JpZ2luYWw6IDB4JTA4eCwgbmV3OiAweCUwOHgiLA0KCQkJICAgIGRldi0+ZGV2aWNl LT5uYW1lLCBhZGRyLCByZWcsDQoJCQkgICAgKHVpbnQzMl90KWk0MGVfcmVhZF9yeF9jdGwoaHcs IGFkZHIpKTsNCgl9DQp9DQoNCnN0YXRpYyB2b2lkDQppNDBlX2ZpbHRlcl9pbnB1dF9zZXRfaW5p dChzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9U T19IVyhwZik7DQoJZW51bSBpNDBlX2ZpbHRlcl9wY3R5cGUgcGN0eXBlOw0KCXVpbnQ2NF90IGlu cHV0X3NldCwgaW5zZXRfcmVnOw0KCXVpbnQzMl90IG1hc2tfcmVnW0k0MEVfSU5TRVRfTUFTS19O VU1fUkVHXSA9IHswfTsNCglpbnQgbnVtLCBpOw0KCXVpbnQxNl90IGZsb3dfdHlwZTsNCg0KCWZv ciAocGN0eXBlID0gSTQwRV9GSUxURVJfUENUWVBFX05PTkZfSVBWNF9VRFA7DQoJICAgICBwY3R5 cGUgPD0gSTQwRV9GSUxURVJfUENUWVBFX0wyX1BBWUxPQUQ7IHBjdHlwZSsrKSB7DQoJCWZsb3df dHlwZSA9IGk0MGVfcGN0eXBlX3RvX2Zsb3d0eXBlKHBmLT5hZGFwdGVyLCBwY3R5cGUpOw0KDQoJ CWlmIChmbG93X3R5cGUgPT0gUlRFX0VUSF9GTE9XX1VOS05PV04pDQoJCQljb250aW51ZTsNCg0K CQlpbnB1dF9zZXQgPSBpNDBlX2dldF9kZWZhdWx0X2lucHV0X3NldChwY3R5cGUpOw0KDQoJCW51 bSA9IGk0MGVfZ2VuZXJhdGVfaW5zZXRfbWFza19yZWcoaW5wdXRfc2V0LCBtYXNrX3JlZywNCgkJ CQkJCSAgIEk0MEVfSU5TRVRfTUFTS19OVU1fUkVHKTsNCgkJaWYgKG51bSA8IDApDQoJCQlyZXR1 cm47DQoJCWlmIChwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIgJiYgbnVtID4gMCkgew0KCQkJUE1E X0RSVl9MT0coRVJSLCAiSW5wdXQgc2V0IHNldHRpbmcgaXMgbm90IHN1cHBvcnRlZC4iKTsNCgkJ CXJldHVybjsNCgkJfQ0KCQlpbnNldF9yZWcgPSBpNDBlX3RyYW5zbGF0ZV9pbnB1dF9zZXRfcmVn KGh3LT5tYWMudHlwZSwNCgkJCQkJaW5wdXRfc2V0KTsNCg0KCQlpNDBlX2NoZWNrX3dyaXRlX3Jl ZyhodywgSTQwRV9QUlRRRl9GRF9JTlNFVChwY3R5cGUsIDApLA0KCQkJCSAgICAgICh1aW50MzJf dCkoaW5zZXRfcmVnICYgVUlOVDMyX01BWCkpOw0KCQlpNDBlX2NoZWNrX3dyaXRlX3JlZyhodywg STQwRV9QUlRRRl9GRF9JTlNFVChwY3R5cGUsIDEpLA0KCQkJCSAgICAgKHVpbnQzMl90KSgoaW5z ZXRfcmVnID4+DQoJCQkJICAgICBJNDBFXzMyX0JJVF9XSURUSCkgJiBVSU5UMzJfTUFYKSk7DQoJ CWlmICghcGYtPnN1cHBvcnRfbXVsdGlfZHJpdmVyKSB7DQoJCQlpNDBlX2NoZWNrX3dyaXRlX2ds b2JhbF9yZWcoaHcsDQoJCQkJCSAgICBJNDBFX0dMUUZfSEFTSF9JTlNFVCgwLCBwY3R5cGUpLA0K CQkJCQkgICAgKHVpbnQzMl90KShpbnNldF9yZWcgJiBVSU5UMzJfTUFYKSk7DQoJCQlpNDBlX2No ZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcsDQoJCQkJCSAgICAgSTQwRV9HTFFGX0hBU0hfSU5TRVQo MSwgcGN0eXBlKSwNCgkJCQkJICAgICAodWludDMyX3QpKChpbnNldF9yZWcgPj4NCgkJCQkJICAg ICAgSTQwRV8zMl9CSVRfV0lEVEgpICYgVUlOVDMyX01BWCkpOw0KDQoJCQlmb3IgKGkgPSAwOyBp IDwgbnVtOyBpKyspIHsNCgkJCQlpNDBlX2NoZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcsDQoJCQkJ CQkgICAgSTQwRV9HTFFGX0ZEX01TSyhpLCBwY3R5cGUpLA0KCQkJCQkJICAgIG1hc2tfcmVnW2ld KTsNCgkJCQlpNDBlX2NoZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcsDQoJCQkJCQkgIEk0MEVfR0xR Rl9IQVNIX01TSyhpLCBwY3R5cGUpLA0KCQkJCQkJICBtYXNrX3JlZ1tpXSk7DQoJCQl9DQoJCQkv KmNsZWFyIHVudXNlZCBtYXNrIHJlZ2lzdGVycyBvZiB0aGUgcGN0eXBlICovDQoJCQlmb3IgKGkg PSBudW07IGkgPCBJNDBFX0lOU0VUX01BU0tfTlVNX1JFRzsgaSsrKSB7DQoJCQkJaTQwZV9jaGVj a193cml0ZV9nbG9iYWxfcmVnKGh3LA0KCQkJCQkJICAgIEk0MEVfR0xRRl9GRF9NU0soaSwgcGN0 eXBlKSwNCgkJCQkJCSAgICAwKTsNCgkJCQlpNDBlX2NoZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcs DQoJCQkJCQkgIEk0MEVfR0xRRl9IQVNIX01TSyhpLCBwY3R5cGUpLA0KCQkJCQkJICAwKTsNCgkJ CX0NCgkJfSBlbHNlIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgIklucHV0IHNldCBzZXR0aW5nIGlz IG5vdCBzdXBwb3J0ZWQuIik7DQoJCX0NCgkJSTQwRV9XUklURV9GTFVTSChodyk7DQoNCgkJLyog c3RvcmUgdGhlIGRlZmF1bHQgaW5wdXQgc2V0ICovDQoJCWlmICghcGYtPnN1cHBvcnRfbXVsdGlf ZHJpdmVyKQ0KCQkJcGYtPmhhc2hfaW5wdXRfc2V0W3BjdHlwZV0gPSBpbnB1dF9zZXQ7DQoJCXBm LT5mZGlyLmlucHV0X3NldFtwY3R5cGVdID0gaW5wdXRfc2V0Ow0KCX0NCn0NCg0KaW50DQppNDBl X2hhc2hfZmlsdGVyX2luc2V0X3NlbGVjdChzdHJ1Y3QgaTQwZV9odyAqaHcsDQoJCQkgc3RydWN0 IHJ0ZV9ldGhfaW5wdXRfc2V0X2NvbmYgKmNvbmYpDQp7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0g Jigoc3RydWN0IGk0MGVfYWRhcHRlciAqKWh3LT5iYWNrKS0+cGY7DQoJZW51bSBpNDBlX2ZpbHRl cl9wY3R5cGUgcGN0eXBlOw0KCXVpbnQ2NF90IGlucHV0X3NldCwgaW5zZXRfcmVnID0gMDsNCgl1 aW50MzJfdCBtYXNrX3JlZ1tJNDBFX0lOU0VUX01BU0tfTlVNX1JFR10gPSB7MH07DQoJaW50IHJl dCwgaSwgbnVtOw0KDQoJaWYgKCFjb25mKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkludmFsaWQg cG9pbnRlciIpOw0KCQlyZXR1cm4gLUVGQVVMVDsNCgl9DQoJaWYgKGNvbmYtPm9wICE9IFJURV9F VEhfSU5QVVRfU0VUX1NFTEVDVCAmJg0KCSAgICBjb25mLT5vcCAhPSBSVEVfRVRIX0lOUFVUX1NF VF9BREQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiVW5zdXBwb3J0ZWQgaW5wdXQgc2V0IG9wZXJh dGlvbiIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglpZiAocGYtPnN1cHBvcnRfbXVsdGlf ZHJpdmVyKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkhhc2ggaW5wdXQgc2V0IHNldHRpbmcgaXMg bm90IHN1cHBvcnRlZC4iKTsNCgkJcmV0dXJuIC1FTk9UU1VQOw0KCX0NCg0KCXBjdHlwZSA9IGk0 MGVfZmxvd3R5cGVfdG9fcGN0eXBlKHBmLT5hZGFwdGVyLCBjb25mLT5mbG93X3R5cGUpOw0KCWlm IChwY3R5cGUgPT0gSTQwRV9GSUxURVJfUENUWVBFX0lOVkFMSUQpIHsNCgkJUE1EX0RSVl9MT0co RVJSLCAiaW52YWxpZCBmbG93X3R5cGUgaW5wdXQuIik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0N Cg0KCWlmIChody0+bWFjLnR5cGUgPT0gSTQwRV9NQUNfWDcyMikgew0KCQkvKiBnZXQgdHJhbnNs YXRlZCBwY3R5cGUgdmFsdWUgaW4gZmQgcGN0eXBlIHJlZ2lzdGVyICovDQoJCXBjdHlwZSA9IChl bnVtIGk0MGVfZmlsdGVyX3BjdHlwZSlpNDBlX3JlYWRfcnhfY3RsKGh3LA0KCQkJSTQwRV9HTFFG X0ZEX1BDVFlQRVMoKGludClwY3R5cGUpKTsNCgl9DQoNCglyZXQgPSBpNDBlX3BhcnNlX2lucHV0 X3NldCgmaW5wdXRfc2V0LCBwY3R5cGUsIGNvbmYtPmZpZWxkLA0KCQkJCSAgIGNvbmYtPmluc2V0 X3NpemUpOw0KCWlmIChyZXQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIHBhcnNl IGlucHV0IHNldCIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglpZiAoY29uZi0+b3AgPT0g UlRFX0VUSF9JTlBVVF9TRVRfQUREKSB7DQoJCS8qIGdldCBpbnNldCB2YWx1ZSBpbiByZWdpc3Rl ciAqLw0KCQlpbnNldF9yZWcgPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCBJNDBFX0dMUUZfSEFTSF9J TlNFVCgxLCBwY3R5cGUpKTsNCgkJaW5zZXRfcmVnIDw8PSBJNDBFXzMyX0JJVF9XSURUSDsNCgkJ aW5zZXRfcmVnIHw9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0MEVfR0xRRl9IQVNIX0lOU0VUKDAs IHBjdHlwZSkpOw0KCQlpbnB1dF9zZXQgfD0gcGYtPmhhc2hfaW5wdXRfc2V0W3BjdHlwZV07DQoJ fQ0KCW51bSA9IGk0MGVfZ2VuZXJhdGVfaW5zZXRfbWFza19yZWcoaW5wdXRfc2V0LCBtYXNrX3Jl ZywNCgkJCQkJICAgSTQwRV9JTlNFVF9NQVNLX05VTV9SRUcpOw0KCWlmIChudW0gPCAwKQ0KCQly ZXR1cm4gLUVJTlZBTDsNCg0KCWluc2V0X3JlZyB8PSBpNDBlX3RyYW5zbGF0ZV9pbnB1dF9zZXRf cmVnKGh3LT5tYWMudHlwZSwgaW5wdXRfc2V0KTsNCg0KCWk0MGVfY2hlY2tfd3JpdGVfZ2xvYmFs X3JlZyhodywgSTQwRV9HTFFGX0hBU0hfSU5TRVQoMCwgcGN0eXBlKSwNCgkJCQkgICAgKHVpbnQz Ml90KShpbnNldF9yZWcgJiBVSU5UMzJfTUFYKSk7DQoJaTQwZV9jaGVja193cml0ZV9nbG9iYWxf cmVnKGh3LCBJNDBFX0dMUUZfSEFTSF9JTlNFVCgxLCBwY3R5cGUpLA0KCQkJCSAgICAodWludDMy X3QpKChpbnNldF9yZWcgPj4NCgkJCQkgICAgSTQwRV8zMl9CSVRfV0lEVEgpICYgVUlOVDMyX01B WCkpOw0KDQoJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKQ0KCQlpNDBlX2NoZWNrX3dyaXRlX2ds b2JhbF9yZWcoaHcsIEk0MEVfR0xRRl9IQVNIX01TSyhpLCBwY3R5cGUpLA0KCQkJCQkgICAgbWFz a19yZWdbaV0pOw0KCS8qY2xlYXIgdW51c2VkIG1hc2sgcmVnaXN0ZXJzIG9mIHRoZSBwY3R5cGUg Ki8NCglmb3IgKGkgPSBudW07IGkgPCBJNDBFX0lOU0VUX01BU0tfTlVNX1JFRzsgaSsrKQ0KCQlp NDBlX2NoZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcsIEk0MEVfR0xRRl9IQVNIX01TSyhpLCBwY3R5 cGUpLA0KCQkJCQkgICAgMCk7DQoJSTQwRV9XUklURV9GTFVTSChodyk7DQoNCglwZi0+aGFzaF9p bnB1dF9zZXRbcGN0eXBlXSA9IGlucHV0X3NldDsNCglyZXR1cm4gMDsNCn0NCg0KaW50DQppNDBl X2ZkaXJfZmlsdGVyX2luc2V0X3NlbGVjdChzdHJ1Y3QgaTQwZV9wZiAqcGYsDQoJCQkgc3RydWN0 IHJ0ZV9ldGhfaW5wdXRfc2V0X2NvbmYgKmNvbmYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0g STQwRV9QRl9UT19IVyhwZik7DQoJZW51bSBpNDBlX2ZpbHRlcl9wY3R5cGUgcGN0eXBlOw0KCXVp bnQ2NF90IGlucHV0X3NldCwgaW5zZXRfcmVnID0gMDsNCgl1aW50MzJfdCBtYXNrX3JlZ1tJNDBF X0lOU0VUX01BU0tfTlVNX1JFR10gPSB7MH07DQoJaW50IHJldCwgaSwgbnVtOw0KDQoJaWYgKCFo dyB8fCAhY29uZikgew0KCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlkIHBvaW50ZXIiKTsNCgkJ cmV0dXJuIC1FRkFVTFQ7DQoJfQ0KCWlmIChjb25mLT5vcCAhPSBSVEVfRVRIX0lOUFVUX1NFVF9T RUxFQ1QgJiYNCgkgICAgY29uZi0+b3AgIT0gUlRFX0VUSF9JTlBVVF9TRVRfQUREKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwgIlVuc3VwcG9ydGVkIGlucHV0IHNldCBvcGVyYXRpb24iKTsNCgkJcmV0 dXJuIC1FSU5WQUw7DQoJfQ0KDQoJcGN0eXBlID0gaTQwZV9mbG93dHlwZV90b19wY3R5cGUocGYt PmFkYXB0ZXIsIGNvbmYtPmZsb3dfdHlwZSk7DQoNCglpZiAocGN0eXBlID09IEk0MEVfRklMVEVS X1BDVFlQRV9JTlZBTElEKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgImludmFsaWQgZmxvd190eXBl IGlucHV0LiIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglyZXQgPSBpNDBlX3BhcnNlX2lu cHV0X3NldCgmaW5wdXRfc2V0LCBwY3R5cGUsIGNvbmYtPmZpZWxkLA0KCQkJCSAgIGNvbmYtPmlu c2V0X3NpemUpOw0KCWlmIChyZXQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIHBh cnNlIGlucHV0IHNldCIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCgkvKiBnZXQgaW5zZXQg dmFsdWUgaW4gcmVnaXN0ZXIgKi8NCglpbnNldF9yZWcgPSBpNDBlX3JlYWRfcnhfY3RsKGh3LCBJ NDBFX1BSVFFGX0ZEX0lOU0VUKHBjdHlwZSwgMSkpOw0KCWluc2V0X3JlZyA8PD0gSTQwRV8zMl9C SVRfV0lEVEg7DQoJaW5zZXRfcmVnIHw9IGk0MGVfcmVhZF9yeF9jdGwoaHcsIEk0MEVfUFJUUUZf RkRfSU5TRVQocGN0eXBlLCAwKSk7DQoNCgkvKiBDYW4gbm90IGNoYW5nZSB0aGUgaW5zZXQgcmVn IGZvciBmbGV4IHBheWxvYWQgZm9yIGZkaXIsDQoJICogaXQgaXMgZG9uZSBieSB3cml0aW5nIEk0 MEVfUFJUUUZfRkRfRkxYSU5TRVQNCgkgKiBpbiBpNDBlX3NldF9mbGV4X21hc2tfb25fcGN0eXBl Lg0KCSAqLw0KCWlmIChjb25mLT5vcCA9PSBSVEVfRVRIX0lOUFVUX1NFVF9TRUxFQ1QpDQoJCWlu c2V0X3JlZyAmPSBJNDBFX1JFR19JTlNFVF9GTEVYX1BBWUxPQURfV09SRFM7DQoJZWxzZQ0KCQlp bnB1dF9zZXQgfD0gcGYtPmZkaXIuaW5wdXRfc2V0W3BjdHlwZV07DQoJbnVtID0gaTQwZV9nZW5l cmF0ZV9pbnNldF9tYXNrX3JlZyhpbnB1dF9zZXQsIG1hc2tfcmVnLA0KCQkJCQkgICBJNDBFX0lO U0VUX01BU0tfTlVNX1JFRyk7DQoJaWYgKG51bSA8IDApDQoJCXJldHVybiAtRUlOVkFMOw0KCWlm IChwZi0+c3VwcG9ydF9tdWx0aV9kcml2ZXIgJiYgbnVtID4gMCkgew0KCQlQTURfRFJWX0xPRyhF UlIsICJGRElSIGJpdCBtYXNrIGlzIG5vdCBzdXBwb3J0ZWQuIik7DQoJCXJldHVybiAtRU5PVFNV UDsNCgl9DQoNCglpbnNldF9yZWcgfD0gaTQwZV90cmFuc2xhdGVfaW5wdXRfc2V0X3JlZyhody0+ bWFjLnR5cGUsIGlucHV0X3NldCk7DQoNCglpNDBlX2NoZWNrX3dyaXRlX3JlZyhodywgSTQwRV9Q UlRRRl9GRF9JTlNFVChwY3R5cGUsIDApLA0KCQkJICAgICAgKHVpbnQzMl90KShpbnNldF9yZWcg JiBVSU5UMzJfTUFYKSk7DQoJaTQwZV9jaGVja193cml0ZV9yZWcoaHcsIEk0MEVfUFJUUUZfRkRf SU5TRVQocGN0eXBlLCAxKSwNCgkJCSAgICAgKHVpbnQzMl90KSgoaW5zZXRfcmVnID4+DQoJCQkg ICAgIEk0MEVfMzJfQklUX1dJRFRIKSAmIFVJTlQzMl9NQVgpKTsNCg0KCWlmICghcGYtPnN1cHBv cnRfbXVsdGlfZHJpdmVyKSB7DQoJCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykNCgkJCWk0MGVf Y2hlY2tfd3JpdGVfZ2xvYmFsX3JlZyhodywNCgkJCQkJCSAgICBJNDBFX0dMUUZfRkRfTVNLKGks IHBjdHlwZSksDQoJCQkJCQkgICAgbWFza19yZWdbaV0pOw0KCQkvKmNsZWFyIHVudXNlZCBtYXNr IHJlZ2lzdGVycyBvZiB0aGUgcGN0eXBlICovDQoJCWZvciAoaSA9IG51bTsgaSA8IEk0MEVfSU5T RVRfTUFTS19OVU1fUkVHOyBpKyspDQoJCQlpNDBlX2NoZWNrX3dyaXRlX2dsb2JhbF9yZWcoaHcs DQoJCQkJCQkgICAgSTQwRV9HTFFGX0ZEX01TSyhpLCBwY3R5cGUpLA0KCQkJCQkJICAgIDApOw0K CX0gZWxzZSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZESVIgYml0IG1hc2sgaXMgbm90IHN1cHBv cnRlZC4iKTsNCgl9DQoJSTQwRV9XUklURV9GTFVTSChodyk7DQoNCglwZi0+ZmRpci5pbnB1dF9z ZXRbcGN0eXBlXSA9IGlucHV0X3NldDsNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQw ZV9oYXNoX2ZpbHRlcl9nZXQoc3RydWN0IGk0MGVfaHcgKmh3LCBzdHJ1Y3QgcnRlX2V0aF9oYXNo X2ZpbHRlcl9pbmZvICppbmZvKQ0Kew0KCWludCByZXQgPSAwOw0KDQoJaWYgKCFodyB8fCAhaW5m bykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlkIHBvaW50ZXIiKTsNCgkJcmV0dXJuIC1F RkFVTFQ7DQoJfQ0KDQoJc3dpdGNoIChpbmZvLT5pbmZvX3R5cGUpIHsNCgljYXNlIFJURV9FVEhf SEFTSF9GSUxURVJfU1lNX0hBU0hfRU5BX1BFUl9QT1JUOg0KCQlpNDBlX2dldF9zeW1tZXRyaWNf aGFzaF9lbmFibGVfcGVyX3BvcnQoaHcsDQoJCQkJCSYoaW5mby0+aW5mby5lbmFibGUpKTsNCgkJ YnJlYWs7DQoJY2FzZSBSVEVfRVRIX0hBU0hfRklMVEVSX0dMT0JBTF9DT05GSUc6DQoJCXJldCA9 IGk0MGVfZ2V0X2hhc2hfZmlsdGVyX2dsb2JhbF9jb25maWcoaHcsDQoJCQkJJihpbmZvLT5pbmZv Lmdsb2JhbF9jb25mKSk7DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCVBNRF9EUlZfTE9HKEVSUiwg Ikhhc2ggZmlsdGVyIGluZm8gdHlwZSAoJWQpIG5vdCBzdXBwb3J0ZWQiLA0KCQkJCQkJCWluZm8t PmluZm9fdHlwZSk7DQoJCXJldCA9IC1FSU5WQUw7DQoJCWJyZWFrOw0KCX0NCg0KCXJldHVybiBy ZXQ7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfaGFzaF9maWx0ZXJfc2V0KHN0cnVjdCBpNDBlX2h3 ICpodywgc3RydWN0IHJ0ZV9ldGhfaGFzaF9maWx0ZXJfaW5mbyAqaW5mbykNCnsNCglpbnQgcmV0 ID0gMDsNCg0KCWlmICghaHcgfHwgIWluZm8pIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiSW52YWxp ZCBwb2ludGVyIik7DQoJCXJldHVybiAtRUZBVUxUOw0KCX0NCg0KCXN3aXRjaCAoaW5mby0+aW5m b190eXBlKSB7DQoJY2FzZSBSVEVfRVRIX0hBU0hfRklMVEVSX1NZTV9IQVNIX0VOQV9QRVJfUE9S VDoNCgkJaTQwZV9zZXRfc3ltbWV0cmljX2hhc2hfZW5hYmxlX3Blcl9wb3J0KGh3LCBpbmZvLT5p bmZvLmVuYWJsZSk7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX0VUSF9IQVNIX0ZJTFRFUl9HTE9CQUxf Q09ORklHOg0KCQlyZXQgPSBpNDBlX3NldF9oYXNoX2ZpbHRlcl9nbG9iYWxfY29uZmlnKGh3LA0K CQkJCSYoaW5mby0+aW5mby5nbG9iYWxfY29uZikpOw0KCQlicmVhazsNCgljYXNlIFJURV9FVEhf SEFTSF9GSUxURVJfSU5QVVRfU0VUX1NFTEVDVDoNCgkJcmV0ID0gaTQwZV9oYXNoX2ZpbHRlcl9p bnNldF9zZWxlY3QoaHcsDQoJCQkJCSAgICAgICAmKGluZm8tPmluZm8uaW5wdXRfc2V0X2NvbmYp KTsNCgkJYnJlYWs7DQoNCglkZWZhdWx0Og0KCQlQTURfRFJWX0xPRyhFUlIsICJIYXNoIGZpbHRl ciBpbmZvIHR5cGUgKCVkKSBub3Qgc3VwcG9ydGVkIiwNCgkJCQkJCQlpbmZvLT5pbmZvX3R5cGUp Ow0KCQlyZXQgPSAtRUlOVkFMOw0KCQlicmVhazsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQov KiBPcGVyYXRpb25zIGZvciBoYXNoIGZ1bmN0aW9uICovDQpzdGF0aWMgaW50DQppNDBlX2hhc2hf ZmlsdGVyX2N0cmwoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCSAgICAgIGVudW0gcnRlX2Zp bHRlcl9vcCBmaWx0ZXJfb3AsDQoJCSAgICAgIHZvaWQgKmFyZykNCnsNCglzdHJ1Y3QgaTQwZV9o dyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0K CWludCByZXQgPSAwOw0KDQoJc3dpdGNoIChmaWx0ZXJfb3ApIHsNCgljYXNlIFJURV9FVEhfRklM VEVSX05PUDoNCgkJYnJlYWs7DQoJY2FzZSBSVEVfRVRIX0ZJTFRFUl9HRVQ6DQoJCXJldCA9IGk0 MGVfaGFzaF9maWx0ZXJfZ2V0KGh3LA0KCQkJKHN0cnVjdCBydGVfZXRoX2hhc2hfZmlsdGVyX2lu Zm8gKilhcmcpOw0KCQlicmVhazsNCgljYXNlIFJURV9FVEhfRklMVEVSX1NFVDoNCgkJcmV0ID0g aTQwZV9oYXNoX2ZpbHRlcl9zZXQoaHcsDQoJCQkoc3RydWN0IHJ0ZV9ldGhfaGFzaF9maWx0ZXJf aW5mbyAqKWFyZyk7DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCVBNRF9EUlZfTE9HKFdBUk5JTkcs ICJGaWx0ZXIgb3BlcmF0aW9uICglZCkgbm90IHN1cHBvcnRlZCIsDQoJCQkJCQkJCWZpbHRlcl9v cCk7DQoJCXJldCA9IC1FTk9UU1VQOw0KCQlicmVhazsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0K DQovKiBDb252ZXJ0IGV0aGVydHlwZSBmaWx0ZXIgc3RydWN0dXJlICovDQpzdGF0aWMgaW50DQpp NDBlX2V0aGVydHlwZV9maWx0ZXJfY29udmVydChjb25zdCBzdHJ1Y3QgcnRlX2V0aF9ldGhlcnR5 cGVfZmlsdGVyICppbnB1dCwNCgkJCSAgICAgIHN0cnVjdCBpNDBlX2V0aGVydHlwZV9maWx0ZXIg KmZpbHRlcikNCnsNCglydGVfbWVtY3B5KCZmaWx0ZXItPmlucHV0Lm1hY19hZGRyLCAmaW5wdXQt Pm1hY19hZGRyLA0KCQlSVEVfRVRIRVJfQUREUl9MRU4pOw0KCWZpbHRlci0+aW5wdXQuZXRoZXJf dHlwZSA9IGlucHV0LT5ldGhlcl90eXBlOw0KCWZpbHRlci0+ZmxhZ3MgPSBpbnB1dC0+ZmxhZ3M7 DQoJZmlsdGVyLT5xdWV1ZSA9IGlucHV0LT5xdWV1ZTsNCg0KCXJldHVybiAwOw0KfQ0KDQovKiBD aGVjayBpZiB0aGVyZSBleGlzdHMgdGhlIGVodGVydHlwZSBmaWx0ZXIgKi8NCnN0cnVjdCBpNDBl X2V0aGVydHlwZV9maWx0ZXIgKg0KaTQwZV9zd19ldGhlcnR5cGVfZmlsdGVyX2xvb2t1cChzdHJ1 Y3QgaTQwZV9ldGhlcnR5cGVfcnVsZSAqZXRoZXJ0eXBlX3J1bGUsDQoJCQkJY29uc3Qgc3RydWN0 IGk0MGVfZXRoZXJ0eXBlX2ZpbHRlcl9pbnB1dCAqaW5wdXQpDQp7DQoJaW50IHJldDsNCg0KCXJl dCA9IHJ0ZV9oYXNoX2xvb2t1cChldGhlcnR5cGVfcnVsZS0+aGFzaF90YWJsZSwgKGNvbnN0IHZv aWQgKilpbnB1dCk7DQoJaWYgKHJldCA8IDApDQoJCXJldHVybiBOVUxMOw0KDQoJcmV0dXJuIGV0 aGVydHlwZV9ydWxlLT5oYXNoX21hcFtyZXRdOw0KfQ0KDQovKiBBZGQgZXRoZXJ0eXBlIGZpbHRl ciBpbiBTVyBsaXN0ICovDQpzdGF0aWMgaW50DQppNDBlX3N3X2V0aGVydHlwZV9maWx0ZXJfaW5z ZXJ0KHN0cnVjdCBpNDBlX3BmICpwZiwNCgkJCQlzdHJ1Y3QgaTQwZV9ldGhlcnR5cGVfZmlsdGVy ICpmaWx0ZXIpDQp7DQoJc3RydWN0IGk0MGVfZXRoZXJ0eXBlX3J1bGUgKnJ1bGUgPSAmcGYtPmV0 aGVydHlwZTsNCglpbnQgcmV0Ow0KDQoJcmV0ID0gcnRlX2hhc2hfYWRkX2tleShydWxlLT5oYXNo X3RhYmxlLCAmZmlsdGVyLT5pbnB1dCk7DQoJaWYgKHJldCA8IDApIHsNCgkJUE1EX0RSVl9MT0co RVJSLA0KCQkJICAgICJGYWlsZWQgdG8gaW5zZXJ0IGV0aGVydHlwZSBmaWx0ZXIiDQoJCQkgICAg IiB0byBoYXNoIHRhYmxlICVkISIsDQoJCQkgICAgcmV0KTsNCgkJcmV0dXJuIHJldDsNCgl9DQoJ cnVsZS0+aGFzaF9tYXBbcmV0XSA9IGZpbHRlcjsNCg0KCVRBSUxRX0lOU0VSVF9UQUlMKCZydWxl LT5ldGhlcnR5cGVfbGlzdCwgZmlsdGVyLCBydWxlcyk7DQoNCglyZXR1cm4gMDsNCn0NCg0KLyog RGVsZXRlIGV0aGVydHlwZSBmaWx0ZXIgaW4gU1cgbGlzdCAqLw0KaW50DQppNDBlX3N3X2V0aGVy dHlwZV9maWx0ZXJfZGVsKHN0cnVjdCBpNDBlX3BmICpwZiwNCgkJCSAgICAgc3RydWN0IGk0MGVf ZXRoZXJ0eXBlX2ZpbHRlcl9pbnB1dCAqaW5wdXQpDQp7DQoJc3RydWN0IGk0MGVfZXRoZXJ0eXBl X3J1bGUgKnJ1bGUgPSAmcGYtPmV0aGVydHlwZTsNCglzdHJ1Y3QgaTQwZV9ldGhlcnR5cGVfZmls dGVyICpmaWx0ZXI7DQoJaW50IHJldDsNCg0KCXJldCA9IHJ0ZV9oYXNoX2RlbF9rZXkocnVsZS0+ aGFzaF90YWJsZSwgaW5wdXQpOw0KCWlmIChyZXQgPCAwKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwN CgkJCSAgICAiRmFpbGVkIHRvIGRlbGV0ZSBldGhlcnR5cGUgZmlsdGVyIg0KCQkJICAgICIgdG8g aGFzaCB0YWJsZSAlZCEiLA0KCQkJICAgIHJldCk7DQoJCXJldHVybiByZXQ7DQoJfQ0KCWZpbHRl ciA9IHJ1bGUtPmhhc2hfbWFwW3JldF07DQoJcnVsZS0+aGFzaF9tYXBbcmV0XSA9IE5VTEw7DQoN CglUQUlMUV9SRU1PVkUoJnJ1bGUtPmV0aGVydHlwZV9saXN0LCBmaWx0ZXIsIHJ1bGVzKTsNCgly dGVfZnJlZShmaWx0ZXIpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCi8qDQogKiBDb25maWd1cmUgZXRo ZXJ0eXBlIGZpbHRlciwgd2hpY2ggY2FuIGRpcmVjdG9yIHBhY2tldCBieSBmaWx0ZXJpbmcNCiAq IHdpdGggbWFjIGFkZHJlc3MgYW5kIGV0aGVyX3R5cGUgb3Igb25seSBldGhlcl90eXBlDQogKi8N CmludA0KaTQwZV9ldGhlcnR5cGVfZmlsdGVyX3NldChzdHJ1Y3QgaTQwZV9wZiAqcGYsDQoJCQlz dHJ1Y3QgcnRlX2V0aF9ldGhlcnR5cGVfZmlsdGVyICpmaWx0ZXIsDQoJCQlib29sIGFkZCkNCnsN CglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RPX0hXKHBmKTsNCglzdHJ1Y3QgaTQwZV9l dGhlcnR5cGVfcnVsZSAqZXRoZXJ0eXBlX3J1bGUgPSAmcGYtPmV0aGVydHlwZTsNCglzdHJ1Y3Qg aTQwZV9ldGhlcnR5cGVfZmlsdGVyICpldGhlcnR5cGVfZmlsdGVyLCAqbm9kZTsNCglzdHJ1Y3Qg aTQwZV9ldGhlcnR5cGVfZmlsdGVyIGNoZWNrX2ZpbHRlcjsNCglzdHJ1Y3QgaTQwZV9jb250cm9s X2ZpbHRlcl9zdGF0cyBzdGF0czsNCgl1aW50MTZfdCBmbGFncyA9IDA7DQoJaW50IHJldDsNCg0K CWlmIChmaWx0ZXItPnF1ZXVlID49IHBmLT5kZXZfZGF0YS0+bmJfcnhfcXVldWVzKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwgIkludmFsaWQgcXVldWUgSUQiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJ fQ0KCWlmIChmaWx0ZXItPmV0aGVyX3R5cGUgPT0gUlRFX0VUSEVSX1RZUEVfSVBWNCB8fA0KCQlm aWx0ZXItPmV0aGVyX3R5cGUgPT0gUlRFX0VUSEVSX1RZUEVfSVBWNikgew0KCQlQTURfRFJWX0xP RyhFUlIsDQoJCQkidW5zdXBwb3J0ZWQgZXRoZXJfdHlwZSgweCUwNHgpIGluIGNvbnRyb2wgcGFj a2V0IGZpbHRlci4iLA0KCQkJZmlsdGVyLT5ldGhlcl90eXBlKTsNCgkJcmV0dXJuIC1FSU5WQUw7 DQoJfQ0KCWlmIChmaWx0ZXItPmV0aGVyX3R5cGUgPT0gUlRFX0VUSEVSX1RZUEVfVkxBTikNCgkJ UE1EX0RSVl9MT0coV0FSTklORywNCgkJCSJmaWx0ZXIgdmxhbiBldGhlcl90eXBlIGluIGZpcnN0 IHRhZyBpcyBub3Qgc3VwcG9ydGVkLiIpOw0KDQoJLyogQ2hlY2sgaWYgdGhlcmUgaXMgdGhlIGZp bHRlciBpbiBTVyBsaXN0ICovDQoJbWVtc2V0KCZjaGVja19maWx0ZXIsIDAsIHNpemVvZihjaGVj a19maWx0ZXIpKTsNCglpNDBlX2V0aGVydHlwZV9maWx0ZXJfY29udmVydChmaWx0ZXIsICZjaGVj a19maWx0ZXIpOw0KCW5vZGUgPSBpNDBlX3N3X2V0aGVydHlwZV9maWx0ZXJfbG9va3VwKGV0aGVy dHlwZV9ydWxlLA0KCQkJCQkgICAgICAgJmNoZWNrX2ZpbHRlci5pbnB1dCk7DQoJaWYgKGFkZCAm JiBub2RlKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkNvbmZsaWN0IHdpdGggZXhpc3RpbmcgZXRo ZXJ0eXBlIHJ1bGVzISIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglpZiAoIWFkZCAmJiAh bm9kZSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJUaGVyZSdzIG5vIGNvcnJlc3BvbmRpbmcgZXRo ZXJ0eXBlIGZpbHRlciEiKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJfQ0KDQoJaWYgKCEoZmlsdGVy LT5mbGFncyAmIFJURV9FVEhUWVBFX0ZMQUdTX01BQykpDQoJCWZsYWdzIHw9IEk0MEVfQVFDX0FE RF9DT05UUk9MX1BBQ0tFVF9GTEFHU19JR05PUkVfTUFDOw0KCWlmIChmaWx0ZXItPmZsYWdzICYg UlRFX0VUSFRZUEVfRkxBR1NfRFJPUCkNCgkJZmxhZ3MgfD0gSTQwRV9BUUNfQUREX0NPTlRST0xf UEFDS0VUX0ZMQUdTX0RST1A7DQoJZmxhZ3MgfD0gSTQwRV9BUUNfQUREX0NPTlRST0xfUEFDS0VU X0ZMQUdTX1RPX1FVRVVFOw0KDQoJbWVtc2V0KCZzdGF0cywgMCwgc2l6ZW9mKHN0YXRzKSk7DQoJ cmV0ID0gaTQwZV9hcV9hZGRfcmVtX2NvbnRyb2xfcGFja2V0X2ZpbHRlcihodywNCgkJCWZpbHRl ci0+bWFjX2FkZHIuYWRkcl9ieXRlcywNCgkJCWZpbHRlci0+ZXRoZXJfdHlwZSwgZmxhZ3MsDQoJ CQlwZi0+bWFpbl92c2ktPnNlaWQsDQoJCQlmaWx0ZXItPnF1ZXVlLCBhZGQsICZzdGF0cywgTlVM TCk7DQoNCglQTURfRFJWX0xPRyhJTkZPLA0KCQkiYWRkL3JlbSBjb250cm9sIHBhY2tldCBmaWx0 ZXIsIHJldHVybiAlZCwgbWFjX2V0eXBlX3VzZWQgPSAldSwgZXR5cGVfdXNlZCA9ICV1LCBtYWNf ZXR5cGVfZnJlZSA9ICV1LCBldHlwZV9mcmVlID0gJXUiLA0KCQlyZXQsIHN0YXRzLm1hY19ldHlw ZV91c2VkLCBzdGF0cy5ldHlwZV91c2VkLA0KCQlzdGF0cy5tYWNfZXR5cGVfZnJlZSwgc3RhdHMu ZXR5cGVfZnJlZSk7DQoJaWYgKHJldCA8IDApDQoJCXJldHVybiAtRU5PU1lTOw0KDQoJLyogQWRk IG9yIGRlbGV0ZSBhIGZpbHRlciBpbiBTVyBsaXN0ICovDQoJaWYgKGFkZCkgew0KCQlldGhlcnR5 cGVfZmlsdGVyID0gcnRlX3ptYWxsb2MoImV0aGVydHlwZV9maWx0ZXIiLA0KCQkJCSAgICAgICBz aXplb2YoKmV0aGVydHlwZV9maWx0ZXIpLCAwKTsNCgkJaWYgKGV0aGVydHlwZV9maWx0ZXIgPT0g TlVMTCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFsbG9jIG1lbW9yeS4iKTsN CgkJCXJldHVybiAtRU5PTUVNOw0KCQl9DQoNCgkJcnRlX21lbWNweShldGhlcnR5cGVfZmlsdGVy LCAmY2hlY2tfZmlsdGVyLA0KCQkJICAgc2l6ZW9mKGNoZWNrX2ZpbHRlcikpOw0KCQlyZXQgPSBp NDBlX3N3X2V0aGVydHlwZV9maWx0ZXJfaW5zZXJ0KHBmLCBldGhlcnR5cGVfZmlsdGVyKTsNCgkJ aWYgKHJldCA8IDApDQoJCQlydGVfZnJlZShldGhlcnR5cGVfZmlsdGVyKTsNCgl9IGVsc2Ugew0K CQlyZXQgPSBpNDBlX3N3X2V0aGVydHlwZV9maWx0ZXJfZGVsKHBmLCAmbm9kZS0+aW5wdXQpOw0K CX0NCg0KCXJldHVybiByZXQ7DQp9DQoNCi8qDQogKiBIYW5kbGUgb3BlcmF0aW9ucyBmb3IgZXRo ZXJ0eXBlIGZpbHRlci4NCiAqLw0Kc3RhdGljIGludA0KaTQwZV9ldGhlcnR5cGVfZmlsdGVyX2hh bmRsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJCQllbnVtIHJ0ZV9maWx0ZXJfb3AgZmls dGVyX29wLA0KCQkJCXZvaWQgKmFyZykNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RF Vl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCWludCByZXQgPSAwOw0K DQoJaWYgKGZpbHRlcl9vcCA9PSBSVEVfRVRIX0ZJTFRFUl9OT1ApDQoJCXJldHVybiByZXQ7DQoN CglpZiAoYXJnID09IE5VTEwpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiYXJnIHNob3VsZG4ndCBi ZSBOVUxMIGZvciBvcGVyYXRpb24gJXUiLA0KCQkJICAgIGZpbHRlcl9vcCk7DQoJCXJldHVybiAt RUlOVkFMOw0KCX0NCg0KCXN3aXRjaCAoZmlsdGVyX29wKSB7DQoJY2FzZSBSVEVfRVRIX0ZJTFRF Ul9BREQ6DQoJCXJldCA9IGk0MGVfZXRoZXJ0eXBlX2ZpbHRlcl9zZXQocGYsDQoJCQkoc3RydWN0 IHJ0ZV9ldGhfZXRoZXJ0eXBlX2ZpbHRlciAqKWFyZywNCgkJCVRSVUUpOw0KCQlicmVhazsNCglj YXNlIFJURV9FVEhfRklMVEVSX0RFTEVURToNCgkJcmV0ID0gaTQwZV9ldGhlcnR5cGVfZmlsdGVy X3NldChwZiwNCgkJCShzdHJ1Y3QgcnRlX2V0aF9ldGhlcnR5cGVfZmlsdGVyICopYXJnLA0KCQkJ RkFMU0UpOw0KCQlicmVhazsNCglkZWZhdWx0Og0KCQlQTURfRFJWX0xPRyhFUlIsICJ1bnN1cHBv cnRlZCBvcGVyYXRpb24gJXUiLCBmaWx0ZXJfb3ApOw0KCQlyZXQgPSAtRU5PU1lTOw0KCQlicmVh azsNCgl9DQoJcmV0dXJuIHJldDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfZmlsdGVyX2N0 cmwoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCSAgICAgZW51bSBydGVfZmlsdGVyX3R5cGUg ZmlsdGVyX3R5cGUsDQoJCSAgICAgZW51bSBydGVfZmlsdGVyX29wIGZpbHRlcl9vcCwNCgkJICAg ICB2b2lkICphcmcpDQp7DQoJaW50IHJldCA9IDA7DQoNCglpZiAoZGV2ID09IE5VTEwpDQoJCXJl dHVybiAtRUlOVkFMOw0KDQoJc3dpdGNoIChmaWx0ZXJfdHlwZSkgew0KCWNhc2UgUlRFX0VUSF9G SUxURVJfTk9ORToNCgkJLyogRm9yIGdsb2JhbCBjb25maWd1cmF0aW9uICovDQoJCXJldCA9IGk0 MGVfZmlsdGVyX2N0cmxfZ2xvYmFsX2NvbmZpZyhkZXYsIGZpbHRlcl9vcCwgYXJnKTsNCgkJYnJl YWs7DQoJY2FzZSBSVEVfRVRIX0ZJTFRFUl9IQVNIOg0KCQlyZXQgPSBpNDBlX2hhc2hfZmlsdGVy X2N0cmwoZGV2LCBmaWx0ZXJfb3AsIGFyZyk7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX0VUSF9GSUxU RVJfTUFDVkxBTjoNCgkJcmV0ID0gaTQwZV9tYWNfZmlsdGVyX2hhbmRsZShkZXYsIGZpbHRlcl9v cCwgYXJnKTsNCgkJYnJlYWs7DQoJY2FzZSBSVEVfRVRIX0ZJTFRFUl9FVEhFUlRZUEU6DQoJCXJl dCA9IGk0MGVfZXRoZXJ0eXBlX2ZpbHRlcl9oYW5kbGUoZGV2LCBmaWx0ZXJfb3AsIGFyZyk7DQoJ CWJyZWFrOw0KCWNhc2UgUlRFX0VUSF9GSUxURVJfVFVOTkVMOg0KCQlyZXQgPSBpNDBlX3R1bm5l bF9maWx0ZXJfaGFuZGxlKGRldiwgZmlsdGVyX29wLCBhcmcpOw0KCQlicmVhazsNCgljYXNlIFJU RV9FVEhfRklMVEVSX0ZESVI6DQoJCXJldCA9IGk0MGVfZmRpcl9jdHJsX2Z1bmMoZGV2LCBmaWx0 ZXJfb3AsIGFyZyk7DQoJCWJyZWFrOw0KCWNhc2UgUlRFX0VUSF9GSUxURVJfR0VORVJJQzoNCgkJ aWYgKGZpbHRlcl9vcCAhPSBSVEVfRVRIX0ZJTFRFUl9HRVQpDQoJCQlyZXR1cm4gLUVJTlZBTDsN CgkJKihjb25zdCB2b2lkICoqKWFyZyA9ICZpNDBlX2Zsb3dfb3BzOw0KCQlicmVhazsNCglkZWZh dWx0Og0KCQlQTURfRFJWX0xPRyhXQVJOSU5HLCAiRmlsdGVyIHR5cGUgKCVkKSBub3Qgc3VwcG9y dGVkIiwNCgkJCQkJCQlmaWx0ZXJfdHlwZSk7DQoJCXJldCA9IC1FSU5WQUw7DQoJCWJyZWFrOw0K CX0NCg0KCXJldHVybiByZXQ7DQp9DQoNCi8qDQogKiBDaGVjayBhbmQgZW5hYmxlIEV4dGVuZGVk IFRhZy4NCiAqIEVuYWJsaW5nIEV4dGVuZGVkIFRhZyBpcyBpbXBvcnRhbnQgZm9yIDQwRyBwZXJm b3JtYW5jZS4NCiAqLw0Kc3RhdGljIHZvaWQNCmk0MGVfZW5hYmxlX2V4dGVuZGVkX3RhZyhzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYg PSBSVEVfRVRIX0RFVl9UT19QQ0koZGV2KTsNCgl1aW50MzJfdCBidWYgPSAwOw0KCWludCByZXQ7 DQoNCglyZXQgPSBydGVfcGNpX3JlYWRfY29uZmlnKHBjaV9kZXYsICZidWYsIHNpemVvZihidWYp LA0KCQkJCSAgICAgIFBDSV9ERVZfQ0FQX1JFRyk7DQoJaWYgKHJldCA8IDApIHsNCgkJUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIHJlYWQgUENJIG9mZnNldCAweCV4IiwNCgkJCSAgICBQQ0lf REVWX0NBUF9SRUcpOw0KCQlyZXR1cm47DQoJfQ0KCWlmICghKGJ1ZiAmIFBDSV9ERVZfQ0FQX0VY VF9UQUdfTUFTSykpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRG9lcyBub3Qgc3VwcG9ydCBFeHRl bmRlZCBUYWciKTsNCgkJcmV0dXJuOw0KCX0NCg0KCWJ1ZiA9IDA7DQoJcmV0ID0gcnRlX3BjaV9y ZWFkX2NvbmZpZyhwY2lfZGV2LCAmYnVmLCBzaXplb2YoYnVmKSwNCgkJCQkgICAgICBQQ0lfREVW X0NUUkxfUkVHKTsNCglpZiAocmV0IDwgMCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQg dG8gcmVhZCBQQ0kgb2Zmc2V0IDB4JXgiLA0KCQkJICAgIFBDSV9ERVZfQ1RSTF9SRUcpOw0KCQly ZXR1cm47DQoJfQ0KCWlmIChidWYgJiBQQ0lfREVWX0NUUkxfRVhUX1RBR19NQVNLKSB7DQoJCVBN RF9EUlZfTE9HKERFQlVHLCAiRXh0ZW5kZWQgVGFnIGhhcyBhbHJlYWR5IGJlZW4gZW5hYmxlZCIp Ow0KCQlyZXR1cm47DQoJfQ0KCWJ1ZiB8PSBQQ0lfREVWX0NUUkxfRVhUX1RBR19NQVNLOw0KCXJl dCA9IHJ0ZV9wY2lfd3JpdGVfY29uZmlnKHBjaV9kZXYsICZidWYsIHNpemVvZihidWYpLA0KCQkJ CSAgICAgICBQQ0lfREVWX0NUUkxfUkVHKTsNCglpZiAocmV0IDwgMCkgew0KCQlQTURfRFJWX0xP RyhFUlIsICJGYWlsZWQgdG8gd3JpdGUgUENJIG9mZnNldCAweCV4IiwNCgkJCSAgICBQQ0lfREVW X0NUUkxfUkVHKTsNCgkJcmV0dXJuOw0KCX0NCn0NCg0KLyoNCiAqIEFzIHNvbWUgcmVnaXN0ZXJz IHdvdWxkbid0IGJlIHJlc2V0IHVubGVzcyBhIGdsb2JhbCBoYXJkd2FyZSByZXNldCwNCiAqIGhh cmR3YXJlIGluaXRpYWxpemF0aW9uIGlzIG5lZWRlZCB0byBwdXQgdGhvc2UgcmVnaXN0ZXJzIGlu dG8gYW4NCiAqIGV4cGVjdGVkIGluaXRpYWwgc3RhdGUuDQogKi8NCnN0YXRpYyB2b2lkDQppNDBl X2h3X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3 ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCg0KCWk0 MGVfZW5hYmxlX2V4dGVuZGVkX3RhZyhkZXYpOw0KDQoJLyogY2xlYXIgdGhlIFBGIFF1ZXVlIEZp bHRlciBjb250cm9sIHJlZ2lzdGVyICovDQoJaTQwZV93cml0ZV9yeF9jdGwoaHcsIEk0MEVfUEZR Rl9DVExfMCwgMCk7DQoNCgkvKiBEaXNhYmxlIHN5bW1ldHJpYyBoYXNoIHBlciBwb3J0ICovDQoJ aTQwZV9zZXRfc3ltbWV0cmljX2hhc2hfZW5hYmxlX3Blcl9wb3J0KGh3LCAwKTsNCn0NCg0KLyoN CiAqIEZvciBYNzIyIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgbXVsdGlwbGUgcGN0eXBlcyBtYXBw ZWQgdG8gdGhlIHNhbWUgZmxvd3R5cGUNCiAqIGhvd2V2ZXIgdGhpcyBmdW5jdGlvbiB3aWxsIHJl dHVybiBvbmx5IG9uZSBoaWdoZXN0IHBjdHlwZSBpbmRleCwNCiAqIHdoaWNoIGlzIG5vdCBxdWl0 ZSBjb3JyZWN0LiBUaGlzIGlzIGtub3duIHByb2JsZW0gb2YgaTQwZSBkcml2ZXINCiAqIGFuZCBu ZWVkcyB0byBiZSBmaXhlZCBsYXRlci4NCiAqLw0KZW51bSBpNDBlX2ZpbHRlcl9wY3R5cGUNCmk0 MGVfZmxvd3R5cGVfdG9fcGN0eXBlKGNvbnN0IHN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkYXB0ZXIs IHVpbnQxNl90IGZsb3dfdHlwZSkNCnsNCglpbnQgaTsNCgl1aW50NjRfdCBwY3R5cGVfbWFzazsN Cg0KCWlmIChmbG93X3R5cGUgPCBJNDBFX0ZMT1dfVFlQRV9NQVgpIHsNCgkJcGN0eXBlX21hc2sg PSBhZGFwdGVyLT5wY3R5cGVzX3RibFtmbG93X3R5cGVdOw0KCQlmb3IgKGkgPSBJNDBFX0ZJTFRF Ul9QQ1RZUEVfTUFYIC0gMTsgaSA+IDA7IGktLSkgew0KCQkJaWYgKHBjdHlwZV9tYXNrICYgKDFV TEwgPDwgaSkpDQoJCQkJcmV0dXJuIChlbnVtIGk0MGVfZmlsdGVyX3BjdHlwZSlpOw0KCQl9DQoJ fQ0KCXJldHVybiBJNDBFX0ZJTFRFUl9QQ1RZUEVfSU5WQUxJRDsNCn0NCg0KdWludDE2X3QNCmk0 MGVfcGN0eXBlX3RvX2Zsb3d0eXBlKGNvbnN0IHN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkYXB0ZXIs DQoJCQllbnVtIGk0MGVfZmlsdGVyX3BjdHlwZSBwY3R5cGUpDQp7DQoJdWludDE2X3QgZmxvd3R5 cGU7DQoJdWludDY0X3QgcGN0eXBlX21hc2sgPSAxVUxMIDw8IHBjdHlwZTsNCg0KCWZvciAoZmxv d3R5cGUgPSBSVEVfRVRIX0ZMT1dfVU5LTk9XTiArIDE7IGZsb3d0eXBlIDwgSTQwRV9GTE9XX1RZ UEVfTUFYOw0KCSAgICAgZmxvd3R5cGUrKykgew0KCQlpZiAoYWRhcHRlci0+cGN0eXBlc190Ymxb Zmxvd3R5cGVdICYgcGN0eXBlX21hc2spDQoJCQlyZXR1cm4gZmxvd3R5cGU7DQoJfQ0KDQoJcmV0 dXJuIFJURV9FVEhfRkxPV19VTktOT1dOOw0KfQ0KDQovKg0KICogT24gWDcxMCwgcGVyZm9ybWFu Y2UgbnVtYmVyIGlzIGZhciBmcm9tIHRoZSBleHBlY3RhdGlvbiBvbiByZWNlbnQgZmlybXdhcmUN CiAqIHZlcnNpb25zOyBvbiBYTDcxMCwgcGVyZm9ybWFuY2UgbnVtYmVyIGlzIGFsc28gZmFyIGZy b20gdGhlIGV4cGVjdGF0aW9uIG9uDQogKiByZWNlbnQgZmlybXdhcmUgdmVyc2lvbnMsIGlmIHBy b21pc2N1b3VzIG1vZGUgaXMgZGlzYWJsZWQsIG9yIHByb21pc2N1b3VzDQogKiBtb2RlIGlzIGVu YWJsZWQgYW5kIHBvcnQgTUFDIGFkZHJlc3MgaXMgZXF1YWwgdG8gdGhlIHBhY2tldCBkZXN0aW5h dGlvbiBNQUMNCiAqIGFkZHJlc3MuIFRoZSBmaXggZm9yIHRoaXMgaXNzdWUgbWF5IG5vdCBiZSBp bnRlZ3JhdGVkIGluIHRoZSBmb2xsb3dpbmcNCiAqIGZpcm13YXJlIHZlcnNpb24uIFNvIHRoZSB3 b3JrYXJvdW5kIGluIHNvZnR3YXJlIGRyaXZlciBpcyBuZWVkZWQuIEl0IG5lZWRzDQogKiB0byBt b2RpZnkgdGhlIGluaXRpYWwgdmFsdWVzIG9mIDMgaW50ZXJuYWwgb25seSByZWdpc3RlcnMgZm9y IGJvdGggWDcxMCBhbmQNCiAqIFhMNzEwLiBOb3RlIHRoYXQgdGhlIHZhbHVlcyBmb3IgWDcxMCBv ciBYTDcxMCBjb3VsZCBiZSBkaWZmZXJlbnQsIGFuZCB0aGUNCiAqIHdvcmthcm91bmQgY2FuIGJl IHJlbW92ZWQgd2hlbiBpdCBpcyBmaXhlZCBpbiBmaXJtd2FyZSBpbiB0aGUgZnV0dXJlLg0KICov DQoNCi8qIEZvciBib3RoIFg3MTAgYW5kIFhMNzEwICovDQojZGVmaW5lIEk0MEVfR0xfU1dSX1BS SV9KT0lOX01BUF8wX1ZBTFVFXzEJMHgxMDAwMDIwMA0KI2RlZmluZSBJNDBFX0dMX1NXUl9QUklf Sk9JTl9NQVBfMF9WQUxVRV8yCTB4MjAzRjAyMDANCiNkZWZpbmUgSTQwRV9HTF9TV1JfUFJJX0pP SU5fTUFQXzAJCTB4MjZDRTAwDQoNCiNkZWZpbmUgSTQwRV9HTF9TV1JfUFJJX0pPSU5fTUFQXzJf VkFMVUUgMHgwMTFmMDIwMA0KI2RlZmluZSBJNDBFX0dMX1NXUl9QUklfSk9JTl9NQVBfMiAgICAg ICAweDI2Q0UwOA0KDQovKiBGb3IgWDcyMiAqLw0KI2RlZmluZSBJNDBFX1g3MjJfR0xfU1dSX1BS SV9KT0lOX01BUF8wX1ZBTFVFIDB4MjAwMDAyMDANCiNkZWZpbmUgSTQwRV9YNzIyX0dMX1NXUl9Q UklfSk9JTl9NQVBfMl9WQUxVRSAweDAxM0YwMjAwDQoNCi8qIEZvciBYNzEwICovDQojZGVmaW5l IEk0MEVfR0xfU1dSX1BNX1VQX1RIUl9FRl9WQUxVRSAgIDB4MDMwMzAzMDMNCi8qIEZvciBYTDcx MCAqLw0KI2RlZmluZSBJNDBFX0dMX1NXUl9QTV9VUF9USFJfU0ZfVkFMVUUgICAweDA2MDYwNjA2 DQojZGVmaW5lIEk0MEVfR0xfU1dSX1BNX1VQX1RIUiAgICAgICAgICAgIDB4MjY5RkJDDQoNCi8q DQogKiBHTF9TV1JfUE1fVVBfVEhSOg0KICogVGhlIHZhbHVlIGlzIG5vdCBpbXBhY3RlZCBmcm9t IHRoZSBsaW5rIHNwZWVkLCBpdHMgdmFsdWUgaXMgc2V0IGFjY29yZGluZw0KICogdG8gdGhlIHRv dGFsIG51bWJlciBvZiBwb3J0cyBmb3IgYSBiZXR0ZXIgcGlwZS1tb25pdG9yIGNvbmZpZ3VyYXRp b24uDQogKi8NCnN0YXRpYyBib29sDQppNDBlX2dldF9zd3JfcG1fY2ZnKHN0cnVjdCBpNDBlX2h3 ICpodywgdWludDMyX3QgKnZhbHVlKQ0Kew0KI2RlZmluZSBJNDBFX0dMX1NXUl9QTV9FRl9ERVZJ Q0UoZGV2KSBcDQoJCS5kZXZpY2VfaWQgPSAoZGV2KSwgICBcDQoJCS52YWwgPSBJNDBFX0dMX1NX Ul9QTV9VUF9USFJfRUZfVkFMVUUNCg0KI2RlZmluZSBJNDBFX0dMX1NXUl9QTV9TRl9ERVZJQ0Uo ZGV2KSBcDQoJCS5kZXZpY2VfaWQgPSAoZGV2KSwgICBcDQoJCS52YWwgPSBJNDBFX0dMX1NXUl9Q TV9VUF9USFJfU0ZfVkFMVUUNCg0KCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KCQl1aW50MTZfdCBk ZXZpY2VfaWQ7DQoJCXVpbnQzMl90IHZhbDsNCgl9IHN3cl9wbV90YWJsZVtdID0gew0KCQl7IEk0 MEVfR0xfU1dSX1BNX0VGX0RFVklDRShJNDBFX0RFVl9JRF9TRlBfWEw3MTApIH0sDQoJCXsgSTQw RV9HTF9TV1JfUE1fRUZfREVWSUNFKEk0MEVfREVWX0lEX0tYX0MpIH0sDQoJCXsgSTQwRV9HTF9T V1JfUE1fRUZfREVWSUNFKEk0MEVfREVWX0lEXzEwR19CQVNFX1QpIH0sDQoJCXsgSTQwRV9HTF9T V1JfUE1fRUZfREVWSUNFKEk0MEVfREVWX0lEXzEwR19CQVNFX1Q0KSB9LA0KCQl7IEk0MEVfR0xf U1dSX1BNX0VGX0RFVklDRShJNDBFX0RFVl9JRF9TRlBfWDcyMikgfSwNCg0KCQl7IEk0MEVfR0xf U1dSX1BNX1NGX0RFVklDRShJNDBFX0RFVl9JRF9LWF9CKSB9LA0KCQl7IEk0MEVfR0xfU1dSX1BN X1NGX0RFVklDRShJNDBFX0RFVl9JRF9RU0ZQX0EpIH0sDQoJCXsgSTQwRV9HTF9TV1JfUE1fU0Zf REVWSUNFKEk0MEVfREVWX0lEX1FTRlBfQikgfSwNCgkJeyBJNDBFX0dMX1NXUl9QTV9TRl9ERVZJ Q0UoSTQwRV9ERVZfSURfMjBHX0tSMikgfSwNCgkJeyBJNDBFX0dMX1NXUl9QTV9TRl9ERVZJQ0Uo STQwRV9ERVZfSURfMjBHX0tSMl9BKSB9LA0KCQl7IEk0MEVfR0xfU1dSX1BNX1NGX0RFVklDRShJ NDBFX0RFVl9JRF8yNUdfQikgfSwNCgkJeyBJNDBFX0dMX1NXUl9QTV9TRl9ERVZJQ0UoSTQwRV9E RVZfSURfMjVHX1NGUDI4KSB9LA0KCX07DQoJdWludDMyX3QgaTsNCg0KCWlmICh2YWx1ZSA9PSBO VUxMKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgInZhbHVlIGlzIE5VTEwiKTsNCgkJcmV0dXJuIGZh bHNlOw0KCX0NCg0KCWZvciAoaSA9IDA7IGkgPCBSVEVfRElNKHN3cl9wbV90YWJsZSk7IGkrKykg ew0KCQlpZiAoaHctPmRldmljZV9pZCA9PSBzd3JfcG1fdGFibGVbaV0uZGV2aWNlX2lkKSB7DQoJ CQkqdmFsdWUgPSBzd3JfcG1fdGFibGVbaV0udmFsOw0KDQoJCQlQTURfRFJWX0xPRyhERUJVRywg IkRldmljZSAweCV4IHdpdGggR0xfU1dSX1BNX1VQX1RIUiAiDQoJCQkJICAgICJ2YWx1ZSAtIDB4 JTA4eCIsDQoJCQkJICAgIGh3LT5kZXZpY2VfaWQsICp2YWx1ZSk7DQoJCQlyZXR1cm4gdHJ1ZTsN CgkJfQ0KCX0NCg0KCXJldHVybiBmYWxzZTsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfc3lu Y19waHlfdHlwZShzdHJ1Y3QgaTQwZV9odyAqaHcpDQp7DQoJZW51bSBpNDBlX3N0YXR1c19jb2Rl IHN0YXR1czsNCglzdHJ1Y3QgaTQwZV9hcV9nZXRfcGh5X2FiaWxpdGllc19yZXNwIHBoeV9hYjsN CglpbnQgcmV0ID0gLUVOT1RTVVA7DQoJaW50IHJldHJpZXMgPSAwOw0KDQoJc3RhdHVzID0gaTQw ZV9hcV9nZXRfcGh5X2NhcGFiaWxpdGllcyhodywgZmFsc2UsIHRydWUsICZwaHlfYWIsDQoJCQkJ CSAgICAgIE5VTEwpOw0KDQoJd2hpbGUgKHN0YXR1cykgew0KCQlQTURfSU5JVF9MT0coV0FSTklO RywgIkZhaWxlZCB0byBzeW5jIHBoeSB0eXBlOiBzdGF0dXM9JWQiLA0KCQkJc3RhdHVzKTsNCgkJ cmV0cmllcysrOw0KCQlydGVfZGVsYXlfdXMoMTAwMDAwKTsNCgkJaWYgIChyZXRyaWVzIDwgNSkN CgkJCXN0YXR1cyA9IGk0MGVfYXFfZ2V0X3BoeV9jYXBhYmlsaXRpZXMoaHcsIGZhbHNlLA0KCQkJ CQl0cnVlLCAmcGh5X2FiLCBOVUxMKTsNCgkJZWxzZQ0KCQkJcmV0dXJuIHJldDsNCgl9DQoJcmV0 dXJuIDA7DQp9DQoNCnN0YXRpYyB2b2lkDQppNDBlX2NvbmZpZ3VyZV9yZWdpc3RlcnMoc3RydWN0 IGk0MGVfaHcgKmh3KQ0Kew0KCXN0YXRpYyBzdHJ1Y3Qgew0KCQl1aW50MzJfdCBhZGRyOw0KCQl1 aW50NjRfdCB2YWw7DQoJfSByZWdfdGFibGVbXSA9IHsNCgkJe0k0MEVfR0xfU1dSX1BSSV9KT0lO X01BUF8wLCAwfSwNCgkJe0k0MEVfR0xfU1dSX1BSSV9KT0lOX01BUF8yLCAwfSwNCgkJe0k0MEVf R0xfU1dSX1BNX1VQX1RIUiwgMH0sIC8qIENvbXB1dGUgdmFsdWUgZHluYW1pY2FsbHkgKi8NCgl9 Ow0KCXVpbnQ2NF90IHJlZzsNCgl1aW50MzJfdCBpOw0KCWludCByZXQ7DQoNCglmb3IgKGkgPSAw OyBpIDwgUlRFX0RJTShyZWdfdGFibGUpOyBpKyspIHsNCgkJaWYgKHJlZ190YWJsZVtpXS5hZGRy ID09IEk0MEVfR0xfU1dSX1BSSV9KT0lOX01BUF8wKSB7DQoJCQlpZiAoaHctPm1hYy50eXBlID09 IEk0MEVfTUFDX1g3MjIpIC8qIEZvciBYNzIyICovDQoJCQkJcmVnX3RhYmxlW2ldLnZhbCA9DQoJ CQkJCUk0MEVfWDcyMl9HTF9TV1JfUFJJX0pPSU5fTUFQXzBfVkFMVUU7DQoJCQllbHNlIC8qIEZv ciBYNzEwL1hMNzEwL1hYVjcxMCAqLw0KCQkJCWlmIChody0+YXEuZndfbWFqX3ZlciA8IDYpDQoJ CQkJCXJlZ190YWJsZVtpXS52YWwgPQ0KCQkJCQkgICAgIEk0MEVfR0xfU1dSX1BSSV9KT0lOX01B UF8wX1ZBTFVFXzE7DQoJCQkJZWxzZQ0KCQkJCQlyZWdfdGFibGVbaV0udmFsID0NCgkJCQkJICAg ICBJNDBFX0dMX1NXUl9QUklfSk9JTl9NQVBfMF9WQUxVRV8yOw0KCQl9DQoNCgkJaWYgKHJlZ190 YWJsZVtpXS5hZGRyID09IEk0MEVfR0xfU1dSX1BSSV9KT0lOX01BUF8yKSB7DQoJCQlpZiAoaHct Pm1hYy50eXBlID09IEk0MEVfTUFDX1g3MjIpIC8qIEZvciBYNzIyICovDQoJCQkJcmVnX3RhYmxl W2ldLnZhbCA9DQoJCQkJCUk0MEVfWDcyMl9HTF9TV1JfUFJJX0pPSU5fTUFQXzJfVkFMVUU7DQoJ CQllbHNlIC8qIEZvciBYNzEwL1hMNzEwL1hYVjcxMCAqLw0KCQkJCXJlZ190YWJsZVtpXS52YWwg PQ0KCQkJCQlJNDBFX0dMX1NXUl9QUklfSk9JTl9NQVBfMl9WQUxVRTsNCgkJfQ0KDQoJCWlmIChy ZWdfdGFibGVbaV0uYWRkciA9PSBJNDBFX0dMX1NXUl9QTV9VUF9USFIpIHsNCgkJCXVpbnQzMl90 IGNmZ192YWw7DQoNCgkJCWlmICghaTQwZV9nZXRfc3dyX3BtX2NmZyhodywgJmNmZ192YWwpKSB7 DQoJCQkJUE1EX0RSVl9MT0coREVCVUcsICJEZXZpY2UgMHgleCBza2lwcyAiDQoJCQkJCSAgICAi R0xfU1dSX1BNX1VQX1RIUiB2YWx1ZSBmaXh1cCIsDQoJCQkJCSAgICBody0+ZGV2aWNlX2lkKTsN CgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJcmVnX3RhYmxlW2ldLnZhbCA9IGNmZ192YWw7DQoJ CX0NCg0KCQlyZXQgPSBpNDBlX2FxX2RlYnVnX3JlYWRfcmVnaXN0ZXIoaHcsIHJlZ190YWJsZVtp XS5hZGRyLA0KCQkJCQkJCSZyZWcsIE5VTEwpOw0KCQlpZiAocmV0IDwgMCkgew0KCQkJUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIHJlYWQgZnJvbSAweCUiUFJJeDMyLA0KCQkJCQkJCXJlZ190 YWJsZVtpXS5hZGRyKTsNCgkJCWJyZWFrOw0KCQl9DQoJCVBNRF9EUlZfTE9HKERFQlVHLCAiUmVh ZCBmcm9tIDB4JSJQUkl4MzIiOiAweCUiUFJJeDY0LA0KCQkJCQkJcmVnX3RhYmxlW2ldLmFkZHIs IHJlZyk7DQoJCWlmIChyZWcgPT0gcmVnX3RhYmxlW2ldLnZhbCkNCgkJCWNvbnRpbnVlOw0KDQoJ CXJldCA9IGk0MGVfYXFfZGVidWdfd3JpdGVfcmVnaXN0ZXIoaHcsIHJlZ190YWJsZVtpXS5hZGRy LA0KCQkJCQkJcmVnX3RhYmxlW2ldLnZhbCwgTlVMTCk7DQoJCWlmIChyZXQgPCAwKSB7DQoJCQlQ TURfRFJWX0xPRyhFUlIsDQoJCQkJIkZhaWxlZCB0byB3cml0ZSAweCUiUFJJeDY0IiB0byB0aGUg YWRkcmVzcyBvZiAweCUiUFJJeDMyLA0KCQkJCXJlZ190YWJsZVtpXS52YWwsIHJlZ190YWJsZVtp XS5hZGRyKTsNCgkJCWJyZWFrOw0KCQl9DQoJCVBNRF9EUlZfTE9HKERFQlVHLCAiV3JpdGUgMHgl IlBSSXg2NCIgdG8gdGhlIGFkZHJlc3Mgb2YgIg0KCQkJIjB4JSJQUkl4MzIsIHJlZ190YWJsZVtp XS52YWwsIHJlZ190YWJsZVtpXS5hZGRyKTsNCgl9DQp9DQoNCiNkZWZpbmUgSTQwRV9WU0lfVFNS KF9pKSAgICAgICAgICAgICgweDAwMDUwODAwICsgKChfaSkgKiA0KSkNCiNkZWZpbmUgSTQwRV9W U0lfVFNSX1FJTlFfQ09ORklHICAgIDB4YzAzMA0KI2RlZmluZSBJNDBFX1ZTSV9MMlRBR1NUWFZB TElEKF9pKSAgKDB4MDAwNDI4MDAgKyAoKF9pKSAqIDQpKQ0KI2RlZmluZSBJNDBFX1ZTSV9MMlRB R1NUWFZBTElEX1FJTlEgMHhhYg0Kc3RhdGljIGludA0KaTQwZV9jb25maWdfcWlucShzdHJ1Y3Qg aTQwZV9odyAqaHcsIHN0cnVjdCBpNDBlX3ZzaSAqdnNpKQ0Kew0KCXVpbnQzMl90IHJlZzsNCglp bnQgcmV0Ow0KDQoJaWYgKHZzaS0+dnNpX2lkID49IEk0MEVfTUFYX05VTV9WU0lTKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwgIlZTSSBJRCBleGNlZWRzIHRoZSBtYXhpbXVtIik7DQoJCXJldHVybiAt RUlOVkFMOw0KCX0NCg0KCS8qIENvbmZpZ3VyZSBmb3IgZG91YmxlIFZMQU4gUlggc3RyaXBwaW5n ICovDQoJcmVnID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9WU0lfVFNSKHZzaS0+dnNpX2lkKSk7 DQoJaWYgKChyZWcgJiBJNDBFX1ZTSV9UU1JfUUlOUV9DT05GSUcpICE9IEk0MEVfVlNJX1RTUl9R SU5RX0NPTkZJRykgew0KCQlyZWcgfD0gSTQwRV9WU0lfVFNSX1FJTlFfQ09ORklHOw0KCQlyZXQg PSBpNDBlX2FxX2RlYnVnX3dyaXRlX3JlZ2lzdGVyKGh3LA0KCQkJCQkJICAgSTQwRV9WU0lfVFNS KHZzaS0+dnNpX2lkKSwNCgkJCQkJCSAgIHJlZywgTlVMTCk7DQoJCWlmIChyZXQgPCAwKSB7DQoJ CQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gdXBkYXRlIFZTSV9UU1JbJWRdIiwNCgkJCQkg ICAgdnNpLT52c2lfaWQpOw0KCQkJcmV0dXJuIEk0MEVfRVJSX0NPTkZJRzsNCgkJfQ0KCX0NCg0K CS8qIENvbmZpZ3VyZSBmb3IgZG91YmxlIFZMQU4gVFggaW5zZXJ0aW9uICovDQoJcmVnID0gSTQw RV9SRUFEX1JFRyhodywgSTQwRV9WU0lfTDJUQUdTVFhWQUxJRCh2c2ktPnZzaV9pZCkpOw0KCWlm ICgocmVnICYgMHhmZikgIT0gSTQwRV9WU0lfTDJUQUdTVFhWQUxJRF9RSU5RKSB7DQoJCXJlZyA9 IEk0MEVfVlNJX0wyVEFHU1RYVkFMSURfUUlOUTsNCgkJcmV0ID0gaTQwZV9hcV9kZWJ1Z193cml0 ZV9yZWdpc3RlcihodywNCgkJCQkJCSAgIEk0MEVfVlNJX0wyVEFHU1RYVkFMSUQoDQoJCQkJCQkg ICB2c2ktPnZzaV9pZCksIHJlZywgTlVMTCk7DQoJCWlmIChyZXQgPCAwKSB7DQoJCQlQTURfRFJW X0xPRyhFUlIsDQoJCQkJIkZhaWxlZCB0byB1cGRhdGUgVlNJX0wyVEFHU1RYVkFMSURbJWRdIiwN CgkJCQl2c2ktPnZzaV9pZCk7DQoJCQlyZXR1cm4gSTQwRV9FUlJfQ09ORklHOw0KCQl9DQoJfQ0K DQoJcmV0dXJuIDA7DQp9DQoNCi8qKg0KICogaTQwZV9hcV9hZGRfbWlycm9yX3J1bGUNCiAqIEBo dzogcG9pbnRlciB0byB0aGUgaGFyZHdhcmUgc3RydWN0dXJlDQogKiBAc2VpZDogVkVCIHNlaWQg dG8gYWRkIG1pcnJvciBydWxlIHRvDQogKiBAZHN0X2lkOiBkZXN0aW5hdGlvbiB2c2kgc2VpZA0K ICogQGVudHJpZXM6IEJ1ZmZlciB3aGljaCBjb250YWlucyB0aGUgZW50aXRpZXMgdG8gYmUgbWly cm9yZWQNCiAqIEBjb3VudDogbnVtYmVyIG9mIGVudGl0aWVzIGNvbnRhaW5lZCBpbiB0aGUgYnVm ZmVyDQogKiBAcnVsZV9pZDp0aGUgcnVsZV9pZCBvZiB0aGUgcnVsZSB0byBiZSBhZGRlZA0KICoN CiAqIEFkZCBhIG1pcnJvciBydWxlIGZvciBhIGdpdmVuIHZlYi4NCiAqDQogKiovDQpzdGF0aWMg ZW51bSBpNDBlX3N0YXR1c19jb2RlDQppNDBlX2FxX2FkZF9taXJyb3JfcnVsZShzdHJ1Y3QgaTQw ZV9odyAqaHcsDQoJCQl1aW50MTZfdCBzZWlkLCB1aW50MTZfdCBkc3RfaWQsDQoJCQl1aW50MTZf dCBydWxlX3R5cGUsIHVpbnQxNl90ICplbnRyaWVzLA0KCQkJdWludDE2X3QgY291bnQsIHVpbnQx Nl90ICpydWxlX2lkKQ0Kew0KCXN0cnVjdCBpNDBlX2FxX2Rlc2MgZGVzYzsNCglzdHJ1Y3QgaTQw ZV9hcWNfYWRkX2RlbGV0ZV9taXJyb3JfcnVsZSBjbWQ7DQoJc3RydWN0IGk0MGVfYXFjX2FkZF9k ZWxldGVfbWlycm9yX3J1bGVfY29tcGxldGlvbiAqcmVzcCA9DQoJCShzdHJ1Y3QgaTQwZV9hcWNf YWRkX2RlbGV0ZV9taXJyb3JfcnVsZV9jb21wbGV0aW9uICopDQoJCSZkZXNjLnBhcmFtcy5yYXc7 DQoJdWludDE2X3QgYnVmZl9sZW47DQoJZW51bSBpNDBlX3N0YXR1c19jb2RlIHN0YXR1czsNCg0K CWk0MGVfZmlsbF9kZWZhdWx0X2RpcmVjdF9jbWRfZGVzYygmZGVzYywNCgkJCQkJICBpNDBlX2Fx Y19vcGNfYWRkX21pcnJvcl9ydWxlKTsNCgltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOw0K DQoJYnVmZl9sZW4gPSBzaXplb2YodWludDE2X3QpICogY291bnQ7DQoJZGVzYy5kYXRhbGVuID0g cnRlX2NwdV90b19sZV8xNihidWZmX2xlbik7DQoJaWYgKGJ1ZmZfbGVuID4gMCkNCgkJZGVzYy5m bGFncyB8PSBydGVfY3B1X3RvX2xlXzE2KA0KCQkJKHVpbnQxNl90KShJNDBFX0FRX0ZMQUdfQlVG IHwgSTQwRV9BUV9GTEFHX1JEKSk7DQoJY21kLnJ1bGVfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYo cnVsZV90eXBlIDw8DQoJCQkJSTQwRV9BUUNfTUlSUk9SX1JVTEVfVFlQRV9TSElGVCk7DQoJY21k Lm51bV9lbnRyaWVzID0gcnRlX2NwdV90b19sZV8xNihjb3VudCk7DQoJY21kLnNlaWQgPSBydGVf Y3B1X3RvX2xlXzE2KHNlaWQpOw0KCWNtZC5kZXN0aW5hdGlvbiA9IHJ0ZV9jcHVfdG9fbGVfMTYo ZHN0X2lkKTsNCg0KCXJ0ZV9tZW1jcHkoJmRlc2MucGFyYW1zLnJhdywgJmNtZCwgc2l6ZW9mKGNt ZCkpOw0KCXN0YXR1cyA9IGk0MGVfYXNxX3NlbmRfY29tbWFuZChodywgJmRlc2MsIGVudHJpZXMs IGJ1ZmZfbGVuLCBOVUxMKTsNCglQTURfRFJWX0xPRyhJTkZPLA0KCQkiaTQwZV9hcV9hZGRfbWly cm9yX3J1bGUsIGFxX3N0YXR1cyAlZCwgcnVsZV9pZCA9ICV1IG1pcnJvcl9ydWxlc191c2VkID0g JXUsIG1pcnJvcl9ydWxlc19mcmVlID0gJXUsIiwNCgkJaHctPmFxLmFzcV9sYXN0X3N0YXR1cywg cmVzcC0+cnVsZV9pZCwNCgkJcmVzcC0+bWlycm9yX3J1bGVzX3VzZWQsIHJlc3AtPm1pcnJvcl9y dWxlc19mcmVlKTsNCgkqcnVsZV9pZCA9IHJ0ZV9sZV90b19jcHVfMTYocmVzcC0+cnVsZV9pZCk7 DQoNCglyZXR1cm4gc3RhdHVzOw0KfQ0KDQovKioNCiAqIGk0MGVfYXFfZGVsX21pcnJvcl9ydWxl DQogKiBAaHc6IHBvaW50ZXIgdG8gdGhlIGhhcmR3YXJlIHN0cnVjdHVyZQ0KICogQHNlaWQ6IFZF QiBzZWlkIHRvIGFkZCBtaXJyb3IgcnVsZSB0bw0KICogQGVudHJpZXM6IEJ1ZmZlciB3aGljaCBj b250YWlucyB0aGUgZW50aXRpZXMgdG8gYmUgbWlycm9yZWQNCiAqIEBjb3VudDogbnVtYmVyIG9m IGVudGl0aWVzIGNvbnRhaW5lZCBpbiB0aGUgYnVmZmVyDQogKiBAcnVsZV9pZDp0aGUgcnVsZV9p ZCBvZiB0aGUgcnVsZSB0byBiZSBkZWxldGUNCiAqDQogKiBEZWxldGUgYSBtaXJyb3IgcnVsZSBm b3IgYSBnaXZlbiB2ZWIuDQogKg0KICoqLw0Kc3RhdGljIGVudW0gaTQwZV9zdGF0dXNfY29kZQ0K aTQwZV9hcV9kZWxfbWlycm9yX3J1bGUoc3RydWN0IGk0MGVfaHcgKmh3LA0KCQl1aW50MTZfdCBz ZWlkLCB1aW50MTZfdCBydWxlX3R5cGUsIHVpbnQxNl90ICplbnRyaWVzLA0KCQl1aW50MTZfdCBj b3VudCwgdWludDE2X3QgcnVsZV9pZCkNCnsNCglzdHJ1Y3QgaTQwZV9hcV9kZXNjIGRlc2M7DQoJ c3RydWN0IGk0MGVfYXFjX2FkZF9kZWxldGVfbWlycm9yX3J1bGUgY21kOw0KCXVpbnQxNl90IGJ1 ZmZfbGVuID0gMDsNCgllbnVtIGk0MGVfc3RhdHVzX2NvZGUgc3RhdHVzOw0KCXZvaWQgKmJ1ZmYg PSBOVUxMOw0KDQoJaTQwZV9maWxsX2RlZmF1bHRfZGlyZWN0X2NtZF9kZXNjKCZkZXNjLA0KCQkJ CQkgIGk0MGVfYXFjX29wY19kZWxldGVfbWlycm9yX3J1bGUpOw0KCW1lbXNldCgmY21kLCAwLCBz aXplb2YoY21kKSk7DQoJaWYgKHJ1bGVfdHlwZSA9PSBJNDBFX0FRQ19NSVJST1JfUlVMRV9UWVBF X1ZMQU4pIHsNCgkJZGVzYy5mbGFncyB8PSBydGVfY3B1X3RvX2xlXzE2KCh1aW50MTZfdCkoSTQw RV9BUV9GTEFHX0JVRiB8DQoJCQkJCQkJICBJNDBFX0FRX0ZMQUdfUkQpKTsNCgkJY21kLm51bV9l bnRyaWVzID0gY291bnQ7DQoJCWJ1ZmZfbGVuID0gc2l6ZW9mKHVpbnQxNl90KSAqIGNvdW50Ow0K CQlkZXNjLmRhdGFsZW4gPSBydGVfY3B1X3RvX2xlXzE2KGJ1ZmZfbGVuKTsNCgkJYnVmZiA9ICh2 b2lkICopZW50cmllczsNCgl9IGVsc2UNCgkJLyogcnVsZSBpZCBpcyBmaWxsZWQgaW4gZGVzdGlu YXRpb24gZmllbGQgZm9yIGRlbGV0aW5nIG1pcnJvciBydWxlICovDQoJCWNtZC5kZXN0aW5hdGlv biA9IHJ0ZV9jcHVfdG9fbGVfMTYocnVsZV9pZCk7DQoNCgljbWQucnVsZV90eXBlID0gcnRlX2Nw dV90b19sZV8xNihydWxlX3R5cGUgPDwNCgkJCQlJNDBFX0FRQ19NSVJST1JfUlVMRV9UWVBFX1NI SUZUKTsNCgljbWQuc2VpZCA9IHJ0ZV9jcHVfdG9fbGVfMTYoc2VpZCk7DQoNCglydGVfbWVtY3B5 KCZkZXNjLnBhcmFtcy5yYXcsICZjbWQsIHNpemVvZihjbWQpKTsNCglzdGF0dXMgPSBpNDBlX2Fz cV9zZW5kX2NvbW1hbmQoaHcsICZkZXNjLCBidWZmLCBidWZmX2xlbiwgTlVMTCk7DQoNCglyZXR1 cm4gc3RhdHVzOw0KfQ0KDQovKioNCiAqIGk0MGVfbWlycm9yX3J1bGVfc2V0DQogKiBAZGV2OiBw b2ludGVyIHRvIHRoZSBoYXJkd2FyZSBzdHJ1Y3R1cmUNCiAqIEBtaXJyb3JfY29uZjogbWlycm9y IHJ1bGUgaW5mbw0KICogQHN3X2lkOiBtaXJyb3IgcnVsZSdzIHN3X2lkDQogKiBAb246IGVuYWJs ZS9kaXNhYmxlDQogKg0KICogc2V0IGEgbWlycm9yIHJ1bGUuDQogKg0KICoqLw0Kc3RhdGljIGlu dA0KaTQwZV9taXJyb3JfcnVsZV9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQlzdHJ1 Y3QgcnRlX2V0aF9taXJyb3JfY29uZiAqbWlycm9yX2NvbmYsDQoJCQl1aW50OF90IHN3X2lkLCB1 aW50OF90IG9uKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9f UEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9E RVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9t aXJyb3JfcnVsZSAqaXQsICptaXJyX3J1bGUgPSBOVUxMOw0KCXN0cnVjdCBpNDBlX21pcnJvcl9y dWxlICpwYXJlbnQgPSBOVUxMOw0KCXVpbnQxNl90IHNlaWQsIGRzdF9zZWlkLCBydWxlX2lkOw0K CXVpbnQxNl90IGksIGogPSAwOw0KCWludCByZXQ7DQoNCglQTURfRFJWX0xPRyhERUJVRywgImk0 MGVfbWlycm9yX3J1bGVfc2V0OiBzd19pZCA9ICVkLiIsIHN3X2lkKTsNCg0KCWlmIChwZi0+bWFp bl92c2ktPnZlYiA9PSBOVUxMIHx8IHBmLT52ZnMgPT0gTlVMTCkgew0KCQlQTURfRFJWX0xPRyhF UlIsDQoJCQkibWlycm9yIHJ1bGUgY2FuIG5vdCBiZSBjb25maWd1cmVkIHdpdGhvdXQgdmViIG9y IHZmcy4iKTsNCgkJcmV0dXJuIC1FTk9TWVM7DQoJfQ0KCWlmIChwZi0+bmJfbWlycm9yX3J1bGUg PiBJNDBFX01BWF9NSVJST1JfUlVMRVMpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAibWlycm9yIHRh YmxlIGlzIGZ1bGwuIik7DQoJCXJldHVybiAtRU5PU1BDOw0KCX0NCglpZiAobWlycm9yX2NvbmYt PmRzdF9wb29sID4gcGYtPnZmX251bSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJpbnZhbGlkIGRl c3RpbmF0aW9uIHBvb2wgJXUuIiwNCgkJCQkgbWlycm9yX2NvbmYtPmRzdF9wb29sKTsNCgkJcmV0 dXJuIC1FSU5WQUw7DQoJfQ0KDQoJc2VpZCA9IHBmLT5tYWluX3ZzaS0+dmViLT5zZWlkOw0KDQoJ VEFJTFFfRk9SRUFDSChpdCwgJnBmLT5taXJyb3JfbGlzdCwgcnVsZXMpIHsNCgkJaWYgKHN3X2lk IDw9IGl0LT5pbmRleCkgew0KCQkJbWlycl9ydWxlID0gaXQ7DQoJCQlicmVhazsNCgkJfQ0KCQlw YXJlbnQgPSBpdDsNCgl9DQoJaWYgKG1pcnJfcnVsZSAmJiBzd19pZCA9PSBtaXJyX3J1bGUtPmlu ZGV4KSB7DQoJCWlmIChvbikgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAibWlycm9yIHJ1bGUgZXhp c3RzLiIpOw0KCQkJcmV0dXJuIC1FRVhJU1Q7DQoJCX0gZWxzZSB7DQoJCQlyZXQgPSBpNDBlX2Fx X2RlbF9taXJyb3JfcnVsZShodywgc2VpZCwNCgkJCQkJbWlycl9ydWxlLT5ydWxlX3R5cGUsDQoJ CQkJCW1pcnJfcnVsZS0+ZW50cmllcywNCgkJCQkJbWlycl9ydWxlLT5udW1fZW50cmllcywgbWly cl9ydWxlLT5pZCk7DQoJCQlpZiAocmV0IDwgMCkgew0KCQkJCVBNRF9EUlZfTE9HKEVSUiwNCgkJ CQkJImZhaWxlZCB0byByZW1vdmUgbWlycm9yIHJ1bGU6IHJldCA9ICVkLCBhcV9lcnIgPSAlZC4i LA0KCQkJCQlyZXQsIGh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpOw0KCQkJCXJldHVybiAtRU5PU1lT Ow0KCQkJfQ0KCQkJVEFJTFFfUkVNT1ZFKCZwZi0+bWlycm9yX2xpc3QsIG1pcnJfcnVsZSwgcnVs ZXMpOw0KCQkJcnRlX2ZyZWUobWlycl9ydWxlKTsNCgkJCXBmLT5uYl9taXJyb3JfcnVsZS0tOw0K CQkJcmV0dXJuIDA7DQoJCX0NCgl9IGVsc2UgaWYgKCFvbikgew0KCQlQTURfRFJWX0xPRyhFUlIs ICJtaXJyb3IgcnVsZSBkb2Vzbid0IGV4aXN0LiIpOw0KCQlyZXR1cm4gLUVOT0VOVDsNCgl9DQoN CgltaXJyX3J1bGUgPSBydGVfem1hbGxvYygiaTQwZV9taXJyb3JfcnVsZSIsDQoJCQkJc2l6ZW9m KHN0cnVjdCBpNDBlX21pcnJvcl9ydWxlKSAsIDApOw0KCWlmICghbWlycl9ydWxlKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkiKTsNCgkJcmV0dXJuIEk0 MEVfRVJSX05PX01FTU9SWTsNCgl9DQoJc3dpdGNoIChtaXJyb3JfY29uZi0+cnVsZV90eXBlKSB7 DQoJY2FzZSBFVEhfTUlSUk9SX1ZMQU46DQoJCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgRVRIX01J UlJPUl9NQVhfVkxBTlM7IGkrKykgew0KCQkJaWYgKG1pcnJvcl9jb25mLT52bGFuLnZsYW5fbWFz ayAmICgxVUxMIDw8IGkpKSB7DQoJCQkJbWlycl9ydWxlLT5lbnRyaWVzW2pdID0NCgkJCQkJbWly cm9yX2NvbmYtPnZsYW4udmxhbl9pZFtpXTsNCgkJCQlqKys7DQoJCQl9DQoJCX0NCgkJaWYgKGog PT0gMCkgew0KCQkJUE1EX0RSVl9MT0coRVJSLCAidmxhbiBpcyBub3Qgc3BlY2lmaWVkLiIpOw0K CQkJcnRlX2ZyZWUobWlycl9ydWxlKTsNCgkJCXJldHVybiAtRUlOVkFMOw0KCQl9DQoJCW1pcnJf cnVsZS0+cnVsZV90eXBlID0gSTQwRV9BUUNfTUlSUk9SX1JVTEVfVFlQRV9WTEFOOw0KCQlicmVh azsNCgljYXNlIEVUSF9NSVJST1JfVklSVFVBTF9QT09MX1VQOg0KCWNhc2UgRVRIX01JUlJPUl9W SVJUVUFMX1BPT0xfRE9XTjoNCgkJLyogY2hlY2sgaWYgdGhlIHNwZWNpZmllZCBwb29sIGJpdCBp cyBvdXQgb2YgcmFuZ2UgKi8NCgkJaWYgKG1pcnJvcl9jb25mLT5wb29sX21hc2sgPiAodWludDY0 X3QpKDFVTEwgPDwgKHBmLT52Zl9udW0gKyAxKSkpIHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwgInBv b2wgbWFzayBpcyBvdXQgb2YgcmFuZ2UuIik7DQoJCQlydGVfZnJlZShtaXJyX3J1bGUpOw0KCQkJ cmV0dXJuIC1FSU5WQUw7DQoJCX0NCgkJZm9yIChpID0gMCwgaiA9IDA7IGkgPCBwZi0+dmZfbnVt OyBpKyspIHsNCgkJCWlmIChtaXJyb3JfY29uZi0+cG9vbF9tYXNrICYgKDFVTEwgPDwgaSkpIHsN CgkJCQltaXJyX3J1bGUtPmVudHJpZXNbal0gPSBwZi0+dmZzW2ldLnZzaS0+c2VpZDsNCgkJCQlq Kys7DQoJCQl9DQoJCX0NCgkJaWYgKG1pcnJvcl9jb25mLT5wb29sX21hc2sgJiAoMVVMTCA8PCBw Zi0+dmZfbnVtKSkgew0KCQkJLyogYWRkIHBmIHZzaSB0byBlbnRyaWVzICovDQoJCQltaXJyX3J1 bGUtPmVudHJpZXNbal0gPSBwZi0+bWFpbl92c2lfc2VpZDsNCgkJCWorKzsNCgkJfQ0KCQlpZiAo aiA9PSAwKSB7DQoJCQlQTURfRFJWX0xPRyhFUlIsICJwb29sIGlzIG5vdCBzcGVjaWZpZWQuIik7 DQoJCQlydGVfZnJlZShtaXJyX3J1bGUpOw0KCQkJcmV0dXJuIC1FSU5WQUw7DQoJCX0NCgkJLyog ZWdyZXNzIGFuZCBpbmdyZXNzIGluIGFxIGNvbW1hbmRzIG1lYW5zIGZyb20gc3dpdGNoIGJ1dCBu b3QgcG9ydCAqLw0KCQltaXJyX3J1bGUtPnJ1bGVfdHlwZSA9DQoJCQkobWlycm9yX2NvbmYtPnJ1 bGVfdHlwZSA9PSBFVEhfTUlSUk9SX1ZJUlRVQUxfUE9PTF9VUCkgPw0KCQkJSTQwRV9BUUNfTUlS Uk9SX1JVTEVfVFlQRV9WUE9SVF9FR1JFU1MgOg0KCQkJSTQwRV9BUUNfTUlSUk9SX1JVTEVfVFlQ RV9WUE9SVF9JTkdSRVNTOw0KCQlicmVhazsNCgljYXNlIEVUSF9NSVJST1JfVVBMSU5LX1BPUlQ6 DQoJCS8qIGVncmVzcyBhbmQgaW5ncmVzcyBpbiBhcSBjb21tYW5kcyBtZWFucyBmcm9tIHN3aXRj aCBidXQgbm90IHBvcnQqLw0KCQltaXJyX3J1bGUtPnJ1bGVfdHlwZSA9IEk0MEVfQVFDX01JUlJP Ul9SVUxFX1RZUEVfQUxMX0VHUkVTUzsNCgkJYnJlYWs7DQoJY2FzZSBFVEhfTUlSUk9SX0RPV05M SU5LX1BPUlQ6DQoJCW1pcnJfcnVsZS0+cnVsZV90eXBlID0gSTQwRV9BUUNfTUlSUk9SX1JVTEVf VFlQRV9BTExfSU5HUkVTUzsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJUE1EX0RSVl9MT0coRVJS LCAidW5zdXBwb3J0ZWQgbWlycm9yIHR5cGUgJWQuIiwNCgkJCW1pcnJvcl9jb25mLT5ydWxlX3R5 cGUpOw0KCQlydGVfZnJlZShtaXJyX3J1bGUpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCgkv KiBJZiB0aGUgZHN0X3Bvb2wgaXMgZXF1YWwgdG8gdmZfbnVtLCBjb25zaWRlciBpdCBhcyBQRiAq Lw0KCWlmIChtaXJyb3JfY29uZi0+ZHN0X3Bvb2wgPT0gcGYtPnZmX251bSkNCgkJZHN0X3NlaWQg PSBwZi0+bWFpbl92c2lfc2VpZDsNCgllbHNlDQoJCWRzdF9zZWlkID0gcGYtPnZmc1ttaXJyb3Jf Y29uZi0+ZHN0X3Bvb2xdLnZzaS0+c2VpZDsNCg0KCXJldCA9IGk0MGVfYXFfYWRkX21pcnJvcl9y dWxlKGh3LCBzZWlkLCBkc3Rfc2VpZCwNCgkJCQkgICAgICBtaXJyX3J1bGUtPnJ1bGVfdHlwZSwg bWlycl9ydWxlLT5lbnRyaWVzLA0KCQkJCSAgICAgIGosICZydWxlX2lkKTsNCglpZiAocmV0IDwg MCkgew0KCQlQTURfRFJWX0xPRyhFUlIsDQoJCQkiZmFpbGVkIHRvIGFkZCBtaXJyb3IgcnVsZTog cmV0ID0gJWQsIGFxX2VyciA9ICVkLiIsDQoJCQlyZXQsIGh3LT5hcS5hc3FfbGFzdF9zdGF0dXMp Ow0KCQlydGVfZnJlZShtaXJyX3J1bGUpOw0KCQlyZXR1cm4gLUVOT1NZUzsNCgl9DQoNCgltaXJy X3J1bGUtPmluZGV4ID0gc3dfaWQ7DQoJbWlycl9ydWxlLT5udW1fZW50cmllcyA9IGo7DQoJbWly cl9ydWxlLT5pZCA9IHJ1bGVfaWQ7DQoJbWlycl9ydWxlLT5kc3RfdnNpX3NlaWQgPSBkc3Rfc2Vp ZDsNCg0KCWlmIChwYXJlbnQpDQoJCVRBSUxRX0lOU0VSVF9BRlRFUigmcGYtPm1pcnJvcl9saXN0 LCBwYXJlbnQsIG1pcnJfcnVsZSwgcnVsZXMpOw0KCWVsc2UNCgkJVEFJTFFfSU5TRVJUX0hFQUQo JnBmLT5taXJyb3JfbGlzdCwgbWlycl9ydWxlLCBydWxlcyk7DQoNCglwZi0+bmJfbWlycm9yX3J1 bGUrKzsNCglyZXR1cm4gMDsNCn0NCg0KLyoqDQogKiBpNDBlX21pcnJvcl9ydWxlX3Jlc2V0DQog KiBAZGV2OiBwb2ludGVyIHRvIHRoZSBkZXZpY2UNCiAqIEBzd19pZDogbWlycm9yIHJ1bGUncyBz d19pZA0KICoNCiAqIHJlc2V0IGEgbWlycm9yIHJ1bGUuDQogKg0KICoqLw0Kc3RhdGljIGludA0K aTQwZV9taXJyb3JfcnVsZV9yZXNldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDhfdCBz d19pZCkNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJNDBFX0RFVl9QUklWQVRFX1RPX1BGKGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BS SVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfbWlycm9y X3J1bGUgKml0LCAqbWlycl9ydWxlID0gTlVMTDsNCgl1aW50MTZfdCBzZWlkOw0KCWludCByZXQ7 DQoNCglQTURfRFJWX0xPRyhERUJVRywgImk0MGVfbWlycm9yX3J1bGVfcmVzZXQ6IHN3X2lkID0g JWQuIiwgc3dfaWQpOw0KDQoJc2VpZCA9IHBmLT5tYWluX3ZzaS0+dmViLT5zZWlkOw0KDQoJVEFJ TFFfRk9SRUFDSChpdCwgJnBmLT5taXJyb3JfbGlzdCwgcnVsZXMpIHsNCgkJaWYgKHN3X2lkID09 IGl0LT5pbmRleCkgew0KCQkJbWlycl9ydWxlID0gaXQ7DQoJCQlicmVhazsNCgkJfQ0KCX0NCglp ZiAobWlycl9ydWxlKSB7DQoJCXJldCA9IGk0MGVfYXFfZGVsX21pcnJvcl9ydWxlKGh3LCBzZWlk LA0KCQkJCW1pcnJfcnVsZS0+cnVsZV90eXBlLA0KCQkJCW1pcnJfcnVsZS0+ZW50cmllcywNCgkJ CQltaXJyX3J1bGUtPm51bV9lbnRyaWVzLCBtaXJyX3J1bGUtPmlkKTsNCgkJaWYgKHJldCA8IDAp IHsNCgkJCVBNRF9EUlZfTE9HKEVSUiwNCgkJCQkiZmFpbGVkIHRvIHJlbW92ZSBtaXJyb3IgcnVs ZTogc3RhdHVzID0gJWQsIGFxX2VyciA9ICVkLiIsDQoJCQkJcmV0LCBody0+YXEuYXNxX2xhc3Rf c3RhdHVzKTsNCgkJCXJldHVybiAtRU5PU1lTOw0KCQl9DQoJCVRBSUxRX1JFTU9WRSgmcGYtPm1p cnJvcl9saXN0LCBtaXJyX3J1bGUsIHJ1bGVzKTsNCgkJcnRlX2ZyZWUobWlycl9ydWxlKTsNCgkJ cGYtPm5iX21pcnJvcl9ydWxlLS07DQoJfSBlbHNlIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAibWly cm9yIHJ1bGUgZG9lc24ndCBleGlzdC4iKTsNCgkJcmV0dXJuIC1FTk9FTlQ7DQoJfQ0KCXJldHVy biAwOw0KfQ0KDQpzdGF0aWMgdWludDY0X3QNCmk0MGVfcmVhZF9zeXN0aW1lX2N5Y2xlY291bnRl cihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBF X0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQ2NF90IHN5 c3RpbV9jeWNsZXM7DQoNCglzeXN0aW1fY3ljbGVzID0gKHVpbnQ2NF90KUk0MEVfUkVBRF9SRUco aHcsIEk0MEVfUFJUVFNZTl9USU1FX0wpOw0KCXN5c3RpbV9jeWNsZXMgfD0gKHVpbnQ2NF90KUk0 MEVfUkVBRF9SRUcoaHcsIEk0MEVfUFJUVFNZTl9USU1FX0gpDQoJCQk8PCAzMjsNCg0KCXJldHVy biBzeXN0aW1fY3ljbGVzOw0KfQ0KDQpzdGF0aWMgdWludDY0X3QNCmk0MGVfcmVhZF9yeF90c3Rh bXBfY3ljbGVjb3VudGVyKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50OF90IGluZGV4KQ0K ew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZSk7DQoJdWludDY0X3QgcnhfdHN0YW1wOw0KDQoJcnhfdHN0YW1wID0gKHVp bnQ2NF90KUk0MEVfUkVBRF9SRUcoaHcsIEk0MEVfUFJUVFNZTl9SWFRJTUVfTChpbmRleCkpOw0K CXJ4X3RzdGFtcCB8PSAodWludDY0X3QpSTQwRV9SRUFEX1JFRyhodywgSTQwRV9QUlRUU1lOX1JY VElNRV9IKGluZGV4KSkNCgkJCTw8IDMyOw0KDQoJcmV0dXJuIHJ4X3RzdGFtcDsNCn0NCg0Kc3Rh dGljIHVpbnQ2NF90DQppNDBlX3JlYWRfdHhfdHN0YW1wX2N5Y2xlY291bnRlcihzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldikNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRF X1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQ2NF90IHR4X3RzdGFtcDsNCg0K CXR4X3RzdGFtcCA9ICh1aW50NjRfdClJNDBFX1JFQURfUkVHKGh3LCBJNDBFX1BSVFRTWU5fVFhU SU1FX0wpOw0KCXR4X3RzdGFtcCB8PSAodWludDY0X3QpSTQwRV9SRUFEX1JFRyhodywgSTQwRV9Q UlRUU1lOX1RYVElNRV9IKQ0KCQkJPDwgMzI7DQoNCglyZXR1cm4gdHhfdHN0YW1wOw0KfQ0KDQpz dGF0aWMgdm9pZA0KaTQwZV9zdGFydF90aW1lY291bnRlcnMoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9hZGFwdGVyICphZGFwdGVyID0gZGV2 LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCglzdHJ1Y3QgcnRlX2V0aF9saW5rIGxpbms7DQoJdWludDMy X3QgdHN5bmNfaW5jX2w7DQoJdWludDMyX3QgdHN5bmNfaW5jX2g7DQoNCgkvKiBHZXQgY3VycmVu dCBsaW5rIHNwZWVkLiAqLw0KCWk0MGVfZGV2X2xpbmtfdXBkYXRlKGRldiwgMSk7DQoJcnRlX2V0 aF9saW5rc3RhdHVzX2dldChkZXYsICZsaW5rKTsNCg0KCXN3aXRjaCAobGluay5saW5rX3NwZWVk KSB7DQoJY2FzZSBFVEhfU1BFRURfTlVNXzQwRzoNCgljYXNlIEVUSF9TUEVFRF9OVU1fMjVHOg0K CQl0c3luY19pbmNfbCA9IEk0MEVfUFRQXzQwR0JfSU5DVkFMICYgMHhGRkZGRkZGRjsNCgkJdHN5 bmNfaW5jX2ggPSBJNDBFX1BUUF80MEdCX0lOQ1ZBTCA+PiAzMjsNCgkJYnJlYWs7DQoJY2FzZSBF VEhfU1BFRURfTlVNXzEwRzoNCgkJdHN5bmNfaW5jX2wgPSBJNDBFX1BUUF8xMEdCX0lOQ1ZBTCAm IDB4RkZGRkZGRkY7DQoJCXRzeW5jX2luY19oID0gSTQwRV9QVFBfMTBHQl9JTkNWQUwgPj4gMzI7 DQoJCWJyZWFrOw0KCWNhc2UgRVRIX1NQRUVEX05VTV8xRzoNCgkJdHN5bmNfaW5jX2wgPSBJNDBF X1BUUF8xR0JfSU5DVkFMICYgMHhGRkZGRkZGRjsNCgkJdHN5bmNfaW5jX2ggPSBJNDBFX1BUUF8x R0JfSU5DVkFMID4+IDMyOw0KCQlicmVhazsNCglkZWZhdWx0Og0KCQl0c3luY19pbmNfbCA9IDB4 MDsNCgkJdHN5bmNfaW5jX2ggPSAweDA7DQoJfQ0KDQoJLyogU2V0IHRoZSB0aW1lc3luYyBpbmNy ZW1lbnQgdmFsdWUuICovDQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJUVFNZTl9JTkNfTCwg dHN5bmNfaW5jX2wpOw0KCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BSVFRTWU5fSU5DX0gsIHRz eW5jX2luY19oKTsNCg0KCW1lbXNldCgmYWRhcHRlci0+c3lzdGltZV90YywgMCwgc2l6ZW9mKHN0 cnVjdCBydGVfdGltZWNvdW50ZXIpKTsNCgltZW1zZXQoJmFkYXB0ZXItPnJ4X3RzdGFtcF90Yywg MCwgc2l6ZW9mKHN0cnVjdCBydGVfdGltZWNvdW50ZXIpKTsNCgltZW1zZXQoJmFkYXB0ZXItPnR4 X3RzdGFtcF90YywgMCwgc2l6ZW9mKHN0cnVjdCBydGVfdGltZWNvdW50ZXIpKTsNCg0KCWFkYXB0 ZXItPnN5c3RpbWVfdGMuY2NfbWFzayA9IEk0MEVfQ1lDTEVDT1VOVEVSX01BU0s7DQoJYWRhcHRl ci0+c3lzdGltZV90Yy5jY19zaGlmdCA9IDA7DQoJYWRhcHRlci0+c3lzdGltZV90Yy5uc2VjX21h c2sgPSAwOw0KDQoJYWRhcHRlci0+cnhfdHN0YW1wX3RjLmNjX21hc2sgPSBJNDBFX0NZQ0xFQ09V TlRFUl9NQVNLOw0KCWFkYXB0ZXItPnJ4X3RzdGFtcF90Yy5jY19zaGlmdCA9IDA7DQoJYWRhcHRl ci0+cnhfdHN0YW1wX3RjLm5zZWNfbWFzayA9IDA7DQoNCglhZGFwdGVyLT50eF90c3RhbXBfdGMu Y2NfbWFzayA9IEk0MEVfQ1lDTEVDT1VOVEVSX01BU0s7DQoJYWRhcHRlci0+dHhfdHN0YW1wX3Rj LmNjX3NoaWZ0ID0gMDsNCglhZGFwdGVyLT50eF90c3RhbXBfdGMubnNlY19tYXNrID0gMDsNCn0N Cg0Kc3RhdGljIGludA0KaTQwZV90aW1lc3luY19hZGp1c3RfdGltZShzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwgaW50NjRfdCBkZWx0YSkNCnsNCglzdHJ1Y3QgaTQwZV9hZGFwdGVyICphZGFwdGVy ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCg0KCWFkYXB0ZXItPnN5c3RpbWVfdGMubnNlYyAr PSBkZWx0YTsNCglhZGFwdGVyLT5yeF90c3RhbXBfdGMubnNlYyArPSBkZWx0YTsNCglhZGFwdGVy LT50eF90c3RhbXBfdGMubnNlYyArPSBkZWx0YTsNCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMg aW50DQppNDBlX3RpbWVzeW5jX3dyaXRlX3RpbWUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGNv bnN0IHN0cnVjdCB0aW1lc3BlYyAqdHMpDQp7DQoJdWludDY0X3QgbnM7DQoJc3RydWN0IGk0MGVf YWRhcHRlciAqYWRhcHRlciA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQoNCglucyA9IHJ0ZV90 aW1lc3BlY190b19ucyh0cyk7DQoNCgkvKiBTZXQgdGhlIHRpbWVjb3VudGVycyB0byBhIG5ldyB2 YWx1ZS4gKi8NCglhZGFwdGVyLT5zeXN0aW1lX3RjLm5zZWMgPSBuczsNCglhZGFwdGVyLT5yeF90 c3RhbXBfdGMubnNlYyA9IG5zOw0KCWFkYXB0ZXItPnR4X3RzdGFtcF90Yy5uc2VjID0gbnM7DQoN CglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV90aW1lc3luY19yZWFkX3RpbWUoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCB0aW1lc3BlYyAqdHMpDQp7DQoJdWludDY0X3Qg bnMsIHN5c3RpbWVfY3ljbGVzOw0KCXN0cnVjdCBpNDBlX2FkYXB0ZXIgKmFkYXB0ZXIgPSBkZXYt PmRhdGEtPmRldl9wcml2YXRlOw0KDQoJc3lzdGltZV9jeWNsZXMgPSBpNDBlX3JlYWRfc3lzdGlt ZV9jeWNsZWNvdW50ZXIoZGV2KTsNCglucyA9IHJ0ZV90aW1lY291bnRlcl91cGRhdGUoJmFkYXB0 ZXItPnN5c3RpbWVfdGMsIHN5c3RpbWVfY3ljbGVzKTsNCgkqdHMgPSBydGVfbnNfdG9fdGltZXNw ZWMobnMpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfdGltZXN5bmNfZW5h YmxlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0 MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJdWludDMyX3Qg dHN5bmNfY3RsX2w7DQoJdWludDMyX3QgdHN5bmNfY3RsX2g7DQoNCgkvKiBTdG9wIHRoZSB0aW1l c3luYyBzeXN0ZW0gdGltZS4gKi8NCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlRUU1lOX0lO Q19MLCAweDApOw0KCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BSVFRTWU5fSU5DX0gsIDB4MCk7 DQoJLyogUmVzZXQgdGhlIHRpbWVzeW5jIHN5c3RlbSB0aW1lIHZhbHVlLiAqLw0KCUk0MEVfV1JJ VEVfUkVHKGh3LCBJNDBFX1BSVFRTWU5fVElNRV9MLCAweDApOw0KCUk0MEVfV1JJVEVfUkVHKGh3 LCBJNDBFX1BSVFRTWU5fVElNRV9ILCAweDApOw0KDQoJaTQwZV9zdGFydF90aW1lY291bnRlcnMo ZGV2KTsNCg0KCS8qIENsZWFyIHRpbWVzeW5jIHJlZ2lzdGVycy4gKi8NCglJNDBFX1JFQURfUkVH KGh3LCBJNDBFX1BSVFRTWU5fU1RBVF8wKTsNCglJNDBFX1JFQURfUkVHKGh3LCBJNDBFX1BSVFRT WU5fVFhUSU1FX0gpOw0KCUk0MEVfUkVBRF9SRUcoaHcsIEk0MEVfUFJUVFNZTl9SWFRJTUVfSCgw KSk7DQoJSTQwRV9SRUFEX1JFRyhodywgSTQwRV9QUlRUU1lOX1JYVElNRV9IKDEpKTsNCglJNDBF X1JFQURfUkVHKGh3LCBJNDBFX1BSVFRTWU5fUlhUSU1FX0goMikpOw0KCUk0MEVfUkVBRF9SRUco aHcsIEk0MEVfUFJUVFNZTl9SWFRJTUVfSCgzKSk7DQoNCgkvKiBFbmFibGUgdGltZXN0YW1waW5n IG9mIFBUUCBwYWNrZXRzLiAqLw0KCXRzeW5jX2N0bF9sID0gSTQwRV9SRUFEX1JFRyhodywgSTQw RV9QUlRUU1lOX0NUTDApOw0KCXRzeW5jX2N0bF9sIHw9IEk0MEVfUFJUVFNZTl9UU1lORU5BOw0K DQoJdHN5bmNfY3RsX2ggPSBJNDBFX1JFQURfUkVHKGh3LCBJNDBFX1BSVFRTWU5fQ1RMMSk7DQoJ dHN5bmNfY3RsX2ggfD0gSTQwRV9QUlRUU1lOX1RTWU5FTkE7DQoJdHN5bmNfY3RsX2ggfD0gSTQw RV9QUlRUU1lOX1RTWU5UWVBFOw0KDQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJUVFNZTl9D VEwwLCB0c3luY19jdGxfbCk7DQoJSTQwRV9XUklURV9SRUcoaHcsIEk0MEVfUFJUVFNZTl9DVEwx LCB0c3luY19jdGxfaCk7DQoNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV90aW1l c3luY19kaXNhYmxlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0KCXN0cnVjdCBpNDBlX2h3 ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJ dWludDMyX3QgdHN5bmNfY3RsX2w7DQoJdWludDMyX3QgdHN5bmNfY3RsX2g7DQoNCgkvKiBEaXNh YmxlIHRpbWVzdGFtcGluZyBvZiB0cmFuc21pdHRlZCBQVFAgcGFja2V0cy4gKi8NCgl0c3luY19j dGxfbCA9IEk0MEVfUkVBRF9SRUcoaHcsIEk0MEVfUFJUVFNZTl9DVEwwKTsNCgl0c3luY19jdGxf bCAmPSB+STQwRV9QUlRUU1lOX1RTWU5FTkE7DQoNCgl0c3luY19jdGxfaCA9IEk0MEVfUkVBRF9S RUcoaHcsIEk0MEVfUFJUVFNZTl9DVEwxKTsNCgl0c3luY19jdGxfaCAmPSB+STQwRV9QUlRUU1lO X1RTWU5FTkE7DQoNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlRUU1lOX0NUTDAsIHRzeW5j X2N0bF9sKTsNCglJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlRUU1lOX0NUTDEsIHRzeW5jX2N0 bF9oKTsNCg0KCS8qIFJlc2V0IHRoZSB0aW1lc3luYyBpbmNyZW1lbnQgdmFsdWUuICovDQoJSTQw RV9XUklURV9SRUcoaHcsIEk0MEVfUFJUVFNZTl9JTkNfTCwgMHgwKTsNCglJNDBFX1dSSVRFX1JF RyhodywgSTQwRV9QUlRUU1lOX0lOQ19ILCAweDApOw0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRp YyBpbnQNCmk0MGVfdGltZXN5bmNfcmVhZF9yeF90aW1lc3RhbXAoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYsDQoJCQkJc3RydWN0IHRpbWVzcGVjICp0aW1lc3RhbXAsIHVpbnQzMl90IGZsYWdzKQ0K ew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfYWRhcHRlciAqYWRhcHRlciA9IGRldi0+ZGF0 YS0+ZGV2X3ByaXZhdGU7DQoJdWludDMyX3Qgc3luY19zdGF0dXM7DQoJdWludDMyX3QgaW5kZXgg PSBmbGFncyAmIDB4MDM7DQoJdWludDY0X3QgcnhfdHN0YW1wX2N5Y2xlczsNCgl1aW50NjRfdCBu czsNCg0KCXN5bmNfc3RhdHVzID0gSTQwRV9SRUFEX1JFRyhodywgSTQwRV9QUlRUU1lOX1NUQVRf MSk7DQoJaWYgKChzeW5jX3N0YXR1cyAmICgxIDw8IGluZGV4KSkgPT0gMCkNCgkJcmV0dXJuIC1F SU5WQUw7DQoNCglyeF90c3RhbXBfY3ljbGVzID0gaTQwZV9yZWFkX3J4X3RzdGFtcF9jeWNsZWNv dW50ZXIoZGV2LCBpbmRleCk7DQoJbnMgPSBydGVfdGltZWNvdW50ZXJfdXBkYXRlKCZhZGFwdGVy LT5yeF90c3RhbXBfdGMsIHJ4X3RzdGFtcF9jeWNsZXMpOw0KCSp0aW1lc3RhbXAgPSBydGVfbnNf dG9fdGltZXNwZWMobnMpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfdGlt ZXN5bmNfcmVhZF90eF90aW1lc3RhbXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQoJCQkJc3Ry dWN0IHRpbWVzcGVjICp0aW1lc3RhbXApDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9E RVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9h ZGFwdGVyICphZGFwdGVyID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCgl1aW50MzJfdCBzeW5j X3N0YXR1czsNCgl1aW50NjRfdCB0eF90c3RhbXBfY3ljbGVzOw0KCXVpbnQ2NF90IG5zOw0KDQoJ c3luY19zdGF0dXMgPSBJNDBFX1JFQURfUkVHKGh3LCBJNDBFX1BSVFRTWU5fU1RBVF8wKTsNCglp ZiAoKHN5bmNfc3RhdHVzICYgSTQwRV9QUlRUU1lOX1NUQVRfMF9UWFRJTUVfTUFTSykgPT0gMCkN CgkJcmV0dXJuIC1FSU5WQUw7DQoNCgl0eF90c3RhbXBfY3ljbGVzID0gaTQwZV9yZWFkX3R4X3Rz dGFtcF9jeWNsZWNvdW50ZXIoZGV2KTsNCglucyA9IHJ0ZV90aW1lY291bnRlcl91cGRhdGUoJmFk YXB0ZXItPnR4X3RzdGFtcF90YywgdHhfdHN0YW1wX2N5Y2xlcyk7DQoJKnRpbWVzdGFtcCA9IHJ0 ZV9uc190b190aW1lc3BlYyhucyk7DQoNCglyZXR1cm4gMDsNCn0NCg0KLyoNCiAqIGk0MGVfcGFy c2VfZGNiX2NvbmZpZ3VyZSAtIHBhcnNlIGRjYiBjb25maWd1cmUgZnJvbSB1c2VyDQogKiBAZGV2 OiB0aGUgZGV2aWNlIGJlaW5nIGNvbmZpZ3VyZWQNCiAqIEBkY2JfY2ZnOiBwb2ludGVyIG9mIHRo ZSByZXN1bHQgb2YgcGFyc2UNCiAqIEAqdGNfbWFwOiBiaXQgbWFwIG9mIGVuYWJsZWQgdHJhZmZp YyBjbGFzc2VzDQogKg0KICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIHZhbHVlIG9u IGZhaWx1cmUNCiAqLw0Kc3RhdGljIGludA0KaTQwZV9wYXJzZV9kY2JfY29uZmlndXJlKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LA0KCQkJIHN0cnVjdCBpNDBlX2RjYnhfY29uZmlnICpkY2JfY2Zn LA0KCQkJIHVpbnQ4X3QgKnRjX21hcCkNCnsNCglzdHJ1Y3QgcnRlX2V0aF9kY2JfcnhfY29uZiAq ZGNiX3J4X2NvbmY7DQoJdWludDhfdCBpLCB0Y19idywgYndfbGY7DQoNCgltZW1zZXQoZGNiX2Nm ZywgMCwgc2l6ZW9mKHN0cnVjdCBpNDBlX2RjYnhfY29uZmlnKSk7DQoNCglkY2JfcnhfY29uZiA9 ICZkZXYtPmRhdGEtPmRldl9jb25mLnJ4X2Fkdl9jb25mLmRjYl9yeF9jb25mOw0KCWlmIChkY2Jf cnhfY29uZi0+bmJfdGNzID4gSTQwRV9NQVhfVFJBRkZJQ19DTEFTUykgew0KCQlQTURfSU5JVF9M T0coRVJSLCAibnVtYmVyIG9mIHRjIGV4Y2VlZHMgbWF4LiIpOw0KCQlyZXR1cm4gLUVJTlZBTDsN Cgl9DQoNCgkvKiBhc3N1bWUgZWFjaCB0YyBoYXMgdGhlIHNhbWUgYncgKi8NCgl0Y19idyA9IEk0 MEVfTUFYX1BFUkNFTlQgLyBkY2JfcnhfY29uZi0+bmJfdGNzOw0KCWZvciAoaSA9IDA7IGkgPCBk Y2JfcnhfY29uZi0+bmJfdGNzOyBpKyspDQoJCWRjYl9jZmctPmV0c2NmZy50Y2J3dGFibGVbaV0g PSB0Y19idzsNCgkvKiB0byBlbnN1cmUgdGhlIHN1bSBvZiB0Y2J3IGlzIGVxdWFsIHRvIDEwMCAq Lw0KCWJ3X2xmID0gSTQwRV9NQVhfUEVSQ0VOVCAlIGRjYl9yeF9jb25mLT5uYl90Y3M7DQoJZm9y IChpID0gMDsgaSA8IGJ3X2xmOyBpKyspDQoJCWRjYl9jZmctPmV0c2NmZy50Y2J3dGFibGVbaV0r KzsNCg0KCS8qIGFzc3VtZSBlYWNoIHRjIGhhcyB0aGUgc2FtZSBUcmFuc21pc3Npb24gU2VsZWN0 aW9uIEFsZ29yaXRobSAqLw0KCWZvciAoaSA9IDA7IGkgPCBkY2JfcnhfY29uZi0+bmJfdGNzOyBp KyspDQoJCWRjYl9jZmctPmV0c2NmZy50c2F0YWJsZVtpXSA9IEk0MEVfSUVFRV9UU0FfRVRTOw0K DQoJZm9yIChpID0gMDsgaSA8IEk0MEVfTUFYX1VTRVJfUFJJT1JJVFk7IGkrKykNCgkJZGNiX2Nm Zy0+ZXRzY2ZnLnByaW9yaXR5dGFibGVbaV0gPQ0KCQkJCWRjYl9yeF9jb25mLT5kY2JfdGNbaV07 DQoNCgkvKiBGVyBuZWVkcyBvbmUgQXBwIHRvIGNvbmZpZ3VyZSBIVyAqLw0KCWRjYl9jZmctPm51 bWFwcHMgPSBJNDBFX0RFRkFVTFRfRENCX0FQUF9OVU07DQoJZGNiX2NmZy0+YXBwWzBdLnNlbGVj dG9yID0gSTQwRV9BUFBfU0VMX0VUSFRZUEU7DQoJZGNiX2NmZy0+YXBwWzBdLnByaW9yaXR5ID0g STQwRV9ERUZBVUxUX0RDQl9BUFBfUFJJTzsNCglkY2JfY2ZnLT5hcHBbMF0ucHJvdG9jb2xpZCA9 IEk0MEVfQVBQX1BST1RPSURfRkNPRTsNCg0KCWlmIChkY2JfcnhfY29uZi0+bmJfdGNzID09IDAp DQoJCSp0Y19tYXAgPSAxOyAvKiB0YzAgb25seSAqLw0KCWVsc2UNCgkJKnRjX21hcCA9IFJURV9M RU4yTUFTSyhkY2JfcnhfY29uZi0+bmJfdGNzLCB1aW50OF90KTsNCg0KCWlmIChkZXYtPmRhdGEt PmRldl9jb25mLmRjYl9jYXBhYmlsaXR5X2VuICYgRVRIX0RDQl9QRkNfU1VQUE9SVCkgew0KCQlk Y2JfY2ZnLT5wZmMud2lsbGluZyA9IDA7DQoJCWRjYl9jZmctPnBmYy5wZmNjYXAgPSBJNDBFX01B WF9UUkFGRklDX0NMQVNTOw0KCQlkY2JfY2ZnLT5wZmMucGZjZW5hYmxlID0gKnRjX21hcDsNCgl9 DQoJcmV0dXJuIDA7DQp9DQoNCg0Kc3RhdGljIGVudW0gaTQwZV9zdGF0dXNfY29kZQ0KaTQwZV92 c2lfdXBkYXRlX3F1ZXVlX21hcHBpbmcoc3RydWN0IGk0MGVfdnNpICp2c2ksDQoJCQkgICAgICBz dHJ1Y3QgaTQwZV9hcWNfdnNpX3Byb3BlcnRpZXNfZGF0YSAqaW5mbywNCgkJCSAgICAgIHVpbnQ4 X3QgZW5hYmxlZF90Y21hcCkNCnsNCgllbnVtIGk0MGVfc3RhdHVzX2NvZGUgcmV0Ow0KCWludCBp LCB0b3RhbF90YyA9IDA7DQoJdWludDE2X3QgcXBudW1fcGVyX3RjLCBic2YsIHFwX2lkeDsNCglz dHJ1Y3QgcnRlX2V0aF9kZXZfZGF0YSAqZGV2X2RhdGEgPSBJNDBFX1ZTSV9UT19ERVZfREFUQSh2 c2kpOw0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfVlNJX1RPX1BGKHZzaSk7DQoJdWludDE2 X3QgdXNlZF9xdWV1ZXM7DQoNCglyZXQgPSB2YWxpZGF0ZV90Y21hcF9wYXJhbWV0ZXIodnNpLCBl bmFibGVkX3RjbWFwKTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJcmV0dXJuIHJldDsN Cg0KCWZvciAoaSA9IDA7IGkgPCBJNDBFX01BWF9UUkFGRklDX0NMQVNTOyBpKyspIHsNCgkJaWYg KGVuYWJsZWRfdGNtYXAgJiAoMSA8PCBpKSkNCgkJCXRvdGFsX3RjKys7DQoJfQ0KCWlmICh0b3Rh bF90YyA9PSAwKQ0KCQl0b3RhbF90YyA9IDE7DQoJdnNpLT5lbmFibGVkX3RjID0gZW5hYmxlZF90 Y21hcDsNCg0KCS8qIGRpZmZlcmVudCBWU0kgaGFzIGRpZmZlcmVudCBxdWV1ZXMgYXNzaWduZWQg Ki8NCglpZiAodnNpLT50eXBlID09IEk0MEVfVlNJX01BSU4pDQoJCXVzZWRfcXVldWVzID0gZGV2 X2RhdGEtPm5iX3J4X3F1ZXVlcyAtDQoJCQlwZi0+bmJfY2ZnX3ZtZHFfdnNpICogUlRFX0xJQlJU RV9JNDBFX1FVRVVFX05VTV9QRVJfVk07DQoJZWxzZSBpZiAodnNpLT50eXBlID09IEk0MEVfVlNJ X1ZNRFEyKQ0KCQl1c2VkX3F1ZXVlcyA9IFJURV9MSUJSVEVfSTQwRV9RVUVVRV9OVU1fUEVSX1ZN Ow0KCWVsc2Ugew0KCQlQTURfSU5JVF9MT0coRVJSLCAidW5zdXBwb3J0ZWQgVlNJIHR5cGUuIik7 DQoJCXJldHVybiBJNDBFX0VSUl9OT19BVkFJTEFCTEVfVlNJOw0KCX0NCg0KCXFwbnVtX3Blcl90 YyA9IHVzZWRfcXVldWVzIC8gdG90YWxfdGM7DQoJLyogTnVtYmVyIG9mIHF1ZXVlcyBwZXIgZW5h YmxlZCBUQyAqLw0KCWlmIChxcG51bV9wZXJfdGMgPT0gMCkgew0KCQlQTURfSU5JVF9MT0coRVJS LCAiIG51bWJlciBvZiBxdWV1ZXMgaXMgbGVzcyB0aGF0IHRjcy4iKTsNCgkJcmV0dXJuIEk0MEVf RVJSX0lOVkFMSURfUVBfSUQ7DQoJfQ0KCXFwbnVtX3Blcl90YyA9IFJURV9NSU4oaTQwZV9hbGln bl9mbG9vcihxcG51bV9wZXJfdGMpLA0KCQkJCUk0MEVfTUFYX1FfUEVSX1RDKTsNCglic2YgPSBy dGVfYnNmMzIocXBudW1fcGVyX3RjKTsNCg0KCS8qKg0KCSAqIENvbmZpZ3VyZSBUQyBhbmQgcXVl dWUgbWFwcGluZyBwYXJhbWV0ZXJzLCBmb3IgZW5hYmxlZCBUQywNCgkgKiBhbGxvY2F0ZSBxcG51 bV9wZXJfdGMgcXVldWVzIHRvIHRoaXMgdHJhZmZpYy4gRm9yIGRpc2FibGVkIFRDLA0KCSAqIGRl ZmF1bHQgcXVldWUgd2lsbCBzZXJ2ZSBpdC4NCgkgKi8NCglxcF9pZHggPSAwOw0KCWZvciAoaSA9 IDA7IGkgPCBJNDBFX01BWF9UUkFGRklDX0NMQVNTOyBpKyspIHsNCgkJaWYgKHZzaS0+ZW5hYmxl ZF90YyAmICgxIDw8IGkpKSB7DQoJCQlpbmZvLT50Y19tYXBwaW5nW2ldID0gcnRlX2NwdV90b19s ZV8xNigocXBfaWR4IDw8DQoJCQkJCUk0MEVfQVFfVlNJX1RDX1FVRV9PRkZTRVRfU0hJRlQpIHwN CgkJCQkoYnNmIDw8IEk0MEVfQVFfVlNJX1RDX1FVRV9OVU1CRVJfU0hJRlQpKTsNCgkJCXFwX2lk eCArPSBxcG51bV9wZXJfdGM7DQoJCX0gZWxzZQ0KCQkJaW5mby0+dGNfbWFwcGluZ1tpXSA9IDA7 DQoJfQ0KDQoJLyogQXNzb2NpYXRlIHF1ZXVlIG51bWJlciB3aXRoIFZTSSwgS2VlcCB2c2ktPm5i X3FwcyB1bmNoYW5nZWQgKi8NCglpZiAodnNpLT50eXBlID09IEk0MEVfVlNJX1NSSU9WKSB7DQoJ CWluZm8tPm1hcHBpbmdfZmxhZ3MgfD0NCgkJCXJ0ZV9jcHVfdG9fbGVfMTYoSTQwRV9BUV9WU0lf UVVFX01BUF9OT05DT05USUcpOw0KCQlmb3IgKGkgPSAwOyBpIDwgdnNpLT5uYl9xcHM7IGkrKykN CgkJCWluZm8tPnF1ZXVlX21hcHBpbmdbaV0gPQ0KCQkJCXJ0ZV9jcHVfdG9fbGVfMTYodnNpLT5i YXNlX3F1ZXVlICsgaSk7DQoJfSBlbHNlIHsNCgkJaW5mby0+bWFwcGluZ19mbGFncyB8PQ0KCQkJ cnRlX2NwdV90b19sZV8xNihJNDBFX0FRX1ZTSV9RVUVfTUFQX0NPTlRJRyk7DQoJCWluZm8tPnF1 ZXVlX21hcHBpbmdbMF0gPSBydGVfY3B1X3RvX2xlXzE2KHZzaS0+YmFzZV9xdWV1ZSk7DQoJfQ0K CWluZm8tPnZhbGlkX3NlY3Rpb25zIHw9DQoJCXJ0ZV9jcHVfdG9fbGVfMTYoSTQwRV9BUV9WU0lf UFJPUF9RVUVVRV9NQVBfVkFMSUQpOw0KDQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0KLyoN CiAqIGk0MGVfY29uZmlnX3N3aXRjaF9jb21wX3RjIC0gQ29uZmlndXJlIFZFQiB0YyBzZXR0aW5n IGZvciBnaXZlbiBUQyBtYXANCiAqIEB2ZWI6IFZFQiB0byBiZSBjb25maWd1cmVkDQogKiBAdGNf bWFwOiBlbmFibGVkIFRDIGJpdG1hcA0KICoNCiAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBuZWdh dGl2ZSB2YWx1ZSBvbiBmYWlsdXJlDQogKi8NCnN0YXRpYyBlbnVtIGk0MGVfc3RhdHVzX2NvZGUN Cmk0MGVfY29uZmlnX3N3aXRjaF9jb21wX3RjKHN0cnVjdCBpNDBlX3ZlYiAqdmViLCB1aW50OF90 IHRjX21hcCkNCnsNCglzdHJ1Y3QgaTQwZV9hcWNfY29uZmlndXJlX3N3aXRjaGluZ19jb21wX2J3 X2NvbmZpZ19kYXRhIHZlYl9idzsNCglzdHJ1Y3QgaTQwZV9hcWNfcXVlcnlfc3dpdGNoaW5nX2Nv bXBfYndfY29uZmlnX3Jlc3AgYndfcXVlcnk7DQoJc3RydWN0IGk0MGVfYXFjX3F1ZXJ5X3N3aXRj aGluZ19jb21wX2V0c19jb25maWdfcmVzcCBldHNfcXVlcnk7DQoJc3RydWN0IGk0MGVfaHcgKmh3 ID0gSTQwRV9WU0lfVE9fSFcodmViLT5hc3NvY2lhdGVfdnNpKTsNCgllbnVtIGk0MGVfc3RhdHVz X2NvZGUgcmV0ID0gSTQwRV9TVUNDRVNTOw0KCWludCBpOw0KCXVpbnQzMl90IGJ3X21heDsNCg0K CS8qIENoZWNrIGlmIGVuYWJsZWRfdGMgaXMgc2FtZSBhcyBleGlzdGluZyBvciBuZXcgVENzICov DQoJaWYgKHZlYi0+ZW5hYmxlZF90YyA9PSB0Y19tYXApDQoJCXJldHVybiByZXQ7DQoNCgkvKiBj b25maWd1cmUgdGMgYmFuZHdpZHRoICovDQoJbWVtc2V0KCZ2ZWJfYncsIDAsIHNpemVvZih2ZWJf YncpKTsNCgl2ZWJfYncudGNfdmFsaWRfYml0cyA9IHRjX21hcDsNCgkvKiBFbmFibGUgRVRTIFRD cyB3aXRoIGVxdWFsIEJXIFNoYXJlIGZvciBub3cgYWNyb3NzIGFsbCBWU0lzICovDQoJZm9yIChp ID0gMDsgaSA8IEk0MEVfTUFYX1RSQUZGSUNfQ0xBU1M7IGkrKykgew0KCQlpZiAodGNfbWFwICYg QklUX1VMTChpKSkNCgkJCXZlYl9idy50Y19id19zaGFyZV9jcmVkaXRzW2ldID0gMTsNCgl9DQoJ cmV0ID0gaTQwZV9hcV9jb25maWdfc3dpdGNoX2NvbXBfYndfY29uZmlnKGh3LCB2ZWItPnNlaWQs DQoJCQkJCQkgICAmdmViX2J3LCBOVUxMKTsNCglpZiAocmV0KSB7DQoJCVBNRF9JTklUX0xPRyhF UlIsDQoJCQkiQVEgY29tbWFuZCBDb25maWcgc3dpdGNoX2NvbXAgQlcgYWxsb2NhdGlvbiBwZXIg VEMgZmFpbGVkID0gJWQiLA0KCQkJaHctPmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoJCXJldHVybiBy ZXQ7DQoJfQ0KDQoJbWVtc2V0KCZldHNfcXVlcnksIDAsIHNpemVvZihldHNfcXVlcnkpKTsNCgly ZXQgPSBpNDBlX2FxX3F1ZXJ5X3N3aXRjaF9jb21wX2V0c19jb25maWcoaHcsIHZlYi0+c2VpZCwN CgkJCQkJCSAgICZldHNfcXVlcnksIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7 DQoJCVBNRF9EUlZfTE9HKEVSUiwNCgkJCSJGYWlsZWQgdG8gZ2V0IHN3aXRjaF9jb21wIEVUUyBj b25maWd1cmF0aW9uICV1IiwNCgkJCWh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpOw0KCQlyZXR1cm4g cmV0Ow0KCX0NCgltZW1zZXQoJmJ3X3F1ZXJ5LCAwLCBzaXplb2YoYndfcXVlcnkpKTsNCglyZXQg PSBpNDBlX2FxX3F1ZXJ5X3N3aXRjaF9jb21wX2J3X2NvbmZpZyhodywgdmViLT5zZWlkLA0KCQkJ CQkJICAmYndfcXVlcnksIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9TVUNDRVNTKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwNCgkJCSJGYWlsZWQgdG8gZ2V0IHN3aXRjaF9jb21wIGJhbmR3aWR0aCBj b25maWd1cmF0aW9uICV1IiwNCgkJCWh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpOw0KCQlyZXR1cm4g cmV0Ow0KCX0NCg0KCS8qIHN0b3JlIGFuZCBwcmludCBvdXQgQlcgaW5mbyAqLw0KCXZlYi0+Yndf aW5mby5id19saW1pdCA9IHJ0ZV9sZV90b19jcHVfMTYoZXRzX3F1ZXJ5LnBvcnRfYndfbGltaXQp Ow0KCXZlYi0+YndfaW5mby5id19tYXggPSBldHNfcXVlcnkudGNfYndfbWF4Ow0KCVBNRF9EUlZf TE9HKERFQlVHLCAic3dpdGNoX2NvbXAgYncgbGltaXQ6JXUiLCB2ZWItPmJ3X2luZm8uYndfbGlt aXQpOw0KCVBNRF9EUlZfTE9HKERFQlVHLCAic3dpdGNoX2NvbXAgbWF4X2J3OiV1IiwgdmViLT5i d19pbmZvLmJ3X21heCk7DQoJYndfbWF4ID0gcnRlX2xlX3RvX2NwdV8xNihid19xdWVyeS50Y19i d19tYXhbMF0pIHwNCgkJICAgIChydGVfbGVfdG9fY3B1XzE2KGJ3X3F1ZXJ5LnRjX2J3X21heFsx XSkgPDwNCgkJICAgICBJNDBFXzE2X0JJVF9XSURUSCk7DQoJZm9yIChpID0gMDsgaSA8IEk0MEVf TUFYX1RSQUZGSUNfQ0xBU1M7IGkrKykgew0KCQl2ZWItPmJ3X2luZm8uYndfZXRzX3NoYXJlX2Ny ZWRpdHNbaV0gPQ0KCQkJCWJ3X3F1ZXJ5LnRjX2J3X3NoYXJlX2NyZWRpdHNbaV07DQoJCXZlYi0+ YndfaW5mby5id19ldHNfY3JlZGl0c1tpXSA9DQoJCQkJcnRlX2xlX3RvX2NwdV8xNihid19xdWVy eS50Y19id19saW1pdHNbaV0pOw0KCQkvKiA0IGJpdHMgcGVyIFRDLCA0dGggYml0IGlzIHJlc2Vy dmVkICovDQoJCXZlYi0+YndfaW5mby5id19ldHNfbWF4W2ldID0NCgkJCSh1aW50OF90KSgoYndf bWF4ID4+IChpICogSTQwRV80X0JJVF9XSURUSCkpICYNCgkJCQkgIFJURV9MRU4yTUFTSygzLCB1 aW50OF90KSk7DQoJCVBNRF9EUlZfTE9HKERFQlVHLCAiXHRWRUIgVEMldTpzaGFyZSBjcmVkaXRz ICV1IiwgaSwNCgkJCSAgICB2ZWItPmJ3X2luZm8uYndfZXRzX3NoYXJlX2NyZWRpdHNbaV0pOw0K CQlQTURfRFJWX0xPRyhERUJVRywgIlx0VkVCIFRDJXU6Y3JlZGl0cyAldSIsIGksDQoJCQkgICAg dmViLT5id19pbmZvLmJ3X2V0c19jcmVkaXRzW2ldKTsNCgkJUE1EX0RSVl9MT0coREVCVUcsICJc dFZFQiBUQyV1OiBtYXggY3JlZGl0czogJXUiLCBpLA0KCQkJICAgIHZlYi0+YndfaW5mby5id19l dHNfbWF4W2ldKTsNCgl9DQoNCgl2ZWItPmVuYWJsZWRfdGMgPSB0Y19tYXA7DQoNCglyZXR1cm4g cmV0Ow0KfQ0KDQoNCi8qDQogKiBpNDBlX3ZzaV9jb25maWdfdGMgLSBDb25maWd1cmUgVlNJIHRj IHNldHRpbmcgZm9yIGdpdmVuIFRDIG1hcA0KICogQHZzaTogVlNJIHRvIGJlIGNvbmZpZ3VyZWQN CiAqIEB0Y19tYXA6IGVuYWJsZWQgVEMgYml0bWFwDQogKg0KICogUmV0dXJucyAwIG9uIHN1Y2Nl c3MsIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWx1cmUNCiAqLw0Kc3RhdGljIGVudW0gaTQwZV9zdGF0 dXNfY29kZQ0KaTQwZV92c2lfY29uZmlnX3RjKHN0cnVjdCBpNDBlX3ZzaSAqdnNpLCB1aW50OF90 IHRjX21hcCkNCnsNCglzdHJ1Y3QgaTQwZV9hcWNfY29uZmlndXJlX3ZzaV90Y19id19kYXRhIGJ3 X2RhdGE7DQoJc3RydWN0IGk0MGVfdnNpX2NvbnRleHQgY3R4dDsNCglzdHJ1Y3QgaTQwZV9odyAq aHcgPSBJNDBFX1ZTSV9UT19IVyh2c2kpOw0KCWVudW0gaTQwZV9zdGF0dXNfY29kZSByZXQgPSBJ NDBFX1NVQ0NFU1M7DQoJaW50IGk7DQoNCgkvKiBDaGVjayBpZiBlbmFibGVkX3RjIGlzIHNhbWUg YXMgZXhpc3Rpbmcgb3IgbmV3IFRDcyAqLw0KCWlmICh2c2ktPmVuYWJsZWRfdGMgPT0gdGNfbWFw KQ0KCQlyZXR1cm4gcmV0Ow0KDQoJLyogY29uZmlndXJlIHRjIGJhbmR3aWR0aCAqLw0KCW1lbXNl dCgmYndfZGF0YSwgMCwgc2l6ZW9mKGJ3X2RhdGEpKTsNCglid19kYXRhLnRjX3ZhbGlkX2JpdHMg PSB0Y19tYXA7DQoJLyogRW5hYmxlIEVUUyBUQ3Mgd2l0aCBlcXVhbCBCVyBTaGFyZSBmb3Igbm93 IGFjcm9zcyBhbGwgVlNJcyAqLw0KCWZvciAoaSA9IDA7IGkgPCBJNDBFX01BWF9UUkFGRklDX0NM QVNTOyBpKyspIHsNCgkJaWYgKHRjX21hcCAmIEJJVF9VTEwoaSkpDQoJCQlid19kYXRhLnRjX2J3 X2NyZWRpdHNbaV0gPSAxOw0KCX0NCglyZXQgPSBpNDBlX2FxX2NvbmZpZ192c2lfdGNfYncoaHcs IHZzaS0+c2VpZCwgJmJ3X2RhdGEsIE5VTEwpOw0KCWlmIChyZXQpIHsNCgkJUE1EX0lOSVRfTE9H KEVSUiwNCgkJCSJBUSBjb21tYW5kIENvbmZpZyBWU0kgQlcgYWxsb2NhdGlvbiBwZXIgVEMgZmFp bGVkID0gJWQiLA0KCQkJaHctPmFxLmFzcV9sYXN0X3N0YXR1cyk7DQoJCWdvdG8gb3V0Ow0KCX0N Cglmb3IgKGkgPSAwOyBpIDwgSTQwRV9NQVhfVFJBRkZJQ19DTEFTUzsgaSsrKQ0KCQl2c2ktPmlu Zm8ucXNfaGFuZGxlW2ldID0gYndfZGF0YS5xc19oYW5kbGVzW2ldOw0KDQoJLyogVXBkYXRlIFF1 ZXVlIFBhaXJzIE1hcHBpbmcgZm9yIGN1cnJlbnRseSBlbmFibGVkIFVQcyAqLw0KCWN0eHQuc2Vp ZCA9IHZzaS0+c2VpZDsNCgljdHh0LnBmX251bSA9IGh3LT5wZl9pZDsNCgljdHh0LnZmX251bSA9 IDA7DQoJY3R4dC51cGxpbmtfc2VpZCA9IHZzaS0+dXBsaW5rX3NlaWQ7DQoJY3R4dC5pbmZvID0g dnNpLT5pbmZvOw0KCWk0MGVfZ2V0X2NhcChodyk7DQoJcmV0ID0gaTQwZV92c2lfdXBkYXRlX3F1 ZXVlX21hcHBpbmcodnNpLCAmY3R4dC5pbmZvLCB0Y19tYXApOw0KCWlmIChyZXQpDQoJCWdvdG8g b3V0Ow0KDQoJLyogVXBkYXRlIHRoZSBWU0kgYWZ0ZXIgdXBkYXRpbmcgdGhlIFZTSSBxdWV1ZS1t YXBwaW5nIGluZm9ybWF0aW9uICovDQoJcmV0ID0gaTQwZV9hcV91cGRhdGVfdnNpX3BhcmFtcyho dywgJmN0eHQsIE5VTEwpOw0KCWlmIChyZXQpIHsNCgkJUE1EX0lOSVRfTE9HKEVSUiwgIkZhaWxl ZCB0byBjb25maWd1cmUgVEMgcXVldWUgbWFwcGluZyA9ICVkIiwNCgkJCWh3LT5hcS5hc3FfbGFz dF9zdGF0dXMpOw0KCQlnb3RvIG91dDsNCgl9DQoJLyogdXBkYXRlIHRoZSBsb2NhbCBWU0kgaW5m byB3aXRoIHVwZGF0ZWQgcXVldWUgbWFwICovDQoJcnRlX21lbWNweSgmdnNpLT5pbmZvLnRjX21h cHBpbmcsICZjdHh0LmluZm8udGNfbWFwcGluZywNCgkJCQkJc2l6ZW9mKHZzaS0+aW5mby50Y19t YXBwaW5nKSk7DQoJcnRlX21lbWNweSgmdnNpLT5pbmZvLnF1ZXVlX21hcHBpbmcsDQoJCQkmY3R4 dC5pbmZvLnF1ZXVlX21hcHBpbmcsDQoJCXNpemVvZih2c2ktPmluZm8ucXVldWVfbWFwcGluZykp Ow0KCXZzaS0+aW5mby5tYXBwaW5nX2ZsYWdzID0gY3R4dC5pbmZvLm1hcHBpbmdfZmxhZ3M7DQoJ dnNpLT5pbmZvLnZhbGlkX3NlY3Rpb25zID0gMDsNCg0KCS8qIHF1ZXJ5IGFuZCB1cGRhdGUgY3Vy cmVudCBWU0kgQlcgaW5mb3JtYXRpb24gKi8NCglyZXQgPSBpNDBlX3ZzaV9nZXRfYndfY29uZmln KHZzaSk7DQoJaWYgKHJldCkgew0KCQlQTURfSU5JVF9MT0coRVJSLA0KCQkJICJGYWlsZWQgdXBk YXRpbmcgdnNpIGJ3IGluZm8sIGVyciAlcyBhcV9lcnIgJXMiLA0KCQkJIGk0MGVfc3RhdF9zdHIo aHcsIHJldCksDQoJCQkgaTQwZV9hcV9zdHIoaHcsIGh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpKTsN CgkJZ290byBvdXQ7DQoJfQ0KDQoJdnNpLT5lbmFibGVkX3RjID0gdGNfbWFwOw0KDQpvdXQ6DQoJ cmV0dXJuIHJldDsNCn0NCg0KLyoNCiAqIGk0MGVfZGNiX2h3X2NvbmZpZ3VyZSAtIHByb2dyYW0g dGhlIGRjYiBzZXR0aW5nIHRvIGh3DQogKiBAcGY6IHBmIHRoZSBjb25maWd1cmF0aW9uIGlzIHRh a2VuIG9uDQogKiBAbmV3X2NmZzogbmV3IGNvbmZpZ3VyYXRpb24NCiAqIEB0Y19tYXA6IGVuYWJs ZWQgVEMgYml0bWFwDQogKg0KICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIHZhbHVl IG9uIGZhaWx1cmUNCiAqLw0Kc3RhdGljIGVudW0gaTQwZV9zdGF0dXNfY29kZQ0KaTQwZV9kY2Jf aHdfY29uZmlndXJlKHN0cnVjdCBpNDBlX3BmICpwZiwNCgkJICAgICAgc3RydWN0IGk0MGVfZGNi eF9jb25maWcgKm5ld19jZmcsDQoJCSAgICAgIHVpbnQ4X3QgdGNfbWFwKQ0Kew0KCXN0cnVjdCBp NDBlX2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBpNDBlX2RjYnhfY29uZmln ICpvbGRfY2ZnID0gJmh3LT5sb2NhbF9kY2J4X2NvbmZpZzsNCglzdHJ1Y3QgaTQwZV92c2kgKm1h aW5fdnNpID0gcGYtPm1haW5fdnNpOw0KCXN0cnVjdCBpNDBlX3ZzaV9saXN0ICp2c2lfbGlzdDsN CgllbnVtIGk0MGVfc3RhdHVzX2NvZGUgcmV0Ow0KCWludCBpOw0KCXVpbnQzMl90IHZhbDsNCg0K CS8qIFVzZSB0aGUgRlcgQVBJIGlmIEZXID4gdjQuNCovDQoJaWYgKCEoKChody0+YXEuZndfbWFq X3ZlciA9PSA0KSAmJiAoaHctPmFxLmZ3X21pbl92ZXIgPj0gNCkpIHx8DQoJICAgICAgKGh3LT5h cS5md19tYWpfdmVyID49IDUpKSkgew0KCQlQTURfSU5JVF9MT0coRVJSLA0KCQkJIkZXIDwgdjQu NCwgY2FuIG5vdCB1c2UgRlcgTExEUCBBUEkgdG8gY29uZmlndXJlIERDQiIpOw0KCQlyZXR1cm4g STQwRV9FUlJfRklSTVdBUkVfQVBJX1ZFUlNJT047DQoJfQ0KDQoJLyogQ2hlY2sgaWYgbmVlZCBy ZWNvbmZpZ3VyYXRpb24gKi8NCglpZiAoIW1lbWNtcChuZXdfY2ZnLCBvbGRfY2ZnLCBzaXplb2Yo c3RydWN0IGk0MGVfZGNieF9jb25maWcpKSkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiTm8gQ2hh bmdlIGluIERDQiBDb25maWcgcmVxdWlyZWQuIik7DQoJCXJldHVybiBJNDBFX1NVQ0NFU1M7DQoJ fQ0KDQoJLyogQ29weSB0aGUgbmV3IGNvbmZpZyB0byB0aGUgY3VycmVudCBjb25maWcgKi8NCgkq b2xkX2NmZyA9ICpuZXdfY2ZnOw0KCW9sZF9jZmctPmV0c3JlYyA9IG9sZF9jZmctPmV0c2NmZzsN CglyZXQgPSBpNDBlX3NldF9kY2JfY29uZmlnKGh3KTsNCglpZiAocmV0KSB7DQoJCVBNRF9JTklU X0xPRyhFUlIsICJTZXQgRENCIENvbmZpZyBmYWlsZWQsIGVyciAlcyBhcV9lcnIgJXMiLA0KCQkJ IGk0MGVfc3RhdF9zdHIoaHcsIHJldCksDQoJCQkgaTQwZV9hcV9zdHIoaHcsIGh3LT5hcS5hc3Ff bGFzdF9zdGF0dXMpKTsNCgkJcmV0dXJuIHJldDsNCgl9DQoJLyogc2V0IHJlY2VpdmUgQXJiaXRl ciB0byBSUiBtb2RlIGFuZCBFVFMgc2NoZW1lIGJ5IGRlZmF1bHQgKi8NCglmb3IgKGkgPSAwOyBp IDw9IEk0MEVfUFJURENCX1JFVFNUQ0NfTUFYX0lOREVYOyBpKyspIHsNCgkJdmFsID0gSTQwRV9S RUFEX1JFRyhodywgSTQwRV9QUlREQ0JfUkVUU1RDQyhpKSk7DQoJCXZhbCAmPSB+KEk0MEVfUFJU RENCX1JFVFNUQ0NfQldTSEFSRV9NQVNLICAgICB8DQoJCQkgSTQwRV9QUlREQ0JfUkVUU1RDQ19V UElOVENfTU9ERV9NQVNLIHwNCgkJCSBJNDBFX1BSVERDQl9SRVRTVENDX0VUU1RDX1NISUZUKTsN CgkJdmFsIHw9ICgodWludDMyX3Qpb2xkX2NmZy0+ZXRzY2ZnLnRjYnd0YWJsZVtpXSA8PA0KCQkJ STQwRV9QUlREQ0JfUkVUU1RDQ19CV1NIQVJFX1NISUZUKSAmDQoJCQkgSTQwRV9QUlREQ0JfUkVU U1RDQ19CV1NIQVJFX01BU0s7DQoJCXZhbCB8PSAoKHVpbnQzMl90KTEgPDwgSTQwRV9QUlREQ0Jf UkVUU1RDQ19VUElOVENfTU9ERV9TSElGVCkgJg0KCQkJIEk0MEVfUFJURENCX1JFVFNUQ0NfVVBJ TlRDX01PREVfTUFTSzsNCgkJdmFsIHw9ICgodWludDMyX3QpMSA8PCBJNDBFX1BSVERDQl9SRVRT VENDX0VUU1RDX1NISUZUKSAmDQoJCQkgSTQwRV9QUlREQ0JfUkVUU1RDQ19FVFNUQ19NQVNLOw0K CQlJNDBFX1dSSVRFX1JFRyhodywgSTQwRV9QUlREQ0JfUkVUU1RDQyhpKSwgdmFsKTsNCgl9DQoJ LyogZ2V0IGxvY2FsIG1pYiB0byBjaGVjayB3aGV0aGVyIGl0IGlzIGNvbmZpZ3VyZWQgY29ycmVj dGx5ICovDQoJLyogSUVFRSBtb2RlICovDQoJaHctPmxvY2FsX2RjYnhfY29uZmlnLmRjYnhfbW9k ZSA9IEk0MEVfRENCWF9NT0RFX0lFRUU7DQoJLyogR2V0IExvY2FsIERDQiBDb25maWcgKi8NCglp NDBlX2FxX2dldF9kY2JfY29uZmlnKGh3LCBJNDBFX0FRX0xMRFBfTUlCX0xPQ0FMLCAwLA0KCQkJ CSAgICAgJmh3LT5sb2NhbF9kY2J4X2NvbmZpZyk7DQoNCgkvKiBpZiBWZWIgaXMgY3JlYXRlZCwg bmVlZCB0byB1cGRhdGUgVEMgb2YgaXQgYXQgZmlyc3QgKi8NCglpZiAobWFpbl92c2ktPnZlYikg ew0KCQlyZXQgPSBpNDBlX2NvbmZpZ19zd2l0Y2hfY29tcF90YyhtYWluX3ZzaS0+dmViLCB0Y19t YXApOw0KCQlpZiAocmV0KQ0KCQkJUE1EX0lOSVRfTE9HKFdBUk5JTkcsDQoJCQkJICJGYWlsZWQg Y29uZmlndXJpbmcgVEMgZm9yIFZFQiBzZWlkPSVkIiwNCgkJCQkgbWFpbl92c2ktPnZlYi0+c2Vp ZCk7DQoJfQ0KCS8qIFVwZGF0ZSBlYWNoIFZTSSAqLw0KCWk0MGVfdnNpX2NvbmZpZ190YyhtYWlu X3ZzaSwgdGNfbWFwKTsNCglpZiAobWFpbl92c2ktPnZlYikgew0KCQlUQUlMUV9GT1JFQUNIKHZz aV9saXN0LCAmbWFpbl92c2ktPnZlYi0+aGVhZCwgbGlzdCkgew0KCQkJLyogQmVzaWRlIG1haW4g VlNJIGFuZCBWTURRIFZTSXMsIG9ubHkgZW5hYmxlIGRlZmF1bHQNCgkJCSAqIFRDIGZvciBvdGhl ciBWU0lzDQoJCQkgKi8NCgkJCWlmICh2c2lfbGlzdC0+dnNpLT50eXBlID09IEk0MEVfVlNJX1ZN RFEyKQ0KCQkJCXJldCA9IGk0MGVfdnNpX2NvbmZpZ190Yyh2c2lfbGlzdC0+dnNpLA0KCQkJCQkJ CSB0Y19tYXApOw0KCQkJZWxzZQ0KCQkJCXJldCA9IGk0MGVfdnNpX2NvbmZpZ190Yyh2c2lfbGlz dC0+dnNpLA0KCQkJCQkJCSBJNDBFX0RFRkFVTFRfVENNQVApOw0KCQkJaWYgKHJldCkNCgkJCQlQ TURfSU5JVF9MT0coV0FSTklORywNCgkJCQkJIkZhaWxlZCBjb25maWd1cmluZyBUQyBmb3IgVlNJ IHNlaWQ9JWQiLA0KCQkJCQl2c2lfbGlzdC0+dnNpLT5zZWlkKTsNCgkJCS8qIGNvbnRpbnVlICov DQoJCX0NCgl9DQoJcmV0dXJuIEk0MEVfU1VDQ0VTUzsNCn0NCg0KLyoNCiAqIGk0MGVfZGNiX2lu aXRfY29uZmlndXJlIC0gaW5pdGlhbCBkY2IgY29uZmlnDQogKiBAZGV2OiBkZXZpY2UgYmVpbmcg Y29uZmlndXJlZA0KICogQHN3X2RjYjogaW5kaWNhdGUgd2hldGhlciBkY2IgaXMgc3cgY29uZmln dXJlZCBvciBodyBvZmZsb2FkDQogKg0KICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZl IHZhbHVlIG9uIGZhaWx1cmUNCiAqLw0KaW50DQppNDBlX2RjYl9pbml0X2NvbmZpZ3VyZShzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwgYm9vbCBzd19kY2IpDQp7DQoJc3RydWN0IGk0MGVfcGYgKnBm ID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1 Y3QgaTQwZV9odyAqaHcgPSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpOw0KCWludCBpLCByZXQgPSAwOw0KDQoJaWYgKChwZi0+ZmxhZ3MgJiBJNDBFX0ZMQUdf RENCKSA9PSAwKSB7DQoJCVBNRF9JTklUX0xPRyhFUlIsICJIVyBkb2Vzbid0IHN1cHBvcnQgRENC Iik7DQoJCXJldHVybiAtRU5PVFNVUDsNCgl9DQoNCgkvKiBEQ0IgaW5pdGlhbGl6YXRpb246DQoJ ICogVXBkYXRlIERDQiBjb25maWd1cmF0aW9uIGZyb20gdGhlIEZpcm13YXJlIGFuZCBjb25maWd1 cmUNCgkgKiBMTERQIE1JQiBjaGFuZ2UgZXZlbnQuDQoJICovDQoJaWYgKHN3X2RjYiA9PSBUUlVF KSB7DQoJCS8qIFN0b3BwaW5nIGxsZHAgaXMgbmVjZXNzYXJ5IGZvciBEUERLLCBidXQgaXQgd2ls bCBjYXVzZQ0KCQkgKiBEQ0IgaW5pdCBmYWlsZWQuIEZvciBpNDBlX2luaXRfZGNiKCksIHRoZSBw cmVyZXF1aXNpdGUNCgkJICogZm9yIHN1Y2Nlc3NmdWwgaW5pdGlhbGl6YXRpb24gb2YgRENCIGlz IHRoYXQgTExEUCBpcw0KCQkgKiBlbmFibGVkLiBTbyBpdCBpcyBuZWVkZWQgdG8gc3RhcnQgbGxk cCBiZWZvcmUgRENCIGluaXQNCgkJICogYW5kIHN0b3AgaXQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24u DQoJCSAqLw0KCQlyZXQgPSBpNDBlX2FxX3N0YXJ0X2xsZHAoaHcsIHRydWUsIE5VTEwpOw0KCQlp ZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJCVBNRF9JTklUX0xPRyhERUJVRywgIkZhaWxlZCB0 byBzdGFydCBsbGRwIik7DQoNCgkJcmV0ID0gaTQwZV9pbml0X2RjYihodywgdHJ1ZSk7DQoJCS8q IElmIGxsZHAgYWdlbnQgaXMgc3RvcHBlZCwgdGhlIHJldHVybiB2YWx1ZSBmcm9tDQoJCSAqIGk0 MGVfaW5pdF9kY2Igd2UgZXhwZWN0IGlzIGZhaWx1cmUgd2l0aCBJNDBFX0FRX1JDX0VQRVJNDQoJ CSAqIGFkbWlucSBzdGF0dXMuIE90aGVyd2lzZSwgaXQgc2hvdWxkIHJldHVybiBzdWNjZXNzLg0K CQkgKi8NCgkJaWYgKChyZXQgPT0gSTQwRV9TVUNDRVNTKSB8fCAocmV0ICE9IEk0MEVfU1VDQ0VT UyAmJg0KCQkgICAgaHctPmFxLmFzcV9sYXN0X3N0YXR1cyA9PSBJNDBFX0FRX1JDX0VQRVJNKSkg ew0KCQkJbWVtc2V0KCZody0+bG9jYWxfZGNieF9jb25maWcsIDAsDQoJCQkJc2l6ZW9mKHN0cnVj dCBpNDBlX2RjYnhfY29uZmlnKSk7DQoJCQkvKiBzZXQgZGNiIGRlZmF1bHQgY29uZmlndXJhdGlv biAqLw0KCQkJaHctPmxvY2FsX2RjYnhfY29uZmlnLmV0c2NmZy53aWxsaW5nID0gMDsNCgkJCWh3 LT5sb2NhbF9kY2J4X2NvbmZpZy5ldHNjZmcubWF4dGNzID0gMDsNCgkJCWh3LT5sb2NhbF9kY2J4 X2NvbmZpZy5ldHNjZmcudGNid3RhYmxlWzBdID0gMTAwOw0KCQkJaHctPmxvY2FsX2RjYnhfY29u ZmlnLmV0c2NmZy50c2F0YWJsZVswXSA9DQoJCQkJCQlJNDBFX0lFRUVfVFNBX0VUUzsNCgkJCS8q IGFsbCBVUHMgbWFwcGluZyB0byBUQzAgKi8NCgkJCWZvciAoaSA9IDA7IGkgPCBJNDBFX01BWF9V U0VSX1BSSU9SSVRZOyBpKyspDQoJCQkJaHctPmxvY2FsX2RjYnhfY29uZmlnLmV0c2NmZy5wcmlv cml0eXRhYmxlW2ldID0gMDsNCgkJCWh3LT5sb2NhbF9kY2J4X2NvbmZpZy5ldHNyZWMgPQ0KCQkJ CWh3LT5sb2NhbF9kY2J4X2NvbmZpZy5ldHNjZmc7DQoJCQlody0+bG9jYWxfZGNieF9jb25maWcu cGZjLndpbGxpbmcgPSAwOw0KCQkJaHctPmxvY2FsX2RjYnhfY29uZmlnLnBmYy5wZmNjYXAgPQ0K CQkJCQkJSTQwRV9NQVhfVFJBRkZJQ19DTEFTUzsNCgkJCS8qIEZXIG5lZWRzIG9uZSBBcHAgdG8g Y29uZmlndXJlIEhXICovDQoJCQlody0+bG9jYWxfZGNieF9jb25maWcubnVtYXBwcyA9IDE7DQoJ CQlody0+bG9jYWxfZGNieF9jb25maWcuYXBwWzBdLnNlbGVjdG9yID0NCgkJCQkJCUk0MEVfQVBQ X1NFTF9FVEhUWVBFOw0KCQkJaHctPmxvY2FsX2RjYnhfY29uZmlnLmFwcFswXS5wcmlvcml0eSA9 IDM7DQoJCQlody0+bG9jYWxfZGNieF9jb25maWcuYXBwWzBdLnByb3RvY29saWQgPQ0KCQkJCQkJ STQwRV9BUFBfUFJPVE9JRF9GQ09FOw0KCQkJcmV0ID0gaTQwZV9zZXRfZGNiX2NvbmZpZyhodyk7 DQoJCQlpZiAocmV0KSB7DQoJCQkJUE1EX0lOSVRfTE9HKEVSUiwNCgkJCQkJImRlZmF1bHQgZGNi IGNvbmZpZyBmYWlscy4gZXJyID0gJWQsIGFxX2VyciA9ICVkLiIsDQoJCQkJCXJldCwgaHctPmFx LmFzcV9sYXN0X3N0YXR1cyk7DQoJCQkJcmV0dXJuIC1FTk9TWVM7DQoJCQl9DQoJCX0gZWxzZSB7 DQoJCQlQTURfSU5JVF9MT0coRVJSLA0KCQkJCSJEQ0IgaW5pdGlhbGl6YXRpb24gaW4gRlcgZmFp bHMsIGVyciA9ICVkLCBhcV9lcnIgPSAlZC4iLA0KCQkJCXJldCwgaHctPmFxLmFzcV9sYXN0X3N0 YXR1cyk7DQoJCQlyZXR1cm4gLUVOT1RTVVA7DQoJCX0NCg0KCQlpZiAoaTQwZV9uZWVkX3N0b3Bf bGxkcChkZXYpKSB7DQoJCQlyZXQgPSBpNDBlX2FxX3N0b3BfbGxkcChodywgdHJ1ZSwgdHJ1ZSwg TlVMTCk7DQoJCQlpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykNCgkJCQlQTURfSU5JVF9MT0coREVC VUcsICJGYWlsZWQgdG8gc3RvcCBsbGRwIik7DQoJCX0NCgl9IGVsc2Ugew0KCQlyZXQgPSBpNDBl X2FxX3N0YXJ0X2xsZHAoaHcsIHRydWUsIE5VTEwpOw0KCQlpZiAocmV0ICE9IEk0MEVfU1VDQ0VT UykNCgkJCVBNRF9JTklUX0xPRyhERUJVRywgIkZhaWxlZCB0byBzdGFydCBsbGRwIik7DQoNCgkJ cmV0ID0gaTQwZV9pbml0X2RjYihodywgdHJ1ZSk7DQoJCWlmICghcmV0KSB7DQoJCQlpZiAoaHct PmRjYnhfc3RhdHVzID09IEk0MEVfRENCWF9TVEFUVVNfRElTQUJMRUQpIHsNCgkJCQlQTURfSU5J VF9MT0coRVJSLA0KCQkJCQkiSFcgZG9lc24ndCBzdXBwb3J0IERDQlggb2ZmbG9hZC4iKTsNCgkJ CQlyZXR1cm4gLUVOT1RTVVA7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlQTURfSU5JVF9MT0coRVJS LA0KCQkJCSJEQ0JYIGNvbmZpZ3VyYXRpb24gZmFpbGVkLCBlcnIgPSAlZCwgYXFfZXJyID0gJWQu IiwNCgkJCQlyZXQsIGh3LT5hcS5hc3FfbGFzdF9zdGF0dXMpOw0KCQkJcmV0dXJuIC1FTk9UU1VQ Ow0KCQl9DQoJfQ0KCXJldHVybiAwOw0KfQ0KDQovKg0KICogaTQwZV9kY2Jfc2V0dXAgLSBzZXR1 cCBkY2IgcmVsYXRlZCBjb25maWcNCiAqIEBkZXY6IGRldmljZSBiZWluZyBjb25maWd1cmVkDQog Kg0KICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWx1cmUNCiAq Lw0Kc3RhdGljIGludA0KaTQwZV9kY2Jfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7 DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEt PmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV9kY2J4X2NvbmZpZyBkY2JfY2ZnOw0KCXVpbnQ4 X3QgdGNfbWFwID0gMDsNCglpbnQgcmV0ID0gMDsNCg0KCWlmICgocGYtPmZsYWdzICYgSTQwRV9G TEFHX0RDQikgPT0gMCkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiSFcgZG9lc24ndCBzdXBwb3J0 IERDQiIpOw0KCQlyZXR1cm4gLUVOT1RTVVA7DQoJfQ0KDQoJaWYgKHBmLT52Zl9udW0gIT0gMCkN CgkJUE1EX0lOSVRfTE9HKERFQlVHLCAiIERDQiBvbmx5IHdvcmtzIG9uIHBmIGFuZCB2bWRxIHZz aXMuIik7DQoNCglyZXQgPSBpNDBlX3BhcnNlX2RjYl9jb25maWd1cmUoZGV2LCAmZGNiX2NmZywg JnRjX21hcCk7DQoJaWYgKHJldCkgew0KCQlQTURfSU5JVF9MT0coRVJSLCAiaW52YWxpZCBkY2Ig Y29uZmlnIik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCglyZXQgPSBpNDBlX2RjYl9od19jb25m aWd1cmUocGYsICZkY2JfY2ZnLCB0Y19tYXApOw0KCWlmIChyZXQpIHsNCgkJUE1EX0lOSVRfTE9H KEVSUiwgImRjYiBzdyBjb25maWd1cmUgZmFpbHMiKTsNCgkJcmV0dXJuIC1FTk9TWVM7DQoJfQ0K DQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0MGVfZGV2X2dldF9kY2JfaW5mbyhzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJICAgICAgc3RydWN0IHJ0ZV9ldGhfZGNiX2luZm8gKmRj Yl9pbmZvKQ0Kew0KCXN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYo ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZf UFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV92c2kg KnZzaSA9IHBmLT5tYWluX3ZzaTsNCglzdHJ1Y3QgaTQwZV9kY2J4X2NvbmZpZyAqZGNiX2NmZyA9 ICZody0+bG9jYWxfZGNieF9jb25maWc7DQoJdWludDE2X3QgYnNmLCB0Y19tYXBwaW5nOw0KCWlu dCBpLCBqID0gMDsNCg0KCWlmIChkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tcV9tb2RlICYg RVRIX01RX1JYX0RDQl9GTEFHKQ0KCQlkY2JfaW5mby0+bmJfdGNzID0gcnRlX2JzZjMyKHZzaS0+ ZW5hYmxlZF90YyArIDEpOw0KCWVsc2UNCgkJZGNiX2luZm8tPm5iX3RjcyA9IDE7DQoJZm9yIChp ID0gMDsgaSA8IEk0MEVfTUFYX1VTRVJfUFJJT1JJVFk7IGkrKykNCgkJZGNiX2luZm8tPnByaW9f dGNbaV0gPSBkY2JfY2ZnLT5ldHNjZmcucHJpb3JpdHl0YWJsZVtpXTsNCglmb3IgKGkgPSAwOyBp IDwgZGNiX2luZm8tPm5iX3RjczsgaSsrKQ0KCQlkY2JfaW5mby0+dGNfYndzW2ldID0gZGNiX2Nm Zy0+ZXRzY2ZnLnRjYnd0YWJsZVtpXTsNCg0KCS8qIGdldCBxdWV1ZSBtYXBwaW5nIGlmIHZtZHEg aXMgZGlzYWJsZWQgKi8NCglpZiAoIXBmLT5uYl9jZmdfdm1kcV92c2kpIHsNCgkJZm9yIChpID0g MDsgaSA8IEk0MEVfTUFYX1RSQUZGSUNfQ0xBU1M7IGkrKykgew0KCQkJaWYgKCEodnNpLT5lbmFi bGVkX3RjICYgKDEgPDwgaSkpKQ0KCQkJCWNvbnRpbnVlOw0KCQkJdGNfbWFwcGluZyA9IHJ0ZV9s ZV90b19jcHVfMTYodnNpLT5pbmZvLnRjX21hcHBpbmdbaV0pOw0KCQkJZGNiX2luZm8tPnRjX3F1 ZXVlLnRjX3J4cVtqXVtpXS5iYXNlID0NCgkJCQkodGNfbWFwcGluZyAmIEk0MEVfQVFfVlNJX1RD X1FVRV9PRkZTRVRfTUFTSykgPj4NCgkJCQlJNDBFX0FRX1ZTSV9UQ19RVUVfT0ZGU0VUX1NISUZU Ow0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3R4cVtqXVtpXS5iYXNlID0NCgkJCQlkY2JfaW5m by0+dGNfcXVldWUudGNfcnhxW2pdW2ldLmJhc2U7DQoJCQlic2YgPSAodGNfbWFwcGluZyAmIEk0 MEVfQVFfVlNJX1RDX1FVRV9OVU1CRVJfTUFTSykgPj4NCgkJCQlJNDBFX0FRX1ZTSV9UQ19RVUVf TlVNQkVSX1NISUZUOw0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3J4cVtqXVtpXS5uYl9xdWV1 ZSA9IDEgPDwgYnNmOw0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3R4cVtqXVtpXS5uYl9xdWV1 ZSA9DQoJCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3J4cVtqXVtpXS5uYl9xdWV1ZTsNCgkJfQ0K CQlyZXR1cm4gMDsNCgl9DQoNCgkvKiBnZXQgcXVldWUgbWFwcGluZyBpZiB2bWRxIGlzIGVuYWJs ZWQgKi8NCglkbyB7DQoJCXZzaSA9IHBmLT52bWRxW2pdLnZzaTsNCgkJZm9yIChpID0gMDsgaSA8 IEk0MEVfTUFYX1RSQUZGSUNfQ0xBU1M7IGkrKykgew0KCQkJaWYgKCEodnNpLT5lbmFibGVkX3Rj ICYgKDEgPDwgaSkpKQ0KCQkJCWNvbnRpbnVlOw0KCQkJdGNfbWFwcGluZyA9IHJ0ZV9sZV90b19j cHVfMTYodnNpLT5pbmZvLnRjX21hcHBpbmdbaV0pOw0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRj X3J4cVtqXVtpXS5iYXNlID0NCgkJCQkodGNfbWFwcGluZyAmIEk0MEVfQVFfVlNJX1RDX1FVRV9P RkZTRVRfTUFTSykgPj4NCgkJCQlJNDBFX0FRX1ZTSV9UQ19RVUVfT0ZGU0VUX1NISUZUOw0KCQkJ ZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3R4cVtqXVtpXS5iYXNlID0NCgkJCQlkY2JfaW5mby0+dGNf cXVldWUudGNfcnhxW2pdW2ldLmJhc2U7DQoJCQlic2YgPSAodGNfbWFwcGluZyAmIEk0MEVfQVFf VlNJX1RDX1FVRV9OVU1CRVJfTUFTSykgPj4NCgkJCQlJNDBFX0FRX1ZTSV9UQ19RVUVfTlVNQkVS X1NISUZUOw0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3J4cVtqXVtpXS5uYl9xdWV1ZSA9IDEg PDwgYnNmOw0KCQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3R4cVtqXVtpXS5uYl9xdWV1ZSA9DQoJ CQkJZGNiX2luZm8tPnRjX3F1ZXVlLnRjX3J4cVtqXVtpXS5uYl9xdWV1ZTsNCgkJfQ0KCQlqKys7 DQoJfSB3aGlsZSAoaiA8IFJURV9NSU4ocGYtPm5iX2NmZ192bWRxX3ZzaSwgRVRIX01BWF9WTURR X1BPT0wpKTsNCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV9kZXZfcnhfcXVldWVf aW50cl9lbmFibGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkKQ0K ew0KCXN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9IFJURV9FVEhfREVWX1RPX1BDSShk ZXYpOw0KCXN0cnVjdCBydGVfaW50cl9oYW5kbGUgKmludHJfaGFuZGxlID0gJnBjaV9kZXYtPmlu dHJfaGFuZGxlOw0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFco ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQoJdWludDE2X3QgbXNpeF9pbnRyOw0KDQoJbXNpeF9p bnRyID0gaW50cl9oYW5kbGUtPmludHJfdmVjW3F1ZXVlX2lkXTsNCglpZiAobXNpeF9pbnRyID09 IEk0MEVfTUlTQ19WRUNfSUQpDQoJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BGSU5UX0RZTl9D VEwwLA0KCQkJICAgICAgIEk0MEVfUEZJTlRfRFlOX0NUTDBfSU5URU5BX01BU0sgfA0KCQkJICAg ICAgIEk0MEVfUEZJTlRfRFlOX0NUTDBfQ0xFQVJQQkFfTUFTSyB8DQoJCQkgICAgICAgSTQwRV9Q RklOVF9EWU5fQ1RMMF9JVFJfSU5EWF9NQVNLKTsNCgllbHNlDQoJCUk0MEVfV1JJVEVfUkVHKGh3 LA0KCQkJICAgICAgIEk0MEVfUEZJTlRfRFlOX0NUTE4obXNpeF9pbnRyIC0NCgkJCQkJCSAgIEk0 MEVfUlhfVkVDX1NUQVJUKSwNCgkJCSAgICAgICBJNDBFX1BGSU5UX0RZTl9DVExOX0lOVEVOQV9N QVNLIHwNCgkJCSAgICAgICBJNDBFX1BGSU5UX0RZTl9DVExOX0NMRUFSUEJBX01BU0sgfA0KCQkJ ICAgICAgIEk0MEVfUEZJTlRfRFlOX0NUTE5fSVRSX0lORFhfTUFTSyk7DQoNCglJNDBFX1dSSVRF X0ZMVVNIKGh3KTsNCglydGVfaW50cl9hY2soJnBjaV9kZXYtPmludHJfaGFuZGxlKTsNCg0KCXJl dHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Rldl9yeF9xdWV1ZV9pbnRyX2Rpc2FibGUo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkKQ0Kew0KCXN0cnVjdCBy dGVfcGNpX2RldmljZSAqcGNpX2RldiA9IFJURV9FVEhfREVWX1RPX1BDSShkZXYpOw0KCXN0cnVj dCBydGVfaW50cl9oYW5kbGUgKmludHJfaGFuZGxlID0gJnBjaV9kZXYtPmludHJfaGFuZGxlOw0K CXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5k ZXZfcHJpdmF0ZSk7DQoJdWludDE2X3QgbXNpeF9pbnRyOw0KDQoJbXNpeF9pbnRyID0gaW50cl9o YW5kbGUtPmludHJfdmVjW3F1ZXVlX2lkXTsNCglpZiAobXNpeF9pbnRyID09IEk0MEVfTUlTQ19W RUNfSUQpDQoJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BGSU5UX0RZTl9DVEwwLA0KCQkJICAg ICAgIEk0MEVfUEZJTlRfRFlOX0NUTDBfSVRSX0lORFhfTUFTSyk7DQoJZWxzZQ0KCQlJNDBFX1dS SVRFX1JFRyhodywNCgkJCSAgICAgICBJNDBFX1BGSU5UX0RZTl9DVExOKG1zaXhfaW50ciAtDQoJ CQkJCQkgICBJNDBFX1JYX1ZFQ19TVEFSVCksDQoJCQkgICAgICAgSTQwRV9QRklOVF9EWU5fQ1RM Tl9JVFJfSU5EWF9NQVNLKTsNCglJNDBFX1dSSVRFX0ZMVVNIKGh3KTsNCg0KCXJldHVybiAwOw0K fQ0KDQovKioNCiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjaGVjayBpZiB0aGUgcmVnaXN0 ZXIgaXMgdmFsaWQuDQogKiBCZWxvdyBpcyB0aGUgdmFsaWQgcmVnaXN0ZXJzIGxpc3QgZm9yIFg3 MjIgb25seToNCiAqIDB4MmI4MDAtLTB4MmJiMDANCiAqIDB4Mzg3MDAtLTB4MzhhMDANCiAqIDB4 M2Q4MDAtLTB4M2RiMDANCiAqIDB4MjA4ZTAwLS0weDIwOTAwMA0KICogMHgyMGJlMDAtLTB4MjBj MDAwDQogKiAweDI2M2MwMC0tMHgyNjQwMDANCiAqIDB4MjY1YzAwLS0weDI2NjAwMA0KICovDQpz dGF0aWMgaW5saW5lIGludCBpNDBlX3ZhbGlkX3JlZ3MoZW51bSBpNDBlX21hY190eXBlIHR5cGUs IHVpbnQzMl90IHJlZ19vZmZzZXQpDQp7DQoJaWYgKCh0eXBlICE9IEk0MEVfTUFDX1g3MjIpICYm DQoJICAgICgocmVnX29mZnNldCA+PSAweDJiODAwICYmIHJlZ19vZmZzZXQgPD0gMHgyYmIwMCkg fHwNCgkgICAgIChyZWdfb2Zmc2V0ID49IDB4Mzg3MDAgJiYgcmVnX29mZnNldCA8PSAweDM4YTAw KSB8fA0KCSAgICAgKHJlZ19vZmZzZXQgPj0gMHgzZDgwMCAmJiByZWdfb2Zmc2V0IDw9IDB4M2Ri MDApIHx8DQoJICAgICAocmVnX29mZnNldCA+PSAweDIwOGUwMCAmJiByZWdfb2Zmc2V0IDw9IDB4 MjA5MDAwKSB8fA0KCSAgICAgKHJlZ19vZmZzZXQgPj0gMHgyMGJlMDAgJiYgcmVnX29mZnNldCA8 PSAweDIwYzAwMCkgfHwNCgkgICAgIChyZWdfb2Zmc2V0ID49IDB4MjYzYzAwICYmIHJlZ19vZmZz ZXQgPD0gMHgyNjQwMDApIHx8DQoJICAgICAocmVnX29mZnNldCA+PSAweDI2NWMwMCAmJiByZWdf b2Zmc2V0IDw9IDB4MjY2MDAwKSkpDQoJCXJldHVybiAwOw0KCWVsc2UNCgkJcmV0dXJuIDE7DQp9 DQoNCnN0YXRpYyBpbnQgaTQwZV9nZXRfcmVncyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCgkJ CSBzdHJ1Y3QgcnRlX2Rldl9yZWdfaW5mbyAqcmVncykNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcg PSBJNDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQz Ml90ICpwdHJfZGF0YSA9IHJlZ3MtPmRhdGE7DQoJdWludDMyX3QgcmVnX2lkeCwgYXJyX2lkeCwg YXJyX2lkeDIsIHJlZ19vZmZzZXQ7DQoJY29uc3Qgc3RydWN0IGk0MGVfcmVnX2luZm8gKnJlZ19p bmZvOw0KDQoJaWYgKHB0cl9kYXRhID09IE5VTEwpIHsNCgkJcmVncy0+bGVuZ3RoID0gSTQwRV9H TEdFTl9TVEFUX0NMRUFSICsgNDsNCgkJcmVncy0+d2lkdGggPSBzaXplb2YodWludDMyX3QpOw0K CQlyZXR1cm4gMDsNCgl9DQoNCgkvKiBUaGUgZmlyc3QgZmV3IHJlZ2lzdGVycyBoYXZlIHRvIGJl IHJlYWQgdXNpbmcgQVEgb3BlcmF0aW9ucyAqLw0KCXJlZ19pZHggPSAwOw0KCXdoaWxlIChpNDBl X3JlZ3NfYWRtaW5xW3JlZ19pZHhdLm5hbWUpIHsNCgkJcmVnX2luZm8gPSAmaTQwZV9yZWdzX2Fk bWlucVtyZWdfaWR4KytdOw0KCQlmb3IgKGFycl9pZHggPSAwOyBhcnJfaWR4IDw9IHJlZ19pbmZv LT5jb3VudDE7IGFycl9pZHgrKykNCgkJCWZvciAoYXJyX2lkeDIgPSAwOw0KCQkJCQlhcnJfaWR4 MiA8PSByZWdfaW5mby0+Y291bnQyOw0KCQkJCQlhcnJfaWR4MisrKSB7DQoJCQkJcmVnX29mZnNl dCA9IGFycl9pZHggKiByZWdfaW5mby0+c3RyaWRlMSArDQoJCQkJCWFycl9pZHgyICogcmVnX2lu Zm8tPnN0cmlkZTI7DQoJCQkJcmVnX29mZnNldCArPSByZWdfaW5mby0+YmFzZV9hZGRyOw0KCQkJ CXB0cl9kYXRhW3JlZ19vZmZzZXQgPj4gMl0gPQ0KCQkJCQlpNDBlX3JlYWRfcnhfY3RsKGh3LCBy ZWdfb2Zmc2V0KTsNCgkJCX0NCgl9DQoNCgkvKiBUaGUgcmVtYWluaW5nIHJlZ2lzdGVycyBjYW4g YmUgcmVhZCB1c2luZyBwcmltaXRpdmVzICovDQoJcmVnX2lkeCA9IDA7DQoJd2hpbGUgKGk0MGVf cmVnc19vdGhlcnNbcmVnX2lkeF0ubmFtZSkgew0KCQlyZWdfaW5mbyA9ICZpNDBlX3JlZ3Nfb3Ro ZXJzW3JlZ19pZHgrK107DQoJCWZvciAoYXJyX2lkeCA9IDA7IGFycl9pZHggPD0gcmVnX2luZm8t PmNvdW50MTsgYXJyX2lkeCsrKQ0KCQkJZm9yIChhcnJfaWR4MiA9IDA7DQoJCQkJCWFycl9pZHgy IDw9IHJlZ19pbmZvLT5jb3VudDI7DQoJCQkJCWFycl9pZHgyKyspIHsNCgkJCQlyZWdfb2Zmc2V0 ID0gYXJyX2lkeCAqIHJlZ19pbmZvLT5zdHJpZGUxICsNCgkJCQkJYXJyX2lkeDIgKiByZWdfaW5m by0+c3RyaWRlMjsNCgkJCQlyZWdfb2Zmc2V0ICs9IHJlZ19pbmZvLT5iYXNlX2FkZHI7DQoJCQkJ aWYgKCFpNDBlX3ZhbGlkX3JlZ3MoaHctPm1hYy50eXBlLCByZWdfb2Zmc2V0KSkNCgkJCQkJcHRy X2RhdGFbcmVnX29mZnNldCA+PiAyXSA9IDA7DQoJCQkJZWxzZQ0KCQkJCQlwdHJfZGF0YVtyZWdf b2Zmc2V0ID4+IDJdID0NCgkJCQkJCUk0MEVfUkVBRF9SRUcoaHcsIHJlZ19vZmZzZXQpOw0KCQkJ fQ0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50IGk0MGVfZ2V0X2VlcHJvbV9sZW5n dGgoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQw RV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCg0KCS8qIENvbnZl cnQgd29yZCBjb3VudCB0byBieXRlIGNvdW50ICovDQoJcmV0dXJuIGh3LT5udm0uc3Jfc2l6ZSA8 PCAxOw0KfQ0KDQpzdGF0aWMgaW50IGk0MGVfZ2V0X2VlcHJvbShzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwNCgkJCSAgIHN0cnVjdCBydGVfZGV2X2VlcHJvbV9pbmZvICplZXByb20pDQp7DQoJc3Ry dWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9w cml2YXRlKTsNCgl1aW50MTZfdCAqZGF0YSA9IGVlcHJvbS0+ZGF0YTsNCgl1aW50MTZfdCBvZmZz ZXQsIGxlbmd0aCwgY250X3dvcmRzOw0KCWludCByZXRfY29kZTsNCg0KCW9mZnNldCA9IGVlcHJv bS0+b2Zmc2V0ID4+IDE7DQoJbGVuZ3RoID0gZWVwcm9tLT5sZW5ndGggPj4gMTsNCgljbnRfd29y ZHMgPSBsZW5ndGg7DQoNCglpZiAob2Zmc2V0ID4gaHctPm52bS5zcl9zaXplIHx8DQoJCW9mZnNl dCArIGxlbmd0aCA+IGh3LT5udm0uc3Jfc2l6ZSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJSZXF1 ZXN0ZWQgRUVQUk9NIGJ5dGVzIG91dCBvZiByYW5nZS4iKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJ fQ0KDQoJZWVwcm9tLT5tYWdpYyA9IGh3LT52ZW5kb3JfaWQgfCAoaHctPmRldmljZV9pZCA8PCAx Nik7DQoNCglyZXRfY29kZSA9IGk0MGVfcmVhZF9udm1fYnVmZmVyKGh3LCBvZmZzZXQsICZjbnRf d29yZHMsIGRhdGEpOw0KCWlmIChyZXRfY29kZSAhPSBJNDBFX1NVQ0NFU1MgfHwgY250X3dvcmRz ICE9IGxlbmd0aCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJFRVBST00gcmVhZCBmYWlsZWQuIik7 DQoJCXJldHVybiAtRUlPOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50IGk0MGVf Z2V0X21vZHVsZV9pbmZvKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCXN0cnVjdCBydGVf ZXRoX2Rldl9tb2R1bGVfaW5mbyAqbW9kaW5mbykNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQzMl90 IHNmZjg0NzJfY29tcCA9IDA7DQoJdWludDMyX3Qgc2ZmODQ3Ml9zd2FwID0gMDsNCgl1aW50MzJf dCBzZmY4NjM2X3JldiA9IDA7DQoJaTQwZV9zdGF0dXMgc3RhdHVzOw0KCXVpbnQzMl90IHR5cGUg PSAwOw0KDQoJLyogQ2hlY2sgaWYgZmlybXdhcmUgc3VwcG9ydHMgcmVhZGluZyBtb2R1bGUgRUVQ Uk9NLiAqLw0KCWlmICghKGh3LT5mbGFncyAmIEk0MEVfSFdfRkxBR19BUV9QSFlfQUNDRVNTX0NB UEFCTEUpKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwNCgkJCSAgICAiTW9kdWxlIEVFUFJPTSBtZW1v cnkgcmVhZCBub3Qgc3VwcG9ydGVkLiAiDQoJCQkgICAgIlBsZWFzZSB1cGRhdGUgdGhlIE5WTSBp bWFnZS5cbiIpOw0KCQlyZXR1cm4gLUVJTlZBTDsNCgl9DQoNCglzdGF0dXMgPSBpNDBlX3VwZGF0 ZV9saW5rX2luZm8oaHcpOw0KCWlmIChzdGF0dXMpDQoJCXJldHVybiAtRUlPOw0KDQoJaWYgKGh3 LT5waHkubGlua19pbmZvLnBoeV90eXBlID09IEk0MEVfUEhZX1RZUEVfRU1QVFkpIHsNCgkJUE1E X0RSVl9MT0coRVJSLA0KCQkJICAgICJDYW5ub3QgcmVhZCBtb2R1bGUgRUVQUk9NIG1lbW9yeS4g Ig0KCQkJICAgICJObyBtb2R1bGUgY29ubmVjdGVkLlxuIik7DQoJCXJldHVybiAtRUlOVkFMOw0K CX0NCg0KCXR5cGUgPSBody0+cGh5LmxpbmtfaW5mby5tb2R1bGVfdHlwZVswXTsNCg0KCXN3aXRj aCAodHlwZSkgew0KCWNhc2UgSTQwRV9NT0RVTEVfVFlQRV9TRlA6DQoJCXN0YXR1cyA9IGk0MGVf YXFfZ2V0X3BoeV9yZWdpc3RlcihodywNCgkJCQlJNDBFX0FRX1BIWV9SRUdfQUNDRVNTX0VYVEVS TkFMX01PRFVMRSwNCgkJCQlJNDBFX0kyQ19FRVBST01fREVWX0FERFIsIDEsDQoJCQkJSTQwRV9N T0RVTEVfU0ZGXzg0NzJfQ09NUCwNCgkJCQkmc2ZmODQ3Ml9jb21wLCBOVUxMKTsNCgkJaWYgKHN0 YXR1cykNCgkJCXJldHVybiAtRUlPOw0KDQoJCXN0YXR1cyA9IGk0MGVfYXFfZ2V0X3BoeV9yZWdp c3RlcihodywNCgkJCQlJNDBFX0FRX1BIWV9SRUdfQUNDRVNTX0VYVEVSTkFMX01PRFVMRSwNCgkJ CQlJNDBFX0kyQ19FRVBST01fREVWX0FERFIsIDEsDQoJCQkJSTQwRV9NT0RVTEVfU0ZGXzg0NzJf U1dBUCwNCgkJCQkmc2ZmODQ3Ml9zd2FwLCBOVUxMKTsNCgkJaWYgKHN0YXR1cykNCgkJCXJldHVy biAtRUlPOw0KDQoJCS8qIENoZWNrIGlmIHRoZSBtb2R1bGUgcmVxdWlyZXMgYWRkcmVzcyBzd2Fw IHRvIGFjY2Vzcw0KCQkgKiB0aGUgb3RoZXIgRUVQUk9NIG1lbW9yeSBwYWdlLg0KCQkgKi8NCgkJ aWYgKHNmZjg0NzJfc3dhcCAmIEk0MEVfTU9EVUxFX1NGRl9BRERSX01PREUpIHsNCgkJCVBNRF9E UlZfTE9HKFdBUk5JTkcsDQoJCQkJICAgICJNb2R1bGUgYWRkcmVzcyBzd2FwIHRvIGFjY2VzcyAi DQoJCQkJICAgICJwYWdlIDB4QTIgaXMgbm90IHN1cHBvcnRlZC5cbiIpOw0KCQkJbW9kaW5mby0+ dHlwZSA9IFJURV9FVEhfTU9EVUxFX1NGRl84MDc5Ow0KCQkJbW9kaW5mby0+ZWVwcm9tX2xlbiA9 IFJURV9FVEhfTU9EVUxFX1NGRl84MDc5X0xFTjsNCgkJfSBlbHNlIGlmIChzZmY4NDcyX2NvbXAg PT0gMHgwMCkgew0KCQkJLyogTW9kdWxlIGlzIG5vdCBTRkYtODQ3MiBjb21wbGlhbnQgKi8NCgkJ CW1vZGluZm8tPnR5cGUgPSBSVEVfRVRIX01PRFVMRV9TRkZfODA3OTsNCgkJCW1vZGluZm8tPmVl cHJvbV9sZW4gPSBSVEVfRVRIX01PRFVMRV9TRkZfODA3OV9MRU47DQoJCX0gZWxzZSB7DQoJCQlt b2RpbmZvLT50eXBlID0gUlRFX0VUSF9NT0RVTEVfU0ZGXzg0NzI7DQoJCQltb2RpbmZvLT5lZXBy b21fbGVuID0gUlRFX0VUSF9NT0RVTEVfU0ZGXzg0NzJfTEVOOw0KCQl9DQoJCWJyZWFrOw0KCWNh c2UgSTQwRV9NT0RVTEVfVFlQRV9RU0ZQX1BMVVM6DQoJCS8qIFJlYWQgZnJvbSBtZW1vcnkgcGFn ZSAwLiAqLw0KCQlzdGF0dXMgPSBpNDBlX2FxX2dldF9waHlfcmVnaXN0ZXIoaHcsDQoJCQkJSTQw RV9BUV9QSFlfUkVHX0FDQ0VTU19FWFRFUk5BTF9NT0RVTEUsDQoJCQkJMCwgMSwNCgkJCQlJNDBF X01PRFVMRV9SRVZJU0lPTl9BRERSLA0KCQkJCSZzZmY4NjM2X3JldiwgTlVMTCk7DQoJCWlmIChz dGF0dXMpDQoJCQlyZXR1cm4gLUVJTzsNCgkJLyogRGV0ZXJtaW5lIHJldmlzaW9uIGNvbXBsaWFu Y2UgYnl0ZSAqLw0KCQlpZiAoc2ZmODYzNl9yZXYgPiAweDAyKSB7DQoJCQkvKiBNb2R1bGUgaXMg U0ZGLTg2MzYgY29tcGxpYW50ICovDQoJCQltb2RpbmZvLT50eXBlID0gUlRFX0VUSF9NT0RVTEVf U0ZGXzg2MzY7DQoJCQltb2RpbmZvLT5lZXByb21fbGVuID0gSTQwRV9NT0RVTEVfUVNGUF9NQVhf TEVOOw0KCQl9IGVsc2Ugew0KCQkJbW9kaW5mby0+dHlwZSA9IFJURV9FVEhfTU9EVUxFX1NGRl84 NDM2Ow0KCQkJbW9kaW5mby0+ZWVwcm9tX2xlbiA9IEk0MEVfTU9EVUxFX1FTRlBfTUFYX0xFTjsN CgkJfQ0KCQlicmVhazsNCgljYXNlIEk0MEVfTU9EVUxFX1RZUEVfUVNGUDI4Og0KCQltb2RpbmZv LT50eXBlID0gUlRFX0VUSF9NT0RVTEVfU0ZGXzg2MzY7DQoJCW1vZGluZm8tPmVlcHJvbV9sZW4g PSBJNDBFX01PRFVMRV9RU0ZQX01BWF9MRU47DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCVBNRF9E UlZfTE9HKEVSUiwgIk1vZHVsZSB0eXBlIHVucmVjb2duaXplZFxuIik7DQoJCXJldHVybiAtRUlO VkFMOw0KCX0NCglyZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludCBpNDBlX2dldF9tb2R1bGVfZWVw cm9tKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KCQkJCSAgc3RydWN0IHJ0ZV9kZXZfZWVwcm9t X2luZm8gKmluZm8pDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9ERVZfUFJJVkFURV9U T19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglib29sIGlzX3NmcCA9IGZhbHNlOw0KCWk0 MGVfc3RhdHVzIHN0YXR1czsNCgl1aW50OF90ICpkYXRhOw0KCXVpbnQzMl90IHZhbHVlID0gMDsN Cgl1aW50MzJfdCBpOw0KDQoJaWYgKCFpbmZvIHx8ICFpbmZvLT5sZW5ndGggfHwgIWluZm8tPmRh dGEpDQoJCXJldHVybiAtRUlOVkFMOw0KDQoJaWYgKGh3LT5waHkubGlua19pbmZvLm1vZHVsZV90 eXBlWzBdID09IEk0MEVfTU9EVUxFX1RZUEVfU0ZQKQ0KCQlpc19zZnAgPSB0cnVlOw0KDQoJZGF0 YSA9IGluZm8tPmRhdGE7DQoJZm9yIChpID0gMDsgaSA8IGluZm8tPmxlbmd0aDsgaSsrKSB7DQoJ CXUzMiBvZmZzZXQgPSBpICsgaW5mby0+b2Zmc2V0Ow0KCQl1MzIgYWRkciA9IGlzX3NmcCA/IEk0 MEVfSTJDX0VFUFJPTV9ERVZfQUREUiA6IDA7DQoNCgkJLyogQ2hlY2sgaWYgd2UgbmVlZCB0byBh Y2Nlc3MgdGhlIG90aGVyIG1lbW9yeSBwYWdlICovDQoJCWlmIChpc19zZnApIHsNCgkJCWlmIChv ZmZzZXQgPj0gUlRFX0VUSF9NT0RVTEVfU0ZGXzgwNzlfTEVOKSB7DQoJCQkJb2Zmc2V0IC09IFJU RV9FVEhfTU9EVUxFX1NGRl84MDc5X0xFTjsNCgkJCQlhZGRyID0gSTQwRV9JMkNfRUVQUk9NX0RF Vl9BRERSMjsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXdoaWxlIChvZmZzZXQgPj0gUlRFX0VUSF9N T0RVTEVfU0ZGXzg0MzZfTEVOKSB7DQoJCQkJLyogQ29tcHV0ZSBtZW1vcnkgcGFnZSBudW1iZXIg YW5kIG9mZnNldC4gKi8NCgkJCQlvZmZzZXQgLT0gUlRFX0VUSF9NT0RVTEVfU0ZGXzg0MzZfTEVO IC8gMjsNCgkJCQlhZGRyKys7DQoJCQl9DQoJCX0NCgkJc3RhdHVzID0gaTQwZV9hcV9nZXRfcGh5 X3JlZ2lzdGVyKGh3LA0KCQkJCUk0MEVfQVFfUEhZX1JFR19BQ0NFU1NfRVhURVJOQUxfTU9EVUxF LA0KCQkJCWFkZHIsIG9mZnNldCwgMSwgJnZhbHVlLCBOVUxMKTsNCgkJaWYgKHN0YXR1cykNCgkJ CXJldHVybiAtRUlPOw0KCQlkYXRhW2ldID0gKHVpbnQ4X3QpdmFsdWU7DQoJfQ0KCXJldHVybiAw Ow0KfQ0KDQpzdGF0aWMgaW50IGk0MGVfc2V0X2RlZmF1bHRfbWFjX2FkZHIoc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYsDQoJCQkJICAgICBzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKm1hY19hZGRyKQ0K ew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZSk7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9U T19QRihkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCglzdHJ1Y3QgaTQwZV92c2kgKnZzaSA9IHBm LT5tYWluX3ZzaTsNCglzdHJ1Y3QgaTQwZV9tYWNfZmlsdGVyX2luZm8gbWFjX2ZpbHRlcjsNCglz dHJ1Y3QgaTQwZV9tYWNfZmlsdGVyICpmOw0KCWludCByZXQ7DQoNCglpZiAoIXJ0ZV9pc192YWxp ZF9hc3NpZ25lZF9ldGhlcl9hZGRyKG1hY19hZGRyKSkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJU cmllZCB0byBzZXQgaW52YWxpZCBNQUMgYWRkcmVzcy4iKTsNCgkJcmV0dXJuIC1FSU5WQUw7DQoJ fQ0KDQoJVEFJTFFfRk9SRUFDSChmLCAmdnNpLT5tYWNfbGlzdCwgbmV4dCkgew0KCQlpZiAocnRl X2lzX3NhbWVfZXRoZXJfYWRkcigmcGYtPmRldl9hZGRyLA0KCQkJCQkJJmYtPm1hY19pbmZvLm1h Y19hZGRyKSkNCgkJCWJyZWFrOw0KCX0NCg0KCWlmIChmID09IE5VTEwpIHsNCgkJUE1EX0RSVl9M T0coRVJSLCAiRmFpbGVkIHRvIGZpbmQgZmlsdGVyIGZvciBkZWZhdWx0IG1hYyIpOw0KCQlyZXR1 cm4gLUVJTzsNCgl9DQoNCgltYWNfZmlsdGVyID0gZi0+bWFjX2luZm87DQoJcmV0ID0gaTQwZV92 c2lfZGVsZXRlX21hYyh2c2ksICZtYWNfZmlsdGVyLm1hY19hZGRyKTsNCglpZiAocmV0ICE9IEk0 MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZGVsZXRlIG1hYyBm aWx0ZXIiKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0KCW1lbWNweSgmbWFjX2ZpbHRlci5tYWNfYWRk ciwgbWFjX2FkZHIsIEVUSF9BRERSX0xFTik7DQoJcmV0ID0gaTQwZV92c2lfYWRkX21hYyh2c2ks ICZtYWNfZmlsdGVyKTsNCglpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgew0KCQlQTURfRFJWX0xP RyhFUlIsICJGYWlsZWQgdG8gYWRkIG1hYyBmaWx0ZXIiKTsNCgkJcmV0dXJuIC1FSU87DQoJfQ0K CW1lbWNweSgmcGYtPmRldl9hZGRyLCBtYWNfYWRkciwgRVRIX0FERFJfTEVOKTsNCg0KCXJldCA9 IGk0MGVfYXFfbWFjX2FkZHJlc3Nfd3JpdGUoaHcsIEk0MEVfQVFDX1dSSVRFX1RZUEVfTEFBX1dP TCwNCgkJCQkJbWFjX2FkZHItPmFkZHJfYnl0ZXMsIE5VTEwpOw0KCWlmIChyZXQgIT0gSTQwRV9T VUNDRVNTKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBjaGFuZ2UgbWFjIik7DQoJ CXJldHVybiAtRUlPOw0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgaW50DQppNDBlX2Rl dl9tdHVfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBtdHUpDQp7DQoJc3Ry dWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtPmRhdGEtPmRldl9w cml2YXRlKTsNCglzdHJ1Y3QgcnRlX2V0aF9kZXZfZGF0YSAqZGV2X2RhdGEgPSBwZi0+ZGV2X2Rh dGE7DQoJdWludDMyX3QgZnJhbWVfc2l6ZSA9IG10dSArIEk0MEVfRVRIX09WRVJIRUFEOw0KCWlu dCByZXQgPSAwOw0KDQoJLyogY2hlY2sgaWYgbXR1IGlzIHdpdGhpbiB0aGUgYWxsb3dlZCByYW5n ZSAqLw0KCWlmIChtdHUgPCBSVEVfRVRIRVJfTUlOX01UVSB8fCBmcmFtZV9zaXplID4gSTQwRV9G UkFNRV9TSVpFX01BWCkNCgkJcmV0dXJuIC1FSU5WQUw7DQoNCgkvKiBtdHUgc2V0dGluZyBpcyBm b3JiaWRkZW4gaWYgcG9ydCBpcyBzdGFydCAqLw0KCWlmIChkZXZfZGF0YS0+ZGV2X3N0YXJ0ZWQp IHsNCgkJUE1EX0RSVl9MT0coRVJSLCAicG9ydCAlZCBtdXN0IGJlIHN0b3BwZWQgYmVmb3JlIGNv bmZpZ3VyYXRpb24iLA0KCQkJICAgIGRldl9kYXRhLT5wb3J0X2lkKTsNCgkJcmV0dXJuIC1FQlVT WTsNCgl9DQoNCglpZiAoZnJhbWVfc2l6ZSA+IFJURV9FVEhFUl9NQVhfTEVOKQ0KCQlkZXZfZGF0 YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzIHw9DQoJCQlERVZfUlhfT0ZGTE9BRF9KVU1CT19G UkFNRTsNCgllbHNlDQoJCWRldl9kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgJj0NCgkJ CX5ERVZfUlhfT0ZGTE9BRF9KVU1CT19GUkFNRTsNCg0KCWRldl9kYXRhLT5kZXZfY29uZi5yeG1v ZGUubWF4X3J4X3BrdF9sZW4gPSBmcmFtZV9zaXplOw0KDQoJcmV0dXJuIHJldDsNCn0NCg0KLyog UmVzdG9yZSBldGhlcnR5cGUgZmlsdGVyICovDQpzdGF0aWMgdm9pZA0KaTQwZV9ldGhlcnR5cGVf ZmlsdGVyX3Jlc3RvcmUoc3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpo dyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KCXN0cnVjdCBpNDBlX2V0aGVydHlwZV9maWx0ZXJfbGlz dA0KCQkqZXRoZXJ0eXBlX2xpc3QgPSAmcGYtPmV0aGVydHlwZS5ldGhlcnR5cGVfbGlzdDsNCglz dHJ1Y3QgaTQwZV9ldGhlcnR5cGVfZmlsdGVyICpmOw0KCXN0cnVjdCBpNDBlX2NvbnRyb2xfZmls dGVyX3N0YXRzIHN0YXRzOw0KCXVpbnQxNl90IGZsYWdzOw0KDQoJVEFJTFFfRk9SRUFDSChmLCBl dGhlcnR5cGVfbGlzdCwgcnVsZXMpIHsNCgkJZmxhZ3MgPSAwOw0KCQlpZiAoIShmLT5mbGFncyAm IFJURV9FVEhUWVBFX0ZMQUdTX01BQykpDQoJCQlmbGFncyB8PSBJNDBFX0FRQ19BRERfQ09OVFJP TF9QQUNLRVRfRkxBR1NfSUdOT1JFX01BQzsNCgkJaWYgKGYtPmZsYWdzICYgUlRFX0VUSFRZUEVf RkxBR1NfRFJPUCkNCgkJCWZsYWdzIHw9IEk0MEVfQVFDX0FERF9DT05UUk9MX1BBQ0tFVF9GTEFH U19EUk9QOw0KCQlmbGFncyB8PSBJNDBFX0FRQ19BRERfQ09OVFJPTF9QQUNLRVRfRkxBR1NfVE9f UVVFVUU7DQoNCgkJbWVtc2V0KCZzdGF0cywgMCwgc2l6ZW9mKHN0YXRzKSk7DQoJCWk0MGVfYXFf YWRkX3JlbV9jb250cm9sX3BhY2tldF9maWx0ZXIoaHcsDQoJCQkJCSAgICBmLT5pbnB1dC5tYWNf YWRkci5hZGRyX2J5dGVzLA0KCQkJCQkgICAgZi0+aW5wdXQuZXRoZXJfdHlwZSwNCgkJCQkJICAg IGZsYWdzLCBwZi0+bWFpbl92c2ktPnNlaWQsDQoJCQkJCSAgICBmLT5xdWV1ZSwgMSwgJnN0YXRz LCBOVUxMKTsNCgl9DQoJUE1EX0RSVl9MT0coSU5GTywgIkV0aGVydHlwZSBmaWx0ZXI6Ig0KCQkg ICAgIiBtYWNfZXR5cGVfdXNlZCA9ICV1LCBldHlwZV91c2VkID0gJXUsIg0KCQkgICAgIiBtYWNf ZXR5cGVfZnJlZSA9ICV1LCBldHlwZV9mcmVlID0gJXUiLA0KCQkgICAgc3RhdHMubWFjX2V0eXBl X3VzZWQsIHN0YXRzLmV0eXBlX3VzZWQsDQoJCSAgICBzdGF0cy5tYWNfZXR5cGVfZnJlZSwgc3Rh dHMuZXR5cGVfZnJlZSk7DQp9DQoNCi8qIFJlc3RvcmUgdHVubmVsIGZpbHRlciAqLw0Kc3RhdGlj IHZvaWQNCmk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3JlKHN0cnVjdCBpNDBlX3BmICpwZikNCnsN CglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RPX0hXKHBmKTsNCglzdHJ1Y3QgaTQwZV92 c2kgKnZzaTsNCglzdHJ1Y3QgaTQwZV9wZl92ZiAqdmY7DQoJc3RydWN0IGk0MGVfdHVubmVsX2Zp bHRlcl9saXN0DQoJCSp0dW5uZWxfbGlzdCA9ICZwZi0+dHVubmVsLnR1bm5lbF9saXN0Ow0KCXN0 cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKmY7DQoJc3RydWN0IGk0MGVfYXFjX2Nsb3VkX2ZpbHRl cnNfZWxlbWVudF9iYiBjbGRfZmlsdGVyOw0KCWJvb2wgYmlnX2J1ZmZlciA9IDA7DQoNCglUQUlM UV9GT1JFQUNIKGYsIHR1bm5lbF9saXN0LCBydWxlcykgew0KCQlpZiAoIWYtPmlzX3RvX3ZmKQ0K CQkJdnNpID0gcGYtPm1haW5fdnNpOw0KCQllbHNlIHsNCgkJCXZmID0gJnBmLT52ZnNbZi0+dmZf aWRdOw0KCQkJdnNpID0gdmYtPnZzaTsNCgkJfQ0KCQltZW1zZXQoJmNsZF9maWx0ZXIsIDAsIHNp emVvZihjbGRfZmlsdGVyKSk7DQoJCXJ0ZV9ldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBydGVfZXRo ZXJfYWRkciAqKQ0KCQkJCSZmLT5pbnB1dC5vdXRlcl9tYWMsDQoJCQkoc3RydWN0IHJ0ZV9ldGhl cl9hZGRyICopJmNsZF9maWx0ZXIuZWxlbWVudC5vdXRlcl9tYWMpOw0KCQlydGVfZXRoZXJfYWRk cl9jb3B5KChzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKikNCgkJCQkmZi0+aW5wdXQuaW5uZXJfbWFj LA0KCQkJKHN0cnVjdCBydGVfZXRoZXJfYWRkciAqKSZjbGRfZmlsdGVyLmVsZW1lbnQuaW5uZXJf bWFjKTsNCgkJY2xkX2ZpbHRlci5lbGVtZW50LmlubmVyX3ZsYW4gPSBmLT5pbnB1dC5pbm5lcl92 bGFuOw0KCQljbGRfZmlsdGVyLmVsZW1lbnQuZmxhZ3MgPSBmLT5pbnB1dC5mbGFnczsNCgkJY2xk X2ZpbHRlci5lbGVtZW50LnRlbmFudF9pZCA9IGYtPmlucHV0LnRlbmFudF9pZDsNCgkJY2xkX2Zp bHRlci5lbGVtZW50LnF1ZXVlX251bWJlciA9IGYtPnF1ZXVlOw0KCQlydGVfbWVtY3B5KGNsZF9m aWx0ZXIuZ2VuZXJhbF9maWVsZHMsDQoJCQkgICBmLT5pbnB1dC5nZW5lcmFsX2ZpZWxkcywNCgkJ CSAgIHNpemVvZihmLT5pbnB1dC5nZW5lcmFsX2ZpZWxkcykpOw0KDQoJCWlmICgoKGYtPmlucHV0 LmZsYWdzICYNCgkJICAgICBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTEpID09DQoJCSAg ICAgSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl8wWDExKSB8fA0KCQkgICAgKChmLT5pbnB1dC5m bGFncyAmDQoJCSAgICAgSTQwRV9BUUNfQUREX0NMT1VEX0ZJTFRFUl8wWDEyKSA9PQ0KCQkgICAg IEk0MEVfQVFDX0FERF9DTE9VRF9GSUxURVJfMFgxMikgfHwNCgkJICAgICgoZi0+aW5wdXQuZmxh Z3MgJg0KCQkgICAgIEk0MEVfQVFDX0FERF9DTE9VRF9GSUxURVJfMFgxMCkgPT0NCgkJICAgICBJ NDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTApKQ0KCQkJYmlnX2J1ZmZlciA9IDE7DQoNCgkJ aWYgKGJpZ19idWZmZXIpDQoJCQlpNDBlX2FxX2FkZF9jbG91ZF9maWx0ZXJzX2JiKGh3LA0KCQkJ CQl2c2ktPnNlaWQsICZjbGRfZmlsdGVyLCAxKTsNCgkJZWxzZQ0KCQkJaTQwZV9hcV9hZGRfY2xv dWRfZmlsdGVycyhodywgdnNpLT5zZWlkLA0KCQkJCQkJICAmY2xkX2ZpbHRlci5lbGVtZW50LCAx KTsNCgl9DQp9DQoNCi8qIFJlc3RvcmUgUlNTIGZpbHRlciAqLw0Kc3RhdGljIGlubGluZSB2b2lk DQppNDBlX3Jzc19maWx0ZXJfcmVzdG9yZShzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJc3RydWN0 IGk0MGVfcnNzX2NvbmZfbGlzdCAqbGlzdCA9ICZwZi0+cnNzX2NvbmZpZ19saXN0Ow0KCXN0cnVj dCBpNDBlX3Jzc19maWx0ZXIgKmZpbHRlcjsNCg0KCVRBSUxRX0ZPUkVBQ0goZmlsdGVyLCBsaXN0 LCBuZXh0KSB7DQoJCWk0MGVfY29uZmlnX3Jzc19maWx0ZXIocGYsICZmaWx0ZXItPnJzc19maWx0 ZXJfaW5mbywgVFJVRSk7DQoJfQ0KfQ0KDQpzdGF0aWMgdm9pZA0KaTQwZV9maWx0ZXJfcmVzdG9y ZShzdHJ1Y3QgaTQwZV9wZiAqcGYpDQp7DQoJaTQwZV9ldGhlcnR5cGVfZmlsdGVyX3Jlc3RvcmUo cGYpOw0KCWk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3JlKHBmKTsNCglpNDBlX2ZkaXJfZmlsdGVy X3Jlc3RvcmUocGYpOw0KCWk0MGVfcnNzX2ZpbHRlcl9yZXN0b3JlKHBmKTsNCn0NCg0KYm9vbA0K aXNfZGV2aWNlX3N1cHBvcnRlZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0IHJ0ZV9w Y2lfZHJpdmVyICpkcnYpDQp7DQoJaWYgKHN0cmNtcChkZXYtPmRldmljZS0+ZHJpdmVyLT5uYW1l LCBkcnYtPmRyaXZlci5uYW1lKSkNCgkJcmV0dXJuIGZhbHNlOw0KDQoJcmV0dXJuIHRydWU7DQp9 DQoNCmJvb2wNCmlzX2k0MGVfc3VwcG9ydGVkKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0Kew0K CXJldHVybiBpc19kZXZpY2Vfc3VwcG9ydGVkKGRldiwgJnJ0ZV9pNDBlX3BtZCk7DQp9DQoNCnN0 cnVjdCBpNDBlX2N1c3RvbWl6ZWRfcGN0eXBlKg0KaTQwZV9maW5kX2N1c3RvbWl6ZWRfcGN0eXBl KHN0cnVjdCBpNDBlX3BmICpwZiwgdWludDhfdCBpbmRleCkNCnsNCglpbnQgaTsNCg0KCWZvciAo aSA9IDA7IGkgPCBJNDBFX0NVU1RPTUlaRURfTUFYOyBpKyspIHsNCgkJaWYgKHBmLT5jdXN0b21p emVkX3BjdHlwZVtpXS5pbmRleCA9PSBpbmRleCkNCgkJCXJldHVybiAmcGYtPmN1c3RvbWl6ZWRf cGN0eXBlW2ldOw0KCX0NCglyZXR1cm4gTlVMTDsNCn0NCg0Kc3RhdGljIGludA0KaTQwZV91cGRh dGVfY3VzdG9taXplZF9wY3R5cGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQ4X3QgKnBr ZywNCgkJCSAgICAgIHVpbnQzMl90IHBrZ19zaXplLCB1aW50MzJfdCBwcm90b19udW0sDQoJCQkg ICAgICBzdHJ1Y3QgcnRlX3BtZF9pNDBlX3Byb3RvX2luZm8gKnByb3RvLA0KCQkJICAgICAgZW51 bSBydGVfcG1kX2k0MGVfcGFja2FnZV9vcCBvcCkNCnsNCglzdHJ1Y3QgaTQwZV9wZiAqcGYgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX1BGKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KCXVpbnQzMl90 IHBjdHlwZV9udW07DQoJc3RydWN0IHJ0ZV9wbWRfaTQwZV9wdHlwZV9pbmZvICpwY3R5cGU7DQoJ dWludDMyX3QgYnVmZl9zaXplOw0KCXN0cnVjdCBpNDBlX2N1c3RvbWl6ZWRfcGN0eXBlICpuZXdf cGN0eXBlID0gTlVMTDsNCgl1aW50OF90IHByb3RvX2lkOw0KCXVpbnQ4X3QgcGN0eXBlX3ZhbHVl Ow0KCWNoYXIgbmFtZVs2NF07DQoJdWludDMyX3QgaSwgaiwgbjsNCglpbnQgcmV0Ow0KDQoJaWYg KG9wICE9IFJURV9QTURfSTQwRV9QS0dfT1BfV1JfQUREICYmDQoJICAgIG9wICE9IFJURV9QTURf STQwRV9QS0dfT1BfV1JfREVMKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIlVuc3VwcG9ydGVkIG9w ZXJhdGlvbi4iKTsNCgkJcmV0dXJuIC0xOw0KCX0NCg0KCXJldCA9IHJ0ZV9wbWRfaTQwZV9nZXRf ZGRwX2luZm8ocGtnLCBwa2dfc2l6ZSwNCgkJCQkodWludDhfdCAqKSZwY3R5cGVfbnVtLCBzaXpl b2YocGN0eXBlX251bSksDQoJCQkJUlRFX1BNRF9JNDBFX1BLR19JTkZPX1BDVFlQRV9OVU0pOw0K CWlmIChyZXQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCBwY3R5cGUgbnVt YmVyIik7DQoJCXJldHVybiAtMTsNCgl9DQoJaWYgKCFwY3R5cGVfbnVtKSB7DQoJCVBNRF9EUlZf TE9HKElORk8sICJObyBuZXcgcGN0eXBlIGFkZGVkIik7DQoJCXJldHVybiAtMTsNCgl9DQoNCgli dWZmX3NpemUgPSBwY3R5cGVfbnVtICogc2l6ZW9mKHN0cnVjdCBydGVfcG1kX2k0MGVfcHJvdG9f aW5mbyk7DQoJcGN0eXBlID0gcnRlX3ptYWxsb2MoIm5ld19wY3R5cGUiLCBidWZmX3NpemUsIDAp Ow0KCWlmICghcGN0eXBlKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhbGxvY2F0 ZSBtZW1vcnkiKTsNCgkJcmV0dXJuIC0xOw0KCX0NCgkvKiBnZXQgaW5mb3JtYXRpb24gYWJvdXQg bmV3IHBjdHlwZSBsaXN0ICovDQoJcmV0ID0gcnRlX3BtZF9pNDBlX2dldF9kZHBfaW5mbyhwa2cs IHBrZ19zaXplLA0KCQkJCQkodWludDhfdCAqKXBjdHlwZSwgYnVmZl9zaXplLA0KCQkJCQlSVEVf UE1EX0k0MEVfUEtHX0lORk9fUENUWVBFX0xJU1QpOw0KCWlmIChyZXQpIHsNCgkJUE1EX0RSVl9M T0coRVJSLCAiRmFpbGVkIHRvIGdldCBwY3R5cGUgbGlzdCIpOw0KCQlydGVfZnJlZShwY3R5cGUp Ow0KCQlyZXR1cm4gLTE7DQoJfQ0KDQoJLyogVXBkYXRlIGN1c3RvbWl6ZWQgcGN0eXBlLiAqLw0K CWZvciAoaSA9IDA7IGkgPCBwY3R5cGVfbnVtOyBpKyspIHsNCgkJcGN0eXBlX3ZhbHVlID0gcGN0 eXBlW2ldLnB0eXBlX2lkOw0KCQltZW1zZXQobmFtZSwgMCwgc2l6ZW9mKG5hbWUpKTsNCgkJZm9y IChqID0gMDsgaiA8IFJURV9QTURfSTQwRV9QUk9UT19OVU07IGorKykgew0KCQkJcHJvdG9faWQg PSBwY3R5cGVbaV0ucHJvdG9jb2xzW2pdOw0KCQkJaWYgKHByb3RvX2lkID09IFJURV9QTURfSTQw RV9QUk9UT19VTlVTRUQpDQoJCQkJY29udGludWU7DQoJCQlmb3IgKG4gPSAwOyBuIDwgcHJvdG9f bnVtOyBuKyspIHsNCgkJCQlpZiAocHJvdG9bbl0ucHJvdG9faWQgIT0gcHJvdG9faWQpDQoJCQkJ CWNvbnRpbnVlOw0KCQkJCXN0cmxjYXQobmFtZSwgcHJvdG9bbl0ubmFtZSwgc2l6ZW9mKG5hbWUp KTsNCgkJCQlzdHJsY2F0KG5hbWUsICJfIiwgc2l6ZW9mKG5hbWUpKTsNCgkJCQlicmVhazsNCgkJ CX0NCgkJfQ0KCQluYW1lW3N0cmxlbihuYW1lKSAtIDFdID0gJ1wwJzsNCgkJUE1EX0RSVl9MT0co SU5GTywgIm5hbWUgPSAlc1xuIiwgbmFtZSk7DQoJCWlmICghc3RyY21wKG5hbWUsICJHVFBDIikp DQoJCQluZXdfcGN0eXBlID0NCgkJCQlpNDBlX2ZpbmRfY3VzdG9taXplZF9wY3R5cGUocGYsDQoJ CQkJCQkgICAgICBJNDBFX0NVU1RPTUlaRURfR1RQQyk7DQoJCWVsc2UgaWYgKCFzdHJjbXAobmFt ZSwgIkdUUFVfSVBWNCIpKQ0KCQkJbmV3X3BjdHlwZSA9DQoJCQkJaTQwZV9maW5kX2N1c3RvbWl6 ZWRfcGN0eXBlKHBmLA0KCQkJCQkJICAgSTQwRV9DVVNUT01JWkVEX0dUUFVfSVBWNCk7DQoJCWVs c2UgaWYgKCFzdHJjbXAobmFtZSwgIkdUUFVfSVBWNiIpKQ0KCQkJbmV3X3BjdHlwZSA9DQoJCQkJ aTQwZV9maW5kX2N1c3RvbWl6ZWRfcGN0eXBlKHBmLA0KCQkJCQkJICAgSTQwRV9DVVNUT01JWkVE X0dUUFVfSVBWNik7DQoJCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIkdUUFUiKSkNCgkJCW5ld19w Y3R5cGUgPQ0KCQkJCWk0MGVfZmluZF9jdXN0b21pemVkX3BjdHlwZShwZiwNCgkJCQkJCSAgICAg IEk0MEVfQ1VTVE9NSVpFRF9HVFBVKTsNCgkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiSVBWNF9M MlRQVjMiKSkNCgkJCW5ld19wY3R5cGUgPQ0KCQkJCWk0MGVfZmluZF9jdXN0b21pemVkX3BjdHlw ZShwZiwNCgkJCQkJCUk0MEVfQ1VTVE9NSVpFRF9JUFY0X0wyVFBWMyk7DQoJCWVsc2UgaWYgKCFz dHJjbXAobmFtZSwgIklQVjZfTDJUUFYzIikpDQoJCQluZXdfcGN0eXBlID0NCgkJCQlpNDBlX2Zp bmRfY3VzdG9taXplZF9wY3R5cGUocGYsDQoJCQkJCQlJNDBFX0NVU1RPTUlaRURfSVBWNl9MMlRQ VjMpOw0KCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJJUFY0X0VTUCIpKQ0KCQkJbmV3X3BjdHlw ZSA9DQoJCQkJaTQwZV9maW5kX2N1c3RvbWl6ZWRfcGN0eXBlKHBmLA0KCQkJCQkJSTQwRV9DVVNU T01JWkVEX0VTUF9JUFY0KTsNCgkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiSVBWNl9FU1AiKSkN CgkJCW5ld19wY3R5cGUgPQ0KCQkJCWk0MGVfZmluZF9jdXN0b21pemVkX3BjdHlwZShwZiwNCgkJ CQkJCUk0MEVfQ1VTVE9NSVpFRF9FU1BfSVBWNik7DQoJCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwg IklQVjRfVURQX0VTUCIpKQ0KCQkJbmV3X3BjdHlwZSA9DQoJCQkJaTQwZV9maW5kX2N1c3RvbWl6 ZWRfcGN0eXBlKHBmLA0KCQkJCQkJSTQwRV9DVVNUT01JWkVEX0VTUF9JUFY0X1VEUCk7DQoJCWVs c2UgaWYgKCFzdHJjbXAobmFtZSwgIklQVjZfVURQX0VTUCIpKQ0KCQkJbmV3X3BjdHlwZSA9DQoJ CQkJaTQwZV9maW5kX2N1c3RvbWl6ZWRfcGN0eXBlKHBmLA0KCQkJCQkJSTQwRV9DVVNUT01JWkVE X0VTUF9JUFY2X1VEUCk7DQoJCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIklQVjRfQUgiKSkNCgkJ CW5ld19wY3R5cGUgPQ0KCQkJCWk0MGVfZmluZF9jdXN0b21pemVkX3BjdHlwZShwZiwNCgkJCQkJ CUk0MEVfQ1VTVE9NSVpFRF9BSF9JUFY0KTsNCgkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiSVBW Nl9BSCIpKQ0KCQkJbmV3X3BjdHlwZSA9DQoJCQkJaTQwZV9maW5kX2N1c3RvbWl6ZWRfcGN0eXBl KHBmLA0KCQkJCQkJSTQwRV9DVVNUT01JWkVEX0FIX0lQVjYpOw0KCQlpZiAobmV3X3BjdHlwZSkg ew0KCQkJaWYgKG9wID09IFJURV9QTURfSTQwRV9QS0dfT1BfV1JfQUREKSB7DQoJCQkJbmV3X3Bj dHlwZS0+cGN0eXBlID0gcGN0eXBlX3ZhbHVlOw0KCQkJCW5ld19wY3R5cGUtPnZhbGlkID0gdHJ1 ZTsNCgkJCX0gZWxzZSB7DQoJCQkJbmV3X3BjdHlwZS0+cGN0eXBlID0gSTQwRV9GSUxURVJfUENU WVBFX0lOVkFMSUQ7DQoJCQkJbmV3X3BjdHlwZS0+dmFsaWQgPSBmYWxzZTsNCgkJCX0NCgkJfQ0K CX0NCg0KCXJ0ZV9mcmVlKHBjdHlwZSk7DQoJcmV0dXJuIDA7DQp9DQoNCnN0YXRpYyBpbnQNCmk0 MGVfdXBkYXRlX2N1c3RvbWl6ZWRfcHR5cGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQ4 X3QgKnBrZywNCgkJCSAgICAgdWludDMyX3QgcGtnX3NpemUsIHVpbnQzMl90IHByb3RvX251bSwN CgkJCSAgICAgc3RydWN0IHJ0ZV9wbWRfaTQwZV9wcm90b19pbmZvICpwcm90bywNCgkJCSAgICAg ZW51bSBydGVfcG1kX2k0MGVfcGFja2FnZV9vcCBvcCkNCnsNCglzdHJ1Y3QgcnRlX3BtZF9pNDBl X3B0eXBlX21hcHBpbmcgKnB0eXBlX21hcHBpbmc7DQoJdWludDE2X3QgcG9ydF9pZCA9IGRldi0+ ZGF0YS0+cG9ydF9pZDsNCgl1aW50MzJfdCBwdHlwZV9udW07DQoJc3RydWN0IHJ0ZV9wbWRfaTQw ZV9wdHlwZV9pbmZvICpwdHlwZTsNCgl1aW50MzJfdCBidWZmX3NpemU7DQoJdWludDhfdCBwcm90 b19pZDsNCgljaGFyIG5hbWVbUlRFX1BNRF9JNDBFX0REUF9OQU1FX1NJWkVdOw0KCXVpbnQzMl90 IGksIGosIG47DQoJYm9vbCBpbl90dW5uZWw7DQoJaW50IHJldDsNCg0KCWlmIChvcCAhPSBSVEVf UE1EX0k0MEVfUEtHX09QX1dSX0FERCAmJg0KCSAgICBvcCAhPSBSVEVfUE1EX0k0MEVfUEtHX09Q X1dSX0RFTCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJVbnN1cHBvcnRlZCBvcGVyYXRpb24uIik7 DQoJCXJldHVybiAtMTsNCgl9DQoNCglpZiAob3AgPT0gUlRFX1BNRF9JNDBFX1BLR19PUF9XUl9E RUwpIHsNCgkJcnRlX3BtZF9pNDBlX3B0eXBlX21hcHBpbmdfcmVzZXQocG9ydF9pZCk7DQoJCXJl dHVybiAwOw0KCX0NCg0KCS8qIGdldCBpbmZvcm1hdGlvbiBhYm91dCBuZXcgcHR5cGUgbnVtICov DQoJcmV0ID0gcnRlX3BtZF9pNDBlX2dldF9kZHBfaW5mbyhwa2csIHBrZ19zaXplLA0KCQkJCSh1 aW50OF90ICopJnB0eXBlX251bSwgc2l6ZW9mKHB0eXBlX251bSksDQoJCQkJUlRFX1BNRF9JNDBF X1BLR19JTkZPX1BUWVBFX05VTSk7DQoJaWYgKHJldCkgew0KCQlQTURfRFJWX0xPRyhFUlIsICJG YWlsZWQgdG8gZ2V0IHB0eXBlIG51bWJlciIpOw0KCQlyZXR1cm4gcmV0Ow0KCX0NCglpZiAoIXB0 eXBlX251bSkgew0KCQlQTURfRFJWX0xPRyhJTkZPLCAiTm8gbmV3IHB0eXBlIGFkZGVkIik7DQoJ CXJldHVybiAtMTsNCgl9DQoNCglidWZmX3NpemUgPSBwdHlwZV9udW0gKiBzaXplb2Yoc3RydWN0 IHJ0ZV9wbWRfaTQwZV9wdHlwZV9pbmZvKTsNCglwdHlwZSA9IHJ0ZV96bWFsbG9jKCJuZXdfcHR5 cGUiLCBidWZmX3NpemUsIDApOw0KCWlmICghcHR5cGUpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAi RmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm4gLTE7DQoJfQ0KDQoJLyogZ2V0 IGluZm9ybWF0aW9uIGFib3V0IG5ldyBwdHlwZSBsaXN0ICovDQoJcmV0ID0gcnRlX3BtZF9pNDBl X2dldF9kZHBfaW5mbyhwa2csIHBrZ19zaXplLA0KCQkJCQkodWludDhfdCAqKXB0eXBlLCBidWZm X3NpemUsDQoJCQkJCVJURV9QTURfSTQwRV9QS0dfSU5GT19QVFlQRV9MSVNUKTsNCglpZiAocmV0 KSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBnZXQgcHR5cGUgbGlzdCIpOw0KCQly dGVfZnJlZShwdHlwZSk7DQoJCXJldHVybiByZXQ7DQoJfQ0KDQoJYnVmZl9zaXplID0gcHR5cGVf bnVtICogc2l6ZW9mKHN0cnVjdCBydGVfcG1kX2k0MGVfcHR5cGVfbWFwcGluZyk7DQoJcHR5cGVf bWFwcGluZyA9IHJ0ZV96bWFsbG9jKCJwdHlwZV9tYXBwaW5nIiwgYnVmZl9zaXplLCAwKTsNCglp ZiAoIXB0eXBlX21hcHBpbmcpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGFsbG9j YXRlIG1lbW9yeSIpOw0KCQlydGVfZnJlZShwdHlwZSk7DQoJCXJldHVybiAtMTsNCgl9DQoNCgkv KiBVcGRhdGUgcHR5cGUgbWFwcGluZyB0YWJsZS4gKi8NCglmb3IgKGkgPSAwOyBpIDwgcHR5cGVf bnVtOyBpKyspIHsNCgkJcHR5cGVfbWFwcGluZ1tpXS5od19wdHlwZSA9IHB0eXBlW2ldLnB0eXBl X2lkOw0KCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlID0gMDsNCgkJaW5fdHVubmVsID0gZmFs c2U7DQoJCWZvciAoaiA9IDA7IGogPCBSVEVfUE1EX0k0MEVfUFJPVE9fTlVNOyBqKyspIHsNCgkJ CXByb3RvX2lkID0gcHR5cGVbaV0ucHJvdG9jb2xzW2pdOw0KCQkJaWYgKHByb3RvX2lkID09IFJU RV9QTURfSTQwRV9QUk9UT19VTlVTRUQpDQoJCQkJY29udGludWU7DQoJCQlmb3IgKG4gPSAwOyBu IDwgcHJvdG9fbnVtOyBuKyspIHsNCgkJCQlpZiAocHJvdG9bbl0ucHJvdG9faWQgIT0gcHJvdG9f aWQpDQoJCQkJCWNvbnRpbnVlOw0KCQkJCW1lbXNldChuYW1lLCAwLCBzaXplb2YobmFtZSkpOw0K CQkJCXN0cmNweShuYW1lLCBwcm90b1tuXS5uYW1lKTsNCgkJCQlQTURfRFJWX0xPRyhJTkZPLCAi bmFtZSA9ICVzXG4iLCBuYW1lKTsNCgkJCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJQUFBPRSIs IDUpKQ0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZUEVf TDJfRVRIRVJfUFBQT0U7DQoJCQkJZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJJUFY0RlJB RyIsIDgpICYmDQoJCQkJCSAhaW5fdHVubmVsKSB7DQoJCQkJCXB0eXBlX21hcHBpbmdbaV0uc3df cHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9MM19JUFY0X0VYVF9VTktOT1dOOw0KCQkJCQlwdHlw ZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZUEVfTDRfRlJBRzsNCgkJCQl9 IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChuYW1lLCAiSVBWNEZSQUciLCA4KSAmJg0KCQkJCQkgICBp bl90dW5uZWwpIHsNCgkJCQkJcHR5cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJCQkgICAg UlRFX1BUWVBFX0lOTkVSX0wzX0lQVjRfRVhUX1VOS05PV047DQoJCQkJCXB0eXBlX21hcHBpbmdb aV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9JTk5FUl9MNF9GUkFHOw0KCQkJCX0gZWxz ZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJPSVBWNCIsIDUpKSB7DQoJCQkJCXB0eXBlX21hcHBp bmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9MM19JUFY0X0VYVF9VTktOT1dOOw0K CQkJCQlpbl90dW5uZWwgPSB0cnVlOw0KCQkJCX0gZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUs ICJJUFY0IiwgNCkgJiYNCgkJCQkJICAgIWluX3R1bm5lbCkNCgkJCQkJcHR5cGVfbWFwcGluZ1tp XS5zd19wdHlwZSB8PQ0KCQkJCQkJUlRFX1BUWVBFX0wzX0lQVjRfRVhUX1VOS05PV047DQoJCQkJ ZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJJUFY0IiwgNCkgJiYNCgkJCQkJIGluX3R1bm5l bCkNCgkJCQkJcHR5cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJCQkgICAgUlRFX1BUWVBF X0lOTkVSX0wzX0lQVjRfRVhUX1VOS05PV047DQoJCQkJZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5h bWUsICJJUFY2RlJBRyIsIDgpICYmDQoJCQkJCSAhaW5fdHVubmVsKSB7DQoJCQkJCXB0eXBlX21h cHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9MM19JUFY2X0VYVF9VTktOT1dO Ow0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZUEVfTDRf RlJBRzsNCgkJCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChuYW1lLCAiSVBWNkZSQUciLCA4KSAm Jg0KCQkJCQkgICBpbl90dW5uZWwpIHsNCgkJCQkJcHR5cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8 PQ0KCQkJCQkgICAgUlRFX1BUWVBFX0lOTkVSX0wzX0lQVjZfRVhUX1VOS05PV047DQoJCQkJCXB0 eXBlX21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9JTk5FUl9MNF9GUkFH Ow0KCQkJCX0gZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJPSVBWNiIsIDUpKSB7DQoJCQkJ CXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9MM19JUFY2X0VY VF9VTktOT1dOOw0KCQkJCQlpbl90dW5uZWwgPSB0cnVlOw0KCQkJCX0gZWxzZSBpZiAoIXN0cm5j YXNlY21wKG5hbWUsICJJUFY2IiwgNCkgJiYNCgkJCQkJICAgIWluX3R1bm5lbCkNCgkJCQkJcHR5 cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJCQkJUlRFX1BUWVBFX0wzX0lQVjZfRVhUX1VO S05PV047DQoJCQkJZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJJUFY2IiwgNCkgJiYNCgkJ CQkJIGluX3R1bm5lbCkNCgkJCQkJcHR5cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJCQkg ICAgUlRFX1BUWVBFX0lOTkVSX0wzX0lQVjZfRVhUX1VOS05PV047DQoJCQkJZWxzZSBpZiAoIXN0 cm5jYXNlY21wKG5hbWUsICJVRFAiLCAzKSAmJg0KCQkJCQkgIWluX3R1bm5lbCkNCgkJCQkJcHR5 cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJCQkJUlRFX1BUWVBFX0w0X1VEUDsNCgkJCQll bHNlIGlmICghc3RybmNhc2VjbXAobmFtZSwgIlVEUCIsIDMpICYmDQoJCQkJCSBpbl90dW5uZWwp DQoJCQkJCXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9JTk5F Ul9MNF9VRFA7DQoJCQkJZWxzZSBpZiAoIXN0cm5jYXNlY21wKG5hbWUsICJUQ1AiLCAzKSAmJg0K CQkJCQkgIWluX3R1bm5lbCkNCgkJCQkJcHR5cGVfbWFwcGluZ1tpXS5zd19wdHlwZSB8PQ0KCQkJ CQkJUlRFX1BUWVBFX0w0X1RDUDsNCgkJCQllbHNlIGlmICghc3RybmNhc2VjbXAobmFtZSwgIlRD UCIsIDMpICYmDQoJCQkJCSBpbl90dW5uZWwpDQoJCQkJCXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5 cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9JTk5FUl9MNF9UQ1A7DQoJCQkJZWxzZSBpZiAoIXN0cm5j YXNlY21wKG5hbWUsICJTQ1RQIiwgNCkgJiYNCgkJCQkJICFpbl90dW5uZWwpDQoJCQkJCXB0eXBl X21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9MNF9TQ1RQOw0KCQkJCWVs c2UgaWYgKCFzdHJuY2FzZWNtcChuYW1lLCAiU0NUUCIsIDQpICYmDQoJCQkJCSBpbl90dW5uZWwp DQoJCQkJCXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9JTk5F Ul9MNF9TQ1RQOw0KCQkJCWVsc2UgaWYgKCghc3RybmNhc2VjbXAobmFtZSwgIklDTVAiLCA0KSB8 fA0KCQkJCQkgICFzdHJuY2FzZWNtcChuYW1lLCAiSUNNUFY2IiwgNikpICYmDQoJCQkJCSAhaW5f dHVubmVsKQ0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZ UEVfTDRfSUNNUDsNCgkJCQllbHNlIGlmICgoIXN0cm5jYXNlY21wKG5hbWUsICJJQ01QIiwgNCkg fHwNCgkJCQkJICAhc3RybmNhc2VjbXAobmFtZSwgIklDTVBWNiIsIDYpKSAmJg0KCQkJCQkgaW5f dHVubmVsKQ0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZ UEVfSU5ORVJfTDRfSUNNUDsNCgkJCQllbHNlIGlmICghc3RybmNhc2VjbXAobmFtZSwgIkdUUEMi LCA0KSkgew0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZ UEVfVFVOTkVMX0dUUEM7DQoJCQkJCWluX3R1bm5lbCA9IHRydWU7DQoJCQkJfSBlbHNlIGlmICgh c3RybmNhc2VjbXAobmFtZSwgIkdUUFUiLCA0KSkgew0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3 X3B0eXBlIHw9DQoJCQkJCQlSVEVfUFRZUEVfVFVOTkVMX0dUUFU7DQoJCQkJCWluX3R1bm5lbCA9 IHRydWU7DQoJCQkJfSBlbHNlIGlmICghc3RybmNhc2VjbXAobmFtZSwgIkVTUCIsIDMpKSB7DQoJ CQkJCXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9UVU5ORUxf RVNQOw0KCQkJCQlpbl90dW5uZWwgPSB0cnVlOw0KCQkJCX0gZWxzZSBpZiAoIXN0cm5jYXNlY21w KG5hbWUsICJHUkVOQVQiLCA2KSkgew0KCQkJCQlwdHlwZV9tYXBwaW5nW2ldLnN3X3B0eXBlIHw9 DQoJCQkJCQlSVEVfUFRZUEVfVFVOTkVMX0dSRU5BVDsNCgkJCQkJaW5fdHVubmVsID0gdHJ1ZTsN CgkJCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChuYW1lLCAiTDJUUFYyQ1RMIiwgOSkgfHwNCgkJ CQkJICAgIXN0cm5jYXNlY21wKG5hbWUsICJMMlRQVjIiLCA2KSB8fA0KCQkJCQkgICAhc3RybmNh c2VjbXAobmFtZSwgIkwyVFBWMyIsIDYpKSB7DQoJCQkJCXB0eXBlX21hcHBpbmdbaV0uc3dfcHR5 cGUgfD0NCgkJCQkJCVJURV9QVFlQRV9UVU5ORUxfTDJUUDsNCgkJCQkJaW5fdHVubmVsID0gdHJ1 ZTsNCgkJCQl9DQoNCgkJCQlicmVhazsNCgkJCX0NCgkJfQ0KCX0NCg0KCXJldCA9IHJ0ZV9wbWRf aTQwZV9wdHlwZV9tYXBwaW5nX3VwZGF0ZShwb3J0X2lkLCBwdHlwZV9tYXBwaW5nLA0KCQkJCQkJ cHR5cGVfbnVtLCAwKTsNCglpZiAocmV0KQ0KCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8g dXBkYXRlIHB0eXBlIG1hcHBpbmcgdGFibGUuIik7DQoNCglydGVfZnJlZShwdHlwZV9tYXBwaW5n KTsNCglydGVfZnJlZShwdHlwZSk7DQoJcmV0dXJuIHJldDsNCn0NCg0Kdm9pZA0KaTQwZV91cGRh dGVfY3VzdG9taXplZF9pbmZvKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50OF90ICpwa2cs DQoJCQkgICAgdWludDMyX3QgcGtnX3NpemUsIGVudW0gcnRlX3BtZF9pNDBlX3BhY2thZ2Vfb3Ag b3ApDQp7DQoJc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYt PmRhdGEtPmRldl9wcml2YXRlKTsNCgl1aW50MzJfdCBwcm90b19udW07DQoJc3RydWN0IHJ0ZV9w bWRfaTQwZV9wcm90b19pbmZvICpwcm90bzsNCgl1aW50MzJfdCBidWZmX3NpemU7DQoJdWludDMy X3QgaTsNCglpbnQgcmV0Ow0KDQoJaWYgKG9wICE9IFJURV9QTURfSTQwRV9QS0dfT1BfV1JfQURE ICYmDQoJICAgIG9wICE9IFJURV9QTURfSTQwRV9QS0dfT1BfV1JfREVMKSB7DQoJCVBNRF9EUlZf TE9HKEVSUiwgIlVuc3VwcG9ydGVkIG9wZXJhdGlvbi4iKTsNCgkJcmV0dXJuOw0KCX0NCg0KCS8q IGdldCBpbmZvcm1hdGlvbiBhYm91dCBwcm90b2NvbCBudW1iZXIgKi8NCglyZXQgPSBydGVfcG1k X2k0MGVfZ2V0X2RkcF9pbmZvKHBrZywgcGtnX3NpemUsDQoJCQkJICAgICAgICh1aW50OF90ICop JnByb3RvX251bSwgc2l6ZW9mKHByb3RvX251bSksDQoJCQkJICAgICAgIFJURV9QTURfSTQwRV9Q S0dfSU5GT19QUk9UT0NPTF9OVU0pOw0KCWlmIChyZXQpIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAi RmFpbGVkIHRvIGdldCBwcm90b2NvbCBudW1iZXIiKTsNCgkJcmV0dXJuOw0KCX0NCglpZiAoIXBy b3RvX251bSkgew0KCQlQTURfRFJWX0xPRyhJTkZPLCAiTm8gbmV3IHByb3RvY29sIGFkZGVkIik7 DQoJCXJldHVybjsNCgl9DQoNCglidWZmX3NpemUgPSBwcm90b19udW0gKiBzaXplb2Yoc3RydWN0 IHJ0ZV9wbWRfaTQwZV9wcm90b19pbmZvKTsNCglwcm90byA9IHJ0ZV96bWFsbG9jKCJuZXdfcHJv dG8iLCBidWZmX3NpemUsIDApOw0KCWlmICghcHJvdG8pIHsNCgkJUE1EX0RSVl9MT0coRVJSLCAi RmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0KCQlyZXR1cm47DQoJfQ0KDQoJLyogZ2V0IGlu Zm9ybWF0aW9uIGFib3V0IHByb3RvY29sIGxpc3QgKi8NCglyZXQgPSBydGVfcG1kX2k0MGVfZ2V0 X2RkcF9pbmZvKHBrZywgcGtnX3NpemUsDQoJCQkJCSh1aW50OF90ICopcHJvdG8sIGJ1ZmZfc2l6 ZSwNCgkJCQkJUlRFX1BNRF9JNDBFX1BLR19JTkZPX1BST1RPQ09MX0xJU1QpOw0KCWlmIChyZXQp IHsNCgkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCBwcm90b2NvbCBsaXN0Iik7DQoJ CXJ0ZV9mcmVlKHByb3RvKTsNCgkJcmV0dXJuOw0KCX0NCg0KCS8qIENoZWNrIGlmIEdUUCBpcyBz dXBwb3J0ZWQuICovDQoJZm9yIChpID0gMDsgaSA8IHByb3RvX251bTsgaSsrKSB7DQoJCWlmICgh c3RybmNtcChwcm90b1tpXS5uYW1lLCAiR1RQIiwgMykpIHsNCgkJCWlmIChvcCA9PSBSVEVfUE1E X0k0MEVfUEtHX09QX1dSX0FERCkNCgkJCQlwZi0+Z3RwX3N1cHBvcnQgPSB0cnVlOw0KCQkJZWxz ZQ0KCQkJCXBmLT5ndHBfc3VwcG9ydCA9IGZhbHNlOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoNCgkv KiBDaGVjayBpZiBFU1AgaXMgc3VwcG9ydGVkLiAqLw0KCWZvciAoaSA9IDA7IGkgPCBwcm90b19u dW07IGkrKykgew0KCQlpZiAoIXN0cm5jbXAocHJvdG9baV0ubmFtZSwgIkVTUCIsIDMpKSB7DQoJ CQlpZiAob3AgPT0gUlRFX1BNRF9JNDBFX1BLR19PUF9XUl9BREQpDQoJCQkJcGYtPmVzcF9zdXBw b3J0ID0gdHJ1ZTsNCgkJCWVsc2UNCgkJCQlwZi0+ZXNwX3N1cHBvcnQgPSBmYWxzZTsNCgkJCWJy ZWFrOw0KCQl9DQoJfQ0KDQoJLyogVXBkYXRlIGN1c3RvbWl6ZWQgcGN0eXBlIGluZm8gKi8NCgly ZXQgPSBpNDBlX3VwZGF0ZV9jdXN0b21pemVkX3BjdHlwZShkZXYsIHBrZywgcGtnX3NpemUsDQoJ CQkJCSAgICBwcm90b19udW0sIHByb3RvLCBvcCk7DQoJaWYgKHJldCkNCgkJUE1EX0RSVl9MT0co SU5GTywgIk5vIHBjdHlwZSBpcyB1cGRhdGVkLiIpOw0KDQoJLyogVXBkYXRlIGN1c3RvbWl6ZWQg cHR5cGUgaW5mbyAqLw0KCXJldCA9IGk0MGVfdXBkYXRlX2N1c3RvbWl6ZWRfcHR5cGUoZGV2LCBw a2csIHBrZ19zaXplLA0KCQkJCQkgICBwcm90b19udW0sIHByb3RvLCBvcCk7DQoJaWYgKHJldCkN CgkJUE1EX0RSVl9MT0coSU5GTywgIk5vIHB0eXBlIGlzIHVwZGF0ZWQuIik7DQoNCglydGVfZnJl ZShwcm90byk7DQp9DQoNCi8qIENyZWF0ZSBhIFFpblEgY2xvdWQgZmlsdGVyDQogKg0KICogVGhl IEZvcnR2aWxsZSBOSUMgaGFzIGxpbWl0ZWQgcmVzb3VyY2VzIGZvciB0dW5uZWwgZmlsdGVycywN CiAqIHNvIHdlIGNhbiBvbmx5IHJldXNlIGV4aXN0aW5nIGZpbHRlcnMuDQogKg0KICogSW4gc3Rl cCAxIHdlIGRlZmluZSB3aGljaCBGaWVsZCBWZWN0b3IgZmllbGRzIGNhbiBiZSB1c2VkIGZvcg0K ICogZmlsdGVyIHR5cGVzLg0KICogQXMgd2UgZG8gbm90IGhhdmUgdGhlIGlubmVyIHRhZyBkZWZp bmVkIGFzIGEgZmllbGQsDQogKiB3ZSBoYXZlIHRvIGRlZmluZSBpdCBmaXJzdCwgYnkgcmV1c2lu ZyBvbmUgb2YgTDEgZW50cmllcy4NCiAqDQogKiBJbiBzdGVwIDIgd2UgYXJlIHJlcGxhY2luZyBv bmUgb2YgZXhpc3RpbmcgZmlsdGVyIHR5cGVzIHdpdGgNCiAqIGEgbmV3IG9uZSBmb3IgUWluUS4N CiAqIEFzIHdlIHJldXNpbmcgTDEgYW5kIHJlcGxhY2luZyBMMiwgc29tZSBvZiB0aGUgZGVmYXVs dCBmaWx0ZXINCiAqIHR5cGVzIHdpbGwgZGlzYXBwZWFyLHdoaWNoIGRlcGVuZHMgb24gTDEgYW5k IEwyIGVudHJpZXMgd2UgcmV1c2UuDQogKg0KICogU3RlcCAxOiBDcmVhdGUgTDEgZmlsdGVyIG9m IG91dGVyIHZsYW4gKDEyYikgKyBpbm5lciB2bGFuICgxMmIpDQogKg0KICogMS4JQ3JlYXRlIEwx IGZpbHRlciBvZiBvdXRlciB2bGFuICgxMmIpIHdoaWNoIHdpbGwgYmUgaW4gdXNlDQogKgkJbGF0 ZXIgd2hlbiB3ZSBkZWZpbmUgdGhlIGNsb3VkIGZpbHRlci4NCiAqCWEuCVZhbGlkX2ZsYWdzLnJl cGxhY2VfY2xvdWQgPSAwDQogKgliLglPbGRfZmlsdGVyID0gMTAgKFN0YWdfSW5uZXJfVmxhbikN CiAqCWMuCU5ld19maWx0ZXIgPSAweDEwDQogKglkLglUUiBiaXQgPSAweGZmIChvcHRpb25hbCwg bm90IHVzZWQgaGVyZSkNCiAqCWUuCUJ1ZmZlciDigJMgMiBlbnRyaWVzOg0KICoJCWkuCUJ5dGUg MCA9IDggKG91dGVyIHZsYW4gRlYgaW5kZXgpLg0KICoJCQlCeXRlIDEgPSAwIChyc3YpDQogKgkJ CUJ5dGUgMi0zID0gMHgwZmZmDQogKgkJaWkuCUJ5dGUgMCA9IDM3IChpbm5lciB2bGFuIEZWIGlu ZGV4KS4NCiAqCQkJQnl0ZSAxID0wIChyc3YpDQogKgkJCUJ5dGUgMi0zID0gMHgwZmZmDQogKg0K ICogU3RlcCAyOg0KICogMi4JQ3JlYXRlIGNsb3VkIGZpbHRlciB1c2luZyB0d28gTDEgZmlsdGVy cyBlbnRyaWVzOiBzdGFnIGFuZA0KICoJCW5ldyBmaWx0ZXIob3V0ZXIgdmxhbisgaW5uZXIgdmxh bikNCiAqCWEuCVZhbGlkX2ZsYWdzLnJlcGxhY2VfY2xvdWQgPSAxDQogKgliLglPbGRfZmlsdGVy ID0gMSAoaW5zdGVhZCBvZiBvdXRlciBJUCkNCiAqCWMuCU5ld19maWx0ZXIgPSAweDEwDQogKglk LglCdWZmZXIg4oCTIDIgZW50cmllczoNCiAqCQlpLglCeXRlIDAgPSAweDgwIHwgNyAodmFsaWQg fCBTdGFnKS4NCiAqCQkJQnl0ZSAxLTMgPSAwIChyc3YpDQogKgkJaWkuCUJ5dGUgOCA9IDB4ODAg fCAweDEwICh2YWxpZCB8IG5ldyBsMSBmaWx0ZXIgc3RlcDEpDQogKgkJCUJ5dGUgOS0xMSA9IDAg KHJzdikNCiAqLw0Kc3RhdGljIGludA0KaTQwZV9jbG91ZF9maWx0ZXJfcWlucV9jcmVhdGUoc3Ry dWN0IGk0MGVfcGYgKnBmKQ0Kew0KCWludCByZXQgPSAtRU5PVFNVUDsNCglzdHJ1Y3QgaTQwZV9h cWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJzX2NtZCAgZmlsdGVyX3JlcGxhY2U7DQoJc3RydWN0IGk0 MGVfYXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWRfYnVmICBmaWx0ZXJfcmVwbGFjZV9idWY7 DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYgPSAoKHN0cnVjdCBpNDBlX2FkYXB0ZXIgKilody0+YmFjayktPmV0aF9kZXY7 DQoNCglpZiAocGYtPnN1cHBvcnRfbXVsdGlfZHJpdmVyKSB7DQoJCVBNRF9EUlZfTE9HKEVSUiwg IlJlcGxhY2UgY2xvdWQgZmlsdGVyIGlzIG5vdCBzdXBwb3J0ZWQuIik7DQoJCXJldHVybiByZXQ7 DQoJfQ0KDQoJLyogSW5pdCAqLw0KCW1lbXNldCgmZmlsdGVyX3JlcGxhY2UsIDAsDQoJICAgICAg IHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVwbGFjZV9jbG91ZF9maWx0ZXJzX2NtZCkpOw0KCW1l bXNldCgmZmlsdGVyX3JlcGxhY2VfYnVmLCAwLA0KCSAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf YXFjX3JlcGxhY2VfY2xvdWRfZmlsdGVyc19jbWRfYnVmKSk7DQoNCgkvKiBjcmVhdGUgTDEgZmls dGVyICovDQoJZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90eXBlID0NCgkJSTQwRV9BUUNfUkVQ TEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfU1RBR19JVkxBTjsNCglmaWx0ZXJfcmVwbGFjZS5uZXdf ZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTA7DQoJZmlsdGVyX3Jl cGxhY2UudHJfYml0ID0gMDsNCg0KCS8qIFByZXBhcmUgdGhlIGJ1ZmZlciwgMiBlbnRyaWVzICov DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbMF0gPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NN RF9JTlBVVF9GVl9WTEFOOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzBdIHw9DQoJCUk0MEVf QVFDX1JFUExBQ0VfQ0xPVURfQ01EX0lOUFVUX1ZBTElEQVRFRDsNCgkvKiBGaWVsZCBWZWN0b3Ig MTJiIG1hc2sgKi8NCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVsyXSA9IDB4ZmY7DQoJZmlsdGVy X3JlcGxhY2VfYnVmLmRhdGFbM10gPSAweDBmOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzRd ID0NCgkJSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZfSU5ORVJfVkxBTjsNCglm aWx0ZXJfcmVwbGFjZV9idWYuZGF0YVs0XSB8PQ0KCQlJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0NN RF9JTlBVVF9WQUxJREFURUQ7DQoJLyogRmllbGQgVmVjdG9yIDEyYiBtYXNrICovDQoJZmlsdGVy X3JlcGxhY2VfYnVmLmRhdGFbNl0gPSAweGZmOw0KCWZpbHRlcl9yZXBsYWNlX2J1Zi5kYXRhWzdd ID0gMHgwZjsNCglyZXQgPSBpNDBlX2FxX3JlcGxhY2VfY2xvdWRfZmlsdGVycyhodywgJmZpbHRl cl9yZXBsYWNlLA0KCQkJJmZpbHRlcl9yZXBsYWNlX2J1Zik7DQoJaWYgKHJldCAhPSBJNDBFX1NV Q0NFU1MpDQoJCXJldHVybiByZXQ7DQoNCglpZiAoZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90 eXBlICE9DQoJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSkNCgkJUE1EX0RSVl9M T0coV0FSTklORywgImk0MGUgZGV2aWNlICVzIGNoYW5nZWQgY2xvdWQgbDEgdHlwZS4iDQoJCQkg ICAgIiBvcmlnaW5hbDogMHgleCwgbmV3OiAweCV4IiwNCgkJCSAgICBkZXYtPmRldmljZS0+bmFt ZSwNCgkJCSAgICBmaWx0ZXJfcmVwbGFjZS5vbGRfZmlsdGVyX3R5cGUsDQoJCQkgICAgZmlsdGVy X3JlcGxhY2UubmV3X2ZpbHRlcl90eXBlKTsNCg0KCS8qIEFwcGx5IHRoZSBzZWNvbmQgTDIgY2xv dWQgZmlsdGVyICovDQoJbWVtc2V0KCZmaWx0ZXJfcmVwbGFjZSwgMCwNCgkgICAgICAgc2l6ZW9m KHN0cnVjdCBpNDBlX2FxY19yZXBsYWNlX2Nsb3VkX2ZpbHRlcnNfY21kKSk7DQoJbWVtc2V0KCZm aWx0ZXJfcmVwbGFjZV9idWYsIDAsDQoJICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfcmVw bGFjZV9jbG91ZF9maWx0ZXJzX2NtZF9idWYpKTsNCg0KCS8qIGNyZWF0ZSBMMiBmaWx0ZXIsIGlu cHV0IGZvciBMMiBmaWx0ZXIgd2lsbCBiZSBMMSBmaWx0ZXIgICovDQoJZmlsdGVyX3JlcGxhY2Uu dmFsaWRfZmxhZ3MgPSBJNDBFX0FRQ19SRVBMQUNFX0NMT1VEX0ZJTFRFUjsNCglmaWx0ZXJfcmVw bGFjZS5vbGRfZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSX09JUDsNCglm aWx0ZXJfcmVwbGFjZS5uZXdfZmlsdGVyX3R5cGUgPSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVS XzBYMTA7DQoNCgkvKiBQcmVwYXJlIHRoZSBidWZmZXIsIDIgZW50cmllcyAqLw0KCWZpbHRlcl9y ZXBsYWNlX2J1Zi5kYXRhWzBdID0gSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfRlZf U1RBRzsNCglmaWx0ZXJfcmVwbGFjZV9idWYuZGF0YVswXSB8PQ0KCQlJNDBFX0FRQ19SRVBMQUNF X0NMT1VEX0NNRF9JTlBVVF9WQUxJREFURUQ7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRhdGFbNF0g PSBJNDBFX0FRQ19BRERfQ0xPVURfRklMVEVSXzBYMTA7DQoJZmlsdGVyX3JlcGxhY2VfYnVmLmRh dGFbNF0gfD0NCgkJSTQwRV9BUUNfUkVQTEFDRV9DTE9VRF9DTURfSU5QVVRfVkFMSURBVEVEOw0K CXJldCA9IGk0MGVfYXFfcmVwbGFjZV9jbG91ZF9maWx0ZXJzKGh3LCAmZmlsdGVyX3JlcGxhY2Us DQoJCQkmZmlsdGVyX3JlcGxhY2VfYnVmKTsNCglpZiAoIXJldCAmJiAoZmlsdGVyX3JlcGxhY2Uu b2xkX2ZpbHRlcl90eXBlICE9DQoJCSAgICAgZmlsdGVyX3JlcGxhY2UubmV3X2ZpbHRlcl90eXBl KSkNCgkJUE1EX0RSVl9MT0coV0FSTklORywgImk0MGUgZGV2aWNlICVzIGNoYW5nZWQgY2xvdWQg ZmlsdGVyIHR5cGUuIg0KCQkJICAgICIgb3JpZ2luYWw6IDB4JXgsIG5ldzogMHgleCIsDQoJCQkg ICAgZGV2LT5kZXZpY2UtPm5hbWUsDQoJCQkgICAgZmlsdGVyX3JlcGxhY2Uub2xkX2ZpbHRlcl90 eXBlLA0KCQkJICAgIGZpbHRlcl9yZXBsYWNlLm5ld19maWx0ZXJfdHlwZSk7DQoNCglyZXR1cm4g cmV0Ow0KfQ0KDQppbnQNCmk0MGVfcnNzX2NvbmZfaW5pdChzdHJ1Y3QgaTQwZV9ydGVfZmxvd19y c3NfY29uZiAqb3V0LA0KCQkgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX3JzcyAqaW4p DQp7DQoJaWYgKGluLT5rZXlfbGVuID4gUlRFX0RJTShvdXQtPmtleSkgfHwNCgkgICAgaW4tPnF1 ZXVlX251bSA+IFJURV9ESU0ob3V0LT5xdWV1ZSkpDQoJCXJldHVybiAtRUlOVkFMOw0KCWlmICgh aW4tPmtleSAmJiBpbi0+a2V5X2xlbikNCgkJcmV0dXJuIC1FSU5WQUw7DQoJb3V0LT5jb25mID0g KHN0cnVjdCBydGVfZmxvd19hY3Rpb25fcnNzKXsNCgkJLmZ1bmMgPSBpbi0+ZnVuYywNCgkJLmxl dmVsID0gaW4tPmxldmVsLA0KCQkudHlwZXMgPSBpbi0+dHlwZXMsDQoJCS5rZXlfbGVuID0gaW4t PmtleV9sZW4sDQoJCS5xdWV1ZV9udW0gPSBpbi0+cXVldWVfbnVtLA0KCQkucXVldWUgPSBtZW1j cHkob3V0LT5xdWV1ZSwgaW4tPnF1ZXVlLA0KCQkJCXNpemVvZigqaW4tPnF1ZXVlKSAqIGluLT5x dWV1ZV9udW0pLA0KCX07DQoJaWYgKGluLT5rZXkpDQoJCW91dC0+Y29uZi5rZXkgPSBtZW1jcHko b3V0LT5rZXksIGluLT5rZXksIGluLT5rZXlfbGVuKTsNCglyZXR1cm4gMDsNCn0NCg0KLyogV3Jp dGUgSEVOQSByZWdpc3RlciB0byBlbmFibGUgaGFzaCAqLw0Kc3RhdGljIGludA0KaTQwZV9yc3Nf aGFzaF9zZXQoc3RydWN0IGk0MGVfcGYgKnBmLCBzdHJ1Y3QgaTQwZV9ydGVfZmxvd19yc3NfY29u ZiAqcnNzX2NvbmYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7 DQoJdWludDhfdCAqa2V5ID0gKHZvaWQgKikodWludHB0cl90KXJzc19jb25mLT5jb25mLmtleTsN Cgl1aW50NjRfdCBoZW5hOw0KCWludCByZXQ7DQoNCglyZXQgPSBpNDBlX3NldF9yc3Nfa2V5KHBm LT5tYWluX3ZzaSwga2V5LA0KCQkJICAgICAgIHJzc19jb25mLT5jb25mLmtleV9sZW4pOw0KCWlm IChyZXQpDQoJCXJldHVybiByZXQ7DQoNCgloZW5hID0gaTQwZV9jb25maWdfaGVuYShwZi0+YWRh cHRlciwgcnNzX2NvbmYtPmNvbmYudHlwZXMpOw0KCWk0MGVfd3JpdGVfcnhfY3RsKGh3LCBJNDBF X1BGUUZfSEVOQSgwKSwgKHVpbnQzMl90KWhlbmEpOw0KCWk0MGVfd3JpdGVfcnhfY3RsKGh3LCBJ NDBFX1BGUUZfSEVOQSgxKSwgKHVpbnQzMl90KShoZW5hID4+IDMyKSk7DQoJSTQwRV9XUklURV9G TFVTSChodyk7DQoNCglyZXR1cm4gMDsNCn0NCg0KLyogQ29uZmlndXJlIGhhc2ggaW5wdXQgc2V0 ICovDQpzdGF0aWMgaW50DQppNDBlX3Jzc19jb25mX2hhc2hfaW5zZXQoc3RydWN0IGk0MGVfcGYg KnBmLCB1aW50NjRfdCB0eXBlcykNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RP X0hXKHBmKTsNCglzdHJ1Y3QgcnRlX2V0aF9pbnB1dF9zZXRfY29uZiBjb25mOw0KCXVpbnQ2NF90 IG1hc2swOw0KCWludCByZXQgPSAwOw0KCXVpbnQzMl90IGo7DQoJaW50IGk7DQoJc3RhdGljIGNv bnN0IHN0cnVjdCB7DQoJCXVpbnQ2NF90IHR5cGU7DQoJCWVudW0gcnRlX2V0aF9pbnB1dF9zZXRf ZmllbGQgZmllbGQ7DQoJfSBpbnNldF9tYXRjaF90YWJsZVtdID0gew0KCQl7RVRIX1JTU19GUkFH X0lQVjQgfCBFVEhfUlNTX0wzX1NSQ19PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRfTDNfU1JD X0lQNH0sDQoJCXtFVEhfUlNTX0ZSQUdfSVBWNCB8IEVUSF9SU1NfTDNfRFNUX09OTFksDQoJCQlS VEVfRVRIX0lOUFVUX1NFVF9MM19EU1RfSVA0fSwNCgkJe0VUSF9SU1NfRlJBR19JUFY0IHwgRVRI X1JTU19MNF9TUkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX1VOS05PV059LA0KCQl7RVRI X1JTU19GUkFHX0lQVjQgfCBFVEhfUlNTX0w0X0RTVF9PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9T RVRfVU5LTk9XTn0sDQoNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY0X1RDUCB8IEVUSF9SU1NfTDNf U1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MM19TUkNfSVA0fSwNCgkJe0VUSF9SU1Nf Tk9ORlJBR19JUFY0X1RDUCB8IEVUSF9SU1NfTDNfRFNUX09OTFksDQoJCQlSVEVfRVRIX0lOUFVU X1NFVF9MM19EU1RfSVA0fSwNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY0X1RDUCB8IEVUSF9SU1Nf TDRfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MNF9UQ1BfU1JDX1BPUlR9LA0KCQl7 RVRIX1JTU19OT05GUkFHX0lQVjRfVENQIHwgRVRIX1JTU19MNF9EU1RfT05MWSwNCgkJCVJURV9F VEhfSU5QVVRfU0VUX0w0X1RDUF9EU1RfUE9SVH0sDQoNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY0 X1VEUCB8IEVUSF9SU1NfTDNfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MM19TUkNf SVA0fSwNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY0X1VEUCB8IEVUSF9SU1NfTDNfRFNUX09OTFks DQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MM19EU1RfSVA0fSwNCgkJe0VUSF9SU1NfTk9ORlJBR19J UFY0X1VEUCB8IEVUSF9SU1NfTDRfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MNF9V RFBfU1JDX1BPUlR9LA0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjRfVURQIHwgRVRIX1JTU19MNF9E U1RfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0w0X1VEUF9EU1RfUE9SVH0sDQoNCgkJe0VU SF9SU1NfTk9ORlJBR19JUFY0X1NDVFAgfCBFVEhfUlNTX0wzX1NSQ19PTkxZLA0KCQkJUlRFX0VU SF9JTlBVVF9TRVRfTDNfU1JDX0lQNH0sDQoJCXtFVEhfUlNTX05PTkZSQUdfSVBWNF9TQ1RQIHwg RVRIX1JTU19MM19EU1RfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0wzX0RTVF9JUDR9LA0K CQl7RVRIX1JTU19OT05GUkFHX0lQVjRfU0NUUCB8IEVUSF9SU1NfTDRfU1JDX09OTFksDQoJCQlS VEVfRVRIX0lOUFVUX1NFVF9MNF9TQ1RQX1NSQ19QT1JUfSwNCgkJe0VUSF9SU1NfTk9ORlJBR19J UFY0X1NDVFAgfCBFVEhfUlNTX0w0X0RTVF9PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRfTDRf U0NUUF9EU1RfUE9SVH0sDQoNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY0X09USEVSIHwgRVRIX1JT U19MM19TUkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0wzX1NSQ19JUDR9LA0KCQl7RVRI X1JTU19OT05GUkFHX0lQVjRfT1RIRVIgfCBFVEhfUlNTX0wzX0RTVF9PTkxZLA0KCQkJUlRFX0VU SF9JTlBVVF9TRVRfTDNfRFNUX0lQNH0sDQoJCXtFVEhfUlNTX05PTkZSQUdfSVBWNF9PVEhFUiB8 IEVUSF9SU1NfTDRfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9VTktOT1dOfSwNCgkJ e0VUSF9SU1NfTk9ORlJBR19JUFY0X09USEVSIHwgRVRIX1JTU19MNF9EU1RfT05MWSwNCgkJCVJU RV9FVEhfSU5QVVRfU0VUX1VOS05PV059LA0KDQoJCXtFVEhfUlNTX0ZSQUdfSVBWNiB8IEVUSF9S U1NfTDNfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MM19TUkNfSVA2fSwNCgkJe0VU SF9SU1NfRlJBR19JUFY2IHwgRVRIX1JTU19MM19EU1RfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRf U0VUX0wzX0RTVF9JUDZ9LA0KCQl7RVRIX1JTU19GUkFHX0lQVjYgfCBFVEhfUlNTX0w0X1NSQ19P TkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRfVU5LTk9XTn0sDQoJCXtFVEhfUlNTX0ZSQUdfSVBW NiB8IEVUSF9SU1NfTDRfRFNUX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9VTktOT1dOfSwN Cg0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfVENQIHwgRVRIX1JTU19MM19TUkNfT05MWSwNCgkJ CVJURV9FVEhfSU5QVVRfU0VUX0wzX1NSQ19JUDZ9LA0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZf VENQIHwgRVRIX1JTU19MM19EU1RfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0wzX0RTVF9J UDZ9LA0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfVENQIHwgRVRIX1JTU19MNF9TUkNfT05MWSwN CgkJCVJURV9FVEhfSU5QVVRfU0VUX0w0X1RDUF9TUkNfUE9SVH0sDQoJCXtFVEhfUlNTX05PTkZS QUdfSVBWNl9UQ1AgfCBFVEhfUlNTX0w0X0RTVF9PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRf TDRfVENQX0RTVF9QT1JUfSwNCg0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfVURQIHwgRVRIX1JT U19MM19TUkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0wzX1NSQ19JUDZ9LA0KCQl7RVRI X1JTU19OT05GUkFHX0lQVjZfVURQIHwgRVRIX1JTU19MM19EU1RfT05MWSwNCgkJCVJURV9FVEhf SU5QVVRfU0VUX0wzX0RTVF9JUDZ9LA0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfVURQIHwgRVRI X1JTU19MNF9TUkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX0w0X1VEUF9TUkNfUE9SVH0s DQoJCXtFVEhfUlNTX05PTkZSQUdfSVBWNl9VRFAgfCBFVEhfUlNTX0w0X0RTVF9PTkxZLA0KCQkJ UlRFX0VUSF9JTlBVVF9TRVRfTDRfVURQX0RTVF9QT1JUfSwNCg0KCQl7RVRIX1JTU19OT05GUkFH X0lQVjZfU0NUUCB8IEVUSF9SU1NfTDNfU1JDX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9M M19TUkNfSVA2fSwNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY2X1NDVFAgfCBFVEhfUlNTX0wzX0RT VF9PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRfTDNfRFNUX0lQNn0sDQoJCXtFVEhfUlNTX05P TkZSQUdfSVBWNl9TQ1RQIHwgRVRIX1JTU19MNF9TUkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRf U0VUX0w0X1NDVFBfU1JDX1BPUlR9LA0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfU0NUUCB8IEVU SF9SU1NfTDRfRFNUX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9MNF9TQ1RQX0RTVF9QT1JU fSwNCg0KCQl7RVRIX1JTU19OT05GUkFHX0lQVjZfT1RIRVIgfCBFVEhfUlNTX0wzX1NSQ19PTkxZ LA0KCQkJUlRFX0VUSF9JTlBVVF9TRVRfTDNfU1JDX0lQNn0sDQoJCXtFVEhfUlNTX05PTkZSQUdf SVBWNl9PVEhFUiB8IEVUSF9SU1NfTDNfRFNUX09OTFksDQoJCQlSVEVfRVRIX0lOUFVUX1NFVF9M M19EU1RfSVA2fSwNCgkJe0VUSF9SU1NfTk9ORlJBR19JUFY2X09USEVSIHwgRVRIX1JTU19MNF9T UkNfT05MWSwNCgkJCVJURV9FVEhfSU5QVVRfU0VUX1VOS05PV059LA0KCQl7RVRIX1JTU19OT05G UkFHX0lQVjZfT1RIRVIgfCBFVEhfUlNTX0w0X0RTVF9PTkxZLA0KCQkJUlRFX0VUSF9JTlBVVF9T RVRfVU5LTk9XTn0sDQoJfTsNCg0KCW1hc2swID0gdHlwZXMgJiBwZi0+YWRhcHRlci0+Zmxvd190 eXBlc19tYXNrOw0KCWNvbmYub3AgPSBSVEVfRVRIX0lOUFVUX1NFVF9TRUxFQ1Q7DQoJY29uZi5p bnNldF9zaXplID0gMDsNCglmb3IgKGkgPSBSVEVfRVRIX0ZMT1dfVU5LTk9XTiArIDE7IGkgPCBS VEVfRVRIX0ZMT1dfTUFYOyBpKyspIHsNCgkJaWYgKG1hc2swICYgKDFVTEwgPDwgaSkpIHsNCgkJ CWNvbmYuZmxvd190eXBlID0gaTsNCgkJCWJyZWFrOw0KCQl9DQoJfQ0KDQoJZm9yIChqID0gMDsg aiA8IFJURV9ESU0oaW5zZXRfbWF0Y2hfdGFibGUpOyBqKyspIHsNCgkJaWYgKCh0eXBlcyAmIGlu c2V0X21hdGNoX3RhYmxlW2pdLnR5cGUpID09DQoJCSAgICBpbnNldF9tYXRjaF90YWJsZVtqXS50 eXBlKSB7DQoJCQlpZiAoaW5zZXRfbWF0Y2hfdGFibGVbal0uZmllbGQgPT0NCgkJCSAgICBSVEVf RVRIX0lOUFVUX1NFVF9VTktOT1dOKQ0KCQkJCXJldHVybiAtRUlOVkFMOw0KDQoJCQljb25mLmZp ZWxkW2NvbmYuaW5zZXRfc2l6ZV0gPQ0KCQkJCWluc2V0X21hdGNoX3RhYmxlW2pdLmZpZWxkOw0K CQkJY29uZi5pbnNldF9zaXplKys7DQoJCX0NCgl9DQoNCglpZiAoY29uZi5pbnNldF9zaXplKSB7 DQoJCXJldCA9IGk0MGVfaGFzaF9maWx0ZXJfaW5zZXRfc2VsZWN0KGh3LCAmY29uZik7DQoJCWlm IChyZXQpDQoJCQlyZXR1cm4gcmV0Ow0KCX0NCg0KCXJldHVybiByZXQ7DQp9DQoNCi8qIExvb2sg dXAgdGhlIGNvbmZsaWN0ZWQgcnVsZSB0aGVuIG1hcmsgaXQgYXMgaW52YWxpZCAqLw0Kc3RhdGlj IHZvaWQNCmk0MGVfcnNzX21hcmtfaW52YWxpZF9ydWxlKHN0cnVjdCBpNDBlX3BmICpwZiwNCgkJ c3RydWN0IGk0MGVfcnRlX2Zsb3dfcnNzX2NvbmYgKmNvbmYpDQp7DQoJc3RydWN0IGk0MGVfcnNz X2ZpbHRlciAqcnNzX2l0ZW07DQoJdWludDY0X3QgcnNzX2luc2V0Ow0KDQoJLyogQ2xlYXIgaW5w dXQgc2V0IGJpdHMgYmVmb3JlIGNvbXBhcmluZyB0aGUgcGN0eXBlICovDQoJcnNzX2luc2V0ID0g fihFVEhfUlNTX0wzX1NSQ19PTkxZIHwgRVRIX1JTU19MM19EU1RfT05MWSB8DQoJCUVUSF9SU1Nf TDRfU1JDX09OTFkgfCBFVEhfUlNTX0w0X0RTVF9PTkxZKTsNCg0KCS8qIExvb2sgdXAgdGhlIGNv bmZsaWN0ZWQgcnVsZSB0aGVuIG1hcmsgaXQgYXMgaW52YWxpZCAqLw0KCVRBSUxRX0ZPUkVBQ0go cnNzX2l0ZW0sICZwZi0+cnNzX2NvbmZpZ19saXN0LCBuZXh0KSB7DQoJCWlmICghcnNzX2l0ZW0t PnJzc19maWx0ZXJfaW5mby52YWxpZCkNCgkJCWNvbnRpbnVlOw0KDQoJCWlmIChjb25mLT5jb25m LnF1ZXVlX251bSAmJg0KCQkgICAgcnNzX2l0ZW0tPnJzc19maWx0ZXJfaW5mby5jb25mLnF1ZXVl X251bSkNCgkJCXJzc19pdGVtLT5yc3NfZmlsdGVyX2luZm8udmFsaWQgPSBmYWxzZTsNCg0KCQlp ZiAoY29uZi0+Y29uZi50eXBlcyAmJg0KCQkgICAgKHJzc19pdGVtLT5yc3NfZmlsdGVyX2luZm8u Y29uZi50eXBlcyAmDQoJCSAgICByc3NfaW5zZXQpID09DQoJCSAgICAoY29uZi0+Y29uZi50eXBl cyAmIHJzc19pbnNldCkpDQoJCQlyc3NfaXRlbS0+cnNzX2ZpbHRlcl9pbmZvLnZhbGlkID0gZmFs c2U7DQoNCgkJaWYgKGNvbmYtPmNvbmYuZnVuYyA9PQ0KCQkgICAgUlRFX0VUSF9IQVNIX0ZVTkNU SU9OX1NJTVBMRV9YT1IgJiYNCgkJICAgIHJzc19pdGVtLT5yc3NfZmlsdGVyX2luZm8uY29uZi5m dW5jID09DQoJCSAgICBSVEVfRVRIX0hBU0hfRlVOQ1RJT05fU0lNUExFX1hPUikNCgkJCXJzc19p dGVtLT5yc3NfZmlsdGVyX2luZm8udmFsaWQgPSBmYWxzZTsNCgl9DQp9DQoNCi8qIENvbmZpZ3Vy ZSBSU1MgaGFzaCBmdW5jdGlvbiAqLw0Kc3RhdGljIGludA0KaTQwZV9yc3NfY29uZmlnX2hhc2hf ZnVuY3Rpb24oc3RydWN0IGk0MGVfcGYgKnBmLA0KCQlzdHJ1Y3QgaTQwZV9ydGVfZmxvd19yc3Nf Y29uZiAqY29uZikNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RPX0hXKHBmKTsN Cgl1aW50MzJfdCByZWcsIGk7DQoJdWludDY0X3QgbWFzazA7DQoJdWludDE2X3QgajsNCg0KCWlm IChjb25mLT5jb25mLmZ1bmMgPT0gUlRFX0VUSF9IQVNIX0ZVTkNUSU9OX1NJTVBMRV9YT1IpIHsN CgkJcmVnID0gaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9HTFFGX0NUTCk7DQoJCWlmICghKHJl ZyAmIEk0MEVfR0xRRl9DVExfSFRPRVBfTUFTSykpIHsNCgkJCVBNRF9EUlZfTE9HKERFQlVHLCAi SGFzaCBmdW5jdGlvbiBhbHJlYWR5IHNldCB0byBTaW1wbGUgWE9SIik7DQoJCQlJNDBFX1dSSVRF X0ZMVVNIKGh3KTsNCgkJCWk0MGVfcnNzX21hcmtfaW52YWxpZF9ydWxlKHBmLCBjb25mKTsNCg0K CQkJcmV0dXJuIDA7DQoJCX0NCgkJcmVnICY9IH5JNDBFX0dMUUZfQ1RMX0hUT0VQX01BU0s7DQoN CgkJaTQwZV93cml0ZV9nbG9iYWxfcnhfY3RsKGh3LCBJNDBFX0dMUUZfQ1RMLCByZWcpOw0KCQlJ NDBFX1dSSVRFX0ZMVVNIKGh3KTsNCgkJaTQwZV9yc3NfbWFya19pbnZhbGlkX3J1bGUocGYsIGNv bmYpOw0KCX0gZWxzZSBpZiAoY29uZi0+Y29uZi5mdW5jID09DQoJCSAgIFJURV9FVEhfSEFTSF9G VU5DVElPTl9TWU1NRVRSSUNfVE9FUExJVFopIHsNCgkJbWFzazAgPSBjb25mLT5jb25mLnR5cGVz ICYgcGYtPmFkYXB0ZXItPmZsb3dfdHlwZXNfbWFzazsNCg0KCQlpNDBlX3NldF9zeW1tZXRyaWNf aGFzaF9lbmFibGVfcGVyX3BvcnQoaHcsIDEpOw0KCQlmb3IgKGkgPSBSVEVfRVRIX0ZMT1dfVU5L Tk9XTiArIDE7IGkgPCBVSU5UNjRfQklUOyBpKyspIHsNCgkJCWlmIChtYXNrMCAmICgxVUwgPDwg aSkpDQoJCQkJYnJlYWs7DQoJCX0NCg0KCQlpZiAoaSA9PSBVSU5UNjRfQklUKQ0KCQkJcmV0dXJu IC1FSU5WQUw7DQoNCgkJZm9yIChqID0gSTQwRV9GSUxURVJfUENUWVBFX0lOVkFMSUQgKyAxOw0K CQkgICAgIGogPCBJNDBFX0ZJTFRFUl9QQ1RZUEVfTUFYOyBqKyspIHsNCgkJCWlmIChwZi0+YWRh cHRlci0+cGN0eXBlc190YmxbaV0gJiAoMVVMTCA8PCBqKSkNCgkJCQlpNDBlX3dyaXRlX2dsb2Jh bF9yeF9jdGwoaHcsDQoJCQkJCUk0MEVfR0xRRl9IU1lNKGopLA0KCQkJCQlJNDBFX0dMUUZfSFNZ TV9TWU1IX0VOQV9NQVNLKTsNCgkJfQ0KCX0NCg0KCXJldHVybiAwOw0KfQ0KDQovKiBFbmFibGUg UlNTIGFjY29yZGluZyB0byB0aGUgY29uZmlndXJhdGlvbiAqLw0Kc3RhdGljIGludA0KaTQwZV9y c3NfZW5hYmxlX2hhc2goc3RydWN0IGk0MGVfcGYgKnBmLA0KCQlzdHJ1Y3QgaTQwZV9ydGVfZmxv d19yc3NfY29uZiAqY29uZikNCnsNCglzdHJ1Y3QgaTQwZV9ydGVfZmxvd19yc3NfY29uZiAqcnNz X2luZm8gPSAmcGYtPnJzc19pbmZvOw0KCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mIHJz c19jb25mOw0KDQoJaWYgKCEoY29uZi0+Y29uZi50eXBlcyAmIHBmLT5hZGFwdGVyLT5mbG93X3R5 cGVzX21hc2spKQ0KCQlyZXR1cm4gLUVOT1RTVVA7DQoNCgltZW1zZXQoJnJzc19jb25mLCAwLCBz aXplb2YocnNzX2NvbmYpKTsNCglydGVfbWVtY3B5KCZyc3NfY29uZiwgY29uZiwgc2l6ZW9mKHJz c19jb25mKSk7DQoNCgkvKiBDb25maWd1cmUgaGFzaCBpbnB1dCBzZXQgKi8NCglpZiAoaTQwZV9y c3NfY29uZl9oYXNoX2luc2V0KHBmLCBjb25mLT5jb25mLnR5cGVzKSkNCgkJcmV0dXJuIC1FSU5W QUw7DQoNCglpZiAocnNzX2NvbmYuY29uZi5rZXkgPT0gTlVMTCB8fCByc3NfY29uZi5jb25mLmtl eV9sZW4gPA0KCSAgICAoSTQwRV9QRlFGX0hLRVlfTUFYX0lOREVYICsgMSkgKiBzaXplb2YodWlu dDMyX3QpKSB7DQoJCS8qIFJhbmRvbSBkZWZhdWx0IGtleXMgKi8NCgkJc3RhdGljIHVpbnQzMl90 IHJzc19rZXlfZGVmYXVsdFtdID0gezB4NmI3OTM5NDQsDQoJCQkweDIzNTA0Y2I1LCAweDViZWE3 NWI2LCAweDMwOWY0ZjEyLCAweDNkYzBhMmI4LA0KCQkJMHgwMjRkZGNkZiwgMHgzMzliOGNhMCwg MHg0YzRhZjY0YSwgMHgzNGZhYzYwNSwNCgkJCTB4NTVkODU4MzksIDB4M2E1ODk5N2QsIDB4MmVj OTM4ZTEsIDB4NjYwMzE1ODF9Ow0KDQoJCXJzc19jb25mLmNvbmYua2V5ID0gKHVpbnQ4X3QgKily c3Nfa2V5X2RlZmF1bHQ7DQoJCXJzc19jb25mLmNvbmYua2V5X2xlbiA9IChJNDBFX1BGUUZfSEtF WV9NQVhfSU5ERVggKyAxKSAqDQoJCQkJc2l6ZW9mKHVpbnQzMl90KTsNCgkJUE1EX0RSVl9MT0co SU5GTywNCgkJCSJObyB2YWxpZCBSU1Mga2V5IGNvbmZpZyBmb3IgaTQwZSwgdXNpbmcgZGVmYXVs dFxuIik7DQoJfQ0KDQoJcnNzX2NvbmYuY29uZi50eXBlcyB8PSByc3NfaW5mby0+Y29uZi50eXBl czsNCglpNDBlX3Jzc19oYXNoX3NldChwZiwgJnJzc19jb25mKTsNCg0KCWlmIChjb25mLT5jb25m LmZ1bmMgPT0gUlRFX0VUSF9IQVNIX0ZVTkNUSU9OX1NZTU1FVFJJQ19UT0VQTElUWikNCgkJaTQw ZV9yc3NfY29uZmlnX2hhc2hfZnVuY3Rpb24ocGYsIGNvbmYpOw0KDQoJaTQwZV9yc3NfbWFya19p bnZhbGlkX3J1bGUocGYsIGNvbmYpOw0KDQoJcmV0dXJuIDA7DQp9DQoNCi8qIENvbmZpZ3VyZSBS U1MgcXVldWUgcmVnaW9uICovDQpzdGF0aWMgaW50DQppNDBlX3Jzc19jb25maWdfcXVldWVfcmVn aW9uKHN0cnVjdCBpNDBlX3BmICpwZiwNCgkJc3RydWN0IGk0MGVfcnRlX2Zsb3dfcnNzX2NvbmYg KmNvbmYpDQp7DQoJc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJdWlu dDMyX3QgbHV0ID0gMDsNCgl1aW50MTZfdCBqLCBudW07DQoJdWludDMyX3QgaTsNCg0KCS8qIElm IGJvdGggVk1EUSBhbmQgUlNTIGVuYWJsZWQsIG5vdCBhbGwgb2YgUEYgcXVldWVzIGFyZSBjb25m aWd1cmVkLg0KCSAqIEl0J3MgbmVjZXNzYXJ5IHRvIGNhbGN1bGF0ZSB0aGUgYWN0dWFsIFBGIHF1 ZXVlcyB0aGF0IGFyZSBjb25maWd1cmVkLg0KCSAqLw0KCWlmIChwZi0+ZGV2X2RhdGEtPmRldl9j b25mLnJ4bW9kZS5tcV9tb2RlICYgRVRIX01RX1JYX1ZNRFFfRkxBRykNCgkJbnVtID0gaTQwZV9w Zl9jYWxjX2NvbmZpZ3VyZWRfcXVldWVzX251bShwZik7DQoJZWxzZQ0KCQludW0gPSBwZi0+ZGV2 X2RhdGEtPm5iX3J4X3F1ZXVlczsNCg0KCW51bSA9IFJURV9NSU4obnVtLCBjb25mLT5jb25mLnF1 ZXVlX251bSk7DQoJUE1EX0RSVl9MT0coSU5GTywgIk1heCBvZiBjb250aWd1b3VzICV1IFBGIHF1 ZXVlcyBhcmUgY29uZmlndXJlZCIsDQoJCQludW0pOw0KDQoJaWYgKG51bSA9PSAwKSB7DQoJCVBN RF9EUlZfTE9HKEVSUiwNCgkJCSJObyBQRiBxdWV1ZXMgYXJlIGNvbmZpZ3VyZWQgdG8gZW5hYmxl IFJTUyBmb3IgcG9ydCAldSIsDQoJCQlwZi0+ZGV2X2RhdGEtPnBvcnRfaWQpOw0KCQlyZXR1cm4g LUVOT1RTVVA7DQoJfQ0KDQoJLyogRmlsbCBpbiByZWRpcmVjdGlvbiB0YWJsZSAqLw0KCWZvciAo aSA9IDAsIGogPSAwOyBpIDwgaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfc2l6ZTsgaSsrLCBqKysp IHsNCgkJaWYgKGogPT0gbnVtKQ0KCQkJaiA9IDA7DQoJCWx1dCA9IChsdXQgPDwgOCkgfCAoY29u Zi0+Y29uZi5xdWV1ZVtqXSAmICgoMHgxIDw8DQoJCQlody0+ZnVuY19jYXBzLnJzc190YWJsZV9l bnRyeV93aWR0aCkgLSAxKSk7DQoJCWlmICgoaSAmIDMpID09IDMpDQoJCQlJNDBFX1dSSVRFX1JF RyhodywgSTQwRV9QRlFGX0hMVVQoaSA+PiAyKSwgbHV0KTsNCgl9DQoNCglpNDBlX3Jzc19tYXJr X2ludmFsaWRfcnVsZShwZiwgY29uZik7DQoNCglyZXR1cm4gMDsNCn0NCg0KLyogQ29uZmlndXJl IFJTUyBoYXNoIGZ1bmN0aW9uIHRvIGRlZmF1bHQgKi8NCnN0YXRpYyBpbnQNCmk0MGVfcnNzX2Ns ZWFyX2hhc2hfZnVuY3Rpb24oc3RydWN0IGk0MGVfcGYgKnBmLA0KCQlzdHJ1Y3QgaTQwZV9ydGVf Zmxvd19yc3NfY29uZiAqY29uZikNCnsNCglzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJNDBFX1BGX1RP X0hXKHBmKTsNCgl1aW50MzJfdCBpLCByZWc7DQoJdWludDY0X3QgbWFzazA7DQoJdWludDE2X3Qg ajsNCg0KCWlmIChjb25mLT5jb25mLmZ1bmMgPT0gUlRFX0VUSF9IQVNIX0ZVTkNUSU9OX1NJTVBM RV9YT1IpIHsNCgkJcmVnID0gaTQwZV9yZWFkX3J4X2N0bChodywgSTQwRV9HTFFGX0NUTCk7DQoJ CWlmIChyZWcgJiBJNDBFX0dMUUZfQ1RMX0hUT0VQX01BU0spIHsNCgkJCVBNRF9EUlZfTE9HKERF QlVHLA0KCQkJCSJIYXNoIGZ1bmN0aW9uIGFscmVhZHkgc2V0IHRvIFRvZXBsaXR6Iik7DQoJCQlJ NDBFX1dSSVRFX0ZMVVNIKGh3KTsNCg0KCQkJcmV0dXJuIDA7DQoJCX0NCgkJcmVnIHw9IEk0MEVf R0xRRl9DVExfSFRPRVBfTUFTSzsNCg0KCQlpNDBlX3dyaXRlX2dsb2JhbF9yeF9jdGwoaHcsIEk0 MEVfR0xRRl9DVEwsIHJlZyk7DQoJCUk0MEVfV1JJVEVfRkxVU0goaHcpOw0KCX0gZWxzZSBpZiAo Y29uZi0+Y29uZi5mdW5jID09DQoJCSAgIFJURV9FVEhfSEFTSF9GVU5DVElPTl9TWU1NRVRSSUNf VE9FUExJVFopIHsNCgkJbWFzazAgPSBjb25mLT5jb25mLnR5cGVzICYgcGYtPmFkYXB0ZXItPmZs b3dfdHlwZXNfbWFzazsNCg0KCQlmb3IgKGkgPSBSVEVfRVRIX0ZMT1dfVU5LTk9XTiArIDE7IGkg PCBVSU5UNjRfQklUOyBpKyspIHsNCgkJCWlmIChtYXNrMCAmICgxVUwgPDwgaSkpDQoJCQkJYnJl YWs7DQoJCX0NCg0KCQlpZiAoaSA9PSBVSU5UNjRfQklUKQ0KCQkJcmV0dXJuIC1FSU5WQUw7DQoN CgkJZm9yIChqID0gSTQwRV9GSUxURVJfUENUWVBFX0lOVkFMSUQgKyAxOw0KCQkgICAgIGogPCBJ NDBFX0ZJTFRFUl9QQ1RZUEVfTUFYOyBqKyspIHsNCgkJCWlmIChwZi0+YWRhcHRlci0+cGN0eXBl c190YmxbaV0gJiAoMVVMTCA8PCBqKSkNCgkJCQlpNDBlX3dyaXRlX2dsb2JhbF9yeF9jdGwoaHcs DQoJCQkJCUk0MEVfR0xRRl9IU1lNKGopLA0KCQkJCQkwKTsNCgkJfQ0KCX0NCg0KCXJldHVybiAw Ow0KfQ0KDQovKiBEaXNhYmxlIFJTUyBoYXNoIGFuZCBjb25maWd1cmUgZGVmYXVsdCBpbnB1dCBz ZXQgKi8NCnN0YXRpYyBpbnQNCmk0MGVfcnNzX2Rpc2FibGVfaGFzaChzdHJ1Y3QgaTQwZV9wZiAq cGYsDQoJCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mICpjb25mKQ0Kew0KCXN0cnVjdCBp NDBlX3J0ZV9mbG93X3Jzc19jb25mICpyc3NfaW5mbyA9ICZwZi0+cnNzX2luZm87DQoJc3RydWN0 IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQoJc3RydWN0IGk0MGVfcnRlX2Zsb3df cnNzX2NvbmYgcnNzX2NvbmY7DQoJdWludDMyX3QgaTsNCg0KCW1lbXNldCgmcnNzX2NvbmYsIDAs IHNpemVvZihyc3NfY29uZikpOw0KCXJ0ZV9tZW1jcHkoJnJzc19jb25mLCBjb25mLCBzaXplb2Yo cnNzX2NvbmYpKTsNCg0KCS8qIERpc2FibGUgUlNTIGhhc2ggKi8NCglyc3NfY29uZi5jb25mLnR5 cGVzID0gcnNzX2luZm8tPmNvbmYudHlwZXMgJiB+KGNvbmYtPmNvbmYudHlwZXMpOw0KCWk0MGVf cnNzX2hhc2hfc2V0KHBmLCAmcnNzX2NvbmYpOw0KDQoJZm9yIChpID0gUlRFX0VUSF9GTE9XX0lQ VjQ7IGkgPD0gUlRFX0VUSF9GTE9XX0wyX1BBWUxPQUQ7IGkrKykgew0KCQlpZiAoIShwZi0+YWRh cHRlci0+Zmxvd190eXBlc19tYXNrICYgKDFVTEwgPDwgaSkpIHx8DQoJCSAgICAhKGNvbmYtPmNv bmYudHlwZXMgJiAoMVVMTCA8PCBpKSkpDQoJCQljb250aW51ZTsNCg0KCQkvKiBDb25maWd1cmUg ZGVmYXVsdCBpbnB1dCBzZXQgKi8NCgkJc3RydWN0IHJ0ZV9ldGhfaW5wdXRfc2V0X2NvbmYgaW5w dXRfY29uZiA9IHsNCgkJCS5vcCA9IFJURV9FVEhfSU5QVVRfU0VUX1NFTEVDVCwNCgkJCS5mbG93 X3R5cGUgPSBpLA0KCQkJLmluc2V0X3NpemUgPSAxLA0KCQl9Ow0KCQlpbnB1dF9jb25mLmZpZWxk WzBdID0gUlRFX0VUSF9JTlBVVF9TRVRfREVGQVVMVDsNCgkJaTQwZV9oYXNoX2ZpbHRlcl9pbnNl dF9zZWxlY3QoaHcsICZpbnB1dF9jb25mKTsNCgl9DQoNCglyc3NfaW5mby0+Y29uZi50eXBlcyA9 IHJzc19jb25mLmNvbmYudHlwZXM7DQoNCglpNDBlX3Jzc19jbGVhcl9oYXNoX2Z1bmN0aW9uKHBm LCBjb25mKTsNCg0KCXJldHVybiAwOw0KfQ0KDQovKiBDb25maWd1cmUgUlNTIHF1ZXVlIHJlZ2lv biB0byBkZWZhdWx0ICovDQpzdGF0aWMgaW50DQppNDBlX3Jzc19jbGVhcl9xdWV1ZV9yZWdpb24o c3RydWN0IGk0MGVfcGYgKnBmKQ0Kew0KCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9f SFcocGYpOw0KCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mICpyc3NfaW5mbyA9ICZwZi0+ cnNzX2luZm87DQoJdWludDE2X3QgcXVldWVbSTQwRV9NQVhfUV9QRVJfVENdOw0KCXVpbnQzMl90 IG51bV9yeHEsIGk7DQoJdWludDMyX3QgbHV0ID0gMDsNCgl1aW50MTZfdCBqLCBudW07DQoNCglu dW1fcnhxID0gUlRFX01JTihwZi0+ZGV2X2RhdGEtPm5iX3J4X3F1ZXVlcywgSTQwRV9NQVhfUV9Q RVJfVEMpOw0KDQoJZm9yIChqID0gMDsgaiA8IG51bV9yeHE7IGorKykNCgkJcXVldWVbal0gPSBq Ow0KDQoJLyogSWYgYm90aCBWTURRIGFuZCBSU1MgZW5hYmxlZCwgbm90IGFsbCBvZiBQRiBxdWV1 ZXMgYXJlIGNvbmZpZ3VyZWQuDQoJICogSXQncyBuZWNlc3NhcnkgdG8gY2FsY3VsYXRlIHRoZSBh Y3R1YWwgUEYgcXVldWVzIHRoYXQgYXJlIGNvbmZpZ3VyZWQuDQoJICovDQoJaWYgKHBmLT5kZXZf ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1xX21vZGUgJiBFVEhfTVFfUlhfVk1EUV9GTEFHKQ0KCQlu dW0gPSBpNDBlX3BmX2NhbGNfY29uZmlndXJlZF9xdWV1ZXNfbnVtKHBmKTsNCgllbHNlDQoJCW51 bSA9IHBmLT5kZXZfZGF0YS0+bmJfcnhfcXVldWVzOw0KDQoJbnVtID0gUlRFX01JTihudW0sIG51 bV9yeHEpOw0KCVBNRF9EUlZfTE9HKElORk8sICJNYXggb2YgY29udGlndW91cyAldSBQRiBxdWV1 ZXMgYXJlIGNvbmZpZ3VyZWQiLA0KCQkJbnVtKTsNCg0KCWlmIChudW0gPT0gMCkgew0KCQlQTURf RFJWX0xPRyhFUlIsDQoJCQkiTm8gUEYgcXVldWVzIGFyZSBjb25maWd1cmVkIHRvIGVuYWJsZSBS U1MgZm9yIHBvcnQgJXUiLA0KCQkJcGYtPmRldl9kYXRhLT5wb3J0X2lkKTsNCgkJcmV0dXJuIC1F Tk9UU1VQOw0KCX0NCg0KCS8qIEZpbGwgaW4gcmVkaXJlY3Rpb24gdGFibGUgKi8NCglmb3IgKGkg PSAwLCBqID0gMDsgaSA8IGh3LT5mdW5jX2NhcHMucnNzX3RhYmxlX3NpemU7IGkrKywgaisrKSB7 DQoJCWlmIChqID09IG51bSkNCgkJCWogPSAwOw0KCQlsdXQgPSAobHV0IDw8IDgpIHwgKHF1ZXVl W2pdICYgKCgweDEgPDwNCgkJCWh3LT5mdW5jX2NhcHMucnNzX3RhYmxlX2VudHJ5X3dpZHRoKSAt IDEpKTsNCgkJaWYgKChpICYgMykgPT0gMykNCgkJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BG UUZfSExVVChpID4+IDIpLCBsdXQpOw0KCX0NCg0KCXJzc19pbmZvLT5jb25mLnF1ZXVlX251bSA9 IDA7DQoJbWVtc2V0KCZyc3NfaW5mby0+Y29uZi5xdWV1ZSwgMCwgc2l6ZW9mKHVpbnQxNl90KSk7 DQoNCglyZXR1cm4gMDsNCn0NCg0KaW50DQppNDBlX2NvbmZpZ19yc3NfZmlsdGVyKHN0cnVjdCBp NDBlX3BmICpwZiwNCgkJc3RydWN0IGk0MGVfcnRlX2Zsb3dfcnNzX2NvbmYgKmNvbmYsIGJvb2wg YWRkKQ0Kew0KCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mICpyc3NfaW5mbyA9ICZwZi0+ cnNzX2luZm87DQoJc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9yc3MgdXBkYXRlX2NvbmYgPSByc3Nf aW5mby0+Y29uZjsNCglpbnQgcmV0ID0gMDsNCg0KCWlmIChhZGQpIHsNCgkJaWYgKGNvbmYtPmNv bmYucXVldWVfbnVtKSB7DQoJCQkvKiBDb25maWd1cmUgUlNTIHF1ZXVlIHJlZ2lvbiAqLw0KCQkJ cmV0ID0gaTQwZV9yc3NfY29uZmlnX3F1ZXVlX3JlZ2lvbihwZiwgY29uZik7DQoJCQlpZiAocmV0 KQ0KCQkJCXJldHVybiByZXQ7DQoNCgkJCXVwZGF0ZV9jb25mLnF1ZXVlX251bSA9IGNvbmYtPmNv bmYucXVldWVfbnVtOw0KCQkJdXBkYXRlX2NvbmYucXVldWUgPSBjb25mLT5jb25mLnF1ZXVlOw0K CQl9IGVsc2UgaWYgKGNvbmYtPmNvbmYuZnVuYyA9PQ0KCQkJICAgUlRFX0VUSF9IQVNIX0ZVTkNU SU9OX1NJTVBMRV9YT1IpIHsNCgkJCS8qIENvbmZpZ3VyZSBoYXNoIGZ1bmN0aW9uICovDQoJCQly ZXQgPSBpNDBlX3Jzc19jb25maWdfaGFzaF9mdW5jdGlvbihwZiwgY29uZik7DQoJCQlpZiAocmV0 KQ0KCQkJCXJldHVybiByZXQ7DQoNCgkJCXVwZGF0ZV9jb25mLmZ1bmMgPSBjb25mLT5jb25mLmZ1 bmM7DQoJCX0gZWxzZSB7DQoJCQkvKiBDb25maWd1cmUgaGFzaCBlbmFibGUgYW5kIGlucHV0IHNl dCAqLw0KCQkJcmV0ID0gaTQwZV9yc3NfZW5hYmxlX2hhc2gocGYsIGNvbmYpOw0KCQkJaWYgKHJl dCkNCgkJCQlyZXR1cm4gcmV0Ow0KDQoJCQl1cGRhdGVfY29uZi50eXBlcyB8PSBjb25mLT5jb25m LnR5cGVzOw0KCQkJdXBkYXRlX2NvbmYua2V5ID0gY29uZi0+Y29uZi5rZXk7DQoJCQl1cGRhdGVf Y29uZi5rZXlfbGVuID0gY29uZi0+Y29uZi5rZXlfbGVuOw0KCQl9DQoNCgkJLyogVXBkYXRlIFJT UyBpbmZvIGluIHBmICovDQoJCWlmIChpNDBlX3Jzc19jb25mX2luaXQocnNzX2luZm8sICZ1cGRh dGVfY29uZikpDQoJCQlyZXR1cm4gLUVJTlZBTDsNCgl9IGVsc2Ugew0KCQlpZiAoIWNvbmYtPnZh bGlkKQ0KCQkJcmV0dXJuIDA7DQoNCgkJaWYgKGNvbmYtPmNvbmYucXVldWVfbnVtKQ0KCQkJaTQw ZV9yc3NfY2xlYXJfcXVldWVfcmVnaW9uKHBmKTsNCgkJZWxzZSBpZiAoY29uZi0+Y29uZi5mdW5j ID09IFJURV9FVEhfSEFTSF9GVU5DVElPTl9TSU1QTEVfWE9SKQ0KCQkJaTQwZV9yc3NfY2xlYXJf aGFzaF9mdW5jdGlvbihwZiwgY29uZik7DQoJCWVsc2UNCgkJCWk0MGVfcnNzX2Rpc2FibGVfaGFz aChwZiwgY29uZik7DQoJfQ0KDQoJcmV0dXJuIDA7DQp9DQoNClJURV9JTklUKGk0MGVfaW5pdF9s b2cpDQp7DQoJaTQwZV9sb2d0eXBlX2luaXQgPSBydGVfbG9nX3JlZ2lzdGVyKCJwbWQubmV0Lmk0 MGUuaW5pdCIpOw0KCWlmIChpNDBlX2xvZ3R5cGVfaW5pdCA+PSAwKQ0KCQlydGVfbG9nX3NldF9s ZXZlbChpNDBlX2xvZ3R5cGVfaW5pdCwgUlRFX0xPR19OT1RJQ0UpOw0KCWk0MGVfbG9ndHlwZV9k cml2ZXIgPSBydGVfbG9nX3JlZ2lzdGVyKCJwbWQubmV0Lmk0MGUuZHJpdmVyIik7DQoJaWYgKGk0 MGVfbG9ndHlwZV9kcml2ZXIgPj0gMCkNCgkJcnRlX2xvZ19zZXRfbGV2ZWwoaTQwZV9sb2d0eXBl X2RyaXZlciwgUlRFX0xPR19OT1RJQ0UpOw0KDQojaWZkZWYgUlRFX0xJQlJURV9JNDBFX0RFQlVH X1JYDQoJaTQwZV9sb2d0eXBlX3J4ID0gcnRlX2xvZ19yZWdpc3RlcigicG1kLm5ldC5pNDBlLnJ4 Iik7DQoJaWYgKGk0MGVfbG9ndHlwZV9yeCA+PSAwKQ0KCQlydGVfbG9nX3NldF9sZXZlbChpNDBl X2xvZ3R5cGVfcngsIFJURV9MT0dfREVCVUcpOw0KI2VuZGlmDQoNCiNpZmRlZiBSVEVfTElCUlRF X0k0MEVfREVCVUdfVFgNCglpNDBlX2xvZ3R5cGVfdHggPSBydGVfbG9nX3JlZ2lzdGVyKCJwbWQu bmV0Lmk0MGUudHgiKTsNCglpZiAoaTQwZV9sb2d0eXBlX3R4ID49IDApDQoJCXJ0ZV9sb2dfc2V0 X2xldmVsKGk0MGVfbG9ndHlwZV90eCwgUlRFX0xPR19ERUJVRyk7DQojZW5kaWYNCg0KI2lmZGVm IFJURV9MSUJSVEVfSTQwRV9ERUJVR19UWF9GUkVFDQoJaTQwZV9sb2d0eXBlX3R4X2ZyZWUgPSBy dGVfbG9nX3JlZ2lzdGVyKCJwbWQubmV0Lmk0MGUudHhfZnJlZSIpOw0KCWlmIChpNDBlX2xvZ3R5 cGVfdHhfZnJlZSA+PSAwKQ0KCQlydGVfbG9nX3NldF9sZXZlbChpNDBlX2xvZ3R5cGVfdHhfZnJl ZSwgUlRFX0xPR19ERUJVRyk7DQojZW5kaWYNCn0NCg0KUlRFX1BNRF9SRUdJU1RFUl9QQVJBTV9T VFJJTkcobmV0X2k0MGUsDQoJCQkgICAgICBFVEhfSTQwRV9GTE9BVElOR19WRUJfQVJHICI9MSIN CgkJCSAgICAgIEVUSF9JNDBFX0ZMT0FUSU5HX1ZFQl9MSVNUX0FSRyAiPTxzdHJpbmc+Ig0KCQkJ ICAgICAgRVRIX0k0MEVfUVVFVUVfTlVNX1BFUl9WRl9BUkcgIj0xfDJ8NHw4fDE2Ig0KCQkJICAg ICAgRVRIX0k0MEVfU1VQUE9SVF9NVUxUSV9EUklWRVIgIj0xIg0KCQkJICAgICAgRVRIX0k0MEVf VVNFX0xBVEVTVF9WRUMgIj0wfDEiKTsKMDMvMDcvMjAyMCAwMToyNDozNyAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IG1vZHByb2JlIHZmaW8tcGNpCjAzLzA3LzIwMjAgMDE6MjQ6Mzcg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiAKMDMvMDcvMjAyMCAwMToyNDozNyAgICAg ICAgICAgICAgICAgICAgIFRlc3REZHBHdHA6IFRlc3QgQ2FzZSB0ZXN0X2NsZnRlcl9ndHBjX3Bm IEJlZ2luCjAzLzA3LzIwMjAgMDE6MjQ6MzcgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiAgCjAzLzA3LzIwMjAgMDE6MjQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAK MDMvMDcvMjAyMCAwMToyNDozOCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IC4veDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWwgMSwyIC1uIDQgLXcgMDAwMDo4 MzowMC4wIC13IDAwMDA6ODM6MDAuMSAgLS1maWxlLXByZWZpeD1kcGRrXzY4NTNfMjAyMDA3MDMw MTIxMDEgICAtLSAtaSAtLXBrdC1maWx0ZXItbW9kZT1wZXJmZWN0IC0tcG9ydC10b3BvbG9neT1j aGFpbmVkICAgICAgICAgICAgIC0tdHhxPTY0IC0tcnhxPTY0CjAzLzA3LzIwMjAgMDE6MjQ6NDAg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBFQUw6IERldGVjdGVkIDcyIGxjb3JlKHMp DQpFQUw6IERldGVjdGVkIDIgTlVNQSBub2Rlcw0KRUFMOiBNdWx0aS1wcm9jZXNzIHNvY2tldCAv dmFyL3J1bi9kcGRrL2RwZGtfNjg1M18yMDIwMDcwMzAxMjEwMS9tcF9zb2NrZXQNCkVBTDogU2Vs ZWN0ZWQgSU9WQSBtb2RlICdWQScNCkVBTDogUHJvYmluZyBWRklPIHN1cHBvcnQuLi4NCkVBTDog VkZJTyBzdXBwb3J0IGluaXRpYWxpemVkDQpFQUw6ICAgdXNpbmcgSU9NTVUgdHlwZSAxIChUeXBl IDEpDQpFQUw6IElnbm9yZSBtYXBwaW5nIElPIHBvcnQgYmFyKDEpDQpFQUw6IElnbm9yZSBtYXBw aW5nIElPIHBvcnQgYmFyKDQpDQpFQUw6IFByb2JlIFBDSSBkcml2ZXI6IG5ldF9pNDBlICg4MDg2 OjE1OGIpIGRldmljZTogMDAwMDo4MzowMC4wIChzb2NrZXQgMSkNCkVBTDogSWdub3JlIG1hcHBp bmcgSU8gcG9ydCBiYXIoMSkNCkVBTDogSWdub3JlIG1hcHBpbmcgSU8gcG9ydCBiYXIoNCkNCkVB TDogUHJvYmUgUENJIGRyaXZlcjogbmV0X2k0MGUgKDgwODY6MTU4YikgZGV2aWNlOiAwMDAwOjgz OjAwLjEgKHNvY2tldCAxKQ0KRUFMOiBObyBsZWdhY3kgY2FsbGJhY2tzLCBsZWdhY3kgc29ja2V0 IG5vdCBjcmVhdGVkDQpJbnRlcmFjdGl2ZS1tb2RlIHNlbGVjdGVkDQp0ZXN0cG1kOiBjcmVhdGUg YSBuZXcgbWJ1ZiBwb29sIDxtYnVmX3Bvb2xfc29ja2V0XzA+OiBuPTE1NTQ1Niwgc2l6ZT0yMTc2 LCBzb2NrZXQ9MA0KdGVzdHBtZDogcHJlZmVycmVkIG1lbXBvb2wgb3BzIHNlbGVjdGVkOiByaW5n X21wX21jDQp0ZXN0cG1kOiBjcmVhdGUgYSBuZXcgbWJ1ZiBwb29sIDxtYnVmX3Bvb2xfc29ja2V0 XzE+OiBuPTE1NTQ1Niwgc2l6ZT0yMTc2LCBzb2NrZXQ9MQ0KdGVzdHBtZDogcHJlZmVycmVkIG1l bXBvb2wgb3BzIHNlbGVjdGVkOiByaW5nX21wX21jDQpDb25maWd1cmluZyBQb3J0IDAgKHNvY2tl dCAxKQ0KUG9ydCAwOiAzQzpGRDpGRTpBMzpBMDo5Ng0KQ29uZmlndXJpbmcgUG9ydCAxIChzb2Nr ZXQgMSkNClBvcnQgMTogM0M6RkQ6RkU6QTM6QTA6OTcNCkNoZWNraW5nIGxpbmsgc3RhdHVzZXMu Li4NCkRvbmUKMDMvMDcvMjAyMCAwMToyNDo1MCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4y NDc6IHBvcnQgc3RvcCBhbGwKMDMvMDcvMjAyMCAwMToyNDo1MCAgICAgICAgICAgICBkdXQuMTAu MjQwLjE4My4yNDc6IHBvcnQgc3RvcCBhbGwNDQpTdG9wcGluZyBwb3J0cy4uLg0KDQpQb3J0IDA6 IGxpbmsgc3RhdGUgY2hhbmdlIGV2ZW50DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQoNClBv cnQgMTogbGluayBzdGF0ZSBjaGFuZ2UgZXZlbnQNCkRvbmUKMDMvMDcvMjAyMCAwMToyNDo1MSAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAg MDE6MjQ6NTIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0N ClByb2ZpbGUgbnVtYmVyIGlzOiAwDQoKMDMvMDcvMjAyMCAwMToyNDo1MiAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IGRkcCBhZGQgMCAvdG1wL2d0cC5wa2dvLC90bXAvZ3RwLmJhawow My8wNy8yMDIwIDAxOjI0OjUyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGFk ZCAwIC90bXAvZ3RwLnBrZ28sL3RtcC9ndHAuYmFrDQowMy8wNy8yMDIwIDAxOjI0OjUyICAgICAg ICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDAKMDMvMDcvMjAyMCAwMToy NDo1MiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwDQ0KUHJv ZmlsZSBudW1iZXIgaXM6IDENCg0KUHJvZmlsZSAwOg0KVHJhY2sgaWQ6ICAgICAweDgwMDAwMDA4 DQpWZXJzaW9uOiAgICAgIDEuMC4zLjANClByb2ZpbGUgbmFtZTogR1RQdjEtQy9VIElQdjQvSVB2 NiBwYXlsb2FkDQoKMDMvMDcvMjAyMCAwMToyNDo1MiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4 My4yNDc6IHBvcnQgc3RhcnQgYWxsCjAzLzA3LzIwMjAgMDE6MjQ6NTIgICAgICAgICAgICAgZHV0 LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0YXJ0IGFsbA0NClBvcnQgMDogM0M6RkQ6RkU6QTM6QTA6 OTYNClBvcnQgMTogM0M6RkQ6RkU6QTM6QTA6OTcNCkNoZWNraW5nIGxpbmsgc3RhdHVzZXMuLi4N CkRvbmUKMDMvMDcvMjAyMCAwMToyNDo1MyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6 IHNldCBmd2Qgcnhvbmx5CjAzLzA3LzIwMjAgMDE6MjQ6NTMgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiANClBvcnQgMDogbGluayBzdGF0ZSBjaGFuZ2UgZXZlbnQNCnNldCBmd2Qgcnhv bmx5DQ0KU2V0IHJ4b25seSBwYWNrZXQgZm9yd2FyZGluZyBtb2RlCjAzLzA3LzIwMjAgMDE6MjQ6 NTMgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzZXQgdmVyYm9zZSAxCjAzLzA3LzIw MjAgMDE6MjQ6NTQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzZXQgdmVyYm9zZSAx DQ0KQ2hhbmdlIHZlcmJvc2UgbGV2ZWwgZnJvbSAwIHRvIDEKMDMvMDcvMjAyMCAwMToyNDo1NCAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHN0YXJ0CjAzLzA3LzIwMjAgMDE6MjQ6NTQg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzdGFydA0NCnJ4b25seSBwYWNrZXQgZm9y d2FyZGluZyAtIHBvcnRzPTIgLSBjb3Jlcz0xIC0gc3RyZWFtcz0xMjggLSBOVU1BIHN1cHBvcnQg ZW5hYmxlZCwgTVAgYWxsb2NhdGlvbiBtb2RlOiBuYXRpdmUNCkxvZ2ljYWwgQ29yZSAyIChzb2Nr ZXQgMCkgZm9yd2FyZHMgcGFja2V0cyBvbiAxMjggc3RyZWFtczoNCiAgUlggUD0wL1E9MCAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTAgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT0wIChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MSAoc29j a2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9MSAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTIgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT0yIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT0yIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MiAoc29ja2V0IDEpIHBl ZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMgKHNvY2tl dCAxKSAtPiBUWCBQPTAvUT0zIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT00IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6 MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTUgKHNvY2tldCAxKSAtPiBU WCBQPTEvUT01IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01 IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NSAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6 MDANCiAgUlggUD0wL1E9NiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT02 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT03IChzb2NrZXQg MSkgLT4gVFggUD0xL1E9NyAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlgg UD0xL1E9NyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTggKHNvY2tldCAxKSAtPiBUWCBQPTEvUT04IChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT04IChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9OCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9OSAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTkgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT05IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xMCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTEw IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xMCAoc29ja2V0 IDEpIC0+IFRYIFA9MC9RPTEwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT0xMSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTExIChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xMSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTExIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xMiAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTEyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT0xMiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTEyIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT0xMyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTEzIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xMyAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTEzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT0xNCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTE0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT0xNCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE0IChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xNSAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTE1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0x NSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT0xNiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTE2IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xNiAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTE2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xNyAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTE3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT0xNyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE3IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xOCAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTE4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xOCAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTE4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT0xOSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTE5IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xOSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE5 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yMCAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTIwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT0yMCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTIwIChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yMSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIxIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yMSAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTIxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT0yMiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIyIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT0yMiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTIyIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yMyAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTIzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT0yMyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTIzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT0yNCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI0IChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yNCAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTI0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0y NSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT0yNSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTI1IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yNiAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTI2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yNiAo c29ja2V0IDEpIC0+IFRYIFA9MC9RPTI2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MA0KICBSWCBQPTAvUT0yNyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI3IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yNyAoc29ja2V0IDEpIC0+IFRYIFA9MC9R PTI3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yOCAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTI4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0K ICBSWCBQPTEvUT0yOCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTI4IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yOSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI5 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yOSAoc29ja2V0 IDEpIC0+IFRYIFA9MC9RPTI5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT0zMCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMwIChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zMCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMwIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zMSAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTMxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT0zMSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMxIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT0zMiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMyIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zMiAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTMyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT0zMyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT0zMyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMzIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zNCAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTM0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0z NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT0zNSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTM1IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zNSAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTM1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zNiAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTM2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT0zNiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM2IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zNyAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTM3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zNyAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTM3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT0zOCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTM4IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zOCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM4 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zOSAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTM5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT0zOSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM5IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT00MCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQwIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00MCAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTQwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT00MSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQxIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT00MSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQxIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00MiAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTQyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT00MiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT00MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQzIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00MyAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTQzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00 NCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT00NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ0IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00NSAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTQ1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00NSAo c29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MA0KICBSWCBQPTAvUT00NiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ2IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00NiAoc29ja2V0IDEpIC0+IFRYIFA9MC9R PTQ2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00NyAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTQ3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0K ICBSWCBQPTEvUT00NyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ3IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00OCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ4 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00OCAoc29ja2V0 IDEpIC0+IFRYIFA9MC9RPTQ4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT00OSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ5IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00OSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ5IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01MCAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTUwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT01MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTUwIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT01MSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUxIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01MSAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTUxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT01MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT01MiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTUyIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01MyAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTUzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01 MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTUzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT01NCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU0IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01NCAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTU0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01NSAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTU1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT01NSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU1IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01NiAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTU2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01NiAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTU2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT01NyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU3IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01NyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU3 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01OCAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTU4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT01OCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU4IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT01OSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU5IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01OSAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTU5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT02MCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYwIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT02MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTYwIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02MSAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTYxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT02MSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTYxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT02MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYyIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT02MiAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTYyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02 MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT02MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTYzIChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KDQogIHJ4b25seSBwYWNrZXQgZm9yd2FyZGluZyBwYWNr ZXRzL2J1cnN0PTMyDQogIG5iIGZvcndhcmRpbmcgY29yZXM9MSAtIG5iIGZvcndhcmRpbmcgcG9y dHM9Mg0KICBwb3J0IDA6IFJYIHF1ZXVlIG51bWJlcjogNjQgVHggcXVldWUgbnVtYmVyOiA2NA0K ICAgIFJ4IG9mZmxvYWRzPTB4MCBUeCBvZmZsb2Fkcz0weDEwMDAwDQogICAgUlggcXVldWU6IDAN CiAgICAgIFJYIGRlc2M9MjU2IC0gUlggZnJlZSB0aHJlc2hvbGQ9MzINCiAgICAgIFJYIHRocmVz aG9sZCByZWdpc3RlcnM6IHB0aHJlc2g9OCBodGhyZXNoPTggIHd0aHJlc2g9MA0KICAgICAgUlgg T2ZmbG9hZHM9MHgwDQogICAgVFggcXVldWU6IDANCiAgICAgIFRYIGRlc2M9MjU2IC0gVFggZnJl ZSB0aHJlc2hvbGQ9MzINCiAgICAgIFRYIHRocmVzaG9sZCByZWdpc3RlcnM6IHB0aHJlc2g9MzIg aHRocmVzaD0wICB3dGhyZXNoPTANCiAgICAgIFRYIG9mZmxvYWRzPTB4MTAwMDAgLSBUWCBSUyBi aXQgdGhyZXNob2xkPTMyDQogIHBvcnQgMTogUlggcXVldWUgbnVtYmVyOiA2NCBUeCBxdWV1ZSBu dW1iZXI6IDY0DQogICAgUnggb2ZmbG9hZHM9MHgwIFR4IG9mZmxvYWRzPTB4MTAwMDANCiAgICBS WCBxdWV1ZTogMA0KICAgICAgUlggZGVzYz0yNTYgLSBSWCBmcmVlIHRocmVzaG9sZD0zMg0KICAg ICAgUlggdGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD04IGh0aHJlc2g9OCAgd3RocmVzaD0w DQogICAgICBSWCBPZmZsb2Fkcz0weDANCiAgICBUWCBxdWV1ZTogMA0KICAgICAgVFggZGVzYz0y NTYgLSBUWCBmcmVlIHRocmVzaG9sZD0zMg0KICAgICAgVFggdGhyZXNob2xkIHJlZ2lzdGVyczog cHRocmVzaD0zMiBodGhyZXNoPTAgIHd0aHJlc2g9MA0KICAgICAgVFggb2ZmbG9hZHM9MHgxMDAw MCAtIFRYIFJTIGJpdCB0aHJlc2hvbGQ9MzIKMDMvMDcvMjAyMCAwMToyNDo1NiAgICAgICAgICAg ICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGV0aCAv IGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgZ3RwYyB0ZWlkIGlzIDB4MjU2ZmE3OWYgLyBl bmQgYWN0aW9ucyBwZiAvIHF1ZXVlIGluZGV4IDQ2IC8gZW5kCjAzLzA3LzIwMjAgMDE6MjQ6NTYg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0 dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAgICAgICAgICAgICAgIGd0cGMgdGVpZCBpcyAweDI1 NmZhNzlmIC8gZW5kIGFjdGlvbnMgcGYgLyBxdWV1ZSBpbmRleCA0NiAvIGVuZA0NCmk0MGVfcmVw bGFjZV9ndHBfbDFfZmlsdGVyKCk6IGk0MGUgZGV2aWNlIDAwMDA6ODM6MDAuMCBjaGFuZ2VkIGNs b3VkIGwxIHR5cGUuIG9yaWdpbmFsOiAweGMsIG5ldzogMHgxMg0KaTQwZV9yZXBsYWNlX2d0cF9s MV9maWx0ZXIoKTogaTQwZSBkZXZpY2UgMDAwMDo4MzowMC4wIGNoYW5nZWQgY2xvdWQgbDEgdHlw ZS4gb3JpZ2luYWw6IDB4YiwgbmV3OiAweDEzDQppNDBlX3JlcGxhY2VfZ3RwX2Nsb3VkX2ZpbHRl cigpOiBpNDBlIGRldmljZSAwMDAwOjgzOjAwLjAgY2hhbmdlZCBjbG91ZCBmaWx0ZXIgdHlwZS4g b3JpZ2luYWw6IDB4MywgbmV3OiAweDExDQppNDBlX3JlcGxhY2VfZ3RwX2Nsb3VkX2ZpbHRlcigp OiBpNDBlIGRldmljZSAwMDAwOjgzOjAwLjAgY2hhbmdlZCBjbG91ZCBmaWx0ZXIgdHlwZS4gb3Jp Z2luYWw6IDB4NCwgbmV3OiAweDEyDQpGbG93IHJ1bGUgIzAgY3JlYXRlZAowMy8wNy8yMDIwIDAx OjI0OjU2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAw MToyNDo1NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNl cnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGlu aXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xv Y2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFj a2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRl cHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vy c29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzMzMSk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBt ICoqOiAbWzM0bTAxOjI0OjU3LjU4MRtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBh c3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENh bid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAo KS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5h dGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQ eXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQu DQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRt G1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAg G1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNz ICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMy bRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0g ICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAg ICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcEND Q0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1 Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAg ICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1sz NG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAg ICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIGl0IGlzIHlvdXIgbGFz dBtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1sw bRtbMzRtG1sxbSAgIHwgZGF5IG9uIGVhcnRoLhtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8v Ly8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAg ICAgICAgLS0gTGFvLVR6ZRtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAg ICAgICAgIHBZL1lhG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1Bz WS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2Nh Q1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BD UFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNj YWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjI0OjU5ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVy KHRlaWQ9MHgyNTZmYTc5ZikvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8y MDIwIDAxOjI0OjU5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBh Y2tldHMuCjAzLzA3LzIwMjAgMDE6MjQ6NTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlk PTB4MjU2ZmE3OWYpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MToyNTowMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjI1OjAyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhp dCgpCjAzLzA3LzIwMjAgMDE6MjU6MDIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAK MDMvMDcvMjAyMCAwMToyNTowNyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQg MC9xdWV1ZSA0NjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vn cz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0 X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9Mjg4MTYsIERlc3RpbmF0aW9uIFVE UCBwb3J0ID0yMTIzLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBxdWV1ZT0weDJlDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSA0NjogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VO S05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQg dHlwZSA9Mjg4OTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIzLCBWTkkgPSAyNDUzNDE1IC0g UmVjZWl2ZSBxdWV1ZT0weDJlDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8y MDIwIDAxOjI1OjA3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcv MjAyMCAwMToyNTowOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBp bml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxl IHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQov dXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2Vu ZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3 IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhH ZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzM0OSk6IEdkay0bWzE7MzVtQ1JJVElD QUwbWzBtICoqOiAbWzM0bTAxOjI1OjA4Ljk5NhtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNw bGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlO Rk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBk ZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBk ZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5J Tkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGlu c3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sx bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1sw bRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9Z Q2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8v L1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBt DQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0 bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1Bz ICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAg ICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczov L2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9h ICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBm dW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2Eb WzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAg ICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQg bXkgYmVlci4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAg cC8vWRtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBt DQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0 bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAg cFkvWWEbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lw IBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIw IDAxOjI1OjExICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1 NmZhNzlmKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6 MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMToyNToxMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIo dGVpZD0weDI1NmZhNzlmKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6MjU6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMToyNToxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IGV4aXQoKQowMy8wNy8yMDIwIDAxOjI1OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogCjAzLzA3LzIwMjAgMDE6MjU6MTkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBw b3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5i X3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBDICAtIHN3 IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAg LSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTI4ODE2LCBEZXN0aW5hdGlv biBVRFAgcG9ydCA9MjEyMywgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTI4ODk2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywgVk5JID0gMjQ1MzQx NSAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMv MDcvMjAyMCAwMToyNToxOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAz LzA3LzIwMjAgMDE6MjU6MjAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUg dG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVu YWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNl ZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2Jh Y2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29y Lm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5u ZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjMzNzYpOiBHZGstG1sxOzM1bUNS SVRJQ0FMG1swbSAqKjogG1szNG0wMToyNToyMC40MjkbWzBtOiBnZGtfY3Vyc29yX25ld19mb3Jf ZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1sz OW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBv ciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQ djYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1X QVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVs bCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0 bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAg IBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8v Ly8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kv Ly8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5 G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBt G1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkv Ly9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAg ICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0 cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQ Ly8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhh dmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0Mv Ly9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNw YyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0IG1lIGlmIHlvdSBjYW4uG1sw bQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1sz NG0bWzFtICAgfCAgICAgICAgICAgICAgICAgICAtLSBJUHY2IGxheWVyG1swbQ0KG1szMm0bWzFt ICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbQ0K G1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMy bRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMToyNToyMiAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRw b3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjU2ZmE3YTEpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNToyMiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjIyICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0y MTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhN2ExKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MjIgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToyNToyNCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjI1OjI1ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6MjU6MzAgICAgICAgICAgICAgZHV0 LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTcwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04g VFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 Mjg4MTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIzLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0 eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhF UiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZY TEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTI4ODk2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEy MywgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjI1OjMwICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMToyNTozMiAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rp b24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29u bmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2Vz L21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5p bmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAg ICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzM5NCk6 IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjI1OjMxLjg0MRtbMG06IGdka19j dXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5 KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8g dXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0 ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtb MG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRh cmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlz YWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFT UFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBh cHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdl bGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAg ICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0g QVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1sw bQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1sz NG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFt ICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtb MzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMg ICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgV2UgYXJlIGlu IEZyYW5jZSwgd2Ugc2F5IFNrYXBwZWUuG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9w U1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCBPSz8gTWVyY2kuG1swbQ0KG1sz Mm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFt ICAgfCAgICAgICAgICAgICAtLSBTZWJhc3RpZW4gQ2hhYmFsG1swbQ0KG1szMm0bWzFtICAgICAg IGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfBtbMG0NChtb MzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0b WzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhNzlmKS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToyNTozNCAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjI1OjM0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weDI1NmZhNzlmKS9JUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIy NWYwIikKMDMvMDcvMjAyMCAwMToyNTozNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM0ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToyNTozNCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dU UF9VX0hlYWRlcih0ZWlkPTB4MjU2ZmE3OWYpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjI1OjM0ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhNzlmKS9JUCgpL1RDUCgpL1JhdygiWCIqMjApXSwg aWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNCAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM0ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVAoKS9TQ1RQKCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjI1OjM0ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzQg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhNzlmKS9JUCgpL0lDTVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToy NTozNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToy NTozNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVAoZnJhZz01 KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzQgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAy MCAwMToyNTozNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigp L0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVAo KS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6 MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5 ZikvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6MjU6MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgy NTZmYTc5ZikvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjI1OjM1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4MjU2ZmE3OWYpL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYw IikKMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4N ClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM1ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2NigpL0lQdjZFeHRIZHJGcmFnbWVudCgpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM1 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2NigpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM1 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2NigpL1VEUCgpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjI1OjM1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2NigpL1RD UCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjI1OjM1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2 NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 MjU6MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjU2ZmE3 OWYpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6MjU6MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHgyNTZmYTc5ZikvSVB2NigpL0lQdjZFeHRIZHJGcmFnbWVudCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNTozNSAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM1ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhNzlmKS9JUHY2KCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjI1OjM2ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzYg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjU2ZmE3OWYpL0lQdjYoKS9VRFAoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MjU6MzYgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MToyNTozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ djYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNTZmYTc5ZikvSVB2Nigp L1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMToyNToz NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjI1OjM2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI1NmZhNzlm KS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMToyNTozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjI1OjM2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eDI1NmZhNzlmKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjI1OjM2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MjU6MzggICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMToyNTozOCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjI1OjQzICAgICAgICAgICAgIGR1dC4xMC4y NDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEy LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkw IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0 NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkwIC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9 OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0g bGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0 eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBs NF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBV RFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VO S05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQ ICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0 aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgw DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW NF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVS X0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlw ZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktO T1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBE ZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRf VU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNr ZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1 IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdz PTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19J UFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEyMiAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVu Z3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgw ODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktO T1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGlu YXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1VE UCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19J UFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5O RVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcgcHR5 cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5L Tk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ1MzQxNSAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW Nl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tl dDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0g MjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1f R09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiAN CnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAw OjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0g bmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5O RVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhF UiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZY TEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1 MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5n dGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDI0NTM0MTUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEz OCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBV IElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gMjQ1MzQxNSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBs ZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVO TkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0 X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVE UCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW Nl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVS X0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDUzNDE1IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6MjU6 NDMgICAgICAgICAgICAgICAgICAgICBUZXN0RGRwR3RwOiBUZXN0IENhc2UgdGVzdF9jbGZ0ZXJf Z3RwY19wZiBSZXN1bHQgUEFTU0VEOgowMy8wNy8yMDIwIDAxOjI1OjQzICAgICAgICAgICAgIGR1 dC4xMC4yNDAuMTgzLjI0Nzogc3RvcAowMy8wNy8yMDIwIDAxOjI1OjQzICAgICAgICAgICAgIGR1 dC4xMC4yNDAuMTgzLjI0Nzogc3RvcA0NClRlbGxpbmcgY29yZXMgdG8gc3RvcC4uLg0KV2FpdGlu ZyBmb3IgbGNvcmVzIHRvIGZpbmlzaC4uLg0KDQogIC0tLS0tLS0gRm9yd2FyZCBTdGF0cyBmb3Ig UlggUG9ydD0gMC9RdWV1ZT0gMCAtPiBUWCBQb3J0PSAxL1F1ZXVlPSAwIC0tLS0tLS0NCiAgUlgt cGFja2V0czogMjggICAgICAgICAgICAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJv cHBlZDogMCAgICAgICAgICAgICANCg0KICAtLS0tLS0tIEZvcndhcmQgU3RhdHMgZm9yIFJYIFBv cnQ9IDAvUXVldWU9NDYgLT4gVFggUG9ydD0gMS9RdWV1ZT00NiAtLS0tLS0tDQogIFJYLXBhY2tl dHM6IDQgICAgICAgICAgICAgIFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRYLWRyb3BwZWQ6 IDAgICAgICAgICAgICAgDQoNCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3J3YXJkIHN0YXRp c3RpY3MgZm9yIHBvcnQgMCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSWC1wYWNrZXRzOiAz MiAgICAgICAgICAgICBSWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFJYLXRvdGFsOiAzMg0KICBU WC1wYWNrZXRzOiAwICAgICAgICAgICAgICBUWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFRYLXRv dGFsOiAwDQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t IEZvcndhcmQgc3RhdGlzdGljcyBmb3IgcG9ydCAxICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQog IFJYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAgICAgICAgICAgUlgt dG90YWw6IDANCiAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAg ICAgICAgICBUWC10b3RhbDogMA0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiAgKysrKysrKysr KysrKysrIEFjY3VtdWxhdGVkIGZvcndhcmQgc3RhdGlzdGljcyBmb3IgYWxsIHBvcnRzKysrKysr KysrKysrKysrDQogIFJYLXBhY2tldHM6IDMyICAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAg ICAgICAgICAgUlgtdG90YWw6IDMyDQogIFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRYLWRy b3BwZWQ6IDAgICAgICAgICAgICAgVFgtdG90YWw6IDANCiAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K DQpEb25lLgowMy8wNy8yMDIwIDAxOjI1OjQzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0 NzogZGRwIGdldCBsaXN0IDAKMDMvMDcvMjAyMCAwMToyNTo0NCAgICAgICAgICAgICBkdXQuMTAu MjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwDQ0KUHJvZmlsZSBudW1iZXIgaXM6IDENCg0KUHJv ZmlsZSAwOg0KVHJhY2sgaWQ6ICAgICAweDgwMDAwMDA4DQpWZXJzaW9uOiAgICAgIDEuMC4zLjAN ClByb2ZpbGUgbmFtZTogR1RQdjEtQy9VIElQdjQvSVB2NiBwYXlsb2FkDQoKMDMvMDcvMjAyMCAw MToyNTo0NCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RvcCBhbGwKMDMv MDcvMjAyMCAwMToyNTo0NCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3Rv cCBhbGwNDQpTdG9wcGluZyBwb3J0cy4uLg0KDQpQb3J0IDA6IGxpbmsgc3RhdGUgY2hhbmdlIGV2 ZW50DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQoNClBvcnQgMTogbGluayBzdGF0ZSBjaGFu Z2UgZXZlbnQNCkRvbmUKMDMvMDcvMjAyMCAwMToyNTo0NSAgICAgICAgICAgICBkdXQuMTAuMjQw LjE4My4yNDc6IGRkcCBkZWwgMCAvdG1wL2d0cC5iYWsKMDMvMDcvMjAyMCAwMToyNTo0NSAgICAg ICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBkZWwgMCAvdG1wL2d0cC5iYWsNCjAzLzA3 LzIwMjAgMDE6MjU6NDUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxp c3QgMAowMy8wNy8yMDIwIDAxOjI1OjQ1ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzog ZGRwIGdldCBsaXN0IDANDQpQcm9maWxlIG51bWJlciBpczogMA0KCjAzLzA3LzIwMjAgMDE6MjU6 NDUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0YXJ0IGFsbAowMy8wNy8y MDIwIDAxOjI1OjQ2ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCBzdGFydCBh bGwNDQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2DQpQb3J0IDE6IDNDOkZEOkZFOkEzOkEwOjk3 DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpEb25lCjAzLzA3LzIwMjAgMDE6MjU6NDYgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBxdWl0CjAzLzA3LzIwMjAgMDE6MjU6NDggICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBxdWl0DQ0KDQpTdG9wcGluZyBwb3J0IDAuLi4N ClN0b3BwaW5nIHBvcnRzLi4uDQpEb25lDQoNClN0b3BwaW5nIHBvcnQgMS4uLg0KU3RvcHBpbmcg cG9ydHMuLi4NCkRvbmUNCg0KU2h1dHRpbmcgZG93biBwb3J0IDAuLi4NCkNsb3NpbmcgcG9ydHMu Li4NCkRvbmUNCg0KU2h1dHRpbmcgZG93biBwb3J0IDEuLi4NCkNsb3NpbmcgcG9ydHMuLi4NCkRv bmUNCg0KQnllLi4uCjAzLzA3LzIwMjAgMDE6MjU6NDggICAgICAgICAgICAgICAgICAgICBUZXN0 RGRwR3RwOiBUZXN0IENhc2UgdGVzdF9jbGZ0ZXJfZ3RwY192ZiBCZWdpbgowMy8wNy8yMDIwIDAx OjI1OjQ4ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogCjAzLzA3LzIwMjAgMDE6MjU6 NDggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMToyNTo0OCAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IG1vZHByb2JlIHVpbwowMy8wNy8yMDIwIDAx OjI1OjQ4ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogCjAzLzA3LzIwMjAgMDE6MjU6 NDggICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBsc21vZCB8IGdyZXAgaWdiX3Vpbwow My8wNy8yMDIwIDAxOjI1OjQ4ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogCjAzLzA3 LzIwMjAgMDE6MjU6NDggICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBpbnNtb2QgLi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9rbW9kL2lnYl91aW8ua28KMDMvMDcvMjAyMCAwMToy NTo0OCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjI1OjQ4 ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogbHNtb2QgfCBncmVwIGlnYl91aW8KMDMv MDcvMjAyMCAwMToyNTo0OCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGlnYl91aW8g ICAgICAgICAgICAgICAgMjA0ODAgIDANCnVpbyAgICAgICAgICAgICAgICAgICAgMjA0ODAgIDEg aWdiX3VpbwowMy8wNy8yMDIwIDAxOjI1OjUzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0 NzogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjgzXDowMi4wL3ZlbmRvcgowMy8wNy8y MDIwIDAxOjI1OjUzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogMHg4MDg2CjAzLzA3 LzIwMjAgMDE6MjU6NTMgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBjYXQgL3N5cy9i dXMvcGNpL2RldmljZXMvMDAwMFw6ODNcOjAyLjAvZGV2aWNlCjAzLzA3LzIwMjAgMDE6MjU6NTMg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiAweDE1NGMKMDMvMDcvMjAyMCAwMToyNTo1 MyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNl cy8wMDAwXDo4M1w6MDIuMC92ZW5kb3IKMDMvMDcvMjAyMCAwMToyNTo1MyAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IDB4ODA4NgowMy8wNy8yMDIwIDAxOjI1OjUzICAgICAgICAgICAg IGR1dC4xMC4yNDAuMTgzLjI0NzogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjgzXDow Mi4wL2RldmljZQowMy8wNy8yMDIwIDAxOjI1OjUzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogMHgxNTRjCjAzLzA3LzIwMjAgMDE6MjU6NTggICAgICAgICAgICAgZHV0LjEwLjI0MC4x ODMuMjQ3OiBsc29mIC1pOjYwMDIKMDMvMDcvMjAyMCAwMToyNTo1OCAgICAgICAgICAgICBkdXQu MTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjI2OjAyICAgICAgICAgICAgIGR1dC4xMC4y NDAuMTgzLjI0NzogVmlydHVhbCBtYWNoaW5lIHN0YXR1czogaRtbSxtbRGluG1tLG1tEG1tEaW5m G1tLG1tEG1tEG1tEaW5mbxtbSxtbRBtbRBtbRBtbRGluZm8gG1tLG1tEG1tEG1tEG1tEG1tEaW5m byBzG1tLG1tEG1tEG1tEG1tEG1tEG1tEaW5mbyBzdBtbSxtbRBtbRBtbRBtbRBtbRBtbRBtbRGlu Zm8gc3RhG1tLG1tEG1tEG1tEG1tEG1tEG1tEG1tEG1tEaW5mbyBzdGF0G1tLG1tEG1tEG1tEG1tE G1tEG1tEG1tEG1tEG1tEaW5mbyBzdGF0dRtbSxtbRBtbRBtbRBtbRBtbRBtbRBtbRBtbRBtbRBtb RGluZm8gc3RhdHVzG1tLDQ0KVk0gc3RhdHVzOiBydW5uaW5nDQowMy8wNy8yMDIwIDAxOjI3OjAw ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHMgLWQgfgowMy8wNy8yMDIwIDAxOjI3 OjAwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogL3Jvb3QKMDMvMDcvMjAyMCAwMToy NzowMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC90bXAvICYmIGNkIH4KMDMv MDcvMjAyMCAwMToyNzowMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHNuYXAubHhk ICBzeXN0ZW1kLXByaXZhdGUtNjQxMTk1ZTJhYmM4NDBlYzliMWUzMmNmODY4ZDIzZmQtc3lzdGVt ZC1sb2dpbmQuc2VydmljZS12S05CYmYgIHN5c3RlbWQtcHJpdmF0ZS02NDExOTVlMmFiYzg0MGVj OWIxZTMyY2Y4NjhkMjNmZC1zeXN0ZW1kLXJlc29sdmVkLnNlcnZpY2UtQk9jZm1qICBzeXN0ZW1k LXByaXZhdGUtNjQxMTk1ZTJhYmM4NDBlYzliMWUzMmNmODY4ZDIzZmQtc3lzdGVtZC10aW1lc3lu Y2Quc2VydmljZS15WklROWYKMDMvMDcvMjAyMCAwMToyNzowMCAgICB2aXJ0ZHV0LjEwLjI0MC4x ODMuMjQ3OjYwMDI6IHNjcCAtdiAtUCA2MDAyIC1vIE5vSG9zdEF1dGhlbnRpY2F0aW9uRm9yTG9j YWxob3N0PXllcyBkZXAvZHBkay50YXIuZ3ogcm9vdEAxMC4yNDAuMTgzLjI0NzovdG1wLwowMy8w Ny8yMDIwIDAxOjI3OjAzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogdWxpbWl0IC1j IHVubGltaXRlZAowMy8wNy8yMDIwIDAxOjI3OjAzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogCjAzLzA3LzIwMjAgMDE6Mjc6MDMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiBybSAtcmYgfi9kcGRrCjAzLzA3LzIwMjAgMDE6Mjc6MDUgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzowNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3 OjYwMDI6IHRhciB6eGYgL3RtcC9kcGRrLnRhci5neiAtQyB+CjAzLzA3LzIwMjAgMDE6Mjc6MDcg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIH4vZHBkawowMy8wNy8yMDIwIDAxOjI3OjA3 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogQUJJX1ZFUlNJT04gIGFwcCAgYnVpbGR0 b29scyAgY29uZmlnICBkZXZ0b29scyAgZG9jICBkcGRrLmxvZyAgZHJpdmVycyAgZXhhbXBsZXMg IEdOVW1ha2VmaWxlICBrZXJuZWwgIGxpYiAgbGljZW5zZSAgTUFJTlRBSU5FUlMgIE1ha2VmaWxl ICBtZXNvbi5idWlsZCAgbWVzb25fb3B0aW9ucy50eHQgIG1rICBSRUFETUUgIHVzZXJ0b29scyAg VkVSU0lPTgowMy8wNy8yMDIwIDAxOjI3OjA3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAw MjogY2Qgfi9kcGRrCjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IGFsaWFzIGxzPSdscyAtLWNvbG9yPW5vbmUnCjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGdyZXAgLS1jb2xvcj1uZXZlciAicHJvY2Vzc29yIiAvcHJv Yy9jcHVpbmZvCjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBwcm9jZXNzb3IJOiAwDQpwcm9jZXNzb3IJOiAxDQpwcm9jZXNzb3IJOiAyDQpwcm9jZXNz b3IJOiAzDQpwcm9jZXNzb3IJOiA0DQpwcm9jZXNzb3IJOiA1DQpwcm9jZXNzb3IJOiA2DQpwcm9j ZXNzb3IJOiA3CjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBsc3BjaSAtRG5uIHwgZ3JlcCAtaSBldGgKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IDAwMDA6MDA6MDMuMCBFdGhlcm5ldCBjb250cm9sbGVy IFswMjAwXTogSW50ZWwgQ29ycG9yYXRpb24gODI1NDBFTSBHaWdhYml0IEV0aGVybmV0IENvbnRy b2xsZXIgWzgwODY6MTAwZV0gKHJldiAwMykNCjAwMDA6MDA6MDQuMCBFdGhlcm5ldCBjb250cm9s bGVyIFswMjAwXTogSW50ZWwgQ29ycG9yYXRpb24gRXRoZXJuZXQgVmlydHVhbCBGdW5jdGlvbiA3 MDAgU2VyaWVzIFs4MDg2OjE1NGNdIChyZXYgMDIpCjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEVVQ6IFswMDAwOjAwOjAzLjAgODA4NjoxMDBlXSAb WzMxOzFtU2tpcHBlZDogVW5rbm93bi9ub3Qgc2VsZWN0ZWQbWzBtCjAzLzA3LzIwMjAgMDE6Mjc6 MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2Rldmlj ZXMvMDAwMFw6MDBcOjA0LjAvdmVuZG9yCjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmlydGR1dC4x MC4yNDAuMTgzLjI0Nzo2MDAyOiAweDgwODYKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6 MDQuMC9kZXZpY2UKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3 OjYwMDI6IDB4MTU0YwowMy8wNy8yMDIwIDAxOjI3OjA3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3ZlbmRvcgow My8wNy8yMDIwIDAxOjI3OjA3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogMHg4MDg2 CjAzLzA3LzIwMjAgMDE6Mjc6MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQg L3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvZGV2aWNlCjAzLzA3LzIwMjAgMDE6 Mjc6MDcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAweDE1NGMKMDMvMDcvMjAyMCAw MToyNzowNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kv ZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERSSVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDANClBD SV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAw MDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAw MDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAwMToyNzowNyAgICB2aXJ0ZHV0LjEwLjI0MC4x ODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2ZXIgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6 MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDow NC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzowOCAg ICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8w MDAwXDowMFw6MDQuMC9udW1hX25vZGUKMDMvMDcvMjAyMCAwMToyNzowOCAgICB2aXJ0ZHV0LjEw LjI0MC4xODMuMjQ3OjYwMDI6IC0xCjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4y NDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAv dWV2ZW50CjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiBEUklWRVI9aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VC U1lTX0lEPTgwODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBj aTp2MDAwMDgwODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3 LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAtLWNvbG9y PW5ldmVyIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25ldAowMy8wNy8yMDIw IDAxOjI3OjA4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHM6IGNhbm5vdCBhY2Nl c3MgJy9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQnOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50CjAz LzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEUklWRVI9 aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgw ODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgw ODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6 Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMFw6MDBcOjA0LjAvbmV0L04vQS9hZGRyZXNzCjAzLzA3LzIwMjAgMDE6Mjc6MDgg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQ6ICcvc3lzL2J1cy9wY2kvZGV2aWNl cy8wMDAwOjAwOjA0LjAvbmV0L04vQS9hZGRyZXNzJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQowMy8wNy8yMDIwIDAxOjI3OjA4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogZWNo byAwMDAwOjAwOjA0LjAgPiAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC9kcml2 ZXIvdW5iaW5kCjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiAKMDMvMDcvMjAyMCAwMToyNzowOCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6 IG1vZHByb2JlIGk0MGV2ZgowMy8wNy8yMDIwIDAxOjI3OjA4ICAgIHZpcnRkdXQuMTAuMjQwLjE4 My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBlY2hvIDAwMDA6MDA6MDQuMCA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL2k0MGV2Zi9i aW5kCjAzLzA3LzIwMjAgMDE6Mjc6MDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAt YmFzaDogL3N5cy9idXMvcGNpL2RyaXZlcnMvaTQwZXZmL2JpbmQ6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzowOCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcv MjAyMCAwMToyNzowOCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IFBDSV9DTEFTUz0y MDAwMA0KUENJX0lEPTgwODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9U X05BTUU9MDAwMDowMDowNC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAw ODA4NnNkMDAwMDAwMDBiYzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjI3OjA5ICAgIHZpcnRkdXQu MTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDow NC4wL3VldmVudAowMy8wNy8yMDIwIDAxOjI3OjA5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgw ODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgw ODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6 Mjc6MTAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mjc6MTAgICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMN ClBDSV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9E QUxJQVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBp MDAKMDMvMDcvMjAyMCAwMToyNzoxMSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNh dCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAw MToyNzoxMSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IFBDSV9DTEFTUz0yMDAwMA0K UENJX0lEPTgwODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9 MDAwMDowMDowNC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNk MDAwMDAwMDBiYzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjI3OjEyICAgIHZpcnRkdXQuMTAuMjQw LjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3Vl dmVudAowMy8wNy8yMDIwIDAxOjI3OjEzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog UENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgwODY6MDAw MA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgwODZkMDAw MDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6Mjc6MTQg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBtb2Rwcm9iZSBpYXZmCjAzLzA3LzIwMjAg MDE6Mjc6MTQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToy NzoxNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMDAwMDowMDowNC4wID4g L3N5cy9idXMvcGNpL2RyaXZlcnMvaWF2Zi9iaW5kCjAzLzA3LzIwMjAgMDE6Mjc6MTQgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzoxNCAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6 MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMToyNzoxNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3 OjYwMDI6IERSSVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBD SV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJ QVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAK MDMvMDcvMjAyMCAwMToyNzoxNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC0t Y29sb3I9bmV2ZXIgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvbmV0CjAzLzA3 LzIwMjAgMDE6Mjc6MTQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBsczogY2Fubm90 IGFjY2VzcyAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowNC4wL25ldCc6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzoxNSAgICB2aXJ0ZHV0LjEwLjI0MC4x ODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZl bnQKMDMvMDcvMjAyMCAwMToyNzoxNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERS SVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNf SUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYw MDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAy MCAwMToyNzoxNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2 ZXIgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6 Mjc6MTUgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAn L3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowNC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzoxNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcv MjAyMCAwMToyNzoxNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERSSVZFUj1pYXZm DQpQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9ODA4Njow MDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAwODA4NmQw MDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAwMToyNzox NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2ZXIgL3N5cy9i dXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6Mjc6MTYgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAnL3N5cy9idXMv cGNpL2RldmljZXMvMDAwMDowMDowNC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK MDMvMDcvMjAyMCAwMToyNzoxNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAv c3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMToy NzoxNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERSSVZFUj1pYXZmDQpQQ0lfQ0xB U1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lf U0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2 MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAwMToyNzoxNyAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2ZXIgL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMFw6MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6Mjc6MTcgICAgdmlydGR1dC4x MC4yNDAuMTgzLjI0Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAnL3N5cy9idXMvcGNpL2Rldmlj ZXMvMDAwMDowMDowNC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAy MCAwMToyNzoxOCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9w Y2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMToyNzoxOCAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERSSVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDAN ClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1F PTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZz ZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAwMToyNzoxOCAgICB2aXJ0ZHV0LjEwLjI0 MC4xODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2ZXIgL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MFw6MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6Mjc6MTggICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDow MDowNC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzox OSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IEZhaWwgdG8gYmluZCB0aGUgZGV2aWNl IHdpdGggdGhlIGxpbnV4IGRyaXZlcgowMy8wNy8yMDIwIDAxOjI3OjE5ICAgIHZpcnRkdXQuMTAu MjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4w L3VldmVudAowMy8wNy8yMDIwIDAxOjI3OjE5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAw MjogRFJJVkVSPWlhdmYNClBDSV9DTEFTUz0yMDAwMA0KUENJX0lEPTgwODY6MTU0Qw0KUENJX1NV QlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9MDAwMDowMDowNC4wDQpNT0RBTElBUz1w Y2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNkMDAwMDAwMDBiYzAyc2MwMGkwMAowMy8w Ny8yMDIwIDAxOjI3OjE5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHMgLS1jb2xv cj1uZXZlciAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC9uZXQKMDMvMDcvMjAy MCAwMToyNzoxOSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzOiBjYW5ub3QgYWNj ZXNzICcvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjA0LjAvbmV0JzogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQowMy8wNy8yMDIwIDAxOjI3OjE5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogaXAgbGluayBzaG93IE4vQQowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQu MTAuMjQwLjE4My4yNDc6NjAwMjogRGV2aWNlICJOL0EiIGRvZXMgbm90IGV4aXN0LgowMy8wNy8y MDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVz L3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3VldmVudAowMy8wNy8yMDIwIDAxOjI3OjIwICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogRFJJVkVSPWlhdmYNClBDSV9DTEFTUz0yMDAw MA0KUENJX0lEPTgwODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05B TUU9MDAwMDowMDowNC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4 NnNkMDAwMDAwMDBiYzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAu MjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4w L25ldC9OL0EvYWRkcmVzcwowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4 My4yNDc6NjAwMjogY2F0OiAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowNC4wL25ldC9O L0EvYWRkcmVzcyc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMToyNzoy MCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGlwIC1mYW1pbHkgaW5ldDYgYWRkcmVz cyBzaG93IGRldiBOL0EgfCBhd2sgJy9pbmV0Ni8geyBwcmludCAkMiB9JwowMy8wNy8yMDIwIDAx OjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogRGV2aWNlICJOL0EiIGRvZXMg bm90IGV4aXN0LgowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogaXAgLWZhbWlseSBpbmV0IGFkZHJlc3Mgc2hvdyBkZXYgTi9BIHwgYXdrICcvaW5ldC8g eyBwcmludCAkMiB9JwowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogRGV2aWNlICJOL0EiIGRvZXMgbm90IGV4aXN0LgowMy8wNy8yMDIwIDAxOjI3OjIw ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogeydwb3J0JzogPG5ldF9kZXZpY2UuTmV0 RGV2aWNlIG9iamVjdCBhdCAweDdmNmZjYzc4OGUxMD4sICdwY2knOiAnMDAwMDowMDowNC4wJywg J3R5cGUnOiAnODA4NjoxNTRjJywgJ251bWEnOiAtMSwgJ2ludGYnOiAnTi9BJywgJ21hYyc6ICdO L0EnLCAnaXB2Nic6ICdOb3QgY29ubmVjdGVkJywgJ2lwdjQnOiAnRGV2aWNlICJOJ30KMDMvMDcv MjAyMCAwMToyNzoyMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGV4cG9ydCBSVEVf VEFSR0VUPXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCjAzLzA3LzIwMjAgMDE6Mjc6MjAgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzoyMCAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGV4cG9ydCBSVEVfU0RLPWBwd2RgCjAzLzA3LzIwMjAg MDE6Mjc6MjAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToy NzoyMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHNlZCAtaSAncy9DT05GSUdfUlRF X0VBTF9JR0JfVUlPPW4vQ09ORklHX1JURV9FQUxfSUdCX1VJTz15L2cnIGNvbmZpZy9jb21tb25f YmFzZQowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog CjAzLzA3LzIwMjAgMDE6Mjc6MjAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybSAt cmYgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKMDMvMDcvMjAyMCAwMToyNzoyMCAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IAowMy8wNy8yMDIwIDAxOjI3OjIwICAgIHZpcnRkdXQu MTAuMjQwLjE4My4yNDc6NjAwMjogcm0gLXJmIC4vYXBwL3Rlc3QvdGVzdF9yZXNvdXJjZV9jLnJl cy5vCjAzLzA3LzIwMjAgMDE6Mjc6MjAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAK MDMvMDcvMjAyMCAwMToyNzoyMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHJtIC1y ZiAuL2FwcC90ZXN0L3Rlc3RfcmVzb3VyY2VfdGFyLnJlcy5vCjAzLzA3LzIwMjAgMDE6Mjc6MjAg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToyNzoyMCAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHJtIC1yZiAuL2FwcC90ZXN0L3Rlc3RfcGNpX3N5 c2ZzLnJlcy5vCjAzLzA3LzIwMjAgMDE6Mjc6MjAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiAKMDMvMDcvMjAyMCAwMToyNzoyMCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6 IG1ha2UgLWogOCBpbnN0YWxsIFQ9eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MgIE1BS0VfUEFV U0U9bgowMy8wNy8yMDIwIDAxOjMzOjI0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT0gV0FSTklORyA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpJdCBpcyByZWNvbW1lbmRlZCB0byBidWlsZCBEUERLIHVzaW5nICdtZXNvbicg YW5kICduaW5qYScNClNlZSBodHRwczovL2RvYy5kcGRrLm9yZy9ndWlkZXMvbGludXhfZ3NnL2J1 aWxkX2RwZGsuaHRtbA0KQnVpbGRpbmcgRFBESyB3aXRoICdtYWtlJyB3aWxsIGJlIGRlcHJlY2F0 ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpDb25maWd1cmF0aW9uIGRvbmUgdXNp bmcgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MNCg0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09IFdBUk5JTkcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KSXQgaXMgcmVjb21tZW5k ZWQgdG8gYnVpbGQgRFBESyB1c2luZyAnbWVzb24nIGFuZCAnbmluamEnDQpTZWUgaHR0cHM6Ly9k b2MuZHBkay5vcmcvZ3VpZGVzL2xpbnV4X2dzZy9idWlsZF9kcGRrLmh0bWwNCkJ1aWxkaW5nIERQ REsgd2l0aCAnbWFrZScgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCg0KPT0gQnVpbGQgbGliDQo9PSBCdWlsZCBsaWIvbGlicnRlX2t2YXJncw0KPT0gQnVp bGQgbGliL2xpYnJ0ZV90ZWxlbWV0cnkNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2t2YXJn cy5oDQogIENDIHJ0ZV9rdmFyZ3Mubw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdGVsZW1l dHJ5LmgNCiAgQ0MgdGVsZW1ldHJ5Lm8NCiAgQ0MgdGVsZW1ldHJ5X2RhdGEubw0KICBDQyB0ZWxl bWV0cnlfbGVnYWN5Lm8NCiAgQVIgbGlicnRlX2t2YXJncy5hDQogIElOU1RBTEwtTElCIGxpYnJ0 ZV9rdmFyZ3MuYQ0KICBBUiBsaWJydGVfdGVsZW1ldHJ5LmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X3RlbGVtZXRyeS5hDQo9PSBCdWlsZCBsaWIvbGlicnRlX2VhbA0KPT0gQnVpbGQgbGliL2xpYnJ0 ZV9lYWwvaW5jbHVkZQ0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfYWxhcm0uaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfYml0b3BzLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRl X2JpdG1hcC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9idXMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9ydGVfY2xhc3MuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfY29tbW9uLmgNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX2NvbXBhdC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0 ZV9kZWJ1Zy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9kZXYuaA0KICBTWU1MSU5LLUZJ TEUgaW5jbHVkZS9ydGVfZGV2YXJncy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9lYWwu aA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfZWFsX2ludGVycnVwdHMuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfZWFsX3BhZ2luZy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0 ZV9lYWxfbWVtY29uZmlnLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2VhbF90cmFjZS5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9lcnJuby5oDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL3J0ZV9mYmFycmF5LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2Z1bmN0aW9uX3Zl cnNpb25pbmcuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfaGV4ZHVtcC5oDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9oeXBlcnZpc29yLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUv cnRlX2ludGVycnVwdHMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfa2VlcGFsaXZlLmgN CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2xhdW5jaC5oDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL3J0ZV9sY29yZS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9sb2cuaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfbWFsbG9jLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRl X21lbXpvbmUuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWVtb3J5LmgNCiAgU1lNTElO Sy1GSUxFIGluY2x1ZGUvcnRlX3BjaV9kZXZfZmVhdHVyZV9kZWZzLmgNCiAgU1lNTElOSy1GSUxF IGluY2x1ZGUvcnRlX3BjaV9kZXZfZmVhdHVyZXMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfcGVyX2xjb3JlLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3JhbmRvbS5oDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yZWNpcHJvY2FsLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX3NlcnZpY2UuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfc2VydmljZV9jb21w b25lbnQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfc3RyaW5nX2Zucy5oDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV90YWlscS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90 ZXN0LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3RpbWUuaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9ydGVfdHJhY2UuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdHJhY2VfcG9p bnQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdHJhY2VfcG9pbnRfcmVnaXN0ZXIuaA0K ICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdXVpZC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV92ZmlvLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3ZlcnNpb24uaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfYXRvbWljLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRl X2F0b21pY18zMi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9hdG9taWNfNjQuaA0KICBT WU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX2J5dGVvcmRlcl8zMi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ieXRlb3Jk ZXJfNjQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfY3B1ZmxhZ3MuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfY3ljbGVzLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lv LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21jc2xvY2suaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9ydGVfbWVtY3B5LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BhdXNlLmgN CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3ByZWZldGNoLmgNCiAgU1lNTElOSy1GSUxFIGlu Y2x1ZGUvcnRlX3J0bS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yd2xvY2suaA0KICBT WU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfc3BpbmxvY2suaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9ydGVfdGlja2V0bG9jay5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV92ZWN0LmgNCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljLmgNCiAgU1lNTElOSy1GSUxF IGluY2x1ZGUvZ2VuZXJpYy9ydGVfY3B1ZmxhZ3MuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9n ZW5lcmljL3J0ZV9ieXRlb3JkZXIuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9nZW5lcmljL3J0 ZV9jeWNsZXMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9nZW5lcmljL3J0ZV9pby5oDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL2dlbmVyaWMvcnRlX21jc2xvY2suaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9nZW5lcmljL3J0ZV9tZW1jcHkuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9nZW5l cmljL3J0ZV9wYXVzZS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL2dlbmVyaWMvcnRlX3ByZWZl dGNoLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvZ2VuZXJpYy9ydGVfc3BpbmxvY2suaA0KICBT WU1MSU5LLUZJTEUgaW5jbHVkZS9nZW5lcmljL3J0ZV9yd2xvY2suaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9nZW5lcmljL3J0ZV90aWNrZXRsb2NrLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUv Z2VuZXJpYy9ydGVfdmVjdC5oDQo9PSBCdWlsZCBsaWIvbGlicnRlX2VhbC9saW51eA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfa25pX2NvbW1vbi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9vcy5oDQogIENDIGVhbC5vDQogIENDIGVhbF9jcHVmbGFncy5vDQogIENDIGVhbF9odWdl cGFnZV9pbmZvLm8NCiAgQ0MgZWFsX21lbW9yeS5vDQogIENDIGVhbF90aHJlYWQubw0KICBDQyBl YWxfbG9nLm8NCiAgQ0MgZWFsX3ZmaW8ubw0KICBDQyBlYWxfdmZpb19tcF9zeW5jLm8NCiAgQ0Mg ZWFsX21lbWFsbG9jLm8NCiAgQ0MgZWFsX2RlYnVnLm8NCiAgQ0MgZWFsX2xjb3JlLm8NCiAgQ0Mg ZWFsX3RpbWVyLm8NCiAgQ0MgZWFsX2ludGVycnVwdHMubw0KICBDQyBlYWxfYWxhcm0ubw0KICBD QyBlYWxfZGV2Lm8NCiAgQ0MgZWFsX2NvbW1vbl9jb25maWcubw0KICBDQyBlYWxfY29tbW9uX2xj b3JlLm8NCiAgQ0MgZWFsX2NvbW1vbl90aW1lci5vDQogIENDIGVhbF9jb21tb25fbWVtem9uZS5v DQogIENDIGVhbF9jb21tb25fbG9nLm8NCiAgQ0MgZWFsX2NvbW1vbl9sYXVuY2gubw0KICBDQyBl YWxfY29tbW9uX2R5bm1lbS5vDQogIENDIGVhbF9jb21tb25fbWNmZy5vDQogIENDIGVhbF9jb21t b25fbWVtYWxsb2Mubw0KICBDQyBlYWxfY29tbW9uX21lbW9yeS5vDQogIENDIGVhbF9jb21tb25f dGFpbHFzLm8NCiAgQ0MgZWFsX2NvbW1vbl9lcnJuby5vDQogIENDIGVhbF9jb21tb25fY3B1Zmxh Z3Mubw0KICBDQyBlYWxfY29tbW9uX2h5cGVydmlzb3Iubw0KICBDQyBlYWxfY29tbW9uX3N0cmlu Z19mbnMubw0KICBDQyBlYWxfY29tbW9uX2hleGR1bXAubw0KICBDQyBlYWxfY29tbW9uX2RlYnVn Lm8NCiAgQ0MgZWFsX2NvbW1vbl9kZXZhcmdzLm8NCiAgQ0MgZWFsX2NvbW1vbl9jbGFzcy5vDQog IENDIGVhbF9jb21tb25fYnVzLm8NCiAgQ0MgZWFsX2NvbW1vbl9kZXYubw0KICBDQyBlYWxfY29t bW9uX29wdGlvbnMubw0KICBDQyBlYWxfY29tbW9uX3RocmVhZC5vDQogIENDIGVhbF9jb21tb25f cHJvYy5vDQogIENDIGVhbF9jb21tb25fZmJhcnJheS5vDQogIENDIGVhbF9jb21tb25fdXVpZC5v DQogIENDIGVhbF9jb21tb25fdHJhY2Uubw0KICBDQyBlYWxfY29tbW9uX3RyYWNlX2N0Zi5vDQog IENDIGVhbF9jb21tb25fdHJhY2VfcG9pbnRzLm8NCiAgQ0MgZWFsX2NvbW1vbl90cmFjZV91dGls cy5vDQogIENDIHJ0ZV9tYWxsb2Mubw0KICBDQyBob3RwbHVnX21wLm8NCiAgQ0MgbWFsbG9jX2Vs ZW0ubw0KICBDQyBtYWxsb2NfaGVhcC5vDQogIENDIG1hbGxvY19tcC5vDQogIENDIHJ0ZV9rZWVw YWxpdmUubw0KICBDQyBydGVfc2VydmljZS5vDQogIENDIHJ0ZV9yYW5kb20ubw0KICBDQyBlYWxf ZmlsZS5vDQogIENDIHJ0ZV9yZWNpcHJvY2FsLm8NCiAgQ0MgZWFsX3VuaXhfbWVtb3J5Lm8NCiAg Q0MgZWFsX3VuaXhfdGltZXIubw0KICBDQyBydGVfY3B1ZmxhZ3Mubw0KICBDQyBydGVfaHlwZXJ2 aXNvci5vDQogIENDIHJ0ZV9zcGlubG9jay5vDQogIENDIHJ0ZV9jeWNsZXMubw0KICBBUiBsaWJy dGVfZWFsLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX2VhbC5hDQo9PSBCdWlsZCBsaWIvbGlicnRl X3BjaQ0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9yaW5nDQo9PSBCdWlsZCBsaWIvbGlicnRlX3RpbWVy DQo9PSBCdWlsZCBsaWIvbGlicnRlX3N0YWNrDQo9PSBCdWlsZCBsaWIvbGlicnRlX21ldGVyDQo9 PSBCdWlsZCBsaWIvbGlicnRlX2FjbA0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9jZmdmaWxlDQo9PSBC dWlsZCBsaWIvbGlicnRlX2pvYnN0YXRzDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90aW1l ci5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tZXRlci5oDQogIFNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9hY2xfb3NkZXAuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcmluZy5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9jZmdmaWxlLmgNCiAgQ0MgcnRlX21ldGVyLm8N CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BjaS5oDQogIENDIHJ0ZV90aW1lci5vDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9hY2wuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf c3RhY2suaA0KICBDQyBydGVfY2ZnZmlsZS5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9q b2JzdGF0cy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yaW5nX2NvcmUuaA0KICBDQyBy dGVfcGNpLm8NCiAgQ0MgdGJfbWVtLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3N0YWNr X3N0ZC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yaW5nX2VsZW0uaA0KICBDQyBydGVf am9ic3RhdHMubw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfc3RhY2tfbGYuaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfcmluZ19nZW5lcmljLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX3N0YWNrX2xmX2dlbmVyaWMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcmlu Z19jMTFfbWVtLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3JpbmdfaHRzLmgNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX3N0YWNrX2xmX2MxMS5oDQogIEFSIGxpYnJ0ZV9wY2kuYQ0K ICBJTlNUQUxMLUxJQiBsaWJydGVfcGNpLmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3Jp bmdfaHRzX2MxMV9tZW0uaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfc3RhY2tfbGZfc3R1 YnMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcmluZ19wZWVrLmgNCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvcnRlX3JpbmdfcGVla19jMTFfbWVtLmgNCiAgQ0MgcnRlX3N0YWNrLm8NCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3JpbmdfcnRzLmgNCj09IEJ1aWxkIGxpYi9saWJydGVf Z3JhcGgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3JpbmdfcnRzX2MxMV9tZW0uaA0KICBD QyBydGVfcmluZy5vDQogIEFSIGxpYnJ0ZV9tZXRlci5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9t ZXRlci5hDQogIENDIHJ0ZV9hY2wubw0KICBBUiBsaWJydGVfY2ZnZmlsZS5hDQogIElOU1RBTEwt TElCIGxpYnJ0ZV9jZmdmaWxlLmENCiAgQ0MgYWNsX2JsZC5vDQogIENDIGFjbF9nZW4ubw0KICBD QyBydGVfc3RhY2tfc3RkLm8NCiAgQVIgbGlicnRlX2pvYnN0YXRzLmENCiAgSU5TVEFMTC1MSUIg bGlicnRlX2pvYnN0YXRzLmENCiAgQ0MgYWNsX3J1bl9zY2FsYXIubw0KICBBUiBsaWJydGVfcmlu Zy5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9yaW5nLmENCiAgQ0MgYWNsX3J1bl9zc2Uubw0KICBD QyBydGVfc3RhY2tfbGYubw0KICBBUiBsaWJydGVfdGltZXIuYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfdGltZXIuYQ0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9tZW1wb29sDQogIEFSIGxpYnJ0ZV9zdGFj ay5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9zdGFjay5hDQo9PSBCdWlsZCBsaWIvbGlicnRlX2hh c2gNCj09IEJ1aWxkIGxpYi9saWJydGVfcG93ZXINCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRl X2dyYXBoLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2dyYXBoX3dvcmtlci5oDQogIEND IG5vZGUubw0KICBDQyBncmFwaC5vDQogIENDIGdyYXBoX29wcy5vDQogIFNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9tZW1wb29sLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21lbXBvb2xf dHJhY2UuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWVtcG9vbF90cmFjZV9mcC5oDQog IENDIGdyYXBoX2RlYnVnLm8NCiAgQ0MgcnRlX21lbXBvb2wubw0KICBTWU1MSU5LLUZJTEUgaW5j bHVkZS9ydGVfaGFzaC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9oYXNoX2NyYy5oDQog IFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9qaGFzaC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9wb3dlci5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90aGFzaC5oDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9wb3dlcl9lbXB0eV9wb2xsLmgNCiAgU1lNTElOSy1GSUxFIGlu Y2x1ZGUvcnRlX2Zia19oYXNoLmgNCiAgQ0MgcnRlX3Bvd2VyLm8NCiAgQ0MgcnRlX2N1Y2tvb19o YXNoLm8NCiAgQ0MgcG93ZXJfYWNwaV9jcHVmcmVxLm8NCiAgQ0MgcG93ZXJfa3ZtX3ZtLm8NCiAg Q0MgcnRlX2Zia19oYXNoLm8NCiAgQ0MgYWNsX3J1bl9hdngyLm8NCiAgQ0MgZ3JhcGhfc3RhdHMu bw0KICBDQyBncmFwaF9wb3B1bGF0ZS5vDQo9PSBCdWlsZCBsaWIvbGlicnRlX3JjdQ0KICBDQyBy dGVfbWVtcG9vbF9vcHMubw0KICBDQyBndWVzdF9jaGFubmVsLm8NCiAgQ0MgcnRlX21lbXBvb2xf b3BzX2RlZmF1bHQubw0KICBDQyBtZW1wb29sX3RyYWNlX3BvaW50cy5vDQogIENDIHJ0ZV9wb3dl cl9lbXB0eV9wb2xsLm8NCiAgQVIgbGlicnRlX2dyYXBoLmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X2dyYXBoLmENCiAgQ0MgcG93ZXJfcHN0YXRlX2NwdWZyZXEubw0KICBTWU1MSU5LLUZJTEUgaW5j bHVkZS9ydGVfcmN1X3FzYnIuaA0KICBDQyBydGVfcmN1X3FzYnIubw0KICBBUiBsaWJydGVfbWVt cG9vbC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9tZW1wb29sLmENCj09IEJ1aWxkIGxpYi9saWJy dGVfbWJ1Zg0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9yaWINCiAgQVIgbGlicnRlX3Bvd2VyLmENCiAg SU5TVEFMTC1MSUIgbGlicnRlX3Bvd2VyLmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21i dWYuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9jb3JlLmgNCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvcnRlX21idWZfcHR5cGUuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf bWJ1Zl9wb29sX29wcy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yaWIuaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9keW4uaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfcmliNi5oDQogIENDIHJ0ZV9yaWIubw0KICBDQyBydGVfbWJ1Zi5vDQogIENDIHJ0ZV9yaWI2 Lm8NCiAgQ0MgcnRlX21idWZfcHR5cGUubw0KICBDQyBydGVfbWJ1Zl9wb29sX29wcy5vDQogIEFS IGxpYnJ0ZV9hY2wuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfYWNsLmENCiAgQ0MgcnRlX21idWZf ZHluLm8NCiAgQVIgbGlicnRlX2hhc2guYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfaGFzaC5hDQo9 PSBCdWlsZCBsaWIvbGlicnRlX2xwbQ0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9lZmQNCiAgQVIgbGli cnRlX3JjdS5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9yY3UuYQ0KPT0gQnVpbGQgbGliL2xpYnJ0 ZV9tZW1iZXINCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2xwbS5oDQogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9scG02LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2VmZC5oDQog IENDIHJ0ZV9lZmQubw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbHBtX3NzZS5oDQogIEND IHJ0ZV9scG0ubw0KICBDQyBydGVfbHBtNi5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9t ZW1iZXIuaA0KICBDQyBydGVfbWVtYmVyLm8NCiAgQ0MgcnRlX21lbWJlcl9odC5vDQogIENDIHJ0 ZV9tZW1iZXJfdmJmLm8NCiAgQVIgbGlicnRlX3JpYi5hDQogIEFSIGxpYnJ0ZV9tYnVmLmENCiAg SU5TVEFMTC1MSUIgbGlicnRlX3JpYi5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9tYnVmLmENCj09 IEJ1aWxkIGxpYi9saWJydGVfZmliDQo9PSBCdWlsZCBsaWIvbGlicnRlX25ldA0KPT0gQnVpbGQg bGliL2xpYnJ0ZV9iYmRldg0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9jcnlwdG9kZXYNCj09IEJ1aWxk IGxpYi9saWJydGVfY29tcHJlc3NkZXYNCiAgQVIgbGlicnRlX2xwbS5hDQogIElOU1RBTEwtTElC IGxpYnJ0ZV9scG0uYQ0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9yZW9yZGVyDQogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9pcC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9iYmRldl9vcC5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9maWIuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9ydGVfdGNwLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2JiZGV2LmgNCiAgU1lNTElO Sy1GSUxFIGluY2x1ZGUvcnRlX2ZpYjYuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdWRw LmgNCiAgQ0MgcnRlX2ZpYi5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9iYmRldl9wbWQu aA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfZXNwLmgNCiAgQ0MgcnRlX2JiZGV2Lm8NCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3NjdHAuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfaWNtcC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9jcnlwdG8uaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfYXJwLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2NyeXB0 b19hc3ltLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V0aGVyLmgNCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvcnRlX2NyeXB0b19zeW0uaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf Z3JlLmgNCiAgQVIgbGlicnRlX21lbWJlci5hDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9u ZXQuaA0KICBBUiBsaWJydGVfZWZkLmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2NyeXB0 b2Rldi5oDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9tZW1iZXIuYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfZWZkLmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX25ldF9jcmMuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfY3J5cHRvZGV2X3RyYWNlLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX2NyeXB0b2Rldl9wbWQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbXBscy5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9oaWdpZy5oDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL3J0ZV9jcnlwdG9kZXZfdHJhY2VfZnAuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf Z3RwLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3Z4bGFuLmgNCiAgQ0MgcnRlX25ldC5v DQogIENDIHJ0ZV9jcnlwdG9kZXYubw0KICBDQyBydGVfY3J5cHRvZGV2X3BtZC5vDQogIENDIHJ0 ZV9uZXRfY3JjLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2NvbXAuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfY29tcHJlc3NkZXYuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfY29tcHJlc3NkZXZfcG1kLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3Jlb3JkZXIu aA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfY29tcHJlc3NkZXZfaW50ZXJuYWwuaA0KICBD QyBydGVfcmVvcmRlci5vDQogIENDIHJ0ZV9jb21wcmVzc2Rldi5vDQogIENDIHJ0ZV9maWI2Lm8N CiAgQ0MgZGlyMjRfOC5vDQogIENDIHJ0ZV9ldGhlci5vDQogIENDIHJ0ZV9hcnAubw0KICBBUiBs aWJydGVfcmVvcmRlci5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9yZW9yZGVyLmENCiAgQ0MgdHJp ZS5vDQogIENDIHJ0ZV9jb21wcmVzc2Rldl9wbWQubw0KICBDQyBydGVfY29tcC5vDQogIEFSIGxp YnJ0ZV9iYmRldi5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9iYmRldi5hDQogIENDIGNyeXB0b2Rl dl90cmFjZV9wb2ludHMubw0KICBBUiBsaWJydGVfbmV0LmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X25ldC5hDQo9PSBCdWlsZCBsaWIvbGlicnRlX2NtZGxpbmUNCj09IEJ1aWxkIGxpYi9saWJydGVf ZXRoZGV2DQo9PSBCdWlsZCBsaWIvbGlicnRlX3NjaGVkDQogIEFSIGxpYnJ0ZV9maWIuYQ0KICBJ TlNUQUxMLUxJQiBsaWJydGVfZmliLmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V0aGRl di5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldGhkZXZfZHJpdmVyLmgNCiAgQVIgbGli cnRlX2NvbXByZXNzZGV2LmENCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V0aGRldl9jb3Jl LmgNCiAgQVIgbGlicnRlX2NyeXB0b2Rldi5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9jb21wcmVz c2Rldi5hDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldGhkZXZfcGNpLmgNCiAgSU5TVEFM TC1MSUIgbGlicnRlX2NyeXB0b2Rldi5hDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9zY2hl ZC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldGhkZXZfdHJhY2UuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfZXRoZGV2X3RyYWNlX2ZwLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX3NjaGVkX2NvbW1vbi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yZWQuaA0K ICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9jbWRsaW5lLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUv Y21kbGluZV9wYXJzZS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldGhkZXZfdmRldi5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9hcHByb3guaA0KICBTWU1MSU5LLUZJTEUgaW5j bHVkZS9ydGVfZXRoX2N0cmwuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9jbWRsaW5lX3BhcnNl X251bS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL2NtZGxpbmVfcGFyc2VfaXBhZGRyLmgNCiAg Q0MgcnRlX3NjaGVkLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2Rldl9pbmZvLmgNCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvY21kbGluZV9wYXJzZV9ldGhlcmFkZHIuaA0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfZmxvdy5oDQogIENDIHJ0ZV9yZWQubw0KICBDQyBydGVfYXBwcm94 Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2Zsb3dfZHJpdmVyLmgNCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvY21kbGluZV9wYXJzZV9zdHJpbmcuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9ydGVfdG0uaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9jbWRsaW5lX3JkbGluZS5oDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV90bV9kcml2ZXIuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9jbWRsaW5lX3Z0MTAwLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX210ci5oDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tdHJfZHJpdmVyLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvY21kbGluZV9zb2NrZXQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9jbWRsaW5lX2NpcmJ1 Zi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL2NtZGxpbmVfcGFyc2VfcG9ydGxpc3QuaA0KICBD QyBjbWRsaW5lLm8NCiAgQ0MgZXRoZGV2X3ByaXZhdGUubw0KICBDQyBydGVfZXRoZGV2Lm8NCiAg Q0MgcnRlX2NsYXNzX2V0aC5vDQogIENDIGNtZGxpbmVfY2lyYnVmLm8NCiAgQ0MgY21kbGluZV9w YXJzZS5vDQogIENDIGNtZGxpbmVfcGFyc2VfZXRoZXJhZGRyLm8NCiAgQ0MgY21kbGluZV9wYXJz ZV9pcGFkZHIubw0KICBDQyBydGVfZmxvdy5vDQogIENDIHJ0ZV90bS5vDQogIENDIHJ0ZV9tdHIu bw0KICBDQyBjbWRsaW5lX3BhcnNlX251bS5vDQogIENDIGNtZGxpbmVfcGFyc2Vfc3RyaW5nLm8N CiAgQ0MgY21kbGluZV9yZGxpbmUubw0KICBDQyBjbWRsaW5lX3Z0MTAwLm8NCiAgQ0MgZXRoZGV2 X3Byb2ZpbGUubw0KICBDQyBldGhkZXZfdHJhY2VfcG9pbnRzLm8NCiAgQVIgbGlicnRlX3NjaGVk LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3NjaGVkLmENCiAgQ0MgY21kbGluZV9zb2NrZXQubw0K ICBDQyBjbWRsaW5lX3BhcnNlX3BvcnRsaXN0Lm8NCiAgQVIgbGlicnRlX2NtZGxpbmUuYQ0KICBJ TlNUQUxMLUxJQiBsaWJydGVfY21kbGluZS5hDQogIEFSIGxpYnJ0ZV9ldGhkZXYuYQ0KICBJTlNU QUxMLUxJQiBsaWJydGVfZXRoZGV2LmENCj09IEJ1aWxkIGxpYi9saWJydGVfZXZlbnRkZXYNCj09 IEJ1aWxkIGxpYi9saWJydGVfcmF3ZGV2DQo9PSBCdWlsZCBsaWIvbGlicnRlX3Zob3N0DQo9PSBC dWlsZCBsaWIvbGlicnRlX2lwX2ZyYWcNCj09IEJ1aWxkIGxpYi9saWJydGVfc2VjdXJpdHkNCj09 IEJ1aWxkIGxpYi9saWJydGVfZ3JvDQo9PSBCdWlsZCBsaWIvbGlicnRlX21ldHJpY3MNCj09IEJ1 aWxkIGxpYi9saWJydGVfa25pDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldmVudGRldi5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9yYXdkZXYuaA0KICBTWU1MSU5LLUZJTEUgaW5j bHVkZS9ydGVfc2VjdXJpdHkuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfa25pLmgNCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2dyby5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0 ZV9pcF9mcmFnLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21ldHJpY3MuaA0KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfZXZlbnRkZXZfcG1kLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX3Jhd2Rldl9wbWQuaA0KICBDQyBydGVfaXB2NF9mcmFnbWVudGF0aW9uLm8NCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX3NlY3VyaXR5X2RyaXZlci5oDQogIENDIHJ0ZV9rbmkubw0K ICBDQyBydGVfbWV0cmljcy5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldmVudGRldl9w bWRfcGNpLmgNCiAgQ0MgcnRlX2dyby5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV92aG9z dC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldmVudGRldl9wbWRfdmRldi5oDQogIEND IHJ0ZV9zZWN1cml0eS5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ldmVudGRldl90cmFj ZS5oDQogIENDIHJ0ZV9yYXdkZXYubw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfZXZlbnRk ZXZfdHJhY2VfZnAuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdmRwYS5oDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9ldmVudF9yaW5nLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUv cnRlX3ZkcGFfZGV2LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V2ZW50X2V0aF9yeF9h ZGFwdGVyLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIu aA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdmhvc3RfY3J5cHRvLmgNCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXJfcG1kLmgNCiAgQ0MgZmRfbWFuLm8N CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V2ZW50X2NyeXB0b19hZGFwdGVyLmgNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmgNCiAgQVIgbGlicnRl X21ldHJpY3MuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfbWV0cmljcy5hDQogIENDIHJ0ZV9ldmVu dGRldi5vDQo9PSBCdWlsZCBsaWIvbGlicnRlX2Rpc3RyaWJ1dG9yDQogIENDIGdyb190Y3A0Lm8N CiAgQVIgbGlicnRlX3NlY3VyaXR5LmENCiAgQ0MgcnRlX2lwdjZfZnJhZ21lbnRhdGlvbi5vDQog IElOU1RBTEwtTElCIGxpYnJ0ZV9zZWN1cml0eS5hDQogIENDIHJ0ZV9pcHY0X3JlYXNzZW1ibHku bw0KICBDQyBpb3RsYi5vDQogIEFSIGxpYnJ0ZV9rbmkuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVf a25pLmENCiAgQVIgbGlicnRlX3Jhd2Rldi5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9yYXdkZXYu YQ0KICBDQyBydGVfaXB2Nl9yZWFzc2VtYmx5Lm8NCiAgQ0MgcnRlX2lwX2ZyYWdfY29tbW9uLm8N CiAgQ0MgZ3JvX3Z4bGFuX3RjcDQubw0KICBDQyBpcF9mcmFnX2ludGVybmFsLm8NCj09IEJ1aWxk IGxpYi9saWJydGVfcGR1bXANCj09IEJ1aWxkIGxpYi9saWJydGVfZ3NvDQogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9kaXN0cmlidXRvci5oDQo9PSBCdWlsZCBsaWIvbGlicnRlX2JwZg0KICBD QyBydGVfZGlzdHJpYnV0b3Jfc2luZ2xlLm8NCiAgQ0Mgc29ja2V0Lm8NCiAgQ0MgcnRlX2V2ZW50 X3Jpbmcubw0KICBBUiBsaWJydGVfZ3JvLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX2dyby5hDQo9 PSBCdWlsZCBsaWIvbGlicnRlX2lwc2VjDQogIEFSIGxpYnJ0ZV9pcF9mcmFnLmENCiAgSU5TVEFM TC1MSUIgbGlicnRlX2lwX2ZyYWcuYQ0KICBDQyBydGVfZGlzdHJpYnV0b3Iubw0KICBTWU1MSU5L LUZJTEUgaW5jbHVkZS9ydGVfZ3NvLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BkdW1w LmgNCiAgQ0MgcnRlX2dzby5vDQogIENDIHJ0ZV9wZHVtcC5vDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL2JwZl9kZWYuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfYnBmLmgNCiAgU1lNTElO Sy1GSUxFIGluY2x1ZGUvcnRlX2JwZl9ldGhkZXYuaA0KICBDQyBicGYubw0KICBDQyBicGZfZXhl Yy5vDQogIENDIGV2ZW50ZGV2X3RyYWNlX3BvaW50cy5vDQogIENDIGdzb19jb21tb24ubw0KICBT WU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfaXBzZWMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfaXBzZWNfZ3JvdXAuaA0KICBDQyBicGZfbG9hZC5vDQogIENDIHJ0ZV9ldmVudF9ldGhfcnhf YWRhcHRlci5vDQogIENDIHZob3N0Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lwc2Vj X3NhLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lwc2VjX3NhZC5oDQogIENDIGVzcF9p bmIubw0KICBDQyBydGVfZGlzdHJpYnV0b3JfbWF0Y2hfc3NlLm8NCiAgQVIgbGlicnRlX3BkdW1w LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BkdW1wLmENCiAgQ0MgZXNwX291dGIubw0KICBDQyBy dGVfZXZlbnRfdGltZXJfYWRhcHRlci5vDQogIENDIGdzb190Y3A0Lm8NCiAgQVIgbGlicnRlX2Rp c3RyaWJ1dG9yLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX2Rpc3RyaWJ1dG9yLmENCiAgQ0MgYnBm X3BrdC5vDQogIENDIGJwZl92YWxpZGF0ZS5vDQogIENDIGdzb190dW5uZWxfdGNwNC5vDQogIEND IGJwZl9qaXRfeDg2Lm8NCiAgQ0Mgc2Eubw0KICBDQyB2aG9zdF91c2VyLm8NCiAgQ0MgdmlydGlv X25ldC5vDQogIENDIHNlcy5vDQogIENDIGdzb191ZHA0Lm8NCiAgQ0MgaXBzZWNfc2FkLm8NCiAg Q0MgcnRlX2V2ZW50X2NyeXB0b19hZGFwdGVyLm8NCiAgQVIgbGlicnRlX2dzby5hDQogIElOU1RB TEwtTElCIGxpYnJ0ZV9nc28uYQ0KICBDQyBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIubw0KICBD QyB2ZHBhLm8NCiAgQ0Mgdmhvc3RfY3J5cHRvLm8NCiAgQVIgbGlicnRlX2JwZi5hDQogIElOU1RB TEwtTElCIGxpYnJ0ZV9icGYuYQ0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9ub2RlDQogIEFSIGxpYnJ0 ZV9pcHNlYy5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9pcHNlYy5hDQo9PSBCdWlsZCBsaWIvbGli cnRlX2JpdHJhdGVzdGF0cw0KPT0gQnVpbGQgbGliL2xpYnJ0ZV9sYXRlbmN5c3RhdHMNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX25vZGVfaXA0X2FwaS5oDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL3J0ZV9ub2RlX2V0aF9hcGkuaA0KICBDQyBudWxsLm8NCiAgQ0MgZXRoZGV2X3J4Lm8NCiAg Q0MgbG9nLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2JpdHJhdGUuaA0KICBDQyBydGVf Yml0cmF0ZS5vDQogIENDIGV0aGRldl90eC5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9s YXRlbmN5c3RhdHMuaA0KICBBUiBsaWJydGVfZXZlbnRkZXYuYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfZXZlbnRkZXYuYQ0KICBDQyBydGVfbGF0ZW5jeXN0YXRzLm8NCiAgQ0MgZXRoZGV2X2N0cmwu bw0KICBDQyBpcDRfbG9va3VwLm8NCiAgQ0MgaXA0X3Jld3JpdGUubw0KICBBUiBsaWJydGVfYml0 cmF0ZXN0YXRzLmENCiAgQ0MgcGt0X2Ryb3Aubw0KICBJTlNUQUxMLUxJQiBsaWJydGVfYml0cmF0 ZXN0YXRzLmENCj09IEJ1aWxkIGxpYi9saWJydGVfcG9ydA0KICBBUiBsaWJydGVfbGF0ZW5jeXN0 YXRzLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX2xhdGVuY3lzdGF0cy5hDQogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9wb3J0LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BvcnRfcmlu Zy5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9wb3J0X2V0aGRldi5oDQogIFNZTUxJTkst RklMRSBpbmNsdWRlL3J0ZV9wb3J0X2ZyYWcuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf cG9ydF9yYXMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG9ydF9zY2hlZC5oDQogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9wb3J0X2tuaS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9wb3J0X3NvdXJjZV9zaW5rLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BvcnRf ZmQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG9ydF9zeW1fY3J5cHRvLmgNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX3BvcnRfZXZlbnRkZXYuaA0KICBDQyBydGVfcG9ydF9ldGhk ZXYubw0KICBDQyBydGVfcG9ydF9yaW5nLm8NCiAgQ0MgcnRlX3BvcnRfcmFzLm8NCiAgQ0MgcnRl X3BvcnRfZnJhZy5vDQogIENDIHJ0ZV9wb3J0X3NjaGVkLm8NCiAgQ0MgcnRlX3BvcnRfZmQubw0K ICBBUiBsaWJydGVfbm9kZS5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9ub2RlLmENCiAgQ0MgcnRl X3BvcnRfa25pLm8NCiAgQ0MgcnRlX3BvcnRfc291cmNlX3Npbmsubw0KICBDQyBydGVfcG9ydF9z eW1fY3J5cHRvLm8NCiAgQ0MgcnRlX3BvcnRfZXZlbnRkZXYubw0KICBBUiBsaWJydGVfdmhvc3Qu YQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfdmhvc3QuYQ0KICBBUiBsaWJydGVfcG9ydC5hDQogIElO U1RBTEwtTElCIGxpYnJ0ZV9wb3J0LmENCj09IEJ1aWxkIGxpYi9saWJydGVfdGFibGUNCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX3RhYmxlLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRl X3RhYmxlX2xwbS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90YWJsZV9scG1faXB2Ni5o DQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90YWJsZV9hY2wuaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9ydGVfdGFibGVfaGFzaC5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90YWJs ZV9oYXNoX2N1Y2tvby5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90YWJsZV9oYXNoX2Z1 bmMuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfdGFibGVfaGFzaF9mdW5jX2FybTY0LmgN CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2xydS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9scnVfeDg2LmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3RhYmxlX2FycmF5LmgN CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3RhYmxlX3N0dWIuaA0KICBDQyBydGVfdGFibGVf bHBtLm8NCiAgQ0MgcnRlX3RhYmxlX2xwbV9pcHY2Lm8NCiAgQ0MgcnRlX3RhYmxlX2FjbC5vDQog IENDIHJ0ZV90YWJsZV9oYXNoX2N1Y2tvby5vDQogIENDIHJ0ZV90YWJsZV9oYXNoX2tleTgubw0K ICBDQyBydGVfdGFibGVfaGFzaF9rZXkxNi5vDQogIENDIHJ0ZV90YWJsZV9oYXNoX2tleTMyLm8N CiAgQ0MgcnRlX3RhYmxlX2hhc2hfZXh0Lm8NCiAgQ0MgcnRlX3RhYmxlX2hhc2hfbHJ1Lm8NCiAg Q0MgcnRlX3RhYmxlX2FycmF5Lm8NCiAgQ0MgcnRlX3RhYmxlX3N0dWIubw0KICBBUiBsaWJydGVf dGFibGUuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfdGFibGUuYQ0KPT0gQnVpbGQgbGliL2xpYnJ0 ZV9mbG93X2NsYXNzaWZ5DQo9PSBCdWlsZCBsaWIvbGlicnRlX3BpcGVsaW5lDQogIFNZTUxJTkst RklMRSBpbmNsdWRlL3J0ZV9mbG93X2NsYXNzaWZ5LmgNCiAgQ0MgcnRlX2Zsb3dfY2xhc3NpZnku bw0KICBDQyBydGVfZmxvd19jbGFzc2lmeV9wYXJzZS5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9waXBlbGluZS5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9wb3J0X2luX2FjdGlv bi5oDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV90YWJsZV9hY3Rpb24uaA0KICBDQyBydGVf cGlwZWxpbmUubw0KICBDQyBydGVfcG9ydF9pbl9hY3Rpb24ubw0KICBDQyBydGVfdGFibGVfYWN0 aW9uLm8NCiAgQVIgbGlicnRlX2Zsb3dfY2xhc3NpZnkuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVf Zmxvd19jbGFzc2lmeS5hDQogIEFSIGxpYnJ0ZV9waXBlbGluZS5hDQogIElOU1RBTEwtTElCIGxp YnJ0ZV9waXBlbGluZS5hDQo9PSBCdWlsZCBidWlsZHRvb2xzDQo9PSBCdWlsZCBrZXJuZWwNCj09 IEJ1aWxkIGtlcm5lbC9saW51eA0KPT0gQnVpbGQgYnVpbGR0b29scy9wbWRpbmZvZ2VuDQo9PSBC dWlsZCBrZXJuZWwvbGludXgvaWdiX3Vpbw0KICBIT1NUQ0MgcG1kaW5mb2dlbi5vDQogIEhPU1RM RCBkcGRrLXBtZGluZm9nZW4NCiAgSU5TVEFMTC1IT1NUQVBQIGRwZGstcG1kaW5mb2dlbg0KPT0g QnVpbGQgZHJpdmVycw0KPT0gQnVpbGQgZHJpdmVycy9jb21tb24NCj09IEJ1aWxkIGRyaXZlcnMv Y29tbW9uL29jdGVvbnR4DQo9PSBCdWlsZCBkcml2ZXJzL2NvbW1vbi9jcHQNCj09IEJ1aWxkIGRy aXZlcnMvY29tbW9uL29jdGVvbnR4Mg0KPT0gQnVpbGQgZHJpdmVycy9jb21tb24vZHBhYXgNCj09 IEJ1aWxkIGRyaXZlcnMvY29tbW9uL2lhdmYNCiAgQ0Mgb3R4Ml9kZXYubw0KICBDQyBvdHgyX2ly cS5vDQogIENDIGNwdF9mcG1fdGFibGVzLm8NCiAgQ0MgY3B0X3BtZF9vcHNfaGVscGVyLm8NCiAg Q0MgZHBhYXhfaW92YV90YWJsZS5vDQogIENDIG9jdGVvbnR4X21ib3gubw0KICBDQyBpYXZmX2Fk bWlucS5vDQogIEFSIGxpYnJ0ZV9jb21tb25fb2N0ZW9udHguYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfY29tbW9uX29jdGVvbnR4LmENCiAgQ0MgaWF2Zl9jb21tb24ubw0KICBDQyBvdHgyX21ib3gu bw0KICBDQyBvdHgyX2NvbW1vbi5vDQogIENDIGRwYWFfb2Yubw0KICBBUiBsaWJydGVfY29tbW9u X2NwdC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9jb21tb25fY3B0LmENCiAgQ0MgY2FhbWZsaWIu bw0KICBDQyBvdHgyX3NlY19pZGV2Lm8NCiAgQ0MgaWF2Zl9pbXBsLm8NCiAgQVIgbGlicnRlX2Nv bW1vbl9kcGFheC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9jb21tb25fZHBhYXguYQ0KICBBUiBs aWJydGVfY29tbW9uX2lhdmYuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfY29tbW9uX2lhdmYuYQ0K ICBBUiBsaWJydGVfY29tbW9uX29jdGVvbnR4Mi5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9jb21t b25fb2N0ZW9udHgyLmENCj09IEJ1aWxkIGRyaXZlcnMvYnVzDQogIENDIFtNXSAgL3Jvb3QvZHBk ay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9idWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9p Z2JfdWlvLm8NCj09IEJ1aWxkIGRyaXZlcnMvYnVzL2lmcGdhDQo9PSBCdWlsZCBkcml2ZXJzL2J1 cy9mc2xtYw0KPT0gQnVpbGQgZHJpdmVycy9idXMvZHBhYQ0KPT0gQnVpbGQgZHJpdmVycy9idXMv cGNpDQo9PSBCdWlsZCBkcml2ZXJzL2J1cy92bWJ1cw0KPT0gQnVpbGQgZHJpdmVycy9idXMvdmRl dg0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfYnVzX2lmcGdhLmgNCiAgU1lNTElOSy1GSUxF IGluY2x1ZGUvcnRlX2J1c192bWJ1cy5oDQogIENDIGlmcGdhX2J1cy5vDQogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9idXNfdmRldi5oDQogIENDIHFibWFuL3FibWFuX3BvcnRhbC5vDQogIEND IGRwYWFfYnVzLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3ZtYnVzX3JlZy5oDQogIEND IGlmcGdhX2NvbW1vbi5vDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9idXNfcGNpLmgNCiAg Q0MgdmRldi5vDQogIENDIGxpbnV4L3ZtYnVzX2J1cy5vDQogIENDIGxpbnV4L3BjaS5vDQogIEND IGxpbnV4L3BjaV91aW8ubw0KICBDQyB2ZGV2X3BhcmFtcy5vDQogIEFSIGxpYnJ0ZV9idXNfaWZw Z2EuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfYnVzX2lmcGdhLmENCiAgQ0MgbGludXgvdm1idXNf dWlvLm8NCiAgQ0MgYmFzZS9mbWFuL2ZtYW4ubw0KICBBUiBsaWJydGVfYnVzX3ZkZXYuYQ0KICBJ TlNUQUxMLUxJQiBsaWJydGVfYnVzX3ZkZXYuYQ0KICBDQyBiYXNlL2ZtYW4vZm1hbl9ody5vDQog IENDIHZtYnVzX2NvbW1vbi5vDQogIENDIGJhc2UvZm1hbi9uZXRjZmdfbGF5ZXIubw0KICBDQyBs aW51eC9wY2lfdmZpby5vDQogIENDIHZtYnVzX2NoYW5uZWwubw0KICBDQyB2bWJ1c19idWZyaW5n Lm8NCiAgQ0MgcGNpX3BhcmFtcy5vDQogIENDIHZtYnVzX2NvbW1vbl91aW8ubw0KICBCdWlsZGlu ZyBtb2R1bGVzLCBzdGFnZSAyLg0KICBDQyBwY2lfY29tbW9uLm8NCiAgQ0MgcGNpX2NvbW1vbl91 aW8ubw0KICBDQyBiYXNlL3FibWFuL3Byb2Nlc3Mubw0KICBBUiBsaWJydGVfYnVzX3ZtYnVzLmEN CiAgSU5TVEFMTC1MSUIgbGlicnRlX2J1c192bWJ1cy5hDQogIENDIHFibWFuL3FibWFuX2RlYnVn Lm8NCiAgQ0MgYmFzZS9xYm1hbi9ibWFuLm8NCiAgQ0MgYmFzZS9xYm1hbi9ibWFuX2RyaXZlci5v DQogIEFSIGxpYnJ0ZV9idXNfcGNpLmENCiAgTU9EUE9TVCAxIG1vZHVsZXMNCiAgQ0MgbWMvZHBt bmcubw0KICBJTlNUQUxMLUxJQiBsaWJydGVfYnVzX3BjaS5hDQogIENDIG1jL2RwYnAubw0KICBD QyBtYy9kcGlvLm8NCiAgQ0MgYmFzZS9xYm1hbi9xbWFuLm8NCiAgQ0MgbWMvbWNfc3lzLm8NCiAg Q0MgICAgICAvcm9vdC9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2J1aWxkL2tlcm5l bC9saW51eC9pZ2JfdWlvL2lnYl91aW8ubW9kLm8NCiAgQ0MgbWMvZHBjb24ubw0KICBDQyBtYy9k cGNpLm8NCiAgQ0MgYmFzZS9xYm1hbi9xbWFuX2RyaXZlci5vDQogIExEIFtNXSAgL3Jvb3QvZHBk ay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9idWlsZC9rZXJuZWwvbGludXgvaWdiX3Vpby9p Z2JfdWlvLmtvDQpJTlNUQUxMLU1PRFVMRSBpZ2JfdWlvLmtvDQogIENDIG1jL2RwZG1haS5vDQog IENDIHBvcnRhbC9kcGFhMl9od19kcGlvLm8NCiAgQ0MgcG9ydGFsL2RwYWEyX2h3X2RwYnAubw0K ICBDQyBiYXNlL3FibWFuL2RwYWFfYWxsb2Mubw0KICBDQyBwb3J0YWwvZHBhYTJfaHdfZHBjaS5v DQogIENDIGZzbG1jX3ZmaW8ubw0KICBDQyBiYXNlL3FibWFuL2RwYWFfc3lzLm8NCiAgUE1ESU5G TyBwb3J0YWwvZHBhYTJfaHdfZHBicC5vLnBtZC5jDQogIENDIHBvcnRhbC9kcGFhMl9od19kcGJw Lm8ucG1kLm8NCiAgTEQgcG9ydGFsL2RwYWEyX2h3X2RwYnAubw0KICBDQyBmc2xtY19idXMubw0K ICBQTURJTkZPIHBvcnRhbC9kcGFhMl9od19kcGlvLm8ucG1kLmMNCiAgQ0MgcG9ydGFsL2RwYWEy X2h3X2RwaW8uby5wbWQubw0KICBMRCBwb3J0YWwvZHBhYTJfaHdfZHBpby5vDQogIFBNRElORk8g cG9ydGFsL2RwYWEyX2h3X2RwY2kuby5wbWQuYw0KICBDQyBwb3J0YWwvZHBhYTJfaHdfZHBjaS5v LnBtZC5vDQogIExEIHBvcnRhbC9kcGFhMl9od19kcGNpLm8NCiAgQVIgbGlicnRlX2J1c19mc2xt Yy5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9idXNfZnNsbWMuYQ0KICBBUiBsaWJydGVfYnVzX2Rw YWEuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfYnVzX2RwYWEuYQ0KPT0gQnVpbGQgZHJpdmVycy9t ZW1wb29sDQo9PSBCdWlsZCBkcml2ZXJzL21lbXBvb2wvYnVja2V0DQo9PSBCdWlsZCBkcml2ZXJz L21lbXBvb2wvc3RhY2sNCj09IEJ1aWxkIGRyaXZlcnMvbWVtcG9vbC9kcGFhMg0KPT0gQnVpbGQg ZHJpdmVycy9tZW1wb29sL3JpbmcNCj09IEJ1aWxkIGRyaXZlcnMvbWVtcG9vbC9kcGFhDQo9PSBC dWlsZCBkcml2ZXJzL21lbXBvb2wvb2N0ZW9udHgNCj09IEJ1aWxkIGRyaXZlcnMvbWVtcG9vbC9v Y3Rlb250eDINCiAgQ0MgZHBhYV9tZW1wb29sLm8NCiAgQ0MgcnRlX21lbXBvb2xfcmluZy5vDQog IENDIHJ0ZV9tZW1wb29sX2J1Y2tldC5vDQogIENDIHJ0ZV9tZW1wb29sX3N0YWNrLm8NCiAgQ0Mg b3R4Ml9tZW1wb29sLm8NCiAgQ0Mgb3R4Ml9tZW1wb29sX29wcy5vDQogIFNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9kcGFhMl9tZW1wb29sLmgNCiAgQ0Mgb2N0ZW9udHhfZnBhdmYubw0KICBDQyBk cGFhMl9od19tZW1wb29sLm8NCiAgUE1ESU5GTyBvdHgyX21lbXBvb2wuby5wbWQuYw0KICBDQyBv dHgyX21lbXBvb2wuby5wbWQubw0KICBMRCBvdHgyX21lbXBvb2wubw0KICBBUiBsaWJydGVfbWVt cG9vbF9yaW5nLmENCiAgQVIgbGlicnRlX21lbXBvb2xfc3RhY2suYQ0KICBJTlNUQUxMLUxJQiBs aWJydGVfbWVtcG9vbF9yaW5nLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX21lbXBvb2xfc3RhY2su YQ0KICBDQyBydGVfbWVtcG9vbF9vY3Rlb250eC5vDQogIFBNRElORk8gb2N0ZW9udHhfZnBhdmYu by5wbWQuYw0KICBDQyBvY3Rlb250eF9mcGF2Zi5vLnBtZC5vDQogIENDIG90eDJfbWVtcG9vbF9p cnEubw0KICBMRCBvY3Rlb250eF9mcGF2Zi5vDQogIENDIG90eDJfbWVtcG9vbF9kZWJ1Zy5vDQog IEFSIGxpYnJ0ZV9tZW1wb29sX2RwYWEyLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX21lbXBvb2xf ZHBhYTIuYQ0KICBBUiBsaWJydGVfbWVtcG9vbF9kcGFhLmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X21lbXBvb2xfZHBhYS5hDQogIEFSIGxpYnJ0ZV9tZW1wb29sX29jdGVvbnR4LmENCiAgQVIgbGli cnRlX21lbXBvb2xfb2N0ZW9udHgyLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX21lbXBvb2xfb2N0 ZW9udHguYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfbWVtcG9vbF9vY3Rlb250eDIuYQ0KICBBUiBs aWJydGVfbWVtcG9vbF9idWNrZXQuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfbWVtcG9vbF9idWNr ZXQuYQ0KPT0gQnVpbGQgZHJpdmVycy9iYXNlYmFuZA0KPT0gQnVpbGQgZHJpdmVycy9jcnlwdG8N Cj09IEJ1aWxkIGRyaXZlcnMvdmRwYQ0KPT0gQnVpbGQgZHJpdmVycy9uZXQNCj09IEJ1aWxkIGRy aXZlcnMvY29tbW9uL3FhdA0KPT0gQnVpbGQgZHJpdmVycy9jb21wcmVzcw0KPT0gQnVpbGQgZHJp dmVycy9jb21wcmVzcy9vY3Rlb250eA0KPT0gQnVpbGQgZHJpdmVycy9iYXNlYmFuZC9udWxsDQo9 PSBCdWlsZCBkcml2ZXJzL2NyeXB0by9vY3Rlb250eA0KPT0gQnVpbGQgZHJpdmVycy92ZHBhL2lm Yw0KPT0gQnVpbGQgZHJpdmVycy9jcnlwdG8vb2N0ZW9udHgyDQo9PSBCdWlsZCBkcml2ZXJzL2Jh c2ViYW5kL3R1cmJvX3N3DQogIENDIHFhdF9jb21wLm8NCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2Fm X3BhY2tldA0KICBDQyBvdHhfemlwX3BtZC5vDQogIENDIGlmY3ZmX3ZkcGEubw0KICBDQyBiYmRl dl9udWxsLm8NCiAgQ0MgcnRlX2V0aF9hZl9wYWNrZXQubw0KICBDQyBiYmRldl90dXJib19zb2Z0 d2FyZS5vDQogIENDIG90eF9jcnlwdG9kZXYubw0KICBDQyBvdHgyX2NyeXB0b2Rldi5vDQogIFBN RElORk8gb3R4X2NyeXB0b2Rldi5vLnBtZC5jDQogIENDIG90eF9jcnlwdG9kZXYuby5wbWQubw0K ICBQTURJTkZPIG90eDJfY3J5cHRvZGV2Lm8ucG1kLmMNCiAgQ0Mgb3R4Ml9jcnlwdG9kZXYuby5w bWQubw0KICBMRCBvdHhfY3J5cHRvZGV2Lm8NCiAgTEQgb3R4Ml9jcnlwdG9kZXYubw0KICBDQyBx YXRfY29tcF9wbWQubw0KICBQTURJTkZPIGlmY3ZmX3ZkcGEuby5wbWQuYw0KICBDQyBpZmN2Zl92 ZHBhLm8ucG1kLm8NCiAgQ0Mgb3R4Ml9jcnlwdG9kZXZfY2FwYWJpbGl0aWVzLm8NCiAgQ0Mgb3R4 X2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMubw0KICBMRCBpZmN2Zl92ZHBhLm8NCiAgUE1ESU5GTyBv dHhfemlwX3BtZC5vLnBtZC5jDQogIENDIG90eF96aXBfcG1kLm8ucG1kLm8NCiAgUE1ESU5GTyBy dGVfZXRoX2FmX3BhY2tldC5vLnBtZC5jDQogIExEIG90eF96aXBfcG1kLm8NCiAgQ0MgcnRlX2V0 aF9hZl9wYWNrZXQuby5wbWQubw0KICBDQyBpZmN2Zi5vDQogIExEIHJ0ZV9ldGhfYWZfcGFja2V0 Lm8NCiAgQ0Mgb3R4X3ppcC5vDQogIEFSIGxpYnJ0ZV9wbWRfYWZfcGFja2V0LmENCiAgUE1ESU5G TyBiYmRldl9udWxsLm8ucG1kLmMNCiAgQ0MgYmJkZXZfbnVsbC5vLnBtZC5vDQogIElOU1RBTEwt TElCIGxpYnJ0ZV9wbWRfYWZfcGFja2V0LmENCiAgQVIgbGlicnRlX3BtZF9pZmMuYQ0KICBMRCBi YmRldl9udWxsLm8NCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pZmMuYQ0KPT0gQnVpbGQgZHJp dmVycy9uZXQvYXJrDQogIENDIG90eF9jcnlwdG9kZXZfaHdfYWNjZXNzLm8NCiAgQ0MgcWF0X2Rl dmljZS5vDQogIENDIG90eDJfY3J5cHRvZGV2X2h3X2FjY2Vzcy5vDQogIEFSIGxpYnJ0ZV9wbWRf YmJkZXZfbnVsbC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfYmJkZXZfbnVsbC5hDQogIEND IG90eDJfY3J5cHRvZGV2X21ib3gubw0KICBDQyBvdHgyX2NyeXB0b2Rldl9vcHMubw0KICBQTURJ TkZPIHFhdF9kZXZpY2Uuby5wbWQuYw0KICBDQyBxYXRfZGV2aWNlLm8ucG1kLm8NCiAgQVIgbGli cnRlX3BtZF9vY3Rlb250eF96aXAuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX29jdGVvbnR4 X3ppcC5hDQo9PSBCdWlsZCBkcml2ZXJzL2Jhc2ViYW5kL2ZwZ2FfbHRlX2ZlYw0KICBMRCBxYXRf ZGV2aWNlLm8NCj09IEJ1aWxkIGRyaXZlcnMvYmFzZWJhbmQvZnBnYV81Z25yX2ZlYw0KICBDQyBv dHhfY3J5cHRvZGV2X21ib3gubw0KICBQTURJTkZPIGJiZGV2X3R1cmJvX3NvZnR3YXJlLm8ucG1k LmMNCiAgQ0MgcWF0X2NvbW1vbi5vDQogIENDIGJiZGV2X3R1cmJvX3NvZnR3YXJlLm8ucG1kLm8N CiAgTEQgYmJkZXZfdHVyYm9fc29mdHdhcmUubw0KICBBUiBsaWJydGVfcG1kX2JiZGV2X3R1cmJv X3N3LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9iYmRldl90dXJib19zdy5hDQogIENDIHFh dF9sb2dzLm8NCiAgQ0MgcWF0X3FwLm8NCiAgQ0Mgb3R4X2NyeXB0b2Rldl9vcHMubw0KICBDQyBh cmtfZGRtLm8NCiAgQ0MgYXJrX2V0aGRldi5vDQo9PSBCdWlsZCBkcml2ZXJzL25ldC9hdGxhbnRp Yw0KICBDQyBhcmtfZXRoZGV2X3J4Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvZnBnYV9sdGVf ZmVjLmgNCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9mcGdhXzVnbnJfZmVjLmgNCiAg Q0MgZnBnYV9sdGVfZmVjLm8NCiAgQ0MgcnRlX2ZwZ2FfNWducl9mZWMubw0KICBQTURJTkZPIGFy a19ldGhkZXYuby5wbWQuYw0KICBDQyBhcmtfZXRoZGV2Lm8ucG1kLm8NCiAgTEQgYXJrX2V0aGRl di5vDQogIEFSIGxpYnJ0ZV9wbWRfcWF0LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9xYXQu YQ0KPT0gQnVpbGQgZHJpdmVycy9uZXQvYXZwDQo9PSBCdWlsZCBkcml2ZXJzL25ldC9heGdiZQ0K ICBDQyBhcmtfZXRoZGV2X3R4Lm8NCiAgQ0MgYXRsX3J4dHgubw0KICBQTURJTkZPIHJ0ZV9mcGdh XzVnbnJfZmVjLm8ucG1kLmMNCiAgQ0MgcnRlX2ZwZ2FfNWducl9mZWMuby5wbWQubw0KICBMRCBy dGVfZnBnYV81Z25yX2ZlYy5vDQogIFBNRElORk8gZnBnYV9sdGVfZmVjLm8ucG1kLmMNCiAgQ0Mg ZnBnYV9sdGVfZmVjLm8ucG1kLm8NCiAgTEQgZnBnYV9sdGVfZmVjLm8NCiAgQVIgbGlicnRlX3Bt ZF9iYmRldl9mcGdhXzVnbnJfZmVjLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9iYmRldl9m cGdhXzVnbnJfZmVjLmENCiAgQVIgbGlicnRlX3BtZF9iYmRldl9mcGdhX2x0ZV9mZWMuYQ0KICBJ TlNUQUxMLUxJQiBsaWJydGVfcG1kX2JiZGV2X2ZwZ2FfbHRlX2ZlYy5hDQogIENDIGF0bF9ldGhk ZXYubw0KICBDQyBheGdiZV9ldGhkZXYubw0KICBDQyBheGdiZV9kZXYubw0KICBDQyBhcmtfbXB1 Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2F2cF9jb21tb24uaA0KICBTWU1MSU5LLUZJ TEUgaW5jbHVkZS9ydGVfYXZwX2ZpZm8uaA0KICBDQyBhdnBfZXRoZGV2Lm8NCiAgUE1ESU5GTyBh dGxfZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgYXJrX3BrdGNoa3Iubw0KICBDQyBhdGxfZXRoZGV2Lm8u cG1kLm8NCiAgTEQgYXRsX2V0aGRldi5vDQogIFBNRElORk8gYXhnYmVfZXRoZGV2Lm8ucG1kLmMN CiAgQ0MgYXhnYmVfZXRoZGV2Lm8ucG1kLm8NCiAgTEQgYXhnYmVfZXRoZGV2Lm8NCiAgQ0MgYXJr X3BrdGRpci5vDQogIENDIGFya19wa3RnZW4ubw0KICBDQyBheGdiZV9tZGlvLm8NCiAgQ0MgYXRs X2h3X3JlZ3Mubw0KICBDQyBod19hdGxfdXRpbHMubw0KICBDQyBod19hdGxfbGxoLm8NCiAgQ0Mg aHdfYXRsX3V0aWxzX2Z3Mngubw0KICBDQyBhcmtfcnFwLm8NCiAgQ0MgYXhnYmVfcGh5X2ltcGwu bw0KICBQTURJTkZPIGF2cF9ldGhkZXYuby5wbWQuYw0KICBDQyBhdnBfZXRoZGV2Lm8ucG1kLm8N CiAgTEQgYXZwX2V0aGRldi5vDQogIENDIGFya191ZG0ubw0KPT0gQnVpbGQgZHJpdmVycy9jcnlw dG8vc2NoZWR1bGVyDQogIEFSIGxpYnJ0ZV9wbWRfYXZwLmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF9hdnAuYQ0KPT0gQnVpbGQgZHJpdmVycy9jcnlwdG8vbnVsbA0KPT0gQnVpbGQgZHJpdmVy cy9jcnlwdG8vZHBhYTJfc2VjDQogIENDIGh3X2F0bF9iMC5vDQogIEFSIGxpYnJ0ZV9wbWRfYXJr LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9hcmsuYQ0KPT0gQnVpbGQgZHJpdmVycy9jcnlw dG8vZHBhYV9zZWMNCiAgQ0MgcnRlX3BtZF9hdGxhbnRpYy5vDQogIFNZTUxJTkstRklMRSBpbmNs dWRlL3J0ZV9jcnlwdG9kZXZfc2NoZWR1bGVyX29wZXJhdGlvbnMuaA0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9ydGVfY3J5cHRvZGV2X3NjaGVkdWxlci5oDQogIEFSIGxpYnJ0ZV9wbWRfb2N0ZW9u dHgyX2NyeXB0by5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfb2N0ZW9udHgyX2NyeXB0by5h DQogIENDIHNjaGVkdWxlcl9wbWQubw0KICBDQyBzY2hlZHVsZXJfcG1kX29wcy5vDQogIENDIG51 bGxfY3J5cHRvX3BtZC5vDQogIENDIGRwYWEyX3NlY19kcHNlY2kubw0KICBDQyBheGdiZV9pMmMu bw0KICBDQyBkcGFhX3NlYy5vDQogIENDIG51bGxfY3J5cHRvX3BtZF9vcHMubw0KICBDQyBydGVf Y3J5cHRvZGV2X3NjaGVkdWxlci5vDQogIFBNRElORk8gbnVsbF9jcnlwdG9fcG1kLm8ucG1kLmMN CiAgQ0MgbnVsbF9jcnlwdG9fcG1kLm8ucG1kLm8NCiAgQVIgbGlicnRlX3BtZF9hdGxhbnRpYy5h DQogIExEIG51bGxfY3J5cHRvX3BtZC5vDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfYXRsYW50 aWMuYQ0KICBDQyBheGdiZV9yeHR4Lm8NCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2JvbmRpbmcNCj09 IEJ1aWxkIGRyaXZlcnMvbmV0L2N4Z2JlDQogIEFSIGxpYnJ0ZV9wbWRfb2N0ZW9udHhfY3J5cHRv LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9vY3Rlb250eF9jcnlwdG8uYQ0KICBBUiBsaWJy dGVfcG1kX251bGxfY3J5cHRvLmENCj09IEJ1aWxkIGRyaXZlcnMvY3J5cHRvL2NhYW1fanINCiAg SU5TVEFMTC1MSUIgbGlicnRlX3BtZF9udWxsX2NyeXB0by5hDQo9PSBCdWlsZCBkcml2ZXJzL2Ny eXB0by92aXJ0aW8NCiAgQ0Mgc2NoZWR1bGVyX3JvdW5kcm9iaW4ubw0KICBTWU1MSU5LLUZJTEUg aW5jbHVkZS9ydGVfZXRoX2JvbmQuaA0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfZXRoX2Jv bmRfODAyM2FkLmgNCiAgQ0MgcnRlX2V0aF9ib25kX2FwaS5vDQogIENDIGNhYW1fanIubw0KICBD QyB2aXJ0cXVldWUubw0KICBDQyBzY2hlZHVsZXJfcGt0X3NpemVfZGlzdHIubw0KICBDQyBjeGdi ZV9ldGhkZXYubw0KICBDQyBheGdiZV9yeHR4X3ZlY19zc2Uubw0KICBDQyBydGVfZXRoX2JvbmRf cG1kLm8NCiAgQ0MgdmlydGlvX3BjaS5vDQogIENDIHNjaGVkdWxlcl9mYWlsb3Zlci5vDQogIFBN RElORk8gY3hnYmVfZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgY3hnYmVfZXRoZGV2Lm8ucG1kLm8NCiAg TEQgY3hnYmVfZXRoZGV2Lm8NCiAgQVIgbGlicnRlX3BtZF9heGdiZS5hDQogIElOU1RBTEwtTElC IGxpYnJ0ZV9wbWRfYXhnYmUuYQ0KICBDQyBzY2hlZHVsZXJfbXVsdGljb3JlLm8NCiAgQ0MgY3hn YmV2Zl9ldGhkZXYubw0KICBDQyB2aXJ0aW9fcnh0eC5vDQogIENDIHJ0ZV9ldGhfYm9uZF9hcmdz Lm8NCiAgUE1ESU5GTyBjeGdiZXZmX2V0aGRldi5vLnBtZC5jDQogIENDIGN4Z2JldmZfZXRoZGV2 Lm8ucG1kLm8NCiAgTEQgY3hnYmV2Zl9ldGhkZXYubw0KICBQTURJTkZPIGRwYWFfc2VjLm8ucG1k LmMNCiAgQ0MgZHBhYV9zZWMuby5wbWQubw0KICBMRCBkcGFhX3NlYy5vDQogIENDIGN4Z2JlX21h aW4ubw0KICBQTURJTkZPIGRwYWEyX3NlY19kcHNlY2kuby5wbWQuYw0KICBDQyBkcGFhMl9zZWNf ZHBzZWNpLm8ucG1kLm8NCiAgQ0MgdmlydGlvX2NyeXB0b2Rldi5vDQogIExEIGRwYWEyX3NlY19k cHNlY2kubw0KICBBUiBsaWJydGVfcG1kX2RwYWFfc2VjLmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF9kcGFhX3NlYy5hDQogIENDIGN4Z2JldmZfbWFpbi5vDQogIFBNRElORk8gY2FhbV9qci5v LnBtZC5jDQogIENDIGNhYW1fanIuby5wbWQubw0KICBMRCBjYWFtX2pyLm8NCiAgQ0MgbWMvZHBz ZWNpLm8NCiAgQ0Mgc2dlLm8NCiAgQ0MgY2FhbV9qcl9jYXBhYmlsaXRpZXMubw0KICBQTURJTkZP IHJ0ZV9ldGhfYm9uZF9wbWQuby5wbWQuYw0KICBDQyBydGVfZXRoX2JvbmRfcG1kLm8ucG1kLm8N CiAgTEQgcnRlX2V0aF9ib25kX3BtZC5vDQogIEFSIGxpYnJ0ZV9wbWRfZHBhYTJfc2VjLmENCiAg SU5TVEFMTC1MSUIgbGlicnRlX3BtZF9kcGFhMl9zZWMuYQ0KICBDQyBydGVfZXRoX2JvbmRfODAy M2FkLm8NCiAgQ0MgcnRlX2V0aF9ib25kX2FsYi5vDQogIEFSIGxpYnJ0ZV9wbWRfY3J5cHRvX3Nj aGVkdWxlci5hDQogIENDIHJ0ZV9ldGhfYm9uZF9mbG93Lm8NCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF9jcnlwdG9fc2NoZWR1bGVyLmENCiAgQ0MgY3hnYmVfZmlsdGVyLm8NCiAgUE1ESU5GTyB2 aXJ0aW9fY3J5cHRvZGV2Lm8ucG1kLmMNCiAgQ0MgdmlydGlvX2NyeXB0b2Rldi5vLnBtZC5vDQog IExEIHZpcnRpb19jcnlwdG9kZXYubw0KICBDQyBjYWFtX2pyX2h3Lm8NCiAgQVIgbGlicnRlX3Bt ZF92aXJ0aW9fY3J5cHRvLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF92aXJ0aW9fY3J5cHRv LmENCiAgQ0MgY2FhbV9qcl91aW8ubw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvZHBhYQ0KPT0gQnVp bGQgZHJpdmVycy9uZXQvZHBhYTINCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2UxMDAwDQo9PSBCdWls ZCBkcml2ZXJzL25ldC9lbmENCiAgQVIgbGlicnRlX3BtZF9jYWFtX2pyLmENCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF9jYWFtX2pyLmENCj09IEJ1aWxkIGRyaXZlcnMvY3J5cHRvL25pdHJveA0K ICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG1kX2RwYWEyLmgNCiAgQ0MgYmFzZS9kcGFhMl9o d19kcG5pLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9kcGFhLmgNCiAgQ0MgZHBh YV9ldGhkZXYubw0KICBDQyBlMTAwMF84MDAwM2VzMmxhbi5vDQogIENDIGUxMDAwXzgyNTQwLm8N CiAgQ0MgY3hnYmVfZmxvdy5vDQogIENDIGVuYV9ldGhkZXYubw0KICBBUiBsaWJydGVfcG1kX2Jv bmQuYQ0KICBDQyBuaXRyb3hfZGV2aWNlLm8NCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9ib25k LmENCiAgQ0MgZW5hX2NvbS5vDQogIENDIGVuYV9ldGhfY29tLm8NCiAgQ0MgZTEwMDBfODI1NDEu bw0KICBQTURJTkZPIG5pdHJveF9kZXZpY2Uuby5wbWQuYw0KICBDQyBuaXRyb3hfZGV2aWNlLm8u cG1kLm8NCiAgUE1ESU5GTyBkcGFhX2V0aGRldi5vLnBtZC5jDQogIENDIGRwYWFfZXRoZGV2Lm8u cG1kLm8NCiAgQ0MgZHBhYTJfcnh0eC5vDQogIExEIG5pdHJveF9kZXZpY2Uubw0KICBMRCBkcGFh X2V0aGRldi5vDQogIENDIGRwYWEyX2V0aGRldi5vDQogIENDIG5pdHJveF9oYWwubw0KICBDQyBk cGFhX3J4dHgubw0KICBDQyBlMTAwMF84MjU0Mi5vDQogIENDIGUxMDAwXzgyNTQzLm8NCiAgQ0Mg dDRfaHcubw0KICBDQyBuaXRyb3hfbG9ncy5vDQogIENDIG5pdHJveF9zeW0ubw0KICBDQyBlMTAw MF84MjU3MS5vDQogIENDIGNsaXBfdGJsLm8NCiAgUE1ESU5GTyBlbmFfZXRoZGV2Lm8ucG1kLmMN CiAgQ0MgZW5hX2V0aGRldi5vLnBtZC5vDQogIExEIGVuYV9ldGhkZXYubw0KICBQTURJTkZPIGRw YWEyX2V0aGRldi5vLnBtZC5jDQogIENDIGRwYWEyX2V0aGRldi5vLnBtZC5vDQogIExEIGRwYWEy X2V0aGRldi5vDQogIEFSIGxpYnJ0ZV9wbWRfZW5hLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3Bt ZF9lbmEuYQ0KICBDQyBlMTAwMF84MjU3NS5vDQogIENDIG1wc190Y2FtLm8NCiAgQ0MgbDJ0Lm8N CiAgQ0MgZTEwMDBfaTIxMC5vDQogIENDIG5pdHJveF9zeW1fY2FwYWJpbGl0aWVzLm8NCiAgQ0Mg ZHBhYTJfZmxvdy5vDQogIEFSIGxpYnJ0ZV9wbWRfZHBhYS5hDQogIElOU1RBTEwtTElCIGxpYnJ0 ZV9wbWRfZHBhYS5hDQogIENDIGRwYWEyX211eC5vDQogIENDIGRwYWEyX3NwYXJzZXIubw0KICBD QyBtYy9kcG5pLm8NCiAgQ0MgZTEwMDBfYXBpLm8NCiAgQ0MgZTEwMDBfaWNoOGxhbi5vDQogIEND IG5pdHJveF9zeW1fcmVxbWdyLm8NCiAgUE1ESU5GTyBkcGFhMl9tdXguby5wbWQuYw0KICBDQyBk cGFhMl9tdXguby5wbWQubw0KICBMRCBkcGFhMl9tdXgubw0KICBDQyBzbXQubw0KICBDQyBtYy9k cGtnLm8NCiAgQ0MgdDR2Zl9ody5vDQogIENDIGUxMDAwX2xvZ3Mubw0KICBDQyBlMTAwMF9tYWMu bw0KICBDQyBtYy9kcGRtdXgubw0KICBDQyBuaXRyb3hfcXAubw0KICBDQyBlMTAwMF9tYW5hZ2Uu bw0KICBDQyBlMTAwMF9tYngubw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvZW5ldGMNCiAgQVIgbGli cnRlX3BtZF9jeGdiZS5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfY3hnYmUuYQ0KICBBUiBs aWJydGVfcG1kX2RwYWEyLmENCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2VuaWMNCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF9kcGFhMi5hDQogIENDIGUxMDAwX252bS5vDQogIENDIGUxMDAwX29zZGVw Lm8NCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2ZhaWxzYWZlDQogIENDIGUxMDAwX3BoeS5vDQogIEND IGUxMDAwX3ZmLm8NCiAgQ0MgaWdiX2V0aGRldi5vDQogIEFSIGxpYnJ0ZV9wbWRfbml0cm94LmEN CiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9uaXRyb3guYQ0KICBDQyBpZ2Jfcnh0eC5vDQo9PSBC dWlsZCBkcml2ZXJzL25ldC9mbTEwaw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvaGluaWMNCiAgQ0Mg ZW5ldGNfZXRoZGV2Lm8NCiAgQ0MgZmFpbHNhZmUubw0KICBDQyBlbmljX2V0aGRldi5vDQogIEND IGlnYl9wZi5vDQogIFBNRElORk8gZmFpbHNhZmUuby5wbWQuYw0KICBDQyBmYWlsc2FmZS5vLnBt ZC5vDQogIExEIGZhaWxzYWZlLm8NCiAgUE1ESU5GTyBlbmV0Y19ldGhkZXYuby5wbWQuYw0KICBD QyBlbmV0Y19ldGhkZXYuby5wbWQubw0KICBMRCBlbmV0Y19ldGhkZXYubw0KICBDQyBmYWlsc2Fm ZV9hcmdzLm8NCiAgQ0MgZW5ldGNfcnh0eC5vDQogIFBNRElORk8gZW5pY19ldGhkZXYuby5wbWQu Yw0KICBDQyBlbmljX2V0aGRldi5vLnBtZC5vDQogIExEIGVuaWNfZXRoZGV2Lm8NCiAgQ0MgZm0x MGtfZXRoZGV2Lm8NCiAgQ0MgaGluaWNfcG1kX2FwaV9jbWQubw0KICBDQyBlbmljX21haW4ubw0K ICBDQyBlbmljX3J4dHgubw0KICBQTURJTkZPIGlnYl9ldGhkZXYuby5wbWQuYw0KICBDQyBpZ2Jf ZXRoZGV2Lm8ucG1kLm8NCiAgTEQgaWdiX2V0aGRldi5vDQogIENDIGZhaWxzYWZlX2VhbC5vDQog IEFSIGxpYnJ0ZV9wbWRfZW5ldGMuYQ0KICBDQyBlbmljX2Nsc2Yubw0KICBJTlNUQUxMLUxJQiBs aWJydGVfcG1kX2VuZXRjLmENCiAgQ0MgZW5pY19yZXMubw0KICBDQyBpZ2JfZmxvdy5vDQogIEND IGhpbmljX3BtZF9jZmcubw0KICBDQyBmYWlsc2FmZV9vcHMubw0KICBDQyBlbmljX2Zsb3cubw0K ICBDQyBmbTEwa19yeHR4Lm8NCiAgUE1ESU5GTyBmbTEwa19ldGhkZXYuby5wbWQuYw0KICBDQyBm bTEwa19ldGhkZXYuby5wbWQubw0KICBMRCBmbTEwa19ldGhkZXYubw0KICBDQyBlbmljX2ZtX2Zs b3cubw0KICBDQyBoaW5pY19wbWRfY21kcS5vDQogIENDIGhpbmljX3BtZF9lcXMubw0KICBDQyBl bV9ldGhkZXYubw0KICBDQyBoaW5pY19wbWRfaHdkZXYubw0KICBDQyBoaW5pY19wbWRfaHdpZi5v DQogIENDIGZtMTBrX3BmLm8NCiAgQ0MgZW1fcnh0eC5vDQogIFBNRElORk8gZW1fZXRoZGV2Lm8u cG1kLmMNCiAgQ0MgZW1fZXRoZGV2Lm8ucG1kLm8NCiAgTEQgZW1fZXRoZGV2Lm8NCiAgQ0MgYmFz ZS92bmljX2NxLm8NCiAgQ0MgYmFzZS92bmljX3dxLm8NCiAgQ0MgYmFzZS92bmljX2Rldi5vDQog IENDIGhpbmljX3BtZF9tZ210Lm8NCiAgQ0MgYmFzZS92bmljX2ludHIubw0KICBDQyBmYWlsc2Fm ZV9yeHR4Lm8NCiAgQ0MgYmFzZS92bmljX3JxLm8NCiAgQ0MgZm0xMGtfdGx2Lm8NCiAgQ0MgZW5p Y19yeHR4X3ZlY19hdngyLm8NCiAgQ0MgaGluaWNfcG1kX25pY2NmZy5vDQogIENDIGZtMTBrX2Nv bW1vbi5vDQogIENDIGZtMTBrX21ieC5vDQogIENDIGZhaWxzYWZlX2V0aGVyLm8NCiAgQVIgbGli cnRlX3BtZF9lMTAwMC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfZTEwMDAuYQ0KICBDQyBm YWlsc2FmZV9mbG93Lm8NCiAgQ0MgZmFpbHNhZmVfaW50ci5vDQogIENDIGhpbmljX3BtZF9uaWNp by5vDQogIENDIGhpbmljX3BtZF93cS5vDQogIEFSIGxpYnJ0ZV9wbWRfZW5pYy5hDQogIElOU1RB TEwtTElCIGxpYnJ0ZV9wbWRfZW5pYy5hDQogIENDIGhpbmljX3BtZF9tYm94Lm8NCiAgQ0MgZm0x MGtfdmYubw0KICBDQyBmbTEwa19hcGkubw0KICBDQyBmbTEwa19yeHR4X3ZlYy5vDQogIENDIGhp bmljX3BtZF9mbG93Lm8NCiAgQ0MgaGluaWNfcG1kX2V0aGRldi5vDQogIEFSIGxpYnJ0ZV9wbWRf ZmFpbHNhZmUuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2ZhaWxzYWZlLmENCj09IEJ1aWxk IGRyaXZlcnMvbmV0L2huczMNCiAgQ0MgaGluaWNfcG1kX3J4Lm8NCiAgQ0MgaGluaWNfcG1kX3R4 Lm8NCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2k0MGUNCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2lhdmYN CiAgQVIgbGlicnRlX3BtZF9mbTEway5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfZm0xMGsu YQ0KPT0gQnVpbGQgZHJpdmVycy9uZXQvaWNlDQogIENDIGhuczNfZXRoZGV2Lm8NCj09IEJ1aWxk IGRyaXZlcnMvbmV0L2lnYw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG1kX2k0MGUuaA0K ICBDQyBpYXZmX2V0aGRldi5vDQogIENDIGk0MGVfYWRtaW5xLm8NCiAgUE1ESU5GTyBoaW5pY19w bWRfZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgaGluaWNfcG1kX2V0aGRldi5vLnBtZC5vDQogIExEIGhp bmljX3BtZF9ldGhkZXYubw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvaW9uaWMNCj09IEJ1aWxkIGRy aXZlcnMvbmV0L2l4Z2JlDQogIEFSIGxpYnJ0ZV9wbWRfaGluaWMuYQ0KICBJTlNUQUxMLUxJQiBs aWJydGVfcG1kX2hpbmljLmENCj09IEJ1aWxkIGRyaXZlcnMvbmV0L2xpcXVpZGlvDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9wbWRfaWNlLmgNCiAgQ0MgaWNlX2NvbnRyb2xxLm8NCiAgQ0Mg aWdjX2FwaS5vDQogIENDIGlvbmljX21hY19hcGkubw0KICBDQyBpNDBlX2NvbW1vbi5vDQogIEND IGlvbmljX3J4X2ZpbHRlci5vDQogIENDIGlnY19iYXNlLm8NCiAgUE1ESU5GTyBpYXZmX2V0aGRl di5vLnBtZC5jDQogIENDIGlhdmZfZXRoZGV2Lm8ucG1kLm8NCiAgTEQgaWF2Zl9ldGhkZXYubw0K ICBDQyBsaW9fZXRoZGV2Lm8NCiAgQ0MgaWF2Zl92Y2hubC5vDQogIENDIGlnY19pMjI1Lm8NCiAg U1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9peGdiZS5oDQogIENDIGl4Z2JlX2NvbW1vbi5v DQogIENDIGlvbmljX3J4dHgubw0KICBDQyBpY2VfY29tbW9uLm8NCiAgUE1ESU5GTyBobnMzX2V0 aGRldi5vLnBtZC5jDQogIENDIGhuczNfZXRoZGV2Lm8ucG1kLm8NCiAgTEQgaG5zM19ldGhkZXYu bw0KICBDQyBpZ2NfbWFjLm8NCiAgUE1ESU5GTyBsaW9fZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgbGlv X2V0aGRldi5vLnBtZC5vDQogIExEIGxpb19ldGhkZXYubw0KICBDQyBpYXZmX3J4dHgubw0KICBD QyBobnMzX2V0aGRldl92Zi5vDQogIENDIGxpb19yeHR4Lm8NCiAgQ0MgaXhnYmVfODI1OTgubw0K ICBDQyBpb25pY19kZXYubw0KICBDQyBpZ2NfbWFuYWdlLm8NCiAgQ0MgaTQwZV9kaWFnLm8NCiAg Q0MgaXhnYmVfODI1OTkubw0KICBDQyBpZ2NfbnZtLm8NCiAgUE1ESU5GTyBobnMzX2V0aGRldl92 Zi5vLnBtZC5jDQogIENDIGhuczNfZXRoZGV2X3ZmLm8ucG1kLm8NCiAgTEQgaG5zM19ldGhkZXZf dmYubw0KICBDQyBpb25pY19ldGhkZXYubw0KICBDQyBsaW9fMjN4eF92Zi5vDQogIENDIGhuczNf Y21kLm8NCiAgQ0MgaWdjX29zZGVwLm8NCiAgQ0MgaWdjX3BoeS5vDQogIENDIGljZV9zY2hlZC5v DQogIENDIGk0MGVfaG1jLm8NCiAgQ0MgaXhnYmVfeDU0MC5vDQogIFBNRElORk8gaW9uaWNfZXRo ZGV2Lm8ucG1kLmMNCiAgQ0MgaW9uaWNfZXRoZGV2Lm8ucG1kLm8NCiAgQ0MgaWF2Zl9nZW5lcmlj X2Zsb3cubw0KICBDQyBobnMzX21ieC5vDQogIENDIGxpb19tYm94Lm8NCiAgTEQgaW9uaWNfZXRo ZGV2Lm8NCiAgQ0MgaW9uaWNfbGlmLm8NCiAgQ0MgaXhnYmVfeDU1MC5vDQogIENDIGk0MGVfbGFu X2htYy5vDQogIENDIGlnY19sb2dzLm8NCiAgQVIgbGlicnRlX3BtZF9saW8uYQ0KICBDQyBobnMz X3J4dHgubw0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2xpby5hDQogIENDIGlhdmZfZmRpci5v DQo9PSBCdWlsZCBkcml2ZXJzL25ldC9tZW1pZg0KICBDQyBpZ2NfZXRoZGV2Lm8NCiAgQ0MgaW9u aWNfbWFpbi5vDQogIENDIGk0MGVfbnZtLm8NCiAgQ0MgaXhnYmVfcGh5Lm8NCiAgQ0MgaWF2Zl9o YXNoLm8NCiAgUE1ESU5GTyBpZ2NfZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgaWdjX2V0aGRldi5vLnBt ZC5vDQogIExEIGlnY19ldGhkZXYubw0KICBBUiBsaWJydGVfcG1kX2lvbmljLmENCiAgSU5TVEFM TC1MSUIgbGlicnRlX3BtZF9pb25pYy5hDQogIENDIGlhdmZfcnh0eF92ZWNfc3NlLm8NCiAgQ0Mg aWdjX3R4cngubw0KICBDQyBpY2Vfc3dpdGNoLm8NCiAgQ0MgaXhnYmVfYXBpLm8NCiAgQ0MgaTQw ZV9kY2Iubw0KICBDQyBobnMzX3Jzcy5vDQogIENDIHJ0ZV9ldGhfbWVtaWYubw0KICBDQyBtZW1p Zl9zb2NrZXQubw0KICBDQyBpeGdiZV92Zi5vDQogIENDIGk0MGVfZXRoZGV2Lm8NCiAgQ0MgaG5z M19mbG93Lm8NCiAgQ0MgaWF2Zl9yeHR4X3ZlY19hdngyLm8NCiAgQ0MgaXhnYmVfaHZfdmYubw0K ICBDQyBpeGdiZV9kY2Iubw0KICBQTURJTkZPIHJ0ZV9ldGhfbWVtaWYuby5wbWQuYw0KICBDQyBy dGVfZXRoX21lbWlmLm8ucG1kLm8NCiAgTEQgcnRlX2V0aF9tZW1pZi5vDQogIENDIGlnY19maWx0 ZXIubw0KICBDQyBpZ2NfZmxvdy5vDQogIENDIGhuczNfZmRpci5vDQogIEFSIGxpYnJ0ZV9wbWRf bWVtaWYuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX21lbWlmLmENCiAgQ0MgaG5zM19pbnRy Lm8NCiAgQ0MgaXhnYmVfZGNiXzgyNTk5Lm8NCiAgQVIgbGlicnRlX3BtZF9pYXZmLmENCiAgQ0Mg aXhnYmVfZGNiXzgyNTk4Lm8NCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pYXZmLmENCiAgQ0Mg aG5zM19zdGF0cy5vDQogIEFSIGxpYnJ0ZV9wbWRfaWdjLmENCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF9pZ2MuYQ0KICBDQyBobnMzX3JlZ3Mubw0KICBDQyBpY2VfbnZtLm8NCiAgQ0MgaG5zM19k Y2Iubw0KICBDQyBpNDBlX3J4dHgubw0KICBDQyBpeGdiZV9tYngubw0KICBDQyBpNDBlX3J4dHhf dmVjX3NzZS5vDQogIENDIGk0MGVfZXRoZGV2X3ZmLm8NCiAgQ0MgaTQwZV9wZi5vDQogIENDIGl4 Z2JlX3J4dHgubw0KICBDQyBpY2VfZmxleF9waXBlLm8NCiAgQ0MgaG5zM19tcC5vDQogIFBNRElO Rk8gaTQwZV9ldGhkZXZfdmYuby5wbWQuYw0KICBDQyBpNDBlX2ZkaXIubw0KICBDQyBpNDBlX2V0 aGRldl92Zi5vLnBtZC5vDQogIExEIGk0MGVfZXRoZGV2X3ZmLm8NCj09IEJ1aWxkIGRyaXZlcnMv bmV0L25ldHZzYw0KICBBUiBsaWJydGVfcG1kX2huczMuYQ0KICBDQyBpNDBlX2Zsb3cubw0KICBJ TlNUQUxMLUxJQiBsaWJydGVfcG1kX2huczMuYQ0KICBDQyBydGVfcG1kX2k0MGUubw0KICBQTURJ TkZPIGk0MGVfZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgaTQwZV9ldGhkZXYuby5wbWQubw0KICBMRCBp NDBlX2V0aGRldi5vDQogIENDIGljZV9mbG93Lm8NCiAgQ0MgaWNlX2RjYi5vDQogIENDIGljZV9m ZGlyLm8NCiAgQ0MgaG5fZXRoZGV2Lm8NCiAgQ0MgaG5fcnh0eC5vDQogIENDIGhuX3JuZGlzLm8N CiAgQ0MgaG5fbnZzLm8NCiAgQ0MgaTQwZV90bS5vDQogIENDIGl4Z2JlX2V0aGRldi5vDQogIFBN RElORk8gaG5fZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgaG5fZXRoZGV2Lm8ucG1kLm8NCiAgTEQgaG5f ZXRoZGV2Lm8NCiAgQ0MgaWNlX2FjbC5vDQogIENDIGl4Z2JlX2ZkaXIubw0KICBDQyBobl92Zi5v DQogIENDIGl4Z2JlX3BmLm8NCiAgQ0MgaWNlX2FjbF9jdHJsLm8NCiAgQ0MgaTQwZV92Zl9yZXBy ZXNlbnRvci5vDQogIENDIGk0MGVfcnh0eF92ZWNfYXZ4Mi5vDQo9PSBCdWlsZCBkcml2ZXJzL25l dC9uZnANCiAgQVIgbGlicnRlX3BtZF9uZXR2c2MuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1k X25ldHZzYy5hDQogIENDIGljZV9ldGhkZXYubw0KICBDQyBpY2Vfcnh0eC5vDQogIENDIGljZV9y eHR4X3ZlY19zc2Uubw0KICBDQyBpY2Vfc3dpdGNoX2ZpbHRlci5vDQo9PSBCdWlsZCBkcml2ZXJz L25ldC9ibnh0DQogIEFSIGxpYnJ0ZV9wbWRfaTQwZS5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9w bWRfaTQwZS5hDQogIENDIGljZV9mZGlyX2ZpbHRlci5vDQogIENDIG5mcF9jcHBjb3JlLm8NCiAg UE1ESU5GTyBpeGdiZV9ldGhkZXYuby5wbWQuYw0KICBDQyBpeGdiZV9ldGhkZXYuby5wbWQubw0K ICBMRCBpeGdiZV9ldGhkZXYubw0KICBQTURJTkZPIGljZV9ldGhkZXYuby5wbWQuYw0KICBDQyBp Y2VfZXRoZGV2Lm8ucG1kLm8NCiAgQ0MgaWNlX2hhc2gubw0KICBMRCBpY2VfZXRoZGV2Lm8NCiAg Q0MgaXhnYmVfZmxvdy5vDQogIENDIGl4Z2JlX3J4dHhfdmVjX3NzZS5vDQogIENDIG5mcF9jcHBf cGNpZV9vcHMubw0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG1kX2JueHQuaA0KICBDQyBi bnh0X2Nwci5vDQogIENDIGJueHRfZXRoZGV2Lm8NCiAgQ0MgbmZwX211dGV4Lm8NCiAgQ0MgaWNl X3J4dHhfdmVjX2F2eDIubw0KICBDQyBpY2VfZ2VuZXJpY19mbG93Lm8NCiAgQ0MgbmZwX3Jlc291 cmNlLm8NCiAgQ0MgaWNlX2RjZi5vDQogIENDIGljZV9kY2ZfZXRoZGV2Lm8NCiAgQ0MgaWNlX2Rj Zl9wYXJlbnQubw0KICBDQyBpeGdiZV9pcHNlYy5vDQogIENDIG5mcF9jcmMubw0KICBDQyBuZnBf bWlwLm8NCj09IEJ1aWxkIGRyaXZlcnMvbmV0L29jdGVvbnR4DQo9PSBCdWlsZCBkcml2ZXJzL25l dC9udWxsDQogIFBNRElORk8gaWNlX2RjZl9ldGhkZXYuby5wbWQuYw0KICBDQyBpY2VfZGNmX2V0 aGRldi5vLnBtZC5vDQogIENDIG5mcF9uZmZ3Lm8NCiAgTEQgaWNlX2RjZl9ldGhkZXYubw0KICBD QyBuZnBfaHdpbmZvLm8NCiAgQVIgbGlicnRlX3BtZF9pY2UuYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfcG1kX2ljZS5hDQo9PSBCdWlsZCBkcml2ZXJzL25ldC9vY3Rlb250eDINCiAgUE1ESU5GTyBi bnh0X2V0aGRldi5vLnBtZC5jDQogIENDIGJueHRfZXRoZGV2Lm8ucG1kLm8NCiAgTEQgYm54dF9l dGhkZXYubw0KICBDQyBydGVfcG1kX2l4Z2JlLm8NCiAgQ0MgbmZwX3J0c3ltLm8NCiAgQ0MgYm54 dF9maWx0ZXIubw0KICBDQyBuZnBfbnNwLm8NCiAgQ0MgbmZwX25zcF9jbWRzLm8NCiAgQ0MgcnRl X2V0aF9udWxsLm8NCiAgQ0Mgb2N0ZW9udHhfcnh0eC5vDQogIENDIG90eDJfcngubw0KICBDQyBi bnh0X2Zsb3cubw0KICBDQyBvdHgyX3R4Lm8NCiAgQ0Mgb3R4Ml90bS5vDQogIFBNRElORk8gcnRl X2V0aF9udWxsLm8ucG1kLmMNCiAgQ0MgcnRlX2V0aF9udWxsLm8ucG1kLm8NCiAgQ0MgbmZwX25z cF9ldGgubw0KICBMRCBydGVfZXRoX251bGwubw0KICBDQyBpeGdiZV90bS5vDQogIEFSIGxpYnJ0 ZV9wbWRfbnVsbC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfbnVsbC5hDQogIENDIG5mcF9u ZXQubw0KICBDQyBvY3Rlb250eF9wa292Zi5vDQogIFBNRElORk8gb2N0ZW9udHhfcGtvdmYuby5w bWQuYw0KICBDQyBvY3Rlb250eF9wa292Zi5vLnBtZC5vDQogIExEIG9jdGVvbnR4X3Brb3ZmLm8N CiAgQ0Mgb3R4Ml9yc3Mubw0KICBDQyBpeGdiZV92Zl9yZXByZXNlbnRvci5vDQogIENDIG9jdGVv bnR4X3BraXZmLm8NCiAgQ0MgYm54dF9od3JtLm8NCiAgUE1ESU5GTyBvY3Rlb250eF9wa2l2Zi5v LnBtZC5jDQogIENDIG9jdGVvbnR4X3BraXZmLm8ucG1kLm8NCiAgTEQgb2N0ZW9udHhfcGtpdmYu bw0KICBBUiBsaWJydGVfcG1kX2l4Z2JlLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9peGdi ZS5hDQogIENDIGJueHRfcmluZy5vDQogIENDIG9jdGVvbnR4X2JneC5vDQogIENDIGJueHRfcnhx Lm8NCiAgQ0MgYm54dF9yeHIubw0KICBQTURJTkZPIG5mcF9uZXQuby5wbWQuYw0KICBDQyBuZnBf bmV0Lm8ucG1kLm8NCiAgQ0Mgb2N0ZW9udHhfZXRoZGV2Lm8NCiAgTEQgbmZwX25ldC5vDQogIEND IGJueHRfc3RhdHMubw0KICBBUiBsaWJydGVfcG1kX25mcC5hDQogIElOU1RBTEwtTElCIGxpYnJ0 ZV9wbWRfbmZwLmENCiAgUE1ESU5GTyBvY3Rlb250eF9ldGhkZXYuby5wbWQuYw0KICBDQyBvY3Rl b250eF9ldGhkZXYuby5wbWQubw0KICBMRCBvY3Rlb250eF9ldGhkZXYubw0KICBDQyBibnh0X3R4 cS5vDQogIENDIGJueHRfdHhyLm8NCiAgQ0Mgb2N0ZW9udHhfZXRoZGV2X29wcy5vDQogIENDIGJu eHRfdm5pYy5vDQo9PSBCdWlsZCBkcml2ZXJzL25ldC9xZWRlDQo9PSBCdWlsZCBkcml2ZXJzL25l dC9yaW5nDQogIEFSIGxpYnJ0ZV9wbWRfb2N0ZW9udHguYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVf cG1kX29jdGVvbnR4LmENCj09IEJ1aWxkIGRyaXZlcnMvbmV0L3NmYw0KICBDQyBvdHgyX21hYy5v DQogIENDIG90eDJfcHRwLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2V0aF9yaW5nLmgN CiAgQ0MgcnRlX2V0aF9yaW5nLm8NCiAgQ0MgYm54dF9pcnEubw0KICBDQyBlY29yZV9kZXYubw0K ICBDQyBzZmNfZXRoZGV2Lm8NCiAgQ0Mgb3R4Ml9mbG93Lm8NCiAgQ0Mgb3R4Ml9saW5rLm8NCiAg Q0MgYm54dF91dGlsLm8NCiAgUE1ESU5GTyBydGVfZXRoX3Jpbmcuby5wbWQuYw0KICBDQyBydGVf ZXRoX3Jpbmcuby5wbWQubw0KICBMRCBydGVfZXRoX3Jpbmcubw0KICBDQyBydGVfcG1kX2JueHQu bw0KICBBUiBsaWJydGVfcG1kX3JpbmcuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX3Jpbmcu YQ0KICBQTURJTkZPIHNmY19ldGhkZXYuby5wbWQuYw0KICBDQyBzZmNfZXRoZGV2Lm8ucG1kLm8N CiAgTEQgc2ZjX2V0aGRldi5vDQogIENDIGJueHRfcnh0eF92ZWNfc3NlLm8NCiAgQ0MgdGZfdWxw L3VscF90ZW1wbGF0ZV9kYl90Ymwubw0KICBDQyBzZmNfa3ZhcmdzLm8NCiAgQ0MgdGZfdWxwL3Vs cF90ZW1wbGF0ZV9kYl9jbGFzcy5vDQogIENDIHNmYy5vDQogIENDIHRmX3VscC91bHBfdGVtcGxh dGVfZGJfYWN0Lm8NCiAgQ0MgZWNvcmVfaHcubw0KICBDQyBzZmNfbWNkaS5vDQogIENDIGVjb3Jl X2N4dC5vDQogIENDIGVjb3JlX2wyLm8NCiAgQ0MgdGZfdWxwL3VscF9ydGVfcGFyc2VyLm8NCiAg Q0Mgb3R4Ml92bGFuLm8NCiAgQ0Mgc2ZjX2ludHIubw0KICBDQyB0Zl91bHAvYm54dF91bHBfZmxv dy5vDQogIENDIHRmX3VscC91bHBfbWF0Y2hlci5vDQogIENDIHRmX3VscC91bHBfdXRpbHMubw0K ICBDQyB0Zl91bHAvdWxwX21hcHBlci5vDQogIENDIG90eDJfc3RhdHMubw0KICBDQyBlY29yZV9z cF9jb21tYW5kcy5vDQogIENDIHNmY19ldi5vDQogIENDIHNmY19wb3J0Lm8NCiAgQ0Mgc2ZjX3J4 Lm8NCiAgQ0MgdGZfdWxwL2JueHRfdWxwLm8NCiAgQ0Mgc2ZjX3R4Lm8NCiAgQ0Mgb3R4Ml9tY2Fz dC5vDQogIENDIGVjb3JlX2luaXRfZndfZnVuY3Mubw0KICBDQyB0Zl91bHAvdWxwX21hcmtfbWdy Lm8NCiAgQ0MgdGZfdWxwL3VscF9mbG93X2RiLm8NCiAgQ0Mgb3R4Ml9sb29rdXAubw0KICBDQyB0 Zl91bHAvdWxwX3BvcnRfZGIubw0KICBDQyBvdHgyX2V0aGRldi5vDQogIENDIHRmX2NvcmUvYml0 YWxsb2Mubw0KICBDQyBvdHgyX2Zsb3dfY3RybC5vDQogIENDIHNmY190c28ubw0KICBDQyBlY29y ZV9zcHEubw0KICBDQyBzZmNfZmlsdGVyLm8NCiAgQ0Mgc2ZjX2Zsb3cubw0KICBDQyBzZmNfZHAu bw0KICBDQyB0Zl9jb3JlL3JhbmQubw0KICBDQyB0Zl9jb3JlL3N0YWNrLm8NCiAgQ0MgdGZfY29y ZS90Zl9jb3JlLm8NCiAgQ0MgdGZfY29yZS90Zl9ybS5vDQo9PSBCdWlsZCBkcml2ZXJzL25ldC90 YXANCj09IEJ1aWxkIGRyaXZlcnMvbmV0L3RodW5kZXJ4DQogIENDIGVjb3JlX2luaXRfb3BzLm8N Cj09IEJ1aWxkIGRyaXZlcnMvbmV0L3ZkZXZfbmV0dnNjDQo9PSBCdWlsZCBkcml2ZXJzL25ldC92 aXJ0aW8NCiAgUE1ESU5GTyBvdHgyX2V0aGRldi5vLnBtZC5jDQogIENDIG90eDJfZXRoZGV2Lm8u cG1kLm8NCiAgTEQgb3R4Ml9ldGhkZXYubw0KICBDQyBvdHgyX2Zsb3dfcGFyc2Uubw0KICBDQyBz ZmNfZWYxMF9yeC5vDQogIENDIG5pY3ZmX3J4dHgubw0KICBDQyB2ZGV2X25ldHZzYy5vDQogIEND IGVjb3JlX21jcC5vDQogIENDIHZpcnRxdWV1ZS5vDQogIENDIG90eDJfZmxvd191dGlscy5vDQog IENDIHJ0ZV9ldGhfdGFwLm8NCiAgQ0MgdmlydGlvX3BjaS5vDQogIENDIHNmY19lZjEwX2Vzc2Jf cngubw0KICBDQyB0Zl9jb3JlL3RmcC5vDQogIFBNRElORk8gdmRldl9uZXR2c2Muby5wbWQuYw0K ICBDQyB2ZGV2X25ldHZzYy5vLnBtZC5vDQogIExEIHZkZXZfbmV0dnNjLm8NCiAgQVIgbGlicnRl X3BtZF92ZGV2X25ldHZzYy5hDQogIENDIG5pY3ZmX2h3Lm8NCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF92ZGV2X25ldHZzYy5hDQogIENDIG5pY3ZmX21ib3gubw0KICBDQyB2aXJ0aW9fcnh0eC5v DQogIENDIHRmX2NvcmUvdGZfbXNnLm8NCiAgQ0Mgb3R4Ml9ldGhkZXZfaXJxLm8NCiAgQ0Mgc2Zj X2VmMTBfdHgubw0KICBDQyBlZnhfYm9vdGNmZy5vDQogIENDIG5pY3ZmX2V0aGRldi5vDQogIEND IG90eDJfZXRoZGV2X29wcy5vDQogIENDIGVjb3JlX2ludC5vDQogIENDIHRmX2NvcmUvdGZfZW0u bw0KICBQTURJTkZPIHJ0ZV9ldGhfdGFwLm8ucG1kLmMNCiAgQ0MgcnRlX2V0aF90YXAuby5wbWQu bw0KICBMRCBydGVfZXRoX3RhcC5vDQogIFBNRElORk8gbmljdmZfZXRoZGV2Lm8ucG1kLmMNCiAg Q0MgbmljdmZfZXRoZGV2Lm8ucG1kLm8NCiAgQ0MgdGZfY29yZS90Zl90Ymwubw0KICBMRCBuaWN2 Zl9ldGhkZXYubw0KICBDQyB0YXBfZmxvdy5vDQogIENDIG5pY3ZmX2JzdmYubw0KICBDQyBvdHgy X2V0aGRldl9zZWMubw0KICBDQyBlZnhfY3JjMzIubw0KICBDQyBuaWN2Zl9zdmYubw0KICBDQyBl ZnhfZXYubw0KICBDQyBlY29yZV9kY2J4Lm8NCiAgQ0MgYmNtX29zYWwubw0KICBBUiBsaWJydGVf cG1kX3RodW5kZXJ4X25pY3ZmLmENCiAgQVIgbGlicnRlX3BtZF9ibnh0LmENCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF90aHVuZGVyeF9uaWN2Zi5hDQogIENDIHRhcF9uZXRsaW5rLm8NCiAgQ0Mg ZWNvcmVfc3Jpb3Yubw0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2JueHQuYQ0KICBDQyBlY29y ZV92Zi5vDQogIENDIHRhcF90Y21zZ3Mubw0KICBDQyBvdHgyX2V0aGRldl9kZWJ1Zy5vDQogIEND IGVmeF9ldmIubw0KICBDQyBlZnhfZmlsdGVyLm8NCiAgQ0MgdmlydGlvX2V0aGRldi5vDQogIEND IHZpcnRpb19yeHR4X3NpbXBsZS5vDQogIENDIHRhcF9icGZfYXBpLm8NCiAgQ0MgdGFwX2ludHIu bw0KICBDQyBvdHgyX2V0aGRldl9kZXZhcmdzLm8NCiAgQ0MgdmlydGlvX3J4dHhfc2ltcGxlX3Nz ZS5vDQogIENDIHZpcnRpb191c2VyL3Zob3N0X3VzZXIubw0KICBDQyBlZnhfaGFzaC5vDQogIEND IHZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5vDQogIENDIHFlZGVfZXRoZGV2Lm8NCiAgQVIgbGli cnRlX3BtZF90YXAuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX3RhcC5hDQogIEFSIGxpYnJ0 ZV9wbWRfb2N0ZW9udHgyLmENCiAgQ0MgcWVkZV9tYWluLm8NCiAgQ0MgZWZ4X2ludHIubw0KICBJ TlNUQUxMLUxJQiBsaWJydGVfcG1kX29jdGVvbnR4Mi5hDQogIENDIGVmeF9saWMubw0KICBDQyBl ZnhfbWFjLm8NCiAgQ0MgZWZ4X21jZGkubw0KICBQTURJTkZPIHZpcnRpb19ldGhkZXYuby5wbWQu Yw0KICBDQyB2aXJ0aW9fZXRoZGV2Lm8ucG1kLm8NCiAgTEQgdmlydGlvX2V0aGRldi5vDQogIEND IGVmeF9tb24ubw0KICBDQyBxZWRlX3J4dHgubw0KICBDQyB2aXJ0aW9fdXNlci92aG9zdF9rZXJu ZWxfdGFwLm8NCiAgQ0MgcWVkZV9maWx0ZXIubw0KICBDQyB2aXJ0aW9fdXNlci92aXJ0aW9fdXNl cl9kZXYubw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvdm14bmV0Mw0KPT0gQnVpbGQgZHJpdmVycy9u ZXQva25pDQogIENDIGVmeF9uaWMubw0KICBDQyBlZnhfbnZyYW0ubw0KICBQTURJTkZPIHFlZGVf ZXRoZGV2Lm8ucG1kLmMNCiAgQ0MgcWVkZV9ldGhkZXYuby5wbWQubw0KICBMRCBxZWRlX2V0aGRl di5vDQogIENDIGVmeF9waHkubw0KPT0gQnVpbGQgZHJpdmVycy9uZXQvc29mdG5pYw0KPT0gQnVp bGQgZHJpdmVycy9uZXQvdmhvc3QNCiAgQ0MgdmlydGlvX3VzZXJfZXRoZGV2Lm8NCiAgQ0MgZWZ4 X3BvcnQubw0KICBDQyBydGVfZXRoX2tuaS5vDQogIENDIGVmeF9wcm94eS5vDQogIENDIHZteG5l dDNfcnh0eC5vDQogIENDIHZteG5ldDNfZXRoZGV2Lm8NCiAgUE1ESU5GTyB2aXJ0aW9fdXNlcl9l dGhkZXYuby5wbWQuYw0KICBDQyB2aXJ0aW9fdXNlcl9ldGhkZXYuby5wbWQubw0KICBMRCB2aXJ0 aW9fdXNlcl9ldGhkZXYubw0KICBDQyBlZnhfcngubw0KICBBUiBsaWJydGVfcG1kX3FlZGUuYQ0K ICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX3FlZGUuYQ0KICBDQyBlZnhfc3JhbS5vDQogIFNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9ldGhfc29mdG5pYy5oDQogIFBNRElORk8gcnRlX2V0aF9rbmku by5wbWQuYw0KICBBUiBsaWJydGVfcG1kX3ZpcnRpby5hDQogIENDIHJ0ZV9ldGhfa25pLm8ucG1k Lm8NCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF92aXJ0aW8uYQ0KICBDQyBydGVfZXRoX3NvZnRu aWMubw0KICBMRCBydGVfZXRoX2tuaS5vDQogIENDIHJ0ZV9ldGhfc29mdG5pY19tZW1wb29sLm8N CiAgQVIgbGlicnRlX3BtZF9rbmkuYQ0KICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfZXRoX3Zo b3N0LmgNCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9rbmkuYQ0KICBDQyBydGVfZXRoX3Zob3N0 Lm8NCiAgQ0MgcnRlX2V0aF9zb2Z0bmljX3N3cS5vDQogIFBNRElORk8gdm14bmV0M19ldGhkZXYu by5wbWQuYw0KICBDQyB2bXhuZXQzX2V0aGRldi5vLnBtZC5vDQogIExEIHZteG5ldDNfZXRoZGV2 Lm8NCiAgQ0MgZWZ4X3R1bm5lbC5vDQogIENDIGVmeF90eC5vDQogIENDIGVmeF92cGQubw0KICBQ TURJTkZPIHJ0ZV9ldGhfc29mdG5pYy5vLnBtZC5jDQogIENDIHJ0ZV9ldGhfc29mdG5pYy5vLnBt ZC5vDQogIENDIHJ0ZV9ldGhfc29mdG5pY19saW5rLm8NCiAgTEQgcnRlX2V0aF9zb2Z0bmljLm8N CiAgQ0MgcnRlX2V0aF9zb2Z0bmljX3RtLm8NCiAgUE1ESU5GTyBydGVfZXRoX3Zob3N0Lm8ucG1k LmMNCiAgQ0MgcnRlX2V0aF92aG9zdC5vLnBtZC5vDQogIExEIHJ0ZV9ldGhfdmhvc3Qubw0KICBB UiBsaWJydGVfcG1kX3ZteG5ldDNfdWlvLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF92bXhu ZXQzX3Vpby5hDQogIENDIHJ0ZV9ldGhfc29mdG5pY190YXAubw0KICBDQyBtY2RpX21vbi5vDQog IEFSIGxpYnJ0ZV9wbWRfdmhvc3QuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX3Zob3N0LmEN CiAgQ0MgcnRlX2V0aF9zb2Z0bmljX2FjdGlvbi5vDQogIENDIHNpZW5hX21hYy5vDQogIENDIHNp ZW5hX21jZGkubw0KICBDQyBydGVfZXRoX3NvZnRuaWNfcGlwZWxpbmUubw0KICBDQyBzaWVuYV9u aWMubw0KICBDQyBydGVfZXRoX3NvZnRuaWNfdGhyZWFkLm8NCiAgQ0MgcnRlX2V0aF9zb2Z0bmlj X2NsaS5vDQogIENDIHJ0ZV9ldGhfc29mdG5pY19mbG93Lm8NCiAgQ0MgcnRlX2V0aF9zb2Z0bmlj X21ldGVyLm8NCiAgQ0Mgc2llbmFfbnZyYW0ubw0KICBDQyBydGVfZXRoX3NvZnRuaWNfY3J5cHRv ZGV2Lm8NCiAgQ0Mgc2llbmFfcGh5Lm8NCiAgQ0Mgc2llbmFfc3JhbS5vDQogIENDIHBhcnNlci5v DQogIENDIGNvbm4ubw0KICBDQyBzaWVuYV92cGQubw0KICBDQyBlZjEwX2V2Lm8NCiAgQ0MgZWYx MF9ldmIubw0KICBDQyBlZjEwX2ZpbHRlci5vDQogIENDIGVmMTBfaW50ci5vDQogIENDIGVmMTBf aW1hZ2Uubw0KICBDQyBlZjEwX21hYy5vDQogIENDIGVmMTBfbWNkaS5vDQogIENDIGVmMTBfbmlj Lm8NCiAgQ0MgZWYxMF9udnJhbS5vDQogIENDIGVmMTBfcGh5Lm8NCiAgQVIgbGlicnRlX3BtZF9z b2Z0bmljLmENCiAgQ0MgZWYxMF9wcm94eS5vDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfc29m dG5pYy5hDQogIENDIGVmMTBfcngubw0KICBDQyBlZjEwX3R4Lm8NCiAgQ0MgZWYxMF92cGQubw0K ICBDQyBodW50X25pYy5vDQogIENDIG1lZGZvcmRfbmljLm8NCiAgQ0MgbWVkZm9yZDJfbmljLm8N CiAgQVIgbGlicnRlX3BtZF9zZmNfZWZ4LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9zZmNf ZWZ4LmENCj09IEJ1aWxkIGRyaXZlcnMvZXZlbnQNCj09IEJ1aWxkIGRyaXZlcnMvZXZlbnQvc2tl bGV0b24NCj09IEJ1aWxkIGRyaXZlcnMvZXZlbnQvc3cNCj09IEJ1aWxkIGRyaXZlcnMvZXZlbnQv ZHN3DQo9PSBCdWlsZCBkcml2ZXJzL2V2ZW50L29jdGVvbnR4DQo9PSBCdWlsZCBkcml2ZXJzL2V2 ZW50L29jdGVvbnR4Mg0KPT0gQnVpbGQgZHJpdmVycy9ldmVudC9kcGFhDQo9PSBCdWlsZCBkcml2 ZXJzL2V2ZW50L2RwYWEyDQo9PSBCdWlsZCBkcml2ZXJzL2V2ZW50L29wZGwNCiAgQ0MgZHBhYV9l dmVudGRldi5vDQogIENDIGRwYWEyX2h3X2RwY29uLm8NCiAgQ0Mgc3dfZXZkZXYubw0KICBDQyBz a2VsZXRvbl9ldmVudGRldi5vDQogIENDIG9wZGxfcmluZy5vDQogIENDIGRzd19ldmRldi5vDQog IENDIG90eDJfd29ya2VyX2R1YWwubw0KICBDQyBzc292Zl93b3JrZXIubw0KICBQTURJTkZPIHNr ZWxldG9uX2V2ZW50ZGV2Lm8ucG1kLmMNCiAgQ0Mgc2tlbGV0b25fZXZlbnRkZXYuby5wbWQubw0K ICBMRCBza2VsZXRvbl9ldmVudGRldi5vDQogIFBNRElORk8gZHBhYTJfaHdfZHBjb24uby5wbWQu Yw0KICBDQyBkcGFhMl9od19kcGNvbi5vLnBtZC5vDQogIFBNRElORk8gZHN3X2V2ZGV2Lm8ucG1k LmMNCiAgQ0MgZHN3X2V2ZGV2Lm8ucG1kLm8NCiAgTEQgZHN3X2V2ZGV2Lm8NCiAgTEQgZHBhYTJf aHdfZHBjb24ubw0KICBBUiBsaWJydGVfcG1kX3NrZWxldG9uX2V2ZW50LmENCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF9za2VsZXRvbl9ldmVudC5hDQogIENDIG90eDJfd29ya2VyLm8NCiAgQ0Mg ZHN3X2V2ZW50Lm8NCiAgUE1ESU5GTyBzd19ldmRldi5vLnBtZC5jDQogIENDIHN3X2V2ZGV2Lm8u cG1kLm8NCiAgQ0MgZHBhYTJfZXZlbnRkZXYubw0KICBMRCBzd19ldmRldi5vDQogIFBNRElORk8g ZHBhYV9ldmVudGRldi5vLnBtZC5jDQogIENDIGRwYWFfZXZlbnRkZXYuby5wbWQubw0KICBMRCBk cGFhX2V2ZW50ZGV2Lm8NCiAgQ0Mgc3dfZXZkZXZfd29ya2VyLm8NCiAgQVIgbGlicnRlX3BtZF9k cGFhX2V2ZW50LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9kcGFhX2V2ZW50LmENCiAgUE1E SU5GTyBkcGFhMl9ldmVudGRldi5vLnBtZC5jDQogIENDIGRwYWEyX2V2ZW50ZGV2Lm8ucG1kLm8N CiAgQ0Mgc3dfZXZkZXZfc2NoZWR1bGVyLm8NCiAgTEQgZHBhYTJfZXZlbnRkZXYubw0KICBDQyBk cGFhMl9ldmVudGRldl9zZWxmdGVzdC5vDQogIENDIG90eDJfdGltX3dvcmtlci5vDQogIENDIG9w ZGxfZXZkZXYubw0KICBQTURJTkZPIG9wZGxfZXZkZXYuby5wbWQuYw0KICBDQyBvcGRsX2V2ZGV2 Lm8ucG1kLm8NCiAgTEQgb3BkbF9ldmRldi5vDQogIENDIHNzb3ZmX2V2ZGV2Lm8NCiAgQ0MgZHN3 X3hzdGF0cy5vDQogIEFSIGxpYnJ0ZV9wbWRfZHBhYTJfZXZlbnQuYQ0KICBJTlNUQUxMLUxJQiBs aWJydGVfcG1kX2RwYWEyX2V2ZW50LmENCiAgQ0Mgb3BkbF9ldmRldl9pbml0Lm8NCiAgQ0Mgb3Bk bF9ldmRldl94c3RhdHMubw0KICBQTURJTkZPIHNzb3ZmX2V2ZGV2Lm8ucG1kLmMNCiAgQ0Mgc3Nv dmZfZXZkZXYuby5wbWQubw0KICBMRCBzc292Zl9ldmRldi5vDQogIEFSIGxpYnJ0ZV9wbWRfZHN3 X2V2ZW50LmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9kc3dfZXZlbnQuYQ0KICBDQyBzc292 Zl9ldmRldl9zZWxmdGVzdC5vDQogIENDIHN3X2V2ZGV2X3hzdGF0cy5vDQogIENDIHN3X2V2ZGV2 X3NlbGZ0ZXN0Lm8NCiAgQ0Mgb3BkbF90ZXN0Lm8NCiAgQ0Mgb3R4Ml9ldmRldi5vDQogIENDIHNz b3ZmX3Byb2JlLm8NCiAgQ0Mgb3R4Ml9ldmRldl9hZHB0ci5vDQogIENDIG90eDJfdGltX2V2ZGV2 Lm8NCiAgUE1ESU5GTyBzc292Zl9wcm9iZS5vLnBtZC5jDQogIENDIHNzb3ZmX3Byb2JlLm8ucG1k Lm8NCiAgTEQgc3NvdmZfcHJvYmUubw0KICBBUiBsaWJydGVfcG1kX29wZGxfZXZlbnQuYQ0KICBD QyB0aW12Zl93b3JrZXIubw0KICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX29wZGxfZXZlbnQuYQ0K ICBDQyBvdHgyX2V2ZGV2X3NlbGZ0ZXN0Lm8NCiAgQ0MgdGltdmZfZXZkZXYubw0KICBDQyB0aW12 Zl9wcm9iZS5vDQogIENDIG90eDJfZXZkZXZfaXJxLm8NCiAgQVIgbGlicnRlX3BtZF9zd19ldmVu dC5hDQogIFBNRElORk8gdGltdmZfcHJvYmUuby5wbWQuYw0KICBDQyB0aW12Zl9wcm9iZS5vLnBt ZC5vDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfc3dfZXZlbnQuYQ0KICBMRCB0aW12Zl9wcm9i ZS5vDQogIEFSIGxpYnJ0ZV9wbWRfb2N0ZW9udHhfc3NvdmYuYQ0KICBJTlNUQUxMLUxJQiBsaWJy dGVfcG1kX29jdGVvbnR4X3Nzb3ZmLmENCiAgUE1ESU5GTyBvdHgyX2V2ZGV2Lm8ucG1kLmMNCiAg Q0Mgb3R4Ml9ldmRldi5vLnBtZC5vDQogIExEIG90eDJfZXZkZXYubw0KICBBUiBsaWJydGVfcG1k X29jdGVvbnR4Ml9ldmVudC5hDQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfb2N0ZW9udHgyX2V2 ZW50LmENCj09IEJ1aWxkIGRyaXZlcnMvcmF3DQo9PSBCdWlsZCBkcml2ZXJzL3Jhdy9kcGFhMl9j bWRpZg0KPT0gQnVpbGQgZHJpdmVycy9yYXcvc2tlbGV0b24NCj09IEJ1aWxkIGRyaXZlcnMvcmF3 L2RwYWEyX3FkbWENCj09IEJ1aWxkIGRyaXZlcnMvcmF3L2lvYXQNCj09IEJ1aWxkIGRyaXZlcnMv cmF3L250Yg0KPT0gQnVpbGQgZHJpdmVycy9yYXcvb2N0ZW9udHgyX2RtYQ0KPT0gQnVpbGQgZHJp dmVycy9yYXcvb2N0ZW9udHgyX2VwDQogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9wbWRfbnRi LmgNCiAgQ0MgbnRiLm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lvYXRfcmF3ZGV2LmgN CiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9kcGFhMl9jbWRpZi5oDQogIENDIG90eDJf ZXBfcmF3ZGV2Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9kcGFhMl9xZG1hLmgN CiAgQ0Mgc2tlbGV0b25fcmF3ZGV2Lm8NCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lvYXRf c3BlYy5oDQogIENDIGRwYWEyX3FkbWEubw0KICBDQyBkcGFhMl9jbWRpZi5vDQogIENDIG90eDJf ZHBpX3Jhd2Rldi5vDQogIENDIG90eDJfZHBpX21zZy5vDQogIENDIGlvYXRfcmF3ZGV2Lm8NCiAg UE1ESU5GTyBkcGFhMl9jbWRpZi5vLnBtZC5jDQogIENDIGRwYWEyX2NtZGlmLm8ucG1kLm8NCiAg TEQgZHBhYTJfY21kaWYubw0KICBQTURJTkZPIGlvYXRfcmF3ZGV2Lm8ucG1kLmMNCiAgQ0MgaW9h dF9yYXdkZXYuby5wbWQubw0KICBQTURJTkZPIG90eDJfZXBfcmF3ZGV2Lm8ucG1kLmMNCiAgQ0Mg b3R4Ml9lcF9yYXdkZXYuby5wbWQubw0KICBMRCBpb2F0X3Jhd2Rldi5vDQogIExEIG90eDJfZXBf cmF3ZGV2Lm8NCiAgQVIgbGlicnRlX3Jhd2Rldl9kcGFhMl9jbWRpZi5hDQogIElOU1RBTEwtTElC IGxpYnJ0ZV9yYXdkZXZfZHBhYTJfY21kaWYuYQ0KICBDQyBvdHgyX2VwX2VucWRlcS5vDQogIEND IG90eDJfZXBfdGVzdC5vDQogIFBNRElORk8gc2tlbGV0b25fcmF3ZGV2Lm8ucG1kLmMNCiAgQ0Mg c2tlbGV0b25fcmF3ZGV2Lm8ucG1kLm8NCiAgQ0Mgb3R4Ml9kcGlfdGVzdC5vDQogIENDIGlvYXRf cmF3ZGV2X3Rlc3Qubw0KICBMRCBza2VsZXRvbl9yYXdkZXYubw0KICBQTURJTkZPIG90eDJfZHBp X3Jhd2Rldi5vLnBtZC5jDQogIENDIG90eDJfZHBpX3Jhd2Rldi5vLnBtZC5vDQogIExEIG90eDJf ZHBpX3Jhd2Rldi5vDQogIENDIHNrZWxldG9uX3Jhd2Rldl90ZXN0Lm8NCiAgQ0MgbnRiX2h3X2lu dGVsLm8NCiAgUE1ESU5GTyBkcGFhMl9xZG1hLm8ucG1kLmMNCiAgQ0MgZHBhYTJfcWRtYS5vLnBt ZC5vDQogIExEIGRwYWEyX3FkbWEubw0KICBDQyBvdHgyX2VwX3ZmLm8NCiAgQVIgbGlicnRlX3Jh d2Rldl9kcGFhMl9xZG1hLmENCiAgSU5TVEFMTC1MSUIgbGlicnRlX3Jhd2Rldl9kcGFhMl9xZG1h LmENCiAgQVIgbGlicnRlX3Jhd2Rldl9vY3Rlb250eDJfZG1hLmENCiAgSU5TVEFMTC1MSUIgbGli cnRlX3Jhd2Rldl9vY3Rlb250eDJfZG1hLmENCiAgQVIgbGlicnRlX3Jhd2Rldl9pb2F0LmENCiAg SU5TVEFMTC1MSUIgbGlicnRlX3Jhd2Rldl9pb2F0LmENCiAgUE1ESU5GTyBudGIuby5wbWQuYw0K ICBDQyBudGIuby5wbWQubw0KICBMRCBudGIubw0KICBBUiBsaWJydGVfcmF3ZGV2X250Yi5hDQog IElOU1RBTEwtTElCIGxpYnJ0ZV9yYXdkZXZfbnRiLmENCiAgQVIgbGlicnRlX3Jhd2Rldl9vY3Rl b250eDJfZXAuYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcmF3ZGV2X29jdGVvbnR4Ml9lcC5hDQog IEFSIGxpYnJ0ZV9yYXdkZXZfc2tlbGV0b24uYQ0KICBJTlNUQUxMLUxJQiBsaWJydGVfcmF3ZGV2 X3NrZWxldG9uLmENCj09IEJ1aWxkIGFwcA0KPT0gQnVpbGQgYXBwL3Rlc3QNCj09IEJ1aWxkIGFw cC90ZXN0LXBtZA0KPT0gQnVpbGQgYXBwL3BkdW1wDQo9PSBCdWlsZCBhcHAvdGVzdC1hY2wNCj09 IEJ1aWxkIGFwcC9wcm9jLWluZm8NCj09IEJ1aWxkIGFwcC90ZXN0LWZpYg0KPT0gQnVpbGQgYXBw L3Rlc3QtZmxvdy1wZXJmDQo9PSBCdWlsZCBhcHAvdGVzdC1jbWRsaW5lDQogIENDIG1haW4ubw0K ICBDQyBtYWluLm8NCiAgQ0MgbWFpbi5vDQogIENDIGNtZGxpbmVfdGVzdC5vDQogIENDIG1haW4u bw0KICBDQyBhY3Rpb25zX2dlbi5vDQogIENDIHRlc3RwbWQubw0KICBDQyBjb21tYW5kcy5vDQog IENDIGNvbW1hbmRzLm8NCiAgTEQgdGVzdGFjbA0KICBMRCBjbWRsaW5lX3Rlc3QNCiAgTEQgZHBk ay1wcm9jaW5mbw0KICBDQyBmbG93X2dlbi5vDQogIENDIHRlc3Qubw0KICBMRCBkcGRrLXBkdW1w DQogIENDIHJlc291cmNlLm8NCiAgTEQgdGVzdGZpYg0KICBDQyB0ZXN0X3Jlc291cmNlLm8NCiAg Q0MgaXRlbXNfZ2VuLm8NCiAgQ0MgdGVzdF9wcmVmZXRjaC5vDQogIElOU1RBTEwtQVBQIGRwZGst cGR1bXANCiAgSU5TVEFMTC1BUFAgdGVzdGFjbA0KICBJTlNUQUxMLU1BUCBkcGRrLXBkdW1wLm1h cA0KICBDQyB0ZXN0X2J5dGVvcmRlci5vDQogIElOU1RBTEwtTUFQIHRlc3RhY2wubWFwDQogIEND IHRlc3RfcGVyX2xjb3JlLm8NCiAgSU5TVEFMTC1BUFAgZHBkay1wcm9jaW5mbw0KICBDQyB0ZXN0 X2F0b21pYy5vDQogIElOU1RBTEwtQVBQIHRlc3RmaWINCiAgSU5TVEFMTC1BUFAgY21kbGluZV90 ZXN0DQogIElOU1RBTEwtTUFQIGRwZGstcHJvY2luZm8ubWFwDQogIENDIG1haW4ubw0KICBJTlNU QUxMLU1BUCBjbWRsaW5lX3Rlc3QubWFwDQogIElOU1RBTEwtTUFQIHRlc3RmaWIubWFwDQogIEND IHRlc3RfYmFycmllci5vDQo9PSBCdWlsZCBhcHAvdGVzdC1waXBlbGluZQ0KPT0gQnVpbGQgYXBw L3Rlc3Qtc2FkDQogIENDIHBhcmFtZXRlcnMubw0KICBDQyBjbWRsaW5lLm8NCiAgQ0MgY21kbGlu ZV9mbG93Lm8NCiAgQ0MgdGVzdF9tYWxsb2Mubw0KICBDQyB0ZXN0X2N5Y2xlcy5vDQo9PSBCdWls ZCBhcHAvdGVzdC1iYmRldg0KICBMRCBkcGRrLXRlc3QtZmxvdy1wZXJmDQogIENDIHRlc3RfbWNz bG9jay5vDQogIENDIHRlc3Rfc3BpbmxvY2subw0KICBDQyBtYWluLm8NCiAgQ0MgbWFpbi5vDQo9 PSBCdWlsZCBhcHAvdGVzdC1jb21wcmVzcy1wZXJmDQogIENDIHRlc3RfdGlja2V0bG9jay5vDQog IExEIHRlc3RzYWQNCiAgQ0MgdGVzdF9tZW1vcnkubw0KICBJTlNUQUxMLUFQUCBkcGRrLXRlc3Qt Zmxvdy1wZXJmDQogIENDIGNvbmZpZy5vDQogIENDIG1haW4ubw0KICBJTlNUQUxMLU1BUCBkcGRr LXRlc3QtZmxvdy1wZXJmLm1hcA0KICBDQyB0ZXN0X21lbXpvbmUubw0KICBDQyB0ZXN0X2JiZGV2 Lm8NCiAgQ0MgdGVzdF9iYmRldl9wZXJmLm8NCiAgQ0MgaW5pdC5vDQogIENDIGNtZGxpbmVfbXRy Lm8NCiAgQ0MgdGVzdF9iaXRtYXAubw0KICBJTlNUQUxMLUFQUCB0ZXN0c2FkDQogIElOU1RBTEwt TUFQIHRlc3RzYWQubWFwDQogIENDIG1haW4ubw0KICBDQyB0ZXN0X2JpdG9wcy5vDQogIENDIHJ1 bnRpbWUubw0KICBDQyB0ZXN0X3JlY2lwcm9jYWxfZGl2aXNpb24ubw0KICBDQyBwaXBlbGluZV9z dHViLm8NCiAgQ0MgcGlwZWxpbmVfaGFzaC5vDQogIENDIHBpcGVsaW5lX2xwbS5vDQogIENDIHRl c3RfcmVjaXByb2NhbF9kaXZpc2lvbl9wZXJmLm8NCiAgQ0MgdGVzdF9mYmFycmF5Lm8NCiAgQ0Mg Y29tcF9wZXJmX29wdGlvbnNfcGFyc2Uubw0KICBDQyB0ZXN0X2V4dGVybmFsX21lbS5vDQogIEND IGNtZGxpbmVfdG0ubw0KICBDQyBjb25maWcubw0KICBDQyBpb2Z3ZC5vDQogIENDIHBpcGVsaW5l X2xwbV9pcHY2Lm8NCiAgQ0MgcGlwZWxpbmVfYWNsLm8NCiAgQ0MgdGVzdF9yYW5kX3BlcmYubw0K ICBDQyBjb21wX3BlcmZfdGVzdF92ZXJpZnkubw0KICBDQyB0ZXN0X3Jpbmcubw0KICBDQyB0ZXN0 X3JpbmdfbXBtY19zdHJlc3Mubw0KICBDQyB0ZXN0X3JpbmdfaHRzX3N0cmVzcy5vDQogIENDIGNv bXBfcGVyZl90ZXN0X3Rocm91Z2hwdXQubw0KICBMRCB0ZXN0cGlwZWxpbmUNCiAgQ0MgY29tcF9w ZXJmX3Rlc3RfY3ljbGVjb3VudC5vDQogIENDIGNvbXBfcGVyZl90ZXN0X2NvbW1vbi5vDQogIEND IG1hY2Z3ZC5vDQogIENDIG1hY3N3YXAubw0KICBJTlNUQUxMLUFQUCB0ZXN0cGlwZWxpbmUNCiAg SU5TVEFMTC1NQVAgdGVzdHBpcGVsaW5lLm1hcA0KICBDQyBmbG93Z2VuLm8NCj09IEJ1aWxkIGFw cC90ZXN0LWNyeXB0by1wZXJmDQogIENDIHRlc3RfcmluZ19wZXJmLm8NCiAgQ0MgdGVzdF9yaW5n X3BlZWtfc3RyZXNzLm8NCiAgTEQgZHBkay10ZXN0LWNvbXByZXNzLXBlcmYNCiAgQ0MgdGVzdF9y aW5nX3J0c19zdHJlc3Mubw0KICBDQyByeG9ubHkubw0KICBDQyB0ZXN0X2JiZGV2X3ZlY3Rvci5v DQo9PSBCdWlsZCBhcHAvdGVzdC1ldmVudGRldg0KICBDQyB0ZXN0X3Jpbmdfc3RyZXNzLm8NCiAg SU5TVEFMTC1BUFAgZHBkay10ZXN0LWNvbXByZXNzLXBlcmYNCiAgSU5TVEFMTC1NQVAgZHBkay10 ZXN0LWNvbXByZXNzLXBlcmYubWFwDQogIENDIHRlc3RfcG1kX3BlcmYubw0KICBDQyB0ZXN0X3Rh YmxlLm8NCiAgQ0MgdHhvbmx5Lm8NCiAgQ0MgY3N1bW9ubHkubw0KICBDQyB0ZXN0X3RhYmxlX3Bp cGVsaW5lLm8NCiAgTEQgdGVzdGJiZGV2DQogIENDIG1haW4ubw0KICBDQyBldnRfbWFpbi5vDQog IENDIHRlc3RfdGFibGVfdGFibGVzLm8NCiAgQ0MgZXZ0X29wdGlvbnMubw0KICBJTlNUQUxMLUFQ UCB0ZXN0YmJkZXYNCiAgSU5TVEFMTC1NQVAgdGVzdGJiZGV2Lm1hcA0KICBDQyBpY21wZWNoby5v DQogIENDIGNwZXJmX29wcy5vDQogIENDIG5vaXN5X3ZuZi5vDQogIENDIGNwZXJmX29wdGlvbnNf cGFyc2luZy5vDQogIENDIGV2dF90ZXN0Lm8NCiAgQ0MgY3BlcmZfdGVzdF92ZWN0b3JzLm8NCiAg Q0MgcGFyc2VyLm8NCiAgQ0MgY3BlcmZfdGVzdF90aHJvdWdocHV0Lm8NCiAgQ0MgdGVzdF9vcmRl cl9jb21tb24ubw0KICBDQyB0ZXN0X29yZGVyX3F1ZXVlLm8NCiAgQ0MgYnBmX2NtZC5vDQogIEND IHRlc3Rfb3JkZXJfYXRxLm8NCiAgQ0MgY3BlcmZfdGVzdF9sYXRlbmN5Lm8NCiAgQ0MgdXRpbC5v DQogIENDIGNwZXJmX3Rlc3RfcG1kX2N5Y2xlY291bnQubw0KICBDQyBjcGVyZl90ZXN0X3Zlcmlm eS5vDQogIENDIGNwZXJmX3Rlc3RfdmVjdG9yX3BhcnNpbmcubw0KICBDQyBzb2Z0bmljZndkLm8N CiAgQ0MgdGVzdF9wZXJmX2NvbW1vbi5vDQogIENDIHRlc3RfcGVyZl9xdWV1ZS5vDQogIENDIHRl c3RfcGVyZl9hdHEubw0KICBDQyB0ZXN0X3BpcGVsaW5lX2NvbW1vbi5vDQogIENDIGNwZXJmX3Rl c3RfY29tbW9uLm8NCiAgQ0MgdGVzdF90YWJsZV9wb3J0cy5vDQogIExEIHRlc3RwbWQNCiAgQ0Mg dGVzdF9waXBlbGluZV9xdWV1ZS5vDQogIExEIGRwZGstdGVzdC1jcnlwdG8tcGVyZg0KICBDQyB0 ZXN0X3BpcGVsaW5lX2F0cS5vDQogIENDIHRlc3RfdGFibGVfY29tYmluZWQubw0KICBDQyB0ZXN0 X3RhYmxlX2FjbC5vDQogIENDIHRlc3RfZmxvd19jbGFzc2lmeS5vDQogIExEIGRwZGstdGVzdC1l dmVudGRldg0KICBDQyB0ZXN0X3J3bG9jay5vDQogIENDIHRlc3Rfc3RhY2subw0KICBDQyB0ZXN0 X3N0YWNrX3BlcmYubw0KICBDQyB0ZXN0X3RpbWVyLm8NCiAgQ0MgdGVzdF90aW1lcl9wZXJmLm8N CiAgSU5TVEFMTC1BUFAgZHBkay10ZXN0LWNyeXB0by1wZXJmDQogIElOU1RBTEwtQVBQIHRlc3Rw bWQNCiAgSU5TVEFMTC1NQVAgdGVzdHBtZC5tYXANCiAgSU5TVEFMTC1NQVAgZHBkay10ZXN0LWNy eXB0by1wZXJmLm1hcA0KICBDQyB0ZXN0X3RpbWVyX3JhY2Vjb25kLm8NCiAgQ0MgdGVzdF90aW1l cl9zZWNvbmRhcnkubw0KICBDQyB0ZXN0X21lbXBvb2wubw0KICBDQyB0ZXN0X21lbXBvb2xfcGVy Zi5vDQogIENDIHRlc3RfbWJ1Zi5vDQogIENDIHRlc3RfbG9ncy5vDQogIENDIHRlc3RfbWVtY3B5 Lm8NCiAgQ0MgdGVzdF9tZW1jcHlfcGVyZi5vDQogIENDIHRlc3RfbWVtYmVyLm8NCiAgQ0MgdGVz dF9tZW1iZXJfcGVyZi5vDQogIENDIHRlc3RfZWZkLm8NCiAgQ0MgdGVzdF9lZmRfcGVyZi5vDQog IENDIHRlc3RfaGFzaC5vDQogIENDIHRlc3RfdGhhc2gubw0KICBDQyB0ZXN0X2hhc2hfcGVyZi5v DQogIENDIHRlc3RfaGFzaF9mdW5jdGlvbnMubw0KICBDQyB0ZXN0X2hhc2hfbXVsdGl3cml0ZXIu bw0KICBJTlNUQUxMLUFQUCBkcGRrLXRlc3QtZXZlbnRkZXYNCiAgQ0MgdGVzdF9oYXNoX3JlYWR3 cml0ZS5vDQogIElOU1RBTEwtTUFQIGRwZGstdGVzdC1ldmVudGRldi5tYXANCiAgQ0MgdGVzdF9o YXNoX3JlYWR3cml0ZV9sZl9wZXJmLm8NCiAgQ0MgdGVzdF9yaWIubw0KICBDQyB0ZXN0X3JpYjYu bw0KICBDQyB0ZXN0X2ZpYi5vDQogIENDIHRlc3RfZmliNi5vDQogIENDIHRlc3RfZmliX3BlcmYu bw0KICBDQyB0ZXN0X2ZpYjZfcGVyZi5vDQogIENDIHRlc3RfbHBtLm8NCiAgQ0MgdGVzdF9scG1f cGVyZi5vDQogIENDIHRlc3RfbHBtNi5vDQogIENDIHRlc3RfbHBtNl9wZXJmLm8NCiAgQ0MgdGVz dF9kZWJ1Zy5vDQogIENDIHRlc3RfZXJybm8ubw0KICBDQyB0ZXN0X3RhaWxxLm8NCiAgQ0MgdGVz dF9zdHJpbmdfZm5zLm8NCiAgQ0MgdGVzdF9jcHVmbGFncy5vDQogIENDIHRlc3RfbXBfc2Vjb25k YXJ5Lm8NCiAgQ0MgdGVzdF9lYWxfZmxhZ3Mubw0KICBDQyB0ZXN0X2FsYXJtLm8NCiAgQ0MgdGVz dF9lYWxfZnMubw0KICBDQyB0ZXN0X2ludGVycnVwdHMubw0KICBDQyB0ZXN0X3ZlcnNpb24ubw0K ICBDQyB0ZXN0X2Z1bmNfcmVlbnRyYW5jeS5vDQogIENDIHRlc3RfdHJhY2Uubw0KICBDQyB0ZXN0 X3RyYWNlX3JlZ2lzdGVyLm8NCiAgQ0MgdGVzdF90cmFjZV9wZXJmLm8NCiAgQ0MgdGVzdF9zZXJ2 aWNlX2NvcmVzLm8NCiAgQ0Mgc2FtcGxlX3BhY2tldF9mb3J3YXJkLm8NCiAgQ0MgdGVzdF9iaXRy YXRlc3RhdHMubw0KICBDQyB0ZXN0X2xhdGVuY3lzdGF0cy5vDQogIENDIHRlc3RfcGR1bXAubw0K ICBDQyB0ZXN0X2NtZGxpbmUubw0KICBDQyB0ZXN0X2NtZGxpbmVfbnVtLm8NCiAgQ0MgdGVzdF9j bWRsaW5lX2V0aGVyYWRkci5vDQogIENDIHRlc3RfY21kbGluZV9wb3J0bGlzdC5vDQogIENDIHRl c3RfY21kbGluZV9pcGFkZHIubw0KICBDQyB0ZXN0X2NtZGxpbmVfY2lyYnVmLm8NCiAgQ0MgdGVz dF9jbWRsaW5lX3N0cmluZy5vDQogIENDIHRlc3RfY21kbGluZV9saWIubw0KICBDQyB0ZXN0X2Ny Yy5vDQogIENDIHRlc3RfcmVkLm8NCiAgQ0MgdGVzdF9zY2hlZC5vDQogIENDIHRlc3RfbWV0ZXIu bw0KICBDQyB0ZXN0X2tuaS5vDQogIENDIHRlc3RfcG93ZXIubw0KICBDQyB0ZXN0X3Bvd2VyX2Nw dWZyZXEubw0KICBDQyB0ZXN0X3Bvd2VyX2t2bV92bS5vDQogIENDIHRlc3RfY29tbW9uLm8NCiAg Q0MgdGVzdF9kaXN0cmlidXRvci5vDQogIENDIHRlc3RfZGlzdHJpYnV0b3JfcGVyZi5vDQogIEND IHRlc3RfcmVvcmRlci5vDQogIENDIHZpcnR1YWxfcG1kLm8NCiAgQ0MgcGFja2V0X2J1cnN0X2dl bmVyYXRvci5vDQogIENDIHRlc3RfYWNsLm8NCiAgQ0MgdGVzdF9saW5rX2JvbmRpbmcubw0KICBD QyB0ZXN0X2xpbmtfYm9uZGluZ19tb2RlNC5vDQogIENDIHRlc3RfbGlua19ib25kaW5nX3Jzc2Nv bmYubw0KICBDQyB0ZXN0X3BtZF9yaW5nLm8NCiAgQ0MgdGVzdF9wbWRfcmluZ19wZXJmLm8NCiAg Q0MgdGVzdF9jcnlwdG9kZXZfYmxvY2tjaXBoZXIubw0KICBDQyB0ZXN0X2NyeXB0b2Rldi5vDQog IENDIHRlc3RfY3J5cHRvZGV2X2FzeW0ubw0KICBDQyB0ZXN0X2NyeXB0b2Rldl9zZWN1cml0eV9w ZGNwLm8NCiAgQ0MgdGVzdF9tZXRyaWNzLm8NCiAgQ0MgdGVzdF9ldmVudGRldi5vDQogIENDIHRl c3RfZXZlbnRfcmluZy5vDQogIENDIHRlc3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIubw0KICBDQyB0 ZXN0X2V2ZW50X2V0aF90eF9hZGFwdGVyLm8NCiAgQ0MgdGVzdF9ldmVudF90aW1lcl9hZGFwdGVy Lm8NCiAgQ0MgdGVzdF9ldmVudF9jcnlwdG9fYWRhcHRlci5vDQogIENDIHRlc3RfZ3JhcGgubw0K ICBDQyB0ZXN0X2dyYXBoX3BlcmYubw0KICBDQyB0ZXN0X3Jhd2Rldi5vDQogIENDIHRlc3Rfa3Zh cmdzLm8NCiAgQ0MgdGVzdF9icGYubw0KICBDQyB0ZXN0X3JjdV9xc2JyLm8NCiAgQ0MgdGVzdF9y Y3VfcXNicl9wZXJmLm8NCiAgQ0MgdGVzdF9zZWN1cml0eS5vDQogIENDIHRlc3RfaXBzZWMubw0K ICBDQyB0ZXN0X2lwc2VjX3BlcmYubw0KICBDQyB0ZXN0X2lwc2VjX3NhZC5vDQogIE1LUkVTIHRl c3RfcmVzb3VyY2VfYy5yZXMubw0KICBMRCB0ZXN0DQogIElOU1RBTEwtQVBQIHRlc3QNCiAgSU5T VEFMTC1NQVAgdGVzdC5tYXANCkJ1aWxkIGNvbXBsZXRlIFt4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjY10NCj09PT0gTk9URSA9PT09DQpJdCBpcyByZWNvbW1lbmRlZCB0byBidWlsZCBEUERLIHVz aW5nICdtZXNvbicgYW5kICduaW5qYScNClNlZSBodHRwczovL2RvYy5kcGRrLm9yZy9ndWlkZXMv bGludXhfZ3NnL2J1aWxkX2RwZGsuaHRtbCBmb3IgaW5zdHJ1Y3Rpb25zDQpCdWlsZGluZyBEUERL IHdpdGggJ21ha2UnIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlDQo9PT09 PT09PT09PT09PQ0KSW5zdGFsbGF0aW9uIGNhbm5vdCBydW4gd2l0aCBUIGRlZmluZWQgYW5kIERF U1RESVIgdW5kZWZpbmVkCjAzLzA3LzIwMjAgMDE6MzM6MjQgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBhd2sgJy9IdWdlcGFnZXNpemUvIHtwcmludCAkMn0nIC9wcm9jL21lbWluZm8K MDMvMDcvMjAyMCAwMTozMzoyNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IDIwNDgK MDMvMDcvMjAyMCAwMTozMzoyNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGF3ayAn L0h1Z2VQYWdlc19Ub3RhbC8geyBwcmludCAkMiB9JyAvcHJvYy9tZW1pbmZvCjAzLzA3LzIwMjAg MDE6MzM6MjQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiA1MTIKMDMvMDcvMjAyMCAw MTozMzoyNCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC9zeXMvZGV2aWNlcy9z eXN0ZW0vbm9kZSB8IGdyZXAgbm9kZSogfCB3YyAtbAowMy8wNy8yMDIwIDAxOjMzOjI1ICAgIHZp cnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogMQowMy8wNy8yMDIwIDAxOjMzOjI1ICAgIHZpcnRk dXQuMTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IGNvbmZpZy9kZWZjb25maWdfeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MgfCBzZWQgJy9eIy9kJyB8IHNlZCAnL15ccyokL2QnCjAzLzA3LzIwMjAg MDE6MzM6MjUgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBDT05GSUdfUlRFX01BQ0hJ TkU9Im5hdGl2ZSINCkNPTkZJR19SVEVfQVJDSD0ieDg2XzY0Ig0KQ09ORklHX1JURV9BUkNIX1g4 Nl82ND15DQpDT05GSUdfUlRFX0FSQ0hfWDg2PXkNCkNPTkZJR19SVEVfQVJDSF82ND15DQpDT05G SUdfUlRFX1RPT0xDSEFJTj0iZ2NjIg0KQ09ORklHX1JURV9UT09MQ0hBSU5fR0NDPXkKMDMvMDcv MjAyMCAwMTozMzoyNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGF3ayAnL0h1Z2Vw YWdlc2l6ZS8ge3ByaW50ICQyfScgL3Byb2MvbWVtaW5mbwowMy8wNy8yMDIwIDAxOjMzOjI1ICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogMjA0OAowMy8wNy8yMDIwIDAxOjMzOjI1ICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogZWNobyAwID4gL3N5cy9rZXJuZWwvbW0vaHVn ZXBhZ2VzL2h1Z2VwYWdlcy0yMDQ4a0IvbnJfaHVnZXBhZ2VzCjAzLzA3LzIwMjAgMDE6MzM6MjUg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozMzoyNSAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMTAyNCA+IC9zeXMvZGV2aWNlcy9zeXN0 ZW0vbm9kZS9ub2RlMC9odWdlcGFnZXMvaHVnZXBhZ2VzLTIwNDhrQi9ucl9odWdlcGFnZXMKMDMv MDcvMjAyMCAwMTozMzoyNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IAowMy8wNy8y MDIwIDAxOjMzOjI1ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogdW1vdW50IGBhd2sg Jy9odWdldGxiZnMvIHsgcHJpbnQgJDIgfScgL3Byb2MvbW91bnRzYAowMy8wNy8yMDIwIDAxOjMz OjI1ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6MzM6MjUg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBhd2sgJy9odWdldGxiZnMvIHsgcHJpbnQg JDIgfScgL3Byb2MvbW91bnRzCjAzLzA3LzIwMjAgMDE6MzM6MjUgICAgdmlydGR1dC4xMC4yNDAu MTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozMzoyNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMu MjQ3OjYwMDI6IG1rZGlyIC1wIC9tbnQvaHVnZQowMy8wNy8yMDIwIDAxOjMzOjI1ICAgIHZpcnRk dXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6MzM6MjUgICAgdmlydGR1dC4x MC4yNDAuMTgzLjI0Nzo2MDAyOiBtb3VudCAtdCBodWdldGxiZnMgbm9kZXYgL21udC9odWdlCjAz LzA3LzIwMjAgMDE6MzM6MjYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcv MjAyMCAwMTozMzoyNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvcHJvYy9t b3VudHMgfGdyZXAgaHVnZXRsYmZzCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAgdmlydGR1dC4xMC4y NDAuMTgzLjI0Nzo2MDAyOiBub2RldiAvbW50L2h1Z2UgaHVnZXRsYmZzIHJ3LHJlbGF0aW1lLHBh Z2VzaXplPTJNIDAgMAowMy8wNy8yMDIwIDAxOjMzOjI2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogcm1tb2QgdmZpb19wY2kKMDMvMDcvMjAyMCAwMTozMzoyNiAgICB2aXJ0ZHV0LjEw LjI0MC4xODMuMjQ3OjYwMDI6IHJtbW9kOiBFUlJPUjogTW9kdWxlIHZmaW9fcGNpIGlzIG5vdCBj dXJyZW50bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBybW1vZCB2ZmlvX2lvbW11X3R5cGUxCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZDogRVJST1I6IE1vZHVsZSB2ZmlvX2lv bW11X3R5cGUxIGlzIG5vdCBjdXJyZW50bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZCB2ZmlvCjAzLzA3LzIwMjAgMDE6MzM6 MjYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZDogRVJST1I6IE1vZHVsZSB2 ZmlvIGlzIG5vdCBjdXJyZW50bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBtb2Rwcm9iZSB2ZmlvCjAzLzA3LzIwMjAgMDE6MzM6MjYg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozMzoyNiAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IG1vZHByb2JlIHZmaW8tcGNpCjAzLzA3LzIwMjAg MDE6MzM6MjYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMToz MzoyNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMSA+IC9zeXMvbW9kdWxl L3ZmaW8vcGFyYW1ldGVycy9lbmFibGVfdW5zYWZlX25vaW9tbXVfbW9kZQowMy8wNy8yMDIwIDAx OjMzOjI2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6MzM6 MjYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAvc3lzL21vZHVsZXxncmVwIHZm aW9fcGNpCjAzLzA3LzIwMjAgMDE6MzM6MjYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiB2ZmlvX3BjaQowMy8wNy8yMDIwIDAxOjMzOjI2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogbHMKMDMvMDcvMjAyMCAwMTozMzoyNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IEFCSV9WRVJTSU9OICBhcHAgIGJ1aWxkdG9vbHMgIGNvbmZpZyAgZGV2dG9vbHMJZG9jICBk cGRrLmxvZyAgZHJpdmVycwlleGFtcGxlcyAgR05VbWFrZWZpbGUgIGtlcm5lbCAgbGliICBsaWNl bnNlICBNQUlOVEFJTkVSUyAgTWFrZWZpbGUgIG1lc29uLmJ1aWxkICBtZXNvbl9vcHRpb25zLnR4 dCAgbWsJUkVBRE1FCXVzZXJ0b29scyAgVkVSU0lPTiAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MKMDMvMDcvMjAyMCAwMTozMzoyNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHVz ZXJ0b29scy9kcGRrLWRldmJpbmQucHkgLS1mb3JjZSAtLWJpbmQ9dmZpby1wY2kgMDAwMDowMDow NC4wIAowMy8wNy8yMDIwIDAxOjMzOjI3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog CjAzLzA3LzIwMjAgMDE6MzM6MjcgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiAuL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2FwcC90ZXN0cG1kIC1sIDEsMiAtbiA0IC13IDAwMDA6 ODM6MDAuMCAtdyAwMDAwOjgzOjAwLjEgIC0tZmlsZS1wcmVmaXg9ZHBka182ODUzXzIwMjAwNzAz MDEyMTAxICAgLS0gLWkgLS1wa3QtZmlsdGVyLW1vZGU9cGVyZmVjdCAtLXBvcnQtdG9wb2xvZ3k9 Y2hhaW5lZCAgICAgICAgICAgICAtLXR4cT02NCAtLXJ4cT02NAowMy8wNy8yMDIwIDAxOjMzOjI5 ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogRUFMOiBEZXRlY3RlZCA3MiBsY29yZShz KQ0KRUFMOiBEZXRlY3RlZCAyIE5VTUEgbm9kZXMNCkVBTDogTXVsdGktcHJvY2VzcyBzb2NrZXQg L3Zhci9ydW4vZHBkay9kcGRrXzY4NTNfMjAyMDA3MDMwMTIxMDEvbXBfc29ja2V0DQpFQUw6IFNl bGVjdGVkIElPVkEgbW9kZSAnUEEnDQpFQUw6IFByb2JpbmcgVkZJTyBzdXBwb3J0Li4uDQpFQUw6 IFZGSU8gc3VwcG9ydCBpbml0aWFsaXplZA0KRUFMOiBQcm9iZSBQQ0kgZHJpdmVyOiBuZXRfaTQw ZSAoODA4NjoxNThiKSBkZXZpY2U6IDAwMDA6ODM6MDAuMCAoc29ja2V0IDEpDQpFQUw6IFByb2Jl IFBDSSBkcml2ZXI6IG5ldF9pNDBlICg4MDg2OjE1OGIpIGRldmljZTogMDAwMDo4MzowMC4xIChz b2NrZXQgMSkNCkVBTDogTm8gbGVnYWN5IGNhbGxiYWNrcywgbGVnYWN5IHNvY2tldCBub3QgY3Jl YXRlZA0KSW50ZXJhY3RpdmUtbW9kZSBzZWxlY3RlZA0KdGVzdHBtZDogY3JlYXRlIGEgbmV3IG1i dWYgcG9vbCA8bWJ1Zl9wb29sX3NvY2tldF8wPjogbj0xNTU0NTYsIHNpemU9MjE3Niwgc29ja2V0 PTANCnRlc3RwbWQ6IHByZWZlcnJlZCBtZW1wb29sIG9wcyBzZWxlY3RlZDogcmluZ19tcF9tYw0K dGVzdHBtZDogY3JlYXRlIGEgbmV3IG1idWYgcG9vbCA8bWJ1Zl9wb29sX3NvY2tldF8xPjogbj0x NTU0NTYsIHNpemU9MjE3Niwgc29ja2V0PTENCnRlc3RwbWQ6IHByZWZlcnJlZCBtZW1wb29sIG9w cyBzZWxlY3RlZDogcmluZ19tcF9tYw0KQ29uZmlndXJpbmcgUG9ydCAwIChzb2NrZXQgMSkNClBv cnQgMDogM0M6RkQ6RkU6QTM6QTA6OTYNCkNvbmZpZ3VyaW5nIFBvcnQgMSAoc29ja2V0IDEpDQpQ b3J0IDE6IDNDOkZEOkZFOkEzOkEwOjk3DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpEb25l CjAzLzA3LzIwMjAgMDE6MzM6MzkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0 IHN0b3AgYWxsCjAzLzA3LzIwMjAgMDE6MzM6NDAgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMu MjQ3OiBwb3J0IHN0b3AgYWxsDQ0KU3RvcHBpbmcgcG9ydHMuLi4NCg0KUG9ydCAwOiBsaW5rIHN0 YXRlIGNoYW5nZSBldmVudA0KQ2hlY2tpbmcgbGluayBzdGF0dXNlcy4uLg0KDQpQb3J0IDE6IGxp bmsgc3RhdGUgY2hhbmdlIGV2ZW50DQpEb25lCjAzLzA3LzIwMjAgMDE6MzM6NDEgICAgICAgICAg ICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMAowMy8wNy8yMDIwIDAxOjMzOjQx ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDANDQpQcm9maWxl IG51bWJlciBpczogMA0KCjAzLzA3LzIwMjAgMDE6MzM6NDEgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiBkZHAgYWRkIDAgL3RtcC9ndHAucGtnbywvdG1wL2d0cC5iYWsKMDMvMDcvMjAy MCAwMTozMzo0MSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBhZGQgMCAvdG1w L2d0cC5wa2dvLC90bXAvZ3RwLmJhaw0KMDMvMDcvMjAyMCAwMTozMzo0MSAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6MzM6NDEgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUgbnVt YmVyIGlzOiAxDQoNClByb2ZpbGUgMDoNClRyYWNrIGlkOiAgICAgMHg4MDAwMDAwOA0KVmVyc2lv bjogICAgICAxLjAuMy4wDQpQcm9maWxlIG5hbWU6IEdUUHYxLUMvVSBJUHY0L0lQdjYgcGF5bG9h ZA0KCjAzLzA3LzIwMjAgMDE6MzM6NDEgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBw b3J0IHN0YXJ0IGFsbAowMy8wNy8yMDIwIDAxOjMzOjQyICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogcG9ydCBzdGFydCBhbGwNDQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2DQpQb3J0 IDE6IDNDOkZEOkZFOkEzOkEwOjk3DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpEb25lCjAz LzA3LzIwMjAgMDE6MzM6NDMgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzZXQgZndk IHJ4b25seQowMy8wNy8yMDIwIDAxOjMzOjQzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0 Nzogc2V0IGZ3ZCByeG9ubHkNDQpTZXQgcnhvbmx5IHBhY2tldCBmb3J3YXJkaW5nIG1vZGUKMDMv MDcvMjAyMCAwMTozMzo0MyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHNldCB2ZXJi b3NlIDEKMDMvMDcvMjAyMCAwMTozMzo0MyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6 IHNldCB2ZXJib3NlIDENDQpDaGFuZ2UgdmVyYm9zZSBsZXZlbCBmcm9tIDAgdG8gMQowMy8wNy8y MDIwIDAxOjMzOjQzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RhcnQKMDMvMDcv MjAyMCAwMTozMzo0MyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHN0YXJ0DQ0Kcnhv bmx5IHBhY2tldCBmb3J3YXJkaW5nIC0gcG9ydHM9MiAtIGNvcmVzPTEgLSBzdHJlYW1zPTEyOCAt IE5VTUEgc3VwcG9ydCBlbmFibGVkLCBNUCBhbGxvY2F0aW9uIG1vZGU6IG5hdGl2ZQ0KTG9naWNh bCBDb3JlIDIgKHNvY2tldCAwKSBmb3J3YXJkcyBwYWNrZXRzIG9uIDEyOCBzdHJlYW1zOg0KICBS WCBQPTAvUT0wIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6 MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTAgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEgKHNvY2tldCAxKSAtPiBU WCBQPTEvUT0xIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0x IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MSAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6 MDANCiAgUlggUD0wL1E9MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTIgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT0y IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zIChzb2NrZXQg MSkgLT4gVFggUD0xL1E9MyAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlgg UD0xL1E9MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTQgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT00IChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00IChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9NCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9NSAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTUgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT01IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NiAo c29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9NiAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTcgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT03IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT03IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NyAoc29ja2V0IDEp IHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9OCAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTggKHNv Y2tldCAxKSAtPiBUWCBQPTAvUT04IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT05IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9OSAoc29ja2V0IDEpIHBlZXI9MDI6 MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9OSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTkgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEwIChzb2NrZXQgMSkg LT4gVFggUD0xL1E9MTAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTEwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTExIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTEgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTExIChzb2NrZXQgMSkgLT4g VFggUD0wL1E9MTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTEyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTEyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTIgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEzIChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9MTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTEz IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTE0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTQgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE0IChzb2NrZXQgMSkgLT4gVFggUD0w L1E9MTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE1IChz b2NrZXQgMSkgLT4gVFggUD0xL1E9MTUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTE1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTUgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE2IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 MTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE2IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9MTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTE3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTcgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE3IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTcg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE4IChzb2NrZXQg MSkgLT4gVFggUD0xL1E9MTggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTE4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTggKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTkgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE5IChzb2NrZXQgMSkg LT4gVFggUD0wL1E9MTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTIwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTIwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjAgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTIxIChzb2NrZXQgMSkgLT4g VFggUD0xL1E9MjEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTIxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTIyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjIgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTIyIChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9MjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTIz IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAxDQogIFJYIFA9MS9RPTIzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjMgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI0IChzb2NrZXQgMSkgLT4gVFggUD0x L1E9MjQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI0IChz b2NrZXQgMSkgLT4gVFggUD0wL1E9MjQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAw DQogIFJYIFA9MC9RPTI1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjUgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9 MjUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI2IChzb2Nr ZXQgMSkgLT4gVFggUD0xL1E9MjYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTI2IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjYgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9Mjcg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI3IChzb2NrZXQg MSkgLT4gVFggUD0wL1E9MjcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJY IFA9MC9RPTI4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjggKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjggKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI5IChzb2NrZXQgMSkg LT4gVFggUD0xL1E9MjkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTI5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTMwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzAgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMwIChzb2NrZXQgMSkgLT4g VFggUD0wL1E9MzAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTMxIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTMxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzEgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTMyIChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9MzIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMy IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTMzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzMgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMzIChzb2NrZXQgMSkgLT4gVFggUD0w L1E9MzMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM0IChz b2NrZXQgMSkgLT4gVFggUD0xL1E9MzQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTM0IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzQgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 MzUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM1IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9MzUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTM2IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzYgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM2IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzYg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM3IChzb2NrZXQg MSkgLT4gVFggUD0xL1E9MzcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTM3IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzcgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzggKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM4IChzb2NrZXQgMSkg LT4gVFggUD0wL1E9MzggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTM5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTM5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzkgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQwIChzb2NrZXQgMSkgLT4g VFggUD0xL1E9NDAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTQwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTQxIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDEgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQxIChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9NDEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQy IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAxDQogIFJYIFA9MS9RPTQyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDIgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQzIChzb2NrZXQgMSkgLT4gVFggUD0x L1E9NDMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQzIChz b2NrZXQgMSkgLT4gVFggUD0wL1E9NDMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAw DQogIFJYIFA9MC9RPTQ0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDQgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ0IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9 NDQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ1IChzb2Nr ZXQgMSkgLT4gVFggUD0xL1E9NDUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTQ1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDUgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ2IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDYg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ2IChzb2NrZXQg MSkgLT4gVFggUD0wL1E9NDYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJY IFA9MC9RPTQ3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDcgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ3IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDcgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ4IChzb2NrZXQgMSkg LT4gVFggUD0xL1E9NDggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTQ4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDkgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ5IChzb2NrZXQgMSkgLT4g VFggUD0wL1E9NDkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTUwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTUwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTAgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTUxIChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9NTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTUx IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTUyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTIgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTUyIChzb2NrZXQgMSkgLT4gVFggUD0w L1E9NTIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTUzIChz b2NrZXQgMSkgLT4gVFggUD0xL1E9NTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTUzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTMgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 NTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU0IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9NTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTU1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTUgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTUg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU2IChzb2NrZXQg MSkgLT4gVFggUD0xL1E9NTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTU2IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTYgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTcgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU3IChzb2NrZXQgMSkg LT4gVFggUD0wL1E9NTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTU4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTU4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTggKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU5IChzb2NrZXQgMSkgLT4g VFggUD0xL1E9NTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTU5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTYwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjAgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYwIChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9NjAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTYx IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAxDQogIFJYIFA9MS9RPTYxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NjEgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTYyIChzb2NrZXQgMSkgLT4gVFggUD0x L1E9NjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYyIChz b2NrZXQgMSkgLT4gVFggUD0wL1E9NjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAw DQogIFJYIFA9MC9RPTYzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjMgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9 NjMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQoNCiAgcnhvbmx5IHBhY2tldCBm b3J3YXJkaW5nIHBhY2tldHMvYnVyc3Q9MzINCiAgbmIgZm9yd2FyZGluZyBjb3Jlcz0xIC0gbmIg Zm9yd2FyZGluZyBwb3J0cz0yDQogIHBvcnQgMDogUlggcXVldWUgbnVtYmVyOiA2NCBUeCBxdWV1 ZSBudW1iZXI6IDY0DQogICAgUnggb2ZmbG9hZHM9MHgwIFR4IG9mZmxvYWRzPTB4MTAwMDANCiAg ICBSWCBxdWV1ZTogMA0KICAgICAgUlggZGVzYz0yNTYgLSBSWCBmcmVlIHRocmVzaG9sZD0zMg0K ICAgICAgUlggdGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD04IGh0aHJlc2g9OCAgd3RocmVz aD0wDQogICAgICBSWCBPZmZsb2Fkcz0weDANCiAgICBUWCBxdWV1ZTogMA0KICAgICAgVFggZGVz Yz0yNTYgLSBUWCBmcmVlIHRocmVzaG9sZD0zMg0KICAgICAgVFggdGhyZXNob2xkIHJlZ2lzdGVy czogcHRocmVzaD0zMiBodGhyZXNoPTAgIHd0aHJlc2g9MA0KICAgICAgVFggb2ZmbG9hZHM9MHgx MDAwMCAtIFRYIFJTIGJpdCB0aHJlc2hvbGQ9MzINCiAgcG9ydCAxOiBSWCBxdWV1ZSBudW1iZXI6 IDY0IFR4IHF1ZXVlIG51bWJlcjogNjQNCiAgICBSeCBvZmZsb2Fkcz0weDAgVHggb2ZmbG9hZHM9 MHgxMDAwMA0KICAgIFJYIHF1ZXVlOiAwDQogICAgICBSWCBkZXNjPTI1NiAtIFJYIGZyZWUgdGhy ZXNob2xkPTMyDQogICAgICBSWCB0aHJlc2hvbGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTggaHRocmVz aD04ICB3dGhyZXNoPTANCiAgICAgIFJYIE9mZmxvYWRzPTB4MA0KICAgIFRYIHF1ZXVlOiAwDQog ICAgICBUWCBkZXNjPTI1NiAtIFRYIGZyZWUgdGhyZXNob2xkPTMyDQogICAgICBUWCB0aHJlc2hv bGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTMyIGh0aHJlc2g9MCAgd3RocmVzaD0wDQogICAgICBUWCBv ZmZsb2Fkcz0weDEwMDAwIC0gVFggUlMgYml0IHRocmVzaG9sZD0zMgowMy8wNy8yMDIwIDAxOjMz OjQ1ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogLi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9hcHAvdGVzdHBtZCAtbCAwLDEsMiwzLDQsNSw2LDcgLW4gMSAtdyAwMDAwOjAwOjA0 LjAgIC0tZmlsZS1wcmVmaXg9ZHBka182ODUzXzIwMjAwNzAzMDEyNzAwICAgLS0gLWkgLS1wb3J0 LXRvcG9sb2d5PWNoYWluZWQgLS10eHE9NCAtLXJ4cT00CjAzLzA3LzIwMjAgMDE6MzM6NDcgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBFQUw6IERldGVjdGVkIDggbGNvcmUocykNCkVB TDogRGV0ZWN0ZWQgMSBOVU1BIG5vZGVzDQpFQUw6IE11bHRpLXByb2Nlc3Mgc29ja2V0IC92YXIv cnVuL2RwZGsvZHBka182ODUzXzIwMjAwNzAzMDEyNzAwL21wX3NvY2tldA0KRUFMOiBTZWxlY3Rl ZCBJT1ZBIG1vZGUgJ1BBJw0KRUFMOiBObyBhdmFpbGFibGUgaHVnZXBhZ2VzIHJlcG9ydGVkIGlu IGh1Z2VwYWdlcy0xMDQ4NTc2a0INCkVBTDogUHJvYmluZyBWRklPIHN1cHBvcnQuLi4NCkVBTDog VkZJTyBzdXBwb3J0IGluaXRpYWxpemVkDQpFQUw6ICAgSW52YWxpZCBOVU1BIHNvY2tldCwgZGVm YXVsdCB0byAwDQpFQUw6ICAgdXNpbmcgSU9NTVUgdHlwZSA4IChOby1JT01NVSkNCkVBTDogUHJv YmUgUENJIGRyaXZlcjogbmV0X2k0MGVfdmYgKDgwODY6MTU0YykgZGV2aWNlOiAwMDAwOjAwOjA0 LjAgKHNvY2tldCAwKQ0KRUFMOiBObyBsZWdhY3kgY2FsbGJhY2tzLCBsZWdhY3kgc29ja2V0IG5v dCBjcmVhdGVkDQpJbnRlcmFjdGl2ZS1tb2RlIHNlbGVjdGVkDQp0ZXN0cG1kOiBjcmVhdGUgYSBu ZXcgbWJ1ZiBwb29sIDxtYnVmX3Bvb2xfc29ja2V0XzA+OiBuPTIwMzQ1Niwgc2l6ZT0yMTc2LCBz b2NrZXQ9MA0KdGVzdHBtZDogcHJlZmVycmVkIG1lbXBvb2wgb3BzIHNlbGVjdGVkOiByaW5nX21w X21jDQpDb25maWd1cmluZyBQb3J0IDAgKHNvY2tldCAwKQ0KUG9ydCAwOiAyMjpEMToyRTo5QTpE RDpGMw0KQ2hlY2tpbmcgbGluayBzdGF0dXNlcy4uLg0KRG9uZQowMy8wNy8yMDIwIDAxOjMzOjU3 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogc2V0IGZ3ZCByeG9ubHkKMDMvMDcvMjAy MCAwMTozMzo1NyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHNldCBmd2Qgcnhvbmx5 DQ0KU2V0IHJ4b25seSBwYWNrZXQgZm9yd2FyZGluZyBtb2RlCjAzLzA3LzIwMjAgMDE6MzM6NTcg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBzZXQgdmVyYm9zZSAxCjAzLzA3LzIwMjAg MDE6MzM6NTcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBzZXQgdmVyYm9zZSAxDQ0K Q2hhbmdlIHZlcmJvc2UgbGV2ZWwgZnJvbSAwIHRvIDEKMDMvMDcvMjAyMCAwMTozMzo1NyAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHN0YXJ0CjAzLzA3LzIwMjAgMDE6MzM6NTcgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBzdGFydA0NCnJ4b25seSBwYWNrZXQgZm9yd2Fy ZGluZyAtIHBvcnRzPTEgLSBjb3Jlcz0xIC0gc3RyZWFtcz00IC0gTlVNQSBzdXBwb3J0IGVuYWJs ZWQsIE1QIGFsbG9jYXRpb24gbW9kZTogbmF0aXZlDQpMb2dpY2FsIENvcmUgMSAoc29ja2V0IDAp IGZvcndhcmRzIHBhY2tldHMgb24gNCBzdHJlYW1zOg0KICBSWCBQPTAvUT0wIChzb2NrZXQgMCkg LT4gVFggUD0wL1E9MCAoc29ja2V0IDApIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0w L1E9MSAoc29ja2V0IDApIC0+IFRYIFA9MC9RPTEgKHNvY2tldCAwKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTIgKHNvY2tldCAwKSAtPiBUWCBQPTAvUT0yIChzb2NrZXQgMCkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zIChzb2NrZXQgMCkgLT4gVFggUD0w L1E9MyAoc29ja2V0IDApIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCg0KICByeG9ubHkgcGFja2V0 IGZvcndhcmRpbmcgcGFja2V0cy9idXJzdD0zMg0KICBuYiBmb3J3YXJkaW5nIGNvcmVzPTEgLSBu YiBmb3J3YXJkaW5nIHBvcnRzPTENCiAgcG9ydCAwOiBSWCBxdWV1ZSBudW1iZXI6IDQgVHggcXVl dWUgbnVtYmVyOiA0DQogICAgUnggb2ZmbG9hZHM9MHgwIFR4IG9mZmxvYWRzPTB4MA0KICAgIFJY IHF1ZXVlOiAwDQogICAgICBSWCBkZXNjPTUxMiAtIFJYIGZyZWUgdGhyZXNob2xkPTMyDQogICAg ICBSWCB0aHJlc2hvbGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTggaHRocmVzaD04ICB3dGhyZXNoPTAN CiAgICAgIFJYIE9mZmxvYWRzPTB4MA0KICAgIFRYIHF1ZXVlOiAwDQogICAgICBUWCBkZXNjPTUx MiAtIFRYIGZyZWUgdGhyZXNob2xkPTMyDQogICAgICBUWCB0aHJlc2hvbGQgcmVnaXN0ZXJzOiBw dGhyZXNoPTMyIGh0aHJlc2g9MCAgd3RocmVzaD0wDQogICAgICBUWCBvZmZsb2Fkcz0weDAgLSBU WCBSUyBiaXQgdGhyZXNob2xkPTMyCjAzLzA3LzIwMjAgMDE6MzM6NTcgICAgICAgICAgICAgZHV0 LjEwLjI0MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0 IC8gdWRwIC8gICAgICAgICAgICAgICAgIGd0cGMgdGVpZCBpcyAweGU1MjNkZWU3IC8gZW5kIGFj dGlvbnMgdmYgaWQgMCAvIHF1ZXVlIGluZGV4IDIgLyBlbmQKMDMvMDcvMjAyMCAwMTozMzo1NyAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0 ZXJuIGV0aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgZ3RwYyB0ZWlkIGlzIDB4ZTUy M2RlZTcgLyBlbmQgYWN0aW9ucyB2ZiBpZCAwIC8gcXVldWUgaW5kZXggMiAvIGVuZA0NCkZsb3cg cnVsZSAjMCBjcmVhdGVkCjAzLzA3LzIwMjAgMDE6MzM6NTcgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjMzOjU5ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29u bmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0 OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFj a2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9u V2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAg ICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjIz NTExKTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6MzM6NTkuNDQ0G1swbTog Z2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRp c3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJs ZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5v IHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykb WzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBz dGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFy ZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAg ICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAg IHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAg ICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJt G1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAg IHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtb MG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMy bRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0Mb WzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAv Ly9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFm dCBwYWNrZXRzIGJlZm9yZSB0aGV5IGNyYWZ0G1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3Av Ly9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCB5b3UuG1swbQ0KG1szMm0b WzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAg fCAgICAgICAgICAgICAgICAgICAgICAtLSBTb2NyYXRlG1swbQ0KG1szMm0bWzFtICAgICAgIGNh eUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJt G1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0bWzFt ICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6MzQ6MDEgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0y MTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzQ6MDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDowMSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjEyMykv R1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjAxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6MDMgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNDowNCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM0OjA5ICAgIHZpcnRkdXQuMTAuMjQwLjE4 My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNl aXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAw MTozNDowOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAg MDE6MzQ6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBz ZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBp bml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9s b2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2Jh Y2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBk ZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1 cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM1MjkpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1sw bSAqKjogG1szNG0wMTozNDoxMS4xNDQbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTog YXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBD YW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1w KCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGlu YXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJ UHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFk Lg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0 bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAg IBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3Bj cyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1sz Mm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFt ICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAg ICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBD Q0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRo dWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAg ICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAg ICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0IHBhY2tldHMgYmVmb3JlIHRoZXkgY3JhZnQb WzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0b WzM0bRtbMW0gICB8IHlvdS4bWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAg ICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgICAgICAgIC0tIFNv Y3JhdGUbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9Z YRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAg ICAgICAgIGFDLy9ZcCAbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFw eUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBT cHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAg ICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtb MG0KMDMvMDcvMjAyMCAwMTozNDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjEyMykvR1RQX1VfSGVh ZGVyKHRlaWQ9MHhlNTIzZGVlNykvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjM0OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjEyMykv R1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6MTUgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNDoxNiAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM0OjIxICAgIHZpcnRkdXQuMTAuMjQwLjE4 My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNl aXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAw MTozNDoyMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAg MDE6MzQ6MjMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBz ZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBp bml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9s b2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2Jh Y2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBk ZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1 cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM1NTUpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1sw bSAqKjogG1szNG0wMTozNDoyMi43ODQbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTog YXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBD YW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1w KCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGlu YXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJ UHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFk Lg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0 bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAg IBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3Bj cyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1sz Mm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFt ICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAg ICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBD Q0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRo dWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAg ICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAg ICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IFdhbm5hIHN1cHBvcnQgc2NhcHk/IFJhdGUgaXQgb24b WzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0b WzM0bRtbMW0gICB8IHNlY3Rvb2xzIRtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAg Y2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgaHR0cDovL3NlY3Rvb2xzLm9yZy90 b29sL3NjYXB5LxtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAg IHBZL1lhG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgLS0gU2F0b3NoaSBOYWthbW90bxtb MG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQ Ly9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMg ICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0K MDMvMDcvMjAyMCAwMTozNDoyNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTUyM2Rl ZTkpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDoyNSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjM0OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVB2NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU5KS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzQ6MjUgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTozNDoyNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIw IDAxOjM0OjI3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6 MzQ6MzIgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBwb3J0IDAvcXVldWUgMDogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xl bj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3Nl Z3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjM0OjMyICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTozNDozNCAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5l Y3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDog Q29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2th Z2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldh cm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAg ICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzU3 Myk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjM0OjM0LjQ4MBtbMG06IGdk a19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNw bGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUg dG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyBy b3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1sw bRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3Rh bmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUg ZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAg IGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtb MW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8 IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAg ICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtb MW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8 G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBt G1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0b WzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1sw bRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8v QWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgVG8gY3Jh ZnQgYSBwYWNrZXQsIHlvdSBoYXZlIHRvIGJlIGEbWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2Nj cC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IHBhY2tldCwgYW5kIGxl YXJuIGhvdyB0byBzd2ltIGluG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCB0aGUgd2lyZXMgYW5kIGluIHRoZSB3YXZl cy4bWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtb MG0bWzM0bRtbMW0gICB8ICAgICAgICAtLSBKZWFuLUNsYXVkZSBWYW4gRGFtbWUbWzBtDQobWzMy bRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIw MjAgMDE6MzQ6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzQ6MzYgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToz NDozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM2ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6MzYg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9JUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM0OjM3ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvSVAoZnJhZz01KS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzQ6MzcgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDoz NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTUyM2RlZTcpL0lQKCkvVURQKCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM3ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9JUCgpL1RDUCgp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDozNyAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjM0OjM3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvSVAoKS9T Q1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM3 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9J UCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIz ZGVlNykvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIz ZGVlNykvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHhlNTIzZGVlNykvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHhlNTIzZGVlNykvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6MzQ6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDozNyAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM3ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6MzcgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTUyM2RlZTcpL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwg aWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM0OjM4ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvSVB2NigpL0lQdjZFeHRIZHJGcmFn bWVudCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDoz OCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykv SVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDoz OCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykv SVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTozNDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIz ZGVlNykvSVB2NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHhlNTIzZGVlNykvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6MzQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4ZTUyM2RlZTcpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzQ6MzggICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNDozOCAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNTIzZGVlNykvSVB2NigpL0lQdjZFeHRIZHJGcmFnbWVu dCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNDozOCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9J UHY2KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM4 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6MzQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTUyM2RlZTcp L0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6MzQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhl NTIzZGVlNykvSVB2NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMv MDcvMjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQg MSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIo dGVpZD0weGU1MjNkZWU3KS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIy NWYwIikKMDMvMDcvMjAyMCAwMTozNDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM0OjM4ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weGU1MjNkZWU3KS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCld LCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM0OjM5ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzQ6NDEgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNDo0MSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM0OjQ2ICAgIHZp cnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0g bDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkwIC0g bmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTgg LSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAv cXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9 MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5n dGg9MTAyIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAt IGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NV TV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dO IA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAg LSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVu PTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4 NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xl bj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMjIgLSBuYl9z ZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0g bGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgw DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0g UmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9S WF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1 ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9 RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3Ro PTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9s X2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhf T1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0g bDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAt IG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2 ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYg TDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1 ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVu PTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3Nl Z3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBs ZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBS ZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCgowMy8wNy8yMDIwIDAxOjM0OjQ2ICAgICAgICAgICAgICAgICAgICAgVGVzdERkcEd0 cDogVGVzdCBDYXNlIHRlc3RfY2xmdGVyX2d0cGNfdmYgUmVzdWx0IFBBU1NFRDoKMDMvMDcvMjAy MCAwMTozNTowNSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IFRoZXJlIGlzIG5vIHJl c291cmNlIFtzZXJpYWxwb3J0XSBhbGxvY2F0ZWQgdG8gVk0gW3ZtMF0gCjAzLzA3LzIwMjAgMDE6 MzU6MDUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBUaGVyZSBpcyBubyByZXNvdXJj ZSBbbWlncmF0ZXBvcnRdIGFsbG9jYXRlZCB0byBWTSBbdm0wXSAKMDMvMDcvMjAyMCAwMTozNTow NSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IFRoZXJlIGlzIG5vIHJlc291cmNlIFtk aXNwbGF5cG9ydF0gYWxsb2NhdGVkIHRvIFZNIFt2bTBdIAowMy8wNy8yMDIwIDAxOjM1OjA1ICAg ICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogVGhlcmUgaXMgbm8gcmVzb3VyY2UgW3Zmc10g YWxsb2NhdGVkIHRvIFZNIFt2bTBdIAowMy8wNy8yMDIwIDAxOjM1OjA1ICAgICAgICAgICAgIGR1 dC4xMC4yNDAuMTgzLjI0NzogVGhlcmUgaXMgbm8gcmVzb3VyY2UgW3BvcnRzXSBhbGxvY2F0ZWQg dG8gVk0gW3ZtMF0gCjAzLzA3LzIwMjAgMDE6MzU6MDUgICAgICAgICAgICAgZHV0LjEwLjI0MC4x ODMuMjQ3OiBUaGVyZSBpcyBubyByZXNvdXJjZSBbY29yZXNdIGFsbG9jYXRlZCB0byBWTSBbdm0w XSAKMDMvMDcvMjAyMCAwMTozNTowNSAgICAgICAgICAgICAgICAgICAgIFRlc3REZHBHdHA6IHRl YXJfZG93biBmYWlsZWQ6ClRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxl ICIvaG9tZS9hdXRvcmVncmVzc2lvbi9kdHMvZnJhbWV3b3JrL3Rlc3RfY2FzZS5weSIsIGxpbmUg NDQ1LCBpbiBleGVjdXRlX3RlYXJfZG93bgogICAgc2VsZi50ZWFyX2Rvd24oKQogIEZpbGUgInRl c3RzL1Rlc3RTdWl0ZV9kZHBfZ3RwLnB5IiwgbGluZSA0MzYsIGluIHRlYXJfZG93bgogICAgc2Vs Zi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc3RvcCcpCkF0dHJpYnV0ZUVycm9yOiAnTm9uZVR5 cGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdleGVjdXRlX2NtZCcKCjAzLzA3LzIwMjAgMDE6 MzU6MDUgICAgICAgICAgICAgICAgICAgICBUZXN0RGRwR3RwOiB0ZWFyIGRvd24gdGVzdF9jbGZ0 ZXJfZ3RwY192ZiBmYWlsZWQsIG1pZ2h0IGl0ZXJmZXJlIG5leHQgY2FzZSdzIHJlc3VsdCEKMDMv MDcvMjAyMCAwMTozNTowNSAgICAgICAgICAgICAgICAgICAgIFRlc3REZHBHdHA6IFRlc3QgQ2Fz ZSB0ZXN0X2NsZnRlcl9ndHB1X3BmIEJlZ2luCjAzLzA3LzIwMjAgMDE6MzU6MDUgICAgICAgICAg ICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VO S05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQg dHlwZSA9Mjg4MTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIzLCBWTkkgPSAxNTAxNjkyNiAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEg LSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVu PTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODg5NiwgRGVzdGluYXRpb24gVURQIHBv cnQgPTIxMjMsIFZOSSA9IDE1MDE2OTI2IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNl aXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg MDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0g VlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0y MTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBs ZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5O RUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3Ro PTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9s X2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhf T1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9U Q1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNl aXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg MDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRf VU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTUwMTY5 MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExMCAtIG5iX3Nl Z3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wz X0lQVjRfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQg dHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW NF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tl dDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0g MTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhF UiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZY TEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1 MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVu Z3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4 NmRkIC0gbGVuZ3RoPTEyMiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktO T1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGlu YXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE1MDE2OTI2IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW Nl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVS X0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5 cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5L Tk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTUwMTY5MjYg LSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAv cXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9 MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQ VjZfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9F WFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBw YWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAx NjkyNiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9 MTIyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIw IC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRp b24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE1MDE2OTI2IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0 X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6 IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9X TiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE1MDE2OTI2IC0gUmVjZWl2ZSBxdWV1ZT0w eDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNf SVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElO TkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVu PTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0z Mjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE1MDE2OTI2IC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBodyBw dHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9V TktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAg IC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tl dCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE1MDE2OTI2 IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdz PTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19J UFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQ VjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFj a2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkg PSAxNTAxNjkyNiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tT VU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9X TiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAw OjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4 IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gMTUwMTY5MjYgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTozNTowNSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM1OjA1ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogLi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9hcHAvdGVzdHBtZCAtbCAxLDIgLW4g NCAtdyAwMDAwOjgzOjAwLjAgLXcgMDAwMDo4MzowMC4xICAtLWZpbGUtcHJlZml4PWRwZGtfNjg1 M18yMDIwMDcwMzAxMjEwMSAgIC0tIC1pIC0tcGt0LWZpbHRlci1tb2RlPXBlcmZlY3QgLS1wb3J0 LXRvcG9sb2d5PWNoYWluZWQgICAgICAgICAgICAgLS10eHE9NjQgLS1yeHE9NjQKMDMvMDcvMjAy MCAwMTozNTowNSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IC4veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWwgMSwyIC1uIDQgLXcgMDAwMDo4MzowMC4wIC13 IDAwMDA6ODM6MDAuMSAgLS1maWxlLXByZWZpeD1kcGRrXzY4NTNfMjAyMDA3MDMwMTIxMDEgICAt LSAtaSAtLXBrdC1maWx0ZXItbW9kZT1wZXJmZWN0IC0tcG9ydC10b3BvbG9neT1jaGFpbmVkICAg ICAgICAgICAgIC0tdHhxPTY0IC0tcnhxPTY0DQ0KQ29tbWFuZCBub3QgZm91bmQKMDMvMDcvMjAy MCAwMTozNToxNSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RvcCBhbGwK MDMvMDcvMjAyMCAwMTozNToxNSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQg c3RvcCBhbGwNDQpTdG9wcGluZyBwb3J0cy4uLg0KUGxlYXNlIHJlbW92ZSBwb3J0IDAgZnJvbSBm b3J3YXJkaW5nIGNvbmZpZ3VyYXRpb24uDQpQbGVhc2UgcmVtb3ZlIHBvcnQgMSBmcm9tIGZvcndh cmRpbmcgY29uZmlndXJhdGlvbi4NCkRvbmUKMDMvMDcvMjAyMCAwMTozNToxNiAgICAgICAgICAg ICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6MzU6MTYg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUg bnVtYmVyIGlzOiAxDQoNClByb2ZpbGUgMDoNClRyYWNrIGlkOiAgICAgMHg4MDAwMDAwOA0KVmVy c2lvbjogICAgICAxLjAuMy4wDQpQcm9maWxlIG5hbWU6IEdUUHYxLUMvVSBJUHY0L0lQdjYgcGF5 bG9hZA0KCjAzLzA3LzIwMjAgMDE6MzU6MTYgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiBkZHAgYWRkIDAgL3RtcC9ndHAucGtnbywvdG1wL2d0cC5iYWsKMDMvMDcvMjAyMCAwMTozNTox NiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBhZGQgMCAvdG1wL2d0cC5wa2dv LC90bXAvZ3RwLmJhaw0NClBsZWFzZSBzdG9wIGFsbCBwb3J0cyBmaXJzdAowMy8wNy8yMDIwIDAx OjM1OjE2ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDAKMDMv MDcvMjAyMCAwMTozNToxNyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQg bGlzdCAwDQ0KUHJvZmlsZSBudW1iZXIgaXM6IDENCg0KUHJvZmlsZSAwOg0KVHJhY2sgaWQ6ICAg ICAweDgwMDAwMDA4DQpWZXJzaW9uOiAgICAgIDEuMC4zLjANClByb2ZpbGUgbmFtZTogR1RQdjEt Qy9VIElQdjQvSVB2NiBwYXlsb2FkDQoKMDMvMDcvMjAyMCAwMTozNToxNyAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RhcnQgYWxsCjAzLzA3LzIwMjAgMDE6MzU6MTcgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0YXJ0IGFsbA0NClBvcnQgMCBpcyBu b3cgbm90IHN0b3BwZWQNClBvcnQgMSBpcyBub3cgbm90IHN0b3BwZWQNClBsZWFzZSBzdG9wIHRo ZSBwb3J0cyBmaXJzdA0KRG9uZQowMy8wNy8yMDIwIDAxOjM1OjE4ICAgICAgICAgICAgIGR1dC4x MC4yNDAuMTgzLjI0Nzogc2V0IGZ3ZCByeG9ubHkKMDMvMDcvMjAyMCAwMTozNToxOCAgICAgICAg ICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHNldCBmd2Qgcnhvbmx5DQ0KU2V0IHJ4b25seSBwYWNr ZXQgZm9yd2FyZGluZyBtb2RlCjAzLzA3LzIwMjAgMDE6MzU6MTggICAgICAgICAgICAgZHV0LjEw LjI0MC4xODMuMjQ3OiBzZXQgdmVyYm9zZSAxCjAzLzA3LzIwMjAgMDE6MzU6MTggICAgICAgICAg ICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzZXQgdmVyYm9zZSAxDQ0KQ2hhbmdlIHZlcmJvc2UgbGV2 ZWwgZnJvbSAxIHRvIDEKMDMvMDcvMjAyMCAwMTozNToxOCAgICAgICAgICAgICBkdXQuMTAuMjQw LjE4My4yNDc6IHN0YXJ0CjAzLzA3LzIwMjAgMDE6MzU6MTggICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiBzdGFydA0NClBhY2tldCBmb3J3YXJkaW5nIGFscmVhZHkgc3RhcnRlZAowMy8w Ny8yMDIwIDAxOjM1OjIwICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZmxvdyBjcmVh dGUgMCBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAgICAgICAgICBn dHB1IHRlaWQgaXMgMHg0ZGViMGVhMiAvIGVuZCBhY3Rpb25zIHBmIC8gcXVldWUgaW5kZXggMzQg LyBlbmQKMDMvMDcvMjAyMCAwMTozNToyMCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6 IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGV0aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAg ICAgICAgICAgZ3RwdSB0ZWlkIGlzIDB4NGRlYjBlYTIgLyBlbmQgYWN0aW9ucyBwZiAvIHF1ZXVl IGluZGV4IDM0IC8gZW5kDQ0KRmxvdyBydWxlICMxIGNyZWF0ZWQKMDMvMDcvMjAyMCAwMTozNToy MCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6MzU6 MjIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6 IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNl cnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9s aWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRf Z3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNh dGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5 cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM2MDEpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjog G1szNG0wMTozNToyMS44NzcbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0 aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBp bXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1sw bQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24g OjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9u IG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0 b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0b WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0b WzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2Nw Q1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFt IGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBW ZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAg ICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8v cCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29t L3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBw UC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEv L0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8v QRtbMG0bWzM0bRtbMW0gICB8IFdhbm5hIHN1cHBvcnQgc2NhcHk/IFJhdGUgaXQgb24bWzBtDQob WzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtb MW0gICB8IHNlY3Rvb2xzIRtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAg ICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgaHR0cDovL3NlY3Rvb2xzLm9yZy90b29sL3Nj YXB5LxtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lh G1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgLS0gU2F0b3NoaSBOYWthbW90bxtbMG0NChtb MzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3Mg IBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcv MjAyMCAwMTozNToyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhl cigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGRlYjBlYTIpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNToyNCAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjM1OjI0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2 NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkZWIwZWEyKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzU6MjQgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNToy NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjM1 OjI3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6MzU6MzIg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMzQ6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19J UFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tl dDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0g NTEwNjQ0NiAtIFJlY2VpdmUgcXVldWU9MHgyMg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMzQ6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5h dGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNTEwNjQ0NiAtIFJlY2VpdmUgcXVldWU9MHgyMg0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTozNTozMiAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6MzU6MzMgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5v dCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291 bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRo b24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0 MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1 cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIp LA0KDQooc2NhcHk6MjM2MjEpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMToz NTozMy41NDYbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtf SVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlY LiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20b WzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRl ZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFp bGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRp b24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAb WzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5 eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIu NC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1Mb WzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAg ICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9z Y2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9Z G1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAg ICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0 bRtbMW0gICB8IFRvIGNyYWZ0IGEgcGFja2V0LCB5b3UgaGF2ZSB0byBiZSBhG1swbQ0KG1szMm0b WzFtICAgICAgIHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAg fCBwYWNrZXQsIGFuZCBsZWFybiBob3cgdG8gc3dpbSBpbhtbMG0NChtbMzJtG1sxbSAgICAgIHNZ Ly8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgdGhlIHdpcmVz IGFuZCBpbiB0aGUgd2F2ZXMuG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAg ICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfCAgICAgICAgLS0gSmVhbi1DbGF1ZGUgVmFu IERhbW1lG1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9Z cCAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BD eXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8v Ly9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAg ICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgG1swbQowMy8wNy8yMDIwIDAxOjM1OjM1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weDRkZWIwZWEyKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6MzU6MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNTozNSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0y MTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkZWIwZWEyKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzU6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNTozOCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjM1OjM4ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6MzU6NDMgICAgICAgICAgICAgZHV0 LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMzQ6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNTEwNjQ0NiAtIFJlY2Vp dmUgcXVldWU9MHgyMg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg MzQ6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3 IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gNTEwNjQ0NiAtIFJlY2VpdmUgcXVldWU9MHgyMg0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTozNTo0MyAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6MzU6NDUgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25u ZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6 IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNr YWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25X YXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAg ICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM2 MzkpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTozNTo0NS4xODkbWzBtOiBn ZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlz cGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxl IHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8g cm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtb MG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0 YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJl IGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAg ICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAg fCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAg ICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0b WzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1sw bRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJt G1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAg IHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtb MG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8v L0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0 IHBhY2tldHMgbGlrZSBJIGNyYWZ0IG15IGJlZXIuG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2Nj Y3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAg IC0tIEplYW4gRGUgQ2xlcmNrG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlD eWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kv Ly8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZ Ly9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZ Ly8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2Fh Y3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTozNTo0NyAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4NGRlYjBlYTQpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTozNTo0NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjM1OjQ3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eDRkZWIwZWE0KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 MzU6NDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTozNTo0OSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQo KQowMy8wNy8yMDIwIDAxOjM1OjUwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAz LzA3LzIwMjAgMDE6MzU6NTUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAv cXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xl bj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBw b3J0ID0yMTUyLCBWTkkgPSA1MTA2NDQ2IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZk ZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNTEwNjQ0NiAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAx OjM1OjU1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAw MTozNTo1NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNl cnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGlu aXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xv Y2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFj a2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRl cHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vy c29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzY1OCk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBt ICoqOiAbWzM0bTAxOjM1OjU2Ljg0MhtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBh c3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENh bid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAo KS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5h dGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQ eXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQu DQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRt G1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAg G1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNz ICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMy bRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0g ICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAg ICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcEND Q0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1 Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAg ICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1sz NG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAg ICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQgbXkgYmVl ci4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtb MG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBtDQobWzMy bRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEb WzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjM1 OjU5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9V RFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZGViMGVhMikvUmF3KCJYIioyMCld LCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM1OjU5ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzU6NTkgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRw b3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGRlYjBlYTIpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNTo1OSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjAxICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6MzY6MDEgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTozNjowNiAgICAgICAgICAg ICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0 eXBlID0yODgxNiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxMjMsIFZOSSA9IDUxMDY0NDYgLSBS ZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9Mjg4OTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTIzLCBWTkkgPSA1MTA2NDQ2IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6MzY6MDYgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRw IC8gICAgICAgICAgICAgICAgIGd0cHUgdGVpZCBpcyAweGUzZDQ1NTAgLyBlbmQgYWN0aW9ucyBw ZiAvIHF1ZXVlIGluZGV4IDE1IC8gZW5kCjAzLzA3LzIwMjAgMDE6MzY6MDcgICAgICAgICAgICAg ZHV0LjEwLjI0MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBp cHY0IC8gdWRwIC8gICAgICAgICAgICAgICAgIGd0cHUgdGVpZCBpcyAweGUzZDQ1NTAgLyBlbmQg YWN0aW9ucyBwZiAvIHF1ZXVlIGluZGV4IDE1IC8gZW5kDQ0KRmxvdyBydWxlICMyIGNyZWF0ZWQK MDMvMDcvMjAyMCAwMTozNjowNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5 CjAzLzA3LzIwMjAgMDE6MzY6MDggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFi bGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQN ClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVm dXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGli L2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vy c29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNv ci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM2NzcpOiBHZGstG1sxOzM1 bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTozNjowOC41NDYbWzBtOiBnZGtfY3Vyc29yX25ld19m b3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0K G1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAo KSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9y IElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtb MW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBz aGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0b WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0b WzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAg ICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8v Ly8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg c1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNj YXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAb WzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZ WVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sx bSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwg aHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQ UFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8 IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAg c0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8v WUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IFdhbm5hIHN1cHBvcnQgc2NhcHk/ IFJhdGUgaXQgb24bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAg ICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IHNlY3Rvb2xzIRtbMG0NChtbMzJtG1sxbSAgICAgIHNZ Ly8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgaHR0cDovL3Nl Y3Rvb2xzLm9yZy90b29sL3NjYXB5LxtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEg ICAgICAgICAgICAgIHBZL1lhG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgLS0gU2F0b3No aSBOYWthbW90bxtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBh Qy8vWXAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZ Ly9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZ Ly8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2Fh Y3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTozNjoxMCAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4ZTNkNDU1MCkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6MzY6MTAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoxMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4ZTNkNDU1MCkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4ZTNkNDU1MCkvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjExICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9 ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjExICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjExICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MTEgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUwKS9JUCgpL1VEUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjoxMSAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjExICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvVENQKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjExICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6 MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkv VURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9TQ1RQKCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjExICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6MzY6MTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9J Q01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjEx ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6MzY6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMv MDcvMjAyMCAwMTozNjoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8y MDIwIDAxOjM2OjE5ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVl IDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBo dyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VY VF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBx dWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDE1OiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlw ZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktO T1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQg dHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBS ZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9 RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAt IGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRf RVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMz MTg5IC0gUmVjZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0x MDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAt IGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0g bDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24g VURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhmDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHg4NmRkIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9V TktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xl bj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBw b3J0ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZk ZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTU6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0 X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5Miwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9 MHhmDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04g SU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2 ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDE1 OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRf VU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5 IC0gUmVjZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0g ZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJfc2Vn cz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNf SVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBh Y2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5J ID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NV TV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dO IA0KCjAzLzA3LzIwMjAgMDE6MzY6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz Y2FweQowMy8wNy8yMDIwIDAxOjM2OjIxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog VW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1 c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9u IHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxv dGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2Rr LkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5D dXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjIzNzA0KTogR2RrLRtb MTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6MzY6MjEuMTU2G1swbTogZ2RrX2N1cnNvcl9u ZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWls ZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNk dW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5k IGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1sz M20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRo b24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4b WzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAb WzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFT YSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZ Ly8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0 byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkv L0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZ WVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMy bRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0g ICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAg ICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFt ICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAg ICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQ Ly8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBtZSBpZiB5b3Ug Y2FuLhtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9Z G1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAgICAgLS0gSVB2NiBsYXllchtbMG0NChtb MzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9Z YRtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6 MzY6MjMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgp L1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1 MCkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6 MjMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMTozNjoyMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHhlM2Q0NTUwKS9JUChmcmFnPTUpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikK MDMvMDcvMjAyMCAwMTozNjoyMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNl bnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjIzICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBp ZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjIzICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6MjMgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtzdW09 MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9UQ1Ao KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MjMgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAy MCAwMTozNjoyMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigp L0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhl M2Q0NTUwKS9JUCgpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6MzY6MjMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoyMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUwKS9JUCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MjMgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoyMyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4 MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjI0ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6 MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkv VURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUw KS9JUChmcmFnPTUpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTozNjoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjM2OjI0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4ZTNkNDU1MCkvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoyNCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvVENQKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjI0ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6 MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkv VURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUw KS9JUCgpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6MzY6MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTozNjoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0weGUzZDQ1NTApL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVu czIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjI2ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6MzY6MjcgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTozNjozMiAgICAgICAgICAgICBkdXQu MTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhmDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVu Z3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4 MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIw IC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRp b24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhmDQogIG9s X2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhf T1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRf VENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBE ZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0w eGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDE1OiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2 ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDE1 OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBw dHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9V TktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNr ZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA5MzMxODkg LSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAv cXVldWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdz PTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19J UFY0X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5 cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVj ZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9F WFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMz MTg5IC0gUmVjZWl2ZSBxdWV1ZT0weGYNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDE1OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4Zg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMTU6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0x MzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhmDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0g bGVuZ3RoPTEyMiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0g bDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24g VURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhmDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxNTogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9V TktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNN UCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAtIFJlY2VpdmUgcXVldWU9MHhm DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjM2OjMyICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTozNjozNCAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQg bm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBD b3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5 dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5 OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAg Y3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVV UiksDQoNCihzY2FweToyMzc0NCk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAx OjM2OjMzLjcwMBtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dE S19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQ eVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMz bRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8g ZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2 YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxl dGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAg IBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5 eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24g Mi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8v UxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAg ICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2 L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMv L1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAg ICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtb MzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQgbXkgYmVlci4bWzBtDQobWzMy bRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0g ICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBtDQobWzMybRtbMW0gICAgICBz WS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1sz Mm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtDQobWzMybRtb MW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0NChtbMzJtG1sxbSAg ICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjM2OjM2ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9 ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjM2ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUChmcmFnPTUpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjM2ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUCgpL1VEUCgpL1JhdygiWCIqMjApXSwg aWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjM2ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUCgpL1RDUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM2OjM2ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUCgpL1NDVFAoKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MzYgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjoz NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MikvSVAoKS9JQ01QKCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjM2ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 MzY6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2 KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MikvSVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6MzY6MzYgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMToz NjozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0NTUyKS9JUChmcmFnPTUp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNjozNiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjM2OjM2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUzZDQ1NTIpL0lQKCkv VURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjM2 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6MzY6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1Mikv SVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 MzY6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlM2Q0 NTUyKS9JUCgpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6MzY6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTozNjozNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHhlM2Q0NTUyKS9JUCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6MzY6MzcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNjozOSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjM2OjM5ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6MzY6NDQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMu MjQ3OiBwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkw IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDkz MzE4OSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTk4 IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0g VlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0y MTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVu Z3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD0xMDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0y MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHgwODAwIC0gbGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9J Q01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBE ZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0w eDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNf SVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOICAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5h dGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0 X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04g SU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gOTMzMTg5IC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBodyBw dHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9V TktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAg IC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tl dCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDkzMzE4OSAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW NF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tl dDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0g OTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBu Yl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5F Ul9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVS IEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhM QU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUy LCBWTkkgPSA5MzMxODkgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQoKMDMvMDcvMjAyMCAwMTozNjo0NCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6MzY6NDYgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9u IHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5l Y3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9t YXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5n OiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAg R2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM3NjIpOiBH ZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTozNjo0Ni4yMjgbWzBtOiBnZGtfY3Vy c29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSkn IGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVz ZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUg Zm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBt DQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJk IFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2Fi bGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZ Ly9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5 eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxj b21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAg IHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZ QXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0N ChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRt G1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAg ICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0 bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAg ICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0IHBhY2tl dHMgbGlrZSBpdCBpcyB5b3VyIGxhc3QbWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BT UC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IGRheSBvbiBlYXJ0aC4bWzBtDQob WzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtb MW0gICB8ICAgICAgICAgICAgICAgICAgICAgIC0tIExhby1UemUbWzBtDQobWzMybRtbMW0gICAg ICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0K G1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMy bRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTozNjo0OCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRw b3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjQ4ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6NDggICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIx MjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTNkNDU1MCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM2OjQ4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6MzY6NTAgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNjo1MSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM2OjU2ICAgICAgICAgICAgIGR1dC4x MC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAt IGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTI4 ODE2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywgVk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBl OiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTI4ODk2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywg Vk5JID0gOTMzMTg5IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KCjAzLzA3LzIwMjAgMDE6MzY6NTYgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAgICAg ICAgICAgICAgIGd0cHUgdGVpZCBpcyAweGQ5MzExM2UgLyBlbmQgYWN0aW9ucyBwZiAvIHF1ZXVl IGluZGV4IDQ2IC8gZW5kCjAzLzA3LzIwMjAgMDE6MzY6NTYgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRw IC8gICAgICAgICAgICAgICAgIGd0cHUgdGVpZCBpcyAweGQ5MzExM2UgLyBlbmQgYWN0aW9ucyBw ZiAvIHF1ZXVlIGluZGV4IDQ2IC8gZW5kDQ0KRmxvdyBydWxlICMzIGNyZWF0ZWQKMDMvMDcvMjAy MCAwMTozNjo1NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIw MjAgMDE6MzY6NTggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5p dCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0 byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vz ci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRz L2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBp cyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2Rr LkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM3ODMpOiBHZGstG1sxOzM1bUNSSVRJQ0FM G1swbSAqKjogG1szNG0wMTozNjo1Ny44NDIbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxh eTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZP OiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZk dW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVz dGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5H OiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0 ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0b WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0b WzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNh ICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9Z U3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0K G1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0b WzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAg ICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAg IHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9n aXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAg ICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVu IRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAg ICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IFRvIGNyYWZ0IGEgcGFja2V0LCB5b3UgaGF2ZSB0 byBiZSBhG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAv L1kbWzBtG1szNG0bWzFtICAgfCBwYWNrZXQsIGFuZCBsZWFybiBob3cgdG8gc3dpbSBpbhtbMG0N ChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRt G1sxbSAgIHwgdGhlIHdpcmVzIGFuZCBpbiB0aGUgd2F2ZXMuG1swbQ0KG1szMm0bWzFtICAgICAg IGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfCAgICAgICAg LS0gSmVhbi1DbGF1ZGUgVmFuIERhbW1lG1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8v WUNjICAgICAgICAgIGFDLy9ZcCAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAg ICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjM3OjAwICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2KCkvSVB2NkV4dEhkckZyYWdtZW50KCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjAwICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6Mzc6MDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MDAgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTozNzowMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZDkzMTEzZSkvSVB2NigpL1VE UCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzowMCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjM3OjAwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2 KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3 OjAwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAz LzA3LzIwMjAgMDE6Mzc6MDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChb RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2Up L0lQdjYoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjM3OjAwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6Mzc6MDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5 MzExM2UpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6Mzc6MDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzowMCAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2KCkvSVB2NkV4dEhkckZyYWdtZW50KCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjAwICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MDAg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZDkzMTEzZSkvSVB2NigpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzowMCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM3OjAw ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VE UChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYoKS9VRFAoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MDAgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTozNzowMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ djYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2KCkv VENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjAx ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6Mzc6MDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZDkzMTEzZSkv SVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6Mzc6MDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTozNzowMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhk OTMxMTNlKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjM3OjAxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MDMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNzowMyAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM3OjA4ICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5n dGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2ZSBxdWV1ZT0weDJlDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSA0NjogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgw ODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktO T1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUNCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3Jj PTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAg LSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUNCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9U Q1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4 MmUNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2 ZSBxdWV1ZT0weDJlDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSA0 NjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3 IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhU X1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9V RFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBh Y2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYx NyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzgg LSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJ Tk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxl bmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5O RUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQ VjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2ZSBx dWV1ZT0weDJlDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjM3 OjA4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMToz NzoxMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZl cjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQg c2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2Fs L2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2Vu ZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJl Y2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29y VHlwZS5GTEVVUiksDQoNCihzY2FweToyMzgwMik6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoq OiAbWzM0bTAxOjM3OjEwLjEwNxtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3Nl cnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0 IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4b WzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlv biA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRo b24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpB dXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sx bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBz Y3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtb MW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8 IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAg ICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZ Ly9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5j b20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAg IHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAg QS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0b WzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBB Ly9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQgbXkgYmVlci4b WzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0b WzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBtDQobWzMybRtb MW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8 G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBt DQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0NChtb MzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjM3OjEy ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAo Y2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQ djYoKS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6Mzc6MTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoxMiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2KCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjEyICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MTIgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtzdW09MHgx MjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZDkzMTEzZSkvSVB2NigpL1VEUCgp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzoxMiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjM3OjEyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5 MzExM2UpL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6Mzc6MTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoxMiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTNlKS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzoxMiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM3OjEyICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4 MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYobmg9NTgp L0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6 MTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMTozNzoxMiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIo dGVpZD0weGQ5MzExM2UpL0lQdjYoKS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MTMgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoxMyAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hr c3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYo KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MTMgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAy MCAwMTozNzoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigp L0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eGQ5MzExM2UpL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6Mzc6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MTMgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoxMyAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hr c3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2UpL0lQdjYo KS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3 OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAz LzA3LzIwMjAgMDE6Mzc6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChb RXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHhkOTMxMTNlKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MTUgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNzoxNSAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM3OjIwICAgICAgICAgICAgIGR1 dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4 MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05P V04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5h dGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2ZSBxdWV1ZT0weDJlDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSA0NjogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUNCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9V RFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4 MmUNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZl IHF1ZXVlPTB4MmUNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2 OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRf VU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3 IC0gUmVjZWl2ZSBxdWV1ZT0weDJlDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQ S1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQg MC9xdWV1ZSA0NjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3Nl Z3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wz X0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0x MzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MmUNCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3Jj PTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQg LSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxl bmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5O RUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGlu YXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgyZQ0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgNDY6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW Nl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVS X0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1 ZXVlPTB4MmUNCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQ2OiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5 cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5L Tk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0g UmVjZWl2ZSBxdWV1ZT0weDJlDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8y MDIwIDAxOjM3OjIwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcv MjAyMCAwMTozNzoyMiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBp bml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxl IHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQov dXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2Vu ZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3 IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhH ZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyMzgyOCk6IEdkay0bWzE7MzVtQ1JJVElD QUwbWzBtICoqOiAbWzM0bTAxOjM3OjIyLjM3MhtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNw bGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlO Rk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBk ZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBk ZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5J Tkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGlu c3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sx bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1sw bRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9Z Q2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8v L1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBt DQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0 bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1Bz ICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAg ICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczov L2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9h ICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBm dW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2Eb WzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAg ICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQg bXkgYmVlci4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAg cC8vWRtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBt DQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0 bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAg cFkvWWEbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lw IBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIw IDAxOjM3OjI0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTQwKS9JUHY2KCkv SVB2NkV4dEhkckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjM3OjI0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0weGQ5MzExNDApL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6Mzc6MjQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4ZDkzMTE0MCkvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikK MDMvMDcvMjAyMCAwMTozNzoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNl bnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM3OjI0ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHhkOTMxMTQwKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0weGQ5MzExNDApL0lQdjYoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0weGQ5MzExNDApL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoyNSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTQwKS9JUHY2KCkvSVB2NkV4dEhk ckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAx OjM3OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMu CjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5k cChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZDkz MTE0MCkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTozNzoyNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjM3OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5 MzExNDApL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoyNSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHhkOTMxMTQwKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjM3OjI1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4ZDkzMTE0MCkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6Mzc6MjUgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozNzoyNSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHhkOTMxMTQwKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM3OjI1ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzc6Mjcg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTozNzoy OCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjM3OjMzICAg ICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW NF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVS X0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1 ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VN X0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBl OiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05P V04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19J UFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5O RVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBodyBwdHlw ZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktO T1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0 eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9F WFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gODg5 NjE3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEz OCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBV IElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBs ZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVO TkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0g bGVuZ3RoPTE1MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0 eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBs NF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBV RFAgcG9ydCA9MjE1MiwgVk5JID0gODg5NjE3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA4ODk2MTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJf TDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0 IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5 MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjM3OjMz ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTozNzoz NCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjog Q291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2Vy dmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xp YjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9n dGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0 ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlw ZS5GTEVVUiksDQoNCihzY2FweToyMzg0Nik6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAb WzM0bTAxOjM3OjM0LjY2MxtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRp b24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGlt cG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBt DQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6 OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24g bm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRv Q29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BD WS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0g YXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZl cnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAg ICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9w ICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20v c2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQ Ly8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8v QSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9B G1swbRtbMzRtG1sxbSAgIHwgV2UgYXJlIGluIEZyYW5jZSwgd2Ugc2F5IFNrYXBwZWUuG1swbQ0K G1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0b WzFtICAgfCBPSz8gTWVyY2kuG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAtLSBTZWJhc3RpZW4g Q2hhYmFsG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkv WWEbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAg ICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFh cHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQ U3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAg ICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAb WzBtCjAzLzA3LzIwMjAgMDE6Mzc6MzYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5 MzExM2UpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzoz NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjM3OjM3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGQ5MzExM2Up L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozNzozNyAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjM3OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIw MjAgMDE6Mzc6MzkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAw MTozNzo0NCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBodyBwdHlw ZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODgxNiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxMjMs IFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ QyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODg5NiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxMjMsIFZOSSA9IDg4OTYxNyAtIFJlY2VpdmUgcXVldWU9MHgw DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjM3OjQ0ICAgICAg ICAgICAgICAgICAgICAgVGVzdERkcEd0cDogVGVzdCBDYXNlIHRlc3RfY2xmdGVyX2d0cHVfcGYg UmVzdWx0IFBBU1NFRDoKMDMvMDcvMjAyMCAwMTozNzo0NCAgICAgICAgICAgICBkdXQuMTAuMjQw LjE4My4yNDc6IHN0b3AKMDMvMDcvMjAyMCAwMTozNzo0NCAgICAgICAgICAgICBkdXQuMTAuMjQw LjE4My4yNDc6IHN0b3ANDQpUZWxsaW5nIGNvcmVzIHRvIHN0b3AuLi4NCldhaXRpbmcgZm9yIGxj b3JlcyB0byBmaW5pc2guLi4NCg0KICAtLS0tLS0tIEZvcndhcmQgU3RhdHMgZm9yIFJYIFBvcnQ9 IDAvUXVldWU9IDAgLT4gVFggUG9ydD0gMS9RdWV1ZT0gMCAtLS0tLS0tDQogIFJYLXBhY2tldHM6 IDYwICAgICAgICAgICAgIFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRYLWRyb3BwZWQ6IDAg ICAgICAgICAgICAgDQoNCiAgLS0tLS0tLSBGb3J3YXJkIFN0YXRzIGZvciBSWCBQb3J0PSAwL1F1 ZXVlPTE1IC0+IFRYIFBvcnQ9IDEvUXVldWU9MTUgLS0tLS0tLQ0KICBSWC1wYWNrZXRzOiAyNCAg ICAgICAgICAgICBUWC1wYWNrZXRzOiAwICAgICAgICAgICAgICBUWC1kcm9wcGVkOiAwICAgICAg ICAgICAgIA0KDQogIC0tLS0tLS0gRm9yd2FyZCBTdGF0cyBmb3IgUlggUG9ydD0gMC9RdWV1ZT0z NCAtPiBUWCBQb3J0PSAxL1F1ZXVlPTM0IC0tLS0tLS0NCiAgUlgtcGFja2V0czogNCAgICAgICAg ICAgICAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAgICAgICAg ICANCg0KICAtLS0tLS0tIEZvcndhcmQgU3RhdHMgZm9yIFJYIFBvcnQ9IDAvUXVldWU9NDYgLT4g VFggUG9ydD0gMS9RdWV1ZT00NiAtLS0tLS0tDQogIFJYLXBhY2tldHM6IDI0ICAgICAgICAgICAg IFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRYLWRyb3BwZWQ6IDAgICAgICAgICAgICAgDQoN CiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3J3YXJkIHN0YXRpc3RpY3MgZm9yIHBvcnQgMCAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSWC1wYWNrZXRzOiAxMTIgICAgICAgICAgICBSWC1k cm9wcGVkOiAwICAgICAgICAgICAgIFJYLXRvdGFsOiAxMTINCiAgVFgtcGFja2V0czogMCAgICAg ICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAgICAgICAgICBUWC10b3RhbDogMA0KICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQoNCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3J3YXJkIHN0YXRpc3Rp Y3MgZm9yIHBvcnQgMSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSWC1wYWNrZXRzOiAwICAg ICAgICAgICAgICBSWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFJYLXRvdGFsOiAwDQogIFRYLXBh Y2tldHM6IDAgICAgICAgICAgICAgIFRYLWRyb3BwZWQ6IDAgICAgICAgICAgICAgVFgtdG90YWw6 IDANCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogICsrKysrKysrKysrKysrKyBBY2N1bXVsYXRl ZCBmb3J3YXJkIHN0YXRpc3RpY3MgZm9yIGFsbCBwb3J0cysrKysrKysrKysrKysrKw0KICBSWC1w YWNrZXRzOiAxMTIgICAgICAgICAgICBSWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFJYLXRvdGFs OiAxMTINCiAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAgICAg ICAgICBUWC10b3RhbDogMA0KICArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQoNCkRvbmUuCjAzLzA3LzIw MjAgMDE6Mzc6NDQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3Qg MAowMy8wNy8yMDIwIDAxOjM3OjQ0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRw IGdldCBsaXN0IDANDQpQcm9maWxlIG51bWJlciBpczogMQ0KDQpQcm9maWxlIDA6DQpUcmFjayBp ZDogICAgIDB4ODAwMDAwMDgNClZlcnNpb246ICAgICAgMS4wLjMuMA0KUHJvZmlsZSBuYW1lOiBH VFB2MS1DL1UgSVB2NC9JUHY2IHBheWxvYWQNCgowMy8wNy8yMDIwIDAxOjM3OjQ0ICAgICAgICAg ICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCBzdG9wIGFsbAowMy8wNy8yMDIwIDAxOjM3OjQ1 ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCBzdG9wIGFsbA0NClN0b3BwaW5n IHBvcnRzLi4uDQppNDBlX3BmX2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1l c3NhZ2UgdG8gVkYsIGVyciAxMg0KDQpQb3J0IDA6IGxpbmsgc3RhdGUgY2hhbmdlIGV2ZW50DQpp NDBlX3BmX2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYs IGVyciAxMg0KQ2hlY2tpbmcgbGluayBzdGF0dXNlcy4uLg0KDQpQb3J0IDE6IGxpbmsgc3RhdGUg Y2hhbmdlIGV2ZW50DQppNDBlX3BmX2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5k IG1lc3NhZ2UgdG8gVkYsIGVyciAxMg0KRG9uZQowMy8wNy8yMDIwIDAxOjM3OjQ2ICAgICAgICAg ICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGRlbCAwIC90bXAvZ3RwLmJhawowMy8wNy8yMDIw IDAxOjM3OjQ2ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGRlbCAwIC90bXAv Z3RwLmJhaw0KMDMvMDcvMjAyMCAwMTozNzo0NiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4y NDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6Mzc6NDYgICAgICAgICAgICAgZHV0LjEw LjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUgbnVtYmVyIGlzOiAwDQoKMDMv MDcvMjAyMCAwMTozNzo0NiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3Rh cnQgYWxsCjAzLzA3LzIwMjAgMDE6Mzc6NDcgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiBwb3J0IHN0YXJ0IGFsbA0NCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192ZigpOiBGYWlsIHRv IHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2DQpQ b3J0IDE6IDNDOkZEOkZFOkEzOkEwOjk3DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpEb25l CjAzLzA3LzIwMjAgMDE6Mzc6NDcgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBxdWl0 CjAzLzA3LzIwMjAgMDE6Mzc6NDggICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBxdWl0 DQ0KDQpTdG9wcGluZyBwb3J0IDAuLi4NClN0b3BwaW5nIHBvcnRzLi4uDQpEb25lDQoNClN0b3Bw aW5nIHBvcnQgMS4uLg0KU3RvcHBpbmcgcG9ydHMuLi4NCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190 b192ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpEb25lDQoNClNodXR0 aW5nIGRvd24gcG9ydCAwLi4uDQpDbG9zaW5nIHBvcnRzLi4uDQpEb25lDQoNClNodXR0aW5nIGRv d24gcG9ydCAxLi4uDQpDbG9zaW5nIHBvcnRzLi4uDQpEb25lDQoNCkJ5ZS4uLgowMy8wNy8yMDIw IDAxOjM3OjQ4ICAgICAgICAgICAgICAgICAgICAgVGVzdERkcEd0cDogVGVzdCBDYXNlIHRlc3Rf Y2xmdGVyX2d0cHVfdmYgQmVnaW4KMDMvMDcvMjAyMCAwMTozNzo0OCAgICAgICAgICAgICBkdXQu MTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjM3OjQ5ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6Mzc6NDkgICAgICAgICAgICAgZHV0LjEwLjI0MC4x ODMuMjQ3OiBtb2Rwcm9iZSB1aW8KMDMvMDcvMjAyMCAwMTozNzo0OSAgICAgICAgICAgICBkdXQu MTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjM3OjQ5ICAgICAgICAgICAgIGR1dC4xMC4y NDAuMTgzLjI0NzogbHNtb2QgfCBncmVwIGlnYl91aW8KMDMvMDcvMjAyMCAwMTozNzo0OSAgICAg ICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGlnYl91aW8gICAgICAgICAgICAgICAgMjA0ODAg IDANCnVpbyAgICAgICAgICAgICAgICAgICAgMjA0ODAgIDEgaWdiX3VpbwowMy8wNy8yMDIwIDAx OjM3OjQ5ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogcm1tb2QgLWYgaWdiX3Vpbwow My8wNy8yMDIwIDAxOjM3OjQ5ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogCjAzLzA3 LzIwMjAgMDE6Mzc6NDkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBpbnNtb2QgLi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9rbW9kL2lnYl91aW8ua28KMDMvMDcvMjAyMCAwMToz Nzo0OSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IAowMy8wNy8yMDIwIDAxOjM3OjQ5 ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogbHNtb2QgfCBncmVwIGlnYl91aW8KMDMv MDcvMjAyMCAwMTozNzo0OSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGlnYl91aW8g ICAgICAgICAgICAgICAgMjA0ODAgIDANCnVpbyAgICAgICAgICAgICAgICAgICAgMjA0ODAgIDEg aWdiX3VpbwowMy8wNy8yMDIwIDAxOjM3OjU3ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0 NzogbHNvZiAtaTo2MDAyCjAzLzA3LzIwMjAgMDE6Mzc6NTcgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiAKMDMvMDcvMjAyMCAwMTozODowMSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4 My4yNDc6IFZpcnR1YWwgbWFjaGluZSBzdGF0dXM6IGkbW0sbW0RpbhtbSxtbRBtbRGluZhtbSxtb RBtbRBtbRGluZm8bW0sbW0QbW0QbW0QbW0RpbmZvIBtbSxtbRBtbRBtbRBtbRBtbRGluZm8gcxtb SxtbRBtbRBtbRBtbRBtbRBtbRGluZm8gc3QbW0sbW0QbW0QbW0QbW0QbW0QbW0QbW0RpbmZvIHN0 YRtbSxtbRBtbRBtbRBtbRBtbRBtbRBtbRBtbRGluZm8gc3RhdBtbSxtbRBtbRBtbRBtbRBtbRBtb RBtbRBtbRBtbRGluZm8gc3RhdHUbW0sbW0QbW0QbW0QbW0QbW0QbW0QbW0QbW0QbW0QbW0RpbmZv IHN0YXR1cxtbSw0NClZNIHN0YXR1czogcnVubmluZw0KMDMvMDcvMjAyMCAwMTozODo0MyAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNkIH4vZHBkawowMy8wNy8yMDIwIDAxOjM4OjQz ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NDMgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBhbGlhcyBscz0nbHMgLS1jb2xvcj1ub25lJwow My8wNy8yMDIwIDAxOjM4OjQzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3 LzIwMjAgMDE6Mzg6NDMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBncmVwIC0tY29s b3I9bmV2ZXIgInByb2Nlc3NvciIgL3Byb2MvY3B1aW5mbwowMy8wNy8yMDIwIDAxOjM4OjQzICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcHJvY2Vzc29yCTogMA0KcHJvY2Vzc29yCTog MQ0KcHJvY2Vzc29yCTogMg0KcHJvY2Vzc29yCTogMw0KcHJvY2Vzc29yCTogNA0KcHJvY2Vzc29y CTogNQ0KcHJvY2Vzc29yCTogNg0KcHJvY2Vzc29yCTogNwowMy8wNy8yMDIwIDAxOjM4OjQzICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHNwY2kgLURubiB8IGdyZXAgLWkgZXRoCjAz LzA3LzIwMjAgMDE6Mzg6NDMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAwMDAwOjAw OjAzLjAgRXRoZXJuZXQgY29udHJvbGxlciBbMDIwMF06IEludGVsIENvcnBvcmF0aW9uIDgyNTQw RU0gR2lnYWJpdCBFdGhlcm5ldCBDb250cm9sbGVyIFs4MDg2OjEwMGVdIChyZXYgMDMpDQowMDAw OjAwOjA0LjAgRXRoZXJuZXQgY29udHJvbGxlciBbMDIwMF06IEludGVsIENvcnBvcmF0aW9uIEV0 aGVybmV0IFZpcnR1YWwgRnVuY3Rpb24gNzAwIFNlcmllcyBbODA4NjoxNTRjXSAocmV2IDAyKQow My8wNy8yMDIwIDAxOjM4OjQzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogRFVUOiBb MDAwMDowMDowMy4wIDgwODY6MTAwZV0gG1szMTsxbVNraXBwZWQ6IFVua25vd24vbm90IHNlbGVj dGVkG1swbQowMy8wNy8yMDIwIDAxOjM4OjQzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAw MjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3ZlbmRvcgowMy8wNy8y MDIwIDAxOjM4OjQzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogMHg4MDg2CjAzLzA3 LzIwMjAgMDE6Mzg6NDMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9i dXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvZGV2aWNlCjAzLzA3LzIwMjAgMDE6Mzg6NDMg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAweDE1NGMKMDMvMDcvMjAyMCAwMTozODo0 MyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNl cy8wMDAwXDowMFw6MDQuMC92ZW5kb3IKMDMvMDcvMjAyMCAwMTozODo0MyAgICB2aXJ0ZHV0LjEw LjI0MC4xODMuMjQ3OjYwMDI6IDB4ODA4NgowMy8wNy8yMDIwIDAxOjM4OjQzICAgIHZpcnRkdXQu MTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDow NC4wL2RldmljZQowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogMHgxNTRjCjAzLzA3LzIwMjAgMDE6Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50CjAz LzA3LzIwMjAgMDE6Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEUklWRVI9 aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgw ODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgw ODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6 Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAtLWNvbG9yPW5ldmVyIC9z eXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25ldAowMy8wNy8yMDIwIDAxOjM4OjQ0 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHM6IGNhbm5vdCBhY2Nlc3MgJy9zeXMv YnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBj YXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvbnVtYV9ub2RlCjAzLzA3LzIw MjAgMDE6Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAtMQowMy8wNy8yMDIw IDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3Bj aS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3VldmVudAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZp cnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogRFJJVkVSPWlhdmYNClBDSV9DTEFTUz0yMDAwMA0K UENJX0lEPTgwODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9 MDAwMDowMDowNC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNk MDAwMDAwMDBiYzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAuMjQw LjE4My4yNDc6NjAwMjogbHMgLS1jb2xvcj1uZXZlciAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAw XDowMFw6MDQuMC9uZXQKMDMvMDcvMjAyMCAwMTozODo0NCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMu MjQ3OjYwMDI6IGxzOiBjYW5ub3QgYWNjZXNzICcvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAw OjA0LjAvbmV0JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQowMy8wNy8yMDIwIDAxOjM4OjQ0 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2Vz LzAwMDBcOjAwXDowNC4wL3VldmVudAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAu MjQwLjE4My4yNDc6NjAwMjogRFJJVkVSPWlhdmYNClBDSV9DTEFTUz0yMDAwMA0KUENJX0lEPTgw ODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9MDAwMDowMDow NC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNkMDAwMDAwMDBi YzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25ldC9OL0EvYWRk cmVzcwowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog Y2F0OiAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowNC4wL25ldC9OL0EvYWRkcmVzcyc6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMTozODo0NCAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMDAwMDowMDowNC4wID4gL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMFw6MDBcOjA0LjAvZHJpdmVyL3VuYmluZAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NDQgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBtb2Rwcm9iZSBpNDBldmYKMDMvMDcvMjAyMCAwMToz ODo0NCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IAowMy8wNy8yMDIwIDAxOjM4OjQ0 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogZWNobyAwMDAwOjAwOjA0LjAgPiAvc3lz L2J1cy9wY2kvZHJpdmVycy9pNDBldmYvYmluZAowMy8wNy8yMDIwIDAxOjM4OjQ0ICAgIHZpcnRk dXQuMTAuMjQwLjE4My4yNDc6NjAwMjogLWJhc2g6IC9zeXMvYnVzL3BjaS9kcml2ZXJzL2k0MGV2 Zi9iaW5kOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NDQgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MFw6MDBcOjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NDQgICAgdmlydGR1dC4xMC4yNDAu MTgzLjI0Nzo2MDAyOiBQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJT WVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNp OnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcv MjAyMCAwMTozODo0NSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1 cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMTozODo0NSAg ICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IFBDSV9DTEFTUz0yMDAwMA0KUENJX0lEPTgw ODY6MTU0Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9MDAwMDowMDow NC4wDQpNT0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNkMDAwMDAwMDBi YzAyc2MwMGkwMAowMy8wNy8yMDIwIDAxOjM4OjQ2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL3VldmVudAowMy8w Ny8yMDIwIDAxOjM4OjQ3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogUENJX0NMQVNT PTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgwODY6MDAwMA0KUENJX1NM T1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgwODZkMDAwMDE1NENzdjAw MDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6Mzg6NDggICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBc OjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NDggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9 ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAw ODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAw MTozODo0OSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kv ZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMTozODo0OSAgICB2aXJ0 ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IFBDSV9DTEFTUz0yMDAwMA0KUENJX0lEPTgwODY6MTU0 Qw0KUENJX1NVQlNZU19JRD04MDg2OjAwMDANClBDSV9TTE9UX05BTUU9MDAwMDowMDowNC4wDQpN T0RBTElBUz1wY2k6djAwMDA4MDg2ZDAwMDAxNTRDc3YwMDAwODA4NnNkMDAwMDAwMDBiYzAyc2Mw MGkwMAowMy8wNy8yMDIwIDAxOjM4OjUwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog bW9kcHJvYmUgaWF2ZgowMy8wNy8yMDIwIDAxOjM4OjUwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NTAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBlY2hvIDAwMDA6MDA6MDQuMCA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL2lhdmYvYmluZAow My8wNy8yMDIwIDAxOjM4OjUwICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3 LzIwMjAgMDE6Mzg6NTAgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9i dXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NTAg ICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEUklWRVI9aWF2Zg0KUENJX0NMQVNTPTIw MDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgwODY6MDAwMA0KUENJX1NMT1Rf TkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgwODZkMDAwMDE1NENzdjAwMDA4 MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6Mzg6NTAgICAgdmlydGR1dC4x MC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAtLWNvbG9yPW5ldmVyIC9zeXMvYnVzL3BjaS9kZXZpY2Vz LzAwMDBcOjAwXDowNC4wL25ldAowMy8wNy8yMDIwIDAxOjM4OjUwICAgIHZpcnRkdXQuMTAuMjQw LjE4My4yNDc6NjAwMjogbHM6IGNhbm5vdCBhY2Nlc3MgJy9zeXMvYnVzL3BjaS9kZXZpY2VzLzAw MDA6MDA6MDQuMC9uZXQnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6 Mzg6NTEgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2Rl dmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NTEgICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEUklWRVI9aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lf SUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lEPTgwODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAw OjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAwMDgwODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAw MDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAgMDE6Mzg6NTEgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBscyAtLWNvbG9yPW5ldmVyIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAw XDowNC4wL25ldAowMy8wNy8yMDIwIDAxOjM4OjUxICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogbHM6IGNhbm5vdCBhY2Nlc3MgJy9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQu MC9uZXQnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NTIgICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MFw6MDBcOjA0LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NTIgICAgdmlydGR1dC4xMC4yNDAu MTgzLjI0Nzo2MDAyOiBEUklWRVI9aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4Njox NTRDDQpQQ0lfU1VCU1lTX0lEPTgwODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjAN Ck1PREFMSUFTPXBjaTp2MDAwMDgwODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJz YzAwaTAwCjAzLzA3LzIwMjAgMDE6Mzg6NTIgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiBscyAtLWNvbG9yPW5ldmVyIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25l dAowMy8wNy8yMDIwIDAxOjM4OjUyICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHM6 IGNhbm5vdCBhY2Nlc3MgJy9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQnOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NTMgICAgdmlydGR1dC4x MC4yNDAuMTgzLjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0 LjAvdWV2ZW50CjAzLzA3LzIwMjAgMDE6Mzg6NTMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBEUklWRVI9aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lf U1VCU1lTX0lEPTgwODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFT PXBjaTp2MDAwMDgwODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAz LzA3LzIwMjAgMDE6Mzg6NTMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAtLWNv bG9yPW5ldmVyIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25ldAowMy8wNy8y MDIwIDAxOjM4OjUzICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHM6IGNhbm5vdCBh Y2Nlc3MgJy9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQnOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NTQgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDBcOjA0LjAvdWV2ZW50 CjAzLzA3LzIwMjAgMDE6Mzg6NTQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBEUklW RVI9aWF2Zg0KUENJX0NMQVNTPTIwMDAwDQpQQ0lfSUQ9ODA4NjoxNTRDDQpQQ0lfU1VCU1lTX0lE PTgwODY6MDAwMA0KUENJX1NMT1RfTkFNRT0wMDAwOjAwOjA0LjANCk1PREFMSUFTPXBjaTp2MDAw MDgwODZkMDAwMDE1NENzdjAwMDA4MDg2c2QwMDAwMDAwMGJjMDJzYzAwaTAwCjAzLzA3LzIwMjAg MDE6Mzg6NTQgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAtLWNvbG9yPW5ldmVy IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjAwXDowNC4wL25ldAowMy8wNy8yMDIwIDAxOjM4 OjU0ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogbHM6IGNhbm5vdCBhY2Nlc3MgJy9z eXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQnOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NTUgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiBGYWlsIHRvIGJpbmQgdGhlIGRldmljZSB3aXRoIHRoZSBsaW51eCBkcml2ZXIKMDMvMDcvMjAy MCAwMTozODo1NSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9w Y2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZlbnQKMDMvMDcvMjAyMCAwMTozODo1NiAgICB2 aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERSSVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDAN ClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNfSUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1F PTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYwMDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZz ZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0 MC4xODMuMjQ3OjYwMDI6IGxzIC0tY29sb3I9bmV2ZXIgL3N5cy9idXMvcGNpL2RldmljZXMvMDAw MFw6MDBcOjA0LjAvbmV0CjAzLzA3LzIwMjAgMDE6Mzg6NTYgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBsczogY2Fubm90IGFjY2VzcyAnL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDow MDowNC4wL25ldCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKMDMvMDcvMjAyMCAwMTozODo1 NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGlwIGxpbmsgc2hvdyBOL0EKMDMvMDcv MjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERldmljZSAiTi9B IiBkb2VzIG5vdCBleGlzdC4KMDMvMDcvMjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4x ODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC91ZXZl bnQKMDMvMDcvMjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERS SVZFUj1pYXZmDQpQQ0lfQ0xBU1M9MjAwMDANClBDSV9JRD04MDg2OjE1NEMNClBDSV9TVUJTWVNf SUQ9ODA4NjowMDAwDQpQQ0lfU0xPVF9OQU1FPTAwMDA6MDA6MDQuMA0KTU9EQUxJQVM9cGNpOnYw MDAwODA4NmQwMDAwMTU0Q3N2MDAwMDgwODZzZDAwMDAwMDAwYmMwMnNjMDBpMDAKMDMvMDcvMjAy MCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvc3lzL2J1cy9w Y2kvZGV2aWNlcy8wMDAwXDowMFw6MDQuMC9uZXQvTi9BL2FkZHJlc3MKMDMvMDcvMjAyMCAwMToz ODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdDogJy9zeXMvYnVzL3BjaS9k ZXZpY2VzLzAwMDA6MDA6MDQuMC9uZXQvTi9BL2FkZHJlc3MnOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CjAzLzA3LzIwMjAgMDE6Mzg6NTYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAy OiBpcCAtZmFtaWx5IGluZXQ2IGFkZHJlc3Mgc2hvdyBkZXYgTi9BIHwgYXdrICcvaW5ldDYvIHsg cHJpbnQgJDIgfScKMDMvMDcvMjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3 OjYwMDI6IERldmljZSAiTi9BIiBkb2VzIG5vdCBleGlzdC4KMDMvMDcvMjAyMCAwMTozODo1NiAg ICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGlwIC1mYW1pbHkgaW5ldCBhZGRyZXNzIHNo b3cgZGV2IE4vQSB8IGF3ayAnL2luZXQvIHsgcHJpbnQgJDIgfScKMDMvMDcvMjAyMCAwMTozODo1 NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IERldmljZSAiTi9BIiBkb2VzIG5vdCBl eGlzdC4KMDMvMDcvMjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6 IHsncG9ydCc6IDxuZXRfZGV2aWNlLk5ldERldmljZSBvYmplY3QgYXQgMHg3ZjZmY2M0NjgyNDA+ LCAncGNpJzogJzAwMDA6MDA6MDQuMCcsICd0eXBlJzogJzgwODY6MTU0YycsICdudW1hJzogLTEs ICdpbnRmJzogJ04vQScsICdtYWMnOiAnTi9BJywgJ2lwdjYnOiAnTm90IGNvbm5lY3RlZCcsICdp cHY0JzogJ0RldmljZSAiTid9CjAzLzA3LzIwMjAgMDE6Mzg6NTYgICAgdmlydGR1dC4xMC4yNDAu MTgzLjI0Nzo2MDAyOiBleHBvcnQgUlRFX1RBUkdFVD14ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAz LzA3LzIwMjAgMDE6Mzg6NTYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBleHBvcnQg UlRFX1NESz1gcHdkYAowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4y NDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NTYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBhd2sgJy9IdWdlcGFnZXNpemUvIHtwcmludCAkMn0nIC9wcm9jL21lbWluZm8KMDMvMDcv MjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IDIwNDgKMDMvMDcv MjAyMCAwMTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGF3ayAnL0h1Z2VQ YWdlc19Ub3RhbC8geyBwcmludCAkMiB9JyAvcHJvYy9tZW1pbmZvCjAzLzA3LzIwMjAgMDE6Mzg6 NTYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiA1MTIKMDMvMDcvMjAyMCAwMTozODo1 NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGxzIC9zeXMvZGV2aWNlcy9zeXN0ZW0v bm9kZSB8IGdyZXAgbm9kZSogfCB3YyAtbAowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRkdXQu MTAuMjQwLjE4My4yNDc6NjAwMjogMQowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRkdXQuMTAu MjQwLjE4My4yNDc6NjAwMjogY2F0IGNvbmZpZy9kZWZjb25maWdfeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MgfCBzZWQgJy9eIy9kJyB8IHNlZCAnL15ccyokL2QnCjAzLzA3LzIwMjAgMDE6Mzg6 NTYgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBDT05GSUdfUlRFX01BQ0hJTkU9Im5h dGl2ZSINCkNPTkZJR19SVEVfQVJDSD0ieDg2XzY0Ig0KQ09ORklHX1JURV9BUkNIX1g4Nl82ND15 DQpDT05GSUdfUlRFX0FSQ0hfWDg2PXkNCkNPTkZJR19SVEVfQVJDSF82ND15DQpDT05GSUdfUlRF X1RPT0xDSEFJTj0iZ2NjIg0KQ09ORklHX1JURV9UT09MQ0hBSU5fR0NDPXkKMDMvMDcvMjAyMCAw MTozODo1NiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGF3ayAnL0h1Z2VwYWdlc2l6 ZS8ge3ByaW50ICQyfScgL3Byb2MvbWVtaW5mbwowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRk dXQuMTAuMjQwLjE4My4yNDc6NjAwMjogMjA0OAowMy8wNy8yMDIwIDAxOjM4OjU2ICAgIHZpcnRk dXQuMTAuMjQwLjE4My4yNDc6NjAwMjogZWNobyAwID4gL3N5cy9rZXJuZWwvbW0vaHVnZXBhZ2Vz L2h1Z2VwYWdlcy0yMDQ4a0IvbnJfaHVnZXBhZ2VzCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozODo1NyAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMTAyNCA+IC9zeXMvZGV2aWNlcy9zeXN0ZW0vbm9k ZS9ub2RlMC9odWdlcGFnZXMvaHVnZXBhZ2VzLTIwNDhrQi9ucl9odWdlcGFnZXMKMDMvMDcvMjAy MCAwMTozODo1NyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IAowMy8wNy8yMDIwIDAx OjM4OjU3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogdW1vdW50IGBhd2sgJy9odWdl dGxiZnMvIHsgcHJpbnQgJDIgfScgL3Byb2MvbW91bnRzYAowMy8wNy8yMDIwIDAxOjM4OjU3ICAg IHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBhd2sgJy9odWdldGxiZnMvIHsgcHJpbnQgJDIgfScg L3Byb2MvbW91bnRzCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozODo1NyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IG1rZGlyIC1wIC9tbnQvaHVnZQowMy8wNy8yMDIwIDAxOjM4OjU3ICAgIHZpcnRkdXQuMTAu MjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmlydGR1dC4xMC4yNDAu MTgzLjI0Nzo2MDAyOiBtb3VudCAtdCBodWdldGxiZnMgbm9kZXYgL21udC9odWdlCjAzLzA3LzIw MjAgMDE6Mzg6NTcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAw MTozODo1NyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGNhdCAvcHJvYy9tb3VudHMg fGdyZXAgaHVnZXRsYmZzCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmlydGR1dC4xMC4yNDAuMTgz LjI0Nzo2MDAyOiBub2RldiAvbW50L2h1Z2UgaHVnZXRsYmZzIHJ3LHJlbGF0aW1lLHBhZ2VzaXpl PTJNIDAgMAowMy8wNy8yMDIwIDAxOjM4OjU3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAw Mjogcm1tb2QgdmZpb19wY2kKMDMvMDcvMjAyMCAwMTozODo1NyAgICB2aXJ0ZHV0LjEwLjI0MC4x ODMuMjQ3OjYwMDI6IHJtbW9kOiBFUlJPUjogTW9kdWxlIHZmaW9fcGNpIGlzIG5vdCBjdXJyZW50 bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6Mzg6NTcgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2 MDAyOiBybW1vZCB2ZmlvX2lvbW11X3R5cGUxCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZDogRVJST1I6IE1vZHVsZSB2ZmlvX2lvbW11X3R5 cGUxIGlzIG5vdCBjdXJyZW50bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAgdmlydGR1 dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZCB2ZmlvCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBybW1vZDogRVJST1I6IE1vZHVsZSB2ZmlvIGlz IG5vdCBjdXJyZW50bHkgbG9hZGVkCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAgdmlydGR1dC4xMC4y NDAuMTgzLjI0Nzo2MDAyOiBtb2Rwcm9iZSB2ZmlvCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAgdmly dGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozODo1OCAgICB2aXJ0ZHV0 LjEwLjI0MC4xODMuMjQ3OjYwMDI6IG1vZHByb2JlIHZmaW8tcGNpCjAzLzA3LzIwMjAgMDE6Mzg6 NTggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiAKMDMvMDcvMjAyMCAwMTozODo1OCAg ICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IGVjaG8gMSA+IC9zeXMvbW9kdWxlL3ZmaW8v cGFyYW1ldGVycy9lbmFibGVfdW5zYWZlX25vaW9tbXVfbW9kZQowMy8wNy8yMDIwIDAxOjM4OjU4 ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3LzIwMjAgMDE6Mzg6NTggICAg dmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBscyAvc3lzL21vZHVsZXxncmVwIHZmaW9fcGNp CjAzLzA3LzIwMjAgMDE6Mzg6NTggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiB2Zmlv X3BjaQowMy8wNy8yMDIwIDAxOjM4OjU4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjog bHMKMDMvMDcvMjAyMCAwMTozODo1OCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IEFC SV9WRVJTSU9OICBhcHAgIGJ1aWxkdG9vbHMgIGNvbmZpZyAgZGV2dG9vbHMJZG9jICBkcGRrLmxv ZyAgZHJpdmVycwlleGFtcGxlcyAgR05VbWFrZWZpbGUgIGtlcm5lbCAgbGliICBsaWNlbnNlICBN QUlOVEFJTkVSUyAgTWFrZWZpbGUgIG1lc29uLmJ1aWxkICBtZXNvbl9vcHRpb25zLnR4dCAgbWsJ UkVBRE1FCXVzZXJ0b29scyAgVkVSU0lPTiAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKMDMv MDcvMjAyMCAwMTozODo1OCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHVzZXJ0b29s cy9kcGRrLWRldmJpbmQucHkgLS1mb3JjZSAtLWJpbmQ9dmZpby1wY2kgMDAwMDowMDowNC4wIAow My8wNy8yMDIwIDAxOjM4OjU4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogCjAzLzA3 LzIwMjAgMDE6Mzg6NTggICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiAuL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2FwcC90ZXN0cG1kIC1sIDEsMiAtbiA0IC13IDAwMDA6ODM6MDAu MCAtdyAwMDAwOjgzOjAwLjEgIC0tZmlsZS1wcmVmaXg9ZHBka182ODUzXzIwMjAwNzAzMDEyMTAx ICAgLS0gLWkgLS1wa3QtZmlsdGVyLW1vZGU9cGVyZmVjdCAtLXBvcnQtdG9wb2xvZ3k9Y2hhaW5l ZCAgICAgICAgICAgICAtLXR4cT02NCAtLXJ4cT02NAowMy8wNy8yMDIwIDAxOjM5OjAwICAgICAg ICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogRUFMOiBEZXRlY3RlZCA3MiBsY29yZShzKQ0KRUFM OiBEZXRlY3RlZCAyIE5VTUEgbm9kZXMNCkVBTDogTXVsdGktcHJvY2VzcyBzb2NrZXQgL3Zhci9y dW4vZHBkay9kcGRrXzY4NTNfMjAyMDA3MDMwMTIxMDEvbXBfc29ja2V0DQpFQUw6IFNlbGVjdGVk IElPVkEgbW9kZSAnUEEnDQpFQUw6IFByb2JpbmcgVkZJTyBzdXBwb3J0Li4uDQpFQUw6IFZGSU8g c3VwcG9ydCBpbml0aWFsaXplZA0KRUFMOiBQcm9iZSBQQ0kgZHJpdmVyOiBuZXRfaTQwZSAoODA4 NjoxNThiKSBkZXZpY2U6IDAwMDA6ODM6MDAuMCAoc29ja2V0IDEpDQpFQUw6IFByb2JlIFBDSSBk cml2ZXI6IG5ldF9pNDBlICg4MDg2OjE1OGIpIGRldmljZTogMDAwMDo4MzowMC4xIChzb2NrZXQg MSkNCkVBTDogTm8gbGVnYWN5IGNhbGxiYWNrcywgbGVnYWN5IHNvY2tldCBub3QgY3JlYXRlZA0K SW50ZXJhY3RpdmUtbW9kZSBzZWxlY3RlZA0KdGVzdHBtZDogY3JlYXRlIGEgbmV3IG1idWYgcG9v bCA8bWJ1Zl9wb29sX3NvY2tldF8wPjogbj0xNTU0NTYsIHNpemU9MjE3Niwgc29ja2V0PTANCnRl c3RwbWQ6IHByZWZlcnJlZCBtZW1wb29sIG9wcyBzZWxlY3RlZDogcmluZ19tcF9tYw0KdGVzdHBt ZDogY3JlYXRlIGEgbmV3IG1idWYgcG9vbCA8bWJ1Zl9wb29sX3NvY2tldF8xPjogbj0xNTU0NTYs IHNpemU9MjE3Niwgc29ja2V0PTENCnRlc3RwbWQ6IHByZWZlcnJlZCBtZW1wb29sIG9wcyBzZWxl Y3RlZDogcmluZ19tcF9tYw0KQ29uZmlndXJpbmcgUG9ydCAwIChzb2NrZXQgMSkNCmk0MGVfcGZf aG9zdF9zZW5kX21zZ190b192ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEy DQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2DQpDb25maWd1cmluZyBQb3J0IDEgKHNvY2tldCAx KQ0KUG9ydCAxOiAzQzpGRDpGRTpBMzpBMDo5Nw0KQ2hlY2tpbmcgbGluayBzdGF0dXNlcy4uLg0K RG9uZQowMy8wNy8yMDIwIDAxOjM5OjEwICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzog cG9ydCBzdG9wIGFsbAowMy8wNy8yMDIwIDAxOjM5OjExICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogcG9ydCBzdG9wIGFsbA0NClN0b3BwaW5nIHBvcnRzLi4uDQppNDBlX3BmX2hvc3Rf c2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYsIGVyciAxMg0KDQpQ b3J0IDA6IGxpbmsgc3RhdGUgY2hhbmdlIGV2ZW50DQppNDBlX3BmX2hvc3Rfc2VuZF9tc2dfdG9f dmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYsIGVyciAxMg0KQ2hlY2tpbmcgbGluayBz dGF0dXNlcy4uLg0KaTQwZV9wZl9ob3N0X3NlbmRfbXNnX3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBt ZXNzYWdlIHRvIFZGLCBlcnIgMTINCg0KUG9ydCAxOiBsaW5rIHN0YXRlIGNoYW5nZSBldmVudA0K RG9uZQowMy8wNy8yMDIwIDAxOjM5OjEyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzog ZGRwIGdldCBsaXN0IDAKMDMvMDcvMjAyMCAwMTozOToxMiAgICAgICAgICAgICBkdXQuMTAuMjQw LjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwDQ0KUHJvZmlsZSBudW1iZXIgaXM6IDANCgowMy8wNy8y MDIwIDAxOjM5OjEyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGFkZCAwIC90 bXAvZ3RwLnBrZ28sL3RtcC9ndHAuYmFrCjAzLzA3LzIwMjAgMDE6Mzk6MTIgICAgICAgICAgICAg ZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgYWRkIDAgL3RtcC9ndHAucGtnbywvdG1wL2d0cC5iYWsN CjAzLzA3LzIwMjAgMDE6Mzk6MTIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAg Z2V0IGxpc3QgMAowMy8wNy8yMDIwIDAxOjM5OjEyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogZGRwIGdldCBsaXN0IDANDQpQcm9maWxlIG51bWJlciBpczogMQ0KDQpQcm9maWxlIDA6 DQpUcmFjayBpZDogICAgIDB4ODAwMDAwMDgNClZlcnNpb246ICAgICAgMS4wLjMuMA0KUHJvZmls ZSBuYW1lOiBHVFB2MS1DL1UgSVB2NC9JUHY2IHBheWxvYWQNCgowMy8wNy8yMDIwIDAxOjM5OjEy ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCBzdGFydCBhbGwKMDMvMDcvMjAy MCAwMTozOToxMyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RhcnQgYWxs DQ0KaTQwZV9wZl9ob3N0X3NlbmRfbXNnX3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBtZXNzYWdlIHRv IFZGLCBlcnIgMTINClBvcnQgMDogM0M6RkQ6RkU6QTM6QTA6OTYNClBvcnQgMTogM0M6RkQ6RkU6 QTM6QTA6OTcNCkNoZWNraW5nIGxpbmsgc3RhdHVzZXMuLi4NCkRvbmUKMDMvMDcvMjAyMCAwMToz OToxNCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHNldCBmd2Qgcnhvbmx5CjAzLzA3 LzIwMjAgMDE6Mzk6MTQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzZXQgZndkIHJ4 b25seQ0NClNldCByeG9ubHkgcGFja2V0IGZvcndhcmRpbmcgbW9kZQowMy8wNy8yMDIwIDAxOjM5 OjE0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc2V0IHZlcmJvc2UgMQowMy8wNy8y MDIwIDAxOjM5OjE0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc2V0IHZlcmJvc2Ug MQ0NCkNoYW5nZSB2ZXJib3NlIGxldmVsIGZyb20gMCB0byAxCjAzLzA3LzIwMjAgMDE6Mzk6MTQg ICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzdGFydAowMy8wNy8yMDIwIDAxOjM5OjE0 ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RhcnQNDQoNClBvcnQgMTogbGluayBz dGF0ZSBjaGFuZ2UgZXZlbnQNCnJ4b25seSBwYWNrZXQgZm9yd2FyZGluZyAtIHBvcnRzPTIgLSBj b3Jlcz0xIC0gc3RyZWFtcz0xMjggLSBOVU1BIHN1cHBvcnQgZW5hYmxlZCwgTVAgYWxsb2NhdGlv biBtb2RlOiBuYXRpdmUNCkxvZ2ljYWwgQ29yZSAyIChzb2NrZXQgMCkgZm9yd2FyZHMgcGFja2V0 cyBvbiAxMjggc3RyZWFtczoNCiAgUlggUD0wL1E9MCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTAg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTAgKHNvY2tldCAx KSAtPiBUWCBQPTAvUT0wIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT0xIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MSAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6 MDA6MDA6MDENCiAgUlggUD0xL1E9MSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTEgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTIgKHNvY2tldCAxKSAtPiBUWCBQ PTEvUT0yIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yIChz b2NrZXQgMSkgLT4gVFggUD0wL1E9MiAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDAN CiAgUlggUD0wL1E9MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT0zIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00IChzb2NrZXQgMSkg LT4gVFggUD0xL1E9NCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0x L1E9NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTUgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT01IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01IChzb2NrZXQgMSkgLT4gVFggUD0w L1E9NSAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9NiAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTYgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT02IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT03IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NyAoc29j a2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9NyAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTggKHNvY2tldCAxKSAtPiBUWCBQPTEvUT04IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT04IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9OCAoc29ja2V0IDEpIHBl ZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9OSAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTkgKHNvY2tl dCAxKSAtPiBUWCBQPTAvUT05IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT0xMCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTEwIChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xMCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTEwIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xMSAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTExIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT0xMSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTExIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT0xMiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTEyIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xMiAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTEyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT0xMyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTEzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT0xMyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTEzIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xNCAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTE0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0x NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT0xNSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTE1IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xNSAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTE1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xNiAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTE2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT0xNiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE2IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xNyAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTE3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xNyAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTE3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT0xOCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTE4IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0xOCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE4 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0xOSAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTE5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT0xOSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTE5IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yMCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIwIChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yMCAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTIwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT0yMSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIxIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT0yMSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTIxIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yMiAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTIyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT0yMiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTIyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT0yMyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIzIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yMyAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTIzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0y NCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT0yNCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTI0IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yNSAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTI1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yNSAo c29ja2V0IDEpIC0+IFRYIFA9MC9RPTI1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MA0KICBSWCBQPTAvUT0yNiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI2IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yNiAoc29ja2V0IDEpIC0+IFRYIFA9MC9R PTI2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yNyAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTI3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0K ICBSWCBQPTEvUT0yNyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTI3IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yOCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI4 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yOCAoc29ja2V0 IDEpIC0+IFRYIFA9MC9RPTI4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT0yOSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTI5IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0yOSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTI5IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zMCAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTMwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT0zMCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMwIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT0zMSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMxIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zMSAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTMxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT0zMiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTMyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT0zMiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMyIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zMyAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTMzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0z MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT0zNCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTM0IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zNCAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTM0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zNSAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTM1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT0zNSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM1IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zNiAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTM2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zNiAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTM2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT0zNyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTM3IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zNyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM3 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zOCAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTM4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT0zOCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTM4IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zOSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTM5IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT0zOSAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTM5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT00MCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQwIChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT00MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQwIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00MSAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTQxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT00MSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT00MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQyIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00MiAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTQyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00 MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT00MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQzIChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00NCAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTQ0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00NCAo c29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MA0KICBSWCBQPTAvUT00NSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ1IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00NSAoc29ja2V0IDEpIC0+IFRYIFA9MC9R PTQ1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00NiAoc29j a2V0IDEpIC0+IFRYIFA9MS9RPTQ2IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0K ICBSWCBQPTEvUT00NiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ2IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00NyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ3 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00NyAoc29ja2V0 IDEpIC0+IFRYIFA9MC9RPTQ3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBS WCBQPTAvUT00OCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTQ4IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00OCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ4IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT00OSAoc29ja2V0IDEp IC0+IFRYIFA9MS9RPTQ5IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT00OSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTQ5IChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMA0KICBSWCBQPTAvUT01MCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUwIChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01MCAoc29ja2V0IDEpIC0+ IFRYIFA9MC9RPTUwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAv UT01MSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMQ0KICBSWCBQPTEvUT01MSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTUxIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01MiAoc29ja2V0IDEpIC0+IFRY IFA9MS9RPTUyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01 MiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTUyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT01MyAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUzIChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01MyAoc29ja2V0IDEpIC0+IFRYIFA9 MC9RPTUzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01NCAo c29ja2V0IDEpIC0+IFRYIFA9MS9RPTU0IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MQ0KICBSWCBQPTEvUT01NCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU0IChzb2NrZXQgMSkgcGVl cj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01NSAoc29ja2V0IDEpIC0+IFRYIFA9MS9R PTU1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01NSAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTU1IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0K ICBSWCBQPTAvUT01NiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU2IChzb2NrZXQgMSkgcGVlcj0w MjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01NiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU2 IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT01NyAoc29ja2V0 IDEpIC0+IFRYIFA9MS9RPTU3IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBS WCBQPTEvUT01NyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU3IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMA0KICBSWCBQPTAvUT01OCAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU4IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT01OCAoc29ja2V0IDEp IC0+IFRYIFA9MC9RPTU4IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQ PTAvUT01OSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTU5IChzb2NrZXQgMSkgcGVlcj0wMjowMDow MDowMDowMDowMQ0KICBSWCBQPTEvUT01OSAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTU5IChzb2Nr ZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02MCAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTYwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEv UT02MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTYwIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDow MDowMDowMA0KICBSWCBQPTAvUT02MSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYxIChzb2NrZXQg MSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT02MSAoc29ja2V0IDEpIC0+IFRY IFA9MC9RPTYxIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02 MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTYyIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMQ0KICBSWCBQPTEvUT02MiAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTYyIChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02MyAoc29ja2V0IDEpIC0+IFRYIFA9 MS9RPTYzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT02MyAo c29ja2V0IDEpIC0+IFRYIFA9MC9RPTYzIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDow MA0KDQogIHJ4b25seSBwYWNrZXQgZm9yd2FyZGluZyBwYWNrZXRzL2J1cnN0PTMyDQogIG5iIGZv cndhcmRpbmcgY29yZXM9MSAtIG5iIGZvcndhcmRpbmcgcG9ydHM9Mg0KICBwb3J0IDA6IFJYIHF1 ZXVlIG51bWJlcjogNjQgVHggcXVldWUgbnVtYmVyOiA2NA0KICAgIFJ4IG9mZmxvYWRzPTB4MCBU eCBvZmZsb2Fkcz0weDEwMDAwDQogICAgUlggcXVldWU6IDANCiAgICAgIFJYIGRlc2M9MjU2IC0g UlggZnJlZSB0aHJlc2hvbGQ9MzINCiAgICAgIFJYIHRocmVzaG9sZCByZWdpc3RlcnM6IHB0aHJl c2g9OCBodGhyZXNoPTggIHd0aHJlc2g9MA0KICAgICAgUlggT2ZmbG9hZHM9MHgwDQogICAgVFgg cXVldWU6IDANCiAgICAgIFRYIGRlc2M9MjU2IC0gVFggZnJlZSB0aHJlc2hvbGQ9MzINCiAgICAg IFRYIHRocmVzaG9sZCByZWdpc3RlcnM6IHB0aHJlc2g9MzIgaHRocmVzaD0wICB3dGhyZXNoPTAN CiAgICAgIFRYIG9mZmxvYWRzPTB4MTAwMDAgLSBUWCBSUyBiaXQgdGhyZXNob2xkPTMyDQogIHBv cnQgMTogUlggcXVldWUgbnVtYmVyOiA2NCBUeCBxdWV1ZSBudW1iZXI6IDY0DQogICAgUnggb2Zm bG9hZHM9MHgwIFR4IG9mZmxvYWRzPTB4MTAwMDANCiAgICBSWCBxdWV1ZTogMA0KICAgICAgUlgg ZGVzYz0yNTYgLSBSWCBmcmVlIHRocmVzaG9sZD0zMg0KICAgICAgUlggdGhyZXNob2xkIHJlZ2lz dGVyczogcHRocmVzaD04IGh0aHJlc2g9OCAgd3RocmVzaD0wDQogICAgICBSWCBPZmZsb2Fkcz0w eDANCiAgICBUWCBxdWV1ZTogMA0KICAgICAgVFggZGVzYz0yNTYgLSBUWCBmcmVlIHRocmVzaG9s ZD0zMg0KICAgICAgVFggdGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD0zMiBodGhyZXNoPTAg IHd0aHJlc2g9MA0KICAgICAgVFggb2ZmbG9hZHM9MHgxMDAwMCAtIFRYIFJTIGJpdCB0aHJlc2hv bGQ9MzIKMDMvMDcvMjAyMCAwMTozOToxNiAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6 IC4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWwgMCwxLDIsMyw0LDUs Niw3IC1uIDEgLXcgMDAwMDowMDowNC4wICAtLWZpbGUtcHJlZml4PWRwZGtfNjg1M18yMDIwMDcw MzAxMzg0MyAgIC0tIC1pIC0tcG9ydC10b3BvbG9neT1jaGFpbmVkIC0tdHhxPTQgLS1yeHE9NAow My8wNy8yMDIwIDAxOjM5OjE4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogRUFMOiBE ZXRlY3RlZCA4IGxjb3JlKHMpDQpFQUw6IERldGVjdGVkIDEgTlVNQSBub2Rlcw0KRUFMOiBNdWx0 aS1wcm9jZXNzIHNvY2tldCAvdmFyL3J1bi9kcGRrL2RwZGtfNjg1M18yMDIwMDcwMzAxMzg0My9t cF9zb2NrZXQNCkVBTDogU2VsZWN0ZWQgSU9WQSBtb2RlICdQQScNCkVBTDogTm8gYXZhaWxhYmxl IGh1Z2VwYWdlcyByZXBvcnRlZCBpbiBodWdlcGFnZXMtMTA0ODU3NmtCDQpFQUw6IFByb2Jpbmcg VkZJTyBzdXBwb3J0Li4uDQpFQUw6IFZGSU8gc3VwcG9ydCBpbml0aWFsaXplZA0KRUFMOiAgIElu dmFsaWQgTlVNQSBzb2NrZXQsIGRlZmF1bHQgdG8gMA0KRUFMOiAgIHVzaW5nIElPTU1VIHR5cGUg OCAoTm8tSU9NTVUpDQpFQUw6IFByb2JlIFBDSSBkcml2ZXI6IG5ldF9pNDBlX3ZmICg4MDg2OjE1 NGMpIGRldmljZTogMDAwMDowMDowNC4wIChzb2NrZXQgMCkNCkVBTDogTm8gbGVnYWN5IGNhbGxi YWNrcywgbGVnYWN5IHNvY2tldCBub3QgY3JlYXRlZA0KSW50ZXJhY3RpdmUtbW9kZSBzZWxlY3Rl ZA0KdGVzdHBtZDogY3JlYXRlIGEgbmV3IG1idWYgcG9vbCA8bWJ1Zl9wb29sX3NvY2tldF8wPjog bj0yMDM0NTYsIHNpemU9MjE3Niwgc29ja2V0PTANCnRlc3RwbWQ6IHByZWZlcnJlZCBtZW1wb29s IG9wcyBzZWxlY3RlZDogcmluZ19tcF9tYw0KQ29uZmlndXJpbmcgUG9ydCAwIChzb2NrZXQgMCkN ClBvcnQgMDogMUU6MDg6QTQ6NDI6OUE6RTINCkNoZWNraW5nIGxpbmsgc3RhdHVzZXMuLi4NCkRv bmUKMDMvMDcvMjAyMCAwMTozOToyOCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHNl dCBmd2Qgcnhvbmx5CjAzLzA3LzIwMjAgMDE6Mzk6MjggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBzZXQgZndkIHJ4b25seQ0NClNldCByeG9ubHkgcGFja2V0IGZvcndhcmRpbmcgbW9k ZQowMy8wNy8yMDIwIDAxOjM5OjI4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogc2V0 IHZlcmJvc2UgMQowMy8wNy8yMDIwIDAxOjM5OjI4ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6 NjAwMjogc2V0IHZlcmJvc2UgMQ0NCkNoYW5nZSB2ZXJib3NlIGxldmVsIGZyb20gMCB0byAxCjAz LzA3LzIwMjAgMDE6Mzk6MjggICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBzdGFydAow My8wNy8yMDIwIDAxOjM5OjI5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogc3RhcnQN DQpyeG9ubHkgcGFja2V0IGZvcndhcmRpbmcgLSBwb3J0cz0xIC0gY29yZXM9MSAtIHN0cmVhbXM9 NCAtIE5VTUEgc3VwcG9ydCBlbmFibGVkLCBNUCBhbGxvY2F0aW9uIG1vZGU6IG5hdGl2ZQ0KTG9n aWNhbCBDb3JlIDEgKHNvY2tldCAwKSBmb3J3YXJkcyBwYWNrZXRzIG9uIDQgc3RyZWFtczoNCiAg UlggUD0wL1E9MCAoc29ja2V0IDApIC0+IFRYIFA9MC9RPTAgKHNvY2tldCAwKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEgKHNvY2tldCAwKSAtPiBUWCBQPTAvUT0xIChzb2Nr ZXQgMCkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0yIChzb2NrZXQgMCkgLT4g VFggUD0wL1E9MiAoc29ja2V0IDApIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9 MyAoc29ja2V0IDApIC0+IFRYIFA9MC9RPTMgKHNvY2tldCAwKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQoNCiAgcnhvbmx5IHBhY2tldCBmb3J3YXJkaW5nIHBhY2tldHMvYnVyc3Q9MzINCiAgbmIg Zm9yd2FyZGluZyBjb3Jlcz0xIC0gbmIgZm9yd2FyZGluZyBwb3J0cz0xDQogIHBvcnQgMDogUlgg cXVldWUgbnVtYmVyOiA0IFR4IHF1ZXVlIG51bWJlcjogNA0KICAgIFJ4IG9mZmxvYWRzPTB4MCBU eCBvZmZsb2Fkcz0weDANCiAgICBSWCBxdWV1ZTogMA0KICAgICAgUlggZGVzYz01MTIgLSBSWCBm cmVlIHRocmVzaG9sZD0zMg0KICAgICAgUlggdGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD04 IGh0aHJlc2g9OCAgd3RocmVzaD0wDQogICAgICBSWCBPZmZsb2Fkcz0weDANCiAgICBUWCBxdWV1 ZTogMA0KICAgICAgVFggZGVzYz01MTIgLSBUWCBmcmVlIHRocmVzaG9sZD0zMg0KICAgICAgVFgg dGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD0zMiBodGhyZXNoPTAgIHd0aHJlc2g9MA0KICAg ICAgVFggb2ZmbG9hZHM9MHgwIC0gVFggUlMgYml0IHRocmVzaG9sZD0zMgowMy8wNy8yMDIwIDAx OjM5OjI5ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZmxvdyBjcmVhdGUgMCBpbmdy ZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAgICAgICAgICBndHB1IHRlaWQg aXMgMHhlNGU5YjBlOCAvIGVuZCBhY3Rpb25zIHZmIGlkIDAgLyBxdWV1ZSBpbmRleCAxIC8gZW5k CjAzLzA3LzIwMjAgMDE6Mzk6MjkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBmbG93 IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAgICAgICAgICAg ICAgIGd0cHUgdGVpZCBpcyAweGU0ZTliMGU4IC8gZW5kIGFjdGlvbnMgdmYgaWQgMCAvIHF1ZXVl IGluZGV4IDEgLyBlbmQNDQpGbG93IHJ1bGUgIzAgY3JlYXRlZAowMy8wNy8yMDIwIDAxOjM5OjI5 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTozOToz MCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjog Q291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2Vy dmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xp YjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9n dGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0 ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlw ZS5GTEVVUiksDQoNCihzY2FweToyMzg5NSk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAb WzM0bTAxOjM5OjMwLjUwNRtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRp b24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGlt cG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBt DQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6 OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24g bm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRv Q29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BD WS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0g YXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZl cnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAg ICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9w ICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20v c2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQ Ly8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8v QSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9B G1swbRtbMzRtG1sxbSAgIHwgV2FubmEgc3VwcG9ydCBzY2FweT8gUmF0ZSBpdCBvbhtbMG0NChtb MzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRtG1sx bSAgIHwgc2VjdG9vbHMhG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAg ICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCBodHRwOi8vc2VjdG9vbHMub3JnL3Rvb2wvc2Nh cHkvG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEb WzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAtLSBTYXRvc2hpIE5ha2Ftb3RvG1swbQ0KG1sz Mm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8y MDIwIDAxOjM5OjMyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNGU5YjBlOCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM5OjMyICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 Mzk6MzIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2 KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTRlOWIwZTgpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTozOTozMiAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM5OjM0 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6Mzk6 MzUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTozOTo0MCAg ICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHBvcnQgMC9xdWV1ZSAxOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBS ZWNlaXZlIHF1ZXVlPTB4MQ0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDENCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KCjAzLzA3LzIwMjAgMDE6Mzk6NDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiBzY2FweQowMy8wNy8yMDIwIDAxOjM5OjQyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiBy ZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0 aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0 cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzog R2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdk ay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjIzOTEzKTogR2Rr LRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6Mzk6NDEuOTA2G1swbTogZ2RrX2N1cnNv cl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBm YWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2Ug cHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZv dW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0K G1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQ eXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxl ZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8v WUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5 eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29t ZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBz eVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFz QVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQob WzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtb MW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAg ICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0b WzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAg ICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBXZSBhcmUgaW4gRnJh bmNlLCB3ZSBzYXkgU2thcHBlZS4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8v L3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IE9LPyBNZXJjaS4bWzBtDQobWzMybRtb MW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8 ICAgICAgICAgICAgIC0tIFNlYmFzdGllbiBDaGFiYWwbWzBtDQobWzMybRtbMW0gICAgICAgY2F5 Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMybRtbMW0g ICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTozOTo0NCAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0w eDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNGU5YjBlOCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM5OjQ0ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6Mzk6NDQg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQ KGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNGU5YjBlOCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjM5OjQ0ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6Mzk6NDYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAy MCAwMTozOTo0NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAx OjM5OjUxICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDE6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFJlY2VpdmUgcXVldWU9MHgxDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAxOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9z ZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MQ0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTozOTo1MSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6Mzk6NTMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25u ZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6 IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNr YWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25X YXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAg ICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjM5 MzIpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTozOTo1My4zMDYbWzBtOiBn ZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlz cGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxl IHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8g cm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtb MG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0 YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJl IGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAg ICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAg fCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAg ICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0b WzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1sw bRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJt G1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAg IHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtb MG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8v L0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IFdhbm5h IHN1cHBvcnQgc2NhcHk/IFJhdGUgaXQgb24bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8v L3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IHNlY3Rvb2xzIRtbMG0NChtb MzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sx bSAgIHwgaHR0cDovL3NlY3Rvb2xzLm9yZy90b29sL3NjYXB5LxtbMG0NChtbMzJtG1sxbSAgICAg ICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbRtbMzRtG1sxbSAgIHwgICAgICAg ICAgICAgLS0gU2F0b3NoaSBOYWthbW90bxtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8v L1lDYyAgICAgICAgICBhQy8vWXAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAg ICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTozOTo1NSAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTRlOWIwZWEpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIy NWYwIikKMDMvMDcvMjAyMCAwMTozOTo1NSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjM5OjU1ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weGU0ZTliMGVhKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6Mzk6NTUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTozOTo1NyAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjM5OjU4ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDA6MDMgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0 Nzo2MDAyOiBwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3Ro PTcwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjQw OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0 MDowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZl cjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQg c2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2Fs L2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2Vu ZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJl Y2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29y VHlwZS5GTEVVUiksDQoNCihzY2FweToyMzk1MCk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoq OiAbWzM0bTAxOjQwOjA0LjcwMRtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3Nl cnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0 IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4b WzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlv biA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRo b24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpB dXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sx bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBz Y3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtb MW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8 IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAg ICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZ Ly9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5j b20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAg IHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAg QS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0b WzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBB Ly9BG1swbRtbMzRtG1sxbSAgIHwgV2FubmEgc3VwcG9ydCBzY2FweT8gUmF0ZSBpdCBvbhtbMG0N ChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRt G1sxbSAgIHwgc2VjdG9vbHMhG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCBodHRwOi8vc2VjdG9vbHMub3JnL3Rvb2wv c2NhcHkvG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkv WWEbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAtLSBTYXRvc2hpIE5ha2Ftb3RvG1swbQ0K G1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtG1szNG0b WzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lT cyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8w Ny8yMDIwIDAxOjQwOjA2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlNGU5YjBlOCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjA3ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6NDA6MDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UHY2KCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTRlOWIwZTgpL1Jhdygi WCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDowNyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQw OjA5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6 NDA6MDkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTo0MDox NCAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTgg LSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAv cXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0x IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9M NF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9V TktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDA6MTQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMu MjQ3OiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAg ICAgICAgICAgICAgIGd0cHUgdGVpZCBpcyAweDRkNDExOWE1IC8gZW5kIGFjdGlvbnMgdmYgaWQg MCAvIHF1ZXVlIGluZGV4IDIgLyBlbmQKMDMvMDcvMjAyMCAwMTo0MDoxNCAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGV0aCAvIGlw djQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgZ3RwdSB0ZWlkIGlzIDB4NGQ0MTE5YTUgLyBlbmQg YWN0aW9ucyB2ZiBpZCAwIC8gcXVldWUgaW5kZXggMiAvIGVuZA0NCkZsb3cgcnVsZSAjMSBjcmVh dGVkCjAzLzA3LzIwMjAgMDE6NDA6MTQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz Y2FweQowMy8wNy8yMDIwIDAxOjQwOjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog VW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1 c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9u IHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxv dGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2Rr LkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5D dXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjIzOTc3KTogR2RrLRtb MTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDA6MTYuMTcyG1swbTogZ2RrX2N1cnNvcl9u ZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWls ZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNk dW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5k IGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1sz M20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRo b24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4b WzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAb WzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFT YSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZ Ly8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0 byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkv L0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZ WVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMy bRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0g ICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAg ICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFt ICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAg ICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQ Ly8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBwYWNrZXRzIGxp a2UgSSBjcmFmdCBteSBiZWVyLhtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8v cCAgICAgICAgICBwLy9ZG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAtLSBKZWFuIERl IENsZXJjaxtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBT Ly9QG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAg ICAgICAgICAgICBwWS9ZYRtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAg ICAgICBhQy8vWXAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlD UC8vWVNzICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3Bz ICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBt CjAzLzA3LzIwMjAgMDE6NDA6MTggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5k cChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkNDEx OWE1KS9JUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 MDoxOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQwOjE4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlh NSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDA6MTggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0MDoxOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0 MTE5YTUpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8y MDIwIDAxOjQwOjE4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBh Y2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6MTggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eDRkNDExOWE1KS9JUCgpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMv MDcvMjAyMCAwMTo0MDoxOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQg MSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQwOjE4ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHg0ZDQxMTlhNSkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQwOjE4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6MTggICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFk ZXIodGVpZD0weDRkNDExOWE1KS9JUCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MTggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDoxOCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDoxOSAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MTkgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDoxOSAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MTkgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDoxOSAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9UQ1AoKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MTkgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDox OSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9V RFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9TQ1RQKCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjE5ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6NDA6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5YTUpL0lQKCkv SUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDox OSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjQwOjIxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAz LzA3LzIwMjAgMDE6NDA6MjIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcv MjAyMCAwMTo0MDoyNyAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHBvcnQgMC9xdWV1 ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIw IC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkw IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVl dWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xl bj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMDIgLSBuYl9z ZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0g bGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDIN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBS ZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTE4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZl IHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NL U1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjog cmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpG RjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEyMiAtIG5iX3NlZ3M9MSAtIHN3IHB0 eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBs NF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1f R09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiAN CnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAw OjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0g bmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDA6MjcgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQwOjI4ICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDog Q29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25u ZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUt cGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0 aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6 ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5 OjIzOTk1KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDA6MjguNDQzG1sw bTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkg KGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUg YWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6 IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRl PykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2lu ZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5 IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAg ICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sx bSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1Bw ICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtb MzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8v WRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQob WzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtb MW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8v L0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAg IHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBU byBjcmFmdCBhIHBhY2tldCwgeW91IGhhdmUgdG8gYmUgYRtbMG0NChtbMzJtG1sxbSAgICAgICBz Y2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRtG1sxbSAgIHwgcGFja2V0LCBh bmQgbGVhcm4gaG93IHRvIHN3aW0gaW4bWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kg IGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8IHRoZSB3aXJlcyBhbmQgaW4gdGhl IHdhdmVzLhtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZ L1lhG1swbRtbMzRtG1sxbSAgIHwgICAgICAgIC0tIEplYW4tQ2xhdWRlIFZhbiBEYW1tZRtbMG0N ChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbRtbMzRt G1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9Z U3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMv MDcvMjAyMCAwMTo0MDozMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHg0ZDQxMTlhNSkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDA6MzAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDozMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MzAgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDozMCAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEy MzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9VRFAoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MzAgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MDozMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQx MTlhNSkvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDA6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0MDozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6MzEgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtzdW09MHgxMjM0 LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5YTUpL0lQKCkvSUNNUCgpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDozMSAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjQwOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2 NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0 MTE5YTUpL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAx OjQwOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMu CjAzLzA3LzIwMjAgMDE6NDA6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5k cChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDozMSAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkNDExOWE1KS9JUCgpL1VEUCgpL1Jhdygi WCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDozMSAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQw OjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2Nigp L1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5 YTUpL0lQKCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQwOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDA6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6MzEgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEy MzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvSVAoKS9JQ01QKCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjMxICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6NDA6MzMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAy MCAwMTo0MDozNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAx OjQwOjM5ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDI6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9z ZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0g bGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDIN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBS ZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEwMiAtIG5iX3NlZ3M9MSAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9 OTggLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJf bGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9m bGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09V VEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHg4NmRkIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUg cXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0 X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBu Yl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0 IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRk IC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9 MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04 IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBuYl9zZWdz PTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTo0MDozOSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6NDA6NDAgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0 aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENv bm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdl cy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJu aW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAg ICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjQwMTQp OiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTo0MDo0MC43MDMbWzBtOiBnZGtf Y3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxh eSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRv IHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91 dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0b WzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5k YXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRp c2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICBh U1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAg YXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBX ZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAg ICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFt IEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtb MzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sx bSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0b WzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8vL0Fj ICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IFRvIGNyYWZ0 IGEgcGFja2V0LCB5b3UgaGF2ZSB0byBiZSBhG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3Av Ly9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCBwYWNrZXQsIGFuZCBsZWFy biBob3cgdG8gc3dpbSBpbhtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAg ICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgdGhlIHdpcmVzIGFuZCBpbiB0aGUgd2F2ZXMu G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBt G1szNG0bWzFtICAgfCAgICAgICAgLS0gSmVhbi1DbGF1ZGUgVmFuIERhbW1lG1swbQ0KG1szMm0b WzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIw IDAxOjQwOjQyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNykvSVAoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MDo0MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5YTcpL0lQKGZyYWc9 NSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjQzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDA6NDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkNDExOWE3KS9JUCgp L1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDo0 MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNykv SVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 NDA6NDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTo0MDo0MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5 YTcpL0lQKCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0MDo0MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg0 ZDQxMTlhNykvSVAoKS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4NGQ0MTE5YTcpL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4NGQ0MTE5YTcpL0lQKGZyYWc9NSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4NGQ0MTE5YTcpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dU UF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5YTcpL0lQKCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjQzICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NDMgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NGQ0MTE5YTcpL0lQKCkvU0NUUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MDo0MyAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQwOjQzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkNDExOWE3KS9JUCgpL0lDTVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6NDQgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 MDo0NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAx OjQwOjQ2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDA6 NTEgICAgdmlydGR1dC4xMC4yNDAuMTgzLjI0Nzo2MDAyOiBwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04 IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9 MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5n dGg9OTggLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vncz0xIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NV TV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dO IA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAt IG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2 ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYg TDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1 ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVu PTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3Nl Z3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBs ZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBS ZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCgowMy8wNy8yMDIwIDAxOjQwOjUxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0MDo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24g cmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVj dGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21h dHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6 IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBH ZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyNDAzMik6IEdk ay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjQwOjUyLjk2NRtbMG06IGdka19jdXJz b3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScg ZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNl IHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBm b3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0N ChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQg UHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJs ZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkv L1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5 eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNv bWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAg c3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlB c0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0K G1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0b WzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAg ICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRt G1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAg ICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgV2UgYXJlIGluIEZy YW5jZSwgd2Ugc2F5IFNrYXBwZWUuG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9wU1Av Ly9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCBPSz8gTWVyY2kuG1swbQ0KG1szMm0b WzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAg fCAgICAgICAgICAgICAtLSBTZWJhc3RpZW4gQ2hhYmFsG1swbQ0KG1szMm0bWzFtICAgICAgIGNh eUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJt G1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0bWzFt ICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDA6NTUgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0y MTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weDRkNDExOWE1KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDA6NTUgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MDo1NSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjEyMykv R1RQX1VfSGVhZGVyKHRlaWQ9MHg0ZDQxMTlhNSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQwOjU1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDA6NTcgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTo0MDo1NyAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjQxOjAyICAgIHZpcnRkdXQuMTAuMjQwLjE4 My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNl aXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAw MTo0MTowMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5n cmVzcyBwYXR0ZXJuIGV0aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgZ3RwdSB0ZWlk IGlzIDB4ZTI4Y2E5OWUgLyBlbmQgYWN0aW9ucyB2ZiBpZCAwIC8gcXVldWUgaW5kZXggMiAvIGVu ZAowMy8wNy8yMDIwIDAxOjQxOjAzICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZmxv dyBjcmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAgICAg ICAgICBndHB1IHRlaWQgaXMgMHhlMjhjYTk5ZSAvIGVuZCBhY3Rpb25zIHZmIGlkIDAgLyBxdWV1 ZSBpbmRleCAyIC8gZW5kDQ0KRmxvdyBydWxlICMyIGNyZWF0ZWQKMDMvMDcvMjAyMCAwMTo0MTow MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6NDE6 MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6 IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNl cnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9s aWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRf Z3RrMy5weTo0MTogRGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNh dGVkDQogIGN1cnNvcnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5 cGUuRkxFVVIpLA0KDQooc2NhcHk6MjQwNTIpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjog G1szNG0wMTo0MTowNC40MzIbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0 aW9uICdHREtfSVNfRElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBp bXBvcnQgUHlYLiBXb24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1sw bQ0KG1szM20bWzFtV0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24g OjogKG5vIGRlZmF1bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9u IG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0 b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0b WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0b WzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2Nw Q1kvL1BwICAbWzBtG1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFt IGF5cCBheXl5eXl5eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBW ZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAg ICAgY1kvL1MbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8v cCAgICAgICAgICBjU1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29t L3NlY2Rldi9zY2FweRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBw UC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEv L0EgICAgICAgICAgICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sx bSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8v QRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0IHBhY2tldHMgbGlrZSBpdCBpcyB5b3VyIGxhc3QbWzBt DQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0 bRtbMW0gICB8IGRheSBvbiBlYXJ0aC4bWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kg IGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgICAgICAg IC0tIExhby1UemUbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAg ICBwWS9ZYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8v WUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9Q Q3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8v Ly8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3Mg ICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIBtbMG0KMDMvMDcvMjAyMCAwMTo0MTowNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4ZTI4Y2E5OWUpL0lQdjYoKS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDYgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTowNiAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDYgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTowNiAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDYgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTowNiAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRw b3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9UQ1AoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDcgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 MTowNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkv VURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9TQ1RQ KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjA3ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDE6MDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9JUHY2 KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQxOjA3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDE6MDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 ZTI4Y2E5OWUpL0lQdjYoKS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDcgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTowNyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTk5ZSkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MTowNyAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQxOjA3ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0y MTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9JUHY2KCkvVURQKCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjA3ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6MDcg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9UQ1AoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MDcgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MTowNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ djYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTk5ZSkvSVB2Nigp L1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6 MDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMTo0MTowNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTk5 ZSkvSVB2NihuaD01OCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMv MDcvMjAyMCAwMTo0MTowNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQg MSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQxOjA5ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6NDE6MTAgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAKMDMvMDcvMjAyMCAwMTo0MToxNSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYw MDI6IHBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAw OjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4 IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 MDgwMCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1 ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VN X0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJf c2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAt IGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9V RFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4 Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAt IFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0x IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9M NF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9V TktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6 MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0 aD0xMzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2Vp dmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAy OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAt IGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NV TV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dO IA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIg LSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVu PTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4 NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVl dWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjQxOjE1 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0MTox NyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjog Q291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2Vy dmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xp YjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9n dGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0 ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlw ZS5GTEVVUiksDQoNCihzY2FweToyNDA3OSk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAb WzM0bTAxOjQxOjE2LjcyORtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRp b24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGlt cG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBt DQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6 OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24g bm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRv Q29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BD WS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0g YXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZl cnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAg ICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9w ICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20v c2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQ Ly8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8v QSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9B G1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBiZWZvcmUgdGhleSBjcmFmdBtbMG0NChtb MzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRtG1sx bSAgIHwgeW91LhtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAg ICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAgICAgICAgLS0gU29jcmF0ZRtb MG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAg YUMvL1lwIBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lT cyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8w Ny8yMDIwIDAxOjQxOjE5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0weGUyOGNhOTllKS9JUHY2KCkvSVB2NkV4dEhkckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBp ZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjE5ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtzdW09 MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MToxOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhj YTk5ZSkvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTo0MToxOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjQxOjE5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBf VV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjE5ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtzdW09MHgx MjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9TQ1RQ KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjE5ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDE6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 ZTI4Y2E5OWUpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MToxOSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9JUHY2KCkvSVB2NkV4dEhkckZy YWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQx OjE5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAz LzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChb RXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHhlMjhjYTk5ZSkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikK MDMvMDcvMjAyMCAwMTo0MToxOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNl bnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQxOjE5ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5OWUpL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MToxOSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAo Y2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9J UHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAx OjQxOjE5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMu CjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5k cChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHhlMjhjYTk5ZSkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MTkgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MToxOSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIz NCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9JUHY2KG5oPTU4KS9J Q01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjIw ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6NDE6MjIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMv MDcvMjAyMCAwMTo0MToyMiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8y MDIwIDAxOjQxOjI3ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVl IDI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIw IC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEx MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQ VjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBx dWV1ZT0weDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRf bGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEyMiAtIG5i X3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQ S1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRf Q0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3Jj PTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAg LSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0w eDINCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBSZWNlaXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAv cXVldWUgMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9 MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5n dGg9MTM4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAt IGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDI6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBSZWNl aXZlIHF1ZXVlPTB4Mg0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg MjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE0MiAtIG5iX3NlZ3M9MSAtIHN3 IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAg LSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgyDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tT VU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9X TiANCnBvcnQgMC9xdWV1ZSAyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAw OjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4 IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDINCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDE6MjcgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQxOjI5ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVj dDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBj b25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3Np dGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJl Y2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1P VkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNj YXB5OjI0MDk4KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDE6MjguOTk4 G1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BM QVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3Qg YmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5J Tkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJv dXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBV c2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0 b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRt G1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1Av L1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0N ChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRt G1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMg eS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBt DQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0 bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQ Ly8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAg fCBXZSBhcmUgaW4gRnJhbmNlLCB3ZSBzYXkgU2thcHBlZS4bWzBtDQobWzMybRtbMW0gICAgICAg c2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IE9LPyBNZXJj aS4bWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtb MG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgIC0tIFNlYmFzdGllbiBDaGFiYWwbWzBtDQobWzMy bRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAb WzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAw MTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5YTApL0lQdjYoKS9J UHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDE6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4ZTI4Y2E5YTApL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDE6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4ZTI4Y2E5YTApL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6NDE6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4ZTI4Y2E5YTApL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9V X0hlYWRlcih0ZWlkPTB4ZTI4Y2E5YTApL0lQdjYoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjMxICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6MzEgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOWEwKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjMxICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6 MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkv VURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZTI4Y2E5YTApL0lQdjYoKS9JUHY2 RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDE6MzEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHhlMjhjYTlhMCkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTo0MTozMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjQxOjMxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0weGUyOGNhOWEwKS9JUHY2KCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQxOjMyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6MzIgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4ZTI4Y2E5YTApL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MzIgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMiAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTlhMCkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6MzIgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MTozMiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTlhMCkvSVB2NihuaD01OCkvSUNNUCgp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MTozMiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjQxOjM0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIw MjAgMDE6NDE6MzQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAw MTo0MTozOSAgICB2aXJ0ZHV0LjEwLjI0MC4xODMuMjQ3OjYwMDI6IHBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0 X2xlbj04IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAgLSBu Yl9zZWdzPTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0 IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04 IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdz PTEgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTIwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVu Z3RoPTExOCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVS IEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVj ZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQw IC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEz OCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDg2ZGQgLSBsZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQ VjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRf bGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5i X3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQ S1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRf Q0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjQxOjM5ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0MTo0MSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENv bm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVj dDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBh Y2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlv bldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAg ICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToy NDEyOSk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjQxOjQxLjI4NxtbMG06 IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChk aXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFi bGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBO byByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8p G1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcg c3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBh cmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAg ICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMy bRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0g ICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAg ICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMy bRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kb WzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1sz Mm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9D G1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBw Ly8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgVG8g Y3JhZnQgYSBwYWNrZXQsIHlvdSBoYXZlIHRvIGJlIGEbWzBtDQobWzMybRtbMW0gICAgICAgc2Nj Y2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IHBhY2tldCwgYW5k IGxlYXJuIGhvdyB0byBzd2ltIGluG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBj YWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCB0aGUgd2lyZXMgYW5kIGluIHRoZSB3 YXZlcy4bWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9Z YRtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAtLSBKZWFuLUNsYXVkZSBWYW4gRGFtbWUbWzBtDQob WzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0bWzM0bRtb MW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNz ICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3 LzIwMjAgMDE6NDE6NDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUCgpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGUyOGNhOTllKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDE6NDMgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MTo0MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ djYoKS9VRFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRlaWQ9MHhlMjhjYTk5ZSkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQxOjQzICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDE6 NDUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTo0 MTo0NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjQxOjUx ICAgIHZpcnRkdXQuMTAuMjQwLjE4My4yNDc6NjAwMjogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTQwIC0gbDRfbGVuPTggLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQoKMDMvMDcvMjAyMCAwMTo0MTo1MSAgICAgICAgICAgICAgICAgICAgIFRlc3REZHBH dHA6IFRlc3QgQ2FzZSB0ZXN0X2NsZnRlcl9ndHB1X3ZmIFJlc3VsdCBQQVNTRUQ6CjAzLzA3LzIw MjAgMDE6NDI6MDkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBUaGVyZSBpcyBubyBy ZXNvdXJjZSBbc2VyaWFscG9ydF0gYWxsb2NhdGVkIHRvIFZNIFt2bTBdIAowMy8wNy8yMDIwIDAx OjQyOjA5ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogVGhlcmUgaXMgbm8gcmVzb3Vy Y2UgW21pZ3JhdGVwb3J0XSBhbGxvY2F0ZWQgdG8gVk0gW3ZtMF0gCjAzLzA3LzIwMjAgMDE6NDI6 MDkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBUaGVyZSBpcyBubyByZXNvdXJjZSBb ZGlzcGxheXBvcnRdIGFsbG9jYXRlZCB0byBWTSBbdm0wXSAKMDMvMDcvMjAyMCAwMTo0MjowOSAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IFRoZXJlIGlzIG5vIHJlc291cmNlIFt2ZnNd IGFsbG9jYXRlZCB0byBWTSBbdm0wXSAKMDMvMDcvMjAyMCAwMTo0MjowOSAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IFRoZXJlIGlzIG5vIHJlc291cmNlIFtwb3J0c10gYWxsb2NhdGVk IHRvIFZNIFt2bTBdIAowMy8wNy8yMDIwIDAxOjQyOjA5ICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogVGhlcmUgaXMgbm8gcmVzb3VyY2UgW2NvcmVzXSBhbGxvY2F0ZWQgdG8gVk0gW3Zt MF0gCjAzLzA3LzIwMjAgMDE6NDI6MDkgICAgICAgICAgICAgICAgICAgICBUZXN0RGRwR3RwOiB0 ZWFyX2Rvd24gZmFpbGVkOgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgRmls ZSAiL2hvbWUvYXV0b3JlZ3Jlc3Npb24vZHRzL2ZyYW1ld29yay90ZXN0X2Nhc2UucHkiLCBsaW5l IDQ0NSwgaW4gZXhlY3V0ZV90ZWFyX2Rvd24KICAgIHNlbGYudGVhcl9kb3duKCkKICBGaWxlICJ0 ZXN0cy9UZXN0U3VpdGVfZGRwX2d0cC5weSIsIGxpbmUgNDM2LCBpbiB0ZWFyX2Rvd24KICAgIHNl bGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3N0b3AnKQpBdHRyaWJ1dGVFcnJvcjogJ05vbmVU eXBlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnZXhlY3V0ZV9jbWQnCgowMy8wNy8yMDIwIDAx OjQyOjA5ICAgICAgICAgICAgICAgICAgICAgVGVzdERkcEd0cDogdGVhciBkb3duIHRlc3RfY2xm dGVyX2d0cHVfdmYgZmFpbGVkLCBtaWdodCBpdGVyZmVyZSBuZXh0IGNhc2UncyByZXN1bHQhCjAz LzA3LzIwMjAgMDE6NDI6MDkgICAgICAgICAgICAgICAgICAgICBUZXN0RGRwR3RwOiBUZXN0IENh c2UgdGVzdF9mZGlyX2d0cGNfcGYgQmVnaW4KMDMvMDcvMjAyMCAwMTo0MjoxMCAgICAgICAgICAg ICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VO S05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFH ICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0 aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTQ4NDcxNDUgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19J UFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0y MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNDg0NzE0NSAtIFJlY2VpdmUgcXVldWU9MHgwDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRf RVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9M NF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNDg0NzE0NSAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6 IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9X TiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNDg0NzE0NSAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9F WFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTQ4 NDcxNDUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5i X3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVS X0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDE0ODQ3MTQ1IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9M NF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9V TktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6 MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0 aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxf R1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xl bj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBw b3J0ID0yMTUyLCBWTkkgPSAxNDg0NzE0NSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2 ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05P V04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDE0ODQ3MTQ1IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAt IGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBU VU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0g bDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24g VURQIHBvcnQgPTIxNTIsIFZOSSA9IDE0ODQ3MTQ1IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4ODZkZCAtIGxlbmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1RD UCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDE0ODQ3MTQ1IC0gUmVjZWl2ZSBxdWV1ZT0w eDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNf SVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElO TkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAxNDg0NzE0NSAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRf VU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMTQ4NDcx NDUgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vn cz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0 X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9Mjg4MTYsIERlc3RpbmF0aW9uIFVE UCBwb3J0ID0yMTIzLCBWTkkgPSAxNDg0NzE0NSAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0 eXBlID0yODg5NiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxMjMsIFZOSSA9IDE0ODQ3MTQ1IC0g UmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9S WF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIw MjAgMDE6NDI6MTAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAw MTo0MjoxMCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IC4veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWwgMSwyIC1uIDQgLXcgMDAwMDo4MzowMC4wIC13IDAw MDA6ODM6MDAuMSAgLS1maWxlLXByZWZpeD1kcGRrXzY4NTNfMjAyMDA3MDMwMTIxMDEgICAtLSAt aSAtLXBrdC1maWx0ZXItbW9kZT1wZXJmZWN0IC0tcG9ydC10b3BvbG9neT1jaGFpbmVkICAgICAg ICAgICAgIC0tdHhxPTY0IC0tcnhxPTY0CjAzLzA3LzIwMjAgMDE6NDI6MTAgICAgICAgICAgICAg ZHV0LjEwLjI0MC4xODMuMjQ3OiAuL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2FwcC90ZXN0 cG1kIC1sIDEsMiAtbiA0IC13IDAwMDA6ODM6MDAuMCAtdyAwMDAwOjgzOjAwLjEgIC0tZmlsZS1w cmVmaXg9ZHBka182ODUzXzIwMjAwNzAzMDEyMTAxICAgLS0gLWkgLS1wa3QtZmlsdGVyLW1vZGU9 cGVyZmVjdCAtLXBvcnQtdG9wb2xvZ3k9Y2hhaW5lZCAgICAgICAgICAgICAtLXR4cT02NCAtLXJ4 cT02NA0NCkNvbW1hbmQgbm90IGZvdW5kCjAzLzA3LzIwMjAgMDE6NDI6MjAgICAgICAgICAgICAg ZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0b3AgYWxsCjAzLzA3LzIwMjAgMDE6NDI6MjAgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0b3AgYWxsDQ0KU3RvcHBpbmcgcG9y dHMuLi4NClBsZWFzZSByZW1vdmUgcG9ydCAwIGZyb20gZm9yd2FyZGluZyBjb25maWd1cmF0aW9u Lg0KUGxlYXNlIHJlbW92ZSBwb3J0IDEgZnJvbSBmb3J3YXJkaW5nIGNvbmZpZ3VyYXRpb24uDQpE b25lCjAzLzA3LzIwMjAgMDE6NDI6MjEgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBk ZHAgZ2V0IGxpc3QgMAowMy8wNy8yMDIwIDAxOjQyOjIxICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogZGRwIGdldCBsaXN0IDANDQpQcm9maWxlIG51bWJlciBpczogMQ0KDQpQcm9maWxl IDA6DQpUcmFjayBpZDogICAgIDB4ODAwMDAwMDgNClZlcnNpb246ICAgICAgMS4wLjMuMA0KUHJv ZmlsZSBuYW1lOiBHVFB2MS1DL1UgSVB2NC9JUHY2IHBheWxvYWQNCgowMy8wNy8yMDIwIDAxOjQy OjIxICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGFkZCAwIC90bXAvZ3RwLnBr Z28sL3RtcC9ndHAuYmFrCjAzLzA3LzIwMjAgMDE6NDI6MjEgICAgICAgICAgICAgZHV0LjEwLjI0 MC4xODMuMjQ3OiBkZHAgYWRkIDAgL3RtcC9ndHAucGtnbywvdG1wL2d0cC5iYWsNDQpQbGVhc2Ug c3RvcCBhbGwgcG9ydHMgZmlyc3QKMDMvMDcvMjAyMCAwMTo0MjoyMSAgICAgICAgICAgICBkdXQu MTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6NDI6MjEgICAgICAg ICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUgbnVtYmVy IGlzOiAxDQoNClByb2ZpbGUgMDoNClRyYWNrIGlkOiAgICAgMHg4MDAwMDAwOA0KVmVyc2lvbjog ICAgICAxLjAuMy4wDQpQcm9maWxlIG5hbWU6IEdUUHYxLUMvVSBJUHY0L0lQdjYgcGF5bG9hZA0K CjAzLzA3LzIwMjAgMDE6NDI6MjEgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0 IHN0YXJ0IGFsbAowMy8wNy8yMDIwIDAxOjQyOjIxICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogcG9ydCBzdGFydCBhbGwNDQpQb3J0IDAgaXMgbm93IG5vdCBzdG9wcGVkDQpQb3J0IDEg aXMgbm93IG5vdCBzdG9wcGVkDQpQbGVhc2Ugc3RvcCB0aGUgcG9ydHMgZmlyc3QNCkRvbmUKMDMv MDcvMjAyMCAwMTo0MjoyMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHNldCBmd2Qg cnhvbmx5CjAzLzA3LzIwMjAgMDE6NDI6MjIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiBzZXQgZndkIHJ4b25seQ0NClNldCByeG9ubHkgcGFja2V0IGZvcndhcmRpbmcgbW9kZQowMy8w Ny8yMDIwIDAxOjQyOjIyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc2V0IHZlcmJv c2UgMQowMy8wNy8yMDIwIDAxOjQyOjIyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzog c2V0IHZlcmJvc2UgMQ0NCkNoYW5nZSB2ZXJib3NlIGxldmVsIGZyb20gMSB0byAxCjAzLzA3LzIw MjAgMDE6NDI6MjIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzdGFydAowMy8wNy8y MDIwIDAxOjQyOjIyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RhcnQNDQpQYWNr ZXQgZm9yd2FyZGluZyBhbHJlYWR5IHN0YXJ0ZWQKMDMvMDcvMjAyMCAwMTo0MjoyNCAgICAgICAg ICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGV0 aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgICAgIGd0cGMgdGVpZCBpcyAweDI2MTcy OTVlIC8gZW5kIGFjdGlvbnMgcXVldWUgaW5kZXggNTAgLyBlbmQKMDMvMDcvMjAyMCAwMTo0Mjoy NCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBw YXR0ZXJuIGV0aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgICAgIGd0cGMgdGVpZCBp cyAweDI2MTcyOTVlIC8gZW5kIGFjdGlvbnMgcXVldWUgaW5kZXggNTAgLyBlbmQNDQpGbG93IHJ1 bGUgIzMgY3JlYXRlZAowMy8wNy8yMDIwIDAxOjQyOjI0ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0MjoyNiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5l Y3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDog Q29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2th Z2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldh cm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAg ICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyNDIw NSk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjQyOjI2LjI0NBtbMG06IGdk a19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNw bGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUg dG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyBy b3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1sw bRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3Rh bmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUg ZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAg IGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtb MW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8 IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAg ICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtb MW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8 G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBt G1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0b WzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1sw bRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8v QWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgVG8gY3Jh ZnQgYSBwYWNrZXQsIHlvdSBoYXZlIHRvIGJlIGEbWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2Nj cC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8IHBhY2tldCwgYW5kIGxl YXJuIGhvdyB0byBzd2ltIGluG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCB0aGUgd2lyZXMgYW5kIGluIHRoZSB3YXZl cy4bWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtb MG0bWzM0bRtbMW0gICB8ICAgICAgICAtLSBKZWFuLUNsYXVkZSBWYW4gRGFtbWUbWzBtDQobWzMy bRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAb WzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIw MjAgMDE6NDI6MjggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weDI2MTcyOTVlKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDI6MjggICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 MjoyOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNjE3Mjk1ZSkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQyOjI4ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDI6MzAg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTo0Mjoz MSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjQyOjM2ICAg ICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDUwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFz aD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBD ICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTI4ODE2LCBEZXN0 aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywgVk5JID0gMjQ5NjI5NyAtIFJlY2VpdmUgcXVldWU9MHgz Mg0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg NTA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIEZE SVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05P V04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9Mjg4OTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIzLCBWTkkgPSAyNDk2Mjk3IC0gUmVj ZWl2ZSBxdWV1ZT0weDMyDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1f R09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiAN CgowMy8wNy8yMDIwIDAxOjQyOjM2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Nh cHkKMDMvMDcvMjAyMCAwMTo0MjozNyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVu YWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNl ZA0KVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiBy ZWZ1c2VkDQovdXNyL2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3Rs aWIvYmFja2VuZHMvYmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5D dXJzb3IubmV3IGlzIGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vy c29yLm5ldyhHZGsuQ3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyNDIzNCk6IEdkay0bWzE7 MzVtQ1JJVElDQUwbWzBtICoqOiAbWzM0bTAxOjQyOjM3LjY3MhtbMG06IGdka19jdXJzb3JfbmV3 X2Zvcl9kaXNwbGF5OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVk DQobWzM5bUlORk86IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVt cCgpIG9yIHBkZmR1bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBm b3IgSVB2NiBkZXN0aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNt G1sxbVdBUk5JTkc6IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9u IHNoZWxsIGluc3RlYWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1sw bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1sw bRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2Eg ICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8v Ly8vLy8vLy9ZQ2EgICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAg ICBzWS8vLy8vL1lTcGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8g U2NhcHkbWzBtDQobWzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9D IBtbMG0bWzM0bRtbMW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZ WVlZWS8vL1BzICAgICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICAgcENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAg fCBodHRwczovL2dpdGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAg U1BQUFAvLy9hICAgICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAg IHwgSGF2ZSBmdW4hG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAg ICBzQy8vL2EbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8v Ly9ZQ3BjICAgICAgICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtl IEkgY3JhZnQgbXkgYmVlci4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3Ag ICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBD bGVyY2sbWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8v UBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAg ICAgICAgICAgcFkvWWEbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAg ICAgYUMvL1lwIBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1Av L1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAg ICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQow My8wNy8yMDIwIDAxOjQyOjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIo dGVpZD0weDI2MTcyOTVlKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDI6NDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0Mjo0MCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTIzKS9HVFBf VV9IZWFkZXIodGVpZD0weDI2MTcyOTVlKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6NDI6NDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0Mjo0MiAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjQyOjQyICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDI6NDcgICAgICAgICAgICAgZHV0LjEwLjI0MC4x ODMuMjQ3OiBwb3J0IDAvcXVldWUgNTA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6 MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0 aD03MCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5 cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVS IEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhM QU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9Mjg4MTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIz LCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDMyDQogIG9sX2ZsYWdzOiBQS1RfUlhf RkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSA1MDogcmVjZWl2ZWQgMSBwYWNrZXRz DQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9 MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElE PTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0g bDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODg5NiwgRGVzdGluYXRpb24g VURQIHBvcnQgPTIxMjMsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MzINCiAgb2xf ZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDI6NDcg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQyOjQ5 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBD b3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2 ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGli NjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0 azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRl ZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBl LkZMRVVSKSwNCg0KKHNjYXB5OjI0MjY1KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtb MzRtMDE6NDI6NDkuMDg5G1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlv biAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1w b3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0N ChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6 IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBu b3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9D b21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1sz NG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZ Ly9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBh eXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVy c2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAg IGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3Ag ICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9z ZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAv Ly9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9B ICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0Eb WzBtG1szNG0bWzFtICAgfCBUbyBjcmFmdCBhIHBhY2tldCwgeW91IGhhdmUgdG8gYmUgYRtbMG0N ChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRt G1sxbSAgIHwgcGFja2V0LCBhbmQgbGVhcm4gaG93IHRvIHN3aW0gaW4bWzBtDQobWzMybRtbMW0g ICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8IHRo ZSB3aXJlcyBhbmQgaW4gdGhlIHdhdmVzLhtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8v WWEgICAgICAgICAgICAgIHBZL1lhG1swbRtbMzRtG1sxbSAgIHwgICAgICAgIC0tIEplYW4tQ2xh dWRlIFZhbiBEYW1tZRtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAg ICBhQy8vWXAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2Nj YUNZLy9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNw Q1BZLy8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBj Y2FhY3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTo0Mjo1MSAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRl cih0ZWlkPTB4MjYxNzI5NjApL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTo0Mjo1MSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjQyOjUxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVp ZD0weDI2MTcyOTYwKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDI6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0Mjo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4 aXQoKQowMy8wNy8yMDIwIDAxOjQyOjU0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog CjAzLzA3LzIwMjAgMDE6NDI6NTkgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0 IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vn cz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUEMgIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0 X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9Mjg4MTYsIERlc3RpbmF0aW9uIFVE UCBwb3J0ID0yMTIzLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxh Z3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRF Ul9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktO T1dOIFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5 cGUgPTI4ODk2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywgVk5JID0gMjQ5NjI5NyAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIw IDAxOjQyOjU5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAy MCAwMTo0MzowMCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0 IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRv IGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNy L2xvY2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMv YmFja2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlz IGRlcHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsu Q3Vyc29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyNDI5Myk6IEdkay0bWzE7MzVtQ1JJVElDQUwb WzBtICoqOiAbWzM0bTAxOjQzOjAwLjU2OBtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5 OiBhc3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86 IENhbid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1 bXAoKS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0 aW5hdGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6 IElQeXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3Rl YWQuDQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJt G1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtb MzRtG1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2Eg ICAgG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lT cGNzICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQob WzMybRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtb MW0gICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAg ICAgICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAg cENDQ0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dp dGh1Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAg ICAgICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAg ICAgICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4h G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBt G1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAg ICAgICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgV2FubmEgc3VwcG9ydCBzY2FweT8gUmF0ZSBpdCBv bhtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1sw bRtbMzRtG1sxbSAgIHwgc2VjdG9vbHMhG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95 ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCBodHRwOi8vc2VjdG9vbHMub3Jn L3Rvb2wvc2NhcHkvG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAg ICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAtLSBTYXRvc2hpIE5ha2Ftb3Rv G1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBt G1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5 Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNw cyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAg IBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1sw bQowMy8wNy8yMDIwIDAxOjQzOjAyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNjE3 Mjk1ZSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjAy ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6NDM6MDIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MzowMyAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNjE3Mjk1ZSkvSVAoKS9S YXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAw MTo0MzowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQKGZyYWc9 NSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjAzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDM6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI2MTcyOTVlKS9JUCgp L1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0Mzow MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNjE3Mjk1ZSkv SVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 NDM6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTo0MzowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5 NWUpL0lQKCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0MzowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgy NjE3Mjk1ZSkvSVAoKS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4MjYxNzI5NWUpL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4MjYxNzI5NWUpL0lQKGZyYWc9NSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dU UF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQKCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjAzICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDMgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQKCkvU0NUUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MzowMyAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQzOjAzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDI2MTcyOTVlKS9JUCgpL0lDTVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkv VURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQdjYoKS9JUHY2 RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 MjYxNzI5NWUpL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 MjYxNzI5NWUpL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4MjYxNzI5NWUpL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQdjYoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjA0ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0weDI2MTcyOTVlKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioy MCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQzOjA0ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDQg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MjYxNzI5NWUpL0lQdjYoKS9JUHY2RXh0 SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgy NjE3Mjk1ZSkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0MzowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQzOjA0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eDI2MTcyOTVlKS9JUHY2KCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQow My8wNy8yMDIwIDAxOjQzOjA0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2Vu dCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4MjYxNzI5NWUpL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDM6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHgyNjE3Mjk1ZSkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDM6MDUgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0MzowNSAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgyNjE3Mjk1ZSkvSVB2NihuaD01OCkvSUNNUCgpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MzowNSAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjQzOjA3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAg MDE6NDM6MDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTo0 MzoxMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkw IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4MDgwMCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9V TktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJB RyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTk4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQ VjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0x NCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5 MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBx dWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlw ZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktO T1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0 eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBS ZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JY X0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVl dWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEwMiAtIG5iX3NlZ3M9MSAt IGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRf RVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0 OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTk4IC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gMjQ5NjI5NyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExMCAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVu Z3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gMjQ5NjI5NyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2 ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05P V04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0 X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1 ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dO IElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVj ZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBo dyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VY VF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBw YWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2 Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAgLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY2X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ5NjI5NyAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW Nl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQg TDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0 OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAy NDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMzAgLSBu Yl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5F Ul9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3Ro PTEyMiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9H VFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVu PTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBv cnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAw IC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIw IC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRp b24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRf RlJBRyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5Miwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04g IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAyNDk2Mjk3IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW Nl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVS X0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0 IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5 MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDI0OTYyOTcgLSBSZWNlaXZlIHF1 ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VN X0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE1MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBl OiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05P V04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5 cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ5NjI5NyAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTQyIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9F WFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMjQ5 NjI5NyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gMjQ5NjI5NyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCgowMy8wNy8yMDIwIDAxOjQzOjEyICAgICAgICAgICAgICAgICAgICAgVGVzdERkcEd0 cDogVGVzdCBDYXNlIHRlc3RfZmRpcl9ndHBjX3BmIFJlc3VsdCBQQVNTRUQ6CjAzLzA3LzIwMjAg MDE6NDM6MTIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzdG9wCjAzLzA3LzIwMjAg MDE6NDM6MTIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBzdG9wDQ0KVGVsbGluZyBj b3JlcyB0byBzdG9wLi4uDQpXYWl0aW5nIGZvciBsY29yZXMgdG8gZmluaXNoLi4uDQoNCiAgLS0t LS0tLSBGb3J3YXJkIFN0YXRzIGZvciBSWCBQb3J0PSAwL1F1ZXVlPSAwIC0+IFRYIFBvcnQ9IDEv UXVldWU9IDAgLS0tLS0tLQ0KICBSWC1wYWNrZXRzOiA2MCAgICAgICAgICAgICBUWC1wYWNrZXRz OiAwICAgICAgICAgICAgICBUWC1kcm9wcGVkOiAwICAgICAgICAgICAgIA0KDQogIC0tLS0tLS0g Rm9yd2FyZCBTdGF0cyBmb3IgUlggUG9ydD0gMC9RdWV1ZT01MCAtPiBUWCBQb3J0PSAxL1F1ZXVl PTUwIC0tLS0tLS0NCiAgUlgtcGFja2V0czogNCAgICAgICAgICAgICAgVFgtcGFja2V0czogMCAg ICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAgICAgICAgICANCg0KICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tIEZvcndhcmQgc3RhdGlzdGljcyBmb3IgcG9ydCAwICAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQogIFJYLXBhY2tldHM6IDY0ICAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAgICAg ICAgICAgUlgtdG90YWw6IDY0DQogIFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRYLWRyb3Bw ZWQ6IDAgICAgICAgICAgICAgVFgtdG90YWw6IDANCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQog IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRm9yd2FyZCBzdGF0aXN0aWNzIGZvciBwb3J0IDEgIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgUlgtcGFja2V0czogMCAgICAgICAgICAgICAgUlgtZHJv cHBlZDogMCAgICAgICAgICAgICBSWC10b3RhbDogMA0KICBUWC1wYWNrZXRzOiAwICAgICAgICAg ICAgICBUWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFRYLXRvdGFsOiAwDQogIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCg0KICArKysrKysrKysrKysrKysgQWNjdW11bGF0ZWQgZm9yd2FyZCBzdGF0aXN0 aWNzIGZvciBhbGwgcG9ydHMrKysrKysrKysrKysrKysNCiAgUlgtcGFja2V0czogNjQgICAgICAg ICAgICAgUlgtZHJvcHBlZDogMCAgICAgICAgICAgICBSWC10b3RhbDogNjQNCiAgVFgtcGFja2V0 czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAgICAgICAgICBUWC10b3RhbDogMA0K ICArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrDQoNCkRvbmUuCjAzLzA3LzIwMjAgMDE6NDM6MTIgICAgICAg ICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMAowMy8wNy8yMDIwIDAxOjQz OjEyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDANDQpQcm9m aWxlIG51bWJlciBpczogMQ0KDQpQcm9maWxlIDA6DQpUcmFjayBpZDogICAgIDB4ODAwMDAwMDgN ClZlcnNpb246ICAgICAgMS4wLjMuMA0KUHJvZmlsZSBuYW1lOiBHVFB2MS1DL1UgSVB2NC9JUHY2 IHBheWxvYWQNCgowMy8wNy8yMDIwIDAxOjQzOjEyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogcG9ydCBzdG9wIGFsbAowMy8wNy8yMDIwIDAxOjQzOjEzICAgICAgICAgICAgIGR1dC4x MC4yNDAuMTgzLjI0NzogcG9ydCBzdG9wIGFsbA0NClN0b3BwaW5nIHBvcnRzLi4uDQppNDBlX3Bm X2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYsIGVyciAx Mg0KDQpQb3J0IDA6IGxpbmsgc3RhdGUgY2hhbmdlIGV2ZW50DQppNDBlX3BmX2hvc3Rfc2VuZF9t c2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYsIGVyciAxMg0KQ2hlY2tpbmcg bGluayBzdGF0dXNlcy4uLg0KDQpQb3J0IDE6IGxpbmsgc3RhdGUgY2hhbmdlIGV2ZW50DQppNDBl X3BmX2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1lc3NhZ2UgdG8gVkYsIGVy ciAxMg0KRG9uZQowMy8wNy8yMDIwIDAxOjQzOjE0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgz LjI0NzogZGRwIGRlbCAwIC90bXAvZ3RwLmJhawowMy8wNy8yMDIwIDAxOjQzOjE0ICAgICAgICAg ICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGRlbCAwIC90bXAvZ3RwLmJhaw0KMDMvMDcvMjAy MCAwMTo0MzoxNCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAw CjAzLzA3LzIwMjAgMDE6NDM6MTQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAg Z2V0IGxpc3QgMA0NClByb2ZpbGUgbnVtYmVyIGlzOiAwDQoKMDMvMDcvMjAyMCAwMTo0MzoxNCAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RhcnQgYWxsCjAzLzA3LzIwMjAg MDE6NDM6MTUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0YXJ0IGFsbA0N Cmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBW RiwgZXJyIDEyDQppNDBlX2Zsb3dfYWRkX2RlbF9mZGlyX2ZpbHRlcigpOiBDb25mbGljdCB3aXRo IGV4aXN0aW5nIGZsb3cgZGlyZWN0b3IgcnVsZXMhDQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2 DQpQb3J0IDE6IDNDOkZEOkZFOkEzOkEwOjk3DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpE b25lCjAzLzA3LzIwMjAgMDE6NDM6MTUgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBx dWl0CjAzLzA3LzIwMjAgMDE6NDM6MTYgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBx dWl0DQ0KDQpTdG9wcGluZyBwb3J0IDAuLi4NClN0b3BwaW5nIHBvcnRzLi4uDQpEb25lDQoNClN0 b3BwaW5nIHBvcnQgMS4uLg0KU3RvcHBpbmcgcG9ydHMuLi4NCmk0MGVfcGZfaG9zdF9zZW5kX21z Z190b192ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpEb25lDQoNClNo dXR0aW5nIGRvd24gcG9ydCAwLi4uDQpDbG9zaW5nIHBvcnRzLi4uDQpEb25lDQoNClNodXR0aW5n IGRvd24gcG9ydCAxLi4uDQpDbG9zaW5nIHBvcnRzLi4uDQpEb25lDQoNCkJ5ZS4uLgowMy8wNy8y MDIwIDAxOjQzOjE2ICAgICAgICAgICAgICAgICAgICAgVGVzdERkcEd0cDogVGVzdCBDYXNlIHRl c3RfZmRpcl9ndHB1X3BmIEJlZ2luCjAzLzA3LzIwMjAgMDE6NDM6MTYgICAgICAgICAgICAgZHV0 LjEwLjI0MC4xODMuMjQ3OiAKMDMvMDcvMjAyMCAwMTo0MzoxNyAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjQzOjE3ICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogLi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9hcHAvdGVzdHBtZCAtbCAxLDIg LW4gNCAtdyAwMDAwOjgzOjAwLjAgLXcgMDAwMDo4MzowMC4xICAtLWZpbGUtcHJlZml4PWRwZGtf Njg1M18yMDIwMDcwMzAxMjEwMSAgIC0tIC1pIC0tcGt0LWZpbHRlci1tb2RlPXBlcmZlY3QgLS1w b3J0LXRvcG9sb2d5PWNoYWluZWQgICAgICAgICAgICAgLS10eHE9NjQgLS1yeHE9NjQKMDMvMDcv MjAyMCAwMTo0MzoxOCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IEVBTDogRGV0ZWN0 ZWQgNzIgbGNvcmUocykNCkVBTDogRGV0ZWN0ZWQgMiBOVU1BIG5vZGVzDQpFQUw6IE11bHRpLXBy b2Nlc3Mgc29ja2V0IC92YXIvcnVuL2RwZGsvZHBka182ODUzXzIwMjAwNzAzMDEyMTAxL21wX3Nv Y2tldA0KRUFMOiBTZWxlY3RlZCBJT1ZBIG1vZGUgJ1BBJw0KRUFMOiBQcm9iaW5nIFZGSU8gc3Vw cG9ydC4uLg0KRUFMOiBWRklPIHN1cHBvcnQgaW5pdGlhbGl6ZWQNCkVBTDogUHJvYmUgUENJIGRy aXZlcjogbmV0X2k0MGUgKDgwODY6MTU4YikgZGV2aWNlOiAwMDAwOjgzOjAwLjAgKHNvY2tldCAx KQ0KRUFMOiBQcm9iZSBQQ0kgZHJpdmVyOiBuZXRfaTQwZSAoODA4NjoxNThiKSBkZXZpY2U6IDAw MDA6ODM6MDAuMSAoc29ja2V0IDEpDQpFQUw6IE5vIGxlZ2FjeSBjYWxsYmFja3MsIGxlZ2FjeSBz b2NrZXQgbm90IGNyZWF0ZWQNCkludGVyYWN0aXZlLW1vZGUgc2VsZWN0ZWQNCnRlc3RwbWQ6IGNy ZWF0ZSBhIG5ldyBtYnVmIHBvb2wgPG1idWZfcG9vbF9zb2NrZXRfMD46IG49MTU1NDU2LCBzaXpl PTIxNzYsIHNvY2tldD0wDQp0ZXN0cG1kOiBwcmVmZXJyZWQgbWVtcG9vbCBvcHMgc2VsZWN0ZWQ6 IHJpbmdfbXBfbWMNCnRlc3RwbWQ6IGNyZWF0ZSBhIG5ldyBtYnVmIHBvb2wgPG1idWZfcG9vbF9z b2NrZXRfMT46IG49MTU1NDU2LCBzaXplPTIxNzYsIHNvY2tldD0xDQp0ZXN0cG1kOiBwcmVmZXJy ZWQgbWVtcG9vbCBvcHMgc2VsZWN0ZWQ6IHJpbmdfbXBfbWMNCkNvbmZpZ3VyaW5nIFBvcnQgMCAo c29ja2V0IDEpDQppNDBlX3BmX2hvc3Rfc2VuZF9tc2dfdG9fdmYoKTogRmFpbCB0byBzZW5kIG1l c3NhZ2UgdG8gVkYsIGVyciAxMg0KUG9ydCAwOiAzQzpGRDpGRTpBMzpBMDo5Ng0KQ29uZmlndXJp bmcgUG9ydCAxIChzb2NrZXQgMSkNClBvcnQgMTogM0M6RkQ6RkU6QTM6QTA6OTcNCkNoZWNraW5n IGxpbmsgc3RhdHVzZXMuLi4NCkRvbmUKMDMvMDcvMjAyMCAwMTo0MzoyOCAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RvcCBhbGwKMDMvMDcvMjAyMCAwMTo0MzoyOSAgICAg ICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RvcCBhbGwNDQpTdG9wcGluZyBwb3J0 cy4uLg0KaTQwZV9wZl9ob3N0X3NlbmRfbXNnX3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBtZXNzYWdl IHRvIFZGLCBlcnIgMTINCg0KUG9ydCAwOiBsaW5rIHN0YXRlIGNoYW5nZSBldmVudA0KaTQwZV9w Zl9ob3N0X3NlbmRfbXNnX3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBtZXNzYWdlIHRvIFZGLCBlcnIg MTINCkNoZWNraW5nIGxpbmsgc3RhdHVzZXMuLi4NCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192 ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQoNClBvcnQgMTogbGluayBz dGF0ZSBjaGFuZ2UgZXZlbnQNCkRvbmUKMDMvMDcvMjAyMCAwMTo0MzozMCAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6NDM6MzAgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUgbnVt YmVyIGlzOiAwDQoKMDMvMDcvMjAyMCAwMTo0MzozMCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4 My4yNDc6IGRkcCBhZGQgMCAvdG1wL2d0cC5wa2dvLC90bXAvZ3RwLmJhawowMy8wNy8yMDIwIDAx OjQzOjMwICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGFkZCAwIC90bXAvZ3Rw LnBrZ28sL3RtcC9ndHAuYmFrDQowMy8wNy8yMDIwIDAxOjQzOjMwICAgICAgICAgICAgIGR1dC4x MC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDAKMDMvMDcvMjAyMCAwMTo0MzozMCAgICAgICAg ICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwDQ0KUHJvZmlsZSBudW1iZXIg aXM6IDENCg0KUHJvZmlsZSAwOg0KVHJhY2sgaWQ6ICAgICAweDgwMDAwMDA4DQpWZXJzaW9uOiAg ICAgIDEuMC4zLjANClByb2ZpbGUgbmFtZTogR1RQdjEtQy9VIElQdjQvSVB2NiBwYXlsb2FkDQoK MDMvMDcvMjAyMCAwMTo0MzozMCAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQg c3RhcnQgYWxsCjAzLzA3LzIwMjAgMDE6NDM6MzEgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMu MjQ3OiBwb3J0IHN0YXJ0IGFsbA0NCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192ZigpOiBGYWls IHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpQb3J0IDA6IDNDOkZEOkZFOkEzOkEwOjk2 DQpQb3J0IDE6IDNDOkZEOkZFOkEzOkEwOjk3DQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQpE b25lCjAzLzA3LzIwMjAgMDE6NDM6MzIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBz ZXQgZndkIHJ4b25seQowMy8wNy8yMDIwIDAxOjQzOjMyICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0Nzogc2V0IGZ3ZCByeG9ubHkNDQpTZXQgcnhvbmx5IHBhY2tldCBmb3J3YXJkaW5nIG1v ZGUKMDMvMDcvMjAyMCAwMTo0MzozMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHNl dCB2ZXJib3NlIDEKMDMvMDcvMjAyMCAwMTo0MzozMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4 My4yNDc6IHNldCB2ZXJib3NlIDENDQpDaGFuZ2UgdmVyYm9zZSBsZXZlbCBmcm9tIDAgdG8gMQow My8wNy8yMDIwIDAxOjQzOjMyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RhcnQK MDMvMDcvMjAyMCAwMTo0MzozMiAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHN0YXJ0 DQ0Kcnhvbmx5IHBhY2tldCBmb3J3YXJkaW5nIC0gcG9ydHM9MiAtIGNvcmVzPTEgLSBzdHJlYW1z PTEyOCAtIE5VTUEgc3VwcG9ydCBlbmFibGVkLCBNUCBhbGxvY2F0aW9uIG1vZGU6IG5hdGl2ZQ0K TG9naWNhbCBDb3JlIDIgKHNvY2tldCAwKSBmb3J3YXJkcyBwYWNrZXRzIG9uIDEyOCBzdHJlYW1z Og0KICBSWCBQPTAvUT0wIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MCAoc29ja2V0IDEpIHBlZXI9 MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9MCAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTAg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEgKHNvY2tldCAx KSAtPiBUWCBQPTEvUT0xIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQ PTEvUT0xIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MSAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6 MDA6MDA6MDANCiAgUlggUD0wL1E9MiAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTIgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTIgKHNvY2tldCAxKSAtPiBUWCBQ PTAvUT0yIChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT0zIChz b2NrZXQgMSkgLT4gVFggUD0xL1E9MyAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDEN CiAgUlggUD0xL1E9MyAoc29ja2V0IDEpIC0+IFRYIFA9MC9RPTMgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT00IChz b2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDowMDowMQ0KICBSWCBQPTEvUT00IChzb2NrZXQgMSkg LT4gVFggUD0wL1E9NCAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0w L1E9NSAoc29ja2V0IDEpIC0+IFRYIFA9MS9RPTUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTUgKHNvY2tldCAxKSAtPiBUWCBQPTAvUT01IChzb2NrZXQgMSkg cGVlcj0wMjowMDowMDowMDowMDowMA0KICBSWCBQPTAvUT02IChzb2NrZXQgMSkgLT4gVFggUD0x L1E9NiAoc29ja2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9NiAoc29j a2V0IDEpIC0+IFRYIFA9MC9RPTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTcgKHNvY2tldCAxKSAtPiBUWCBQPTEvUT03IChzb2NrZXQgMSkgcGVlcj0wMjow MDowMDowMDowMDowMQ0KICBSWCBQPTEvUT03IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NyAoc29j a2V0IDEpIHBlZXI9MDI6MDA6MDA6MDA6MDA6MDANCiAgUlggUD0wL1E9OCAoc29ja2V0IDEpIC0+ IFRYIFA9MS9RPTggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTggKHNvY2tldCAxKSAtPiBUWCBQPTAvUT04IChzb2NrZXQgMSkgcGVlcj0wMjowMDowMDowMDow MDowMA0KICBSWCBQPTAvUT05IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9OSAoc29ja2V0IDEpIHBl ZXI9MDI6MDA6MDA6MDA6MDA6MDENCiAgUlggUD0xL1E9OSAoc29ja2V0IDEpIC0+IFRYIFA9MC9R PTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEwIChzb2Nr ZXQgMSkgLT4gVFggUD0xL1E9MTAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTEwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTAgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTExIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTEg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTExIChzb2NrZXQg MSkgLT4gVFggUD0wL1E9MTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJY IFA9MC9RPTEyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTIgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTEyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTIgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTEzIChzb2NrZXQgMSkg LT4gVFggUD0xL1E9MTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTEzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTE0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTQgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE0IChzb2NrZXQgMSkgLT4g VFggUD0wL1E9MTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTE1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTE1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTUgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE2IChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9MTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE2 IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTE3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MTcgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE3IChzb2NrZXQgMSkgLT4gVFggUD0w L1E9MTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE4IChz b2NrZXQgMSkgLT4gVFggUD0xL1E9MTggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTE4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MTggKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTE5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 MTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTE5IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9MTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTIwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjAgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTIwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjAg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTIxIChzb2NrZXQg MSkgLT4gVFggUD0xL1E9MjEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTIxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjEgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTIyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjIgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTIyIChzb2NrZXQgMSkg LT4gVFggUD0wL1E9MjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTIzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTIzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjMgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI0IChzb2NrZXQgMSkgLT4g VFggUD0xL1E9MjQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTI0IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTI1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjUgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI1IChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9MjUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI2 IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAxDQogIFJYIFA9MS9RPTI2IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjYgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI3IChzb2NrZXQgMSkgLT4gVFggUD0x L1E9MjcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI3IChz b2NrZXQgMSkgLT4gVFggUD0wL1E9MjcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAw DQogIFJYIFA9MC9RPTI4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MjggKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTI4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9 MjggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTI5IChzb2Nr ZXQgMSkgLT4gVFggUD0xL1E9MjkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTI5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MjkgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTMwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzAg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMwIChzb2NrZXQg MSkgLT4gVFggUD0wL1E9MzAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJY IFA9MC9RPTMxIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzEgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzEgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTMyIChzb2NrZXQgMSkg LT4gVFggUD0xL1E9MzIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTMyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTMzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzMgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTMzIChzb2NrZXQgMSkgLT4g VFggUD0wL1E9MzMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTM0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTM0IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzQgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM1IChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9MzUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM1 IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTM2IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzYgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM2IChzb2NrZXQgMSkgLT4gVFggUD0w L1E9MzYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM3IChz b2NrZXQgMSkgLT4gVFggUD0xL1E9MzcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTM3IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9MzcgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTM4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 MzggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM4IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9MzggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTM5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9MzkgKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTM5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9Mzkg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQwIChzb2NrZXQg MSkgLT4gVFggUD0xL1E9NDAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTQwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDAgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQxIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDEgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQxIChzb2NrZXQgMSkg LT4gVFggUD0wL1E9NDEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTQyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTQyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDIgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQzIChzb2NrZXQgMSkgLT4g VFggUD0xL1E9NDMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTQzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTQ0IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDQgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ0IChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9NDQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ1 IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAxDQogIFJYIFA9MS9RPTQ1IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDUgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ2IChzb2NrZXQgMSkgLT4gVFggUD0x L1E9NDYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ2IChz b2NrZXQgMSkgLT4gVFggUD0wL1E9NDYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAw DQogIFJYIFA9MC9RPTQ3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDcgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ3IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9 NDcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ4IChzb2Nr ZXQgMSkgLT4gVFggUD0xL1E9NDggKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQog IFJYIFA9MS9RPTQ4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NDggKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTQ5IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NDkg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTQ5IChzb2NrZXQg MSkgLT4gVFggUD0wL1E9NDkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJY IFA9MC9RPTUwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTAgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTUwIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTAgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTUxIChzb2NrZXQgMSkg LT4gVFggUD0xL1E9NTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9 MS9RPTUxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAwDQogIFJYIFA9MC9RPTUyIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTIgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTUyIChzb2NrZXQgMSkgLT4g VFggUD0wL1E9NTIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9R PTUzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAxDQogIFJYIFA9MS9RPTUzIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTMgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU0IChzb2NrZXQgMSkgLT4gVFgg UD0xL1E9NTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU0 IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTQgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAw OjAwDQogIFJYIFA9MC9RPTU1IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTUgKHNvY2tldCAxKSBw ZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU1IChzb2NrZXQgMSkgLT4gVFggUD0w L1E9NTUgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU2IChz b2NrZXQgMSkgLT4gVFggUD0xL1E9NTYgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAx DQogIFJYIFA9MS9RPTU2IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTYgKHNvY2tldCAxKSBwZWVy PTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU3IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9 NTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU3IChzb2Nr ZXQgMSkgLT4gVFggUD0wL1E9NTcgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQog IFJYIFA9MC9RPTU4IChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NTggKHNvY2tldCAxKSBwZWVyPTAy OjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTU4IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTgg KHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTU5IChzb2NrZXQg MSkgLT4gVFggUD0xL1E9NTkgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJY IFA9MS9RPTU5IChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NTkgKHNvY2tldCAxKSBwZWVyPTAyOjAw OjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTYwIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjAgKHNv Y2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYwIChzb2NrZXQgMSkg LT4gVFggUD0wL1E9NjAgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9 MC9RPTYxIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjEgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAw OjAwOjAwOjAxDQogIFJYIFA9MS9RPTYxIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NjEgKHNvY2tl dCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQogIFJYIFA9MC9RPTYyIChzb2NrZXQgMSkgLT4g VFggUD0xL1E9NjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9R PTYyIChzb2NrZXQgMSkgLT4gVFggUD0wL1E9NjIgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAw OjAwOjAwDQogIFJYIFA9MC9RPTYzIChzb2NrZXQgMSkgLT4gVFggUD0xL1E9NjMgKHNvY2tldCAx KSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAxDQogIFJYIFA9MS9RPTYzIChzb2NrZXQgMSkgLT4gVFgg UD0wL1E9NjMgKHNvY2tldCAxKSBwZWVyPTAyOjAwOjAwOjAwOjAwOjAwDQoNCiAgcnhvbmx5IHBh Y2tldCBmb3J3YXJkaW5nIHBhY2tldHMvYnVyc3Q9MzINCiAgbmIgZm9yd2FyZGluZyBjb3Jlcz0x IC0gbmIgZm9yd2FyZGluZyBwb3J0cz0yDQogIHBvcnQgMDogUlggcXVldWUgbnVtYmVyOiA2NCBU eCBxdWV1ZSBudW1iZXI6IDY0DQogICAgUnggb2ZmbG9hZHM9MHgwIFR4IG9mZmxvYWRzPTB4MTAw MDANCiAgICBSWCBxdWV1ZTogMA0KICAgICAgUlggZGVzYz0yNTYgLSBSWCBmcmVlIHRocmVzaG9s ZD0zMg0KICAgICAgUlggdGhyZXNob2xkIHJlZ2lzdGVyczogcHRocmVzaD04IGh0aHJlc2g9OCAg d3RocmVzaD0wDQogICAgICBSWCBPZmZsb2Fkcz0weDANCiAgICBUWCBxdWV1ZTogMA0KICAgICAg VFggZGVzYz0yNTYgLSBUWCBmcmVlIHRocmVzaG9sZD0zMg0KICAgICAgVFggdGhyZXNob2xkIHJl Z2lzdGVyczogcHRocmVzaD0zMiBodGhyZXNoPTAgIHd0aHJlc2g9MA0KICAgICAgVFggb2ZmbG9h ZHM9MHgxMDAwMCAtIFRYIFJTIGJpdCB0aHJlc2hvbGQ9MzINCiAgcG9ydCAxOiBSWCBxdWV1ZSBu dW1iZXI6IDY0IFR4IHF1ZXVlIG51bWJlcjogNjQNCiAgICBSeCBvZmZsb2Fkcz0weDAgVHggb2Zm bG9hZHM9MHgxMDAwMA0KICAgIFJYIHF1ZXVlOiAwDQogICAgICBSWCBkZXNjPTI1NiAtIFJYIGZy ZWUgdGhyZXNob2xkPTMyDQogICAgICBSWCB0aHJlc2hvbGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTgg aHRocmVzaD04ICB3dGhyZXNoPTANCiAgICAgIFJYIE9mZmxvYWRzPTB4MA0KICAgIFRYIHF1ZXVl OiAwDQogICAgICBUWCBkZXNjPTI1NiAtIFRYIGZyZWUgdGhyZXNob2xkPTMyDQogICAgICBUWCB0 aHJlc2hvbGQgcmVnaXN0ZXJzOiBwdGhyZXNoPTMyIGh0aHJlc2g9MCAgd3RocmVzaD0wDQogICAg ICBUWCBvZmZsb2Fkcz0weDEwMDAwIC0gVFggUlMgYml0IHRocmVzaG9sZD0zMgowMy8wNy8yMDIw IDAxOjQzOjM0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZmxvdyBjcmVhdGUgMCBp bmdyZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAgICAgICAgICAgICAgZ3Rw dSB0ZWlkIGlzIDB4NzEzYzdlYTAgLyBlbmQgYWN0aW9ucyBxdWV1ZSBpbmRleCA0MSAvIGVuZAow My8wNy8yMDIwIDAxOjQzOjM0ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogZmxvdyBj cmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAgICAgICAg ICAgICAgZ3RwdSB0ZWlkIGlzIDB4NzEzYzdlYTAgLyBlbmQgYWN0aW9ucyBxdWV1ZSBpbmRleCA0 MSAvIGVuZA0NCkZsb3cgcnVsZSAjMCBjcmVhdGVkCjAzLzA3LzIwMjAgMDE6NDM6MzQgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQzOjM2ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBu b3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENv dWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0 aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6 NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBj dXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVS KSwNCg0KKHNjYXB5OjI0MzM3KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6 NDM6MzYuMDkwG1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RL X0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5 WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNt G1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBk ZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZh aWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0 aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFt ICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAg G1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5 eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAy LjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9T G1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAg ICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYv c2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8v WRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAg ICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1sz NG0bWzFtICAgfCBXZSBhcmUgaW4gRnJhbmNlLCB3ZSBzYXkgU2thcHBlZS4bWzBtDQobWzMybRtb MW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtbMG0bWzM0bRtbMW0gICB8 IE9LPyBNZXJjaS4bWzBtDQobWzMybRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAg ICAgUy8vUBtbMG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgIC0tIFNlYmFzdGllbiBDaGFiYWwb WzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0b WzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kvLy8vWUNjICAgICAgICAg IGFDLy9ZcCAbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZLy9QQ3lwYWFweUNQLy9Z U3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZLy8vLy8vWVBTcHMgICAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2FhY3MgICAgICAgICAbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBtbMG0KMDMv MDcvMjAyMCAwMTo0MzozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NzEzYzdlYTAp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0MzozOCAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjQzOjM4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDM6MzggICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 Mzo0MCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAx OjQzOjQxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDM6 NDYgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgNDE6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hl ZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVjZWl2ZSBxdWV1 ZT0weDI5DQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSA0MTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0x IC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAg IC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tl dCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQg LSBSZWNlaXZlIHF1ZXVlPTB4MjkNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KCjAzLzA3LzIwMjAgMDE6NDM6NDYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiBzY2FweQowMy8wNy8yMDIwIDAxOjQzOjQ3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiBy ZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0 aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0 cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzog R2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdk ay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjI0MzU1KTogR2Rr LRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDM6NDcuNDg4G1swbTogZ2RrX2N1cnNv cl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBm YWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2Ug cHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZv dW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0K G1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQ eXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxl ZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8v WUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5 eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29t ZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBz eVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFz QVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQob WzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtb MW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAg ICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0b WzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAg ICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBtZSBpZiB5 b3UgY2FuLhtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBw Ly9ZG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAgICAgLS0gSVB2NiBsYXllchtbMG0N ChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRt G1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBw WS9ZYRtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAg MDE6NDM6NDkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UCgpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NzEz YzdlYTApL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0Mzo0 OSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8w Ny8yMDIwIDAxOjQzOjQ5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0 aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4NzEzYzdlYTApL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0Mzo0OSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQzOjUxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog ZXhpdCgpCjAzLzA3LzIwMjAgMDE6NDM6NTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAKMDMvMDcvMjAyMCAwMTo0Mzo1NyAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBv cnQgMC9xdWV1ZSA0MTogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJf c2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBW NF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0 MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MjkNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9S WF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NV TV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDQxOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBs ZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3 IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgyOQ0KICBvbF9mbGFnczogUEtU X1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTo0Mzo1NyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6NDM6NTkgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBj b25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQg bm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24z LjYvc2l0ZS1wYWNrYWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTog RGVwcmVjYXRpb25XYXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNv cnMuTU9WRTogICAgICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0K DQooc2NhcHk6MjQzNzMpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTo0Mzo1 OC45MjUbWzBtOiBnZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNf RElTUExBWSAoZGlzcGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBX b24ndCBiZSBhYmxlIHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFt V0FSTklORzogTm8gcm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1 bHQgcm91dGU/KRtbMG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFi bGUuIFVzaW5nIHN0YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24s IEhpc3RvcnkgYXJlIGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgICAgICAgICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8 G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBt G1szNG0bWzFtICAgfCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5 eVNDUC8vUHAgICAgICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4z G1swbQ0KG1szMm0bWzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBt G1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBj U1NwcyB5Ly9ZG1swbRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2Fw eRtbMG0NChtbMzJtG1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAg ICBjeVAvLy8vQxtbMG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgcC8vL0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtb MW0gICB8IFdlIGFyZSBpbiBGcmFuY2UsIHdlIHNheSBTa2FwcGVlLhtbMG0NChtbMzJtG1sxbSAg ICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRtG1sxbSAgIHwgT0s/ IE1lcmNpLhtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBT Ly9QG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgLS0gU2ViYXN0aWVuIENoYWJhbBtbMG0N ChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbRtbMzRt G1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMv L1lwIBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAg G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8y MDIwIDAxOjQ0OjAxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMikvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjAxICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDQ6MDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2 KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NzEzYzdlYTIpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDowMSAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjAz ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6NDQ6 MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTo0NDowOCAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW NF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0 MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTkwIC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDQ6MDggICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQ0OjEwICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29u bmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5v dCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42 L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERl cHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3Jz Lk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0K KHNjYXB5OjI0MzkxKTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDQ6MTAu MzMyG1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJ U1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29u J3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdB Uk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0 IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxl LiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBI aXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtb MzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlT Q1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtb MG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtb MzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NT cHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkb WzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0b WzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAg Y3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFt ICAgfCBDcmFmdCBwYWNrZXRzIGJlZm9yZSB0aGV5IGNyYWZ0G1swbQ0KG1szMm0bWzFtICAgICAg IHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCB5b3UuG1sw bQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1sz NG0bWzFtICAgfCAgICAgICAgICAgICAgICAgICAgICAtLSBTb2NyYXRlG1swbQ0KG1szMm0bWzFt ICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfBtb MG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0K G1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDQ6 MTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VE UChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTIgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoxMiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBv cnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjEyICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MTIgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9JUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9 ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxMiAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjEyICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTIgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoxMiAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NzEzYzdlYTApL0lQKCkvVURQKCkvUmF3KCJYIioyMCld LCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjEzICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MTMgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9JUCgpL1RDUCgpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxMyAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjEz ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVAoKS9TQ1RQKCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjEzICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDQ6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9JUCgpL0lDTVAo KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTMgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAy MCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigp L0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVAo KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTMgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAy MCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigp L0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVAo ZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6 MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMv MDcvMjAyMCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtF dGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2Vh MCkvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDQ6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3 MTNjN2VhMCkvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDQ6MTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHg3MTNjN2VhMCkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ0OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MTMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4NzEzYzdlYTApL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVu czIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjEzICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVB2NigpL0lQdjZFeHRIZHJGcmFnbWVudCgpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxMyAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjQ0OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVB2NigpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxNCAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVB2NigpL1VE UCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxNCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVB2 NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NDoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2Vh MCkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDQ6MTQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 NzEzYzdlYTApL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoxNCAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkvSVB2NigpL0lQdjZFeHRIZHJGcmFnbWVudCgpL1Jhdygi WCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoxNCAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0 OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2Nigp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDcxM2M3ZWEwKS9JUHY2KCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjE0ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDQ6MTQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2 KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4NzEzYzdlYTApL0lQdjYoKS9V RFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MTQg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcv MjAyMCAwMTo0NDoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhl cigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHg3MTNjN2VhMCkv SVB2NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTo0NDoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDcx M2M3ZWEwKS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMv MDcvMjAyMCAwMTo0NDoxNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQg MSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIo dGVpZD0weDcxM2M3ZWEwKS9JUHY2KG5oPTU4KS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjE0ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MTYgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAyMCAwMTo0NDoxNyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAxOjQ0OjIyICAgICAgICAgICAgIGR1 dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTI4ODE2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywgVk5JID0gNzQyMTA1NCAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBw dHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODg5NiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx MjMsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVu Z3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkw IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBs ZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5O RUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFn czogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQog IHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgw ODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktO T1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAt IHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49 MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5h dGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQog IG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRf RVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9M NF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEy LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dO IElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVj ZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBo dyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VY VF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5 cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5L Tk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAt IFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0x IC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW NF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYg TDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0 OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3 NDIxMDU0IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBu Yl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5F Ul9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3Ro PTEyMiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9H VFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVu PTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBv cnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRk IC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dO IFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQw IC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRp b24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRf RlJBRyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04g IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVjZWl2ZSBxdWV1ZT0weDAN CiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBL VF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBW NF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVS X0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0 IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkx MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1 ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VN X0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBl OiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05P V04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5 cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJl Y2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0g aHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9F WFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNzQy MTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJf c2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJf TDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQ S1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRf Q0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3Jj PTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQg LSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDc0MjEwNTQgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDow MDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVu Z3RoPTEzOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gNzQyMTA1NCAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2 ZGQgLSBsZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05P V04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0 X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVjZWl2ZSBxdWV1 ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dO IElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA3NDIxMDU0IC0gUmVj ZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAg MDE6NDQ6MjIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBmbG93IGNyZWF0ZSAwIGlu Z3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAgICAgICAgICAgICAgICAgICBndHB1 IHRlaWQgaXMgMHgzZjEzYzhkMyAvIGlwdjQgLyBlbmQgYWN0aW9ucyBxdWV1ZSBpbmRleCAxMiAv IGVuZAowMy8wNy8yMDIwIDAxOjQ0OjIyICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzog ZmxvdyBjcmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4gZXRoIC8gaXB2NCAvIHVkcCAvICAgICAgICAg ICAgICAgICAgICAgZ3RwdSB0ZWlkIGlzIDB4M2YxM2M4ZDMgLyBpcHY0IC8gZW5kIGFjdGlvbnMg cXVldWUgaW5kZXggMTIgLyBlbmQNDQpGbG93IHJ1bGUgIzEgY3JlYXRlZAowMy8wNy8yMDIwIDAx OjQ0OjIyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAw MTo0NDoyNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNl cnZlcjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGlu aXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xv Y2FsL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFj a2VuZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRl cHJlY2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vy c29yVHlwZS5GTEVVUiksDQoNCihzY2FweToyNDQxOCk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBt ICoqOiAbWzM0bTAxOjQ0OjIzLjkyOBtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBh c3NlcnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENh bid0IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAo KS4bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5h dGlvbiA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQ eXRob24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQu DQpBdXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0N ChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRt G1sxbRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAg G1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNz ICBzY3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMy bRtbMW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0g ICB8IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAg ICAgICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcEND Q0NZLy9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1 Yi5jb20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAg ICAgIHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgQS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1sz NG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAg ICBBLy9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIEkgY3JhZnQgbXkgYmVl ci4bWzBtDQobWzMybRtbMW0gICAgICAgc2NjY2NjcC8vL3BTUC8vL3AgICAgICAgICAgcC8vWRtb MG0bWzM0bRtbMW0gICB8ICAgICAgICAgICAgICAgLS0gSmVhbiBEZSBDbGVyY2sbWzBtDQobWzMy bRtbMW0gICAgICBzWS8vLy8vLy8vL3kgIGNhYSAgICAgICAgICAgUy8vUBtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEb WzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8vLy9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0N ChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kvL1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkvLy8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFjcyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjQ0 OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9V RFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MjYgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoy NiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQKGZyYWc9NSkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjI2ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDQ6MjYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQzKS9JUCgpL1VEUCgp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoyNiAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjQ0OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9U Q1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MjYg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcv MjAyMCAwMTo0NDoyNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhl cigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQ KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NDoyNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ0OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhk MykvSVAoKS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ0OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDQ6MjYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 M2YxM2M4ZDMpL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ0OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDQ6MjYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 M2YxM2M4ZDMpL0lQKGZyYWc9NSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQ0OjI2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MjYgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4M2YxM2M4ZDMpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ0OjI3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MjcgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQKCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5z MjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjI3ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MjcgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dU UF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQKCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZh Y2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDoyNyAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjI3ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0y MTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQzKS9JUCgpL0lDTVAoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MjcgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDoyOSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjQ0OjI5 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDQ6MzQgICAg ICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05MCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNo PTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBM NF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6 IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQx MzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD05MCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcg cHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRf VU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgz MiAtIFJlY2VpdmUgcXVldWU9MHhjDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAxMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3Ro PTk4IC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlw ZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktO T1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0g bDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0 eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBS ZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTAg LSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBM M19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04g SU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2Vp dmUgcXVldWU9MHhjDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAxMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEwMiAtIG5i X3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQ VjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUg cXVldWU9MHhjDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQ S1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQg MC9xdWV1ZSAxMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAt IGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTk4IC0gbmJfc2Vn cz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNF9F WFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0 X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAt IGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIs IERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1 ZT0weGMNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9S WF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1 ZXVlIDEyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0x IC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHhjDQogIG9sX2ZsYWdz OiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxMjogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBo YXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHhjDQogIG9sX2ZsYWdzOiBQ S1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1Rf UlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxMjogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNo PTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUg SU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0g VlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0y MTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weGMNCiAgb2xfZmxhZ3M6IFBLVF9S WF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDEyOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDg2ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgw IElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5F Ul9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZE SVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 ODZkZCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9 MHgwICAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wz X0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIg UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZk ZCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgw ICAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQ VjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAwMTo0NDozNCAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNjYXB5CjAzLzA3LzIwMjAgMDE6NDQ6MzYgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25u ZWN0aW9uIHJlZnVzZWQNClVuYWJsZSB0byBpbml0IHNlcnZlcjogQ291bGQgbm90IGNvbm5lY3Q6 IENvbm5lY3Rpb24gcmVmdXNlZA0KL3Vzci9sb2NhbC9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNr YWdlcy9tYXRwbG90bGliL2JhY2tlbmRzL2JhY2tlbmRfZ3RrMy5weTo0MTogRGVwcmVjYXRpb25X YXJuaW5nOiBHZGsuQ3Vyc29yLm5ldyBpcyBkZXByZWNhdGVkDQogIGN1cnNvcnMuTU9WRTogICAg ICAgICAgR2RrLkN1cnNvci5uZXcoR2RrLkN1cnNvclR5cGUuRkxFVVIpLA0KDQooc2NhcHk6MjQ0 MzYpOiBHZGstG1sxOzM1bUNSSVRJQ0FMG1swbSAqKjogG1szNG0wMTo0NDozNi4yMTIbWzBtOiBn ZGtfY3Vyc29yX25ld19mb3JfZGlzcGxheTogYXNzZXJ0aW9uICdHREtfSVNfRElTUExBWSAoZGlz cGxheSknIGZhaWxlZA0KG1szOW1JTkZPOiBDYW4ndCBpbXBvcnQgUHlYLiBXb24ndCBiZSBhYmxl IHRvIHVzZSBwc2R1bXAoKSBvciBwZGZkdW1wKCkuG1swbQ0KG1szM20bWzFtV0FSTklORzogTm8g cm91dGUgZm91bmQgZm9yIElQdjYgZGVzdGluYXRpb24gOjogKG5vIGRlZmF1bHQgcm91dGU/KRtb MG0bWzBtDQobWzMzbRtbMW1XQVJOSU5HOiBJUHl0aG9uIG5vdCBhdmFpbGFibGUuIFVzaW5nIHN0 YW5kYXJkIFB5dGhvbiBzaGVsbCBpbnN0ZWFkLg0KQXV0b0NvbXBsZXRpb24sIEhpc3RvcnkgYXJl IGRpc2FibGVkLhtbMG0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAg ICBhU1BZLy9ZQVNhICAgICAgIBtbMG0bWzM0bRtbMW0bWzBtDQobWzMybRtbMW0gICAgICAgICAg ICAgYXB5eXl5Q1kvLy8vLy8vLy8vWUNhICAgIBtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgc1kvLy8vLy9ZU3BjcyAgc2NwQ1kvL1BwICAbWzBtG1szNG0bWzFtICAg fCBXZWxjb21lIHRvIFNjYXB5G1swbQ0KG1szMm0bWzFtIGF5cCBheXl5eXl5eVNDUC8vUHAgICAg ICAgICAgIHN5WS8vQyAbWzBtG1szNG0bWzFtICAgfCBWZXJzaW9uIDIuNC4zG1swbQ0KG1szMm0b WzFtIEFZQXNBWVlZWVlZWVkvLy9QcyAgICAgICAgICAgICAgY1kvL1MbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHBDQ0NDWS8vcCAgICAgICAgICBjU1NwcyB5Ly9ZG1sw bRtbMzRtG1sxbSAgIHwgaHR0cHM6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweRtbMG0NChtbMzJt G1sxbSAgICAgICAgIFNQUFBQLy8vYSAgICAgICAgICBwUC8vL0FDLy9ZG1swbRtbMzRtG1sxbSAg IHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIEEvL0EgICAgICAgICAgICBjeVAvLy8vQxtb MG0bWzM0bRtbMW0gICB8IEhhdmUgZnVuIRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgcC8v L0FjICAgICAgICAgICAgc0MvLy9hG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgIFAvLy8vWUNwYyAgICAgICAgICAgQS8vQRtbMG0bWzM0bRtbMW0gICB8IENyYWZ0 IHBhY2tldHMgbGlrZSBJIGNyYWZ0IG15IGJlZXIuG1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2Nj Y3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAg IC0tIEplYW4gRGUgQ2xlcmNrG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEg ICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlD eWF5UC8vWWEgICAgICAgICAgICAgIHBZL1lhG1swbQ0KG1szMm0bWzFtICAgICAgICBzWS9Qc1kv Ly8vWUNjICAgICAgICAgIGFDLy9ZcCAbWzBtDQobWzMybRtbMW0gICAgICAgICBzYyAgc2NjYUNZ Ly9QQ3lwYWFweUNQLy9ZU3MgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgIHNwQ1BZ Ly8vLy8vWVBTcHMgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICBjY2Fh Y3MgICAgICAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIBtbMG0KMDMvMDcvMjAyMCAwMTo0NDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDozOCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQs ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoZnJhZz01KS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MzggICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 NDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkv VURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhk MykvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0NDozOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDozOCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9TQ1RQKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjM4ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6 MzggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VE UChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMp L0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTo0NDozOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjQ0OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ0OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MzkgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoZnJhZz01KS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6MzkgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDozOSAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAo Y2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQzKS9J UCgpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NDozOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ0OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4M2YxM2M4ZDMpL0lQKCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6MzkgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVAoKS9TQ1RQKCkvUmF3KCJY IioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjM5ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6 MzkgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkv VURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhk MykvSVAoKS9JQ01QKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ0OjM5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDQ6NDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBl eGl0KCkKMDMvMDcvMjAyMCAwMTo0NDo0MiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IAowMy8wNy8yMDIwIDAxOjQ0OjQ3ICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9y dCAwL3F1ZXVlIDEyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAw IC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9z ZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weGMNCiAgb2xf ZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDEyOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNo ZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFn czogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVk IDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6 RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBo YXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weGMNCiAgb2xfZmxhZ3M6IFBL VF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDEyOiByZWNlaXZlZCAxIHBh Y2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0g dHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9 MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJ Tk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JY X0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09V VEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4MDgwMCAtIGxlbmd0aD0xMDIgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAg SUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVS X0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIg TDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExB TiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIs IFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZE SVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVS X0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0K ICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4 MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0w eDAgIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNf SVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBh Y2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5J ID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHhjDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQ S1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRf Q0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAxMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRk IC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAg IC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBW NF9FWFRfVU5LTk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJf bGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBl ID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNl aXZlIHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dP T0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpw b3J0IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBu Yl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19J UFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5O RVJfTDRfRlJBRyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVu PTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0z Mjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZl IHF1ZXVlPTB4Yw0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMTI6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTggLSBuYl9z ZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY2 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJf TDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTky LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVl dWU9MHhjDQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1Rf UlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9x dWV1ZSAxMjogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzMCAtIG5iX3NlZ3M9 MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9U Q1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0w eGMNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDEyOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZG OkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0g RkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5L Tk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weGMN CiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDEy OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gRkRJ UiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weGMNCiAg b2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NV TV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDQ6 NDcgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQ0 OjQ4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVy OiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBz ZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwv bGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5k X2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVj YXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JU eXBlLkZMRVVSKSwNCg0KKHNjYXB5OjI0NDU1KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6 IBtbMzRtMDE6NDQ6NDguNTA4G1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2Vy dGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3Qg aW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtb MG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9u IDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhv biBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1 dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFt G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBt G1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNj cENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sx bSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwg VmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAg ICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kv L3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNv bS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAg cFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBB Ly9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQob WzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtb MW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEv L0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBwYWNrZXRzIGxpa2UgSSBjcmFmdCBteSBiZWVyLhtb MG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtb MzRtG1sxbSAgIHwgICAgICAgICAgICAgICAtLSBKZWFuIERlIENsZXJjaxtbMG0NChtbMzJtG1sx bSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwb WzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0N ChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1sz Mm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtb MW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDQ6NTAg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQ1KS9JUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDo1MCAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjUwICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBv cnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkNSkvSVAoZnJhZz01KS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDQ6NTAgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDo1 MCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDUpL0lQKCkvVURQKCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjUxICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQ1KS9JUCgpL1RDUCgp L1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDo1MSAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIw IDAxOjQ0OjUxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkv SVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkNSkvSVAoKS9T Q1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjUx ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQ1KS9J UCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEz YzhkNSkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRw KFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEz YzhkNSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHgzZjEzYzhkNSkvSVAoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHgzZjEzYzhkNSkvSVAoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6NDQ6NTEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHgzZjEzYzhkNSkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ0OjUxICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDQ6NTEgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDUpL0lQKCkvSUNNUCgpL1JhdygiWCIqMjApXSwg aWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NDo1MSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ0OjUzICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgpCjAzLzA3LzIwMjAgMDE6NDQ6NTQgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMvMDcvMjAyMCAwMTo0NDo1OSAgICAgICAg ICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOICAtIHN3IHB0eXBl OiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9s ZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAg cG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdz OiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJf TDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAg c3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4 MDAgLSBsZW5ndGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0y MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAg b2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRf VURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBE ZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJ Tk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMDIgLSBuYl9zZWdzPTEgLSBodyBw dHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9V TktOT1dOIElOTkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNr ZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMy IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD05OCAtIG5iX3NlZ3M9 MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQ VjRfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExMCAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjRfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBw YWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMz ODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMTAgLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0x MTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0w MDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0g bGVuZ3RoPTEzMCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0 eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBs NF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBV RFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDg2ZGQgLSBsZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VO S05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQ ICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0 aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgw DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQ VjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9JQ01QICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCgowMy8wNy8yMDIwIDAxOjQ0 OjU5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2NhcHkKMDMvMDcvMjAyMCAwMTo0 NTowMSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IFVuYWJsZSB0byBpbml0IHNlcnZl cjogQ291bGQgbm90IGNvbm5lY3Q6IENvbm5lY3Rpb24gcmVmdXNlZA0KVW5hYmxlIHRvIGluaXQg c2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQovdXNyL2xvY2Fs L2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL21hdHBsb3RsaWIvYmFja2VuZHMvYmFja2Vu ZF9ndGszLnB5OjQxOiBEZXByZWNhdGlvbldhcm5pbmc6IEdkay5DdXJzb3IubmV3IGlzIGRlcHJl Y2F0ZWQNCiAgY3Vyc29ycy5NT1ZFOiAgICAgICAgICBHZGsuQ3Vyc29yLm5ldyhHZGsuQ3Vyc29y VHlwZS5GTEVVUiksDQoNCihzY2FweToyNDQ3Myk6IEdkay0bWzE7MzVtQ1JJVElDQUwbWzBtICoq OiAbWzM0bTAxOjQ1OjAwLjgwNRtbMG06IGdka19jdXJzb3JfbmV3X2Zvcl9kaXNwbGF5OiBhc3Nl cnRpb24gJ0dES19JU19ESVNQTEFZIChkaXNwbGF5KScgZmFpbGVkDQobWzM5bUlORk86IENhbid0 IGltcG9ydCBQeVguIFdvbid0IGJlIGFibGUgdG8gdXNlIHBzZHVtcCgpIG9yIHBkZmR1bXAoKS4b WzBtDQobWzMzbRtbMW1XQVJOSU5HOiBObyByb3V0ZSBmb3VuZCBmb3IgSVB2NiBkZXN0aW5hdGlv biA6OiAobm8gZGVmYXVsdCByb3V0ZT8pG1swbRtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IElQeXRo b24gbm90IGF2YWlsYWJsZS4gVXNpbmcgc3RhbmRhcmQgUHl0aG9uIHNoZWxsIGluc3RlYWQuDQpB dXRvQ29tcGxldGlvbiwgSGlzdG9yeSBhcmUgZGlzYWJsZWQuG1swbRtbMG0NChtbMzJtG1sxbSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgG1swbRtbMzRtG1sxbRtbMG0NChtb MzJtG1sxbSAgICAgICAgICAgICAgICAgICAgIGFTUFkvL1lBU2EgICAgICAgG1swbRtbMzRtG1sx bRtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICBhcHl5eXlDWS8vLy8vLy8vLy9ZQ2EgICAgG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICAgICBzWS8vLy8vL1lTcGNzICBz Y3BDWS8vUHAgIBtbMG0bWzM0bRtbMW0gICB8IFdlbGNvbWUgdG8gU2NhcHkbWzBtDQobWzMybRtb MW0gYXlwIGF5eXl5eXl5U0NQLy9QcCAgICAgICAgICAgc3lZLy9DIBtbMG0bWzM0bRtbMW0gICB8 IFZlcnNpb24gMi40LjMbWzBtDQobWzMybRtbMW0gQVlBc0FZWVlZWVlZWS8vL1BzICAgICAgICAg ICAgICBjWS8vUxtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgcENDQ0NZ Ly9wICAgICAgICAgIGNTU3BzIHkvL1kbWzBtG1szNG0bWzFtICAgfCBodHRwczovL2dpdGh1Yi5j b20vc2VjZGV2L3NjYXB5G1swbQ0KG1szMm0bWzFtICAgICAgICAgU1BQUFAvLy9hICAgICAgICAg IHBQLy8vQUMvL1kbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAg QS8vQSAgICAgICAgICAgIGN5UC8vLy9DG1swbRtbMzRtG1sxbSAgIHwgSGF2ZSBmdW4hG1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBwLy8vQWMgICAgICAgICAgICBzQy8vL2EbWzBtG1szNG0b WzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgUC8vLy9ZQ3BjICAgICAgICAgICBB Ly9BG1swbRtbMzRtG1sxbSAgIHwgQ3JhZnQgcGFja2V0cyBsaWtlIGl0IGlzIHlvdXIgbGFzdBtb MG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtb MzRtG1sxbSAgIHwgZGF5IG9uIGVhcnRoLhtbMG0NChtbMzJtG1sxbSAgICAgIHNZLy8vLy8vLy8v eSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAgICAg ICAgLS0gTGFvLVR6ZRtbMG0NChtbMzJtG1sxbSAgICAgICBjYXlDeWF5UC8vWWEgICAgICAgICAg ICAgIHBZL1lhG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgIHNZL1BzWS8v Ly9ZQ2MgICAgICAgICAgYUMvL1lwIBtbMG0NChtbMzJtG1sxbSAgICAgICAgIHNjICBzY2NhQ1kv L1BDeXBhYXB5Q1AvL1lTcyAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgc3BDUFkv Ly8vLy9ZUFNwcyAgICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICAgICAgIGNjYWFj cyAgICAgICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgG1swbQowMy8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjEyMykvR1RQX1VfSGVhZGVyKHRl aWQ9MHgzZjEzYzhkMykvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDU6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 M2YxM2M4ZDMpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NTowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhk MykvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjAzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDU6MDMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMpL1Jh dygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTowMyAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAx OjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVB2NigpL0lQ djZFeHRIZHJGcmFnbWVudCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTo0NTowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHgzZjEzYzhkMykvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcv MjAyMCAwMTo0NTowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBw YWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rl cjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MHgzZjEzYzhkMykvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikK MDMvMDcvMjAyMCAwMTo0NTowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNl bnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHgzZjEzYzhkMykvSVB2NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIy NWYwIikKMDMvMDcvMjAyMCAwMTo0NTowMyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjAzICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNl PSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MDMgICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTowMyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIp L0dUUF9VX0hlYWRlcih0ZWlkPTB4M2YxM2M4ZDMpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MDMgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTow MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9V RFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVB2NigpL0lQdjZF eHRIZHJGcmFnbWVudCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0NTowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjA0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0w eDNmMTNjOGQzKS9JUHY2KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8y MDIwIDAxOjQ1OjA0ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBh Y2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTB4M2YxM2M4ZDMpL0lQdjYoKS9VRFAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIp CjAzLzA3LzIwMjAgMDE6NDU6MDQgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpT ZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTowNCAgICAgICAgICAgICAgICAgICAgICAg ICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MHgzZjEzYzhkMykvSVB2NigpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVu czIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTowNCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjA0ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQzKS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwg aWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTowNCAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjA0ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDNmMTNjOGQzKS9JUHY2KG5oPTU4KS9JQ01QKCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjA0ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6NDU6MDYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBleGl0KCkKMDMvMDcvMjAy MCAwMTo0NTowNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IAowMy8wNy8yMDIwIDAx OjQ1OjExICAgICAgICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0NzogcG9ydCAwL3F1ZXVlIDA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBl OiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBDICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTI4ODE2LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjEyMywg Vk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ QyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODg5NiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxMjMsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTcwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQ VjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQg TDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0 OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0 MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6 MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD05MCAtIG5i X3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAtIHN3 IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAg LSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlv biBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9s X2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhf T1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhU X1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9G UkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBs M19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBE ZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9 MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiAg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGlu YXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4MA0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJf TDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEy LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6 IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9X TiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwy X2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlw ZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVj ZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9J UF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVl IDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6 RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBo dyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VY VF9VTktOT1dOIElOTkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBw YWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSA0MTMz ODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwz X0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4g cGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBW TkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9D S1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktO T1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0x MzggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQ VSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0ZSQUcgIC0gc3cgcHR5cGU6IEwy X0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04 IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0 ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBL VF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9D S1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAt IGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBU VU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhF UiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZY TEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1 MiwgVk5JID0gNDEzMzgzMiAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5n dGg9MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xl bj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBw b3J0ID0yMTUyLCBWTkkgPSA0MTMzODMyIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6 IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9M NF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZk ZCAtIGxlbmd0aD0xNTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9X TiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1RDUCAgLSBz dyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQw IC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRp b24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBv bF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JY X09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNr ZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5 cGU9MHg4NmRkIC0gbGVuZ3RoPTE0MiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY2X0VY VF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRf U0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5Miwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04g SU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJf bGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBl ID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDQxMzM4MzIgLSBSZWNl aXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcvMjAyMCAw MTo0NToxMSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGZsb3cgY3JlYXRlIDAgaW5n cmVzcyBwYXR0ZXJuIGV0aCAvIGlwdjQgLyB1ZHAgLyAgICAgICAgICAgICAgICAgICAgIGd0cHUg dGVpZCBpcyAweDMwZDEwMTFlIC8gaXB2NiAvIGVuZCBhY3Rpb25zIHF1ZXVlIGluZGV4IDIwIC8g ZW5kCjAzLzA3LzIwMjAgMDE6NDU6MTIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBm bG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVybiBldGggLyBpcHY0IC8gdWRwIC8gICAgICAgICAg ICAgICAgICAgICBndHB1IHRlaWQgaXMgMHgzMGQxMDExZSAvIGlwdjYgLyBlbmQgYWN0aW9ucyBx dWV1ZSBpbmRleCAyMCAvIGVuZA0NCkZsb3cgcnVsZSAjMiBjcmVhdGVkCjAzLzA3LzIwMjAgMDE6 NDU6MTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAx OjQ1OjEzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2Vy dmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5p dCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9j YWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNr ZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVw cmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJz b3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjI0NDkyKTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0g Kio6IBtbMzRtMDE6NDU6MTMuNDY4G1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFz c2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2Fu J3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgp LhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0 aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5 dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4N CkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0b WzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAb WzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3Mg IHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJt G1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAg IHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAg ICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0ND Q1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHVi LmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAg ICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg ICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBt DQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0 bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAg IEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBwYWNrZXRzIGxpa2UgSSBjcmFmdCBteSBiZWVy LhtbMG0NChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1sw bRtbMzRtG1sxbSAgIHwgICAgICAgICAgICAgICAtLSBKZWFuIERlIENsZXJjaxtbMG0NChtbMzJt G1sxbSAgICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAg IHwbWzBtDQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtb MG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0K G1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDU6 MTUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VE UChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFlKS9JUHY2KCkvSVB2NkV4 dEhkckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ1OjE1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDU6MTUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMw ZDEwMTFlKS9JUHY2KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ1OjE1ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDU6MTUgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMw ZDEwMTFlKS9JUHY2KCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0weDMwZDEwMTFlKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFk ZXIodGVpZD0weDMwZDEwMTFlKS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVu czIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NToxNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAg ICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVB2NihuaD01OCkvSUNNUCgpL1JhdygiWCIqMjAp XSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NToxNiAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjE2ICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChk cG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFlKS9JUHY2KCkvSVB2NkV4dEhk ckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAx OjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMu CjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5k cChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBk MTAxMWUpL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAg MDE6NDU6MTYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0 cy4KMDMvMDcvMjAyMCAwMTo0NToxNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNl bmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgz MGQxMDExZSkvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMv MDcvMjAyMCAwMTo0NToxNiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQg MSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIo dGVpZD0weDMwZDEwMTFlKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9V X0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFj ZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjE2ICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MTYgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 NToxOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAx OjQ1OjE5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDU6 MjQgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMjA6IHJlY2Vp dmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6 RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNo ZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5F TF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlw ZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRf bGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQ IHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MTQNCiAgb2xfZmxh Z3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09E IFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDIwOiByZWNlaXZl ZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZG OkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVk IGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxf R1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBh Y2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5J ID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIg UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBz cmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgw MCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgw ICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQ VjZfRVhUX1VOS05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0 IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tl dDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0g MzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtU X1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NL U1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9 MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAt IGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAt IGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZf RVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0 X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDog cGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5 OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JY X0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VN X1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxl bmd0aD0xMjIgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3 IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhU X1VOS05PV04gSU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9V RFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBh Y2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTky MzMgLSBSZWNlaXZlIHF1ZXVlPTB4MTQNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9M NF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9V TktOT1dOIA0KcG9ydCAwL3F1ZXVlIDIwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5n dGg9MTE4IC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBw dHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9V TktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNr ZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMz IC0gUmVjZWl2ZSBxdWV1ZT0weDE0DQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAyMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDow MDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3Ro PTEzOCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5 cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5L Tk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAt IFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0x MzAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBl OiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05P V04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwz X2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERl c3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0w eDE0DQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhf SVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1 ZSAyMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1G RjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAt IEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VO S05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAg IC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xl bj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3Rp bmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDE0 DQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAy MDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE1MCAtIG5iX3NlZ3M9MSAtIEZE SVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05P V04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0g c3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00 MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0 aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDE0DQog IG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyMDog cmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpG RjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE0MiAtIG5iX3NlZ3M9MSAtIEZESVIg bWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3 IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAg LSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlv biBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBv bF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VN X0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJl Y2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6 RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBGRElSIG1h dGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRV Tk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBw dHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0g bDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24g VURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MTQNCiAgb2xf ZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9H T09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDU6MjQg ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQ1OjI2 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBD b3VsZCBub3QgY29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2 ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGli NjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0 azMucHk6NDE6IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRl ZA0KICBjdXJzb3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBl LkZMRVVSKSwNCg0KKHNjYXB5OjI0NTE4KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtb MzRtMDE6NDU6MjUuNzcxG1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlv biAnR0RLX0lTX0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1w b3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0N ChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6 IChubyBkZWZhdWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBu b3QgYXZhaWxhYmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9D b21wbGV0aW9uLCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1sz NG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZ Ly9QcCAgG1swbRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBh eXAgYXl5eXl5eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVy c2lvbiAyLjQuMxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAg IGNZLy9TG1swbRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3Ag ICAgICAgICAgY1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9z ZWNkZXYvc2NhcHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAv Ly9BQy8vWRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9B ICAgICAgICAgICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMy bRtbMW0gICAgICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0g ICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0Eb WzBtG1szNG0bWzFtICAgfCBDcmFmdCBwYWNrZXRzIGxpa2UgSSBjcmFmdCBteSBiZWVyLhtbMG0N ChtbMzJtG1sxbSAgICAgICBzY2NjY2NwLy8vcFNQLy8vcCAgICAgICAgICBwLy9ZG1swbRtbMzRt G1sxbSAgIHwgICAgICAgICAgICAgICAtLSBKZWFuIERlIENsZXJjaxtbMG0NChtbMzJtG1sxbSAg ICAgIHNZLy8vLy8vLy8veSAgY2FhICAgICAgICAgICBTLy9QG1swbRtbMzRtG1sxbSAgIHwbWzBt DQobWzMybRtbMW0gICAgICAgY2F5Q3lheVAvL1lhICAgICAgICAgICAgICBwWS9ZYRtbMG0NChtb MzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0b WzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0g ICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAg ICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDU6MjggICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChjaGtz dW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYo KS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAz LzA3LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50 IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NToyOCAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVB2NigpL1JhdygiWCIqMjApXSwgaWZhY2U9 ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NToyOCAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjI4ICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoY2hrc3VtPTB4MTIz NCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFlKS9JUHY2KCkvVURQKCkv UmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjI4ICAgICAg ICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAg MDE6NDU6MjggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9J UCgpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBk MTAxMWUpL0lQdjYoKS9UQ1AoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NToyOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVB2NigpL1NDVFAoKS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NToyOCAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGNoa3N1bT0w eDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVB2NihuaD01 OCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NToyOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ1OjI4ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAo W0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRl cih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYoKS9JUHY2RXh0SGRyRnJhZ21lbnQoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NToyOCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAo Y2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFlKS9J UHY2KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjI4 ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3 LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRo ZXIoKS9JUHY2KCkvVURQKGNoa3N1bT0weDEyMzQsZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHgzMGQxMDExZSkvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYw IikKMDMvMDcvMjAyMCAwMTo0NToyOCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4N ClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjI4ICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0 PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYoKS9UQ1AoKS9SYXcoIlgi KjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MjggICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NToy OCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9V RFAoY2hrc3VtPTB4MTIzNCxkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFl KS9JUHY2KCkvU0NUUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAy MCAwMTo0NToyOSAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNr ZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjI5ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog c2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChjaGtzdW09MHgxMjM0LGRwb3J0PTIxNTIpL0dUUF9V X0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQdjYobmg9NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0s IGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6MjkgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTozMSAgICAg ICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQoKQowMy8wNy8yMDIwIDAxOjQ1OjMxICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAzLzA3LzIwMjAgMDE6NDU6MzYgICAgICAg ICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFj a2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0 eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0w eDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlwZTogTDJfRVRI RVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBW WExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIx NTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MTQNCiAgb2xfZmxhZ3M6IFBLVF9S WF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDIwOiByZWNlaXZlZCAxIHBhY2tl dHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlw ZT0weDA4MDAgLSBsZW5ndGg9MTEwIC0gbmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgw IElEPTB4MCAgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5F Ul9MM19JUFY2X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIz MyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0 X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VO S05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6 MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0 aD0xMTggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0 eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VO S05PV04gSU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAg LSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0 IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAt IFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6 MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0x MzAgLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBl OiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05P V04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBs Ml9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5 cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJl Y2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMjIg LSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBM M19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04g SU5ORVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJf bGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBl ID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNl aXZlIHF1ZXVlPTB4MTQNCiAgb2xfZmxhZ3M6IFBLVF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9H T09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0K cG9ydCAwL3F1ZXVlIDIwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAw OjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTE4IC0g bmJfc2Vncz0xIC0gRkRJUiBtYXRjaGVkIGhhc2g9MHgwIElEPTB4MCAgLSBodyBwdHlwZTogTDNf SVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElO TkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2 ZSBxdWV1ZT0weDE0DQogIG9sX2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09P RCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBv cnQgMC9xdWV1ZSAyMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDow MCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5i X3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQ VjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUg cXVldWU9MHgxNA0KICBvbF9mbGFnczogUEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0Qg UEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0 IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9z ZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFzaD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY2 X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDE0DQogIG9s X2ZsYWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyMDogcmVj ZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpG RjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0 Y2hlZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVO TkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cgcHR5 cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0 X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVE UCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDE0DQogIG9sX2Zs YWdzOiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09P RCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE1MCAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hl ZCBoYXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVM X0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6 IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xl bj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBw b3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDE0DQogIG9sX2ZsYWdz OiBQS1RfUlhfRkRJUiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAyMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTE0MiAtIG5iX3NlZ3M9MSAtIEZESVIgbWF0Y2hlZCBo YXNoPTB4MCBJRD0weDAgIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgxNA0KICBvbF9mbGFnczog UEtUX1JYX0ZESVIgUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMjA6IHJlY2VpdmVkIDEg cGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYg LSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzggLSBuYl9zZWdzPTEgLSBGRElSIG1hdGNoZWQgaGFz aD0weDAgSUQ9MHgwICAtIGh3IHB0eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBV IElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJf RVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTgg LSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQg PTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MTQNCiAgb2xfZmxhZ3M6IFBL VF9SWF9GRElSIFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9S WF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDU6MzYgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQ1OjM4ICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3Qg Y29ubmVjdDogQ29ubmVjdGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxk IG5vdCBjb25uZWN0OiBDb25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9u My42L3NpdGUtcGFja2FnZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6 IERlcHJlY2F0aW9uV2FybmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJz b3JzLk1PVkU6ICAgICAgICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwN Cg0KKHNjYXB5OjI0NTM2KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDU6 MzguMDg4G1swbTogZ2RrX2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lT X0RJU1BMQVkgKGRpc3BsYXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4g V29uJ3QgYmUgYWJsZSB0byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sx bVdBUk5JTkc6IE5vIHJvdXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZh dWx0IHJvdXRlPykbWzBtG1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxh YmxlLiBVc2luZyBzdGFuZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9u LCBIaXN0b3J5IGFyZSBkaXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICAgICAgICAgYVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0b WzFtICAgICAgICAgICAgIGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAg fBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1sw bRtbMzRtG1sxbSAgIHwgV2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5 eXlTQ1AvL1BwICAgICAgICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQu MxtbMG0NChtbMzJtG1sxbSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1sw bRtbMzRtG1sxbSAgIHwbWzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAg Y1NTcHMgeS8vWRtbMG0bWzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2Nh cHkbWzBtDQobWzMybRtbMW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtb MG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAg ICAgY3lQLy8vL0MbWzBtG1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAg ICAgICAgICAgIHAvLy9BYyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0K G1szMm0bWzFtICAgICAgICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0b WzFtICAgfCBDcmFmdCBwYWNrZXRzIGxpa2UgaXQgaXMgeW91ciBsYXN0G1swbQ0KG1szMm0bWzFt ICAgICAgIHNjY2NjY3AvLy9wU1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCBk YXkgb24gZWFydGguG1swbQ0KG1szMm0bWzFtICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAg ICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCAgICAgICAgICAgICAgICAgICAgICAtLSBMYW8tVHpl G1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBt G1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sxbSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAg ICBhQy8vWXAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8v WVNzICAbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAg IBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAgICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1sw bQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAz LzA3LzIwMjAgMDE6NDU6NDAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChb RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTIw KS9JUHY2KCkvSVB2NkV4dEhkckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDAgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0weDMwZDEwMTIwKS9JUHY2KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDAgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0weDMwZDEwMTIwKS9JUHY2KCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0i ZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQwICAgICAgICAgICAgICAgICAgICAgICAgIHRl c3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDAgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTIwKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCldLCBp ZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQwICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDAgICAgICAg ICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0y MTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTIwKS9JUHY2KCkvU0NUUCgpL1JhdygiWCIq MjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTo0MCAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjQw ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDEyMCkvSVB2NihuaD01OCkvSUNN UCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTo0MCAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8y MDIwIDAxOjQ1OjQwICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVy KCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTIwKS9J UHY2KCkvSVB2NkV4dEhkckZyYWdtZW50KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ1OjQxICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDEgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hl YWRlcih0ZWlkPTB4MzBkMTAxMjApL0lQdjYoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVm MCIpCjAzLzA3LzIwMjAgMDE6NDU6NDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAu DQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo0MSAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1Vf SGVhZGVyKHRlaWQ9MHgzMGQxMDEyMCkvSVB2NigpL1VEUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9 ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0NTo0MSAgICAgICAgICAgICAgICAgICAgICAgICB0 ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjQxICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTIwKS9JUHY2KCkvVENQKCkvUmF3KCJYIioyMCld LCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQxICAgICAgICAgICAgICAgICAg ICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NDEgICAg ICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2KCkvVURQKGRw b3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMjApL0lQdjYoKS9TQ1RQKCkvUmF3 KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjQxICAgICAgICAg ICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6 NDU6NDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUHY2 KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMjApL0lQdjYobmg9 NTgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6 NDU6NDEgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4K MDMvMDcvMjAyMCAwMTo0NTo0MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IGV4aXQo KQowMy8wNy8yMDIwIDAxOjQ1OjQzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogCjAz LzA3LzIwMjAgMDE6NDU6NDggICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IDAv cXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRz dD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9 MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQ VjZfRVhUX1VOS05PV04gSU5ORVJfTDRfRlJBRyAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBW NCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNr ZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9 IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VN X0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04g DQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDow MDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAt IG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElO TkVSX0wzX0lQVjZfRVhUX1VOS05PV04gIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjQgTDRf VURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBw YWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5 MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09E IFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9y dCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAg LSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD0xMTggLSBuYl9z ZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9M M19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNf SVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBw YWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZO SSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NL U1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05P V04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDow MDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTEz MCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBV IElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9F VEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAt IFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9 MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1Rf UlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tT VU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAw OjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBs ZW5ndGg9MTIyIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVO TkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0 eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBs NF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBV RFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2Zs YWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VU RVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMN CiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0w eDA4MDAgLSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VO S05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5FUl9MNF9JQ01Q ICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19s ZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0 aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgw DQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQ S1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAx IHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZG IC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTM4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQ VjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5LTk9XTiBJTk5F Ul9MNF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49 MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMy OTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUg cXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tT VU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiBy ZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZG OkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTMwIC0gbmJfc2Vncz0xIC0gaHcgcHR5 cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRfVU5L Tk9XTiAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5Miwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEzOCAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBM M19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjZfRVhUX1VOS05PV04g SU5ORVJfTDRfVURQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9s ZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUg PTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2Vp dmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBf Q0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAw OiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZG OkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9MTUwIC0gbmJfc2Vncz0xIC0gaHcg cHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNl9FWFRf VU5LTk9XTiBJTk5FUl9MNF9UQ1AgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQ ICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNr ZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMz IC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBL VF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAw L3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBk c3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xNDIgLSBuYl9zZWdz PTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19J UFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X1NDVFAgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQ VjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFj a2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTUyLCBWTkkg PSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NV TV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dO IA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6 MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxlbmd0aD0xMzgg LSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJ Tk5FUl9MM19JUFY2X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0g VlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0y MTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9S WF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NV TV9VTktOT1dOIA0KCjAzLzA3LzIwMjAgMDE6NDU6NDggICAgICAgICAgICAgICAgICAgICAgICAg dGVzdGVyOiBzY2FweQowMy8wNy8yMDIwIDAxOjQ1OjUwICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3RlcjogVW5hYmxlIHRvIGluaXQgc2VydmVyOiBDb3VsZCBub3QgY29ubmVjdDogQ29ubmVj dGlvbiByZWZ1c2VkDQpVbmFibGUgdG8gaW5pdCBzZXJ2ZXI6IENvdWxkIG5vdCBjb25uZWN0OiBD b25uZWN0aW9uIHJlZnVzZWQNCi91c3IvbG9jYWwvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2Fn ZXMvbWF0cGxvdGxpYi9iYWNrZW5kcy9iYWNrZW5kX2d0azMucHk6NDE6IERlcHJlY2F0aW9uV2Fy bmluZzogR2RrLkN1cnNvci5uZXcgaXMgZGVwcmVjYXRlZA0KICBjdXJzb3JzLk1PVkU6ICAgICAg ICAgIEdkay5DdXJzb3IubmV3KEdkay5DdXJzb3JUeXBlLkZMRVVSKSwNCg0KKHNjYXB5OjI0NTU1 KTogR2RrLRtbMTszNW1DUklUSUNBTBtbMG0gKio6IBtbMzRtMDE6NDU6NTAuMzY4G1swbTogZ2Rr X2N1cnNvcl9uZXdfZm9yX2Rpc3BsYXk6IGFzc2VydGlvbiAnR0RLX0lTX0RJU1BMQVkgKGRpc3Bs YXkpJyBmYWlsZWQNChtbMzltSU5GTzogQ2FuJ3QgaW1wb3J0IFB5WC4gV29uJ3QgYmUgYWJsZSB0 byB1c2UgcHNkdW1wKCkgb3IgcGRmZHVtcCgpLhtbMG0NChtbMzNtG1sxbVdBUk5JTkc6IE5vIHJv dXRlIGZvdW5kIGZvciBJUHY2IGRlc3RpbmF0aW9uIDo6IChubyBkZWZhdWx0IHJvdXRlPykbWzBt G1swbQ0KG1szM20bWzFtV0FSTklORzogSVB5dGhvbiBub3QgYXZhaWxhYmxlLiBVc2luZyBzdGFu ZGFyZCBQeXRob24gc2hlbGwgaW5zdGVhZC4NCkF1dG9Db21wbGV0aW9uLCBIaXN0b3J5IGFyZSBk aXNhYmxlZC4bWzBtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAgICAgICAg YVNQWS8vWUFTYSAgICAgICAbWzBtG1szNG0bWzFtG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAg IGFweXl5eUNZLy8vLy8vLy8vL1lDYSAgICAbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sx bSAgICAgICAgICAgIHNZLy8vLy8vWVNwY3MgIHNjcENZLy9QcCAgG1swbRtbMzRtG1sxbSAgIHwg V2VsY29tZSB0byBTY2FweRtbMG0NChtbMzJtG1sxbSBheXAgYXl5eXl5eXlTQ1AvL1BwICAgICAg ICAgICBzeVkvL0MgG1swbRtbMzRtG1sxbSAgIHwgVmVyc2lvbiAyLjQuMxtbMG0NChtbMzJtG1sx bSBBWUFzQVlZWVlZWVlZLy8vUHMgICAgICAgICAgICAgIGNZLy9TG1swbRtbMzRtG1sxbSAgIHwb WzBtDQobWzMybRtbMW0gICAgICAgICBwQ0NDQ1kvL3AgICAgICAgICAgY1NTcHMgeS8vWRtbMG0b WzM0bRtbMW0gICB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zZWNkZXYvc2NhcHkbWzBtDQobWzMybRtb MW0gICAgICAgICBTUFBQUC8vL2EgICAgICAgICAgcFAvLy9BQy8vWRtbMG0bWzM0bRtbMW0gICB8 G1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICBBLy9BICAgICAgICAgICAgY3lQLy8vL0MbWzBt G1szNG0bWzFtICAgfCBIYXZlIGZ1biEbWzBtDQobWzMybRtbMW0gICAgICAgICAgICAgIHAvLy9B YyAgICAgICAgICAgIHNDLy8vYRtbMG0bWzM0bRtbMW0gICB8G1swbQ0KG1szMm0bWzFtICAgICAg ICAgICAgICBQLy8vL1lDcGMgICAgICAgICAgIEEvL0EbWzBtG1szNG0bWzFtICAgfCBDcmFmdCBw YWNrZXRzIGJlZm9yZSB0aGV5IGNyYWZ0G1swbQ0KG1szMm0bWzFtICAgICAgIHNjY2NjY3AvLy9w U1AvLy9wICAgICAgICAgIHAvL1kbWzBtG1szNG0bWzFtICAgfCB5b3UuG1swbQ0KG1szMm0bWzFt ICAgICAgc1kvLy8vLy8vLy95ICBjYWEgICAgICAgICAgIFMvL1AbWzBtG1szNG0bWzFtICAgfCAg ICAgICAgICAgICAgICAgICAgICAtLSBTb2NyYXRlG1swbQ0KG1szMm0bWzFtICAgICAgIGNheUN5 YXlQLy9ZYSAgICAgICAgICAgICAgcFkvWWEbWzBtG1szNG0bWzFtICAgfBtbMG0NChtbMzJtG1sx bSAgICAgICAgc1kvUHNZLy8vL1lDYyAgICAgICAgICBhQy8vWXAgG1swbQ0KG1szMm0bWzFtICAg ICAgICAgc2MgIHNjY2FDWS8vUEN5cGFhcHlDUC8vWVNzICAbWzBtDQobWzMybRtbMW0gICAgICAg ICAgICAgICAgICBzcENQWS8vLy8vL1lQU3BzICAgIBtbMG0NChtbMzJtG1sxbSAgICAgICAgICAg ICAgICAgICAgICAgY2NhYWNzICAgICAgICAgG1swbQ0KG1szMm0bWzFtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAbWzBtCjAzLzA3LzIwMjAgMDE6NDU6NTIgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTIz KS9HVFBfVV9IZWFkZXIodGVpZD0weDMwZDEwMTFlKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMy MjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVy OiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MiAgICAgICAgICAgICAgICAg ICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjEyMykvR1RQ X1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAi KQowMy8wNy8yMDIwIDAxOjQ1OjUyICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0K U2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NTIgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFk ZXIodGVpZD0weDMwZDEwMTFlKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3 LzIwMjAgMDE6NDU6NTIgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEg cGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0 ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHgzMGQxMDExZSkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIw IDAxOjQ1OjUzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tl dHMuCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBz ZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weDMw ZDEwMTFlKS9JUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAw MTo0NTo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRz LgowMy8wNy8yMDIwIDAxOjQ1OjUzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjogc2Vu ZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQx MDExZSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIw MjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFj a2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6 IHNlbmRwKFtFdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4 MzBkMTAxMWUpL0lQKCkvVURQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8w Ny8yMDIwIDAxOjQ1OjUzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAx IHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0weDMwZDEwMTFlKS9JUCgpL1RDUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikK MDMvMDcvMjAyMCAwMTo0NTo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNl bnQgMSBwYWNrZXRzLgowMy8wNy8yMDIwIDAxOjQ1OjUzICAgICAgICAgICAgICAgICAgICAgICAg IHRlc3Rlcjogc2VuZHAoW0V0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHgzMGQxMDExZSkvSVAoKS9TQ1RQKCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1 ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjUzICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rlcjog Lg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAg ICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0weDMwZDEwMTFlKS9JUCgpL0lDTVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MyAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVAoKS9SYXcoIlgiKjIwKV0sIGlmYWNlPSJl bnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MyAgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1Mikv R1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVAoZnJhZz01KS9SYXcoIlgiKjIwKV0sIGlm YWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MyAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVAoKS9VRFAoKS9SYXcoIlgiKjIw KV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAgICAgICAg ICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0NTo1MyAg ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVAoKS9UQ1AoKS9SYXco IlgiKjIwKV0sIGlmYWNlPSJlbnMyMjVmMCIpCjAzLzA3LzIwMjAgMDE6NDU6NTMgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdGVyOiAuDQpTZW50IDEgcGFja2V0cy4KMDMvMDcvMjAyMCAwMTo0 NTo1MyAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IHNlbmRwKFtFdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MHgzMGQxMDExZSkvSVAoKS9TQ1RQ KCkvUmF3KCJYIioyMCldLCBpZmFjZT0iZW5zMjI1ZjAiKQowMy8wNy8yMDIwIDAxOjQ1OjUzICAg ICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogLg0KU2VudCAxIHBhY2tldHMuCjAzLzA3LzIw MjAgMDE6NDU6NTMgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiBzZW5kcChbRXRoZXIo KS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4MzBkMTAxMWUpL0lQ KCkvSUNNUCgpL1JhdygiWCIqMjApXSwgaWZhY2U9ImVuczIyNWYwIikKMDMvMDcvMjAyMCAwMTo0 NTo1NCAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0ZXI6IC4NClNlbnQgMSBwYWNrZXRzLgow My8wNy8yMDIwIDAxOjQ1OjU2ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RlcjogZXhpdCgp CjAzLzA3LzIwMjAgMDE6NDU6NTYgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGVyOiAKMDMv MDcvMjAyMCAwMTo0NjowMSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgMC9x dWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0 PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9NzAgLSBuYl9zZWdzPTEg LSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQQyAgLSBzdyBwdHlwZTog TDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVu PTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0yODgxNiwgRGVzdGluYXRpb24gVURQIHBv cnQgPTIxMjMsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczog UEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0 X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNy Yz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRk IC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04g VFVOTkVMX0dUUEMgIC0gc3cgcHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xl bj0xNCAtIGwzX2xlbj00MCAtIGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9 Mjg4OTYsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0yMTIzLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2 ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9D S1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6 IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6 RkY6RkY6RkY6RkYgLSB0eXBlPTB4MDgwMCAtIGxlbmd0aD03MCAtIG5iX3NlZ3M9MSAtIGh3IHB0 eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVICAtIHN3IHB0eXBlOiBMMl9FVEhF UiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZY TEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1 MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhf TDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1f VU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAw OjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5n dGg9OTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5ORUxf R1RQVSAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0g bDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5Miwg RGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVl PTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dP T0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2 ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpG RjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwz X0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiAg LSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNfbGVu PTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjkxMiwgRGVzdGlu YXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4MA0K ICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0QgUEtU X1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQgMSBw YWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpGRiAt IHR5cGU9MHgwODAwIC0gbGVuZ3RoPTkwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRf RVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9M NF9GUkFHICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VEUCAgLSBsMl9sZW49MTQg LSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTEy LCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVl dWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1f R09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNl aXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZG OkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTggLSBuYl9zZWdzPTEgLSBodyBwdHlwZTog TDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dO IElOTkVSX0w0X1VEUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNCBMNF9VRFAgIC0gbDJf bGVuPTE0IC0gbDNfbGVuPTIwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBl ID0zMjkxMiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNl aXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQ X0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUg MDogcmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpG RjpGRjpGRjpGRjpGRiAtIHR5cGU9MHgwODAwIC0gbGVuZ3RoPTExMCAtIG5iX3NlZ3M9MSAtIGh3 IHB0eXBlOiBMM19JUFY0X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhU X1VOS05PV04gSU5ORVJfTDRfVENQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19JUFY0IEw0X1VE UCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBhY2tldDogcGFj a2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5JID0gMzE5OTIz MyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tTVU1fR09PRCBQ S1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9XTiANCnBvcnQg MC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAwOjAwOjAwIC0g ZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9MTAyIC0gbmJfc2Vn cz0xIC0gaHcgcHR5cGU6IEwzX0lQVjRfRVhUX1VOS05PV04gVFVOTkVMX0dUUFUgSU5ORVJfTDNf SVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9TQ1RQICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBMM19J UFY0IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49MjAgLSBsNF9sZW49OCAtIFZYTEFOIHBh Y2tldDogcGFja2V0IHR5cGUgPTMyOTEyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1MiwgVk5J ID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRfQ0tT VU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5LTk9X TiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAwOjAw OjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDA4MDAgLSBsZW5ndGg9OTgg LSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNF9FWFRfVU5LTk9XTiBUVU5ORUxfR1RQVSBJ Tk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X0lDTVAgIC0gc3cgcHR5cGU6IEwyX0VU SEVSIEwzX0lQVjQgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj0yMCAtIGw0X2xlbj04IC0g VlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5MTIsIERlc3RpbmF0aW9uIFVEUCBwb3J0ID0y MTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xfZmxhZ3M6IFBLVF9S WF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9PVVRFUl9MNF9DS1NV TV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0cw0KICBzcmM9MDA6 MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBlPTB4ODZkZCAtIGxl bmd0aD0xMTAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRfVU5LTk9XTiBUVU5O RUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOICAtIHN3IHB0eXBlOiBMMl9FVEhFUiBM M19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49OCAtIFZYTEFO IHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9ydCA9MjE1Miwg Vk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQS1RfUlhfTDRf Q0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fVU5L Tk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3JjPTAwOjAwOjAw OjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQgLSBsZW5ndGg9 MTEwIC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04gVFVOTkVMX0dU UFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9GUkFHICAtIHN3IHB0eXBlOiBM Ml9FVEhFUiBMM19JUFY2IEw0X1VEUCAgLSBsMl9sZW49MTQgLSBsM19sZW49NDAgLSBsNF9sZW49 OCAtIFZYTEFOIHBhY2tldDogcGFja2V0IHR5cGUgPTMyOTkyLCBEZXN0aW5hdGlvbiBVRFAgcG9y dCA9MjE1MiwgVk5JID0gMzE5OTIzMyAtIFJlY2VpdmUgcXVldWU9MHgwDQogIG9sX2ZsYWdzOiBQ S1RfUlhfTDRfQ0tTVU1fR09PRCBQS1RfUlhfSVBfQ0tTVU1fR09PRCBQS1RfUlhfT1VURVJfTDRf Q0tTVU1fVU5LTk9XTiANCnBvcnQgMC9xdWV1ZSAwOiByZWNlaXZlZCAxIHBhY2tldHMNCiAgc3Jj PTAwOjAwOjAwOjAwOjAwOjAwIC0gZHN0PUZGOkZGOkZGOkZGOkZGOkZGIC0gdHlwZT0weDg2ZGQg LSBsZW5ndGg9MTE4IC0gbmJfc2Vncz0xIC0gaHcgcHR5cGU6IEwzX0lQVjZfRVhUX1VOS05PV04g VFVOTkVMX0dUUFUgSU5ORVJfTDNfSVBWNF9FWFRfVU5LTk9XTiBJTk5FUl9MNF9VRFAgIC0gc3cg cHR5cGU6IEwyX0VUSEVSIEwzX0lQVjYgTDRfVURQICAtIGwyX2xlbj0xNCAtIGwzX2xlbj00MCAt IGw0X2xlbj04IC0gVlhMQU4gcGFja2V0OiBwYWNrZXQgdHlwZSA9MzI5OTIsIERlc3RpbmF0aW9u IFVEUCBwb3J0ID0yMTUyLCBWTkkgPSAzMTk5MjMzIC0gUmVjZWl2ZSBxdWV1ZT0weDANCiAgb2xf ZmxhZ3M6IFBLVF9SWF9MNF9DS1NVTV9HT09EIFBLVF9SWF9JUF9DS1NVTV9HT09EIFBLVF9SWF9P VVRFUl9MNF9DS1NVTV9VTktOT1dOIA0KcG9ydCAwL3F1ZXVlIDA6IHJlY2VpdmVkIDEgcGFja2V0 cw0KICBzcmM9MDA6MDA6MDA6MDA6MDA6MDAgLSBkc3Q9RkY6RkY6RkY6RkY6RkY6RkYgLSB0eXBl PTB4ODZkZCAtIGxlbmd0aD0xMzAgLSBuYl9zZWdzPTEgLSBodyBwdHlwZTogTDNfSVBWNl9FWFRf VU5LTk9XTiBUVU5ORUxfR1RQVSBJTk5FUl9MM19JUFY0X0VYVF9VTktOT1dOIElOTkVSX0w0X1RD UCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVuPTE0IC0gbDNf bGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0zMjk5MiwgRGVz dGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZlIHF1ZXVlPTB4 MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NLU1VNX0dPT0Qg UEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDogcmVjZWl2ZWQg MSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpGRjpGRjpGRjpG RiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTEyMiAtIG5iX3NlZ3M9MSAtIGh3IHB0eXBlOiBMM19J UFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VOS05PV04gSU5O RVJfTDRfU0NUUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAgIC0gbDJfbGVu PTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tldCB0eXBlID0z Mjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMgLSBSZWNlaXZl IHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtUX1JYX0lQX0NL U1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQpwb3J0IDAvcXVldWUgMDog cmVjZWl2ZWQgMSBwYWNrZXRzDQogIHNyYz0wMDowMDowMDowMDowMDowMCAtIGRzdD1GRjpGRjpG RjpGRjpGRjpGRiAtIHR5cGU9MHg4NmRkIC0gbGVuZ3RoPTExOCAtIG5iX3NlZ3M9MSAtIGh3IHB0 eXBlOiBMM19JUFY2X0VYVF9VTktOT1dOIFRVTk5FTF9HVFBVIElOTkVSX0wzX0lQVjRfRVhUX1VO S05PV04gSU5ORVJfTDRfSUNNUCAgLSBzdyBwdHlwZTogTDJfRVRIRVIgTDNfSVBWNiBMNF9VRFAg IC0gbDJfbGVuPTE0IC0gbDNfbGVuPTQwIC0gbDRfbGVuPTggLSBWWExBTiBwYWNrZXQ6IHBhY2tl dCB0eXBlID0zMjk5MiwgRGVzdGluYXRpb24gVURQIHBvcnQgPTIxNTIsIFZOSSA9IDMxOTkyMzMg LSBSZWNlaXZlIHF1ZXVlPTB4MA0KICBvbF9mbGFnczogUEtUX1JYX0w0X0NLU1VNX0dPT0QgUEtU X1JYX0lQX0NLU1VNX0dPT0QgUEtUX1JYX09VVEVSX0w0X0NLU1VNX1VOS05PV04gDQoKMDMvMDcv MjAyMCAwMTo0NjowMSAgICAgICAgICAgICAgICAgICAgIFRlc3REZHBHdHA6IFRlc3QgQ2FzZSB0 ZXN0X2ZkaXJfZ3RwdV9wZiBSZXN1bHQgUEFTU0VEOgowMy8wNy8yMDIwIDAxOjQ2OjAxICAgICAg ICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RvcAowMy8wNy8yMDIwIDAxOjQ2OjAxICAgICAg ICAgICAgIGR1dC4xMC4yNDAuMTgzLjI0Nzogc3RvcA0NClRlbGxpbmcgY29yZXMgdG8gc3RvcC4u Lg0KV2FpdGluZyBmb3IgbGNvcmVzIHRvIGZpbmlzaC4uLg0KDQogIC0tLS0tLS0gRm9yd2FyZCBT dGF0cyBmb3IgUlggUG9ydD0gMC9RdWV1ZT0gMCAtPiBUWCBQb3J0PSAxL1F1ZXVlPSAwIC0tLS0t LS0NCiAgUlgtcGFja2V0czogODQgICAgICAgICAgICAgVFgtcGFja2V0czogMCAgICAgICAgICAg ICAgVFgtZHJvcHBlZDogMCAgICAgICAgICAgICANCg0KICAtLS0tLS0tIEZvcndhcmQgU3RhdHMg Zm9yIFJYIFBvcnQ9IDAvUXVldWU9MTIgLT4gVFggUG9ydD0gMS9RdWV1ZT0xMiAtLS0tLS0tDQog IFJYLXBhY2tldHM6IDI0ICAgICAgICAgICAgIFRYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFRY LWRyb3BwZWQ6IDAgICAgICAgICAgICAgDQoNCiAgLS0tLS0tLSBGb3J3YXJkIFN0YXRzIGZvciBS WCBQb3J0PSAwL1F1ZXVlPTIwIC0+IFRYIFBvcnQ9IDEvUXVldWU9MjAgLS0tLS0tLQ0KICBSWC1w YWNrZXRzOiAyNCAgICAgICAgICAgICBUWC1wYWNrZXRzOiAwICAgICAgICAgICAgICBUWC1kcm9w cGVkOiAwICAgICAgICAgICAgIA0KDQogIC0tLS0tLS0gRm9yd2FyZCBTdGF0cyBmb3IgUlggUG9y dD0gMC9RdWV1ZT00MSAtPiBUWCBQb3J0PSAxL1F1ZXVlPTQxIC0tLS0tLS0NCiAgUlgtcGFja2V0 czogNCAgICAgICAgICAgICAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDog MCAgICAgICAgICAgICANCg0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZvcndhcmQgc3RhdGlz dGljcyBmb3IgcG9ydCAwICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIFJYLXBhY2tldHM6IDI3 MiAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAgICAgICAgICAgUlgtdG90YWw6IDI3Mg0KICBU WC1wYWNrZXRzOiAwICAgICAgICAgICAgICBUWC1kcm9wcGVkOiAwICAgICAgICAgICAgIFRYLXRv dGFsOiAwDQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t IEZvcndhcmQgc3RhdGlzdGljcyBmb3IgcG9ydCAxICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQog IFJYLXBhY2tldHM6IDAgICAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAgICAgICAgICAgUlgt dG90YWw6IDANCiAgVFgtcGFja2V0czogMCAgICAgICAgICAgICAgVFgtZHJvcHBlZDogMCAgICAg ICAgICAgICBUWC10b3RhbDogMA0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiAgKysrKysrKysr KysrKysrIEFjY3VtdWxhdGVkIGZvcndhcmQgc3RhdGlzdGljcyBmb3IgYWxsIHBvcnRzKysrKysr KysrKysrKysrDQogIFJYLXBhY2tldHM6IDI3MiAgICAgICAgICAgIFJYLWRyb3BwZWQ6IDAgICAg ICAgICAgICAgUlgtdG90YWw6IDI3Mg0KICBUWC1wYWNrZXRzOiAwICAgICAgICAgICAgICBUWC1k cm9wcGVkOiAwICAgICAgICAgICAgIFRYLXRvdGFsOiAwDQogICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysN Cg0KRG9uZS4KMDMvMDcvMjAyMCAwMTo0NjowMSAgICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4y NDc6IGRkcCBnZXQgbGlzdCAwCjAzLzA3LzIwMjAgMDE6NDY6MDEgICAgICAgICAgICAgZHV0LjEw LjI0MC4xODMuMjQ3OiBkZHAgZ2V0IGxpc3QgMA0NClByb2ZpbGUgbnVtYmVyIGlzOiAxDQoNClBy b2ZpbGUgMDoNClRyYWNrIGlkOiAgICAgMHg4MDAwMDAwOA0KVmVyc2lvbjogICAgICAxLjAuMy4w DQpQcm9maWxlIG5hbWU6IEdUUHYxLUMvVSBJUHY0L0lQdjYgcGF5bG9hZA0KCjAzLzA3LzIwMjAg MDE6NDY6MDEgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0b3AgYWxsCjAz LzA3LzIwMjAgMDE6NDY6MDIgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBwb3J0IHN0 b3AgYWxsDQ0KU3RvcHBpbmcgcG9ydHMuLi4NCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192Zigp OiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQoNClBvcnQgMDogbGluayBzdGF0 ZSBjaGFuZ2UgZXZlbnQNCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192ZigpOiBGYWlsIHRvIHNl bmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpDaGVja2luZyBsaW5rIHN0YXR1c2VzLi4uDQoNClBv cnQgMTogbGluayBzdGF0ZSBjaGFuZ2UgZXZlbnQNCmk0MGVfcGZfaG9zdF9zZW5kX21zZ190b192 ZigpOiBGYWlsIHRvIHNlbmQgbWVzc2FnZSB0byBWRiwgZXJyIDEyDQpEb25lCjAzLzA3LzIwMjAg MDE6NDY6MDMgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3OiBkZHAgZGVsIDAgL3RtcC9n dHAuYmFrCjAzLzA3LzIwMjAgMDE6NDY6MDMgICAgICAgICAgICAgZHV0LjEwLjI0MC4xODMuMjQ3 OiBkZHAgZGVsIDAgL3RtcC9ndHAuYmFrDQowMy8wNy8yMDIwIDAxOjQ2OjAzICAgICAgICAgICAg IGR1dC4xMC4yNDAuMTgzLjI0NzogZGRwIGdldCBsaXN0IDAKMDMvMDcvMjAyMCAwMTo0NjowMyAg ICAgICAgICAgICBkdXQuMTAuMjQwLjE4My4yNDc6IGRkcCBnZXQgbGlzdCAwDQ0KUHJvZmlsZSBu dW1iZXIgaXM6IDANCgowMy8wNy8yMDIwIDAxOjQ2OjAzICAgICAgICAgICAgIGR1dC4xMC4yNDAu MTgzLjI0NzogcG9ydCBzdGFydCBhbGwKMDMvMDcvMjAyMCAwMTo0NjowNCAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IHBvcnQgc3RhcnQgYWxsDQ0KaTQwZV9wZl9ob3N0X3NlbmRfbXNn X3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBtZXNzYWdlIHRvIFZGLCBlcnIgMTINCmk0MGVfZmxvd19h ZGRfZGVsX2ZkaXJfZmlsdGVyKCk6IENvbmZsaWN0IHdpdGggZXhpc3RpbmcgZmxvdyBkaXJlY3Rv ciBydWxlcyENCmk0MGVfZmxvd19hZGRfZGVsX2ZkaXJfZmlsdGVyKCk6IENvbmZsaWN0IHdpdGgg ZXhpc3RpbmcgZmxvdyBkaXJlY3RvciBydWxlcyENCmk0MGVfZmxvd19hZGRfZGVsX2ZkaXJfZmls dGVyKCk6IENvbmZsaWN0IHdpdGggZXhpc3RpbmcgZmxvdyBkaXJlY3RvciBydWxlcyENClBvcnQg MDogM0M6RkQ6RkU6QTM6QTA6OTYNClBvcnQgMTogM0M6RkQ6RkU6QTM6QTA6OTcNCkNoZWNraW5n IGxpbmsgc3RhdHVzZXMuLi4NCkRvbmUKMDMvMDcvMjAyMCAwMTo0NjowNCAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IHF1aXQKMDMvMDcvMjAyMCAwMTo0NjowNSAgICAgICAgICAgICBk dXQuMTAuMjQwLjE4My4yNDc6IHF1aXQNDQoNClN0b3BwaW5nIHBvcnQgMC4uLg0KU3RvcHBpbmcg cG9ydHMuLi4NCkRvbmUNCg0KU3RvcHBpbmcgcG9ydCAxLi4uDQpTdG9wcGluZyBwb3J0cy4uLg0K aTQwZV9wZl9ob3N0X3NlbmRfbXNnX3RvX3ZmKCk6IEZhaWwgdG8gc2VuZCBtZXNzYWdlIHRvIFZG LCBlcnIgMTINCkRvbmUNCg0KU2h1dHRpbmcgZG93biBwb3J0IDAuLi4NCkNsb3NpbmcgcG9ydHMu Li4NCkRvbmUNCg0KU2h1dHRpbmcgZG93biBwb3J0IDEuLi4NCkNsb3NpbmcgcG9ydHMuLi4NCkRv bmUNCg0KQnllLi4uCjAzLzA3LzIwMjAgMDE6NDY6MDUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZHRzOiAKVEVTVCBTVUlURSBFTkRFRDogVGVzdERkcEd0cAo= --_002_6FD6A7610D20924F885A4ECF34E8AC910462637FCDSMSX102ccrcor_--