Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1blJKu-0005F1-3m for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Sep 2016 17:23:33 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1blJKt-0003nD-1a for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Sep 2016 17:23:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1blJKg-0003hL-VB for pgsql-hackers@postgresql.org; Sat, 17 Sep 2016 17:23:19 +0000 Received: from newmail.postgrespro.ru ([93.174.131.138] helo=mail.postgrespro.ru) by magus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1blJKO-00049X-9j for pgsql-hackers@postgresql.org; Sat, 17 Sep 2016 17:23:18 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.postgrespro.ru (Postfix) with ESMTP id A1F9D21C2F20; Sat, 17 Sep 2016 20:22:58 +0300 (MSK) X-Virus-Scanned: Debian amavisd-new at postgrespro.ru Received: from mail.postgrespro.ru ([127.0.0.1]) by localhost (mail.postgrespro.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xkq89ckD9jl6; Sat, 17 Sep 2016 20:22:58 +0300 (MSK) Received: from localhost (0894949280.static.corbina.ru [78.107.237.198]) by mail.postgrespro.ru (Postfix) with ESMTPSA id D3AD321C2EF8; Sat, 17 Sep 2016 20:22:57 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1474132978; bh=XBhvHphvweDCgQKoKuIiXeqbe/z5g/U8VTbeYkzaNO8=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=J9/EvmQyMITo38l+NrD3FezchCpe4CED/lzrh99RGc6auVM6B6v0M2vIss/P0W4Lg EKil/lrI+5f0JLPCXaJqEthcdHhDKPCEX3L9ZBSuaK7wjxLjnKKjHboBQmjgU6pgcV GyteRu/29dNc1744bDWDL48A9INaLSFQ8xqebyaA= From: Yury Zhuravlev To: Cc: Michael Paquier Subject: Re: WIP: About CMake v2 Date: Sat, 17 Sep 2016 20:21:55 +0300 MIME-Version: 1.0 Message-ID: <0d8bf7e7-db42-44d8-aac5-65ff407cb60f@postgrespro.ru> In-Reply-To: References: <29526280-50e2-495b-99e1-ccd4e16ffd05@postgrespro.ru> <5a8a9610-722f-49df-b609-35842fe4c8d6@postgrespro.ru> Organization: postgrespro User-Agent: Trojita/v0.6-216-g795fa33; Qt/5.7.0; xcb; Linux; Gentoo Base System release 2.3 Content-Type: multipart/mixed; boundary="trojita=_72dabb5b-fab3-48ce-a276-0b2d0f0655c2" X-Pg-Spam-Score: -4.3 (----) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multipart/mixed message in MIME format. --trojita=_72dabb5b-fab3-48ce-a276-0b2d0f0655c2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Michael Paquier wrote: > On Sat, Sep 17, 2016 at 1:40 AM, Yury Zhuravlev > wrote: >> Michael Paquier wrote: >> I merged master to my branch and I spent time to porting all=20 >> changes. I hope >> send patch in the weekend without terrible flaws. > > By the way, I noticed that you did not register this patch in=20 > the current CF.. Now, I published the first version of the patch.=20 This patch not ready for commit yet and all current task you can read here: https://github.com/stalkerg/postgres_cmake/issues I hope we realy close to end.=20 In this patch I forbade in-source build for avoid overwriting current=20 Makefiles.=20 We will can remove all Makefiles only after shall see in CMake. You don't=20 need support two system. During commitfests CMake build system will be=20 supported by me.=20=20 I need help with buildfarm because my knowledge of Perl is very bad=20 (thought about rewrite buildfarm to Python).=20 I hope for your support. --=20 Yury Zhuravlev Postgres Professional: http://www.postgrespro.com The Russian Postgres Company= --trojita=_72dabb5b-fab3-48ce-a276-0b2d0f0655c2 Content-Type: text/x-patch Content-Disposition: attachment; filename=cmake_v1.patch Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDQ5 NzZmZDkuLjk5YzgyOTcgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIv LmdpdGlnbm9yZQpAQCAtNDAsMyArNDAsOCBAQCBsaWIqLnBjCiAvRGVidWcv CiAvUmVsZWFzZS8KIC90bXBfaW5zdGFsbC8KKy9DTWFrZUNhY2hlLnR4dAor L0NNYWtlRmlsZXMKKy9jbWFrZV9pbnN0YWxsLmNtYWtlCisvaW5zdGFsbF9t YW5pZmVzdC50eHQKKy9idWlsZApkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50 eHQgYi9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5mOWRhODhlCi0tLSAvZGV2L251bGwKKysrIGIvQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSwxMzQzIEBACitjbWFrZV9taW5pbXVtX3Jl cXVpcmVkKFZFUlNJT04gMi44LjQpCisKK3Byb2plY3QoUG9zdGdyZXMgQykK KworaW5jbHVkZShDaGVja1R5cGVTaXplKQoraW5jbHVkZShDaGVja1N5bWJv bEV4aXN0cykKK2luY2x1ZGUoQ2hlY2tGdW5jdGlvbkV4aXN0cykKK2luY2x1 ZGUoQ2hlY2tJbmNsdWRlRmlsZXMpCitpbmNsdWRlKENoZWNrQ1NvdXJjZUNv bXBpbGVzKQoraW5jbHVkZShDaGVja0NTb3VyY2VSdW5zKQoraW5jbHVkZShU ZXN0QmlnRW5kaWFuKQoraW5jbHVkZShDaGVja1N0cnVjdEhhc01lbWJlcikK KworaWYoQ01BS0VfU09VUkNFX0RJUiBTVFJFUVVBTCBDTUFLRV9CSU5BUllf RElSKQorCW1lc3NhZ2UoU1RBVFVTICIke0NNQUtFX1NPVVJDRV9ESVJ9ICR7 Q01BS0VfQklOQVJZX0RJUn0iKQorCW1lc3NhZ2UoRkFUQUxfRVJST1IgIllv dSBtdXN0IHVzZSBhbm90aGVyIGZvbGRlciBmb3IgYnVpbGQgUG9zdGdyZVNR TCIpCitlbmRpZigpCisKK3NldChDTUFLRV9NT0RVTEVfUEFUSCAke1BST0pF Q1RfU09VUkNFX0RJUn0vY21ha2UpCisKK3NldChQT1NUR1JFU19NQUpPUl9W RVJTSU9OIDEwKQorc2V0KFBPU1RHUkVTX01JTk9SX1ZFUlNJT04gMCkKK3Nl dChQT1NUR1JFU19QQVRDSF9WRVJTSU9OIDApCitzZXQoUE9TVEdSRVNfVkVS U0lPTgorICAke1BPU1RHUkVTX01BSk9SX1ZFUlNJT059LiR7UE9TVEdSRVNf TUlOT1JfVkVSU0lPTn0uJHtQT1NUR1JFU19QQVRDSF9WRVJTSU9OfSkKKwor c2V0KFBHX1ZFUlNJT04gIjEwZGV2ZWwiKQorc2V0KFBHX1ZFUlNJT05fTlVN IDEwMDAwMCkKK3NldChQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIpCisKKyAjIE9mZmVyIHRoZSB1c2VyIHRoZSBjaG9p Y2Ugb2Ygb3ZlcnJpZGluZyB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVz CitzZXQoSU5TVEFMTF9MSUJfRElSIGxpYiBDQUNIRSBQQVRIICJJbnN0YWxs YXRpb24gZGlyZWN0b3J5IGZvciBsaWJyYXJpZXMiKQorc2V0KElOU1RBTExf QklOX0RJUiBiaW4gQ0FDSEUgUEFUSCAiSW5zdGFsbGF0aW9uIGRpcmVjdG9y eSBmb3IgZXhlY3V0YWJsZXMiKQorc2V0KElOU1RBTExfSU5DTFVERV9ESVIg aW5jbHVkZSBDQUNIRSBQQVRICisgICJJbnN0YWxsYXRpb24gZGlyZWN0b3J5 IGZvciBoZWFkZXIgZmlsZXMiKQorCitpZihOT1QgUEdCSU5ESVIpCisJc2V0 KFBHQklORElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4iKQorZW5k aWYoTk9UIFBHQklORElSKQorCitpZihOT1QgUEdTSEFSRURJUikKKwlzZXQo UEdTSEFSRURJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvcG9z dGdyZXNxbCIpCitlbmRpZihOT1QgUEdTSEFSRURJUikKKworaWYoTk9UIFNZ U0NPTkZESVIpCisJc2V0KFNZU0NPTkZESVIgIiR7Q01BS0VfSU5TVEFMTF9Q UkVGSVh9L2V0YyIpCitlbmRpZihOT1QgU1lTQ09ORkRJUikKKworaWYoTk9U IElOQ0xVREVESVIpCisJc2V0KElOQ0xVREVESVIgIiR7Q01BS0VfSU5TVEFM TF9QUkVGSVh9L2luY2x1ZGUiKQorZW5kaWYoTk9UIElOQ0xVREVESVIpCisK K2lmKE5PVCBQS0dJTkNMVURFRElSKQorCXNldChQS0dJTkNMVURFRElSICIk e0NNQUtFX0lOU1RBTExfUFJFRklYfS9pbmNsdWRlIikKK2VuZGlmKE5PVCBQ S0dJTkNMVURFRElSKQorCitpZihOT1QgSU5DTFVERURJUlNFUlZFUikKKwlz ZXQoSU5DTFVERURJUlNFUlZFUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0v aW5jbHVkZS9zZXJ2ZXIiKQorZW5kaWYoTk9UIElOQ0xVREVESVJTRVJWRVIp CisKK2lmKE1TVkMpCisJaWYoTk9UIExJQkRJUikKKwkJc2V0KExJQkRJUiAi JHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vYmluIikKKwllbmRpZihOT1QgTElC RElSKQorCisJaWYoTk9UIFBLR0xJQkRJUikKKwkJc2V0KFBLR0xJQkRJUiAi JHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vYmluIikKKwllbmRpZihOT1QgUEtH TElCRElSKQorZWxzZSgpCisJaWYoTk9UIExJQkRJUikKKwkJc2V0KExJQkRJ UiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliIikKKwllbmRpZihOT1Qg TElCRElSKQorCisJaWYoTk9UIFBLR0xJQkRJUikKKwkJc2V0KFBLR0xJQkRJ UiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliIikKKwllbmRpZihOT1Qg UEtHTElCRElSKQorZW5kaWYoKQorCitpZihOT1QgTE9DQUxFRElSKQorCXNl dChMT0NBTEVESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJlL2xv Y2FsZSIpCitlbmRpZihOT1QgTE9DQUxFRElSKQorCitpZihOT1QgRE9DRElS KQorCXNldChET0NESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJl L2RvYy8iKQorZW5kaWYoTk9UIERPQ0RJUikKKworaWYoTk9UIEhUTUxESVIp CisJc2V0KEhUTUxESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJl L2RvYy8iKQorZW5kaWYoTk9UIEhUTUxESVIpCisKK2lmKE5PVCBNQU5ESVIp CisJc2V0KE1BTkRJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUv bWFuIikKK2VuZGlmKE5PVCBNQU5ESVIpCisKK2lmKCR7Q01BS0VfU1lTVEVN X05BTUV9IE1BVENIRVMgIkRhcndpbiIpCisJc2V0KENNQUtFX1NIQVJFRF9M SU5LRVJfRkxBR1MgIiR7Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHU30gLW11 bHRpcGx5X2RlZmluZWQgc3VwcHJlc3MgLXVuZGVmaW5lZCBkeW5hbWljX2xv b2t1cCIpCisJc2V0KENNQUtFX01PRFVMRV9MSU5LRVJfRkxBR1MgIiR7Q01B S0VfTU9EVUxFX0xJTktFUl9GTEFHU30gLW11bHRpcGx5X2RlZmluZWQgc3Vw cHJlc3MgLXVuZGVmaW5lZCBkeW5hbWljX2xvb2t1cCIpCitlbmRpZigpCisK K2lmKCR7Q01BS0VfU1lTVEVNX05BTUV9IE1BVENIRVMgIkZyZWVCU0R8TmV0 QlNEfE9wZW5CU0QiKQorCXNldChDTUFLRV9TSEFSRURfTElCUkFSWV9TT05B TUVfQ19GTEFHICItV2wsLXgsLXNvbmFtZSwiKQorZW5kaWYoKQorCitpZiAo JHtDTUFLRV9DX0NPTVBJTEVSX0lEfSBTVFJFUVVBTCAiQ2xhbmciKQorCXNl dChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1Xbm8taWdub3Jl ZC1hdHRyaWJ1dGVzIikKK2VuZGlmKCkKKworaWYoTVNWQykKKwlzZXQoQ01B S0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAvRCBfQ1JUX1NFQ1VSRV9O T19XQVJOSU5HUyIpCitlbmRpZigpCisKK3Rlc3RfYmlnX2VuZGlhbihXT1JE U19CSUdFTkRJQU4pCitzZXQoRklORF9MSUJSQVJZX1VTRV9MSUI2NF9QQVRI UyBPTikKKworZmluZF9wYWNrYWdlKFBlcmwgUkVRVUlSRUQpCitvcHRpb24o V0lUSF9QRVJMICJsaWJwZXJsIGlzIG9wdGlvbmFsIiBPTikKK2lmKFdJVEhf UEVSTCkKKwlmaW5kX3BhY2thZ2UoUGVybExpYnMpCitlbmRpZigpCitpZihQ RVJMTElCU19GT1VORCkKKwlFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BF UkxfRVhFQ1VUQUJMRX0gLU1FeHRVdGlsczo6RW1iZWQgLWUgY2NvcHRzIE9V VFBVVF9WQVJJQUJMRSBQRVJMX0NGTEFHUykKKwlFWEVDVVRFX1BST0NFU1Mo Q09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gLU1FeHRVdGlsczo6RW1iZWQg LWUgbGRvcHRzIE9VVFBVVF9WQVJJQUJMRSBQRVJMX0xERkxBR1MpCisJU1RS SU5HKFJFR0VYIFJFUExBQ0UgIltcclxuXSIgIiAiIFBFUkxfQ0ZMQUdTICR7 UEVSTF9DRkxBR1N9KQorCVNUUklORyhSRUdFWCBSRVBMQUNFICIgKyQiICIi IFBFUkxfQ0ZMQUdTICR7UEVSTF9DRkxBR1N9KQorCVNUUklORyhTVFJJUCAi JHtQRVJMX0NGTEFHU30iIFBFUkxfQ0ZMQUdTKQorCVNUUklORyhSRUdFWCBS RVBMQUNFICJbXHJcbl0iICIgIiBQRVJMX0xERkxBR1MgJHtQRVJMX0xERkxB R1N9KQorCVNUUklORyhSRUdFWCBSRVBMQUNFICIgKyQiICIiIFBFUkxfTERG TEFHUyAke1BFUkxfTERGTEFHU30pCisJU1RSSU5HKFJFR0VYIFJFUExBQ0Ug Ii1scGVybCIgIiIgUEVSTF9MREZMQUdTICR7UEVSTF9MREZMQUdTfSkKKwlp ZihNSU5HVyBBTkQgTk9UIE1TWVMpCisJCVNUUklORyhSRUdFWCBSRVBMQUNF ICJcXFxcIiAiLyIgUEVSTF9MREZMQUdTICR7UEVSTF9MREZMQUdTfSkKKwll bmRpZigpCisJU1RSSU5HKFNUUklQICIke1BFUkxfTERGTEFHU30iIFBFUkxf TERGTEFHUykKK2VuZGlmKCkKKworZmluZF9wYWNrYWdlKEJJU09OIFJFUVVJ UkVEKQorZmluZF9wYWNrYWdlKEZMRVggUkVRVUlSRUQpCitmaW5kX3BhY2th Z2UoVGhyZWFkcykKKworb3B0aW9uKFdJVEhfT1BFTlNTTCAiT1BFTlNTTCBp cyBvcHRpb25hbCIgT04pCitpZihXSVRIX09QRU5TU0wpCisJZmluZF9wYWNr YWdlKE9wZW5TU0wpCitlbmRpZigpCitmaW5kX3BhY2thZ2UoWkxJQikKKwor b3B0aW9uKFdJVEhfUFlUSE9OICJQeXRob24gaXMgb3B0aW9uYWwiIE9OKQor aWYoV0lUSF9QWVRIT04pCisJZmluZF9wYWNrYWdlKFB5dGhvbkludGVycCkK KwlmaW5kX3BhY2thZ2UoUHl0aG9uTGlicykKK2VuZGlmKCkKK2ZpbmRfcGFj a2FnZShTRUxpbnV4KQorCitvcHRpb24oV0lUSF9MSUJYTUwgIkxJQlhNTCBp cyBvcHRpb25hbCIgT04pCitpZihXSVRIX0xJQlhNTCkKKwlmaW5kX3BhY2th Z2UoTGliWG1sMikKKwlmaW5kX3BhY2thZ2UoTGliWHNsdCkKK2VuZGlmKCkK Kworb3B0aW9uKFdJVEhfVENMICJUQ0wgaXMgb3B0aW9uYWwiIE9OKQoraWYo V0lUSF9UQ0wpCisJZmluZF9wYWNrYWdlKFRDTCkKK2VuZGlmKCkKK2ZpbmRf cGFja2FnZShMaWJTb2NrZXQpCisKK29wdGlvbihVU0VfUEFNICJidWlsZCB3 aXRoIFBBTSBzdXBwb3J0IiBPRkYpCitpZihVU0VfUEFNKQorCWZpbmRfbGli cmFyeShQQU1fTElCIHBhbSkKKwlpZihOT1QgUEFNX0xJQikKKwkJbWVzc2Fn ZShFUlJPUiAibGlicmFyeSAncGFtJyBpcyByZXF1aXJlZCBmb3IgUEFNIikK KwllbmRpZigpCitlbmRpZigpCisKK29wdGlvbihVU0VfTERBUCAiYnVpbGQg d2l0aCBMREFQIHN1cHBvcnQiIE9GRikKK2lmKFVTRV9MREFQKQorCWZpbmRf cGFja2FnZShMREFQIFJFUVVJUkVEKQorZW5kaWYoKQorCitpZihXSU4zMiBP UiBNSU5HVykKKwlzZXQoTkVFRF9SRVBMX1NOUFJJTlRGIE9OKQorZWxzZSgp CisJc2V0KE5FRURfUkVQTF9TTlBSSU5URiBPRkYpCitlbmRpZigpCisKK29w dGlvbihFTkFCTEVfTkxTICJEZWZpbmUgaWYgeW91IHdhbnQgTmF0aW9uYWwg TGFuZ3VhZ2UgU3VwcG9ydCIgT0ZGKQoraWYoRU5BQkxFX05MUykKKwlpbmNs dWRlKE1ha2VOTFMpCisJZmluZF9wYWNrYWdlKEdldHRleHQgUkVRVUlSRUQp CisJZmluZF9wcm9ncmFtKEdFVFRFWFRfWEdFVFRFWFRfRVhFQ1VUQUJMRSB4 Z2V0dGV4dCkKKwlpZihOT1QgR0VUVEVYVF9YR0VUVEVYVF9FWEVDVVRBQkxF KQorCQltZXNzYWdlKEZBVEFMX0VSUk9SICJ4Z2V0dGV4dCBub3QgZm91bmQi KQorCWVuZGlmKE5PVCBHRVRURVhUX1hHRVRURVhUX0VYRUNVVEFCTEUpCisJ aWYoTk9UIE5MU19MQU5HVUFHRVMpCisJCXNldChOTFNfTEFOR1VBR0VTICJr bztjcztwdF9CUjt6aF9DTjtydTtmcjtkZTtlcztpdDt0cjtqYTtwbDt6aF9U VyIpCisJZW5kaWYoKQorCisJaWYoTk9UIE5FRURfUkVQTF9TTlBSSU5URikK KwkJY2hlY2tfY19zb3VyY2VfcnVucygiCisJCQkjaW5jbHVkZSA8c3RkaW8u aD4KKwkJCSNpbmNsdWRlIDxzdHJpbmcuaD4KKworCQkJaW50IG1haW4oKQor CQkJeworCQkJICBjaGFyIGJ1ZlsxMDBdOworCisJCQkgIC8qIGNhbiBpdCBz d2FwIGFyZ3VtZW50cz8gKi8KKwkJCSAgc25wcmludGYoYnVmLCAxMDAsIFwi JTJcJGQgJTFcJGRcIiwgMywgNCk7CisJCQkgIGlmIChzdHJjbXAoYnVmLCBc IjQgM1wiKSAhPSAwKQorCQkJCXJldHVybiAxOworCQkJICByZXR1cm4gMDsK KwkJCX0KKwkJIiBTTlBSSU5URl9BUkdfQ09OVFJPTCkKKwkJaWYoTk9UIFNO UFJJTlRGX0FSR19DT05UUk9MKQorCQkJc2V0KE5FRURfUkVQTF9TTlBSSU5U RiBPTikKKwkJZW5kaWYoKQorCWVuZGlmKCkKK2VuZGlmKCkKKworb3B0aW9u KEVOQUJMRV9HU1MgIkRlZmluZSB0byBidWlsZCB3aXRoIEdTU0FQSSBzdXBw b3J0LiIgT0ZGKQoraWYoRU5BQkxFX0dTUykKKwljaGVja19pbmNsdWRlX2Zp bGVzKGdzc2FwaS9nc3NhcGkuaCBIQVZFX0dTU0FQSV9HU1NBUElfSCkKKwlj aGVja19pbmNsdWRlX2ZpbGVzKGdzc2FwaS5oIEhBVkVfR1NTQVBJX0gpCisJ c2V0KFBHX0tSQl9TUlZUQUIgIkZJTEU6JHtTWVNDT05GRElSfS9rcmI1Lmtl eXRhYiIpCisJaWYoV0lOMzIpCisJCVNFVChHU1NfTElCUyAiLWxnc3NhcGkz MiIpCisJZWxzZSgpCisJCXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVNf T0xEICR7Q01BS0VfUkVRVUlSRURfTElCUkFSSUVTfSkKKwkJc2V0KENNQUtF X1JFUVVJUkVEX0xJQlJBUklFUyAiLWxnc3NhcGlfa3JiNSIpCisJCWNoZWNr X2Z1bmN0aW9uX2V4aXN0cyhnc3NfaW5pdF9zZWNfY29udGV4dCBIQVZFX0dT U19JTklUKQorCQlpZihOT1QgSEFWRV9HU1NfSU5JVCkKKwkJCXNldChDTUFL RV9SRVFVSVJFRF9MSUJSQVJJRVMgIi1sZ3NzIikKKwkJCWNoZWNrX2Z1bmN0 aW9uX2V4aXN0cyhnc3NfaW5pdF9zZWNfY29udGV4dCBIQVZFX0dTU19JTklU KQorCQkJaWYoTk9UIEhBVkVfR1NTX0lOSVQpCisJCQkJc2V0KENNQUtFX1JF UVVJUkVEX0xJQlJBUklFUyAiLWxnc3NhcGkgLWxrcmI1IC1sY3J5cHRvIikK KwkJCQljaGVja19mdW5jdGlvbl9leGlzdHMoZ3NzX2luaXRfc2VjX2NvbnRl eHQgSEFWRV9HU1NfSU5JVCkKKwkJCWVuZGlmKE5PVCBIQVZFX0dTU19JTklU KQorCQllbmRpZihOT1QgSEFWRV9HU1NfSU5JVCkKKwkJaWYoSEFWRV9HU1Nf SU5JVCkKKwkJCXNldChHU1NfTElCUyAke0NNQUtFX1JFUVVJUkVEX0xJQlJB UklFU30pCisJCWVsc2UoKQorCQkJbWVzc2FnZShGQVRBTF9FUlJPUiAiTm90 IGZvdW5kIGdzc19pbml0X3NlY19jb250ZXh0IGZ1bmN0aW9uIGZvciBHU1NB UEkiKQorCQllbmRpZigpCisJCXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJ RVMgJHtDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVNfT0xEfSkKKwllbmRpZigp CitlbHNlKCkKKwlzZXQoR1NTX0xJQlMgIiIpCitlbmRpZigpCisKK29wdGlv bihVU0VfU1lTVEVNRCAiRGVmaW5lIHRvIGJ1aWxkIHdpdGggc3lzdGVtZCBz dXBwb3J0IiBPRkYpCitvcHRpb24oVVNFX0JTRF9BVVRIICJEZWZpbmUgdG8g YnVpbGQgd2l0aCBCU0QgQXV0aGVudGljYXRpb24gc3VwcG9ydCIgT0ZGKQor b3B0aW9uKFVTRV9BU1NFUlRfQ0hFQ0tJTkcgIkRlZmluZSB0byBidWlsZCB3 aXRoIGFzc2VydGlvbiBjaGVja3MuIiBPRkYpCitvcHRpb24oVVNFX0JPTkpP VVIgIkRlZmluZSB0byBidWlsZCB3aXRoIEJvbmpvdXIgc3VwcG9ydC4iIE9G RikKK2lmKFVTRV9CT05KT1VSKQorCWNoZWNrX2luY2x1ZGVfZmlsZXMoZG5z X3NkLmggSEFWRV9ETlNfU0RfSCkKKwlpZihOT1QgSEFWRV9ETlNfU0RfSCkK KwkJbWVzc2FnZShGQVRBTF9FUlJPUiAiaGVhZGVyIGZpbGUgPGRuc19zZC5o PiBpcyByZXF1aXJlZCBmb3IgQm9uam91ciIpCisJZW5kaWYoKQorZW5kaWYo KQorCitpZihOT1QgTVNWQykKKwlmaW5kX2xpYnJhcnkoRExfTElCUkFSSUVT IE5BTUVTIGRsKQorCWZpbmRfbGlicmFyeShNX0xJQiBtKQorCWlmKE5PVCBN X0xJQikKKwkJc2V0KE1fTElCICIiKQorCWVuZGlmKCkKK2VuZGlmKCkKKwor aWYoTk9UIERMX0xJQlJBUklFUykKKwlzZXQoRExfTElCUkFSSUVTICIiKQor ZW5kaWYoKQorCitpZihMSUJYTUwyX0ZPVU5EKQorCXNldChIQVZFX0xJQlhN TDIgMSkKKwlzZXQoVVNFX0xJQlhNTCAxKQorZW5kaWYoKQorCitpZihMSUJY U0xUX0ZPVU5EKQorCXNldChIQVZFX0xJQlhTTFQgMSkKKwlzZXQoVVNFX0xJ QlhTTFQgMSkKK2VuZGlmKCkKKworaWYoWkxJQl9GT1VORCkKKwlzZXQoSEFW RV9MSUJaIDEpCitlbmRpZigpCisKK2lmKENNQUtFX0NPTVBJTEVSX0lTX0dO VUNDKQorCWlmKENNQUtFX0NfQ09NUElMRVJfVkVSU0lPTiBWRVJTSU9OX0dS RUFURVIgMy4zIE9SIENNQUtFX0NfQ09NUElMRVJfVkVSU0lPTiBWRVJTSU9O X0VRVUFMIDMuMykKKwkJIyBEaXNhYmxlIHN0cmljdC1hbGlhc2luZyBydWxl czsgbmVlZGVkIGZvciBnY2MgMy4zKworCQlzZXQoQ01BS0VfQ19GTEFHUyAi JHtDTUFLRV9DX0ZMQUdTfSAtZm5vLXN0cmljdC1hbGlhc2luZyIpCisJZW5k aWYoKQorCisJaWYoQ01BS0VfQ19DT01QSUxFUl9WRVJTSU9OIFZFUlNJT05f R1JFQVRFUiAzLjQgT1IgQ01BS0VfQ19DT01QSUxFUl9WRVJTSU9OIFZFUlNJ T05fRVFVQUwgMy40KQorCQkjIERpc2FibGUgRlAgb3B0aW1pemF0aW9ucyB0 aGF0IGNhdXNlIHZhcmlvdXMgZXJyb3JzIG9uIGdjYyA0LjUrIG9yIG1heWJl IDQuNisKKwkJc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30g LWZ3cmFwdiIpCisJZW5kaWYoKQorCisJaWYoQ01BS0VfQ19DT01QSUxFUl9W RVJTSU9OIFZFUlNJT05fR1JFQVRFUiA0LjUgT1IgQ01BS0VfQ19DT01QSUxF Ul9WRVJTSU9OIFZFUlNJT05fRVFVQUwgNC41KQorCQkjIERpc2FibGUgRlAg b3B0aW1pemF0aW9ucyB0aGF0IGNhdXNlIHZhcmlvdXMgZXJyb3JzIG9uIGdj YyA0LjUrIG9yIG1heWJlIDQuNisKKwkJc2V0KENNQUtFX0NfRkxBR1MgIiR7 Q01BS0VfQ19GTEFHU30gLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIikK KwllbmRpZigpCisKKwkjIE9wdGltaXphdGlvbiBmbGFncyBmb3Igc3BlY2lm aWMgZmlsZXMgdGhhdCBiZW5lZml0IGZyb20gdmVjdG9yaXphdGlvbgorCXNl dChDRkxBR1NfVkVDVE9SICIke0NGTEFHU19WRUNUT1J9IC1mdW5yb2xsLWxv b3BzIikKKwlpZihDTUFLRV9DX0NPTVBJTEVSX1ZFUlNJT04gVkVSU0lPTl9H UkVBVEVSIDQuNSBPUiBDTUFLRV9DX0NPTVBJTEVSX1ZFUlNJT04gVkVSU0lP Tl9FUVVBTCA0LjUpCisJCXNldChDRkxBR1NfVkVDVE9SICIke0NGTEFHU19W RUNUT1J9IC1mdHJlZS12ZWN0b3JpemUiKQorCWVuZGlmKCkKKworCW9wdGlv bihQUk9GSUxFX1BJRF9ESVIgIkVuYWJsZSB0byBhbGxvdyBwcm9maWxpbmcg b3V0cHV0IHRvIGJlIHNhdmVkIHNlcGFyYXRlbHkgZm9yIGVhY2ggcHJvY2Vz cy4iIE9GRikKK2VuZGlmKCkKKworaWYoQ01BS0VfQ19DT01QSUxFUl9JRCBN QVRDSEVTICJDbGFuZyIpCisJIyBEaXNhYmxlIHN0cmljdC1hbGlhc2luZyBy dWxlczsgbmVlZGVkIGZvciBnY2MgMy4zKworCXNldChDTUFLRV9DX0ZMQUdT ICIke0NNQUtFX0NfRkxBR1N9IC1mbm8tc3RyaWN0LWFsaWFzaW5nIikKKwkj IERpc2FibGUgRlAgb3B0aW1pemF0aW9ucyB0aGF0IGNhdXNlIHZhcmlvdXMg ZXJyb3JzIG9uIGdjYyA0LjUrIG9yIG1heWJlIDQuNisKKwlzZXQoQ01BS0Vf Q19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtZndyYXB2IikKKworCSMgT3B0 aW1pemF0aW9uIGZsYWdzIGZvciBzcGVjaWZpYyBmaWxlcyB0aGF0IGJlbmVm aXQgZnJvbSB2ZWN0b3JpemF0aW9uCisJc2V0KENGTEFHU19WRUNUT1IgIiR7 Q0ZMQUdTX1ZFQ1RPUn0gLWZ1bnJvbGwtbG9vcHMiKQorCXNldChDRkxBR1Nf VkVDVE9SICIke0NGTEFHU19WRUNUT1J9IC1mdHJlZS12ZWN0b3JpemUiKQor ZW5kaWYoKQorCitpZihDTUFLRV9DX0NPTVBJTEVSX0lEIFNUUkVRVUFMICJJ bnRlbCIpCisJIyBJbnRlbCdzIGNvbXBpbGVyIGhhcyBhIGJ1Zy9taXNvcHRp bWl6YXRpb24gaW4gY2hlY2tpbmcgZm9yCisJIyBkaXZpc2lvbiBieSBOQU4g KE5hTiA9PSAwKSwgLW1wMSBmaXhlcyBpdCwgc28gYWRkIGl0IHRvIHRoZSBD RkxBR1MuCisJc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30g LW1wMSIpCisJIyBNYWtlIHN1cmUgc3RyaWN0IGFsaWFzaW5nIGlzIG9mZiAo dGhvdWdoIHRoaXMgaXMgc2FpZCB0byBiZSB0aGUgZGVmYXVsdCkKKwlzZXQo Q01BS0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtZm5vLXN0cmljdC1h bGlhc2luZyIpCitlbmRpZigpCisKK2NoZWNrX3N5bWJvbF9leGlzdHMoc3Ry bGNweSAic3RkaW8uaDtzdHJpbmcuaCIgSEFWRV9ERUNMX1NUUkxDUFkpCitp ZihOT1QgSEFWRV9ERUNMX1NUUkxDUFkpCisJc2V0KEhBVkVfREVDTF9TVFJM Q1BZIDApCitlbmRpZigpCitjaGVja19zeW1ib2xfZXhpc3RzKHN0cmxjYXQg InN0ZGlvLmg7c3RyaW5nLmgiIEhBVkVfREVDTF9TVFJMQ0FUKQoraWYoTk9U IEhBVkVfREVDTF9TVFJMQ0FUKQorCXNldChIQVZFX0RFQ0xfU1RSTENBVCAw KQorZW5kaWYoKQorY2hlY2tfc3ltYm9sX2V4aXN0cyhzbnByaW50ZiAic3Rk aW8uaDtzdHJpbmcuaCIgSEFWRV9ERUNMX1NOUFJJTlRGKQoraWYoTk9UIEhB VkVfREVDTF9TTlBSSU5URikKKwlzZXQoSEFWRV9ERUNMX1NOUFJJTlRGIDAp CitlbmRpZigpCitjaGVja19zeW1ib2xfZXhpc3RzKHZzbnByaW50ZiAic3Rk aW8uaDtzdHJpbmcuaCIgSEFWRV9ERUNMX1ZTTlBSSU5URikKK2lmKE5PVCBI QVZFX0RFQ0xfVlNOUFJJTlRGKQorCXNldChIQVZFX0RFQ0xfVlNOUFJJTlRG IDApCitlbmRpZigpCitjaGVja19zeW1ib2xfZXhpc3RzKHVuc2V0ZW52ICJz dGRsaWIuaCIgSEFWRV9VTlNFVEVOVikKK2NoZWNrX3N5bWJvbF9leGlzdHMo c3JhbmRvbSAic3RkbGliLmgiIEhBVkVfU1JBTkRPTSkKKworIyBUZXN0IG1h dGggZnVuY3Rpb25zCitjaGVja19zeW1ib2xfZXhpc3RzKHJpbnQgIm1hdGgu aCIgSEFWRV9SSU5UKQorCitpZihXSU4zMiBBTkQgTk9UIE1JTkdXKQorCXNl dChMSUJfTSAiIikKK2Vsc2UoKQorCXNldChMSUJfTSBtKQorZW5kaWYoKQor c2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAiJHtDTUFLRV9SRVFVSVJF RF9MSUJSQVJJRVN9ICR7TElCX019IikKK2NoZWNrX2Nfc291cmNlX2NvbXBp bGVzKCIKKwkjaW5jbHVkZSA8bWF0aC5oPgorCWRvdWJsZSBnbG9iX2RvdWJs ZTsKKwlpbnQgbWFpbih2b2lkKXsKKwkJcmV0dXJuIGlzaW5mKGdsb2JfZG91 YmxlKSA/IDAgOiAxOworCX0KKyIgSEFWRV9JU0lORikKKworY2hlY2tfaW5j bHVkZV9maWxlcyhpZWVlZnAuaCBIQVZFX0lFRUVGUF9IKQoraWYoTk9UIEhB VkVfSUVFRUZQX0gpCisJc2V0KEhBVkVfSUVFRUZQX0ggMCkKK2Vsc2UoKQor CXNldChIQVZFX0lFRUVGUF9IIDEpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xV REVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307aWVlZWZw LmgiKQorZW5kaWYoKQorCitjaGVja19pbmNsdWRlX2ZpbGVzKGZwX2NsYXNz LmggSEFWRV9GUF9DTEFTU19IKQoraWYgKEhBVkVfRlBfQ0xBU1NfSCkKKwlz ZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxFUyAiJHtDTUFLRV9FWFRSQV9J TkNMVURFX0ZJTEVTfTtmcF9jbGFzcy5oIikKK2VuZGlmKCkKK3NldChDTUFL RV9FWFRSQV9JTkNMVURFX0ZJTEVTICIke0NNQUtFX0VYVFJBX0lOQ0xVREVf RklMRVN9O2Zsb2F0Lmg7bWF0aC5oIikKKworIyBOZWVkIGZvciBpc2luZiBp bXBsZW1lbnRhdGlvbgorY2hlY2tfZnVuY3Rpb25fZXhpc3RzKGZwY2xhc3Mg SEFWRV9GUENMQVNTKQorY2hlY2tfZnVuY3Rpb25fZXhpc3RzKGZwX2NsYXNz IEhBVkVfRlBfQ0xBU1MpCitjaGVja19mdW5jdGlvbl9leGlzdHMoZnBfY2xh c3NfZCBIQVZFX0ZQX0NMQVNTX0QpCitjaGVja19mdW5jdGlvbl9leGlzdHMo Y2xhc3MgSEFWRV9DTEFTUykKKworY2hlY2tfZnVuY3Rpb25fZXhpc3RzKGdl dHBlZXJlaWQgSEFWRV9HRVRQRUVSRUlEKQorY2hlY2tfZnVuY3Rpb25fZXhp c3RzKGdldHBlZXJ1Y3JlZCBIQVZFX0dFVFBFRVJVQ1JFRCkKK2NoZWNrX2Z1 bmN0aW9uX2V4aXN0cyhtZW1tb3ZlIEhBVkVfTUVNTU9WRSkKK2lmKE1TVkMp CisJY2hlY2tfZnVuY3Rpb25fZXhpc3RzKF9tYnN0b3djc19sIEhBVkVfTUJT VE9XQ1NfTCkKK2Vsc2UoKQorCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhtYnN0 b3djc19sIEhBVkVfTUJTVE9XQ1NfTCkKK2VuZGlmKCkKKworY2hlY2tfZnVu Y3Rpb25fZXhpc3RzKHRvd2xvd2VyIEhBVkVfVE9XTE9XRVIpCitjaGVja19m dW5jdGlvbl9leGlzdHMod2NzdG9tYnMgSEFWRV9XQ1NUT01CUykKKworY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKG1rZHRlbXAgSEFWRV9NS0RURU1QKQorY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKG1rc3RlbXAgSEFWRV9NS1NURU1QKQorY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKHBvbGwgSEFWRV9QT0xMKQorCitjaGVja19m dW5jdGlvbl9leGlzdHMoZ2V0cmxpbWl0IEhBVkVfR0VUUkxJTUlUKQorY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKHJlYWRsaW5rIEhBVkVfUkVBRExJTkspCitj aGVja19mdW5jdGlvbl9leGlzdHMoY2JydCBIQVZFX0NCUlQpCitjaGVja19m dW5jdGlvbl9leGlzdHMocHRocmVhZF9pc190aHJlYWRlZF9ucCBIQVZFX1BU SFJFQURfSVNfVEhSRUFERURfTlApCitjaGVja19mdW5jdGlvbl9leGlzdHMo cmFuZG9tIEhBVkVfUkFORE9NKQorY2hlY2tfZnVuY3Rpb25fZXhpc3RzKHN5 bmNfZmlsZV9yYW5nZSBIQVZFX1NZTkNfRklMRV9SQU5HRSkKKworI1NvIHN0 cmFuZ2UKK2NoZWNrX2Z1bmN0aW9uX2V4aXN0cyhwc3RhdCBIQVZFX1BTVEFU KQorCitjaGVja19pbmNsdWRlX2ZpbGVzKGlmYWRkcnMuaCBIQVZFX0lGQURE UlNfSCkKK2lmKEhBVkVfSUZBRERSU19IKQorCXNldChDTUFLRV9FWFRSQV9J TkNMVURFX0ZJTEVTICIke0NNQUtFX0VYVFJBX0lOQ0xVREVfRklMRVN9O2lm YWRkcnMuaCIpCitlbmRpZigpCitjaGVja19mdW5jdGlvbl9leGlzdHMoZ2V0 aWZhZGRycyBIQVZFX0dFVElGQUREUlMpCisKK2lmKE1TVkMpCisJc2V0KEhB VkVfTUlOSURVTVBfVFlQRSAxKQorZW5kaWYoKQorCitpZihOT1QgQ01BS0Vf U1lTVEVNX05BTUUgU1RSRVFVQUwgIlN1bk9TIikKKwlzZXQoQ01BS0VfRVhU UkFfSU5DTFVERV9GSUxFUyAiJHtDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVT fTtmY250bC5oIikKKwljaGVja19mdW5jdGlvbl9leGlzdHMocG9zaXhfZmFk dmlzZSBIQVZFX0RFQ0xfUE9TSVhfRkFEVklTRSkKKwlpZihIQVZFX0RFQ0xf UE9TSVhfRkFEVklTRSkKKwkJc2V0KEhBVkVfUE9TSVhfRkFEVklTRSAxKQor CWVuZGlmKCkKK2VuZGlmKCkKKworZmluZF9saWJyYXJ5KENSWVBUX0xJQiBj cnlwdCkKK2lmKENSWVBUX0xJQikKKwlzZXQoQ01BS0VfUkVRVUlSRURfTElC UkFSSUVTICIke0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30gJHtDUllQVF9M SUJ9IikKK2VuZGlmKCkKK2NoZWNrX2luY2x1ZGVfZmlsZXMoY3J5cHQuaCBI QVZFX0NSWVBUX0gpCitpZihIQVZFX0NSWVBUX0gpCisJc2V0KENNQUtFX0VY VFJBX0lOQ0xVREVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxF U307Y3J5cHQuaCIpCitlbmRpZigpCitjaGVja19mdW5jdGlvbl9leGlzdHMo Y3J5cHQgSEFWRV9DUllQVCkKKworY2hlY2tfaW5jbHVkZV9maWxlcyh1bmlz dGQuaCBIQVZFX1VOSVNURF9IKQoraWYoSEFWRV9VTklTVERfSCkKKwlzZXQo Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFUyAiJHtDTUFLRV9FWFRSQV9JTkNM VURFX0ZJTEVTfTt1bmlzdGQuaCIpCitlbmRpZigpCitjaGVja19mdW5jdGlv bl9leGlzdHMoZmRhdGFzeW5jIEhBVkVfREVDTF9GREFUQVNZTkMpCitjaGVj a19mdW5jdGlvbl9leGlzdHMoc3lzX3NpZ2xpc3QgSEFWRV9ERUNMX0ZEQVRB U1lOQykKK2NoZWNrX2Z1bmN0aW9uX2V4aXN0cyhzZXRwcm9jdGl0bGUgSEFW RV9TRVRQUk9DVElUTEUpCitjaGVja19mdW5jdGlvbl9leGlzdHMoc2V0c2lk IEhBVkVfU0VUU0lEKQoraWYoSEFWRV9VTklTVERfSCkKKwljaGVja19zeW1i b2xfZXhpc3RzKHN5c19zaWdsaXN0ICJzaWduYWwuaDt1bmlzdGQuaCIgSEFW RV9ERUNMX1NZU19TSUdMSVNUKQorCWNoZWNrX3N5bWJvbF9leGlzdHMob3B0 ZXJyICJ1bmlzdGQuaCIgSEFWRV9JTlRfT1BURVJSKQorCWNoZWNrX3N5bWJv bF9leGlzdHMob3B0cmVzZXQgInVuaXN0ZC5oIiBIQVZFX0lOVF9PUFRSRVNF VCkKK2Vsc2UoKQorCWNoZWNrX3N5bWJvbF9leGlzdHMoc3lzX3NpZ2xpc3Qg InNpZ25hbC5oIiBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QpCitlbmRpZigpCisK K3NldChDTUFLRV9NQUNPU1hfUlBBVEggMSkKKyNzZXQoQ01BS0VfSU5TVEFM TF9SUEFUSF9VU0VfTElOS19QQVRIIFRSVUUpCisKK2lmKE1TVkMpCisJY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKF9mc2Vla2k2NCBIQVZFX0ZTRUVLTykKK2Vs c2UoKQorCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhmc2Vla28gSEFWRV9GU0VF S08pCitlbmRpZigpCisKK2lmKE5PVCBNU1ZDKQorCWNoZWNrX2luY2x1ZGVf ZmlsZXMoZGxmY24uaCBIQVZFX0RMRkNOX0gpCisJaWYoSEFWRV9ETEZDTl9I KQorCQlzZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxFUyAiJHtDTUFLRV9F WFRSQV9JTkNMVURFX0ZJTEVTfTtkbGZjbi5oIikKKwllbmRpZigpCisJc2V0 KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke0RMX0xJQlJBUklFU30pCisJ Y2hlY2tfZnVuY3Rpb25fZXhpc3RzKGRsb3BlbiBIQVZFX0RMT1BFTikKK2Vu ZGlmKCkKKworc2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAiIikKK2No ZWNrX2luY2x1ZGVfZmlsZXMoc3RyaW5ncy5oIEhBVkVfU1RSSU5HU19IKQor Y2hlY2tfaW5jbHVkZV9maWxlcyhzdHJpbmcuaCBIQVZFX1NUUklOR19IKQor aWYoSEFWRV9TVFJJTkdTX0gpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xVREVf RklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307c3RyaW5ncy5o IikKK2VuZGlmKCkKK2lmKEhBVkVfU1RSSU5HX0gpCisJc2V0KENNQUtFX0VY VFJBX0lOQ0xVREVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxF U307c3RyaW5nLmgiKQorZW5kaWYoKQorY2hlY2tfZnVuY3Rpb25fZXhpc3Rz KGZscyBIQVZFX0ZMUykKKworY2hlY2tfaW5jbHVkZV9maWxlcyhnZXRvcHQu aCBIQVZFX0dFVE9QVF9IKQoraWYoSEFWRV9HRVRPUFRfSCkKKwlzZXQoQ01B S0VfRVhUUkFfSU5DTFVERV9GSUxFUyAiJHtDTUFLRV9FWFRSQV9JTkNMVURF X0ZJTEVTfTtnZXRvcHQuaCIpCitlbmRpZigpCisKK2NoZWNrX2Z1bmN0aW9u X2V4aXN0cyhzdHJ0b2xsIEhBVkVfU1RSVE9MTCkKK2NoZWNrX2Z1bmN0aW9u X2V4aXN0cyhzdHJ0b3EgSEFWRV9TVFJUT1EpCitjaGVja19mdW5jdGlvbl9l eGlzdHMoc3RydG91bGwgSEFWRV9TVFJUT1VMTCkKK2NoZWNrX2Z1bmN0aW9u X2V4aXN0cyhzdHJ0b3VxIEhBVkVfU1RSVE9VUSkKKworY2hlY2tfdHlwZV9z aXplKCJzdHJ1Y3Qgb3B0aW9uIiBIQVZFX1NUUlVDVF9PUFRJT04pCitjaGVj a19mdW5jdGlvbl9leGlzdHMoZ2V0b3B0IEhBVkVfR0VUT1BUKQorY2hlY2tf ZnVuY3Rpb25fZXhpc3RzKGdldG9wdF9sb25nIEhBVkVfR0VUT1BUX0xPTkcp CitjaGVja19mdW5jdGlvbl9leGlzdHMoZ2V0aG9zdGJ5bmFtZV9yIEhBVkVf R0VUSE9TVEJZTkFNRV9SKQorY2hlY2tfZnVuY3Rpb25fZXhpc3RzKGdldHB3 dWlkX3IgSEFWRV9HRVRQV1VJRF9SKQorY2hlY2tfZnVuY3Rpb25fZXhpc3Rz KHN0cmVycm9yX3IgSEFWRV9TVFJFUlJPUl9SKQorY2hlY2tfZnVuY3Rpb25f ZXhpc3RzKHN0cmVycm9yIEhBVkVfU1RSRVJST1IpCisjSSBhbSBub3Qgc3Vy ZSBhYm91dCB0aGlzIGNvZGUuCitjaGVja19jX3NvdXJjZV9ydW5zKCIKKyNp bmNsdWRlIDxzdHJpbmcuaD4KK2ludCBtYWluKHZvaWQpeworI2lmbmRlZiBf QUlYCitpbnQgc3RyZXJyb3JfcihpbnQsIGNoYXIgKiwgc2l6ZV90KTsKKyNl bHNlCisvKiBPbGRlciBBSVggaGFzICdpbnQnIGZvciB0aGUgdGhpcmQgYXJn dW1lbnQgc28gd2UgZG9uJ3QgdGVzdCB0aGUgYXJncy4gKi8KK2ludCBzdHJl cnJvcl9yKCk7CisjZW5kaWYKK3JldHVybiAwOworfQorIiBTVFJFUlJPUl9S X0lOVCkKKworY2hlY2tfY19zb3VyY2VfcnVucygiCitpbnQgbWFpbih2b2lk KXsKK2ludCBhID0gMDsgaW50ICpwID0gJmE7IGludCByOworIF9fYXNtX18g X192b2xhdGlsZV9fIChcIiBsd2FyeCAlMCwwLCUxLDFcblwiIDogXCI9JnJc IihyKSA6IFwiclwiKHApKTsKK3JldHVybiAwOworfQorIiBIQVZFX1BQQ19M V0FSWF9NVVRFWF9ISU5UKQorCitjaGVja19jX3NvdXJjZV9ydW5zKCIKKyNp bmNsdWRlIDxtYWNoaW5lL3ZtcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMvZXhl Yy5oPgoraW50IG1haW4odm9pZCl7CitQU19TVFJJTkdTLT5wc19uYXJndnN0 ciA9IDE7CitQU19TVFJJTkdTLT5wc19hcmd2c3RyID0gXCJmb29cIjsKK3Jl dHVybiAwOworfQorIiBIQVZFX1BTX1NUUklOR1MpCisKK2NoZWNrX2luY2x1 ZGVfZmlsZXMoc3lzL21tYW4uaCBIQVZFX1NZU19NTUFOX0gpCitpZihIQVZF X1NZU19NTUFOX0gpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xVREVfRklMRVMg IiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307c3lzL21tYW4uaCIpCitl bmRpZigpCitpZihDTUFLRV9TWVNURU1fTkFNRSBTVFJFUVVBTCAiTGludXgi KQorCXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgIiR7Q01BS0VfUkVR VUlSRURfTElCUkFSSUVTfSAtbHJ0IikKK2VuZGlmKENNQUtFX1NZU1RFTV9O QU1FIFNUUkVRVUFMICJMaW51eCIpCitjaGVja19mdW5jdGlvbl9leGlzdHMo c2htX29wZW4gSEFWRV9TSE1fT1BFTikKKworY2hlY2tfaW5jbHVkZV9maWxl cyhzeXMvdGltZS5oIEhBVkVfU1lTX1RJTUVfSCkKK2NoZWNrX2luY2x1ZGVf ZmlsZXMoc3lzL3Jlc291cmNlLmggSEFWRV9TWVNfUkVTT1VSQ0VfSCkKK2lm KEhBVkVfU1lTX1RJTUVfSCkKKwlzZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9G SUxFUyAiJHtDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVTfTtzeXMvdGltZS5o IikKK2VuZGlmKCkKK2lmKEhBVkVfU1lTX1JFU09VUkNFX0gpCisJc2V0KENN QUtFX0VYVFJBX0lOQ0xVREVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVE RV9GSUxFU307c3lzL3Jlc291cmNlLmgiKQorZW5kaWYoKQorY2hlY2tfZnVu Y3Rpb25fZXhpc3RzKGdldHJ1c2FnZSBIQVZFX0dFVFJVU0FHRSkKK2NoZWNr X2Z1bmN0aW9uX2V4aXN0cyhnZXR0aW1lb2ZkYXkgSEFWRV9HRVRUSU1FT0ZE QVkpCisKK2NoZWNrX2luY2x1ZGVfZmlsZXModXRpbWUuaCBIQVZFX1VUSU1F X0gpCitpZihIQVZFX1VUSU1FX0gpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xV REVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307dXRpbWUu aCIpCitlbmRpZigpCitjaGVja19mdW5jdGlvbl9leGlzdHModXRpbWUgSEFW RV9VVElNRSkKK2NoZWNrX2Z1bmN0aW9uX2V4aXN0cyh1dGltZXMgSEFWRV9V VElNRVMpCisKK3NldChPTERfSU5DTFVERVMgIiR7Q01BS0VfRVhUUkFfSU5D TFVERV9GSUxFU30iKQorc2V0KENNQUtFX0VYVFJBX0lOQ0xVREVfRklMRVMg IiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307bmV0aW5ldC9pbi5oO2Fy cGEvaW5ldC5oIikKK2NoZWNrX2Z1bmN0aW9uX2V4aXN0cyhpbmV0X2F0b24g SEFWRV9JTkVUX0FUT04pCitzZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxF UyAiJHtPTERfSU5DTFVERVN9IikKKworaWYoT1BFTlNTTF9GT1VORCkKKwlz ZXQoVVNFX09QRU5TU0wgMSkKKwlzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVE RVMgIiR7Q01BS0VfUkVRVUlSRURfSU5DTFVERVN9OyR7T1BFTlNTTF9JTkNM VURFX0RJUn0iKQorCXNldChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtP UEVOU1NMX0xJQlJBUklFU30pCisJY2hlY2tfZnVuY3Rpb25fZXhpc3RzKFNT TF9nZXRfY3VycmVudF9jb21wcmVzc2lvbiBIQVZFX1NTTF9HRVRfQ1VSUkVO VF9DT01QUkVTU0lPTikKK2VuZGlmKE9QRU5TU0xfRk9VTkQpCisKKworY2hl Y2tfaW5jbHVkZV9maWxlcyhzeXMvdW4uaCBIQVZFX1NZU19VTl9IKQorY2hl Y2tfaW5jbHVkZV9maWxlcyh1Y3JlZC5oIEhBVkVfVUNSRURfSCkKK2NoZWNr X2luY2x1ZGVfZmlsZXMoc3lzL3VjcmVkLmggSEFWRV9TWVNfVUNSRURfSCkK K2NoZWNrX2luY2x1ZGVfZmlsZXMoc3lzL3R5cGVzLmggSEFWRV9TWVNfVFlQ RVNfSCkKK2NoZWNrX2luY2x1ZGVfZmlsZXMoc3lzL3NvY2tldC5oIEhBVkVf U1lTX1NPQ0tFVF9IKQorY2hlY2tfaW5jbHVkZV9maWxlcyhzeXMvc29ja2lv LmggSEFWRV9TWVNfU09DS0lPX0gpCitjaGVja19pbmNsdWRlX2ZpbGVzKHN0 ZGludC5oIEhBVkVfU1RESU5UX0gpCisKK2NoZWNrX2luY2x1ZGVfZmlsZXMo c3lzL3NlbGVjdC5oIEhBVkVfU1lTX1NFTEVDVF9IKQorY2hlY2tfaW5jbHVk ZV9maWxlcyhzeXMvcG9sbC5oIEhBVkVfU1lTX1BPTExfSCkKK2NoZWNrX2lu Y2x1ZGVfZmlsZXMoc3lzL2Vwb2xsLmggSEFWRV9TWVNfRVBPTExfSCkKK2No ZWNrX2luY2x1ZGVfZmlsZXMoc3lzL3BzdGF0LmggSEFWRV9TWVNfUFNUQVRf SCkKK2NoZWNrX2luY2x1ZGVfZmlsZXMoc3lzL3Rhcy5oIEhBVkVfU1lTX1RB U19IKQorY2hlY2tfaW5jbHVkZV9maWxlcyhkbGQuaCBIQVZFX0RMRF9IKQor Y2hlY2tfaW5jbHVkZV9maWxlcyhsYW5naW5mby5oIEhBVkVfTEFOR0lORk9f SCkKK2NoZWNrX2luY2x1ZGVfZmlsZXMocG9sbC5oIEhBVkVfUE9MTF9IKQor CitjaGVja19pbmNsdWRlX2ZpbGVzKHdjaGFyLmggSEFWRV9XQ0hBUl9IKQor Y2hlY2tfaW5jbHVkZV9maWxlcyh3Y3R5cGUuaCBIQVZFX1dDVFlQRV9IKQor Y2hlY2tfaW5jbHVkZV9maWxlcyh3aW5sZGFwLmggSEFWRV9XSU5MREFQX0gp CitjaGVja19pbmNsdWRlX2ZpbGVzKHB3ZC5oIEhBVkVfUFdEX0gpCitjaGVj a19pbmNsdWRlX2ZpbGVzKGNydGRlZnMuaCBIQVZFX0NSVERFRlNfSCkKKwor Y2hlY2tfaW5jbHVkZV9maWxlcyhuYnRvb2xfY29uZmlnLmggSEFWRV9OQlRP T0xfQ09ORklHX0gpCisKK2NoZWNrX2luY2x1ZGVfZmlsZXMobWJhcnJpZXIu aCBIQVZFX01CQVJSSUVSX0gpCitjaGVja19pbmNsdWRlX2ZpbGVzKGF0b21p Yy5oIEhBVkVfQVRPTUlDX0gpCisKK2NoZWNrX2luY2x1ZGVfZmlsZXMobmV0 aW5ldC90Y3AuaCBIQVZFX05FVElORVRfVENQX0gpCitjaGVja19pbmNsdWRl X2ZpbGVzKG5ldC9pZi5oIEhBVkVfTkVUX0lGX0gpCisKK2NoZWNrX2luY2x1 ZGVfZmlsZXMocGFtL3BhbV9hcHBsLmggSEFWRV9QQU1fUEFNX0FQUExfSCkK K2NoZWNrX2luY2x1ZGVfZmlsZXMoc2VjdXJpdHkvcGFtX2FwcGwuaCBIQVZF X1NFQ1VSSVRZX1BBTV9BUFBMX0gpCitpZihVU0VfUEFNIEFORCBOT1QgKEhB VkVfUEFNX1BBTV9BUFBMX0ggT1IgSEFWRV9TRUNVUklUWV9QQU1fQVBQTF9I KSkKKwltZXNzYWdlKEZBVEFMX0VSUk9SICJoZWFkZXIgZmlsZSA8c2VjdXJp dHkvcGFtX2FwcGwuaD4gb3IgPHBhbS9wYW1fYXBwbC5oPiBpcyByZXF1aXJl ZCBmb3IgUEFNLiIpCitlbmRpZigpCisKK2NoZWNrX2luY2x1ZGVfZmlsZXMo c3lzbG9nLmggSEFWRV9TWVNMT0cpCitjaGVja19pbmNsdWRlX2ZpbGVzKHRl cm1pb3MuaCBIQVZFX1RFUk1JT1NfSCkKKworaWYoVVNFX1NZU1RFTUQpCisJ Y2hlY2tfaW5jbHVkZV9maWxlcyhzeXN0ZW1kL3NkLWRhZW1vbi5oIEhBVkVf U1lTVEVNRF9TRF9EQUVNT05fSCkKKwlpZihOT1QgSEFWRV9TWVNURU1EX1NE X0RBRU1PTl9IKQorCQltZXNzYWdlKEZBVEFMX0VSUk9SICJoZWFkZXIgZmls ZSA8c3lzdGVtZC9zZC1kYWVtb24uaD4gaXMgcmVxdWlyZWQgZm9yIHN5c3Rl bWQgc3VwcG9ydCIpCisJZW5kaWYoKQorZW5kaWYoKQorCitjaGVja19pbmNs dWRlX2ZpbGVzKGJzZF9hdXRoLmggSEFWRV9CU0RfQVVUSF9IKQoraWYoVVNF X0JTRF9BVVRIIEFORCBOT1QgSEFWRV9CU0RfQVVUSF9IKQorCW1lc3NhZ2Uo RkFUQUxfRVJST1IgImhlYWRlciBmaWxlIDxic2RfYXV0aC5oPiBpcyByZXF1 aXJlZCBmb3IgQlNEIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQiKQorZW5kaWYo KQorCisKKyNDaGVjayBSZWFkTGluZSBpbmNsdWRlcworb3B0aW9uKFdJVEhf UkVBRExJTkUgImRvIG5vdCB1c2UgR05VIFJlYWRsaW5lIG5vciBCU0QgTGli ZWRpdCBmb3IgZWRpdGluZyIgT04pCitpZihXSVRIX1JFQURMSU5FIEFORCBO T1QgTVNWQykKKwlmaW5kX3BhY2thZ2UoUmVhZGxpbmUpCisJaWYoUkVBRExJ TkVfRk9VTkQpCisJCSNTb21ldGltZXMgZm9yIHJlZGxpbmUgbmVlZCBjdXJz ZXMKKwkJbWVzc2FnZShTVEFUVVMgIkZvdW5kIFJlYWRsaW5lOiAke1JFQURM SU5FX0xJQlJBUll9IikKKwkJZmluZF9wYWNrYWdlKEN1cnNlcykKKwkJaWYo Tk9UIENVUlNFU19GT1VORCkKKwkJCXNldChDVVJTRVNfTkVFRF9OQ1VSU0VT IFRSVUUpCisJCWVuZGlmKCkKKwkJZmluZF9wYWNrYWdlKEN1cnNlcykKKwkJ Y2hlY2tfaW5jbHVkZV9maWxlcygic3RkaW8uaDtyZWFkbGluZS5oIiBIQVZF X1JFQURMSU5FX0gpCisJCWNoZWNrX2luY2x1ZGVfZmlsZXMoInN0ZGlvLmg7 aGlzdG9yeS5oIiBIQVZFX0hJU1RPUllfSCkKKwkJY2hlY2tfaW5jbHVkZV9m aWxlcygic3RkaW8uaDtyZWFkbGluZS9oaXN0b3J5LmgiIEhBVkVfUkVBRExJ TkVfSElTVE9SWV9IKQorCQljaGVja19pbmNsdWRlX2ZpbGVzKCJzdGRpby5o O3JlYWRsaW5lL3JlYWRsaW5lLmgiIEhBVkVfUkVBRExJTkVfUkVBRExJTkVf SCkKKwkJY2hlY2tfaW5jbHVkZV9maWxlcygic3RkaW8uaDtlZGl0bGluZS9o aXN0b3J5LmgiIEhBVkVfRURJVExJTkVfSElTVE9SWV9IKQorCQljaGVja19p bmNsdWRlX2ZpbGVzKCJzdGRpby5oO2VkaXRsaW5lL3JlYWRsaW5lLmgiIEhB VkVfRURJVExJTkVfUkVBRExJTkVfSCkKKworCisJCXNldChDTUFLRV9SRVFV SVJFRF9MSUJSQVJJRVMgJHtDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVN9ICR7 UkVBRExJTkVfTElCUkFSWX0pCisJCWlmKENVUlNFU19GT1VORCkKKwkJCXNl dChDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgJHtDTUFLRV9SRVFVSVJFRF9M SUJSQVJJRVN9ICR7Q1VSU0VTX0xJQlJBUklFU30pCisJCQlzZXQoUkVBRExJ TkVfTElCUkFSWSAke1JFQURMSU5FX0xJQlJBUll9ICR7Q1VSU0VTX0xJQlJB UklFU30pCisJCWVuZGlmKCkKKwkJY2hlY2tfZnVuY3Rpb25fZXhpc3RzKHJs X2NvbXBsZXRpb25fYXBwZW5kX2NoYXJhY3RlciBIQVZFX1JMX0NPTVBMRVRJ T05fQVBQRU5EX0NIQVJBQ1RFUikKKwkJY2hlY2tfZnVuY3Rpb25fZXhpc3Rz KHJsX2NvbXBsZXRpb25fbWF0Y2hlcyBIQVZFX1JMX0NPTVBMRVRJT05fTUFU Q0hFUykKKwkJY2hlY2tfZnVuY3Rpb25fZXhpc3RzKHJsX2ZpbGVuYW1lX2Nv bXBsZXRpb25fZnVuY3Rpb24gSEFWRV9STF9GSUxFTkFNRV9DT01QTEVUSU9O X0ZVTkNUSU9OKQorCQljaGVja19mdW5jdGlvbl9leGlzdHMocmxfcmVzZXRf c2NyZWVuX3NpemUgSEFWRV9STF9SRVNFVF9TQ1JFRU5fU0laRSkKKwkJY2hl Y2tfZnVuY3Rpb25fZXhpc3RzKGFwcGVuZF9oaXN0b3J5IEhBVkVfQVBQRU5E X0hJU1RPUlkpCisJCWNoZWNrX2Z1bmN0aW9uX2V4aXN0cyhoaXN0b3J5X3Ry dW5jYXRlX2ZpbGUgSEFWRV9ISVNUT1JZX1RSVU5DQVRFX0ZJTEUpCisJZW5k aWYoUkVBRExJTkVfRk9VTkQpCitlbmRpZigpCisKK2lmKFJFQURMSU5FX0ZP VU5EKQorCXNldChIQVZFX0xJQlJFQURMSU5FIFRSVUUpCitlbHNlKCkKKwlz ZXQoUkVBRExJTkVfTElCUkFSWSAiIikKKwlzZXQoSEFWRV9MSUJSRUFETElO RSBGQUxTRSkKK2VuZGlmKCkKKworY2hlY2tfaW5jbHVkZV9maWxlcygic3lz L2lwYy5oIiBIQVZFX1NZU19JUENfSCkKK2NoZWNrX2luY2x1ZGVfZmlsZXMo InN5cy9zZW0uaCIgSEFWRV9TWVNfU0VNX0gpCitjaGVja19pbmNsdWRlX2Zp bGVzKCJzeXMvc2htLmgiIEhBVkVfU1lTX1NITV9IKQorY2hlY2tfaW5jbHVk ZV9maWxlcygic3lzL2lvY3RsLmgiIEhBVkVfU1lTX0lPQ1RMX0gpCisKKyMg Q2hlY2sgaWYgX0dOVV9TT1VSQ0UgaXMgYXZhaWxhYmxlLgorY2hlY2tfc3lt Ym9sX2V4aXN0cyhfX0dOVV9MSUJSQVJZX18gImZlYXR1cmVzLmgiIF9HTlVf U09VUkNFKQorY2hlY2tfc3ltYm9sX2V4aXN0cyhGX0ZVTExGU1lOQyAiZmNu dGwuaCIgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DKQorCitpbmNsdWRlKFJlcGxh Y2VQeXRob24pCitpbmNsdWRlKENoZWNrQ3B1SUQpCitpbmNsdWRlKENoZWNr U1NFNDIpCisKK2lmKE1TVkMpCisJaWYoSEFWRV9fR0VUX0NQVUlEIE9SIEhB VkVfX0NQVUlEKQorCQlzZXQoVVNFX1NTRTQyX0NSQzMyQ19XSVRIX1JVTlRJ TUVfQ0hFQ0sgMSkKKwllbmRpZigpCitlbHNlKCkKKwlpZihIQVZFX1NTRTQy IEFORCBIQVZFX1NTRTQyX0lOVFJJTlNJQ1MpCisJCXNldChVU0VfU1NFNDJf Q1JDMzJDIDEpCisJZWxzZWlmKEhBVkVfU1NFNDJfSU5UUklOU0lDUyBBTkQg KEhBVkVfX0dFVF9DUFVJRCBPUiBIQVZFX19DUFVJRCkpCisJCXNldChVU0Vf U1NFNDJfQ1JDMzJDX1dJVEhfUlVOVElNRV9DSEVDSyAxKQorCWVsc2UoKQor CQlzZXQoVVNFX1NMSUNJTkdfQllfOF9DUkMzMkMgMSkKKwllbmRpZigpCitl bmRpZigpCisKK2luY2x1ZGUoRnVuY0FjY2VwdEFyZ3R5cGVzKQoraW5jbHVk ZShDaGVja1R5cGVBbGlnbm1lbnQpCitjaGVja190eXBlX2FsaWdubWVudChk b3VibGUgQUxJR05PRl9ET1VCTEUpCitjaGVja190eXBlX2FsaWdubWVudChp bnQgQUxJR05PRl9JTlQpCitjaGVja190eXBlX2FsaWdubWVudChsb25nIEFM SUdOT0ZfTE9ORykKK2NoZWNrX3R5cGVfYWxpZ25tZW50KCJsb25nIGxvbmcg aW50IiBBTElHTk9GX0xPTkdfTE9OR19JTlQpCitjaGVja190eXBlX2FsaWdu bWVudChzaG9ydCBBTElHTk9GX1NIT1JUKQorCitjaGVja190eXBlX3NpemUo aW50NjQgSEFWRV9JTlQ2NCkKK2NoZWNrX3R5cGVfc2l6ZSh1aW50NjQgSEFW RV9VSU5UNjQpCitjaGVja190eXBlX3NpemUoaW50OCBIQVZFX0lOVDgpCitj aGVja190eXBlX3NpemUodWludDggSEFWRV9VSU5UOCkKK2NoZWNrX3R5cGVf c2l6ZSgidm9pZCAqIiBWT0lEX1BPSU5URVJfU0laRSkKK21hdGgoRVhQUiBW T0lEX1BPSU5URVJfU0laRV9CSVQgIiR7Vk9JRF9QT0lOVEVSX1NJWkV9Kjgi KQorY2hlY2tfdHlwZV9zaXplKCJsb25nIGludCIgTE9OR19JTlRfU0laRSkK K2NoZWNrX3R5cGVfc2l6ZSgibG9uZyBsb25nIGludCIgSEFWRV9MT05HX0xP TkdfSU5UKQorY2hlY2tfdHlwZV9zaXplKCJsb25nIiBTSVpFT0ZfTE9ORykK K2NoZWNrX3R5cGVfc2l6ZSgic2l6ZV90IiBTSVpFT0ZfU0laRV9UKQorY2hl Y2tfdHlwZV9zaXplKF9faW50MTI4IFBHX0lOVDEyOF9UWVBFKQoraWYoUEdf SU5UMTI4X1RZUEUgQU5EIE5PVCBXSU4zMikKKwlzZXQoSEFWRV9JTlQxMjgg MSkKKwlzZXQoUEdfSU5UMTI4X1RZUEUgX19pbnQxMjgpCitlbmRpZigpCisK K2NoZWNrX2luY2x1ZGVfZmlsZXMoImxvY2FsZS5oIiBIQVZFX0xPQ0FMRV9I KQorY2hlY2tfaW5jbHVkZV9maWxlcygieGxvY2FsZS5oIiBIQVZFX1hMT0NB TEVfSCkKK2lmKEhBVkVfTE9DQUxFX0gpCisJc2V0KENNQUtFX0VYVFJBX0lO Q0xVREVfRklMRVMgIiR7Q01BS0VfRVhUUkFfSU5DTFVERV9GSUxFU307bG9j YWxlLmgiKQorZW5kaWYoKQorY2hlY2tfdHlwZV9zaXplKCJsb2NhbGVfdCIg SEFWRV9MT0NBTEVfVCkKK2lmKE5PVCBIQVZFX0xPQ0FMRV9UIEFORCBIQVZF X1hMT0NBTEVfSCkKKwlzZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxFUyAi JHtDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVTfTt4bG9jYWxlLmgiKQorCWNo ZWNrX3R5cGVfc2l6ZSgibG9jYWxlX3QiIEhBVkVfTE9DQUxFX1QpCisJaWYo SEFWRV9MT0NBTEVfVCkKKwkJc2V0KExPQ0FMRV9UX0lOX1hMT0NBTEUgMSkK KwllbHNlKCkKKwkJc2V0KExPQ0FMRV9UX0lOX1hMT0NBTEUgMCkKKwllbmRp ZigpCitlbHNlKCkKKwlzZXQoTE9DQUxFX1RfSU5fWExPQ0FMRSAwKQorZW5k aWYoKQorCitjaGVja190eXBlX3NpemUoIndjc3RvbWJzX2wiIEhBVkVfV0NT VE9NQlNfTCkKKyNjaGVja19mdW5jdGlvbl9leGlzdHMod2NzdG9tYnNfbCBI QVZFX1dDU1RPTUJTX0wpCitpZihOT1QgSEFWRV9XQ1NUT01CU19MIEFORCBI QVZFX1hMT0NBTEVfSCkKKwlzZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxF UyAiJHtDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVTfTt4bG9jYWxlLmgiKQor CWNoZWNrX3R5cGVfc2l6ZSgid2NzdG9tYnNfbCIgSEFWRV9XQ1NUT01CU19M KQorCWlmKEhBVkVfV0NTVE9NQlNfTCkKKwkJc2V0KFdDU1RPTUJTX0xfSU5f WExPQ0FMRSAxKQorCWVsc2UoKQorCQlzZXQoV0NTVE9NQlNfTF9JTl9YTE9D QUxFIDApCisJZW5kaWYoKQorZWxzZSgpCisJc2V0KFdDU1RPTUJTX0xfSU5f WExPQ0FMRSAwKQorZW5kaWYoKQorCitpZihMT05HX0lOVF9TSVpFIEVRVUFM IDgpCisJc2V0KFBHX0lOVDY0X1RZUEUgImxvbmcgaW50IikKKwlzZXQoSEFW RV9MT05HX0lOVF82NCAke0xPTkdfSU5UX1NJWkV9KQorZWxzZShMT05HX0lO VF9TSVpFIEVRVUFMIDgpCisJaWYoSEFWRV9MT05HX0xPTkdfSU5UIEVRVUFM IDgpCisJCXNldChQR19JTlQ2NF9UWVBFICJsb25nIGxvbmcgaW50IikKKwkJ c2V0KEhBVkVfTE9OR19MT05HX0lOVF82NCAxKQorCWVsc2UoKQorCQltZXNz YWdlKEZBVEFMX0VSUk9SICJDYW5ub3QgZmluZCBhIHdvcmtpbmcgNjQtYml0 IGludGVnZXIgdHlwZS4iKQorCWVuZGlmKCkKK2VuZGlmKExPTkdfSU5UX1NJ WkUgRVFVQUwgOCkKKworbWVzc2FnZShTVEFUVVMgIlBHX0lOVDY0X1RZUEU6 ICR7UEdfSU5UNjRfVFlQRX0gSEFWRV9MT05HX0lOVF82NDogJHtIQVZFX0xP TkdfSU5UXzY0fSIpCisjIENvbXB1dGUgbWF4aW11bSBhbGlnbm1lbnQgb2Yg YW55IGJhc2ljIHR5cGUuCisjIFdlIGFzc3VtZSBsb25nJ3MgYWxpZ25tZW50 IGlzIGF0IGxlYXN0IGFzIHN0cm9uZyBhcyBjaGFyLCBzaG9ydCwgb3IgaW50 OworIyBidXQgd2UgbXVzdCBjaGVjayBsb25nIGxvbmcgKGlmIGl0IGV4aXN0 cykgYW5kIGRvdWJsZS4KKworaWYoTk9UIE1BWElNVU1fQUxJR05PRikKKwlz ZXQoTUFYX0FMSUdOT0YgJHtBTElHTk9GX0xPTkd9KQorCWlmKE1BWF9BTElH Tk9GIExFU1MgQUxJR05PRl9ET1VCTEUpCisJCXNldChNQVhfQUxJR05PRiAk e0FMSUdOT0ZfRE9VQkxFfSkKKwllbmRpZihNQVhfQUxJR05PRiBMRVNTIEFM SUdOT0ZfRE9VQkxFKQorCWlmKEhBVkVfTE9OR19MT05HX0lOVF82NCBBTkQg TUFYX0FMSUdOT0YgTEVTUyBIQVZFX0xPTkdfTE9OR19JTlRfNjQpCisJCXNl dChNQVhfQUxJR05PRiAke0hBVkVfTE9OR19MT05HX0lOVF82NH0pCisJZW5k aWYoSEFWRV9MT05HX0xPTkdfSU5UXzY0IEFORCBNQVhfQUxJR05PRiBMRVNT IEhBVkVfTE9OR19MT05HX0lOVF82NCkKKwlpZihNQVhfQUxJR05PRikKKwkJ c2V0KE1BWElNVU1fQUxJR05PRiAke01BWF9BTElHTk9GfSkKKwllbmRpZihN QVhfQUxJR05PRikKK2VuZGlmKE5PVCBNQVhJTVVNX0FMSUdOT0YpCittZXNz YWdlKFNUQVRVUyAiTUFYSU1VTV9BTElHTk9GICR7TUFYSU1VTV9BTElHTk9G fSIpCisKK2lmKEhBVkVfTE9OR19MT05HX0lOVF82NCkKKwlpZihOT1QgTkVF RF9SRVBMX1NOUFJJTlRGKQorCQlpbmNsdWRlKENoZWNrU25wcmludGZMb25n TG9uZ0ludE1vZGlmaWVyKQorCQlpZihOT1QgTE9OR19MT05HX0lOVF9NT0RJ RklFUikKKwkJCXNldChMT05HX0xPTkdfSU5UX01PRElGSUVSICJsbCIpCisJ CQlzZXQoTkVFRF9SRVBMX1NOUFJJTlRGIE9OKQorCQllbmRpZihOT1QgTE9O R19MT05HX0lOVF9NT0RJRklFUikKKwllbHNlKE5PVCBORUVEX1JFUExfU05Q UklOVEYpCisJCXNldChMT05HX0xPTkdfSU5UX01PRElGSUVSICJsbCIpCisJ ZW5kaWYoTk9UIE5FRURfUkVQTF9TTlBSSU5URikKK2Vsc2UoSEFWRV9MT05H X0xPTkdfSU5UXzY0KQorCXNldChMT05HX0xPTkdfSU5UX01PRElGSUVSICJs IikKK2VuZGlmKEhBVkVfTE9OR19MT05HX0lOVF82NCkKKworaWYoSEFWRV9M T05HX0xPTkdfSU5UXzY0KQorCW1lc3NhZ2UoU1RBVFVTICJIQVZFX0xPTkdf TE9OR19JTlRfNjQgJHtIQVZFX0xPTkdfTE9OR19JTlRfNjR9IikKK2VuZGlm KCkKK2lmKEhBVkVfTE9OR19MT05HX0lOVF82NCkKKwlpbmNsdWRlKENoZWNr TExDb25zdGFudHMpCitlbmRpZigpCisKKyNUT0RPOiBzb21lIHN0cmFuZ2Ug aGVyZQorb3B0aW9uKFVTRV9GTE9BVDRfQllWQUwgImZsb2F0NCB2YWx1ZXMg YXJlIHBhc3NlZCBieSB2YWx1ZSIgT04pCitpZihVU0VfRkxPQVQ0X0JZVkFM KQorCXNldChGTE9BVDRQQVNTQllWQUwgMSkKK2Vsc2UoVVNFX0ZMT0FUNF9C WVZBTCkKKwlzZXQoRkxPQVQ0UEFTU0JZVkFMIDApCitlbmRpZihVU0VfRkxP QVQ0X0JZVkFMKQorCitpZihWT0lEX1BPSU5URVJfU0laRSBFUVVBTCA4KQor CW9wdGlvbihVU0VfRkxPQVQ4X0JZVkFMICJmbG9hdDggdmFsdWVzIGFyZSBw YXNzZWQgYnkgdmFsdWUiIE9OKQorZWxzZSgpCisJb3B0aW9uKFVTRV9GTE9B VDhfQllWQUwgImZsb2F0OCB2YWx1ZXMgYXJlIHBhc3NlZCBieSB2YWx1ZSIg T0ZGKQorZW5kaWYoKQoraWYoVVNFX0ZMT0FUOF9CWVZBTCBBTkQgTk9UIChW T0lEX1BPSU5URVJfU0laRSBFUVVBTCA4KSkKKwltZXNzYWdlKEZBVEFMX0VS Uk9SICJVU0VfRkxPQVQ4X0JZVkFMIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzIt Yml0IHBsYXRmb3Jtcy4iKQorZWxzZWlmKFVTRV9GTE9BVDhfQllWQUwgQU5E IFZPSURfUE9JTlRFUl9TSVpFIEVRVUFMIDgpCisJc2V0KEZMT0FUOFBBU1NC WVZBTCAxKQorCXNldChVU0VfRkxPQVQ4X0JZVkFMIDEpCitlbHNlKCkKKwlz ZXQoRkxPQVQ4UEFTU0JZVkFMIDApCisJc2V0KFVTRV9GTE9BVDhfQllWQUwg MCkKK2VuZGlmKFVTRV9GTE9BVDhfQllWQUwgQU5EIE5PVCAoVk9JRF9QT0lO VEVSX1NJWkUgRVFVQUwgOCkpCisKK2lmIChfR05VX1NPVVJDRSkKKwlhZGRf ZGVmaW5pdGlvbnMoLURfR05VX1NPVVJDRSkKK2VuZGlmKCkKK2lmKFRocmVh ZHNfRk9VTkQpCisJc2V0KEVOQUJMRV9USFJFQURfU0FGRVRZIDEpCisJc2V0 KFRIUkVBRFNfUFJFRkVSX1BUSFJFQURfRkxBRyBPTikKKwlzZXQoUFRIUkVB RF9DRkxBR1MgIi1EX1JFRU5UUkFOVCAtRF9USFJFQURfU0FGRSAtRF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyIpCisJaWYoVEhSRUFEU19IQVZFX1BUSFJF QURfQVJHKQorCQlzZXQoUFRIUkVBRF9DRkxBR1MgIiR7UFRIUkVBRF9DRkxB R1N9IC1wdGhyZWFkIikKKwllbmRpZigpCisJc2V0KENNQUtFX0NfRkxBR1Mg IiR7Q01BS0VfQ19GTEFHU30gJHtQVEhSRUFEX0NGTEFHU30iKQorZW5kaWYo KQorCitzZXQoUE9SVF9ESVIgIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv cG9ydCIpCitzZXQoUFFfQkFDS0VORF9ESVIgIiR7UFJPSkVDVF9TT1VSQ0Vf RElSfS9zcmMvYmFja2VuZC9saWJwcSIpCitzZXQoTUJfVVRJTFNfQkFDS0VO RF9ESVIgIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC91dGls cy9tYiIpCisKKworc2V0KGZhbGxiYWNrX1NSQ1MgIiIpCisKK2lmKE5PVCBI QVZFX0RFQ0xfU1RSTENQWSkKKyAgc2V0KGZhbGxiYWNrX1NSQ1MgJHtmYWxs YmFja19TUkNTfSAiJHtQT1JUX0RJUn0vc3RybGNweS5jIikKK2VuZGlmKE5P VCBIQVZFX0RFQ0xfU1RSTENQWSkKKworaWYoTk9UIEhBVkVfREVDTF9TVFJM Q0FUKQorCXNldChmYWxsYmFja19TUkNTICR7ZmFsbGJhY2tfU1JDU30gIiR7 UE9SVF9ESVJ9L3N0cmxjYXQuYyIpCitlbmRpZihOT1QgSEFWRV9ERUNMX1NU UkxDQVQpCisKK2lmKE5PVCBIQVZFX0dFVFBFRVJFSUQpCisJc2V0KGZhbGxi YWNrX1NSQ1MgJHtmYWxsYmFja19TUkNTfSAiJHtQT1JUX0RJUn0vZ2V0cGVl cmVpZC5jIikKK2VuZGlmKE5PVCBIQVZFX0dFVFBFRVJFSUQpCisKK3NldChU QUJMRV9CTE9DS1NJWkUgOCBDQUNIRSBTVFJJTkcgInNldCB0YWJsZSBibG9j ayBzaXplIGluIGtCIikKKworaWYoVEFCTEVfQkxPQ0tTSVpFIEVRVUFMIDEp CisJc2V0KEJMQ0tTWiAxMDI0KQorZWxzZWlmKFRBQkxFX0JMT0NLU0laRSBF UVVBTCAyKQorCXNldChCTENLU1ogMjA0OCkKK2Vsc2VpZihUQUJMRV9CTE9D S1NJWkUgRVFVQUwgNCkKKwlzZXQoQkxDS1NaIDQwOTYpCitlbHNlaWYoVEFC TEVfQkxPQ0tTSVpFIEVRVUFMIDgpCisJc2V0KEJMQ0tTWiA4MTkyKQorZWxz ZWlmKFRBQkxFX0JMT0NLU0laRSBFUVVBTCAxNikKKwlzZXQoQkxDS1NaIDE2 Mzg0KQorZWxzZWlmKFRBQkxFX0JMT0NLU0laRSBFUVVBTCAzMikKKwlzZXQo QkxDS1NaIDMyNzY4KQorZWxzZShUQUJMRV9CTE9DS1NJWkUgRVFVQUwgMSkK KwltZXNzYWdlKEZBVEFMX0VSUk9SICJJbnZhbGlkIGJsb2NrIHNpemUuIEFs bG93ZWQgdmFsdWVzIGFyZSAxLDIsNCw4LDE2LDMyLiIpCitlbmRpZihUQUJM RV9CTE9DS1NJWkUgRVFVQUwgMSkKKworbWVzc2FnZShTVEFUVVMgIkJMQ0tT WiAtICR7QkxDS1NafSIpCisKK3NldChTRUdTSVpFIDEgQ0FDSEUgU1RSSU5H ICJzZXQgdGFibGUgc2VnbWVudCBzaXplIGluIEdCIikKK21hdGgoRVhQUiBS RUxTRUdfU0laRSAiKDEwMjQgLyAke1RBQkxFX0JMT0NLU0laRX0pICogJHtT RUdTSVpFfSAqIDEwMjQiKQorCitzZXQoV0FMX0JMT0NLU0laRSA4IENBQ0hF IFNUUklORyAic2V0IFdBTCBibG9jayBzaXplIGluIGtCIikKKworaWYoV0FM X0JMT0NLU0laRSBFUVVBTCAxKQorCXNldChYTE9HX0JMQ0tTWiAxMDI0KQor ZWxzZWlmKFdBTF9CTE9DS1NJWkUgRVFVQUwgMikKKwlzZXQoWExPR19CTENL U1ogMjA0OCkKK2Vsc2VpZihXQUxfQkxPQ0tTSVpFIEVRVUFMIDQpCisJc2V0 KFhMT0dfQkxDS1NaIDQwOTYpCitlbHNlaWYoV0FMX0JMT0NLU0laRSBFUVVB TCA4KQorCXNldChYTE9HX0JMQ0tTWiA4MTkyKQorZWxzZWlmKFdBTF9CTE9D S1NJWkUgRVFVQUwgMTYpCisJc2V0KFhMT0dfQkxDS1NaIDE2Mzg0KQorZWxz ZWlmKFdBTF9CTE9DS1NJWkUgRVFVQUwgMzIpCisJc2V0KFhMT0dfQkxDS1Na IDMyNzY4KQorZWxzZWlmKFdBTF9CTE9DS1NJWkUgRVFVQUwgNjQpCisJc2V0 KFhMT0dfQkxDS1NaIDY1NTM2KQorZWxzZShXQUxfQkxPQ0tTSVpFIEVRVUFM IDEpCisJbWVzc2FnZShGQVRBTF9FUlJPUiAiSW52YWxpZCBXQUwgYmxvY2sg c2l6ZS4gQWxsb3dlZCB2YWx1ZXMgYXJlIDEsMiw0LDgsMTYsMzIsNjQuIikK K2VuZGlmKFdBTF9CTE9DS1NJWkUgRVFVQUwgMSkKKworbWVzc2FnZShTVEFU VVMgIlhMT0dfQkxDS1NaIC0gJHtYTE9HX0JMQ0tTWn0iKQorCitzZXQoV0FM X1NFR1NJWkUgMTYgQ0FDSEUgU1RSSU5HICJzZXQgV0FMIHNlZ21lbnQgc2l6 ZSBpbiBNQiIpCisKK2lmICgiOzE7Mjs0Ozg7MTY7MzI7NjQ7IiBNQVRDSEVT ICI7JHtXQUxfU0VHU0laRX07IikKKwltYXRoKEVYUFIgWExPR19TRUdfU0la RSAiJHtXQUxfU0VHU0laRX0gKiAxMDI0ICogMTAyNCIpCitlbHNlKCkKKwlt ZXNzYWdlKEZBVEFMX0VSUk9SICIke1dBTF9TRUdTSVpFfSBJbnZhbGlkIFdB TCBzZWdtZW50IHNpemUuIEFsbG93ZWQgdmFsdWVzIGFyZSAxLDIsNCw4LDE2 LDMyLDY0LiIpCitlbmRpZigpCisKK21lc3NhZ2UoU1RBVFVTICJYTE9HX1NF R19TSVpFIC0gJHtYTE9HX1NFR19TSVpFfSIpCisKK29wdGlvbihIQVZFX0FU T01JQ1MgIkRlZmluZSB0byBPTiBpZiB5b3Ugd2FudCB0byB1c2UgYXRvbWlj cyBpZiBhdmFpbGFibGUuIiBPTikKKworaWYoSEFWRV9BVE9NSUNTKQorCWNo ZWNrX2Nfc291cmNlX2NvbXBpbGVzKCIKKwkJaW50IG1haW4odm9pZCl7CisJ CQljaGFyIGxvY2sgPSAwOworCQkJX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0 KCZsb2NrLCAxKTsKKwkJCV9fc3luY19sb2NrX3JlbGVhc2UoJmxvY2spOwor CQkJcmV0dXJuIDA7CisJCX0KKwkiIEhBVkVfR0NDX19TWU5DX0NIQVJfVEFT KQorCisJY2hlY2tfY19zb3VyY2VfY29tcGlsZXMoIgorCQlpbnQgbWFpbih2 b2lkKXsKKwkJCWludCBsb2NrID0gMDsKKwkJCV9fc3luY19sb2NrX3Rlc3Rf YW5kX3NldCgmbG9jaywgMSk7CisJCQlfX3N5bmNfbG9ja19yZWxlYXNlKCZs b2NrKTsKKwkJCXJldHVybiAwOworCQl9CisJIiBIQVZFX0dDQ19fU1lOQ19J TlQzMl9UQVMpCisKKwljaGVja19jX3NvdXJjZV9jb21waWxlcygiCisJCWlu dCBtYWluKHZvaWQpeworCQkJaW50IHZhbCA9IDA7CisJCQlfX3N5bmNfdmFs X2NvbXBhcmVfYW5kX3N3YXAoJnZhbCwgMCwgMzcpOworCQkJcmV0dXJuIDA7 CisJCX0KKwkiIEhBVkVfR0NDX19TWU5DX0lOVDMyX0NBUykKKworCWNoZWNr X2Nfc291cmNlX2NvbXBpbGVzKCIKKwkJaW50IG1haW4odm9pZCl7CisJCQkk e1BHX0lOVDY0X1RZUEV9IGxvY2sgPSAwOworCQkJX19zeW5jX3ZhbF9jb21w YXJlX2FuZF9zd2FwKCZsb2NrLCAwLCAoJHtQR19JTlQ2NF9UWVBFfSkgMzcp OworCQkJcmV0dXJuIDA7CisJCX0KKwkiIEhBVkVfR0NDX19TWU5DX0lOVDY0 X0NBUykKKworCWNoZWNrX2Nfc291cmNlX2NvbXBpbGVzKCIKKwkJaW50IG1h aW4odm9pZCl7CisJCQlpbnQgdmFsID0gMDsKKwkJCWludCBleHBlY3QgPSAw OworCQkJX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKCZ2YWwsICZleHBl Y3QsIDM3LCAwLCBfX0FUT01JQ19TRVFfQ1NULCBfX0FUT01JQ19SRUxBWEVE KTsKKwkJCXJldHVybiAwOworCQl9CisJIiBIQVZFX0dDQ19fQVRPTUlDX0lO VDMyX0NBUykKKworCWNoZWNrX2Nfc291cmNlX2NvbXBpbGVzKCIKKwkJaW50 IG1haW4odm9pZCl7CisJCQkke1BHX0lOVDY0X1RZUEV9IHZhbCA9IDA7CisJ CQkke1BHX0lOVDY0X1RZUEV9IGV4cGVjdCA9IDA7CisJCQlfX2F0b21pY19j b21wYXJlX2V4Y2hhbmdlX24oJnZhbCwgJmV4cGVjdCwgMzcsIDAsIF9fQVRP TUlDX1NFUV9DU1QsIF9fQVRPTUlDX1JFTEFYRUQpOworCQkJcmV0dXJuIDA7 CisJCX0KKwkiIEhBVkVfR0NDX19BVE9NSUNfSU5UNjRfQ0FTKQorZW5kaWYo SEFWRV9BVE9NSUNTKQorCitjaGVja19jX3NvdXJjZV9ydW5zKCIKKwlpbnQg bWFpbih2b2lkKXsKKwkJc3RhdGljIHVuc2lnbmVkIGxvbmcgaW50IHggPSBf X2J1aWx0aW5fYnN3YXAzMigweGFhYmJjY2RkKTsKKwkJcmV0dXJuIDA7CisJ fQorIiBIQVZFX19CVUlMVElOX0JTV0FQMzIpCisKK2NoZWNrX2Nfc291cmNl X3J1bnMoIgorCWludCBtYWluKHZvaWQpeworCQlzdGF0aWMgdW5zaWduZWQg bG9uZyBpbnQgeCA9IF9fYnVpbHRpbl9ic3dhcDY0KDB4YWFiYmNjZGRlZWZm MDAxMSk7CisJCXJldHVybiAwOworCX0KKyIgSEFWRV9fQlVJTFRJTl9CU1dB UDY0KQorCitjaGVja19jX3NvdXJjZV9ydW5zKCIKKwlpbnQgbWFpbih2b2lk KXsKKwkJc3RhdGljIGludCB4OyBzdGF0aWMgaW50IHlbX19idWlsdGluX2Nv bnN0YW50X3AoeCkgPyB4IDogMV07CisJCXJldHVybiAwOworCX0KKyIgSEFW RV9fQlVJTFRJTl9DT05TVEFOVF9QKQorCitjaGVja19jX3NvdXJjZV9ydW5z KCIKKwlpbnQgbWFpbih2b2lkKXsKKwkJaW50IHg7IHN0YXRpYyBpbnQgeVtf X2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKF9fdHlwZW9mX18oeCksIGlu dCldOworCQlyZXR1cm4gMDsKKwl9CisiIEhBVkVfX0JVSUxUSU5fVFlQRVNf Q09NUEFUSUJMRV9QKQorCitjaGVja19jX3NvdXJjZV9ydW5zKCIKKwlpbnQg bWFpbih2b2lkKXsKKwkJX19idWlsdGluX3VucmVhY2hhYmxlKCk7CisJCXJl dHVybiAwOworCX0KKyIgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSkKKwor Y2hlY2tfY19zb3VyY2VfcnVucygiCisJaW50IG1haW4odm9pZCl7CisJCXsg X1N0YXRpY19hc3NlcnQoMSwgXCJmb29cIik7IH0KKwkJcmV0dXJuIDA7CisJ fQorIiBIQVZFX19TVEFUSUNfQVNTRVJUKQorCitpZihOT1QgUEdQT1JUKQor CXNldChQR1BPUlQgNTQzMikKK2VuZGlmKE5PVCBQR1BPUlQpCisKK2luY2x1 ZGUoQ2hlY2tGbGV4aWJsZUFycmF5KQorCitjaGVja19jX3NvdXJjZV9jb21w aWxlcygiCisJI2luY2x1ZGUgPHN5cy90aW1lLmg+CisJaW50IG1haW4odm9p ZCl7CisJCXN0cnVjdCB0aW1ldmFsICp0cDsKKwkJc3RydWN0IHRpbWV6b25l ICp0enA7CisJCWdldHRpbWVvZmRheSh0cCx0enApOworCQlyZXR1cm4gMDsK Kwl9CisiIEdFVFRJTUVPRkRBWV8yQVJHKQorCitpZihOT1QgR0VUVElNRU9G REFZXzJBUkcpCisJc2V0KEdFVFRJTUVPRkRBWV8xQVJHIDEpCitlbmRpZihO T1QgR0VUVElNRU9GREFZXzJBUkcpCisKK2NoZWNrX2Nfc291cmNlX2NvbXBp bGVzKCIKKwkjaW5jbHVkZSA8dGltZS5oPgorCWludCBtYWluKHZvaWQpewor CQlpbnQgcmVzOworCSNpZm5kZWYgX19DWUdXSU5fXworCQlyZXMgPSB0aW1l em9uZSAvIDYwOworCSNlbHNlCisJCXJlcyA9IF90aW1lem9uZSAvIDYwOwor CSNlbmRpZgorCQlyZXR1cm4gMDsKKwl9CisiIEhBVkVfSU5UX1RJTUVaT05F KQorCitjaGVja19jX3NvdXJjZV9jb21waWxlcygiCisJI2luY2x1ZGUgPHN0 ZGlvLmg+CisJaW50IG1haW4odm9pZCl7CisJCXByaW50ZihcIiVzXCIsIF9f ZnVuY19fKTsKKwkJcmV0dXJuIDA7CisJfQorIiBIQVZFX0ZVTkNOQU1FX19G VU5DKQorCitjaGVja19jX3NvdXJjZV9jb21waWxlcygiCisJI2luY2x1ZGUg PHN0ZGlvLmg+CisJaW50IG1haW4odm9pZCl7CisJCXByaW50ZihcIiVzXCIs IF9fRlVOQ1RJT05fXyk7CisJCXJldHVybiAwOworCX0KKyIgSEFWRV9GVU5D TkFNRV9fRlVOQ1RJT04pCisKK2NoZWNrX2Nfc291cmNlX2NvbXBpbGVzKCIK KwkjaW5jbHVkZSA8c3RkaW8uaD4KKwlpbnQgbWFpbih2b2lkKXsKKwkJI2Rl ZmluZSBkZWJ1ZyguLi4pIGZwcmludGYoc3RkZXJyLCBfX1ZBX0FSR1NfXykK KwkJZGVidWcoXCIlc1wiLCBcImJsYXJnXCIpOworCQlyZXR1cm4gMDsKKwl9 CisiIEhBVkVfX1ZBX0FSR1MpCisKK2NoZWNrX3N0cnVjdF9oYXNfbWVtYmVy KCJzdHJ1Y3QgdG0iIHRtX3pvbmUgInN5cy90eXBlcy5oO3RpbWUuaCIgSEFW RV9UTV9aT05FIExBTkdVQUdFIEMpCitjaGVja19zdHJ1Y3RfaGFzX21lbWJl cigic3RydWN0IHRtIiB0bV9nbXRvZmYgInN5cy90eXBlcy5oO3RpbWUuaCIg SEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSBMQU5HVUFHRSBDKQorc2V0KENNQUtF X0VYVFJBX0lOQ0xVREVfRklMRVMgInRpbWUuaCIpCitjaGVja190eXBlX3Np emUoIip0em5hbWUiIEhBVkVfVFpOQU1FKQorCitpZihDTUFLRV9DT01QSUxF Ul9JU19HTlVDQyBPUiBDTUFLRV9DX0NPTVBJTEVSX0lEIE1BVENIRVMgIkNs YW5nIikKKwlzZXQoQ01BS0VfUkVRVUlSRURfRkxBR1MgIi1XZXJyb3IiKQor ZW5kaWYoKQorY2hlY2tfY19zb3VyY2VfY29tcGlsZXMoIgorCWV4dGVybiBp bnQgcGdhY193cml0ZShpbnQgaWdub3JlLCBjb25zdCBjaGFyICpmbXQsLi4u KSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQoZ251X3ByaW50ZiwgMiwgMykpKTsK KwlpbnQgbWFpbih2b2lkKXtyZXR1cm4gMDt9CisiIFBHX1BSSU5URl9BVFRS SUJVVEUpCisKK2lmKFBHX1BSSU5URl9BVFRSSUJVVEUpCisJc2V0KFBHX1BS SU5URl9BVFRSSUJVVEUgZ251X3ByaW50ZikKK2Vsc2UoUEdfUFJJTlRGX0FU VFJJQlVURSkKKwlzZXQoUEdfUFJJTlRGX0FUVFJJQlVURSBwcmludGYpCitl bmRpZihQR19QUklOVEZfQVRUUklCVVRFKQorCitpZihOT1QgTUVNU0VUX0xP T1BfTElNSVQpCisJc2V0KE1FTVNFVF9MT09QX0xJTUlUIDEwMjQpCitlbmRp ZihOT1QgTUVNU0VUX0xPT1BfTElNSVQpCisKKworaWYoV0lOMzIgT1IgTUlO R1cpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xVREVfRklMRVMgInN5cy90eXBl cy5oO3dpbnNvY2syLmg7d3MydGNwaXAuaCIpCitlbHNlKCkKKwlzZXQoQ01B S0VfRVhUUkFfSU5DTFVERV9GSUxFUyAic3lzL3R5cGVzLmg7c3lzL3NvY2tl dC5oO25ldGRiLmgiKQorZW5kaWYoKQorCitjaGVja190eXBlX3NpemUoInN0 cnVjdCBhZGRyaW5mbyIgSEFWRV9TVFJVQ1RfQUREUklORk8pCitjaGVja190 eXBlX3NpemUoInN0cnVjdCBjbXNnY3JlZCIgSEFWRV9TVFJVQ1RfQ01TR0NS RUQpCitpZihIQVZFX1NUUlVDVF9BRERSSU5GTykKKwlDSEVDS19TVFJVQ1Rf SEFTX01FTUJFUigic3RydWN0IGFkZHJpbmZvIiBzYV9sZW4gIiR7Q01BS0Vf RVhUUkFfSU5DTFVERV9GSUxFU30iIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NB X0xFTiBMQU5HVUFHRSBDKQorCWlmKE5PVCAoV0lOMzIgT1IgTUlOR1cpKQor CQlzZXQoSEFWRV9HRVRBRERSSU5GTyAxKQorCWVuZGlmKCkKK2VuZGlmKEhB VkVfU1RSVUNUX0FERFJJTkZPKQorCitjaGVja190eXBlX3NpemUoInN0cnVj dCBzb2NrYWRkcl9zdG9yYWdlIiBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9S QUdFKQoraWYoSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSkKKwlDSEVD S19TVFJVQ1RfSEFTX01FTUJFUigic3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ui IHNzX2ZhbWlseSAiJHtDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVTfSIgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgTEFOR1VBR0Ug QykKKwlDSEVDS19TVFJVQ1RfSEFTX01FTUJFUigic3RydWN0IHNvY2thZGRy X3N0b3JhZ2UiIF9fc3NfZmFtaWx5ICIke0NNQUtFX0VYVFJBX0lOQ0xVREVf RklMRVN9IiBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX19fU1NfRkFN SUxZIExBTkdVQUdFIEMpCisJQ0hFQ0tfU1RSVUNUX0hBU19NRU1CRVIoInN0 cnVjdCBzb2NrYWRkcl9zdG9yYWdlIiBzc19sZW4gIiR7Q01BS0VfRVhUUkFf SU5DTFVERV9GSUxFU30iIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfTEVOIExBTkdVQUdFIEMpCisJQ0hFQ0tfU1RSVUNUX0hBU19NRU1CRVIo InN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIiBfX3NzX2xlbiAiJHtDTUFLRV9F WFRSQV9JTkNMVURFX0ZJTEVTfSIgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9fX1NTX0xFTiBMQU5HVUFHRSBDKQorZW5kaWYoSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRSkKKworIyBJZiBgc3RydWN0IHNvY2thZGRyX3Vu JyBleGlzdHMsIGRlZmluZSBIQVZFX1VOSVhfU09DS0VUUy4KK2lmKEhBVkVf U1lTX1VOX0gpCisJc2V0KENNQUtFX0VYVFJBX0lOQ0xVREVfRklMRVMgInN5 cy90eXBlcy5oO3N5cy91bi5oIikKK2Vsc2UoSEFWRV9TWVNfVU5fSCkKKwlz ZXQoQ01BS0VfRVhUUkFfSU5DTFVERV9GSUxFUyAic3lzL3R5cGVzLmgiKQor ZW5kaWYoSEFWRV9TWVNfVU5fSCkKK2NoZWNrX3R5cGVfc2l6ZSgic3RydWN0 IHNvY2thZGRyX3VuIiBIQVZFX1VOSVhfU09DS0VUUykKKworaWYoV0lOMzIp CisJc2V0KEhBVkVfSVBWNiAxKQorZWxzZSgpCisJc2V0KENNQUtFX0VYVFJB X0lOQ0xVREVfRklMRVMgIm5ldGluZXQvaW4uaCIpCisJY2hlY2tfdHlwZV9z aXplKCJzdHJ1Y3Qgc29ja2FkZHJfaW42IiBIQVZFX0lQVjYpCitlbmRpZigp CisKK3NldChDTUFLRV9FWFRSQV9JTkNMVURFX0ZJTEVTICJzeXMvdHlwZXMu aDtzeXMvaXBjLmg7c3lzL3NlbS5oIikKK2NoZWNrX3R5cGVfc2l6ZSgidW5p b24gc2VtdW4iIEhBVkVfVU5JT05fU0VNVU4pCisKK2NoZWNrX2luY2x1ZGVf ZmlsZSgic3lzL3N0YXQuaCIgSEFWRV9TWVNfU1RBVF9IKQorCitjaGVja19z eW1ib2xfZXhpc3RzKGZkYXRhc3luYyAidW5pc3RkLmgiIEhBVkVfRkRBVEFT WU5DKQorCitpZihXSU4zMiBPUiBNSU5HVykKKwlzZXQoVVNFX1dJTjMyX1NF TUFQSE9SRVMgMSkKKwlzZXQoU0VNQV9JTVBMRU1FTlRBVElPTiAiJHtQUk9K RUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3BvcnQvd2luMzJfc2VtYS5j IikKK2Vsc2UoV0lOMzIgT1IgTUlOR1cpCisJaWYoVVNFX05BTUVEX1BPU0lY X1NFTUFQSE9SRVMpCisJCXNldChVU0VfTkFNRURfUE9TSVhfU0VNQVBIT1JF UyAxKQorCQlzZXQoU0VNQV9JTVBMRU1FTlRBVElPTiAiJHtQUk9KRUNUX1NP VVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3BvcnQvcG9zaXhfc2VtYS5jIikKKwll bHNlaWYoVVNFX1VOTkFNRURfUE9TSVhfU0VNQVBIT1JFUykKKwkJc2V0KFVT RV9VTk5BTUVEX1BPU0lYX1NFTUFQSE9SRVMgMSkKKwkJc2V0KFNFTUFfSU1Q TEVNRU5UQVRJT04gIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2Vu ZC9wb3J0L3Bvc2l4X3NlbWEuYyIpCisJZWxzZShVU0VfTkFNRURfUE9TSVhf U0VNQVBIT1JFUykKKwkJc2V0KFVTRV9TWVNWX1NFTUFQSE9SRVMgMSkKKwkJ c2V0KFNFTUFfSU1QTEVNRU5UQVRJT04gIiR7UFJPSkVDVF9TT1VSQ0VfRElS fS9zcmMvYmFja2VuZC9wb3J0L3N5c3Zfc2VtYS5jIikKKwllbmRpZihVU0Vf TkFNRURfUE9TSVhfU0VNQVBIT1JFUykKK2VuZGlmKFdJTjMyIE9SIE1JTkdX KQorCisjUmVhbHkgYmFkIG5hbWUgZm9yIHdpbjMyCitzZXQoVVNFX1NZU1Zf U0hBUkVEX01FTU9SWSAxKQoraWYoV0lOMzIgT1IgTUlOR1cpCisJc2V0KFNI TUVNX0lNUExFTUVOVEFUSU9OICIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2JhY2tlbmQvcG9ydC93aW4zMl9zaG1lbS5jIikKK2Vsc2UoV0lOMzIgT1Ig TUlOR1cpCisJc2V0KFNITUVNX0lNUExFTUVOVEFUSU9OICIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvcG9ydC9zeXN2X3NobWVtLmMiKQor ZW5kaWYoV0lOMzIgT1IgTUlOR1cpCisKK29wdGlvbihIQVZFX1NQSU5MT0NL UyAiRGVmaW5lIHRvIE9OIGlmIHlvdSBoYXZlIHNwaW5sb2Nrcy4iIE9OKQor CisKK29wdGlvbihVU0VfSU5URUdFUl9EQVRFVElNRVMgIkRlZmluZSB0byBP TiBpZiB5b3Ugd2FudCA2NC1iaXQgaW50ZWdlciB0aW1lc3RhbXAgYW5kIGlu dGVydmFsIHN1cHBvcnQuIiBPTikKKworaWYoV0lOMzIpCisJb3B0aW9uKEhB VkVfU1lNTElOSyAiRGVmaW5lIHRvIE9OIGlmIHlvdSBoYXZlIHRoZSBgc3lt bGluaycgZnVuY3Rpb24uIiBPTikKK2Vsc2UoV0lOMzIpCisJc2V0KEhBVkVf U1lNTElOSyAxKQorZW5kaWYoV0lOMzIpCisKK29wdGlvbihQR19LUkJfU1JW TkFNICJEZWZpbmUgdG8gdGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgUG9zdGdy ZVNRTCBzZXJ2aWNlIHByaW5jaXBhbCBpbiBLZXJiZXJvcyAoR1NTQVBJKS4i ICJwb3N0Z3JlcyIpCisKKyNUT0RPOiBOZWVkIHRlc3QgdGhpcworaWYoQ01B S0VfQ19DT01QSUxFUl9JRCBTVFJFUVVBTCAiU3VuUHJvIikKKwlpZihDTUFL RV9TWVNURU1fUFJPQ0VTU09SIE1BVENIRVMgInNwYXJjIikKKwkJc2V0KFRB UyBzdW5zdHVkaW9fc3BhcmMucykKKwllbHNlKENNQUtFX1NZU1RFTV9QUk9D RVNTT1IgTUFUQ0hFUyAic3BhcmMiKQorCQlzZXQoVEFTIHN1bnN0dWRpb194 ODYucykKKwllbmRpZihDTUFLRV9TWVNURU1fUFJPQ0VTU09SIE1BVENIRVMg InNwYXJjIikKK2Vsc2VpZihDTUFLRV9DX0NPTVBJTEVSX0lEIFNUUkVRVUFM ICJIUC1VWCIpCisJc2V0KFRBUyBocHV4X2hwcGEucykKK2Vsc2UoQ01BS0Vf Q19DT01QSUxFUl9JRCBTVFJFUVVBTCAiU3VuUHJvIikKKwlzZXQoVEFTIGR1 bW15LnMpCitlbmRpZihDTUFLRV9DX0NPTVBJTEVSX0lEIFNUUkVRVUFMICJT dW5Qcm8iKQorCitpZihXSU4zMiBPUiBNSU5HVykKKwlzZXQoQ01BS0VfRVhU UkFfSU5DTFVERV9GSUxFUworCQkke0NNQUtFX0VYVFJBX0lOQ0xVREVfRklM RVN9CisJCXdpbmRvd3MuaAorCQlzdHJpbmcuaAorCQlkYmdoZWxwLmgKKwkp CisJc2V0KENNQUtFX1JFUVVJUkVEX0RFRklOSVRJT05TICJXSU4zMl9MRUFO X0FORF9NRUFOIikKKwljaGVja190eXBlX3NpemUoTUlOSURVTVBfVFlQRSBO QVZFX01JTklEVU1QX1RZUEUpCitlbmRpZihXSU4zMiBPUiBNSU5HVykKKwor c2V0KFdJTjMyX1NUQUNLX1JMSU1JVCA0MTk0MzA0KQoraWYoV0lOMzIpCisJ YWRkX2RlZmluaXRpb25zKC1EV0lOMzJfU1RBQ0tfUkxJTUlUPSR7V0lOMzJf U1RBQ0tfUkxJTUlUfSkKK2VuZGlmKCkKKworaWYoTkVFRF9SRVBMX1NOUFJJ TlRGKQorCW9wdGlvbihVU0VfUkVQTF9TTlBSSU5URiAiVXNlIHJlcGxhY2Vt ZW50IHNucHJpbnRmKCkgZnVuY3Rpb25zLiIgT04pCitlbmRpZigpCisKK2lu Y2x1ZGUoR2VuRGVmKQorI05vdCB3b3JrIGNvcnJlY3RseSBmb3IgcG9zdGdy ZXMgc2VlIGJ1ZzogCisjaHR0cHM6Ly9naXRsYWIua2l0d2FyZS5jb20vY21h a2UvY21ha2UvaXNzdWVzLzE2MTYxCisjc2V0KENNQUtFX1dJTkRPV1NfRVhQ T1JUX0FMTF9TWU1CT0xTIE9OKQorCitpbmNsdWRlKFJlZ3Jlc3NDaGVjaykK KworIyBOZWVkIGFkZCBzY28gYW5kIHVuaXh3YXJlPworaWYoV0lOMzIgT1Ig TUlOR1cpCisJc2V0KHBnb3NfaW5jbHVkZV9TUkNTICR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyLmgpCitlbHNlaWYoQVBQ TEUpCisJc2V0KHBnb3NfaW5jbHVkZV9TUkNTICR7UFJPSkVDVF9TT1VSQ0Vf RElSfS9zcmMvaW5jbHVkZS9wb3J0L2Rhcndpbi5oKQorZWxzZWlmKENNQUtF X1NZU1RFTV9OQU1FIFNUUkVRVUFMICJMaW51eCIpCisJc2V0KHBnb3NfaW5j bHVkZV9TUkNTICR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9w b3J0L2xpbnV4LmgpCitlbHNlaWYoQ01BS0VfU1lTVEVNX05BTUUgU1RSRVFV QUwgIkhQLVVYIikKKwlzZXQocGdvc19pbmNsdWRlX1NSQ1MgJHtQUk9KRUNU X1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL3BvcnQvaHB1eC5oKQorZWxzZWlm KENNQUtFX1NZU1RFTV9OQU1FIFNUUkVRVUFMICJGcmVlQlNEIikKKwlzZXQo cGdvc19pbmNsdWRlX1NSQ1MgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9p bmNsdWRlL3BvcnQvZnJlZWJzZC5oKQorZWxzZWlmKENNQUtFX1NZU1RFTV9O QU1FIFNUUkVRVUFMICJPcGVuQlNEIikKKwlzZXQocGdvc19pbmNsdWRlX1NS Q1MgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL3BvcnQvb3Bl bmJzZC5oKQorZWxzZWlmKENNQUtFX1NZU1RFTV9OQU1FIFNUUkVRVUFMICJO ZXRCU0QiKQorCXNldChwZ29zX2luY2x1ZGVfU1JDUyAke1BST0pFQ1RfU09V UkNFX0RJUn0vc3JjL2luY2x1ZGUvcG9ydC9uZXd0YnNkLmgpCitlbHNlaWYo Q01BS0VfU1lTVEVNX05BTUUgU1RSRVFVQUwgIlN1bk9TIikKKwlzZXQocGdv c19pbmNsdWRlX1NSQ1MgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNs dWRlL3BvcnQvc29sYXJpcy5oKQorZWxzZWlmKENZR1dJTikKKwlzZXQocGdv c19pbmNsdWRlX1NSQ1MgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNs dWRlL3BvcnQvY3lnd2luLmgpCitlbHNlKFdJTjMyIE9SIE1JTkdXKQorCW1l c3NhZ2UoV0FSTklORyAiJHtDTUFLRV9TWVNURU1fTkFNRX0iKQorZW5kaWYo V0lOMzIgT1IgTUlOR1cpCisKKyMgVHJ5IG1ha2UgZmFrZSBob3N0IHR1cGxl IGZvciByZWdyZXNzIGFuZCBpc29sYXRpb24gdGVzdHMKK2lmKE1JTkdXIEFO RCBWT0lEX1BPSU5URVJfU0laRSBFUVVBTCA4KQorCXNldChIT1NUX1RVUExF ICJ4ODZfNjQtdzY0LW1pbmd3MzIiKQorZWxzZWlmKE1JTkdXIEFORCBWT0lE X1BPSU5URVJfU0laRSBFUVVBTCA0KQorCXNldChIT1NUX1RVUExFICJpNjg2 LXBjLW1pbmd3MzIiKQorZWxzZWlmKENZR1dJTikKKwlzZXQoSE9TVF9UVVBM RSAiaTY4Ni1wYy1jeWd3aW4iKQorZWxzZWlmKE1TVkMgQU5EIFZPSURfUE9J TlRFUl9TSVpFIEVRVUFMIDQpCisJc2V0KEhPU1RfVFVQTEUgImk2ODYtcGMt d2luMzJ2YyIpCitlbHNlKCkKKwlzZXQoSE9TVF9UVVBMRSAke0NNQUtFX0hP U1RfU1lTVEVNfSkKK2VuZGlmKCkKKworc2V0KFdJVEhfVVVJRCAiT0ZGIiBD QUNIRSBTVFJJTkcgInR5cGUgb2YgdXVpZCBsaWIgW2JzZCwgZTJmcywgb3Nz cF0iKQoraWYoV0lUSF9VVUlEKQorCWZpbmRfcGFja2FnZShMaWJVVUlEKQor CisJaWYoV0lUSF9VVUlEIFNUUkVRVUFMICJic2QiKQorCQlzZXQoSEFWRV9V VUlEX0JTRCAxKQorCQlzZXQoVVVJRF9FWFRSQV9PQkpTCisJCQkke1BST0pF Q1RfU09VUkNFX0RJUn0vY29udHJpYi9wZ2NyeXB0by9tZDUuYworCQkJJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L2NvbnRyaWIvcGdjcnlwdG8vc2hhMS5jCisJ CSkKKwllbHNlaWYoV0lUSF9VVUlEIFNUUkVRVUFMICJlMmZzIikKKwkJc2V0 KEhBVkVfVVVJRF9FMkZTIDEpCisJCXNldChVVUlEX0VYVFJBX09CSlMKKwkJ CSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jb250cmliL3BnY3J5cHRvL21kNS5j CisJCQkke1BST0pFQ1RfU09VUkNFX0RJUn0vY29udHJpYi9wZ2NyeXB0by9z aGExLmMKKwkJKQorCWVsc2VpZihXSVRIX1VVSUQgU1RSRVFVQUwgIm9zc3Ai KQorCQlzZXQoSEFWRV9VVUlEX09TU1AgMSkKKwkJc2V0KFVVSURfRVhUUkFf T0JKUyAiIikKKwllbHNlKCkKKwkJbWVzc2FnZShXQVJOSU5HICJOb3QgY29y cmVjdCB0eXBlIG9mIHV1aWQgbGliOiR7V0lUSF9VVUlEfSIpCisJZW5kaWYo KQorZW5kaWYoKQorCitmaWxlKEdFTkVSQVRFIE9VVFBVVCAke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvcGdfY29uZmlnX29zLmgKKwlJTlBV VCAke3Bnb3NfaW5jbHVkZV9TUkNTfSkKKworaWYoTUlOR1cgT1IgTVNWQykK KwlpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0v c3JjL2luY2x1ZGUvcG9ydC93aW4zMiIpCitlbmRpZigpCisKK2lmKE1TVkMp CisJaW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlL3BvcnQvd2luMzJfbXN2YyIpCitlbmRpZigpCisKK2Nv bmZpZ3VyZV9maWxlKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2lu Y2x1ZGUvcGdfY29uZmlnX2NtYWtlLmluIgorCSIke1BST0pFQ1RfU09VUkNF X0RJUn0vc3JjL2luY2x1ZGUvcGdfY29uZmlnLmgiCispCisKK2NvbmZpZ3Vy ZV9maWxlKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUv cGdfY29uZmlnX2V4dF9jbWFrZS5pbiIKKwkiJHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYy9pbmNsdWRlL3BnX2NvbmZpZ19leHQuaCIKKykKKworY29uZmln dXJlX2ZpbGUoCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVk ZS9wZ19jb25maWdfcGF0aHNfY21ha2UuaW4iCisJIiR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvcG9ydC9wZ19jb25maWdfcGF0aHMuaCIKKykKKworY29u ZmlndXJlX2ZpbGUoCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50 ZXJmYWNlcy9lY3BnL2luY2x1ZGUvZWNwZ19jb25maWdfY21ha2UuaW4iCisJ IiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNlcy9lY3BnL2lu Y2x1ZGUvZWNwZ19jb25maWcuaCIKKykKKworY29uZmlndXJlX2ZpbGUoCisJ IiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9QR1hTLmNtYWtlLmluIgorCSIke1BS T0pFQ1RfQklOQVJZX0RJUn0ke0NNQUtFX0ZJTEVTX0RJUkVDVE9SWX0vUEdY Uy5jbWFrZSIKKwlAT05MWQorKQorCitpbnN0YWxsKEZJTEVTICR7UFJPSkVD VF9CSU5BUllfRElSfSR7Q01BS0VfRklMRVNfRElSRUNUT1JZfS9QR1hTLmNt YWtlCisJCURFU1RJTkFUSU9OICR7TElCRElSfS9jbWFrZSkKKworCitvcHRp b24oQ01BS0VfVVNFX0ZPTERFUlMgIkVuYWJsZSBmb2xkZXIgZ3JvdXBpbmcg b2YgcHJvamVjdHMgaW4gSURFcy4iIE9OKQorbWFya19hc19hZHZhbmNlZChD TUFLRV9VU0VfRk9MREVSUykKKworbWFjcm8oQ01BS0VfU0VUX1RBUkdFVF9G T0xERVIgdGd0IGZvbGRlcikKKwlpZihDTUFLRV9VU0VfRk9MREVSUykKKwkJ c2V0X3Byb3BlcnR5KEdMT0JBTCBQUk9QRVJUWSBVU0VfRk9MREVSUyBPTikK KwkJaWYoTVNWQyBBTkQgVEFSR0VUICR7dGd0fSkKKwkJCXNldF9wcm9wZXJ0 eShUQVJHRVQgIiR7dGd0fSIgUFJPUEVSVFkgRk9MREVSICIke2ZvbGRlcn0i KQorCQllbmRpZigpCisJZWxzZSgpCisJCXNldF9wcm9wZXJ0eShHTE9CQUwg UFJPUEVSVFkgVVNFX0ZPTERFUlMgT0ZGKQorCWVuZGlmKCkKK2VuZG1hY3Jv KCkKKworIyBBZGQgc3ViLWRpcmVjdG9yaWVzCithZGRfc3ViZGlyZWN0b3J5 KHNyYykKK2FkZF9zdWJkaXJlY3RvcnkoY29udHJpYikKKworbWVzc2FnZShT VEFUVVMgIi0tLS0tLS0tLS0tLS0tLS0tLSIpCittZXNzYWdlKFNUQVRVUyAi ICAgIENvbmNsdXNpb24iKQorbWVzc2FnZShTVEFUVVMgIkhvc3QgdHVwbGU6 ICR7SE9TVF9UVVBMRX0iKQorbWVzc2FnZShTVEFUVVMgIk9wZW5TU0w6ICR7 T1BFTlNTTF9GT1VORH0gdmVyc2lvbjogJHtPUEVOU1NMX1ZFUlNJT059IGxp YnM6ICR7T1BFTlNTTF9MSUJSQVJJRVN9IikKK21lc3NhZ2UoU1RBVFVTICJQ eXRob246ICR7UFlUSE9OSU5URVJQX0ZPVU5EfSIpCittZXNzYWdlKFNUQVRV UyAiUHl0aG9uTGliczogJHtQWVRIT05MSUJTX0ZPVU5EfSIpCittZXNzYWdl KFNUQVRVUyAiUGVybExpYnM6ICR7UEVSTExJQlNfRk9VTkR9IikKK21lc3Nh Z2UoU1RBVFVTICJMaWJYTUwyOiAke0xJQlhNTDJfRk9VTkR9IikKK21lc3Nh Z2UoU1RBVFVTICJMaWJYc2x0OiAke0xJQlhTTFRfRk9VTkR9IikKK21lc3Nh Z2UoU1RBVFVTICJUQ0w6ICR7VENMX0ZPVU5EfSIpCittZXNzYWdlKFNUQVRV UyAiUEFNOiAke1BBTV9MSUJ9IikKK21lc3NhZ2UoU1RBVFVTICItLS0tLS0t LS0tLS0tLS0tLS0iKQpkaWZmIC0tZ2l0IGEvUEdYUy5jbWFrZS5pbiBiL1BH WFMuY21ha2UuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMDFhMTEwMAotLS0gL2Rldi9udWxsCisrKyBiL1BHWFMuY21ha2UuaW4K QEAgLTAsMCArMSw0OCBAQAorY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJT SU9OIDIuOCkKKworc2V0KFBPU1RHUkVTX01BSk9SX1ZFUlNJT04gIkBQT1NU R1JFU19NQUpPUl9WRVJTSU9OQCIpCitzZXQoUE9TVEdSRVNfTUlOT1JfVkVS U0lPTiAiQFBPU1RHUkVTX01JTk9SX1ZFUlNJT05AIikKK3NldChQT1NUR1JF U19QQVRDSF9WRVJTSU9OICJAUE9TVEdSRVNfTUlOT1JfVkVSU0lPTkAiKQor c2V0KFBPU1RHUkVTX1ZFUlNJT04gIkBQT1NUR1JFU19WRVJTSU9OQCIpCitz ZXQoUEdfVkVSU0lPTiAiOS42ZGV2ZWwiKQorc2V0KFBHX1ZFUlNJT05fTlVN IDkwNjAwKQorCitzZXQoUEdCSU5ESVIgIkBQR0JJTkRJUkAiKQorc2V0KFBH U0hBUkVESVIgIkBQR1NIQVJFRElSQCIpCitzZXQoU1lTQ09ORkRJUiAiQFNZ U0NPTkZESVJAIikKK3NldChJTkNMVURFRElSICJASU5DTFVERURJUkAiKQor c2V0KFBLR0lOQ0xVREVESVIgIkBQS0dJTkNMVURFRElSQCIpCitzZXQoSU5D TFVERURJUlNFUlZFUiAiQElOQ0xVREVESVJTRVJWRVJAIikKK3NldChMSUJE SVIgIkBMSUJESVJAIikKK3NldChQS0dMSUJESVIgIkBQS0dMSUJESVJAIikK K3NldChMT0NBTEVESVIgIkBMT0NBTEVESVJAIikKK3NldChET0NESVIgIkBE T0NESVJAIikKK3NldChIVE1MRElSICJASFRNTERJUkAiKQorc2V0KE1BTkRJ UiAiQE1BTkRJUkAiKQorCisKK3NldChDTUFLRV9XSU5ET1dTX0VYUE9SVF9B TExfU1lNQk9MUyBPTikKK3NldChDTUFLRV9NQUNPU1hfUlBBVEggMSkKKwor c2V0KENNQUtFX0NYWF9GTEFHUyAiQENNQUtFX0NYWF9GTEFHU0AiKQorc2V0 KENNQUtFX0NfRkxBR1MgIkBDTUFLRV9DX0ZMQUdTQCIpCitzZXQoQ01BS0Vf U0hBUkVEX0xJTktFUl9GTEFHUyAiQENNQUtFX1NIQVJFRF9MSU5LRVJfRkxB R1NAIikKK3NldChDTUFLRV9TSEFSRURfTElCUkFSWV9TT05BTUVfQ19GTEFH ICJAQ01BS0VfU0hBUkVEX0xJQlJBUllfU09OQU1FX0NfRkxBR0AiKQorc2V0 KENNQUtFX1NIQVJFRF9MSU5LRVJfRkxBR1MgIkBDTUFLRV9TSEFSRURfTElO S0VSX0ZMQUdTQCIpCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtJTkNMVURF RElSU0VSVkVSfSkKK2xpbmtfZGlyZWN0b3JpZXMoJHtMSUJESVJ9KQorCitp ZihXSU4zMikKKwlzZXQoY29udHJpYl9saWJzCisJCXBvcnQKKwkJcGdjb21t b24KKwkpCitlbmRpZigpCisKK2lmKE1TVkMpCisJc2V0KGNvbnRyaWJfbGli cworCQkke2NvbnRyaWJfbGlic30KKwkJcG9zdGdyZXMKKwkpCitlbmRpZigp CmRpZmYgLS1naXQgYS9jbWFrZS9DaGVja0NwdUlELmNtYWtlIGIvY21ha2Uv Q2hlY2tDcHVJRC5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4zMzQ2MzAyCi0tLSAvZGV2L251bGwKKysrIGIvY21ha2UvQ2hl Y2tDcHVJRC5jbWFrZQpAQCAtMCwwICsxLDE3IEBACitDSEVDS19DX1NPVVJD RV9DT01QSUxFUygiCisJI2luY2x1ZGUgPGNwdWlkLmg+CisJaW50IG1haW4o KSB7CisJCXVuc2lnbmVkIGludCBleHhbNF0gPSB7MCwgMCwgMCwgMH07CisJ CV9fZ2V0X2NwdWlkKDEsICZleHhbMF0sICZleHhbMV0sICZleHhbMl0sICZl eHhbM10pOworCQlyZXR1cm4gMDsKKwl9CisiIEhBVkVfX0dFVF9DUFVJRCkK KworQ0hFQ0tfQ19TT1VSQ0VfQ09NUElMRVMoIgorCSNpbmNsdWRlIDxpbnRy aW4uaD4KKwlpbnQgbWFpbigpIHsKKwkJdW5zaWduZWQgaW50IGV4eFs0XSA9 IHswLCAwLCAwLCAwfTsKKwkJX19jcHVpZChleHhbMF0sIDEpOworCQlyZXR1 cm4gMDsKKwl9CisiIEhBVkVfX0NQVUlEKQpkaWZmIC0tZ2l0IGEvY21ha2Uv Q2hlY2tGbGV4aWJsZUFycmF5LmNtYWtlIGIvY21ha2UvQ2hlY2tGbGV4aWJs ZUFycmF5LmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmNlNTdhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFrZS9DaGVja0Zs ZXhpYmxlQXJyYXkuY21ha2UKQEAgLTAsMCArMSwzNyBAQAorc2V0KEM5OV9D X0ZMQUdfQ0FORElEQVRFUworICAgIiAiCisgICAiLXN0ZD1jOTkiCisgICAi LXN0ZD1nbnU5OSIKKyAgICItYzk5IgorICAgIi1BQzk5IgorICAgIi14Yzk5 PWFsbCIKKyAgICItcWxhbmdsdmw9ZXh0Yzk5IgorKQorCittZXNzYWdlKFNU QVRVUyAiQ2hlY2sgZmxleGlibGUgYXJyYXkgc3VwcG9ydCIpCitpZihOT1Qg TVNWQykKKwlmb3JlYWNoKEZMQUcgJHtDOTlfQ19GTEFHX0NBTkRJREFURVN9 KQorCQlzZXQoQ01BS0VfUkVRVUlSRURfRkxBR1MgIiR7RkxBR30iKQorCQl1 bnNldChGTEVYSUJMRV9BUlJBWV9NRU1CRVIgQ0FDSEUpCisJCUNIRUNLX0Nf U09VUkNFX0NPTVBJTEVTKCIKKwkJCWludCBtYWluKHZvaWQpeworCQkJCWlu dCB4ID0gMTA7CisJCQkJaW50IHlbeF07CisJCQkJcmV0dXJuIDA7CisJCQl9 CisJCSIgRkxFWElCTEVfQVJSQVlfTUVNQkVSKQorCQlpZihGTEVYSUJMRV9B UlJBWV9NRU1CRVIpCisJCQlzZXQoQzk5X0NfRkxBR1NfSU5URVJOQUwgIiR7 RkxBR30iKQorCQkJc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFH U30gJHtGTEFHfSIpCisJCQlicmVhaygpCisJCWVuZGlmKEZMRVhJQkxFX0FS UkFZX01FTUJFUikKKwllbmRmb3JlYWNoKEZMQUcgJHtDOTlfQ19GTEFHX0NB TkRJREFURVN9KQorZW5kaWYoKQorCitpZihGTEVYSUJMRV9BUlJBWV9NRU1C RVIpCisJbWVzc2FnZShTVEFUVVMgIkNoZWNrIGZsZXhpYmxlIGFycmF5IHN1 cHBvcnQgLSB5ZXMgd2l0aCAke0M5OV9DX0ZMQUdTX0lOVEVSTkFMfSIpCisJ c2V0KEZMRVhJQkxFX0FSUkFZX01FTUJFUiAiIikKK2Vsc2UoRkxFWElCTEVf QVJSQVlfTUVNQkVSKQorCW1lc3NhZ2UoU1RBVFVTICJDaGVjayBmbGV4aWJs ZSBhcnJheSBzdXBwb3J0IC0gbm8iKQorCXNldChGTEVYSUJMRV9BUlJBWV9N RU1CRVIgMSkKK2VuZGlmKEZMRVhJQkxFX0FSUkFZX01FTUJFUikKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9jbWFrZS9DaGVj a0xMQ29uc3RhbnRzLmNtYWtlIGIvY21ha2UvQ2hlY2tMTENvbnN0YW50cy5j bWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGJm NjVmCi0tLSAvZGV2L251bGwKKysrIGIvY21ha2UvQ2hlY2tMTENvbnN0YW50 cy5jbWFrZQpAQCAtMCwwICsxLDkgQEAKK0NIRUNLX0NfU09VUkNFX0NPTVBJ TEVTKCIKKwltYWluKCkgeworCQkjZGVmaW5lIElOVDY0Q09OU1QoeCkgIHgj I0xMCisJCWxvbmcgbG9uZyBpbnQgZm9vID0gSU5UNjRDT05TVCgweDEyMzQ1 Njc4OTAxMjM0NTYpOworCQlyZXR1cm4gMDsKKwl9CisiIEhBVkVfTExfQ09O U1RBTlRTKQorCittZXNzYWdlKFNUQVRVUyAiSEFWRV9MTF9DT05TVEFOVFMg JHtIQVZFX0xMX0NPTlNUQU5UU30iKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL2NtYWtlL0NoZWNrU1NFNDIuY21ha2UgYi9j bWFrZS9DaGVja1NTRTQyLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjNmZWUzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFr ZS9DaGVja1NTRTQyLmNtYWtlCkBAIC0wLDAgKzEsMzAgQEAKK2ZvcmVhY2go RkxBRyAiOy1tc3NlNC4yIikKKwl1bnNldChIQVZFX1NTRTQyX0lOVFJJTlNJ Q1MgQ0FDSEUpCisJc2V0KENNQUtFX1JFUVVJUkVEX0ZMQUdTICR7RkxBR30p CisJY2hlY2tfY19zb3VyY2VfcnVucygiCisJCSNpbmNsdWRlIDxubW1pbnRy aW4uaD4KKwkJaW50IG1haW4odm9pZCkgeworCQkJdW5zaWduZWQgaW50IGNy YyA9IDA7CisJCQljcmMgPSBfbW1fY3JjMzJfdTgoY3JjLCAwKTsKKwkJCWNy YyA9IF9tbV9jcmMzMl91MzIoY3JjLCAwKTsKKwkJCS8qIHJldHVybiBjb21w dXRlZCB2YWx1ZSwgdG8gcHJldmVudCB0aGUgYWJvdmUgYmVpbmcgb3B0aW1p emVkIGF3YXkgKi8KKwkJCXJldHVybiAhKGNyYyA9PSAwKTsKKwkJfQorCSIg SEFWRV9TU0U0Ml9JTlRSSU5TSUNTKQorCWlmIChIQVZFX1NTRTQyX0lOVFJJ TlNJQ1MpCisJCXNldChDRkxBR1NfU1NFNDIgJHtGTEFHfSkKKwkJYnJlYWso KQorCWVuZGlmKCkKK2VuZGZvcmVhY2goKQorCittZXNzYWdlKFNUQVRVUyAi U1NFNC4yIGZsYWdzOiAke0NGTEFHU19TU0U0Mn0iKQorc2V0KENNQUtFX1JF UVVJUkVEX0ZMQUdTICR7Q0ZMQUdTX1NTRTQyfSkKK2NoZWNrX2Nfc291cmNl X2NvbXBpbGVzKCIKKwkjaWZuZGVmIF9fU1NFNF8yX18KKwkjZXJyb3IgX19T U0U0XzJfXyBub3QgZGVmaW5lZAorCSNlbmRpZgorCWludCBtYWluKHZvaWQp eworCQlyZXR1cm4gMDsKKwl9CisiIEhBVkVfU1NFNDIpCitzZXQoQ01BS0Vf UkVRVUlSRURfRkxBR1MgIiIpCmRpZmYgLS1naXQgYS9jbWFrZS9DaGVja1Nu cHJpbnRmTG9uZ0xvbmdJbnRNb2RpZmllci5jbWFrZSBiL2NtYWtlL0NoZWNr U25wcmludGZMb25nTG9uZ0ludE1vZGlmaWVyLmNtYWtlCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwNzYyMzgKLS0tIC9kZXYvbnVs bAorKysgYi9jbWFrZS9DaGVja1NucHJpbnRmTG9uZ0xvbmdJbnRNb2RpZmll ci5jbWFrZQpAQCAtMCwwICsxLDMxIEBACitzZXQoQ01BS0VfUkVRVUlSRURf SU5DTFVERVMgInN0ZGlvLmgiKQorZm9yZWFjaChwZ2FjX21vZGlmaWVyICJs bCIgInEiICJJNjQiKQorCXVuc2V0KExPTkdfTE9OR19JTlRfTU9ESUZJRVIg Q0FDSEUpCisJQ0hFQ0tfQ19TT1VSQ0VfQ09NUElMRVMoIgorCQl0eXBlZGVm IGxvbmcgbG9uZyBpbnQgYWNfaW50NjQ7CisKKwkJYWNfaW50NjQgYSA9IDIw MDAwMDAxOworCQlhY19pbnQ2NCBiID0gNDAwMDAwMDU7CisKKwkJaW50IGRv ZXNfaW50NjRfc25wcmludGZfd29yaygpIHsKKwkJCWFjX2ludDY0IGM7CisJ CQljaGFyIGJ1ZlsxMDBdOworCQkJaWYgKHNpemVvZihhY19pbnQ2NCkgIT0g OCkKKwkJCQlyZXR1cm4gMDsJLyogZG9lc24ndCBsb29rIGxpa2UgdGhlIHJp Z2h0IHNpemUgKi8KKwkJCQorCQkJYyA9IGEgKiBiOworCQkJc25wcmludGYo YnVmLCAxMDAsIFwiJSR7cGdhY19tb2RpZmllcn1kXCIsIGMpOworCQkJaWYg KHN0cmNtcChidWYsIFwiODAwMDAwMTQwMDAwMDA1XCIpICE9IDApCisJCQkJ cmV0dXJuIDA7CS8qIGVpdGhlciBtdWx0aXBseSBvciBzbnByaW50ZiBpcyBi dXN0ZWQgKi8KKwkJCXJldHVybiAxOworCQl9CisJCW1haW4oKSB7CisJCQll eGl0KCEgZG9lc19pbnQ2NF9zbnByaW50Zl93b3JrKCkpOworCQl9CisJIiBM T05HX0xPTkdfSU5UX01PRElGSUVSKQorCWlmKExPTkdfTE9OR19JTlRfTU9E SUZJRVIpCisJCXNldChMT05HX0xPTkdfSU5UX01PRElGSUVSICR7cGdhY19t b2RpZmllcn0pCisJCWJyZWFrKCkKKwllbmRpZihMT05HX0xPTkdfSU5UX01P RElGSUVSKQorZW5kZm9yZWFjaChwZ2FjX21vZGlmaWVyKQorbWVzc2FnZShT VEFUVVMgIkxPTkdfTE9OR19JTlRfTU9ESUZJRVIgJHtMT05HX0xPTkdfSU5U X01PRElGSUVSfSIpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvY21ha2UvQ2hlY2tUeXBlQWxpZ25tZW50LmNtYWtlIGIvY21h a2UvQ2hlY2tUeXBlQWxpZ25tZW50LmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjM3Y2JiNTgKLS0tIC9kZXYvbnVsbAorKysg Yi9jbWFrZS9DaGVja1R5cGVBbGlnbm1lbnQuY21ha2UKQEAgLTAsMCArMSwy OSBAQAorbWFjcm8oQ0hFQ0tfVFlQRV9BTElHTk1FTlQgVFlQRSBOQU1FKQor CWlmKE5PVCAke05BTUV9KQorCQltZXNzYWdlKFNUQVRVUyAiQ2hlY2sgYWxp Z25tZW50IG9mICR7VFlQRX0iKQorCQkKKwkJc2V0KElOQ0xVREVfSEVBREVS UyAiI2luY2x1ZGUgPHN0ZGRlZi5oPgorCQkJI2luY2x1ZGUgPHN0ZGlvLmg+ CisJCQkjaW5jbHVkZSA8c3RkbGliLmg+IikKKworCQlpZihIQVZFX1NURElO VF9IKQorCQkJc2V0KElOQ0xVREVfSEVBREVSUyAiJHtJTkNMVURFX0hFQURF UlN9XG4jaW5jbHVkZSA8c3RkaW50Lmg+XG4iKQorCQllbmRpZihIQVZFX1NU RElOVF9IKQorCisJCWZpbGUoV1JJVEUgIiR7Q01BS0VfQklOQVJZX0RJUn0k e0NNQUtFX0ZJTEVTX0RJUkVDVE9SWX0vQ01ha2VUbXAvY2hlY2tfJHtOQU1F fV9hbGlnbm1lbnQuYyIKKwkJCSIke0lOQ0xVREVfSEVBREVSU30KKwkJCWlu dCBtYWluKCl7CisJCQkJY2hhciBkaWZmOworCQkJCXN0cnVjdCBmb28ge2No YXIgYTsgJHtUWVBFfSBiO307CisJCQkJc3RydWN0IGZvbyAqcCA9IChzdHJ1 Y3QgZm9vICopIG1hbGxvYyhzaXplb2Yoc3RydWN0IGZvbykpOworCQkJCWRp ZmYgPSAoKGNoYXIgKikmcC0+YikgLSAoKGNoYXIgKikmcC0+YSk7CisJCQkJ cmV0dXJuIGRpZmY7fQorCQkiKQorCisJCXRyeV9ydW4oJHtOQU1FfSBDT01Q SUxFX1JFU1VMVCAiJHtDTUFLRV9CSU5BUllfRElSfSR7Q01BS0VfRklMRVNf RElSRUNUT1JZfS9DTWFrZVRtcC8iCisJCQkiJHtDTUFLRV9CSU5BUllfRElS fSR7Q01BS0VfRklMRVNfRElSRUNUT1JZfS9DTWFrZVRtcC9jaGVja18ke05B TUV9X2FsaWdubWVudC5jIikKKworCQltZXNzYWdlKFNUQVRVUyAiQ2hlY2sg YWxpZ25tZW50IG9mICR7VFlQRX0gLSAkeyR7TkFNRX19IikKKworCWVuZGlm KE5PVCAke05BTUV9KQorZW5kbWFjcm8oQ0hFQ0tfVFlQRV9BTElHTk1FTlQg VFlQRSBOQU1FIEFMSUdOT0ZfVFlQRSkKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9jbWFrZS9GaW5kTERBUC5jbWFrZSBiL2Nt YWtlL0ZpbmRMREFQLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjhhNWJjNjMKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFrZS9G aW5kTERBUC5jbWFrZQpAQCAtMCwwICsxLDQxIEBACisjIC0gVHJ5IHRvIGZp bmQgdGhlIExEQVAgY2xpZW50IGxpYnJhcmllcworIyBPbmNlIGRvbmUgdGhp cyB3aWxsIGRlZmluZQorIworIyAgTERBUF9GT1VORCAtIHN5c3RlbSBoYXMg bGlibGRhcAorIyAgTERBUF9JTkNMVURFX0RJUiAtIHRoZSBsZGFwIGluY2x1 ZGUgZGlyZWN0b3J5CisjICBMREFQX0xJQlJBUklFUyAtIGxpYmxkYXAgKyBs aWJsYmVyIChpZiBmb3VuZCkgbGlicmFyeQorIyAgTEJFUl9MSUJSQVJJRVMg LSBsaWJsYmVyIGxpYnJhcnkKKworaWYoTERBUF9JTkNMVURFX0RJUiBBTkQg TERBUF9MSUJSQVJJRVMpCisJIyBBbHJlYWR5IGluIGNhY2hlLCBiZSBzaWxl bnQKKwlzZXQoTGRhcF9GSU5EX1FVSUVUTFkgVFJVRSkKK2VuZGlmKExEQVBf SU5DTFVERV9ESVIgQU5EIExEQVBfTElCUkFSSUVTKQorCitpZihVTklYKQor CUZJTkRfUEFUSChMREFQX0lOQ0xVREVfRElSIGxkYXAuaCkKKwlGSU5EX0xJ QlJBUlkoTERBUF9MSUJSQVJJRVMgTkFNRVMgbGRhcCkKKwlGSU5EX0xJQlJB UlkoTEJFUl9MSUJSQVJJRVMgTkFNRVMgbGJlcikKKworZWxzZShVTklYKQor CUZJTkRfUEFUSChMREFQX0lOQ0xVREVfRElSIHdpbmxkYXAuaCkKKwlGSU5E X0xJQlJBUlkoTERBUF9MSUJSQVJJRVMgTkFNRVMgd2xkYXAzMikKK2VuZGlm KFVOSVgpCisKK2lmKExEQVBfSU5DTFVERV9ESVIgQU5EIExEQVBfTElCUkFS SUVTKQorCXNldChMREFQX0ZPVU5EIFRSVUUpCisJaWYoTEJFUl9MSUJSQVJJ RVMpCisJCXNldChMREFQX0xJQlJBUklFUyAke0xEQVBfTElCUkFSSUVTfSAk e0xCRVJfTElCUkFSSUVTfSkKKwllbmRpZihMQkVSX0xJQlJBUklFUykKK2Vu ZGlmKExEQVBfSU5DTFVERV9ESVIgQU5EIExEQVBfTElCUkFSSUVTKQorCitp ZihMREFQX0ZPVU5EKQorCWlmKE5PVCBMZGFwX0ZJTkRfUVVJRVRMWSkKKwkJ bWVzc2FnZShTVEFUVVMgIkZvdW5kIGxkYXA6ICR7TERBUF9MSUJSQVJJRVN9 IikKKwllbmRpZihOT1QgTGRhcF9GSU5EX1FVSUVUTFkpCitlbHNlKExEQVBf Rk9VTkQpCisJaWYgKExkYXBfRklORF9SRVFVSVJFRCkKKwkJbWVzc2FnZShG QVRBTF9FUlJPUiAiQ291bGQgTk9UIGZpbmQgbGRhcCIpCisJZW5kaWYgKExk YXBfRklORF9SRVFVSVJFRCkKK2VuZGlmKExEQVBfRk9VTkQpCisKK01BUktf QVNfQURWQU5DRUQoTERBUF9JTkNMVURFX0RJUiBMREFQX0xJQlJBUklFUyBM QkVSX0xJQlJBUklFUykKZGlmZiAtLWdpdCBhL2NtYWtlL0ZpbmRMaWJTb2Nr ZXQuY21ha2UgYi9jbWFrZS9GaW5kTGliU29ja2V0LmNtYWtlCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0OGY0ZWMKLS0tIC9kZXYv bnVsbAorKysgYi9jbWFrZS9GaW5kTGliU29ja2V0LmNtYWtlCkBAIC0wLDAg KzEsMTEgQEAKK2ZpbmRfbGlicmFyeSggTElCU09DS0VUX0xJQlJBUlkgTkFN RVMgbGlic29ja2V0IHNvY2tldCApCittYXJrX2FzX2FkdmFuY2VkKCBMSUJT T0NLRVRfTElCUkFSWSApCisKKyMgaGFuZGxlIHRoZSBRVUlFVExZIGFuZCBS RVFVSVJFRCBhcmd1bWVudHMgYW5kIHNldCBMSUJTT0NLRVRfRk9VTkQgdG8g VFJVRSBpZgorIyBhbGwgbGlzdGVkIHZhcmlhYmxlcyBhcmUgVFJVRQoraW5j bHVkZSggRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MgKQorRklORF9Q QUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKCBMSUJTT0NLRVQgREVGQVVM VF9NU0cgTElCU09DS0VUX0xJQlJBUlkgKQorCitpZiggTElCU09DS0VUX0ZP VU5EICkKKwlzZXQoIExJQlNPQ0tFVF9MSUJSQVJJRVMgJHtMSUJTT0NLRVRf TElCUkFSWX0gKQorZW5kaWYoIExJQlNPQ0tFVF9GT1VORCApCmRpZmYgLS1n aXQgYS9jbWFrZS9GaW5kTGliVVVJRC5jbWFrZSBiL2NtYWtlL0ZpbmRMaWJV VUlELmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjEwNjI2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFrZS9GaW5kTGliVVVJ RC5jbWFrZQpAQCAtMCwwICsxLDUwIEBACisjIC0gVHJ5IHRvIGZpbmQgTElC VVVJRAorIyBGaW5kIExJQlVVSUQgaGVhZGVycywgbGlicmFyaWVzIGFuZCB0 aGUgYW5zd2VyIHRvIGFsbCBxdWVzdGlvbnMuCisjCisjICBMSUJVVUlEX0ZP VU5EICAgICAgICAgICAgICAgVHJ1ZSBpZiBsaWJ1dWlkIGdvdCBmb3VuZAor IyAgTElCVVVJRF9JTkNMVURFX0RJUlMgICAgICAgIExvY2F0aW9uIG9mIGxp YnV1aWQgaGVhZGVycworIyAgTElCVVVJRF9MSUJSQVJJRVMgICAgICAgICAg IExpc3Qgb2YgbGlicmFyaWVzIHRvIHVzZSBsaWJ1dWlkCisjCisjIENvcHly aWdodCAoYykgMjAwOCBCam9lcm4gUmlja3MgPGJqb2Vybi5yaWNrc0Bnb29n bGVtYWlsLmNvbT4KKyMKKyMgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaXMg YWxsb3dlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zIG9mIHRoZSBOZXcKKyMg IEJTRCBsaWNlbnNlLgorIyAgRm9yIGRldGFpbHMgc2VlIHRoZSBhY2NvbXBh bnlpbmcgQ09QWUlORy1DTUFLRS1TQ1JJUFRTIGZpbGUuCisjCisKK0lOQ0xV REUoRmluZFBrZ0NvbmZpZykKKworSUYoTGliVVVJRF9GSU5EX1JFUVVJUkVE KQorCVNFVChfcGtnY29uZmlnX1JFUVVJUkVEICJSRVFVSVJFRCIpCitFTFNF KExpYlVVSURfRklORF9SRVFVSVJFRCkKKwlTRVQoX3BrZ2NvbmZpZ19SRVFV SVJFRCAiIikKK0VORElGIChMaWJVVUlEX0ZJTkRfUkVRVUlSRUQpCisKK0lG KExJQlVVSURfTUlOX1ZFUlNJT04pCisJUEtHX1NFQVJDSF9NT0RVTEUoTElC VVVJRCAke19wa2djb25maWdfUkVRVUlSRUR9IHV1aWQ+PSR7TElCVVVJRF9N SU5fVkVSU0lPTn0pCitFTFNFKExJQlVVSURfTUlOX1ZFUlNJT04pCisJUEtH X1NFQVJDSF9NT0RVTEUoTElCVVVJRCAke19wa2djb25maWdfUkVRVUlSRUR9 IHV1aWQpCitFTkRJRihMSUJVVUlEX01JTl9WRVJTSU9OKQorCitJRihOT1Qg TElCVVVJRF9GT1VORCkKKwlGSU5EX1BBVEgoTElCVVVJRF9JTkNMVURFX0RJ UlMgdXVpZC91dWlkLmgpCisJRklORF9MSUJSQVJZKExJQlVVSURfTElCUkFS SUVTIHV1aWQpCisKKwkjIFJlcG9ydCByZXN1bHRzCisJSUYoTElCVVVJRF9M SUJSQVJJRVMgQU5EIExJQlVVSURfSU5DTFVERV9ESVJTKQorCQlTRVQoTElC VVVJRF9GT1VORCAxKQorCQlJRihOT1QgTElCVVVJRF9GSU5EX1FVSUVUTFkp CisJCQlNRVNTQUdFKFNUQVRVUyAiRm91bmQgbGlidXVpZDogJHtMSUJVVUlE X0xJQlJBUklFU30iKQorCQlFTkRJRihOT1QgTElCVVVJRF9GSU5EX1FVSUVU TFkpCisJRUxTRShMSUJVVUlEX0xJQlJBUklFUyBBTkQgTElCVVVJRF9JTkNM VURFX0RJUlMpCisJCUlGKExJQlVVSURfRklORF9SRVFVSVJFRCkKKwkJCU1F U1NBR0UoU0VORF9FUlJPUiAiQ291bGQgTk9UIGZpbmQgbGlidXVpZCIpCisJ CUVMU0UoTElCVVVJRF9GSU5EX1JFUVVJUkVEKQorCQkJSUYoTk9UIExJQlVV SURfRklORF9RVUlFVExZKQorCQkJCU1FU1NBR0UoU1RBVFVTICJDb3VsZCBO T1QgZmluZCBsaWJ1dWlkIikKKwkJCUVORElGKE5PVCBMSUJVVUlEX0ZJTkRf UVVJRVRMWSkKKwkJRU5ESUYgKExJQlVVSURfRklORF9SRVFVSVJFRCkKKwlF TkRJRiAoTElCVVVJRF9MSUJSQVJJRVMgQU5EIExJQlVVSURfSU5DTFVERV9E SVJTKQorRU5ESUYoTk9UIExJQlVVSURfRk9VTkQpCisKK01BUktfQVNfQURW QU5DRUQoTElCVVVJRF9MSUJSQVJJRVMgTElCVVVJRF9JTkNMVURFX0RJUlMp CmRpZmYgLS1naXQgYS9jbWFrZS9GaW5kUmVhZGxpbmUuY21ha2UgYi9jbWFr ZS9GaW5kUmVhZGxpbmUuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNjYwM2RiZQotLS0gL2Rldi9udWxsCisrKyBiL2NtYWtl L0ZpbmRSZWFkbGluZS5jbWFrZQpAQCAtMCwwICsxLDIyIEBACisjIGZyb20g aHR0cDovL3dlYnN2bi5rZGUub3JnL3RydW5rL0tERS9rZGVlZHUvY21ha2Uv bW9kdWxlcy9GaW5kUmVhZGxpbmUuY21ha2UKKyMgaHR0cDovL3dlYnN2bi5r ZGUub3JnL3RydW5rL0tERS9rZGVlZHUvY21ha2UvbW9kdWxlcy9DT1BZSU5H LUNNQUtFLVNDUklQVFMKKyMgLS0+IEJTRCBsaWNlbnNlZAorIworIyBHTlUg UmVhZGxpbmUgbGlicmFyeSBmaW5kZXIKKworCitpZihSRUFETElORV9JTkNM VURFX0RJUiBBTkQgUkVBRExJTkVfTElCUkFSWSkKKwlzZXQoUkVBRExJTkVf Rk9VTkQgVFJVRSkKK2Vsc2UoUkVBRExJTkVfSU5DTFVERV9ESVIgQU5EIFJF QURMSU5FX0xJQlJBUlkpCisJRklORF9QQVRIKFJFQURMSU5FX0lOQ0xVREVf RElSIHJlYWRsaW5lL3JlYWRsaW5lLmgKKwkJL3Vzci9pbmNsdWRlL3JlYWRs aW5lCisJKQorCisJRklORF9MSUJSQVJZKFJFQURMSU5FX0xJQlJBUlkgTkFN RVMgcmVhZGxpbmUgUEFUSFMKKwkJL29wdC9jc3cvbGliLzY0LworCSkKKwlp bmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzKQorCUZJTkRf UEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhSZWFkbGluZSBERUZBVUxU X01TRyBSRUFETElORV9JTkNMVURFX0RJUiBSRUFETElORV9MSUJSQVJZICkK KworCU1BUktfQVNfQURWQU5DRUQoUkVBRExJTkVfSU5DTFVERV9ESVIgUkVB RExJTkVfTElCUkFSWSkKK2VuZGlmKFJFQURMSU5FX0lOQ0xVREVfRElSIEFO RCBSRUFETElORV9MSUJSQVJZKQpkaWZmIC0tZ2l0IGEvY21ha2UvRmluZFNF TGludXguY21ha2UgYi9jbWFrZS9GaW5kU0VMaW51eC5jbWFrZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDZlM2NhCi0tLSAvZGV2 L251bGwKKysrIGIvY21ha2UvRmluZFNFTGludXguY21ha2UKQEAgLTAsMCAr MSw1NSBAQAorIyAtIFRyeSB0byBmaW5kIHRoZSBTRUxpbnV4IGxpYnJhcnkK KyMgT25jZSBkb25lIHRoaXMgd2lsbCBkZWZpbmUKKyMKKyMgIFNFTElOVVhf Rk9VTkQgLSBTeXN0ZW0gaGFzIHNlbGludXgKKyMgIFNFTElOVVhfSU5DTFVE RV9ESVIgLSBUaGUgc2VsaW51eCBpbmNsdWRlIGRpcmVjdG9yeQorIyAgU0VM SU5VWF9MSUJSQVJJRVMgLSBUaGUgbGlicmFyaWVzIG5lZWRlZCB0byB1c2Ug c2VsaW51eAorIyAgU0VMSU5VWF9ERUZJTklUSU9OUyAtIENvbXBpbGVyIHN3 aXRjaGVzIHJlcXVpcmVkIGZvciB1c2luZyBzZWxpbnV4CisKKyM9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBDb3B5cmlnaHQgMjAxMCAg TWljaGFlbCBMZXVwb2xkIDxsZW1tYUBjb25mdWVnby5vcmc+CisjCisjIERp c3RyaWJ1dGVkIHVuZGVyIHRoZSBPU0ktYXBwcm92ZWQgQlNEIExpY2Vuc2Ug KHRoZSAiTGljZW5zZSIpOworIyBzZWUgYWNjb21wYW55aW5nIGZpbGUgQ29w eXJpZ2h0LnR4dCBmb3IgZGV0YWlscy4KKyMKKyMgVGhpcyBzb2Z0d2FyZSBp cyBkaXN0cmlidXRlZCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZQorIyBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKyMgU2Vl IHRoZSBMaWNlbnNlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorIz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisKK0lGIChTRUxJTlVYX0lOQ0xV REVfRElSIEFORCBTRUxJTlVYX0xJQlJBUklFUykKKwkjIGluIGNhY2hlIGFs cmVhZHkKKwlTRVQgKFNFTGludXhfRklORF9RVUlFVExZIFRSVUUpCitFTkRJ RiAoU0VMSU5VWF9JTkNMVURFX0RJUiBBTkQgU0VMSU5VWF9MSUJSQVJJRVMp CisKKyMgVE9ETzogVGhpcyBzaG91bGQgYmUgcmVzdHJpY3RlZCB0byBMaW51 eCBvbmx5CitJRiAoTk9UIFdJTjMyKQorCSMgdXNlIHBrZy1jb25maWcgdG8g Z2V0IHRoZSBkaXJlY3RvcmllcworCUZJTkRfUEFDS0FHRSAoUGtnQ29uZmln KQorCVBLR19DSEVDS19NT0RVTEVTIChQQ19TRUxJTlVYIGxpYnNlbGludXgp CisJU0VUIChTRUxJTlVYX0RFRklOSVRJT05TICR7UENfU0VMSU5VWF9DRkxB R1NfT1RIRVJ9KQorCisJRklORF9QQVRIIChTRUxJTlVYX0lOQ0xVREVfRElS IHNlbGludXgvc2VsaW51eC5oCisJCUhJTlRTCisJCSR7UENfU0VMSU5VWF9J TkNMVURFRElSfQorCQkke1BDX1NFTElOVVhfSU5DTFVERV9ESVJTfQorCSkK KworCUZJTkRfTElCUkFSWSAoU0VMSU5VWF9MSUJSQVJJRVMgc2VsaW51eCBs aWJzZWxpbnV4CisJCUhJTlRTCisJCSR7UENfU0VMSU5VWF9MSUJESVJ9CisJ CSR7UENfU0VMSU5VWF9MSUJSQVJZX0RJUlN9CisJKQorCisJSU5DTFVERSAo RmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCisKKwkjIGhhbmRsZSB0 aGUgUVVJRVRMWSBhbmQgUkVRVUlSRUQgYXJndW1lbnRzIGFuZCBzZXQgU0VM SU5VWF9GT1VORAorCSMgdG8gVFJVRSBpZiBhbGwgbGlzdGVkIHZhcmlhYmxl cyBhcmUgVFJVRQorCUZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJH UyAoU0VMaW51eCBERUZBVUxUX01TRworCQlTRUxJTlVYX0lOQ0xVREVfRElS CisJCVNFTElOVVhfTElCUkFSSUVTCisJKQorCisJTUFSS19BU19BRFZBTkNF RCAoU0VMSU5VWF9JTkNMVURFX0RJUiBTRUxJTlVYX0xJQlJBUklFUykKKwor RU5ESUYgKE5PVCBXSU4zMikKZGlmZiAtLWdpdCBhL2NtYWtlL0Z1bmNBY2Nl cHRBcmd0eXBlcy5jbWFrZSBiL2NtYWtlL0Z1bmNBY2NlcHRBcmd0eXBlcy5j bWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzMz ZDY5Ci0tLSAvZGV2L251bGwKKysrIGIvY21ha2UvRnVuY0FjY2VwdEFyZ3R5 cGVzLmNtYWtlCkBAIC0wLDAgKzEsNTIgQEAKK2lmKEhBVkVfU1lTX1RZUEVT X0gpCisJc2V0KElOQ0xVREVfU1lTX1RZUEVTX0ggIiNpbmNsdWRlIDxzeXMv dHlwZXMuaD4iKQorZW5kaWYoSEFWRV9TWVNfVFlQRVNfSCkKKworaWYoSEFW RV9TWVNfU09DS0VUX0gpCisJc2V0KElOQ0xVREVfU1lTX1NPQ0tFVF9IICIj aW5jbHVkZSA8c3lzL3NvY2tldC5oPiIpCitlbmRpZihIQVZFX1NZU19TT0NL RVRfSCkKKworCittZXNzYWdlKFNUQVRVUyAiTG9va2luZyBmb3IgYWNjZXB0 IGZ1bmN0aW9uIGFyZ3MiKQorc2V0KENNQUtFX1JFUVVJUkVEX1FVSUVUIDEp Citmb3JlYWNoKGFjX2N2X2Z1bmNfYWNjZXB0X3JldHVybiAiaW50IiAidW5z aWduZWQgaW50IFBBU0NBTCIgIlNPQ0tFVCBXU0FBUEkiKQorCWZvcmVhY2go YWNfY3ZfZnVuY19hY2NlcHRfYXJnMSAidW5zaWduZWQgaW50IiAiaW50IiAi U09DS0VUIikKKwkJZm9yZWFjaChhY19jdl9mdW5jX2FjY2VwdF9hcmcyICJz dHJ1Y3Qgc29ja2FkZHIgKiIgImNvbnN0IHN0cnVjdCBzb2NrYWRkciAqIiAi dm9pZCAqIikKKwkJCWZvcmVhY2goYWNfY3ZfZnVuY19hY2NlcHRfYXJnMyAi aW50IiAic2l6ZV90IiAic29ja2xlbl90IiAidW5zaWduZWQgaW50IiAidm9p ZCIpCisJCQkJdW5zZXQoQUNfRlVOQ19BQ0NFUFQgQ0FDSEUpCisJCQkJQ0hF Q0tfQ19TT1VSQ0VfQ09NUElMRVMoIgorCQkJCQkke0lOQ0xVREVfU1lTX1RZ UEVTX0h9CisJCQkJCSR7SU5DTFVERV9TWVNfU09DS0VUX0h9CisJCQkJCWV4 dGVybiAke2FjX2N2X2Z1bmNfYWNjZXB0X3JldHVybn0gYWNjZXB0ICgke2Fj X2N2X2Z1bmNfYWNjZXB0X2FyZzF9LCAke2FjX2N2X2Z1bmNfYWNjZXB0X2Fy ZzJ9LCAke2FjX2N2X2Z1bmNfYWNjZXB0X2FyZzN9ICopOworCQkJCQlpbnQg bWFpbih2b2lkKXtyZXR1cm4gMDt9CisJCQkJIiBBQ19GVU5DX0FDQ0VQVCkK KwkJCQlpZihBQ19GVU5DX0FDQ0VQVCkKKwkJCQkJc2V0KEFDQ0VQVF9UWVBF X1JFVFVSTiAke2FjX2N2X2Z1bmNfYWNjZXB0X3JldHVybn0pCisJCQkJCXNl dChBQ0NFUFRfVFlQRV9BUkcxICR7YWNfY3ZfZnVuY19hY2NlcHRfYXJnMX0p CisJCQkJCXNldChBQ0NFUFRfVFlQRV9BUkcyICR7YWNfY3ZfZnVuY19hY2Nl cHRfYXJnMn0pCisJCQkJCXNldChBQ0NFUFRfVFlQRV9BUkczICR7YWNfY3Zf ZnVuY19hY2NlcHRfYXJnM30pCisJCQkJCWJyZWFrKCkKKwkJCQllbmRpZihB Q19GVU5DX0FDQ0VQVCkKKwkJCWVuZGZvcmVhY2goYWNfY3ZfZnVuY19hY2Nl cHRfYXJnMykKKwkJCWlmKEFDX0ZVTkNfQUNDRVBUKQorCQkJCWJyZWFrKCkK KwkJCWVuZGlmKEFDX0ZVTkNfQUNDRVBUKQorCQllbmRmb3JlYWNoKGFjX2N2 X2Z1bmNfYWNjZXB0X2FyZzIpCisJCWlmKEFDX0ZVTkNfQUNDRVBUKQorCQkJ YnJlYWsoKQorCQllbmRpZihBQ19GVU5DX0FDQ0VQVCkKKwllbmRmb3JlYWNo KGFjX2N2X2Z1bmNfYWNjZXB0X2FyZzEpCisJaWYoQUNfRlVOQ19BQ0NFUFQp CisJCWJyZWFrKCkKKwllbmRpZihBQ19GVU5DX0FDQ0VQVCkKK2VuZGZvcmVh Y2goYWNfY3ZfZnVuY19hY2NlcHRfcmV0dXJuKQordW5zZXQoQ01BS0VfUkVR VUlSRURfUVVJRVQpCisKK2lmKE5PVCBBQ19GVU5DX0FDQ0VQVCkKKwltZXNz YWdlKEVSUk9SICJjb3VsZCBub3QgZGV0ZXJtaW5lIGFyZ3VtZW50IHR5cGVz IikKK2VuZGlmKE5PVCBBQ19GVU5DX0FDQ0VQVCkKK2lmKEFDQ0VQVF9UWVBF X0FSRzMgU1RSRVFVQUwgInZvaWQiKQorCXNldChBQ0NFUFRfVFlQRV9BUkcz ICJpbnQiKQorZW5kaWYoKQorCittZXNzYWdlKFNUQVRVUyAiTG9va2luZyBm b3IgYWNjZXB0IGZ1bmN0aW9uIGFyZ3MgLSBmb3VuZCAke0FDQ0VQVF9UWVBF X1JFVFVSTn0sICR7QUNDRVBUX1RZUEVfQVJHMX0sICR7QUNDRVBUX1RZUEVf QVJHMn0sICR7QUNDRVBUX1RZUEVfQVJHM30gKiIpCmRpZmYgLS1naXQgYS9j bWFrZS9HZW5EZWYuY21ha2UgYi9jbWFrZS9HZW5EZWYuY21ha2UKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk5YjBiZAotLS0gL2Rl di9udWxsCisrKyBiL2NtYWtlL0dlbkRlZi5jbWFrZQpAQCAtMCwwICsxLDEy IEBACittYWNybyhHRU5fREVGIE5BTUUpCisJU0VUX1RBUkdFVF9QUk9QRVJU SUVTKCR7TkFNRX0gUFJPUEVSVElFUyBMSU5LX0ZMQUdTICIvREVGOlwiJHtD TUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7TkFNRX0uZGVmXCIgIikKKwlh ZGRfY3VzdG9tX2NvbW1hbmQoCisJCVRBUkdFVCAke05BTUV9CisJCVBSRV9M SU5LCisJCSNDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgcmVtb3ZlICR7 Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke05BTUV9LmRlZgorCQkjT1VU UFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke05BTUV9LmRlZgor CQlDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1BST0pFQ1RfU09VUkNF X0RJUn0vc3JjL3Rvb2xzL21zdmMvZ2VuZGVmLnBsICR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfS8kPCQ8Qk9PTDoke0NNQUtFX0JVSUxEX1RZUEV9Pjok e0NNQUtFX0ZJTEVTX0RJUkVDVE9SWX0+JHtOQU1FfS5kaXIvJHtDTUFLRV9D RkdfSU5URElSfSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtOQU1F fS5kZWYgJHtDTUFLRV9WU19QTEFURk9STV9OQU1FfQorCQlDT01NRU5UICIg R2VuIGRlZnMgIgorCSkKKwlzZXRfZGlyZWN0b3J5X3Byb3BlcnRpZXMoUFJP UEVSVElFUyBBRERJVElPTkFMX01BS0VfQ0xFQU5fRklMRVMgJHtDTUFLRV9D VVJSRU5UX0JJTkFSWV9ESVJ9LyR7TkFNRX0uZGVmKQorZW5kbWFjcm8oR0VO X0RFRiBOQU1FKQpkaWZmIC0tZ2l0IGEvY21ha2UvTWFrZU5MUy5jbWFrZSBi L2NtYWtlL01ha2VOTFMuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uYzZkYjkwZAotLS0gL2Rldi9udWxsCisrKyBiL2NtYWtl L01ha2VOTFMuY21ha2UKQEAgLTAsMCArMSwyMSBAQAorbWFjcm8oTUFLRV9N TyBCSU5fTkFNRSBMQU5HVUFHRVMpCisJc2V0KGdtb19maWxlcyAiIikKKwlm b3JlYWNoKGxhbmcgJHtMQU5HVUFHRVN9KQorCQlpZiAoTk9UICI7JHtOTFNf TEFOR1VBR0VTfTsiIE1BVENIRVMgIjske2xhbmd9OyIpCisJCQljb250aW51 ZSgpCisJCWVuZGlmKCkKKwkJc2V0KF9nbW9GaWxlICR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfS8ke2xhbmd9LmdtbykKKwkJYWRkX2N1c3RvbV9jb21t YW5kKE9VVFBVVCAke19nbW9GaWxlfQorCQkJQ09NTUFORCAke0dFVFRFWFRf TVNHRk1UX0VYRUNVVEFCTEV9IC1vICR7X2dtb0ZpbGV9IHBvLyR7bGFuZ30u cG8KKwkJCVdPUktJTkdfRElSRUNUT1JZICIke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0iCisJCQlERVBFTkRTIHBvLyR7bGFuZ30ucG8KKwkJKQorCQlp bnN0YWxsKEZJTEVTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8ke2xh bmd9LmdtbyBERVNUSU5BVElPTiBzaGFyZS9sb2NhbGUvJHtsYW5nfS9MQ19N RVNTQUdFUy8gUkVOQU1FICR7QklOX05BTUV9LSR7UE9TVEdSRVNfTUFKT1Jf VkVSU0lPTn0uJHtQT1NUR1JFU19NSU5PUl9WRVJTSU9OfS5tbykKKwkJaWYo Tk9UIFRBUkdFVCBwb2ZpbGVzKQorCQkJYWRkX2N1c3RvbV90YXJnZXQocG9m aWxlcykKKwkJZW5kaWYoKQorCQlhZGRfY3VzdG9tX3RhcmdldCgke0JJTl9O QU1FfS1tb2ZpbGUtJHtsYW5nfSBBTEwgREVQRU5EUyAke19nbW9GaWxlfSkK KwkJYWRkX2RlcGVuZGVuY2llcyhwb2ZpbGVzICR7QklOX05BTUV9LW1vZmls ZS0ke2xhbmd9KQorCQlzZXQoZ21vX2ZpbGVzICIke2dtb19maWxlc307JHtf Z21vRmlsZX0iKQorCWVuZGZvcmVhY2goKQorZW5kbWFjcm8oKQpkaWZmIC0t Z2l0IGEvY21ha2UvUmVncmVzc0NoZWNrLmNtYWtlIGIvY21ha2UvUmVncmVz c0NoZWNrLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjE3NzA1OTcKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFrZS9SZWdyZXNz Q2hlY2suY21ha2UKQEAgLTAsMCArMSwxNjggQEAKK3NldCh0bXBfY2hlY2tf Zm9sZGVyICR7Q01BS0VfQklOQVJZX0RJUn0vc3JjL3Rlc3QvcmVncmVzcy90 bXBfaW5zdGFsbCkKKworaWYoQ01BS0VfU1lTVEVNX05BTUUgU1RSRVFVQUwg IkRhcndpbiIpCisJc2V0KGVudl9jbWQKKwkJJHtDTUFLRV9DT01NQU5EfSAt RSBlbnYKKwkJIkRZTERfTElCUkFSWV9QQVRIPSRFTlZ7REVTVERJUn0ke0xJ QkRJUn06JCREWUxEX0xJQlJBUllfUEFUSCIKKwkpCisJc2V0KHRtcF9lbnZf Y21kCisJCSR7Q01BS0VfQ09NTUFORH0gLUUgZW52CisJCSJEWUxEX0xJQlJB UllfUEFUSD0ke3RtcF9jaGVja19mb2xkZXJ9JHtMSUJESVJ9OiQkRFlMRF9M SUJSQVJZX1BBVEgiCisJKQorZWxzZWlmKENNQUtFX1NZU1RFTV9OQU1FIFNU UkVRVUFMICJBSVgiKQorCXNldChlbnZfY21kCisJCSR7Q01BS0VfQ09NTUFO RH0gLUUgZW52CisJCSJMSUJQQVRIPSRFTlZ7REVTVERJUn0ke0xJQkRJUn06 JExJQlBBVEgiCisJKQorCXNldCh0bXBfZW52X2NtZAorCQkke0NNQUtFX0NP TU1BTkR9IC1FIGVudgorCQkiTElCUEFUSD0ke3RtcF9jaGVja19mb2xkZXJ9 JHtMSUJESVJ9OiRMSUJQQVRIIgorCSkKK2Vsc2UoKQorCWlmIChDTUFLRV9W RVJTSU9OIFZFUlNJT05fR1JFQVRFUiAiMy4yLjAiKQorCQlzZXQoZW52X2Nt ZAorCQkJJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYKKwkJCSJMRF9MSUJSQVJZ X1BBVEg9JEVOVntERVNURElSfSR7TElCRElSfTokJExEX0xJQlJBUllfUEFU SCIKKwkJKQorCQlzZXQodG1wX2Vudl9jbWQKKwkJCSR7Q01BS0VfQ09NTUFO RH0gLUUgZW52CisJCQkiTERfTElCUkFSWV9QQVRIPSR7dG1wX2NoZWNrX2Zv bGRlcn0ke0xJQkRJUn06JCRMRF9MSUJSQVJZX1BBVEgiCisJCSkKKwllbHNl KCkKKwkJc2V0KGVudl9jbWQKKwkJCWV4cG9ydCAiTERfTElCUkFSWV9QQVRI PSRFTlZ7REVTVERJUn0ke0xJQkRJUn06JCRMRF9MSUJSQVJZX1BBVEgiICYm CisJCSkKKwkJc2V0KHRtcF9lbnZfY21kCisJCQlleHBvcnQgIkxEX0xJQlJB UllfUEFUSD0ke3RtcF9jaGVja19mb2xkZXJ9JHtMSUJESVJ9OiQkTERfTElC UkFSWV9QQVRIIiAmJgorCQkpCisJZW5kaWYoKQorZW5kaWYoKQorCitpZihN U1ZDIE9SIE1TWVMgT1IgTUlOR1cgT1IgQ01BS0VfR0VORVJBVE9SIFNUUkVR VUFMIFhjb2RlKQorCSNOZWVkIHJld3JpdGUKKwlzZXQocHJlX3BnX3JlZ3Jl c3NfY2hlY2sKKwkJJHtQR0JJTkRJUn0vcGdfcmVncmVzcyR7Q01BS0VfRVhF Q1VUQUJMRV9TVUZGSVh9CisJCS0taW5wdXRkaXI9IiR7Q01BS0VfU09VUkNF X0RJUn0vc3JjL3Rlc3QvcmVncmVzcyIKKwkJLS10ZW1wLWluc3RhbmNlPSJ0 bXBfY2hlY2siCisJCS0tZW5jb2Rpbmc9VVRGOAorCQktLW5vLWxvY2FsZQor CSkKKwlzZXQocHJlX3BnX2lzb2xhdGlvbl9yZWdyZXNzX2NoZWNrCisJCSR7 UEdCSU5ESVJ9L3BnX2lzb2xhdGlvbl9yZWdyZXNzJHtDTUFLRV9FWEVDVVRB QkxFX1NVRkZJWH0KKwkJLS1pbnB1dGRpcj0iJHtDTUFLRV9TT1VSQ0VfRElS fS9zcmMvdGVzdC9pc29sYXRpb24iCisJCS0tdGVtcC1pbnN0YW5jZT0idG1w X2NoZWNrIgorCQktLWVuY29kaW5nPVVURjgKKwkJLS1uby1sb2NhbGUKKwkp CitlbHNlKE1TVkMpCisJc2V0KHByZV9wZ19yZWdyZXNzX2NoZWNrCisJCSR7 Q01BS0VfQklOQVJZX0RJUn0vc3JjL3Rlc3QvcmVncmVzcy8ke0NNQUtFX0lO U1RBTExfQ09ORklHX05BTUV9L3BnX3JlZ3Jlc3Mke0NNQUtFX0VYRUNVVEFC TEVfU1VGRklYfQorCQktLWlucHV0ZGlyPSIke0NNQUtFX1NPVVJDRV9ESVJ9 L3NyYy90ZXN0L3JlZ3Jlc3MiCisJCS0tdGVtcC1pbnN0YW5jZT0idG1wX2No ZWNrIgorCQktLWVuY29kaW5nPVVURjgKKwkJLS1uby1sb2NhbGUKKwkpCisJ c2V0KHByZV9wZ19pc29sYXRpb25fcmVncmVzc19jaGVjaworCQkke0NNQUtF X0JJTkFSWV9ESVJ9L3NyYy90ZXN0L2lzb2xhdGlvbi8ke0NNQUtFX0lOU1RB TExfQ09ORklHX05BTUV9L3BnX2lzb2xhdGlvbl9yZWdyZXNzJHtDTUFLRV9F WEVDVVRBQkxFX1NVRkZJWH0KKwkJLS1pbnB1dGRpcj0iJHtDTUFLRV9TT1VS Q0VfRElSfS9zcmMvdGVzdC9pc29sYXRpb24iCisJCS0tdGVtcC1pbnN0YW5j ZT0idG1wX2NoZWNrIgorCQktLWVuY29kaW5nPVVURjgKKwkJLS1uby1sb2Nh bGUKKwkpCitlbmRpZigpCisKK3NldChwZ19yZWdyZXNzX2NoZWNrCisJJHtl bnZfY21kfQorCSR7cHJlX3BnX3JlZ3Jlc3NfY2hlY2t9CisJLS1iaW5kaXI9 JEVOVntERVNURElSfSR7UEdCSU5ESVJ9CispCisKK3NldChwZ19yZWdyZXNz X2NoZWNrX3RtcAorCSR7dG1wX2Vudl9jbWR9CisJJHtwcmVfcGdfcmVncmVz c19jaGVja30KKwktLWJpbmRpcj0ke3RtcF9jaGVja19mb2xkZXJ9JHtQR0JJ TkRJUn0KKykKKworc2V0KHBnX2lzb2xhdGlvbl9yZWdyZXNzX2NoZWNrCisJ JHtlbnZfY21kfQorCSR7cHJlX3BnX2lzb2xhdGlvbl9yZWdyZXNzX2NoZWNr fQorCS0tYmluZGlyPSRFTlZ7REVTVERJUn0ke1BHQklORElSfQorKQorCitz ZXQocGdfaXNvbGF0aW9uX3JlZ3Jlc3NfY2hlY2tfdG1wCisJJHt0bXBfZW52 X2NtZH0KKwkke3ByZV9wZ19pc29sYXRpb25fcmVncmVzc19jaGVja30KKwkt LWJpbmRpcj0ke3RtcF9jaGVja19mb2xkZXJ9JHtQR0JJTkRJUn0KKykKKwor aWYoTUFYX0NPTk5FQ1RJT05TKQorCXNldChNQVhDT05OT1BUICIke01BWENP Tk5PUFR9IC0tbWF4LWNvbm5lY3Rpb25zPSR7TUFYX0NPTk5FQ1RJT05TfSIp CitlbmRpZigpCisKK2lmKFRFTVBfQ09ORklHKQorCXNldChURU1QX0NPTkYg IiR7VEVNUF9DT05GfSAtLXRlbXAtY29uZmlnPSR7VEVNUF9DT05GSUd9IikK K2VuZGlmKCkKKworaWYoQ01BS0VfR0VORVJBVE9SIFNUUkVRVUFMICJOaW5q YSIpCisJc2V0KGNoZWNrX21ha2VfY29tbWFuZCAibmluamEiKQorZWxzZSgp CisJc2V0KGNoZWNrX21ha2VfY29tbWFuZCAibWFrZSIpCitlbmRpZigpCisK K21hY3JvKFJFR1JFU1NfQ0hFQ0sgVEFSR0VUX05BTUUgUkVHUkVTU19PUFRT IFJFR1JFU1NfRklMRVMpCisJYWRkX2N1c3RvbV90YXJnZXQoJHtUQVJHRVRf TkFNRX1faW5zdGFsbGNoZWNrX3RtcAorCQlDT01NQU5EICR7cGdfcmVncmVz c19jaGVja190bXB9IC0taW5wdXRkaXI9IiR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfSIgLS1kYm5hbWU9JHtUQVJHRVRfTkFNRX1fcmVncmVzcyAke1JF R1JFU1NfT1BUU30gLS1kbHBhdGg9JHt0bXBfY2hlY2tfZm9sZGVyfSR7TElC RElSfSAke01BWENPTk5PUFR9ICR7VEVNUF9DT05GfSAke1JFR1JFU1NfRklM RVN9CisJCURFUEVORFMgdGFibGVzcGFjZS1zZXR1cAorCQlXT1JLSU5HX0RJ UkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKwkpCisJCisJ YWRkX2N1c3RvbV90YXJnZXQoJHtUQVJHRVRfTkFNRX1faW5zdGFsbGNoZWNr CisJCUNPTU1BTkQgJHtwZ19yZWdyZXNzX2NoZWNrfSAtLWlucHV0ZGlyPSIk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0iIC0tZGJuYW1lPSR7VEFSR0VU X05BTUV9X3JlZ3Jlc3MgJHtSRUdSRVNTX09QVFN9IC0tZGxwYXRoPSRFTlZ7 REVTVERJUn0ke0xJQkRJUn0gJHtNQVhDT05OT1BUfSAke1RFTVBfQ09ORn0g JHtSRUdSRVNTX0ZJTEVTfQorCQlERVBFTkRTIHRhYmxlc3BhY2Utc2V0dXAK KwkJV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9CisJKQorCisJaWYoQ01BS0VfR0VORVJBVE9SIFNUUkVRVUFMICJOaW5q YSIpCisJCWFkZF9jdXN0b21fdGFyZ2V0KCR7VEFSR0VUX05BTUV9X2NoZWNr CisJCQlDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgcmVtb3ZlX2RpcmVj dG9yeSAke3RtcF9jaGVja19mb2xkZXJ9CisJCQlDT01NQU5EIERFU1RESVI9 JHt0bXBfY2hlY2tfZm9sZGVyfSAke2NoZWNrX21ha2VfY29tbWFuZH0gaW5z dGFsbAorCQkJQ09NTUFORCBERVNURElSPSR7dG1wX2NoZWNrX2ZvbGRlcn0g JHtjaGVja19tYWtlX2NvbW1hbmR9ICR7VEFSR0VUX05BTUV9X2luc3RhbGxj aGVja190bXAKKwkJCURFUEVORFMgdGFibGVzcGFjZS1zZXR1cAorCQkJV09S S0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfQorCQkpCisJZWxz ZSgpCisJCWFkZF9jdXN0b21fdGFyZ2V0KCR7VEFSR0VUX05BTUV9X2NoZWNr CisJCQlDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgcmVtb3ZlX2RpcmVj dG9yeSAke3RtcF9jaGVja19mb2xkZXJ9CisJCQlDT01NQU5EICR7Y2hlY2tf bWFrZV9jb21tYW5kfSBpbnN0YWxsIERFU1RESVI9JHt0bXBfY2hlY2tfZm9s ZGVyfQorCQkJQ09NTUFORCAke2NoZWNrX21ha2VfY29tbWFuZH0gJHtUQVJH RVRfTkFNRX1faW5zdGFsbGNoZWNrX3RtcCBERVNURElSPSR7dG1wX2NoZWNr X2ZvbGRlcn0KKwkJCURFUEVORFMgdGFibGVzcGFjZS1zZXR1cAorCQkJV09S S0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfQorCQkpCisJZW5k aWYoKQorCQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7VEFSR0VUX05B TUV9X2luc3RhbGxjaGVja190bXAgdGVzdHMvdG1wKQorCUNNQUtFX1NFVF9U QVJHRVRfRk9MREVSKCR7VEFSR0VUX05BTUV9X2luc3RhbGxjaGVjayAidGVz dHMvaW5zdGFsbCIpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtUQVJH RVRfTkFNRX1fY2hlY2sgdGVzdHMpCitlbmRtYWNybyhSRUdSRVNTX0NIRUNL IFRBUkdFVF9OQU1FIFJFR1JFU1NfT1BUUyBSRUdSRVNTX0ZJTEVTKQorCitt YWNybyhJU09MQVRJT05fQ0hFQ0sgVEFSR0VUX05BTUUgUkVHUkVTU19PUFRT IFJFR1JFU1NfRklMRVMpCisJYWRkX2N1c3RvbV90YXJnZXQoJHtUQVJHRVRf TkFNRX1faXNvbGF0aW9uX2luc3RhbGxjaGVja190bXAKKwkJQ09NTUFORCAk e3BnX2lzb2xhdGlvbl9yZWdyZXNzX2NoZWNrfSAtLWlucHV0ZGlyPSIke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0iIC0tZGJuYW1lPSR7VEFSR0VUX05B TUV9X3JlZ3Jlc3MgJHtSRUdSRVNTX09QVFN9IC0tZGxwYXRoPSR7dG1wX2No ZWNrX2ZvbGRlcn0ke0xJQkRJUn0gJHtNQVhDT05OT1BUfSAke1RFTVBfQ09O Rn0gJHtSRUdSRVNTX0ZJTEVTfQorCQlXT1JLSU5HX0RJUkVDVE9SWSAke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKwkpCisKKwlhZGRfY3VzdG9tX3Rh cmdldCgke1RBUkdFVF9OQU1FfV9jaGVjaworCQlDT01NQU5EICR7Q01BS0Vf Q09NTUFORH0gLUUgcmVtb3ZlX2RpcmVjdG9yeSAke3RtcF9jaGVja19mb2xk ZXJ9CisJCUNPTU1BTkQgJHtjaGVja19tYWtlX2NvbW1hbmR9IGluc3RhbGwg REVTVERJUj0ke3RtcF9jaGVja19mb2xkZXJ9CisJCUNPTU1BTkQgJHtjaGVj a19tYWtlX2NvbW1hbmR9ICR7VEFSR0VUX05BTUV9X2lzb2xhdGlvbl9pbnN0 YWxsY2hlY2tfdG1wIERFU1RESVI9JHt0bXBfY2hlY2tfZm9sZGVyfQorCQlX T1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0JJTkFSWV9ESVJ9CisJKQorCUNN QUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7VEFSR0VUX05BTUV9X2lzb2xhdGlv bl9pbnN0YWxsY2hlY2tfdG1wIHRlc3RzL3RtcCkKKwlDTUFLRV9TRVRfVEFS R0VUX0ZPTERFUigke1RBUkdFVF9OQU1FfV9jaGVjayB0ZXN0cykKK2VuZG1h Y3JvKElTT0xBVElPTl9DSEVDSyBUQVJHRVRfTkFNRSBSRUdSRVNTX09QVFMg UkVHUkVTU19GSUxFUykKKworbWFjcm8oQ09OVFJJQl9SRUdSRVNTX0NIRUNL IFRBUkdFVF9OQU1FIFJFR1JFU1NfT1BUUyBSRUdSRVNTX0ZJTEVTKQorCXNl dChjb250cmliX2NoZWNrX3RhcmdldHMgJHtjb250cmliX2NoZWNrX3Rhcmdl dHN9ICR7VEFSR0VUX05BTUV9X2luc3RhbGxjaGVja190bXAgUEFSRU5UX1ND T1BFKQorCXNldChjb250cmliX2luc3RhbGxjaGVja190YXJnZXRzICR7Y29u dHJpYl9pbnN0YWxsY2hlY2tfdGFyZ2V0c30gJHtUQVJHRVRfTkFNRX1faW5z dGFsbGNoZWNrIFBBUkVOVF9TQ09QRSkKKwlSRUdSRVNTX0NIRUNLKCIke1RB UkdFVF9OQU1FfSIgIiR7UkVHUkVTU19PUFRTfSIgIiR7UkVHUkVTU19GSUxF U30iKQorZW5kbWFjcm8oQ09OVFJJQl9SRUdSRVNTX0NIRUNLIFRBUkdFVF9O QU1FIFJFR1JFU1NfT1BUUyBSRUdSRVNTX0ZJTEVTKQpkaWZmIC0tZ2l0IGEv Y21ha2UvUmVwbGFjZVB5dGhvbi5jbWFrZSBiL2NtYWtlL1JlcGxhY2VQeXRo b24uY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u Zjc2ODMwNwotLS0gL2Rldi9udWxsCisrKyBiL2NtYWtlL1JlcGxhY2VQeXRo b24uY21ha2UKQEAgLTAsMCArMSw3OSBAQAorbWFjcm8ocmVwbGFjZV9weXRo b24yIGlucHV0X2ZpbGUgb3V0cHV0X2ZpbGUpCisJZmlsZShSRUFEICR7aW5w dXRfZmlsZX0gdG1wX3N0cmluZykKKwlzdHJpbmcoUkVHRVggUkVQTEFDRQor CQkiZXhjZXB0IFwoW2EtekEtWlxcLl0qXCksICpcKFthLXpBLVpdKlwpOiIK KwkJImV4Y2VwdCBcXDEgYXMgXFwyOiIKKwkJdG1wX3N0cmluZworCQkiJHt0 bXBfc3RyaW5nfSIpCisJc3RyaW5nKFJFR0VYIFJFUExBQ0UKKwkJIjx0eXBl ICdleGNlcHRpb25zXFwuXChbYS16QS1aXSpcKSc+IiAiPGNsYXNzICdcXDEn PiIKKwkJdG1wX3N0cmluZworCQkiJHt0bXBfc3RyaW5nfSIpCisJc3RyaW5n KFJFR0VYIFJFUExBQ0UKKwkJIjx0eXBlICdsb25nJz4iICI8Y2xhc3MgJ2lu dCc+IgorCQl0bXBfc3RyaW5nCisJCSIke3RtcF9zdHJpbmd9IikKKwlzdHJp bmcoUkVHRVggUkVQTEFDRQorCQkiXChbMC05XVswLTldKlwpTCIgIlxcMSIK KwkJdG1wX3N0cmluZworCQkiJHt0bXBfc3RyaW5nfSIpCisJc3RyaW5nKFJF R0VYIFJFUExBQ0UKKwkJIlwoWyBbe11cKXVcIiIgIlxcMVwiIgorCQl0bXBf c3RyaW5nCisJCSIke3RtcF9zdHJpbmd9IikKKwlzdHJpbmcoUkVHRVggUkVQ TEFDRQorCQkiXChbIFt7XVwpdSciICJcXDEnIgorCQl0bXBfc3RyaW5nCisJ CSIke3RtcF9zdHJpbmd9IikKKwlzdHJpbmcoUkVHRVggUkVQTEFDRQorCQki ZGVmIG5leHQiICJkZWYgX19uZXh0X18iCisJCXRtcF9zdHJpbmcKKwkJIiR7 dG1wX3N0cmluZ30iKQorCXN0cmluZyhSRUdFWCBSRVBMQUNFCisJCSJMQU5H VUFHRSBwbHB5dGhvbnUiICJMQU5HVUFHRSBwbHB5dGhvbjN1IgorCQl0bXBf c3RyaW5nCisJCSIke3RtcF9zdHJpbmd9IikKKwlzdHJpbmcoUkVHRVggUkVQ TEFDRQorCQkiTEFOR1VBR0UgcGxweXRob24ydSIgIkxBTkdVQUdFIHBscHl0 aG9uM3UiCisJCXRtcF9zdHJpbmcKKwkJIiR7dG1wX3N0cmluZ30iKQorCXN0 cmluZyhSRUdFWCBSRVBMQUNFCisJCSJFWFRFTlNJT04gXChbXiBdKl9cKStw bHB5dGhvbnUiICJFWFRFTlNJT04gXFwxcGxweXRob24zdSIKKwkJdG1wX3N0 cmluZworCQkiJHt0bXBfc3RyaW5nfSIpCisJc3RyaW5nKFJFR0VYIFJFUExB Q0UKKwkJIkVYVEVOU0lPTiBwbHB5dGhvbnUiICJFWFRFTlNJT04gcGxweXRo b24zdSIKKwkJdG1wX3N0cmluZworCQkiJHt0bXBfc3RyaW5nfSIpCisJc3Ry aW5nKFJFR0VYIFJFUExBQ0UKKwkJIkVYVEVOU0lPTiBcKFteIF0qX1wpK3Bs cHl0aG9uMnUiICJFWFRFTlNJT04gXFwxcGxweXRob24zdSIKKwkJdG1wX3N0 cmluZworCQkiJHt0bXBfc3RyaW5nfSIpCisJc3RyaW5nKFJFR0VYIFJFUExB Q0UKKwkJIkVYVEVOU0lPTiBwbHB5dGhvbjJ1IiAiRVhURU5TSU9OIHBscHl0 aG9uM3UiCisJCXRtcF9zdHJpbmcKKwkJIiR7dG1wX3N0cmluZ30iKQorCXN0 cmluZyhSRUdFWCBSRVBMQUNFCisJCSJpbnN0YWxsaW5nIHJlcXVpcmVkIGV4 dGVuc2lvbiBcInBscHl0aG9uMnVcIiIKKwkJImluc3RhbGxpbmcgcmVxdWly ZWQgZXh0ZW5zaW9uIFwicGxweXRob24zdVwiIgorCQl0bXBfc3RyaW5nCisJ CSIke3RtcF9zdHJpbmd9IikKKwlmaWxlKFdSSVRFICR7b3V0cHV0X2ZpbGV9 ICIke3RtcF9zdHJpbmd9IikKK2VuZG1hY3JvKCkKKworbWFjcm8ocmVwbGFj ZV9weXRob25fZmlsZXMgcl9yZWdyZXNzX2ZpbGVzKQorCWZpbGUoTUFLRV9E SVJFQ1RPUlkgc3FsL3B5dGhvbjMgZXhwZWN0ZWQvcHl0aG9uMyByZXN1bHRz L3B5dGhvbjMpCisJc2V0KGFkaXRpb25fY2xlYW4gIiIpCisJc2V0KHJlZ3Jl c3NfZmlsZXMzICIiKQorCWZvcmVhY2gocmZpbGUgJHtyX3JlZ3Jlc3NfZmls ZXN9KQorCQlyZXBsYWNlX3B5dGhvbjIoInNxbC8ke3JmaWxlfS5zcWwiICJz cWwvcHl0aG9uMy8ke3JmaWxlfS5zcWwiKQorCQlpZihyZmlsZSBTVFJFUVVB TCAicGxweXRob25fdHlwZXMiKQorCQkJcmVwbGFjZV9weXRob24yKCJleHBl Y3RlZC9wbHB5dGhvbl90eXBlc18zLm91dCIgImV4cGVjdGVkL3B5dGhvbjMv JHtyZmlsZX0ub3V0IikKKwkJZWxzZSgpCisJCQlyZXBsYWNlX3B5dGhvbjIo ImV4cGVjdGVkLyR7cmZpbGV9Lm91dCIgImV4cGVjdGVkL3B5dGhvbjMvJHty ZmlsZX0ub3V0IikKKwkJZW5kaWYoKQorCQlzZXQoYWRpdGlvbl9jbGVhbiAi JHthZGl0aW9uX2NsZWFufTtzcWwvcHl0aG9uMy8ke3JmaWxlfS5zcWw7ZXhw ZWN0ZWQvcHl0aG9uMy8ke3JmaWxlfS5vdXQ7IikKKwkJc2V0KHJlZ3Jlc3Nf ZmlsZXMzICIke3JlZ3Jlc3NfZmlsZXMzfTtweXRob24zLyR7cmZpbGV9IikK KwllbmRmb3JlYWNoKHJmaWxlKQorCVNFVF9ESVJFQ1RPUllfUFJPUEVSVElF UyhQUk9QRVJUSUVTIEFERElUSU9OQUxfTUFLRV9DTEVBTl9GSUxFUyAiJHth ZGl0aW9uX2NsZWFufSIpCitlbmRtYWNybygpCmRpZmYgLS1naXQgYS9jb250 cmliL0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi9DTWFrZUxpc3RzLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDI1YmYwCi0t LSAvZGV2L251bGwKKysrIGIvY29udHJpYi9DTWFrZUxpc3RzLnR4dApAQCAt MCwwICsxLDExMSBAQAorc2V0KGNvbnRyaWJfbGlicyBwb3N0Z3JlcykKKwor I1RPRE86IG5lZWQgdGVzdCB1bmRlciBtaW5ndyBvciBjeWd3aW4KK2lmKFdJ TjMyKQorCXNldChjb250cmliX2xpYnMKKwkJcG9ydAorCQlwZ2NvbW1vbgor CSkKK2VuZGlmKCkKKworaWYoTVNWQyBPUiBNSU5HVykKKwlzZXQoY29udHJp Yl9saWJzCisJCXBvcnQKKwkJcG9zdGdyZXMKKwkJcGdjb21tb25fc3J2CisJ KQorZW5kaWYoKQorCitzZXQoY29udHJpYl9jaGVja190YXJnZXRzICIiKQor c2V0KGNvbnRyaWJfaW5zdGFsbGNoZWNrX3RhcmdldHMgIiIpCisKK2FkZF9z dWJkaXJlY3RvcnkoYWRtaW5wYWNrKQorYWRkX3N1YmRpcmVjdG9yeShhdXRo X2RlbGF5KQorYWRkX3N1YmRpcmVjdG9yeShhdXRvX2V4cGxhaW4pCithZGRf c3ViZGlyZWN0b3J5KGJ0cmVlX2dpbikKK2FkZF9zdWJkaXJlY3RvcnkoYnRy ZWVfZ2lzdCkKK2FkZF9zdWJkaXJlY3RvcnkoYmxvb20pCithZGRfc3ViZGly ZWN0b3J5KGNoa3Bhc3MpCithZGRfc3ViZGlyZWN0b3J5KGNpdGV4dCkKK2Fk ZF9zdWJkaXJlY3RvcnkoY3ViZSkKK2FkZF9zdWJkaXJlY3RvcnkoZGJsaW5r KQorYWRkX3N1YmRpcmVjdG9yeShkaWN0X2ludCkKK2FkZF9zdWJkaXJlY3Rv cnkoZGljdF94c3luKQorYWRkX3N1YmRpcmVjdG9yeShlYXJ0aGRpc3RhbmNl KQorYWRkX3N1YmRpcmVjdG9yeShmaWxlX2ZkdykKK2FkZF9zdWJkaXJlY3Rv cnkoZnV6enlzdHJtYXRjaCkKK2FkZF9zdWJkaXJlY3RvcnkoaHN0b3JlKQor aWYoUEVSTExJQlNfRk9VTkQpCisJYWRkX3N1YmRpcmVjdG9yeShoc3RvcmVf cGxwZXJsKQorZW5kaWYoKQoraWYoUFlUSE9OSU5URVJQX0ZPVU5EIEFORCBQ WVRIT05MSUJTX0ZPVU5EKQorCWFkZF9zdWJkaXJlY3RvcnkoaHN0b3JlX3Bs cHl0aG9uKQorZW5kaWYoKQorYWRkX3N1YmRpcmVjdG9yeShpbnRhcnJheSkK K2FkZF9zdWJkaXJlY3RvcnkoaXNuKQorYWRkX3N1YmRpcmVjdG9yeShsbykK K2FkZF9zdWJkaXJlY3RvcnkobHRyZWUpCitpZihQWVRIT05JTlRFUlBfRk9V TkQgQU5EIFBZVEhPTkxJQlNfRk9VTkQpCisJYWRkX3N1YmRpcmVjdG9yeShs dHJlZV9wbHB5dGhvbikKK2VuZGlmKCkKK2FkZF9zdWJkaXJlY3Rvcnkob2lk Mm5hbWUpCithZGRfc3ViZGlyZWN0b3J5KHBhZ2VpbnNwZWN0KQorYWRkX3N1 YmRpcmVjdG9yeShwYXNzd29yZGNoZWNrKQorYWRkX3N1YmRpcmVjdG9yeShw Z19idWZmZXJjYWNoZSkKK2FkZF9zdWJkaXJlY3RvcnkocGdfZnJlZXNwYWNl bWFwKQorYWRkX3N1YmRpcmVjdG9yeShwZ19wcmV3YXJtKQorYWRkX3N1YmRp cmVjdG9yeShwZ19zdGFuZGJ5KQorYWRkX3N1YmRpcmVjdG9yeShwZ19zdGF0 X3N0YXRlbWVudHMpCithZGRfc3ViZGlyZWN0b3J5KHBnX3RyZ20pCithZGRf c3ViZGlyZWN0b3J5KHBnX3Zpc2liaWxpdHkpCithZGRfc3ViZGlyZWN0b3J5 KHBnY3J5cHRvKQorYWRkX3N1YmRpcmVjdG9yeShwZ3Jvd2xvY2tzKQorYWRk X3N1YmRpcmVjdG9yeShwZ3N0YXR0dXBsZSkKK2FkZF9zdWJkaXJlY3Rvcnko cG9zdGdyZXNfZmR3KQorYWRkX3N1YmRpcmVjdG9yeShzZWcpCitpZihTRUxJ TlVYX0xJQlJBUklFUykKKwlhZGRfc3ViZGlyZWN0b3J5KHNlcGdzcWwpCitl bmRpZigpCithZGRfc3ViZGlyZWN0b3J5KHNwaSkKK2lmKE9QRU5TU0xfRk9V TkQpCisJYWRkX3N1YmRpcmVjdG9yeShzc2xpbmZvKQorZW5kaWYoKQorYWRk X3N1YmRpcmVjdG9yeSh0YWJsZWZ1bmMpCithZGRfc3ViZGlyZWN0b3J5KHRj bikKK2FkZF9zdWJkaXJlY3RvcnkodHNlYXJjaDIpCithZGRfc3ViZGlyZWN0 b3J5KHRzbV9zeXN0ZW1fcm93cykKK2FkZF9zdWJkaXJlY3RvcnkodHNtX3N5 c3RlbV90aW1lKQorYWRkX3N1YmRpcmVjdG9yeSh1bmFjY2VudCkKK2lmKFdJ VEhfVVVJRCkKKwlhZGRfc3ViZGlyZWN0b3J5KHV1aWQtb3NzcCkKK2VuZGlm KCkKK2FkZF9zdWJkaXJlY3RvcnkodmFjdXVtbG8pCitpZihMSUJYTUwyX0ZP VU5EKQorCWFkZF9zdWJkaXJlY3RvcnkoeG1sMikKK2VuZGlmKCkKKworYWRk X2N1c3RvbV90YXJnZXQoY29udHJpYl9jaGVjaworCUNPTU1BTkQgJHtDTUFL RV9DT01NQU5EfSAtRSByZW1vdmVfZGlyZWN0b3J5ICR7dG1wX2NoZWNrX2Zv bGRlcn0KKwlDT01NQU5EIG1ha2UgaW5zdGFsbCBERVNURElSPSR7dG1wX2No ZWNrX2ZvbGRlcn0KKwlDT01NQU5EIG1ha2UgJHtjb250cmliX2NoZWNrX3Rh cmdldHN9IERFU1RESVI9JHt0bXBfY2hlY2tfZm9sZGVyfQorCURFUEVORFMg dGFibGVzcGFjZS1zZXR1cAorCVdPUktJTkdfRElSRUNUT1JZICR7Q01BS0Vf QklOQVJZX0RJUn0KKykKKworI01ha2UgY2hhaW4gZm9yIHJ1biB0ZXN0cyBp biBzdHJpY3Qgb3JkZXIKKyNUT0RPOiB3ZSBjYW4ndCBydW4gdGVzdHMgc2Vw YXJhdGVseSBub3cKK3NldChmaXJzdF9lbGVtZW50ICIiKQorbGlzdChHRVQg Y29udHJpYl9pbnN0YWxsY2hlY2tfdGFyZ2V0cyAwIGZpcnN0X2VsZW1lbnQp CithZGRfY3VzdG9tX3RhcmdldChjb250cmliX2luc3RhbGxjaGVjaworCUNP TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSByZW1vdmVfZGlyZWN0b3J5ICR7 dG1wX2NoZWNrX2ZvbGRlcn0KKwlERVBFTkRTIHRhYmxlc3BhY2Utc2V0dXAg JHtmaXJzdF9lbGVtZW50fQorCVdPUktJTkdfRElSRUNUT1JZICR7Q01BS0Vf QklOQVJZX0RJUn0KKykKKworc2V0KGxhc3RfZWxlbWVudCBPRkYpCitmb3Jl YWNoKGxvb3BfdmFyIElOIElURU1TICR7Y29udHJpYl9pbnN0YWxsY2hlY2tf dGFyZ2V0c30pCisJaWYobGFzdF9lbGVtZW50KQorCQlhZGRfZGVwZW5kZW5j aWVzKCR7bGFzdF9lbGVtZW50fSAke2xvb3BfdmFyfSkKKwllbmRpZigpCisJ c2V0KGxhc3RfZWxlbWVudCAke2xvb3BfdmFyfSkKK2VuZGZvcmVhY2goKQpk aWZmIC0tZ2l0IGEvY29udHJpYi9hZG1pbnBhY2svQ01ha2VMaXN0cy50eHQg Yi9jb250cmliL2FkbWlucGFjay9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWY1MjUxCi0tLSAvZGV2L251 bGwKKysrIGIvY29udHJpYi9hZG1pbnBhY2svQ01ha2VMaXN0cy50eHQKQEAg LTAsMCArMSwyNyBAQAorb3B0aW9uKFBHWFMgIlNlcGFyYXRlIGJ1aWxkIiBP RkYpCitpZihQR1hTKQorCWNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lP TiAyLjgpCisJZmluZF9wYWNrYWdlKFBvc3RncmVTUUwpCisJaW5jbHVkZSgk e1Bvc3RncmVTUUxfTElCUkFSWV9ESVJTfS9jbWFrZS9QR1hTLmNtYWtlKQor ZWxzZSgpCisJaW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJD RV9ESVJ9L3NyYy9pbmNsdWRlIikKK2VuZGlmKCkKKworc2V0KGV4dGVuc2lv bl9uYW1lIGFkbWlucGFjaykKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25f bmFtZX0gTU9EVUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlu a19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9 KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBS T1BFUlRJRVMgUFJFRklYICIiKQoraWYgKE1TVkMpCisJZ2VuX2RlZigke2V4 dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkKK2lmKE5PVCBQR1hTKQorCWFkZF9k ZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCisJQ01B S0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJp YikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lvbl9uYW1l fQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJB UlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUyAke2V4 dGVuc2lvbl9uYW1lfS5jb250cm9sICR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAu c3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCisK ZGlmZiAtLWdpdCBhL2NvbnRyaWIvYXV0aF9kZWxheS9DTWFrZUxpc3RzLnR4 dCBiL2NvbnRyaWIvYXV0aF9kZWxheS9DTWFrZUxpc3RzLnR4dApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODkwMTE0Ci0tLSAvZGV2 L251bGwKKysrIGIvY29udHJpYi9hdXRoX2RlbGF5L0NNYWtlTGlzdHMudHh0 CkBAIC0wLDAgKzEsMjcgQEAKK29wdGlvbihQR1hTICJTZXBhcmF0ZSBidWls ZCIgT0ZGKQoraWYoUEdYUykKKwljbWFrZV9taW5pbXVtX3JlcXVpcmVkKFZF UlNJT04gMi44KQorCWZpbmRfcGFja2FnZShQb3N0Z3JlU1FMKQorCWluY2x1 ZGUoJHtQb3N0Z3JlU1FMX0xJQlJBUllfRElSU30vY21ha2UvUEdYUy5jbWFr ZSkKK2Vsc2UoKQorCWluY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9T T1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIpCisJaWYoT1BFTlNTTF9GT1VORCkK KwkJaW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUgJHtPUEVOU1NMX0lOQ0xV REVfRElSfSkKKwllbmRpZigpCitlbmRpZigpCisKK3NldChleHRlbnNpb25f bmFtZSBhdXRoX2RlbGF5KQorCithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9u YW1lfSBNT0RVTEUgJHtleHRlbnNpb25fbmFtZX0uYykKK3RhcmdldF9saW5r X2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30p CitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJP UEVSVElFUyBQUkVGSVggIiIpCitpZiAoTVNWQykKKwlnZW5fZGVmKCR7ZXh0 ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJYWRkX2Rl cGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykKKwlDTUFL RV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmli KQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9 CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFS WSBERVNUSU5BVElPTiAke0xJQkRJUn0pCmRpZmYgLS1naXQgYS9jb250cmli L2F1dG9fZXhwbGFpbi9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvYXV0b19l eHBsYWluL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjExY2EzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jb250 cmliL2F1dG9fZXhwbGFpbi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDE4 IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJ Un0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgYXV0b19l eHBsYWluKQorCithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RV TEUgJHtleHRlbnNpb25fbmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmll cygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFy Z2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQ UkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9 IHBvc3RncmVzKQoraWYgKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9u YW1lfSkKK2VuZGlmKCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJH RVRfRk9MREVSKCR7ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigp CitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElN RSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFU SU9OICR7TElCRElSfSkKKwpkaWZmIC0tZ2l0IGEvY29udHJpYi9ibG9vbS9D TWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvYmxvb20vQ01ha2VMaXN0cy50eHQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM0YjNmOQot LS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvYmxvb20vQ01ha2VMaXN0cy50 eHQKQEAgLTAsMCArMSwzNSBAQAorb3B0aW9uKFBHWFMgIlNlcGFyYXRlIGJ1 aWxkIiBPRkYpCitpZihQR1hTKQorCWNtYWtlX21pbmltdW1fcmVxdWlyZWQo VkVSU0lPTiAyLjgpCisJZmluZF9wYWNrYWdlKFBvc3RncmVTUUwpCisJaW5j bHVkZSgke1Bvc3RncmVTUUxfTElCUkFSWV9ESVJTfS9jbWFrZS9QR1hTLmNt YWtlKQorZWxzZSgpCisJaW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNU X1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKK2VuZGlmKCkKKworc2V0KGV4 dGVuc2lvbl9uYW1lIGJsb29tKQorCithZGRfbGlicmFyeSgke2V4dGVuc2lv bl9uYW1lfSBNT0RVTEUKKwlibGNvc3QuYworCWJsaW5zZXJ0LmMKKwlibHNj YW4uYworCWJsdXRpbHMuYworCWJsdmFjdXVtLmMKKwlibHZhbGlkYXRlLmMK KykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSAk e2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRl bnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCitpZiAoTVNWQykK KwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9U IFBHWFMpCisJYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBw b3N0Z3JlcykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lv bl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7 ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJ TkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0 YWxsKEZJTEVTICR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wgJHtleHRlbnNp b25fbmFtZX0tLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9 L2V4dGVuc2lvbikKKworQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5z aW9uX25hbWV9ICIiICJibG9vbSIpCmRpZmYgLS1naXQgYS9jb250cmliL2J0 cmVlX2dpbi9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvYnRyZWVfZ2luL0NN YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmRlNTk4ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2J0cmVl X2dpbi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDQ3IEBACitpbmNsdWRl X2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1 ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgYnRyZWVfZ2luKQorCithZGRf bGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RVTEUgJHtleHRlbnNpb25f bmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9u YW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMo JHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRf ZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYg KE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkK K2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7ZXh0 ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRBUkdF VFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAk e1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkK K2luc3RhbGwoRklMRVMgJHtleHRlbnNpb25fbmFtZX0uY29udHJvbCAke2V4 dGVuc2lvbl9uYW1lfS0tMS4wLnNxbCAke2V4dGVuc2lvbl9uYW1lfS0tdW5w YWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0v ZXh0ZW5zaW9uKQorCitzZXQocmVncmVzX2ZpbGVzCisJaW5zdGFsbF9idHJl ZV9naW4KKwlpbnQyCisJaW50NAorCWludDgKKwlmbG9hdDQKKwlmbG9hdDgK Kwltb25leQorCW9pZAorCXRpbWVzdGFtcAorCXRpbWVzdGFtcHR6CisJdGlt ZQorCXRpbWV0egorCWRhdGUKKwlpbnRlcnZhbAorCW1hY2FkZHIKKwlpbmV0 CisJY2lkcgorCXRleHQKKwl2YXJjaGFyCisJY2hhcgorCWJ5dGVhCisJYml0 CisJdmFyYml0CisJbnVtZXJpYworKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNL KCR7ZXh0ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc19maWxlc30iKQpkaWZm IC0tZ2l0IGEvY29udHJpYi9idHJlZV9naXN0L0NNYWtlTGlzdHMudHh0IGIv Y29udHJpYi9idHJlZV9naXN0L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwM2NiMGUKLS0tIC9kZXYvbnVs bAorKysgYi9jb250cmliL2J0cmVlX2dpc3QvQ01ha2VMaXN0cy50eHQKQEAg LTAsMCArMSw3NSBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNU X1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9u YW1lIGJ0cmVlX2dpc3QpCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25h bWV9IE1PRFVMRQorCSR7ZXh0ZW5zaW9uX25hbWV9LmMKKwlidHJlZV91dGls c19udW0uYworCWJ0cmVlX3V0aWxzX3Zhci5jCisJYnRyZWVfaW50Mi5jCisJ YnRyZWVfaW50NC5jCisJYnRyZWVfaW50OC5jCisJYnRyZWVfZmxvYXQ0LmMK KwlidHJlZV9mbG9hdDguYworCWJ0cmVlX2Nhc2guYworCWJ0cmVlX29pZC5j CisJYnRyZWVfdHMuYworCWJ0cmVlX3RpbWUuYworCWJ0cmVlX2RhdGUuYwor CWJ0cmVlX2ludGVydmFsLmMKKwlidHJlZV9tYWNhZGRyLmMKKwlidHJlZV9p bmV0LmMKKwlidHJlZV90ZXh0LmMKKwlidHJlZV9ieXRlYS5jCisJYnRyZWVf Yml0LmMKKwlidHJlZV9udW1lcmljLmMKKykKK3RhcmdldF9saW5rX2xpYnJh cmllcygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRf dGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElF UyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25h bWV9IHBvc3RncmVzKQoraWYgKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lv bl9uYW1lfSkKK2VuZGlmKCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9U QVJHRVRfRk9MREVSKCR7ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRp ZigpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVO VElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJ TkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVuc2lv bl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMi5zcWwK Kwkke2V4dGVuc2lvbl9uYW1lfS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNp b25fbmFtZX0tLTEuMC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11 bnBhY2thZ2VkLS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElS fS9leHRlbnNpb24pCisKKworc2V0KHJlZ3Jlc19maWxlcworCWluaXQKKwlp bnQyCisJaW50NAorCWludDgKKwlmbG9hdDQKKwlmbG9hdDgKKwljYXNoCisJ b2lkCisJdGltZXN0YW1wCisJdGltZXN0YW1wdHoKKwl0aW1lCisJdGltZXR6 CisJZGF0ZQorCWludGVydmFsCisJbWFjYWRkcgorCWluZXQKKwljaWRyCisJ dGV4dAorCXZhcmNoYXIKKwljaGFyCisJYnl0ZWEKKwliaXQKKwl2YXJiaXQK KwludW1lcmljCisJbm90X2VxdWFsCispCitDT05UUklCX1JFR1JFU1NfQ0hF Q0soJHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzX2ZpbGVzfSIpCmRp ZmYgLS1naXQgYS9jb250cmliL2Noa3Bhc3MvQ01ha2VMaXN0cy50eHQgYi9j b250cmliL2Noa3Bhc3MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNjE1MWIwZQotLS0gL2Rldi9udWxsCisr KyBiL2NvbnRyaWIvY2hrcGFzcy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsx LDIyIEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNF X0RJUn0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgY2hr cGFzcykKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxF ICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMo JHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQoraWYoQ1JZUFRf TElCKQorCXRhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1l fSAke0NSWVBUX0xJQn0pCitlbmRpZigpCitzZXRfdGFyZ2V0X3Byb3BlcnRp ZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCith ZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQor aWYgKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlm KCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7 ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRB UkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElP TiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElS fSkKK2luc3RhbGwoRklMRVMgJHtleHRlbnNpb25fbmFtZX0uY29udHJvbCAk e2V4dGVuc2lvbl9uYW1lfS0tMS4wLnNxbCAke2V4dGVuc2lvbl9uYW1lfS0t dW5wYWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJ Un0vZXh0ZW5zaW9uKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQvQ01h a2VMaXN0cy50eHQgYi9jb250cmliL2NpdGV4dC9DTWFrZUxpc3RzLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTBlYjBlCi0t LSAvZGV2L251bGwKKysrIGIvY29udHJpYi9jaXRleHQvQ01ha2VMaXN0cy50 eHQKQEAgLTAsMCArMSwyOCBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVu c2lvbl9uYW1lIGNpdGV4dCkKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25f bmFtZX0gTU9EVUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlu a19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9 KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBS T1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVu c2lvbl9uYW1lfSBwb3N0Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtl eHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFL RV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmli KQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9 CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFS WSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtl eHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0x LjQuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMy0tMS40LnNxbAorCSR7 ZXh0ZW5zaW9uX25hbWV9LS0xLjItLTEuMy5zcWwKKwkke2V4dGVuc2lvbl9u YW1lfS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC0t MS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2VkLS0xLjAu c3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCisK K0NPTlRSSUJfUkVHUkVTU19DSEVDSygke2V4dGVuc2lvbl9uYW1lfSAiIiAi Y2l0ZXh0IikKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3ViZS9DTWFrZUxpc3Rz LnR4dCBiL2NvbnRyaWIvY3ViZS9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmFmZGVhCi0tLSAvZGV2L251 bGwKKysrIGIvY29udHJpYi9jdWJlL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAg KzEsMzQgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSBj dWJlKQorCitiaXNvbl90YXJnZXQoQ1VCRV9QQVJTRVIgY3ViZXBhcnNlLnkg JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2N1YmVwYXJzZS5jKQorZmxl eF90YXJnZXQoQ1VCRV9TQ0FOTkVSIGN1YmVzY2FuLmwgICR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9jdWJlc2Nhbi5jKQorYWRkX2ZsZXhfYmlzb25f ZGVwZW5kZW5jeShDVUJFX1NDQU5ORVIgQ1VCRV9QQVJTRVIpCitzZXRfc291 cmNlX2ZpbGVzX3Byb3BlcnRpZXMoJHtCSVNPTl9DVUJFX1BBUlNFUl9PVVRQ VVRTfSBQUk9QRVJUSUVTIE9CSkVDVF9ERVBFTkRTICR7RkxFWF9DVUJFX1ND QU5ORVJfT1VUUFVUU30pCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25h bWV9IE1PRFVMRQorCSR7ZXh0ZW5zaW9uX25hbWV9LmMKKwkke0JJU09OX0NV QkVfUEFSU0VSX09VVFBVVFN9CispCit0YXJnZXRfbGlua19saWJyYXJpZXMo JHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3Rhcmdl dF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJF RklYICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBw b3N0Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFt ZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VU X0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQor aW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUg REVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElP TiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFt ZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjIuc3FsCisJJHtl eHRlbnNpb25fbmFtZX0tLTEuMS0tMS4yLnNxbAorCSR7ZXh0ZW5zaW9uX25h bWV9LS0xLjAtLTEuMS5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tdW5wYWNr YWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0 ZW5zaW9uKQorCitDT05UUklCX1JFR1JFU1NfQ0hFQ0soJHtleHRlbnNpb25f bmFtZX0gIiIgImN1YmUiKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9kYmxpbmsv Q01ha2VMaXN0cy50eHQgYi9jb250cmliL2RibGluay9DTWFrZUxpc3RzLnR4 dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTUwN2M0 Ci0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9kYmxpbmsvQ01ha2VMaXN0 cy50eHQKQEAgLTAsMCArMSwzMCBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygK KwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIgorCSIke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMvbGlicHEiCispCisK K3NldChleHRlbnNpb25fbmFtZSBkYmxpbmspCisKK2FkZF9saWJyYXJ5KCR7 ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQor dGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29u dHJpYl9saWJzfSBwcSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVu c2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRl bmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZiAoTVNWQykK KwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9U IFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25f bmFtZX0gY29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4 dGVuc2lvbl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5E SVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFs bChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVu c2lvbl9uYW1lfS0tMS4yLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjEt LTEuMi5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4wLS0xLjEuc3FsCisJ JHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNU SU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jl c3NfZmlsZXMgcGF0aHMgZGJsaW5rKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNL KCR7ZXh0ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlm ZiAtLWdpdCBhL2NvbnRyaWIvZGljdF9pbnQvQ01ha2VMaXN0cy50eHQgYi9j b250cmliL2RpY3RfaW50L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMzRkNDcKLS0tIC9kZXYvbnVsbAor KysgYi9jb250cmliL2RpY3RfaW50L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAg KzEsMjUgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSBk aWN0X2ludCkKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9E VUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJp ZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3Rh cmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMg UFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1l fSBwb3N0Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25f bmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFS R0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYo KQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJ TUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5B VElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25f bmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3FsCisJ JHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNU SU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jl c3NfZmlsZXMgZGljdF9pbnQpCitDT05UUklCX1JFR1JFU1NfQ0hFQ0soJHtl eHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19maWxlc30iKQpkaWZmIC0t Z2l0IGEvY29udHJpYi9kaWN0X3hzeW4vQ01ha2VMaXN0cy50eHQgYi9jb250 cmliL2RpY3RfeHN5bi9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5mODMzNWI2Ci0tLSAvZGV2L251bGwKKysr IGIvY29udHJpYi9kaWN0X3hzeW4vQ01ha2VMaXN0cy50eHQKQEAgLTAsMCAr MSwyOCBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJD RV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9uYW1lIGRp Y3RfeHN5bikKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9E VUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJp ZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3Rh cmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMg UFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1l fSBwb3N0Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25f bmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFS R0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYo KQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJ TUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5B VElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25f bmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3FsCisJ JHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNU SU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKK2luc3RhbGwoRklM RVMKKwl4c3luX3NhbXBsZS5ydWxlcworCURFU1RJTkFUSU9OICR7UEdTSEFS RURJUn0vdHNlYXJjaF9kYXRhKQorCitzZXQocmVncmVzc19maWxlcyBkaWN0 X3hzeW4pCitDT05UUklCX1JFR1JFU1NfQ0hFQ0soJHtleHRlbnNpb25fbmFt ZX0gIiIgIiR7cmVncmVzc19maWxlc30iKQpkaWZmIC0tZ2l0IGEvY29udHJp Yi9lYXJ0aGRpc3RhbmNlL0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi9lYXJ0 aGRpc3RhbmNlL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmI0YjQzODEKLS0tIC9kZXYvbnVsbAorKysgYi9j b250cmliL2VhcnRoZGlzdGFuY2UvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCAr MSwyNiBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJD RV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9uYW1lIGVh cnRoZGlzdGFuY2UpCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9 IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQordGFyZ2V0X2xpbmtfbGli cmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJpYl9saWJzfSkKK3Nl dF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJU SUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25f bmFtZX0gcG9zdGdyZXMpCitpZiAoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5z aW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VU X1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJpYikKK2Vu ZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lvbl9uYW1lfQorCQlS VU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVT VElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5z aW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4xLnNx bAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAtLTEuMS5zcWwKKwkke2V4dGVu c2lvbl9uYW1lfS0tdW5wYWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9O ICR7UEdTSEFSRURJUn0vZXh0ZW5zaW9uKQorCitzZXQocmVncmVzc19maWxl cyBlYXJ0aGRpc3RhbmNlKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0 ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAtLWdp dCBhL2NvbnRyaWIvZmlsZV9mZHcvQ01ha2VMaXN0cy50eHQgYi9jb250cmli L2ZpbGVfZmR3L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjkzYzM1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9j b250cmliL2ZpbGVfZmR3L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjQg QEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElS fS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSBmaWxlX2Zk dykKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7 ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtl eHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9w cm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklY ICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0 Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0p CitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZP TERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5z dGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVT VElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAk e0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0u Y29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3FsCisJREVTVElO QVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCisKK3NldChyZWdyZXNz X2ZpbGVzIGZpbGVfZmR3KQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0 ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAtLWdp dCBhL2NvbnRyaWIvZnV6enlzdHJtYXRjaC9DTWFrZUxpc3RzLnR4dCBiL2Nv bnRyaWIvZnV6enlzdHJtYXRjaC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTIxNzYzCi0tLSAvZGV2L251 bGwKKysrIGIvY29udHJpYi9mdXp6eXN0cm1hdGNoL0NNYWtlTGlzdHMudHh0 CkBAIC0wLDAgKzEsMjMgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNp b25fbmFtZSBmdXp6eXN0cm1hdGNoKQorCithZGRfbGlicmFyeSgke2V4dGVu c2lvbl9uYW1lfSBNT0RVTEUgJHtleHRlbnNpb25fbmFtZX0uYyBkbWV0YXBo b25lLmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFt ZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7 ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2Rl cGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykKK2lmIChN U1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitp ZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVu c2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRT ICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQ R0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitp bnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7 ZXh0ZW5zaW9uX25hbWV9LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0t LTEuMC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2Vk LS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNp b24pCmRpZmYgLS1naXQgYS9jb250cmliL2hzdG9yZS9DTWFrZUxpc3RzLnR4 dCBiL2NvbnRyaWIvaHN0b3JlL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NmUxOTMKLS0tIC9kZXYvbnVs bAorKysgYi9jb250cmliL2hzdG9yZS9DTWFrZUxpc3RzLnR4dApAQCAtMCww ICsxLDM4IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09V UkNFX0RJUn0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUg aHN0b3JlKQorCithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RV TEUKKwloc3RvcmVfaW8uYworCWhzdG9yZV9vcC5jCisJaHN0b3JlX2dpc3Qu YworCWhzdG9yZV9naW4uYworCWhzdG9yZV9jb21wYXQuYworKQordGFyZ2V0 X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJpYl9s aWJzfSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1l fSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtl eHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZiAoTVNWQykKKwlnZW5fZGVm KCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTUlOR1cpCisJc2V0 X3RhcmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJ RVMgTElOS19GTEFHUyAtV2wsLS1vdXQtaW1wbGliPWxpYm1pbiR7ZXh0ZW5z aW9uX25hbWV9LmRsbC5hKQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJQ01B S0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJp YikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lvbl9uYW1l fQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJB UlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCSR7 ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9uYW1lfS0t MS40LnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAtLTEuMS5zcWwKKwkk e2V4dGVuc2lvbl9uYW1lfS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNpb25f bmFtZX0tLTEuMi0tMS4zLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjMt LTEuNC5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tdW5wYWNrYWdlZC0tMS4w LnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0ZW5zaW9uKQor CitzZXQocmVncmVzc19maWxlcyBoc3RvcmUpCitDT05UUklCX1JFR1JFU1Nf Q0hFQ0soJHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19maWxlc30i KQpkaWZmIC0tZ2l0IGEvY29udHJpYi9oc3RvcmVfcGxwZXJsL0NNYWtlTGlz dHMudHh0IGIvY29udHJpYi9oc3RvcmVfcGxwZXJsL0NNYWtlTGlzdHMudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNzM4ZWQK LS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2hzdG9yZV9wbHBlcmwvQ01h a2VMaXN0cy50eHQKQEAgLTAsMCArMSwzOCBAQAoraW5jbHVkZV9kaXJlY3Rv cmllcygKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIgor CSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3BsL3BscGVybCIKKwkiJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L2NvbnRyaWIvaHN0b3JlIgorCSR7UEVSTF9J TkNMVURFX1BBVEh9CispCisKK2lmKE1JTkdXKQorCWxpbmtfZGlyZWN0b3Jp ZXMoIiR7UFJPSkVDVF9CSU5BUllfRElSfS9jb250cmliL2hzdG9yZSIpCitl bmRpZigpCitzZXQoZXh0ZW5zaW9uX25hbWUgaHN0b3JlX3BscGVybCkKKwor YWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5z aW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNp b25fbmFtZX0gJHtjb250cmliX2xpYnN9ICR7UEVSTF9MSUJSQVJZfSAke1BF UkxfTERGTEFHU30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNp b25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5j aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYgKE1TVkMpCisJ Z2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkKK2lmKE1JTkdX KQorCXRhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSBt aW5oc3RvcmUpCisJdGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoJHtleHRl bnNpb25fbmFtZX0gUFJJVkFURSAtRFBMUEVSTF9IQVZFX1VJRF9HSUQpCitl bmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERF Uigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFs bChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElO QVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJ QkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29u dHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3FsCisJJHtleHRlbnNp b25fbmFtZX11LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9uYW1lfXUtLTEuMC5z cWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKwor c2V0KHJlZ3Jlc3NfZmlsZXMgaHN0b3JlX3BscGVybCkKK0NPTlRSSUJfUkVH UkVTU19DSEVDSygke2V4dGVuc2lvbl9uYW1lfSAiIiAiJHtyZWdyZXNzX2Zp bGVzfSIpCmRpZmYgLS1naXQgYS9jb250cmliL2hzdG9yZV9wbHB5dGhvbi9D TWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvaHN0b3JlX3BscHl0aG9uL0NNYWtl TGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmZhNjcwMDEKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2hzdG9yZV9w bHB5dGhvbi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDU3IEBACitpbmNs dWRlX2RpcmVjdG9yaWVzKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2luY2x1ZGUiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvcGwvcGxw eXRob24iCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jb250cmliL2hzdG9y ZSIKKwkke1BZVEhPTl9JTkNMVURFX0RJUlN9CispCisKK2lmKE1JTkdXKQor CWxpbmtfZGlyZWN0b3JpZXMoCisJCSIke1BST0pFQ1RfQklOQVJZX0RJUn0v Y29udHJpYi9oc3RvcmUiCisJCSIke1BST0pFQ1RfQklOQVJZX0RJUn0vc3Jj L3BsL3BscHl0aG9uIgorCSkKK2VuZGlmKCkKKworc2V0KGV4dGVuc2lvbl9u YW1lIGhzdG9yZV9wbHB5dGhvbikKKworYWRkX2xpYnJhcnkoJHtleHRlbnNp b25fbmFtZX0ke1BZVEhPTl9WRVJTSU9OX01BSk9SfSBNT0RVTEUgJHtleHRl bnNpb25fbmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVu c2lvbl9uYW1lfSR7UFlUSE9OX1ZFUlNJT05fTUFKT1J9ICR7Y29udHJpYl9s aWJzfSAke1BZVEhPTl9MSUJSQVJJRVN9KQorc2V0X3RhcmdldF9wcm9wZXJ0 aWVzKCR7ZXh0ZW5zaW9uX25hbWV9JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0g UFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0 ZW5zaW9uX25hbWV9JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0gcG9zdGdyZXMp CitpZiAoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5k aWYoKQoraWYoTUlOR1cpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0 ZW5zaW9uX25hbWV9JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0gbWluaHN0b3Jl IG1pbnBscHl0aG9uJHtQWVRIT05fVkVSU0lPTl9NQUpPUn0pCitlbmRpZigp CitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4 dGVuc2lvbl9uYW1lfSR7UFlUSE9OX1ZFUlNJT05fTUFKT1J9IGNvbnRyaWIp CitlbmRpZigpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0k e1BZVEhPTl9WRVJTSU9OX01BSk9SfQorCQlSVU5USU1FIERFU1RJTkFUSU9O ICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9 KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9dS5jb250cm9s CisJJHtleHRlbnNpb25fbmFtZX11LS0xLjAuc3FsCisJJHtleHRlbnNpb25f bmFtZX0ydS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0ydS0tMS4wLnNx bAorCSR7ZXh0ZW5zaW9uX25hbWV9M3UuY29udHJvbAorCSR7ZXh0ZW5zaW9u X25hbWV9M3UtLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9 L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jlc3NfZmlsZXMgaHN0b3JlX3BscHl0 aG9uKQorCitpZihQWVRIT05fVkVSU0lPTl9NQUpPUiBFUVVBTCAzKQorCXJl cGxhY2VfcHl0aG9uX2ZpbGVzKCIke3JlZ3Jlc3NfZmlsZXN9IikKKwlzZXQo cmVncmVzc19vcHRpb25zCisJCSItLWxvYWQtZXh0ZW5zaW9uPWhzdG9yZSIK KwkpCisJQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9uX25hbWV9 ICIke3JlZ3Jlc3Nfb3B0aW9uc30iICIke3JlZ3Jlc3NfZmlsZXMzfSIpCitl bHNlKCkKKwlzZXQocmVncmVzc19vcHRpb25zCisJCSItLWxvYWQtZXh0ZW5z aW9uPWhzdG9yZSIKKwkJIi0tbG9hZC1leHRlbnNpb249cGxweXRob251Igor CQkiLS1sb2FkLWV4dGVuc2lvbj1oc3RvcmVfcGxweXRob251IgorCSkKKwlD T05UUklCX1JFR1JFU1NfQ0hFQ0soJHtleHRlbnNpb25fbmFtZX0gIiR7cmVn cmVzc19vcHRpb25zfSIgIiR7cmVncmVzc19maWxlc30iKQorZW5kaWYoKQpk aWZmIC0tZ2l0IGEvY29udHJpYi9pbnRhcnJheS9DTWFrZUxpc3RzLnR4dCBi L2NvbnRyaWIvaW50YXJyYXkvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTViZWU4MAotLS0gL2Rldi9udWxs CisrKyBiL2NvbnRyaWIvaW50YXJyYXkvQ01ha2VMaXN0cy50eHQKQEAgLTAs MCArMSwzNiBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NP VVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9uYW1l IGludGFycmF5KQorc2V0KGV4dGVuc2lvbl9saWJfbmFtZSBfaW50KQorCith ZGRfbGlicmFyeSgke2V4dGVuc2lvbl9saWJfbmFtZX0gTU9EVUxFCisJX2lu dF9ib29sLmMKKwlfaW50X2dpc3QuYworCV9pbnRfb3AuYworCV9pbnRfdG9v bC5jCisJX2ludGJpZ19naXN0LmMKKwlfaW50X2dpbi5jCisJX2ludF9zZWxm dW5jcy5jCispCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25f bGliX25hbWV9ICR7Y29udHJpYl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVy dGllcygke2V4dGVuc2lvbl9saWJfbmFtZX0gUFJPUEVSVElFUyBQUkVGSVgg IiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX2xpYl9uYW1lfSBw b3N0Z3JlcykKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbGli X25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RB UkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlm KCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lvbl9saWJfbmFtZX0KKwkJ UlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERF U1RJTkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVu c2lvbl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMi5z cWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4wLS0xLjEuc3FsCisJJHtleHRl bnNpb25fbmFtZX0tLTEuMS0tMS4yLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9 LS11bnBhY2thZ2VkLS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJF RElSfS9leHRlbnNpb24pCisKK3NldChyZWdyZXNzX2ZpbGVzICR7ZXh0ZW5z aW9uX2xpYl9uYW1lfSkKK0NPTlRSSUJfUkVHUkVTU19DSEVDSygke2V4dGVu c2lvbl9uYW1lfSAiIiAiJHtyZWdyZXNzX2ZpbGVzfSIpCmRpZmYgLS1naXQg YS9jb250cmliL2lzbi9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvaXNuL0NN YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjllMTkzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2lzbi9D TWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDI2IEBACitpbmNsdWRlX2RpcmVj dG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiKQor CitzZXQoZXh0ZW5zaW9uX25hbWUgaXNuKQorCithZGRfbGlicmFyeSgke2V4 dGVuc2lvbl9uYW1lfSBNT0RVTEUgJHtleHRlbnNpb25fbmFtZX0uYykKK3Rh cmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRy aWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25f bmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVz KCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYgKE1TVkMpCisJZ2Vu X2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkKK2lmKE5PVCBQR1hT KQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7ZXh0ZW5zaW9uX25hbWV9 IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNp b25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQor CQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklM RVMKKwkke2V4dGVuc2lvbl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25f bmFtZX0tLTEuMS5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4wLS0xLjEu c3FsCisJJHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwK KwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0 KHJlZ3Jlc3NfZmlsZXMgaXNuKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7 ZXh0ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAt LWdpdCBhL2NvbnRyaWIvbG8vQ01ha2VMaXN0cy50eHQgYi9jb250cmliL2xv L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjBjN2FhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2xv L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjMgQEAKK2luY2x1ZGVfZGly ZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIp CisKK3NldChleHRlbnNpb25fbmFtZSBsbykKKworYWRkX2xpYnJhcnkoJHtl eHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0 YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250 cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9u X25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2ll cygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykKK2lmIChNU1ZDKQorCWdl bl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdY UykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1l fSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5z aW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0K KwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJ TEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9u X25hbWV9LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC0tMS4x LnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2VkLS0xLjAuc3Fs CisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCmRpZmYg LS1naXQgYS9jb250cmliL2x0cmVlL0NNYWtlTGlzdHMudHh0IGIvY29udHJp Yi9sdHJlZS9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5lMDk3ODM5Ci0tLSAvZGV2L251bGwKKysrIGIvY29u dHJpYi9sdHJlZS9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDM3IEBACitp bmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgbHRyZWUpCithZGRf ZGVmaW5pdGlvbnMoLURMT1dFUl9OT0RFKQorCithZGRfbGlicmFyeSgke2V4 dGVuc2lvbl9uYW1lfSBNT0RVTEUKKwlsdHJlZV9pby5jCisJbHRyZWVfb3Au YworCWxxdWVyeV9vcC5jCisJX2x0cmVlX29wLmMKKwljcmMzMi5jCisJbHR4 dHF1ZXJ5X2lvLmMKKwlsdHh0cXVlcnlfb3AuYworCWx0cmVlX2dpc3QuYwor CV9sdHJlZV9naXN0LmMKKykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4 dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0X3By b3BlcnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVgg IiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3Rn cmVzKQoraWYgKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkK K2VuZGlmKCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9M REVSKCR7ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0 YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNU SU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7 TElCRElSfSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVuc2lvbl9uYW1lfS5j b250cm9sCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMS5zcWwKKwkke2V4dGVu c2lvbl9uYW1lfS0tMS4wLS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0t LXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVE SVJ9L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jlc3NfZmlsZXMgbHRyZWUpCitD T05UUklCX1JFR1JFU1NfQ0hFQ0soJHtleHRlbnNpb25fbmFtZX0gIiIgIiR7 cmVncmVzc19maWxlc30iKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9sdHJlZV9w bHB5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvbHRyZWVfcGxweXRo b24vQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZGQ5NjBhYQotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIv bHRyZWVfcGxweXRob24vQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw0OSBA QAoraW5jbHVkZV9kaXJlY3RvcmllcygKKwkiJHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYy9pbmNsdWRlIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L3BsL3BscHl0aG9uIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vY29udHJp Yi9sdHJlZSIKKwkke1BZVEhPTl9JTkNMVURFX0RJUlN9CispCisKK3NldChl eHRlbnNpb25fbmFtZSBsdHJlZV9wbHB5dGhvbikKKworYWRkX2xpYnJhcnko JHtleHRlbnNpb25fbmFtZX0ke1BZVEhPTl9WRVJTSU9OX01BSk9SfSBNT0RV TEUgJHtleHRlbnNpb25fbmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmll cygke2V4dGVuc2lvbl9uYW1lfSR7UFlUSE9OX1ZFUlNJT05fTUFKT1J9ICR7 Y29udHJpYl9saWJzfSAke1BZVEhPTl9MSUJSQVJJRVN9KQorc2V0X3Rhcmdl dF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9JHtQWVRIT05fVkVSU0lP Tl9NQUpPUn0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5j aWVzKCR7ZXh0ZW5zaW9uX25hbWV9JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0g cG9zdGdyZXMgbHRyZWUpCitpZiAoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5z aW9uX25hbWV9JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0pCitlbmRpZigpCitp ZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVu c2lvbl9uYW1lfSR7UFlUSE9OX1ZFUlNJT05fTUFKT1J9IGNvbnRyaWIpCitl bmRpZigpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0ke1BZ VEhPTl9WRVJTSU9OX01BSk9SfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7 UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQor aW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9dS5jb250cm9sCisJ JHtleHRlbnNpb25fbmFtZX11LS0xLjAuc3FsCisJJHtleHRlbnNpb25fbmFt ZX0ydS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0ydS0tMS4wLnNxbAor CSR7ZXh0ZW5zaW9uX25hbWV9M3UuY29udHJvbAorCSR7ZXh0ZW5zaW9uX25h bWV9M3UtLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4 dGVuc2lvbikKKworc2V0KHJlZ3Jlc3NfZmlsZXMgbHRyZWVfcGxweXRob24p CisKKworaWYoUFlUSE9OX1ZFUlNJT05fTUFKT1IgRVFVQUwgMykKKwlyZXBs YWNlX3B5dGhvbl9maWxlcygiJHtyZWdyZXNzX2ZpbGVzfSIpCisJc2V0KHJl Z3Jlc3Nfb3B0aW9ucworCQkiLS1sb2FkLWV4dGVuc2lvbj1sdHJlZSIKKwkp CisJQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9uX25hbWV9ICIk e3JlZ3Jlc3Nfb3B0aW9uc30iICIke3JlZ3Jlc3NfZmlsZXMzfSIpCitlbHNl KCkKKwlzZXQocmVncmVzc19vcHRpb25zCisJCSItLWxvYWQtZXh0ZW5zaW9u PWhzdG9yZSIKKwkJIi0tbG9hZC1leHRlbnNpb249cGxweXRob251IgorCQki LS1sb2FkLWV4dGVuc2lvbj1sdHJlZSIKKwkJIi0tbG9hZC1leHRlbnNpb249 bHRyZWVfcGxweXRob251IgorCSkKKwlDT05UUklCX1JFR1JFU1NfQ0hFQ0so JHtleHRlbnNpb25fbmFtZX0gIiR7cmVncmVzc19vcHRpb25zfSIgIiR7cmVn cmVzc19maWxlc30iKQorZW5kaWYoKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9v aWQybmFtZS9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvb2lkMm5hbWUvQ01h a2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uM2YxY2VmZAotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvb2lkMm5h bWUvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNSBAQAoraW5jbHVkZV9k aXJlY3RvcmllcygKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNs dWRlIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMv bGlicHEiCispCisKK3NldChleHRlbnNpb25fbmFtZSBvaWQybmFtZSkKKwor YWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5z aW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNp b25fbmFtZX0gJHtjb250cmliX2xpYnN9KQoraWYoTVNWQykKKwlnZW5fZGVm KCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQorCitpZihNU1ZDIE9SIE1J TkdXKQorCXRhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1l fSBwZ2NvbW1vbiBwcSkKK2VuZGlmKCkKKworaWYoTk9UIFBHWFMpCisJQ01B S0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJp YikKK2VuZGlmKCkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lv bl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNp ZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpbnN0YWxsKFRBUkdF VFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAk e1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkK ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGFnZWluc3BlY3QvQ01ha2VMaXN0cy50 eHQgYi9jb250cmliL3BhZ2VpbnNwZWN0L0NNYWtlTGlzdHMudHh0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5OTcxODQKLS0tIC9k ZXYvbnVsbAorKysgYi9jb250cmliL3BhZ2VpbnNwZWN0L0NNYWtlTGlzdHMu dHh0CkBAIC0wLDAgKzEsMzQgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRl bnNpb25fbmFtZSBwYWdlaW5zcGVjdCkKKworYWRkX2xpYnJhcnkoJHtleHRl bnNpb25fbmFtZX0gTU9EVUxFCisJcmF3cGFnZS5jCisJaGVhcGZ1bmNzLmMK KwlidHJlZWZ1bmNzLmMKKwlmc21mdW5jcy5jCisJYnJpbmZ1bmNzLmMKKwln aW5mdW5jcy5jCispCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNp b25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0 aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIiKQor YWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykK K2lmKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlm KCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7 ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRB UkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElP TiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElS fSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVuc2lvbl9uYW1lfS5jb250cm9s CisJJHtleHRlbnNpb25fbmFtZX0tLTEuNS5zcWwKKwkke2V4dGVuc2lvbl9u YW1lfS0tMS40LS0xLjUuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMy0t MS40LnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjItLTEuMy5zcWwKKwkk e2V4dGVuc2lvbl9uYW1lfS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNpb25f bmFtZX0tLTEuMC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBh Y2thZ2VkLS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9l eHRlbnNpb24pCmRpZmYgLS1naXQgYS9jb250cmliL3Bhc3N3b3JkY2hlY2sv Q01ha2VMaXN0cy50eHQgYi9jb250cmliL3Bhc3N3b3JkY2hlY2svQ01ha2VM aXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NDY4ZTRlOAotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvcGFzc3dvcmRj aGVjay9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDE3IEBACitpbmNsdWRl X2RpcmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1 ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgcGFzc3dvcmRjaGVjaykKKwor YWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5z aW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNp b25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0 aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIiKQor YWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykK K2lmKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlm KCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7 ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRB UkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElP TiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElS fSkKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfYnVmZmVyY2FjaGUvQ01ha2VM aXN0cy50eHQgYi9jb250cmliL3BnX2J1ZmZlcmNhY2hlL0NNYWtlTGlzdHMu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhOTk3 MjgKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3BnX2J1ZmZlcmNhY2hl L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjQgQEAKK2luY2x1ZGVfZGly ZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIp CisKK3NldChleHRlbnNpb25fbmFtZSBwZ19idWZmZXJjYWNoZSkKKworYWRk X2xpYnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5zaW9u X25hbWV9X3BhZ2VzLmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRl bnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9w ZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIi KQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3Jl cykKK2lmKE1TVkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2Vu ZGlmKCkKK2lmKE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVS KCR7ZXh0ZW5zaW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxs KFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5B VElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElC RElSfSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVuc2lvbl9uYW1lfS5jb250 cm9sCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMi5zcWwKKwkke2V4dGVuc2lv bl9uYW1lfS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEu MC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2VkLS0x LjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24p CmRpZmYgLS1naXQgYS9jb250cmliL3BnX2ZyZWVzcGFjZW1hcC9DTWFrZUxp c3RzLnR4dCBiL2NvbnRyaWIvcGdfZnJlZXNwYWNlbWFwL0NNYWtlTGlzdHMu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNDVk ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3BnX2ZyZWVzcGFjZW1h cC9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDIzIEBACitpbmNsdWRlX2Rp cmVjdG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUi KQorCitzZXQoZXh0ZW5zaW9uX25hbWUgcGdfZnJlZXNwYWNlbWFwKQorCith ZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RVTEUgJHtleHRlbnNp b25fbmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lv bl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3BlcnRp ZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCith ZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQor aWYoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYo KQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtl eHRlbnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFS R0VUUyAke2V4dGVuc2lvbl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9O ICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9 KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wK Kwkke2V4dGVuc2lvbl9uYW1lfS0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25h bWV9LS0xLjAtLTEuMS5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tdW5wYWNr YWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0 ZW5zaW9uKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19wcmV3YXJtL0NNYWtl TGlzdHMudHh0IGIvY29udHJpYi9wZ19wcmV3YXJtL0NNYWtlTGlzdHMudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMThhYmQK LS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3BnX3ByZXdhcm0vQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSwyMiBAQAoraW5jbHVkZV9kaXJlY3Rvcmll cygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0 KGV4dGVuc2lvbl9uYW1lIHBnX3ByZXdhcm0pCisKK2FkZF9saWJyYXJ5KCR7 ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQor dGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29u dHJpYl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lv bl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNp ZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZihNU1ZDKQorCWdl bl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdY UykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1l fSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5z aW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0K KwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJ TEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9u X25hbWV9LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC0tMS4x LnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0ZW5zaW9uKQpk aWZmIC0tZ2l0IGEvY29udHJpYi9wZ19zdGFuZGJ5L0NNYWtlTGlzdHMudHh0 IGIvY29udHJpYi9wZ19zdGFuZGJ5L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MzA1ZTkKLS0tIC9kZXYv bnVsbAorKysgYi9jb250cmliL3BnX3N0YW5kYnkvQ01ha2VMaXN0cy50eHQK QEAgLTAsMCArMSwxNCBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9K RUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lv bl9uYW1lIHBnX3N0YW5kYnkpCisKK2FkZF9leGVjdXRhYmxlKCR7ZXh0ZW5z aW9uX25hbWV9ICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19s aWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9ydCBwZ2NvbW1vbiBwcSkK K3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9Q RVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNp b25fbmFtZX0gcG9zdGdyZXMpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRf VEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5k aWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJV TlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNU SU5BVElPTiAke0xJQkRJUn0pCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0 YXRfc3RhdGVtZW50cy9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvcGdfc3Rh dF9zdGF0ZW1lbnRzL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmVjNjg5MWYKLS0tIC9kZXYvbnVsbAorKysg Yi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9DTWFrZUxpc3RzLnR4dApA QCAtMCwwICsxLDI2IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pF Q1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9u X25hbWUgcGdfc3RhdF9zdGF0ZW1lbnRzKQorCithZGRfbGlicmFyeSgke2V4 dGVuc2lvbl9uYW1lfSBNT0RVTEUgJHtleHRlbnNpb25fbmFtZX0uYykKK3Rh cmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRy aWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25f bmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVz KCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYoTVNWQykKKwlnZW5f ZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMp CisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0g Y29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lv bl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJ CUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxF UworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9u YW1lfS0tMS40LnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjMtLTEuNC5z cWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4yLS0xLjMuc3FsCisJJHtleHRl bnNpb25fbmFtZX0tLTEuMS0tMS4yLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9 LS0xLjAtLTEuMS5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tdW5wYWNrYWdl ZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0ZW5z aW9uKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ190cmdtL0NNYWtlTGlzdHMu dHh0IGIvY29udHJpYi9wZ190cmdtL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYmY5YjAKLS0tIC9kZXYv bnVsbAorKysgYi9jb250cmliL3BnX3RyZ20vQ01ha2VMaXN0cy50eHQKQEAg LTAsMCArMSwzMyBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNU X1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9u YW1lIHBnX3RyZ20pCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9 IE1PRFVMRQorCXRyZ21fb3AuYworCXRyZ21fZ2lzdC5jCisJdHJnbV9naW4u YworCXRyZ21fcmVnZXhwLmMKKykKK3RhcmdldF9saW5rX2xpYnJhcmllcygk e2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0 X3Byb3BlcnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVG SVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBv c3RncmVzKQoraWYoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9 KQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9G T0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlmKCkKK2lu c3RhbGwoVEFSR0VUUyAke2V4dGVuc2lvbl9uYW1lfQorCQlSVU5USU1FIERF U1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04g JHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9 LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4zLnNxbAorCSR7ZXh0 ZW5zaW9uX25hbWV9LS0xLjItLTEuMy5zcWwKKwkke2V4dGVuc2lvbl9uYW1l fS0tMS4xLS0xLjIuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC0tMS4x LnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2VkLS0xLjAuc3Fs CisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCisKK3Nl dChyZWdyZXNzX2ZpbGVzIHBnX3RyZ20gcGdfd29yZF90cmdtKQorQ09OVFJJ Ql9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jl c3NfZmlsZXN9IikKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfdmlzaWJpbGl0 eS9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvcGdfdmlzaWJpbGl0eS9DTWFr ZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5iYzhkYjgxCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9wZ192aXNp YmlsaXR5L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjIgQEAKK2luY2x1 ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5j bHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSBwZ192aXNpYmlsaXR5KQor CithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RVTEUgJHtleHRl bnNpb25fbmFtZX0uYykKK3RhcmdldF9saW5rX2xpYnJhcmllcygke2V4dGVu c2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30pCitzZXRfdGFyZ2V0X3Byb3Bl cnRpZXMoJHtleHRlbnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIp CithZGRfZGVwZW5kZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVz KQoraWYoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5k aWYoKQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIo JHtleHRlbnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwo VEFSR0VUUyAke2V4dGVuc2lvbl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFU SU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJE SVJ9KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRy b2wKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9u X25hbWV9LS0xLjAtLTEuMS5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVE SVJ9L2V4dGVuc2lvbikKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdjcnlwdG8v Q01ha2VMaXN0cy50eHQgYi9jb250cmliL3BnY3J5cHRvL0NNYWtlTGlzdHMu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YmZh YmQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3BnY3J5cHRvL0NNYWtl TGlzdHMudHh0CkBAIC0wLDAgKzEsMTMzIEBACitpbmNsdWRlX2RpcmVjdG9y aWVzKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiCisp CitpZihaTElCX0ZPVU5EKQorCWluY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JF ICR7WkxJQl9JTkNMVURFX0RJUlN9KQorZW5kaWYoKQorCitzZXQoZXh0ZW5z aW9uX25hbWUgcGdjcnlwdG8pCisKK3NldChwZ2NyeXB0b19zcmMKKwlwZ2Ny eXB0by5jCisJcHguYworCXB4LWhtYWMuYworCXB4LWNyeXB0LmMKKwljcnlw dC1nZW5zYWx0LmMKKwljcnlwdC1ibG93ZmlzaC5jCisJY3J5cHQtZGVzLmMK KwljcnlwdC1tZDUuYworCW1idWYuYworCXBncC5jCisJcGdwLWFybW9yLmMK KwlwZ3AtY2ZiLmMKKwlwZ3AtY29tcHJlc3MuYworCXBncC1kZWNyeXB0LmMK KwlwZ3AtZW5jcnlwdC5jCisJcGdwLWluZm8uYworCXBncC1tcGkuYworCXBn cC1wdWJkZWMuYworCXBncC1wdWJlbmMuYworCXBncC1wdWJrZXkuYworCXBn cC1zMmsuYworCXBncC1wZ3NxbC5jCispCisKK3NldChyZWdyZXNzX2ZpbGVz CisJaW5pdAorCW1kNQorCXNoYTEKKwlobWFjLW1kNQorCWhtYWMtc2hhMQor CWJsb3dmaXNoCisJcmlqbmRhZWwKKwljcnlwdC1kZXMKKwljcnlwdC1tZDUK KwljcnlwdC1ibG93ZmlzaAorCWNyeXB0LXhkZXMKKwlwZ3AtYXJtb3IKKwlw Z3AtZGVjcnlwdAorCXBncC1lbmNyeXB0CisJcGdwLXB1YmtleS1kZWNyeXB0 CisJcGdwLXB1YmtleS1lbmNyeXB0CisJcGdwLWluZm8KKykKKworaWYoT1BF TlNTTF9GT1VORCkKKwlpbmNsdWRlX2RpcmVjdG9yaWVzKEJFRk9SRSAke09Q RU5TU0xfSU5DTFVERV9ESVJ9KQorCXNldChwZ2NyeXB0b19zcmMgJHtwZ2Ny eXB0b19zcmN9IG9wZW5zc2wuYyBwZ3AtbXBpLW9wZW5zc2wuYykKKwlzZXQo cmVncmVzc19maWxlcyAke3JlZ3Jlc3NfZmlsZXN9CisJCXNoYTIKKwkJZGVz CisJCTNkZXMKKwkJY2FzdDUKKwkpCitlbHNlKCkKKwlhZGRfZXhlY3V0YWJs ZShnZW4tcnRhYiByaWpuZGFlbC5jKQorCXRhcmdldF9jb21waWxlX2RlZmlu aXRpb25zKGdlbi1ydGFiIFBSSVZBVEUgLURQUklOVF9UQUJTKQorCisJYWRk X2N1c3RvbV9jb21tYW5kKAorCQlERVBFTkRTIGdlbi1ydGFiCisJCU9VVFBV VCAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcmlqbmRhZWwudGJsCisJ CUNPTU1BTkQgZ2VuLXJ0YWIgPiByaWpuZGFlbC50YmwKKwkJV09SS0lOR19E SVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9CisJKQorCisJ c2V0KHBnY3J5cHRvX3NyYyAke3BnY3J5cHRvX3NyY30KKwkJbWQ1LmMKKwkJ c2hhMS5jCisJCXNoYTIuYworCQlpbnRlcm5hbC5jCisJCWludGVybmFsLXNo YTIuYworCQlibGYuYworCQlyaWpuZGFlbC50YmwKKwkJcmlqbmRhZWwuYwor CQlmb3J0dW5hLmMKKwkJcmFuZG9tLmMKKwkJcGdwLW1waS1pbnRlcm5hbC5j CisJCWltYXRoLmMKKwkpCisJc2V0KHJlZ3Jlc3NfZmlsZXMgJHtyZWdyZXNz X2ZpbGVzfSBzaGEyKQorZW5kaWYoKQorCitpZihaTElCX0ZPVU5EKQorCXNl dChyZWdyZXNzX2ZpbGVzICR7cmVncmVzc19maWxlc30gcGdwLWNvbXByZXNz aW9uKQorZW5kaWYoKQorCithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1l fSBNT0RVTEUgJHtwZ2NyeXB0b19zcmN9KQordGFyZ2V0X2xpbmtfbGlicmFy aWVzKCR7ZXh0ZW5zaW9uX25hbWV9CisJJHtjb250cmliX2xpYnN9CispCitp ZihPUEVOU1NMX0ZPVU5EKQorCXRhcmdldF9saW5rX2xpYnJhcmllcygke2V4 dGVuc2lvbl9uYW1lfSAke09QRU5TU0xfTElCUkFSSUVTfSkKK2VuZGlmKCkK K2lmKENSWVBUX0xJQikKKwl0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRl bnNpb25fbmFtZX0gJHtDUllQVF9MSUJ9KQorZW5kaWYoKQoraWYoWkxJQl9G T1VORCkKKwl0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFt ZX0gJHtaTElCX0xJQlJBUklFU30pCitlbmRpZigpCitpZihXSU4zMikKKwl0 YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gd3MyXzMy KQorZW5kaWYoKQoraWYoTVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25h bWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RBUkdF VF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlmKCkK K3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9Q RVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNp b25fbmFtZX0gcG9zdGdyZXMpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNp b25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQor CQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklM RVMKKwkke2V4dGVuc2lvbl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25f bmFtZX0tLTEuMy5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4wLS0xLjEu c3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMS0tMS4yLnNxbAorCSR7ZXh0 ZW5zaW9uX25hbWV9LS0xLjItLTEuMy5zcWwKKwkke2V4dGVuc2lvbl9uYW1l fS0tdW5wYWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFS RURJUn0vZXh0ZW5zaW9uKQorCisKK0NPTlRSSUJfUkVHUkVTU19DSEVDSygk e2V4dGVuc2lvbl9uYW1lfSAiIiAiJHtyZWdyZXNzX2ZpbGVzfSIpCmRpZmYg LS1naXQgYS9jb250cmliL3BnY3J5cHRvL3Jpam5kYWVsLmMgYi9jb250cmli L3BnY3J5cHRvL3Jpam5kYWVsLmMKaW5kZXggNGFkYmNjMS4uYWY3Yjg3YyAx MDA2NDQKLS0tIGEvY29udHJpYi9wZ2NyeXB0by9yaWpuZGFlbC5jCisrKyBi L2NvbnRyaWIvcGdjcnlwdG8vcmlqbmRhZWwuYwpAQCAtNzgsOCArNzgsOSBA QCBzdGF0aWMgdm9pZCBnZW5fdGFicyh2b2lkKTsKICNlbmRpZgogCiAjaWZk ZWYgUFJFX0NBTENfVEFCTEVTCi0KLSNpbmNsdWRlICJyaWpuZGFlbC50Ymwi CisvKiBXUkFQX0lOQ0xVREUgZm9yIHJlbW92ZSBDTWFrZSBjaXJjdWxhciBk ZXBlbmRlbmN5ICovCisjZGVmaW5lIFdSQVBfSU5DTFVERSh4KSB4CisjaW5j bHVkZSBXUkFQX0lOQ0xVREUoInJpam5kYWVsLnRibCIpCiAjZGVmaW5lIHRh Yl9nZW4JCTEKICNlbHNlCQkJCQkJCS8qICFQUkVfQ0FMQ19UQUJMRVMgKi8K IApkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ2NyeXB0by9yaWpuZGFlbC50Ymwg Yi9jb250cmliL3BnY3J5cHRvL3Jpam5kYWVsLnRibAppbmRleCBjNzYxMGMw Li5iYzBhMzgyIDEwMDY0NAotLS0gYS9jb250cmliL3BnY3J5cHRvL3Jpam5k YWVsLnRibAorKysgYi9jb250cmliL3BnY3J5cHRvL3Jpam5kYWVsLnRibApA QCAtMTEzMyw2ICsxMTMzLDcgQEAgc3RhdGljIGNvbnN0IHU0Ynl0ZSAgaWxf dGFiWzRdWzI1Nl0gPSB7CiB9OwogCiBzdGF0aWMgY29uc3QgdTRieXRlIHJj b190YWJbMTBdID0gewotICAweDAwMDAwMDAxLCAweDAwMDAwMDAyLCAweDAw MDAwMDA0LCAweDAwMDAwMDA4LCAweDAwMDAwMDEwLAorICAweDAwMDAwMDAx LCAweDAwMDAwMDAyLCAweDAwMDAwMDA0LCAweDAwMDAwMDA4LCAweDAwMDAw MDEwLCAKICAgMHgwMDAwMDAyMCwgMHgwMDAwMDA0MCwgMHgwMDAwMDA4MCwg MHgwMDAwMDAxYiwgMHgwMDAwMDAzNgogfTsKKwpkaWZmIC0tZ2l0IGEvY29u dHJpYi9wZ3Jvd2xvY2tzL0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi9wZ3Jv d2xvY2tzL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmFiMjk0Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9jb250 cmliL3Bncm93bG9ja3MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNCBA QAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlIikKKworc2V0KGV4dGVuc2lvbl9uYW1lIHBncm93bG9j a3MpCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAk e2V4dGVuc2lvbl9uYW1lfS5jKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7 ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJpYl9saWJzfSkKK3NldF90YXJnZXRf cHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJ WCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9z dGdyZXMpCitpZihNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0p CitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZP TERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5z dGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVT VElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAk e0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0u Y29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjIuc3FsCisJJHtleHRl bnNpb25fbmFtZX0tLTEuMC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9 LS0xLjEtLTEuMi5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tdW5wYWNrYWdl ZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0ZW5z aW9uKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ3N0YXR0dXBsZS9DTWFrZUxp c3RzLnR4dCBiL2NvbnRyaWIvcGdzdGF0dHVwbGUvQ01ha2VMaXN0cy50eHQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYwY2FjNAot LS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvcGdzdGF0dHVwbGUvQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSwzMyBAQAoraW5jbHVkZV9kaXJlY3Rvcmll cygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKworc2V0 KGV4dGVuc2lvbl9uYW1lIHBnc3RhdHR1cGxlKQorCithZGRfbGlicmFyeSgk e2V4dGVuc2lvbl9uYW1lfSBNT0RVTEUKKwkke2V4dGVuc2lvbl9uYW1lfS5j CisJcGdzdGF0aW5kZXguYworCXBnc3RhdGFwcHJveC5jCispCit0YXJnZXRf bGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xp YnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7ZXh0ZW5zaW9uX25hbWV9 IFBST1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4 dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykKK2lmKE1TVkMpCisJZ2VuX2RlZigk e2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkKK2lmKE5PVCBQR1hTKQorCUNN QUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7ZXh0ZW5zaW9uX25hbWV9IGNvbnRy aWIpCitlbmRpZigpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFt ZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJS QVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklMRVMKKwkk e2V4dGVuc2lvbl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0t LTEuNC5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4zLS0xLjQuc3FsCisJ JHtleHRlbnNpb25fbmFtZX0tLTEuMi0tMS4zLnNxbAorCSR7ZXh0ZW5zaW9u X25hbWV9LS0xLjEtLTEuMi5zcWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4w LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEu MC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikK Kworc2V0KHJlZ3Jlc3NfZmlsZXMgcGdzdGF0dHVwbGUpCitDT05UUklCX1JF R1JFU1NfQ0hFQ0soJHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19m aWxlc30iKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvQ01h a2VMaXN0cy50eHQgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9DTWFrZUxpc3Rz LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjI0 M2ZmCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcv Q01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwzMyBAQAoraW5jbHVkZV9kaXJl Y3RvcmllcygKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRl IgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMvbGli cHEiCispCisKK3NldChleHRlbnNpb25fbmFtZSBwb3N0Z3Jlc19mZHcpCisK K2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRQorCSR7ZXh0 ZW5zaW9uX25hbWV9LmMKKwlvcHRpb24uYworCWRlcGFyc2UuYworCWNvbm5l Y3Rpb24uYworCXNoaXBwYWJsZS5jCispCit0YXJnZXRfbGlua19saWJyYXJp ZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9IHBxKQoraWYo TVNWQykKKwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQor aWYoTk9UIFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRl bnNpb25fbmFtZX0gY29udHJpYikKK2VuZGlmKCkKK3NldF90YXJnZXRfcHJv cGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAi IikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdy ZXMpCitpbnN0YWxsKFRBUkdFVFMgJHtleHRlbnNpb25fbmFtZX0KKwkJUlVO VElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZIERFU1RJ TkFUSU9OICR7TElCRElSfSkKK2luc3RhbGwoRklMRVMKKwkke2V4dGVuc2lv bl9uYW1lfS5jb250cm9sCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC5zcWwK KwlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0 KHJlZ3Jlc3NfZmlsZXMgcG9zdGdyZXNfZmR3KQorQ09OVFJJQl9SRUdSRVNT X0NIRUNLKCR7ZXh0ZW5zaW9uX25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9 IikKZGlmZiAtLWdpdCBhL2NvbnRyaWIvc2VnL0NNYWtlTGlzdHMudHh0IGIv Y29udHJpYi9zZWcvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZDQ2NDg1MQotLS0gL2Rldi9udWxsCisrKyBi L2NvbnRyaWIvc2VnL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMzQgQEAK K2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSBzZWcpCisKK2Jp c29uX3RhcmdldChDVUJFX1BBUlNFUiBzZWdwYXJzZS55ICR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9zZWdwYXJzZS5jKQorZmxleF90YXJnZXQoQ1VC RV9TQ0FOTkVSIHNlZ3NjYW4ubCAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9L3NlZ3NjYW4uYykKK2FkZF9mbGV4X2Jpc29uX2RlcGVuZGVuY3koQ1VC RV9TQ0FOTkVSIENVQkVfUEFSU0VSKQorc2V0X3NvdXJjZV9maWxlc19wcm9w ZXJ0aWVzKCR7QklTT05fQ1VCRV9QQVJTRVJfT1VUUFVUU30gUFJPUEVSVElF UyBPQkpFQ1RfREVQRU5EUyAke0ZMRVhfQ1VCRV9TQ0FOTkVSX09VVFBVVFN9 KQorCithZGRfbGlicmFyeSgke2V4dGVuc2lvbl9uYW1lfSBNT0RVTEUKKwkk e2V4dGVuc2lvbl9uYW1lfS5jCisJJHtCSVNPTl9DVUJFX1BBUlNFUl9PVVRQ VVRTfQorKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25h bWV9ICR7Y29udHJpYl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVydGllcygk e2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9k ZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZihN U1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitp ZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVu c2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRT ICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQ R0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitp bnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7 ZXh0ZW5zaW9uX25hbWV9LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0t LTEuMC0tMS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2Vk LS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNp b24pCisKK3NldChyZWdyZXNzX2ZpbGVzIHNlZykKK0NPTlRSSUJfUkVHUkVT U19DSEVDSygke2V4dGVuc2lvbl9uYW1lfSAiIiAiJHtyZWdyZXNzX2ZpbGVz fSIpCmRpZmYgLS1naXQgYS9jb250cmliL3NlcGdzcWwvQ01ha2VMaXN0cy50 eHQgYi9jb250cmliL3NlcGdzcWwvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ0Yzc4YwotLS0gL2Rldi9u dWxsCisrKyBiL2NvbnRyaWIvc2VwZ3NxbC9DTWFrZUxpc3RzLnR4dApAQCAt MCwwICsxLDQ1IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25h bWUgc2VwZ3NxbCkKKworc2V0KHNlcGdzcWxfc3FsX291dHB1dAorCSR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9zZXBnc3FsLnNxbAorKQorCithZGRf Y3VzdG9tX2NvbW1hbmQoCisJTUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9zZXBnc3FsLnNxbC5pbgorCU9VVFBVVCAke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc2VwZ3NxbC5zcWwKKwlDT01NQU5E IHNlZCAncyxNT0RVTEVfUEFUSE5BTUUsJCRsaWJkaXIvJHtleHRlbnNpb25f bmFtZX0sZycgc2VwZ3NxbC5zcWwuaW4gPiAke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0vc2VwZ3NxbC5zcWwKKwlXT1JLSU5HX0RJUkVDVE9SWSAke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKykKKworYWRkX2xpYnJhcnkoJHtl eHRlbnNpb25fbmFtZX0gTU9EVUxFCisJaG9va3MuYworCXNlbGludXguYwor CXVhdmMuYworCWxhYmVsLmMKKwlkbWwuYworCWRhdGFiYXNlLmMKKwlzY2hl bWEuYworCXJlbGF0aW9uLmMKKwlwcm9jLmMKKwkke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0vc2VwZ3NxbC5zcWwKKykKK3RhcmdldF9saW5rX2xpYnJh cmllcygke2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30gJHtTRUxJ TlVYX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRl bnNpb25fbmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5k ZW5jaWVzKCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYoTVNWQykK KwlnZW5fZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9U IFBHWFMpCisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25f bmFtZX0gY29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4 dGVuc2lvbl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5E SVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFs bChGSUxFUworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9zZXBnc3Fs LnNxbAorCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vY29udHJpYikKKwor I3NldChyZWdyZXNzX2ZpbGVzIHNlZykKKyNDT05UUklCX1JFR1JFU1NfQ0hF Q0soJHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19maWxlc30iKQpk aWZmIC0tZ2l0IGEvY29udHJpYi9zcGkvQ01ha2VMaXN0cy50eHQgYi9jb250 cmliL3NwaS9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi40OWJjNWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvY29u dHJpYi9zcGkvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyOSBAQAoraW5j bHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9p bmNsdWRlIikKKworCitzZXQobW9kdWxlc19saXN0IAorCWF1dG9pbmMKKwlp bnNlcnRfdXNlcm5hbWUKKwltb2RkYXRldGltZQorCXJlZmludAorCXRpbWV0 cmF2ZWwKKykKKworZm9yZWFjaChsb29wX3ZhciBJTiBJVEVNUyAke21vZHVs ZXNfbGlzdH0pCisJYWRkX2xpYnJhcnkoJHtsb29wX3Zhcn0gTU9EVUxFICR7 bG9vcF92YXJ9LmMpCisJdGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoJHts b29wX3Zhcn0gUFJJVkFURSAtRFJFRklOVF9WRVJCT1NFKQorCXRhcmdldF9s aW5rX2xpYnJhcmllcygke2xvb3BfdmFyfSAke2NvbnRyaWJfbGlic30pCisJ c2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7bG9vcF92YXJ9IFBST1BFUlRJRVMg UFJFRklYICIiKQorCWFkZF9kZXBlbmRlbmNpZXMoJHtsb29wX3Zhcn0gcG9z dGdyZXMpCisJaWYoTVNWQykKKwkJZ2VuX2RlZigke2xvb3BfdmFyfSkKKwll bmRpZigpCisJaWYoTk9UIFBHWFMpCisJCUNNQUtFX1NFVF9UQVJHRVRfRk9M REVSKCR7bG9vcF92YXJ9IGNvbnRyaWIvc3BpKQorCWVuZGlmKCkKKwlpbnN0 YWxsKFRBUkdFVFMgJHtsb29wX3Zhcn0KKwkJCVJVTlRJTUUgREVTVElOQVRJ T04gJHtQR0JJTkRJUn0KKwkJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJE SVJ9KQorCWluc3RhbGwoRklMRVMgJHtsb29wX3Zhcn0uY29udHJvbCAke2xv b3BfdmFyfS0tMS4wLnNxbCAke2xvb3BfdmFyfS0tdW5wYWNrYWdlZC0tMS4w LnNxbAorCQlERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikK K2VuZGZvcmVhY2gobG9vcF92YXIpCmRpZmYgLS1naXQgYS9jb250cmliL3Nz bGluZm8vQ01ha2VMaXN0cy50eHQgYi9jb250cmliL3NzbGluZm8vQ01ha2VM aXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NjBkMGE3NwotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvc3NsaW5mby9D TWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDMwIEBACitpbmNsdWRlX2RpcmVj dG9yaWVzKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUi CisJJHtPUEVOU1NMX0lOQ0xVREVfRElSfQorKQorCitzZXQoZXh0ZW5zaW9u X25hbWUgc3NsaW5mbykKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbmFt ZX0gTU9EVUxFICR7ZXh0ZW5zaW9uX25hbWV9LmMpCit0YXJnZXRfbGlua19s aWJyYXJpZXMoJHtleHRlbnNpb25fbmFtZX0gJHtjb250cmliX2xpYnN9ICR7 T1BFTlNTTF9MSUJSQVJJRVN9KQoraWYoQ1JZUFRfTElCKQorCXRhcmdldF9s aW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9uYW1lfSAke0NSWVBUX0xJQn0p CitlbmRpZigpCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25f bmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVz KCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYoTVNWQykKKwlnZW5f ZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMp CisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0g Y29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lv bl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJ CUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxF UworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9u YW1lfS0tMS4yLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjEtLTEuMi5z cWwKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4wLS0xLjEuc3FsCisJJHtleHRl bnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNUSU5BVElP TiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKZGlmZiAtLWdpdCBhL2NvbnRy aWIvdGFibGVmdW5jL0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi90YWJsZWZ1 bmMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMWMxNTUwZAotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIv dGFibGVmdW5jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjUgQEAKK2lu Y2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv aW5jbHVkZSIpCisKK3NldChleHRlbnNpb25fbmFtZSB0YWJsZWZ1bmMpCisK K2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVu c2lvbl9uYW1lfS5jKQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5z aW9uX25hbWV9ICR7Y29udHJpYl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVy dGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikK K2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMp CitpZihNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRp ZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigk e2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChU QVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJ T04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJ Un0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJv bAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3FsCisJJHtleHRlbnNpb25f bmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BH U0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jlc3NfZmlsZXMgdGFi bGVmdW5jKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9uX25h bWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAtLWdpdCBhL2NvbnRy aWIvdGNuL0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi90Y24vQ01ha2VMaXN0 cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcy NzNhOAotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvdGNuL0NNYWtlTGlz dHMudHh0CkBAIC0wLDAgKzEsMjEgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMo IiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChl eHRlbnNpb25fbmFtZSB0Y24pCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9u X25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQordGFyZ2V0X2xp bmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJpYl9saWJz fSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQ Uk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRl bnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZihNU1ZDKQorCWdlbl9kZWYoJHtl eHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFL RV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmli KQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9 CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFS WSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtl eHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0x LjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24p CmRpZmYgLS1naXQgYS9jb250cmliL3RzZWFyY2gyL0NNYWtlTGlzdHMudHh0 IGIvY29udHJpYi90c2VhcmNoMi9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWU3OTJjCi0tLSAvZGV2L251 bGwKKysrIGIvY29udHJpYi90c2VhcmNoMi9DTWFrZUxpc3RzLnR4dApAQCAt MCwwICsxLDI1IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKCIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiKQorCitzZXQoZXh0ZW5zaW9uX25h bWUgdHNlYXJjaDIpCisKK2FkZF9saWJyYXJ5KCR7ZXh0ZW5zaW9uX25hbWV9 IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQordGFyZ2V0X2xpbmtfbGli cmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJpYl9saWJzfSkKK3Nl dF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJU SUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25f bmFtZX0gcG9zdGdyZXMpCitpZihNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNp b25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRf VEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5k aWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJV TlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNU SU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVTCisJJHtleHRlbnNp b25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAuc3Fs CisJJHtleHRlbnNpb25fbmFtZX0tLXVucGFja2FnZWQtLTEuMC5zcWwKKwlE RVNUSU5BVElPTiAke1BHU0hBUkVESVJ9L2V4dGVuc2lvbikKKworc2V0KHJl Z3Jlc3NfZmlsZXMgdHNlYXJjaDIpCitDT05UUklCX1JFR1JFU1NfQ0hFQ0so JHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19maWxlc30iKQpkaWZm IC0tZ2l0IGEvY29udHJpYi90c21fc3lzdGVtX3Jvd3MvQ01ha2VMaXN0cy50 eHQgYi9jb250cmliL3RzbV9zeXN0ZW1fcm93cy9DTWFrZUxpc3RzLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzRiMDE4Ci0t LSAvZGV2L251bGwKKysrIGIvY29udHJpYi90c21fc3lzdGVtX3Jvd3MvQ01h a2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNCBAQAoraW5jbHVkZV9kaXJlY3Rv cmllcygiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKKwor c2V0KGV4dGVuc2lvbl9uYW1lIHRzbV9zeXN0ZW1fcm93cykKKworYWRkX2xp YnJhcnkoJHtleHRlbnNpb25fbmFtZX0gTU9EVUxFICR7ZXh0ZW5zaW9uX25h bWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25fbmFt ZX0gJHtjb250cmliX2xpYnN9KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7 ZXh0ZW5zaW9uX25hbWV9IFBST1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2Rl cGVuZGVuY2llcygke2V4dGVuc2lvbl9uYW1lfSBwb3N0Z3JlcykKK2lmKE1T VkMpCisJZ2VuX2RlZigke2V4dGVuc2lvbl9uYW1lfSkKK2VuZGlmKCkKK2lm KE5PVCBQR1hTKQorCUNNQUtFX1NFVF9UQVJHRVRfRk9MREVSKCR7ZXh0ZW5z aW9uX25hbWV9IGNvbnRyaWIpCitlbmRpZigpCitpbnN0YWxsKFRBUkdFVFMg JHtleHRlbnNpb25fbmFtZX0KKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BH QklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKK2lu c3RhbGwoRklMRVMKKwkke2V4dGVuc2lvbl9uYW1lfS5jb250cm9sCisJJHtl eHRlbnNpb25fbmFtZX0tLTEuMC5zcWwKKwlERVNUSU5BVElPTiAke1BHU0hB UkVESVJ9L2V4dGVuc2lvbikKKworc2V0KHJlZ3Jlc3NfZmlsZXMgdHNtX3N5 c3RlbV9yb3dzKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9u X25hbWV9ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvdHNtX3N5c3RlbV90aW1lL0NNYWtlTGlzdHMudHh0IGIvY29udHJp Yi90c21fc3lzdGVtX3RpbWUvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcyM2UxYQotLS0gL2Rldi9udWxs CisrKyBiL2NvbnRyaWIvdHNtX3N5c3RlbV90aW1lL0NNYWtlTGlzdHMudHh0 CkBAIC0wLDAgKzEsMjQgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZSIpCisKK3NldChleHRlbnNp b25fbmFtZSB0c21fc3lzdGVtX3RpbWUpCisKK2FkZF9saWJyYXJ5KCR7ZXh0 ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5jKQordGFy Z2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7Y29udHJp Yl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVuc2lvbl9u YW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMo JHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZihNU1ZDKQorCWdlbl9k ZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykK KwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBj b250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9u X25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJ TElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxsKEZJTEVT CisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5zaW9uX25h bWV9LS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRl bnNpb24pCisKK3NldChyZWdyZXNzX2ZpbGVzIHRzbV9zeXN0ZW1fdGltZSkK K0NPTlRSSUJfUkVHUkVTU19DSEVDSygke2V4dGVuc2lvbl9uYW1lfSAiIiAi JHtyZWdyZXNzX2ZpbGVzfSIpCmRpZmYgLS1naXQgYS9jb250cmliL3VuYWNj ZW50L0NNYWtlTGlzdHMudHh0IGIvY29udHJpYi91bmFjY2VudC9DTWFrZUxp c3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i ZTZmYTcwCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi91bmFjY2VudC9D TWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDI5IEBACitpbmNsdWRlX2RpcmVj dG9yaWVzKCIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUiKQor CitzZXQoZXh0ZW5zaW9uX25hbWUgdW5hY2NlbnQpCisKK2FkZF9saWJyYXJ5 KCR7ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5j KQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7ZXh0ZW5zaW9uX25hbWV9ICR7 Y29udHJpYl9saWJzfSkKK3NldF90YXJnZXRfcHJvcGVydGllcygke2V4dGVu c2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRl bmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitpZihNU1ZDKQor CWdlbl9kZWYoJHtleHRlbnNpb25fbmFtZX0pCitlbmRpZigpCitpZihOT1Qg UEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVuc2lvbl9u YW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRTICR7ZXh0 ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJ Un0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCitpbnN0YWxs KEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0uY29udHJvbAorCSR7ZXh0ZW5z aW9uX25hbWV9LS0xLjEuc3FsCisJJHtleHRlbnNpb25fbmFtZX0tLTEuMC0t MS4xLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2VkLS0xLjAu c3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCitp bnN0YWxsKEZJTEVTCisJJHtleHRlbnNpb25fbmFtZX0ucnVsZXMKKwlERVNU SU5BVElPTiAke1BHU0hBUkVESVJ9L3RzZWFyY2hfZGF0YSkKKworc2V0KHJl Z3Jlc3NfZmlsZXMgdW5hY2NlbnQpCitDT05UUklCX1JFR1JFU1NfQ0hFQ0so JHtleHRlbnNpb25fbmFtZX0gIiIgIiR7cmVncmVzc19maWxlc30iKQpkaWZm IC0tZ2l0IGEvY29udHJpYi91dWlkLW9zc3AvQ01ha2VMaXN0cy50eHQgYi9j b250cmliL3V1aWQtb3NzcC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODg2ZjBmCi0tLSAvZGV2L251bGwK KysrIGIvY29udHJpYi91dWlkLW9zc3AvQ01ha2VMaXN0cy50eHQKQEAgLTAs MCArMSwyNyBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygiJHtQUk9KRUNUX1NP VVJDRV9ESVJ9L3NyYy9pbmNsdWRlIikKK2luY2x1ZGVfZGlyZWN0b3JpZXMo JHtMSUJVVUlEX0lOQ0xVREVfRElSU30pCitpbmNsdWRlX2RpcmVjdG9yaWVz KCIke1BST0pFQ1RfU09VUkNFX0RJUn0vY29udHJpYi9wZ2NyeXB0byIpCisK K3NldChleHRlbnNpb25fbmFtZSB1dWlkLW9zc3ApCisKK2FkZF9saWJyYXJ5 KCR7ZXh0ZW5zaW9uX25hbWV9IE1PRFVMRSAke2V4dGVuc2lvbl9uYW1lfS5j ICR7VVVJRF9FWFRSQV9PQkpTfSkKK3RhcmdldF9saW5rX2xpYnJhcmllcygk e2V4dGVuc2lvbl9uYW1lfSAke2NvbnRyaWJfbGlic30gJHtMSUJVVUlEX0xJ QlJBUklFU30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtleHRlbnNpb25f bmFtZX0gUFJPUEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVz KCR7ZXh0ZW5zaW9uX25hbWV9IHBvc3RncmVzKQoraWYoTVNWQykKKwlnZW5f ZGVmKCR7ZXh0ZW5zaW9uX25hbWV9KQorZW5kaWYoKQoraWYoTk9UIFBHWFMp CisJQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIoJHtleHRlbnNpb25fbmFtZX0g Y29udHJpYikKK2VuZGlmKCkKK2luc3RhbGwoVEFSR0VUUyAke2V4dGVuc2lv bl9uYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJ CUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxF UworCSR7ZXh0ZW5zaW9uX25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9u YW1lfS0tMS4wLnNxbAorCSR7ZXh0ZW5zaW9uX25hbWV9LS11bnBhY2thZ2Vk LS0xLjAuc3FsCisJREVTVElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNp b24pCisKK3NldChyZWdyZXNzX2ZpbGVzIHV1aWRfb3NzcCkKK0NPTlRSSUJf UkVHUkVTU19DSEVDSygke2V4dGVuc2lvbl9uYW1lfSAiIiAiJHtyZWdyZXNz X2ZpbGVzfSIpCmRpZmYgLS1naXQgYS9jb250cmliL3V1aWQtb3NzcC91dWlk LW9zc3AuYyBiL2NvbnRyaWIvdXVpZC1vc3NwL3V1aWQtb3NzcC5jCmluZGV4 IDNlMTJiYzQuLjM5YmY2ODUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdXVpZC1v c3NwL3V1aWQtb3NzcC5jCisrKyBiL2NvbnRyaWIvdXVpZC1vc3NwL3V1aWQt b3NzcC5jCkBAIC0yNiwxNSArMjYsNyBAQAogICovCiAjZGVmaW5lIHV1aWRf aGFzaCBic2RfdXVpZF9oYXNoCiAKLSNpZmRlZiBIQVZFX1VVSURfSAogI2lu Y2x1ZGUgPHV1aWQuaD4KLSNlbmRpZgotI2lmZGVmIEhBVkVfT1NTUF9VVUlE X0gKLSNpbmNsdWRlIDxvc3NwL3V1aWQuaD4KLSNlbmRpZgotI2lmZGVmIEhB VkVfVVVJRF9VVUlEX0gKLSNpbmNsdWRlIDx1dWlkL3V1aWQuaD4KLSNlbmRp ZgogCiAjdW5kZWYgdXVpZF9oYXNoCiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIv dmFjdXVtbG8vQ01ha2VMaXN0cy50eHQgYi9jb250cmliL3ZhY3V1bWxvL0NN YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmU3YjA0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3ZhY3V1 bWxvL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMTcgQEAKK2luY2x1ZGVf ZGlyZWN0b3JpZXMoCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5j bHVkZSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2Vz L2xpYnBxIgorKQorCitzZXQoZXh0ZW5zaW9uX25hbWUgdmFjdXVtbG8pCisK K2FkZF9leGVjdXRhYmxlKCR7ZXh0ZW5zaW9uX25hbWV9ICR7ZXh0ZW5zaW9u X25hbWV9LmMpCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtleHRlbnNpb25f bmFtZX0gcG9ydCBwZ2NvbW1vbiBwcSkKK3NldF90YXJnZXRfcHJvcGVydGll cygke2V4dGVuc2lvbl9uYW1lfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKK2Fk ZF9kZXBlbmRlbmNpZXMoJHtleHRlbnNpb25fbmFtZX0gcG9zdGdyZXMpCitp ZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2V4dGVu c2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQoraW5zdGFsbChUQVJHRVRT ICR7ZXh0ZW5zaW9uX25hbWV9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQ R0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCmRp ZmYgLS1naXQgYS9jb250cmliL3htbDIvQ01ha2VMaXN0cy50eHQgYi9jb250 cmliL3htbDIvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uNDg4MDQyMgotLS0gL2Rldi9udWxsCisrKyBiL2Nv bnRyaWIveG1sMi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDQwIEBACitp bmNsdWRlX2RpcmVjdG9yaWVzKAorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0v c3JjL2luY2x1ZGUiCisJJHtMSUJYTUwyX0lOQ0xVREVfRElSfQorKQorCitp ZihMSUJYU0xUX0ZPVU5EKQorCWluY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JF ICR7TElCWFNMVF9JTkNMVURFX0RJUn0pCitlbmRpZigpCisKK3NldChleHRl bnNpb25fbmFtZSB4bWwyKQorc2V0KGV4dGVuc2lvbl9saWJfbmFtZSBwZ3ht bCkKKworYWRkX2xpYnJhcnkoJHtleHRlbnNpb25fbGliX25hbWV9IE1PRFVM RSB4cGF0aC5jIHhzbHRfcHJvYy5jKQordGFyZ2V0X2xpbmtfbGlicmFyaWVz KCR7ZXh0ZW5zaW9uX2xpYl9uYW1lfQorCSR7Y29udHJpYl9saWJzfQorCSR7 TElCWE1MMl9MSUJSQVJJRVN9CispCitpZihMSUJYU0xUX0ZPVU5EKQorCXRh cmdldF9saW5rX2xpYnJhcmllcygke2V4dGVuc2lvbl9saWJfbmFtZX0gJHtM SUJYU0xUX0xJQlJBUklFU30pCitlbmRpZigpCitzZXRfdGFyZ2V0X3Byb3Bl cnRpZXMoJHtleHRlbnNpb25fbGliX25hbWV9IFBST1BFUlRJRVMgUFJFRklY ICIiKQorYWRkX2RlcGVuZGVuY2llcygke2V4dGVuc2lvbl9saWJfbmFtZX0g cG9zdGdyZXMpCitpZihNU1ZDKQorCWdlbl9kZWYoJHtleHRlbnNpb25fbmFt ZX0pCitlbmRpZigpCitpZihOT1QgUEdYUykKKwlDTUFLRV9TRVRfVEFSR0VU X0ZPTERFUigke2V4dGVuc2lvbl9uYW1lfSBjb250cmliKQorZW5kaWYoKQor aW5zdGFsbChUQVJHRVRTICR7ZXh0ZW5zaW9uX2xpYl9uYW1lfQorCQlSVU5U SU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElO QVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCSR7ZXh0ZW5zaW9u X25hbWV9LmNvbnRyb2wKKwkke2V4dGVuc2lvbl9uYW1lfS0tMS4xLnNxbAor CSR7ZXh0ZW5zaW9uX25hbWV9LS0xLjAtLTEuMS5zcWwKKwkke2V4dGVuc2lv bl9uYW1lfS0tdW5wYWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFUSU9OICR7 UEdTSEFSRURJUn0vZXh0ZW5zaW9uKQorCitzZXQocmVncmVzc19maWxlcyB4 bWwyKQorQ09OVFJJQl9SRUdSRVNTX0NIRUNLKCR7ZXh0ZW5zaW9uX25hbWV9 ICIiICIke3JlZ3Jlc3NfZmlsZXN9IikKZGlmZiAtLWdpdCBhL3NyYy9DTWFr ZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzRmN2JkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsODUgQEAKK2lu Y2x1ZGVfZGlyZWN0b3JpZXMoIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv aW5jbHVkZSIpCisKK3NldChnZW5fZXJyb3Jjb2Rlc19kZXBlbmQKKwkke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvdXRpbHMvZXJyY29kZXMu dHh0CisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3V0aWxz L2dlbmVyYXRlLWVycmNvZGVzLnBsCispCitzZXQoZ2VuX2Vycm9yY29kZXNf b3V0cHV0CisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL3V0 aWxzL2VycmNvZGVzLmgKKykKKworYWRkX2N1c3RvbV9jb21tYW5kKAorCU1B SU5fREVQRU5ERU5DWSAke2dlbl9lcnJvcmNvZGVzX2RlcGVuZH0KKwlPVVRQ VVQgJHtnZW5fZXJyb3Jjb2Rlc19vdXRwdXR9CisJQ09NTUFORCAke1BFUkxf RVhFQ1VUQUJMRX0gZ2VuZXJhdGUtZXJyY29kZXMucGwgZXJyY29kZXMudHh0 ID4gJHtnZW5fZXJyb3Jjb2Rlc19vdXRwdXR9CisJV09SS0lOR19ESVJFQ1RP UlkgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3V0aWxzCisp CisKK2FkZF9jdXN0b21fdGFyZ2V0KGdlbl9lcnJvcmNvZGVzIERFUEVORFMg JHtnZW5fZXJyb3Jjb2Rlc19vdXRwdXR9KQorCitzZXRfZGlyZWN0b3J5X3By b3BlcnRpZXMoUFJPUEVSVElFUyBBRERJVElPTkFMX01BS0VfQ0xFQU5fRklM RVMgJHtnZW5fZXJyb3Jjb2Rlc19vdXRwdXR9KQorCitzZXQoUEFSU0VSX1ND QU5fRkxFWF9GTEFHUywgIi1DZmUgLXAgLXAiKQorYmlzb25fdGFyZ2V0KFBB UlNFUl9HUkFNCisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0uYworKQorZmxleF90YXJnZXQoUEFSU0VSX1ND QU4KKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvcGFyc2Vy L3NjYW4ubAorCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC9w YXJzZXIvc2Nhbi5jCisJJHtQQVJTRVJfU0NBTl9GTEVYX0ZMQUdTfQorKQor CitzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRpZXMoJHtCSVNPTl9QQVJTRVJf R1JBTV9PVVRQVVRTfQorCVBST1BFUlRJRVMgT0JKRUNUX0RFUEVORFMgJHtG TEVYX1BBUlNFUl9TQ0FOX09VVFBVVFN9KQorCithZGRfY3VzdG9tX2NvbW1h bmQoCisJTUFJTl9ERVBFTkRFTkNZICR7QklTT05fUEFSU0VSX0dSQU1fT1VU UFVUU30KKwlPVVRQVVQgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNs dWRlL3BhcnNlci9ncmFtLmgKKwlDT01NQU5EICR7Q01BS0VfQ09NTUFORH0g LUUgY29weSAke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0uaCAke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUv cGFyc2VyL2dyYW0uaAorKQorCithZGRfY3VzdG9tX3RhcmdldChnZW5lcmF0 ZV9wYXJzZXJfZ3JhbV9oIERFUEVORFMgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlL3BhcnNlci9ncmFtLmgpCisKK2FkZF9zdWJkaXJlY3Rv cnkoaW5jbHVkZSkKK2FkZF9zdWJkaXJlY3RvcnkocG9ydCkKK2FkZF9zdWJk aXJlY3RvcnkoY29tbW9uKQorYWRkX3N1YmRpcmVjdG9yeShmZV91dGlscykK K2FkZF9zdWJkaXJlY3RvcnkoaW50ZXJmYWNlcy9saWJwcSkKK2FkZF9zdWJk aXJlY3RvcnkoaW50ZXJmYWNlcy9lY3BnL3BndHlwZXNsaWIpCithZGRfc3Vi ZGlyZWN0b3J5KGludGVyZmFjZXMvZWNwZy9lY3BnbGliKQorYWRkX3N1YmRp cmVjdG9yeShpbnRlcmZhY2VzL2VjcGcvY29tcGF0bGliKQorYWRkX3N1YmRp cmVjdG9yeShpbnRlcmZhY2VzL2VjcGcvaW5jbHVkZSkKKworYWRkX3N1YmRp cmVjdG9yeShiYWNrZW5kKQorYWRkX3N1YmRpcmVjdG9yeSh0aW1lem9uZSkK K2FkZF9zdWJkaXJlY3RvcnkodGVzdC9yZWdyZXNzKQorYWRkX3N1YmRpcmVj dG9yeSh0ZXN0L2lzb2xhdGlvbikKKworYWRkX3N1YmRpcmVjdG9yeShwbC9w bHBnc3FsL3NyYykKK2lmKFBZVEhPTklOVEVSUF9GT1VORCBBTkQgUFlUSE9O TElCU19GT1VORCkKKwlhZGRfc3ViZGlyZWN0b3J5KHBsL3BscHl0aG9uKQor ZW5kaWYoKQoraWYoUEVSTExJQlNfRk9VTkQpCisJYWRkX3N1YmRpcmVjdG9y eShwbC9wbHBlcmwpCitlbmRpZigpCitpZihUQ0xfRk9VTkQpCisJYWRkX3N1 YmRpcmVjdG9yeShwbC90Y2wpCitlbmRpZigpCisKK2FkZF9zdWJkaXJlY3Rv cnkoYmluL2luaXRkYikKK2FkZF9zdWJkaXJlY3RvcnkoYmluL3BnX2FyY2hp dmVjbGVhbnVwKQorYWRkX3N1YmRpcmVjdG9yeShiaW4vcGdfYmFzZWJhY2t1 cCkKK2FkZF9zdWJkaXJlY3RvcnkoYmluL3BnX2NvbmZpZykKK2FkZF9zdWJk aXJlY3RvcnkoYmluL3BnX2NvbnRyb2xkYXRhKQorYWRkX3N1YmRpcmVjdG9y eShiaW4vcGdfY3RsKQorYWRkX3N1YmRpcmVjdG9yeShiaW4vcGdfZHVtcCkK K2FkZF9zdWJkaXJlY3RvcnkoYmluL3BnX3Jlc2V0eGxvZykKK2FkZF9zdWJk aXJlY3RvcnkoYmluL3BnX3Jld2luZCkKK2FkZF9zdWJkaXJlY3RvcnkoYmlu L3BnX3Rlc3RfZnN5bmMpCithZGRfc3ViZGlyZWN0b3J5KGJpbi9wZ190ZXN0 X3RpbWluZykKK2FkZF9zdWJkaXJlY3RvcnkoYmluL3BnX3VwZ3JhZGUpCith ZGRfc3ViZGlyZWN0b3J5KGJpbi9wZ194bG9nZHVtcCkKK2FkZF9zdWJkaXJl Y3RvcnkoYmluL3BnYmVuY2gpCithZGRfc3ViZGlyZWN0b3J5KGJpbi9wc3Fs KQorYWRkX3N1YmRpcmVjdG9yeShiaW4vc2NyaXB0cykKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL0NNYWtlTGlzdHMudHh0IGIvc3JjL2JhY2tlbmQvQ01h a2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uOTYzM2M2YwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL0NN YWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMTEwMyBAQAoraW5jbHVkZV9kaXJl Y3RvcmllcygKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRl L2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFj ZXMvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmluL3Bn X2R1bXAiCispCisKK3NldChwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2cgIiR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9jYXRhbG9nIikKKwor c2V0KGdlbl9mbWdydGFiX2RlcGVuZAorCXV0aWxzL0dlbl9mbWdydGFiLnBs CisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NhdGFsb2cvQ2F0YWxv Zy5wbQorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19wcm9jLmgK KykKK3NldChnZW5fZm1ncnRhYl9vdXRwdXQKKwkke1BST0pFQ1RfU09VUkNF X0RJUn0vc3JjL2luY2x1ZGUvdXRpbHMvZm1ncm9pZHMuaAorCSR7Q01BS0Vf Q1VSUkVOVF9TT1VSQ0VfRElSfS91dGlscy9mbWdydGFiLmMKKykKKworYWRk X2N1c3RvbV9jb21tYW5kKAorCU1BSU5fREVQRU5ERU5DWSAke2dlbl9mbWdy dGFiX2RlcGVuZH0KKwlPVVRQVVQgJHtnZW5fZm1ncnRhYl9vdXRwdXR9CisJ Q09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gLUkke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0vY2F0YWxvZyBHZW5fZm1ncnRhYi5wbCAke3Bvc3RncmVz X2luY2x1ZGVfY2F0YWxvZ30vcGdfcHJvYy5oCisJQ09NTUFORCAke0NNQUtF X0NPTU1BTkR9IC1FIGNvcHkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 L3V0aWxzL2ZtZ3JvaWRzLmggJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9p bmNsdWRlL3V0aWxzL2ZtZ3JvaWRzLmgKKwlXT1JLSU5HX0RJUkVDVE9SWSAk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdXRpbHMKKykKKworc2V0KGdl bl9wcm9iZV9kZXBlbmQKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0v dXRpbHMvR2VuX2R1bW15X3Byb2Jlcy5zZWQKKwkke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0vdXRpbHMvcHJvYmVzLmQKKykKKworc2V0KGdlbl9wcm9i ZV9vdXRwdXQKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUv dXRpbHMvcHJvYmVzLmgKKykKKworYWRkX2N1c3RvbV9jb21tYW5kKAorCU1B SU5fREVQRU5ERU5DWSAke2dlbl9wcm9iZV9kZXBlbmR9CisJT1VUUFVUICR7 Z2VuX3Byb2JlX291dHB1dH0KKwlDT01NQU5EIHNlZCAtZiBHZW5fZHVtbXlf cHJvYmVzLnNlZCBwcm9iZXMuZCA+ICAke2dlbl9wcm9iZV9vdXRwdXR9CisJ V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 L3V0aWxzCispCisKK2ZsZXhfdGFyZ2V0KEdVQ19TQ0FOTkVSIHV0aWxzL21p c2MvZ3VjLWZpbGUubCAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3V0 aWxzL21pc2MvZ3VjLWZpbGUuYykKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVy dGllcyh1dGlscy9taXNjL2d1Yy5jIFBST1BFUlRJRVMgT0JKRUNUX0RFUEVO RFMgJHtGTEVYX0dVQ19TQ0FOTkVSX09VVFBVVFN9KQorCitpZihXSU4zMiBP UiBNSU5HVykKKwlzZXQoZHlubG9hZGVyX1NSQ1MgcG9ydC9keW5sb2FkZXIv d2luMzIuYykKKwlzZXQoZHlubG9hZGVyX0ggcG9ydC9keW5sb2FkZXIvd2lu MzIuaCkKK2Vsc2VpZihDWUdXSU4pCisJc2V0KGR5bmxvYWRlcl9TUkNTIHBv cnQvZHlubG9hZGVyL2N5Z3dpbi5jKQorCXNldChkeW5sb2FkZXJfSCBwb3J0 L2R5bmxvYWRlci9jeWd3aW4uaCkKK2Vsc2VpZihBUFBMRSkKKwlzZXQoZHlu bG9hZGVyX1NSQ1MgcG9ydC9keW5sb2FkZXIvZGFyd2luLmMpCisJc2V0KGR5 bmxvYWRlcl9IIHBvcnQvZHlubG9hZGVyL2Rhcndpbi5oKQorZWxzZWlmKENN QUtFX1NZU1RFTV9OQU1FIFNUUkVRVUFMICJMaW51eCIpCisJc2V0KGR5bmxv YWRlcl9TUkNTIHBvcnQvZHlubG9hZGVyL2xpbnV4LmMpCisJc2V0KGR5bmxv YWRlcl9IIHBvcnQvZHlubG9hZGVyL2xpbnV4LmgpCitlbHNlaWYoQ01BS0Vf U1lTVEVNX05BTUUgU1RSRVFVQUwgIkhQLVVYIikKKwlzZXQoZHlubG9hZGVy X1NSQ1MgcG9ydC9keW5sb2FkZXIvaHB1eC5jKQorCXNldChkeW5sb2FkZXJf SCBwb3J0L2R5bmxvYWRlci9ocHV4LmgpCisjVE9ETzogRnJlZUJTRCwgT3Bl bkJTRCwgTmV0QlNEIGlzIGVxdWFsIGxvYWRlcgorZWxzZWlmKENNQUtFX1NZ U1RFTV9OQU1FIFNUUkVRVUFMICJGcmVlQlNEIikKKwlzZXQoZHlubG9hZGVy X1NSQ1MgcG9ydC9keW5sb2FkZXIvZnJlZWJzZC5jKQorCXNldChkeW5sb2Fk ZXJfSCBwb3J0L2R5bmxvYWRlci9mcmVlYnNkLmgpCitlbHNlaWYoQ01BS0Vf U1lTVEVNX05BTUUgU1RSRVFVQUwgIk9wZW5CU0QiKQorCXNldChkeW5sb2Fk ZXJfU1JDUyBwb3J0L2R5bmxvYWRlci9vcGVuYnNkLmMpCisJc2V0KGR5bmxv YWRlcl9IIHBvcnQvZHlubG9hZGVyL29wZW5ic2QuaCkKK2Vsc2VpZihDTUFL RV9TWVNURU1fTkFNRSBTVFJFUVVBTCAiTmV0QlNEIikKKwlzZXQoZHlubG9h ZGVyX1NSQ1MgcG9ydC9keW5sb2FkZXIvbmV0YnNkLmMpCisJc2V0KGR5bmxv YWRlcl9IIHBvcnQvZHlubG9hZGVyL25ldGJzZC5oKQorZWxzZWlmKENNQUtF X1NZU1RFTV9OQU1FIFNUUkVRVUFMICJTdW5PUyIpCisJc2V0KGR5bmxvYWRl cl9TUkNTIHBvcnQvZHlubG9hZGVyL3NvbGFyaXMuYykKKwlzZXQoZHlubG9h ZGVyX0ggcG9ydC9keW5sb2FkZXIvc29sYXJpcy5oKQorZWxzZShXSU4zMiBP UiBNSU5HVykKKwltZXNzYWdlKFdBUk5JTkcgIiR7Q01BS0VfU1lTVEVNX05B TUV9IikKK2VuZGlmKFdJTjMyIE9SIE1JTkdXKQorCithZGRfY3VzdG9tX2Nv bW1hbmQoCisJTUFJTl9ERVBFTkRFTkNZICIke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0vJHtkeW5sb2FkZXJfSH0iCisJT1VUUFVUICIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvZHlubG9hZGVyLmgiCisJQ09NTUFO RCAke0NNQUtFX0NPTU1BTkR9IC1FIGNvcHkgJHtDTUFLRV9DVVJSRU5UX1NP VVJDRV9ESVJ9LyR7ZHlubG9hZGVyX0h9ICR7UFJPSkVDVF9TT1VSQ0VfRElS fS9zcmMvaW5jbHVkZS9keW5sb2FkZXIuaAorKQorCisjTmVlZCBmb3IgYmlu L3BnX3hsb2dkdW1wCitzZXQoYWNjZXNzX3JtZ3JkZXNjX1NSQworCSR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hY2Nlc3Mvcm1ncmRlc2MvYnJpbmRl c2MuYworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hY2Nlc3Mvcm1n cmRlc2MvY2xvZ2Rlc2MuYworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS fS9hY2Nlc3Mvcm1ncmRlc2MvY29tbWl0dHNkZXNjLmMKKwkke0NNQUtFX0NV UlJFTlRfU09VUkNFX0RJUn0vYWNjZXNzL3JtZ3JkZXNjL2RiYXNlZGVzYy5j CisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2FjY2Vzcy9ybWdyZGVz Yy9naW5kZXNjLmMKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vYWNj ZXNzL3JtZ3JkZXNjL2dpc3RkZXNjLmMKKwkke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0vYWNjZXNzL3JtZ3JkZXNjL2hhc2hkZXNjLmMKKwkke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vYWNjZXNzL3JtZ3JkZXNjL2hlYXBkZXNj LmMKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vYWNjZXNzL3JtZ3Jk ZXNjL214YWN0ZGVzYy5jCisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9 L2FjY2Vzcy9ybWdyZGVzYy9uYnRkZXNjLmMKKwkke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0vYWNjZXNzL3JtZ3JkZXNjL3JlbG1hcGRlc2MuYworCSR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hY2Nlc3Mvcm1ncmRlc2MvcmVw bG9yaWdpbmRlc2MuYworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9h Y2Nlc3Mvcm1ncmRlc2Mvc2VxZGVzYy5jCisJJHtDTUFLRV9DVVJSRU5UX1NP VVJDRV9ESVJ9L2FjY2Vzcy9ybWdyZGVzYy9zbWdyZGVzYy5jCisJJHtDTUFL RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2FjY2Vzcy9ybWdyZGVzYy9zcGdkZXNj LmMKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vYWNjZXNzL3JtZ3Jk ZXNjL3N0YW5kYnlkZXNjLmMKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJ Un0vYWNjZXNzL3JtZ3JkZXNjL3RibHNwY2Rlc2MuYworCSR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9hY2Nlc3Mvcm1ncmRlc2MveGFjdGRlc2MuYwor CSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hY2Nlc3Mvcm1ncmRlc2Mv eGxvZ2Rlc2MuYworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hY2Nl c3Mvcm1ncmRlc2MvZ2VuZXJpY2Rlc2MuYworCSR7Q01BS0VfQ1VSUkVOVF9T T1VSQ0VfRElSfS9hY2Nlc3Mvcm1ncmRlc2MvbG9naWNhbG1zZ2Rlc2MuYwor KQorCitzZXQocm1ncmRlc2NfU1JDCisJJHthY2Nlc3Nfcm1ncmRlc2NfU1JD fQorCVBBUkVOVF9TQ09QRQorKQorCitzZXQoYWNjZXNzX1NSQ1MKKwkke2dl bl9mbWdydGFiX291dHB1dH0KKwkke2dlbl9wcm9iZV9vdXRwdXR9CisJJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL2R5bmxvYWRlci5oCisJ JHthY2Nlc3Nfcm1ncmRlc2NfU1JDfQorCisJYWNjZXNzL2JyaW4vYnJpbi5j CisJYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMKKwlhY2Nlc3MvYnJpbi9i cmluX3Jldm1hcC5jCisJYWNjZXNzL2JyaW4vYnJpbl90dXBsZS5jCisJYWNj ZXNzL2JyaW4vYnJpbl94bG9nLmMKKwlhY2Nlc3MvYnJpbi9icmluX21pbm1h eC5jCisJYWNjZXNzL2JyaW4vYnJpbl9pbmNsdXNpb24uYworCWFjY2Vzcy9i cmluL2JyaW5fdmFsaWRhdGUuYworCisJYWNjZXNzL2NvbW1vbi9oZWFwdHVw bGUuYworCWFjY2Vzcy9jb21tb24vaW5kZXh0dXBsZS5jCisJYWNjZXNzL2Nv bW1vbi9wcmludHR1cC5jCisJYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMK KwlhY2Nlc3MvY29tbW9uL3NjYW5rZXkuYworCWFjY2Vzcy9jb21tb24vdHVw Y29udmVydC5jCisJYWNjZXNzL2NvbW1vbi90dXBkZXNjLmMKKworCWFjY2Vz cy9naW4vZ2ludXRpbC5jCisJYWNjZXNzL2dpbi9naW5pbnNlcnQuYworCWFj Y2Vzcy9naW4vZ2lueGxvZy5jCisJYWNjZXNzL2dpbi9naW5lbnRyeXBhZ2Uu YworCWFjY2Vzcy9naW4vZ2luZGF0YXBhZ2UuYworCWFjY2Vzcy9naW4vZ2lu YnRyZWUuYworCWFjY2Vzcy9naW4vZ2luc2Nhbi5jCisJYWNjZXNzL2dpbi9n aW5nZXQuYworCWFjY2Vzcy9naW4vZ2ludmFjdXVtLmMKKwlhY2Nlc3MvZ2lu L2dpbmFycmF5cHJvYy5jCisJYWNjZXNzL2dpbi9naW5idWxrLmMKKwlhY2Nl c3MvZ2luL2dpbmZhc3QuYworCWFjY2Vzcy9naW4vZ2lucG9zdGluZ2xpc3Qu YworCWFjY2Vzcy9naW4vZ2lubG9naWMuYworCWFjY2Vzcy9naW4vZ2ludmFs aWRhdGUuYworCisJYWNjZXNzL2dpc3QvZ2lzdC5jCisJYWNjZXNzL2dpc3Qv Z2lzdHV0aWwuYworCWFjY2Vzcy9naXN0L2dpc3R4bG9nLmMKKwlhY2Nlc3Mv Z2lzdC9naXN0dmFjdXVtLmMKKwlhY2Nlc3MvZ2lzdC9naXN0Z2V0LmMKKwlh Y2Nlc3MvZ2lzdC9naXN0c2Nhbi5jCisJYWNjZXNzL2dpc3QvZ2lzdHByb2Mu YworCWFjY2Vzcy9naXN0L2dpc3RzcGxpdC5jCisJYWNjZXNzL2dpc3QvZ2lz dGJ1aWxkLmMKKwlhY2Nlc3MvZ2lzdC9naXN0YnVpbGRidWZmZXJzLmMKKwlh Y2Nlc3MvZ2lzdC9naXN0dmFsaWRhdGUuYworCisJYWNjZXNzL2hhc2gvaGFz aC5jCisJYWNjZXNzL2hhc2gvaGFzaGZ1bmMuYworCWFjY2Vzcy9oYXNoL2hh c2hpbnNlcnQuYworCWFjY2Vzcy9oYXNoL2hhc2hvdmZsLmMKKwlhY2Nlc3Mv aGFzaC9oYXNocGFnZS5jCisJYWNjZXNzL2hhc2gvaGFzaHNjYW4uYworCWFj Y2Vzcy9oYXNoL2hhc2hzZWFyY2guYworCWFjY2Vzcy9oYXNoL2hhc2hzb3J0 LmMKKwlhY2Nlc3MvaGFzaC9oYXNodXRpbC5jCisJYWNjZXNzL2hhc2gvaGFz aHZhbGlkYXRlLmMKKworCWFjY2Vzcy9oZWFwL2hlYXBhbS5jCisJYWNjZXNz L2hlYXAvaGlvLmMKKwlhY2Nlc3MvaGVhcC9wcnVuZWhlYXAuYworCWFjY2Vz cy9oZWFwL3Jld3JpdGVoZWFwLmMKKwlhY2Nlc3MvaGVhcC9zeW5jc2Nhbi5j CisJYWNjZXNzL2hlYXAvdHVwdG9hc3Rlci5jCisJYWNjZXNzL2hlYXAvdmlz aWJpbGl0eW1hcC5jCisKKwlhY2Nlc3MvaW5kZXgvZ2VuYW0uYworCWFjY2Vz cy9pbmRleC9pbmRleGFtLmMKKwlhY2Nlc3MvaW5kZXgvYW1hcGkuYworCWFj Y2Vzcy9pbmRleC9hbXZhbGlkYXRlLmMKKworCWFjY2Vzcy9uYnRyZWUvbmJ0 Y29tcGFyZS5jCisJYWNjZXNzL25idHJlZS9uYnRpbnNlcnQuYworCWFjY2Vz cy9uYnRyZWUvbmJ0cGFnZS5jCisJYWNjZXNzL25idHJlZS9uYnRyZWUuYwor CWFjY2Vzcy9uYnRyZWUvbmJ0c2VhcmNoLmMKKwlhY2Nlc3MvbmJ0cmVlL25i dHV0aWxzLmMKKwlhY2Nlc3MvbmJ0cmVlL25idHNvcnQuYworCWFjY2Vzcy9u YnRyZWUvbmJ0eGxvZy5jCisJYWNjZXNzL25idHJlZS9uYnR2YWxpZGF0ZS5j CisKKwlhY2Nlc3Mvc3BnaXN0L3NwZ3V0aWxzLmMKKwlhY2Nlc3Mvc3BnaXN0 L3NwZ2luc2VydC5jCisJYWNjZXNzL3NwZ2lzdC9zcGdzY2FuLmMKKwlhY2Nl c3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisJYWNjZXNzL3NwZ2lzdC9zcGdkb2lu c2VydC5jCisJYWNjZXNzL3NwZ2lzdC9zcGd4bG9nLmMKKwlhY2Nlc3Mvc3Bn aXN0L3NwZ3RleHRwcm9jLmMKKwlhY2Nlc3Mvc3BnaXN0L3NwZ3F1YWR0cmVl cHJvYy5jCisJYWNjZXNzL3NwZ2lzdC9zcGdrZHRyZWVwcm9jLmMKKwlhY2Nl c3Mvc3BnaXN0L3NwZ3ZhbGlkYXRlLmMKKworCWFjY2Vzcy90YWJsZXNhbXBs ZS9iZXJub3VsbGkuYworCWFjY2Vzcy90YWJsZXNhbXBsZS9zeXN0ZW0uYwor CWFjY2Vzcy90YWJsZXNhbXBsZS90YWJsZXNhbXBsZS5jCisKKwlhY2Nlc3Mv dHJhbnNhbS9jbG9nLmMKKwlhY2Nlc3MvdHJhbnNhbS9jb21taXRfdHMuYwor CWFjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCisJYWNjZXNzL3RyYW5zYW0v Z2VuZXJpY194bG9nLmMKKwlhY2Nlc3MvdHJhbnNhbS9wYXJhbGxlbC5jCisJ YWNjZXNzL3RyYW5zYW0vcm1nci5jCisJYWNjZXNzL3RyYW5zYW0vc2xydS5j CisJYWNjZXNzL3RyYW5zYW0vc3VidHJhbnMuYworCWFjY2Vzcy90cmFuc2Ft L3RpbWVsaW5lLmMKKwlhY2Nlc3MvdHJhbnNhbS90cmFuc2FtLmMKKwlhY2Nl c3MvdHJhbnNhbS90d29waGFzZS5jCisJYWNjZXNzL3RyYW5zYW0vdHdvcGhh c2Vfcm1nci5jCisJYWNjZXNzL3RyYW5zYW0vdmFyc3VwLmMKKwlhY2Nlc3Mv dHJhbnNhbS94YWN0LmMKKwlhY2Nlc3MvdHJhbnNhbS94bG9nLmMKKwlhY2Nl c3MvdHJhbnNhbS94bG9nYXJjaGl2ZS5jCisJYWNjZXNzL3RyYW5zYW0veGxv Z2Z1bmNzLmMKKwlhY2Nlc3MvdHJhbnNhbS94bG9naW5zZXJ0LmMKKwlhY2Nl c3MvdHJhbnNhbS94bG9ncmVhZGVyLmMKKwlhY2Nlc3MvdHJhbnNhbS94bG9n dXRpbHMuYworKQorCitiaXNvbl90YXJnZXQoQk9PVFNUUkFQX1BBUlNFUiBi b290c3RyYXAvYm9vdHBhcnNlLnkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9L2Jvb3RzdHJhcC9ib290cGFyc2UuYykKK2ZsZXhfdGFyZ2V0KEJPT1RT VFJBUF9TQ0FOTkVSIGJvb3RzdHJhcC9ib290c2Nhbm5lci5sICAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vYm9vdHN0cmFwL2Jvb3RzY2FubmVyLmMp CithZGRfZmxleF9iaXNvbl9kZXBlbmRlbmN5KEJPT1RTVFJBUF9TQ0FOTkVS IEJPT1RTVFJBUF9QQVJTRVIpCisKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVy dGllcyhib290c3RyYXAvYm9vdHBhcnNlLmMgUFJPUEVSVElFUyBPQkpFQ1Rf REVQRU5EUyAke0ZMRVhfQk9PVFNUUkFQX1NDQU5ORVJfT1VUUFVUU30pCisK K3NldChib290c3RyYXBfU1JDUworCWJvb3RzdHJhcC9ib290c3RyYXAuYwor CSR7QklTT05fQk9PVFNUUkFQX1BBUlNFUl9PVVRQVVRTfQorKQorCitzZXRf c291cmNlX2ZpbGVzX3Byb3BlcnRpZXMoCisJJHtCSVNPTl9CT09UU1RSQVBf UEFSU0VSX09VVFBVVFN9CisJUFJPUEVSVElFUyBHRU5FUkFURUQgVFJVRQor KQorCitzZXQoUE9TVEdSRVNfQktJX1NSQ1MKKwkke3Bvc3RncmVzX2luY2x1 ZGVfY2F0YWxvZ30vcGdfcHJvYy5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2Nh dGFsb2d9L3BnX3R5cGUuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9n fS9wZ19hdHRyaWJ1dGUuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9n fS9wZ19jbGFzcy5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3Bn X2F0dHJkZWYuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19j b25zdHJhaW50LmgKKwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdf aW5oZXJpdHMuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19p bmRleC5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX29wZXJh dG9yLmgKKwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfb3BmYW1p bHkuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19vcGNsYXNz LmgKKwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfYW0uaAorCSR7 cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19hbW9wLmgKKwkke3Bvc3Rn cmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfYW1wcm9jLmgKKwkke3Bvc3RncmVz X2luY2x1ZGVfY2F0YWxvZ30vcGdfbGFuZ3VhZ2UuaAorCSR7cG9zdGdyZXNf aW5jbHVkZV9jYXRhbG9nfS9wZ19sYXJnZW9iamVjdF9tZXRhZGF0YS5oCisJ JHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX2xhcmdlb2JqZWN0LmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfYWdncmVnYXRlLmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfc3RhdGlzdGljLmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfcmV3cml0ZS5oCisJ JHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX3RyaWdnZXIuaAorCSR7 cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19ldmVudF90cmlnZ2VyLmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfZGVzY3JpcHRpb24u aAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19jYXN0LmgKKwkk e3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfZW51bS5oCisJJHtwb3N0 Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX25hbWVzcGFjZS5oCisJJHtwb3N0 Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX2NvbnZlcnNpb24uaAorCSR7cG9z dGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19kZXBlbmQuaAorCSR7cG9zdGdy ZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19kYXRhYmFzZS5oCisJJHtwb3N0Z3Jl c19pbmNsdWRlX2NhdGFsb2d9L3BnX2RiX3JvbGVfc2V0dGluZy5oCisJJHtw b3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX3RhYmxlc3BhY2UuaAorCSR7 cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19wbHRlbXBsYXRlLmgKKwkk e3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfYXV0aGlkLmgKKwkke3Bv c3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfYXV0aF9tZW1iZXJzLmgKKwkk e3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfc2hkZXBlbmQuaAorCSR7 cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19zaGRlc2NyaXB0aW9uLmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfdHNfY29uZmlnLmgK Kwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfdHNfY29uZmlnX21h cC5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX3RzX2RpY3Qu aAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ190c19wYXJzZXIu aAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ190c190ZW1wbGF0 ZS5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX2V4dGVuc2lv bi5oCisJJHtwb3N0Z3Jlc19pbmNsdWRlX2NhdGFsb2d9L3BnX2ZvcmVpZ25f ZGF0YV93cmFwcGVyLmgKKwkke3Bvc3RncmVzX2luY2x1ZGVfY2F0YWxvZ30v cGdfZm9yZWlnbl9zZXJ2ZXIuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9jYXRh bG9nfS9wZ191c2VyX21hcHBpbmcuaAorCSR7cG9zdGdyZXNfaW5jbHVkZV9j YXRhbG9nfS9wZ19mb3JlaWduX3RhYmxlLmgKKwkke3Bvc3RncmVzX2luY2x1 ZGVfY2F0YWxvZ30vcGdfcG9saWN5LmgKKwkke3Bvc3RncmVzX2luY2x1ZGVf Y2F0YWxvZ30vcGdfcmVwbGljYXRpb25fb3JpZ2luLmgKKwkke3Bvc3RncmVz X2luY2x1ZGVfY2F0YWxvZ30vcGdfZGVmYXVsdF9hY2wuaAorCSR7cG9zdGdy ZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19pbml0X3ByaXZzLmgKKwkke3Bvc3Rn cmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfc2VjbGFiZWwuaAorCSR7cG9zdGdy ZXNfaW5jbHVkZV9jYXRhbG9nfS9wZ19zaHNlY2xhYmVsLmgKKwkke3Bvc3Rn cmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfY29sbGF0aW9uLmgKKwkke3Bvc3Rn cmVzX2luY2x1ZGVfY2F0YWxvZ30vcGdfcmFuZ2UuaAorCSR7cG9zdGdyZXNf aW5jbHVkZV9jYXRhbG9nfS9wZ190cmFuc2Zvcm0uaAorCSR7cG9zdGdyZXNf aW5jbHVkZV9jYXRhbG9nfS90b2FzdGluZy5oCisJJHtwb3N0Z3Jlc19pbmNs dWRlX2NhdGFsb2d9L2luZGV4aW5nLmgKKykKKworc2V0KGNhdGFsb2dfU1JD UworCWNhdGFsb2cvY2F0YWxvZy5jCisJY2F0YWxvZy9kZXBlbmRlbmN5LmMK KwljYXRhbG9nL2hlYXAuYworCWNhdGFsb2cvaW5kZXguYworCWNhdGFsb2cv aW5kZXhpbmcuYworCWNhdGFsb2cvbmFtZXNwYWNlLmMKKwljYXRhbG9nL2Fj bGNoay5jCisJY2F0YWxvZy9vYmplY3RhY2Nlc3MuYworCWNhdGFsb2cvb2Jq ZWN0YWRkcmVzcy5jCisJY2F0YWxvZy9wZ19hZ2dyZWdhdGUuYworCWNhdGFs b2cvcGdfY29sbGF0aW9uLmMKKwljYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwor CWNhdGFsb2cvcGdfY29udmVyc2lvbi5jCisJY2F0YWxvZy9wZ19kZXBlbmQu YworCWNhdGFsb2cvcGdfZW51bS5jCisJY2F0YWxvZy9wZ19pbmhlcml0cy5j CisJY2F0YWxvZy9wZ19sYXJnZW9iamVjdC5jCisJY2F0YWxvZy9wZ19uYW1l c3BhY2UuYworCWNhdGFsb2cvcGdfb3BlcmF0b3IuYworCWNhdGFsb2cvcGdf cHJvYy5jCisJY2F0YWxvZy9wZ19yYW5nZS5jCisJY2F0YWxvZy9wZ19kYl9y b2xlX3NldHRpbmcuYworCWNhdGFsb2cvcGdfc2hkZXBlbmQuYworCWNhdGFs b2cvcGdfdHlwZS5jCisJY2F0YWxvZy9zdG9yYWdlLmMKKwljYXRhbG9nL3Rv YXN0aW5nLmMKKykKKworc2V0KGNhdGFsb2dfaW5jbHVkZQorCSItSSR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC9jYXRhbG9nIgorCSItSSR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9jYXRhbG9nIgorKQor CithZGRfY3VzdG9tX2NvbW1hbmQoCisJREVQRU5EUyAke1BPU1RHUkVTX0JL SV9TUkNTfQorCU9VVFBVVCAke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2lu Y2x1ZGUvY2F0YWxvZy9zY2hlbWFwZy5oCisJQ09NTUFORCAke1BFUkxfRVhF Q1VUQUJMRX0gZ2VuYmtpLnBsICR7Y2F0YWxvZ19pbmNsdWRlfSAtLXNldC12 ZXJzaW9uPSR7UE9TVEdSRVNfTUFKT1JfVkVSU0lPTn0gJHtQT1NUR1JFU19C S0lfU1JDU30KKwlDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weSBz Y2hlbWFwZy5oICR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9j YXRhbG9nL3NjaGVtYXBnLmgKKwlXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtF X0NVUlJFTlRfU09VUkNFX0RJUn0vY2F0YWxvZworKQorCitzZXRfc291cmNl X2ZpbGVzX3Byb3BlcnRpZXModXRpbHMvY2FjaGUvcmVsY2FjaGUuYworCVBS T1BFUlRJRVMgT0JKRUNUX0RFUEVORFMgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlL2NhdGFsb2cvc2NoZW1hcGcuaCkKKworc2V0KGNvbW1h bmRzX1NSQ1MKKwljb21tYW5kcy9hZ2dyZWdhdGVjbWRzLmMKKwljb21tYW5k cy9hbHRlci5jCisJY29tbWFuZHMvYW5hbHl6ZS5jCisJY29tbWFuZHMvYXN5 bmMuYworCWNvbW1hbmRzL2FtY21kcy5jCisJY29tbWFuZHMvY2x1c3Rlci5j CisJY29tbWFuZHMvY29tbWVudC5jCisJY29tbWFuZHMvY29sbGF0aW9uY21k cy5jCisJY29tbWFuZHMvY29uc3RyYWludC5jCisJY29tbWFuZHMvY29udmVy c2lvbmNtZHMuYworCWNvbW1hbmRzL2NvcHkuYworCWNvbW1hbmRzL2NyZWF0 ZWFzLmMKKwljb21tYW5kcy9kYmNvbW1hbmRzLmMKKwljb21tYW5kcy9kZWZp bmUuYworCWNvbW1hbmRzL2Rpc2NhcmQuYworCWNvbW1hbmRzL2Ryb3BjbWRz LmMKKwljb21tYW5kcy9ldmVudF90cmlnZ2VyLmMKKwljb21tYW5kcy9leHBs YWluLmMKKwljb21tYW5kcy9leHRlbnNpb24uYworCWNvbW1hbmRzL2ZvcmVp Z25jbWRzLmMKKwljb21tYW5kcy9mdW5jdGlvbmNtZHMuYworCWNvbW1hbmRz L2luZGV4Y21kcy5jCisJY29tbWFuZHMvbG9ja2NtZHMuYworCWNvbW1hbmRz L21hdHZpZXcuYworCWNvbW1hbmRzL29wZXJhdG9yY21kcy5jCisJY29tbWFu ZHMvb3BjbGFzc2NtZHMuYworCWNvbW1hbmRzL3BvbGljeS5jCisJY29tbWFu ZHMvcG9ydGFsY21kcy5jCisJY29tbWFuZHMvcHJlcGFyZS5jCisJY29tbWFu ZHMvcHJvY2xhbmcuYworCWNvbW1hbmRzL3NjaGVtYWNtZHMuYworCWNvbW1h bmRzL3NlY2xhYmVsLmMKKwljb21tYW5kcy9zZXF1ZW5jZS5jCisJY29tbWFu ZHMvdGFibGVjbWRzLmMKKwljb21tYW5kcy90YWJsZXNwYWNlLmMKKwljb21t YW5kcy90cmlnZ2VyLmMKKwljb21tYW5kcy90c2VhcmNoY21kcy5jCisJY29t bWFuZHMvdHlwZWNtZHMuYworCWNvbW1hbmRzL3VzZXIuYworCWNvbW1hbmRz L3ZhY3V1bS5jCisJY29tbWFuZHMvdmFjdXVtbGF6eS5jCisJY29tbWFuZHMv dmFyaWFibGUuYworCWNvbW1hbmRzL3ZpZXcuYworKQorCitzZXQoZXhlY3V0 b3JfU1JDUworCWV4ZWN1dG9yL2V4ZWNBbWkuYworCWV4ZWN1dG9yL2V4ZWND dXJyZW50LmMKKwlleGVjdXRvci9leGVjR3JvdXBpbmcuYworCWV4ZWN1dG9y L2V4ZWNJbmRleGluZy5jCisJZXhlY3V0b3IvZXhlY0p1bmsuYworCWV4ZWN1 dG9yL2V4ZWNNYWluLmMKKwlleGVjdXRvci9leGVjUHJvY25vZGUuYworCWV4 ZWN1dG9yL2V4ZWNQYXJhbGxlbC5jCisJZXhlY3V0b3IvZXhlY1F1YWwuYwor CWV4ZWN1dG9yL2V4ZWNTY2FuLmMKKwlleGVjdXRvci9leGVjVHVwbGVzLmMK KwlleGVjdXRvci9leGVjVXRpbHMuYworCWV4ZWN1dG9yL2Z1bmN0aW9ucy5j CisJZXhlY3V0b3IvaW5zdHJ1bWVudC5jCisJZXhlY3V0b3IvdHF1ZXVlLmMK KwlleGVjdXRvci9ub2RlQXBwZW5kLmMKKwlleGVjdXRvci9ub2RlQWdnLmMK KwlleGVjdXRvci9ub2RlQml0bWFwQW5kLmMKKwlleGVjdXRvci9ub2RlQml0 bWFwT3IuYworCWV4ZWN1dG9yL25vZGVCaXRtYXBIZWFwc2Nhbi5jCisJZXhl Y3V0b3Ivbm9kZUJpdG1hcEluZGV4c2Nhbi5jCisJZXhlY3V0b3Ivbm9kZUN1 c3RvbS5jCisJZXhlY3V0b3Ivbm9kZUhhc2guYworCWV4ZWN1dG9yL25vZGVI YXNoam9pbi5jCisJZXhlY3V0b3Ivbm9kZUluZGV4c2Nhbi5jCisJZXhlY3V0 b3Ivbm9kZUluZGV4b25seXNjYW4uYworCWV4ZWN1dG9yL25vZGVMaW1pdC5j CisJZXhlY3V0b3Ivbm9kZUxvY2tSb3dzLmMKKwlleGVjdXRvci9ub2RlTWF0 ZXJpYWwuYworCWV4ZWN1dG9yL25vZGVNZXJnZUFwcGVuZC5jCisJZXhlY3V0 b3Ivbm9kZU1lcmdlam9pbi5jCisJZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxl LmMKKwlleGVjdXRvci9ub2RlTmVzdGxvb3AuYworCWV4ZWN1dG9yL25vZGVG dW5jdGlvbnNjYW4uYworCWV4ZWN1dG9yL25vZGVSZWN1cnNpdmV1bmlvbi5j CisJZXhlY3V0b3Ivbm9kZVJlc3VsdC5jCisJZXhlY3V0b3Ivbm9kZVNhbXBs ZXNjYW4uYworCWV4ZWN1dG9yL25vZGVTZXFzY2FuLmMKKwlleGVjdXRvci9u b2RlU2V0T3AuYworCWV4ZWN1dG9yL25vZGVTb3J0LmMKKwlleGVjdXRvci9u b2RlVW5pcXVlLmMKKwlleGVjdXRvci9ub2RlVmFsdWVzc2Nhbi5jCisJZXhl Y3V0b3Ivbm9kZUN0ZXNjYW4uYworCWV4ZWN1dG9yL25vZGVXb3JrdGFibGVz Y2FuLmMKKwlleGVjdXRvci9ub2RlR3JvdXAuYworCWV4ZWN1dG9yL25vZGVH YXRoZXIuYworCWV4ZWN1dG9yL25vZGVTdWJwbGFuLmMKKwlleGVjdXRvci9u b2RlU3VicXVlcnlzY2FuLmMKKwlleGVjdXRvci9ub2RlVGlkc2Nhbi5jCisJ ZXhlY3V0b3Ivbm9kZUZvcmVpZ25zY2FuLmMKKwlleGVjdXRvci9ub2RlV2lu ZG93QWdnLmMKKwlleGVjdXRvci90c3RvcmVSZWNlaXZlci5jCisJZXhlY3V0 b3Ivc3BpLmMKKykKKworc2V0KGxpYl9TUkNTCisJbGliL2JpbmFyeWhlYXAu YworCWxpYi9iaXBhcnRpdGVfbWF0Y2guYworCWxpYi9oeXBlcmxvZ2xvZy5j CisJbGliL2lsaXN0LmMKKwlsaWIvcGFpcmluZ2hlYXAuYworCWxpYi9yYnRy ZWUuYworCWxpYi9zdHJpbmdpbmZvLmMKKykKKworaWYoT1BFTlNTTF9GT1VO RCkKKwlzZXQobGlicHFfc3NsX1NSQ1MgbGlicHEvYmUtc2VjdXJlLW9wZW5z c2wuYykKK2VuZGlmKE9QRU5TU0xfRk9VTkQpCisKK3NldChsaWJwcV9TUkNT CisJbGlicHEvYmUtZnNzdHVicy5jCisJbGlicHEvYmUtc2VjdXJlLmMKKwls aWJwcS9hdXRoLmMKKwlsaWJwcS9jcnlwdC5jCisJbGlicHEvaGJhLmMKKwls aWJwcS9wcWNvbW0uYworCWxpYnBxL3BxZm9ybWF0LmMKKwlsaWJwcS9wcW1x LmMKKwlsaWJwcS9wcXNpZ25hbC5jCisJbGlicHEvaWZhZGRyLmMKKwkke2xp YnBxX3NzbF9TUkNTfQorKQorCitzZXQodXRpbHNfU1JDUworCXV0aWxzL2Vy cm9yL2Fzc2VydC5jCisJdXRpbHMvZXJyb3IvZWxvZy5jCisJdXRpbHMvY2Fj aGUvYXR0b3B0Y2FjaGUuYworCXV0aWxzL2NhY2hlL2NhdGNhY2hlLmMKKwl1 dGlscy9jYWNoZS9ldnRjYWNoZS5jCisJdXRpbHMvY2FjaGUvaW52YWwuYwor CXV0aWxzL2NhY2hlL3BsYW5jYWNoZS5jCisJdXRpbHMvY2FjaGUvcmVsY2Fj aGUuYworCXV0aWxzL2NhY2hlL3JlbG1hcHBlci5jCisJdXRpbHMvY2FjaGUv cmVsZmlsZW5vZGVtYXAuYworCXV0aWxzL2NhY2hlL3NwY2NhY2hlLmMKKwl1 dGlscy9jYWNoZS9zeXNjYWNoZS5jCisJdXRpbHMvY2FjaGUvbHN5c2NhY2hl LmMKKwl1dGlscy9jYWNoZS90eXBjYWNoZS5jCisJdXRpbHMvY2FjaGUvdHNf Y2FjaGUuYworCXV0aWxzL21tZ3IvYXNldC5jCisJdXRpbHMvbW1nci9tY3h0 LmMKKwl1dGlscy9tbWdyL3BvcnRhbG1lbS5jCisJdXRpbHMvYWR0L2FjbC5j CisJdXRpbHMvYWR0L2FycmF5ZnVuY3MuYworCXV0aWxzL2FkdC9hcnJheV9l eHBhbmRlZC5jCisJdXRpbHMvYWR0L2FycmF5X3NlbGZ1bmNzLmMKKwl1dGls cy9hZHQvYXJyYXlfdHlwYW5hbHl6ZS5jCisJdXRpbHMvYWR0L2FycmF5X3Vz ZXJmdW5jcy5jCisJdXRpbHMvYWR0L2FycmF5dXRpbHMuYworCXV0aWxzL2Fk dC9hc2NpaS5jCisJdXRpbHMvYWR0L2Jvb2wuYworCXV0aWxzL2FkdC9jYXNo LmMKKwl1dGlscy9hZHQvY2hhci5jCisJdXRpbHMvYWR0L2RhdGUuYworCXV0 aWxzL2FkdC9kYXRldGltZS5jCisJdXRpbHMvYWR0L2RhdHVtLmMKKwl1dGls cy9hZHQvZGJzaXplLmMKKwl1dGlscy9hZHQvZG9tYWlucy5jCisJdXRpbHMv YWR0L2VuY29kZS5jCisJdXRpbHMvYWR0L2VudW0uYworCXV0aWxzL2FkdC9l eHBhbmRlZGRhdHVtLmMKKwl1dGlscy9hZHQvZmxvYXQuYworCXV0aWxzL2Fk dC9mb3JtYXRfdHlwZS5jCisJdXRpbHMvYWR0L2Zvcm1hdHRpbmcuYworCXV0 aWxzL2FkdC9nZW5maWxlLmMKKwl1dGlscy9hZHQvZ2VvX29wcy5jCisJdXRp bHMvYWR0L2dlb19zZWxmdW5jcy5jCisJdXRpbHMvYWR0L2dlb19zcGdpc3Qu YworCXV0aWxzL2FkdC9pbmV0X2NpZHJfbnRvcC5jCisJdXRpbHMvYWR0L2lu ZXRfbmV0X3B0b24uYworCXV0aWxzL2FkdC9pbnQuYworCXV0aWxzL2FkdC9p bnQ4LmMKKwl1dGlscy9hZHQvanNvbi5jCisJdXRpbHMvYWR0L2pzb25iLmMK Kwl1dGlscy9hZHQvanNvbmJfZ2luLmMKKwl1dGlscy9hZHQvanNvbmJfb3Au YworCXV0aWxzL2FkdC9qc29uYl91dGlsLmMKKwl1dGlscy9hZHQvanNvbmZ1 bmNzLmMKKwl1dGlscy9hZHQvbGlrZS5jCisJI3V0aWxzL2FkdC9saWtlX21h dGNoLmMKKwl1dGlscy9hZHQvbG9ja2Z1bmNzLmMKKwl1dGlscy9hZHQvbWFj LmMKKwl1dGlscy9hZHQvbWlzYy5jCisJdXRpbHMvYWR0L25hYnN0aW1lLmMK Kwl1dGlscy9hZHQvbmFtZS5jCisJdXRpbHMvYWR0L25ldHdvcmsuYworCXV0 aWxzL2FkdC9uZXR3b3JrX2dpc3QuYworCXV0aWxzL2FkdC9uZXR3b3JrX3Nl bGZ1bmNzLmMKKwl1dGlscy9hZHQvbnVtZXJpYy5jCisJdXRpbHMvYWR0L251 bXV0aWxzLmMKKwl1dGlscy9hZHQvb2lkLmMKKwl1dGlscy9hZHQvb3JhY2xl X2NvbXBhdC5jCisJdXRpbHMvYWR0L29yZGVyZWRzZXRhZ2dzLmMKKwl1dGls cy9hZHQvcGdfbG9jYWxlLmMKKwl1dGlscy9hZHQvcGdfbHNuLmMKKwl1dGls cy9hZHQvcGdfdXBncmFkZV9zdXBwb3J0LmMKKwl1dGlscy9hZHQvcGdzdGF0 ZnVuY3MuYworCXV0aWxzL2FkdC9wc2V1ZG90eXBlcy5jCisJdXRpbHMvYWR0 L3F1b3RlLmMKKwl1dGlscy9hZHQvcmFuZ2V0eXBlcy5jCisJdXRpbHMvYWR0 L3JhbmdldHlwZXNfZ2lzdC5jCisJdXRpbHMvYWR0L3JhbmdldHlwZXNfc2Vs ZnVuY3MuYworCXV0aWxzL2FkdC9yYW5nZXR5cGVzX3NwZ2lzdC5jCisJdXRp bHMvYWR0L3JhbmdldHlwZXNfdHlwYW5hbHl6ZS5jCisJdXRpbHMvYWR0L3Jl Z2V4cC5jCisJdXRpbHMvYWR0L3JlZ3Byb2MuYworCXV0aWxzL2FkdC9yaV90 cmlnZ2Vycy5jCisJdXRpbHMvYWR0L3Jvd3R5cGVzLmMKKwl1dGlscy9hZHQv cnVsZXV0aWxzLmMKKwl1dGlscy9hZHQvc2VsZnVuY3MuYworCXV0aWxzL2Fk dC90aWQuYworCXV0aWxzL2FkdC90aW1lc3RhbXAuYworCXV0aWxzL2FkdC90 cmlnZnVuY3MuYworCXV0aWxzL2FkdC90c2dpbmlkeC5jCisJdXRpbHMvYWR0 L3RzZ2lzdGlkeC5jCisJdXRpbHMvYWR0L3RzcXVlcnkuYworCXV0aWxzL2Fk dC90c3F1ZXJ5X2NsZWFudXAuYworCXV0aWxzL2FkdC90c3F1ZXJ5X2dpc3Qu YworCXV0aWxzL2FkdC90c3F1ZXJ5X29wLmMKKwl1dGlscy9hZHQvdHNxdWVy eV9yZXdyaXRlLmMKKwl1dGlscy9hZHQvdHNxdWVyeV91dGlsLmMKKwl1dGls cy9hZHQvdHNyYW5rLmMKKwl1dGlscy9hZHQvdHN2ZWN0b3IuYworCXV0aWxz L2FkdC90c3ZlY3Rvcl9vcC5jCisJdXRpbHMvYWR0L3RzdmVjdG9yX3BhcnNl ci5jCisJdXRpbHMvYWR0L3R4aWQuYworCXV0aWxzL2FkdC91dWlkLmMKKwl1 dGlscy9hZHQvdmFyYml0LmMKKwl1dGlscy9hZHQvdmFyY2hhci5jCisJdXRp bHMvYWR0L3ZhcmxlbmEuYworCXV0aWxzL2FkdC9hbXV0aWxzLmMKKwl1dGls cy9hZHQvdmVyc2lvbi5jCisJdXRpbHMvYWR0L3dpbmRvd2Z1bmNzLmMKKwl1 dGlscy9hZHQveGlkLmMKKwl1dGlscy9hZHQveG1sLmMKKwl1dGlscy9hZHQv bmV0d29ya19zcGdpc3QuYworCXV0aWxzL2ZtZ3IvZGZtZ3IuYworCXV0aWxz L2ZtZ3IvZm1nci5jCisJdXRpbHMvZm1nci9mdW5jYXBpLmMKKwl1dGlscy9o YXNoL2R5bmFoYXNoLmMKKwl1dGlscy9oYXNoL2hhc2hmbi5jCisJdXRpbHMv aGFzaC9wZ19jcmMuYworCXV0aWxzL2luaXQvZ2xvYmFscy5jCisJdXRpbHMv aW5pdC9taXNjaW5pdC5jCisJdXRpbHMvaW5pdC9wb3N0aW5pdC5jCisJdXRp bHMvcmVzb3duZXIvcmVzb3duZXIuYworCXV0aWxzL3NvcnQvbG9ndGFwZS5j CisJdXRpbHMvc29ydC9zb3J0c3VwcG9ydC5jCisJdXRpbHMvc29ydC90dXBs ZXNvcnQuYworCXV0aWxzL3NvcnQvdHVwbGVzdG9yZS5jCisJdXRpbHMvdGlt ZS9jb21ib2NpZC5jCisJdXRpbHMvdGltZS90cXVhbC5jCisJdXRpbHMvdGlt ZS9zbmFwbWdyLmMKKwl1dGlscy9taXNjL2d1Yy5jCisJdXRpbHMvbWlzYy9o ZWxwX2NvbmZpZy5jCisJdXRpbHMvbWlzYy9wZ19ydXNhZ2UuYworCXV0aWxz L21pc2MvcGdfY29udHJvbGRhdGEuYworCXV0aWxzL21pc2MvcGdfY29uZmln LmMKKwl1dGlscy9taXNjL3BzX3N0YXR1cy5jCisJdXRpbHMvbWlzYy9ybHMu YworCXV0aWxzL21pc2Mvc2FtcGxpbmcuYworCXV0aWxzL21pc2Mvc3VwZXJ1 c2VyLmMKKwl1dGlscy9taXNjL3RpbWVvdXQuYworCXV0aWxzL21pc2MvdHpw YXJzZXIuYworCXV0aWxzL21iL2VuY25hbWVzLmMKKwl1dGlscy9tYi9jb252 LmMKKwl1dGlscy9tYi9tYnV0aWxzLmMKKwl1dGlscy9tYi93Y2hhci5jCisJ dXRpbHMvbWIvd3N0cmNtcC5jCisJdXRpbHMvbWIvd3N0cm5jbXAuYworKQor CitzZXQobm9kZXNfU1JDUworCW5vZGVzL25vZGVGdW5jcy5jCisJbm9kZXMv bm9kZXMuYworCW5vZGVzL2xpc3QuYworCW5vZGVzL2JpdG1hcHNldC5jCisJ bm9kZXMvdGlkYml0bWFwLmMKKwlub2Rlcy9jb3B5ZnVuY3MuYworCW5vZGVz L2VxdWFsZnVuY3MuYworCW5vZGVzL21ha2VmdW5jcy5jCisJbm9kZXMvb3V0 ZnVuY3MuYworCW5vZGVzL3JlYWRmdW5jcy5jCisJbm9kZXMvcHJpbnQuYwor CW5vZGVzL3JlYWQuYworCW5vZGVzL3BhcmFtcy5jCisJbm9kZXMvdmFsdWUu YworCW5vZGVzL2V4dGVuc2libGUuYworKQorCitzZXQob3B0aW1pemVyX1NS Q1MKKwlvcHRpbWl6ZXIvZ2Vxby9nZXFvX2NvcHkuYworCW9wdGltaXplci9n ZXFvL2dlcW9fZXZhbC5jCisJb3B0aW1pemVyL2dlcW8vZ2Vxb19tYWluLmMK KwlvcHRpbWl6ZXIvZ2Vxby9nZXFvX21pc2MuYworCW9wdGltaXplci9nZXFv L2dlcW9fbXV0YXRpb24uYworCW9wdGltaXplci9nZXFvL2dlcW9fcG9vbC5j CisJb3B0aW1pemVyL2dlcW8vZ2Vxb19yYW5kb20uYworCW9wdGltaXplci9n ZXFvL2dlcW9fcmVjb21iaW5hdGlvbi5jCisJb3B0aW1pemVyL2dlcW8vZ2Vx b19zZWxlY3Rpb24uYworCW9wdGltaXplci9nZXFvL2dlcW9fZXJ4LmMKKwlv cHRpbWl6ZXIvZ2Vxby9nZXFvX3BteC5jCisJb3B0aW1pemVyL2dlcW8vZ2Vx b19jeC5jCisJb3B0aW1pemVyL2dlcW8vZ2Vxb19weC5jCisJb3B0aW1pemVy L2dlcW8vZ2Vxb19veDEuYworCW9wdGltaXplci9nZXFvL2dlcW9fb3gyLmMK KwlvcHRpbWl6ZXIvcGF0aC9hbGxwYXRocy5jCisJb3B0aW1pemVyL3BhdGgv Y2xhdXNlc2VsLmMKKwlvcHRpbWl6ZXIvcGF0aC9jb3N0c2l6ZS5jCisJb3B0 aW1pemVyL3BhdGgvZXF1aXZjbGFzcy5jCisJb3B0aW1pemVyL3BhdGgvaW5k eHBhdGguYworCW9wdGltaXplci9wYXRoL2pvaW5wYXRoLmMKKwlvcHRpbWl6 ZXIvcGF0aC9qb2lucmVscy5jCisJb3B0aW1pemVyL3BhdGgvcGF0aGtleXMu YworCW9wdGltaXplci9wYXRoL3RpZHBhdGguYworCW9wdGltaXplci9wbGFu L2FuYWx5emVqb2lucy5jCisJb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5j CisJb3B0aW1pemVyL3BsYW4vaW5pdHNwbGFuLmMKKwlvcHRpbWl6ZXIvcGxh bi9wbGFuYWdnLmMKKwlvcHRpbWl6ZXIvcGxhbi9wbGFubWFpbi5jCisJb3B0 aW1pemVyL3BsYW4vcGxhbm5lci5jCisJb3B0aW1pemVyL3BsYW4vc2V0cmVm cy5jCisJb3B0aW1pemVyL3BsYW4vc3Vic2VsZWN0LmMKKwlvcHRpbWl6ZXIv cHJlcC9wcmVwam9pbnRyZWUuYworCW9wdGltaXplci9wcmVwL3ByZXBxdWFs LmMKKwlvcHRpbWl6ZXIvcHJlcC9wcmVwc2VjdXJpdHkuYworCW9wdGltaXpl ci9wcmVwL3ByZXB0bGlzdC5jCisJb3B0aW1pemVyL3ByZXAvcHJlcHVuaW9u LmMKKwlvcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKKwlvcHRpbWl6ZXIvdXRp bC9qb2luaW5mby5jCisJb3B0aW1pemVyL3V0aWwvb3JjbGF1c2VzLmMKKwlv cHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jCisJb3B0aW1pemVyL3V0aWwvcGxh Y2Vob2xkZXIuYworCW9wdGltaXplci91dGlsL3BsYW5jYXQuYworCW9wdGlt aXplci91dGlsL3ByZWR0ZXN0LmMKKwlvcHRpbWl6ZXIvdXRpbC9yZWxub2Rl LmMKKwlvcHRpbWl6ZXIvdXRpbC9yZXN0cmljdGluZm8uYworCW9wdGltaXpl ci91dGlsL3RsaXN0LmMKKwlvcHRpbWl6ZXIvdXRpbC92YXIuYworKQorCitz ZXQocmV3cml0ZV9TUkNTCisJcmV3cml0ZS9yZXdyaXRlUmVtb3ZlLmMKKwly ZXdyaXRlL3Jld3JpdGVEZWZpbmUuYworCXJld3JpdGUvcmV3cml0ZUhhbmRs ZXIuYworCXJld3JpdGUvcmV3cml0ZU1hbmlwLmMKKwlyZXdyaXRlL3Jld3Jp dGVTdXBwb3J0LmMKKwlyZXdyaXRlL3Jvd3NlY3VyaXR5LmMKKykKKworc2V0 KHBhcnNlcl9TUkNTCisJcGFyc2VyL2FuYWx5emUuYworCSNwYXJzZXIvZ3Jh bS5jCisJcGFyc2VyL3BhcnNlci5jCisJcGFyc2VyL3BhcnNlX2FnZy5jCisJ cGFyc2VyL3BhcnNlX2NsYXVzZS5jCisJcGFyc2VyL3BhcnNlX2NvZXJjZS5j CisJcGFyc2VyL3BhcnNlX2NvbGxhdGUuYworCXBhcnNlci9wYXJzZV9jdGUu YworCXBhcnNlci9wYXJzZV9leHByLmMKKwlwYXJzZXIvcGFyc2VfZnVuYy5j CisJcGFyc2VyL3BhcnNlX25vZGUuYworCXBhcnNlci9wYXJzZV9vcGVyLmMK KwlwYXJzZXIvcGFyc2VfcGFyYW0uYworCXBhcnNlci9wYXJzZV9yZWxhdGlv bi5jCisJcGFyc2VyL3BhcnNlX3RhcmdldC5jCisJcGFyc2VyL3BhcnNlX3R5 cGUuYworCXBhcnNlci9wYXJzZV91dGlsY21kLmMKKwlwYXJzZXIvc2NhbnN1 cC5jCisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLmMKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQv cGFyc2VyL3NjYW4uYworKQorCitzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRp ZXMoCisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLmMKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQv cGFyc2VyL3NjYW4uYworCVBST1BFUlRJRVMgR0VORVJBVEVEIFRSVUUKKykK Kworc2V0KHRjb3BfU1JDUworCXRjb3AvZGVzdC5jCisJdGNvcC9mYXN0cGF0 aC5jCisJdGNvcC9wb3N0Z3Jlcy5jCisJdGNvcC9wcXVlcnkuYworCXRjb3Av dXRpbGl0eS5jCispCisKK3NldCh0c2VhcmNoX1NSQ1MKKwl0c2VhcmNoL3Rz X2xvY2FsZS5jCisJdHNlYXJjaC90c19wYXJzZS5jCisJdHNlYXJjaC93cGFy c2VyLmMKKwl0c2VhcmNoL3dwYXJzZXJfZGVmLmMKKwl0c2VhcmNoL2RpY3Qu YworCXRzZWFyY2gvZGljdF9zaW1wbGUuYworCXRzZWFyY2gvZGljdF9zeW5v bnltLmMKKwl0c2VhcmNoL2RpY3RfdGhlc2F1cnVzLmMKKwl0c2VhcmNoL2Rp Y3RfaXNwZWxsLmMKKwl0c2VhcmNoL3JlZ2lzLmMKKwl0c2VhcmNoL3NwZWxs LmMKKwl0c2VhcmNoL3RvX3RzYW55LmMKKwl0c2VhcmNoL3RzX3NlbGZ1bmNz LmMKKwl0c2VhcmNoL3RzX3R5cGFuYWx5emUuYworCXRzZWFyY2gvdHNfdXRp bHMuYworKQorCitpbnN0YWxsKEZJTEVTCisJCQl0c2VhcmNoL2RpY3RzL2lz cGVsbF9zYW1wbGUuZGljdAorCQkJdHNlYXJjaC9kaWN0cy9pc3BlbGxfc2Ft cGxlLmFmZml4CisJCQl0c2VhcmNoL2RpY3RzL2h1bnNwZWxsX3NhbXBsZS5h ZmZpeAorCQkJdHNlYXJjaC9kaWN0cy9odW5zcGVsbF9zYW1wbGVfbG9uZy5h ZmZpeAorCQkJdHNlYXJjaC9kaWN0cy9odW5zcGVsbF9zYW1wbGVfbG9uZy5k aWN0CisJCQl0c2VhcmNoL2RpY3RzL2h1bnNwZWxsX3NhbXBsZV9udW0uYWZm aXgKKwkJCXRzZWFyY2gvZGljdHMvaHVuc3BlbGxfc2FtcGxlX251bS5kaWN0 CisJCQl0c2VhcmNoL2RpY3RzL3N5bm9ueW1fc2FtcGxlLnN5bgorCQkJdHNl YXJjaC9kaWN0cy90aGVzYXVydXNfc2FtcGxlLnRocworCQlERVNUSU5BVElP TiAke1BHU0hBUkVESVJ9L3RzZWFyY2hfZGF0YSkKKworc2V0KHJlZ2V4X1NS Q1MKKwlyZWdleC9yZWdjb21wLmMKKwlyZWdleC9yZWdlcnJvci5jCisJcmVn ZXgvcmVnZXhlYy5jCisJcmVnZXgvcmVnZnJlZS5jCisJcmVnZXgvcmVncHJl Zml4LmMKKwlyZWdleC9yZWdleHBvcnQuYworKQorCitzZXQocG9zdG1hc3Rl cl9TUkNTCisJcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKKwlwb3N0bWFzdGVy L2Jnd29ya2VyLmMKKwlwb3N0bWFzdGVyL2Jnd3JpdGVyLmMKKwlwb3N0bWFz dGVyL2NoZWNrcG9pbnRlci5jCisJcG9zdG1hc3Rlci9mb3JrX3Byb2Nlc3Mu YworCXBvc3RtYXN0ZXIvcGdhcmNoLmMKKwlwb3N0bWFzdGVyL3Bnc3RhdC5j CisJcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKKwlwb3N0bWFzdGVyL3N0YXJ0 dXAuYworCXBvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMKKwlwb3N0bWFzdGVyL3dh bHdyaXRlci5jCispCisKK2lmKFdJTjMyIE9SIENZR1dJTiBPUiBNSU5HVykK KwlzZXQoYmFja2VuZF9wb3J0X3dpbjMyX1NSQworCQlwb3J0L3dpbjMyL3Rp bWVyLmMKKwkJcG9ydC93aW4zMi9zb2NrZXQuYworCQlwb3J0L3dpbjMyL3Np Z25hbC5jCisJCSMgSSBob3BlIGl0IGlzIG5vdCBuZWNlc3NhcnkgZm9yIG1v ZGVybiBNaW5HVworCQkjcG9ydC93aW4zMi9taW5nd2NvbXBhdC5jCisJCXBv cnQvd2luMzIvY3Jhc2hkdW1wLmMKKwkpCisJaWYoTkFWRV9NSU5JRFVNUF9U WVBFKQorCQlzZXQoYmFja2VuZF9wb3J0X3dpbjMyX1NSQworCQkJJHtiYWNr ZW5kX3BvcnRfd2luMzJfU1JDfQorCQkJcG9ydC93aW4zMi9jcmFzaGR1bXAu YworCQkpCisJZW5kaWYoTkFWRV9NSU5JRFVNUF9UWVBFKQorZW5kaWYoKQor CitzZXQoZ2VuX2x3bG9ja25hbWVzX2RlcGVuZAorCSR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvZ2VuZXJhdGUtbHds b2NrbmFtZXMucGwKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tl bmQvc3RvcmFnZS9sbWdyL2x3bG9ja25hbWVzLnR4dAorKQorCitzZXQoZ2Vu X2x3bG9ja25hbWVzX291dHB1dAorCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbHdsb2NrbmFtZXMuYworCSR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbHds b2NrbmFtZXMuaAorCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVk ZS9zdG9yYWdlL2x3bG9ja25hbWVzLmgKKykKKworCithZGRfY3VzdG9tX2Nv bW1hbmQoCisJT1VUUFVUICR7Z2VuX2x3bG9ja25hbWVzX291dHB1dH0KKwlN QUlOX0RFUEVOREVOQ1kgJHtnZW5fbHdsb2NrbmFtZXNfZGVwZW5kfQorCUNP TU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9IGdlbmVyYXRlLWx3bG9ja25hbWVz LnBsIGx3bG9ja25hbWVzLnR4dAorCUNPTU1BTkQgJHtDTUFLRV9DT01NQU5E fSAtRSBjb3B5IGx3bG9ja25hbWVzLmggJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlL3N0b3JhZ2UvbHdsb2NrbmFtZXMuaAorCVdPUktJTkdf RElSRUNUT1JZICR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC9z dG9yYWdlL2xtZ3IKKykKKworc2V0KGJhY2tlbmRfcG9ydF9TUkNTCisJcG9y dC9hdG9taWNzLmMKKwlwb3J0L3Rhcy8ke1RBU30KKwkke2JhY2tlbmRfcG9y dF93aW4zMl9TUkN9CisJJHtiYWNrZW5kX3BvcnRfZGFyd2luX1NSQ30KKwkk e2R5bmxvYWRlcl9TUkNTfQorCSR7U0VNQV9JTVBMRU1FTlRBVElPTn0KKwkk e1NITUVNX0lNUExFTUVOVEFUSU9OfQorKQorCisKK3NldChzdG9yYWdlX1NS Q1MKKwkke2dlbl9sd2xvY2tuYW1lc19vdXRwdXR9CisJc3RvcmFnZS9idWZm ZXIvYnVmX3RhYmxlLmMKKwlzdG9yYWdlL2J1ZmZlci9idWZfaW5pdC5jCisJ c3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKKwlzdG9yYWdlL2J1ZmZlci9mcmVl bGlzdC5jCisJc3RvcmFnZS9idWZmZXIvbG9jYWxidWYuYworCXN0b3JhZ2Uv ZmlsZS9mZC5jCisJc3RvcmFnZS9maWxlL2J1ZmZpbGUuYworCXN0b3JhZ2Uv ZmlsZS9jb3B5ZGlyLmMKKwlzdG9yYWdlL2ZpbGUvcmVpbml0LmMKKwlzdG9y YWdlL2ZyZWVzcGFjZS9mcmVlc3BhY2UuYworCXN0b3JhZ2UvZnJlZXNwYWNl L2ZzbXBhZ2UuYworCXN0b3JhZ2UvZnJlZXNwYWNlL2luZGV4ZnNtLmMKKwlz dG9yYWdlL2lwYy9kc21faW1wbC5jCisJc3RvcmFnZS9pcGMvZHNtLmMKKwlz dG9yYWdlL2lwYy9pcGMuYworCXN0b3JhZ2UvaXBjL2lwY2kuYworCXN0b3Jh Z2UvaXBjL3Btc2lnbmFsLmMKKwlzdG9yYWdlL2lwYy9wcm9jYXJyYXkuYwor CXN0b3JhZ2UvaXBjL3Byb2NzaWduYWwuYworCXN0b3JhZ2UvaXBjL3NobWVt LmMKKwlzdG9yYWdlL2lwYy9zaG1xdWV1ZS5jCisJc3RvcmFnZS9pcGMvc2ht X21xLmMKKwlzdG9yYWdlL2lwYy9zaG1fdG9jLmMKKwlzdG9yYWdlL2lwYy9z aW52YWwuYworCXN0b3JhZ2UvaXBjL3NpbnZhbGFkdC5jCisJc3RvcmFnZS9p cGMvc3RhbmRieS5jCisJc3RvcmFnZS9pcGMvbGF0Y2guYworCXN0b3JhZ2Uv bGFyZ2Vfb2JqZWN0L2ludl9hcGkuYworCXN0b3JhZ2UvbG1nci9sbWdyLmMg IyBOZWVkIHNvbWUgZm9yIGNoZWNrIHNfbG9jaworCXN0b3JhZ2UvbG1nci9s b2NrLmMKKwlzdG9yYWdlL2xtZ3IvcHJvYy5jCisJc3RvcmFnZS9sbWdyL2Rl YWRsb2NrLmMKKwlzdG9yYWdlL2xtZ3IvbHdsb2NrLmMKKwlzdG9yYWdlL2xt Z3Ivc3Bpbi5jCisJc3RvcmFnZS9sbWdyL3NfbG9jay5jCisJc3RvcmFnZS9s bWdyL3ByZWRpY2F0ZS5jCisJc3RvcmFnZS9wYWdlL2J1ZnBhZ2UuYworCXN0 b3JhZ2UvcGFnZS9jaGVja3N1bS5jCisJc3RvcmFnZS9wYWdlL2l0ZW1wdHIu YworCXN0b3JhZ2Uvc21nci9tZC5jCisJc3RvcmFnZS9zbWdyL3NtZ3IuYwor CXN0b3JhZ2Uvc21nci9zbWdydHlwZS5jCispCisKK2lmKE5PVCBNU1ZDKQor CXNldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcyhzdG9yYWdlL3BhZ2UvY2hl Y2tzdW0uYworCQlQUk9QRVJUSUVTIENPTVBJTEVfRkxBR1MgJHtDRkxBR1Nf VkVDVE9SfSkKK2VuZGlmKCkKK2Jpc29uX3RhcmdldChSRVBMX0dSQU0KKwly ZXBsaWNhdGlvbi9yZXBsX2dyYW0ueQorCSR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfS9yZXBsaWNhdGlvbi9yZXBsX2dyYW0uYworKQorZmxleF90YXJn ZXQoUkVQTF9TQ0FOCisJcmVwbGljYXRpb24vcmVwbF9zY2FubmVyLmwKKwkk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcmVwbGljYXRpb24vcmVwbF9z Y2FubmVyLmMKKykKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcygke0JJ U09OX1JFUExfR1JBTV9PVVRQVVRTfQorCVBST1BFUlRJRVMgT0JKRUNUX0RF UEVORFMgJHtGTEVYX1JFUExfU0NBTl9PVVRQVVRTfSkKKworYmlzb25fdGFy Z2V0KFNZTkNfR1JBTQorCXJlcGxpY2F0aW9uL3N5bmNyZXBfZ3JhbS55CisJ JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3JlcGxpY2F0aW9uL3N5bmNy ZXBfZ3JhbS5jCispCitmbGV4X3RhcmdldChTWU5DX1NDQU4KKwlyZXBsaWNh dGlvbi9zeW5jcmVwX3NjYW5uZXIubAorCSR7Q01BS0VfQ1VSUkVOVF9TT1VS Q0VfRElSfS9yZXBsaWNhdGlvbi9zeW5jcmVwX3NjYW5uZXIuYworKQorc2V0 X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7QklTT05fU1lOQ19HUkFNX09V VFBVVFN9CisJUFJPUEVSVElFUyBPQkpFQ1RfREVQRU5EUyAke0ZMRVhfU1lO Q19TQ0FOX09VVFBVVFN9KQorCisKK3NldChyZXBsaWNhdGlvbl9TUkNTCisJ cmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKKwlyZXBsaWNhdGlvbi93YWxyZWNl aXZlcmZ1bmNzLmMKKwlyZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jCisJcmVw bGljYXRpb24vYmFzZWJhY2t1cC5jCisJcmVwbGljYXRpb24vc2xvdC5jCisJ cmVwbGljYXRpb24vc2xvdGZ1bmNzLmMKKwlyZXBsaWNhdGlvbi9zeW5jcmVw LmMKKwlyZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jCisJcmVwbGljYXRp b24vbG9naWNhbC9sb2dpY2FsLmMKKwlyZXBsaWNhdGlvbi9sb2dpY2FsL2xv Z2ljYWxmdW5jcy5jCisJcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVm ZmVyLmMKKwlyZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jCisJcmVwbGlj YXRpb24vbG9naWNhbC9zbmFwYnVpbGQuYworCXJlcGxpY2F0aW9uL2xvZ2lj YWwvbWVzc2FnZS5jCisJJHtCSVNPTl9SRVBMX0dSQU1fT1VUUFVUU30KKwkk e0JJU09OX1NZTkNfR1JBTV9PVVRQVVRTfQorKQorCitzZXQodGltZXpvbmVf U1JDUworCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvdGltZXpvbmUvbG9j YWx0aW1lLmMKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3RpbWV6b25l L3N0cmZ0aW1lLmMKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3RpbWV6 b25lL3BndHouYworKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisJT1VUUFVU ICIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvdXRpbHMvc29y dC9xc29ydF90dXBsZS5jIgorCSNNQUlOX0RFUEVOREVOQ1kgZ2VuX3Fzb3J0 X3R1cGxlLnBsCisJQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gImdlbl9x c29ydF90dXBsZS5wbCIgPiAiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9i YWNrZW5kL3V0aWxzL3NvcnQvcXNvcnRfdHVwbGUuYyIKKwlXT1JLSU5HX0RJ UkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vdXRpbHMvc29y dAorKQorCitzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRpZXModXRpbHMvc29y dC90dXBsZXNvcnQuYworCVBST1BFUlRJRVMgT0JKRUNUX0RFUEVORFMgIiR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmFja2VuZC91dGlscy9zb3J0L3Fz b3J0X3R1cGxlLmMiKQorCitzZXQocG9zdGdyZXNfU1JDUworCSR7c3RvcmFn ZV9TUkNTfQorCSR7YWNjZXNzX1NSQ1N9CisJJHtib290c3RyYXBfU1JDU30K Kwkke2NvbW1hbmRzX1NSQ1N9CisJJHtjYXRhbG9nX1NSQ1N9CisJJHtleGVj dXRvcl9TUkNTfQorCWZvcmVpZ24vZm9yZWlnbi5jCisJJHt1dGlsc19TUkNT fQorCSR7bGliX1NSQ1N9CisJJHtsaWJwcV9TUkNTfQorCSR7bm9kZXNfU1JD U30KKwkke29wdGltaXplcl9TUkNTfQorCSR7cmV3cml0ZV9TUkNTfQorCSR7 cGFyc2VyX1NSQ1N9CisJJHt0Y29wX1NSQ1N9CisJJHt0c2VhcmNoX1NSQ1N9 CisJJHtyZWdleF9TUkNTfQorCSR7cG9zdG1hc3Rlcl9TUkNTfQorCSR7YmFj a2VuZF9wb3J0X1NSQ1N9CisJJHtyZXBsaWNhdGlvbl9TUkNTfQorCSR7dGlt ZXpvbmVfU1JDU30KKwltYWluL21haW4uYworKQorCitpZihPUEVOU1NMX0ZP VU5EKQorCWluY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JFCSR7T1BFTlNTTF9J TkNMVURFX0RJUn0pCitlbmRpZigpCitpZihMSUJYTUwyX0ZPVU5EKQorCWlu Y2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JFCSR7TElCWE1MMl9JTkNMVURFX0RJ Un0pCitlbmRpZigpCisjaW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKyMJ JHtPUEVOU1NMX0lOQ0xVREVfRElSfQorIwkke0xJQlhNTDJfSU5DTFVERV9E SVJ9CisjKQorCitpZihNU1ZDKQorCXNldChDTUFLRV9FWEVfTElOS0VSX0ZM QUdTICIke0NNQUtFX0VYRV9MSU5LRVJfRkxBR1N9IC9TVEFDSzoke1dJTjMy X1NUQUNLX1JMSU1JVH0iKQorZW5kaWYoKQorCitpZihNSU5HVyBPUiBDWUdX SU4pCisJc2V0KENNQUtFX0VYRV9MSU5LRVJfRkxBR1MgIiR7Q01BS0VfRVhF X0xJTktFUl9GTEFHU30gLVdsLC0tc3RhY2ssJHtXSU4zMl9TVEFDS19STElN SVR9IC1XbCwtLWV4cG9ydC1hbGwtc3ltYm9scyIpCitlbmRpZigpCisKK2Fk ZF9leGVjdXRhYmxlKHBvc3RncmVzCisJJHtwb3N0Z3Jlc19TUkNTfQorKQor Cit0YXJnZXRfbGlua19saWJyYXJpZXMocG9zdGdyZXMKKwlwZ2NvbW1vbl9z cnYKKwlwb3J0X3NydgorCXBxCisJJHtSRUFETElORV9MSUJSQVJZfQorCSR7 Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0KKwkke0RMX0xJQlJBUklFU30KKwkk e0xJQl9NfQorCSR7R1NTX0xJQlN9CispCisKK2lmKE9QRU5TU0xfRk9VTkQp CisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBvc3RncmVzICR7T1BFTlNTTF9M SUJSQVJJRVN9KQorZW5kaWYoKQorCitpZihMSUJYTUwyX0ZPVU5EKQorCXRh cmdldF9saW5rX2xpYnJhcmllcyhwb3N0Z3JlcyAke0xJQlhNTDJfTElCUkFS SUVTfSkKK2VuZGlmKCkKKworaWYoVVNFX1BBTSkKKwl0YXJnZXRfbGlua19s aWJyYXJpZXMocG9zdGdyZXMgJHtQQU1fTElCfSkKK2VuZGlmKCkKKworaWYo TERBUF9GT1VORCkKKwl0YXJnZXRfbGlua19saWJyYXJpZXMocG9zdGdyZXMg JHtMQkVSX0xJQlJBUklFU30pCitlbmRpZigpCisKK2FkZF9kZXBlbmRlbmNp ZXMocG9zdGdyZXMgZ2VuX2Vycm9yY29kZXMgZ2VuZXJhdGVfcGFyc2VyX2dy YW1faCkKKworaWYoVU5JWCBBTkQgTk9UIEFQUExFKQorCXRhcmdldF9saW5r X2xpYnJhcmllcyhwb3N0Z3JlcyBydCkKK2VuZGlmKCkKKworCit0YXJnZXRf Y29tcGlsZV9kZWZpbml0aW9ucyhwb3N0Z3JlcyBQUklWQVRFIC1EUEdfS1JC X1NSVlRBQj0iJHtQR19LUkJfU1JWVEFCfSIpCisKK2lmKFdJTjMyKQorCXRh cmdldF9jb21waWxlX2RlZmluaXRpb25zKHBvc3RncmVzIFBSSVZBVEUgLURC VUlMRElOR19ETEwgLURFWEVDX0JBQ0tFTkQpCitlbmRpZigpCisKK2lmKE1J TkdXKQorCXNldF90YXJnZXRfcHJvcGVydGllcyhwb3N0Z3JlcyBQUk9QRVJU SUVTIExJTktfRkxBR1MgLVdsLC0tb3V0LWltcGxpYj1saWJwb3N0Z3Jlcy5k bGwuYSkKK2VuZGlmKCkKKworc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHBvc3Rn cmVzIFBST1BFUlRJRVMgRU5BQkxFX0VYUE9SVFMgMSkKK3NldF90YXJnZXRf cHJvcGVydGllcyhwb3N0Z3JlcyBQUk9QRVJUSUVTIFdJTkRPV1NfRVhQT1JU X0FMTF9TWU1CT0xTIE9OKQorI1JlYWx5IG5lZWQ/CithZGRfY3VzdG9tX3Rh cmdldChkdXBsaWNhdGVfb2lkcworCUNPTU1BTkQgJHtQRVJMX0VYRUNVVEFC TEV9IC4vZHVwbGljYXRlX29pZHMKKwlXT1JLSU5HX0RJUkVDVE9SWSAke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvY2F0YWxvZworKQorCith ZGRfbGlicmFyeShwcXdhbHJlY2VpdmVyIE1PRFVMRQorCXJlcGxpY2F0aW9u L2xpYnBxd2FscmVjZWl2ZXIvbGlicHF3YWxyZWNlaXZlci5jCisJJHtiYWNr ZW5kX3BvcnRfd2luMzJfU1JDfQorCSR7YmFja2VuZF9wb3J0X2Rhcndpbl9T UkN9CispCisKK2lmKE1TVkMpCisJZ2VuX2RlZihwcXdhbHJlY2VpdmVyKQor CWdlbl9kZWYocG9zdGdyZXMpCitlbmRpZigpCisKK2lmKFdJTjMyKQorCXRh cmdldF9saW5rX2xpYnJhcmllcyhwcXdhbHJlY2VpdmVyIHBvc3RncmVzKQor ZW5kaWYoKQorCisjU3RyYW5nZSBsb2dpYworaWYoTUlOR1cpCisJdGFyZ2V0 X2NvbXBpbGVfZGVmaW5pdGlvbnMocHF3YWxyZWNlaXZlciBQUklWQVRFIC1E QlVJTERJTkdfRExMKQorZW5kaWYoKQorCit0YXJnZXRfbGlua19saWJyYXJp ZXMocHF3YWxyZWNlaXZlciBwcSkKKworaW5zdGFsbChUQVJHRVRTIHBvc3Rn cmVzIHBxd2FscmVjZWl2ZXIKKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BH QklORElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKKwor aW5zdGFsbChGSUxFUworCWNhdGFsb2cvcG9zdGdyZXMuYmtpCisJY2F0YWxv Zy9wb3N0Z3Jlcy5kZXNjcmlwdGlvbgorCWNhdGFsb2cvcG9zdGdyZXMuc2hk ZXNjcmlwdGlvbgorCWNhdGFsb2cvaW5mb3JtYXRpb25fc2NoZW1hLnNxbAor CWNhdGFsb2cvc3FsX2ZlYXR1cmVzLnR4dAorCWNhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbAorCWxpYnBxL3BnX2hiYS5jb25mLnNhbXBsZQorCWxpYnBxL3Bn X2lkZW50LmNvbmYuc2FtcGxlCisJdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNv bmYuc2FtcGxlCitERVNUSU5BVElPTiAke1BHU0hBUkVESVJ9KQorCithZGRf c3ViZGlyZWN0b3J5KHV0aWxzL21iL2NvbnZlcnNpb25fcHJvY3MpCithZGRf c3ViZGlyZWN0b3J5KHNub3diYWxsKQorCitpZihFTkFCTEVfTkxTKQorCU1B S0VfTU8ocG9zdGdyZXMgImRlO2VzO2ZyO2lkO2l0O2phO3BsO3B0X0JSO3J1 O3poX0NOIikKK2VuZGlmKCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2xp YnBxL2F1dGguYyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwppbmRleCBk OTA3ZTZiLi4xYWFkOGYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJw cS9hdXRoLmMKKysrIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCkBAIC04 MjIsNyArODIyLDcgQEAgcGdfR1NTX3JlY3ZhdXRoKFBvcnQgKnBvcnQpCiAJ CQlpZiAoIWt0X3BhdGggfHwKIAkJCQlzbnByaW50ZihrdF9wYXRoLCBrdF9s ZW4sICJLUkI1X0tUTkFNRT0lcyIsCiAJCQkJCQkgcGdfa3JiX3NlcnZlcl9r ZXlmaWxlKSAhPSBrdF9sZW4gLSAyIHx8Ci0JCQkJcHV0ZW52KGt0X3BhdGgp ICE9IDApCisJCQkJcGdfcHV0ZW52X3Byb3h5KGt0X3BhdGgpICE9IDApCiAJ CQl7CiAJCQkJZXJlcG9ydChMT0csCiAJCQkJCQkoZXJyY29kZShFUlJDT0RF X09VVF9PRl9NRU1PUlkpLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc25v d2JhbGwvQ01ha2VMaXN0cy50eHQgYi9zcmMvYmFja2VuZC9zbm93YmFsbC9D TWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4xMjk5MjcxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQv c25vd2JhbGwvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxMjYgQEAKK2lu Y2x1ZGVfZGlyZWN0b3JpZXMoCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvaW5jbHVkZS9zbm93YmFsbCIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy9pbmNsdWRlL3Nub3diYWxsL2xpYnN0ZW1tZXIiCispCisKK3NldChz bm93X2xhbmd1YWdlcworCSJkYW5pc2hcO2RhbmlzaCIKKwkiZHV0Y2hcO2R1 dGNoIgorCSJlbmdsaXNoXDtlbmdsaXNoIgorCSJmaW5uaXNoXDtmaW5uaXNo IgorCSJmcmVuY2hcO2ZyZW5jaCIKKwkiZ2VybWFuXDtnZXJtYW4iCisJImh1 bmdhcmlhblw7aHVuZ2FyaWFuIgorCSJpdGFsaWFuXDtpdGFsaWFuIgorCSJu b3J3ZWdpYW5cO25vcndlZ2lhbiIKKwkicG9ydHVndWVzZVw7cG9ydHVndWVz ZSIKKwkicm9tYW5pYW5cO3JvbWFuaWFuIgorCSJydXNzaWFuXDtlbmdsaXNo IgorCSJzcGFuaXNoXDtzcGFuaXNoIgorCSJzd2VkaXNoXDtzd2VkaXNoIgor CSJ0dXJraXNoXDt0dXJraXNoIgorKQorCisjQ3JlYXRlIHNub3diYWxsX2Ny ZWF0ZS5zcWwKK2ZpbGUoU1RSSU5HUyBzbm93YmFsbC5zcWwuaW4gc25vd2Jh bGxfc3FsX3RtcGwgTkVXTElORV9DT05TVU1FKQorZmlsZShTVFJJTkdTIHNu b3diYWxsX2Z1bmMuc3FsLmluIHNub3diYWxsX2Z1bmNfc3FsX3RtcGwgTkVX TElORV9DT05TVU1FKQorCitmaWxlKFdSSVRFICJzbm93YmFsbF9jcmVhdGUu c3FsIiAke3Nub3diYWxsX2Z1bmNfc3FsX3RtcGx9KQorCitmb3JlYWNoKHBh aXJfbGFuZ3VhZ2UgJHtzbm93X2xhbmd1YWdlc30pCisJTElTVChHRVQgcGFp cl9sYW5ndWFnZSAwIGxhbmcpCisJTElTVChHRVQgcGFpcl9sYW5ndWFnZSAx IGFzY2lpX2xhbmcpCisJaWYoRVhJU1RTICIke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0vc3RvcHdvcmRzLyR7bGFuZ30uc3RvcCIpCisJCXNldChzdG9w d29yZHMgIiwgU3RvcFdvcmRzPSR7bGFuZ30iKQorCWVsc2UoKQorCQlzZXQo c3RvcHdvcmRzICIiKQorCWVuZGlmKCkKKwlzdHJpbmcoUkVQTEFDRSAiX0xB TkdOQU1FXyIKKwkJIiR7bGFuZ30iIG91dF9zdHJpbmcKKwkJIiR7c25vd2Jh bGxfc3FsX3RtcGx9IikKKwlzdHJpbmcoUkVQTEFDRSAiX0RJQ1ROQU1FXyIK KwkJIiR7bGFuZ31fc3RlbSIgb3V0X3N0cmluZworCQkiJHtvdXRfc3RyaW5n fSIpCisJc3RyaW5nKFJFUExBQ0UgIl9DRkdOQU1FXyIKKwkJIiR7bGFuZ30i IG91dF9zdHJpbmcKKwkJIiR7b3V0X3N0cmluZ30iKQorCXN0cmluZyhSRVBM QUNFICJfQVNDRElDVE5BTUVfIgorCQkiJHthc2NpaV9sYW5nfV9zdGVtIiBv dXRfc3RyaW5nCisJCSIke291dF9zdHJpbmd9IikKKwlzdHJpbmcoUkVQTEFD RSAiX05PTkFTQ0RJQ1ROQU1FXyIKKwkJIiR7bGFuZ31fc3RlbSIgb3V0X3N0 cmluZworCQkiJHtvdXRfc3RyaW5nfSIpCisJc3RyaW5nKFJFUExBQ0UgIl9T VE9QV09SRFNfIgorCQkiJHtzdG9wd29yZHN9IiBvdXRfc3RyaW5nCisJCSIk e291dF9zdHJpbmd9IikKKwlmaWxlKEFQUEVORCAic25vd2JhbGxfY3JlYXRl LnNxbCIgJHtvdXRfc3RyaW5nfSkKK2VuZGZvcmVhY2goKQorCisKK3NldChz bm93YmFsbF9TUkNTCisJZGljdF9zbm93YmFsbC5jCisJbGlic3RlbW1lci9h cGkuYworCWxpYnN0ZW1tZXIvdXRpbGl0aWVzLmMKKwlsaWJzdGVtbWVyL3N0 ZW1fSVNPXzg4NTlfMV9kYW5pc2guYworCWxpYnN0ZW1tZXIvc3RlbV9JU09f ODg1OV8xX2R1dGNoLmMKKwlsaWJzdGVtbWVyL3N0ZW1fSVNPXzg4NTlfMV9l bmdsaXNoLmMKKwlsaWJzdGVtbWVyL3N0ZW1fSVNPXzg4NTlfMV9maW5uaXNo LmMKKwlsaWJzdGVtbWVyL3N0ZW1fSVNPXzg4NTlfMV9mcmVuY2guYworCWxp YnN0ZW1tZXIvc3RlbV9JU09fODg1OV8xX2dlcm1hbi5jCisJbGlic3RlbW1l ci9zdGVtX0lTT184ODU5XzFfaHVuZ2FyaWFuLmMKKwlsaWJzdGVtbWVyL3N0 ZW1fSVNPXzg4NTlfMV9pdGFsaWFuLmMKKwlsaWJzdGVtbWVyL3N0ZW1fSVNP Xzg4NTlfMV9ub3J3ZWdpYW4uYworCWxpYnN0ZW1tZXIvc3RlbV9JU09fODg1 OV8xX3BvcnRlci5jCisJbGlic3RlbW1lci9zdGVtX0lTT184ODU5XzFfcG9y dHVndWVzZS5jCisJbGlic3RlbW1lci9zdGVtX0lTT184ODU5XzFfc3Bhbmlz aC5jCisJbGlic3RlbW1lci9zdGVtX0lTT184ODU5XzFfc3dlZGlzaC5jCisJ bGlic3RlbW1lci9zdGVtX0lTT184ODU5XzJfcm9tYW5pYW4uYworCWxpYnN0 ZW1tZXIvc3RlbV9LT0k4X1JfcnVzc2lhbi5jCisJbGlic3RlbW1lci9zdGVt X1VURl84X2RhbmlzaC5jCisJbGlic3RlbW1lci9zdGVtX1VURl84X2R1dGNo LmMKKwlsaWJzdGVtbWVyL3N0ZW1fVVRGXzhfZW5nbGlzaC5jCisJbGlic3Rl bW1lci9zdGVtX1VURl84X2Zpbm5pc2guYworCWxpYnN0ZW1tZXIvc3RlbV9V VEZfOF9mcmVuY2guYworCWxpYnN0ZW1tZXIvc3RlbV9VVEZfOF9nZXJtYW4u YworCWxpYnN0ZW1tZXIvc3RlbV9VVEZfOF9odW5nYXJpYW4uYworCWxpYnN0 ZW1tZXIvc3RlbV9VVEZfOF9pdGFsaWFuLmMKKwlsaWJzdGVtbWVyL3N0ZW1f VVRGXzhfbm9yd2VnaWFuLmMKKwlsaWJzdGVtbWVyL3N0ZW1fVVRGXzhfcG9y dGVyLmMKKwlsaWJzdGVtbWVyL3N0ZW1fVVRGXzhfcG9ydHVndWVzZS5jCisJ bGlic3RlbW1lci9zdGVtX1VURl84X3JvbWFuaWFuLmMKKwlsaWJzdGVtbWVy L3N0ZW1fVVRGXzhfcnVzc2lhbi5jCisJbGlic3RlbW1lci9zdGVtX1VURl84 X3NwYW5pc2guYworCWxpYnN0ZW1tZXIvc3RlbV9VVEZfOF9zd2VkaXNoLmMK KwlsaWJzdGVtbWVyL3N0ZW1fVVRGXzhfdHVya2lzaC5jCispCisKK2FkZF9s aWJyYXJ5KGRpY3Rfc25vd2JhbGwgTU9EVUxFICR7c25vd2JhbGxfU1JDU30p Cit0YXJnZXRfbGlua19saWJyYXJpZXMoZGljdF9zbm93YmFsbCBwb3N0Z3Jl cykKK2lmIChNU1ZDKQorCWdlbl9kZWYoZGljdF9zbm93YmFsbCkKKwl0YXJn ZXRfbGlua19saWJyYXJpZXMoZGljdF9zbm93YmFsbCBwZ2NvbW1vbiBwb3J0 KQorZW5kaWYoKQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGRpY3Rfc25vd2Jh bGwgUFJPUEVSVElFUyBQUkVGSVggIiIpCitpbnN0YWxsKFRBUkdFVFMgZGlj dF9zbm93YmFsbAorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9 CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQorCitpbnN0YWxs KEZJTEVTIHNub3diYWxsX2NyZWF0ZS5zcWwKKwkJREVTVElOQVRJT04gJHtQ R1NIQVJFRElSfSkKKworaW5zdGFsbChGSUxFUworCQlzdG9wd29yZHMvZGFu aXNoLnN0b3AKKwkJc3RvcHdvcmRzL2R1dGNoLnN0b3AKKwkJc3RvcHdvcmRz L2VuZ2xpc2guc3RvcAorCQlzdG9wd29yZHMvZmlubmlzaC5zdG9wCisJCXN0 b3B3b3Jkcy9mcmVuY2guc3RvcAorCQlzdG9wd29yZHMvZ2VybWFuLnN0b3AK KwkJc3RvcHdvcmRzL2h1bmdhcmlhbi5zdG9wCisJCXN0b3B3b3Jkcy9pdGFs aWFuLnN0b3AKKwkJc3RvcHdvcmRzL25vcndlZ2lhbi5zdG9wCisJCXN0b3B3 b3Jkcy9wb3J0dWd1ZXNlLnN0b3AKKwkJc3RvcHdvcmRzL3J1c3NpYW4uc3Rv cAorCQlzdG9wd29yZHMvc3BhbmlzaC5zdG9wCisJCXN0b3B3b3Jkcy9zd2Vk aXNoLnN0b3AKKwkJc3RvcHdvcmRzL3R1cmtpc2guc3RvcAorCQlERVNUSU5B VElPTiAke1BHU0hBUkVESVJ9L3RzZWFyY2hfZGF0YSkKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwppbmRleCBhODE4MDIzLi41YzI2 YmYyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9j YWxlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j CkBAIC0yMzgsNyArMjM4LDcgQEAgcGdfcGVybV9zZXRsb2NhbGUoaW50IGNh dGVnb3J5LCBjb25zdCBjaGFyICpsb2NhbGUpCiAKIAlzbnByaW50ZihlbnZi dWYsIExDX0VOVl9CVUZTSVpFIC0gMSwgIiVzPSVzIiwgZW52dmFyLCByZXN1 bHQpOwogCi0JaWYgKHB1dGVudihlbnZidWYpKQorCWlmIChwZ19wdXRlbnZf cHJveHkoZW52YnVmKSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlyZXR1cm4gcmVz dWx0OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWIvY29udmVy c2lvbl9wcm9jcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9iYWNrZW5kL3V0aWxz L21iL2NvbnZlcnNpb25fcHJvY3MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA4ZjU4ZQotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21iL2NvbnZlcnNpb25fcHJv Y3MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyMDEgQEAKK3NldChwcm9j c19saXN0CisJYXNjaWlfYW5kX21pYworCWN5cmlsbGljX2FuZF9taWMKKwll dWNfY25fYW5kX21pYworCWV1Y19qcF9hbmRfc2ppcworCWV1Y19rcl9hbmRf bWljCisJZXVjX3R3X2FuZF9iaWc1CisJbGF0aW4yX2FuZF93aW4xMjUwCisJ bGF0aW5fYW5kX21pYworCXV0ZjhfYW5kX2FzY2lpCisJdXRmOF9hbmRfYmln NQorCXV0ZjhfYW5kX2N5cmlsbGljCisJdXRmOF9hbmRfZXVjX2NuCisJdXRm OF9hbmRfZXVjX2pwCisJdXRmOF9hbmRfZXVjX2tyCisJdXRmOF9hbmRfZXVj X3R3CisJdXRmOF9hbmRfZ2IxODAzMAorCXV0ZjhfYW5kX2diaworCXV0Zjhf YW5kX2lzbzg4NTkKKwl1dGY4X2FuZF9pc284ODU5XzEKKwl1dGY4X2FuZF9q b2hhYgorCXV0ZjhfYW5kX3NqaXMKKwl1dGY4X2FuZF93aW4KKwl1dGY4X2Fu ZF91aGMKKwl1dGY4X2FuZF9ldWMyMDA0CisJdXRmOF9hbmRfc2ppczIwMDQK KwlldWMyMDA0X3NqaXMyMDA0CispCisKKyMgY29udmVyc2lvbl9uYW1lIHNv dXJjZV9lbmNvZGluZyBkZXN0aW5hdGlvbl9lbmNvZGluZyBmdW5jdGlvbiBv YmplY3QKK3NldChjb252ZXJzaW9uc19saXN0CisJImFzY2lpX3RvX21pY1w7 U1FMX0FTQ0lJXDtNVUxFX0lOVEVSTkFMXDthc2NpaV90b19taWNcO2FzY2lp X2FuZF9taWMiCisJIm1pY190b19hc2NpaVw7TVVMRV9JTlRFUk5BTFw7U1FM X0FTQ0lJXDttaWNfdG9fYXNjaWlcO2FzY2lpX2FuZF9taWMiCisJImtvaThf cl90b19taWNcO0tPSThSXDtNVUxFX0lOVEVSTkFMXDtrb2k4cl90b19taWNc O2N5cmlsbGljX2FuZF9taWMiCisJIm1pY190b19rb2k4X3JcO01VTEVfSU5U RVJOQUxcO0tPSThSXDttaWNfdG9fa29pOHJcO2N5cmlsbGljX2FuZF9taWMi CisJImlzb184ODU5XzVfdG9fbWljXDtJU08tODg1OS01XDtNVUxFX0lOVEVS TkFMXDtpc29fdG9fbWljXDtjeXJpbGxpY19hbmRfbWljIgorCSJtaWNfdG9f aXNvXzg4NTlfNVw7TVVMRV9JTlRFUk5BTFw7SVNPLTg4NTktNVw7bWljX3Rv X2lzb1w7Y3lyaWxsaWNfYW5kX21pYyIKKwkid2luZG93c18xMjUxX3RvX21p Y1w7V0lOMTI1MVw7TVVMRV9JTlRFUk5BTFw7d2luMTI1MV90b19taWNcO2N5 cmlsbGljX2FuZF9taWMiCisJIm1pY190b193aW5kb3dzXzEyNTFcO01VTEVf SU5URVJOQUxcO1dJTjEyNTFcO21pY190b193aW4xMjUxXDtjeXJpbGxpY19h bmRfbWljIgorCSJ3aW5kb3dzXzg2Nl90b19taWNcO1dJTjg2Nlw7TVVMRV9J TlRFUk5BTFw7d2luODY2X3RvX21pY1w7Y3lyaWxsaWNfYW5kX21pYyIKKwki bWljX3RvX3dpbmRvd3NfODY2XDtNVUxFX0lOVEVSTkFMXDtXSU44NjZcO21p Y190b193aW44NjZcO2N5cmlsbGljX2FuZF9taWMiCisJImtvaThfcl90b193 aW5kb3dzXzEyNTFcO0tPSThSXDtXSU4xMjUxXDtrb2k4cl90b193aW4xMjUx XDtjeXJpbGxpY19hbmRfbWljIgorCSJ3aW5kb3dzXzEyNTFfdG9fa29pOF9y XDtXSU4xMjUxXDtLT0k4Ulw7d2luMTI1MV90b19rb2k4clw7Y3lyaWxsaWNf YW5kX21pYyIKKwkia29pOF9yX3RvX3dpbmRvd3NfODY2XDtLT0k4Ulw7V0lO ODY2XDtrb2k4cl90b193aW44NjZcO2N5cmlsbGljX2FuZF9taWMiCisJIndp bmRvd3NfODY2X3RvX2tvaThfclw7V0lOODY2XDtLT0k4Ulw7d2luODY2X3Rv X2tvaThyXDtjeXJpbGxpY19hbmRfbWljIgorCSJ3aW5kb3dzXzg2Nl90b193 aW5kb3dzXzEyNTFcO1dJTjg2Nlw7V0lOMTI1MVw7d2luODY2X3RvX3dpbjEy NTFcO2N5cmlsbGljX2FuZF9taWMiCisJIndpbmRvd3NfMTI1MV90b193aW5k b3dzXzg2Nlw7V0lOMTI1MVw7V0lOODY2XDt3aW4xMjUxX3RvX3dpbjg2Nlw7 Y3lyaWxsaWNfYW5kX21pYyIKKwkiaXNvXzg4NTlfNV90b19rb2k4X3JcO0lT Ty04ODU5LTVcO0tPSThSXDtpc29fdG9fa29pOHJcO2N5cmlsbGljX2FuZF9t aWMiCisJImtvaThfcl90b19pc29fODg1OV81XDtLT0k4Ulw7SVNPLTg4NTkt NVw7a29pOHJfdG9faXNvXDtjeXJpbGxpY19hbmRfbWljIgorCSJpc29fODg1 OV81X3RvX3dpbmRvd3NfMTI1MVw7SVNPLTg4NTktNVw7V0lOMTI1MVw7aXNv X3RvX3dpbjEyNTFcO2N5cmlsbGljX2FuZF9taWMiCisJIndpbmRvd3NfMTI1 MV90b19pc29fODg1OV81XDtXSU4xMjUxXDtJU08tODg1OS01XDt3aW4xMjUx X3RvX2lzb1w7Y3lyaWxsaWNfYW5kX21pYyIKKwkiaXNvXzg4NTlfNV90b193 aW5kb3dzXzg2Nlw7SVNPLTg4NTktNVw7V0lOODY2XDtpc29fdG9fd2luODY2 XDtjeXJpbGxpY19hbmRfbWljIgorCSJ3aW5kb3dzXzg2Nl90b19pc29fODg1 OV81XDtXSU44NjZcO0lTTy04ODU5LTVcO3dpbjg2Nl90b19pc29cO2N5cmls bGljX2FuZF9taWMiCisJImV1Y19jbl90b19taWNcO0VVQ19DTlw7TVVMRV9J TlRFUk5BTFw7ZXVjX2NuX3RvX21pY1w7ZXVjX2NuX2FuZF9taWMiCisJIm1p Y190b19ldWNfY25cO01VTEVfSU5URVJOQUxcO0VVQ19DTlw7bWljX3RvX2V1 Y19jblw7ZXVjX2NuX2FuZF9taWMiCisJImV1Y19qcF90b19zamlzXDtFVUNf SlBcO1NKSVNcO2V1Y19qcF90b19zamlzXDtldWNfanBfYW5kX3NqaXMiCisJ InNqaXNfdG9fZXVjX2pwXDtTSklTXDtFVUNfSlBcO3NqaXNfdG9fZXVjX2pw XDtldWNfanBfYW5kX3NqaXMiCisJImV1Y19qcF90b19taWNcO0VVQ19KUFw7 TVVMRV9JTlRFUk5BTFw7ZXVjX2pwX3RvX21pY1w7ZXVjX2pwX2FuZF9zamlz IgorCSJzamlzX3RvX21pY1w7U0pJU1w7TVVMRV9JTlRFUk5BTFw7c2ppc190 b19taWNcO2V1Y19qcF9hbmRfc2ppcyIKKwkibWljX3RvX2V1Y19qcFw7TVVM RV9JTlRFUk5BTFw7RVVDX0pQXDttaWNfdG9fZXVjX2pwXDtldWNfanBfYW5k X3NqaXMiCisJIm1pY190b19zamlzXDtNVUxFX0lOVEVSTkFMXDtTSklTXDtt aWNfdG9fc2ppc1w7ZXVjX2pwX2FuZF9zamlzIgorCSJldWNfa3JfdG9fbWlj XDtFVUNfS1JcO01VTEVfSU5URVJOQUxcO2V1Y19rcl90b19taWNcO2V1Y19r cl9hbmRfbWljIgorCSJtaWNfdG9fZXVjX2tyXDtNVUxFX0lOVEVSTkFMXDtF VUNfS1JcO21pY190b19ldWNfa3JcO2V1Y19rcl9hbmRfbWljIgorCSJldWNf dHdfdG9fYmlnNVw7RVVDX1RXXDtCSUc1XDtldWNfdHdfdG9fYmlnNVw7ZXVj X3R3X2FuZF9iaWc1IgorCSJiaWc1X3RvX2V1Y190d1w7QklHNVw7RVVDX1RX XDtiaWc1X3RvX2V1Y190d1w7ZXVjX3R3X2FuZF9iaWc1IgorCSJldWNfdHdf dG9fbWljXDtFVUNfVFdcO01VTEVfSU5URVJOQUxcO2V1Y190d190b19taWNc O2V1Y190d19hbmRfYmlnNSIKKwkiYmlnNV90b19taWNcO0JJRzVcO01VTEVf SU5URVJOQUxcO2JpZzVfdG9fbWljXDtldWNfdHdfYW5kX2JpZzUiCisJIm1p Y190b19ldWNfdHdcO01VTEVfSU5URVJOQUxcO0VVQ19UV1w7bWljX3RvX2V1 Y190d1w7ZXVjX3R3X2FuZF9iaWc1IgorCSJtaWNfdG9fYmlnNVw7TVVMRV9J TlRFUk5BTFw7QklHNVw7bWljX3RvX2JpZzVcO2V1Y190d19hbmRfYmlnNSIK KwkiaXNvXzg4NTlfMl90b19taWNcO0xBVElOMlw7TVVMRV9JTlRFUk5BTFw7 bGF0aW4yX3RvX21pY1w7bGF0aW4yX2FuZF93aW4xMjUwIgorCSJtaWNfdG9f aXNvXzg4NTlfMlw7TVVMRV9JTlRFUk5BTFw7TEFUSU4yXDttaWNfdG9fbGF0 aW4yXDtsYXRpbjJfYW5kX3dpbjEyNTAiCisJIndpbmRvd3NfMTI1MF90b19t aWNcO1dJTjEyNTBcO01VTEVfSU5URVJOQUxcO3dpbjEyNTBfdG9fbWljXDts YXRpbjJfYW5kX3dpbjEyNTAiCisJIm1pY190b193aW5kb3dzXzEyNTBcO01V TEVfSU5URVJOQUxcO1dJTjEyNTBcO21pY190b193aW4xMjUwXDtsYXRpbjJf YW5kX3dpbjEyNTAiCisJImlzb184ODU5XzJfdG9fd2luZG93c18xMjUwXDtM QVRJTjJcO1dJTjEyNTBcO2xhdGluMl90b193aW4xMjUwXDtsYXRpbjJfYW5k X3dpbjEyNTAiCisJIndpbmRvd3NfMTI1MF90b19pc29fODg1OV8yXDtXSU4x MjUwXDtMQVRJTjJcO3dpbjEyNTBfdG9fbGF0aW4yXDtsYXRpbjJfYW5kX3dp bjEyNTAiCisJImlzb184ODU5XzFfdG9fbWljXDtMQVRJTjFcO01VTEVfSU5U RVJOQUxcO2xhdGluMV90b19taWNcO2xhdGluX2FuZF9taWMiCisJIm1pY190 b19pc29fODg1OV8xXDtNVUxFX0lOVEVSTkFMXDtMQVRJTjFcO21pY190b19s YXRpbjFcO2xhdGluX2FuZF9taWMiCisJImlzb184ODU5XzNfdG9fbWljXDtM QVRJTjNcO01VTEVfSU5URVJOQUxcO2xhdGluM190b19taWNcO2xhdGluX2Fu ZF9taWMiCisJIm1pY190b19pc29fODg1OV8zXDtNVUxFX0lOVEVSTkFMXDtM QVRJTjNcO21pY190b19sYXRpbjNcO2xhdGluX2FuZF9taWMiCisJImlzb184 ODU5XzRfdG9fbWljXDtMQVRJTjRcO01VTEVfSU5URVJOQUxcO2xhdGluNF90 b19taWNcO2xhdGluX2FuZF9taWMiCisJIm1pY190b19pc29fODg1OV80XDtN VUxFX0lOVEVSTkFMXDtMQVRJTjRcO21pY190b19sYXRpbjRcO2xhdGluX2Fu ZF9taWMiCisJImFzY2lpX3RvX3V0ZjhcO1NRTF9BU0NJSVw7VVRGOFw7YXNj aWlfdG9fdXRmOFw7dXRmOF9hbmRfYXNjaWkiCisJInV0ZjhfdG9fYXNjaWlc O1VURjhcO1NRTF9BU0NJSVw7dXRmOF90b19hc2NpaVw7dXRmOF9hbmRfYXNj aWkiCisJImJpZzVfdG9fdXRmOFw7QklHNVw7VVRGOFw7YmlnNV90b191dGY4 XDt1dGY4X2FuZF9iaWc1IgorCSJ1dGY4X3RvX2JpZzVcO1VURjhcO0JJRzVc O3V0ZjhfdG9fYmlnNVw7dXRmOF9hbmRfYmlnNSIKKwkidXRmOF90b19rb2k4 X3JcO1VURjhcO0tPSThSXDt1dGY4X3RvX2tvaThyXDt1dGY4X2FuZF9jeXJp bGxpYyIKKwkia29pOF9yX3RvX3V0ZjhcO0tPSThSXDtVVEY4XDtrb2k4cl90 b191dGY4XDt1dGY4X2FuZF9jeXJpbGxpYyIKKwkidXRmOF90b19rb2k4X3Vc O1VURjhcO0tPSThVXDt1dGY4X3RvX2tvaTh1XDt1dGY4X2FuZF9jeXJpbGxp YyIKKwkia29pOF91X3RvX3V0ZjhcO0tPSThVXDtVVEY4XDtrb2k4dV90b191 dGY4XDt1dGY4X2FuZF9jeXJpbGxpYyIKKwkidXRmOF90b193aW5kb3dzXzg2 Nlw7VVRGOFw7V0lOODY2XDt1dGY4X3RvX3dpblw7dXRmOF9hbmRfd2luIgor CSJ3aW5kb3dzXzg2Nl90b191dGY4XDtXSU44NjZcO1VURjhcO3dpbl90b191 dGY4XDt1dGY4X2FuZF93aW4iCisJInV0ZjhfdG9fd2luZG93c184NzRcO1VU RjhcO1dJTjg3NFw7dXRmOF90b193aW5cO3V0ZjhfYW5kX3dpbiIKKwkid2lu ZG93c184NzRfdG9fdXRmOFw7V0lOODc0XDtVVEY4XDt3aW5fdG9fdXRmOFw7 dXRmOF9hbmRfd2luIgorCSJ1dGY4X3RvX3dpbmRvd3NfMTI1MFw7VVRGOFw7 V0lOMTI1MFw7dXRmOF90b193aW5cO3V0ZjhfYW5kX3dpbiIKKwkid2luZG93 c18xMjUwX3RvX3V0ZjhcO1dJTjEyNTBcO1VURjhcO3dpbl90b191dGY4XDt1 dGY4X2FuZF93aW4iCisJInV0ZjhfdG9fd2luZG93c18xMjUxXDtVVEY4XDtX SU4xMjUxXDt1dGY4X3RvX3dpblw7dXRmOF9hbmRfd2luIgorCSJ3aW5kb3dz XzEyNTFfdG9fdXRmOFw7V0lOMTI1MVw7VVRGOFw7d2luX3RvX3V0ZjhcO3V0 ZjhfYW5kX3dpbiIKKwkidXRmOF90b193aW5kb3dzXzEyNTJcO1VURjhcO1dJ TjEyNTJcO3V0ZjhfdG9fd2luXDt1dGY4X2FuZF93aW4iCisJIndpbmRvd3Nf MTI1Ml90b191dGY4XDtXSU4xMjUyXDtVVEY4XDt3aW5fdG9fdXRmOFw7dXRm OF9hbmRfd2luIgorCSJ1dGY4X3RvX3dpbmRvd3NfMTI1M1w7VVRGOFw7V0lO MTI1M1w7dXRmOF90b193aW5cO3V0ZjhfYW5kX3dpbiIKKwkid2luZG93c18x MjUzX3RvX3V0ZjhcO1dJTjEyNTNcO1VURjhcO3dpbl90b191dGY4XDt1dGY4 X2FuZF93aW4iCisJInV0ZjhfdG9fd2luZG93c18xMjU0XDtVVEY4XDtXSU4x MjU0XDt1dGY4X3RvX3dpblw7dXRmOF9hbmRfd2luIgorCSJ3aW5kb3dzXzEy NTRfdG9fdXRmOFw7V0lOMTI1NFw7VVRGOFw7d2luX3RvX3V0ZjhcO3V0Zjhf YW5kX3dpbiIKKwkidXRmOF90b193aW5kb3dzXzEyNTVcO1VURjhcO1dJTjEy NTVcO3V0ZjhfdG9fd2luXDt1dGY4X2FuZF93aW4iCisJIndpbmRvd3NfMTI1 NV90b191dGY4XDtXSU4xMjU1XDtVVEY4XDt3aW5fdG9fdXRmOFw7dXRmOF9h bmRfd2luIgorCSJ1dGY4X3RvX3dpbmRvd3NfMTI1Nlw7VVRGOFw7V0lOMTI1 Nlw7dXRmOF90b193aW5cO3V0ZjhfYW5kX3dpbiIKKwkid2luZG93c18xMjU2 X3RvX3V0ZjhcO1dJTjEyNTZcO1VURjhcO3dpbl90b191dGY4XDt1dGY4X2Fu ZF93aW4iCisJInV0ZjhfdG9fd2luZG93c18xMjU3XDtVVEY4XDtXSU4xMjU3 XDt1dGY4X3RvX3dpblw7dXRmOF9hbmRfd2luIgorCSJ3aW5kb3dzXzEyNTdf dG9fdXRmOFw7V0lOMTI1N1w7VVRGOFw7d2luX3RvX3V0ZjhcO3V0ZjhfYW5k X3dpbiIKKwkidXRmOF90b193aW5kb3dzXzEyNThcO1VURjhcO1dJTjEyNThc O3V0ZjhfdG9fd2luXDt1dGY4X2FuZF93aW4iCisJIndpbmRvd3NfMTI1OF90 b191dGY4XDtXSU4xMjU4XDtVVEY4XDt3aW5fdG9fdXRmOFw7dXRmOF9hbmRf d2luIgorCSJldWNfY25fdG9fdXRmOFw7RVVDX0NOXDtVVEY4XDtldWNfY25f dG9fdXRmOFw7dXRmOF9hbmRfZXVjX2NuIgorCSJ1dGY4X3RvX2V1Y19jblw7 VVRGOFw7RVVDX0NOXDt1dGY4X3RvX2V1Y19jblw7dXRmOF9hbmRfZXVjX2Nu IgorCSJldWNfanBfdG9fdXRmOFw7RVVDX0pQXDtVVEY4XDtldWNfanBfdG9f dXRmOFw7dXRmOF9hbmRfZXVjX2pwIgorCSJ1dGY4X3RvX2V1Y19qcFw7VVRG OFw7RVVDX0pQXDt1dGY4X3RvX2V1Y19qcFw7dXRmOF9hbmRfZXVjX2pwIgor CSJldWNfa3JfdG9fdXRmOFw7RVVDX0tSXDtVVEY4XDtldWNfa3JfdG9fdXRm OFw7dXRmOF9hbmRfZXVjX2tyIgorCSJ1dGY4X3RvX2V1Y19rclw7VVRGOFw7 RVVDX0tSXDt1dGY4X3RvX2V1Y19rclw7dXRmOF9hbmRfZXVjX2tyIgorCSJl dWNfdHdfdG9fdXRmOFw7RVVDX1RXXDtVVEY4XDtldWNfdHdfdG9fdXRmOFw7 dXRmOF9hbmRfZXVjX3R3IgorCSJ1dGY4X3RvX2V1Y190d1w7VVRGOFw7RVVD X1RXXDt1dGY4X3RvX2V1Y190d1w7dXRmOF9hbmRfZXVjX3R3IgorCSJnYjE4 MDMwX3RvX3V0ZjhcO0dCMTgwMzBcO1VURjhcO2diMTgwMzBfdG9fdXRmOFw7 dXRmOF9hbmRfZ2IxODAzMCIKKwkidXRmOF90b19nYjE4MDMwXDtVVEY4XDtH QjE4MDMwXDt1dGY4X3RvX2diMTgwMzBcO3V0ZjhfYW5kX2diMTgwMzAiCisJ Imdia190b191dGY4XDtHQktcO1VURjhcO2dia190b191dGY4XDt1dGY4X2Fu ZF9nYmsiCisJInV0ZjhfdG9fZ2JrXDtVVEY4XDtHQktcO3V0ZjhfdG9fZ2Jr XDt1dGY4X2FuZF9nYmsiCisJInV0ZjhfdG9faXNvXzg4NTlfMlw7VVRGOFw7 TEFUSU4yXDt1dGY4X3RvX2lzbzg4NTlcO3V0ZjhfYW5kX2lzbzg4NTkiCisJ Imlzb184ODU5XzJfdG9fdXRmOFw7TEFUSU4yXDtVVEY4XDtpc284ODU5X3Rv X3V0ZjhcO3V0ZjhfYW5kX2lzbzg4NTkiCisJInV0ZjhfdG9faXNvXzg4NTlf M1w7VVRGOFw7TEFUSU4zXDt1dGY4X3RvX2lzbzg4NTlcO3V0ZjhfYW5kX2lz bzg4NTkiCisJImlzb184ODU5XzNfdG9fdXRmOFw7TEFUSU4zXDtVVEY4XDtp c284ODU5X3RvX3V0ZjhcO3V0ZjhfYW5kX2lzbzg4NTkiCisJInV0ZjhfdG9f aXNvXzg4NTlfNFw7VVRGOFw7TEFUSU40XDt1dGY4X3RvX2lzbzg4NTlcO3V0 ZjhfYW5kX2lzbzg4NTkiCisJImlzb184ODU5XzRfdG9fdXRmOFw7TEFUSU40 XDtVVEY4XDtpc284ODU5X3RvX3V0ZjhcO3V0ZjhfYW5kX2lzbzg4NTkiCisJ InV0ZjhfdG9faXNvXzg4NTlfOVw7VVRGOFw7TEFUSU41XDt1dGY4X3RvX2lz bzg4NTlcO3V0ZjhfYW5kX2lzbzg4NTkiCisJImlzb184ODU5XzlfdG9fdXRm OFw7TEFUSU41XDtVVEY4XDtpc284ODU5X3RvX3V0ZjhcO3V0ZjhfYW5kX2lz bzg4NTkiCisJInV0ZjhfdG9faXNvXzg4NTlfMTBcO1VURjhcO0xBVElONlw7 dXRmOF90b19pc284ODU5XDt1dGY4X2FuZF9pc284ODU5IgorCSJpc29fODg1 OV8xMF90b191dGY4XDtMQVRJTjZcO1VURjhcO2lzbzg4NTlfdG9fdXRmOFw7 dXRmOF9hbmRfaXNvODg1OSIKKwkidXRmOF90b19pc29fODg1OV8xM1w7VVRG OFw7TEFUSU43XDt1dGY4X3RvX2lzbzg4NTlcO3V0ZjhfYW5kX2lzbzg4NTki CisJImlzb184ODU5XzEzX3RvX3V0ZjhcO0xBVElON1w7VVRGOFw7aXNvODg1 OV90b191dGY4XDt1dGY4X2FuZF9pc284ODU5IgorCSJ1dGY4X3RvX2lzb184 ODU5XzE0XDtVVEY4XDtMQVRJTjhcO3V0ZjhfdG9faXNvODg1OVw7dXRmOF9h bmRfaXNvODg1OSIKKwkiaXNvXzg4NTlfMTRfdG9fdXRmOFw7TEFUSU44XDtV VEY4XDtpc284ODU5X3RvX3V0ZjhcO3V0ZjhfYW5kX2lzbzg4NTkiCisJInV0 ZjhfdG9faXNvXzg4NTlfMTVcO1VURjhcO0xBVElOOVw7dXRmOF90b19pc284 ODU5XDt1dGY4X2FuZF9pc284ODU5IgorCSJpc29fODg1OV8xNV90b191dGY4 XDtMQVRJTjlcO1VURjhcO2lzbzg4NTlfdG9fdXRmOFw7dXRmOF9hbmRfaXNv ODg1OSIKKwkidXRmOF90b19pc29fODg1OV8xNlw7VVRGOFw7TEFUSU4xMFw7 dXRmOF90b19pc284ODU5XDt1dGY4X2FuZF9pc284ODU5IgorCSJpc29fODg1 OV8xNl90b191dGY4XDtMQVRJTjEwXDtVVEY4XDtpc284ODU5X3RvX3V0Zjhc O3V0ZjhfYW5kX2lzbzg4NTkiCisJInV0ZjhfdG9faXNvXzg4NTlfNVw7VVRG OFw7SVNPLTg4NTktNVw7dXRmOF90b19pc284ODU5XDt1dGY4X2FuZF9pc284 ODU5IgorCSJpc29fODg1OV81X3RvX3V0ZjhcO0lTTy04ODU5LTVcO1VURjhc O2lzbzg4NTlfdG9fdXRmOFw7dXRmOF9hbmRfaXNvODg1OSIKKwkidXRmOF90 b19pc29fODg1OV82XDtVVEY4XDtJU08tODg1OS02XDt1dGY4X3RvX2lzbzg4 NTlcO3V0ZjhfYW5kX2lzbzg4NTkiCisJImlzb184ODU5XzZfdG9fdXRmOFw7 SVNPLTg4NTktNlw7VVRGOFw7aXNvODg1OV90b191dGY4XDt1dGY4X2FuZF9p c284ODU5IgorCSJ1dGY4X3RvX2lzb184ODU5XzdcO1VURjhcO0lTTy04ODU5 LTdcO3V0ZjhfdG9faXNvODg1OVw7dXRmOF9hbmRfaXNvODg1OSIKKwkiaXNv Xzg4NTlfN190b191dGY4XDtJU08tODg1OS03XDtVVEY4XDtpc284ODU5X3Rv X3V0ZjhcO3V0ZjhfYW5kX2lzbzg4NTkiCisJInV0ZjhfdG9faXNvXzg4NTlf OFw7VVRGOFw7SVNPLTg4NTktOFw7dXRmOF90b19pc284ODU5XDt1dGY4X2Fu ZF9pc284ODU5IgorCSJpc29fODg1OV84X3RvX3V0ZjhcO0lTTy04ODU5LThc O1VURjhcO2lzbzg4NTlfdG9fdXRmOFw7dXRmOF9hbmRfaXNvODg1OSIKKwki aXNvXzg4NTlfMV90b191dGY4XDtMQVRJTjFcO1VURjhcO2lzbzg4NTlfMV90 b191dGY4XDt1dGY4X2FuZF9pc284ODU5XzEiCisJInV0ZjhfdG9faXNvXzg4 NTlfMVw7VVRGOFw7TEFUSU4xXDt1dGY4X3RvX2lzbzg4NTlfMVw7dXRmOF9h bmRfaXNvODg1OV8xIgorCSJqb2hhYl90b191dGY4XDtKT0hBQlw7VVRGOFw7 am9oYWJfdG9fdXRmOFw7dXRmOF9hbmRfam9oYWIiCisJInV0ZjhfdG9fam9o YWJcO1VURjhcO0pPSEFCXDt1dGY4X3RvX2pvaGFiXDt1dGY4X2FuZF9qb2hh YiIKKwkic2ppc190b191dGY4XDtTSklTXDtVVEY4XDtzamlzX3RvX3V0Zjhc O3V0ZjhfYW5kX3NqaXMiCisJInV0ZjhfdG9fc2ppc1w7VVRGOFw7U0pJU1w7 dXRmOF90b19zamlzXDt1dGY4X2FuZF9zamlzIgorCSJ1aGNfdG9fdXRmOFw7 VUhDXDtVVEY4XDt1aGNfdG9fdXRmOFw7dXRmOF9hbmRfdWhjIgorCSJ1dGY4 X3RvX3VoY1w7VVRGOFw7VUhDXDt1dGY4X3RvX3VoY1w7dXRmOF9hbmRfdWhj IgorCSJldWNfamlzXzIwMDRfdG9fdXRmOFw7RVVDX0pJU18yMDA0XDtVVEY4 XDtldWNfamlzXzIwMDRfdG9fdXRmOFw7dXRmOF9hbmRfZXVjMjAwNCIKKwki dXRmOF90b19ldWNfamlzXzIwMDRcO1VURjhcO0VVQ19KSVNfMjAwNFw7dXRm OF90b19ldWNfamlzXzIwMDRcO3V0ZjhfYW5kX2V1YzIwMDQiCisJInNoaWZ0 X2ppc18yMDA0X3RvX3V0ZjhcO1NISUZUX0pJU18yMDA0XDtVVEY4XDtzaGlm dF9qaXNfMjAwNF90b191dGY4XDt1dGY4X2FuZF9zamlzMjAwNCIKKwkidXRm OF90b19zaGlmdF9qaXNfMjAwNFw7VVRGOFw7U0hJRlRfSklTXzIwMDRcO3V0 ZjhfdG9fc2hpZnRfamlzXzIwMDRcO3V0ZjhfYW5kX3NqaXMyMDA0IgorCSJl dWNfamlzXzIwMDRfdG9fc2hpZnRfamlzXzIwMDRcO0VVQ19KSVNfMjAwNFw7 U0hJRlRfSklTXzIwMDRcO2V1Y19qaXNfMjAwNF90b19zaGlmdF9qaXNfMjAw NFw7ZXVjMjAwNF9zamlzMjAwNCIKKwkic2hpZnRfamlzXzIwMDRfdG9fZXVj X2ppc18yMDA0XDtTSElGVF9KSVNfMjAwNFw7RVVDX0pJU18yMDA0XDtzaGlm dF9qaXNfMjAwNF90b19ldWNfamlzXzIwMDRcO2V1YzIwMDRfc2ppczIwMDQi CispCisKK2ZpbGUoV1JJVEUgImNvbnZlcnNpb25fY3JlYXRlLnNxbCIgIiIp Citmb3JlYWNoKHBhaXJfY29udmVyc2lvbiAke2NvbnZlcnNpb25zX2xpc3R9 KQorCUxJU1QoR0VUIHBhaXJfY29udmVyc2lvbiAwIGNvbl9uYW1lKQorCUxJ U1QoR0VUIHBhaXJfY29udmVyc2lvbiAxIHNlKQorCUxJU1QoR0VUIHBhaXJf Y29udmVyc2lvbiAyIGRlKQorCUxJU1QoR0VUIHBhaXJfY29udmVyc2lvbiAz IGZ1bmMpCisJTElTVChHRVQgcGFpcl9jb252ZXJzaW9uIDQgb2JqKQorCQor CWZpbGUoQVBQRU5EICJjb252ZXJzaW9uX2NyZWF0ZS5zcWwiICItLSAke3Nl fSAtLT4gJHtkZX1cbiIpCisJZmlsZShBUFBFTkQgImNvbnZlcnNpb25fY3Jl YXRlLnNxbCIgIkNSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OICR7ZnVuY30g KElOVEVHRVIsIElOVEVHRVIsIENTVFJJTkcsIElOVEVSTkFMLCBJTlRFR0VS KSBSRVRVUk5TIFZPSUQgQVMgJyRsaWJkaXIvJHtvYmp9JywgJyR7ZnVuY30n IExBTkdVQUdFIEMgU1RSSUNUO1xuIikKKwlmaWxlKEFQUEVORCAiY29udmVy c2lvbl9jcmVhdGUuc3FsIiAiQ09NTUVOVCBPTiBGVU5DVElPTiAke2Z1bmN9 KElOVEVHRVIsIElOVEVHRVIsIENTVFJJTkcsIElOVEVSTkFMLCBJTlRFR0VS KSBJUyAnaW50ZXJuYWwgY29udmVyc2lvbiBmdW5jdGlvbiBmb3IgJHtzZX0g dG8gJHtkZX0nO1xuIikKKwlmaWxlKEFQUEVORCAiY29udmVyc2lvbl9jcmVh dGUuc3FsIiAiRFJPUCBDT05WRVJTSU9OIHBnX2NhdGFsb2cuJHtjb25fbmFt ZX07XG4iKQorCWZpbGUoQVBQRU5EICJjb252ZXJzaW9uX2NyZWF0ZS5zcWwi ICJDUkVBVEUgREVGQVVMVCBDT05WRVJTSU9OIHBnX2NhdGFsb2cuJHtjb25f bmFtZX0gRk9SICcke3NlfScgVE8gJyR7ZGV9JyBGUk9NICR7ZnVuY307XG4i KQorCWZpbGUoQVBQRU5EICJjb252ZXJzaW9uX2NyZWF0ZS5zcWwiICJDT01N RU5UIE9OIENPTlZFUlNJT04gcGdfY2F0YWxvZy4ke2Nvbl9uYW1lfSBJUyAn Y29udmVyc2lvbiBmb3IgJHtzZX0gdG8gJHtkZX0nO1xuIikKK2VuZGZvcmVh Y2goKQorCitmb3JlYWNoKGxvb3BfdmFyIElOIElURU1TICR7cHJvY3NfbGlz dH0pCisJaWYobG9vcF92YXIgU1RSRVFVQUwgImV1Y190d19hbmRfYmlnNSIp CisJCWFkZF9saWJyYXJ5KCR7bG9vcF92YXJ9IE1PRFVMRSAke2xvb3BfdmFy fS8ke2xvb3BfdmFyfS5jICR7bG9vcF92YXJ9L2JpZzUuYykKKwllbHNlKCkK KwkJYWRkX2xpYnJhcnkoJHtsb29wX3Zhcn0gTU9EVUxFICR7bG9vcF92YXJ9 LyR7bG9vcF92YXJ9LmMpCisJZW5kaWYoKQorCXNldF90YXJnZXRfcHJvcGVy dGllcygke2xvb3BfdmFyfSBQUk9QRVJUSUVTIFBSRUZJWCAiIikKKwlhZGRf ZGVwZW5kZW5jaWVzKCR7bG9vcF92YXJ9IGdlbl9lcnJvcmNvZGVzKQorCXRh cmdldF9saW5rX2xpYnJhcmllcygke2xvb3BfdmFyfSBwb3N0Z3JlcykKKwlp ZihNU1ZDKQorCQlnZW5fZGVmKCR7bG9vcF92YXJ9KQorCWVuZGlmKCkKKwlD TUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2xvb3BfdmFyfSBjb252ZXJzaW9u X3Byb2NzKQorCWluc3RhbGwoVEFSR0VUUyAke2xvb3BfdmFyfQorCQkJUlVO VElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQkJTElCUkFSWSBERVNU SU5BVElPTiAke0xJQkRJUn0pCitlbmRmb3JlYWNoKGxvb3BfdmFyKQorCitp bnN0YWxsKEZJTEVTIGNvbnZlcnNpb25fY3JlYXRlLnNxbAorCQlERVNUSU5B VElPTiAke1BHU0hBUkVESVJ9KQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9pbml0 ZGIvQ01ha2VMaXN0cy50eHQgYi9zcmMvYmluL2luaXRkYi9DTWFrZUxpc3Rz LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmMz MjcyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jpbi9pbml0ZGIvQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSwzNSBAQAoraW5jbHVkZV9kaXJlY3Rvcmll cyhCRUZPUkUKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVk ZS9saWJwcSIKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJm YWNlcy9saWJwcSIKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvdGlt ZXpvbmUiCispCisKK2FkZF9leGVjdXRhYmxlKGluaXRkYgorCWluaXRkYi5j CisJZmluZHRpbWV6b25lLmMKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3Ny Yy90aW1lem9uZS9sb2NhbHRpbWUuYyIKKwkiJHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYy9iYWNrZW5kL3V0aWxzL21iL2VuY25hbWVzLmMiCispCisKK3Rh cmdldF9saW5rX2xpYnJhcmllcyhpbml0ZGIKKwlwZ2ZldXRpbHMKKwlwZ2Nv bW1vbgorCXBvcnQKKwlwcQorCSR7R1NTX0xJQlN9CispCisKK2lmKFVOSVgg QU5EIE5PVCBBUFBMRSkKKwl0YXJnZXRfbGlua19saWJyYXJpZXMoaW5pdGRi IHJ0KQorZW5kaWYoKQorCit0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyhp bml0ZGIgUFJJVkFURSAtREZST05URU5EKQorQ01BS0VfU0VUX1RBUkdFVF9G T0xERVIoaW5pdGRiIGJpbikKKworaW5zdGFsbChUQVJHRVRTIGluaXRkYgor CQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkg REVTVElOQVRJT04gJHtMSUJESVJ9KQorCitpZihFTkFCTEVfTkxTKQorCU1B S0VfTU8oaW5pdGRiICJjcztkZTtlcztmcjtpdDtqYTtrbztwbDtwdF9CUjty dTtzdjt6aF9DTiIpCitlbmRpZigpCmRpZmYgLS1naXQgYS9zcmMvYmluL2lu aXRkYi9pbml0ZGIuYyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCmluZGV4 IDMzNTBlMTMuLjNlZDg5ZGMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRi L2luaXRkYi5jCisrKyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCkBAIC0x NDk2LDEwICsxNDk2LDEwIEBAIGJvb3RzdHJhcF90ZW1wbGF0ZTEodm9pZCkK IAkgKiB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW55IGNvbXBlbGxpbmcg cmVhc29uIHRvIGRvIHRoYXQuCiAJICovCiAJc25wcmludGYoY21kLCBzaXpl b2YoY21kKSwgIkxDX0NPTExBVEU9JXMiLCBsY19jb2xsYXRlKTsKLQlwdXRl bnYocGdfc3RyZHVwKGNtZCkpOworCXBnX3B1dGVudl9wcm94eShwZ19zdHJk dXAoY21kKSk7CiAKIAlzbnByaW50ZihjbWQsIHNpemVvZihjbWQpLCAiTENf Q1RZUEU9JXMiLCBsY19jdHlwZSk7Ci0JcHV0ZW52KHBnX3N0cmR1cChjbWQp KTsKKwlwZ19wdXRlbnZfcHJveHkocGdfc3RyZHVwKGNtZCkpOwogCiAJdW5z ZXRlbnYoIkxDX0FMTCIpOwogCkBAIC0yNzU3LDcgKzI3NTcsNyBAQCBzZXR1 cF9wZ2RhdGEodm9pZCkKIAkgKiBoYXZlIGVtYmVkZGVkIHNwYWNlcy4KIAkg Ki8KIAlwZ2RhdGFfc2V0X2VudiA9IHBzcHJpbnRmKCJQR0RBVEE9JXMiLCBw Z19kYXRhKTsKLQlwdXRlbnYocGdkYXRhX3NldF9lbnYpOworCXBnX3B1dGVu dl9wcm94eShwZ2RhdGFfc2V0X2Vudik7CiB9CiAKIApkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9DTWFrZUxpc3RzLnR4dCBiL3Ny Yy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvQ01ha2VMaXN0cy50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M3OWFjMwotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvQ01ha2VM aXN0cy50eHQKQEAgLTAsMCArMSwyMCBAQAoraW5jbHVkZV9kaXJlY3Rvcmll cyhCRUZPUkUKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRl L2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFj ZXMvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmluL3Bn X2R1bXAiCispCisKK2FkZF9leGVjdXRhYmxlKHBnX2FyY2hpdmVjbGVhbnVw IHBnX2FyY2hpdmVjbGVhbnVwLmMpCisKK3RhcmdldF9saW5rX2xpYnJhcmll cyhwZ19hcmNoaXZlY2xlYW51cAorCXBvcnQKKyMJcHEKKwlwZ2NvbW1vbgor CSR7TV9MSUJ9CispCisKK0NNQUtFX1NFVF9UQVJHRVRfRk9MREVSKHBnX2Fy Y2hpdmVjbGVhbnVwIGJpbikKKworaW5zdGFsbChUQVJHRVRTIHBnX2FyY2hp dmVjbGVhbnVwCisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0K KwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvQ01ha2VMaXN0cy50eHQgYi9zcmMv YmluL3BnX2Jhc2ViYWNrdXAvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk4NWUwOAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9DTWFrZUxpc3RzLnR4dApA QCAtMCwwICsxLDUxIEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKEJFRk9SRQor CSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvbGlicHEiCisJ IiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNlcy9saWJwcSIK KwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4vcGdfZHVtcCIKKwkk e1pMSUJfSU5DTFVERV9ESVJTfQorKQoraWYoWkxJQl9GT1VORCkKKwlpbmNs dWRlX2RpcmVjdG9yaWVzKEJFRk9SRSAke1pMSUJfSU5DTFVERV9ESVJTfSkK K2VuZGlmKCkKKworCithZGRfbGlicmFyeShjb21tb25fYmFzZWJhY2t1cCBT VEFUSUMKKwlyZWNlaXZlbG9nLmMKKwlzdHJlYW11dGlsLmMKKykKKwordGFy Z2V0X2xpbmtfbGlicmFyaWVzKGNvbW1vbl9iYXNlYmFja3VwCisJcG9ydAor CXBxCispCisKK3NldChiYXNlYmFja3VwX2xpc3QgCisJcGdfYmFzZWJhY2t1 cAorCXBnX3JlY2VpdmV4bG9nCisJcGdfcmVjdmxvZ2ljYWwKKykKKworZm9y ZWFjaChsb29wX3ZhciBJTiBJVEVNUyAke2Jhc2ViYWNrdXBfbGlzdH0pCisJ YWRkX2V4ZWN1dGFibGUoJHtsb29wX3Zhcn0gJHtsb29wX3Zhcn0uYykKKwor CXRhcmdldF9saW5rX2xpYnJhcmllcygke2xvb3BfdmFyfQorCQlwZ2ZldXRp bHMKKwkJcG9ydAorCQlwcQorCQlwZ2NvbW1vbgorCQkke01fTElCfQorCQlj b21tb25fYmFzZWJhY2t1cAorCSkKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERF Uigke2xvb3BfdmFyfSBiaW4pCisJaWYoWkxJQl9GT1VORCkKKwkJdGFyZ2V0 X2xpbmtfbGlicmFyaWVzKCR7bG9vcF92YXJ9ICR7WkxJQl9MSUJSQVJJRVN9 KQorCWVuZGlmKCkKK2VuZGZvcmVhY2goKQorCitpbnN0YWxsKFRBUkdFVFMg JHtiYXNlYmFja3VwX2xpc3R9CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQ R0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCisK K2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19iYXNlYmFja3VwICJkZTtl cztmcjtpdDtrbztwbDtwdF9CUjtydTt6aF9DTiIpCitlbmRpZigpCmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2NvbmZpZy9DTWFrZUxpc3RzLnR4dCBiL3Ny Yy9iaW4vcGdfY29uZmlnL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5Y2I2ZTQKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvYmluL3BnX2NvbmZpZy9DTWFrZUxpc3RzLnR4dApAQCAtMCww ICsxLDI0IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKEJFRk9SRQorCSIke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvbGlicHEiCisJIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNlcy9saWJwcSIKKwkiJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4vcGdfZHVtcCIKKykKKworYWRk X2V4ZWN1dGFibGUocGdfY29uZmlnCisJcGdfY29uZmlnLmMKKykKKwordGFy Z2V0X2xpbmtfbGlicmFyaWVzKHBnX2NvbmZpZworCXBnY29tbW9uCisJcG9y dAorKQorCitDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUihwZ19jb25maWcgYmlu KQorCitpbnN0YWxsKFRBUkdFVFMgcGdfY29uZmlnCisJCVJVTlRJTUUgREVT VElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAk e0xJQkRJUn0pCisKK2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19jb25m aWcgImNzO2RlO2VzO2ZyO2l0O2phO2tvO25iO3BsO3B0X0JSO3JvO3J1O3N2 O3RhO3RyO3poX0NOO3poX1RXIikKK2VuZGlmKCkKZGlmZiAtLWdpdCBhL3Ny Yy9iaW4vcGdfY29udHJvbGRhdGEvQ01ha2VMaXN0cy50eHQgYi9zcmMvYmlu L3BnX2NvbnRyb2xkYXRhL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwYTY3M2MKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL0NNYWtlTGlzdHMudHh0CkBA IC0wLDAgKzEsMjQgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JFCisJ IiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9saWJwcSIKKwki JHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2VzL2xpYnBxIgor CSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19kdW1wIgorKQor CithZGRfZXhlY3V0YWJsZShwZ19jb250cm9sZGF0YQorCXBnX2NvbnRyb2xk YXRhLmMKKykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBnX2NvbnRyb2xk YXRhCisJcGdjb21tb24KKwlwb3J0CispCisKK0NNQUtFX1NFVF9UQVJHRVRf Rk9MREVSKHBnX2NvbnRyb2xkYXRhIGJpbikKKworaW5zdGFsbChUQVJHRVRT IHBnX2NvbnRyb2xkYXRhCisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJ TkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCisKK2lm KEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19jb250cm9sZGF0YSAiY3M7ZGU7 ZXM7ZnI7aXQ7amE7a287cGw7cHRfQlI7cnU7c3Y7emhfQ04iKQorZW5kaWYo KQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19jdGwvQ01ha2VMaXN0cy50eHQg Yi9zcmMvYmluL3BnX2N0bC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjM2ZDM4Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjL2Jpbi9wZ19jdGwvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCAr MSwyNSBAQAoraW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtQUk9K RUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL2xpYnBxIgorCSIke1BST0pF Q1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMvbGlicHEiCisJIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvYmluL3BnX2R1bXAiCispCisKK2FkZF9l eGVjdXRhYmxlKHBnX2N0bAorCXBnX2N0bC5jCispCisKK3RhcmdldF9saW5r X2xpYnJhcmllcyhwZ19jdGwKKwlwZ2NvbW1vbgorCXBvcnQKKwlwcQorKQor CitDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUihwZ19jdGwgYmluKQorCitpbnN0 YWxsKFRBUkdFVFMgcGdfY3RsCisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQ R0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJUn0pCisK K2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19jdGwgImNzO2RlO2VzO2Zy O2l0O2phO2tvO3BsO3B0X0JSO3J1O3N2O3poX0NOIikKK2VuZGlmKCkKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcGdfY3RsL3BnX2N0bC5jIGIvc3JjL2Jpbi9w Z19jdGwvcGdfY3RsLmMKaW5kZXggZWZjMDcyOS4uNzcxNTA4MSAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wZ19jdGwvcGdfY3RsLmMKKysrIGIvc3JjL2Jpbi9w Z19jdGwvcGdfY3RsLmMKQEAgLTkwMiw3ICs5MDIsNyBAQCBkb19zdGFydCh2 b2lkKQogCiAJCXNucHJpbnRmKGVudl92YXIsIHNpemVvZihlbnZfdmFyKSwg IlBHX0dSQU5EUEFSRU5UX1BJRD0lZCIsCiAJCQkJIChpbnQpIGdldHBwaWQo KSk7Ci0JCXB1dGVudihlbnZfdmFyKTsKKwkJcGdfcHV0ZW52X3Byb3h5KGVu dl92YXIpOwogCX0KICNlbmRpZgogCkBAIC0yMjA4LDcgKzIyMDgsNyBAQCBt YWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQkJCXBnZGF0YV9EID0g cGdfc3RyZHVwKG9wdGFyZyk7CiAJCQkJCQljYW5vbmljYWxpemVfcGF0aChw Z2RhdGFfRCk7CiAJCQkJCQllbnZfdmFyID0gcHNwcmludGYoIlBHREFUQT0l cyIsIHBnZGF0YV9EKTsKLQkJCQkJCXB1dGVudihlbnZfdmFyKTsKKwkJCQkJ CXBnX3B1dGVudl9wcm94eShlbnZfdmFyKTsKIAogCQkJCQkJLyoKIAkJCQkJ CSAqIFdlIGNvdWxkIHBhc3MgUEdEQVRBIGp1c3QgaW4gYW4gZW52aXJvbm1l bnQKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9DTWFrZUxpc3RzLnR4 dCBiL3NyYy9iaW4vcGdfZHVtcC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGRhODQ1Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL0NNYWtlTGlzdHMudHh0CkBAIC0w LDAgKzEsODggQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JFCisgCSIk e1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvbGlicHEiCisgCSIk e1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMvbGlicHEiCisg CSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19kdW1wIgorCSR7 WkxJQl9JTkNMVURFX0RJUlN9CispCisKK2lmKFpMSUJfRk9VTkQpCisJaW5j bHVkZV9kaXJlY3RvcmllcyhCRUZPUkUgJHtaTElCX0lOQ0xVREVfRElSU30p CitlbmRpZigpCisKK2FkZF9saWJyYXJ5KGxpYmR1bXAgU1RBVElDCisJcGdf YmFja3VwX2FyY2hpdmVyLmMKKwlwZ19iYWNrdXBfZGIuYworCXBnX2JhY2t1 cF9jdXN0b20uYworCXBnX2JhY2t1cF9udWxsLmMKKwlwZ19iYWNrdXBfdGFy LmMKKwlwZ19iYWNrdXBfZGlyZWN0b3J5LmMKKwlwZ19iYWNrdXBfdXRpbHMu YworCXBhcmFsbGVsLmMKKwljb21wcmVzc19pby5jCisJZHVtcHV0aWxzLmMK KykKKworYWRkX2V4ZWN1dGFibGUocGdfZHVtcAorCXBnX2R1bXAuYworCWNv bW1vbi5jCisJcGdfZHVtcF9zb3J0LmMKKykKKwordGFyZ2V0X2xpbmtfbGli cmFyaWVzKHBnX2R1bXAKKwlsaWJkdW1wCisJcGdmZXV0aWxzCisJcGdjb21t b24KKwlwb3J0CisJcHEKKykKKworQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIo cGdfZHVtcCBiaW4pCisKK2lmKFpMSUJfRk9VTkQpCisJdGFyZ2V0X2xpbmtf bGlicmFyaWVzKHBnX2R1bXAgJHtaTElCX0xJQlJBUklFU30pCitlbmRpZigp CisKK2FkZF9leGVjdXRhYmxlKHBnX3Jlc3RvcmUKKwlwZ19yZXN0b3JlLmMK KykKKwordGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBnX3Jlc3RvcmUKKwlsaWJk dW1wCisJcGdmZXV0aWxzCisJcGdjb21tb24KKwlwb3J0CisJcHEKKykKKwor Q01BS0VfU0VUX1RBUkdFVF9GT0xERVIocGdfcmVzdG9yZSBiaW4pCisKK2lm KFpMSUJfRk9VTkQpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBnX3Jlc3Rv cmUgJHtaTElCX0xJQlJBUklFU30pCitlbmRpZigpCisKK2FkZF9leGVjdXRh YmxlKHBnX2R1bXBhbGwKKwlwZ19kdW1wYWxsLmMKKwlkdW1wdXRpbHMuYwor KQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocGdfZHVtcGFsbAorCWxpYmR1 bXAKKwlwZ2ZldXRpbHMKKwlwZ2NvbW1vbgorCXBvcnQKKwlwcQorKQorCitD TUFLRV9TRVRfVEFSR0VUX0ZPTERFUihwZ19kdW1wYWxsIGJpbikKKworaWYo WkxJQl9GT1VORCkKKwl0YXJnZXRfbGlua19saWJyYXJpZXMocGdfZHVtcGFs bCAke1pMSUJfTElCUkFSSUVTfSkKK2VuZGlmKCkKKworaW5zdGFsbChUQVJH RVRTIHBnX2R1bXAgcGdfcmVzdG9yZSBwZ19kdW1wYWxsCisJCVJVTlRJTUUg REVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElP TiAke0xJQkRJUn0pCisKK2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19k dW1wICJjcztkZTtlcztmcjtpdDtqYTtrbztwbDtwdF9CUjtydTt6aF9DTiIp CitlbmRpZigpCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jlc2V0eGxvZy9D TWFrZUxpc3RzLnR4dCBiL3NyYy9iaW4vcGdfcmVzZXR4bG9nL0NNYWtlTGlz dHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUw ZDM0ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmluL3BnX3Jlc2V0eGxv Zy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDI0IEBACitpbmNsdWRlX2Rp cmVjdG9yaWVzKEJFRk9SRQorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2luY2x1ZGUvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv aW50ZXJmYWNlcy9saWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3Ny Yy9iaW4vcGdfZHVtcCIKKykKKworYWRkX2V4ZWN1dGFibGUocGdfcmVzZXR4 bG9nCisJcGdfcmVzZXR4bG9nLmMKKykKKwordGFyZ2V0X2xpbmtfbGlicmFy aWVzKHBnX3Jlc2V0eGxvZworCXBnY29tbW9uCisJcG9ydAorKQorCitDTUFL RV9TRVRfVEFSR0VUX0ZPTERFUihwZ19yZXNldHhsb2cgYmluKQorCitpbnN0 YWxsKFRBUkdFVFMgcGdfcmVzZXR4bG9nCisJCVJVTlRJTUUgREVTVElOQVRJ T04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJ Un0pCisKK2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19yZXNldHhsb2cg ImNzO2RlO2VzO2ZyO2l0O2phO2tvO3BsO3B0X0JSO3J1O3N2O3poX0NOIikK K2VuZGlmKCkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfcmV3aW5kL0NNYWtl TGlzdHMudHh0IGIvc3JjL2Jpbi9wZ19yZXdpbmQvQ01ha2VMaXN0cy50eHQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgxMDkxZgot LS0gL2Rldi9udWxsCisrKyBiL3NyYy9iaW4vcGdfcmV3aW5kL0NNYWtlTGlz dHMudHh0CkBAIC0wLDAgKzEsMzcgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMo QkVGT1JFCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9s aWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2Vz L2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19k dW1wIgorKQorCithZGRfZXhlY3V0YWJsZShwZ19yZXdpbmQKKwlwZ19yZXdp bmQuYworCXBhcnNleGxvZy5jCisJZGF0YXBhZ2VtYXAuYworCXRpbWVsaW5l LmMKKwlmZXRjaC5jCisJZmlsZV9vcHMuYworCWNvcHlfZmV0Y2guYworCWxp YnBxX2ZldGNoLmMKKwlmaWxlbWFwLmMKKwlsb2dnaW5nLmMKKwkke1BST0pF Q1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Z3JlYWRlci5jCispCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhwZ19yZXdp bmQKKwlwZ2NvbW1vbgorCXBvcnQKKwlwcQorKQorCit0YXJnZXRfY29tcGls ZV9kZWZpbml0aW9ucyhwZ19yZXdpbmQgUFJJVkFURSAtREZST05URU5EKQor CitDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUihwZ19yZXdpbmQgYmluKQorCitp bnN0YWxsKFRBUkdFVFMgcGdfcmV3aW5kCisJCVJVTlRJTUUgREVTVElOQVRJ T04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJ Un0pCisKK2lmKEVOQUJMRV9OTFMpCisJTUFLRV9NTyhwZ19yZXdpbmQgImRl O2VzO2ZyO2l0O2tvO3BsO3J1O3poX0NOIikKK2VuZGlmKCkKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfdGVzdF9mc3luYy9DTWFrZUxpc3RzLnR4dCBiL3Ny Yy9iaW4vcGdfdGVzdF9mc3luYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTA5MzgwCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjL2Jpbi9wZ190ZXN0X2ZzeW5jL0NNYWtlTGlzdHMudHh0 CkBAIC0wLDAgKzEsMjIgQEAKK2luY2x1ZGVfZGlyZWN0b3JpZXMoQkVGT1JF CisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9saWJwcSIK KwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2VzL2xpYnBx IgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19kdW1wIgor KQorCithZGRfZXhlY3V0YWJsZShwZ190ZXN0X2ZzeW5jCisJcGdfdGVzdF9m c3luYy5jCisJCispCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhwZ190ZXN0 X2ZzeW5jCisJcGdjb21tb24KKwlwb3J0CispCisKK0NNQUtFX1NFVF9UQVJH RVRfRk9MREVSKHBnX3Rlc3RfZnN5bmMgYmluKQorCitpbnN0YWxsKFRBUkdF VFMgcGdfdGVzdF9mc3luYworCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdC SU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQorCmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX3Rlc3RfdGltaW5nL0NNYWtlTGlzdHMu dHh0IGIvc3JjL2Jpbi9wZ190ZXN0X3RpbWluZy9DTWFrZUxpc3RzLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2U5MjMyCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL2Jpbi9wZ190ZXN0X3RpbWluZy9DTWFr ZUxpc3RzLnR4dApAQCAtMCwwICsxLDIzIEBACitpbmNsdWRlX2RpcmVjdG9y aWVzKEJFRk9SRQorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1 ZGUvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJm YWNlcy9saWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4v cGdfZHVtcCIKKykKKworYWRkX2V4ZWN1dGFibGUocGdfdGVzdF90aW1pbmcK KwlwZ190ZXN0X3RpbWluZy5jCisJCispCisKK3RhcmdldF9saW5rX2xpYnJh cmllcyhwZ190ZXN0X3RpbWluZworCXBnY29tbW9uCisJcG9ydAorKQorCitD TUFLRV9TRVRfVEFSR0VUX0ZPTERFUihwZ190ZXN0X3RpbWluZyBiaW4pCisK K2luc3RhbGwoVEFSR0VUUyBwZ190ZXN0X3RpbWluZworCQlSVU5USU1FIERF U1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04g JHtMSUJESVJ9KQorCisKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdXBncmFk ZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9iaW4vcGdfdXBncmFkZS9DTWFrZUxp c3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j ZDlhOTAyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRl L0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMzkgQEAKK2luY2x1ZGVfZGly ZWN0b3JpZXMoQkVGT1JFCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv aW5jbHVkZS9saWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9p bnRlcmZhY2VzL2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2Jpbi9wZ19kdW1wIgorKQorCithZGRfZXhlY3V0YWJsZShwZ191cGdyYWRl CisJY2hlY2suYworCWNvbnRyb2xkYXRhLmMKKwlkdW1wLmMKKwlleGVjLmMK KwlmaWxlLmMKKwlmdW5jdGlvbi5jCisJaW5mby5jCisJb3B0aW9uLmMKKwlw YXJhbGxlbC5jCisJcGdfdXBncmFkZS5jCisJcmVsZmlsZW5vZGUuYworCXNl cnZlci5jCisJdGFibGVzcGFjZS5jCisJdXRpbC5jCisJdmVyc2lvbi5jIAor KQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocGdfdXBncmFkZQorCXBnZmV1 dGlscworCXBnY29tbW9uCisJcG9ydAorCXBxCispCisKK0NNQUtFX1NFVF9U QVJHRVRfRk9MREVSKHBnX3VwZ3JhZGUgYmluKQorCitpbnN0YWxsKFRBUkdF VFMgcGdfdXBncmFkZQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5E SVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQorCisKKwpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRlL3V0aWwuYyBiL3NyYy9i aW4vcGdfdXBncmFkZS91dGlsLmMKaW5kZXggNWIyNGVjMC4uM2JmNDlmZCAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ191cGdyYWRlL3V0aWwuYworKysgYi9z cmMvYmluL3BnX3VwZ3JhZGUvdXRpbC5jCkBAIC0yNzQsNyArMjc0LDcgQEAg cGdfcHV0ZW52KGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsKQog CQljaGFyCSAgICplbnZzdHI7CiAKIAkJZW52c3RyID0gcHNwcmludGYoIiVz PSVzIiwgdmFyLCB2YWwpOwotCQlwdXRlbnYoZW52c3RyKTsKKwkJcGdfcHV0 ZW52X3Byb3h5KGVudnN0cik7CiAKIAkJLyoKIAkJICogRG8gbm90IGZyZWUg ZW52c3RyIGJlY2F1c2UgaXQgYmVjb21lcyBwYXJ0IG9mIHRoZSBlbnZpcm9u bWVudCBvbgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ194bG9nZHVtcC9DTWFr ZUxpc3RzLnR4dCBiL3NyYy9iaW4vcGdfeGxvZ2R1bXAvQ01ha2VMaXN0cy50 eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhiNDVh MQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iaW4vcGdfeGxvZ2R1bXAvQ01h a2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNyBAQAoraW5jbHVkZV9kaXJlY3Rv cmllcyhCRUZPUkUKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNs dWRlL2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVy ZmFjZXMvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmlu L3BnX2R1bXAiCispCisKK2FkZF9leGVjdXRhYmxlKHBnX3hsb2dkdW1wCisJ JHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hsb2dyZWFkZXIuYworCXBnX3hsb2dkdW1wLmMKKwljb21wYXQuYwor CXJtZ3JkZXNjLmMKKwkke3JtZ3JkZXNjX1NSQ30KKykKKwordGFyZ2V0X2xp bmtfbGlicmFyaWVzKHBnX3hsb2dkdW1wCisJcGdjb21tb24KKwlwb3J0CisJ cHEKKykKKwordGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMocGdfeGxvZ2R1 bXAgUFJJVkFURSAtREZST05URU5EKQorCitDTUFLRV9TRVRfVEFSR0VUX0ZP TERFUihwZ194bG9nZHVtcCBiaW4pCisKK2luc3RhbGwoVEFSR0VUUyBwZ194 bG9nZHVtcAorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJ CUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wZ2JlbmNoL0NNYWtlTGlzdHMudHh0IGIvc3JjL2Jpbi9wZ2Jl bmNoL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmIxMGFmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmlu L3BnYmVuY2gvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwzMiBAQAoraW5j bHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYy9pbmNsdWRlL2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJ Un0vc3JjL2ludGVyZmFjZXMvbGlicHEiCisJIiR7UFJPSkVDVF9TT1VSQ0Vf RElSfS9zcmMvYmluL3BnX2R1bXAiCispCisKK2Jpc29uX3RhcmdldChQR0JF TkNIX1BBUlNFUiBleHBycGFyc2UueSAke1BST0pFQ1RfU09VUkNFX0RJUn0v c3JjL2Jpbi9wZ2JlbmNoL2V4cHJwYXJzZS5jKQorZmxleF90YXJnZXQoUEdC RU5DSF9TQ0FOTkVSIGV4cHJzY2FuLmwgICR7UFJPSkVDVF9TT1VSQ0VfRElS fS9zcmMvYmluL3BnYmVuY2gvZXhwcnNjYW4uYykKK2FkZF9mbGV4X2Jpc29u X2RlcGVuZGVuY3koUEdCRU5DSF9TQ0FOTkVSIFBHQkVOQ0hfUEFSU0VSKQor CitzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRpZXMoZXhwcnBhcnNlLmMgUFJP UEVSVElFUyBPQkpFQ1RfREVQRU5EUyAke0ZMRVhfUEdCRU5DSF9TQ0FOTkVS X09VVFBVVFN9KQorCithZGRfZXhlY3V0YWJsZShwZ2JlbmNoCisJcGdiZW5j aC5jCisJJHtCSVNPTl9QR0JFTkNIX1BBUlNFUl9PVVRQVVRTfQorKQorCit0 YXJnZXRfbGlua19saWJyYXJpZXMocGdiZW5jaAorCXBnZmV1dGlscworCXBv cnQKKwlwcQorCXBnY29tbW9uCisJJHtNX0xJQn0KKykKKworYWRkX2RlcGVu ZGVuY2llcyhwZ2JlbmNoIHBvc3RncmVzKQorCitDTUFLRV9TRVRfVEFSR0VU X0ZPTERFUihwZ2JlbmNoIGJpbikKKworaW5zdGFsbChUQVJHRVRTIHBnYmVu Y2gKKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJS QVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKZGlmZiAtLWdpdCBhL3NyYy9i aW4vcHNxbC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9iaW4vcHNxbC9DTWFrZUxp c3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j ZWNjZjIzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jpbi9wc3FsL0NNYWtl TGlzdHMudHh0CkBAIC0wLDAgKzEsNzIgQEAKK2luY2x1ZGVfZGlyZWN0b3Jp ZXMoQkVGT1JFCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW5jbHVk ZS9saWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZh Y2VzL2xpYnBxIgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9w Z19kdW1wIgorKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisJTUFJTl9ERVBF TkRFTkNZIGNyZWF0ZV9oZWxwLnBsCisJT1VUUFVUICR7UFJPSkVDVF9TT1VS Q0VfRElSfS9zcmMvYmluL3BzcWwvc3FsX2hlbHAuYyAke1BST0pFQ1RfU09V UkNFX0RJUn0vc3JjL2Jpbi9wc3FsL3NxbF9oZWxwLmgKKwlDT01NQU5EICR7 UEVSTF9FWEVDVVRBQkxFfSBjcmVhdGVfaGVscC5wbCAuLi8uLi8uLi9kb2Mv c3JjL3NnbWwvcmVmIHNxbF9oZWxwCisJV09SS0lOR19ESVJFQ1RPUlkgJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4vcHNxbAorKQorCitmbGV4X3Rh cmdldChTQ0FOU0xBU0hfU0NBTgorCXBzcWxzY2Fuc2xhc2gubAorCSR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wc3Fsc2NhbnNsYXNoLmMKKykKKwor c2V0KHBzcWxfU1JDUworCWNvbW1hbmQuYworCWNvbW1vbi5jCisJaGVscC5j CisJaGVscC5oCisJaW5wdXQuYworCXN0cmluZ3V0aWxzLmMKKwltYWlubG9v cC5jCisJY29weS5jCisJY29weS5oCisJc3RhcnR1cC5jCisJcHJvbXB0LmMK Kwl2YXJpYWJsZXMuYworCWxhcmdlX29iai5jCisJZGVzY3JpYmUuYworCXRh Yi1jb21wbGV0ZS5jCisJLi4vcGdfZHVtcC9kdW1wdXRpbHMuYworCXNxbF9o ZWxwLmMKKwljcm9zc3RhYnZpZXcuYworCSR7RkxFWF9TQ0FOU0xBU0hfU0NB Tl9PVVRQVVRTfQorKQorCithZGRfZXhlY3V0YWJsZShwc3FsCisJJHtwc3Fs X1NSQ1N9CispCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhwc3FsCisJcGdm ZXV0aWxzCisJcGdjb21tb24KKwlwb3J0CisJcHEKKwkke1JFQURMSU5FX0xJ QlJBUll9CisJJHtDTUFLRV9USFJFQURfTElCU19JTklUfQorKQorCitpZihP UEVOU1NMX0ZPVU5EKQorCXRhcmdldF9saW5rX2xpYnJhcmllcyhwc3FsICR7 T1BFTlNTTF9MSUJSQVJJRVN9KQorZW5kaWYoKQoraWYoTk9UIE1TVkMpCisJ dGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBzcWwgbSkKK2VuZGlmKCkKKworYWRk X2RlcGVuZGVuY2llcyhwc3FsIHBvc3RncmVzKQorCitDTUFLRV9TRVRfVEFS R0VUX0ZPTERFUihwc3FsIGJpbikKKworaW5zdGFsbChUQVJHRVRTIHBzcWwK KwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklORElSfQorCQlMSUJSQVJZ IERFU1RJTkFUSU9OICR7TElCRElSfSkKKworaWYoRU5BQkxFX05MUykKKwlN QUtFX01PKHBzbHEgImNzO2RlO2VzO2ZyO2l0O2phO3BsO3B0X0JSO3J1O3po X0NOO3poX1RXIikKK2VuZGlmKCkKKwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w c3FsL2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5kZXgg YTlhMmZkYi4uYTllNmRmYSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2Nv bW1hbmQuYworKysgYi9zcmMvYmluL3BzcWwvY29tbWFuZC5jCkBAIC0xMzUw LDcgKzEzNTAsNyBAQCBleGVjX2NvbW1hbmQoY29uc3QgY2hhciAqY21kLAog CQkJY2hhcgkgICAqbmV3dmFsOwogCiAJCQluZXd2YWwgPSBwc3ByaW50Zigi JXM9JXMiLCBlbnZ2YXIsIGVudnZhbCk7Ci0JCQlwdXRlbnYobmV3dmFsKTsK KwkJCXBnX3B1dGVudl9wcm94eShuZXd2YWwpOwogCQkJc3VjY2VzcyA9IHRy dWU7CiAKIAkJCS8qCmRpZmYgLS1naXQgYS9zcmMvYmluL3NjcmlwdHMvQ01h a2VMaXN0cy50eHQgYi9zcmMvYmluL3NjcmlwdHMvQ01ha2VMaXN0cy50eHQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA2NTQ4YQot LS0gL2Rldi9udWxsCisrKyBiL3NyYy9iaW4vc2NyaXB0cy9DTWFrZUxpc3Rz LnR4dApAQCAtMCwwICsxLDg5IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKEJF Rk9SRQorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvbGli cHEiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNlcy9s aWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4vcGdfZHVt cCIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9iaW4vcHNxbCIKKykK KworYWRkX2xpYnJhcnkoY29tbW9uX2R1bXAgU1RBVElDCisJY29tbW9uLmMK Kwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19kdW1wL2R1bXB1 dGlscy5jCispCisKK2FkZF9saWJyYXJ5KGNvbW1vbl9wcmludCBTVEFUSUMK Kwljb21tb24uYworKQorCitzZXQoY29tbW9uX2xpYnMKKwlwZ2ZldXRpbHMK KwlwZ2NvbW1vbgorCXBvcnQKKwlwcQorCSR7TElCX019CispCisKK2FkZF9l eGVjdXRhYmxlKGNyZWF0ZWxhbmcKKwljcmVhdGVsYW5nLmMKKykKKwordGFy Z2V0X2xpbmtfbGlicmFyaWVzKGNyZWF0ZWxhbmcKKwljb21tb25fcHJpbnQK Kwkke2NvbW1vbl9saWJzfQorKQorCitDTUFLRV9TRVRfVEFSR0VUX0ZPTERF UihjcmVhdGVsYW5nIGJpbikKKworYWRkX2V4ZWN1dGFibGUoZHJvcGxhbmcK Kwlkcm9wbGFuZy5jCispCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhkcm9w bGFuZworCWNvbW1vbl9wcmludAorCSR7Y29tbW9uX2xpYnN9CispCisKK0NN QUtFX1NFVF9UQVJHRVRfRk9MREVSKGRyb3BsYW5nIGJpbikKKworYWRkX2V4 ZWN1dGFibGUocGdfaXNyZWFkeQorCXBnX2lzcmVhZHkuYworCWNvbW1vbi5j CispCisKK3RhcmdldF9saW5rX2xpYnJhcmllcyhwZ19pc3JlYWR5CisJJHtj b21tb25fbGlic30KKykKKworQ01BS0VfU0VUX1RBUkdFVF9GT0xERVIocGdf aXNyZWFkeSBiaW4pCisKK3NldChkdW1wX21vZHVsZXNfbGlzdCAKKwljcmVh dGVkYgorCWNyZWF0ZXVzZXIKKwlkcm9wZGIKKwlkcm9wdXNlcgorCWNsdXN0 ZXJkYgorCXZhY3V1bWRiCisJcmVpbmRleGRiCispCisKK2ZvcmVhY2gobG9v cF92YXIgSU4gSVRFTVMgJHtkdW1wX21vZHVsZXNfbGlzdH0pCisJYWRkX2V4 ZWN1dGFibGUoJHtsb29wX3Zhcn0KKwkJJHtsb29wX3Zhcn0uYworCQkke2R1 bXBfcGFyc2VyX3NyY30KKwkpCisKKwl0YXJnZXRfbGlua19saWJyYXJpZXMo JHtsb29wX3Zhcn0KKwkJY29tbW9uX2R1bXAKKwkJJHtjb21tb25fbGlic30K KwkpCisKKwlDTUFLRV9TRVRfVEFSR0VUX0ZPTERFUigke2xvb3BfdmFyfSBi aW4pCitlbmRmb3JlYWNoKCkKKworCitpbnN0YWxsKFRBUkdFVFMgJHtkdW1w X21vZHVsZXNfbGlzdH0gY3JlYXRlbGFuZyBkcm9wbGFuZyBwZ19pc3JlYWR5 CisJCVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFS WSBERVNUSU5BVElPTiAke0xJQkRJUn0pCisKK2lmKEVOQUJMRV9OTFMpCisJ TUFLRV9NTyhwZ3NjcmlwdHMgImNzO2RlO2VzO2ZyO2l0O2phO2tvO3BsO3B0 X0JSO3J1O3N2O3poX0NOIikKK2VuZGlmKCkKZGlmZiAtLWdpdCBhL3NyYy9j b21tb24vQ01ha2VMaXN0cy50eHQgYi9zcmMvY29tbW9uL0NNYWtlTGlzdHMu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMjQx NjUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29tbW9uL0NNYWtlTGlzdHMu dHh0CkBAIC0wLDAgKzEsNDggQEAKK3NldChwZ2NvbW1vbl9zcnZfU1JDUwor CWV4ZWMuYworCXBnX2x6Y29tcHJlc3MuYworCXBnZm5hbWVzLmMKKwlwc3By aW50Zi5jCisJcmVscGF0aC5jCisJcm10cmVlLmMKKwlzdHJpbmcuYworCXVz ZXJuYW1lLmMKKwl3YWl0X2Vycm9yLmMKKwljb250cm9sZGF0YV91dGlscy5j CisJY29uZmlnX2luZm8uYworCWtleXdvcmRzLmMKKwltZDUuYworCWlwLmMK KykKKworc2V0KHBnY29tbW9uX1NSQ1MKKwkke3BnY29tbW9uX3Nydl9TUkNT fQorCWZlX21lbXV0aWxzLmMKKwlyZXN0cmljdGVkX3Rva2VuLmMKKwkke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvcGFyc2VyL2dyYW0uaAor KQorCithZGRfbGlicmFyeShwZ2NvbW1vbl9zcnYgU1RBVElDICR7cGdjb21t b25fc3J2X1NSQ1N9KQorYWRkX2xpYnJhcnkocGdjb21tb24gU1RBVElDICR7 cGdjb21tb25fU1JDU30pCisKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVydGll cygKKwkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2luY2x1ZGUvcGFyc2Vy L2dyYW0uaAorCVBST1BFUlRJRVMgR0VORVJBVEVEIFRSVUUKKykKKworYWRk X2RlcGVuZGVuY2llcyhwZ2NvbW1vbl9zcnYgZ2VuZXJhdGVfcGFyc2VyX2dy YW1faCkKK2FkZF9kZXBlbmRlbmNpZXMocGdjb21tb25fc3J2IGdlbl9lcnJv cmNvZGVzKQorYWRkX2RlcGVuZGVuY2llcyhwZ2NvbW1vbiBnZW5fZXJyb3Jj b2RlcykKKwordGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMocGdjb21tb24g UFJJVkFURSAtREZST05URU5EKQorCit0YXJnZXRfY29tcGlsZV9kZWZpbml0 aW9ucyhwZ2NvbW1vbiBQUklWQVRFIC1EVkFMX0NQUEZMQUdTPSIke0NNQUtF X0NYWF9GTEFHU30iKQordGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMocGdj b21tb24gUFJJVkFURSAtRFZBTF9DRkxBR1M9IiR7Q01BS0VfQ19GTEFHU30g JHtDT01QSUxFX0RFRklOSVRJT05TfSIpCit0YXJnZXRfY29tcGlsZV9kZWZp bml0aW9ucyhwZ2NvbW1vbiBQUklWQVRFIC1EVkFMX0NDPSIke0NNQUtFX0Nf Q09NUElMRVJ9IikKK3RhcmdldF9jb21waWxlX2RlZmluaXRpb25zKHBnY29t bW9uIFBSSVZBVEUgLURWQUxfTERGTEFHUz0iJHtDTUFLRV9TSEFSRURfTElO S0VSX0ZMQUdTfSIpCisKKyMgYmVjYXVzZSBwb3J0IHVzZWQgaW4gc2hhcmVk IGxpYnJhcmllcworc2V0X3Byb3BlcnR5KFRBUkdFVCBwZ2NvbW1vbiBQUk9Q RVJUWSBQT1NJVElPTl9JTkRFUEVOREVOVF9DT0RFIFRSVUUpCisKK2luc3Rh bGwoVEFSR0VUUyBwZ2NvbW1vbgorCQlBUkNISVZFIERFU1RJTkFUSU9OICR7 TElCRElSfSkKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vZXhlYy5jIGIvc3Jj L2NvbW1vbi9leGVjLmMKaW5kZXggYTJkZTA3MS4uZGYyYjY3NSAxMDA2NDQK LS0tIGEvc3JjL2NvbW1vbi9leGVjLmMKKysrIGIvc3JjL2NvbW1vbi9leGVj LmMKQEAgLTU4Niw3ICs1ODYsNyBAQCBzZXRfcGdsb2NhbGVfcGdzZXJ2aWNl KGNvbnN0IGNoYXIgKmFyZ3YwLCBjb25zdCBjaGFyICphcHApCiAJCWNhbm9u aWNhbGl6ZV9wYXRoKGVudl9wYXRoICsgMTIpOwogCQlkdXBfcGF0aCA9IHN0 cmR1cChlbnZfcGF0aCk7CiAJCWlmIChkdXBfcGF0aCkKLQkJCXB1dGVudihk dXBfcGF0aCk7CisJCQlwZ19wdXRlbnZfcHJveHkoZHVwX3BhdGgpOwogCX0K ICNlbmRpZgogCkBAIC01OTksNyArNTk5LDcgQEAgc2V0X3BnbG9jYWxlX3Bn c2VydmljZShjb25zdCBjaGFyICphcmd2MCwgY29uc3QgY2hhciAqYXBwKQog CQljYW5vbmljYWxpemVfcGF0aChlbnZfcGF0aCArIDEzKTsKIAkJZHVwX3Bh dGggPSBzdHJkdXAoZW52X3BhdGgpOwogCQlpZiAoZHVwX3BhdGgpCi0JCQlw dXRlbnYoZHVwX3BhdGgpOworCQkJcGdfcHV0ZW52X3Byb3h5KGR1cF9wYXRo KTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vcmVzdHJpY3Rl ZF90b2tlbi5jIGIvc3JjL2NvbW1vbi9yZXN0cmljdGVkX3Rva2VuLmMKaW5k ZXggZDE1NWI1ZS4uMmYzYjQyOSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9y ZXN0cmljdGVkX3Rva2VuLmMKKysrIGIvc3JjL2NvbW1vbi9yZXN0cmljdGVk X3Rva2VuLmMKQEAgLTE2Myw3ICsxNjMsNyBAQCBnZXRfcmVzdHJpY3RlZF90 b2tlbihjb25zdCBjaGFyICpwcm9nbmFtZSkKIAogCQljbWRsaW5lID0gcGdf c3RyZHVwKEdldENvbW1hbmRMaW5lKCkpOwogCi0JCXB1dGVudigiUEdfUkVT VFJJQ1RfRVhFQz0xIik7CisJCXBnX3B1dGVudl9wcm94eSgiUEdfUkVTVFJJ Q1RfRVhFQz0xIik7CiAKIAkJaWYgKChyZXN0cmljdGVkVG9rZW4gPSBDcmVh dGVSZXN0cmljdGVkUHJvY2VzcyhjbWRsaW5lLCAmcGksIHByb2duYW1lKSkg PT0gMCkKIAkJewpkaWZmIC0tZ2l0IGEvc3JjL2ZlX3V0aWxzL0NNYWtlTGlz dHMudHh0IGIvc3JjL2ZlX3V0aWxzL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZjNmZDMKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvZmVfdXRpbHMvQ01ha2VMaXN0cy50eHQKQEAgLTAs MCArMSwyMyBAQAoraW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtQ Uk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL2xpYnBxIgorCSIke1BS T0pFQ1RfU09VUkNFX0RJUn0vc3JjL2ludGVyZmFjZXMvbGlicHEiCisJIiR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmluL3BnX2R1bXAiCisJIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvYmluL3BzcWwiCispCisKK3NldChwc3Fs c2Nhbl9mbGFncywgIi1DZmUgLXAgLXAiKQorCitmbGV4X3RhcmdldChwc3Fs c2NhbgorCXBzcWxzY2FuLmwKKwkiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9L3BzcWxzY2FuLmMiCisJJHtwc3Fsc2Nhbl9mbGFnc30KKykKKworYWRk X2xpYnJhcnkocGdmZXV0aWxzIFNUQVRJQworCW1icHJpbnQuYworCXByaW50 LmMKKwlwc3Fsc2Nhbi5jCisJc2ltcGxlX2xpc3QuYworCXN0cmluZ191dGls cy5jCisJJHtGTEVYX3BzcWxzY2FuX09VVFBVVFN9CispCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9pbmNsdWRlL0NN YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmMwODQ4MjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9D TWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc4IEBACitzZXQoSU5DTFVERURJ Ul9JTlRFUk5BTCAke1BLR0lOQ0xVREVESVJ9L2ludGVybmFsKQorCisjIFRo ZXNlIGhlYWRlcnMgYXJlIG5lZWRlZCBieSB0aGUgcHVibGljIGhlYWRlcnMg b2YgdGhlIGludGVyZmFjZXMuCitpbnN0YWxsKEZJTEVTCisJcG9zdGdyZXNf ZXh0LmgKKwlwZ19jb25maWcuaAorCXBnX2NvbmZpZ19leHQuaAorCXBnX2Nv bmZpZ19vcy5oCisJcGdfY29uZmlnX21hbnVhbC5oCisJREVTVElOQVRJT04g JHtJTkNMVURFRElSfSkKK2luc3RhbGwoRklMRVMKKwlsaWJwcS9saWJwcS1m cy5oCisJREVTVElOQVRJT04gJHtJTkNMVURFRElSfS9saWJwcSkKKworIyBU aGVzZSBoZWFkZXJzIGFyZSBuZWVkZWQgYnkgdGhlIG5vdC1zby1wdWJsaWMg aGVhZGVycyBvZiB0aGUgaW50ZXJmYWNlcy4KK2luc3RhbGwoRklMRVMKKwlj LmgKKwlwb3J0LmgKKwlwb3N0Z3Jlc19mZS5oCisJREVTVElOQVRJT04gJHtJ TkNMVURFRElSX0lOVEVSTkFMfSkKK2luc3RhbGwoRklMRVMKKwlsaWJwcS9w cWNvbW0uaAorCURFU1RJTkFUSU9OICR7SU5DTFVERURJUl9JTlRFUk5BTH0v bGlicHEpCisKKyMgVGhlc2UgaGVhZGVycyBhcmUgbmVlZGVkIGZvciBzZXJ2 ZXItc2lkZSBkZXZlbG9wbWVudAorc2V0KFNVQkRJUlMKKwlhY2Nlc3MKKwli b290c3RyYXAKKwljYXRhbG9nCisJY29tbWFuZHMKKwljb21tb24KKwlkYXRh dHlwZQorCWV4ZWN1dG9yCisJZm9yZWlnbgorCWxpYgorCWxpYnBxCisJbWIK Kwlub2RlcworCW9wdGltaXplcgorCXBhcnNlcgorCXBvc3RtYXN0ZXIKKwly ZWdleAorCXJlcGxpY2F0aW9uCisJcmV3cml0ZQorCXN0b3JhZ2UKKwl0Y29w CisJc25vd2JhbGwKKwl0c2VhcmNoCisJdXRpbHMKKwlwb3J0CisJcG9ydGFi aWxpdHkKKykKKworaW5zdGFsbChGSUxFUworCWMuaAorCWR5bmxvYWRlci5o CisJZm1nci5oCisJZnVuY2FwaS5oCisJZ2V0YWRkcmluZm8uaAorCWdldG9w dF9sb25nLmgKKwltaXNjYWRtaW4uaAorCXBnX2NvbmZpZ19leHQuaAorCXBn X2NvbmZpZy5oCisJcGdfY29uZmlnX21hbnVhbC5oCisJcGdfY29uZmlnX29z LmgKKwlwZ19nZXRvcHQuaAorCXBnc3RhdC5oCisJcGd0YXIuaAorCXBndGlt ZS5oCisJcGdfdHJhY2UuaAorCXBvcnQuaAorCXBvc3RncmVzX2V4dC5oCisJ cG9zdGdyZXNfZmUuaAorCXBvc3RncmVzLmgKKwlydXNhZ2VzdHViLmgKKwl3 aW5kb3dhcGkuaAorCURFU1RJTkFUSU9OICR7SU5DTFVERURJUlNFUlZFUn0p CitpbnN0YWxsKERJUkVDVE9SWSAke1NVQkRJUlN9IERFU1RJTkFUSU9OICR7 SU5DTFVERURJUlNFUlZFUn0pCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j LmggYi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggNGFiM2Y4MC4uMTI5OWU1YyAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRl L2MuaApAQCAtMzE3LDggKzMxNyw3IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9u ZyBsb25nIGludCB1aW50NjQ7CiAgKgkJVGhlcmUgY3VycmVudGx5IGlzIG9u bHkgYSBsaW1pdGVkIHN1cHBvcnQgZm9yIHRoZSB0eXBlLiBFLmcuIDEyOGJp dAogICoJCWxpdGVyYWxzIGFuZCBzbnByaW50ZiBhcmUgbm90IHN1cHBvcnRl ZDsgYnV0IG1hdGggaXMuCiAgKi8KLSNpZiBkZWZpbmVkKFBHX0lOVDEyOF9U WVBFKQotI2RlZmluZSBIQVZFX0lOVDEyOAorI2lmIGRlZmluZWQoSEFWRV9J TlQxMjgpCiB0eXBlZGVmIFBHX0lOVDEyOF9UWVBFIGludDEyODsKIHR5cGVk ZWYgdW5zaWduZWQgUEdfSU5UMTI4X1RZUEUgdWludDEyODsKICNlbmRpZgpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdfY29uZmlnX2NtYWtlLmluIGIv c3JjL2luY2x1ZGUvcGdfY29uZmlnX2NtYWtlLmluCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4Njg1YWUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvaW5jbHVkZS9wZ19jb25maWdfY21ha2UuaW4KQEAgLTAsMCAr MSw5MzAgQEAKKyNpZm5kZWYgQVVUT19DT05GSUdfSAorI2RlZmluZSBBVVRP X0NPTkZJR19ICisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMSBv ZiAnYWNjZXB0JyAqLworI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIEBBQ0NF UFRfVFlQRV9BUkcxQAorCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJn IDIgb2YgJ2FjY2VwdCcgKi8KKyNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBA QUNDRVBUX1RZUEVfQVJHMkAKKworLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9m IGFyZyAzIG9mICdhY2NlcHQnICovCisjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzMgQEFDQ0VQVF9UWVBFX0FSRzNACisKKy8qIERlZmluZSB0byB0aGUgcmV0 dXJuIHR5cGUgb2YgJ2FjY2VwdCcgKi8KKyNkZWZpbmUgQUNDRVBUX1RZUEVf UkVUVVJOIEBBQ0NFUFRfVFlQRV9SRVRVUk5ACisKKy8qIFRoZSBub3JtYWwg YWxpZ25tZW50IG9mIGBkb3VibGUnLCBpbiBieXRlcy4gKi8KKyNkZWZpbmUg QUxJR05PRl9ET1VCTEUgQEFMSUdOT0ZfRE9VQkxFQAorCisvKiBUaGUgbm9y bWFsIGFsaWdubWVudCBvZiBgaW50JywgaW4gYnl0ZXMuICovCisjZGVmaW5l IEFMSUdOT0ZfSU5UIEBBTElHTk9GX0lOVEAKKworLyogVGhlIG5vcm1hbCBh bGlnbm1lbnQgb2YgYGxvbmcnLCBpbiBieXRlcy4gKi8KKyNkZWZpbmUgQUxJ R05PRl9MT05HIEBBTElHTk9GX0xPTkdACisKKy8qIFRoZSBub3JtYWwgYWxp Z25tZW50IG9mIGBsb25nIGxvbmcgaW50JywgaW4gYnl0ZXMuICovCisjZGVm aW5lIEFMSUdOT0ZfTE9OR19MT05HX0lOVCBAQUxJR05PRl9MT05HX0xPTkdf SU5UQAorCisvKiBUaGUgbm9ybWFsIGFsaWdubWVudCBvZiBgc2hvcnQnLCBp biBieXRlcy4gKi8KKyNkZWZpbmUgQUxJR05PRl9TSE9SVCBAQUxJR05PRl9T SE9SVEAKKworLyogU2l6ZSBvZiBhIGRpc2sgYmxvY2sgLS0tIHRoaXMgYWxz byBsaW1pdHMgdGhlIHNpemUgb2YgYSB0dXBsZS4gWW91IGNhbiBzZXQKKyAg IGl0IGJpZ2dlciBpZiB5b3UgbmVlZCBiaWdnZXIgdHVwbGVzIChhbHRob3Vn aCBUT0FTVCBzaG91bGQgcmVkdWNlIHRoZSBuZWVkCisgICB0byBoYXZlIGxh cmdlIHR1cGxlcywgc2luY2UgZmllbGRzIGNhbiBiZSBzcHJlYWQgYWNyb3Nz IG11bHRpcGxlIHR1cGxlcykuCisgICBCTENLU1ogbXVzdCBiZSBhIHBvd2Vy IG9mIDIuIFRoZSBtYXhpbXVtIHBvc3NpYmxlIHZhbHVlIG9mIEJMQ0tTWiBp cworICAgY3VycmVudGx5IDJeMTUgKDMyNzY4KS4gVGhpcyBpcyBkZXRlcm1p bmVkIGJ5IHRoZSAxNS1iaXQgd2lkdGhzIG9mIHRoZQorICAgbHBfb2ZmIGFu ZCBscF9sZW4gZmllbGRzIGluIEl0ZW1JZERhdGEgKHNlZSBpbmNsdWRlL3N0 b3JhZ2UvaXRlbWlkLmgpLgorICAgQ2hhbmdpbmcgQkxDS1NaIHJlcXVpcmVz IGFuIGluaXRkYi4gKi8KKyNkZWZpbmUgQkxDS1NaIEBCTENLU1pACisKKy8q IERlZmluZSB0byB0aGUgZGVmYXVsdCBUQ1AgcG9ydCBudW1iZXIgb24gd2hp Y2ggdGhlIHNlcnZlciBsaXN0ZW5zIGFuZCB0bworICAgd2hpY2ggY2xpZW50 cyB3aWxsIHRyeSB0byBjb25uZWN0LiBUaGlzIGNhbiBiZSBvdmVycmlkZGVu IGF0IHJ1bi10aW1lLCBidXQKKyAgIGl0J3MgY29udmVuaWVudCBpZiB5b3Vy IGNsaWVudHMgaGF2ZSB0aGUgcmlnaHQgZGVmYXVsdCBjb21waWxlZCBpbi4K KyAgICgtRFBHUE9SVD1QT1JUTlVNKSAqLworI2RlZmluZSBERUZfUEdQT1JU IEBQR1BPUlRACisKKy8qIERlZmluZSB0byB0aGUgZGVmYXVsdCBUQ1AgcG9y dCBudW1iZXIgYXMgYSBzdHJpbmcgY29uc3RhbnQuICovCisjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICJAUEdQT1JUQCIKKworLyogRGVmaW5lIHRvIGJ1aWxk IHdpdGggR1NTQVBJIHN1cHBvcnQuICovCisjY21ha2VkZWZpbmUgRU5BQkxF X0dTUworCisjY21ha2VkZWZpbmUgRU5BQkxFX05MUworCisjY21ha2VkZWZp bmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQorCisvKiBEZWZpbmUgdG8gbm90 aGluZyBpZiBDIHN1cHBvcnRzIGZsZXhpYmxlIGFycmF5IG1lbWJlcnMsIGFu ZCB0byAxIGlmIGl0IGRvZXMKKyAgIG5vdC4gVGhhdCB3YXksIHdpdGggYSBk ZWNsYXJhdGlvbiBsaWtlIGBzdHJ1Y3QgcyB7IGludCBuOyBkb3VibGUKKyAg IGRbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTsgfTsnLCB0aGUgc3RydWN0IGhh Y2sgY2FuIGJlIHVzZWQgd2l0aCBwcmUtQzk5CisgICBjb21waWxlcnMuIFdo ZW4gY29tcHV0aW5nIHRoZSBzaXplIG9mIHN1Y2ggYW4gb2JqZWN0LCBkb24n dCB1c2UgJ3NpemVvZgorICAgKHN0cnVjdCBzKScgYXMgaXQgb3ZlcmVzdGlt YXRlcyB0aGUgc2l6ZS4gVXNlICdvZmZzZXRvZiAoc3RydWN0IHMsIGQpJwor ICAgaW5zdGVhZC4gRG9uJ3QgdXNlICdvZmZzZXRvZiAoc3RydWN0IHMsIGRb MF0pJywgYXMgdGhpcyBkb2Vzbid0IHdvcmsgd2l0aAorICAgTVNWQyBhbmQg d2l0aCBDKysgY29tcGlsZXJzLiAqLworI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgQEZMRVhJQkxFX0FSUkFZX01FTUJFUkAKKworLyogZmxvYXQ0 IHZhbHVlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIGlmICd0cnVlJywgYnkgcmVm ZXJlbmNlIGlmICdmYWxzZScgKi8KKyNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFM IEBGTE9BVDRQQVNTQllWQUxACisKKy8qIGZsb2F0OCwgaW50OCwgYW5kIHJl bGF0ZWQgdmFsdWVzIGFyZSBwYXNzZWQgYnkgdmFsdWUgaWYgJ3RydWUnLCBi eQorICAgcmVmZXJlbmNlIGlmICdmYWxzZScgKi8KKyNkZWZpbmUgRkxPQVQ4 UEFTU0JZVkFMIEBGTE9BVDhQQVNTQllWQUxACisKKyNjbWFrZWRlZmluZSBH RVRUSU1FT0ZEQVlfMUFSRworCisjaWZkZWYgR0VUVElNRU9GREFZXzFBUkcK KyMJZGVmaW5lIGdldHRpbWVvZmRheShhLGIpIGdldHRpbWVvZmRheShhKQor I2VuZGlmCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgYGFwcGVuZF9o aXN0b3J5JyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0FQUEVO RF9ISVNUT1JZCisKKy8qIERlZmluZSBpZiB5b3Ugd2FudCB0byB1c2UgYXRv bWljcyBpZiBhdmFpbGFibGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9BVE9N SUNTCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXRvbWlj Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfQVRPTUlD X0ggMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGBjYnJ0JyBmdW5j dGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0NCUlQgMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNsYXNzJyBmdW5jdGlvbi4gKi8K KyNjbWFrZWRlZmluZSBIQVZFX0NMQVNTIDEKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDxjcnRkZWZzLmg+IGhlYWRlciBmaWxlLiAqLwor I2NtYWtlZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKKworLyogRGVmaW5lIGlm IHlvdSBoYXZlIHRoZSBgY3J5cHQnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVm aW5lIEhBVkVfQ1JZUFQKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8 Y3J5cHQuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9D UllQVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNs YXJhdGlvbiBvZiBgZmRhdGFzeW5jJyAqLworI2NtYWtlZGVmaW5lIEhBVkVf REVDTF9GREFUQVNZTkMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgZGVjbGFyYXRpb24gb2YgYEZfRlVMTEZTWU5DJyAqLworI2NtYWtl ZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lOQyAxCisKKy8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgcG9zaXhfZmFk dmlzZScgKi8KKyNjbWFrZWRlZmluZSBIQVZFX0RFQ0xfUE9TSVhfRkFEVklT RSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJh dGlvbiBvZiBgc25wcmludGYnLCBhbmQgdG8gMCBpZiB5b3UKKyAgIGRvbid0 LiAqLworI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgQEhBVkVfREVDTF9T TlBSSU5URkAKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRl Y2xhcmF0aW9uIG9mIGBzdHJsY2F0JywgYW5kIHRvIDAgaWYgeW91CisgICBk b24ndC4gKi8KKyNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDQVQgQEhBVkVfREVD TF9TVFJMQ0FUQAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg ZGVjbGFyYXRpb24gb2YgYHN0cmxjcHknLCBhbmQgdG8gMCBpZiB5b3UKKyAg IGRvbid0LiAqLworI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSBASEFWRV9E RUNMX1NUUkxDUFlACisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBkZWNsYXJhdGlvbiBvZiBgc3lzX3NpZ2xpc3QnLCBhbmQgdG8gMCBpZiB5 b3UKKyAgIGRvbid0LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBk ZWNsYXJhdGlvbiBvZiBgdnNucHJpbnRmJywgYW5kIHRvIDAgaWYgeW91Cisg ICBkb24ndC4gKi8KKyNkZWZpbmUgSEFWRV9ERUNMX1ZTTlBSSU5URiBASEFW RV9ERUNMX1ZTTlBSSU5URkAKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxkbGQuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUg SEFWRV9ETERfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YGRsb3BlbicgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFWRV9ETE9Q RU4gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGVkaXRs aW5lL2hpc3RvcnkuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUg SEFWRV9FRElUTElORV9ISVNUT1JZX0gKKworLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIDxlZGl0bGluZS9yZWFkbGluZS5oPiBoZWFkZXIgZmls ZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0VESVRMSU5FX1JFQURMSU5FX0gK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZGF0YXN5bmMn IGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfRkRBVEFTWU5DIDEK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmbHMnIGZ1bmN0 aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfRkxTCisKKy8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgZnBjbGFzcycgZnVuY3Rpb24uICovCisj Y21ha2VkZWZpbmUgSEFWRV9GUENMQVNTIDEKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGBmcF9jbGFzcycgZnVuY3Rpb24uICovCisjY21h a2VkZWZpbmUgSEFWRV9GUF9DTEFTUyAxCisKKy8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgZnBfY2xhc3NfZCcgZnVuY3Rpb24uICovCisjY21h a2VkZWZpbmUgSEFWRV9GUF9DTEFTU19EIDEKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDxmcF9jbGFzcy5oPiBoZWFkZXIgZmlsZS4gKi8K KyNjbWFrZWRlZmluZSBIQVZFX0ZQX0NMQVNTX0ggMQorCisvKiBEZWZpbmUg dG8gMSBpZiBmc2Vla28gKGFuZCBwcmVzdW1hYmx5IGZ0ZWxsbykgZXhpc3Rz IGFuZCBpcyBkZWNsYXJlZC4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0ZTRUVL TyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdXIgY29tcGlsZXIgdW5kZXJz dGFuZHMgX19mdW5jX18uICovCisjY21ha2VkZWZpbmUgSEFWRV9GVU5DTkFN RV9fRlVOQworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVu ZGVyc3RhbmRzIF9fRlVOQ1RJT05fXy4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X0ZVTkNOQU1FX19GVU5DVElPTgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX24oaW50ICosIGludCAq LCBpbnQpLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfR0NDX19BVE9NSUNfSU5U MzJfQ0FTIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgX19hdG9t aWNfY29tcGFyZV9leGNoYW5nZV9uKGludDY0ICosIGludCAqLCBpbnQ2NCku CisgICAqLworI2NtYWtlZGVmaW5lIEhBVkVfR0NDX19BVE9NSUNfSU5UNjRf Q0FTIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgX19zeW5jX2xv Y2tfdGVzdF9hbmRfc2V0KGNoYXIgKikgYW5kIGZyaWVuZHMuICovCisjY21h a2VkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfQ0hBUl9UQVMgMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSBfX3N5bmNfY29tcGFyZV9hbmRfc3dhcChp bnQgKiwgaW50LCBpbnQpLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfR0NDX19T WU5DX0lOVDMyX0NBUyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldChpbnQgKikgYW5kIGZyaWVuZHMu ICovCisjY21ha2VkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTIDEK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgX19zeW5jX2NvbXBhcmVf YW5kX3N3YXAoaW50NjQgKiwgaW50NjQsIGludDY0KS4gKi8KKyNjbWFrZWRl ZmluZSBIQVZFX0dDQ19fU1lOQ19JTlQ2NF9DQVMgMQorCisvKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGFkZHJpbmZvJyBmdW5jdGlvbi4g Ki8KKyNjbWFrZWRlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKKworLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRob3N0YnluYW1lX3InIGZ1 bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfR0VUSE9TVEJZTkFNRV9S IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRpZmFk ZHJzJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0dFVElGQURE UlMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldG9w dCcgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFWRV9HRVRPUFQgMQor CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGdldG9wdC5oPiBo ZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0dFVE9QVF9IIDEK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRvcHRfbG9u ZycgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFWRV9HRVRPUFRfTE9O RyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cGVl cmVpZCcgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFWRV9HRVRQRUVS RUlEIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRw ZWVydWNyZWQnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfR0VU UEVFUlVDUkVEIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IGBnZXRwd3VpZF9yJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X0dFVFBXVUlEX1IgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYGdldHJsaW1pdCcgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYGdldHJ1c2FnZScgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYGdldHRpbWVvZmRheScgZnVuY3Rpb24uICovCisjY21ha2VkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug aGF2ZSB0aGUgPGdzc2FwaS9nc3NhcGkuaD4gaGVhZGVyIGZpbGUuICovCisj Y21ha2VkZWZpbmUgSEFWRV9HU1NBUElfR1NTQVBJX0ggMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGdzc2FwaS5oPiBoZWFkZXIgZmls ZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0dTU0FQSV9IIDEKKworLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxoaXN0b3J5Lmg+IGhlYWRlciBm aWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfSElTVE9SWV9IIDEKKworLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBoaXN0b3J5X3RydW5jYXRl X2ZpbGUnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfSElTVE9S WV9UUlVOQ0FURV9GSUxFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxpZWVlZnAuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZp bmUgSEFWRV9JRUVFRlBfSCBASEFWRV9JRUVFRlBfSEAKKworLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpZmFkZHJzLmg+IGhlYWRlciBmaWxl LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKKworLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpbmV0X2F0b24nIGZ1bmN0aW9u LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfSU5FVF9BVE9OIDEKKworLyogRGVm aW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDY0Jy4g Ki8KKyNjbWFrZWRlZmluZSBIQVZFX0lOVDY0IDEKKworLyogRGVmaW5lIHRv IDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDgnLiAqLworI2Nt YWtlZGVmaW5lIEhBVkVfSU5UOCAxCisKKy8qIFRPRE8gQlVUIERPIE5PVCBO RUVEOkRlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBp bnRwdHJfdCcuICovCisvKiNjbWFrZWRlZmluZSBIQVZFX0lOVFBUUl9UIDEq LworCisvKiBUT0RPIEJVVCBETyBOT1QgTkVFRDpEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworLyoj Y21ha2VkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEqLworCisvKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlICdpbnQgb3B0 ZXJyJy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQorCisv KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2xvYmFsIHZhcmlhYmxl ICdpbnQgb3B0cmVzZXQnLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfSU5UX09Q VFJFU0VUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGds b2JhbCB2YXJpYWJsZSAnaW50IHRpbWV6b25lJy4gKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHN1cHBvcnQgZm9yIElQdjYuICovCisjY21ha2VkZWZpbmUgSEFW RV9JUFY2IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgaXNpbmYo KS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0lTSU5GIDEKKworLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsYW5naW5mby5oPiBoZWFkZXIgZmls ZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorCisvKiBU T0RPIEJVVCBETyBOT1QgTkVFRDpEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgPGxkYXAuaD4gaGVhZGVyIGZpbGUuICovCisvKiNjbWFrZWRlZmluZSBI QVZFX0xEQVBfSCAxKi8KKworLyogVE9ETyBCVVQgRE8gTk9UIE5FRUQ6RGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjcnlwdG8nIGxpYnJhcnkgKC1s Y3J5cHRvKS4gKi8KKy8qI2NtYWtlZGVmaW5lIEhBVkVfTElCQ1JZUFRPIDEq LworCisvKiBUT0RPIEJVVCBETyBOT1QgTkVFRDpEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYGxkYXAnIGxpYnJhcnkgKC1sbGRhcCkuICovCisvKiNj bWFrZWRlZmluZSBIQVZFX0xJQkxEQVAgMSovCisKKy8qIFRPRE8gQlVUIERP IE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbGRhcF9y JyBsaWJyYXJ5ICgtbGxkYXBfcikuICovCisvKiNjbWFrZWRlZmluZSBIQVZF X0xJQkxEQVBfUiAxKi8KKworLyogVE9ETyBCVVQgTk9UIE5FRUQ6RGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtJyBsaWJyYXJ5ICgtbG0pLiAqLwor LyojY21ha2VkZWZpbmUgSEFWRV9MSUJNKi8KKworLyogVE9ETyBCVVQgTk9U IE5FRUQ6RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwYW0nIGxpYnJh cnkgKC1scGFtKS4gKi8KKy8qI2NtYWtlZGVmaW5lIEhBVkVfTElCUEFNIDEq LworCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgYSBmdW5jdGlvbiByZWFkbGlu ZSBsaWJyYXJ5ICovCisjY21ha2VkZWZpbmUgSEFWRV9MSUJSRUFETElORSAx CisKKy8qIFRPRE8gQlVUIE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgc2VsaW51eCcgbGlicmFyeSAoLWxzZWxpbnV4KS4gKi8KKy8q I2NtYWtlZGVmaW5lIEhBVkVfTElCU0VMSU5VWCAxKi8KKworLyogVE9ETyBC VVQgTk9UIE5FRUQ6RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzc2wn IGxpYnJhcnkgKC1sc3NsKS4gKi8KKy8qI2NtYWtlZGVmaW5lIEhBVkVfTElC U1NMIDEqLworCisvKiBUT0RPIEJVVCBOT1QgTkVFRDpEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYHdsZGFwMzInIGxpYnJhcnkgKC1sd2xkYXAzMiku ICovCisvKiNjbWFrZWRlZmluZSBIQVZFX0xJQldMREFQMzIgMSovCisKKy8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgeG1sMicgbGlicmFyeSAo LWx4bWwyKS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0xJQlhNTDIgMQorCisv KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHhzbHQnIGxpYnJhcnkg KC1seHNsdCkuICovCisjY21ha2VkZWZpbmUgSEFWRV9MSUJYU0xUIDEKKwor LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB6JyBsaWJyYXJ5ICgt bHopLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfTElCWiAxCisKKy8qIERlZmlu ZSB0byAxIGlmIGNvbnN0YW50cyBvZiB0eXBlICdsb25nIGxvbmcgaW50JyBz aG91bGQgaGF2ZSB0aGUgc3VmZml4IExMLgorICAgKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX0xMX0NPTlNUQU5UUyAxCisKKy8qIERlZmluZSB0byAxIGlmIHRo ZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBsb2NhbGVfdCcuICovCisjY21ha2Vk ZWZpbmUgSEFWRV9MT0NBTEVfVAorCisvKiBEZWZpbmUgdG8gMSBpZiBgbG9u ZyBpbnQnIHdvcmtzIGFuZCBpcyA2NCBiaXRzLiAqLworI2NtYWtlZGVmaW5l IEhBVkVfTE9OR19JTlRfNjQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUg c3lzdGVtIGhhcyB0aGUgdHlwZSBgbG9uZyBsb25nIGludCcuICovCisjY21h a2VkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKKworLyogRGVmaW5lIHRv IDEgaWYgYGxvbmcgbG9uZyBpbnQnIHdvcmtzIGFuZCBpcyA2NCBiaXRzLiAq LworI2NtYWtlZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVF82NCAxCisKKy8q IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWJhcnJpZXIuaD4gaGVh ZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9NQkFSUklFUl9IIDEK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtYnN0b3djc19s JyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX01CU1RPV0NTX0wg MQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbW1vdmUn IGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfTUVNTU9WRSAxCisK Ky8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLworLyojY21ha2Vk ZWZpbmUgSEFWRV9NRU1PUllfSCAxKi8KKworLyogRGVmaW5lIHRvIDEgaWYg dGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYE1JTklEVU1QX1RZUEUnLiAqLwor I2NtYWtlZGVmaW5lIEhBVkVfTUlOSURVTVBfVFlQRSAxCisKKy8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWtkdGVtcCcgZnVuY3Rpb24uICov CisjY21ha2VkZWZpbmUgSEFWRV9NS0RURU1QIDEKKworLyogVE9ETyBCVVQg RE8gTk9UIE5FRUQ6RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRp bmV0L2luLmg+IGhlYWRlciBmaWxlLiAqLworLyojY21ha2VkZWZpbmUgSEFW RV9ORVRJTkVUX0lOX0ggMSovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSA8bmV0aW5ldC90Y3AuaD4gaGVhZGVyIGZpbGUuICovCisjY21h a2VkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKKworLyogRGVmaW5lIHRv IDEgaWYgeW91IGhhdmUgdGhlIDxuZXQvaWYuaD4gaGVhZGVyIGZpbGUuICov CisjY21ha2VkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCisKKy8qIFRPRE8gQlVU IERPIE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8b3Nz cC91dWlkLmg+IGhlYWRlciBmaWxlLiAqLworLyojY21ha2VkZWZpbmUgSEFW RV9PU1NQX1VVSURfSCAxKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxwYW0vcGFtX2FwcGwuaD4gaGVhZGVyIGZpbGUuICovCisjY21h a2VkZWZpbmUgSEFWRV9QQU1fUEFNX0FQUExfSCAxCisKKy8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgcG9sbCcgZnVuY3Rpb24uICovCisjY21h a2VkZWZpbmUgSEFWRV9QT0xMIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDxwb2xsLmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVm aW5lIEhBVkVfUE9MTF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIGBwb3NpeF9mYWR2aXNlJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRl ZmluZSBIQVZFX1BPU0lYX0ZBRFZJU0UgMQorCisvKiBEZWZpbmUgdG8gMSBp ZiB0aGUgYXNzZW1ibGVyIHN1cHBvcnRzIFBQQydzIExXQVJYIG11dGV4IGhp bnQgYml0LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUFBDX0xXQVJYX01VVEVY X0hJTlQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBz dGF0JyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1BTVEFUIDEK KworLyogRGVmaW5lIHRvIDEgaWYgdGhlIFBTX1NUUklOR1MgdGhpbmcgZXhp c3RzLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUFNfU1RSSU5HUyAxCisKKy8q IFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSBpZiB5b3UgaGF2ZSBQT1NJ WCB0aHJlYWRzIGxpYnJhcmllcyBhbmQgaGVhZGVyIGZpbGVzLiAqLworLyoj Y21ha2VkZWZpbmUgSEFWRV9QVEhSRUFEIDEqLworCisvKiBEZWZpbmUgdG8g MSBpZiB5b3UgaGF2ZSB0aGUgYHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAnIGZ1 bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUFRIUkVBRF9JU19USFJF QURFRF9OUCAxCisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkhhdmUgUFRI UkVBRF9QUklPX0lOSEVSSVQuICovCisvKiNjbWFrZWRlZmluZSBIQVZFX1BU SFJFQURfUFJJT19JTkhFUklUIDEqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPHB3ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRl ZmluZSBIQVZFX1BXRF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIGByYW5kb20nIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhB VkVfUkFORE9NIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxyZWFkbGluZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBI QVZFX1JFQURMSU5FX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSB0aGUgPHJlYWRsaW5lL2hpc3RvcnkuaD4gaGVhZGVyIGZpbGUuICovCisj Y21ha2VkZWZpbmUgSEFWRV9SRUFETElORV9ISVNUT1JZX0ggMQorCisvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHJlYWRsaW5lL3JlYWRsaW5l Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUkVBRExJ TkVfUkVBRExJTkVfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSBgcmVhZGxpbmsnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhB VkVfUkVBRExJTksgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYHJpbnQnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUklO VCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBnbG9iYWwg dmFyaWFibGUKKyAgICdybF9jb21wbGV0aW9uX2FwcGVuZF9jaGFyYWN0ZXIn LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfUkxfQ09NUExFVElPTl9BUFBFTkRf Q0hBUkFDVEVSIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IGBybF9jb21wbGV0aW9uX21hdGNoZXMnIGZ1bmN0aW9uLiAqLworI2NtYWtl ZGVmaW5lIEhBVkVfUkxfQ09NUExFVElPTl9NQVRDSEVTIDEKKworLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBybF9maWxlbmFtZV9jb21wbGV0 aW9uX2Z1bmN0aW9uJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1JMX0ZJTEVOQU1FX0NPTVBMRVRJT05fRlVOQ1RJT04gMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJsX3Jlc2V0X3NjcmVlbl9zaXpl JyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1JMX1JFU0VUX1ND UkVFTl9TSVpFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxzZWN1cml0eS9wYW1fYXBwbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFr ZWRlZmluZSBIQVZFX1NFQ1VSSVRZX1BBTV9BUFBMX0ggMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldHByb2N0aXRsZScgZnVuY3Rp b24uICovCisjY21ha2VkZWZpbmUgSEFWRV9TRVRQUk9DVElUTEUgMQorCisv KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldHNpZCcgZnVuY3Rp b24uICovCisjY21ha2VkZWZpbmUgSEFWRV9TRVRTSUQgMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNobV9vcGVuJyBmdW5jdGlvbi4g Ki8KKyNjbWFrZWRlZmluZSBIQVZFX1NITV9PUEVOIDEKKworLyogVE9ETyBC VVQgRE8gTk9UIE5FRUQ6RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBz bnByaW50ZicgZnVuY3Rpb24uICovCisvKiNjbWFrZWRlZmluZSBIQVZFX1NO UFJJTlRGIDEqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBzcGlu bG9ja3MuICovCisjY21ha2VkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQorCisv KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNyYW5kb20nIGZ1bmN0 aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1JBTkRPTSAxCisKKy8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgU1NMX2dldF9jdXJyZW50X2Nv bXByZXNzaW9uJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCisKKy8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSA8c3RkaW50Lmg+IGhlYWRlciBmaWxlLiAqLwor I2NtYWtlZGVmaW5lIEhBVkVfU1RESU5UX0ggMQorCisvKiBUT0RPIEJVVCBE TyBOT1QgTkVFRDpEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxp Yi5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qI2NtYWtlZGVmaW5lIEhBVkVfU1RE TElCX0ggMSovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBg c3RyZXJyb3InIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RS RVJST1IgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0 cmVycm9yX3InIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RS RVJST1JfUiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8 c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1NUUklOR1NfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSA8c3RyaW5nLmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQorCisvKiBUT0RPIEJVVCBETyBOT1QgTkVFRDpEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmxjYXQnIGZ1bmN0aW9uLiAq LworLyojY21ha2VkZWZpbmUgSEFWRV9TVFJMQ0FUIDEqLworCisvKiBUT0RP IEJVVCBETyBOT1QgTkVFRDpEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YHN0cmxjcHknIGZ1bmN0aW9uLiAqLworLyojY21ha2VkZWZpbmUgSEFWRV9T VFJMQ1BZIDEqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg YHN0cnRvbGwnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RS VE9MTCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3Ry dG9xJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NUUlRPUSAx CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RydG91bGwn IGZ1bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQor CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdXEnIGZ1 bmN0aW9uLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RSVE9VUSAxCisKKy8q IERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBzdHJ1 Y3QgYWRkcmluZm8nLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1RSVUNUX0FE RFJJTkZPIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMg dGhlIHR5cGUgYHN0cnVjdCBjbXNnY3JlZCcuICovCisjY21ha2VkZWZpbmUg SEFWRV9TVFJVQ1RfQ01TR0NSRUQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0 aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc3RydWN0IG9wdGlvbicuICovCisj Y21ha2VkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKKworLyogRGVmaW5l IHRvIDEgaWYgYHNhX2xlbicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzb2Nr YWRkcicuICovCisjY21ha2VkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U0FfTEVOIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMg dGhlIHR5cGUgYHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlJy4gKi8KKyNjbWFr ZWRlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKKworLyog RGVmaW5lIHRvIDEgaWYgYHNzX2ZhbWlseScgaXMgYSBtZW1iZXIgb2YgYHN0 cnVjdCBzb2NrYWRkcl9zdG9yYWdlJy4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCisKKy8qIERl ZmluZSB0byAxIGlmIGBzc19sZW4nIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qg c29ja2FkZHJfc3RvcmFnZScuICovCisjY21ha2VkZWZpbmUgSEFWRV9TVFJV Q1RfU09DS0FERFJfU1RPUkFHRV9TU19MRU4gMQorCisvKiBEZWZpbmUgdG8g MSBpZiBgX19zc19mYW1pbHknIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc29j a2FkZHJfc3RvcmFnZScuICovCisjY21ha2VkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRV9fX1NTX0ZBTUlMWSAxCisKKy8qIERlZmluZSB0 byAxIGlmIGBfX3NzX2xlbicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzb2Nr YWRkcl9zdG9yYWdlJy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFX19fU1NfTEVOIDEKKworLyogRGVmaW5lIHRvIDEg aWYgYHRtX3pvbmUnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3QgdG0nLiAqLwor I2NtYWtlZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQorCisvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN5bWxpbmsnIGZ1bmN0aW9u LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lNTElOSyAxCisKKy8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3luY19maWxlX3JhbmdlJyBmdW5j dGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NZTkNfRklMRV9SQU5HRSAx CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzeXNsb2cgaW50 ZXJmYWNlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTTE9HIDEKKworLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZXBvbGwuaD4gaGVh ZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9TWVNfRVBPTExfSCAx CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2lvY3Rs Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX0lP Q1RMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5 cy9pcGMuaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9T WVNfSVBDX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg PHN5cy9wb2xsLmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhB VkVfU1lTX1BPTExfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSA8c3lzL3BzdGF0Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVm aW5lIEhBVkVfU1lTX1BTVEFUX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgPHN5cy9yZXNvdXJjZS5oPiBoZWFkZXIgZmlsZS4gKi8K KyNjbWFrZWRlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKKworLyogRGVm aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VsZWN0Lmg+IGhlYWRl ciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VtLmg+ IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX1NFTV9I IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2ht Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX1NI TV9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMv c29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg dGhlIDxzeXMvc29ja2lvLmg+IGhlYWRlciBmaWxlLiAqLworI2NtYWtlZGVm aW5lIEhBVkVfU1lTX1NPQ0tJT19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNj bWFrZWRlZmluZSBIQVZFX1NZU19TVEFUX0ggMQorCisvKiBEZWZpbmUgdG8g MSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90YXMuaD4gaGVhZGVyIGZpbGUuICov CisjY21ha2VkZWZpbmUgSEFWRV9TWVNfVEFTX0ggMQorCisvKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lLmg+IGhlYWRlciBmaWxl LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKy8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRl ciBmaWxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQor CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91Y3JlZC5o PiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1NZU19VQ1JF RF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMv dW4uaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dGVy bWlvcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1RF Uk1JT1NfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdXIgYHN0cnVjdCB0 bScgaGFzIGB0bV96b25lJy4gRGVwcmVjYXRlZCwgdXNlCisgICBgSEFWRV9T VFJVQ1RfVE1fVE1fWk9ORScgaW5zdGVhZC4gKi8KKyNjbWFrZWRlZmluZSBI QVZFX1RNX1pPTkUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0 aGUgYHRvd2xvd2VyJyBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1RPV0xPV0VSIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IGV4dGVybmFsIGFycmF5IGB0em5hbWUnLiAqLworI2NtYWtlZGVmaW5lIEhB VkVfVFpOQU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDx1Y3JlZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X1VDUkVEX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhh cyB0aGUgdHlwZSBgdWludDY0Jy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1VJ TlQ2NCAxCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRo ZSB0eXBlIGB1aW50OCcuICovCisjY21ha2VkZWZpbmUgSEFWRV9VSU5UOCAx CisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHRo ZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1aW50cHRyX3QnLiAqLworLyojY21h a2VkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMSovCisKKy8qIERlZmluZSB0byAx IGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1bmlvbiBzZW11bicuICov CisjY21ha2VkZWZpbmUgSEFWRV9VTklPTl9TRU1VTiAxCisKKy8qIERlZmlu ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxl LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfVU5JU1REX0ggMQorCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB1bml4IHNvY2tldHMuICovCisjY21ha2Vk ZWZpbmUgSEFWRV9VTklYX1NPQ0tFVFMgMQorCisvKiBEZWZpbmUgdG8gMSBp ZiB5b3UgaGF2ZSB0aGUgYHVuc2V0ZW52JyBmdW5jdGlvbi4gKi8KKyNjbWFr ZWRlZmluZSBIQVZFX1VOU0VURU5WIDEKKworLyogVE9ETyBCVVQgRE8gTk9U IE5FRUQ6RGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUg YHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQnLiAqLworLyojY21ha2VkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEqLworCisvKiBEZWZpbmUg dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHV0aW1lJyBmdW5jdGlvbi4gKi8KKyNj bWFrZWRlZmluZSBIQVZFX1VUSU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGB1dGltZXMnIGZ1bmN0aW9uLiAqLworI2NtYWtlZGVm aW5lIEhBVkVfVVRJTUVTIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDx1dGltZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX1VUSU1FX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSBCU0QgVVVJRCBzdXBwb3J0LiAqLworI2NtYWtlZGVmaW5lIEhBVkVfVVVJ RF9CU0QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBFMkZTIFVV SUQgc3VwcG9ydC4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1VVSURfRTJGUyAx CisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8dXVpZC5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qI2NtYWtl ZGVmaW5lIEhBVkVfVVVJRF9IIDEqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSBPU1NQIFVVSUQgc3VwcG9ydC4gKi8KKyNjbWFrZWRlZmluZSBI QVZFX1VVSURfT1NTUCAxCisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXVpZC91dWlkLmg+IGhlYWRl ciBmaWxlLiAqLworLyojY21ha2VkZWZpbmUgSEFWRV9VVUlEX1VVSURfSCAx Ki8KKworLyogVE9ETyBCVVQgRE8gTk9UIE5FRUQ6RGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGB2c25wcmludGYnIGZ1bmN0aW9uLiAqLworLyojY21h a2VkZWZpbmUgSEFWRV9WU05QUklOVEYgMSovCisKKy8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSA8d2NoYXIuaD4gaGVhZGVyIGZpbGUuICovCisj Y21ha2VkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIGB3Y3N0b21icycgZnVuY3Rpb24uICovCisjY21h a2VkZWZpbmUgSEFWRV9XQ1NUT01CUyAxCisKKy8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgd2NzdG9tYnNfbCcgZnVuY3Rpb24uICovCisjY21h a2VkZWZpbmUgSEFWRV9XQ1NUT01CU19MIDEKKworLyogRGVmaW5lIHRvIDEg aWYgeW91IGhhdmUgdGhlIDx3Y3R5cGUuaD4gaGVhZGVyIGZpbGUuICovCisj Y21ha2VkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCisKKy8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSA8d2lubGRhcC5oPiBoZWFkZXIgZmlsZS4gKi8K KyNjbWFrZWRlZmluZSBIQVZFX1dJTkxEQVBfSCAxCisKKy8qIERlZmluZSB0 byAxIGlmIHlvdXIgY29tcGlsZXIgdW5kZXJzdGFuZHMgX19idWlsdGluX2Jz d2FwMzIuICovCisjY21ha2VkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMy IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91ciBjb21waWxlciB1bmRlcnN0 YW5kcyBfX2J1aWx0aW5fYnN3YXA2NC4gKi8KKyNjbWFrZWRlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQNjQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Vy IGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fYnVpbHRpbl9jb25zdGFudF9wLiAq LworI2NtYWtlZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCisK Ky8qIERlZmluZSB0byAxIGlmIHlvdXIgY29tcGlsZXIgdW5kZXJzdGFuZHMg X19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcC4gKi8KKyNjbWFrZWRlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCisKKy8qIERl ZmluZSB0byAxIGlmIHlvdXIgY29tcGlsZXIgdW5kZXJzdGFuZHMgX19idWls dGluX3VucmVhY2hhYmxlLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2 ZSBfX2NwdWlkLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfX0NQVUlEIDEKKwor LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgX19jcHVpZC4gKi8KKyNjbWFr ZWRlZmluZSBIQVZFX19HRVRfQ1BVSUQgMQorCisvKiBEZWZpbmUgdG8gMSBp ZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9TdGF0aWNfYXNzZXJ0LiAq LworI2NtYWtlZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQorCisvKiBE ZWZpbmUgdG8gMSBpZiB5b3VyIGNvbXBpbGVyIHVuZGVyc3RhbmRzIF9fVkFf QVJHU19fIGluIG1hY3Jvcy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX19WQV9B UkdTIDEKKworLyogRGVmaW5lIHRvIHRoZSBhcHByb3ByaWF0ZSBzbnByaW50 ZiBsZW5ndGggbW9kaWZpZXIgZm9yIDY0LWJpdCBpbnRzLiAqLworI2RlZmlu ZSBJTlQ2NF9NT0RJRklFUiAiQExPTkdfTE9OR19JTlRfTU9ESUZJRVJAIgor CisvKiBEZWZpbmUgdG8gMSBpZiBgbG9jYWxlX3QnIHJlcXVpcmVzIDx4bG9j YWxlLmg+LiAqLworI2NtYWtlZGVmaW5lIExPQ0FMRV9UX0lOX1hMT0NBTEUg MQorCisvKiBEZWZpbmUgYXMgdGhlIG1heGltdW0gYWxpZ25tZW50IHJlcXVp cmVtZW50IG9mIGFueSBDIGRhdGEgdHlwZS4gKi8KKyNkZWZpbmUgTUFYSU1V TV9BTElHTk9GIEBNQVhJTVVNX0FMSUdOT0ZACisKKy8qIERlZmluZSBieXRl cyB0byB1c2UgbGliYyBtZW1zZXQoKS4gKi8KKyNkZWZpbmUgTUVNU0VUX0xP T1BfTElNSVQgQE1FTVNFVF9MT09QX0xJTUlUQAorCisvKiBEZWZpbmUgdG8g dGhlIGFkZHJlc3Mgd2hlcmUgYnVnIHJlcG9ydHMgZm9yIHRoaXMgcGFja2Fn ZSBzaG91bGQgYmUgc2VudC4gKi8KKyNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIkBQQUNLQUdFX0JVR1JFUE9SVEAiCisKKy8qIFRPRE8gQlVUIERPIE5P VCBORUVEOkRlZmluZSB0byB0aGUgZnVsbCBuYW1lIG9mIHRoaXMgcGFja2Fn ZS4gKi8KKy8qI2RlZmluZSBQQUNLQUdFX05BTUUgIkBQQUNLQUdFX05BTUVA IiovCisKKy8qIFRPRE86RGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgYW5kIHZl cnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworLyojZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJAUEFDS0FHRV9TVFJJTkdAIiovCisKKy8qIFRPRE8gQlVUIERP IE5PVCBORUVEOkRlZmluZSB0byB0aGUgb25lIHN5bWJvbCBzaG9ydCBuYW1l IG9mIHRoaXMgcGFja2FnZS4gKi8KKy8qI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIkBQQUNLQUdFX1RBUk5BTUVAIiovCisKKy8qIFRPRE8gQlVUIERPIE5P VCBORUVEOkRlZmluZSB0byB0aGUgaG9tZSBwYWdlIGZvciB0aGlzIHBhY2th Z2UuICovCisvKiNkZWZpbmUgUEFDS0FHRV9VUkwgIkBQQUNLQUdFX1VSTEAi Ki8KKworLyogVE9ETyBCVVQgRE8gTk9UIE5FRUQ6RGVmaW5lIHRvIHRoZSB2 ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKy8qI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIkBQQUNLQUdFX1ZFUlNJT05AIiovCisKKy8qIERlZmluZSB0 byB0aGUgbmFtZSBvZiBhIHNpZ25lZCAxMjgtYml0IGludGVnZXIgdHlwZS4g Ki8KKyNkZWZpbmUgUEdfSU5UMTI4X1RZUEUgQFBHX0lOVDEyOF9UWVBFQAor CisvKiBEZWZpbmUgdG8gdGhlIG5hbWUgb2YgYSBzaWduZWQgNjQtYml0IGlu dGVnZXIgdHlwZS4gKi8KKyNkZWZpbmUgUEdfSU5UNjRfVFlQRSBAUEdfSU5U NjRfVFlQRUAKKworLyogRGVmaW5lIHRvIHRoZSBuYW1lIG9mIHRoZSBkZWZh dWx0IFBvc3RncmVTUUwgc2VydmljZSBwcmluY2lwYWwgaW4gS2VyYmVyb3MK KyAgIChHU1NBUEkpLiAqLworI2RlZmluZSBQR19LUkJfU1JWTkFNICJAUEdf S1JCX1NSVk5BTUAiCisKKy8qIFBvc3RncmVTUUwgbWFqb3IgdmVyc2lvbiBh cyBhIHN0cmluZyAqLworI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIkBQT1NU R1JFU19NQUpPUl9WRVJTSU9OQCIKKworLyogRGVmaW5lIHRvIGdudV9wcmlu dGYgaWYgY29tcGlsZXIgc3VwcG9ydHMgaXQsIGVsc2UgcHJpbnRmLiAqLwor I2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIEBQR19QUklOVEZfQVRUUklC VVRFQAorCisvKiBQb3N0Z3JlU1FMIHZlcnNpb24gYXMgYSBzdHJpbmcgKi8K KyNkZWZpbmUgUEdfVkVSU0lPTiAiQFBHX1ZFUlNJT05AIgorCisvKiBQb3N0 Z3JlU1FMIHZlcnNpb24gYXMgYSBudW1iZXIgKi8KKyNkZWZpbmUgUEdfVkVS U0lPTl9OVU0gQFBHX1ZFUlNJT05fTlVNQAorCisvKiBBIHN0cmluZyBjb250 YWluaW5nIHRoZSB2ZXJzaW9uIG51bWJlciwgcGxhdGZvcm0sIGFuZCBDIGNv bXBpbGVyICovCisjZGVmaW5lIFBHX1ZFUlNJT05fU1RSICJQb3N0Z3JlU1FM IEBQR19WRVJTSU9OQCBvbiBAQ01BS0VfU1lTVEVNX05BTUVALCBjb21waWxl ZCBieSBAQ01BS0VfQ19DT01QSUxFUl9JREAsIEBWT0lEX1BPSU5URVJfU0la RV9CSVRALWJpdCIKKworLyogRGVmaW5lIHRvIDEgdG8gYWxsb3cgcHJvZmls aW5nIG91dHB1dCB0byBiZSBzYXZlZCBzZXBhcmF0ZWx5IGZvciBlYWNoCisg ICBwcm9jZXNzLiAqLworI2NtYWtlZGVmaW5lIFBST0ZJTEVfUElEX0RJUiAx CisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byBuZWNlc3Nh cnkgc3ltYm9sIGlmIHRoaXMgY29uc3RhbnQgdXNlcyBhIG5vbi1zdGFuZGFy ZCBuYW1lIG9uCisgICB5b3VyIHN5c3RlbS4gKi8KKy8qI2NtYWtlZGVmaW5l IFBUSFJFQURfQ1JFQVRFX0pPSU5BQkxFKi8KKworLyogUkVMU0VHX1NJWkUg aXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrcyBhbGxvd2VkIGluIG9u ZSBkaXNrIGZpbGUuIFRodXMsCisgICB0aGUgbWF4aW11bSBzaXplIG9mIGEg c2luZ2xlIGZpbGUgaXMgUkVMU0VHX1NJWkUgKiBCTENLU1o7IHJlbGF0aW9u cyBiaWdnZXIKKyAgIHRoYW4gdGhhdCBhcmUgZGl2aWRlZCBpbnRvIG11bHRp cGxlIGZpbGVzLiBSRUxTRUdfU0laRSAqIEJMQ0tTWiBtdXN0IGJlCisgICBs ZXNzIHRoYW4geW91ciBPUycgbGltaXQgb24gZmlsZSBzaXplLiBUaGlzIGlz IG9mdGVuIDIgR0Igb3IgNEdCIGluIGEKKyAgIDMyLWJpdCBvcGVyYXRpbmcg c3lzdGVtLCB1bmxlc3MgeW91IGhhdmUgbGFyZ2UgZmlsZSBzdXBwb3J0IGVu YWJsZWQuIEJ5CisgICBkZWZhdWx0LCB3ZSBtYWtlIHRoZSBsaW1pdCAxIEdC IHRvIGF2b2lkIGFueSBwb3NzaWJsZSBpbnRlZ2VyLW92ZXJmbG93CisgICBw cm9ibGVtcyB3aXRoaW4gdGhlIE9TLiBBIGxpbWl0IHNtYWxsZXIgdGhhbiBu ZWNlc3Nhcnkgb25seSBtZWFucyB3ZSBkaXZpZGUKKyAgIGEgbGFyZ2UgcmVs YXRpb24gaW50byBtb3JlIGNodW5rcyB0aGFuIG5lY2Vzc2FyeSwgc28gaXQg c2VlbXMgYmVzdCB0byBlcnIKKyAgIGluIHRoZSBkaXJlY3Rpb24gb2YgYSBz bWFsbCBsaW1pdC4gQSBwb3dlci1vZi0yIHZhbHVlIGlzIHJlY29tbWVuZGVk IHRvCisgICBzYXZlIGEgZmV3IGN5Y2xlcyBpbiBtZC5jLCBidXQgaXMgbm90 IGFic29sdXRlbHkgcmVxdWlyZWQuIENoYW5naW5nCisgICBSRUxTRUdfU0la RSByZXF1aXJlcyBhbiBpbml0ZGIuICovCisjZGVmaW5lIFJFTFNFR19TSVpF IEBSRUxTRUdfU0laRUAKKworLyogVGhlIHNpemUgb2YgYGxvbmcnLCBhcyBj b21wdXRlZCBieSBzaXplb2YuICovCisjZGVmaW5lIFNJWkVPRl9MT05HIEBT SVpFT0ZfTE9OR0AKKworLyogVE9ETyBCVVQgRE8gTk9UIE5FRUQ6VGhlIHNp emUgb2YgYG9mZl90JywgYXMgY29tcHV0ZWQgYnkgc2l6ZW9mLiAqLworLyoj ZGVmaW5lIFNJWkVPRl9PRkZfVCBAU0laRU9GX09GRl9UQCovCisKKy8qIFRo ZSBzaXplIG9mIGBzaXplX3QnLCBhcyBjb21wdXRlZCBieSBzaXplb2YuICov CisjZGVmaW5lIFNJWkVPRl9TSVpFX1QgQFNJWkVPRl9TSVpFX1RACisKKy8q IFRoZSBzaXplIG9mIGB2b2lkIConLCBhcyBjb21wdXRlZCBieSBzaXplb2Yu ICovCisjZGVmaW5lIFNJWkVPRl9WT0lEX1AgQENNQUtFX1NJWkVPRl9WT0lE X1BACisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLworLyojY21h a2VkZWZpbmUgU1REQ19IRUFERVJTIDEqLworCisvKiBEZWZpbmUgdG8gMSBp ZiBzdHJlcnJvcl9yKCkgcmV0dXJucyBhIGludC4gKi8KKyNjbWFrZWRlZmlu ZSBTVFJFUlJPUl9SX0lOVCAxCisKKy8qIFRPRE8gQlVUIERPIE5PVCBORUVE OkRlZmluZSB0byAxIGlmIHlvdXIgPHN5cy90aW1lLmg+IGRlY2xhcmVzIGBz dHJ1Y3QgdG0nLiAqLworLyojY21ha2VkZWZpbmUgVE1fSU5fU1lTX1RJTUUg MSovCisKKy8qIERlZmluZSB0byAxIHRvIGJ1aWxkIHdpdGggYXNzZXJ0aW9u IGNoZWNrcy4gKC0tZW5hYmxlLWNhc3NlcnQpICovCisjY21ha2VkZWZpbmUg VVNFX0FTU0VSVF9DSEVDS0lORyAxCisKKy8qIERlZmluZSB0byAxIHRvIGJ1 aWxkIHdpdGggQm9uam91ciBzdXBwb3J0LiAoLS13aXRoLWJvbmpvdXIpICov CisjY21ha2VkZWZpbmUgVVNFX0JPTkpPVVIgMQorCisvKiBEZWZpbmUgdG8g MSB0byBidWlsZCB3aXRoIEJTRCBBdXRoZW50aWNhdGlvbiBzdXBwb3J0LiAo LS13aXRoLWJzZC1hdXRoKSAqLworI2NtYWtlZGVmaW5lIFVTRV9CU0RfQVVU SCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSB3YW50IGZsb2F0NCB2YWx1 ZXMgdG8gYmUgcGFzc2VkIGJ5IHZhbHVlLiAqLworI2NtYWtlZGVmaW5lIFVT RV9GTE9BVDRfQllWQUwgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2Fu dCBmbG9hdDgsIGludDgsIGV0YyB2YWx1ZXMgdG8gYmUgcGFzc2VkIGJ5IHZh bHVlLiAqLworI2NtYWtlZGVmaW5lIFVTRV9GTE9BVDhfQllWQUwgMQorCisv KiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCA2NC1iaXQgaW50ZWdlciB0aW1l c3RhbXAgYW5kIGludGVydmFsIHN1cHBvcnQuICovCisjY21ha2VkZWZpbmUg VVNFX0lOVEVHRVJfREFURVRJTUVTIDEKKworLyogRGVmaW5lIHRvIDEgdG8g YnVpbGQgd2l0aCBMREFQIHN1cHBvcnQuICgtLXdpdGgtbGRhcCkgKi8KKyNj bWFrZWRlZmluZSBVU0VfTERBUCAxCisKKy8qIERlZmluZSB0byAxIHRvIGJ1 aWxkIHdpdGggWE1MIHN1cHBvcnQuICgtRFdJVEhfTElCWE1MKSAqLworI2Nt YWtlZGVmaW5lIFVTRV9MSUJYTUwgMQorCisvKiBEZWZpbmUgdG8gMSB0byB1 c2UgWFNMVCBzdXBwb3J0IHdoZW4gYnVpbGRpbmcgY29udHJpYi94bWwyLiAq LworI2NtYWtlZGVmaW5lIFVTRV9MSUJYU0xUIDEKKworLyogRGVmaW5lIHRv IHNlbGVjdCBuYW1lZCBQT1NJWCBzZW1hcGhvcmVzLiAqLworI2NtYWtlZGVm aW5lIFVTRV9OQU1FRF9QT1NJWF9TRU1BUEhPUkVTIDEKKworLyogRGVmaW5l IHRvIGJ1aWxkIHdpdGggT3BlblNTTCBzdXBwb3J0LiAoLS13aXRoLW9wZW5z c2wpICovCisjY21ha2VkZWZpbmUgVVNFX09QRU5TU0wgMQorCisvKiBEZWZp bmUgdG8gMSB0byBidWlsZCB3aXRoIFBBTSBzdXBwb3J0LiAoLS13aXRoLXBh bSkgKi8KKyNjbWFrZWRlZmluZSBVU0VfUEFNIDEKKworLyogVXNlIHJlcGxh Y2VtZW50IHNucHJpbnRmKCkgZnVuY3Rpb25zLiAqLworI2NtYWtlZGVmaW5l IFVTRV9SRVBMX1NOUFJJTlRGIDEKKworLyogRGVmaW5lIHRvIDEgdG8gdXNl IEludGVsIFNTRSA0LjIgQ1JDIGluc3RydWN0aW9ucyB3aXRoIGEgcnVudGlt ZSBjaGVjay4gKi8KKyNjbWFrZWRlZmluZSBVU0VfU0xJQ0lOR19CWV84X0NS QzMyQyAxCisKKy8qIERlZmluZSB0byAxIHVzZSBJbnRlbCBTU0UgNC4yIENS QyBpbnN0cnVjdGlvbnMuICovCisjY21ha2VkZWZpbmUgVVNFX1NTRTQyX0NS QzMyQyAxCisKKy8qIERlZmluZSB0byAxIHRvIHVzZSBJbnRlbCBTU1NFIDQu MiBDUkMgaW5zdHJ1Y3Rpb25zIHdpdGggYSBydW50aW1lIGNoZWNrLiAqLwor I2NtYWtlZGVmaW5lIFVTRV9TU0U0Ml9DUkMzMkNfV0lUSF9SVU5USU1FX0NI RUNLIDEKKworLyogRGVmaW5lIHRvIGJ1aWxkIHdpdGggc3lzdGVtZCBzdXBw b3J0LiAoLS13aXRoLXN5c3RlbWQpICovCisjY21ha2VkZWZpbmUgVVNFX1NZ U1RFTUQKKworLyogRGVmaW5lIHRvIHNlbGVjdCBTeXNWLXN0eWxlIHNlbWFw aG9yZXMuICovCisjY21ha2VkZWZpbmUgVVNFX1NZU1ZfU0VNQVBIT1JFUwor CisvKiBEZWZpbmUgdG8gc2VsZWN0IFN5c1Ytc3R5bGUgc2hhcmVkIG1lbW9y eS4gKi8KKyNjbWFrZWRlZmluZSBVU0VfU1lTVl9TSEFSRURfTUVNT1JZCisK Ky8qIERlZmluZSB0byBzZWxlY3QgdW5uYW1lZCBQT1NJWCBzZW1hcGhvcmVz LiAqLworI2NtYWtlZGVmaW5lIFVTRV9VTk5BTUVEX1BPU0lYX1NFTUFQSE9S RVMKKworLyogRGVmaW5lIHRvIHNlbGVjdCBXaW4zMi1zdHlsZSBzZW1hcGhv cmVzLiAqLworI2NtYWtlZGVmaW5lIFVTRV9XSU4zMl9TRU1BUEhPUkVTCisK Ky8qIFRPRE8gQlVUIERPIE5PVCBORUVEOkRlZmluZSB0byBzZWxlY3QgV2lu MzItc3R5bGUgc2hhcmVkIG1lbW9yeS4gKi8KKy8qI2NtYWtlZGVmaW5lIFVT RV9XSU4zMl9TSEFSRURfTUVNT1JZKi8KKworLyogRGVmaW5lIHRvIDEgaWYg YHdjc3RvbWJzX2wnIHJlcXVpcmVzIDx4bG9jYWxlLmg+LiAqLworI2NtYWtl ZGVmaW5lIFdDU1RPTUJTX0xfSU5fWExPQ0FMRSAxCisKKy8qIE5PVCBORUVE OkRlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gMSBpZiB5b3VyIHByb2Nlc3Nv ciBzdG9yZXMgd29yZHMgd2l0aCB0aGUgbW9zdAorICAgc2lnbmlmaWNhbnQg Ynl0ZSBmaXJzdCAobGlrZSBNb3Rvcm9sYSBhbmQgU1BBUkMsIHVubGlrZSBJ bnRlbCkuICovCisvKiNpZiBkZWZpbmVkIEFDX0FQUExFX1VOSVZFUlNBTF9C VUlMRAorIyBpZiBkZWZpbmVkIF9fQklHX0VORElBTl9fCisjICBkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKKyMgZW5kaWYKKyNlbHNlCisjIGlmbmRlZiBX T1JEU19CSUdFTkRJQU4KKyMgIHVuZGVmIFdPUkRTX0JJR0VORElBTgorIyBl bmRpZgorI2VuZGlmKi8KKworLyogU2l6ZSBvZiBhIFdBTCBmaWxlIGJsb2Nr LiBUaGlzIG5lZWQgaGF2ZSBubyBwYXJ0aWN1bGFyIHJlbGF0aW9uIHRvIEJM Q0tTWi4KKyAgIFhMT0dfQkxDS1NaIG11c3QgYmUgYSBwb3dlciBvZiAyLCBh bmQgaWYgeW91ciBzeXN0ZW0gc3VwcG9ydHMgT19ESVJFQ1QgSS9PLAorICAg WExPR19CTENLU1ogbXVzdCBiZSBhIG11bHRpcGxlIG9mIHRoZSBhbGlnbm1l bnQgcmVxdWlyZW1lbnQgZm9yIGRpcmVjdC1JL08KKyAgIGJ1ZmZlcnMsIGVs c2UgZGlyZWN0IEkvTyBtYXkgZmFpbC4gQ2hhbmdpbmcgWExPR19CTENLU1og cmVxdWlyZXMgYW4gaW5pdGRiLgorICAgKi8KKyNkZWZpbmUgWExPR19CTENL U1ogQFhMT0dfQkxDS1NaQAorCisvKiBYTE9HX1NFR19TSVpFIGlzIHRoZSBz aXplIG9mIGEgc2luZ2xlIFdBTCBmaWxlLiBUaGlzIG11c3QgYmUgYSBwb3dl ciBvZiAyCisgICBhbmQgbGFyZ2VyIHRoYW4gWExPR19CTENLU1ogKHByZWZl cmFibHksIGEgZ3JlYXQgZGVhbCBsYXJnZXIgdGhhbgorICAgWExPR19CTENL U1opLiBDaGFuZ2luZyBYTE9HX1NFR19TSVpFIHJlcXVpcmVzIGFuIGluaXRk Yi4gKi8KKyNkZWZpbmUgWExPR19TRUdfU0laRSBAWExPR19TRUdfU0laRUAK KworLyogVE9ETyBCVVQgRE8gTk9UIE5FRUQ6TnVtYmVyIG9mIGJpdHMgaW4g YSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUgdGhpcyBpcyBzZXR0YWJs ZS4gKi8KKy8qI3VuZGVmIF9GSUxFX09GRlNFVF9CSVRTKi8KKworLyogVE9E TyBCVVQgRE8gTk9UIE5FRUQ6RGVmaW5lIHRvIDEgdG8gbWFrZSBmc2Vla28g dmlzaWJsZSBvbiBzb21lIGhvc3RzIChlLmcuIGdsaWJjIDIuMikuICovCisv KiN1bmRlZiBfTEFSR0VGSUxFX1NPVVJDRSovCisKKy8qIFRPRE8gQlVUIERP IE5PVCBORUVEOkRlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHls ZSBob3N0cy4gKi8KKy8qI3VuZGVmIF9MQVJHRV9GSUxFUyovCisKKy8qIERl ZmluZSB0byBgX19pbmxpbmVfXycgb3IgYF9faW5saW5lJyBpZiB0aGF0J3Mg d2hhdCB0aGUgQyBjb21waWxlcgorICAgY2FsbHMgaXQsIG9yIHRvIG5vdGhp bmcgaWYgJ2lubGluZScgaXMgbm90IHN1cHBvcnRlZCB1bmRlciBhbnkgbmFt ZS4gICovCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjdW5kZWYgaW5saW5lCisj ZW5kaWYKKworLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9mIGEgc2lnbmVkIGlu dGVnZXIgdHlwZSB3aWRlIGVub3VnaCB0byBob2xkIGEgcG9pbnRlciwKKyAg IGlmIHN1Y2ggYSB0eXBlIGV4aXN0cywgYW5kIGlmIHRoZSBzeXN0ZW0gZG9l cyBub3QgZGVmaW5lIGl0LiAqLworLyojdW5kZWYgaW50cHRyX3QqLworCisv KiBEZWZpbmUgdG8gZW1wdHkgaWYgdGhlIEMgY29tcGlsZXIgZG9lcyBub3Qg dW5kZXJzdGFuZCBzaWduZWQgdHlwZXMuICovCisvKiN1bmRlZiBzaWduZWQq LworCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYW4gdW5zaWduZWQgaW50 ZWdlciB0eXBlIHdpZGUgZW5vdWdoIHRvIGhvbGQgYQorICAgcG9pbnRlciwg aWYgc3VjaCBhIHR5cGUgZXhpc3RzLCBhbmQgaWYgdGhlIHN5c3RlbSBkb2Vz IG5vdCBkZWZpbmUgaXQuICovCisvKiN1bmRlZiB1aW50cHRyX3QqLworCisj Y21ha2VkZWZpbmUgSEFWRV9JTlQxMjgKKworI2lmZGVmIFdJTjMyCisjdW5k ZWYgUEdfSU5UMTI4X1RZUEUKKyNlbmRpZgorCisjZGVmaW5lIExPTkdfTE9O R19JTlRfTU9ESUZJRVIgQExPTkdfTE9OR19JTlRfTU9ESUZJRVJACisKKyNk ZWZpbmUgUE9TVEdSRVNfTUFKT1JfVkVSU0lPTiBAUE9TVEdSRVNfTUFKT1Jf VkVSU0lPTkAKKworI2RlZmluZSBQT1NUR1JFU19NSU5PUl9WRVJTSU9OIEBQ T1NUR1JFU19NSU5PUl9WRVJTSU9OQAorCisjZGVmaW5lIFBPU1RHUkVTX1BB VENIX1ZFUlNJT04gQFBPU1RHUkVTX1BBVENIX1ZFUlNJT05ACisKKyNpZmRl ZiBfX0FQUExFX18KKyMJaWYgX19CSUdfRU5ESUFOCisjCQlkZWZpbmUgV09S RFNfQklHRU5ESUFOIDEKKyMJZW5kaWYKKyNlbHNlCisjY21ha2VkZWZpbmUg V09SRFNfQklHRU5ESUFOIDEKKyNlbmRpZgorCisjZGVmaW5lIERMU1VGRklY ICJAQ01BS0VfU0hBUkVEX01PRFVMRV9TVUZGSVhAIgorCisjY21ha2VkZWZp bmUgSEFWRV9NS1NURU1QIDEKKworI2NtYWtlZGVmaW5lIEhBVkVfTkJUT09M X0NPTkZJR19IIDEKKworLyojaW5jbHVkZSAiQHBnb3NfaW5jbHVkZV9TUkNT QCIqLworCisjZW5kaWYgIC8vIEFVVE9fQ09ORklHX0gKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3BnX2NvbmZpZ19leHRfY21ha2UuaW4gYi9zcmMvaW5j bHVkZS9wZ19jb25maWdfZXh0X2NtYWtlLmluCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmE3M2YwNGIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvaW5jbHVkZS9wZ19jb25maWdfZXh0X2NtYWtlLmluCkBAIC0wLDAg KzEgQEAKKyNkZWZpbmUgUEdfSU5UNjRfVFlQRSBAUEdfSU5UNjRfVFlQRUAK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9wZ19jb25maWdfcGF0aHNfY21ha2UuaW4gYi9zcmMvaW5jbHVk ZS9wZ19jb25maWdfcGF0aHNfY21ha2UuaW4KbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZjFiM2MwOAotLS0gL2Rldi9udWxsCisrKyBi L3NyYy9pbmNsdWRlL3BnX2NvbmZpZ19wYXRoc19jbWFrZS5pbgpAQCAtMCww ICsxLDEyIEBACisjZGVmaW5lIFBHQklORElSICJAUEdCSU5ESVJAIgorI2Rl ZmluZSBQR1NIQVJFRElSICJAUEdTSEFSRURJUkAiCisjZGVmaW5lIFNZU0NP TkZESVIgIkBTWVNDT05GRElSQCIgCisjZGVmaW5lIElOQ0xVREVESVIgIkBJ TkNMVURFRElSQCIKKyNkZWZpbmUgUEtHSU5DTFVERURJUiAiQFBLR0lOQ0xV REVESVJAIgorI2RlZmluZSBJTkNMVURFRElSU0VSVkVSICJASU5DTFVERURJ UlNFUlZFUkAiCisjZGVmaW5lIExJQkRJUiAiQExJQkRJUkAiCisjZGVmaW5l IFBLR0xJQkRJUiAiQFBLR0xJQkRJUkAiCisjZGVmaW5lIExPQ0FMRURJUiAi QExPQ0FMRURJUkAiCisjZGVmaW5lIERPQ0RJUiAiQERPQ0RJUkAiCisjZGVm aW5lIEhUTUxESVIgIkBIVE1MRElSQCIKKyNkZWZpbmUgTUFORElSICJATUFO RElSQCIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wb3J0LmggYi9zcmMvaW5jbHVkZS9wb3J0LmgKaW5k ZXggYjgxZmE0YS4uZGQ2M2M0NCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv cG9ydC5oCisrKyBiL3NyYy9pbmNsdWRlL3BvcnQuaApAQCAtNDcwLDQgKzQ3 MCw3IEBAIGV4dGVybiBjaGFyICplc2NhcGVfc2luZ2xlX3F1b3Rlc19hc2Np aShjb25zdCBjaGFyICpzcmMpOwogLyogcG9ydC93YWl0X2Vycm9yLmMgKi8K IGV4dGVybiBjaGFyICp3YWl0X3Jlc3VsdF90b19zdHIoaW50IGV4aXRfc3Rh dHVzKTsKIAorZXh0ZXJuIGludCBwZ19wdXRlbnZfcHJveHkoY2hhciAqZW52 dmFsKTsKKworCiAjZW5kaWYgICAvKiBQR19QT1JUX0ggKi8KZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIuaCBiL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIuaAppbmRleCA0NDUzYzkwLi4yYzMwMjY4IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyLmgKKysrIGIvc3JjL2luY2x1ZGUv cG9ydC93aW4zMi5oCkBAIC00MTgsNyArNDE4LDYgQEAgZXh0ZXJuIHZvaWQg cGd3aW4zMl91bnNldGVudihjb25zdCBjaGFyICopOwogZXh0ZXJuIGludAlw Z3dpbjMyX2lzX3NlcnZpY2Uodm9pZCk7CiBleHRlcm4gaW50CXBnd2luMzJf aXNfYWRtaW4odm9pZCk7CiAKLSNkZWZpbmUgcHV0ZW52KHgpIHBnd2luMzJf cHV0ZW52KHgpCiAjZGVmaW5lIHVuc2V0ZW52KHgpIHBnd2luMzJfdW5zZXRl bnYoeCkKIAogLyogVGhpbmdzIHRoYXQgZXhpc3QgaW4gTWluZ1cgaGVhZGVy cywgYnV0IG5lZWQgdG8gYmUgYWRkZWQgdG8gTVNWQyAmIEJDQyAqLwpkaWZm IC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvZWNwZy9jb21wYXRsaWIvQ01ha2VM aXN0cy50eHQgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL2NvbXBhdGxpYi9DTWFr ZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4zMjE0OTUxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2ludGVyZmFjZXMv ZWNwZy9jb21wYXRsaWIvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNyBA QAoraW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtDTUFLRV9DVVJS RU5UX1NPVVJDRV9ESVJ9IgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L3BvcnQiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNl cy9lY3BnL2luY2x1ZGUiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMv aW50ZXJmYWNlcy9saWJwcSIKKykKK3NldChlY3BnX2NvbXBhdF9TUkMKKwlp bmZvcm1peC5jCispCitpZihVU0VfUkVQTF9TTlBSSU5URikKKwlzZXQoZWNw Z19jb21wYXRfU1JDCisJCSR7ZWNwZ19jb21wYXRfU1JDfQorCQkke1BST0pF Q1RfU09VUkNFX0RJUn0vc3JjL3BvcnQvc25wcmludGYuYworCSkKK2VuZGlm KCkKKworYWRkX2xpYnJhcnkoZWNwZ19jb21wYXQgU0hBUkVEICR7ZWNwZ19j b21wYXRfU1JDfSkKK2lmIChNU1ZDKQorCWdlbl9kZWYoZWNwZ19jb21wYXQp CitlbmRpZigpCit0YXJnZXRfbGlua19saWJyYXJpZXMoZWNwZ19jb21wYXQg JHtMSUJfTX0gcGd0eXBlcyBwcSBlY3BnKQordGFyZ2V0X2NvbXBpbGVfZGVm aW5pdGlvbnMoZWNwZ19jb21wYXQgUFJJVkFURSAtREZST05URU5EKQorc2V0 X3RhcmdldF9wcm9wZXJ0aWVzKGVjcGdfY29tcGF0IFBST1BFUlRJRVMgVkVS U0lPTiAiMy44IikKKworaW5zdGFsbChUQVJHRVRTIGVjcGdfY29tcGF0CisJ CVJVTlRJTUUgREVTVElOQVRJT04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBE RVNUSU5BVElPTiAke0xJQkRJUn0pCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJm YWNlcy9lY3BnL2VjcGdsaWIvQ01ha2VMaXN0cy50eHQgYi9zcmMvaW50ZXJm YWNlcy9lY3BnL2VjcGdsaWIvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU4ZWM2MgotLS0gL2Rldi9udWxs CisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvZWNwZ2xpYi9DTWFrZUxpc3Rz LnR4dApAQCAtMCwwICsxLDc2IEBACitpbmNsdWRlX2RpcmVjdG9yaWVzKEJF Rk9SRQorCSIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0iCisJIiR7UFJP SkVDVF9TT1VSQ0VfRElSfS9zcmMvcG9ydCIKKwkiJHtQUk9KRUNUX1NPVVJD RV9ESVJ9L3NyYy9pbnRlcmZhY2VzL2VjcGcvaW5jbHVkZSIKKwkiJHtQUk9K RUNUX1NPVVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2VzL2xpYnBxIgorKQorc2V0 KGVjcGdfU1JDCisJZXhlY3V0ZS5jCisJdHlwZW5hbWUuYworCWRlc2NyaXB0 b3IuYworCXNxbGRhLmMKKwlkYXRhLmMKKwllcnJvci5jCisJcHJlcGFyZS5j CisJbWVtb3J5LmMKKwljb25uZWN0LmMKKwltaXNjLmMKKwkke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL3BvcnQvcGF0aC5jCisJJHtQUk9KRUNUX1NPVVJD RV9ESVJ9L3NyYy9wb3J0L3Bnc3RyY2FzZWNtcC5jCispCisKK2lmKFVTRV9S RVBMX1NOUFJJTlRGKQorCXNldChlY3BnX1NSQworCQkke2VjcGdfU1JDfQor CQkke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3BvcnQvc25wcmludGYuYwor CSkKK2VuZGlmKCkKKworaWYoTk9UIEhBVkVfUklOVCkKKwlzZXQoZWNwZ19T UkMKKwkJJHtlY3BnX1NSQ30KKwkJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3Ny Yy9wb3J0L3JpbnQuYworCSkKK2VuZGlmKCkKKworaWYoTk9UIEhBVkVfREVD TF9TVFJMQ1BZKQorCXNldChlY3BnX1NSQworCQkke2VjcGdfU1JDfQorCQkk e1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3BvcnQvc3RybGNweS5jCisJKQor ZW5kaWYoKQorCitpZihOT1QgSEFWRV9JU0lORikKKwlzZXQoZWNwZ19TUkMK KwkJJHtlY3BnX1NSQ30KKwkJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9w b3J0L2lzaW5mLmMKKwkpCitlbmRpZigpCisKK2lmKFdJTjMyKQorCXNldChl Y3BnX1NSQworCQkke2VjcGdfU1JDfQorCQkke1BST0pFQ1RfU09VUkNFX0RJ Un0vc3JjL3BvcnQvd2luMzJzZXRsb2NhbGUuYworCSkKK2Vsc2UoKQorCXNl dChlY3BnX1NSQworCQkke2VjcGdfU1JDfQorCQkke1BST0pFQ1RfU09VUkNF X0RJUn0vc3JjL3BvcnQvdGhyZWFkLmMKKwkpCitlbmRpZigpCisKK2FkZF9s aWJyYXJ5KGVjcGcgU0hBUkVEICR7ZWNwZ19TUkN9KQoraWYgKE1TVkMpCisJ Z2VuX2RlZihlY3BnKQorZW5kaWYoKQordGFyZ2V0X2xpbmtfbGlicmFyaWVz KGVjcGcgJHtMSUJfTX0gcGd0eXBlcyBwcSkKK3RhcmdldF9jb21waWxlX2Rl ZmluaXRpb25zKGVjcGcgUFJJVkFURSAtREZST05URU5EKQorc2V0X3Rhcmdl dF9wcm9wZXJ0aWVzKGVjcGcgUFJPUEVSVElFUyBWRVJTSU9OICI2LjgiKQor CitpbnN0YWxsKFRBUkdFVFMgZWNwZworCQlSVU5USU1FIERFU1RJTkFUSU9O ICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9 KQorCitpZihFTkFCTEVfTkxTKQorCU1BS0VfTU8oZWNwZyAiY3M7ZGU7ZXM7 ZnI7aXQ7amE7a287cGw7cHRfQlI7cnU7dHI7emhfQ04iKQorZW5kaWYoKQpk aWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL0NNYWtl TGlzdHMudHh0IGIvc3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL0NNYWtl TGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjYzYzQyZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW50ZXJmYWNlcy9l Y3BnL2luY2x1ZGUvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyNSBAQAor c2V0KElOQ0xVREVESVJfSU5URVJOQUwgJHtQS0dJTkNMVURFRElSfS9pbnRl cm5hbCkKKworaW5zdGFsbChGSUxFUworCWVjcGdlcnJuby5oCisJZWNwZ2xp Yi5oCisJZWNwZ3R5cGUuaAorCXNxbGNhLmgKKwlzcWwzdHlwZXMuaAorCWVj cGdfaW5mb3JtaXguaAorCXBndHlwZXNfZXJyb3IuaAorCXBndHlwZXNfbnVt ZXJpYy5oCisJcGd0eXBlc190aW1lc3RhbXAuaAorCXBndHlwZXNfZGF0ZS5o CisJcGd0eXBlc19pbnRlcnZhbC5oCisJc3FsZGEuaAorCXNxbGRhLWNvbXBh dC5oCisJc3FsZGEtbmF0aXZlLmgKKwllY3BnX2NvbmZpZy5oCisJREVTVElO QVRJT04gJHtJTkNMVURFRElSfSkKKworaW5zdGFsbChGSUxFUworCWRhdGV0 aW1lLmgKKwlkZWNpbWFsLmgKKwlzcWx0eXBlcy5oCisJREVTVElOQVRJT04g JHtQS0dJTkNMVURFRElSfS9pbmZvcm1peC9lc3FsKQpkaWZmIC0tZ2l0IGEv c3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL2VjcGdfY29uZmlnX2NtYWtl LmluIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL2VjcGdfY29uZmln X2NtYWtlLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjFmM2ZjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW50ZXJmYWNlcy9l Y3BnL2luY2x1ZGUvZWNwZ19jb25maWdfY21ha2UuaW4KQEAgLTAsMCArMSwx OSBAQAorLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5 cGUgYGludDY0Jy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0lOVDY0IDEKKwor LyogRGVmaW5lIHRvIDEgaWYgYGxvbmcgaW50JyB3b3JrcyBhbmQgaXMgNjQg Yml0cy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0xPTkdfSU5UXzY0IDEKKwor LyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGxv bmcgbG9uZyBpbnQnLiAqLworI2NtYWtlZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCisKKy8qIERlZmluZSB0byAxIGlmIGBsb25nIGxvbmcgaW50JyB3 b3JrcyBhbmQgaXMgNjQgYml0cy4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX0xP TkdfTE9OR19JTlRfNjQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2Fu dCA2NC1iaXQgaW50ZWdlciB0aW1lc3RhbXAgYW5kIGludGVydmFsIHN1cHBv cnQuCisgICAoLS1lbmFibGUtaW50ZWdlci1kYXRldGltZXMpICovCisjY21h a2VkZWZpbmUgVVNFX0lOVEVHRVJfREFURVRJTUVTIDEKKworLyogRGVmaW5l IHRvIDEgdG8gYnVpbGQgY2xpZW50IGxpYnJhcmllcyBhcyB0aHJlYWQtc2Fm ZSBjb2RlLgorICogICAgKC0tZW5hYmxlLXRocmVhZC1zYWZldHkpICovCisj Y21ha2VkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQpkaWZmIC0tZ2l0 IGEvc3JjL2ludGVyZmFjZXMvZWNwZy9wZ3R5cGVzbGliL0NNYWtlTGlzdHMu dHh0IGIvc3JjL2ludGVyZmFjZXMvZWNwZy9wZ3R5cGVzbGliL0NNYWtlTGlz dHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEz NmRkY2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW50ZXJmYWNlcy9lY3Bn L3BndHlwZXNsaWIvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw0MSBAQAor aW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtDTUFLRV9DVVJSRU5U X1NPVVJDRV9ESVJ9IgorCSIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL3Bv cnQiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJmYWNlcy9l Y3BnL2luY2x1ZGUiCispCitzZXQocGd0eXBlc19TUkMKKwludW1lcmljLmMK KwlkYXRldGltZS5jCisJY29tbW9uLmMKKwlkdF9jb21tb24uYworCXRpbWVz dGFtcC5jCisJaW50ZXJ2YWwuYworCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvcG9ydC9wZ3N0cmNhc2VjbXAuYworKQoraWYoVVNFX1JFUExfU05QUklO VEYpCisJc2V0KHBndHlwZXNfU1JDCisJCSR7cGd0eXBlc19TUkN9CisJCSR7 UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvcG9ydC9zbnByaW50Zi5jCisJKQor ZW5kaWYoKQorCitpZihOT1QgSEFWRV9SSU5UKQorCXNldChwZ3R5cGVzX1NS QworCQkke3BndHlwZXNfU1JDfQorCQkke1BST0pFQ1RfU09VUkNFX0RJUn0v c3JjL3BvcnQvcmludC5jCisJKQorZW5kaWYoKQorCithZGRfbGlicmFyeShw Z3R5cGVzIFNIQVJFRCAke3BndHlwZXNfU1JDfSkKK2lmIChNU1ZDKQorCWdl bl9kZWYocGd0eXBlcykKK2VuZGlmKCkKKwordGFyZ2V0X2xpbmtfbGlicmFy aWVzKHBndHlwZXMgJHtMSUJfTX0pCit0YXJnZXRfY29tcGlsZV9kZWZpbml0 aW9ucyhwZ3R5cGVzIFBSSVZBVEUgLURGUk9OVEVORCkKK3NldF90YXJnZXRf cHJvcGVydGllcyhwZ3R5cGVzIFBST1BFUlRJRVMgVkVSU0lPTiAiMy43IikK KworCitpbnN0YWxsKFRBUkdFVFMgcGd0eXBlcworCQlSVU5USU1FIERFU1RJ TkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04gJHtM SUJESVJ9KQpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvQ01h a2VMaXN0cy50eHQgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9DTWFrZUxpc3Rz LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWZj YzZjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEv Q01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxMDggQEAKK2luY2x1ZGVfZGly ZWN0b3JpZXMoQkVGT1JFCisJIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS fSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9wb3J0IgorKQorCitp ZihVU0VfT1BFTlNTTCkKKwlpbmNsdWRlX2RpcmVjdG9yaWVzKEJFRk9SRSAk e09QRU5TU0xfSU5DTFVERV9ESVJ9KQorCXNldChwcV9zc2xfU1JDUyBmZS1z ZWN1cmUtb3BlbnNzbC5jKQorZW5kaWYoVVNFX09QRU5TU0wpCisKK3NldChw cV9TUkNTCisJZmUtYXV0aC5jCisJZmUtY29ubmVjdC5jCisJZmUtZXhlYy5j CisJZmUtbWlzYy5jCisJZmUtcHJpbnQuYworCWZlLWxvYmouYworCWZlLXBy b3RvY29sMi5jCisJZmUtcHJvdG9jb2wzLmMKKwlwcWV4cGJ1ZmZlci5jCisJ ZmUtc2VjdXJlLmMKKwlsaWJwcS1ldmVudHMuYworCisJJHtQT1JUX0RJUn0v Y2hrbG9jYWxlLmMKKwkke1BPUlRfRElSfS9pbmV0X25ldF9udG9wLmMKKwkk e1BPUlRfRElSfS9ub2Jsb2NrLmMKKwkke1BPUlRfRElSfS9wZ3N0cmNhc2Vj bXAuYworCSR7UE9SVF9ESVJ9L3Bxc2lnbmFsLmMKKwkke1BPUlRfRElSfS90 aHJlYWQuYworCisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy9jb21tb24v aXAuYworCSR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvY29tbW9uL21kNS5j CisJJHtNQl9VVElMU19CQUNLRU5EX0RJUn0vZW5jbmFtZXMuYworCSR7TUJf VVRJTFNfQkFDS0VORF9ESVJ9L3djaGFyLmMKKworCSR7ZmFsbGJhY2tfU1JD U30KKwkke3BxX3NzbF9TUkNTfQorKQorCitpZihVU0VfUkVQTF9TTlBSSU5U RikKKwlzZXQocHFfU1JDUyAke3BxX1NSQ1N9ICR7UE9SVF9ESVJ9L3NucHJp bnRmLmMpCitlbmRpZigpCisKK3NldChSRVNfRklMRVMgIiIpCitpZihXSU4z MikKKwlzZXQocHFfU1JDUyAke3BxX1NSQ1N9CisJCXdpbjMyLmMKKwkJJHtQ T1JUX0RJUn0vd2luMzJlcnJvci5jCisJCSR7UE9SVF9ESVJ9L3dpbjMyc2V0 bG9jYWxlLmMKKwkJJHtQT1JUX0RJUn0vcGdzbGVlcC5jCisJCSR7UE9SVF9E SVJ9L29wZW4uYworCQkke1BPUlRfRElSfS9zeXN0ZW0uYworCQkke1BPUlRf RElSfS9pbmV0X2F0b24uYworCQkke1BPUlRfRElSfS90aHJlYWQuYworCQkk e1BPUlRfRElSfS9nZXRhZGRyaW5mby5jCisJKQorCWlmIChUaHJlYWRzX0ZP VU5EKQorCQlzZXQocHFfU1JDUyAke3BxX1NSQ1N9IHB0aHJlYWQtd2luMzIu YykKKwllbmRpZigpCisJc2V0KFJFU19GSUxFUyAibGlicHEucmMiKQorCXNl dChDTUFLRV9SQ19DT01QSUxFUl9JTklUIHdpbmRyZXMpCisJRU5BQkxFX0xB TkdVQUdFKFJDKQorCVNFVChDTUFLRV9SQ19DT01QSUxFX09CSkVDVCAiPENN QUtFX1JDX0NPTVBJTEVSPiA8RkxBR1M+IC1PIGNvZmYgPERFRklORVM+IC1p IDxTT1VSQ0U+IC1vIDxPQkpFQ1Q+IikKK2VuZGlmKCkKKworYWRkX2xpYnJh cnkocHEgU0hBUkVEICR7cHFfU1JDU30gJHtSRVNfRklMRVN9KQordGFyZ2V0 X2xpbmtfbGlicmFyaWVzKHBxCisJJHtDTUFLRV9USFJFQURfTElCU19JTklU fQorCSR7TElCU09DS0VUX0xJQlJBUklFU30KKwkke0dTU19MSUJTfQorKQor aWYoVVNFX09QRU5TU0wpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBxICR7 T1BFTlNTTF9MSUJSQVJJRVN9KQorZW5kaWYoKQoraWYgKE1TVkMpCisJZ2Vu X2RlZihwcSkKK2VuZGlmKCkKK2lmKENSWVBUX0xJQikKKwl0YXJnZXRfbGlu a19saWJyYXJpZXMocHEgJHtDUllQVF9MSUJ9KQorZW5kaWYoKQoraWYoV0lO MzIpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBxCisJCSNwb3J0CisJCVNl Y3VyMzIKKwkJd3MyXzMyCisJKQorZW5kaWYoKQorCitpZihMREFQX0ZPVU5E KQorCXRhcmdldF9saW5rX2xpYnJhcmllcyhwcSAke0xEQVBfTElCUkFSSUVT fSkKK2VuZGlmKCkKKworaWYoVVNFX09QRU5TU0wpCisJdGFyZ2V0X2luY2x1 ZGVfZGlyZWN0b3JpZXMocHEgUFVCTElDICR7T1BFTlNTTF9JTkNMVURFX0RJ Un0pCitlbmRpZigpCisKKwordGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMo cHEgUFJJVkFURSAtREZST05URU5EIC1EVU5TQUZFX1NUQVRfT0spCitpbnN0 YWxsKFRBUkdFVFMgcHEKKwkJUlVOVElNRSBERVNUSU5BVElPTiAke1BHQklO RElSfQorCQlMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCRElSfSkKKworaWYo RU5BQkxFX05MUykKKwlNQUtFX01PKGxpYnBxICJjcztkZTtlcztmcjtpdDtq YTtrbztwbDtwdF9CUjtydTt0cjt6aF9DTjt6aF9UVyIpCitlbmRpZigpCisK KyNUT0RPIAorI3NldF90YXJnZXRfcHJvcGVydGllcyhwcSBQUk9QRVJUSUVT IExJTktfRkxBR1MgIi1XbCwtLXZlcnNpb24tc2NyaXB0PSR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9leHBvcnRzLmxpc3QiKQpkaWZmIC0tZ2l0IGEv c3JjL2ludGVyZmFjZXMvbGlicHEvZmUtY29ubmVjdC5jIGIvc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtY29ubmVjdC5jCmluZGV4IDk2NjhiNTIuLjA2OTY0 YzYgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5l Y3QuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMK QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJwZ19jb25maWdfcGF0aHMu aCIKIAogI2lmZGVmIFdJTjMyCisjaW5jbHVkZSA8V1MydGNwaXAuaD4KICNp bmNsdWRlICJ3aW4zMi5oIgogI2lmZGVmIF9XSU4zMl9JRQogI3VuZGVmIF9X SU4zMl9JRQpkaWZmIC0tZ2l0IGEvc3JjL3BsL3BscGVybC9DTWFrZUxpc3Rz LnR4dCBiL3NyYy9wbC9wbHBlcmwvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE3M2U3YwotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy9wbC9wbHBlcmwvQ01ha2VMaXN0cy50eHQKQEAgLTAs MCArMSwxMDAgQEAKK2lmKFdJTjMyKQorCWFkZF9kZWZpbml0aW9ucygtRFBM UEVSTF9IQVZFX1VJRF9HSUQpCitlbmRpZigpCisKK2V4ZWN1dGVfcHJvY2Vz cygKKwlDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAtZSAidXNlIExpc3Q6 OlV0aWwgcXcoZmlyc3QpOyBwcmludCBmaXJzdCB7IC1yIFwiJF8vRXh0VXRp bHMveHN1YnBwXCIgfSBASU5DIgorCU9VVFBVVF9WQVJJQUJMRSBYU1VCUFBE SVIKKykKK2V4ZWN1dGVfcHJvY2VzcygKKwlDT01NQU5EICR7UEVSTF9FWEVD VVRBQkxFfSAtVjp1c2VtdWx0aXBsaWNpdHkKKwlPVVRQVVRfVkFSSUFCTEUg UEVSTF9NVUxUSVBMSUNJVFkKKykKKworYWRkX2N1c3RvbV9jb21tYW5kKAor CU9VVFBVVCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1NQSS5jIgor CU1BSU5fREVQRU5ERU5DWSBTUEkueHMgcGxwZXJsX2hlbHBlcnMuaAorCUNP TU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7WFNVQlBQRElSfS9FeHRVdGls cy94c3VicHAgLXR5cGVtYXAgJHtQRVJMX1BSSVZMSUJ9L0V4dFV0aWxzL3R5 cGVtYXAgU1BJLnhzID4gIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9T UEkuYyIKKwlXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09V UkNFX0RJUn0KKykKKworYWRkX2N1c3RvbV9jb21tYW5kKAorCU9VVFBVVCAi JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1V0aWwuYyIKKwlNQUlOX0RF UEVOREVOQ1kgVXRpbC54cyBwbHBlcmxfaGVscGVycy5oCisJQ09NTUFORCAk e1BFUkxfRVhFQ1VUQUJMRX0gJHtYU1VCUFBESVJ9L0V4dFV0aWxzL3hzdWJw cCAtdHlwZW1hcCAke1BFUkxfUFJJVkxJQn0vRXh0VXRpbHMvdHlwZW1hcCBV dGlsLnhzID4gIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VdGlsLmMi CisJV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9CispCisKK2FkZF9jdXN0b21fY29tbWFuZCgKKwlPVVRQVVQgIiR7Q01B S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wZXJsY2h1bmtzLmgiCisJTUFJTl9E RVBFTkRFTkNZIHBsY19wZXJsYm9vdC5wbCBwbGNfdHJ1c3RlZC5wbAorCUNP TU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9IHRleHQybWFjcm8ucGwgIi0tc3Ry aXA9J14oXFwjLip8XFxzKikkJCciIHBsY19wZXJsYm9vdC5wbCBwbGNfdHJ1 c3RlZC5wbCA+ICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGVybGNo dW5rcy5oIgorCVdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9T T1VSQ0VfRElSfQorKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisJT1VUUFVU ICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGxwZXJsX29wbWFzay5o IgorCU1BSU5fREVQRU5ERU5DWSBwbHBlcmxfb3BtYXNrLnBsCisJQ09NTUFO RCAke1BFUkxfRVhFQ1VUQUJMRX0gcGxwZXJsX29wbWFzay5wbCAiJHtDTUFL RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3BscGVybF9vcG1hc2suaCIKKwlXT1JL SU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKykK Kworc2V0KHBsbmFtZSAicGxwZXJsIikKKworc2V0KHBscGVybF9TUkNTCisJ IiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wZXJsY2h1bmtzLmgiCisJ IiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wbHBlcmxfb3BtYXNrLmgi CisJcGxwZXJsLmMKKwlTUEkuYworCVV0aWwuYworKQorCitpbmNsdWRlX2Rp cmVjdG9yaWVzKCR7UEVSTF9JTkNMVURFX1BBVEh9KQorYWRkX2xpYnJhcnko JHtwbG5hbWV9IE1PRFVMRSAke3BscGVybF9TUkNTfSkKK3RhcmdldF9saW5r X2xpYnJhcmllcygke3BsbmFtZX0gcG9zdGdyZXMgJHtQRVJMX0xJQlJBUll9 ICR7UEVSTF9MREZMQUdTfSkKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtwbG5h bWV9KQorCXRhcmdldF9saW5rX2xpYnJhcmllcygke3BsbmFtZX0gcG9ydCkK K2VuZGlmKCkKK3NldF90YXJnZXRfcHJvcGVydGllcygke3BsbmFtZX0gUFJP UEVSVElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7cGxuYW1l fSBwb3N0Z3JlcykKKworaW5zdGFsbChUQVJHRVRTICR7cGxuYW1lfQorCQlS VU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVT VElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCQlwbHBlcmwu Y29udHJvbAorCQlwbHBlcmwtLTEuMC5zcWwKKwkJcGxwZXJsLS11bnBhY2th Z2VkLS0xLjAuc3FsCisJCXBscGVybHUuY29udHJvbAorCQlwbHBlcmx1LS0x LjAuc3FsCisJCXBscGVybHUtLXVucGFja2FnZWQtLTEuMC5zcWwKKwkJREVT VElOQVRJT04gJHtQR1NIQVJFRElSfS9leHRlbnNpb24pCitpbnN0YWxsKEZJ TEVTCisJcGxwZXJsLmgKKwlwcHBvcnQuaAorCURFU1RJTkFUSU9OICR7SU5D TFVERURJUlNFUlZFUn0pCisKK3NldChQTF9URVNUREIgcGxfcmVncmVzc2lv bikKK3NldChSRUdSRVNTX09QVFMgLS1kYm5hbWU9JHtQTF9URVNUREJ9IC0t bG9hZC1leHRlbnNpb249cGxwZXJsIC0tbG9hZC1leHRlbnNpb249cGxwZXJs dSkKK3NldChwbHJlZ3Jlc19maWxlcworCXBscGVybAorCXBscGVybF9sYwor CXBscGVybF90cmlnZ2VyCisJcGxwZXJsX3NoYXJlZAorCXBscGVybF9lbG9n CisJcGxwZXJsX3V0aWwKKwlwbHBlcmxfaW5pdAorCXBscGVybHUKKwlwbHBl cmxfYXJyYXkKKykKKworaWYoUEVSTF9NVUxUSVBMSUNJVFkgU1RSRVFVQUwg InVzZW11bHRpcGxpY2l0eT0nZGVmaW5lJyIpCisJc2V0KHBscmVncmVzX2Zp bGVzICR7cGxyZWdyZXNfZmlsZXN9IHBscGVybF9wbHBlcmx1KQorZW5kaWYo KQorCitSRUdSRVNTX0NIRUNLKHBscGVybCAiJHtSRUdSRVNTX09QVFN9IiAi JHtwbHJlZ3Jlc19maWxlc30iKQorCitpZihFTkFCTEVfTkxTKQorCU1BS0Vf TU8ocGxwZXJsICJjcztkZTtlcztmcjtpdDtqYTtrbztwbDtwdF9CUjtybzty dTtzdjt0cjt6aF9DTjt6aF9UVyIpCitlbmRpZigpCmRpZmYgLS1naXQgYS9z cmMvcGwvcGxwZ3NxbC9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvcGwvcGxw Z3NxbC9zcmMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMjllZmI2YQotLS0gL2Rldi9udWxsCisrKyBiL3Ny Yy9wbC9wbHBnc3FsL3NyYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDM3 IEBACitCSVNPTl9UQVJHRVQoUExQR1NRTF9QQVJTRVIgcGxfZ3JhbS55ICR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wbF9ncmFtLmMgQ09NUElMRV9G TEFHUyAiLWQiKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisJT1VUUFVUICIk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGxlcnJjb2Rlcy5oIgorCU1B SU5fREVQRU5ERU5DWSBnZW5lcmF0ZS1wbGVycmNvZGVzLnBsCisJQ09NTUFO RCAke1BFUkxfRVhFQ1VUQUJMRX0gImdlbmVyYXRlLXBsZXJyY29kZXMucGwi ICIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3JjL2JhY2tlbmQvdXRpbHMvZXJy Y29kZXMudHh0IiA+ICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGxl cnJjb2Rlcy5oIgorCVdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVO VF9TT1VSQ0VfRElSfQorKQorCitzZXQocGxwZ3NxbF9TUkNTCisJcGxfaGFu ZGxlci5jCisJcGxfY29tcC5jCisJcGxlcnJjb2Rlcy5oCisJcGxfZXhlYy5j CisJcGxfZnVuY3MuYworCXBsX3NjYW5uZXIuYworCSR7QklTT05fUExQR1NR TF9QQVJTRVJfT1VUUFVUX1NPVVJDRX0KKykKKworYWRkX2xpYnJhcnkocGxw Z3NxbCBNT0RVTEUgJHtwbHBnc3FsX1NSQ1N9KQordGFyZ2V0X2xpbmtfbGli cmFyaWVzKHBscGdzcWwgcG9zdGdyZXMpCitpZiAoTVNWQykKKwlnZW5fZGVm KHBscGdzcWwpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHBscGdzcWwgcG9y dCBwZ2NvbW1vbikKK2VuZGlmKCkKK3NldF90YXJnZXRfcHJvcGVydGllcyhw bHBnc3FsIFBST1BFUlRJRVMgUFJFRklYICIiKQorYWRkX2RlcGVuZGVuY2ll cyhwbHBnc3FsIHBvc3RncmVzKQorCitpbnN0YWxsKFRBUkdFVFMgcGxwZ3Nx bAorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJB UlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUyBwbHBn c3FsLmNvbnRyb2wgcGxwZ3NxbC0tMS4wLnNxbCBwbHBnc3FsLS11bnBhY2th Z2VkLS0xLjAuc3FsCisJCURFU1RJTkFUSU9OICR7UEdTSEFSRURJUn0vZXh0 ZW5zaW9uKQorCitpZihFTkFCTEVfTkxTKQorCU1BS0VfTU8ocGxwZ3NxbCAi Y3M7ZGU7ZXM7ZnI7aXQ7amE7a287cGw7cHRfQlI7cm87cnU7emhfQ047emhf VFciKQorZW5kaWYoKQpkaWZmIC0tZ2l0IGEvc3JjL3BsL3BscHl0aG9uL0NN YWtlTGlzdHMudHh0IGIvc3JjL3BsL3BscHl0aG9uL0NNYWtlTGlzdHMudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NDNlODEK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcGwvcGxweXRob24vQ01ha2VMaXN0 cy50eHQKQEAgLTAsMCArMSw5MiBAQAorYWRkX2N1c3RvbV9jb21tYW5kKAor CU9VVFBVVCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3NwaWV4Y2Vw dGlvbnMuaCIKKwlNQUlOX0RFUEVOREVOQ1kgZ2VuZXJhdGUtc3BpZXhjZXB0 aW9ucy5wbAorCUNPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICJnZW5lcmF0 ZS1zcGlleGNlcHRpb25zLnBsIiAiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3Ny Yy9iYWNrZW5kL3V0aWxzL2VycmNvZGVzLnR4dCIgPiAiJHtDTUFLRV9DVVJS RU5UX1NPVVJDRV9ESVJ9L3NwaWV4Y2VwdGlvbnMuaCIKKwlXT1JLSU5HX0RJ UkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKykKKworc2V0 KHBsbmFtZSAicGxweXRob24ke1BZVEhPTl9WRVJTSU9OX01BSk9SfSIpCisK K3NldChwbHB5dGhvbl9TUkNTCisJIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf RElSfS9zcGlleGNlcHRpb25zLmgiCisJcGxweV9jdXJzb3JvYmplY3QuYwor CXBscHlfZWxvZy5jCisJcGxweV9leGVjLmMKKwlwbHB5X21haW4uYworCXBs cHlfcGxhbm9iamVjdC5jCisJcGxweV9wbHB5bW9kdWxlLmMKKwlwbHB5X3By b2NlZHVyZS5jCisJcGxweV9yZXN1bHRvYmplY3QuYworCXBscHlfc3BpLmMK KwlwbHB5X3N1YnhhY3RvYmplY3QuYworCXBscHlfdHlwZWlvLmMKKwlwbHB5 X3V0aWwuYworKQorCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7UFlUSE9OX0lO Q0xVREVfRElSU30pCithZGRfbGlicmFyeSgke3BsbmFtZX0gTU9EVUxFICR7 cGxweXRob25fU1JDU30pCit0YXJnZXRfbGlua19saWJyYXJpZXMoJHtwbG5h bWV9IHBvc3RncmVzICR7UFlUSE9OX0xJQlJBUklFU30pCitpZiAoTVNWQykK KwlnZW5fZGVmKCR7cGxuYW1lfSkKKwl0YXJnZXRfbGlua19saWJyYXJpZXMo JHtwbG5hbWV9IHBvcnQpCitlbmRpZigpCitpZihNSU5HVykKKwlzZXRfdGFy Z2V0X3Byb3BlcnRpZXMoJHtwbG5hbWV9IFBST1BFUlRJRVMgTElOS19GTEFH UyAtV2wsLS1vdXQtaW1wbGliPWxpYm1pbiR7cGxuYW1lfS5kbGwuYSkKK2Vu ZGlmKCkKK3NldF90YXJnZXRfcHJvcGVydGllcygke3BsbmFtZX0gUFJPUEVS VElFUyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7cGxuYW1lfSBw b3N0Z3JlcykKKworaW5zdGFsbChUQVJHRVRTICR7cGxuYW1lfQorCQlSVU5U SU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElO QVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxFUworCXBscHl0aG9uMnUu Y29udHJvbAorCXBscHl0aG9uMnUtLTEuMC5zcWwKKwlwbHB5dGhvbjJ1LS11 bnBhY2thZ2VkLS0xLjAuc3FsCisJcGxweXRob24zdS5jb250cm9sCisJcGxw eXRob24zdS0tMS4wLnNxbAorCXBscHl0aG9uM3UtLXVucGFja2FnZWQtLTEu MC5zcWwKKwlwbHB5dGhvbnUuY29udHJvbAorCXBscHl0aG9udS0tMS4wLnNx bAorCXBscHl0aG9udS0tdW5wYWNrYWdlZC0tMS4wLnNxbAorCURFU1RJTkFU SU9OICR7UEdTSEFSRURJUn0vZXh0ZW5zaW9uKQorCitzZXQoUExfVEVTVERC IHBsX3JlZ3Jlc3Npb24pCitzZXQoUkVHUkVTU19PUFRTIC0tZGJuYW1lPSR7 UExfVEVTVERCfSkKK2lmIChQWVRIT05fVkVSU0lPTl9NQUpPUiBFUVVBTCAy KQorCXNldChSRUdSRVNTX09QVFMgJHtSRUdSRVNTX09QVFN9IC0tbG9hZC1l eHRlbnNpb249cGxweXRob251KQorZW5kaWYoKQorCitzZXQocGxyZWdyZXNf ZmlsZXMKKwlwbHB5dGhvbl9zY2hlbWEKKwlwbHB5dGhvbl9wb3B1bGF0ZQor CXBscHl0aG9uX3Rlc3QKKwlwbHB5dGhvbl9kbworCXBscHl0aG9uX2dsb2Jh bAorCXBscHl0aG9uX2ltcG9ydAorCXBscHl0aG9uX3NwaQorCXBscHl0aG9u X25ld2xpbmUKKwlwbHB5dGhvbl92b2lkCisJcGxweXRob25fcGFyYW1zCisJ cGxweXRob25fc2V0b2YKKwlwbHB5dGhvbl9yZWNvcmQKKwlwbHB5dGhvbl90 cmlnZ2VyCisJcGxweXRob25fdHlwZXMKKwlwbHB5dGhvbl9lcnJvcgorCXBs cHl0aG9uX3VuaWNvZGUKKwlwbHB5dGhvbl9xdW90ZQorCXBscHl0aG9uX2Nv bXBvc2l0ZQorCXBscHl0aG9uX3N1YnRyYW5zYWN0aW9uCisJcGxweXRob25f ZHJvcAorKQorCitpZihQWVRIT05fVkVSU0lPTl9NQUpPUiBFUVVBTCAzKQor CXJlcGxhY2VfcHl0aG9uX2ZpbGVzKCIke3BscmVncmVzX2ZpbGVzfSIpCisJ UkVHUkVTU19DSEVDSyhwbHB5dGhvbiAiJHtSRUdSRVNTX09QVFN9IiAiJHty ZWdyZXNzX2ZpbGVzM30iKQorZWxzZSgpCisJUkVHUkVTU19DSEVDSyhwbHB5 dGhvbiAiJHtSRUdSRVNTX09QVFN9IiAiJHtwbHJlZ3Jlc19maWxlc30iKQor ZW5kaWYoKQorCitpZihFTkFCTEVfTkxTKQorCU1BS0VfTU8ocGxweXRob24g ImNzO2RlO2VzO2ZyO2l0O2phO2tvO3BsO3B0X0JSO3J1O3poX0NOIikKK2Vu ZGlmKCkKZGlmZiAtLWdpdCBhL3NyYy9wbC90Y2wvQ01ha2VMaXN0cy50eHQg Yi9zcmMvcGwvdGNsL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmI3NWQ0NGYKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvcGwvdGNsL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNDkgQEAK K3NldChwbG5hbWUgInBsdGNsIikKKworaW5jbHVkZV9kaXJlY3Rvcmllcygk e1RDTF9JTkNMVURFX1BBVEh9KQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisJ T1VUUFVUICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGx0Y2xlcnJj b2Rlcy5oIgorCU1BSU5fREVQRU5ERU5DWSBnZW5lcmF0ZS1wbHRjbGVycmNv ZGVzLnBsCisJQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gImdlbmVyYXRl LXBsdGNsZXJyY29kZXMucGwiICIke1BST0pFQ1RfU09VUkNFX0RJUn0vc3Jj L2JhY2tlbmQvdXRpbHMvZXJyY29kZXMudHh0IiA+ICIke0NNQUtFX0NVUlJF TlRfU09VUkNFX0RJUn0vcGx0Y2xlcnJjb2Rlcy5oIgorCVdPUktJTkdfRElS RUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQorKQorCithZGRf Y3VzdG9tX3RhcmdldChnZW5fcGx0Y2xlcnJjb2RlcyBERVBFTkRTICIke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGx0Y2xlcnJjb2Rlcy5oIikKKwor YWRkX2xpYnJhcnkoJHtwbG5hbWV9IE1PRFVMRQorCXBsdGNsLmMKKykKKwor dGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7cGxuYW1lfSBwb3N0Z3JlcyAke1RD TF9MSUJSQVJZfSkKK2lmIChNU1ZDKQorCWdlbl9kZWYoJHtwbG5hbWV9KQor CXRhcmdldF9saW5rX2xpYnJhcmllcygke3BsbmFtZX0gcG9ydCkKK2VuZGlm KCkKK3NldF90YXJnZXRfcHJvcGVydGllcygke3BsbmFtZX0gUFJPUEVSVElF UyBQUkVGSVggIiIpCithZGRfZGVwZW5kZW5jaWVzKCR7cGxuYW1lfSBwb3N0 Z3JlcyBnZW5fcGx0Y2xlcnJjb2RlcykKKworaW5zdGFsbChUQVJHRVRTICR7 cGxuYW1lfQorCQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJ CUxJQlJBUlkgREVTVElOQVRJT04gJHtMSUJESVJ9KQoraW5zdGFsbChGSUxF UworCQkke3BsbmFtZX0uY29udHJvbAorCQkke3BsbmFtZX0tLTEuMC5zcWwK KwkJJHtwbG5hbWV9LS11bnBhY2thZ2VkLS0xLjAuc3FsCisJCSR7cGxuYW1l fXUuY29udHJvbAorCQkke3BsbmFtZX11LS0xLjAuc3FsCisJCSR7cGxuYW1l fXUtLXVucGFja2FnZWQtLTEuMC5zcWwKKwkJREVTVElOQVRJT04gJHtQR1NI QVJFRElSfS9leHRlbnNpb24pCisKK3NldChQTF9URVNUREIgcGxfcmVncmVz c2lvbikKK3NldChSRUdSRVNTX09QVFMgLS1kYm5hbWU9JHtQTF9URVNUREJ9 IC0tbG9hZC1leHRlbnNpb249cGx0Y2wpCitzZXQocGxyZWdyZXNfZmlsZXMK KwlwbHRjbF9zZXR1cAorCXBsdGNsX3F1ZXJpZXMKKwlwbHRjbF91bmljb2Rl CispCitSRUdSRVNTX0NIRUNLKHBsdGNsICIke1JFR1JFU1NfT1BUU30iICIk e3BscmVncmVzX2ZpbGVzfSIpCisKK2lmKEVOQUJMRV9OTFMpCisJTUFLRV9N TyhwbHRjbCAiY3M7ZGU7ZXM7ZnI7aXQ7amE7a287cGw7cHRfQlI7cm87cnU7 dHI7emhfQ047emhfVFciKQorZW5kaWYoKQpkaWZmIC0tZ2l0IGEvc3JjL3Bv cnQvQ01ha2VMaXN0cy50eHQgYi9zcmMvcG9ydC9DTWFrZUxpc3RzLnR4dApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWU1YTMxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3BvcnQvQ01ha2VMaXN0cy50eHQKQEAg LTAsMCArMSwxNjUgQEAKK2lmKFVTRV9TU0U0Ml9DUkMzMkMpCisJU0VUKFBH X0NSQzMyQ19PQkpTIHBnX2NyYzMyY19zc2U0Mi5jKQorZWxzZWlmKFVTRV9T U0U0Ml9DUkMzMkNfV0lUSF9SVU5USU1FX0NIRUNLKQorCVNFVChQR19DUkMz MkNfT0JKUworCQlwZ19jcmMzMmNfc3NlNDIuYworCQlwZ19jcmMzMmNfc2I4 LmMKKwkJcGdfY3JjMzJjX2Nob29zZS5jCisJKQorZWxzZWlmKFVTRV9TTElD SU5HX0JZXzhfQ1JDMzJDKQorCVNFVChQR19DUkMzMkNfT0JKUyBwZ19jcmMz MmNfc2I4LmMpCitlbmRpZigpCisKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVy dGllcyhwZ19jcmMzMmNfc3NlNDIuYyBQUk9QRVJUSUVTIENPTVBJTEVfRkxB R1MgIiR7Q0ZMQUdTX1NTRTQyfSIpCisKK3NldChwb3J0X1NSQ1MKKwljaGts b2NhbGUuYworCWVyYW5kNDguYworCWluZXRfbmV0X250b3AuYworCW5vYmxv Y2suYworCXBhdGguYworCXBnY2hlY2tkaXIuYworCXBnbWtkaXJwLmMKKwlw Z3NsZWVwLmMKKwlwZ3N0cmNhc2VjbXAuYworCXBxc2lnbmFsLmMKKwlxc29y dC5jCisJcXNvcnRfYXJnLmMKKwlxdW90ZXMuYworCXNwcm9tcHQuYworCXRh ci5jCisJdGhyZWFkLmMKKwlwZ19wdXRlbnZfcHJveHkuYworCSR7ZmFsbGJh Y2tfU1JDU30KKwkke1BHX0NSQzMyQ19PQkpTfQorKQorCitpZihOT1QgSEFW RV9GTFMpCisJc2V0KHBvcnRfU1JDUworCQkke3BvcnRfU1JDU30KKwkJZmxz LmMKKwkpCitlbmRpZihOT1QgSEFWRV9GTFMpCisKK2lmKE5PVCBIQVZFX0lT SU5GKQorCXNldChwb3J0X1NSQ1MKKwkJJHtwb3J0X1NSQ1N9CisJCWlzaW5m LmMKKwkpCitlbmRpZigpCisKK2lmKE5PVCBIQVZFX01LRFRFTVApCisJc2V0 KHBvcnRfU1JDUworCQkke3BvcnRfU1JDU30KKwkJbWtkdGVtcC5jCisJKQor ZW5kaWYoKQorCitpZihOT1QgSEFWRV9HRVRPUFQpCisJc2V0KHBvcnRfU1JD UworCQkke3BvcnRfU1JDU30KKwkJZ2V0b3B0LmMKKwkpCitlbmRpZigpCisK K2lmKE5PVCAoSEFWRV9TVFJVQ1RfT1BUSU9OIEFORCBIQVZFX0dFVE9QVF9M T05HKSkKKwlzZXQocG9ydF9TUkNTCisJCSR7cG9ydF9TUkNTfQorCQlnZXRv cHRfbG9uZy5jCisJKQorZW5kaWYoKQorCitpZihOT1QgSEFWRV9HRVRUSU1F T0ZEQVkpCisJc2V0KHBvcnRfU1JDUworCQkke3BvcnRfU1JDU30KKwkJZ2V0 dGltZW9mZGF5LmMKKwkpCitlbmRpZigpCisKK2lmKE5PVCBIQVZFX0lORVRf QVRPTikKKwlzZXQocG9ydF9TUkNTCisJCSR7cG9ydF9TUkNTfQorCQlpbmV0 X2F0b24uYworCSkKK2VuZGlmKCkKKworaWYoTk9UIEhBVkVfUkFORE9NKQor CXNldChwb3J0X1NSQ1MKKwkJJHtwb3J0X1NSQ1N9CisJCXJhbmRvbS5jCisJ KQorZW5kaWYoKQorCitpZihOT1QgSEFWRV9TUkFORE9NKQorCXNldChwb3J0 X1NSQ1MKKwkJJHtwb3J0X1NSQ1N9CisJCXNyYW5kb20uYworCSkKK2VuZGlm KCkKKworaWYoVVNFX1JFUExfU05QUklOVEYpCisJc2V0KHBvcnRfU1JDUwor CQkke3BvcnRfU1JDU30KKwkJc25wcmludGYuYworCSkKK2VuZGlmKCkKKwor aWYoTk9UIEhBVkVfUklOVCkKKwlzZXQocG9ydF9TUkNTCisJCSR7cG9ydF9T UkNTfQorCQlyaW50LmMKKwkpCitlbmRpZigpCisKK2lmKE1TVkMgT1IgTUlO R1cpCisJc2V0KHBvcnRfU1JDUworCQkke3BvcnRfU1JDU30KKwkJZGlybW9k LmMKKwkJa2lsbC5jCisJCW9wZW4uYworCQlnZXRydXNhZ2UuYworCQlzeXN0 ZW0uYworCQl3aW4zMnNlY3VyaXR5LmMKKwkJd2luMzJlbnYuYworCQl3aW4z MmVycm9yLmMKKwkJd2luMzJzZXRsb2NhbGUuYworCSkKK2VuZGlmKCkKKwor aWYoTVNWQykKKwlzZXQocG9ydF9TUkNTCisJCSR7cG9ydF9TUkNTfQorCQlk aXJlbnQuYworCSkKK2VuZGlmKCkKKworaWYoQ01BS0VfU1lTVEVNX05BTUUg U1RSRVFVQUwgIlN1bk9TIikKKwkjIFNvbGFyaXMnIGdldG9wdCgpIGRvZXNu J3QgZG8gd2hhdCB3ZSB3YW50IGZvciBsb25nIG9wdGlvbnMsIHNvIGFsd2F5 cyB1c2UKKwkjIG91ciB2ZXJzaW9uIG9uIHRoYXQgcGxhdGZvcm0uCisJc2V0 KHBvcnRfU1JDUworCQkke3BvcnRfU1JDU30KKwkJZ2V0b3B0LmMKKwkpCitl bmRpZigpCisKK2lmKE5PVCBIQVZFX0NSWVBUKQorCXNldChwb3J0X1NSQ1MK KwkJJHtwb3J0X1NSQ1N9CisJCWNyeXB0LmMKKwkpCitlbmRpZigpCisKK2Fk ZF9saWJyYXJ5KHBvcnRfc3J2IFNUQVRJQyAke3BvcnRfU1JDU30pCithZGRf bGlicmFyeShwb3J0IFNUQVRJQyAke3BvcnRfU1JDU30pCisKK2FkZF9kZXBl bmRlbmNpZXMocG9ydF9zcnYgZ2VuX2Vycm9yY29kZXMpCithZGRfZGVwZW5k ZW5jaWVzKHBvcnQgZ2VuX2Vycm9yY29kZXMpCisKKyMgYmVjYXVzZSBwb3J0 IHVzZWQgaW4gc2hhcmVkIGxpYnJhcmllcworc2V0X3Byb3BlcnR5KFRBUkdF VCBwb3J0IFBST1BFUlRZIFBPU0lUSU9OX0lOREVQRU5ERU5UX0NPREUgVFJV RSkKKworCit0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyhwb3J0IFBSSVZB VEUgLURGUk9OVEVORCkKK3NldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcyh0 aHJlYWQuYyBQUk9QRVJUSUVTIENPTVBJTEVfRkxBR1MgJHtQVEhSRUFEX0NG TEFHU30pCitpbnN0YWxsKFRBUkdFVFMgcG9ydAorCQlBUkNISVZFIERFU1RJ TkFUSU9OICR7TElCRElSfSkKZGlmZiAtLWdpdCBhL3NyYy9wb3J0L01ha2Vm aWxlIGIvc3JjL3BvcnQvTWFrZWZpbGUKaW5kZXggYmM5YjYzYS4uNDBkY2Rh YiAxMDA2NDQKLS0tIGEvc3JjL3BvcnQvTWFrZWZpbGUKKysrIGIvc3JjL3Bv cnQvTWFrZWZpbGUKQEAgLTMzLDcgKzMzLDcgQEAgTElCUyArPSAkKFBUSFJF QURfTElCUykKIE9CSlMgPSAkKExJQk9CSlMpICQoUEdfQ1JDMzJDX09CSlMp IGNoa2xvY2FsZS5vIGVyYW5kNDgubyBpbmV0X25ldF9udG9wLm8gXAogCW5v YmxvY2subyBwYXRoLm8gcGdjaGVja2Rpci5vIHBnbWtkaXJwLm8gcGdzbGVl cC5vIFwKIAlwZ3N0cmNhc2VjbXAubyBwcXNpZ25hbC5vIFwKLQlxc29ydC5v IHFzb3J0X2FyZy5vIHF1b3Rlcy5vIHNwcm9tcHQubyB0YXIubyB0aHJlYWQu bworCXFzb3J0Lm8gcXNvcnRfYXJnLm8gcXVvdGVzLm8gc3Byb21wdC5vIHRh ci5vIHRocmVhZC5vIHBnX3B1dGVudl9wcm94eS5vCiAKICMgZm9vX3Nydi5v IGFuZCBmb28ubyBhcmUgYm90aCBidWlsdCBmcm9tIGZvby5jLCBidXQgb25s eSBmb28ubyBoYXMgLURGUk9OVEVORAogT0JKU19TUlYgPSAkKE9CSlM6JS5v PSVfc3J2Lm8pCmRpZmYgLS1naXQgYS9zcmMvcG9ydC9wZ19wdXRlbnZfcHJv eHkuYyBiL3NyYy9wb3J0L3BnX3B1dGVudl9wcm94eS5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMTA4NTIKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvcG9ydC9wZ19wdXRlbnZfcHJveHkuYwpAQCAtMCwwICsx LDI2IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisg KiBwZ19wdXRlbnZfcHJveHkuYworICoJICBwZ19wdXRlbnZfcHJveHkgZm9y IHB1dGVudgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0y MDE2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICog UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBV bml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKgorICogSURFTlRJRklD QVRJT04KKyAqCSAgc3JjL3BvcnQvcGdfcHV0ZW52X3Byb3h5LmMKKyAqCisg Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaW5jbHVk ZSAiYy5oIgorCitpbnQKK3BnX3B1dGVudl9wcm94eShjaGFyICplbnZ2YWwp Cit7CisjaWZkZWYgV0lOMzIKKwlyZXR1cm4gcGd3aW4zMl9wdXRlbnYoZW52 dmFsKTsKKyNlbHNlCisJcmV0dXJuIHB1dGVudihlbnZ2YWwpOworI2VuZGlm Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjL3BvcnQvdW5zZXRlbnYuYyBiL3NyYy9wb3J0L3Vuc2V0ZW52LmMKaW5k ZXggYmI3YWI0My4uMGM2NmVmMyAxMDA2NDQKLS0tIGEvc3JjL3BvcnQvdW5z ZXRlbnYuYworKysgYi9zcmMvcG9ydC91bnNldGVudi5jCkBAIC00NCw3ICs0 NCw3IEBAIHVuc2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUpCiAKIAkvKiBPdmVy cmlkZSB0aGUgZXhpc3Rpbmcgc2V0dGluZyBieSBmb3JjaWJseSBkZWZpbmlu ZyB0aGUgdmFyICovCiAJc3ByaW50ZihlbnZzdHIsICIlcz0iLCBuYW1lKTsK LQlwdXRlbnYoZW52c3RyKTsKKwlwZ19wdXRlbnZfcHJveHkoZW52c3RyKTsK IAogCS8qIE5vdyB3ZSBjYW4gY2xvYmJlciB0aGUgdmFyaWFibGUgZGVmaW5p dGlvbiB0aGlzIHdheTogKi8KIAlzdHJjcHkoZW52c3RyLCAiPSIpOwpAQCAt NTMsNSArNTMsNSBAQCB1bnNldGVudihjb25zdCBjaGFyICpuYW1lKQogCSAq IFRoaXMgbGFzdCBwdXRlbnYgY2xlYW5zIHVwIGlmIHdlIGhhdmUgbXVsdGlw bGUgemVyby1sZW5ndGggbmFtZXMgYXMgYQogCSAqIHJlc3VsdCBvZiB1bnNl dHRpbmcgbXVsdGlwbGUgdGhpbmdzLgogCSAqLwotCXB1dGVudihlbnZzdHIp OworCXBnX3B1dGVudl9wcm94eShlbnZzdHIpOwogfQpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvaXNvbGF0aW9uL0NNYWtlTGlzdHMudHh0IGIvc3JjL3Rlc3Qv aXNvbGF0aW9uL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjJiMTNlZTQKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9pc29sYXRpb24vQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw2 NCBAQAoraW5jbHVkZV9kaXJlY3RvcmllcyhCRUZPUkUKKwkiJHtQUk9KRUNU X1NPVVJDRV9ESVJ9L3NyYy9pbmNsdWRlL2xpYnBxIgorCSIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL3BvcnQiCisJIiR7UFJPSkVDVF9TT1VSQ0VfRElS fS9zcmMvaW50ZXJmYWNlcy9saWJwcSIKKwkiJHtQUk9KRUNUX1NPVVJDRV9E SVJ9L3NyYy9iaW4vcGdfZHVtcCIKKwkiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9 L3NyYy90ZXN0L3JlZ3Jlc3MiCispCisKK2FkZF9leGVjdXRhYmxlKHBnX2lz b2xhdGlvbl9yZWdyZXNzCisJJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L3NyYy90 ZXN0L3JlZ3Jlc3MvcGdfcmVncmVzcy5jCisJaXNvbGF0aW9uX21haW4uYwor KQorCit0YXJnZXRfbGlua19saWJyYXJpZXMocGdfaXNvbGF0aW9uX3JlZ3Jl c3MKKwlwcQorCXBnY29tbW9uCisJcG9ydAorKQorCit0YXJnZXRfY29tcGls ZV9kZWZpbml0aW9ucyhwZ19pc29sYXRpb25fcmVncmVzcyBQUklWQVRFCisJ LURIT1NUX1RVUExFPSIke0hPU1RfVFVQTEV9IgorCS1EU0hFTExQUk9HPSIk RU5We1NIRUxMfSIKKykKKworYmlzb25fdGFyZ2V0KFNQRUNfUEFSU0VSIHNw ZWNwYXJzZS55ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9zcGVjcGFy c2UuYykKK2ZsZXhfdGFyZ2V0KFNQRUNfU0NBTk5FUiBzcGVjc2Nhbm5lci5s ICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3BlY3NjYW5uZXIuYykK K2FkZF9mbGV4X2Jpc29uX2RlcGVuZGVuY3koU1BFQ19TQ0FOTkVSIFNQRUNf UEFSU0VSKQorc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7Q01BS0Vf Q1VSUkVOVF9TT1VSQ0VfRElSfS9zcGVjcGFyc2UuYyBQUk9QRVJUSUVTIE9C SkVDVF9ERVBFTkRTICR7RkxFWF9TUEVDX1NDQU5ORVJfT1VUUFVUU30pCisK K2FkZF9leGVjdXRhYmxlKGlzb2xhdGlvbnRlc3RlcgorCWlzb2xhdGlvbnRl c3Rlci5jCisJJHtCSVNPTl9TUEVDX1BBUlNFUl9PVVRQVVRTfQorKQorCit0 YXJnZXRfbGlua19saWJyYXJpZXMoaXNvbGF0aW9udGVzdGVyCisJcGdjb21t b24KKwlwb3J0CisJcHEKKykKKworYWRkX2N1c3RvbV90YXJnZXQoaXNvbGF0 aW9uX2NoZWNrCisJQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIHJlbW92 ZV9kaXJlY3RvcnkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3RtcF9p bnN0YWxsCisJQ09NTUFORCBtYWtlIGluc3RhbGwgREVTVERJUj0ke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0vdG1wX2luc3RhbGwKKwlDT01NQU5EIG1h a2UgaXNvbGF0aW9uX2luc3RhbGxjaGVja190bXAgREVTVERJUj0ke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0vCisJV09SS0lOR19ESVJFQ1RPUlkgJHtD TUFLRV9CSU5BUllfRElSfQorKQorCithZGRfY3VzdG9tX3RhcmdldChpc29s YXRpb25faW5zdGFsbGNoZWNrCisJQ09NTUFORCAke3BnX2lzb2xhdGlvbl9y ZWdyZXNzX2NoZWNrfSAke1JFR1JFU1NfT1BUU30gLS1zY2hlZHVsZT0ke0NN QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vaXNvbGF0aW9uX3NjaGVkdWxlIC0t ZGxwYXRoPSRFTlZ7REVTVERJUn0ke0xJQkRJUn0gJHtNQVhDT05OT1BUfSAk e1RFTVBfQ09ORn0gJHtFWFRSQV9URVNUU30KKwlXT1JLSU5HX0RJUkVDVE9S WSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKykKKworYWRkX2N1c3Rv bV90YXJnZXQoaXNvbGF0aW9uX2luc3RhbGxjaGVja190bXAKKwlDT01NQU5E ICR7cGdfaXNvbGF0aW9uX3JlZ3Jlc3NfY2hlY2tfdG1wfSAke1JFR1JFU1Nf T1BUU30gLS1zY2hlZHVsZT0ke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0v aXNvbGF0aW9uX3NjaGVkdWxlIC0tZGxwYXRoPSR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfS90bXBfaW5zdGFsbCR7TElCRElSfSAke01BWENPTk5PUFR9 ICR7VEVNUF9DT05GfSAke0VYVFJBX1RFU1RTfQorCVdPUktJTkdfRElSRUNU T1JZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQorKQorCitpbnN0YWxs KFRBUkdFVFMgaXNvbGF0aW9udGVzdGVyCisJCVJVTlRJTUUgREVTVElOQVRJ T04gJHtQR0JJTkRJUn0KKwkJTElCUkFSWSBERVNUSU5BVElPTiAke0xJQkRJ Un0pCisKK2luc3RhbGwoVEFSR0VUUyBwZ19pc29sYXRpb25fcmVncmVzcwor CQlSVU5USU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkg REVTVElOQVRJT04gJHtMSUJESVJ9KQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvQ01h a2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZmRjMWZjMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw4MSBAQAoraW5jbHVkZV9k aXJlY3RvcmllcyhCRUZPUkUKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvaW5jbHVkZS9saWJwcSIKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9z cmMvcG9ydCIKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvaW50ZXJm YWNlcy9saWJwcSIKKyAJIiR7UFJPSkVDVF9TT1VSQ0VfRElSfS9zcmMvYmlu L3BnX2R1bXAiCispCisKK2FkZF9leGVjdXRhYmxlKHBnX3JlZ3Jlc3MKKwlw Z19yZWdyZXNzLmMKKwlwZ19yZWdyZXNzX21haW4uYworKQorCit0YXJnZXRf bGlua19saWJyYXJpZXMocGdfcmVncmVzcworCXBxCisJcGdjb21tb24KKwlw b3J0CispCisKK3RhcmdldF9jb21waWxlX2RlZmluaXRpb25zKHBnX3JlZ3Jl c3MgUFJJVkFURQorCS1ESE9TVF9UVVBMRT0iJHtIT1NUX1RVUExFfSIKKwkt RFNIRUxMUFJPRz0iJEVOVntTSEVMTH0iKQorCisKK2FkZF9saWJyYXJ5KHJl Z3Jlc3MgTU9EVUxFIHJlZ3Jlc3MuYykKKyN0YXJnZXRfbGlua19saWJyYXJp ZXMocmVncmVzcworIwlwcQorIykKK2lmIChNU1ZDKQorCWdlbl9kZWYocmVn cmVzcykKK2VuZGlmKCkKKworaWYoTVNWQyBPUiBNSU5HVykKKwl0YXJnZXRf bGlua19saWJyYXJpZXMocmVncmVzcyBwb3N0Z3JlcyBwb3J0IHBnY29tbW9u KQorZW5kaWYoKQorCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMocmVncmVzcyBQ Uk9QRVJUSUVTIFBSRUZJWCAiIikKK2FkZF9kZXBlbmRlbmNpZXMocmVncmVz cyBwb3N0Z3JlcykKKworYWRkX2N1c3RvbV90YXJnZXQodGFibGVzcGFjZS1z ZXR1cAorCUNPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSByZW1vdmVfZGly ZWN0b3J5IC4vdGVzdHRhYmxlc3BhY2UKKwlDT01NQU5EICR7Q01BS0VfQ09N TUFORH0gLUUgbWFrZV9kaXJlY3RvcnkgLi90ZXN0dGFibGVzcGFjZQorCVdP UktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQor KQorCitpZihDTUFLRV9HRU5FUkFUT1IgU1RSRVFVQUwgIk5pbmphIikKKwlh ZGRfY3VzdG9tX3RhcmdldChjaGVjaworCQlDT01NQU5EICR7Q01BS0VfQ09N TUFORH0gLUUgcmVtb3ZlX2RpcmVjdG9yeSAke0NNQUtFX0NVUlJFTlRfQklO QVJZX0RJUn0vdG1wX2luc3RhbGwKKwkJQ09NTUFORCBERVNURElSPSR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfS90bXBfaW5zdGFsbCAke2NoZWNrX21h a2VfY29tbWFuZH0gaW5zdGFsbAorCQlDT01NQU5EIERFU1RESVI9JHtDTUFL RV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyAke2NoZWNrX21ha2VfY29tbWFuZH0g aW5zdGFsbGNoZWNrX3RtcAorCQlERVBFTkRTIHRhYmxlc3BhY2Utc2V0dXAK KwkJV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfQorCSkK K2Vsc2UoKQorCWFkZF9jdXN0b21fdGFyZ2V0KGNoZWNrCisJCUNPTU1BTkQg JHtDTUFLRV9DT01NQU5EfSAtRSByZW1vdmVfZGlyZWN0b3J5ICR7Q01BS0Vf Q1VSUkVOVF9CSU5BUllfRElSfS90bXBfaW5zdGFsbAorCQlDT01NQU5EICR7 Y2hlY2tfbWFrZV9jb21tYW5kfSBpbnN0YWxsIERFU1RESVI9JHtDTUFLRV9D VVJSRU5UX0JJTkFSWV9ESVJ9L3RtcF9pbnN0YWxsCisJCUNPTU1BTkQgJHtj aGVja19tYWtlX2NvbW1hbmR9IGluc3RhbGxjaGVja190bXAgREVTVERJUj0k e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vCisJCURFUEVORFMgdGFibGVz cGFjZS1zZXR1cAorCQlXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0JJTkFS WV9ESVJ9CisJKQorZW5kaWYoKQorCithZGRfY3VzdG9tX3RhcmdldChpbnN0 YWxsY2hlY2sKKwlDT01NQU5EICR7cGdfcmVncmVzc19jaGVja30gJHtSRUdS RVNTX09QVFN9IC0tc2NoZWR1bGU9JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E SVJ9L3BhcmFsbGVsX3NjaGVkdWxlIC0tZGxwYXRoPSRFTlZ7REVTVERJUn0k e0xJQkRJUn0gJHtNQVhDT05OT1BUfSAke1RFTVBfQ09ORn0gJHtFWFRSQV9U RVNUU30KKwlERVBFTkRTIHRhYmxlc3BhY2Utc2V0dXAKKwlXT1JLSU5HX0RJ UkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0KKykKKworYWRk X2N1c3RvbV90YXJnZXQoaW5zdGFsbGNoZWNrX3RtcAorCUNPTU1BTkQgJHtw Z19yZWdyZXNzX2NoZWNrX3RtcH0gJHtSRUdSRVNTX09QVFN9IC0tc2NoZWR1 bGU9JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3BhcmFsbGVsX3NjaGVk dWxlIC0tZGxwYXRoPSR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS90bXBf aW5zdGFsbCR7TElCRElSfSAke01BWENPTk5PUFR9ICR7VEVNUF9DT05GfSAk e0VYVFJBX1RFU1RTfQorCURFUEVORFMgdGFibGVzcGFjZS1zZXR1cAorCVdP UktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQor KQorCitpbnN0YWxsKFRBUkdFVFMgcGdfcmVncmVzcworCQlSVU5USU1FIERF U1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElOQVRJT04g JHtMSUJESVJ9KQorCitpbnN0YWxsKFRBUkdFVFMgcmVncmVzcworCQlSVU5U SU1FIERFU1RJTkFUSU9OICR7UEdCSU5ESVJ9CisJCUxJQlJBUlkgREVTVElO QVRJT04gJHtMSUJESVJ9KQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9wZ19yZWdyZXNzLmMgYi9zcmMvdGVzdC9yZWdyZXNzL3BnX3JlZ3Jlc3Mu YwppbmRleCAxNGM4N2M5Li5mMzRmMzJhIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3BnX3JlZ3Jlc3MuYworKysgYi9zcmMvdGVzdC9yZWdyZXNz L3BnX3JlZ3Jlc3MuYwpAQCAtNzEyLDcgKzcxMiw3IEBAIGRvcHV0ZW52KGNv bnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsKQogCWNoYXIJICAgKnM7 CiAKIAlzID0gcHNwcmludGYoIiVzPSVzIiwgdmFyLCB2YWwpOwotCXB1dGVu dihzKTsKKwlwZ19wdXRlbnZfcHJveHkocyk7CiB9CiAKIC8qCkBAIC03MjEs NyArNzIxLDcgQEAgZG9wdXRlbnYoY29uc3QgY2hhciAqdmFyLCBjb25zdCBj aGFyICp2YWwpCiBzdGF0aWMgdm9pZAogaW5pdGlhbGl6ZV9lbnZpcm9ubWVu dCh2b2lkKQogewotCXB1dGVudigiUEdBUFBOQU1FPXBnX3JlZ3Jlc3MiKTsK KwlwZ19wdXRlbnZfcHJveHkoIlBHQVBQTkFNRT1wZ19yZWdyZXNzIik7CiAK IAlpZiAobm9sb2NhbGUpCiAJewpAQCAtNzQ0LDcgKzc0NCw3IEBAIGluaXRp YWxpemVfZW52aXJvbm1lbnQodm9pZCkKIAkJICogdmFyaWFibGVzIHVuc2V0 OyBzZWUgUG9zdG1hc3Rlck1haW4oKS4KIAkJICovCiAjaWYgZGVmaW5lZChX SU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSB8fCBkZWZpbmVkKF9fZGFy d2luX18pCi0JCXB1dGVudigiTEFORz1DIik7CisJCXBnX3B1dGVudl9wcm94 eSgiTEFORz1DIik7CiAjZW5kaWYKIAl9CiAKQEAgLTc1Niw3ICs3NTYsNyBA QCBpbml0aWFsaXplX2Vudmlyb25tZW50KHZvaWQpCiAJICovCiAJdW5zZXRl bnYoIkxBTkdVQUdFIik7CiAJdW5zZXRlbnYoIkxDX0FMTCIpOwotCXB1dGVu digiTENfTUVTU0FHRVM9QyIpOworCXBnX3B1dGVudl9wcm94eSgiTENfTUVT U0FHRVM9QyIpOwogCiAJLyoKIAkgKiBTZXQgZW5jb2RpbmcgYXMgcmVxdWVz dGVkCkBAIC03NjksOCArNzY5LDggQEAgaW5pdGlhbGl6ZV9lbnZpcm9ubWVu dCh2b2lkKQogCS8qCiAJICogU2V0IHRpbWV6b25lIGFuZCBkYXRlc3R5bGUg Zm9yIGRhdGV0aW1lLXJlbGF0ZWQgdGVzdHMKIAkgKi8KLQlwdXRlbnYoIlBH VFo9UFNUOFBEVCIpOwotCXB1dGVudigiUEdEQVRFU1RZTEU9UG9zdGdyZXMs IE1EWSIpOworCXBnX3B1dGVudl9wcm94eSgiUEdUWj1QU1Q4UERUIik7CisJ cGdfcHV0ZW52X3Byb3h5KCJQR0RBVEVTVFlMRT1Qb3N0Z3JlcywgTURZIik7 CiAKIAkvKgogCSAqIExpa2V3aXNlIHNldCBpbnRlcnZhbHN0eWxlIHRvIGVu c3VyZSBjb25zaXN0ZW50IHJlc3VsdHMuICBUaGlzIGlzIGEgYml0CkBAIC03 ODYsNyArNzg2LDcgQEAgaW5pdGlhbGl6ZV9lbnZpcm9ubWVudCh2b2lkKQog CQkJb2xkX3Bnb3B0aW9ucyA9ICIiOwogCQluZXdfcGdvcHRpb25zID0gcHNw cmludGYoIlBHT1BUSU9OUz0lcyAlcyIsCiAJCQkJCQkJCSBvbGRfcGdvcHRp b25zLCBteV9wZ29wdGlvbnMpOwotCQlwdXRlbnYobmV3X3Bnb3B0aW9ucyk7 CisJCXBnX3B1dGVudl9wcm94eShuZXdfcGdvcHRpb25zKTsKIAl9CiAKIAlp ZiAodGVtcF9pbnN0YW5jZSkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvcmVncmVzcy5jIGIvc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNzLmMKaW5k ZXggZTc4MjZhNC4uYjM4ZTM2MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9yZWdyZXNzLmMKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNz LmMKQEAgLTg1Myw3ICs4NTMsNyBAQCByZWdyZXNzX3B1dGVudihQR19GVU5D VElPTl9BUkdTKQogCWVudmJ1ZiA9IHRleHRfdG9fY3N0cmluZygodGV4dCAq KSBQR19HRVRBUkdfUE9JTlRFUigwKSk7CiAJTWVtb3J5Q29udGV4dFN3aXRj aFRvKG9sZGNvbnRleHQpOwogCi0JaWYgKHB1dGVudihlbnZidWYpICE9IDAp CisJaWYgKHBnX3B1dGVudl9wcm94eShlbnZidWYpICE9IDApCiAJCWVsb2co RVJST1IsICJjb3VsZCBub3Qgc2V0IGVudmlyb25tZW50IHZhcmlhYmxlOiAl bSIpOwogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKZGlmZiAtLWdpdCBhL3NyYy90 aW1lem9uZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy90aW1lem9uZS9DTWFrZUxp c3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40 ZjYwY2U5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3RpbWV6b25lL0NNYWtl TGlzdHMudHh0CkBAIC0wLDAgKzEsNzYgQEAKKyNUT0RPIGNvbXBpbGUgdGlt ZXpvbmVzCisKK2luY2x1ZGVfZGlyZWN0b3JpZXMoCisJIiR7UFJPSkVDVF9T T1VSQ0VfRElSfS9zcmMvaW5jbHVkZS9saWJwcSIKKwkiJHtQUk9KRUNUX1NP VVJDRV9ESVJ9L3NyYy9pbnRlcmZhY2VzL2xpYnBxIgorCSIke1BST0pFQ1Rf U09VUkNFX0RJUn0vc3JjL2Jpbi9wZ19kdW1wIgorKQorCisKKworc2V0KHR6 ZGF0YSAKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZGF0YS9hZnJp Y2EKKwkke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZGF0YS9hbnRhcmN0 aWNhCisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvYXNpYQor CSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9kYXRhL2F1c3RyYWxhc2lh CisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvZXVyb3BlCisJ JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvbm9ydGhhbWVyaWNh CisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvc291dGhhbWVy aWNhCisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvcGFjaWZp Y25ldworCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9kYXRhL2V0Y2V0 ZXJhCisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvZmFjdG9y eQorCSR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9kYXRhL2JhY2t3YXJk CisJJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2RhdGEvc3lzdGVtdgor KQorCithZGRfZXhlY3V0YWJsZSh6aWMKKwl6aWMuYworKQordGFyZ2V0X2xp bmtfbGlicmFyaWVzKHppYworCXBvcnQKKykKKworaWYoTVNWQykKKwlmb3Jl YWNoKCBPVVRQVVRDT05GSUcgJHtDTUFLRV9DT05GSUdVUkFUSU9OX1RZUEVT fSApCisJCXN0cmluZyggVE9VUFBFUiAke09VVFBVVENPTkZJR30gT1VUUFVU Q09ORklHICkKKwkJc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHppYyBQUk9QRVJU SUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWV8ke09VVFBVVENPTkZJR30g JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9ICkKKwkJc2V0X3RhcmdldF9w cm9wZXJ0aWVzKHppYyBQUk9QRVJUSUVTIExJQlJBUllfT1VUUFVUX0RJUkVD VE9SWV8ke09VVFBVVENPTkZJR30gJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9E SVJ9ICkKKwkJc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHppYyBQUk9QRVJUSUVT IEFSQ0hJVkVfT1VUUFVUX0RJUkVDVE9SWV8ke09VVFBVVENPTkZJR30gJHtD TUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9ICkKKwllbmRmb3JlYWNoKCBPVVRQ VVRDT05GSUcgQ01BS0VfQ09ORklHVVJBVElPTl9UWVBFUyApCitlbmRpZihN U1ZDKQorCisKK2luc3RhbGwoRklMRVMgCisJdHpuYW1lcy9BZnJpY2EudHh0 CisJdHpuYW1lcy9BbWVyaWNhLnR4dAorCXR6bmFtZXMvQW50YXJjdGljYS50 eHQKKwl0em5hbWVzL0FzaWEudHh0CisJdHpuYW1lcy9BdGxhbnRpYy50eHQK Kwl0em5hbWVzL0F1c3RyYWxpYS50eHQKKwl0em5hbWVzL0V0Yy50eHQKKwl0 em5hbWVzL0V1cm9wZS50eHQKKwl0em5hbWVzL0luZGlhbi50eHQKKwl0em5h bWVzL1BhY2lmaWMudHh0CisJdHpuYW1lcy9EZWZhdWx0CisJdHpuYW1lcy9B dXN0cmFsaWEKKwl0em5hbWVzL0luZGlhCitERVNUSU5BVElPTiAke1BHU0hB UkVESVJ9L3RpbWV6b25lc2V0cykKKworZnVuY3Rpb24oSk9JTiBWQUxVRVMg R0xVRSBPVVRQVVQpCisgIHN0cmluZyAoUkVHRVggUkVQTEFDRSAiKFteXFxd fF4pOyIgIlxcMSR7R0xVRX0iIF9UTVBfU1RSICIke1ZBTFVFU30iKQorICBz dHJpbmcgKFJFR0VYIFJFUExBQ0UgIltcXF0oLikiICJcXDEiIF9UTVBfU1RS ICIke19UTVBfU1RSfSIpICNmaXhlcyBlc2NhcGluZworICBzZXQgKCR7T1VU UFVUfSAiJHtfVE1QX1NUUn0iIFBBUkVOVF9TQ09QRSkKK2VuZGZ1bmN0aW9u KCkKKworaWYoTUlOR1cpCisJc3RyaW5nKFNVQlNUUklORyAke1BHU0hBUkVE SVJ9IDIgLTEgUEdTSEFSRURJUl9aSUMpCitlbHNlKCkKKwlzZXQoUEdTSEFS RURJUl9aSUMgJHtQR1NIQVJFRElSfSkKK2VuZGlmKCkKKworSk9JTigiJHt0 emRhdGF9IiAiICIgdHpkYXRhX3N0cmluZykKK2luc3RhbGwoCisJQ09ERSAi bWVzc2FnZSgnJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3ppYyR7Q01B S0VfRVhFQ1VUQUJMRV9TVUZGSVh9IFwkRU5We0RFU1RESVJ9JHtQR1NIQVJF RElSX1pJQ30vdGltZXpvbmUgLXAgVVMvRWFzdGVybiAke3R6ZGF0YV9zdHJp bmd9JykiCisJQ09ERSAiZXhlY3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtDTUFL RV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3ppYyR7Q01BS0VfRVhFQ1VUQUJMRV9T VUZGSVh9IC1kIFwiXCRFTlZ7REVTVERJUn0ke1BHU0hBUkVESVJfWklDfS90 aW1lem9uZVwiIC1wIFwiVVMvRWFzdGVyblwiICR7dHpkYXRhX3N0cmluZ30p IgorKQorCmRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvTWFrZWZpbGUgYi9z cmMvdGltZXpvbmUvTWFrZWZpbGUKaW5kZXggYmVkNTcyNy4uMzQ4Yzc5ZSAx MDA2NDQKLS0tIGEvc3JjL3RpbWV6b25lL01ha2VmaWxlCisrKyBiL3NyYy90 aW1lem9uZS9NYWtlZmlsZQpAQCAtNTQsNiArNTQsNyBAQCB6aWM6ICQoWklD T0JKUykgfCBzdWJtYWtlLWxpYnBncG9ydAogCiBpbnN0YWxsOiBhbGwgaW5z dGFsbGRpcnMKIGlmZXEgKCwkKHdpdGhfc3lzdGVtX3R6ZGF0YSkpCisJZWNo byAiLWQgJyQoREVTVERJUikkKGRhdGFkaXIpL3RpbWV6b25lJyAtcCAnJChQ T1NJWFJVTEVTKScgJChUWkRBVEFGSUxFUykiCiAJJChaSUMpIC1kICckKERF U1RESVIpJChkYXRhZGlyKS90aW1lem9uZScgLXAgJyQoUE9TSVhSVUxFUykn ICQoVFpEQVRBRklMRVMpCiBlbmRpZgogCSQoTUFLRSkgLUMgdHpuYW1lcyAk QApkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL21zdmMvZ2VuZGVmLnBsIGIvc3Jj L3Rvb2xzL21zdmMvZ2VuZGVmLnBsCmluZGV4IGE2YzQzYzIuLmUzNWVkNWEg MTAwNjQ0Ci0tLSBhL3NyYy90b29scy9tc3ZjL2dlbmRlZi5wbAorKysgYi9z cmMvdG9vbHMvbXN2Yy9nZW5kZWYucGwKQEAgLTE1NCwyMyArMTU0LDIxIEBA IHN1YiB1c2FnZQogfQogCiB1c2FnZSgpCi0gIHVubGVzcyBzY2FsYXIoQEFS R1YpID09IDIKLQkgICYmICggICAoJEFSR1ZbMF0gPX4gL1xcKFteXFxdKyQp LykKLQkJICAmJiAoJEFSR1ZbMV0gZXEgJ1dpbjMyJyB8fCAkQVJHVlsxXSBl cSAneDY0JykpOwotbXkgJGRlZm5hbWUgID0gdWMgJDE7Ci1teSAkZGVmZmls ZSAgPSAiJEFSR1ZbMF0vJGRlZm5hbWUuZGVmIjsKLW15ICRwbGF0Zm9ybSA9 ICRBUkdWWzFdOworICB1bmxlc3Mgc2NhbGFyKEBBUkdWKSA9PSAzCisJICAm JiAoJEFSR1ZbMl0gZXEgJ1dpbjMyJyB8fCAkQVJHVlsyXSBlcSAneDY0Jyk7 CitteSAkZGVmZmlsZSAgPSAkQVJHVlsxXTsKK215ICRwbGF0Zm9ybSA9ICRB UkdWWzJdOwogCiAjIGlmIHRoZSBkZWYgZmlsZSBleGlzdHMgYW5kIGlzIG5l d2VyIHRoYW4gYWxsIGlucHV0IG9iamVjdCBmaWxlcywgc2tpcAogIyBpdHMg Y3JlYXRpb24KIGlmICgtZiAkZGVmZmlsZQogCSYmICgtTSAkZGVmZmlsZSA+ IG1heChtYXAgeyAtTSB9IDwkQVJHVlswXS8qLm9iaj4pKSkKIHsKLQlwcmlu dCAiTm90IHJlLWdlbmVyYXRpbmcgJGRlZm5hbWUuREVGLCBmaWxlIGFscmVh ZHkgZXhpc3RzLlxuIjsKKwlwcmludCAiTm90IHJlLWdlbmVyYXRpbmcgLkRF RiwgZmlsZSBhbHJlYWR5IGV4aXN0cy5cbiI7CiAJZXhpdCgwKTsKIH0KIAot cHJpbnQgIkdlbmVyYXRpbmcgJGRlZm5hbWUuREVGIGZyb20gZGlyZWN0b3J5 ICRBUkdWWzBdLCBwbGF0Zm9ybSAkcGxhdGZvcm1cbiI7CitwcmludCAiR2Vu ZXJhdGluZyAuREVGIGZyb20gZGlyZWN0b3J5ICRBUkdWWzBdLCBwbGF0Zm9y bSAkcGxhdGZvcm1cbiI7CiAKIG15ICVkZWYgPSAoKTsKIAo= --trojita=_72dabb5b-fab3-48ce-a276-0b2d0f0655c2 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --trojita=_72dabb5b-fab3-48ce-a276-0b2d0f0655c2--