<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>189733</bug_id>
          
          <creation_ts>2018-09-18 21:48:26 -0700</creation_ts>
          <short_desc>Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE</short_desc>
          <delta_ts>2018-09-24 20:07:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>171618</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>pvollan</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1460854</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-18 21:48:26 -0700</bug_when>
    <thetext>[Win][Clang] Can&apos;t compile IGNORE_CLANG_WARNINGS_BEGIN

While doing Bug 171618, following compilation error is reported.

&gt; [772/6184] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\StackBounds.cpp.obj
&gt; FAILED: Source/WTF/wtf/CMakeFiles/WTF.dir/StackBounds.cpp.obj
&gt; C:\tools\llvm\bin\clang-cl.exe (...) -c ..\..\Source\WTF\wtf\StackBounds.cpp
&gt; In file included from ..\..\Source\WTF\wtf\StackBounds.cpp:21:
&gt; In file included from ..\..\Source\WTF\config.h:31:
&gt; In file included from ..\..\Source\WTF\wtf/FastMalloc.h:26:
&gt; In file included from ..\..\Source\WTF\wtf/StdLibExtras.h:33:
&gt; ..\..\Source\WTF\wtf/Assertions.h(605,1):  error: C++ requires a type specifier for all declarations
&gt; IGNORE_CLANG_WARNINGS_BEGIN(&quot;missing-noreturn&quot;)
&gt; ^
&gt; ..\..\Source\WTF\wtf/Compiler.h(434,46):  note: expanded from macro &apos;IGNORE_CLANG_WARNINGS_BEGIN&apos;
&gt; #define IGNORE_CLANG_WARNINGS_BEGIN(warning) IGNORE_WARNINGS_BEGIN_IMPL(clang, warning)
&gt;                                              ^
&gt; In file included from ..\..\Source\WTF\wtf\StackBounds.cpp:21:
&gt; In file included from ..\..\Source\WTF\config.h:31:
&gt; In file included from ..\..\Source\WTF\wtf/FastMalloc.h:26:
&gt; In file included from ..\..\Source\WTF\wtf/StdLibExtras.h:33:
&gt; ..\..\Source\WTF\wtf/Assertions.h(605,1):  error: use of undeclared identifier &apos;clang&apos;
&gt; ..\..\Source\WTF\wtf/Compiler.h(434,73):  note: expanded from macro &apos;IGNORE_CLANG_WARNINGS_BEGIN&apos;
&gt; #define IGNORE_CLANG_WARNINGS_BEGIN(warning) IGNORE_WARNINGS_BEGIN_IMPL(clang, warning)
&gt;                                                                         ^
&gt; In file included from ..\..\Source\WTF\wtf\StackBounds.cpp:21:
&gt; In file included from ..\..\Source\WTF\config.h:31:
&gt; In file included from ..\..\Source\WTF\wtf/FastMalloc.h:26:
&gt; In file included from ..\..\Source\WTF\wtf/StdLibExtras.h:33:
&gt; ..\..\Source\WTF\wtf/Assertions.h(605,48):  error: expected &apos;;&apos; after top level declarator
&gt; IGNORE_CLANG_WARNINGS_BEGIN(&quot;missing-noreturn&quot;)
&gt;                                                ^

See Also:
Bug 188996 – Add IGNORE_WARNING_.* macros</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460856</commentid>
    <comment_count>1</comment_count>
      <attachid>350094</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-18 22:50:48 -0700</bug_when>
    <thetext>Created attachment 350094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461111</commentid>
    <comment_count>2</comment_count>
      <attachid>350094</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-09-19 13:50:31 -0700</bug_when>
    <thetext>Comment on attachment 350094
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=350094&amp;action=review

&gt; Source/WTF/ChangeLog:16
&gt; +        * wtf/Compiler.h: Replaced &quot;COMPILER(GCC_OR_CLANG)&quot; with &quot;COMPILER(GCC) || COMPILER(CLANG)&quot; of IGNORE_WARNINGS_* macros.

Will we need to do this for other uses of GCC_OR_CLANG?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461112</commentid>
    <comment_count>3</comment_count>
      <attachid>350094</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-19 13:59:30 -0700</bug_when>
    <thetext>Comment on attachment 350094
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=350094&amp;action=review

&gt;&gt; Source/WTF/ChangeLog:16
&gt;&gt; +        * wtf/Compiler.h: Replaced &quot;COMPILER(GCC_OR_CLANG)&quot; with &quot;COMPILER(GCC) || COMPILER(CLANG)&quot; of IGNORE_WARNINGS_* macros.
&gt; 
&gt; Will we need to do this for other uses of GCC_OR_CLANG?

Just only this one because I want to enable GCC and Clang warning macros even for Clang for Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461574</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-20 15:49:40 -0700</bug_when>
    <thetext>R?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461710</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-09-20 20:48:29 -0700</bug_when>
    <thetext>It&apos;s messed up if COMPILER(GCC_OR_CLANG) returns false when using Clang.

I think we need to replace COMPILER(GCC_OR_CLANG) with something like COMPILER(GCC_COMPATIBLE).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461777</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-21 02:57:15 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; It&apos;s messed up if COMPILER(GCC_OR_CLANG) returns false when using Clang.
&gt; 
&gt; I think we need to replace COMPILER(GCC_OR_CLANG) with something like
&gt; COMPILER(GCC_COMPATIBLE).

It sounds good. I will do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461781</commentid>
    <comment_count>7</comment_count>
      <attachid>350346</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-21 03:17:40 -0700</bug_when>
    <thetext>Created attachment 350346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461785</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-09-21 04:23:53 -0700</bug_when>
    <thetext>LGTM.

I see the CMake COMPILER_IS_GCC_OR_CLANG is already true for Clang, so that&apos;s good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461786</commentid>
    <comment_count>9</comment_count>
      <attachid>350346</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-09-21 04:24:24 -0700</bug_when>
    <thetext>Comment on attachment 350346
Patch

Please wait one day before committing this is case anyone has other naming suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463070</commentid>
    <comment_count>10</comment_count>
      <attachid>350728</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-24 19:06:13 -0700</bug_when>
    <thetext>Created attachment 350728
Patch to land

Thank you for the review.
* Rebased onto Tot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463075</commentid>
    <comment_count>11</comment_count>
      <attachid>350728</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-24 20:06:09 -0700</bug_when>
    <thetext>Comment on attachment 350728
Patch to land

Clearing flags on attachment: 350728

Committed r236450: &lt;https://trac.webkit.org/changeset/236450&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463076</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-24 20:06:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463077</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-24 20:07:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44750032&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350094</attachid>
            <date>2018-09-18 22:50:48 -0700</date>
            <delta_ts>2018-09-21 03:17:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189733-20180919145046.patch</filename>
            <type>text/plain</type>
            <size>2341</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQzMDhiZTE5MjgyYTlhMzEwZTg0MDRi
MTA0NGQwNWNkZTQ5ZGFkY2UuLjA3MDQ5NjI3MjQzOTIwOTZlYThlNzk4NGU0OGU0ZjAwOTdmODNi
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgtMDktMTggIEZ1amlpIEhpcm9ub3JpICA8SGly
b25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl1bQ2xhbmddIENhbid0IGNvbXBp
bGUgSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0JFR0lOCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJR05PUkVfV0FSTklOR1NfQkVHSU5fSU1QTCB3YXMgZGVm
aW5lZCBvbmx5IGlmCisgICAgICAgIENPTVBJTEVSKEdDQ19PUl9DTEFORykgYW5kIENsYW5nIGZv
ciBXaW5kb3dzIGJ1aWxkcyBkb24ndCBtZWV0IHRoZQorICAgICAgICBjb25kaXRpb24uIENsYW5n
IGZvciBXaW5kb3dzIGJ1aWxkcyBlbmFibGUgV1RGX0NPTVBJTEVSX0NMQU5HIGFuZAorICAgICAg
ICBXVEZfQ09NUElMRVJfTVNWQywgYnV0IGRpc2FibGUgV1RGX0NPTVBJTEVSX0dDQ19PUl9DTEFO
Ry4gSXQgaXMgYQorICAgICAgICBsaXR0bGUgc3RyYW5nZSBXVEZfQ09NUElMRVJfR0NDX09SX0NM
QU5HIGlzIG5vdCBlbmFibGVkIGV2ZW4KKyAgICAgICAgdGhvdWdoIFdURl9DT01QSUxFUl9DTEFO
RyBpcyBlbmFibGVkLiBDbGFuZyBmb3IgV2luZG93cyBpbWl0YXRlcworICAgICAgICBNU1ZDLCBh
bmQgY29kZXMgZm9yIENPTVBJTEVSKEdDQ19PUl9DTEFORykgYXJlIGZvciBub24gTVNWQy4KKwor
ICAgICAgICAqIHd0Zi9Db21waWxlci5oOiBSZXBsYWNlZCAiQ09NUElMRVIoR0NDX09SX0NMQU5H
KSIgd2l0aCAiQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihDTEFORykiIG9mIElHTk9SRV9XQVJO
SU5HU18qIG1hY3Jvcy4KKwogMjAxOC0wOS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBVc2UgU2VtYXBob3JlIGFuZCBCaW5hcnlTZW1h
cGhvcmUgaW5zdGVhZCBvZiBkaXNwYXRjaF9zZW1hcGhvcmVfdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggNzFl
NmI4ZTZhMDhlNTM3NTRlMTQ4YThlODM5MDc5NmQxYzlhYWMwYS4uMWQzZDhhYmMwOWI3NzliOTAz
YTkxZmVmMTgzNjVkMDMxM2Y4NjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGls
ZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0zOTYsNyArMzk2LDcgQEAK
IAogI2RlZmluZSBfQ09NUElMRVJfV0FSTklOR19OQU1FKHdhcm5pbmcpICItVyIgd2FybmluZwog
Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQykgfHwgQ09NUElM
RVIoQ0xBTkcpCiAjZGVmaW5lIElHTk9SRV9XQVJOSU5HU19CRUdJTl9DT05EKGNvbmQsIGNvbXBp
bGVyLCB3YXJuaW5nKSBcCiAgICAgX1ByYWdtYShfQ09NUElMRVJfU1RSSU5HSVpFKGNvbXBpbGVy
IGRpYWdub3N0aWMgcHVzaCkpIFwKICAgICBfQ09NUElMRVJfQ09OQ0FUKElHTk9SRV9XQVJOSU5H
U19CRUdJTl9JTVBMXywgY29uZCkoY29tcGlsZXIsIHdhcm5pbmcpCkBAIC00MTksNyArNDE5LDcg
QEAKICNkZWZpbmUgSUdOT1JFX1dBUk5JTkdTX0JFR0lOX0lNUEwoY29tcGlsZXIsIHdhcm5pbmcp
IFwKICAgICBfSUdOT1JFX1dBUk5JTkdTX0JFR0lOX0lNUEwoY29tcGlsZXIsIF9DT01QSUxFUl9X
QVJOSU5HX05BTUUod2FybmluZykpCiAKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcp
CisjZW5kaWYgLy8gQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihDTEFORykKIAogCiAjaWYgQ09N
UElMRVIoR0NDKQpAQCAtNDM4LDcgKzQzOCw3IEBACiAjZGVmaW5lIElHTk9SRV9DTEFOR19XQVJO
SU5HU19FTkQKICNlbmRpZgogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJ
TEVSKEdDQykgfHwgQ09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIElHTk9SRV9XQVJOSU5HU19CRUdJ
Tih3YXJuaW5nKSBJR05PUkVfV0FSTklOR1NfQkVHSU5fSU1QTChHQ0MsIHdhcm5pbmcpCiAjZGVm
aW5lIElHTk9SRV9XQVJOSU5HU19FTkQgSUdOT1JFX1dBUk5JTkdTX0VORF9JTVBMKEdDQykKICNl
bHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350346</attachid>
            <date>2018-09-21 03:17:40 -0700</date>
            <delta_ts>2018-09-24 19:06:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189733-20180921191738.patch</filename>
            <type>text/plain</type>
            <size>42236</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ODFmNjk5NWU4MGY4ZmYzYjdlMjc2MmI5ODExOWY0ODFhZDc3ZTFkLi5mMWRjODQ5NDVkZjBmZWQ5
