From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by sourceware.org (Postfix) with ESMTPS id 517233949F29; Mon, 5 Dec 2022 21:13:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 517233949F29 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wr1-x42d.google.com with SMTP id o5so20786502wrm.1; Mon, 05 Dec 2022 13:13:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Cl1X/ieB3gOTH5932fTnoRIjzsjaL7PkPITuOQeNWZg=; b=BD+2VcfLyaX7KvcseD3vXvgQ0e20E9300K3y9r2zXTlKJzqSc7LL+0Z35asjCgmpWA yQW/s196Es2Jd16K1gj1menBoWDIEohWnOM3Qw7lUnSicMp2yhJ6ebxc4aZ4SEWxfFeU Ojhwau/biRF+4VseYrtDj6pQQWCnAqNtLV3yERHsk2Dy+LIFxP/eMT8okSQDtMGJRnJ3 rkfH35o2qvipQvo7nwXPz3ljSv7cI6yLVEomJggZUm5nHLmJa0cz1xDMe3Qjg8Q7Ex/P vYJ5k0lIQkfRoyNfQLpUKkjypVrK+/0X6jVZjYSwvVt3YPOwJr9wYUDpa8RRJJDg5J+1 dwKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Cl1X/ieB3gOTH5932fTnoRIjzsjaL7PkPITuOQeNWZg=; b=LAoTwIrpwQS3gA8oVK2vnJ4BdEJ8bL3wFQa1ljrGmMDTKYTl2GV7dpj4C34vkthWK2 k5EjJQDa08D6hIAX5h+pbmbINjJE/40/g2eARbmaSs6kvNPdcCXb1KfVmJu6x8EcXUfy JWSljBxuSxdBA552ixSocBRocK0mqqDWqtK6H3R6s4K5WsPmEjyYday4YKc3QFEDhuJB LbNxcNeJEx+//D+UkwdzSAZUlfCn8DbBSDMm0e3cKSFVvTxlKMZuT7ZD33Ory2icgjsj 2srdZ+7pWNoN46835L8ckV/mL1WZ+zOJtn315EHf15g31ij7DNe4Sv2VTAYfnAuioHP+ 7UJw== X-Gm-Message-State: ANoB5pkfzdnzZ0mXRNL72BmwVhaJu/6kT8cR1RB7PrS6CQvBKBBl5OrO WRIZ733KTWn0J1/5+Dl+mEABqFKnMEs= X-Google-Smtp-Source: AA0mqf5sG3/yWtAUUZwp3ipfFB95ORYMrcy5dkf+dY0K5M9VLYVs9aXQRUinjL0mSzZicTXZu2lmsw== X-Received: by 2002:adf:f2d0:0:b0:242:7c:eb9c with SMTP id d16-20020adff2d0000000b00242007ceb9cmr32614446wrp.178.1670274816694; Mon, 05 Dec 2022 13:13:36 -0800 (PST) Received: from ?IPV6:2a01:e0a:1dc:b1c0:43ff:d776:ddfc:c5b2? ([2a01:e0a:1dc:b1c0:43ff:d776:ddfc:c5b2]) by smtp.googlemail.com with ESMTPSA id u14-20020a05600c19ce00b003cfd42821dasm20698065wmq.3.2022.12.05.13.13.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 05 Dec 2022 13:13:36 -0800 (PST) Content-Type: multipart/mixed; boundary="------------APjitRZY5p0D4l0C2h9JCoOt" Message-ID: <98eeb943-9f1d-72b6-4ce1-cb2a802550f7@gmail.com> Date: Mon, 5 Dec 2022 22:13:35 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH] Use cxx11 abi in versioned namespace From: =?UTF-8?Q?Fran=c3=a7ois_Dumont?= To: "libstdc++@gcc.gnu.org" Cc: gcc-patches References: <2d387cf7-8b99-3f04-6b99-d9dab5309693@gmail.com> <66ebb430-e280-3501-1f20-aab66f6f4d7b@gmail.com> Content-Language: fr In-Reply-To: <66ebb430-e280-3501-1f20-aab66f6f4d7b@gmail.com> X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------APjitRZY5p0D4l0C2h9JCoOt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I just rebased this patch. All good apart from the to_chars/from_chars symbols issue. François On 11/10/22 19:28, François Dumont wrote: > Hi > >     Now that pretty printer is fixed (once patch validated) I'd like > to propose this patch again. > >     Note that I'am adding a check on pretty printer with a std::any on > a std::wstring. I did so because of the FIXME in printers.py which is > dealing with 'std::string' explicitely. Looks like in my case, where > there is no 'std::string' but just a 'std::__8::string' we do not need > the workaround. > >     Once again I am attaching also the version namespace bump patch as > I think that adopting the cxx11 abi in this mode is a good enough > reason to bump it. If you agress let me know if I should squash the > commits before pushing. > >     libstdc++: [_GLIBCXX_INLINE_VERSION] Use cxx11 abi > >     Use cxx11 abi when activating versioned namespace mode. > >     libstdcxx-v3/ChangeLog: > >             * acinclude.m4 [GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI]: > Default to "new" libstdcxx abi. >             * config/locale/dragonfly/monetary_members.cc > [!_GLIBCXX_USE_DUAL_ABI]: Define money_base >             members. >             * config/locale/generic/monetary_members.cc > [!_GLIBCXX_USE_DUAL_ABI]: Likewise. >             * config/locale/gnu/monetary_members.cc > [!_GLIBCXX_USE_DUAL_ABI]: Likewise. >             * config/locale/gnu/numeric_members.cc >             [!_GLIBCXX_USE_DUAL_ABI](__narrow_multibyte_chars): Define. >             * configure: Regenerate. >             * include/bits/c++config >             [_GLIBCXX_INLINE_VERSION](_GLIBCXX_NAMESPACE_CXX11, > _GLIBCXX_BEGIN_NAMESPACE_CXX11): Define >             empty. > [_GLIBCXX_INLINE_VERSION](_GLIBCXX_END_NAMESPACE_CXX11, > _GLIBCXX_DEFAULT_ABI_TAG): Likewise. >             * python/libstdcxx/v6/printers.py >             (StdStringPrinter::__init__): Set self.new_string to True > when std::__8::basic_string type is >             found. >             * src/Makefile.am > [ENABLE_SYMVERS_GNU_NAMESPACE](ldbl_alt128_compat_sources): Define empty. >             * src/Makefile.in: Regenerate. >             * src/c++11/Makefile.am (cxx11_abi_sources): Rename into... >             (dual_abi_sources): ...this, new. Also move several > sources to... >             (sources): ...this. >             (extra_string_inst_sources): Move several sources to... >             (inst_sources): ...this. >             * src/c++11/Makefile.in: Regenerate. >             * src/c++11/cow-fstream-inst.cc [_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cow-locale_init.cc [_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cow-sstream-inst.cc [_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cow-stdexcept.cc > [_GLIBCXX_USE_CXX11_ABI](error_category::_M_message): >             Skip definition. >             [_GLIBCXX_USE_CXX11_ABI]: Skip Transaction Memory TS > definitions. >             * src/c++11/cow-string-inst.cc [_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cow-string-io-inst.cc > [_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             * src/c++11/cow-wstring-inst.cc [_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cow-wstring-io-inst.cc > [_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             * src/c++11/cxx11-hash_tr1.cc [!_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             * src/c++11/cxx11-ios_failure.cc > [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             [!_GLIBCXX_USE_DUAL_ABI] (__ios_failure): Remove. >             * src/c++11/cxx11-locale-inst.cc: Cleanup, just include > locale-inst.cc. >             * src/c++11/cxx11-stdexcept.cc [!_GLIBCXX_USE_CXX11_ABI]: > Skip definitions. >             [!_GLIBCXX_USE_DUAL_ABI](__cow_string): Remove. >             * src/c++11/cxx11-wlocale-inst.cc > [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             * src/c++11/fstream-inst.cc [!_GLIBCXX_USE_CXX11_ABI]: > Skip definitions >             * src/c++11/locale-inst-numeric.h > [!_GLIBCXX_USE_DUAL_ABI](std::use_facet>, > std::use_facet>): Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](std::has_facet>, > std::has_facet>): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](std::num_get istreambuf_iterator>): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](std::num_put ostreambuf_iterator>): Instantiate. >             * src/c++11/locale-inst.cc [!_GLIBCXX_USE_DUAL_ABI]: Build > only when configured >             _GLIBCXX_USE_CXX11_ABI is equal to currently built abi. >             [!_GLIBCXX_USE_DUAL_ABI](__moneypunct_cache): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__moneypunct_cache): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__numpunct_cache): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__timepunct): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__timepunct_cache): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](time_put ostreambuf_iterator>): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](time_put_byname ostreambuf_iterator>): Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](__ctype_abstract_base): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](ctype_byname): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__codecvt_abstract_base mbstate_t>): Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](codecvt_byname mbstate_t>): Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](use_facet>(const locale&)): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](use_facet mbstate_t>>(const locale&)): Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](use_facet<__timepunct>(const locale&)): > Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](use_facet>(const locale&)): > Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](has_facet>(const locale&)): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](has_facet mbstate_t>>(const locale&)): Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](has_facet<__timepunct>(const locale&)): > Instantiate. > [!_GLIBCXX_USE_DUAL_ABI](has_facet>(const locale&)): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__add_grouping): Define. >             [!_GLIBCXX_USE_DUAL_ABI](__pad>): > Instantiate. >             [!_GLIBCXX_USE_DUAL_ABI](__int_to_char(C*, unsigned long, > const C*, ios_base::fmtflags, bool)): >             Define. >             [!_GLIBCXX_USE_DUAL_ABI](__int_to_char(C*, unsigned long > long, const C*, ios_base::fmtflags, bool)): >             Define. >             * src/c++11/cxx11-wlocale-inst.cc > [!_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             * src/c++98/Makefile.am (cxx11_abi_sources): Remove, > unique cow-istream-string.cc entry move to... >             (inst_sources): ...this. >             * src/c++98/Makefile.in: Regenerate. >             * src/c++98/cow-istream-string.cc: Include > . >             [_GLIBCXX_USE_CXX11_ABI]: Skip definitions. >             * src/c++98/hash_tr1.cc [_GLIBCXX_USE_CXX11_ABI]: Skip > definitions. >             * src/c++98/ios_failure.cc > [_GLIBCXX_USE_CXX11_ABI][_GLIBCXX_USE_DUAL_ABI]: Skip definitions. >             * src/c++98/istream-string.cc [!_GLIBCXX_USE_DUAL_ABI]: > Build only when configured >             _GLIBCXX_USE_CXX11_ABI is equal to currently built abi. >             * src/c++98/locale_facets.cc > [_GLIBCXX_USE_CXX11_ABI](__verify_grouping): Remove. >             * src/c++98/stdexcept.cc >             [_GLIBCXX_USE_CXX11_ABI](logic_error(const string&): Remove. >             [_GLIBCXX_USE_CXX11_ABI](domain_error(const string&): Remove. >             [_GLIBCXX_USE_CXX11_ABI](invalid_argument(const string&): > Remove. >             [_GLIBCXX_USE_CXX11_ABI](length_error(const string&): Remove. >             [_GLIBCXX_USE_CXX11_ABI](out_of_range(const string&): Remove. >             [_GLIBCXX_USE_CXX11_ABI](runtime_error(const string&): > Remove. >             [_GLIBCXX_USE_CXX11_ABI](range_error(const string&): Remove. >             [_GLIBCXX_USE_CXX11_ABI](overflow_error(const string&): > Remove. >             [_GLIBCXX_USE_CXX11_ABI](underflow_error(const string&): > Remove. >             * testsuite/libstdc++-prettyprinters/cxx17.cc: Add > std::any check with std::wstring. > > François > > On 30/05/22 22:58, François Dumont wrote: >> Hi >> >> Here is the patch to use cxx11 abi for the versioned namespace mode. >> >> It is still suffering from a side effect on gdb pretty printers with >> 3 errors like: >> >> got: type = >> std::unique_ptr> std::__8::char_traits, std::__8::allocator >>[]>>[99]> >> FAIL: libstdc++-prettyprinters/80276.cc whatis p4 >> >> However once I apply the version bump errors are gone. >> >> Let me know if it is ok to apply all at once or if you prefer to >> avoid the version bump. >> >> François > --------------APjitRZY5p0D4l0C2h9JCoOt Content-Type: text/x-patch; charset=UTF-8; name="version_namespace_cxx11_abi.patch" Content-Disposition: attachment; filename="version_namespace_cxx11_abi.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQgYi9saWJzdGRjKystdjMv YWNpbmNsdWRlLm00CmluZGV4IGI5NTdjNzI4YmExLi5lYjVjZmZjYWM3OCAxMDA2NDQKLS0t IGEvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAorKysgYi9saWJzdGRjKystdjMvYWNpbmNs dWRlLm00CkBAIC00NDcyLDEyICs0NDcyLDE2IEBAIGRubAogQUNfREVGVU4oW0dMSUJDWFhf RU5BQkxFX0xJQlNURENYWF9EVUFMX0FCSV0sIFsKICAgR0xJQkNYWF9FTkFCTEUobGlic3Rk Y3h4LWR1YWwtYWJpLCQxLCxbc3VwcG9ydCB0d28gdmVyc2lvbnMgb2Ygc3RkOjpzdHJpbmdd KQogICBpZiB0ZXN0IHgkZW5hYmxlX3N5bXZlcnMgPSB4Z251LXZlcnNpb25lZC1uYW1lc3Bh Y2U7IHRoZW4KLSAgICAjIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNlIGlzIGluY29tcGF0aWJs ZSB3aXRoIHRoZSBkdWFsIEFCSS4KLSAgICBlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpPSJu byIKLSAgZmkKLSAgaWYgdGVzdCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4 eWVzOyB0aGVuCisgICAgIyBnbnUtdmVyc2lvbmVkLW5hbWVzcGFjZSBpcyBpbmNvbXBhdGli bGUgd2l0aCB0aGUgZHVhbCBBQkkuLi4KICAgICBBQ19NU0dfTk9USUNFKFtkdWFsIEFCSSBp cyBkaXNhYmxlZF0pCi0gICAgZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGli bGUiCisgICAgZW5hYmxlX2xpYnN0ZGN4eF9kdWFsX2FiaT0ibm8iCisgICAgIyAuLi4gYW5k IHVzZSB0aGUgY3h4MTEgb25lLgorICAgIGRlZmF1bHRfbGlic3RkY3h4X2FiaT0ibmV3Igor ICBlbHNlCisgICAgaWYgdGVzdCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4 eWVzOyB0aGVuCisgICAgICBBQ19NU0dfTk9USUNFKFtkdWFsIEFCSSBpcyBkaXNhYmxlZF0p CisgICAgICBkZWZhdWx0X2xpYnN0ZGN4eF9hYmk9ImdjYzQtY29tcGF0aWJsZSIKKyAgICBm aQogICBmaQogICBHTElCQ1hYX0NPTkRJVElPTkFMKEVOQUJMRV9EVUFMX0FCSSwgdGVzdCAk ZW5hYmxlX2xpYnN0ZGN4eF9kdWFsX2FiaSA9IHllcykKIF0pCmRpZmYgLS1naXQgYS9saWJz dGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbW9uZXRhcnlfbWVtYmVycy5jYyBi L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9tb25ldGFyeV9tZW1iZXJz LmNjCmluZGV4IDEyNjUxOTBkYWQ5Li41ZjkxZmQ5YjU2MCAxMDA2NDQKLS0tIGEvbGlic3Rk YysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21lbWJlcnMuY2MKKysr IGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21lbWJl cnMuY2MKQEAgLTM5LDcgKzM5LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJ T04KIAogLy8gVGhpcyBmaWxlIG1pZ2h0IGJlIGNvbXBpbGVkIHR3aWNlLCBidXQgd2Ugb25s eSB3YW50IHRvIGRlZmluZSB0aGUgbWVtYmVycwogLy8gb2YgbW9uZXlfYmFzZSBvbmNlLgot I2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDEx X0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogCiAgIC8vIENvbnN0cnVjdCBhbmQg cmV0dXJuIHZhbGlkIHBhdHRlcm4gY29uc2lzdGluZyBvZiBzb21lIGNvbWJpbmF0aW9uIG9m OgogICAvLyBzcGFjZSBub25lIHN5bWJvbCBzaWduIHZhbHVlCkBAIC0yMDcsNyArMjA3LDcg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIH0KICAgICByZXR1 cm4gX19yZXQ7CiAgIH0KLSNlbmRpZgorI2VuZGlmIC8vICEgX0dMSUJDWFhfVVNFX0NYWDEx X0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogCiAgIHRlbXBsYXRlPD4KICAgICB2 b2lkCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmljL21v bmV0YXJ5X21lbWJlcnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmlj L21vbmV0YXJ5X21lbWJlcnMuY2MKaW5kZXggYTc3OGE2ZjQwMmQuLjZiNTZlMzBhNTY4IDEw MDY0NAotLS0gYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nZW5lcmljL21vbmV0YXJ5 X21lbWJlcnMuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ2VuZXJpYy9t b25ldGFyeV9tZW1iZXJzLmNjCkBAIC0zNiw3ICszNiw3IEBAIF9HTElCQ1hYX0JFR0lOX05B TUVTUEFDRV9WRVJTSU9OCiAKIC8vIFRoaXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2lj ZSwgYnV0IHdlIG9ubHkgd2FudCB0byBkZWZpbmUgdGhlIG1lbWJlcnMKIC8vIG9mIG1vbmV5 X2Jhc2Ugb25jZS4KLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICAvLyBD b25zdHJ1Y3QgYW5kIHJldHVybiB2YWxpZCBwYXR0ZXJuIGNvbnNpc3Rpbmcgb2Ygc29tZSBj b21iaW5hdGlvbiBvZjoKICAgLy8gc3BhY2Ugbm9uZSBzeW1ib2wgc2lnbiB2YWx1ZQpkaWZm IC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ251L21vbmV0YXJ5X21lbWJl cnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9nbnUvbW9uZXRhcnlfbWVtYmVy cy5jYwppbmRleCA1NTY1NzUzNjNkYS4uNTRiZTYzYzQ0ZDcgMTAwNjQ0Ci0tLSBhL2xpYnN0 ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCisrKyBiL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCkBAIC0z Nyw3ICszNyw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAKIC8vIFRo aXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2ljZSwgYnV0IHdlIG9ubHkgd2FudCB0byBk ZWZpbmUgdGhlIG1lbWJlcnMKIC8vIG9mIG1vbmV5X2Jhc2Ugb25jZS4KLSNpZiAhIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBf R0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICAvLyBDb25zdHJ1Y3QgYW5kIHJldHVybiB2YWxp ZCBwYXR0ZXJuIGNvbnNpc3Rpbmcgb2Ygc29tZSBjb21iaW5hdGlvbiBvZjoKICAgLy8gc3Bh Y2Ugbm9uZSBzeW1ib2wgc2lnbiB2YWx1ZQpAQCAtMjA1LDcgKzIwNSw3IEBAIF9HTElCQ1hY X0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICB9CiAgICAgcmV0dXJuIF9fcmV0Owog ICB9Ci0jZW5kaWYKKyNlbmRpZiAvLyAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBf R0xJQkNYWF9VU0VfRFVBTF9BQkkKIAogICBleHRlcm4gY2hhciBfX25hcnJvd19tdWx0aWJ5 dGVfY2hhcnMoY29uc3QgY2hhciogcywgX19sb2NhbGVfdCBjbG9jKTsKIApkaWZmIC0tZ2l0 IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZ251L251bWVyaWNfbWVtYmVycy5jYyBi L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2dudS9udW1lcmljX21lbWJlcnMuY2MKaW5k ZXggYzcxNGQ2YTU0NGYuLmFlMTdjYjc2YzgxIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9nbnUvbnVtZXJpY19tZW1iZXJzLmNjCisrKyBiL2xpYnN0ZGMrKy12 My9jb25maWcvbG9jYWxlL2dudS9udW1lcmljX21lbWJlcnMuY2MKQEAgLTM5LDcgKzM5LDcg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgZXh0ZXJuIGNoYXIgX19u YXJyb3dfbXVsdGlieXRlX2NoYXJzKGNvbnN0IGNoYXIqIHMsIF9fbG9jYWxlX3QgY2xvYyk7 CiAKIC8vIFRoaXMgZmlsZSBtaWdodCBiZSBjb21waWxlZCB0d2ljZSwgYnV0IHdlIG9ubHkg d2FudCB0byBkZWZpbmUgdGhpcyBvbmNlLgotI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFM X0FCSQogICBjaGFyCiAgIF9fbmFycm93X211bHRpYnl0ZV9jaGFycyhjb25zdCBjaGFyKiBz LCBfX2xvY2FsZV90IGNsb2MpCiAgIHsKQEAgLTg0LDcgKzg0LDcgQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIH0KICAgICByZXR1cm4gJ1wwJzsKICAgfQot I2VuZGlmCisjZW5kaWYgLy8gISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJD WFhfVVNFX0RVQUxfQUJJCiAKICAgdGVtcGxhdGU8PgogICAgIHZvaWQKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My9jb25maWd1cmUgYi9saWJzdGRjKystdjMvY29uZmlndXJlCmluZGV4 IDFmNzAxN2MwOGE0Li5iNDdhMzc5ZTIwMSAxMDA3NTUKLS0tIGEvbGlic3RkYysrLXYzL2Nv bmZpZ3VyZQorKysgYi9saWJzdGRjKystdjMvY29uZmlndXJlCkBAIC02ODkwMywxMyArNjg5 MDMsMTggQEAgZmkKIAogCiAgIGlmIHRlc3QgeCRlbmFibGVfc3ltdmVycyA9IHhnbnUtdmVy c2lvbmVkLW5hbWVzcGFjZTsgdGhlbgotICAgICMgZ251LXZlcnNpb25lZC1uYW1lc3BhY2Ug aXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGR1YWwgQUJJLgotICAgIGVuYWJsZV9saWJzdGRj eHhfZHVhbF9hYmk9Im5vIgotICBmaQotICBpZiB0ZXN0IHgiJGVuYWJsZV9saWJzdGRjeHhf ZHVhbF9hYmkiICE9IHh5ZXM7IHRoZW4KKyAgICAjIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNl IGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBkdWFsIEFCSS4uLgogICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZHVhbCBBQkkgaXMgZGlzYWJsZWQiID4m NQogJGFzX2VjaG8gIiRhc19tZTogZHVhbCBBQkkgaXMgZGlzYWJsZWQiID4mNjt9Ci0gICAg ZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGlibGUiCisgICAgZW5hYmxlX2xp YnN0ZGN4eF9kdWFsX2FiaT0ibm8iCisgICAgIyAuLi4gYW5kIHVzZSB0aGUgY3h4MTEgb25l LgorICAgIGRlZmF1bHRfbGlic3RkY3h4X2FiaT0ibmV3IgorICBlbHNlCisgICAgaWYgdGVz dCB4IiRlbmFibGVfbGlic3RkY3h4X2R1YWxfYWJpIiAhPSB4eWVzOyB0aGVuCisgICAgICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGR1YWwgQUJJIGlzIGRp c2FibGVkIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGR1YWwgQUJJIGlzIGRpc2FibGVkIiA+ JjY7fQorICAgICAgZGVmYXVsdF9saWJzdGRjeHhfYWJpPSJnY2M0LWNvbXBhdGlibGUiCisg ICAgZmkKICAgZmkKIAogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRz L2MrK2NvbmZpZyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYysrY29uZmlnCmluZGV4 IDUwNDA2MDY2YWZlLi4yZTlmZjFhNWJhMiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy9jKytjb25maWcKKysrIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9j Kytjb25maWcKQEAgLTMyNSwyNiArMzI1LDYgQEAgbmFtZXNwYWNlIHN0ZAogI2RlZmluZSBf R0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAjZW5kaWYKIAotI2lmIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkKLW5hbWVzcGFjZSBzdGQKLXsKLSAgaW5saW5lIG5hbWVzcGFjZSBfX2N4eDExIF9f YXR0cmlidXRlX18oKF9fYWJpX3RhZ19fICgiY3h4MTEiKSkpIHsgfQotfQotbmFtZXNwYWNl IF9fZ251X2N4eAotewotICBpbmxpbmUgbmFtZXNwYWNlIF9fY3h4MTEgX19hdHRyaWJ1dGVf XygoX19hYmlfdGFnX18gKCJjeHgxMSIpKSkgeyB9Ci19Ci0jIGRlZmluZSBfR0xJQkNYWF9O QU1FU1BBQ0VfQ1hYMTEgX19jeHgxMTo6Ci0jIGRlZmluZSBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfQ1hYMTEgbmFtZXNwYWNlIF9fY3h4MTEgewotIyBkZWZpbmUgX0dMSUJDWFhfRU5E X05BTUVTUEFDRV9DWFgxMSB9Ci0jIGRlZmluZSBfR0xJQkNYWF9ERUZBVUxUX0FCSV9UQUcg X0dMSUJDWFhfQUJJX1RBR19DWFgxMQotI2Vsc2UKLSMgZGVmaW5lIF9HTElCQ1hYX05BTUVT UEFDRV9DWFgxMQotIyBkZWZpbmUgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX0NYWDExCi0j IGRlZmluZSBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCi0jIGRlZmluZSBfR0xJQkNY WF9ERUZBVUxUX0FCSV9UQUcKLSNlbmRpZgotCiAvLyBOb24temVybyBpZiBpbmxpbmUgbmFt ZXNwYWNlcyBhcmUgdXNlZCBmb3IgdmVyc2lvbmluZyB0aGUgZW50aXJlIGxpYnJhcnkuCiAj ZGVmaW5lIF9HTElCQ1hYX0lOTElORV9WRVJTSU9OIAogCkBAIC0zOTYsNyArMzc2LDcgQEAg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgLy8gTm9uLWlubGluZSBuYW1l c3BhY2UgZm9yIGNvbXBvbmVudHMgcmVwbGFjZWQgYnkgYWx0ZXJuYXRlcyBpbiBhY3RpdmUg bW9kZS4KICAgbmFtZXNwYWNlIF9fY3h4MTk5OAogICB7Ci0jIGlmIF9HTElCQ1hYX1VTRV9D WFgxMV9BQkkKKyMgaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAmJiAhIF9HTElCQ1hYX1ZF UlNJT05fTkFNRVNQQUNFCiAgIGlubGluZSBuYW1lc3BhY2UgX19jeHgxMSBfX2F0dHJpYnV0 ZV9fKChfX2FiaV90YWdfXyAoImN4eDExIikpKSB7IH0KICMgZW5kaWYKICAgfQpAQCAtNDI2 LDYgKzQwNiwyNiBAQCBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KICMgZW5kaWYK ICNlbmRpZgogCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAmJiAhIF9HTElCQ1hYX0lO TElORV9WRVJTSU9OCituYW1lc3BhY2Ugc3RkCit7CisgIGlubGluZSBuYW1lc3BhY2UgX19j eHgxMSBfX2F0dHJpYnV0ZV9fKChfX2FiaV90YWdfXyAoImN4eDExIikpKSB7IH0KK30KK25h bWVzcGFjZSBfX2dudV9jeHgKK3sKKyAgaW5saW5lIG5hbWVzcGFjZSBfX2N4eDExIF9fYXR0 cmlidXRlX18oKF9fYWJpX3RhZ19fICgiY3h4MTEiKSkpIHsgfQorfQorIyBkZWZpbmUgX0dM SUJDWFhfTkFNRVNQQUNFX0NYWDExIF9fY3h4MTE6OgorIyBkZWZpbmUgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX0NYWDExIG5hbWVzcGFjZSBfX2N4eDExIHsKKyMgZGVmaW5lIF9HTElC Q1hYX0VORF9OQU1FU1BBQ0VfQ1hYMTEgfQorIyBkZWZpbmUgX0dMSUJDWFhfREVGQVVMVF9B QklfVEFHIF9HTElCQ1hYX0FCSV9UQUdfQ1hYMTEKKyNlbHNlCisjIGRlZmluZSBfR0xJQkNY WF9OQU1FU1BBQ0VfQ1hYMTEKKyMgZGVmaW5lIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9D WFgxMQorIyBkZWZpbmUgX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9DWFgxMQorIyBkZWZpbmUg X0dMSUJDWFhfREVGQVVMVF9BQklfVEFHCisjZW5kaWYKKwogLy8gTWFjcm9zIGZvciBuYW1l c3BhY2Ugc2NvcGUuIEVpdGhlciBuYW1lc3BhY2Ugc3RkOjogb3IgdGhlIG5hbWUKIC8vIG9m IHNvbWUgbmVzdGVkIG5hbWVzcGFjZSB3aXRoaW4gaXQgY29ycmVzcG9uZGluZyB0byB0aGUg YWN0aXZlIG1vZGUuCiAvLyBfR0xJQkNYWF9TVERfQQpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL3B5dGhvbi9saWJzdGRjeHgvdjYvcHJpbnRlcnMucHkgYi9saWJzdGRjKystdjMvcHl0 aG9uL2xpYnN0ZGN4eC92Ni9wcmludGVycy5weQppbmRleCAxYWJmMGE0YmNlMy4uNWZlMDhl ZTBhZGMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3By aW50ZXJzLnB5CisrKyBiL2xpYnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3ByaW50 ZXJzLnB5CkBAIC05NDcsNiArOTQ3LDggQEAgY2xhc3MgU3RkU3RyaW5nUHJpbnRlcjoKICAg ICBkZWYgX19pbml0X18oc2VsZiwgdHlwZW5hbWUsIHZhbCk6CiAgICAgICAgIHNlbGYudmFs ID0gdmFsCiAgICAgICAgIHNlbGYubmV3X3N0cmluZyA9IHR5cGVuYW1lLmZpbmQoIjo6X19j eHgxMTo6YmFzaWNfc3RyaW5nIikgIT0gLTEKKyAgICAgICAgaWYgbm90IHNlbGYubmV3X3N0 cmluZyBhbmQgX3ZlcnNpb25lZF9uYW1lc3BhY2U6CisgICAgICAgICAgICBzZWxmLm5ld19z dHJpbmcgPSB0eXBlbmFtZS5maW5kKCI6OiIgKyBfdmVyc2lvbmVkX25hbWVzcGFjZSArICJi YXNpY19zdHJpbmciKSAhPSAtMQogCiAgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKICAgICAg ICAgIyBNYWtlIHN1cmUgJnN0cmluZyB3b3JrcywgdG9vLgpkaWZmIC0tZ2l0IGEvbGlic3Rk YysrLXYzL3NyYy9NYWtlZmlsZS5hbSBiL2xpYnN0ZGMrKy12My9zcmMvTWFrZWZpbGUuYW0K aW5kZXggMzg5NDNmMzZmYjQuLmRjMWFjODI2ZmZlIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvc3JjL01ha2VmaWxlLmFtCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvTWFrZWZpbGUuYW0K QEAgLTgxLDYgKzgxLDkgQEAgZWxzZQogbGRibF9jb21wYXRfc291cmNlcyA9CiBlbmRpZgog CitpZiBFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFCitsZGJsX2FsdDEyOF9jb21wYXRf c291cmNlcyA9CitlbHNlCiBpZiBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVAogaWYgRU5B QkxFX0RVQUxfQUJJCiBsZGJsX2FsdDEyOF9jb21wYXRfY3h4MTFfc291cmNlcyA9IFwKQEAg LTk0LDYgKzk3LDcgQEAgbGRibF9hbHQxMjhfY29tcGF0X3NvdXJjZXMgPSBcCiBlbHNlCiBs ZGJsX2FsdDEyOF9jb21wYXRfc291cmNlcyA9CiBlbmRpZgorZW5kaWYKIAogaWYgRU5BQkxF X1NZTVZFUlNfR05VX05BTUVTUEFDRQogY3h4MHhfY29tcGF0X3NvdXJjZXMgPQpkaWZmIC0t Z2l0IGEvbGlic3RkYysrLXYzL3NyYy9NYWtlZmlsZS5pbiBiL2xpYnN0ZGMrKy12My9zcmMv TWFrZWZpbGUuaW4KaW5kZXggYzU1NmQwZGVlMWIuLjc0NGU1ZmYzNmNjIDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvc3JjL01ha2VmaWxlLmluCisrKyBiL2xpYnN0ZGMrKy12My9zcmMv TWFrZWZpbGUuaW4KQEAgLTE1NywxMCArMTU3LDkgQEAgYW1fX29iamVjdHNfMiA9IGNvbXBh dGliaWxpdHkubG8gY29tcGF0aWJpbGl0eS1kZWJ1Z19saXN0LmxvIFwKIEBFTkFCTEVfU1lN VkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQAljb21wYXRpYmlsaXR5LWNocm9uby5sbyBcCiBA RU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9GQUxTRUAJY29tcGF0aWJpbGl0eS1jb25k dmFyLmxvIFwKIEBFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQAljb21wYXRp YmlsaXR5LXRocmVhZC1jKysweC5sbwotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQEBHTElCQ1hY X0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGFtX19vYmplY3RzXzQgPSBjb21wYXRpYmlsaXR5 LWxkYmwtYWx0MTI4LWN4eDExLmxvCi1AR0xJQkNYWF9MREJMX0FMVDEyOF9DT01QQVRfVFJV RUBhbV9fb2JqZWN0c181ID0gIFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVF QAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmxvIFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4 X0NPTVBBVF9UUlVFQAkkKGFtX19vYmplY3RzXzQpCitARU5BQkxFX0RVQUxfQUJJX1RSVUVA QEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJDWFhfTERCTF9BTFQx MjhfQ09NUEFUX1RSVUVAYW1fX29iamVjdHNfNCA9IGNvbXBhdGliaWxpdHktbGRibC1hbHQx MjgtY3h4MTEubG8KK0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElC Q1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGFtX19vYmplY3RzXzUgPSBjb21wYXRpYmls aXR5LWxkYmwtYWx0MTI4LmxvIFwKK0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZB TFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQAkkKGFtX19vYmplY3RzXzQp CiBhbV9fb2JqZWN0c182ID0gJChhbV9fb2JqZWN0c18zKSAkKGFtX19vYmplY3RzXzUpCiBh bV9saWJzdGRjX19fbGFfT0JKRUNUUyA9ICQoYW1fX29iamVjdHNfMikgJChhbV9fb2JqZWN0 c182KQogbGlic3RkY19fX2xhX09CSkVDVFMgPSAkKGFtX2xpYnN0ZGNfX19sYV9PQkpFQ1RT KQpAQCAtNTA1LDE0ICs1MDQsMTUgQEAgU1VCRElSUyA9IGMrKzk4IGMrKzExIGMrKzE3IGMr KzIwICQoZmlsZXN5c3RlbV9kaXIpICQoYmFja3RyYWNlX2RpcikgZXhwZXJpbWVudGEKIAog QEdMSUJDWFhfTERCTF9DT01QQVRfRkFMU0VAbGRibF9jb21wYXRfc291cmNlcyA9IAogQEdM SUJDWFhfTERCTF9DT01QQVRfVFJVRUBsZGJsX2NvbXBhdF9zb3VyY2VzID0gY29tcGF0aWJp bGl0eS1sZGJsLmNjCi1ARU5BQkxFX0RVQUxfQUJJX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxU MTI4X0NPTVBBVF9UUlVFQGxkYmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9zb3VyY2VzID0gCi1A RU5BQkxFX0RVQUxfQUJJX1RSVUVAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVA bGRibF9hbHQxMjhfY29tcGF0X2N4eDExX3NvdXJjZXMgPSBcCi1ARU5BQkxFX0RVQUxfQUJJ X1RSVUVAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVACWNvbXBhdGliaWxpdHkt bGRibC1hbHQxMjgtY3h4MTEuY2MKLQotQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX0ZB TFNFQGxkYmxfYWx0MTI4X2NvbXBhdF9zb3VyY2VzID0gCi1AR0xJQkNYWF9MREJMX0FMVDEy OF9DT01QQVRfVFJVRUBsZGJsX2FsdDEyOF9jb21wYXRfc291cmNlcyA9IFwKLUBHTElCQ1hY X0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmNj IFwKLUBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQAkke2xkYmxfYWx0MTI4X2Nv bXBhdF9jeHgxMV9zb3VyY2VzfQorQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFM U0VAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX0ZBTFNFQGxkYmxfYWx0MTI4X2NvbXBh dF9zb3VyY2VzID0gCitARU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9GQUxTRUBAR0xJ QkNYWF9MREJMX0FMVDEyOF9DT01QQVRfVFJVRUBsZGJsX2FsdDEyOF9jb21wYXRfc291cmNl cyA9IFwKK0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElCQ1hYX0xE QkxfQUxUMTI4X0NPTVBBVF9UUlVFQAljb21wYXRpYmlsaXR5LWxkYmwtYWx0MTI4LmNjIFwK K0BFTkFCTEVfU1lNVkVSU19HTlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxU MTI4X0NPTVBBVF9UUlVFQAkke2xkYmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9zb3VyY2VzfQor CitARU5BQkxFX1NZTVZFUlNfR05VX05BTUVTUEFDRV9UUlVFQGxkYmxfYWx0MTI4X2NvbXBh dF9zb3VyY2VzID0gCitARU5BQkxFX0RVQUxfQUJJX0ZBTFNFQEBFTkFCTEVfU1lNVkVSU19H TlVfTkFNRVNQQUNFX0ZBTFNFQEBHTElCQ1hYX0xEQkxfQUxUMTI4X0NPTVBBVF9UUlVFQGxk YmxfYWx0MTI4X2NvbXBhdF9jeHgxMV9zb3VyY2VzID0gCitARU5BQkxFX0RVQUxfQUJJX1RS VUVAQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0VfRkFMU0VAQEdMSUJDWFhfTERCTF9B TFQxMjhfQ09NUEFUX1RSVUVAbGRibF9hbHQxMjhfY29tcGF0X2N4eDExX3NvdXJjZXMgPSBc CitARU5BQkxFX0RVQUxfQUJJX1RSVUVAQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0Vf RkFMU0VAQEdMSUJDWFhfTERCTF9BTFQxMjhfQ09NUEFUX1RSVUVACWNvbXBhdGliaWxpdHkt bGRibC1hbHQxMjgtY3h4MTEuY2MKIAogQEVOQUJMRV9TWU1WRVJTX0dOVV9OQU1FU1BBQ0Vf RkFMU0VAY3h4MHhfY29tcGF0X3NvdXJjZXMgPSBcCiBARU5BQkxFX1NZTVZFUlNfR05VX05B TUVTUEFDRV9GQUxTRUAJY29tcGF0aWJpbGl0eS1hdG9taWMtYysrMHguY2MgXApkaWZmIC0t Z2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9NYWtlZmlsZS5hbSBiL2xpYnN0ZGMrKy12 My9zcmMvYysrMTEvTWFrZWZpbGUuYW0KaW5kZXggZWNkNDZhYWZjMDEuLmIyMmM1NGZhMDU3 IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL01ha2VmaWxlLmFtCisrKyBi L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvTWFrZWZpbGUuYW0KQEAgLTQwLDIyICs0MCwyMiBA QCBjdHlwZV9tZW1iZXJzLmNjOiAke2dsaWJjeHhfc3JjZGlyfS8kKENDVFlQRV9DQykKIAkk KExOX1MpICR7Z2xpYmN4eF9zcmNkaXJ9LyQoQ0NUWVBFX0NDKSAuIHx8IHRydWUKIAogaWYg RU5BQkxFX0RVQUxfQUJJCi1jeHgxMV9hYmlfc291cmNlcyA9IFwKLQljb3ctbG9jYWxlX2lu aXQuY2MgXAorZHVhbF9hYmlfc291cmNlcyA9IFwKIAljb3ctc2hpbV9mYWNldHMuY2MgXAot CWN4eDExLWhhc2hfdHIxLmNjIFwKLQljeHgxMS1pb3NfZmFpbHVyZS5jYyBcCi0JY3h4MTEt c2hpbV9mYWNldHMuY2MgXAotCWN4eDExLXN0ZGV4Y2VwdC5jYworCWN4eDExLXNoaW1fZmFj ZXRzLmNjCiBlbHNlCi1jeHgxMV9hYmlfc291cmNlcyA9CitkdWFsX2FiaV9zb3VyY2VzID0K IGVuZGlmCiAKIHNvdXJjZXMgPSBcCiAJY2hyb25vLmNjIFwKIAljb2RlY3Z0LmNjIFwKIAlj b25kaXRpb25fdmFyaWFibGUuY2MgXAorCWNvdy1sb2NhbGVfaW5pdC5jYyBcCiAJY293LXN0 ZGV4Y2VwdC5jYyBcCisJY3h4MTEtaGFzaF90cjEuY2MgXAorCWN4eDExLWlvc19mYWlsdXJl LmNjIFwKKwljeHgxMS1zdGRleGNlcHQuY2MgXAogCWN0eXBlLmNjIFwKIAlkZWJ1Zy5jYyBc CiAJZnVuY3RleGNlcHQuY2MgXApAQCAtNzUsMTkgKzc1LDExIEBAIHNvdXJjZXMgPSBcCiAJ c25wcmludGZfbGl0ZS5jYyBcCiAJc3lzdGVtX2Vycm9yLmNjIFwKIAl0aHJlYWQuY2MgXAot CSR7Y3h4MTFfYWJpX3NvdXJjZXN9IFwKKwkke2R1YWxfYWJpX3NvdXJjZXN9IFwKIAkke2hv c3Rfc291cmNlc30KIAogaWYgRU5BQkxFX0RVQUxfQUJJCiBleHRyYV9zdHJpbmdfaW5zdF9z b3VyY2VzID0gXAotCWNvdy1mc3RyZWFtLWluc3QuY2MgXAotCWNvdy1zc3RyZWFtLWluc3Qu Y2MgXAotCWNvdy1zdHJpbmctaW5zdC5jYyBcCi0JY293LXN0cmluZy1pby1pbnN0LmNjIFwK LQljb3ctd3N0cmluZy1pbnN0LmNjIFwKLQljb3ctd3N0cmluZy1pby1pbnN0LmNjIFwKLQlj eHgxMS1sb2NhbGUtaW5zdC5jYyBcCi0JY3h4MTEtd2xvY2FsZS1pbnN0LmNjIFwKIAlzc29f c3RyaW5nLmNjCiBlbHNlCiBleHRyYV9zdHJpbmdfaW5zdF9zb3VyY2VzID0KQEAgLTk3LDYg Kzg5LDE0IEBAIGlmIEVOQUJMRV9FWFRFUk5fVEVNUExBVEUKICMgWFRFTVBMQVRFX0ZMQUdT ID0gLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMKIGluc3Rfc291cmNlcyA9IFwKIAkkKGV4dHJh X3N0cmluZ19pbnN0X3NvdXJjZXMpIFwKKwljb3ctZnN0cmVhbS1pbnN0LmNjIFwKKwljb3ct c3N0cmVhbS1pbnN0LmNjIFwKKwljb3ctc3RyaW5nLWluc3QuY2MgXAorCWNvdy1zdHJpbmct aW8taW5zdC5jYyBcCisJY293LXdzdHJpbmctaW5zdC5jYyBcCisJY293LXdzdHJpbmctaW8t aW5zdC5jYyBcCisJY3h4MTEtbG9jYWxlLWluc3QuY2MgXAorCWN4eDExLXdsb2NhbGUtaW5z dC5jYyBcCiAJZXh0MTEtaW5zdC5jYyBcCiAJZnN0cmVhbS1pbnN0LmNjIFwKIAlpb3MtaW5z dC5jYyBcCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzExL01ha2VmaWxlLmlu IGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9NYWtlZmlsZS5pbgppbmRleCA3N2UxMWE5ZmQx ZC4uZDExYjAxMTA5YzIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvTWFr ZWZpbGUuaW4KKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9NYWtlZmlsZS5pbgpAQCAt MTIxLDI2ICsxMjEsMjcgQEAgQ09ORklHX0NMRUFOX0ZJTEVTID0KIENPTkZJR19DTEVBTl9W UEFUSF9GSUxFUyA9CiBMVExJQlJBUklFUyA9ICQobm9pbnN0X0xUTElCUkFSSUVTKQogbGli Y19fMTFjb252ZW5pZW5jZV9sYV9MSUJBREQgPQotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGFt X19vYmplY3RzXzEgPSBjb3ctbG9jYWxlX2luaXQubG8gXAotQEVOQUJMRV9EVUFMX0FCSV9U UlVFQAljb3ctc2hpbV9mYWNldHMubG8gY3h4MTEtaGFzaF90cjEubG8gXAotQEVOQUJMRV9E VUFMX0FCSV9UUlVFQAljeHgxMS1pb3NfZmFpbHVyZS5sbyBcCi1ARU5BQkxFX0RVQUxfQUJJ X1RSVUVACWN4eDExLXNoaW1fZmFjZXRzLmxvIGN4eDExLXN0ZGV4Y2VwdC5sbworQEVOQUJM RV9EVUFMX0FCSV9UUlVFQGFtX19vYmplY3RzXzEgPSBjb3ctc2hpbV9mYWNldHMubG8gXAor QEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljeHgxMS1zaGltX2ZhY2V0cy5sbwogYW1fX29iamVj dHNfMiA9IGN0eXBlX2NvbmZpZ3VyZV9jaGFyLmxvIGN0eXBlX21lbWJlcnMubG8KIGFtX19v YmplY3RzXzMgPSBjaHJvbm8ubG8gY29kZWN2dC5sbyBjb25kaXRpb25fdmFyaWFibGUubG8g XAotCWNvdy1zdGRleGNlcHQubG8gY3R5cGUubG8gZGVidWcubG8gZnVuY3RleGNlcHQubG8g XAotCWZ1bmN0aW9uYWwubG8gZnV0ZXgubG8gZnV0dXJlLmxvIGhhc2hfYysrMHgubG8gXAor CWNvdy1sb2NhbGVfaW5pdC5sbyBjb3ctc3RkZXhjZXB0LmxvIGN4eDExLWhhc2hfdHIxLmxv IFwKKwljeHgxMS1pb3NfZmFpbHVyZS5sbyBjeHgxMS1zdGRleGNlcHQubG8gY3R5cGUubG8g ZGVidWcubG8gXAorCWZ1bmN0ZXhjZXB0LmxvIGZ1bmN0aW9uYWwubG8gZnV0ZXgubG8gZnV0 dXJlLmxvIGhhc2hfYysrMHgubG8gXAogCWhhc2h0YWJsZV9jKysweC5sbyBpb3MubG8gaW9z X2VycmNhdC5sbyBsaW1pdHMubG8gbXV0ZXgubG8gXAogCXBsYWNlaG9sZGVycy5sbyByYW5k b20ubG8gcmVnZXgubG8gc2hhcmVkX3B0ci5sbyBcCiAJc25wcmludGZfbGl0ZS5sbyBzeXN0 ZW1fZXJyb3IubG8gdGhyZWFkLmxvICQoYW1fX29iamVjdHNfMSkgXAogCSQoYW1fX29iamVj dHNfMikKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUBhbV9fb2JqZWN0c180ID0gY293LWZzdHJl YW0taW5zdC5sbyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zc3RyZWFtLWluc3Qu bG8gY293LXN0cmluZy1pbnN0LmxvIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXN0 cmluZy1pby1pbnN0LmxvIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293LXdzdHJpbmct aW5zdC5sbyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy13c3RyaW5nLWlvLWluc3Qu bG8gXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljeHgxMS1sb2NhbGUtaW5zdC5sbyBcCi1A RU5BQkxFX0RVQUxfQUJJX1RSVUVACWN4eDExLXdsb2NhbGUtaW5zdC5sbyBzc29fc3RyaW5n LmxvCitARU5BQkxFX0RVQUxfQUJJX1RSVUVAYW1fX29iamVjdHNfNCA9IHNzb19zdHJpbmcu bG8KIEBFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVAYW1fX29iamVjdHNfNSA9ICQoYW1f X29iamVjdHNfNCkgXAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LWZzdHJl YW0taW5zdC5sbyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctc3N0cmVh bS1pbnN0LmxvIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zdHJpbmct aW5zdC5sbyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctc3RyaW5nLWlv LWluc3QubG8gXAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LXdzdHJpbmct aW5zdC5sbyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctd3N0cmluZy1p by1pbnN0LmxvIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWN4eDExLWxvY2Fs ZS1pbnN0LmxvIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWN4eDExLXdsb2Nh bGUtaW5zdC5sbyBcCiBARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAlleHQxMS1pbnN0 LmxvIGZzdHJlYW0taW5zdC5sbyBcCiBARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAlp b3MtaW5zdC5sbyBpb3N0cmVhbS1pbnN0LmxvIFwKIEBFTkFCTEVfRVhURVJOX1RFTVBMQVRF X1RSVUVACWlzdHJlYW0taW5zdC5sbyBsb2NhbGUtaW5zdC5sbyBcCkBAIC00NTcsMjAgKzQ1 OCwyMCBAQCBob3N0X3NvdXJjZXMgPSBcCiAJY3R5cGVfY29uZmlndXJlX2NoYXIuY2MgXAog CWN0eXBlX21lbWJlcnMuY2MKIAotQEVOQUJMRV9EVUFMX0FCSV9GQUxTRUBjeHgxMV9hYmlf c291cmNlcyA9IAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGN4eDExX2FiaV9zb3VyY2VzID0g XAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctbG9jYWxlX2luaXQuY2MgXAorQEVOQUJM RV9EVUFMX0FCSV9GQUxTRUBkdWFsX2FiaV9zb3VyY2VzID0gCitARU5BQkxFX0RVQUxfQUJJ X1RSVUVAZHVhbF9hYmlfc291cmNlcyA9IFwKIEBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293 LXNoaW1fZmFjZXRzLmNjIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY3h4MTEtaGFzaF90 cjEuY2MgXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljeHgxMS1pb3NfZmFpbHVyZS5jYyBc Ci1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWN4eDExLXNoaW1fZmFjZXRzLmNjIFwKLUBFTkFC TEVfRFVBTF9BQklfVFJVRUAJY3h4MTEtc3RkZXhjZXB0LmNjCitARU5BQkxFX0RVQUxfQUJJ X1RSVUVACWN4eDExLXNoaW1fZmFjZXRzLmNjCiAKIHNvdXJjZXMgPSBcCiAJY2hyb25vLmNj IFwKIAljb2RlY3Z0LmNjIFwKIAljb25kaXRpb25fdmFyaWFibGUuY2MgXAorCWNvdy1sb2Nh bGVfaW5pdC5jYyBcCiAJY293LXN0ZGV4Y2VwdC5jYyBcCisJY3h4MTEtaGFzaF90cjEuY2Mg XAorCWN4eDExLWlvc19mYWlsdXJlLmNjIFwKKwljeHgxMS1zdGRleGNlcHQuY2MgXAogCWN0 eXBlLmNjIFwKIAlkZWJ1Zy5jYyBcCiAJZnVuY3RleGNlcHQuY2MgXApAQCAtNDkwLDE5ICs0 OTEsMTEgQEAgc291cmNlcyA9IFwKIAlzbnByaW50Zl9saXRlLmNjIFwKIAlzeXN0ZW1fZXJy b3IuY2MgXAogCXRocmVhZC5jYyBcCi0JJHtjeHgxMV9hYmlfc291cmNlc30gXAorCSR7ZHVh bF9hYmlfc291cmNlc30gXAogCSR7aG9zdF9zb3VyY2VzfQogCiBARU5BQkxFX0RVQUxfQUJJ X0ZBTFNFQGV4dHJhX3N0cmluZ19pbnN0X3NvdXJjZXMgPSAKIEBFTkFCTEVfRFVBTF9BQklf VFJVRUBleHRyYV9zdHJpbmdfaW5zdF9zb3VyY2VzID0gXAotQEVOQUJMRV9EVUFMX0FCSV9U UlVFQAljb3ctZnN0cmVhbS1pbnN0LmNjIFwKLUBFTkFCTEVfRFVBTF9BQklfVFJVRUAJY293 LXNzdHJlYW0taW5zdC5jYyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zdHJpbmct aW5zdC5jYyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy1zdHJpbmctaW8taW5zdC5j YyBcCi1ARU5BQkxFX0RVQUxfQUJJX1RSVUVACWNvdy13c3RyaW5nLWluc3QuY2MgXAotQEVO QUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctd3N0cmluZy1pby1pbnN0LmNjIFwKLUBFTkFCTEVf RFVBTF9BQklfVFJVRUAJY3h4MTEtbG9jYWxlLWluc3QuY2MgXAotQEVOQUJMRV9EVUFMX0FC SV9UUlVFQAljeHgxMS13bG9jYWxlLWluc3QuY2MgXAogQEVOQUJMRV9EVUFMX0FCSV9UUlVF QAlzc29fc3RyaW5nLmNjCiAKICMgWFRFTVBMQVRFX0ZMQUdTID0KQEAgLTUxMSw2ICs1MDQs MTQgQEAgc291cmNlcyA9IFwKICMgWFRFTVBMQVRFX0ZMQUdTID0gLWZuby1pbXBsaWNpdC10 ZW1wbGF0ZXMKIEBFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVAaW5zdF9zb3VyY2VzID0g XAogQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJJChleHRyYV9zdHJpbmdfaW5zdF9z b3VyY2VzKSBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctZnN0cmVhbS1p bnN0LmNjIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zc3RyZWFtLWlu c3QuY2MgXAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY293LXN0cmluZy1pbnN0 LmNjIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy1zdHJpbmctaW8taW5z dC5jYyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQAljb3ctd3N0cmluZy1pbnN0 LmNjIFwKK0BFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWNvdy13c3RyaW5nLWlvLWlu c3QuY2MgXAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY3h4MTEtbG9jYWxlLWlu c3QuY2MgXAorQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJY3h4MTEtd2xvY2FsZS1p bnN0LmNjIFwKIEBFTkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWV4dDExLWluc3QuY2Mg XAogQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJZnN0cmVhbS1pbnN0LmNjIFwKIEBF TkFCTEVfRVhURVJOX1RFTVBMQVRFX1RSVUVACWlvcy1pbnN0LmNjIFwKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LWZzdHJlYW0taW5zdC5jYyBiL2xpYnN0ZGMr Ky12My9zcmMvYysrMTEvY293LWZzdHJlYW0taW5zdC5jYwppbmRleCA2YjYzNTJjMTQxOS4u ZDk2NTc0ODQzMjYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LWZz dHJlYW0taW5zdC5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy1mc3RyZWFt LWluc3QuY2MKQEAgLTI5LDEwICsyOSw3IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkgMAogI2luY2x1ZGUgPGZzdHJlYW0+CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFM X0FCSQotIyBlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhp cyBjb25maWd1cmF0aW9uLgotI2VuZGlmCi0KKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9B QkkKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dM SUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KQEAgLTc2LDMgKzczLDQgQEAgX0dMSUJD WFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9W RVJTSU9OCiB9IC8vIG5hbWVzcGFjZQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRjKyst djMvc3JjL2MrKzExL2Nvdy1sb2NhbGVfaW5pdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysr MTEvY293LWxvY2FsZV9pbml0LmNjCmluZGV4IDRkNWMwOGYyMGNjLi5mYTI3YjQxNDJmMiAx MDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctbG9jYWxlX2luaXQuY2MK KysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctbG9jYWxlX2luaXQuY2MKQEAgLTI0 LDEwICsyNCw3IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMAogI2luY2x1 ZGUgPGxvY2FsZT4KIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRo aXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24u Ci0jZW5kaWYKLQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogbmFtZXNwYWNlIHN0 ZCBfR0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfVkVSU0lPTgpAQCAtMTkzLDMgKzE5MCw0IEBAIG5hbWVzcGFjZQogCiBfR0xJQkNY WF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0KKyNlbmRpZiAvLyAhIF9HTElCQ1hYX1VTRV9D WFgxMV9BQkkKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXNzdHJl YW0taW5zdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXNzdHJlYW0taW5zdC5j YwppbmRleCA4ODM5ZjRhNmY3NS4uMmRiNzhhNDNmNTAgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMr Ky12My9zcmMvYysrMTEvY293LXNzdHJlYW0taW5zdC5jYworKysgYi9saWJzdGRjKystdjMv c3JjL2MrKzExL2Nvdy1zc3RyZWFtLWluc3QuY2MKQEAgLTI3LDggKzI3LDggQEAKIC8vCiAK ICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAwCi0jaW5jbHVkZSAic3N0cmVhbS1p bnN0LmNjIgorI2luY2x1ZGUgPGJpdHMvYysrY29uZmlnLmg+CiAKLSNpZiAhIF9HTElCQ1hY X1VTRV9EVUFMX0FCSQotIyBlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxl ZCBmb3IgdGhpcyBjb25maWd1cmF0aW9uLgorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SQorIyBpbmNsdWRlICJzc3RyZWFtLWluc3QuY2MiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0ZGV4Y2VwdC5jYyBiL2xpYnN0ZGMrKy12My9z cmMvYysrMTEvY293LXN0ZGV4Y2VwdC5jYwppbmRleCA5ZTg3ODc0ODVlYi4uOGIyMTdjNDU5 NjAgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0ZGV4Y2VwdC5j YworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy1zdGRleGNlcHQuY2MKQEAgLTQx LDcgKzQxLDcgQEAgX3R4bmFsX2xvZ2ljX2Vycm9yX2dldF9tc2codm9pZCogZSk7CiB2b2lk KgogX3R4bmFsX3J1bnRpbWVfZXJyb3JfZ2V0X21zZyh2b2lkKiBlKTsKIAotLy8gQWxsIGV4 Y2VwdGlvbiBjbGFzc2VzIHN0aWxsIHVzZSB0aGUgY2xhc3NpYyBDT1cgc3RkOjpzdHJpbmcu CisvLyBJbiBkdWFsIGFiaSBhbGwgZXhjZXB0aW9uIGNsYXNzZXMgc3RpbGwgdXNlIHRoZSBj bGFzc2ljIENPVyBzdGQ6OnN0cmluZy4KICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FC SSAwCiAjZGVmaW5lIF9HTElCQ1hYX0RFRklORV9TVERFWENFUFRfQ09QWV9PUFMgMQogI2Rl ZmluZSBfX2Nvd19zdHJpbmcgX19jb3dfc3RyaW5neHh4CkBAIC0xNjksNiArMTY5LDcgQEAg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgICAgICAgICAgICAiYWxp Z25vZihzdGQ6OnN0cmluZykgaGFzIGNoYW5nZWQiKTsKICNlbmRpZgogCisjaWYgISBfR0xJ QkNYWF9VU0VfQ1hYMTFfQUJJCiAgIC8vIFJldHVybiBlcnJvcl9jYXRlZ29yeTo6bWVzc2Fn ZSgpIGFzIGFuIFNTTyBzdHJpbmcKICAgX19zc29fc3RyaW5nCiAgIGVycm9yX2NhdGVnb3J5 OjpfTV9tZXNzYWdlKGludCBpKSBjb25zdApAQCAtMTc2LDEwICsxNzcsMTIgQEAgX0dMSUJD WFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICBzdHJpbmcgbXNnID0gdGhpcy0+bWVz c2FnZShpKTsKICAgICByZXR1cm4ge21zZy5jX3N0cigpLCBtc2cubGVuZ3RoKCl9OwogICB9 CisjZW5kaWYKIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVz cGFjZQogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAvLyBTdXBwb3J0IGZvciB0 aGUgVHJhbnNhY3Rpb25hbCBNZW1vcnkgVFMgKE40NTE0KS4KIC8vCiAvLyBsb2dpY19lcnJv ciBhbmQgcnVudGltZV9lcnJvciBib3RoIGNhcnJ5IGEgbWVzc2FnZSBpbiB0aGUgZm9ybSBv ZiBhIENPVwpAQCAtNDYzLDMgKzQ2Niw0IEBAIENUT1JEVE9SKDE1dW5kZXJmbG93X2Vycm9y LCBzdGQ6OnVuZGVyZmxvd19lcnJvciwgcnVudGltZV9lcnJvcikKIAogI2VuZGlmICAvLyBf R0xJQkNYWF9VU0VfQzk5X1NURElOVF9UUjEKICNlbmRpZiAgLy8gX0dMSUJDWFhfVVNFX1dF QUtfUkVGCisjZW5kaWYgIC8vICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQpkaWZmIC0tZ2l0 IGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctc3RyaW5nLWluc3QuY2MgYi9saWJzdGRj KystdjMvc3JjL2MrKzExL2Nvdy1zdHJpbmctaW5zdC5jYwppbmRleCBlNTMzMWJiMDI5YS4u NDBlYmU3MDg5NzEgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0 cmluZy1pbnN0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0cmluZy1p bnN0LmNjCkBAIC0yNywxMSArMjcsMTAgQEAKIC8vCiAKICNkZWZpbmUgX0dMSUJDWFhfVVNF X0NYWDExX0FCSSAwCi0jaW5jbHVkZSAic3RyaW5nLWluc3QuY2MiCisjaW5jbHVkZSA8Yml0 cy9jKytjb25maWcuaD4KIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9y IFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRp b24uCi0jZW5kaWYKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpbmNsdWRlICJz dHJpbmctaW5zdC5jYyIKIAogI2lmZGVmICBfR0xJQkNYWF9VU0VfQzk5X1NURElOVF9UUjEK ICNpbmNsdWRlIDxyYW5kb20+CkBAIC00NywzICs0Niw0IEBAIG5hbWVzcGFjZSBzdGQgX0dM SUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogICB7IF9NX2luaXQodG9rZW4uY19zdHIoKSwg dG9rZW4ubGVuZ3RoKCkpOyB9CiB9IC8vIG5hbWVzcGFjZQogI2VuZGlmCisjZW5kaWYKZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXN0cmluZy1pby1pbnN0LmNj IGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctc3RyaW5nLWlvLWluc3QuY2MKaW5kZXgg M2Y2NWFlYjk4NzMuLmEzNzIwNjgwOTA3IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3Jj L2MrKzExL2Nvdy1zdHJpbmctaW8taW5zdC5jYworKysgYi9saWJzdGRjKystdjMvc3JjL2Mr KzExL2Nvdy1zdHJpbmctaW8taW5zdC5jYwpAQCAtMzAsMTAgKzMwLDcgQEAKICNpbmNsdWRl IDxpc3RyZWFtPgogI2luY2x1ZGUgPG9zdHJlYW0+CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9E VUFMX0FCSQotIyBlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3Ig dGhpcyBjb25maWd1cmF0aW9uLgotI2VuZGlmCi0KKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewog X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KQEAgLTU3LDMgKzU0LDQgQEAgX0dM SUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAogX0dMSUJDWFhfRU5EX05BTUVTUEFD RV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRj KystdjMvc3JjL2MrKzExL2Nvdy13c3RyaW5nLWluc3QuY2MgYi9saWJzdGRjKystdjMvc3Jj L2MrKzExL2Nvdy13c3RyaW5nLWluc3QuY2MKaW5kZXggYTM4YzEyODhlZjMuLmIwZWZmN2Vm OTdkIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2Nvdy13c3RyaW5nLWlu c3QuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctd3N0cmluZy1pbnN0LmNj CkBAIC0yOSwxMiArMjksOSBAQAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAK ICNpbmNsdWRlIDxiaXRzL2MrK2NvbmZpZy5oPgogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hY MTFfQUJJCiAjaWZkZWYgX0dMSUJDWFhfVVNFX1dDSEFSX1QKICNkZWZpbmUgQyB3Y2hhcl90 CiAjaW5jbHVkZSAic3RyaW5nLWluc3QuY2MiCi0KLSNpZiAhIF9HTElCQ1hYX1VTRV9EVUFM X0FCSQotIyBlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBmb3IgdGhp cyBjb25maWd1cmF0aW9uLgogI2VuZGlmCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlic3Rk YysrLXYzL3NyYy9jKysxMS9jb3ctd3N0cmluZy1pby1pbnN0LmNjIGIvbGlic3RkYysrLXYz L3NyYy9jKysxMS9jb3ctd3N0cmluZy1pby1pbnN0LmNjCmluZGV4IGRiZDE5ZTBmZWIwLi5m MGVkNWNjNmI2YiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb3ctd3N0 cmluZy1pby1pbnN0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY293LXdzdHJp bmctaW8taW5zdC5jYwpAQCAtMjksMTQgKzI5LDExIEBACiAjZGVmaW5lIF9HTElCQ1hYX1VT RV9DWFgxMV9BQkkgMAogI2luY2x1ZGUgPGJpdHMvYysrY29uZmlnLmg+CiAKKyNpZiAhIF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKICNpZmRlZiBfR0xJQkNYWF9VU0VfV0NIQVJfVAogI2lu Y2x1ZGUgPG9zdHJlYW0+CiAjaW5jbHVkZSA8aXN0cmVhbT4KIAotI2lmICEgX0dMSUJDWFhf VVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVk IGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKLQogbmFtZXNwYWNlIHN0ZCBfR0xJ QkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0Vf VkVSU0lPTgpAQCAtNjEsMyArNTgsNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVS U0lPTgogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQog I2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4 MTEtaGFzaF90cjEuY2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLWhhc2hfdHIx LmNjCmluZGV4IGYzNjU0MWZkNGNjLi5lZGQ4OTk3NGUxYiAxMDA2NDQKLS0tIGEvbGlic3Rk YysrLXYzL3NyYy9jKysxMS9jeHgxMS1oYXNoX3RyMS5jYworKysgYi9saWJzdGRjKystdjMv c3JjL2MrKzExL2N4eDExLWhhc2hfdHIxLmNjCkBAIC0yNSw5ICsyNSw3IEBACiAjZGVmaW5l IF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMQogI2luY2x1ZGUgPHN0cmluZz4KIAotI2lmICEg X0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJl IGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKKyNpZiBfR0xJQkNY WF9VU0VfQ1hYMTFfQUJJCiAKICNpbmNsdWRlIDx0cjEvZnVuY3Rpb25hbD4KIG5hbWVzcGFj ZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQpAQCAtNTcsMyArNTUsNSBAQCBu YW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKICNlbmRpZgogICB9 CiB9CisKKyNlbmRpZiAvLyBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCmRpZmYgLS1naXQgYS9s aWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLWlvc19mYWlsdXJlLmNjIGIvbGlic3RkYysr LXYzL3NyYy9jKysxMS9jeHgxMS1pb3NfZmFpbHVyZS5jYwppbmRleCAwYTgxZTE1ZTRjMC4u ZGI0YzYyM2E1MzYgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEt aW9zX2ZhaWx1cmUuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1pb3Nf ZmFpbHVyZS5jYwpAQCAtMzgsOSArMzgsNyBAQAogIyBkZWZpbmUgXyhtc2dpZCkgICAobXNn aWQpCiAjZW5kaWYKIAotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRo aXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24u Ci0jZW5kaWYKKyNpZiBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAKIG5hbWVzcGFjZSBzdGQg X0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewpAQCAtNjIsNyArNjAsNyBAQCBfR0xJ QkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICBpb3NfYmFzZTo6ZmFpbHVyZTo6d2hh dCgpIGNvbnN0IHRocm93KCkKICAgeyByZXR1cm4gcnVudGltZV9lcnJvcjo6d2hhdCgpOyB9 CiAKLSNpZiBfX2NwcF9ydHRpCisjaWYgX0dMSUJDWFhfVVNFX0RVQUxfQUJJICYmIF9fY3Bw X3J0dGkKICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIGluIHNyYy9jKys5OC9p b3NfZmFpbHVyZS5jYwogICBleHRlcm4gdm9pZCBfX2NvbnN0cnVjdF9pb3NfZmFpbHVyZSh2 b2lkKiwgY29uc3QgY2hhciopOwogICBleHRlcm4gdm9pZCBfX2Rlc3Ryb3lfaW9zX2ZhaWx1 cmUodm9pZCopOwpAQCAtMTE4LDcgKzExNiw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFD RV9WRVJTSU9OCiAgICAgLy8gT3RoZXJ3aXNlIHByb2NlZWQgYXMgbm9ybWFsIHRvIHNlZSBp ZiB0aGUgaGFuZGxlciBtYXRjaGVzLgogICAgIHJldHVybiBfX2NsYXNzX3R5cGVfaW5mbzo6 X19kb191cGNhc3QoZHN0X3R5cGUsIG9ial9wdHIpOwogICB9Ci0jZWxzZSAvLyAhIF9fY3Bw X3J0dGkKKyNlbHNlIC8vICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJIHx8ICEgX19jcHBfcnR0 aQogICB1c2luZyBfX2lvc19mYWlsdXJlID0gaW9zOjpmYWlsdXJlOwogI2VuZGlmCiAKQEAg LTEzNiwzICsxMzQsNSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCiBf R0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFtZXNwYWNlCisKKyNlbmRp ZiAvLyBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv c3JjL2MrKzExL2N4eDExLWxvY2FsZS1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysx MS9jeHgxMS1sb2NhbGUtaW5zdC5jYwppbmRleCA1Yzg2MDA1NGVhNi4uODE0Y2RjYzk5MDIg MTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtbG9jYWxlLWluc3Qu Y2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1sb2NhbGUtaW5zdC5jYwpA QCAtMjcsMTEgKzI3LDUgQEAKIC8vIEZhY2V0IGluc3RhbnRpYXRpb25zIHVzaW5nIG5ldyBB Qkkgc3RyaW5ncy4KIAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDEKLSNpbmNs dWRlIDxiaXRzL2MrK2NvbmZpZy5oPgotI2lmICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCi0j IGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGZvciB0aGlzIGNvbmZp Z3VyYXRpb24uCi0jZW5kaWYKIAotI2RlZmluZSBDIGNoYXIKLSNkZWZpbmUgQ19pc19jaGFy Ci0jIGluY2x1ZGUgImxvY2FsZS1pbnN0LmNjIgorI2luY2x1ZGUgImxvY2FsZS1pbnN0LmNj IgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jeHgxMS1zdGRleGNlcHQu Y2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLXN0ZGV4Y2VwdC5jYwppbmRleCAy MzZiYzQwY2Q1NS4uOWZhZjM1NTk3N2EgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMv YysrMTEvY3h4MTEtc3RkZXhjZXB0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEv Y3h4MTEtc3RkZXhjZXB0LmNjCkBAIC0yOSw5ICsyOSw3IEBACiAjZGVmaW5lIF9HTElCQ1hY X1VTRV9DWFgxMV9BQkkgMQogI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KIAotI2lmICEgX0dMSUJD WFhfVVNFX0RVQUxfQUJJCi0jIGVycm9yIFRoaXMgZmlsZSBzaG91bGQgbm90IGJlIGNvbXBp bGVkIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uCi0jZW5kaWYKKyNpZiBfR0xJQkNYWF9VU0Vf Q1hYMTFfQUJJCiAKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0 KQogewpAQCAtNzAsOSArNjgsMTMgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJ T04KICAgdW5kZXJmbG93X2Vycm9yOjp1bmRlcmZsb3dfZXJyb3IoY29uc3Qgc3RyaW5nJiBf X2FyZykKICAgOiBydW50aW1lX2Vycm9yKF9fYXJnKSB7IH0KIAorIyBpZiBfR0xJQkNYWF9V U0VfRFVBTF9BQkkKICAgLy8gQ29udmVydGluZyBjb25zdHJ1Y3RvciBmcm9tIEFCSS10YWdn ZWQgc3RkOjpzdHJpbmcgdG8gQ09XIHN0cmluZy4KICAgX19jb3dfc3RyaW5nOjpfX2Nvd19z dHJpbmcoY29uc3Qgc3RyaW5nJiBzKQogICA6IF9fY293X3N0cmluZyhzLmNfc3RyKCksIHMu bGVuZ3RoKCkpIHsgfQorIyBlbmRpZgogCiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJ T04KIH0gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJ CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2N4eDExLXdsb2NhbGUtaW5z dC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY3h4MTEtd2xvY2FsZS1pbnN0LmNjCmlu ZGV4IDZkMjYyOTIwNzVkLi43NDkxZDUxMTdkZiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYz L3NyYy9jKysxMS9jeHgxMS13bG9jYWxlLWluc3QuY2MKKysrIGIvbGlic3RkYysrLXYzL3Ny Yy9jKysxMS9jeHgxMS13bG9jYWxlLWluc3QuY2MKQEAgLTI4LDExICsyOCwxMCBAQAogCiAj ZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgMQogI2luY2x1ZGUgPGJpdHMvYysrY29u ZmlnLmg+Ci0jaWYgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKLSMgZXJyb3IgVGhpcyBmaWxl IHNob3VsZCBub3QgYmUgY29tcGlsZWQgZm9yIHRoaXMgY29uZmlndXJhdGlvbi4KLSNlbmRp ZgogCi0jaWZkZWYgX0dMSUJDWFhfVVNFX1dDSEFSX1QKLSNkZWZpbmUgQyB3Y2hhcl90Ci0j aW5jbHVkZSAibG9jYWxlLWluc3QuY2MiCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQor IyBpZmRlZiBfR0xJQkNYWF9VU0VfV0NIQVJfVAorIyAgZGVmaW5lIEMgd2NoYXJfdAorIyAg aW5jbHVkZSAibG9jYWxlLWluc3QuY2MiCisjIGVuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvZnN0cmVhbS1pbnN0LmNjIGIvbGlic3RkYysrLXYz L3NyYy9jKysxMS9mc3RyZWFtLWluc3QuY2MKaW5kZXggN2JmNTZjN2U4NjQuLjQ5NGM3YmI1 MWQwIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2ZzdHJlYW0taW5zdC5j YworKysgYi9saWJzdGRjKystdjMvc3JjL2MrKzExL2ZzdHJlYW0taW5zdC5jYwpAQCAtMjks NiArMjksNyBAQAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDEKICNpbmNsdWRl IDxmc3RyZWFtPgogCisjaWYgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogbmFtZXNwYWNlIHN0 ZCBfR0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CiBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfVkVSU0lPTgpAQCAtNDcsMyArNDgsNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BB Q0VfVkVSU0lPTgogCiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFt ZXNwYWNlCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvbG9j YWxlLWluc3QtbnVtZXJpYy5oIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS9sb2NhbGUtaW5z dC1udW1lcmljLmgKaW5kZXggMTg1MTRlODkyYWYuLjc0MWU2ZjVjYTI2IDEwMDY0NAotLS0g YS9saWJzdGRjKystdjMvc3JjL2MrKzExL2xvY2FsZS1pbnN0LW51bWVyaWMuaAorKysgYi9s aWJzdGRjKystdjMvc3JjL2MrKzExL2xvY2FsZS1pbnN0LW51bWVyaWMuaApAQCAtMjMsMTQg KzIzLDE0IEBACiAvLyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKICNpZm5k ZWYgQwotI2RlZmluZSAiVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgZGlyZWN0 bHksIG9ubHkgaW5jbHVkZWQiCisjIGVycm9yICJUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBj b21waWxlZCBkaXJlY3RseSwgb25seSBpbmNsdWRlZCIKICNlbmRpZgogCiAjaW5jbHVkZSAi ZmFjZXRfaW5zdF9tYWNyb3MuaCIKIAogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9WSVNJQklM SVRZKGRlZmF1bHQpCiB7Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBf R0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAvLyB1 c2VfZmFjZXQgYW5kIGhhc19mYWNldCBpbnN0YW50aWF0aW9ucwogSU5TVEFOVElBVEVfRkFD RVRfQUNDRVNTT1JTKG51bV9nZXQ8Qz4pOwogSU5TVEFOVElBVEVfRkFDRVRfQUNDRVNTT1JT KG51bV9wdXQ8Qz4pOwpAQCAtMzgsNyArMzgsNyBAQCBJTlNUQU5USUFURV9GQUNFVF9BQ0NF U1NPUlMobnVtX3B1dDxDPik7CiAKIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9MREJMCiAK LSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKICAgdGVtcGxhdGUgY2xhc3MgbnVt X2dldDxDLCBpc3RyZWFtYnVmX2l0ZXJhdG9yPEM+ID47CiAgIHRlbXBsYXRlIGNsYXNzIG51 bV9wdXQ8Qywgb3N0cmVhbWJ1Zl9pdGVyYXRvcjxDPiA+OwogI2VuZGlmCkBAIC04OCw3ICs4 OCw3IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9MREJMCiAJCSAgIHVuc2lnbmVkIGxv bmcgbG9uZyYpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9B QkkKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVB TF9BQkkKICAgLy8gbnVtX3B1dCBtZW1iZXIgZnVuY3Rpb24gdGVtcGxhdGVzCiAgIHRlbXBs YXRlCiAgICAgb3N0cmVhbWJ1Zl9pdGVyYXRvcjxDPgpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL3NyYy9jKysxMS9sb2NhbGUtaW5zdC5jYyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMTEv bG9jYWxlLWluc3QuY2MKaW5kZXggNjc2N2RhNzRiNzQuLjE1MjM1YzJjMTU1IDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzExL2xvY2FsZS1pbnN0LmNjCisrKyBiL2xpYnN0 ZGMrKy12My9zcmMvYysrMTEvbG9jYWxlLWluc3QuY2MKQEAgLTM1LDggKzM1LDE3IEBACiAj IGRlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAKICNlbmRpZgogCi0jaW5jbHVkZSA8 bG9jYWxlPgorI2lmIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyMgZGVmaW5lIF9HTElCQ1hY X0JVSUxEX0NYWDExX0FCSSAxCisjZWxzZQorIyBkZWZpbmUgX0dMSUJDWFhfQlVJTERfQ1hY MTFfQUJJIDAKKyNlbmRpZgorCisjaW5jbHVkZSA8Yml0cy9jKytjb25maWcuaD4KIAorI2lm IF9HTElCQ1hYX0JVSUxEX0NYWDExX0FCSSA9PSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisK KyNpbmNsdWRlIDxsb2NhbGU+CiAvLyBJbnN0YW50aWF0aW9uIGNvbmZpZ3VyYXRpb24uCiAj aWZuZGVmIEMKICMgZGVmaW5lIEMgY2hhcgpAQCAtNTIsNyArNjEsNyBAQCBuYW1lc3BhY2Ug c3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIF9HTElCQ1hYX0JFR0lOX05BTUVT UEFDRV9WRVJTSU9OCiAKICAgLy8gbW9uZXlwdW5jdCwgbW9uZXlfZ2V0LCBhbmQgbW9uZXlf cHV0Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBfR0xJQkNYWF9VU0Vf Q1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAgIHRlbXBsYXRlIHN0cnVj dCBfX21vbmV5cHVuY3RfY2FjaGU8QywgZmFsc2U+OwogICB0ZW1wbGF0ZSBzdHJ1Y3QgX19t b25leXB1bmN0X2NhY2hlPEMsIHRydWU+OwogI2VuZGlmCkBAIC02NCw3ICs3Myw3IEBAIF9H TElCQ1hYX0JFR0lOX05BTUVTUEFDRV9DWFgxMQogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9D WFgxMQogCiAgIC8vIG51bXB1bmN0LCBudW1wdW5jdF9ieW5hbWUsIG51bV9nZXQsIGFuZCBu dW1fcHV0Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBfR0xJQkNYWF9V U0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAgIHRlbXBsYXRlIHN0 cnVjdCBfX251bXB1bmN0X2NhY2hlPEM+OwogI2VuZGlmCiBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfQ1hYMTEKQEAgLTczLDcgKzgyLDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNF X0NYWDExCiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAKICAgLy8gdGltZV9nZXQg YW5kIHRpbWVfcHV0Ci0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBfR0xJ QkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAgIHRlbXBs YXRlIGNsYXNzIF9fdGltZXB1bmN0PEM+OwogICB0ZW1wbGF0ZSBzdHJ1Y3QgX190aW1lcHVu Y3RfY2FjaGU8Qz47CiAgIHRlbXBsYXRlIGNsYXNzIHRpbWVfcHV0PEMsIG9zdHJlYW1idWZf aXRlcmF0b3I8Qz4gPjsKQEAgLTk3LDEzICsxMDYsMTMgQEAgX0dMSUJDWFhfRU5EX05BTUVT UEFDRV9DWFgxMQogICBjdHlwZV9ieW5hbWU8Qz46OmN0eXBlX2J5bmFtZShjb25zdCBzdHJp bmcmIF9fcywgc2l6ZV90IF9fcmVmcykKICAgOiBjdHlwZV9ieW5hbWUoX19zLmNfc3RyKCks IF9fcmVmcykgeyB9CiAKLSNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyNpZiAhIF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkgfHwgISBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKICAgaW5s aW5lIHRlbXBsYXRlIGNsYXNzIF9fY3R5cGVfYWJzdHJhY3RfYmFzZTxDPjsKICAgdGVtcGxh dGUgY2xhc3MgY3R5cGVfYnluYW1lPEM+OwogI2VuZGlmCiAKICAgLy8gY29kZWN2dAotI2lm ICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQogICBpbmxpbmUgdGVtcGxhdGUgY2xhc3Mg X19jb2RlY3Z0X2Fic3RyYWN0X2Jhc2U8QywgY2hhciwgbWJzdGF0ZV90PjsKICAgdGVtcGxh dGUgY2xhc3MgY29kZWN2dF9ieW5hbWU8QywgY2hhciwgbWJzdGF0ZV90PjsKICNlbHNlCkBA IC0xMTgsNyArMTI3LDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX0NYWDExCiBfR0xJ QkNYWF9FTkRfTkFNRVNQQUNFX0NYWDExCiAKIC8vIHVzZV9mYWNldCBhbmQgaGFzX2ZhY2V0 IGluc3RhbnRpYXRpb25zCi0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjaWYgISBf R0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiBJTlNU QU5USUFURV9GQUNFVF9BQ0NFU1NPUlMoY3R5cGU8Qz4pOwogSU5TVEFOVElBVEVfRkFDRVRf QUNDRVNTT1JTKGNvZGVjdnQ8QywgY2hhciwgbWJzdGF0ZV90Pik7CiAjZW5kaWYKQEAgLTEy NywxNCArMTM2LDE0IEBAIElOU1RBTlRJQVRFX0ZBQ0VUX0FDQ0VTU09SUyhudW1wdW5jdDxD Pik7CiBJTlNUQU5USUFURV9GQUNFVF9BQ0NFU1NPUlMobW9uZXlwdW5jdDxDLCBmYWxzZT4p OwogLy8gTm8gZXhwbGljaXQgaW5zdGFudGlhdGlvbiBvZiBoYXNfZmFjZXQ8bW9uZXlwdW5j dDxDLCB0cnVlPj4gZm9yIHNvbWUgcmVhc29uLgogSU5TVEFOVElBVEVfVVNFX0ZBQ0VUICAg ICAgKG1vbmV5cHVuY3Q8QywgdHJ1ZT4pOwotI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FC SQorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFM X0FCSQogSU5TVEFOVElBVEVfRkFDRVRfQUNDRVNTT1JTKF9fdGltZXB1bmN0PEM+KTsKIElO U1RBTlRJQVRFX0ZBQ0VUX0FDQ0VTU09SUyh0aW1lX3B1dDxDPik7CiAjZW5kaWYKIElOU1RB TlRJQVRFX0ZBQ0VUX0FDQ0VTU09SUyh0aW1lX2dldDxDPik7CiBJTlNUQU5USUFURV9GQUNF VF9BQ0NFU1NPUlMobWVzc2FnZXM8Qz4pOwogCi0jaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFf QUJJCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RV QUxfQUJJCiAgIC8vIGxvY2FsZSBmdW5jdGlvbnMuCiAgIHRlbXBsYXRlCiAgICAgQyoKQEAg LTE1OSw3ICsxNjgsMTEgQEAgSU5TVEFOVElBVEVfRkFDRVRfQUNDRVNTT1JTKG1lc3NhZ2Vz PEM+KTsKIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfVkVSU0lPTgogfSAvLyBuYW1lc3BhY2UK IAorI2lmICEgX0dMSUJDWFhfSU5MSU5FX1ZFUlNJT04KIC8vIFhYWCBHTElCQ1hYX0FCSSBE ZXByZWNhdGVkCi0jaWYgZGVmaW5lZCBfR0xJQkNYWF9MT05HX0RPVUJMRV9DT01QQVQgJiYg ISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCi0jaW5jbHVkZSAiY29tcGF0aWJpbGl0eS1sZGJs LWZhY2V0cy1hbGlhc2VzLmgiCi0jZW5kaWYgLy8gX0dMSUJDWFhfTE9OR19ET1VCTEVfQ09N UEFUCisjIGlmIGRlZmluZWQgX0dMSUJDWFhfTE9OR19ET1VCTEVfQ09NUEFUICYmICEgX0dM SUJDWFhfVVNFX0NYWDExX0FCSQorIyAgaW5jbHVkZSAiY29tcGF0aWJpbGl0eS1sZGJsLWZh Y2V0cy1hbGlhc2VzLmgiCisjIGVuZGlmIC8vIF9HTElCQ1hYX0xPTkdfRE9VQkxFX0NPTVBB VAorI2VuZGlmCisKKyNlbmRpZiAvLyAgX0dMSUJDWFhfQlVJTERfQ1hYMTFfQUJJID09IF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysr MTEvd2xvY2FsZS1pbnN0LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysxMS93bG9jYWxlLWlu c3QuY2MKaW5kZXggMDg1NWY2NzcwN2MuLjAzMzhhOTU1NGEyIDEwMDY0NAotLS0gYS9saWJz dGRjKystdjMvc3JjL2MrKzExL3dsb2NhbGUtaW5zdC5jYworKysgYi9saWJzdGRjKystdjMv c3JjL2MrKzExL3dsb2NhbGUtaW5zdC5jYwpAQCAtMzAsNyArMzAsOSBAQAogI2RlZmluZSBf R0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAKICNpbmNsdWRlIDxiaXRzL2MrK2NvbmZpZy5oPgog Ci0jaWZkZWYgX0dMSUJDWFhfVVNFX1dDSEFSX1QKLSNkZWZpbmUgQyB3Y2hhcl90Ci0jaW5j bHVkZSAibG9jYWxlLWluc3QuY2MiCi0jZW5kaWYgLy8gX0dMSUJDWFhfVVNFX1dDSEFSX1QK KyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKKyMgaWZkZWYgX0dMSUJDWFhfVVNFX1dD SEFSX1QKKyMgIGRlZmluZSBDIHdjaGFyX3QKKyMgIGluY2x1ZGUgImxvY2FsZS1pbnN0LmNj IgorIyBlbmRpZiAvLyBfR0xJQkNYWF9VU0VfV0NIQVJfVAorI2VuZGlmCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvc3JjL2MrKzk4L01ha2VmaWxlLmFtIGIvbGlic3RkYysrLXYzL3Ny Yy9jKys5OC9NYWtlZmlsZS5hbQppbmRleCBiOTY1ODhiZDk1Yy4uOWJiZThjMDBhNzMgMTAw NjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvTWFrZWZpbGUuYW0KKysrIGIvbGli c3RkYysrLXYzL3NyYy9jKys5OC9NYWtlZmlsZS5hbQpAQCAtOTAsMTMgKzkwLDYgQEAgYysr bG9jYWxlLmNjOiAke2dsaWJjeHhfc3JjZGlyfS8kKENMT0NBTEVfQ0MpCiBiYXNpY19maWxl LmNjOiAke2dsaWJjeHhfc3JjZGlyfS8kKEJBU0lDX0ZJTEVfQ0MpCiAJJChMTl9TKSAke2ds aWJjeHhfc3JjZGlyfS8kKEJBU0lDX0ZJTEVfQ0MpIC4vJEAgfHwgdHJ1ZQogCi1pZiBFTkFC TEVfRFVBTF9BQkkKLWN4eDExX2FiaV9zb3VyY2VzID0gXAotCWNvdy1pc3RyZWFtLXN0cmlu Zy5jYwotZWxzZQotY3h4MTFfYWJpX3NvdXJjZXMgPQotZW5kaWYKLQogaWYgRU5BQkxFX0VY VEVSTl9URU1QTEFURQogIyBYVEVNUExBVEVfRkxBR1MgPSAtZm5vLWltcGxpY2l0LXRlbXBs YXRlcwogaW5zdF9zb3VyY2VzID0gXApAQCAtMTE4LDYgKzExMSw3IEBAIHNvdXJjZXMgPSBc CiAJbXRfYWxsb2NhdG9yLmNjIFwKIAljb2RlY3Z0LmNjIFwKIAljb21wbGV4X2lvLmNjIFwK Kwljb3ctaXN0cmVhbS1zdHJpbmcuY2MgXAogCWdsb2JhbHNfaW8uY2MgXAogCWhhc2hfdHIx LmNjIFwKIAloYXNodGFibGVfdHIxLmNjIFwKQEAgLTE0Miw3ICsxMzYsNiBAQCBzb3VyY2Vz ID0gXAogCWlzdHJlYW0tc3RyaW5nLmNjIFwKIAlzdHJlYW1idWYuY2MgXAogCXZhbGFycmF5 LmNjIFwKLQkke2N4eDExX2FiaV9zb3VyY2VzfSBcCiAJJHtob3N0X3NvdXJjZXN9IFwKIAkk e2hvc3Rfc291cmNlc19leHRyYX0KIApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9j Kys5OC9NYWtlZmlsZS5pbiBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgvTWFrZWZpbGUuaW4K aW5kZXggYmQ2Mzc4MmExMmQuLmU0ZTIyZGI2OWRmIDEwMDY0NAotLS0gYS9saWJzdGRjKyst djMvc3JjL2MrKzk4L01ha2VmaWxlLmluCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrOTgv TWFrZWZpbGUuaW4KQEAgLTEyMSwzMCArMTIxLDI5IEBAIENPTkZJR19DTEVBTl9GSUxFUyA9 CiBDT05GSUdfQ0xFQU5fVlBBVEhfRklMRVMgPQogTFRMSUJSQVJJRVMgPSAkKG5vaW5zdF9M VExJQlJBUklFUykKIGxpYmNfXzk4Y29udmVuaWVuY2VfbGFfTElCQUREID0KLUBFTkFCTEVf RFVBTF9BQklfVFJVRUBhbV9fb2JqZWN0c18xID0gY293LWlzdHJlYW0tc3RyaW5nLmxvCi1A RU5BQkxFX0RVQUxfQUJJX1RSVUVAYW1fX29iamVjdHNfMiA9IGNvbGxhdGVfbWVtYmVyc19j b3cubG8gXAorQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGFtX19vYmplY3RzXzEgPSBjb2xsYXRl X21lbWJlcnNfY293LmxvIFwKIEBFTkFCTEVfRFVBTF9BQklfVFJVRUAJbWVzc2FnZXNfbWVt YmVyc19jb3cubG8gXAogQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAltb25ldGFyeV9tZW1iZXJz X2Nvdy5sbyBcCiBARU5BQkxFX0RVQUxfQUJJX1RSVUVACW51bWVyaWNfbWVtYmVyc19jb3cu bG8KLWFtX19vYmplY3RzXzMgPSAkKGFtX19vYmplY3RzXzIpIGNvZGVjdnRfbWVtYmVycy5s byBjb2xsYXRlX21lbWJlcnMubG8gXAorYW1fX29iamVjdHNfMiA9ICQoYW1fX29iamVjdHNf MSkgY29kZWN2dF9tZW1iZXJzLmxvIGNvbGxhdGVfbWVtYmVycy5sbyBcCiAJbWVzc2FnZXNf bWVtYmVycy5sbyBtb25ldGFyeV9tZW1iZXJzLmxvIG51bWVyaWNfbWVtYmVycy5sbyBcCiAJ dGltZV9tZW1iZXJzLmxvCi1ARU5BQkxFX0VYVEVSTl9URU1QTEFURV9UUlVFQGFtX19vYmpl Y3RzXzQgPSBhbGxvY2F0b3ItaW5zdC5sbyBcCitARU5BQkxFX0VYVEVSTl9URU1QTEFURV9U UlVFQGFtX19vYmplY3RzXzMgPSBhbGxvY2F0b3ItaW5zdC5sbyBcCiBARU5BQkxFX0VYVEVS Tl9URU1QTEFURV9UUlVFQAljb25jZXB0LWluc3QubG8gZXh0LWluc3QubG8gXAogQEVOQUJM RV9FWFRFUk5fVEVNUExBVEVfVFJVRUAJbWlzYy1pbnN0LmxvCi1hbV9fb2JqZWN0c181ID0g cGFyYWxsZWxfc2V0dGluZ3MubG8KLWFtX19vYmplY3RzXzYgPSBiYXNpY19maWxlLmxvIGMr K2xvY2FsZS5sbyAkKGFtX19vYmplY3RzXzQpIFwKLQkkKGFtX19vYmplY3RzXzUpCi1hbV9f b2JqZWN0c183ID0gYml0bWFwX2FsbG9jYXRvci5sbyBwb29sX2FsbG9jYXRvci5sbyBtdF9h bGxvY2F0b3IubG8gXAotCWNvZGVjdnQubG8gY29tcGxleF9pby5sbyBnbG9iYWxzX2lvLmxv IGhhc2hfdHIxLmxvIFwKLQloYXNodGFibGVfdHIxLmxvIGlvc19mYWlsdXJlLmxvIGlvc19p bml0LmxvIGlvc19sb2NhbGUubG8gXAotCWxpc3QubG8gbGlzdC1hdXgubG8gbGlzdC1hdXgt Mi5sbyBsaXN0X2Fzc29jaWF0ZWQubG8gXAotCWxpc3RfYXNzb2NpYXRlZC0yLmxvIGxvY2Fs ZS5sbyBsb2NhbGVfaW5pdC5sbyBsb2NhbGVfZmFjZXRzLmxvIFwKLQlsb2NhbGVuYW1lLmxv IG1hdGhfc3R1YnNfZmxvYXQubG8gbWF0aF9zdHVic19sb25nX2RvdWJsZS5sbyBcCi0Jc3Rk ZXhjZXB0LmxvIHN0cnN0cmVhbS5sbyB0cmVlLmxvIGlzdHJlYW0ubG8gaXN0cmVhbS1zdHJp bmcubG8gXAotCXN0cmVhbWJ1Zi5sbyB2YWxhcnJheS5sbyAkKGFtX19vYmplY3RzXzEpICQo YW1fX29iamVjdHNfMykgXAotCSQoYW1fX29iamVjdHNfNikKLWFtX2xpYmNfXzk4Y29udmVu aWVuY2VfbGFfT0JKRUNUUyA9ICQoYW1fX29iamVjdHNfNykKK2FtX19vYmplY3RzXzQgPSBw YXJhbGxlbF9zZXR0aW5ncy5sbworYW1fX29iamVjdHNfNSA9IGJhc2ljX2ZpbGUubG8gYysr bG9jYWxlLmxvICQoYW1fX29iamVjdHNfMykgXAorCSQoYW1fX29iamVjdHNfNCkKK2FtX19v YmplY3RzXzYgPSBiaXRtYXBfYWxsb2NhdG9yLmxvIHBvb2xfYWxsb2NhdG9yLmxvIG10X2Fs bG9jYXRvci5sbyBcCisJY29kZWN2dC5sbyBjb21wbGV4X2lvLmxvIGNvdy1pc3RyZWFtLXN0 cmluZy5sbyBnbG9iYWxzX2lvLmxvIFwKKwloYXNoX3RyMS5sbyBoYXNodGFibGVfdHIxLmxv IGlvc19mYWlsdXJlLmxvIGlvc19pbml0LmxvIFwKKwlpb3NfbG9jYWxlLmxvIGxpc3QubG8g bGlzdC1hdXgubG8gbGlzdC1hdXgtMi5sbyBcCisJbGlzdF9hc3NvY2lhdGVkLmxvIGxpc3Rf YXNzb2NpYXRlZC0yLmxvIGxvY2FsZS5sbyBcCisJbG9jYWxlX2luaXQubG8gbG9jYWxlX2Zh Y2V0cy5sbyBsb2NhbGVuYW1lLmxvIFwKKwltYXRoX3N0dWJzX2Zsb2F0LmxvIG1hdGhfc3R1 YnNfbG9uZ19kb3VibGUubG8gc3RkZXhjZXB0LmxvIFwKKwlzdHJzdHJlYW0ubG8gdHJlZS5s byBpc3RyZWFtLmxvIGlzdHJlYW0tc3RyaW5nLmxvIHN0cmVhbWJ1Zi5sbyBcCisJdmFsYXJy YXkubG8gJChhbV9fb2JqZWN0c18yKSAkKGFtX19vYmplY3RzXzUpCithbV9saWJjX185OGNv bnZlbmllbmNlX2xhX09CSkVDVFMgPSAkKGFtX19vYmplY3RzXzYpCiBsaWJjX185OGNvbnZl bmllbmNlX2xhX09CSkVDVFMgPSAkKGFtX2xpYmNfXzk4Y29udmVuaWVuY2VfbGFfT0JKRUNU UykKIEFNX1ZfbHQgPSAkKGFtX192X2x0X0BBTV9WQCkKIGFtX192X2x0XyA9ICQoYW1fX3Zf bHRfQEFNX0RFRkFVTFRfVkApCkBAIC00NzAsMTAgKzQ2OSw2IEBAIGhvc3Rfc291cmNlc19l eHRyYSA9IFwKIAliYXNpY19maWxlLmNjIGMrK2xvY2FsZS5jYyBcCiAJJHtpbnN0X3NvdXJj ZXN9ICR7cGFyYWxsZWxfc291cmNlc30KIAotQEVOQUJMRV9EVUFMX0FCSV9GQUxTRUBjeHgx MV9hYmlfc291cmNlcyA9IAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQGN4eDExX2FiaV9zb3Vy Y2VzID0gXAotQEVOQUJMRV9EVUFMX0FCSV9UUlVFQAljb3ctaXN0cmVhbS1zdHJpbmcuY2MK LQogIyBYVEVNUExBVEVfRkxBR1MgPQogQEVOQUJMRV9FWFRFUk5fVEVNUExBVEVfRkFMU0VA aW5zdF9zb3VyY2VzID0gCiAKQEAgLTQ5Myw2ICs0ODgsNyBAQCBzb3VyY2VzID0gXAogCW10 X2FsbG9jYXRvci5jYyBcCiAJY29kZWN2dC5jYyBcCiAJY29tcGxleF9pby5jYyBcCisJY293 LWlzdHJlYW0tc3RyaW5nLmNjIFwKIAlnbG9iYWxzX2lvLmNjIFwKIAloYXNoX3RyMS5jYyBc CiAJaGFzaHRhYmxlX3RyMS5jYyBcCkBAIC01MTcsNyArNTEzLDYgQEAgc291cmNlcyA9IFwK IAlpc3RyZWFtLXN0cmluZy5jYyBcCiAJc3RyZWFtYnVmLmNjIFwKIAl2YWxhcnJheS5jYyBc Ci0JJHtjeHgxMV9hYmlfc291cmNlc30gXAogCSR7aG9zdF9zb3VyY2VzfSBcCiAJJHtob3N0 X3NvdXJjZXNfZXh0cmF9CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9zcmMvYysrOTgv Y293LWlzdHJlYW0tc3RyaW5nLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9jb3ctaXN0 cmVhbS1zdHJpbmcuY2MKaW5kZXggZDkwZWMyYTBjZjMuLmZmNDA2ODMwYzYxIDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2Nvdy1pc3RyZWFtLXN0cmluZy5jYworKysg Yi9saWJzdGRjKystdjMvc3JjL2MrKzk4L2Nvdy1pc3RyZWFtLXN0cmluZy5jYwpAQCAtMjcs NCArMjcsOCBAQAogLy8KIAogI2RlZmluZSBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIDAKLSNp bmNsdWRlICJpc3RyZWFtLXN0cmluZy5jYyIKKyNpbmNsdWRlIDxiaXRzL2MrK2NvbmZpZy5o PgorCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCisjIGluY2x1ZGUgImlzdHJlYW0t c3RyaW5nLmNjIgorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4 L2hhc2hfdHIxLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9oYXNoX3RyMS5jYwppbmRl eCBjYWE0MjRlNDIzZi4uNzI1NmQyNTI5Y2YgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9z cmMvYysrOTgvaGFzaF90cjEuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9oYXNo X3RyMS5jYwpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiaGFzaC1sb25nLWRvdWJs ZS10cjEtYXV4LmNjIgogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiBuYW1lc3Bh Y2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKICAgbmFtZXNwYWNlIHRy MQpAQCAtNTcsMyArNTgsNCBAQCBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFko ZGVmYXVsdCkKICNlbmRpZgogICB9CiB9CisjZW5kaWYgLy8gISBfR0xJQkNYWF9VU0VfQ1hY MTFfQUJJCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2lvc19mYWlsdXJl LmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pb3NfZmFpbHVyZS5jYwppbmRleCA1MjNk MWY2YTRlOS4uZTY1MGRlZDM3MWUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysr OTgvaW9zX2ZhaWx1cmUuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pb3NfZmFp bHVyZS5jYwpAQCAtMjksMjIgKzI5LDI0IEBACiAjZGVmaW5lIF9HTElCQ1hYX1VTRV9DWFgx MV9BQkkgMAogI2luY2x1ZGUgPGlvcz4KIAotI2lmIF9HTElCQ1hYX1VTRV9EVUFMX0FCSSAm JiBfX2NwcF9ydHRpCi0jaW5jbHVkZSA8Y3h4YWJpLmg+Ci0jaW5jbHVkZSA8dHlwZWluZm8+ Ci0jZW5kaWYKLQotI2lmZGVmIF9HTElCQ1hYX1VTRV9OTFMKLSMgaW5jbHVkZSA8bGliaW50 bC5oPgotIyBkZWZpbmUgXyhtc2dpZCkgICBnZXR0ZXh0IChtc2dpZCkKLSNlbHNlCi0jIGRl ZmluZSBfKG1zZ2lkKSAgIChtc2dpZCkKLSNlbmRpZgorI2lmICEgX0dMSUJDWFhfVVNFX0NY WDExX0FCSSB8fCAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQorIyBpZiBfR0xJQkNYWF9VU0Vf RFVBTF9BQkkgJiYgX19jcHBfcnR0aQorIyAgaW5jbHVkZSA8Y3h4YWJpLmg+CisjICBpbmNs dWRlIDx0eXBlaW5mbz4KKyMgZW5kaWYKKworIyBpZmRlZiBfR0xJQkNYWF9VU0VfTkxTCisj ICBpbmNsdWRlIDxsaWJpbnRsLmg+CisjICBkZWZpbmUgXyhtc2dpZCkgICBnZXR0ZXh0ICht c2dpZCkKKyMgZWxzZQorIyAgZGVmaW5lIF8obXNnaWQpICAgKG1zZ2lkKQorIyBlbmRpZgog CiBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKIF9HTElC Q1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAKKyMgaWYgISBfR0xJQkNYWF9VU0VfQ1hY MTFfQUJJCiAgIGlvc19iYXNlOjpmYWlsdXJlOjpmYWlsdXJlKGNvbnN0IHN0cmluZyYgX19z dHIpIHRocm93KCkKICAgOiBfTV9tc2coX19zdHIpIHsgfQogCkBAIC01NCwxMSArNTYsMTIg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgY29uc3QgY2hhcioKICAg aW9zX2Jhc2U6OmZhaWx1cmU6OndoYXQoKSBjb25zdCB0aHJvdygpCiAgIHsgcmV0dXJuIF9N X21zZy5jX3N0cigpOyB9CisjIGVuZGlmCiAKLSNpZiBfR0xJQkNYWF9VU0VfRFVBTF9BQkkK KyMgaWYgX0dMSUJDWFhfVVNFX0RVQUxfQUJJCiAgIC8vIFdoZW4gdGhlIGR1YWwgQUJJIGlz IGVuYWJsZWQgX190aHJvd19pb3NfZmFpbHVyZSgpIGlzIGRlZmluZWQgaW4KICAgLy8gc3Jj L2MrKzExL2N4eDExLWlvc19mYWlsdXJlLmNjCi0jaWYgX19jcHBfcnR0aQorIyAgaWYgX19j cHBfcnR0aQogICAvLyBJZiBSVFRJIGlzIGVuYWJsZWQgdGhlIGV4Y2VwdGlvbiB0eXBlIHRo cm93biB3aWxsIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8KICAgLy8gY29uc3RydWN0L2Rlc3Ry b3kgYSBnY2M0LWNvbXBhdGlibGUgaW9zOjpmYWlsdXJlIG9iamVjdCBpbiBhIGJ1ZmZlciwK ICAgLy8gYW5kIHRvIGNhdGNoIHRoYXQgb2JqZWN0IHZpYSBhIGhhbmRsZXIgb2YgdGhlIGdj YzQtY29tcGF0aWJsZSB0eXBlLgpAQCAtODAsOSArODMsOSBAQCBfR0xJQkNYWF9CRUdJTl9O QU1FU1BBQ0VfVkVSU0lPTgogICB0eXBlZGVmIGNoYXIgU1sxIC8gKHNpemVvZihpb3M6OmZh aWx1cmUpIDw9IHNpemVvZihydW50aW1lX2Vycm9yKSldOwogICB0eXBlZGVmIGNoYXIgQVsx IC8gKF9fYWxpZ25vZihpb3M6OmZhaWx1cmUpIDw9IF9fYWxpZ25vZihydW50aW1lX2Vycm9y KSldOwogICB9Ci0jZW5kaWYgLy8gX19jcHBfcnR0aQorIyAgZW5kaWYgLy8gX19jcHBfcnR0 aQogCi0jZWxzZSAvLyAhIF9HTElCQ1hYX1VTRV9EVUFMX0FCSQorIyBlbGlmICEgX0dMSUJD WFhfVVNFX0NYWDExX0FCSQogCiAgIHZvaWQKICAgX190aHJvd19pb3NfZmFpbHVyZShjb25z dCBjaGFyKiBfX3MgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCkBAIC05Miw3ICs5NSw5IEBA IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgIF9fdGhyb3dfaW9zX2ZhaWx1 cmUoY29uc3QgY2hhciogc3RyLCBpbnQpCiAgIHsgX190aHJvd19pb3NfZmFpbHVyZShzdHIp OyB9CiAKLSNlbmRpZiAvLyBfR0xJQkNYWF9VU0VfRFVBTF9BQkkKKyMgZW5kaWYKIAogX0dM SUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYg Ly8gISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJIHx8ICEgX0dMSUJDWFhfVVNFX0RVQUxfQUJJ CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2lzdHJlYW0tc3RyaW5nLmNj IGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pc3RyZWFtLXN0cmluZy5jYwppbmRleCAxOWY1 ZjBjMWE0Ny4uMDM0Y2Q5NTFkNmQgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9zcmMvYysr OTgvaXN0cmVhbS1zdHJpbmcuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5OC9pc3Ry ZWFtLXN0cmluZy5jYwpAQCAtMzEsNiArMzEsMTYgQEAKIC8vIGJ5IGFub3RoZXIgZmlsZSB3 aGljaCBkZWZpbmVzIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkk9MC4KICMgZGVmaW5lIF9HTElC Q1hYX1VTRV9DWFgxMV9BQkkgMQogI2VuZGlmCisKKyNpZiBfR0xJQkNYWF9VU0VfQ1hYMTFf QUJJCisjIGRlZmluZSBfR0xJQkNYWF9CVUlMRF9DWFgxMV9BQkkgMQorI2Vsc2UKKyMgZGVm aW5lIF9HTElCQ1hYX0JVSUxEX0NYWDExX0FCSSAwCisjZW5kaWYKKworI2luY2x1ZGUgPGJp dHMvYysrY29uZmlnLmg+CisKKyNpZiBfR0xJQkNYWF9CVUlMRF9DWFgxMV9BQkkgPT0gX0dM SUJDWFhfVVNFX0NYWDExX0FCSQogI2luY2x1ZGUgPGlzdHJlYW0+CiAjaW5jbHVkZSA8c3Ry aW5nPgogCkBAIC0yODksMyArMjk5LDQgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZF UlNJT04KIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFj ZQorI2VuZGlmIC8vIF9HTElCQ1hYX0JVSUxEX0NYWDExX0FCSSA9PSBfR0xJQkNYWF9VU0Vf Q1hYMTFfQUJJCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2MrKzk4L2xvY2FsZV9m YWNldHMuY2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzk4L2xvY2FsZV9mYWNldHMuY2MKaW5k ZXggMTI5M2EzN2U2NDIuLjRiMzUxYjJlOGVmIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv c3JjL2MrKzk4L2xvY2FsZV9mYWNldHMuY2MKKysrIGIvbGlic3RkYysrLXYzL3NyYy9jKys5 OC9sb2NhbGVfZmFjZXRzLmNjCkBAIC0xMjUsNiArMTI1LDcgQEAgX0dMSUJDWFhfQkVHSU5f TkFNRVNQQUNFX1ZFUlNJT04KICAgICByZXR1cm4gX190ZXN0OwogICB9CiAKKyNpZiAhIF9H TElCQ1hYX1VTRV9DWFgxMV9BQkkKICAgYm9vbAogICBfX3ZlcmlmeV9ncm91cGluZyhjb25z dCBjaGFyKiBfX2dyb3VwaW5nLCBzaXplX3QgX19ncm91cGluZ19zaXplLAogCQkgICAgY29u c3Qgc3RyaW5nJiBfX2dyb3VwaW5nX3RtcCkgdGhyb3coKQpAQCAtMTMzLDYgKzEzNCw3IEBA IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgX19ncm91cGluZ190bXAuY19zdHIoKSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBfX2dyb3VwaW5nX3RtcC5zaXplKCkpOwogICB9CisjZW5k aWYKIAogICBuYW1lc3BhY2UKICAgewpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9j Kys5OC9zdGRleGNlcHQuY2MgYi9saWJzdGRjKystdjMvc3JjL2MrKzk4L3N0ZGV4Y2VwdC5j YwppbmRleCAwYTI0YjA1NGNhMC4uNzg2ZjBmZjA1MjMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMr Ky12My9zcmMvYysrOTgvc3RkZXhjZXB0LmNjCisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysr OTgvc3RkZXhjZXB0LmNjCkBAIC0yNiw3ICsyNiw3IEBACiAvLyBJU08gQysrIDE0ODgyOiAx OS4xICBFeGNlcHRpb24gY2xhc3NlcwogLy8KIAotLy8gQWxsIGV4Y2VwdGlvbiBjbGFzc2Vz IHN0aWxsIHVzZSB0aGUgY2xhc3NpYyBDT1cgc3RkOjpzdHJpbmcuCisvLyBJbiBkdWFsIGFi aSBhbGwgZXhjZXB0aW9uIGNsYXNzZXMgc3RpbGwgdXNlIHRoZSBjbGFzc2ljIENPVyBzdGQ6 OnN0cmluZy4KICNkZWZpbmUgX0dMSUJDWFhfVVNFX0NYWDExX0FCSSAwCiAjaW5jbHVkZSA8 c3RyaW5nPgogI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KQEAgLTM1LDggKzM1LDEwIEBAIG5hbWVz cGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQog ICBsb2dpY19lcnJvcjo6bG9naWNfZXJyb3IoY29uc3Qgc3RyaW5nJiBfX2FyZykKICAgOiBl eGNlcHRpb24oKSwgX01fbXNnKF9fYXJnKSB7IH0KKyNlbmRpZgogCiAgIGxvZ2ljX2Vycm9y Ojp+bG9naWNfZXJyb3IoKSBfR0xJQkNYWF9VU0VfTk9FWENFUFQgeyB9CiAKQEAgLTQ0LDI4 ICs0NiwzOCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICBsb2dpY19l cnJvcjo6d2hhdCgpIGNvbnN0IF9HTElCQ1hYX1VTRV9OT0VYQ0VQVAogICB7IHJldHVybiBf TV9tc2cuY19zdHIoKTsgfQogCisjaWYgISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAgIGRv bWFpbl9lcnJvcjo6ZG9tYWluX2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAgIDogbG9n aWNfZXJyb3IoX19hcmcpIHsgfQorI2VuZGlmCiAKICAgZG9tYWluX2Vycm9yOjp+ZG9tYWlu X2Vycm9yKCkgX0dMSUJDWFhfVVNFX05PRVhDRVBUIHsgfQogCisjaWYgISBfR0xJQkNYWF9V U0VfQ1hYMTFfQUJJCiAgIGludmFsaWRfYXJndW1lbnQ6OmludmFsaWRfYXJndW1lbnQoY29u c3Qgc3RyaW5nJiBfX2FyZykKICAgOiBsb2dpY19lcnJvcihfX2FyZykgeyB9CisjZW5kaWYK IAogICBpbnZhbGlkX2FyZ3VtZW50Ojp+aW52YWxpZF9hcmd1bWVudCgpIF9HTElCQ1hYX1VT RV9OT0VYQ0VQVCB7IH0KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICBsZW5n dGhfZXJyb3I6Omxlbmd0aF9lcnJvcihjb25zdCBzdHJpbmcmIF9fYXJnKQogICA6IGxvZ2lj X2Vycm9yKF9fYXJnKSB7IH0KKyNlbmRpZgogCiAgIGxlbmd0aF9lcnJvcjo6fmxlbmd0aF9l cnJvcigpIF9HTElCQ1hYX1VTRV9OT0VYQ0VQVCB7IH0KIAorI2lmICEgX0dMSUJDWFhfVVNF X0NYWDExX0FCSQogICBvdXRfb2ZfcmFuZ2U6Om91dF9vZl9yYW5nZShjb25zdCBzdHJpbmcm IF9fYXJnKQogICA6IGxvZ2ljX2Vycm9yKF9fYXJnKSB7IH0KKyNlbmRpZgogCiAgIG91dF9v Zl9yYW5nZTo6fm91dF9vZl9yYW5nZSgpIF9HTElCQ1hYX1VTRV9OT0VYQ0VQVCB7IH0KIAor I2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICBydW50aW1lX2Vycm9yOjpydW50aW1l X2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAgIDogZXhjZXB0aW9uKCksIF9NX21zZyhf X2FyZykgeyB9CisjZW5kaWYKIAogICBydW50aW1lX2Vycm9yOjp+cnVudGltZV9lcnJvcigp IF9HTElCQ1hYX1VTRV9OT0VYQ0VQVCB7IH0KIApAQCAtNzMsMTggKzg1LDI0IEBAIF9HTElC Q1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgIHJ1bnRpbWVfZXJyb3I6OndoYXQoKSBj b25zdCBfR0xJQkNYWF9VU0VfTk9FWENFUFQKICAgeyByZXR1cm4gX01fbXNnLmNfc3RyKCk7 IH0KIAorI2lmICEgX0dMSUJDWFhfVVNFX0NYWDExX0FCSQogICByYW5nZV9lcnJvcjo6cmFu Z2VfZXJyb3IoY29uc3Qgc3RyaW5nJiBfX2FyZykKICAgOiBydW50aW1lX2Vycm9yKF9fYXJn KSB7IH0KKyNlbmRpZgogCiAgIHJhbmdlX2Vycm9yOjp+cmFuZ2VfZXJyb3IoKSBfR0xJQkNY WF9VU0VfTk9FWENFUFQgeyB9CiAKKyNpZiAhIF9HTElCQ1hYX1VTRV9DWFgxMV9BQkkKICAg b3ZlcmZsb3dfZXJyb3I6Om92ZXJmbG93X2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAg IDogcnVudGltZV9lcnJvcihfX2FyZykgeyB9CisjZW5kaWYKIAogICBvdmVyZmxvd19lcnJv cjo6fm92ZXJmbG93X2Vycm9yKCkgX0dMSUJDWFhfVVNFX05PRVhDRVBUIHsgfQogCisjaWYg ISBfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJCiAgIHVuZGVyZmxvd19lcnJvcjo6dW5kZXJmbG93 X2Vycm9yKGNvbnN0IHN0cmluZyYgX19hcmcpCiAgIDogcnVudGltZV9lcnJvcihfX2FyZykg eyB9CisjZW5kaWYKIAogICB1bmRlcmZsb3dfZXJyb3I6On51bmRlcmZsb3dfZXJyb3IoKSBf R0xJQkNYWF9VU0VfTk9FWENFUFQgeyB9CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90 ZXN0c3VpdGUvMjBfdXRpbC9iaW5kL3JlZl9uZWcuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1 aXRlLzIwX3V0aWwvYmluZC9yZWZfbmVnLmNjCmluZGV4IGE3ODkzNTc3NWMyLi44MzBiMzBl YWU2YyAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2JpbmQv cmVmX25lZy5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0aWwvYmluZC9y ZWZfbmVnLmNjCkBAIC01MCw3ICs1MCw3IEBAIHZvaWQgdGVzdDAyKCkKIAogLy8gSWdub3Jl IHRoZSByZWFzb25zIGZvciBkZWR1Y3Rpb24vc3Vic3RpdHV0aW9uIGZhaWx1cmUgaW4gdGhl IGhlYWRlcnMuCiAvLyBBcnJhbmdlIGZvciB0aGUgbWF0Y2ggdG8gd29yayBvbiBpbnN0YWxs ZWQgdHJlZXMgYXMgd2VsbCBhcyBidWlsZCB0cmVlcy4KLS8vIHsgZGctcHJ1bmUtb3V0cHV0 ICJubyB0eXBlIG5hbWVkICd0eXBlJyBpbiAnc3RydWN0IHN0ZDo6cmVzdWx0X29mIiB9Cisv LyB7IGRnLXBydW5lLW91dHB1dCAibm8gdHlwZSBuYW1lZCAndHlwZScgaW4gJ3N0cnVjdCBz dGQ6OihfXzg6Oik/cmVzdWx0X29mIiB9CiAKIGludCBtYWluKCkKIHsKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvbGlic3RkYysrLXByZXR0eXByaW50ZXJzL2N4eDE3 LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWJzdGRjKystcHJldHR5cHJpbnRlcnMv Y3h4MTcuY2MKaW5kZXggY2Y2OTlkMjJlNzguLmJlZmYzNzg1MjBjIDEwMDY0NAotLS0gYS9s aWJzdGRjKystdjMvdGVzdHN1aXRlL2xpYnN0ZGMrKy1wcmV0dHlwcmludGVycy9jeHgxNy5j YworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlL2xpYnN0ZGMrKy1wcmV0dHlwcmludGVy cy9jeHgxNy5jYwpAQCAtNjIsNiArNjIsOCBAQCBtYWluKCkKIC8vIHsgZGctZmluYWwgeyBy ZWdleHAtdGVzdCBvbSB7c3RkOjpvcHRpb25hbDxzdGQ6OihfX2RlYnVnOjopP21hcDxpbnQs IGRvdWJsZT4+IGNvbnRhaW5pbmcgc3RkOjooX19kZWJ1Zzo6KT9tYXAgd2l0aCAzIGVsZW1l bnRzID0ge1xbMVxdID0gMiwgXFszXF0gPSA0LCBcWzVcXSA9IDZ9fSB9IH0KICAgb3B0aW9u YWw8c3RkOjpzdHJpbmc+IG9zeyAic3RyaW5neSIgfTsKIC8vIHsgZGctZmluYWwgeyBub3Rl LXRlc3Qgb3Mge3N0ZDo6b3B0aW9uYWw8c3RkOjpzdHJpbmc+ID0ge1tjb250YWluZWQgdmFs dWVdID0gInN0cmluZ3kifX0gfSB9CisgIG9wdGlvbmFsPHN0ZDo6d3N0cmluZz4gb3dzeyBM InN0cmluZ3kiIH07CisvLyB7IGRnLWZpbmFsIHsgbm90ZS10ZXN0IG93cyB7c3RkOjpvcHRp b25hbDxzdGQ6OndzdHJpbmc+ID0ge1tjb250YWluZWQgdmFsdWVdID0gTCJzdHJpbmd5In19 IH0gfQogCiAgIGFueSBhOwogLy8geyBkZy1maW5hbCB7IG5vdGUtdGVzdCBhIHtzdGQ6OmFu eSBbbm8gY29udGFpbmVkIHZhbHVlXX0gfSB9CkBAIC03Myw2ICs3NSw4IEBAIG1haW4oKQog Ly8geyBkZy1maW5hbCB7IG5vdGUtdGVzdCBhcCB7c3RkOjphbnkgY29udGFpbmluZyB2b2lk ICogPSB7W2NvbnRhaW5lZCB2YWx1ZV0gPSAweDB9fSB9IH0KICAgYW55IGFzID0gKm9zOwog Ly8geyBkZy1maW5hbCB7IG5vdGUtdGVzdCBhcyB7c3RkOjphbnkgY29udGFpbmluZyBzdGQ6 OnN0cmluZyA9IHtbY29udGFpbmVkIHZhbHVlXSA9ICJzdHJpbmd5In19IH0gfQorICBhbnkg YXdzID0gKm93czsKKy8vIHsgZGctZmluYWwgeyBub3RlLXRlc3QgYXdzIHtzdGQ6OmFueSBj b250YWluaW5nIHN0ZDo6d3N0cmluZyA9IHtbY29udGFpbmVkIHZhbHVlXSA9IEwic3RyaW5n eSJ9fSB9IH0KICAgYW55IGFzMigic3RyaW5naWVzdCIpOwogLy8geyBkZy1maW5hbCB7IHJl Z2V4cC10ZXN0IGFzMiB7c3RkOjphbnkgY29udGFpbmluZyBjb25zdCBjaGFyIFwqID0ge1xb Y29udGFpbmVkIHZhbHVlXF0gPSAweFtbOnhkaWdpdDpdXSsgInN0cmluZ2llc3QifX0gfSB9 CiAgIGFueSBhbSA9ICpvbTsK --------------APjitRZY5p0D4l0C2h9JCoOt Content-Type: text/x-patch; charset=UTF-8; name="version_namespace_bump.patch" Content-Disposition: attachment; filename="version_namespace_bump.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQgYi9saWJzdGRjKystdjMv YWNpbmNsdWRlLm00CmluZGV4IGViNWNmZmNhYzc4Li4zNjcxODFkNzZjNSAxMDA2NDQKLS0t IGEvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAorKysgYi9saWJzdGRjKystdjMvYWNpbmNs dWRlLm00CkBAIC0zODU3LDcgKzM4NTcsNyBAQCBjYXNlICRlbmFibGVfc3ltdmVycyBpbgog CSAgICAgIFtEZWZpbmUgdG8gdXNlIEdOVSB2ZXJzaW9uaW5nIGluIHRoZSBzaGFyZWQgbGli cmFyeS5dKQogICAgIDs7CiAgIGdudS12ZXJzaW9uZWQtbmFtZXNwYWNlKQotICAgIGxpYnRv b2xfVkVSU0lPTj04OjA6MAorICAgIGxpYnRvb2xfVkVSU0lPTj05OjA6MAogICAgIFNZTVZF Ul9GSUxFPWNvbmZpZy9hYmkvcHJlL2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgogICAg IEFDX0RFRklORShfR0xJQkNYWF9TWU1WRVJfR05VX05BTUVTUEFDRSwgMSwKIAkgICAgICBb RGVmaW5lIHRvIHVzZSBHTlUgbmFtZXNwYWNlIHZlcnNpb25pbmcgaW4gdGhlIHNoYXJlZCBs aWJyYXJ5Ll0pCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2FiaS9wcmUvZ251 LXZlcnNpb25lZC1uYW1lc3BhY2UudmVyIGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJl L2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgppbmRleCAwNmNjYWE4MGE1OC4uZDgyMDc3 YTNjZmEgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9jb25maWcvYWJpL3ByZS9nbnUtdmVy c2lvbmVkLW5hbWVzcGFjZS52ZXIKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJl L2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgpAQCAtMTksNyArMTksNyBAQAogIyMgd2l0 aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKICMj IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAotR0xJQkNYWF84LjAgeworR0xJ QkNYWF85LjAgewogCiAgIGdsb2JhbDoKIApAQCAtMjcsNyArMjcsNyBAQCBHTElCQ1hYXzgu MCB7CiAgICAgZXh0ZXJuICJDKysiCiAgICAgewogICAgICAgc3RkOjoqOwotICAgICAgc3Rk OjpfXzg6Oio7CisgICAgICBzdGQ6Ol9fOTo6KjsKICAgICB9OwogCiAgICAgIyBvcGVyYXRv ciBuZXcoc2l6ZV90KQpAQCAtNTksNyArNTksNyBAQCBHTElCQ1hYXzguMCB7CiAgICAgIyB2 dGFibGUKICAgICBfWlRWU3QqOwogICAgIF9aVFZOU3QqOwotICAgIF9aVFZOOV9fZ251X2N4 eDNfXzgxOHN0ZGlvX3N5bmNfZmlsZWJ1ZklbY3ddTlN0M19fODExY2hhcl90cmFpdHNJW2N3 XUVFRUU7CisgICAgX1pUVk45X19nbnVfY3h4M19fOTE4c3RkaW9fc3luY19maWxlYnVmSVtj d11OU3QzX185MTFjaGFyX3RyYWl0c0lbY3ddRUVFRTsKIAogICAgICMgdGh1bmsKICAgICBf WlR2MF9uMTJfTlMqOwpAQCAtNzQsNDMgKzc0LDQzIEBAIEdMSUJDWFhfOC4wIHsKICAgICBf WlRTTlN0KjsKIAogICAgICMgbG9jYWxlCi0gICAgX1pOU3QzX184OWhhc19mYWNldElOU18q OworICAgIF9aTlN0M19fOTloYXNfZmFjZXRJTlNfKjsKIAogICAgICMgdGhyZWFkL211dGV4 L2NvbmRpdGlvbl92YXJpYWJsZS9mdXR1cmUKICAgICBfX29uY2VfcHJveHk7CiAKICAgICAj IHN0ZDo6X19jb252ZXJ0X3RvX3YKLSAgICBfWk5TdDNfXzgxNF9fY29udmVydF90b192KjsK KyAgICBfWk5TdDNfXzkxNF9fY29udmVydF90b192KjsKIAogICAgICMgc3RkOjpfX2NvcHlf c3RyZWFtYnVmcwotICAgIF9aTlN0M19fODE3X19jb3B5X3N0cmVhbWJ1ZnNJKjsKLSAgICBf Wk5TdDNfXzgyMV9fY29weV9zdHJlYW1idWZzX2VvZkkqOworICAgIF9aTlN0M19fOTE3X19j b3B5X3N0cmVhbWJ1ZnNJKjsKKyAgICBfWk5TdDNfXzkyMV9fY29weV9zdHJlYW1idWZzX2Vv ZkkqOwogCiAgICAgIyBzdGQ6Ol9faXN0cmVhbV9leHRyYWN0KHdpc3RyZWFtJiwgd2NoYXJf dCosIHN0cmVhbXNpemUpCi0gICAgX1pOU3QzX184MTdfX2lzdHJlYW1fZXh0cmFjdEl3TlNf MTFjaGFyX3RyYWl0c0l3RUVFRXZSTlNfMTNiYXNpY19pc3RyZWFtSVRfVDBfRUVQUzRfW2ls eF07CisgICAgX1pOU3QzX185MTdfX2lzdHJlYW1fZXh0cmFjdEl3TlNfMTFjaGFyX3RyYWl0 c0l3RUVFRXZSTlNfMTNiYXNpY19pc3RyZWFtSVRfVDBfRUVQUzRfW2lseF07CiAKICAgICAj IF9fZ251X2N4eDo6X19hdG9taWNfYWRkCiAgICAgIyBfX2dudV9jeHg6Ol9fZXhjaGFuZ2Vf YW5kX2FkZAotICAgIF9aTjlfX2dudV9jeHgzX184MTJfX2F0b21pY19hZGRFUFZbaWxdW2ls XTsKLSAgICBfWk45X19nbnVfY3h4M19fODE4X19leGNoYW5nZV9hbmRfYWRkRVBWW2xpXVtp bF07CisgICAgX1pOOV9fZ251X2N4eDNfXzkxMl9fYXRvbWljX2FkZEVQVltpbF1baWxdOwor ICAgIF9aTjlfX2dudV9jeHgzX185MThfX2V4Y2hhbmdlX2FuZF9hZGRFUFZbbGldW2lsXTsK IAogICAgICMgX19nbnVfY3h4OjpfX3Bvb2wKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bv b2xJTGJbMDFdRUUxM19NX2luaXRpYWxpemVFdjsKLSAgICBfWk45X19nbnVfY3h4M19fODZf X3Bvb2xJTGJbMDFdRUUxNl9NX3Jlc2VydmVfYmxvY2tFW2pteV1bam15XTsKLSAgICBfWk45 X19nbnVfY3h4M19fODZfX3Bvb2xJTGJbMDFdRUUxNl9NX3JlY2xhaW1fYmxvY2tFUGNbam15 XTsKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bvb2xJTGJbMDFdRUUxMF9NX2Rlc3Ryb3lF djsKLSAgICBfWk45X19nbnVfY3h4M19fODZfX3Bvb2xJTGIxRUUxNl9NX2dldF90aHJlYWRf aWRFdjsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJTGJbMDFdRUUxM19NX2luaXRp YWxpemVFdjsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJTGJbMDFdRUUxNl9NX3Jl c2VydmVfYmxvY2tFW2pteV1bam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTZfX3Bvb2xJ TGJbMDFdRUUxNl9NX3JlY2xhaW1fYmxvY2tFUGNbam15XTsKKyAgICBfWk45X19nbnVfY3h4 M19fOTZfX3Bvb2xJTGJbMDFdRUUxMF9NX2Rlc3Ryb3lFdjsKKyAgICBfWk45X19nbnVfY3h4 M19fOTZfX3Bvb2xJTGIxRUUxNl9NX2dldF90aHJlYWRfaWRFdjsKIAotICAgIF9aTjlfX2du dV9jeHgzX184MTdfX3Bvb2xfYWxsb2NfYmFzZTlfTV9yZWZpbGxFW2pteV07Ci0gICAgX1pO OV9fZ251X2N4eDNfXzgxN19fcG9vbF9hbGxvY19iYXNlMTZfTV9nZXRfZnJlZV9saXN0RVtq bXldOwotICAgIF9aTjlfX2dudV9jeHgzX184MTdfX3Bvb2xfYWxsb2NfYmFzZTEyX01fZ2V0 X211dGV4RXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzkxN19fcG9vbF9hbGxvY19iYXNlOV9N X3JlZmlsbEVbam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTE3X19wb29sX2FsbG9jX2Jh c2UxNl9NX2dldF9mcmVlX2xpc3RFW2pteV07CisgICAgX1pOOV9fZ251X2N4eDNfXzkxN19f cG9vbF9hbGxvY19iYXNlMTJfTV9nZXRfbXV0ZXhFdjsKIAotICAgIF9aTjlfX2dudV9jeHgz X184OWZyZWVfbGlzdDZfTV9nZXRFW2pteV07Ci0gICAgX1pOOV9fZ251X2N4eDNfXzg5ZnJl ZV9saXN0OF9NX2NsZWFyRXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzk5ZnJlZV9saXN0Nl9N X2dldEVbam15XTsKKyAgICBfWk45X19nbnVfY3h4M19fOTlmcmVlX2xpc3Q4X01fY2xlYXJF djsKIAogICAgICMgX19nbnVfY3h4OjpzdGRpb19zeW5jX2ZpbGVidWYKLSAgICBfWlRWTjlf X2dudV9jeHgzX184MThzdGRpb19zeW5jX2ZpbGVidWZJW2N3XVN0M19fODExY2hhcl90cmFp dHNJW2N3XUVFRTsKLSAgICBfWk45X19nbnVfY3h4M19fODE4c3RkaW9fc3luY19maWxlYnVm SVtjd11OU3QzX184MTFjaGFyX3RyYWl0c0lbY3ddRUVFWzUtOV0qOworICAgIF9aVFZOOV9f Z251X2N4eDNfXzkxOHN0ZGlvX3N5bmNfZmlsZWJ1ZklbY3ddU3QzX185MTFjaGFyX3RyYWl0 c0lbY3ddRUVFOworICAgIF9aTjlfX2dudV9jeHgzX185MThzdGRpb19zeW5jX2ZpbGVidWZJ W2N3XU5TdDNfXzkxMWNoYXJfdHJhaXRzSVtjd11FRUVbNS05XSo7CiAKICAgICAjIGRlYnVn IG1vZGUKICAgICBfWk4xMV9fZ251X2RlYnVnMTlfU2FmZV9zZXF1ZW5jZV9iYXNlMTJfTV9n ZXRfbXV0ZXhFdjsKQEAgLTIzNiw3ICsyMzYsNyBAQCBDWFhBQklfMi4wIHsKICAgICBfWlN0 MTVfRm52X2hhc2hfYnl0ZXNQS3YqOwogCiAgICAgIyBfX2dudV9jeHg6Ol92ZXJib3NlX3Rl cm1pbmF0ZV9oYW5kbGVyKCkKLSAgICBfWk45X19nbnVfY3h4M19fODI3X192ZXJib3NlX3Rl cm1pbmF0ZV9oYW5kbGVyRXY7CisgICAgX1pOOV9fZ251X2N4eDNfXzkyN19fdmVyYm9zZV90 ZXJtaW5hdGVfaGFuZGxlckV2OwogCiAgICAgIyAqX3R5cGVfaW5mbyBjbGFzc2VzLCBjdG9y IGFuZCBkdG9yCiAgICAgX1pOMTBfX2N4eGFiaXYxMTdfX2FycmF5X3R5cGVfaW5mbyo7CmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZp Z3VyZQppbmRleCBiNDdhMzc5ZTIwMS4uOTc3OWNlMDIyMmIgMTAwNzU1Ci0tLSBhL2xpYnN0 ZGMrKy12My9jb25maWd1cmUKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQpAQCAtNjg2 ODQsNyArNjg2ODQsNyBAQCAkYXNfZWNobyAiI2RlZmluZSBfR0xJQkNYWF9TWU1WRVJfR05V IDEiID4+Y29uZmRlZnMuaAogCiAgICAgOzsKICAgZ251LXZlcnNpb25lZC1uYW1lc3BhY2Up Ci0gICAgbGlidG9vbF9WRVJTSU9OPTg6MDowCisgICAgbGlidG9vbF9WRVJTSU9OPTk6MDow CiAgICAgU1lNVkVSX0ZJTEU9Y29uZmlnL2FiaS9wcmUvZ251LXZlcnNpb25lZC1uYW1lc3Bh Y2UudmVyCiAKICRhc19lY2hvICIjZGVmaW5lIF9HTElCQ1hYX1NZTVZFUl9HTlVfTkFNRVNQ QUNFIDEiID4+Y29uZmRlZnMuaApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUv Yml0cy9jKytjb25maWcgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2MrK2NvbmZpZwpp bmRleCAyZTlmZjFhNWJhMi4uMDRiYTIyNDBmOWUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL2JpdHMvYysrY29uZmlnCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2Jp dHMvYysrY29uZmlnCkBAIC0zMzAsNyArMzMwLDcgQEAgbmFtZXNwYWNlIHN0ZAogCiAjaWYg X0dMSUJDWFhfSU5MSU5FX1ZFUlNJT04KIC8vIElubGluZSBuYW1lc3BhY2UgZm9yIHN5bWJv bCB2ZXJzaW9uaW5nIG9mIChuZWFybHkpIGV2ZXJ5dGhpbmcgaW4gc3RkLgotIyBkZWZpbmUg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04gbmFtZXNwYWNlIF9fOCB7CisjIGRl ZmluZSBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTiBuYW1lc3BhY2UgX185IHsK ICMgZGVmaW5lIF9HTElCQ1hYX0VORF9OQU1FU1BBQ0VfVkVSU0lPTiB9CiAvLyBVbnVzZWQg d2hlbiBldmVyeXRoaW5nIGluIHN0ZCBpcyB2ZXJzaW9uZWQgYW55d2F5LgogIyBkZWZpbmUg X0dMSUJDWFhfQkVHSU5fSU5MSU5FX0FCSV9OQU1FU1BBQ0UoWCkKZGlmZiAtLWdpdCBhL2xp YnN0ZGMrKy12My9weXRob24vbGlic3RkY3h4L3Y2L3ByaW50ZXJzLnB5IGIvbGlic3RkYysr LXYzL3B5dGhvbi9saWJzdGRjeHgvdjYvcHJpbnRlcnMucHkKaW5kZXggNWZlMDhlZTBhZGMu LmZjZWRmZjA4ZDVjIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvcHl0aG9uL2xpYnN0ZGN4 eC92Ni9wcmludGVycy5weQorKysgYi9saWJzdGRjKystdjMvcHl0aG9uL2xpYnN0ZGN4eC92 Ni9wcmludGVycy5weQpAQCAtMTAwLDcgKzEwMCw3IEBAIGRlZiBmaW5kX3R5cGUob3JpZywg bmFtZSk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJD YW5ub3QgZmluZCB0eXBlICVzOjolcyIgJSAoc3RyKG9yaWcpLCBuYW1lKSkKIAotX3ZlcnNp b25lZF9uYW1lc3BhY2UgPSAnX184OjonCitfdmVyc2lvbmVkX25hbWVzcGFjZSA9ICdfXzk6 OicKIAogZGVmIGxvb2t1cF90ZW1wbF9zcGVjKHRlbXBsLCAqYXJncyk6CiAgICAgIiIiCmRp ZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0aWwvYmluZC9yZWZfbmVn LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2JpbmQvcmVmX25lZy5jYwpp bmRleCA4MzBiMzBlYWU2Yy4uYTc4OTM1Nzc1YzIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvMjBfdXRpbC9iaW5kL3JlZl9uZWcuY2MKKysrIGIvbGlic3RkYysrLXYz L3Rlc3RzdWl0ZS8yMF91dGlsL2JpbmQvcmVmX25lZy5jYwpAQCAtNTAsNyArNTAsNyBAQCB2 b2lkIHRlc3QwMigpCiAKIC8vIElnbm9yZSB0aGUgcmVhc29ucyBmb3IgZGVkdWN0aW9uL3N1 YnN0aXR1dGlvbiBmYWlsdXJlIGluIHRoZSBoZWFkZXJzLgogLy8gQXJyYW5nZSBmb3IgdGhl IG1hdGNoIHRvIHdvcmsgb24gaW5zdGFsbGVkIHRyZWVzIGFzIHdlbGwgYXMgYnVpbGQgdHJl ZXMuCi0vLyB7IGRnLXBydW5lLW91dHB1dCAibm8gdHlwZSBuYW1lZCAndHlwZScgaW4gJ3N0 cnVjdCBzdGQ6OihfXzg6Oik/cmVzdWx0X29mIiB9CisvLyB7IGRnLXBydW5lLW91dHB1dCAi bm8gdHlwZSBuYW1lZCAndHlwZScgaW4gJ3N0cnVjdCBzdGQ6OnJlc3VsdF9vZiIgfQogCiBp bnQgbWFpbigpCiB7CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0 aWwvZnVuY3Rpb24vY29ucy83MDY5Mi5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjBf dXRpbC9mdW5jdGlvbi9jb25zLzcwNjkyLmNjCmluZGV4IGIxNTIwOGEyNTMxLi4yNjMyNGQz ZjA3OCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2Z1bmN0 aW9uL2NvbnMvNzA2OTIuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGls L2Z1bmN0aW9uL2NvbnMvNzA2OTIuY2MKQEAgLTExLDQgKzExLDQgQEAgaW50IG1haW4oKQog ICBzdGQ6OmZ1bmN0aW9uPGNvbnN0IGludCYoKT4gZmYoZik7ICAvLyB7IGRnLWVycm9yICJu byBtYXRjaGluZyBmdW5jdGlvbiIgfQogICBzdGQ6OmZ1bmN0aW9uPGxvbmcmJigpPiBmMihm KTsgICAgICAvLyB7IGRnLWVycm9yICJubyBtYXRjaGluZyBmdW5jdGlvbiIgfQogfQotLy8g eyBkZy1lcnJvciAic3RkOjooX184OjopP2VuYWJsZV9pZiIgIiIgeyB0YXJnZXQgKi0qLSog fSAwIH0KKy8vIHsgZGctZXJyb3IgInN0ZDo6KF9fOTo6KT9lbmFibGVfaWYiICIiIHsgdGFy Z2V0ICotKi0qIH0gMCB9CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIz X2NvbnRhaW5lcnMvbWFwLzQ4MTAxX25lZy5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv MjNfY29udGFpbmVycy9tYXAvNDgxMDFfbmVnLmNjCmluZGV4IGNjN2FkMTYwMTYyLi41M2Fj ZWI2MzNjMSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yM19jb250YWlu ZXJzL21hcC80ODEwMV9uZWcuY2MKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yM19j b250YWluZXJzL21hcC80ODEwMV9uZWcuY2MKQEAgLTI5LDggKzI5LDggQEAgdGVzdDAxKCkK ICAgYzIuZmluZCgyKTsgLy8geyBkZy1lcnJvciAiaGVyZSIgfQogfQogCi0vLyB7IGRnLWVy cm9yICJfQ29tcGFyZSA9IHN0ZDo6KF9fODo6KT9sZXNzPGludC4+IiAiIiB7IHRhcmdldCAq LSotKiB9IDAgfQotLy8geyBkZy1lcnJvciAiX0NvbXBhcmUgPSBzdGQ6OihfXzg6Oik/YWxs b2NhdG9yPGludD4iICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9CisvLyB7IGRnLWVycm9yICJf Q29tcGFyZSA9IHN0ZDo6KF9fOTo6KT9sZXNzPGludC4+IiAiIiB7IHRhcmdldCAqLSotKiB9 IDAgfQorLy8geyBkZy1lcnJvciAiX0NvbXBhcmUgPSBzdGQ6OihfXzk6Oik/YWxsb2NhdG9y PGludD4iICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9CiAvLyB7IGRnLWVycm9yICJjb21wYXJp c29uIG9iamVjdCBtdXN0IGJlIGludm9jYWJsZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0K IC8vIHsgZGctcHJ1bmUtb3V0cHV0ICJubyBtYXRjaCBmb3IgY2FsbCIgfQogLy8geyBkZy1w cnVuZS1vdXRwdXQgImludmFsaWQgY29udmVyc2lvbiIgfQpkaWZmIC0tZ2l0IGEvbGlic3Rk YysrLXYzL3Rlc3RzdWl0ZS8yM19jb250YWluZXJzL211bHRpbWFwLzQ4MTAxX25lZy5jYyBi L2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aW1hcC80ODEwMV9u ZWcuY2MKaW5kZXggOGJiNjllYzNlOWQuLmNiYjk1ODNhNTQ4IDEwMDY0NAotLS0gYS9saWJz dGRjKystdjMvdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbXVsdGltYXAvNDgxMDFfbmVnLmNj CisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aW1hcC80 ODEwMV9uZWcuY2MKQEAgLTI5LDggKzI5LDggQEAgdGVzdDAxKCkKICAgYzIuZmluZCgyKTsg Ly8geyBkZy1lcnJvciAiaGVyZSIgfQogfQogCi0vLyB7IGRnLWVycm9yICJfQ29tcGFyZSA9 IHN0ZDo6KF9fODo6KT9sZXNzPGludC4+IiAiIiB7IHRhcmdldCAqLSotKiB9IDAgfQotLy8g eyBkZy1lcnJvciAiX0NvbXBhcmUgPSBzdGQ6OihfXzg6Oik/YWxsb2NhdG9yPGludD4iICIi IHsgdGFyZ2V0ICotKi0qIH0gMCB9CisvLyB7IGRnLWVycm9yICJfQ29tcGFyZSA9IHN0ZDo6 KF9fOTo6KT9sZXNzPGludC4+IiAiIiB7IHRhcmdldCAqLSotKiB9IDAgfQorLy8geyBkZy1l cnJvciAiX0NvbXBhcmUgPSBzdGQ6OihfXzk6Oik/YWxsb2NhdG9yPGludD4iICIiIHsgdGFy Z2V0ICotKi0qIH0gMCB9CiAvLyB7IGRnLWVycm9yICJjb21wYXJpc29uIG9iamVjdCBtdXN0 IGJlIGludm9jYWJsZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KIC8vIHsgZGctcHJ1bmUt b3V0cHV0ICJubyBtYXRjaCBmb3IgY2FsbCIgfQogLy8geyBkZy1wcnVuZS1vdXRwdXQgImlu dmFsaWQgY29udmVyc2lvbiIgfQpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS9saWIvcHJ1bmUuZXhwIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWIvcHJ1bmUuZXhw CmluZGV4IDc0ODQyYWU2ODBjLi43MGI4NmViMzQ3MyAxMDA2NDQKLS0tIGEvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZS9saWIvcHJ1bmUuZXhwCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3Vp dGUvbGliL3BydW5lLmV4cApAQCAtMzcsNyArMzcsNyBAQCBwcm9jIGxpYnN0ZGMrKy1kZy1w cnVuZSB7IHN5c3RlbSB0ZXh0IH0gewogICAgICAgcmV0dXJuICI6OnVuc3VwcG9ydGVkOjpo b3N0ZWQgQysrIGhlYWRlcnMgbm90IHN1cHBvcnRlZCIKICAgICB9CiAKLSAgICByZWdzdWIg LWFsbCAic3RkOjpfXzg6OiIgJHRleHQgInN0ZDo6IiB0ZXh0CisgICAgcmVnc3ViIC1hbGwg InN0ZDo6X185OjoiICR0ZXh0ICJzdGQ6OiIgdGV4dAogCiAgICAgIyBJZ25vcmUgY2FyZXQg ZGlhZ25vc3RpY3MuIFVuZm9ydHVuYXRlbHkgZGVqYUdOVSB0cmltcyBsZWFkaW5nCiAgICAg IyBzcGFjZXMsIHNvIG9uZSBjYW5ub3QgcmVseSBvbiB0aGVtIGJlaW5nIHByZXNlbnQuCg== --------------APjitRZY5p0D4l0C2h9JCoOt--