From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 36DE91B53 for ; Thu, 23 Mar 2017 17:42:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490287371; x=1521823371; h=message-id:date:mime-version:subject:from:to:cc; bh=sfL+oo4qdSyMUqaE3FiMqxDqKSzgJYuAdtsGkRCY/NI=; b=VYJpBhmZImrH6i+ZeKjxLzTJHKFBhBHVRiUpLf6gLZmIHBl78iBly0Qt EYEr76j/F2+8vGfqAiZWOd6tBVmR4w==; Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Mar 2017 09:42:45 -0700 Message-Id: <63cbe6$12511t4@fmsmga002.fm.intel.com> Date: 23 Mar 2017 09:42:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,210,1486454400"; d="scan'208";a="1146128292" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by fmsmga002.fm.intel.com with ESMTP; 23 Mar 2017 09:42:41 -0700 Content-Type: multipart/alternative; boundary="===============7784927700940579175==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw22152 [PATCH v3 5/5] doc: add pipeline personalization profile support for i40e X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2017 16:42:53 -0000 --===============7784927700940579175== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yMjE1MgoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogVGh1LCAyMyBNYXIgMjAx NyAxODowMjoyOCArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBCcmFuY2g6bWFz dGVyLCBDb21taXRJRDo4NGFhYzk3YjQ5OTk0YmU2YjQ2MWI0NmJlMTYwYjQ3OTM4ZTY5N2IzCgpQ YXRjaDIyMTQ4LTIyMTUyIC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6IDE4IEJ1aWxk cyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25tZW50IGFuZCBj b25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVsIFZlcnNpb246 My4xMC4wLTUxNC4xMC4yLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikg Q1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNC44LjUg MjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNCkKICAgIENsYW5nIFZlcnNpb246My40LjIKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZApPUzogRnJlZUJTRDEwLjNfNjQKICAg IEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAgQ1BVIGluZm86IEludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk3LU1IeiBLOC1jbGFzcyBDUFUpCiAg ICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMgQ29sbGVjdGlvbikgNC44LjUKICAgIENs YW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCiAgICB4ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOS4x My0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5MTYg KFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IFVCMTYwNF82NAogICAg S2VybmVsIFZlcnNpb246NC40LjAtNjQtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVv bihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1 IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9u OjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJzaW9u OjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIp IENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAgICBp Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK ICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKCkZhaWxlZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNp b24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVt Y21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNp b27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMDU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNTozMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAm cC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4OiBl cnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzQwOjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYg KHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg 4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9z ZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwog ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIpIHsK ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6 NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo2MzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgoc3Ry dWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0g aTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAg c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4ODo1NzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6Mzog ZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVfcHJv ZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3RhdHVz ID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJyb3I6IG5lc3Rl ZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9y PW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdt ZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDY6NTc6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6 IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDM6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwMzozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lv biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQw ZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAo JnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1 OjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2df aGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog IG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRf VFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVj bGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1u ZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRB REFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0 YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVU QURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0 YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDi gJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNF R01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog ICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkcikt PnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBl X3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAg KChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3Nl Z19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCgoKRmFpbGVkIEJ1aWxkICMzOgpPUzogUkhFTDcuMl82NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZl cnNpb24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAh bWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3Zl cnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNTozMTogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1l LCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4 OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzQwOjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAg aWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0 YV9zZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkg KwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIp IHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz NjA6NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo2MzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgo c3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19p ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRy ID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3Nzox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAg ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m b+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQg Kilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4ODo1NzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6 MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVf cHJvZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3Rh dHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJyb3I6IG5l c3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDY6NTc6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjNDoK T1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFz IGluY29tcGxldGUgZWxlbWVudCB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIwOjUxOiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0 MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyOTo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRh X2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAg ICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2Vj LT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjMwOjM6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29t cGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjU6IGVycm9y OiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZP OwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIzMToyMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05f VFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIn CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy ICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjMzOjIyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9m JyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAg ICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf cHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07 CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNToxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0 KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM3OjE0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUs IG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM4OjE1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkoJnBpbmZvLT52ZXJz aW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAg ICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv IHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjg6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg ICAgICAgICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAg ICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2lu Zm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDoxNTogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ0k0MEVfUFBQX0FERF9UUkFDS0lEJwogICAgICAgICAgICAgICAg cGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyNDI6ODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgICAgICBwaW5mby0+b3AgPSBJ NDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8n CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAg ICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBb LWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9y IHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNp cGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiBy ZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3Rh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxk ICM1OgpPUzogRnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MK XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNpb24sICZwLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwg JnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxl dGUgdHlwZSAnc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24nCiAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3BwcF92ZXJzaW9uKSkgJiYKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjIxOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNt cCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDU6MzE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDY6ODogZXJyb3I6ICdJNDBFX1BQUF9OQU1FX1NJWkUnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05B TUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdydGVfcG1kX2k0MGVfcHJv Y2Vzc19wcHBfcGFja2FnZSc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0 aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcGFja2FnZV9o ZWFkZXInCiAgaWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9tZXRh ZGF0YV9zZWdtZW50JwogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQp ICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAy KSB7CiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX2ZpbmRfc2Vn bWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDog ZXJyb3I6ICdTRUdNRU5UX1RZUEVfTUVUQURBVEEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM2OTo0OTogZXJyb3I6ICdTRUdNRU5UX1RZUEVfSTQwRScgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3ODox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hk ciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ2k0MGVfd3JpdGVfcHJvZmlsZScgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX3dy aXRlX3Byb2ZpbGUnIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDY6NTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgJigoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRy KS0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZv ciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZh aWxlZAoKCkZhaWxlZCBCdWlsZCAjNjoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1kZWJ1ZwoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6MDoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu aDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8g cF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMDo1 MTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2VjKGNoYXIgKm5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uICp2ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50 Ymxfc2l6ZSA9IDE7CiAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToyNTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIzMToyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9U WVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjMxOjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjMxOiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPnNlY3Rpb24u b2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6Mjk6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yo c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNjo3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBwaW5mby0+dHJhY2tf aWQgPSB0cmFja19pZDsKICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6Mjg6IGVycm9yOiDigJhJNDBFX1BQ UF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg bWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6NDI6IGVycm9y OiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2 ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiDi gJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDI6MTU6IGVycm9yOiDigJhJNDBFX1BQ UF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfYWRkX3Jt X3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NToxMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50cmFja19pZDsKICAgICAgICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyNTc6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNl Yy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NzoyOiBl cnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX3dyaXRlX3BwcOKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcCho dywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5Ojg6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dl dF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyODk6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgcmV0ID0gaTQw ZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBefn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5OToxNjog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKA mQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlv biDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MDoyMTog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVv ZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBefn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChw a2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoy MTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VH TUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRp b24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2Fn ZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjUw OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM2Njo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRyYWNrX2lkID0gKChzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNzc6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pLAogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MTI6IGVycm9yOiBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJv ZmlsZShodywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJy b3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAg ICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5h bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp NDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUgZm9yIHRhcmdldCAnZHJp dmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpG YWlsZWQgQnVpbGQgIzc6Ck9TOiBGQzI0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjog YXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IGVycm9yOiDigJhzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhpNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMjk6MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6 MTA6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9y OiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjozMTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6 NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFt ZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM4OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Bw cF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0 cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RS QUNLSUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZv LT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyNTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNl Yy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjEx OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0 ZV9wcHDigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVz ID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MjogZXJyb3I6IG5lc3RlZCBleHRl cm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVk LWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBz ZWMtPmRhdGFfZW5kLAogIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3By b2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4OTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2 b2lkICopYnVmZiwKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN0 4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0 KGh3LCAodm9pZCAqKWJ1ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyOTk6MTY6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTMwNjo4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9j b3VudCA8IDIpIHsKICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3Nl Z19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFU QSwKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRh dGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01F VEFEQVRBLAogIF5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01F TlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdN RU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21l dGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2Vn bWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0 OTogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2lu X3BhY2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXpl b2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/i gJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAg ICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQog ICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+ bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJu IGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTQwNTo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdl dCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9y IHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUg Zm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM4OgpP UzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6NjI6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFzIGluY29t cGxldGUgZWxlbWVudCB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIwOjUxOiBlcnJvcjogZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2aXNpYmxl IG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0MGVfZ2Vu ZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv biAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMjg6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+dGJsX3Np emUgPSAxOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyOTo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRhX2VuZCA9 IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgfn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjE4OiBl cnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRh X2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAg ICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjM6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjU6IGVycm9yOiBpbmNv bXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAg ICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MToyMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05fVFlQRV9J TkZPJwogICAgICAgIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6NTogZXJyb3I6IGluY29tcGxldGUg ZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcik7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAg ICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjMyOjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAn c2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMg PSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6NTogZXJyb3I6IGluY29tcGxldGUg ZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byk7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjMzOjIyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBh biBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzZWMt PnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu aDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTIzNToxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0KTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0 Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAq c2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg IHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAg ICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjM3OjE0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUsIG5hbWUs IEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAg ICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjM3OjI4OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSTQw RV9QUFBfTkFNRV9TSVpFJwogICAgICAgIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9Q UFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIzODoxNTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwg c2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICB+fn5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzODozNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bicKICAgICAgICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0 IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJwppNDBlX2dl bmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3ZlcnNp b24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjQwOjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0g STQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1m ZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBl IGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVj aXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1r OjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAj OToKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQK CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjogYXJy YXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IGVycm9yOiDigJhzdHJ1Y3Qg aTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBu b3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBb LVdlcnJvcl0KIGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlv biDigJhpNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAgIF5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyMjk6MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6MTA6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDi gJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjozMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVf aW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVf aW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6Nzog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwg bmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM4OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92 ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVj dCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RSQUNL SUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5v cCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0 MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEyNTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+ c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjExOiBl cnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0ZV9w cHDigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVzID0g aTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4g ZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMt PmRhdGFfZW5kLAogIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3Byb2Zp bGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTI4OTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lk ICopYnVmZiwKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3 LCAodm9pZCAqKWJ1ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyOTk6MTY6IGVycm9yOiBpbnZhbGlkIGFwcGxp Y2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6 MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yoc3Ry dWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMw Njo4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3By b2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxp Y2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2Fn ZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVj dCBpNDBlX21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1 NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3Vu dCA8IDIpIHsKICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZ IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19o ZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwK ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFf c2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFE QVRBLAogIF5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5U X1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVu dCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0OTog ZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3Bh Y2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjog aW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAg ICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAg ICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFt ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRl Y2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0 ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTQwNTo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAn aTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRh cmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0OiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMDoKT1M6 IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2MjowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDoyNzogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGlu Y29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjIwOjUxOiBlcnJvcjog4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNp b27igJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBpNDBl X2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3Zl cnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9nZW5l cmF0ZV9wcm9maWxlX2luZm9fc2Vj4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXLigJkKICBzZWMtPnRibF9zaXplID0gMTsKICAgICBefgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjI1 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPmRh dGFfZW5kID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjEwOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv KTsKICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjIyOiBlcnJvcjog4oCYU0VDVElPTl9UWVBF X0lORk/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgc2VjLT5z ZWN0aW9uLnR5cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsKICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzI6MzE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIzMzoyOTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZ IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzZWMt PnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVf aW5mb+KAmQogIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgXn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz NzoyODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZW1jcHkocGluZm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQ X05BTUVfU0laRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzODo0MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogIG1l bWNweSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTI0MDoxNTogZXJyb3I6IOKAmEk0MEVfUFBQX0FERF9UUkFDS0lE4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9B RERfVFJBQ0tJRDsKICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0 MjoxNTogZXJyb3I6IOKAmEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9SRU1PVkVf VFJBQ0tJRDsKICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4g ZnVuY3Rpb24g4oCYaTQwZV9hZGRfcm1fcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU1OjEwOiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0 KSktPnRyYWNrX2lkOwogICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NzoxMTogZXJyb3I6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVf cHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9m IOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHN0YXR1 cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9jaGVja19wcm9maWxlX2luZm/igJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEyODk6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0 MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAodm9pZCAqKWJ1ZmYsCiAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4OToyOiBlcnJvcjogbmVzdGVkIGV4dGVy biBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0 ZWQtZXh0ZXJuc10KICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZm LAogIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjk5OjE2OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXLigJkKICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXIpKTsKICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA0OjE1OiBlcnJvcjogaW52 YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0 cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92 ZXJzaW9uKSkgJiYKICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDY6ODogZXJyb3I6IOKA mEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgICAgICBJNDBFX1BQUF9OQU1FX1NJWkUpKSB7CiAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNr YWdl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzQwOjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy 4oCZCiAgaWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0 YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Bh Y2thZ2VfaGVhZGVy4oCZCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAyKSB7CiAgICAg ICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzYwOjIxOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1pbXBs aWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyOiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNr YWdl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBefn5+fn5+ fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNjA6NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2Vn X2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRB LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgdHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9z ZWdfaGRyKS0+dHJhY2tfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDigJhTRUdN RU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRf VFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz Nzg6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzg3OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5 ODoxMjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3Jp dGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAg c3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDi gJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50 ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVh dGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwv cnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8n IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5t azo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJn ZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTE6Ck9TOiBVQjE2MDRfNjQKVGFy Z2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjI6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuaDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1l bnQgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9m aWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICAgYm9vbCBhZGQpCiAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBb LVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2Vj4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBz ZWMtPnRibF9zaXplID0gMTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6MjU6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjMwOjEwOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQog ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MToyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lO Rk87CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IG5vdGU6IGVhY2ggdW5k ZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlv biBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6MzE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMzM6Mjk6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNp emVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZ CiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6NzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy Mzc6Mjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQ UF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM4OjQy OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDoxNTogZXJyb3I6 IOKAmEk0MEVfUFBQX0FERF9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9BRERfVFJBQ0tJRDsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfYWRkX3JtX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NToxMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50 cmFja19pZDsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NzoxMTogZXJyb3I6IGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3 LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6Mjog ZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDi gJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAo aHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCY aTQwZV9jaGVja19wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyODk6ODogZXJyb3I6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHJldCA9IGk0MGVfYXFfZ2V0X3Bw cF9saXN0KGh3LCAodm9pZCAqKWJ1ZmYsCiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVycm9yOiBu ZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFst V2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAo dm9pZCAqKWJ1ZmYsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjk5OjE2OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIpKTsKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4OiBlcnJvcjog4oCY STQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQw OjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHNpemUgPCAo c2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hk ci0+c2VnbWVudF9jb3VudCA8IDIpIHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyMTogZXJy b3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9zZWdtZW50 X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg bWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9U WVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFj a2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjUwOiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRh dGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21l bnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MTI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3By b2ZpbGXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjM6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxl KGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAg ICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNp cGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYx OiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6 MTI5OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJl X2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVk IEJ1aWxkICMxMjoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjog YXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjog4oCYc3RydWN0IGk0 MGVfcHBwX3ZlcnNpb27igJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9y XQogICAgICAgICAgIGJvb2wgYWRkKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMjoxMTogZXJyb3I6 IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2gg aXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjI5OjI1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLi gJkKICBzZWMtPmRhdGFfZW5kID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZ UEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMt PnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjMxOjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMy OjMxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMt PnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHBpbmZvLT50cmFja19p ZCA9IHRyYWNrX2lkOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBf TkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1l bWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzODo0MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbuKAmQogIG1lbWNweSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0g STQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MjoxNTogZXJy b3I6IOKAmEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxl X2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkK ICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyNTc6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBl X2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9l bmQsCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xh cmF0aW9uIG9mIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5z XQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRh X2VuZCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjg5Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAog ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTI4OToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBy ZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5 OToxNjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAg ICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27i gJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEzMDY6ODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICBJNDBFX1BQUF9OQU1F X1NJWkUpKSB7CiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJv Y2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MDoyMTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w YWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdl X2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAyKSB7CiAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWlt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9u IG9mIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2Uo U0VHTUVOVF9UWVBFX01FVEFEQVRBLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01F TlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdN RU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZCiAg dHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdf aGRyKS0+dHJhY2tfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0OTogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHBy b2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBF X0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzNzc6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cuKAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy KSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm/igJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZvKSwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg3OjU2OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Z21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVf c2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcs CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJh dGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNd CiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vn bWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJu YWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2 Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5t azo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6 ODE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2Fs bCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFs bC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0 YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTM6Ck9TOiBVQjE2MDRfNjQK VGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5j b21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjog4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgIGJvb2wg YWRkKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMjoxMTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5 IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdo YXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVf cHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjI1OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPmRhdGFfZW5k ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9m aWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNF Q1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjIyOiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjMxOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0g c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwg bmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIzODo0MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZ IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogIG1lbWNw eSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy NDA6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNL SUQ7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MjoxNTogZXJyb3I6IOKAmEk0MEVfUFBQX1JF TU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICBwaW5mby0+b3AgPSBJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy NTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+c2VjdGlv bi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MTE6IGVycm9yOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2Fx X3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVf YXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHN0YXR1cyA9IGk0MGVf YXFfd3JpdGVfcHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5Ojg6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBf bGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBp NDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4 OToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX2dldF9w cHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICByZXQgPSBpNDBlX2FxX2dldF9w cHBfbGlzdChodywgKHZvaWQgKilidWZmLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5OToxNjogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDY6 ODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgICAgICBJNDBFX1BQUF9OQU1FX1NJWkUpKSB7CiAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MDoyMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQog IGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRh dGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQp ICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZ CiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAyKSB7CiAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNr YWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFf c2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFE QVRBLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdf aGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZCiAgdHJhY2tfaWQgPSAoKHN0cnVj dCBpNDBlX21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM2OTo0OTogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0 MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzc6MTg6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzg3OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAo KHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY aTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dy aXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIHN0YXR1cyA9IGk0MGVf d3JpdGVfcHJvZmlsZShodywKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21l bnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2Vn X2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZv ciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZh aWxlZAoKCkZhaWxlZCBCdWlsZCAjMTQ6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDozMzogZXJyb3I6IGFycmF5IGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9b MV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyMDo1MTogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbicgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1X ZXJyb3IsLVd2aXNpYmlsaXR5XQppNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAq bmFtZSwgc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcicKICAgICAgICBzZWMtPnRibF9zaXplID0gMTsKICAgICAgICB+fn5eCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy ICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcikgKwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAg ICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg J3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDozOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m bycKICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzMTo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLnR5 cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsKICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxM OwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdTRUNUSU9OX1RZUEVfSU5GTycKICAgICAgICBzZWMtPnNlY3Rpb24udHlw ZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjMyOjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0g c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgIH5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoyNDogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlv bi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjMzOjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNl YyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMzoyMjogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8nCiAgICAgICAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9w cm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzU6MTQ6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VjLT5zZWN0aW9uLm9mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIzNjo3OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsK ICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoxNDogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAg ICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoyODogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0k0MEVfUFBQX05BTUVfU0laRScKICAgICAgICBtZW1j cHkocGluZm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6MTU6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIG1lbWNw eSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpOwogICAgICAgICAgICAgICAgfn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6MzU6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUg dHlwZSAnc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjIwOjUxOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbicKaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9fc2VjKGNoYXIg Km5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uICp2ZXJzaW9uLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDo4OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycK ICAgICAgICAgICAgICAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAg ICAgICAgICAgfn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJv cnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVy YXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUg Zm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2Rrcm9vdC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0 YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVy c2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzozNDog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFt ZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUs ICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6 IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBp ZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRh X3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSAr CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikg ewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2 MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChz dHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lk OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIg PSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAg ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv 4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAq KXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODoz OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9w cm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0 dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJy b3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Z21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTog YWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxNjoK T1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDozMzogZXJyb3I6IGFycmF5IGhhcyBp bmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMDo1MTogZXJyb3I6 IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbicgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQppNDBl X2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3Zl cnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnRi bF9zaXplID0gMTsKICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ZGF0YV9l bmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg IH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOTox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0 ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwog ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MDozOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAgICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMTo1OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLnR5cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsK ICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMzE6MjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdTRUNUSU9OX1RZ UEVfSU5GTycKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoyNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Y3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0 Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAq c2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzMzoyMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicg dG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAg c2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwog ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzU6MTQ6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRp b24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNjo3OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAg ICAgICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsKICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNzoxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KHBpbmZvLT5uYW1lLCBu YW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzODoxNTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVyc2lv biwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAg ICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBw X2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDo4OiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAg ICAgICAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAg fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZv WzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdJNDBFX1BQUF9BRERfVFJBQ0tJRCcKICAgICAgICAgICAgICAgIHBp bmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjQyOjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0gSTQw RV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1m ZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgoKCkZhaWxlZCBCdWlsZCAjMTc6Ck9T OiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAm cC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMw NDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToy MTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1F X1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAg STQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRl X3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0 IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQx OjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl KFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBl eHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBb LVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5U X1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdt ZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6 IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1 NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVf c2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIp LT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+ dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzoz NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFt ZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5h bWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2 Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2Xi gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkK ICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50 KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwg MikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBp NDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0g KChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNr X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19o ZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAg ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVu dCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5 ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0 ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBz dGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1X ZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNj MTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRFBESyBTVFYgdGVhbQo= --===============7784927700940579175==--