YzJlMjlkNzIwNTBkZjI5YWI3MTU3OTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxOC0wOS0yMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBSZW5hbWUgV1RGX0NPTVBJTEVSX0dDQ19PUl9DTEFORyB0byBX
VEZfQ09NUElMRVJfR0NDX0NPTVBBVElCTEUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4OTczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmg6CisgICAgICAg
ICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk1Bc3NlbWJsZXI6
OmNhY2hlRmx1c2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHA6
CisgICAgICAgIChKU0M6OmlzVkZQUHJlc2VudCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3LmNwcDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAgICAgICAq
IGhlYXAvSGVhcENlbGwuY3BwOgorICAgICAgICAqIGhlYXAvSGVhcENlbGwuaDoKKyAgICAgICAg
KiBqaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9y
cy5jcHA6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnZlbnRpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6Y2xlYXJBcnJheU1lbXNldCk6CisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5jcHA6
CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpkaWdpdERpdik6CisKIDIwMTgtMDktMjAgIFl1c3Vr
ZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBbSlNDXSBI
ZWFwOjpyZXBvcnRFeHRyYU1lbW9yeVZpc2l0ZWQgc2hvd3MgY29udGVudGlvbiBpZiB3ZSBoYXZl
IG1hbnkgSlNTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNl
L1dURi9DaGFuZ2VMb2cKaW5kZXggODk1YmY5OTE2M2RiM2FhZGIxZmM3NGUzZDMxZTMyNDE4NmMx
YzkyZS4uNjU5OWZiNTEwNzg1YzM1NjFkOTFmZDQ4NjM2YmU0YzBhOTg1MDk0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxOC0wOS0yMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBSZW5hbWUgV1RGX0NPTVBJTEVSX0dDQ19PUl9DTEFORyB0byBX
VEZfQ09NUElMRVJfR0NDX0NPTVBBVElCTEUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4OTczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENsYW5nIGZvciBXaW5kb3dzIGJ1aWxkIGVuYWJsZXMgV1RGX0NP
TVBJTEVSX0NMQU5HIGFuZAorICAgICAgICBXVEZfQ09NUElMRVJfTVNWQywgYnV0IGRpc2FibGVz
IFdURl9DT01QSUxFUl9HQ0NfT1JfQ0xBTkcuIEl0IGlzCisgICAgICAgIHN0cmFuZ2UgV1RGX0NP
TVBJTEVSX0dDQ19PUl9DTEFORyBpcyBub3QgZW5hYmxlZCBldmVuIHRob3VnaAorICAgICAgICBX
VEZfQ09NUElMRVJfQ0xBTkcgaXMgZW5hYmxlZC4gSG93ZXZlciwgQ2xhbmcgZm9yIFdpbmRvd3Mg
aW1pdGF0ZXMKKyAgICAgICAgTVNWQywgYW5kIGNvZGVzIGZvciBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpIGFyZSBmb3Igbm9uIE1TVkMuIEF0CisgICAgICAgIGxlYXN0IGF0IHRoZSBtb21lbnQsIGl0
IGlzIG5vdCBmZWFzaWJsZSB0byBkZWZpbmUKKyAgICAgICAgV1RGX0NPTVBJTEVSX0dDQ19PUl9D
TEFORyBmb3IgQ2xhbmcgZm9yIFdpbmRvd3MuCisKKyAgICAgICAgVG8gc29sdmUgdGhlIGlzc3Vl
LCB0aGlzIGNoYW5nZSByZW5hbWVzIFdURl9DT01QSUxFUl9HQ0NfT1JfQ0xBTkcKKyAgICAgICAg
dG8gV1RGX0NPTVBJTEVSX0dDQ19DT01QQVRJQkxFLgorCisgICAgICAgIEFzIGFuIGV4Y2VwdGlv
biwgSSdkIGxpa2UgdG8gdXNlIElHTk9SRV9XQVJOSU5HU18qIG1hY3JvcyBldmVuIGluCisgICAg
ICAgIENsYW5nIGZvciBXaW5kb3dzIGJ1aWxkcy4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25z
LmNwcDogUmVwbGFjZWQgQ09NUElMRVIoR0NDX09SX0NMQU5HKSB3aXRoIENPTVBJTEVSKEdDQ19D
T01QQVRJQkxFKS4KKyAgICAgICAgKiB3dGYvQXNzZXJ0aW9ucy5oOiBEaXR0by4KKyAgICAgICAg
KiB3dGYvQXRvbWljcy5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aDogRGl0dG8uCisgICAgICAgICogd3RmL0Zhc3RNYWxsb2MuaDogRGl0dG8uCisgICAgICAgICog
d3RmL01hdGhFeHRyYXMuaDogRGl0dG8uCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IERpdHRv
LgorICAgICAgICAqIHd0Zi9TdGRMaWJFeHRyYXMuaDogRGl0dG8uCisgICAgICAgICogd3RmL1Zl
Y3Rvci5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmg6IERpdHRv
LgorICAgICAgICAqIHd0Zi9Db21waWxlci5oOiAgRGl0dG8uIFJlcGxhY2VkICJDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpIiB3aXRoICJDT01QSUxFUihHQ0MpIHx8IENPTVBJTEVSKENMQU5HKSIgb2Yg
SUdOT1JFX1dBUk5JTkdTXyogbWFjcm9zLgorCiAyMDE4LTA5LTIwICBGdWppaSBIaXJvbm9yaSAg
PEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dW0NsYW5nXSBVTlVTRURf
UEFSQU0odGhpcykgY2F1c2VzIGNvbXBpbGF0aW9uIGVycm9yIG9mICJjYW5ub3QgdGFrZSB0aGUg
YWRkcmVzcyBvZiBhbiBydmFsdWUgb2YgdHlwZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5M2NmYTAyMGFhYTI3
OGFhZTdmMjAyODA4OWUzYWJhZThhNjE4NzgzLi5hZGI1MzgyMDA5NWEyODQzMjk3ZWI1YmFhNjA4
OWQxNjVmMWVjNDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMDktMjEgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgUmVuYW1l
IFdURl9DT01QSUxFUl9HQ0NfT1JfQ0xBTkcgdG8gV1RGX0NPTVBJTEVSX0dDQ19DT01QQVRJQkxF
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3MzMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE5vIGJlaGF2aW9yIGNoYW5nZSkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFTGlnaHRpbmcuaDoKKwogMjAxOC0wOS0yMCAgQmVuamFtaW4gUG91bGFpbiAg
PGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRvcHQgc2FmZS1hcmVhLWluc2V0cyBv
biBJbWFnZURvY3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggZDQ2OTA0MGRkZTNmOTg5ZWY0NTMxMjNmOTM0
ZDMyOWM2YzgzYzU5Yy4uNDVlYjJlNjJjMjAzNDQwYzZkNjdmNmE0MjFhMDg1NTI2YjUxZTA4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9ibWFsbG9j
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA5LTIxICBGdWppaSBIaXJvbm9yaSAg
PEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlbmFtZSBXVEZfQ09NUElMRVJf
R0NDX09SX0NMQU5HIHRvIFdURl9DT01QSUxFUl9HQ0NfQ09NUEFUSUJMRQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NzMzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBibWFsbG9jL0JDb21waWxlci5o
OgorCiAyMDE4LTA4LTI3ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCAtLSBkaXNhYmxlIExUTyBmb3IgcHJvZHVjdGlvbiBi
dWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRB
c3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJs
ZXIuaAppbmRleCAzYzk0NzhlNTE0MmIwZmE0NzVmM2VlNjFmODk2NjQ0ODUyMzk2NTc1Li4yMTY2
ZTg1OTRmYTg5ZWIxODBjZWExYzlhYmI4ZTkxMzNjZDg2MGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCkBAIC0yODUyLDcgKzI4NTIs
NyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBkZWJ1Z09mZnNldCgpIHsgcmV0dXJuIG1fYnVm
ZmVyLmRlYnVnT2Zmc2V0KCk7IH0KIAotI2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpCisjaWYgT1MoTElOVVgpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIHN0
YXRpYyBpbmxpbmUgdm9pZCBsaW51eFBhZ2VGbHVzaCh1aW50cHRyX3QgYmVnaW4sIHVpbnRwdHJf
dCBlbmQpCiAgICAgewogICAgICAgICBfX2J1aWx0aW5fX19jbGVhcl9jYWNoZShyZWludGVycHJl
dF9jYXN0PGNoYXIqPihiZWdpbiksIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGVuZCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggMzU1
NDgyMWI2MGZjMGU3NDRkN2YzM2QxY2JhZmQxMDI0NjVmMWYyNS4uNzNjZmJlZjI0NTQ0N2I2ODk1
ZDgzMmY3NTQ3ZWEzZjg5OWY2MzVhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBAIC0xMTY0LDcgKzExNjQsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgICAgIHJldHVybiBBTCB8IEIgfCAob2Zmc2V0ICYgQnJhbmNoT2Zmc2V0TWFz
ayk7CiAgICAgICAgIH0KIAotI2lmIE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcp
CisjaWYgT1MoTElOVVgpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgICAgICBzdGF0
aWMgaW5saW5lIHZvaWQgbGludXhQYWdlRmx1c2godWludHB0cl90IGJlZ2luLCB1aW50cHRyX3Qg
ZW5kKQogICAgICAgICB7CiAgICAgICAgICAgICBhc20gdm9sYXRpbGUoCkBAIC0xMTg0LDcgKzEx
ODQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNo
KHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQogICAgICAgICB7Ci0jaWYgT1MoTElOVVgpICYmIENP
TVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBPUyhMSU5VWCkgJiYgQ09NUElMRVIoR0NDX0NPTVBB
VElCTEUpCiAgICAgICAgICAgICBzaXplX3QgcGFnZSA9IHBhZ2VTaXplKCk7CiAgICAgICAgICAg
ICB1aW50cHRyX3QgY3VycmVudCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihjb2RlKTsK
ICAgICAgICAgICAgIHVpbnRwdHJfdCBlbmQgPSBjdXJyZW50ICsgc2l6ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKaW5k
ZXggYzZhM2FiODMyMDRjYTMzNjVhNmZjNGFjZTA0MjRkOWM2MmYxN2FlZC4uOTU3NGQ2YzM1ZjMz
MzA1NDVkOTYwYmM2M2NlZGFkYTUwN2QyZWYwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKQEAgLTYwLDcgKzYwLDcg
QEAgc3RhdGljIGJvb2wgaXNWRlBQcmVzZW50KCkKICAgICB9CiAjZW5kaWYgLy8gT1MoTElOVVgp
CiAKLSNpZiAoQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBkZWZpbmVkKF9fVkZQX0ZQX18pKQor
I2lmIChDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgZGVmaW5lZChfX1ZGUF9GUF9fKSkKICAg
ICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTAzLDcgKzEwMyw3
IEBAIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKCk7CiAKIHVzaW5nIG5h
bWVzcGFjZSBBUk1SZWdpc3RlcnM7CiAKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYg
Q09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNldHMg
Zm9yIFByb2JlOjpTdGF0ZSBmaWVsZHMgYWNjZXNzZWQKIC8vIGJ5IHRoZSBjdGlNYXNtUHJvYmVU
cmFtcG9saW5lIHN0dWIuCkBAIC00MjcsNyArNDI3LDcgQEAgYXNtICgKICAgICAibGRyICAgICAg
IHNwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIg
IlxuIgogICAgICJwb3AgICAgICAgeyBwYyB9IiAiXG4iCiApOwotI2VuZGlmIC8vIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogdm9p
ZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBh
cmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTTY0LmNwcAppbmRleCBlZGZiNDQyMjU3N2ZlZTFkMWZkOTA2YTg5ODQ5NTE1
MmMzMGY2ZGRkLi5jMmJlMDgzZGE3MjZlNTIzZTZkMjUyZmM2Y2M1NzEwNzdiNDUyYWMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk02NC5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUoKTsKIAogdXNpbmcgbmFtZXNwYWNlIEFSTTY0UmVnaXN0ZXJzOwogCi0jaWYg
Q09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiAv
LyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRzIGZvciBQcm9iZTo6U3RhdGUgZmllbGRzIGFjY2Vz
c2VkCiAvLyBieSB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBzdHViLgpAQCAtNTA5LDcgKzUw
OSw3IEBAIGFzbSAoCiAgICAgImxkcCAgICAgICB4MjksIHgzMCwgW3NwXSwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKDIgKiBQVFJfU0laRSkgIlxuIgogICAgICJyZXQiICJcbiIKICk7Ci0jZW5kaWYg
Ly8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKQogCiB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVuY3Rpb24gZnVuY3Rp
b24sIHZvaWQqIGFyZykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwCmluZGV4IDVmZGMwZmM3MjUwNzQzNjFmYzI2
YWVkOTQ1NzQ2ZDA5OGMzNGY5ZjkuLmNhMDUzYjQzOTg5ZjhiNDIzZmNiOTVjZmZjYzA0ZDNjOTRi
NjEzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk12Ny5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmNwcApAQCAtMzksNyArMzksNyBAQCBleHRlcm4gIkMiIHZvaWQg
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSgpOwogCiB1c2luZyBuYW1lc3BhY2UgQVJNUmVnaXN0ZXJz
OwogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKQogCiAvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRzIGZvciBQcm9iZTo6U3RhdGUgZmll
bGRzIGFjY2Vzc2VkCiAvLyBieSB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBzdHViLgpAQCAt
MzY1LDcgKzM2NSw3IEBAIGFzbSAoCiAgICAgImxkciAgICAgICBzcCwgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIKICAgICAicG9wICAgICAg
IHsgcGMgfSIgIlxuIgogKTsKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjZW5k
aWYgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAKIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnBy
b2JlKFByb2JlOjpGdW5jdGlvbiBmdW5jdGlvbiwgdm9pZCogYXJnKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCmlu
ZGV4IDA1OGM1YjY5MzU2ZGNhOTg0ZmRhOGIxNTRiNDRkOTg4MzkyYzRiNzEuLjYyNzg1NDgwMmEz
MmU3MTE3MWFkZmJjY2Y5YjBkMGEwZTY4ODEwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5jcHAKQEAgLTQwLDcgKzQw
LDcgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUoKTsKIAogdXNpbmcg
bmFtZXNwYWNlIE1JUFNSZWdpc3RlcnM7CiAKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisj
aWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNl
dHMgZm9yIFByb2JlOjpTdGF0ZSBmaWVsZHMgYWNjZXNzZWQKIC8vIGJ5IHRoZSBjdGlNYXNtUHJv
YmVUcmFtcG9saW5lIHN0dWIuCkBAIC01NTAsNyArNTUwLDcgQEAgYXNtICgKICAgICAibm9wIiAi
XG4iCiAgICAgIi5zZXQgcG9wIiAiXG4iCiApOwotI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogdm9pZCBNYWNyb0Fz
c2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwCmluZGV4IDQzYjg2MjUxNzE2NDMyMDJkMzA2MDM1NDM5ZjdkMzQ5
YWNkYzQ2MzguLjhiMTQ4Y2Y1OWU1ZTIyYjdjYWFiYjBmOTQxZjRjNjc5YjhhNzg0OWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwCkBAIC0xNzEsNyArMTcxLDcgQEAgc3RhdGljX2Fzc2VydCgoUFJP
QkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRSX1NJWkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUp
LCAiTXUKICN1bmRlZiBQUk9CRV9PRkZTRVRPRgogCiAjaWYgQ1BVKFg4NikKLSNpZiBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiBhc20gKAogICAg
ICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKICAg
ICBISURFX1NZTUJPTChjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4iCkBAIC01MTEsNyArNTEx
LDcgQEAgZXh0ZXJuICJDIiBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIGN0aU1hc21Qcm9iZVRyYW1w
b2xpbmUoKQogI2VuZGlmIC8vIENQVShYODYpCiAKICNpZiBDUFUoWDg2XzY0KQotI2lmIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIGFzbSAoCiAg
ICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgog
ICAgIEhJREVfU1lNQk9MKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKQEAgLTcwNSw3ICs3
MDUsNyBAQCBhc20gKAogICAgICJwb3BxICVyYnAiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwot
I2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0Nf
Q09NUEFUSUJMRSkKICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCiAvLyBXaGF0IGNvZGUgaXMgZW1p
dHRlZCBmb3IgdGhlIHByb2JlPwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcENlbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuY3Bw
CmluZGV4IGY0ZjMxZmUyY2RkYWRmNDBlN2RiMDE1MjFjMzIzNDMzZTgwYjczZDMuLjM4NmZjZDE4
ODY3ZWNkOTRjNjIzMWU1YWJkNmQ4N2I1NTQ2ZTRlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXBDZWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwQ2VsbC5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgYm9vbCBIZWFwQ2VsbDo6aXNMaXZl
KCkKICAgICByZXR1cm4gbWFya2VkQmxvY2tIYW5kbGUuaXNMaXZlKHRoaXMpOwogfQogCi0jaWYg
IUNPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiAhQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiB2
b2lkIEhlYXBDZWxsOjp1c2UoKSBjb25zdAogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hl
YXBDZWxsLmgKaW5kZXggZWI1OWU4YWU2M2ZlOWYzYjI2ZjQxNjgxMmY3MjYxYzQzNWNjN2ViMy4u
MDljYTQzM2YwNzczMWM5ZTQxMWJmY2Y5NDM5MTM4ZmJlODhiYTc5NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IZWFwQ2VsbC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBD
YWxsIHVzZSgpIGFmdGVyIHRoZSBsYXN0IHBvaW50IHdoZXJlIHlvdSBuZWVkIGB0aGlzYCBwb2lu
dGVyIHRvIGJlIGtlcHQgYWxpdmUuIFlvdSB1c3VhbGx5IGRvbid0CiAgICAgLy8gbmVlZCB0byB1
c2UgdGhpcywgYnV0IGl0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBpZiB5b3UncmUgb3RoZXJ3aXNlIHJl
ZmVycmluZyB0byBhbiBvYmplY3QncyBpbm5hcmRzCiAgICAgLy8gYnV0IG5vdCB0aGUgb2JqZWN0
IGl0c2VsZi4KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCiAgICAgdm9pZCB1c2UoKSBjb25zdAogICAgIHsKICAgICAgICAgYXNtIHZvbGF0
aWxlICgiIiA6IDogInIiKHRoaXMpIDogIm1lbW9yeSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaAppbmRleCA2MmViMmE1NjZiOTgxMDIwMjc3
MjNhMjcyNmFlZjQ3MjZhZWJkNmNlLi40NmNmZDA0ZTVlYTliMmZjODQ1M2M5MDdjM2FmYWUyOGNl
NTkyYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0
dXJuVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJu
VmFsdWUuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogZXh0ZXJuICJDIiBF
bmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKCkgUkVGRVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJOQUw7CiAKLSNpZiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAKIC8vIFRo
aXMgaXMgYSBwdWJsaWMgZGVjbGFyYXRpb24gb25seSB0byBjb252aW5jZSBDTEFORyBub3QgdG8g
ZWxpZGUgaXQuCiBleHRlcm4gIkMiIEVuY29kZWRKU1ZhbHVlIEhPU1RfQ0FMTF9SRVRVUk5fVkFM
VUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKEV4ZWNTdGF0ZSop
IFJFRkVSRU5DRURfRlJPTV9BU00gV1RGX0lOVEVSTkFMOwpAQCAtNDksMTEgKzQ5LDExIEBAIGlu
bGluZSB2b2lkIGluaXRpYWxpemVIb3N0Q2FsbFJldHVyblZhbHVlKCkKICAgICBnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSgwKTsKIH0KIAotI2Vsc2UgLy8gQ09NUElMRVIoR0ND
X09SX0NMQU5HKQorI2Vsc2UgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAKIGlubGluZSB2
b2lkIGluaXRpYWxpemVIb3N0Q2FsbFJldHVyblZhbHVlKCkgeyB9CiAKLSNlbmRpZiAvLyBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpCisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCA1OTNkNWJm
MzhiZTdmODZhMmVlMjc1Y2FjMmExODQ2YTk3NDUyNmM3Li5lOTJiZGY4OGRlNzQ3MzIyZGU5M2Uy
ZWRiNGVjMzdkMTY0MTBiZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTI5LDcgKzI5
LDcgQEAKIAogLy8gV2UndmUgcnVuIGludG8gc29tZSBwcm9ibGVtcyB3aGVyZSBjaGFuZ2luZyB0
aGUgc2l6ZSBvZiB0aGUgY2xhc3MgSklUIGxlYWRzIHRvCiAvLyBwZXJmb3JtYW5jZSBmbHVjdHVh
dGlvbnMuIFRyeSBmb3JjaW5nIGFsaWdubWVudCBpbiBhbiBhdHRlbXB0IHRvIHN0YWJpbGl6ZSB0
aGlzLgotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFU
SUJMRSkKICNkZWZpbmUgSklUX0NMQVNTX0FMSUdOTUVOVCBhbGlnbmFzKDMyKQogI2Vsc2UKICNk
ZWZpbmUgSklUX0NMQVNTX0FMSUdOTUVOVApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5jcHAKaW5kZXggYjJlYjQxOGNmZjg5ZDUyMzAyMmE2MWFkYjBiOGJlNGY2ODgw
MmU2Mi4uMThiMDU4Y2E0YjM1Yjk0Nzk1NGQwMTBjNTU4YjY2NDM3YzJmMDczYiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0yNDYyLDEwICsyNDYy
LDEwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25FeGNlcHRpb25GdXp6KEV4ZWNTdGF0
ZSogZXhlYykKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSgqdm0pOwogICAgIFVOVVNFRF9QQVJB
TShzY29wZSk7Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19D
T01QQVRJQkxFKQogICAgIHZvaWQqIHJldHVyblBDID0gX19idWlsdGluX3JldHVybl9hZGRyZXNz
KDApOwogICAgIGRvRXhjZXB0aW9uRnV6emluZyhleGVjLCBzY29wZSwgIkpJVE9wZXJhdGlvbnMi
LCByZXR1cm5QQyk7Ci0jZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2VuZGlmIC8v
IENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogfQogCiBBTFdBWVNfSU5MSU5FIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSB1bnByb2ZpbGVkQWRkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKQEAgLTI5MTgsNyArMjkxOCw3
IEBAIGV4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJ
T04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShl
eGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOwogfQogCi0jaWYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiBDUFUoWDg2XzY0KQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBD
UFUoWDg2XzY0KQogYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIK
QEAgLTI5MjcsNyArMjkyNyw3IEBAIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSkgIjoiICJcbiIKICAgICAiam1wICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmIENQVShYODYpCisjZWxpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgQ1BVKFg4
NikKIGFzbSAoCiAiLnRleHQiICJcbiIgXAogIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIlxuIgpAQCAtMjk0Myw3ICsyOTQzLDcgQEAgU1lNQk9MX1NUUklO
RyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgogICAgICJyZXRcbiIKICk7CiAKLSNl
bGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCisjZWxpZiBDT01Q
SUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgQ1BVKEFSTV9USFVNQjIpCiBhc20gKAogIi50ZXh0IiAi
XG4iCiAiLmFsaWduIDIiICJcbiIKQEAgLTI5NTYsNyArMjk1Niw3IEBAIFNZTUJPTF9TVFJJTkco
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5D
RShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYg
Q09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorI2VsaWYgQ09N
UElMRVIoR0NDX0NPTVBBVElCTEUpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCiBhc20gKAogIi50
ZXh0IiAiXG4iCiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCkBAIC0yOTc4LDcgKzI5NzgsNyBAQCBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICI6IiAiXG4iCiAgICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpICYmIENQVShNSVBTKQorI2VsaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYm
IENQVShNSVBTKQogCiAjaWYgV1RGX01JUFNfUElDCiAjZGVmaW5lIExPQURfRlVOQ1RJT05fVE9f
VDkoZnVuY3Rpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1
bmtHZW5lcmF0b3JzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0
b3JzLmNwcAppbmRleCBkZDVkODMwNTFlYzU3ODBhYjBiNjE4NmFjY2EwZGEzMDk2MTkxZDY1Li5m
ZWJkNWYyZTkzMzlmZDFlYjRkZjAyZWEzNmNmNTA1YWYxMGI3NTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCkBAIC03NzIsNyArNzcyLDcgQEAg
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBzcXJ0VGh1bmtHZW5lcmF0b3Io
Vk0qIHZtKQogZW51bSBNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbiB7IH07CiB0eXBlZGVmIE1h
dGhUaHVua0NhbGxpbmdDb252ZW50aW9uKCpNYXRoVGh1bmspKE1hdGhUaHVua0NhbGxpbmdDb252
ZW50aW9uKTsKIAotI2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYg
KE9TKERBUldJTikgfHwgT1MoTElOVVgpKQorI2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdD
Q19DT01QQVRJQkxFKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCiAKICNkZWZpbmUgZGVm
aW5lVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKQEAgLTc5MCw3
ICs3OTAsNyBAQCB0eXBlZGVmIE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKCpNYXRoVGh1bmsp
KE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uKTsKICAgICB9IFwKICAgICBzdGF0aWMgTWF0aFRo
dW5rIFVuYXJ5RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSA9ICZmdW5jdGlvbiMjVGh1bms7CiAK
LSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgT1MoTElOVVgpICYm
IGRlZmluZWQoX19QSUNfXykKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKSAmJiBPUyhMSU5VWCkgJiYgZGVmaW5lZChfX1BJQ19fKQogI2RlZmluZSBkZWZpbmVVbmFy
eURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgXAogICAgIGFzbSggXAogICAgICAgICAiLnRleHRc
biIgXApAQCAtODE0LDcgKzgxNCw3IEBAIHR5cGVkZWYgTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRp
b24oKk1hdGhUaHVuaykoTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24pOwogICAgIH0gXAogICAg
IHN0YXRpYyBNYXRoVGh1bmsgVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pID0gJmZ1bmN0
aW9uIyNUaHVuazsKIAotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAm
JiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihH
Q0NfQ09NUEFUSUJMRSkgJiYgKE9TKERBUldJTikgfHwgT1MoTElOVVgpKQogI2RlZmluZSBkZWZp
bmVVbmFyeURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgXAogICAgIGFzbSggXAogICAgICAgICAi
LnRleHRcbiIgXApAQCAtODM0LDcgKzgzNCw3IEBAIHR5cGVkZWYgTWF0aFRodW5rQ2FsbGluZ0Nv
bnZlbnRpb24oKk1hdGhUaHVuaykoTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24pOwogICAgIH0g
XAogICAgIHN0YXRpYyBNYXRoVGh1bmsgVW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pID0g
JmZ1bmN0aW9uIyNUaHVuazsKIAotI2VsaWYgQ1BVKEFSTV9USFVNQjIpICYmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykgJiYgUExBVEZPUk0oSU9TKQorI2VsaWYgQ1BVKEFSTV9USFVNQjIpICYmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBQTEFURk9STShJT1MpCiAKICNkZWZpbmUgZGVmaW5l
VW5hcnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pIFwKICAgICBhc20oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29udmVudGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb252ZW50aW9ucy5jcHAKaW5kZXggNjlh
NDc4OTAyOTQ1YjJkZWFmZDBlZmVkYTJmNDliNDJiZTA3NmI5ZS4uOTVhZDYzODdkYTgzNjc5Y2Ix
NzlhMTgxZTk0Mzg0NDg1Y2RmYzMwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlDb252ZW50aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlDb252ZW50aW9ucy5jcHAKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAjaWYgVVNFKEpTVkFMVUU2NCkKIHZvaWQgY2xlYXJBcnJheU1lbXNldChXcml0ZUJh
cnJpZXI8VW5rbm93bj4qIGJhc2UsIHVuc2lnbmVkIGNvdW50KQogewotI2lmIENQVShYODZfNjQp
ICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDUFUoWDg2XzY0KSAmJiBDT01QSUxFUihH
Q0NfQ09NUEFUSUJMRSkKICAgICB1aW50NjRfdCB6ZXJvID0gMDsKICAgICBhc20gdm9sYXRpbGUg
KAogICAgICAgICAicmVwIHN0b3NxXG5cdCIKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBjbGVhckFy
cmF5TWVtc2V0KFdyaXRlQmFycmllcjxVbmtub3duPiogYmFzZSwgdW5zaWduZWQgY291bnQpCiAK
IHZvaWQgY2xlYXJBcnJheU1lbXNldChkb3VibGUqIGJhc2UsIHVuc2lnbmVkIGNvdW50KQogewot
I2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDUFUoWDg2XzY0
KSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICB1aW50NjRfdCBwbmFuID0gYml0d2lz
ZV9jYXN0PHVpbnQ2NF90PihQTmFOKTsKICAgICBhc20gdm9sYXRpbGUgKAogICAgICAgICAicmVw
IHN0b3NxXG5cdCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QmlnSW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcApp
bmRleCBiYTM1NWJkNzQzYTNlODc2NDgwOWE4ZjI3ZDM5ZWVhNGI2OWU2YTNmLi5kYTUyOWQzYzY0
Y2Q0NzM3NDQyYzU2ODVjY2E3Y2MzMTI2NGQ5ZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNCaWdJbnQuY3BwCkBAIC00NjgsNyArNDY4LDcgQEAgaW5saW5lIEpTQmlnSW50
OjpEaWdpdCBKU0JpZ0ludDo6ZGlnaXRQb3coRGlnaXQgYmFzZSwgRGlnaXQgZXhwb25lbnQpCiBp
bmxpbmUgSlNCaWdJbnQ6OkRpZ2l0IEpTQmlnSW50OjpkaWdpdERpdihEaWdpdCBoaWdoLCBEaWdp
dCBsb3csIERpZ2l0IGRpdmlzb3IsIERpZ2l0JiByZW1haW5kZXIpCiB7CiAgICAgQVNTRVJUKGhp
Z2ggPCBkaXZpc29yKTsKLSNpZiBDUFUoWDg2XzY0KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcp
CisjaWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgRGlnaXQg
cXVvdGllbnQ7CiAgICAgRGlnaXQgcmVtOwogICAgIF9fYXNtX18oImRpdnEgICVbZGl2aXNvcl0i
CkBAIC00NzksNyArNDc5LDcgQEAgaW5saW5lIEpTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGln
aXREaXYoRGlnaXQgaGlnaCwgRGlnaXQgbG93LCBEaWdpdCBkaXZpc29yLAogICAgICAgICA6ICJk
IihoaWdoKSwgImEiKGxvdyksIFtkaXZpc29yXSAicm0iKGRpdmlzb3IpKTsKICAgICByZW1haW5k
ZXIgPSByZW07CiAgICAgcmV0dXJuIHF1b3RpZW50OwotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKQorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElC
TEUpCiAgICAgRGlnaXQgcXVvdGllbnQ7CiAgICAgRGlnaXQgcmVtOwogICAgIF9fYXNtX18oImRp
dmwgICVbZGl2aXNvcl0iCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCmluZGV4IDJiOTQ2MGFhNjdlZWI3Yjky
YTkzZjc0Y2ZiNTYxMTJhNDc0Mjg4MDAuLjRkYmUxODQ1NWQ1ZGMzMGYxNzJhMDA1ZTUzMGE5ZmNj
M2Q0ZDk0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCkBAIC0yNTQsMTEgKzI1NCwxMSBAQCB2b2lk
IFdURkNyYXNoKCkKICNlbHNlCiAgICAgKihpbnQgKikodWludHB0cl90KTB4YmJhZGJlZWYgPSAw
OwogICAgIC8vIE1vcmUgcmVsaWFibGUsIGJ1dCBkb2Vzbid0IHNheSBCQkFEQkVFRi4KLSNpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAg
X19idWlsdGluX3RyYXAoKTsKICNlbHNlCiAgICAgKCh2b2lkKCopKCkpMCkoKTsKLSNlbmRpZiAv
LyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElC
TEUpCiAjZW5kaWYgLy8gQVNBTl9FTkFCTEVECiB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCmluZGV4
IGY1NjdhMjIxNmZlNGM2Nzc2ZTkyNjBhMmU5NWUwZGRkNjRkNDE0YjQuLmY3ODI1MTM4NjU1YzI2
MGY1MmU3ZGE0ZDRhMzg3MGE4MzkzODEwNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fz
c2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTU1LDcgKzU1
LDcgQEAKICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KIAogI2lmIE9TKFdJTkRPV1MpCi0jaWYgIUNP
TVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiAhQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiBleHRl
cm4gIkMiIHZvaWQgX1JlYWRXcml0ZUJhcnJpZXIodm9pZCk7CiAjcHJhZ21hIGludHJpbnNpYyhf
UmVhZFdyaXRlQmFycmllcikKICNlbmRpZgpAQCAtMTAyLDcgKzEwMiw3IEBAIGV4dGVybiAiQyIg
dm9pZCBfUmVhZFdyaXRlQmFycmllcih2b2lkKTsKICNkZWZpbmUgUkVMRUFTRV9MT0dfRElTQUJM
RUQgIShVU0UoT1NfTE9HKSkKICNlbmRpZgogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQor
I2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBXVEZfUFJFVFRZX0ZVTkNUSU9O
IF9fUFJFVFRZX0ZVTkNUSU9OX18KICNlbHNlCiAjZGVmaW5lIFdURl9QUkVUVFlfRlVOQ1RJT04g
X19GVU5DVElPTl9fCkBAIC0xMTEsNyArMTExLDcgQEAgZXh0ZXJuICJDIiB2b2lkIF9SZWFkV3Jp
dGVCYXJyaWVyKHZvaWQpOwogI2lmIENPTVBJTEVSKE1JTkdXKQogLyogQnkgZGVmYXVsdCBNaW5H
VyBlbWl0cyB3YXJuaW5ncyB3aGVuIEM5OSBmb3JtYXQgYXR0cmlidXRlcyBhcmUgdXNlZCwgZXZl
biBpZiBfX1VTRV9NSU5HV19BTlNJX1NURElPIGlzIGRlZmluZWQgKi8KICNkZWZpbmUgV1RGX0FU
VFJJQlVURV9QUklOVEYoZm9ybWF0U3RyaW5nQXJndW1lbnQsIGV4dHJhQXJndW1lbnRzKSBfX2F0
dHJpYnV0ZV9fKChfX2Zvcm1hdF9fKGdudV9wcmludGYsIGZvcm1hdFN0cmluZ0FyZ3VtZW50LCBl
eHRyYUFyZ3VtZW50cykpKQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAhZGVmaW5l
ZChfX09CSkNfXykKKyNlbGlmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiAhZGVmaW5lZChf
X09CSkNfXykKIC8qIFdURiBsb2dnaW5nIGZ1bmN0aW9ucyBjYW4gcHJvY2VzcyAlQCBpbiB0aGUg
Zm9ybWF0IHN0cmluZyB0byBsb2cgYSBOU09iamVjdCogYnV0IHRoZSBwcmludGYgZm9ybWF0IGF0
dHJpYnV0ZQogICAgZW1pdHMgYSB3YXJuaW5nIHdoZW4gJUAgaXMgdXNlZCBpbiB0aGUgZm9ybWF0
IHN0cmluZy4gIFVudGlsIDxyZGFyOi8vcHJvYmxlbS81MTk1NDM3PiBpcyByZXNvbHZlZCB3ZSBj
YW4ndCBpbmNsdWRlCiAgICB0aGUgYXR0cmlidXRlIHdoZW4gYmVpbmcgdXNlZCBmcm9tIE9iamVj
dGl2ZS1DIGNvZGUgaW4gY2FzZSBpdCBkZWNpZGVzIHRvIHVzZSAlQC4gKi8KQEAgLTE0MSw3ICsx
NDEsNyBAQCBleHRlcm4gIkMiIHsKIAogICAgU2lnbmFscyBhcmUgaWdub3JlZCBieSB0aGUgY3Jh
c2ggcmVwb3J0ZXIgb24gT1MgWCBzbyB3ZSBtdXN0IGRvIGJldHRlci4KICovCi0jaWYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKSB8fCBDT01QSUxFUihNU1ZDKQorI2lmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKSB8fCBDT01QSUxFUihNU1ZDKQogI2RlZmluZSBOT19SRVRVUk5fRFVFX1RPX0NSQVNI
IE5PX1JFVFVSTgogI2Vsc2UKICNkZWZpbmUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSApAQCAtNTY0
LDcgKzU2NCw3IEBAIHZvaWQgaXNJbnRlZ3JhbFR5cGUoVCwgVHlwZXMuLi4gdHlwZXMpCiAKIGlu
bGluZSB2b2lkIGNvbXBpbGVyRmVuY2VGb3JDcmFzaCgpCiB7Ci0jaWYgT1MoV0lORE9XUykgJiYg
IUNPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElMRVIoR0ND
X0NPTVBBVElCTEUpCiAgICAgX1JlYWRXcml0ZUJhcnJpZXIoKTsKICNlbHNlCiAgICAgYXNtIHZv
bGF0aWxlKCIiIDo6OiAibWVtb3J5Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BdG9t
aWNzLmggYi9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKaW5kZXggNmQ3NWYyYWVkMzFlNWYxMDU0
Mzk1ZmJkYmNlNjMwMzJhYTQzZmRkOC4uNjFmZmQ0ODlhODMwZjdmOWY4NWM3OTZmYjkwMmEzNWYw
MDAzNTJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0F0b21pY3MuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KIAogI2lmIE9TKFdJTkRPV1MpCi0jaWYgIUNPTVBJTEVSKEdDQ19PUl9DTEFO
RykKKyNpZiAhQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiBleHRlcm4gIkMiIHZvaWQgX1JlYWRX
cml0ZUJhcnJpZXIodm9pZCk7CiAjcHJhZ21hIGludHJpbnNpYyhfUmVhZFdyaXRlQmFycmllcikK
ICNlbmRpZgpAQCAtMjQyLDcgKzI0Miw3IEBAIGlubGluZSBUIGF0b21pY0V4Y2hhbmdlKFQqIGxv
Y2F0aW9uLCBUIG5ld1ZhbHVlLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlciA9IHN0ZDo6CiAvLyB0
byBkbyB0aGluZ3MgbGlrZSByZWdpc3RlciBhbGxvY2F0aW9uIGFuZCBjb2RlIG1vdGlvbiBvdmVy
IHB1cmUgb3BlcmF0aW9ucy4KIGlubGluZSB2b2lkIGNvbXBpbGVyRmVuY2UoKQogewotI2lmIE9T
KFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgT1MoV0lORE9XUykgJiYg
IUNPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIF9SZWFkV3JpdGVCYXJyaWVyKCk7CiAjZWxz
ZQogICAgIGFzbSB2b2xhdGlsZSgiIiA6OjogIm1lbW9yeSIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaCBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0
aG1ldGljLmgKaW5kZXggZTY2OGJmOGE4MzY0YzY5NTllMTQ2MDg0ZTc3ZGQ2NGQ1YWYyNjk4Ny4u
YjkzZTM2MzFlOTdhNWMzYmY5Y2VhZDUxY2Q1ZWQxNWViZDRhYTg2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DaGVj
a2VkQXJpdGhtZXRpYy5oCkBAIC0yNzAsNyArMjcwLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExI
UywgdHlwZW5hbWUgUkhTLCB0eXBlbmFtZSBSZXN1bHRUeXBlPiBzdHJ1Y3QgQXJpdGhtZXRpY09w
ZXIKIAogICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBhZGQoTEhTIGxocywgUkhTIHJocywgUmVzdWx0
VHlwZSYgcmVzdWx0KSBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICB7Ci0jaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgICAgICBSZXN1bHRU
eXBlIHRlbXA7CiAgICAgICAgIGlmIChfX2J1aWx0aW5fYWRkX292ZXJmbG93KGxocywgcmhzLCAm
dGVtcCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yOTQsNyArMjk0LDcgQEAgdGVt
cGxhdGUgPHR5cGVuYW1lIExIUywgdHlwZW5hbWUgUkhTLCB0eXBlbmFtZSBSZXN1bHRUeXBlPiBz
dHJ1Y3QgQXJpdGhtZXRpY09wZXIKIAogICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBzdWIoTEhTIGxo
cywgUkhTIHJocywgUmVzdWx0VHlwZSYgcmVzdWx0KSBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICB7
Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxF
KQogICAgICAgICBSZXN1bHRUeXBlIHRlbXA7CiAgICAgICAgIGlmIChfX2J1aWx0aW5fc3ViX292
ZXJmbG93KGxocywgcmhzLCAmdGVtcCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0z
MTcsNyArMzE3LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExIUywgdHlwZW5hbWUgUkhTLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPiBzdHJ1Y3QgQXJpdGhtZXRpY09wZXIKIAogICAgIHN0YXRpYyBpbmxp
bmUgYm9vbCBtdWx0aXBseShMSFMgbGhzLCBSSFMgcmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpIFdB
Uk5fVU5VU0VEX1JFVFVSTgogICAgIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYg
Q09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgIFJlc3VsdFR5cGUgdGVtcDsKICAgICAg
ICAgaWYgKF9fYnVpbHRpbl9tdWxfb3ZlcmZsb3cobGhzLCByaHMsICZ0ZW1wKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTM1Niw3ICszNTYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TEhTLCB0eXBlbmFtZSBSSFMsIHR5cGVuYW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGlj
T3BlcgogICAgIC8vIExIUyBhbmQgUkhTIGFyZSB1bnNpZ25lZCB0eXBlcyBzbyBib3VuZHMgY2hl
Y2tzIGFyZSBuaWNlIGFuZCBlYXN5CiAgICAgc3RhdGljIGlubGluZSBib29sIGFkZChMSFMgbGhz
LCBSSFMgcmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpIFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIHsK
LSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUp
CiAgICAgICAgIFJlc3VsdFR5cGUgdGVtcDsKICAgICAgICAgaWYgKF9fYnVpbHRpbl9hZGRfb3Zl
cmZsb3cobGhzLCByaHMsICZ0ZW1wKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM3
Myw3ICszNzMsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTEhTLCB0eXBlbmFtZSBSSFMsIHR5cGVu
YW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3BlcgogCiAgICAgc3RhdGljIGlubGlu
ZSBib29sIHN1YihMSFMgbGhzLCBSSFMgcmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpIFdBUk5fVU5V
U0VEX1JFVFVSTgogICAgIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElM
RVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgIFJlc3VsdFR5cGUgdGVtcDsKICAgICAgICAgaWYg
KF9fYnVpbHRpbl9zdWJfb3ZlcmZsb3cobGhzLCByaHMsICZ0ZW1wKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTM5MCw3ICszOTAsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTEhTLCB0
eXBlbmFtZSBSSFMsIHR5cGVuYW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3Blcgog
CiAgICAgc3RhdGljIGlubGluZSBib29sIG11bHRpcGx5KExIUyBsaHMsIFJIUyByaHMsIFJlc3Vs
dFR5cGUmIHJlc3VsdCkgV0FSTl9VTlVTRURfUkVUVVJOCiAgICAgewotI2lmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICAgICAgUmVzdWx0
VHlwZSB0ZW1wOwogICAgICAgICBpZiAoX19idWlsdGluX211bF9vdmVyZmxvdyhsaHMsIHJocywg
JnRlbXApKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDE1LDcgKzQxNSw3IEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBMSFMsIHR5cGVuYW1lIFJIUywgdHlwZW5hbWUgUmVzdWx0VHlwZT4g
c3RydWN0IEFyaXRobWV0aWNPcGVyCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlwZT4gc3Ry
dWN0IEFyaXRobWV0aWNPcGVyYXRpb25zPGludCwgdW5zaWduZWQsIFJlc3VsdFR5cGUsIHRydWUs
IGZhbHNlPiB7CiAgICAgc3RhdGljIGlubGluZSBib29sIGFkZChpbnQ2NF90IGxocywgaW50NjRf
dCByaHMsIFJlc3VsdFR5cGUmIHJlc3VsdCkKICAgICB7Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgICAgICBSZXN1bHRUeXBlIHRl
bXA7CiAgICAgICAgIGlmIChfX2J1aWx0aW5fYWRkX292ZXJmbG93KGxocywgcmhzLCAmdGVtcCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MzQsNyArNDM0LDcgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3BlcmF0aW9uczxpbnQsIHVu
c2lnbmVkLCBSZXN1bHQKICAgICAKICAgICBzdGF0aWMgaW5saW5lIGJvb2wgc3ViKGludDY0X3Qg
bGhzLCBpbnQ2NF90IHJocywgUmVzdWx0VHlwZSYgcmVzdWx0KQogICAgIHsKLSNpZiBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgIFJl
c3VsdFR5cGUgdGVtcDsKICAgICAgICAgaWYgKF9fYnVpbHRpbl9zdWJfb3ZlcmZsb3cobGhzLCBy
aHMsICZ0ZW1wKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQ1Myw3ICs0NTMsNyBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgUmVzdWx0VHlwZT4gc3RydWN0IEFyaXRobWV0aWNPcGVyYXRp
b25zPGludCwgdW5zaWduZWQsIFJlc3VsdAogCiAgICAgc3RhdGljIGlubGluZSBib29sIG11bHRp
cGx5KGludDY0X3QgbGhzLCBpbnQ2NF90IHJocywgUmVzdWx0VHlwZSYgcmVzdWx0KQogICAgIHsK
LSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUp
CiAgICAgICAgIFJlc3VsdFR5cGUgdGVtcDsKICAgICAgICAgaWYgKF9fYnVpbHRpbl9tdWxfb3Zl
cmZsb3cobGhzLCByaHMsICZ0ZW1wKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxl
ci5oCmluZGV4IDkwY2U0ODIyOWMyNTlkN2M4ZWRlOWFjODJjMDJkN2VjNGY4ZjZlN2YuLmNlMTY0
ZjRjNGIyZWZkOTE5NmQ2NjA5MDc5MTQ2ZDcyMTQyMmExMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0NvbXBpbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtODEs
MTQgKzgxLDE0IEBACiAKICNlbmRpZiAvLyBkZWZpbmVkKF9fY2xhbmdfXykKIAotLyogQ09NUElM
RVIoR0NDX09SX0NMQU5HKSAtIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIG9yIENsYW5nICovCisv
KiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiBvciBj
b21wYXRpYmxlcyAqLwogI2lmIGRlZmluZWQoX19HTlVDX18pCi0jZGVmaW5lIFdURl9DT01QSUxF
Ul9HQ0NfT1JfQ0xBTkcgMQorI2RlZmluZSBXVEZfQ09NUElMRVJfR0NDX0NPTVBBVElCTEUgMQog
I2VuZGlmCiAKIC8qIENPTVBJTEVSKEdDQykgLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAqLwog
LyogTm90ZTogVGhpcyBzZWN0aW9uIG11c3QgY29tZSBhZnRlciB0aGUgQ2xhbmcgc2VjdGlvbiBz
aW5jZSB3ZSBjaGVjayAhQ09NUElMRVIoQ0xBTkcpIGhlcmUuICovCi0jaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKSAmJiAhQ09NUElMRVIoQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElC
TEUpICYmICFDT01QSUxFUihDTEFORykKICNkZWZpbmUgV1RGX0NPTVBJTEVSX0dDQyAxCiAKICNk
ZWZpbmUgR0NDX1ZFUlNJT04gKF9fR05VQ19fICogMTAwMDAgKyBfX0dOVUNfTUlOT1JfXyAqIDEw
MCArIF9fR05VQ19QQVRDSExFVkVMX18pCkBAIC0xMDAsNyArMTAwLDcgQEAKIAogI2VuZGlmIC8q
IENPTVBJTEVSKEdDQykgKi8KIAotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgZGVmaW5l
ZChOREVCVUcpICYmICFkZWZpbmVkKF9fT1BUSU1JWkVfXykgJiYgIWRlZmluZWQoUkVMRUFTRV9X
SVRIT1VUX09QVElNSVpBVElPTlMpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmIGRl
ZmluZWQoTkRFQlVHKSAmJiAhZGVmaW5lZChfX09QVElNSVpFX18pICYmICFkZWZpbmVkKFJFTEVB
U0VfV0lUSE9VVF9PUFRJTUlaQVRJT05TKQogI2Vycm9yICJCdWlsZGluZyByZWxlYXNlIHdpdGhv
dXQgY29tcGlsZXIgb3B0aW1pemF0aW9uczogV2ViS2l0IHdpbGwgYmUgc2xvdy4gU2V0IC1EUkVM
RUFTRV9XSVRIT1VUX09QVElNSVpBVElPTlMgaWYgdGhpcyBpcyBpbnRlbmRlZC4iCiAjZW5kaWYK
IApAQCAtMTYzLDcgKzE2Myw3IEBACiAKIC8qIEluIEdDQyBmdW5jdGlvbnMgbWFya2VkIHdpdGgg
bm9fc2FuaXRpemVfYWRkcmVzcyBjYW5ub3QgY2FsbCBmdW5jdGlvbnMgdGhhdCBhcmUgbWFya2Vk
IHdpdGggYWx3YXlzX2lubGluZSBhbmQgbm90IG1hcmtlZCB3aXRoIG5vX3Nhbml0aXplX2FkZHJl
c3MuCiAgKiBUaGVyZWZvcmUgd2UgbmVlZCB0byBnaXZlIHVwIG9uIHRoZSBlbmZvcmNlbWVudCBv
ZiBBTFdBWVNfSU5MSU5FIHdoZW4gYnVsZGluZyB3aXRoIEFTQU4uIGh0dHBzOi8vZ2NjLmdudS5v
cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY3MzY4ICovCi0jaWYgIWRlZmluZWQoQUxXQVlT
X0lOTElORSkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBkZWZpbmVkKE5ERUJVRykgJiYg
IUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYgQVNBTl9FTkFCTEVEKQorI2lm
ICFkZWZpbmVkKEFMV0FZU19JTkxJTkUpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBk
ZWZpbmVkKE5ERUJVRykgJiYgIUNPTVBJTEVSKE1JTkdXKSAmJiAhKENPTVBJTEVSKEdDQykgJiYg
QVNBTl9FTkFCTEVEKQogI2RlZmluZSBBTFdBWVNfSU5MSU5FIGlubGluZSBfX2F0dHJpYnV0ZV9f
KChfX2Fsd2F5c19pbmxpbmVfXykpCiAjZW5kaWYKIApAQCAtMjE5LDcgKzIxOSw3IEBACiAKIC8q
IExJS0VMWSAqLwogCi0jaWYgIWRlZmluZWQoTElLRUxZKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgIWRlZmluZWQoTElLRUxZKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNk
ZWZpbmUgTElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAjZW5kaWYKIApAQCAt
MjI5LDcgKzIyOSw3IEBACiAKIC8qIE5FVkVSX0lOTElORSAqLwogCi0jaWYgIWRlZmluZWQoTkVW
RVJfSU5MSU5FKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgIWRlZmluZWQoTkVWRVJf
SU5MSU5FKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNkZWZpbmUgTkVWRVJfSU5MSU5F
IF9fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpCiAjZW5kaWYKIApAQCAtMjQzLDcgKzI0Myw3
IEBACiAKIC8qIE5PX1JFVFVSTiAqLwogCi0jaWYgIWRlZmluZWQoTk9fUkVUVVJOKSAmJiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgIWRlZmluZWQoTk9fUkVUVVJOKSAmJiBDT01QSUxFUihH
Q0NfQ09NUEFUSUJMRSkKICNkZWZpbmUgTk9fUkVUVVJOIF9fYXR0cmlidXRlKChfX25vcmV0dXJu
X18pKQogI2VuZGlmCiAKQEAgLTI2OCw3ICsyNjgsNyBAQAogI2VuZGlmCiAKIC8qIFJFVFVSTlNf
Tk9OTlVMTCAqLwotI2lmICFkZWZpbmVkKFJFVFVSTlNfTk9OTlVMTCkgJiYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQorI2lmICFkZWZpbmVkKFJFVFVSTlNfTk9OTlVMTCkgJiYgQ09NUElMRVIoR0ND
X0NPTVBBVElCTEUpCiAjZGVmaW5lIFJFVFVSTlNfTk9OTlVMTCBfX2F0dHJpYnV0ZV9fKChyZXR1
cm5zX25vbm51bGwpKQogI2VuZGlmCiAKQEAgLTMxMCw3ICszMTAsNyBAQAogCiAvKiBQVVJFX0ZV
TkNUSU9OICovCiAKLSNpZiAhZGVmaW5lZChQVVJFX0ZVTkNUSU9OKSAmJiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCisjaWYgIWRlZmluZWQoUFVSRV9GVU5DVElPTikgJiYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCiAjZGVmaW5lIFBVUkVfRlVOQ1RJT04gX19hdHRyaWJ1dGVfXygoX19wdXJlX18p
KQogI2VuZGlmCiAKQEAgLTMyMCw3ICszMjAsNyBAQAogCiAvKiBVTlVTRURfRlVOQ1RJT04gKi8K
IAotI2lmICFkZWZpbmVkKFVOVVNFRF9GVU5DVElPTikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KQorI2lmICFkZWZpbmVkKFVOVVNFRF9GVU5DVElPTikgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElC
TEUpCiAjZGVmaW5lIFVOVVNFRF9GVU5DVElPTiBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQogI2Vu
ZGlmCiAKQEAgLTMzMCw3ICszMzAsNyBAQAogCiAvKiBSRUZFUkVOQ0VEX0ZST01fQVNNICovCiAK
LSNpZiAhZGVmaW5lZChSRUZFUkVOQ0VEX0ZST01fQVNNKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgIWRlZmluZWQoUkVGRVJFTkNFRF9GUk9NX0FTTSkgJiYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCiAjZGVmaW5lIFJFRkVSRU5DRURfRlJPTV9BU00gX19hdHRyaWJ1dGVfXygoX191
c2VkX18pKQogI2VuZGlmCiAKQEAgLTM0MCw3ICszNDAsNyBAQAogCiAvKiBVTkxJS0VMWSAqLwog
Ci0jaWYgIWRlZmluZWQoVU5MSUtFTFkpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiAh
ZGVmaW5lZChVTkxJS0VMWSkgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAjZGVmaW5lIFVO
TElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAjZW5kaWYKIApAQCAtMzY5LDcg
KzM2OSw3IEBACiAKIC8qIFdBUk5fVU5VU0VEX1JFVFVSTiAqLwogCi0jaWYgIWRlZmluZWQoV0FS
Tl9VTlVTRURfUkVUVVJOKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgIWRlZmluZWQo
V0FSTl9VTlVTRURfUkVUVVJOKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNkZWZpbmUg
V0FSTl9VTlVTRURfUkVUVVJOIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18p
KQogI2VuZGlmCiAKQEAgLTM5Miw3ICszOTIsNyBAQAogCiAjZGVmaW5lIF9DT01QSUxFUl9XQVJO
SU5HX05BTUUod2FybmluZykgIi1XIiB3YXJuaW5nCiAKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihDTEFORykKICNkZWZpbmUgSUdOT1JF
X1dBUk5JTkdTX0JFR0lOX0NPTkQoY29uZCwgY29tcGlsZXIsIHdhcm5pbmcpIFwKICAgICBfUHJh
Z21hKF9DT01QSUxFUl9TVFJJTkdJWkUoY29tcGlsZXIgZGlhZ25vc3RpYyBwdXNoKSkgXAogICAg
IF9DT01QSUxFUl9DT05DQVQoSUdOT1JFX1dBUk5JTkdTX0JFR0lOX0lNUExfLCBjb25kKShjb21w
aWxlciwgd2FybmluZykKQEAgLTQxNSw3ICs0MTUsNyBAQAogI2RlZmluZSBJR05PUkVfV0FSTklO
R1NfQkVHSU5fSU1QTChjb21waWxlciwgd2FybmluZykgXAogICAgIF9JR05PUkVfV0FSTklOR1Nf
QkVHSU5fSU1QTChjb21waWxlciwgX0NPTVBJTEVSX1dBUk5JTkdfTkFNRSh3YXJuaW5nKSkKIAot
I2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0Mp
IHx8IENPTVBJTEVSKENMQU5HKQogCiAKICNpZiBDT01QSUxFUihHQ0MpCkBAIC00MzQsNyArNDM0
LDcgQEAKICNkZWZpbmUgSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0VORAogI2VuZGlmCiAKLSNpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihDTEFO
RykKICNkZWZpbmUgSUdOT1JFX1dBUk5JTkdTX0JFR0lOKHdhcm5pbmcpIElHTk9SRV9XQVJOSU5H
U19CRUdJTl9JTVBMKEdDQywgd2FybmluZykKICNkZWZpbmUgSUdOT1JFX1dBUk5JTkdTX0VORCBJ
R05PUkVfV0FSTklOR1NfRU5EX0lNUEwoR0NDKQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL0Zhc3RNYWxsb2MuaCBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaAppbmRleCA5
ZDdkN2ZmYTZjZDdlMTNlZWE4MjU1YjI4MGM0YWQwODkyYzM0M2ZjLi5hMzBlMjVhMzAyYjNiZWQ4
MmE5YWI2MzBjZjg3YThkNzUwNWYxNjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0
TWFsbG9jLmgKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5oCkBAIC0yNTAsOSArMjUw
LDkgQEAgdXNpbmcgV1RGOjp0cnlGYXN0WmVyb2VkTWFsbG9jOwogdXNpbmcgV1RGOjpmYXN0QWxp
Z25lZE1hbGxvYzsKIHVzaW5nIFdURjo6ZmFzdEFsaWduZWRGcmVlOwogCi0jaWYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKSAmJiBPUyhEQVJXSU4pCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUp
ICYmIE9TKERBUldJTikKICNkZWZpbmUgV1RGX1BSSVZBVEVfSU5MSU5FIF9fcHJpdmF0ZV9leHRl
cm5fXyBpbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpCi0jZWxpZiBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpCisjZWxpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNkZWZpbmUg
V1RGX1BSSVZBVEVfSU5MSU5FIGlubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkK
ICNlbGlmIENPTVBJTEVSKE1TVkMpCiAjZGVmaW5lIFdURl9QUklWQVRFX0lOTElORSBfX2ZvcmNl
aW5saW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKaW5kZXggNTEyYzE2MGM3MjFhNTc2ZGE2M2VhOTY4NzkzZDli
N2EyZThmNTJmYS4uOTExODExMmJmMTY4OGNkYzhmZGIzNGU3NmViYTkxZDE3YjgwMTNiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaApAQCAtNTI2LDcgKzUyNiw3IEBAIHZvaWQgc2h1ZmZsZVZlY3RvcihWZWN0
b3JUeXBlJiB2ZWN0b3IsIGNvbnN0IFJhbmRvbUZ1bmMmIHJhbmRvbUZ1bmMpCiAKIGlubGluZSB1
bnNpZ25lZCBjbHozMih1aW50MzJfdCBudW1iZXIpCiB7Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIGlmIChudW1iZXIpCiAgICAg
ICAgIHJldHVybiBfX2J1aWx0aW5fY2x6KG51bWJlcik7CiAgICAgcmV0dXJuIDMyOwpAQCAtNTUx
LDcgKzU1MSw3IEBAIGlubGluZSB1bnNpZ25lZCBjbHozMih1aW50MzJfdCBudW1iZXIpCiAKIGlu
bGluZSB1bnNpZ25lZCBjbHo2NCh1aW50NjRfdCBudW1iZXIpCiB7Ci0jaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIGlmIChudW1iZXIp
CiAgICAgICAgIHJldHVybiBfX2J1aWx0aW5fY2x6bGwobnVtYmVyKTsKICAgICByZXR1cm4gNjQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAppbmRleCBlNTY5Y2RjNTYzODk3MmYyY2FhMTQzOWE2YmIzNjIxOGZmOWYzNzRi
Li4xZjY4ODY2NjQ1MWZkYTE0NTIzMjgxMzRlODVhMjhlNGM2MTlmMDk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
QEAgLTMyNyw3ICszMjcsNyBAQAogI2RlZmluZSBXVEZfQ1BVX05FRURTX0FMSUdORURfQUNDRVNT
IDEKICNlbmRpZgogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdD
Q19DT01QQVRJQkxFKQogLyogX19MUDY0X18gaXMgbm90IGRlZmluZWQgb24gNjRiaXQgV2luZG93
cyBzaW5jZSBpdCB1c2VzIExMUDY0LiBVc2luZyBfX1NJWkVPRl9QT0lOVEVSX18gaXMgc2ltcGxl
ci4gKi8KICNpZiBfX1NJWkVPRl9QT0lOVEVSX18gPT0gOAogI2RlZmluZSBXVEZfQ1BVX0FERFJF
U1M2NCAxCkBAIC00MzcsNyArNDM3LDcgQEAKIAogLyogQ1BVKEJJR19FTkRJQU4pIG9yIENQVShN
SURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0ZS4gKi8KIAotI2lmIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNpZiBfX0JZ
VEVfT1JERVJfXyA9PSBfX09SREVSX0JJR19FTkRJQU5fXwogI2RlZmluZSBXVEZfQ1BVX0JJR19F
TkRJQU4gMQogI2VsaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18K
QEAgLTkwMyw3ICs5MDMsNyBAQAogLyogQ29uZmlndXJlIHRoZSBKSVQgKi8KICNpZiBDUFUoWDg2
KSAmJiBDT01QSUxFUihNU1ZDKQogI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNl
bGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbGlmIENQVShYODYpICYm
IENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmli
dXRlX18gKChmYXN0Y2FsbCkpCiAjZWxzZQogI2RlZmluZSBKU0NfSE9TVF9DQUxMCkBAIC05NDIs
NyArOTQyLDcgQEAKICNlbmRpZgogCiAvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0j
aWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQog
I2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgK
aW5kZXggODg5MmZmNjMzOTY3OGIwZDc2YTRmNDhhZjJhNmM2OTIxZGQ0ODI2MS4uMmNiZWE2MDM2
MmRiZGI0ZDczZjZkMjE5YmFhYzBmNTU0NGNiOTVmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKQEAg
LTgxLDcgKzgxLDcgQEAKICAqIC0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM4MDQ1CiAgKiAtIGh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/
aWQ9NDM5NzYKICAqLwotI2lmIChDUFUoQVJNKSB8fCBDUFUoTUlQUykpICYmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykKKyNpZiAoQ1BVKEFSTSkgfHwgQ1BVKE1JUFMpKSAmJiBDT01QSUxFUihHQ0Nf
Q09NUEFUSUJMRSkKIHRlbXBsYXRlPHR5cGVuYW1lIFR5cGU+CiBpbmxpbmUgYm9vbCBpc1BvaW50
ZXJUeXBlQWxpZ25tZW50T2theShUeXBlKiBwdHIpCiB7CkBAIC0xNjgsNyArMTY4LDcgQEAgaW5s
aW5lIHNpemVfdCBiaXRDb3VudCh1aW50NjRfdCBiaXRzKQogLy8gTWFjcm8gdGhhdCByZXR1cm5z
IGEgY29tcGlsZSB0aW1lIGNvbnN0YW50IHdpdGggdGhlIGxlbmd0aCBvZiBhbiBhcnJheSwgYnV0
IGdpdmVzIGFuIGVycm9yIGlmIHBhc3NlZCBhIG5vbi1hcnJheS4KIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHNpemVfdCBTaXplPiBjaGFyICgmQXJyYXlMZW5ndGhIZWxwZXJGdW5jdGlvbihUICgmKVtT
aXplXSkpW1NpemVdOwogLy8gR0NDIG5lZWRzIHNvbWUgaGVscCB0byBkZWR1Y2UgYSAwIGxlbmd0
aCBhcnJheS4KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjaGFyICgmQXJyYXlMZW5ndGhIZWxwZXJG
dW5jdGlvbihUICgmKVswXSkpWzBdOwogI2VuZGlmCiAjZGVmaW5lIFdURl9BUlJBWV9MRU5HVEgo
YXJyYXkpIHNpemVvZig6OldURjo6QXJyYXlMZW5ndGhIZWxwZXJGdW5jdGlvbihhcnJheSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rv
ci5oCmluZGV4IGNjOGEyNDhkYjY2NzIwMjJmMmY4MjlkOTY0NDQ1YTZlYmVmMTU0NDEuLmQyYmNm
NWExMmM2ZDNhMjhkNjdiY2YyZTNiZjdhNTBmNjUzMjZiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yMDEsNyAr
MjAxLDcgQEAgc3RydWN0IFZlY3RvckZpbGxlcjx0cnVlLCBUPgogICAgIHN0YXRpYyB2b2lkIHVu
aW5pdGlhbGl6ZWRGaWxsKFQqIGRzdCwgVCogZHN0RW5kLCBjb25zdCBUJiB2YWwpIAogICAgIHsK
ICAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkgPT0gMSwgIlNpemUgb2YgdHlwZSBUIHNo
b3VsZCBiZSBlcXVhbCB0byBvbmUhIik7Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBk
ZWZpbmVkKF9GT1JUSUZZX1NPVVJDRSkKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYg
ZGVmaW5lZChfRk9SVElGWV9TT1VSQ0UpCiAgICAgICAgIGlmICghX19idWlsdGluX2NvbnN0YW50
X3AoZHN0RW5kIC0gZHN0KSB8fCAoIShkc3RFbmQgLSBkc3QpKSkKICNlbmRpZgogICAgICAgICAg
ICAgbWVtc2V0KGRzdCwgdmFsLCBkc3RFbmQgLSBkc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0FTQ0lJRmFz
dFBhdGguaAppbmRleCBjYzA3ZWZiNTg2NGMwYTRjYWNlYzhhNTY2Zjk1OWZjZmQzMDBmZGMzLi43
ZTY4ZjJiYmM1NjhmZGZiZjU0YjkwNmY2YTgxYWIxNDM1YjA2N2QwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0FTQ0lJRmFzdFBhdGguaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L0FTQ0lJRmFzdFBhdGguaApAQCAtMTM5LDcgKzEzOSw3IEBAIGlubGluZSB2b2lkIGNvcHlMQ2hh
cnNGcm9tVUNoYXJTb3VyY2UoTENoYXIqIGRlc3RpbmF0aW9uLCBjb25zdCBVQ2hhciogc291cmNl
LCBzCiAgICAgICAgIEFTU0VSVCghKHNvdXJjZVtpXSAmIDB4ZmYwMCkpOwogICAgICAgICBkZXN0
aW5hdGlvbltpXSA9IHN0YXRpY19jYXN0PExDaGFyPihzb3VyY2VbaV0pOwogICAgIH0KLSNlbGlm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMy
X18pICYmIGRlZmluZWQoTkRFQlVHKQorI2VsaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYm
IENQVShBUk02NCkgJiYgIWRlZmluZWQoX19JTFAzMl9fKSAmJiBkZWZpbmVkKE5ERUJVRykKICAg
ICBjb25zdCBMQ2hhciogY29uc3QgZW5kID0gZGVzdGluYXRpb24gKyBsZW5ndGg7CiAgICAgY29u
c3QgdWludHB0cl90IG1lbW9yeUFjY2Vzc1NpemUgPSAxNjsKIApAQCAtMTYwLDcgKzE2MCw3IEBA
IGlubGluZSB2b2lkIGNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2UoTENoYXIqIGRlc3RpbmF0aW9u
LCBjb25zdCBVQ2hhciogc291cmNlLCBzCiAKICAgICB3aGlsZSAoZGVzdGluYXRpb24gIT0gZW5k
KQogICAgICAgICAqZGVzdGluYXRpb24rKyA9IHN0YXRpY19jYXN0PExDaGFyPigqc291cmNlKysp
OwotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX05FT04pICYmICEoQ1BV
KEJJR19FTkRJQU4pIHx8IENQVShNSURETEVfRU5ESUFOKSkgJiYgZGVmaW5lZChOREVCVUcpCisj
ZWxpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgQ1BVKEFSTV9ORU9OKSAmJiAhKENQVShC
SUdfRU5ESUFOKSB8fCBDUFUoTUlERExFX0VORElBTikpICYmIGRlZmluZWQoTkRFQlVHKQogICAg
IGNvbnN0IExDaGFyKiBjb25zdCBlbmQgPSBkZXN0aW5hdGlvbiArIGxlbmd0aDsKICAgICBjb25z
dCB1aW50cHRyX3QgbWVtb3J5QWNjZXNzU2l6ZSA9IDg7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVM
aWdodGluZ05FT04uY3BwCmluZGV4IDczZTMyYjg0ZGRlYjE0OTBiYzRiY2U4ZjY3YWNlNTMzYjky
ZDg1MmUuLjY0OTUwZDE3MzJlODJkY2JlOTY3OTdmOGRhNjdhOTIxNDE1NDgyMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxp
Z2h0aW5nTkVPTi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1
L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZFTGlnaHRpbmdORU9OLmgiCiAKLSNpZiBDUFUoQVJN
X05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykK
KyNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdD
Q19DT01QQVRJQkxFKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwMCw0ICs1MDAsNCBA
QCBpbnQgRkVMaWdodGluZzo6Z2V0UG93ZXJDb2VmZmljaWVudHMoZmxvYXQgZXhwb25lbnQpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKQorI2VuZGlmIC8vIENQVShBUk1fTkVPTikgJiYgQ09NUElMRVIo
R0NDX0NPTVBBVElCTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oCmluZGV4IDQy
YWY5MjIzNzRiZDY4YTQ3NGNlOGE2ZTJmZDY2ZGE3ZmE1ZjNlYzMuLjk0NzY4YmRjZTNhNzlmMGFi
YTFmMjQyNDRjMDJkNjNhYjhlZjI1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVP
Ti5oCkBAIC0yNyw3ICsyNyw3IEBACiAjaWZuZGVmIEZFTGlnaHRpbmdORU9OX2gKICNkZWZpbmUg
RkVMaWdodGluZ05FT05faAogCi0jaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElP
TkFMKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUo
QVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogI2luY2x1ZGUg
IkZFTGlnaHRpbmcuaCIKICNpbmNsdWRlICJQb2ludExpZ2h0U291cmNlLmgiCkBAIC0xOTYsNiAr
MTk2LDYgQEAgaW5saW5lIHZvaWQgRkVMaWdodGluZzo6cGxhdGZvcm1BcHBseU5lb24oY29uc3Qg
TGlnaHRpbmdEYXRhJiBkYXRhLCBjb25zdCBMaWdodFMKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisj
ZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogI2Vu
ZGlmIC8vIEZFTGlnaHRpbmdORU9OX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCmluZGV4IDc4MWE3OThmMWZjZmZj
ZmYxNWIzYjlmYjEwNGI2NzZhMWNmNzNhYTcuLjg4Nzg4MDgxMTRkNzc1NjcwODMxMmNhYTUzNzBj
NDQxNDIxM2QyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUxpZ2h0aW5nLmNwcApAQCAtMzgwLDcgKzM4MCw3IEBAIHZvaWQgRkVM
aWdodGluZzo6cGxhdGZvcm1BcHBseUdlbmVyaWMoY29uc3QgTGlnaHRpbmdEYXRhJiBkYXRhLCBj
b25zdCBMaWdodFNvdXJjCiBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5KGNv
bnN0IExpZ2h0aW5nRGF0YSYgZGF0YSwgY29uc3QgTGlnaHRTb3VyY2U6OlBhaW50aW5nRGF0YSYg
cGFpbnRpbmdEYXRhKQogewogICAgIC8vIFRoZSBzZWxlY3Rpb24gaGVyZSBldmVudHVhbGx5IHNo
b3VsZCBoYXBwZW4gZHluYW1pY2FsbHkgb24gc29tZSBwbGF0Zm9ybXMuCi0jaWYgQ1BVKEFSTV9O
RU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisj
aWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihHQ0Nf
Q09NUEFUSUJMRSkKICAgICBwbGF0Zm9ybUFwcGx5TmVvbihkYXRhLCBwYWludGluZ0RhdGEpOwog
I2Vsc2UKICAgICBwbGF0Zm9ybUFwcGx5R2VuZXJpYyhkYXRhLCBwYWludGluZ0RhdGEpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0
aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRp
bmcuaAppbmRleCBjZTE3M2UwMDg4MzgzOTU5OTgzY2JlN2UzOGRlZGM4YzA1MDE4NTRiLi43ZjNj
ZWVjOTc3MGNhNGM1ZmMyNmUxMTdjZjJlNDc4NmE0NzEwMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuaApAQCAtMTQ3
LDcgKzE0Nyw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBsYXRmb3JtQXBwbHlHZW5lcmljUGFp
bnQoY29uc3QgTGlnaHRpbmdEYXRhJiwgY29uc3QgTGlnaHRTb3VyY2U6OlBhaW50aW5nRGF0YSYs
IGludCBzdGFydFgsIGludCBzdGFydFkpOwogICAgIHZvaWQgcGxhdGZvcm1BcHBseUdlbmVyaWMo
Y29uc3QgTGlnaHRpbmdEYXRhJiwgY29uc3QgTGlnaHRTb3VyY2U6OlBhaW50aW5nRGF0YSYpOwog
Ci0jaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAmJiBDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpCisjaWYgQ1BVKEFSTV9ORU9OKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKSAm
JiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICBzdGF0aWMgaW50IGdldFBvd2VyQ29lZmZp
Y2llbnRzKGZsb2F0IGV4cG9uZW50KTsKICAgICBpbmxpbmUgdm9pZCBwbGF0Zm9ybUFwcGx5TmVv
bihjb25zdCBMaWdodGluZ0RhdGEmLCBjb25zdCBMaWdodFNvdXJjZTo6UGFpbnRpbmdEYXRhJik7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQkNvbXBpbGVyLmgg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JDb21waWxlci5oCmluZGV4IDA1NTMyNmU1M2FiNmUx
OWQ5ZDg4NzcxZjgwNWZmM2FmNDQ5YzQyZjcuLjRlZjgzNWEzZDdkN2YyNTJmMDkzNTYwNzVkYTA4
Mjc5OTA0MWQzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQkNvbXBpbGVy
LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CQ29tcGlsZXIuaApAQCAtMzgsMTUgKzM4
LDE1IEBACiAKICNkZWZpbmUgQkFTQU5fRU5BQkxFRCBCQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRV
UkUoYWRkcmVzc19zYW5pdGl6ZXIpCiAKLS8qIEJDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIC0gR05V
IENvbXBpbGVyIENvbGxlY3Rpb24gb3IgQ2xhbmcgKi8KKy8qIEJDT01QSUxFUihHQ0NfQ09NUEFU
SUJMRSkgLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiBvciBjb21wYXRpYmxlcyAqLwogCiAjaWYg
ZGVmaW5lZChfX0dOVUNfXykKLSNkZWZpbmUgQkNPTVBJTEVSX0dDQ19PUl9DTEFORyAxCisjZGVm
aW5lIEJDT01QSUxFUl9HQ0NfQ09NUEFUSUJMRSAxCiAjZW5kaWYKIAogLyogQk5PX1JFVFVSTiAq
LwogCi0jaWYgIWRlZmluZWQoQk5PX1JFVFVSTikgJiYgQkNPTVBJTEVSKEdDQ19PUl9DTEFORykK
KyNpZiAhZGVmaW5lZChCTk9fUkVUVVJOKSAmJiBCQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAj
ZGVmaW5lIEJOT19SRVRVUk4gX19hdHRyaWJ1dGUoKF9fbm9yZXR1cm5fXykpCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350728</attachid>
            <date>2018-09-24 19:06:13 -0700</date>
            <delta_ts>2018-09-24 19:06:13 -0700</delta_ts>
            <desc>Patch to land</desc>
            <filename>bug-189733-20180925110612.patch</filename>
            <type>text/plain</type>
            <size>42571</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZDMzYTRjYmE4MTc1ZmMwMWY3NjMyMjA3MjMxYjllYmI3OGU3MTI0Li4xZjUxODE2YmQxZDc3MzQ5
