Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vnux9-00DSAc-30 for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Feb 2026 08:43:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vnux7-00GEG3-25 for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Feb 2026 08:43:05 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vnux7-00GEFu-0I for pgsql-hackers@lists.postgresql.org; Thu, 05 Feb 2026 08:43:05 +0000 Received: from udcm-wwu2.uni-muenster.de ([128.176.118.28]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vnux3-00000001AFT-14ry for pgsql-hackers@lists.postgresql.org; Thu, 05 Feb 2026 08:43:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uni-muenster.de; i=@uni-muenster.de; q=dns/txt; s=uniout; t=1770280981; x=1801816981; h=message-id:date:mime-version:subject:from:to:cc: references:in-reply-to; bh=jBMclsux7cANW72J84QbVJWfSB20swG1mTJ+PFQvCs8=; b=FQMCue6hxaqY01zxnvMOxH/Qe2qbovJ+EhL04WSJODeHHCuZJ0YXI8k2 klKADYy3TWG3sd1WcIS90JtJS9oBq0JOml8Qqz2rXoWcHFz7EF0i6gufn yeived9s+oPeiU3eXYWC2QbJP0WVIS52RGa/sM5uG27DeupwfaYsba4IZ VUjtW1ooMe/5deA6quwyS7Ny+1EDnxcclVJuQAa225zKQWWo1r5oLU2Vi 2W/Bkk6e9wctXFdMTPH61c1XAyDrea6G0XSJnqL0d4s4ovleFAzfLr1V/ UJUdWFNQz75cZoXtldixid+PmUvhTRS8KeU5d4g00A5LH1W0VmHJiQtFA A==; X-CSE-ConnectionGUID: GPEKp47nT+apxjbLlTrSaw== X-CSE-MsgGUID: 0ozTKp6GR7CcDWiZRwxnkw== X-IronPort-AV: E=Sophos;i="6.21,274,1763420400"; d="scan'208,223";a="383748857" Received: from secmail.uni-muenster.de ([128.176.118.4]) by UDCM-RELAY2.UNI-MUENSTER.DE with ESMTP; 05 Feb 2026 09:43:00 +0100 Received: from [192.168.178.27] (dynamic-080-171-013-157.80.171.pool.telefonica.de [80.171.13.157]) by SECMAIL.UNI-MUENSTER.DE (Postfix) with ESMTPSA id 9D1E220ADF03; Thu, 5 Feb 2026 09:42:59 +0100 (CET) Content-Type: multipart/mixed; boundary="------------CvsHL6mVIWH0DkjlTc2fVGbk" Message-ID: Date: Thu, 5 Feb 2026 09:42:59 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: WIP - xmlvalidate implementation from TODO list From: Jim Jones To: Marcos Magueta Cc: Andrey Borodin , Kirill Reshke , PostgreSQL Hackers References: <89DE974B-F318-4D0A-A60B-51EDE84054E2@gmail.com> <9A074422-2308-4BD0-9FFA-0B6D70989935@yandex-team.ru> <70c72cb1-a39f-41b3-bfe3-e32ee7fda9c4@uni-muenster.de> <68a012d3-121b-418a-913b-aa0aaf32915d@uni-muenster.de> <2898f090-d9cf-475c-940c-a99da4a308f1@uni-muenster.de> <08052569-9384-41b5-bcb7-33929fcc6c71@uni-muenster.de> Content-Language: de-DE, en-GB In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------CvsHL6mVIWH0DkjlTc2fVGbk Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi Marcos, I had some bandwidth this morning and revisited this patch. After rebasing it, I realised that the interdependencies between the patch files made it quite difficult to apply and test them individually. To simplify things for now, I've split the patches into two separate files: 0001 - CREATE XMLSCHEMA 0002 - XMLVALIDATE During the process, I also addressed several issues highlighted by the CFbot[1] I'd suggest to focus on 0001 for now. Feel free to revert it to the state of v4 if you disagree with the current approach. Best, Jim 1 - https://cirrus-ci.com/github/postgresql-cfbot/postgresql/cf%2F6372 --------------CvsHL6mVIWH0DkjlTc2fVGbk Content-Type: text/x-patch; charset=UTF-8; name="v5-0001-Add-CREATE-XMLSCHEMA.patch" Content-Disposition: attachment; filename="v5-0001-Add-CREATE-XMLSCHEMA.patch" Content-Transfer-Encoding: base64 RnJvbSAyYTkzMTYxMWMzNDRlYjQ3YWQ3NWFlNDIwMzRlNjQ0YTYwMGY5N2E2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0 ZXIuZGU+CkRhdGU6IFdlZCwgNCBGZWIgMjAyNiAyMDo0Nzo0OSArMDEwMApTdWJqZWN0OiBb UEFUQ0ggdjUgMS8yXSBBZGQgQ1JFQVRFIFhNTFNDSEVNQQoKLS0tCiBkb2Mvc3JjL3NnbWwv ZGF0YXR5cGUuc2dtbCAgICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvcmVmL2Fs bGZpbGVzLnNnbWwgICAgICAgICB8ICAgMyArCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3ht bHNjaGVtYS5zZ21sICB8IDE0NSArKysrKysrKysrKysrKysrKysKIGRvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3htbHNjaGVtYS5zZ21sIHwgMTgyICsrKysrKysrKysrKysrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfeG1sc2NoZW1hLnNnbWwgICB8IDEyMCArKysrKysr KysrKysrKysKIGRvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAgICAgICAgICAgIHwgICAz ICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUgICAgICAgICAgIHwgICAxICsKIHNy Yy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMgICAgICAgICAgIHwgIDE3ICsrKwogc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9tZXNvbi5idWlsZCAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9uYW1lc3BhY2UuYyAgICAgICAgfCAgNTYgKysrKysrKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9vYmplY3RhZGRyZXNzLmMgICAgfCAgODQgKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2Nh dGFsb2cvcGdfeG1sc2NoZW1hLmMgICAgIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysr KysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlICAgICAgICAgIHwgICAzICstCiBz cmMvYmFja2VuZC9jb21tYW5kcy9hbHRlci5jICAgICAgICAgICB8ICAgOCArCiBzcmMvYmFj a2VuZC9jb21tYW5kcy9kcm9wY21kcy5jICAgICAgICB8ICAgNyArCiBzcmMvYmFja2VuZC9j b21tYW5kcy9ldmVudF90cmlnZ2VyLmMgICB8ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5k cy9tZXNvbi5idWlsZCAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZWNs YWJlbC5jICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy94bWxzY2hlbWFj bWRzLmMgICB8ICA5NSArKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkg ICAgICAgICAgICAgIHwgIDY0ICsrKysrKystCiBzcmMvYmFja2VuZC90Y29wL3V0aWxpdHku YyAgICAgICAgICAgICB8ICAxNyArKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYyAg ICAgICAgICAgIHwgICA0ICsKIHNyYy9iaW4vcGdfZHVtcC9jb21tb24uYyAgICAgICAgICAg ICAgIHwgICAzICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYyAgIHwg ICAxICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgICAgICAgICAgICAgIHwgMTI4ICsr KysrKysrKysrKysrKysKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggICAgICAgICAgICAg IHwgICA4ICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyAgICAgICAgIHwgICA1 ICsKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgIHwgIDIyICsrKwog c3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZCAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUv Y2F0YWxvZy9uYW1lc3BhY2UuaCAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ194bWxzY2hlbWEuaCAgICAgfCAgNDggKysrKysrCiBzcmMvaW5jbHVkZS9jb21tYW5k cy94bWxzY2hlbWFjbWRzLmggICB8ICAgOSArKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vu b2Rlcy5oICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oICAg ICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAg ICAgfCAgIDMgKwogc3JjL2luY2x1ZGUvdXRpbHMvYWNsLmggICAgICAgICAgICAgICAgfCAg IDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vaWRqb2lucy5vdXQgfCAgIDIgKwog c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0ICAgICAgfCAgNjQgKysrKysrKysK IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzEub3V0ICAgIHwgIDYxICsrKysrKysr CiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbF8yLm91dCAgICB8ICA3OCArKysrKysr KysrCiBzcmMvdGVzdC9yZWdyZXNzL3BnX3JlZ3Jlc3MuYyAgICAgICAgICB8ICAgMiArLQog c3JjL3Rlc3QvcmVncmVzcy9zcWwveG1sLnNxbCAgICAgICAgICAgfCAgNjMgKysrKysrKysK IDQ0IGZpbGVzIGNoYW5nZWQsIDE1MTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3htbHNjaGVtYS5z Z21sCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfeG1sc2No ZW1hLnNnbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfeG1s c2NoZW1hLnNnbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3htbHNjaGVtYS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvY29tbWFuZHMv eG1sc2NoZW1hY21kcy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ194bWxzY2hlbWEuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL2NvbW1h bmRzL3htbHNjaGVtYWNtZHMuaAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kYXRhdHlw ZS5zZ21sIGIvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKaW5kZXggMzAxN2M2NzQwNC4u ZjJhZGU1N2ZlNyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKKysr IGIvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKQEAgLTQ2NDksNiArNDY0OSw3IEBAIFNF VCB4bWxvcHRpb24gVE8geyBET0NVTUVOVCB8IENPTlRFTlQgfTsKICAgICBkaXN0cmlidXRp b24uCiAgICA8L3BhcmE+CiAgICA8L3NlY3QyPgorCiAgIDwvc2VjdDE+CiAKICAgJmpzb247 CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwKaW5kZXggZTE2NzQwNmM3NC4uODdhOGU2MDY2ZSAx MDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbApAQCAtNDgsNiArNDgsNyBAQCBDb21wbGV0ZSBs aXN0IG9mIHVzYWJsZSBzZ21sIHNvdXJjZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KIDwh RU5USVRZIGFsdGVyVXNlciAgICAgICAgICBTWVNURU0gImFsdGVyX3VzZXIuc2dtbCI+CiA8 IUVOVElUWSBhbHRlclVzZXJNYXBwaW5nICAgU1lTVEVNICJhbHRlcl91c2VyX21hcHBpbmcu c2dtbCI+CiA8IUVOVElUWSBhbHRlclZpZXcgICAgICAgICAgU1lTVEVNICJhbHRlcl92aWV3 LnNnbWwiPgorPCFFTlRJVFkgYWx0ZXJYbWxTY2hlbWEgICAgIFNZU1RFTSAiYWx0ZXJfeG1s c2NoZW1hLnNnbWwiPgogPCFFTlRJVFkgYW5hbHl6ZSAgICAgICAgICAgIFNZU1RFTSAiYW5h bHl6ZS5zZ21sIj4KIDwhRU5USVRZIGJlZ2luICAgICAgICAgICAgICBTWVNURU0gImJlZ2lu LnNnbWwiPgogPCFFTlRJVFkgY2FsbCAgICAgICAgICAgICAgIFNZU1RFTSAiY2FsbC5zZ21s Ij4KQEAgLTEwMCw2ICsxMDEsNyBAQCBDb21wbGV0ZSBsaXN0IG9mIHVzYWJsZSBzZ21sIHNv dXJjZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KIDwhRU5USVRZIGNyZWF0ZVVzZXIgICAg ICAgICBTWVNURU0gImNyZWF0ZV91c2VyLnNnbWwiPgogPCFFTlRJVFkgY3JlYXRlVXNlck1h cHBpbmcgIFNZU1RFTSAiY3JlYXRlX3VzZXJfbWFwcGluZy5zZ21sIj4KIDwhRU5USVRZIGNy ZWF0ZVZpZXcgICAgICAgICBTWVNURU0gImNyZWF0ZV92aWV3LnNnbWwiPgorPCFFTlRJVFkg Y3JlYXRlWG1sU2NoZW1hICAgIFNZU1RFTSAiY3JlYXRlX3htbHNjaGVtYS5zZ21sIj4KIDwh RU5USVRZIGRlYWxsb2NhdGUgICAgICAgICBTWVNURU0gImRlYWxsb2NhdGUuc2dtbCI+CiA8 IUVOVElUWSBkZWNsYXJlICAgICAgICAgICAgU1lTVEVNICJkZWNsYXJlLnNnbWwiPgogPCFF TlRJVFkgZGVsZXRlICAgICAgICAgICAgIFNZU1RFTSAiZGVsZXRlLnNnbWwiPgpAQCAtMTQ4 LDYgKzE1MCw3IEBAIENvbXBsZXRlIGxpc3Qgb2YgdXNhYmxlIHNnbWwgc291cmNlIGZpbGVz IGluIHRoaXMgZGlyZWN0b3J5LgogPCFFTlRJVFkgZHJvcFVzZXIgICAgICAgICAgIFNZU1RF TSAiZHJvcF91c2VyLnNnbWwiPgogPCFFTlRJVFkgZHJvcFVzZXJNYXBwaW5nICAgIFNZU1RF TSAiZHJvcF91c2VyX21hcHBpbmcuc2dtbCI+CiA8IUVOVElUWSBkcm9wVmlldyAgICAgICAg ICAgU1lTVEVNICJkcm9wX3ZpZXcuc2dtbCI+Cis8IUVOVElUWSBkcm9wWG1sU2NoZW1hICAg ICAgU1lTVEVNICJkcm9wX3htbHNjaGVtYS5zZ21sIj4KIDwhRU5USVRZIGVuZCAgICAgICAg ICAgICAgICBTWVNURU0gImVuZC5zZ21sIj4KIDwhRU5USVRZIGV4ZWN1dGUgICAgICAgICAg ICBTWVNURU0gImV4ZWN1dGUuc2dtbCI+CiA8IUVOVElUWSBleHBsYWluICAgICAgICAgICAg U1lTVEVNICJleHBsYWluLnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9h bHRlcl94bWxzY2hlbWEuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfeG1sc2NoZW1h LnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNmEyODZhZDAw ZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfeG1sc2NoZW1h LnNnbWwKQEAgLTAsMCArMSwxNDUgQEAKKzwhLS0KK2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf eG1sc2NoZW1hLnNnbWwKK1Bvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgorLS0+CisKKzxyZWZl bnRyeSBpZD0ic3FsLWFsdGVyeG1sc2NoZW1hIj4KKyA8aW5kZXh0ZXJtIHpvbmU9InNxbC1h bHRlcnhtbHNjaGVtYSI+CisgIDxwcmltYXJ5PkFMVEVSIFhNTFNDSEVNQTwvcHJpbWFyeT4K KyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRsZT5BTFRFUiBY TUxTQ0hFTUE8L3JlZmVudHJ5dGl0bGU+CisgIDxtYW52b2xudW0+NzwvbWFudm9sbnVtPgor ICA8cmVmbWlzY2luZm8+U1FMIC0gTGFuZ3VhZ2UgU3RhdGVtZW50czwvcmVmbWlzY2luZm8+ CisgPC9yZWZtZXRhPgorCisgPHJlZm5hbWVkaXY+CisgIDxyZWZuYW1lPkFMVEVSIFhNTFND SEVNQTwvcmVmbmFtZT4KKyAgPHJlZnB1cnBvc2U+Y2hhbmdlIHRoZSBkZWZpbml0aW9uIG9m IGFuIFhNTCBzY2hlbWE8L3JlZnB1cnBvc2U+CisgPC9yZWZuYW1lZGl2PgorCisgPHJlZnN5 bm9wc2lzZGl2PgorPHN5bm9wc2lzPgorQUxURVIgWE1MU0NIRU1BIFsgSUYgRVhJU1RTIF0g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBPV05F UiBUTyB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uZXdfb3duZXI8L3JlcGxh Y2VhYmxlPiB8IENVUlJFTlRfUk9MRSB8IENVUlJFTlRfVVNFUiB8IFNFU1NJT05fVVNFUiB9 CitBTFRFUiBYTUxTQ0hFTUEgWyBJRiBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBUTyA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+bmV3X25hbWU8L3JlcGxhY2VhYmxlPgorQUxURVIgWE1MU0NIRU1B IFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3Jl cGxhY2VhYmxlPiBTRVQgU0NIRU1BIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u ZXdfc2NoZW1hPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rp dj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8 cGFyYT4KKyAgIDxjb21tYW5kPkFMVEVSIFhNTFNDSEVNQTwvY29tbWFuZD4gY2hhbmdlcyB0 aGUgZGVmaW5pdGlvbiBvZiBhbiBYTUwgc2NoZW1hLgorICA8L3BhcmE+CisKKyAgPHBhcmE+ CisgICBZb3UgbXVzdCBvd24gdGhlIFhNTCBzY2hlbWEgdG8gdXNlIDxjb21tYW5kPkFMVEVS IFhNTFNDSEVNQTwvY29tbWFuZD4uCisgICBUbyBjaGFuZ2UgYW4gWE1MIHNjaGVtYSdzIHNj aGVtYSwgeW91IG11c3QgYWxzbyBoYXZlIDxsaXRlcmFsPkNSRUFURTwvbGl0ZXJhbD4KKyAg IHByaXZpbGVnZSBvbiB0aGUgbmV3IHNjaGVtYS4KKyAgIFRvIGFsdGVyIHRoZSBvd25lciwg eW91IG11c3QgYmUgYWJsZSB0byA8bGl0ZXJhbD5TRVQgUk9MRTwvbGl0ZXJhbD4gdG8gdGhl CisgICBuZXcgb3duaW5nIHJvbGUsIGFuZCB0aGF0IHJvbGUgbXVzdCBoYXZlIDxsaXRlcmFs PkNSRUFURTwvbGl0ZXJhbD4KKyAgIHByaXZpbGVnZSBvbiB0aGUgWE1MIHNjaGVtYSdzIHNj aGVtYS4KKyAgIChUaGVzZSByZXN0cmljdGlvbnMgZW5mb3JjZSB0aGF0IGFsdGVyaW5nIHRo ZSBvd25lcgorICAgZG9lc24ndCBkbyBhbnl0aGluZyB5b3UgY291bGRuJ3QgZG8gYnkgZHJv cHBpbmcgYW5kIHJlY3JlYXRpbmcgdGhlIFhNTCBzY2hlbWEuCisgICBIb3dldmVyLCBhIHN1 cGVydXNlciBjYW4gYWx0ZXIgb3duZXJzaGlwIG9mIGFueSBYTUwgc2NoZW1hIGFueXdheS4p CisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFy YW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlhYmxlbGlzdD4KKyAgIDx2YXJsaXN0ZW50cnk+ CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxh Y2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhl IG5hbWUgKG9wdGlvbmFsbHkgc2NoZW1hLXF1YWxpZmllZCkgb2YgYW4gWE1MIHNjaGVtYSB0 byBiZSBhbHRlcmVkLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFy bGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPklG IEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4K KyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgWE1MIHNjaGVtYSBkb2VzIG5v dCBleGlzdC4gQSBub3RpY2UgaXMgaXNzdWVkCisgICAgICBpbiB0aGlzIGNhc2UuCisgICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2 YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm5ld19vd25lcjwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAg PHBhcmE+CisgICAgICBUaGUgdXNlciBuYW1lIG9mIHRoZSBuZXcgb3duZXIgb2YgdGhlIFhN TCBzY2hlbWEuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm5ld19uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxp c3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuZXcgbmFtZSBvZiB0aGUgWE1MIHNj aGVtYS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+bmV3X3NjaGVtYTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0 aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbmV3IHNjaGVtYSBmb3IgdGhlIFhNTCBz Y2hlbWEuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+Cisg IDx0aXRsZT5FeGFtcGxlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUbyByZW5hbWUgYW4g WE1MIHNjaGVtYToKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVSIFhNTFNDSEVNQSBwZXJzb25f c2NoZW1hIFJFTkFNRSBUTyBwZW9wbGVfc2NoZW1hOworPC9wcm9ncmFtbGlzdGluZz4KKyAg PC9wYXJhPgorCisgIDxwYXJhPgorICAgVG8gY2hhbmdlIHRoZSBvd25lciBvZiBhbiBYTUwg c2NoZW1hOgorPHByb2dyYW1saXN0aW5nPgorQUxURVIgWE1MU0NIRU1BIHBlb3BsZV9zY2hl bWEgT1dORVIgVE8gam9lOworPC9wcm9ncmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCisgIDxw YXJhPgorICAgVG8gbW92ZSBhbiBYTUwgc2NoZW1hIHRvIGFub3RoZXIgc2NoZW1hOgorPHBy b2dyYW1saXN0aW5nPgorQUxURVIgWE1MU0NIRU1BIHBlb3BsZV9zY2hlbWEgU0VUIFNDSEVN QSBteXNjaGVtYTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKyA8L3JlZnNlY3Qx PgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+Q29tcGF0aWJpbGl0eTwvdGl0bGU+CisKKyAg PHBhcmE+CisgICA8Y29tbWFuZD5BTFRFUiBYTUxTQ0hFTUE8L2NvbW1hbmQ+IGlzIGEKKyAg IDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8 L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNlZSBBbHNv PC90aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJlcj48 eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRleG1sc2NoZW1hIi8+PC9tZW1iZXI+CisgICA8bWVt YmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9weG1sc2NoZW1hIi8+PC9tZW1iZXI+CisgIDwv c2ltcGxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCis8L3JlZmVudHJ5PgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfeG1sc2NoZW1hLnNnbWwgYi9kb2Mvc3JjL3NnbWwv cmVmL2NyZWF0ZV94bWxzY2hlbWEuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi41NzNiOWI3MjExCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfeG1sc2NoZW1hLnNnbWwKQEAgLTAsMCArMSwxODIgQEAKKzwhLS0KK2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3htbHNjaGVtYS5zZ21sCitQb3N0Z3JlU1FMIGRvY3Vt ZW50YXRpb24KKy0tPgorCis8cmVmZW50cnkgaWQ9InNxbC1jcmVhdGV4bWxzY2hlbWEiPgor IDxpbmRleHRlcm0gem9uZT0ic3FsLWNyZWF0ZXhtbHNjaGVtYSI+CisgIDxwcmltYXJ5PkNS RUFURSBYTUxTQ0hFTUE8L3ByaW1hcnk+CisgPC9pbmRleHRlcm0+CisKKyA8cmVmbWV0YT4K KyAgPHJlZmVudHJ5dGl0bGU+Q1JFQVRFIFhNTFNDSEVNQTwvcmVmZW50cnl0aXRsZT4KKyAg PG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFn ZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRp dj4KKyAgPHJlZm5hbWU+Q1JFQVRFIFhNTFNDSEVNQTwvcmVmbmFtZT4KKyAgPHJlZnB1cnBv c2U+ZGVmaW5lIGEgbmV3IFhNTCBzY2hlbWE8L3JlZnB1cnBvc2U+CisgPC9yZWZuYW1lZGl2 PgorCisgPHJlZnN5bm9wc2lzZGl2PgorPHN5bm9wc2lzPgorQ1JFQVRFIFhNTFNDSEVNQSBb IElGIE5PVCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwv cmVwbGFjZWFibGU+IEFTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zY2hlbWFf ZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+Cis8L3N5bm9wc2lzPgorIDwvcmVmc3lub3BzaXNk aXY+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5EZXNjcmlwdGlvbjwvdGl0bGU+CisKKyAg PHBhcmE+CisgICA8Y29tbWFuZD5DUkVBVEUgWE1MU0NIRU1BPC9jb21tYW5kPiBkZWZpbmVz IGEgbmV3IFhNTCBzY2hlbWEgaW4gdGhlCisgICBjdXJyZW50IGRhdGFiYXNlLiBUaGUgc2No ZW1hIGRlZmluaXRpb24gaXMgYW4gWE1MIFNjaGVtYSBEZWZpbml0aW9uIChYU0QpCisgICBk b2N1bWVudCB0aGF0IGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIFhNTCBkb2N1bWVudHMgdXNp bmcgdGhlCisgICA8ZnVuY3Rpb24+WE1MVkFMSURBVEU8L2Z1bmN0aW9uPiBmdW5jdGlvbi4K KyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgSWYgYSBzY2hlbWEgbmFtZSBpcyBnaXZlbiB0 aGVuIHRoZSBYTUwgc2NoZW1hIGlzIGNyZWF0ZWQgaW4gdGhlCisgICBzcGVjaWZpZWQgc2No ZW1hLiBPdGhlcndpc2UgaXQgaXMgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBzY2hlbWEuCisg ICBUaGUgWE1MIHNjaGVtYSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgc2NoZW1h LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBBZnRlciBhbiBYTUwgc2NoZW1hIGlzIGNy ZWF0ZWQsIHlvdSB1c2UgdGhlCisgICA8ZnVuY3Rpb24+WE1MVkFMSURBVEU8L2Z1bmN0aW9u PiBmdW5jdGlvbiB0byB2YWxpZGF0ZSBYTUwgZG9jdW1lbnRzCisgICBhZ2FpbnN0IGl0Lgor ICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFt ZXRlcnM8L3RpdGxlPgorCisgIDx2YXJpYWJsZWxpc3Q+CisgICA8dmFybGlzdGVudHJ5Pgor ICAgIDx0ZXJtPjxsaXRlcmFsPklGIE5PVCBFWElTVFM8L2xpdGVyYWw+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBEbyBub3QgdGhyb3cgYW4gZXJyb3Ig aWYgYW4gWE1MIHNjaGVtYSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuCisg ICAgICBBIG5vdGljZSBpcyBpc3N1ZWQgaW4gdGhpcyBjYXNlLiBOb3RlIHRoYXQgdGhlcmUg aXMgbm8gZ3VhcmFudGVlIHRoYXQKKyAgICAgIHRoZSBleGlzdGluZyBYTUwgc2NoZW1hIGlz IHNpbWlsYXIgdG8gdGhlIG9uZSB0aGF0IHdvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIFRoZSBuYW1lIChvcHRpb25hbGx5IHNjaGVtYS1xdWFsaWZpZWQpIG9mIHRo ZSBYTUwgc2NoZW1hIHRvIGJlIGNyZWF0ZWQuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRl cm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNjaGVtYV9kZWZpbml0aW9uPC9y ZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAg IEFuIFhNTCBTY2hlbWEgRGVmaW5pdGlvbiAoWFNEKSBkb2N1bWVudCBwcm92aWRlZCBhcyBh IHN0cmluZyBsaXRlcmFsLgorICAgICAgVGhlIHNjaGVtYSBkZWZpbml0aW9uIG11c3QgYmUg YSB2YWxpZCBYU0QgZG9jdW1lbnQgY29uZm9ybWluZyB0byB0aGUKKyAgICAgIFczQyBYTUwg U2NoZW1hIHN0YW5kYXJkLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwv dmFybGlzdGVudHJ5PgorICA8L3ZhcmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJl ZnNlY3QxPgorICA8dGl0bGU+Tm90ZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAgVG8gY3Jl YXRlIGFuIFhNTCBzY2hlbWEsIHlvdSBtdXN0IGhhdmUgPGxpdGVyYWw+Q1JFQVRFPC9saXRl cmFsPiBwcml2aWxlZ2UKKyAgIG9uIHRoZSBjdXJyZW50IHNjaGVtYS4KKyAgPC9wYXJhPgor CisgIDxwYXJhPgorICAgVXNlIDxsaW5rIGxpbmtlbmQ9InNxbC1kcm9weG1sc2NoZW1hIj48 Y29tbWFuZD5EUk9QIFhNTFNDSEVNQTwvY29tbWFuZD48L2xpbms+IHRvIHJlbW92ZSBhbiBY TUwgc2NoZW1hLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTZWUgYWxzbyA8bGluayBs aW5rZW5kPSJzcWwtYWx0ZXJ4bWxzY2hlbWEiPjxjb21tYW5kPkFMVEVSIFhNTFNDSEVNQTwv Y29tbWFuZD48L2xpbms+CisgICB0byByZW5hbWUgYW4gWE1MIHNjaGVtYSBvciBjaGFuZ2Ug aXRzIG93bmVyLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAg PHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFyYT4KKyAgIENyZWF0ZSBhbiBYTUwg c2NoZW1hIGZvciB2YWxpZGF0aW5nIHBlcnNvbiBkb2N1bWVudHM6Cis8cHJvZ3JhbWxpc3Rp bmc+CitDUkVBVEUgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMgJyZsdDs/eG1sIHZlcnNp b249IjEuMCI/Jmd0OworJmx0O3hzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5v cmcvMjAwMS9YTUxTY2hlbWEiJmd0OworICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJwZXJzb24i Jmd0OworICAgICZsdDt4czpjb21wbGV4VHlwZSZndDsKKyAgICAgICZsdDt4czpzZXF1ZW5j ZSZndDsKKyAgICAgICAgJmx0O3hzOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHM6c3Ry aW5nIi8mZ3Q7CisgICAgICAgICZsdDt4czplbGVtZW50IG5hbWU9ImFnZSIgdHlwZT0ieHM6 aW50ZWdlciIvJmd0OworICAgICAgJmx0Oy94czpzZXF1ZW5jZSZndDsKKyAgICAmbHQ7L3hz OmNvbXBsZXhUeXBlJmd0OworICAmbHQ7L3hzOmVsZW1lbnQmZ3Q7CismbHQ7L3hzOnNjaGVt YSZndDsnOworPC9wcm9ncmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAg Q3JlYXRlIGFuIFhNTCBzY2hlbWEgd2l0aCBhIHNjaGVtYS1xdWFsaWZpZWQgbmFtZToKKzxw cm9ncmFtbGlzdGluZz4KK0NSRUFURSBTQ0hFTUEgbXlzY2hlbWE7CitDUkVBVEUgWE1MU0NI RU1BIG15c2NoZW1hLnByb2R1Y3Rfc2NoZW1hIEFTICcmbHQ7P3htbCB2ZXJzaW9uPSIxLjAi PyZndDsKKyZsdDt4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEv WE1MU2NoZW1hIiZndDsKKyAgJmx0O3hzOmVsZW1lbnQgbmFtZT0icHJvZHVjdCImZ3Q7Cisg ICAgJmx0O3hzOmNvbXBsZXhUeXBlJmd0OworICAgICAgJmx0O3hzOnNlcXVlbmNlJmd0Owor ICAgICAgICAmbHQ7eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLyZn dDsKKyAgICAgICAgJmx0O3hzOmVsZW1lbnQgbmFtZT0icHJpY2UiIHR5cGU9InhzOmRlY2lt YWwiLyZndDsKKyAgICAgICZsdDsveHM6c2VxdWVuY2UmZ3Q7CisgICAgICAmbHQ7eHM6YXR0 cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLyZndDsK KyAgICAmbHQ7L3hzOmNvbXBsZXhUeXBlJmd0OworICAmbHQ7L3hzOmVsZW1lbnQmZ3Q7Cism bHQ7L3hzOnNjaGVtYSZndDsnOworPC9wcm9ncmFtbGlzdGluZz4KKyAgPC9wYXJhPgorCisg IDxwYXJhPgorICAgQ3JlYXRlIGFuIFhNTCBzY2hlbWEgb25seSBpZiBpdCBkb2Vzbid0IGFs cmVhZHkgZXhpc3Q6Cis8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgWE1MU0NIRU1BIElGIE5P VCBFWElTVFMgcGVyc29uX3NjaGVtYSBBUyAnLi4uJzsKKzwvcHJvZ3JhbWxpc3Rpbmc+Cisg IDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFZhbGlkYXRlIGFuIFhNTCBkb2N1bWVudCBhZ2Fp bnN0IHRoZSBzY2hlbWE6Cis8cHJvZ3JhbWxpc3Rpbmc+CitTRUxFQ1QgWE1MVkFMSURBVEUo CisgIERPQ1VNRU5UICcmbHQ7cGVyc29uJmd0OyZsdDtuYW1lJmd0O0pvaG4mbHQ7L25hbWUm Z3Q7Jmx0O2FnZSZndDszMCZsdDsvYWdlJmd0OyZsdDsvcGVyc29uJmd0OycKKyAgQUNDT1JE SU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hCispOworPC9wcm9ncmFtbGlzdGluZz4K KyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21w YXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkNSRUFURSBYTUxT Q0hFTUE8L2NvbW1hbmQ+IGlzIGEKKyAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9k dWN0bmFtZT4gZXh0ZW5zaW9uLiBUaGVyZSBpcyBubworICAgPGNvbW1hbmQ+Q1JFQVRFIFhN TFNDSEVNQTwvY29tbWFuZD4gc3RhdGVtZW50IGluIHRoZSBTUUwgc3RhbmRhcmQuCisgIDwv cGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2VlIEFsc288 L3RpdGxlPgorCisgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVyPjx4 cmVmIGxpbmtlbmQ9InNxbC1hbHRlcnhtbHNjaGVtYSIvPjwvbWVtYmVyPgorICAgPG1lbWJl cj48eHJlZiBsaW5rZW5kPSJzcWwtZHJvcHhtbHNjaGVtYSIvPjwvbWVtYmVyPgorICA8L3Np bXBsZWxpc3Q+CisgPC9yZWZzZWN0MT4KKworPC9yZWZlbnRyeT4KZGlmZiAtLWdpdCBhL2Rv Yy9zcmMvc2dtbC9yZWYvZHJvcF94bWxzY2hlbWEuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv ZHJvcF94bWxzY2hlbWEuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi40MjA0ZjliYzQxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9k cm9wX3htbHNjaGVtYS5zZ21sCkBAIC0wLDAgKzEsMTIwIEBACis8IS0tCitkb2Mvc3JjL3Nn bWwvcmVmL2Ryb3BfeG1sc2NoZW1hLnNnbWwKK1Bvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgor LS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWRyb3B4bWxzY2hlbWEiPgorIDxpbmRleHRlcm0g em9uZT0ic3FsLWRyb3B4bWxzY2hlbWEiPgorICA8cHJpbWFyeT5EUk9QIFhNTFNDSEVNQTwv cHJpbWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRs ZT5EUk9QIFhNTFNDSEVNQTwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52 b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZt aXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+RFJP UCBYTUxTQ0hFTUE8L3JlZm5hbWU+CisgIDxyZWZwdXJwb3NlPnJlbW92ZSBhbiBYTUwgc2No ZW1hPC9yZWZwdXJwb3NlPgorIDwvcmVmbmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4K KzxzeW5vcHNpcz4KK0RST1AgWE1MU0NIRU1BIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi5dIFsgQ0FTQ0FE RSB8IFJFU1RSSUNUIF0KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxy ZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAg IDxjb21tYW5kPkRST1AgWE1MU0NIRU1BPC9jb21tYW5kPiByZW1vdmVzIFhNTCBzY2hlbWFz IGZyb20gdGhlIGRhdGFiYXNlLgorICAgQW4gWE1MIHNjaGVtYSBjYW4gb25seSBiZSBkcm9w cGVkIGJ5IGl0cyBvd25lciBvciBhIHN1cGVydXNlci4KKyAgPC9wYXJhPgorIDwvcmVmc2Vj dDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KKworICA8 dmFyaWFibGVsaXN0PgorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48bGl0ZXJhbD5J RiBFWElTVFM8L2xpdGVyYWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+ CisgICAgICBEbyBub3QgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIFhNTCBzY2hlbWEgZG9lcyBu b3QgZXhpc3QuIEEgbm90aWNlIGlzIGlzc3VlZAorICAgICAgaW4gdGhpcyBjYXNlLgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIFRoZSBuYW1lIChvcHRpb25hbGx5IHNjaGVtYS1xdWFsaWZpZWQpIG9mIGFu IFhNTCBzY2hlbWEuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJs aXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGxpdGVyYWw+Q0FT Q0FERTwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAg ICAgIEF1dG9tYXRpY2FsbHkgZHJvcCBvYmplY3RzIHRoYXQgZGVwZW5kIG9uIHRoZSBYTUwg c2NoZW1hLAorICAgICAgYW5kIGluIHR1cm4gYWxsIG9iamVjdHMgdGhhdCBkZXBlbmQgb24g dGhvc2Ugb2JqZWN0cworICAgICAgKHNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtZGVwZW5kIi8+ KS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4K KworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48bGl0ZXJhbD5SRVNUUklDVDwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFJlZnVz ZSB0byBkcm9wIHRoZSBYTUwgc2NoZW1hIGlmIGFueSBvYmplY3RzIGRlcGVuZCBvbiBpdC4g IFRoaXMKKyAgICAgIGlzIHRoZSBkZWZhdWx0LgorICAgICA8L3BhcmE+CisgICAgPC9saXN0 aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorICA8L3ZhcmlhYmxlbGlzdD4KKyA8L3JlZnNl Y3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+RXhhbXBsZXM8L3RpdGxlPgorCisgIDxw YXJhPgorICAgVG8gcmVtb3ZlIHRoZSBYTUwgc2NoZW1hIDxsaXRlcmFsPnBlcnNvbl9zY2hl bWE8L2xpdGVyYWw+OgorPHByb2dyYW1saXN0aW5nPgorRFJPUCBYTUxTQ0hFTUEgcGVyc29u X3NjaGVtYTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAg IFRvIHJlbW92ZSBhbiBYTUwgc2NoZW1hIGFuZCBhbGwgZGVwZW5kZW50IG9iamVjdHM6Cis8 cHJvZ3JhbWxpc3Rpbmc+CitEUk9QIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hIENBU0NBREU7 Cis8L3Byb2dyYW1saXN0aW5nPgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZz ZWN0MT4KKyAgPHRpdGxlPkNvbXBhdGliaWxpdHk8L3RpdGxlPgorCisgIDxwYXJhPgorICAg PGNvbW1hbmQ+RFJPUCBYTUxTQ0hFTUE8L2NvbW1hbmQ+IGlzIGEKKyAgIDxwcm9kdWN0bmFt ZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLiBUaGVyZSBpcyBubworICAg PGNvbW1hbmQ+RFJPUCBYTUxTQ0hFTUE8L2NvbW1hbmQ+IHN0YXRlbWVudCBpbiB0aGUgU1FM IHN0YW5kYXJkLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAg PHRpdGxlPlNlZSBBbHNvPC90aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUi PgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRleG1sc2NoZW1hIi8+PC9t ZW1iZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1hbHRlcnhtbHNjaGVtYSIv PjwvbWVtYmVyPgorICA8L3NpbXBsZWxpc3Q+CisgPC9yZWZzZWN0MT4KKworPC9yZWZlbnRy eT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWZlcmVuY2Uuc2dtbAppbmRleCAyY2YwMmMzN2IxLi45ODJiYmVhM2EyIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3JlZmVyZW5jZS5zZ21sCkBAIC03Niw2ICs3Niw3IEBACiAgICAmYWx0ZXJVc2VyOwogICAg JmFsdGVyVXNlck1hcHBpbmc7CiAgICAmYWx0ZXJWaWV3OworICAgJmFsdGVyWG1sU2NoZW1h OwogICAgJmFuYWx5emU7CiAgICAmYmVnaW47CiAgICAmY2FsbDsKQEAgLTEyOCw2ICsxMjks NyBAQAogICAgJmNyZWF0ZVVzZXI7CiAgICAmY3JlYXRlVXNlck1hcHBpbmc7CiAgICAmY3Jl YXRlVmlldzsKKyAgICZjcmVhdGVYbWxTY2hlbWE7CiAgICAmZGVhbGxvY2F0ZTsKICAgICZk ZWNsYXJlOwogICAgJmRlbGV0ZTsKQEAgLTE3Niw2ICsxNzgsNyBAQAogICAgJmRyb3BVc2Vy OwogICAgJmRyb3BVc2VyTWFwcGluZzsKICAgICZkcm9wVmlldzsKKyAgICZkcm9wWG1sU2No ZW1hOwogICAgJmVuZDsKICAgICZleGVjdXRlOwogICAgJmV4cGxhaW47CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9N YWtlZmlsZQppbmRleCAyNmZhMGM5YjE4Li5lZDk0MTRiYTYzIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFr ZWZpbGUKQEAgLTQ2LDYgKzQ2LDcgQEAgT0JKUyA9IFwKIAlwZ19zdWJzY3JpcHRpb24ubyBc CiAJcGdfdGFibGVzcGFjZS5vIFwKIAlwZ190eXBlLm8gXAorCXBnX3htbHNjaGVtYS5vIFwK IAlzdG9yYWdlLm8gXAogCXRvYXN0aW5nLm8KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9hY2xjaGsuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMKaW5kZXgg YTQzMWZjMDkyNi4uYzUxOThlYTZlYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9hY2xjaGsuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jCkBAIC02NCw2 ICs2NCw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ190YWJsZXNwYWNlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisj aW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWEuaCIKICNpbmNsdWRlICJjb21tYW5kcy9k ZWZyZW0uaCIKICNpbmNsdWRlICJjb21tYW5kcy9ldmVudF90cmlnZ2VyLmgiCiAjaW5jbHVk ZSAiY29tbWFuZHMvZXh0ZW5zaW9uLmgiCkBAIC0yOTAsNiArMjkxLDkgQEAgcmVzdHJpY3Rf YW5kX2NoZWNrX2dyYW50KGJvb2wgaXNfZ3JhbnQsIEFjbE1vZGUgYXZhaWxfZ29wdGlvbnMs IGJvb2wgYWxsX3ByaXZzLAogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgogCQkJd2hv bGVfbWFzayA9IEFDTF9BTExfUklHSFRTX1BBUkFNRVRFUl9BQ0w7CiAJCQlicmVhazsKKwkJ Y2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgorCQkJd2hvbGVfbWFzayA9IEFDTF9BTExfUklHSFRT X1hNTFNDSEVNQTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVu cmVjb2duaXplZCBvYmplY3QgdHlwZTogJWQiLCBvYmp0eXBlKTsKIAkJCS8qIG5vdCByZWFj aGVkLCBidXQga2VlcCBjb21waWxlciBxdWlldCAqLwpAQCAtNTM0LDYgKzUzOCwxMCBAQCBF eGVjdXRlR3JhbnRTdG10KEdyYW50U3RtdCAqc3RtdCkKIAkJCWFsbF9wcml2aWxlZ2VzID0g QUNMX0FMTF9SSUdIVFNfUEFSQU1FVEVSX0FDTDsKIAkJCWVycm9ybXNnID0gZ2V0dGV4dF9u b29wKCJpbnZhbGlkIHByaXZpbGVnZSB0eXBlICVzIGZvciBwYXJhbWV0ZXIiKTsKIAkJCWJy ZWFrOworCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQlhbGxfcHJpdmlsZWdlcyA9IEFD TF9BTExfUklHSFRTX1hNTFNDSEVNQTsKKwkJCWVycm9ybXNnID0gZ2V0dGV4dF9ub29wKCJp bnZhbGlkIHByaXZpbGVnZSB0eXBlICVzIGZvciBYTUwgc2NoZW1hIik7CisJCQlicmVhazsK IAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgR3JhbnRTdG10Lm9i anR5cGU6ICVkIiwKIAkJCQkgKGludCkgc3RtdC0+b2JqdHlwZSk7CkBAIC02MzksNiArNjQ3 LDkgQEAgRXhlY0dyYW50U3RtdF9vaWRzKEludGVybmFsR3JhbnQgKmlzdG10KQogCQljYXNl IE9CSkVDVF9QQVJBTUVURVJfQUNMOgogCQkJRXhlY0dyYW50X1BhcmFtZXRlcihpc3RtdCk7 CiAJCQlicmVhazsKKwkJY2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgorCQkJRXhlY0dyYW50X2Nv bW1vbihpc3RtdCwgWG1sU2NoZW1hUmVsYXRpb25JZCwgQUNMX0FMTF9SSUdIVFNfWE1MU0NI RU1BLCBOVUxMKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVu cmVjb2duaXplZCBHcmFudFN0bXQub2JqdHlwZTogJWQiLAogCQkJCSAoaW50KSBpc3RtdC0+ b2JqdHlwZSk7CkBAIC0yNjc3LDYgKzI2ODgsOSBAQCBhY2xjaGVja19lcnJvcihBY2xSZXN1 bHQgYWNsZXJyLCBPYmplY3RUeXBlIG9ianR5cGUsCiAJCQkJCWNhc2UgT0JKRUNUX0NPTlZF UlNJT046CiAJCQkJCQltc2cgPSBnZXR0ZXh0X25vb3AoInBlcm1pc3Npb24gZGVuaWVkIGZv ciBjb252ZXJzaW9uICVzIik7CiAJCQkJCQlicmVhazsKKwkJCQkJY2FzZSBPQkpFQ1RfWE1M U0NIRU1BOgorCQkJCQkJbXNnID0gZ2V0dGV4dF9ub29wKCJwZXJtaXNzaW9uIGRlbmllZCBm b3IgWE1MIHNjaGVtYSAlcyIpOworCQkJCQkJYnJlYWs7CiAJCQkJCWNhc2UgT0JKRUNUX0RB VEFCQVNFOgogCQkJCQkJbXNnID0gZ2V0dGV4dF9ub29wKCJwZXJtaXNzaW9uIGRlbmllZCBm b3IgZGF0YWJhc2UgJXMiKTsKIAkJCQkJCWJyZWFrOwpAQCAtMjgwOSw2ICsyODIzLDkgQEAg YWNsY2hlY2tfZXJyb3IoQWNsUmVzdWx0IGFjbGVyciwgT2JqZWN0VHlwZSBvYmp0eXBlLAog CQkJCQljYXNlIE9CSkVDVF9DT05WRVJTSU9OOgogCQkJCQkJbXNnID0gZ2V0dGV4dF9ub29w KCJtdXN0IGJlIG93bmVyIG9mIGNvbnZlcnNpb24gJXMiKTsKIAkJCQkJCWJyZWFrOworCQkJ CQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQkJCQltc2cgPSBnZXR0ZXh0X25vb3AoIm11 c3QgYmUgb3duZXIgb2YgWE1MIHNjaGVtYSAlcyIpOworCQkJCQkJYnJlYWs7CiAJCQkJCWNh c2UgT0JKRUNUX0RBVEFCQVNFOgogCQkJCQkJbXNnID0gZ2V0dGV4dF9ub29wKCJtdXN0IGJl IG93bmVyIG9mIGRhdGFiYXNlICVzIik7CiAJCQkJCQlicmVhazsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9k ZXBlbmRlbmN5LmMKaW5kZXggZjg5MjY3ZjAzNC4uMGI4ZDhlMzE1MiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BnX3RzX3RlbXBsYXRlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ191c2VyX21hcHBpbmcuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3Bn X3htbHNjaGVtYS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2NvbW1lbnQuaCIKICNpbmNsdWRl ICJjb21tYW5kcy9kZWZyZW0uaCIKICNpbmNsdWRlICJjb21tYW5kcy9ldmVudF90cmlnZ2Vy LmgiCkBAIC03OSw2ICs4MCw3IEBACiAjaW5jbHVkZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUg Im1pc2NhZG1pbi5oIgogI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgorI2luY2x1ZGUg Im5vZGVzL3ByaW1ub2Rlcy5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZXRyZWUuaCIKICNp bmNsdWRlICJyZXdyaXRlL3Jld3JpdGVSZW1vdmUuaCIKICNpbmNsdWRlICJzdG9yYWdlL2xt Z3IuaCIKQEAgLTE1MTQsNiArMTUxNiw3IEBAIGRvRGVsZXRpb24oY29uc3QgT2JqZWN0QWRk cmVzcyAqb2JqZWN0LCBpbnQgZmxhZ3MpCiAJCWNhc2UgRXZlbnRUcmlnZ2VyUmVsYXRpb25J ZDoKIAkJY2FzZSBUcmFuc2Zvcm1SZWxhdGlvbklkOgogCQljYXNlIEF1dGhNZW1SZWxhdGlv bklkOgorCQljYXNlIFhtbFNjaGVtYVJlbGF0aW9uSWQ6CiAJCQlEcm9wT2JqZWN0QnlJZChv YmplY3QpOwogCQkJYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv bWVzb24uYnVpbGQgYi9zcmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkCmluZGV4IDEx ZDIxYzVhZDYuLjliYTE1ZTcxYjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv bWVzb24uYnVpbGQKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWlsZApAQCAt MzMsNiArMzMsNyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMoCiAgICdwZ19zdWJzY3Jp cHRpb24uYycsCiAgICdwZ190YWJsZXNwYWNlLmMnLAogICAncGdfdHlwZS5jJywKKyAgJ3Bn X3htbHNjaGVtYS5jJywKICAgJ3N0b3JhZ2UuYycsCiAgICd0b2FzdGluZy5jJywKICkKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMgYi9zcmMvYmFja2Vu ZC9jYXRhbG9nL25hbWVzcGFjZS5jCmluZGV4IGMzYjc5YTJiYTQuLjg5YjEyNGNlZWUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9uYW1lc3BhY2UuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg ImNhdGFsb2cvcGdfY29sbGF0aW9uLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19jb252ZXJz aW9uLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19kYXRhYmFzZS5oIgorI2luY2x1ZGUgImNh dGFsb2cvcGdfeG1sc2NoZW1hLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2Uu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX29wZXJhdG9yLmgiCkBAIC00MTQzLDYgKzQxNDQsNjEgQEAgZ2V0X2NvbnZlcnNpb25f b2lkKExpc3QgKmNvbm5hbWUsIGJvb2wgbWlzc2luZ19vaykKIAlyZXR1cm4gY29ub2lkOwog fQogCisvKgorICogZ2V0X3htbHNjaGVtYV9vaWQgLSBmaW5kIGFuIFhNTCBzY2hlbWEgYnkg cG9zc2libHkgcXVhbGlmaWVkIG5hbWUKKyAqLworT2lkCitnZXRfeG1sc2NoZW1hX29pZChM aXN0ICpzY2hlbWFuYW1lLCBib29sIG1pc3Npbmdfb2spCit7CisJY2hhcgkgICAqbnNwbmFt ZTsKKwljaGFyCSAgICpzY2hlbWFfbmFtZTsKKwlPaWQJCQluYW1lc3BhY2VJZDsKKwlPaWQJ CQlzY2hlbWFfb2lkID0gSW52YWxpZE9pZDsKKwlMaXN0Q2VsbCAgICpsOworCisJLyogZGVj b25zdHJ1Y3QgdGhlIG5hbWUgbGlzdCAqLworCURlY29uc3RydWN0UXVhbGlmaWVkTmFtZShz Y2hlbWFuYW1lLCAmbnNwbmFtZSwgJnNjaGVtYV9uYW1lKTsKKworCWlmIChuc3BuYW1lKQor CXsKKwkJLyogdXNlIGV4YWN0IHNjaGVtYSBnaXZlbiAqLworCQluYW1lc3BhY2VJZCA9IExv b2t1cEV4cGxpY2l0TmFtZXNwYWNlKG5zcG5hbWUsIG1pc3Npbmdfb2spOworCQlpZiAobWlz c2luZ19vayAmJiAhT2lkSXNWYWxpZChuYW1lc3BhY2VJZCkpCisJCQlzY2hlbWFfb2lkID0g SW52YWxpZE9pZDsKKwkJZWxzZQorCQkJc2NoZW1hX29pZCA9IEdldFN5c0NhY2hlT2lkMihY TUxTQ0hFTUFOQU1FTlNQLCBBbnVtX3BnX3htbHNjaGVtYV9vaWQsCisJCQkJCQkJCQkJIFBv aW50ZXJHZXREYXR1bShzY2hlbWFfbmFtZSksCisJCQkJCQkJCQkJIE9iamVjdElkR2V0RGF0 dW0obmFtZXNwYWNlSWQpKTsKKwl9CisJZWxzZQorCXsKKwkJLyogc2VhcmNoIGZvciBpdCBp biBzZWFyY2ggcGF0aCAqLworCQlyZWNvbXB1dGVOYW1lc3BhY2VQYXRoKCk7CisKKwkJZm9y ZWFjaChsLCBhY3RpdmVTZWFyY2hQYXRoKQorCQl7CisJCQluYW1lc3BhY2VJZCA9IGxmaXJz dF9vaWQobCk7CisKKwkJCWlmIChuYW1lc3BhY2VJZCA9PSBteVRlbXBOYW1lc3BhY2UpCisJ CQkJY29udGludWU7CQkvKiBkbyBub3QgbG9vayBpbiB0ZW1wIG5hbWVzcGFjZSAqLworCisJ CQlzY2hlbWFfb2lkID0gR2V0U3lzQ2FjaGVPaWQyKFhNTFNDSEVNQU5BTUVOU1AsIEFudW1f cGdfeG1sc2NoZW1hX29pZCwKKwkJCQkJCQkJCQkgUG9pbnRlckdldERhdHVtKHNjaGVtYV9u YW1lKSwKKwkJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShuYW1lc3BhY2VJZCkpOworCQkJ aWYgKE9pZElzVmFsaWQoc2NoZW1hX29pZCkpCisJCQkJcmV0dXJuIHNjaGVtYV9vaWQ7CisJ CX0KKwl9CisKKwkvKiBOb3QgZm91bmQgaW4gcGF0aCAqLworCWlmICghT2lkSXNWYWxpZChz Y2hlbWFfb2lkKSAmJiAhbWlzc2luZ19vaykKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJy Y29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCSBlcnJtc2coIlhNTCBzY2hl bWEgXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCU5hbWVMaXN0VG9TdHJpbmcoc2No ZW1hbmFtZSkpKSk7CisJcmV0dXJuIHNjaGVtYV9vaWQ7Cit9CisKIC8qCiAgKiBGaW5kRGVm YXVsdENvbnZlcnNpb25Qcm9jIC0gZmluZCBkZWZhdWx0IGVuY29kaW5nIGNvbnZlcnNpb24g cHJvYwogICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJl c3MuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCmluZGV4IDAyYWY2 NGI4MmMuLjYzMDZiOWM4ZjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2Jq ZWN0YWRkcmVzcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5j CkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190c190ZW1wbGF0ZS5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf dXNlcl9tYXBwaW5nLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxzY2hlbWEuaCIKICNp bmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKICNpbmNsdWRlICJjb21tYW5kcy9ldmVudF90 cmlnZ2VyLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZXh0ZW5zaW9uLmgiCkBAIC0xODcsNiAr MTg4LDIwIEBAIHN0YXRpYyBjb25zdCBPYmplY3RQcm9wZXJ0eVR5cGUgT2JqZWN0UHJvcGVy dHlbXSA9CiAJCU9CSkVDVF9DT0xMQVRJT04sCiAJCXRydWUKIAl9LAorCXsKKwkJInhtbHNj aGVtYSIsCisJCVhtbFNjaGVtYVJlbGF0aW9uSWQsCisJCVhtbFNjaGVtYU9pZEluZGV4SWQs CisJCVhNTFNDSEVNQU9JRCwKKwkJWE1MU0NIRU1BTkFNRU5TUCwKKwkJQW51bV9wZ194bWxz Y2hlbWFfb2lkLAorCQlBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFuYW1lLAorCQlBbnVtX3Bn X3htbHNjaGVtYV9zY2hlbWFuYW1lc3BhY2UsCisJCUFudW1fcGdfeG1sc2NoZW1hX3NjaGVt YW93bmVyLAorCQlBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFhY2wsCisJCU9CSkVDVF9YTUxT Q0hFTUEsCisJCXRydWUKKwl9LAogCXsKIAkJImNvbnN0cmFpbnQiLAogCQlDb25zdHJhaW50 UmVsYXRpb25JZCwKQEAgLTcyMCw2ICs3MzUsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9i amVjdF90eXBlX21hcAogCXsKIAkJImNvbGxhdGlvbiIsIE9CSkVDVF9DT0xMQVRJT04KIAl9 LAorCXsKKwkJInhtbHNjaGVtYSIsIE9CSkVDVF9YTUxTQ0hFTUEKKwl9LAogCXsKIAkJInRh YmxlIGNvbnN0cmFpbnQiLCBPQkpFQ1RfVEFCQ09OU1RSQUlOVAogCX0sCkBAIC0xMDI5LDYg KzEwNDcsMTEgQEAgZ2V0X29iamVjdF9hZGRyZXNzKE9iamVjdFR5cGUgb2JqdHlwZSwgTm9k ZSAqb2JqZWN0LAogCQkJCWFkZHJlc3Mub2JqZWN0SWQgPSBnZXRfY29sbGF0aW9uX29pZChj YXN0Tm9kZShMaXN0LCBvYmplY3QpLCBtaXNzaW5nX29rKTsKIAkJCQlhZGRyZXNzLm9iamVj dFN1YklkID0gMDsKIAkJCQlicmVhazsKKwkJCWNhc2UgT0JKRUNUX1hNTFNDSEVNQToKKwkJ CQlhZGRyZXNzLmNsYXNzSWQgPSBYbWxTY2hlbWFSZWxhdGlvbklkOworCQkJCWFkZHJlc3Mu b2JqZWN0SWQgPSBnZXRfeG1sc2NoZW1hX29pZChjYXN0Tm9kZShMaXN0LCBvYmplY3QpLCBt aXNzaW5nX29rKTsKKwkJCQlhZGRyZXNzLm9iamVjdFN1YklkID0gMDsKKwkJCQlicmVhazsK IAkJCWNhc2UgT0JKRUNUX0NPTlZFUlNJT046CiAJCQkJYWRkcmVzcy5jbGFzc0lkID0gQ29u dmVyc2lvblJlbGF0aW9uSWQ7CiAJCQkJYWRkcmVzcy5vYmplY3RJZCA9IGdldF9jb252ZXJz aW9uX29pZChjYXN0Tm9kZShMaXN0LCBvYmplY3QpLCBtaXNzaW5nX29rKTsKQEAgLTIyODIs NiArMjMwNSw3IEBAIHBnX2dldF9vYmplY3RfYWRkcmVzcyhQR19GVU5DVElPTl9BUkdTKQog CQljYXNlIE9CSkVDVF9DT0xVTU46CiAJCWNhc2UgT0JKRUNUX0FUVFJJQlVURToKIAkJY2Fz ZSBPQkpFQ1RfQ09MTEFUSU9OOgorCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CiAJCWNhc2Ug T0JKRUNUX0NPTlZFUlNJT046CiAJCWNhc2UgT0JKRUNUX1NUQVRJU1RJQ19FWFQ6CiAJCWNh c2UgT0JKRUNUX1RTUEFSU0VSOgpAQCAtMjQ2MCw2ICsyNDg0LDcgQEAgY2hlY2tfb2JqZWN0 X293bmVyc2hpcChPaWQgcm9sZWlkLCBPYmplY3RUeXBlIG9ianR5cGUsIE9iamVjdEFkZHJl c3MgYWRkcmVzcywKIAkJCQkJCQkgICBzdHJWYWwob2JqZWN0KSk7CiAJCQlicmVhazsKIAkJ Y2FzZSBPQkpFQ1RfQ09MTEFUSU9OOgorCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CiAJCWNh c2UgT0JKRUNUX0NPTlZFUlNJT046CiAJCWNhc2UgT0JKRUNUX09QQ0xBU1M6CiAJCWNhc2Ug T0JKRUNUX09QRkFNSUxZOgpAQCAtNDA2Nyw2ICs0MDkyLDM0IEBAIGdldE9iamVjdERlc2Ny aXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQog CQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgWG1sU2NoZW1hUmVsYXRpb25JZDoKKwkJCXsK KwkJCQlIZWFwVHVwbGUJc2NoZW1hVHVwOworCQkJCUZvcm1fcGdfeG1sc2NoZW1hIHNjaGVt YTsKKwkJCQljaGFyCSAgICpuc3BuYW1lOworCisJCQkJc2NoZW1hVHVwID0gU2VhcmNoU3lz Q2FjaGUxKFhNTFNDSEVNQU9JRCwKKwkJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShvYmpl Y3QtPm9iamVjdElkKSk7CisJCQkJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHNjaGVtYVR1cCkp CisJCQkJeworCQkJCQlpZiAoIW1pc3Npbmdfb2spCisJCQkJCQllbG9nKEVSUk9SLCAiY2Fj aGUgbG9va3VwIGZhaWxlZCBmb3IgWE1MIHNjaGVtYSAldSIsCisJCQkJCQkJIG9iamVjdC0+ b2JqZWN0SWQpOworCQkJCQlicmVhazsKKwkJCQl9CisKKwkJCQlzY2hlbWEgPSAoRm9ybV9w Z194bWxzY2hlbWEpIEdFVFNUUlVDVChzY2hlbWFUdXApOworCisJCQkJLyogUXVhbGlmeSB0 aGUgbmFtZSBpZiBub3QgdmlzaWJsZSBpbiBzZWFyY2ggcGF0aCAqLworCQkJCW5zcG5hbWUg PSBnZXRfbmFtZXNwYWNlX25hbWUoc2NoZW1hLT5zY2hlbWFuYW1lc3BhY2UpOworCisJCQkJ YXBwZW5kU3RyaW5nSW5mbygmYnVmZmVyLCBfKCJYTUwgc2NoZW1hICVzIiksCisJCQkJCQkJ CSBxdW90ZV9xdWFsaWZpZWRfaWRlbnRpZmllcihuc3BuYW1lLAorCQkJCQkJCQkJCQkJCQkJ TmFtZVN0cihzY2hlbWEtPnNjaGVtYW5hbWUpKSk7CisJCQkJUmVsZWFzZVN5c0NhY2hlKHNj aGVtYVR1cCk7CisJCQkJYnJlYWs7CisJCQl9CisKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJS T1IsICJ1bnN1cHBvcnRlZCBvYmplY3QgY2xhc3M6ICV1Iiwgb2JqZWN0LT5jbGFzc0lkKTsK IAl9CkBAIC00NjY5LDYgKzQ3MjIsMTAgQEAgZ2V0T2JqZWN0VHlwZURlc2NyaXB0aW9uKGNv bnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJYXBwZW5k U3RyaW5nSW5mb1N0cmluZygmYnVmZmVyLCAidHJhbnNmb3JtIik7CiAJCQlicmVhazsKIAor CQljYXNlIFhtbFNjaGVtYVJlbGF0aW9uSWQ6CisJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5n KCZidWZmZXIsICJYTUwgc2NoZW1hIik7CisJCQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJ ZWxvZyhFUlJPUiwgInVuc3VwcG9ydGVkIG9iamVjdCBjbGFzczogJXUiLCBvYmplY3QtPmNs YXNzSWQpOwogCX0KQEAgLTYwMTksNiArNjA3NiwzMyBAQCBnZXRPYmplY3RJZGVudGl0eVBh cnRzKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwKIAkJCX0KIAkJCWJyZWFrOwogCisJ CWNhc2UgWG1sU2NoZW1hUmVsYXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJc2NoZW1h VHVwOworCQkJCUZvcm1fcGdfeG1sc2NoZW1hIHNjaGVtYTsKKwkJCQljaGFyCSAgICpuc3Bu YW1lOworCisJCQkJc2NoZW1hVHVwID0gU2VhcmNoU3lzQ2FjaGUxKFhNTFNDSEVNQU9JRCwK KwkJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShvYmplY3QtPm9iamVjdElkKSk7CisJCQkJ aWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHNjaGVtYVR1cCkpCisJCQkJeworCQkJCQlpZiAoIW1p c3Npbmdfb2spCisJCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3Ig WE1MIHNjaGVtYSAldSIsCisJCQkJCQkJIG9iamVjdC0+b2JqZWN0SWQpOworCQkJCQlicmVh azsKKwkJCQl9CisJCQkJc2NoZW1hID0gKEZvcm1fcGdfeG1sc2NoZW1hKSBHRVRTVFJVQ1Qo c2NoZW1hVHVwKTsKKwkJCQluc3BuYW1lID0gZ2V0X25hbWVzcGFjZV9uYW1lX29yX3RlbXAo c2NoZW1hLT5zY2hlbWFuYW1lc3BhY2UpOworCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmco JmJ1ZmZlciwKKwkJCQkJCQkJCSAgIHF1b3RlX3F1YWxpZmllZF9pZGVudGlmaWVyKG5zcG5h bWUsCisJCQkJCQkJCQkJCQkJCQkJICBOYW1lU3RyKHNjaGVtYS0+c2NoZW1hbmFtZSkpKTsK KwkJCQlpZiAob2JqbmFtZSkKKwkJCQkJKm9iam5hbWUgPSBsaXN0X21ha2UyKG5zcG5hbWUs CisJCQkJCQkJCQkJICBwc3RyZHVwKE5hbWVTdHIoc2NoZW1hLT5zY2hlbWFuYW1lKSkpOwor CQkJCVJlbGVhc2VTeXNDYWNoZShzY2hlbWFUdXApOworCQkJCWJyZWFrOworCQkJfQorCiAJ CWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5zdXBwb3J0ZWQgb2JqZWN0IGNsYXNzOiAl dSIsIG9iamVjdC0+Y2xhc3NJZCk7CiAJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9wZ194bWxzY2hlbWEuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfeG1sc2NoZW1h LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMTE2YmJmYTcxYwot LS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfeG1sc2NoZW1hLmMK QEAgLTAsMCArMSwxOTQgQEAKKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAi YWNjZXNzL2h0dXBfZGV0YWlscy5oIgorI2luY2x1ZGUgImFjY2Vzcy90YWJsZS5oIgorI2lu Y2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgorI2luY2x1ZGUgImNhdGFsb2cvZGVwZW5kZW5j eS5oIgorI2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIKKyNpbmNsdWRlICJjYXRhbG9n L29iamVjdGFjY2Vzcy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfeG1sc2NoZW1hLmgiCisj aW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJ1dGlscy9hY2wu aCIKKyNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1ZGUgInV0aWxzL3JlbC5o IgorI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisjaW5jbHVkZSAidXRpbHMveG1sLmgi CisKKyNpZmRlZiBVU0VfTElCWE1MCisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4K KyNlbmRpZgorCisvKgorICogWG1sU2NoZW1hQ3JlYXRlCisgKgorICogQWRkIGEgbmV3IHR1 cGxlIHRvIHBnX3htbHNjaGVtYS4KKyAqCisgKiBpZl9ub3RfZXhpc3RzOiBpZiB0cnVlLCBk b24ndCBmYWlsIG9uIGR1cGxpY2F0ZSBuYW1lLCBqdXN0IHByaW50IGEgbm90aWNlCisgKiBh bmQgcmV0dXJuIEludmFsaWRPaWQuCisgKiBxdWlldDogaWYgdHJ1ZSwgZG9uJ3QgZmFpbCBv biBkdXBsaWNhdGUgbmFtZSwganVzdCBzaWxlbnRseSByZXR1cm4KKyAqIEludmFsaWRPaWQg KHdoaWNoIG92ZXJpZGVzIGlmX25vdF9leGlzdHMpLgorICovCitPaWQKK1htbFNjaGVtYUNy ZWF0ZShjb25zdCBjaGFyICpzY2hlbWFuYW1lLAorCQkJCU9pZCBzY2hlbWFuYW1lc3BhY2Us CisJCQkJT2lkIHNjaGVtYW93bmVyLAorCQkJCXhtbHR5cGUgKnNjaGVtYWRhdGEsCisJCQkJ Ym9vbCBpZl9ub3RfZXhpc3RzLAorCQkJCWJvb2wgcXVpZXQpCit7CisJUmVsYXRpb24JcmVs OworCVR1cGxlRGVzYwl0dXBEZXNjOworCUhlYXBUdXBsZQl0dXA7CisJRGF0dW0JCXZhbHVl c1tOYXR0c19wZ194bWxzY2hlbWFdOworCWJvb2wJCW51bGxzW05hdHRzX3BnX3htbHNjaGVt YV07CisJTmFtZURhdGEJbmFtZV9uYW1lOworCU9pZAkJCW9pZDsKKwlPYmplY3RBZGRyZXNz IG15c2VsZiwKKwkJCQlyZWZlcmVuY2VkOworCisJQXNzZXJ0KHNjaGVtYW5hbWUpOworCUFz c2VydChzY2hlbWFuYW1lc3BhY2UpOworCUFzc2VydChzY2hlbWFvd25lcik7CisJQXNzZXJ0 KHNjaGVtYWRhdGEpOworCisjaWZkZWYgVVNFX0xJQlhNTAorCS8qIFZhbGlkYXRlIHRoZSBY TUwgU2NoZW1hIGJlZm9yZSBzdG9yaW5nIGl0ICovCisJeworCQl4bWxTY2hlbWFQYXJzZXJD dHh0UHRyIHBhcnNlcl9jdHh0OworCQl4bWxTY2hlbWFQdHIgc2NoZW1hX3B0cjsKKwkJUGdY bWxFcnJvckNvbnRleHQgKnhtbGVycmN4dDsKKwkJY2hhcgkgICAqc2NoZW1hc3RyOworCisJ CXNjaGVtYXN0ciA9IHRleHRfdG9fY3N0cmluZyhzY2hlbWFkYXRhKTsKKwkJeG1sZXJyY3h0 ID0gcGdfeG1sX2luaXQoUEdfWE1MX1NUUklDVE5FU1NfV0VMTEZPUk1FRCk7CisKKwkJUEdf VFJZKCk7CisJCXsKKwkJCXBhcnNlcl9jdHh0ID0geG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4 dChzY2hlbWFzdHIsIHN0cmxlbihzY2hlbWFzdHIpKTsKKwkJCWlmIChwYXJzZXJfY3R4dCA9 PSBOVUxMKQorCQkJCXhtbF9lcmVwb3J0KHhtbGVycmN4dCwgRVJST1IsIEVSUkNPREVfSU5W QUxJRF9YTUxfRE9DVU1FTlQsCisJCQkJCQkJImZhaWxlZCB0byBjcmVhdGUgc2NoZW1hIHBh cnNlciBjb250ZXh0Iik7CisKKwkJCXNjaGVtYV9wdHIgPSB4bWxTY2hlbWFQYXJzZShwYXJz ZXJfY3R4dCk7CisJCQlpZiAoc2NoZW1hX3B0ciA9PSBOVUxMKQorCQkJCXhtbF9lcmVwb3J0 KHhtbGVycmN4dCwgRVJST1IsIEVSUkNPREVfSU5WQUxJRF9YTUxfRE9DVU1FTlQsCisJCQkJ CQkJImludmFsaWQgWE1MIHNjaGVtYSBkZWZpbml0aW9uIik7CisKKwkJCXhtbFNjaGVtYUZy ZWUoc2NoZW1hX3B0cik7CisJCQl4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dChwYXJzZXJfY3R4 dCk7CisJCX0KKwkJUEdfQ0FUQ0goKTsKKwkJeworCQkJcGdfeG1sX2RvbmUoeG1sZXJyY3h0 LCB0cnVlKTsKKwkJCVBHX1JFX1RIUk9XKCk7CisJCX0KKwkJUEdfRU5EX1RSWSgpOworCisJ CXBnX3htbF9kb25lKHhtbGVycmN4dCwgZmFsc2UpOworCQlwZnJlZShzY2hlbWFzdHIpOwor CX0KKyNlbHNlCisJZXJlcG9ydChFUlJPUiwKKwkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVS RV9OT1RfU1VQUE9SVEVEKSwKKwkJCSBlcnJtc2coInhtbHNjaGVtYSBzdXBwb3J0IHJlcXVp cmVzIGxpYnhtbCIpKSk7CisjZW5kaWYKKworCS8qCisJICogTWFrZSBzdXJlIHRoZXJlIGlz IG5vIGV4aXN0aW5nIFhNTCBzY2hlbWEgb2Ygc2FtZSBuYW1lIGluIHRoZQorCSAqIG5hbWVz cGFjZS4KKwkgKgorCSAqIFRoaXMgd291bGQgYmUgY2F1Z2h0IGJ5IHRoZSB1bmlxdWUgaW5k ZXggYW55d2F5OyB3ZSdyZSBqdXN0IGdpdmluZyBhCisJICogZnJpZW5kbGllciBlcnJvciBt ZXNzYWdlLiAgVGhlIHVuaXF1ZSBpbmRleCBwcm92aWRlcyBhIGJhY2tzdG9wIGFnYWluc3QK KwkgKiByYWNlIGNvbmRpdGlvbnMuCisJICovCisJb2lkID0gR2V0U3lzQ2FjaGVPaWQyKFhN TFNDSEVNQU5BTUVOU1AsCisJCQkJCQkgIEFudW1fcGdfeG1sc2NoZW1hX29pZCwKKwkJCQkJ CSAgUG9pbnRlckdldERhdHVtKHNjaGVtYW5hbWUpLAorCQkJCQkJICBPYmplY3RJZEdldERh dHVtKHNjaGVtYW5hbWVzcGFjZSkpOworCWlmIChPaWRJc1ZhbGlkKG9pZCkpCisJeworCQlp ZiAocXVpZXQpCisJCQlyZXR1cm4gSW52YWxpZE9pZDsKKwkJZWxzZSBpZiAoaWZfbm90X2V4 aXN0cykKKwkJeworCQkJLyoKKwkJCSAqIElmIHdlIGFyZSBpbiBhbiBleHRlbnNpb24gc2Ny aXB0LCBpbnNpc3QgdGhhdCB0aGUgcHJlLWV4aXN0aW5nCisJCQkgKiBvYmplY3QgYmUgYSBt ZW1iZXIgb2YgdGhlIGV4dGVuc2lvbiwgdG8gYXZvaWQgc2VjdXJpdHkgcmlza3MuCisJCQkg Ki8KKwkJCU9iamVjdEFkZHJlc3NTZXQobXlzZWxmLCBYbWxTY2hlbWFSZWxhdGlvbklkLCBv aWQpOworCQkJY2hlY2tNZW1iZXJzaGlwSW5DdXJyZW50RXh0ZW5zaW9uKCZteXNlbGYpOwor CisJCQkvKiBPSyB0byBza2lwICovCisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycmNv ZGUoRVJSQ09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJCQkJIGVycm1zZygiWE1MIHNjaGVt YSBcIiVzXCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nIiwKKwkJCQkJCQlzY2hlbWFuYW1l KSkpOworCQkJcmV0dXJuIEludmFsaWRPaWQ7CisJCX0KKwkJZWxzZQorCQkJZXJlcG9ydChF UlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJCQkJ IGVycm1zZygiWE1MIHNjaGVtYSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAorCQkJCQkJCXNj aGVtYW5hbWUpKSk7CisJfQorCisJLyogb3BlbiBwZ194bWxzY2hlbWE7IGxvY2sgdG8gcHJv dGVjdCBhZ2FpbnN0IGNvbmN1cnJlbnQgY2hhbmdlcyAqLworCXJlbCA9IHRhYmxlX29wZW4o WG1sU2NoZW1hUmVsYXRpb25JZCwgU2hhcmVSb3dFeGNsdXNpdmVMb2NrKTsKKworCXR1cERl c2MgPSBSZWxhdGlvbkdldERlc2NyKHJlbCk7CisKKwkvKiBmb3JtIGEgdHVwbGUgKi8KKwlt ZW1zZXQobnVsbHMsIDAsIHNpemVvZihudWxscykpOworCisJbmFtZXN0cmNweSgmbmFtZV9u YW1lLCBzY2hlbWFuYW1lKTsKKwlvaWQgPSBHZXROZXdPaWRXaXRoSW5kZXgocmVsLCBYbWxT Y2hlbWFPaWRJbmRleElkLAorCQkJCQkJCSBBbnVtX3BnX3htbHNjaGVtYV9vaWQpOworCXZh bHVlc1tBbnVtX3BnX3htbHNjaGVtYV9vaWQgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0ob2lk KTsKKwl2YWx1ZXNbQW51bV9wZ194bWxzY2hlbWFfc2NoZW1hbmFtZSAtIDFdID0gTmFtZUdl dERhdHVtKCZuYW1lX25hbWUpOworCXZhbHVlc1tBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFu YW1lc3BhY2UgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0oc2NoZW1hbmFtZXNwYWNlKTsKKwl2 YWx1ZXNbQW51bV9wZ194bWxzY2hlbWFfc2NoZW1hb3duZXIgLSAxXSA9IE9iamVjdElkR2V0 RGF0dW0oc2NoZW1hb3duZXIpOworCXZhbHVlc1tBbnVtX3BnX3htbHNjaGVtYV9zY2hlbWFk YXRhIC0gMV0gPSBQb2ludGVyR2V0RGF0dW0oc2NoZW1hZGF0YSk7CisKKwkvKiBTZXQgdXAg ZGVmYXVsdCBBQ0wgKi8KKwl7CisJCUFjbAkJICAgKnNjaGVtYWFjbDsKKworCQlzY2hlbWFh Y2wgPSBnZXRfdXNlcl9kZWZhdWx0X2FjbChPQkpFQ1RfWE1MU0NIRU1BLCBzY2hlbWFvd25l ciwKKwkJCQkJCQkJCQkgc2NoZW1hbmFtZXNwYWNlKTsKKwkJaWYgKHNjaGVtYWFjbCAhPSBO VUxMKQorCQkJdmFsdWVzW0FudW1fcGdfeG1sc2NoZW1hX3NjaGVtYWFjbCAtIDFdID0gUG9p bnRlckdldERhdHVtKHNjaGVtYWFjbCk7CisJCWVsc2UKKwkJCW51bGxzW0FudW1fcGdfeG1s c2NoZW1hX3NjaGVtYWFjbCAtIDFdID0gdHJ1ZTsKKwl9CisKKwl0dXAgPSBoZWFwX2Zvcm1f dHVwbGUodHVwRGVzYywgdmFsdWVzLCBudWxscyk7CisKKwkvKiBpbnNlcnQgYSBuZXcgdHVw bGUgKi8KKwlDYXRhbG9nVHVwbGVJbnNlcnQocmVsLCB0dXApOworCUFzc2VydChPaWRJc1Zh bGlkKG9pZCkpOworCisJLyogc2V0IHVwIGRlcGVuZGVuY2llcyBmb3IgdGhlIG5ldyBYTUwg c2NoZW1hICovCisJbXlzZWxmLmNsYXNzSWQgPSBYbWxTY2hlbWFSZWxhdGlvbklkOworCW15 c2VsZi5vYmplY3RJZCA9IG9pZDsKKwlteXNlbGYub2JqZWN0U3ViSWQgPSAwOworCisJLyog Y3JlYXRlIGRlcGVuZGVuY3kgb24gbmFtZXNwYWNlICovCisJcmVmZXJlbmNlZC5jbGFzc0lk ID0gTmFtZXNwYWNlUmVsYXRpb25JZDsKKwlyZWZlcmVuY2VkLm9iamVjdElkID0gc2NoZW1h bmFtZXNwYWNlOworCXJlZmVyZW5jZWQub2JqZWN0U3ViSWQgPSAwOworCXJlY29yZERlcGVu ZGVuY3lPbigmbXlzZWxmLCAmcmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwpOworCisJ LyogY3JlYXRlIGRlcGVuZGVuY3kgb24gb3duZXIgKi8KKwlyZWNvcmREZXBlbmRlbmN5T25P d25lcihYbWxTY2hlbWFSZWxhdGlvbklkLCBvaWQsIHNjaGVtYW93bmVyKTsKKworCS8qIGRl cGVuZGVuY3kgb24gZXh0ZW5zaW9uICovCisJcmVjb3JkRGVwZW5kZW5jeU9uQ3VycmVudEV4 dGVuc2lvbigmbXlzZWxmLCBmYWxzZSk7CisKKwkvKiBQb3N0IGNyZWF0aW9uIGhvb2sgZm9y IG5ldyBYTUwgc2NoZW1hICovCisJSW52b2tlT2JqZWN0UG9zdENyZWF0ZUhvb2soWG1sU2No ZW1hUmVsYXRpb25JZCwgb2lkLCAwKTsKKworCWhlYXBfZnJlZXR1cGxlKHR1cCk7CisJdGFi bGVfY2xvc2UocmVsLCBOb0xvY2spOworCisJcmV0dXJuIG9pZDsKK30KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv TWFrZWZpbGUKaW5kZXggNjRjYjYyNzg0MC4uMDdmMDRlYWZkYSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv TWFrZWZpbGUKQEAgLTY2LDYgKzY2LDcgQEAgT0JKUyA9IFwKIAl2YWN1dW1wYXJhbGxlbC5v IFwKIAl2YXJpYWJsZS5vIFwKIAl2aWV3Lm8gXAotCXdhaXQubworCXdhaXQubyBcCisJeG1s c2NoZW1hY21kcy5vCiAKIGluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9zcmMvYmFja2VuZC9jb21t b24ubWsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FsdGVyLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9hbHRlci5jCmluZGV4IDA4OTU3MTA0YzcuLjA4OTQzODc5MDEg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FsdGVyLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvYWx0ZXIuYwpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgImNh dGFsb2cvcGdfdHNfZGljdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHNfcGFyc2VyLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190c190ZW1wbGF0ZS5oIgorI2luY2x1ZGUgImNhdGFs b2cvcGdfeG1sc2NoZW1hLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvYWx0ZXIuaCIKICNpbmNs dWRlICJjb21tYW5kcy9jb2xsYXRpb25jbWRzLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGJj b21tYW5kcy5oIgpAQCAtMTM0LDYgKzEzNSwxMCBAQCByZXBvcnRfbmFtZXNwYWNlX2NvbmZs aWN0KE9pZCBjbGFzc0lkLCBjb25zdCBjaGFyICpuYW1lLCBPaWQgbnNwT2lkKQogCQljYXNl IFRTQ29uZmlnUmVsYXRpb25JZDoKIAkJCW1zZ2ZtdCA9IGdldHRleHRfbm9vcCgidGV4dCBz ZWFyY2ggY29uZmlndXJhdGlvbiBcIiVzXCIgYWxyZWFkeSBleGlzdHMgaW4gc2NoZW1hIFwi JXNcIiIpOwogCQkJYnJlYWs7CisJCWNhc2UgWG1sU2NoZW1hUmVsYXRpb25JZDoKKwkJCUFz c2VydChPaWRJc1ZhbGlkKG5zcE9pZCkpOworCQkJbXNnZm10ID0gZ2V0dGV4dF9ub29wKCJY TUwgc2NoZW1hIFwiJXNcIiBhbHJlYWR5IGV4aXN0cyBpbiBzY2hlbWEgXCIlc1wiIik7CisJ CQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnN1cHBvcnRlZCBvYmpl Y3QgY2xhc3M6ICV1IiwgY2xhc3NJZCk7CiAJCQlicmVhazsKQEAgLTQxNyw2ICs0MjIsNyBA QCBFeGVjUmVuYW1lU3RtdChSZW5hbWVTdG10ICpzdG10KQogCQljYXNlIE9CSkVDVF9GRFc6 CiAJCWNhc2UgT0JKRUNUX0ZPUkVJR05fU0VSVkVSOgogCQljYXNlIE9CSkVDVF9GVU5DVElP TjoKKwkJY2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgogCQljYXNlIE9CSkVDVF9PUENMQVNTOgog CQljYXNlIE9CSkVDVF9PUEZBTUlMWToKIAkJY2FzZSBPQkpFQ1RfTEFOR1VBR0U6CkBAIC01 NjEsNiArNTY3LDcgQEAgRXhlY0FsdGVyT2JqZWN0U2NoZW1hU3RtdChBbHRlck9iamVjdFNj aGVtYVN0bXQgKnN0bXQsCiAJCWNhc2UgT0JKRUNUX0ZVTkNUSU9OOgogCQljYXNlIE9CSkVD VF9PUEVSQVRPUjoKIAkJY2FzZSBPQkpFQ1RfT1BDTEFTUzoKKwkJY2FzZSBPQkpFQ1RfWE1M U0NIRU1BOgogCQljYXNlIE9CSkVDVF9PUEZBTUlMWToKIAkJY2FzZSBPQkpFQ1RfUFJPQ0VE VVJFOgogCQljYXNlIE9CSkVDVF9ST1VUSU5FOgpAQCAtODcxLDYgKzg3OCw3IEBAIEV4ZWNB bHRlck93bmVyU3RtdChBbHRlck93bmVyU3RtdCAqc3RtdCkKIAkJY2FzZSBPQkpFQ1RfQ09O VkVSU0lPTjoKIAkJY2FzZSBPQkpFQ1RfRlVOQ1RJT046CiAJCWNhc2UgT0JKRUNUX0xBTkdV QUdFOgorCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CiAJCWNhc2UgT0JKRUNUX0xBUkdFT0JK RUNUOgogCQljYXNlIE9CSkVDVF9PUEVSQVRPUjoKIAkJY2FzZSBPQkpFQ1RfT1BDTEFTUzoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IDkyNTI2MDEyZDIuLjJlODkzOTY4YWIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwpAQCAtMjc4LDYgKzI3OCwxMyBAQCBkb2Vz X25vdF9leGlzdF9za2lwcGluZyhPYmplY3RUeXBlIG9ianR5cGUsIE5vZGUgKm9iamVjdCkK IAkJCQluYW1lID0gTmFtZUxpc3RUb1N0cmluZyhjYXN0Tm9kZShMaXN0LCBvYmplY3QpKTsK IAkJCX0KIAkJCWJyZWFrOworCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQlpZiAoIXNj aGVtYV9kb2VzX25vdF9leGlzdF9za2lwcGluZyhjYXN0Tm9kZShMaXN0LCBvYmplY3QpLCAm bXNnLCAmbmFtZSkpCisJCQl7CisJCQkJbXNnID0gZ2V0dGV4dF9ub29wKCJYTUwgc2NoZW1h IFwiJXNcIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmciKTsKKwkJCQluYW1lID0gTmFtZUxp c3RUb1N0cmluZyhjYXN0Tm9kZShMaXN0LCBvYmplY3QpKTsKKwkJCX0KKwkJCWJyZWFrOwog CQljYXNlIE9CSkVDVF9TQ0hFTUE6CiAJCQltc2cgPSBnZXR0ZXh0X25vb3AoInNjaGVtYSBc IiVzXCIgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nIik7CiAJCQluYW1lID0gc3RyVmFsKG9i amVjdCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9ldmVudF90cmlnZ2Vy LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9ldmVudF90cmlnZ2VyLmMKaW5kZXggMDI4Zjll MmRlOS4uNGEwODc5MzVmMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZl bnRfdHJpZ2dlci5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIu YwpAQCAtMjMxOCw2ICsyMzE4LDcgQEAgc3RyaW5naWZ5X2dyYW50X29ianR5cGUoT2JqZWN0 VHlwZSBvYmp0eXBlKQogCQljYXNlIE9CSkVDVF9UU1RFTVBMQVRFOgogCQljYXNlIE9CSkVD VF9VU0VSX01BUFBJTkc6CiAJCWNhc2UgT0JKRUNUX1ZJRVc6CisJCWNhc2UgT0JKRUNUX1hN TFNDSEVNQToKIAkJCWVsb2coRVJST1IsICJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZTogJWQi LCAoaW50KSBvYmp0eXBlKTsKIAl9CiAKQEAgLTI0MDIsNiArMjQwMyw3IEBAIHN0cmluZ2lm eV9hZGVmcHJpdnNfb2JqdHlwZShPYmplY3RUeXBlIG9ianR5cGUpCiAJCWNhc2UgT0JKRUNU X1RTVEVNUExBVEU6CiAJCWNhc2UgT0JKRUNUX1VTRVJfTUFQUElORzoKIAkJY2FzZSBPQkpF Q1RfVklFVzoKKwkJY2FzZSBPQkpFQ1RfWE1MU0NIRU1BOgogCQkJZWxvZyhFUlJPUiwgInVu c3VwcG9ydGVkIG9iamVjdCB0eXBlOiAlZCIsIChpbnQpIG9ianR5cGUpOwogCX0KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy9tZXNvbi5idWlsZAppbmRleCBjYTNmNTNjNjIxLi4zMzYzNzk3ZWNlIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZAorKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZApAQCAtNTUsNCArNTUsNSBAQCBiYWNrZW5k X3NvdXJjZXMgKz0gZmlsZXMoCiAgICd2YXJpYWJsZS5jJywKICAgJ3ZpZXcuYycsCiAgICd3 YWl0LmMnLAorICAneG1sc2NoZW1hY21kcy5jJywKICkKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3NlY2xhYmVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJl bC5jCmluZGV4IDQxNjBmNWI2ODUuLjgzYzZjZGQ5YmIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3NlY2xhYmVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vj bGFiZWwuYwpAQCAtOTIsNiArOTIsNyBAQCBTZWNMYWJlbFN1cHBvcnRzT2JqZWN0VHlwZShP YmplY3RUeXBlIG9ianR5cGUpCiAJCWNhc2UgT0JKRUNUX1RTUEFSU0VSOgogCQljYXNlIE9C SkVDVF9UU1RFTVBMQVRFOgogCQljYXNlIE9CSkVDVF9VU0VSX01BUFBJTkc6CisJCWNhc2Ug T0JKRUNUX1hNTFNDSEVNQToKIAkJCXJldHVybiBmYWxzZTsKIAogCQkJLyoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3htbHNjaGVtYWNtZHMuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3htbHNjaGVtYWNtZHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi40M2IxYTU2YTEwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMveG1sc2NoZW1hY21kcy5jCkBAIC0wLDAgKzEsOTUgQEAKKyNpbmNsdWRlICJw b3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgorI2luY2x1 ZGUgImFjY2Vzcy90YWJsZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNlLmgiCisj aW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhY2Nlc3MuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3Bn X3htbHNjaGVtYS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlLmgiCisjaW5j bHVkZSAiY29tbWFuZHMveG1sc2NoZW1hY21kcy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL2Rl ZnJlbS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInV0aWxzL2FjbC5o IgorI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvbHN5c2Nh Y2hlLmgiCisjaW5jbHVkZSAidXRpbHMvcmVsLmgiCisjaW5jbHVkZSAidXRpbHMvc3lzY2Fj aGUuaCIKKyNpbmNsdWRlICJ1dGlscy94bWwuaCIKKworCisvKgorICogQ1JFQVRFIFhNTFND SEVNQQorICovCitPYmplY3RBZGRyZXNzCitEZWZpbmVYbWxTY2hlbWEoUGFyc2VTdGF0ZSAq cHN0YXRlLCBMaXN0ICpuYW1lcywgTGlzdCAqcGFyYW1ldGVycywgYm9vbCBpZl9ub3RfZXhp c3RzKQoreworCWNoYXIJICAgKnNjaGVtYU5hbWU7CisJT2lkCQkJc2NoZW1hTmFtZXNwYWNl OworCUFjbFJlc3VsdAlhY2xyZXN1bHQ7CisJTGlzdENlbGwgICAqcGw7CisJRGVmRWxlbSAg ICAqc2NoZW1hRGF0YUVsID0gTlVMTDsKKwl4bWx0eXBlICAgICpzY2hlbWFEYXRhOworCU9p ZAkJCW5ld29pZDsKKwlPYmplY3RBZGRyZXNzIGFkZHJlc3M7CisKKwlzY2hlbWFOYW1lc3Bh Y2UgPSBRdWFsaWZpZWROYW1lR2V0Q3JlYXRpb25OYW1lc3BhY2UobmFtZXMsICZzY2hlbWFO YW1lKTsKKworCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhOYW1lc3BhY2VSZWxhdGlv bklkLCBzY2hlbWFOYW1lc3BhY2UsIEdldFVzZXJJZCgpLCBBQ0xfQ1JFQVRFKTsKKwlpZiAo YWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQlhY2xjaGVja19lcnJvcihhY2xyZXN1bHQs IE9CSkVDVF9TQ0hFTUEsCisJCQkJCSAgIGdldF9uYW1lc3BhY2VfbmFtZShzY2hlbWFOYW1l c3BhY2UpKTsKKworCS8qIFBhcnNlIHBhcmFtZXRlcnMgKi8KKwlmb3JlYWNoKHBsLCBwYXJh bWV0ZXJzKQorCXsKKwkJRGVmRWxlbSAgICAqZGVmZWwgPSBsZmlyc3Rfbm9kZShEZWZFbGVt LCBwbCk7CisJCURlZkVsZW0gICAqKmRlZmVscDsKKworCQlpZiAoc3RyY21wKGRlZmVsLT5k ZWZuYW1lLCAic2NoZW1hIikgPT0gMCkKKwkJCWRlZmVscCA9ICZzY2hlbWFEYXRhRWw7CisJ CWVsc2UKKwkJeworCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9T WU5UQVhfRVJST1IpLAorCQkJCQkgZXJybXNnKCJYTUwgc2NoZW1hIGF0dHJpYnV0ZSBcIiVz XCIgbm90IHJlY29nbml6ZWQiLAorCQkJCQkJCWRlZmVsLT5kZWZuYW1lKSwKKwkJCQkJIHBh cnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGRlZmVsLT5sb2NhdGlvbikpKTsKKwkJCWJyZWFr OworCQl9CisJCWlmICgqZGVmZWxwICE9IE5VTEwpCisJCQllcnJvckNvbmZsaWN0aW5nRGVm RWxlbShkZWZlbCwgcHN0YXRlKTsKKwkJKmRlZmVscCA9IGRlZmVsOworCX0KKworCWlmICgh c2NoZW1hRGF0YUVsKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf U1lOVEFYX0VSUk9SKSwKKwkJCQkgZXJybXNnKCJwYXJhbWV0ZXIgXCJzY2hlbWFcIiBtdXN0 IGJlIHNwZWNpZmllZCIpKSk7CisKKwkvKiBUaGUgc2NoZW1hIGRlZmluaXRpb24gaXMgcGFz c2VkIGFzIGEgU3RyaW5nIG5vZGUgZnJvbSB0aGUgZ3JhbW1hciAqLworCXNjaGVtYURhdGEg PSAoeG1sdHlwZSAqKSBjc3RyaW5nX3RvX3RleHQoZGVmR2V0U3RyaW5nKHNjaGVtYURhdGFF bCkpOworCisJbmV3b2lkID0gWG1sU2NoZW1hQ3JlYXRlKHNjaGVtYU5hbWUsCisJCQkJCQkJ IHNjaGVtYU5hbWVzcGFjZSwKKwkJCQkJCQkgR2V0VXNlcklkKCksCisJCQkJCQkJIHNjaGVt YURhdGEsCisJCQkJCQkJIGlmX25vdF9leGlzdHMsCisJCQkJCQkJIGZhbHNlKTsKKworCWlm ICghT2lkSXNWYWxpZChuZXdvaWQpKQorCXsKKwkJLyoKKwkJICogV2hlbiBJRiBOT1QgRVhJ U1RTIHdhcyBzcGVjaWZpZWQgYW5kIHRoZSBvYmplY3QgYWxyZWFkeSBleGlzdGVkLAorCQkg KiBYbWxTY2hlbWFDcmVhdGUgcmV0dXJuZWQgSW52YWxpZE9pZC4gUmVwb3J0IGFuIGludmFs aWQgb2JqZWN0CisJCSAqIGFkZHJlc3MuCisJCSAqLworCQlhZGRyZXNzLmNsYXNzSWQgPSBY bWxTY2hlbWFSZWxhdGlvbklkOworCQlhZGRyZXNzLm9iamVjdElkID0gSW52YWxpZE9pZDsK KwkJYWRkcmVzcy5vYmplY3RTdWJJZCA9IDA7CisJCXJldHVybiBhZGRyZXNzOworCX0KKwor CU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgWG1sU2NoZW1hUmVsYXRpb25JZCwgbmV3b2lk KTsKKworCXJldHVybiBhZGRyZXNzOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggNzEzZWU1YzEw YS4uOTg4NjI1MGMyNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQor KysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC03OTgsNyArNzk4LDcgQEAgc3Rh dGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3Qg KmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAlXQUlUIFdIRU4gV0hFUkUgV0hJVEVTUEFDRV9Q IFdJTkRPVyBXSVRIIFdJVEhJTiBXSVRIT1VUIFdPUksgV1JBUFBFUiBXUklURQogCiAJWE1M X1AgWE1MQVRUUklCVVRFUyBYTUxDT05DQVQgWE1MRUxFTUVOVCBYTUxFWElTVFMgWE1MRk9S RVNUIFhNTE5BTUVTUEFDRVMKLQlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNFUklBTEla RSBYTUxUQUJMRQorCVhNTFBBUlNFIFhNTFBJIFhNTFJPT1QgWE1MU0NIRU1BIFhNTFNFUklB TElaRSBYTUxUQUJMRQogCiAJWUVBUl9QIFlFU19QCiAKQEAgLTY2NTQsNiArNjY1NCwyNyBA QCBEZWZpbmVTdG10OgogCQkJCQluLT5pZl9ub3RfZXhpc3RzID0gdHJ1ZTsKIAkJCQkJJCQg PSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwgQ1JFQVRFIFhNTFNDSEVNQSBhbnlfbmFtZSBB UyBTY29uc3QKKwkJCQl7CisJCQkJCURlZmluZVN0bXQgKm4gPSBtYWtlTm9kZShEZWZpbmVT dG10KTsKKworCQkJCQluLT5raW5kID0gT0JKRUNUX1hNTFNDSEVNQTsKKwkJCQkJbi0+YXJn cyA9IE5JTDsKKwkJCQkJbi0+ZGVmbmFtZXMgPSAkMzsKKwkJCQkJbi0+ZGVmaW5pdGlvbiA9 IGxpc3RfbWFrZTEobWFrZURlZkVsZW0oInNjaGVtYSIsIChOb2RlICopIG1ha2VTdHJpbmco JDUpLCBANSkpOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQkJfCBDUkVBVEUg WE1MU0NIRU1BIElGX1AgTk9UIEVYSVNUUyBhbnlfbmFtZSBBUyBTY29uc3QKKwkJCQl7CisJ CQkJCURlZmluZVN0bXQgKm4gPSBtYWtlTm9kZShEZWZpbmVTdG10KTsKKworCQkJCQluLT5r aW5kID0gT0JKRUNUX1hNTFNDSEVNQTsKKwkJCQkJbi0+YXJncyA9IE5JTDsKKwkJCQkJbi0+ ZGVmbmFtZXMgPSAkNjsKKwkJCQkJbi0+ZGVmaW5pdGlvbiA9IGxpc3RfbWFrZTEobWFrZURl ZkVsZW0oInNjaGVtYSIsIChOb2RlICopIG1ha2VTdHJpbmcoJDgpLCBAOCkpOworCQkJCQlu LT5pZl9ub3RfZXhpc3RzID0gdHJ1ZTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0K IAkJOwogCiBkZWZpbml0aW9uOiAnKCcgZGVmX2xpc3QgJyknCQkJCQkJeyAkJCA9ICQyOyB9 CkBAIC03MTkzLDYgKzcyMTQsNyBAQCBvYmplY3RfdHlwZV9hbnlfbmFtZToKIAkJCXwgSU5E RVgJCQkJCQkJCQl7ICQkID0gT0JKRUNUX0lOREVYOyB9CiAJCQl8IEZPUkVJR04gVEFCTEUJ CQkJCQkJeyAkJCA9IE9CSkVDVF9GT1JFSUdOX1RBQkxFOyB9CiAJCQl8IENPTExBVElPTgkJ CQkJCQkJeyAkJCA9IE9CSkVDVF9DT0xMQVRJT047IH0KKwkJCXwgWE1MU0NIRU1BCQkJCQkJ CQl7ICQkID0gT0JKRUNUX1hNTFNDSEVNQTsgfQogCQkJfCBDT05WRVJTSU9OX1AJCQkJCQkJ eyAkJCA9IE9CSkVDVF9DT05WRVJTSU9OOyB9CiAJCQl8IFNUQVRJU1RJQ1MJCQkJCQkJeyAk JCA9IE9CSkVDVF9TVEFUSVNUSUNfRVhUOyB9CiAJCQl8IFRFWFRfUCBTRUFSQ0ggUEFSU0VS CQkJCQl7ICQkID0gT0JKRUNUX1RTUEFSU0VSOyB9CkBAIC04MTA3LDYgKzgxMjksMTUgQEAg cHJpdmlsZWdlX3RhcmdldDoKIAkJCQkJbi0+b2JqcyA9ICQyOwogCQkJCQkkJCA9IG47CiAJ CQkJfQorCQkJfCBYTUxTQ0hFTUEgYW55X25hbWVfbGlzdAorCQkJCXsKKwkJCQkJUHJpdlRh cmdldCAqbiA9IHBhbGxvY19vYmplY3QoUHJpdlRhcmdldCk7CisKKwkJCQkJbi0+dGFyZ3R5 cGUgPSBBQ0xfVEFSR0VUX09CSkVDVDsKKwkJCQkJbi0+b2JqdHlwZSA9IE9CSkVDVF9YTUxT Q0hFTUE7CisJCQkJCW4tPm9ianMgPSAkMjsKKwkJCQkJJCQgPSBuOworCQkJCX0KIAkJCXwg QUxMIFRBQkxFUyBJTl9QIFNDSEVNQSBuYW1lX2xpc3QKIAkJCQl7CiAJCQkJCVByaXZUYXJn ZXQgKm4gPSBwYWxsb2Nfb2JqZWN0KFByaXZUYXJnZXQpOwpAQCAtOTU3Myw2ICs5NjA0LDE2 IEBAIFJlbmFtZVN0bXQ6IEFMVEVSIEFHR1JFR0FURSBhZ2dyZWdhdGVfd2l0aF9hcmd0eXBl cyBSRU5BTUUgVE8gbmFtZQogCQkJCQluLT5taXNzaW5nX29rID0gZmFsc2U7CiAJCQkJCSQk ID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IEFMVEVSIFhNTFNDSEVNQSBhbnlfbmFtZSBS RU5BTUUgVE8gbmFtZQorCQkJCXsKKwkJCQkJUmVuYW1lU3RtdCAqbiA9IG1ha2VOb2RlKFJl bmFtZVN0bXQpOworCisJCQkJCW4tPnJlbmFtZVR5cGUgPSBPQkpFQ1RfWE1MU0NIRU1BOwor CQkJCQluLT5vYmplY3QgPSAoTm9kZSAqKSAkMzsKKwkJCQkJbi0+bmV3bmFtZSA9ICQ2Owor CQkJCQluLT5taXNzaW5nX29rID0gZmFsc2U7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJ CQl9CiAJCQl8IEFMVEVSIENPTlZFUlNJT05fUCBhbnlfbmFtZSBSRU5BTUUgVE8gbmFtZQog CQkJCXsKIAkJCQkJUmVuYW1lU3RtdCAqbiA9IG1ha2VOb2RlKFJlbmFtZVN0bXQpOwpAQCAt MTAyNTAsNiArMTAyOTEsMTYgQEAgQWx0ZXJPYmplY3RTY2hlbWFTdG10OgogCQkJCQluLT5t aXNzaW5nX29rID0gZmFsc2U7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8 IEFMVEVSIFhNTFNDSEVNQSBhbnlfbmFtZSBTRVQgU0NIRU1BIG5hbWUKKwkJCQl7CisJCQkJ CUFsdGVyT2JqZWN0U2NoZW1hU3RtdCAqbiA9IG1ha2VOb2RlKEFsdGVyT2JqZWN0U2NoZW1h U3RtdCk7CisKKwkJCQkJbi0+b2JqZWN0VHlwZSA9IE9CSkVDVF9YTUxTQ0hFTUE7CisJCQkJ CW4tPm9iamVjdCA9IChOb2RlICopICQzOworCQkJCQluLT5uZXdzY2hlbWEgPSAkNjsKKwkJ CQkJbi0+bWlzc2luZ19vayA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJ fQogCQkJfCBBTFRFUiBDT05WRVJTSU9OX1AgYW55X25hbWUgU0VUIFNDSEVNQSBuYW1lCiAJ CQkJewogCQkJCQlBbHRlck9iamVjdFNjaGVtYVN0bXQgKm4gPSBtYWtlTm9kZShBbHRlck9i amVjdFNjaGVtYVN0bXQpOwpAQCAtMTA1ODMsNiArMTA2MzQsMTUgQEAgQWx0ZXJPd25lclN0 bXQ6IEFMVEVSIEFHR1JFR0FURSBhZ2dyZWdhdGVfd2l0aF9hcmd0eXBlcyBPV05FUiBUTyBS b2xlU3BlYwogCQkJCQluLT5uZXdvd25lciA9ICQ2OwogCQkJCQkkJCA9IChOb2RlICopIG47 CiAJCQkJfQorCQkJfCBBTFRFUiBYTUxTQ0hFTUEgYW55X25hbWUgT1dORVIgVE8gUm9sZVNw ZWMKKwkJCQl7CisJCQkJCUFsdGVyT3duZXJTdG10ICpuID0gbWFrZU5vZGUoQWx0ZXJPd25l clN0bXQpOworCisJCQkJCW4tPm9iamVjdFR5cGUgPSBPQkpFQ1RfWE1MU0NIRU1BOworCQkJ CQluLT5vYmplY3QgPSAoTm9kZSAqKSAkMzsKKwkJCQkJbi0+bmV3b3duZXIgPSAkNjsKKwkJ CQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KIAkJCXwgQUxURVIgQ09OVkVSU0lPTl9QIGFu eV9uYW1lIE9XTkVSIFRPIFJvbGVTcGVjCiAJCQkJewogCQkJCQlBbHRlck93bmVyU3RtdCAq biA9IG1ha2VOb2RlKEFsdGVyT3duZXJTdG10KTsKQEAgLTE4MjI3LDYgKzE4Mjg3LDcgQEAg dW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBXUkFQUEVSCiAJCQl8IFdSSVRFCiAJCQl8IFhN TF9QCisJCQl8IFhNTFNDSEVNQQogCQkJfCBZRUFSX1AKIAkJCXwgWUVTX1AKIAkJCXwgWk9O RQpAQCAtMTg4OTYsNiArMTg5NTcsNyBAQCBiYXJlX2xhYmVsX2tleXdvcmQ6CiAJCQl8IFhN TFBBUlNFCiAJCQl8IFhNTFBJCiAJCQl8IFhNTFJPT1QKKwkJCXwgWE1MU0NIRU1BCiAJCQl8 IFhNTFNFUklBTElaRQogCQkJfCBYTUxUQUJMRQogCQkJfCBZRVNfUApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHku YwppbmRleCAzNGRkNmUxOGRmLi42MGUwYTBmN2U3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAt NTcsNiArNTcsNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUg ImNvbW1hbmRzL3ZpZXcuaCIKICNpbmNsdWRlICJjb21tYW5kcy93YWl0LmgiCisjaW5jbHVk ZSAiY29tbWFuZHMveG1sc2NoZW1hY21kcy5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgog I2luY2x1ZGUgInBhcnNlci9wYXJzZV91dGlsY21kLmgiCiAjaW5jbHVkZSAicG9zdG1hc3Rl ci9iZ3dyaXRlci5oIgpAQCAtMTQ0Myw2ICsxNDQ0LDEzIEBAIFByb2Nlc3NVdGlsaXR5U2xv dyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQkJCQkJICBzdG10LT5kZWZpbml0aW9u LAogCQkJCQkJCQkJCQkJCSAgc3RtdC0+aWZfbm90X2V4aXN0cyk7CiAJCQkJCQkJYnJlYWs7 CisJCQkJCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQkJCQkJQXNzZXJ0KHN0bXQtPmFy Z3MgPT0gTklMKTsKKwkJCQkJCQlhZGRyZXNzID0gRGVmaW5lWG1sU2NoZW1hKHBzdGF0ZSwK KwkJCQkJCQkJCQkJCQkgIHN0bXQtPmRlZm5hbWVzLAorCQkJCQkJCQkJCQkJCSAgc3RtdC0+ ZGVmaW5pdGlvbiwKKwkJCQkJCQkJCQkJCQkgIHN0bXQtPmlmX25vdF9leGlzdHMpOworCQkJ CQkJCWJyZWFrOwogCQkJCQkJZGVmYXVsdDoKIAkJCQkJCQllbG9nKEVSUk9SLCAidW5yZWNv Z25pemVkIGRlZmluZSBzdG10IHR5cGU6ICVkIiwKIAkJCQkJCQkJIChpbnQpIHN0bXQtPmtp bmQpOwpAQCAtMjIzOCw2ICsyMjQ2LDkgQEAgQWx0ZXJPYmplY3RUeXBlQ29tbWFuZFRhZyhP YmplY3RUeXBlIG9ianR5cGUpCiAJCWNhc2UgT0JKRUNUX0NPTExBVElPTjoKIAkJCXRhZyA9 IENNRFRBR19BTFRFUl9DT0xMQVRJT047CiAJCQlicmVhazsKKwkJY2FzZSBPQkpFQ1RfWE1M U0NIRU1BOgorCQkJdGFnID0gQ01EVEFHX0FMVEVSX1hNTFNDSEVNQTsKKwkJCWJyZWFrOwog CQljYXNlIE9CSkVDVF9DT0xVTU46CiAJCQl0YWcgPSBDTURUQUdfQUxURVJfVEFCTEU7CiAJ CQlicmVhazsKQEAgLTI1NzUsNiArMjU4Niw5IEBAIENyZWF0ZUNvbW1hbmRUYWcoTm9kZSAq cGFyc2V0cmVlKQogCQkJCWNhc2UgT0JKRUNUX0NPTExBVElPTjoKIAkJCQkJdGFnID0gQ01E VEFHX0RST1BfQ09MTEFUSU9OOwogCQkJCQlicmVhazsKKwkJCQljYXNlIE9CSkVDVF9YTUxT Q0hFTUE6CisJCQkJCXRhZyA9IENNRFRBR19EUk9QX1hNTFNDSEVNQTsKKwkJCQkJYnJlYWs7 CiAJCQkJY2FzZSBPQkpFQ1RfQ09OVkVSU0lPTjoKIAkJCQkJdGFnID0gQ01EVEFHX0RST1Bf Q09OVkVSU0lPTjsKIAkJCQkJYnJlYWs7CkBAIC0yNzc2LDYgKzI3OTAsOSBAQCBDcmVhdGVD b21tYW5kVGFnKE5vZGUgKnBhcnNldHJlZSkKIAkJCQljYXNlIE9CSkVDVF9DT0xMQVRJT046 CiAJCQkJCXRhZyA9IENNRFRBR19DUkVBVEVfQ09MTEFUSU9OOwogCQkJCQlicmVhazsKKwkJ CQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQkJCXRhZyA9IENNRFRBR19DUkVBVEVfWE1M U0NIRU1BOworCQkJCQlicmVhazsKIAkJCQljYXNlIE9CSkVDVF9BQ0NFU1NfTUVUSE9EOgog CQkJCQl0YWcgPSBDTURUQUdfQ1JFQVRFX0FDQ0VTU19NRVRIT0Q7CiAJCQkJCWJyZWFrOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L2FjbC5jCmluZGV4IDNhNjkwNWY5NTQuLjQxMmEwNDUwNDMgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hY2wuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvYWNsLmMKQEAgLTg2Nyw2ICs4NjcsMTAgQEAgYWNsZGVmYXVsdChPYmplY3RUeXBl IG9ianR5cGUsIE9pZCBvd25lcklkKQogCQkJd29ybGRfZGVmYXVsdCA9IEFDTF9OT19SSUdI VFM7CiAJCQlvd25lcl9kZWZhdWx0ID0gQUNMX0FMTF9SSUdIVFNfUEFSQU1FVEVSX0FDTDsK IAkJCWJyZWFrOworCQljYXNlIE9CSkVDVF9YTUxTQ0hFTUE6CisJCQl3b3JsZF9kZWZhdWx0 ID0gQUNMX05PX1JJR0hUUzsKKwkJCW93bmVyX2RlZmF1bHQgPSBBQ0xfQUxMX1JJR0hUU19Y TUxTQ0hFTUE7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJl Y29nbml6ZWQgb2JqZWN0IHR5cGU6ICVkIiwgKGludCkgb2JqdHlwZSk7CiAJCQl3b3JsZF9k ZWZhdWx0ID0gQUNMX05PX1JJR0hUUzsJLyoga2VlcCBjb21waWxlciBxdWlldCAqLwpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL2NvbW1vbi5jIGIvc3JjL2Jpbi9wZ19kdW1wL2Nv bW1vbi5jCmluZGV4IDM0OWI0N2M4ZTIuLjY1MWNmNjc0MzYgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcGdfZHVtcC9jb21tb24uYworKysgYi9zcmMvYmluL3BnX2R1bXAvY29tbW9uLmMKQEAg LTE4Miw2ICsxODIsOSBAQCBnZXRTY2hlbWFEYXRhKEFyY2hpdmUgKmZvdXQsIGludCAqbnVt VGFibGVzUHRyKQogCXBnX2xvZ19pbmZvKCJyZWFkaW5nIHVzZXItZGVmaW5lZCBjb252ZXJz aW9ucyIpOwogCWdldENvbnZlcnNpb25zKGZvdXQpOwogCisJcGdfbG9nX2luZm8oInJlYWRp bmcgWE1MIHNjaGVtYXMiKTsKKwlnZXRYbWxTY2hlbWFzKGZvdXQpOworCiAJcGdfbG9nX2lu Zm8oInJlYWRpbmcgdHlwZSBjYXN0cyIpOwogCWdldENhc3RzKGZvdXQpOwogCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMgYi9zcmMvYmluL3Bn X2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKaW5kZXggMzVkM2EwNzkxNS4uYzQxODg3MDE3 NCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCisr KyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYwpAQCAtMzgxNSw2ICsz ODE1LDcgQEAgX2dldE9iamVjdERlc2NyaXB0aW9uKFBRRXhwQnVmZmVyIGJ1ZiwgY29uc3Qg VG9jRW50cnkgKnRlKQogCQlzdHJjbXAodHlwZSwgIlRFWFQgU0VBUkNIIENPTkZJR1VSQVRJ T04iKSA9PSAwIHx8CiAJCXN0cmNtcCh0eXBlLCAiVFlQRSIpID09IDAgfHwKIAkJc3RyY21w KHR5cGUsICJWSUVXIikgPT0gMCB8fAorCQlzdHJjbXAodHlwZSwgIlhNTFNDSEVNQSIpID09 IDAgfHwKIAkvKiBub24tc2NoZW1hLXNwZWNpZmllZCBvYmplY3RzICovCiAJCXN0cmNtcCh0 eXBlLCAiREFUQUJBU0UiKSA9PSAwIHx8CiAJCXN0cmNtcCh0eXBlLCAiUFJPQ0VEVVJBTCBM QU5HVUFHRSIpID09IDAgfHwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDJiZWJlZmQwYmEuLjczMTJh MDdjNDIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3Jj L2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMzExLDYgKzMxMSw3IEBAIHN0YXRpYyB2b2lk IGR1bXBBY2Nlc3NNZXRob2QoQXJjaGl2ZSAqZm91dCwgY29uc3QgQWNjZXNzTWV0aG9kSW5m byAqYW1pbmZvKTsKIHN0YXRpYyB2b2lkIGR1bXBPcGNsYXNzKEFyY2hpdmUgKmZvdXQsIGNv bnN0IE9wY2xhc3NJbmZvICpvcGNpbmZvKTsKIHN0YXRpYyB2b2lkIGR1bXBPcGZhbWlseShB cmNoaXZlICpmb3V0LCBjb25zdCBPcGZhbWlseUluZm8gKm9wZmluZm8pOwogc3RhdGljIHZv aWQgZHVtcENvbGxhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBDb2xsSW5mbyAqY29sbGlu Zm8pOworc3RhdGljIHZvaWQgZHVtcFhtbFNjaGVtYShBcmNoaXZlICpmb3V0LCBjb25zdCBY bWxTY2hlbWFJbmZvICogeG1sc2NoZW1haW5mbyk7CiBzdGF0aWMgdm9pZCBkdW1wQ29udmVy c2lvbihBcmNoaXZlICpmb3V0LCBjb25zdCBDb252SW5mbyAqY29udmluZm8pOwogc3RhdGlj IHZvaWQgZHVtcFJ1bGUoQXJjaGl2ZSAqZm91dCwgY29uc3QgUnVsZUluZm8gKnJpbmZvKTsK IHN0YXRpYyB2b2lkIGR1bXBBZ2coQXJjaGl2ZSAqZm91dCwgY29uc3QgQWdnSW5mbyAqYWdn aW5mbyk7CkBAIC02NTc2LDYgKzY1NzcsNjIgQEAgZ2V0Q29udmVyc2lvbnMoQXJjaGl2ZSAq Zm91dCkKIAlkZXN0cm95UFFFeHBCdWZmZXIocXVlcnkpOwogfQogCisvKgorICogZ2V0WG1s U2NoZW1hczoKKyAqCSAgZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFsbCBYTUwgc2NoZW1hcyBp biB0aGUgc3lzdGVtIGNhdGFsb2dzCisgKi8KK3ZvaWQKK2dldFhtbFNjaGVtYXMoQXJjaGl2 ZSAqZm91dCkKK3sKKwlQR3Jlc3VsdCAgICpyZXM7CisJaW50CQkJbnR1cHM7CisJaW50CQkJ aTsKKwlQUUV4cEJ1ZmZlciBxdWVyeTsKKwlYbWxTY2hlbWFJbmZvICp4bWxzY2hlbWFpbmZv OworCWludAkJCWlfdGFibGVvaWQ7CisJaW50CQkJaV9vaWQ7CisJaW50CQkJaV9zY2hlbWFu YW1lOworCWludAkJCWlfc2NoZW1hbmFtZXNwYWNlOworCWludAkJCWlfc2NoZW1hb3duZXI7 CisKKwlxdWVyeSA9IGNyZWF0ZVBRRXhwQnVmZmVyKCk7CisKKwlhcHBlbmRQUUV4cEJ1ZmZl clN0cihxdWVyeSwgIlNFTEVDVCB0YWJsZW9pZCwgb2lkLCBzY2hlbWFuYW1lLCAiCisJCQkJ CQkgInNjaGVtYW5hbWVzcGFjZSwgIgorCQkJCQkJICJzY2hlbWFvd25lciAiCisJCQkJCQkg IkZST00gcGdfeG1sc2NoZW1hIik7CisKKwlyZXMgPSBFeGVjdXRlU3FsUXVlcnkoZm91dCwg cXVlcnktPmRhdGEsIFBHUkVTX1RVUExFU19PSyk7CisKKwludHVwcyA9IFBRbnR1cGxlcyhy ZXMpOworCisJeG1sc2NoZW1haW5mbyA9IChYbWxTY2hlbWFJbmZvICopIHBnX21hbGxvYyhu dHVwcyAqIHNpemVvZihYbWxTY2hlbWFJbmZvKSk7CisKKwlpX3RhYmxlb2lkID0gUFFmbnVt YmVyKHJlcywgInRhYmxlb2lkIik7CisJaV9vaWQgPSBQUWZudW1iZXIocmVzLCAib2lkIik7 CisJaV9zY2hlbWFuYW1lID0gUFFmbnVtYmVyKHJlcywgInNjaGVtYW5hbWUiKTsKKwlpX3Nj aGVtYW5hbWVzcGFjZSA9IFBRZm51bWJlcihyZXMsICJzY2hlbWFuYW1lc3BhY2UiKTsKKwlp X3NjaGVtYW93bmVyID0gUFFmbnVtYmVyKHJlcywgInNjaGVtYW93bmVyIik7CisKKwlmb3Ig KGkgPSAwOyBpIDwgbnR1cHM7IGkrKykKKwl7CisJCXhtbHNjaGVtYWluZm9baV0uZG9iai5v YmpUeXBlID0gRE9fWE1MU0NIRU1BOworCQl4bWxzY2hlbWFpbmZvW2ldLmRvYmouY2F0SWQu dGFibGVvaWQgPSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGksIGlfdGFibGVvaWQpKTsKKwkJ eG1sc2NoZW1haW5mb1tpXS5kb2JqLmNhdElkLm9pZCA9IGF0b29pZChQUWdldHZhbHVlKHJl cywgaSwgaV9vaWQpKTsKKwkJQXNzaWduRHVtcElkKCZ4bWxzY2hlbWFpbmZvW2ldLmRvYmop OworCQl4bWxzY2hlbWFpbmZvW2ldLmRvYmoubmFtZSA9IHBnX3N0cmR1cChQUWdldHZhbHVl KHJlcywgaSwgaV9zY2hlbWFuYW1lKSk7CisJCXhtbHNjaGVtYWluZm9baV0uZG9iai5uYW1l c3BhY2UgPQorCQkJZmluZE5hbWVzcGFjZShhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGksIGlf c2NoZW1hbmFtZXNwYWNlKSkpOworCQl4bWxzY2hlbWFpbmZvW2ldLnJvbG5hbWUgPSBnZXRS b2xlTmFtZShQUWdldHZhbHVlKHJlcywgaSwgaV9zY2hlbWFvd25lcikpOworCisJCXNlbGVj dER1bXBhYmxlT2JqZWN0KCYoeG1sc2NoZW1haW5mb1tpXS5kb2JqKSwgZm91dCk7CisJfQor CisJUFFjbGVhcihyZXMpOworCisJZGVzdHJveVBRRXhwQnVmZmVyKHF1ZXJ5KTsKK30KKwog LyoKICAqIGdldEFjY2Vzc01ldGhvZHM6CiAgKgkgIGdldCBpbmZvcm1hdGlvbiBhYm91dCBh bGwgdXNlci1kZWZpbmVkIGFjY2VzcyBtZXRob2RzCkBAIC0xMTcyNiw2ICsxMTc4Myw5IEBA IGR1bXBEdW1wYWJsZU9iamVjdChBcmNoaXZlICpmb3V0LCBEdW1wYWJsZU9iamVjdCAqZG9i aikKIAkJY2FzZSBET19DT05WRVJTSU9OOgogCQkJZHVtcENvbnZlcnNpb24oZm91dCwgKGNv bnN0IENvbnZJbmZvICopIGRvYmopOwogCQkJYnJlYWs7CisJCWNhc2UgRE9fWE1MU0NIRU1B OgorCQkJZHVtcFhtbFNjaGVtYShmb3V0LCAoY29uc3QgWG1sU2NoZW1hSW5mbyAqKSBkb2Jq KTsKKwkJCWJyZWFrOwogCQljYXNlIERPX1RBQkxFOgogCQkJZHVtcFRhYmxlKGZvdXQsIChj b25zdCBUYWJsZUluZm8gKikgZG9iaik7CiAJCQlicmVhazsKQEAgLTE1MjUyLDYgKzE1MzEy LDczIEBAIGR1bXBDb2xsYXRpb24oQXJjaGl2ZSAqZm91dCwgY29uc3QgQ29sbEluZm8gKmNv bGxpbmZvKQogCWZyZWUocWNvbGxuYW1lKTsKIH0KIAorLyoKKyAqIGR1bXBYbWxTY2hlbWEK KyAqCSAgd3JpdGUgb3V0IGEgc2luZ2xlIFhNTCBzY2hlbWEgZGVmaW5pdGlvbgorICovCitz dGF0aWMgdm9pZAorZHVtcFhtbFNjaGVtYShBcmNoaXZlICpmb3V0LCBjb25zdCBYbWxTY2hl bWFJbmZvICogeG1sc2NoZW1haW5mbykKK3sKKwlEdW1wT3B0aW9ucyAqZG9wdCA9IGZvdXQt PmRvcHQ7CisJUFFFeHBCdWZmZXIgcXVlcnk7CisJUFFFeHBCdWZmZXIgcTsKKwlQUUV4cEJ1 ZmZlciBkZWxxOworCWNoYXIJICAgKnF4bWxzY2hlbWFuYW1lOworCVBHcmVzdWx0ICAgKnJl czsKKwlpbnQJCQlpX3NjaGVtYWRhdGE7CisJY2hhcgkgICAqc2NoZW1hZGF0YTsKKworCWlm ICghZG9wdC0+ZHVtcFNjaGVtYSkKKwkJcmV0dXJuOworCisJcXVlcnkgPSBjcmVhdGVQUUV4 cEJ1ZmZlcigpOworCXEgPSBjcmVhdGVQUUV4cEJ1ZmZlcigpOworCWRlbHEgPSBjcmVhdGVQ UUV4cEJ1ZmZlcigpOworCisJcXhtbHNjaGVtYW5hbWUgPSBwZ19zdHJkdXAoZm10SWQoeG1s c2NoZW1haW5mby0+ZG9iai5uYW1lKSk7CisKKwlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwK KwkJCQkJICAiU0VMRUNUIHNjaGVtYWRhdGEgIgorCQkJCQkgICJGUk9NIHBnX2NhdGFsb2cu cGdfeG1sc2NoZW1hICIKKwkJCQkJICAiV0hFUkUgb2lkID0gJyV1Jzo6cGdfY2F0YWxvZy5v aWQiLAorCQkJCQkgIHhtbHNjaGVtYWluZm8tPmRvYmouY2F0SWQub2lkKTsKKworCXJlcyA9 IEV4ZWN1dGVTcWxRdWVyeUZvclNpbmdsZVJvdyhmb3V0LCBxdWVyeS0+ZGF0YSk7CisKKwlp X3NjaGVtYWRhdGEgPSBQUWZudW1iZXIocmVzLCAic2NoZW1hZGF0YSIpOworCXNjaGVtYWRh dGEgPSBQUWdldHZhbHVlKHJlcywgMCwgaV9zY2hlbWFkYXRhKTsKKworCWFwcGVuZFBRRXhw QnVmZmVyKGRlbHEsICJEUk9QIFhNTFNDSEVNQSAlcztcbiIsCisJCQkJCSAgZm10UXVhbGlm aWVkRHVtcGFibGUoeG1sc2NoZW1haW5mbykpOworCisJYXBwZW5kUFFFeHBCdWZmZXIocSwg IkNSRUFURSBYTUxTQ0hFTUEgJXMgQVMgIiwKKwkJCQkJICBmbXRRdWFsaWZpZWREdW1wYWJs ZSh4bWxzY2hlbWFpbmZvKSk7CisJYXBwZW5kU3RyaW5nTGl0ZXJhbEFIKHEsIHNjaGVtYWRh dGEsIGZvdXQpOworCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEsICI7XG4iKTsKKworCWlmICh4 bWxzY2hlbWFpbmZvLT5kb2JqLmR1bXAgJiBEVU1QX0NPTVBPTkVOVF9ERUZJTklUSU9OKQor CQlBcmNoaXZlRW50cnkoZm91dCwgeG1sc2NoZW1haW5mby0+ZG9iai5jYXRJZCwgeG1sc2No ZW1haW5mby0+ZG9iai5kdW1wSWQsCisJCQkJCSBBUkNISVZFX09QVFMoLnRhZyA9IHhtbHNj aGVtYWluZm8tPmRvYmoubmFtZSwKKwkJCQkJCQkJICAubmFtZXNwYWNlID0geG1sc2NoZW1h aW5mby0+ZG9iai5uYW1lc3BhY2UtPmRvYmoubmFtZSwKKwkJCQkJCQkJICAub3duZXIgPSB4 bWxzY2hlbWFpbmZvLT5yb2xuYW1lLAorCQkJCQkJCQkgIC5kZXNjcmlwdGlvbiA9ICJYTUxT Q0hFTUEiLAorCQkJCQkJCQkgIC5zZWN0aW9uID0gU0VDVElPTl9QUkVfREFUQSwKKwkJCQkJ CQkJICAuY3JlYXRlU3RtdCA9IHEtPmRhdGEsCisJCQkJCQkJCSAgLmRyb3BTdG10ID0gZGVs cS0+ZGF0YSkpOworCisJaWYgKHhtbHNjaGVtYWluZm8tPmRvYmouZHVtcCAmIERVTVBfQ09N UE9ORU5UX0NPTU1FTlQpCisJCWR1bXBDb21tZW50KGZvdXQsICJYTUxTQ0hFTUEiLCBxeG1s c2NoZW1hbmFtZSwKKwkJCQkJeG1sc2NoZW1haW5mby0+ZG9iai5uYW1lc3BhY2UtPmRvYmou bmFtZSwgeG1sc2NoZW1haW5mby0+cm9sbmFtZSwKKwkJCQkJeG1sc2NoZW1haW5mby0+ZG9i ai5jYXRJZCwgMCwgeG1sc2NoZW1haW5mby0+ZG9iai5kdW1wSWQpOworCisJUFFjbGVhcihy ZXMpOworCisJZGVzdHJveVBRRXhwQnVmZmVyKHF1ZXJ5KTsKKwlkZXN0cm95UFFFeHBCdWZm ZXIocSk7CisJZGVzdHJveVBRRXhwQnVmZmVyKGRlbHEpOworCWZyZWUocXhtbHNjaGVtYW5h bWUpOworfQorCiAvKgogICogZHVtcENvbnZlcnNpb24KICAqCSAgd3JpdGUgb3V0IGEgc2lu Z2xlIGNvbnZlcnNpb24gZGVmaW5pdGlvbgpAQCAtMjA0MjIsNiArMjA1NDksNyBAQCBhZGRC b3VuZGFyeURlcGVuZGVuY2llcyhEdW1wYWJsZU9iamVjdCAqKmRvYmpzLCBpbnQgbnVtT2Jq cywKIAkJCWNhc2UgRE9fT1BGQU1JTFk6CiAJCQljYXNlIERPX0NPTExBVElPTjoKIAkJCWNh c2UgRE9fQ09OVkVSU0lPTjoKKwkJCWNhc2UgRE9fWE1MU0NIRU1BOgogCQkJY2FzZSBET19U QUJMRToKIAkJCWNhc2UgRE9fVEFCTEVfQVRUQUNIOgogCQkJY2FzZSBET19BVFRSREVGOgpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBiL3NyYy9iaW4vcGdfZHVt cC9wZ19kdW1wLmgKaW5kZXggNGM0YjE0ZTVmYy4uYmMxY2Y1YTAwZCAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5oCkBAIC01MCw2ICs1MCw3IEBAIHR5cGVkZWYgZW51bQogCURPX09QRkFNSUxZLAogCURP X0NPTExBVElPTiwKIAlET19DT05WRVJTSU9OLAorCURPX1hNTFNDSEVNQSwKIAlET19UQUJM RSwKIAlET19UQUJMRV9BVFRBQ0gsCiAJRE9fQVRUUkRFRiwKQEAgLTI5OSw2ICszMDAsMTIg QEAgdHlwZWRlZiBzdHJ1Y3QgX2NvbnZJbmZvCiAJY29uc3QgY2hhciAqcm9sbmFtZTsKIH0g Q29udkluZm87CiAKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFJbmZvCit7CisJRHVtcGFi bGVPYmplY3QgZG9iajsKKwljb25zdCBjaGFyICpyb2xuYW1lOworfQkJCVhtbFNjaGVtYUlu Zm87CisKIHR5cGVkZWYgc3RydWN0IF90YWJsZUluZm8KIHsKIAkvKgpAQCAtNzk3LDYgKzgw NCw3IEBAIGV4dGVybiB2b2lkIGdldE9wY2xhc3NlcyhBcmNoaXZlICpmb3V0KTsKIGV4dGVy biB2b2lkIGdldE9wZmFtaWxpZXMoQXJjaGl2ZSAqZm91dCk7CiBleHRlcm4gdm9pZCBnZXRD b2xsYXRpb25zKEFyY2hpdmUgKmZvdXQpOwogZXh0ZXJuIHZvaWQgZ2V0Q29udmVyc2lvbnMo QXJjaGl2ZSAqZm91dCk7CitleHRlcm4gdm9pZCBnZXRYbWxTY2hlbWFzKEFyY2hpdmUgKmZv dXQpOwogZXh0ZXJuIFRhYmxlSW5mbyAqZ2V0VGFibGVzKEFyY2hpdmUgKmZvdXQsIGludCAq bnVtVGFibGVzKTsKIGV4dGVybiB2b2lkIGdldE93bmVkU2VxcyhBcmNoaXZlICpmb3V0LCBU YWJsZUluZm8gdGJsaW5mb1tdLCBpbnQgbnVtVGFibGVzKTsKIGV4dGVybiBJbmhJbmZvICpn ZXRJbmhlcml0cyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bUluaGVyaXRzKTsKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyBiL3NyYy9iaW4vcGdfZHVtcC9w Z19kdW1wX3NvcnQuYwppbmRleCAyNGJlZDY2ODFkLi5kMDI4MTQ5YWZlIDEwMDY0NAotLS0g YS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXBfc29ydC5jCkBAIC0xNTc1LDYgKzE1NzUsMTEgQEAgZGVzY3JpYmVEdW1wYWJs ZU9iamVjdChEdW1wYWJsZU9iamVjdCAqb2JqLCBjaGFyICpidWYsIGludCBidWZzaXplKQog CQkJCQkgIkNPTlZFUlNJT04gJXMgIChJRCAlZCBPSUQgJXUpIiwKIAkJCQkJIG9iai0+bmFt ZSwgb2JqLT5kdW1wSWQsIG9iai0+Y2F0SWQub2lkKTsKIAkJCXJldHVybjsKKwkJY2FzZSBE T19YTUxTQ0hFTUE6CisJCQlzbnByaW50ZihidWYsIGJ1ZnNpemUsCisJCQkJCSAiWE1MU0NI RU1BICVzICAoSUQgJWQgT0lEICV1KSIsCisJCQkJCSBvYmotPm5hbWUsIG9iai0+ZHVtcElk LCBvYmotPmNhdElkLm9pZCk7CisJCQlyZXR1cm47CiAJCWNhc2UgRE9fVEFCTEU6CiAJCQlz bnByaW50ZihidWYsIGJ1ZnNpemUsCiAJCQkJCSAiVEFCTEUgJXMgIChJRCAlZCBPSUQgJXUp IiwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuaW4uYwppbmRleCA4YjkxYmMwMDA2Li4zZTNkNzg4ODI5 IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKKysrIGIvc3Jj L2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCkBAIC03OTcsNiArNzk3LDEzIEBAIHN0YXRp YyBjb25zdCBTY2hlbWFRdWVyeSBRdWVyeV9mb3JfbGlzdF9vZl9tYXR2aWV3cyA9IHsKIAku cmVzdWx0ID0gImMucmVsbmFtZSIsCiB9OwogCitzdGF0aWMgY29uc3QgU2NoZW1hUXVlcnkg UXVlcnlfZm9yX2xpc3Rfb2ZfeG1sc2NoZW1hcyA9IHsKKwkuY2F0bmFtZSA9ICJwZ19jYXRh bG9nLnBnX3htbHNjaGVtYSBzIiwKKwkudmlzY29uZGl0aW9uID0gInBnX2NhdGFsb2cuaGFz X3NjaGVtYV9wcml2aWxlZ2Uocy5vaWQsICdVU0FHRScpIiwKKwkubmFtZXNwYWNlID0gInMu c2NoZW1hbmFtZXNwYWNlIiwKKwkucmVzdWx0ID0gInMuc2NoZW1hbmFtZSIsCit9OworCiBz dGF0aWMgY29uc3QgU2NoZW1hUXVlcnkgUXVlcnlfZm9yX2xpc3Rfb2ZfaW5kZXhlcyA9IHsK IAkuY2F0bmFtZSA9ICJwZ19jYXRhbG9nLnBnX2NsYXNzIGMiLAogCS5zZWxjb25kaXRpb24g PQpAQCAtMTM2NCw2ICsxMzcxLDcgQEAgc3RhdGljIGNvbnN0IHBnc3FsX3RoaW5nX3Qgd29y ZHNfYWZ0ZXJfY3JlYXRlW10gPSB7CiAJeyJVU0VSIiwgUXVlcnlfZm9yX2xpc3Rfb2Zfcm9s ZXMsIE5VTEwsIE5VTEwsIEtleXdvcmRzX2Zvcl91c2VyX3RoaW5nfSwKIAl7IlVTRVIgTUFQ UElORyBGT1IiLCBOVUxMLCBOVUxMLCBOVUxMfSwKIAl7IlZJRVciLCBOVUxMLCBOVUxMLCAm UXVlcnlfZm9yX2xpc3Rfb2Zfdmlld3N9LAorCXsiWE1MU0NIRU1BIiwgTlVMTCwgTlVMTCwg JlF1ZXJ5X2Zvcl9saXN0X29mX3htbHNjaGVtYXN9LAogCXtOVUxMfQkJCQkJCS8qIGVuZCBv ZiBsaXN0ICovCiB9OwogCkBAIC0yNzAxLDYgKzI3MDksMTAgQEAgbWF0Y2hfcHJldmlvdXNf d29yZHMoaW50IHBhdHRlcm5faWQsCiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiTUFU RVJJQUxJWkVEIiwgIlZJRVciLCBNYXRjaEFueSwgIlNFVCIsICJBQ0NFU1MiLCAiTUVUSE9E IikpCiAJCUNPTVBMRVRFX1dJVEhfUVVFUlkoUXVlcnlfZm9yX2xpc3Rfb2ZfdGFibGVfYWNj ZXNzX21ldGhvZHMpOwogCisJLyogQUxURVIgWE1MU0NIRU1BIDxuYW1lPiAqLworCWVsc2Ug aWYgKE1hdGNoZXMoIkFMVEVSIiwgIlhNTFNDSEVNQSIsIE1hdGNoQW55KSkKKwkJQ09NUExF VEVfV0lUSCgiT1dORVIgVE8iLCAiUkVOQU1FIFRPIiwgIlNFVCBTQ0hFTUEiKTsKKwogCS8q IEFMVEVSIFBPTElDWSA8bmFtZT4gKi8KIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQ T0xJQ1kiKSkKIAkJQ09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl9wb2xp Y2llcyk7CkBAIC00MTc4LDYgKzQxOTAsMTYgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50 IHBhdHRlcm5faWQsCiAJCQkgTWF0Y2hlcygiQ1JFQVRFIiwgIk1BVEVSSUFMSVpFRCIsICJW SUVXIiwgTWF0Y2hBbnksICJVU0lORyIsIE1hdGNoQW55LCAiQVMiKSkKIAkJQ09NUExFVEVf V0lUSCgiU0VMRUNUIik7CiAKKy8qIENSRUFURSBYTUxTQ0hFTUEgKi8KKwllbHNlIGlmIChN YXRjaGVzKCJDUkVBVEUiLCAiWE1MU0NIRU1BIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9X SVRIKCJBUyIsICJJRiIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJYTUxTQ0hF TUEiLCAiSUYiKSkKKwkJQ09NUExFVEVfV0lUSCgiTk9UIik7CisJZWxzZSBpZiAoTWF0Y2hl cygiQ1JFQVRFIiwgIlhNTFNDSEVNQSIsICJJRiIsICJOT1QiKSkKKwkJQ09NUExFVEVfV0lU SCgiRVhJU1RTIik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlhNTFNDSEVNQSIs ICJJRiIsICJOT1QiLCAiRVhJU1RTIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRIKCJB UyIpOworCiAvKiBDUkVBVEUgRVZFTlQgVFJJR0dFUiAqLwogCWVsc2UgaWYgKE1hdGNoZXMo IkNSRUFURSIsICJFVkVOVCIpKQogCQlDT01QTEVURV9XSVRIKCJUUklHR0VSIik7CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9NYWtlZmlsZQppbmRleCBjOTAwMjJmN2M1Li5kY2IxZDg5NmQ5IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvTWFrZWZpbGUKQEAgLTcyLDYgKzcyLDcgQEAgQ0FUQUxPR19IRUFERVJTIDo9IFwKIAlw Z19zZWNsYWJlbC5oIFwKIAlwZ19zaHNlY2xhYmVsLmggXAogCXBnX2NvbGxhdGlvbi5oIFwK KwlwZ194bWxzY2hlbWEuaCBcCiAJcGdfcGFyYW1ldGVyX2FjbC5oIFwKIAlwZ19wYXJ0aXRp b25lZF90YWJsZS5oIFwKIAlwZ19yYW5nZS5oIFwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvbWVzb24uYnVpbGQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1aWxk CmluZGV4IGI2M2NkNTg0MDYuLjU4NDY5MTlmNjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvbWVzb24uYnVpbGQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5i dWlsZApAQCAtNTksNiArNTksNyBAQCBjYXRhbG9nX2hlYWRlcnMgPSBbCiAgICdwZ19zZWNs YWJlbC5oJywKICAgJ3BnX3Noc2VjbGFiZWwuaCcsCiAgICdwZ19jb2xsYXRpb24uaCcsCisg ICdwZ194bWxzY2hlbWEuaCcsCiAgICdwZ19wYXJhbWV0ZXJfYWNsLmgnLAogICAncGdfcGFy dGl0aW9uZWRfdGFibGUuaCcsCiAgICdwZ19yYW5nZS5oJywKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvbmFtZXNwYWNlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL25hbWVz cGFjZS5oCmluZGV4IDFhMjU5NzM2ODUuLmEwZjk1ODVjNTMgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvbmFtZXNwYWNlLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9u YW1lc3BhY2UuaApAQCAtMTkxLDYgKzE5MSw3IEBAIGV4dGVybiBib29sIFNlYXJjaFBhdGhN YXRjaGVzQ3VycmVudEVudmlyb25tZW50KFNlYXJjaFBhdGhNYXRjaGVyICpwYXRoKTsKIAog ZXh0ZXJuIE9pZAlnZXRfY29sbGF0aW9uX29pZChMaXN0ICpjb2xsbmFtZSwgYm9vbCBtaXNz aW5nX29rKTsKIGV4dGVybiBPaWQJZ2V0X2NvbnZlcnNpb25fb2lkKExpc3QgKmNvbm5hbWUs IGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gT2lkCWdldF94bWxzY2hlbWFfb2lkKExpc3Qg KnNjaGVtYW5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gT2lkCUZpbmREZWZhdWx0 Q29udmVyc2lvblByb2MoaW50MzIgZm9yX2VuY29kaW5nLCBpbnQzMiB0b19lbmNvZGluZyk7 CiAKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ194bWxzY2hlbWEuaCBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfeG1sc2NoZW1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMC4uMzI2MTQyMGYyYgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfeG1sc2NoZW1hLmgKQEAgLTAsMCArMSw0OCBAQAorI2lm bmRlZiBQR19YTUxTQ0hFTUFfSAorI2RlZmluZSBQR19YTUxTQ0hFTUFfSAorCisjaW5jbHVk ZSAiY2F0YWxvZy9nZW5ia2kuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3htbHNjaGVtYV9k LmgiCisjaW5jbHVkZSAidXRpbHMveG1sLmgiCisKK0NBVEFMT0cocGdfeG1sc2NoZW1hLDY0 MzQsWG1sU2NoZW1hUmVsYXRpb25JZCkKK3sKKwlPaWQJCQlvaWQ7CQkJLyogb2lkICovCisJ TmFtZURhdGEJc2NoZW1hbmFtZTsJCS8qIFhNTCBzY2hlbWEgbmFtZSAqLworCisJLyogT0lE IG9mIG5hbWVzcGFjZSBjb250YWluaW5nIHRoaXMgWE1MIHNjaGVtYSAqLworCU9pZAkJCXNj aGVtYW5hbWVzcGFjZSBCS0lfREVGQVVMVChwZ19jYXRhbG9nKSBCS0lfTE9PS1VQKHBnX25h bWVzcGFjZSk7CisKKwkvKiBvd25lciBvZiBYTUwgc2NoZW1hICovCisJT2lkCQkJc2NoZW1h b3duZXIgQktJX0RFRkFVTFQoUE9TVEdSRVMpIEJLSV9MT09LVVAocGdfYXV0aGlkKTsKKyNp ZmRlZiBDQVRBTE9HX1ZBUkxFTgorCS8qIFRoZSBYU0QgaXRzZWxmICovCisJeG1sCQkJc2No ZW1hZGF0YSBCS0lfRk9SQ0VfTk9UX05VTEw7CisKKwkvKiBBY2Nlc3MgcHJpdmlsZWdlcyAq LworCWFjbGl0ZW0JCXNjaGVtYWFjbFsxXSBCS0lfREVGQVVMVChfbnVsbF8pOworI2VuZGlm Cit9IEZvcm1EYXRhX3BnX3htbHNjaGVtYTsKKworLyogLS0tLS0tLS0tLS0tLS0tLQorICog ICAgICAgIEZvcm1fcGdfeG1sc2NoZW1hIG1hcHMgdG8gYSBwb2ludGVyIHRvIGEgcm93IHdp dGgKKyAqICAgICAgICB0aGUgZm9ybWF0IG9mIHBnX3htbHNjaGVtYSByZWxhdGlvbi4KKyAq IC0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBGb3JtRGF0YV9wZ194bWxzY2hlbWEg KiBGb3JtX3BnX3htbHNjaGVtYTsKKworREVDTEFSRV9UT0FTVChwZ194bWxzY2hlbWEsIDY0 MzUsIDY0MzYpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfeG1sc2NoZW1hX25hbWVfbnNw X2luZGV4LCA2NDM3LCBYbWxTY2hlbWFOYW1lTnNwSW5kZXhJZCwgcGdfeG1sc2NoZW1hLCBi dHJlZShzY2hlbWFuYW1lIG5hbWVfb3BzLCBzY2hlbWFuYW1lc3BhY2Ugb2lkX29wcykpOwor REVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ194bWxzY2hlbWFfb2lkX2luZGV4LCA2NDM4 LCBYbWxTY2hlbWFPaWRJbmRleElkLCBwZ194bWxzY2hlbWEsIGJ0cmVlKG9pZCBvaWRfb3Bz KSk7CisKK01BS0VfU1lTQ0FDSEUoWE1MU0NIRU1BTkFNRU5TUCwgcGdfeG1sc2NoZW1hX25h bWVfbnNwX2luZGV4LCA4KTsKK01BS0VfU1lTQ0FDSEUoWE1MU0NIRU1BT0lELCBwZ194bWxz Y2hlbWFfb2lkX2luZGV4LCA4KTsKKworZXh0ZXJuIE9pZAlYbWxTY2hlbWFDcmVhdGUoY29u c3QgY2hhciAqc2NoZW1hbmFtZSwKKwkJCQkJCQlPaWQgc2NoZW1hbmFtZXNwYWNlLAorCQkJ CQkJCU9pZCBzY2hlbWFvd25lciwKKwkJCQkJCQl4bWx0eXBlICpzY2hlbWFkYXRhLAorCQkJ CQkJCWJvb2wgaWZfbm90X2V4aXN0cywKKwkJCQkJCQlib29sIHF1aWV0KTsKKworI2VuZGlm CQkJCQkJCS8qIFBHX1hNTFNDSEVNQV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j b21tYW5kcy94bWxzY2hlbWFjbWRzLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy94bWxzY2hl bWFjbWRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMzAyY2I3 OTFmMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3htbHNjaGVt YWNtZHMuaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgWE1MU0NIRU1BQ01EU19ICisjZGVm aW5lIFhNTFNDSEVNQUNNRFNfSAorCisjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNz LmgiCisjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKKworZXh0ZXJuIE9iamVjdEFk ZHJlc3MgRGVmaW5lWG1sU2NoZW1hKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqbmFtZXMs IExpc3QgKnBhcmFtZXRlcnMsIGJvb2wgaWZfbm90X2V4aXN0cyk7CisKKyNlbmRpZgkJCQkJ CQkvKiBYTUxTQ0hFTUFDTURTX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVz L3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA2 NDZkNmNlZDc2Li41MTBiNzlhMzQ2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9w YXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0y NDAxLDYgKzI0MDEsNyBAQCB0eXBlZGVmIGVudW0gT2JqZWN0VHlwZQogCU9CSkVDVF9UWVBF LAogCU9CSkVDVF9VU0VSX01BUFBJTkcsCiAJT0JKRUNUX1ZJRVcsCisJT0JKRUNUX1hNTFND SEVNQSwKIH0gT2JqZWN0VHlwZTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUvcGFy c2VyL2t3bGlzdC5oCmluZGV4IGY3NzUzYzVjOGEuLmEwMThjMmI5ZTAgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIv a3dsaXN0LmgKQEAgLTUyMCw2ICs1MjAsNyBAQCBQR19LRVlXT1JEKCJ4bWxuYW1lc3BhY2Vz IiwgWE1MTkFNRVNQQUNFUywgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tF WVdPUkQoInhtbHBhcnNlIiwgWE1MUEFSU0UsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJ4bWxwaSIsIFhNTFBJLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJF X0xBQkVMKQogUEdfS0VZV09SRCgieG1scm9vdCIsIFhNTFJPT1QsIENPTF9OQU1FX0tFWVdP UkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJ4bWxzY2hlbWEiLCBYTUxTQ0hFTUEsIFVO UkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInhtbHNlcmlhbGl6 ZSIsIFhNTFNFUklBTElaRSwgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tF WVdPUkQoInhtbHRhYmxlIiwgWE1MVEFCTEUsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJ5ZWFyIiwgWUVBUl9QLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEFT X0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggYi9z cmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAppbmRleCAxMjkwYzliYWI2Li4xY2QzNTQ1 MmFjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAorKysgYi9z cmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaApAQCAtMzEsNiArMzEsNyBAQCBQR19DTURU QUcoQ01EVEFHX0FMVEVSX0NBU1QsICJBTFRFUiBDQVNUIiwgdHJ1ZSwgZmFsc2UsIGZhbHNl KQogUEdfQ01EVEFHKENNRFRBR19BTFRFUl9DT0xMQVRJT04sICJBTFRFUiBDT0xMQVRJT04i LCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0FMVEVSX0NPTlNUUkFJ TlQsICJBTFRFUiBDT05TVFJBSU5UIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFH KENNRFRBR19BTFRFUl9DT05WRVJTSU9OLCAiQUxURVIgQ09OVkVSU0lPTiIsIHRydWUsIGZh bHNlLCBmYWxzZSkKK1BHX0NNRFRBRyhDTURUQUdfQUxURVJfWE1MU0NIRU1BLCAiQUxURVIg WE1MU0NIRU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19BTFRF Ul9EQVRBQkFTRSwgIkFMVEVSIERBVEFCQVNFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBH X0NNRFRBRyhDTURUQUdfQUxURVJfREVGQVVMVF9QUklWSUxFR0VTLCAiQUxURVIgREVGQVVM VCBQUklWSUxFR0VTIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19B TFRFUl9ET01BSU4sICJBTFRFUiBET01BSU4iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCkBAIC04 OCw2ICs4OSw3IEBAIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX0NBU1QsICJDUkVBVEUgQ0FT VCIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX0NPTExB VElPTiwgIkNSRUFURSBDT0xMQVRJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURU QUcoQ01EVEFHX0NSRUFURV9DT05TVFJBSU5ULCAiQ1JFQVRFIENPTlNUUkFJTlQiLCB0cnVl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9DT05WRVJTSU9OLCAi Q1JFQVRFIENPTlZFUlNJT04iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCitQR19DTURUQUcoQ01E VEFHX0NSRUFURV9YTUxTQ0hFTUEsICJDUkVBVEUgWE1MU0NIRU1BIiwgdHJ1ZSwgZmFsc2Us IGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfREFUQUJBU0UsICJDUkVBVEUgREFU QUJBU0UiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19DUkVBVEVf RE9NQUlOLCAiQ1JFQVRFIERPTUFJTiIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRB RyhDTURUQUdfQ1JFQVRFX0VWRU5UX1RSSUdHRVIsICJDUkVBVEUgRVZFTlQgVFJJR0dFUiIs IGZhbHNlLCBmYWxzZSwgZmFsc2UpCkBAIC0xNDAsNiArMTQyLDcgQEAgUEdfQ01EVEFHKENN RFRBR19EUk9QX0NBU1QsICJEUk9QIENBU1QiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19D TURUQUcoQ01EVEFHX0RST1BfQ09MTEFUSU9OLCAiRFJPUCBDT0xMQVRJT04iLCB0cnVlLCBm YWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1BfQ09OU1RSQUlOVCwgIkRST1Ag Q09OU1RSQUlOVCIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRFJP UF9DT05WRVJTSU9OLCAiRFJPUCBDT05WRVJTSU9OIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQor UEdfQ01EVEFHKENNRFRBR19EUk9QX1hNTFNDSEVNQSwgIkRST1AgWE1MU0NIRU1BIiwgdHJ1 ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9QX0RBVEFCQVNFLCAiRFJP UCBEQVRBQkFTRSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RS T1BfRE9NQUlOLCAiRFJPUCBET01BSU4iLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURU QUcoQ01EVEFHX0RST1BfRVZFTlRfVFJJR0dFUiwgIkRST1AgRVZFTlQgVFJJR0dFUiIsIGZh bHNlLCBmYWxzZSwgZmFsc2UpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9hY2wu aCBiL3NyYy9pbmNsdWRlL3V0aWxzL2FjbC5oCmluZGV4IGVjMDFmZDU4MWMuLmUyNDQyN2M5 NjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2FjbC5oCisrKyBiL3NyYy9pbmNs dWRlL3V0aWxzL2FjbC5oCkBAIC0xNjksNiArMTY5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQXJy YXlUeXBlIEFjbDsKICNkZWZpbmUgQUNMX0FMTF9SSUdIVFNfU0NIRU1BCQkoQUNMX1VTQUdF fEFDTF9DUkVBVEUpCiAjZGVmaW5lIEFDTF9BTExfUklHSFRTX1RBQkxFU1BBQ0UJKEFDTF9D UkVBVEUpCiAjZGVmaW5lIEFDTF9BTExfUklHSFRTX1RZUEUJCQkoQUNMX1VTQUdFKQorI2Rl ZmluZSBBQ0xfQUxMX1JJR0hUU19YTUxTQ0hFTUEJKEFDTF9VU0FHRSkKIAogLyogb3BlcmF0 aW9uIGNvZGVzIGZvciBwZ18qX2FjbG1hc2sgKi8KIHR5cGVkZWYgZW51bQpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vaWRqb2lucy5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dAppbmRleCAyNWFhYWU4ZDA1Li4yNDZkZWFi ZDE3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dApAQCAtMjM5 LDYgKzIzOSw4IEBAIE5PVElDRTogIGNoZWNraW5nIHBnX3NlY2xhYmVsIHtjbGFzc29pZH0g PT4gcGdfY2xhc3Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3Noc2VjbGFiZWwge2Ns YXNzb2lkfSA9PiBwZ19jbGFzcyB7b2lkfQogTk9USUNFOiAgY2hlY2tpbmcgcGdfY29sbGF0 aW9uIHtjb2xsbmFtZXNwYWNlfSA9PiBwZ19uYW1lc3BhY2Uge29pZH0KIE5PVElDRTogIGNo ZWNraW5nIHBnX2NvbGxhdGlvbiB7Y29sbG93bmVyfSA9PiBwZ19hdXRoaWQge29pZH0KK05P VElDRTogIGNoZWNraW5nIHBnX3htbHNjaGVtYSB7c2NoZW1hbmFtZXNwYWNlfSA9PiBwZ19u YW1lc3BhY2Uge29pZH0KK05PVElDRTogIGNoZWNraW5nIHBnX3htbHNjaGVtYSB7c2NoZW1h b3duZXJ9ID0+IHBnX2F1dGhpZCB7b2lkfQogTk9USUNFOiAgY2hlY2tpbmcgcGdfcGFydGl0 aW9uZWRfdGFibGUge3BhcnRyZWxpZH0gPT4gcGdfY2xhc3Mge29pZH0KIE5PVElDRTogIGNo ZWNraW5nIHBnX3BhcnRpdGlvbmVkX3RhYmxlIHtwYXJ0ZGVmaWR9ID0+IHBnX2NsYXNzIHtv aWR9CiBOT1RJQ0U6ICBjaGVja2luZyBwZ19wYXJ0aXRpb25lZF90YWJsZSB7cGFydGNsYXNz fSA9PiBwZ19vcGNsYXNzIHtvaWR9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3htbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbC5vdXQKaW5k ZXggMTAzYTIyYTNiMS4uNGUyNDY1N2QyZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC94bWwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1s Lm91dApAQCAtMTg4MSwzICsxODgxLDY3IEBAIFNFTEVDVCB4bWx0ZXh0KCd4J3x8ICc8UD43 MzwvUD4nOjp4bWwgfHwgLjQyIHx8IHRydWUgfHwgJ2onOjpjaGFyKTsKICB4Jmx0O1AmZ3Q7 NzMmbHQ7L1AmZ3Q7MC40MnRydWVqCiAoMSByb3cpCiAKK0NSRUFURSBYTUxTQ0hFTUEgcGVy c29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5z OnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50 IG5hbWU9InBlcnNvbiI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVl bmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmci Lz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2VyIi8+ CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6 ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1BIElGIE5PVCBFWElT VFMgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1h IHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpl bGVtZW50IG5hbWU9Im90aGVyIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7 CitOT1RJQ0U6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBhbHJlYWR5IGV4aXN0cywg c2tpcHBpbmcKK0NSRUFURSBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVy c2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8y MDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9ImR1cGxpY2F0ZSIgdHlwZT0i eHM6c3RyaW5nIi8+Cis8L3hzOnNjaGVtYT4nOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJz b25fc2NoZW1hIiBhbHJlYWR5IGV4aXN0cworQ1JFQVRFIFNDSEVNQSB0ZXN0X3htbHNjaGVt YV9uczsKK0NSRUFURSBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hl bWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0 cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJw cm9kdWN0Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+Cisg ICAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgorICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJwcmljZSIgdHlwZT0ieHM6ZGVjaW1hbCIvPgorICAg ICAgPC94czpzZXF1ZW5jZT4KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9 InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorICAgIDwveHM6Y29tcGxleFR5cGU+Cisg IDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CitDUkVBVEUgWE1MU0NIRU1BIGJhZF9z Y2hlbWEgQVMgJzx0aGlzLWlzLW5vdC12YWxpZC14c2Q+JzsKK0VSUk9SOiAgaW52YWxpZCBY TUwgc2NoZW1hIGRlZmluaXRpb24KK0RFVEFJTDogIGxpbmUgMTogUHJlbWF0dXJlIGVuZCBv ZiBkYXRhIGluIHRhZyB0aGlzLWlzLW5vdC12YWxpZC14c2QgbGluZSAxCis8dGhpcy1pcy1u b3QtdmFsaWQteHNkPgorICAgICAgICAgICAgICAgICAgICAgICBeCitDUkVBVEUgWE1MU0NI RU1BIGJhZF94bWxfc2NoZW1hIEFTICdub3QgZXZlbiB4bWwnOworRVJST1I6ICBpbnZhbGlk IFhNTCBzY2hlbWEgZGVmaW5pdGlvbgorREVUQUlMOiAgbGluZSAxOiBTdGFydCB0YWcgZXhw ZWN0ZWQsICc8JyBub3QgZm91bmQKK25vdCBldmVuIHhtbAorXgorQ1JFQVRFIFhNTFNDSEVN QSBib29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHht bG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVt ZW50IG5hbWU9ImJvb2siPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1 ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5cGU9InhzOnN0cmlu ZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiIG1heE9jY3Vycz0idW5i b3VuZGVkIj4KKyAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHM6 c2VxdWVuY2U+CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImZpcnN0bmFtZSIg dHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Imxh c3RuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+ CisgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94czplbGVtZW50Pgor ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ5ZWFyIiB0eXBlPSJ4czppbnRlZ2VyIi8+Cisg ICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpc2JuIiB0 eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBl PgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3htbF8xLm91dAppbmRleCA3M2M0MTExMThhLi5hZGVkNTdjNzhiIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbF8xLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3htbF8xLm91dApAQCAtMTQ5NiwzICsxNDk2LDY0IEBAIEVSUk9S OiAgdW5zdXBwb3J0ZWQgWE1MIGZlYXR1cmUKIExJTkUgMTogU0VMRUNUIHhtbHRleHQoJ3gn fHwgJzxQPjczPC9QPic6OnhtbCB8fCAuNDIgfHwgdHJ1ZSB8fCAnaic6Li4uCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KIERFVEFJTDogIFRoaXMgZnVuY3Rpb25hbGl0eSBy ZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQuCitD UkVBVEUgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJwZXJzb24iPgorICAgIDx4czpjb21wbGV4VHlw ZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibmFt ZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImFnZSIg dHlwZT0ieHM6aW50ZWdlciIvPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICA8L3hzOmNv bXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOworRVJST1I6ICB4 bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK0NSRUFURSBYTUxTQ0hFTUEgSUYg Tk9UIEVYSVNUUyBwZXJzb25fc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4 czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4K KyAgPHhzOmVsZW1lbnQgbmFtZT0ib3RoZXIiIHR5cGU9InhzOnN0cmluZyIvPgorPC94czpz Y2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMgbGlieG1sCitD UkVBVEUgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJkdXBsaWNhdGUiIHR5cGU9InhzOnN0cmluZyIv PgorPC94czpzY2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMg bGlieG1sCitDUkVBVEUgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworQ1JFQVRFIFhNTFND SEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lv bj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAx L1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InByb2R1Y3QiPgorICAgIDx4czpj b21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0ibmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgIDx4czplbGVtZW50IG5h bWU9InByaWNlIiB0eXBlPSJ4czpkZWNpbWFsIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgor ICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJl cXVpcmVkIi8+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94 czpzY2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMgbGlieG1s CitDUkVBVEUgWE1MU0NIRU1BIGJhZF9zY2hlbWEgQVMgJzx0aGlzLWlzLW5vdC12YWxpZC14 c2Q+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMgbGlieG1sCitDUkVB VEUgWE1MU0NIRU1BIGJhZF94bWxfc2NoZW1hIEFTICdub3QgZXZlbiB4bWwnOworRVJST1I6 ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK0NSRUFURSBYTUxTQ0hFTUEg Ym9va19zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxu czp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVu dCBuYW1lPSJib29rIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVu Y2U+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InRpdGxlIiB0eXBlPSJ4czpzdHJpbmci Lz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYXV0aG9yIiBtYXhPY2N1cnM9InVuYm91 bmRlZCI+CisgICAgICAgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzOnNl cXVlbmNlPgorICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmaXJzdG5hbWUiIHR5 cGU9InhzOnN0cmluZyIvPgorICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJsYXN0 bmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgICAgICA8L3hzOnNlcXVlbmNlPgor ICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+CisgICAgICAgIDwveHM6ZWxlbWVudD4KKyAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ieWVhciIgdHlwZT0ieHM6aW50ZWdlciIvPgorICAg ICAgPC94czpzZXF1ZW5jZT4KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iaXNibiIgdHlw ZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+CisgICAgPC94czpjb21wbGV4VHlwZT4K KyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1 cHBvcnQgcmVxdWlyZXMgbGlieG1sCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3htbF8yLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0 CmluZGV4IGE4NWQ5NTM1OGQuLjRlMjQ2NTdkMmQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQveG1sXzIub3V0CkBAIC05LDYgKzksOCBAQCBFUlJPUjogIGludmFsaWQgWE1MIGNvbnRl bnQKIExJTkUgMTogSU5TRVJUIElOVE8geG1sdGVzdCBWQUxVRVMgKDMsICc8d3JvbmcnKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KIERFVEFJTDogIGxp bmUgMTogQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnIHdyb25nIGxpbmUgMQorPHdy b25nCisgICAgICBeCiBTRUxFQ1QgKiBGUk9NIHhtbHRlc3Q7CiAgaWQgfCAgICAgICAgZGF0 YSAgICAgICAgCiAtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05Miw2ICs5NCw4IEBA IEVSUk9SOiAgaW52YWxpZCBYTUwgY29udGVudAogTElORSAxOiBTRUxFQ1QgeG1sY29uY2F0 KCdiYWQnLCAnPHN5bnRheCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CiBERVRBSUw6ICBsaW5lIDE6IENvdWxkbid0IGZpbmQgZW5kIG9mIFN0YXJ0IFRhZyBzeW50 YXggbGluZSAxCis8c3ludGF4CisgICAgICAgXgogU0VMRUNUIHhtbGNvbmNhdCgnPGZvby8+ JywgTlVMTCwgJzw/eG1sIHZlcnNpb249IjEuMSIgc3RhbmRhbG9uZT0ibm8iPz48YmFyLz4n KTsKICAgeG1sY29uY2F0ICAgCiAtLS0tLS0tLS0tLS0tLQpAQCAtMjczLDYgKzI3Nyw4IEBA IERFVEFJTDogIGxpbmUgMTogRW50aXR5ICdpZG9udGV4aXN0JyBub3QgZGVmaW5lZAogPHR3 b2Vycm9ycz4maWRvbnRleGlzdDs8L3VuYmFsYW5jZWQ+CiAgICAgICAgICAgICAgICAgICAg ICAgIF4KIGxpbmUgMTogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdHdvZXJy b3JzIGxpbmUgMSBhbmQgdW5iYWxhbmNlZAorPHR3b2Vycm9ycz4maWRvbnRleGlzdDs8L3Vu YmFsYW5jZWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBTRUxF Q1QgeG1scGFyc2UoY29udGVudCAnPG5vc3VjaHByZWZpeDp0YWcvPicpOwogICAgICAgeG1s cGFyc2UgICAgICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTI4Miw2ICsyODgsOCBA QCBTRUxFQ1QgeG1scGFyc2UoY29udGVudCAnPG5vc3VjaHByZWZpeDp0YWcvPicpOwogU0VM RUNUIHhtbHBhcnNlKGRvY3VtZW50ICcgICAnKTsKIEVSUk9SOiAgaW52YWxpZCBYTUwgZG9j dW1lbnQKIERFVEFJTDogIGxpbmUgMTogU3RhcnQgdGFnIGV4cGVjdGVkLCAnPCcgbm90IGZv dW5kCisgICAKKyAgIF4KIFNFTEVDVCB4bWxwYXJzZShkb2N1bWVudCAnYWJjJyk7CiBFUlJP UjogIGludmFsaWQgWE1MIGRvY3VtZW50CiBERVRBSUw6ICBsaW5lIDE6IFN0YXJ0IHRhZyBl eHBlY3RlZCwgJzwnIG5vdCBmb3VuZApAQCAtMjk5LDEyICszMDcsMTYgQEAgREVUQUlMOiAg bGluZSAxOiB4bWxQYXJzZUVudGl0eVJlZjogbm8gbmFtZQogPGludmFsaWRlbnRpdHk+Jjwv YWJjPgogICAgICAgICAgICAgICAgIF4KIGxpbmUgMTogT3BlbmluZyBhbmQgZW5kaW5nIHRh ZyBtaXNtYXRjaDogaW52YWxpZGVudGl0eSBsaW5lIDEgYW5kIGFiYworPGludmFsaWRlbnRp dHk+JjwvYWJjPgorICAgICAgICAgICAgICAgICAgICAgIF4KIFNFTEVDVCB4bWxwYXJzZShk b2N1bWVudCAnPHVuZGVmaW5lZGVudGl0eT4maWRvbnRleGlzdDs8L2FiYz4nKTsKIEVSUk9S OiAgaW52YWxpZCBYTUwgZG9jdW1lbnQKIERFVEFJTDogIGxpbmUgMTogRW50aXR5ICdpZG9u dGV4aXN0JyBub3QgZGVmaW5lZAogPHVuZGVmaW5lZGVudGl0eT4maWRvbnRleGlzdDs8L2Fi Yz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogbGluZSAxOiBPcGVuaW5nIGFu ZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB1bmRlZmluZWRlbnRpdHkgbGluZSAxIGFuZCBhYmMK Kzx1bmRlZmluZWRlbnRpdHk+Jmlkb250ZXhpc3Q7PC9hYmM+CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KIFNFTEVDVCB4bWxwYXJzZShkb2N1bWVudCAnPGludmFs aWRucyB4bWxucz0nJyZsdDsnJy8+Jyk7CiAgICAgICAgICB4bWxwYXJzZSAgICAgICAgICAK IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzIzLDYgKzMzNSw4IEBAIERFVEFJ TDogIGxpbmUgMTogRW50aXR5ICdpZG9udGV4aXN0JyBub3QgZGVmaW5lZAogPHR3b2Vycm9y cz4maWRvbnRleGlzdDs8L3VuYmFsYW5jZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIF4K IGxpbmUgMTogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdHdvZXJyb3JzIGxp bmUgMSBhbmQgdW5iYWxhbmNlZAorPHR3b2Vycm9ycz4maWRvbnRleGlzdDs8L3VuYmFsYW5j ZWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBTRUxFQ1QgeG1s cGFyc2UoZG9jdW1lbnQgJzxub3N1Y2hwcmVmaXg6dGFnLz4nKTsKICAgICAgIHhtbHBhcnNl ICAgICAgIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xODY3LDMgKzE4ODEsNjcgQEAg U0VMRUNUIHhtbHRleHQoJ3gnfHwgJzxQPjczPC9QPic6OnhtbCB8fCAuNDIgfHwgdHJ1ZSB8 fCAnaic6OmNoYXIpOwogIHgmbHQ7UCZndDs3MyZsdDsvUCZndDswLjQydHJ1ZWoKICgxIHJv dykKIAorQ1JFQVRFIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9u PSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEv WE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icGVyc29uIj4KKyAgICA8eHM6Y29t cGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG5h bWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1l PSJhZ2UiIHR5cGU9InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAg PC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+JzsKK0NS RUFURSBYTUxTQ0hFTUEgSUYgTk9UIEVYSVNUUyBwZXJzb25fc2NoZW1hIEFTICc8P3htbCB2 ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3Jn LzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0ib3RoZXIiIHR5cGU9Inhz OnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKK05PVElDRTogIFhNTCBzY2hlbWEgInBlcnNv bl9zY2hlbWEiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZworQ1JFQVRFIFhNTFNDSEVNQSBw ZXJzb25fc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1s bnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1l bnQgbmFtZT0iZHVwbGljYXRlIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7 CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGFscmVhZHkgZXhpc3RzCitD UkVBVEUgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworQ1JFQVRFIFhNTFNDSEVNQSB0ZXN0 X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+ Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVt YSI+CisgIDx4czplbGVtZW50IG5hbWU9InByb2R1Y3QiPgorICAgIDx4czpjb21wbGV4VHlw ZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibmFt ZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InByaWNl IiB0eXBlPSJ4czpkZWNpbWFsIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPHhz OmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+ CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+ JzsKK0NSRUFURSBYTUxTQ0hFTUEgYmFkX3NjaGVtYSBBUyAnPHRoaXMtaXMtbm90LXZhbGlk LXhzZD4nOworRVJST1I6ICBpbnZhbGlkIFhNTCBzY2hlbWEgZGVmaW5pdGlvbgorREVUQUlM OiAgbGluZSAxOiBQcmVtYXR1cmUgZW5kIG9mIGRhdGEgaW4gdGFnIHRoaXMtaXMtbm90LXZh bGlkLXhzZCBsaW5lIDEKKzx0aGlzLWlzLW5vdC12YWxpZC14c2Q+CisgICAgICAgICAgICAg ICAgICAgICAgIF4KK0NSRUFURSBYTUxTQ0hFTUEgYmFkX3htbF9zY2hlbWEgQVMgJ25vdCBl dmVuIHhtbCc7CitFUlJPUjogIGludmFsaWQgWE1MIHNjaGVtYSBkZWZpbml0aW9uCitERVRB SUw6ICBsaW5lIDE6IFN0YXJ0IHRhZyBleHBlY3RlZCwgJzwnIG5vdCBmb3VuZAorbm90IGV2 ZW4geG1sCiteCitDUkVBVEUgWE1MU0NIRU1BIGJvb2tfc2NoZW1hIEFTICc8P3htbCB2ZXJz aW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIw MDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iYm9vayI+CisgICAgPHhzOmNv bXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBu YW1lPSJ0aXRsZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICAgIDx4czplbGVtZW50IG5h bWU9ImF1dGhvciIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgIDx4czpjb21w bGV4VHlwZT4KKyAgICAgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iZmlyc3RuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibGFzdG5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgor ICAgICAgICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgICAgICA8L3hzOmNvbXBsZXhUeXBl PgorICAgICAgICA8L3hzOmVsZW1lbnQ+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9Inll YXIiIHR5cGU9InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8 eHM6YXR0cmlidXRlIG5hbWU9ImlzYm4iIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJl ZCIvPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2No ZW1hPic7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BnX3JlZ3Jlc3MuYyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGdfcmVncmVzcy5jCmluZGV4IGI1YzBjYjY0N2EuLjdlOTAzMmI1 ZWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGdfcmVncmVzcy5jCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGdfcmVncmVzcy5jCkBAIC0xMjMyLDcgKzEyMzIsNyBAQCBzcGF3 bl9wcm9jZXNzKGNvbnN0IGNoYXIgKmNtZGxpbmUpCiAJCWNoYXIJICAgKmNtZGxpbmUyOwog CiAJCWNtZGxpbmUyID0gcHNwcmludGYoImV4ZWMgJXMiLCBjbWRsaW5lKTsKLQkJZXhlY2wo c2hlbGxwcm9nLCBzaGVsbHByb2csICItYyIsIGNtZGxpbmUyLCAoY2hhciAqKSBOVUxMKTsK KwkJZXhlY2xwKHNoZWxscHJvZywgc2hlbGxwcm9nLCAiLWMiLCBjbWRsaW5lMiwgKGNoYXIg KikgTlVMTCk7CiAJCS8qIE5vdCB1c2luZyB0aGUgbm9ybWFsIGJhaWwoKSBoZXJlIGFzIHdl IHdhbnQgX2V4aXQgKi8KIAkJYmFpbF9ub2F0ZXhpdCgiY291bGQgbm90IGV4ZWMgXCIlc1wi OiAlbSIsIHNoZWxscHJvZyk7CiAJfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwveG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3htbC5zcWwKaW5kZXggMGVhNGY1 MDg4My4uNjY3OTczNDIwZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwveG1s LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsCkBAIC02NzksMyArNjc5 LDY2IEBAIFNFTEVDVCB4bWx0ZXh0KCcgICcpOwogU0VMRUNUIHhtbHRleHQoJ2ZvbyBgJF8t Kz89Kl4lIXwvXCgpW117fScpOwogU0VMRUNUIHhtbHRleHQoJ2ZvbyAmIDwiYmFyIj4nKTsK IFNFTEVDVCB4bWx0ZXh0KCd4J3x8ICc8UD43MzwvUD4nOjp4bWwgfHwgLjQyIHx8IHRydWUg fHwgJ2onOjpjaGFyKTsKKworQ1JFQVRFIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hIEFTICc8 P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cu dzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icGVyc29uIj4K KyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4 czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJhZ2UiIHR5cGU9InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2Vx dWVuY2U+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94czpz Y2hlbWE+JzsKKworCitDUkVBVEUgWE1MU0NIRU1BIElGIE5PVCBFWElTVFMgcGVyc29uX3Nj aGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJo dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9 Im90aGVyIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CisKK0NSRUFURSBY TUxTQ0hFTUEgcGVyc29uX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6 c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+Cisg IDx4czplbGVtZW50IG5hbWU9ImR1cGxpY2F0ZSIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hz OnNjaGVtYT4nOworCitDUkVBVEUgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworCitDUkVB VEUgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hIEFTICc8P3ht bCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMu b3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icHJvZHVjdCI+Cisg ICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6 ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhzOmVs ZW1lbnQgbmFtZT0icHJpY2UiIHR5cGU9InhzOmRlY2ltYWwiLz4KKyAgICAgIDwveHM6c2Vx dWVuY2U+CisgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czpzdHJpbmci IHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1l bnQ+Cis8L3hzOnNjaGVtYT4nOworCitDUkVBVEUgWE1MU0NIRU1BIGJhZF9zY2hlbWEgQVMg Jzx0aGlzLWlzLW5vdC12YWxpZC14c2Q+JzsKKworQ1JFQVRFIFhNTFNDSEVNQSBiYWRfeG1s X3NjaGVtYSBBUyAnbm90IGV2ZW4geG1sJzsKKworQ1JFQVRFIFhNTFNDSEVNQSBib29rX3Nj aGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJo dHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9 ImJvb2siPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAg ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5cGU9InhzOnN0cmluZyIvPgorICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4K KyAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHM6c2VxdWVuY2U+ CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImZpcnN0bmFtZSIgdHlwZT0ieHM6 c3RyaW5nIi8+CisgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Imxhc3RuYW1lIiB0 eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICAg ICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94czplbGVtZW50PgorICAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJ5ZWFyIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hz OnNlcXVlbmNlPgorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpc2JuIiB0eXBlPSJ4czpz dHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hz OmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOwotLSAKMi40My4wCgo= --------------CvsHL6mVIWH0DkjlTc2fVGbk Content-Type: text/x-patch; charset=UTF-8; name="v5-0002-Add-XMLVALIDATE.patch" Content-Disposition: attachment; filename="v5-0002-Add-XMLVALIDATE.patch" Content-Transfer-Encoding: base64 RnJvbSBlMDMwZmMxNmU5MDgxYmM1NjllNmUyYjhjYmQzYjUyMmU0ZjY0MTYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1bmktbXVlbnN0 ZXIuZGU+CkRhdGU6IFRodSwgNSBGZWIgMjAyNiAwOTowMDowMCArMDEwMApTdWJqZWN0OiBb UEFUQ0ggdjUgMi8yXSBBZGQgWE1MVkFMSURBVEUKCi0tLQogZG9jL3NyYy9zZ21sL2RhdGF0 eXBlLnNnbWwgICAgICAgICAgICB8ICAgNyArLQogZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy14 bWwuc2dtbCAgICAgICB8IDEwNSArKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cv ZGVwZW5kZW5jeS5jICAgICAgfCAgMjggKysrKwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhl Y0V4cHJJbnRlcnAuYyB8ICAyNyArKysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAg ICAgICAgICAgfCAgMTkgKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jICAg ICAgIHwgIDQzICsrKysrCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgICAg IHwgICAzICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyAgICAgfCAgMTcg Ky0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyAgICAgICAgICAgfCAxNDQgKysrKysr KysrKysrKysrLQogc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggICAgICAgICB8ICAg MSArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAgICAgICAgIHwgICAyICsKIHNy Yy9pbmNsdWRlL3V0aWxzL3htbC5oICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC94bWwub3V0ICAgICB8IDIzMyArKysrKysrKysrKysrKysrKysr KysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQgICB8IDIwOCAr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWxf Mi5vdXQgICB8IDIzMyArKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9zcWwveG1sLnNxbCAgICAgICAgICB8IDIwOSArKysrKysrKysrKysrKysrKysrKysr KwogMTYgZmlsZXMgY2hhbmdlZCwgMTI3MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kYXRhdHlwZS5zZ21sIGIvZG9jL3NyYy9z Z21sL2RhdGF0eXBlLnNnbWwKaW5kZXggZjJhZGU1N2ZlNy4uZGRhZjdjNGQzZCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL2RhdGF0eXBlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Rh dGF0eXBlLnNnbWwKQEAgLTQ1MTAsOCArNDUxMCwxMSBAQCB4bWwgJzxmb28+YmFyPC9mb28+ JwogICAgIGFnYWluc3QgYSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uCiAgICAgKERURCks PGluZGV4dGVybT48cHJpbWFyeT5EVEQ8L3ByaW1hcnk+PC9pbmRleHRlcm0+CiAgICAgZXZl biB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBzcGVjaWZpZXMgYSBEVEQuCi0gICAgVGhlcmUgaXMg YWxzbyBjdXJyZW50bHkgbm8gYnVpbHQtaW4gc3VwcG9ydCBmb3IgdmFsaWRhdGluZyBhZ2Fp bnN0Ci0gICAgb3RoZXIgWE1MIHNjaGVtYSBsYW5ndWFnZXMgc3VjaCBhcyBYTUwgU2NoZW1h LgorICAgIEhvd2V2ZXIsIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4g cHJvdmlkZXMgdGhlCisgICAgPGZ1bmN0aW9uPlhNTFZBTElEQVRFPC9mdW5jdGlvbj4gZnVu Y3Rpb24gZm9yIHZhbGlkYXRpbmcgWE1MIGRvY3VtZW50cworICAgIGFnYWluc3QgWE1MIFNj aGVtYSAoWFNEKSBkb2N1bWVudHMuIFNlZQorICAgIDx4cmVmIGxpbmtlbmQ9ImZ1bmN0aW9u cy14bWwtcHJvY2Vzc2luZy14bWx2YWxpZGF0ZSIvPiBhbmQKKyAgICA8eHJlZiBsaW5rZW5k PSJzcWwtY3JlYXRleG1sc2NoZW1hIi8+IGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgPC9w YXJhPgogCiAgICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMt eG1sLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZnVuYy9mdW5jLXhtbC5zZ21sCmluZGV4IDUxMWJj OTA4NTIuLmM0YTZlODlkMGUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMt eG1sLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy14bWwuc2dtbApAQCAtMTAw Nyw2ICsxMDA3LDExMSBAQCBTRUxFQ1QgeG1sdGFibGUuKgogICAgMyB8ICAgNAogICAgNCB8 ICAgNQogKDMgcm93cykKK11dPjwvc2NyZWVuPgorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDM+ CisKKyAgIDxzZWN0MyBpZD0iZnVuY3Rpb25zLXhtbC1wcm9jZXNzaW5nLXhtbHZhbGlkYXRl Ij4KKyAgICA8dGl0bGU+PGxpdGVyYWw+eG1sdmFsaWRhdGU8L2xpdGVyYWw+PC90aXRsZT4K KworICAgIDxpbmRleHRlcm0+CisgICAgIDxwcmltYXJ5PnhtbHZhbGlkYXRlPC9wcmltYXJ5 PgorICAgIDwvaW5kZXh0ZXJtPgorCis8c3lub3BzaXM+Cis8ZnVuY3Rpb24+WE1MVkFMSURB VEU8L2Z1bmN0aW9uPiAoIDxsaXRlcmFsPkRPQ1VNRU5UPC9saXRlcmFsPiA8cmVwbGFjZWFi bGU+eG1sX3ZhbHVlPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+QUNDT1JESU5HIFRPIFhNTFND SEVNQTwvbGl0ZXJhbD4gPHJlcGxhY2VhYmxlPnNjaGVtYV9uYW1lPC9yZXBsYWNlYWJsZT4g KSA8cmV0dXJudmFsdWU+eG1sPC9yZXR1cm52YWx1ZT4KKzwvc3lub3BzaXM+CisKKyAgICA8 cGFyYT4KKyAgICAgVGhlIDxmdW5jdGlvbj54bWx2YWxpZGF0ZTwvZnVuY3Rpb24+IGZ1bmN0 aW9uIHZhbGlkYXRlcyBhbiBYTUwgZG9jdW1lbnQKKyAgICAgYWdhaW5zdCBhbiBYTUwgU2No ZW1hLiBUaGUgc2NoZW1hIG11c3QgaGF2ZSBiZWVuIHByZXZpb3VzbHkgY3JlYXRlZCB1c2lu ZworICAgICA8Y29tbWFuZD5DUkVBVEUgWE1MU0NIRU1BPC9jb21tYW5kPi4gSWYgdGhlIFhN TCBpcyB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlCisgICAgIHNjaGVtYSwgdGhlIGZ1bmN0aW9u IHJldHVybnMgdGhlIFhNTCB2YWx1ZSB1bmNoYW5nZWQuIElmIHZhbGlkYXRpb24gZmFpbHMs CisgICAgIGFuIGVycm9yIGlzIHJhaXNlZC4gSWYgPHJlcGxhY2VhYmxlPnhtbF92YWx1ZTwv cmVwbGFjZWFibGU+IGlzCisgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+LCB0aGUgZnVu Y3Rpb24gcmV0dXJucyA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPi4KKyAgICA8L3BhcmE+CisK KyAgICA8cGFyYT4KKyAgICAgVGhlIDxyZXBsYWNlYWJsZT5zY2hlbWFfbmFtZTwvcmVwbGFj ZWFibGU+IGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgbmFtZQorICAgICBvZiBhbiBYTUwgc2No ZW1hIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuIEl0IGNhbiBiZSBzY2hlbWEtcXVhbGlmaWVk CisgICAgIChlLmcuLCA8bGl0ZXJhbD5teXNjaGVtYS5wZXJzb25fc2NoZW1hPC9saXRlcmFs Pikgb3IgdW5xdWFsaWZpZWQsIGluCisgICAgIHdoaWNoIGNhc2UgaXQgd2lsbCBiZSBzZWFy Y2hlZCBmb3IgaW4gdGhlIGN1cnJlbnQgc2NoZW1hIHNlYXJjaCBwYXRoLgorICAgICBUaGUg dXNlciBtdXN0IGhhdmUgPGxpdGVyYWw+VVNBR0U8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0 aGUgc2NoZW1hLgorICAgIDwvcGFyYT4KKworICAgIDxwYXJhPgorICAgICBFeGFtcGxlczoK KzxzY3JlZW4+PCFbQ0RBVEFbCitDUkVBVEUgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEgQVMg Jzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3 dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJwZXJzb24i PgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhz OmVsZW1lbnQgbmFtZT0iYWdlIiB0eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hzOnNl cXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6 c2NoZW1hPic7CisKK1NFTEVDVCB4bWx2YWxpZGF0ZShET0NVTUVOVCAnPHBlcnNvbj48bmFt ZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBY TUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisKKyAgICAgICAgICAgICAgICAgeG1sdmFsaWRh dGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxw ZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+PC9wZXJzb24+CisoMSByb3cp CitdXT48L3NjcmVlbj4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgVGhpcyBl eGFtcGxlIHNob3dzIGEgdmFsaWRhdGlvbiBmYWlsdXJlIGR1ZSB0byBhIG1pc3NpbmcgcmVx dWlyZWQgZWxlbWVudDoKKzxzY3JlZW4+PCFbQ0RBVEFbCitTRUxFQ1QgeG1sdmFsaWRhdGUo RE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48L3BlcnNvbj4nCisgIEFDQ09S RElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0 aW9uIGZhaWxlZAorXV0+PC9zY3JlZW4+CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+Cisg ICAgIFNjaGVtYS1xdWFsaWZpZWQgbmFtZXMgYXJlIHN1cHBvcnRlZDoKKzxzY3JlZW4+PCFb Q0RBVEFbCitDUkVBVEUgU0NIRU1BIHRlc3Rfc2NoZW1hOworQ1JFQVRFIFhNTFNDSEVNQSB0 ZXN0X3NjaGVtYS5wcm9kdWN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8 eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+ CisgPHhzOmVsZW1lbnQgbmFtZT0icHJvZHVjdCI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgor ICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0 eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0icHJpY2UiIHR5 cGU9InhzOmRlY2ltYWwiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8eHM6YXR0 cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAg ICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4nOwor CitTRUxFQ1QgeG1sdmFsaWRhdGUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1l PldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JE SU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3NjaGVtYS5wcm9kdWN0X3NjaGVtYSk7CisKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgeG1sdmFsaWRhdGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwcm9kdWN0 IGlkPSIxMjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9k dWN0PgorKDEgcm93KQorXV0+PC9zY3JlZW4+CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+ CisgICAgIFNpbmNlIDxmdW5jdGlvbj54bWx2YWxpZGF0ZTwvZnVuY3Rpb24+IHJldHVybnMg PHR5cGU+eG1sPC90eXBlPiwgaXQgY2FuCisgICAgIGJlIGNvbXBvc2VkIHdpdGggb3RoZXIg WE1MIGZ1bmN0aW9uczoKKzxzY3JlZW4+PCFbQ0RBVEFbCitTRUxFQ1QgeG1sc2VyaWFsaXpl KERPQ1VNRU5UCisgIHhtbHZhbGlkYXRlKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkFsaWNl PC9uYW1lPjxhZ2U+MjU8L2FnZT48L3BlcnNvbj4nCisgICAgQUNDT1JESU5HIFRPIFhNTFND SEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0ZXh0KTsKKworICAgICAgICAgICAgICB4bWxzZXJp YWxpemUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxw ZXJzb24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVyc29uPgorKDEgcm93 KQogXV0+PC9zY3JlZW4+CiAgICAgPC9wYXJhPgogICAgPC9zZWN0Mz4KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9kZXBlbmRlbmN5LmMKaW5kZXggMGI4ZDhlMzE1Mi4uNTBjZTM4NzFlNyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTI0MTksNiArMjQxOSwzNCBAQCBmaW5kX2V4cHJf cmVmZXJlbmNlc193YWxrZXIoTm9kZSAqbm9kZSwKIAkJCQkJCSAgIGNvbnRleHQtPmFkZHJz KTsKIAkJLyogZmFsbCB0aHJvdWdoIHRvIGV4YW1pbmUgYXJndW1lbnRzICovCiAJfQorCWVs c2UgaWYgKElzQShub2RlLCBYbWxFeHByKSkKKwl7CisJCVhtbEV4cHIgICAgKnhtbGV4cHIg PSAoWG1sRXhwciAqKSBub2RlOworCisJCS8qCisJCSAqIFhNTFZBTElEQVRFJ3Mgc2Vjb25k IGFyZ3VtZW50IGlzIGEgQ29uc3QgY29udGFpbmluZyB0aGUgc2NoZW1hIE9JRC4KKwkJICog UmVjb3JkIGEgZGVwZW5kZW5jeSBvbiBpdC4KKwkJICovCisJCWlmICh4bWxleHByLT5vcCA9 PSBJU19YTUxWQUxJREFURSAmJiBsaXN0X2xlbmd0aCh4bWxleHByLT5hcmdzKSA9PSAyKQor CQl7CisJCQlOb2RlCSAgICpzY2hlbWFfYXJnID0gKE5vZGUgKikgbHNlY29uZCh4bWxleHBy LT5hcmdzKTsKKworCQkJaWYgKElzQShzY2hlbWFfYXJnLCBDb25zdCkpCisJCQl7CisJCQkJ Q29uc3QJICAgKnNjaGVtYV9jb25zdCA9IChDb25zdCAqKSBzY2hlbWFfYXJnOworCQkJCU9p ZAkJCXNjaGVtYV9vaWQ7CisKKwkJCQlpZiAoIXNjaGVtYV9jb25zdC0+Y29uc3Rpc251bGwg JiYKKwkJCQkJc2NoZW1hX2NvbnN0LT5jb25zdHR5cGUgPT0gT0lET0lEKQorCQkJCXsKKwkJ CQkJc2NoZW1hX29pZCA9IERhdHVtR2V0T2JqZWN0SWQoc2NoZW1hX2NvbnN0LT5jb25zdHZh bHVlKTsKKwkJCQkJYWRkX29iamVjdF9hZGRyZXNzKFhtbFNjaGVtYVJlbGF0aW9uSWQsIHNj aGVtYV9vaWQsIDAsCisJCQkJCQkJCQkgICBjb250ZXh0LT5hZGRycyk7CisJCQkJfQorCQkJ fQorCQl9CisJCS8qIGZhbGwgdGhyb3VnaCB0byBleGFtaW5lIGFyZ3VtZW50cyAqLworCX0K IAogCXJldHVybiBleHByZXNzaW9uX3RyZWVfd2Fsa2VyKG5vZGUsIGZpbmRfZXhwcl9yZWZl cmVuY2VzX3dhbGtlciwKIAkJCQkJCQkJICBjb250ZXh0KTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjRXhwckludGVycC5jCmluZGV4IDYxZmY1ZGRjNzQuLjdhYjQ0MmQ2YmYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMKKysrIGIvc3Jj L2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYwpAQCAtNDYzMCw2ICs0NjMwLDMz IEBAIEV4ZWNFdmFsWG1sRXhwcihFeHByU3RhdGUgKnN0YXRlLCBFeHByRXZhbFN0ZXAgKm9w KQogCQkJfQogCQkJYnJlYWs7CiAKKwkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCXsKKwkJ CQlEYXR1bQkgICAqYXJndmFsdWUgPSBvcC0+ZC54bWxleHByLmFyZ3ZhbHVlOworCQkJCWJv b2wJICAgKmFyZ251bGwgPSBvcC0+ZC54bWxleHByLmFyZ251bGw7CisJCQkJeG1sdHlwZSAg ICAqZGF0YTsKKwkJCQlPaWQJCQlzY2hlbWFfb2lkOworCQkJCXhtbHR5cGUgICAgKnJlc3Vs dDsKKworCQkJCS8qIFR3byBhcmd1bWVudHM6IFhNTCBkYXRhIGFuZCBzY2hlbWEgT0lEICov CisJCQkJQXNzZXJ0KGxpc3RfbGVuZ3RoKHhleHByLT5hcmdzKSA9PSAyKTsKKworCQkJCWlm IChhcmdudWxsWzBdIHx8IGFyZ251bGxbMV0pCisJCQkJeworCQkJCQkqb3AtPnJlc251bGwg PSB0cnVlOworCQkJCQlyZXR1cm47CisJCQkJfQorCisJCQkJZGF0YSA9IERhdHVtR2V0WG1s UChhcmd2YWx1ZVswXSk7CisJCQkJc2NoZW1hX29pZCA9IERhdHVtR2V0T2JqZWN0SWQoYXJn dmFsdWVbMV0pOworCisJCQkJcmVzdWx0ID0geG1sdmFsaWRhdGVfc2NoZW1hKGRhdGEsIHNj aGVtYV9vaWQpOworCisJCQkJKm9wLT5yZXN2YWx1ZSA9IFBvaW50ZXJHZXREYXR1bShyZXN1 bHQpOworCQkJCSpvcC0+cmVzbnVsbCA9IGZhbHNlOworCQkJfQorCQkJYnJlYWs7CisKIAkJ Y2FzZSBJU19ET0NVTUVOVDoKIAkJCXsKIAkJCQlEYXR1bQkgICAqYXJndmFsdWUgPSBvcC0+ ZC54bWxleHByLmFyZ3ZhbHVlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggOTg4NjI1MGMyNS4uOWVm YzFlOTdkMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIE5v ZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFz ZXMsIE5vZGUgKnF1ZXJ5KTsKICAqLwogCiAvKiBvcmRpbmFyeSBrZXkgd29yZHMgaW4gYWxw aGFiZXRpY2FsIG9yZGVyICovCi0ldG9rZW4gPGtleXdvcmQ+IEFCT1JUX1AgQUJTRU5UIEFC U09MVVRFX1AgQUNDRVNTIEFDVElPTiBBRERfUCBBRE1JTiBBRlRFUgorJXRva2VuIDxrZXl3 b3JkPiBBQk9SVF9QIEFCU0VOVCBBQlNPTFVURV9QIEFDQ0VTUyBBQ0NPUkRJTkcgQUNUSU9O IEFERF9QIEFETUlOIEFGVEVSCiAJQUdHUkVHQVRFIEFMTCBBTFNPIEFMVEVSIEFMV0FZUyBB TkFMWVNFIEFOQUxZWkUgQU5EIEFOWSBBUlJBWSBBUyBBU0MKIAlBU0VOU0lUSVZFIEFTU0VS VElPTiBBU1NJR05NRU5UIEFTWU1NRVRSSUMgQVRPTUlDIEFUIEFUVEFDSCBBVFRSSUJVVEUg QVVUSE9SSVpBVElPTgogCkBAIC03OTgsNyArNzk4LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VS ZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUg KnF1ZXJ5KTsKIAlXQUlUIFdIRU4gV0hFUkUgV0hJVEVTUEFDRV9QIFdJTkRPVyBXSVRIIFdJ VEhJTiBXSVRIT1VUIFdPUksgV1JBUFBFUiBXUklURQogCiAJWE1MX1AgWE1MQVRUUklCVVRF UyBYTUxDT05DQVQgWE1MRUxFTUVOVCBYTUxFWElTVFMgWE1MRk9SRVNUIFhNTE5BTUVTUEFD RVMKLQlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNDSEVNQSBYTUxTRVJJQUxJWkUgWE1M VEFCTEUKKwlYTUxQQVJTRSBYTUxQSSBYTUxST09UIFhNTFNDSEVNQSBYTUxTRVJJQUxJWkUg WE1MVEFCTEUgWE1MVkFMSURBVEUKIAogCVlFQVJfUCBZRVNfUAogCkBAIC0xNjM0OCw2ICsx NjM0OCwxNyBAQCBmdW5jX2V4cHJfY29tbW9uX3N1YmV4cHI6CiAJCQkJCW4tPmxvY2F0aW9u ID0gQDE7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IFhNTFZBTElEQVRF ICcoJyBET0NVTUVOVF9QIGFfZXhwciBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGFueV9uYW1l ICcpJworCQkJCXsKKwkJCQkJWG1sRXhwciAqeCA9IChYbWxFeHByICopCisJCQkJCQltYWtl WG1sRXhwcihJU19YTUxWQUxJREFURSwgTlVMTCwgJDgsCisJCQkJCQkJCQlsaXN0X21ha2Ux KCQ0KSwKKwkJCQkJCQkJCUAxKTsKKworCQkJCQl4LT54bWxvcHRpb24gPSBYTUxPUFRJT05f RE9DVU1FTlQ7CisJCQkJCXgtPmxvY2F0aW9uID0gQDE7CisJCQkJCSQkID0gKE5vZGUgKikg eDsKKwkJCQl9CiAJCQl8IEpTT05fT0JKRUNUICcoJyBmdW5jX2FyZ19saXN0ICcpJwogCQkJ CXsKIAkJCQkJLyogU3VwcG9ydCBmb3IgbGVnYWN5IChub24tc3RhbmRhcmQpIGpzb25fb2Jq ZWN0KCkgKi8KQEAgLTE3OTU4LDYgKzE3OTY5LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgog CQkJfCBBQlNFTlQKIAkJCXwgQUJTT0xVVEVfUAogCQkJfCBBQ0NFU1MKKwkJCXwgQUNDT1JE SU5HCiAJCQl8IEFDVElPTgogCQkJfCBBRERfUAogCQkJfCBBRE1JTgpAQCAtMTgzNjcsNiAr MTgzNzksNyBAQCBjb2xfbmFtZV9rZXl3b3JkOgogCQkJfCBYTUxST09UCiAJCQl8IFhNTFNF UklBTElaRQogCQkJfCBYTUxUQUJMRQorCQkJfCBYTUxWQUxJREFURQogCQk7CiAKIC8qIFR5 cGUvZnVuY3Rpb24gaWRlbnRpZmllciAtLS0ga2V5d29yZHMgdGhhdCBjYW4gYmUgdHlwZSBv ciBmdW5jdGlvbiBuYW1lcy4KQEAgLTE4NTA2LDYgKzE4NTE5LDcgQEAgYmFyZV9sYWJlbF9r ZXl3b3JkOgogCQkJfCBBQlNFTlQKIAkJCXwgQUJTT0xVVEVfUAogCQkJfCBBQ0NFU1MKKwkJ CXwgQUNDT1JESU5HCiAJCQl8IEFDVElPTgogCQkJfCBBRERfUAogCQkJfCBBRE1JTgpAQCAt MTg5NjAsNiArMTg5NzQsNyBAQCBiYXJlX2xhYmVsX2tleXdvcmQ6CiAJCQl8IFhNTFNDSEVN QQogCQkJfCBYTUxTRVJJQUxJWkUKIAkJCXwgWE1MVEFCTEUKKwkJCXwgWE1MVkFMSURBVEUK IAkJCXwgWUVTX1AKIAkJCXwgWk9ORQogCQk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfZXhwci5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwpp bmRleCBkY2ZlMWFjYzRjLi4wOThmMTNmNjY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHBy LmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlICJwb3N0Z3Jlcy5oIgogCiAjaW5jbHVk ZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgorI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNl LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKQEAgLTIzNzAsNiArMjM3 MSw3IEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4 KQogCVhtbEV4cHIgICAgKm5ld3g7CiAJTGlzdENlbGwgICAqbGM7CiAJaW50CQkJaTsKKwlP aWQJCQl4bWx2YWxpZGF0ZV9zY2hlbWFfb2lkID0gSW52YWxpZE9pZDsKIAogCW5ld3ggPSBt YWtlTm9kZShYbWxFeHByKTsKIAluZXd4LT5vcCA9IHgtPm9wOwpAQCAtMjM4Miw2ICsyMzg0 LDIyIEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4 KQogCW5ld3gtPnR5cG1vZCA9IC0xOwogCW5ld3gtPmxvY2F0aW9uID0geC0+bG9jYXRpb247 CiAKKwkvKgorCSAqIFhNTFZBTElEQVRFIHN0b3JlcyB0aGUgc2NoZW1hIG5hbWUgbGlzdCBp biBuYW1lZF9hcmdzLCBub3QgUmVzVGFyZ2V0cy4KKwkgKiBFeHRyYWN0IGl0IGJlZm9yZSBw cm9jZXNzaW5nIG5hbWVkIGFyZ3VtZW50cy4KKwkgKi8KKwlpZiAoeC0+b3AgPT0gSVNfWE1M VkFMSURBVEUgJiYgeC0+bmFtZWRfYXJncyAhPSBOSUwpCisJeworCQlMaXN0CSAgICpzY2hl bWFfbmFtZV9saXN0OworCisJCXNjaGVtYV9uYW1lX2xpc3QgPSB4LT5uYW1lZF9hcmdzOwor CQl4bWx2YWxpZGF0ZV9zY2hlbWFfb2lkID0gZ2V0X3htbHNjaGVtYV9vaWQoc2NoZW1hX25h bWVfbGlzdCwgZmFsc2UpOworCQkvKiBQcmVzZXJ2ZSBzY2hlbWEgbmFtZSBmb3IgZGVwYXJz aW5nICovCisJCW5ld3gtPm5hbWUgPSBOYW1lTGlzdFRvU3RyaW5nKHNjaGVtYV9uYW1lX2xp c3QpOworCQkvKiBDbGVhciB0byBhdm9pZCBwcm9jZXNzaW5nIGFzIFJlc1RhcmdldHMgKi8K KwkJeC0+bmFtZWRfYXJncyA9IE5JTDsKKwl9CisKIAkvKgogCSAqIGdyYW0ueSBidWlsdCB0 aGUgbmFtZWQgYXJncyBhcyBhIGxpc3Qgb2YgUmVzVGFyZ2V0LiAgVHJhbnNmb3JtIGVhY2gs CiAJICogYW5kIGJyZWFrIHRoZSBuYW1lcyBvdXQgYXMgYSBzZXBhcmF0ZSBsaXN0LgpAQCAt MjQ4MSw2ICsyNDk5LDExIEBAIHRyYW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRl LCBYbWxFeHByICp4KQogCQkJCS8qIG5vdCBoYW5kbGVkIGhlcmUgKi8KIAkJCQlBc3NlcnQo ZmFsc2UpOwogCQkJCWJyZWFrOworCQkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCQkvKiBG aXJzdCBhcmd1bWVudCBpcyB0aGUgWE1MIGRhdGEgKi8KKwkJCQluZXdlID0gY29lcmNlX3Rv X3NwZWNpZmljX3R5cGUocHN0YXRlLCBuZXdlLCBYTUxPSUQsCisJCQkJCQkJCQkJCSAgICJY TUxWQUxJREFURSIpOworCQkJCWJyZWFrOwogCQkJY2FzZSBJU19ET0NVTUVOVDoKIAkJCQlu ZXdlID0gY29lcmNlX3RvX3NwZWNpZmljX3R5cGUocHN0YXRlLCBuZXdlLCBYTUxPSUQsCiAJ CQkJCQkJCQkJCSAgICJJUyBET0NVTUVOVCIpOwpAQCAtMjQ5MCw2ICsyNTEzLDI2IEBAIHRy YW5zZm9ybVhtbEV4cHIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBYbWxFeHByICp4KQogCQlpKys7 CiAJfQogCisJLyogRm9yIFhNTFZBTElEQVRFLCBhZGQgdGhlIHNjaGVtYSBPSUQgYXMgc2Vj b25kIGFyZ3VtZW50ICovCisJaWYgKHgtPm9wID09IElTX1hNTFZBTElEQVRFKQorCXsKKwkJ Q29uc3QJICAgKnNjaGVtYV9vaWRfY29uc3Q7CisKKwkJQXNzZXJ0KE9pZElzVmFsaWQoeG1s dmFsaWRhdGVfc2NoZW1hX29pZCkpOworCisJCXNjaGVtYV9vaWRfY29uc3QgPSBtYWtlQ29u c3QoT0lET0lELAorCQkJCQkJCQkJIC0xLAorCQkJCQkJCQkJIEludmFsaWRPaWQsCisJCQkJ CQkJCQkgc2l6ZW9mKE9pZCksCisJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bSh4bWx2YWxp ZGF0ZV9zY2hlbWFfb2lkKSwKKwkJCQkJCQkJCSBmYWxzZSwKKwkJCQkJCQkJCSB0cnVlKTsK KwkJbmV3eC0+YXJncyA9IGxhcHBlbmQobmV3eC0+YXJncywgc2NoZW1hX29pZF9jb25zdCk7 CisKKwkJLyogUmV0dXJuIHR5cGUgaXMgWE1MICovCisJCW5ld3gtPnR5cGUgPSBYTUxPSUQ7 CisJfQorCiAJcmV0dXJuIChOb2RlICopIG5ld3g7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV90YXJnZXQuYwppbmRleCBiNWEyZjkxNWI2Li5iMzgwYmIzOWViIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX3RhcmdldC5jCkBAIC0xOTc2LDYgKzE5NzYsOSBAQCBGaWd1cmVDb2xuYW1l SW50ZXJuYWwoTm9kZSAqbm9kZSwgY2hhciAqKm5hbWUpCiAJCQkJY2FzZSBJU19YTUxTRVJJ QUxJWkU6CiAJCQkJCSpuYW1lID0gInhtbHNlcmlhbGl6ZSI7CiAJCQkJCXJldHVybiAyOwor CQkJCWNhc2UgSVNfWE1MVkFMSURBVEU6CisJCQkJCSpuYW1lID0gInhtbHZhbGlkYXRlIjsK KwkJCQkJcmV0dXJuIDI7CiAJCQkJY2FzZSBJU19ET0NVTUVOVDoKIAkJCQkJLyogbm90aGlu ZyAqLwogCQkJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y dWxldXRpbHMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRleCBi NWE3YWQ5MDY2Li5jZDhhOTE2OWE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcnVsZXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5j CkBAIC0xMDExOSwxNyArMTAxMTksMjAgQEAgZ2V0X3J1bGVfZXhwcihOb2RlICpub2RlLCBk ZXBhcnNlX2NvbnRleHQgKmNvbnRleHQsCiAJCQkJCWNhc2UgSVNfWE1MU0VSSUFMSVpFOgog CQkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICJYTUxTRVJJQUxJWkUoIik7CiAJ CQkJCQlicmVhazsKKwkJCQkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCQkJCWFwcGVuZFN0 cmluZ0luZm9TdHJpbmcoYnVmLCAiWE1MVkFMSURBVEUoIik7CisJCQkJCQlicmVhazsKIAkJ CQkJY2FzZSBJU19ET0NVTUVOVDoKIAkJCQkJCWJyZWFrOwogCQkJCX0KLQkJCQlpZiAoeGV4 cHItPm9wID09IElTX1hNTFBBUlNFIHx8IHhleHByLT5vcCA9PSBJU19YTUxTRVJJQUxJWkUp CisJCQkJaWYgKHhleHByLT5vcCA9PSBJU19YTUxQQVJTRSB8fCB4ZXhwci0+b3AgPT0gSVNf WE1MU0VSSUFMSVpFIHx8IHhleHByLT5vcCA9PSBJU19YTUxWQUxJREFURSkKIAkJCQl7CiAJ CQkJCWlmICh4ZXhwci0+eG1sb3B0aW9uID09IFhNTE9QVElPTl9ET0NVTUVOVCkKIAkJCQkJ CWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiRE9DVU1FTlQgIik7CiAJCQkJCWVsc2UK IAkJCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiQ09OVEVOVCAiKTsKIAkJCQl9 Ci0JCQkJaWYgKHhleHByLT5uYW1lKQorCQkJCWlmICh4ZXhwci0+bmFtZSAmJiB4ZXhwci0+ b3AgIT0gSVNfWE1MVkFMSURBVEUpCiAJCQkJewogCQkJCQlhcHBlbmRTdHJpbmdJbmZvKGJ1 ZiwgIk5BTUUgJXMiLAogCQkJCQkJCQkJIHF1b3RlX2lkZW50aWZpZXIobWFwX3htbF9uYW1l X3RvX3NxbF9pZGVudGlmaWVyKHhleHByLT5uYW1lKSkpOwpAQCAtMTAxNzMsNiArMTAxNzYs OSBAQCBnZXRfcnVsZV9leHByKE5vZGUgKm5vZGUsIGRlcGFyc2VfY29udGV4dCAqY29udGV4 dCwKIAkJCQkJCQkvKiBubyBleHRyYSBkZWNvcmF0aW9uIG5lZWRlZCAqLwogCQkJCQkJCWdl dF9ydWxlX2V4cHIoKE5vZGUgKikgeGV4cHItPmFyZ3MsIGNvbnRleHQsIHRydWUpOwogCQkJ CQkJCWJyZWFrOworCQkJCQkJY2FzZSBJU19YTUxWQUxJREFURToKKwkJCQkJCQlnZXRfcnVs ZV9leHByKChOb2RlICopIGxpbml0aWFsKHhleHByLT5hcmdzKSwgY29udGV4dCwgdHJ1ZSk7 CisJCQkJCQkJYnJlYWs7CiAJCQkJCQljYXNlIElTX1hNTFBBUlNFOgogCQkJCQkJCUFzc2Vy dChsaXN0X2xlbmd0aCh4ZXhwci0+YXJncykgPT0gMik7CiAKQEAgLTEwMjQyLDYgKzEwMjQ4 LDEzIEBAIGdldF9ydWxlX2V4cHIoTm9kZSAqbm9kZSwgZGVwYXJzZV9jb250ZXh0ICpjb250 ZXh0LAogCQkJCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICIgTk8gSU5ERU5UIik7 CiAJCQkJfQogCisJCQkJaWYgKHhleHByLT5vcCA9PSBJU19YTUxWQUxJREFURSkKKwkJCQl7 CisJCQkJCS8qIE91dHB1dCB0aGUgc2NoZW1hIG5hbWUgc3RvcmVkIGR1cmluZyBwYXJzZSBh bmFseXNpcyAqLworCQkJCQlhcHBlbmRTdHJpbmdJbmZvKGJ1ZiwgIiBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BICVzIiwKKwkJCQkJCQkJCSBxdW90ZV9pZGVudGlmaWVyKHhleHByLT5uYW1l KSk7CisJCQkJfQorCiAJCQkJaWYgKHhleHByLT5vcCA9PSBJU19ET0NVTUVOVCkKIAkJCQkJ YXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICIgSVMgRE9DVU1FTlQiKTsKIAkJCQllbHNl CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQveG1sLmMKaW5kZXggZjY5ZGM2ODI4Ni4uZDU3YzNjMDdmOSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC94bWwuYwpAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgPGxpYnhtbC94bWx3 cml0ZXIuaD4KICNpbmNsdWRlIDxsaWJ4bWwveHBhdGguaD4KICNpbmNsdWRlIDxsaWJ4bWwv eHBhdGhJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hcy5oPgogCiAv KgogICogV2UgdXNlZCB0byBjaGVjayBmb3IgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCB2 aWEgYSBjb25maWd1cmUgdGVzdDsgYnV0CkBAIC04NCw2ICs4NSw3IEBACiAjaW5jbHVkZSAi Y2F0YWxvZy9uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NsYXNzLmgiCiAj aW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ194bWxz Y2hlbWEuaCIKICNpbmNsdWRlICJleGVjdXRvci9zcGkuaCIKICNpbmNsdWRlICJleGVjdXRv ci90YWJsZWZ1bmMuaCIKICNpbmNsdWRlICJmbWdyLmgiCkBAIC05NCw2ICs5Niw3IEBACiAj aW5jbHVkZSAibm9kZXMvZXhlY25vZGVzLmgiCiAjaW5jbHVkZSAibm9kZXMvbWlzY25vZGVz LmgiCiAjaW5jbHVkZSAibm9kZXMvbm9kZUZ1bmNzLmgiCisjaW5jbHVkZSAidXRpbHMvYWNs LmgiCiAjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlu cy5oIgogI2luY2x1ZGUgInV0aWxzL2RhdGUuaCIKQEAgLTExNTgsMTAgKzExNjEsMTQ3IEBA IHhtbHZhbGlkYXRlKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJZXJlcG9ydChFUlJPUiwKIAkJ CShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKLQkJCSBlcnJtc2co InhtbHZhbGlkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCIpKSk7CisJCQkgZXJybXNnKCJ4bWx2 YWxpZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQgYWdhaW5zdCBnZW5lcmFsaXplZCBzY2hlbWEg ZGVmaW5pdGlvbnMiKSkpOwogCXJldHVybiAwOwogfQogCisvKgorICogeG1sdmFsaWRhdGVf c2NoZW1hIC0gdmFsaWRhdGUgWE1MIGRvY3VtZW50IGFnYWluc3QgYSByZWdpc3RlcmVkIFhN TCBTY2hlbWEKKyAqCisgKiBWYWxpZGF0ZXMgdGhlIGdpdmVuIFhNTCBkb2N1bWVudCBhZ2Fp bnN0IHRoZSBzY2hlbWEgaWRlbnRpZmllZCBieSBhIHNjaGVtYV9vaWQuCisgKiBSZXR1cm5z IHRoZSB2YWxpZGF0ZWQgWE1MIHZhbHVlLCBvciByYWlzZXMgYW4gZXJyb3IgaWYgdGhlIHZh bGlkYXRpb24gZmFpbHMuCisgKi8KK3htbHR5cGUgKgoreG1sdmFsaWRhdGVfc2NoZW1hKHht bHR5cGUgKmRhdGEsIE9pZCBzY2hlbWFfb2lkKQoreworI2lmZGVmIFVTRV9MSUJYTUwKKwlI ZWFwVHVwbGUJdHVwbGU7CisJRGF0dW0JCXNjaGVtYV9kYXR1bTsKKwlib29sCQlpc251bGw7 CisJeG1sdHlwZSAgICAqc2NoZW1hX3htbDsKKwljaGFyCSAgICpzY2hlbWFzdHI7CisJdm9s YXRpbGUgeG1sRG9jUHRyIGRvYyA9IE5VTEw7CisJdm9sYXRpbGUJeG1sU2NoZW1hUGFyc2Vy Q3R4dFB0ciBzY2hlbWFfcGFyc2VyX2N0eHQgPSBOVUxMOworCXZvbGF0aWxlCXhtbFNjaGVt YVB0ciBzY2hlbWFfcHRyID0gTlVMTDsKKwl2b2xhdGlsZQl4bWxTY2hlbWFWYWxpZEN0eHRQ dHIgdmFsaWRfY3R4dCA9IE5VTEw7CisJaW50CQkJcmVzdWx0OworCVBnWG1sRXJyb3JDb250 ZXh0ICp4bWxlcnJjeHQ7CisJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKworCS8qIENoZWNrIHVz YWdlIHBlcm1pc3Npb24gZmlyc3QgKi8KKwlhY2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2so WG1sU2NoZW1hUmVsYXRpb25JZCwgc2NoZW1hX29pZCwKKwkJCQkJCQkJR2V0VXNlcklkKCks IEFDTF9VU0FHRSk7CisJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwl7CisJCS8q IEZldGNoIHR1cGxlIG9ubHkgdG8gZ2V0IG5hbWUgZm9yIHRoZSBlcnJvciBtZXNzYWdlICov CisJCUZvcm1fcGdfeG1sc2NoZW1hIHNjaGVtYV9mb3JtOworCisJCXR1cGxlID0gU2VhcmNo U3lzQ2FjaGUxKFhNTFNDSEVNQU9JRCwgT2JqZWN0SWRHZXREYXR1bShzY2hlbWFfb2lkKSk7 CisJCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCQllbG9nKEVSUk9SLCAiY2Fj aGUgbG9va3VwIGZhaWxlZCBmb3IgWE1MIHNjaGVtYSAldSIsIHNjaGVtYV9vaWQpOworCisJ CXNjaGVtYV9mb3JtID0gKEZvcm1fcGdfeG1sc2NoZW1hKSBHRVRTVFJVQ1QodHVwbGUpOwor CQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUpOworCisJCWFjbGNoZWNrX2Vycm9yKGFjbHJlc3Vs dCwgT0JKRUNUX1hNTFNDSEVNQSwKKwkJCQkJICAgTmFtZVN0cihzY2hlbWFfZm9ybS0+c2No ZW1hbmFtZSkpOworCX0KKworCXR1cGxlID0gU2VhcmNoU3lzQ2FjaGUxKFhNTFNDSEVNQU9J RCwgT2JqZWN0SWRHZXREYXR1bShzY2hlbWFfb2lkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1Zh bGlkKHR1cGxlKSkKKwkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIFhN TCBzY2hlbWEgJXUiLCBzY2hlbWFfb2lkKTsKKworCXNjaGVtYV9kYXR1bSA9IFN5c0NhY2hl R2V0QXR0cihYTUxTQ0hFTUFPSUQsIHR1cGxlLAorCQkJCQkJCQkgICBBbnVtX3BnX3htbHNj aGVtYV9zY2hlbWFkYXRhLCAmaXNudWxsKTsKKwlpZiAoaXNudWxsKQorCQllbG9nKEVSUk9S LCAibnVsbCBzY2hlbWFkYXRhIGZvciBYTUwgc2NoZW1hICV1Iiwgc2NoZW1hX29pZCk7CisK KwlzY2hlbWFfeG1sID0gRGF0dW1HZXRYbWxQKHNjaGVtYV9kYXR1bSk7CisJc2NoZW1hc3Ry ID0gdGV4dF90b19jc3RyaW5nKHNjaGVtYV94bWwpOworCVJlbGVhc2VTeXNDYWNoZSh0dXBs ZSk7CisKKwl4bWxlcnJjeHQgPSBwZ194bWxfaW5pdChQR19YTUxfU1RSSUNUTkVTU19XRUxM Rk9STUVEKTsKKworCVBHX1RSWSgpOworCXsKKwkJRXJyb3JTYXZlQ29udGV4dCBlc2NvbnRl eHQgPSB7VF9FcnJvclNhdmVDb250ZXh0fTsKKworCQlkb2MgPSB4bWxfcGFyc2UoKHRleHQg KikgZGF0YSwgWE1MT1BUSU9OX0RPQ1VNRU5ULCB0cnVlLAorCQkJCQkJR2V0RGF0YWJhc2VF bmNvZGluZygpLCBOVUxMLCBOVUxMLCAoTm9kZSAqKSAmZXNjb250ZXh0KTsKKworCQlpZiAo ZXNjb250ZXh0LmVycm9yX29jY3VycmVkIHx8IGRvYyA9PSBOVUxMKQorCQl7CisJCQlpZiAo ZXNjb250ZXh0LmVycm9yX29jY3VycmVkICYmIGVzY29udGV4dC5lcnJvcl9kYXRhKQorCQkJ eworCQkJCUVycm9yRGF0YSAgKmVkYXRhID0gZXNjb250ZXh0LmVycm9yX2RhdGE7CisKKwkJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1hNTF9E T0NVTUVOVCksCisJCQkJCQkgZXJybXNnKCJpbnZhbGlkIFhNTCBkb2N1bWVudCIpLAorCQkJ CQkJIGVycmRldGFpbF9pbnRlcm5hbCgiJXMiLCBlZGF0YS0+bWVzc2FnZSA/IGVkYXRhLT5t ZXNzYWdlIDogInVua25vd24gZXJyb3IiKSkpOworCQkJfQorCQkJeG1sX2VyZXBvcnQoeG1s ZXJyY3h0LCBFUlJPUiwgRVJSQ09ERV9JTlZBTElEX1hNTF9ET0NVTUVOVCwKKwkJCQkJCSJp bnZhbGlkIFhNTCBkb2N1bWVudCIpOworCQl9CisKKwkJc2NoZW1hX3BhcnNlcl9jdHh0ID0g eG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dChzY2hlbWFzdHIsIHN0cmxlbihzY2hlbWFzdHIp KTsKKwkJaWYgKHNjaGVtYV9wYXJzZXJfY3R4dCA9PSBOVUxMKQorCQkJeG1sX2VyZXBvcnQo eG1sZXJyY3h0LCBFUlJPUiwgRVJSQ09ERV9JTlRFUk5BTF9FUlJPUiwKKwkJCQkJCSJmYWls ZWQgdG8gY3JlYXRlIHNjaGVtYSBwYXJzZXIgY29udGV4dCIpOworCisJCXNjaGVtYV9wdHIg PSB4bWxTY2hlbWFQYXJzZShzY2hlbWFfcGFyc2VyX2N0eHQpOworCQlpZiAoc2NoZW1hX3B0 ciA9PSBOVUxMKQorCQkJeG1sX2VyZXBvcnQoeG1sZXJyY3h0LCBFUlJPUiwgRVJSQ09ERV9J TlZBTElEX1hNTF9ET0NVTUVOVCwKKwkJCQkJCSJmYWlsZWQgdG8gcGFyc2UgWE1MIHNjaGVt YSIpOworCisJCXZhbGlkX2N0eHQgPSB4bWxTY2hlbWFOZXdWYWxpZEN0eHQoc2NoZW1hX3B0 cik7CisJCWlmICh2YWxpZF9jdHh0ID09IE5VTEwpCisJCQl4bWxfZXJlcG9ydCh4bWxlcnJj eHQsIEVSUk9SLCBFUlJDT0RFX09VVF9PRl9NRU1PUlksCisJCQkJCQkiZmFpbGVkIHRvIGNy ZWF0ZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Iik7CisKKwkJeG1sU2NoZW1hU2V0VmFs aWRTdHJ1Y3R1cmVkRXJyb3JzKHZhbGlkX2N0eHQsIHhtbF9lcnJvckhhbmRsZXIsIHhtbGVy cmN4dCk7CisKKwkJcmVzdWx0ID0geG1sU2NoZW1hVmFsaWRhdGVEb2ModmFsaWRfY3R4dCwg ZG9jKTsKKwkJaWYgKHJlc3VsdCA8IDApCisJCQl4bWxfZXJlcG9ydCh4bWxlcnJjeHQsIEVS Uk9SLCBFUlJDT0RFX0lOVEVSTkFMX0VSUk9SLAorCQkJCQkJImludGVybmFsIGVycm9yIGR1 cmluZyBzY2hlbWEgdmFsaWRhdGlvbiIpOworCQlpZiAocmVzdWx0ID4gMCkKKwkJCXhtbF9l cmVwb3J0KHhtbGVycmN4dCwgRVJST1IsIEVSUkNPREVfSU5WQUxJRF9YTUxfRE9DVU1FTlQs CisJCQkJCQkiWE1MIHZhbGlkYXRpb24gZmFpbGVkIik7CisJfQorCVBHX0NBVENIKCk7CisJ eworCQlpZiAodmFsaWRfY3R4dCkKKwkJCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQodmFsaWRf Y3R4dCk7CisJCWlmIChzY2hlbWFfcHRyKQorCQkJeG1sU2NoZW1hRnJlZShzY2hlbWFfcHRy KTsKKwkJaWYgKHNjaGVtYV9wYXJzZXJfY3R4dCkKKwkJCXhtbFNjaGVtYUZyZWVQYXJzZXJD dHh0KHNjaGVtYV9wYXJzZXJfY3R4dCk7CisJCWlmIChkb2MpCisJCQl4bWxGcmVlRG9jKGRv Yyk7CisJCXBnX3htbF9kb25lKHhtbGVycmN4dCwgdHJ1ZSk7CisJCXBmcmVlKHNjaGVtYXN0 cik7CisJCVBHX1JFX1RIUk9XKCk7CisJfQorCVBHX0VORF9UUlkoKTsKKworCWlmICh2YWxp ZF9jdHh0KQorCQl4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KHZhbGlkX2N0eHQpOworCWlmIChz Y2hlbWFfcHRyKQorCQl4bWxTY2hlbWFGcmVlKHNjaGVtYV9wdHIpOworCWlmIChzY2hlbWFf cGFyc2VyX2N0eHQpCisJCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0KHNjaGVtYV9wYXJzZXJf Y3R4dCk7CisJaWYgKGRvYykKKwkJeG1sRnJlZURvYyhkb2MpOworCisJcGdfeG1sX2RvbmUo eG1sZXJyY3h0LCBmYWxzZSk7CisJcGZyZWUoc2NoZW1hc3RyKTsKKwlyZXR1cm4gZGF0YTsK KyNlbHNlCisJTk9fWE1MX1NVUFBPUlQoKTsKKwlyZXR1cm4gTlVMTDsKKyNlbmRpZgorfQog CiBib29sCiB4bWxfaXNfZG9jdW1lbnQoeG1sdHlwZSAqYXJnKQpAQCAtMTE4MSw3ICsxMzIx LDcgQEAgeG1sX2lzX2RvY3VtZW50KHhtbHR5cGUgKmFyZykKIAlyZXR1cm4gIWVzY29udGV4 dC5lcnJvcl9vY2N1cnJlZDsKICNlbHNlCQkJCQkJCS8qIG5vdCBVU0VfTElCWE1MICovCiAJ Tk9fWE1MX1NVUFBPUlQoKTsKLQlyZXR1cm4gZmFsc2U7CisJcmV0dXJuIE5VTEw7CiAjZW5k aWYJCQkJCQkJLyogbm90IFVTRV9MSUJYTUwgKi8KIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMu aAppbmRleCA1MjExY2FkYzI1Li5jNDBjYmM4OTgxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMu aApAQCAtMTYxMCw2ICsxNjEwLDcgQEAgdHlwZWRlZiBlbnVtIFhtbEV4cHJPcAogCUlTX1hN TFJPT1QsCQkJCQkvKiBYTUxST09UKHhtbCwgdmVyc2lvbiwgc3RhbmRhbG9uZSkgKi8KIAlJ U19YTUxTRVJJQUxJWkUsCQkJLyogWE1MU0VSSUFMSVpFKGlzX2RvY3VtZW50LCB4bWx2YWws IGluZGVudCkgKi8KIAlJU19ET0NVTUVOVCwJCQkJLyogeG1sdmFsIElTIERPQ1VNRU5UICov CisJSVNfWE1MVkFMSURBVEUsCQkJCS8qIFhNTFZBTElEQVRFKHhtbHZhbCwgc2NoZW1hKSAq LwogfSBYbWxFeHByT3A7CiAKIHR5cGVkZWYgZW51bSBYbWxPcHRpb25UeXBlCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIv a3dsaXN0LmgKaW5kZXggYTAxOGMyYjllMC4uNGU4YjVlMWQ3ZSAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xp c3QuaApAQCAtMjksNiArMjksNyBAQCBQR19LRVlXT1JEKCJhYm9ydCIsIEFCT1JUX1AsIFVO UkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImFic2VudCIsIEFC U0VOVCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiYWJz b2x1dGUiLCBBQlNPTFVURV9QLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQ R19LRVlXT1JEKCJhY2Nlc3MiLCBBQ0NFU1MsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9M QUJFTCkKK1BHX0tFWVdPUkQoImFjY29yZGluZyIsIEFDQ09SRElORywgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiYWN0aW9uIiwgQUNUSU9OLCBVTlJF U0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJhZGQiLCBBRERfUCwg VU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiYWRtaW4iLCBB RE1JTiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQpAQCAtNTIzLDYgKzUyNCw3 IEBAIFBHX0tFWVdPUkQoInhtbHJvb3QiLCBYTUxST09ULCBDT0xfTkFNRV9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgieG1sc2NoZW1hIiwgWE1MU0NIRU1BLCBVTlJFU0VS VkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ4bWxzZXJpYWxpemUiLCBY TUxTRVJJQUxJWkUsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JE KCJ4bWx0YWJsZSIsIFhNTFRBQkxFLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQor UEdfS0VZV09SRCgieG1sdmFsaWRhdGUiLCBYTUxWQUxJREFURSwgQ09MX05BTUVfS0VZV09S RCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInllYXIiLCBZRUFSX1AsIFVOUkVTRVJWRURf S0VZV09SRCwgQVNfTEFCRUwpCiBQR19LRVlXT1JEKCJ5ZXMiLCBZRVNfUCwgVU5SRVNFUlZF RF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgiem9uZSIsIFpPTkUsIFVOUkVT RVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0 aWxzL3htbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKaW5kZXggMDNhY2IyNTU0NC4u ZGM2YTRkMzc4NCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKKysrIGIv c3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKQEAgLTc2LDYgKzc2LDcgQEAgZXh0ZXJuIHhtbHR5 cGUgKnhtbGVsZW1lbnQoWG1sRXhwciAqeGV4cHIsCiBleHRlcm4geG1sdHlwZSAqeG1scGFy c2UodGV4dCAqZGF0YSwgWG1sT3B0aW9uVHlwZSB4bWxvcHRpb25fYXJnLCBib29sIHByZXNl cnZlX3doaXRlc3BhY2UpOwogZXh0ZXJuIHhtbHR5cGUgKnhtbHBpKGNvbnN0IGNoYXIgKnRh cmdldCwgdGV4dCAqYXJnLCBib29sIGFyZ19pc19udWxsLCBib29sICpyZXN1bHRfaXNfbnVs bCk7CiBleHRlcm4geG1sdHlwZSAqeG1scm9vdCh4bWx0eXBlICpkYXRhLCB0ZXh0ICp2ZXJz aW9uLCBpbnQgc3RhbmRhbG9uZSk7CitleHRlcm4geG1sdHlwZSAqeG1sdmFsaWRhdGVfc2No ZW1hKHhtbHR5cGUgKmRhdGEsIE9pZCBzY2hlbWFfb2lkKTsKIGV4dGVybiBib29sIHhtbF9p c19kb2N1bWVudCh4bWx0eXBlICphcmcpOwogZXh0ZXJuIHRleHQgKnhtbHRvdGV4dF93aXRo X29wdGlvbnMoeG1sdHlwZSAqZGF0YSwgWG1sT3B0aW9uVHlwZSB4bWxvcHRpb25fYXJnLAog CQkJCQkJCQkJYm9vbCBpbmRlbnQpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC94bWwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWwub3V0Cmlu ZGV4IDRlMjQ2NTdkMmQuLjEyMWQ4NmQ4NWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQveG1sLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ht bC5vdXQKQEAgLTE5NDUsMyArMTk0NSwyMzYgQEAgQ1JFQVRFIFhNTFNDSEVNQSBib29rX3Nj aGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+CiAgICAgPC94czpjb21wbGV4VHlwZT4K ICAgPC94czplbGVtZW50PgogPC94czpzY2hlbWE+JzsKK1NFTEVDVCBYTUxWQUxJREFURShE T0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNv bj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisgICAgICAg ICAgICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPHBlcnNvbj48bmFt ZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L3BlcnNvbj4KKygxIHJvdykKKworU0VMRUNU IFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdCBpZD0iUDEyMyI+PG5hbWU+V2lkZ2V0 PC9uYW1lPjxwcmljZT45Ljk5PC9wcmljZT48L3Byb2R1Y3Q+JworICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPHByb2R1Y3QgaWQ9IlAxMjMiPjxuYW1lPldp ZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PgorKDEgcm93KQorCitT RUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQKKyAgJzxib29rIGlzYm49Ijk3OC0wLTEyMzQ1 Ni03OC05Ij4KKyAgICA8dGl0bGU+UG9zdGdyZVNRTCBJbnRlcm5hbHM8L3RpdGxlPgorICAg IDxhdXRob3I+PGZpcnN0bmFtZT5Kb2huPC9maXJzdG5hbWU+PGxhc3RuYW1lPlRpdG9yPC9s YXN0bmFtZT48L2F1dGhvcj4KKyAgICA8YXV0aG9yPjxmaXJzdG5hbWU+SmFuZTwvZmlyc3Ru YW1lPjwvYXV0aG9yPgorICAgIDx5ZWFyPjIwMjQ8L3llYXI+CisgIDwvYm9vaz4nCisgIEFD Q09SRElORyBUTyBYTUxTQ0hFTUEgYm9va19zY2hlbWEpOworRVJST1I6ICBYTUwgdmFsaWRh dGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxTRVJJQUxJWkUoRE9DVU1FTlQKKyAgWE1MVkFMSURB VEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwv cGVyc29uPicKKyAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIEFT IHRleHQpOworICAgICAgICAgICAgICAgICAgIHhtbHNlcmlhbGl6ZSAgICAgICAgICAgICAg ICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgPHBlcnNvbj48bmFtZT5BbGljZTwvbmFtZT48YWdlPjI1PC9hZ2U+PC9wZXJzb24+ CisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxMIEFDQ09SRElO RyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CisgeG1sdmFsaWRhdGUgCistLS0tLS0t LS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxM IEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSkgSVMgTlVMTCBBUyBpc19u dWxsOworIGlzX251bGwgCistLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1NFTEVDVCBYTUxW QUxJREFURShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjwvcGVyc29uPicK KyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1M IHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJz b24+PG5hbWU+Sm9objwvbmFtZT48YWdlPm5vdC1hLW51bWJlcjwvYWdlPjwvcGVyc29uPicK KyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1M IHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwcm9k dWN0PjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicK KyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3Nj aGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VMRUNUIFhNTFZBTElE QVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFnZT4zMDwvYWdlPjxl eHRyYT5kYXRhPC9leHRyYT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEg cGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VMRUNU IFhNTFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29uPjxuYW1lPkpvaG48L25hbWU+PGFn ZT4zMDwvYWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJz b25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PnZhbHVlPC90ZXN0PicKKyAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSBub25leGlzdGVudF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJu b25leGlzdGVudF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitDUkVBVEUgVklFVyB2YWxpZGF0 ZWRfcGVvcGxlIEFTCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBkYXRhIEFDQ09S RElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSkgQVMgdmFsaWRhdGVkX3htbAorICBG Uk9NIHhtbHRlc3QgV0hFUkUgaWQgPSAxOworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxp ZGF0ZWRfcGVvcGxlJzo6cmVnY2xhc3MsIHRydWUpOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwZ19nZXRfdmlld2RlZiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UIGRhdGEgQUNDT1JESU5HIFRPIFhNTFND SEVNQSBwZXJzb25fc2NoZW1hKSBBUyB2YWxpZGF0ZWRfeG1sKworICAgIEZST00geG1sdGVz dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICArCisgICBXSEVSRSBpZCA9IDE7CisoMSByb3cpCisKK0RS T1AgVklFVyB2YWxpZGF0ZWRfcGVvcGxlOworQ1JFQVRFIFZJRVcgdmFsaWRhdGVkX3Byb2R1 Y3RzIEFTCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9IjEy MyI+PG5hbWU+VGVzdDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+PC9wcm9kdWN0PicKKyAg ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2No ZW1hKSBBUyB2YWxpZGF0ZWRfeG1sOworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0 ZWRfcHJvZHVjdHMnOjpyZWdjbGFzcywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGdfZ2V0X3ZpZXdkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAgU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVj dCBpZD0iMTIzIj48bmFtZT5UZXN0PC9uYW1lPjxwcmljZT4xLjk5PC9wcmljZT48L3Byb2R1 Y3Q+Jzo6eG1sIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgInRlc3RfeG1sc2NoZW1hX25zLnBy b2R1Y3Rfc2NoZW1hIikgQVMgdmFsaWRhdGVkX3htbDsKKygxIHJvdykKKworRFJPUCBWSUVX IHZhbGlkYXRlZF9wcm9kdWN0czsKK0FMVEVSIFhNTFNDSEVNQSBib29rX3NjaGVtYSBSRU5B TUUgVE8gbGlicmFyeV9ib29rX3NjaGVtYTsKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVO VCAnPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3Ru YW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+ MjAyNDwveWVhcj48L2Jvb2s+JworIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgYm9va19zY2hl bWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJib29rX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QK K1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+ VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+ QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+JworICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIGxpYnJhcnlfYm9va19zY2hlbWEpOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sdmFsaWRh dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPGJvb2sgaXNibj0iMTIzIj48dGl0bGU+VGVz dDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5hbWU+Qjwv bGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+CisoMSByb3cpCisK K0FMVEVSIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2NoZW1hIFNFVCBTQ0hFTUEgdGVzdF94 bWxzY2hlbWFfbnM7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49 IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5h bWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9i b29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2NoZW1hKTsK K0VSUk9SOiAgWE1MIHNjaGVtYSAibGlicmFyeV9ib29rX3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPGJvb2sgaXNibj0iMTIzIj48dGl0 bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2ZpcnN0bmFtZT48bGFzdG5h bWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVhcj48L2Jvb2s+JworICBB Q0NPUkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19z Y2hlbWEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeG1sdmFsaWRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPGJvb2sg aXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8L2Zp cnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwveWVh cj48L2Jvb2s+CisoMSByb3cpCisKK0NSRUFURSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rl c3Rfcm9sZTsKK0FMVEVSIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jv b2tfc2NoZW1hIE9XTkVSIFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK1NFTEVD VCBzY2hlbWFuYW1lLCBzY2hlbWFuYW1lc3BhY2U6OnJlZ25hbWVzcGFjZSwgc2NoZW1hb3du ZXI6OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1hCitXSEVSRSBzY2hlbWFuYW1lID0gJ2xp YnJhcnlfYm9va19zY2hlbWEnOworICAgICBzY2hlbWFuYW1lICAgICAgfCAgc2NoZW1hbmFt ZXNwYWNlICB8ICAgICAgICAgc2NoZW1hb3duZXIgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgbGlicmFyeV9ib29rX3NjaGVtYSB8IHRlc3RfeG1sc2NoZW1hX25zIHwgcmVncmVz c194bWxzY2hlbWFfdGVzdF9yb2xlCisoMSByb3cpCisKK0NSRUFURSBWSUVXIGJvb2tfdmll dyBBUworICBTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjQ1NiI+ PHRpdGxlPkRlcCBUZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+WDwvZmlyc3RuYW1l PjxsYXN0bmFtZT5ZPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI1PC95ZWFyPjwvYm9v az4nCisgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJy YXJ5X2Jvb2tfc2NoZW1hKSBBUyB2YWxpZGF0ZWRfYm9vazsKK0RST1AgWE1MU0NIRU1BIHRl c3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWE7CitFUlJPUjogIGNhbm5vdCBk cm9wIFhNTCBzY2hlbWEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSBi ZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICB2aWV3IGJvb2tf dmlldyBkZXBlbmRzIG9uIFhNTCBzY2hlbWEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9i b29rX3NjaGVtYQorSElOVDogIFVzZSBEUk9QIC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRl cGVuZGVudCBvYmplY3RzIHRvby4KK0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25z LmxpYnJhcnlfYm9va19zY2hlbWEgQ0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMg dG8gdmlldyBib29rX3ZpZXcKK1NFTEVDVCAqIEZST00gYm9va192aWV3OworRVJST1I6ICBy ZWxhdGlvbiAiYm9va192aWV3IiBkb2VzIG5vdCBleGlzdAorTElORSAxOiBTRUxFQ1QgKiBG Uk9NIGJvb2tfdmlldzsKKyAgICAgICAgICAgICAgICAgICAgICBeCitEUk9QIFhNTFNDSEVN QSBwZXJzb25fc2NoZW1hOworRFJPUCBYTUxTQ0hFTUEgSUYgRVhJU1RTIHBlcnNvbl9zY2hl bWE7CitOT1RJQ0U6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBkb2VzIG5vdCBleGlz dCwgc2tpcHBpbmcKK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CitFUlJPUjogIFhN TCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYTsKK1NFVCBST0xFIHJlZ3Jlc3Nf eG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0NSRUFURSBYTUxTQ0hFTUEgcHVibGljLnNob3VsZF9m YWlsX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5z OnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50 IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0cmluZyIvPgorPC94czpzY2hlbWE+JzsKK1JFU0VU IFJPTEU7CitHUkFOVCBDUkVBVEUgT04gU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zIFRPIHJl Z3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1h X3Rlc3Rfcm9sZTsKK0NSRUFURSBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucm9sZV9z Y2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0i aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1l PSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CitSRVNFVCBST0xF OworRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucm9sZV9zY2hlbWE7CitEUk9Q IFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworRVJST1I6ICByb2xlICJyZWdy ZXNzX3htbHNjaGVtYV90ZXN0X3JvbGUiIGNhbm5vdCBiZSBkcm9wcGVkIGJlY2F1c2Ugc29t ZSBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAgcHJpdmlsZWdlcyBmb3Igc2NoZW1h IHRlc3RfeG1sc2NoZW1hX25zCitvd25lciBvZiBYTUwgc2NoZW1hIHB1YmxpYy5zaG91bGRf ZmFpbF9zY2hlbWEKK0RST1AgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zIENBU0NBREU7CitD UkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0NSRUFURSBST0xFIHJlZ3Jl c3NfeG1sc2NoZW1hX3VzZXIyOworQ1JFQVRFIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rf c2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9 Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFt ZT0idGVzdCIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNjaGVtYT4nOworU0VUIFJPTEUg cmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQg Jzx0ZXN0PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBY TUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIHBlcm1pc3Npb24g ZGVuaWVkIGZvciBYTUwgc2NoZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEKK1JFU0VUIFJP TEU7CitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBU TyByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1h X3VzZXIxOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0 PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Np b25fdGVzdF9zY2hlbWEpOworICAgIHhtbHZhbGlkYXRlICAgIAorLS0tLS0tLS0tLS0tLS0t LS0tLQorIDx0ZXN0PmRhdGE8L3Rlc3Q+CisoMSByb3cpCisKK1JFU0VUIFJPTEU7CitTRVQg Uk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK1NFTEVDVCBYTUxWQUxJREFURShET0NV TUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAgICAgICAgICAgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hKTsKK0VSUk9SOiAgcGVybWlz c2lvbiBkZW5pZWQgZm9yIFhNTCBzY2hlbWEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYQorUkVT RVQgUk9MRTsKK0dSQU5UIFVTQUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2No ZW1hIFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VUIFJPTEUgcmVncmVzc194bWxz Y2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8 L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVy bWlzc2lvbl90ZXN0X3NjaGVtYSk7CisgICAgeG1sdmFsaWRhdGUgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tCisgPHRlc3Q+ZGF0YTwvdGVzdD4KKygxIHJvdykKKworUkVTRVQgUk9MRTsK K1JFVk9LRSBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBGUk9N IHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFf dXNlcjE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rlc3Q+ JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlzc2lv bl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBYTUwgc2No ZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEKK1JFU0VUIFJPTEU7CitEUk9QIFhNTFNDSEVN QSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hOworRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1h X3VzZXIxOworRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworQ1JFQVRFIFRB QkxFIHZhbGlkYXRlZF94bWxfZGF0YSAoCisgIGlkIHNlcmlhbCBQUklNQVJZIEtFWSwKKyAg ZGF0YSB4bWwKKyk7CitDUkVBVEUgWE1MU0NIRU1BIGRhdGFfc2NoZW1hIEFTICc8P3htbCB2 ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3Jn LzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgPHhz OmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHM6aW50ZWdlciIvPgorICAgICAgPC94czpzZXF1ZW5j ZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVt YT4nOworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQorVkFMVUVTIChY TUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPjQyPC92YWx1ZT48L2RhdGE+Jwor ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRhdGFfc2NoZW1hKSk7CitJTlNFUlQgSU5UTyB2 YWxpZGF0ZWRfeG1sX2RhdGEgKGRhdGEpCitWQUxVRVMgKFhNTFZBTElEQVRFKERPQ1VNRU5U ICc8ZGF0YT48dmFsdWU+MTAwPC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1M U0NIRU1BIGRhdGFfc2NoZW1hKSk7CitTRUxFQ1QgaWQsIGRhdGEgRlJPTSB2YWxpZGF0ZWRf eG1sX2RhdGEgT1JERVIgQlkgaWQ7CisgaWQgfCAgICAgICAgICAgICAgZGF0YSAgICAgICAg ICAgICAgIAorLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgMSB8 IDxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRhPgorICAyIHwgPGRhdGE+PHZhbHVlPjEw MDwvdmFsdWU+PC9kYXRhPgorKDIgcm93cykKKworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3ht bF9kYXRhIChkYXRhKQorVkFMVUVTIChYTUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZh bHVlPm5vdC1hbi1pbnQ8L3ZhbHVlPjwvZGF0YT4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hF TUEgZGF0YV9zY2hlbWEpKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitEUk9Q IFRBQkxFIHZhbGlkYXRlZF94bWxfZGF0YTsKK0RST1AgWE1MU0NIRU1BIGRhdGFfc2NoZW1h OworRFJPUCBYTUxTQ0hFTUEgc2hvdWxkX2ZhaWxfc2NoZW1hOworRFJPUCBST0xFIHJlZ3Jl c3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQveG1sXzEub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC94bWxfMS5v dXQKaW5kZXggYWRlZDU3Yzc4Yi4uN2IwODgzODBjNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC94bWxfMS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC94bWxfMS5vdXQKQEAgLTE1NTcsMyArMTU1NywyMTEgQEAgQ1JFQVRFIFhNTFNDSEVN QSBib29rX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+CiAgIDwveHM6ZWxlbWVu dD4KIDwveHM6c2NoZW1hPic7CiBFUlJPUjogIHhtbHNjaGVtYSBzdXBwb3J0IHJlcXVpcmVz IGxpYnhtbAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpv aG48L25hbWU+PGFnZT4zMDwvYWdlPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFND SEVNQSBwZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVt YSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1 Y3QgaWQ9IlAxMjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9w cm9kdWN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5w cm9kdWN0X3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgInRlc3RfeG1sc2NoZW1hX25z LnByb2R1Y3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERP Q1VNRU5UCisgICc8Ym9vayBpc2JuPSI5NzgtMC0xMjM0NTYtNzgtOSI+CisgICAgPHRpdGxl PlBvc3RncmVTUUwgSW50ZXJuYWxzPC90aXRsZT4KKyAgICA8YXV0aG9yPjxmaXJzdG5hbWU+ Sm9objwvZmlyc3RuYW1lPjxsYXN0bmFtZT5UaXRvcjwvbGFzdG5hbWU+PC9hdXRob3I+Cisg ICAgPGF1dGhvcj48Zmlyc3RuYW1lPkphbmU8L2ZpcnN0bmFtZT48L2F1dGhvcj4KKyAgICA8 eWVhcj4yMDI0PC95ZWFyPgorICA8L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiYm9va19zY2hlbWEiIGRvZXMg bm90IGV4aXN0CitTRUxFQ1QgWE1MU0VSSUFMSVpFKERPQ1VNRU5UCisgIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkFsaWNlPC9uYW1lPjxhZ2U+MjU8L2FnZT48L3Bl cnNvbj4nCisgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0 ZXh0KTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCBOVUxMIEFDQ09SRElORyBUTyBYTUxT Q0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hl bWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBB Q0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIElTIE5VTEwgQVMgaXNfbnVs bDsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QK K1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1l PjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsK K0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NF TEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxh Z2U+bm90LWEtbnVtYmVyPC9hZ2U+PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NI RU1BIHBlcnNvbl9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1h IiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVj dD48bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisg IEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hl bWEpOworRVJST1I6ICBYTUwgc2NoZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3Nj aGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBl cnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48ZXh0cmE+ZGF0YTwvZXh0cmE+ PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOwor RVJST1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29uPjxuYW1lPkpvaG48L25hbWU+ PGFnZT4zMDwvYWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBw ZXJzb25fc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9l cyBub3QgZXhpc3QKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+dmFsdWU8 L3Rlc3Q+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIG5vbmV4aXN0ZW50X3NjaGVtYSk7 CitFUlJPUjogIFhNTCBzY2hlbWEgIm5vbmV4aXN0ZW50X3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKK0NSRUFURSBWSUVXIHZhbGlkYXRlZF9wZW9wbGUgQVMKKyAgU0VMRUNUIFhNTFZBTElE QVRFKERPQ1VNRU5UIGRhdGEgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1h KSBBUyB2YWxpZGF0ZWRfeG1sCisgIEZST00geG1sdGVzdCBXSEVSRSBpZCA9IDE7CitFUlJP UjogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1Qg cGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wZW9wbGUnOjpyZWdjbGFzcywgdHJ1ZSk7CitF UlJPUjogIHJlbGF0aW9uICJ2YWxpZGF0ZWRfcGVvcGxlIiBkb2VzIG5vdCBleGlzdAorTElO RSAxOiBTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wZW9wbGUnOjpyZWdjbGFz cywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitEUk9QIFZJRVcg dmFsaWRhdGVkX3Blb3BsZTsKK0VSUk9SOiAgdmlldyAidmFsaWRhdGVkX3Blb3BsZSIgZG9l cyBub3QgZXhpc3QKK0NSRUFURSBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0cyBBUworICBTRUxF Q1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1lPlRlc3Q8 L25hbWU+PHByaWNlPjEuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgICAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSkgQVMgdmFsaWRh dGVkX3htbDsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVzdF94bWxzY2hlbWFfbnMucHJvZHVj dF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgcGdfZ2V0X3ZpZXdkZWYoJ3ZhbGlk YXRlZF9wcm9kdWN0cyc6OnJlZ2NsYXNzLCB0cnVlKTsKK0VSUk9SOiAgcmVsYXRpb24gInZh bGlkYXRlZF9wcm9kdWN0cyIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMTogU0VMRUNUIHBnX2dl dF92aWV3ZGVmKCd2YWxpZGF0ZWRfcHJvZHVjdHMnOjpyZWdjbGFzcywgdHJ1ZSk7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCitEUk9QIFZJRVcgdmFsaWRhdGVkX3Byb2R1 Y3RzOworRVJST1I6ICB2aWV3ICJ2YWxpZGF0ZWRfcHJvZHVjdHMiIGRvZXMgbm90IGV4aXN0 CitBTFRFUiBYTUxTQ0hFTUEgYm9va19zY2hlbWEgUkVOQU1FIFRPIGxpYnJhcnlfYm9va19z Y2hlbWE7CitFUlJPUjogIFhNTCBzY2hlbWEgImJvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlz dAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRs ZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFt ZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgQUND T1JESU5HIFRPIFhNTFNDSEVNQSBib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEg ImJvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VN RU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJz dG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVh cj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbGlicmFy eV9ib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgImxpYnJhcnlfYm9va19zY2hl bWEiIGRvZXMgbm90IGV4aXN0CitBTFRFUiBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVt YSBTRVQgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworRVJST1I6ICBYTUwgc2NoZW1hICJs aWJyYXJ5X2Jvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9y PjxmaXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhv cj48eWVhcj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEg bGlicmFyeV9ib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgImxpYnJhcnlfYm9v a19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQg Jzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFt ZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIw MjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNj aGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVz dF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0NS RUFURSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0FMVEVSIFhNTFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hIE9XTkVSIFRPIHJlZ3Jl c3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVzdF94bWxz Y2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFTEVDVCBz Y2hlbWFuYW1lLCBzY2hlbWFuYW1lc3BhY2U6OnJlZ25hbWVzcGFjZSwgc2NoZW1hb3duZXI6 OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1hCitXSEVSRSBzY2hlbWFuYW1lID0gJ2xpYnJh cnlfYm9va19zY2hlbWEnOworIHNjaGVtYW5hbWUgfCBzY2hlbWFuYW1lc3BhY2UgfCBzY2hl bWFvd25lciAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t CisoMCByb3dzKQorCitDUkVBVEUgVklFVyBib29rX3ZpZXcgQVMKKyAgU0VMRUNUIFhNTFZB TElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSI0NTYiPjx0aXRsZT5EZXAgVGVzdDwvdGl0 bGU+PGF1dGhvcj48Zmlyc3RuYW1lPlg8L2ZpcnN0bmFtZT48bGFzdG5hbWU+WTwvbGFzdG5h bWU+PC9hdXRob3I+PHllYXI+MjAyNTwveWVhcj48L2Jvb2s+JworICAgIEFDQ09SRElORyBU TyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSkgQVMg dmFsaWRhdGVkX2Jvb2s7CitFUlJPUjogIFhNTCBzY2hlbWEgInRlc3RfeG1sc2NoZW1hX25z LmxpYnJhcnlfYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVNQSB0 ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hOworRVJST1I6ICBYTUwgc2No ZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hIiBkb2VzIG5vdCBl eGlzdAorRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3Nj aGVtYSBDQVNDQURFOworRVJST1I6ICBYTUwgc2NoZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5s aWJyYXJ5X2Jvb2tfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VMRUNUICogRlJPTSBib29r X3ZpZXc7CitFUlJPUjogIHJlbGF0aW9uICJib29rX3ZpZXciIGRvZXMgbm90IGV4aXN0CitM SU5FIDE6IFNFTEVDVCAqIEZST00gYm9va192aWV3OworICAgICAgICAgICAgICAgICAgICAg IF4KK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CitFUlJPUjogIFhNTCBzY2hlbWEg InBlcnNvbl9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVNQSBJRiBFWElT VFMgcGVyc29uX3NjaGVtYTsKK05PVElDRTogIFhNTCBzY2hlbWEgInBlcnNvbl9zY2hlbWEi IGRvZXMgbm90IGV4aXN0LCBza2lwcGluZworRFJPUCBYTUxTQ0hFTUEgcGVyc29uX3NjaGVt YTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QK K0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnByb2R1Y3Rfc2NoZW1hOworRVJS T1I6ICBYTUwgc2NoZW1hICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSIgZG9l cyBub3QgZXhpc3QKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKK0NS RUFURSBYTUxTQ0hFTUEgcHVibGljLnNob3VsZF9mYWlsX3NjaGVtYSBBUyAnPD94bWwgdmVy c2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8y MDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0 cmluZyIvPgorPC94czpzY2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVx dWlyZXMgbGlieG1sCitSRVNFVCBST0xFOworR1JBTlQgQ1JFQVRFIE9OIFNDSEVNQSB0ZXN0 X3htbHNjaGVtYV9ucyBUTyByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitTRVQgUk9M RSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitDUkVBVEUgWE1MU0NIRU1BIHRlc3Rf eG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hIEFTICc8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4 czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4K KyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdCIgdHlwZT0ieHM6c3RyaW5nIi8+Cis8L3hzOnNj aGVtYT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK1JF U0VUIFJPTEU7CitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5yb2xlX3NjaGVt YTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAidGVzdF94bWxzY2hlbWFfbnMucm9sZV9zY2hlbWEi IGRvZXMgbm90IGV4aXN0CitEUk9QIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xl OworRVJST1I6ICByb2xlICJyZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGUiIGNhbm5vdCBi ZSBkcm9wcGVkIGJlY2F1c2Ugc29tZSBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlMOiAg cHJpdmlsZWdlcyBmb3Igc2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zCitEUk9QIFNDSEVNQSB0 ZXN0X3htbHNjaGVtYV9ucyBDQVNDQURFOworQ1JFQVRFIFJPTEUgcmVncmVzc194bWxzY2hl bWFfdXNlcjE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK0NSRUFU RSBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0i MS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hN TFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0cmluZyIv PgorPC94czpzY2hlbWE+JzsKK0VSUk9SOiAgeG1sc2NoZW1hIHN1cHBvcnQgcmVxdWlyZXMg bGlieG1sCitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFTEVDVCBYTUxW QUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAgICAgICAg ICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hKTsKK0VS Uk9SOiAgWE1MIHNjaGVtYSAicGVybWlzc2lvbl90ZXN0X3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKK1JFU0VUIFJPTEU7CitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90 ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0VSUk9SOiAgWE1MIHNj aGVtYSAicGVybWlzc2lvbl90ZXN0X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK1NFVCBST0xF IHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5U ICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6ICBYTUwgc2NoZW1h ICJwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorUkVTRVQgUk9MRTsK K1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJST1I6ICBY TUwgc2NoZW1hICJwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorUkVT RVQgUk9MRTsKK0dSQU5UIFVTQUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2No ZW1hIFRPIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworRVJST1I6ICBYTUwgc2NoZW1hICJw ZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorU0VUIFJPTEUgcmVncmVz c194bWxzY2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0 PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hF TUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcm1p c3Npb25fdGVzdF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitSRVNFVCBST0xFOworUkVWT0tF IFVTQUdFIE9OIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hIEZST00gcmVncmVz c194bWxzY2hlbWFfdXNlcjE7CitFUlJPUjogIFhNTCBzY2hlbWEgInBlcm1pc3Npb25fdGVz dF9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91 c2VyMTsKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4n CisgICAgICAgICAgICAgICAgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9u X3Rlc3Rfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAicGVybWlzc2lvbl90ZXN0X3Nj aGVtYSIgZG9lcyBub3QgZXhpc3QKK1JFU0VUIFJPTEU7CitEUk9QIFhNTFNDSEVNQSBwZXJt aXNzaW9uX3Rlc3Rfc2NoZW1hOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJtaXNzaW9uX3Rl c3Rfc2NoZW1hIiBkb2VzIG5vdCBleGlzdAorRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1h X3VzZXIxOworRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworQ1JFQVRFIFRB QkxFIHZhbGlkYXRlZF94bWxfZGF0YSAoCisgIGlkIHNlcmlhbCBQUklNQVJZIEtFWSwKKyAg ZGF0YSB4bWwKKyk7CitDUkVBVEUgWE1MU0NIRU1BIGRhdGFfc2NoZW1hIEFTICc8P3htbCB2 ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3Jn LzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgPHhz OmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVu dCBuYW1lPSJ2YWx1ZSIgdHlwZT0ieHM6aW50ZWdlciIvPgorICAgICAgPC94czpzZXF1ZW5j ZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVt YT4nOworRVJST1I6ICB4bWxzY2hlbWEgc3VwcG9ydCByZXF1aXJlcyBsaWJ4bWwKK0lOU0VS VCBJTlRPIHZhbGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUo RE9DVU1FTlQgJzxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRhPicKKyAgQUNDT1JESU5H IFRPIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkpOworRVJST1I6ICBYTUwgc2NoZW1hICJkYXRh X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKK0lOU0VSVCBJTlRPIHZhbGlkYXRlZF94bWxfZGF0 YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2YWx1ZT4x MDA8L3ZhbHVlPjwvZGF0YT4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgZGF0YV9zY2hl bWEpKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiZGF0YV9zY2hlbWEiIGRvZXMgbm90IGV4aXN0 CitTRUxFQ1QgaWQsIGRhdGEgRlJPTSB2YWxpZGF0ZWRfeG1sX2RhdGEgT1JERVIgQlkgaWQ7 CisgaWQgfCBkYXRhIAorLS0tLSstLS0tLS0KKygwIHJvd3MpCisKK0lOU0VSVCBJTlRPIHZh bGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQg JzxkYXRhPjx2YWx1ZT5ub3QtYW4taW50PC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcg VE8gWE1MU0NIRU1BIGRhdGFfc2NoZW1hKSk7CitFUlJPUjogIFhNTCBzY2hlbWEgImRhdGFf c2NoZW1hIiBkb2VzIG5vdCBleGlzdAorRFJPUCBUQUJMRSB2YWxpZGF0ZWRfeG1sX2RhdGE7 CitEUk9QIFhNTFNDSEVNQSBkYXRhX3NjaGVtYTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAiZGF0 YV9zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitEUk9QIFhNTFNDSEVNQSBzaG91bGRfZmFpbF9z Y2hlbWE7CitFUlJPUjogIFhNTCBzY2hlbWEgInNob3VsZF9mYWlsX3NjaGVtYSIgZG9lcyBu b3QgZXhpc3QKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3htbF8yLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0CmluZGV4IDRlMjQ2NTdkMmQuLjEyMWQ4NmQ4 NWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQveG1sXzIub3V0CkBAIC0xOTQ1LDMgKzE5 NDUsMjM2IEBAIENSRUFURSBYTUxTQ0hFTUEgYm9va19zY2hlbWEgQVMgJzw/eG1sIHZlcnNp b249IjEuMCI/PgogICAgIDwveHM6Y29tcGxleFR5cGU+CiAgIDwveHM6ZWxlbWVudD4KIDwv eHM6c2NoZW1hPic7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5h bWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8g WE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworICAgICAgICAgICAgICAgICAgIHhtbHZhbGlk YXRlICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwZXJzb24+PG5hbWU+Sm9objwvbmFtZT48YWdlPjMw PC9hZ2U+PC9wZXJzb24+CisoMSByb3cpCisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVO VCAnPHByb2R1Y3QgaWQ9IlAxMjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwv cHJpY2U+PC9wcm9kdWN0PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNj aGVtYV9ucy5wcm9kdWN0X3NjaGVtYSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHhtbHZhbGlkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIDxwcm9kdWN0IGlkPSJQMTIzIj48bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjku OTk8L3ByaWNlPjwvcHJvZHVjdD4KKygxIHJvdykKKworU0VMRUNUIFhNTFZBTElEQVRFKERP Q1VNRU5UCisgICc8Ym9vayBpc2JuPSI5NzgtMC0xMjM0NTYtNzgtOSI+CisgICAgPHRpdGxl PlBvc3RncmVTUUwgSW50ZXJuYWxzPC90aXRsZT4KKyAgICA8YXV0aG9yPjxmaXJzdG5hbWU+ Sm9objwvZmlyc3RuYW1lPjxsYXN0bmFtZT5UaXRvcjwvbGFzdG5hbWU+PC9hdXRob3I+Cisg ICAgPGF1dGhvcj48Zmlyc3RuYW1lPkphbmU8L2ZpcnN0bmFtZT48L2F1dGhvcj4KKyAgICA8 eWVhcj4yMDI0PC95ZWFyPgorICA8L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHZhbGlkYXRpb24gZmFpbGVkCitTRUxFQ1Qg WE1MU0VSSUFMSVpFKERPQ1VNRU5UCisgIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29u PjxuYW1lPkFsaWNlPC9uYW1lPjxhZ2U+MjU8L2FnZT48L3BlcnNvbj4nCisgICAgQUNDT1JE SU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKSBBUyB0ZXh0KTsKKyAgICAgICAgICAg ICAgICAgICB4bWxzZXJpYWxpemUgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxwZXJzb24+PG5hbWU+ QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVyc29uPgorKDEgcm93KQorCitTRUxFQ1Qg WE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNv bl9zY2hlbWEpOworIHhtbHZhbGlkYXRlIAorLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQor CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NI RU1BIHBlcnNvbl9zY2hlbWEpIElTIE5VTEwgQVMgaXNfbnVsbDsKKyBpc19udWxsIAorLS0t LS0tLS0tCisgdAorKDEgcm93KQorCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxw ZXJzb24+PG5hbWU+Sm9objwvbmFtZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxT Q0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAor U0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+ PGFnZT5ub3QtYS1udW1iZXI8L2FnZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxT Q0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAor U0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cHJvZHVjdD48bmFtZT5XaWRnZXQ8L25h bWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgIEFDQ09SRElORyBUTyBYTUxT Q0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJvZHVjdF9zY2hlbWEpOworRVJST1I6ICBYTUwg dmFsaWRhdGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBlcnNv bj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48ZXh0cmE+ZGF0YTwvZXh0cmE+PC9w ZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOworRVJS T1I6ICBYTUwgdmFsaWRhdGlvbiBmYWlsZWQKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVO VCAnPG5vdHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+MzA8L2FnZT48L25vdHBlcnNv bj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSk7CitFUlJPUjog IFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8 dGVzdD52YWx1ZTwvdGVzdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbm9uZXhpc3Rl bnRfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNjaGVtYSAibm9uZXhpc3RlbnRfc2NoZW1hIiBk b2VzIG5vdCBleGlzdAorQ1JFQVRFIFZJRVcgdmFsaWRhdGVkX3Blb3BsZSBBUworICBTRUxF Q1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgZGF0YSBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBl cnNvbl9zY2hlbWEpIEFTIHZhbGlkYXRlZF94bWwKKyAgRlJPTSB4bWx0ZXN0IFdIRVJFIGlk ID0gMTsKK1NFTEVDVCBwZ19nZXRfdmlld2RlZigndmFsaWRhdGVkX3Blb3BsZSc6OnJlZ2Ns YXNzLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdf Z2V0X3ZpZXdkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFNFTEVDVCBYTUxWQUxJREFU RShET0NVTUVOVCBkYXRhIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYSkg QVMgdmFsaWRhdGVkX3htbCsKKyAgICBGUk9NIHhtbHRlc3QgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KworICAgV0hFUkUgaWQgPSAxOworKDEgcm93KQorCitEUk9QIFZJRVcgdmFsaWRhdGVkX3Bl b3BsZTsKK0NSRUFURSBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0cyBBUworICBTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgJzxwcm9kdWN0IGlkPSIxMjMiPjxuYW1lPlRlc3Q8L25hbWU+ PHByaWNlPjEuOTk8L3ByaWNlPjwvcHJvZHVjdD4nCisgICAgQUNDT1JESU5HIFRPIFhNTFND SEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSkgQVMgdmFsaWRhdGVkX3ht bDsKK1NFTEVDVCBwZ19nZXRfdmlld2RlZigndmFsaWRhdGVkX3Byb2R1Y3RzJzo6cmVnY2xh c3MsIHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF92aWV3ZGVm ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFNF TEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9IjEyMyI+PG5hbWU+VGVz dDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+PC9wcm9kdWN0Pic6OnhtbCBBQ0NPUkRJTkcg VE8gWE1MU0NIRU1BICJ0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3NjaGVtYSIpIEFTIHZh bGlkYXRlZF94bWw7CisoMSByb3cpCisKK0RST1AgVklFVyB2YWxpZGF0ZWRfcHJvZHVjdHM7 CitBTFRFUiBYTUxTQ0hFTUEgYm9va19zY2hlbWEgUkVOQU1FIFRPIGxpYnJhcnlfYm9va19z Y2hlbWE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+ PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxh c3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicK KyBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGJvb2tfc2NoZW1hKTsKK0VSUk9SOiAgWE1MIHNj aGVtYSAiYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURBVEUo RE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+ PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9y Pjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBs aWJyYXJ5X2Jvb2tfc2NoZW1hKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHZhbGlkYXRlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIDxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZp cnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5 ZWFyPjIwMjQ8L3llYXI+PC9ib29rPgorKDEgcm93KQorCitBTFRFUiBYTUxTQ0hFTUEgbGli cmFyeV9ib29rX3NjaGVtYSBTRVQgU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zOworU0VMRUNU IFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90 aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwvZmlyc3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0 bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFyPjwvYm9vaz4nCisgIEFDQ09SRElORyBU TyBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVtYSk7CitFUlJPUjogIFhNTCBzY2hlbWEg ImxpYnJhcnlfYm9va19zY2hlbWEiIGRvZXMgbm90IGV4aXN0CitTRUxFQ1QgWE1MVkFMSURB VEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRo b3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0 aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVN QSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1hKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHZhbGlk YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRl c3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8 L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPgorKDEgcm93KQor CitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitBTFRFUiBYTUxT Q0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSBPV05FUiBUTyBy ZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitTRUxFQ1Qgc2NoZW1hbmFtZSwgc2NoZW1h bmFtZXNwYWNlOjpyZWduYW1lc3BhY2UsIHNjaGVtYW93bmVyOjpyZWdyb2xlCitGUk9NIHBn X3htbHNjaGVtYQorV0hFUkUgc2NoZW1hbmFtZSA9ICdsaWJyYXJ5X2Jvb2tfc2NoZW1hJzsK KyAgICAgc2NoZW1hbmFtZSAgICAgIHwgIHNjaGVtYW5hbWVzcGFjZSAgfCAgICAgICAgIHNj aGVtYW93bmVyICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxpYnJhcnlfYm9va19z Y2hlbWEgfCB0ZXN0X3htbHNjaGVtYV9ucyB8IHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9s ZQorKDEgcm93KQorCitDUkVBVEUgVklFVyBib29rX3ZpZXcgQVMKKyAgU0VMRUNUIFhNTFZB TElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSI0NTYiPjx0aXRsZT5EZXAgVGVzdDwvdGl0 bGU+PGF1dGhvcj48Zmlyc3RuYW1lPlg8L2ZpcnN0bmFtZT48bGFzdG5hbWU+WTwvbGFzdG5h bWU+PC9hdXRob3I+PHllYXI+MjAyNTwveWVhcj48L2Jvb2s+JworICAgIEFDQ09SRElORyBU TyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3NjaGVtYSkgQVMg dmFsaWRhdGVkX2Jvb2s7CitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJy YXJ5X2Jvb2tfc2NoZW1hOworRVJST1I6ICBjYW5ub3QgZHJvcCBYTUwgc2NoZW1hIHRlc3Rf eG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEgYmVjYXVzZSBvdGhlciBvYmplY3Rz IGRlcGVuZCBvbiBpdAorREVUQUlMOiAgdmlldyBib29rX3ZpZXcgZGVwZW5kcyBvbiBYTUwg c2NoZW1hIHRlc3RfeG1sc2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEKK0hJTlQ6ICBV c2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28u CitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5X2Jvb2tfc2NoZW1h IENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHZpZXcgYm9va192aWV3CitT RUxFQ1QgKiBGUk9NIGJvb2tfdmlldzsKK0VSUk9SOiAgcmVsYXRpb24gImJvb2tfdmlldyIg ZG9lcyBub3QgZXhpc3QKK0xJTkUgMTogU0VMRUNUICogRlJPTSBib29rX3ZpZXc7CisgICAg ICAgICAgICAgICAgICAgICAgXgorRFJPUCBYTUxTQ0hFTUEgcGVyc29uX3NjaGVtYTsKK0RS T1AgWE1MU0NIRU1BIElGIEVYSVNUUyBwZXJzb25fc2NoZW1hOworTk9USUNFOiAgWE1MIHNj aGVtYSAicGVyc29uX3NjaGVtYSIgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nCitEUk9QIFhN TFNDSEVNQSBwZXJzb25fc2NoZW1hOworRVJST1I6ICBYTUwgc2NoZW1hICJwZXJzb25fc2No ZW1hIiBkb2VzIG5vdCBleGlzdAorRFJPUCBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMu cHJvZHVjdF9zY2hlbWE7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7 CitDUkVBVEUgWE1MU0NIRU1BIHB1YmxpYy5zaG91bGRfZmFpbF9zY2hlbWEgQVMgJzw/eG1s IHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5v cmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4 czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CitSRVNFVCBST0xFOworR1JBTlQgQ1JFQVRF IE9OIFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucyBUTyByZWdyZXNzX3htbHNjaGVtYV90ZXN0 X3JvbGU7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CitDUkVBVEUg WE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hIEFTICc8P3htbCB2ZXJz aW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIw MDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdCIgdHlwZT0ieHM6c3Ry aW5nIi8+Cis8L3hzOnNjaGVtYT4nOworUkVTRVQgUk9MRTsKK0RST1AgWE1MU0NIRU1BIHRl c3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hOworRFJPUCBST0xFIHJlZ3Jlc3NfeG1sc2No ZW1hX3Rlc3Rfcm9sZTsKK0VSUk9SOiAgcm9sZSAicmVncmVzc194bWxzY2hlbWFfdGVzdF9y b2xlIiBjYW5ub3QgYmUgZHJvcHBlZCBiZWNhdXNlIHNvbWUgb2JqZWN0cyBkZXBlbmQgb24g aXQKK0RFVEFJTDogIHByaXZpbGVnZXMgZm9yIHNjaGVtYSB0ZXN0X3htbHNjaGVtYV9ucwor b3duZXIgb2YgWE1MIHNjaGVtYSBwdWJsaWMuc2hvdWxkX2ZhaWxfc2NoZW1hCitEUk9QIFND SEVNQSB0ZXN0X3htbHNjaGVtYV9ucyBDQVNDQURFOworQ1JFQVRFIFJPTEUgcmVncmVzc194 bWxzY2hlbWFfdXNlcjE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsK K0NSRUFURSBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBBUyAnPD94bWwgdmVy c2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8y MDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QiIHR5cGU9InhzOnN0 cmluZyIvPgorPC94czpzY2hlbWE+JzsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Vz ZXIxOworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicK KyAgICAgICAgICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25f dGVzdF9zY2hlbWEpOworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgWE1MIHNjaGVt YSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hCitSRVNFVCBST0xFOworR1JBTlQgVVNBR0UgT04g WE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEgVE8gcmVncmVzc194bWxzY2hlbWFf dXNlcjE7CitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFTEVDVCBYTUxW QUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAgICAgICAg ICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1hKTsKKyAg ICB4bWx2YWxpZGF0ZSAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyA8dGVzdD5kYXRhPC90 ZXN0PgorKDEgcm93KQorCitSRVNFVCBST0xFOworU0VUIFJPTEUgcmVncmVzc194bWxzY2hl bWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8L3Rl c3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVybWlz c2lvbl90ZXN0X3NjaGVtYSk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBYTUwg c2NoZW1hIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEKK1JFU0VUIFJPTEU7CitHUkFOVCBVU0FH RSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNj aGVtYV91c2VyMjsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VMRUNU IFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAg ICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEp OworICAgIHhtbHZhbGlkYXRlICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIDx0ZXN0PmRh dGE8L3Rlc3Q+CisoMSByb3cpCisKK1JFU0VUIFJPTEU7CitSRVZPS0UgVVNBR0UgT04gWE1M U0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEgRlJPTSByZWdyZXNzX3htbHNjaGVtYV91 c2VyMTsKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VMRUNUIFhNTFZB TElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAg ICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworRVJS T1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgWE1MIHNjaGVtYSBwZXJtaXNzaW9uX3Rlc3Rf c2NoZW1hCitSRVNFVCBST0xFOworRFJPUCBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3Nj aGVtYTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0RST1AgUk9MRSBy ZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKK0NSRUFURSBUQUJMRSB2YWxpZGF0ZWRfeG1sX2Rh dGEgKAorICBpZCBzZXJpYWwgUFJJTUFSWSBLRVksCisgIGRhdGEgeG1sCispOworQ1JFQVRF IFhNTFNDSEVNQSBkYXRhX3NjaGVtYSBBUyAnPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6 c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+Cisg IDx4czplbGVtZW50IG5hbWU9ImRhdGEiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAg IDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9 InhzOmludGVnZXIiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgPC94czpjb21wbGV4 VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+JzsKK0lOU0VSVCBJTlRPIHZh bGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9DVU1FTlQg JzxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRhPicKKyAgQUNDT1JESU5HIFRPIFhNTFND SEVNQSBkYXRhX3NjaGVtYSkpOworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChk YXRhKQorVkFMVUVTIChYTUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPjEwMDwv dmFsdWU+PC9kYXRhPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkp OworU0VMRUNUIGlkLCBkYXRhIEZST00gdmFsaWRhdGVkX3htbF9kYXRhIE9SREVSIEJZIGlk OworIGlkIHwgICAgICAgICAgICAgIGRhdGEgICAgICAgICAgICAgICAKKy0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIDEgfCA8ZGF0YT48dmFsdWU+NDI8L3Zh bHVlPjwvZGF0YT4KKyAgMiB8IDxkYXRhPjx2YWx1ZT4xMDA8L3ZhbHVlPjwvZGF0YT4KKygy IHJvd3MpCisKK0lOU0VSVCBJTlRPIHZhbGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVF UyAoWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxkYXRhPjx2YWx1ZT5ub3QtYW4taW50PC92YWx1 ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRhdGFfc2NoZW1hKSk7CitF UlJPUjogIFhNTCB2YWxpZGF0aW9uIGZhaWxlZAorRFJPUCBUQUJMRSB2YWxpZGF0ZWRfeG1s X2RhdGE7CitEUk9QIFhNTFNDSEVNQSBkYXRhX3NjaGVtYTsKK0RST1AgWE1MU0NIRU1BIHNo b3VsZF9mYWlsX3NjaGVtYTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3Jv bGU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwveG1sLnNxbAppbmRleCA2Njc5NzM0MjBmLi5jMTY1MGVhZDk0IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC94bWwuc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3htbC5zcWwKQEAgLTc0MiwzICs3NDIsMjEyIEBAIENSRUFURSBYTUxT Q0hFTUEgYm9va19zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/PgogICAgIDwveHM6 Y29tcGxleFR5cGU+CiAgIDwveHM6ZWxlbWVudD4KIDwveHM6c2NoZW1hPic7CisKK1NFTEVD VCBYTUxWQUxJREFURShET0NVTUVOVCAnPHBlcnNvbj48bmFtZT5Kb2huPC9uYW1lPjxhZ2U+ MzA8L2FnZT48L3BlcnNvbj4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVyc29uX3Nj aGVtYSk7CisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPHByb2R1Y3QgaWQ9IlAx MjMiPjxuYW1lPldpZGdldDwvbmFtZT48cHJpY2U+OS45OTwvcHJpY2U+PC9wcm9kdWN0PicK KyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9kdWN0X3Nj aGVtYSk7CisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVAorICAnPGJvb2sgaXNibj0i OTc4LTAtMTIzNDU2LTc4LTkiPgorICAgIDx0aXRsZT5Qb3N0Z3JlU1FMIEludGVybmFsczwv dGl0bGU+CisgICAgPGF1dGhvcj48Zmlyc3RuYW1lPkpvaG48L2ZpcnN0bmFtZT48bGFzdG5h bWU+VGl0b3I8L2xhc3RuYW1lPjwvYXV0aG9yPgorICAgIDxhdXRob3I+PGZpcnN0bmFtZT5K YW5lPC9maXJzdG5hbWU+PC9hdXRob3I+CisgICAgPHllYXI+MjAyNDwveWVhcj4KKyAgPC9i b29rPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBib29rX3NjaGVtYSk7CisKK1NFTEVD VCBYTUxTRVJJQUxJWkUoRE9DVU1FTlQKKyAgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJz b24+PG5hbWU+QWxpY2U8L25hbWU+PGFnZT4yNTwvYWdlPjwvcGVyc29uPicKKyAgICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIEFTIHRleHQpOworCitTRUxFQ1Qg WE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNv bl9zY2hlbWEpOworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgTlVMTCBBQ0NPUkRJ TkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpIElTIE5VTEwgQVMgaXNfbnVsbDsKKwor U0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8cGVyc29uPjxuYW1lPkpvaG48L25hbWU+ PC9wZXJzb24+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWEpOwor CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+PG5hbWU+Sm9objwvbmFt ZT48YWdlPm5vdC1hLW51bWJlcjwvYWdlPjwvcGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhN TFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5U ICc8cHJvZHVjdD48bmFtZT5XaWRnZXQ8L25hbWU+PHByaWNlPjkuOTk8L3ByaWNlPjwvcHJv ZHVjdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucHJv ZHVjdF9zY2hlbWEpOworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxwZXJzb24+ PG5hbWU+Sm9objwvbmFtZT48YWdlPjMwPC9hZ2U+PGV4dHJhPmRhdGE8L2V4dHJhPjwvcGVy c29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJzb25fc2NoZW1hKTsKKworU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8bm90cGVyc29uPjxuYW1lPkpvaG48L25hbWU+ PGFnZT4zMDwvYWdlPjwvbm90cGVyc29uPicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBw ZXJzb25fc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD52 YWx1ZTwvdGVzdD4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbm9uZXhpc3RlbnRfc2No ZW1hKTsKKworQ1JFQVRFIFZJRVcgdmFsaWRhdGVkX3Blb3BsZSBBUworICBTRUxFQ1QgWE1M VkFMSURBVEUoRE9DVU1FTlQgZGF0YSBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcnNvbl9z Y2hlbWEpIEFTIHZhbGlkYXRlZF94bWwKKyAgRlJPTSB4bWx0ZXN0IFdIRVJFIGlkID0gMTsK KworU0VMRUNUIHBnX2dldF92aWV3ZGVmKCd2YWxpZGF0ZWRfcGVvcGxlJzo6cmVnY2xhc3Ms IHRydWUpOworCitEUk9QIFZJRVcgdmFsaWRhdGVkX3Blb3BsZTsKKworQ1JFQVRFIFZJRVcg dmFsaWRhdGVkX3Byb2R1Y3RzIEFTCisgIFNFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAn PHByb2R1Y3QgaWQ9IjEyMyI+PG5hbWU+VGVzdDwvbmFtZT48cHJpY2U+MS45OTwvcHJpY2U+ PC9wcm9kdWN0PicKKyAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1h X25zLnByb2R1Y3Rfc2NoZW1hKSBBUyB2YWxpZGF0ZWRfeG1sOworCitTRUxFQ1QgcGdfZ2V0 X3ZpZXdkZWYoJ3ZhbGlkYXRlZF9wcm9kdWN0cyc6OnJlZ2NsYXNzLCB0cnVlKTsKKworRFJP UCBWSUVXIHZhbGlkYXRlZF9wcm9kdWN0czsKKworQUxURVIgWE1MU0NIRU1BIGJvb2tfc2No ZW1hIFJFTkFNRSBUTyBsaWJyYXJ5X2Jvb2tfc2NoZW1hOworCitTRUxFQ1QgWE1MVkFMSURB VEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEyMyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRo b3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0 aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29rPicKKyBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1B IGJvb2tfc2NoZW1hKTsKKworU0VMRUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBp c2JuPSIxMjMiPjx0aXRsZT5UZXN0PC90aXRsZT48YXV0aG9yPjxmaXJzdG5hbWU+QTwvZmly c3RuYW1lPjxsYXN0bmFtZT5CPC9sYXN0bmFtZT48L2F1dGhvcj48eWVhcj4yMDI0PC95ZWFy PjwvYm9vaz4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgbGlicmFyeV9ib29rX3NjaGVt YSk7CisKK0FMVEVSIFhNTFNDSEVNQSBsaWJyYXJ5X2Jvb2tfc2NoZW1hIFNFVCBTQ0hFTUEg dGVzdF94bWxzY2hlbWFfbnM7CisKK1NFTEVDVCBYTUxWQUxJREFURShET0NVTUVOVCAnPGJv b2sgaXNibj0iMTIzIj48dGl0bGU+VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPkE8 L2ZpcnN0bmFtZT48bGFzdG5hbWU+QjwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNDwv eWVhcj48L2Jvb2s+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGxpYnJhcnlfYm9va19z Y2hlbWEpOworCitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzxib29rIGlzYm49IjEy MyI+PHRpdGxlPlRlc3Q8L3RpdGxlPjxhdXRob3I+PGZpcnN0bmFtZT5BPC9maXJzdG5hbWU+ PGxhc3RuYW1lPkI8L2xhc3RuYW1lPjwvYXV0aG9yPjx5ZWFyPjIwMjQ8L3llYXI+PC9ib29r PicKKyAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5saWJyYXJ5 X2Jvb2tfc2NoZW1hKTsKKworQ1JFQVRFIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9y b2xlOworCitBTFRFUiBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29r X3NjaGVtYSBPV05FUiBUTyByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CisKK1NFTEVD VCBzY2hlbWFuYW1lLCBzY2hlbWFuYW1lc3BhY2U6OnJlZ25hbWVzcGFjZSwgc2NoZW1hb3du ZXI6OnJlZ3JvbGUKK0ZST00gcGdfeG1sc2NoZW1hCitXSEVSRSBzY2hlbWFuYW1lID0gJ2xp YnJhcnlfYm9va19zY2hlbWEnOworCitDUkVBVEUgVklFVyBib29rX3ZpZXcgQVMKKyAgU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8Ym9vayBpc2JuPSI0NTYiPjx0aXRsZT5EZXAg VGVzdDwvdGl0bGU+PGF1dGhvcj48Zmlyc3RuYW1lPlg8L2ZpcnN0bmFtZT48bGFzdG5hbWU+ WTwvbGFzdG5hbWU+PC9hdXRob3I+PHllYXI+MjAyNTwveWVhcj48L2Jvb2s+JworICAgIEFD Q09SRElORyBUTyBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMubGlicmFyeV9ib29rX3Nj aGVtYSkgQVMgdmFsaWRhdGVkX2Jvb2s7CisKK0RST1AgWE1MU0NIRU1BIHRlc3RfeG1sc2No ZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWE7CisKK0RST1AgWE1MU0NIRU1BIHRlc3RfeG1s c2NoZW1hX25zLmxpYnJhcnlfYm9va19zY2hlbWEgQ0FTQ0FERTsKKworU0VMRUNUICogRlJP TSBib29rX3ZpZXc7CisKK0RST1AgWE1MU0NIRU1BIHBlcnNvbl9zY2hlbWE7CisKK0RST1Ag WE1MU0NIRU1BIElGIEVYSVNUUyBwZXJzb25fc2NoZW1hOworCitEUk9QIFhNTFNDSEVNQSBw ZXJzb25fc2NoZW1hOworCitEUk9QIFhNTFNDSEVNQSB0ZXN0X3htbHNjaGVtYV9ucy5wcm9k dWN0X3NjaGVtYTsKKworU0VUIFJPTEUgcmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOwor CitDUkVBVEUgWE1MU0NIRU1BIHB1YmxpYy5zaG91bGRfZmFpbF9zY2hlbWEgQVMgJzw/eG1s IHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5v cmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4 czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CisKK1JFU0VUIFJPTEU7CisKK0dSQU5UIENS RUFURSBPTiBTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMgVE8gcmVncmVzc194bWxzY2hlbWFf dGVzdF9yb2xlOworCitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV90ZXN0X3JvbGU7CisK K0NSRUFURSBYTUxTQ0hFTUEgdGVzdF94bWxzY2hlbWFfbnMucm9sZV9zY2hlbWEgQVMgJzw/ eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53 My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBl PSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPic7CisKK1JFU0VUIFJPTEU7CisKK0RST1Ag WE1MU0NIRU1BIHRlc3RfeG1sc2NoZW1hX25zLnJvbGVfc2NoZW1hOworCitEUk9QIFJPTEUg cmVncmVzc194bWxzY2hlbWFfdGVzdF9yb2xlOworCitEUk9QIFNDSEVNQSB0ZXN0X3htbHNj aGVtYV9ucyBDQVNDQURFOworCitDUkVBVEUgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2Vy MTsKK0NSRUFURSBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworCitDUkVBVEUgWE1M U0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/ PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hl bWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0ZXN0IiB0eXBlPSJ4czpzdHJpbmciLz4KKzwv eHM6c2NoZW1hPic7CisKK1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIxOworU0VM RUNUIFhNTFZBTElEQVRFKERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAg ICAgICAgICAgICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hl bWEpOworCitSRVNFVCBST0xFOworCitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlz c2lvbl90ZXN0X3NjaGVtYSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKKworU0VUIFJP TEUgcmVncmVzc194bWxzY2hlbWFfdXNlcjE7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1F TlQgJzx0ZXN0PmRhdGE8L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBU TyBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSk7CisKK1JFU0VUIFJPTEU7CisK K1NFVCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3VzZXIyOworU0VMRUNUIFhNTFZBTElEQVRF KERPQ1VNRU5UICc8dGVzdD5kYXRhPC90ZXN0PicKKyAgICAgICAgICAgICAgICAgICBBQ0NP UkRJTkcgVE8gWE1MU0NIRU1BIHBlcm1pc3Npb25fdGVzdF9zY2hlbWEpOworCitSRVNFVCBS T0xFOworCitHUkFOVCBVU0FHRSBPTiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVt YSBUTyByZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKKworU0VUIFJPTEUgcmVncmVzc194bWxz Y2hlbWFfdXNlcjI7CitTRUxFQ1QgWE1MVkFMSURBVEUoRE9DVU1FTlQgJzx0ZXN0PmRhdGE8 L3Rlc3Q+JworICAgICAgICAgICAgICAgICAgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgcGVy bWlzc2lvbl90ZXN0X3NjaGVtYSk7CisKK1JFU0VUIFJPTEU7CisKK1JFVk9LRSBVU0FHRSBP TiBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3NjaGVtYSBGUk9NIHJlZ3Jlc3NfeG1sc2No ZW1hX3VzZXIxOworCitTRVQgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK1NFTEVD VCBYTUxWQUxJREFURShET0NVTUVOVCAnPHRlc3Q+ZGF0YTwvdGVzdD4nCisgICAgICAgICAg ICAgICAgICAgQUNDT1JESU5HIFRPIFhNTFNDSEVNQSBwZXJtaXNzaW9uX3Rlc3Rfc2NoZW1h KTsKKworUkVTRVQgUk9MRTsKKworRFJPUCBYTUxTQ0hFTUEgcGVybWlzc2lvbl90ZXN0X3Nj aGVtYTsKK0RST1AgUk9MRSByZWdyZXNzX3htbHNjaGVtYV91c2VyMTsKK0RST1AgUk9MRSBy ZWdyZXNzX3htbHNjaGVtYV91c2VyMjsKKworQ1JFQVRFIFRBQkxFIHZhbGlkYXRlZF94bWxf ZGF0YSAoCisgIGlkIHNlcmlhbCBQUklNQVJZIEtFWSwKKyAgZGF0YSB4bWwKKyk7CisKK0NS RUFURSBYTUxTQ0hFTUEgZGF0YV9zY2hlbWEgQVMgJzw/eG1sIHZlcnNpb249IjEuMCI/Pgor PHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi PgorICA8eHM6ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+Cisg ICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InZhbHVlIiB0 eXBlPSJ4czppbnRlZ2VyIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29t cGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPic7CisKK0lOU0VSVCBJ TlRPIHZhbGlkYXRlZF94bWxfZGF0YSAoZGF0YSkKK1ZBTFVFUyAoWE1MVkFMSURBVEUoRE9D VU1FTlQgJzxkYXRhPjx2YWx1ZT40MjwvdmFsdWU+PC9kYXRhPicKKyAgQUNDT1JESU5HIFRP IFhNTFNDSEVNQSBkYXRhX3NjaGVtYSkpOworCitJTlNFUlQgSU5UTyB2YWxpZGF0ZWRfeG1s X2RhdGEgKGRhdGEpCitWQUxVRVMgKFhNTFZBTElEQVRFKERPQ1VNRU5UICc8ZGF0YT48dmFs dWU+MTAwPC92YWx1ZT48L2RhdGE+JworICBBQ0NPUkRJTkcgVE8gWE1MU0NIRU1BIGRhdGFf c2NoZW1hKSk7CisKK1NFTEVDVCBpZCwgZGF0YSBGUk9NIHZhbGlkYXRlZF94bWxfZGF0YSBP UkRFUiBCWSBpZDsKKworSU5TRVJUIElOVE8gdmFsaWRhdGVkX3htbF9kYXRhIChkYXRhKQor VkFMVUVTIChYTUxWQUxJREFURShET0NVTUVOVCAnPGRhdGE+PHZhbHVlPm5vdC1hbi1pbnQ8 L3ZhbHVlPjwvZGF0YT4nCisgIEFDQ09SRElORyBUTyBYTUxTQ0hFTUEgZGF0YV9zY2hlbWEp KTsKKworRFJPUCBUQUJMRSB2YWxpZGF0ZWRfeG1sX2RhdGE7CitEUk9QIFhNTFNDSEVNQSBk YXRhX3NjaGVtYTsKK0RST1AgWE1MU0NIRU1BIHNob3VsZF9mYWlsX3NjaGVtYTsKKworRFJP UCBST0xFIHJlZ3Jlc3NfeG1sc2NoZW1hX3Rlc3Rfcm9sZTsKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCi0tIAoyLjQzLjAKCg== --------------CvsHL6mVIWH0DkjlTc2fVGbk--