<?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>220529</bug_id>
          
          <creation_ts>2021-01-11 18:48:34 -0800</creation_ts>
          <short_desc>Reimplement WebCore::isInWebProcess() family as cross-platform by using AuxiliaryProcessInitializationParameters.processType</short_desc>
          <delta_ts>2021-01-13 13:06:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718882</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-11 18:48:34 -0800</bug_when>
    <thetext>Reimplement WebCore::isInWebProcess() families as cross-platform by using AuxiliaryProcessInitializationParameters.processType

I&apos;m going to reimplement the following functions.

 WebCore::isInWebProcess()
 WebCore::isInGPUProcess()
 WebCore::isInNetworkProcess()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718883</commentid>
    <comment_count>1</comment_count>
      <attachid>417425</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-11 18:49:18 -0800</bug_when>
    <thetext>Created attachment 417425
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718885</commentid>
    <comment_count>2</comment_count>
      <attachid>417426</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-11 19:04:19 -0800</bug_when>
    <thetext>Created attachment 417426
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718888</commentid>
    <comment_count>3</comment_count>
      <attachid>417428</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-11 19:54:41 -0800</bug_when>
    <thetext>Created attachment 417428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719070</commentid>
    <comment_count>4</comment_count>
      <attachid>417428</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-12 11:33:42 -0800</bug_when>
    <thetext>Comment on attachment 417428
Patch

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

&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:63
&gt; +static ProcessType s_processType = ProcessType::Invalid;

static Optional&lt;AuxiliaryProcessType&gt; auxiliaryProcessType;