ZjllNzYyMWY3MGVlMDQzOTNmNjVmNjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxOC0wOS0yNCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBSZW5hbWUgV1RGX0NPTVBJTEVSX0dDQ19PUl9DTEFORyB0byBX
VEZfQ09NUElMRVJfR0NDX0NPTVBBVElCTEUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4OTczMworCisgICAgICAgIFJldmlld2VkIGJ5IE1pY2hhZWwg
Q2F0YW56YXJvLgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmg6CisgICAg
ICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk1Bc3NlbWJs
ZXI6OmNhY2hlRmx1c2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5j
cHA6CisgICAgICAgIChKU0M6OmlzVkZQUHJlc2VudCk6CisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmNwcDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoK
KyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAgICAg
ICAqIGhlYXAvSGVhcENlbGwuY3BwOgorICAgICAgICAqIGhlYXAvSGVhcENlbGwuaDoKKyAgICAg
ICAgKiBqaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAg
ICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L1RodW5rR2VuZXJh
dG9ycy5jcHA6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnZlbnRpb25zLmNwcDoKKyAgICAg
ICAgKEpTQzo6Y2xlYXJBcnJheU1lbXNldCk6CisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5j
cHA6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpkaWdpdERpdik6CisKIDIwMTgtMDktMjQgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQXJyYXkucHJvdG90eXBl
LmluZGV4T2YgZmFzdCBwYXRoIG5lZWRzIHRvIGVuc3VyZSB0aGUgbGVuZ3RoIGlzIHN0aWxsIHZh
bGlkIGFmdGVyIHBlcmZvcm1pbmcgZWZmZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjQ5OGQ0NzhhY2U5N2VmNjE4NzU4
NTBmNDQxNjhkMmQzOTM3MDZkLi5kZjc0NmM0YWI2M2UxZDY0ZGNkZWIzNmUwZGZkYWQ3ZTc2NjFl
NTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA5LTI0ICBGdWppaSBIaXJvbm9yaSAgPEhp
cm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlbmFtZSBXVEZfQ09NUElMRVJfR0ND
X09SX0NMQU5HIHRvIFdURl9DT01QSUxFUl9HQ0NfQ09NUEFUSUJMRQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NzMzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgQ2xhbmcgZm9yIFdpbmRvd3MgYnVp
bGQgZW5hYmxlcyBXVEZfQ09NUElMRVJfQ0xBTkcgYW5kCisgICAgICAgIFdURl9DT01QSUxFUl9N
U1ZDLCBidXQgZGlzYWJsZXMgV1RGX0NPTVBJTEVSX0dDQ19PUl9DTEFORy4gSXQgaXMKKyAgICAg
ICAgc3RyYW5nZSBXVEZfQ09NUElMRVJfR0NDX09SX0NMQU5HIGlzIG5vdCBlbmFibGVkIGV2ZW4g
dGhvdWdoCisgICAgICAgIFdURl9DT01QSUxFUl9DTEFORyBpcyBlbmFibGVkLiBIb3dldmVyLCBD
bGFuZyBmb3IgV2luZG93cyBpbWl0YXRlcworICAgICAgICBNU1ZDLCBhbmQgY29kZXMgZm9yIENP
TVBJTEVSKEdDQ19PUl9DTEFORykgYXJlIGZvciBub24gTVNWQy4gQXQKKyAgICAgICAgbGVhc3Qg
YXQgdGhlIG1vbWVudCwgaXQgaXMgbm90IGZlYXNpYmxlIHRvIGRlZmluZQorICAgICAgICBXVEZf
Q09NUElMRVJfR0NDX09SX0NMQU5HIGZvciBDbGFuZyBmb3IgV2luZG93cy4KKworICAgICAgICBU
byBzb2x2ZSB0aGUgaXNzdWUsIHRoaXMgY2hhbmdlIHJlbmFtZXMgV1RGX0NPTVBJTEVSX0dDQ19P
Ul9DTEFORworICAgICAgICB0byBXVEZfQ09NUElMRVJfR0NDX0NPTVBBVElCTEUuCisKKyAgICAg
ICAgQXMgYW4gZXhjZXB0aW9uLCBJJ2QgbGlrZSB0byB1c2UgSUdOT1JFX1dBUk5JTkdTXyogbWFj
cm9zIGV2ZW4gaW4KKyAgICAgICAgQ2xhbmcgZm9yIFdpbmRvd3MgYnVpbGRzLgorCisgICAgICAg
ICogd3RmL0Fzc2VydGlvbnMuY3BwOiBSZXBsYWNlZCBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpIHdp
dGggQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpLgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6
IERpdHRvLgorICAgICAgICAqIHd0Zi9BdG9taWNzLmg6IERpdHRvLgorICAgICAgICAqIHd0Zi9D
aGVja2VkQXJpdGhtZXRpYy5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5oOiBE
aXR0by4KKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYv
UGxhdGZvcm0uaDogRGl0dG8uCisgICAgICAgICogd3RmL1N0ZExpYkV4dHJhcy5oOiBEaXR0by4K
KyAgICAgICAgKiB3dGYvVmVjdG9yLmg6IERpdHRvLgorICAgICAgICAqIHd0Zi90ZXh0L0FTQ0lJ
RmFzdFBhdGguaDogRGl0dG8uCisgICAgICAgICogd3RmL0NvbXBpbGVyLmg6ICBEaXR0by4gUmVw
bGFjZWQgIkNPTVBJTEVSKEdDQ19PUl9DTEFORykiIHdpdGggIkNPTVBJTEVSKEdDQykgfHwgQ09N
UElMRVIoQ0xBTkcpIiBvZiBJR05PUkVfV0FSTklOR1NfKiBtYWNyb3MuCisKIDIwMTgtMDktMjEg
IFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBb
SlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVyIG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9u
IEpJVCBjb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM4MmY1ZTYxODQxYmQzYTcwNzZiZWI3
NWU2YWQ4Y2QyYmNhMjMwYy4uY2U1YTE2M2U0ODI5OWYwMGE4NmNmYWNkNTUyNmMxMDFhYjZhNWFl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA5LTI0ICBGdWppaSBIaXJvbm9y
aSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlbmFtZSBXVEZfQ09NUElM
RVJfR0NDX09SX0NMQU5HIHRvIFdURl9DT01QSUxFUl9HQ0NfQ09NUEFUSUJMRQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NzMzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChO
byBiZWhhdmlvciBjaGFuZ2UpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2Fy
bS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVMaWdo
dGluZzo6cGxhdGZvcm1BcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUxpZ2h0aW5nLmg6CisKIDIwMTgtMDktMjQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2FwIGxpZmV0aW1lIG9mIHBlcnNpc3RlbnQgY29va2llcyBj
cmVhdGVkIGNsaWVudC1zaWRlIHRocm91Z2ggZG9jdW1lbnQuY29va2llCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXgg
ZDQ2OTA0MGRkZTNmOTg5ZWY0NTMxMjNmOTM0ZDMyOWM2YzgzYzU5Yy4uNDBlODg3ZGU0NGI0YTFl
ZTUyYTY5NDVkNjMzZjAxMzFkMTUyMjQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDE4LTA5LTI0ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisg
ICAgICAgIFJlbmFtZSBXVEZfQ09NUElMRVJfR0NDX09SX0NMQU5HIHRvIFdURl9DT01QSUxFUl9H
Q0NfQ09NUEFUSUJMRQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg5NzMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBDYXRhbnphcm8uCisK
KyAgICAgICAgKiBibWFsbG9jL0JDb21waWxlci5oOgorCiAyMDE4LTA4LTI3ICBLZWl0aCBSb2xs
aW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCAt
LSBkaXNhYmxlIExUTyBmb3IgcHJvZHVjdGlvbiBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaAppbmRleCAzYzk0NzhlNTE0MmIwZmE0
NzVmM2VlNjFmODk2NjQ0ODUyMzk2NTc1Li4yMTY2ZTg1OTRmYTg5ZWIxODBjZWExYzlhYmI4ZTkx
MzNjZDg2MGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TTY0QXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02
NEFzc2VtYmxlci5oCkBAIC0yODUyLDcgKzI4NTIsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25l
ZCBkZWJ1Z09mZnNldCgpIHsgcmV0dXJuIG1fYnVmZmVyLmRlYnVnT2Zmc2V0KCk7IH0KIAotI2lm
IE9TKExJTlVYKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgT1MoTElOVVgpICYmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBsaW51eFBhZ2VG
bHVzaCh1aW50cHRyX3QgYmVnaW4sIHVpbnRwdHJfdCBlbmQpCiAgICAgewogICAgICAgICBfX2J1
aWx0aW5fX19jbGVhcl9jYWNoZShyZWludGVycHJldF9jYXN0PGNoYXIqPihiZWdpbiksIHJlaW50
ZXJwcmV0X2Nhc3Q8Y2hhcio+KGVuZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggMzU1NDgyMWI2MGZjMGU3NDRkN2YzM2QxY2JhZmQx
MDI0NjVmMWYyNS4uNzNjZmJlZjI0NTQ0N2I2ODk1ZDgzMmY3NTQ3ZWEzZjg5OWY2MzVhNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBAIC0x
MTY0LDcgKzExNjQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBBTCB8
IEIgfCAob2Zmc2V0ICYgQnJhbmNoT2Zmc2V0TWFzayk7CiAgICAgICAgIH0KIAotI2lmIE9TKExJ
TlVYKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgT1MoTElOVVgpICYmIENPTVBJTEVS
KEdDQ19DT01QQVRJQkxFKQogICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQgbGludXhQYWdlRmx1
c2godWludHB0cl90IGJlZ2luLCB1aW50cHRyX3QgZW5kKQogICAgICAgICB7CiAgICAgICAgICAg
ICBhc20gdm9sYXRpbGUoCkBAIC0xMTg0LDcgKzExODQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQog
ICAgICAgICB7Ci0jaWYgT1MoTElOVVgpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBP
UyhMSU5VWCkgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgICAgICBzaXplX3Qg
cGFnZSA9IHBhZ2VTaXplKCk7CiAgICAgICAgICAgICB1aW50cHRyX3QgY3VycmVudCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihjb2RlKTsKICAgICAgICAgICAgIHVpbnRwdHJfdCBlbmQg
PSBjdXJyZW50ICsgc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKaW5kZXggYzZhM2FiODMyMDRjYTMzNjVhNmZjNGFj
ZTA0MjRkOWM2MmYxN2FlZC4uOTU3NGQ2YzM1ZjMzMzA1NDVkOTYwYmM2M2NlZGFkYTUwN2QyZWYw
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGJvb2wgaXNWRlBQcmVzZW50
KCkKICAgICB9CiAjZW5kaWYgLy8gT1MoTElOVVgpCiAKLSNpZiAoQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBkZWZpbmVkKF9fVkZQX0ZQX18pKQorI2lmIChDT01QSUxFUihHQ0NfQ09NUEFUSUJM
RSkgJiYgZGVmaW5lZChfX1ZGUF9GUF9fKSkKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTAzLDcgKzEwMyw3IEBAIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNt
UHJvYmVUcmFtcG9saW5lKCk7CiAKIHVzaW5nIG5hbWVzcGFjZSBBUk1SZWdpc3RlcnM7CiAKLSNp
ZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAK
IC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNldHMgZm9yIFByb2JlOjpTdGF0ZSBmaWVsZHMgYWNj
ZXNzZWQKIC8vIGJ5IHRoZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCkBAIC00MjcsNyAr
NDI3LDcgQEAgYXNtICgKICAgICAibGRyICAgICAgIHNwLCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgogICAgICJwb3AgICAgICAgeyBwYyB9
IiAiXG4iCiApOwotI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBD
T01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJv
YmU6OkZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAppbmRleCBl
ZGZiNDQyMjU3N2ZlZTFkMWZkOTA2YTg5ODQ5NTE1MmMzMGY2ZGRkLi5jMmJlMDgzZGE3MjZlNTIz
ZTZkMjUyZmM2Y2M1NzEwNzdiNDUyYWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5jcHAKQEAgLTQ0LDcgKzQ0LDcg
QEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUoKTsKIAogdXNpbmcgbmFt
ZXNwYWNlIEFSTTY0UmVnaXN0ZXJzOwogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lm
IENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiAvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRz
IGZvciBQcm9iZTo6U3RhdGUgZmllbGRzIGFjY2Vzc2VkCiAvLyBieSB0aGUgY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSBzdHViLgpAQCAtNTA5LDcgKzUwOSw3IEBAIGFzbSAoCiAgICAgImxkcCAgICAg
ICB4MjksIHgzMCwgW3NwXSwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKDIgKiBQVFJfU0laRSkgIlxu
IgogICAgICJyZXQiICJcbiIKICk7Ci0jZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQor
I2VuZGlmIC8vIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiB2b2lkIE1hY3JvQXNzZW1ibGVy
Ojpwcm9iZShQcm9iZTo6RnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZykKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcu
Y3BwCmluZGV4IDVmZGMwZmM3MjUwNzQzNjFmYzI2YWVkOTQ1NzQ2ZDA5OGMzNGY5ZjkuLmNhMDUz
YjQzOTg5ZjhiNDIzZmNiOTVjZmZjYzA0ZDNjOTRiNjEzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcApAQCAt
MzksNyArMzksNyBAQCBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpOwog
CiB1c2luZyBuYW1lc3BhY2UgQVJNUmVnaXN0ZXJzOwogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiAvLyBUaGUgZm9sbG93aW5nIGFy
ZSBvZmZzZXRzIGZvciBQcm9iZTo6U3RhdGUgZmllbGRzIGFjY2Vzc2VkCiAvLyBieSB0aGUgY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSBzdHViLgpAQCAtMzY1LDcgKzM2NSw3IEBAIGFzbSAoCiAgICAg
ImxkciAgICAgICBzcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09G
RlNFVCkgIl0iICJcbiIKICAgICAicG9wICAgICAgIHsgcGMgfSIgIlxuIgogKTsKLSNlbmRpZiAv
LyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElC
TEUpCiAKIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKFByb2JlOjpGdW5jdGlvbiBmdW5jdGlv
biwgdm9pZCogYXJnKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCmluZGV4IDA1OGM1YjY5MzU2ZGNhOTg0ZmRhOGIx
NTRiNDRkOTg4MzkyYzRiNzEuLjYyNzg1NDgwMmEzMmU3MTE3MWFkZmJjY2Y5YjBkMGEwZTY4ODEw
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJNSVBTLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyTUlQUy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1h
c21Qcm9iZVRyYW1wb2xpbmUoKTsKIAogdXNpbmcgbmFtZXNwYWNlIE1JUFNSZWdpc3RlcnM7CiAK
LSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUp
CiAKIC8vIFRoZSBmb2xsb3dpbmcgYXJlIG9mZnNldHMgZm9yIFByb2JlOjpTdGF0ZSBmaWVsZHMg
YWNjZXNzZWQKIC8vIGJ5IHRoZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCkBAIC01NTAs
NyArNTUwLDcgQEAgYXNtICgKICAgICAibm9wIiAiXG4iCiAgICAgIi5zZXQgcG9wIiAiXG4iCiAp
OwotI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihH
Q0NfQ09NUEFUSUJMRSkKIAogdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0
aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCmluZGV4IDQz
Yjg2MjUxNzE2NDMyMDJkMzA2MDM1NDM5ZjdkMzQ5YWNkYzQ2MzguLjhiMTQ4Y2Y1OWU1ZTIyYjdj
YWFiYjBmOTQxZjRjNjc5YjhhNzg0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCkBAIC0xNzEs
NyArMTcxLDcgQEAgc3RhdGljX2Fzc2VydCgoUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRSX1NJ
WkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUpLCAiTXUKICN1bmRlZiBQUk9CRV9PRkZTRVRP
RgogCiAjaWYgQ1BVKFg4NikKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElM
RVIoR0NDX0NPTVBBVElCTEUpCiBhc20gKAogICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKICAgICBISURFX1NZTUJPTChjdGlNYXNtUHJvYmVU
cmFtcG9saW5lKSAiXG4iCkBAIC01MTEsNyArNTExLDcgQEAgZXh0ZXJuICJDIiBfX2RlY2xzcGVj
KG5ha2VkKSB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUoKQogI2VuZGlmIC8vIENQVShYODYp
CiAKICNpZiBDUFUoWDg2XzY0KQotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01Q
SUxFUihHQ0NfQ09NUEFUSUJMRSkKIGFzbSAoCiAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkco
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgogICAgIEhJREVfU1lNQk9MKGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpICJcbiIKQEAgLTcwNSw3ICs3MDUsNyBAQCBhc20gKAogICAgICJwb3BxICVy
YnAiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwotI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNlbmRpZiAvLyBDUFUo
WDg2XzY0KQogCiAvLyBXaGF0IGNvZGUgaXMgZW1pdHRlZCBmb3IgdGhlIHByb2JlPwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuY3BwCmluZGV4IGY0ZjMxZmUyY2RkYWRmNDBlN2Ri
MDE1MjFjMzIzNDMzZTgwYjczZDMuLjM4NmZjZDE4ODY3ZWNkOTRjNjIzMWU1YWJkNmQ4N2I1NTQ2
ZTRlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBDZWxsLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwQ2VsbC5jcHAKQEAgLTQyLDcg
KzQyLDcgQEAgYm9vbCBIZWFwQ2VsbDo6aXNMaXZlKCkKICAgICByZXR1cm4gbWFya2VkQmxvY2tI
YW5kbGUuaXNMaXZlKHRoaXMpOwogfQogCi0jaWYgIUNPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNp
ZiAhQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiB2b2lkIEhlYXBDZWxsOjp1c2UoKSBjb25zdAog
ewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBDZWxsLmgKaW5kZXggZWI1OWU4YWU2M2Zl
OWYzYjI2ZjQxNjgxMmY3MjYxYzQzNWNjN2ViMy4uMDljYTQzM2YwNzczMWM5ZTQxMWJmY2Y5NDM5
MTM4ZmJlODhiYTc5NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cENlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwQ2VsbC5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsIHVzZSgpIGFmdGVyIHRoZSBsYXN0IHBv
aW50IHdoZXJlIHlvdSBuZWVkIGB0aGlzYCBwb2ludGVyIHRvIGJlIGtlcHQgYWxpdmUuIFlvdSB1
c3VhbGx5IGRvbid0CiAgICAgLy8gbmVlZCB0byB1c2UgdGhpcywgYnV0IGl0IG1pZ2h0IGJlIG5l
Y2Vzc2FyeSBpZiB5b3UncmUgb3RoZXJ3aXNlIHJlZmVycmluZyB0byBhbiBvYmplY3QncyBpbm5h
cmRzCiAgICAgLy8gYnV0IG5vdCB0aGUgb2JqZWN0IGl0c2VsZi4KLSNpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgdm9pZCB1c2UoKSBj
b25zdAogICAgIHsKICAgICAgICAgYXNtIHZvbGF0aWxlICgiIiA6IDogInIiKHRoaXMpIDogIm1l
bW9yeSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJl
dHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5W
YWx1ZS5jcHAKaW5kZXggMTM3NWJiOTJjYzBkZWJiY2I3ZWFlZTAyNThkYjEwZjJmYmQ5NTgxMS4u
OTVjY2NmYjM0ZDYzMDhmNTllMjAyNzllNzY0MmI3YmI5M2QzNDBkMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3BwCkBAIC00Nyw3ICs0
Nyw3IEBAIGV4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9P
UFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOwogfQogCi0jaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAm
JiBDUFUoWDg2XzY0KQogYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJc
biIKQEAgLTU2LDcgKzU2LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiOiIgIlxuIgogICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKICk7CiAKLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFO
RykgJiYgQ1BVKFg4NikKKyNlbGlmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBDUFUoWDg2
KQogYXNtICgKICIudGV4dCIgIlxuIiBcCiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiXG4iCkBAIC03Miw3ICs3Miw3IEBAIFNZTUJPTF9TVFJJTkcoZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAicmV0XG4iCiApOwogCi0jZWxpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVEhVTUIyKQorI2VsaWYgQ09NUElMRVIo
R0NDX0NPTVBBVElCTEUpICYmIENQVShBUk1fVEhVTUIyKQogYXNtICgKICIudGV4dCIgIlxuIgog
Ii5hbGlnbiAyIiAiXG4iCkBAIC04NSw3ICs4NSw3IEBAIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0
Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorI2VsaWYgQ09NUElMRVIoR0ND
X0NPTVBBVElCTEUpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCiBhc20gKAogIi50ZXh0IiAiXG4i
CiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCkBA
IC0xMDcsNyArMTA3LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
OiIgIlxuIgogICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAm
JiBDUFUoTUlQUykKKyNlbGlmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBDUFUoTUlQUykK
IAogI2lmIFdURl9NSVBTX1BJQwogI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9u
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJu
VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5o
CmluZGV4IGQyMTFkMTRkODY5NGNlMDVkOThiNGQzNjAzNGNkYzZmYjkxMjQ3MjEuLjUxOTg3ZWE4
YTc0ZjNiYzE2OTg3ZTQwZjRlZmU5NmU0ZjY2Y2U1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiBleHRlcm4gIkMiIEVuY29kZWRKU1ZhbHVlIEhPU1RfQ0FMTF9SRVRVUk5f
VkFMVUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBSRUZFUkVOQ0VEX0ZST01fQVNN
IFdURl9JTlRFUk5BTDsKIAotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxF
UihHQ0NfQ09NUEFUSUJMRSkKIAogLy8gVGhpcyBpcyBhIHB1YmxpYyBkZWNsYXJhdGlvbiBvbmx5
IHRvIGNvbnZpbmNlIENMQU5HIG5vdCB0byBlbGlkZSBpdC4KIGV4dGVybiAiQyIgRW5jb2RlZEpT
VmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZVdpdGhFeGVjU3RhdGUoRXhlY1N0YXRlKikgUkVGRVJFTkNFRF9GUk9NX0FTTSBXVEZfSU5URVJO
QUw7CkBAIC00OSwxMSArNDksMTEgQEAgaW5saW5lIHZvaWQgaW5pdGlhbGl6ZUhvc3RDYWxsUmV0
dXJuVmFsdWUoKQogICAgIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKDApOwog
fQogCi0jZWxzZSAvLyBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjZWxzZSAvLyBDT01QSUxFUihH
Q0NfQ09NUEFUSUJMRSkKIAogaW5saW5lIHZvaWQgaW5pdGlhbGl6ZUhvc3RDYWxsUmV0dXJuVmFs
dWUoKSB7IH0KIAotI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBD
T01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oCmluZGV4IDU5M2Q1YmYzOGJlN2Y4NmEyZWUyNzVjYWMyYTE4NDZhOTc0NTI2
YzcuLmU5MmJkZjg4ZGU3NDczMjJkZTkzZTJlZGI0ZWMzN2QxNjQxMGJkMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaApAQCAtMjksNyArMjksNyBAQAogCiAvLyBXZSd2ZSBydW4gaW50byBzb21l
IHByb2JsZW1zIHdoZXJlIGNoYW5naW5nIHRoZSBzaXplIG9mIHRoZSBjbGFzcyBKSVQgbGVhZHMg
dG8KIC8vIHBlcmZvcm1hbmNlIGZsdWN0dWF0aW9ucy4gVHJ5IGZvcmNpbmcgYWxpZ25tZW50IGlu
IGFuIGF0dGVtcHQgdG8gc3RhYmlsaXplIHRoaXMuCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBKSVRfQ0xBU1NfQUxJR05N
RU5UIGFsaWduYXMoMzIpCiAjZWxzZQogI2RlZmluZSBKSVRfQ0xBU1NfQUxJR05NRU5UCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA3YWFjZjZiMWMx
NmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5MWQ0ZWNiLi5mZDQyNWQ4MGVjM2Y3ZWNkZDM1ZTYwMzMz
ZjMwMjczNWJjOWY4MmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKQEAgLTI0NjIsMTAgKzI0NjIsMTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKiBleGVjKQogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIodm0sIGV4ZWMpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKCp2bSk7CiAgICAgVU5VU0VEX1BBUkFNKHNjb3BlKTsKLSNpZiBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgdm9pZCogcmV0dXJuUEMg
PSBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CiAgICAgZG9FeGNlcHRpb25GdXp6aW5nKGV4
ZWMsIHNjb3BlLCAiSklUT3BlcmF0aW9ucyIsIHJldHVyblBDKTsKLSNlbmRpZiAvLyBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpCisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiB9CiAK
IEFMV0FZU19JTkxJTkUgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHVucHJvZmlsZWRBZGQoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVy
YXRvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3Bw
CmluZGV4IGRkNWQ4MzA1MWVjNTc4MGFiMGI2MTg2YWNjYTBkYTMwOTYxOTFkNjUuLmZlYmQ1ZjJl
OTMzOWZkMWViNGRmMDJlYTM2Y2Y1MDVhZjEwYjc1OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKQEAgLTc3Miw3ICs3NzIsNyBAQCBNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IHNxcnRUaHVua0dlbmVyYXRvcihWTSogdm0p
CiBlbnVtIE1hdGhUaHVua0NhbGxpbmdDb252ZW50aW9uIHsgfTsKIHR5cGVkZWYgTWF0aFRodW5r
Q2FsbGluZ0NvbnZlbnRpb24oKk1hdGhUaHVuaykoTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24p
OwogCi0jaWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAoT1MoREFS
V0lOKSB8fCBPUyhMSU5VWCkpCisjaWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoR0NDX0NPTVBB
VElCTEUpICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkKIAogI2RlZmluZSBkZWZpbmVVbmFy
eURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgXAogICAgIGFzbSggXApAQCAtNzkwLDcgKzc5MCw3
IEBAIHR5cGVkZWYgTWF0aFRodW5rQ2FsbGluZ0NvbnZlbnRpb24oKk1hdGhUaHVuaykoTWF0aFRo
dW5rQ2FsbGluZ0NvbnZlbnRpb24pOwogICAgIH0gXAogICAgIHN0YXRpYyBNYXRoVGh1bmsgVW5h
cnlEb3VibGVPcFdyYXBwZXIoZnVuY3Rpb24pID0gJmZ1bmN0aW9uIyNUaHVuazsKIAotI2VsaWYg
Q1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBPUyhMSU5VWCkgJiYgZGVmaW5l
ZChfX1BJQ19fKQorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYm
IE9TKExJTlVYKSAmJiBkZWZpbmVkKF9fUElDX18pCiAjZGVmaW5lIGRlZmluZVVuYXJ5RG91Ymxl
T3BXcmFwcGVyKGZ1bmN0aW9uKSBcCiAgICAgYXNtKCBcCiAgICAgICAgICIudGV4dFxuIiBcCkBA
IC04MTQsNyArODE0LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbigqTWF0
aFRodW5rKShNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbik7CiAgICAgfSBcCiAgICAgc3RhdGlj
IE1hdGhUaHVuayBVbmFyeURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgPSAmZnVuY3Rpb24jI1Ro
dW5rOwogCi0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIChPUyhE
QVJXSU4pIHx8IE9TKExJTlVYKSkKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCiAjZGVmaW5lIGRlZmluZVVuYXJ5
RG91YmxlT3BXcmFwcGVyKGZ1bmN0aW9uKSBcCiAgICAgYXNtKCBcCiAgICAgICAgICIudGV4dFxu
IiBcCkBAIC04MzQsNyArODM0LDcgQEAgdHlwZWRlZiBNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlv
bigqTWF0aFRodW5rKShNYXRoVGh1bmtDYWxsaW5nQ29udmVudGlvbik7CiAgICAgfSBcCiAgICAg
c3RhdGljIE1hdGhUaHVuayBVbmFyeURvdWJsZU9wV3JhcHBlcihmdW5jdGlvbikgPSAmZnVuY3Rp
b24jI1RodW5rOwogCi0jZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBQTEFURk9STShJT1MpCisjZWxpZiBDUFUoQVJNX1RIVU1CMikgJiYgQ09NUElMRVIo
R0NDX0NPTVBBVElCTEUpICYmIFBMQVRGT1JNKElPUykKIAogI2RlZmluZSBkZWZpbmVVbmFyeURv
dWJsZU9wV3JhcHBlcihmdW5jdGlvbikgXAogICAgIGFzbSggXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb252ZW50aW9ucy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnZlbnRpb25zLmNwcAppbmRleCA2OWE0Nzg5MDI5
NDViMmRlYWZkMGVmZWRhMmY0OWI0MmJlMDc2YjllLi45NWFkNjM4N2RhODM2NzljYjE3OWExODFl
OTQzODQ0ODVjZGZjMzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnZlbnRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnZlbnRpb25zLmNwcApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICNpZiBVU0UoSlNWQUxVRTY0KQogdm9pZCBjbGVhckFycmF5TWVtc2V0KFdyaXRlQmFycmllcjxV
bmtub3duPiogYmFzZSwgdW5zaWduZWQgY291bnQpCiB7Ci0jaWYgQ1BVKFg4Nl82NCkgJiYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKQogICAgIHVpbnQ2NF90IHplcm8gPSAwOwogICAgIGFzbSB2b2xhdGlsZSAoCiAgICAg
ICAgICJyZXAgc3Rvc3Fcblx0IgpAQCAtNDgsNyArNDgsNyBAQCB2b2lkIGNsZWFyQXJyYXlNZW1z
ZXQoV3JpdGVCYXJyaWVyPFVua25vd24+KiBiYXNlLCB1bnNpZ25lZCBjb3VudCkKIAogdm9pZCBj
bGVhckFycmF5TWVtc2V0KGRvdWJsZSogYmFzZSwgdW5zaWduZWQgY291bnQpCiB7Ci0jaWYgQ1BV
KFg4Nl82NCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENQVShYODZfNjQpICYmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgIHVpbnQ2NF90IHBuYW4gPSBiaXR3aXNlX2Nhc3Q8
dWludDY0X3Q+KFBOYU4pOwogICAgIGFzbSB2b2xhdGlsZSAoCiAgICAgICAgICJyZXAgc3Rvc3Fc
blx0IgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCmluZGV4IGJh
MzU1YmQ3NDNhM2U4NzY0ODA5YThmMjdkMzllZWE0YjY5ZTZhM2YuLmRhNTI5ZDNjNjRjZDQ3Mzc0
NDJjNTY4NWNjYTdjYzMxMjY0ZDlmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQmlnSW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JpZ0ludC5jcHAKQEAgLTQ2OCw3ICs0NjgsNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRpZ2l0
IEpTQmlnSW50OjpkaWdpdFBvdyhEaWdpdCBiYXNlLCBEaWdpdCBleHBvbmVudCkKIGlubGluZSBK
U0JpZ0ludDo6RGlnaXQgSlNCaWdJbnQ6OmRpZ2l0RGl2KERpZ2l0IGhpZ2gsIERpZ2l0IGxvdywg
RGlnaXQgZGl2aXNvciwgRGlnaXQmIHJlbWFpbmRlcikKIHsKICAgICBBU1NFUlQoaGlnaCA8IGRp
dmlzb3IpOwotI2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBD
UFUoWDg2XzY0KSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICBEaWdpdCBxdW90aWVu
dDsKICAgICBEaWdpdCByZW07CiAgICAgX19hc21fXygiZGl2cSAgJVtkaXZpc29yXSIKQEAgLTQ3
OSw3ICs0NzksNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRpZ2l0IEpTQmlnSW50OjpkaWdpdERpdihE
aWdpdCBoaWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlzb3IsCiAgICAgICAgIDogImQiKGhpZ2gp
LCAiYSIobG93KSwgW2Rpdmlzb3JdICJybSIoZGl2aXNvcikpOwogICAgIHJlbWFpbmRlciA9IHJl
bTsKICAgICByZXR1cm4gcXVvdGllbnQ7Ci0jZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCisjZWxpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAg
ICBEaWdpdCBxdW90aWVudDsKICAgICBEaWdpdCByZW07CiAgICAgX19hc21fXygiZGl2bCAgJVtk
aXZpc29yXSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwIGIvU291
cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggMmI5NDYwYWE2N2VlYjdiOTJhOTNmNzRj
ZmI1NjExMmE0NzQyODgwMC4uNGRiZTE4NDU1ZDVkYzMwZjE3MmEwMDVlNTMwYTlmY2MzZDRkOTQ0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTI1NCwxMSArMjU0LDExIEBAIHZvaWQgV1RGQ3Jh
c2goKQogI2Vsc2UKICAgICAqKGludCAqKSh1aW50cHRyX3QpMHhiYmFkYmVlZiA9IDA7CiAgICAg
Ly8gTW9yZSByZWxpYWJsZSwgYnV0IGRvZXNuJ3Qgc2F5IEJCQURCRUVGLgotI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICBfX2J1aWx0
aW5fdHJhcCgpOwogI2Vsc2UKICAgICAoKHZvaWQoKikoKSkwKSgpOwotI2VuZGlmIC8vIENPTVBJ
TEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNl
bmRpZiAvLyBBU0FOX0VOQUJMRUQKIH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggZjU2N2Ey
MjE2ZmU0YzY3NzZlOTI2MGEyZTk1ZTBkZGQ2NGQ0MTRiNC4uZjc4MjUxMzg2NTVjMjYwZjUyZTdk
YTRkNGEzODcwYTgzOTM4MTA1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9u
cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaApAQCAtNTUsNyArNTUsNyBAQAog
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogCiAjaWYgT1MoV0lORE9XUykKLSNpZiAhQ09NUElMRVIo
R0NDX09SX0NMQU5HKQorI2lmICFDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIGV4dGVybiAiQyIg
dm9pZCBfUmVhZFdyaXRlQmFycmllcih2b2lkKTsKICNwcmFnbWEgaW50cmluc2ljKF9SZWFkV3Jp
dGVCYXJyaWVyKQogI2VuZGlmCkBAIC0xMDIsNyArMTAyLDcgQEAgZXh0ZXJuICJDIiB2b2lkIF9S
ZWFkV3JpdGVCYXJyaWVyKHZvaWQpOwogI2RlZmluZSBSRUxFQVNFX0xPR19ESVNBQkxFRCAhKFVT
RShPU19MT0cpKQogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09N
UElMRVIoR0NDX0NPTVBBVElCTEUpCiAjZGVmaW5lIFdURl9QUkVUVFlfRlVOQ1RJT04gX19QUkVU
VFlfRlVOQ1RJT05fXwogI2Vsc2UKICNkZWZpbmUgV1RGX1BSRVRUWV9GVU5DVElPTiBfX0ZVTkNU
SU9OX18KQEAgLTExMSw3ICsxMTEsNyBAQCBleHRlcm4gIkMiIHZvaWQgX1JlYWRXcml0ZUJhcnJp
ZXIodm9pZCk7CiAjaWYgQ09NUElMRVIoTUlOR1cpCiAvKiBCeSBkZWZhdWx0IE1pbkdXIGVtaXRz
IHdhcm5pbmdzIHdoZW4gQzk5IGZvcm1hdCBhdHRyaWJ1dGVzIGFyZSB1c2VkLCBldmVuIGlmIF9f
VVNFX01JTkdXX0FOU0lfU1RESU8gaXMgZGVmaW5lZCAqLwogI2RlZmluZSBXVEZfQVRUUklCVVRF
X1BSSU5URihmb3JtYXRTdHJpbmdBcmd1bWVudCwgZXh0cmFBcmd1bWVudHMpIF9fYXR0cmlidXRl
X18oKF9fZm9ybWF0X18oZ251X3ByaW50ZiwgZm9ybWF0U3RyaW5nQXJndW1lbnQsIGV4dHJhQXJn
dW1lbnRzKSkpCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmICFkZWZpbmVkKF9fT0JK
Q19fKQorI2VsaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmICFkZWZpbmVkKF9fT0JKQ19f
KQogLyogV1RGIGxvZ2dpbmcgZnVuY3Rpb25zIGNhbiBwcm9jZXNzICVAIGluIHRoZSBmb3JtYXQg
c3RyaW5nIHRvIGxvZyBhIE5TT2JqZWN0KiBidXQgdGhlIHByaW50ZiBmb3JtYXQgYXR0cmlidXRl
CiAgICBlbWl0cyBhIHdhcm5pbmcgd2hlbiAlQCBpcyB1c2VkIGluIHRoZSBmb3JtYXQgc3RyaW5n
LiAgVW50aWwgPHJkYXI6Ly9wcm9ibGVtLzUxOTU0Mzc+IGlzIHJlc29sdmVkIHdlIGNhbid0IGlu
Y2x1ZGUKICAgIHRoZSBhdHRyaWJ1dGUgd2hlbiBiZWluZyB1c2VkIGZyb20gT2JqZWN0aXZlLUMg
Y29kZSBpbiBjYXNlIGl0IGRlY2lkZXMgdG8gdXNlICVALiAqLwpAQCAtMTQxLDcgKzE0MSw3IEBA
IGV4dGVybiAiQyIgewogCiAgICBTaWduYWxzIGFyZSBpZ25vcmVkIGJ5IHRoZSBjcmFzaCByZXBv
cnRlciBvbiBPUyBYIHNvIHdlIG11c3QgZG8gYmV0dGVyLgogKi8KLSNpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpIHx8IENPTVBJTEVSKE1TVkMpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUp
IHx8IENPTVBJTEVSKE1TVkMpCiAjZGVmaW5lIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggTk9fUkVU
VVJOCiAjZWxzZQogI2RlZmluZSBOT19SRVRVUk5fRFVFX1RPX0NSQVNICkBAIC01NjQsNyArNTY0
LDcgQEAgdm9pZCBpc0ludGVncmFsVHlwZShULCBUeXBlcy4uLiB0eXBlcykKIAogaW5saW5lIHZv
aWQgY29tcGlsZXJGZW5jZUZvckNyYXNoKCkKIHsKLSNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElM
RVIoR0NDX09SX0NMQU5HKQorI2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0NfQ09NUEFU
SUJMRSkKICAgICBfUmVhZFdyaXRlQmFycmllcigpOwogI2Vsc2UKICAgICBhc20gdm9sYXRpbGUo
IiIgOjo6ICJtZW1vcnkiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaCBi
L1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaAppbmRleCA2ZDc1ZjJhZWQzMWU1ZjEwNTQzOTVmYmRi
Y2U2MzAzMmFhNDNmZGQ4Li42MWZmZDQ4OWE4MzBmN2Y5Zjg1Yzc5NmZiOTAyYTM1ZjAwMDM1MmIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKKysrIGIvU291cmNlL1dURi93
dGYvQXRvbWljcy5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCiAjaWYgT1MoV0lORE9XUykKLSNpZiAhQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lm
ICFDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKIGV4dGVybiAiQyIgdm9pZCBfUmVhZFdyaXRlQmFy
cmllcih2b2lkKTsKICNwcmFnbWEgaW50cmluc2ljKF9SZWFkV3JpdGVCYXJyaWVyKQogI2VuZGlm
CkBAIC0yNDIsNyArMjQyLDcgQEAgaW5saW5lIFQgYXRvbWljRXhjaGFuZ2UoVCogbG9jYXRpb24s
IFQgbmV3VmFsdWUsIHN0ZDo6bWVtb3J5X29yZGVyIG9yZGVyID0gc3RkOjoKIC8vIHRvIGRvIHRo
aW5ncyBsaWtlIHJlZ2lzdGVyIGFsbG9jYXRpb24gYW5kIGNvZGUgbW90aW9uIG92ZXIgcHVyZSBv
cGVyYXRpb25zLgogaW5saW5lIHZvaWQgY29tcGlsZXJGZW5jZSgpCiB7Ci0jaWYgT1MoV0lORE9X
UykgJiYgIUNPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBPUyhXSU5ET1dTKSAmJiAhQ09NUElM
RVIoR0NDX0NPTVBBVElCTEUpCiAgICAgX1JlYWRXcml0ZUJhcnJpZXIoKTsKICNlbHNlCiAgICAg
YXNtIHZvbGF0aWxlKCIiIDo6OiAibWVtb3J5Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9DaGVja2VkQXJpdGhtZXRpYy5oIGIvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aAppbmRleCBlNjY4YmY4YTgzNjRjNjk1OWUxNDYwODRlNzdkZDY0ZDVhZjI2OTg3Li5iOTNlMzYz
MWU5N2E1YzNiZjljZWFkNTFjZDVlZDE1ZWJkNGFhODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0
aG1ldGljLmgKQEAgLTI3MCw3ICsyNzAsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTEhTLCB0eXBl
bmFtZSBSSFMsIHR5cGVuYW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3BlcgogCiAg
ICAgc3RhdGljIGlubGluZSBib29sIGFkZChMSFMgbGhzLCBSSFMgcmhzLCBSZXN1bHRUeXBlJiBy
ZXN1bHQpIFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgIFJlc3VsdFR5cGUgdGVt
cDsKICAgICAgICAgaWYgKF9fYnVpbHRpbl9hZGRfb3ZlcmZsb3cobGhzLCByaHMsICZ0ZW1wKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTI5NCw3ICsyOTQsNyBAQCB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTEhTLCB0eXBlbmFtZSBSSFMsIHR5cGVuYW1lIFJlc3VsdFR5cGU+IHN0cnVjdCBB
cml0aG1ldGljT3BlcgogCiAgICAgc3RhdGljIGlubGluZSBib29sIHN1YihMSFMgbGhzLCBSSFMg
cmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpIFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIHsKLSNpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAg
ICAgIFJlc3VsdFR5cGUgdGVtcDsKICAgICAgICAgaWYgKF9fYnVpbHRpbl9zdWJfb3ZlcmZsb3co
bGhzLCByaHMsICZ0ZW1wKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMxNyw3ICsz
MTcsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTEhTLCB0eXBlbmFtZSBSSFMsIHR5cGVuYW1lIFJl
c3VsdFR5cGU+IHN0cnVjdCBBcml0aG1ldGljT3BlcgogCiAgICAgc3RhdGljIGlubGluZSBib29s
IG11bHRpcGx5KExIUyBsaHMsIFJIUyByaHMsIFJlc3VsdFR5cGUmIHJlc3VsdCkgV0FSTl9VTlVT
RURfUkVUVVJOCiAgICAgewotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxF
UihHQ0NfQ09NUEFUSUJMRSkKICAgICAgICAgUmVzdWx0VHlwZSB0ZW1wOwogICAgICAgICBpZiAo
X19idWlsdGluX211bF9vdmVyZmxvdyhsaHMsIHJocywgJnRlbXApKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMzU2LDcgKzM1Niw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMSFMsIHR5
cGVuYW1lIFJIUywgdHlwZW5hbWUgUmVzdWx0VHlwZT4gc3RydWN0IEFyaXRobWV0aWNPcGVyCiAg
ICAgLy8gTEhTIGFuZCBSSFMgYXJlIHVuc2lnbmVkIHR5cGVzIHNvIGJvdW5kcyBjaGVja3MgYXJl
IG5pY2UgYW5kIGVhc3kKICAgICBzdGF0aWMgaW5saW5lIGJvb2wgYWRkKExIUyBsaHMsIFJIUyBy
aHMsIFJlc3VsdFR5cGUmIHJlc3VsdCkgV0FSTl9VTlVTRURfUkVUVVJOCiAgICAgewotI2lmIENP
TVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICAg
ICAgUmVzdWx0VHlwZSB0ZW1wOwogICAgICAgICBpZiAoX19idWlsdGluX2FkZF9vdmVyZmxvdyhs
aHMsIHJocywgJnRlbXApKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzczLDcgKzM3
Myw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMSFMsIHR5cGVuYW1lIFJIUywgdHlwZW5hbWUgUmVz
dWx0VHlwZT4gc3RydWN0IEFyaXRobWV0aWNPcGVyCiAKICAgICBzdGF0aWMgaW5saW5lIGJvb2wg
c3ViKExIUyBsaHMsIFJIUyByaHMsIFJlc3VsdFR5cGUmIHJlc3VsdCkgV0FSTl9VTlVTRURfUkVU
VVJOCiAgICAgewotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0Nf
Q09NUEFUSUJMRSkKICAgICAgICAgUmVzdWx0VHlwZSB0ZW1wOwogICAgICAgICBpZiAoX19idWls
dGluX3N1Yl9vdmVyZmxvdyhsaHMsIHJocywgJnRlbXApKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMzkwLDcgKzM5MCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMSFMsIHR5cGVuYW1l
IFJIUywgdHlwZW5hbWUgUmVzdWx0VHlwZT4gc3RydWN0IEFyaXRobWV0aWNPcGVyCiAKICAgICBz
dGF0aWMgaW5saW5lIGJvb2wgbXVsdGlwbHkoTEhTIGxocywgUkhTIHJocywgUmVzdWx0VHlwZSYg
cmVzdWx0KSBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICB7Ci0jaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogICAgICAgICBSZXN1bHRUeXBlIHRl
bXA7CiAgICAgICAgIGlmIChfX2J1aWx0aW5fbXVsX292ZXJmbG93KGxocywgcmhzLCAmdGVtcCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MTUsNyArNDE1LDcgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIExIUywgdHlwZW5hbWUgUkhTLCB0eXBlbmFtZSBSZXN1bHRUeXBlPiBzdHJ1Y3Qg
QXJpdGhtZXRpY09wZXIKIHRlbXBsYXRlIDx0eXBlbmFtZSBSZXN1bHRUeXBlPiBzdHJ1Y3QgQXJp
dGhtZXRpY09wZXJhdGlvbnM8aW50LCB1bnNpZ25lZCwgUmVzdWx0VHlwZSwgdHJ1ZSwgZmFsc2U+
IHsKICAgICBzdGF0aWMgaW5saW5lIGJvb2wgYWRkKGludDY0X3QgbGhzLCBpbnQ2NF90IHJocywg
UmVzdWx0VHlwZSYgcmVzdWx0KQogICAgIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisj
aWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgICAgIFJlc3VsdFR5cGUgdGVtcDsKICAg
ICAgICAgaWYgKF9fYnVpbHRpbl9hZGRfb3ZlcmZsb3cobGhzLCByaHMsICZ0ZW1wKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQzNCw3ICs0MzQsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgUmVzdWx0VHlwZT4gc3RydWN0IEFyaXRobWV0aWNPcGVyYXRpb25zPGludCwgdW5zaWduZWQs
IFJlc3VsdAogICAgIAogICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBzdWIoaW50NjRfdCBsaHMsIGlu
dDY0X3QgcmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpCiAgICAgewotI2lmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICAgICAgUmVzdWx0VHlw
ZSB0ZW1wOwogICAgICAgICBpZiAoX19idWlsdGluX3N1Yl9vdmVyZmxvdyhsaHMsIHJocywgJnRl
bXApKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDUzLDcgKzQ1Myw3IEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBSZXN1bHRUeXBlPiBzdHJ1Y3QgQXJpdGhtZXRpY09wZXJhdGlvbnM8aW50
LCB1bnNpZ25lZCwgUmVzdWx0CiAKICAgICBzdGF0aWMgaW5saW5lIGJvb2wgbXVsdGlwbHkoaW50
NjRfdCBsaHMsIGludDY0X3QgcmhzLCBSZXN1bHRUeXBlJiByZXN1bHQpCiAgICAgewotI2lmIENP
TVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICAgICAg
ICAgUmVzdWx0VHlwZSB0ZW1wOwogICAgICAgICBpZiAoX19idWlsdGluX211bF9vdmVyZmxvdyhs
aHMsIHJocywgJnRlbXApKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5k
ZXggOTBjZTQ4MjI5YzI1OWQ3YzhlZGU5YWM4MmMwMmQ3ZWM0ZjhmNmU3Zi4uY2UxNjRmNGM0YjJl
ZmQ5MTk2ZDY2MDkwNzkxNDZkNzIxNDIyYTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Q29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC04MSwxNCArODEs
MTQgQEAKIAogI2VuZGlmIC8vIGRlZmluZWQoX19jbGFuZ19fKQogCi0vKiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpIC0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gb3IgQ2xhbmcgKi8KKy8qIENPTVBJ
TEVSKEdDQ19DT01QQVRJQkxFKSAtIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIG9yIGNvbXBhdGli
bGVzICovCiAjaWYgZGVmaW5lZChfX0dOVUNfXykKLSNkZWZpbmUgV1RGX0NPTVBJTEVSX0dDQ19P
Ul9DTEFORyAxCisjZGVmaW5lIFdURl9DT01QSUxFUl9HQ0NfQ09NUEFUSUJMRSAxCiAjZW5kaWYK
IAogLyogQ09NUElMRVIoR0NDKSAtIEdOVSBDb21waWxlciBDb2xsZWN0aW9uICovCiAvKiBOb3Rl
OiBUaGlzIHNlY3Rpb24gbXVzdCBjb21lIGFmdGVyIHRoZSBDbGFuZyBzZWN0aW9uIHNpbmNlIHdl
IGNoZWNrICFDT01QSUxFUihDTEFORykgaGVyZS4gKi8KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmICFDT01QSUxFUihDTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYg
IUNPTVBJTEVSKENMQU5HKQogI2RlZmluZSBXVEZfQ09NUElMRVJfR0NDIDEKIAogI2RlZmluZSBH
Q0NfVkVSU0lPTiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAwICsgX19H
TlVDX1BBVENITEVWRUxfXykKQEAgLTEwMCw3ICsxMDAsNyBAQAogCiAjZW5kaWYgLyogQ09NUElM
RVIoR0NDKSAqLwogCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBkZWZpbmVkKE5ERUJV
RykgJiYgIWRlZmluZWQoX19PUFRJTUlaRV9fKSAmJiAhZGVmaW5lZChSRUxFQVNFX1dJVEhPVVRf
T1BUSU1JWkFUSU9OUykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgZGVmaW5lZChO
REVCVUcpICYmICFkZWZpbmVkKF9fT1BUSU1JWkVfXykgJiYgIWRlZmluZWQoUkVMRUFTRV9XSVRI
T1VUX09QVElNSVpBVElPTlMpCiAjZXJyb3IgIkJ1aWxkaW5nIHJlbGVhc2Ugd2l0aG91dCBjb21w
aWxlciBvcHRpbWl6YXRpb25zOiBXZWJLaXQgd2lsbCBiZSBzbG93LiBTZXQgLURSRUxFQVNFX1dJ
VEhPVVRfT1BUSU1JWkFUSU9OUyBpZiB0aGlzIGlzIGludGVuZGVkLiIKICNlbmRpZgogCkBAIC0x
NjMsNyArMTYzLDcgQEAKIAogLyogSW4gR0NDIGZ1bmN0aW9ucyBtYXJrZWQgd2l0aCBub19zYW5p
dGl6ZV9hZGRyZXNzIGNhbm5vdCBjYWxsIGZ1bmN0aW9ucyB0aGF0IGFyZSBtYXJrZWQgd2l0aCBh
bHdheXNfaW5saW5lIGFuZCBub3QgbWFya2VkIHdpdGggbm9fc2FuaXRpemVfYWRkcmVzcy4KICAq
IFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdpdmUgdXAgb24gdGhlIGVuZm9yY2VtZW50IG9mIEFMV0FZ
U19JTkxJTkUgd2hlbiBidWxkaW5nIHdpdGggQVNBTi4gaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6
aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjczNjggKi8KLSNpZiAhZGVmaW5lZChBTFdBWVNfSU5MSU5F
KSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIGRlZmluZWQoTkRFQlVHKSAmJiAhQ09NUElM
RVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBBU0FOX0VOQUJMRUQpCisjaWYgIWRlZmlu
ZWQoQUxXQVlTX0lOTElORSkgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmIGRlZmluZWQo
TkRFQlVHKSAmJiAhQ09NUElMRVIoTUlOR1cpICYmICEoQ09NUElMRVIoR0NDKSAmJiBBU0FOX0VO
QUJMRUQpCiAjZGVmaW5lIEFMV0FZU19JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKF9fYWx3
YXlzX2lubGluZV9fKSkKICNlbmRpZgogCkBAIC0yMTksNyArMjE5LDcgQEAKIAogLyogTElLRUxZ
ICovCiAKLSNpZiAhZGVmaW5lZChMSUtFTFkpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNp
ZiAhZGVmaW5lZChMSUtFTFkpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBM
SUtFTFkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICNlbmRpZgogCkBAIC0yMjksNyAr
MjI5LDcgQEAKIAogLyogTkVWRVJfSU5MSU5FICovCiAKLSNpZiAhZGVmaW5lZChORVZFUl9JTkxJ
TkUpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiAhZGVmaW5lZChORVZFUl9JTkxJTkUp
ICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBORVZFUl9JTkxJTkUgX19hdHRy
aWJ1dGVfXygoX19ub2lubGluZV9fKSkKICNlbmRpZgogCkBAIC0yNDMsNyArMjQzLDcgQEAKIAog
LyogTk9fUkVUVVJOICovCiAKLSNpZiAhZGVmaW5lZChOT19SRVRVUk4pICYmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykKKyNpZiAhZGVmaW5lZChOT19SRVRVUk4pICYmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKQogI2RlZmluZSBOT19SRVRVUk4gX19hdHRyaWJ1dGUoKF9fbm9yZXR1cm5fXykpCiAj
ZW5kaWYKIApAQCAtMjY4LDcgKzI2OCw3IEBACiAjZW5kaWYKIAogLyogUkVUVVJOU19OT05OVUxM
ICovCi0jaWYgIWRlZmluZWQoUkVUVVJOU19OT05OVUxMKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgIWRlZmluZWQoUkVUVVJOU19OT05OVUxMKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFU
SUJMRSkKICNkZWZpbmUgUkVUVVJOU19OT05OVUxMIF9fYXR0cmlidXRlX18oKHJldHVybnNfbm9u
bnVsbCkpCiAjZW5kaWYKIApAQCAtMzEwLDcgKzMxMCw3IEBACiAKIC8qIFBVUkVfRlVOQ1RJT04g
Ki8KIAotI2lmICFkZWZpbmVkKFBVUkVfRlVOQ1RJT04pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFO
RykKKyNpZiAhZGVmaW5lZChQVVJFX0ZVTkNUSU9OKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJM
RSkKICNkZWZpbmUgUFVSRV9GVU5DVElPTiBfX2F0dHJpYnV0ZV9fKChfX3B1cmVfXykpCiAjZW5k
aWYKIApAQCAtMzIwLDcgKzMyMCw3IEBACiAKIC8qIFVOVVNFRF9GVU5DVElPTiAqLwogCi0jaWYg
IWRlZmluZWQoVU5VU0VEX0ZVTkNUSU9OKSAmJiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYg
IWRlZmluZWQoVU5VU0VEX0ZVTkNUSU9OKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNk
ZWZpbmUgVU5VU0VEX0ZVTkNUSU9OIF9fYXR0cmlidXRlX18oKHVudXNlZCkpCiAjZW5kaWYKIApA
QCAtMzMwLDcgKzMzMCw3IEBACiAKIC8qIFJFRkVSRU5DRURfRlJPTV9BU00gKi8KIAotI2lmICFk
ZWZpbmVkKFJFRkVSRU5DRURfRlJPTV9BU00pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNp
ZiAhZGVmaW5lZChSRUZFUkVOQ0VEX0ZST01fQVNNKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJM
RSkKICNkZWZpbmUgUkVGRVJFTkNFRF9GUk9NX0FTTSBfX2F0dHJpYnV0ZV9fKChfX3VzZWRfXykp
CiAjZW5kaWYKIApAQCAtMzQwLDcgKzM0MCw3IEBACiAKIC8qIFVOTElLRUxZICovCiAKLSNpZiAh
ZGVmaW5lZChVTkxJS0VMWSkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmICFkZWZpbmVk
KFVOTElLRUxZKSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNkZWZpbmUgVU5MSUtFTFko
eCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICNlbmRpZgogCkBAIC0zNjksNyArMzY5LDcg
QEAKIAogLyogV0FSTl9VTlVTRURfUkVUVVJOICovCiAKLSNpZiAhZGVmaW5lZChXQVJOX1VOVVNF
RF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiAhZGVmaW5lZChXQVJOX1VO
VVNFRF9SRVRVUk4pICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBXQVJOX1VO
VVNFRF9SRVRVUk4gX19hdHRyaWJ1dGVfXygoX193YXJuX3VudXNlZF9yZXN1bHRfXykpCiAjZW5k
aWYKIApAQCAtMzkyLDcgKzM5Miw3IEBACiAKICNkZWZpbmUgX0NPTVBJTEVSX1dBUk5JTkdfTkFN
RSh3YXJuaW5nKSAiLVciIHdhcm5pbmcKIAotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNp
ZiBDT01QSUxFUihHQ0MpIHx8IENPTVBJTEVSKENMQU5HKQogI2RlZmluZSBJR05PUkVfV0FSTklO
R1NfQkVHSU5fQ09ORChjb25kLCBjb21waWxlciwgd2FybmluZykgXAogICAgIF9QcmFnbWEoX0NP
TVBJTEVSX1NUUklOR0laRShjb21waWxlciBkaWFnbm9zdGljIHB1c2gpKSBcCiAgICAgX0NPTVBJ
TEVSX0NPTkNBVChJR05PUkVfV0FSTklOR1NfQkVHSU5fSU1QTF8sIGNvbmQpKGNvbXBpbGVyLCB3
YXJuaW5nKQpAQCAtNDE1LDcgKzQxNSw3IEBACiAjZGVmaW5lIElHTk9SRV9XQVJOSU5HU19CRUdJ
Tl9JTVBMKGNvbXBpbGVyLCB3YXJuaW5nKSBcCiAgICAgX0lHTk9SRV9XQVJOSU5HU19CRUdJTl9J
TVBMKGNvbXBpbGVyLCBfQ09NUElMRVJfV0FSTklOR19OQU1FKHdhcm5pbmcpKQogCi0jZW5kaWYg
Ly8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2VuZGlmIC8vIENPTVBJTEVSKEdDQykgfHwgQ09N
UElMRVIoQ0xBTkcpCiAKIAogI2lmIENPTVBJTEVSKEdDQykKQEAgLTQzNCw3ICs0MzQsNyBAQAog
I2RlZmluZSBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAjZW5kaWYKIAotI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0MpIHx8IENPTVBJTEVSKENMQU5HKQogI2Rl
ZmluZSBJR05PUkVfV0FSTklOR1NfQkVHSU4od2FybmluZykgSUdOT1JFX1dBUk5JTkdTX0JFR0lO
X0lNUEwoR0NDLCB3YXJuaW5nKQogI2RlZmluZSBJR05PUkVfV0FSTklOR1NfRU5EIElHTk9SRV9X
QVJOSU5HU19FTkRfSU1QTChHQ0MpCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmFzdE1hbGxvYy5oIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5oCmluZGV4IDlkN2Q3ZmZh
NmNkN2UxM2VlYTgyNTViMjgwYzRhZDA4OTJjMzQzZmMuLmEzMGUyNWEzMDJiM2JlZDgyYTlhYjYz
MGNmODdhOGQ3NTA1ZjE2NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2Mu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmgKQEAgLTI1MCw5ICsyNTAsOSBAQCB1
c2luZyBXVEY6OnRyeUZhc3RaZXJvZWRNYWxsb2M7CiB1c2luZyBXVEY6OmZhc3RBbGlnbmVkTWFs
bG9jOwogdXNpbmcgV1RGOjpmYXN0QWxpZ25lZEZyZWU7CiAKLSNpZiBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpICYmIE9TKERBUldJTikKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgT1Mo
REFSV0lOKQogI2RlZmluZSBXVEZfUFJJVkFURV9JTkxJTkUgX19wcml2YXRlX2V4dGVybl9fIGlu
bGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkKLSNlbGlmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykKKyNlbGlmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2RlZmluZSBXVEZfUFJJ
VkFURV9JTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKQogI2VsaWYg
Q09NUElMRVIoTVNWQykKICNkZWZpbmUgV1RGX1BSSVZBVEVfSU5MSU5FIF9fZm9yY2VpbmxpbmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaAppbmRleCA1MTJjMTYwYzcyMWE1NzZkYTYzZWE5Njg3OTNkOWI3YTJlOGY1
MmZhLi45MTE4MTEyYmYxNjg4Y2RjOGZkYjM0ZTc2ZWJhOTFkMTdiODAxM2JjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4
dHJhcy5oCkBAIC01MjYsNyArNTI2LDcgQEAgdm9pZCBzaHVmZmxlVmVjdG9yKFZlY3RvclR5cGUm
IHZlY3RvciwgY29uc3QgUmFuZG9tRnVuYyYgcmFuZG9tRnVuYykKIAogaW5saW5lIHVuc2lnbmVk
IGNsejMyKHVpbnQzMl90IG51bWJlcikKIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisj
aWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgaWYgKG51bWJlcikKICAgICAgICAgcmV0
dXJuIF9fYnVpbHRpbl9jbHoobnVtYmVyKTsKICAgICByZXR1cm4gMzI7CkBAIC01NTEsNyArNTUx
LDcgQEAgaW5saW5lIHVuc2lnbmVkIGNsejMyKHVpbnQzMl90IG51bWJlcikKIAogaW5saW5lIHVu
c2lnbmVkIGNsejY0KHVpbnQ2NF90IG51bWJlcikKIHsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAgICAgaWYgKG51bWJlcikKICAgICAg
ICAgcmV0dXJuIF9fYnVpbHRpbl9jbHpsbChudW1iZXIpOwogICAgIHJldHVybiA2NDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCmluZGV4IDg4MzViODlkN2Y5YTE1NTI0MTRkNjNiNzAyYjg4YjJlYzhkMjg4ZjQuLjg3ZWQy
ZmQ2OTQ3OWU4NzVjYTgzNTRmYTFiYjE2ZjFkMzgyODQ5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMzI3
LDcgKzMyNyw3IEBACiAjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQogI2Vu
ZGlmCiAKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBB
VElCTEUpCiAvKiBfX0xQNjRfXyBpcyBub3QgZGVmaW5lZCBvbiA2NGJpdCBXaW5kb3dzIHNpbmNl
IGl0IHVzZXMgTExQNjQuIFVzaW5nIF9fU0laRU9GX1BPSU5URVJfXyBpcyBzaW1wbGVyLiAqLwog
I2lmIF9fU0laRU9GX1BPSU5URVJfXyA9PSA4CiAjZGVmaW5lIFdURl9DUFVfQUREUkVTUzY0IDEK
QEAgLTQzNyw3ICs0MzcsNyBAQAogCiAvKiBDUFUoQklHX0VORElBTikgb3IgQ1BVKE1JRERMRV9F
TkRJQU4pIG9yIG5laXRoZXIsIGFzIGFwcHJvcHJpYXRlLiAqLwogCi0jaWYgQ09NUElMRVIoR0ND
X09SX0NMQU5HKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogI2lmIF9fQllURV9PUkRF
Ul9fID09IF9fT1JERVJfQklHX0VORElBTl9fCiAjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAx
CiAjZWxpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXwpAQCAtOTEy
LDcgKzkxMiw3IEBACiAvKiBDb25maWd1cmUgdGhlIEpJVCAqLwogI2lmIENQVShYODYpICYmIENP
TVBJTEVSKE1TVkMpCiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19mYXN0Y2FsbAotI2VsaWYgQ1BV
KFg4NikgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElM
RVIoR0NDX0NPTVBBVElCTEUpCiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAo
KGZhc3RjYWxsKSkKICNlbHNlCiAjZGVmaW5lIEpTQ19IT1NUX0NBTEwKQEAgLTk1MSw3ICs5NTEs
NyBAQAogI2VuZGlmCiAKIC8qIENvbmZpZ3VyZSB0aGUgaW50ZXJwcmV0ZXIgKi8KLSNpZiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCiAjZGVmaW5l
IEhBVkVfQ09NUFVURURfR09UTyAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaAppbmRleCA4
ODkyZmY2MzM5Njc4YjBkNzZhNGY0OGFmMmE2YzY5MjFkZDQ4MjYxLi4yY2JlYTYwMzYyZGJkYjRk
NzNmNmQyMTliYWFjMGY1NTQ0Y2I5NWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGRM
aWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtODEsNyAr
ODEsNyBAQAogICogLSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzgw
NDUKICAqIC0gaHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00Mzk3
NgogICovCi0jaWYgKENQVShBUk0pIHx8IENQVShNSVBTKSkgJiYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKQorI2lmIChDUFUoQVJNKSB8fCBDUFUoTUlQUykpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKQogdGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4KIGlubGluZSBib29sIGlzUG9pbnRlclR5cGVB
bGlnbm1lbnRPa2F5KFR5cGUqIHB0cikKIHsKQEAgLTE2OCw3ICsxNjgsNyBAQCBpbmxpbmUgc2l6
ZV90IGJpdENvdW50KHVpbnQ2NF90IGJpdHMpCiAvLyBNYWNybyB0aGF0IHJldHVybnMgYSBjb21w
aWxlIHRpbWUgY29uc3RhbnQgd2l0aCB0aGUgbGVuZ3RoIG9mIGFuIGFycmF5LCBidXQgZ2l2ZXMg
YW4gZXJyb3IgaWYgcGFzc2VkIGEgbm9uLWFycmF5LgogdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6
ZV90IFNpemU+IGNoYXIgKCZBcnJheUxlbmd0aEhlbHBlckZ1bmN0aW9uKFQgKCYpW1NpemVdKSlb
U2l6ZV07CiAvLyBHQ0MgbmVlZHMgc29tZSBoZWxwIHRvIGRlZHVjZSBhIDAgbGVuZ3RoIGFycmF5
LgotI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJM
RSkKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNoYXIgKCZBcnJheUxlbmd0aEhlbHBlckZ1bmN0aW9u
KFQgKCYpWzBdKSlbMF07CiAjZW5kaWYKICNkZWZpbmUgV1RGX0FSUkFZX0xFTkdUSChhcnJheSkg
c2l6ZW9mKDo6V1RGOjpBcnJheUxlbmd0aEhlbHBlckZ1bmN0aW9uKGFycmF5KSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKaW5k
ZXggY2M4YTI0OGRiNjY3MjAyMmYyZjgyOWQ5NjQ0NDVhNmViZWYxNTQ0MS4uZDJiY2Y1YTEyYzZk
M2EyOGQ2N2JjZjJlM2JmN2E1MGY2NTMyNmIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VmVjdG9yLmgKKysrIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKQEAgLTIwMSw3ICsyMDEsNyBA
QCBzdHJ1Y3QgVmVjdG9yRmlsbGVyPHRydWUsIFQ+CiAgICAgc3RhdGljIHZvaWQgdW5pbml0aWFs
aXplZEZpbGwoVCogZHN0LCBUKiBkc3RFbmQsIGNvbnN0IFQmIHZhbCkgCiAgICAgewogICAgICAg
ICBzdGF0aWNfYXNzZXJ0KHNpemVvZihUKSA9PSAxLCAiU2l6ZSBvZiB0eXBlIFQgc2hvdWxkIGJl
IGVxdWFsIHRvIG9uZSEiKTsKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIGRlZmluZWQo
X0ZPUlRJRllfU09VUkNFKQorI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBkZWZpbmVk
KF9GT1JUSUZZX1NPVVJDRSkKICAgICAgICAgaWYgKCFfX2J1aWx0aW5fY29uc3RhbnRfcChkc3RF
bmQgLSBkc3QpIHx8ICghKGRzdEVuZCAtIGRzdCkpKQogI2VuZGlmCiAgICAgICAgICAgICBtZW1z
ZXQoZHN0LCB2YWwsIGRzdEVuZCAtIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L0FTQ0lJRmFzdFBhdGguaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlGYXN0UGF0aC5o
CmluZGV4IGNjMDdlZmI1ODY0YzBhNGNhY2VjOGE1NjZmOTU5ZmNmZDMwMGZkYzMuLjdlNjhmMmJi
YzU2OGZkZmJmNTRiOTA2ZjZhODFhYjE0MzViMDY3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlG
YXN0UGF0aC5oCkBAIC0xMzksNyArMTM5LDcgQEAgaW5saW5lIHZvaWQgY29weUxDaGFyc0Zyb21V
Q2hhclNvdXJjZShMQ2hhciogZGVzdGluYXRpb24sIGNvbnN0IFVDaGFyKiBzb3VyY2UsIHMKICAg
ICAgICAgQVNTRVJUKCEoc291cmNlW2ldICYgMHhmZjAwKSk7CiAgICAgICAgIGRlc3RpbmF0aW9u
W2ldID0gc3RhdGljX2Nhc3Q8TENoYXI+KHNvdXJjZVtpXSk7CiAgICAgfQotI2VsaWYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNNjQpICYmICFkZWZpbmVkKF9fSUxQMzJfXykgJiYg
ZGVmaW5lZChOREVCVUcpCisjZWxpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgQ1BVKEFS
TTY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pICYmIGRlZmluZWQoTkRFQlVHKQogICAgIGNvbnN0
IExDaGFyKiBjb25zdCBlbmQgPSBkZXN0aW5hdGlvbiArIGxlbmd0aDsKICAgICBjb25zdCB1aW50
cHRyX3QgbWVtb3J5QWNjZXNzU2l6ZSA9IDE2OwogCkBAIC0xNjAsNyArMTYwLDcgQEAgaW5saW5l
IHZvaWQgY29weUxDaGFyc0Zyb21VQ2hhclNvdXJjZShMQ2hhciogZGVzdGluYXRpb24sIGNvbnN0
IFVDaGFyKiBzb3VyY2UsIHMKIAogICAgIHdoaWxlIChkZXN0aW5hdGlvbiAhPSBlbmQpCiAgICAg
ICAgICpkZXN0aW5hdGlvbisrID0gc3RhdGljX2Nhc3Q8TENoYXI+KCpzb3VyY2UrKyk7Ci0jZWxp
ZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fTkVPTikgJiYgIShDUFUoQklHX0VO
RElBTikgfHwgQ1BVKE1JRERMRV9FTkRJQU4pKSAmJiBkZWZpbmVkKE5ERUJVRykKKyNlbGlmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKSAmJiBDUFUoQVJNX05FT04pICYmICEoQ1BVKEJJR19FTkRJ
QU4pIHx8IENQVShNSURETEVfRU5ESUFOKSkgJiYgZGVmaW5lZChOREVCVUcpCiAgICAgY29uc3Qg
TENoYXIqIGNvbnN0IGVuZCA9IGRlc3RpbmF0aW9uICsgbGVuZ3RoOwogICAgIGNvbnN0IHVpbnRw
dHJfdCBtZW1vcnlBY2Nlc3NTaXplID0gODsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5n
TkVPTi5jcHAKaW5kZXggNzNlMzJiODRkZGViMTQ5MGJjNGJjZThmNjdhY2U1MzNiOTJkODUyZS4u
NjQ5NTBkMTczMmU4MmRjYmU5Njc5N2Y4ZGE2N2E5MjE0MTU0ODIxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdO
RU9OLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2Zp
bHRlcnMvRkVMaWdodGluZ05FT04uY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRkVMaWdodGluZ05FT04uaCIKIAotI2lmIENQVShBUk1fTkVPTikg
JiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmIENQ
VShBUk1fTkVPTikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkgJiYgQ09NUElMRVIoR0NDX0NPTVBB
VElCTEUpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTAwLDQgKzUwMCw0IEBAIGludCBG
RUxpZ2h0aW5nOjpnZXRQb3dlckNvZWZmaWNpZW50cyhmbG9hdCBleHBvbmVudCkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpCisjZW5kaWYgLy8gQ1BVKEFSTV9ORU9OKSAmJiBDT01QSUxFUihHQ0NfQ09N
UEFUSUJMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nw
dS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKaW5kZXggYjU0MmE0Yzgx
YWEzYjExNzc3YjU4ZTYyZDhlYTc1ZGI0NzNlNzMxOC4uOGU5ZjBkMWFkNDQ2OTY2OWU1ZDNmMTQ0
NjQ0ZWQ3N2UwMTFlOWI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKQEAg
LTI3LDcgKzI3LDcgQEAKICNpZm5kZWYgRkVMaWdodGluZ05FT05faAogI2RlZmluZSBGRUxpZ2h0
aW5nTkVPTl9oCiAKLSNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJB
RElUSU9OQUwpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiAjaW5jbHVkZSAiRkVMaWdo
dGluZy5oIgogI2luY2x1ZGUgIlBvaW50TGlnaHRTb3VyY2UuaCIKQEAgLTE5Niw2ICsxOTYsNiBA
QCBpbmxpbmUgdm9pZCBGRUxpZ2h0aW5nOjpwbGF0Zm9ybUFwcGx5TmVvbihjb25zdCBMaWdodGlu
Z0RhdGEmIGRhdGEsIGNvbnN0IExpZ2h0UwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBDUFUoQVJNX05FT04pICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNlbmRpZiAv
LyBDUFUoQVJNX05FT04pICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQogCiAjZW5kaWYgLy8g
RkVMaWdodGluZ05FT05faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUxpZ2h0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKaW5kZXggNzgxYTc5OGYxZmNmZmNmZjE1YjNi
OWZiMTA0YjY3NmExY2Y3M2FhNy4uODg3ODgwODExNGQ3NzU2NzA4MzEyY2FhNTM3MGM0NDE0MjEz
ZDJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUxpZ2h0aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCkBAIC0zODAsNyArMzgwLDcgQEAgdm9pZCBGRUxpZ2h0aW5n
OjpwbGF0Zm9ybUFwcGx5R2VuZXJpYyhjb25zdCBMaWdodGluZ0RhdGEmIGRhdGEsIGNvbnN0IExp
Z2h0U291cmMKIGlubGluZSB2b2lkIEZFTGlnaHRpbmc6OnBsYXRmb3JtQXBwbHkoY29uc3QgTGln
aHRpbmdEYXRhJiBkYXRhLCBjb25zdCBMaWdodFNvdXJjZTo6UGFpbnRpbmdEYXRhJiBwYWludGlu
Z0RhdGEpCiB7CiAgICAgLy8gVGhlIHNlbGVjdGlvbiBoZXJlIGV2ZW50dWFsbHkgc2hvdWxkIGhh
cHBlbiBkeW5hbWljYWxseSBvbiBzb21lIHBsYXRmb3Jtcy4KLSNpZiBDUFUoQVJNX05FT04pICYm
IENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyNpZiBDUFUo
QVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKQogICAgIHBsYXRmb3JtQXBwbHlOZW9uKGRhdGEsIHBhaW50aW5nRGF0YSk7CiAjZWxzZQog
ICAgIHBsYXRmb3JtQXBwbHlHZW5lcmljKGRhdGEsIHBhaW50aW5nRGF0YSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5oCmlu
ZGV4IGNlMTczZTAwODgzODM5NTk5ODNjYmU3ZTM4ZGVkYzhjMDUwMTg1NGIuLjdmM2NlZWM5Nzcw
Y2E0YzVmYzI2ZTExN2NmMmU0Nzg2YTQ3MTAzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5oCkBAIC0xNDcsNyArMTQ3
LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcGxhdGZvcm1BcHBseUdlbmVyaWNQYWludChjb25z
dCBMaWdodGluZ0RhdGEmLCBjb25zdCBMaWdodFNvdXJjZTo6UGFpbnRpbmdEYXRhJiwgaW50IHN0
YXJ0WCwgaW50IHN0YXJ0WSk7CiAgICAgdm9pZCBwbGF0Zm9ybUFwcGx5R2VuZXJpYyhjb25zdCBM
aWdodGluZ0RhdGEmLCBjb25zdCBMaWdodFNvdXJjZTo6UGFpbnRpbmdEYXRhJik7CiAKLSNpZiBD
UFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKKyNpZiBDUFUoQVJNX05FT04pICYmIENQVShBUk1fVFJBRElUSU9OQUwpICYmIENPTVBJ
TEVSKEdDQ19DT01QQVRJQkxFKQogICAgIHN0YXRpYyBpbnQgZ2V0UG93ZXJDb2VmZmljaWVudHMo
ZmxvYXQgZXhwb25lbnQpOwogICAgIGlubGluZSB2b2lkIHBsYXRmb3JtQXBwbHlOZW9uKGNvbnN0
IExpZ2h0aW5nRGF0YSYsIGNvbnN0IExpZ2h0U291cmNlOjpQYWludGluZ0RhdGEmKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CQ29tcGlsZXIuaCBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvQkNvbXBpbGVyLmgKaW5kZXggMDU1MzI2ZTUzYWI2ZTE5ZDlkODg3
NzFmODA1ZmYzYWY0NDljNDJmNy4uNGVmODM1YTNkN2Q3ZjI1MmYwOTM1NjA3NWRhMDgyNzk5MDQx
ZDM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9CQ29tcGlsZXIuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JDb21waWxlci5oCkBAIC0zOCwxNSArMzgsMTUgQEAK
IAogI2RlZmluZSBCQVNBTl9FTkFCTEVEIEJDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShhZGRy
ZXNzX3Nhbml0aXplcikKIAotLyogQkNPTVBJTEVSKEdDQ19PUl9DTEFORykgLSBHTlUgQ29tcGls
ZXIgQ29sbGVjdGlvbiBvciBDbGFuZyAqLworLyogQkNPTVBJTEVSKEdDQ19DT01QQVRJQkxFKSAt
IEdOVSBDb21waWxlciBDb2xsZWN0aW9uIG9yIGNvbXBhdGlibGVzICovCiAKICNpZiBkZWZpbmVk
KF9fR05VQ19fKQotI2RlZmluZSBCQ09NUElMRVJfR0NDX09SX0NMQU5HIDEKKyNkZWZpbmUgQkNP
TVBJTEVSX0dDQ19DT01QQVRJQkxFIDEKICNlbmRpZgogCiAvKiBCTk9fUkVUVVJOICovCiAKLSNp
ZiAhZGVmaW5lZChCTk9fUkVUVVJOKSAmJiBCQ09NUElMRVIoR0NDX09SX0NMQU5HKQorI2lmICFk
ZWZpbmVkKEJOT19SRVRVUk4pICYmIEJDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKICNkZWZpbmUg
Qk5PX1JFVFVSTiBfX2F0dHJpYnV0ZSgoX19ub3JldHVybl9fKSkKICNlbmRpZgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>