&gt; Source/WebCore/platform/RuntimeApplicationChecks.h:35
&gt; +enum class ProcessType : uint8_t {

AuxiliaryProcessType.
Remove Invalid.

&gt; Source/WebKit/Shared/AuxiliaryProcess.h:48
&gt;      enum class ProcessType : uint8_t {

Let&apos;s remove this duplicate enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719106</commentid>
    <comment_count>5</comment_count>
      <attachid>417428</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 13:26:14 -0800</bug_when>
    <thetext>Comment on attachment 417428
Patch

Thank you for the review. I will revise the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719118</commentid>
    <comment_count>6</comment_count>
      <attachid>417488</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 13:45:40 -0800</bug_when>
    <thetext>Created attachment 417488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719120</commentid>
    <comment_count>7</comment_count>
      <attachid>417489</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 13:50:07 -0800</bug_when>
    <thetext>Created attachment 417489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719123</commentid>
    <comment_count>8</comment_count>
      <attachid>417489</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-12 13:53:28 -0800</bug_when>
    <thetext>Comment on attachment 417489
Patch

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

&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:70
&gt; +Optional&lt;AuxiliaryProcessType&gt; auxiliaryProcessType()

If this returns a const Optional&lt;AuxiliaryProcessType&gt;&amp; you can have a function scoped static variable instead of using possibly uninitialized memory if you call checkAuxiliaryProcessType from the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719163</commentid>
    <comment_count>9</comment_count>
      <attachid>417489</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 16:18:01 -0800</bug_when>
    <thetext>Comment on attachment 417489
Patch

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

&gt;&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:70
&gt;&gt; +Optional&lt;AuxiliaryProcessType&gt; auxiliaryProcessType()
&gt; 
&gt; If this returns a const Optional&lt;AuxiliaryProcessType&gt;&amp; you can have a function scoped static variable instead of using possibly uninitialized memory if you call checkAuxiliaryProcessType from the UI process.

It isn&apos;t uninitialized memory.
And, becasue Optional has a constexpr ctor, I think ctor isn&apos;t executed at runtime.
Here is the function-scope version.

const Optional&lt;AuxiliaryProcessType&gt;&amp; auxiliaryProcessType()
{
    static AuxiliaryProcessType s_auxiliaryProcessType;
    return s_auxiliaryProcessType;
}

I think there is no difference.

Returning Optional&lt;AuxiliaryProcessType&gt;&amp; requires dereferencing in caller side.
Returning Optional&lt;AuxiliaryProcessType&gt; requires dereferencing in callee side.
I didn&apos;t check disassemble code, but I expect returning Optional&lt;AuxiliaryProcessType&gt; is slightly efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719170</commentid>
    <comment_count>10</comment_count>
      <attachid>417489</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 16:27:41 -0800</bug_when>
    <thetext>Comment on attachment 417489
Patch

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

&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:63
&gt; +static AuxiliaryProcessType s_auxiliaryProcessType;

Oops. I fotgot to replace the type. I got your idea. It&apos;s uninitialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719171</commentid>
    <comment_count>11</comment_count>
      <attachid>417496</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 16:31:01 -0800</bug_when>
    <thetext>Created attachment 417496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719173</commentid>
    <comment_count>12</comment_count>
      <attachid>417497</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 16:50:24 -0800</bug_when>
    <thetext>Created attachment 417497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719178</commentid>
    <comment_count>13</comment_count>
      <attachid>417497</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-12 16:59:13 -0800</bug_when>
    <thetext>Comment on attachment 417497
Patch

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

&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:65
&gt; +    static Optional&lt;AuxiliaryProcessType&gt; s_auxiliaryProcessType;

I don&apos;t think we use prefixes for such static variables usually.

&gt; Source/WebKit/Shared/AuxiliaryProcessMain.h:45
&gt; +    AuxiliaryProcessInitializationParameters&amp; m_parameters;

While this may currently be safe (I have not look deeply enough to verify), this looks dangerous and I wish we did not introduce such a fragile design that could very easily lead to use-after-free.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719181</commentid>
    <comment_count>14</comment_count>
      <attachid>417497</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 17:14:34 -0800</bug_when>
    <thetext>Comment on attachment 417497
Patch

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

&gt;&gt; Source/WebCore/platform/RuntimeApplicationChecks.cpp:65
&gt;&gt; +    static Optional&lt;AuxiliaryProcessType&gt; s_auxiliaryProcessType;
&gt; 
&gt; I don&apos;t think we use prefixes for such static variables usually.

Will fix.

&gt;&gt; Source/WebKit/Shared/AuxiliaryProcessMain.h:45
&gt;&gt; +    AuxiliaryProcessInitializationParameters&amp; m_parameters;
&gt; 
&gt; While this may currently be safe (I have not look deeply enough to verify), this looks dangerous and I wish we did not introduce such a fragile design that could very easily lead to use-after-free.

I agree. I will change the patch look more sane.
I will redesign AuxiliaryProcessMain in another bug ticket later. BTW, it is non-cocoa code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719182</commentid>
    <comment_count>15</comment_count>
      <attachid>417501</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-12 17:18:55 -0800</bug_when>
    <thetext>Created attachment 417501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719295</commentid>
    <comment_count>16</comment_count>
      <attachid>417501</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-13 08:28:40 -0800</bug_when>
    <thetext>Comment on attachment 417501
Patch

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

&gt; Source/WebCore/platform/RuntimeApplicationChecks.h:29
&gt; +#include &lt;wtf/Optional.h&gt;

I don&apos;t think this is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719386</commentid>
    <comment_count>17</comment_count>
      <attachid>417552</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-13 12:30:05 -0800</bug_when>
    <thetext>Created attachment 417552
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719390</commentid>
    <comment_count>18</comment_count>
      <attachid>417501</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-13 12:42:16 -0800</bug_when>
    <thetext>Comment on attachment 417501
Patch

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

&gt;&gt; Source/WebCore/platform/RuntimeApplicationChecks.h:29
&gt;&gt; +#include &lt;wtf/Optional.h&gt;
&gt; 
&gt; I don&apos;t think this is needed.

Fixed. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719400</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-13 13:05:40 -0800</bug_when>
    <thetext>Committed r271452: &lt;https://trac.webkit.org/changeset/271452&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417552.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719401</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-13 13:06:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/73163290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417425</attachid>
            <date>2021-01-11 18:49:18 -0800</date>
            <delta_ts>2021-01-11 19:04:51 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>15823</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuY3BwCmluZGV4IDQ3MTEwMTA2NGNjZS4uM2IxZDE0MGNlNzE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAgLTYw
LDQgKzYwLDE2IEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQpCiAg
ICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorc3RhdGlj
IFByb2Nlc3NUeXBlIHNfcHJvY2Vzc1R5cGU7CisKK3ZvaWQgc2V0UHJvY2Vzc1R5cGUoUHJvY2Vz
c1R5cGUgdHlwZSkKK3sKKyAgICBzX3Byb2Nlc3NUeXBlID0gdHlwZTsKK30KKworUHJvY2Vzc1R5
cGUgcHJvY2Vzc1R5cGUoKQoreworICAgIHJldHVybiBzX3Byb2Nlc3NUeXBlOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4IGRlNmRjZDc4OGE4Ni4uMzZkZWEwMmE3NzM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaApAQCAtMzIsMTUgKzMyLDI2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCk7CiBXRUJDT1JFX0VYUE9S
VCBpbnQgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCk7CiAKLSNpZiBQTEFURk9STShDT0NPQSkg
fHwgVVNFKEdMSUIpCi1ib29sIGlzSW5XZWJQcm9jZXNzKCk7Ci1ib29sIGlzSW5HUFVQcm9jZXNz
KCk7Ci1ib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpOwotI2Vsc2UKLWlubGluZSBib29sIGlzSW5X
ZWJQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KLWlubGluZSBib29sIGlzSW5HUFVQcm9jZXNz
KCkgeyByZXR1cm4gZmFsc2U7IH0KLWlubGluZSBib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpIHsg
cmV0dXJuIGZhbHNlOyB9CitlbnVtIGNsYXNzIFByb2Nlc3NUeXBlIDogdWludDhfdCB7CisgICAg
V2ViQ29udGVudCwKKyAgICBOZXR3b3JrLAorICAgIFBsdWdpbiwKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCisgICAgR1BVLAogI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBXZWJB
dXRobiwKKyNlbmRpZgorfTsKKwordm9pZCBzZXRQcm9jZXNzVHlwZShQcm9jZXNzVHlwZSk7CitQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZSgpOworCitpbmxpbmUgYm9vbCBpc0luV2ViUHJvY2Vzcygp
IHsgcmV0dXJuIHByb2Nlc3NUeXBlKCkgPT0gUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ7IH0KKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpCitpbmxpbmUgYm9vbCBpc0luR1BVUHJvY2VzcygpIHsgcmV0
dXJuIHByb2Nlc3NUeXBlKCkgPT0gUHJvY2Vzc1R5cGU6OkdQVTsgfQorI2VuZGlmCitpbmxpbmUg
Ym9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBwcm9jZXNzVHlwZSgpID09IFByb2Nl
c3NUeXBlOjpOZXR3b3JrOyB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0IGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CmluZGV4IDAyZjBiOGI5NGU0Ny4uZGYy
NzNlNThhZGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzR0xp
Yi50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CkBAIC0y
Nyw3ICsyNyw2IEBAIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGliLmNwcAogcGxhdGZvcm0v
Z2xpYi9LZXllZERlY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9LZXllZEVuY29kZXJHbGli
LmNwcAogcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwCi1wbGF0Zm9y
bS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1No
YXJlZEJ1ZmZlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1VzZXJBZ2VudEdMaWIuY3BwCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXggYjA2ZmY0N2RmYzU0Li5iODUxNGVmODBkYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCkBAIC05MCwyNCArOTAsNiBAQCB2b2lkIGNs
ZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCkKICNlbmRpZgog
fQogCi1ib29sIGlzSW5XZWJQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxl
SXNXZWJQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0g
aGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07Ci0gICAgcmV0dXJuIG1h
aW5CdW5kbGVJc1dlYlByb2Nlc3M7Ci19Ci0KLWJvb2wgaXNJbkdQVVByb2Nlc3MoKQotewotICAg
IHN0YXRpYyBib29sIG1haW5CdW5kbGVJc0dQVVByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LkdQVSJd
OwotICAgIHJldHVybiBtYWluQnVuZGxlSXNHUFVQcm9jZXNzOwotfQotCi1ib29sIGlzSW5OZXR3
b3JrUHJvY2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzTmV0d29ya1Byb2Nl
c3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6
QCJjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmciXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlz
TmV0d29ya1Byb2Nlc3M7Ci19Ci0KIHN0YXRpYyBib29sIGFwcGxpY2F0aW9uQnVuZGxlSXNFcXVh
bFRvKGNvbnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllclN0cmluZykKIHsKICAgICByZXR1cm4g
YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkgPT0gYnVuZGxlSWRlbnRpZmllclN0cmluZzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
NWFmODViOTk1MjQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
bGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0g
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIK
LQotI2luY2x1ZGUgPG11dGV4PgotI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jaWYgUExBVEZPUk0oR1RLKQotc3RhdGljIGNvbnN0
IENTdHJpbmcgd2ViUHJvY2Vzc05hbWUgPSAiV2ViS2l0V2ViUHJvY2VzcyI7Ci1zdGF0aWMgY29u
c3QgQ1N0cmluZyBuZXR3b3JrUHJvY2Vzc05hbWUgPSAiV2ViS2l0TmV0d29ya1Byb2Nlc3MiOwot
I2VsaWYgUExBVEZPUk0oV1BFKQotc3RhdGljIGNvbnN0IENTdHJpbmcgd2ViUHJvY2Vzc05hbWUg
PSAiV1BFV2ViUHJvY2VzcyI7Ci1zdGF0aWMgY29uc3QgQ1N0cmluZyBuZXR3b3JrUHJvY2Vzc05h
bWUgPSAiV1BFTmV0d29ya1Byb2Nlc3MiOwotI2VuZGlmCi0KLWJvb2wgaXNJbldlYlByb2Nlc3Mo
KQotewotICAgIHN0YXRpYyBib29sIGlzV2ViUHJvY2VzczsKLSAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKLSAgICAg
ICAgaXNXZWJQcm9jZXNzID0gZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gd2ViUHJvY2Vz
c05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIGlzV2ViUHJvY2VzczsKLX0KLQotYm9vbCBpc0lu
TmV0d29ya1Byb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIGlzTmV0d29ya1Byb2Nlc3M7Ci0g
ICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAgIHN0ZDo6Y2FsbF9vbmNlKG9u
Y2VGbGFnLCBbXSB7Ci0gICAgICAgIGlzTmV0d29ya1Byb2Nlc3MgPSBnZXRDdXJyZW50RXhlY3V0
YWJsZU5hbWUoKSA9PSBuZXR3b3JrUHJvY2Vzc05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIGlz
TmV0d29ya1Byb2Nlc3M7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFp
bkdTdHJlYW1lci5jcHAKaW5kZXggMTU1YWI2ZTg4ZjVmLi5lYWRiZGE3YzA4NjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3Ry
ZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJv
Y2Vzc01haW5HU3RyZWFtZXIuY3BwCkBAIC0zNyw2ICszNyw4IEBAIHN0YXRpYyBSZWZQdHI8R1BV
UHJvY2Vzcz4gZ2xvYmFsR1BVUHJvY2VzczsKIAogY2xhc3MgR1BVUHJvY2Vzc01haW5HU3RyZWFt
ZXIgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAg
IEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMpIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRl
cnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAK
aW5kZXggNzRlMThmZmMzMWYyLi5kZjEyNzhhNjhhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5Q
bGF5U3RhdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDggQEAgc3RhdGljIFJlZlB0cjxHUFVQcm9jZXNz
PiBnbG9iYWxHUFVQcm9jZXNzOwogCiBjbGFzcyBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uIGZp
bmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBHUFVQ
cm9jZXNzTWFpblBsYXlTdGF0aW9uKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMp
IHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2luL0dQVVByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4v
R1BVUHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDc0ZTE4ZmZjMzFmMi4uYmQwOWQzOGNmNWQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQVVByb2Nlc3NNYWluV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQVVByb2Nlc3NNYWluV2lu
LmNwcApAQCAtMzUsOCArMzUsMTAgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBSZWZQ
dHI8R1BVUHJvY2Vzcz4gZ2xvYmFsR1BVUHJvY2VzczsKIAotY2xhc3MgR1BVUHJvY2Vzc01haW5Q
bGF5U3RhdGlvbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CitjbGFz
cyBHUFVQcm9jZXNzTWFpbldpbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFz
ZSB7CiBwdWJsaWM6CisgICAgR1BVUHJvY2Vzc01haW5XaW4oQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJy
aWRlCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUyLDcgKzU0LDcgQEAgdm9pZCBp
bml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxHUFVQcm9jZXNzPihBdXhpbGlhcnlQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWUKIAogaW50IEdQVVByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiog
YXJndikKIHsKLSAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48R1BVUHJvY2VzcywgR1BV
UHJvY2Vzc01haW5QbGF5U3RhdGlvbj4oYXJnYywgYXJndik7CisgICAgcmV0dXJuIEF1eGlsaWFy
eVByb2Nlc3NNYWluPEdQVVByb2Nlc3MsIEdQVVByb2Nlc3NNYWluV2luPihhcmdjLCBhcmd2KTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKaW5kZXgg
ZmU4MjhmZWE4MjJlLi42YzQ4OTM3NTEzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKQEAg
LTM1LDYgKzM1LDggQEAgc3RhdGljIFJlZlB0cjxOZXR3b3JrUHJvY2Vzcz4gZ2xvYmFsTmV0d29y
a1Byb2Nlc3M7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNzTWFpbkN1cmwgZmluYWw6IHB1YmxpYyBB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIE5ldHdvcmtQcm9jZXNzTWFp
bkN1cmwoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICB2b2lk
IHBsYXRmb3JtRmluYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgZ2xvYmFsTmV0d29y
a1Byb2Nlc3MtPmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklE
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtQcm9jZXNzTWFpblNvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCmluZGV4IDRjZjczOTEwOTc4MS4uYzg5NjZkODhl
YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a1Byb2Nlc3NNYWluU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCkBAIC00MSw2ICs0MSw4IEBAIHN0YXRpYyBS
ZWZQdHI8TmV0d29ya1Byb2Nlc3M+IGdsb2JhbE5ldHdvcmtQcm9jZXNzOwogCiBjbGFzcyBOZXR3
b3JrUHJvY2Vzc01haW5Tb3VwIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNl
IHsKIHB1YmxpYzoKKyAgICBOZXR3b3JrUHJvY2Vzc01haW5Tb3VwKEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpIDogQXV4aWxpYXJ5UHJvY2Vzc01h
aW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBv
dmVycmlkZQogICAgIHsKICNpZiBVU0UoR0NSWVBUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmNwcAppbmRleCBjNDZjYjA2ZjVlYTYuLmNiNGJjZTdjYjE4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAgLTY0LDYgKzY0LDggQEAg
dm9pZCBBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFsaXplKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMKIHsKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFi
bGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwogCisgICAgc2V0UHJvY2Vzc1R5cGUoc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6UHJvY2Vzc1R5cGU+KHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUpKTsKKwog
ICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FHRShwYXJhbWV0ZXJzLnByb2Nlc3NJZGVudGlm
aWVyLCAiVW5hYmxlIHRvIGluaXRpYWxpemUgY2hpbGQgcHJvY2VzcyB3aXRob3V0IGEgV2ViQ29y
ZSBwcm9jZXNzIGlkZW50aWZpZXIiKTsKICAgICBQcm9jZXNzOjpzZXRJZGVudGlmaWVyKCpwYXJh
bWV0ZXJzLnByb2Nlc3NJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5
UHJvY2Vzcy5oCmluZGV4IDdiYTIwN2FiYjBhYy4uYmM2NzMxNmM1NDRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAt
NDUsMTQgKzQ2LDE0IEBAIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3MgOiBwcm90ZWN0ZWQgSVBDOjpD
b25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTCiAKIHB1YmxpYzoKICAgICBl
bnVtIGNsYXNzIFByb2Nlc3NUeXBlIDogdWludDhfdCB7Ci0gICAgICAgIFdlYkNvbnRlbnQsCi0g
ICAgICAgIE5ldHdvcmssCi0gICAgICAgIFBsdWdpbiwKKyAgICAgICAgV2ViQ29udGVudCA9IFdl
YkNvcmU6OlByb2Nlc3NUeXBlOjpXZWJDb250ZW50LAorICAgICAgICBOZXR3b3JrID0gV2ViQ29y
ZTo6UHJvY2Vzc1R5cGU6Ok5ldHdvcmssCisgICAgICAgIFBsdWdpbiA9IFdlYkNvcmU6OlByb2Nl
c3NUeXBlOjpQbHVnaW4sCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgICAgICBHUFUsCisg
ICAgICAgIEdQVSA9IFdlYkNvcmU6OlByb2Nlc3NUeXBlOjpHUFUsCiAjZW5kaWYKICNpZiBFTkFC
TEUoV0VCX0FVVEhOKQotICAgICAgICBXZWJBdXRobgorICAgICAgICBXZWJBdXRobiA9IFdlYkNv
cmU6OlByb2Nlc3NUeXBlOjpXZWJBdXRobiwKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCmluZGV4IGJmYzNiZDI0OTMyNS4uZGVm
Yjg0NTk0MDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9j
ZXNzTWFpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWlu
LmgKQEAgLTM1LDE0ICszNSwxMyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykg
OiBtX3BhcmFtZXRlcnMocGFyYW1ldGVycykgeyB9CiAgICAgdmlydHVhbCBib29sIHBsYXRmb3Jt
SW5pdGlhbGl6ZSgpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VDb21t
YW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9y
bUZpbmFsaXplKCkgeyB9CiAKLSAgICBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJiYgdGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpIHsgcmV0dXJuIFdURk1vdmUo
bV9wYXJhbWV0ZXJzKTsgfQotCiBwcm90ZWN0ZWQ6Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYW1ldGVycyBtX3BhcmFtZXRlcnM7CisgICAgQXV4aWxpYXJ5UHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYgbV9wYXJhbWV0ZXJzOwogfTsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgQXV4aWxpYXJ5UHJvY2Vzc1R5cGU+CkBAIC01NCw3ICs1MywxMCBAQCB2b2lkIGluaXRp
YWxpemVBdXhpbGlhcnlQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmJiBwYXJhbQogdGVtcGxhdGU8dHlwZW5hbWUgQXV4aWxpYXJ5UHJvY2Vzc1R5cGUsIHR5
cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZT4KIGludCBBdXhpbGlhcnlQcm9jZXNzTWFp
bihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5UeXBl
IGF1eGlsaWFyeU1haW47CisgICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyBwYXJhbWV0ZXJzOworICAgIHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUgPSBBdXhpbGlhcnlQ
cm9jZXNzVHlwZTo6cHJvY2Vzc1R5cGU7CisgICAgCisgICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5U
eXBlIGF1eGlsaWFyeU1haW4ocGFyYW1ldGVycyk7CiAKICAgICBpZiAoIWF1eGlsaWFyeU1haW4u
cGxhdGZvcm1Jbml0aWFsaXplKCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkBAIC02
NCw3ICs2Niw3IEBAIGludCBBdXhpbGlhcnlQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFy
Z3YpCiAKICAgICBJbml0aWFsaXplV2ViS2l0MigpOwogCi0gICAgaW5pdGlhbGl6ZUF1eGlsaWFy
eVByb2Nlc3M8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+KGF1eGlsaWFyeU1haW4udGFrZUluaXRpYWxp
emF0aW9uUGFyYW1ldGVycygpKTsKKyAgICBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxBdXhp
bGlhcnlQcm9jZXNzVHlwZT4oV1RGTW92ZShwYXJhbWV0ZXJzKSk7CiAgICAgUnVuTG9vcDo6cnVu
KCk7CiAgICAgYXV4aWxpYXJ5TWFpbi5wbGF0Zm9ybUZpbmFsaXplKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggNGM0
NWM2MzVjZjg2Li4wOTYyN2NhNTA0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCkBAIC00NSw2ICs0NSw4IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbkd0ayBmaW5hbDogcHVibGlj
IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5H
dGsoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykg
OiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBs
YXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01h
aW5QbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXggNDVkZTQ1NDUyOWE0Li5mYmM5YThi
MGUxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9X
ZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKQEAgLTM0LDYgKzM0
LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluUGxh
eVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGlj
OgorICAgIFdlYlByb2Nlc3NNYWluUGxheVN0YXRpb24oQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxp
emF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Uo
cGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRl
CiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL3dpbi9XZWJQcm9jZXNzTWFpbldpbi5jcHAKaW5kZXggODliYzE1OWRmMzU5Li45ZGIy
MGRmOTljZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc01haW5XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc01haW5XaW4uY3BwCkBAIC0zOSw2ICszOSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbldpbiBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQcm9j
ZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluV2luKEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpIDogQXV4aWxpYXJ5UHJv
Y2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxp
emUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKFNldFByb2Nlc3NEcGlBd2FyZW5lc3ND
b250ZXh0UHRyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dl
YlByb2Nlc3NNYWluV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJv
Y2Vzc01haW5XUEUuY3BwCmluZGV4IDkwYThkYWYyODIwMC4uYjJjZTk4NmQ0Yzg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcApA
QCAtNzgsNiArNzgsOCBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplQWNjZXNzaWJpbGl0eSgpCiAK
IGNsYXNzIFdlYlByb2Nlc3NNYWluV1BFIGZpbmFsIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5XUEUoQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykgOiBBdXhpbGlhcnlQcm9jZXNz
TWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgp
IG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCg==
</data>
<flag name="commit-queue"
          id="435139"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417426</attachid>
            <date>2021-01-11 19:04:19 -0800</date>
            <delta_ts>2021-01-11 19:56:03 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>16060</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuY3BwCmluZGV4IDQ3MTEwMTA2NGNjZS4uN2JmMDhmMWUyZGJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAgLTYw
LDQgKzYwLDE2IEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQpCiAg
ICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorc3RhdGlj
IFByb2Nlc3NUeXBlIHNfcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6SW52YWxpZDsKKwordm9p
ZCBzZXRQcm9jZXNzVHlwZShQcm9jZXNzVHlwZSB0eXBlKQoreworICAgIHNfcHJvY2Vzc1R5cGUg
PSB0eXBlOworfQorCitQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSgpCit7CisgICAgcmV0dXJuIHNf
cHJvY2Vzc1R5cGU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKaW5kZXggZGU2ZGNk
Nzg4YTg2Li40NTczMDY4YjZhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC0zMiwxNSArMzIsMjcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQcmVzZW50aW5nQXBwbGljYXRpb25Q
SUQoaW50KTsKIFdFQkNPUkVfRVhQT1JUIGludCBwcmVzZW50aW5nQXBwbGljYXRpb25QSUQoKTsK
IAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoR0xJQikKLWJvb2wgaXNJbldlYlByb2Nlc3Mo
KTsKLWJvb2wgaXNJbkdQVVByb2Nlc3MoKTsKLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCk7Ci0j
ZWxzZQotaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiBmYWxzZTsgfQotaW5s
aW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVybiBmYWxzZTsgfQotaW5saW5lIGJvb2wg
aXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KK2VudW0gY2xhc3MgUHJvY2Vz
c1R5cGUgOiB1aW50OF90IHsKKyAgICBJbnZhbGlkLAorICAgIFdlYkNvbnRlbnQsCisgICAgTmV0
d29yaywKKyAgICBQbHVnaW4sCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIEdQVSwKICNl
bmRpZgorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgV2ViQXV0aG4sCisjZW5kaWYKK307CisK
K3ZvaWQgc2V0UHJvY2Vzc1R5cGUoUHJvY2Vzc1R5cGUpOworUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5
cGUoKTsKKworaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiBwcm9jZXNzVHlw
ZSgpID09IFByb2Nlc3NUeXBlOjpXZWJDb250ZW50OyB9CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQoraW5saW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVybiBwcm9jZXNzVHlwZSgpID09
IFByb2Nlc3NUeXBlOjpHUFU7IH0KKyNlbmRpZgoraW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9j
ZXNzKCkgeyByZXR1cm4gcHJvY2Vzc1R5cGUoKSA9PSBQcm9jZXNzVHlwZTo6TmV0d29yazsgfQog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9u
QnVuZGxlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nv
dXJjZXNHTGliLnR4dAppbmRleCAwMmYwYjhiOTRlNDcuLmRmMjczZTU4YWRmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dApAQCAtMjcsNyArMjcsNiBAQCBwbGF0Zm9y
bS9nbGliL0ZpbGVNb25pdG9yR0xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvS2V5ZWREZWNvZGVyR2xp
Yi5jcHAKIHBsYXRmb3JtL2dsaWIvS2V5ZWRFbmNvZGVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIv
TG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcAotcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3NHTGliLmNwcAogcGxhdGZvcm0vZ2xpYi9TaGFyZWRCdWZmZXJHbGliLmNwcAog
cGxhdGZvcm0vZ2xpYi9Vc2VyQWdlbnRHTGliLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lm1tCmluZGV4IGIwNmZmNDdkZmM1NC4uYjg1MTRlZjgwZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5tbQpAQCAtOTAsMjQgKzkwLDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpCiAjZW5kaWYKIH0KIAotYm9vbCBpc0luV2ViUHJv
Y2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzV2ViUHJvY2VzcyA9IFtbW05T
QnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudCJdOwotICAgIHJldHVybiBtYWluQnVuZGxlSXNXZWJQcm9jZXNz
OwotfQotCi1ib29sIGlzSW5HUFVQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVu
ZGxlSXNHUFVQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmll
cl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5HUFUiXTsKLSAgICByZXR1cm4gbWFpbkJ1
bmRsZUlzR1BVUHJvY2VzczsKLX0KLQotYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKQotewotICAg
IHN0YXRpYyBib29sIG1haW5CdW5kbGVJc05ldHdvcmtQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5O
ZXR3b3JraW5nIl07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJc05ldHdvcmtQcm9jZXNzOwotfQot
CiBzdGF0aWMgYm9vbCBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbyhjb25zdCBTdHJpbmcmIGJ1
bmRsZUlkZW50aWZpZXJTdHJpbmcpCiB7CiAgICAgcmV0dXJuIGFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllcigpID09IGJ1bmRsZUlkZW50aWZpZXJTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NHTGli
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDVhZjg1Yjk5NTI0Li4wMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRp
b25DaGVja3NHTGliLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0KLSNpbmNsdWRlIDxtdXRleD4K
LSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotI2lmIFBMQVRGT1JNKEdUSykKLXN0YXRpYyBjb25zdCBDU3RyaW5nIHdlYlByb2Nlc3NO
YW1lID0gIldlYktpdFdlYlByb2Nlc3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcgbmV0d29ya1By
b2Nlc3NOYW1lID0gIldlYktpdE5ldHdvcmtQcm9jZXNzIjsKLSNlbGlmIFBMQVRGT1JNKFdQRSkK
LXN0YXRpYyBjb25zdCBDU3RyaW5nIHdlYlByb2Nlc3NOYW1lID0gIldQRVdlYlByb2Nlc3MiOwot
c3RhdGljIGNvbnN0IENTdHJpbmcgbmV0d29ya1Byb2Nlc3NOYW1lID0gIldQRU5ldHdvcmtQcm9j
ZXNzIjsKLSNlbmRpZgotCi1ib29sIGlzSW5XZWJQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9v
bCBpc1dlYlByb2Nlc3M7Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAg
IHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIGlzV2ViUHJvY2VzcyA9IGdl
dEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpID09IHdlYlByb2Nlc3NOYW1lOwotICAgIH0pOwotICAg
IHJldHVybiBpc1dlYlByb2Nlc3M7Ci19Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkKLXsK
LSAgICBzdGF0aWMgYm9vbCBpc05ldHdvcmtQcm9jZXNzOwotICAgIHN0YXRpYyBzdGQ6Om9uY2Vf
ZmxhZyBvbmNlRmxhZzsKLSAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAg
ICBpc05ldHdvcmtQcm9jZXNzID0gZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gbmV0d29y
a1Byb2Nlc3NOYW1lOwotICAgIH0pOwotICAgIHJldHVybiBpc05ldHdvcmtQcm9jZXNzOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCmluZGV4
IDE1NWFiNmU4OGY1Zi4uOGNmMTE1MDg3OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNw
cApAQCAtMzcsNiArMzcsOSBAQCBzdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVBy
b2Nlc3M7CiAKIGNsYXNzIEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyIGZpbmFsOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpbkdTdHJl
YW1lcihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
KQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwog
ICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJl
dHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0
aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCmluZGV4IDc0ZTE4
ZmZjMzFmMi4uNGNhZmRhMDI2NTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24u
Y3BwCkBAIC0zNyw2ICszNyw5IEBAIHN0YXRpYyBSZWZQdHI8R1BVUHJvY2Vzcz4gZ2xvYmFsR1BV
UHJvY2VzczsKIAogY2xhc3MgR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbiBmaW5hbDogcHVibGlj
IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgR1BVUHJvY2Vzc01haW5Q
bGF5U3RhdGlvbihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7
IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAg
ICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dp
bi9HUFVQcm9jZXNzTWFpbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQ
VVByb2Nlc3NNYWluV2luLmNwcAppbmRleCA3NGUxOGZmYzMxZjIuLmZlNTkxYjc3NTJhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5j
cHAKQEAgLTM1LDggKzM1LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgUmVmUHRy
PEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nlc3M7CiAKLWNsYXNzIEdQVVByb2Nlc3NNYWluUGxh
eVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3Mg
R1BVUHJvY2Vzc01haW5XaW4gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Ug
ewogcHVibGljOgorICAgIEdQVVByb2Nlc3NNYWluV2luKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vz
c01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUo
KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC01Miw3ICs1NSw3IEBA
IHZvaWQgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8R1BVUHJvY2Vzcz4oQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1lCiAKIGludCBHUFVQcm9jZXNzTWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiB7Ci0gICAgcmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nl
c3MsIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24+KGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiBB
dXhpbGlhcnlQcm9jZXNzTWFpbjxHUFVQcm9jZXNzLCBHUFVQcm9jZXNzTWFpbldpbj4oYXJnYywg
YXJndik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3Bw
CmluZGV4IGZlODI4ZmVhODIyZS4uNjEwM2RkMGI4ZmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwu
Y3BwCkBAIC0zNSw2ICszNSw5IEBAIHN0YXRpYyBSZWZQdHI8TmV0d29ya1Byb2Nlc3M+IGdsb2Jh
bE5ldHdvcmtQcm9jZXNzOwogCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc01haW5DdXJsIGZpbmFsOiBw
dWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBOZXR3b3JrUHJv
Y2Vzc01haW5DdXJsKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMp
IHsgfQorCiAgICAgdm9pZCBwbGF0Zm9ybUZpbmFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAg
ICAgIGdsb2JhbE5ldHdvcmtQcm9jZXNzLT5kZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6
ZGVmYXVsdFNlc3Npb25JRCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcAppbmRleCA0Y2Y3Mzkx
MDk3ODEuLjg3ODYyY2M3Y2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcApAQCAtNDEsNiAr
NDEsOSBAQCBzdGF0aWMgUmVmUHRyPE5ldHdvcmtQcm9jZXNzPiBnbG9iYWxOZXR3b3JrUHJvY2Vz
czsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3NNYWluU291cCBmaW5hbDogcHVibGljIEF1eGlsaWFy
eVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgTmV0d29ya1Byb2Nlc3NNYWluU291cChB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAg
ICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJv
b2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKaW5kZXggYzQ2Y2IwNmY1
ZWE2Li5jYjRiY2U3Y2IxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuY3BwCkBAIC02NCw2ICs2NCw4IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6
ZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzCiB7CiAgICAg
V1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIAor
ICAgIHNldFByb2Nlc3NUeXBlKHN0YXRpY19jYXN0PFdlYkNvcmU6OlByb2Nlc3NUeXBlPihwYXJh
bWV0ZXJzLnByb2Nlc3NUeXBlKSk7CisKICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0Uo
cGFyYW1ldGVycy5wcm9jZXNzSWRlbnRpZmllciwgIlVuYWJsZSB0byBpbml0aWFsaXplIGNoaWxk
IHByb2Nlc3Mgd2l0aG91dCBhIFdlYkNvcmUgcHJvY2VzcyBpZGVudGlmaWVyIik7CiAgICAgUHJv
Y2Vzczo6c2V0SWRlbnRpZmllcigqcGFyYW1ldGVycy5wcm9jZXNzSWRlbnRpZmllcik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAppbmRleCA3YmEyMDdhYmIwYWMuLjNm
ZTgwZGU0NTc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaApAQCAt
MjksNiArMjksNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1VzZXJBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTQ1LDE0ICs0NiwxNCBAQCBjbGFzcyBBdXhpbGlhcnlQ
cm9jZXNzIDogcHJvdGVjdGVkIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgSVBDOjpN
ZXNzYWdlUwogCiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBQcm9jZXNzVHlwZSA6IHVpbnQ4X3Qg
ewotICAgICAgICBXZWJDb250ZW50LAotICAgICAgICBOZXR3b3JrLAotICAgICAgICBQbHVnaW4s
CisgICAgICAgIFdlYkNvbnRlbnQgPSBzdGF0aWNfY2FzdDx1aW50OF90PihXZWJDb3JlOjpQcm9j
ZXNzVHlwZTo6V2ViQ29udGVudCksCisgICAgICAgIE5ldHdvcmsgPSBzdGF0aWNfY2FzdDx1aW50
OF90PihXZWJDb3JlOjpQcm9jZXNzVHlwZTo6TmV0d29yayksCisgICAgICAgIFBsdWdpbiA9IHN0
YXRpY19jYXN0PHVpbnQ4X3Q+KFdlYkNvcmU6OlByb2Nlc3NUeXBlOjpQbHVnaW4pLAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKLSAgICAgICAgR1BVLAorICAgICAgICBHUFUgPSBzdGF0aWNfY2Fz
dDx1aW50OF90PihXZWJDb3JlOjpQcm9jZXNzVHlwZTo6R1BVKSwKICNlbmRpZgogI2lmIEVOQUJM
RShXRUJfQVVUSE4pCi0gICAgICAgIFdlYkF1dGhuCisgICAgICAgIFdlYkF1dGhuID0gc3RhdGlj
X2Nhc3Q8dWludDhfdD4oV2ViQ29yZTo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuKSwKICNlbmRpZgog
ICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3NNYWluLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCmlu
ZGV4IGJmYzNiZDI0OTMyNS4uYjNmYzRhYWZhY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKQEAgLTM1LDE0ICszNSwxNCBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBtX3BhcmFtZXRlcnMocGFyYW1ldGVycykg
eyB9CiAgICAgdmlydHVhbCBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFy
Z3YpOwogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUZpbmFsaXplKCkgeyB9CiAKLSAgICBBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYgdGFrZUluaXRpYWxpemF0aW9u
UGFyYW1ldGVycygpIHsgcmV0dXJuIFdURk1vdmUobV9wYXJhbWV0ZXJzKTsgfQotCiBwcm90ZWN0
ZWQ6Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBtX3BhcmFt
ZXRlcnM7CisgICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgbV9w
YXJhbWV0ZXJzOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQXV4aWxpYXJ5UHJvY2Vzc1R5cGU+
CkBAIC01NCw3ICs1NCwxMCBAQCB2b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzKEF1eGls
aWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbQogdGVtcGxhdGU8dHlw
ZW5hbWUgQXV4aWxpYXJ5UHJvY2Vzc1R5cGUsIHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NNYWlu
VHlwZT4KIGludCBBdXhpbGlhcnlQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7
Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5UeXBlIGF1eGlsaWFyeU1haW47CisgICAgQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgIHBhcmFt
ZXRlcnMucHJvY2Vzc1R5cGUgPSBBdXhpbGlhcnlQcm9jZXNzVHlwZTo6cHJvY2Vzc1R5cGU7Cisg
ICAgCisgICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5UeXBlIGF1eGlsaWFyeU1haW4ocGFyYW1ldGVy
cyk7CiAKICAgICBpZiAoIWF1eGlsaWFyeU1haW4ucGxhdGZvcm1Jbml0aWFsaXplKCkpCiAgICAg
ICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkBAIC02NCw3ICs2Nyw3IEBAIGludCBBdXhpbGlhcnlQ
cm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAKICAgICBJbml0aWFsaXplV2ViS2l0
MigpOwogCi0gICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8QXV4aWxpYXJ5UHJvY2Vzc1R5
cGU+KGF1eGlsaWFyeU1haW4udGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpKTsKKyAgICBp
bml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxBdXhpbGlhcnlQcm9jZXNzVHlwZT4oV1RGTW92ZShw
YXJhbWV0ZXJzKSk7CiAgICAgUnVuTG9vcDo6cnVuKCk7CiAgICAgYXV4aWxpYXJ5TWFpbi5wbGF0
Zm9ybUZpbmFsaXplKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9n
dGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9X
ZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggNGM0NWM2MzVjZjg2Li4xZDZiNjllZGUxNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsu
Y3BwCkBAIC00NSw2ICs0NSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjbGFzcyBX
ZWJQcm9jZXNzTWFpbkd0ayBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7
CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5HdGsoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxp
emF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNz
TWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgp
IG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5
U3RhdGlvbi5jcHAKaW5kZXggNDVkZTQ1NDUyOWE0Li5lYjlmYWIzZTZlYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlT
dGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2Vi
UHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKQEAgLTM0LDYgKzM0LDkgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NN
YWluUGxheVN0YXRpb24oQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVy
cykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewog
ICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dp
bi9XZWJQcm9jZXNzTWFpbldpbi5jcHAKaW5kZXggODliYzE1OWRmMzU5Li43MzgzMTFhNjJmYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5X
aW4uY3BwCkBAIC0zOSw2ICszOSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjbGFz
cyBXZWJQcm9jZXNzTWFpbldpbiBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluV2luKEF1eGlsaWFyeVByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJv
Y2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxp
emUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKFNldFByb2Nlc3NEcGlBd2FyZW5lc3ND
b250ZXh0UHRyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dl
YlByb2Nlc3NNYWluV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJv
Y2Vzc01haW5XUEUuY3BwCmluZGV4IDkwYThkYWYyODIwMC4uNjdiMDFkODMxMDlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcApA
QCAtNzgsNiArNzgsOSBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplQWNjZXNzaWJpbGl0eSgpCiAK
IGNsYXNzIFdlYlByb2Nlc3NNYWluV1BFIGZpbmFsIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5XUEUoQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5p
dGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCg==
</data>
<flag name="commit-queue"
          id="435142"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417428</attachid>
            <date>2021-01-11 19:54:41 -0800</date>
            <delta_ts>2021-01-12 13:26:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210112125439.patch</filename>
            <type>text/plain</type>
            <size>19957</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uOTA4ZmZkOGZmMzc4Y2NmMWQyNjRiNzVhN2IzNGM5
NmQ1NmExOWVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAxLTExICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6cHJvY2Vzc1R5cGUp
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDoK
KyAgICAgICAgKFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
SW5HUFVQcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW5OZXR3b3JrUHJvY2Vzcyk6Cisg
ICAgICAgICogcGxhdGZvcm0vU291cmNlc0dMaWIudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6
aXNJbldlYlByb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbkdQVVByb2Nl
c3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdvcmtQcm9jZXNzKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dM
aWIuY3BwOiBSZW1vdmVkLgorCiAyMDIxLTAxLTExICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gVW5yZXZpZXdlZCBidWlsZCBm
aXggZm9yIHIyNzEzNTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWM0YTZjNjBmMGU1NDZiMTNhODUyM2U2NWM3ZDI4
MzJkMTkyODg0ZS4uYzViNzM5MmQxOWZhMTc4YWUwMzdjNTFiMmRjNDVhZmVkMjgwN2IwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMS0wMS0xMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJv
bm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZWltcGxlbWVudCBXZWJDb3JlOjppc0lu
V2ViUHJvY2VzcygpIGZhbWlseSBhcyBjcm9zcy1wbGF0Zm9ybSBieSB1c2luZyBBdXhpbGlhcnlQ
cm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLnByb2Nlc3NUeXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA1MjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3N0cmVhbWVy
L0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3BsYXlz
dGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwOgorICAgICAgICAqIEdQVVByb2Nl
c3Mvd2luL0dQVVByb2Nlc3NNYWluV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
c01haW4pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWlu
Q3VybC5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01h
aW5Tb3VwLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemUpOgorICAgICAgICAqIFNo
YXJlZC9BdXhpbGlhcnlQcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3NNYWluLmg6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTo6QXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vz
c01haW4pOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnRha2VJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3BsYXlzdGF0
aW9uL1dlYlByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
d2luL1dlYlByb2Nlc3NNYWluV2luLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3dwZS9XZWJQ
cm9jZXNzTWFpbldQRS5jcHA6CisKIDIwMjEtMDEtMTEgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5l
X2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gcGFnZURpZENvbXB1dGVQYWdl
UmVjdHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5jcHAKaW5kZXggNDcxMTAxMDY0Y2NlYWE0ODVhNjA4YTQ1NTM2NTc1ZDQ4ZGE5
MWY2Mi4uN2JmMDhmMWUyZGJkZDdlZjk2NGE4YzkwNzA5YjU4OGVhNTAzMjg2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3Bw
CkBAIC02MCw0ICs2MCwxNiBAQCB2b2lkIHNldFByZXNlbnRpbmdBcHBsaWNhdGlvblBJRChpbnQg
cGlkKQogICAgIHByZXNlbnRpbmdBcHBsaWNhdGlvblBJRE92ZXJyaWRlKCkgPSBwaWQ7CiB9CiAK
K3N0YXRpYyBQcm9jZXNzVHlwZSBzX3Byb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6OkludmFsaWQ7
CisKK3ZvaWQgc2V0UHJvY2Vzc1R5cGUoUHJvY2Vzc1R5cGUgdHlwZSkKK3sKKyAgICBzX3Byb2Nl
c3NUeXBlID0gdHlwZTsKK30KKworUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUoKQoreworICAgIHJl
dHVybiBzX3Byb2Nlc3NUeXBlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4
IGRlNmRjZDc4OGE4Njk5Mzc3MDk3MjJlM2YwYzk0YjhhOTg5NTY2MWIuLmFiNmY1ZWYxZmE2YjA2
N2NiYWI2ZTNlYjA3MzFlYTFhZjJlMTNhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC0zMiwxNSArMzIsMjcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQcmVzZW50aW5nQXBwbGlj
YXRpb25QSUQoaW50KTsKIFdFQkNPUkVfRVhQT1JUIGludCBwcmVzZW50aW5nQXBwbGljYXRpb25Q
SUQoKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoR0xJQikKLWJvb2wgaXNJbldlYlBy
b2Nlc3MoKTsKLWJvb2wgaXNJbkdQVVByb2Nlc3MoKTsKLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNz
KCk7Ci0jZWxzZQotaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiBmYWxzZTsg
fQotaW5saW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVybiBmYWxzZTsgfQotaW5saW5l
IGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KK2VudW0gY2xhc3Mg
UHJvY2Vzc1R5cGUgOiB1aW50OF90IHsKKyAgICBJbnZhbGlkLAorICAgIFdlYkNvbnRlbnQsCisg
ICAgTmV0d29yaywKKyAgICBQbHVnaW4sCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIEdQ
VSwKICNlbmRpZgorI2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgV2ViQXV0aG4sCisjZW5kaWYK
K307CisKK1dFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UHJvY2Vzc1R5cGUoUHJvY2Vzc1R5cGUpOwor
V0VCQ09SRV9FWFBPUlQgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUoKTsKKworaW5saW5lIGJvb2wg
aXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiBwcm9jZXNzVHlwZSgpID09IFByb2Nlc3NUeXBlOjpX
ZWJDb250ZW50OyB9CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQoraW5saW5lIGJvb2wgaXNJbkdQ
VVByb2Nlc3MoKSB7IHJldHVybiBwcm9jZXNzVHlwZSgpID09IFByb2Nlc3NUeXBlOjpHUFU7IH0K
KyNlbmRpZgoraW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gcHJvY2Vz
c1R5cGUoKSA9PSBQcm9jZXNzVHlwZTo6TmV0d29yazsgfQogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNH
TGliLnR4dCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dAppbmRleCAw
MmYwYjhiOTRlNDc3MzU1NTJmMzExOGVmOTM3ZGQwYzI1ZGZhMjEzLi5kZjI3M2U1OGFkZmE2MWM2
ZDI1MzMyYjMyMWY2ZjdkNzc3NWM2MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Tb3VyY2VzR0xpYi50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNl
c0dMaWIudHh0CkBAIC0yNyw3ICsyNyw2IEBAIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGli
LmNwcAogcGxhdGZvcm0vZ2xpYi9LZXllZERlY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9L
ZXllZEVuY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdM
aWIuY3BwCi1wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCiBw
bGF0Zm9ybS9nbGliL1NoYXJlZEJ1ZmZlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1VzZXJBZ2Vu
dEdMaWIuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXggYjA2ZmY0N2RmYzU0
MTcyMWY2NGFhMGRlMzhiM2I5MmY4ODM4MjQ2Yi4uYjg1MTRlZjgwZGI0ZTRiYTUxNzZjZGU3YjMz
ZjAwNWEyNjFkY2RiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KQEAgLTkwLDI0ICs5
MCw2IEBAIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJp
ZGUoKQogI2VuZGlmCiB9CiAKLWJvb2wgaXNJbldlYlByb2Nlc3MoKQotewotICAgIHN0YXRpYyBi
b29sIG1haW5CdW5kbGVJc1dlYlByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXTsK
LSAgICByZXR1cm4gbWFpbkJ1bmRsZUlzV2ViUHJvY2VzczsKLX0KLQotYm9vbCBpc0luR1BVUHJv
Y2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzR1BVUHJvY2VzcyA9IFtbW05T
QnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBs
ZS5XZWJLaXQuR1BVIl07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJc0dQVVByb2Nlc3M7Ci19Ci0K
LWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxl
SXNOZXR3b3JrUHJvY2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZp
ZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyJdOwotICAgIHJldHVy
biBtYWluQnVuZGxlSXNOZXR3b3JrUHJvY2VzczsKLX0KLQogc3RhdGljIGJvb2wgYXBwbGljYXRp
b25CdW5kbGVJc0VxdWFsVG8oY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyU3RyaW5nKQog
ewogICAgIHJldHVybiBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKSA9PSBidW5kbGVJZGVu
dGlmaWVyU3RyaW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA1YWY4NWI5OTUyNDkxNjhhYzU3ODAxNTM3YTY1MmYzYzYzYTFlMWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlh
IFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmgiCi0KLSNpbmNsdWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGli
VXRpbGl0aWVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotI2lmIFBMQVRGT1JNKEdUSykK
LXN0YXRpYyBjb25zdCBDU3RyaW5nIHdlYlByb2Nlc3NOYW1lID0gIldlYktpdFdlYlByb2Nlc3Mi
Owotc3RhdGljIGNvbnN0IENTdHJpbmcgbmV0d29ya1Byb2Nlc3NOYW1lID0gIldlYktpdE5ldHdv
cmtQcm9jZXNzIjsKLSNlbGlmIFBMQVRGT1JNKFdQRSkKLXN0YXRpYyBjb25zdCBDU3RyaW5nIHdl
YlByb2Nlc3NOYW1lID0gIldQRVdlYlByb2Nlc3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcgbmV0
d29ya1Byb2Nlc3NOYW1lID0gIldQRU5ldHdvcmtQcm9jZXNzIjsKLSNlbmRpZgotCi1ib29sIGlz
SW5XZWJQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc1dlYlByb2Nlc3M7Ci0gICAgc3Rh
dGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFn
LCBbXSB7Ci0gICAgICAgIGlzV2ViUHJvY2VzcyA9IGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgp
ID09IHdlYlByb2Nlc3NOYW1lOwotICAgIH0pOwotICAgIHJldHVybiBpc1dlYlByb2Nlc3M7Ci19
Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc05ldHdv
cmtQcm9jZXNzOwotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKLSAgICBzdGQ6
OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAgICBpc05ldHdvcmtQcm9jZXNzID0gZ2V0
Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gbmV0d29ya1Byb2Nlc3NOYW1lOwotICAgIH0pOwot
ICAgIHJldHVybiBpc05ldHdvcmtQcm9jZXNzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nl
c3NNYWluR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIv
R1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCmluZGV4IDE1NWFiNmU4OGY1ZjZiNzllZjNiY2Q1
ODQ4N2I3NWM3YTlkZTRkYzYuLjhjZjExNTA4Nzk0ODYyZmI3YmE5MjkxYTBlYTBmZDMyZDY4Yzkx
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJv
Y2Vzc01haW5HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3Ry
ZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCkBAIC0zNyw2ICszNyw5IEBAIHN0YXRp
YyBSZWZQdHI8R1BVUHJvY2Vzcz4gZ2xvYmFsR1BVUHJvY2VzczsKIAogY2xhc3MgR1BVUHJvY2Vz
c01haW5HU3RyZWFtZXIgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Ugewog
cHVibGljOgorICAgIEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyKEF1eGlsaWFyeVByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJv
Y2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxp
emUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3Rh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vz
c01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXggNzRlMThmZmMzMWYyMDU0N2E2ZDc4MzY5NjgyMDk2
YTJlM2RhMGVmYy4uNGNhZmRhMDI2NTAxYTY3NjhmYjc4NmY3MWIzMTVmYTVhZGUxYjkzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NN
YWluUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9wbGF5c3Rh
dGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcApAQCAtMzcsNiArMzcsOSBAQCBzdGF0
aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nlc3M7CiAKIGNsYXNzIEdQVVByb2Nl
c3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Ug
ewogcHVibGljOgorICAgIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24oQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5p
dGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKaW5kZXgg
NzRlMThmZmMzMWYyMDU0N2E2ZDc4MzY5NjgyMDk2YTJlM2RhMGVmYy4uZmU1OTFiNzc1MmFkYmNh
NmUzMmY1ODlmM2Q0MzAwMmUxZDhjZjBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKQEAgLTM1LDggKzM1LDExIEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBzdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nl
c3M7CiAKLWNsYXNzIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhp
bGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3MgR1BVUHJvY2Vzc01haW5XaW4gZmluYWw6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIEdQVVByb2Nlc3NN
YWluV2luKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQor
CiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC01Miw3ICs1NSw3IEBAIHZvaWQgaW5pdGlhbGl6ZUF1eGlsaWFyeVBy
b2Nlc3M8R1BVUHJvY2Vzcz4oQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1lCiAK
IGludCBHUFVQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgcmV0dXJu
IEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nlc3MsIEdQVVByb2Nlc3NNYWluUGxheVN0YXRp
b24+KGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxHUFVQcm9j
ZXNzLCBHUFVQcm9jZXNzTWFpbldpbj4oYXJnYywgYXJndik7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05l
dHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
dXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwCmluZGV4IGZlODI4ZmVhODIyZWQ0NGY5NDNi
OThhZTM3NzZiZWU2YjYwZmUxNzAuLjYxMDNkZDBiOGZkM2U0YWU0ZGYwZjc2NzhmMmMzOWNmNzhi
ZDk5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3
b3JrUHJvY2Vzc01haW5DdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKQEAgLTM1LDYgKzM1LDkgQEAgc3RhdGlj
IFJlZlB0cjxOZXR3b3JrUHJvY2Vzcz4gZ2xvYmFsTmV0d29ya1Byb2Nlc3M7CiAKIGNsYXNzIE5l
dHdvcmtQcm9jZXNzTWFpbkN1cmwgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UgewogcHVibGljOgorICAgIE5ldHdvcmtQcm9jZXNzTWFpbkN1cmwoQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICB2b2lkIHBsYXRmb3JtRmlu
YWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgZ2xvYmFsTmV0d29ya1Byb2Nlc3MtPmRl
c3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzTWFp
blNvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9j
ZXNzTWFpblNvdXAuY3BwCmluZGV4IDRjZjczOTEwOTc4MWYxMDIwYWNkZGFkNmZmNDZjZTA2YjZk
NjdhOTQuLjg3ODYyY2M3Y2M3ODlmYmE1MTQ0YWJlZjI4YTk5NGI3NGYwNGYxMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5T
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1By
b2Nlc3NNYWluU291cC5jcHAKQEAgLTQxLDYgKzQxLDkgQEAgc3RhdGljIFJlZlB0cjxOZXR3b3Jr
UHJvY2Vzcz4gZ2xvYmFsTmV0d29ya1Byb2Nlc3M7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNzTWFp
blNvdXAgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgor
ICAgIE5ldHdvcmtQcm9jZXNzTWFpblNvdXAoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJy
aWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFy
eVByb2Nlc3MuY3BwCmluZGV4IGM0NmNiMDZmNWVhNjFkYjk1YTdjYzEyZTZhNjZiNzJhN2QyNTZh
NjkuLmNiNGJjZTdjYjE4MDYxOTQ4ZmM3ZDBiNWE1NTRjNjA4NzcyM2QxNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCkBAIC02NCw2ICs2NCw4IEBAIHZvaWQg
QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzCiB7CiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhy
ZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIAorICAgIHNldFByb2Nlc3NUeXBlKHN0YXRpY19jYXN0
PFdlYkNvcmU6OlByb2Nlc3NUeXBlPihwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlKSk7CisKICAgICBS
RUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UocGFyYW1ldGVycy5wcm9jZXNzSWRlbnRpZmllciwg
IlVuYWJsZSB0byBpbml0aWFsaXplIGNoaWxkIHByb2Nlc3Mgd2l0aG91dCBhIFdlYkNvcmUgcHJv
Y2VzcyBpZGVudGlmaWVyIik7CiAgICAgUHJvY2Vzczo6c2V0SWRlbnRpZmllcigqcGFyYW1ldGVy
cy5wcm9jZXNzSWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuaAppbmRleCA3YmEyMDdhYmIwYWNjYzhhNTcwZjVjNjYzZjQ2Y2FhMjRhODI2ZDkxLi4zZmU4
MGRlNDU3NTA4OTQ2ODNlZmM5ZDRlY2NjMjFlYzJiMjdhYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTWVzc2Fn
ZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtNDUsMTQg
KzQ2LDE0IEBAIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3MgOiBwcm90ZWN0ZWQgSVBDOjpDb25uZWN0
aW9uOjpDbGllbnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTCiAKIHB1YmxpYzoKICAgICBlbnVtIGNs
YXNzIFByb2Nlc3NUeXBlIDogdWludDhfdCB7Ci0gICAgICAgIFdlYkNvbnRlbnQsCi0gICAgICAg
IE5ldHdvcmssCi0gICAgICAgIFBsdWdpbiwKKyAgICAgICAgV2ViQ29udGVudCA9IHN0YXRpY19j
YXN0PHVpbnQ4X3Q+KFdlYkNvcmU6OlByb2Nlc3NUeXBlOjpXZWJDb250ZW50KSwKKyAgICAgICAg
TmV0d29yayA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KFdlYkNvcmU6OlByb2Nlc3NUeXBlOjpOZXR3
b3JrKSwKKyAgICAgICAgUGx1Z2luID0gc3RhdGljX2Nhc3Q8dWludDhfdD4oV2ViQ29yZTo6UHJv
Y2Vzc1R5cGU6OlBsdWdpbiksCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgICAgICBHUFUs
CisgICAgICAgIEdQVSA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KFdlYkNvcmU6OlByb2Nlc3NUeXBl
OjpHUFUpLAogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICAgICAgV2ViQXV0aG4K
KyAgICAgICAgV2ViQXV0aG4gPSBzdGF0aWNfY2FzdDx1aW50OF90PihXZWJDb3JlOjpQcm9jZXNz
VHlwZTo6V2ViQXV0aG4pLAogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKaW5kZXggYmZjM2JkMjQ5MzI1N2I0NWJlMzhiOGMzY2Zl
YTZhMDg5MDQxMDY0My4uYjNmYzRhYWZhY2I1NDExZTllNTA4YmFlZjQ4NDc2NGEzNGU1ZGQxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCkBAIC0zNSwx
NCArMzUsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZSB7CiBwdWJsaWM6CisgICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDog
bV9wYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwbGF0Zm9ybUlu
aXRpYWxpemUoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHBhcnNlQ29tbWFu
ZExpbmUoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1G
aW5hbGl6ZSgpIHsgfQogCi0gICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYmIHRha2VJbml0aWFsaXphdGlvblBhcmFtZXRlcnMoKSB7IHJldHVybiBXVEZNb3ZlKG1f
cGFyYW1ldGVycyk7IH0KLQogcHJvdGVjdGVkOgotICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMgbV9wYXJhbWV0ZXJzOworICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMmIG1fcGFyYW1ldGVyczsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBlPgpAQCAtNTQsNyArNTQsMTAgQEAgdm9pZCBpbml0aWFs
aXplQXV4aWxpYXJ5UHJvY2VzcyhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJiYgcGFyYW0KIHRlbXBsYXRlPHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBlLCB0eXBl
bmFtZSBBdXhpbGlhcnlQcm9jZXNzTWFpblR5cGU+CiBpbnQgQXV4aWxpYXJ5UHJvY2Vzc01haW4o
aW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZSBh
dXhpbGlhcnlNYWluOworICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlID0gQXV4aWxpYXJ5UHJv
Y2Vzc1R5cGU6OnByb2Nlc3NUeXBlOworICAgIAorICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlw
ZSBhdXhpbGlhcnlNYWluKHBhcmFtZXRlcnMpOwogCiAgICAgaWYgKCFhdXhpbGlhcnlNYWluLnBs
YXRmb3JtSW5pdGlhbGl6ZSgpKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwpAQCAtNjQs
NyArNjcsNyBAQCBpbnQgQXV4aWxpYXJ5UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2
KQogCiAgICAgSW5pdGlhbGl6ZVdlYktpdDIoKTsKIAotICAgIGluaXRpYWxpemVBdXhpbGlhcnlQ
cm9jZXNzPEF1eGlsaWFyeVByb2Nlc3NUeXBlPihhdXhpbGlhcnlNYWluLnRha2VJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMoKSk7CisgICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8QXV4aWxp
YXJ5UHJvY2Vzc1R5cGU+KFdURk1vdmUocGFyYW1ldGVycykpOwogICAgIFJ1bkxvb3A6OnJ1bigp
OwogICAgIGF1eGlsaWFyeU1haW4ucGxhdGZvcm1GaW5hbGl6ZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCmluZGV4IDRjNDVj
NjM1Y2Y4NjcyNTNiNmRkOGFmNmQzYTNjZTk3NzU0YWRmNDMuLjFkNmI2OWVkZTE1M2NkMjcxYmUz
ZmY1ODA5ODNkNWYwNzAyMzM0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCkBAIC00NSw2ICs0NSw5IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbkd0ayBmaW5hbDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5HdGso
QXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAg
ICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBi
b29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJv
Y2Vzc01haW5QbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0
YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXggNDVkZTQ1NDUyOWE0NDRl
NGRlMDE4ZTA2NTYzODhiNjIyNWU2YmM5Mi4uZWI5ZmFiM2U2ZWJjNDZmZjQ3ODU0YzVjNzU0YTI5
ZWE0N2ZhMTAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0
aW9uL1dlYlByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcApAQCAtMzQs
NiArMzQsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY2xhc3MgV2ViUHJvY2Vzc01h
aW5QbGF5U3RhdGlvbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBw
dWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbihBdXhpbGlhcnlQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVBy
b2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFs
aXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzTWFpbldpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAppbmRleCA4OWJj
MTU5ZGYzNTkxMGFiZTEzM2M2OGQ3MTA1N2NkZmUxOTk1Y2JiLi43MzgzMTFhNjJmYjE4N2VjYTUz
OGVmMzQ3MDEwOTllNzA0ZDE1OWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcApAQCAtMzksNiArMzksOSBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogY2xhc3MgV2ViUHJvY2Vzc01haW5XaW4gZmluYWwgOiBwdWJsaWMg
QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFpbldp
bihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQor
ICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAg
IGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChT
ZXRQcm9jZXNzRHBpQXdhcmVuZXNzQ29udGV4dFB0cigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAppbmRleCA5MGE4ZGFmMjgyMDAz
NDk1YzllMDEyMjI3YmRmMDgzZjE0NWJhMjBmLi42N2IwMWQ4MzEwOWFiMjY0NDg2ZTk0ZGU1YzNk
NTJjNTc1NDI3NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dl
YlByb2Nlc3NNYWluV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dl
YlByb2Nlc3NNYWluV1BFLmNwcApAQCAtNzgsNiArNzgsOSBAQCBzdGF0aWMgdm9pZCBpbml0aWFs
aXplQWNjZXNzaWJpbGl0eSgpCiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluV1BFIGZpbmFsIDogcHVi
bGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01h
aW5XUEUoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisK
ICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogI2lmIFVTRShH
Q1JZUFQpCg==
</data>
<flag name="review"
          id="435143"
          type_id="1"
          status="+"
          setter="don.olmstead"
    />
    <flag name="commit-queue"
          id="435195"
          type_id="3"
          status="-"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417488</attachid>
            <date>2021-01-12 13:45:40 -0800</date>
            <delta_ts>2021-01-12 14:01:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210113064539.patch</filename>
            <type>text/plain</type>
            <size>28351</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uNzFkZWM5ODFmNGE0MDc2NTgzODQ2YWJkMGY0MGZk
NTFmYTk1NmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAxLTEyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tBdXhpbGlh
cnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYkNv
cmU6OmlzSW5HUFVQcm9jZXNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjppc0luV2ViUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjppc0luR1BVUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpp
c0luTmV0d29ya1Byb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHA6IFJlbW92ZWQuCisKIDIwMjEtMDEtMTEgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNh
aXJvXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgcjI3MTM1MwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYzRhNmM2
MGYwZTU0NmIxM2E4NTIzZTY1YzdkMjgzMmQxOTI4ODRlLi4zM2MzZjlhZWY2NGMwMTlmNWIyNTZi
ZTE0NjQ0NjYzYzA4YzY5YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTAxLTEy
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJl
aW1wbGVtZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRm
b3JtIGJ5IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJv
Y2Vzc1R5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMDUyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgICogR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwOgorICAgICAgICAqIFNoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5p
dGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAg
KiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlOjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3NNYWluQmFzZTo6dGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycyk6IERlbGV0ZWQu
CisgICAgICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpTYW5kYm94SW5mbzo6U2FuZGJveEluZm8pOgorICAgICAgICAoV2ViS2l0Ojpwcm9j
ZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9yeSk6Cisg
ICAgICAgIChXZWJLaXQ6OmFwcGx5U2FuZGJveCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd3BlL1dlYlByb2Nl
c3NNYWluV1BFLmNwcDoKKwogMjAyMS0wMS0xMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBwYWdlRGlkQ29tcHV0ZVBhZ2VSZWN0
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmNwcAppbmRleCA0NzExMDEwNjRjY2VhYTQ4NWE2MDhhNDU1MzY1NzVkNDhkYTkxZjYy
Li4yMzYzNzZkZWM5MjM1MGFlMTdlM2U1YzRjYTMyZGE0ZGI4MGNmZWYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAg
LTYwLDQgKzYwLDE2IEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQp
CiAgICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorc3Rh
dGljIEF1eGlsaWFyeVByb2Nlc3NUeXBlIHNfYXV4aWxpYXJ5UHJvY2Vzc1R5cGU7CisKK3ZvaWQg
c2V0QXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUgdHlwZSkKK3sKKyAg
ICBzX2F1eGlsaWFyeVByb2Nlc3NUeXBlID0gdHlwZTsKK30KKworT3B0aW9uYWw8QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU+IGF1eGlsaWFyeVByb2Nlc3NUeXBlKCkKK3sKKyAgICByZXR1cm4gc19hdXhp
bGlhcnlQcm9jZXNzVHlwZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAppbmRleCBk
ZTZkY2Q3ODhhODY5OTM3NzA5NzIyZTNmMGM5NGI4YTk4OTU2NjFiLi4yNGE3YzA4MDVkYzc5OGU3
Y2Y1NmUxZDY2YThlOTgwNmRjYjFlYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApAQCAtMzIsMTQgKzMyLDMzIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0
aW9uUElEKGludCk7CiBXRUJDT1JFX0VYUE9SVCBpbnQgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElE
KCk7CiAKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNFKEdMSUIpCi1ib29sIGlzSW5XZWJQcm9j
ZXNzKCk7Ci1ib29sIGlzSW5HUFVQcm9jZXNzKCk7Ci1ib29sIGlzSW5OZXR3b3JrUHJvY2Vzcygp
OwotI2Vsc2UKLWlubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0K
LWlubGluZSBib29sIGlzSW5HUFVQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KLWlubGluZSBi
b29sIGlzSW5OZXR3b3JrUHJvY2VzcygpIHsgcmV0dXJuIGZhbHNlOyB9CitlbnVtIGNsYXNzIEF1
eGlsaWFyeVByb2Nlc3NUeXBlIDogdWludDhfdCB7CisgICAgV2ViQ29udGVudCwKKyAgICBOZXR3
b3JrLAorICAgIFBsdWdpbiwKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgR1BVLAorI2Vu
ZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBXZWJBdXRobiwKKyNlbmRpZgorfTsKKwor
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9j
ZXNzVHlwZSk7CitXRUJDT1JFX0VYUE9SVCBPcHRpb25hbDxBdXhpbGlhcnlQcm9jZXNzVHlwZT4g
YXV4aWxpYXJ5UHJvY2Vzc1R5cGUoKTsKKworaW5saW5lIGJvb2wgY2hlY2tBdXhpbGlhcnlQcm9j
ZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZSB0eXBlKQoreworICAgIGF1dG8gY3VycmVudFR5
cGUgPSBhdXhpbGlhcnlQcm9jZXNzVHlwZSgpOworICAgIGlmICghY3VycmVudFR5cGUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gKmN1cnJlbnRUeXBlID09IHR5cGU7IAorfQor
CitpbmxpbmUgYm9vbCBpc0luV2ViUHJvY2VzcygpIHsgcmV0dXJuIGNoZWNrQXV4aWxpYXJ5UHJv
Y2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQpOyB9CitpbmxpbmUgYm9v
bCBpc0luTmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBl
KEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrKTsgfQorI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKK2lubGluZSBib29sIGlzSW5HUFVQcm9jZXNzKCkgeyByZXR1cm4gY2hlY2tBdXhpbGlhcnlQ
cm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZTo6R1BVKTsgfQogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJj
ZXNHTGliLnR4dCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dAppbmRl
eCAwMmYwYjhiOTRlNDc3MzU1NTJmMzExOGVmOTM3ZGQwYzI1ZGZhMjEzLi5kZjI3M2U1OGFkZmE2
MWM2ZDI1MzMyYjMyMWY2ZjdkNzc3NWM2MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291
cmNlc0dMaWIudHh0CkBAIC0yNyw3ICsyNyw2IEBAIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JH
TGliLmNwcAogcGxhdGZvcm0vZ2xpYi9LZXllZERlY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xp
Yi9LZXllZEVuY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmll
ckdMaWIuY3BwCi1wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3Bw
CiBwbGF0Zm9ybS9nbGliL1NoYXJlZEJ1ZmZlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1VzZXJB
Z2VudEdMaWIuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXggYjA2ZmY0N2Rm
YzU0MTcyMWY2NGFhMGRlMzhiM2I5MmY4ODM4MjQ2Yi4uYjg1MTRlZjgwZGI0ZTRiYTUxNzZjZGU3
YjMzZjAwNWEyNjFkY2RiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KQEAgLTkwLDI0
ICs5MCw2IEBAIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3Zl
cnJpZGUoKQogI2VuZGlmCiB9CiAKLWJvb2wgaXNJbldlYlByb2Nlc3MoKQotewotICAgIHN0YXRp
YyBib29sIG1haW5CdW5kbGVJc1dlYlByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBi
dW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQi
XTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlzV2ViUHJvY2VzczsKLX0KLQotYm9vbCBpc0luR1BV
UHJvY2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzR1BVUHJvY2VzcyA9IFtb
W05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5h
cHBsZS5XZWJLaXQuR1BVIl07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJc0dQVVByb2Nlc3M7Ci19
Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVu
ZGxlSXNOZXR3b3JrUHJvY2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50
aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZyJdOwotICAgIHJl
dHVybiBtYWluQnVuZGxlSXNOZXR3b3JrUHJvY2VzczsKLX0KLQogc3RhdGljIGJvb2wgYXBwbGlj
YXRpb25CdW5kbGVJc0VxdWFsVG8oY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyU3RyaW5n
KQogewogICAgIHJldHVybiBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKSA9PSBidW5kbGVJ
ZGVudGlmaWVyU3RyaW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xp
Yi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDA1YWY4NWI5OTUyNDkxNjhhYzU3ODAxNTM3YTY1MmYzYzYzYTFlMWEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdh
bGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmgiCi0KLSNpbmNsdWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9H
TGliVXRpbGl0aWVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotI2lmIFBMQVRGT1JNKEdU
SykKLXN0YXRpYyBjb25zdCBDU3RyaW5nIHdlYlByb2Nlc3NOYW1lID0gIldlYktpdFdlYlByb2Nl
c3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcgbmV0d29ya1Byb2Nlc3NOYW1lID0gIldlYktpdE5l
dHdvcmtQcm9jZXNzIjsKLSNlbGlmIFBMQVRGT1JNKFdQRSkKLXN0YXRpYyBjb25zdCBDU3RyaW5n
IHdlYlByb2Nlc3NOYW1lID0gIldQRVdlYlByb2Nlc3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcg
bmV0d29ya1Byb2Nlc3NOYW1lID0gIldQRU5ldHdvcmtQcm9jZXNzIjsKLSNlbmRpZgotCi1ib29s
IGlzSW5XZWJQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc1dlYlByb2Nlc3M7Ci0gICAg
c3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VG
bGFnLCBbXSB7Ci0gICAgICAgIGlzV2ViUHJvY2VzcyA9IGdldEN1cnJlbnRFeGVjdXRhYmxlTmFt
ZSgpID09IHdlYlByb2Nlc3NOYW1lOwotICAgIH0pOwotICAgIHJldHVybiBpc1dlYlByb2Nlc3M7
Ci19Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc05l
dHdvcmtQcm9jZXNzOwotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKLSAgICBz
dGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAgICBpc05ldHdvcmtQcm9jZXNzID0g
Z2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gbmV0d29ya1Byb2Nlc3NOYW1lOwotICAgIH0p
OwotICAgIHJldHVybiBpc05ldHdvcmtQcm9jZXNzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAppbmRleCBiZWE1NjAzYzM2NDhi
Nzc1YWZhZWUwYjkwMDNiOTJlMjA2Njc4NGM5Li42MDQwMWY3MmQ3NzZjNDUwNDJiZWJkMjc1ODU4
NDlmZWYwZmY5MTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTUy
LDcgKzUyLDcgQEAgY2xhc3MgR1BVUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzLCBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8R1BVUHJvY2UKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHUFVQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJik7
CiAgICAgfkdQVVByb2Nlc3MoKTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHBy
b2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6OkdQVTsKKyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNv
cmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU6OkdQVTsKIAogICAgIHZvaWQgcmVtb3ZlR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyhHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdTdHJlYW1l
ci5jcHAKaW5kZXggMTU1YWI2ZTg4ZjVmNmI3OWVmM2JjZDU4NDg3Yjc1YzdhOWRlNGRjNi4uOGNm
MTE1MDg3OTQ4NjJmYjdiYTkyOTFhMGVhMGZkMzJkNjhjOTE0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdTdHJlYW1lci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdT
dHJlYW1lci5jcHAKQEAgLTM3LDYgKzM3LDkgQEAgc3RhdGljIFJlZlB0cjxHUFVQcm9jZXNzPiBn
bG9iYWxHUFVQcm9jZXNzOwogCiBjbGFzcyBHUFVQcm9jZXNzTWFpbkdTdHJlYW1lciBmaW5hbDog
cHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgR1BVUHJvY2Vz
c01haW5HU3RyZWFtZXIoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVy
cykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewog
ICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcApp
bmRleCA3NGUxOGZmYzMxZjIwNTQ3YTZkNzgzNjk2ODIwOTZhMmUzZGEwZWZjLi40Y2FmZGEwMjY1
MDFhNjc2OGZiNzg2ZjcxYjMxNWZhNWFkZTFiOTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxh
eVN0YXRpb24uY3BwCkBAIC0zNyw2ICszNyw5IEBAIHN0YXRpYyBSZWZQdHI8R1BVUHJvY2Vzcz4g
Z2xvYmFsR1BVUHJvY2VzczsKIAogY2xhc3MgR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbiBmaW5h
bDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgR1BVUHJv
Y2Vzc01haW5QbGF5U3RhdGlvbihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJh
bWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAg
ICB7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2luL0dQVVByb2Nlc3NNYWluV2luLmNwcAppbmRleCA3NGUxOGZmYzMxZjIwNTQ3YTZkNzgz
Njk2ODIwOTZhMmUzZGEwZWZjLi5mZTU5MWI3NzUyYWRiY2E2ZTMyZjU4OWYzZDQzMDAyZTFkOGNm
MGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQVVByb2Nlc3NN
YWluV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQVVByb2Nlc3NN
YWluV2luLmNwcApAQCAtMzUsOCArMzUsMTEgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRp
YyBSZWZQdHI8R1BVUHJvY2Vzcz4gZ2xvYmFsR1BVUHJvY2VzczsKIAotY2xhc3MgR1BVUHJvY2Vz
c01haW5QbGF5U3RhdGlvbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7
CitjbGFzcyBHUFVQcm9jZXNzTWFpbldpbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZSB7CiBwdWJsaWM6CisgICAgR1BVUHJvY2Vzc01haW5XaW4oQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5p
dGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUyLDcg
KzU1LDcgQEAgdm9pZCBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxHUFVQcm9jZXNzPihBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWUKIAogaW50IEdQVVByb2Nlc3NNYWluKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKIHsKLSAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48
R1BVUHJvY2VzcywgR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbj4oYXJnYywgYXJndik7CisgICAg
cmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nlc3MsIEdQVVByb2Nlc3NNYWluV2lu
PihhcmdjLCBhcmd2KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNDEyMzFiZmQ4NTk3ZTVh
MWZiOWE3ZTEwMDkxMWU3NWI5MTFlYjZmNi4uMTEyNjJhODU2YjEzODEzMTY5MmMyNTU0ODJiM2Jh
NjU3NDQ1ZWIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKIAogICAgIE5ldHdvcmtQcm9jZXNz
KEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJik7CiAgICAgfk5ldHdv
cmtQcm9jZXNzKCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlw
ZSA9IFByb2Nlc3NUeXBlOjpOZXR3b3JrOworICAgIHN0YXRpYyBjb25zdGV4cHIgV2ViQ29yZTo6
QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9j
ZXNzVHlwZTo6TmV0d29yazsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgIFQqIHN1
cHBsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJs
L05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jdXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwCmluZGV4IGZlODI4ZmVhODIyZWQ0NGY5
NDNiOThhZTM3NzZiZWU2YjYwZmUxNzAuLjYxMDNkZDBiOGZkM2U0YWU0ZGYwZjc2NzhmMmMzOWNm
NzhiZDk5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9O
ZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKQEAgLTM1LDYgKzM1LDkgQEAgc3Rh
dGljIFJlZlB0cjxOZXR3b3JrUHJvY2Vzcz4gZ2xvYmFsTmV0d29ya1Byb2Nlc3M7CiAKIGNsYXNz
IE5ldHdvcmtQcm9jZXNzTWFpbkN1cmwgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFp
bkJhc2UgewogcHVibGljOgorICAgIE5ldHdvcmtQcm9jZXNzTWFpbkN1cmwoQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhp
bGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICB2b2lkIHBsYXRmb3Jt
RmluYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgZ2xvYmFsTmV0d29ya1Byb2Nlc3Mt
PmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNz
TWFpblNvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQ
cm9jZXNzTWFpblNvdXAuY3BwCmluZGV4IDRjZjczOTEwOTc4MWYxMDIwYWNkZGFkNmZmNDZjZTA2
YjZkNjdhOTQuLjg3ODYyY2M3Y2M3ODlmYmE1MTQ0YWJlZjI4YTk5NGI3NGYwNGYxMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01h
aW5Tb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a1Byb2Nlc3NNYWluU291cC5jcHAKQEAgLTQxLDYgKzQxLDkgQEAgc3RhdGljIFJlZlB0cjxOZXR3
b3JrUHJvY2Vzcz4gZ2xvYmFsTmV0d29ya1Byb2Nlc3M7CiAKIGNsYXNzIE5ldHdvcmtQcm9jZXNz
TWFpblNvdXAgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGlj
OgorICAgIE5ldHdvcmtQcm9jZXNzTWFpblNvdXAoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFp
bkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92
ZXJyaWRlCiAgICAgewogI2lmIFVTRShHQ1JZUFQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBhMGY0ZTIwMGRlMTlhODNjZDljMTE4Mzg2ZGJmMzFl
Njc0NmIxYTVmLi40ZmNhYjEyZWIwN2Q4M2Q0ODdhNzczNDRjM2Q0ZDdmMzk3Njc1ZjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTQ5LDcgKzQ5
LDcgQEAgY2xhc3MgUGx1Z2luUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCiAKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2luZ2xldG9uKCk7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpQbHVnaW47
CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9j
ZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW47CiAKICAgICB2
b2lkIHJlbW92ZVdlYlByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NDb25uZWN0aW9uKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKaW5kZXggYzQ2Y2IwNmY1
ZWE2MWRiOTVhN2NjMTJlNmE2NmI3MmE3ZDI1NmE2OS4uZGJiZTFiZjA5MDM1ZmE0ZDMwMzBlZTFl
NDdlOWY3MjI1ZTJmMTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxp
YXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKQEAgLTY0LDYgKzY0LDggQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFsaXpl
KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMKIHsKICAgICBX
VEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwogCisg
ICAgc2V0QXV4aWxpYXJ5UHJvY2Vzc1R5cGUocGFyYW1ldGVycy5wcm9jZXNzVHlwZSk7CisKICAg
ICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UocGFyYW1ldGVycy5wcm9jZXNzSWRlbnRpZmll
ciwgIlVuYWJsZSB0byBpbml0aWFsaXplIGNoaWxkIHByb2Nlc3Mgd2l0aG91dCBhIFdlYkNvcmUg
cHJvY2VzcyBpZGVudGlmaWVyIik7CiAgICAgUHJvY2Vzczo6c2V0SWRlbnRpZmllcigqcGFyYW1l
dGVycy5wcm9jZXNzSWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVBy
b2Nlc3MuaAppbmRleCA3YmEyMDdhYmIwYWNjYzhhNTcwZjVjNjYzZjQ2Y2FhMjRhODI2ZDkxLi43
ZWVlNDk0NWQ4ZTAyMzRkYjk5YWM2MjBlNjgzMWZhMTFjODU2MWFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtNDQs
MTggKzQ1LDYgQEAgY2xhc3MgQXV4aWxpYXJ5UHJvY2VzcyA6IHByb3RlY3RlZCBJUEM6OkNvbm5l
Y3Rpb246OkNsaWVudCwgcHVibGljIElQQzo6TWVzc2FnZVMKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBdXhpbGlhcnlQcm9jZXNzKTsKIAogcHVibGljOgotICAgIGVudW0gY2xhc3MgUHJvY2Vz
c1R5cGUgOiB1aW50OF90IHsKLSAgICAgICAgV2ViQ29udGVudCwKLSAgICAgICAgTmV0d29yaywK
LSAgICAgICAgUGx1Z2luLAotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICAgICAgR1BVLAot
I2VuZGlmCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICAgICAgV2ViQXV0aG4KLSNlbmRpZgot
ICAgIH07Ci0KICAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gZGlzYWJsZSBhbmQgZW5hYmxlIHRlcm1p
bmF0aW9uIG9mIHRoZSBwcm9jZXNzLiB3aGVuIGRpc2FibGVUZXJtaW5hdGlvbiBpcyBjYWxsZWQs
IHRoZQpAQCAtMTc3LDcgKzE2Niw3IEBAIHN0cnVjdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBPcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
cj4gcHJvY2Vzc0lkZW50aWZpZXI7CiAgICAgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNv
bm5lY3Rpb25JZGVudGlmaWVyOwogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGV4dHJhSW5p
dGlhbGl6YXRpb25EYXRhOwotICAgIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHByb2Nl
c3NUeXBlOworICAgIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE9TT2JqZWN0UHRyPHhwY19vYmplY3RfdD4gcHJpb3Jp
dHlCb29zdE1lc3NhZ2U7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3NNYWluLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQ
cm9jZXNzTWFpbi5oCmluZGV4IGJmYzNiZDI0OTMyNTdiNDViZTM4YjhjM2NmZWE2YTA4OTA0MTA2
NDMuLmIzZmM0YWFmYWNiNTQxMWU5ZTUwOGJhZWY0ODQ3NjRhMzRlNWRkMWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaApAQCAtMzUsMTQgKzM1LDE0IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Ugewog
cHVibGljOgorICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShBdXhpbGlhcnlQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IG1fcGFyYW1ldGVy
cyhwYXJhbWV0ZXJzKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBwYXJzZUNvbW1hbmRMaW5lKGludCBh
cmdjLCBjaGFyKiogYXJndik7CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtRmluYWxpemUoKSB7
IH0KIAotICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiB0YWtl
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKCkgeyByZXR1cm4gV1RGTW92ZShtX3BhcmFtZXRlcnMp
OyB9Ci0KIHByb3RlY3RlZDoKLSAgICBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzIG1fcGFyYW1ldGVyczsKKyAgICBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiBtX3BhcmFtZXRlcnM7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBdXhpbGlh
cnlQcm9jZXNzVHlwZT4KQEAgLTU0LDcgKzU0LDEwIEBAIHZvaWQgaW5pdGlhbGl6ZUF1eGlsaWFy
eVByb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHBhcmFt
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBBdXhpbGlhcnlQcm9jZXNzVHlwZSwgdHlwZW5hbWUgQXV4aWxp
YXJ5UHJvY2Vzc01haW5UeXBlPgogaW50IEF1eGlsaWFyeVByb2Nlc3NNYWluKGludCBhcmdjLCBj
aGFyKiogYXJndikKIHsKLSAgICBBdXhpbGlhcnlQcm9jZXNzTWFpblR5cGUgYXV4aWxpYXJ5TWFp
bjsKKyAgICBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRl
cnM7CisgICAgcGFyYW1ldGVycy5wcm9jZXNzVHlwZSA9IEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpw
cm9jZXNzVHlwZTsKKyAgICAKKyAgICBBdXhpbGlhcnlQcm9jZXNzTWFpblR5cGUgYXV4aWxpYXJ5
TWFpbihwYXJhbWV0ZXJzKTsKIAogICAgIGlmICghYXV4aWxpYXJ5TWFpbi5wbGF0Zm9ybUluaXRp
YWxpemUoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKQEAgLTY0LDcgKzY3LDcgQEAg
aW50IEF1eGlsaWFyeVByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIAogICAgIElu
aXRpYWxpemVXZWJLaXQyKCk7CiAKLSAgICBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzczxBdXhp
bGlhcnlQcm9jZXNzVHlwZT4oYXV4aWxpYXJ5TWFpbi50YWtlSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzKCkpOworICAgIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPEF1eGlsaWFyeVByb2Nlc3NU
eXBlPihXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKICAgICBSdW5Mb29wOjpydW4oKTsKICAgICBhdXhp
bGlhcnlNYWluLnBsYXRmb3JtRmluYWxpemUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQppbmRleCAyMmMwYjE4OWFhZmM2OTQwNTA4M2Mz
NjAwNGI0ZDRkZTRmM2JiZmQxLi42M2I0NzU4YmYxMjI4ZDA5YTFlOWEyYzZkNmZlZGIxNjc0MWI0
MTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vz
c01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbQpAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBDYWNoZWRTYW5kYm94SGVhZGVyIHsKIC8v
IGJ5dGUgTgogCiBzdHJ1Y3QgU2FuZGJveEluZm8gewotICAgIFNhbmRib3hJbmZvKGNvbnN0IFN0
cmluZyYgcGFyZW50RGlyZWN0b3J5UGF0aCwgY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBj
b25zdCBTdHJpbmcmIGZpbGVQYXRoLCBjb25zdCBTYW5kYm94UGFyYW1ldGVyc1B0ciYgc2FuZGJv
eFBhcmFtZXRlcnMsIGNvbnN0IENTdHJpbmcmIGhlYWRlciwgY29uc3QgQXV4aWxpYXJ5UHJvY2Vz
czo6UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBlLCBjb25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiBpbml0aWFsaXphdGlvblBhcmFtZXRlcnMsIGNvbnN0IFN0cmluZyYgcHJvZmls
ZU9yUHJvZmlsZVBhdGgsIGJvb2wgaXNQcm9maWxlUGF0aCkKKyAgICBTYW5kYm94SW5mbyhjb25z
dCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5UGF0
aCwgY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgY29uc3QgU2FuZGJveFBhcmFtZXRlcnNQdHImIHNh
bmRib3hQYXJhbWV0ZXJzLCBjb25zdCBDU3RyaW5nJiBoZWFkZXIsIGNvbnN0IFdlYkNvcmU6OkF1
eGlsaWFyeVByb2Nlc3NUeXBlJiBwcm9jZXNzVHlwZSwgY29uc3QgU2FuZGJveEluaXRpYWxpemF0
aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLCBjb25zdCBTdHJpbmcmIHBy
b2ZpbGVPclByb2ZpbGVQYXRoLCBib29sIGlzUHJvZmlsZVBhdGgpCiAgICAgICAgIDogcGFyZW50
RGlyZWN0b3J5UGF0aCB7IHBhcmVudERpcmVjdG9yeVBhdGggfQogICAgICAgICAsIGRpcmVjdG9y
eVBhdGggeyBkaXJlY3RvcnlQYXRoIH0KICAgICAgICAgLCBmaWxlUGF0aCB7IGZpbGVQYXRoIH0K
QEAgLTEzMSw3ICsxMzEsNyBAQCBzdHJ1Y3QgU2FuZGJveEluZm8gewogICAgIGNvbnN0IFN0cmlu
ZyYgZmlsZVBhdGg7CiAgICAgY29uc3QgU2FuZGJveFBhcmFtZXRlcnNQdHImIHNhbmRib3hQYXJh
bWV0ZXJzOwogICAgIGNvbnN0IENTdHJpbmcmIGhlYWRlcjsKLSAgICBjb25zdCBBdXhpbGlhcnlQ
cm9jZXNzOjpQcm9jZXNzVHlwZSYgcHJvY2Vzc1R5cGU7CisgICAgY29uc3QgV2ViQ29yZTo6QXV4
aWxpYXJ5UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBlOwogICAgIGNvbnN0IFNhbmRib3hJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVyczsKICAgICBjb25zdCBT
dHJpbmcmIHByb2ZpbGVPclByb2ZpbGVQYXRoOwogICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0
aDsKQEAgLTIxOCwyMSArMjE4LDIxIEBAIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8Y2hhcj4+IGZp
bGVDb250ZW50cyhjb25zdCBTdHJpbmcmIHBhdGgsIGJvb2wgc2hvdWxkTG9jayA9CiAjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIC8vIFRoZXNlIHN0cmluZ3MgbXVzdCBtYXRjaCB0aGUgbGFz
dCBzZWdtZW50IG9mIHRoZSAiY29tLmFwcGxlLnJvb3RsZXNzLnN0b3JhZ2UuPHRoaXMgcGFydCBt
dXN0IG1hdGNoPiIgZW50cnkgaW4gZWFjaAogLy8gcHJvY2VzcydzIHJlc3RyaWN0ZWQgZW50aXRs
ZW1lbnRzIGZpbGUgKGV4LiBDb25maWd1cmF0aW9ucy9OZXR3b3JraW5nLU9TWC1yZXN0cmljdGVk
LmVudGl0bGVtZW50cykuCi1jb25zdGV4cHIgY29uc3QgY2hhciogcHJvY2Vzc1N0b3JhZ2VDbGFz
cyhBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSB0eXBlKQorY29uc3RleHByIGNvbnN0IGNo
YXIqIHByb2Nlc3NTdG9yYWdlQ2xhc3MoV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgdHlw
ZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlBy
b2Nlc3NUeXBlOjpXZWJDb250ZW50OgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vz
c1R5cGU6OldlYkNvbnRlbnQ6CiAgICAgICAgIHJldHVybiAiV2ViS2l0V2ViQ29udGVudFNhbmRi
b3giOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6Ok5ldHdvcms6Cisg
ICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6TmV0d29yazoKICAgICAgICAg
cmV0dXJuICJXZWJLaXROZXR3b3JraW5nU2FuZGJveCI7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9j
ZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJv
Y2Vzc1R5cGU6OlBsdWdpbjoKICAgICAgICAgcmV0dXJuICJXZWJLaXRQbHVnaW5TYW5kYm94IjsK
ICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9j
ZXNzVHlwZTo6R1BVOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQ
VToKICAgICAgICAgcmV0dXJuICJXZWJLaXRHUFVTYW5kYm94IjsKICNlbmRpZgogI2lmIEVOQUJM
RShXRUJfQVVUSE4pCi0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2Vi
QXV0aG46CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQXV0aG46
CiAgICAgICAgIHJldHVybiAiV2ViS2l0V2ViQXV0aG5TYW5kYm94IjsKICNlbmRpZgogICAgIH0K
QEAgLTI3OCwyNyArMjc4LDI3IEBAIHN0YXRpYyBTdHJpbmcgc2FuZGJveERhdGFWYXVsdFBhcmVu
dERpcmVjdG9yeSgpCiAgICAgcmV0dXJuIHJlc29sdmVkUGF0aDsKIH0KIAotc3RhdGljIFN0cmlu
ZyBzYW5kYm94RGlyZWN0b3J5KEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHByb2Nlc3NU
eXBlLCBjb25zdCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeSkKK3N0YXRpYyBTdHJpbmcgc2FuZGJv
eERpcmVjdG9yeShXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSwgY29u
c3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnkpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBkaXJlY3Rv
cnk7CiAgICAgZGlyZWN0b3J5LmFwcGVuZChwYXJlbnREaXJlY3RvcnkpOwogICAgIHN3aXRjaCAo
cHJvY2Vzc1R5cGUpIHsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpX
ZWJDb250ZW50OgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkNv
bnRlbnQ6CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnQuU2FuZGJveCIpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nl
c3M6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJv
Y2Vzc1R5cGU6Ok5ldHdvcms6CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUu
V2ViS2l0Lk5ldHdvcmtpbmcuU2FuZGJveCIpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEF1
eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpQbHVnaW46CisgICAgY2FzZSBXZWJDb3JlOjpB
dXhpbGlhcnlQcm9jZXNzVHlwZTo6UGx1Z2luOgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIv
Y29tLmFwcGxlLldlYktpdC5QbHVnaW4uU2FuZGJveCIpOwogICAgICAgICBicmVhazsKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCi0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlw
ZTo6R1BVOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQVToKICAg
ICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuR1BVLlNhbmRib3giKTsK
ICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGNhc2Ug
QXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgorICAgIGNhc2UgV2ViQ29y
ZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgogICAgICAgICBkaXJlY3RvcnkuYXBw
ZW5kKCIvY29tLmFwcGxlLldlYktpdC5XZWJBdXRobi5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFr
OwogI2VuZGlmCkBAIC01ODEsNyArNTgxLDcgQEAgc3RhdGljIGJvb2wgYXBwbHlTYW5kYm94KGNv
bnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXQKICNp
ZiBVU0UoQ0FDSEVfQ09NUElMRURfU0FOREJPWCkKICAgICAvLyBUaGUgcGx1Z2luIHByb2Nlc3Mn
cyBEQVJXSU5fVVNFUl9URU1QX0RJUiBhbmQgREFSV0lOX1VTRVJfQ0FDSEVfRElSIHNhbmRib3gg
cGFyYW1ldGVycyBhcmUgcmFuZG9taXplZCBzbwogICAgIC8vIHNvIHRoZSBjb21waWxlZCBzYW5k
Ym94IHNob3VsZCBub3QgYmUgY2FjaGVkIGJlY2F1c2UgaXQgd29uJ3QgYmUgcmV1c2VkLgotICAg
IGlmIChwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlID09IEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NU
eXBlOjpQbHVnaW4pCisgICAgaWYgKHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUgPT0gV2ViQ29yZTo6
QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdpbikKICAgICAgICAgcmV0dXJuIGNvbXBpbGVBbmRB
cHBseVNhbmRib3hTbG93Q2FzZShwcm9maWxlT3JQcm9maWxlUGF0aCwgaXNQcm9maWxlUGF0aCwg
c2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyk7CiAKICAgICBTYW5kYm94UGFyYW1ldGVy
c1B0ciBzYW5kYm94UGFyYW1ldGVycyB7IHNhbmRib3hfY3JlYXRlX3BhcmFtcygpIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAzZWZlMDA5MTdiMGRhZGJkMDdkYjEz
OTdjNjliOGIyYjhlZjc2YzJiLi4yMWMzYTEzZjUwZTFiOTYyZDAwNTJmOTE0YWQ0NzAzYjc2OWY1
OTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE1NCw3ICsxNTQs
NyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgU3ViUmVzb3VyY2VEb21haW4gPSBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbjsKIAogICAgIHN0YXRpYyBXZWJQcm9jZXNzJiBzaW5nbGV0b24oKTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6
OldlYkNvbnRlbnQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9j
ZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJD
b250ZW50OwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWlu
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsu
Y3BwCmluZGV4IDRjNDVjNjM1Y2Y4NjcyNTNiNmRkOGFmNmQzYTNjZTk3NzU0YWRmNDMuLjFkNmI2
OWVkZTE1M2NkMjcxYmUzZmY1ODA5ODNkNWYwNzAyMzM0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCkBAIC00NSw2ICs0NSw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbkd0ayBm
aW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2Vi
UHJvY2Vzc01haW5HdGsoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVy
cykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewog
I2lmIFVTRShHQ1JZUFQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxh
eXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXgg
NDVkZTQ1NDUyOWE0NDRlNGRlMDE4ZTA2NTYzODhiNjIyNWU2YmM5Mi4uZWI5ZmFiM2U2ZWJjNDZm
ZjQ3ODU0YzVjNzU0YTI5ZWE0N2ZhMTAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlTdGF0
aW9uLmNwcApAQCAtMzQsNiArMzQsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY2xh
c3MgV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nl
c3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbihBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAg
ICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wg
cGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzTWFp
bldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2lu
LmNwcAppbmRleCA4OWJjMTU5ZGYzNTkxMGFiZTEzM2M2OGQ3MTA1N2NkZmUxOTk1Y2JiLi43Mzgz
MTFhNjJmYjE4N2VjYTUzOGVmMzQ3MDEwOTllNzA0ZDE1OWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcApAQCAtMzksNiArMzks
OSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY2xhc3MgV2ViUHJvY2Vzc01haW5XaW4g
ZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBX
ZWJQcm9jZXNzTWFpbldpbihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0
ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7
CiAgICAgICAgIGlmIChTZXRQcm9jZXNzRHBpQXdhcmVuZXNzQ29udGV4dFB0cigpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAppbmRl
eCA5MGE4ZGFmMjgyMDAzNDk1YzllMDEyMjI3YmRmMDgzZjE0NWJhMjBmLi42N2IwMWQ4MzEwOWFi
MjY0NDg2ZTk0ZGU1YzNkNTJjNTc1NDI3NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcApAQCAtNzgsNiArNzgsOSBAQCBzdGF0
aWMgdm9pZCBpbml0aWFsaXplQWNjZXNzaWJpbGl0eSgpCiAKIGNsYXNzIFdlYlByb2Nlc3NNYWlu
V1BFIGZpbmFsIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6Cisg
ICAgV2ViUHJvY2Vzc01haW5XUEUoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFy
YW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAg
ICAgewogI2lmIFVTRShHQ1JZUFQpCg==
</data>
<flag name="commit-queue"
          id="435212"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417489</attachid>
            <date>2021-01-12 13:50:07 -0800</date>
            <delta_ts>2021-01-12 16:30:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210113065006.patch</filename>
            <type>text/plain</type>
            <size>28425</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uNzFkZWM5ODFmNGE0MDc2NTgzODQ2YWJkMGY0MGZk
NTFmYTk1NmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAxLTEyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tBdXhpbGlh
cnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYkNv
cmU6OmlzSW5HUFVQcm9jZXNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjppc0luV2ViUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjppc0luR1BVUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpp
c0luTmV0d29ya1Byb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHA6IFJlbW92ZWQuCisKIDIwMjEtMDEtMTEgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNh
aXJvXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgcjI3MTM1MwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYzRhNmM2
MGYwZTU0NmIxM2E4NTIzZTY1YzdkMjgzMmQxOTI4ODRlLi4zM2MzZjlhZWY2NGMwMTlmNWIyNTZi
ZTE0NjQ0NjYzYzA4YzY5YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTAxLTEy
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJl
aW1wbGVtZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRm
b3JtIGJ5IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJv
Y2Vzc1R5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMDUyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgICogR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwOgorICAgICAgICAqIFNoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5p
dGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAg
KiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlOjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3NNYWluQmFzZTo6dGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycyk6IERlbGV0ZWQu
CisgICAgICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpTYW5kYm94SW5mbzo6U2FuZGJveEluZm8pOgorICAgICAgICAoV2ViS2l0Ojpwcm9j
ZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9yeSk6Cisg
ICAgICAgIChXZWJLaXQ6OmFwcGx5U2FuZGJveCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd3BlL1dlYlByb2Nl
c3NNYWluV1BFLmNwcDoKKwogMjAyMS0wMS0xMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBwYWdlRGlkQ29tcHV0ZVBhZ2VSZWN0
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmNwcAppbmRleCA0NzExMDEwNjRjY2VhYTQ4NWE2MDhhNDU1MzY1NzVkNDhkYTkxZjYy
Li4yMzYzNzZkZWM5MjM1MGFlMTdlM2U1YzRjYTMyZGE0ZGI4MGNmZWYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAg
LTYwLDQgKzYwLDE2IEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQp
CiAgICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorc3Rh
dGljIEF1eGlsaWFyeVByb2Nlc3NUeXBlIHNfYXV4aWxpYXJ5UHJvY2Vzc1R5cGU7CisKK3ZvaWQg
c2V0QXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUgdHlwZSkKK3sKKyAg
ICBzX2F1eGlsaWFyeVByb2Nlc3NUeXBlID0gdHlwZTsKK30KKworT3B0aW9uYWw8QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU+IGF1eGlsaWFyeVByb2Nlc3NUeXBlKCkKK3sKKyAgICByZXR1cm4gc19hdXhp
bGlhcnlQcm9jZXNzVHlwZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAppbmRleCBk
ZTZkY2Q3ODhhODY5OTM3NzA5NzIyZTNmMGM5NGI4YTk4OTU2NjFiLi4xMWYxNzFiYTkyZjVlMjU5
MzllZTUwNmE1ZWE3OGJkMzdhOGYyMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApAQCAtMjYsMjAgKzI2LDQwIEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL09wdGlv
bmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQ
cmVzZW50aW5nQXBwbGljYXRpb25QSUQoaW50KTsKIFdFQkNPUkVfRVhQT1JUIGludCBwcmVzZW50
aW5nQXBwbGljYXRpb25QSUQoKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoR0xJQikK
LWJvb2wgaXNJbldlYlByb2Nlc3MoKTsKLWJvb2wgaXNJbkdQVVByb2Nlc3MoKTsKLWJvb2wgaXNJ
bk5ldHdvcmtQcm9jZXNzKCk7Ci0jZWxzZQotaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7
IHJldHVybiBmYWxzZTsgfQotaW5saW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVybiBm
YWxzZTsgfQotaW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7
IH0KK2VudW0gY2xhc3MgQXV4aWxpYXJ5UHJvY2Vzc1R5cGUgOiB1aW50OF90IHsKKyAgICBXZWJD
b250ZW50LAorICAgIE5ldHdvcmssCisgICAgUGx1Z2luLAorI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKKyAgICBHUFUsCisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIFdlYkF1dGhu
LAorI2VuZGlmCit9OworCitXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1eGlsaWFyeVByb2Nlc3NU
eXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlKTsKK1dFQkNPUkVfRVhQT1JUIE9wdGlvbmFsPEF1eGls
aWFyeVByb2Nlc3NUeXBlPiBhdXhpbGlhcnlQcm9jZXNzVHlwZSgpOworCitpbmxpbmUgYm9vbCBj
aGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlIHR5cGUpCit7Cisg
ICAgYXV0byBjdXJyZW50VHlwZSA9IGF1eGlsaWFyeVByb2Nlc3NUeXBlKCk7CisgICAgaWYgKCFj
dXJyZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiAqY3VycmVudFR5
cGUgPT0gdHlwZTsgCit9CisKK2lubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4g
Y2hlY2tBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQ29udGVu
dCk7IH0KK2lubGluZSBib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpIHsgcmV0dXJuIGNoZWNrQXV4
aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGU6Ok5ldHdvcmspOyB9CisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQoraW5saW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVy
biBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFUpOyB9
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291
cmNlc0dMaWIudHh0CmluZGV4IDAyZjBiOGI5NGU0NzczNTU1MmYzMTE4ZWY5MzdkZDBjMjVkZmEy
MTMuLmRmMjczZTU4YWRmYTYxYzZkMjUzMzJiMzIxZjZmN2Q3Nzc1YzYxNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQKQEAgLTI3LDcgKzI3LDYgQEAgcGxhdGZvcm0v
Z2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCiBwbGF0Zm9ybS9nbGliL0tleWVkRGVjb2RlckdsaWIu
Y3BwCiBwbGF0Zm9ybS9nbGliL0tleWVkRW5jb2RlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL0xv
d1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAKLXBsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzR0xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvU2hhcmVkQnVmZmVyR2xpYi5jcHAKIHBs
YXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5t
bQppbmRleCBiMDZmZjQ3ZGZjNTQxNzIxZjY0YWEwZGUzOGIzYjkyZjg4MzgyNDZiLi5iODUxNGVm
ODBkYjRlNGJhNTE3NmNkZTdiMzNmMDA1YTI2MWRjZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5tbQpAQCAtOTAsMjQgKzkwLDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllclRlc3RpbmdPdmVycmlkZSgpCiAjZW5kaWYKIH0KIAotYm9vbCBpc0luV2ViUHJvY2Vz
cygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzV2ViUHJvY2VzcyA9IFtbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudCJdOwotICAgIHJldHVybiBtYWluQnVuZGxlSXNXZWJQcm9jZXNzOwot
fQotCi1ib29sIGlzSW5HUFVQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxl
SXNHUFVQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0g
aGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5HUFUiXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRs
ZUlzR1BVUHJvY2VzczsKLX0KLQotYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKQotewotICAgIHN0
YXRpYyBib29sIG1haW5CdW5kbGVJc05ldHdvcmtQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5OZXR3
b3JraW5nIl07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJc05ldHdvcmtQcm9jZXNzOwotfQotCiBz
dGF0aWMgYm9vbCBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbyhjb25zdCBTdHJpbmcmIGJ1bmRs
ZUlkZW50aWZpZXJTdHJpbmcpCiB7CiAgICAgcmV0dXJuIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcigpID09IGJ1bmRsZUlkZW50aWZpZXJTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDVhZjg1Yjk5NTI0OTE2OGFjNTc4MDE1
MzdhNjUyZjNjNjNhMWUxYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0dMaWIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKLQotI2luY2x1ZGUgPG11dGV4PgotI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci0jaWYgUExBVEZPUk0oR1RLKQotc3RhdGljIGNvbnN0IENTdHJpbmcgd2ViUHJvY2Vzc05hbWUg
PSAiV2ViS2l0V2ViUHJvY2VzcyI7Ci1zdGF0aWMgY29uc3QgQ1N0cmluZyBuZXR3b3JrUHJvY2Vz
c05hbWUgPSAiV2ViS2l0TmV0d29ya1Byb2Nlc3MiOwotI2VsaWYgUExBVEZPUk0oV1BFKQotc3Rh
dGljIGNvbnN0IENTdHJpbmcgd2ViUHJvY2Vzc05hbWUgPSAiV1BFV2ViUHJvY2VzcyI7Ci1zdGF0
aWMgY29uc3QgQ1N0cmluZyBuZXR3b3JrUHJvY2Vzc05hbWUgPSAiV1BFTmV0d29ya1Byb2Nlc3Mi
OwotI2VuZGlmCi0KLWJvb2wgaXNJbldlYlByb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIGlz
V2ViUHJvY2VzczsKLSAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7Ci0gICAgc3Rk
OjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKLSAgICAgICAgaXNXZWJQcm9jZXNzID0gZ2V0Q3Vy
cmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gd2ViUHJvY2Vzc05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0
dXJuIGlzV2ViUHJvY2VzczsKLX0KLQotYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKQotewotICAg
IHN0YXRpYyBib29sIGlzTmV0d29ya1Byb2Nlc3M7Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFn
IG9uY2VGbGFnOwotICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIGlz
TmV0d29ya1Byb2Nlc3MgPSBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKSA9PSBuZXR3b3JrUHJv
Y2Vzc05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIGlzTmV0d29ya1Byb2Nlc3M7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmlu
ZGV4IGJlYTU2MDNjMzY0OGI3NzVhZmFlZTBiOTAwM2I5MmUyMDY2Nzg0YzkuLjYwNDAxZjcyZDc3
NmM0NTA0MmJlYmQyNzU4NTg0OWZlZjBmZjkxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuaApAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBHUFVQcm9jZXNzIDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxHUFVQcm9jZQogcHVi
bGljOgogICAgIGV4cGxpY2l0IEdQVVByb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0
aW9uUGFyYW1ldGVycyYmKTsKICAgICB+R1BVUHJvY2VzcygpOwotICAgIHN0YXRpYyBjb25zdGV4
cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6R1BVOworICAgIHN0YXRp
YyBjb25zdGV4cHIgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBX
ZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6R1BVOwogCiAgICAgdm9pZCByZW1vdmVHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFp
bkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVBy
b2Nlc3NNYWluR1N0cmVhbWVyLmNwcAppbmRleCAxNTVhYjZlODhmNWY2Yjc5ZWYzYmNkNTg0ODdi
NzVjN2E5ZGU0ZGM2Li44Y2YxMTUwODc5NDg2MmZiN2JhOTI5MWEwZWEwZmQzMmQ2OGM5MTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NN
YWluR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVy
L0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcApAQCAtMzcsNiArMzcsOSBAQCBzdGF0aWMgUmVm
UHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nlc3M7CiAKIGNsYXNzIEdQVVByb2Nlc3NNYWlu
R1N0cmVhbWVyIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1Ymxp
YzoKKyAgICBHUFVQcm9jZXNzTWFpbkdTdHJlYW1lcihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkg
b3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWlu
UGxheVN0YXRpb24uY3BwCmluZGV4IDc0ZTE4ZmZjMzFmMjA1NDdhNmQ3ODM2OTY4MjA5NmEyZTNk
YTBlZmMuLjRjYWZkYTAyNjUwMWE2NzY4ZmI3ODZmNzFiMzE1ZmE1YWRlMWI5MzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBs
YXlTdGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24v
R1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDkgQEAgc3RhdGljIFJl
ZlB0cjxHUFVQcm9jZXNzPiBnbG9iYWxHUFVQcm9jZXNzOwogCiBjbGFzcyBHUFVQcm9jZXNzTWFp
blBsYXlTdGF0aW9uIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1
YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uKEF1eGlsaWFyeVByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJv
Y2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxp
emUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2luL0dQVVByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDc0ZTE4
ZmZjMzFmMjA1NDdhNmQ3ODM2OTY4MjA5NmEyZTNkYTBlZmMuLmZlNTkxYjc3NTJhZGJjYTZlMzJm
NTg5ZjNkNDMwMDJlMWQ4Y2YwZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwCkBAIC0zNSw4ICszNSwxMSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogc3RhdGljIFJlZlB0cjxHUFVQcm9jZXNzPiBnbG9iYWxHUFVQcm9jZXNzOwog
Ci1jbGFzcyBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5
UHJvY2Vzc01haW5CYXNlIHsKK2NsYXNzIEdQVVByb2Nlc3NNYWluV2luIGZpbmFsOiBwdWJsaWMg
QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpbldp
bihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQor
ICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAg
IGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVy
biB0cnVlOwpAQCAtNTIsNyArNTUsNyBAQCB2b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNz
PEdQVVByb2Nlc3M+KEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZQogCiBpbnQg
R1BVUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIHJldHVybiBBdXhp
bGlhcnlQcm9jZXNzTWFpbjxHUFVQcm9jZXNzLCBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uPihh
cmdjLCBhcmd2KTsKKyAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48R1BVUHJvY2Vzcywg
R1BVUHJvY2Vzc01haW5XaW4+KGFyZ2MsIGFyZ3YpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRl
eCA0MTIzMWJmZDg1OTdlNWExZmI5YTdlMTAwOTExZTc1YjkxMWViNmY2Li4xMTI2MmE4NTZiMTM4
MTMxNjkyYzI1NTQ4MmIzYmE2NTc0NDVlYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogCiAg
ICAgTmV0d29ya1Byb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVy
cyYmKTsKICAgICB+TmV0d29ya1Byb2Nlc3MoKTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nl
c3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6Ok5ldHdvcms7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdlYkNv
cmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrOwogCiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKaW5kZXgg
ZmU4MjhmZWE4MjJlZDQ0Zjk0M2I5OGFlMzc3NmJlZTZiNjBmZTE3MC4uNjEwM2RkMGI4ZmQzZTRh
ZTRkZjBmNzY3OGYyYzM5Y2Y3OGJkOTk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9jZXNzTWFpbkN1cmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcApAQCAt
MzUsNiArMzUsOSBAQCBzdGF0aWMgUmVmUHRyPE5ldHdvcmtQcm9jZXNzPiBnbG9iYWxOZXR3b3Jr
UHJvY2VzczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3NNYWluQ3VybCBmaW5hbDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgTmV0d29ya1Byb2Nlc3NNYWlu
Q3VybChBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
KQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwog
ICAgIHZvaWQgcGxhdGZvcm1GaW5hbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBnbG9i
YWxOZXR3b3JrUHJvY2Vzcy0+ZGVzdHJveVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRT
ZXNzaW9uSUQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3Nv
dXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHAKaW5kZXggNGNmNzM5MTA5NzgxZjEw
MjBhY2RkYWQ2ZmY0NmNlMDZiNmQ2N2E5NC4uODc4NjJjYzdjYzc4OWZiYTUxNDRhYmVmMjhhOTk0
Yjc0ZjA0ZjExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcApAQCAtNDEsNiArNDEsOSBAQCBz
dGF0aWMgUmVmUHRyPE5ldHdvcmtQcm9jZXNzPiBnbG9iYWxOZXR3b3JrUHJvY2VzczsKIAogY2xh
c3MgTmV0d29ya1Byb2Nlc3NNYWluU291cCBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZSB7CiBwdWJsaWM6CisgICAgTmV0d29ya1Byb2Nlc3NNYWluU291cChBdXhpbGlhcnlQ
cm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1
eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZv
cm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IGEwZjRlMjAwZGUxOWE4
M2NkOWMxMTgzODZkYmYzMWU2NzQ2YjFhNWYuLjRmY2FiMTJlYjA3ZDgzZDQ4N2E3NzM0NGMzZDRk
N2YzOTc2NzVmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBQbHVnaW5Qcm9jZXNzIDogcHVibGljIEF1eGls
aWFyeVByb2Nlc3MKIAogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaW5nbGV0
b24oKTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJv
Y2Vzc1R5cGU6OlBsdWdpbjsKKyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFy
eVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6
OlBsdWdpbjsKIAogICAgIHZvaWQgcmVtb3ZlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxp
YXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNw
cAppbmRleCBjNDZjYjA2ZjVlYTYxZGI5NWE3Y2MxMmU2YTY2YjcyYTdkMjU2YTY5Li5kYmJlMWJm
MDkwMzVmYTRkMzAzMGVlMWU0N2U5ZjcyMjVlMmYxMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXhpbGlhcnlQcm9jZXNzLmNwcApAQCAtNjQsNiArNjQsOCBAQCB2b2lkIEF1eGlsaWFyeVBy
b2Nlc3M6OmluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycwogewogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNr
c0dsb2JhbGx5KCk7CiAKKyAgICBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShwYXJhbWV0ZXJzLnBy
b2Nlc3NUeXBlKTsKKwogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FHRShwYXJhbWV0ZXJz
LnByb2Nlc3NJZGVudGlmaWVyLCAiVW5hYmxlIHRvIGluaXRpYWxpemUgY2hpbGQgcHJvY2VzcyB3
aXRob3V0IGEgV2ViQ29yZSBwcm9jZXNzIGlkZW50aWZpZXIiKTsKICAgICBQcm9jZXNzOjpzZXRJ
ZGVudGlmaWVyKCpwYXJhbWV0ZXJzLnByb2Nlc3NJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCmluZGV4IDdiYTIwN2FiYjBhY2NjOGE1NzBmNWM2NjNm
NDZjYWEyNGE4MjZkOTEuLjdlZWU0OTQ1ZDhlMDIzNGRiOTlhYzYyMGU2ODMxZmExMWM4NTYxYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKQEAgLTI5LDYgKzI5LDcg
QEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNpbmNsdWRlICJNZXNzYWdlU2Vu
ZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9V
c2VyQWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9S
dW5Mb29wLmg+CkBAIC00NCwxOCArNDUsNiBAQCBjbGFzcyBBdXhpbGlhcnlQcm9jZXNzIDogcHJv
dGVjdGVkIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgSVBDOjpNZXNzYWdlUwogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEF1eGlsaWFyeVByb2Nlc3MpOwogCiBwdWJsaWM6Ci0gICAg
ZW51bSBjbGFzcyBQcm9jZXNzVHlwZSA6IHVpbnQ4X3QgewotICAgICAgICBXZWJDb250ZW50LAot
ICAgICAgICBOZXR3b3JrLAotICAgICAgICBQbHVnaW4sCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KQotICAgICAgICBHUFUsCi0jZW5kaWYKLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICAgICBX
ZWJBdXRobgotI2VuZGlmCi0gICAgfTsKLQogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAvLyBkaXNhYmxl
IGFuZCBlbmFibGUgdGVybWluYXRpb24gb2YgdGhlIHByb2Nlc3MuIHdoZW4gZGlzYWJsZVRlcm1p
bmF0aW9uIGlzIGNhbGxlZCwgdGhlCkBAIC0xNzcsNyArMTY2LDcgQEAgc3RydWN0IEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFsPFdlYkNvcmU6
OlByb2Nlc3NJZGVudGlmaWVyPiBwcm9jZXNzSWRlbnRpZmllcjsKICAgICBJUEM6OkNvbm5lY3Rp
b246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXI7CiAgICAgSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4gZXh0cmFJbml0aWFsaXphdGlvbkRhdGE7Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzczo6
UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CisgICAgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5
cGUgcHJvY2Vzc1R5cGU7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgT1NPYmplY3RQdHI8eHBj
X29iamVjdF90PiBwcmlvcml0eUJvb3N0TWVzc2FnZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKaW5kZXggYmZjM2JkMjQ5MzI1N2I0NWJlMzhi
OGMzY2ZlYTZhMDg5MDQxMDY0My4uYjNmYzRhYWZhY2I1NDExZTllNTA4YmFlZjQ4NDc2NGEzNGU1
ZGQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01h
aW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCkBA
IC0zNSwxNCArMzUsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIEF1eGlsaWFyeVBy
b2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKEF1
eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAg
ICAgIDogbV9wYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwbGF0
Zm9ybUluaXRpYWxpemUoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHBhcnNl
Q29tbWFuZExpbmUoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KTsKICAgICB2aXJ0dWFsIHZvaWQgcGxh
dGZvcm1GaW5hbGl6ZSgpIHsgfQogCi0gICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycyYmIHRha2VJbml0aWFsaXphdGlvblBhcmFtZXRlcnMoKSB7IHJldHVybiBXVEZN
b3ZlKG1fcGFyYW1ldGVycyk7IH0KLQogcHJvdGVjdGVkOgotICAgIEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMgbV9wYXJhbWV0ZXJzOworICAgIEF1eGlsaWFyeVByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIG1fcGFyYW1ldGVyczsKIH07CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBlPgpAQCAtNTQsNyArNTQsMTAgQEAgdm9pZCBp
bml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzcyhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiYgcGFyYW0KIHRlbXBsYXRlPHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBl
LCB0eXBlbmFtZSBBdXhpbGlhcnlQcm9jZXNzTWFpblR5cGU+CiBpbnQgQXV4aWxpYXJ5UHJvY2Vz
c01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIEF1eGlsaWFyeVByb2Nlc3NNYWlu
VHlwZSBhdXhpbGlhcnlNYWluOworICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlID0gQXV4aWxp
YXJ5UHJvY2Vzc1R5cGU6OnByb2Nlc3NUeXBlOworICAgIAorICAgIEF1eGlsaWFyeVByb2Nlc3NN
YWluVHlwZSBhdXhpbGlhcnlNYWluKHBhcmFtZXRlcnMpOwogCiAgICAgaWYgKCFhdXhpbGlhcnlN
YWluLnBsYXRmb3JtSW5pdGlhbGl6ZSgpKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwpA
QCAtNjQsNyArNjcsNyBAQCBpbnQgQXV4aWxpYXJ5UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIq
KiBhcmd2KQogCiAgICAgSW5pdGlhbGl6ZVdlYktpdDIoKTsKIAotICAgIGluaXRpYWxpemVBdXhp
bGlhcnlQcm9jZXNzPEF1eGlsaWFyeVByb2Nlc3NUeXBlPihhdXhpbGlhcnlNYWluLnRha2VJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMoKSk7CisgICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8
QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+KFdURk1vdmUocGFyYW1ldGVycykpOwogICAgIFJ1bkxvb3A6
OnJ1bigpOwogICAgIGF1eGlsaWFyeU1haW4ucGxhdGZvcm1GaW5hbGl6ZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCmluZGV4IDIyYzBi
MTg5YWFmYzY5NDA1MDgzYzM2MDA0YjRkNGRlNGYzYmJmZDEuLjYzYjQ3NThiZjEyMjhkMDlhMWU5
YTJjNmQ2ZmVkYjE2NzQxYjQxMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9B
dXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0IENhY2hlZFNh
bmRib3hIZWFkZXIgewogLy8gYnl0ZSBOCiAKIHN0cnVjdCBTYW5kYm94SW5mbyB7Ci0gICAgU2Fu
ZGJveEluZm8oY29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcm
IGRpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGNvbnN0IFNhbmRib3hQYXJh
bWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVycywgY29uc3QgQ1N0cmluZyYgaGVhZGVyLCBjb25z
dCBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSYgcHJvY2Vzc1R5cGUsIGNvbnN0IFNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVycywgY29u
c3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxlUGF0aCwgYm9vbCBpc1Byb2ZpbGVQYXRoKQorICAg
IFNhbmRib3hJbmZvKGNvbnN0IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5UGF0aCwgY29uc3QgU3Ry
aW5nJiBkaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcmIGZpbGVQYXRoLCBjb25zdCBTYW5kYm94
UGFyYW1ldGVyc1B0ciYgc2FuZGJveFBhcmFtZXRlcnMsIGNvbnN0IENTdHJpbmcmIGhlYWRlciwg
Y29uc3QgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBlLCBjb25zdCBT
YW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBpbml0aWFsaXphdGlvblBhcmFtZXRlcnMs
IGNvbnN0IFN0cmluZyYgcHJvZmlsZU9yUHJvZmlsZVBhdGgsIGJvb2wgaXNQcm9maWxlUGF0aCkK
ICAgICAgICAgOiBwYXJlbnREaXJlY3RvcnlQYXRoIHsgcGFyZW50RGlyZWN0b3J5UGF0aCB9CiAg
ICAgICAgICwgZGlyZWN0b3J5UGF0aCB7IGRpcmVjdG9yeVBhdGggfQogICAgICAgICAsIGZpbGVQ
YXRoIHsgZmlsZVBhdGggfQpAQCAtMTMxLDcgKzEzMSw3IEBAIHN0cnVjdCBTYW5kYm94SW5mbyB7
CiAgICAgY29uc3QgU3RyaW5nJiBmaWxlUGF0aDsKICAgICBjb25zdCBTYW5kYm94UGFyYW1ldGVy
c1B0ciYgc2FuZGJveFBhcmFtZXRlcnM7CiAgICAgY29uc3QgQ1N0cmluZyYgaGVhZGVyOwotICAg
IGNvbnN0IEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlJiBwcm9jZXNzVHlwZTsKKyAgICBj
b25zdCBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSYgcHJvY2Vzc1R5cGU7CiAgICAgY29u
c3QgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzOwogICAgIGNvbnN0IFN0cmluZyYgcHJvZmlsZU9yUHJvZmlsZVBhdGg7CiAgICAgY29uc3Qg
Ym9vbCBpc1Byb2ZpbGVQYXRoOwpAQCAtMjE4LDIxICsyMTgsMjEgQEAgc3RhdGljIE9wdGlvbmFs
PFZlY3RvcjxjaGFyPj4gZmlsZUNvbnRlbnRzKGNvbnN0IFN0cmluZyYgcGF0aCwgYm9vbCBzaG91
bGRMb2NrID0KICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogLy8gVGhlc2Ugc3RyaW5ncyBt
dXN0IG1hdGNoIHRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlICJjb20uYXBwbGUucm9vdGxlc3Muc3Rv
cmFnZS48dGhpcyBwYXJ0IG11c3QgbWF0Y2g+IiBlbnRyeSBpbiBlYWNoCiAvLyBwcm9jZXNzJ3Mg
cmVzdHJpY3RlZCBlbnRpdGxlbWVudHMgZmlsZSAoZXguIENvbmZpZ3VyYXRpb25zL05ldHdvcmtp
bmctT1NYLXJlc3RyaWN0ZWQuZW50aXRsZW1lbnRzKS4KLWNvbnN0ZXhwciBjb25zdCBjaGFyKiBw
cm9jZXNzU3RvcmFnZUNsYXNzKEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHR5cGUpCitj
b25zdGV4cHIgY29uc3QgY2hhciogcHJvY2Vzc1N0b3JhZ2VDbGFzcyhXZWJDb3JlOjpBdXhpbGlh
cnlQcm9jZXNzVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgQXV4
aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6CisgICAgY2FzZSBXZWJDb3Jl
OjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKICAgICAgICAgcmV0dXJuICJXZWJL
aXRXZWJDb250ZW50U2FuZGJveCI7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNz
VHlwZTo6TmV0d29yazoKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpO
ZXR3b3JrOgogICAgICAgICByZXR1cm4gIldlYktpdE5ldHdvcmtpbmdTYW5kYm94IjsKLSAgICBj
YXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpQbHVnaW46CisgICAgY2FzZSBXZWJD
b3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6UGx1Z2luOgogICAgICAgICByZXR1cm4gIldlYktp
dFBsdWdpblNhbmRib3giOwogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICBjYXNlIEF1eGls
aWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpHUFU6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlh
cnlQcm9jZXNzVHlwZTo6R1BVOgogICAgICAgICByZXR1cm4gIldlYktpdEdQVVNhbmRib3giOwog
I2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6
OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nl
c3NUeXBlOjpXZWJBdXRobjoKICAgICAgICAgcmV0dXJuICJXZWJLaXRXZWJBdXRoblNhbmRib3gi
OwogI2VuZGlmCiAgICAgfQpAQCAtMjc4LDI3ICsyNzgsMjcgQEAgc3RhdGljIFN0cmluZyBzYW5k
Ym94RGF0YVZhdWx0UGFyZW50RGlyZWN0b3J5KCkKICAgICByZXR1cm4gcmVzb2x2ZWRQYXRoOwog
fQogCi1zdGF0aWMgU3RyaW5nIHNhbmRib3hEaXJlY3RvcnkoQXV4aWxpYXJ5UHJvY2Vzczo6UHJv
Y2Vzc1R5cGUgcHJvY2Vzc1R5cGUsIGNvbnN0IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5KQorc3Rh
dGljIFN0cmluZyBzYW5kYm94RGlyZWN0b3J5KFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBl
IHByb2Nlc3NUeXBlLCBjb25zdCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeSkKIHsKICAgICBTdHJp
bmdCdWlsZGVyIGRpcmVjdG9yeTsKICAgICBkaXJlY3RvcnkuYXBwZW5kKHBhcmVudERpcmVjdG9y
eSk7CiAgICAgc3dpdGNoIChwcm9jZXNzVHlwZSkgewotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vz
czo6UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQ
cm9jZXNzVHlwZTo6V2ViQ29udGVudDoKICAgICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6Ok5ldHdvcms6CisgICAgY2FzZSBXZWJD
b3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6TmV0d29yazoKICAgICAgICAgZGlyZWN0b3J5LmFw
cGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5TYW5kYm94Iik7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbjoKKyAg
ICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAgIGRp
cmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0LlBsdWdpbi5TYW5kYm94Iik7CiAgICAg
ICAgIGJyZWFrOwogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICBjYXNlIEF1eGlsaWFyeVBy
b2Nlc3M6OlByb2Nlc3NUeXBlOjpHUFU6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9j
ZXNzVHlwZTo6R1BVOgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIvY29tLmFwcGxlLldlYktp
dC5HUFUuU2FuZGJveCIpOwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJf
QVVUSE4pCi0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46
CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQXV0aG46CiAgICAg
ICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuLlNhbmRib3gi
KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKQEAgLTU4MSw3ICs1ODEsNyBAQCBzdGF0aWMgYm9v
bCBhcHBseVNhbmRib3goY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldAogI2lmIFVTRShDQUNIRV9DT01QSUxFRF9TQU5EQk9YKQogICAgIC8vIFRo
ZSBwbHVnaW4gcHJvY2VzcydzIERBUldJTl9VU0VSX1RFTVBfRElSIGFuZCBEQVJXSU5fVVNFUl9D
QUNIRV9ESVIgc2FuZGJveCBwYXJhbWV0ZXJzIGFyZSByYW5kb21pemVkIHNvCiAgICAgLy8gc28g
dGhlIGNvbXBpbGVkIHNhbmRib3ggc2hvdWxkIG5vdCBiZSBjYWNoZWQgYmVjYXVzZSBpdCB3b24n
dCBiZSByZXVzZWQuCi0gICAgaWYgKHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUgPT0gQXV4aWxpYXJ5
UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbikKKyAgICBpZiAocGFyYW1ldGVycy5wcm9jZXNz
VHlwZSA9PSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6UGx1Z2luKQogICAgICAgICBy
ZXR1cm4gY29tcGlsZUFuZEFwcGx5U2FuZGJveFNsb3dDYXNlKHByb2ZpbGVPclByb2ZpbGVQYXRo
LCBpc1Byb2ZpbGVQYXRoLCBzYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKTsKIAogICAg
IFNhbmRib3hQYXJhbWV0ZXJzUHRyIHNhbmRib3hQYXJhbWV0ZXJzIHsgc2FuZGJveF9jcmVhdGVf
cGFyYW1zKCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDNlZmUw
MDkxN2IwZGFkYmQwN2RiMTM5N2M2OWI4YjJiOGVmNzZjMmIuLjIxYzNhMTNmNTBlMWI5NjJkMDA1
MmY5MTRhZDQ3MDNiNzY5ZjU5NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aApAQCAtMTU0LDcgKzE1NCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBTdWJSZXNvdXJjZURvbWFp
biA9IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOwogCiAgICAgc3RhdGljIFdlYlByb2Nlc3Mm
IHNpbmdsZXRvbigpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5
cGUgPSBQcm9jZXNzVHlwZTo6V2ViQ29udGVudDsKKyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNv
cmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAg
ICBUKiBzdXBwbGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9n
dGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9X
ZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggNGM0NWM2MzVjZjg2NzI1M2I2ZGQ4YWY2ZDNhM2Nl
OTc3NTRhZGY0My4uMWQ2YjY5ZWRlMTUzY2QyNzFiZTNmZjU4MDk4M2Q1ZjA3MDIzMzRmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5j
cHAKQEAgLTQ1LDYgKzQ1LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIGNsYXNzIFdl
YlByb2Nlc3NNYWluR3RrIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsK
IHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFpbkd0ayhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkg
b3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlT
dGF0aW9uLmNwcAppbmRleCA0NWRlNDU0NTI5YTQ0NGU0ZGUwMThlMDY1NjM4OGI2MjI1ZTZiYzky
Li5lYjlmYWIzZTZlYmM0NmZmNDc4NTRjNWM3NTRhMjllYTQ3ZmExMDMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3Rh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlBy
b2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCkBAIC0zNCw2ICszNCw5IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uIGZpbmFsOiBwdWJs
aWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFp
blBsYXlTdGF0aW9uKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMp
IHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
d2luL1dlYlByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDg5YmMxNTlkZjM1OTEwYWJlMTMzYzY4ZDcxMDU3
Y2RmZTE5OTVjYmIuLjczODMxMWE2MmZiMTg3ZWNhNTM4ZWYzNDcwMTA5OWU3MDRkMTU5ZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4u
Y3BwCkBAIC0zOSw2ICszOSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjbGFzcyBX
ZWJQcm9jZXNzTWFpbldpbiBmaW5hbCA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2Ug
ewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluV2luKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vz
c01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUo
KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKFNldFByb2Nlc3NEcGlBd2FyZW5lc3NDb250
ZXh0UHRyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd3BlL1dlYlBy
b2Nlc3NNYWluV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vz
c01haW5XUEUuY3BwCmluZGV4IDkwYThkYWYyODIwMDM0OTVjOWUwMTIyMjdiZGYwODNmMTQ1YmEy
MGYuLjY3YjAxZDgzMTA5YWIyNjQ0ODZlOTRkZTVjM2Q1MmM1NzU0Mjc3MzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCkBAIC03
OCw2ICs3OCw5IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVBY2Nlc3NpYmlsaXR5KCkKIAogY2xh
c3MgV2ViUHJvY2Vzc01haW5XUEUgZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5C
YXNlIHsKIHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFpbldQRShBdXhpbGlhcnlQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVBy
b2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFs
aXplKCkgb3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417496</attachid>
            <date>2021-01-12 16:31:01 -0800</date>
            <delta_ts>2021-01-12 16:54:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210113093100.patch</filename>
            <type>text/plain</type>
            <size>28496</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uNzFkZWM5ODFmNGE0MDc2NTgzODQ2YWJkMGY0MGZk
NTFmYTk1NmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAxLTEyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tBdXhpbGlh
cnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYkNv
cmU6OmlzSW5HUFVQcm9jZXNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjppc0luV2ViUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjppc0luR1BVUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpp
c0luTmV0d29ya1Byb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHA6IFJlbW92ZWQuCisKIDIwMjEtMDEtMTEgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNh
aXJvXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgcjI3MTM1MwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYzRhNmM2
MGYwZTU0NmIxM2E4NTIzZTY1YzdkMjgzMmQxOTI4ODRlLi4zM2MzZjlhZWY2NGMwMTlmNWIyNTZi
ZTE0NjQ0NjYzYzA4YzY5YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTAxLTEy
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJl
aW1wbGVtZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRm
b3JtIGJ5IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJv
Y2Vzc1R5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMDUyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgICogR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwOgorICAgICAgICAqIFNoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5p
dGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAg
KiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlOjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3NNYWluQmFzZTo6dGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycyk6IERlbGV0ZWQu
CisgICAgICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpTYW5kYm94SW5mbzo6U2FuZGJveEluZm8pOgorICAgICAgICAoV2ViS2l0Ojpwcm9j
ZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9yeSk6Cisg
ICAgICAgIChXZWJLaXQ6OmFwcGx5U2FuZGJveCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mvd3BlL1dlYlByb2Nl
c3NNYWluV1BFLmNwcDoKKwogMjAyMS0wMS0xMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBwYWdlRGlkQ29tcHV0ZVBhZ2VSZWN0
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmNwcAppbmRleCA0NzExMDEwNjRjY2VhYTQ4NWE2MDhhNDU1MzY1NzVkNDhkYTkxZjYy
Li5hMjBiMzgzZmQ5OWEzZmFmMmJmN2E0NGZhNDM4YzhjYzFmNTE2YzFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAg
LTYwLDQgKzYwLDE1IEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQp
CiAgICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorY29u
c3QgT3B0aW9uYWw8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+JiBhdXhpbGlhcnlQcm9jZXNzVHlwZSgp
Cit7CisgICAgc3RhdGljIE9wdGlvbmFsPEF1eGlsaWFyeVByb2Nlc3NUeXBlPiBzX2F1eGlsaWFy
eVByb2Nlc3NUeXBlOworICAgIHJldHVybiBzX2F1eGlsaWFyeVByb2Nlc3NUeXBlOworfQorCit2
b2lkIHNldEF1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlIHR5cGUpCit7
CisgICAgY29uc3RfY2FzdDxPcHRpb25hbDxBdXhpbGlhcnlQcm9jZXNzVHlwZT4mPihhdXhpbGlh
cnlQcm9jZXNzVHlwZSgpKSA9IHR5cGU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgK
aW5kZXggZGU2ZGNkNzg4YTg2OTkzNzcwOTcyMmUzZjBjOTRiOGE5ODk1NjYxYi4uN2U4ZGMyNGFk
Yjk1ZGU1NDExNDZiYTJiYjZlYTFiNTNiZDk0YzU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKQEAgLTI2LDIwICsyNiw0MCBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCk7CiBXRUJDT1JFX0VYUE9SVCBpbnQg
cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCk7CiAKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNF
KEdMSUIpCi1ib29sIGlzSW5XZWJQcm9jZXNzKCk7Ci1ib29sIGlzSW5HUFVQcm9jZXNzKCk7Ci1i
b29sIGlzSW5OZXR3b3JrUHJvY2VzcygpOwotI2Vsc2UKLWlubGluZSBib29sIGlzSW5XZWJQcm9j
ZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KLWlubGluZSBib29sIGlzSW5HUFVQcm9jZXNzKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KLWlubGluZSBib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpIHsgcmV0dXJu
IGZhbHNlOyB9CitlbnVtIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3NUeXBlIDogdWludDhfdCB7Cisg
ICAgV2ViQ29udGVudCwKKyAgICBOZXR3b3JrLAorICAgIFBsdWdpbiwKKyNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCisgICAgR1BVLAorI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBX
ZWJBdXRobiwKKyNlbmRpZgorfTsKKworV0VCQ09SRV9FWFBPUlQgY29uc3QgT3B0aW9uYWw8QXV4
aWxpYXJ5UHJvY2Vzc1R5cGU+JiBhdXhpbGlhcnlQcm9jZXNzVHlwZSgpOworV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZSk7CisK
K2lubGluZSBib29sIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5
cGUgdHlwZSkKK3sKKyAgICBhdXRvIGN1cnJlbnRUeXBlID0gYXV4aWxpYXJ5UHJvY2Vzc1R5cGUo
KTsKKyAgICBpZiAoIWN1cnJlbnRUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuICpjdXJyZW50VHlwZSA9PSB0eXBlOyAKK30KKworaW5saW5lIGJvb2wgaXNJbldlYlByb2Nl
c3MoKSB7IHJldHVybiBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NU
eXBlOjpXZWJDb250ZW50KTsgfQoraW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyBy
ZXR1cm4gY2hlY2tBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZTo6TmV0
d29yayk7IH0KKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCitpbmxpbmUgYm9vbCBpc0luR1BVUHJv
Y2VzcygpIHsgcmV0dXJuIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vz
c1R5cGU6OkdQVSk7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQKaW5kZXggMDJmMGI4Yjk0ZTQ3NzM1NTUyZjMxMThl
ZjkzN2RkMGMyNWRmYTIxMy4uZGYyNzNlNThhZGZhNjFjNmQyNTMzMmIzMjFmNmY3ZDc3NzVjNjE2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dApAQCAtMjcsNyArMjcs
NiBAQCBwbGF0Zm9ybS9nbGliL0ZpbGVNb25pdG9yR0xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvS2V5
ZWREZWNvZGVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvS2V5ZWRFbmNvZGVyR2xpYi5jcHAKIHBs
YXRmb3JtL2dsaWIvTG93UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcAotcGxhdGZvcm0vZ2xpYi9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcAogcGxhdGZvcm0vZ2xpYi9TaGFyZWRCdWZm
ZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9Vc2VyQWdlbnRHTGliLmNwcAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLm1tCmluZGV4IGIwNmZmNDdkZmM1NDE3MjFmNjRhYTBkZTM4YjNiOTJmODgz
ODI0NmIuLmI4NTE0ZWY4MGRiNGU0YmE1MTc2Y2RlN2IzM2YwMDVhMjYxZGNkYmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLm1tCkBAIC05MCwyNCArOTAsNiBAQCB2b2lkIGNsZWFyQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCkKICNlbmRpZgogfQogCi1ib29s
IGlzSW5XZWJQcm9jZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNXZWJQcm9j
ZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4
OkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJ
c1dlYlByb2Nlc3M7Ci19Ci0KLWJvb2wgaXNJbkdQVVByb2Nlc3MoKQotewotICAgIHN0YXRpYyBi
b29sIG1haW5CdW5kbGVJc0dQVVByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LkdQVSJdOwotICAgIHJl
dHVybiBtYWluQnVuZGxlSXNHUFVQcm9jZXNzOwotfQotCi1ib29sIGlzSW5OZXR3b3JrUHJvY2Vz
cygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzTmV0d29ya1Byb2Nlc3MgPSBbW1tO
U0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBw
bGUuV2ViS2l0Lk5ldHdvcmtpbmciXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlzTmV0d29ya1By
b2Nlc3M7Ci19Ci0KIHN0YXRpYyBib29sIGFwcGxpY2F0aW9uQnVuZGxlSXNFcXVhbFRvKGNvbnN0
IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllclN0cmluZykKIHsKICAgICByZXR1cm4gYXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyKCkgPT0gYnVuZGxlSWRlbnRpZmllclN0cmluZzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
R0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0dMaWIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWFmODViOTk1
MjQ5MTY4YWM1NzgwMTUzN2E2NTJmM2M2M2ExZTFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgotCi0jaW5jbHVk
ZSA8bXV0ZXg+Ci0jaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLSNpZiBQTEFURk9STShHVEspCi1zdGF0aWMgY29uc3QgQ1N0cmluZyB3
ZWJQcm9jZXNzTmFtZSA9ICJXZWJLaXRXZWJQcm9jZXNzIjsKLXN0YXRpYyBjb25zdCBDU3RyaW5n
IG5ldHdvcmtQcm9jZXNzTmFtZSA9ICJXZWJLaXROZXR3b3JrUHJvY2VzcyI7Ci0jZWxpZiBQTEFU
Rk9STShXUEUpCi1zdGF0aWMgY29uc3QgQ1N0cmluZyB3ZWJQcm9jZXNzTmFtZSA9ICJXUEVXZWJQ
cm9jZXNzIjsKLXN0YXRpYyBjb25zdCBDU3RyaW5nIG5ldHdvcmtQcm9jZXNzTmFtZSA9ICJXUEVO
ZXR3b3JrUHJvY2VzcyI7Ci0jZW5kaWYKLQotYm9vbCBpc0luV2ViUHJvY2VzcygpCi17Ci0gICAg
c3RhdGljIGJvb2wgaXNXZWJQcm9jZXNzOwotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNl
RmxhZzsKLSAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAgICBpc1dlYlBy
b2Nlc3MgPSBnZXRDdXJyZW50RXhlY3V0YWJsZU5hbWUoKSA9PSB3ZWJQcm9jZXNzTmFtZTsKLSAg
ICB9KTsKLSAgICByZXR1cm4gaXNXZWJQcm9jZXNzOwotfQotCi1ib29sIGlzSW5OZXR3b3JrUHJv
Y2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgaXNOZXR3b3JrUHJvY2VzczsKLSAgICBzdGF0aWMg
c3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtd
IHsKLSAgICAgICAgaXNOZXR3b3JrUHJvY2VzcyA9IGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgp
ID09IG5ldHdvcmtQcm9jZXNzTmFtZTsKLSAgICB9KTsKLSAgICByZXR1cm4gaXNOZXR3b3JrUHJv
Y2VzczsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmgKaW5kZXggYmVhNTYwM2MzNjQ4Yjc3NWFmYWVlMGI5MDAzYjkyZTIwNjY3ODRj
OS4uNjA0MDFmNzJkNzc2YzQ1MDQyYmViZDI3NTg1ODQ5ZmVmMGZmOTExMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCkBAIC01Miw3ICs1Miw3IEBAIGNsYXNzIEdQVVByb2Nl
c3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PEdQVVByb2NlCiBwdWJsaWM6CiAgICAgZXhwbGljaXQgR1BVUHJvY2VzcyhBdXhpbGlhcnlQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIH5HUFVQcm9jZXNzKCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpH
UFU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBw
cm9jZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFU7CiAKICAgICB2
b2lkIHJlbW92ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVy
L0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
c3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCmluZGV4IDE1NWFiNmU4OGY1ZjZi
NzllZjNiY2Q1ODQ4N2I3NWM3YTlkZTRkYzYuLjhjZjExNTA4Nzk0ODYyZmI3YmE5MjkxYTBlYTBm
ZDMyZDY4YzkxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFt
ZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCkBAIC0zNyw2ICszNyw5
IEBAIHN0YXRpYyBSZWZQdHI8R1BVUHJvY2Vzcz4gZ2xvYmFsR1BVUHJvY2VzczsKIAogY2xhc3Mg
R1BVUHJvY2Vzc01haW5HU3RyZWFtZXIgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFp
bkJhc2UgewogcHVibGljOgorICAgIEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyKEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9y
bUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01h
aW5QbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24v
R1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXggNzRlMThmZmMzMWYyMDU0N2E2ZDc4
MzY5NjgyMDk2YTJlM2RhMGVmYy4uNGNhZmRhMDI2NTAxYTY3NjhmYjc4NmY3MWIzMTVmYTVhZGUx
YjkzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQ
VVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcApAQCAtMzcsNiArMzcs
OSBAQCBzdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nlc3M7CiAKIGNsYXNz
IEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNz
TWFpbkJhc2UgewogcHVibGljOgorICAgIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24oQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAg
OiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBs
YXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5X
aW4uY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5j
cHAKaW5kZXggNzRlMThmZmMzMWYyMDU0N2E2ZDc4MzY5NjgyMDk2YTJlM2RhMGVmYy4uZmU1OTFi
Nzc1MmFkYmNhNmUzMmY1ODlmM2Q0MzAwMmUxZDhjZjBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKQEAgLTM1LDggKzM1LDEx
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2Jh
bEdQVVByb2Nlc3M7CiAKLWNsYXNzIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3MgR1BVUHJvY2Vzc01haW5XaW4g
ZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIEdQ
VVByb2Nlc3NNYWluV2luKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRl
cnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC01Miw3ICs1NSw3IEBAIHZvaWQgaW5pdGlhbGl6ZUF1
eGlsaWFyeVByb2Nlc3M8R1BVUHJvY2Vzcz4oQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1lCiAKIGludCBHUFVQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0g
ICAgcmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nlc3MsIEdQVVByb2Nlc3NNYWlu
UGxheVN0YXRpb24+KGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFp
bjxHUFVQcm9jZXNzLCBHUFVQcm9jZXNzTWFpbldpbj4oYXJnYywgYXJndik7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCmluZGV4IDQxMjMxYmZkODU5N2U1YTFmYjlhN2UxMDA5MTFlNzViOTExZWI2ZjYu
LjExMjYyYTg1NmIxMzgxMzE2OTJjMjU1NDgyYjNiYTY1NzQ0NWViMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTE0NCw3ICsxNDQsNyBA
QCBwdWJsaWM6CiAKICAgICBOZXR3b3JrUHJvY2VzcyhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIH5OZXR3b3JrUHJvY2VzcygpOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6TmV0d29yazsK
KyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nl
c3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6Ok5ldHdvcms7CiAKICAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBUKiBzdXBwbGVtZW50KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vzc01haW5D
dXJsLmNwcAppbmRleCBmZTgyOGZlYTgyMmVkNDRmOTQzYjk4YWUzNzc2YmVlNmI2MGZlMTcwLi42
MTAzZGQwYjhmZDNlNGFlNGRmMGY3Njc4ZjJjMzljZjc4YmQ5OTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9jZXNzTWFp
bkN1cmwuY3BwCkBAIC0zNSw2ICszNSw5IEBAIHN0YXRpYyBSZWZQdHI8TmV0d29ya1Byb2Nlc3M+
IGdsb2JhbE5ldHdvcmtQcm9jZXNzOwogCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc01haW5DdXJsIGZp
bmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBOZXR3
b3JrUHJvY2Vzc01haW5DdXJsKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFt
ZXRlcnMpIHsgfQorCiAgICAgdm9pZCBwbGF0Zm9ybUZpbmFsaXplKCkgb3ZlcnJpZGUKICAgICB7
CiAgICAgICAgIGdsb2JhbE5ldHdvcmtQcm9jZXNzLT5kZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Np
b25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcAppbmRleCA0
Y2Y3MzkxMDk3ODFmMTAyMGFjZGRhZDZmZjQ2Y2UwNmI2ZDY3YTk0Li44Nzg2MmNjN2NjNzg5ZmJh
NTE0NGFiZWYyOGE5OTRiNzRmMDRmMTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCkBAIC00
MSw2ICs0MSw5IEBAIHN0YXRpYyBSZWZQdHI8TmV0d29ya1Byb2Nlc3M+IGdsb2JhbE5ldHdvcmtQ
cm9jZXNzOwogCiBjbGFzcyBOZXR3b3JrUHJvY2Vzc01haW5Tb3VwIGZpbmFsOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBOZXR3b3JrUHJvY2Vzc01haW5T
b3VwKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAg
ICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICNpZiBVU0UoR0NS
WVBUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXgg
YTBmNGUyMDBkZTE5YTgzY2Q5YzExODM4NmRiZjMxZTY3NDZiMWE1Zi4uNGZjYWIxMmViMDdkODNk
NDg3YTc3MzQ0YzNkNGQ3ZjM5NzY3NWY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFBsdWdpblByb2Nlc3Mg
OiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcwogCiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3MmIHNpbmdsZXRvbigpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJv
Y2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6UGx1Z2luOworICAgIHN0YXRpYyBjb25zdGV4cHIgV2Vi
Q29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhpbGlh
cnlQcm9jZXNzVHlwZTo6UGx1Z2luOwogCiAgICAgdm9pZCByZW1vdmVXZWJQcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzQ29ubmVjdGlvbiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuY3BwCmluZGV4IGM0NmNiMDZmNWVhNjFkYjk1YTdjYzEyZTZhNjZiNzJhN2Qy
NTZhNjkuLmRiYmUxYmYwOTAzNWZhNGQzMDMwZWUxZTQ3ZTlmNzIyNWUyZjEwYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCkBAIC02NCw2ICs2NCw4IEBAIHZv
aWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzCiB7CiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxl
VGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIAorICAgIHNldEF1eGlsaWFyeVByb2Nlc3NUeXBl
KHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUpOworCiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNT
QUdFKHBhcmFtZXRlcnMucHJvY2Vzc0lkZW50aWZpZXIsICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBj
aGlsZCBwcm9jZXNzIHdpdGhvdXQgYSBXZWJDb3JlIHByb2Nlc3MgaWRlbnRpZmllciIpOwogICAg
IFByb2Nlc3M6OnNldElkZW50aWZpZXIoKnBhcmFtZXRlcnMucHJvY2Vzc0lkZW50aWZpZXIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKaW5kZXggN2JhMjA3YWJiMGFj
Y2M4YTU3MGY1YzY2M2Y0NmNhYTI0YTgyNmQ5MS4uN2VlZTQ5NDVkOGUwMjM0ZGI5OWFjNjIwZTY4
MzFmYTExYzg1NjFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1
ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVy
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1VzZXJBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTQ0LDE4ICs0NSw2IEBAIGNsYXNzIEF1eGlsaWFy
eVByb2Nlc3MgOiBwcm90ZWN0ZWQgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJUEM6
Ok1lc3NhZ2VTCiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV4aWxpYXJ5UHJvY2Vzcyk7CiAK
IHB1YmxpYzoKLSAgICBlbnVtIGNsYXNzIFByb2Nlc3NUeXBlIDogdWludDhfdCB7Ci0gICAgICAg
IFdlYkNvbnRlbnQsCi0gICAgICAgIE5ldHdvcmssCi0gICAgICAgIFBsdWdpbiwKLSNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpCi0gICAgICAgIEdQVSwKLSNlbmRpZgotI2lmIEVOQUJMRShXRUJfQVVU
SE4pCi0gICAgICAgIFdlYkF1dGhuCi0jZW5kaWYKLSAgICB9OwotCiAgICAgdm9pZCBpbml0aWFs
aXplKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAog
ICAgIC8vIGRpc2FibGUgYW5kIGVuYWJsZSB0ZXJtaW5hdGlvbiBvZiB0aGUgcHJvY2Vzcy4gd2hl
biBkaXNhYmxlVGVybWluYXRpb24gaXMgY2FsbGVkLCB0aGUKQEAgLTE3Nyw3ICsxNjYsNyBAQCBz
dHJ1Y3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0
aW9uYWw8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXI+IHByb2Nlc3NJZGVudGlmaWVyOwogICAg
IElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcjsKICAgICBI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiBleHRyYUluaXRpYWxpemF0aW9uRGF0YTsKLSAgICBBdXhp
bGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKKyAgICBXZWJDb3JlOjpBdXhp
bGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBP
U09iamVjdFB0cjx4cGNfb2JqZWN0X3Q+IHByaW9yaXR5Qm9vc3RNZXNzYWdlOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaAppbmRleCBiZmMzYmQy
NDkzMjU3YjQ1YmUzOGI4YzNjZmVhNmEwODkwNDEwNjQzLi5iM2ZjNGFhZmFjYjU0MTFlOWU1MDhi
YWVmNDg0NzY0YTM0ZTVkZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzTWFpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVBy
b2Nlc3NNYWluLmgKQEAgLTM1LDE0ICszNSwxNCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBBdXhpbGlhcnlQcm9j
ZXNzTWFpbkJhc2UoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKKyAgICAgICAgOiBtX3BhcmFtZXRlcnMocGFyYW1ldGVycykgeyB9CiAgICAgdmly
dHVhbCBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0
dWFsIGJvb2wgcGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhcioqIGFyZ3YpOwogICAgIHZp
cnR1YWwgdm9pZCBwbGF0Zm9ybUZpbmFsaXplKCkgeyB9CiAKLSAgICBBdXhpbGlhcnlQcm9jZXNz
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYgdGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygp
IHsgcmV0dXJuIFdURk1vdmUobV9wYXJhbWV0ZXJzKTsgfQotCiBwcm90ZWN0ZWQ6Ci0gICAgQXV4
aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBtX3BhcmFtZXRlcnM7CisgICAg
QXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgbV9wYXJhbWV0ZXJzOwog
fTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQXV4aWxpYXJ5UHJvY2Vzc1R5cGU+CkBAIC01NCw3ICs1
NCwxMCBAQCB2b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbQogdGVtcGxhdGU8dHlwZW5hbWUgQXV4aWxp
YXJ5UHJvY2Vzc1R5cGUsIHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZT4KIGludCBB
dXhpbGlhcnlQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgQXV4aWxp
YXJ5UHJvY2Vzc01haW5UeXBlIGF1eGlsaWFyeU1haW47CisgICAgQXV4aWxpYXJ5UHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgIHBhcmFtZXRlcnMucHJvY2Vz
c1R5cGUgPSBBdXhpbGlhcnlQcm9jZXNzVHlwZTo6cHJvY2Vzc1R5cGU7CisgICAgCisgICAgQXV4
aWxpYXJ5UHJvY2Vzc01haW5UeXBlIGF1eGlsaWFyeU1haW4ocGFyYW1ldGVycyk7CiAKICAgICBp
ZiAoIWF1eGlsaWFyeU1haW4ucGxhdGZvcm1Jbml0aWFsaXplKCkpCiAgICAgICAgIHJldHVybiBF
WElUX0ZBSUxVUkU7CkBAIC02NCw3ICs2Nyw3IEBAIGludCBBdXhpbGlhcnlQcm9jZXNzTWFpbihp
bnQgYXJnYywgY2hhcioqIGFyZ3YpCiAKICAgICBJbml0aWFsaXplV2ViS2l0MigpOwogCi0gICAg
aW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+KGF1eGlsaWFy
eU1haW4udGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpKTsKKyAgICBpbml0aWFsaXplQXV4
aWxpYXJ5UHJvY2VzczxBdXhpbGlhcnlQcm9jZXNzVHlwZT4oV1RGTW92ZShwYXJhbWV0ZXJzKSk7
CiAgICAgUnVuTG9vcDo6cnVuKCk7CiAgICAgYXV4aWxpYXJ5TWFpbi5wbGF0Zm9ybUZpbmFsaXpl
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9j
ZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMu
bW0KaW5kZXggMjJjMGIxODlhYWZjNjk0MDUwODNjMzYwMDRiNGQ0ZGU0ZjNiYmZkMS4uNjNiNDc1
OGJmMTIyOGQwOWExZTlhMmM2ZDZmZWRiMTY3NDFiNDEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KQEAgLTExMyw3ICsxMTMsNyBAQCBz
dHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7CiAvLyBieXRlIE4KIAogc3RydWN0IFNhbmRib3hJ
bmZvIHsKLSAgICBTYW5kYm94SW5mbyhjb25zdCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeVBhdGgs
IGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5UGF0aCwgY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgY29u
c3QgU2FuZGJveFBhcmFtZXRlcnNQdHImIHNhbmRib3hQYXJhbWV0ZXJzLCBjb25zdCBDU3RyaW5n
JiBoZWFkZXIsIGNvbnN0IEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlJiBwcm9jZXNzVHlw
ZSwgY29uc3QgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzLCBjb25zdCBTdHJpbmcmIHByb2ZpbGVPclByb2ZpbGVQYXRoLCBib29sIGlzUHJv
ZmlsZVBhdGgpCisgICAgU2FuZGJveEluZm8oY29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnlQ
YXRoLCBjb25zdCBTdHJpbmcmIGRpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmluZyYgZmlsZVBhdGgs
IGNvbnN0IFNhbmRib3hQYXJhbWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVycywgY29uc3QgQ1N0
cmluZyYgaGVhZGVyLCBjb25zdCBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSYgcHJvY2Vz
c1R5cGUsIGNvbnN0IFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0
aW9uUGFyYW1ldGVycywgY29uc3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxlUGF0aCwgYm9vbCBp
c1Byb2ZpbGVQYXRoKQogICAgICAgICA6IHBhcmVudERpcmVjdG9yeVBhdGggeyBwYXJlbnREaXJl
Y3RvcnlQYXRoIH0KICAgICAgICAgLCBkaXJlY3RvcnlQYXRoIHsgZGlyZWN0b3J5UGF0aCB9CiAg
ICAgICAgICwgZmlsZVBhdGggeyBmaWxlUGF0aCB9CkBAIC0xMzEsNyArMTMxLDcgQEAgc3RydWN0
IFNhbmRib3hJbmZvIHsKICAgICBjb25zdCBTdHJpbmcmIGZpbGVQYXRoOwogICAgIGNvbnN0IFNh
bmRib3hQYXJhbWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVyczsKICAgICBjb25zdCBDU3RyaW5n
JiBoZWFkZXI7Ci0gICAgY29uc3QgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUmIHByb2Nl
c3NUeXBlOworICAgIGNvbnN0IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlJiBwcm9jZXNz
VHlwZTsKICAgICBjb25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBpbml0aWFs
aXphdGlvblBhcmFtZXRlcnM7CiAgICAgY29uc3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxlUGF0
aDsKICAgICBjb25zdCBib29sIGlzUHJvZmlsZVBhdGg7CkBAIC0yMTgsMjEgKzIxOCwyMSBAQCBz
dGF0aWMgT3B0aW9uYWw8VmVjdG9yPGNoYXI+PiBmaWxlQ29udGVudHMoY29uc3QgU3RyaW5nJiBw
YXRoLCBib29sIHNob3VsZExvY2sgPQogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAvLyBU
aGVzZSBzdHJpbmdzIG11c3QgbWF0Y2ggdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgImNvbS5hcHBs
ZS5yb290bGVzcy5zdG9yYWdlLjx0aGlzIHBhcnQgbXVzdCBtYXRjaD4iIGVudHJ5IGluIGVhY2gK
IC8vIHByb2Nlc3MncyByZXN0cmljdGVkIGVudGl0bGVtZW50cyBmaWxlIChleC4gQ29uZmlndXJh
dGlvbnMvTmV0d29ya2luZy1PU1gtcmVzdHJpY3RlZC5lbnRpdGxlbWVudHMpLgotY29uc3RleHBy
IGNvbnN0IGNoYXIqIHByb2Nlc3NTdG9yYWdlQ2xhc3MoQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vz
c1R5cGUgdHlwZSkKK2NvbnN0ZXhwciBjb25zdCBjaGFyKiBwcm9jZXNzU3RvcmFnZUNsYXNzKFdl
YkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKKyAg
ICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJDb250ZW50OgogICAgICAg
ICByZXR1cm4gIldlYktpdFdlYkNvbnRlbnRTYW5kYm94IjsKLSAgICBjYXNlIEF1eGlsaWFyeVBy
b2Nlc3M6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU6Ok5ldHdvcms6CiAgICAgICAgIHJldHVybiAiV2ViS2l0TmV0d29ya2luZ1Nh
bmRib3giOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbjoK
KyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAg
IHJldHVybiAiV2ViS2l0UGx1Z2luU2FuZGJveCI7CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQot
ICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OkdQVToKKyAgICBjYXNlIFdl
YkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFU6CiAgICAgICAgIHJldHVybiAiV2ViS2l0
R1BVU2FuZGJveCI7CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGNhc2UgQXV4
aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgorICAgIGNhc2UgV2ViQ29yZTo6
QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkF1dGhuOgogICAgICAgICByZXR1cm4gIldlYktpdFdl
YkF1dGhuU2FuZGJveCI7CiAjZW5kaWYKICAgICB9CkBAIC0yNzgsMjcgKzI3OCwyNyBAQCBzdGF0
aWMgU3RyaW5nIHNhbmRib3hEYXRhVmF1bHRQYXJlbnREaXJlY3RvcnkoKQogICAgIHJldHVybiBy
ZXNvbHZlZFBhdGg7CiB9CiAKLXN0YXRpYyBTdHJpbmcgc2FuZGJveERpcmVjdG9yeShBdXhpbGlh
cnlQcm9jZXNzOjpQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSwgY29uc3QgU3RyaW5nJiBwYXJlbnRE
aXJlY3RvcnkpCitzdGF0aWMgU3RyaW5nIHNhbmRib3hEaXJlY3RvcnkoV2ViQ29yZTo6QXV4aWxp
YXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUsIGNvbnN0IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5
KQogewogICAgIFN0cmluZ0J1aWxkZXIgZGlyZWN0b3J5OwogICAgIGRpcmVjdG9yeS5hcHBlbmQo
cGFyZW50RGlyZWN0b3J5KTsKICAgICBzd2l0Y2ggKHByb2Nlc3NUeXBlKSB7Ci0gICAgY2FzZSBB
dXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKKyAgICBjYXNlIFdlYkNv
cmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJDb250ZW50OgogICAgICAgICBkaXJlY3Rvcnku
YXBwZW5kKCIvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LlNhbmRib3giKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6TmV0d29yazoK
KyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrOgogICAgICAg
ICBkaXJlY3RvcnkuYXBwZW5kKCIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLlNhbmRib3gi
KTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlw
ZTo6UGx1Z2luOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdp
bjoKICAgICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLlNh
bmRib3giKTsKICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIGNh
c2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OkdQVToKKyAgICBjYXNlIFdlYkNvcmU6
OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFU6CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9j
b20uYXBwbGUuV2ViS2l0LkdQVS5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAj
aWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NU
eXBlOjpXZWJBdXRobjoKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpX
ZWJBdXRobjoKICAgICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuV2Vi
QXV0aG4uU2FuZGJveCIpOwogICAgICAgICBicmVhazsKICNlbmRpZgpAQCAtNTgxLDcgKzU4MSw3
IEBAIHN0YXRpYyBib29sIGFwcGx5U2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0CiAjaWYgVVNFKENBQ0hFX0NPTVBJTEVEX1NBTkRC
T1gpCiAgICAgLy8gVGhlIHBsdWdpbiBwcm9jZXNzJ3MgREFSV0lOX1VTRVJfVEVNUF9ESVIgYW5k
IERBUldJTl9VU0VSX0NBQ0hFX0RJUiBzYW5kYm94IHBhcmFtZXRlcnMgYXJlIHJhbmRvbWl6ZWQg
c28KICAgICAvLyBzbyB0aGUgY29tcGlsZWQgc2FuZGJveCBzaG91bGQgbm90IGJlIGNhY2hlZCBi
ZWNhdXNlIGl0IHdvbid0IGJlIHJldXNlZC4KLSAgICBpZiAocGFyYW1ldGVycy5wcm9jZXNzVHlw
ZSA9PSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luKQorICAgIGlmIChwYXJh
bWV0ZXJzLnByb2Nlc3NUeXBlID09IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVn
aW4pCiAgICAgICAgIHJldHVybiBjb21waWxlQW5kQXBwbHlTYW5kYm94U2xvd0Nhc2UocHJvZmls
ZU9yUHJvZmlsZVBhdGgsIGlzUHJvZmlsZVBhdGgsIHNhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMpOwogCiAgICAgU2FuZGJveFBhcmFtZXRlcnNQdHIgc2FuZGJveFBhcmFtZXRlcnMgeyBz
YW5kYm94X2NyZWF0ZV9wYXJhbXMoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKaW5kZXggM2VmZTAwOTE3YjBkYWRiZDA3ZGIxMzk3YzY5YjhiMmI4ZWY3NmMyYi4uMjFjM2Ex
M2Y1MGUxYjk2MmQwMDUyZjkxNGFkNDcwM2I3NjlmNTk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCkBAIC0xNTQsNyArMTU0LDcgQEAgcHVibGljOgogICAgIHVzaW5nIFN1
YlJlc291cmNlRG9tYWluID0gV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW47CiAKICAgICBzdGF0
aWMgV2ViUHJvY2VzcyYgc2luZ2xldG9uKCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBQcm9jZXNz
VHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpXZWJDb250ZW50OworICAgIHN0YXRpYyBj
b25zdGV4cHIgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJD
b3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQ29udGVudDsKIAogICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPgogICAgIFQqIHN1cHBsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAppbmRleCA0YzQ1YzYzNWNmODY3MjUz
YjZkZDhhZjZkM2EzY2U5Nzc1NGFkZjQzLi4xZDZiNjllZGUxNTNjZDI3MWJlM2ZmNTgwOTgzZDVm
MDcwMjMzNGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlBy
b2Nlc3NNYWluR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlBy
b2Nlc3NNYWluR3RrLmNwcApAQCAtNDUsNiArNDUsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogY2xhc3MgV2ViUHJvY2Vzc01haW5HdGsgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9j
ZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluR3RrKEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9y
bUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICNpZiBVU0UoR0NSWVBUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWluUGxh
eVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlBy
b2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCmluZGV4IDQ1ZGU0NTQ1MjlhNDQ0ZTRkZTAxOGUwNjU2
Mzg4YjYyMjVlNmJjOTIuLmViOWZhYjNlNmViYzQ2ZmY0Nzg1NGM1Yzc1NGEyOWVhNDdmYTEwMzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9j
ZXNzTWFpblBsYXlTdGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxh
eXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKQEAgLTM0LDYgKzM0LDkgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluUGxheVN0YXRp
b24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAg
IFdlYlByb2Nlc3NNYWluUGxheVN0YXRpb24oQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJy
aWRlCiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzTWFpbldpbi5jcHAKaW5kZXggODliYzE1OWRmMzU5MTBh
YmUxMzNjNjhkNzEwNTdjZGZlMTk5NWNiYi4uNzM4MzExYTYyZmIxODdlY2E1MzhlZjM0NzAxMDk5
ZTcwNGQxNTlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQ
cm9jZXNzTWFpbldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQ
cm9jZXNzTWFpbldpbi5jcHAKQEAgLTM5LDYgKzM5LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluV2luIGZpbmFsIDogcHVibGljIEF1eGlsaWFyeVBy
b2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgV2ViUHJvY2Vzc01haW5XaW4oQXV4aWxpYXJ5
UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKKyAgICAgICAgOiBB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UocGFyYW1ldGVycykgeyB9CisKICAgICBib29sIHBsYXRm
b3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAoU2V0UHJvY2Vzc0Rw
aUF3YXJlbmVzc0NvbnRleHRQdHIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L3dwZS9XZWJQcm9jZXNzTWFpbldQRS5jcHAKaW5kZXggOTBhOGRhZjI4MjAwMzQ5NWM5ZTAxMjIy
N2JkZjA4M2YxNDViYTIwZi4uNjdiMDFkODMxMDlhYjI2NDQ4NmU5NGRlNWMzZDUyYzU3NTQyNzcz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFp
bldQRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dwZS9XZWJQcm9jZXNzTWFp
bldQRS5jcHAKQEAgLTc4LDYgKzc4LDkgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUFjY2Vzc2li
aWxpdHkoKQogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbldQRSBmaW5hbCA6IHB1YmxpYyBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluV1BFKEF1eGls
aWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAg
IDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBw
bGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICNpZiBVU0UoR0NSWVBUKQo=
</data>
<flag name="commit-queue"
          id="435226"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417497</attachid>
            <date>2021-01-12 16:50:24 -0800</date>
            <delta_ts>2021-01-12 17:18:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210113095023.patch</filename>
            <type>text/plain</type>
            <size>29583</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uY2Q2ZjA4NzhkMTRlOGI3YzUzNDdkOTFkN2E0YWE3
Y2FiOWVmMDk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTAxLTEyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjphdXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXV4
aWxpYXJ5UHJvY2Vzc1R5cGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrQXV4aWxp
YXJ5UHJvY2Vzc1R5cGUpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzSW5OZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjppc0lu
R1BVUHJvY2Vzcyk6CisgICAgICAgICogcGxhdGZvcm0vU291cmNlc0dMaWIudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6aXNJbkdQVVByb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdv
cmtQcm9jZXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0dMaWIuY3BwOiBSZW1vdmVkLgorCiAyMDIxLTAxLTExICBGdWppaSBIaXJv
bm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gVW5y
ZXZpZXdlZCBidWlsZCBmaXggZm9yIHIyNzEzNTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWM0YTZjNjBmMGU1NDZi
MTNhODUyM2U2NWM3ZDI4MzJkMTkyODg0ZS4uOTIzZTNlMDU0YmNmMThlYTU3NGJhNjhhMWVmZmI3
NmRkNmQ5Nzk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMS0wMS0xMiAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZWltcGxlbWVu
dCBXZWJDb3JlOjppc0luV2ViUHJvY2VzcygpIGZhbWlseSBhcyBjcm9zcy1wbGF0Zm9ybSBieSB1
c2luZyBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLnByb2Nlc3NUeXBl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA1MjkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNl
ZCBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSB3aXRoIFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5j
cHA6CisgICAgICAgICogR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQ
cm9jZXNzTWFpbkN1cmwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a1Byb2Nlc3NNYWluU291cC5jcHA6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmg6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFsaXplKToKKyAgICAgICAgKiBTaGFyZWQv
QXV4aWxpYXJ5UHJvY2Vzcy5oOiBSZW1vdmVkIFByb2Nlc3NUeXBlLgorICAgICAgICAqIFNoYXJl
ZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9j
ZXNzTWFpbkJhc2U6OkF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSk6CisgICAgICAgIChXZWJLaXQ6
OkF1eGlsaWFyeVByb2Nlc3NNYWluKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vz
c01haW5CYXNlOjp0YWtlSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBTaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OlNhbmRib3hJbmZvOjpTYW5kYm94SW5mbyk6CisgICAgICAgIChXZWJLaXQ6OnByb2Nlc3NTdG9y
YWdlQ2xhc3MpOgorICAgICAgICAoV2ViS2l0OjpzYW5kYm94RGlyZWN0b3J5KToKKyAgICAgICAg
KFdlYktpdDo6YXBwbHlTYW5kYm94KToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2ViQXV0
aG5Qcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcDoKKwogMjAyMS0wMS0xMSAgS2F0ZSBDaGVu
ZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBwYWdl
RGlkQ29tcHV0ZVBhZ2VSZWN0cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcAppbmRleCA0NzExMDEwNjRjY2VhYTQ4NWE2MDhh
NDU1MzY1NzVkNDhkYTkxZjYyLi4xMTY5OTFiYjM2OWY2YzhkMzVjZGFmY2JlYWQwOGVjODFiY2Vl
MGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrcy5jcHAKQEAgLTYwLDQgKzYwLDIzIEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxp
Y2F0aW9uUElEKGludCBwaWQpCiAgICAgcHJlc2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUo
KSA9IHBpZDsKIH0KIAorc3RhdGljIE9wdGlvbmFsPEF1eGlsaWFyeVByb2Nlc3NUeXBlPiYgYXV4
aWxpYXJ5UHJvY2Vzc1R5cGUoKQoreworICAgIHN0YXRpYyBPcHRpb25hbDxBdXhpbGlhcnlQcm9j
ZXNzVHlwZT4gc19hdXhpbGlhcnlQcm9jZXNzVHlwZTsKKyAgICByZXR1cm4gc19hdXhpbGlhcnlQ
cm9jZXNzVHlwZTsKK30KKwordm9pZCBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQ
cm9jZXNzVHlwZSB0eXBlKQoreworICAgIGF1eGlsaWFyeVByb2Nlc3NUeXBlKCkgPSB0eXBlOwor
fQorCitib29sIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUg
dHlwZSkKK3sKKyAgICBhdXRvIGN1cnJlbnRUeXBlID0gYXV4aWxpYXJ5UHJvY2Vzc1R5cGUoKTsK
KyAgICBpZiAoIWN1cnJlbnRUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
ICpjdXJyZW50VHlwZSA9PSB0eXBlOyAKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApp
bmRleCBkZTZkY2Q3ODhhODY5OTM3NzA5NzIyZTNmMGM5NGI4YTk4OTU2NjFiLi4yMzUyODE4MmU1
ZTQ4YTI3NzA0MzI0MzE1YzFlMmZjODliY2Y4YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApAQCAtMjYsMjAgKzI2LDMyIEBA
CiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRQcmVzZW50aW5nQXBwbGljYXRpb25QSUQoaW50KTsKIFdFQkNPUkVfRVhQT1JUIGludCBw
cmVzZW50aW5nQXBwbGljYXRpb25QSUQoKTsKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0Uo
R0xJQikKLWJvb2wgaXNJbldlYlByb2Nlc3MoKTsKLWJvb2wgaXNJbkdQVVByb2Nlc3MoKTsKLWJv
b2wgaXNJbk5ldHdvcmtQcm9jZXNzKCk7Ci0jZWxzZQotaW5saW5lIGJvb2wgaXNJbldlYlByb2Nl
c3MoKSB7IHJldHVybiBmYWxzZTsgfQotaW5saW5lIGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJl
dHVybiBmYWxzZTsgfQotaW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4g
ZmFsc2U7IH0KK2VudW0gY2xhc3MgQXV4aWxpYXJ5UHJvY2Vzc1R5cGUgOiB1aW50OF90IHsKKyAg
ICBXZWJDb250ZW50LAorICAgIE5ldHdvcmssCisgICAgUGx1Z2luLAorI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKKyAgICBHUFUsCisjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorICAgIFdl
YkF1dGhuLAorI2VuZGlmCit9OworCitXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1eGlsaWFyeVBy
b2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlKTsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgY2hl
Y2tBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZSk7CisKK2lubGluZSBi
b29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gY2hlY2tBdXhpbGlhcnlQcm9jZXNzVHlwZShB
dXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQ29udGVudCk7IH0KK2lubGluZSBib29sIGlzSW5OZXR3
b3JrUHJvY2VzcygpIHsgcmV0dXJuIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5
UHJvY2Vzc1R5cGU6Ok5ldHdvcmspOyB9CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQoraW5saW5l
IGJvb2wgaXNJbkdQVVByb2Nlc3MoKSB7IHJldHVybiBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBl
KEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFUpOyB9CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CmluZGV4IDAyZjBiOGI5
NGU0NzczNTU1MmYzMTE4ZWY5MzdkZDBjMjVkZmEyMTMuLmRmMjczZTU4YWRmYTYxYzZkMjUzMzJi
MzIxZjZmN2Q3Nzc1YzYxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nv
dXJjZXNHTGliLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50
eHQKQEAgLTI3LDcgKzI3LDYgQEAgcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCiBw
bGF0Zm9ybS9nbGliL0tleWVkRGVjb2RlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL0tleWVkRW5j
b2RlckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL0xvd1Bvd2VyTW9kZU5vdGlmaWVyR0xpYi5jcHAK
LXBsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHAKIHBsYXRmb3Jt
L2dsaWIvU2hhcmVkQnVmZmVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5j
cHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQppbmRleCBiMDZmZjQ3ZGZjNTQxNzIxZjY0
YWEwZGUzOGIzYjkyZjg4MzgyNDZiLi5iODUxNGVmODBkYjRlNGJhNTE3NmNkZTdiMzNmMDA1YTI2
MWRjZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtOTAsMjQgKzkwLDYgQEAg
dm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpCiAj
ZW5kaWYKIH0KIAotYm9vbCBpc0luV2ViUHJvY2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgbWFp
bkJ1bmRsZUlzV2ViUHJvY2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50
aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCJdOwotICAgIHJl
dHVybiBtYWluQnVuZGxlSXNXZWJQcm9jZXNzOwotfQotCi1ib29sIGlzSW5HUFVQcm9jZXNzKCkK
LXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNHUFVQcm9jZXNzID0gW1tbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktp
dC5HUFUiXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlzR1BVUHJvY2VzczsKLX0KLQotYm9vbCBp
c0luTmV0d29ya1Byb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIG1haW5CdW5kbGVJc05ldHdv
cmtQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFz
UHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nIl07Ci0gICAgcmV0dXJuIG1haW5C
dW5kbGVJc05ldHdvcmtQcm9jZXNzOwotfQotCiBzdGF0aWMgYm9vbCBhcHBsaWNhdGlvbkJ1bmRs
ZUlzRXF1YWxUbyhjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXJTdHJpbmcpCiB7CiAgICAg
cmV0dXJuIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpID09IGJ1bmRsZUlkZW50aWZpZXJT
dHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NHTGliLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDVhZjg1Yjk5NTI0OTE2OGFjNTc4MDE1MzdhNjUyZjNjNjNhMWUxYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0g
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaCIKLQotI2luY2x1ZGUgPG11dGV4PgotI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRp
ZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0jaWYgUExBVEZPUk0oR1RLKQotc3RhdGlj
IGNvbnN0IENTdHJpbmcgd2ViUHJvY2Vzc05hbWUgPSAiV2ViS2l0V2ViUHJvY2VzcyI7Ci1zdGF0
aWMgY29uc3QgQ1N0cmluZyBuZXR3b3JrUHJvY2Vzc05hbWUgPSAiV2ViS2l0TmV0d29ya1Byb2Nl
c3MiOwotI2VsaWYgUExBVEZPUk0oV1BFKQotc3RhdGljIGNvbnN0IENTdHJpbmcgd2ViUHJvY2Vz
c05hbWUgPSAiV1BFV2ViUHJvY2VzcyI7Ci1zdGF0aWMgY29uc3QgQ1N0cmluZyBuZXR3b3JrUHJv
Y2Vzc05hbWUgPSAiV1BFTmV0d29ya1Byb2Nlc3MiOwotI2VuZGlmCi0KLWJvb2wgaXNJbldlYlBy
b2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIGlzV2ViUHJvY2VzczsKLSAgICBzdGF0aWMgc3Rk
OjpvbmNlX2ZsYWcgb25jZUZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsK
LSAgICAgICAgaXNXZWJQcm9jZXNzID0gZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkgPT0gd2Vi
UHJvY2Vzc05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIGlzV2ViUHJvY2VzczsKLX0KLQotYm9v
bCBpc0luTmV0d29ya1Byb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIGlzTmV0d29ya1Byb2Nl
c3M7Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAgIHN0ZDo6Y2FsbF9v
bmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIGlzTmV0d29ya1Byb2Nlc3MgPSBnZXRDdXJyZW50
RXhlY3V0YWJsZU5hbWUoKSA9PSBuZXR3b3JrUHJvY2Vzc05hbWU7Ci0gICAgfSk7Ci0gICAgcmV0
dXJuIGlzTmV0d29ya1Byb2Nlc3M7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCmluZGV4IGJlYTU2MDNjMzY0OGI3NzVhZmFlZTBi
OTAwM2I5MmUyMDY2Nzg0YzkuLjYwNDAxZjcyZDc3NmM0NTA0MmJlYmQyNzU4NTg0OWZlZjBmZjkx
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaApAQCAtNTIsNyArNTIsNyBA
QCBjbGFzcyBHUFVQcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxHUFVQcm9jZQogcHVibGljOgogICAgIGV4cGxpY2l0IEdQVVByb2Nl
c3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmKTsKICAgICB+R1BV
UHJvY2VzcygpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUg
PSBQcm9jZXNzVHlwZTo6R1BVOworICAgIHN0YXRpYyBjb25zdGV4cHIgV2ViQ29yZTo6QXV4aWxp
YXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlw
ZTo6R1BVOwogCiAgICAgdm9pZCByZW1vdmVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcAppbmRl
eCAxNTVhYjZlODhmNWY2Yjc5ZWYzYmNkNTg0ODdiNzVjN2E5ZGU0ZGM2Li44Y2YxMTUwODc5NDg2
MmZiN2JhOTI5MWEwZWEwZmQzMmQ2OGM5MTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNw
cApAQCAtMzcsNiArMzcsOSBAQCBzdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVBy
b2Nlc3M7CiAKIGNsYXNzIEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyIGZpbmFsOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpbkdTdHJl
YW1lcihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
KQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwog
ICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJl
dHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0
aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCmluZGV4IDc0ZTE4
ZmZjMzFmMjA1NDdhNmQ3ODM2OTY4MjA5NmEyZTNkYTBlZmMuLjRjYWZkYTAyNjUwMWE2NzY4ZmI3
ODZmNzFiMzE1ZmE1YWRlMWI5MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9wbGF5c3RhdGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbi5j
cHAKQEAgLTM3LDYgKzM3LDkgQEAgc3RhdGljIFJlZlB0cjxHUFVQcm9jZXNzPiBnbG9iYWxHUFVQ
cm9jZXNzOwogCiBjbGFzcyBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uIGZpbmFsOiBwdWJsaWMg
QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpblBs
YXlTdGF0aW9uKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsg
fQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2lu
L0dQVVByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BV
UHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDc0ZTE4ZmZjMzFmMjA1NDdhNmQ3ODM2OTY4MjA5NmEy
ZTNkYTBlZmMuLmZlNTkxYjc3NTJhZGJjYTZlMzJmNTg5ZjNkNDMwMDJlMWQ4Y2YwZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5XaW4uY3Bw
CkBAIC0zNSw4ICszNSwxMSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIFJlZlB0cjxH
UFVQcm9jZXNzPiBnbG9iYWxHUFVQcm9jZXNzOwogCi1jbGFzcyBHUFVQcm9jZXNzTWFpblBsYXlT
dGF0aW9uIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKK2NsYXNzIEdQ
VVByb2Nlc3NNYWluV2luIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsK
IHB1YmxpYzoKKyAgICBHUFVQcm9jZXNzTWFpbldpbihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NN
YWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkg
b3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNTIsNyArNTUsNyBAQCB2
b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPEdQVVByb2Nlc3M+KEF1eGlsaWFyeVByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZQogCiBpbnQgR1BVUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNo
YXIqKiBhcmd2KQogewotICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxHUFVQcm9jZXNz
LCBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uPihhcmdjLCBhcmd2KTsKKyAgICByZXR1cm4gQXV4
aWxpYXJ5UHJvY2Vzc01haW48R1BVUHJvY2VzcywgR1BVUHJvY2Vzc01haW5XaW4+KGFyZ2MsIGFy
Z3YpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCA0MTIzMWJmZDg1OTdlNWExZmI5YTdlMTAw
OTExZTc1YjkxMWViNmY2Li4xMTI2MmE4NTZiMTM4MTMxNjkyYzI1NTQ4MmIzYmE2NTc0NDVlYjIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBA
IC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogCiAgICAgTmV0d29ya1Byb2Nlc3MoQXV4aWxpYXJ5
UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmKTsKICAgICB+TmV0d29ya1Byb2Nlc3Mo
KTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vz
c1R5cGU6Ok5ldHdvcms7CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpO
ZXR3b3JrOwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1By
b2Nlc3NNYWluQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0
d29ya1Byb2Nlc3NNYWluQ3VybC5jcHAKaW5kZXggZmU4MjhmZWE4MjJlZDQ0Zjk0M2I5OGFlMzc3
NmJlZTZiNjBmZTE3MC4uNjEwM2RkMGI4ZmQzZTRhZTRkZjBmNzY3OGYyYzM5Y2Y3OGJkOTk0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9j
ZXNzTWFpbkN1cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9O
ZXR3b3JrUHJvY2Vzc01haW5DdXJsLmNwcApAQCAtMzUsNiArMzUsOSBAQCBzdGF0aWMgUmVmUHRy
PE5ldHdvcmtQcm9jZXNzPiBnbG9iYWxOZXR3b3JrUHJvY2VzczsKIAogY2xhc3MgTmV0d29ya1By
b2Nlc3NNYWluQ3VybCBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBw
dWJsaWM6CisgICAgTmV0d29ya1Byb2Nlc3NNYWluQ3VybChBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nl
c3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIHZvaWQgcGxhdGZvcm1GaW5hbGl6ZSgp
IG92ZXJyaWRlCiAgICAgewogICAgICAgICBnbG9iYWxOZXR3b3JrUHJvY2Vzcy0+ZGVzdHJveVNl
c3Npb24oUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWlu
U291cC5jcHAKaW5kZXggNGNmNzM5MTA5NzgxZjEwMjBhY2RkYWQ2ZmY0NmNlMDZiNmQ2N2E5NC4u
ODc4NjJjYzdjYzc4OWZiYTUxNDRhYmVmMjhhOTk0Yjc0ZjA0ZjExZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01h
aW5Tb3VwLmNwcApAQCAtNDEsNiArNDEsOSBAQCBzdGF0aWMgUmVmUHRyPE5ldHdvcmtQcm9jZXNz
PiBnbG9iYWxOZXR3b3JrUHJvY2VzczsKIAogY2xhc3MgTmV0d29ya1Byb2Nlc3NNYWluU291cCBm
aW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CisgICAgTmV0
d29ya1Byb2Nlc3NNYWluU291cChBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJh
bWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAg
ICB7CiAjaWYgVVNFKEdDUllQVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCmluZGV4IGEwZjRlMjAwZGUxOWE4M2NkOWMxMTgzODZkYmYzMWU2NzQ2YjFhNWYu
LjRmY2FiMTJlYjA3ZDgzZDQ4N2E3NzM0NGMzZDRkN2YzOTc2NzVmOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtNDksNyArNDksNyBAQCBjbGFz
cyBQbHVnaW5Qcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MKIAogcHVibGljOgogICAg
IHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaW5nbGV0b24oKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6OlBsdWdpbjsKKyAgICBzdGF0
aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0g
V2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdpbjsKIAogICAgIHZvaWQgcmVtb3Zl
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCBjNDZjYjA2ZjVlYTYxZGI5NWE3
Y2MxMmU2YTY2YjcyYTdkMjU2YTY5Li5kYmJlMWJmMDkwMzVmYTRkMzAzMGVlMWU0N2U5ZjcyMjVl
MmYxMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcApAQCAt
NjQsNiArNjQsOCBAQCB2b2lkIEF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemUoY29uc3QgQXV4
aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycwogewogICAgIFdURjo6UmVmQ291
bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CiAKKyAgICBzZXRBdXhp
bGlhcnlQcm9jZXNzVHlwZShwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlKTsKKwogICAgIFJFTEVBU0Vf
QVNTRVJUX1dJVEhfTUVTU0FHRShwYXJhbWV0ZXJzLnByb2Nlc3NJZGVudGlmaWVyLCAiVW5hYmxl
IHRvIGluaXRpYWxpemUgY2hpbGQgcHJvY2VzcyB3aXRob3V0IGEgV2ViQ29yZSBwcm9jZXNzIGlk
ZW50aWZpZXIiKTsKICAgICBQcm9jZXNzOjpzZXRJZGVudGlmaWVyKCpwYXJhbWV0ZXJzLnByb2Nl
c3NJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxp
YXJ5UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCmlu
ZGV4IDdiYTIwN2FiYjBhY2NjOGE1NzBmNWM2NjNmNDZjYWEyNGE4MjZkOTEuLjdlZWU0OTQ1ZDhl
MDIzNGRiOTlhYzYyMGU2ODMxZmExMWM4NTYxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXJNYXAuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Q
cm9jZXNzSWRlbnRpZmllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQWN0aXZpdHkuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC00NCwxOCArNDUsNiBA
QCBjbGFzcyBBdXhpbGlhcnlQcm9jZXNzIDogcHJvdGVjdGVkIElQQzo6Q29ubmVjdGlvbjo6Q2xp
ZW50LCBwdWJsaWMgSVBDOjpNZXNzYWdlUwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1eGls
aWFyeVByb2Nlc3MpOwogCiBwdWJsaWM6Ci0gICAgZW51bSBjbGFzcyBQcm9jZXNzVHlwZSA6IHVp
bnQ4X3QgewotICAgICAgICBXZWJDb250ZW50LAotICAgICAgICBOZXR3b3JrLAotICAgICAgICBQ
bHVnaW4sCi0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgICAgICBHUFUsCi0jZW5kaWYKLSNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICAgICBXZWJBdXRobgotI2VuZGlmCi0gICAgfTsKLQog
ICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJik7CiAKICAgICAvLyBkaXNhYmxlIGFuZCBlbmFibGUgdGVybWluYXRpb24gb2Yg
dGhlIHByb2Nlc3MuIHdoZW4gZGlzYWJsZVRlcm1pbmF0aW9uIGlzIGNhbGxlZCwgdGhlCkBAIC0x
NzcsNyArMTY2LDcgQEAgc3RydWN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMgewogICAgIE9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiBwcm9jZXNz
SWRlbnRpZmllcjsKICAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklk
ZW50aWZpZXI7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFJbml0aWFsaXphdGlv
bkRhdGE7Ci0gICAgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7Cisg
ICAgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgT1NPYmplY3RQdHI8eHBjX29iamVjdF90PiBwcmlvcml0eUJvb3N0TWVz
c2FnZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5
UHJvY2Vzc01haW4uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWlu
LmgKaW5kZXggYmZjM2JkMjQ5MzI1N2I0NWJlMzhiOGMzY2ZlYTZhMDg5MDQxMDY0My4uYjNmYzRh
YWZhY2I1NDExZTllNTA4YmFlZjQ4NDc2NGEzNGU1ZGQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCkBAIC0zNSwxNCArMzUsMTQgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6Cisg
ICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogbV9wYXJhbWV0ZXJzKHBhcmFtZXRl
cnMpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSB7IHJldHVybiB0
cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHBhcnNlQ29tbWFuZExpbmUoaW50IGFyZ2MsIGNoYXIq
KiBhcmd2KTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1GaW5hbGl6ZSgpIHsgfQogCi0gICAg
QXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHRha2VJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcGFyYW1ldGVycyk7IH0KLQogcHJv
dGVjdGVkOgotICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgbV9w
YXJhbWV0ZXJzOworICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
IG1fcGFyYW1ldGVyczsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NU
eXBlPgpAQCAtNTQsNyArNTQsMTAgQEAgdm9pZCBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzcyhB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW0KIHRlbXBsYXRl
PHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBlLCB0eXBlbmFtZSBBdXhpbGlhcnlQcm9jZXNz
TWFpblR5cGU+CiBpbnQgQXV4aWxpYXJ5UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2
KQogewotICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZSBhdXhpbGlhcnlNYWluOworICAgIEF1
eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBw
YXJhbWV0ZXJzLnByb2Nlc3NUeXBlID0gQXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OnByb2Nlc3NUeXBl
OworICAgIAorICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZSBhdXhpbGlhcnlNYWluKHBhcmFt
ZXRlcnMpOwogCiAgICAgaWYgKCFhdXhpbGlhcnlNYWluLnBsYXRmb3JtSW5pdGlhbGl6ZSgpKQog
ICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwpAQCAtNjQsNyArNjcsNyBAQCBpbnQgQXV4aWxp
YXJ5UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogCiAgICAgSW5pdGlhbGl6ZVdl
YktpdDIoKTsKIAotICAgIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPEF1eGlsaWFyeVByb2Nl
c3NUeXBlPihhdXhpbGlhcnlNYWluLnRha2VJbml0aWFsaXphdGlvblBhcmFtZXRlcnMoKSk7Cisg
ICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+KFdURk1v
dmUocGFyYW1ldGVycykpOwogICAgIFJ1bkxvb3A6OnJ1bigpOwogICAgIGF1eGlsaWFyeU1haW4u
cGxhdGZvcm1GaW5hbGl6ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9t
YWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhp
bGlhcnlQcm9jZXNzTWFjLm1tCmluZGV4IDIyYzBiMTg5YWFmYzY5NDA1MDgzYzM2MDA0YjRkNGRl
NGYzYmJmZDEuLjYzYjQ3NThiZjEyMjhkMDlhMWU5YTJjNmQ2ZmVkYjE2NzQxYjQxMDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tCkBAIC0x
MTMsNyArMTEzLDcgQEAgc3RydWN0IENhY2hlZFNhbmRib3hIZWFkZXIgewogLy8gYnl0ZSBOCiAK
IHN0cnVjdCBTYW5kYm94SW5mbyB7Ci0gICAgU2FuZGJveEluZm8oY29uc3QgU3RyaW5nJiBwYXJl
bnREaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcmIGRpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmlu
ZyYgZmlsZVBhdGgsIGNvbnN0IFNhbmRib3hQYXJhbWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVy
cywgY29uc3QgQ1N0cmluZyYgaGVhZGVyLCBjb25zdCBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNz
VHlwZSYgcHJvY2Vzc1R5cGUsIGNvbnN0IFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
IGluaXRpYWxpemF0aW9uUGFyYW1ldGVycywgY29uc3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxl
UGF0aCwgYm9vbCBpc1Byb2ZpbGVQYXRoKQorICAgIFNhbmRib3hJbmZvKGNvbnN0IFN0cmluZyYg
cGFyZW50RGlyZWN0b3J5UGF0aCwgY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBjb25zdCBT
dHJpbmcmIGZpbGVQYXRoLCBjb25zdCBTYW5kYm94UGFyYW1ldGVyc1B0ciYgc2FuZGJveFBhcmFt
ZXRlcnMsIGNvbnN0IENTdHJpbmcmIGhlYWRlciwgY29uc3QgV2ViQ29yZTo6QXV4aWxpYXJ5UHJv
Y2Vzc1R5cGUmIHByb2Nlc3NUeXBlLCBjb25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJiBpbml0aWFsaXphdGlvblBhcmFtZXRlcnMsIGNvbnN0IFN0cmluZyYgcHJvZmlsZU9yUHJv
ZmlsZVBhdGgsIGJvb2wgaXNQcm9maWxlUGF0aCkKICAgICAgICAgOiBwYXJlbnREaXJlY3RvcnlQ
YXRoIHsgcGFyZW50RGlyZWN0b3J5UGF0aCB9CiAgICAgICAgICwgZGlyZWN0b3J5UGF0aCB7IGRp
cmVjdG9yeVBhdGggfQogICAgICAgICAsIGZpbGVQYXRoIHsgZmlsZVBhdGggfQpAQCAtMTMxLDcg
KzEzMSw3IEBAIHN0cnVjdCBTYW5kYm94SW5mbyB7CiAgICAgY29uc3QgU3RyaW5nJiBmaWxlUGF0
aDsKICAgICBjb25zdCBTYW5kYm94UGFyYW1ldGVyc1B0ciYgc2FuZGJveFBhcmFtZXRlcnM7CiAg
ICAgY29uc3QgQ1N0cmluZyYgaGVhZGVyOwotICAgIGNvbnN0IEF1eGlsaWFyeVByb2Nlc3M6OlBy
b2Nlc3NUeXBlJiBwcm9jZXNzVHlwZTsKKyAgICBjb25zdCBXZWJDb3JlOjpBdXhpbGlhcnlQcm9j
ZXNzVHlwZSYgcHJvY2Vzc1R5cGU7CiAgICAgY29uc3QgU2FuZGJveEluaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYgaW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzOwogICAgIGNvbnN0IFN0cmluZyYgcHJv
ZmlsZU9yUHJvZmlsZVBhdGg7CiAgICAgY29uc3QgYm9vbCBpc1Byb2ZpbGVQYXRoOwpAQCAtMjE4
LDIxICsyMTgsMjEgQEAgc3RhdGljIE9wdGlvbmFsPFZlY3RvcjxjaGFyPj4gZmlsZUNvbnRlbnRz
KGNvbnN0IFN0cmluZyYgcGF0aCwgYm9vbCBzaG91bGRMb2NrID0KICNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQogLy8gVGhlc2Ugc3RyaW5ncyBtdXN0IG1hdGNoIHRoZSBsYXN0IHNlZ21lbnQg
b2YgdGhlICJjb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS48dGhpcyBwYXJ0IG11c3QgbWF0Y2g+
IiBlbnRyeSBpbiBlYWNoCiAvLyBwcm9jZXNzJ3MgcmVzdHJpY3RlZCBlbnRpdGxlbWVudHMgZmls
ZSAoZXguIENvbmZpZ3VyYXRpb25zL05ldHdvcmtpbmctT1NYLXJlc3RyaWN0ZWQuZW50aXRsZW1l
bnRzKS4KLWNvbnN0ZXhwciBjb25zdCBjaGFyKiBwcm9jZXNzU3RvcmFnZUNsYXNzKEF1eGlsaWFy
eVByb2Nlc3M6OlByb2Nlc3NUeXBlIHR5cGUpCitjb25zdGV4cHIgY29uc3QgY2hhciogcHJvY2Vz
c1N0b3JhZ2VDbGFzcyhXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSB0eXBlKQogewogICAg
IHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6
OldlYkNvbnRlbnQ6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2Vi
Q29udGVudDoKICAgICAgICAgcmV0dXJuICJXZWJLaXRXZWJDb250ZW50U2FuZGJveCI7Ci0gICAg
Y2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6TmV0d29yazoKKyAgICBjYXNlIFdl
YkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrOgogICAgICAgICByZXR1cm4gIldl
YktpdE5ldHdvcmtpbmdTYW5kYm94IjsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nl
c3NUeXBlOjpQbHVnaW46CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6
UGx1Z2luOgogICAgICAgICByZXR1cm4gIldlYktpdFBsdWdpblNhbmRib3giOwogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpH
UFU6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6R1BVOgogICAgICAg
ICByZXR1cm4gIldlYktpdEdQVVNhbmRib3giOwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVVRI
TikKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKKyAg
ICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJBdXRobjoKICAgICAgICAg
cmV0dXJuICJXZWJLaXRXZWJBdXRoblNhbmRib3giOwogI2VuZGlmCiAgICAgfQpAQCAtMjc4LDI3
ICsyNzgsMjcgQEAgc3RhdGljIFN0cmluZyBzYW5kYm94RGF0YVZhdWx0UGFyZW50RGlyZWN0b3J5
KCkKICAgICByZXR1cm4gcmVzb2x2ZWRQYXRoOwogfQogCi1zdGF0aWMgU3RyaW5nIHNhbmRib3hE
aXJlY3RvcnkoQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUsIGNvbnN0
IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5KQorc3RhdGljIFN0cmluZyBzYW5kYm94RGlyZWN0b3J5
KFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlLCBjb25zdCBTdHJpbmcm
IHBhcmVudERpcmVjdG9yeSkKIHsKICAgICBTdHJpbmdCdWlsZGVyIGRpcmVjdG9yeTsKICAgICBk
aXJlY3RvcnkuYXBwZW5kKHBhcmVudERpcmVjdG9yeSk7CiAgICAgc3dpdGNoIChwcm9jZXNzVHlw
ZSkgewotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6
CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKICAg
ICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5TYW5k
Ym94Iik7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vz
c1R5cGU6Ok5ldHdvcms6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6
TmV0d29yazoKICAgICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuTmV0
d29ya2luZy5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJv
Y2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbjoKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUu
V2ViS2l0LlBsdWdpbi5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpHUFU6Cisg
ICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6R1BVOgogICAgICAgICBkaXJl
Y3RvcnkuYXBwZW5kKCIvY29tLmFwcGxlLldlYktpdC5HUFUuU2FuZGJveCIpOwogICAgICAgICBi
cmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAgY2FzZSBBdXhpbGlhcnlQ
cm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlh
cnlQcm9jZXNzVHlwZTo6V2ViQXV0aG46CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuLlNhbmRib3giKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYK
QEAgLTU4MSw3ICs1ODEsNyBAQCBzdGF0aWMgYm9vbCBhcHBseVNhbmRib3goY29uc3QgQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldAogI2lmIFVTRShDQUNI
RV9DT01QSUxFRF9TQU5EQk9YKQogICAgIC8vIFRoZSBwbHVnaW4gcHJvY2VzcydzIERBUldJTl9V
U0VSX1RFTVBfRElSIGFuZCBEQVJXSU5fVVNFUl9DQUNIRV9ESVIgc2FuZGJveCBwYXJhbWV0ZXJz
IGFyZSByYW5kb21pemVkIHNvCiAgICAgLy8gc28gdGhlIGNvbXBpbGVkIHNhbmRib3ggc2hvdWxk
IG5vdCBiZSBjYWNoZWQgYmVjYXVzZSBpdCB3b24ndCBiZSByZXVzZWQuCi0gICAgaWYgKHBhcmFt
ZXRlcnMucHJvY2Vzc1R5cGUgPT0gQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdp
bikKKyAgICBpZiAocGFyYW1ldGVycy5wcm9jZXNzVHlwZSA9PSBXZWJDb3JlOjpBdXhpbGlhcnlQ
cm9jZXNzVHlwZTo6UGx1Z2luKQogICAgICAgICByZXR1cm4gY29tcGlsZUFuZEFwcGx5U2FuZGJv
eFNsb3dDYXNlKHByb2ZpbGVPclByb2ZpbGVQYXRoLCBpc1Byb2ZpbGVQYXRoLCBzYW5kYm94SW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzKTsKIAogICAgIFNhbmRib3hQYXJhbWV0ZXJzUHRyIHNhbmRi
b3hQYXJhbWV0ZXJzIHsgc2FuZGJveF9jcmVhdGVfcGFyYW1zKCkgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmgKaW5kZXggNzc1MDcwMjMxYTQ3
M2MwYjU4YTllMGU5N2QwMzRiMmZjMWU4NzY0Zi4uN2ZmY2VlNTA5MDBlNDQ5MjNiMmE3ZGZmNmVj
ZWMwMDMzNDIwNTk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3Mv
V2ViQXV0aG5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgV2ViQXV0aG5Qcm9jZXNzIDog
cHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxXZWIK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJBdXRoblByb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYmKTsKICAgICB+V2ViQXV0aG5Qcm9jZXNzKCk7Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpX
ZWJBdXRobjsKKyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NU
eXBlIHByb2Nlc3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkF1dGhu
OwogCiAgICAgdm9pZCByZW1vdmVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQXV0
aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCmluZGV4IDNlZmUwMDkxN2IwZGFkYmQwN2RiMTM5N2M2OWI4YjJiOGVmNzZjMmIuLjIx
YzNhMTNmNTBlMWI5NjJkMDA1MmY5MTRhZDQ3MDNiNzY5ZjU5NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTU0LDcgKzE1NCw3IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBTdWJSZXNvdXJjZURvbWFpbiA9IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluOwogCiAgICAg
c3RhdGljIFdlYlByb2Nlc3MmIHNpbmdsZXRvbigpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJv
Y2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6V2ViQ29udGVudDsKKyAgICBzdGF0
aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0g
V2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ7CiAKICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KICAgICBUKiBzdXBwbGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggNGM0NWM2MzVjZjg2
NzI1M2I2ZGQ4YWY2ZDNhM2NlOTc3NTRhZGY0My4uMWQ2YjY5ZWRlMTUzY2QyNzFiZTNmZjU4MDk4
M2Q1ZjA3MDIzMzRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9X
ZWJQcm9jZXNzTWFpbkd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9X
ZWJQcm9jZXNzTWFpbkd0ay5jcHAKQEAgLTQ1LDYgKzQ1LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIGNsYXNzIFdlYlByb2Nlc3NNYWluR3RrIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5
UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFpbkd0ayhBdXhpbGlh
cnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgICAgICA6
IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJvb2wgcGxh
dGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFp
blBsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9X
ZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcAppbmRleCA0NWRlNDU0NTI5YTQ0NGU0ZGUwMThl
MDY1NjM4OGI2MjI1ZTZiYzkyLi5lYjlmYWIzZTZlYmM0NmZmNDc4NTRjNWM3NTRhMjllYTQ3ZmEx
MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2Vi
UHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwCkBAIC0zNCw2ICszNCw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpblBsYXlT
dGF0aW9uIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoK
KyAgICBXZWJQcm9jZXNzTWFpblBsYXlTdGF0aW9uKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAgIDogQXV4aWxpYXJ5UHJvY2Vzc01h
aW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBv
dmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDg5YmMxNTlkZjM1
OTEwYWJlMTMzYzY4ZDcxMDU3Y2RmZTE5OTVjYmIuLjczODMxMWE2MmZiMTg3ZWNhNTM4ZWYzNDcw
MTA5OWU3MDRkMTU5ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc01haW5XaW4uY3BwCkBAIC0zOSw2ICszOSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBjbGFzcyBXZWJQcm9jZXNzTWFpbldpbiBmaW5hbCA6IHB1YmxpYyBBdXhpbGlh
cnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgorICAgIFdlYlByb2Nlc3NNYWluV2luKEF1eGls
aWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCisgICAgICAg
IDogQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKHBhcmFtZXRlcnMpIHsgfQorCiAgICAgYm9vbCBw
bGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKFNldFByb2Nl
c3NEcGlBd2FyZW5lc3NDb250ZXh0UHRyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy93cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCmluZGV4IDkwYThkYWYyODIwMDM0OTVjOWUw
MTIyMjdiZGYwODNmMTQ1YmEyMGYuLjY3YjAxZDgzMTA5YWIyNjQ0ODZlOTRkZTVjM2Q1MmM1NzU0
Mjc3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vz
c01haW5XUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vz
c01haW5XUEUuY3BwCkBAIC03OCw2ICs3OCw5IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVBY2Nl
c3NpYmlsaXR5KCkKIAogY2xhc3MgV2ViUHJvY2Vzc01haW5XUEUgZmluYWwgOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKIHB1YmxpYzoKKyAgICBXZWJQcm9jZXNzTWFpbldQRShB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAg
ICAgICA6IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZShwYXJhbWV0ZXJzKSB7IH0KKwogICAgIGJv
b2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7CiAjaWYgVVNFKEdDUllQVCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417501</attachid>
            <date>2021-01-12 17:18:55 -0800</date>
            <delta_ts>2021-01-13 12:30:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220529-20210113101854.patch</filename>
            <type>text/plain</type>
            <size>21377</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3OTM3MzY2ZjE3MWI0
MjcxNDMzMjEyOTFmYzQ4NzU0NGQ3YWE4NC4uY2Q2ZjA4NzhkMTRlOGI3YzUzNDdkOTFkN2E0YWE3
Y2FiOWVmMDk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTAxLTEyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlzSW5X
ZWJQcm9jZXNzKCksIGlzSW5HUFVQcm9jZXNzKCkgYW5kIGlzSW5OZXR3b3JrUHJvY2VzcygpIGNh
biBiZQorICAgICAgICBpbXBsZW1lbnRlZCBhcyBjcm9zcy1wbGF0Zm9ybS4KKworICAgICAgICAq
IHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjphdXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXV4
aWxpYXJ5UHJvY2Vzc1R5cGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrQXV4aWxp
YXJ5UHJvY2Vzc1R5cGUpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzSW5OZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjppc0lu
R1BVUHJvY2Vzcyk6CisgICAgICAgICogcGxhdGZvcm0vU291cmNlc0dMaWIudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6aXNJbkdQVVByb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNJbk5ldHdv
cmtQcm9jZXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0dMaWIuY3BwOiBSZW1vdmVkLgorCiAyMDIxLTAxLTExICBGdWppaSBIaXJv
bm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWlyb10gVW5y
ZXZpZXdlZCBidWlsZCBmaXggZm9yIHIyNzEzNTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWM0YTZjNjBmMGU1NDZi
MTNhODUyM2U2NWM3ZDI4MzJkMTkyODg0ZS4uMWUyNDRhMmE0ZGQ2MTViNTdjODA0ZWFjMWI5OGYw
MmYxOWE4OTU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wMS0xMiAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZWltcGxlbWVu
dCBXZWJDb3JlOjppc0luV2ViUHJvY2VzcygpIGZhbWlseSBhcyBjcm9zcy1wbGF0Zm9ybSBieSB1
c2luZyBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLnByb2Nlc3NUeXBl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA1MjkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNl
ZCBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSB3aXRoIFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBQbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmluaXRpYWxpemUpOgorICAg
ICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmg6IFJlbW92ZWQgUHJvY2Vzc1R5cGUuCisg
ICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmg6CisgICAgICAgIChXZWJLaXQ6
OkF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTo6QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlKToKKyAg
ICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc01haW4pOgorICAgICAgICAoV2ViS2l0OjpB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnRha2VJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOiBE
ZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6U2FuZGJveEluZm86OlNhbmRib3hJbmZvKToKKyAgICAgICAgKFdlYktp
dDo6cHJvY2Vzc1N0b3JhZ2VDbGFzcyk6CisgICAgICAgIChXZWJLaXQ6OnNhbmRib3hEaXJlY3Rv
cnkpOgorICAgICAgICAoV2ViS2l0OjphcHBseVNhbmRib3gpOgorICAgICAgICAqIFdlYkF1dGhu
UHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaDoKKwogMjAyMS0wMS0xMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBwYWdlRGlkQ29tcHV0ZVBhZ2VSZWN0cygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNw
cAppbmRleCA0NzExMDEwNjRjY2VhYTQ4NWE2MDhhNDU1MzY1NzVkNDhkYTkxZjYyLi4xNDlhMWY0
YWFmZjc2ZGFhNTM3YWIzZjE5MjYzMzA5YjZhN2NlZjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKQEAgLTYwLDQgKzYw
LDIzIEBAIHZvaWQgc2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQpCiAgICAgcHJl
c2VudGluZ0FwcGxpY2F0aW9uUElET3ZlcnJpZGUoKSA9IHBpZDsKIH0KIAorc3RhdGljIE9wdGlv
bmFsPEF1eGlsaWFyeVByb2Nlc3NUeXBlPiYgYXV4aWxpYXJ5UHJvY2Vzc1R5cGUoKQoreworICAg
IHN0YXRpYyBPcHRpb25hbDxBdXhpbGlhcnlQcm9jZXNzVHlwZT4gYXV4aWxpYXJ5UHJvY2Vzc1R5
cGU7CisgICAgcmV0dXJuIGF1eGlsaWFyeVByb2Nlc3NUeXBlOworfQorCit2b2lkIHNldEF1eGls
aWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlIHR5cGUpCit7CisgICAgYXV4aWxp
YXJ5UHJvY2Vzc1R5cGUoKSA9IHR5cGU7Cit9CisKK2Jvb2wgY2hlY2tBdXhpbGlhcnlQcm9jZXNz
VHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZSB0eXBlKQoreworICAgIGF1dG8gY3VycmVudFR5cGUg
PSBhdXhpbGlhcnlQcm9jZXNzVHlwZSgpOworICAgIGlmICghY3VycmVudFR5cGUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gKmN1cnJlbnRUeXBlID09IHR5cGU7IAorfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4IGRlNmRjZDc4OGE4Njk5Mzc3MDk3MjJlM2Yw
Yzk0YjhhOTg5NTY2MWIuLjIzNTI4MTgyZTVlNDhhMjc3MDQzMjQzMTVjMWUyZmM4OWJjZjhiYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5oCkBAIC0yNiwyMCArMjYsMzIgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFByZXNlbnRpbmdBcHBsaWNhdGlvblBJRChp
bnQpOwogV0VCQ09SRV9FWFBPUlQgaW50IHByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpOwogCi0j
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShHTElCKQotYm9vbCBpc0luV2ViUHJvY2VzcygpOwot
Ym9vbCBpc0luR1BVUHJvY2VzcygpOwotYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKTsKLSNlbHNl
Ci1pbmxpbmUgYm9vbCBpc0luV2ViUHJvY2VzcygpIHsgcmV0dXJuIGZhbHNlOyB9Ci1pbmxpbmUg
Ym9vbCBpc0luR1BVUHJvY2VzcygpIHsgcmV0dXJuIGZhbHNlOyB9Ci1pbmxpbmUgYm9vbCBpc0lu
TmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBmYWxzZTsgfQorZW51bSBjbGFzcyBBdXhpbGlhcnlQ
cm9jZXNzVHlwZSA6IHVpbnQ4X3QgeworICAgIFdlYkNvbnRlbnQsCisgICAgTmV0d29yaywKKyAg
ICBQbHVnaW4sCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIEdQVSwKKyNlbmRpZgorI2lm
IEVOQUJMRShXRUJfQVVUSE4pCisgICAgV2ViQXV0aG4sCisjZW5kaWYKK307CisKK1dFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0QXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUp
OworV0VCQ09SRV9FWFBPUlQgYm9vbCBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFy
eVByb2Nlc3NUeXBlKTsKKworaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiBj
aGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJDb250ZW50
KTsgfQoraW5saW5lIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCkgeyByZXR1cm4gY2hlY2tBdXhp
bGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNzVHlwZTo6TmV0d29yayk7IH0KKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCitpbmxpbmUgYm9vbCBpc0luR1BVUHJvY2VzcygpIHsgcmV0dXJu
IGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQVSk7IH0K
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3Vy
Y2VzR0xpYi50eHQKaW5kZXggMDJmMGI4Yjk0ZTQ3NzM1NTUyZjMxMThlZjkzN2RkMGMyNWRmYTIx
My4uZGYyNzNlNThhZGZhNjFjNmQyNTMzMmIzMjFmNmY3ZDc3NzVjNjE2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dApAQCAtMjcsNyArMjcsNiBAQCBwbGF0Zm9ybS9n
bGliL0ZpbGVNb25pdG9yR0xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvS2V5ZWREZWNvZGVyR2xpYi5j
cHAKIHBsYXRmb3JtL2dsaWIvS2V5ZWRFbmNvZGVyR2xpYi5jcHAKIHBsYXRmb3JtL2dsaWIvTG93
UG93ZXJNb2RlTm90aWZpZXJHTGliLmNwcAotcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRp
b25DaGVja3NHTGliLmNwcAogcGxhdGZvcm0vZ2xpYi9TaGFyZWRCdWZmZXJHbGliLmNwcAogcGxh
dGZvcm0vZ2xpYi9Vc2VyQWdlbnRHTGliLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1t
CmluZGV4IGIwNmZmNDdkZmM1NDE3MjFmNjRhYTBkZTM4YjNiOTJmODgzODI0NmIuLmI4NTE0ZWY4
MGRiNGU0YmE1MTc2Y2RlN2IzM2YwMDVhMjYxZGNkYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLm1tCkBAIC05MCwyNCArOTAsNiBAQCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyVGVzdGluZ092ZXJyaWRlKCkKICNlbmRpZgogfQogCi1ib29sIGlzSW5XZWJQcm9jZXNz
KCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNXZWJQcm9jZXNzID0gW1tbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldl
YktpdC5XZWJDb250ZW50Il07Ci0gICAgcmV0dXJuIG1haW5CdW5kbGVJc1dlYlByb2Nlc3M7Ci19
Ci0KLWJvb2wgaXNJbkdQVVByb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIG1haW5CdW5kbGVJ
c0dQVVByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBo
YXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LkdQVSJdOwotICAgIHJldHVybiBtYWluQnVuZGxl
SXNHUFVQcm9jZXNzOwotfQotCi1ib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpCi17Ci0gICAgc3Rh
dGljIGJvb2wgbWFpbkJ1bmRsZUlzTmV0d29ya1Byb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0Lk5ldHdv
cmtpbmciXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlzTmV0d29ya1Byb2Nlc3M7Ci19Ci0KIHN0
YXRpYyBib29sIGFwcGxpY2F0aW9uQnVuZGxlSXNFcXVhbFRvKGNvbnN0IFN0cmluZyYgYnVuZGxl
SWRlbnRpZmllclN0cmluZykKIHsKICAgICByZXR1cm4gYXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyKCkgPT0gYnVuZGxlSWRlbnRpZmllclN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWFmODViOTk1MjQ5MTY4YWM1NzgwMTUz
N2E2NTJmM2M2M2ExZTFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzR0xpYi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgotCi0jaW5jbHVkZSA8bXV0ZXg+Ci0jaW5j
bHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGllcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LSNpZiBQTEFURk9STShHVEspCi1zdGF0aWMgY29uc3QgQ1N0cmluZyB3ZWJQcm9jZXNzTmFtZSA9
ICJXZWJLaXRXZWJQcm9jZXNzIjsKLXN0YXRpYyBjb25zdCBDU3RyaW5nIG5ldHdvcmtQcm9jZXNz
TmFtZSA9ICJXZWJLaXROZXR3b3JrUHJvY2VzcyI7Ci0jZWxpZiBQTEFURk9STShXUEUpCi1zdGF0
aWMgY29uc3QgQ1N0cmluZyB3ZWJQcm9jZXNzTmFtZSA9ICJXUEVXZWJQcm9jZXNzIjsKLXN0YXRp
YyBjb25zdCBDU3RyaW5nIG5ldHdvcmtQcm9jZXNzTmFtZSA9ICJXUEVOZXR3b3JrUHJvY2VzcyI7
Ci0jZW5kaWYKLQotYm9vbCBpc0luV2ViUHJvY2VzcygpCi17Ci0gICAgc3RhdGljIGJvb2wgaXNX
ZWJQcm9jZXNzOwotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKLSAgICBzdGQ6
OmNhbGxfb25jZShvbmNlRmxhZywgW10gewotICAgICAgICBpc1dlYlByb2Nlc3MgPSBnZXRDdXJy
ZW50RXhlY3V0YWJsZU5hbWUoKSA9PSB3ZWJQcm9jZXNzTmFtZTsKLSAgICB9KTsKLSAgICByZXR1
cm4gaXNXZWJQcm9jZXNzOwotfQotCi1ib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpCi17Ci0gICAg
c3RhdGljIGJvb2wgaXNOZXR3b3JrUHJvY2VzczsKLSAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcg
b25jZUZsYWc7Ci0gICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKLSAgICAgICAgaXNO
ZXR3b3JrUHJvY2VzcyA9IGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpID09IG5ldHdvcmtQcm9j
ZXNzTmFtZTsKLSAgICB9KTsKLSAgICByZXR1cm4gaXNOZXR3b3JrUHJvY2VzczsKLX0KLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKaW5k
ZXggYmVhNTYwM2MzNjQ4Yjc3NWFmYWVlMGI5MDAzYjkyZTIwNjY3ODRjOS4uNjA0MDFmNzJkNzc2
YzQ1MDQyYmViZDI3NTg1ODQ5ZmVmMGZmOTExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5oCkBAIC01Miw3ICs1Miw3IEBAIGNsYXNzIEdQVVByb2Nlc3MgOiBwdWJsaWMgQXV4
aWxpYXJ5UHJvY2VzcywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEdQVVByb2NlCiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgR1BVUHJvY2VzcyhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJiYpOwogICAgIH5HUFVQcm9jZXNzKCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpHUFU7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdl
YkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpHUFU7CiAKICAgICB2b2lkIHJlbW92ZUdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNDEyMzFi
ZmQ4NTk3ZTVhMWZiOWE3ZTEwMDkxMWU3NWI5MTFlYjZmNi4uMTEyNjJhODU2YjEzODEzMTY5MmMy
NTU0ODJiM2JhNjU3NDQ1ZWIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKIAogICAgIE5ldHdv
cmtQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJik7CiAg
ICAgfk5ldHdvcmtQcm9jZXNzKCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBw
cm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpOZXR3b3JrOworICAgIHN0YXRpYyBjb25zdGV4cHIg
V2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhp
bGlhcnlQcm9jZXNzVHlwZTo6TmV0d29yazsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgog
ICAgIFQqIHN1cHBsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmgKaW5kZXggYTBmNGUyMDBkZTE5YTgzY2Q5YzExODM4NmRiZjMxZTY3NDZiMWE1Zi4u
NGZjYWIxMmViMDdkODNkNDg3YTc3MzQ0YzNkNGQ3ZjM5NzY3NWY5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNz
IFBsdWdpblByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcwogCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBsdWdpblByb2Nlc3MmIHNpbmdsZXRvbigpOwotICAgIHN0YXRpYyBjb25zdGV4cHIg
UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6UGx1Z2luOworICAgIHN0YXRp
YyBjb25zdGV4cHIgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBX
ZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6UGx1Z2luOwogCiAgICAgdm9pZCByZW1vdmVX
ZWJQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzQ29ubmVjdGlvbiopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCmluZGV4IGM0NmNiMDZmNWVhNjFkYjk1YTdj
YzEyZTZhNjZiNzJhN2QyNTZhNjkuLmRiYmUxYmYwOTAzNWZhNGQzMDMwZWUxZTQ3ZTlmNzIyNWUy
ZjEwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCkBAIC02
NCw2ICs2NCw4IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzCiB7CiAgICAgV1RGOjpSZWZDb3Vu
dGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIAorICAgIHNldEF1eGls
aWFyeVByb2Nlc3NUeXBlKHBhcmFtZXRlcnMucHJvY2Vzc1R5cGUpOworCiAgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9NRVNTQUdFKHBhcmFtZXRlcnMucHJvY2Vzc0lkZW50aWZpZXIsICJVbmFibGUg
dG8gaW5pdGlhbGl6ZSBjaGlsZCBwcm9jZXNzIHdpdGhvdXQgYSBXZWJDb3JlIHByb2Nlc3MgaWRl
bnRpZmllciIpOwogICAgIFByb2Nlc3M6OnNldElkZW50aWZpZXIoKnBhcmFtZXRlcnMucHJvY2Vz
c0lkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlh
cnlQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKaW5k
ZXggN2JhMjA3YWJiMGFjY2M4YTU3MGY1YzY2M2Y0NmNhYTI0YTgyNmQ5MS4uN2VlZTQ5NDVkOGUw
MjM0ZGI5OWFjNjIwZTY4MzFmYTExYzg1NjFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ck1hcC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1By
b2Nlc3NJZGVudGlmaWVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTQ0LDE4ICs0NSw2IEBA
IGNsYXNzIEF1eGlsaWFyeVByb2Nlc3MgOiBwcm90ZWN0ZWQgSVBDOjpDb25uZWN0aW9uOjpDbGll
bnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTCiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV4aWxp
YXJ5UHJvY2Vzcyk7CiAKIHB1YmxpYzoKLSAgICBlbnVtIGNsYXNzIFByb2Nlc3NUeXBlIDogdWlu
dDhfdCB7Ci0gICAgICAgIFdlYkNvbnRlbnQsCi0gICAgICAgIE5ldHdvcmssCi0gICAgICAgIFBs
dWdpbiwKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAgICAgIEdQVSwKLSNlbmRpZgotI2lm
IEVOQUJMRShXRUJfQVVUSE4pCi0gICAgICAgIFdlYkF1dGhuCi0jZW5kaWYKLSAgICB9OwotCiAg
ICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKTsKIAogICAgIC8vIGRpc2FibGUgYW5kIGVuYWJsZSB0ZXJtaW5hdGlvbiBvZiB0
aGUgcHJvY2Vzcy4gd2hlbiBkaXNhYmxlVGVybWluYXRpb24gaXMgY2FsbGVkLCB0aGUKQEAgLTE3
Nyw3ICsxNjYsNyBAQCBzdHJ1Y3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyB7CiAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXI+IHByb2Nlc3NJ
ZGVudGlmaWVyOwogICAgIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRl
bnRpZmllcjsKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBleHRyYUluaXRpYWxpemF0aW9u
RGF0YTsKLSAgICBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKKyAg
ICBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBPU09iamVjdFB0cjx4cGNfb2JqZWN0X3Q+IHByaW9yaXR5Qm9vc3RNZXNz
YWdlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQ
cm9jZXNzTWFpbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4u
aAppbmRleCBiZmMzYmQyNDkzMjU3YjQ1YmUzOGI4YzNjZmVhNmEwODkwNDEwNjQzLi44ZWEzMjVh
ZDA4NmM3OTBhZjUyZWUzYjVjMmUxYTM3ODBlMGU4MGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBwYXJzZUNvbW1hbmRMaW5lKGludCBhcmdjLCBjaGFyKiogYXJndik7CiAg
ICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtRmluYWxpemUoKSB7IH0KIAorICAgIEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVycygp
IHsgcmV0dXJuIG1fcGFyYW1ldGVyczsgfQogICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmJiB0YWtlSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKCkgeyByZXR1cm4g
V1RGTW92ZShtX3BhcmFtZXRlcnMpOyB9CiAKIHByb3RlY3RlZDoKQEAgLTU2LDYgKzU3LDggQEAg
aW50IEF1eGlsaWFyeVByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKICAgICBB
dXhpbGlhcnlQcm9jZXNzTWFpblR5cGUgYXV4aWxpYXJ5TWFpbjsKIAorICAgIGF1eGlsaWFyeU1h
aW4uaW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKCkucHJvY2Vzc1R5cGUgPSBBdXhpbGlhcnlQcm9j
ZXNzVHlwZTo6cHJvY2Vzc1R5cGU7CisKICAgICBpZiAoIWF1eGlsaWFyeU1haW4ucGxhdGZvcm1J
bml0aWFsaXplKCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NNYWMubW0KaW5kZXggMjJjMGIxODlh
YWZjNjk0MDUwODNjMzYwMDRiNGQ0ZGU0ZjNiYmZkMS4uNjNiNDc1OGJmMTIyOGQwOWExZTlhMmM2
ZDZmZWRiMTY3NDFiNDEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1
eGlsaWFyeVByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGls
aWFyeVByb2Nlc3NNYWMubW0KQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgQ2FjaGVkU2FuZGJv
eEhlYWRlciB7CiAvLyBieXRlIE4KIAogc3RydWN0IFNhbmRib3hJbmZvIHsKLSAgICBTYW5kYm94
SW5mbyhjb25zdCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmluZyYgZGly
ZWN0b3J5UGF0aCwgY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgY29uc3QgU2FuZGJveFBhcmFtZXRl
cnNQdHImIHNhbmRib3hQYXJhbWV0ZXJzLCBjb25zdCBDU3RyaW5nJiBoZWFkZXIsIGNvbnN0IEF1
eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlJiBwcm9jZXNzVHlwZSwgY29uc3QgU2FuZGJveElu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLCBjb25zdCBT
dHJpbmcmIHByb2ZpbGVPclByb2ZpbGVQYXRoLCBib29sIGlzUHJvZmlsZVBhdGgpCisgICAgU2Fu
ZGJveEluZm8oY29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcm
IGRpcmVjdG9yeVBhdGgsIGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGNvbnN0IFNhbmRib3hQYXJh
bWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVycywgY29uc3QgQ1N0cmluZyYgaGVhZGVyLCBjb25z
dCBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSYgcHJvY2Vzc1R5cGUsIGNvbnN0IFNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVycywgY29u
c3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxlUGF0aCwgYm9vbCBpc1Byb2ZpbGVQYXRoKQogICAg
ICAgICA6IHBhcmVudERpcmVjdG9yeVBhdGggeyBwYXJlbnREaXJlY3RvcnlQYXRoIH0KICAgICAg
ICAgLCBkaXJlY3RvcnlQYXRoIHsgZGlyZWN0b3J5UGF0aCB9CiAgICAgICAgICwgZmlsZVBhdGgg
eyBmaWxlUGF0aCB9CkBAIC0xMzEsNyArMTMxLDcgQEAgc3RydWN0IFNhbmRib3hJbmZvIHsKICAg
ICBjb25zdCBTdHJpbmcmIGZpbGVQYXRoOwogICAgIGNvbnN0IFNhbmRib3hQYXJhbWV0ZXJzUHRy
JiBzYW5kYm94UGFyYW1ldGVyczsKICAgICBjb25zdCBDU3RyaW5nJiBoZWFkZXI7Ci0gICAgY29u
c3QgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBlOworICAgIGNvbnN0
IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlJiBwcm9jZXNzVHlwZTsKICAgICBjb25zdCBT
YW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBpbml0aWFsaXphdGlvblBhcmFtZXRlcnM7
CiAgICAgY29uc3QgU3RyaW5nJiBwcm9maWxlT3JQcm9maWxlUGF0aDsKICAgICBjb25zdCBib29s
IGlzUHJvZmlsZVBhdGg7CkBAIC0yMTgsMjEgKzIxOCwyMSBAQCBzdGF0aWMgT3B0aW9uYWw8VmVj
dG9yPGNoYXI+PiBmaWxlQ29udGVudHMoY29uc3QgU3RyaW5nJiBwYXRoLCBib29sIHNob3VsZExv
Y2sgPQogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAvLyBUaGVzZSBzdHJpbmdzIG11c3Qg
bWF0Y2ggdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgImNvbS5hcHBsZS5yb290bGVzcy5zdG9yYWdl
Ljx0aGlzIHBhcnQgbXVzdCBtYXRjaD4iIGVudHJ5IGluIGVhY2gKIC8vIHByb2Nlc3MncyByZXN0
cmljdGVkIGVudGl0bGVtZW50cyBmaWxlIChleC4gQ29uZmlndXJhdGlvbnMvTmV0d29ya2luZy1P
U1gtcmVzdHJpY3RlZC5lbnRpdGxlbWVudHMpLgotY29uc3RleHByIGNvbnN0IGNoYXIqIHByb2Nl
c3NTdG9yYWdlQ2xhc3MoQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUgdHlwZSkKK2NvbnN0
ZXhwciBjb25zdCBjaGFyKiBwcm9jZXNzU3RvcmFnZUNsYXNzKFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBBdXhpbGlh
cnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKKyAgICBjYXNlIFdlYkNvcmU6OkF1
eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJDb250ZW50OgogICAgICAgICByZXR1cm4gIldlYktpdFdl
YkNvbnRlbnRTYW5kYm94IjsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBl
OjpOZXR3b3JrOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6Ok5ldHdv
cms6CiAgICAgICAgIHJldHVybiAiV2ViS2l0TmV0d29ya2luZ1NhbmRib3giOwotICAgIGNhc2Ug
QXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbjoKKyAgICBjYXNlIFdlYkNvcmU6
OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW46CiAgICAgICAgIHJldHVybiAiV2ViS2l0UGx1
Z2luU2FuZGJveCI7CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIGNhc2UgQXV4aWxpYXJ5
UHJvY2Vzczo6UHJvY2Vzc1R5cGU6OkdQVToKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlOjpHUFU6CiAgICAgICAgIHJldHVybiAiV2ViS2l0R1BVU2FuZGJveCI7CiAjZW5k
aWYKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJv
Y2Vzc1R5cGU6OldlYkF1dGhuOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5
cGU6OldlYkF1dGhuOgogICAgICAgICByZXR1cm4gIldlYktpdFdlYkF1dGhuU2FuZGJveCI7CiAj
ZW5kaWYKICAgICB9CkBAIC0yNzgsMjcgKzI3OCwyNyBAQCBzdGF0aWMgU3RyaW5nIHNhbmRib3hE
YXRhVmF1bHRQYXJlbnREaXJlY3RvcnkoKQogICAgIHJldHVybiByZXNvbHZlZFBhdGg7CiB9CiAK
LXN0YXRpYyBTdHJpbmcgc2FuZGJveERpcmVjdG9yeShBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNz
VHlwZSBwcm9jZXNzVHlwZSwgY29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnkpCitzdGF0aWMg
U3RyaW5nIHNhbmRib3hEaXJlY3RvcnkoV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJv
Y2Vzc1R5cGUsIGNvbnN0IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5KQogewogICAgIFN0cmluZ0J1
aWxkZXIgZGlyZWN0b3J5OwogICAgIGRpcmVjdG9yeS5hcHBlbmQocGFyZW50RGlyZWN0b3J5KTsK
ICAgICBzd2l0Y2ggKHByb2Nlc3NUeXBlKSB7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQ
cm9jZXNzVHlwZTo6V2ViQ29udGVudDoKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nl
c3NUeXBlOjpXZWJDb250ZW50OgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIvY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LlNhbmRib3giKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBB
dXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6TmV0d29yazoKKyAgICBjYXNlIFdlYkNvcmU6
OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrOgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5k
KCIvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLlNhbmRib3giKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luOgorICAgIGNh
c2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdpbjoKICAgICAgICAgZGlyZWN0
b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLlNhbmRib3giKTsKICAgICAgICAg
YnJlYWs7CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vz
czo6UHJvY2Vzc1R5cGU6OkdQVToKKyAgICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NU
eXBlOjpHUFU6CiAgICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0LkdQ
VS5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVVRI
TikKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpXZWJBdXRobjoKKyAg
ICBjYXNlIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJBdXRobjoKICAgICAgICAg
ZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG4uU2FuZGJveCIpOwog
ICAgICAgICBicmVhazsKICNlbmRpZgpAQCAtNTgxLDcgKzU4MSw3IEBAIHN0YXRpYyBib29sIGFw
cGx5U2FuZGJveChjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0CiAjaWYgVVNFKENBQ0hFX0NPTVBJTEVEX1NBTkRCT1gpCiAgICAgLy8gVGhlIHBs
dWdpbiBwcm9jZXNzJ3MgREFSV0lOX1VTRVJfVEVNUF9ESVIgYW5kIERBUldJTl9VU0VSX0NBQ0hF
X0RJUiBzYW5kYm94IHBhcmFtZXRlcnMgYXJlIHJhbmRvbWl6ZWQgc28KICAgICAvLyBzbyB0aGUg
Y29tcGlsZWQgc2FuZGJveCBzaG91bGQgbm90IGJlIGNhY2hlZCBiZWNhdXNlIGl0IHdvbid0IGJl
IHJldXNlZC4KLSAgICBpZiAocGFyYW1ldGVycy5wcm9jZXNzVHlwZSA9PSBBdXhpbGlhcnlQcm9j
ZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luKQorICAgIGlmIChwYXJhbWV0ZXJzLnByb2Nlc3NUeXBl
ID09IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW4pCiAgICAgICAgIHJldHVy
biBjb21waWxlQW5kQXBwbHlTYW5kYm94U2xvd0Nhc2UocHJvZmlsZU9yUHJvZmlsZVBhdGgsIGlz
UHJvZmlsZVBhdGgsIHNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOwogCiAgICAgU2Fu
ZGJveFBhcmFtZXRlcnNQdHIgc2FuZGJveFBhcmFtZXRlcnMgeyBzYW5kYm94X2NyZWF0ZV9wYXJh
bXMoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0
aG5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nl
c3MuaAppbmRleCA3NzUwNzAyMzFhNDczYzBiNThhOWUwZTk3ZDAzNGIyZmMxZTg3NjRmLi43ZmZj
ZWU1MDkwMGU0NDkyM2IyYTdkZmY2ZWNlYzAwMzM0MjA1OTU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaApAQCAtNDksNyArNDksNyBAQCBj
bGFzcyBXZWJBdXRoblByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcywgcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFdlYgogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYkF1dGhuUHJv
Y2VzcyhBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIH5X
ZWJBdXRoblByb2Nlc3MoKTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nl
c3NUeXBlID0gUHJvY2Vzc1R5cGU6OldlYkF1dGhuOworICAgIHN0YXRpYyBjb25zdGV4cHIgV2Vi
Q29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhpbGlh
cnlQcm9jZXNzVHlwZTo6V2ViQXV0aG47CiAKICAgICB2b2lkIHJlbW92ZVdlYkF1dGhuQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggM2VmZTAwOTE3YjBkYWRiZDA3ZGIx
Mzk3YzY5YjhiMmI4ZWY3NmMyYi4uMjFjM2ExM2Y1MGUxYjk2MmQwMDUyZjkxNGFkNDcwM2I3Njlm
NTk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xNTQsNyArMTU0
LDcgQEAgcHVibGljOgogICAgIHVzaW5nIFN1YlJlc291cmNlRG9tYWluID0gV2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW47CiAKICAgICBzdGF0aWMgV2ViUHJvY2VzcyYgc2luZ2xldG9uKCk7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBl
OjpXZWJDb250ZW50OworICAgIHN0YXRpYyBjb25zdGV4cHIgV2ViQ29yZTo6QXV4aWxpYXJ5UHJv
Y2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6V2Vi
Q29udGVudDsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgIFQqIHN1cHBsZW1lbnQo
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417552</attachid>
            <date>2021-01-13 12:30:05 -0800</date>
            <delta_ts>2021-01-13 13:05:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220529-20210114053004.patch</filename>
            <type>text/plain</type>
            <size>21334</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjlkMGU2NDhiYjczMWU3
NzFhZDNhODI3MzdlNDliM2NhMjUxYjY4YS4uYWEyZjE1OTc5N2VmMjlkMWFjYjA0OWFhNzUyZjRk
MDZmNGYwOTYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTAxLTEzICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlaW1wbGVt
ZW50IFdlYkNvcmU6OmlzSW5XZWJQcm9jZXNzKCkgZmFtaWx5IGFzIGNyb3NzLXBsYXRmb3JtIGJ5
IHVzaW5nIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMucHJvY2Vzc1R5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgaXNJ
bldlYlByb2Nlc3MoKSwgaXNJbkdQVVByb2Nlc3MoKSBhbmQgaXNJbk5ldHdvcmtQcm9jZXNzKCkg
Y2FuIGJlCisgICAgICAgIGltcGxlbWVudGVkIGFzIGNyb3NzLXBsYXRmb3JtLgorCisgICAgICAg
ICogcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmF1eGlsaWFyeVByb2Nlc3NUeXBlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXRB
dXhpbGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tBdXhp
bGlhcnlQcm9jZXNzVHlwZSk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAoV2ViQ29yZTo6aXNJbldlYlByb2Nlc3MpOgorICAg
ICAgICAoV2ViQ29yZTo6aXNJbk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
SW5HUFVQcm9jZXNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjppc0luV2ViUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjppc0luR1BVUHJvY2Vzcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjppc0luTmV0
d29ya1Byb2Nlc3MpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzR0xpYi5jcHA6IFJlbW92ZWQuCisKIDIwMjEtMDEtMTMgIFppcmFuIFN1
biAgPHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVudCBs
b2dpY2FsIGJvcmRlci1yYWRpdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGFjMTQwYWJhYThmNzI4ZDFkNDU3NWM4
MGNlOGRlNzI5NDA3YzI3NS4uMDFjNjMyNzE3YjA5ZDlkMGFiZWFhZTFlMTQ3MzVmZTE2MGE5YTg4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wMS0xMyAgRnVqaWkgSGlyb25vcmkg
IDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZWltcGxlbWVudCBXZWJDb3Jl
Ojppc0luV2ViUHJvY2VzcygpIGZhbWlseSBhcyBjcm9zcy1wbGF0Zm9ybSBieSB1c2luZyBBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLnByb2Nlc3NUeXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA1MjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlcGxhY2VkIEF1eGls
aWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHdpdGggV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5
cGUuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDogUmVtb3ZlZCBQcm9jZXNzVHlwZS4KKyAgICAgICAg
KiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDoKKyAgICAgICAgKFdlYktpdDo6QXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlOjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3NNYWluQmFzZTo6dGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycyk6IERlbGV0ZWQu
CisgICAgICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpTYW5kYm94SW5mbzo6U2FuZGJveEluZm8pOgorICAgICAgICAoV2ViS2l0Ojpwcm9j
ZXNzU3RvcmFnZUNsYXNzKToKKyAgICAgICAgKFdlYktpdDo6c2FuZGJveERpcmVjdG9yeSk6Cisg
ICAgICAgIChXZWJLaXQ6OmFwcGx5U2FuZGJveCk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
CiAyMDIxLTAxLTEzICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFBDTTogRXhwZXJpbWVudGFsIGRlYnVnIG1vZGUgbmVlZHMgdG8gYmUgcmVhZCBmcm9tIGRl
ZmF1bHRzIGRpZmZlcmVudGx5IG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAKaW5kZXggNDcxMTAxMDY0Y2NlYWE0ODVh
NjA4YTQ1NTM2NTc1ZDQ4ZGE5MWY2Mi4uMTQ5YTFmNGFhZmY3NmRhYTUzN2FiM2YxOTI2MzMwOWI2
YTdjZWYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuY3BwCkBAIC02MCw0ICs2MCwyMyBAQCB2b2lkIHNldFByZXNlbnRpbmdB
cHBsaWNhdGlvblBJRChpbnQgcGlkKQogICAgIHByZXNlbnRpbmdBcHBsaWNhdGlvblBJRE92ZXJy
aWRlKCkgPSBwaWQ7CiB9CiAKK3N0YXRpYyBPcHRpb25hbDxBdXhpbGlhcnlQcm9jZXNzVHlwZT4m
IGF1eGlsaWFyeVByb2Nlc3NUeXBlKCkKK3sKKyAgICBzdGF0aWMgT3B0aW9uYWw8QXV4aWxpYXJ5
UHJvY2Vzc1R5cGU+IGF1eGlsaWFyeVByb2Nlc3NUeXBlOworICAgIHJldHVybiBhdXhpbGlhcnlQ
cm9jZXNzVHlwZTsKK30KKwordm9pZCBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQ
cm9jZXNzVHlwZSB0eXBlKQoreworICAgIGF1eGlsaWFyeVByb2Nlc3NUeXBlKCkgPSB0eXBlOwor
fQorCitib29sIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUg
dHlwZSkKK3sKKyAgICBhdXRvIGN1cnJlbnRUeXBlID0gYXV4aWxpYXJ5UHJvY2Vzc1R5cGUoKTsK
KyAgICBpZiAoIWN1cnJlbnRUeXBlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
ICpjdXJyZW50VHlwZSA9PSB0eXBlOyAKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApp
bmRleCBkZTZkY2Q3ODhhODY5OTM3NzA5NzIyZTNmMGM5NGI4YTk4OTU2NjFiLi4yNGM0MjBmY2Jl
Y2U3ZjQxOGJkMjMxMjRmZmUzZmM4NjI0NDc3ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApAQCAtMzIsMTQgKzMyLDI1IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UHJlc2VudGluZ0Fw
cGxpY2F0aW9uUElEKGludCk7CiBXRUJDT1JFX0VYUE9SVCBpbnQgcHJlc2VudGluZ0FwcGxpY2F0
aW9uUElEKCk7CiAKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgVVNFKEdMSUIpCi1ib29sIGlzSW5X
ZWJQcm9jZXNzKCk7Ci1ib29sIGlzSW5HUFVQcm9jZXNzKCk7Ci1ib29sIGlzSW5OZXR3b3JrUHJv
Y2VzcygpOwotI2Vsc2UKLWlubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gZmFs
c2U7IH0KLWlubGluZSBib29sIGlzSW5HUFVQcm9jZXNzKCkgeyByZXR1cm4gZmFsc2U7IH0KLWlu
bGluZSBib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpIHsgcmV0dXJuIGZhbHNlOyB9CitlbnVtIGNs
YXNzIEF1eGlsaWFyeVByb2Nlc3NUeXBlIDogdWludDhfdCB7CisgICAgV2ViQ29udGVudCwKKyAg
ICBOZXR3b3JrLAorICAgIFBsdWdpbiwKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgR1BV
LAorI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICBXZWJBdXRobiwKKyNlbmRpZgor
fTsKKworV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlh
cnlQcm9jZXNzVHlwZSk7CitXRUJDT1JFX0VYUE9SVCBib29sIGNoZWNrQXV4aWxpYXJ5UHJvY2Vz
c1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5cGUpOworCitpbmxpbmUgYm9vbCBpc0luV2ViUHJvY2Vz
cygpIHsgcmV0dXJuIGNoZWNrQXV4aWxpYXJ5UHJvY2Vzc1R5cGUoQXV4aWxpYXJ5UHJvY2Vzc1R5
cGU6OldlYkNvbnRlbnQpOyB9CitpbmxpbmUgYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKSB7IHJl
dHVybiBjaGVja0F1eGlsaWFyeVByb2Nlc3NUeXBlKEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3
b3JrKTsgfQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKK2lubGluZSBib29sIGlzSW5HUFVQcm9j
ZXNzKCkgeyByZXR1cm4gY2hlY2tBdXhpbGlhcnlQcm9jZXNzVHlwZShBdXhpbGlhcnlQcm9jZXNz
VHlwZTo6R1BVKTsgfQogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NvdXJjZXNHTGliLnR4dAppbmRleCAwMmYwYjhiOTRlNDc3MzU1NTJmMzExOGVm
OTM3ZGQwYzI1ZGZhMjEzLi5kZjI3M2U1OGFkZmE2MWM2ZDI1MzMyYjMyMWY2ZjdkNzc3NWM2MTY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Tb3VyY2VzR0xpYi50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU291cmNlc0dMaWIudHh0CkBAIC0yNyw3ICsyNyw2
IEBAIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGliLmNwcAogcGxhdGZvcm0vZ2xpYi9LZXll
ZERlY29kZXJHbGliLmNwcAogcGxhdGZvcm0vZ2xpYi9LZXllZEVuY29kZXJHbGliLmNwcAogcGxh
dGZvcm0vZ2xpYi9Mb3dQb3dlck1vZGVOb3RpZmllckdMaWIuY3BwCi1wbGF0Zm9ybS9nbGliL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0dMaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1NoYXJlZEJ1ZmZl
ckdsaWIuY3BwCiBwbGF0Zm9ybS9nbGliL1VzZXJBZ2VudEdMaWIuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzQ29jb2EubW0KaW5kZXggYjA2ZmY0N2RmYzU0MTcyMWY2NGFhMGRlMzhiM2I5MmY4ODM4
MjQ2Yi4uYjg1MTRlZjgwZGI0ZTRiYTUxNzZjZGU3YjMzZjAwNWEyNjFkY2RiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EubW0KQEAgLTkwLDI0ICs5MCw2IEBAIHZvaWQgY2xlYXJBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKQogI2VuZGlmCiB9CiAKLWJvb2wg
aXNJbldlYlByb2Nlc3MoKQotewotICAgIHN0YXRpYyBib29sIG1haW5CdW5kbGVJc1dlYlByb2Nl
c3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6
QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXTsKLSAgICByZXR1cm4gbWFpbkJ1bmRsZUlz
V2ViUHJvY2VzczsKLX0KLQotYm9vbCBpc0luR1BVUHJvY2VzcygpCi17Ci0gICAgc3RhdGljIGJv
b2wgbWFpbkJ1bmRsZUlzR1BVUHJvY2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRs
ZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuR1BVIl07Ci0gICAgcmV0
dXJuIG1haW5CdW5kbGVJc0dQVVByb2Nlc3M7Ci19Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9jZXNz
KCkKLXsKLSAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNOZXR3b3JrUHJvY2VzcyA9IFtbW05T
QnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya2luZyJdOwotICAgIHJldHVybiBtYWluQnVuZGxlSXNOZXR3b3JrUHJv
Y2VzczsKLX0KLQogc3RhdGljIGJvb2wgYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oY29uc3Qg
U3RyaW5nJiBidW5kbGVJZGVudGlmaWVyU3RyaW5nKQogewogICAgIHJldHVybiBhcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKSA9PSBidW5kbGVJZGVudGlmaWVyU3RyaW5nOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1lQXBwbGljYXRpb25DaGVja3NH
TGliLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzR0xpYi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1YWY4NWI5OTUy
NDkxNjhhYzU3ODAxNTM3YTY1MmYzYzYzYTFlMWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NHTGliLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0KLSNpbmNsdWRl
IDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotI2lmIFBMQVRGT1JNKEdUSykKLXN0YXRpYyBjb25zdCBDU3RyaW5nIHdl
YlByb2Nlc3NOYW1lID0gIldlYktpdFdlYlByb2Nlc3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcg
bmV0d29ya1Byb2Nlc3NOYW1lID0gIldlYktpdE5ldHdvcmtQcm9jZXNzIjsKLSNlbGlmIFBMQVRG
T1JNKFdQRSkKLXN0YXRpYyBjb25zdCBDU3RyaW5nIHdlYlByb2Nlc3NOYW1lID0gIldQRVdlYlBy
b2Nlc3MiOwotc3RhdGljIGNvbnN0IENTdHJpbmcgbmV0d29ya1Byb2Nlc3NOYW1lID0gIldQRU5l
dHdvcmtQcm9jZXNzIjsKLSNlbmRpZgotCi1ib29sIGlzSW5XZWJQcm9jZXNzKCkKLXsKLSAgICBz
dGF0aWMgYm9vbCBpc1dlYlByb2Nlc3M7Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VG
bGFnOwotICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VGbGFnLCBbXSB7Ci0gICAgICAgIGlzV2ViUHJv
Y2VzcyA9IGdldEN1cnJlbnRFeGVjdXRhYmxlTmFtZSgpID09IHdlYlByb2Nlc3NOYW1lOwotICAg
IH0pOwotICAgIHJldHVybiBpc1dlYlByb2Nlc3M7Ci19Ci0KLWJvb2wgaXNJbk5ldHdvcmtQcm9j
ZXNzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc05ldHdvcmtQcm9jZXNzOwotICAgIHN0YXRpYyBz
dGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKLSAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10g
ewotICAgICAgICBpc05ldHdvcmtQcm9jZXNzID0gZ2V0Q3VycmVudEV4ZWN1dGFibGVOYW1lKCkg
PT0gbmV0d29ya1Byb2Nlc3NOYW1lOwotICAgIH0pOwotICAgIHJldHVybiBpc05ldHdvcmtQcm9j
ZXNzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuaAppbmRleCBiZWE1NjAzYzM2NDhiNzc1YWZhZWUwYjkwMDNiOTJlMjA2Njc4NGM5
Li42MDQwMWY3MmQ3NzZjNDUwNDJiZWJkMjc1ODU4NDlmZWYwZmY5MTExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgR1BVUHJvY2Vz
cyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzLCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
R1BVUHJvY2UKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHUFVQcm9jZXNzKEF1eGlsaWFyeVByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJik7CiAgICAgfkdQVVByb2Nlc3MoKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6OkdQ
VTsKKyAgICBzdGF0aWMgY29uc3RleHByIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHBy
b2Nlc3NUeXBlID0gV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQVTsKIAogICAgIHZv
aWQgcmVtb3ZlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAppbmRleCA0MTIzMWJmZDg1OTdlNWExZmI5YTdlMTAwOTExZTc1YjkxMWViNmY2Li4xMTI2MmE4
NTZiMTM4MTMxNjkyYzI1NTQ4MmIzYmE2NTc0NDVlYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGlj
OgogCiAgICAgTmV0d29ya1Byb2Nlc3MoQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYmKTsKICAgICB+TmV0d29ya1Byb2Nlc3MoKTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6Ok5ldHdvcms7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9
IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpOZXR3b3JrOwogCiAgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBhMGY0ZTIwMGRlMTlhODNjZDljMTE4Mzg2ZGJm
MzFlNjc0NmIxYTVmLi40ZmNhYjEyZWIwN2Q4M2Q0ODdhNzczNDRjM2Q0ZDdmMzk3Njc1ZjkxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgY2xhc3MgUGx1Z2luUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCiAK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2luZ2xldG9uKCk7Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpQbHVn
aW47CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBw
cm9jZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpQbHVnaW47CiAKICAg
ICB2b2lkIHJlbW92ZVdlYlByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NDb25uZWN0aW9uKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKaW5kZXggYzQ2Y2Iw
NmY1ZWE2MWRiOTVhN2NjMTJlNmE2NmI3MmE3ZDI1NmE2OS4uZGJiZTFiZjA5MDM1ZmE0ZDMwMzBl
ZTFlNDdlOWY3MjI1ZTJmMTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4
aWxpYXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJv
Y2Vzcy5jcHAKQEAgLTY0LDYgKzY0LDggQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFs
aXplKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMKIHsKICAg
ICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwog
CisgICAgc2V0QXV4aWxpYXJ5UHJvY2Vzc1R5cGUocGFyYW1ldGVycy5wcm9jZXNzVHlwZSk7CisK
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UocGFyYW1ldGVycy5wcm9jZXNzSWRlbnRp
ZmllciwgIlVuYWJsZSB0byBpbml0aWFsaXplIGNoaWxkIHByb2Nlc3Mgd2l0aG91dCBhIFdlYkNv
cmUgcHJvY2VzcyBpZGVudGlmaWVyIik7CiAgICAgUHJvY2Vzczo6c2V0SWRlbnRpZmllcigqcGFy
YW1ldGVycy5wcm9jZXNzSWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFy
eVByb2Nlc3MuaAppbmRleCA3YmEyMDdhYmIwYWNjYzhhNTcwZjVjNjYzZjQ2Y2FhMjRhODI2ZDkx
Li43ZWVlNDk0NWQ4ZTAyMzRkYjk5YWM2MjBlNjgzMWZhMTFjODU2MWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFjdGl2aXR5Lmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAt
NDQsMTggKzQ1LDYgQEAgY2xhc3MgQXV4aWxpYXJ5UHJvY2VzcyA6IHByb3RlY3RlZCBJUEM6OkNv
bm5lY3Rpb246OkNsaWVudCwgcHVibGljIElQQzo6TWVzc2FnZVMKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdXhpbGlhcnlQcm9jZXNzKTsKIAogcHVibGljOgotICAgIGVudW0gY2xhc3MgUHJv
Y2Vzc1R5cGUgOiB1aW50OF90IHsKLSAgICAgICAgV2ViQ29udGVudCwKLSAgICAgICAgTmV0d29y
aywKLSAgICAgICAgUGx1Z2luLAotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLSAgICAgICAgR1BV
LAotI2VuZGlmCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICAgICAgV2ViQXV0aG4KLSNlbmRp
ZgotICAgIH07Ci0KICAgICB2b2lkIGluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0lu
aXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gZGlzYWJsZSBhbmQgZW5hYmxlIHRl
cm1pbmF0aW9uIG9mIHRoZSBwcm9jZXNzLiB3aGVuIGRpc2FibGVUZXJtaW5hdGlvbiBpcyBjYWxs
ZWQsIHRoZQpAQCAtMTc3LDcgKzE2Niw3IEBAIHN0cnVjdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzIHsKICAgICBPcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
Zmllcj4gcHJvY2Vzc0lkZW50aWZpZXI7CiAgICAgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
IGNvbm5lY3Rpb25JZGVudGlmaWVyOwogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGV4dHJh
SW5pdGlhbGl6YXRpb25EYXRhOwotICAgIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlIHBy
b2Nlc3NUeXBlOworICAgIFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlIHByb2Nlc3NUeXBl
OwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIE9TT2JqZWN0UHRyPHhwY19vYmplY3RfdD4gcHJp
b3JpdHlCb29zdE1lc3NhZ2U7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlh
cnlQcm9jZXNzTWFpbi5oCmluZGV4IGJmYzNiZDI0OTMyNTdiNDViZTM4YjhjM2NmZWE2YTA4OTA0
MTA2NDMuLjhlYTMyNWFkMDg2Yzc5MGFmNTJlZTNiNWMyZTFhMzc4MGUwZTgwYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaApAQCAtMzksNiArMzksNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhcnNlQ29tbWFuZExpbmUoaW50IGFyZ2MsIGNo
YXIqKiBhcmd2KTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1GaW5hbGl6ZSgpIHsgfQogCisg
ICAgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzKCkgeyByZXR1cm4gbV9wYXJhbWV0ZXJzOyB9CiAgICAgQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHRha2VJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMoKSB7IHJldHVybiBXVEZNb3ZlKG1fcGFyYW1ldGVycyk7IH0KIAogcHJvdGVjdGVkOgpAQCAt
NTYsNiArNTcsOCBAQCBpbnQgQXV4aWxpYXJ5UHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBh
cmd2KQogewogICAgIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZSBhdXhpbGlhcnlNYWluOwogCisg
ICAgYXV4aWxpYXJ5TWFpbi5pbml0aWFsaXphdGlvblBhcmFtZXRlcnMoKS5wcm9jZXNzVHlwZSA9
IEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpwcm9jZXNzVHlwZTsKKwogICAgIGlmICghYXV4aWxpYXJ5
TWFpbi5wbGF0Zm9ybUluaXRpYWxpemUoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVByb2Nlc3NN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQpp
bmRleCBlYjM1M2JlYTVmYmYxMGYwZjBhMDY5YzQ3NzQ2NjI4NGJmNTQ5NDQ1Li4xNDdlMmZhMzdi
ODc2NDAyZjMzNWJmZGViODgxOGI5YmJhMmZhZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQpAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVj
dCBDYWNoZWRTYW5kYm94SGVhZGVyIHsKIC8vIGJ5dGUgTgogCiBzdHJ1Y3QgU2FuZGJveEluZm8g
ewotICAgIFNhbmRib3hJbmZvKGNvbnN0IFN0cmluZyYgcGFyZW50RGlyZWN0b3J5UGF0aCwgY29u
c3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcmIGZpbGVQYXRoLCBjb25zdCBT
YW5kYm94UGFyYW1ldGVyc1B0ciYgc2FuZGJveFBhcmFtZXRlcnMsIGNvbnN0IENTdHJpbmcmIGhl
YWRlciwgY29uc3QgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBlLCBj
b25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBpbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMsIGNvbnN0IFN0cmluZyYgcHJvZmlsZU9yUHJvZmlsZVBhdGgsIGJvb2wgaXNQcm9maWxl
UGF0aCkKKyAgICBTYW5kYm94SW5mbyhjb25zdCBTdHJpbmcmIHBhcmVudERpcmVjdG9yeVBhdGgs
IGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5UGF0aCwgY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgY29u
c3QgU2FuZGJveFBhcmFtZXRlcnNQdHImIHNhbmRib3hQYXJhbWV0ZXJzLCBjb25zdCBDU3RyaW5n
JiBoZWFkZXIsIGNvbnN0IFdlYkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlJiBwcm9jZXNzVHlw
ZSwgY29uc3QgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzLCBjb25zdCBTdHJpbmcmIHByb2ZpbGVPclByb2ZpbGVQYXRoLCBib29sIGlzUHJv
ZmlsZVBhdGgpCiAgICAgICAgIDogcGFyZW50RGlyZWN0b3J5UGF0aCB7IHBhcmVudERpcmVjdG9y
eVBhdGggfQogICAgICAgICAsIGRpcmVjdG9yeVBhdGggeyBkaXJlY3RvcnlQYXRoIH0KICAgICAg
ICAgLCBmaWxlUGF0aCB7IGZpbGVQYXRoIH0KQEAgLTEzMSw3ICsxMzEsNyBAQCBzdHJ1Y3QgU2Fu
ZGJveEluZm8gewogICAgIGNvbnN0IFN0cmluZyYgZmlsZVBhdGg7CiAgICAgY29uc3QgU2FuZGJv
eFBhcmFtZXRlcnNQdHImIHNhbmRib3hQYXJhbWV0ZXJzOwogICAgIGNvbnN0IENTdHJpbmcmIGhl
YWRlcjsKLSAgICBjb25zdCBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZSYgcHJvY2Vzc1R5
cGU7CisgICAgY29uc3QgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUmIHByb2Nlc3NUeXBl
OwogICAgIGNvbnN0IFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0
aW9uUGFyYW1ldGVyczsKICAgICBjb25zdCBTdHJpbmcmIHByb2ZpbGVPclByb2ZpbGVQYXRoOwog
ICAgIGNvbnN0IGJvb2wgaXNQcm9maWxlUGF0aDsKQEAgLTIxOCwyMSArMjE4LDIxIEBAIHN0YXRp
YyBPcHRpb25hbDxWZWN0b3I8Y2hhcj4+IGZpbGVDb250ZW50cyhjb25zdCBTdHJpbmcmIHBhdGgs
IGJvb2wgc2hvdWxkTG9jayA9CiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIC8vIFRoZXNl
IHN0cmluZ3MgbXVzdCBtYXRjaCB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSAiY29tLmFwcGxlLnJv
b3RsZXNzLnN0b3JhZ2UuPHRoaXMgcGFydCBtdXN0IG1hdGNoPiIgZW50cnkgaW4gZWFjaAogLy8g
cHJvY2VzcydzIHJlc3RyaWN0ZWQgZW50aXRsZW1lbnRzIGZpbGUgKGV4LiBDb25maWd1cmF0aW9u
cy9OZXR3b3JraW5nLU9TWC1yZXN0cmljdGVkLmVudGl0bGVtZW50cykuCi1jb25zdGV4cHIgY29u
c3QgY2hhciogcHJvY2Vzc1N0b3JhZ2VDbGFzcyhBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlw
ZSB0eXBlKQorY29uc3RleHByIGNvbnN0IGNoYXIqIHByb2Nlc3NTdG9yYWdlQ2xhc3MoV2ViQ29y
ZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAg
ICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpXZWJDb250ZW50OgorICAgIGNh
c2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6CiAgICAgICAgIHJl
dHVybiAiV2ViS2l0V2ViQ29udGVudFNhbmRib3giOwotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vz
czo6UHJvY2Vzc1R5cGU6Ok5ldHdvcms6CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9j
ZXNzVHlwZTo6TmV0d29yazoKICAgICAgICAgcmV0dXJuICJXZWJLaXROZXR3b3JraW5nU2FuZGJv
eCI7Ci0gICAgY2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luOgorICAg
IGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdpbjoKICAgICAgICAgcmV0
dXJuICJXZWJLaXRQbHVnaW5TYW5kYm94IjsKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAg
Y2FzZSBBdXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6R1BVOgorICAgIGNhc2UgV2ViQ29y
ZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAgcmV0dXJuICJXZWJLaXRHUFVT
YW5kYm94IjsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAgY2FzZSBBdXhpbGlh
cnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQXV0aG46CisgICAgY2FzZSBXZWJDb3JlOjpBdXhp
bGlhcnlQcm9jZXNzVHlwZTo6V2ViQXV0aG46CiAgICAgICAgIHJldHVybiAiV2ViS2l0V2ViQXV0
aG5TYW5kYm94IjsKICNlbmRpZgogICAgIH0KQEAgLTI3OCwyNyArMjc4LDI3IEBAIHN0YXRpYyBT
dHJpbmcgc2FuZGJveERhdGFWYXVsdFBhcmVudERpcmVjdG9yeSgpCiAgICAgcmV0dXJuIHJlc29s
dmVkUGF0aDsKIH0KIAotc3RhdGljIFN0cmluZyBzYW5kYm94RGlyZWN0b3J5KEF1eGlsaWFyeVBy
b2Nlc3M6OlByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlLCBjb25zdCBTdHJpbmcmIHBhcmVudERpcmVj
dG9yeSkKK3N0YXRpYyBTdHJpbmcgc2FuZGJveERpcmVjdG9yeShXZWJDb3JlOjpBdXhpbGlhcnlQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZSwgY29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnkpCiB7
CiAgICAgU3RyaW5nQnVpbGRlciBkaXJlY3Rvcnk7CiAgICAgZGlyZWN0b3J5LmFwcGVuZChwYXJl
bnREaXJlY3RvcnkpOwogICAgIHN3aXRjaCAocHJvY2Vzc1R5cGUpIHsKLSAgICBjYXNlIEF1eGls
aWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpXZWJDb250ZW50OgorICAgIGNhc2UgV2ViQ29yZTo6
QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6CiAgICAgICAgIGRpcmVjdG9yeS5hcHBl
bmQoIi9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuU2FuZGJveCIpOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOgorICAg
IGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6Ok5ldHdvcms6CiAgICAgICAgIGRp
cmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuU2FuZGJveCIpOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpQ
bHVnaW46CisgICAgY2FzZSBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZTo6UGx1Z2luOgog
ICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIvY29tLmFwcGxlLldlYktpdC5QbHVnaW4uU2FuZGJv
eCIpOwogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0gICAgY2FzZSBB
dXhpbGlhcnlQcm9jZXNzOjpQcm9jZXNzVHlwZTo6R1BVOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4
aWxpYXJ5UHJvY2Vzc1R5cGU6OkdQVToKICAgICAgICAgZGlyZWN0b3J5LmFwcGVuZCgiL2NvbS5h
cHBsZS5XZWJLaXQuR1BVLlNhbmRib3giKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBF
TkFCTEUoV0VCX0FVVEhOKQotICAgIGNhc2UgQXV4aWxpYXJ5UHJvY2Vzczo6UHJvY2Vzc1R5cGU6
OldlYkF1dGhuOgorICAgIGNhc2UgV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OldlYkF1
dGhuOgogICAgICAgICBkaXJlY3RvcnkuYXBwZW5kKCIvY29tLmFwcGxlLldlYktpdC5XZWJBdXRo
bi5TYW5kYm94Iik7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCkBAIC01ODEsNyArNTgxLDcgQEAg
c3RhdGljIGJvb2wgYXBwbHlTYW5kYm94KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXQKICNpZiBVU0UoQ0FDSEVfQ09NUElMRURfU0FOREJPWCkK
ICAgICAvLyBUaGUgcGx1Z2luIHByb2Nlc3MncyBEQVJXSU5fVVNFUl9URU1QX0RJUiBhbmQgREFS
V0lOX1VTRVJfQ0FDSEVfRElSIHNhbmRib3ggcGFyYW1ldGVycyBhcmUgcmFuZG9taXplZCBzbwog
ICAgIC8vIHNvIHRoZSBjb21waWxlZCBzYW5kYm94IHNob3VsZCBub3QgYmUgY2FjaGVkIGJlY2F1
c2UgaXQgd29uJ3QgYmUgcmV1c2VkLgotICAgIGlmIChwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlID09
IEF1eGlsaWFyeVByb2Nlc3M6OlByb2Nlc3NUeXBlOjpQbHVnaW4pCisgICAgaWYgKHBhcmFtZXRl
cnMucHJvY2Vzc1R5cGUgPT0gV2ViQ29yZTo6QXV4aWxpYXJ5UHJvY2Vzc1R5cGU6OlBsdWdpbikK
ICAgICAgICAgcmV0dXJuIGNvbXBpbGVBbmRBcHBseVNhbmRib3hTbG93Q2FzZShwcm9maWxlT3JQ
cm9maWxlUGF0aCwgaXNQcm9maWxlUGF0aCwgc2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVy
cyk7CiAKICAgICBTYW5kYm94UGFyYW1ldGVyc1B0ciBzYW5kYm94UGFyYW1ldGVycyB7IHNhbmRi
b3hfY3JlYXRlX3BhcmFtcygpIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhu
UHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuUHJvY2Vzcy5oCmluZGV4IDc3NTA3MDIzMWE0NzNjMGI1OGE5ZTBlOTdkMDM0YjJm
YzFlODc2NGYuLjdmZmNlZTUwOTAwZTQ0OTIzYjJhN2RmZjZlY2VjMDAzMzQyMDU5NTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5oCkBAIC00
OSw3ICs0OSw3IEBAIGNsYXNzIFdlYkF1dGhuUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9j
ZXNzLCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8V2ViCiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgV2ViQXV0aG5Qcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRl
cnMmJik7CiAgICAgfldlYkF1dGhuUHJvY2VzcygpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJv
Y2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQcm9jZXNzVHlwZTo6V2ViQXV0aG47CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBXZWJDb3JlOjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdl
YkNvcmU6OkF1eGlsaWFyeVByb2Nlc3NUeXBlOjpXZWJBdXRobjsKIAogICAgIHZvaWQgcmVtb3Zl
V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAzZWZlMDA5
MTdiMGRhZGJkMDdkYjEzOTdjNjliOGIyYjhlZjc2YzJiLi4yMWMzYTEzZjUwZTFiOTYyZDAwNTJm
OTE0YWQ0NzAzYjc2OWY1OTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
QEAgLTE1NCw3ICsxNTQsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgU3ViUmVzb3VyY2VEb21haW4g
PSBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjsKIAogICAgIHN0YXRpYyBXZWJQcm9jZXNzJiBz
aW5nbGV0b24oKTsKLSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBl
ID0gUHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3Jl
OjpBdXhpbGlhcnlQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFdlYkNvcmU6OkF1eGlsaWFyeVBy
b2Nlc3NUeXBlOjpXZWJDb250ZW50OwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAgICAg
VCogc3VwcGxlbWVudCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>