<?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>210775</bug_id>
          
          <creation_ts>2020-04-20 17:08:20 -0700</creation_ts>
          <short_desc>Classes marked final should not use protected access specifier</short_desc>
          <delta_ts>2020-04-20 23:12:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>dstockwell</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jfernandez</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>macpherson</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>rego</cc>
    
    <cc>saam</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>tommyw</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>toyoshim</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1643698</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 17:08:20 -0700</bug_when>
    <thetext>Classes marked final should not use protected access specifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643699</commentid>
    <comment_count>1</comment_count>
      <attachid>397040</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 17:09:18 -0700</bug_when>
    <thetext>Created attachment 397040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643700</commentid>
    <comment_count>2</comment_count>
      <attachid>397041</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 17:22:46 -0700</bug_when>
    <thetext>Created attachment 397041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643707</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2020-04-20 17:45:24 -0700</bug_when>
    <thetext>The code movement in this patch presents a lot of noise that will make it more difficult to blame / investigate history. Is the movement worth it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643715</commentid>
    <comment_count>4</comment_count>
      <attachid>397043</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 17:59:50 -0700</bug_when>
    <thetext>Created attachment 397043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643716</commentid>
    <comment_count>5</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 18:05:54 -0700</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #3)
&gt; The code movement in this patch presents a lot of noise that will make it
&gt; more difficult to blame / investigate history. Is the movement worth it?

I&apos;d started with just JSC and figured it&apos;d be beneficial to keep things consistently ordered (at least with, say, constructors and finishCreation) as well as to remove any public/private back-and-forth where trivial.

I applied that idea to other areas of the codebase too; the WebCore cases might be more questionable but I think the WKL/win cases are pretty nice.

Anyway you&apos;re free to object, but I feel like constructor declarations would be comparatively rare lines to blame?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643718</commentid>
    <comment_count>6</comment_count>
      <attachid>397040</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-20 18:07:39 -0700</bug_when>
    <thetext>Comment on attachment 397040
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Classes marked final should not use protected access specifier

Great rule of thumb! I would say the same about *any* classes that have no classes derived from them, even if they aren’t marked final.

&gt; Source/JavaScriptCore/runtime/Structure.h:-176
&gt; -public:

This says &quot;public&quot;, not &quot;private&quot;!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643719</commentid>
    <comment_count>7</comment_count>
      <attachid>397040</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-20 18:07:52 -0700</bug_when>
    <thetext>Comment on attachment 397040
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Classes marked final should not use protected access specifier

Great rule of thumb! I would say the same about *any* classes that have no classes derived from them, even if they aren’t marked final.

&gt; Source/JavaScriptCore/runtime/Structure.h:-176
&gt; -public:

This says &quot;public&quot;, not &quot;private&quot;!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643720</commentid>
    <comment_count>8</comment_count>
      <attachid>397040</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-20 18:08:01 -0700</bug_when>
    <thetext>Comment on attachment 397040
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Classes marked final should not use protected access specifier

Great rule of thumb! I would say the same about *any* classes that have no classes derived from them, even if they aren’t marked final.

&gt; Source/JavaScriptCore/runtime/Structure.h:-176
&gt; -public:

This says &quot;public&quot;, not &quot;private&quot;!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643721</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-20 18:09:01 -0700</bug_when>
    <thetext>I think a little bit of code movements is worth it for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643723</commentid>
    <comment_count>10</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 18:17:12 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 397040 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397040&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:3
&gt; &gt; +        Classes marked final should not use protected access specifier
&gt; 
&gt; Great rule of thumb! I would say the same about *any* classes that have no
&gt; classes derived from them, even if they aren’t marked final.

Indeed -- Yusuke pointed out that JSC even has optimizations that can apply to classes marked final, though for this patch I&apos;m not sure I want to go through all the protected-without-final cases, haha.

&gt; &gt; Source/JavaScriptCore/runtime/Structure.h:-176
&gt; &gt; -public:
&gt; 
&gt; This says &quot;public&quot;, not &quot;private&quot;!!!

Yeah, it seems I was moving a bit too quickly on a few of these. 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643731</commentid>
    <comment_count>11</comment_count>
      <attachid>397046</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 19:16:01 -0700</bug_when>
    <thetext>Created attachment 397046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643778</commentid>
    <comment_count>12</comment_count>
      <attachid>397046</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-20 22:39:22 -0700</bug_when>
    <thetext>Comment on attachment 397046
Patch

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

Patch looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643779</commentid>
    <comment_count>13</comment_count>
      <attachid>397046</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-20 22:44:04 -0700</bug_when>
    <thetext>Comment on attachment 397046
Patch

(In reply to Daniel Bates from comment #12)
&gt; Comment on attachment 397046 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397046&amp;action=review
&gt; 
&gt; Patch looks good.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643780</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-20 23:11:13 -0700</bug_when>
    <thetext>Committed r260415: &lt;https://trac.webkit.org/changeset/260415&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397046.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643781</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-20 23:12:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/62092856&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397040</attachid>
            <date>2020-04-20 17:09:18 -0700</date>
            <delta_ts>2020-04-20 17:22:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210775-20200420170917.patch</filename>
            <type>text/plain</type>
            <size>187830</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2JhNDI0YzhlYTFkOWVlNjM3ZmI1NzM3MTFkZDZlYmJkMTM4MGZlLi5kODFmYzA1NTZkMDZjNGY4
ZmQyYzI2MDhiY2U1MmRiMzNhMmUxMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFQSS9KU0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVj
dC5oOgorICAgICAgICAqIGIzL0IzRXh0cmFjdFZhbHVlLmg6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5o
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmg6Cisg
ICAgICAgICogcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmg6CisgICAg
ICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9CaWdJbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50T2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29uc29sZU9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmg6CisgICAgICAg
ICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaDoKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Lmg6CisgICAgICAgICog
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRp
bWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Lmg6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaDoK
KyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVy
YWxSdWxlc1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmg6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXN5bmNH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNEYXRhVmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxlTG9hZGVyLmg6Cisg
ICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVj
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6
ZXJBZ2VudC5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgICogcnVudGltZS9TeW1ib2wu
aDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9TeW1ib2xPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFByb3RvdHlwZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvVk1UcmFwcy5jcHA6CisgICAgICAgICogdGVzdFJlZ0V4cC5j
cHA6CisgICAgICAgICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxM
SW50UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0LmNwcDoKKyAgICAgICAgKiB3
YXNtL2pzL0pTV2ViQXNzZW1ibHkuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5o
OgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUluc3Rh
bmNlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBl
Lmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5oOgorICAgICAgICAq
IHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseVRhYmxlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0
aW9uLmg6CisKIDIwMjAtMDQtMjAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRlRMIGRvZXNuJ3Qgb2JzZXJ2ZSB0aGUgdXNlIGtpbmQgb2YgQ2hlY2tJ
c0NvbnN0YW50J3MgY2hpbGQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFhNDNjODhlODJmNGNlYzdjOWM4YjU1
NjAyNzczYzI4MGUzN2MyZC4uYTM3YWZjM2QyOWRhYTJmZDc2YWI4ZWUxNGE3ZjdiNjIxZjg5MWU5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0IEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNsaW5n
ICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBmaW5h
bCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISku
CisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVj
dGVkRXZlbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVN
ZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kv
TGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVs
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmg6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVs
ZXMvd2VieHIvV2ViWFJTeXN0ZW0uaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlBUklBR3JpZENlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVT
ZXRWYWx1ZUV2ZW50Lmg6CisgICAgICAgICogYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmg6CisgICAgICAgICogYnJpZGdlL29i
amMvb2JqY19ydW50aW1lLmg6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdl
bkVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmg6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUHJvZ3JhbS5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUXVlcnkuaDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMU3lu
Yy5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJhY2suaDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oOgorICAgICAgICAqIGh0
bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkluamVjdGVk
U2NyaXB0TWFuYWdlci5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNo
ZWV0Lmg6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
Lmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2Uv
YW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2Zh
ZGVHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL05hbWVkSW1h
Z2VHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUFuaW1h
dGlvbkNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3Jt
Q0FBbmltYXRpb25XaW4uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURl
Y29kZXJDRy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZv
cm1hdEJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09Qcm90ZWN0aW9u
U2NoZW1lSW5mb0JveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hl
bWVJbmZvcm1hdGlvbkJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09T
Y2hlbWVUeXBlQm94Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNr
RW5jcnlwdGlvbkJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRD
dWUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVyRGlyZWN0MkQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3Bw
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmll
dy5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmg6
CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyQ29uc29sZUNsaWVudC5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXQuaDoKKwog
MjAyMC0wNC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBtb3JlIHN0cnVjdHVyZS1jbG9uaW5nIHRlc3RzIGZvciBCaWdJbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ODJiNzYyYjc3ZWQxMTFjOWE5ZWFkMDY0MWE0NDNkMDRmNTBmMGRjMC4uMTdlZDdhZTZhNTdhN2Ri
NDI4MGUyODUyZTY0NmE4ODU1NzA1MWQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAg
ICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBz
cGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2hhcmVkL0FQSS9BUElEaWN0aW9uYXJ5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKwogMjAyMC0wNC0yMCAgS2F0ZSBDaGVuZXkgIDxrYXRo
ZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIG1hY0NhdGFseXN0
IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXggZTgxZTdkYWY0MWI2OGZmMmY4NTYy
ZmQwMjhjNmZkMTc0ZWI3YzA4Ni4uOGE2MTJlZWRlOTBmZGVkODFhNmQ0YWQ4ZjI4N2FhM2M1NDc3
OWNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wNC0yMCAg
Um9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3Nl
cyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6CisKIDIwMjAtMDQtMjAgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSAjaW1wb3J0IGluc3RlYWQg
b2YgI2luY2x1ZGUgaW4gT2JqZWN0aXZlLUMgYW5kIGRvbid0IHVzZSAjcHJhZ21hIG9uY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCAyYWYyZWY4ZjVjZDU3Yzk1NDkwMTI3MmU3ZGRm
MjU0Y2QxOGQzZGEzLi5lYzI5MWQ5MDQwMjczMmIxNDM5NDkyMTAxZjcwOTM2OTIyNjIyYmNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjAtMDQtMjAg
IFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIENsYXNz
ZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHByb3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlZmF1
bHREb3dubG9hZERlbGVnYXRlLmg6CisgICAgICAgICogRGVmYXVsdFBvbGljeURlbGVnYXRlLmg6
CisgICAgICAgICogTWVtb3J5U3RyZWFtLmg6CisgICAgICAgICogV2ViQXBwbGljYXRpb25DYWNo
ZS5oOgorICAgICAgICAqIFdlYkFyY2hpdmUuaDoKKyAgICAgICAgKiBXZWJCYWNrRm9yd2FyZExp
c3QuaDoKKyAgICAgICAgKiBXZWJDYWNoZS5oOgorICAgICAgICAqIFdlYkNvcmVTdGF0aXN0aWNz
Lmg6CisgICAgICAgICogV2ViRGF0YVNvdXJjZS5oOgorICAgICAgICAqIFdlYkVsZW1lbnRQcm9w
ZXJ0eUJhZy5oOgorICAgICAgICAqIFdlYkVycm9yLmg6CisgICAgICAgICogV2ViRnJhbWUuaDoK
KyAgICAgICAgKiBXZWJGcmFtZVBvbGljeUxpc3RlbmVyLmg6CisgICAgICAgICogV2ViSFRNTFJl
cHJlc2VudGF0aW9uLmg6CisgICAgICAgICogV2ViSGlzdG9yeUl0ZW0uaDoKKyAgICAgICAgKiBX
ZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmg6CisgICAgICAgICogV2ViS2l0Q2xhc3NGYWN0b3J5Lmg6
CisgICAgICAgICogV2ViS2l0U3RhdGlzdGljcy5oOgorICAgICAgICAqIFdlYk11dGFibGVVUkxS
ZXF1ZXN0Lmg6CisgICAgICAgICogV2ViTm90aWZpY2F0aW9uLmg6CisgICAgICAgICogV2ViTm90
aWZpY2F0aW9uQ2VudGVyLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAg
KiBXZWJSZXNvdXJjZS5oOgorICAgICAgICAqIFdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lmg6CisgICAgICAgICogV2ViVVJMQ3JlZGVudGlhbC5oOgorICAgICAgICAqIFdlYlVSTFByb3Rl
Y3Rpb25TcGFjZS5oOgorICAgICAgICAqIFdlYlVSTFJlc3BvbnNlLmg6CisKIDIwMjAtMDQtMTgg
IFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWR1Y2UgcGFyYW1ldGVy
IGxpc3Qgb2YgdGhlIEZyYW1lTG9hZFJlcXVlc3QgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaAppbmRleCAxZjc4MjI5ZTBjODBkYjRj
ZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljLi42NzA1ZWNiYmIyYjUwNzgwYjFhZGVhNzU1ODRhN2Mx
ZjMyYTFlZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFs
dWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3Jh
cHBlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHdyYXBwZXI7
CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwpAQCAtNjUsNyArNjUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEFTU0VSVCghdmFs
dWUuaXNDZWxsKCkpOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBKU0FQSVZhbHVlV3JhcHBlcihW
TSYgdm0pCiAgICAgICAgIDogSlNDZWxsKHZtLCB2bS5hcGlXcmFwcGVyU3RydWN0dXJlLmdldCgp
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oCmluZGV4IDZlM2MzNTY2ZjJlOWYzNWFhNjc0NTZhYTE0YjNmYmQwOTk0ZjlkNWMu
LmZiZDI0MzExOTQ4MTI4NjU2NjJiMmVmY2EzNDBjNmFlYzFlOGU3N2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApAQCAtNjIsMTEg
KzYyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyks
IGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpTQ2FsbGJhY2tD
b25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQ2xhc3NSZWYsIEpTT2Jq
ZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0dsb2JhbE9iamVjdCosIEpTQ2xhc3NSZWYpOwogCi1wcml2YXRlOgogICAgIGZyaWVuZCBzdHJ1
Y3QgQVBJQ2FsbGJhY2tGdW5jdGlvbjsKIAogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENv
bnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCA5MmNhOTI0Nzc5NjJiYzA0YzdhOGVi
ODZhMWY0MTVkMmIxODdmMzYxLi5lNjQzNTEzMTNkN2Y4N2FjMWNiZGZiYmMwNjIzZmFjYTliODlm
MDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApA
QCAtMTIzLDEzICsxMjMsNiBAQCBwdWJsaWM6CiAgICAgCiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50
PgogY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1YmxpYyBQYXJlbnQgewotcHJvdGVj
dGVkOgotICAgIEpTQ2FsbGJhY2tPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBK
U0NsYXNzUmVmLCB2b2lkKiBkYXRhKTsKLSAgICBKU0NhbGxiYWNrT2JqZWN0KFZNJiwgSlNDbGFz
c1JlZiwgU3RydWN0dXJlKik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2Jq
ZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IFBhcmVudDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcg
fCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlT
bG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSW1wbGVtZW50c0hhc0luc3RhbmNl
IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dldENhbGxEYXRhOwpAQCAt
MTkwLDYgKzE4MywxMiBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUGFyZW50OjptZXRob2RUYWJsZTsK
IAogcHJpdmF0ZToKKyAgICBKU0NhbGxiYWNrT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiwgSlNDbGFzc1JlZiwgdm9pZCogZGF0YSk7CisgICAgSlNDYWxsYmFja09iamVjdChWTSYs
IEpTQ2xhc3NSZWYsIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0ds
b2JhbE9iamVjdCopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKwogICAgIHN0YXRp
YyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKFZNJiwgU3Vic3BhY2VBY2Nlc3MpOwogICAg
IHN0YXRpYyBTdHJpbmcgY2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNFeHRyYWN0VmFsdWUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oCmluZGV4IDk5Mzg0ZDk2
MzQ5YWFlYTdlNjE2ZjRiZWJiMGIyMjZlZThlNWFhOTEuLjIxMjViN2I2YTM2Y2I1ZjE3NWY1MTlh
YzEwMjRiYjVkYjAzY2RhNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M0V4dHJhY3RWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RW
YWx1ZS5oCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICBCM19TUEVDSUFMSVpFX1ZBTFVF
X0ZPUl9GSVhFRF9DSElMRFJFTigxKQogICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFM
X1NJWkVfRklYRURfQ0hJTERSRU4KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIGR1
bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1Y3RvcihPcmlnaW4sIFR5cGUsIFZhbHVl
KiwgaW50MzJfdCkgeyByZXR1cm4gRXh0cmFjdDsgfQpAQCAtNTMsNyArNTMsNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgewogICAgIH0KIAotcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUHJvY2VkdXJl
OwogICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCA2
YzcyMWViYzhhZmNiNTE4MmJkNWI4YTEwMGI1MDgwZjhjMTk5YzRhLi44ZmZlMzAwZDg0NDI3MWQ0
ZjZkZGY5MTVkMmRiZTJhNTJmYzAyYTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMjMy
LDYgKzIzMiw4IEBAIHByaXZhdGU6CiAgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0m
LCBTdHJ1Y3R1cmUqLCBjb25zdCBTb3VyY2VDb2RlJiwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqLCBV
bmxpbmtlZEZ1bmN0aW9uS2luZCwgQ29uc3RydWN0QWJpbGl0eSwgSlNQYXJzZXJTY3JpcHRNb2Rl
LCBPcHRpb25hbDxDb21wYWN0VmFyaWFibGVNYXA6OkhhbmRsZT4sICBKU0M6OkRlcml2ZWRDb250
ZXh0VHlwZSwgSlNDOjpOZWVkc0NsYXNzRmllbGRJbml0aWFsaXplciwgYm9vbCBpc0J1aWx0aW5E
ZWZhdWx0Q2xhc3NDb25zdHJ1Y3Rvcik7CiAgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUo
RGVjb2RlciYsIGNvbnN0IENhY2hlZEZ1bmN0aW9uRXhlY3V0YWJsZSYpOwogCisgICAgc3RhdGlj
IHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworCiAgICAgdm9pZCBk
ZWNvZGVDYWNoZWRDb2RlQmxvY2tzKFZNJik7CiAKICAgICBib29sIGNvZGVCbG9ja0VkZ2VNYXlC
ZVdlYWsoKSBjb25zdApAQCAtMjk0LDkgKzI5Niw2IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAKLXByb3RlY3RlZDoKLSAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0KIHB1YmxpYzoKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudC5oCmluZGV4IDNlNGExZmYxZDYyODY5ZjMxZGJjMjVlY2JmMTIxMjY3MjcxYjY4MzMuLmUx
NzI3OTM3OWFkMzdkYjBlMWYzN2M3ZmM5MzZkM2IzZTQ5YjY2MTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNv
bGVDbGllbnQuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50KEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGFnZW50KSB7IG1fZGVidWdn
ZXJBZ2VudCA9IGFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFn
ZW50KEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQqIGFnZW50KSB7IG1fc2NyaXB0UHJvZmls
ZXJBZ2VudCA9IGFnZW50OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBtZXNz
YWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgUmVmPFNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
b3VudChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcm
IGxhYmVsKSBvdmVycmlkZTsKQEAgLTYyLDcgKzYyLDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
cmVjb3JkRW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmKSBv
dmVycmlkZTsKICAgICB2b2lkIHNjcmVlbnNob3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxT
Y3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHZvaWQgd2FyblVu
aW1wbGVtZW50ZWQoY29uc3QgU3RyaW5nJiBtZXRob2QpOwogICAgIHZvaWQgaW50ZXJuYWxBZGRN
ZXNzYWdlKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBS
ZWY8U2NyaXB0QXJndW1lbnRzPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IDllY2FiOGM2MmJhNmNj
MGY5YzBiMjFlMTZiOWE1NmViNTQwZGNjYzYuLmI5ZjY4ODNmNTg2OWZlZTc1MWU3MDBhZWE5NWQw
NGFlOGY5NmZlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTgzLDExICs4Myw5IEBAIHB1YmxpYzoKICAg
ICBKU0M6OkpTVmFsdWUgcXVlcnlJbnN0YW5jZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6
Q2FsbEZyYW1lKik7CiAgICAgSlNDOjpKU1ZhbHVlIHF1ZXJ5SG9sZGVycyhKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgogICAgIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
KEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSosIFJlZjxJbmplY3RlZFNjcmlwdEhvc3Q+JiYpOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogCiAgICAgUmVmPEluamVjdGVkU2Ny
aXB0SG9zdD4gbV93cmFwcGVkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oCmluZGV4IGIwMjI4ZWZiODE5Mjc1
NmQ3NjA2MWNjNTAwNWQ3NDAxN2RkYWJkOTEuLjFiMDVmNDYzMDUyM2VmNmI1YzA0MGNjMGM5NWJm
ZDc2YzcxNWUxNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApAQCAtODYsMTIgKzg2LDEwIEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHNob3J0IEdMT0JBTF9MRVhJQ0FMX0VOVklS
T05NRU5UX1NDT1BFID0gNTsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHNob3J0IE5F
U1RFRF9MRVhJQ0FMX1NDT1BFID0gNjsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgogICAgIEpTSmF2YVNjcmlwdENhbGxGcmFtZShK
U0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBSZWY8SmF2YVNjcmlwdENhbGxGcmFtZT4mJik7CiAg
ICAgfkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlND
OjpWTSYpOwogCiAgICAgSmF2YVNjcmlwdENhbGxGcmFtZSogbV9pbXBsOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKaW5kZXggMzgxNGQ2OTZiYWM5MzEzNDc1ZWM3MjdhZmM0OTBkOWQwMWQwYjAyMy4u
YjM0ZjAxZWE4MmI3ODlhMGZlNmNjZjBkZmYxMTBlYTY4MGE1Njk0MiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAKQEAgLTQ2MCwxMSArNDYwLDggQEAgc3RhdGljIGlubGluZSBTdHJpbmcgc3RyaW5nRnJv
bVVURihjb25zdCBWZWN0b3ImIHV0ZjgpCiB9CiAKIGNsYXNzIEdsb2JhbE9iamVjdCBmaW5hbCA6
IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIEdsb2JhbE9iamVjdChWTSYs
IFN0cnVjdHVyZSopOwotCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0dsb2JhbE9iamVjdCBCYXNl
OworICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKIAogICAgIHN0YXRpYyBHbG9iYWxP
YmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgYXJndW1lbnRzKQogICAgIHsKQEAgLTQ4Myw3ICs0ODAsOSBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUnVudGltZUZsYWdzIGphdmFTY3JpcHRSdW50aW1lRmxhZ3MoY29uc3QgSlNH
bG9iYWxPYmplY3QqKSB7IHJldHVybiBSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKTsg
fQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEdsb2JhbE9iamVjdChWTSYsIFN0cnVjdHVy
ZSopOworCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBhcmd1bWVudHMpCiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuaAppbmRl
eCA3YTIyOTY0ZTFhMDQ1M2MwNTdkZmFjODliYjdmMmI1M2ZjMjZkNDNjLi44Yjg3NWRkMWFhMjBj
MmFjMjIyNDlmZGE5YTAwMDc5NTgwNjc3ZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmgKQEAgLTgxLDEwICs4MSw5IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIG1fZXJyb3JzOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBBZ2dyZWdhdGVFcnJvcihWTSYsIFN0cnVjdHVyZSosIGNvbnN0IE1hcmtlZEFy
Z3VtZW50QnVmZmVyJiBlcnJvcnMpOwogCi1wcml2YXRlOgogICAgIFZlY3RvcjxXcml0ZUJhcnJp
ZXI8VW5rbm93bj4+IG1fZXJyb3JzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yUHJvdG90eXBlLmgKaW5kZXggNzE0NWIyNTJj
NzdiMjlhMWI2MDg2NzQ3MjgwMjk5M2FiYzEyNzUzMC4uMzc4MzBmZDg0ZmVlZjVjMDdmZTBhY2Mx
M2MwMzU2YmUzMzg1NjUzMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BZ2dyZWdhdGVFcnJvclByb3RvdHlwZS5oCkBAIC0zNyw5ICszNyw2IEBACiBuYW1l
c3BhY2UgSlNDIHsKIAogY2xhc3MgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUgZmluYWwgOiBwdWJs
aWMgRXJyb3JQcm90b3R5cGVCYXNlIHsKLXByaXZhdGU6Ci0gICAgQWdncmVnYXRlRXJyb3JQcm90
b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBFcnJv
clByb3RvdHlwZUJhc2U7CiAKQEAgLTYyLDcgKzU5LDggQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gcHJvdG90eXBlOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBBZ2dyZWdh
dGVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDExOWZlYTBhNTJkMTUxMzhhNTA1
OWVhYjc1ZDQ5Yzc5OWUwY2Y3ODUuLjUzMGU2MzQ1MmQ4YmU5OTY0YTQ0YTRmOWQxMWNhZjZjODFk
YzVhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0
cnVjdG9yLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSW50ZXJu
YWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBBcnJh
eVByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCk7Ci0KIHByaXZhdGU6CiAg
ICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5UHJvdG90eXBlKiwgR2V0dGVyU2V0dGVy
KiBzcGVjaWVzU3ltYm9sKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgKaW5kZXggYTUyMDE1NGVhMWZmZDMz
MGE4YzE5YWEwNGQ5OGE0ZWJlNTY0YWJhMy4uNTNlZjY5YTU0ODJkZWVlMmU5NTUxZjhhYTgzMzZj
YmE3ZmZkMzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5oCkBAIC0yNSw5ICsyNSw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQXJy
YXlQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNBcnJheSB7Ci1wcml2YXRlOgotICAgIEFycmF5
UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0g
SlNBcnJheTsKIApAQCAtNDYsNyArNDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKERlcml2
ZWRBcnJheVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpLCBBcnJheUNsYXNzKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgQXJyYXlQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07
CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShBcnJheVByb3RvdHlwZSwgQXJy
YXlQcm90b3R5cGU6OkJhc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IGFmYjlhMjJlOWNmMDI3ZGFiMDhh
ZDliM2QzZGQ3ZTU5MTg2MTVlYWQuLjQ3ZTY3MjVlYWY2ODFkNWFjYzkzNmFiZjc2NzBhYjViYTdh
NzZmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVu
Y3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3lu
Y0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTU0LDExICs1NCw5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5m
byhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0
ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIEFzeW5j
RnVuY3Rpb25Qcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90
b3R5cGUuaAppbmRleCA0N2Q0NjQ0NzdmYWFjYTBlNDA2ZDBhMzQzOGU0ODU0YTU0MTQyMWRkLi45
MzViNzEwY2FiZGY0ZWMzMGUyYTliM2FjYjU3YzYyMzMyYTQ4ZTIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5j
dGlvblByb3RvdHlwZS5oCkBAIC01NCwxMSArNTQsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8oT2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBBc3luY0dlbmVy
YXRvckZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgKaW5kZXggNTIzYTU3OGNkMjRlODhlYjU0
NmFlNjQ3NGY0YzE1ZTE3ODQzNWQ0YS4uMDg2ZjVlZGYzNjE5MWMzNTYxODA2NTYwZDMxYmJhMjI2
ZDQwNzc0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWlj
c09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmpl
Y3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEF0b21pY3NP
YmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIEF0
b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2Ug
PSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC00OSw3ICs0Niw4IEBAIHB1YmxpYzoKICAgICAKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEF0b21pY3NPYmplY3QoVk0m
LCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jp
Z0ludENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRD
b25zdHJ1Y3Rvci5oCmluZGV4IDE4YzQ2MDY3MTY5NTM3ODI3YjIxMDkyMTM3MjMxZjY4Njk0NjM4
MTMuLjFiOTExYjkxN2MxYmNkODVjZDNlMmNkYjA4MGNiM2UxYzIyMDYzOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50Q29uc3RydWN0b3IuaApAQCAtNTIs
MTEgKzUyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1
Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIEJpZ0ludFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEJpZ0lu
dENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEJpZ0ludFByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEJpZ0ludENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50T2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaAppbmRleCBkZWNjZmRlNWZlNmVl
NWYyZGM0ZDA4NWQwZWMzMjA2MWQ3NTg3MWY3Li5lMjU5NTY3OWVkNTVhNDJjNGM1MmZlNjAxMTUy
ZmMxMzVlMGVkMWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9C
aWdJbnRPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRP
YmplY3QuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTVmFsdWUpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIEJpZ0ludE9iamVjdChWTSYsIFN0
cnVjdHVyZSopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JpZ0ludFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50
UHJvdG90eXBlLmgKaW5kZXggZDllNWYzZTJkZGY1YmQ3MDExNTAwNTRmMmFiNmUxYmQxODQ1NWVj
ZC4uN2M1MmU0YjE4NzRhYjQyZDc0OTIxNDc2MWIxYTYzMzc5ODBmYjkyZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKQEAgLTU2LDExICs1
Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBKU0dsb2JhbE9iamVjdCopOwotCiBwcml2YXRlOgogICAgIEJpZ0ludFByb3RvdHlwZShW
TSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IGVmYWZjYTg0ZTE3YjYw
NzBjNmRhZThjNTgxOWQyZGFkMDNkZGQ4YTUuLmU2M2I5NTA2NGYxNjZmMWU0YTFkNzQwNzA3OGIw
YjU2ZjhhZWM4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogICAg
IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBCb29sZWFuUHJv
dG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKFZNJiwgU3RydWN0
dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJvb2xlYW5Qcm90b3R5cGUqKTsK
IH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShCb29sZWFuQ29uc3RydWN0
b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Cb29sZWFuUHJvdG90eXBlLmgKaW5kZXggMmQyMDA4Y2E2MWIzOTA3NzAzM2Q2NGUzZjg1
OWE1YWY2ZjY4MjNmZS4uMGFhYjA1NTkxODhkZjUyMWNlZWYyOTM4Yjc4MzU1MGNhZGYyMmY3OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlw
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUu
aApAQCAtNDMsMTEgKzQzLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0KIHByaXZhdGU6CiAgICAgQm9v
bGVhblByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEJvb2xlYW5Qcm90b3R5cGUsIEJvb2xlYW5PYmplY3QpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0LmgKaW5kZXggNDY3MTk0MjAwNzMyNTI1
YzcxZmNiMDMyY2RkM2I2NTQ5MTYxMWI2Yy4uNGRkYWE1ZDU2MmFiNDgxZTg1ZDQ4ZTA5Njc2Nzgz
NzJiMDYyODc4YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29u
c29sZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbnNvbGVP
YmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIENvbnNv
bGVPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAg
IENvbnNvbGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJh
c2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC01Nyw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
VHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBDb25zb2xlT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4
IDkyYjhlZDNiYmM4NzI0NTA1Yzg3ZmFlYTAzYTc0OTRjODY0NDNkNzkuLmIzMjRlMDU5MTUzZjM1
YjQzNDljMjU2MjJlODc4N2Y4MDA1Y2RkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCkBAIC00NiwxMSArNDYsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIERh
dGVQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBEYXRlQ29uc3RydWN0b3IoVk0mLCBTdHJ1
Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgRGF0ZVByb3RvdHlwZSopOwog
fTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKERhdGVDb25zdHJ1Y3Rvciwg
SW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuaAppbmRleCBhODg4NmIxMGFiZjk2OTBlZjM4MjMxZjUxZWU1N2U0NjI3MWFm
ZDQ2Li5lZWFhZDM3Y2I0YTViNmM1NjE3Yjk3NjE3MjlhMDA2MjU5NzM5ZTdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCkBAIC0yNyw5ICsyNyw2
IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgT2JqZWN0UHJvdG90eXBlOwogCiBjbGFzcyBEYXRl
UHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewotcHJpdmF0ZToKLSAg
ICBEYXRlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBC
YXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRh
YmxlOwpAQCAtNTUsNyArNTIsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CisgICAgRGF0ZVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IDlhNWE0NjMyMWIzZGJiNzY0
YzJhMWI1MjFkOTI2OGY4ZDE0MzUzMzMuLjZlMWJlYWE2MTFlNzY3ZGViMzNlYjRiMWYwNjZjZWQx
ZWZiNWY1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNv
bnN0cnVjdG9yLmgKQEAgLTQ1LDE1ICs0NSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKElu
dGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogICAgIH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBFcnJvckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJl
Kik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEVycm9yUHJvdG90eXBlKik7CiAKICAg
ICBzdGF0aWMgYm9vbCBwdXQoSlNDZWxsKiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUs
IEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29sIGRlbGV0ZVByb3Bl
cnR5KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBEZWxldGVQcm9wZXJ0
eVNsb3QmKTsKLQotcHJpdmF0ZToKLSAgICBFcnJvckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJl
Kik7Ci0KIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShFcnJvckNvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmgKaW5kZXggYmExZTViNTI3M2RjOTk2OGI2ZDU4ZWM0NjNh
MGI0MWE1MDgyYjlmZi4uMjViZTA4NzQyYmI1ZjYyZTBkZWY2ODBmZDZjZTgzZDQ5YjNhYTA4OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCkBA
IC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHByb3RvdHlwZTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Zp
bGVCYXNlZEZ1enplckFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GaWxl
QmFzZWRGdXp6ZXJBZ2VudC5oCmluZGV4IGM5MjkxMWZkNDM5Y2FlZDI5ZGFmZWM2Y2M0MTZlNDFk
M2U3ZDRhNDMuLjc1ZTAzMzU3MTkxMDgwYzEzN2E0ODIzMjM4YjU0YTczYjRjOGYxYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdl
bnQuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBGaWxlQmFzZWRGdXp6ZXJBZ2VudCBmaW5hbCA6
IHB1YmxpYyBGaWxlQmFzZWRGdXp6ZXJBZ2VudEJhc2UgewogcHVibGljOgogICAgIEZpbGVCYXNl
ZEZ1enplckFnZW50KFZNJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgU3BlY3VsYXRl
ZFR5cGUgZ2V0UHJlZGljdGlvbkludGVybmFsKENvZGVCbG9jayosIFByZWRpY3Rpb25UYXJnZXQm
LCBTcGVjdWxhdGVkVHlwZSBvcmlnaW5hbCkgb3ZlcnJpZGU7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCA5NmIwMzRh
YmVmZWI5MWM1NzU0ZDE0YmQxMWU4MTAwYjZiOGNlYzJmLi41NmIyNzU0NTUyZTZjMjE5NzJhOWZh
YTllYjE0ZTk4NTlmYTFjYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTQ2LDExICs0Niw5IEBAIHB1YmxpYzoKIAogICAg
IERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCiBwcml2YXRlOgogICAgIEZ1bmN0aW9uUHJvdG90eXBl
KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0
cmluZyYgbmFtZSk7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoRnVu
Y3Rpb25Qcm90b3R5cGUsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKaW5kZXggZGU1ZTBiMDBkMzRjZGZj
MDcwOTU3ZjE0MDZiMzBiZGU1ZjZkYzgwNS4uOGVhNmFjMDZiYmIzNTJkOWQ4YjQ5NWU5NzQxODgx
NTNkYjZhNzk5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25SYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaApAQCAtMTM4LDEzICsxMzgsMTIgQEAgcHVibGljOgogICAgIFdhdGNocG9p
bnQqIGNyZWF0ZUFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50KCk7CiAgICAgY2xh
c3MgQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQ7CiAKLXByb3RlY3RlZDoKLSAg
ICBleHBsaWNpdCBGdW5jdGlvblJhcmVEYXRhKFZNJiwgRXhlY3V0YWJsZUJhc2UqKTsKLSAgICB+
RnVuY3Rpb25SYXJlRGF0YSgpOwotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9m
ZnNldHNFeHRyYWN0b3I7CiAKKyAgICBleHBsaWNpdCBGdW5jdGlvblJhcmVEYXRhKFZNJiwgRXhl
Y3V0YWJsZUJhc2UqKTsKKyAgICB+RnVuY3Rpb25SYXJlRGF0YSgpOworCiAgICAgLy8gSWRlYWxs
eSwgdGhlcmUgd291bGQgb25seSBiZSBvbmUgYWxsb2NhdGlvbiBwcm9maWxlIGZvciBzdWJjbGFz
c2luZyBidXQgZHVlIHRvIFJlZmxlY3QuY29uc3RydWN0IHdlCiAgICAgLy8gaGF2ZSB0d28uIFRo
ZXJlIGFyZSBzb21lIHByb3MgYW5kIGNvbnMgaW4gY29tcGFyaXNvbiB0byBvdXIgY3VycmVudCBz
eXN0ZW0gdG8gdXNpbmcgdGhlIHNhbWUgcHJvZmlsZQogICAgIC8vIGZvciBib3RoIEpTIGNvbnN0
cnVjdG9ycyBhbmQgc3ViY2xhc3NlcyBvZiBidWlsdGluIGNvbnN0cnVjdG9yczoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90
eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZS5oCmluZGV4IDQ4ZWJmZDM3Y2MxODczYWMwNDY5NzljYzJjZmZjZGE1MzA0M2YwZjgu
LjY1N2FiMDZkM2U4YWRhNmFhYjE5N2RhMjFjYzY5ZDVjZjRhZTY4NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Qcm90
b3R5cGUuaApAQCAtNTYsMTEgKzU2LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgog
ICAgIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZW5lcmljVHlwZWRBcnJheVZpZXcu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFycmF5Vmlldy5o
CmluZGV4IDgxZWQwOGE0NjdlNjk1ZGExNDliYmRlMWQwOGEzZDAxZjJkOTg2ZmQuLjRmODY0ZWQw
Y2IxZDI3ZmZmZThhZTM2ZTJkOTQ0NmJkZGJhYmExMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCkBAIC0zMiw5ICsz
Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogY2xh
c3MgR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEFycmF5QnVmZmVyVmlldyB7
Ci1wcm90ZWN0ZWQ6Ci0gICAgR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFJlZlB0cjxBcnJheUJ1ZmZl
cj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKLQogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8R2VuZXJpY1R5cGVkQXJyYXlWaWV3PiBjcmVhdGUodW5zaWduZWQgbGVu
Z3RoKTsKICAgICBzdGF0aWMgUmVmPEdlbmVyaWNUeXBlZEFycmF5Vmlldz4gY3JlYXRlKGNvbnN0
IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUqIGFycmF5LCB1bnNpZ25lZCBsZW5ndGgpOwpAQCAtMTE5
LDYgKzExNiw5IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBKU0FycmF5QnVmZmVyVmlldyogd3Jh
cChKU0dsb2JhbE9iamVjdCosIEpTR2xvYmFsT2JqZWN0Kikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6
CisgICAgR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWdu
ZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAppbmRleCA2ZDZlMWZmNTQ2NmUzY2UwMjE5MDZl
NzQyMDFmZTQ0NjM3MGE2MTdkLi45MzIzNmExMDRjZDU3ZDE0ODQ1MDU5ZWVlOTRmNTM2MmE2ODk5
ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFt
ZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdCBmaW5h
bCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2lu
ZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0
eVRhYmxlOwpAQCAtNjIsNyArNTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNhYmxlKFZNJik7
CiAgICAgYm9vbCBpc0VuYWJsZWQoVk0mKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
KyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmgKaW5kZXggMTI3YjVhZWI4
N2UxMzQ3MDMxZWZlYjA1MGVmZGJlZTYxNWE0OTY0Ni4uZjY2ZWNlMDA2Y2FmODI3OWNiNWI5MjIw
NjkyMDIyNDJkZmRkYTUyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bENvbGxhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bENvbGxhdG9yLmgKQEAgLTYyLDEyICs2MiwxMSBAQCBwdWJsaWM6CiAgICAgSlNCb3VuZEZ1bmN0
aW9uKiBib3VuZENvbXBhcmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kQ29tcGFyZS5nZXQoKTsg
fQogICAgIHZvaWQgc2V0Qm91bmRDb21wYXJlKFZNJiwgSlNCb3VuZEZ1bmN0aW9uKik7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bENvbGxhdG9yKFZNJiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFVz
YWdlIDogdWludDhfdCB7IFNvcnQsIFNlYXJjaCB9OwogICAgIGVudW0gY2xhc3MgU2Vuc2l0aXZp
dHkgOiB1aW50OF90IHsgQmFzZSwgQWNjZW50LCBDYXNlLCBWYXJpYW50IH07CiAgICAgZW51bSBj
bGFzcyBDYXNlRmlyc3QgOiB1aW50OF90IHsgVXBwZXIsIExvd2VyLCBGYWxzZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVj
dG9yLmgKaW5kZXggZjc3YWJlZTI4YmMzOWFmYWZhN2IxZWNkOGMyYWQ5MzNkMWMwZDIxMS4uNzkw
MWIyZjE0ZWQ4ZjI1NGJkZTg4NjliNzZjN2QxZTIxZmZkN2ZjMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5oCkBA
IC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBTdHJ1Y3R1cmUqIGNvbGxhdG9yU3RydWN0
dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPmNvbGxhdG9yU3RydWN0dXJl
KCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29s
bGF0b3JQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBJbnRsQ29sbGF0b3JDb25zdHJ1Y3Rv
cihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29s
bGF0b3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmgK
aW5kZXggZTA1ZmM4ZGE5OWYzOTkyMDRlOWQ4ZTgyYWY2OTM5NWIyMmE4NGQ3NS4uYTQxY2I1OWNl
Yjk2OGQ0NTFjNGI1ZjNiNzZkNzI5NzJlYzQ5MTI5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmgKQEAgLTQ3LDExICs0
Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsQ29sbGF0b3JQcm90
b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKaW5kZXggNzhlYzAyY2M0MTNhY2U4MjVhMjgwZTQ1
ZmQxZmEwYjIwZTQ2NGI1Zi4uN2I4YmM5NTRjM2UwMWY2YzQ5Y2Q5MThlMWNmNDgxNTNiNjUyNmE0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1l
Rm9ybWF0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1l
Rm9ybWF0LmgKQEAgLTYyLDEyICs2MiwxMSBAQCBwdWJsaWM6CiAgICAgSlNCb3VuZEZ1bmN0aW9u
KiBib3VuZEZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGb3JtYXQuZ2V0KCk7IH0KICAg
ICB2b2lkIHNldEJvdW5kRm9ybWF0KFZNJiwgSlNCb3VuZEZ1bmN0aW9uKik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9ybWF0KFZNJiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFdl
ZWtkYXkgOiB1aW50OF90IHsgTm9uZSwgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVudW0g
Y2xhc3MgRXJhIDogdWludDhfdCB7IE5vbmUsIE5hcnJvdywgU2hvcnQsIExvbmcgfTsKICAgICBl
bnVtIGNsYXNzIFllYXIgOiB1aW50OF90IHsgTm9uZSwgVHdvRGlnaXQsIE51bWVyaWMgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1h
dENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRp
bWVGb3JtYXRDb25zdHJ1Y3Rvci5oCmluZGV4IDJhMDYxZWMwZWRlNmNhYjk1OGM0YTUxYWQ3Yzk2
NTU5ZmU3MWExYTAuLjU1MDBjM2RiYjlkOGY3MTRlZDkwMGVhMWNmOGYwMDM1MTE4MWQyMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1h
dENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERh
dGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaApAQCAtNDUsMTEgKzQ1LDkgQEAgcHVibGljOgogCiAg
ICAgU3RydWN0dXJlKiBkYXRlVGltZUZvcm1hdFN0cnVjdHVyZShWTSYpIGNvbnN0IHsgcmV0dXJu
IGdsb2JhbE9iamVjdCgpLT5kYXRlVGltZUZvcm1hdFN0cnVjdHVyZSgpOyB9CiAKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90
eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IoVk0m
LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bERhdGVUaW1l
Rm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3Jt
YXRQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IDBlNDEwZGEwNjFkNmNlYzhiZWNjMWZhOGE4YjY2MDVm
ZGE4MjA1YjAuLmRmMTJkNDM0NmE1ZGZiODlmYmNhODQzZWQxMmU3MDUyYTk3NTZjZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdFByb3RvdHlwZS5oCkBAIC00NywxMSArNDcsOSBAQCBwdWJsaWM6CiAKICAgICBERUNM
QVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0K
IHByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVy
Rm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0
LmgKaW5kZXggOWYxMGI1ZDQzNjcwYjhkZTJmNmY0MGU0ZDc3MzM4NWUzNTZmMTgwMS4uMTM1N2U1
NzVjMWFkODk1NmM1YzFmNjlmOGYyMjFkMjRkMTMyNjRiZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuaApAQCAtNjYsMTIgKzY2LDExIEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGZvcm1hdFRvUGFydHNJbnRlcm5hbChKU0dsb2Jh
bE9iamVjdCosIGRvdWJsZSwgY29uc3QgU3RyaW5nJiBmb3JtYXR0ZWQsIFVGaWVsZFBvc2l0aW9u
SXRlcmF0b3IqLCBKU0FycmF5KiwgSlNTdHJpbmcqIHVuaXQgPSBudWxscHRyKTsKIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBJbnRsTnVtYmVyRm9ybWF0KFZNJiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFN0
eWxlIDogdWludDhfdCB7IERlY2ltYWwsIFBlcmNlbnQsIEN1cnJlbmN5IH07CiAgICAgZW51bSBj
bGFzcyBDdXJyZW5jeURpc3BsYXkgOiB1aW50OF90IHsgQ29kZSwgU3ltYm9sLCBOYW1lIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3Jt
YXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdENvbnN0cnVjdG9yLmgKaW5kZXggNWI1MjAwMjAyMTc3MmRkMGNiMjY2N2JkNTkxZWZj
YTNmZmM5ZTA5OC4uYzljMDA1ZWU4OGVlOGQ4MzQ3ZDBlZGUxZmM3Y2M0ODhjMmM0MGRkZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ1LDExICs0NSw5IEBAIHB1YmxpYzoKIAogICAgIFN0
cnVjdHVyZSogbnVtYmVyRm9ybWF0U3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFs
T2JqZWN0KCktPm51bWJlckZvcm1hdFN0cnVjdHVyZSgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bE51bWJlckZvcm1hdFByb3RvdHlwZSopOwotCiBw
cml2YXRlOgogICAgIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSop
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBl
Kik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bE51bWJlckZv
cm1hdENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5oCmlu
ZGV4IDY5ZGUyNDU0ODgzNTM5NWU4ZTZmYjJmMTUyNDlkOTNiMTU0MDZlZTMuLjYxNzVmOWRkMDkz
NzkyOWY4ZmViZGFjYmM0ZThmY2RkNDZiYzM3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ3
LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsTnVtYmVy
Rm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCmluZGV4IDA1NTQ3Zjg0YzRlNzBkOTUwNDgw
OWI5MWQ0NzUwYjMzZGU0M2UwYzkuLjdhYTUyZWQwOGE2MDZkY2FjNDBlZGI5ODQ0YTk3YjNmM2Jk
YjE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVy
YWxSdWxlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxS
dWxlcy5oCkBAIC01NywxMiArNTcsMTEgQEAgcHVibGljOgogICAgIEpTVmFsdWUgc2VsZWN0KEpT
R2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKTsKICAgICBKU09iamVjdCogcmVzb2x2ZWRPcHRp
b25zKEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bFBs
dXJhbFJ1bGVzKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
IAotcHJpdmF0ZToKICAgICBzdHJ1Y3QgVVBsdXJhbFJ1bGVzRGVsZXRlciB7CiAgICAgICAgIHZv
aWQgb3BlcmF0b3IoKShVUGx1cmFsUnVsZXMqKSBjb25zdDsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVj
dG9yLmgKaW5kZXggOTIyMzdkMTA2ZjhlMjc5ZDViMzRlZTNiMTkzMjc3N2EzNGZkZGE5NS4uN2Yz
ZDAzZmVjYTU2MWEwYTQ4NTdjODA4ZGVjYjNhZmM0YmMyM2Q5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rv
ci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBTdHJ1Y3R1cmUqIHBsdXJhbFJ1
bGVzU3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPnBsdXJhbFJ1
bGVzU3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUGx1
cmFsUnVsZXNDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJU
X0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3RvciwgSW50ZXJu
YWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxQbHVyYWxSdWxlc1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKaW5kZXggOWExYzJmMTY5MjA1ZDNhMWQzMmNm
YTNmOGRiNmE0NzAxOGYwZTFkOC4uNmZhYTNhNGY3OGFlYTU5ODQzMmNiMTMwMzdmMTAzNTkzNjI1
MDg0YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJh
bFJ1bGVzUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKQEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAg
IERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
KTsKLQogcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxh
dGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLmgKaW5kZXggYzhjY2ZmMjQxNGYz
MjZmMjM5MmI2YzNmM2FmY2JjZGMzMTBlZTFlNC4uOTZhZTc1YjM4YzMyZTFlMGEzZjEzNWI3OWFl
YjI2NzkxYmY5YTljZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ0
LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIFN0cnVjdHVyZSogcmVsYXRpdmVUaW1lRm9ybWF0
U3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPnJlbGF0aXZlVGlt
ZUZvcm1hdFN0cnVjdHVyZSgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgSW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZSopOwotCiBwcml2YXRlOgog
ICAgIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90
eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bFJlbGF0
aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGlt
ZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IGNjYmFlYThlNzVhNDgxMjg4MDgyYjU5MDgwYTBhZWRj
ZWU1MDczNTguLmUwMGViZjA2M2I5ZTU0NjhjY2QzMmQzNjg5YjBlMzE3ZWVjNjU2N2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3Jt
YXRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUmVs
YXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ2LDExICs0Niw5IEBAIHB1YmxpYzoKIAog
ICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlKFZN
JiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyLmgKaW5kZXggYmEyZTY3MjgzZTRjOGQ1NDMyNDFhYjA3MDM5YmU5MzFiNmEyMmM0MS4u
NmJlYTRjZmYxNDkxZjk5NGFiYzNlODA1NmU2YjQzYzQzMTUyNWRjZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXIuaApAQCAtNDAsMTIgKzQwLDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIHZtLmFycmF5QnVmZmVyU3BhY2U8bW9kZT4o
KTsKICAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAgSlNBcnJheUJ1ZmZlcihWTSYsIFN0cnVj
dHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgCi1wdWJsaWM6CisKICAgICAvLyBUaGlzIGZ1bmN0
aW9uIHdpbGwgcmVnaXN0ZXIgdGhlIG5ldyB3cmFwcGVyIHdpdGggdGhlIHZtJ3MgVHlwZWRBcnJh
eUNvbnRyb2xsZXIuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTQXJyYXlCdWZmZXIq
IGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7CiAKQEAgLTYx
LDEwICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBET00gdW53
cmFwcGluZy4gSXQgY2FsbHMgdG9VbnNoYXJlZEFycmF5QnVmZmVyKCkuCiAgICAgc3RhdGljIEFy
cmF5QnVmZmVyKiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKICAgICAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CisgICAgSlNBcnJheUJ1ZmZlcihWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1
ZmZlcj4mJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7
CisKICAgICBzdGF0aWMgc2l6ZV90IGVzdGltYXRlZFNpemUoSlNDZWxsKiwgVk0mKTsKIAotcHJp
dmF0ZToKICAgICBBcnJheUJ1ZmZlciogbV9pbXBsOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaAppbmRl
eCA0MzEzOWY2YzdmYjVkOTMwMmZiN2UzOTI0MGI1OGZlOWRhNzEwY2E2Li5mNjVlMDIwMTEyNmE2
NmU1MDhmZTE1MTFlZjcyNjNjOTA5ZDFmZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaApAQCAtMzgsMTMg
KzM4LDYgQEAgY2xhc3MgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciBmaW5hbCA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSW50ZXJu
YWxGdW5jdGlvbjsKIAotcHJvdGVjdGVkOgotICAgIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNB
cnJheUJ1ZmZlclByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCk7Ci0KLSAg
ICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RBcnJheUJ1ZmZl
cihKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwotCi1wdWJsaWM6CiAgICAgc3RhdGljIEpT
R2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUsIEdldHRlclNldHRl
ciogc3BlY2llc1N5bWJvbCkKICAgICB7CiAgICAgICAgIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29u
c3RydWN0b3IqIHJlc3VsdCA9CkBAIC01Nyw2ICs1MCwxMiBAQCBwdWJsaWM6CiAgICAgCiAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87IC8vIFRoaXMgaXMgbmV2ZXIgYWNjZXNzZWQg
ZGlyZWN0bHksIHNpbmNlIHRoYXQgd291bGQgYnJlYWsgbGlua2FnZSBvbiBzb21lIGNvbXBpbGVy
cy4KICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvKiBpbmZvKCk7CisKK3ByaXZhdGU6CisgICAg
SlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiwgR2V0dGVyU2V0
dGVyKiBzcGVjaWVzU3ltYm9sKTsKKworICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGNvbnN0cnVjdEFycmF5QnVmZmVyKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7
CiB9OwogCiB1c2luZyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgPSBKU0dlbmVyaWNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yPEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQ+OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlw
ZS5oCmluZGV4IGZiNDQ0ODdiMDgyODhhMzQ1NWRlYzQ2NmVmZDk4YzQ3ZDEyZTgzZjcuLmMwMGNi
NzE1YTQzMDc3YzE4Nzc5NGExMjAwMzQ0NWE2MTJjMzFlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmgKQEAgLTQw
LDE2ICs0MCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFj
ZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU0FycmF5QnVmZmVyUHJvdG90eXBlKFZNJiwg
U3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSk7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNBcnJh
eUJ1ZmZlclByb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
LCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlID0gQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVs
dCk7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUp
OworCitwcml2YXRlOgorICAgIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBBcnJheUJ1
ZmZlclNoYXJpbmdNb2RlKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBc3luY0dlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBc3luY0dlbmVyYXRvci5oCmluZGV4IDI3ZDUyNzkz
ZWYzZWI5NzgyMmJmYWI2ZTg0OTRlZTlkNzBlNmU3NTcuLjZhOTBlOTdhMzkzYWIyMmYwODE1ZDA4
ZmYyN2QxMWExM2RjODc3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXN5bmNHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FzeW5jR2VuZXJhdG9yLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIEpTQXN5bmNHZW5lcmF0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAppbmRleCBkOGQxNmM4ODU1OWJkZTVkOWI4MWE2
NmMxMDgxYjAwMDJhM2UxNGExLi5lNjQyYWUzMDQ4ZDEwOWI3NGVlMWRhNTVmZjU5MTQ3ZDE3YzY5
MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVu
Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rp
b24uaApAQCAtODAsMTMgKzgwLDExIEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAot
cHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZp
c2l0b3ImKTsKLQogcHJpdmF0ZToKICAgICBKU0JvdW5kRnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVjdCogdGFyZ2V0RnVu
Y3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU0ltbXV0YWJsZUJ1dHRlcmZseSogYm91bmRBcmdz
LCBKU1N0cmluZyogbmFtZU1heUJlTnVsbCwgaW50IGxlbmd0aCk7Ci0gICAgCisKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgpOworICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAg
IFdyaXRlQmFycmllcjxKU09iamVjdD4gbV90YXJnZXRGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJp
ZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uLmgKaW5kZXggODYz
ODViNDI3MTdhY2IwY2NmNmQyOGQ1MjBiMGYxMjhhOWUzMzIwNi4uMmUwYzc0NWY3NjgxZTFmNTRl
NWJlZDIxZWIyMjkyMzg2N2IzZGViMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24uaApAQCAtNTYs
MTIgKzU2LDEwIEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKLXByb3Rl
Y3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9y
Jik7Ci0KIHByaXZhdGU6CiAgICAgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbihWTSYsIE5h
dGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFR5cGUsIGNvbnN0
IFByb3BlcnR5TmFtZSYpOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgQ3VzdG9tR2V0dGVyU2V0dGVyKiwgY29uc3QgU3RyaW5nJik7CisgICAgc3RhdGlj
IHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25D
YWxsKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRGF0YVZpZXcuaAppbmRleCA5OGE4Y2M4YjM5OGZmZGQ3YTFjOTRiZTY1N2Y2
NTVlNmNjN2I5ZjcyLi5lZGY2MWQ1MjI2MTI2YTA2ZWFlMDJkOTQ5YTAzZjgxZjdiYjliYzE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlldy5oCkBAIC00MCwxMSAr
NDAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gdm0uZGF0YVZpZXdTcGFjZTxt
b2RlPigpOwogICAgIH0KLSAgICAKLXByb3RlY3RlZDoKLSAgICBKU0RhdGFWaWV3KFZNJiwgQ29u
c3RydWN0aW9uQ29udGV4dCYsIEFycmF5QnVmZmVyKik7Ci0gICAgCi1wdWJsaWM6CisKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNEYXRhVmlldyogY3JlYXRlKAogICAgICAgICBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQg
Ynl0ZU9mZnNldCwKICAgICAgICAgdW5zaWduZWQgYnl0ZUxlbmd0aCk7CkBAIC02OCw3ICs2NCwx
MyBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVk
QXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsKIAotcHJvdGVjdGVkOgorICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1
ZSBwcm90b3R5cGUpOworICAgIAorICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CisKK3ByaXZhdGU6
CisgICAgSlNEYXRhVmlldyhWTSYsIENvbnN0cnVjdGlvbkNvbnRleHQmLCBBcnJheUJ1ZmZlciop
OworCiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiwgSlNHbG9i
YWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29s
IHB1dChKU0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0
UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmpl
Y3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlw
dG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CkBAIC03NiwxMiArNzgsNiBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICBzdGF0aWMgdm9pZCBnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBK
U0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsKIAot
cHVibGljOgotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwotICAgIAotICAgIERFQ0xBUkVfRVhQT1JU
X0lORk87Ci0KLXByaXZhdGU6CiAgICAgQXJyYXlCdWZmZXIqIG1fYnVmZmVyOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5o
CmluZGV4IDViNjg1MDRhZGMzYmU1MDk2MjU4NjE1MTI0MmMzOTBlNjM2MGY5MGIuLjkxMmY3YTNi
Mjk1NDBiOWFjM2YxYjk4M2NlMmI0OWQ4YWExZWEzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmgKQEAgLTQxLDE3ICs0MSwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKICAgICB9
CiAKLXByb3RlY3RlZDoKLSAgICBKU0RhdGFWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMg
SlNEYXRhVmlld1Byb3RvdHlwZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKik7CiAgICAgCiAgICAg
REVDTEFSRV9JTkZPOwogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVy
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworCitwcml2YXRlOgor
ICAgIEpTRGF0YVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvci5oCmluZGV4IDZkNjFhYjU2YTQ4NzJiYmZkZTZh
MjllNzc2MTY3MmQ3M2MxN2I0MTcuLmZjNGMyZTUxYmMxNGI3ODcxM2M2OGU1Y2JlNWUyNDlmY2Zj
NzA3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJh
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmF0b3IuaApA
QCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNH
ZW5lcmF0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3LmgKaW5kZXggM2I3YmJkZTc2NWNlMWMzNTY1NTBlY2Q1OGI3N2ZlZDlk
NjEwNmY1Yy4uMzA2NGJlNWI3MWY5ZmU4MTYzMGM0MTI3OTlkZWEyZDFkZGQ1NTcwZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlldy5oCkBAIC05OSwxMSArOTksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJp
ZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVy
Y2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm87CiAK
ICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGVsZW1lbnRTaXplID0gc2l6ZW9mKHR5cGVu
YW1lIEFkYXB0b3I6OlR5cGUpOwotICAgIAotcHJvdGVjdGVkOgotICAgIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4dCYpOwotICAgIAotcHVibGljOgorCiAg
ICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KiBjcmVhdGUoSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBl
ZEFycmF5VmlldyogY3JlYXRlV2l0aEZhc3RWZWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCB1bnNpZ25lZCBsZW5ndGgsIHZvaWQqIHZlY3Rvcik7CiAgICAgc3RhdGljIEpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3KiBjcmVhdGVVbmluaXRpYWxpemVkKEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgdW5zaWduZWQgbGVuZ3RoKTsKQEAgLTI5Nyw5ICsyOTMsMTEgQEAgcHVibGljOgog
ICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5z
aGFyZWROYXRpdmVUeXBlZFZpZXcoKS4KICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0
b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKICAgICAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgZnJpZW5kIHN0cnVjdCBUeXBlZEFycmF5Q2xhc3NJbmZvczsKIAorICAg
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4dCYpOworCiAg
ICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHRocm93TmV1dGVyZWRUeXBlZEFycmF5VHlwZUVycm9y
KEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CiAKICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CkBAIC0zMTYsNyArMzE0LDYgQEAgcHJvdGVj
dGVkOgogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVkU2l6ZShKU0NlbGwqLCBWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgc3VjY2Vzc2Z1bCwgYW5kIGZhbHNlIG9uIGVy
cm9yOyBpdCB3aWxsIHRocm93IG9uIGVycm9yLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIE90aGVy
QWRhcHRvcj4KICAgICBib29sIHNldFdpdGhTcGVjaWZpY1R5cGUoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5
Vmlld0NvbnN0cnVjdG9yLmgKaW5kZXggMWZiNjBjYjhkMmM5YjBkZWMwYmU0NjZhOGExOWY0MTE5
ZDZhNzE5NC4uNGRjNGFlYTY4MTYzYTkzMWFiNThkNjEwNjg2YWNmMDg5MTA1OTIyYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaApAQCAtMzIsMTMgKzMyLDggQEAgbmFtZXNw
YWNlIEpTQyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3Q2xhc3M+CiBjbGFzcyBKU0dlbmVyaWNU
eXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24g
ewogcHVibGljOgotICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBJbnRlcm5hbEZ1bmN0aW9uOwogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBwcml2YXRlQWxsb2NhdG9yKTsKLQot
cHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKiBj
cmVhdGUoCiAgICAgICAgIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVj
dCogcHJvdG90eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogcHJp
dmF0ZUFsbG9jYXRvcik7CiAKQEAgLTQ4LDYgKzQzLDEwIEBAIHB1YmxpYzoKICAgICBJR05PUkVf
Q0xBTkdfV0FSTklOR1NfRU5ECiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworcHJpdmF0ZToK
KyAgICBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBGdW5jdGlvbkV4ZWN1dGFibGUqIHByaXZh
dGVBbGxvY2F0b3IpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuaAppbmRleCAzMjlkZDQzZWFiMWI0ZWZmMzdiYmMyZWMyNjE5MWJlMGFmNGVl
MjZkLi5lMDhkNjFlNGJhZWUzNGFmNDJlNTY1Yjk3MDVhNzBkNWVkZDNiZGFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1By
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKQEAgLTQxLDExICs0MSwxMCBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIAot
cHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSogY3Jl
YXRlKAogICAgICAgICBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4aWNhbEVudmly
b25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbExleGljYWxF
bnZpcm9ubWVudC5oCmluZGV4IDM2ZmViOTA0MDRkY2ZmMDQ5YTczZWIxYzRiOTE4MTNjNjQ2Mzg1
MmEuLjhiZWI5ZWQzZmJmZGUwOTRiY2Q3ZjA1MzU5ZTc0NmFkNmZiZTM3ZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52
aXJvbm1lbnQuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBqc051bGwoKSwgVHlwZUluZm8oR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0K
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudChW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Njb3BlKiBzY29wZSkKICAgICAgICAgOiBC
YXNlKHZtLCBzdHJ1Y3R1cmUsIHNjb3BlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5oCmluZGV4IDdkNDlmYWUyNDAyNmUyYjY1Zjc2NGJh
MWMxNGUxMWYwYjQwMGZmYjAuLjFlMDZiNzcwYTFmOGFjYmEzNDEwZGMyMWFlZTBmZmUwMWFlZTlj
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9h
ZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIu
aApAQCAtMzYsOCArMzYsNiBAQCBjbGFzcyBKU01vZHVsZVJlY29yZDsKIGNsYXNzIFNvdXJjZUNv
ZGU7CiAKIGNsYXNzIEpTTW9kdWxlTG9hZGVyIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmpl
Y3QgewotcHJpdmF0ZToKLSAgICBKU01vZHVsZUxvYWRlcihWTSYsIFN0cnVjdHVyZSopOwogcHVi
bGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhh
c1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC05Myw3ICs5MSw4IEBAIHB1YmxpYzoKICAgICBKU01v
ZHVsZU5hbWVzcGFjZU9iamVjdCogZ2V0TW9kdWxlTmFtZXNwYWNlT2JqZWN0KEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBtb2R1bGVSZWNvcmQpOwogICAgIEpTQXJyYXkqIGRlcGVuZGVuY3lLZXlz
SWZFdmFsdWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIGtleSk7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CisgICAgSlNNb2R1bGVMb2FkZXIoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiwgVk0mKTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5o
CmluZGV4IDgxMTM2NGRkMTdhMTNlN2VmYmZjZjFjOWUyODYzMGUyNDJhNzEyNGUuLmY4MTA3ZWQ1
YzZkODc3MzhmNjk5YmRiOTg0MGU1ZTMzMWQ2MzI3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaApAQCAtNjks
MTEgKzY5LDkgQEAgcHVibGljOgogCiAgICAgQWJzdHJhY3RNb2R1bGVSZWNvcmQqIG1vZHVsZVJl
Y29yZCgpIHsgcmV0dXJuIG1fbW9kdWxlUmVjb3JkLmdldCgpOyB9CiAKLXByb3RlY3RlZDoKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kiwg
QWJzdHJhY3RNb2R1bGVSZWNvcmQqLCBWZWN0b3I8c3RkOjpwYWlyPElkZW50aWZpZXIsIEFic3Ry
YWN0TW9kdWxlUmVjb3JkOjpSZXNvbHV0aW9uPj4mJik7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUg
SlNNb2R1bGVOYW1lc3BhY2VPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHJpdmF0ZToKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBKU01vZHVsZU5hbWVzcGFjZU9iamVjdChWTSYsIFN0cnVjdHVy
ZSopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxP
YmplY3QqLCBBYnN0cmFjdE1vZHVsZVJlY29yZCosIFZlY3RvcjxzdGQ6OnBhaXI8SWRlbnRpZmll
ciwgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRpb24+PiYmKTsKICAgICBzdGF0aWMgdm9p
ZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3RDb21tb24oSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05h
dGl2ZVN0ZEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05hdGl2
ZVN0ZEZ1bmN0aW9uLmgKaW5kZXggMzA0YTBmOTY5ZjdhN2Q3OTA0ODYwNDJkZTBhYzA1MGU0N2E3
YWQ5Zi4uMGEyMzYwZjNiODI3ZmE4NDQ5OGVhZDVhZDI4NTJiNDhlNmRlYTVjMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTmF0aXZlU3RkRnVuY3Rpb24uaApA
QCAtNjIsMTMgKzYyLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IE5hdGl2ZVN0ZEZ1bmN0aW9u
JiBmdW5jdGlvbigpIHsgcmV0dXJuIG1fZnVuY3Rpb247IH0KIAotcHJvdGVjdGVkOgotICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29u
c3QgU3RyaW5nJiBuYW1lKTsKLQogcHJpdmF0ZToKICAgICBKU05hdGl2ZVN0ZEZ1bmN0aW9uKFZN
JiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgTmF0aXZl
U3RkRnVuY3Rpb24mJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1
dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHN0YXRpYyB2b2lk
IHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIE5hdGl2ZVN0ZEZ1
bmN0aW9uIG1fZnVuY3Rpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
Tk9iamVjdC5oCmluZGV4IGNhOTdlN2U1YjQ5ZGZiY2E5YzQ2Zjc2MDliM2RiNzc3MWI1NGQwMDYu
LjkwYWYzNzJkYWI1MjZhMmQ4ZDFiYmViYjIxNWIzYzgyMTA2ZTY3NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKQEAgLTU1LDExICs1NSw5IEBAIHB1Ymxp
YzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBKU09OT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogSlNfRVhQT1JUX1BSSVZBVEUg
SlNWYWx1ZSBKU09OUGFyc2UoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDFmZDEyYjBjYTE0ZTg5MTQ0
ODVkMDliMGY0N2FiOTVkYWM1MDY1YjAuLmE2ODc4YTZhNGI0M2IzOGQ1OGUzZjM5Mjg2OTNhZDM3
MDI3OTJlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAt
MTE2NywyNCArMTE2NywyMyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCB2aXNpdENoaWxkcmVuQ29tbW9uKFNsb3RWaXNpdG9yJik7
Ci0gICAgICAgIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotICAgIHsKLSAgICAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZt
KS0+dG90YWxTdG9yYWdlQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUodm0pLT5pbmxpbmVDYXBhY2l0
eSgpKTsKLSAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwotICAgIH0KLQogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogCisgICAgdm9pZCB2aXNp
dENoaWxkcmVuQ29tbW9uKFNsb3RWaXNpdG9yJik7CisKICAgICBleHBsaWNpdCBKU0ZpbmFsT2Jq
ZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0g
bnVsbHB0cikKICAgICAgICAgOiBKU09iamVjdCh2bSwgc3RydWN0dXJlLCBidXR0ZXJmbHkpCiAg
ICAgewogICAgICAgICBnY1NhZmVaZXJvTWVtb3J5KGlubGluZVN0b3JhZ2VVbnNhZmUoKSwgc3Ry
dWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpICogc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSk7CiAgICAg
fQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0pCisgICAgeworICAgICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT50b3Rh
bFN0b3JhZ2VDYXBhY2l0eSgpID09IHN0cnVjdHVyZSh2bSktPmlubGluZUNhcGFjaXR5KCkpOwor
ICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CisgICAgfQogfTsKIAogSlNfRVhQT1JUX1BS
SVZBVEUgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcml2YXRlRnVuY0luc3Rh
bmNlT2YoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oCmlu
ZGV4IGI4Y2ZmYjRiNGU4MTI0OTMxNzgxODVkOGUxMTlkNzZlOGUyNmJiNTYuLjQwYjU2ZmIxZjFh
MzJlYzNiM2YwMzBhY2Q2YWU0NDEwNDQzZTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IuaApAQCAt
NTcsMTIgKzU3LDExIEBAIHB1YmxpYzoKIAogICAgIGludCBlbmRPZmZzZXQoKSBjb25zdCB7IHJl
dHVybiBtX2VuZE9mZnNldDsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJv
eShKU0NlbGwqKTsKLQogcHJpdmF0ZToKICAgICBKU1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcihW
TSYsIFJlZjxUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+JiYsIGludCk7CiAKKyAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQ2VsbCopOworCiAgICAgUmVmPFRlbXBsYXRlT2JqZWN0RGVzY3JpcHRv
cj4gbV9kZXNjcmlwdG9yOwogICAgIGludCBtX2VuZE9mZnNldCB7IDAgfTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3Rvci5oCmluZGV4IDM0YTgwNmE1OGUxMTU1MGIzYmQ2NjQ5NzhmZTM2NWRkYTNhOTEy
YTEuLmFhOGNkZTU5MTEzNWYyMGM1MzAzMTQ0NmNjYjRiOGFjYzQ4YzA2ZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3Rvci5oCkBAIC0zNCwxMyArMzQsOCBAQCBjbGFzcyBHZXR0ZXJTZXR0ZXI7CiAKIGNs
YXNzIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKKyAg
ICB1c2luZyBCYXNlID0gSW50ZXJuYWxGdW5jdGlvbjsKIAotcHJvdGVjdGVkOgotICAgIEpTVHlw
ZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUq
LCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpOwotCi1wdWJsaWM6CiAgICAgc3RhdGljIEpT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVHlwZWRBcnJheVZpZXdQcm90
b3R5cGUqIHByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKQogICAgIHsKICAg
ICAgICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKiByZXN1bHQgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I+KHZtLmhlYXApKSBKU1R5
cGVkQXJyYXlWaWV3Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CkBAIC01MSw2ICs0NiwxMCBA
QCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisK
K3ByaXZhdGU6CisgICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCk7CiB9Owog
U1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUeXBlZEFycmF5Vmlld0NvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRleCBk
MzhkOGI5NDExN2IyMTE3NjA2Zjk0YzBiYTIyNGYxZGM5YmZlY2NhLi43MmJiOTM0YjJkYTJlZWIx
MjljYWY3ODNlZTAyM2VkNmI0NWQwZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCkBAIC00MCwxNiAr
NDAsMTUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gJnZtLnBsYWluT2JqZWN0U3BhY2U7CiAg
ICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZShWTSYsIFN0
cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCop
OwotCi1wdWJsaWM6CiAgICAgc3RhdGljIEpTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAKICAgICBERUNMQVJFX0lORk87
CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworcHJpdmF0ZToKKyAgICBKU1R5cGVkQXJyYXlW
aWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3KEpTR2xvYmFsT2JqZWN0
KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXRoT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0
LmgKaW5kZXggZTVmMmZmMWY4NTZjMDcxNGI1ZWI4NjJkNzhhMDFmNTM4YTNiYWJlZC4uY2Q0ZTY0
N2QxZDk1MzM5ZWZjOTc2NjUzZmQwMmFkYTRiY2E3MzE3MyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApAQCAtMjUsOSArMjUsNiBAQAogbmFtZXNwYWNlIEpT
QyB7CiAKIGNsYXNzIE1hdGhPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
Ci1wcml2YXRlOgotICAgIE1hdGhPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgog
ICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC01Miw3ICs0OSw4IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBNYXRoT2JqZWN0KFZNJiwgU3Ry
dWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVF
eGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFeGVjdXRh
YmxlLmgKaW5kZXggOWYwNDNmYWQyZTYzYWFiZTRiYjYyYjVhZDc0OGZlYmQ2ZmY0ZTUyZi4uNzY2
Yzk2YWQ0MDQ5NjJiZjRmYTczYTE5ODFhYjg1OTg1YzE0MmM1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaApAQCAtNzYsMTEgKzc2LDkg
QEAgcHVibGljOgogICAgIGNvbnN0IERPTUpJVDo6U2lnbmF0dXJlKiBzaWduYXR1cmVGb3IoQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCkgY29uc3Q7CiAgICAgSW50cmluc2ljIGludHJpbnNpYygpIGNv
bnN0OwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZjxKSVRD
b2RlPiYmIGNhbGxUaHVuaywgUmVmPEpJVENvZGU+JiYgY29uc3RydWN0VGh1bmssIGNvbnN0IFN0
cmluZyYgbmFtZSk7Ci0KIHByaXZhdGU6CiAgICAgTmF0aXZlRXhlY3V0YWJsZShWTSYsIFRhZ2dl
ZE5hdGl2ZUZ1bmN0aW9uLCBUYWdnZWROYXRpdmVGdW5jdGlvbiBjb25zdHJ1Y3Rvcik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZjxKSVRDb2RlPiYmIGNhbGxUaHVuaywgUmVmPEpJ
VENvZGU+JiYgY29uc3RydWN0VGh1bmssIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAKICAgICBUYWdn
ZWROYXRpdmVGdW5jdGlvbiBtX2Z1bmN0aW9uOwogICAgIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIG1f
Y29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVy
Q29uc3RydWN0b3IuaAppbmRleCAwNjU3YzFmMWIzNDA3ZDRkNDU4ODc5MDZmNmVmNDIwZTNmMDVj
NTYyLi5mMjk5YWZiZTM5YzY2NmNiNDE2MmMxYjM1Njg5ZDQzYjM2MTcwNWI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKQEAgLTU3
LDExICs1Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHN0ZDo6aXNmaW5pdGUobnVtYmVy
KSAmJiB0cnVuYyhudW1iZXIpID09IG51bWJlcjsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTnVtYmVyUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAg
ICAgTnVtYmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgTnVtYmVyUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoTnVtYmVyQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCmluZGV4
IDJhY2ZkMTEzMjEzN2Q0OTRlYjNiYTIyNGZiMTRhYTEzYzRkZTA2ZjkuLjNlMDgzZWEzOGU0YjUy
ZDNlNTNmYmQ1YzBjMWY2YTc3YmIxMWUxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCkBAIC00MywxMSArNDMsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE51bWJlck9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsK
ICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBOdW1iZXJQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07
CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShOdW1iZXJQcm90b3R5cGUsIE51
bWJlck9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5oCmluZGV4IDZhYWI2ZDdhNWNkMjcwYjEwMDE4YTU5ZjE0NjI2N2U5ODM4
Y2U2OWIuLmRlNDM2Yzg5ZTA0M2I3NWNkZTE4ZjJhYjFkZmNjNzNjOWUxZGY2YzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAt
NTMsMTEgKzUzLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhJbnRlcm5hbEZ1bmN0aW9uVHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIE9iamVjdFByb3RvdHlwZSop
OwotCiBwcml2YXRlOgogICAgIE9iamVjdENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgT2JqZWN0UHJvdG90
eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoT2JqZWN0Q29u
c3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCmluZGV4IDU2YjVjYjAxODk1NGE2ZDc4NjY2ZDQ2
MmRiOWMzN2NhYTk1ZDczNmIuLjJkZjZkNmUyMWJjMTk0Mzc5OTliZGVhZmFhZWQyZjU5NjVjODkw
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlw
ZS5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBP
YmplY3RQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIEpTX0VYUE9SVF9QUklWQVRFIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoSlNHbG9iYWxPYmpl
Y3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50LmgKaW5kZXgg
ZDQyMmVhZDA1MTUwOTE3MmJkZjg5Nzc2YzE1MDFmNzhjMDMwYWNhZi4uNjE3MDI4ZDkyYzY0MTQ4
Y2JjMTMxMjFiODNkNzU0NjRiZDBlMjEzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFn
ZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enpl
ckFnZW50IGZpbmFsIDogcHVibGljIEZpbGVCYXNlZEZ1enplckFnZW50QmFzZQogcHVibGljOgog
ICAgIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudChWTSYpOwogCi1wcm90ZWN0ZWQ6
Citwcml2YXRlOgogICAgIFNwZWN1bGF0ZWRUeXBlIGdldFByZWRpY3Rpb25JbnRlcm5hbChDb2Rl
QmxvY2sqLCBQcmVkaWN0aW9uVGFyZ2V0JiwgU3BlY3VsYXRlZFR5cGUgb3JpZ2luYWwpIG92ZXJy
aWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVm
bGVjdE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVj
dC5oCmluZGV4IDc0MzhlNDhiNGE5NTBhMmRjMWRjZmVkOWJjZTQwYmQyMWU5ZDU4ZTguLjc0MTE5
NDcwMjc5ZWZiMmFhMTc2MzlmNDFjNmM0NzQ4YmM1MjJlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgKQEAgLTMwLDkgKzMwLDYgQEAKIG5hbWVz
cGFjZSBKU0MgewogCiBjbGFzcyBSZWZsZWN0T2JqZWN0IGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBSZWZsZWN0T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7
Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNTgsNyArNTUsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgUmVmbGVjdE9iamVjdChWTSYsIFN0cnVjdHVy
ZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAppbmRleCBmYWYwMjg5Y2JiMjFh
NzU3ZjM4ZmFiZDkyZWNjNDE4NmQ1M2ZkZDY1Li5kZDJlMWVmN2JjZWE5NmViOWUyY2Q2ZWI1ZTNm
YmVlY2FlMTZmN2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaApAQCAt
MTM5LDEyICsxMzksMTAgQEAgcHVibGljOgogCiAgICAgUmVnRXhwS2V5IGtleSgpIHsgcmV0dXJu
IFJlZ0V4cEtleShtX2ZsYWdzLCBtX3BhdHRlcm5TdHJpbmcpOyB9CiAKLXByb3RlY3RlZDoKLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IFJlZ0V4cENhY2hlOwogICAgIFJlZ0V4cChWTSYsIGNvbnN0IFN0cmluZyYsIE9wdGlvblNldDxZ
YXJyOjpGbGFncz4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIAogICAgIHN0YXRp
YyBSZWdFeHAqIGNyZWF0ZVdpdGhvdXRDYWNoaW5nKFZNJiwgY29uc3QgU3RyaW5nJiwgT3B0aW9u
U2V0PFlhcnI6OkZsYWdzPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGM0MDVlYmU5M2FhMmE1ZTg0NTYxYTUwMDM4ZjIz
ZjBiM2FiZDZmNDcuLmVmNzk4ODllM2E1ZDczY2M2YzY0MTA4YWY3YzFkNTIxZTUyZDZlMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
aApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZ0V4cFByb3RvdHlwZSosIEdl
dHRlclNldHRlciogc3BlY2llcyk7Ci0KIHByaXZhdGU6CiAgICAgUmVnRXhwQ29uc3RydWN0b3Io
Vk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgUmVnRXhwUHJv
dG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShSZWdFeHBDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggODU3
Y2EyZTcyYWYzNDBlYWUzNjU3MDFkNTVjYTA3ZWQ4M2UwYjE4My4uNzFiZjk4YjJmMzIyOWU1NmU1
ZmMxYjY0ZWNhYWJiMGE1ZTk5MDllYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBzaXplb2YoUmVnRXhwT2JqZWN0KTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVnRXhwT2JqZWN0KFZNJiwgU3RydWN0dXJlKiwgUmVn
RXhwKik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwog
CkBAIC0xNTAsNyArMTUwLDYgQEAgcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyB2b2lkIGdldEdlbmVyaWNQcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBz
aG91bGRUaHJvdyk7CiAKLXByaXZhdGU6CiAgICAgTWF0Y2hSZXN1bHQgbWF0Y2hJbmxpbmUoSlNH
bG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogCiAgICAgdWludHB0cl90IG1fcmVnRXhwQW5kTGFz
dEluZGV4SXNOb3RXcml0YWJsZUZsYWcgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oCmluZGV4IGY2ZDUxZWNlYThkYzg1ZDE0NmQ5YmY2
ZDQxZjRkMGJmMzA3YThiYzEuLmZlMTJjOWM0ZDI4NjUzNTJiODY0OWRmNzYwZmI1ZWIwNmI4MmYx
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3Rv
dHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlw
ZS5oCkBAIC01MSwxMCArNTEsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBSZWdF
eHBQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHJpdmF0ZToKKyAgICBSZWdFeHBQcm90
b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNH
bG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nUHJvdG90eXBlLmgKaW5kZXggNTM3YjBkMWM0ZDc5NGE2OTQzNjkzMzRiOTI5OTJhZDE3
YTNkMDZmYS4uZDEzMjFiNTQzMDkwYzFmZTFmZGM1NDEyMGVkZWU2ZmRiNzE1ODRhMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKQEAgLTMw
LDkgKzMwLDYgQEAgY2xhc3MgUmVnRXhwOwogY2xhc3MgUmVnRXhwT2JqZWN0OwogCiBjbGFzcyBT
dHJpbmdQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgU3RyaW5nT2JqZWN0IHsKLXByaXZhdGU6Ci0g
ICAgU3RyaW5nUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2lu
ZyBCYXNlID0gU3RyaW5nT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFi
bGU7CkBAIC00Niw3ICs0Myw4IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKKyAgICBTdHJpbmdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1N0cmluZyop
OwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFN0cmluZ1Byb3RvdHlw
ZSwgU3RyaW5nT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmgKaW5kZXggMWRiZGMwYzI3MWNiMzIxYmJmYjhlMTM0M2I5MjFkNjRmZDkyOTZhMS4uODdkZTdj
NWVkYTczYWU0NDFhZDUxNWY3NWRmZmFlNzNhYzQ0YzVmZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBwdWJsaWM6CiAKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc1ZhbGlkUHJvdG90eXBlKEpTVmFsdWUp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtMTczLDcgKzE3
Myw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQVNTRVJUKCF2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUp
OwogICAgIH0KIAotcHVibGljOgogICAgIFN0cnVjdHVyZUlEIGlkKCkgY29uc3QgeyByZXR1cm4g
bV9ibG9iLnN0cnVjdHVyZUlEKCk7IH0KICAgICBpbnQzMl90IG9iamVjdEluaXRpYWxpemF0aW9u
QmxvYigpIGNvbnN0IHsgcmV0dXJuIG1fYmxvYi5ibG9iRXhjbHVkaW5nU3RydWN0dXJlSUQoKTsg
fQogICAgIGludDY0X3QgaWRCbG9iKCkgY29uc3QgeyByZXR1cm4gbV9ibG9iLmJsb2IoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCA1MzBmZTUyM2ViNjYxYzVl
MTZmZDJkNTkyZWY3NzZlODc1MjQwNTM3Li40OTg5OGFkOTEzNjBmNGFmMzNiOTRhNjZiYjg4YTAz
ZjA1YmNkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAtNzEs
NyArNzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoU3ltYm9s
LCBtX3ByaXZhdGVOYW1lKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogICAgIFN5bWJvbChWTSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgKaW5kZXggMTk0
YTQ0ZWE0YmZmYTBiOTZiMzA1NzIwMjEyYzkzOWE4ZjMxNTNiNC4uNjM5NTM3ZDljZGZkYWVkMDZl
ODAxNGQyMWI3MmE5N2E5NmQ0MTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC01MiwxMSArNTIsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5
bWJvbFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFN5bWJvbENvbnN0cnVjdG9yKFZNJiwg
U3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5bWJvbFByb3RvdHlw
ZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFN5bWJvbENvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xPYmplY3QuaAppbmRleCA5Y2U0ODBjZGI2MDc4YjRjZDlkNDE2Yzg2MDc4NTVj
NTBmZmNiNDgyLi45NzcyYWIzMzg5OTRjYjFkOGFmMDdiYjRhZmJjZTA1MjhiNjk2MjIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaApAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBK
U09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5bWJvbCopOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIFN5bWJvbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFByb3RvdHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKaW5kZXgg
ZTIzNWYxMjQ4Y2EwNGE1MTQwMTczYmRiODE0MTIzNTc3OTIzNDM5MC4uODhhMmQ3ZGY5Y2RjMWFl
M2IwMTE0NzQ2Zjk2ZWZmMjc1ZjhhOTdlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFN5bWJvbFByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKaW5kZXggODQ0OWQ0NTdh
ZTUwOTNlMmE4YzdmMjhlNjY5Mzc5YTE1MjA4OTY3NC4uNGZjOTA3YWM0MjY2ZTliYzNhYjExYTgx
MTUxYzMyOGRhZTgzOWM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1UcmFwcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFw
cy5jcHAKQEAgLTI0NCw3ICsyNDQsNyBAQCBwdWJsaWM6CiAKICAgICBWTVRyYXBzJiB0cmFwcygp
IHsgcmV0dXJuIG1fdm0udHJhcHMoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFBv
bGxSZXN1bHQgcG9sbChjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlCiAgICAgewogICAg
ICAgICBpZiAodHJhcHMoKS5tX2lzU2h1dHRpbmdEb3duKQpAQCAtMjg4LDggKzI4OCw2IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgfQogICAgICAgICByZXR1cm4gV29ya1Jlc3VsdDo6Q29udGludWU7
CiAgICAgfQotICAgIAotcHJpdmF0ZToKIAogICAgIFZNJiBtX3ZtOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0UmVnRXhwLmNwcAppbmRleCA2N2IxNTUzMDg3N2UzOTYxYjZjMTZkZjgyN2E5MmQ0
ZGUwYjc5YTA4Li5iMmRiNjZkODE0NzM4YzJkN2U0NWVlNjg2MWZjNGI5ZmU5MDM2YzU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCkBAIC0xMDMsOSArMTAzLDYgQEAgc3RydWN0
IFJlZ0V4cFRlc3QgewogfTsKIAogY2xhc3MgR2xvYmFsT2JqZWN0IGZpbmFsIDogcHVibGljIEpT
R2xvYmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0dXJl
KiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cyk7Ci0KIHB1YmxpYzoKICAgICB1c2lu
ZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CiAKQEAgLTEyNCw3ICsxMjEsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgMCwgcHJvdG90eXBlLCBUeXBlSW5m
byhHbG9iYWxPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEdsb2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSosIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpOworCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewogICAgICAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUJCUVBsYW4uaAppbmRleCA1ZTJkZmRmZmM2MzAxYTU2Mjc0MGNmY2MyZTc0MWQ0ZjM2M2JmODI1
Li4yOTRhNzQzMDkxNTFjOTM4N2RlMWJkYTNkNGZjMjIwY2I4Nzc1YmFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKQEAgLTc1LDEyICs3NSwxMSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBCYXNlOjpwYXJzZUFuZFZhbGlkYXRlTW9kdWxlKG1fc291cmNlLmRh
dGEoKSwgbV9zb3VyY2Uuc2l6ZSgpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgYm9vbCBwcmVwYXJlSW1wbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGlsZUZ1bmN0aW9u
KHVpbnQzMl90IGZ1bmN0aW9uSW5kZXgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQ29tcGxldGVD
b21waWxhdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlOwogCi1wcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxlRnVuY3Rpb24odWlu
dDMyX3QgZnVuY3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVjdG9yPFVubGlua2Vk
V2FzbVRvV2FzbUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8SW50ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rpb25zOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oCmluZGV4IDQyZGU4MTMzYjcyZmM1
ZmU1MTk5YzE5ZjZlMzIzZTllMzdiMWM4ZTEuLjkzMzViM2EwNWI4MGNhZTQ1ZGI4OWNjYzQ4YzVi
YzE5YzFkNWVkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludFBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFu
LmgKQEAgLTc1LDEyICs3NSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGRpZFJlY2VpdmVGdW5j
dGlvbkRhdGEodW5zaWduZWQsIGNvbnN0IEZ1bmN0aW9uRGF0YSYpIG92ZXJyaWRlOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcHJlcGFyZUltcGwoKSBvdmVycmlkZTsKICAgICB2
b2lkIGNvbXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4KSBvdmVycmlkZTsKICAg
ICB2b2lkIGRpZENvbXBsZXRlQ29tcGlsYXRpb24oY29uc3QgQWJzdHJhY3RMb2NrZXImKSBvdmVy
cmlkZTsKIAotcHJpdmF0ZToKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uQ29k
ZUJsb2NrPj4gbV93YXNtSW50ZXJuYWxGdW5jdGlvbnM7CiAgICAgY29uc3QgUmVmPExMSW50Q2Fs
bGVlPiogbV9jYWxsZWVzIHsgbnVsbHB0ciB9OwogICAgIFZlY3RvcjxSZWY8TExJbnRDYWxsZWU+
PiBtX2NhbGxlZXNWZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtV29ya2xpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVdvcmts
aXN0LmNwcAppbmRleCA0YjU5NmQxYmVhYjkyYmZiZjRiNWFkMjIyOTMzMjNhMGFjMjIzYTViLi42
MTY5M2Y2OWRlNWVlYWRkOTY4MTc5MzlkM2UyOGVkMDhmM2YwZWQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGlj
OgogCiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFBvbGxSZXN1bHQgcG9sbChj
b25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBhdXRvJiBxdWV1
ZSA9IHdvcmtsaXN0Lm1fcXVldWU7CkBAIC0xMjEsNyArMTIxLDYgQEAgcHJvdGVjdGVkOgogICAg
ICAgICByZXR1cm4gIldhc20gV29ya2xpc3QgSGVscGVyIFRocmVhZCI7CiAgICAgfQogCi1wdWJs
aWM6CiAgICAgQ29uZGl0aW9uIHN5bmNocm9uaXplOwogICAgIFdvcmtsaXN0JiB3b3JrbGlzdDsK
ICAgICAvLyBXZSBjYW4gb25seSBtb2RpZnkgZWxlbWVudCB3aGVuIGhvbGRpbmcgdGhlIGxvY2su
IEEgc3luY2hyb25vdXMgY29tcGlsZSBtaWdodCBsb29rIGF0IGVhY2ggdGhyZWFkJ3MgdGFza3Mg
aW4gb3JkZXIgdG8gYm9vc3QgdGhlIHByaW9yaXR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseS5oCmluZGV4IDZhN2Y3M2M0NDcyMGYwNzEyMzc0NTU3NzU5
NDZmZjYxNTIyYTM4MWUuLjM2ZjcyZDU3MTg5ZmM2MzYxOWIyYThkYzA1MzJmYWVhZDk1NmNhOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5LmgKQEAg
LTUzLDExICs1Myw5IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9p
ZCB3ZWJBc3NlbWJseU1vZHVsZUluc3RhbnRpbmF0ZUFzeW5jKEpTR2xvYmFsT2JqZWN0KiwgSlNQ
cm9taXNlKiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIEpTVmFs
dWUgaW5zdGFudGlhdGUoSlNHbG9iYWxPYmplY3QqLCBKU1Byb21pc2UqLCBjb25zdCBJZGVudGlm
aWVyJiwgSlNWYWx1ZSk7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBKU1dlYkFzc2VtYmx5KFZNJiwg
U3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
Kik7CiB9OwogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5Q29tcGls
ZVN0cmVhbWluZ0ludGVybmFsKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVy
cm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGls
ZUVycm9yLmgKaW5kZXggOWY0YWQ4ODE3MzRiYzM1YWYzMzA5ZTAyNTE4YjIxMDA5MmU5NTBjOS4u
NzJmZDA0ZWU3NjAwMjQzODE2ZGFkNjQ3OTc0OGE2YjAxMTQxNTlhNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcihWTSYsIFN0
cnVjdHVyZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTV2Vi
QXNzZW1ibHlDb21waWxlRXJyb3IsIEVycm9ySW5zdGFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaAppbmRleCBiMmNj
MmFmNzk5YTQ2ZDE2MTNlNmIyZjRlMDJiYTA2MDIyNTI0MzBjLi5iZjQ3ZDA2MjE3MTdkODlhYmM4
NzBhMmNjYmVjMzIyZjA5MDI0OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaApAQCAtMTAxLDEyICsxMDEsMTEgQEAg
cHVibGljOgogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZHbG9iYWxPYmplY3QoKSB7IHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2dsb2JhbE9iamVjdCk7
IH0KICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mVk0oKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VU
T0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX3ZtKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgogICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIFJlZjxXYXNtOjpJ
bnN0YW5jZT4mJik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTV2ViQXNzZW1ibHlN
b2R1bGUqLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCopOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBSZWY8V2Fz
bTo6SW5zdGFuY2U+IG1faW5zdGFuY2U7CiAgICAgVk0qIG1fdm07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaAppbmRl
eCA1NWIxZDA4OGZlMDVlM2Y3NjI2ZjdhMzNhZThjOThkY2ZiNmRhZDk2Li43MTczN2RjYjU1NmIy
NDk2ZjdkYWYzZTcyMjE2YjUxZmNjMGZiMmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCkBAIC00Myw3ICs0Myw3
IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
ICAgICBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiwgU3RydWN0dXJlKik7CiB9OwogU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJseUxpbmtFcnJvciwgRXJy
b3JJbnN0YW5jZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmgKaW5kZXggMTVlZjliNzI1YjM0MWViYWY2ZWM5
Nzc2N2YzMjQ3ODk4NTg5ODA1Yy4uZDQwYmJkMGQ0NDNjNDBhYjBhMzUyZmQ4YzgyNTU4ZTAzODZl
ODNiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAKICAg
ICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNXZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvcihWTSYsIFN0cnVjdHVyZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NV
QlNQQUNFX1NIQVJBQkxFKEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IsIEVycm9ySW5zdGFuY2Up
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlD
b21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IDMyYjAyOGMwNzE0NzM3
YzZjNzJkNmQ5ZjE2NTM2MGQwNjdkNmFjMjUuLjA1ZGI0OGMzZTg5NzNmNDlmZjU4ZDRkYjRiZDdj
MWViOTRkNDRkNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmgKQEAgLTQ0
LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3Rv
dHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0
b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNz
ZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmgKaW5kZXggYTZjM2Q0
NDNhYjc3MjUwNWY2MzQ2NTNlYjg2MTZkYjdiNTc1MTkzYi4uNTZkZDQ4MjVjZDk0YTNlNTFhZTc5
M2M0NGI4MTk4ZGE2OGY4NzQxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5oCkBA
IC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNz
ZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29u
c3RydWN0b3IuaAppbmRleCA3ZmNmZWU0ODA1ZjdhNTU1NjVkNjQ3YzkwNTM3NmVhNjBiOGMyMmM0
Li5hMGZlNzgzYmY1MWNkMmY5MTllYmY0MDQ0N2ZkZDdmNTU3MGUyYzgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxD
b25zdHJ1Y3Rvci5oCkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lO
Rk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1i
bHlHbG9iYWxQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUdsb2JhbENv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IFdlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5j
dGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5R2xvYmFsUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oCmluZGV4IDJhOTg0NTYzYzMxYWZiNDlmNGVmMGJj
MmIwNmExMGU5YzQ1YWUxYTguLmFjNWJlOGEwY2VhYTJkY2NiYmMzYTcwYjc2YzFkNDE3ZTA5YTg4
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
R2xvYmFsUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlHbG9iYWxQcm90b3R5cGUuaApAQCAtNDgsMTEgKzQ4LDkgQEAgcHVibGljOgogCiAg
ICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlHbG9iYWxQ
cm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNl
Q29uc3RydWN0b3IuaAppbmRleCBjZDFlYmUzZWE3NzdmYWM2MGIyMGU4ZjU1OGMzNDM5OGE1YTY2
OGJhLi4xZGExYzgwYTE2OGY3OTE1OTU4NDk0ZWFmZWMxY2E0MjdkMjQwOTlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29uc3Ry
dWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUlu
c3RhbmNlQ29uc3RydWN0b3IuaApAQCAtNDgsMTEgKzQ4LDkgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogY3JlYXRlSW5zdGFuY2UoSlNHbG9iYWxPYmplY3Qq
LCBKU1dlYkFzc2VtYmx5TW9kdWxlKiwgSlNPYmplY3QqIGltcG9ydE9iamVjdCwgU3RydWN0dXJl
Kik7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1i
bHlJbnN0YW5jZVByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5SW5zdGFu
Y2VDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yLCBJbnRl
cm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oCmluZGV4IDI3MTJiMjc0NDM1
MGQ5NzE4ODQ5YWY3ZjdjNTU0MWEzZGEwYzk0YjguLjUxNWIwY2RiMTI5NGEzNmU0NjU2NDNiNjFl
NDFkN2RiZjA4NmE2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmgKQEAgLTQ5LDExICs0OSw5
IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUluc3RhbmNl
UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmgK
aW5kZXggNTkzN2JhNzVkYmY2NTRlNDEzZTRmZjcxMDVkMzk0YmJkNTU3ZDE5Zi4uNDI2NTczMWM3
YjU4MWYzYWVhYWFhNTFjNzY5NzA0NzJlZGQwMzExMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuaApAQCAtNDQsMTEgKzQ0LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5TGlu
a0Vycm9yUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlMaW5rRXJyb3JD
b25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBXZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IsIEludGVy
bmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaAppbmRleCAxODMxMGMzNWIw
M2UzYzgxYzJkY2NmMjIwY2UzYTJmMDdlZmNjM2E2Li5lOWY5MjJlNzI3ZjgyMGJiZGJkYWUxMWUx
N2ExZDAyNDYyNmYwNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgKQEAgLTQ5LDExICs0
OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUxpbmtF
cnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDNlYmUzZDQxYzQwNDM4OWYzZGY5OWM0ZGRlZTBkMGFlNDY2MGZjZGIuLmE5Y2NiMWI4ZWFj
MThkMWMxN2VmNDhmZjg5YWYzNmY1MWY2NjI2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmgK
QEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseU1lbW9yeVByb3Rv
dHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IoVk0m
LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlN
ZW1vcnlQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShXZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQ
cm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVt
b3J5UHJvdG90eXBlLmgKaW5kZXggODI2MDI3NjRhYzQ4ZmQyY2NlZjVlZmFjOGZkNTEwYTk2ZmNl
ZGY5MS4uZmU0NTU3ZjU5ODYxYzExMjcxNTBmNmU1ZjcwZjVmNWQ4ZTdmYWI4OCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9y
eVByb3RvdHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lO
Rk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZh
dGU6CiAgICAgV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxl
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TW9kdWxlQ29uc3RydWN0b3IuaAppbmRleCA1MWQ1NDVlZTcxNTY4MmMwYTNkYmNmNmQ2ODk1YTQ3
OGFiYWU3MDZiLi4yOWM5YzZiNzdlMWI2ODVlYWZkM2ZiM2ZmMjUwOTE3YTdmNzc0YTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlNb2R1bGVDb25zdHJ1Y3Rvci5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgSlNXZWJBc3NlbWJseU1vZHVsZSogY3JlYXRlTW9kdWxlKEpTR2xvYmFsT2JqZWN0Kiwg
Q2FsbEZyYW1lKiwgVmVjdG9yPHVpbnQ4X3Q+JiYgYnVmZmVyKTsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZSopOwot
CiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlNb2R1bGVQcm90
b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3Nl
bWJseU1vZHVsZUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUHJvdG90
eXBlLmgKaW5kZXggNzE5NmQxZWM3NDgyNDY1ZTVkZTAwNWU0Yzc1M2IwNmEzZDdjYWY1OS4uMWRi
Y2E5OWE2M2ZmNmM3ZmFhNjFlNTk5ZjViOGVhNDE1M2YyMDI3OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVByb3RvdHlw
ZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXBy
b3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAg
V2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29u
c3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCA3NjE0ZjI4OTU0ZWFiNDI4ODcwNjk4N2ZlYTgw
Zjk3OTIzODg1NjMzLi5mMzEyY2ZmYTA0NGVhZDhjZjIzYTRhMWUwN2VkNDAxZmQxM2JkODIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRp
bWVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC00NCwxMSArNDQsOSBAQCBw
dWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqKTsKLQogcHJp
dmF0ZToKICAgICBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0
dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5UnVudGltZUVy
cm9yUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oCmluZGV4IGExNDIwYmQ1ZWE4Mzc0YTk2NDll
MWFhNmZmZWEyNDhhMjEyY2QzY2MuLjMyZmQ2M2M4YTAyMjI5NjU3OTMwNmI0OTEzMGEzNjU5NjY4
ZmM4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaApAQCAtNDksMTEgKzQ5LDkg
QEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5UnVudGltZUVy
cm9yUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5oCmluZGV4
IGNmZmY2OTE3M2NlMGYxOTE0ODFjZmM4NmEyN2QwMWE2MWU0YWExMDIuLjIzNzA0NTA3ODQ3MWVl
ZTlmMTU3MGIwMDI2YmE3ZjVkOTJhMTRjNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5oCkBAIC00
NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoK
LSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZSop
OwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3RvcihWTSYsIFN0cnVj
dHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseVRhYmxlUHJv
dG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNz
ZW1ibHlUYWJsZUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlw
ZS5oCmluZGV4IGI3MWJkOWMwMWEzOTM1YjAxZjNkNDE3MWM2NGY4YjJhZDA1OTAxNDMuLjkyMWRk
MzY2MmZhZDkyZmI2YTdhZDE0NjhhNTFlYTFlNDIzNWI4ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmgK
QEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJB
c3NlbWJseVRhYmxlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24u
aAppbmRleCA1Mjk4ZWIxOWM1OTI2Mzc2NzYxZDNkMWFiYmMwMjllNDc3Njk4MDUyLi5lZGU5M2Fk
ZDkyNDRhZTc4ZDc3MTc4YWEzMzk5YWEzODE2MTA0YTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmgK
QEAgLTU2LDEzICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgV2FzbVRvV2FzbUltcG9ydGFibGVGdW5j
dGlvbiBpbXBvcnRhYmxlRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2ltcG9ydGFibGVGdW5j
dGlvbjsgfQogICAgIEpTT2JqZWN0KiBmdW5jdGlvbigpIHsgcmV0dXJuIG1fZnVuY3Rpb24uZ2V0
KCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKLQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVF
eGVjdXRhYmxlKiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUsIEpTT2JqZWN0
KiwgSlNXZWJBc3NlbWJseUluc3RhbmNlKik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlX
cmFwcGVyRnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBXYXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9uKTsKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIHVuc2lnbmVkIGxlbmd0aCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBKU09iamVjdCosIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSopOworICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFdy
aXRlQmFycmllcjxKU09iamVjdD4gbV9mdW5jdGlvbjsKICAgICAvLyBJdCdzIHNhZmUgdG8ganVz
dCBob2xkIHRoZSByYXcgV2FzbVRvV2FzbUltcG9ydGFibGVGdW5jdGlvbiBiZWNhdXNlIHdlIGhh
dmUgYSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgKaW5k
ZXggODE3YzIxZWNhYjFhZGEwODNhN2NjYTZhZDQxN2NiMmZlNzdjMDk0Ni4uMTA2YzFmYWYyZTQ0
ZTI3MDI4N2FiMDEwNmVkMjZlNWRiYzUzZGUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RT
ZWxlY3RlZEV2ZW50LmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBB
cHBsZVBheVBheW1lbnRNZXRob2QmIHBheW1lbnRNZXRob2QoKSB7IHJldHVybiBtX3BheW1lbnRN
ZXRob2Q7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBcHBsZVBheVBheW1lbnRNZXRo
b2RTZWxlY3RlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFBheW1lbnRNZXRo
b2QmKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgY29uc3QgQXBwbGVQYXlQYXltZW50
TWV0aG9kIG1fcGF5bWVudE1ldGhvZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
aAppbmRleCAwMzgwYzcxMDA1NmRiYmMwYTI0YmM4ZmIwYzdjNzJkMGI5MGVhMGIxLi41Yzk5ODZk
MWJiYWRlYThiNmQ5NjJhN2ZlNGUwNzZkMjViMjU5OTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hh
bnRFdmVudC5oCkBAIC00NCwxMyArNDQsMTIgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5n
JiB2YWxpZGF0aW9uVVJMKCkgY29uc3QgeyByZXR1cm4gbV92YWxpZGF0aW9uVVJMLnN0cmluZygp
OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50
RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlvblVSTCk7CiAKICAg
ICAvLyBFdmVudC4KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92
ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGNvbnN0IFVSTCBtX3ZhbGlkYXRpb25VUkw7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2Fj
eS9MZWdhY3lDRE1TZXNzaW9uQ2xlYXJLZXkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Npb25DbGVhcktleS5oCmluZGV4IGJjNzc3
ZjBjYmM4Y2U3Yjg5ZTk0M2I4YTYzZTRlNmU4Mjg5YjM4Y2YuLmZlNTM0NTkxYWQ3ZDU2MDBjNDE5
ZmFjNzk3MDRjNDFkNjY3MWI0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Npb25DbGVhcktleS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Np
b25DbGVhcktleS5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBib29sIHVwZGF0ZShV
aW50OEFycmF5KiwgUmVmUHRyPFVpbnQ4QXJyYXk+JiwgdW5zaWduZWQgc2hvcnQmLCB1aW50MzJf
dCYpIG92ZXJyaWRlOwogICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gY2FjaGVkS2V5Rm9yS2V5SUQo
Y29uc3QgU3RyaW5nJikgY29uc3Qgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCogbV9jbGllbnQ7CiAgICAgUmVmUHRyPFVpbnQ4QXJy
YXk+IG1faW5pdERhdGE7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3Rvcjx1aW50OF90Pj4gbV9j
YWNoZWRLZXlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25l
ci5oCmluZGV4IGRkMjFlNTU2NmNhNDgwN2Y4MzMxOGYzMjM3OTYwZWVmYzY4NDk1MmUuLjQ0MjA5
NjVmODU5M2VlZjhmNjllYjY2MmRkNDg3MjQ4MzYxYmY2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTExNSw3ICsxMTUsNiBAQCBwcml2
YXRlOgogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IGxvYWRlcjsKICAgICB9
OwogCi1wcm90ZWN0ZWQ6CiAgICAgT3B0aW9uYWw8RmV0Y2hCb2R5PiBtX2JvZHk7CiAgICAgU3Ry
aW5nIG1fY29udGVudFR5cGU7CiAgICAgYm9vbCBtX2lzRGlzdHVyYmVkIHsgZmFsc2UgfTsKQEAg
LTEyNCw3ICsxMjMsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKICAgICBSZWY8RmV0Y2hIZWFkZXJz
PiBtX2hlYWRlcnM7CiAKLXByaXZhdGU6CiAgICAgT3B0aW9uYWw8QmxvYkxvYWRlcj4gbV9ibG9i
TG9hZGVyOwogICAgIGJvb2wgbV9pc0JvZHlPcGFxdWUgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuaAppbmRleCBhZWY4
ZDY3ZTRhZGNiZDU3NTRiYjMzMDBiMWNlMDhlZWQ2Nzc2OGU5Li43YWUxNjFhMTYyYzMzY2EyMjBm
ZTZjZTIxNTdkYmQxNWE4NzQzMjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAg
IGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGRvdWJsZSBsYXRlbmN5VGlt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEJpcXVhZCBt
X2JpcXVhZDsKICAgICBCaXF1YWRQcm9jZXNzb3IqIGJpcXVhZFByb2Nlc3NvcigpIHsgcmV0dXJu
IHN0YXRpY19jYXN0PEJpcXVhZFByb2Nlc3Nvcio+KHByb2Nlc3NvcigpKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5o
CmluZGV4IDQxZTM2N2VhNTNmYjZiNjBkZDQ0YjlmYmNiMGI5MTU0OWMwY2ZmZGEuLjE5Nzk3ZGVi
ZjI3Njk0OWFkYTZiZjVjM2M1ZTg0NWNlOGU1YTYzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5oCkBAIC00OCw3ICs0
OCw3IEBAIHB1YmxpYzoKICAgICAvLyBPdmVyc2FtcGxpbmcgcmVxdWlyZXMgbW9yZSByZXNvdXJj
ZXMsIHNvIGxldCdzIG9ubHkgYWxsb2NhdGUgdGhlbSBpZiBuZWVkZWQuCiAgICAgdm9pZCBsYXp5
SW5pdGlhbGl6ZU92ZXJzYW1wbGluZygpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIC8v
IEFwcGx5IHRoZSBzaGFwaW5nIGN1cnZlLgogICAgIHZvaWQgcHJvY2Vzc0N1cnZlKGNvbnN0IGZs
b2F0KiBzb3VyY2UsIGZsb2F0KiBkZXN0LCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmgKaW5kZXggYjE1OTMwMzhhYjNmZTU0OTlmMWQzYjBkM2M5MjA5ZTY3MzhkOWRiYy4uOTk2MDFh
MDVkYmQ2MTRkOWNkYmI4NDk0NjczYjM4NzcwZGFjZDg0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0xMjYsMTMg
KzEyNiwxMiBAQCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKTsKICAgICAKLXBy
b3RlY3RlZDoKLSAgICB2b2lkIHJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJp
ZGUgeyByZWYoKTsgfQotICAgIHZvaWQgZGVyZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgp
IG92ZXJyaWRlIHsgZGVyZWYoKTsgfQotCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIFdl
YlNvY2tldENoYW5uZWwoRG9jdW1lbnQmLCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiwgU29ja2V0
UHJvdmlkZXImKTsKIAorICAgIHZvaWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBv
dmVycmlkZSB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CisKICAgICBib29sIGFwcGVuZFRvQnVmZmVyKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pOwogICAgIHZvaWQgc2tpcEJ1ZmZlcihzaXplX3Qg
bGVuKTsKICAgICBib29sIHByb2Nlc3NCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgKaW5kZXggMzU0ODc3YzU5MzQxYTRiNDYxMDFhMTUzMTRmOTEyMTQ3ZWIx
MGM4YS4uMzczZTcwZTg5ZjZmODFkNTM1Yjk4NGFjMmJmMzAxZTc5MDAwNWFmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTEwNywxMSArMTA3LDEwIEBAIHB1
YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsPjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWw+OjpkZXJlZjsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIHJlZlRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZvaWQg
ZGVyZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQog
Ci1wcml2YXRlOgogICAgIC8vIEJyaWRnZSBmb3IgUGVlci4gIFJ1bm5pbmcgb24gdGhlIHdvcmtl
ciB0aHJlYWQuCiAgICAgY2xhc3MgQnJpZGdlIDogcHVibGljIFJlZkNvdW50ZWQ8QnJpZGdlPiB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9u
LmgKaW5kZXggNzhjMjFjYTlhOTM3NGZlOGRiMTU2NGZlMWE2ODU0MGE5ZTE0NjlmOS4uZjAxMTUw
MTk3YjY3MGRlNzMyZTk2ZjBlMDdiN2M2OTYwMzUwZWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX2VuZGVkOyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgLy8gRXZlbnRUYXJnZXQKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBl
dmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFdlYlhSU2Vzc2lv
bkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBBY3RpdmVE
T01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCmluZGV4IGU5YWIxNWQ3YWVhNDQ1ZDEzMzJmYzIxMmE0
NTY4NDVkY2VkOWNlZTEuLmQwYmQ1NGJkYzY1ZmUyOWVkOWUyNzEwOTIwYmM1ZjRmYmU2NTY3YWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmgKQEAgLTU1LDcg
KzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgaXNTZXNzaW9uU3VwcG9ydGVkKFhSU2Vzc2lvbk1v
ZGUsIElzU2Vzc2lvblN1cHBvcnRlZFByb21pc2UmJik7CiAgICAgdm9pZCByZXF1ZXN0U2Vzc2lv
bihYUlNlc3Npb25Nb2RlLCBjb25zdCBYUlNlc3Npb25Jbml0JiwgUmVxdWVzdFNlc3Npb25Qcm9t
aXNlJiYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYlhSU3lzdGVtKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIC8vIEV2ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oCmlu
ZGV4IGU3ZmFlOTI5NmQ5MDMxMzY0N2Q1MTg2MjUxNzk0ZGY4ZDVhMDFmNmIuLjQ3NGVjZDYyOTdj
ZWU1ZjVhYzk5NjgxNjk2YzA3NDVlMGIzYmZhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oCkBAIC0zNywx
NSArMzcsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBBY2Nl
c3NpYmlsaXR5QVJJQUdyaWRDZWxsKFJlbmRlck9iamVjdCopOworCiAgICAgLy8gUmV0dXJucyB0
aGUgc3RhcnQgbG9jYXRpb24gYW5kIHJvdyBzcGFuIG9mIHRoZSBjZWxsLgogICAgIHN0ZDo6cGFp
cjx1bnNpZ25lZCwgdW5zaWduZWQ+IHJvd0luZGV4UmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKICAg
ICAvLyBSZXR1cm5zIHRoZSBzdGFydCBsb2NhdGlvbiBhbmQgY29sdW1uIHNwYW4gb2YgdGhlIGNl
bGwuCiAgICAgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gY29sdW1uSW5kZXhSYW5nZSgp
IGNvbnN0IG92ZXJyaWRlOwogCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlB
UklBR3JpZENlbGwoUmVuZGVyT2JqZWN0Kik7Ci0KICAgICBBY2Nlc3NpYmlsaXR5VGFibGUqIHBh
cmVudFRhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFy
ZW50Um93R3JvdXAoKSBjb25zdDsKICAgICB1bnNpZ25lZCBheFJvd1NwYW5XaXRoUm93SW5kZXgo
dW5zaWduZWQgaW5kZXgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5oCmluZGV4IGY3ZDNiMzI1ZTdhYWVkOGY2
YTZmNDcyZjY2MWIzMjdmNDljYjM0YTguLjNlOWJjZjA3YWVhYmQ2NzBkMzgwOTY0MGVlMDMxNjkx
MjM0YmEyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJsZVNldFZhbHVlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2libGVTZXRWYWx1ZUV2ZW50LmgKQEAgLTQxLDEzICs0MSwxMiBAQCBwdWJsaWM6CiAKICAg
ICBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBY2Nlc3NpYmxlU2V0VmFsdWVFdmVudChjb25zdCBB
dG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSk7CiAKICAgICAvLyBFdmVu
dC4KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50SW50ZXJmYWNlVHlwZTsgfQogCi1wcml2YXRl
OgogICAgIGNvbnN0IEF0b21TdHJpbmcgbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9DU1NBbmltYXRpb24uaAppbmRleCBjYmUwYjQyMGM2YzU2MjgxMjdkYWJiMmM3OWU2ZjM3
YmMzNDE3NThkLi4wMzU4YmVmZDgxY2RhNDI5ODA2YWMyNTcwOTkwNmIwYjg0MDY4MTM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oCkBAIC00NiwxMyArNDYsMTIgQEAg
cHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGxheSgpIGZpbmFsOwogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGF1c2UoKSBmaW5hbDsKIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgc3luY1Byb3BlcnRpZXNXaXRoQmFja2luZ0FuaW1hdGlvbigpIGZpbmFsOwotICAg
IFJlZjxBbmltYXRpb25FdmVudEJhc2U+IGNyZWF0ZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBTdHJpbmcmIHBzZXVkb0lkLCBPcHRp
b25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUpIGZpbmFsOwotCiBwcml2YXRlOgogICAgIENTU0Fu
aW1hdGlvbihFbGVtZW50JiwgY29uc3QgQW5pbWF0aW9uJik7CiAKKyAgICB2b2lkIHN5bmNQcm9w
ZXJ0aWVzV2l0aEJhY2tpbmdBbmltYXRpb24oKSBmaW5hbDsKKyAgICBSZWY8QW5pbWF0aW9uRXZl
bnRCYXNlPiBjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIGRvdWJsZSBl
bGFwc2VkVGltZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9JZCwgT3B0aW9uYWw8U2Vjb25kcz4gdGlt
ZWxpbmVUaW1lKSBmaW5hbDsKKwogICAgIFN0cmluZyBtX2FuaW1hdGlvbk5hbWU7CiAgICAgYm9v
bCBtX3N0aWNreVBhdXNlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1JlYWRhYmxlU3RyZWFtLmgKaW5kZXggOWZhNGQ5OTAyZWJmYzgzODA3NDBlYWQxMTY0MDc2
Y2JiYThiYTY4MC4uYTQzMzg5Y2NlMDFiNjNiODU3MjAwODgwNThiZDE1ZGNiMmM2Nzc3NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCkBAIC01Miw3ICs1
Miw3IEBAIHB1YmxpYzoKIAogICAgIEpTUmVhZGFibGVTdHJlYW0qIHJlYWRhYmxlU3RyZWFtKCkg
Y29uc3QgeyByZXR1cm4gZ3VhcmRlZCgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
UmVhZGFibGVTdHJlYW0oSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNSZWFkYWJs
ZVN0cmVhbSYgcmVhZGFibGVTdHJlYW0pIDogRE9NR3VhcmRlZDxKU1JlYWRhYmxlU3RyZWFtPihn
bG9iYWxPYmplY3QsIHJlYWRhYmxlU3RyZWFtKSB7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLmgKaW5kZXggNjIyOTYzNjhlYmI5MGM1MGI5ZGU3ZmEwNzgy
YzljNmZhMjg1OTE5OC4uMDY5YWJlMmU1NTg4YWM1NzQwN2ViZDA3YTJjNmY1ZDZkNDU0ZjdiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKQEAgLTEyNCwxMSAr
MTI0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBPYmpjRmFsbGJhY2tPYmplY3RJ
bXAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBPYmpjSW5zdGFuY2UqLCBjb25zdCBTdHJp
bmcmIHByb3BlcnR5TmFtZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVj
dCopOworCiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKICAgICBzdGF0aWMgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgcHV0KEpTQ2VsbCosIEpTR2xv
YmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IDI5ODEyYTY2ZDZmMDEyNGUzODM2
MjVmOTU2MDE5Y2EzM2JjM2JkOTEuLmM5ZjZmMGRlZDQ5YzhiYzQwNGIwNDA0ZGQ3YTdkODFiNjU4
NjgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtODQsMTEgKzg0
LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRGVyaXZlZEFycmF5VHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCksIEFycmF5Q2xhc3MpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBCaW5kaW5nczo6QXJyYXkqKTsKLQogcHJpdmF0ZToKICAg
ICBSdW50aW1lQXJyYXkoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgQmluZGluZ3M6OkFycmF5Kik7CisKICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgbGVu
Z3RoR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7
CiAgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCmluZGV4IDA0ZTc4OTJlNzY0Mjc0
N2ZkMWZlMzM3ODJjYWQ2ZmJmYzZmODZlYTMuLjAxZWE0YzVjNTRhMWI2ZmZiZWQzMzIzZjZiMzhk
YWQ0ODM1NTFlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZh
bHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaApAQCAtNjMs
MTIgKzYzLDExIEBAIHB1YmxpYzoKIAogICAgIFJlZjxDU1NJbWFnZVNldFZhbHVlPiBpbWFnZVNl
dFdpdGhTdHlsZXNSZXNvbHZlZChTdHlsZTo6QnVpbGRlclN0YXRlJik7CiAKLXByb3RlY3RlZDoK
LSAgICBJbWFnZVdpdGhTY2FsZSBiZXN0SW1hZ2VGb3JTY2FsZUZhY3RvcigpOwotCiBwcml2YXRl
OgogICAgIENTU0ltYWdlU2V0VmFsdWUoKTsKIAorICAgIEltYWdlV2l0aFNjYWxlIGJlc3RJbWFn
ZUZvclNjYWxlRmFjdG9yKCk7CisKICAgICB2b2lkIGZpbGxJbWFnZVNldCgpOwogICAgIHN0YXRp
YyBpbmxpbmUgYm9vbCBjb21wYXJlQnlTY2FsZUZhY3RvcihJbWFnZVdpdGhTY2FsZSBmaXJzdCwg
SW1hZ2VXaXRoU2NhbGUgc2Vjb25kKSB7IHJldHVybiBmaXJzdC5zY2FsZUZhY3RvciA8IHNlY29u
ZC5zY2FsZUZhY3RvcjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxL
ZXlnZW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
Y3BwCmluZGV4IGFlMWFhZWQyNmExYzY2OWZlN2VlMDdhOTY2NGMxN2JhNWY4YjE3NmIuLjc4MGI3
OTE5M2Q5ODc2MzJiNTkyYzliMjRkODU4MGI0ZWM2YThlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5Z2VuU2VsZWN0RWxlbWVudChkb2N1bWVudCkpOwog
ICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBLZXlnZW5TZWxlY3RFbGVtZW50KERv
Y3VtZW50JiBkb2N1bWVudCkKICAgICAgICAgOiBIVE1MU2VsZWN0RWxlbWVudChzZWxlY3RUYWcs
IGRvY3VtZW50LCAwKQogICAgIHsKQEAgLTYxLDcgKzYxLDYgQEAgcHJvdGVjdGVkOgogICAgICAg
ICBzZXRQc2V1ZG8ocHNldWRvSWQpOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBSZWY8RWxlbWVu
dD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbihEb2N1bWVudCYgdGFy
Z2V0RG9jdW1lbnQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gY3JlYXRlKHRhcmdl
dERvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oCmluZGV4
IDc2N2U0YmM0MmQwNjk0NjVkYjY3YTMwNDUxNWUyMjRlOGEwYzU2NjYuLjFmNjJjYjNmMTQwN2Mz
YjA3M2E5ZDVlNGRiMDAwNjRmNjYxMmQ0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xCdWZmZXIuaApAQCAtNjYsMTIgKzY2LDExIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFz
RXZlckJlZW5Cb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG9iamVjdCgpICYmIG1fdGFyZ2V0OyB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xCdWZmZXIoV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgR0NH
TGVudW0gbV90YXJnZXQgeyAwIH07CiAKICAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbV9l
bGVtZW50QXJyYXlCdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEZyYW1lYnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZy
YW1lYnVmZmVyLmgKaW5kZXggMzQyM2NlNjMzNzMxNmEzOGUwMDU1NzQ5N2ExNjk1YmQ4NDkwOTFk
OC4uNjNkNjNjZmRlMjIxNDdiNjM5YzM2ODA5MWJiMGQ1MzhjOTZmMmFkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaApAQCAtMTA1LDEyICsxMDUs
MTEgQEAgcHVibGljOgogCiAgICAgR0NHTGVudW0gZ2V0RHJhd0J1ZmZlcihHQ0dMZW51bSk7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xGcmFtZWJ1ZmZlcihXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAg
ICBXZWJHTEF0dGFjaG1lbnQqIGdldEF0dGFjaG1lbnQoR0NHTGVudW0pIGNvbnN0OwogCiAgICAg
Ly8gUmV0dXJuIGZhbHNlIGlmIGZyYW1lYnVmZmVyIGlzIGluY29tcGxldGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oCmluZGV4IDhjOGFkMjgzMTM0MTNiMDgxOTJj
NGZlMjRjNWVjMmUzZDZiMzFkNmYuLjg5MzZiNjlmNTNmMjAzZTJmMDdlYmNhOTcxZGE5ZWU5N2Vl
OGFiOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3Jh
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oCkBAIC03
MCwxMiArNzAsMTEgQEAgcHVibGljOgogICAgIGJvb2wgYXR0YWNoU2hhZGVyKFdlYkdMU2hhZGVy
Kik7CiAgICAgYm9vbCBkZXRhY2hTaGFkZXIoV2ViR0xTaGFkZXIqKTsKIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICBXZWJHTFByb2dyYW0oV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOwog
CiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKiwgUGxh
dGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgdm9pZCBjYWNoZUFjdGl2
ZUF0dHJpYkxvY2F0aW9ucyhHcmFwaGljc0NvbnRleHRHTE9wZW5HTCopOwogICAgIHZvaWQgY2Fj
aGVJbmZvSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xRdWVyeS5o
CmluZGV4IDc2MTg5ZTFjNGIwNmUyNDE4NjZmYTVlNjA3NThjOWUyY2VjNWRjNjAuLjRiZDZmMWMw
NDZmMTUzODhjYzU4MDFmNDE1NjFhNjkzZjMzYTNkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUXVlcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFF1ZXJ5LmgKQEAgLTQwLDExICs0MCwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IG1ha2VSZXN1bHRBdmFpbGFibGUoKSB7IG1faXNSZXN1bHRBdmFpbGFibGUgPSB0cnVlOyB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR0xRdWVyeShXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlJik7CiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAg
ICAgYm9vbCBtX2lzUmVzdWx0QXZhaWxhYmxlIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCmluZGV4IDMxZTkxMDI3OTIz
ZTI2ODQxNGY5MmNjYzg3ZTgxZWVkMjRjNDFmY2UuLmI1NTk3NDE0MjdmMWIxNDY5YmFiYzhiMmE0
ZWU4MGU4NWE4NWM3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyYnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJidWZmZXIuaApAQCAtNjIsMTIgKzYyLDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
SGFzRXZlckJlZW5Cb3VuZCgpIHsgbV9oYXNFdmVyQmVlbkJvdW5kID0gdHJ1ZTsgfQogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMUmVuZGVyYnVmZmVyKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UmKTsKIAogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRH
TE9wZW5HTCosIFBsYXRmb3JtR0xPYmplY3QpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGJv
b2wgaXNSZW5kZXJidWZmZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICBHQ0dMZW51bSBtX2ludGVybmFsRm9ybWF0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xTYW1wbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFNhbXBsZXIuaAppbmRleCAxZjBmNzdkMzEzZDJiZTUwODk5ZTU4ZDdmMTg5ZjJhZGFkOTM0
ZmMzLi5hMzI3MGExODM1OWM5Yjg1ODY4OTQzODc3YWU0MmY2NmJmOTczY2E0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaApAQCAtMzYsNyArMzYsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxXZWJHTFNhbXBsZXI+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlJik7CiAgICAgdmlydHVhbCB+V2ViR0xTYW1wbGVyKCk7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR0xTYW1wbGVyKFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UmKTsKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBmaW5hbDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFN5bmMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMU3luYy5oCmluZGV4IGY5MTdjN2FiNTUyOGQ2NjgwYjE5YmViZmRhNzMwOTVjODJmMjg4
ODQuLmRmNmIzNjU5MzM2OGRmZmYzZTBmNTJjNjk1NTkzMjVhMjQ0M2E0M2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU3luYy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMU3luYy5oCkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKIAog
ICAgIHN0YXRpYyBSZWY8V2ViR0xTeW5jPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZSYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMU3luYyhXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJhY2suaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJhY2suaAppbmRleCA4MTli
M2RiYTQxYzY2MDQ4MDNmNjNlNjkxZWUyNGFhMTRlMDEwM2ViLi5mNzAyYWVjMTkyZDdiYzY3M2My
MDMzMDI1NTEzMjNjMDQ1MWUyODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFRyYW5zZm9ybUZlZWRiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oCkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBSZWY8V2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz4gY3JlYXRlKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UmKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBXZWJHTFRy
YW5zZm9ybUZlZWRiYWNrKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKIAogICAgIHZvaWQg
ZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBsYXRmb3JtR0xPYmpl
Y3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xVbmlmb3JtTG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5p
Zm9ybUxvY2F0aW9uLmgKaW5kZXggOTMyNWYxYWM0ODc5ZTQxNmE2ZjEyZDFjYTcyZDdmNTRhZGMz
MjU5Zi4uZGI0NDhiNGZjMTFkNmY3MDFhMzIwODc4MmIyMDIzMjNmZWZkMmIyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oCkBAIC00
NSwxMCArNDUsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgR0NHTGVudW0gdHlwZSgpIGNvbnN0Owog
Ci1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMVW5pZm9ybUxvY2F0aW9uKFdlYkdMUHJv
Z3JhbSosIEdDR0xpbnQgbG9jYXRpb24sIEdDR0xlbnVtIHR5cGUpOwogCi1wcml2YXRlOgogICAg
IFJlZlB0cjxXZWJHTFByb2dyYW0+IG1fcHJvZ3JhbTsKICAgICBHQ0dMaW50IG1fbG9jYXRpb247
CiAgICAgdW5zaWduZWQgbV9saW5rQ291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCmluZGV4IDZlMWNiNWZkNDEzY2Fm
MmY3NGRlYWY1NzJmNjM0MzU2Y2Q3ZWFiOTUuLmVjY2Y5NDMxYTM3MTkzNzJjOTg2NzA3MzlhYjU1
ODFhYTJmOGYyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRD
b250cm9sSW5uZXJFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Rl
eHRDb250cm9sSW5uZXJFbGVtZW50cy5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNzIFRleHRDb250
cm9sSW5uZXJDb250YWluZXIgZmluYWwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoVGV4dENvbnRyb2xJbm5lckNvbnRhaW5lcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxUZXh0Q29udHJvbElubmVyQ29udGFpbmVyPiBjcmVhdGUoRG9jdW1l
bnQmKTsKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgVGV4dENvbnRyb2xJbm5lckNvbnRhaW5l
cihEb2N1bWVudCYpOwogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50
UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJp
ZGU7CiAgICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2ZUN1c3RvbVN0eWxl
KGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHNoYWRv
d0hvc3RTdHlsZSkgb3ZlcnJpZGU7CkBAIC00OCwxMSArNDgsMTAgQEAgY2xhc3MgVGV4dENvbnRy
b2xJbm5lckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFRleHRDb250cm9sSW5uZXJFbGVtZW50KERv
Y3VtZW50Jik7CiAgICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2ZUN1c3Rv
bVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUq
IHNoYWRvd0hvc3RTdHlsZSkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc01vdXNl
Rm9jdXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oCmluZGV4IDc3ODUy
MTdhOTM2MjYwY2YxZDIzNTZhZmRkMjJmODQ1NGEyMWQ4OTQuLjczZDM2MThlNWE0OGEzNzQ1NzYy
NmRkNTQ4ZGNlN2UzNmIxZGUxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclN0eWxlU2hlZXQuaApAQCAtMjM2LDcgKzIzNiw3IEBAIHB1YmxpYzoKICAgICBFeGNl
cHRpb25PcjxTdHJpbmc+IHRleHQoKSBjb25zdCBmaW5hbDsKICAgICBDU1NTdHlsZURlY2xhcmF0
aW9uKiBzdHlsZUZvcklkKGNvbnN0IEluc3BlY3RvckNTU0lkJiBpZCkgY29uc3QgZmluYWwgeyBB
U1NFUlRfVU5VU0VEKGlkLCAhaWQub3JkaW5hbCgpKTsgcmV0dXJuICZpbmxpbmVTdHlsZSgpOyB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGlu
ZVN0eWxlKEluc3BlY3RvclBhZ2VBZ2VudCosIGNvbnN0IFN0cmluZyYgaWQsIFJlZjxTdHlsZWRF
bGVtZW50PiYmLCBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlN0eWxlU2hlZXRPcmlnaW4sIExp
c3RlbmVyKik7CiAKICAgICBEb2N1bWVudCogb3duZXJEb2N1bWVudCgpIGNvbnN0IGZpbmFsOwpA
QCAtMjQ5LDcgKzI0OSw2IEBAIHByb3RlY3RlZDoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRT
dHlsZVRleHQoQ1NTU3R5bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAg
IFZlY3RvcjxzaXplX3Q+IGxpbmVFbmRpbmdzKCkgY29uc3QgZmluYWw7CiAKLXByaXZhdGU6CiAg
ICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgaW5saW5lU3R5bGUoKSBjb25zdDsKICAgICBjb25zdCBT
dHJpbmcmIGVsZW1lbnRTdHlsZVRleHQoKSBjb25zdDsKICAgICBSZWY8Q1NTUnVsZVNvdXJjZURh
dGE+IHJ1bGVTb3VyY2VEYXRhKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggY2FkOTk4OTAyOWViNzRjNzc1
Nzk3YzI4YjQ2YzA1OWRjNWRmN2I3MC4uMTYxMTllNTg2ZjZkMjRmM2UyNTAyNDY5ZDkyNDllMTg1
YjYxMGUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVk
U2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaApAQCAtNDgsMTAgKzQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBk
aXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIHZvaWQgZGlkQ3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgSW5zcGVjdG9yOjpJ
bmplY3RlZFNjcmlwdCYpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIFJlZlB0cjxDb21tYW5k
TGluZUFQSUhvc3Q+IG1fY29tbWFuZExpbmVBUElIb3N0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmgKaW5kZXggNWUxYWQ4NmQz
MDI2N2IzNjFjYmIxODhhNjM5Yzk0MDAwMzhjOWJiNi4uYWQzMGY4MWMwNTZjYTAyOGFiZjMzMzE5
NWIwYzVlY2FlZTUxMTFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZENTU1N0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5oCkBAIC02MCw3ICs2MCw2IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHNldEJvZHlEYXRhRnJvbShjb25zdCBDYWNoZWRSZXNvdXJjZSYpIGZpbmFsOwogCi1wcm90
ZWN0ZWQ6CiAgICAgdm9pZCBjaGVja05vdGlmeSgpIGZpbmFsOwogCiAgICAgUmVmUHRyPFRleHRS
ZXNvdXJjZURlY29kZXI+IG1fZGVjb2RlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCAzZDQzYTk0YmVh
OTU1NmM5OGRjNzQyM2FiN2VhZDlhOTJhNTJjNmZlLi5mMmFlMDc4NmFmZGUxNTExYzIxYzcyMDk2
OTBjZDU0MzRmMDM1OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0zNzEsNyArMzcxLDYgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzSGFkVXNlckludGVyYWN0aW9uIHsgZmFsc2UgfTsKICAgICB1
bnNpZ25lZCBtX2xvY2FsU3RvcmFnZVByZXdhcm1pbmdDb3VudCB7IDAgfTsKIAotcHJvdGVjdGVk
OgogICAgIFVuaXF1ZVJlZjxFdmVudEhhbmRsZXI+IG1fZXZlbnRIYW5kbGVyOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMTE2MWY5NmUxZWM2MDAyMjYzOWM2OWEwMTcyZTNkNTJi
OWZlYmE2My4uMzEzNTE3YjVmOTNlOTRiNmJkYzQ2Y2NlYmQ1NGU4MTU4YjQxMGQ2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC02NjksNyArNjY5LDkgQEAgcHVibGljOgogCiAgICAgU3Ry
aW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBGcmFtZVZpZXcoRnJhbWUmKTsKKwogICAgIGJvb2wgc2Nyb2xsQ29u
dGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYg
cmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7CiAgICAgdm9pZCBz
Y3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIGZpbmFsOwog
ICAgIApAQCAtNjc4LDkgKzY4MCw2IEBAIHByb3RlY3RlZDoKICAgICBib29sIGlzVmVydGljYWxE
b2N1bWVudCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNGbGlwcGVkRG9jdW1lbnQoKSBjb25z
dCBmaW5hbDsKIAotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGcmFtZVZpZXcoRnJhbWUmKTsKLQog
ICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGluaXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uc29sZUNsaWVudC5oCmluZGV4IDQ5MjliNDI1N2RiYmQ2ZTZmNDQ5YTc1MGY4NmYzYTll
MGEwYzFjM2UuLjUyMTcwN2E3NDUwYmJmMmMwZTJmODg1YTFkYjdkODU2N2NlYzlkMGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmKTsK
ICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwLCBEb2N1
bWVudCogPSBudWxscHRyKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIG1lc3Nh
Z2VXaXRoVHlwZUFuZExldmVsKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgY291bnQoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYgbGFiZWwp
IG92ZXJyaWRlOwogICAgIHZvaWQgY291bnRSZXNldChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29u
c3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CkBAIC04MCw3ICs4MCw2IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIHJlY29yZEVuZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEluc3BlY3Rvcjo6
U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcmVlbnNob3QoSlNDOjpK
U0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJp
ZGU7CiAKLXByaXZhdGU6CiAgICAgUGFnZSYgbV9wYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKaW5kZXggYTFjM2U2NjYy
Nzk1OGU0ODI3MjlkNzQ5Y2QzNTVjYjE5MWY0MGMxMC4uNDkyZTM5MTU1YzRhOWI3OGMxYzZkNmZl
ZTFjMmVlM2UwYmI2YmYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vS2V5ZnJhbWVBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9LZXlmcmFtZUFuaW1hdGlvbi5oCkBAIC02NSw3ICs2NSwxMCBAQCBwdWJsaWM6CiAKICAgICBP
cHRpb25hbDxTZWNvbmRzPiB0aW1lVG9OZXh0U2VydmljZSgpIG92ZXJyaWRlOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgorICAgIEtleWZyYW1lQW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYsIEVs
ZW1lbnQmLCBDb21wb3NpdGVBbmltYXRpb24mLCBjb25zdCBSZW5kZXJTdHlsZSYgdW5hbmltYXRl
ZFN0eWxlKTsKKyAgICB2aXJ0dWFsIH5LZXlmcmFtZUFuaW1hdGlvbigpOworCiAgICAgdm9pZCBv
bkFuaW1hdGlvblN0YXJ0KGRvdWJsZSBlbGFwc2VkVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBv
bkFuaW1hdGlvbkl0ZXJhdGlvbihkb3VibGUgZWxhcHNlZFRpbWUpIG92ZXJyaWRlOwogICAgIHZv
aWQgb25BbmltYXRpb25FbmQoZG91YmxlIGVsYXBzZWRUaW1lKSBvdmVycmlkZTsKQEAgLTk0LDEw
ICs5Nyw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgIHZvaWQgY2hlY2tGb3JNYXRjaGluZ0Nv
bG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogICAgIGJvb2wgY2hlY2tGb3JNYXRjaGluZ0ZpbHRl
ckZ1bmN0aW9uTGlzdHMoQ1NTUHJvcGVydHlJRCwgY29uc3Qgc3RkOjpmdW5jdGlvbjxjb25zdCBG
aWx0ZXJPcGVyYXRpb25zJiAoY29uc3QgUmVuZGVyU3R5bGUmKT4mKSBjb25zdDsKLQotcHJpdmF0
ZToKLSAgICBLZXlmcmFtZUFuaW1hdGlvbihjb25zdCBBbmltYXRpb24mLCBFbGVtZW50JiwgQ29t
cG9zaXRlQW5pbWF0aW9uJiwgY29uc3QgUmVuZGVyU3R5bGUmIHVuYW5pbWF0ZWRTdHlsZSk7Ci0g
ICAgdmlydHVhbCB+S2V5ZnJhbWVBbmltYXRpb24oKTsKICAgICAKICAgICAvLyBHZXQgdGhlIHN0
eWxlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHN1cnJvdW5kaW5nIHRoZSBjdXJyZW50IGFuaW1h
dGlvbiB0aW1lIGFuZCB0aGUgcHJvZ3Jlc3MgYmV0d2VlbiB0aGVtLgogICAgIHZvaWQgZmV0Y2hJ
bnRlcnZhbEVuZHBvaW50c0ZvclByb3BlcnR5KENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0
eWxlKiYgZnJvbVN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSomIHRvU3R5bGUsIGRvdWJsZSYgcHJv
Z3Jlc3MpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlLmgKaW5kZXggNThkZmY0NWE0OGFhMDE4NzEwN2UzNGE2YmM4NTQ5NjYzNDhjNmE4
Yy4uMzU5ZTAyNTk4MzFmZmU3Y2M2ZjQ5NzUyYmI4YjBiMTlkNGZjN2Q4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxQcm94eU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9u
aWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oCkBAIC00NSw3ICs0
NSw3IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGluZ05vZGVJRCBvdmVyZmxvd1Njcm9sbGluZ05v
ZGVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQ7IH0KIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKICAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5v
ZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2b2lkIGNvbW1pdFN0
YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCAyMjQzNzQ3YWMzN2Vm
YjUwMzU1OTdmMDJiNjQ4Y2MxODBhOTY2MzA4Li4xNjgwMzQ3MzZhN2QyNzY4OGVkZTQwOTlhZGQw
YzE4YzkxYTI4NjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgK
QEAgLTE0OSw3ICsxNDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUmVmUHRyPEF1ZGlvQnVz
PiBsb2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lLCBmbG9hdCBzYW1wbGVSYXRl
KTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBdWRpb0J1cygpIHsgfQogCiAgICAgQXVk
aW9CdXModW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0aCwgYm9vbCBhbGxv
Y2F0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAppbmRleCBkNDFlYzM3ODA4NzU1
MjNhNmY4MDUwMDIzOTQyYzhiZTg1NWU4ODFmLi43ZDZiOTdmZDA2ZDdkYzAyZmZhMmRmYzI2YzJl
Y2ZkN2U5MDJlNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Q
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKQEAgLTk4LDEw
ICs5OCw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgp
IGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3Qg
ZmluYWw7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQoKTsKIAotcHJpdmF0ZToKICAgICB2b2lkIHByb2dy
ZXNzRXZlbnRUaW1lckZpcmVkKCk7CiAgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxXVEY6OkF0b21T
dHJpbmc+JiBvYnNlcnZlZEV2ZW50TmFtZXMoKTsKICAgICBjb25zdCBXVEY6OkF0b21TdHJpbmcm
IGV2ZW50TmFtZUFsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggNWM5NmJkY2FlZTc1MzliNDA0MjQwMzZkOGNlMjA5NzQ5MDExOTMz
NS4uMWE5YTRiNTRhZWRmOTQ3MTkzYzJhYzU3ZmQzODM4ODQwZjdhZmU0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC0xNDMsNyArMTQz
LDcgQEAgcHVibGljOgogICAgIHZvaWQgaW1hZ2VGcmFtZUF2YWlsYWJsZUF0SW5kZXgoc2l6ZV90
KTsKICAgICB2b2lkIGRlY29kZShGdW5jdGlvbjx2b2lkKCk+JiYpOwogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIEJpdG1hcEltYWdlKE5hdGl2ZUltYWdlUHRyJiYs
IEltYWdlT2JzZXJ2ZXIqID0gbnVsbHB0cik7CiAgICAgV0VCQ09SRV9FWFBPUlQgQml0bWFwSW1h
Z2UoSW1hZ2VPYnNlcnZlciogPSBudWxscHRyKTsKIApAQCAtMTk1LDcgKzE5NSw2IEBAIHByb3Rl
Y3RlZDoKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiB0aWZmUmVwcmVzZW50YXRpb24oY29uc3Qg
VmVjdG9yPE5hdGl2ZUltYWdlUHRyPiYpOwogI2VuZGlmCiAKLXByaXZhdGU6CiAgICAgdm9pZCBj
bGVhclRpbWVyKCk7CiAgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIFN1
YnNhbXBsaW5nTGV2ZWwgc3Vic2FtcGxpbmdMZXZlbEZvclNjYWxlRmFjdG9yKEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0U2l6ZSYgc2NhbGVGYWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmgK
aW5kZXggNDU3NjVjODMxNDUyMWU0OGFjYjBmOWRiMzllYTAzZDRlYTZlYzNiMS4uYjhiZTgwNzY2
OTE3NWRmZGIxZTc1MDM3ZWUxNTM1MjE1MmNiMjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oCkBA
IC00NiwxMyArNDYsMTIgQEAgcHVibGljOgogCiAgICAgRmxvYXRTaXplIHNpemUoSW1hZ2VPcmll
bnRhdGlvbiA9IEltYWdlT3JpZW50YXRpb246OkZyb21JbWFnZSkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9jcm9zc2ZhZGVTaXplOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW1h
Z2VEcmF3UmVzdWx0IGRyYXcoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBkc3RS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25z
JiA9IHsgfSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQm
LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBw
aGFzZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9u
cyYgPSB7IH0pIG92ZXJyaWRlOwogCiAgICAgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UoSW1hZ2Um
IGZyb21JbWFnZSwgSW1hZ2UmIHRvSW1hZ2UsIGZsb2F0IHBlcmNlbnRhZ2UsIGNvbnN0IEZsb2F0
U2l6ZSYgY3Jvc3NmYWRlU2l6ZSwgY29uc3QgRmxvYXRTaXplJik7CiAKLXByaXZhdGU6CiAgICAg
Ym9vbCBpc0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZvaWQgZHVtcChXVEY6OlRleHRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL05hbWVk
SW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKaW5kZXggMDI4NWUxZjhiOWEyYTUxNjMyZGZjNGYz
NzBhMmEwY2Q2MTNkODBlMC4uNTk3OGM3M2E3NGU1YjRhYjEzMmUwNTU3ZTBlYjNjOWFlN2M4YzY2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFn
ZUdlbmVyYXRlZEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKQEAgLTM4LDEzICszOCwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShuYW1l
LCBzaXplKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEltYWdlRHJhd1Jl
c3VsdCBkcmF3KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0p
IG92ZXJyaWRlOwogICAgIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
RmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNv
bnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9
KSBvdmVycmlkZTsKIAogICAgIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShTdHJpbmcgbmFtZSwg
Y29uc3QgRmxvYXRTaXplJik7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc05hbWVkSW1hZ2VHZW5l
cmF0ZWRJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1
bXAoV1RGOjpUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25B
VkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDVkOGUyNTA3
NDcwYmM3YTQ5OTk1NWM5ODFiMTc2ZmY0NDRmYmM2ZGIuLjQzMThjMWI1NTY4ZjFiMDI1MTM4ODQx
OGY2M2IwYmE3NzBmMGNhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RN
U2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHBsYXllckRpZFJlY2VpdmVFcnJvcihOU0Vycm9yICopOwogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgogICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQz4g
bV9wYXJlbnQ7CiAgICAgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCogbV9jbGllbnQ7CiAgICAgU3Ry
aW5nIG1fc2Vzc2lvbklkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCA0OTA5ZmRkYTljYzhmODdhYWFjODM1ZGQxODhm
YWVjYTVjNjA2NTM1Li5iZThmYzNhNjU5YTQ1NTJiNzRhNmMzY2M2ZDgxOTViMTIxMjFjOWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQy5tbQpAQCAtNDAzLDcgKzQwMyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQXVkaW8oKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBtX2lzQXVkaW87IH0KICAgICBib29sIGlzVGV4dCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNUZXh0OyB9CiAgICAgCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIE1lZGlhRGVzY3JpcHRpb25BVkZPYmpDKEFWQXNzZXRUcmFjayogdHJhY2spCiAg
ICAgICAgIDogbV9pc1ZpZGVvKFt0cmFjayBoYXNNZWRpYUNoYXJhY3RlcmlzdGljOkFWTWVkaWFD
aGFyYWN0ZXJpc3RpY1Zpc3VhbF0pCiAgICAgICAgICwgbV9pc0F1ZGlvKFt0cmFjayBoYXNNZWRp
YUNoYXJhY3RlcmlzdGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY0F1ZGlibGVdKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUFu
aW1hdGlvbkNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2Nv
YS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaAppbmRleCA1MWVhODMzYzM1MmFlMThhOGMwZjRk
YzE5MThkZWE0OGVjYmU3ZTRkLi4yOWJkZTVlOWVjMzYyMzBhNDJhZThjN2Q2ZGM3NzVmYzQ5MjQ1
ZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2Nv
YS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaApAQCAtMTIzLDEx
ICsxMjMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGltaW5nRnVuY3Rpb25zKGNvbnN0IFZl
Y3Rvcjxjb25zdCBUaW1pbmdGdW5jdGlvbio+JiwgYm9vbCByZXZlcnNlID0gZmFsc2UpIG92ZXJy
aWRlOwogICAgIHZvaWQgY29weVRpbWluZ0Z1bmN0aW9uc0Zyb20oY29uc3QgUGxhdGZvcm1DQUFu
aW1hdGlvbiYpIG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFBsYXRmb3Jt
Q0FBbmltYXRpb25Db2NvYShBbmltYXRpb25UeXBlLCBjb25zdCBTdHJpbmcmIGtleVBhdGgpOwog
ICAgIFBsYXRmb3JtQ0FBbmltYXRpb25Db2NvYShQbGF0Zm9ybUFuaW1hdGlvblJlZik7CiAKLXBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPENBUHJvcGVydHlBbmltYXRpb24+IG1fYW5pbWF0aW9uOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2lu
L1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmgKaW5kZXggMTYyZDYyNmE2Njg1MDUw
YWI3N2U3ZTFhZDg3Y2I2MWFlZDhjODU4ZS4uMDhiYjdhNDBmZDMxMDRkMDQ5OTQ0NjI3OTMwYjA3
MDYyNDU3MjJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5oCkBAIC0xMTMsMTEg
KzExMywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUaW1pbmdGdW5jdGlvbnMoY29uc3QgVmVj
dG9yPGNvbnN0IFRpbWluZ0Z1bmN0aW9uKj4mLCBib29sIHJldmVyc2UgPSBmYWxzZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBjb3B5VGltaW5nRnVuY3Rpb25zRnJvbShjb25zdCBQbGF0Zm9ybUNBQW5p
bWF0aW9uJikgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgUGxhdGZvcm1D
QUFuaW1hdGlvbldpbihBbmltYXRpb25UeXBlLCBjb25zdCBTdHJpbmcmIGtleVBhdGgpOwogICAg
IFBsYXRmb3JtQ0FBbmltYXRpb25XaW4oUGxhdGZvcm1BbmltYXRpb25SZWYpOwogCi1wcml2YXRl
OgogICAgIFJldGFpblB0cjxDQUNGQW5pbWF0aW9uUmVmPiBtX2FuaW1hdGlvbjsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2Rl
ckNHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJD
Ry5oCmluZGV4IGFjZDBlZmNjNzc5ZTY0MTdlMjA4NzBlNzYxOTEzYTVhZTRiMDViM2QuLjQ0ODc1
M2RmYWE0NTI4MmVlYjkyNmQwOGJkZDU1NzY5MzA2NTYxMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaApAQCAtNjcsNyAr
NjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FsbERhdGFSZWNlaXZlZCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1faXNBbGxEYXRhUmVjZWl2ZWQ7IH0KICAgICB2b2lkIGNsZWFyRnJhbWVCdWZm
ZXJDYWNoZShzaXplX3QpIGZpbmFsIHsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJv
b2wgbV9pc0FsbERhdGFSZWNlaXZlZCB7IGZhbHNlIH07CiAgICAgUmV0YWluUHRyPENHSW1hZ2VT
b3VyY2VSZWY+IG1fbmF0aXZlRGVjb2RlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPT3JpZ2luYWxGb3JtYXRCb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oCmluZGV4
IDE4ODNiYTQ3YmRmM2E1MmFmYjJmZjdkMGRkNWNkOWRjZDdjZGQ4NzAuLjIyMWNiNjc0MDc4MTRh
Y2QxNjNjOGQxYmQwN2FlZTUxMDcwZTQyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oCkBAIC0z
NSw3ICszNSw3IEBAIHB1YmxpYzoKIAogICAgIEZvdXJDQyBkYXRhRm9ybWF0KCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhRm9ybWF0OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBw
YXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBG
b3VyQ0MgbV9kYXRhRm9ybWF0IHsgdWludDMyX3QgeyAwIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0Jv
eC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25T
Y2hlbWVJbmZvQm94LmgKaW5kZXggOGU1NjczZTA1MTZhNjUwMTRmNWNkNDlmNjFhYTdiNzUzOGQy
Y2FmNi4uYTZhMjQyYjNiYjI0N2NjZWY0ZTk0NTEzZDU3ZTg0OGNkYTFhOGU0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TY2hl
bWVJbmZvQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lT
T1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAg
IGNvbnN0IElTT1NjaGVtZVR5cGVCb3gqIHNjaGVtZVR5cGVCb3goKSBjb25zdCB7IHJldHVybiBt
X3NjaGVtZVR5cGVCb3guZ2V0KCk7IH0KICAgICBjb25zdCBJU09TY2hlbWVJbmZvcm1hdGlvbkJv
eCogc2NoZW1lSW5mb3JtYXRpb25Cb3goKSBjb25zdCB7IHJldHVybiBtX3NjaGVtZUluZm9ybWF0
aW9uQm94LmdldCgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwYXJzZShK
U0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBJU09Pcmln
aW5hbEZvcm1hdEJveCBtX29yaWdpbmFsRm9ybWF0Qm94OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZUluZm9ybWF0aW9uQm94LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lSW5mb3JtYXRpb25C
b3guaAppbmRleCBlOGVjMGM0YzY5Yjc0ZTgzMzQ0OTg5NDFmMjRlZWU0MTBmMmNkZDZlLi44OTM2
ZjMzODNiMWZjZDIwMjUzN2E3ZWYxMjg3ZDg2YWQ0MzI2NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lSW5mb3JtYXRpb25Cb3guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lSW5mb3Jt
YXRpb25Cb3guaApAQCAtMzUsNyArMzUsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBJU09Cb3gq
IHNjaGVtZVNwZWNpZmljRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1lU3BlY2lmaWNEYXRh
LmdldCgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwYXJzZShKU0M6OkRh
dGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SVNPQm94PiBtX3NjaGVtZVNwZWNpZmljRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lVHlwZUJveC5oCmluZGV4IDRiOGYy
NjMzNzUwZjhhZGY5MGJjMjdjMmQwY2YxNGVmOTgyYzE3M2EuLjFiNmFmY2UzYzVhMWRjMTdjNmM3
YzY2YzZkNDViNTU5Zjc1YmVlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5cGVCb3guaApAQCAtMzYsNyArMzYsNyBAQCBw
dWJsaWM6CiAgICAgRm91ckNDIHNjaGVtZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NjaGVtZVR5
cGU7IH0KICAgICB1aW50MzJfdCBzY2hlbWVWZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9zY2hl
bWVWZXJzaW9uOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwYXJzZShKU0M6
OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBGb3VyQ0MgbV9z
Y2hlbWVUeXBlIHsgdWludDMyX3QgeyAwIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3guaAppbmRl
eCA0N2ZhNDk3MjQ2YzcxNWJlMWQyY2VmOWIwZWE4N2RkN2Y3OWVmNTlmLi44MjM5NzQyMDQ2YTI2
YTkyZDhiYTdiNzlhMTFjOWVhZmUyZmVkOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVHJhY2tFbmNyeXB0aW9uQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oCkBA
IC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8dWludDhfdD4gZGVmYXVsdEtJRCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdEtJRDsgfQogICAgIFZlY3Rvcjx1aW50OF90PiBkZWZh
dWx0Q29uc3RhbnRJVigpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdENvbnN0YW50SVY7IH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmLCB1bnNp
Z25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIE9wdGlvbmFsPGludDhfdD4gbV9kZWZhdWx0
Q3J5cHRCeXRlQmxvY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pc28vSVNPVlRUQ3VlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lzby9JU09WVFRDdWUuY3BwCmluZGV4IDczN2RjMjQ0OTRjNWZhNGMyMzI3YjJiNzYwNDlkYWY2
NmY5OWQ4M2MuLmFhYzJiYWNjM2Q1M2JmMGViOWEzZmUwYzMwOWUwMmQ0OTI0NmM1YjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3Bw
CkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIElTT1N0cmluZ0JveCBmaW5hbCA6IHB1YmxpYyBJU09C
b3ggewogcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgY29udGVudHMoKSB7IHJldHVybiBtX2Nv
bnRlbnRzOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwYXJzZShKU0M6OkRh
dGFWaWV3JiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
dW5zaWduZWQgbG9jYWxPZmZzZXQgPSBvZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmgKaW5kZXggOWQ0NjQ1NmUwZmI0MTg3NGY4YWQy
YzI1ZmU5ZjgxYjY2MTg5MDQ5ZC4uN2ZhNjNjNzQzMTY1NjAzNWZlZjA5N2FmOWUxYjJkNDllNWZh
NTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lT
T1ZUVEN1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09W
VFRDdWUuaApAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICAgICAgfX07CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcGFyc2UoSlNDOjpEYXRhVmlldyYsIHVu
c2lnbmVkJiBvZmZzZXQpIG92ZXJyaWRlOwogCiAgICAgTWVkaWFUaW1lIG1fcHJlc2VudGF0aW9u
VGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9J
bWFnZURlY29kZXJEaXJlY3QyRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKaW5kZXggNGI2YmQ0MmM3NDQzNjJhMTJhZmQ5NzY2
ZjE2NmQ3MmE0NjE4NzYxMy4uNzZkN2FjYTkzZTM5MjQyN2IyNjUzNTRjYWYyZTMyZWVhY2NmMTdl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdl
RGVjb2RlckRpcmVjdDJELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIElXSUNJbWFnaW5nRmFjdG9yeTIqIHN5c3RlbUltYWdpbmdGYWN0b3J5KCk7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWxsRGF0YVJlY2VpdmVkIHsgZmFs
c2UgfTsKICAgICBtdXRhYmxlIEludFNpemUgbV9zaXplOwogICAgIENPTVB0cjxJV0lDQml0bWFw
RGVjb2Rlcj4gbV9uYXRpdmVEZWNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgK
aW5kZXggNWZmNGEzYTMxMDNhYjIwNzRjNDlmM2FiN2E4OGFlZTczMDU2OGFmZC4uYWJkZTNhOTRj
MDEyZTQxZTA0YmZkODIwYjA0MjA5YTI1MjBiYjNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNl
TWFuYWdlci5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVmcmVzaENh
cHR1cmVEZXZpY2VzKCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wg
aXNBdmFpbGFibGUoKTsKIAogICAgIEFWQ2FwdHVyZURldmljZU1hbmFnZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgKaW5kZXgg
MmNjNTMwZmUzNWQyZWRkYjJiODJlOTVkMWI2MjJmZjdiODdmYWRjOC4uYmUyMTAxNTQwNGJjNjYz
OGQ0NDZjZWIyMDZkODk4ZmY1ZDg3MDIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGlj
OgogICAgIGVudW0gVHJhY2tLaW5kIHsgQXVkaW8sIFZpZGVvLCBUZXh0IH07CiAgICAgVHJhY2tL
aW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKICAgICB1aW50OF90IG1fdHJhY2tJRDsKICAgICBTdHJpbmcgbV9jb2RlYzsKICAgICBUcmFj
a0tpbmQgbV9raW5kOwpAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVRpbWUg
ZHVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CiAgICAgY29uc3QgVmVjdG9y
PE1vY2tUcmFja0JveD4mIHRyYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tzOyB9CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CiAgICAgVmVjdG9y
PE1vY2tUcmFja0JveD4gbV90cmFja3M7CiB9OwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzRGVsYXllZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJc0RlbGF5ZWQ7
IH0KICAgICBib29sIGlzTm9uRGlzcGxheWluZygpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJ
c05vbkRpc3BsYXlpbmc7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBNZWRpYVRpbWUg
bV9wcmVzZW50YXRpb25UaW1lc3RhbXA7CiAgICAgTWVkaWFUaW1lIG1fZGVjb2RlVGltZXN0YW1w
OwogICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlLmNwcAppbmRleCAzMjg2OTE1YTZhZTA4YmJhZWJjMGE3YzE2NmExNmQ0NWQ4YmEzMGJh
Li5mNGRhZDAzNzEzMDMxODQ5ZTYzN2Y5N2JiMDc4ZDIzZmU4Njk4MWE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzQXVkaW8oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JveC5raW5kKCkg
PT0gTW9ja1RyYWNrQm94OjpBdWRpbzsgfQogICAgIGJvb2wgaXNUZXh0KCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9ib3gua2luZCgpID09IE1vY2tUcmFja0JveDo6VGV4dDsgfQogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIE1vY2tNZWRpYURlc2NyaXB0aW9uKGNvbnN0IE1vY2tUcmFj
a0JveCYgYm94KSA6IG1fYm94KGJveCkgeyB9CiAgICAgTW9ja1RyYWNrQm94IG1fYm94OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oCmluZGV4IDFlNTEz
OTUxMDNhNTU1ZjM0NjdhOTYyZDlmYzMzYThiZmU1YjZmMGMuLjAzNDU1ZDg2NjM1ZTJjOGYxMWYx
YWNlMTBkMTViODhjNDI5MzA0Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGdWxsU2NyZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZ1bGxTY3JlZW4uaApAQCAtNTIsNyArNTIsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5k
ZXJGdWxsU2NyZWVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wg
aXNGbGV4aWJsZUJveEltcGwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLXBy
b3RlY3RlZDoKICAgICBXZWFrUHRyPFJlbmRlckJsb2NrPiBtX3BsYWNlaG9sZGVyOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5kZXggYmQ0NDM3YTIyNjQ3MTc3ZWE1
NzkwYzk2ZmNiNmZlOWJlNzE4YjA4Yi4uZDcyNzhiMjY1ZWQ4M2UwMGZmOTRkZGFjNzFjZWU0ZTRj
OTk4MjdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC04MSwxNCAr
ODEsMTMgQEAgcHVibGljOgogCiAgICAgU3R5bGVDb250ZW50QWxpZ25tZW50RGF0YSBjb250ZW50
QWxpZ25tZW50KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgSXRlbVBvc2l0aW9uIHNlbGZBbGlnbm1lbnROb3JtYWxCZWhhdmlvcihj
b25zdCBSZW5kZXJCb3gqIGNoaWxkID0gbnVsbHB0cikgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAg
ICAgICAgIEFTU0VSVChjaGlsZCk7CiAgICAgICAgIHJldHVybiBjaGlsZC0+aXNSZW5kZXJSZXBs
YWNlZCgpID8gSXRlbVBvc2l0aW9uOjpTdGFydCA6IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKICAg
ICB9CiAKLXByaXZhdGU6CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGJvb2wgaXNSZW5kZXJHcmlkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0IG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQu
aAppbmRleCBlZjljMDVlMjhlZDlmM2U1MmM5MjllYWFiNDg2OTRkZTBlMzFhZWUyLi5mNzNiZjkw
YTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtMTI5LDEwICsxMjksOSBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0UmVjdCBjb2x1bW5SZWN0QXQodW5zaWduZWQgaW5kZXgpIGNvbnN0
OwogICAgIHVuc2lnbmVkIGNvbHVtbkNvdW50KCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZh
dGU6CiAgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpIG92ZXJyaWRlOwogICAgIAot
cHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKaW5kZXggZTBmMTcyMTY2ZDc5ZTkyNWI2YmJkNTA5
N2Y4NDAyNGVkMTI2ZTBhZS4uYTNhMWMwMjQ0NjgzYTg3YTNkZWRiNTlhNDQ2MWRhZmVhODBkMzlh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCkBAIC01NiwxMCArNTYsOSBA
QCBwdWJsaWM6CiAgICAgUmVuZGVyUnVieUFzSW5saW5lKEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYm
KTsKICAgICB2aXJ0dWFsIH5SZW5kZXJSdWJ5QXNJbmxpbmUoKTsKIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBib29sIGlzUnVi
eUlubGluZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBjb25zdCBjaGFyKiBy
ZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlclJ1YnkgKGlubGluZSki
OyB9CiAgICAgYm9vbCBjcmVhdGVzQW5vbnltb3VzV3JhcHBlcigpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KQEAgLTc0LDEwICs3Myw5IEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnQm
IGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxFbGVtZW50Pihub2RlRm9yTm9uQW5v
bnltb3VzKCkpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENo
YW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJp
ZGU7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc1J1YnlCbG9jaygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gIlJlbmRlclJ1YnkgKGJsb2NrKSI7IH0KICAgICBib29sIGNyZWF0ZXNBbm9ueW1v
dXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgKaW5kZXggOGY4YjllOTFiNjdi
ZmY3YTllOTNkMGExMzQ1YWI4YTM4N2MxNmQ1OC4uN2RmYzRiM2E1YzI2NmYyYTNjYTY0ZDVjNDc3
YWFhYzAyN2UyYmNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclBhcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Ny
b2xsYmFyUGFydC5oCkBAIC01NSwxMSArNTUsMTAgQEAgcHVibGljOgogCiAgICAgUmVuZGVyQm94
KiByZW5kZXJlck93bmluZ1Njcm9sbGJhcigpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJT
dHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgaW1hZ2VDaGFuZ2VkKFdyYXBwZWRJ
bWFnZVB0ciwgY29uc3QgSW50UmVjdCogPSBudWxscHRyKSBvdmVycmlkZTsKIAotcHJpdmF0ZToK
ICAgICBib29sIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KICAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxi
YXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1l
LmgKaW5kZXggNjFjNzZmODVhMjJjMGUzNTA3NmY2NGFiYzA2ZjExYmYwY2FmN2I4Yi4uOWNjZWY0
NmY5MmFmZDQ2YTRhM2IyZmViNDU4MDJmMTE2ODM0MmZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVi
bGljOgogICAgIAogICAgIHN0YXRpYyBSZW5kZXJTY3JvbGxiYXJUaGVtZSogcmVuZGVyU2Nyb2xs
YmFyVGhlbWUoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIGhhc0J1dHRvbnMo
U2Nyb2xsYmFyJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNUaHVtYihTY3JvbGxiYXImKSBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4
IDI1YWI2MzUxZjlkYzE5MmQ2OWQ1NzUwNDdmYzdkMmVjMzYyY2NkNjUuLmZkZmY0NWQ3NDc1NDg1
M2NjYzZhOGZjMWM4ZjExNWFlZjU2ZDFiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmgKQEAgLTEzNCwxMSArMTM0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IGludmFsaWRhdGVIYXNFbXB0eUNvbGxhcHNlZEJvcmRlcnMoKTsKICAgICB2b2lkIHNldEhhc0Vt
cHR5Q29sbGFwc2VkQm9yZGVyKENvbGxhcHNlZEJvcmRlclNpZGUsIGJvb2wgZW1wdHkpIGNvbnN0
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogICAgIHZv
aWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsKIAotcHJpdmF0ZToK
ICAgICBzdGF0aWMgUmVuZGVyUHRyPFJlbmRlclRhYmxlQ2VsbD4gY3JlYXRlVGFibGVDZWxsV2l0
aFN0eWxlKERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUmKTsKIAogICAgIGNvbnN0IGNoYXIq
IHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAoaXNBbm9ueW1vdXMoKSB8fCBp
c1BzZXVkb0VsZW1lbnQoKSkgPyAiUmVuZGVyVGFibGVDZWxsIChhbm9ueW1vdXMpIiA6ICJSZW5k
ZXJUYWJsZUNlbGwiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVTZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVT
ZWN0aW9uLmgKaW5kZXggZjhhOWZmZTVkMGJhYTliMjg5OGZjM2QzNzMzZjkzNzJkOTc1MGQ4NS4u
ZTNmOTQ2N2FiMTA3MGEyMWUzYzM2M2JhY2Q3MjcwMDNkNmU5YTZmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaApAQCAtMTQ5LDEwICsxNDksOSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHdpbGxJbnNlcnRUYWJsZVJvdyhSZW5kZXJUYWJsZVJvdyYg
Y2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJT
dHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHN0YXRpYyBSZW5kZXJQ
dHI8UmVuZGVyVGFibGVTZWN0aW9uPiBjcmVhdGVUYWJsZVNlY3Rpb25XaXRoU3R5bGUoRG9jdW1l
bnQmLCBjb25zdCBSZW5kZXJTdHlsZSYpOwogCiAgICAgZW51bSBTaG91bGRJbmNsdWRlQWxsSW50
ZXJzZWN0aW5nQ2VsbHMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
aAppbmRleCA1YTQ2MWJiNjRjNzhkNDNkM2IzNjAyMDg0YzZmMjgwOTQ0NmFiYWI0Li43ZTIwOGMy
YWI5ZDVhOGEyMGNjMmExODQ1ZWJjNzI0OTA0Mzg2NGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRGb2N1c1JpbmdDb2xvcihjb25zdCBDb2xvciYp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIExlbmd0aEJveCBwb3B1cEludGVybmFsUGFk
ZGluZ0JveChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIEZv
bnRDYXNjYWRlRGVzY3JpcHRpb24mIGNhY2hlZFN5c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1
ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaAppbmRleCBmMDgzYjUyZGMzMDJmNmNkZjZmNTIzODEzMjRiNzgwOGI3YTM1ODdh
Li5iY2ExYjFkZjBiYjdmYTMzMjEzM2E3NzM0ZGMzZWVkMmM1OTY2NWQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTIwMSwxMyArMjAxLDEyIEBAIHB1YmxpYzoKICAg
ICBjb25zdCBIYXNoU2V0PGNvbnN0IFJlbmRlckJveCo+JiBib3hlc1dpdGhTY3JvbGxTbmFwUG9z
aXRpb25zKCkgeyByZXR1cm4gbV9ib3hlc1dpdGhTY3JvbGxTbmFwUG9zaXRpb25zOyB9CiAjZW5k
aWYKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIG1hcExvY2FsVG9Db250YWluZXIo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3Jt
U3RhdGUmLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBwdXNoTWFwcGluZ1RvQ29udGFpbmVyKGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQsIFJlbmRlckdlb21ldHJ5
TWFwJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBtYXBBYnNvbHV0ZVRvTG9jYWxQb2ludChN
YXBDb29yZGluYXRlc0ZsYWdzLCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGJvb2wgcmVxdWlyZXNDb2x1bW5zKGludCBkZXNpcmVkQ29sdW1uQ291bnQpIGNvbnN0IG92ZXJy
aWRlOwogCi1wcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUNvbHVtbkNvdW50QW5kV2lkdGgoKSBv
dmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkUmVwYWludChjb25zdCBMYXlvdXRSZWN0JikgY29u
c3Q7CkBAIC0yMTksNyArMjE4LDYgQEAgcHJpdmF0ZToKIAogICAgIE5vZGUqIG5vZGVGb3JIaXRU
ZXN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgRnJhbWVWaWV3JiBtX2ZyYW1l
VmlldzsKIAogICAgIC8vIEluY2x1ZGUgdGhpcyBSZW5kZXJWaWV3LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5k
ZXggMDJmN2Y2YWQ4ZmQyNWIwNWQzYTA1MWY2MmJmNDYyM2JkOGM0NmMxZC4uNTVkOWUzNGRmNjEy
NTYwZmJhZDJmNzRkMTVjNmU3NzM5MjMxN2Y3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC01NCwxMCAr
NTQsOSBAQCBwdWJsaWM6CiAKICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlIGNsaXBQYXRo
VW5pdHMoKSBjb25zdCB7IHJldHVybiBjbGlwUGF0aEVsZW1lbnQoKS5jbGlwUGF0aFVuaXRzKCk7
IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHNlbGZOZWVkc0NsaWVudEludmFs
aWRhdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIChldmVySGFkTGF5b3V0KCkgfHwgbV9j
bGlwcGVyLnNpemUoKSkgJiYgc2VsZk5lZWRzTGF5b3V0KCk7IH0KIAotcHJpdmF0ZToKICAgICBz
dHJ1Y3QgQ2xpcHBlckRhdGEgewogICAgICAgICBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3g7
CiAgICAgICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAppbmRleCA3OGYwN2YwYTBhZGI0NDNiYzQxZGJjMTQ1
YmY0MDRmNDQxN2JiMjdjLi42YTIyNDhjN2Y4NWE2MDQ0NGQ2N2RiN2E5MWE3ZDhlYjliY2MxZjAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCkBAIC0xMTksMTMgKzEx
OSwxMiBAQCBwdWJsaWM6CiAgICAgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiYgbWV0aG9kQW5pbWF0
ZWQoKSB7IHJldHVybiBtX21ldGhvZDsgfQogICAgIFNWR0FuaW1hdGVkRW51bWVyYXRpb24mIHNw
YWNpbmdBbmltYXRlZCgpIHsgcmV0dXJuIG1fc3BhY2luZzsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAg
dm9pZCBkaWRGaW5pc2hJbnNlcnRpbmdOb2RlKCkgb3ZlcnJpZGU7Ci0KIHByaXZhdGU6CiAgICAg
U1ZHVGV4dFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAg
IHZpcnR1YWwgflNWR1RleHRQYXRoRWxlbWVudCgpOwogCisgICAgdm9pZCBkaWRGaW5pc2hJbnNl
cnRpbmdOb2RlKCkgb3ZlcnJpZGU7CisKICAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRF
bGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb25zb2xl
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaApp
bmRleCBkYjNlOTM3NDIwMDkyODQyZDAzZDM0NGQ4MmZmNWJiMjIwODk4OWJmLi45NzdiMDdkNTQx
Mzc4MmZmNTUwMzE3NmFmMzAxZjA2MmYzNDRlNmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgV29ya2VyQ29uc29sZUNsaWVudChXb3JrZXJHbG9iYWxTY29wZSYpOwogICAgIHZp
cnR1YWwgfldvcmtlckNvbnNvbGVDbGllbnQoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICB2b2lkIG1lc3NhZ2VXaXRoVHlwZUFuZExldmVsKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgY291bnQoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0
cmluZyYgbGFiZWwpIG92ZXJyaWRlOwogICAgIHZvaWQgY291bnRSZXNldChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CkBAIC01Niw3ICs1Niw2IEBA
IHByb3RlY3RlZDoKICAgICB2b2lkIHJlY29yZEVuZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVm
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcmVl
bnNob3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50
cz4mJikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgV29ya2VyR2xvYmFsU2NvcGUmIG1fd29y
a2VyR2xvYmFsU2NvcGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0
cy9Xb3JrbGV0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0LmgKaW5kZXggYzky
OGVjM2ZkYWJlMDYwNWM2OTUxYzgxYWM0Y2E1MWFiMTNjNjI4Ni4uYjBjMzI1Y2JkOGRmZWUwYjFk
ZjhiYjE0MzlhYzliYzAzNTdlNjFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvV29ya2xldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXQuaApAQCAt
NDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBhZGRNb2R1bGUoRG9jdW1lbnQm
LCBjb25zdCBTdHJpbmcmIG1vZHVsZVVSTCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
V29ya2xldCgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQ
SURpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElEaWN0aW9uYXJ5LmgK
aW5kZXggOWU1NTA1ZWUzMWU0ODExY2E1NWNkOGJhM2E5OGY5OTA2YThhN2M4Ny4uZTY4MzJlMjNj
YmNlMGI5OGY0ZWE0ZjgxZmM4M2YzMmI1NjgxOTM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0FQSURpY3Rpb25hcnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UEkvQVBJRGljdGlvbmFyeS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IE1hcFR5cGUmIG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFwOyB9CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgZXhwbGljaXQgRGljdGlvbmFyeShNYXBUeXBlKTsKIAogICAgIE1hcFR5cGUg
bV9tYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Rl
eHRUcmFja1ByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGI5NTAzNGJmMjY5NTgxYWE3ZTliZjZk
YTkwZjIxOTY5NGNiMGNmNjQuLmI3Y2VkYjdlODM5NGY5OWJhOWNmYjBhMmFjMmE5NzgxMWIzYzQx
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRy
YWNrUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzRWFzeVRvUmVhZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNFYXN5VG9SZWFk
OyB9CiAgICAgYm9vbCBpc0RlZmF1bHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lzRGVmYXVs
dDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFRleHRUcmFja1ByaXZhdGVSZW1vdGUo
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwgVHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwg
VGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24mJik7CiAKICAgICBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGUmIG1fcGxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCmluZGV4IDExMzA2MDQ0MzZjMThj
ZjMyOGNkZWFlMDMxYmM1OTU1NTVlYjU5MjQuLjk3NjkwMjcxNjg4NTUwMWM3ZjUyNzk5MDMwODdh
ZWU0ZThlNDRmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKQEAgLTYwLDEzICs2MCwxMSBAQCBwdWJsaWM6CiAK
ICAgICBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9ucElkZW50
aWZpZXI7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYs
IGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KIHByaXZhdGU6CiAgICAgc3RhdGljIEpTQzo6SXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJik7CiAgICAgCiAgICAgSlNOUE1ldGhvZChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBOUElkZW50aWZpZXIpOworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAKICAg
ICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlND
OjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL0pTTlBPYmplY3QuaAppbmRleCA0ODAzYzBiYzU3MWY5NzdkZGMyNzIyYmJhYjk2YjZkMjdj
MmE5Yzc4Li5mYTk4NDMyNWMyYzEyMjA1N2Q4MmYzMDlhOWE2NDMxZjk1YzNhNDI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5oCkBAIC03NiwxMyArNzYsMTEgQEAgcHVibGljOgogCiAgICAgTlBPYmplY3QqIG5wT2Jq
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9ucE9iamVjdDsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0KIHByaXZhdGU6CiAgICAg
c3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJik7CiAgICAg
CiAgICAgSlNOUE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBO
UFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9iamVjdCopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1
bGVyLmgKaW5kZXggNzU2YTAwM2ExZDg4NGYwNTRjMzlhNTA4YTgzZmRiODMzNTQ5NDI3OS4uMjBm
YjQ4N2IzNTM3NDJiODBkZjIyMDJhMTcxODE5MDk0NTE2YmQ2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNj
aGVkdWxlci5oCkBAIC03MSwxMCArNzEsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc09uTGluZSgp
IGNvbnN0IGZpbmFsOwogICAgIHZvaWQgYWRkT25saW5lU3RhdGVDaGFuZ2VMaXN0ZW5lcihXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIHZpcnR1YWwgfldlYlJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCi1wcml2YXRlOgogICAg
IHZvaWQgc2NoZWR1bGVMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKik7CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdERvd25sb2Fk
RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHREb3dubG9hZERlbGVn
YXRlLmgKaW5kZXggODg1NWI3Y2QxNDY2MzI1ZDM3OGIxZDQwODgyNGRmYzc3ZmI5ZDgzZC4uZmI0
Y2M3YmQ4Y2RlMWMzYTkwMWVhZTc4MzE0NDVjN2E5NGViMjYxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdERvd25sb2FkRGVsZWdhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0RG93bmxvYWREZWxlZ2F0ZS5oCkBAIC0zNywxMCArMzcs
NyBAQCBjbGFzcyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSBmaW5hbCA6IHB1YmxpYyBJV2ViRG93
bmxvYWREZWxlZ2F0ZQogcHVibGljOgogICAgIHN0YXRpYyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0
ZSogc2hhcmVkSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgRGVmYXVsdERvd25sb2FkRGVsZWdhdGUq
IGNyZWF0ZUluc3RhbmNlKCk7Ci1wcml2YXRlOgotICAgIERlZmF1bHREb3dubG9hZERlbGVnYXRl
KCk7Ci0gICAgfkRlZmF1bHREb3dubG9hZERlbGVnYXRlKCk7Ci1wdWJsaWM6CisKICAgICAvLyBJ
VW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVy
ZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAg
ICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTYzLDcgKzYw
LDExIEBAIHB1YmxpYzoKICAgICAvLyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZQogICAgIHZvaWQg
cmVnaXN0ZXJEb3dubG9hZChJV2ViRG93bmxvYWQqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJEb3du
bG9hZChJV2ViRG93bmxvYWQqKTsKLXByb3RlY3RlZDoKKworcHJpdmF0ZToKKyAgICBEZWZhdWx0
RG93bmxvYWREZWxlZ2F0ZSgpOworICAgIH5EZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIAogICAgIEhhc2hTZXQ8SVdlYkRvd25sb2FkKj4g
bV9kb3dubG9hZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0
UG9saWN5RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lE
ZWxlZ2F0ZS5oCmluZGV4IGEyYjY2NjQxMmY4NGZiMzY0ZWYyMGRlYzI4MmZjNGVlYTdmZjAwMjgu
LmE5NmVhZjdjZjAzZjFiZmI1ZDVlZDAyZTUwNDU3MTU0MDFlMTBiZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCkBAIC0zMiwxMCArMzIs
NyBAQCBjbGFzcyBEZWZhdWx0UG9saWN5RGVsZWdhdGUgZmluYWwgOiBwdWJsaWMgSVdlYlBvbGlj
eURlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGVmYXVsdFBvbGljeURlbGVnYXRlKiBz
aGFyZWRJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBEZWZhdWx0UG9saWN5RGVsZWdhdGUqIGNyZWF0
ZUluc3RhbmNlKCk7Ci1wcml2YXRlOgotICAgIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOwotICAg
IH5EZWZhdWx0UG9saWN5RGVsZWdhdGUoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3duCiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8g
UkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFs
IFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTMsNyArNTAsMTAgQEAgcHVi
bGljOgogICAgIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1bmFibGVU
b0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHRfIElX
ZWJFcnJvciosIF9Jbl9vcHRfIElXZWJGcmFtZSopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgor
ICAgIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOworICAgIH5EZWZhdWx0UG9saWN5RGVsZWdhdGUo
KTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9NZW1vcnlTdHJlYW0uaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL01lbW9yeVN0cmVhbS5oCmluZGV4IDE5ZjgyNDhiMDI3NzYzOWU2OTVjNjUwZDc5NjEyYWMz
MDlmNzYzMGYuLjJiYTdkYTkwYTVjNjIxMjkwMDhkZjYxMjk3MzBhY2RiOWJkNDUzYmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5oCkBAIC0zNywxMSArMzcsNiBAQCBjbGFz
cyBNZW1vcnlTdHJlYW0gZmluYWwgOiBwdWJsaWMgSVN0cmVhbQogcHVibGljOgogICAgIHN0YXRp
YyBDT01QdHI8TWVtb3J5U3RyZWFtPiBjcmVhdGVJbnN0YW5jZShSZWZQdHI8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmKTsKIAotcHJvdGVjdGVkOgotICAgIE1lbW9yeVN0cmVhbShSZWZQdHI8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiYmKTsKLSAgICB+TWVtb3J5U3RyZWFtKCk7Ci1wdWJsaWM6Ci0K
ICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBR
dWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9i
amVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAg
LTc5LDcgKzc0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgU3RhdChfT3V0XyBTVEFUU1RHKiwgRFdPUkQgZ3JmU3RhdEZsYWcpOwogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDbG9uZShfQ09NX091dHB0cl8gSVN0cmVhbSoq
IHBwc3RtKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBNZW1vcnlTdHJlYW0oUmVmUHRy
PFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJik7CisgICAgfk1lbW9yeVN0cmVhbSgpOworCiAgICAg
UmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gbV9idWZmZXI7CiAgICAgc2l6ZV90IG1fcG9z
IHsgMCB9OwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmgKaW5kZXggOGU1NmQwNTU0NGViZTRiYmRhNjli
MGQzMTBkOGM1ZGI0OWQzNjI4Zi4uY2ZkMGJhMWRhMDAwYjQwOTg4MTgxZWU3ZGJkMDk4NzRlNzVh
NTQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXBwbGljYXRpb25D
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFwcGxpY2F0aW9uQ2FjaGUu
aApAQCAtMzgsMTEgKzM4LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFdlYkNvcmU6OkFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlJiBzdG9yYWdlKCk7CiAKLXByb3RlY3RlZDoKLSAgICBXZWJBcHBs
aWNhdGlvbkNhY2hlKCk7Ci0gICAgfldlYkFwcGxpY2F0aW9uQ2FjaGUoKTsKLQotcHVibGljOgog
ICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1
ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2Jq
ZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAt
NjIsNyArNTcsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIG9yaWdpbnNXaXRoQ2FjaGUoLypbb3V0LCByZXR2YWxdKi8gSVByb3BlcnR5QmFnKiop
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAg
ICB+V2ViQXBwbGljYXRpb25DYWNoZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudDsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hpdmUuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hpdmUuaAppbmRleCA4NjcyZGVhNzM2OGI5ODExMzE0
YzI1ZWIzNWY3ZjJhOTcyMTYwYTBmLi4wNTA0ZTNhMzlmNGI1MTJlYjUwODM3YmExZTMxOWZjNGEw
Y2Y4YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJBcmNoaXZlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXJjaGl2ZS5oCkBAIC0zOSwxMSArMzks
NyBAQCBjbGFzcyBXZWJBcmNoaXZlIGZpbmFsIDogcHVibGljIElXZWJBcmNoaXZlCiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYkFyY2hpdmUqIGNyZWF0ZUluc3RhbmNlKCk7CiAgICAgc3RhdGljIFdl
YkFyY2hpdmUqIGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZl
PiYmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJBcmNoaXZlKFJlZlB0cjxXZWJDb3JlOjpMZWdhY3lX
ZWJBcmNoaXZlPiYmKTsKLSAgICB+V2ViQXJjaGl2ZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVu
a25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZh
Y2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAg
IHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02MCw3ICs1Niwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFICBzdWJm
cmFtZUFyY2hpdmVzKF9DT01fT3V0cHRyX29wdF8gSUVudW1WQVJJQU5UKiopOwogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSAgZGF0YShfQ09NX091dHB0cl9vcHRfIElTdHJl
YW0qKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViQXJjaGl2ZShSZWZQdHI8V2Vi
Q29yZTo6TGVnYWN5V2ViQXJjaGl2ZT4mJik7CisgICAgfldlYkFyY2hpdmUoKTsKKwogICAgIFVM
T05HIG1fcmVmQ291bnQgeyAwIH07CiAjaWYgVVNFKENGKQogICAgIFJlZlB0cjxXZWJDb3JlOjpM
ZWdhY3lXZWJBcmNoaXZlPiBtX2FyY2hpdmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJCYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YkJhY2tGb3J3YXJkTGlzdC5oCmluZGV4IDdiYzdjNDFjOWU1ZjBkZjkyYTQwMzk1ZDIzNDUxMjM5
ZDExNTg2ZWUuLmFmYWU4ZTQ1ZTZkZTZmNDIwZTJkY2QyNTUxMzQ1Y2JiMzlhODUwY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJkTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJkTGlzdC5oCkBAIC0zNywxMSAr
MzcsNyBAQCBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3QgZmluYWwgOiBwdWJsaWMgSVdlYkJhY2tG
b3J3YXJkTGlzdCwgSVdlYkJhY2tGb3J3YXJkTGlzdAogewogcHVibGljOgogICAgIHN0YXRpYyBX
ZWJCYWNrRm9yd2FyZExpc3QqIGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+
JiYpOwotcHJvdGVjdGVkOgotICAgIFdlYkJhY2tGb3J3YXJkTGlzdChSZWZQdHI8QmFja0Zvcndh
cmRMaXN0PiYmKTsKLSAgICB+V2ViQmFja0ZvcndhcmRMaXN0KCk7CiAKLXB1YmxpYzoKICAgICAv
LyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUlu
dGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7
CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTY3LDcg
KzYzLDEwIEBAIHB1YmxpYzoKICAgICAvLyBJV2ViQmFja0ZvcndhcmRMaXN0UHJpdmF0ZQogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVJdGVtKF9Jbl9vcHRfIElX
ZWJIaXN0b3J5SXRlbSopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkJhY2tGb3J3
YXJkTGlzdChSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiYmKTsKKyAgICB+V2ViQmFja0ZvcndhcmRM
aXN0KCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFJlZlB0cjxCYWNrRm9y
d2FyZExpc3Q+IG1fYmFja0ZvcndhcmRMaXN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDYWNo
ZS5oCmluZGV4IDM5M2Y4M2NjOWZlOGJkOWUxOWQyYTQ4Yzg5NmRjNmIzY2FjY2ExMTQuLjE5NTll
NzQzZTc4MmQ0YWNjNjUyNTc0ZDE2MjEwYzJmOTJhODk2MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViQ2FjaGUuaApAQCAtMzIsMTEgKzMyLDcgQEAgY2xhc3MgV2ViQ2FjaGUgZmluYWwgOiBwdWJs
aWMgSVdlYkNhY2hlCiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkNhY2hlKiBjcmVhdGVJbnN0
YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYkNhY2hlKCk7Ci0gICAgfldlYkNhY2hlKCk7CiAK
LXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9p
ZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRS
ZWYoKTsKQEAgLTUwLDcgKzQ2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgY2FjaGVGb2xkZXIoX19kZXJlZl9vdXRfb3B0IEJTVFIqIGxvY2F0aW9u
KTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q2FjaGVGb2xkZXIo
X0luXyBCU1RSIGxvY2F0aW9uKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJDYWNo
ZSgpOworICAgIH5XZWJDYWNoZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdGF0aXN0aWNz
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3RhdGlzdGljcy5oCmluZGV4IDBk
NmU4ODgwNmU1YjA1MTU3NzdiNTExNjdkNTZjOGZhN2ZjZjZmOTAuLmI0NDU0NDU1OGI4MDI0NzIw
NDliZTIwMTZhNTcxNzM2ZTJkNjY3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkNvcmVTdGF0aXN0aWNzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN0YXRpc3RpY3MuaApAQCAtMzEsMTEgKzMxLDcgQEAKIGNsYXNzIFdlYkNvcmVTdGF0aXN0
aWNzIGZpbmFsIDogcHVibGljIElXZWJDb3JlU3RhdGlzdGljcyB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFdlYkNvcmVTdGF0aXN0aWNzKiBjcmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAg
IFdlYkNvcmVTdGF0aXN0aWNzKCk7Ci0gICAgfldlYkNvcmVTdGF0aXN0aWNzKCk7CiAKLXB1Ymxp
YzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBw
dk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsK
QEAgLTY4LDcgKzY0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgY2FjaGVkUGFnZUNvdW50KF9PdXRfIElOVCopOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZWRGcmFtZUNvdW50KF9PdXRfIElOVCopOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkNvcmVTdGF0aXN0aWNzKCk7CisgICAgfldlYkNvcmVT
dGF0aXN0aWNzKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5oCmluZGV4IDcwYTdmNDU0YjIzMjgzZGY2Zjkx
ZWNjM2E5ZmY1YTM2Mzk0YWU0OGMuLjU1Mjk3OTQ4ZmZmZTE3NzRkNTJjM2FmYmE0MmM1MmYzZDRi
NjZkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkRhdGFTb3VyY2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJEYXRhU291cmNlLmgKQEAgLTM5LDEx
ICszOSw3IEBAIGNsYXNzIFdlYkRhdGFTb3VyY2UgZmluYWwgOiBwdWJsaWMgSVdlYkRhdGFTb3Vy
Y2UsIHB1YmxpYyBJV2ViRGF0YVNvdXJjZVByaXZhdGUKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
V2ViRGF0YVNvdXJjZSogY3JlYXRlSW5zdGFuY2UoV2ViRG9jdW1lbnRMb2FkZXIqKTsKLXByb3Rl
Y3RlZDoKLSAgICBXZWJEYXRhU291cmNlKFdlYkRvY3VtZW50TG9hZGVyKik7Ci0gICAgfldlYkRh
dGFTb3VyY2UoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9D
T01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhP
RENBTExUWVBFIEFkZFJlZigpOwpAQCAtNzYsNyArNzIsMTAgQEAgcHVibGljOgogICAgIC8vIFdl
YkRhdGFTb3VyY2UKICAgICBXZWJEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIoKSBjb25z
dDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJEYXRhU291cmNlKFdlYkRvY3VtZW50
TG9hZGVyKik7CisgICAgfldlYkRhdGFTb3VyY2UoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQg
eyAwIH07CiAgICAgUmVmUHRyPFdlYkRvY3VtZW50TG9hZGVyPiBtX2xvYWRlcjsKICAgICBDT01Q
dHI8SVdlYkRvY3VtZW50UmVwcmVzZW50YXRpb24+IG1fcmVwcmVzZW50YXRpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJFbGVtZW50UHJvcGVydHlCYWcuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oCmluZGV4IDJkZmFh
OTEzNGFmNmQ3ODE2NTU3ZWI5NGNjMWRiZTAyMGUyOTBlZGIuLmRkNjkxOWQ0YzZkN2Q0MjcwMGQw
ODIzOWIyYTA5NjJiMjNkNmY5ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YkVsZW1lbnRQcm9wZXJ0eUJhZy5oCkBAIC0zNywxMSArMzcsNiBAQCBjbGFzcyBXZWJFbGVtZW50
UHJvcGVydHlCYWcgZmluYWwgOiBwdWJsaWMgSVByb3BlcnR5QmFnCiBwdWJsaWM6CiAgICAgc3Rh
dGljIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6
SGl0VGVzdFJlc3VsdCYpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgV2ViRWxlbWVudFByb3BlcnR5QmFn
KGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQmKTsKLSAgICB+V2ViRWxlbWVudFByb3BlcnR5
QmFnKCk7Ci0KLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091
dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxM
VFlQRSBBZGRSZWYoKTsKQEAgLTUyLDYgKzQ3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXcml0ZShfSW5fIExQQ09MRVNUUiBwc3pQcm9wTmFtZSwg
X0luXyBWQVJJQU5UKiBwVmFyKTsKIAogcHJpdmF0ZToKKyAgICBXZWJFbGVtZW50UHJvcGVydHlC
YWcoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYpOworICAgIH5XZWJFbGVtZW50UHJvcGVy
dHlCYWcoKTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpIaXRUZXN0UmVzdWx0PiBt
X3Jlc3VsdDsKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVycm9yLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJFcnJvci5oCmluZGV4IGY3YzY3ZWJmZmQ3OTg4NDg0ODIxNTJiNDQ4MzgyOTRmMjU5MTk2
N2YuLmU0ZGRlOTdiNWNlYzcxOWZlNDMzZmFhZjkxOTY3YzYzZDllZDRiMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVycm9yLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViRXJyb3IuaApAQCAtMzQsMTEgKzM0LDcgQEAgY2xhc3MgV2ViRXJyb3IgZmlu
YWwgOiBwdWJsaWMgSVdlYkVycm9yLCBJV2ViRXJyb3JQcml2YXRlIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgV2ViRXJyb3IqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImLCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvID0gMCk7CiAgICAgc3RhdGljIFdlYkVycm9yKiBj
cmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYkVycm9yKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImLCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvKTsKLSAgICB+V2ViRXJyb3Io
KTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRy
XyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBF
IEFkZFJlZigpOwpAQCAtNjMsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcigpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIFdl
YkVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBJUHJvcGVydHlCYWcqIHVzZXJJ
bmZvKTsKKyAgICB+V2ViRXJyb3IoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAg
ICAgQ09NUHRyPElQcm9wZXJ0eUJhZz4gbV91c2VySW5mbzsKICNpZiBVU0UoQ0ZVUkxDT05ORUNU
SU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWUuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmgKaW5kZXggODUyMDUwN2Q1MWIyMzZjZjM4
MDhmNmJiOWM2YWEzMDRmYTAwNTUzNy4uNzY3Mjc0MTU3YThkZTIwM2JkMGEzMGI1MjNkOTljZWIx
MTE0ODI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oCkBAIC03OSwxMSArNzksNyBA
QCBjbGFzcyBERUNMU1BFQ19VVUlEKCJ7QTM2NzYzOTgtNDQ4NS00YTlkLTg3REMtQ0I1QTQwRTYz
NTFEfSIpIFdlYkZyYW1lIGZpbmFsIDogcAogewogcHVibGljOgogICAgIHN0YXRpYyBXZWJGcmFt
ZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByb3RlY3RlZDoKLSAgICBXZWJGcmFtZSgpOwotICAgIH5X
ZWJGcmFtZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9E
Q0FMTFRZUEUgQWRkUmVmKCk7CkBAIC0xOTksNyArMTk1LDEwIEBAIHB1YmxpYzoKIAogICAgIENP
TVB0cjxJQWNjZXNzaWJsZT4gYWNjZXNzaWJsZSgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgorICAgIFdlYkZyYW1lKCk7CisgICAgfldlYkZyYW1lKCk7CisKICAgICB2b2lkIGxvYWRI
VE1MU3RyaW5nKF9Jbl8gQlNUUiBzdHJpbmcsIF9Jbl8gQlNUUiBiYXNlVVJMLCBfSW5fIEJTVFIg
dW5yZWFjaGFibGVVUkwpOwogICAgIHZvaWQgbG9hZERhdGEoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4mJiwgQlNUUiBtaW1lVHlwZSwgQlNUUiB0ZXh0RW5jb2RpbmdOYW1lLCBCU1RSIGJhc2VV
UkwsIEJTVFIgZmFpbGluZ1VSTCk7CiAgICAgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+
JiBjb21wdXRlUGFnZVJlY3RzKEhEQyBwcmludERDKTsKQEAgLTIxMCw3ICsyMDksNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBkcmF3SGVhZGVyKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwY3R4
LCBJV2ViVUlEZWxlZ2F0ZSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBhZ2VSZWN0LCBmbG9h
dCBoZWFkZXJIZWlnaHQpOwogICAgIHZvaWQgZHJhd0Zvb3RlcihQbGF0Zm9ybUdyYXBoaWNzQ29u
dGV4dCogcGN0eCwgSVdlYlVJRGVsZWdhdGUqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBwYWdl
UmVjdCwgVUlOVCBwYWdlLCBVSU5UIHBhZ2VDb3VudCwgZmxvYXQgaGVhZGVySGVpZ2h0LCBmbG9h
dCBmb290ZXJIZWlnaHQpOwogCi1wcm90ZWN0ZWQ6CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAg
fTsKICAgICBjbGFzcyBXZWJGcmFtZVByaXZhdGU7CiAgICAgV2ViRnJhbWVQcml2YXRlKiBkOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
ci5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWVQb2xpY3lMaXN0ZW5lci5oCmlu
ZGV4IDE3MGRlOTU1NzExN2NiNzk1MDIwZTQzODZhNDI5NGFhNDM5ODMyODUuLjU0NWE3Yzk4ZWYw
ZTE1OTMxYWE5YzY4ZWZlZjczNTI1ZjI2Y2RhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkZyYW1lUG9saWN5TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmgKQEAgLTM4LDExICszOCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXIgZmluYWwgOiBwdWJs
aWMgSVdlYlBvbGljeURlY2lzaW9uTGlzdGVuZXIsIHB1YmxpYyBJV2ViRm9ybVN1Ym1pc3Npb25M
aXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkZyYW1lUG9saWN5TGlzdGVuZXIqIGNy
ZWF0ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpGcmFtZT4mJik7Ci1wcm90ZWN0ZWQ6Ci0gICAg
V2ViRnJhbWVQb2xpY3lMaXN0ZW5lcihSZWZQdHI8V2ViQ29yZTo6RnJhbWU+JiYpOwotICAgIH5X
ZWJGcmFtZVBvbGljeUxpc3RlbmVyKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJF
RklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBV
TE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTYxLDYgKzU3LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCiBwcml2YXRlOgorICAgIFdlYkZyYW1lUG9saWN5
TGlzdGVuZXIoUmVmUHRyPFdlYkNvcmU6OkZyYW1lPiYmKTsKKyAgICB+V2ViRnJhbWVQb2xpY3lM
aXN0ZW5lcigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBSZWZQdHI8V2Vi
Q29yZTo6RnJhbWU+IG1fZnJhbWU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViSFRNTFJlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJIVE1MUmVwcmVzZW50YXRpb24uaAppbmRleCBjYjllNGQ3YWEyOWI3ZmE1ZWRmM2M5MjI1MmZl
ZDFlNDFjNjc1ODljLi4xZmQwYzdlZTM4ODQ0YjdhYzNhNzVjYzZkMTBhOWQ2ZGRmYjcwN2FiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIVE1MUmVwcmVzZW50YXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIVE1MUmVwcmVzZW50YXRpb24uaApA
QCAtMzQsMTAgKzM0LDYgQEAgY2xhc3MgV2ViSFRNTFJlcHJlc2VudGF0aW9uIGZpbmFsIDogcHVi
bGljIElXZWJIVE1MUmVwcmVzZW50YXRpb24sIElXZWJEb2N1bWVudFIKIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgV2ViSFRNTFJlcHJlc2VudGF0aW9uKiBjcmVhdGVJbnN0YW5jZShXZWJGcmFtZSog
ZnJhbWUpOwotcHJvdGVjdGVkOgotICAgIFdlYkhUTUxSZXByZXNlbnRhdGlvbigpOwotICAgIH5X
ZWJIVE1MUmVwcmVzZW50YXRpb24oKTsKLXB1YmxpYzoKIAogICAgIC8vIElVbmtub3duCiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVG
SUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKQEAgLTcyLDcgKzY4LDEw
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZG9jdW1l
bnRTb3VyY2UoX19kZXJlZl9vcHRfb3V0IEJTVFIqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgdGl0bGUoX19kZXJlZl9vcHRfb3V0IEJTVFIqKTsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKKyAgICBXZWJIVE1MUmVwcmVzZW50YXRpb24oKTsKKyAgICB+V2ViSFRNTFJl
cHJlc2VudGF0aW9uKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFdlYkZy
YW1lKiBtX2ZyYW1lIHsgbnVsbHB0ciB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkhpc3RvcnlJdGVtLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJI
aXN0b3J5SXRlbS5oCmluZGV4IDkyMGIzNGM4NWJlN2RhZjgxYjk5ZGJiNzJiYzhmNGNiNDIzOWM3
ZGIuLjUxZjVhOTYzYTMxMDhhYzVmMTZhYTU2YWQ5ZWIyMjc2MzgyYzUzM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnlJdGVtLmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViSGlzdG9yeUl0ZW0uaApAQCAtNDMsMTEgKzQzLDcgQEAgY2xhc3Mg
V2ViSGlzdG9yeUl0ZW0gZmluYWwgOiBwdWJsaWMgSVdlYkhpc3RvcnlJdGVtLCBJV2ViSGlzdG9y
eUl0ZW1Qcml2YXRlCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkhpc3RvcnlJdGVtKiBjcmVhdGVJ
bnN0YW5jZSgpOwogICAgIHN0YXRpYyBXZWJIaXN0b3J5SXRlbSogY3JlYXRlSW5zdGFuY2UoUmVm
UHRyPFdlYkNvcmU6Okhpc3RvcnlJdGVtPiYmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJIaXN0b3J5
SXRlbShSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+JiYpOwotICAgIH5XZWJIaXN0b3J5SXRl
bSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRw
dHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZ
UEUgQWRkUmVmKCk7CkBAIC05Miw3ICs4OCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViSGlzdG9y
eUl0ZW0KICAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaGlzdG9yeUl0ZW0oKSBjb25zdDsKIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJIaXN0b3J5SXRlbShSZWZQdHI8V2ViQ29yZTo6
SGlzdG9yeUl0ZW0+JiYpOworICAgIH5XZWJIaXN0b3J5SXRlbSgpOworCiAgICAgVUxPTkcgbV9y
ZWZDb3VudCB7IDAgfTsKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gbV9oaXN0
b3J5SXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkphdmFTY3Jp
cHRDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkphdmFTY3JpcHRDb2xs
ZWN0b3IuaAppbmRleCAzMDBjODU2MzYzZTZjNGQyM2I0OWEyNDMyMWZjZjkzM2RkN2FhNjI5Li5k
YzY3MTM1ZDFiZmRiYzBjNGViMjBkODVlOWE5Y2E4MTRmODQwZTkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmgKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxlY3Rvci5oCkBAIC0zMiwxMSArMzIs
NyBAQCBjbGFzcyBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yIGZpbmFsIDogcHVibGljIElXZWJKYXZh
U2NyaXB0Q29sbGVjdG9yCiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkphdmFTY3JpcHRDb2xs
ZWN0b3IqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViSmF2YVNjcmlwdENv
bGxlY3RvcigpOwotICAgIH5XZWJKYXZhU2NyaXB0Q29sbGVjdG9yKCk7CiAKLXB1YmxpYzoKICAg
ICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVy
eUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVj
dCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTQ3
LDcgKzQzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkKEJPT0wgd2FpdFVudGlsRG9uZSk7CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG9iamVjdENvdW50KF9PdXRfIFVJTlQqKTsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yKCk7Cisg
ICAgfldlYkphdmFTY3JpcHRDb2xsZWN0b3IoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAw
IH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRDbGFz
c0ZhY3RvcnkuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5o
CmluZGV4IDc3MjMwZjY5NzA0NzE0YzZmMTQxOTNhODlkNTZkNTI2NjYwOTFlOGIuLmJiNDM2ZTVm
MDg2YmUxYmE1N2E2ZjdhZjQ4MjkyYjkyZWE3NzQ1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQ3JlYXRlSW5zdGFuY2UoX0luX29w
dF8gSVVua25vd24qIHBVbmtPdXRlciwgX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZv
aWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBM
b2NrU2VydmVyKEJPT0wpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFVMT05HIG1fcmVm
Q291bnQgeyAwIH07CiAgICAgQ0xTSUQgbV90YXJnZXRDbGFzczsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmgKaW5kZXggODg5YmIxYTI0Y2EwNTM1YjNhYmIw
ZDI4ZDE2YjIzMmRhMmRmMzZlMi4uYmQyNzQ3ZDAxYWNkNmE4ZDViZTQ2MDhlMWIwZDZkMjE5MTll
ODdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0U3RhdGlzdGlj
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdFN0YXRpc3RpY3MuaApAQCAt
MzQsMTEgKzM0LDcgQEAKIGNsYXNzIFdlYktpdFN0YXRpc3RpY3MgZmluYWwgOiBwdWJsaWMgSVdl
YktpdFN0YXRpc3RpY3MgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJLaXRTdGF0aXN0aWNzKiBj
cmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYktpdFN0YXRpc3RpY3MoKTsKLSAg
ICB+V2ViS2l0U3RhdGlzdGljcygpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJ
SUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxP
TkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Myw3ICs0OSwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNvbUNsYXNzQ291bnQoX091
dF8gaW50Kik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNvbUNsYXNz
TmFtZUNvdW50cyhfX2RlcmVmX291dF9vcHQgQlNUUiopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgorICAgIFdlYktpdFN0YXRpc3RpY3MoKTsKKyAgICB+V2ViS2l0U3RhdGlzdGljcygpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYk11dGFibGVVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJNdXRhYmxlVVJMUmVxdWVzdC5oCmluZGV4IDk0Y2QyYjRjMjRmYzcxMGZhOTExNDk4
ZTk0OTkwZjkzMjcxNmZhMDguLjU3ZDBmNjlmYTUzYjk2OTg1ZmU1ZDI5YzkxZjc1NmJjNzQ4NmMw
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk11dGFibGVVUkxSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTXV0YWJsZVVSTFJlcXVlc3Qu
aApAQCAtNTMsMTEgKzUzLDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFdlYk11dGFibGVVUkxS
ZXF1ZXN0KiBjcmVhdGVJbW11dGFibGVJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBXZWJNdXRhYmxl
VVJMUmVxdWVzdCogY3JlYXRlSW1tdXRhYmxlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0Jik7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViTXV0YWJsZVVSTFJlcXVlc3QoYm9vbCBp
c011dGFibGUpOwotICAgIH5XZWJNdXRhYmxlVVJMUmVxdWVzdCgpOwogCi1wdWJsaWM6CiAgICAg
Ly8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJ
bnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3Qp
OwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC0xMDUs
NyArMTAxLDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiBo
dHRwSGVhZGVyRmllbGRzKCkgY29uc3Q7CiAKICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlc291cmNlUmVxdWVzdCgpIGNvbnN0OwotcHJvdGVjdGVkOgorCitwcml2YXRlOgor
ICAgIFdlYk11dGFibGVVUkxSZXF1ZXN0KGJvb2wgaXNNdXRhYmxlKTsKKyAgICB+V2ViTXV0YWJs
ZVVSTFJlcXVlc3QoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgYm9vbCBt
X2lzTXV0YWJsZTsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb24uaAppbmRleCA5MzBkYjhhZjJhM2Qx
M2MwZGY0YTI3MGQyNGM1ZThmYjExOWFiMjBjLi4wYTIwN2MyNDVlZTgxOTY1ODU2NjkxY2JiZWEx
ZGIzOTgyOGZiM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3Rp
ZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb24u
aApAQCAtMzIsMTEgKzMyLDcgQEAgY2xhc3MgV2ViTm90aWZpY2F0aW9uIGZpbmFsIDogcHVibGlj
IElXZWJOb3RpZmljYXRpb24KIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViTm90aWZpY2F0aW9u
KiBjcmVhdGVJbnN0YW5jZShCU1RSIG5hbWUgPSAwLCBJVW5rbm93biogYW5PYmplY3QgPSAwLCBJ
UHJvcGVydHlCYWcqIHVzZXJJbmZvID0gMCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViTm90aWZpY2F0
aW9uKEJTVFIgbmFtZSwgSVVua25vd24qIGFuT2JqZWN0LCBJUHJvcGVydHlCYWcqIHVzZXJJbmZv
KTsKLSAgICB+V2ViTm90aWZpY2F0aW9uKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5f
IFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVh
bCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTQ4LDcgKzQ0LDEwIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZ2V0T2JqZWN0KF9D
T01fT3V0cHRyX29wdF8gSVVua25vd24qKiByZXN1bHQpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSB1c2VySW5mbyhfQ09NX091dHB0cl9vcHRfIElQcm9wZXJ0eUJhZyAq
KiByZXN1bHQpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYk5vdGlmaWNhdGlvbihC
U1RSIG5hbWUsIElVbmtub3duKiBhbk9iamVjdCwgSVByb3BlcnR5QmFnKiB1c2VySW5mbyk7Cisg
ICAgfldlYk5vdGlmaWNhdGlvbigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAg
ICBCU1RSIG1fbmFtZSB7IG51bGxwdHIgfTsKICAgICBJVW5rbm93biogbV9hbk9iamVjdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlvbkNlbnRlci5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXgg
ZjE0OTgxMjJkOGRlM2MzMzczMjU0NDhiZTM5MTQ0MjRlYzc2MDA1Zi4uMDY2OTQwZjk3YzM1Y2U4
YjU2NGFiYjI2ZGE1MWY0MGU0NDYwOWNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTM1LDExICszNSw2IEBAIGNsYXNzIFdlYk5v
dGlmaWNhdGlvbkNlbnRlciBmaW5hbCA6IHB1YmxpYyBJV2ViTm90aWZpY2F0aW9uQ2VudGVyIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgV2ViTm90aWZpY2F0aW9uQ2VudGVyKiBjcmVhdGVJbnN0YW5j
ZSgpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgV2ViTm90aWZpY2F0aW9uQ2VudGVyKCk7Ci0gICAgfldl
Yk5vdGlmaWNhdGlvbkNlbnRlcigpOwotCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJ
SUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxP
TkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Niw3ICs1MSwxMCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIqIGRlZmF1bHRDZW50ZXJJbnRlcm5h
bCgpOwogICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbkludGVybmFsKElXZWJOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbiwgQlNUUiBub3RpZmljYXRpb25OYW1lLCBJVW5rbm93biogYW5PYmplY3Qp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYk5vdGlmaWNhdGlvbkNlbnRlcigpOwor
ICAgIH5XZWJOb3RpZmljYXRpb25DZW50ZXIoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAw
IH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYk5vdGlmaWNhdGlvbkNlbnRlclByaXZhdGU+IGQ7
CiAgICAgc3RhdGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIqIG1fZGVmYXVsdENlbnRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGEzMWJhMDNhODI1NDcw
ZDgxMzM0Y2RmNjQzOGY1MTdmNGFkZjA5MWYuLmZhNTc5NGJiZmIzYjExNGU3NTVmOTQ5NDc1MjEy
ODk5Y2MwOTkxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApA
QCAtMzMsMTEgKzMzLDcgQEAKIGNsYXNzIFdlYlByZWZlcmVuY2VzIGZpbmFsIDogcHVibGljIElX
ZWJQcmVmZXJlbmNlcywgcHVibGljIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgV2ViUHJlZmVyZW5jZXMqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6
Ci0gICAgV2ViUHJlZmVyZW5jZXMoKTsKLSAgICB+V2ViUHJlZmVyZW5jZXMoKTsKIAotcHVibGlj
OgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2
T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpA
QCAtMzM0LDcgKzMzMCwxMCBAQCBwdWJsaWM6CiAKICAgICBIUkVTVUxUIHBvc3RQcmVmZXJlbmNl
c0NoYW5nZXNOb3RpZmljYXRpb24oKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJQ
cmVmZXJlbmNlcygpOworICAgIH5XZWJQcmVmZXJlbmNlcygpOworCiAjaWYgVVNFKENGKQogICAg
IHZvaWQgc2V0VmFsdWVGb3JLZXkoQ0ZTdHJpbmdSZWYga2V5LCBDRlByb3BlcnR5TGlzdFJlZiB2
YWx1ZSk7CiAgICAgUmV0YWluUHRyPENGUHJvcGVydHlMaXN0UmVmPiB2YWx1ZUZvcktleShDRlN0
cmluZ1JlZiBrZXkpOwpAQCAtMzYwLDcgKzM1OSw2IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGNv
cHlXZWJLaXRQcmVmZXJlbmNlc1RvQ0ZQcmVmZXJlbmNlcyhDRkRpY3Rpb25hcnlSZWYpOwogI2Vu
ZGlmCiAKLXByb3RlY3RlZDoKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFdlYkNv
cmU6OkJTdHJpbmcgbV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9hdXRvU2F2ZXMgeyBmYWxzZSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUmVzb3VyY2UuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlJlc291cmNlLmgKaW5kZXggMDU1YjVlOGIyMGJiM2My
YTc2OGQ3ZDJkNjFlMjQ3MTUwYzdkYmVkYS4uYjZlYjg2ZmNjYTVlMzEzNjljOWU4YjA2NTQxOGYy
Nzk0OTI5OTkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUmVzb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJSZXNvdXJjZS5oCkBAIC0zNywx
MSArMzcsNyBAQAogY2xhc3MgV2ViUmVzb3VyY2UgZmluYWwgOiBwdWJsaWMgSVdlYlJlc291cmNl
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViUmVzb3VyY2UqIGNyZWF0ZUluc3RhbmNlKFJlZlB0
cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJSZXNvdXJjZShJU3RyZWFtKiBkYXRhLCBjb25zdCBX
VEY6OlVSTCYgdXJsLCBjb25zdCBXVEY6OlN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFdURjo6U3Ry
aW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBXVEY6OlN0cmluZyYgZnJhbWVOYW1lKTsKLSAg
ICB+V2ViUmVzb3VyY2UoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJp
aWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNU
RE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTYsNiArNTIsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZyYW1lTmFtZShfX2RlcmVmX29wdF9v
dXQgQlNUUiogbmFtZSk7CiAKIHByaXZhdGU6CisgICAgV2ViUmVzb3VyY2UoSVN0cmVhbSogZGF0
YSwgY29uc3QgV1RGOjpVUkwmLCBjb25zdCBXVEY6OlN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFdU
Rjo6U3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBXVEY6OlN0cmluZyYgZnJhbWVOYW1l
KTsKKyAgICB+V2ViUmVzb3VyY2UoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAg
ICAgQ09NUHRyPElTdHJlYW0+IG1fZGF0YTsKICAgICBXVEY6OlVSTCBtX3VybDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZS5oCmluZGV4IDkxMzNiZGJkMGUyZTFhM2FiOWNlN2JhMGE2ODg2YTRkYjViY2YwNzEuLjRhNzk1
MTUzMzM0YTRiYWY0MzZlYTZhY2Q2NTQ0MWM5ZTc4YzE1ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaApAQCAt
MzQsMTAgKzM0LDcgQEAgY2xhc3MgREVDTFNQRUNfVVVJRCgiRkQzQjIzODEtMEJCNi00QjU5LUFG
MDktMEU1OTlDODkwMUNGIikgV2ViVVJMQXV0aGVudGljYXRpb24KIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdl
YkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAgICAgc3RhdGljIFdlYlVSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKiBjcmVhdGVJbnN0YW5jZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciop
OwotcHJpdmF0ZToKLSAgICBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVNlbmRlciopOwotICAgIH5XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOwotcHVi
bGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQq
KiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVm
KCk7CkBAIC01Nyw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UKICAgICBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYg
YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
KyAgICBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNlbmRlciop
OworICAgIH5XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworCiAgICAgVUxPTkcgbV9y
ZWZDb3VudCB7IDAgfTsKIAogICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1f
YXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJVUkxDcmVkZW50aWFsLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxD
cmVkZW50aWFsLmgKaW5kZXggMzNiZDA1MTUwZDgyZWJmMDRiODA1MGM5ZDE0NGRmY2QyZjQ1OGYx
YS4uYmVjZmQzNjQ4YWJhMzEzN2Y2ZDA5ZDhkMjk1MjJmMTFkM2MwMTYxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQ3JlZGVudGlhbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlVSTENyZWRlbnRpYWwuaApAQCAtMzQsMTAgKzM0LDcgQEAgY2xh
c3MgV2ViVVJMQ3JlZGVudGlhbCBmaW5hbCA6IHB1YmxpYyBJV2ViVVJMQ3JlZGVudGlhbAogcHVi
bGljOgogICAgIHN0YXRpYyBXZWJVUkxDcmVkZW50aWFsKiBjcmVhdGVJbnN0YW5jZSgpOwogICAg
IHN0YXRpYyBXZWJVUkxDcmVkZW50aWFsKiBjcmVhdGVJbnN0YW5jZShjb25zdCBXZWJDb3JlOjpD
cmVkZW50aWFsJik7Ci1wcml2YXRlOgotICAgIFdlYlVSTENyZWRlbnRpYWwoY29uc3QgV2ViQ29y
ZTo6Q3JlZGVudGlhbCYpOwotICAgIH5XZWJVUkxDcmVkZW50aWFsKCk7Ci1wdWJsaWM6CisKICAg
ICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVy
eUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVj
dCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUz
LDcgKzUwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBXZWJVUkxDcmVkZW50aWFsCiAgICAgY29uc3Qg
V2ViQ29yZTo6Q3JlZGVudGlhbCYgY3JlZGVudGlhbCgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgorICAgIFdlYlVSTENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYp
OworICAgIH5XZWJVUkxDcmVkZW50aWFsKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9
OwogICAgIFdlYkNvcmU6OkNyZWRlbnRpYWwgbV9jcmVkZW50aWFsOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFByb3RlY3Rpb25TcGFjZS5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUHJvdGVjdGlvblNwYWNlLmgKaW5kZXggZTJhYzgzZjE5
Y2MwMzhlMDZkMzkyNWRjMDc2NzE3OTAzODY0NGI1Yy4uYjMyNWFkYzljZDk0YjVhOWYxMTQ2N2M3
ZWJiNGJkNDcxNDUzZjFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
VVJMUHJvdGVjdGlvblNwYWNlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJM
UHJvdGVjdGlvblNwYWNlLmgKQEAgLTM0LDEwICszNCw3IEBAIGNsYXNzIFdlYlVSTFByb3RlY3Rp
b25TcGFjZSBmaW5hbCA6IHB1YmxpYyBJV2ViVVJMUHJvdGVjdGlvblNwYWNlCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFdlYlVSTFByb3RlY3Rpb25TcGFjZSogY3JlYXRlSW5zdGFuY2UoKTsKICAgICBz
dGF0aWMgV2ViVVJMUHJvdGVjdGlvblNwYWNlKiBjcmVhdGVJbnN0YW5jZShjb25zdCBXZWJDb3Jl
OjpQcm90ZWN0aW9uU3BhY2UmKTsKLXByaXZhdGU6Ci0gICAgV2ViVVJMUHJvdGVjdGlvblNwYWNl
KGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOwotICAgIH5XZWJVUkxQcm90ZWN0aW9u
U3BhY2UoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01f
T3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENB
TExUWVBFIEFkZFJlZigpOwpAQCAtNTgsNyArNTUsMTAgQEAgcHVibGljOgogICAgIC8vIFdlYlVS
TFByb3RlY3Rpb25TcGFjZQogICAgIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYgcHJv
dGVjdGlvblNwYWNlKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViVVJM
UHJvdGVjdGlvblNwYWNlKGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOworICAgIH5X
ZWJVUkxQcm90ZWN0aW9uU3BhY2UoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAg
ICAgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlIG1fcHJvdGVjdGlvblNwYWNlOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFJlc3BvbnNlLmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxSZXNwb25zZS5oCmluZGV4IDkzNDEwY2Q5ZjQ0NGY4OTQ3
MDIzNmZkNjhkODlhNmU4M2MxYTkwOTUuLjMzZDBhOWIxMjIwNTBjNDJhMzgyMWJmNGNkNGE0ZDk0
MzkwZTYxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFJlc3Bv
bnNlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUmVzcG9uc2UuaApAQCAt
MzMsMTEgKzMzLDcgQEAgY2xhc3MgV2ViVVJMUmVzcG9uc2UgZmluYWwgOiBwdWJsaWMgSVdlYkhU
VFBVUkxSZXNwb25zZSwgSVdlYlVSTFJlc3BvbnNlUHJpdmF0ZQogcHVibGljOgogICAgIHN0YXRp
YyBXZWJVUkxSZXNwb25zZSogY3JlYXRlSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgV2ViVVJMUmVz
cG9uc2UqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKTsKLXByb3RlY3RlZDoKLSAgICBXZWJVUkxSZXNwb25zZSgpOwotICAgIH5XZWJVUkxS
ZXNwb25zZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9E
Q0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02MiwxNCArNTgsMTYgQEAgcHVibGljOgogICAgIAogICAg
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UoKSBjb25z
dDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJVUkxSZXNwb25zZSgpOworICAgIH5X
ZWJVUkxSZXNwb25zZSgpOworCiAgICAgSFJFU1VMVCBzdWdnZXN0ZWRGaWxlRXh0ZW5zaW9uKEJT
VFIqIHJlc3VsdCk7CiAKICNpZiBVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAgIENGRGljdGlvbmFy
eVJlZiBjZXJ0aWZpY2F0ZURpY3Rpb25hcnkoKSBjb25zdDsKICNlbmRpZgogCi1wcm90ZWN0ZWQ6
CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlIG1fcmVzcG9uc2U7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCBhOGU2MzcwMDRmM2Q2YzAxNmJkNmVlYjg2YTI5NjA2MjYwYTQ1OWY4Li4w
ODQ4OTFiOWRiMmUwYzc1OTM1ODg1NmY4NjM1ODE5ZGQ0YWE3NTk4IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAt
MDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAg
IENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHByb3RlY3RlZCBhY2Nlc3Mgc3Bl
Y2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuaDoKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oOgorCiAyMDIwLTA0LTIwICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgRGF0ZSBhbmQgVGltZSBm
b3JtIGNvbnRyb2xzIG5vdCBzaG93aW5nIGNvcnJlY3QgaW5pdGlhbCB2YWx1ZXMgb24gaW1tZWRp
YXRlIHNlY29uZCBpbnZvY2F0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0Rl
ZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCmluZGV4IDk2MjEwOTE5MTQzZjhiZjVkMzM3Zjc3NjlhNGNm
NGY5MDIwODc4MDMuLjA1NDA4NWFkOGY3ZmVmMjJlZDc5ODc1ZGYzZWNlODZjZGQzNzJhZDQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgK
QEAgLTMyLDEwICszMiw3IEBAIGNsYXNzIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSBmaW5hbCA6IHB1
YmxpYyBJV2ViUG9saWN5RGVsZWdhdGUgewogcHVibGljOgogICAgIHN0YXRpYyBEZWZhdWx0UG9s
aWN5RGVsZWdhdGUqIHNoYXJlZEluc3RhbmNlKCk7CiAgICAgc3RhdGljIERlZmF1bHRQb2xpY3lE
ZWxlZ2F0ZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByaXZhdGU6Ci0gICAgRGVmYXVsdFBvbGljeURl
bGVnYXRlKCk7Ci0gICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOwotcHVibGljOgorCiAgICAg
Ly8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJ
bnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3Qp
OwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Myw3
ICs1MCwxMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3
KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdlYkZyYW1lKik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CisgICAgRGVmYXVsdFBvbGljeURlbGVnYXRlKCk7CisgICAgfkRlZmF1bHRQ
b2xpY3lEZWxlZ2F0ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oCmluZGV4IGY0ZjhkNWQyNzYzOWNjYjc0NDc2
YWNlY2YxNWYyNzFkYjBmYjZlNGMuLmNkNmQzNDcwYjc5MmJiN2UzY2FmOTM2ZGI2MDQ2NTA2MWE5
MjUwZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmgK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaApAQCAtMTE4LDcgKzEx
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGVj
aWRlUG9saWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiBzZW5kZXIs
IF9Jbl9vcHRfIElXZWJGcmFtZSosIF9Jbl9vcHRfIElXZWJTZWN1cml0eU9yaWdpbiosIF9Jbl9v
cHRfIElXZWJHZW9sb2NhdGlvblBvbGljeUxpc3RlbmVyKik7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIGRpZFByZXNzTWlzc2luZ1BsdWdpbkJ1dHRvbihfSW5fb3B0XyBJ
RE9NRWxlbWVudCopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIC8vIElXZWJVSURlbGVn
YXRlUHJpdmF0ZQogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1bnVzZWQx
KCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHVudXNlZDIoKSB7IHJldHVybiBFX05PVElNUEw7IH0KQEAgLTE0MCw3ICsxNDAsNiBA
QCBwcm90ZWN0ZWQ6CiAKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMSB9OwogCi1wcml2YXRlOgog
ICAgIFJFQ1QgbV9mcmFtZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RFJUVW5kb01hbmFnZXI+IG1f
dW5kb01hbmFnZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397041</attachid>
            <date>2020-04-20 17:22:46 -0700</date>
            <delta_ts>2020-04-20 17:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210775-20200420172245.patch</filename>
            <type>text/plain</type>
            <size>187500</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2JhNDI0YzhlYTFkOWVlNjM3ZmI1NzM3MTFkZDZlYmJkMTM4MGZlLi5kODFmYzA1NTZkMDZjNGY4
ZmQyYzI2MDhiY2U1MmRiMzNhMmUxMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFQSS9KU0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVj
dC5oOgorICAgICAgICAqIGIzL0IzRXh0cmFjdFZhbHVlLmg6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5o
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmg6Cisg
ICAgICAgICogcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmg6CisgICAg
ICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9CaWdJbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50T2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29uc29sZU9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmg6CisgICAgICAg
ICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaDoKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Lmg6CisgICAgICAgICog
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRp
bWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Lmg6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaDoK
KyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVy
YWxSdWxlc1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmg6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXN5bmNH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNEYXRhVmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxlTG9hZGVyLmg6Cisg
ICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVj
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6
ZXJBZ2VudC5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgICogcnVudGltZS9TeW1ib2wu
aDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9TeW1ib2xPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFByb3RvdHlwZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvVk1UcmFwcy5jcHA6CisgICAgICAgICogdGVzdFJlZ0V4cC5j
cHA6CisgICAgICAgICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxM
SW50UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0LmNwcDoKKyAgICAgICAgKiB3
YXNtL2pzL0pTV2ViQXNzZW1ibHkuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5o
OgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUluc3Rh
bmNlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBl
Lmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5oOgorICAgICAgICAq
IHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseVRhYmxlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0
aW9uLmg6CisKIDIwMjAtMDQtMjAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRlRMIGRvZXNuJ3Qgb2JzZXJ2ZSB0aGUgdXNlIGtpbmQgb2YgQ2hlY2tJ
c0NvbnN0YW50J3MgY2hpbGQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFhNDNjODhlODJmNGNlYzdjOWM4YjU1
NjAyNzczYzI4MGUzN2MyZC4uYzE0MTk2YTA3NzRkZjg0Njc2ZjNmZDQwMWIxNTNhNjI3NWU3NDg1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNsaW5n
ICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBmaW5h
bCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5Lmg6CisgICAg
ICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9X
YXZlU2hhcGVyRFNQS2VybmVsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSU2Vz
c2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50Lmg6CisgICAgICAgICogYW5pbWF0
aW9uL0NTU0FuaW1hdGlvbi5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFt
Lmg6CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6CisgICAgICAgICogYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oOgor
ICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMQnVmZmVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZl
ci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMUXVlcnkuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmJ1ZmZlci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMU3luYy5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
VHJhbnNmb3JtRmVlZGJhY2suaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1M
b2NhdGlvbi5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50
cy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0Lmg6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5oOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxQcm94eU5vZGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25P
YmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvY29jb2EvUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2lzby9JU09WVFRDdWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1h
Z2VEZWNvZGVyRGlyZWN0MkQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGdWxs
U2NyZWVuLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUnVieS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJs
ZVNlY3Rpb24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVu
dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oOgorICAgICAgICAq
IHdvcmtsZXRzL1dvcmtsZXQuaDoKKwogMjAyMC0wNC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIHN0cnVjdHVyZS1jbG9uaW5nIHRlc3Rz
IGZvciBCaWdJbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggODJiNzYyYjc3ZWQxMTFjOWE5ZWFkMDY0MWE0NDNkMDRm
NTBmMGRjMC4uMTdlZDdhZTZhNTdhN2RiNDI4MGUyODUyZTY0NmE4ODU1NzA1MWQxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2ly
c2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5v
dCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElEaWN0aW9uYXJ5Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKwogMjAyMC0w
NC0yMCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkIG1hY0NhdGFseXN0IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5k
ZXggZTgxZTdkYWY0MWI2OGZmMmY4NTYyZmQwMjhjNmZkMTc0ZWI3YzA4Ni4uOGE2MTJlZWRlOTBm
ZGVkODFhNmQ0YWQ4ZjI4N2FhM2M1NDc3OWNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJv
dGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
Lmg6CisKIDIwMjAtMDQtMjAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVzZSAjaW1wb3J0IGluc3RlYWQgb2YgI2luY2x1ZGUgaW4gT2JqZWN0aXZlLUMgYW5kIGRv
bid0IHVzZSAjcHJhZ21hIG9uY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCAyYWYy
ZWY4ZjVjZDU3Yzk1NDkwMTI3MmU3ZGRmMjU0Y2QxOGQzZGEzLi5lYzI5MWQ5MDQwMjczMmIxNDM5
NDkyMTAxZjcwOTM2OTIyNjIyYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIERlZmF1bHREb3dubG9hZERlbGVnYXRlLmg6CisgICAgICAgICog
RGVmYXVsdFBvbGljeURlbGVnYXRlLmg6CisgICAgICAgICogTWVtb3J5U3RyZWFtLmg6CisgICAg
ICAgICogV2ViQXBwbGljYXRpb25DYWNoZS5oOgorICAgICAgICAqIFdlYkFyY2hpdmUuaDoKKyAg
ICAgICAgKiBXZWJCYWNrRm9yd2FyZExpc3QuaDoKKyAgICAgICAgKiBXZWJDYWNoZS5oOgorICAg
ICAgICAqIFdlYkNvcmVTdGF0aXN0aWNzLmg6CisgICAgICAgICogV2ViRGF0YVNvdXJjZS5oOgor
ICAgICAgICAqIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oOgorICAgICAgICAqIFdlYkVycm9yLmg6
CisgICAgICAgICogV2ViRnJhbWUuaDoKKyAgICAgICAgKiBXZWJGcmFtZVBvbGljeUxpc3RlbmVy
Lmg6CisgICAgICAgICogV2ViSFRNTFJlcHJlc2VudGF0aW9uLmg6CisgICAgICAgICogV2ViSGlz
dG9yeUl0ZW0uaDoKKyAgICAgICAgKiBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmg6CisgICAgICAg
ICogV2ViS2l0Q2xhc3NGYWN0b3J5Lmg6CisgICAgICAgICogV2ViS2l0U3RhdGlzdGljcy5oOgor
ICAgICAgICAqIFdlYk11dGFibGVVUkxSZXF1ZXN0Lmg6CisgICAgICAgICogV2ViTm90aWZpY2F0
aW9uLmg6CisgICAgICAgICogV2ViTm90aWZpY2F0aW9uQ2VudGVyLmg6CisgICAgICAgICogV2Vi
UHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJSZXNvdXJjZS5oOgorICAgICAgICAqIFdlYlVS
TEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg6CisgICAgICAgICogV2ViVVJMQ3JlZGVudGlhbC5o
OgorICAgICAgICAqIFdlYlVSTFByb3RlY3Rpb25TcGFjZS5oOgorICAgICAgICAqIFdlYlVSTFJl
c3BvbnNlLmg6CisKIDIwMjAtMDQtMTggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZWR1Y2UgcGFyYW1ldGVyIGxpc3Qgb2YgdGhlIEZyYW1lTG9hZFJlcXVlc3QgY29u
c3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1
ZVdyYXBwZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIu
aAppbmRleCAxZjc4MjI5ZTBjODBkYjRjZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljLi42NzA1ZWNi
YmIyYjUwNzgwYjFhZGVhNzU1ODRhN2MxZjMyYTFlZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAg
ICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtNjUsNyArNjUsNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIEFTU0VSVCghdmFsdWUuaXNDZWxsKCkpOwogICAgIH0KIAotcHJpdmF0ZToK
ICAgICBKU0FQSVZhbHVlV3JhcHBlcihWTSYgdm0pCiAgICAgICAgIDogSlNDZWxsKHZtLCB2bS5h
cGlXcmFwcGVyU3RydWN0dXJlLmdldCgpKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCmluZGV4IDZlM2MzNTY2ZjJlOWYzNWFh
Njc0NTZhYTE0YjNmYmQwOTk0ZjlkNWMuLmZiZDI0MzExOTQ4MTI4NjU2NjJiMmVmY2EzNDBjNmFl
YzFlOGU3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuaApAQCAtNjIsMTEgKzYyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgogICAgIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIEpTQ2xhc3NSZWYsIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayk7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCosIEpTQ2xhc3NSZWYpOwogCi1w
cml2YXRlOgogICAgIGZyaWVuZCBzdHJ1Y3QgQVBJQ2FsbGJhY2tGdW5jdGlvbjsKIAogICAgIHN0
YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0
YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRl
eCA5MmNhOTI0Nzc5NjJiYzA0YzdhOGViODZhMWY0MTVkMmIxODdmMzYxLi5lNjQzNTEzMTNkN2Y4
N2FjMWNiZGZiYmMwNjIzZmFjYTliODlmMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTIzLDEzICsxMjMsNiBAQCBwdWJsaWM6CiAgICAg
CiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50PgogY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6
IHB1YmxpYyBQYXJlbnQgewotcHJvdGVjdGVkOgotICAgIEpTQ2FsbGJhY2tPYmplY3QoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU0NsYXNzUmVmLCB2b2lkKiBkYXRhKTsKLSAgICBKU0Nh
bGxiYWNrT2JqZWN0KFZNJiwgSlNDbGFzc1JlZiwgU3RydWN0dXJlKik7Ci0KLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYpOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IFBhcmVudDsKICAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBQ
cm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJ
bnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJv
IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92
ZXJyaWRlc0dldENhbGxEYXRhOwpAQCAtMTkwLDYgKzE4MywxMiBAQCBwdWJsaWM6CiAgICAgdXNp
bmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0ZToKKyAgICBKU0NhbGxiYWNrT2JqZWN0
KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNDbGFzc1JlZiwgdm9pZCogZGF0YSk7Cisg
ICAgSlNDYWxsYmFja09iamVjdChWTSYsIEpTQ2xhc3NSZWYsIFN0cnVjdHVyZSopOworCisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKKwogICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKFZN
JiwgU3Vic3BhY2VBY2Nlc3MpOwogICAgIHN0YXRpYyBTdHJpbmcgY2xhc3NOYW1lKGNvbnN0IEpT
T2JqZWN0KiwgVk0mKTsKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09i
amVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNFeHRyYWN0VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJh
Y3RWYWx1ZS5oCmluZGV4IDk5Mzg0ZDk2MzQ5YWFlYTdlNjE2ZjRiZWJiMGIyMjZlZThlNWFhOTEu
LjIxMjViN2I2YTM2Y2I1ZjE3NWY1MTlhYzEwMjRiYjVkYjAzY2RhNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoK
ICAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQogICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFt
JikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihPcmlnaW4sIFR5cGUsIFZhbHVlKiwgaW50MzJfdCkgeyByZXR1cm4gRXh0cmFjdDsgfQpA
QCAtNTMsNyArNTMsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAotcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwogICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUuaAppbmRleCA2YzcyMWViYzhhZmNiNTE4MmJkNWI4YTEwMGI1MDgwZjhj
MTk5YzRhLi44ZmZlMzAwZDg0NDI3MWQ0ZjZkZGY5MTVkMmRiZTJhNTJmYzAyYTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUuaApAQCAtMjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6CiAgICAgVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0mLCBTdHJ1Y3R1cmUqLCBjb25zdCBTb3VyY2VDb2RlJiwg
RnVuY3Rpb25NZXRhZGF0YU5vZGUqLCBVbmxpbmtlZEZ1bmN0aW9uS2luZCwgQ29uc3RydWN0QWJp
bGl0eSwgSlNQYXJzZXJTY3JpcHRNb2RlLCBPcHRpb25hbDxDb21wYWN0VmFyaWFibGVNYXA6Okhh
bmRsZT4sICBKU0M6OkRlcml2ZWRDb250ZXh0VHlwZSwgSlNDOjpOZWVkc0NsYXNzRmllbGRJbml0
aWFsaXplciwgYm9vbCBpc0J1aWx0aW5EZWZhdWx0Q2xhc3NDb25zdHJ1Y3Rvcik7CiAgICAgVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoRGVjb2RlciYsIGNvbnN0IENhY2hlZEZ1bmN0aW9uRXhl
Y3V0YWJsZSYpOwogCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOworCiAgICAgdm9pZCBkZWNvZGVDYWNoZWRDb2RlQmxvY2tzKFZNJik7CiAKICAg
ICBib29sIGNvZGVCbG9ja0VkZ2VNYXlCZVdlYWsoKSBjb25zdApAQCAtMjk0LDkgKzI5Niw2IEBA
IHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAK
LXByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RW
aXNpdG9yJik7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oCmluZGV4IDNlNGExZmYxZDYyODY5ZjMxZGJj
MjVlY2JmMTIxMjY3MjcxYjY4MzMuLmUxNzI3OTM3OWFkMzdkYjBlMWYzN2M3ZmM5MzZkM2IzZTQ5
YjY2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQqIGFnZW50KSB7IG1fZGVidWdnZXJBZ2VudCA9IGFnZW50OyB9CiAgICAgdm9pZCBzZXRJ
bnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50KEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQq
IGFnZW50KSB7IG1fc2NyaXB0UHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgdm9pZCBtZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPFNjcmlwdEFyZ3VtZW50cz4m
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3Qg
U3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBvdmVycmlkZTsKQEAgLTYyLDcgKzYyLDYg
QEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVjb3JkRW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBS
ZWY8U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcmVlbnNob3QoSlND
OjpKU0dsb2JhbE9iamVjdCosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwogCi1w
cml2YXRlOgogICAgIHZvaWQgd2FyblVuaW1wbGVtZW50ZWQoY29uc3QgU3RyaW5nJiBtZXRob2Qp
OwogICAgIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5oCmluZGV4IDllY2FiOGM2MmJhNmNjMGY5YzBiMjFlMTZiOWE1NmViNTQwZGNjYzYuLmI5ZjY4
ODNmNTg2OWZlZTc1MWU3MDBhZWE5NWQwNGFlOGY5NmZlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTgz
LDExICs4Myw5IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTVmFsdWUgcXVlcnlJbnN0YW5jZXMoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiAgICAgSlNDOjpKU1ZhbHVlIHF1
ZXJ5SG9sZGVycyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIAotcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgog
ICAgIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSosIFJlZjxJ
bmplY3RlZFNjcmlwdEhvc3Q+JiYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYp
OwogCiAgICAgUmVmPEluamVjdGVkU2NyaXB0SG9zdD4gbV93cmFwcGVkOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFt
ZS5oCmluZGV4IGIwMjI4ZWZiODE5Mjc1NmQ3NjA2MWNjNTAwNWQ3NDAxN2RkYWJkOTEuLjFiMDVm
NDYzMDUyM2VmNmI1YzA0MGNjMGM5NWJmZDc2YzcxNWUxNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApAQCAt
ODYsMTIgKzg2LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHNo
b3J0IEdMT0JBTF9MRVhJQ0FMX0VOVklST05NRU5UX1NDT1BFID0gNTsKICAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIHNob3J0IE5FU1RFRF9MRVhJQ0FMX1NDT1BFID0gNjsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgogICAg
IEpTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBSZWY8SmF2
YVNjcmlwdENhbGxGcmFtZT4mJik7CiAgICAgfkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpOworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogCiAgICAgSmF2YVNjcmlwdENhbGxGcmFt
ZSogbV9pbXBsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggMzgxNGQ2OTZiYWM5MzEzNDc1
ZWM3MjdhZmM0OTBkOWQwMWQwYjAyMy4uYjM0ZjAxZWE4MmI3ODlhMGZlNmNjZjBkZmYxMTBlYTY4
MGE1Njk0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTQ2MCwxMSArNDYwLDggQEAgc3RhdGlj
IGlubGluZSBTdHJpbmcgc3RyaW5nRnJvbVVURihjb25zdCBWZWN0b3ImIHV0ZjgpCiB9CiAKIGNs
YXNzIEdsb2JhbE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7Ci1wcml2YXRl
OgotICAgIEdsb2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwotCiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBKU0dsb2JhbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVj
dDsKIAogICAgIHN0YXRpYyBHbG9iYWxPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYXJndW1lbnRzKQogICAgIHsKQEAgLTQ4
Myw3ICs0ODAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUnVudGltZUZsYWdzIGphdmFTY3Jp
cHRSdW50aW1lRmxhZ3MoY29uc3QgSlNHbG9iYWxPYmplY3QqKSB7IHJldHVybiBSdW50aW1lRmxh
Z3M6OmNyZWF0ZUFsbEVuYWJsZWQoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEds
b2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOworCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewogICAgICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQWdncmVnYXRlRXJyb3IuaAppbmRleCA3YTIyOTY0ZTFhMDQ1M2MwNTdkZmFjODliYjdmMmI1
M2ZjMjZkNDNjLi44Yjg3NWRkMWFhMjBjMmFjMjIyNDlmZGE5YTAwMDc5NTgwNjc3ZjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmgKQEAgLTgx
LDEwICs4MSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fZXJyb3JzOwogICAgIH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBleHBsaWNpdCBBZ2dyZWdhdGVFcnJvcihWTSYsIFN0
cnVjdHVyZSosIGNvbnN0IE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBlcnJvcnMpOwogCi1wcml2YXRl
OgogICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+IG1fZXJyb3JzOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yUHJv
dG90eXBlLmgKaW5kZXggNzE0NWIyNTJjNzdiMjlhMWI2MDg2NzQ3MjgwMjk5M2FiYzEyNzUzMC4u
Mzc4MzBmZDg0ZmVlZjVjMDdmZTBhY2MxM2MwMzU2YmUzMzg1NjUzMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvclByb3RvdHlwZS5o
CkBAIC0zNyw5ICszNyw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQWdncmVnYXRlRXJy
b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgRXJyb3JQcm90b3R5cGVCYXNlIHsKLXByaXZhdGU6
Ci0gICAgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGlj
OgogICAgIHVzaW5nIEJhc2UgPSBFcnJvclByb3RvdHlwZUJhc2U7CiAKQEAgLTYyLDcgKzU5LDgg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgIH0KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKKyAgICBBZ2dyZWdhdGVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSop
OwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDExOWZlYTBhNTJkMTUxMzhhNTA1OWVhYjc1ZDQ5Yzc5OWUwY2Y3ODUuLjUzMGU2MzQ1MmQ4
YmU5OTY0YTQ0YTRmOWQxMWNhZjZjODFkYzVhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBBcnJheVByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2ll
c1N5bWJvbCk7Ci0KIHByaXZhdGU6CiAgICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5
UHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0
aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBl
LmgKaW5kZXggYTUyMDE1NGVhMWZmZDMzMGE4YzE5YWEwNGQ5OGE0ZWJlNTY0YWJhMy4uNTNlZjY5
YTU0ODJkZWVlMmU5NTUxZjhhYTgzMzZjYmE3ZmZkMzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0yNSw5ICsyNSw2IEBACiBuYW1l
c3BhY2UgSlNDIHsKIAogY2xhc3MgQXJyYXlQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNBcnJh
eSB7Ci1wcml2YXRlOgotICAgIEFycmF5UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1
YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNBcnJheTsKIApAQCAtNDYsNyArNDMsOCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIFR5cGVJbmZvKERlcml2ZWRBcnJheVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpLCBBcnJheUNsYXNzKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgQXJy
YXlQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShBcnJheVByb3RvdHlwZSwgQXJyYXlQcm90b3R5cGU6OkJhc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oCmlu
ZGV4IGFmYjlhMjJlOWNmMDI3ZGFiMDhhZDliM2QzZGQ3ZTU5MTg2MTVlYWQuLjQ3ZTY3MjVlYWY2
ODFkNWFjYzkzNmFiZjc2NzBhYjViYTdhNzZmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTU0LDExICs1
NCw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwotCiBwcml2YXRlOgogICAgIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJh
dG9yRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fz
eW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCA0N2Q0NjQ0NzdmYWFjYTBlNDA2
ZDBhMzQzOGU0ODU0YTU0MTQyMWRkLi45MzViNzEwY2FiZGY0ZWMzMGUyYTliM2FjYjU3YzYyMzMy
YTQ4ZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dl
bmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCkBAIC01NCwxMSArNTQsOSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQog
cHJpdmF0ZToKICAgICBBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0
dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNz
T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgK
aW5kZXggNTIzYTU3OGNkMjRlODhlYjU0NmFlNjQ3NGY0YzE1ZTE3ODQzNWQ0YS4uMDg2ZjVlZGYz
NjE5MWMzNTYxODA2NTYwZDMxYmJhMjI2ZDQwNzc0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIEF0b21pY3NPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9i
amVjdCB7Ci1wcml2YXRlOgotICAgIEF0b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQog
cHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC00OSw3ICs0
Niw4IEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgorICAgIEF0b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDE4YzQ2MDY3MTY5NTM3
ODI3YjIxMDkyMTM3MjMxZjY4Njk0NjM4MTMuLjFiOTExYjkxN2MxYmNkODVjZDNlMmNkYjA4MGNi
M2UxYzIyMDYzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jp
Z0ludENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50Q29uc3RydWN0b3IuaApAQCAtNTIsMTEgKzUyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKElu
dGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJpZ0ludFByb3RvdHlwZSop
OwotCiBwcml2YXRlOgogICAgIEJpZ0ludENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJpZ0ludFByb3RvdHlwZSopOwogfTsKIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJpZ0ludENvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QmlnSW50T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmpl
Y3QuaAppbmRleCBkZWNjZmRlNWZlNmVlNWYyZGM0ZDA4NWQwZWMzMjA2MWQ3NTg3MWY3Li5lMjU5
NTY3OWVkNTVhNDJjNGM1MmZlNjAxMTUyZmMxMzVlMGVkMWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xv
YmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTVmFsdWUpOwogICAgIEpTX0VYUE9SVF9QUklW
QVRFIEJpZ0ludE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKaW5kZXggZDllNWYzZTJkZGY1YmQ3
MDExNTAwNTRmMmFiNmUxYmQxODQ1NWVjZC4uN2M1MmU0YjE4NzRhYjQyZDc0OTIxNDc2MWIxYTYz
Mzc5ODBmYjkyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50
UHJvdG90eXBlLmgKQEAgLTU2LDExICs1Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwotCiBwcml2YXRl
OgogICAgIEJpZ0ludFByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5oCmluZGV4IGVmYWZjYTg0ZTE3YjYwNzBjNmRhZThjNTgxOWQyZGFkMDNkZGQ4YTUuLmU2M2I5
NTA2NGYxNjZmMWU0YTFkNzQwNzA3OGIwYjU2ZjhhZWM4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUs
OSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7IAogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBCb29sZWFuUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgQm9vbGVh
bkNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEJvb2xlYW5Qcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShCb29sZWFuQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKaW5kZXggMmQy
MDA4Y2E2MWIzOTA3NzAzM2Q2NGUzZjg1OWE1YWY2ZjY4MjNmZS4uMGFhYjA1NTkxODhkZjUyMWNl
ZWYyOTM4Yjc4MzU1MGNhZGYyMmY3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaApAQCAtNDMsMTEgKzQzLDkgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
Kik7Ci0KIHByaXZhdGU6CiAgICAgQm9vbGVhblByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJvb2xlYW5Qcm90b3R5cGUsIEJvb2xlYW5P
YmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25z
b2xlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0
LmgKaW5kZXggNDY3MTk0MjAwNzMyNTI1YzcxZmNiMDMyY2RkM2I2NTQ5MTYxMWI2Yy4uNGRkYWE1
ZDU2MmFiNDgxZTg1ZDQ4ZTA5Njc2NzgzNzJiMDYyODc4YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbnNvbGVPYmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNw
YWNlIEpTQyB7CiAKIGNsYXNzIENvbnNvbGVPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7Ci1wcml2YXRlOgotICAgIENvbnNvbGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsK
LQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC01Nyw3
ICs1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBDb25zb2xl
T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IDkyYjhlZDNiYmM4NzI0NTA1Yzg3ZmFlYTAzYTc0OTRj
ODY0NDNkNzkuLmIzMjRlMDU5MTUzZjM1YjQzNDljMjU2MjJlODc4N2Y4MDA1Y2RkMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCkBAIC00
NiwxMSArNDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIERhdGVQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBE
YXRlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgRGF0ZVByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKERhdGVDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAppbmRleCBhODg4NmIxMGFiZjk2
OTBlZjM4MjMxZjUxZWU1N2U0NjI3MWFmZDQ2Li5lZWFhZDM3Y2I0YTViNmM1NjE3Yjk3NjE3Mjlh
MDA2MjU5NzM5ZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVBy
b3RvdHlwZS5oCkBAIC0yNyw5ICsyNyw2IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgT2JqZWN0
UHJvdG90eXBlOwogCiBjbGFzcyBEYXRlUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBEYXRlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNTUsNyArNTIsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgRGF0ZVByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5o
CmluZGV4IDlhNWE0NjMyMWIzZGJiNzY0YzJhMWI1MjFkOTI2OGY4ZDE0MzUzMzMuLjZlMWJlYWE2
MTFlNzY3ZGViMzNlYjRiMWYwNjZjZWQxZWZiNWY1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTQ1LDE1ICs0NSwxMiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksIGluZm8oKSk7IAogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBFcnJvckNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEVycm9yUHJvdG90eXBlKik7CiAKICAgICBzdGF0aWMgYm9vbCBwdXQoSlNDZWxsKiwgSlNHbG9i
YWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAg
IHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgUHJv
cGVydHlOYW1lLCBEZWxldGVQcm9wZXJ0eVNsb3QmKTsKLQotcHJpdmF0ZToKLSAgICBFcnJvckNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Ci0KIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShFcnJvckNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKaW5kZXggYmEx
ZTViNTI3M2RjOTk2OGI2ZDU4ZWM0NjNhMGI0MWE1MDgyYjlmZi4uMjViZTA4NzQyYmI1ZjYyZTBk
ZWY2ODBmZDZjZTgzZDQ5YjNhYTA4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvclByb3RvdHlwZS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIHByb3RvdHlwZTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgRXJy
b3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GaWxlQmFzZWRGdXp6ZXJBZ2VudC5oCmluZGV4IGM5MjkxMWZk
NDM5Y2FlZDI5ZGFmZWM2Y2M0MTZlNDFkM2U3ZDRhNDMuLjc1ZTAzMzU3MTkxMDgwYzEzN2E0ODIz
MjM4YjU0YTczYjRjOGYxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBGaWxl
QmFzZWRGdXp6ZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBGaWxlQmFzZWRGdXp6ZXJBZ2VudEJhc2Ug
ewogcHVibGljOgogICAgIEZpbGVCYXNlZEZ1enplckFnZW50KFZNJik7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgU3BlY3VsYXRlZFR5cGUgZ2V0UHJlZGljdGlvbkludGVybmFsKENvZGVC
bG9jayosIFByZWRpY3Rpb25UYXJnZXQmLCBTcGVjdWxhdGVkVHlwZSBvcmlnaW5hbCkgb3ZlcnJp
ZGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaAppbmRleCA5NmIwMzRhYmVmZWI5MWM1NzU0ZDE0YmQxMWU4MTAwYjZiOGNlYzJm
Li41NmIyNzU0NTUyZTZjMjE5NzJhOWZhYTllYjE0ZTk4NTlmYTFjYzA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTQ2LDEx
ICs0Niw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCiBwcml2YXRl
OgogICAgIEZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiB9OwogU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoRnVuY3Rpb25Qcm90b3R5cGUsIEludGVybmFsRnVuY3Rpb24p
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRh
LmgKaW5kZXggZGU1ZTBiMDBkMzRjZGZjMDcwOTU3ZjE0MDZiMzBiZGU1ZjZkYzgwNS4uOGVhNmFj
MDZiYmIzNTJkOWQ4YjQ5NWU5NzQxODgxNTNkYjZhNzk5MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaApAQCAtMTM4LDEzICsxMzgsMTIg
QEAgcHVibGljOgogICAgIFdhdGNocG9pbnQqIGNyZWF0ZUFsbG9jYXRpb25Qcm9maWxlQ2xlYXJp
bmdXYXRjaHBvaW50KCk7CiAgICAgY2xhc3MgQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNo
cG9pbnQ7CiAKLXByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBGdW5jdGlvblJhcmVEYXRhKFZNJiwg
RXhlY3V0YWJsZUJhc2UqKTsKLSAgICB+RnVuY3Rpb25SYXJlRGF0YSgpOwotCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKKyAgICBleHBsaWNpdCBG
dW5jdGlvblJhcmVEYXRhKFZNJiwgRXhlY3V0YWJsZUJhc2UqKTsKKyAgICB+RnVuY3Rpb25SYXJl
RGF0YSgpOworCiAgICAgLy8gSWRlYWxseSwgdGhlcmUgd291bGQgb25seSBiZSBvbmUgYWxsb2Nh
dGlvbiBwcm9maWxlIGZvciBzdWJjbGFzc2luZyBidXQgZHVlIHRvIFJlZmxlY3QuY29uc3RydWN0
IHdlCiAgICAgLy8gaGF2ZSB0d28uIFRoZXJlIGFyZSBzb21lIHByb3MgYW5kIGNvbnMgaW4gY29t
cGFyaXNvbiB0byBvdXIgY3VycmVudCBzeXN0ZW0gdG8gdXNpbmcgdGhlIHNhbWUgcHJvZmlsZQog
ICAgIC8vIGZvciBib3RoIEpTIGNvbnN0cnVjdG9ycyBhbmQgc3ViY2xhc3NlcyBvZiBidWlsdGlu
IGNvbnN0cnVjdG9yczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IDQ4ZWJmZDM3Y2MxODczYWMw
NDY5NzljYzJjZmZjZGE1MzA0M2YwZjguLjY1N2FiMDZkM2U4YWRhNmFhYjE5N2RhMjFjYzY5ZDVj
ZjRhZTY4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVy
YXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAtNTYsMTEgKzU2LDkgQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKFZN
JiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9HZW5lcmljVHlwZWRBcnJheVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCmluZGV4IDgxZWQwOGE0NjdlNjk1ZGExNDliYmRlMWQw
OGEzZDAxZjJkOTg2ZmQuLjRmODY0ZWQwY2IxZDI3ZmZmZThhZTM2ZTJkOTQ0NmJkZGJhYmExMDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFy
cmF5Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBl
ZEFycmF5Vmlldy5oCkBAIC0zMiw5ICszMiw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBBZGFwdG9yPgogY2xhc3MgR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDog
cHVibGljIEFycmF5QnVmZmVyVmlldyB7Ci1wcm90ZWN0ZWQ6Ci0gICAgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3KFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWdu
ZWQgbGVuZ3RoKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBSZWY8R2VuZXJpY1R5cGVkQXJyYXlW
aWV3PiBjcmVhdGUodW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgUmVmPEdlbmVyaWNUeXBl
ZEFycmF5Vmlldz4gY3JlYXRlKGNvbnN0IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUqIGFycmF5LCB1
bnNpZ25lZCBsZW5ndGgpOwpAQCAtMTE5LDYgKzExNiw5IEBAIHB1YmxpYzoKICAgICB9CiAKICAg
ICBKU0FycmF5QnVmZmVyVmlldyogd3JhcChKU0dsb2JhbE9iamVjdCosIEpTR2xvYmFsT2JqZWN0
Kikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAgR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFJlZlB0
cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAppbmRl
eCA2ZDZlMWZmNTQ2NmUzY2UwMjE5MDZlNzQyMDFmZTQ0NjM3MGE2MTdkLi45MzIzNmExMDRjZDU3
ZDE0ODQ1MDU5ZWVlOTRmNTM2MmE2ODk5ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3Qu
aApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbk9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXBy
aXZhdGU6Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0KFZNJiwgU3RydWN0dXJl
Kik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBz
dGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJl
RmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNjIsNyArNTksOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaXNhYmxlKFZNJik7CiAgICAgYm9vbCBpc0VuYWJsZWQoVk0mKSBjb25zdDsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmpl
Y3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENv
bGxhdG9yLmgKaW5kZXggMTI3YjVhZWI4N2UxMzQ3MDMxZWZlYjA1MGVmZGJlZTYxNWE0OTY0Ni4u
ZjY2ZWNlMDA2Y2FmODI3OWNiNWI5MjIwNjkyMDIyNDJkZmRkYTUyMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmgKQEAgLTYyLDEyICs2MiwxMSBAQCBw
dWJsaWM6CiAgICAgSlNCb3VuZEZ1bmN0aW9uKiBib3VuZENvbXBhcmUoKSBjb25zdCB7IHJldHVy
biBtX2JvdW5kQ29tcGFyZS5nZXQoKTsgfQogICAgIHZvaWQgc2V0Qm91bmRDb21wYXJlKFZNJiwg
SlNCb3VuZEZ1bmN0aW9uKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bENvbGxh
dG9yKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFVzYWdlIDogdWludDhfdCB7IFNvcnQsIFNlYXJjaCB9Owog
ICAgIGVudW0gY2xhc3MgU2Vuc2l0aXZpdHkgOiB1aW50OF90IHsgQmFzZSwgQWNjZW50LCBDYXNl
LCBWYXJpYW50IH07CiAgICAgZW51bSBjbGFzcyBDYXNlRmlyc3QgOiB1aW50OF90IHsgVXBwZXIs
IExvd2VyLCBGYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmgKaW5kZXggZjc3YWJlZTI4YmMzOWFmYWZhN2Ix
ZWNkOGMyYWQ5MzNkMWMwZDIxMS4uNzkwMWIyZjE0ZWQ4ZjI1NGJkZTg4NjliNzZjN2QxZTIxZmZk
N2ZjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
Q29sbGF0b3JDb25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBT
dHJ1Y3R1cmUqIGNvbGxhdG9yU3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2Jq
ZWN0KCktPmNvbGxhdG9yU3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29sbGF0b3JQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAg
ICBJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29sbGF0b3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvciwgSW50ZXJu
YWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxDb2xsYXRvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bENvbGxhdG9yUHJvdG90eXBlLmgKaW5kZXggZTA1ZmM4ZGE5OWYzOTkyMDRlOWQ4ZTgyYWY2
OTM5NWIyMmE4NGQ3NS4uYTQxY2I1OWNlYjk2OGQ0NTFjNGI1ZjNiNzZkNzI5NzJlYzQ5MTI5NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJv
dG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9y
UHJvdG90eXBlLmgKQEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5G
TzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0
ZToKICAgICBJbnRsQ29sbGF0b3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKaW5kZXgg
NzhlYzAyY2M0MTNhY2U4MjVhMjgwZTQ1ZmQxZmEwYjIwZTQ2NGI1Zi4uN2I4YmM5NTRjM2UwMWY2
YzQ5Y2Q5MThlMWNmNDgxNTNiNjUyNmE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKQEAgLTYyLDEyICs2MiwxMSBAQCBwdWJs
aWM6CiAgICAgSlNCb3VuZEZ1bmN0aW9uKiBib3VuZEZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRGb3JtYXQuZ2V0KCk7IH0KICAgICB2b2lkIHNldEJvdW5kRm9ybWF0KFZNJiwgSlNCb3Vu
ZEZ1bmN0aW9uKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9y
bWF0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFdlZWtkYXkgOiB1aW50OF90IHsgTm9uZSwgTmFycm93LCBT
aG9ydCwgTG9uZyB9OwogICAgIGVudW0gY2xhc3MgRXJhIDogdWludDhfdCB7IE5vbmUsIE5hcnJv
dywgU2hvcnQsIExvbmcgfTsKICAgICBlbnVtIGNsYXNzIFllYXIgOiB1aW50OF90IHsgTm9uZSwg
VHdvRGlnaXQsIE51bWVyaWMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oCmluZGV4IDJhMDYx
ZWMwZWRlNmNhYjk1OGM0YTUxYWQ3Yzk2NTU5ZmU3MWExYTAuLjU1MDBjM2RiYjlkOGY3MTRlZDkw
MGVhMWNmOGYwMDM1MTE4MWQyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaApAQCAtNDUs
MTEgKzQ1LDkgQEAgcHVibGljOgogCiAgICAgU3RydWN0dXJlKiBkYXRlVGltZUZvcm1hdFN0cnVj
dHVyZShWTSYpIGNvbnN0IHsgcmV0dXJuIGdsb2JhbE9iamVjdCgpLT5kYXRlVGltZUZvcm1hdFN0
cnVjdHVyZSgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgSW50bERhdGVU
aW1lRm9ybWF0Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IDBlNDEwZGEw
NjFkNmNlYzhiZWNjMWZhOGE4YjY2MDVmZGE4MjA1YjAuLmRmMTJkNDM0NmE1ZGZiODlmYmNhODQz
ZWQxMmU3MDUyYTk3NTZjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCkBAIC00NywxMSArNDcs
OSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9ybWF0
UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmgKaW5kZXggOWYxMGI1ZDQzNjcwYjhkZTJmNmY0MGU0
ZDc3MzM4NWUzNTZmMTgwMS4uMTM1N2U1NzVjMWFkODk1NmM1YzFmNjlmOGYyMjFkMjRkMTMyNjRi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZv
cm1hdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3Jt
YXQuaApAQCAtNjYsMTIgKzY2LDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGZvcm1h
dFRvUGFydHNJbnRlcm5hbChKU0dsb2JhbE9iamVjdCosIGRvdWJsZSwgY29uc3QgU3RyaW5nJiBm
b3JtYXR0ZWQsIFVGaWVsZFBvc2l0aW9uSXRlcmF0b3IqLCBKU0FycmF5KiwgSlNTdHJpbmcqIHVu
aXQgPSBudWxscHRyKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJbnRsTnVtYmVyRm9y
bWF0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFN0eWxlIDogdWludDhfdCB7IERlY2ltYWwsIFBlcmNlbnQs
IEN1cnJlbmN5IH07CiAgICAgZW51bSBjbGFzcyBDdXJyZW5jeURpc3BsYXkgOiB1aW50OF90IHsg
Q29kZSwgU3ltYm9sLCBOYW1lIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKaW5kZXggNWI1MjAw
MjAyMTc3MmRkMGNiMjY2N2JkNTkxZWZjYTNmZmM5ZTA5OC4uYzljMDA1ZWU4OGVlOGQ4MzQ3ZDBl
ZGUxZmM3Y2M0ODhjMmM0MGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ1LDExICs0
NSw5IEBAIHB1YmxpYzoKIAogICAgIFN0cnVjdHVyZSogbnVtYmVyRm9ybWF0U3RydWN0dXJlKFZN
JikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPm51bWJlckZvcm1hdFN0cnVjdHVyZSgp
OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bE51bWJl
ckZvcm1hdFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEludGxOdW1iZXJGb3JtYXRDb25z
dHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJ
bnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9u
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51
bWJlckZvcm1hdFByb3RvdHlwZS5oCmluZGV4IDY5ZGUyNDU0ODgzNTM5NWU4ZTZmYjJmMTUyNDlk
OTNiMTU0MDZlZTMuLjYxNzVmOWRkMDkzNzkyOWY4ZmViZGFjYmM0ZThmY2RkNDZiYzM3NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVy
Rm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQog
cHJpdmF0ZToKICAgICBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVs
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCmlu
ZGV4IDA1NTQ3Zjg0YzRlNzBkOTUwNDgwOWI5MWQ0NzUwYjMzZGU0M2UwYzkuLjdhYTUyZWQwOGE2
MDZkY2FjNDBlZGI5ODQ0YTk3YjNmM2JkYjE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCkBAIC01NywxMiArNTcsMTEgQEAgcHVibGlj
OgogICAgIEpTVmFsdWUgc2VsZWN0KEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKTsKICAg
ICBKU09iamVjdCogcmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgSW50bFBsdXJhbFJ1bGVzKFZNJiwgU3RydWN0dXJlKik7CiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBzdHJ1Y3QgVVBsdXJhbFJ1
bGVzRGVsZXRlciB7CiAgICAgICAgIHZvaWQgb3BlcmF0b3IoKShVUGx1cmFsUnVsZXMqKSBjb25z
dDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmgKaW5kZXggOTIyMzdkMTA2ZjhlMjc5ZDViMzRl
ZTNiMTkzMjc3N2EzNGZkZGE5NS4uN2YzZDAzZmVjYTU2MWEwYTQ4NTdjODA4ZGVjYjNhZmM0YmMy
M2Q5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJh
bFJ1bGVzQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAK
ICAgICBTdHJ1Y3R1cmUqIHBsdXJhbFJ1bGVzU3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4g
Z2xvYmFsT2JqZWN0KCktPnBsdXJhbFJ1bGVzU3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUqKTsK
LQogcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5
cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsUGx1cmFs
UnVsZXNDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc1Byb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKaW5k
ZXggOWExYzJmMTY5MjA1ZDNhMWQzMmNmYTNmOGRiNmE0NzAxOGYwZTFkOC4uNmZhYTNhNGY3OGFl
YTU5ODQzMmNiMTMwMzdmMTAzNTkzNjI1MDg0YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKQEAgLTQ3LDEx
ICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVs
ZXNQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmgKaW5kZXggYzhjY2ZmMjQxNGYzMjZmMjM5MmI2YzNmM2FmY2JjZGMzMTBlZTFlNC4uOTZh
ZTc1YjM4YzMyZTFlMGEzZjEzNWI3OWFlYjI2NzkxYmY5YTljZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIFN0cnVj
dHVyZSogcmVsYXRpdmVUaW1lRm9ybWF0U3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xv
YmFsT2JqZWN0KCktPnJlbGF0aXZlVGltZUZvcm1hdFN0cnVjdHVyZSgpOyB9CiAKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bFJlbGF0aXZlVGltZUZvcm1hdFBy
b3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1
Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRs
UmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IGNjYmFlYThl
NzVhNDgxMjg4MDgyYjU5MDgwYTBhZWRjZWU1MDczNTguLmUwMGViZjA2M2I5ZTU0NjhjY2QzMmQz
Njg5YjBlMzE3ZWVjNjU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ2
LDExICs0Niw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUmVsYXRp
dmVUaW1lRm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmgKaW5kZXggYmEyZTY3MjgzZTRjOGQ1NDMy
NDFhYjA3MDM5YmU5MzFiNmEyMmM0MS4uNmJlYTRjZmYxNDkxZjk5NGFiYzNlODA1NmU2YjQzYzQz
MTUyNWRjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZm
ZXIuaApAQCAtNDAsMTIgKzQwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIHZt
LmFycmF5QnVmZmVyU3BhY2U8bW9kZT4oKTsKICAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAg
SlNBcnJheUJ1ZmZlcihWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgCi1wdWJs
aWM6CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVnaXN0ZXIgdGhlIG5ldyB3cmFwcGVy
IHdpdGggdGhlIHZtJ3MgVHlwZWRBcnJheUNvbnRyb2xsZXIuCiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIEpTQXJyYXlCdWZmZXIqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxB
cnJheUJ1ZmZlcj4mJik7CiAKQEAgLTYxLDEwICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBpcyB0aGUgZGVmYXVsdCBET00gdW53cmFwcGluZy4gSXQgY2FsbHMgdG9VbnNoYXJlZEFycmF5
QnVmZmVyKCkuCiAgICAgc3RhdGljIEFycmF5QnVmZmVyKiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVl
KTsKICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgSlNBcnJheUJ1ZmZlcihWTSYsIFN0
cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CisKICAgICBzdGF0aWMgc2l6ZV90IGVzdGltYXRlZFNp
emUoSlNDZWxsKiwgVk0mKTsKIAotcHJpdmF0ZToKICAgICBBcnJheUJ1ZmZlciogbV9pbXBsOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuaAppbmRleCA0MzEzOWY2YzdmYjVkOTMwMmZiN2UzOTI0MGI1OGZl
OWRhNzEwY2E2Li5mNjVlMDIwMTEyNmE2NmU1MDhmZTE1MTFlZjcyNjNjOTA5ZDFmZDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVy
Q29uc3RydWN0b3IuaApAQCAtMzgsMTMgKzM4LDYgQEAgY2xhc3MgSlNHZW5lcmljQXJyYXlCdWZm
ZXJDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoK
ICAgICB1c2luZyBCYXNlID0gSW50ZXJuYWxGdW5jdGlvbjsKIAotcHJvdGVjdGVkOgotICAgIEpT
R2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSosIEdldHRlclNldHRl
ciogc3BlY2llc1N5bWJvbCk7Ci0KLSAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RBcnJheUJ1ZmZlcihKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwot
Ci1wdWJsaWM6CiAgICAgc3RhdGljIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBl
KiBwcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKICAgICB7CiAgICAgICAg
IEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3VsdCA9CkBAIC01Nyw2ICs1MCwx
MiBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87IC8v
IFRoaXMgaXMgbmV2ZXIgYWNjZXNzZWQgZGlyZWN0bHksIHNpbmNlIHRoYXQgd291bGQgYnJlYWsg
bGlua2FnZSBvbiBzb21lIGNvbXBpbGVycy4KICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvKiBp
bmZvKCk7CisKK3ByaXZhdGU6CisgICAgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihW
TSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVm
ZmVyUHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKKworICAgIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEFycmF5QnVmZmVyKEpTR2xv
YmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CiB9OwogCiB1c2luZyBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IgPSBKU0dlbmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPEFycmF5QnVmZmVyU2hhcmlu
Z01vZGU6OkRlZmF1bHQ+OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oCmluZGV4IGZiNDQ0ODdiMDgyODhhMzQ1NWRlYzQ2
NmVmZDk4YzQ3ZDEyZTgzZjcuLmMwMGNiNzE1YTQzMDc3YzE4Nzc5NGExMjAwMzQ0NWE2MTJjMzFl
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZm
ZXJQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyUHJvdG90eXBlLmgKQEAgLTQwLDE2ICs0MCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSk7Ci0KLXB1
YmxpYzoKICAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlID0gQXJyYXlC
dWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdCk7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogICAg
IAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
c3luY0dlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBc3luY0dl
bmVyYXRvci5oCmluZGV4IDI3ZDUyNzkzZWYzZWI5NzgyMmJmYWI2ZTg0OTRlZTlkNzBlNmU3NTcu
LjZhOTBlOTdhMzkzYWIyMmYwODE1ZDA4ZmYyN2QxMWExM2RjODc3MmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXN5bmNHZW5lcmF0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FzeW5jR2VuZXJhdG9yLmgKQEAgLTk3LDcgKzk3
LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBT
bG90VmlzaXRvciYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpTQXN5bmNHZW5lcmF0
b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAppbmRl
eCBkOGQxNmM4ODU1OWJkZTVkOWI4MWE2NmMxMDgxYjAwMDJhM2UxNGExLi5lNjQyYWUzMDQ4ZDEw
OWI3NGVlMWRhNTVmZjU5MTQ3ZDE3YzY5MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaApAQCAtODAsMTMgKzgwLDExIEBAIHB1YmxpYzoK
IAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQogcHJpdmF0ZToKICAgICBKU0JvdW5k
RnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBKU09iamVjdCogdGFyZ2V0RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU0ltbXV0
YWJsZUJ1dHRlcmZseSogYm91bmRBcmdzLCBKU1N0cmluZyogbmFtZU1heUJlTnVsbCwgaW50IGxl
bmd0aCk7Ci0gICAgCisKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0
YWJsZSosIGludCBsZW5ndGgpOworICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV90YXJnZXRG
dW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNldHRlckZ1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNl
dHRlckZ1bmN0aW9uLmgKaW5kZXggODYzODViNDI3MTdhY2IwY2NmNmQyOGQ1MjBiMGYxMjhhOWUz
MzIwNi4uMmUwYzc0NWY3NjgxZTFmNTRlNWJlZDIxZWIyMjkyMzg2N2IzZGViMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5j
dGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVy
U2V0dGVyRnVuY3Rpb24uaApAQCAtNTYsMTIgKzU2LDEwIEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0KIHByaXZhdGU6CiAgICAgSlNDdXN0b21HZXR0
ZXJTZXR0ZXJGdW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSosIFR5cGUsIGNvbnN0IFByb3BlcnR5TmFtZSYpOwogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgQ3VzdG9tR2V0dGVyU2V0dGVyKiwgY29u
c3QgU3RyaW5nJik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOwogCiAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY3Vz
dG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25DYWxsKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaAppbmRleCA5OGE4
Y2M4YjM5OGZmZGQ3YTFjOTRiZTY1N2Y2NTVlNmNjN2I5ZjcyLi5lZGY2MWQ1MjI2MTI2YTA2ZWFl
MDJkOTQ5YTAzZjgxZjdiYjliYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGFWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNEYXRhVmlldy5oCkBAIC00MCwxMSArNDAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBy
ZXR1cm4gdm0uZGF0YVZpZXdTcGFjZTxtb2RlPigpOwogICAgIH0KLSAgICAKLXByb3RlY3RlZDoK
LSAgICBKU0RhdGFWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4dCYsIEFycmF5QnVmZmVyKik7
Ci0gICAgCi1wdWJsaWM6CisKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNEYXRhVmll
dyogY3JlYXRlKAogICAgICAgICBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFJlZlB0cjxB
cnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwKICAgICAgICAgdW5zaWduZWQgYnl0
ZUxlbmd0aCk7CkBAIC02OCw3ICs2NCwxMyBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIGNv
bnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsK
IAotcHJvdGVjdGVkOgorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIAorICAgIERFQ0xBUkVf
RVhQT1JUX0lORk87CisKK3ByaXZhdGU6CisgICAgSlNEYXRhVmlldyhWTSYsIENvbnN0cnVjdGlv
bkNvbnRleHQmLCBBcnJheUJ1ZmZlciopOworCiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogICAgIHN0YXRpYyBib29sIHB1dChKU0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wg
ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFt
ZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CkBAIC03Niwx
MiArNzgsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCBnZXRPd25Ob25JbmRleFBy
b3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5
JiwgRW51bWVyYXRpb25Nb2RlKTsKIAotcHVibGljOgotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwot
ICAgIAotICAgIERFQ0xBUkVfRVhQT1JUX0lORk87Ci0KLXByaXZhdGU6CiAgICAgQXJyYXlCdWZm
ZXIqIG1fYnVmZmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNEYXRhVmlld1Byb3RvdHlwZS5oCmluZGV4IDViNjg1MDRhZGMzYmU1MDk2MjU4NjE1MTI0
MmMzOTBlNjM2MGY5MGIuLjkxMmY3YTNiMjk1NDBiOWFjM2YxYjk4M2NlMmI0OWQ4YWExZWEzM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90
b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJv
dG90eXBlLmgKQEAgLTQxLDE3ICs0MSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAmdm0u
cGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU0RhdGFWaWV3UHJv
dG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNEYXRhVmlld1Byb3RvdHlwZSogY3JlYXRlKFZNJiwg
U3RydWN0dXJlKik7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogICAgIAogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBw
cm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpTRGF0YVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1
Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2Vu
ZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvci5oCmlu
ZGV4IDZkNjFhYjU2YTQ4NzJiYmZkZTZhMjllNzc2MTY3MmQ3M2MxN2I0MTcuLmZjNGMyZTUxYmMx
NGI3ODcxM2M2OGU1Y2JlNWUyNDlmY2ZjNzA3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHZW5lcmF0b3IuaApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgSlNHZW5lcmF0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKaW5kZXggM2I3YmJkZTc2
NWNlMWMzNTY1NTBlY2Q1OGI3N2ZlZDlkNjEwNmY1Yy4uMzA2NGJlNWI3MWY5ZmU4MTYzMGM0MTI3
OTlkZWEyZDFkZGQ1NTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCkBAIC05OSwxMSArOTksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZl
bldoZW5MZW5ndGhJc05vdFplcm87CiAKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGVs
ZW1lbnRTaXplID0gc2l6ZW9mKHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUpOwotICAgIAotcHJvdGVj
dGVkOgotICAgIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4
dCYpOwotICAgIAotcHVibGljOgorCiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
KiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBsZW5ndGgpOwog
ICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyogY3JlYXRlV2l0aEZhc3RWZWN0b3Io
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBsZW5ndGgsIHZvaWQqIHZlY3Rv
cik7CiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KiBjcmVhdGVVbmluaXRpYWxp
emVkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgdW5zaWduZWQgbGVuZ3RoKTsKQEAgLTI5
Nyw5ICsyOTMsMTEgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgRE9NIHVu
d3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5zaGFyZWROYXRpdmVUeXBlZFZpZXcoKS4KICAgICBzdGF0
aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQoVk0mLCBKU1Zh
bHVlKTsKICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZnJpZW5kIHN0cnVjdCBUeXBl
ZEFycmF5Q2xhc3NJbmZvczsKIAorICAgIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFZNJiwgQ29u
c3RydWN0aW9uQ29udGV4dCYpOworCiAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHRocm93TmV1
dGVyZWRUeXBlZEFycmF5VHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUs
IFByb3BlcnR5TmFtZSk7CiAKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNP
YmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CkBA
IC0zMTYsNyArMzE0LDYgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVk
U2l6ZShKU0NlbGwqLCBWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgc3Vj
Y2Vzc2Z1bCwgYW5kIGZhbHNlIG9uIGVycm9yOyBpdCB3aWxsIHRocm93IG9uIGVycm9yLgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIE90aGVyQWRhcHRvcj4KICAgICBib29sIHNldFdpdGhTcGVjaWZp
Y1R5cGUoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKaW5kZXggMWZiNjBjYjhk
MmM5YjBkZWMwYmU0NjZhOGExOWY0MTE5ZDZhNzE5NC4uNGRjNGFlYTY4MTYzYTkzMWFiNThkNjEw
Njg2YWNmMDg5MTA1OTIyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaApA
QCAtMzIsMTMgKzMyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3
Q2xhc3M+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZpbmFsIDog
cHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgotICAgIHR5cGVkZWYgSW50ZXJuYWxG
dW5jdGlvbiBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBJbnRlcm5hbEZ1bmN0aW9uOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVj
dHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBwcml2YXRlQWxsb2NhdG9yKTsKLQotcHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yKiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUs
IEZ1bmN0aW9uRXhlY3V0YWJsZSogcHJpdmF0ZUFsbG9jYXRvcik7CiAKQEAgLTQ4LDYgKzQzLDEw
IEBAIHB1YmxpYzoKICAgICBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAKICAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUg
cHJvdG90eXBlKTsKKworcHJpdmF0ZToKKyAgICBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0
cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBG
dW5jdGlvbkV4ZWN1dGFibGUqIHByaXZhdGVBbGxvY2F0b3IpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRleCAzMjlkZDQzZWFiMWI0
ZWZmMzdiYmMyZWMyNjE5MWJlMGFmNGVlMjZkLi5lMDhkNjFlNGJhZWUzNGFmNDJlNTY1Yjk3MDVh
NzBkNWVkZDNiZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKQEAgLTQxLDEx
ICs0MSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsK
ICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqKTsKIAotcHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZSogY3JlYXRlKAogICAgICAgICBWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oCmluZGV4IDM2ZmViOTA0MDRkY2Zm
MDQ5YTczZWIxYzRiOTE4MTNjNjQ2Mzg1MmEuLjhiZWI5ZWQzZmJmZGUwOTRiY2Q3ZjA1MzU5ZTc0
NmFkNmZiZTM3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBq
c051bGwoKSwgVHlwZUluZm8oR2xvYmFsTGV4aWNhbEVudmlyb25tZW50VHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU0ds
b2JhbExleGljYWxFbnZpcm9ubWVudChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Nj
b3BlKiBzY29wZSkKICAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIHNjb3BlKQogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5oCmluZGV4
IDdkNDlmYWUyNDAyNmUyYjY1Zjc2NGJhMWMxNGUxMWYwYjQwMGZmYjAuLjFlMDZiNzcwYTFmOGFj
YmEzNDEwZGMyMWFlZTBmZmUwMWFlZTljMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIuaApAQCAtMzYsOCArMzYsNiBAQCBjbGFzcyBKU01vZHVs
ZVJlY29yZDsKIGNsYXNzIFNvdXJjZUNvZGU7CiAKIGNsYXNzIEpTTW9kdWxlTG9hZGVyIGZpbmFs
IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBKU01vZHVsZUxvYWRl
cihWTSYsIFN0cnVjdHVyZSopOwogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFs
T2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC05Myw3ICs5
MSw4IEBAIHB1YmxpYzoKICAgICBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogZ2V0TW9kdWxlTmFt
ZXNwYWNlT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBtb2R1bGVSZWNvcmQpOwogICAg
IEpTQXJyYXkqIGRlcGVuZGVuY3lLZXlzSWZFdmFsdWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU1Zh
bHVlIGtleSk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgSlNNb2R1bGVMb2FkZXIoVk0m
LCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kiwg
Vk0mKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TW9kdWxlTmFtZXNwYWNlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U01vZHVsZU5hbWVzcGFjZU9iamVjdC5oCmluZGV4IDgxMTM2NGRkMTdhMTNlN2VmYmZjZjFjOWUy
ODYzMGUyNDJhNzEyNGUuLmY4MTA3ZWQ1YzZkODc3MzhmNjk5YmRiOTg0MGU1ZTMzMWQ2MzI3Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNw
YWNlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuaApAQCAtNjksMTEgKzY5LDkgQEAgcHVibGljOgogCiAgICAgQWJzdHJh
Y3RNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCgpIHsgcmV0dXJuIG1fbW9kdWxlUmVjb3JkLmdl
dCgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiwgQWJzdHJhY3RNb2R1bGVSZWNvcmQqLCBWZWN0b3I8c3Rk
OjpwYWlyPElkZW50aWZpZXIsIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpSZXNvbHV0aW9uPj4mJik7
Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QoVk0mLCBTdHJ1
Y3R1cmUqKTsKLQogcHJpdmF0ZToKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU01vZHVsZU5hbWVz
cGFjZU9iamVjdChWTSYsIFN0cnVjdHVyZSopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqLCBBYnN0cmFjdE1vZHVsZVJlY29yZCosIFZl
Y3RvcjxzdGQ6OnBhaXI8SWRlbnRpZmllciwgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRp
b24+PiYmKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNp
dG9yJik7CiAgICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RDb21tb24oSlNHbG9iYWxPYmplY3Qq
LCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmgKaW5kZXggMzA0YTBmOTY5Zjdh
N2Q3OTA0ODYwNDJkZTBhYzA1MGU0N2E3YWQ5Zi4uMGEyMzYwZjNiODI3ZmE4NDQ5OGVhZDVhZDI4
NTJiNDhlNmRlYTVjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNOYXRpdmVTdGRGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTmF0aXZlU3RkRnVuY3Rpb24uaApAQCAtNjIsMTMgKzYyLDEwIEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IE5hdGl2ZVN0ZEZ1bmN0aW9uJiBmdW5jdGlvbigpIHsgcmV0dXJuIG1fZnVuY3Rpb247
IH0KIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwg
U2xvdFZpc2l0b3ImKTsKLQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKLQogcHJpdmF0ZToKICAg
ICBKU05hdGl2ZVN0ZEZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgTmF0aXZlU3RkRnVuY3Rpb24mJik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcm
IG5hbWUpOworICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0
b3ImKTsKIAogICAgIE5hdGl2ZVN0ZEZ1bmN0aW9uIG1fZnVuY3Rpb247CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCmluZGV4IGNhOTdlN2U1YjQ5ZGZiY2E5
YzQ2Zjc2MDliM2RiNzc3MWI1NGQwMDYuLjkwYWYzNzJkYWI1MjZhMmQ4ZDFiYmViYjIxNWIzYzgy
MTA2ZTY3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05P
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgK
QEAgLTU1LDExICs1NSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBKU09O
T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwog
fTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSBKU09OUGFyc2UoSlNHbG9iYWxPYmplY3Qq
LCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CmluZGV4IDFmZDEyYjBjYTE0ZTg5MTQ0ODVkMDliMGY0N2FiOTVkYWM1MDY1YjAuLmE2ODc4YTZh
NGI0M2IzOGQ1OGUzZjM5Mjg2OTNhZDM3MDI3OTJlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTE2NywyNCArMTE2NywyMyBAQCBwdWJsaWM6CiAKICAg
ICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCB2aXNpdENoaWxk
cmVuQ29tbW9uKFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+dG90YWxTdG9yYWdlQ2FwYWNpdHkoKSA9PSBzdHJ1
Y3R1cmUodm0pLT5pbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2
bSkpOwotICAgIH0KLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0
cmFjdG9yOwogCisgICAgdm9pZCB2aXNpdENoaWxkcmVuQ29tbW9uKFNsb3RWaXNpdG9yJik7CisK
ICAgICBleHBsaWNpdCBKU0ZpbmFsT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gbnVsbHB0cikKICAgICAgICAgOiBKU09iamVjdCh2bSwg
c3RydWN0dXJlLCBidXR0ZXJmbHkpCiAgICAgewogICAgICAgICBnY1NhZmVaZXJvTWVtb3J5KGlu
bGluZVN0b3JhZ2VVbnNhZmUoKSwgc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpICogc2l6ZW9m
KEVuY29kZWRKU1ZhbHVlKSk7CiAgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0pCisgICAgeworICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUodm0pLT50b3RhbFN0b3JhZ2VDYXBhY2l0eSgpID09IHN0cnVjdHVyZSh2
bSktPmlubGluZUNhcGFjaXR5KCkpOworICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7Cisg
ICAgfQogfTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBvYmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUq
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVP
YmplY3REZXNjcmlwdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1RlbXBs
YXRlT2JqZWN0RGVzY3JpcHRvci5oCmluZGV4IGI4Y2ZmYjRiNGU4MTI0OTMxNzgxODVkOGUxMTlk
NzZlOGUyNmJiNTYuLjQwYjU2ZmIxZjFhMzJlYzNiM2YwMzBhY2Q2YWU0NDEwNDQzZTU0ZGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVPYmplY3RE
ZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUZW1wbGF0
ZU9iamVjdERlc2NyaXB0b3IuaApAQCAtNTcsMTIgKzU3LDExIEBAIHB1YmxpYzoKIAogICAgIGlu
dCBlbmRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2VuZE9mZnNldDsgfQogCi1wcm90ZWN0ZWQ6
Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKLQogcHJpdmF0ZToKICAgICBKU1Rl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvcihWTSYsIFJlZjxUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+
JiYsIGludCk7CiAKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworCiAgICAgUmVm
PFRlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcj4gbV9kZXNjcmlwdG9yOwogICAgIGludCBtX2VuZE9m
ZnNldCB7IDAgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCmluZGV4IDM0YTgwNmE1OGUxMTU1
MGIzYmQ2NjQ5NzhmZTM2NWRkYTNhOTEyYTEuLmFhOGNkZTU5MTEzNWYyMGM1MzAzMTQ0NmNjYjRi
OGFjYzQ4YzA2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zNCwxMyArMzQsOCBAQCBj
bGFzcyBHZXR0ZXJTZXR0ZXI7CiAKIGNsYXNzIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciBm
aW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIElu
dGVybmFsRnVuY3Rpb24gQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSW50ZXJuYWxGdW5jdGlvbjsK
IAotcHJvdGVjdGVkOgotICAgIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVj
dHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
VHlwZWRBcnJheVZpZXdQcm90b3R5cGUqLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpOwot
Ci1wdWJsaWM6CiAgICAgc3RhdGljIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUqIHByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBz
cGVjaWVzU3ltYm9sKQogICAgIHsKICAgICAgICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
KiByZXN1bHQgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3I+KHZtLmhlYXApKSBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3Iodm0sIHN0cnVj
dHVyZSk7CkBAIC01MSw2ICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlIHByb3RvdHlwZSk7CisKK3ByaXZhdGU6CisgICAgSlNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSosIEdldHRlclNldHRl
ciogc3BlY2llc1N5bWJvbCk7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGUuaAppbmRleCBkMzhkOGI5NDExN2IyMTE3NjA2Zjk0YzBiYTIyNGYxZGM5
YmZlY2NhLi43MmJiOTM0YjJkYTJlZWIxMjljYWY3ODNlZTAyM2VkNmI0NWQwZTA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmll
d1Byb3RvdHlwZS5oCkBAIC00MCwxNiArNDAsMTUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
JnZtLnBsYWluT2JqZWN0U3BhY2U7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwotCi1wdWJsaWM6CiAgICAgc3RhdGljIEpTVHlwZWRB
cnJheVZpZXdQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Kik7CiAKICAgICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworcHJp
dmF0ZToKKyAgICBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVk
QXJyYXlWaWV3KEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKaW5kZXggZTVmMmZmMWY4NTZjMDcxNGI1ZWI4NjJk
NzhhMDFmNTM4YTNiYWJlZC4uY2Q0ZTY0N2QxZDk1MzM5ZWZjOTc2NjUzZmQwMmFkYTRiY2E3MzE3
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApAQCAtMjUs
OSArMjUsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIE1hdGhPYmplY3QgZmluYWwgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIE1hdGhPYmplY3QoVk0mLCBT
dHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0
OwogCkBAIC01Miw3ICs0OSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
KyAgICBNYXRoT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OYXRpdmVFeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVFeGVjdXRhYmxlLmgKaW5kZXggOWYwNDNmYWQyZTYzYWFiZTRiYjYy
YjVhZDc0OGZlYmQ2ZmY0ZTUyZi4uNzY2Yzk2YWQ0MDQ5NjJiZjRmYTczYTE5ODFhYjg1OTg1YzE0
MmM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhl
Y3V0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUV4ZWN1
dGFibGUuaApAQCAtNzYsMTEgKzc2LDkgQEAgcHVibGljOgogICAgIGNvbnN0IERPTUpJVDo6U2ln
bmF0dXJlKiBzaWduYXR1cmVGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCkgY29uc3Q7CiAgICAg
SW50cmluc2ljIGludHJpbnNpYygpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIFJlZjxKSVRDb2RlPiYmIGNhbGxUaHVuaywgUmVmPEpJVENvZGU+JiYg
Y29uc3RydWN0VGh1bmssIGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KIHByaXZhdGU6CiAgICAgTmF0
aXZlRXhlY3V0YWJsZShWTSYsIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uLCBUYWdnZWROYXRpdmVGdW5j
dGlvbiBjb25zdHJ1Y3Rvcik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZjxKSVRD
b2RlPiYmIGNhbGxUaHVuaywgUmVmPEpJVENvZGU+JiYgY29uc3RydWN0VGh1bmssIGNvbnN0IFN0
cmluZyYgbmFtZSk7CiAKICAgICBUYWdnZWROYXRpdmVGdW5jdGlvbiBtX2Z1bmN0aW9uOwogICAg
IFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIG1fY29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCAwNjU3YzFmMWIzNDA3
ZDRkNDU4ODc5MDZmNmVmNDIwZTNmMDVjNTYyLi5mMjk5YWZiZTM5YzY2NmNiNDE2MmMxYjM1Njg5
ZDQzYjM2MTcwNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051
bWJlckNvbnN0cnVjdG9yLmgKQEAgLTU3LDExICs1Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIHN0ZDo6aXNmaW5pdGUobnVtYmVyKSAmJiB0cnVuYyhudW1iZXIpID09IG51bWJlcjsKICAg
ICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTnVtYmVyUHJv
dG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgTnVtYmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTnVtYmVyUHJvdG90eXBlKik7CiB9
OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoTnVtYmVyQ29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L051bWJlclByb3RvdHlwZS5oCmluZGV4IDJhY2ZkMTEzMjEzN2Q0OTRlYjNiYTIyNGZiMTRhYTEz
YzRkZTA2ZjkuLjNlMDgzZWEzOGU0YjUyZDNlNTNmYmQ1YzBjMWY2YTc3YmIxMWUxZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCkBAIC00
MywxMSArNDMsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE51bWJlck9iamVjdFR5cGUsIFN0
cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBOdW1i
ZXJQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShOdW1iZXJQcm90b3R5cGUsIE51bWJlck9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCmluZGV4IDZhYWI2ZDdhNWNk
MjcwYjEwMDE4YTU5ZjE0NjI2N2U5ODM4Y2U2OWIuLmRlNDM2Yzg5ZTA0M2I3NWNkZTE4ZjJhYjFk
ZmNjNzNjOWUxZGY2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNTMsMTEgKzUzLDkgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBl
SW5mbyhJbnRlcm5hbEZ1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAg
IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIE9iamVjdFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIE9iamVjdENvbnN0cnVj
dG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgT2JqZWN0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoT2JqZWN0Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCmluZGV4
IDU2YjVjYjAxODk1NGE2ZDc4NjY2ZDQ2MmRiOWMzN2NhYTk1ZDczNmIuLjJkZjZkNmUyMWJjMTk0
Mzc5OTliZGVhZmFhZWQyZjU5NjVjODkwZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqKTsKLQogcHJpdmF0ZToKICAgICBPYmplY3RQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIEpT
X0VYUE9SVF9QUklWQVRFIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9G
dW5jVG9TdHJpbmcoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVh
dGluZ0Z1enplckFnZW50LmgKaW5kZXggZDQyMmVhZDA1MTUwOTE3MmJkZjg5Nzc2YzE1MDFmNzhj
MDMwYWNhZi4uNjE3MDI4ZDkyYzY0MTQ4Y2JjMTMxMjFiODNkNzU0NjRiZDBlMjEzOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGlu
Z0Z1enplckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGlj
dGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUHJl
ZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFnZW50IGZpbmFsIDogcHVibGljIEZpbGVCYXNlZEZ1
enplckFnZW50QmFzZQogcHVibGljOgogICAgIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJB
Z2VudChWTSYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFNwZWN1bGF0ZWRUeXBlIGdl
dFByZWRpY3Rpb25JbnRlcm5hbChDb2RlQmxvY2sqLCBQcmVkaWN0aW9uVGFyZ2V0JiwgU3BlY3Vs
YXRlZFR5cGUgb3JpZ2luYWwpIG92ZXJyaWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oCmluZGV4IDc0MzhlNDhiNGE5NTBhMmRjMWRjZmVk
OWJjZTQwYmQyMWU5ZDU4ZTguLjc0MTE5NDcwMjc5ZWZiMmFhMTc2MzlmNDFjNmM0NzQ4YmM1MjJl
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgK
QEAgLTMwLDkgKzMwLDYgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBSZWZsZWN0T2JqZWN0
IGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBSZWZsZWN0
T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNO
b25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAt
NTgsNyArNTUsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVy
ZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgUmVm
bGVjdE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHAuaAppbmRleCBmYWYwMjg5Y2JiMjFhNzU3ZjM4ZmFiZDkyZWNjNDE4NmQ1M2ZkZDY1Li5kZDJl
MWVmN2JjZWE5NmViOWUyY2Q2ZWI1ZTNmYmVlY2FlMTZmN2YyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHAuaApAQCAtMTM5LDEyICsxMzksMTAgQEAgcHVibGljOgogCiAgICAg
UmVnRXhwS2V5IGtleSgpIHsgcmV0dXJuIFJlZ0V4cEtleShtX2ZsYWdzLCBtX3BhdHRlcm5TdHJp
bmcpOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFJlZ0V4cENhY2hlOwogICAgIFJlZ0V4cChWTSYsIGNv
bnN0IFN0cmluZyYsIE9wdGlvblNldDxZYXJyOjpGbGFncz4pOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKIAogICAgIHN0YXRpYyBSZWdFeHAqIGNyZWF0ZVdpdGhvdXRDYWNoaW5nKFZN
JiwgY29uc3QgU3RyaW5nJiwgT3B0aW9uU2V0PFlhcnI6OkZsYWdzPik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGM0MDVl
YmU5M2FhMmE1ZTg0NTYxYTUwMDM4ZjIzZjBiM2FiZDZmNDcuLmVmNzk4ODllM2E1ZDczY2M2YzY0
MTA4YWY3YzFkNTIxZTUyZDZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAg
ICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIFJlZ0V4cFByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llcyk7Ci0KIHByaXZhdGU6
CiAgICAgUmVnRXhwQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgUmVnRXhwUHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzKTsK
IH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShSZWdFeHBDb25zdHJ1Y3Rv
ciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwT2JqZWN0LmgKaW5kZXggODU3Y2EyZTcyYWYzNDBlYWUzNjU3MDFkNTVjYTA3ZWQ4M2Uw
YjE4My4uNzFiZjk4YjJmMzIyOWU1NmU1ZmMxYjY0ZWNhYWJiMGE1ZTk5MDllYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTEyOCw3ICsxMjgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBzaXplb2YoUmVnRXhwT2JqZWN0KTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVnRXhwT2Jq
ZWN0KFZNJiwgU3RydWN0dXJlKiwgUmVnRXhwKik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogCkBAIC0xNTAsNyArMTUwLDYgQEAgcHJvdGVjdGVkOgog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGdldEdlbmVyaWNQcm9wZXJ0eU5hbWVz
KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0
aW9uTW9kZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJv
cGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJv
cGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CiAKLXByaXZhdGU6CiAgICAgTWF0
Y2hSZXN1bHQgbWF0Y2hJbmxpbmUoSlNHbG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogCiAgICAg
dWludHB0cl90IG1fcmVnRXhwQW5kTGFzdEluZGV4SXNOb3RXcml0YWJsZUZsYWcgeyAwIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oCmluZGV4
IGY2ZDUxZWNlYThkYzg1ZDE0NmQ5YmY2ZDQxZjRkMGJmMzA3YThiYzEuLmZlMTJjOWM0ZDI4NjUz
NTJiODY0OWRmNzYwZmI1ZWIwNmI4MmYxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oCkBAIC01MSwxMCArNTEsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKLSAgICBSZWdFeHBQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQog
cHJpdmF0ZToKKyAgICBSZWdFeHBQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKaW5kZXggNTM3YjBkMWM0
ZDc5NGE2OTQzNjkzMzRiOTI5OTJhZDE3YTNkMDZmYS4uZDEzMjFiNTQzMDkwYzFmZTFmZGM1NDEy
MGVkZWU2ZmRiNzE1ODRhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RyaW5nUHJvdG90eXBlLmgKQEAgLTMwLDkgKzMwLDYgQEAgY2xhc3MgUmVnRXhwOwogY2xhc3Mg
UmVnRXhwT2JqZWN0OwogCiBjbGFzcyBTdHJpbmdQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgU3Ry
aW5nT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgU3RyaW5nUHJvdG90eXBlKFZNJiwgU3RydWN0dXJl
Kik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gU3RyaW5nT2JqZWN0OwogICAgIHN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC00Niw3ICs0Myw4IEBAIHB1YmxpYzoKIAog
ICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBTdHJpbmdQcm90
b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNF
X1NIQVJBQkxFKFN0cmluZ1Byb3RvdHlwZSwgU3RyaW5nT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKaW5kZXggMWRiZGMwYzI3MWNiMzIxYmJmYjhlMTM0
M2I5MjFkNjRmZDkyOTZhMS4uNWJhM2Q5NzI0MzRkMTFjMGEwOTJiZWJmYTlhNzUyODBhMDIwNmRl
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAgLTE0Niw3
ICsxNDYsNyBAQCBwdWJsaWM6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBp
c1ZhbGlkUHJvdG90eXBlKEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3lt
Ym9sLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCA1MzBm
ZTUyM2ViNjYxYzVlMTZmZDJkNTkyZWY3NzZlODc1MjQwNTM3Li40OTg5OGFkOTEzNjBmNGFmMzNi
OTRhNjZiYjg4YTAzZjA1YmNkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TeW1ib2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2wuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZG
U0VUT0YoU3ltYm9sLCBtX3ByaXZhdGVOYW1lKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZh
dGU6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogICAgIFN5bWJvbChWTSYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9y
LmgKaW5kZXggMTk0YTQ0ZWE0YmZmYTBiOTZiMzA1NzIwMjEyYzkzOWE4ZjMxNTNiNC4uNjM5NTM3
ZDljZGZkYWVkMDZlODAxNGQyMWI3MmE5N2E5NmQ0MTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC01MiwxMSArNTIsOSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIFN5bWJvbFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFN5bWJvbENvbnN0
cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5
bWJvbFByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KFN5bWJvbENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaAppbmRleCA5Y2U0ODBjZGI2MDc4YjRjZDlk
NDE2Yzg2MDc4NTVjNTBmZmNiNDgyLi45NzcyYWIzMzg5OTRjYjFkOGFmMDdiYjRhZmJjZTA1Mjhi
Njk2MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3Qu
aApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
TmFtZShjb25zdCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5
bWJvbCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN5bWJvbE9iamVjdChWTSYsIFN0cnVjdHVy
ZSopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90
eXBlLmgKaW5kZXggZTIzNWYxMjQ4Y2EwNGE1MTQwMTczYmRiODE0MTIzNTc3OTIzNDM5MC4uODhh
MmQ3ZGY5Y2RjMWFlM2IwMTE0NzQ2Zjk2ZWZmMjc1ZjhhOTdlZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKQEAgLTU4LDcgKzU4LDcgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFN5bWJvbFByb3RvdHlwZShW
TSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
VHJhcHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKaW5k
ZXggODQ0OWQ0NTdhZTUwOTNlMmE4YzdmMjhlNjY5Mzc5YTE1MjA4OTY3NC4uNGZjOTA3YWM0MjY2
ZTliYzNhYjExYTgxMTUxYzMyOGRhZTgzOWM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk1UcmFwcy5jcHAKQEAgLTI0NCw3ICsyNDQsNyBAQCBwdWJsaWM6CiAKICAgICBWTVRy
YXBzJiB0cmFwcygpIHsgcmV0dXJuIG1fdm0udHJhcHMoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIFBvbGxSZXN1bHQgcG9sbChjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRl
CiAgICAgewogICAgICAgICBpZiAodHJhcHMoKS5tX2lzU2h1dHRpbmdEb3duKQpAQCAtMjg4LDgg
KzI4OCw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogICAgICAgICByZXR1cm4gV29ya1Jlc3Vs
dDo6Q29udGludWU7CiAgICAgfQotICAgIAotcHJpdmF0ZToKIAogICAgIFZNJiBtX3ZtOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcAppbmRleCA2N2IxNTUzMDg3N2UzOTYxYjZj
MTZkZjgyN2E5MmQ0ZGUwYjc5YTA4Li5iMmRiNjZkODE0NzM4YzJkN2U0NWVlNjg2MWZjNGI5ZmU5
MDM2YzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCkBAIC0xMDMsOSArMTAz
LDYgQEAgc3RydWN0IFJlZ0V4cFRlc3QgewogfTsKIAogY2xhc3MgR2xvYmFsT2JqZWN0IGZpbmFs
IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgR2xvYmFsT2JqZWN0KFZN
JiwgU3RydWN0dXJlKiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cyk7Ci0KIHB1Ymxp
YzoKICAgICB1c2luZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CiAKQEAgLTEyNCw3ICsxMjEsOSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgMCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhHbG9iYWxPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEdsb2JhbE9iamVjdChWTSYsIFN0
cnVjdHVyZSosIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpOworCiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpCiAg
ICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUJCUVBsYW4uaAppbmRleCA1ZTJkZmRmZmM2MzAxYTU2Mjc0MGNmY2MyZTc0
MWQ0ZjM2M2JmODI1Li4yOTRhNzQzMDkxNTFjOTM4N2RlMWJkYTNkNGZjMjIwY2I4Nzc1YmFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKQEAgLTc1LDEyICs3NSwx
MSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBCYXNlOjpwYXJzZUFuZFZhbGlkYXRlTW9kdWxl
KG1fc291cmNlLmRhdGEoKSwgbV9zb3VyY2Uuc2l6ZSgpKTsKICAgICB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgYm9vbCBwcmVwYXJlSW1wbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgY29t
cGlsZUZ1bmN0aW9uKHVpbnQzMl90IGZ1bmN0aW9uSW5kZXgpIG92ZXJyaWRlOwogICAgIHZvaWQg
ZGlkQ29tcGxldGVDb21waWxhdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlOwog
Ci1wcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxl
RnVuY3Rpb24odWludDMyX3QgZnVuY3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVj
dG9yPFVubGlua2VkV2FzbVRvV2FzbUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3Rv
cjxzdGQ6OnVuaXF1ZV9wdHI8SW50ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rp
b25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxh
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oCmluZGV4IDQy
ZGU4MTMzYjcyZmM1ZmU1MTk5YzE5ZjZlMzIzZTllMzdiMWM4ZTEuLjkzMzViM2EwNWI4MGNhZTQ1
ZGI4OWNjYzQ4YzViYzE5YzFkNWVkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21MTEludFBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtTExJbnRQbGFuLmgKQEAgLTc1LDEyICs3NSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGRp
ZFJlY2VpdmVGdW5jdGlvbkRhdGEodW5zaWduZWQsIGNvbnN0IEZ1bmN0aW9uRGF0YSYpIG92ZXJy
aWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcHJlcGFyZUltcGwoKSBvdmVy
cmlkZTsKICAgICB2b2lkIGNvbXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4KSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZENvbXBsZXRlQ29tcGlsYXRpb24oY29uc3QgQWJzdHJhY3RM
b2NrZXImKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRy
PEZ1bmN0aW9uQ29kZUJsb2NrPj4gbV93YXNtSW50ZXJuYWxGdW5jdGlvbnM7CiAgICAgY29uc3Qg
UmVmPExMSW50Q2FsbGVlPiogbV9jYWxsZWVzIHsgbnVsbHB0ciB9OwogICAgIFZlY3RvcjxSZWY8
TExJbnRDYWxsZWU+PiBtX2NhbGxlZXNWZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbVdvcmtsaXN0LmNwcAppbmRleCA0YjU5NmQxYmVhYjkyYmZiZjRiNWFkMjIyOTMzMjNh
MGFjMjIzYTViLi42MTY5M2Y2OWRlNWVlYWRkOTY4MTc5MzlkM2UyOGVkMDhmM2YwZWQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAKQEAgLTYzLDcgKzYz
LDcgQEAgcHVibGljOgogCiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFBvbGxS
ZXN1bHQgcG9sbChjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBhdXRvJiBxdWV1ZSA9IHdvcmtsaXN0Lm1fcXVldWU7CkBAIC0xMjEsNyArMTIxLDYgQEAgcHJv
dGVjdGVkOgogICAgICAgICByZXR1cm4gIldhc20gV29ya2xpc3QgSGVscGVyIFRocmVhZCI7CiAg
ICAgfQogCi1wdWJsaWM6CiAgICAgQ29uZGl0aW9uIHN5bmNocm9uaXplOwogICAgIFdvcmtsaXN0
JiB3b3JrbGlzdDsKICAgICAvLyBXZSBjYW4gb25seSBtb2RpZnkgZWxlbWVudCB3aGVuIGhvbGRp
bmcgdGhlIGxvY2suIEEgc3luY2hyb25vdXMgY29tcGlsZSBtaWdodCBsb29rIGF0IGVhY2ggdGhy
ZWFkJ3MgdGFza3MgaW4gb3JkZXIgdG8gYm9vc3QgdGhlIHByaW9yaXR5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oCmluZGV4IDZhN2Y3M2M0NDcyMGYw
NzEyMzc0NTU3NzU5NDZmZjYxNTIyYTM4MWUuLjM2ZjcyZDU3MTg5ZmM2MzYxOWIyYThkYzA1MzJm
YWVhZDk1NmNhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5LmgKQEAgLTUzLDExICs1Myw5IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBzdGF0aWMgdm9pZCB3ZWJBc3NlbWJseU1vZHVsZUluc3RhbnRpbmF0ZUFzeW5jKEpTR2xvYmFs
T2JqZWN0KiwgSlNQcm9taXNlKiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIEpTT2JqZWN0Kik7CiAgICAg
c3RhdGljIEpTVmFsdWUgaW5zdGFudGlhdGUoSlNHbG9iYWxPYmplY3QqLCBKU1Byb21pc2UqLCBj
b25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSk7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBKU1dlYkFz
c2VtYmx5KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0Kik7CiB9OwogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFz
c2VtYmx5Q29tcGlsZVN0cmVhbWluZ0ludGVybmFsKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1l
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yLmgKaW5kZXggOWY0YWQ4ODE3MzRiYzM1YWYzMzA5ZTAyNTE4YjIx
MDA5MmU5NTBjOS4uNzJmZDA0ZWU3NjAwMjQzODE2ZGFkNjQ3OTc0OGE2YjAxMTQxNTlhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBp
bGVFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlDb21waWxlRXJyb3IuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJF
X0lORk87CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvcihWTSYsIFN0cnVjdHVyZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIEVycm9ySW5zdGFuY2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2Uu
aAppbmRleCBiMmNjMmFmNzk5YTQ2ZDE2MTNlNmIyZjRlMDJiYTA2MDIyNTI0MzBjLi5iZjQ3ZDA2
MjE3MTdkODlhYmM4NzBhMmNjYmVjMzIyZjA5MDI0OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaApAQCAtMTAxLDEy
ICsxMDEsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZHbG9iYWxPYmpl
Y3QoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2ds
b2JhbE9iamVjdCk7IH0KICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mVk0oKSB7IHJldHVybiBP
QkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX3ZtKTsgfQogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSos
IFJlZjxXYXNtOjpJbnN0YW5jZT4mJik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
V2ViQXNzZW1ibHlNb2R1bGUqLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCopOwogICAgIHN0YXRp
YyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToK
ICAgICBSZWY8V2FzbTo6SW5zdGFuY2U+IG1faW5zdGFuY2U7CiAgICAgVk0qIG1fdm07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5r
RXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5r
RXJyb3IuaAppbmRleCA1NWIxZDA4OGZlMDVlM2Y3NjI2ZjdhMzNhZThjOThkY2ZiNmRhZDk2Li43
MTczN2RjYjU1NmIyNDk2ZjdkYWYzZTcyMjE2YjUxZmNjMGZiMmUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiwgU3RydWN0dXJlKik7
CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJseUxp
bmtFcnJvciwgRXJyb3JJbnN0YW5jZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmgKaW5kZXggMTVlZjliNzI1
YjM0MWViYWY2ZWM5Nzc2N2YzMjQ3ODk4NTg5ODA1Yy4uZDQwYmJkMGQ0NDNjNDBhYjBhMzUyZmQ4
YzgyNTU4ZTAzODZlODNiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuaApAQCAtMzksNyArMzksNyBAQCBw
dWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcihWTSYsIFN0cnVjdHVyZSopOwogfTsKIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IsIEVy
cm9ySW5zdGFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IDMy
YjAyOGMwNzE0NzM3YzZjNzJkNmQ5ZjE2NTM2MGQwNjdkNmFjMjUuLjA1ZGI0OGMzZTg5NzNmNDlm
ZjU4ZDRkYjRiZDdjMWViOTRkNDRkNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUNvbXBp
bGVFcnJvclByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5Q29tcGlsZUVy
cm9yQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVj
dG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmgK
aW5kZXggYTZjM2Q0NDNhYjc3MjUwNWY2MzQ2NTNlYjg2MTZkYjdiNTc1MTkzYi4uNTZkZDQ4MjVj
ZDk0YTNlNTFhZTc5M2M0NGI4MTk4ZGE2OGY4NzQxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvclBy
b3RvdHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87
CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6
CiAgICAgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xv
YmFsQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsQ29uc3RydWN0b3IuaAppbmRleCA3ZmNmZWU0ODA1ZjdhNTU1NjVkNjQ3YzkwNTM3
NmVhNjBiOGMyMmM0Li5hMGZlNzgzYmY1MWNkMmY5MTllYmY0MDQ0N2ZkZDdmNTU3MGUyYzgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2Jh
bENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5oCkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAg
ICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgV2ViQXNzZW1ibHlHbG9iYWxQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3Nl
bWJseUdsb2JhbENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvciwg
SW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oCmluZGV4IDJhOTg0NTYzYzMx
YWZiNDlmNGVmMGJjMmIwNmExMGU5YzQ1YWUxYTguLmFjNWJlOGEwY2VhYTJkY2NiYmMzYTcwYjc2
YzFkNDE3ZTA5YTg4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxQcm90b3R5cGUuaApAQCAtNDgsMTEgKzQ4LDkgQEAg
cHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNz
ZW1ibHlHbG9iYWxQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0
YW5jZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUluc3RhbmNlQ29uc3RydWN0b3IuaAppbmRleCBjZDFlYmUzZWE3NzdmYWM2MGIyMGU4ZjU1
OGMzNDM5OGE1YTY2OGJhLi4xZGExYzgwYTE2OGY3OTE1OTU4NDk0ZWFmZWMxY2E0MjdkMjQwOTlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUlu
c3RhbmNlQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IuaApAQCAtNDgsMTEgKzQ4LDkgQEAgcHVibGlj
OgogCiAgICAgc3RhdGljIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogY3JlYXRlSW5zdGFuY2UoSlNH
bG9iYWxPYmplY3QqLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiwgSlNPYmplY3QqIGltcG9ydE9iamVj
dCwgU3RydWN0dXJlKik7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFz
c2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlKik7CiB9OwogU1RB
VElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oCmluZGV4
IDI3MTJiMjc0NDM1MGQ5NzE4ODQ5YWY3ZjdjNTU0MWEzZGEwYzk0YjguLjUxNWIwY2RiMTI5NGEz
NmU0NjU2NDNiNjFlNDFkN2RiZjA4NmE2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmgKQEAg
LTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVk
OgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3Nl
bWJseUluc3RhbmNlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNv
bnN0cnVjdG9yLmgKaW5kZXggNTkzN2JhNzVkYmY2NTRlNDEzZTRmZjcxMDVkMzk0YmJkNTU3ZDE5
Zi4uNDI2NTczMWM3YjU4MWYzYWVhYWFhNTFjNzY5NzA0NzJlZGQwMzExMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlu
a0Vycm9yQ29uc3RydWN0b3IuaApAQCAtNDQsMTEgKzQ0LDkgQEAgcHVibGljOgogCiAgICAgREVD
TEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdl
YkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1i
bHlMaW5rRXJyb3JDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZSopOwogfTsKIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaAppbmRl
eCAxODMxMGMzNWIwM2UzYzgxYzJkY2NmMjIwY2UzYTJmMDdlZmNjM2E2Li5lOWY5MjJlNzI3Zjgy
MGJiZGJkYWUxMWUxN2ExZDAyNDYyNmYwNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgK
QEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJB
c3NlbWJseUxpbmtFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25z
dHJ1Y3Rvci5oCmluZGV4IDNlYmUzZDQxYzQwNDM4OWYzZGY5OWM0ZGRlZTBkMGFlNDY2MGZjZGIu
LmE5Y2NiMWI4ZWFjMThkMWMxN2VmNDhmZjg5YWYzNmY1MWY2NjI2MTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3Iu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNv
bnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5G
TzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJs
eU1lbW9yeVByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TWVtb3J5Q29u
c3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
V2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0
aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlNZW1vcnlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmgKaW5kZXggODI2MDI3NjRhYzQ4ZmQyY2NlZjVlZmFj
OGZkNTEwYTk2ZmNlZGY5MS4uZmU0NTU3ZjU5ODYxYzExMjcxNTBmNmU1ZjcwZjVmNWQ4ZTdmYWI4
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlN
ZW1vcnlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseU1lbW9yeVByb3RvdHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAg
ICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUoVk0mLCBTdHJ1
Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuaAppbmRleCA1MWQ1NDVlZTcxNTY4MmMwYTNk
YmNmNmQ2ODk1YTQ3OGFiYWU3MDZiLi4yOWM5YzZiNzdlMWI2ODVlYWZkM2ZiM2ZmMjUwOTE3YTdm
Nzc0YTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseU1vZHVsZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgSlNXZWJBc3NlbWJseU1vZHVsZSogY3JlYXRlTW9kdWxlKEpTR2xv
YmFsT2JqZWN0KiwgQ2FsbEZyYW1lKiwgVmVjdG9yPHVpbnQ4X3Q+JiYgYnVmZmVyKTsKIAotcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseU1vZHVsZVBy
b3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3Io
Vk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1i
bHlNb2R1bGVQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1
bGVQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TW9kdWxlUHJvdG90eXBlLmgKaW5kZXggNzE5NmQxZWM3NDgyNDY1ZTVkZTAwNWU0Yzc1M2IwNmEz
ZDdjYWY1OS4uMWRiY2E5OWE2M2ZmNmM3ZmFhNjFlNTk5ZjViOGVhNDE1M2YyMDI3OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVQcm90
b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1v
ZHVsZVByb3RvdHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJF
X0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHBy
aXZhdGU6CiAgICAgV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCA3NjE0ZjI4OTU0ZWFiNDI4
ODcwNjk4N2ZlYTgwZjk3OTIzODg1NjMzLi5mMzEyY2ZmYTA0NGVhZDhjZjIzYTRhMWUwN2VkNDAx
ZmQxM2JkODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5oCkBAIC00NCwx
MSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5
cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9y
KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2Vt
Ymx5UnVudGltZUVycm9yUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3RvciwgSW50ZXJuYWxG
dW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oCmluZGV4IGExNDIwYmQ1
ZWE4Mzc0YTk2NDllMWFhNmZmZWEyNDhhMjEyY2QzY2MuLjMyZmQ2M2M4YTAyMjI5NjU3OTMwNmI0
OTEzMGEzNjU5NjY4ZmM4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaApAQCAt
NDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6
Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2Vt
Ymx5UnVudGltZUVycm9yUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1
Y3Rvci5oCmluZGV4IGNmZmY2OTE3M2NlMGYxOTE0ODFjZmM4NmEyN2QwMWE2MWU0YWExMDIuLjIz
NzA0NTA3ODQ3MWVlZTlmMTU3MGIwMDI2YmE3ZjVkOTJhMTRjNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1
Y3Rvci5oCkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAK
LXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlUYWJs
ZVByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rv
cihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3Nl
bWJseVRhYmxlUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJs
ZVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
YWJsZVByb3RvdHlwZS5oCmluZGV4IGI3MWJkOWMwMWEzOTM1YjAxZjNkNDE3MWM2NGY4YjJhZDA1
OTAxNDMuLjkyMWRkMzY2MmZhZDkyZmI2YTdhZDE0NjhhNTFlYTFlNDIzNWI4ZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxl
UHJvdG90eXBlLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5G
TzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0
ZToKICAgICBXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFw
cGVyRnVuY3Rpb24uaAppbmRleCA1Mjk4ZWIxOWM1OTI2Mzc2NzYxZDNkMWFiYmMwMjllNDc3Njk4
MDUyLi5lZGU5M2FkZDkyNDRhZTc4ZDc3MTc4YWEzMzk5YWEzODE2MTA0YTViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlv
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBl
ckZ1bmN0aW9uLmgKQEAgLTU2LDEzICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgV2FzbVRvV2FzbUlt
cG9ydGFibGVGdW5jdGlvbiBpbXBvcnRhYmxlRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lt
cG9ydGFibGVGdW5jdGlvbjsgfQogICAgIEpTT2JqZWN0KiBmdW5jdGlvbigpIHsgcmV0dXJuIG1f
ZnVuY3Rpb24uZ2V0KCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5h
bWUsIEpTT2JqZWN0KiwgSlNXZWJBc3NlbWJseUluc3RhbmNlKik7Ci0KIHByaXZhdGU6CiAgICAg
V2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBXYXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9uKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIHVuc2lnbmVkIGxl
bmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBKU09iamVjdCosIEpTV2ViQXNzZW1ibHlJbnN0YW5j
ZSopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3Im
KTsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9mdW5jdGlvbjsKICAgICAvLyBJdCdz
IHNhZmUgdG8ganVzdCBob2xkIHRoZSByYXcgV2FzbVRvV2FzbUltcG9ydGFibGVGdW5jdGlvbiBi
ZWNhdXNlIHdlIGhhdmUgYSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3Rl
ZEV2ZW50LmgKaW5kZXggODE3YzIxZWNhYjFhZGEwODNhN2NjYTZhZDQxN2NiMmZlNzdjMDk0Ni4u
MTA2YzFmYWYyZTQ0ZTI3MDI4N2FiMDEwNmVkMjZlNWRiYzUzZGUxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3Rl
ZEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBBcHBsZVBheVBheW1lbnRNZXRob2QmIHBheW1lbnRNZXRob2QoKSB7IHJldHVy
biBtX3BheW1lbnRNZXRob2Q7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBcHBsZVBh
eVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0
IFBheW1lbnRNZXRob2QmKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2
ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgY29uc3QgQXBw
bGVQYXlQYXltZW50TWV0aG9kIG1fcGF5bWVudE1ldGhvZDsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1l
cmNoYW50RXZlbnQuaAppbmRleCAwMzgwYzcxMDA1NmRiYmMwYTI0YmM4ZmIwYzdjNzJkMGI5MGVh
MGIxLi41Yzk5ODZkMWJiYWRlYThiNmQ5NjJhN2ZlNGUwNzZkMjViMjU5OTQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFu
dEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZh
bGlkYXRlTWVyY2hhbnRFdmVudC5oCkBAIC00NCwxMyArNDQsMTIgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgU3RyaW5nJiB2YWxpZGF0aW9uVVJMKCkgY29uc3QgeyByZXR1cm4gbV92YWxpZGF0aW9u
VVJMLnN0cmluZygpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgQXBwbGVQYXlWYWxp
ZGF0ZU1lcmNoYW50RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgVVJMJiYgdmFsaWRhdGlv
blVSTCk7CiAKICAgICAvLyBFdmVudC4KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFj
ZSgpIGNvbnN0IG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGNvbnN0IFVSTCBtX3ZhbGlkYXRp
b25VUkw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL2xlZ2FjeS9MZWdhY3lDRE1TZXNzaW9uQ2xlYXJLZXkuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Npb25DbGVhcktleS5o
CmluZGV4IGJjNzc3ZjBjYmM4Y2U3Yjg5ZTk0M2I4YTYzZTRlNmU4Mjg5YjM4Y2YuLmZlNTM0NTkx
YWQ3ZDU2MDBjNDE5ZmFjNzk3MDRjNDFkNjY3MWI0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2FjeUNETVNlc3Npb25DbGVhcktl
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xl
Z2FjeUNETVNlc3Npb25DbGVhcktleS5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBi
b29sIHVwZGF0ZShVaW50OEFycmF5KiwgUmVmUHRyPFVpbnQ4QXJyYXk+JiwgdW5zaWduZWQgc2hv
cnQmLCB1aW50MzJfdCYpIG92ZXJyaWRlOwogICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gY2FjaGVk
S2V5Rm9yS2V5SUQoY29uc3QgU3RyaW5nJikgY29uc3Qgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCogbV9jbGllbnQ7CiAgICAgUmVm
UHRyPFVpbnQ4QXJyYXk+IG1faW5pdERhdGE7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3Rvcjx1
aW50OF90Pj4gbV9jYWNoZWRLZXlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5oCmluZGV4IGRkMjFlNTU2NmNhNDgwN2Y4MzMxOGYzMjM3OTYwZWVmYzY4
NDk1MmUuLjQ0MjA5NjVmODU5M2VlZjhmNjllYjY2MmRkNDg3MjQ4MzYxYmY2NDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTExNSw3ICsx
MTUsNiBAQCBwcml2YXRlOgogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RmV0Y2hMb2FkZXI+IGxv
YWRlcjsKICAgICB9OwogCi1wcm90ZWN0ZWQ6CiAgICAgT3B0aW9uYWw8RmV0Y2hCb2R5PiBtX2Jv
ZHk7CiAgICAgU3RyaW5nIG1fY29udGVudFR5cGU7CiAgICAgYm9vbCBtX2lzRGlzdHVyYmVkIHsg
ZmFsc2UgfTsKQEAgLTEyNCw3ICsxMjMsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKICAgICBSZWY8
RmV0Y2hIZWFkZXJzPiBtX2hlYWRlcnM7CiAKLXByaXZhdGU6CiAgICAgT3B0aW9uYWw8QmxvYkxv
YWRlcj4gbV9ibG9iTG9hZGVyOwogICAgIGJvb2wgbV9pc0JvZHlPcGFxdWUgeyBmYWxzZSB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtl
cm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwu
aAppbmRleCBhZWY4ZDY3ZTRhZGNiZDU3NTRiYjMzMDBiMWNlMDhlZWQ2Nzc2OGU5Li43YWUxNjFh
MTYyYzMzY2EyMjBmZTZjZTIxNTdkYmQxNWE4NzQzMjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmgKQEAgLTU1LDcgKzU1LDcgQEAg
cHVibGljOgogICAgIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGRvdWJs
ZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIEJpcXVhZCBtX2JpcXVhZDsKICAgICBCaXF1YWRQcm9jZXNzb3IqIGJpcXVhZFByb2Nlc3Nv
cigpIHsgcmV0dXJuIHN0YXRpY19jYXN0PEJpcXVhZFByb2Nlc3Nvcio+KHByb2Nlc3NvcigpKTsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFw
ZXJEU1BLZXJuZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBl
ckRTUEtlcm5lbC5oCmluZGV4IDQxZTM2N2VhNTNmYjZiNjBkZDQ0YjlmYmNiMGI5MTU0OWMwY2Zm
ZGEuLjE5Nzk3ZGViZjI3Njk0OWFkYTZiZjVjM2M1ZTg0NWNlOGU1YTYzZjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5o
CkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICAvLyBPdmVyc2FtcGxpbmcgcmVxdWlyZXMg
bW9yZSByZXNvdXJjZXMsIHNvIGxldCdzIG9ubHkgYWxsb2NhdGUgdGhlbSBpZiBuZWVkZWQuCiAg
ICAgdm9pZCBsYXp5SW5pdGlhbGl6ZU92ZXJzYW1wbGluZygpOwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIC8vIEFwcGx5IHRoZSBzaGFwaW5nIGN1cnZlLgogICAgIHZvaWQgcHJvY2Vzc0N1
cnZlKGNvbnN0IGZsb2F0KiBzb3VyY2UsIGZsb2F0KiBkZXN0LCBzaXplX3QgZnJhbWVzVG9Qcm9j
ZXNzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmgKaW5kZXggYjE1OTMwMzhhYjNmZTU0OTlmMWQzYjBkM2M5MjA5ZTY3Mzhk
OWRiYy4uOTk2MDFhMDVkYmQ2MTRkOWNkYmI4NDk0NjczYjM4NzcwZGFjZDg0MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5o
CkBAIC0xMjYsMTMgKzEyNiwxMiBAQCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQo
KTsKICAgICAKLXByb3RlY3RlZDoKLSAgICB2b2lkIHJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKCkgb3ZlcnJpZGUgeyByZWYoKTsgfQotICAgIHZvaWQgZGVyZWZUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQotCiBwcml2YXRlOgogICAgIFdFQkNP
UkVfRVhQT1JUIFdlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmLCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50JiwgU29ja2V0UHJvdmlkZXImKTsKIAorICAgIHZvaWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwoKSBvdmVycmlkZSB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZlRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CisKICAgICBib29sIGFwcGVu
ZFRvQnVmZmVyKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pOwogICAgIHZvaWQgc2tpcEJ1
ZmZlcihzaXplX3QgbGVuKTsKICAgICBib29sIHByb2Nlc3NCdWZmZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMzU0ODc3YzU5MzQxYTRiNDYxMDFhMTUz
MTRmOTEyMTQ3ZWIxMGM4YS4uMzczZTcwZTg5ZjZmODFkNTM1Yjk4NGFjMmJmMzAxZTc5MDAwNWFm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTEwNywxMSAr
MTA3LDEwIEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsPjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw+OjpkZXJlZjsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICB2b2lkIHJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJpZGUgeyByZWYoKTsg
fQogICAgIHZvaWQgZGVyZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIG92ZXJyaWRlIHsg
ZGVyZWYoKTsgfQogCi1wcml2YXRlOgogICAgIC8vIEJyaWRnZSBmb3IgUGVlci4gIFJ1bm5pbmcg
b24gdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgY2xhc3MgQnJpZGdlIDogcHVibGljIFJlZkNvdW50
ZWQ8QnJpZGdlPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJTZXNzaW9uLmgKaW5kZXggNzhjMjFjYTlhOTM3NGZlOGRiMTU2NGZlMWE2ODU0MGE5ZTE0
NjlmOS4uZjAxMTUwMTk3YjY3MGRlNzMyZTk2ZjBlMDdiN2M2OTYwMzUwZWFjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oCkBAIC03Myw3ICs3Myw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX2VuZGVkOyB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgLy8gRXZlbnRUYXJnZXQKICAgICBFdmVudFRhcmdl
dEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IFdlYlhSU2Vzc2lvbkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQogICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCmluZGV4IGU5YWIxNWQ3YWVhNDQ1
ZDEzMzJmYzIxMmE0NTY4NDVkY2VkOWNlZTEuLmQwYmQ1NGJkYzY1ZmUyOWVkOWUyNzEwOTIwYmM1
ZjRmYmU2NTY3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVt
LmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgaXNTZXNzaW9uU3VwcG9ydGVk
KFhSU2Vzc2lvbk1vZGUsIElzU2Vzc2lvblN1cHBvcnRlZFByb21pc2UmJik7CiAgICAgdm9pZCBy
ZXF1ZXN0U2Vzc2lvbihYUlNlc3Npb25Nb2RlLCBjb25zdCBYUlNlc3Npb25Jbml0JiwgUmVxdWVz
dFNlc3Npb25Qcm9taXNlJiYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYlhSU3lz
dGVtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAogICAgIC8vIEV2ZW50VGFyZ2V0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3Jp
ZENlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFH
cmlkQ2VsbC5oCmluZGV4IGU3ZmFlOTI5NmQ5MDMxMzY0N2Q1MTg2MjUxNzk0ZGY4ZDVhMDFmNmIu
LjQ3NGVjZDYyOTdjZWU1ZjVhYzk5NjgxNjk2YzA3NDVlMGIzYmZhODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2Vs
bC5oCkBAIC0zNywxNSArMzcsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJp
bGl0eUFSSUFHcmlkQ2VsbD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFj
Y2Vzc2liaWxpdHlBUklBR3JpZENlbGwoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBl
eHBsaWNpdCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsKFJlbmRlck9iamVjdCopOworCiAgICAg
Ly8gUmV0dXJucyB0aGUgc3RhcnQgbG9jYXRpb24gYW5kIHJvdyBzcGFuIG9mIHRoZSBjZWxsLgog
ICAgIHN0ZDo6cGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+IHJvd0luZGV4UmFuZ2UoKSBjb25zdCBv
dmVycmlkZTsKICAgICAvLyBSZXR1cm5zIHRoZSBzdGFydCBsb2NhdGlvbiBhbmQgY29sdW1uIHNw
YW4gb2YgdGhlIGNlbGwuCiAgICAgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gY29sdW1u
SW5kZXhSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwogCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEFj
Y2Vzc2liaWxpdHlBUklBR3JpZENlbGwoUmVuZGVyT2JqZWN0Kik7Ci0KICAgICBBY2Nlc3NpYmls
aXR5VGFibGUqIHBhcmVudFRhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogcGFyZW50Um93R3JvdXAoKSBjb25zdDsKICAgICB1bnNpZ25lZCBheFJvd1NwYW5X
aXRoUm93SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5oCmluZGV4IGY3ZDNi
MzI1ZTdhYWVkOGY2YTZmNDcyZjY2MWIzMjdmNDljYjM0YTguLjNlOWJjZjA3YWVhYmQ2NzBkMzgw
OTY0MGVlMDMxNjkxMjM0YmEyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmgKQEAgLTQxLDEzICs0MSwxMiBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWU7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBY2Nlc3NpYmxlU2V0VmFsdWVF
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSk7CiAK
ICAgICAvLyBFdmVudC4KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50SW50ZXJmYWNlVHlwZTsg
fQogCi1wcml2YXRlOgogICAgIGNvbnN0IEF0b21TdHJpbmcgbV92YWx1ZTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb24uaAppbmRleCBjYmUwYjQyMGM2YzU2MjgxMjdk
YWJiMmM3OWU2ZjM3YmMzNDE3NThkLi4wMzU4YmVmZDgxY2RhNDI5ODA2YWMyNTcwOTkwNmIwYjg0
MDY4MTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oCkBAIC00Niwx
MyArNDYsMTIgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGxheSgp
IGZpbmFsOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGJpbmRpbmdzUGF1c2UoKSBmaW5hbDsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgc3luY1Byb3BlcnRpZXNXaXRoQmFja2luZ0FuaW1hdGlvbigp
IGZpbmFsOwotICAgIFJlZjxBbmltYXRpb25FdmVudEJhc2U+IGNyZWF0ZUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBTdHJpbmcmIHBz
ZXVkb0lkLCBPcHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUpIGZpbmFsOwotCiBwcml2YXRl
OgogICAgIENTU0FuaW1hdGlvbihFbGVtZW50JiwgY29uc3QgQW5pbWF0aW9uJik7CiAKKyAgICB2
b2lkIHN5bmNQcm9wZXJ0aWVzV2l0aEJhY2tpbmdBbmltYXRpb24oKSBmaW5hbDsKKyAgICBSZWY8
QW5pbWF0aW9uRXZlbnRCYXNlPiBjcmVhdGVFdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIGRvdWJsZSBlbGFwc2VkVGltZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9JZCwgT3B0aW9uYWw8
U2Vjb25kcz4gdGltZWxpbmVUaW1lKSBmaW5hbDsKKwogICAgIFN0cmluZyBtX2FuaW1hdGlvbk5h
bWU7CiAgICAgYm9vbCBtX3N0aWNreVBhdXNlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmgKaW5kZXggOWZhNGQ5OTAyZWJmYzgzODA3
NDBlYWQxMTY0MDc2Y2JiYThiYTY4MC4uYTQzMzg5Y2NlMDFiNjNiODU3MjAwODgwNThiZDE1ZGNi
MmM2Nzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVT
dHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5o
CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIEpTUmVhZGFibGVTdHJlYW0qIHJlYWRh
YmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gZ3VhcmRlZCgpOyB9CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgUmVhZGFibGVTdHJlYW0oSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgSlNSZWFkYWJsZVN0cmVhbSYgcmVhZGFibGVTdHJlYW0pIDogRE9NR3VhcmRlZDxKU1JlYWRh
YmxlU3RyZWFtPihnbG9iYWxPYmplY3QsIHJlYWRhYmxlU3RyZWFtKSB7IH0KIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgKaW5kZXggNjIyOTYzNjhlYmI5MGM1
MGI5ZGU3ZmEwNzgyYzljNmZhMjg1OTE5OC4uMDY5YWJlMmU1NTg4YWM1NzQwN2ViZDA3YTJjNmY1
ZDZkNDU0ZjdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19y
dW50aW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmgK
QEAgLTEyNCwxMSArMTI0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBPYmpjRmFs
bGJhY2tPYmplY3RJbXAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBPYmpjSW5zdGFuY2Uq
LCBjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0dsb2JhbE9iamVjdCopOworCiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKICAg
ICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVj
dCosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgcHV0KEpT
Q2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0
eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5
LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IDI5ODEyYTY2
ZDZmMDEyNGUzODM2MjVmOTU2MDE5Y2EzM2JjM2JkOTEuLmM5ZjZmMGRlZDQ5YzhiYzQwNGIwNDA0
ZGQ3YTdkODFiNjU4NjgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApA
QCAtODQsMTEgKzg0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRGVyaXZlZEFycmF5VHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCksIEFycmF5Q2xhc3MpOwogICAgIH0KIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBCaW5kaW5nczo6QXJyYXkqKTsKLQog
cHJpdmF0ZToKICAgICBSdW50aW1lQXJyYXkoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgQmluZGluZ3M6OkFycmF5Kik7CisKICAgICBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFBy
b3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1w
bChKU0M6OlZNJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNl
dFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCmluZGV4IDA0
ZTc4OTJlNzY0Mjc0N2ZkMWZlMzM3ODJjYWQ2ZmJmYzZmODZlYTMuLjAxZWE0YzVjNTRhMWI2ZmZi
ZWQzMzIzZjZiMzhkYWQ0ODM1NTFlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZVNldFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFs
dWUuaApAQCAtNjMsMTIgKzYzLDExIEBAIHB1YmxpYzoKIAogICAgIFJlZjxDU1NJbWFnZVNldFZh
bHVlPiBpbWFnZVNldFdpdGhTdHlsZXNSZXNvbHZlZChTdHlsZTo6QnVpbGRlclN0YXRlJik7CiAK
LXByb3RlY3RlZDoKLSAgICBJbWFnZVdpdGhTY2FsZSBiZXN0SW1hZ2VGb3JTY2FsZUZhY3Rvcigp
OwotCiBwcml2YXRlOgogICAgIENTU0ltYWdlU2V0VmFsdWUoKTsKIAorICAgIEltYWdlV2l0aFNj
YWxlIGJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCk7CisKICAgICB2b2lkIGZpbGxJbWFnZVNldCgp
OwogICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBjb21wYXJlQnlTY2FsZUZhY3RvcihJbWFnZVdpdGhT
Y2FsZSBmaXJzdCwgSW1hZ2VXaXRoU2NhbGUgc2Vjb25kKSB7IHJldHVybiBmaXJzdC5zY2FsZUZh
Y3RvciA8IHNlY29uZC5zY2FsZUZhY3RvcjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtl
eWdlbkVsZW1lbnQuY3BwCmluZGV4IGFlMWFhZWQyNmExYzY2OWZlN2VlMDdhOTY2NGMxN2JhNWY4
YjE3NmIuLjc4MGI3OTE5M2Q5ODc2MzJiNTkyYzliMjRkODU4MGI0ZWM2YThlNDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCkBAIC01Myw3ICs1Myw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5Z2VuU2VsZWN0RWxlbWVudChk
b2N1bWVudCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBLZXlnZW5TZWxl
Y3RFbGVtZW50KERvY3VtZW50JiBkb2N1bWVudCkKICAgICAgICAgOiBIVE1MU2VsZWN0RWxlbWVu
dChzZWxlY3RUYWcsIGRvY3VtZW50LCAwKQogICAgIHsKQEAgLTYxLDcgKzYxLDYgQEAgcHJvdGVj
dGVkOgogICAgICAgICBzZXRQc2V1ZG8ocHNldWRvSWQpOwogICAgIH0KIAotcHJpdmF0ZToKICAg
ICBSZWY8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbihE
b2N1bWVudCYgdGFyZ2V0RG9jdW1lbnQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4g
Y3JlYXRlKHRhcmdldERvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5oCmluZGV4IDc2N2U0YmM0MmQwNjk0NjVkYjY3YTMwNDUxNWUyMjRlOGEwYzU2NjYuLjFm
NjJjYjNmMTQwN2MzYjA3M2E5ZDVlNGRiMDAwNjRmNjYxMmQ0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaApAQCAtNjYsMTIgKzY2LDExIEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaGFzRXZlckJlZW5Cb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG9iamVjdCgpICYmIG1f
dGFyZ2V0OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xCdWZmZXIoV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZh
dGU6CiAgICAgR0NHTGVudW0gbV90YXJnZXQgeyAwIH07CiAKICAgICBSZWZQdHI8SlNDOjpBcnJh
eUJ1ZmZlcj4gbV9lbGVtZW50QXJyYXlCdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEZyYW1lYnVmZmVyLmgKaW5kZXggMzQyM2NlNjMzNzMxNmEzOGUwMDU1NzQ5N2Ex
Njk1YmQ4NDkwOTFkOC4uNjNkNjNjZmRlMjIxNDdiNjM5YzM2ODA5MWJiMGQ1MzhjOTZmMmFkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaApAQCAt
MTA1LDEyICsxMDUsMTEgQEAgcHVibGljOgogCiAgICAgR0NHTGVudW0gZ2V0RHJhd0J1ZmZlcihH
Q0dMZW51bSk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xGcmFtZWJ1ZmZlcihX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwo
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKIAot
cHJpdmF0ZToKICAgICBXZWJHTEF0dGFjaG1lbnQqIGdldEF0dGFjaG1lbnQoR0NHTGVudW0pIGNv
bnN0OwogCiAgICAgLy8gUmV0dXJuIGZhbHNlIGlmIGZyYW1lYnVmZmVyIGlzIGluY29tcGxldGUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oCmluZGV4IDhjOGFkMjgz
MTM0MTNiMDgxOTJjNGZlMjRjNWVjMmUzZDZiMzFkNmYuLjg5MzZiNjlmNTNmMjAzZTJmMDdlYmNh
OTcxZGE5ZWU5N2VlOGFiOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJv
Z3JhbS5oCkBAIC03MCwxMiArNzAsMTEgQEAgcHVibGljOgogICAgIGJvb2wgYXR0YWNoU2hhZGVy
KFdlYkdMU2hhZGVyKik7CiAgICAgYm9vbCBkZXRhY2hTaGFkZXIoV2ViR0xTaGFkZXIqKTsKIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBXZWJHTFByb2dyYW0oV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgdm9p
ZCBjYWNoZUFjdGl2ZUF0dHJpYkxvY2F0aW9ucyhHcmFwaGljc0NvbnRleHRHTE9wZW5HTCopOwog
ICAgIHZvaWQgY2FjaGVJbmZvSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xRdWVyeS5oCmluZGV4IDc2MTg5ZTFjNGIwNmUyNDE4NjZmYTVlNjA3NThjOWUyY2VjNWRj
NjAuLjRiZDZmMWMwNDZmMTUzODhjYzU4MDFmNDE1NjFhNjkzZjMzYTNkOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUXVlcnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFF1ZXJ5LmgKQEAgLTQwLDExICs0MCwxMCBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG1ha2VSZXN1bHRBdmFpbGFibGUoKSB7IG1faXNSZXN1bHRBdmFpbGFibGUg
PSB0cnVlOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR0xRdWVy
eShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBs
KEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAK
LXByaXZhdGU6CiAgICAgYm9vbCBtX2lzUmVzdWx0QXZhaWxhYmxlIHsgZmFsc2UgfTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCmluZGV4
IDMxZTkxMDI3OTIzZTI2ODQxNGY5MmNjYzg3ZTgxZWVkMjRjNDFmY2UuLmI1NTk3NDE0MjdmMWIx
NDY5YmFiYzhiMmE0ZWU4MGU4NWE4NWM3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaApAQCAtNjIsMTIgKzYyLDExIEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0SGFzRXZlckJlZW5Cb3VuZCgpIHsgbV9oYXNFdmVyQmVlbkJvdW5kID0gdHJ1
ZTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMUmVuZGVyYnVmZmVyKFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKIAogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFw
aGljc0NvbnRleHRHTE9wZW5HTCosIFBsYXRmb3JtR0xPYmplY3QpIG92ZXJyaWRlOwogCi1wcml2
YXRlOgogICAgIGJvb2wgaXNSZW5kZXJidWZmZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CiAKICAgICBHQ0dMZW51bSBtX2ludGVybmFsRm9ybWF0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTYW1wbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaAppbmRleCAxZjBmNzdkMzEzZDJiZTUwODk5ZTU4ZDdm
MTg5ZjJhZGFkOTM0ZmMzLi5hMzI3MGExODM1OWM5Yjg1ODY4OTQzODc3YWU0MmY2NmJmOTczY2E0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaApAQCAtMzYsNyAr
MzYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHTFNhbXBsZXI+IGNyZWF0ZShXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAgICAgdmlydHVhbCB+V2ViR0xTYW1wbGVyKCk7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR0xTYW1wbGVyKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UmKTsKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBmaW5hbDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFN5bmMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMU3luYy5oCmluZGV4IGY5MTdjN2FiNTUyOGQ2NjgwYjE5YmViZmRh
NzMwOTVjODJmMjg4ODQuLmRmNmIzNjU5MzM2OGRmZmYzZTBmNTJjNjk1NTkzMjVhMjQ0M2E0M2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU3luYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU3luYy5oCkBAIC0zNyw3ICszNyw3IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBSZWY8V2ViR0xTeW5jPiBjcmVhdGUoV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZSYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMU3luYyhX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwo
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJhY2su
aAppbmRleCA4MTliM2RiYTQxYzY2MDQ4MDNmNjNlNjkxZWUyNGFhMTRlMDEwM2ViLi5mNzAyYWVj
MTkyZDdiYzY3M2MyMDMzMDI1NTEzMjNjMDQ1MWUyODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFRyYW5zZm9ybUZlZWRiYWNrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oCkBAIC0zNyw3ICszNyw3
IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBSZWY8V2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz4gY3Jl
YXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
ICAgICBXZWJHTFRyYW5zZm9ybUZlZWRiYWNrKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsK
IAogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBs
YXRmb3JtR0xPYmplY3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgKaW5kZXggOTMyNWYxYWM0ODc5ZTQxNmE2ZjEyZDFj
YTcyZDdmNTRhZGMzMjU5Zi4uZGI0NDhiNGZjMTFkNmY3MDFhMzIwODc4MmIyMDIzMjNmZWZkMmIy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9j
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2Nh
dGlvbi5oCkBAIC00NSwxMCArNDUsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgR0NHTGVudW0gdHlw
ZSgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMVW5pZm9ybUxvY2F0
aW9uKFdlYkdMUHJvZ3JhbSosIEdDR0xpbnQgbG9jYXRpb24sIEdDR0xlbnVtIHR5cGUpOwogCi1w
cml2YXRlOgogICAgIFJlZlB0cjxXZWJHTFByb2dyYW0+IG1fcHJvZ3JhbTsKICAgICBHQ0dMaW50
IG1fbG9jYXRpb247CiAgICAgdW5zaWduZWQgbV9saW5rQ291bnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCmluZGV4IDZl
MWNiNWZkNDEzY2FmMmY3NGRlYWY1NzJmNjM0MzU2Y2Q3ZWFiOTUuLmVjY2Y5NDMxYTM3MTkzNzJj
OTg2NzA3MzlhYjU1ODFhYTJmOGYyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCkBAIC0zNyw3ICszNyw3IEBAIGNs
YXNzIFRleHRDb250cm9sSW5uZXJDb250YWluZXIgZmluYWwgOiBwdWJsaWMgSFRNTERpdkVsZW1l
bnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoVGV4dENvbnRyb2xJbm5lckNvbnRhaW5l
cik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUZXh0Q29udHJvbElubmVyQ29udGFpbmVyPiBj
cmVhdGUoRG9jdW1lbnQmKTsKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgVGV4dENvbnRyb2xJ
bm5lckNvbnRhaW5lcihEb2N1bWVudCYpOwogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBj
cmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0
aW9uJikgb3ZlcnJpZGU7CiAgICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2
ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVy
U3R5bGUqIHNoYWRvd0hvc3RTdHlsZSkgb3ZlcnJpZGU7CkBAIC00OCwxMSArNDgsMTAgQEAgY2xh
c3MgVGV4dENvbnRyb2xJbm5lckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ+IGNyZWF0
ZShEb2N1bWVudCYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFRleHRDb250cm9sSW5u
ZXJFbGVtZW50KERvY3VtZW50Jik7CiAgICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4g
cmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIHNoYWRvd0hvc3RTdHlsZSkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAg
Ym9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHls
ZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5o
CmluZGV4IDc3ODUyMTdhOTM2MjYwY2YxZDIzNTZhZmRkMjJmODQ1NGEyMWQ4OTQuLjczZDM2MThl
NWE0OGEzNzQ1NzYyNmRkNTQ4ZGNlN2UzNmIxZGUxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaApAQCAtMjM2LDcgKzIzNiw3IEBAIHB1Ymxp
YzoKICAgICBFeGNlcHRpb25PcjxTdHJpbmc+IHRleHQoKSBjb25zdCBmaW5hbDsKICAgICBDU1NT
dHlsZURlY2xhcmF0aW9uKiBzdHlsZUZvcklkKGNvbnN0IEluc3BlY3RvckNTU0lkJiBpZCkgY29u
c3QgZmluYWwgeyBBU1NFUlRfVU5VU0VEKGlkLCAhaWQub3JkaW5hbCgpKTsgcmV0dXJuICZpbmxp
bmVTdHlsZSgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW5zcGVjdG9yU3R5bGVT
aGVldEZvcklubGluZVN0eWxlKEluc3BlY3RvclBhZ2VBZ2VudCosIGNvbnN0IFN0cmluZyYgaWQs
IFJlZjxTdHlsZWRFbGVtZW50PiYmLCBJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlN0eWxlU2hl
ZXRPcmlnaW4sIExpc3RlbmVyKik7CiAKICAgICBEb2N1bWVudCogb3duZXJEb2N1bWVudCgpIGNv
bnN0IGZpbmFsOwpAQCAtMjQ5LDcgKzI0OSw2IEBAIHByb3RlY3RlZDoKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXRTdHlsZVRleHQoQ1NTU3R5bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYp
IGZpbmFsOwogICAgIFZlY3RvcjxzaXplX3Q+IGxpbmVFbmRpbmdzKCkgY29uc3QgZmluYWw7CiAK
LXByaXZhdGU6CiAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgaW5saW5lU3R5bGUoKSBjb25zdDsK
ICAgICBjb25zdCBTdHJpbmcmIGVsZW1lbnRTdHlsZVRleHQoKSBjb25zdDsKICAgICBSZWY8Q1NT
UnVsZVNvdXJjZURhdGE+IHJ1bGVTb3VyY2VEYXRhKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggY2FkOTk4
OTAyOWViNzRjNzc1Nzk3YzI4YjQ2YzA1OWRjNWRmN2I3MC4uMTYxMTllNTg2ZjZkMjRmM2UyNTAy
NDY5ZDkyNDllMTg1YjYxMGUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtNDgsMTAgKzQ4LDkgQEAgcHVibGljOgog
CiAgICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgZGlkQ3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3Qg
SW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdCYpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIFJl
ZlB0cjxDb21tYW5kTGluZUFQSUhvc3Q+IG1fY29tbWFuZExpbmVBUElIb3N0OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmgKaW5k
ZXggNWUxYWQ4NmQzMDI2N2IzNjFjYmIxODhhNjM5Yzk0MDAwMzhjOWJiNi4uYWQzMGY4MWMwNTZj
YTAyOGFiZjMzMzE5NWIwYzVlY2FlZTUxMTFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oCkBAIC02MCw3ICs2MCw2IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHNldEJvZHlEYXRhRnJvbShjb25zdCBDYWNoZWRSZXNvdXJjZSYpIGZp
bmFsOwogCi1wcm90ZWN0ZWQ6CiAgICAgdm9pZCBjaGVja05vdGlmeSgpIGZpbmFsOwogCiAgICAg
UmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+IG1fZGVjb2RlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRl
eCAzZDQzYTk0YmVhOTU1NmM5OGRjNzQyM2FiN2VhZDlhOTJhNTJjNmZlLi5mMmFlMDc4NmFmZGUx
NTExYzIxYzcyMDk2OTBjZDU0MzRmMDM1OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0zNzEsNyAr
MzcxLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzSGFkVXNlckludGVyYWN0aW9uIHsgZmFs
c2UgfTsKICAgICB1bnNpZ25lZCBtX2xvY2FsU3RvcmFnZVByZXdhcm1pbmdDb3VudCB7IDAgfTsK
IAotcHJvdGVjdGVkOgogICAgIFVuaXF1ZVJlZjxFdmVudEhhbmRsZXI+IG1fZXZlbnRIYW5kbGVy
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMTE2MWY5NmUxZWM2MDAyMjYzOWM2
OWEwMTcyZTNkNTJiOWZlYmE2My4uMzEzNTE3YjVmOTNlOTRiNmJkYzQ2Y2NlYmQ1NGU4MTU4YjQx
MGQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC02NjksNyArNjY5LDkgQEAgcHVibGlj
OgogCiAgICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdCBmaW5hbDsKIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBGcmFtZVZpZXcoRnJhbWUmKTsKKwogICAgIGJv
b2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29u
c3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgZmluYWw7
CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJl
Y3QpIGZpbmFsOwogICAgIApAQCAtNjc4LDkgKzY4MCw2IEBAIHByb3RlY3RlZDoKICAgICBib29s
IGlzVmVydGljYWxEb2N1bWVudCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNGbGlwcGVkRG9j
dW1lbnQoKSBjb25zdCBmaW5hbDsKIAotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGcmFtZVZpZXco
RnJhbWUmKTsKLQogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGluaXQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oCmluZGV4IDQ5MjliNDI1N2RiYmQ2ZTZmNDQ5
YTc1MGY4NmYzYTllMGEwYzFjM2UuLjUyMTcwN2E3NDUwYmJmMmMwZTJmODg1YTFkYjdkODU2N2Nl
YzlkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmgKQEAgLTY1LDcg
KzY1LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0Q2Fs
bFN0YWNrPiYmKTsKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwLCBEb2N1bWVudCogPSBudWxscHRyKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICB2b2lkIG1lc3NhZ2VXaXRoVHlwZUFuZExldmVsKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgY291bnQoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0
cmluZyYgbGFiZWwpIG92ZXJyaWRlOwogICAgIHZvaWQgY291bnRSZXNldChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CkBAIC04MCw3ICs4MCw2IEBA
IHByb3RlY3RlZDoKICAgICB2b2lkIHJlY29yZEVuZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVm
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcmVl
bnNob3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50
cz4mJikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgUGFnZSYgbV9wYWdlOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKaW5k
ZXggYTFjM2U2NjYyNzk1OGU0ODI3MjlkNzQ5Y2QzNTVjYjE5MWY0MGMxMC4uNDkyZTM5MTU1YzRh
OWI3OGMxYzZkNmZlZTFjMmVlM2UwYmI2YmYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCkBAIC02NSw3ICs2NSwxMCBAQCBwdWJs
aWM6CiAKICAgICBPcHRpb25hbDxTZWNvbmRzPiB0aW1lVG9OZXh0U2VydmljZSgpIG92ZXJyaWRl
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEtleWZyYW1lQW5pbWF0aW9uKGNvbnN0IEFu
aW1hdGlvbiYsIEVsZW1lbnQmLCBDb21wb3NpdGVBbmltYXRpb24mLCBjb25zdCBSZW5kZXJTdHls
ZSYgdW5hbmltYXRlZFN0eWxlKTsKKyAgICB2aXJ0dWFsIH5LZXlmcmFtZUFuaW1hdGlvbigpOwor
CiAgICAgdm9pZCBvbkFuaW1hdGlvblN0YXJ0KGRvdWJsZSBlbGFwc2VkVGltZSkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBvbkFuaW1hdGlvbkl0ZXJhdGlvbihkb3VibGUgZWxhcHNlZFRpbWUpIG92ZXJy
aWRlOwogICAgIHZvaWQgb25BbmltYXRpb25FbmQoZG91YmxlIGVsYXBzZWRUaW1lKSBvdmVycmlk
ZTsKQEAgLTk0LDEwICs5Nyw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgIHZvaWQgY2hlY2tG
b3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogICAgIGJvb2wgY2hlY2tGb3JN
YXRjaGluZ0ZpbHRlckZ1bmN0aW9uTGlzdHMoQ1NTUHJvcGVydHlJRCwgY29uc3Qgc3RkOjpmdW5j
dGlvbjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiAoY29uc3QgUmVuZGVyU3R5bGUmKT4mKSBjb25z
dDsKLQotcHJpdmF0ZToKLSAgICBLZXlmcmFtZUFuaW1hdGlvbihjb25zdCBBbmltYXRpb24mLCBF
bGVtZW50JiwgQ29tcG9zaXRlQW5pbWF0aW9uJiwgY29uc3QgUmVuZGVyU3R5bGUmIHVuYW5pbWF0
ZWRTdHlsZSk7Ci0gICAgdmlydHVhbCB+S2V5ZnJhbWVBbmltYXRpb24oKTsKICAgICAKICAgICAv
LyBHZXQgdGhlIHN0eWxlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHN1cnJvdW5kaW5nIHRoZSBj
dXJyZW50IGFuaW1hdGlvbiB0aW1lIGFuZCB0aGUgcHJvZ3Jlc3MgYmV0d2VlbiB0aGVtLgogICAg
IHZvaWQgZmV0Y2hJbnRlcnZhbEVuZHBvaW50c0ZvclByb3BlcnR5KENTU1Byb3BlcnR5SUQsIGNv
bnN0IFJlbmRlclN0eWxlKiYgZnJvbVN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSomIHRvU3R5bGUs
IGRvdWJsZSYgcHJvZ3Jlc3MpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmgKaW5kZXggNThkZmY0NWE0OGFhMDE4NzEwN2UzNGE2YmM4
NTQ5NjYzNDhjNmE4Yy4uMzU5ZTAyNTk4MzFmZmU3Y2M2ZjQ5NzUyYmI4YjBiMTlkNGZjN2Q4OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5o
CkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGluZ05vZGVJRCBvdmVyZmxv
d1Njcm9sbGluZ05vZGVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
SUQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxQcm94eU5vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2
b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCAy
MjQzNzQ3YWMzN2VmYjUwMzU1OTdmMDJiNjQ4Y2MxODBhOTY2MzA4Li4xNjgwMzQ3MzZhN2QyNzY4
OGVkZTQwOTlhZGQwYzE4YzkxYTI4NjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmgKQEAgLTE0OSw3ICsxNDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUmVm
UHRyPEF1ZGlvQnVzPiBsb2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lLCBmbG9h
dCBzYW1wbGVSYXRlKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBdWRpb0J1cygpIHsg
fQogCiAgICAgQXVkaW9CdXModW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IGxlbmd0
aCwgYm9vbCBhbGxvY2F0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAppbmRleCBk
NDFlYzM3ODA4NzU1MjNhNmY4MDUwMDIzOTQyYzhiZTg1NWU4ODFmLi43ZDZiOTdmZDA2ZDdkYzAy
ZmZhMmRmYzI2YzJlY2ZkN2U5MDJlNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
LmgKQEAgLTk4LDEwICs5OCw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGljdHVyZUluUGljdHVy
ZVN1cHBvcnRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0
aXZlKCkgY29uc3QgZmluYWw7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV0VCQ09SRV9F
WFBPUlQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQoKTsKIAotcHJpdmF0ZToKICAg
ICB2b2lkIHByb2dyZXNzRXZlbnRUaW1lckZpcmVkKCk7CiAgICAgc3RhdGljIGNvbnN0IFZlY3Rv
cjxXVEY6OkF0b21TdHJpbmc+JiBvYnNlcnZlZEV2ZW50TmFtZXMoKTsKICAgICBjb25zdCBXVEY6
OkF0b21TdHJpbmcmIGV2ZW50TmFtZUFsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWM5NmJkY2FlZTc1MzliNDA0MjQwMzZkOGNl
MjA5NzQ5MDExOTMzNS4uMWE5YTRiNTRhZWRmOTQ3MTkzYzJhYzU3ZmQzODM4ODQwZjdhZmU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBA
IC0xNDMsNyArMTQzLDcgQEAgcHVibGljOgogICAgIHZvaWQgaW1hZ2VGcmFtZUF2YWlsYWJsZUF0
SW5kZXgoc2l6ZV90KTsKICAgICB2b2lkIGRlY29kZShGdW5jdGlvbjx2b2lkKCk+JiYpOwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIEJpdG1hcEltYWdlKE5hdGl2
ZUltYWdlUHRyJiYsIEltYWdlT2JzZXJ2ZXIqID0gbnVsbHB0cik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgQml0bWFwSW1hZ2UoSW1hZ2VPYnNlcnZlciogPSBudWxscHRyKTsKIApAQCAtMTk1LDcgKzE5
NSw2IEBAIHByb3RlY3RlZDoKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiB0aWZmUmVwcmVzZW50
YXRpb24oY29uc3QgVmVjdG9yPE5hdGl2ZUltYWdlUHRyPiYpOwogI2VuZGlmCiAKLXByaXZhdGU6
CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7CiAgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVs
YXkpOwogICAgIFN1YnNhbXBsaW5nTGV2ZWwgc3Vic2FtcGxpbmdMZXZlbEZvclNjYWxlRmFjdG9y
KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0U2l6ZSYgc2NhbGVGYWN0b3IpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVk
SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVy
YXRlZEltYWdlLmgKaW5kZXggNDU3NjVjODMxNDUyMWU0OGFjYjBmOWRiMzllYTAzZDRlYTZlYzNi
MS4uYjhiZTgwNzY2OTE3NWRmZGIxZTc1MDM3ZWUxNTM1MjE1MmNiMjdiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0
ZWRJbWFnZS5oCkBAIC00NiwxMyArNDYsMTIgQEAgcHVibGljOgogCiAgICAgRmxvYXRTaXplIHNp
emUoSW1hZ2VPcmllbnRhdGlvbiA9IEltYWdlT3JpZW50YXRpb246OkZyb21JbWFnZSkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9jcm9zc2ZhZGVTaXplOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZh
dGU6CiAgICAgSW1hZ2VEcmF3UmVzdWx0IGRyYXcoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxv
YXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFp
bnRpbmdPcHRpb25zJiA9IHsgfSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkcmF3UGF0dGVybihHcmFw
aGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBG
bG9hdFBvaW50JiBwaGFzZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBJbWFnZVBh
aW50aW5nT3B0aW9ucyYgPSB7IH0pIG92ZXJyaWRlOwogCiAgICAgQ3Jvc3NmYWRlR2VuZXJhdGVk
SW1hZ2UoSW1hZ2UmIGZyb21JbWFnZSwgSW1hZ2UmIHRvSW1hZ2UsIGZsb2F0IHBlcmNlbnRhZ2Us
IGNvbnN0IEZsb2F0U2l6ZSYgY3Jvc3NmYWRlU2l6ZSwgY29uc3QgRmxvYXRTaXplJik7CiAKLXBy
aXZhdGU6CiAgICAgYm9vbCBpc0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChXVEY6OlRleHRTdHJlYW0mKSBjb25z
dCBvdmVycmlkZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKaW5kZXggMDI4NWUxZjhiOWEy
YTUxNjMyZGZjNGYzNzBhMmEwY2Q2MTNkODBlMC4uNTk3OGM3M2E3NGU1YjRhYjEzMmUwNTU3ZTBl
YjNjOWFlN2M4YzY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmgKQEAgLTM4LDEzICszOCwxMiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hbWVkSW1hZ2VHZW5lcmF0
ZWRJbWFnZShuYW1lLCBzaXplKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IEltYWdlRHJhd1Jlc3VsdCBkcmF3KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYg
ZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBJbWFnZVBhaW50aW5nT3B0
aW9ucyYgPSB7IH0pIG92ZXJyaWRlOwogICAgIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250
ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
IGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2lu
dCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29uc3QgSW1hZ2VQYWludGluZ09w
dGlvbnMmID0geyB9KSBvdmVycmlkZTsKIAogICAgIE5hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZShT
dHJpbmcgbmFtZSwgY29uc3QgRmxvYXRTaXplJik7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc05h
bWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2b2lkIGR1bXAoV1RGOjpUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oCmlu
ZGV4IDVkOGUyNTA3NDcwYmM3YTQ5OTk1NWM5ODFiMTc2ZmY0NDRmYmM2ZGIuLjQzMThjMWI1NTY4
ZjFiMDI1MTM4ODQxOGY2M2IwYmE3NzBmMGNhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRp
b25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaApAQCAtNTQsNyArNTQsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHBsYXllckRpZFJlY2VpdmVFcnJvcihOU0Vycm9yICopOwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQz4gbV9wYXJlbnQ7CiAgICAgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCogbV9jbGll
bnQ7CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCA0OTA5ZmRkYTljYzhmODdh
YWFjODM1ZGQxODhmYWVjYTVjNjA2NTM1Li5iZThmYzNhNjU5YTQ1NTJiNzRhNmMzY2M2ZDgxOTVi
MTIxMjFjOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtNDAzLDcgKzQwMyw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzQXVkaW8oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2lzQXVkaW87IH0KICAgICBib29s
IGlzVGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNUZXh0OyB9CiAgICAgCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIE1lZGlhRGVzY3JpcHRpb25BVkZPYmpDKEFWQXNzZXRUcmFj
ayogdHJhY2spCiAgICAgICAgIDogbV9pc1ZpZGVvKFt0cmFjayBoYXNNZWRpYUNoYXJhY3Rlcmlz
dGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY1Zpc3VhbF0pCiAgICAgICAgICwgbV9pc0F1ZGlvKFt0
cmFjayBoYXNNZWRpYUNoYXJhY3RlcmlzdGljOkFWTWVkaWFDaGFyYWN0ZXJpc3RpY0F1ZGlibGVd
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2Ev
UGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaAppbmRleCA1MWVhODMzYzM1
MmFlMThhOGMwZjRkYzE5MThkZWE0OGVjYmU3ZTRkLi4yOWJkZTVlOWVjMzYyMzBhNDJhZThjN2Q2
ZGM3NzVmYzQ5MjQ1ZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2Eu
aApAQCAtMTIzLDExICsxMjMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGltaW5nRnVuY3Rp
b25zKGNvbnN0IFZlY3Rvcjxjb25zdCBUaW1pbmdGdW5jdGlvbio+JiwgYm9vbCByZXZlcnNlID0g
ZmFsc2UpIG92ZXJyaWRlOwogICAgIHZvaWQgY29weVRpbWluZ0Z1bmN0aW9uc0Zyb20oY29uc3Qg
UGxhdGZvcm1DQUFuaW1hdGlvbiYpIG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIFBsYXRmb3JtQ0FBbmltYXRpb25Db2NvYShBbmltYXRpb25UeXBlLCBjb25zdCBTdHJpbmcm
IGtleVBhdGgpOwogICAgIFBsYXRmb3JtQ0FBbmltYXRpb25Db2NvYShQbGF0Zm9ybUFuaW1hdGlv
blJlZik7CiAKLXByaXZhdGU6CiAgICAgUmV0YWluUHRyPENBUHJvcGVydHlBbmltYXRpb24+IG1f
YW5pbWF0aW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmgKaW5kZXggMTYy
ZDYyNmE2Njg1MDUwYWI3N2U3ZTFhZDg3Y2I2MWFlZDhjODU4ZS4uMDhiYjdhNDBmZDMxMDRkMDQ5
OTQ0NjI3OTMwYjA3MDYyNDU3MjJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5o
CkBAIC0xMTMsMTEgKzExMywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUaW1pbmdGdW5jdGlv
bnMoY29uc3QgVmVjdG9yPGNvbnN0IFRpbWluZ0Z1bmN0aW9uKj4mLCBib29sIHJldmVyc2UgPSBm
YWxzZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3B5VGltaW5nRnVuY3Rpb25zRnJvbShjb25zdCBQ
bGF0Zm9ybUNBQW5pbWF0aW9uJikgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgUGxhdGZvcm1DQUFuaW1hdGlvbldpbihBbmltYXRpb25UeXBlLCBjb25zdCBTdHJpbmcmIGtl
eVBhdGgpOwogICAgIFBsYXRmb3JtQ0FBbmltYXRpb25XaW4oUGxhdGZvcm1BbmltYXRpb25SZWYp
OwogCi1wcml2YXRlOgogICAgIFJldGFpblB0cjxDQUNGQW5pbWF0aW9uUmVmPiBtX2FuaW1hdGlv
bjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlRGVjb2RlckNHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZURlY29kZXJDRy5oCmluZGV4IGFjZDBlZmNjNzc5ZTY0MTdlMjA4NzBlNzYxOTEzYTVhZTRi
MDViM2QuLjQ0ODc1M2RmYWE0NTI4MmVlYjkyNmQwOGJkZDU1NzY5MzA2NTYxMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cu
aApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FsbERhdGFSZWNlaXZlZCgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNBbGxEYXRhUmVjZWl2ZWQ7IH0KICAgICB2b2lkIGNs
ZWFyRnJhbWVCdWZmZXJDYWNoZShzaXplX3QpIGZpbmFsIHsgfQogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIGJvb2wgbV9pc0FsbERhdGFSZWNlaXZlZCB7IGZhbHNlIH07CiAgICAgUmV0YWlu
UHRyPENHSW1hZ2VTb3VyY2VSZWY+IG1fbmF0aXZlRGVjb2RlcjsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPT3JpZ2luYWxGb3JtYXRCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1h
dEJveC5oCmluZGV4IDE4ODNiYTQ3YmRmM2E1MmFmYjJmZjdkMGRkNWNkOWRjZDdjZGQ4NzAuLjIy
MWNiNjc0MDc4MTRhY2QxNjNjOGQxYmQwN2FlZTUxMDcwZTQyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1h
dEJveC5oCkBAIC0zNSw3ICszNSw3IEBAIHB1YmxpYzoKIAogICAgIEZvdXJDQyBkYXRhRm9ybWF0
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhRm9ybWF0OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgYm9vbCBwYXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJp
ZGU7CiAKICAgICBGb3VyQ0MgbV9kYXRhRm9ybWF0IHsgdWludDMyX3QgeyAwIH0gfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09Qcm90ZWN0aW9u
U2NoZW1lSW5mb0JveC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lT
T1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmgKaW5kZXggOGU1NjczZTA1MTZhNjUwMTRmNWNkNDlm
NjFhYTdiNzUzOGQyY2FmNi4uYTZhMjQyYjNiYjI0N2NjZWY0ZTk0NTEzZDU3ZTg0OGNkYTFhOGU0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1By
b3RlY3Rpb25TY2hlbWVJbmZvQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmgKQEAgLTQwLDcgKzQwLDcgQEAg
cHVibGljOgogICAgIGNvbnN0IElTT1NjaGVtZVR5cGVCb3gqIHNjaGVtZVR5cGVCb3goKSBjb25z
dCB7IHJldHVybiBtX3NjaGVtZVR5cGVCb3guZ2V0KCk7IH0KICAgICBjb25zdCBJU09TY2hlbWVJ
bmZvcm1hdGlvbkJveCogc2NoZW1lSW5mb3JtYXRpb25Cb3goKSBjb25zdCB7IHJldHVybiBtX3Nj
aGVtZUluZm9ybWF0aW9uQm94LmdldCgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
Ym9vbCBwYXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAK
ICAgICBJU09PcmlnaW5hbEZvcm1hdEJveCBtX29yaWdpbmFsRm9ybWF0Qm94OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZUluZm9ybWF0
aW9uQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1l
SW5mb3JtYXRpb25Cb3guaAppbmRleCBlOGVjMGM0YzY5Yjc0ZTgzMzQ0OTg5NDFmMjRlZWU0MTBm
MmNkZDZlLi44OTM2ZjMzODNiMWZjZDIwMjUzN2E3ZWYxMjg3ZDg2YWQ0MzI2NjU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lSW5mb3Jt
YXRpb25Cb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNP
U2NoZW1lSW5mb3JtYXRpb25Cb3guaApAQCAtMzUsNyArMzUsNyBAQCBwdWJsaWM6CiAKICAgICBj
b25zdCBJU09Cb3gqIHNjaGVtZVNwZWNpZmljRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1l
U3BlY2lmaWNEYXRhLmdldCgpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBw
YXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SVNPQm94PiBtX3NjaGVtZVNwZWNpZmljRGF0YTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lVHlwZUJveC5o
CmluZGV4IDRiOGYyNjMzNzUwZjhhZGY5MGJjMjdjMmQwY2YxNGVmOTgyYzE3M2EuLjFiNmFmY2Uz
YzVhMWRjMTdjNmM3YzY2YzZkNDViNTU5Zjc1YmVlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5cGVCb3guaApAQCAtMzYs
NyArMzYsNyBAQCBwdWJsaWM6CiAgICAgRm91ckNDIHNjaGVtZVR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3NjaGVtZVR5cGU7IH0KICAgICB1aW50MzJfdCBzY2hlbWVWZXJzaW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY2hlbWVWZXJzaW9uOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9v
bCBwYXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKICAg
ICBGb3VyQ0MgbV9zY2hlbWVUeXBlIHsgdWludDMyX3QgeyAwIH0gfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRp
b25Cb3guaAppbmRleCA0N2ZhNDk3MjQ2YzcxNWJlMWQyY2VmOWIwZWE4N2RkN2Y3OWVmNTlmLi44
MjM5NzQyMDQ2YTI2YTkyZDhiYTdiNzlhMTFjOWVhZmUyZmVkOTlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVHJhY2tFbmNyeXB0aW9uQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlw
dGlvbkJveC5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8dWludDhfdD4g
ZGVmYXVsdEtJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdEtJRDsgfQogICAgIFZlY3Rvcjx1
aW50OF90PiBkZWZhdWx0Q29uc3RhbnRJVigpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdENvbnN0
YW50SVY7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0
YVZpZXcmLCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIE9wdGlvbmFsPGludDhf
dD4gbV9kZWZhdWx0Q3J5cHRCeXRlQmxvY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3BwCmluZGV4IDczN2RjMjQ0OTRjNWZhNGMyMzI3
YjJiNzYwNDlkYWY2NmY5OWQ4M2MuLmFhYzJiYWNjM2Q1M2JmMGViOWEzZmUwYzMwOWUwMmQ0OTI0
NmM1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9J
U09WVFRDdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9J
U09WVFRDdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIElTT1N0cmluZ0JveCBmaW5hbCA6
IHB1YmxpYyBJU09Cb3ggewogcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgY29udGVudHMoKSB7
IHJldHVybiBtX2NvbnRlbnRzOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBw
YXJzZShKU0M6OkRhdGFWaWV3JiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgbG9jYWxPZmZzZXQgPSBvZmZzZXQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmgKaW5kZXggOWQ0NjQ1NmUw
ZmI0MTg3NGY4YWQyYzI1ZmU5ZjgxYjY2MTg5MDQ5ZC4uN2ZhNjNjNzQzMTY1NjAzNWZlZjA5N2Fm
OWUxYjJkNDllNWZhNTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvaXNvL0lTT1ZUVEN1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lzby9JU09WVFRDdWUuaApAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICAgICAg
fX07CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcGFyc2UoSlNDOjpE
YXRhVmlldyYsIHVuc2lnbmVkJiBvZmZzZXQpIG92ZXJyaWRlOwogCiAgICAgTWVkaWFUaW1lIG1f
cHJlc2VudGF0aW9uVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9JbWFnZURlY29kZXJEaXJlY3QyRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKaW5kZXggNGI2YmQ0MmM3NDQz
NjJhMTJhZmQ5NzY2ZjE2NmQ3MmE0NjE4NzYxMy4uNzZkN2FjYTkzZTM5MjQyN2IyNjUzNTRjYWYy
ZTMyZWVhY2NmMTdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKQEAgLTgwLDcgKzgwLDcgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIElXSUNJbWFnaW5nRmFjdG9yeTIqIHN5c3RlbUltYWdpbmdG
YWN0b3J5KCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWxsRGF0YVJl
Y2VpdmVkIHsgZmFsc2UgfTsKICAgICBtdXRhYmxlIEludFNpemUgbV9zaXplOwogICAgIENPTVB0
cjxJV0lDQml0bWFwRGVjb2Rlcj4gbV9uYXRpdmVEZWNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmgKaW5kZXggNWZmNGEzYTMxMDNhYjIwNzRjNDlmM2FiN2E4OGFlZTczMDU2OGFm
ZC4uYWJkZTNhOTRjMDEyZTQxZTA0YmZkODIwYjA0MjA5YTI1MjBiYjNhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZD
YXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcmVmcmVzaENhcHR1cmVEZXZpY2VzKCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
c3RhdGljIGJvb2wgaXNBdmFpbGFibGUoKTsKIAogICAgIEFWQ2FwdHVyZURldmljZU1hbmFnZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja0JveC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
Qm94LmgKaW5kZXggMmNjNTMwZmUzNWQyZWRkYjJiODJlOTVkMWI2MjJmZjdiODdmYWRjOC4uYmUy
MTAxNTQwNGJjNjYzOGQ0NDZjZWIyMDZkODk4ZmY1ZDg3MDIzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogICAgIGVudW0gVHJhY2tLaW5kIHsgQXVkaW8sIFZpZGVvLCBUZXh0IH07
CiAgICAgVHJhY2tLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICB1aW50OF90IG1fdHJhY2tJRDsKICAgICBTdHJpbmcgbV9jb2Rl
YzsKICAgICBUcmFja0tpbmQgbV9raW5kOwpAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAg
ICBNZWRpYVRpbWUgZHVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CiAgICAg
Y29uc3QgVmVjdG9yPE1vY2tUcmFja0JveD4mIHRyYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fdHJh
Y2tzOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247
CiAgICAgVmVjdG9yPE1vY2tUcmFja0JveD4gbV90cmFja3M7CiB9OwpAQCAtMTU3LDcgKzE1Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzRGVsYXllZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3Mg
JiBJc0RlbGF5ZWQ7IH0KICAgICBib29sIGlzTm9uRGlzcGxheWluZygpIGNvbnN0IHsgcmV0dXJu
IG1fZmxhZ3MgJiBJc05vbkRpc3BsYXlpbmc7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICBNZWRpYVRpbWUgbV9wcmVzZW50YXRpb25UaW1lc3RhbXA7CiAgICAgTWVkaWFUaW1lIG1fZGVj
b2RlVGltZXN0YW1wOwogICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJp
dmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tT
b3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCAzMjg2OTE1YTZhZTA4YmJhZWJjMGE3YzE2NmEx
NmQ0NWQ4YmEzMGJhLi5mNGRhZDAzNzEzMDMxODQ5ZTYzN2Y5N2JiMDc4ZDIzZmU4Njk4MWE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tT
b3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcApAQCAtMTEzLDcgKzExMyw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzQXVkaW8oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X2JveC5raW5kKCkgPT0gTW9ja1RyYWNrQm94OjpBdWRpbzsgfQogICAgIGJvb2wgaXNUZXh0KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9ib3gua2luZCgpID09IE1vY2tUcmFja0JveDo6VGV4
dDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIE1vY2tNZWRpYURlc2NyaXB0aW9uKGNv
bnN0IE1vY2tUcmFja0JveCYgYm94KSA6IG1fYm94KGJveCkgeyB9CiAgICAgTW9ja1RyYWNrQm94
IG1fYm94OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
dWxsU2NyZWVuLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5o
CmluZGV4IDFlNTEzOTUxMDNhNTU1ZjM0NjdhOTYyZDlmYzMzYThiZmU1YjZmMGMuLjAzNDU1ZDg2
NjM1ZTJjOGYxMWYxYWNlMTBkMTViODhjNDI5MzA0Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaApAQCAtNTIsNyArNTIsNiBAQCBwcml2YXRlOgogICAg
IGJvb2wgaXNSZW5kZXJGdWxsU2NyZWVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIGJvb2wgaXNGbGV4aWJsZUJveEltcGwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CiAKLXByb3RlY3RlZDoKICAgICBXZWFrUHRyPFJlbmRlckJsb2NrPiBtX3BsYWNlaG9s
ZGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5kZXggYmQ0NDM3
YTIyNjQ3MTc3ZWE1NzkwYzk2ZmNiNmZlOWJlNzE4YjA4Yi4uZDcyNzhiMjY1ZWQ4M2UwMGZmOTRk
ZGFjNzFjZWU0ZTRjOTk4MjdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5o
CkBAIC04MSwxNCArODEsMTMgQEAgcHVibGljOgogCiAgICAgU3R5bGVDb250ZW50QWxpZ25tZW50
RGF0YSBjb250ZW50QWxpZ25tZW50KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSXRlbVBvc2l0aW9uIHNlbGZBbGlnbm1lbnROb3Jt
YWxCZWhhdmlvcihjb25zdCBSZW5kZXJCb3gqIGNoaWxkID0gbnVsbHB0cikgY29uc3Qgb3ZlcnJp
ZGUKICAgICB7CiAgICAgICAgIEFTU0VSVChjaGlsZCk7CiAgICAgICAgIHJldHVybiBjaGlsZC0+
aXNSZW5kZXJSZXBsYWNlZCgpID8gSXRlbVBvc2l0aW9uOjpTdGFydCA6IEl0ZW1Qb3NpdGlvbjo6
U3RyZXRjaDsKICAgICB9CiAKLXByaXZhdGU6CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNSZW5kZXJHcmlkKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaAppbmRleCBlZjljMDVlMjhlZDlmM2U1MmM5MjllYWFiNDg2OTRkZTBlMzFh
ZWUyLi5mNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtMTI5LDEw
ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBjb2x1bW5SZWN0QXQodW5zaWduZWQg
aW5kZXgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGNvbHVtbkNvdW50KCkgY29uc3Q7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpIG92ZXJy
aWRlOwogICAgIAotcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlk
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKaW5kZXggZTBmMTcyMTY2ZDc5
ZTkyNWI2YmJkNTA5N2Y4NDAyNGVkMTI2ZTBhZS4uYTNhMWMwMjQ0NjgzYTg3YTNkZWRiNTlhNDQ2
MWRhZmVhODBkMzlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJ1YnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCkBAIC01
NiwxMCArNTYsOSBAQCBwdWJsaWM6CiAgICAgUmVuZGVyUnVieUFzSW5saW5lKEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJSdWJ5QXNJbmxpbmUoKTsKIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAg
ICBib29sIGlzUnVieUlubGluZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBj
b25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlclJ1
YnkgKGlubGluZSkiOyB9CiAgICAgYm9vbCBjcmVhdGVzQW5vbnltb3VzV3JhcHBlcigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KQEAgLTc0LDEwICs3Myw5IEBAIHB1YmxpYzoKIAog
ICAgIEVsZW1lbnQmIGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxFbGVtZW50Pihu
b2RlRm9yTm9uQW5vbnltb3VzKCkpOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc1J1YnlCbG9jaygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlclJ1YnkgKGJsb2NrKSI7IH0KICAgICBib29sIGNy
ZWF0ZXNBbm9ueW1vdXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgKaW5kZXgg
OGY4YjllOTFiNjdiZmY3YTllOTNkMGExMzQ1YWI4YTM4N2MxNmQ1OC4uN2RmYzRiM2E1YzI2NmYy
YTNjYTY0ZDVjNDc3YWFhYzAyN2UyYmNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oCkBAIC01NSwxMSArNTUsMTAgQEAgcHVibGljOgogCiAg
ICAgUmVuZGVyQm94KiByZW5kZXJlck93bmluZ1Njcm9sbGJhcigpIGNvbnN0OwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgaW1hZ2VDaGFu
Z2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCogPSBudWxscHRyKSBvdmVycmlkZTsK
IAotcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclRoZW1lLmgKaW5kZXggNjFjNzZmODVhMjJjMGUzNTA3NmY2NGFiYzA2ZjExYmYwY2Fm
N2I4Yi4uOWNjZWY0NmY5MmFmZDQ2YTRhM2IyZmViNDU4MDJmMTE2ODM0MmZmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgIAogICAgIHN0YXRpYyBSZW5kZXJTY3JvbGxiYXJUaGVtZSog
cmVuZGVyU2Nyb2xsYmFyVGhlbWUoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29s
IGhhc0J1dHRvbnMoU2Nyb2xsYmFyJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNUaHVtYihTY3Jv
bGxiYXImKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ2VsbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5oCmluZGV4IDI1YWI2MzUxZjlkYzE5MmQ2OWQ1NzUwNDdmYzdkMmVjMzYyY2NkNjUuLmZk
ZmY0NWQ3NDc1NDg1M2NjYzZhOGZjMWM4ZjExNWFlZjU2ZDFiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKQEAgLTEzNCwxMSArMTM0LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGludmFsaWRhdGVIYXNFbXB0eUNvbGxhcHNlZEJvcmRlcnMoKTsKICAgICB2
b2lkIHNldEhhc0VtcHR5Q29sbGFwc2VkQm9yZGVyKENvbGxhcHNlZEJvcmRlclNpZGUsIGJvb2wg
ZW1wdHkpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgc3R5bGVEaWRD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJy
aWRlOwogICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsK
IAotcHJpdmF0ZToKICAgICBzdGF0aWMgUmVuZGVyUHRyPFJlbmRlclRhYmxlQ2VsbD4gY3JlYXRl
VGFibGVDZWxsV2l0aFN0eWxlKERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUmKTsKIAogICAg
IGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAoaXNBbm9u
eW1vdXMoKSB8fCBpc1BzZXVkb0VsZW1lbnQoKSkgPyAiUmVuZGVyVGFibGVDZWxsIChhbm9ueW1v
dXMpIiA6ICJSZW5kZXJUYWJsZUNlbGwiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVTZWN0aW9uLmgKaW5kZXggZjhhOWZmZTVkMGJhYTliMjg5OGZjM2QzNzMzZjkz
NzJkOTc1MGQ4NS4uZTNmOTQ2N2FiMTA3MGEyMWUzYzM2M2JhY2Q3MjcwMDNkNmU5YTZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaApAQCAtMTQ5
LDEwICsxNDksOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHdpbGxJbnNlcnRUYWJsZVJvdyhSZW5k
ZXJUYWJsZVJvdyYgY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHN0
YXRpYyBSZW5kZXJQdHI8UmVuZGVyVGFibGVTZWN0aW9uPiBjcmVhdGVUYWJsZVNlY3Rpb25XaXRo
U3R5bGUoRG9jdW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSYpOwogCiAgICAgZW51bSBTaG91bGRJ
bmNsdWRlQWxsSW50ZXJzZWN0aW5nQ2VsbHMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MuaAppbmRleCA1YTQ2MWJiNjRjNzhkNDNkM2IzNjAyMDg0YzZmMjgwOTQ0NmFi
YWI0Li43ZTIwOGMyYWI5ZDVhOGEyMGNjMmExODQ1ZWJjNzI0OTA0Mzg2NGQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJs
aWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRGb2N1c1JpbmdDb2xvcihj
b25zdCBDb2xvciYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIExlbmd0aEJveCBwb3B1
cEludGVybmFsUGFkZGluZ0JveChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIAogICAgIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGNhY2hlZFN5c3RlbUZvbnREZXNjcmlw
dGlvbihDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCBmMDgzYjUyZGMzMDJmNmNkZjZmNTIzODEzMjRi
NzgwOGI3YTM1ODdhLi5iY2ExYjFkZjBiYjdmYTMzMjEzM2E3NzM0ZGMzZWVkMmM1OTY2NWQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTIwMSwxMyArMjAxLDEyIEBA
IHB1YmxpYzoKICAgICBjb25zdCBIYXNoU2V0PGNvbnN0IFJlbmRlckJveCo+JiBib3hlc1dpdGhT
Y3JvbGxTbmFwUG9zaXRpb25zKCkgeyByZXR1cm4gbV9ib3hlc1dpdGhTY3JvbGxTbmFwUG9zaXRp
b25zOyB9CiAjZW5kaWYKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIG1hcExvY2Fs
VG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgVHJhbnNmb3JtU3RhdGUmLCBNYXBDb29yZGluYXRlc0ZsYWdzLCBib29sKiB3YXNGaXhlZCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBwdXNoTWFwcGluZ1RvQ29u
dGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQsIFJl
bmRlckdlb21ldHJ5TWFwJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBtYXBBYnNvbHV0ZVRv
TG9jYWxQb2ludChNYXBDb29yZGluYXRlc0ZsYWdzLCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgcmVxdWlyZXNDb2x1bW5zKGludCBkZXNpcmVkQ29sdW1uQ291bnQp
IGNvbnN0IG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUNvbHVtbkNvdW50
QW5kV2lkdGgoKSBvdmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkUmVwYWludChjb25zdCBMYXlv
dXRSZWN0JikgY29uc3Q7CkBAIC0yMTksNyArMjE4LDYgQEAgcHJpdmF0ZToKIAogICAgIE5vZGUq
IG5vZGVGb3JIaXRUZXN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgRnJhbWVW
aWV3JiBtX2ZyYW1lVmlldzsKIAogICAgIC8vIEluY2x1ZGUgdGhpcyBSZW5kZXJWaWV3LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmgKaW5kZXggMDJmN2Y2YWQ4ZmQyNWIwNWQzYTA1MWY2MmJmNDYyM2JkOGM0NmMxZC4u
NTVkOWUzNGRmNjEyNTYwZmJhZDJmNzRkMTVjNmU3NzM5MjMxN2Y3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
CkBAIC01NCwxMCArNTQsOSBAQCBwdWJsaWM6CiAKICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRU
eXBlIGNsaXBQYXRoVW5pdHMoKSBjb25zdCB7IHJldHVybiBjbGlwUGF0aEVsZW1lbnQoKS5jbGlw
UGF0aFVuaXRzKCk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHNlbGZOZWVk
c0NsaWVudEludmFsaWRhdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIChldmVySGFkTGF5
b3V0KCkgfHwgbV9jbGlwcGVyLnNpemUoKSkgJiYgc2VsZk5lZWRzTGF5b3V0KCk7IH0KIAotcHJp
dmF0ZToKICAgICBzdHJ1Y3QgQ2xpcHBlckRhdGEgewogICAgICAgICBGbG9hdFJlY3Qgb2JqZWN0
Qm91bmRpbmdCb3g7CiAgICAgICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAppbmRleCA3OGYwN2YwYTBhZGI0
NDNiYzQxZGJjMTQ1YmY0MDRmNDQxN2JiMjdjLi42YTIyNDhjN2Y4NWE2MDQ0NGQ2N2RiN2E5MWE3
ZDhlYjliY2MxZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCkBA
IC0xMTksMTMgKzExOSwxMiBAQCBwdWJsaWM6CiAgICAgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiYg
bWV0aG9kQW5pbWF0ZWQoKSB7IHJldHVybiBtX21ldGhvZDsgfQogICAgIFNWR0FuaW1hdGVkRW51
bWVyYXRpb24mIHNwYWNpbmdBbmltYXRlZCgpIHsgcmV0dXJuIG1fc3BhY2luZzsgfQogCi1wcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBkaWRGaW5pc2hJbnNlcnRpbmdOb2RlKCkgb3ZlcnJpZGU7Ci0KIHBy
aXZhdGU6CiAgICAgU1ZHVGV4dFBhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1RleHRQYXRoRWxlbWVudCgpOwogCisgICAgdm9pZCBk
aWRGaW5pc2hJbnNlcnRpbmdOb2RlKCkgb3ZlcnJpZGU7CisKICAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZH
VGV4dENvbnRlbnRFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb25zb2xlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNv
bGVDbGllbnQuaAppbmRleCBkYjNlOTM3NDIwMDkyODQyZDAzZDM0NGQ4MmZmNWJiMjIwODk4OWJm
Li45NzdiMDdkNTQxMzc4MmZmNTUwMzE3NmFmMzAxZjA2MmYzNDRlNmRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaApAQCAtNDEsNyArNDEsNyBAQCBw
dWJsaWM6CiAgICAgZXhwbGljaXQgV29ya2VyQ29uc29sZUNsaWVudChXb3JrZXJHbG9iYWxTY29w
ZSYpOwogICAgIHZpcnR1YWwgfldvcmtlckNvbnNvbGVDbGllbnQoKTsKIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICB2b2lkIG1lc3NhZ2VXaXRoVHlwZUFuZExldmVsKE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRB
cmd1bWVudHM+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY291bnQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIGNvbnN0IFN0cmluZyYgbGFiZWwpIG92ZXJyaWRlOwogICAgIHZvaWQgY291bnRSZXNldChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CkBAIC01
Niw3ICs1Niw2IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlY29yZEVuZChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAg
ICB2b2lkIHNjcmVlbnNob3QoSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgV29ya2VyR2xvYmFs
U2NvcGUmIG1fd29ya2VyR2xvYmFsU2NvcGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0
LmgKaW5kZXggYzkyOGVjM2ZkYWJlMDYwNWM2OTUxYzgxYWM0Y2E1MWFiMTNjNjI4Ni4uYjBjMzI1
Y2JkOGRmZWUwYjFkZjhiYjE0MzlhYzliYzAzNTdlNjFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dv
cmtsZXQuaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBhZGRNb2R1
bGUoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIG1vZHVsZVVSTCk7CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgV29ya2xldCgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL0FQSURpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElE
aWN0aW9uYXJ5LmgKaW5kZXggOWU1NTA1ZWUzMWU0ODExY2E1NWNkOGJhM2E5OGY5OTA2YThhN2M4
Ny4uZTY4MzJlMjNjYmNlMGI5OGY0ZWE0ZjgxZmM4M2YzMmI1NjgxOTM1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSURpY3Rpb25hcnkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQVBJRGljdGlvbmFyeS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IE1hcFR5cGUmIG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFwOyB9CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZXhwbGljaXQgRGljdGlvbmFyeShNYXBUeXBlKTsKIAog
ICAgIE1hcFR5cGUgbV9tYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1RleHRUcmFja1ByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGI5NTAzNGJmMjY5
NTgxYWE3ZTliZjZkYTkwZjIxOTY5NGNiMGNmNjQuLmI3Y2VkYjdlODM5NGY5OWJhOWNmYjBhMmFj
MmE5NzgxMWIzYzQxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oCkBAIC05OCw3ICs5OCw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzRWFzeVRvUmVhZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
aXNFYXN5VG9SZWFkOyB9CiAgICAgYm9vbCBpc0RlZmF1bHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2lzRGVmYXVsdDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFRleHRUcmFja1By
aXZhdGVSZW1vdGUoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwgVHJhY2tQcml2YXRlUmVtb3Rl
SWRlbnRpZmllciwgVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24mJik7CiAKICAg
ICBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUmIG1fcGxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCmluZGV4IDEx
MzA2MDQ0MzZjMThjZjMyOGNkZWFlMDMxYmM1OTU1NTVlYjU5MjQuLjk3NjkwMjcxNjg4NTUwMWM3
ZjUyNzk5MDMwODdhZWU0ZThlNDRmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKQEAgLTYwLDEzICs2MCwxMSBA
QCBwdWJsaWM6CiAKICAgICBOUElkZW50aWZpZXIgbnBJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9ucElkZW50aWZpZXI7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KIHByaXZhdGU6CiAgICAgc3RhdGlj
IEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJik7CiAgICAgCiAgICAg
SlNOUE1ldGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqLCBOUElkZW50
aWZpZXIpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYsIGNvbnN0IFN0cmluZyYg
bmFtZSk7CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6
OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUg
cHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAppbmRleCA0ODAzYzBiYzU3MWY5NzdkZGMyNzIy
YmJhYjk2YjZkMjdjMmE5Yzc4Li5mYTk4NDMyNWMyYzEyMjA1N2Q4MmYzMDlhOWE2NDMxZjk1YzNh
NDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9KU05QT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvSlNOUE9iamVjdC5oCkBAIC03NiwxMyArNzYsMTEgQEAgcHVibGljOgogCiAgICAgTlBP
YmplY3QqIG5wT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9ucE9iamVjdDsgfQogCi1wcm90ZWN0
ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0KIHBy
aXZhdGU6CiAgICAgc3RhdGljIEpTQzo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6
OlZNJik7CiAgICAgCiAgICAgSlNOUE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpT
dHJ1Y3R1cmUqLCBOUFJ1bnRpbWVPYmplY3RNYXAqLCBOUE9iamVjdCopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIAogICAgIHN0YXRpYyBKU0M6
OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggNzU2YTAwM2ExZDg4NGYwNTRjMzlhNTA4YTgzZmRiODMz
NTQ5NDI3OS4uMjBmYjQ4N2IzNTM3NDJiODBkZjIyMDJhMTcxODE5MDk0NTE2YmQ2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJl
c291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC03MSwxMCArNzEsOSBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc09uTGluZSgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgYWRkT25saW5lU3RhdGVDaGFuZ2VM
aXN0ZW5lcihXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwogCi1wcm90ZWN0ZWQ6
Citwcml2YXRlOgogICAgIHZpcnR1YWwgfldlYlJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCi1w
cml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKik7
CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1
ZXN0VGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVm
YXVsdERvd25sb2FkRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRE
b3dubG9hZERlbGVnYXRlLmgKaW5kZXggODg1NWI3Y2QxNDY2MzI1ZDM3OGIxZDQwODgyNGRmYzc3
ZmI5ZDgzZC4uZmI0Y2M3YmQ4Y2RlMWMzYTkwMWVhZTc4MzE0NDVjN2E5NGViMjYxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdERvd25sb2FkRGVsZWdhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0RG93bmxvYWREZWxlZ2F0ZS5oCkBA
IC0zNywxMCArMzcsNyBAQCBjbGFzcyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSBmaW5hbCA6IHB1
YmxpYyBJV2ViRG93bmxvYWREZWxlZ2F0ZQogcHVibGljOgogICAgIHN0YXRpYyBEZWZhdWx0RG93
bmxvYWREZWxlZ2F0ZSogc2hhcmVkSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgRGVmYXVsdERvd25s
b2FkRGVsZWdhdGUqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcml2YXRlOgotICAgIERlZmF1bHREb3du
bG9hZERlbGVnYXRlKCk7Ci0gICAgfkRlZmF1bHREb3dubG9hZERlbGVnYXRlKCk7Ci1wdWJsaWM6
CisKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBw
dk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsK
QEAgLTYzLDcgKzYwLDExIEBAIHB1YmxpYzoKICAgICAvLyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0
ZQogICAgIHZvaWQgcmVnaXN0ZXJEb3dubG9hZChJV2ViRG93bmxvYWQqKTsKICAgICB2b2lkIHVu
cmVnaXN0ZXJEb3dubG9hZChJV2ViRG93bmxvYWQqKTsKLXByb3RlY3RlZDoKKworcHJpdmF0ZToK
KyAgICBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSgpOworICAgIH5EZWZhdWx0RG93bmxvYWREZWxl
Z2F0ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIAogICAgIEhhc2hTZXQ8SVdl
YkRvd25sb2FkKj4gbV9kb3dubG9hZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0Rl
ZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCmluZGV4IGEyYjY2NjQxMmY4NGZiMzY0ZWYyMGRlYzI4MmZj
NGVlYTdmZjAwMjguLmE5NmVhZjdjZjAzZjFiZmI1ZDVlZDAyZTUwNDU3MTU0MDFlMTBiZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCkBA
IC0zMiwxMCArMzIsNyBAQCBjbGFzcyBEZWZhdWx0UG9saWN5RGVsZWdhdGUgZmluYWwgOiBwdWJs
aWMgSVdlYlBvbGljeURlbGVnYXRlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGVmYXVsdFBvbGlj
eURlbGVnYXRlKiBzaGFyZWRJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBEZWZhdWx0UG9saWN5RGVs
ZWdhdGUqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcml2YXRlOgotICAgIERlZmF1bHRQb2xpY3lEZWxl
Z2F0ZSgpOwotICAgIH5EZWZhdWx0UG9saWN5RGVsZWdhdGUoKTsKLXB1YmxpYzoKKwogICAgIC8v
IElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50
ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsK
ICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTMsNyAr
NTAsMTAgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSB1bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihfSW5fb3B0XyBJV2ViVmlldyos
IF9Jbl9vcHRfIElXZWJFcnJvciosIF9Jbl9vcHRfIElXZWJGcmFtZSopOwogCi1wcm90ZWN0ZWQ6
Citwcml2YXRlOgorICAgIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOworICAgIH5EZWZhdWx0UG9s
aWN5RGVsZWdhdGUoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9NZW1vcnlTdHJlYW0uaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5oCmluZGV4IDE5ZjgyNDhiMDI3NzYzOWU2OTVj
NjUwZDc5NjEyYWMzMDlmNzYzMGYuLjJiYTdkYTkwYTVjNjIxMjkwMDhkZjYxMjk3MzBhY2RiOWJk
NDUzYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5oCkBAIC0zNywxMSAr
MzcsNiBAQCBjbGFzcyBNZW1vcnlTdHJlYW0gZmluYWwgOiBwdWJsaWMgSVN0cmVhbQogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8TWVtb3J5U3RyZWFtPiBjcmVhdGVJbnN0YW5jZShSZWZQdHI8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKTsKIAotcHJvdGVjdGVkOgotICAgIE1lbW9yeVN0cmVh
bShSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKTsKLSAgICB+TWVtb3J5U3RyZWFtKCk7
Ci1wdWJsaWM6Ci0KICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8g
dm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBB
ZGRSZWYoKTsKQEAgLTc5LDcgKzc0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgU3RhdChfT3V0XyBTVEFUU1RHKiwgRFdPUkQgZ3JmU3RhdEZsYWcp
OwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDbG9uZShfQ09NX091dHB0
cl8gSVN0cmVhbSoqIHBwc3RtKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBNZW1vcnlT
dHJlYW0oUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJik7CisgICAgfk1lbW9yeVN0cmVh
bSgpOworCiAgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gbV9idWZmZXI7CiAgICAg
c2l6ZV90IG1fcG9zIHsgMCB9OwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmgKaW5kZXggOGU1NmQwNTU0
NGViZTRiYmRhNjliMGQzMTBkOGM1ZGI0OWQzNjI4Zi4uY2ZkMGJhMWRhMDAwYjQwOTg4MTgxZWU3
ZGJkMDk4NzRlNzVhNTQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
QXBwbGljYXRpb25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFwcGxp
Y2F0aW9uQ2FjaGUuaApAQCAtMzgsMTEgKzM4LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFdl
YkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlJiBzdG9yYWdlKCk7CiAKLXByb3RlY3RlZDoK
LSAgICBXZWJBcHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgfldlYkFwcGxpY2F0aW9uQ2FjaGUoKTsK
LQotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2
b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFk
ZFJlZigpOwpAQCAtNjIsNyArNTcsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIG9yaWdpbnNXaXRoQ2FjaGUoLypbb3V0LCByZXR2YWxdKi8gSVBy
b3BlcnR5QmFnKiopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkFwcGxpY2F0aW9u
Q2FjaGUoKTsKKyAgICB+V2ViQXBwbGljYXRpb25DYWNoZSgpOworCiAgICAgVUxPTkcgbV9yZWZD
b3VudDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hp
dmUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hpdmUuaAppbmRleCA4NjcyZGVh
NzM2OGI5ODExMzE0YzI1ZWIzNWY3ZjJhOTcyMTYwYTBmLi4wNTA0ZTNhMzlmNGI1MTJlYjUwODM3
YmExZTMxOWZjNGEwY2Y4YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJBcmNoaXZlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXJjaGl2ZS5oCkBA
IC0zOSwxMSArMzksNyBAQCBjbGFzcyBXZWJBcmNoaXZlIGZpbmFsIDogcHVibGljIElXZWJBcmNo
aXZlCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkFyY2hpdmUqIGNyZWF0ZUluc3RhbmNlKCk7CiAg
ICAgc3RhdGljIFdlYkFyY2hpdmUqIGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpMZWdh
Y3lXZWJBcmNoaXZlPiYmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJBcmNoaXZlKFJlZlB0cjxXZWJD
b3JlOjpMZWdhY3lXZWJBcmNoaXZlPiYmKTsKLSAgICB+V2ViQXJjaGl2ZSgpOwogCi1wdWJsaWM6
CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZP
YmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBA
IC02MCw3ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFICBzdWJmcmFtZUFyY2hpdmVzKF9DT01fT3V0cHRyX29wdF8gSUVudW1WQVJJQU5UKiop
OwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSAgZGF0YShfQ09NX091dHB0
cl9vcHRfIElTdHJlYW0qKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViQXJjaGl2
ZShSZWZQdHI8V2ViQ29yZTo6TGVnYWN5V2ViQXJjaGl2ZT4mJik7CisgICAgfldlYkFyY2hpdmUo
KTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAjaWYgVVNFKENGKQogICAgIFJlZlB0
cjxXZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlPiBtX2FyY2hpdmU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJCYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJkTGlzdC5oCmluZGV4IDdiYzdjNDFjOWU1ZjBkZjkyYTQw
Mzk1ZDIzNDUxMjM5ZDExNTg2ZWUuLmFmYWU4ZTQ1ZTZkZTZmNDIwZTJkY2QyNTUxMzQ1Y2JiMzlh
ODUwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJk
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJkTGlzdC5o
CkBAIC0zNywxMSArMzcsNyBAQCBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3QgZmluYWwgOiBwdWJs
aWMgSVdlYkJhY2tGb3J3YXJkTGlzdCwgSVdlYkJhY2tGb3J3YXJkTGlzdAogewogcHVibGljOgog
ICAgIHN0YXRpYyBXZWJCYWNrRm9yd2FyZExpc3QqIGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxCYWNr
Rm9yd2FyZExpc3Q+JiYpOwotcHJvdGVjdGVkOgotICAgIFdlYkJhY2tGb3J3YXJkTGlzdChSZWZQ
dHI8QmFja0ZvcndhcmRMaXN0PiYmKTsKLSAgICB+V2ViQmFja0ZvcndhcmRMaXN0KCk7CiAKLXB1
YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoq
IHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYo
KTsKQEAgLTY3LDcgKzYzLDEwIEBAIHB1YmxpYzoKICAgICAvLyBJV2ViQmFja0ZvcndhcmRMaXN0
UHJpdmF0ZQogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVJdGVt
KF9Jbl9vcHRfIElXZWJIaXN0b3J5SXRlbSopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAg
IFdlYkJhY2tGb3J3YXJkTGlzdChSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiYmKTsKKyAgICB+V2Vi
QmFja0ZvcndhcmRMaXN0KCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFJl
ZlB0cjxCYWNrRm9yd2FyZExpc3Q+IG1fYmFja0ZvcndhcmRMaXN0OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJDYWNoZS5oCmluZGV4IDM5M2Y4M2NjOWZlOGJkOWUxOWQyYTQ4Yzg5NmRjNmIzY2Fj
Y2ExMTQuLjE5NTllNzQzZTc4MmQ0YWNjNjUyNTc0ZDE2MjEwYzJmOTJhODk2MWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNhY2hlLmgKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ2FjaGUuaApAQCAtMzIsMTEgKzMyLDcgQEAgY2xhc3MgV2ViQ2FjaGUg
ZmluYWwgOiBwdWJsaWMgSVdlYkNhY2hlCiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkNhY2hl
KiBjcmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYkNhY2hlKCk7Ci0gICAgfldl
YkNhY2hlKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09N
X091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RD
QUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUwLDcgKzQ2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FjaGVGb2xkZXIoX19kZXJlZl9vdXRfb3B0IEJT
VFIqIGxvY2F0aW9uKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0
Q2FjaGVGb2xkZXIoX0luXyBCU1RSIGxvY2F0aW9uKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
KyAgICBXZWJDYWNoZSgpOworICAgIH5XZWJDYWNoZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3Vu
dCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNv
cmVTdGF0aXN0aWNzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3RhdGlzdGlj
cy5oCmluZGV4IDBkNmU4ODgwNmU1YjA1MTU3NzdiNTExNjdkNTZjOGZhN2ZjZjZmOTAuLmI0NDU0
NDU1OGI4MDI0NzIwNDliZTIwMTZhNTcxNzM2ZTJkNjY3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdGF0aXN0aWNzLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN0YXRpc3RpY3MuaApAQCAtMzEsMTEgKzMxLDcgQEAKIGNsYXNzIFdl
YkNvcmVTdGF0aXN0aWNzIGZpbmFsIDogcHVibGljIElXZWJDb3JlU3RhdGlzdGljcyB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFdlYkNvcmVTdGF0aXN0aWNzKiBjcmVhdGVJbnN0YW5jZSgpOwotcHJv
dGVjdGVkOgotICAgIFdlYkNvcmVTdGF0aXN0aWNzKCk7Ci0gICAgfldlYkNvcmVTdGF0aXN0aWNz
KCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0
cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQ
RSBBZGRSZWYoKTsKQEAgLTY4LDcgKzY0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FjaGVkUGFnZUNvdW50KF9PdXRfIElOVCopOwogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZWRGcmFtZUNvdW50KF9PdXRfIElO
VCopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkNvcmVTdGF0aXN0aWNzKCk7Cisg
ICAgfldlYkNvcmVTdGF0aXN0aWNzKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5oCmluZGV4IDcwYTdmNDU0
YjIzMjgzZGY2ZjkxZWNjM2E5ZmY1YTM2Mzk0YWU0OGMuLjU1Mjk3OTQ4ZmZmZTE3NzRkNTJjM2Fm
YmE0MmM1MmYzZDRiNjZkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YkRhdGFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJEYXRhU291cmNl
LmgKQEAgLTM5LDExICszOSw3IEBAIGNsYXNzIFdlYkRhdGFTb3VyY2UgZmluYWwgOiBwdWJsaWMg
SVdlYkRhdGFTb3VyY2UsIHB1YmxpYyBJV2ViRGF0YVNvdXJjZVByaXZhdGUKIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgV2ViRGF0YVNvdXJjZSogY3JlYXRlSW5zdGFuY2UoV2ViRG9jdW1lbnRMb2Fk
ZXIqKTsKLXByb3RlY3RlZDoKLSAgICBXZWJEYXRhU291cmNlKFdlYkRvY3VtZW50TG9hZGVyKik7
Ci0gICAgfldlYkRhdGFTb3VyY2UoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVG
SUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVM
T05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNzYsNyArNzIsMTAgQEAgcHVibGlj
OgogICAgIC8vIFdlYkRhdGFTb3VyY2UKICAgICBXZWJEb2N1bWVudExvYWRlciogZG9jdW1lbnRM
b2FkZXIoKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJEYXRhU291cmNl
KFdlYkRvY3VtZW50TG9hZGVyKik7CisgICAgfldlYkRhdGFTb3VyY2UoKTsKKwogICAgIFVMT05H
IG1fcmVmQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPFdlYkRvY3VtZW50TG9hZGVyPiBtX2xvYWRl
cjsKICAgICBDT01QdHI8SVdlYkRvY3VtZW50UmVwcmVzZW50YXRpb24+IG1fcmVwcmVzZW50YXRp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJFbGVtZW50UHJvcGVy
dHlCYWcuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5o
CmluZGV4IDJkZmFhOTEzNGFmNmQ3ODE2NTU3ZWI5NGNjMWRiZTAyMGUyOTBlZGIuLmRkNjkxOWQ0
YzZkN2Q0MjcwMGQwODIzOWIyYTA5NjJiMjNkNmY5ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oCkBAIC0zNywxMSArMzcsNiBAQCBjbGFz
cyBXZWJFbGVtZW50UHJvcGVydHlCYWcgZmluYWwgOiBwdWJsaWMgSVByb3BlcnR5QmFnCiBwdWJs
aWM6CiAgICAgc3RhdGljIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29u
c3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgV2ViRWxlbWVu
dFByb3BlcnR5QmFnKGNvbnN0IFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQmKTsKLSAgICB+V2ViRWxl
bWVudFByb3BlcnR5QmFnKCk7Ci0KLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCBy
aWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBT
VERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUyLDYgKzQ3LDkgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXcml0ZShfSW5fIExQQ09MRVNUUiBw
c3pQcm9wTmFtZSwgX0luXyBWQVJJQU5UKiBwVmFyKTsKIAogcHJpdmF0ZToKKyAgICBXZWJFbGVt
ZW50UHJvcGVydHlCYWcoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYpOworICAgIH5XZWJF
bGVtZW50UHJvcGVydHlCYWcoKTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpIaXRU
ZXN0UmVzdWx0PiBtX3Jlc3VsdDsKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVycm9yLmggYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJFcnJvci5oCmluZGV4IGY3YzY3ZWJmZmQ3OTg4NDg0ODIxNTJiNDQ4
MzgyOTRmMjU5MTk2N2YuLmU0ZGRlOTdiNWNlYzcxOWZlNDMzZmFhZjkxOTY3YzYzZDllZDRiMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVycm9yLmgKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRXJyb3IuaApAQCAtMzQsMTEgKzM0LDcgQEAgY2xhc3Mg
V2ViRXJyb3IgZmluYWwgOiBwdWJsaWMgSVdlYkVycm9yLCBJV2ViRXJyb3JQcml2YXRlIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgV2ViRXJyb3IqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImLCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvID0gMCk7CiAgICAgc3RhdGlj
IFdlYkVycm9yKiBjcmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYkVycm9yKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvKTsKLSAg
ICB+V2ViRXJyb3IoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQs
IF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1F
VEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjMsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcigpIGNvbnN0OwogCiBwcml2
YXRlOgorICAgIFdlYkVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBJUHJvcGVy
dHlCYWcqIHVzZXJJbmZvKTsKKyAgICB+V2ViRXJyb3IoKTsKKwogICAgIFVMT05HIG1fcmVmQ291
bnQgeyAwIH07CiAgICAgQ09NUHRyPElQcm9wZXJ0eUJhZz4gbV91c2VySW5mbzsKICNpZiBVU0Uo
Q0ZVUkxDT05ORUNUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
RnJhbWUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmgKaW5kZXggODUyMDUw
N2Q1MWIyMzZjZjM4MDhmNmJiOWM2YWEzMDRmYTAwNTUzNy4uNzY3Mjc0MTU3YThkZTIwM2JkMGEz
MGI1MjNkOTljZWIxMTE0ODI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oCkBAIC03
OSwxMSArNzksNyBAQCBjbGFzcyBERUNMU1BFQ19VVUlEKCJ7QTM2NzYzOTgtNDQ4NS00YTlkLTg3
REMtQ0I1QTQwRTYzNTFEfSIpIFdlYkZyYW1lIGZpbmFsIDogcAogewogcHVibGljOgogICAgIHN0
YXRpYyBXZWJGcmFtZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByb3RlY3RlZDoKLSAgICBXZWJGcmFt
ZSgpOwotICAgIH5XZWJGcmFtZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJ
SUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxP
TkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC0xOTksNyArMTk1LDEwIEBAIHB1Ymxp
YzoKIAogICAgIENPTVB0cjxJQWNjZXNzaWJsZT4gYWNjZXNzaWJsZSgpIGNvbnN0OwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkZyYW1lKCk7CisgICAgfldlYkZyYW1lKCk7CisKICAg
ICB2b2lkIGxvYWRIVE1MU3RyaW5nKF9Jbl8gQlNUUiBzdHJpbmcsIF9Jbl8gQlNUUiBiYXNlVVJM
LCBfSW5fIEJTVFIgdW5yZWFjaGFibGVVUkwpOwogICAgIHZvaWQgbG9hZERhdGEoUmVmPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiwgQlNUUiBtaW1lVHlwZSwgQlNUUiB0ZXh0RW5jb2RpbmdOYW1l
LCBCU1RSIGJhc2VVUkwsIEJTVFIgZmFpbGluZ1VSTCk7CiAgICAgY29uc3QgVmVjdG9yPFdlYkNv
cmU6OkludFJlY3Q+JiBjb21wdXRlUGFnZVJlY3RzKEhEQyBwcmludERDKTsKQEAgLTIxMCw3ICsy
MDksNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkcmF3SGVhZGVyKFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0KiBwY3R4LCBJV2ViVUlEZWxlZ2F0ZSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBh
Z2VSZWN0LCBmbG9hdCBoZWFkZXJIZWlnaHQpOwogICAgIHZvaWQgZHJhd0Zvb3RlcihQbGF0Zm9y
bUdyYXBoaWNzQ29udGV4dCogcGN0eCwgSVdlYlVJRGVsZWdhdGUqLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBwYWdlUmVjdCwgVUlOVCBwYWdlLCBVSU5UIHBhZ2VDb3VudCwgZmxvYXQgaGVhZGVy
SGVpZ2h0LCBmbG9hdCBmb290ZXJIZWlnaHQpOwogCi1wcm90ZWN0ZWQ6CiAgICAgVUxPTkcgbV9y
ZWZDb3VudCB7IDAgfTsKICAgICBjbGFzcyBXZWJGcmFtZVByaXZhdGU7CiAgICAgV2ViRnJhbWVQ
cml2YXRlKiBkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lci5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lci5oCmluZGV4IDE3MGRlOTU1NzExN2NiNzk1MDIwZTQzODZhNDI5NGFhNDM5ODMyODUu
LjU0NWE3Yzk4ZWYwZTE1OTMxYWE5YzY4ZWZlZjczNTI1ZjI2Y2RhYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lUG9saWN5TGlzdGVuZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmgKQEAgLTM4LDExICsz
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXIg
ZmluYWwgOiBwdWJsaWMgSVdlYlBvbGljeURlY2lzaW9uTGlzdGVuZXIsIHB1YmxpYyBJV2ViRm9y
bVN1Ym1pc3Npb25MaXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkZyYW1lUG9saWN5
TGlzdGVuZXIqIGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpGcmFtZT4mJik7Ci1wcm90
ZWN0ZWQ6Ci0gICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lcihSZWZQdHI8V2ViQ29yZTo6RnJhbWU+
JiYpOwotICAgIH5XZWJGcmFtZVBvbGljeUxpc3RlbmVyKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJ
VW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVy
ZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAg
ICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTYxLDYgKzU3
LDkgQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCiBwcml2YXRlOgorICAgIFdl
YkZyYW1lUG9saWN5TGlzdGVuZXIoUmVmUHRyPFdlYkNvcmU6OkZyYW1lPiYmKTsKKyAgICB+V2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lcigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAg
ICBSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IG1fZnJhbWU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViSFRNTFJlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJIVE1MUmVwcmVzZW50YXRpb24uaAppbmRleCBjYjllNGQ3YWEyOWI3ZmE1
ZWRmM2M5MjI1MmZlZDFlNDFjNjc1ODljLi4xZmQwYzdlZTM4ODQ0YjdhYzNhNzVjYzZkMTBhOWQ2
ZGRmYjcwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIVE1MUmVw
cmVzZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIVE1MUmVwcmVz
ZW50YXRpb24uaApAQCAtMzQsMTAgKzM0LDYgQEAgY2xhc3MgV2ViSFRNTFJlcHJlc2VudGF0aW9u
IGZpbmFsIDogcHVibGljIElXZWJIVE1MUmVwcmVzZW50YXRpb24sIElXZWJEb2N1bWVudFIKIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSFRNTFJlcHJlc2VudGF0aW9uKiBjcmVhdGVJbnN0YW5j
ZShXZWJGcmFtZSogZnJhbWUpOwotcHJvdGVjdGVkOgotICAgIFdlYkhUTUxSZXByZXNlbnRhdGlv
bigpOwotICAgIH5XZWJIVE1MUmVwcmVzZW50YXRpb24oKTsKLXB1YmxpYzoKIAogICAgIC8vIElV
bmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJm
YWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKQEAg
LTcyLDcgKzY4LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgZG9jdW1lbnRTb3VyY2UoX19kZXJlZl9vcHRfb3V0IEJTVFIqKTsKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdGl0bGUoX19kZXJlZl9vcHRfb3V0IEJTVFIqKTsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJIVE1MUmVwcmVzZW50YXRpb24oKTsKKyAg
ICB+V2ViSFRNTFJlcHJlc2VudGF0aW9uKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9
OwogICAgIFdlYkZyYW1lKiBtX2ZyYW1lIHsgbnVsbHB0ciB9OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnlJdGVtLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJIaXN0b3J5SXRlbS5oCmluZGV4IDkyMGIzNGM4NWJlN2RhZjgxYjk5ZGJiNzJi
YzhmNGNiNDIzOWM3ZGIuLjUxZjVhOTYzYTMxMDhhYzVmMTZhYTU2YWQ5ZWIyMjc2MzgyYzUzM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnlJdGVtLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSGlzdG9yeUl0ZW0uaApAQCAtNDMsMTEgKzQz
LDcgQEAgY2xhc3MgV2ViSGlzdG9yeUl0ZW0gZmluYWwgOiBwdWJsaWMgSVdlYkhpc3RvcnlJdGVt
LCBJV2ViSGlzdG9yeUl0ZW1Qcml2YXRlCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkhpc3RvcnlJ
dGVtKiBjcmVhdGVJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBXZWJIaXN0b3J5SXRlbSogY3JlYXRl
SW5zdGFuY2UoUmVmUHRyPFdlYkNvcmU6Okhpc3RvcnlJdGVtPiYmKTsKLXByb3RlY3RlZDoKLSAg
ICBXZWJIaXN0b3J5SXRlbShSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+JiYpOwotICAgIH5X
ZWJIaXN0b3J5SXRlbSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlp
ZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RE
TUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC05Miw3ICs4OCwxMCBAQCBwdWJsaWM6CiAgICAg
Ly8gV2ViSGlzdG9yeUl0ZW0KICAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaGlzdG9yeUl0ZW0o
KSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJIaXN0b3J5SXRlbShSZWZQ
dHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+JiYpOworICAgIH5XZWJIaXN0b3J5SXRlbSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5
SXRlbT4gbV9oaXN0b3J5SXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkphdmFTY3JpcHRDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkph
dmFTY3JpcHRDb2xsZWN0b3IuaAppbmRleCAzMDBjODU2MzYzZTZjNGQyM2I0OWEyNDMyMWZjZjkz
M2RkN2FhNjI5Li5kYzY3MTM1ZDFiZmRiYzBjNGViMjBkODVlOWE5Y2E4MTRmODQwZTkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxlY3Rvci5oCkBA
IC0zMiwxMSArMzIsNyBAQCBjbGFzcyBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yIGZpbmFsIDogcHVi
bGljIElXZWJKYXZhU2NyaXB0Q29sbGVjdG9yCiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkph
dmFTY3JpcHRDb2xsZWN0b3IqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2Vi
SmF2YVNjcmlwdENvbGxlY3RvcigpOwotICAgIH5XZWJKYXZhU2NyaXB0Q29sbGVjdG9yKCk7CiAK
LXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9p
ZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRS
ZWYoKTsKQEAgLTQ3LDcgKzQzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgY29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkKEJPT0wgd2FpdFVudGlsRG9u
ZSk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG9iamVjdENvdW50KF9P
dXRfIFVJTlQqKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJKYXZhU2NyaXB0Q29s
bGVjdG9yKCk7CisgICAgfldlYkphdmFTY3JpcHRDb2xsZWN0b3IoKTsKKwogICAgIFVMT05HIG1f
cmVmQ291bnQgeyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJLaXRDbGFzc0ZhY3RvcnkuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENs
YXNzRmFjdG9yeS5oCmluZGV4IDc3MjMwZjY5NzA0NzE0YzZmMTQxOTNhODlkNTZkNTI2NjYwOTFl
OGIuLmJiNDM2ZTVmMDg2YmUxYmE1N2E2ZjdhZjQ4MjkyYjkyZWE3NzQ1YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5oCkBAIC00Myw3ICs0Myw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQ3JlYXRlSW5z
dGFuY2UoX0luX29wdF8gSVVua25vd24qIHBVbmtPdXRlciwgX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBMb2NrU2VydmVyKEJPT0wpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgQ0xTSUQgbV90YXJnZXRDbGFzczsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmgKaW5kZXggODg5YmIxYTI0
Y2EwNTM1YjNhYmIwZDI4ZDE2YjIzMmRhMmRmMzZlMi4uYmQyNzQ3ZDAxYWNkNmE4ZDViZTQ2MDhl
MWIwZDZkMjE5MTllODdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
S2l0U3RhdGlzdGljcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdFN0YXRp
c3RpY3MuaApAQCAtMzQsMTEgKzM0LDcgQEAKIGNsYXNzIFdlYktpdFN0YXRpc3RpY3MgZmluYWwg
OiBwdWJsaWMgSVdlYktpdFN0YXRpc3RpY3MgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJLaXRT
dGF0aXN0aWNzKiBjcmVhdGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYktpdFN0YXRp
c3RpY3MoKTsKLSAgICB+V2ViS2l0U3RhdGlzdGljcygpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVu
a25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZh
Y2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAg
IHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Myw3ICs0OSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNvbUNs
YXNzQ291bnQoX091dF8gaW50Kik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIGNvbUNsYXNzTmFtZUNvdW50cyhfX2RlcmVmX291dF9vcHQgQlNUUiopOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgorICAgIFdlYktpdFN0YXRpc3RpY3MoKTsKKyAgICB+V2ViS2l0U3RhdGlz
dGljcygpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk11dGFibGVVUkxSZXF1ZXN0LmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJNdXRhYmxlVVJMUmVxdWVzdC5oCmluZGV4IDk0Y2QyYjRjMjRm
YzcxMGZhOTExNDk4ZTk0OTkwZjkzMjcxNmZhMDguLjU3ZDBmNjlmYTUzYjk2OTg1ZmU1ZDI5Yzkx
Zjc1NmJjNzQ4NmMwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk11
dGFibGVVUkxSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTXV0YWJs
ZVVSTFJlcXVlc3QuaApAQCAtNTMsMTEgKzUzLDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFdl
Yk11dGFibGVVUkxSZXF1ZXN0KiBjcmVhdGVJbW11dGFibGVJbnN0YW5jZSgpOwogICAgIHN0YXRp
YyBXZWJNdXRhYmxlVVJMUmVxdWVzdCogY3JlYXRlSW1tdXRhYmxlSW5zdGFuY2UoY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViTXV0YWJsZVVSTFJl
cXVlc3QoYm9vbCBpc011dGFibGUpOwotICAgIH5XZWJNdXRhYmxlVVJMUmVxdWVzdCgpOwogCi1w
dWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQq
KiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVm
KCk7CkBAIC0xMDUsNyArMTAxLDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJDb3JlOjpIVFRQ
SGVhZGVyTWFwJiBodHRwSGVhZGVyRmllbGRzKCkgY29uc3Q7CiAKICAgICBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCgpIGNvbnN0OwotcHJvdGVjdGVkOgor
Citwcml2YXRlOgorICAgIFdlYk11dGFibGVVUkxSZXF1ZXN0KGJvb2wgaXNNdXRhYmxlKTsKKyAg
ICB+V2ViTXV0YWJsZVVSTFJlcXVlc3QoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07
CiAgICAgYm9vbCBtX2lzTXV0YWJsZTsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9y
ZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb24uaAppbmRleCA5
MzBkYjhhZjJhM2QxM2MwZGY0YTI3MGQyNGM1ZThmYjExOWFiMjBjLi4wYTIwN2MyNDVlZTgxOTY1
ODU2NjkxY2JiZWExZGIzOTgyOGZiM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJOb3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJO
b3RpZmljYXRpb24uaApAQCAtMzIsMTEgKzMyLDcgQEAgY2xhc3MgV2ViTm90aWZpY2F0aW9uIGZp
bmFsIDogcHVibGljIElXZWJOb3RpZmljYXRpb24KIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2Vi
Tm90aWZpY2F0aW9uKiBjcmVhdGVJbnN0YW5jZShCU1RSIG5hbWUgPSAwLCBJVW5rbm93biogYW5P
YmplY3QgPSAwLCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvID0gMCk7Ci1wcm90ZWN0ZWQ6Ci0gICAg
V2ViTm90aWZpY2F0aW9uKEJTVFIgbmFtZSwgSVVua25vd24qIGFuT2JqZWN0LCBJUHJvcGVydHlC
YWcqIHVzZXJJbmZvKTsKLSAgICB+V2ViTm90aWZpY2F0aW9uKCk7CiAKLXB1YmxpYzoKICAgICAv
LyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUlu
dGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7
CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTQ4LDcg
KzQ0LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
Z2V0T2JqZWN0KF9DT01fT3V0cHRyX29wdF8gSVVua25vd24qKiByZXN1bHQpOwogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1c2VySW5mbyhfQ09NX091dHB0cl9vcHRfIElQ
cm9wZXJ0eUJhZyAqKiByZXN1bHQpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYk5v
dGlmaWNhdGlvbihCU1RSIG5hbWUsIElVbmtub3duKiBhbk9iamVjdCwgSVByb3BlcnR5QmFnKiB1
c2VySW5mbyk7CisgICAgfldlYk5vdGlmaWNhdGlvbigpOworCiAgICAgVUxPTkcgbV9yZWZDb3Vu
dCB7IDAgfTsKICAgICBCU1RSIG1fbmFtZSB7IG51bGxwdHIgfTsKICAgICBJVW5rbm93biogbV9h
bk9iamVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlmaWNh
dGlvbkNlbnRlci5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uQ2Vu
dGVyLmgKaW5kZXggZjE0OTgxMjJkOGRlM2MzMzczMjU0NDhiZTM5MTQ0MjRlYzc2MDA1Zi4uMDY2
OTQwZjk3YzM1Y2U4YjU2NGFiYjI2ZGE1MWY0MGU0NDYwOWNjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTM1LDExICszNSw2IEBA
IGNsYXNzIFdlYk5vdGlmaWNhdGlvbkNlbnRlciBmaW5hbCA6IHB1YmxpYyBJV2ViTm90aWZpY2F0
aW9uQ2VudGVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViTm90aWZpY2F0aW9uQ2VudGVyKiBj
cmVhdGVJbnN0YW5jZSgpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgV2ViTm90aWZpY2F0aW9uQ2VudGVy
KCk7Ci0gICAgfldlYk5vdGlmaWNhdGlvbkNlbnRlcigpOwotCi1wdWJsaWM6CiAgICAgLy8gSVVu
a25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZh
Y2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAg
IHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Niw3ICs1MSwx
MCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIqIGRlZmF1bHRD
ZW50ZXJJbnRlcm5hbCgpOwogICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbkludGVybmFsKElXZWJO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgQlNUUiBub3RpZmljYXRpb25OYW1lLCBJVW5rbm93
biogYW5PYmplY3QpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYk5vdGlmaWNhdGlv
bkNlbnRlcigpOworICAgIH5XZWJOb3RpZmljYXRpb25DZW50ZXIoKTsKKwogICAgIFVMT05HIG1f
cmVmQ291bnQgeyAwIH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYk5vdGlmaWNhdGlvbkNlbnRl
clByaXZhdGU+IGQ7CiAgICAgc3RhdGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIqIG1fZGVmYXVs
dENlbnRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGEz
MWJhMDNhODI1NDcwZDgxMzM0Y2RmNjQzOGY1MTdmNGFkZjA5MWYuLmZhNTc5NGJiZmIzYjExNGU3
NTVmOTQ5NDc1MjEyODk5Y2MwOTkxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJl
ZmVyZW5jZXMuaApAQCAtMzMsMTEgKzMzLDcgQEAKIGNsYXNzIFdlYlByZWZlcmVuY2VzIGZpbmFs
IDogcHVibGljIElXZWJQcmVmZXJlbmNlcywgcHVibGljIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViUHJlZmVyZW5jZXMqIGNyZWF0ZUluc3RhbmNlKCk7
Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViUHJlZmVyZW5jZXMoKTsKLSAgICB+V2ViUHJlZmVyZW5jZXMo
KTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRy
XyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBF
IEFkZFJlZigpOwpAQCAtMzM0LDcgKzMzMCwxMCBAQCBwdWJsaWM6CiAKICAgICBIUkVTVUxUIHBv
c3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKKyAgICBXZWJQcmVmZXJlbmNlcygpOworICAgIH5XZWJQcmVmZXJlbmNlcygpOworCiAjaWYg
VVNFKENGKQogICAgIHZvaWQgc2V0VmFsdWVGb3JLZXkoQ0ZTdHJpbmdSZWYga2V5LCBDRlByb3Bl
cnR5TGlzdFJlZiB2YWx1ZSk7CiAgICAgUmV0YWluUHRyPENGUHJvcGVydHlMaXN0UmVmPiB2YWx1
ZUZvcktleShDRlN0cmluZ1JlZiBrZXkpOwpAQCAtMzYwLDcgKzM1OSw2IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIGNvcHlXZWJLaXRQcmVmZXJlbmNlc1RvQ0ZQcmVmZXJlbmNlcyhDRkRpY3Rpb25h
cnlSZWYpOwogI2VuZGlmCiAKLXByb3RlY3RlZDoKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9
OwogICAgIFdlYkNvcmU6OkJTdHJpbmcgbV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9hdXRvU2F2
ZXMgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUmVz
b3VyY2UuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlJlc291cmNlLmgKaW5kZXggMDU1
YjVlOGIyMGJiM2MyYTc2OGQ3ZDJkNjFlMjQ3MTUwYzdkYmVkYS4uYjZlYjg2ZmNjYTVlMzEzNjlj
OWU4YjA2NTQxOGYyNzk0OTI5OTkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJSZXNvdXJj
ZS5oCkBAIC0zNywxMSArMzcsNyBAQAogY2xhc3MgV2ViUmVzb3VyY2UgZmluYWwgOiBwdWJsaWMg
SVdlYlJlc291cmNlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViUmVzb3VyY2UqIGNyZWF0ZUlu
c3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJSZXNvdXJjZShJU3RyZWFtKiBk
YXRhLCBjb25zdCBXVEY6OlVSTCYgdXJsLCBjb25zdCBXVEY6OlN0cmluZyYgbWltZVR5cGUsIGNv
bnN0IFdURjo6U3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBXVEY6OlN0cmluZyYgZnJh
bWVOYW1lKTsKLSAgICB+V2ViUmVzb3VyY2UoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3du
CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9J
bl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0
dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTYsNiArNTIsOSBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZyYW1lTmFtZShf
X2RlcmVmX29wdF9vdXQgQlNUUiogbmFtZSk7CiAKIHByaXZhdGU6CisgICAgV2ViUmVzb3VyY2Uo
SVN0cmVhbSogZGF0YSwgY29uc3QgV1RGOjpVUkwmLCBjb25zdCBXVEY6OlN0cmluZyYgbWltZVR5
cGUsIGNvbnN0IFdURjo6U3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBXVEY6OlN0cmlu
ZyYgZnJhbWVOYW1lKTsKKyAgICB+V2ViUmVzb3VyY2UoKTsKKwogICAgIFVMT05HIG1fcmVmQ291
bnQgeyAwIH07CiAgICAgQ09NUHRyPElTdHJlYW0+IG1fZGF0YTsKICAgICBXVEY6OlVSTCBtX3Vy
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5oCmluZGV4IDkxMzNiZGJkMGUyZTFhM2FiOWNlN2JhMGE2ODg2YTRkYjVi
Y2YwNzEuLjRhNzk1MTUzMzM0YTRiYWY0MzZlYTZhY2Q2NTQ0MWM5ZTc4YzE1ZGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuaApAQCAtMzQsMTAgKzM0LDcgQEAgY2xhc3MgREVDTFNQRUNfVVVJRCgiRkQzQjIzODEt
MEJCNi00QjU5LUFGMDktMEU1OTlDODkwMUNGIikgV2ViVVJMQXV0aGVudGljYXRpb24KIHB1Ymxp
YzoKICAgICBzdGF0aWMgV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqIGNyZWF0ZUluc3Rh
bmNlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAgICAgc3RhdGlj
IFdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKiBjcmVhdGVJbnN0YW5jZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVNlbmRlciopOwotcHJpdmF0ZToKLSAgICBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVNlbmRlciopOwotICAgIH5XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSgpOwotcHVibGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9P
dXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FM
TFRZUEUgQWRkUmVmKCk7CkBAIC01Nyw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViVVJM
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UKICAgICBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKSBjb25zdDsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKKyAgICBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIElXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVNlbmRlciopOworICAgIH5XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIAogICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlIG1fYXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxDcmVkZW50aWFsLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJVUkxDcmVkZW50aWFsLmgKaW5kZXggMzNiZDA1MTUwZDgyZWJmMDRiODA1MGM5ZDE0
NGRmY2QyZjQ1OGYxYS4uYmVjZmQzNjQ4YWJhMzEzN2Y2ZDA5ZDhkMjk1MjJmMTFkM2MwMTYxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQ3JlZGVudGlhbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTENyZWRlbnRpYWwuaApAQCAtMzQsMTAg
KzM0LDcgQEAgY2xhc3MgV2ViVVJMQ3JlZGVudGlhbCBmaW5hbCA6IHB1YmxpYyBJV2ViVVJMQ3Jl
ZGVudGlhbAogcHVibGljOgogICAgIHN0YXRpYyBXZWJVUkxDcmVkZW50aWFsKiBjcmVhdGVJbnN0
YW5jZSgpOwogICAgIHN0YXRpYyBXZWJVUkxDcmVkZW50aWFsKiBjcmVhdGVJbnN0YW5jZShjb25z
dCBXZWJDb3JlOjpDcmVkZW50aWFsJik7Ci1wcml2YXRlOgotICAgIFdlYlVSTENyZWRlbnRpYWwo
Y29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwotICAgIH5XZWJVUkxDcmVkZW50aWFsKCk7Ci1w
dWJsaWM6CisKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9p
ZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRS
ZWYoKTsKQEAgLTUzLDcgKzUwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBXZWJVUkxDcmVkZW50aWFs
CiAgICAgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYgY3JlZGVudGlhbCgpIGNvbnN0OwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYlVSTENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6
Q3JlZGVudGlhbCYpOworICAgIH5XZWJVUkxDcmVkZW50aWFsKCk7CisKICAgICBVTE9ORyBtX3Jl
ZkNvdW50IHsgMCB9OwogICAgIFdlYkNvcmU6OkNyZWRlbnRpYWwgbV9jcmVkZW50aWFsOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFByb3RlY3Rpb25TcGFj
ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUHJvdGVjdGlvblNwYWNlLmgKaW5k
ZXggZTJhYzgzZjE5Y2MwMzhlMDZkMzkyNWRjMDc2NzE3OTAzODY0NGI1Yy4uYjMyNWFkYzljZDk0
YjVhOWYxMTQ2N2M3ZWJiNGJkNDcxNDUzZjFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVVJMUHJvdGVjdGlvblNwYWNlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViVVJMUHJvdGVjdGlvblNwYWNlLmgKQEAgLTM0LDEwICszNCw3IEBAIGNsYXNzIFdl
YlVSTFByb3RlY3Rpb25TcGFjZSBmaW5hbCA6IHB1YmxpYyBJV2ViVVJMUHJvdGVjdGlvblNwYWNl
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlVSTFByb3RlY3Rpb25TcGFjZSogY3JlYXRlSW5zdGFu
Y2UoKTsKICAgICBzdGF0aWMgV2ViVVJMUHJvdGVjdGlvblNwYWNlKiBjcmVhdGVJbnN0YW5jZShj
b25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKTsKLXByaXZhdGU6Ci0gICAgV2ViVVJMUHJv
dGVjdGlvblNwYWNlKGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOwotICAgIH5XZWJV
UkxQcm90ZWN0aW9uU3BhY2UoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3duCiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlE
IHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTgsNyArNTUsMTAgQEAgcHVibGljOgog
ICAgIC8vIFdlYlVSTFByb3RlY3Rpb25TcGFjZQogICAgIGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rp
b25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CisgICAgV2ViVVJMUHJvdGVjdGlvblNwYWNlKGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFj
ZSYpOworICAgIH5XZWJVUkxQcm90ZWN0aW9uU3BhY2UoKTsKKwogICAgIFVMT05HIG1fcmVmQ291
bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlIG1fcHJvdGVjdGlvblNwYWNl
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFJlc3BvbnNl
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxSZXNwb25zZS5oCmluZGV4IDkzNDEw
Y2Q5ZjQ0NGY4OTQ3MDIzNmZkNjhkODlhNmU4M2MxYTkwOTUuLjMzZDBhOWIxMjIwNTBjNDJhMzgy
MWJmNGNkNGE0ZDk0MzkwZTYxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlVSTFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUmVz
cG9uc2UuaApAQCAtMzMsMTEgKzMzLDcgQEAgY2xhc3MgV2ViVVJMUmVzcG9uc2UgZmluYWwgOiBw
dWJsaWMgSVdlYkhUVFBVUkxSZXNwb25zZSwgSVdlYlVSTFJlc3BvbnNlUHJpdmF0ZQogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJVUkxSZXNwb25zZSogY3JlYXRlSW5zdGFuY2UoKTsKICAgICBzdGF0
aWMgV2ViVVJMUmVzcG9uc2UqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKTsKLXByb3RlY3RlZDoKLSAgICBXZWJVUkxSZXNwb25zZSgpOwot
ICAgIH5XZWJVUkxSZXNwb25zZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJ
SUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxP
TkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02MiwxNCArNTgsMTYgQEAgcHVibGlj
OgogICAgIAogICAgIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVz
cG9uc2UoKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJVUkxSZXNwb25z
ZSgpOworICAgIH5XZWJVUkxSZXNwb25zZSgpOworCiAgICAgSFJFU1VMVCBzdWdnZXN0ZWRGaWxl
RXh0ZW5zaW9uKEJTVFIqIHJlc3VsdCk7CiAKICNpZiBVU0UoQ0ZVUkxDT05ORUNUSU9OKQogICAg
IENGRGljdGlvbmFyeVJlZiBjZXJ0aWZpY2F0ZURpY3Rpb25hcnkoKSBjb25zdDsKICNlbmRpZgog
Ci1wcm90ZWN0ZWQ6CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOGU2MzcwMDRmM2Q2YzAxNmJkNmVlYjg2YTI5NjA2
MjYwYTQ1OWY4Li4wODQ4OTFiOWRiMmUwYzc1OTM1ODg1NmY4NjM1ODE5ZGQ0YWE3NTk4IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29t
PgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHByb3RlY3Rl
ZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuaDoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oOgorCiAyMDIwLTA0LTIw
ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgRGF0
ZSBhbmQgVGltZSBmb3JtIGNvbnRyb2xzIG5vdCBzaG93aW5nIGNvcnJlY3QgaW5pdGlhbCB2YWx1
ZXMgb24gaW1tZWRpYXRlIHNlY29uZCBpbnZvY2F0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCmluZGV4IDk2MjEwOTE5MTQzZjhiZjVk
MzM3Zjc3NjlhNGNmNGY5MDIwODc4MDMuLjA1NDA4NWFkOGY3ZmVmMjJlZDc5ODc1ZGYzZWNlODZj
ZGQzNzJhZDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EZWZhdWx0UG9s
aWN5RGVsZWdhdGUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVmYXVsdFBvbGlj
eURlbGVnYXRlLmgKQEAgLTMyLDEwICszMiw3IEBAIGNsYXNzIERlZmF1bHRQb2xpY3lEZWxlZ2F0
ZSBmaW5hbCA6IHB1YmxpYyBJV2ViUG9saWN5RGVsZWdhdGUgewogcHVibGljOgogICAgIHN0YXRp
YyBEZWZhdWx0UG9saWN5RGVsZWdhdGUqIHNoYXJlZEluc3RhbmNlKCk7CiAgICAgc3RhdGljIERl
ZmF1bHRQb2xpY3lEZWxlZ2F0ZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByaXZhdGU6Ci0gICAgRGVm
YXVsdFBvbGljeURlbGVnYXRlKCk7Ci0gICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOwotcHVi
bGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQq
KiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVm
KCk7CkBAIC01Myw3ICs1MCwxMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKF9Jbl9v
cHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdlYkZyYW1lKik7
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgRGVmYXVsdFBvbGljeURlbGVnYXRlKCk7Cisg
ICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAg
fTsKIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRl
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oCmluZGV4IGY0ZjhkNWQy
NzYzOWNjYjc0NDc2YWNlY2YxNWYyNzFkYjBmYjZlNGMuLmNkNmQzNDcwYjc5MmJiN2UzY2FmOTM2
ZGI2MDQ2NTA2MWE5MjUwZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9V
SURlbGVnYXRlLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaApA
QCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0KF9Jbl9vcHRfIElXZWJW
aWV3KiBzZW5kZXIsIF9Jbl9vcHRfIElXZWJGcmFtZSosIF9Jbl9vcHRfIElXZWJTZWN1cml0eU9y
aWdpbiosIF9Jbl9vcHRfIElXZWJHZW9sb2NhdGlvblBvbGljeUxpc3RlbmVyKik7CiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGRpZFByZXNzTWlzc2luZ1BsdWdpbkJ1dHRv
bihfSW5fb3B0XyBJRE9NRWxlbWVudCopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIC8v
IElXZWJVSURlbGVnYXRlUHJpdmF0ZQogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSB1bnVzZWQxKCkgeyByZXR1cm4gRV9OT1RJTVBMOyB9CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHVudXNlZDIoKSB7IHJldHVybiBFX05PVElNUEw7IH0KQEAgLTE0
MCw3ICsxNDAsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMSB9Owog
Ci1wcml2YXRlOgogICAgIFJFQ1QgbV9mcmFtZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RFJUVW5k
b01hbmFnZXI+IG1fdW5kb01hbmFnZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397043</attachid>
            <date>2020-04-20 17:59:50 -0700</date>
            <delta_ts>2020-04-20 19:15:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210775-20200420175948.patch</filename>
            <type>text/plain</type>
            <size>187481</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2JhNDI0YzhlYTFkOWVlNjM3ZmI1NzM3MTFkZDZlYmJkMTM4MGZlLi5kODFmYzA1NTZkMDZjNGY4
ZmQyYzI2MDhiY2U1MmRiMzNhMmUxMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFQSS9KU0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVj
dC5oOgorICAgICAgICAqIGIzL0IzRXh0cmFjdFZhbHVlLmg6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5o
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmg6Cisg
ICAgICAgICogcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmg6CisgICAg
ICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9CaWdJbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50T2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29uc29sZU9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmg6CisgICAgICAg
ICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaDoKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Lmg6CisgICAgICAgICog
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRp
bWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Lmg6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaDoK
KyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVy
YWxSdWxlc1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmg6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXN5bmNH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNEYXRhVmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxlTG9hZGVyLmg6Cisg
ICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVj
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6
ZXJBZ2VudC5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgICogcnVudGltZS9TeW1ib2wu
aDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9TeW1ib2xPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFByb3RvdHlwZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvVk1UcmFwcy5jcHA6CisgICAgICAgICogdGVzdFJlZ0V4cC5j
cHA6CisgICAgICAgICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxM
SW50UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0LmNwcDoKKyAgICAgICAgKiB3
YXNtL2pzL0pTV2ViQXNzZW1ibHkuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5o
OgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUluc3Rh
bmNlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBl
Lmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5oOgorICAgICAgICAq
IHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseVRhYmxlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0
aW9uLmg6CisKIDIwMjAtMDQtMjAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRlRMIGRvZXNuJ3Qgb2JzZXJ2ZSB0aGUgdXNlIGtpbmQgb2YgQ2hlY2tJ
c0NvbnN0YW50J3MgY2hpbGQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFhNDNjODhlODJmNGNlYzdjOWM4YjU1
NjAyNzczYzI4MGUzN2MyZC4uYzE0MTk2YTA3NzRkZjg0Njc2ZjNmZDQwMWIxNTNhNjI3NWU3NDg1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNsaW5n
ICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBmaW5h
bCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5Lmg6CisgICAg
ICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9X
YXZlU2hhcGVyRFNQS2VybmVsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSU2Vz
c2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50Lmg6CisgICAgICAgICogYW5pbWF0
aW9uL0NTU0FuaW1hdGlvbi5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFt
Lmg6CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmg6CisgICAgICAgICogYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuaDoKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oOgor
ICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMQnVmZmVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZl
ci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMUXVlcnkuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmJ1ZmZlci5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMU3luYy5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
VHJhbnNmb3JtRmVlZGJhY2suaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1M
b2NhdGlvbi5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50
cy5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0Lmg6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5oOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxQcm94eU5vZGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL05hbWVkSW1hZ2VHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25P
YmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvY29jb2EvUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2lzby9JU09WVFRDdWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1h
Z2VEZWNvZGVyRGlyZWN0MkQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGdWxs
U2NyZWVuLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUnVieS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJs
ZVNlY3Rpb24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVu
dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oOgorICAgICAgICAq
IHdvcmtsZXRzL1dvcmtsZXQuaDoKKwogMjAyMC0wNC0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIHN0cnVjdHVyZS1jbG9uaW5nIHRlc3Rz
IGZvciBCaWdJbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggODJiNzYyYjc3ZWQxMTFjOWE5ZWFkMDY0MWE0NDNkMDRm
NTBmMGRjMC4uMTdlZDdhZTZhNTdhN2RiNDI4MGUyODUyZTY0NmE4ODU1NzA1MWQxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2ly
c2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5v
dCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElEaWN0aW9uYXJ5Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKwogMjAyMC0w
NC0yMCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkIG1hY0NhdGFseXN0IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5k
ZXggZTgxZTdkYWY0MWI2OGZmMmY4NTYyZmQwMjhjNmZkMTc0ZWI3YzA4Ni4uOGE2MTJlZWRlOTBm
ZGVkODFhNmQ0YWQ4ZjI4N2FhM2M1NDc3OWNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJv
dGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
Lmg6CisKIDIwMjAtMDQtMjAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVzZSAjaW1wb3J0IGluc3RlYWQgb2YgI2luY2x1ZGUgaW4gT2JqZWN0aXZlLUMgYW5kIGRv
bid0IHVzZSAjcHJhZ21hIG9uY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCAyYWYy
ZWY4ZjVjZDU3Yzk1NDkwMTI3MmU3ZGRmMjU0Y2QxOGQzZGEzLi5lYzI5MWQ5MDQwMjczMmIxNDM5
NDkyMTAxZjcwOTM2OTIyNjIyYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIERlZmF1bHREb3dubG9hZERlbGVnYXRlLmg6CisgICAgICAgICog
RGVmYXVsdFBvbGljeURlbGVnYXRlLmg6CisgICAgICAgICogTWVtb3J5U3RyZWFtLmg6CisgICAg
ICAgICogV2ViQXBwbGljYXRpb25DYWNoZS5oOgorICAgICAgICAqIFdlYkFyY2hpdmUuaDoKKyAg
ICAgICAgKiBXZWJCYWNrRm9yd2FyZExpc3QuaDoKKyAgICAgICAgKiBXZWJDYWNoZS5oOgorICAg
ICAgICAqIFdlYkNvcmVTdGF0aXN0aWNzLmg6CisgICAgICAgICogV2ViRGF0YVNvdXJjZS5oOgor
ICAgICAgICAqIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oOgorICAgICAgICAqIFdlYkVycm9yLmg6
CisgICAgICAgICogV2ViRnJhbWUuaDoKKyAgICAgICAgKiBXZWJGcmFtZVBvbGljeUxpc3RlbmVy
Lmg6CisgICAgICAgICogV2ViSFRNTFJlcHJlc2VudGF0aW9uLmg6CisgICAgICAgICogV2ViSGlz
dG9yeUl0ZW0uaDoKKyAgICAgICAgKiBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmg6CisgICAgICAg
ICogV2ViS2l0Q2xhc3NGYWN0b3J5Lmg6CisgICAgICAgICogV2ViS2l0U3RhdGlzdGljcy5oOgor
ICAgICAgICAqIFdlYk11dGFibGVVUkxSZXF1ZXN0Lmg6CisgICAgICAgICogV2ViTm90aWZpY2F0
aW9uLmg6CisgICAgICAgICogV2ViTm90aWZpY2F0aW9uQ2VudGVyLmg6CisgICAgICAgICogV2Vi
UHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJSZXNvdXJjZS5oOgorICAgICAgICAqIFdlYlVS
TEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg6CisgICAgICAgICogV2ViVVJMQ3JlZGVudGlhbC5o
OgorICAgICAgICAqIFdlYlVSTFByb3RlY3Rpb25TcGFjZS5oOgorICAgICAgICAqIFdlYlVSTFJl
c3BvbnNlLmg6CisKIDIwMjAtMDQtMTggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZWR1Y2UgcGFyYW1ldGVyIGxpc3Qgb2YgdGhlIEZyYW1lTG9hZFJlcXVlc3QgY29u
c3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1
ZVdyYXBwZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIu
aAppbmRleCAxZjc4MjI5ZTBjODBkYjRjZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljLi42NzA1ZWNi
YmIyYjUwNzgwYjFhZGVhNzU1ODRhN2MxZjMyYTFlZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAg
ICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtNjUsNyArNjUsNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIEFTU0VSVCghdmFsdWUuaXNDZWxsKCkpOwogICAgIH0KIAotcHJpdmF0ZToK
ICAgICBKU0FQSVZhbHVlV3JhcHBlcihWTSYgdm0pCiAgICAgICAgIDogSlNDZWxsKHZtLCB2bS5h
cGlXcmFwcGVyU3RydWN0dXJlLmdldCgpKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCmluZGV4IDZlM2MzNTY2ZjJlOWYzNWFh
Njc0NTZhYTE0YjNmYmQwOTk0ZjlkNWMuLmZiZDI0MzExOTQ4MTI4NjU2NjJiMmVmY2EzNDBjNmFl
YzFlOGU3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuaApAQCAtNjIsMTEgKzYyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgogICAgIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIEpTQ2xhc3NSZWYsIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayk7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCosIEpTQ2xhc3NSZWYpOwogCi1w
cml2YXRlOgogICAgIGZyaWVuZCBzdHJ1Y3QgQVBJQ2FsbGJhY2tGdW5jdGlvbjsKIAogICAgIHN0
YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0
YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRl
eCA5MmNhOTI0Nzc5NjJiYzA0YzdhOGViODZhMWY0MTVkMmIxODdmMzYxLi5lNjQzNTEzMTNkN2Y4
N2FjMWNiZGZiYmMwNjIzZmFjYTliODlmMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAtMTIzLDEzICsxMjMsNiBAQCBwdWJsaWM6CiAgICAg
CiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50PgogY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6
IHB1YmxpYyBQYXJlbnQgewotcHJvdGVjdGVkOgotICAgIEpTQ2FsbGJhY2tPYmplY3QoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU0NsYXNzUmVmLCB2b2lkKiBkYXRhKTsKLSAgICBKU0Nh
bGxiYWNrT2JqZWN0KFZNJiwgSlNDbGFzc1JlZiwgU3RydWN0dXJlKik7Ci0KLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYpOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IFBhcmVudDsKICAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBQ
cm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJ
bnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJv
IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92
ZXJyaWRlc0dldENhbGxEYXRhOwpAQCAtMTkwLDYgKzE4MywxMiBAQCBwdWJsaWM6CiAgICAgdXNp
bmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0ZToKKyAgICBKU0NhbGxiYWNrT2JqZWN0
KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNDbGFzc1JlZiwgdm9pZCogZGF0YSk7Cisg
ICAgSlNDYWxsYmFja09iamVjdChWTSYsIEpTQ2xhc3NSZWYsIFN0cnVjdHVyZSopOworCisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKKwogICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKFZN
JiwgU3Vic3BhY2VBY2Nlc3MpOwogICAgIHN0YXRpYyBTdHJpbmcgY2xhc3NOYW1lKGNvbnN0IEpT
T2JqZWN0KiwgVk0mKTsKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09i
amVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNFeHRyYWN0VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJh
Y3RWYWx1ZS5oCmluZGV4IDk5Mzg0ZDk2MzQ5YWFlYTdlNjE2ZjRiZWJiMGIyMjZlZThlNWFhOTEu
LjIxMjViN2I2YTM2Y2I1ZjE3NWY1MTlhYzEwMjRiYjVkYjAzY2RhNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoK
ICAgICBCM19TUEVDSUFMSVpFX1ZBTFVFX0ZPUl9GSVhFRF9DSElMRFJFTigxKQogICAgIEIzX1NQ
RUNJQUxJWkVfVkFMVUVfRk9SX0ZJTkFMX1NJWkVfRklYRURfQ0hJTERSRU4KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICB2b2lkIGR1bXBNZXRhKENvbW1hUHJpbnRlciYsIFByaW50U3RyZWFt
JikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBzdGF0aWMgT3Bjb2RlIG9wY29kZUZyb21Db25zdHJ1
Y3RvcihPcmlnaW4sIFR5cGUsIFZhbHVlKiwgaW50MzJfdCkgeyByZXR1cm4gRXh0cmFjdDsgfQpA
QCAtNTMsNyArNTMsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAotcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUHJvY2VkdXJlOwogICAgIGZyaWVuZCBjbGFzcyBWYWx1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUuaAppbmRleCA2YzcyMWViYzhhZmNiNTE4MmJkNWI4YTEwMGI1MDgwZjhj
MTk5YzRhLi44ZmZlMzAwZDg0NDI3MWQ0ZjZkZGY5MTVkMmRiZTJhNTJmYzAyYTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUuaApAQCAtMjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6CiAgICAgVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0mLCBTdHJ1Y3R1cmUqLCBjb25zdCBTb3VyY2VDb2RlJiwg
RnVuY3Rpb25NZXRhZGF0YU5vZGUqLCBVbmxpbmtlZEZ1bmN0aW9uS2luZCwgQ29uc3RydWN0QWJp
bGl0eSwgSlNQYXJzZXJTY3JpcHRNb2RlLCBPcHRpb25hbDxDb21wYWN0VmFyaWFibGVNYXA6Okhh
bmRsZT4sICBKU0M6OkRlcml2ZWRDb250ZXh0VHlwZSwgSlNDOjpOZWVkc0NsYXNzRmllbGRJbml0
aWFsaXplciwgYm9vbCBpc0J1aWx0aW5EZWZhdWx0Q2xhc3NDb25zdHJ1Y3Rvcik7CiAgICAgVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoRGVjb2RlciYsIGNvbnN0IENhY2hlZEZ1bmN0aW9uRXhl
Y3V0YWJsZSYpOwogCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOworCiAgICAgdm9pZCBkZWNvZGVDYWNoZWRDb2RlQmxvY2tzKFZNJik7CiAKICAg
ICBib29sIGNvZGVCbG9ja0VkZ2VNYXlCZVdlYWsoKSBjb25zdApAQCAtMjk0LDkgKzI5Niw2IEBA
IHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAK
LXByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RW
aXNpdG9yJik7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oCmluZGV4IDNlNGExZmYxZDYyODY5ZjMxZGJj
MjVlY2JmMTIxMjY3MjcxYjY4MzMuLmUxNzI3OTM3OWFkMzdkYjBlMWYzN2M3ZmM5MzZkM2IzZTQ5
YjY2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQqIGFnZW50KSB7IG1fZGVidWdnZXJBZ2VudCA9IGFnZW50OyB9CiAgICAgdm9pZCBzZXRJ
bnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50KEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQq
IGFnZW50KSB7IG1fc2NyaXB0UHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgdm9pZCBtZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPFNjcmlwdEFyZ3VtZW50cz4m
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3Qg
U3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBvdmVycmlkZTsKQEAgLTYyLDcgKzYyLDYg
QEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVjb3JkRW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBS
ZWY8U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcmVlbnNob3QoSlND
OjpKU0dsb2JhbE9iamVjdCosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwogCi1w
cml2YXRlOgogICAgIHZvaWQgd2FyblVuaW1wbGVtZW50ZWQoY29uc3QgU3RyaW5nJiBtZXRob2Qp
OwogICAgIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8U2NyaXB0QXJndW1lbnRzPiYmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5oCmluZGV4IDllY2FiOGM2MmJhNmNjMGY5YzBiMjFlMTZiOWE1NmViNTQwZGNjYzYuLmI5ZjY4
ODNmNTg2OWZlZTc1MWU3MDBhZWE5NWQwNGFlOGY5NmZlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTgz
LDExICs4Myw5IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTVmFsdWUgcXVlcnlJbnN0YW5jZXMoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiAgICAgSlNDOjpKU1ZhbHVlIHF1
ZXJ5SG9sZGVycyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKIAotcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgog
ICAgIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSosIFJlZjxJ
bmplY3RlZFNjcmlwdEhvc3Q+JiYpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYp
OwogCiAgICAgUmVmPEluamVjdGVkU2NyaXB0SG9zdD4gbV93cmFwcGVkOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFt
ZS5oCmluZGV4IGIwMjI4ZWZiODE5Mjc1NmQ3NjA2MWNjNTAwNWQ3NDAxN2RkYWJkOTEuLjFiMDVm
NDYzMDUyM2VmNmI1YzA0MGNjMGM5NWJmZDc2YzcxNWUxNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaApAQCAt
ODYsMTIgKzg2LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHNo
b3J0IEdMT0JBTF9MRVhJQ0FMX0VOVklST05NRU5UX1NDT1BFID0gNTsKICAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIHNob3J0IE5FU1RFRF9MRVhJQ0FMX1NDT1BFID0gNjsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwotCiBwcml2YXRlOgogICAg
IEpTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBSZWY8SmF2
YVNjcmlwdENhbGxGcmFtZT4mJik7CiAgICAgfkpTSmF2YVNjcmlwdENhbGxGcmFtZSgpOworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogCiAgICAgSmF2YVNjcmlwdENhbGxGcmFt
ZSogbV9pbXBsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggMzgxNGQ2OTZiYWM5MzEzNDc1
ZWM3MjdhZmM0OTBkOWQwMWQwYjAyMy4uYjM0ZjAxZWE4MmI3ODlhMGZlNmNjZjBkZmYxMTBlYTY4
MGE1Njk0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTQ2MCwxMSArNDYwLDggQEAgc3RhdGlj
IGlubGluZSBTdHJpbmcgc3RyaW5nRnJvbVVURihjb25zdCBWZWN0b3ImIHV0ZjgpCiB9CiAKIGNs
YXNzIEdsb2JhbE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7Ci1wcml2YXRl
OgotICAgIEdsb2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwotCiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBKU0dsb2JhbE9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVj
dDsKIAogICAgIHN0YXRpYyBHbG9iYWxPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYXJndW1lbnRzKQogICAgIHsKQEAgLTQ4
Myw3ICs0ODAsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUnVudGltZUZsYWdzIGphdmFTY3Jp
cHRSdW50aW1lRmxhZ3MoY29uc3QgSlNHbG9iYWxPYmplY3QqKSB7IHJldHVybiBSdW50aW1lRmxh
Z3M6OmNyZWF0ZUFsbEVuYWJsZWQoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEds
b2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOworCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewogICAgICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQWdncmVnYXRlRXJyb3IuaAppbmRleCA3YTIyOTY0ZTFhMDQ1M2MwNTdkZmFjODliYjdmMmI1
M2ZjMjZkNDNjLi44Yjg3NWRkMWFhMjBjMmFjMjIyNDlmZGE5YTAwMDc5NTgwNjc3ZjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmgKQEAgLTgx
LDEwICs4MSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fZXJyb3JzOwogICAgIH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBleHBsaWNpdCBBZ2dyZWdhdGVFcnJvcihWTSYsIFN0
cnVjdHVyZSosIGNvbnN0IE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBlcnJvcnMpOwogCi1wcml2YXRl
OgogICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+IG1fZXJyb3JzOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yUHJv
dG90eXBlLmgKaW5kZXggNzE0NWIyNTJjNzdiMjlhMWI2MDg2NzQ3MjgwMjk5M2FiYzEyNzUzMC4u
Mzc4MzBmZDg0ZmVlZjVjMDdmZTBhY2MxM2MwMzU2YmUzMzg1NjUzMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvclByb3RvdHlwZS5o
CkBAIC0zNyw5ICszNyw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQWdncmVnYXRlRXJy
b3JQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgRXJyb3JQcm90b3R5cGVCYXNlIHsKLXByaXZhdGU6
Ci0gICAgQWdncmVnYXRlRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGlj
OgogICAgIHVzaW5nIEJhc2UgPSBFcnJvclByb3RvdHlwZUJhc2U7CiAKQEAgLTYyLDcgKzU5LDgg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgIH0KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKKyAgICBBZ2dyZWdhdGVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSop
OwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDExOWZlYTBhNTJkMTUxMzhhNTA1OWVhYjc1ZDQ5Yzc5OWUwY2Y3ODUuLjUzMGU2MzQ1MmQ4
YmU5OTY0YTQ0YTRmOWQxMWNhZjZjODFkYzVhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBBcnJheVByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2ll
c1N5bWJvbCk7Ci0KIHByaXZhdGU6CiAgICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5
UHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0
aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBl
LmgKaW5kZXggYTUyMDE1NGVhMWZmZDMzMGE4YzE5YWEwNGQ5OGE0ZWJlNTY0YWJhMy4uNTNlZjY5
YTU0ODJkZWVlMmU5NTUxZjhhYTgzMzZjYmE3ZmZkMzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCkBAIC0yNSw5ICsyNSw2IEBACiBuYW1l
c3BhY2UgSlNDIHsKIAogY2xhc3MgQXJyYXlQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNBcnJh
eSB7Ci1wcml2YXRlOgotICAgIEFycmF5UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1
YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNBcnJheTsKIApAQCAtNDYsNyArNDMsOCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIFR5cGVJbmZvKERlcml2ZWRBcnJheVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpLCBBcnJheUNsYXNzKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgQXJy
YXlQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShBcnJheVByb3RvdHlwZSwgQXJyYXlQcm90b3R5cGU6OkJhc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oCmlu
ZGV4IGFmYjlhMjJlOWNmMDI3ZGFiMDhhZDliM2QzZGQ3ZTU5MTg2MTVlYWQuLjQ3ZTY3MjVlYWY2
ODFkNWFjYzkzNmFiZjc2NzBhYjViYTdhNzZmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTU0LDExICs1
NCw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwotCiBwcml2YXRlOgogICAgIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jR2VuZXJh
dG9yRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fz
eW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaAppbmRleCA0N2Q0NjQ0NzdmYWFjYTBlNDA2
ZDBhMzQzOGU0ODU0YTU0MTQyMWRkLi45MzViNzEwY2FiZGY0ZWMzMGUyYTliM2FjYjU3YzYyMzMy
YTQ4ZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dl
bmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCkBAIC01NCwxMSArNTQsOSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQog
cHJpdmF0ZToKICAgICBBc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0
dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNz
T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgK
aW5kZXggNTIzYTU3OGNkMjRlODhlYjU0NmFlNjQ3NGY0YzE1ZTE3ODQzNWQ0YS4uMDg2ZjVlZGYz
NjE5MWMzNTYxODA2NTYwZDMxYmJhMjI2ZDQwNzc0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIEF0b21pY3NPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9i
amVjdCB7Ci1wcml2YXRlOgotICAgIEF0b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQog
cHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC00OSw3ICs0
Niw4IEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgorICAgIEF0b21pY3NPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDE4YzQ2MDY3MTY5NTM3
ODI3YjIxMDkyMTM3MjMxZjY4Njk0NjM4MTMuLjFiOTExYjkxN2MxYmNkODVjZDNlMmNkYjA4MGNi
M2UxYzIyMDYzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jp
Z0ludENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50Q29uc3RydWN0b3IuaApAQCAtNTIsMTEgKzUyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKElu
dGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJpZ0ludFByb3RvdHlwZSop
OwotCiBwcml2YXRlOgogICAgIEJpZ0ludENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJpZ0ludFByb3RvdHlwZSopOwogfTsKIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJpZ0ludENvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QmlnSW50T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmpl
Y3QuaAppbmRleCBkZWNjZmRlNWZlNmVlNWYyZGM0ZDA4NWQwZWMzMjA2MWQ3NTg3MWY3Li5lMjU5
NTY3OWVkNTVhNDJjNGM1MmZlNjAxMTUyZmMxMzVlMGVkMWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xv
YmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTVmFsdWUpOwogICAgIEpTX0VYUE9SVF9QUklW
QVRFIEJpZ0ludE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKaW5kZXggZDllNWYzZTJkZGY1YmQ3
MDExNTAwNTRmMmFiNmUxYmQxODQ1NWVjZC4uN2M1MmU0YjE4NzRhYjQyZDc0OTIxNDc2MWIxYTYz
Mzc5ODBmYjkyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmln
SW50UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50
UHJvdG90eXBlLmgKQEAgLTU2LDExICs1Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwotCiBwcml2YXRl
OgogICAgIEJpZ0ludFByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rv
ci5oCmluZGV4IGVmYWZjYTg0ZTE3YjYwNzBjNmRhZThjNTgxOWQyZGFkMDNkZGQ4YTUuLmU2M2I5
NTA2NGYxNjZmMWU0YTFkNzQwNzA3OGIwYjU2ZjhhZWM4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUs
OSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7IAogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBCb29sZWFuUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgQm9vbGVh
bkNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEJvb2xlYW5Qcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShCb29sZWFuQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKaW5kZXggMmQy
MDA4Y2E2MWIzOTA3NzAzM2Q2NGUzZjg1OWE1YWY2ZjY4MjNmZS4uMGFhYjA1NTkxODhkZjUyMWNl
ZWYyOTM4Yjc4MzU1MGNhZGYyMmY3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaApAQCAtNDMsMTEgKzQzLDkgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
Kik7Ci0KIHByaXZhdGU6CiAgICAgQm9vbGVhblByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIFNUQVRJ
Q19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJvb2xlYW5Qcm90b3R5cGUsIEJvb2xlYW5P
YmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25z
b2xlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0
LmgKaW5kZXggNDY3MTk0MjAwNzMyNTI1YzcxZmNiMDMyY2RkM2I2NTQ5MTYxMWI2Yy4uNGRkYWE1
ZDU2MmFiNDgxZTg1ZDQ4ZTA5Njc2NzgzNzJiMDYyODc4YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbnNvbGVPYmplY3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNw
YWNlIEpTQyB7CiAKIGNsYXNzIENvbnNvbGVPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7Ci1wcml2YXRlOgotICAgIENvbnNvbGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsK
LQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC01Nyw3
ICs1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBDb25zb2xl
T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IDkyYjhlZDNiYmM4NzI0NTA1Yzg3ZmFlYTAzYTc0OTRj
ODY0NDNkNzkuLmIzMjRlMDU5MTUzZjM1YjQzNDljMjU2MjJlODc4N2Y4MDA1Y2RkMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCkBAIC00
NiwxMSArNDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIERhdGVQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBE
YXRlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgRGF0ZVByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKERhdGVDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAppbmRleCBhODg4NmIxMGFiZjk2
OTBlZjM4MjMxZjUxZWU1N2U0NjI3MWFmZDQ2Li5lZWFhZDM3Y2I0YTViNmM1NjE3Yjk3NjE3Mjlh
MDA2MjU5NzM5ZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVBy
b3RvdHlwZS5oCkBAIC0yNyw5ICsyNyw2IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgT2JqZWN0
UHJvdG90eXBlOwogCiBjbGFzcyBEYXRlUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBEYXRlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNTUsNyArNTIsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgRGF0ZVByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5o
CmluZGV4IDlhNWE0NjMyMWIzZGJiNzY0YzJhMWI1MjFkOTI2OGY4ZDE0MzUzMzMuLjZlMWJlYWE2
MTFlNzY3ZGViMzNlYjRiMWYwNjZjZWQxZWZiNWY1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTQ1LDE1ICs0NSwxMiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksIGluZm8oKSk7IAogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBFcnJvckNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEVycm9yUHJvdG90eXBlKik7CiAKICAgICBzdGF0aWMgYm9vbCBwdXQoSlNDZWxsKiwgSlNHbG9i
YWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwogICAg
IHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgUHJv
cGVydHlOYW1lLCBEZWxldGVQcm9wZXJ0eVNsb3QmKTsKLQotcHJpdmF0ZToKLSAgICBFcnJvckNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Ci0KIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShFcnJvckNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKaW5kZXggYmEx
ZTViNTI3M2RjOTk2OGI2ZDU4ZWM0NjNhMGI0MWE1MDgyYjlmZi4uMjViZTA4NzQyYmI1ZjYyZTBk
ZWY2ODBmZDZjZTgzZDQ5YjNhYTA4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvclByb3RvdHlwZS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIHByb3RvdHlwZTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgRXJy
b3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GaWxlQmFzZWRGdXp6ZXJBZ2VudC5oCmluZGV4IGM5MjkxMWZk
NDM5Y2FlZDI5ZGFmZWM2Y2M0MTZlNDFkM2U3ZDRhNDMuLjc1ZTAzMzU3MTkxMDgwYzEzN2E0ODIz
MjM4YjU0YTczYjRjOGYxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBGaWxl
QmFzZWRGdXp6ZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBGaWxlQmFzZWRGdXp6ZXJBZ2VudEJhc2Ug
ewogcHVibGljOgogICAgIEZpbGVCYXNlZEZ1enplckFnZW50KFZNJik7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgU3BlY3VsYXRlZFR5cGUgZ2V0UHJlZGljdGlvbkludGVybmFsKENvZGVC
bG9jayosIFByZWRpY3Rpb25UYXJnZXQmLCBTcGVjdWxhdGVkVHlwZSBvcmlnaW5hbCkgb3ZlcnJp
ZGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Q
cm90b3R5cGUuaAppbmRleCA5NmIwMzRhYmVmZWI5MWM1NzU0ZDE0YmQxMWU4MTAwYjZiOGNlYzJm
Li41NmIyNzU0NTUyZTZjMjE5NzJhOWZhYTllYjE0ZTk4NTlmYTFjYzA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgKQEAgLTQ2LDEx
ICs0Niw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCiBwcml2YXRl
OgogICAgIEZ1bmN0aW9uUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiB9OwogU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoRnVuY3Rpb25Qcm90b3R5cGUsIEludGVybmFsRnVuY3Rpb24p
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRh
LmgKaW5kZXggZGU1ZTBiMDBkMzRjZGZjMDcwOTU3ZjE0MDZiMzBiZGU1ZjZkYzgwNS4uOGVhNmFj
MDZiYmIzNTJkOWQ4YjQ5NWU5NzQxODgxNTNkYjZhNzk5MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaApAQCAtMTM4LDEzICsxMzgsMTIg
QEAgcHVibGljOgogICAgIFdhdGNocG9pbnQqIGNyZWF0ZUFsbG9jYXRpb25Qcm9maWxlQ2xlYXJp
bmdXYXRjaHBvaW50KCk7CiAgICAgY2xhc3MgQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNo
cG9pbnQ7CiAKLXByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBGdW5jdGlvblJhcmVEYXRhKFZNJiwg
RXhlY3V0YWJsZUJhc2UqKTsKLSAgICB+RnVuY3Rpb25SYXJlRGF0YSgpOwotCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKKyAgICBleHBsaWNpdCBG
dW5jdGlvblJhcmVEYXRhKFZNJiwgRXhlY3V0YWJsZUJhc2UqKTsKKyAgICB+RnVuY3Rpb25SYXJl
RGF0YSgpOworCiAgICAgLy8gSWRlYWxseSwgdGhlcmUgd291bGQgb25seSBiZSBvbmUgYWxsb2Nh
dGlvbiBwcm9maWxlIGZvciBzdWJjbGFzc2luZyBidXQgZHVlIHRvIFJlZmxlY3QuY29uc3RydWN0
IHdlCiAgICAgLy8gaGF2ZSB0d28uIFRoZXJlIGFyZSBzb21lIHByb3MgYW5kIGNvbnMgaW4gY29t
cGFyaXNvbiB0byBvdXIgY3VycmVudCBzeXN0ZW0gdG8gdXNpbmcgdGhlIHNhbWUgcHJvZmlsZQog
ICAgIC8vIGZvciBib3RoIEpTIGNvbnN0cnVjdG9ycyBhbmQgc3ViY2xhc3NlcyBvZiBidWlsdGlu
IGNvbnN0cnVjdG9yczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IDQ4ZWJmZDM3Y2MxODczYWMw
NDY5NzljYzJjZmZjZGE1MzA0M2YwZjguLjY1N2FiMDZkM2U4YWRhNmFhYjE5N2RhMjFjYzY5ZDVj
ZjRhZTY4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVy
YXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAtNTYsMTEgKzU2LDkgQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKFZN
JiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9HZW5lcmljVHlwZWRBcnJheVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCmluZGV4IDgxZWQwOGE0NjdlNjk1ZGExNDliYmRlMWQw
OGEzZDAxZjJkOTg2ZmQuLjRmODY0ZWQwY2IxZDI3ZmZmZThhZTM2ZTJkOTQ0NmJkZGJhYmExMDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFy
cmF5Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBl
ZEFycmF5Vmlldy5oCkBAIC0zMiw5ICszMiw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBBZGFwdG9yPgogY2xhc3MgR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDog
cHVibGljIEFycmF5QnVmZmVyVmlldyB7Ci1wcm90ZWN0ZWQ6Ci0gICAgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3KFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWdu
ZWQgbGVuZ3RoKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBSZWY8R2VuZXJpY1R5cGVkQXJyYXlW
aWV3PiBjcmVhdGUodW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgUmVmPEdlbmVyaWNUeXBl
ZEFycmF5Vmlldz4gY3JlYXRlKGNvbnN0IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUqIGFycmF5LCB1
bnNpZ25lZCBsZW5ndGgpOwpAQCAtMTE5LDYgKzExNiw5IEBAIHB1YmxpYzoKICAgICB9CiAKICAg
ICBKU0FycmF5QnVmZmVyVmlldyogd3JhcChKU0dsb2JhbE9iamVjdCosIEpTR2xvYmFsT2JqZWN0
Kikgb3ZlcnJpZGU7CisKK3ByaXZhdGU6CisgICAgR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFJlZlB0
cjxBcnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3RoKTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAppbmRl
eCA2ZDZlMWZmNTQ2NmUzY2UwMjE5MDZlNzQyMDFmZTQ0NjM3MGE2MTdkLi45MzIzNmExMDRjZDU3
ZDE0ODQ1MDU5ZWVlOTRmNTM2MmE2ODk5ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3Qu
aApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbk9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXBy
aXZhdGU6Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0KFZNJiwgU3RydWN0dXJl
Kik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBz
dGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJl
RmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNjIsNyArNTksOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaXNhYmxlKFZNJik7CiAgICAgYm9vbCBpc0VuYWJsZWQoVk0mKSBjb25zdDsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmpl
Y3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENv
bGxhdG9yLmgKaW5kZXggMTI3YjVhZWI4N2UxMzQ3MDMxZWZlYjA1MGVmZGJlZTYxNWE0OTY0Ni4u
ZjY2ZWNlMDA2Y2FmODI3OWNiNWI5MjIwNjkyMDIyNDJkZmRkYTUyMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmgKQEAgLTYyLDEyICs2MiwxMSBAQCBw
dWJsaWM6CiAgICAgSlNCb3VuZEZ1bmN0aW9uKiBib3VuZENvbXBhcmUoKSBjb25zdCB7IHJldHVy
biBtX2JvdW5kQ29tcGFyZS5nZXQoKTsgfQogICAgIHZvaWQgc2V0Qm91bmRDb21wYXJlKFZNJiwg
SlNCb3VuZEZ1bmN0aW9uKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bENvbGxh
dG9yKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFVzYWdlIDogdWludDhfdCB7IFNvcnQsIFNlYXJjaCB9Owog
ICAgIGVudW0gY2xhc3MgU2Vuc2l0aXZpdHkgOiB1aW50OF90IHsgQmFzZSwgQWNjZW50LCBDYXNl
LCBWYXJpYW50IH07CiAgICAgZW51bSBjbGFzcyBDYXNlRmlyc3QgOiB1aW50OF90IHsgVXBwZXIs
IExvd2VyLCBGYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmgKaW5kZXggZjc3YWJlZTI4YmMzOWFmYWZhN2Ix
ZWNkOGMyYWQ5MzNkMWMwZDIxMS4uNzkwMWIyZjE0ZWQ4ZjI1NGJkZTg4NjliNzZjN2QxZTIxZmZk
N2ZjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
Q29sbGF0b3JDb25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBT
dHJ1Y3R1cmUqIGNvbGxhdG9yU3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2Jq
ZWN0KCktPmNvbGxhdG9yU3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29sbGF0b3JQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAg
ICBJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBJbnRsQ29sbGF0b3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsQ29sbGF0b3JDb25zdHJ1Y3RvciwgSW50ZXJu
YWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxDb2xsYXRvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bENvbGxhdG9yUHJvdG90eXBlLmgKaW5kZXggZTA1ZmM4ZGE5OWYzOTkyMDRlOWQ4ZTgyYWY2
OTM5NWIyMmE4NGQ3NS4uYTQxY2I1OWNlYjk2OGQ0NTFjNGI1ZjNiNzZkNzI5NzJlYzQ5MTI5NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJv
dG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9y
UHJvdG90eXBlLmgKQEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5G
TzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0
ZToKICAgICBJbnRsQ29sbGF0b3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKaW5kZXgg
NzhlYzAyY2M0MTNhY2U4MjVhMjgwZTQ1ZmQxZmEwYjIwZTQ2NGI1Zi4uN2I4YmM5NTRjM2UwMWY2
YzQ5Y2Q5MThlMWNmNDgxNTNiNjUyNmE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmgKQEAgLTYyLDEyICs2MiwxMSBAQCBwdWJs
aWM6CiAgICAgSlNCb3VuZEZ1bmN0aW9uKiBib3VuZEZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRGb3JtYXQuZ2V0KCk7IH0KICAgICB2b2lkIHNldEJvdW5kRm9ybWF0KFZNJiwgSlNCb3Vu
ZEZ1bmN0aW9uKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9y
bWF0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFdlZWtkYXkgOiB1aW50OF90IHsgTm9uZSwgTmFycm93LCBT
aG9ydCwgTG9uZyB9OwogICAgIGVudW0gY2xhc3MgRXJhIDogdWludDhfdCB7IE5vbmUsIE5hcnJv
dywgU2hvcnQsIExvbmcgfTsKICAgICBlbnVtIGNsYXNzIFllYXIgOiB1aW50OF90IHsgTm9uZSwg
VHdvRGlnaXQsIE51bWVyaWMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oCmluZGV4IDJhMDYx
ZWMwZWRlNmNhYjk1OGM0YTUxYWQ3Yzk2NTU5ZmU3MWExYTAuLjU1MDBjM2RiYjlkOGY3MTRlZDkw
MGVhMWNmOGYwMDM1MTE4MWQyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaApAQCAtNDUs
MTEgKzQ1LDkgQEAgcHVibGljOgogCiAgICAgU3RydWN0dXJlKiBkYXRlVGltZUZvcm1hdFN0cnVj
dHVyZShWTSYpIGNvbnN0IHsgcmV0dXJuIGdsb2JhbE9iamVjdCgpLT5kYXRlVGltZUZvcm1hdFN0
cnVjdHVyZSgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgSW50bERhdGVU
aW1lRm9ybWF0Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IDBlNDEwZGEw
NjFkNmNlYzhiZWNjMWZhOGE4YjY2MDVmZGE4MjA1YjAuLmRmMTJkNDM0NmE1ZGZiODlmYmNhODQz
ZWQxMmU3MDUyYTk3NTZjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oCkBAIC00NywxMSArNDcs
OSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgSW50bERhdGVUaW1lRm9ybWF0
UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmgKaW5kZXggOWYxMGI1ZDQzNjcwYjhkZTJmNmY0MGU0
ZDc3MzM4NWUzNTZmMTgwMS4uMTM1N2U1NzVjMWFkODk1NmM1YzFmNjlmOGYyMjFkMjRkMTMyNjRi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZv
cm1hdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3Jt
YXQuaApAQCAtNjYsMTIgKzY2LDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGZvcm1h
dFRvUGFydHNJbnRlcm5hbChKU0dsb2JhbE9iamVjdCosIGRvdWJsZSwgY29uc3QgU3RyaW5nJiBm
b3JtYXR0ZWQsIFVGaWVsZFBvc2l0aW9uSXRlcmF0b3IqLCBKU0FycmF5KiwgSlNTdHJpbmcqIHVu
aXQgPSBudWxscHRyKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJbnRsTnVtYmVyRm9y
bWF0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIFN0eWxlIDogdWludDhfdCB7IERlY2ltYWwsIFBlcmNlbnQs
IEN1cnJlbmN5IH07CiAgICAgZW51bSBjbGFzcyBDdXJyZW5jeURpc3BsYXkgOiB1aW50OF90IHsg
Q29kZSwgU3ltYm9sLCBOYW1lIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKaW5kZXggNWI1MjAw
MjAyMTc3MmRkMGNiMjY2N2JkNTkxZWZjYTNmZmM5ZTA5OC4uYzljMDA1ZWU4OGVlOGQ4MzQ3ZDBl
ZGUxZmM3Y2M0ODhjMmM0MGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ1LDExICs0
NSw5IEBAIHB1YmxpYzoKIAogICAgIFN0cnVjdHVyZSogbnVtYmVyRm9ybWF0U3RydWN0dXJlKFZN
JikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPm51bWJlckZvcm1hdFN0cnVjdHVyZSgp
OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bE51bWJl
ckZvcm1hdFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEludGxOdW1iZXJGb3JtYXRDb25z
dHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJ
bnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9u
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51
bWJlckZvcm1hdFByb3RvdHlwZS5oCmluZGV4IDY5ZGUyNDU0ODgzNTM5NWU4ZTZmYjJmMTUyNDlk
OTNiMTU0MDZlZTMuLjYxNzVmOWRkMDkzNzkyOWY4ZmViZGFjYmM0ZThmY2RkNDZiYzM3NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVy
Rm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQog
cHJpdmF0ZToKICAgICBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVs
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCmlu
ZGV4IDA1NTQ3Zjg0YzRlNzBkOTUwNDgwOWI5MWQ0NzUwYjMzZGU0M2UwYzkuLjdhYTUyZWQwOGE2
MDZkY2FjNDBlZGI5ODQ0YTk3YjNmM2JkYjE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oCkBAIC01NywxMiArNTcsMTEgQEAgcHVibGlj
OgogICAgIEpTVmFsdWUgc2VsZWN0KEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKTsKICAg
ICBKU09iamVjdCogcmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgSW50bFBsdXJhbFJ1bGVzKFZNJiwgU3RydWN0dXJlKik7CiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICBzdHJ1Y3QgVVBsdXJhbFJ1
bGVzRGVsZXRlciB7CiAgICAgICAgIHZvaWQgb3BlcmF0b3IoKShVUGx1cmFsUnVsZXMqKSBjb25z
dDsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmgKaW5kZXggOTIyMzdkMTA2ZjhlMjc5ZDViMzRl
ZTNiMTkzMjc3N2EzNGZkZGE5NS4uN2YzZDAzZmVjYTU2MWEwYTQ4NTdjODA4ZGVjYjNhZmM0YmMy
M2Q5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJh
bFJ1bGVzQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAK
ICAgICBTdHJ1Y3R1cmUqIHBsdXJhbFJ1bGVzU3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4g
Z2xvYmFsT2JqZWN0KCktPnBsdXJhbFJ1bGVzU3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUqKTsK
LQogcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUGx1cmFsUnVsZXNQcm90b3R5
cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsUGx1cmFs
UnVsZXNDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc1Byb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKaW5k
ZXggOWExYzJmMTY5MjA1ZDNhMWQzMmNmYTNmOGRiNmE0NzAxOGYwZTFkOC4uNmZhYTNhNGY3OGFl
YTU5ODQzMmNiMTMwMzdmMTAzNTkzNjI1MDg0YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlLmgKQEAgLTQ3LDEx
ICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVs
ZXNQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmgKaW5kZXggYzhjY2ZmMjQxNGYzMjZmMjM5MmI2YzNmM2FmY2JjZGMzMTBlZTFlNC4uOTZh
ZTc1YjM4YzMyZTFlMGEzZjEzNWI3OWFlYjI2NzkxYmY5YTljZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIFN0cnVj
dHVyZSogcmVsYXRpdmVUaW1lRm9ybWF0U3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xv
YmFsT2JqZWN0KCktPnJlbGF0aXZlVGltZUZvcm1hdFN0cnVjdHVyZSgpOyB9CiAKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSW50bFJlbGF0aXZlVGltZUZvcm1hdFBy
b3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRDb25zdHJ1
Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRs
UmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS5oCmluZGV4IGNjYmFlYThl
NzVhNDgxMjg4MDgyYjU5MDgwYTBhZWRjZWU1MDczNTguLmUwMGViZjA2M2I5ZTU0NjhjY2QzMmQz
Njg5YjBlMzE3ZWVjNjU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLmgKQEAgLTQ2
LDExICs0Niw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRsUmVsYXRp
dmVUaW1lRm9ybWF0UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmgKaW5kZXggYmEyZTY3MjgzZTRjOGQ1NDMy
NDFhYjA3MDM5YmU5MzFiNmEyMmM0MS4uNmJlYTRjZmYxNDkxZjk5NGFiYzNlODA1NmU2YjQzYzQz
MTUyNWRjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZm
ZXIuaApAQCAtNDAsMTIgKzQwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIHZt
LmFycmF5QnVmZmVyU3BhY2U8bW9kZT4oKTsKICAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAg
SlNBcnJheUJ1ZmZlcihWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgCi1wdWJs
aWM6CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVnaXN0ZXIgdGhlIG5ldyB3cmFwcGVy
IHdpdGggdGhlIHZtJ3MgVHlwZWRBcnJheUNvbnRyb2xsZXIuCiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIEpTQXJyYXlCdWZmZXIqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIFJlZlB0cjxB
cnJheUJ1ZmZlcj4mJik7CiAKQEAgLTYxLDEwICs1NiwxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBpcyB0aGUgZGVmYXVsdCBET00gdW53cmFwcGluZy4gSXQgY2FsbHMgdG9VbnNoYXJlZEFycmF5
QnVmZmVyKCkuCiAgICAgc3RhdGljIEFycmF5QnVmZmVyKiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVl
KTsKICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgSlNBcnJheUJ1ZmZlcihWTSYsIFN0
cnVjdHVyZSosIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CisKICAgICBzdGF0aWMgc2l6ZV90IGVzdGltYXRlZFNp
emUoSlNDZWxsKiwgVk0mKTsKIAotcHJpdmF0ZToKICAgICBBcnJheUJ1ZmZlciogbV9pbXBsOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuaAppbmRleCA0MzEzOWY2YzdmYjVkOTMwMmZiN2UzOTI0MGI1OGZl
OWRhNzEwY2E2Li5mNjVlMDIwMTEyNmE2NmU1MDhmZTE1MTFlZjcyNjNjOTA5ZDFmZDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVy
Q29uc3RydWN0b3IuaApAQCAtMzgsMTMgKzM4LDYgQEAgY2xhc3MgSlNHZW5lcmljQXJyYXlCdWZm
ZXJDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoK
ICAgICB1c2luZyBCYXNlID0gSW50ZXJuYWxGdW5jdGlvbjsKIAotcHJvdGVjdGVkOgotICAgIEpT
R2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSosIEdldHRlclNldHRl
ciogc3BlY2llc1N5bWJvbCk7Ci0KLSAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RBcnJheUJ1ZmZlcihKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwot
Ci1wdWJsaWM6CiAgICAgc3RhdGljIEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBl
KiBwcm90b3R5cGUsIEdldHRlclNldHRlciogc3BlY2llc1N5bWJvbCkKICAgICB7CiAgICAgICAg
IEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3VsdCA9CkBAIC01Nyw2ICs1MCwx
MiBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87IC8v
IFRoaXMgaXMgbmV2ZXIgYWNjZXNzZWQgZGlyZWN0bHksIHNpbmNlIHRoYXQgd291bGQgYnJlYWsg
bGlua2FnZSBvbiBzb21lIGNvbXBpbGVycy4KICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvKiBp
bmZvKCk7CisKK3ByaXZhdGU6CisgICAgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihW
TSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVm
ZmVyUHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKKworICAgIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEFycmF5QnVmZmVyKEpTR2xv
YmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CiB9OwogCiB1c2luZyBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IgPSBKU0dlbmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPEFycmF5QnVmZmVyU2hhcmlu
Z01vZGU6OkRlZmF1bHQ+OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oCmluZGV4IGZiNDQ0ODdiMDgyODhhMzQ1NWRlYzQ2
NmVmZDk4YzQ3ZDEyZTgzZjcuLmMwMGNiNzE1YTQzMDc3YzE4Nzc5NGExMjAwMzQ0NWE2MTJjMzFl
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZm
ZXJQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyUHJvdG90eXBlLmgKQEAgLTQwLDE2ICs0MCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSk7Ci0KLXB1
YmxpYzoKICAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlID0gQXJyYXlC
dWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdCk7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogICAg
IAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
c3luY0dlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBc3luY0dl
bmVyYXRvci5oCmluZGV4IDI3ZDUyNzkzZWYzZWI5NzgyMmJmYWI2ZTg0OTRlZTlkNzBlNmU3NTcu
LjZhOTBlOTdhMzkzYWIyMmYwODE1ZDA4ZmYyN2QxMWExM2RjODc3MmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXN5bmNHZW5lcmF0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FzeW5jR2VuZXJhdG9yLmgKQEAgLTk3LDcgKzk3
LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBT
bG90VmlzaXRvciYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpTQXN5bmNHZW5lcmF0
b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAppbmRl
eCBkOGQxNmM4ODU1OWJkZTVkOWI4MWE2NmMxMDgxYjAwMDJhM2UxNGExLi5lNjQyYWUzMDQ4ZDEw
OWI3NGVlMWRhNTVmZjU5MTQ3ZDE3YzY5MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaApAQCAtODAsMTMgKzgwLDExIEBAIHB1YmxpYzoK
IAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQogcHJpdmF0ZToKICAgICBKU0JvdW5k
RnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBKU09iamVjdCogdGFyZ2V0RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU0ltbXV0
YWJsZUJ1dHRlcmZseSogYm91bmRBcmdzLCBKU1N0cmluZyogbmFtZU1heUJlTnVsbCwgaW50IGxl
bmd0aCk7Ci0gICAgCisKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0
YWJsZSosIGludCBsZW5ndGgpOworICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV90YXJnZXRG
dW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNldHRlckZ1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdldHRlclNl
dHRlckZ1bmN0aW9uLmgKaW5kZXggODYzODViNDI3MTdhY2IwY2NmNmQyOGQ1MjBiMGYxMjhhOWUz
MzIwNi4uMmUwYzc0NWY3NjgxZTFmNTRlNWJlZDIxZWIyMjkyMzg2N2IzZGViMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5j
dGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tR2V0dGVy
U2V0dGVyRnVuY3Rpb24uaApAQCAtNTYsMTIgKzU2LDEwIEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0KIHByaXZhdGU6CiAgICAgSlNDdXN0b21HZXR0
ZXJTZXR0ZXJGdW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSosIFR5cGUsIGNvbnN0IFByb3BlcnR5TmFtZSYpOwogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgQ3VzdG9tR2V0dGVyU2V0dGVyKiwgY29u
c3QgU3RyaW5nJik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOwogCiAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY3Vz
dG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25DYWxsKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaAppbmRleCA5OGE4
Y2M4YjM5OGZmZGQ3YTFjOTRiZTY1N2Y2NTVlNmNjN2I5ZjcyLi5lZGY2MWQ1MjI2MTI2YTA2ZWFl
MDJkOTQ5YTAzZjgxZjdiYjliYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGFWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNEYXRhVmlldy5oCkBAIC00MCwxMSArNDAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBy
ZXR1cm4gdm0uZGF0YVZpZXdTcGFjZTxtb2RlPigpOwogICAgIH0KLSAgICAKLXByb3RlY3RlZDoK
LSAgICBKU0RhdGFWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4dCYsIEFycmF5QnVmZmVyKik7
Ci0gICAgCi1wdWJsaWM6CisKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNEYXRhVmll
dyogY3JlYXRlKAogICAgICAgICBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFJlZlB0cjxB
cnJheUJ1ZmZlcj4mJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwKICAgICAgICAgdW5zaWduZWQgYnl0
ZUxlbmd0aCk7CkBAIC02OCw3ICs2NCwxMyBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIGNv
bnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsK
IAotcHJvdGVjdGVkOgorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIAorICAgIERFQ0xBUkVf
RVhQT1JUX0lORk87CisKK3ByaXZhdGU6CisgICAgSlNEYXRhVmlldyhWTSYsIENvbnN0cnVjdGlv
bkNvbnRleHQmLCBBcnJheUJ1ZmZlciopOworCiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYpOwogICAgIHN0YXRpYyBib29sIHB1dChKU0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wg
ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFt
ZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CkBAIC03Niwx
MiArNzgsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCBnZXRPd25Ob25JbmRleFBy
b3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5
JiwgRW51bWVyYXRpb25Nb2RlKTsKIAotcHVibGljOgotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwot
ICAgIAotICAgIERFQ0xBUkVfRVhQT1JUX0lORk87Ci0KLXByaXZhdGU6CiAgICAgQXJyYXlCdWZm
ZXIqIG1fYnVmZmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNEYXRhVmlld1Byb3RvdHlwZS5oCmluZGV4IDViNjg1MDRhZGMzYmU1MDk2MjU4NjE1MTI0
MmMzOTBlNjM2MGY5MGIuLjkxMmY3YTNiMjk1NDBiOWFjM2YxYjk4M2NlMmI0OWQ4YWExZWEzM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90
b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJv
dG90eXBlLmgKQEAgLTQxLDE3ICs0MSwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAmdm0u
cGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU0RhdGFWaWV3UHJv
dG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNEYXRhVmlld1Byb3RvdHlwZSogY3JlYXRlKFZNJiwg
U3RydWN0dXJlKik7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogICAgIAogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBw
cm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpTRGF0YVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1
Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2Vu
ZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvci5oCmlu
ZGV4IDZkNjFhYjU2YTQ4NzJiYmZkZTZhMjllNzc2MTY3MmQ3M2MxN2I0MTcuLmZjNGMyZTUxYmMx
NGI3ODcxM2M2OGU1Y2JlNWUyNDlmY2ZjNzA3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHZW5lcmF0b3IuaApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgSlNHZW5lcmF0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKaW5kZXggM2I3YmJkZTc2
NWNlMWMzNTY1NTBlY2Q1OGI3N2ZlZDlkNjEwNmY1Yy4uMzA2NGJlNWI3MWY5ZmU4MTYzMGM0MTI3
OTlkZWEyZDFkZGQ1NTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCkBAIC05OSwxMSArOTksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZl
bldoZW5MZW5ndGhJc05vdFplcm87CiAKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGVs
ZW1lbnRTaXplID0gc2l6ZW9mKHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUpOwotICAgIAotcHJvdGVj
dGVkOgotICAgIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFZNJiwgQ29uc3RydWN0aW9uQ29udGV4
dCYpOwotICAgIAotcHVibGljOgorCiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
KiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBsZW5ndGgpOwog
ICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyogY3JlYXRlV2l0aEZhc3RWZWN0b3Io
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBsZW5ndGgsIHZvaWQqIHZlY3Rv
cik7CiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KiBjcmVhdGVVbmluaXRpYWxp
emVkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgdW5zaWduZWQgbGVuZ3RoKTsKQEAgLTI5
Nyw5ICsyOTMsMTEgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgRE9NIHVu
d3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5zaGFyZWROYXRpdmVUeXBlZFZpZXcoKS4KICAgICBzdGF0
aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQoVk0mLCBKU1Zh
bHVlKTsKICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgZnJpZW5kIHN0cnVjdCBUeXBl
ZEFycmF5Q2xhc3NJbmZvczsKIAorICAgIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KFZNJiwgQ29u
c3RydWN0aW9uQ29udGV4dCYpOworCiAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIHRocm93TmV1
dGVyZWRUeXBlZEFycmF5VHlwZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUs
IFByb3BlcnR5TmFtZSk7CiAKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNP
YmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CkBA
IC0zMTYsNyArMzE0LDYgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVk
U2l6ZShKU0NlbGwqLCBWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKIAotcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgc3Vj
Y2Vzc2Z1bCwgYW5kIGZhbHNlIG9uIGVycm9yOyBpdCB3aWxsIHRocm93IG9uIGVycm9yLgogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIE90aGVyQWRhcHRvcj4KICAgICBib29sIHNldFdpdGhTcGVjaWZp
Y1R5cGUoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKaW5kZXggMWZiNjBjYjhk
MmM5YjBkZWMwYmU0NjZhOGExOWY0MTE5ZDZhNzE5NC4uNGRjNGFlYTY4MTYzYTkzMWFiNThkNjEw
Njg2YWNmMDg5MTA1OTIyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaApA
QCAtMzIsMTMgKzMyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3
Q2xhc3M+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZpbmFsIDog
cHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgotICAgIHR5cGVkZWYgSW50ZXJuYWxG
dW5jdGlvbiBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBJbnRlcm5hbEZ1bmN0aW9uOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVj
dHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBwcml2YXRlQWxsb2NhdG9yKTsKLQotcHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yKiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUs
IEZ1bmN0aW9uRXhlY3V0YWJsZSogcHJpdmF0ZUFsbG9jYXRvcik7CiAKQEAgLTQ4LDYgKzQzLDEw
IEBAIHB1YmxpYzoKICAgICBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAKICAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUg
cHJvdG90eXBlKTsKKworcHJpdmF0ZToKKyAgICBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0
cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBG
dW5jdGlvbkV4ZWN1dGFibGUqIHByaXZhdGVBbGxvY2F0b3IpOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRleCAzMjlkZDQzZWFiMWI0
ZWZmMzdiYmMyZWMyNjE5MWJlMGFmNGVlMjZkLi42ZmVhY2I4OWJkNzdlZmE2NzhmODUzOWM3NWU2
OWQyMDQ2ODE5NmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKQEAgLTQxLDEx
ICs0MSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwog
ICAgIH0KIAotcHJvdGVjdGVkOgotICAgIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBl
KFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0Kik7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUqIGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSopOwogCkBAIC01NSw2ICs1MCwxMCBAQCBwdWJsaWM6CiAgICAgSUdOT1JFX0NMQU5HX1dBUk5J
TkdTX0VORAogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsTGV4aWNhbEVudmlyb25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oCmluZGV4IDM2ZmViOTA0MDRkY2ZmMDQ5YTczZWIx
YzRiOTE4MTNjNjQ2Mzg1MmEuLjhiZWI5ZWQzZmJmZGUwOTRiY2Q3ZjA1MzU5ZTc0NmFkNmZiZTM3
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4
aWNhbEVudmlyb25tZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBqc051bGwoKSwg
VHlwZUluZm8oR2xvYmFsTGV4aWNhbEVudmlyb25tZW50VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU0dsb2JhbExleGlj
YWxFbnZpcm9ubWVudChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Njb3BlKiBzY29w
ZSkKICAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIHNjb3BlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5oCmluZGV4IDdkNDlmYWUy
NDAyNmUyYjY1Zjc2NGJhMWMxNGUxMWYwYjQwMGZmYjAuLjFlMDZiNzcwYTFmOGFjYmEzNDEwZGMy
MWFlZTBmZmUwMWFlZTljMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTW9kdWxlTG9hZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNNb2R1bGVMb2FkZXIuaApAQCAtMzYsOCArMzYsNiBAQCBjbGFzcyBKU01vZHVsZVJlY29yZDsK
IGNsYXNzIFNvdXJjZUNvZGU7CiAKIGNsYXNzIEpTTW9kdWxlTG9hZGVyIGZpbmFsIDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBKU01vZHVsZUxvYWRlcihWTSYsIFN0
cnVjdHVyZSopOwogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC05Myw3ICs5MSw4IEBAIHB1
YmxpYzoKICAgICBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogZ2V0TW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBtb2R1bGVSZWNvcmQpOwogICAgIEpTQXJyYXkq
IGRlcGVuZGVuY3lLZXlzSWZFdmFsdWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIGtleSk7
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgSlNNb2R1bGVMb2FkZXIoVk0mLCBTdHJ1Y3R1
cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiwgVk0mKTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFt
ZXNwYWNlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5h
bWVzcGFjZU9iamVjdC5oCmluZGV4IDgxMTM2NGRkMTdhMTNlN2VmYmZjZjFjOWUyODYzMGUyNDJh
NzEyNGUuLmY4MTA3ZWQ1YzZkODc3MzhmNjk5YmRiOTg0MGU1ZTMzMWQ2MzI3YjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VP
YmplY3QuaApAQCAtNjksMTEgKzY5LDkgQEAgcHVibGljOgogCiAgICAgQWJzdHJhY3RNb2R1bGVS
ZWNvcmQqIG1vZHVsZVJlY29yZCgpIHsgcmV0dXJuIG1fbW9kdWxlUmVjb3JkLmdldCgpOyB9CiAK
LXByb3RlY3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKEpT
R2xvYmFsT2JqZWN0KiwgQWJzdHJhY3RNb2R1bGVSZWNvcmQqLCBWZWN0b3I8c3RkOjpwYWlyPElk
ZW50aWZpZXIsIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpSZXNvbHV0aW9uPj4mJik7Ci0gICAgSlNf
RVhQT1JUX1BSSVZBVEUgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsK
LQogcHJpdmF0ZToKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU01vZHVsZU5hbWVzcGFjZU9iamVj
dChWTSYsIFN0cnVjdHVyZSopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNHbG9iYWxPYmplY3QqLCBBYnN0cmFjdE1vZHVsZVJlY29yZCosIFZlY3RvcjxzdGQ6
OnBhaXI8SWRlbnRpZmllciwgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRpb24+PiYmKTsK
ICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAg
ICAgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RDb21tb24oSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmgKaW5kZXggMzA0YTBmOTY5ZjdhN2Q3OTA0ODYw
NDJkZTBhYzA1MGU0N2E3YWQ5Zi4uMGEyMzYwZjNiODI3ZmE4NDQ5OGVhZDVhZDI4NTJiNDhlNmRl
YTVjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOYXRpdmVT
dGRGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTmF0aXZl
U3RkRnVuY3Rpb24uaApAQCAtNjIsMTMgKzYyLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IE5h
dGl2ZVN0ZEZ1bmN0aW9uJiBmdW5jdGlvbigpIHsgcmV0dXJuIG1fZnVuY3Rpb247IH0KIAotcHJv
dGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0
b3ImKTsKLQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwg
aW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKLQogcHJpdmF0ZToKICAgICBKU05hdGl2
ZVN0ZEZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgTmF0aXZlU3RkRnVuY3Rpb24mJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwor
ICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAog
ICAgIE5hdGl2ZVN0ZEZ1bmN0aW9uIG1fZnVuY3Rpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPTk9iamVjdC5oCmluZGV4IGNhOTdlN2U1YjQ5ZGZiY2E5YzQ2Zjc2MDli
M2RiNzc3MWI1NGQwMDYuLjkwYWYzNzJkYWI1MjZhMmQ4ZDFiYmViYjIxNWIzYzgyMTA2ZTY3NTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKQEAgLTU1LDEx
ICs1NSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBKU09OT2JqZWN0KFZN
JiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogSlNf
RVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSBKU09OUGFyc2UoSlNHbG9iYWxPYmplY3QqLCBjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDFm
ZDEyYjBjYTE0ZTg5MTQ0ODVkMDliMGY0N2FiOTVkYWM1MDY1YjAuLmE2ODc4YTZhNGI0M2IzOGQ1
OGUzZjM5Mjg2OTNhZDM3MDI3OTJlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaApAQCAtMTE2NywyNCArMTE2NywyMyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJF
X0VYUE9SVF9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCB2aXNpdENoaWxkcmVuQ29tbW9u
KFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBBU1NF
UlQoc3RydWN0dXJlKHZtKS0+dG90YWxTdG9yYWdlQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUodm0p
LT5pbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwotICAg
IH0KLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwog
CisgICAgdm9pZCB2aXNpdENoaWxkcmVuQ29tbW9uKFNsb3RWaXNpdG9yJik7CisKICAgICBleHBs
aWNpdCBKU0ZpbmFsT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJ1dHRlcmZs
eSogYnV0dGVyZmx5ID0gbnVsbHB0cikKICAgICAgICAgOiBKU09iamVjdCh2bSwgc3RydWN0dXJl
LCBidXR0ZXJmbHkpCiAgICAgewogICAgICAgICBnY1NhZmVaZXJvTWVtb3J5KGlubGluZVN0b3Jh
Z2VVbnNhZmUoKSwgc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpICogc2l6ZW9mKEVuY29kZWRK
U1ZhbHVlKSk7CiAgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0pCisgICAg
eworICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIEFTU0VSVChzdHJ1
Y3R1cmUodm0pLT50b3RhbFN0b3JhZ2VDYXBhY2l0eSgpID09IHN0cnVjdHVyZSh2bSktPmlubGlu
ZUNhcGFjaXR5KCkpOworICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CisgICAgfQogfTsK
IAogSlNfRVhQT1JUX1BSSVZBVEUgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQ
cml2YXRlRnVuY0luc3RhbmNlT2YoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVPYmplY3REZXNj
cmlwdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1RlbXBsYXRlT2JqZWN0
RGVzY3JpcHRvci5oCmluZGV4IGI4Y2ZmYjRiNGU4MTI0OTMxNzgxODVkOGUxMTlkNzZlOGUyNmJi
NTYuLjQwYjU2ZmIxZjFhMzJlYzNiM2YwMzBhY2Q2YWU0NDEwNDQzZTU0ZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVGVtcGxhdGVPYmplY3REZXNjcmlwdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUZW1wbGF0ZU9iamVjdERl
c2NyaXB0b3IuaApAQCAtNTcsMTIgKzU3LDExIEBAIHB1YmxpYzoKIAogICAgIGludCBlbmRPZmZz
ZXQoKSBjb25zdCB7IHJldHVybiBtX2VuZE9mZnNldDsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKLQogcHJpdmF0ZToKICAgICBKU1RlbXBsYXRlT2Jq
ZWN0RGVzY3JpcHRvcihWTSYsIFJlZjxUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3I+JiYsIGludCk7
CiAKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworCiAgICAgUmVmPFRlbXBsYXRl
T2JqZWN0RGVzY3JpcHRvcj4gbV9kZXNjcmlwdG9yOwogICAgIGludCBtX2VuZE9mZnNldCB7IDAg
fTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCmluZGV4IDM0YTgwNmE1OGUxMTU1MGIzYmQ2NjQ5
NzhmZTM2NWRkYTNhOTEyYTEuLmFhOGNkZTU5MTEzNWYyMGM1MzAzMTQ0NmNjYjRiOGFjYzQ4YzA2
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zNCwxMyArMzQsOCBAQCBjbGFzcyBHZXR0
ZXJTZXR0ZXI7CiAKIGNsYXNzIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEludGVybmFsRnVu
Y3Rpb24gQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSW50ZXJuYWxGdW5jdGlvbjsKIAotcHJvdGVj
dGVkOgotICAgIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGUqLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpOwotCi1wdWJsaWM6
CiAgICAgc3RhdGljIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVHlw
ZWRBcnJheVZpZXdQcm90b3R5cGUqIHByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3lt
Ym9sKQogICAgIHsKICAgICAgICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKiByZXN1bHQg
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I+
KHZtLmhlYXApKSBKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CkBA
IC01MSw2ICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
IHByb3RvdHlwZSk7CisKK3ByaXZhdGU6CisgICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2ll
c1N5bWJvbCk7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90
b3R5cGUuaAppbmRleCBkMzhkOGI5NDExN2IyMTE3NjA2Zjk0YzBiYTIyNGYxZGM5YmZlY2NhLi43
MmJiOTM0YjJkYTJlZWIxMjljYWY3ODNlZTAyM2VkNmI0NWQwZTA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZS5oCkBAIC00MCwxNiArNDAsMTUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gJnZtLnBsYWlu
T2JqZWN0U3BhY2U7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNUeXBlZEFycmF5Vmlld1By
b3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCopOwotCi1wdWJsaWM6CiAgICAgc3RhdGljIEpTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAKICAg
ICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
Vk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworcHJpdmF0ZToKKyAg
ICBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3
KEpTR2xvYmFsT2JqZWN0KiwgQ2FsbEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXRoT2JqZWN0LmgKaW5kZXggZTVmMmZmMWY4NTZjMDcxNGI1ZWI4NjJkNzhhMDFmNTM4
YTNiYWJlZC4uY2Q0ZTY0N2QxZDk1MzM5ZWZjOTc2NjUzZmQwMmFkYTRiY2E3MzE3MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaApAQCAtMjUsOSArMjUsNiBA
QAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIE1hdGhPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIE1hdGhPYmplY3QoVk0mLCBTdHJ1Y3R1cmUq
KTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwogCkBAIC01
Miw3ICs0OSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBNYXRo
T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9OYXRpdmVFeGVjdXRhYmxlLmgKaW5kZXggOWYwNDNmYWQyZTYzYWFiZTRiYjYyYjVhZDc0OGZl
YmQ2ZmY0ZTUyZi4uNzY2Yzk2YWQ0MDQ5NjJiZjRmYTczYTE5ODFhYjg1OTg1YzE0MmM1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhlY3V0YWJsZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaApA
QCAtNzYsMTEgKzc2LDkgQEAgcHVibGljOgogICAgIGNvbnN0IERPTUpJVDo6U2lnbmF0dXJlKiBz
aWduYXR1cmVGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCkgY29uc3Q7CiAgICAgSW50cmluc2lj
IGludHJpbnNpYygpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIFJlZjxKSVRDb2RlPiYmIGNhbGxUaHVuaywgUmVmPEpJVENvZGU+JiYgY29uc3RydWN0
VGh1bmssIGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KIHByaXZhdGU6CiAgICAgTmF0aXZlRXhlY3V0
YWJsZShWTSYsIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uLCBUYWdnZWROYXRpdmVGdW5jdGlvbiBjb25z
dHJ1Y3Rvcik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZjxKSVRDb2RlPiYmIGNh
bGxUaHVuaywgUmVmPEpJVENvZGU+JiYgY29uc3RydWN0VGh1bmssIGNvbnN0IFN0cmluZyYgbmFt
ZSk7CiAKICAgICBUYWdnZWROYXRpdmVGdW5jdGlvbiBtX2Z1bmN0aW9uOwogICAgIFRhZ2dlZE5h
dGl2ZUZ1bmN0aW9uIG1fY29uc3RydWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCAwNjU3YzFmMWIzNDA3ZDRkNDU4ODc5
MDZmNmVmNDIwZTNmMDVjNTYyLi5mMjk5YWZiZTM5YzY2NmNiNDE2MmMxYjM1Njg5ZDQzYjM2MTcw
NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmgKQEAgLTU3LDExICs1Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHN0ZDo6
aXNmaW5pdGUobnVtYmVyKSAmJiB0cnVuYyhudW1iZXIpID09IG51bWJlcjsKICAgICB9CiAKLXBy
b3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTnVtYmVyUHJvdG90eXBlKik7
Ci0KIHByaXZhdGU6CiAgICAgTnVtYmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTnVtYmVyUHJvdG90eXBlKik7CiB9OwogU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoTnVtYmVyQ29uc3RydWN0b3IsIEludGVybmFs
RnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9O
dW1iZXJQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclBy
b3RvdHlwZS5oCmluZGV4IDJhY2ZkMTEzMjEzN2Q0OTRlYjNiYTIyNGZiMTRhYTEzYzRkZTA2Zjku
LjNlMDgzZWEzOGU0YjUyZDNlNTNmYmQ1YzBjMWY2YTc3YmIxMWUxZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oCkBAIC00MywxMSArNDMs
OSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE51bWJlck9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBOdW1iZXJQcm90b3R5
cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShOdW1i
ZXJQcm90b3R5cGUsIE51bWJlck9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCmluZGV4IDZhYWI2ZDdhNWNkMjcwYjEwMDE4
YTU5ZjE0NjI2N2U5ODM4Y2U2OWIuLmRlNDM2Yzg5ZTA0M2I3NWNkZTE4ZjJhYjFkZmNjNzNjOWUx
ZGY2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuaApAQCAtNTMsMTEgKzUzLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhJbnRl
cm5hbEZ1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIE9i
amVjdFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIE9iamVjdENvbnN0cnVjdG9yKFZNJiwg
U3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgT2JqZWN0UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoT2JqZWN0Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5oCmluZGV4IDU2YjVjYjAx
ODk1NGE2ZDc4NjY2ZDQ2MmRiOWMzN2NhYTk1ZDczNmIuLjJkZjZkNmUyMWJjMTk0Mzc5OTliZGVh
ZmFhZWQyZjU5NjVjODkwZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09iamVjdFByb3RvdHlwZS5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQog
cHJpdmF0ZToKICAgICBPYmplY3RQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKIEpTX0VYUE9SVF9Q
UklWQVRFIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9TdHJp
bmcoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enpl
ckFnZW50LmgKaW5kZXggZDQyMmVhZDA1MTUwOTE3MmJkZjg5Nzc2YzE1MDFmNzhjMDMwYWNhZi4u
NjE3MDI4ZDkyYzY0MTQ4Y2JjMTMxMjFiODNkNzU0NjRiZDBlMjEzOSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFn
ZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVD
cmVhdGluZ0Z1enplckFnZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUHJlZGljdGlvbkZp
bGVDcmVhdGluZ0Z1enplckFnZW50IGZpbmFsIDogcHVibGljIEZpbGVCYXNlZEZ1enplckFnZW50
QmFzZQogcHVibGljOgogICAgIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudChWTSYp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFNwZWN1bGF0ZWRUeXBlIGdldFByZWRpY3Rp
b25JbnRlcm5hbChDb2RlQmxvY2sqLCBQcmVkaWN0aW9uVGFyZ2V0JiwgU3BlY3VsYXRlZFR5cGUg
b3JpZ2luYWwpIG92ZXJyaWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVmbGVjdE9iamVjdC5oCmluZGV4IDc0MzhlNDhiNGE5NTBhMmRjMWRjZmVkOWJjZTQwYmQy
MWU5ZDU4ZTguLjc0MTE5NDcwMjc5ZWZiMmFhMTc2MzlmNDFjNmM0NzQ4YmM1MjJlZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgKQEAgLTMwLDkg
KzMwLDYgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBSZWZsZWN0T2JqZWN0IGZpbmFsIDog
cHVibGljIEpTTm9uRmluYWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBSZWZsZWN0T2JqZWN0KFZN
JiwgU3RydWN0dXJlKik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9i
amVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwpAQCAtNTgsNyArNTUs
OCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgUmVmbGVjdE9iamVj
dChWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2Jh
bE9iamVjdCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAppbmRl
eCBmYWYwMjg5Y2JiMjFhNzU3ZjM4ZmFiZDkyZWNjNDE4NmQ1M2ZkZDY1Li5kZDJlMWVmN2JjZWE5
NmViOWUyY2Q2ZWI1ZTNmYmVlY2FlMTZmN2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHAuaApAQCAtMTM5LDEyICsxMzksMTAgQEAgcHVibGljOgogCiAgICAgUmVnRXhwS2V5
IGtleSgpIHsgcmV0dXJuIFJlZ0V4cEtleShtX2ZsYWdzLCBtX3BhdHRlcm5TdHJpbmcpOyB9CiAK
LXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIFJlZ0V4cENhY2hlOwogICAgIFJlZ0V4cChWTSYsIGNvbnN0IFN0cmlu
ZyYsIE9wdGlvblNldDxZYXJyOjpGbGFncz4pOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
KTsKIAogICAgIHN0YXRpYyBSZWdFeHAqIGNyZWF0ZVdpdGhvdXRDYWNoaW5nKFZNJiwgY29uc3Qg
U3RyaW5nJiwgT3B0aW9uU2V0PFlhcnI6OkZsYWdzPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGM0MDVlYmU5M2FhMmE1
ZTg0NTYxYTUwMDM4ZjIzZjBiM2FiZDZmNDcuLmVmNzk4ODllM2E1ZDczY2M2YzY0MTA4YWY3YzFk
NTIxZTUyZDZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwQ29uc3RydWN0b3IuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFS
RV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZ0V4
cFByb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llcyk7Ci0KIHByaXZhdGU6CiAgICAgUmVn
RXhwQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgUmVnRXhwUHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzKTsKIH07CiBTVEFU
SUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShSZWdFeHBDb25zdHJ1Y3RvciwgSW50ZXJu
YWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2Jq
ZWN0LmgKaW5kZXggODU3Y2EyZTcyYWYzNDBlYWUzNjU3MDFkNTVjYTA3ZWQ4M2UwYjE4My4uNzFi
Zjk4YjJmMzIyOWU1NmU1ZmMxYjY0ZWNhYWJiMGE1ZTk5MDllYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBzaXplb2YoUmVnRXhwT2JqZWN0KTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVnRXhwT2JqZWN0KFZNJiwg
U3RydWN0dXJlKiwgUmVnRXhwKik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogCkBAIC0xNTAsNyArMTUwLDYgQEAgcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGdldEdlbmVyaWNQcm9wZXJ0eU5hbWVzKEpTT2JqZWN0
KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNP
YmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNj
cmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CiAKLXByaXZhdGU6CiAgICAgTWF0Y2hSZXN1bHQg
bWF0Y2hJbmxpbmUoSlNHbG9iYWxPYmplY3QqLCBKU1N0cmluZyopOwogCiAgICAgdWludHB0cl90
IG1fcmVnRXhwQW5kTGFzdEluZGV4SXNOb3RXcml0YWJsZUZsYWcgeyAwIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5oCmluZGV4IGY2ZDUxZWNl
YThkYzg1ZDE0NmQ5YmY2ZDQxZjRkMGJmMzA3YThiYzEuLmZlMTJjOWM0ZDI4NjUzNTJiODY0OWRm
NzYwZmI1ZWIwNmI4MmYxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cFByb3RvdHlwZS5oCkBAIC01MSwxMCArNTEsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJ
bmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKLSAgICBSZWdFeHBQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHJpdmF0ZToK
KyAgICBSZWdFeHBQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKaW5kZXggNTM3YjBkMWM0ZDc5NGE2OTQz
NjkzMzRiOTI5OTJhZDE3YTNkMDZmYS4uZDEzMjFiNTQzMDkwYzFmZTFmZGM1NDEyMGVkZWU2ZmRi
NzE1ODRhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmgKQEAgLTMwLDkgKzMwLDYgQEAgY2xhc3MgUmVnRXhwOwogY2xhc3MgUmVnRXhwT2Jq
ZWN0OwogCiBjbGFzcyBTdHJpbmdQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgU3RyaW5nT2JqZWN0
IHsKLXByaXZhdGU6Ci0gICAgU3RyaW5nUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1
YmxpYzoKICAgICB1c2luZyBCYXNlID0gU3RyaW5nT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0
YXRpY1Byb3BlcnR5VGFibGU7CkBAIC00Niw3ICs0Myw4IEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfSU5GTzsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBTdHJpbmdQcm90b3R5cGUoVk0m
LCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1N0cmluZyopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KFN0cmluZ1Byb3RvdHlwZSwgU3RyaW5nT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmgKaW5kZXggMWRiZGMwYzI3MWNiMzIxYmJmYjhlMTM0M2I5MjFkNjRm
ZDkyOTZhMS4uNWJhM2Q5NzI0MzRkMTFjMGEwOTJiZWJmYTlhNzUyODBhMDIwNmRlNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAgLTE0Niw3ICsxNDYsNyBA
QCBwdWJsaWM6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc1ZhbGlkUHJv
dG90eXBlKEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mIHZtKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaAppbmRleCA1MzBmZTUyM2ViNjYx
YzVlMTZmZDJkNTkyZWY3NzZlODc1MjQwNTM3Li40OTg5OGFkOTEzNjBmNGFmMzNiOTRhNjZiYjg4
YTAzZjA1YmNkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
eW1ib2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2wuaApAQCAt
NzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoU3lt
Ym9sLCBtX3ByaXZhdGVOYW1lKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
c3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogICAgIFN5bWJvbChWTSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgKaW5kZXgg
MTk0YTQ0ZWE0YmZmYTBiOTZiMzA1NzIwMjEyYzkzOWE4ZjMxNTNiNC4uNjM5NTM3ZDljZGZkYWVk
MDZlODAxNGQyMWI3MmE5N2E5NmQ0MTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC01MiwxMSArNTIsOSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IFN5bWJvbFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFN5bWJvbENvbnN0cnVjdG9yKFZN
JiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5bWJvbFByb3Rv
dHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFN5bWJvbENv
bnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TeW1ib2xPYmplY3QuaAppbmRleCA5Y2U0ODBjZGI2MDc4YjRjZDlkNDE2Yzg2MDc4
NTVjNTBmZmNiNDgyLi45NzcyYWIzMzg5OTRjYjFkOGFmMDdiYjRhZmJjZTA1MjhiNjk2MjIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaApAQCAtNjQs
NyArNjQsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nTmFtZShjb25z
dCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFN5bWJvbCopOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIFN5bWJvbE9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKaW5k
ZXggZTIzNWYxMjQ4Y2EwNGE1MTQwMTczYmRiODE0MTIzNTc3OTIzNDM5MC4uODhhMmQ3ZGY5Y2Rj
MWFlM2IwMTE0NzQ2Zjk2ZWZmMjc1ZjhhOTdlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAg
fQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFN5bWJvbFByb3RvdHlwZShWTSYsIFN0cnVj
dHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKaW5kZXggODQ0OWQ0
NTdhZTUwOTNlMmE4YzdmMjhlNjY5Mzc5YTE1MjA4OTY3NC4uNGZjOTA3YWM0MjY2ZTliYzNhYjEx
YTgxMTUxYzMyOGRhZTgzOWM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk1UcmFwcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1U
cmFwcy5jcHAKQEAgLTI0NCw3ICsyNDQsNyBAQCBwdWJsaWM6CiAKICAgICBWTVRyYXBzJiB0cmFw
cygpIHsgcmV0dXJuIG1fdm0udHJhcHMoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IFBvbGxSZXN1bHQgcG9sbChjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlCiAgICAgewog
ICAgICAgICBpZiAodHJhcHMoKS5tX2lzU2h1dHRpbmdEb3duKQpAQCAtMjg4LDggKzI4OCw2IEBA
IHByb3RlY3RlZDoKICAgICAgICAgfQogICAgICAgICByZXR1cm4gV29ya1Jlc3VsdDo6Q29udGlu
dWU7CiAgICAgfQotICAgIAotcHJpdmF0ZToKIAogICAgIFZNJiBtX3ZtOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0UmVnRXhwLmNwcAppbmRleCA2N2IxNTUzMDg3N2UzOTYxYjZjMTZkZjgyN2E5
MmQ0ZGUwYjc5YTA4Li5iMmRiNjZkODE0NzM4YzJkN2U0NWVlNjg2MWZjNGI5ZmU5MDM2YzU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCkBAIC0xMDMsOSArMTAzLDYgQEAgc3Ry
dWN0IFJlZ0V4cFRlc3QgewogfTsKIAogY2xhc3MgR2xvYmFsT2JqZWN0IGZpbmFsIDogcHVibGlj
IEpTR2xvYmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0
dXJlKiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cyk7Ci0KIHB1YmxpYzoKICAgICB1
c2luZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CiAKQEAgLTEyNCw3ICsxMjEsOSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgMCwgcHJvdG90eXBlLCBUeXBl
SW5mbyhHbG9iYWxPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEdsb2JhbE9iamVjdChWTSYsIFN0cnVjdHVyZSos
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpOworCiAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMpCiAgICAgewogICAg
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbUJCUVBsYW4uaAppbmRleCA1ZTJkZmRmZmM2MzAxYTU2Mjc0MGNmY2MyZTc0MWQ0ZjM2M2Jm
ODI1Li4yOTRhNzQzMDkxNTFjOTM4N2RlMWJkYTNkNGZjMjIwY2I4Nzc1YmFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKQEAgLTc1LDEyICs3NSwxMSBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBCYXNlOjpwYXJzZUFuZFZhbGlkYXRlTW9kdWxlKG1fc291cmNl
LmRhdGEoKSwgbV9zb3VyY2Uuc2l6ZSgpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgYm9vbCBwcmVwYXJlSW1wbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGlsZUZ1bmN0
aW9uKHVpbnQzMl90IGZ1bmN0aW9uSW5kZXgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQ29tcGxl
dGVDb21waWxhdGlvbihjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlOwogCi1wcml2YXRl
OgogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiBjb21waWxlRnVuY3Rpb24o
dWludDMyX3QgZnVuY3Rpb25JbmRleCwgQ29tcGlsYXRpb25Db250ZXh0JiwgVmVjdG9yPFVubGlu
a2VkV2FzbVRvV2FzbUNhbGw+JiwgVGllclVwQ291bnQqKTsKIAogICAgIFZlY3RvcjxzdGQ6OnVu
aXF1ZV9wdHI8SW50ZXJuYWxGdW5jdGlvbj4+IG1fd2FzbUludGVybmFsRnVuY3Rpb25zOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oCmluZGV4IDQyZGU4MTMzYjcy
ZmM1ZmU1MTk5YzE5ZjZlMzIzZTllMzdiMWM4ZTEuLjkzMzViM2EwNWI4MGNhZTQ1ZGI4OWNjYzQ4
YzViYzE5YzFkNWVkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21MTEludFBsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQ
bGFuLmgKQEAgLTc1LDEyICs3NSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGRpZFJlY2VpdmVG
dW5jdGlvbkRhdGEodW5zaWduZWQsIGNvbnN0IEZ1bmN0aW9uRGF0YSYpIG92ZXJyaWRlOwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcHJlcGFyZUltcGwoKSBvdmVycmlkZTsKICAg
ICB2b2lkIGNvbXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4KSBvdmVycmlkZTsK
ICAgICB2b2lkIGRpZENvbXBsZXRlQ29tcGlsYXRpb24oY29uc3QgQWJzdHJhY3RMb2NrZXImKSBv
dmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9u
Q29kZUJsb2NrPj4gbV93YXNtSW50ZXJuYWxGdW5jdGlvbnM7CiAgICAgY29uc3QgUmVmPExMSW50
Q2FsbGVlPiogbV9jYWxsZWVzIHsgbnVsbHB0ciB9OwogICAgIFZlY3RvcjxSZWY8TExJbnRDYWxs
ZWU+PiBtX2NhbGxlZXNWZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtV29ya2xpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVdv
cmtsaXN0LmNwcAppbmRleCA0YjU5NmQxYmVhYjkyYmZiZjRiNWFkMjIyOTMzMjNhMGFjMjIzYTVi
Li5mY2FiNDQxMTMyOGE0YWFkNDg1ZjgzNTlhOTVmNGU3YmJmOTA4NmJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgcHVi
bGljOgogCiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFBvbGxSZXN1bHQgcG9s
bChjb25zdCBBYnN0cmFjdExvY2tlciYpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBhdXRvJiBx
dWV1ZSA9IHdvcmtsaXN0Lm1fcXVldWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5LmgKaW5kZXggNmE3ZjczYzQ0NzIwZjA3MTIzNzQ1NTc3NTk0NmZmNjE1
MjJhMzgxZS4uMzZmNzJkNTcxODlmYzYzNjE5YjJhOGRjMDUzMmZhZWFkOTU2Y2E4YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHkuaApAQCAtNTMsMTEg
KzUzLDkgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIHdlYkFz
c2VtYmx5TW9kdWxlSW5zdGFudGluYXRlQXN5bmMoSlNHbG9iYWxPYmplY3QqLCBKU1Byb21pc2Uq
LCBWZWN0b3I8dWludDhfdD4mJiwgSlNPYmplY3QqKTsKICAgICBzdGF0aWMgSlNWYWx1ZSBpbnN0
YW50aWF0ZShKU0dsb2JhbE9iamVjdCosIEpTUHJvbWlzZSosIGNvbnN0IElkZW50aWZpZXImLCBK
U1ZhbHVlKTsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCopOwotCiBwcml2YXRlOgogICAgIEpTV2ViQXNzZW1ibHkoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07
CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlDb21waWxlU3RyZWFt
aW5nSW50ZXJuYWwoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3Iu
aAppbmRleCA5ZjRhZDg4MTczNGJjMzVhZjMzMDllMDI1MThiMjEwMDkyZTk1MGM5Li43MmZkMDRl
ZTc2MDAyNDM4MTZkYWQ2NDc5NzQ4YTZiMDExNDE1OWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKFZNJiwgU3RydWN0dXJl
Kik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJs
eUNvbXBpbGVFcnJvciwgRXJyb3JJbnN0YW5jZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGIyY2MyYWY3OTlh
NDZkMTYxM2U2YjJmNGUwMmJhMDYwMjI1MjQzMGMuLmJmNDdkMDYyMTcxN2Q4OWFiYzg3MGEyY2Ni
ZWMzMjJmMDkwMjQ5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCkBAIC0xMDEsMTIgKzEwMSwxMSBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZkdsb2JhbE9iamVjdCgpIHsgcmV0dXJuIE9CSkVD
VF9PRkZTRVRPRihKU1dlYkFzc2VtYmx5SW5zdGFuY2UsIG1fZ2xvYmFsT2JqZWN0KTsgfQogICAg
IHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZWTSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dl
YkFzc2VtYmx5SW5zdGFuY2UsIG1fdm0pOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
SlNXZWJBc3NlbWJseUluc3RhbmNlKFZNJiwgU3RydWN0dXJlKiwgUmVmPFdhc206Okluc3RhbmNl
PiYmKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNXZWJBc3NlbWJseU1vZHVsZSos
IEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0Kik7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJl
bihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi1wcml2YXRlOgogICAgIFJlZjxXYXNtOjpJbnN0
YW5jZT4gbV9pbnN0YW5jZTsKICAgICBWTSogbV92bTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCmluZGV4IDU1YjFk
MDg4ZmUwNWUzZjc2MjZmN2EzM2FlOGM5OGRjZmI2ZGFkOTYuLjcxNzM3ZGNiNTU2YjI0OTZmN2Rh
ZjNlNzIyMTZiNTFmY2MwZmIyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpT
V2ViQXNzZW1ibHlMaW5rRXJyb3IoVk0mLCBTdHJ1Y3R1cmUqKTsKIH07CiBTVEFUSUNfQVNTRVJU
X0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCBFcnJvckluc3Rh
bmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3IuaAppbmRleCAxNWVmOWI3MjViMzQxZWJhZjZlYzk3NzY3ZjMy
NDc4OTg1ODk4MDVjLi5kNDBiYmQwZDQ0M2M0MGFiMGEzNTJmZDhjODI1NThlMDM4NmU4M2IwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvci5oCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKIAogICAgIERFQ0xB
UkVfSU5GTzsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yKFZNJiwgU3RydWN0dXJlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgRXJyb3JJbnN0YW5jZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVF
cnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggMzJiMDI4YzA3MTQ3MzdjNmM3MmQ2
ZDlmMTY1MzYwZDA2N2Q2YWMyNS4uMDVkYjQ4YzNlODk3M2Y0OWZmNThkNGRiNGJkN2MxZWI5NGQ0
NGQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNDQsMTEgKzQ0
LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlKik7
Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3RvcihWTSYs
IFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rp
b24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaAppbmRleCBhNmMzZDQ0M2FiNzcy
NTA1ZjYzNDY1M2ViODYxNmRiN2I1NzUxOTNiLi41NmRkNDgyNWNkOTRhM2U1MWFlNzkzYzQ0Yjgx
OThkYTY4Zjg3NDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmgKQEAgLTQ5LDEx
ICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rv
ci5oCmluZGV4IDdmY2ZlZTQ4MDVmN2E1NTU2NWQ2NDdjOTA1Mzc2ZWE2MGI4YzIyYzQuLmEwZmU3
ODNiZjUxY2QyZjkxOWViZjQwNDQ3ZmRkN2Y1NTcwZTJjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENvbnN0cnVj
dG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUdsb2Jh
bFByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0
b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNz
ZW1ibHlHbG9iYWxQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShXZWJBc3NlbWJseUdsb2JhbENvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlH
bG9iYWxQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlLmgKaW5kZXggMmE5ODQ1NjNjMzFhZmI0OWY0ZWYwYmMyYjA2YTEw
ZTljNDVhZTFhOC4uYWM1YmU4YTBjZWFhMmRjY2JiYzNhNzBiNzZjMWQ0MTdlMDlhODg2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eUdsb2JhbFByb3RvdHlwZS5oCkBAIC00OCwxMSArNDgsOSBAQCBwdWJsaWM6CiAKICAgICBERUNM
QVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNH
bG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUdsb2JhbFByb3RvdHlw
ZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2Jh
bE9iamVjdCopOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1
Y3Rvci5oCmluZGV4IGNkMWViZTNlYTc3N2ZhYzYwYjIwZThmNTU4YzM0Mzk4YTVhNjY4YmEuLjFk
YTFjODBhMTY4Zjc5MTU5NTg0OTRlYWZlYzFjYTQyN2QyNDA5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VD
b25zdHJ1Y3Rvci5oCkBAIC00OCwxMSArNDgsOSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSlNX
ZWJBc3NlbWJseUluc3RhbmNlKiBjcmVhdGVJbnN0YW5jZShKU0dsb2JhbE9iamVjdCosIEpTV2Vi
QXNzZW1ibHlNb2R1bGUqLCBKU09iamVjdCogaW1wb3J0T2JqZWN0LCBTdHJ1Y3R1cmUqKTsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseUluc3Rh
bmNlUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlJbnN0YW5jZUNvbnN0
cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdl
YkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUluc3RhbmNlQ29uc3RydWN0b3IsIEludGVybmFsRnVu
Y3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmgKaW5kZXggMjcxMmIyNzQ0MzUwZDk3MTg4
NDlhZjdmN2M1NTQxYTNkYTBjOTRiOC4uNTE1YjBjZGIxMjk0YTM2ZTQ2NTY0M2I2MWU0MWQ3ZGJm
MDg2YTY0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVi
bGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5
cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuaAppbmRleCA1
OTM3YmE3NWRiZjY1NGU0MTNlNGZmNzEwNWQzOTRiYmQ1NTdkMTlmLi40MjY1NzMxYzdiNTgxZjNh
ZWFhYWE1MWM3Njk3MDQ3MmVkZDAzMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5o
CkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3Rl
Y3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQ
cm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVj
dG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFz
c2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5j
dGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oCmluZGV4IDE4MzEwYzM1YjAzZTNjODFj
MmRjY2YyMjBjZTNhMmYwN2VmY2MzYTYuLmU5ZjkyMmU3MjdmODIwYmJkYmRhZTExZTE3YTFkMDI0
NjI2ZjA3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaApAQCAtNDksMTEgKzQ5LDkgQEAg
cHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJv
dG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmgKaW5kZXggM2Vi
ZTNkNDFjNDA0Mzg5ZjNkZjk5YzRkZGVlMGQwYWU0NjYwZmNkYi4uYTljY2IxYjhlYWMxOGQxYzE3
ZWY0OGZmODlhZjM2ZjUxZjY2MjYxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuaApAQCAtNDQs
MTEgKzQ0LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlKik7
Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3RvcihWTSYsIFN0cnVj
dHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseU1lbW9yeVBy
b3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFz
c2VtYmx5TWVtb3J5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90
b3R5cGUuaAppbmRleCA4MjYwMjc2NGFjNDhmZDJjY2VmNWVmYWM4ZmQ1MTBhOTZmY2VkZjkxLi5m
ZTQ1NTdmNTk4NjFjMTEyNzE1MGY2ZTVmNzBmNWY1ZDhlN2ZhYjg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90
eXBlLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAot
cHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAg
ICBXZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVD
b25zdHJ1Y3Rvci5oCmluZGV4IDUxZDU0NWVlNzE1NjgyYzBhM2RiY2Y2ZDY4OTVhNDc4YWJhZTcw
NmIuLjI5YzljNmI3N2UxYjY4NWVhZmQzZmIzZmYyNTA5MTdhN2Y3NzRhM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVs
ZUNvbnN0cnVjdG9yLmgKQEAgLTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBK
U1dlYkFzc2VtYmx5TW9kdWxlKiBjcmVhdGVNb2R1bGUoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJh
bWUqLCBWZWN0b3I8dWludDhfdD4mJiBidWZmZXIpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5TW9kdWxlUHJvdG90eXBlKik7Ci0KIHByaXZh
dGU6CiAgICAgV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZSop
OwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5TW9k
dWxlQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaApp
bmRleCA3MTk2ZDFlYzc0ODI0NjVlNWRlMDA1ZTRjNzUzYjA2YTNkN2NhZjU5Li4xZGJjYTk5YTYz
ZmY2YzdmYWE2MWU1OTlmNWI4ZWE0MTUzZjIwMjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVByb3RvdHlwZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUHJvdG90eXBlLmgKQEAg
LTQ5LDExICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVk
OgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3Nl
bWJseU1vZHVsZVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJy
b3JDb25zdHJ1Y3Rvci5oCmluZGV4IDc2MTRmMjg5NTRlYWI0Mjg4NzA2OTg3ZmVhODBmOTc5MjM4
ODU2MzMuLmYzMTJjZmZhMDQ0ZWFkOGNmMjNhNGExZTA3ZWQ0MDFmZDEzYmQ4MjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9y
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoK
IAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZSopOwotCiBwcml2YXRlOgog
ICAgIFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90
b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJy
b3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
UnVudGltZUVycm9yUHJvdG90eXBlLmgKaW5kZXggYTE0MjBiZDVlYTgzNzRhOTY0OWUxYWE2ZmZl
YTI0OGEyMTJjZDNjYy4uMzJmZDYzYzhhMDIyMjk2NTc5MzA2YjQ5MTMwYTM2NTk2NjhmYzg1YiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJs
aWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90
b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmgKaW5kZXggY2ZmZjY5
MTczY2UwZjE5MTQ4MWNmYzg2YTI3ZDAxYTYxZTRhYTEwMi4uMjM3MDQ1MDc4NDcxZWVlOWYxNTcw
YjAwMjZiYTdmNWQ5MmExNGM2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0
NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlKik7Ci0KIHBy
aXZhdGU6CiAgICAgV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUq
KTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseVRh
YmxlQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmgKaW5k
ZXggYjcxYmQ5YzAxYTM5MzViMDFmM2Q0MTcxYzY0ZjhiMmFkMDU5MDE0My4uOTIxZGQzNjYyZmFk
OTJmYjZhN2FkMTQ2OGE1MWVhMWU0MjM1YjhmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaApAQCAtNDks
MTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5
VGFibGVQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oCmluZGV4
IDUyOThlYjE5YzU5MjYzNzY3NjFkM2QxYWJiYzAyOWU0Nzc2OTgwNTIuLmVkZTkzYWRkOTI0NGFl
NzhkNzcxNzhhYTMzOTlhYTM4MTYxMDRhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaApAQCAtNTYs
MTMgKzU2LDEwIEBAIHB1YmxpYzoKICAgICBXYXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9uIGlt
cG9ydGFibGVGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW1wb3J0YWJsZUZ1bmN0aW9uOyB9
CiAgICAgSlNPYmplY3QqIGZ1bmN0aW9uKCkgeyByZXR1cm4gbV9mdW5jdGlvbi5nZXQoKTsgfQog
Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOwotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFi
bGUqLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSwgSlNPYmplY3QqLCBKU1dl
YkFzc2VtYmx5SW5zdGFuY2UqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseVdyYXBwZXJG
dW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSosIFdhc21Ub1dhc21JbXBvcnRhYmxlRnVuY3Rpb24pOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcm
IG5hbWUsIEpTT2JqZWN0KiwgSlNXZWJBc3NlbWJseUluc3RhbmNlKik7CisgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PiBtX2Z1bmN0aW9uOwogICAgIC8vIEl0J3Mgc2FmZSB0byBqdXN0IGhvbGQg
dGhlIHJhdyBXYXNtVG9XYXNtSW1wb3J0YWJsZUZ1bmN0aW9uIGJlY2F1c2Ugd2UgaGF2ZSBhIHJl
ZmVyZW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaAppbmRleCA4MTdj
MjFlY2FiMWFkYTA4M2E3Y2NhNmFkNDE3Y2IyZmU3N2MwOTQ2Li4xMDZjMWZhZjJlNDRlMjcwMjg3
YWIwMTA2ZWQyNmU1ZGJjNTNkZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVk
RXZlbnQuaApAQCAtNDYsMTMgKzQ2LDEyIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEFwcGxlUGF5
UGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCgpIHsgcmV0dXJuIG1fcGF5bWVudE1ldGhvZDsg
fQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVj
dGVkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGF5bWVudE1ldGhvZCYpOwog
CiAgICAgLy8gRXZlbnQuCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25z
dCBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBjb25zdCBBcHBsZVBheVBheW1lbnRNZXRob2Qg
bV9wYXltZW50TWV0aG9kOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oCmluZGV4
IDAzODBjNzEwMDU2ZGJiYzBhMjRiYzhmYjBjN2M3MmQwYjkwZWEwYjEuLjVjOTk4NmQxYmJhZGVh
OGI2ZDk2MmE3ZmU0ZTA3NmQyNWIyNTk5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50
LmgKQEAgLTQ0LDEzICs0NCwxMiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIHZhbGlk
YXRpb25VUkwoKSBjb25zdCB7IHJldHVybiBtX3ZhbGlkYXRpb25VUkwuc3RyaW5nKCk7IH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBVUkwmJiB2YWxpZGF0aW9uVVJMKTsKIAogICAgIC8vIEV2
ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLXByaXZhdGU6CiAgICAgY29uc3QgVVJMIG1fdmFsaWRhdGlvblVSTDsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L0xlZ2Fj
eUNETVNlc3Npb25DbGVhcktleS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmgKaW5kZXggYmM3NzdmMGNiYzhj
ZTdiODllOTQzYjhhNjNlNGU2ZTgyODliMzhjZi4uZmU1MzQ1OTFhZDdkNTYwMGM0MTlmYWM3OTcw
NGM0MWQ2NjcxYjQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFy
S2V5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIGJvb2wgdXBkYXRlKFVpbnQ4QXJy
YXkqLCBSZWZQdHI8VWludDhBcnJheT4mLCB1bnNpZ25lZCBzaG9ydCYsIHVpbnQzMl90Jikgb3Zl
cnJpZGU7CiAgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBjYWNoZWRLZXlGb3JLZXlJRChjb25zdCBT
dHJpbmcmKSBjb25zdCBvdmVycmlkZTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBMZWdh
Y3lDRE1TZXNzaW9uQ2xpZW50KiBtX2NsaWVudDsKICAgICBSZWZQdHI8VWludDhBcnJheT4gbV9p
bml0RGF0YTsKICAgICBIYXNoTWFwPFN0cmluZywgVmVjdG9yPHVpbnQ4X3Q+PiBtX2NhY2hlZEtl
eXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93
bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5k
ZXggZGQyMWU1NTY2Y2E0ODA3ZjgzMzE4ZjMyMzc5NjBlZWZjNjg0OTUyZS4uNDQyMDk2NWY4NTkz
ZWVmOGY2OWViNjYyZGQ0ODcyNDgzNjFiZjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaApAQCAtMTE1LDcgKzExNSw2IEBAIHByaXZhdGU6CiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGZXRjaExvYWRlcj4gbG9hZGVyOwogICAgIH07CiAKLXBy
b3RlY3RlZDoKICAgICBPcHRpb25hbDxGZXRjaEJvZHk+IG1fYm9keTsKICAgICBTdHJpbmcgbV9j
b250ZW50VHlwZTsKICAgICBib29sIG1faXNEaXN0dXJiZWQgeyBmYWxzZSB9OwpAQCAtMTI0LDcg
KzEyMyw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgogICAgIFJlZjxGZXRjaEhlYWRlcnM+IG1faGVh
ZGVyczsKIAotcHJpdmF0ZToKICAgICBPcHRpb25hbDxCbG9iTG9hZGVyPiBtX2Jsb2JMb2FkZXI7
CiAgICAgYm9vbCBtX2lzQm9keU9wYXF1ZSB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5oCmluZGV4IGFlZjhkNjdlNGFk
Y2JkNTc1NGJiMzMwMGIxY2UwOGVlZDY3NzY4ZTkuLjdhZTE2MWExNjJjMzNjYTIyMGZlNmNlMjE1
N2RiZDE1YTg3NDMyOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmlxdWFkRFNQS2VybmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9CaXF1YWREU1BLZXJuZWwuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgZG91Ymxl
IHRhaWxUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgQmlxdWFkIG1fYmlxdWFk
OwogICAgIEJpcXVhZFByb2Nlc3NvciogYmlxdWFkUHJvY2Vzc29yKCkgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8QmlxdWFkUHJvY2Vzc29yKj4ocHJvY2Vzc29yKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmgKaW5kZXgg
NDFlMzY3ZWE1M2ZiNmI2MGRkNDRiOWZiY2IwYjkxNTQ5YzBjZmZkYS4uMTk3OTdkZWJmMjc2OTQ5
YWRhNmJmNWMzYzVlODQ1Y2U4ZTVhNjNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmgKQEAgLTQ4LDcgKzQ4LDcgQEAg
cHVibGljOgogICAgIC8vIE92ZXJzYW1wbGluZyByZXF1aXJlcyBtb3JlIHJlc291cmNlcywgc28g
bGV0J3Mgb25seSBhbGxvY2F0ZSB0aGVtIGlmIG5lZWRlZC4KICAgICB2b2lkIGxhenlJbml0aWFs
aXplT3ZlcnNhbXBsaW5nKCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgLy8gQXBwbHkg
dGhlIHNoYXBpbmcgY3VydmUuCiAgICAgdm9pZCBwcm9jZXNzQ3VydmUoY29uc3QgZmxvYXQqIHNv
dXJjZSwgZmxvYXQqIGRlc3QsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAppbmRl
eCBiMTU5MzAzOGFiM2ZlNTQ5OWYxZDNiMGQzYzkyMDllNjczOGQ5ZGJjLi45OTYwMWEwNWRiZDYx
NGQ5Y2RiYjg0OTQ2NzNiMzg3NzBkYWNkODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTEyNiwxMyArMTI2LDEy
IEBAIHB1YmxpYzoKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCgpOwogICAgIAotcHJvdGVjdGVk
OgotICAgIHZvaWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBvdmVycmlkZSB7IHJl
ZigpOyB9Ci0gICAgdm9pZCBkZXJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJp
ZGUgeyBkZXJlZigpOyB9Ci0KIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgV2ViU29ja2V0
Q2hhbm5lbChEb2N1bWVudCYsIFdlYlNvY2tldENoYW5uZWxDbGllbnQmLCBTb2NrZXRQcm92aWRl
ciYpOwogCisgICAgdm9pZCByZWZUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIG92ZXJyaWRl
IHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBv
dmVycmlkZSB7IGRlcmVmKCk7IH0KKwogICAgIGJvb2wgYXBwZW5kVG9CdWZmZXIoY29uc3QgY2hh
ciogZGF0YSwgc2l6ZV90IGxlbik7CiAgICAgdm9pZCBza2lwQnVmZmVyKHNpemVfdCBsZW4pOwog
ICAgIGJvb2wgcHJvY2Vzc0J1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaAppbmRleCAzNTQ4NzdjNTkzNDFhNGI0NjEwMWExNTMxNGY5MTIxNDdlYjEwYzhhLi4z
NzNlNzBlODlmNmY4MWQ1MzViOTg0YWMyYmYzMDFlNzkwMDA1YWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMTA3LDExICsxMDcsMTAgQEAgcHVibGljOgog
ICAgIHVzaW5nIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+Ojpy
ZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bD46OmRlcmVmOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgcmVmVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwoKSBvdmVycmlkZSB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZlRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKLXByaXZh
dGU6CiAgICAgLy8gQnJpZGdlIGZvciBQZWVyLiAgUnVubmluZyBvbiB0aGUgd29ya2VyIHRocmVh
ZC4KICAgICBjbGFzcyBCcmlkZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxCcmlkZ2U+IHsKICAgICBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vz
c2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaAppbmRl
eCA3OGMyMWNhOWE5Mzc0ZmU4ZGIxNTY0ZmUxYTY4NTQwYTllMTQ2OWY5Li5mMDExNTAxOTdiNjcw
ZGU3MzJlOTZmMGUwN2I3YzY5NjAzNTBlYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJTZXNzaW9uLmgKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kZWQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFy
Z2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gV2ViWFJTZXNzaW9uRXZlbnRU
YXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVj
dDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmgKaW5kZXggZTlhYjE1ZDdhZWE0NDVkMTMzMmZjMjEyYTQ1Njg0NWRj
ZWQ5Y2VlMS4uZDBiZDU0YmRjNjVmZTI5ZWQ5ZTI3MTA5MjBiYzVmNGZiZTY1NjdhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaApAQCAtNTUsNyArNTUsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBpc1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSwgSXNT
ZXNzaW9uU3VwcG9ydGVkUHJvbWlzZSYmKTsKICAgICB2b2lkIHJlcXVlc3RTZXNzaW9uKFhSU2Vz
c2lvbk1vZGUsIGNvbnN0IFhSU2Vzc2lvbkluaXQmLCBSZXF1ZXN0U2Vzc2lvblByb21pc2UmJik7
CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViWFJTeXN0ZW0oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgKaW5kZXggZTdm
YWU5Mjk2ZDkwMzEzNjQ3ZDUxODYyNTE3OTRkZjhkNWEwMWY2Yi4uNDc0ZWNkNjI5N2NlZTVmNWFj
OTk2ODE2OTZjMDc0NWUwYjNiZmE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgKQEAgLTM3LDE1ICszNywx
NCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsPiBj
cmVhdGUoUmVuZGVyT2JqZWN0Kik7CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbCgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxp
dHlBUklBR3JpZENlbGwoUmVuZGVyT2JqZWN0Kik7CisKICAgICAvLyBSZXR1cm5zIHRoZSBzdGFy
dCBsb2NhdGlvbiBhbmQgcm93IHNwYW4gb2YgdGhlIGNlbGwuCiAgICAgc3RkOjpwYWlyPHVuc2ln
bmVkLCB1bnNpZ25lZD4gcm93SW5kZXhSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJl
dHVybnMgdGhlIHN0YXJ0IGxvY2F0aW9uIGFuZCBjb2x1bW4gc3BhbiBvZiB0aGUgY2VsbC4KICAg
ICBzdGQ6OnBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPiBjb2x1bW5JbmRleFJhbmdlKCkgY29uc3Qg
b3ZlcnJpZGU7CiAKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eUFSSUFHcmlk
Q2VsbChSZW5kZXJPYmplY3QqKTsKLQogICAgIEFjY2Vzc2liaWxpdHlUYWJsZSogcGFyZW50VGFi
bGUoKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRSb3dH
cm91cCgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGF4Um93U3BhbldpdGhSb3dJbmRleCh1bnNpZ25l
ZCBpbmRleCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmgKaW5kZXggZjdkM2IzMjVlN2FhZWQ4ZjZhNmY0NzJm
NjYxYjMyN2Y0OWNiMzRhOC4uM2U5YmNmMDdhZWFiZDY3MGQzODA5NjQwZWUwMzE2OTEyMzRiYTI5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2V0
VmFsdWVFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJs
ZVNldFZhbHVlRXZlbnQuaApAQCAtNDEsMTMgKzQxLDEyIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKTsKIAogICAgIC8vIEV2ZW50LgogICAg
IEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
QWNjZXNzaWJsZVNldFZhbHVlRXZlbnRJbnRlcmZhY2VUeXBlOyB9CiAKLXByaXZhdGU6CiAgICAg
Y29uc3QgQXRvbVN0cmluZyBtX3ZhbHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NT
U0FuaW1hdGlvbi5oCmluZGV4IGNiZTBiNDIwYzZjNTYyODEyN2RhYmIyYzc5ZTZmMzdiYzM0MTc1
OGQuLjAzNThiZWZkODFjZGE0Mjk4MDZhYzI1NzA5OTA2YjBiODQwNjgxMzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uLmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYmluZGluZ3NQbGF5KCkgZmluYWw7CiAgICAgRXhjZXB0
aW9uT3I8dm9pZD4gYmluZGluZ3NQYXVzZSgpIGZpbmFsOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBzeW5jUHJvcGVydGllc1dpdGhCYWNraW5nQW5pbWF0aW9uKCkgZmluYWw7Ci0gICAgUmVmPEFu
aW1hdGlvbkV2ZW50QmFzZT4gY3JlYXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBkb3VibGUgZWxhcHNlZFRpbWUsIGNvbnN0IFN0cmluZyYgcHNldWRvSWQsIE9wdGlvbmFsPFNl
Y29uZHM+IHRpbWVsaW5lVGltZSkgZmluYWw7Ci0KIHByaXZhdGU6CiAgICAgQ1NTQW5pbWF0aW9u
KEVsZW1lbnQmLCBjb25zdCBBbmltYXRpb24mKTsKIAorICAgIHZvaWQgc3luY1Byb3BlcnRpZXNX
aXRoQmFja2luZ0FuaW1hdGlvbigpIGZpbmFsOworICAgIFJlZjxBbmltYXRpb25FdmVudEJhc2U+
IGNyZWF0ZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGVsYXBzZWRU
aW1lLCBjb25zdCBTdHJpbmcmIHBzZXVkb0lkLCBPcHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRp
bWUpIGZpbmFsOworCiAgICAgU3RyaW5nIG1fYW5pbWF0aW9uTmFtZTsKICAgICBib29sIG1fc3Rp
Y2t5UGF1c2VkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVh
ZGFibGVTdHJlYW0uaAppbmRleCA5ZmE0ZDk5MDJlYmZjODM4MDc0MGVhZDExNjQwNzZjYmJhOGJh
NjgwLi5hNDMzODljY2UwMWI2M2I4NTcyMDA4ODA1OGJkMTVkY2IyYzY3Nzc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtLmgKQEAgLTUyLDcgKzUyLDcgQEAg
cHVibGljOgogCiAgICAgSlNSZWFkYWJsZVN0cmVhbSogcmVhZGFibGVTdHJlYW0oKSBjb25zdCB7
IHJldHVybiBndWFyZGVkKCk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBSZWFkYWJs
ZVN0cmVhbShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU1JlYWRhYmxlU3RyZWFt
JiByZWFkYWJsZVN0cmVhbSkgOiBET01HdWFyZGVkPEpTUmVhZGFibGVTdHJlYW0+KGdsb2JhbE9i
amVjdCwgcmVhZGFibGVTdHJlYW0pIHsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX3J1bnRpbWUuaAppbmRleCA2MjI5NjM2OGViYjkwYzUwYjlkZTdmYTA3ODJjOWM2ZmEy
ODU5MTk4Li4wNjlhYmUyZTU1ODhhYzU3NDA3ZWJkMDdhMmM2ZjVkNmQ0NTRmN2I4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaApAQCAtMTI0LDExICsxMjQsMTAg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0ds
b2JhbE9iamVjdCopOwotCiBwcml2YXRlOgogICAgIE9iamNGYWxsYmFja09iamVjdEltcChKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIE9iamNJbnN0YW5jZSosIGNvbnN0IFN0cmluZyYgcHJv
cGVydHlOYW1lKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CisK
ICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogICAgIHN0YXRpYyBib29sIGdldE93
blByb3BlcnR5U2xvdChKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBwdXQoSlNDZWxsKiwgSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX2FycmF5LmgKaW5kZXggMjk4MTJhNjZkNmYwMTI0ZTM4MzYyNWY5NTYw
MTljYTMzYmMzYmQ5MS4uYzlmNmYwZGVkNDljOGJjNDA0YjA0MDRkZDdhN2Q4MWI2NTg2ODFjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCkBAIC04NCwxMSArODQsMTAgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBUeXBlSW5mbyhEZXJpdmVkQXJyYXlUeXBlLCBTdHJ1Y3R1cmVGbGFncyks
IGluZm8oKSwgQXJyYXlDbGFzcyk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIEJpbmRpbmdzOjpBcnJheSopOwotCiBwcml2YXRlOgogICAgIFJ1bnRp
bWVBcnJheShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBC
aW5kaW5nczo6QXJyYXkqKTsKKwogICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBsZW5ndGhHZXR0
ZXIoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKICAgICBz
dGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmgKaW5kZXggMDRlNzg5MmU3NjQyNzQ3ZmQxZmUz
Mzc4MmNhZDZmYmZjNmY4NmVhMy4uMDFlYTRjNWM1NGExYjZmZmJlZDMzMjNmNmIzOGRhZDQ4MzU1
MWU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCkBAIC02MywxMiArNjMs
MTEgQEAgcHVibGljOgogCiAgICAgUmVmPENTU0ltYWdlU2V0VmFsdWU+IGltYWdlU2V0V2l0aFN0
eWxlc1Jlc29sdmVkKFN0eWxlOjpCdWlsZGVyU3RhdGUmKTsKIAotcHJvdGVjdGVkOgotICAgIElt
YWdlV2l0aFNjYWxlIGJlc3RJbWFnZUZvclNjYWxlRmFjdG9yKCk7Ci0KIHByaXZhdGU6CiAgICAg
Q1NTSW1hZ2VTZXRWYWx1ZSgpOwogCisgICAgSW1hZ2VXaXRoU2NhbGUgYmVzdEltYWdlRm9yU2Nh
bGVGYWN0b3IoKTsKKwogICAgIHZvaWQgZmlsbEltYWdlU2V0KCk7CiAgICAgc3RhdGljIGlubGlu
ZSBib29sIGNvbXBhcmVCeVNjYWxlRmFjdG9yKEltYWdlV2l0aFNjYWxlIGZpcnN0LCBJbWFnZVdp
dGhTY2FsZSBzZWNvbmQpIHsgcmV0dXJuIGZpcnN0LnNjYWxlRmFjdG9yIDwgc2Vjb25kLnNjYWxl
RmFjdG9yOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKaW5k
ZXggYWUxYWFlZDI2YTFjNjY5ZmU3ZWUwN2E5NjY0YzE3YmE1ZjhiMTc2Yi4uNzgwYjc5MTkzZDk4
NzYzMmI1OTJjOWIyNGQ4NTgwYjRlYzZhOGU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
S2V5Z2VuRWxlbWVudC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBLZXlnZW5TZWxlY3RFbGVtZW50KGRvY3VtZW50KSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEtleWdlblNlbGVjdEVsZW1lbnQoRG9jdW1lbnQm
IGRvY3VtZW50KQogICAgICAgICA6IEhUTUxTZWxlY3RFbGVtZW50KHNlbGVjdFRhZywgZG9jdW1l
bnQsIDApCiAgICAgewpAQCAtNjEsNyArNjEsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHNldFBz
ZXVkbyhwc2V1ZG9JZCk7CiAgICAgfQogCi1wcml2YXRlOgogICAgIFJlZjxFbGVtZW50PiBjbG9u
ZUVsZW1lbnRXaXRob3V0QXR0cmlidXRlc0FuZENoaWxkcmVuKERvY3VtZW50JiB0YXJnZXREb2N1
bWVudCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiBjcmVhdGUodGFyZ2V0RG9jdW1l
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgKaW5kZXggNzY3ZTRi
YzQyZDA2OTQ2NWRiNjdhMzA0NTE1ZTIyNGU4YTBjNTY2Ni4uMWY2MmNiM2YxNDA3YzNiMDczYTlk
NWU0ZGIwMDA2NGY2NjEyZDRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5oCkBAIC02NiwxMiArNjYsMTEgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNFdmVyQmVl
bkJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBXZWJHTEJ1ZmZlcihXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Jik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wq
LCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBHQ0dMZW51bSBt
X3RhcmdldCB7IDAgfTsKIAogICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBtX2VsZW1lbnRB
cnJheUJ1ZmZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
RnJhbWVidWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZm
ZXIuaAppbmRleCAzNDIzY2U2MzM3MzE2YTM4ZTAwNTU3NDk3YTE2OTViZDg0OTA5MWQ4Li42M2Q2
M2NmZGUyMjE0N2I2MzljMzY4MDkxYmIwZDUzOGM5NmYyYWRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oCkBAIC0xMDUsMTIgKzEwNSwxMSBAQCBw
dWJsaWM6CiAKICAgICBHQ0dMZW51bSBnZXREcmF3QnVmZmVyKEdDR0xlbnVtKTsKIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBXZWJHTEZyYW1lYnVmZmVyKFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UmKTsKIAogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTCosIFBsYXRmb3JtR0xPYmplY3QpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIFdlYkdM
QXR0YWNobWVudCogZ2V0QXR0YWNobWVudChHQ0dMZW51bSkgY29uc3Q7CiAKICAgICAvLyBSZXR1
cm4gZmFsc2UgaWYgZnJhbWVidWZmZXIgaXMgaW5jb21wbGV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKaW5kZXggOGM4YWQyODMxMzQxM2IwODE5MmM0ZmUyNGM1
ZWMyZTNkNmIzMWQ2Zi4uODkzNmI2OWY1M2YyMDNlMmYwN2ViY2E5NzFkYTllZTk3ZWU4YWI4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKQEAgLTcwLDEyICs3
MCwxMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBhdHRhY2hTaGFkZXIoV2ViR0xTaGFkZXIqKTsKICAg
ICBib29sIGRldGFjaFNoYWRlcihXZWJHTFNoYWRlciopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgogICAgIFdlYkdMUHJvZ3JhbShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKICAgICB2
b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdM
T2JqZWN0KSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICB2b2lkIGNhY2hlQWN0aXZlQXR0cmli
TG9jYXRpb25zKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKik7CiAgICAgdm9pZCBjYWNoZUluZm9J
Zk5lZWRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFF1ZXJ5LmgKaW5kZXgg
NzYxODllMWM0YjA2ZTI0MTg2NmZhNWU2MDc1OGM5ZTJjZWM1ZGM2MC4uNGJkNmYxYzA0NmYxNTM4
OGNjNTgwMWY0MTU2MWE2OTNmMzNhM2Q5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xRdWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUXVlcnkuaApAQCAtNDAsMTEgKzQwLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbWFrZVJl
c3VsdEF2YWlsYWJsZSgpIHsgbV9pc1Jlc3VsdEF2YWlsYWJsZSA9IHRydWU7IH0KIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJHTFF1ZXJ5KFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UmKTsKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBib29s
IG1faXNSZXN1bHRBdmFpbGFibGUgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmgKaW5kZXggMzFlOTEwMjc5MjNlMjY4NDE0
ZjkyY2NjODdlODFlZWQyNGM0MWZjZS4uYjU1OTc0MTQyN2YxYjE0NjliYWJjOGIyYTRlZTgwZTg1
YTg1Yzc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJidWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1
ZmZlci5oCkBAIC02MiwxMiArNjIsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRIYXNFdmVy
QmVlbkJvdW5kKCkgeyBtX2hhc0V2ZXJCZWVuQm91bmQgPSB0cnVlOyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgV2ViR0xSZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZSYpOwogCiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
KiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc1Jl
bmRlcmJ1ZmZlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIEdDR0xl
bnVtIG1faW50ZXJuYWxGb3JtYXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFNhbXBsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2Ft
cGxlci5oCmluZGV4IDFmMGY3N2QzMTNkMmJlNTA4OTllNThkN2YxODlmMmFkYWQ5MzRmYzMuLmEz
MjcwYTE4MzU5YzliODU4Njg5NDM4NzdhZTQyZjY2YmY5NzNjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oCkBAIC0zNiw3ICszNiw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPFdlYkdMU2FtcGxlcj4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UmKTsKICAgICB2aXJ0dWFsIH5XZWJHTFNhbXBsZXIoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKICAgICBleHBsaWNpdCBXZWJHTFNhbXBsZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYp
OwogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBs
YXRmb3JtR0xPYmplY3QpIGZpbmFsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMU3luYy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xT
eW5jLmgKaW5kZXggZjkxN2M3YWI1NTI4ZDY2ODBiMTliZWJmZGE3MzA5NWM4MmYyODg4NC4uZGY2
YjM2NTkzMzY4ZGZmZjNlMGY1MmM2OTU1OTMyNWEyNDQzYTQzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTeW5jLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xTeW5jLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIFJlZjxXZWJHTFN5bmM+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xTeW5jKFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UmKTsKIAogICAgIHZvaWQgZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTCosIFBsYXRmb3JtR0xPYmplY3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oCmluZGV4IDgxOWIzZGJhNDFj
NjYwNDgwM2Y2M2U2OTFlZTI0YWExNGUwMTAzZWIuLmY3MDJhZWMxOTJkN2JjNjczYzIwMzMwMjU1
MTMyM2MwNDUxZTI4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMVHJhbnNmb3JtRmVlZGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRyYW5zZm9ybUZlZWRiYWNrLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIFJlZjxXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZSYpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMVHJhbnNmb3Jt
RmVlZGJhY2soV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxldGVP
YmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZv
cm1Mb2NhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9j
YXRpb24uaAppbmRleCA5MzI1ZjFhYzQ4NzllNDE2YTZmMTJkMWNhNzJkN2Y1NGFkYzMyNTlmLi5k
YjQ0OGI0ZmMxMWQ2ZjcwMWEzMjA4NzgyYjIwMjMyM2ZlZmQyYjIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgKQEAgLTQ1LDEwICs0
NSw5IEBAIHB1YmxpYzoKICAgICAKICAgICBHQ0dMZW51bSB0eXBlKCkgY29uc3Q7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtKiwg
R0NHTGludCBsb2NhdGlvbiwgR0NHTGVudW0gdHlwZSk7CiAKLXByaXZhdGU6CiAgICAgUmVmUHRy
PFdlYkdMUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEdDR0xpbnQgbV9sb2NhdGlvbjsKICAgICB1
bnNpZ25lZCBtX2xpbmtDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKaW5kZXggNmUxY2I1ZmQ0MTNjYWYyZjc0ZGVh
ZjU3MmY2MzQzNTZjZDdlYWI5NS4uZWNjZjk0MzFhMzcxOTM3MmM5ODY3MDczOWFiNTU4MWFhMmY4
ZjI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJ
bm5lckVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgVGV4dENvbnRyb2xJbm5l
ckNvbnRhaW5lciBmaW5hbCA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChUZXh0Q29udHJvbElubmVyQ29udGFpbmVyKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFRleHRDb250cm9sSW5uZXJDb250YWluZXI+IGNyZWF0ZShEb2N1bWVudCYpOwot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBUZXh0Q29udHJvbElubmVyQ29udGFpbmVyKERvY3Vt
ZW50Jik7CiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJl
cihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKICAg
ICBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3Qg
UmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogc2hhZG93SG9zdFN0
eWxlKSBvdmVycmlkZTsKQEAgLTQ4LDExICs0OCwxMCBAQCBjbGFzcyBUZXh0Q29udHJvbElubmVy
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxUZXh0Q29udHJvbElubmVyRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Jik7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgVGV4dENvbnRyb2xJbm5lckVsZW1lbnQoRG9jdW1lbnQm
KTsKICAgICBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogc2hhZG93
SG9zdFN0eWxlKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBib29sIGlzTW91c2VGb2N1c2Fi
bGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKaW5kZXggNzc4NTIxN2E5MzYy
NjBjZjFkMjM1NmFmZGQyMmY4NDU0YTIxZDg5NC4uNzNkMzYxOGU1YTQ4YTM3NDU3NjI2ZGQ1NDhk
Y2U3ZTM2YjFkZTEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclN0eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVTaGVldC5oCkBAIC0yMzYsNyArMjM2LDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9y
PFN0cmluZz4gdGV4dCgpIGNvbnN0IGZpbmFsOwogICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0
eWxlRm9ySWQoY29uc3QgSW5zcGVjdG9yQ1NTSWQmIGlkKSBjb25zdCBmaW5hbCB7IEFTU0VSVF9V
TlVTRUQoaWQsICFpZC5vcmRpbmFsKCkpOyByZXR1cm4gJmlubGluZVN0eWxlKCk7IH0KIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKICAgICBJbnNwZWN0b3JTdHlsZVNoZWV0Rm9ySW5saW5lU3R5bGUo
SW5zcGVjdG9yUGFnZUFnZW50KiwgY29uc3QgU3RyaW5nJiBpZCwgUmVmPFN0eWxlZEVsZW1lbnQ+
JiYsIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbiwgTGlzdGVuZXIq
KTsKIAogICAgIERvY3VtZW50KiBvd25lckRvY3VtZW50KCkgY29uc3QgZmluYWw7CkBAIC0yNDks
NyArMjQ5LDYgQEAgcHJvdGVjdGVkOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFN0eWxlVGV4
dChDU1NTdHlsZURlY2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAgVmVjdG9y
PHNpemVfdD4gbGluZUVuZGluZ3MoKSBjb25zdCBmaW5hbDsKIAotcHJpdmF0ZToKICAgICBDU1NT
dHlsZURlY2xhcmF0aW9uJiBpbmxpbmVTdHlsZSgpIGNvbnN0OwogICAgIGNvbnN0IFN0cmluZyYg
ZWxlbWVudFN0eWxlVGV4dCgpIGNvbnN0OwogICAgIFJlZjxDU1NSdWxlU291cmNlRGF0YT4gcnVs
ZVNvdXJjZURhdGEoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCBjYWQ5OTg5MDI5ZWI3NGM3NzU3OTdjMjhi
NDZjMDU5ZGM1ZGY3YjcwLi4xNjExOWU1ODZmNmQyNGYzZTI1MDI0NjlkOTI0OWUxODViNjEwZTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0
TWFuYWdlci5oCkBAIC00OCwxMCArNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpc2NhcmRJ
bmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgdm9pZCBkaWRDcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBJbnNwZWN0b3I6OkluamVjdGVk
U2NyaXB0Jikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgUmVmUHRyPENvbW1hbmRMaW5lQVBJ
SG9zdD4gbV9jb21tYW5kTGluZUFQSUhvc3Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAppbmRleCA1ZTFhZDg2ZDMwMjY3YjM2
MWNiYjE4OGE2MzljOTQwMDAzOGM5YmI2Li5hZDMwZjgxYzA1NmNhMDI4YWJmMzMzMTk1YjBjNWVj
YWVlNTExMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Q1NTU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRD
U1NTdHlsZVNoZWV0LmgKQEAgLTYwLDcgKzYwLDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0
Qm9keURhdGFGcm9tKGNvbnN0IENhY2hlZFJlc291cmNlJikgZmluYWw7CiAKLXByb3RlY3RlZDoK
ICAgICB2b2lkIGNoZWNrTm90aWZ5KCkgZmluYWw7CiAKICAgICBSZWZQdHI8VGV4dFJlc291cmNl
RGVjb2Rlcj4gbV9kZWNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDNkNDNhOTRiZWE5NTU2Yzk4
ZGM3NDIzYWI3ZWFkOWE5MmE1MmM2ZmUuLmYyYWUwNzg2YWZkZTE1MTFjMjFjNzIwOTY5MGNkNTQz
NGYwMzU5MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAgLTM3MSw3ICszNzEsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9oYXNIYWRVc2VySW50ZXJhY3Rpb24geyBmYWxzZSB9OwogICAgIHVuc2lnbmVk
IG1fbG9jYWxTdG9yYWdlUHJld2FybWluZ0NvdW50IHsgMCB9OwogCi1wcm90ZWN0ZWQ6CiAgICAg
VW5pcXVlUmVmPEV2ZW50SGFuZGxlcj4gbV9ldmVudEhhbmRsZXI7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaAppbmRleCAxMTYxZjk2ZTFlYzYwMDIyNjM5YzY5YTAxNzJlM2Q1MmI5ZmViYTYz
Li4zMTM1MTdiNWY5M2U5NGI2YmRjNDZjY2ViZDU0ZTgxNThiNDEwZDYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKQEAgLTY2OSw3ICs2NjksOSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZGVi
dWdEZXNjcmlwdGlvbigpIGNvbnN0IGZpbmFsOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAg
IGV4cGxpY2l0IEZyYW1lVmlldyhGcmFtZSYpOworCiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zh
c3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9T
Y3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9sbENv
bnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CiAgICAgCkBA
IC02NzgsOSArNjgwLDYgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgaXNWZXJ0aWNhbERvY3VtZW50
KCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpc0ZsaXBwZWREb2N1bWVudCgpIGNvbnN0IGZpbmFs
OwogCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZyYW1lVmlldyhGcmFtZSYpOwotCiAgICAgdm9p
ZCByZXNldCgpOwogICAgIHZvaWQgaW5pdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25z
b2xlQ2xpZW50LmgKaW5kZXggNDkyOWI0MjU3ZGJiZDZlNmY0NDlhNzUwZjg2ZjNhOWUwYTBjMWMz
ZS4uNTIxNzA3YTc0NTBiYmYyYzBlMmY4ODVhMWRiN2Q4NTY3Y2VjOWQwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYpOwogICAgIHZv
aWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAsIERvY3VtZW50KiA9
IG51bGxwdHIpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgbWVzc2FnZVdpdGhU
eXBlQW5kTGV2ZWwoTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgSlNDOjpKU0dsb2JhbE9iamVj
dCosIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBjb3VudChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJp
bmcmIGxhYmVsKSBvdmVycmlkZTsKQEAgLTgwLDcgKzgwLDYgQEAgcHJvdGVjdGVkOgogICAgIHZv
aWQgcmVjb3JkRW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRB
cmd1bWVudHM+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2NyZWVuc2hvdChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKIAot
cHJpdmF0ZToKICAgICBQYWdlJiBtX3BhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaAppbmRleCBhMWMzZTY2NjI3OTU4ZTQ4
MjcyOWQ3NDljZDM1NWNiMTkxZjQwYzEwLi40OTJlMzkxNTVjNGE5Yjc4YzFjNmQ2ZmVlMWMyZWUz
ZTBiYjZiZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlm
cmFtZUFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZy
YW1lQW5pbWF0aW9uLmgKQEAgLTY1LDcgKzY1LDEwIEBAIHB1YmxpYzoKIAogICAgIE9wdGlvbmFs
PFNlY29uZHM+IHRpbWVUb05leHRTZXJ2aWNlKCkgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CisgICAgS2V5ZnJhbWVBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiwgRWxlbWVudCYs
IENvbXBvc2l0ZUFuaW1hdGlvbiYsIGNvbnN0IFJlbmRlclN0eWxlJiB1bmFuaW1hdGVkU3R5bGUp
OworICAgIHZpcnR1YWwgfktleWZyYW1lQW5pbWF0aW9uKCk7CisKICAgICB2b2lkIG9uQW5pbWF0
aW9uU3RhcnQoZG91YmxlIGVsYXBzZWRUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIG9uQW5pbWF0
aW9uSXRlcmF0aW9uKGRvdWJsZSBlbGFwc2VkVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBvbkFu
aW1hdGlvbkVuZChkb3VibGUgZWxhcHNlZFRpbWUpIG92ZXJyaWRlOwpAQCAtOTQsMTAgKzk3LDYg
QEAgcHJvdGVjdGVkOgogI2VuZGlmCiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQ29sb3JGaWx0
ZXJGdW5jdGlvbkxpc3RzKCk7CiAgICAgYm9vbCBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rp
b25MaXN0cyhDU1NQcm9wZXJ0eUlELCBjb25zdCBzdGQ6OmZ1bmN0aW9uPGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIChjb25zdCBSZW5kZXJTdHlsZSYpPiYpIGNvbnN0OwotCi1wcml2YXRlOgotICAg
IEtleWZyYW1lQW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYsIEVsZW1lbnQmLCBDb21wb3NpdGVB
bmltYXRpb24mLCBjb25zdCBSZW5kZXJTdHlsZSYgdW5hbmltYXRlZFN0eWxlKTsKLSAgICB2aXJ0
dWFsIH5LZXlmcmFtZUFuaW1hdGlvbigpOwogICAgIAogICAgIC8vIEdldCB0aGUgc3R5bGVzIGZv
ciB0aGUgZ2l2ZW4gcHJvcGVydHkgc3Vycm91bmRpbmcgdGhlIGN1cnJlbnQgYW5pbWF0aW9uIHRp
bWUgYW5kIHRoZSBwcm9ncmVzcyBiZXR3ZWVuIHRoZW0uCiAgICAgdm9pZCBmZXRjaEludGVydmFs
RW5kcG9pbnRzRm9yUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgY29uc3QgUmVuZGVyU3R5bGUqJiBm
cm9tU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiYgdG9TdHlsZSwgZG91YmxlJiBwcm9ncmVzcykg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lh
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5v
ZGUuaAppbmRleCA1OGRmZjQ1YTQ4YWEwMTg3MTA3ZTM0YTZiYzg1NDk2NjM0OGM2YThjLi4zNTll
MDI1OTgzMWZmZTdjYzZmNDk3NTJiYjhiMGIxOWQ0ZmM3ZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bFByb3h5Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEv
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAg
cHVibGljOgogCiAgICAgU2Nyb2xsaW5nTm9kZUlEIG92ZXJmbG93U2Nyb2xsaW5nTm9kZUlEKCkg
Y29uc3QgeyByZXR1cm4gbV9vdmVyZmxvd1Njcm9sbGluZ05vZGVJRDsgfQogCi1wcm90ZWN0ZWQ6
Citwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZShTY3Jv
bGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZvaWQgY29tbWl0U3RhdGVCZWZv
cmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDIyNDM3NDdhYzM3ZWZiNTAzNTU5
N2YwMmI2NDhjYzE4MGE5NjYzMDguLjE2ODAzNDczNmE3ZDI3Njg4ZWRlNDA5OWFkZDBjMThjOTFh
Mjg2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtMTQ5
LDcgKzE0OSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9CdXM+IGxvYWRQ
bGF0Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIqIG5hbWUsIGZsb2F0IHNhbXBsZVJhdGUpOwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEF1ZGlvQnVzKCkgeyB9CiAKICAgICBBdWRpb0J1cyh1
bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbGVuZ3RoLCBib29sIGFsbG9jYXRlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCmluZGV4IGQ0MWVjMzc4MDg3NTUyM2E2Zjgw
NTAwMjM5NDJjOGJlODU1ZTg4MWYuLjdkNmI5N2ZkMDZkN2RjMDJmZmEyZGZjMjZjMmVjZmQ3ZTkw
MmU0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaApAQCAtOTgsMTAgKzk4LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgY29uc3Qg
ZmluYWw7CiAgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKSBjb25zdCBmaW5hbDsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBQbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudCgpOwogCi1wcml2YXRlOgogICAgIHZvaWQgcHJvZ3Jlc3NFdmVu
dFRpbWVyRmlyZWQoKTsKICAgICBzdGF0aWMgY29uc3QgVmVjdG9yPFdURjo6QXRvbVN0cmluZz4m
IG9ic2VydmVkRXZlbnROYW1lcygpOwogICAgIGNvbnN0IFdURjo6QXRvbVN0cmluZyYgZXZlbnRO
YW1lQWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAppbmRleCA1Yzk2YmRjYWVlNzUzOWI0MDQyNDAzNmQ4Y2UyMDk3NDkwMTE5MzM1Li4xYTlh
NGI1NGFlZGY5NDcxOTNjMmFjNTdmZDM4Mzg4NDBmN2FmZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBpbWFnZUZyYW1lQXZhaWxhYmxlQXRJbmRleChzaXplX3QpOwogICAg
IHZvaWQgZGVjb2RlKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgV0VCQ09SRV9FWFBPUlQgQml0bWFwSW1hZ2UoTmF0aXZlSW1hZ2VQdHImJiwgSW1hZ2VP
YnNlcnZlciogPSBudWxscHRyKTsKICAgICBXRUJDT1JFX0VYUE9SVCBCaXRtYXBJbWFnZShJbWFn
ZU9ic2VydmVyKiA9IG51bGxwdHIpOwogCkBAIC0xOTUsNyArMTk1LDYgQEAgcHJvdGVjdGVkOgog
ICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IHRpZmZSZXByZXNlbnRhdGlvbihjb25zdCBWZWN0b3I8
TmF0aXZlSW1hZ2VQdHI+Jik7CiAjZW5kaWYKIAotcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGlt
ZXIoKTsKICAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgU3Vic2FtcGxp
bmdMZXZlbCBzdWJzYW1wbGluZ0xldmVsRm9yU2NhbGVGYWN0b3IoR3JhcGhpY3NDb250ZXh0Jiwg
Y29uc3QgRmxvYXRTaXplJiBzY2FsZUZhY3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCA0
NTc2NWM4MzE0NTIxZTQ4YWNiMGY5ZGIzOWVhMDNkNGVhNmVjM2IxLi5iOGJlODA3NjY5MTc1ZGZk
YjFlNzUwMzdlZTE1MzUyMTUyY2IyN2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmgKQEAgLTQ2LDEz
ICs0NiwxMiBAQCBwdWJsaWM6CiAKICAgICBGbG9hdFNpemUgc2l6ZShJbWFnZU9yaWVudGF0aW9u
ID0gSW1hZ2VPcmllbnRhdGlvbjo6RnJvbUltYWdlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X2Nyb3NzZmFkZVNpemU7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJbWFnZURyYXdS
ZXN1bHQgZHJhdyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNv
bnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9
KSBvdmVycmlkZTsKICAgICB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBj
b25zdCBGbG9hdFNpemUmIHNwYWNpbmcsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsg
fSkgb3ZlcnJpZGU7CiAKICAgICBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZShJbWFnZSYgZnJvbUlt
YWdlLCBJbWFnZSYgdG9JbWFnZSwgZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBj
cm9zc2ZhZGVTaXplLCBjb25zdCBGbG9hdFNpemUmKTsKIAotcHJpdmF0ZToKICAgICBib29sIGlz
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CiAgICAgdm9pZCBkdW1wKFdURjo6VGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdl
bmVyYXRlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZElt
YWdlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCAwMjg1ZTFmOGI5YTJhNTE2MzJkZmM0ZjM3MGEyYTBj
ZDYxM2Q4MGUwLi41OTc4YzczYTc0ZTViNGFiMTMyZTA1NTdlMGViM2M5YWU3YzhjNjZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZElt
YWdlR2VuZXJhdGVkSW1hZ2UuaApAQCAtMzgsMTMgKzM4LDEyIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlKG5hbWUsIHNpemUp
KTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSW1hZ2VEcmF3UmVzdWx0IGRy
YXcoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsgfSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJl
Y3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgY29uc3QgRmxv
YXRTaXplJiBzcGFjaW5nLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0pIG92ZXJy
aWRlOwogCiAgICAgTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlKFN0cmluZyBuYW1lLCBjb25zdCBG
bG9hdFNpemUmKTsKIAotcHJpdmF0ZToKICAgICBib29sIGlzTmFtZWRJbWFnZUdlbmVyYXRlZElt
YWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChXVEY6
OlRleHRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRh
dGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL0NETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggNWQ4ZTI1MDc0NzBiYzdh
NDk5OTU1Yzk4MWIxNzZmZjQ0NGZiYzZkYi4uNDMxOGMxYjU1NjhmMWIwMjUxMzg4NDE4ZjYzYjBi
YTc3MGYwY2E4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9u
QVZGb3VuZGF0aW9uT2JqQy5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
cGxheWVyRGlkUmVjZWl2ZUVycm9yKE5TRXJyb3IgKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDPiBtX3BhcmVu
dDsKICAgICBMZWdhY3lDRE1TZXNzaW9uQ2xpZW50KiBtX2NsaWVudDsKICAgICBTdHJpbmcgbV9z
ZXNzaW9uSWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tCmluZGV4IDQ5MDlmZGRhOWNjOGY4N2FhYWM4MzVkZDE4OGZhZWNhNWM2
MDY1MzUuLmJlOGZjM2E2NTlhNDU1MmI3NGE2YzNjYzZkODE5NWIxMjEyMWM5YzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Nv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1t
CkBAIC00MDMsNyArNDAzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNBdWRpbygpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1faXNBdWRpbzsgfQogICAgIGJvb2wgaXNUZXh0KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9pc1RleHQ7IH0KICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgTWVkaWFEZXNjcmlwdGlvbkFWRk9iakMoQVZBc3NldFRyYWNrKiB0cmFjaykKICAgICAgICAg
OiBtX2lzVmlkZW8oW3RyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRpYUNoYXJhY3Rl
cmlzdGljVmlzdWFsXSkKICAgICAgICAgLCBtX2lzQXVkaW8oW3RyYWNrIGhhc01lZGlhQ2hhcmFj
dGVyaXN0aWM6QVZNZWRpYUNoYXJhY3RlcmlzdGljQXVkaWJsZV0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9u
Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRm
b3JtQ0FBbmltYXRpb25Db2NvYS5oCmluZGV4IDUxZWE4MzNjMzUyYWUxOGE4YzBmNGRjMTkxOGRl
YTQ4ZWNiZTdlNGQuLjI5YmRlNWU5ZWMzNjIzMGE0MmFlOGM3ZDZkYzc3NWZjNDkyNDVlOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRm
b3JtQ0FBbmltYXRpb25Db2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FBbmltYXRpb25Db2NvYS5oCkBAIC0xMjMsMTEgKzEyMywx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUaW1pbmdGdW5jdGlvbnMoY29uc3QgVmVjdG9yPGNv
bnN0IFRpbWluZ0Z1bmN0aW9uKj4mLCBib29sIHJldmVyc2UgPSBmYWxzZSkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBjb3B5VGltaW5nRnVuY3Rpb25zRnJvbShjb25zdCBQbGF0Zm9ybUNBQW5pbWF0aW9u
Jikgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUFuaW1h
dGlvbkNvY29hKEFuaW1hdGlvblR5cGUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCk7CiAgICAgUGxh
dGZvcm1DQUFuaW1hdGlvbkNvY29hKFBsYXRmb3JtQW5pbWF0aW9uUmVmKTsKIAotcHJpdmF0ZToK
ICAgICBSZXRhaW5QdHI8Q0FQcm9wZXJ0eUFuaW1hdGlvbj4gbV9hbmltYXRpb247CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZv
cm1DQUFuaW1hdGlvbldpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
d2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uaAppbmRleCAxNjJkNjI2YTY2ODUwNTBhYjc3ZTdl
MWFkODdjYjYxYWVkOGM4NThlLi4wOGJiN2E0MGZkMzEwNGQwNDk5NDQ2Mjc5MzBiMDcwNjI0NTcy
MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4v
UGxhdGZvcm1DQUFuaW1hdGlvbldpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmgKQEAgLTExMywxMSArMTEzLDEw
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRpbWluZ0Z1bmN0aW9ucyhjb25zdCBWZWN0b3I8Y29u
c3QgVGltaW5nRnVuY3Rpb24qPiYsIGJvb2wgcmV2ZXJzZSA9IGZhbHNlKSBvdmVycmlkZTsKICAg
ICB2b2lkIGNvcHlUaW1pbmdGdW5jdGlvbnNGcm9tKGNvbnN0IFBsYXRmb3JtQ0FBbmltYXRpb24m
KSBvdmVycmlkZTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBQW5pbWF0
aW9uV2luKEFuaW1hdGlvblR5cGUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCk7CiAgICAgUGxhdGZv
cm1DQUFuaW1hdGlvbldpbihQbGF0Zm9ybUFuaW1hdGlvblJlZik7CiAKLXByaXZhdGU6CiAgICAg
UmV0YWluUHRyPENBQ0ZBbmltYXRpb25SZWY+IG1fYW5pbWF0aW9uOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKaW5k
ZXggYWNkMGVmY2M3NzllNjQxN2UyMDg3MGU3NjE5MTNhNWFlNGIwNWIzZC4uNDQ4NzUzZGZhYTQ1
MjgyZWViOTI2ZDA4YmRkNTU3NjkzMDY1NjEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oCkBAIC02Nyw3ICs2Nyw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzQWxsRGF0YVJlY2VpdmVkKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9pc0FsbERhdGFSZWNlaXZlZDsgfQogICAgIHZvaWQgY2xlYXJGcmFtZUJ1ZmZlckNhY2hl
KHNpemVfdCkgZmluYWwgeyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBtX2lz
QWxsRGF0YVJlY2VpdmVkIHsgZmFsc2UgfTsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVNvdXJjZVJl
Zj4gbV9uYXRpdmVEZWNvZGVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKaW5kZXggMTg4M2Jh
NDdiZGYzYTUyYWZiMmZmN2QwZGQ1Y2Q5ZGNkN2NkZDg3MC4uMjIxY2I2NzQwNzgxNGFjZDE2M2M4
ZDFiZDA3YWVlNTEwNzBlNDJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKQEAgLTM1LDcgKzM1
LDcgQEAgcHVibGljOgogCiAgICAgRm91ckNDIGRhdGFGb3JtYXQoKSBjb25zdCB7IHJldHVybiBt
X2RhdGFGb3JtYXQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpT
Qzo6RGF0YVZpZXcmLCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIEZvdXJDQyBt
X2RhdGFGb3JtYXQgeyB1aW50MzJfdCB7IDAgfSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPUHJvdGVjdGlvblNjaGVtZUlu
Zm9Cb3guaAppbmRleCA4ZTU2NzNlMDUxNmE2NTAxNGY1Y2Q0OWY2MWFhN2I3NTM4ZDJjYWY2Li5h
NmEyNDJiM2JiMjQ3Y2NlZjRlOTQ1MTNkNTdlODQ4Y2RhMWE4ZTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPUHJvdGVjdGlvblNjaGVtZUluZm9C
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPUHJvdGVj
dGlvblNjaGVtZUluZm9Cb3guaApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
SVNPU2NoZW1lVHlwZUJveCogc2NoZW1lVHlwZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1l
VHlwZUJveC5nZXQoKTsgfQogICAgIGNvbnN0IElTT1NjaGVtZUluZm9ybWF0aW9uQm94KiBzY2hl
bWVJbmZvcm1hdGlvbkJveCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1lSW5mb3JtYXRpb25Cb3gu
Z2V0KCk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0
YVZpZXcmLCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIElTT09yaWdpbmFsRm9y
bWF0Qm94IG1fb3JpZ2luYWxGb3JtYXRCb3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1lSW5mb3JtYXRpb25Cb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oCmlu
ZGV4IGU4ZWMwYzRjNjliNzRlODMzNDQ5ODk0MWYyNGVlZTQxMGYyY2RkNmUuLjg5MzZmMzM4M2Ix
ZmNkMjAyNTM3YTdlZjEyODdkODZhZDQzMjY2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJv
eC5oCkBAIC0zNSw3ICszNSw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IElTT0JveCogc2NoZW1l
U3BlY2lmaWNEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zY2hlbWVTcGVjaWZpY0RhdGEuZ2V0KCk7
IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcm
LCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJU09C
b3g+IG1fc2NoZW1lU3BlY2lmaWNEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5cGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94LmgKaW5kZXggNGI4ZjI2MzM3NTBm
OGFkZjkwYmMyN2MyZDBjZjE0ZWY5ODJjMTczYS4uMWI2YWZjZTNjNWExZGMxN2M2YzdjNjZjNmQ0
NWI1NTlmNzViZWU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaXNvL0lTT1NjaGVtZVR5cGVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9pc28vSVNPU2NoZW1lVHlwZUJveC5oCkBAIC0zNiw3ICszNiw3IEBAIHB1YmxpYzoK
ICAgICBGb3VyQ0Mgc2NoZW1lVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1lVHlwZTsgfQog
ICAgIHVpbnQzMl90IHNjaGVtZVZlcnNpb24oKSBjb25zdCB7IHJldHVybiBtX3NjaGVtZVZlcnNp
b247IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZp
ZXcmLCB1bnNpZ25lZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIEZvdXJDQyBtX3NjaGVtZVR5
cGUgeyB1aW50MzJfdCB7IDAgfSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oCmluZGV4IDQ3ZmE0
OTcyNDZjNzE1YmUxZDJjZWY5YjBlYTg3ZGQ3Zjc5ZWY1OWYuLjgyMzk3NDIwNDZhMjZhOTJkOGJh
N2I3OWExMWM5ZWFmZTJmZWQ5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVHJhY2tFbmNyeXB0aW9uQm94LmgKQEAgLTQwLDcg
KzQwLDcgQEAgcHVibGljOgogICAgIFZlY3Rvcjx1aW50OF90PiBkZWZhdWx0S0lEKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWZhdWx0S0lEOyB9CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGRlZmF1bHRDb25z
dGFudElWKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0Q29uc3RhbnRJVjsgfQogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgcGFyc2UoSlNDOjpEYXRhVmlldyYsIHVuc2lnbmVkJiBv
ZmZzZXQpIG92ZXJyaWRlOwogCiAgICAgT3B0aW9uYWw8aW50OF90PiBtX2RlZmF1bHRDcnlwdEJ5
dGVCbG9jazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lz
by9JU09WVFRDdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lT
T1ZUVEN1ZS5jcHAKaW5kZXggNzM3ZGMyNDQ5NGM1ZmE0YzIzMjdiMmI3NjA0OWRhZjY2Zjk5ZDgz
Yy4uYWFjMmJhY2MzZDUzYmYwZWI5YTNmZTBjMzA5ZTAyZDQ5MjQ2YzViNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgY2xhc3MgSVNPU3RyaW5nQm94IGZpbmFsIDogcHVibGljIElTT0JveCB7CiBw
dWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBjb250ZW50cygpIHsgcmV0dXJuIG1fY29udGVudHM7
IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcm
IHZpZXcsIHVuc2lnbmVkJiBvZmZzZXQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICB1bnNpZ25l
ZCBsb2NhbE9mZnNldCA9IG9mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09WVFRDdWUuaAppbmRleCA5ZDQ2NDU2ZTBmYjQxODc0ZjhhZDJjMjVmZTlm
ODFiNjYxODkwNDlkLi43ZmE2M2M3NDMxNjU2MDM1ZmVmMDk3YWY5ZTFiMmQ0OWU1ZmE1M2ZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3Vl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5o
CkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgICAgICB9fTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwYXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQm
IG9mZnNldCkgb3ZlcnJpZGU7CiAKICAgICBNZWRpYVRpbWUgbV9wcmVzZW50YXRpb25UaW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVj
b2RlckRpcmVjdDJELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1h
Z2VEZWNvZGVyRGlyZWN0MkQuaAppbmRleCA0YjZiZDQyYzc0NDM2MmExMmFmZDk3NjZmMTY2ZDcy
YTQ2MTg3NjEzLi43NmQ3YWNhOTNlMzkyNDI3YjI2NTM1NGNhZjJlMzJlZWFjY2YxN2UwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVy
RGlyZWN0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1h
Z2VEZWNvZGVyRGlyZWN0MkQuaApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgSVdJQ0ltYWdpbmdGYWN0b3J5Miogc3lzdGVtSW1hZ2luZ0ZhY3RvcnkoKTsKIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBib29sIG1faXNBbGxEYXRhUmVjZWl2ZWQgeyBmYWxzZSB9Owog
ICAgIG11dGFibGUgSW50U2l6ZSBtX3NpemU7CiAgICAgQ09NUHRyPElXSUNCaXRtYXBEZWNvZGVy
PiBtX25hdGl2ZURlY29kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA1
ZmY0YTNhMzEwM2FiMjA3NGM0OWYzYWI3YTg4YWVlNzMwNTY4YWZkLi5hYmRlM2E5NGMwMTJlNDFl
MDRiZmQ4MjBiMDQyMDlhMjUyMGJiM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2Vy
LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZWZyZXNoQ2FwdHVyZURl
dmljZXMoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc0F2YWls
YWJsZSgpOwogCiAgICAgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guaAppbmRleCAyY2M1MzBm
ZTM1ZDJlZGRiMmI4MmU5NWQxYjYyMmZmN2I4N2ZhZGM4Li5iZTIxMDE1NDA0YmM2NjM4ZDQ0NmNl
YjIwNmQ4OThmZjVkODcwMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAg
ZW51bSBUcmFja0tpbmQgeyBBdWRpbywgVmlkZW8sIFRleHQgfTsKICAgICBUcmFja0tpbmQga2lu
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IHVpbnQ4X3QgbV90cmFja0lEOwogICAgIFN0cmluZyBtX2NvZGVjOwogICAgIFRyYWNrS2luZCBt
X2tpbmQ7CkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgIE1lZGlhVGltZSBkdXJhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KICAgICBjb25zdCBWZWN0b3I8TW9ja1Ry
YWNrQm94PiYgdHJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV90cmFja3M7IH0KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAgICBWZWN0b3I8TW9ja1Ry
YWNrQm94PiBtX3RyYWNrczsKIH07CkBAIC0xNTcsNyArMTU3LDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNEZWxheWVkKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzRGVsYXllZDsgfQogICAg
IGJvb2wgaXNOb25EaXNwbGF5aW5nKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzTm9uRGlz
cGxheWluZzsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIE1lZGlhVGltZSBtX3ByZXNl
bnRhdGlvblRpbWVzdGFtcDsKICAgICBNZWRpYVRpbWUgbV9kZWNvZGVUaW1lc3RhbXA7CiAgICAg
TWVkaWFUaW1lIG1fZHVyYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwCmluZGV4IDMyODY5MTVhNmFlMDhiYmFlYmMwYTdjMTY2YTE2ZDQ1ZDhiYTMwYmEuLmY0ZGFk
MDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1Nv
dXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBdWRpbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYm94LmtpbmQoKSA9PSBNb2Nr
VHJhY2tCb3g6OkF1ZGlvOyB9CiAgICAgYm9vbCBpc1RleHQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX2JveC5raW5kKCkgPT0gTW9ja1RyYWNrQm94OjpUZXh0OyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgTW9ja01lZGlhRGVzY3JpcHRpb24oY29uc3QgTW9ja1RyYWNrQm94JiBi
b3gpIDogbV9ib3goYm94KSB7IH0KICAgICBNb2NrVHJhY2tCb3ggbV9ib3g7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgKaW5kZXggMWU1MTM5NTEwM2E1
NTVmMzQ2N2E5NjJkOWZjMzNhOGJmZTViNmYwYy4uMDM0NTVkODY2MzVlMmM4ZjExZjFhY2UxMGQx
NWI4OGM0MjkzMDRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZ1bGxTY3JlZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNj
cmVlbi5oCkBAIC01Miw3ICs1Miw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlckZ1bGxT
Y3JlZW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc0ZsZXhp
YmxlQm94SW1wbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotcHJvdGVjdGVk
OgogICAgIFdlYWtQdHI8UmVuZGVyQmxvY2s+IG1fcGxhY2Vob2xkZXI7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCBiZDQ0MzdhMjI2NDcxNzdlYTU3OTBjOTZm
Y2I2ZmU5YmU3MThiMDhiLi5kNzI3OGIyNjVlZDgzZTAwZmY5NGRkYWM3MWNlZTRlNGM5OTgyN2Rl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTgxLDE0ICs4MSwxMyBA
QCBwdWJsaWM6CiAKICAgICBTdHlsZUNvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnRBbGlnbm1l
bnQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKICAgICBJdGVtUG9zaXRpb24gc2VsZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKGNvbnN0IFJl
bmRlckJveCogY2hpbGQgPSBudWxscHRyKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAg
QVNTRVJUKGNoaWxkKTsKICAgICAgICAgcmV0dXJuIGNoaWxkLT5pc1JlbmRlclJlcGxhY2VkKCkg
PyBJdGVtUG9zaXRpb246OlN0YXJ0IDogSXRlbVBvc2l0aW9uOjpTdHJldGNoOwogICAgIH0KIAot
cHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBpc1JlbmRlckdyaWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dp
Y2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3Qgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4
IGVmOWMwNWUyOGVkOWYzZTUyYzkyOWVhYWI0ODY5NGRlMGUzMWFlZTIuLmY3M2JmOTBhMzE2ZTM4
ZWE4MjVhNjllODY0MjczNzZmNjBlNTRhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC0xMjksMTAgKzEyOSw5IEBAIHB1YmxpYzoK
ICAgICBMYXlvdXRSZWN0IGNvbHVtblJlY3RBdCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAg
dW5zaWduZWQgY29sdW1uQ291bnQoKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICB2b2lkIGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkgb3ZlcnJpZGU7CiAgICAgCi1wcml2YXRl
OgogICAgIGJvb2wgaXNSZW5kZXJNdWx0aUNvbHVtblNldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJ1YnkuaAppbmRleCBlMGYxNzIxNjZkNzllOTI1YjZiYmQ1MDk3Zjg0MDI0
ZWQxMjZlMGFlLi5hM2ExYzAyNDQ2ODNhODdhM2RlZGI1OWE0NDYxZGFmZWE4MGQzOWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKQEAgLTU2LDEwICs1Niw5IEBAIHB1Ymxp
YzoKICAgICBSZW5kZXJSdWJ5QXNJbmxpbmUoRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogICAg
IHZpcnR1YWwgflJlbmRlclJ1YnlBc0lubGluZSgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHls
ZSogb2xkU3R5bGUpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGJvb2wgaXNSdWJ5SW5saW5l
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyUnVieSAoaW5saW5lKSI7IH0KICAg
ICBib29sIGNyZWF0ZXNBbm9ueW1vdXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQpAQCAtNzQsMTAgKzczLDkgQEAgcHVibGljOgogCiAgICAgRWxlbWVudCYgZWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMo
KSk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0
eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKIAot
cHJpdmF0ZToKICAgICBib29sIGlzUnVieUJsb2NrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiUmVuZGVyUnVieSAoYmxvY2spIjsgfQogICAgIGJvb2wgY3JlYXRlc0Fub255bW91c1dyYXBw
ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAppbmRleCA4ZjhiOWU5MWI2N2JmZjdhOWU5
M2QwYTEzNDVhYjhhMzg3YzE2ZDU4Li43ZGZjNGIzYTVjMjY2ZjJhM2NhNjRkNWM0NzdhYWFjMDI3
ZTJiY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyUGFydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQ
YXJ0LmgKQEAgLTU1LDExICs1NSwxMCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJCb3gqIHJlbmRl
cmVyT3duaW5nU2Nyb2xsYmFyKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
dm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBv
bGRTdHlsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBpbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRy
LCBjb25zdCBJbnRSZWN0KiA9IG51bGxwdHIpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGJv
b2wgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRl
eCA2MWM3NmY4NWEyMmMwZTM1MDc2ZjY0YWJjMDZmMTFiZjBjYWY3YjhiLi45Y2NlZjQ2ZjkyYWZk
NDZhNGEzYjJmZWI0NTgwMmYxMTY4MzQyZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgc3RhdGljIFJlbmRlclNjcm9sbGJhclRoZW1lKiByZW5kZXJTY3JvbGxiYXJUaGVt
ZSgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgaGFzQnV0dG9ucyhTY3JvbGxi
YXImKSBvdmVycmlkZTsKICAgICBib29sIGhhc1RodW1iKFNjcm9sbGJhciYpIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggMjVhYjYz
NTFmOWRjMTkyZDY5ZDU3NTA0N2ZjN2QyZWMzNjJjY2Q2NS4uZmRmZjQ1ZDc0NzU0ODUzY2NjNmE4
ZmMxYzhmMTE1YWVmNTZkMWI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZUNlbGwuaApAQCAtMTM0LDExICsxMzQsMTAgQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxp
ZGF0ZUhhc0VtcHR5Q29sbGFwc2VkQm9yZGVycygpOwogICAgIHZvaWQgc2V0SGFzRW1wdHlDb2xs
YXBzZWRCb3JkZXIoQ29sbGFwc2VkQm9yZGVyU2lkZSwgYm9vbCBlbXB0eSkgY29uc3Q7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVu
Y2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHN0
YXRpYyBSZW5kZXJQdHI8UmVuZGVyVGFibGVDZWxsPiBjcmVhdGVUYWJsZUNlbGxXaXRoU3R5bGUo
RG9jdW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSYpOwogCiAgICAgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIChpc0Fub255bW91cygpIHx8IGlzUHNldWRv
RWxlbWVudCgpKSA/ICJSZW5kZXJUYWJsZUNlbGwgKGFub255bW91cykiIDogIlJlbmRlclRhYmxl
Q2VsbCI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZVNlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
aAppbmRleCBmOGE5ZmZlNWQwYmFhOWIyODk4ZmMzZDM3MzNmOTM3MmQ5NzUwZDg1Li5lM2Y5NDY3
YWIxMDcwYTIxZTNjMzYzYmFjZDcyNzAwM2Q2ZTlhNmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCkBAIC0xNDksMTAgKzE0OSw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgd2lsbEluc2VydFRhYmxlUm93KFJlbmRlclRhYmxlUm93JiBjaGlsZCwg
UmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
dm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBv
bGRTdHlsZSkgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgc3RhdGljIFJlbmRlclB0cjxSZW5k
ZXJUYWJsZVNlY3Rpb24+IGNyZWF0ZVRhYmxlU2VjdGlvbldpdGhTdHlsZShEb2N1bWVudCYsIGNv
bnN0IFJlbmRlclN0eWxlJik7CiAKICAgICBlbnVtIFNob3VsZEluY2x1ZGVBbGxJbnRlcnNlY3Rp
bmdDZWxscyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4
IDVhNDYxYmI2NGM3OGQ0M2QzYjM2MDIwODRjNmYyODA5NDQ2YWJhYjQuLjdlMjA4YzJhYjlkNWE4
YTIwY2MyYTE4NDVlYmM3MjQ5MDQzODY0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyB2b2lkIHNldEZvY3VzUmluZ0NvbG9yKGNvbnN0IENvbG9yJik7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgTGVuZ3RoQm94IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm94
KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgCiAgICAgRm9udENhc2Nh
ZGVEZXNjcmlwdGlvbiYgY2FjaGVkU3lzdGVtRm9udERlc2NyaXB0aW9uKENTU1ZhbHVlSUQgc3lz
dGVtRm9udElEKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCmluZGV4IGYwODNiNTJkYzMwMmY2Y2RmNmY1MjM4MTMyNGI3ODA4YjdhMzU4N2EuLmJjYTFi
MWRmMGJiN2ZhMzMyMTMzYTc3MzRkYzNlZWQyYzU5NjY1ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuaApAQCAtMjAxLDEzICsyMDEsMTIgQEAgcHVibGljOgogICAgIGNvbnN0
IEhhc2hTZXQ8Y29uc3QgUmVuZGVyQm94Kj4mIGJveGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMo
KSB7IHJldHVybiBtX2JveGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnM7IH0KICNlbmRpZgogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYs
IE1hcENvb3JkaW5hdGVzRmxhZ3MsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKICAg
ICBjb25zdCBSZW5kZXJPYmplY3QqIHB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmKSBj
b25zdCBvdmVycmlkZTsKICAgICB2b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KE1hcENvb3Jk
aW5hdGVzRmxhZ3MsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBy
ZXF1aXJlc0NvbHVtbnMoaW50IGRlc2lyZWRDb2x1bW5Db3VudCkgY29uc3Qgb3ZlcnJpZGU7CiAK
LXByaXZhdGU6CiAgICAgdm9pZCBjb21wdXRlQ29sdW1uQ291bnRBbmRXaWR0aCgpIG92ZXJyaWRl
OwogCiAgICAgYm9vbCBzaG91bGRSZXBhaW50KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKQEAg
LTIxOSw3ICsyMTgsNiBAQCBwcml2YXRlOgogCiAgICAgTm9kZSogbm9kZUZvckhpdFRlc3QoKSBj
b25zdCBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBGcmFtZVZpZXcmIG1fZnJhbWVWaWV3Owog
CiAgICAgLy8gSW5jbHVkZSB0aGlzIFJlbmRlclZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAppbmRleCAwMmY3
ZjZhZDhmZDI1YjA1ZDNhMDUxZjYyYmY0NjIzYmQ4YzQ2YzFkLi41NWQ5ZTM0ZGY2MTI1NjBmYmFk
MmY3NGQxNWM2ZTc3MzkyMzE3ZjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAgLTU0LDEwICs1NCw5IEBA
IHB1YmxpYzoKIAogICAgIFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgY2xpcFBhdGhVbml0cygp
IGNvbnN0IHsgcmV0dXJuIGNsaXBQYXRoRWxlbWVudCgpLmNsaXBQYXRoVW5pdHMoKTsgfQogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJvb2wgc2VsZk5lZWRzQ2xpZW50SW52YWxpZGF0aW9u
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gKGV2ZXJIYWRMYXlvdXQoKSB8fCBtX2NsaXBwZXIu
c2l6ZSgpKSAmJiBzZWxmTmVlZHNMYXlvdXQoKTsgfQogCi1wcml2YXRlOgogICAgIHN0cnVjdCBD
bGlwcGVyRGF0YSB7CiAgICAgICAgIEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveDsKICAgICAg
ICAgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5oCmluZGV4IDc4ZjA3ZjBhMGFkYjQ0M2JjNDFkYmMxNDViZjQwNGY0
NDE3YmIyN2MuLjZhMjI0OGM3Zjg1YTYwNDQ0ZDY3ZGI3YTkxYTdkOGViOWJjYzFmMDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKQEAgLTExOSwxMyArMTE5LDEyIEBA
IHB1YmxpYzoKICAgICBTVkdBbmltYXRlZEVudW1lcmF0aW9uJiBtZXRob2RBbmltYXRlZCgpIHsg
cmV0dXJuIG1fbWV0aG9kOyB9CiAgICAgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiYgc3BhY2luZ0Fu
aW1hdGVkKCkgeyByZXR1cm4gbV9zcGFjaW5nOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGRp
ZEZpbmlzaEluc2VydGluZ05vZGUoKSBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBTVkdUZXh0
UGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdmlydHVh
bCB+U1ZHVGV4dFBhdGhFbGVtZW50KCk7CiAKKyAgICB2b2lkIGRpZEZpbmlzaEluc2VydGluZ05v
ZGUoKSBvdmVycmlkZTsKKwogICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdUZXh0Q29udGVudEVsZW1lbnQs
IFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVy
dHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oCmluZGV4IGRi
M2U5Mzc0MjAwOTI4NDJkMDNkMzQ0ZDgyZmY1YmIyMjA4OTg5YmYuLjk3N2IwN2Q1NDEzNzgyZmY1
NTAzMTc2YWYzMDFmMDYyZjM0NGU2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29uc29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29uc29sZUNsaWVudC5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNp
dCBXb3JrZXJDb25zb2xlQ2xpZW50KFdvcmtlckdsb2JhbFNjb3BlJik7CiAgICAgdmlydHVhbCB+
V29ya2VyQ29uc29sZUNsaWVudCgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQg
bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwoTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgSlNDOjpK
U0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBjb3VudChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBs
YWJlbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBjb25zdCBTdHJpbmcmIGxhYmVsKSBvdmVycmlkZTsKQEAgLTU2LDcgKzU2LDYgQEAgcHJvdGVj
dGVkOgogICAgIHZvaWQgcmVjb3JkRW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVj
dG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2NyZWVuc2hvdChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBv
dmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBXb3JrZXJHbG9iYWxTY29wZSYgbV93b3JrZXJHbG9i
YWxTY29wZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXQuaAppbmRleCBjOTI4ZWMzZmRh
YmUwNjA1YzY5NTFjODFhYzRjYTUxYWIxM2M2Mjg2Li5iMGMzMjVjYmQ4ZGZlZTBiMWRmOGJiMTQz
OWFjOWJjMDM1N2U2MWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3Jr
bGV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldC5oCkBAIC00MCw3ICs0
MCw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIGFkZE1vZHVsZShEb2N1bWVudCYsIGNvbnN0
IFN0cmluZyYgbW9kdWxlVVJMKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBXb3JrbGV0
KCk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGljdGlv
bmFyeS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSURpY3Rpb25hcnkuaAppbmRleCA5
ZTU1MDVlZTMxZTQ4MTFjYTU1Y2Q4YmEzYTk4Zjk5MDZhOGE3Yzg3Li5lNjgzMmUyM2NiY2UwYjk4
ZjRlYTRmODFmYzgzZjMyYjU2ODE5MzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvQVBJRGljdGlvbmFyeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElE
aWN0aW9uYXJ5LmgKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgTWFwVHlw
ZSYgbWFwKCkgY29uc3QgeyByZXR1cm4gbV9tYXA7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBEaWN0aW9uYXJ5KE1hcFR5cGUpOwogCiAgICAgTWFwVHlwZSBtX21hcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNr
UHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0
VHJhY2tQcml2YXRlUmVtb3RlLmgKaW5kZXggYjk1MDM0YmYyNjk1ODFhYTdlOWJmNmRhOTBmMjE5
Njk0Y2IwY2Y2NC4uYjdjZWRiN2U4Mzk0Zjk5YmE5Y2ZiMGEyYWMyYTk3ODExYjNjNDE4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2
YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0
VHJhY2tQcml2YXRlUmVtb3RlLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNFYXN5VG9SZWFkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pc0Vhc3lUb1JlYWQ7IH0KICAg
ICBib29sIGlzRGVmYXVsdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNEZWZhdWx0OyB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZShNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUmLCBUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBUZXh0VHJh
Y2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbiYmKTsKIAogICAgIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZSYgbV9wbGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmgKaW5kZXggMTEzMDYwNDQzNmMxOGNmMzI4Y2Rl
YWUwMzFiYzU5NTU1NWViNTkyNC4uOTc2OTAyNzE2ODg1NTAxYzdmNTI3OTkwMzA4N2FlZTRlOGU0
NGZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE1ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL0pTTlBNZXRob2QuaApAQCAtNjAsMTMgKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIE5Q
SWRlbnRpZmllciBucElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX25wSWRlbnRpZmllcjsg
fQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgY29uc3Qg
U3RyaW5nJiBuYW1lKTsKLQogcHJpdmF0ZToKICAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mKTsKICAgICAKICAgICBKU05QTWV0aG9kKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIE5QSWRlbnRpZmllcik7CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgY29uc3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIHN0YXRp
YyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNO
UE9iamVjdC5oCmluZGV4IDQ4MDNjMGJjNTcxZjk3N2RkYzI3MjJiYmFiOTZiNmQyN2MyYTljNzgu
LmZhOTg0MzI1YzJjMTIyMDU3ZDgyZjMwOWE5YTY0MzFmOTVjM2E0MjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgK
QEAgLTc2LDEzICs3NiwxMSBAQCBwdWJsaWM6CiAKICAgICBOUE9iamVjdCogbnBPYmplY3QoKSBj
b25zdCB7IHJldHVybiBtX25wT2JqZWN0OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBzdGF0aWMg
SlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mKTsKICAgICAKICAgICBK
U05QT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIE5QUnVudGlt
ZU9iamVjdE1hcCosIE5QT2JqZWN0Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpT
R2xvYmFsT2JqZWN0Kik7CiAgICAgCiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApp
bmRleCA3NTZhMDAzYTFkODg0ZjA1NGMzOWE1MDhhODNmZGI4MzM1NDk0Mjc5Li4yMGZiNDg3YjM1
Mzc0MmI4MGRmMjIwMmExNzE4MTkwOTQ1MTZiZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmgKQEAgLTcxLDEwICs3MSw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzT25MaW5lKCkgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBhZGRPbmxpbmVTdGF0ZUNoYW5nZUxpc3RlbmVyKFdURjo6RnVuY3Rp
b248dm9pZChib29sKT4mJikgZmluYWw7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdmly
dHVhbCB+V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAKLXByaXZhdGU6CiAgICAgdm9pZCBz
Y2hlZHVsZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIHNjaGVkdWxl
U2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0RG93bmxvYWREZWxlZ2F0
ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdERvd25sb2FkRGVsZWdhdGUuaApp
bmRleCA4ODU1YjdjZDE0NjYzMjVkMzc4YjFkNDA4ODI0ZGZjNzdmYjlkODNkLi5mYjRjYzdiZDhj
ZGUxYzNhOTAxZWFlNzgzMTQ0NWM3YTk0ZWIyNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9EZWZhdWx0RG93bmxvYWREZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0RlZmF1bHREb3dubG9hZERlbGVnYXRlLmgKQEAgLTM3LDEwICszNyw3IEBAIGNs
YXNzIERlZmF1bHREb3dubG9hZERlbGVnYXRlIGZpbmFsIDogcHVibGljIElXZWJEb3dubG9hZERl
bGVnYXRlCiBwdWJsaWM6CiAgICAgc3RhdGljIERlZmF1bHREb3dubG9hZERlbGVnYXRlKiBzaGFy
ZWRJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSogY3JlYXRl
SW5zdGFuY2UoKTsKLXByaXZhdGU6Ci0gICAgRGVmYXVsdERvd25sb2FkRGVsZWdhdGUoKTsKLSAg
ICB+RGVmYXVsdERvd25sb2FkRGVsZWdhdGUoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3du
CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9J
bl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0
dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjMsNyArNjAsMTEgQEAg
cHVibGljOgogICAgIC8vIERlZmF1bHREb3dubG9hZERlbGVnYXRlCiAgICAgdm9pZCByZWdpc3Rl
ckRvd25sb2FkKElXZWJEb3dubG9hZCopOwogICAgIHZvaWQgdW5yZWdpc3RlckRvd25sb2FkKElX
ZWJEb3dubG9hZCopOwotcHJvdGVjdGVkOgorCitwcml2YXRlOgorICAgIERlZmF1bHREb3dubG9h
ZERlbGVnYXRlKCk7CisgICAgfkRlZmF1bHREb3dubG9hZERlbGVnYXRlKCk7CisKICAgICBVTE9O
RyBtX3JlZkNvdW50IHsgMCB9OwogCiAgICAgSGFzaFNldDxJV2ViRG93bmxvYWQqPiBtX2Rvd25s
b2FkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lE
ZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRl
LmgKaW5kZXggYTJiNjY2NDEyZjg0ZmIzNjRlZjIwZGVjMjgyZmM0ZWVhN2ZmMDAyOC4uYTk2ZWFm
N2NmMDNmMWJmYjVkNWVkMDJlNTA0NTcxNTQwMWUxMGJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgKQEAgLTMyLDEwICszMiw3IEBAIGNs
YXNzIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSBmaW5hbCA6IHB1YmxpYyBJV2ViUG9saWN5RGVsZWdh
dGUgewogcHVibGljOgogICAgIHN0YXRpYyBEZWZhdWx0UG9saWN5RGVsZWdhdGUqIHNoYXJlZElu
c3RhbmNlKCk7CiAgICAgc3RhdGljIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSogY3JlYXRlSW5zdGFu
Y2UoKTsKLXByaXZhdGU6Ci0gICAgRGVmYXVsdFBvbGljeURlbGVnYXRlKCk7Ci0gICAgfkRlZmF1
bHRQb2xpY3lEZWxlZ2F0ZSgpOwotcHVibGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQg
cmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcg
U1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Myw3ICs1MCwxMCBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVuYWJsZVRvSW1wbGVt
ZW50UG9saWN5V2l0aEVycm9yKF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9y
KiwgX0luX29wdF8gSVdlYkZyYW1lKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgRGVm
YXVsdFBvbGljeURlbGVnYXRlKCk7CisgICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL01lbW9yeVN0cmVhbS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vTWVt
b3J5U3RyZWFtLmgKaW5kZXggMTlmODI0OGIwMjc3NjM5ZTY5NWM2NTBkNzk2MTJhYzMwOWY3NjMw
Zi4uMmJhN2RhOTBhNWM2MjEyOTAwOGRmNjEyOTczMGFjZGI5YmQ0NTNiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vTWVtb3J5U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vTWVtb3J5U3RyZWFtLmgKQEAgLTM3LDExICszNyw2IEBAIGNsYXNzIE1lbW9y
eVN0cmVhbSBmaW5hbCA6IHB1YmxpYyBJU3RyZWFtCiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0
cjxNZW1vcnlTdHJlYW0+IGNyZWF0ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI+JiYpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgTWVtb3J5U3RyZWFtKFJlZlB0cjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYpOwotICAgIH5NZW1vcnlTdHJlYW0oKTsKLXB1YmxpYzoKLQogICAgIC8v
IElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50
ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsK
ICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNzksNyAr
NzQsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBT
dGF0KF9PdXRfIFNUQVRTVEcqLCBEV09SRCBncmZTdGF0RmxhZyk7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIENsb25lKF9DT01fT3V0cHRyXyBJU3RyZWFtKiogcHBzdG0p
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIE1lbW9yeVN0cmVhbShSZWZQdHI8V2ViQ29y
ZTo6U2hhcmVkQnVmZmVyPiYmKTsKKyAgICB+TWVtb3J5U3RyZWFtKCk7CisKICAgICBSZWZQdHI8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBtX2J1ZmZlcjsKICAgICBzaXplX3QgbV9wb3MgeyAwIH07
CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkFwcGxpY2F0aW9uQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkFwcGxpY2F0aW9uQ2FjaGUuaAppbmRleCA4ZTU2ZDA1NTQ0ZWJlNGJiZGE2OWIwZDMxMGQ4
YzVkYjQ5ZDM2MjhmLi5jZmQwYmExZGEwMDBiNDA5ODgxODFlZTdkYmQwOTg3NGU3NWE1NDgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5oCkBAIC0z
OCwxMSArMzgsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UmIHN0b3JhZ2UoKTsKIAotcHJvdGVjdGVkOgotICAgIFdlYkFwcGxpY2F0aW9u
Q2FjaGUoKTsKLSAgICB+V2ViQXBwbGljYXRpb25DYWNoZSgpOwotCi1wdWJsaWM6CiAgICAgLy8g
SVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRl
cmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwog
ICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02Miw3ICs1
NywxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
b3JpZ2luc1dpdGhDYWNoZSgvKltvdXQsIHJldHZhbF0qLyBJUHJvcGVydHlCYWcqKik7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViQXBwbGljYXRpb25DYWNoZSgpOworICAgIH5XZWJB
cHBsaWNhdGlvbkNhY2hlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXJjaGl2ZS5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQXJjaGl2ZS5oCmluZGV4IDg2NzJkZWE3MzY4Yjk4MTEzMTRjMjVlYjM1
ZjdmMmE5NzIxNjBhMGYuLjA1MDRlM2EzOWY0YjUxMmViNTA4MzdiYTFlMzE5ZmM0YTBjZjhjOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hpdmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJBcmNoaXZlLmgKQEAgLTM5LDExICszOSw3IEBAIGNs
YXNzIFdlYkFyY2hpdmUgZmluYWwgOiBwdWJsaWMgSVdlYkFyY2hpdmUKIHB1YmxpYzoKICAgICBz
dGF0aWMgV2ViQXJjaGl2ZSogY3JlYXRlSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgV2ViQXJjaGl2
ZSogY3JlYXRlSW5zdGFuY2UoUmVmUHRyPFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU+JiYpOwot
cHJvdGVjdGVkOgotICAgIFdlYkFyY2hpdmUoUmVmUHRyPFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hp
dmU+JiYpOwotICAgIH5XZWJBcmNoaXZlKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5f
IFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVh
bCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTYwLDcgKzU2LDEwIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgIHN1YmZyYW1lQXJj
aGl2ZXMoX0NPTV9PdXRwdHJfb3B0XyBJRW51bVZBUklBTlQqKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFICBkYXRhKF9DT01fT3V0cHRyX29wdF8gSVN0cmVhbSoqKTsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJBcmNoaXZlKFJlZlB0cjxXZWJDb3JlOjpM
ZWdhY3lXZWJBcmNoaXZlPiYmKTsKKyAgICB+V2ViQXJjaGl2ZSgpOworCiAgICAgVUxPTkcgbV9y
ZWZDb3VudCB7IDAgfTsKICNpZiBVU0UoQ0YpCiAgICAgUmVmUHRyPFdlYkNvcmU6OkxlZ2FjeVdl
YkFyY2hpdmU+IG1fYXJjaGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkJhY2tGb3J3YXJkTGlzdC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQmFja0Zv
cndhcmRMaXN0LmgKaW5kZXggN2JjN2M0MWM5ZTVmMGRmOTJhNDAzOTVkMjM0NTEyMzlkMTE1ODZl
ZS4uYWZhZThlNDVlNmRlNmY0MjBlMmRjZDI1NTEzNDVjYmIzOWE4NTBjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQmFja0ZvcndhcmRMaXN0LmgKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViQmFja0ZvcndhcmRMaXN0LmgKQEAgLTM3LDExICszNyw3IEBA
IGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdCBmaW5hbCA6IHB1YmxpYyBJV2ViQmFja0ZvcndhcmRM
aXN0LCBJV2ViQmFja0ZvcndhcmRMaXN0CiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkJhY2tG
b3J3YXJkTGlzdCogY3JlYXRlSW5zdGFuY2UoUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4mJik7Ci1w
cm90ZWN0ZWQ6Ci0gICAgV2ViQmFja0ZvcndhcmRMaXN0KFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+
JiYpOwotICAgIH5XZWJCYWNrRm9yd2FyZExpc3QoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtu
b3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNl
KF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2
aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjcsNyArNjMsMTAg
QEAgcHVibGljOgogICAgIC8vIElXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlCiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlbW92ZUl0ZW0oX0luX29wdF8gSVdlYkhpc3Rv
cnlJdGVtKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViQmFja0ZvcndhcmRMaXN0
KFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+JiYpOworICAgIH5XZWJCYWNrRm9yd2FyZExpc3QoKTsK
KwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkTGlz
dD4gbV9iYWNrRm9yd2FyZExpc3Q7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNhY2hlLmgKaW5k
ZXggMzkzZjgzY2M5ZmU4YmQ5ZTE5ZDJhNDhjODk2ZGM2YjNjYWNjYTExNC4uMTk1OWU3NDNlNzgy
ZDRhY2M2NTI1NzRkMTYyMTBjMmY5MmE4OTYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDYWNo
ZS5oCkBAIC0zMiwxMSArMzIsNyBAQCBjbGFzcyBXZWJDYWNoZSBmaW5hbCA6IHB1YmxpYyBJV2Vi
Q2FjaGUKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQ2FjaGUqIGNyZWF0ZUluc3RhbmNlKCk7
Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViQ2FjaGUoKTsKLSAgICB+V2ViQ2FjaGUoKTsKIAotcHVibGlj
OgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2
T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpA
QCAtNTAsNyArNDYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBjYWNoZUZvbGRlcihfX2RlcmVmX291dF9vcHQgQlNUUiogbG9jYXRpb24pOwogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDYWNoZUZvbGRlcihfSW5fIEJT
VFIgbG9jYXRpb24pOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkNhY2hlKCk7Cisg
ICAgfldlYkNhY2hlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN0YXRpc3RpY3MuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdGF0aXN0aWNzLmgKaW5kZXggMGQ2ZTg4ODA2
ZTViMDUxNTc3N2I1MTE2N2Q1NmM4ZmE3ZmNmNmY5MC4uYjQ0NTQ0NTU4YjgwMjQ3MjA0OWJlMjAx
NmE1NzE3MzZlMmQ2NjdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN0YXRpc3RpY3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3Rh
dGlzdGljcy5oCkBAIC0zMSwxMSArMzEsNyBAQAogY2xhc3MgV2ViQ29yZVN0YXRpc3RpY3MgZmlu
YWwgOiBwdWJsaWMgSVdlYkNvcmVTdGF0aXN0aWNzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2Vi
Q29yZVN0YXRpc3RpY3MqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViQ29y
ZVN0YXRpc3RpY3MoKTsKLSAgICB+V2ViQ29yZVN0YXRpc3RpY3MoKTsKIAotcHVibGljOgogICAg
IC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5
SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0
KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjgs
NyArNjQsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBjYWNoZWRQYWdlQ291bnQoX091dF8gSU5UKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGNhY2hlZEZyYW1lQ291bnQoX091dF8gSU5UKik7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CisgICAgV2ViQ29yZVN0YXRpc3RpY3MoKTsKKyAgICB+V2ViQ29yZVN0YXRpc3Rp
Y3MoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJEYXRhU291cmNlLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJEYXRhU291cmNlLmgKaW5kZXggNzBhN2Y0NTRiMjMyODNkZjZmOTFlY2MzYTlm
ZjVhMzYzOTRhZTQ4Yy4uNTUyOTc5NDhmZmZlMTc3NGQ1MmMzYWZiYTQyYzUyZjNkNGI2NmQwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkRhdGFTb3VyY2UuaApAQCAtMzksMTEgKzM5LDcg
QEAgY2xhc3MgV2ViRGF0YVNvdXJjZSBmaW5hbCA6IHB1YmxpYyBJV2ViRGF0YVNvdXJjZSwgcHVi
bGljIElXZWJEYXRhU291cmNlUHJpdmF0ZQogewogcHVibGljOgogICAgIHN0YXRpYyBXZWJEYXRh
U291cmNlKiBjcmVhdGVJbnN0YW5jZShXZWJEb2N1bWVudExvYWRlciopOwotcHJvdGVjdGVkOgot
ICAgIFdlYkRhdGFTb3VyY2UoV2ViRG9jdW1lbnRMb2FkZXIqKTsKLSAgICB+V2ViRGF0YVNvdXJj
ZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRw
dHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZ
UEUgQWRkUmVmKCk7CkBAIC03Niw3ICs3MiwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViRGF0YVNv
dXJjZQogICAgIFdlYkRvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcigpIGNvbnN0OwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkRhdGFTb3VyY2UoV2ViRG9jdW1lbnRMb2FkZXIq
KTsKKyAgICB+V2ViRGF0YVNvdXJjZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsK
ICAgICBSZWZQdHI8V2ViRG9jdW1lbnRMb2FkZXI+IG1fbG9hZGVyOwogICAgIENPTVB0cjxJV2Vi
RG9jdW1lbnRSZXByZXNlbnRhdGlvbj4gbV9yZXByZXNlbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViRWxlbWVudFByb3BlcnR5QmFnLmgKaW5kZXggMmRmYWE5MTM0YWY2
ZDc4MTY1NTdlYjk0Y2MxZGJlMDIwZTI5MGVkYi4uZGQ2OTE5ZDRjNmQ3ZDQyNzAwZDA4MjM5YjJh
MDk2MmIyM2Q2Zjk4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRWxl
bWVudFByb3BlcnR5QmFnLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRWxlbWVu
dFByb3BlcnR5QmFnLmgKQEAgLTM3LDExICszNyw2IEBAIGNsYXNzIFdlYkVsZW1lbnRQcm9wZXJ0
eUJhZyBmaW5hbCA6IHB1YmxpYyBJUHJvcGVydHlCYWcKIHB1YmxpYzoKICAgICBzdGF0aWMgV2Vi
RWxlbWVudFByb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25zdCBXZWJDb3JlOjpIaXRUZXN0
UmVzdWx0Jik7CiAKLXByb3RlY3RlZDoKLSAgICBXZWJFbGVtZW50UHJvcGVydHlCYWcoY29uc3Qg
V2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYpOwotICAgIH5XZWJFbGVtZW50UHJvcGVydHlCYWcoKTsK
LQotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2
b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFk
ZFJlZigpOwpAQCAtNTIsNiArNDcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIFdyaXRlKF9Jbl8gTFBDT0xFU1RSIHBzelByb3BOYW1lLCBfSW5fIFZB
UklBTlQqIHBWYXIpOwogCiBwcml2YXRlOgorICAgIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZyhjb25z
dCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Jik7CisgICAgfldlYkVsZW1lbnRQcm9wZXJ0eUJhZygp
OworCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ+IG1fcmVzdWx0
OwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViRXJyb3IuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVy
cm9yLmgKaW5kZXggZjdjNjdlYmZmZDc5ODg0ODQ4MjE1MmI0NDgzODI5NGYyNTkxOTY3Zi4uZTRk
ZGU5N2I1Y2VjNzE5ZmU0MzNmYWFmOTE5NjdjNjNkOWVkNGIwYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJFcnJvci5oCkBAIC0zNCwxMSArMzQsNyBAQCBjbGFzcyBXZWJFcnJvciBmaW5hbCA6IHB1
YmxpYyBJV2ViRXJyb3IsIElXZWJFcnJvclByaXZhdGUgewogcHVibGljOgogICAgIHN0YXRpYyBX
ZWJFcnJvciogY3JlYXRlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIElQ
cm9wZXJ0eUJhZyogdXNlckluZm8gPSAwKTsKICAgICBzdGF0aWMgV2ViRXJyb3IqIGNyZWF0ZUlu
c3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIElQcm9wZXJ0eUJhZyogdXNlckluZm8pOwotICAgIH5XZWJFcnJvcigpOwogCi1w
dWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQq
KiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVm
KCk7CkBAIC02Myw2ICs1OSw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yJiByZXNvdXJjZUVycm9yKCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgV2ViRXJyb3Io
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIElQcm9wZXJ0eUJhZyogdXNlckluZm8pOwor
ICAgIH5XZWJFcnJvcigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBDT01Q
dHI8SVByb3BlcnR5QmFnPiBtX3VzZXJJbmZvOwogI2lmIFVTRShDRlVSTENPTk5FQ1RJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViRnJhbWUuaAppbmRleCA4NTIwNTA3ZDUxYjIzNmNmMzgwOGY2YmI5
YzZhYTMwNGZhMDA1NTM3Li43NjcyNzQxNTdhOGRlMjAzYmQwYTMwYjUyM2Q5OWNlYjExMTQ4MjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmgKQEAgLTc5LDExICs3OSw3IEBAIGNsYXNz
IERFQ0xTUEVDX1VVSUQoIntBMzY3NjM5OC00NDg1LTRhOWQtODdEQy1DQjVBNDBFNjM1MUR9Iikg
V2ViRnJhbWUgZmluYWwgOiBwCiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkZyYW1lKiBjcmVh
dGVJbnN0YW5jZSgpOwotcHJvdGVjdGVkOgotICAgIFdlYkZyYW1lKCk7Ci0gICAgfldlYkZyYW1l
KCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0
cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQ
RSBBZGRSZWYoKTsKQEAgLTE5OSw3ICsxOTUsMTAgQEAgcHVibGljOgogCiAgICAgQ09NUHRyPElB
Y2Nlc3NpYmxlPiBhY2Nlc3NpYmxlKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6Cisg
ICAgV2ViRnJhbWUoKTsKKyAgICB+V2ViRnJhbWUoKTsKKwogICAgIHZvaWQgbG9hZEhUTUxTdHJp
bmcoX0luXyBCU1RSIHN0cmluZywgX0luXyBCU1RSIGJhc2VVUkwsIF9Jbl8gQlNUUiB1bnJlYWNo
YWJsZVVSTCk7CiAgICAgdm9pZCBsb2FkRGF0YShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYm
LCBCU1RSIG1pbWVUeXBlLCBCU1RSIHRleHRFbmNvZGluZ05hbWUsIEJTVFIgYmFzZVVSTCwgQlNU
UiBmYWlsaW5nVVJMKTsKICAgICBjb25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mIGNvbXB1
dGVQYWdlUmVjdHMoSERDIHByaW50REMpOwpAQCAtMjEwLDcgKzIwOSw2IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIGRyYXdIZWFkZXIoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBjdHgsIElXZWJV
SURlbGVnYXRlKiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcGFnZVJlY3QsIGZsb2F0IGhlYWRl
ckhlaWdodCk7CiAgICAgdm9pZCBkcmF3Rm9vdGVyKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBw
Y3R4LCBJV2ViVUlEZWxlZ2F0ZSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBhZ2VSZWN0LCBV
SU5UIHBhZ2UsIFVJTlQgcGFnZUNvdW50LCBmbG9hdCBoZWFkZXJIZWlnaHQsIGZsb2F0IGZvb3Rl
ckhlaWdodCk7CiAKLXByb3RlY3RlZDoKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAg
IGNsYXNzIFdlYkZyYW1lUHJpdmF0ZTsKICAgICBXZWJGcmFtZVByaXZhdGUqIGQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmgKaW5kZXggMTcw
ZGU5NTU3MTE3Y2I3OTUwMjBlNDM4NmE0Mjk0YWE0Mzk4MzI4NS4uNTQ1YTdjOThlZjBlMTU5MzFh
YTljNjhlZmVmNzM1MjVmMjZjZGFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViRnJhbWVQb2xpY3lMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkZyYW1lUG9saWN5TGlzdGVuZXIuaApAQCAtMzgsMTEgKzM4LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBmaW5hbCA6IHB1YmxpYyBJV2Vi
UG9saWN5RGVjaXNpb25MaXN0ZW5lciwgcHVibGljIElXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVy
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciogY3JlYXRlSW5z
dGFuY2UoUmVmUHRyPFdlYkNvcmU6OkZyYW1lPiYmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyKFJlZlB0cjxXZWJDb3JlOjpGcmFtZT4mJik7Ci0gICAgfldlYkZyYW1l
UG9saWN5TGlzdGVuZXIoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJp
aWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNU
RE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjEsNiArNTcsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbnZhbGlkYXRlKCk7CiAKIHByaXZhdGU6CisgICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
cihSZWZQdHI8V2ViQ29yZTo6RnJhbWU+JiYpOworICAgIH5XZWJGcmFtZVBvbGljeUxpc3RlbmVy
KCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFJlZlB0cjxXZWJDb3JlOjpG
cmFtZT4gbV9mcmFtZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJIVE1MUmVwcmVzZW50YXRpb24uaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhUTUxS
ZXByZXNlbnRhdGlvbi5oCmluZGV4IGNiOWU0ZDdhYTI5YjdmYTVlZGYzYzkyMjUyZmVkMWU0MWM2
NzU4OWMuLjFmZDBjN2VlMzg4NDRiN2FjM2E3NWNjNmQxMGE5ZDZkZGZiNzA3YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCkBAIC0zNCwx
MCArMzQsNiBAQCBjbGFzcyBXZWJIVE1MUmVwcmVzZW50YXRpb24gZmluYWwgOiBwdWJsaWMgSVdl
YkhUTUxSZXByZXNlbnRhdGlvbiwgSVdlYkRvY3VtZW50UgogewogcHVibGljOgogICAgIHN0YXRp
YyBXZWJIVE1MUmVwcmVzZW50YXRpb24qIGNyZWF0ZUluc3RhbmNlKFdlYkZyYW1lKiBmcmFtZSk7
Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViSFRNTFJlcHJlc2VudGF0aW9uKCk7Ci0gICAgfldlYkhUTUxS
ZXByZXNlbnRhdGlvbigpOwotcHVibGljOgogCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlp
ZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwpAQCAtNzIsNyArNjgsMTAgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkb2N1bWVudFNvdXJj
ZShfX2RlcmVmX29wdF9vdXQgQlNUUiopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSB0aXRsZShfX2RlcmVmX29wdF9vdXQgQlNUUiopOwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgorICAgIFdlYkhUTUxSZXByZXNlbnRhdGlvbigpOworICAgIH5XZWJIVE1MUmVwcmVzZW50
YXRpb24oKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgV2ViRnJhbWUqIG1f
ZnJhbWUgeyBudWxscHRyIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViSGlzdG9yeUl0ZW0uaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnlJ
dGVtLmgKaW5kZXggOTIwYjM0Yzg1YmU3ZGFmODFiOTlkYmI3MmJjOGY0Y2I0MjM5YzdkYi4uNTFm
NWE5NjNhMzEwOGFjNWYxNmFhNTZhZDllYjIyNzYzODJjNTMzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViSGlzdG9yeUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJIaXN0b3J5SXRlbS5oCkBAIC00MywxMSArNDMsNyBAQCBjbGFzcyBXZWJIaXN0
b3J5SXRlbSBmaW5hbCA6IHB1YmxpYyBJV2ViSGlzdG9yeUl0ZW0sIElXZWJIaXN0b3J5SXRlbVBy
aXZhdGUKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSGlzdG9yeUl0ZW0qIGNyZWF0ZUluc3RhbmNl
KCk7CiAgICAgc3RhdGljIFdlYkhpc3RvcnlJdGVtKiBjcmVhdGVJbnN0YW5jZShSZWZQdHI8V2Vi
Q29yZTo6SGlzdG9yeUl0ZW0+JiYpOwotcHJvdGVjdGVkOgotICAgIFdlYkhpc3RvcnlJdGVtKFJl
ZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4mJik7Ci0gICAgfldlYkhpc3RvcnlJdGVtKCk7CiAK
LXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9p
ZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRS
ZWYoKTsKQEAgLTkyLDcgKzg4LDEwIEBAIHB1YmxpYzoKICAgICAvLyBXZWJIaXN0b3J5SXRlbQog
ICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBoaXN0b3J5SXRlbSgpIGNvbnN0OwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgorICAgIFdlYkhpc3RvcnlJdGVtKFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5
SXRlbT4mJik7CisgICAgfldlYkhpc3RvcnlJdGVtKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50
IHsgMCB9OwogCiAgICAgUmVmUHRyPFdlYkNvcmU6Okhpc3RvcnlJdGVtPiBtX2hpc3RvcnlJdGVt
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxl
Y3Rvci5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxlY3Rvci5o
CmluZGV4IDMwMGM4NTYzNjNlNmM0ZDIzYjQ5YTI0MzIxZmNmOTMzZGQ3YWE2MjkuLmRjNjcxMzVk
MWJmZGJjMGM0ZWIyMGQ4NWU5YTljYTgxNGY4NDBlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkphdmFTY3JpcHRDb2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJKYXZhU2NyaXB0Q29sbGVjdG9yLmgKQEAgLTMyLDExICszMiw3IEBAIGNs
YXNzIFdlYkphdmFTY3JpcHRDb2xsZWN0b3IgZmluYWwgOiBwdWJsaWMgSVdlYkphdmFTY3JpcHRD
b2xsZWN0b3IKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSmF2YVNjcmlwdENvbGxlY3Rvciog
Y3JlYXRlSW5zdGFuY2UoKTsKLXByb3RlY3RlZDoKLSAgICBXZWJKYXZhU2NyaXB0Q29sbGVjdG9y
KCk7Ci0gICAgfldlYkphdmFTY3JpcHRDb2xsZWN0b3IoKTsKIAotcHVibGljOgogICAgIC8vIElV
bmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJm
YWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAg
ICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNDcsNyArNDMs
MTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjb2xs
ZWN0T25BbHRlcm5hdGVUaHJlYWQoQk9PTCB3YWl0VW50aWxEb25lKTsKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb2JqZWN0Q291bnQoX091dF8gVUlOVCopOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkphdmFTY3JpcHRDb2xsZWN0b3IoKTsKKyAgICB+V2Vi
SmF2YVNjcmlwdENvbGxlY3RvcigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9y
eS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0b3J5LmgKaW5kZXgg
NzcyMzBmNjk3MDQ3MTRjNmYxNDE5M2E4OWQ1NmQ1MjY2NjA5MWU4Yi4uYmI0MzZlNWYwODZiZTFi
YTU3YTZmN2FmNDgyOTJiOTJlYTc3NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViS2l0Q2xhc3NGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViS2l0Q2xhc3NGYWN0b3J5LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDcmVhdGVJbnN0YW5jZShfSW5fb3B0XyBJVW5r
bm93biogcFVua091dGVyLCBfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBw
dk9iamVjdCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIExvY2tTZXJ2
ZXIoQk9PTCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7
IDAgfTsKICAgICBDTFNJRCBtX3RhcmdldENsYXNzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYktpdFN0YXRpc3RpY3MuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYktpdFN0YXRpc3RpY3MuaAppbmRleCA4ODliYjFhMjRjYTA1MzViM2FiYjBkMjhkMTZi
MjMyZGEyZGYzNmUyLi5iZDI3NDdkMDFhY2Q2YThkNWJlNDYwOGUxYjBkNmQyMTkxOWU4N2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0U3RhdGlzdGljcy5oCkBAIC0zNCwxMSAr
MzQsNyBAQAogY2xhc3MgV2ViS2l0U3RhdGlzdGljcyBmaW5hbCA6IHB1YmxpYyBJV2ViS2l0U3Rh
dGlzdGljcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYktpdFN0YXRpc3RpY3MqIGNyZWF0ZUlu
c3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViS2l0U3RhdGlzdGljcygpOwotICAgIH5XZWJL
aXRTdGF0aXN0aWNzKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlk
LCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERN
RVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUzLDcgKzQ5LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY29tQ2xhc3NDb3VudChfT3V0XyBpbnQq
KTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY29tQ2xhc3NOYW1lQ291
bnRzKF9fZGVyZWZfb3V0X29wdCBCU1RSKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAg
V2ViS2l0U3RhdGlzdGljcygpOworICAgIH5XZWJLaXRTdGF0aXN0aWNzKCk7CisKICAgICBVTE9O
RyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViTXV0YWJsZVVSTFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
Yk11dGFibGVVUkxSZXF1ZXN0LmgKaW5kZXggOTRjZDJiNGMyNGZjNzEwZmE5MTE0OThlOTQ5OTBm
OTMyNzE2ZmEwOC4uNTdkMGY2OWZhNTNiOTY5ODVmZTVkMjljOTFmNzU2YmM3NDg2YzBkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTXV0YWJsZVVSTFJlcXVlc3QuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJNdXRhYmxlVVJMUmVxdWVzdC5oCkBAIC01
MywxMSArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgV2ViTXV0YWJsZVVSTFJlcXVlc3Qq
IGNyZWF0ZUltbXV0YWJsZUluc3RhbmNlKCk7CiAgICAgc3RhdGljIFdlYk11dGFibGVVUkxSZXF1
ZXN0KiBjcmVhdGVJbW11dGFibGVJbnN0YW5jZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJNdXRhYmxlVVJMUmVxdWVzdChib29sIGlzTXV0YWJs
ZSk7Ci0gICAgfldlYk11dGFibGVVUkxSZXF1ZXN0KCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5r
bm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFj
ZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAg
dmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTEwNSw3ICsxMDEs
MTEgQEAgcHVibGljOgogICAgIGNvbnN0IFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmIGh0dHBIZWFk
ZXJGaWVsZHMoKSBjb25zdDsKIAogICAgIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYg
cmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7Ci1wcm90ZWN0ZWQ6CisKK3ByaXZhdGU6CisgICAgV2Vi
TXV0YWJsZVVSTFJlcXVlc3QoYm9vbCBpc011dGFibGUpOworICAgIH5XZWJNdXRhYmxlVVJMUmVx
dWVzdCgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBib29sIG1faXNNdXRh
YmxlOwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlvbi5oCmluZGV4IDkzMGRiOGFmMmEzZDEzYzBkZjRh
MjcwZDI0YzVlOGZiMTE5YWIyMGMuLjBhMjA3YzI0NWVlODE5NjU4NTY2OTFjYmJlYTFkYjM5ODI4
ZmIzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlvbi5oCkBAIC0z
MiwxMSArMzIsNyBAQCBjbGFzcyBXZWJOb3RpZmljYXRpb24gZmluYWwgOiBwdWJsaWMgSVdlYk5v
dGlmaWNhdGlvbgogewogcHVibGljOgogICAgIHN0YXRpYyBXZWJOb3RpZmljYXRpb24qIGNyZWF0
ZUluc3RhbmNlKEJTVFIgbmFtZSA9IDAsIElVbmtub3duKiBhbk9iamVjdCA9IDAsIElQcm9wZXJ0
eUJhZyogdXNlckluZm8gPSAwKTsKLXByb3RlY3RlZDoKLSAgICBXZWJOb3RpZmljYXRpb24oQlNU
UiBuYW1lLCBJVW5rbm93biogYW5PYmplY3QsIElQcm9wZXJ0eUJhZyogdXNlckluZm8pOwotICAg
IH5XZWJOb3RpZmljYXRpb24oKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlE
IHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNDgsNyArNDQsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBnZXRPYmplY3QoX0NPTV9PdXRw
dHJfb3B0XyBJVW5rbm93bioqIHJlc3VsdCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHVzZXJJbmZvKF9DT01fT3V0cHRyX29wdF8gSVByb3BlcnR5QmFnICoqIHJlc3Vs
dCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViTm90aWZpY2F0aW9uKEJTVFIgbmFt
ZSwgSVVua25vd24qIGFuT2JqZWN0LCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvKTsKKyAgICB+V2Vi
Tm90aWZpY2F0aW9uKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIEJTVFIg
bV9uYW1lIHsgbnVsbHB0ciB9OwogICAgIElVbmtub3duKiBtX2FuT2JqZWN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb25DZW50ZXIuaAppbmRleCBmMTQ5ODEy
MmQ4ZGUzYzMzNzMyNTQ0OGJlMzkxNDQyNGVjNzYwMDVmLi4wNjY5NDBmOTdjMzVjZThiNTY0YWJi
MjZkYTUxZjQwZTQ0NjA5Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJOb3RpZmljYXRpb25DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJO
b3RpZmljYXRpb25DZW50ZXIuaApAQCAtMzUsMTEgKzM1LDYgQEAgY2xhc3MgV2ViTm90aWZpY2F0
aW9uQ2VudGVyIGZpbmFsIDogcHVibGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIgewogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJOb3RpZmljYXRpb25DZW50ZXIqIGNyZWF0ZUluc3RhbmNlKCk7CiAK
LXByb3RlY3RlZDoKLSAgICBXZWJOb3RpZmljYXRpb25DZW50ZXIoKTsKLSAgICB+V2ViTm90aWZp
Y2F0aW9uQ2VudGVyKCk7Ci0KLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlk
LCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERN
RVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTU2LDcgKzUxLDEwIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgSVdlYk5vdGlmaWNhdGlvbkNlbnRlciogZGVmYXVsdENlbnRlckludGVybmFsKCk7CiAg
ICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uSW50ZXJuYWwoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZp
Y2F0aW9uLCBCU1RSIG5vdGlmaWNhdGlvbk5hbWUsIElVbmtub3duKiBhbk9iamVjdCk7CiAKLXBy
b3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViTm90aWZpY2F0aW9uQ2VudGVyKCk7CisgICAgfldl
Yk5vdGlmaWNhdGlvbkNlbnRlcigpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViTm90aWZpY2F0aW9uQ2VudGVyUHJpdmF0ZT4gZDsKICAgICBz
dGF0aWMgSVdlYk5vdGlmaWNhdGlvbkNlbnRlciogbV9kZWZhdWx0Q2VudGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4MjU0NzBkODEzMzRj
ZGY2NDM4ZjUxN2Y0YWRmMDkxZi4uZmE1Nzk0YmJmYjNiMTE0ZTc1NWY5NDk0NzUyMTI4OTljYzA5
OTEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMywx
MSArMzMsNyBAQAogY2xhc3MgV2ViUHJlZmVyZW5jZXMgZmluYWwgOiBwdWJsaWMgSVdlYlByZWZl
cmVuY2VzLCBwdWJsaWMgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggewogcHVibGljOgogICAgIHN0
YXRpYyBXZWJQcmVmZXJlbmNlcyogY3JlYXRlSW5zdGFuY2UoKTsKLXByb3RlY3RlZDoKLSAgICBX
ZWJQcmVmZXJlbmNlcygpOwotICAgIH5XZWJQcmVmZXJlbmNlcygpOwogCi1wdWJsaWM6CiAgICAg
Ly8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJ
bnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3Qp
OwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC0zMzQs
NyArMzMwLDEwIEBAIHB1YmxpYzoKIAogICAgIEhSRVNVTFQgcG9zdFByZWZlcmVuY2VzQ2hhbmdl
c05vdGlmaWNhdGlvbigpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYlByZWZlcmVu
Y2VzKCk7CisgICAgfldlYlByZWZlcmVuY2VzKCk7CisKICNpZiBVU0UoQ0YpCiAgICAgdm9pZCBz
ZXRWYWx1ZUZvcktleShDRlN0cmluZ1JlZiBrZXksIENGUHJvcGVydHlMaXN0UmVmIHZhbHVlKTsK
ICAgICBSZXRhaW5QdHI8Q0ZQcm9wZXJ0eUxpc3RSZWY+IHZhbHVlRm9yS2V5KENGU3RyaW5nUmVm
IGtleSk7CkBAIC0zNjAsNyArMzU5LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgY29weVdlYktp
dFByZWZlcmVuY2VzVG9DRlByZWZlcmVuY2VzKENGRGljdGlvbmFyeVJlZik7CiAjZW5kaWYKIAot
cHJvdGVjdGVkOgogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6QlN0
cmluZyBtX2lkZW50aWZpZXI7CiAgICAgYm9vbCBtX2F1dG9TYXZlcyB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJSZXNvdXJjZS5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUmVzb3VyY2UuaAppbmRleCAwNTViNWU4YjIwYmIzYzJhNzY4ZDdk
MmQ2MWUyNDcxNTBjN2RiZWRhLi5iNmViODZmY2NhNWUzMTM2OWM5ZThiMDY1NDE4ZjI3OTQ5Mjk5
OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJSZXNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlJlc291cmNlLmgKQEAgLTM3LDExICszNyw3
IEBACiBjbGFzcyBXZWJSZXNvdXJjZSBmaW5hbCA6IHB1YmxpYyBJV2ViUmVzb3VyY2UgewogcHVi
bGljOgogICAgIHN0YXRpYyBXZWJSZXNvdXJjZSogY3JlYXRlSW5zdGFuY2UoUmVmUHRyPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwot
cHJvdGVjdGVkOgotICAgIFdlYlJlc291cmNlKElTdHJlYW0qIGRhdGEsIGNvbnN0IFdURjo6VVJM
JiB1cmwsIGNvbnN0IFdURjo6U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV1RGOjpTdHJpbmcmIHRl
eHRFbmNvZGluZ05hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUpOwotICAgIH5XZWJS
ZXNvdXJjZSgpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NP
TV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9E
Q0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01Niw2ICs1Miw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZnJhbWVOYW1lKF9fZGVyZWZfb3B0X291dCBCU1RS
KiBuYW1lKTsKIAogcHJpdmF0ZToKKyAgICBXZWJSZXNvdXJjZShJU3RyZWFtKiBkYXRhLCBjb25z
dCBXVEY6OlVSTCYsIGNvbnN0IFdURjo6U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV1RGOjpTdHJp
bmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUpOworICAg
IH5XZWJSZXNvdXJjZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBDT01Q
dHI8SVN0cmVhbT4gbV9kYXRhOwogICAgIFdURjo6VVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKaW5k
ZXggOTEzM2JkYmQwZTJlMWEzYWI5Y2U3YmEwYTY4ODZhNGRiNWJjZjA3MS4uNGE3OTUxNTMzMzRh
NGJhZjQzNmVhNmFjZDY1NDQxYzllNzhjMTVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oCkBAIC0zNCwxMCAr
MzQsNyBAQCBjbGFzcyBERUNMU1BFQ19VVUlEKCJGRDNCMjM4MS0wQkI2LTRCNTktQUYwOS0wRTU5
OUM4OTAxQ0YiKSBXZWJVUkxBdXRoZW50aWNhdGlvbgogcHVibGljOgogICAgIHN0YXRpYyBXZWJV
UkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSogY3JlYXRlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKICAgICBzdGF0aWMgV2ViVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiwgSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyKik7Ci1wcml2
YXRlOgotICAgIFdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2Vu
ZGVyKik7Ci0gICAgfldlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7Ci1wdWJsaWM6CisK
ICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBR
dWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9i
amVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAg
LTU3LDcgKzU0LDEwIEBAIHB1YmxpYzoKICAgICAvLyBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZQogICAgIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdl
YlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiwgSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyKik7CisgICAg
fldlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50
IHsgMCB9OwogCiAgICAgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9hdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlVSTENyZWRlbnRpYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTENyZWRlbnRp
YWwuaAppbmRleCAzM2JkMDUxNTBkODJlYmYwNGI4MDUwYzlkMTQ0ZGZjZDJmNDU4ZjFhLi5iZWNm
ZDM2NDhhYmEzMTM3ZjZkMDlkOGQyOTUyMmYxMWQzYzAxNjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxDcmVkZW50aWFsLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVVJMQ3JlZGVudGlhbC5oCkBAIC0zNCwxMCArMzQsNyBAQCBjbGFzcyBXZWJV
UkxDcmVkZW50aWFsIGZpbmFsIDogcHVibGljIElXZWJVUkxDcmVkZW50aWFsCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFdlYlVSTENyZWRlbnRpYWwqIGNyZWF0ZUluc3RhbmNlKCk7CiAgICAgc3RhdGlj
IFdlYlVSTENyZWRlbnRpYWwqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRp
YWwmKTsKLXByaXZhdGU6Ci0gICAgV2ViVVJMQ3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpDcmVk
ZW50aWFsJik7Ci0gICAgfldlYlVSTENyZWRlbnRpYWwoKTsKLXB1YmxpYzoKKwogICAgIC8vIElV
bmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJm
YWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAg
ICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTMsNyArNTAs
MTAgQEAgcHVibGljOgogICAgIC8vIFdlYlVSTENyZWRlbnRpYWwKICAgICBjb25zdCBXZWJDb3Jl
OjpDcmVkZW50aWFsJiBjcmVkZW50aWFsKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CisgICAgV2ViVVJMQ3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik7CisgICAg
fldlYlVSTENyZWRlbnRpYWwoKTsKKwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAg
V2ViQ29yZTo6Q3JlZGVudGlhbCBtX2NyZWRlbnRpYWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUHJvdGVjdGlvblNwYWNlLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJVUkxQcm90ZWN0aW9uU3BhY2UuaAppbmRleCBlMmFjODNmMTljYzAzOGUw
NmQzOTI1ZGMwNzY3MTc5MDM4NjQ0YjVjLi5iMzI1YWRjOWNkOTRiNWE5ZjExNDY3YzdlYmI0YmQ0
NzE0NTNmMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxQcm90
ZWN0aW9uU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxQcm90ZWN0
aW9uU3BhY2UuaApAQCAtMzQsMTAgKzM0LDcgQEAgY2xhc3MgV2ViVVJMUHJvdGVjdGlvblNwYWNl
IGZpbmFsIDogcHVibGljIElXZWJVUkxQcm90ZWN0aW9uU3BhY2UKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViVVJMUHJvdGVjdGlvblNwYWNlKiBjcmVhdGVJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBX
ZWJVUkxQcm90ZWN0aW9uU3BhY2UqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OlByb3Rl
Y3Rpb25TcGFjZSYpOwotcHJpdmF0ZToKLSAgICBXZWJVUkxQcm90ZWN0aW9uU3BhY2UoY29uc3Qg
V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7Ci0gICAgfldlYlVSTFByb3RlY3Rpb25TcGFjZSgp
OwotcHVibGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJf
IHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUg
QWRkUmVmKCk7CkBAIC01OCw3ICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViVVJMUHJvdGVj
dGlvblNwYWNlCiAgICAgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9u
U3BhY2UoKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJVUkxQcm90ZWN0
aW9uU3BhY2UoY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CisgICAgfldlYlVSTFBy
b3RlY3Rpb25TcGFjZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBXZWJD
b3JlOjpQcm90ZWN0aW9uU3BhY2UgbV9wcm90ZWN0aW9uU3BhY2U7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlVSTFJlc3BvbnNlLmgKaW5kZXggOTM0MTBjZDlmNDQ0Zjg5NDcwMjM2ZmQ2
OGQ4OWE2ZTgzYzFhOTA5NS4uMzNkMGE5YjEyMjA1MGM0MmEzODIxYmY0Y2Q0YTRkOTQzOTBlNjFm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUmVzcG9uc2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxSZXNwb25zZS5oCkBAIC0zMywxMSAr
MzMsNyBAQCBjbGFzcyBXZWJVUkxSZXNwb25zZSBmaW5hbCA6IHB1YmxpYyBJV2ViSFRUUFVSTFJl
c3BvbnNlLCBJV2ViVVJMUmVzcG9uc2VQcml2YXRlCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlVS
TFJlc3BvbnNlKiBjcmVhdGVJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBXZWJVUkxSZXNwb25zZSog
Y3JlYXRlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
OwotcHJvdGVjdGVkOgotICAgIFdlYlVSTFJlc3BvbnNlKCk7Ci0gICAgfldlYlVSTFJlc3BvbnNl
KCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0
cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQ
RSBBZGRSZWYoKTsKQEAgLTYyLDE0ICs1OCwxNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0OwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYlVSTFJlc3BvbnNlKCk7CisgICAgfldlYlVSTFJl
c3BvbnNlKCk7CisKICAgICBIUkVTVUxUIHN1Z2dlc3RlZEZpbGVFeHRlbnNpb24oQlNUUiogcmVz
dWx0KTsKIAogI2lmIFVTRShDRlVSTENPTk5FQ1RJT04pCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNl
cnRpZmljYXRlRGljdGlvbmFyeSgpIGNvbnN0OwogI2VuZGlmCiAKLXByb3RlY3RlZDoKICAgICBV
TE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgbV9y
ZXNwb25zZTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGE4ZTYzNzAwNGYzZDZjMDE2YmQ2ZWViODZhMjk2MDYyNjBhNDU5ZjguLjA4NDg5MWI5
ZGIyZTBjNzU5MzU4ODU2Zjg2MzU4MTlkZDRhYTc1OTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNC0yMCAg
Um9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3Nl
cyBtYXJrZWQgZmluYWwgc2hvdWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL3dpbi9VSURlbGVnYXRlLmg6CisKIDIwMjAtMDQtMjAgIE1lZ2FuIEdhcmRuZXIgIDxt
ZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBEYXRlIGFuZCBUaW1lIGZvcm0gY29u
dHJvbHMgbm90IHNob3dpbmcgY29ycmVjdCBpbml0aWFsIHZhbHVlcyBvbiBpbW1lZGlhdGUgc2Vj
b25kIGludm9jYXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVm
YXVsdFBvbGljeURlbGVnYXRlLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVmYXVsdFBv
bGljeURlbGVnYXRlLmgKaW5kZXggOTYyMTA5MTkxNDNmOGJmNWQzMzdmNzc2OWE0Y2Y0ZjkwMjA4
NzgwMy4uMDU0MDg1YWQ4ZjdmZWYyMmVkNzk4NzVkZjNlY2U4NmNkZDM3MmFkNCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuaApAQCAtMzIs
MTAgKzMyLDcgQEAgY2xhc3MgRGVmYXVsdFBvbGljeURlbGVnYXRlIGZpbmFsIDogcHVibGljIElX
ZWJQb2xpY3lEZWxlZ2F0ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIERlZmF1bHRQb2xpY3lEZWxl
Z2F0ZSogc2hhcmVkSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgRGVmYXVsdFBvbGljeURlbGVnYXRl
KiBjcmVhdGVJbnN0YW5jZSgpOwotcHJpdmF0ZToKLSAgICBEZWZhdWx0UG9saWN5RGVsZWdhdGUo
KTsKLSAgICB+RGVmYXVsdFBvbGljeURlbGVnYXRlKCk7Ci1wdWJsaWM6CisKICAgICAvLyBJVW5r
bm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFj
ZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAg
dmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUzLDcgKzUwLDEw
IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5f
b3B0XyBJV2ViRXJyb3IqLCBfSW5fb3B0XyBJV2ViRnJhbWUqKTsKIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKKyAgICBEZWZhdWx0UG9saWN5RGVsZWdhdGUoKTsKKyAgICB+RGVmYXVsdFBvbGljeURl
bGVnYXRlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9VSURlbGVnYXRlLmgKaW5kZXggZjRmOGQ1ZDI3NjM5Y2NiNzQ0NzZhY2VjZjE1
ZjI3MWRiMGZiNmU0Yy4uY2Q2ZDM0NzBiNzkyYmI3ZTNjYWY5MzZkYjYwNDY1MDYxYTkyNTBkYiAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkZWNpZGVQb2xp
Y3lGb3JHZW9sb2NhdGlvblJlcXVlc3QoX0luX29wdF8gSVdlYlZpZXcqIHNlbmRlciwgX0luX29w
dF8gSVdlYkZyYW1lKiwgX0luX29wdF8gSVdlYlNlY3VyaXR5T3JpZ2luKiwgX0luX29wdF8gSVdl
Ykdlb2xvY2F0aW9uUG9saWN5TGlzdGVuZXIqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgZGlkUHJlc3NNaXNzaW5nUGx1Z2luQnV0dG9uKF9Jbl9vcHRfIElET01FbGVt
ZW50Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgLy8gSVdlYlVJRGVsZWdhdGVQcml2
YXRlCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDEoKSB7IHJl
dHVybiBFX05PVElNUEw7IH0KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
dW51c2VkMigpIHsgcmV0dXJuIEVfTk9USU1QTDsgfQpAQCAtMTQwLDcgKzE0MCw2IEBAIHByb3Rl
Y3RlZDoKIAogICAgIFVMT05HIG1fcmVmQ291bnQgeyAxIH07CiAKLXByaXZhdGU6CiAgICAgUkVD
VCBtX2ZyYW1lOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxEUlRVbmRvTWFuYWdlcj4gbV91bmRvTWFu
YWdlcjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397046</attachid>
            <date>2020-04-20 19:16:01 -0700</date>
            <delta_ts>2020-04-20 23:11:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210775-20200420191600.patch</filename>
            <type>text/plain</type>
            <size>186776</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
M2JhNDI0YzhlYTFkOWVlNjM3ZmI1NzM3MTFkZDZlYmJkMTM4MGZlLi5kODFmYzA1NTZkMDZjNGY4
ZmQyYzI2MDhiY2U1MmRiMzNhMmUxMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMjAtMDQtMjAgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIENsYXNzZXMgbWFya2VkIGZpbmFsIHNob3VsZCBub3QgdXNlIHBy
b3RlY3RlZCBhY2Nlc3Mgc3BlY2lmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFQSS9KU0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVj
dC5oOgorICAgICAgICAqIGIzL0IzRXh0cmFjdFZhbHVlLmg6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RDb25zb2xlQ2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRT
Y3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5o
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvQWdncmVnYXRlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmg6Cisg
ICAgICAgICogcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmg6CisgICAg
ICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9CaWdJbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50T2JqZWN0Lmg6CisgICAgICAg
ICogcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29uc29sZU9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBlLmg6CisgICAgICAg
ICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9FcnJvclBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuaDoKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxh
dG9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Lmg6CisgICAgICAgICog
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRp
bWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Lmg6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaDoK
KyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oOgorICAgICAgICAqIHJ1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVy
YWxSdWxlc1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZv
cm1hdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0UHJvdG90eXBlLmg6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmg6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXN5bmNH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNEYXRhVmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxlTG9hZGVyLmg6Cisg
ICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVj
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL01hdGhPYmplY3QuaDoKKyAgICAgICAgKiBy
dW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1ByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6
ZXJBZ2VudC5oOgorICAgICAgICAqIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwLmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9S
ZWdFeHBQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgICogcnVudGltZS9TeW1ib2wu
aDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9TeW1ib2xPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFByb3RvdHlwZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvVk1UcmFwcy5jcHA6CisgICAgICAgICogdGVzdFJlZ0V4cC5j
cHA6CisgICAgICAgICogd2FzbS9XYXNtQkJRUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbUxM
SW50UGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0LmNwcDoKKyAgICAgICAgKiB3
YXNtL2pzL0pTV2ViQXNzZW1ibHkuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5o
OgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5R2xvYmFsUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUluc3Rh
bmNlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBl
Lmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmg6Cisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5oOgorICAgICAgICAq
IHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHdhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmg6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3Nl
bWJseVRhYmxlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVQcm90b3R5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0
aW9uLmg6CisKIDIwMjAtMDQtMjAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRlRMIGRvZXNuJ3Qgb2JzZXJ2ZSB0aGUgdXNlIGtpbmQgb2YgQ2hlY2tJ
c0NvbnN0YW50J3MgY2hpbGQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFhNDNjODhlODJmNGNlYzdjOWM4YjU1
NjAyNzczYzI4MGUzN2MyZC4uYzhjZGE4ZjNlNjBjNjU4OGVkOGFlZDRkNjdlODlhMGE1MmE1MzRl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNsaW5n
ICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBmaW5h
bCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5Lmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0
cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMv
d2VieHIvV2ViWFJTZXNzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3Rl
bS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5o
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuaDoKKyAg
ICAgICAgKiBhbmltYXRpb24vQ1NTQW5pbWF0aW9uLmg6CisgICAgICAgICogYmluZGluZ3MvanMv
UmVhZGFibGVTdHJlYW0uaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoK
KyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgorICAgICAgICAqIGNzcy9DU1NJbWFn
ZVNldFZhbHVlLmg6CisgICAgICAgICogaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHA6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTEZyYW1lYnVmZmVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmg6
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xRdWVyeS5oOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyYnVmZmVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xTYW1w
bGVyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xTeW5jLmg6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5oOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMVW5pZm9ybUxvY2F0aW9uLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBw
YWdlL0ZyYW1lLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwYWdl
L1BhZ2VDb25zb2xlQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVB
bmltYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1
ZGlvQnVzLmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lv
bkFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZUluZm9ybWF0aW9uQm94Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5cGVCb3guaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVHJhY2tFbmNyeXB0aW9uQm94Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9JbWFnZURlY29kZXJEaXJlY3QyRC5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94Lmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZ1bGxTY3JlZW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSdWJ5Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhclBhcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50
Lmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldC5oOgorCiAyMDIwLTA0LTIwICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1vcmUgc3RydWN0dXJl
LWNsb25pbmcgdGVzdHMgZm9yIEJpZ0ludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4MmI3NjJiNzdlZDExMWM5YTll
YWQwNjQxYTQ0M2QwNGY1MGYwZGMwLi4xN2VkN2FlNmE1N2E3ZGI0MjgwZTI4NTJlNjQ2YTg4NTU3
MDUxZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNs
aW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBm
aW5hbCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSURp
Y3Rpb25hcnkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2
YXRlUmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBN
ZXRob2QuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVj
dC5oOgorCiAyMDIwLTA0LTIwICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgbWFjQ2F0YWx5c3QgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L0NoYW5nZUxvZwppbmRleCBlODFlN2RhZjQxYjY4ZmYyZjg1NjJmZDAyOGM2ZmQxNzRlYjdjMDg2
Li44YTYxMmVlZGU5MGZkZWQ4MWE2ZDRhZDhmMjg3YWEzYzU0Nzc5Y2QxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTIwICBSb3NzIEtpcnNsaW5nICA8cm9z
cy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBDbGFzc2VzIG1hcmtlZCBmaW5hbCBzaG91
bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNzIHNwZWNpZmllcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNzc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaDoKKwogMjAyMC0wNC0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXNlICNpbXBvcnQgaW5zdGVhZCBvZiAjaW5jbHVkZSBpbiBPYmpl
Y3RpdmUtQyBhbmQgZG9uJ3QgdXNlICNwcmFnbWEgb25jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCmluZGV4IDJhZjJlZjhmNWNkNTdjOTU0OTAxMjcyZTdkZGYyNTRjZDE4ZDNkYTMuLmVjMjkx
ZDkwNDAyNzMyYjE0Mzk0OTIxMDFmNzA5MzY5MjI2MjJiY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJv
c3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hv
dWxkIG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRGVmYXVsdERvd25sb2FkRGVsZWdhdGUu
aDoKKyAgICAgICAgKiBEZWZhdWx0UG9saWN5RGVsZWdhdGUuaDoKKyAgICAgICAgKiBNZW1vcnlT
dHJlYW0uaDoKKyAgICAgICAgKiBXZWJBcHBsaWNhdGlvbkNhY2hlLmg6CisgICAgICAgICogV2Vi
QXJjaGl2ZS5oOgorICAgICAgICAqIFdlYkJhY2tGb3J3YXJkTGlzdC5oOgorICAgICAgICAqIFdl
YkNhY2hlLmg6CisgICAgICAgICogV2ViQ29yZVN0YXRpc3RpY3MuaDoKKyAgICAgICAgKiBXZWJE
YXRhU291cmNlLmg6CisgICAgICAgICogV2ViRWxlbWVudFByb3BlcnR5QmFnLmg6CisgICAgICAg
ICogV2ViRXJyb3IuaDoKKyAgICAgICAgKiBXZWJGcmFtZS5oOgorICAgICAgICAqIFdlYkZyYW1l
UG9saWN5TGlzdGVuZXIuaDoKKyAgICAgICAgKiBXZWJIVE1MUmVwcmVzZW50YXRpb24uaDoKKyAg
ICAgICAgKiBXZWJIaXN0b3J5SXRlbS5oOgorICAgICAgICAqIFdlYkphdmFTY3JpcHRDb2xsZWN0
b3IuaDoKKyAgICAgICAgKiBXZWJLaXRDbGFzc0ZhY3RvcnkuaDoKKyAgICAgICAgKiBXZWJLaXRT
dGF0aXN0aWNzLmg6CisgICAgICAgICogV2ViTXV0YWJsZVVSTFJlcXVlc3QuaDoKKyAgICAgICAg
KiBXZWJOb3RpZmljYXRpb24uaDoKKyAgICAgICAgKiBXZWJOb3RpZmljYXRpb25DZW50ZXIuaDoK
KyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlJlc291cmNlLmg6Cisg
ICAgICAgICogV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaDoKKyAgICAgICAgKiBXZWJV
UkxDcmVkZW50aWFsLmg6CisgICAgICAgICogV2ViVVJMUHJvdGVjdGlvblNwYWNlLmg6CisgICAg
ICAgICogV2ViVVJMUmVzcG9uc2UuaDoKKwogMjAyMC0wNC0xOCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJlZHVjZSBwYXJhbWV0ZXIgbGlzdCBvZiB0aGUgRnJhbWVM
b2FkUmVxdWVzdCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQ
SVZhbHVlV3JhcHBlci5oCmluZGV4IDFmNzgyMjllMGM4MGRiNGNkNjM0NjBmZjYyMTMzOTcwMTRk
YmZkOWMuLjY3MDVlY2JiYjJiNTA3ODBiMWFkZWE3NTU4NGE3YzFmMzJhMWVmYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKQEAgLTU3LDcgKzU3
LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICB9CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTVmFsdWUgdmFs
dWUpCiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CkBAIC02NSw3ICs2
NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQVNTRVJUKCF2YWx1ZS5pc0NlbGwoKSk7CiAgICAg
fQogCi1wcml2YXRlOgogICAgIEpTQVBJVmFsdWVXcmFwcGVyKFZNJiB2bSkKICAgICAgICAgOiBK
U0NlbGwodm0sIHZtLmFwaVdyYXBwZXJTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggNmUz
YzM1NjZmMmU5ZjM1YWE2NzQ1NmFhMTRiM2ZiZDA5OTRmOWQ1Yy4uZmJkMjQzMTE5NDgxMjg2NTY2
MmIyZWZjYTM0MGM2YWVjMWU4ZTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCkBAIC02MiwxMSArNjIsMTAgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8s
IFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgSlNDYWxsYmFja0NvbnN0cnVjdG9yKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgSlNDbGFzc1JlZiwgSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3Rv
ckNhbGxiYWNrKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiwgSlND
bGFzc1JlZik7CiAKLXByaXZhdGU6CiAgICAgZnJpZW5kIHN0cnVjdCBBUElDYWxsYmFja0Z1bmN0
aW9uOwogCiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFj
a09iamVjdC5oCmluZGV4IDkyY2E5MjQ3Nzk2MmJjMDRjN2E4ZWI4NmExZjQxNWQyYjE4N2YzNjEu
LmU2NDM1MTMxM2Q3Zjg3YWMxY2JkZmJiYzA2MjNmYWNhOWI4OWYwN2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCkBAIC0xMjMsMTMgKzEyMyw2IEBA
IHB1YmxpYzoKICAgICAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CiBjbGFzcyBKU0NhbGxiYWNr
T2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7Ci1wcm90ZWN0ZWQ6Ci0gICAgSlNDYWxsYmFj
a09iamVjdChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQ2xhc3NSZWYsIHZvaWQqIGRh
dGEpOwotICAgIEpTQ2FsbGJhY2tPYmplY3QoVk0mLCBKU0NsYXNzUmVmLCBTdHJ1Y3R1cmUqKTsK
LQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqKTsKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJik7Ci0KIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gUGFyZW50Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IFByb2hpYml0c1Byb3BlcnR5Q2FjaGluZyB8IE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCB8IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5M
ZW5ndGhJc05vdFplcm8gfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBPdmVycmlkZXNHZXRQcm9w
ZXJ0eU5hbWVzIHwgT3ZlcnJpZGVzR2V0Q2FsbERhdGE7CkBAIC0xOTAsNiArMTgzLDEyIEBAIHB1
YmxpYzoKICAgICB1c2luZyBQYXJlbnQ6Om1ldGhvZFRhYmxlOwogCiBwcml2YXRlOgorICAgIEpT
Q2FsbGJhY2tPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU0NsYXNzUmVmLCB2
b2lkKiBkYXRhKTsKKyAgICBKU0NhbGxiYWNrT2JqZWN0KFZNJiwgSlNDbGFzc1JlZiwgU3RydWN0
dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCiAgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJz
cGFjZUZvckltcGwoVk0mLCBTdWJzcGFjZUFjY2Vzcyk7CiAgICAgc3RhdGljIFN0cmluZyBjbGFz
c05hbWUoY29uc3QgSlNPYmplY3QqLCBWTSYpOwogICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdO
YW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0V4dHJhY3RWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL0IzRXh0cmFjdFZhbHVlLmgKaW5kZXggOTkzODRkOTYzNDlhYWVhN2U2MTZmNGJlYmIw
YjIyNmVlOGU1YWE5MS4uMjEyNWI3YjZhMzZjYjVmMTc1ZjUxOWFjMTAyNGJiNWRiMDNjZGE2MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRXh0cmFjdFZhbHVlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzRXh0cmFjdFZhbHVlLmgKQEAgLTQyLDcgKzQy
LDcgQEAgcHVibGljOgogICAgIEIzX1NQRUNJQUxJWkVfVkFMVUVfRk9SX0ZJWEVEX0NISUxEUkVO
KDEpCiAgICAgQjNfU1BFQ0lBTElaRV9WQUxVRV9GT1JfRklOQUxfU0laRV9GSVhFRF9DSElMRFJF
TgogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgZHVtcE1ldGEoQ29tbWFQcmludGVy
JiwgUHJpbnRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHN0YXRpYyBPcGNvZGUgb3Bj
b2RlRnJvbUNvbnN0cnVjdG9yKE9yaWdpbiwgVHlwZSwgVmFsdWUqLCBpbnQzMl90KSB7IHJldHVy
biBFeHRyYWN0OyB9CkBAIC01Myw3ICs1Myw2IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQog
Ci1wcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQcm9jZWR1cmU7CiAgICAgZnJpZW5kIGNsYXNz
IFZhbHVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCmluZGV4IDZjNzIxZWJjOGFmY2I1MTgyYmQ1
YjhhMTAwYjUwODBmOGMxOTljNGEuLjhmZmUzMDBkODQ0MjcxZDRmNmRkZjkxNWQyZGJlMmE1MmZj
MDJhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Vbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCkBAIC0yMzIsNiArMjMyLDggQEAgcHJpdmF0
ZToKICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSYsIFN0cnVjdHVyZSosIGNvbnN0
IFNvdXJjZUNvZGUmLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSosIFVubGlua2VkRnVuY3Rpb25LaW5k
LCBDb25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlclNjcmlwdE1vZGUsIE9wdGlvbmFsPENvbXBhY3RW
YXJpYWJsZU1hcDo6SGFuZGxlPiwgIEpTQzo6RGVyaXZlZENvbnRleHRUeXBlLCBKU0M6Ok5lZWRz
Q2xhc3NGaWVsZEluaXRpYWxpemVyLCBib29sIGlzQnVpbHRpbkRlZmF1bHRDbGFzc0NvbnN0cnVj
dG9yKTsKICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShEZWNvZGVyJiwgY29uc3QgQ2Fj
aGVkRnVuY3Rpb25FeGVjdXRhYmxlJik7CiAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisKICAgICB2b2lkIGRlY29kZUNhY2hlZENvZGVCbG9j
a3MoVk0mKTsKIAogICAgIGJvb2wgY29kZUJsb2NrRWRnZU1heUJlV2VhaygpIGNvbnN0CkBAIC0y
OTQsOSArMjk2LDYgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSYXJlRGF0YT4g
bV9yYXJlRGF0YTsKIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgcHJvdG8pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmgKaW5kZXggM2U0YTFm
ZjFkNjI4NjlmMzFkYmMyNWVjYmYxMjEyNjcyNzFiNjgzMy4uZTE3Mjc5Mzc5YWQzN2RiMGUxZjM3
YzdmYzkzNmQzYjNlNDliNjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5oCkBAIC00Nyw3
ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3BlY3RvckRlYnVnZ2VyQWdlbnQoSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCogYWdlbnQpIHsgbV9kZWJ1Z2dlckFnZW50ID0gYWdlbnQ7IH0K
ICAgICB2b2lkIHNldEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yU2NyaXB0
UHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9zY3JpcHRQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0K
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIG1lc3NhZ2VXaXRoVHlwZUFuZExldmVs
KE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8U2Ny
aXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGNvdW50KEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBvdmVycmlkZTsKICAgICB2b2lkIGNvdW50UmVz
ZXQoSlNDOjpKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYgbGFiZWwpIG92ZXJyaWRlOwpA
QCAtNjIsNyArNjIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCByZWNvcmRFbmQoSlNDOjpKU0ds
b2JhbE9iamVjdCosIFJlZjxTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2NyZWVuc2hvdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPFNjcmlwdEFyZ3VtZW50cz4mJikg
b3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgdm9pZCB3YXJuVW5pbXBsZW1lbnRlZChjb25zdCBT
dHJpbmcmIG1ldGhvZCk7CiAgICAgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxTY3JpcHRBcmd1bWVudHM+
JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5q
ZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5q
ZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggOWVjYWI4YzYyYmE2Y2MwZjljMGIyMWUxNmI5YTU2ZWI1
NDBkY2NjNi4uYjlmNjg4M2Y1ODY5ZmVlNzUxZTcwMGFlYTk1ZDA0YWU4Zjk2ZmVhYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlw
dEhvc3QuaApAQCAtODMsMTEgKzgzLDkgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBxdWVy
eUluc3RhbmNlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKICAgICBK
U0M6OkpTVmFsdWUgcXVlcnlIb2xkZXJzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxG
cmFtZSopOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7
Ci0KIHByaXZhdGU6CiAgICAgSlNJbmplY3RlZFNjcmlwdEhvc3QoSlNDOjpWTSYsIEpTQzo6U3Ry
dWN0dXJlKiwgUmVmPEluamVjdGVkU2NyaXB0SG9zdD4mJik7CisgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihKU0M6OlZNJik7CiAKICAgICBSZWY8SW5qZWN0ZWRTY3JpcHRIb3N0PiBtX3dyYXBwZWQ7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggYjAyMjhlZmI4MTkyNzU2ZDc2MDYxY2M1MDA1ZDc0MDE3
ZGRhYmQ5MS4uMWIwNWY0NjMwNTIzZWY2YjVjMDQwY2MwYzk1YmZkNzZjNzE1ZTE2YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENh
bGxGcmFtZS5oCkBAIC04NiwxMiArODYsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgc2hvcnQgR0xPQkFMX0xFWElDQUxfRU5WSVJPTk1FTlRfU0NPUEUgPSA1Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgc2hvcnQgTkVTVEVEX0xFWElDQUxfU0NPUEUg
PSA2OwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7Ci0K
IHByaXZhdGU6CiAgICAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKEpTQzo6Vk0mLCBKU0M6OlN0cnVj
dHVyZSosIFJlZjxKYXZhU2NyaXB0Q2FsbEZyYW1lPiYmKTsKICAgICB+SlNKYXZhU2NyaXB0Q2Fs
bEZyYW1lKCk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiAKICAgICBKYXZh
U2NyaXB0Q2FsbEZyYW1lKiBtX2ltcGw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCAzODE0
ZDY5NmJhYzkzMTM0NzVlYzcyN2FmYzQ5MGQ5ZDAxZDBiMDIzLi5iMzRmMDFlYTgyYjc4OWEwZmU2
Y2NmMGRmZjExMGVhNjgwYTU2OTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtNDYwLDExICs0
NjAsOCBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBzdHJpbmdGcm9tVVRGKGNvbnN0IFZlY3RvciYg
dXRmOCkKIH0KIAogY2xhc3MgR2xvYmFsT2JqZWN0IGZpbmFsIDogcHVibGljIEpTR2xvYmFsT2Jq
ZWN0IHsKLXByaXZhdGU6Ci0gICAgR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7Ci0KIHB1
YmxpYzoKLSAgICB0eXBlZGVmIEpTR2xvYmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9
IEpTR2xvYmFsT2JqZWN0OwogCiAgICAgc3RhdGljIEdsb2JhbE9iamVjdCogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhcmd1bWVudHMp
CiAgICAgewpAQCAtNDgzLDcgKzQ4MCw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBSdW50aW1l
RmxhZ3MgamF2YVNjcmlwdFJ1bnRpbWVGbGFncyhjb25zdCBKU0dsb2JhbE9iamVjdCopIHsgcmV0
dXJuIFJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpOyB9CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CisgICAgR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CisKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cykKICAg
ICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5oCmluZGV4IDdhMjI5NjRlMWEwNDUzYzA1
N2RmYWM4OWJiN2YyYjUzZmMyNmQ0M2MuLjhiODc1ZGQxYWEyMGMyYWMyMjI0OWZkYTlhMDAwNzk1
ODA2NzdmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3Jl
Z2F0ZUVycm9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRl
RXJyb3IuaApAQCAtODEsMTAgKzgxLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9lcnJv
cnM7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGV4cGxpY2l0IEFnZ3JlZ2F0
ZUVycm9yKFZNJiwgU3RydWN0dXJlKiwgY29uc3QgTWFya2VkQXJndW1lbnRCdWZmZXImIGVycm9y
cyk7CiAKLXByaXZhdGU6CiAgICAgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtub3duPj4gbV9lcnJv
cnM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dy
ZWdhdGVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdn
cmVnYXRlRXJyb3JQcm90b3R5cGUuaAppbmRleCA3MTQ1YjI1MmM3N2IyOWExYjYwODY3NDcyODAy
OTkzYWJjMTI3NTMwLi4zNzgzMGZkODRmZWVmNWMwN2ZlMGFjYzEzYzAzNTZiZTMzODU2NTMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvclBy
b3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVy
cm9yUHJvdG90eXBlLmgKQEAgLTM3LDkgKzM3LDYgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFz
cyBBZ2dyZWdhdGVFcnJvclByb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBFcnJvclByb3RvdHlwZUJh
c2UgewotcHJpdmF0ZToKLSAgICBBZ2dyZWdhdGVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEVycm9yUHJvdG90eXBlQmFzZTsKIApA
QCAtNjIsNyArNTksOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAgICAg
fQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEFnZ3JlZ2F0ZUVycm9yUHJvdG90eXBlKFZN
JiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNv
bnN0cnVjdG9yLmgKaW5kZXggMTE5ZmVhMGE1MmQxNTEzOGE1MDU5ZWFiNzVkNDljNzk5ZTBjZjc4
NS4uNTMwZTYzNDUyZDhiZTk5NjRhNDRhNGY5ZDExY2FmNmM4MWRjNWFlZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtNDksMTEg
KzQ5LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhJbnRlcm5hbEZ1bmN0aW9uVHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5UHJvdG90eXBlKiwgR2V0dGVy
U2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKLQogcHJpdmF0ZToKICAgICBBcnJheUNvbnN0cnVjdG9y
KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgQXJyYXlQcm90b3R5cGUqLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wpOwog
fTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEFycmF5Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuaAppbmRleCBhNTIwMTU0ZWExZmZkMzMwYThjMTlhYTA0ZDk4YTRlYmU1
NjRhYmEzLi41M2VmNjlhNTQ4MmRlZWUyZTk1NTFmOGFhODMzNmNiYTdmZmQzNzE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgKQEAgLTI1LDkg
KzI1LDYgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBBcnJheVByb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU0FycmF5IHsKLXByaXZhdGU6Ci0gICAgQXJyYXlQcm90b3R5cGUoVk0mLCBTdHJ1
Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU0FycmF5OwogCkBAIC00Niw3
ICs0Myw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRGVyaXZlZEFycmF5VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCksIEFycmF5Q2xhc3MpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKKyAgICBBcnJheVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEFycmF5UHJvdG90eXBlLCBBcnJheVByb3RvdHlwZTo6QmFzZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9u
UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0Z1bmN0aW9u
UHJvdG90eXBlLmgKaW5kZXggYWZiOWEyMmU5Y2YwMjdkYWIwOGFkOWIzZDNkZDdlNTkxODYxNWVh
ZC4uNDdlNjcyNWVhZjY4MWQ1YWNjOTM2YWJmNzY3MGFiNWJhN2E3NmZkZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUu
aApAQCAtNTQsMTEgKzU0LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgQXN5bmNGdW5jdGlvblByb3RvdHlwZShW
TSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXN5bmNHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IDQ3ZDQ2
NDQ3N2ZhYWNhMGU0MDZkMGEzNDM4ZTQ4NTRhNTQxNDIxZGQuLjkzNWI3MTBjYWJkZjRlYzMwZTJh
OWIzYWNiNTdjNjIzMzJhNDhlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bc3luY0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKQEAg
LTU0LDExICs1NCw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5
cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0F0b21pY3NPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0
b21pY3NPYmplY3QuaAppbmRleCA1MjNhNTc4Y2QyNGU4OGViNTQ2YWU2NDc0ZjRjMTVlMTc4NDM1
ZDRhLi4wODZmNWVkZjM2MTkxYzM1NjE4MDY1NjBkMzFiYmEyMjZkNDA3NzQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCkBAIC0zMCw5ICszMCw2
IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQXRvbWljc09iamVjdCBmaW5hbCA6IHB1Ymxp
YyBKU05vbkZpbmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgQXRvbWljc09iamVjdChWTSYsIFN0
cnVjdHVyZSopOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7
CiAKQEAgLTQ5LDcgKzQ2LDggQEAgcHVibGljOgogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CisgICAgQXRvbWljc09iamVjdChWTSYsIFN0cnVjdHVyZSopOwogICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50Q29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludENvbnN0cnVjdG9yLmgKaW5kZXgg
MThjNDYwNjcxNjk1Mzc4MjdiMjEwOTIxMzcyMzFmNjg2OTQ2MzgxMy4uMWI5MTFiOTE3YzFiY2Q4
NWNkM2UyY2RiMDgwY2IzZTFjMjIwNjM5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQmlnSW50Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CaWdJbnRDb25zdHJ1Y3Rvci5oCkBAIC01MiwxMSArNTIsOSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
bywgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgQmln
SW50UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgQmlnSW50Q29uc3RydWN0b3IoVk0mLCBT
dHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgQmlnSW50UHJvdG90eXBl
Kik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoQmlnSW50Q29uc3Ry
dWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9CaWdJbnRPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0JpZ0ludE9iamVjdC5oCmluZGV4IGRlY2NmZGU1ZmU2ZWU1ZjJkYzRkMDg1ZDBlYzMyMDYx
ZDc1ODcxZjcuLmUyNTk1Njc5ZWQ1NWE0MmM0YzUyZmU2MDExNTJmYzEzNWUwZWQxYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludE9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludE9iamVjdC5oCkBAIC01NSw3ICs1
NSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpT
T2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNWYWx1ZSk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgQmlnSW50T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaAppbmRleCBk
OWU1ZjNlMmRkZjViZDcwMTE1MDA1NGYyYWI2ZTFiZDE4NDU1ZWNkLi43YzUyZTRiMTg3NGFiNDJk
NzQ5MjE0NzYxYjFhNjMzNzk4MGZiOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9CaWdJbnRQcm90b3R5cGUuaApAQCAtNTYsMTEgKzU2LDkgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
Kik7Ci0KIHByaXZhdGU6CiAgICAgQmlnSW50UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9v
bGVhbkNvbnN0cnVjdG9yLmgKaW5kZXggZWZhZmNhODRlMTdiNjA3MGM2ZGFlOGM1ODE5ZDJkYWQw
M2RkZDhhNS4uZTYzYjk1MDY0ZjE2NmYxZTRhMWQ3NDA3MDc4YjBiNTZmOGFlYzgxNiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgK
QEAgLTQ1LDExICs0NSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlv
blR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsgCiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJvb2xlYW5Qcm90b3R5cGUqKTsKLQogcHJpdmF0
ZToKICAgICBCb29sZWFuQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgQm9vbGVhblByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRf
SVNPX1NVQlNQQUNFX1NIQVJBQkxFKEJvb2xlYW5Db25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlv
bik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Q
cm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5
cGUuaAppbmRleCAyZDIwMDhjYTYxYjM5MDc3MDMzZDY0ZTNmODU5YTVhZjZmNjgyM2ZlLi4wYWFi
MDU1OTE4OGRmNTIxY2VlZjI5MzhiNzgzNTUwY2FkZjIyZjc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5oCkBAIC00MywxMSArNDMsOSBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBCb29sZWFuUHJvdG90eXBlKFZNJiwg
U3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
Kik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoQm9vbGVhblByb3Rv
dHlwZSwgQm9vbGVhbk9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbnNvbGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbnNvbGVPYmplY3QuaAppbmRleCA0NjcxOTQyMDA3MzI1MjVjNzFmY2IwMzJjZGQzYjY1NDkx
NjExYjZjLi40ZGRhYTVkNTYyYWI0ODFlODVkNDhlMDk2NzY3ODM3MmIwNjI4NzhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db25zb2xlT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uc29sZU9iamVjdC5oCkBAIC0zMCw5ICsz
MCw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQ29uc29sZU9iamVjdCBmaW5hbCA6IHB1
YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgQ29uc29sZU9iamVjdChWTSYs
IFN0cnVjdHVyZSopOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CiAKQEAgLTU3LDcgKzU0LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBl
LCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgorICAgIENvbnNvbGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggOTJiOGVkM2JiYzg3MjQ1MDVj
ODdmYWVhMDNhNzQ5NGM4NjQ0M2Q3OS4uYjMyNGUwNTkxNTNmMzViNDM0OWMyNTYyMmU4Nzg3Zjgw
MDVjZGQyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKQEAgLTQ2LDExICs0Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSW50ZXJu
YWxGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3Rl
Y3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgRGF0ZVByb3RvdHlwZSopOwotCiBw
cml2YXRlOgogICAgIERhdGVDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBEYXRlUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoRGF0ZUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5oCmluZGV4
IGE4ODg2YjEwYWJmOTY5MGVmMzgyMzFmNTFlZTU3ZTQ2MjcxYWZkNDYuLmVlYWFkMzdjYjRhNWI2
YzU2MTdiOTc2MTcyOWEwMDYyNTk3MzllN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlUHJvdG90eXBlLmgKQEAgLTI3LDkgKzI3LDYgQEAgbmFtZXNwYWNlIEpTQyB7
CiBjbGFzcyBPYmplY3RQcm90b3R5cGU7CiAKIGNsYXNzIERhdGVQcm90b3R5cGUgZmluYWwgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIERhdGVQcm90b3R5cGUoVk0m
LCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNl
OjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC01NSw3ICs1Miw4
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBEYXRlUHJvdG90eXBl
KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmgKaW5kZXggOWE1YTQ2MzIxYjNkYmI3NjRjMmExYjUyMWQ5MjY4ZjhkMTQz
NTMzMy4uNmUxYmVhYTYxMWU3NjdkZWIzM2ViNGIxZjA2NmNlZDFlZmI1ZjU1NyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApAQCAtNDUs
MTUgKzQ1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlvblR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsgCiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgorICAgIEVycm9yQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgRXJyb3JQcm90b3R5cGUqKTsKIAogICAgIHN0YXRpYyBib29sIHB1dChK
U0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVy
dHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgSlNHbG9i
YWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIERlbGV0ZVByb3BlcnR5U2xvdCYpOwotCi1wcml2YXRl
OgotICAgIEVycm9yQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogfTsKIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEVycm9yQ29uc3RydWN0b3IsIEludGVybmFsRnVu
Y3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
clByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5
cGUuaAppbmRleCBiYTFlNWI1MjczZGM5OTY4YjZkNThlYzQ2M2EwYjQxYTUwODJiOWZmLi4yNWJl
MDg3NDJiYjVmNjJlMGRlZjY4MGZkNmNlODNkNDliM2FhMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKICAgICBFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ZpbGVCYXNlZEZ1enplckFnZW50LmgK
aW5kZXggYzkyOTExZmQ0MzljYWVkMjlkYWZlYzZjYzQxNmU0MWQzZTdkNGE0My4uNzVlMDMzNTcx
OTEwODBjMTM3YTQ4MjMyMzhiNTRhNzNiNGM4ZjFiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRmlsZUJhc2VkRnV6emVyQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GaWxlQmFzZWRGdXp6ZXJBZ2VudC5oCkBAIC0zNyw3ICszNyw3
IEBAIGNsYXNzIEZpbGVCYXNlZEZ1enplckFnZW50IGZpbmFsIDogcHVibGljIEZpbGVCYXNlZEZ1
enplckFnZW50QmFzZSB7CiBwdWJsaWM6CiAgICAgRmlsZUJhc2VkRnV6emVyQWdlbnQoVk0mKTsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBTcGVjdWxhdGVkVHlwZSBnZXRQcmVkaWN0aW9u
SW50ZXJuYWwoQ29kZUJsb2NrKiwgUHJlZGljdGlvblRhcmdldCYsIFNwZWN1bGF0ZWRUeXBlIG9y
aWdpbmFsKSBvdmVycmlkZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblByb3RvdHlwZS5oCmluZGV4IDk2YjAzNGFiZWZlYjkxYzU3NTRkMTRiZDEx
ZTgxMDBiNmI4Y2VjMmYuLjU2YjI3NTQ1NTJlNmMyMTk3MmE5ZmFhOWViMTRlOTg1OWZhMWNjMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5
cGUuaApAQCAtNDYsMTEgKzQ2LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIGNvbnN0IFN0cmluZyYgbmFt
ZSk7Ci0KIHByaXZhdGU6CiAgICAgRnVuY3Rpb25Qcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgY29uc3QgU3RyaW5nJiBuYW1lKTsKIH07CiBT
VEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShGdW5jdGlvblByb3RvdHlwZSwgSW50
ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUmFyZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUmFyZURhdGEuaAppbmRleCBkZTVlMGIwMGQzNGNkZmMwNzA5NTdmMTQwNmIzMGJkZTVm
NmRjODA1Li44ZWE2YWMwNmJiYjM1MmQ5ZDhiNDk1ZTk3NDE4ODE1M2RiNmE3OTkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCkBAIC0x
MzgsMTMgKzEzOCwxMiBAQCBwdWJsaWM6CiAgICAgV2F0Y2hwb2ludCogY3JlYXRlQWxsb2NhdGlv
blByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKTsKICAgICBjbGFzcyBBbGxvY2F0aW9uUHJvZmls
ZUNsZWFyaW5nV2F0Y2hwb2ludDsKIAotcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IEZ1bmN0aW9u
UmFyZURhdGEoVk0mLCBFeGVjdXRhYmxlQmFzZSopOwotICAgIH5GdW5jdGlvblJhcmVEYXRhKCk7
Ci0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAor
ICAgIGV4cGxpY2l0IEZ1bmN0aW9uUmFyZURhdGEoVk0mLCBFeGVjdXRhYmxlQmFzZSopOworICAg
IH5GdW5jdGlvblJhcmVEYXRhKCk7CisKICAgICAvLyBJZGVhbGx5LCB0aGVyZSB3b3VsZCBvbmx5
IGJlIG9uZSBhbGxvY2F0aW9uIHByb2ZpbGUgZm9yIHN1YmNsYXNzaW5nIGJ1dCBkdWUgdG8gUmVm
bGVjdC5jb25zdHJ1Y3Qgd2UKICAgICAvLyBoYXZlIHR3by4gVGhlcmUgYXJlIHNvbWUgcHJvcyBh
bmQgY29ucyBpbiBjb21wYXJpc29uIHRvIG91ciBjdXJyZW50IHN5c3RlbSB0byB1c2luZyB0aGUg
c2FtZSBwcm9maWxlCiAgICAgLy8gZm9yIGJvdGggSlMgY29uc3RydWN0b3JzIGFuZCBzdWJjbGFz
c2VzIG9mIGJ1aWx0aW4gY29uc3RydWN0b3JzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmgKaW5kZXggNDhl
YmZkMzdjYzE4NzNhYzA0Njk3OWNjMmNmZmNkYTUzMDQzZjBmOC4uNjU3YWIwNmQzZThhZGE2YWFi
MTk3ZGEyMWNjNjlkNWNmNGFlNjg0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5oCkBAIC01NiwxMSAr
NTYsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgR2VuZXJhdG9yRnVuY3Rp
b25Qcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKaW5kZXggODFlZDA4YTQ2N2U2
OTVkYTE0OWJiZGUxZDA4YTNkMDFmMmQ5ODZmZC4uNGY4NjRlZDBjYjFkMjdmZmZlOGFlMzZlMmQ5
NDQ2YmRkYmFiYTEwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
R2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKQEAgLTMyLDkgKzMyLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiBjbGFzcyBHZW5lcmljVHlwZWRBcnJh
eVZpZXcgZmluYWwgOiBwdWJsaWMgQXJyYXlCdWZmZXJWaWV3IHsKLXByb3RlY3RlZDoKLSAgICBH
ZW5lcmljVHlwZWRBcnJheVZpZXcoUmVmUHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25lZCBieXRl
T2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxHZW5l
cmljVHlwZWRBcnJheVZpZXc+IGNyZWF0ZSh1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBS
ZWY8R2VuZXJpY1R5cGVkQXJyYXlWaWV3PiBjcmVhdGUoY29uc3QgdHlwZW5hbWUgQWRhcHRvcjo6
VHlwZSogYXJyYXksIHVuc2lnbmVkIGxlbmd0aCk7CkBAIC0xMTksNiArMTE2LDkgQEAgcHVibGlj
OgogICAgIH0KIAogICAgIEpTQXJyYXlCdWZmZXJWaWV3KiB3cmFwKEpTR2xvYmFsT2JqZWN0Kiwg
SlNHbG9iYWxPYmplY3QqKSBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBHZW5lcmljVHlwZWRB
cnJheVZpZXcoUmVmUHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNp
Z25lZCBsZW5ndGgpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bk9iamVjdC5oCmluZGV4IDZkNmUxZmY1NDY2ZTNjZTAyMTkwNmU3NDIwMWZlNDQ2MzcwYTYxN2Qu
LjkzMjM2YTEwNGNkNTdkMTQ4NDUwNTllZWU5NGY1MzYyYTY4OTllNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbk9iamVjdC5oCkBAIC0zMCw5ICszMCw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xh
c3MgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uT2JqZWN0IGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3Qo
Vk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFs
T2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7CkBAIC02Miw3ICs1
OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2FibGUoVk0mKTsKICAgICBib29sIGlzRW5hYmxl
ZChWTSYpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbk9iamVjdChWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsQ29sbGF0b3IuaAppbmRleCAxMjdiNWFlYjg3ZTEzNDcwMzFlZmViMDUwZWZk
YmVlNjE1YTQ5NjQ2Li5mNjZlY2UwMDZjYWY4Mjc5Y2I1YjkyMjA2OTIwMjI0MmRmZGRhNTIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3IuaApAQCAtNjIs
MTIgKzYyLDExIEBAIHB1YmxpYzoKICAgICBKU0JvdW5kRnVuY3Rpb24qIGJvdW5kQ29tcGFyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYm91bmRDb21wYXJlLmdldCgpOyB9CiAgICAgdm9pZCBzZXRCb3Vu
ZENvbXBhcmUoVk0mLCBKU0JvdW5kRnVuY3Rpb24qKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToK
ICAgICBJbnRsQ29sbGF0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90Vmlz
aXRvciYpOwogCi1wcml2YXRlOgogICAgIGVudW0gY2xhc3MgVXNhZ2UgOiB1aW50OF90IHsgU29y
dCwgU2VhcmNoIH07CiAgICAgZW51bSBjbGFzcyBTZW5zaXRpdml0eSA6IHVpbnQ4X3QgeyBCYXNl
LCBBY2NlbnQsIENhc2UsIFZhcmlhbnQgfTsKICAgICBlbnVtIGNsYXNzIENhc2VGaXJzdCA6IHVp
bnQ4X3QgeyBVcHBlciwgTG93ZXIsIEZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0b3IuaAppbmRleCBmNzdhYmVl
MjhiYzM5YWZhZmE3YjFlY2Q4YzJhZDkzM2QxYzBkMjExLi43OTAxYjJmMTRlZDhmMjU0YmRlODg2
OWI3NmM3ZDFlMjFmZmQ3ZmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVjdG9yLmgKQEAgLTQ1LDExICs0NSw5IEBAIHB1
YmxpYzoKIAogICAgIFN0cnVjdHVyZSogY29sbGF0b3JTdHJ1Y3R1cmUoVk0mKSBjb25zdCB7IHJl
dHVybiBnbG9iYWxPYmplY3QoKS0+Y29sbGF0b3JTdHJ1Y3R1cmUoKTsgfQogCi1wcm90ZWN0ZWQ6
Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEludGxDb2xsYXRvclByb3RvdHlwZSopOwot
CiBwcml2YXRlOgogICAgIEludGxDb2xsYXRvckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEludGxDb2xsYXRvclByb3RvdHlwZSopOwog
fTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEludGxDb2xsYXRvckNvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuaAppbmRleCBlMDVmYzhkYTk5ZjM5
OTIwNGU5ZDhlODJhZjY5Mzk1YjIyYTg0ZDc1Li5hNDFjYjU5Y2ViOTY4ZDQ1MWM0YjVmM2I3NmQ3
Mjk3MmVjNDkxMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsQ29sbGF0b3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuaApAQCAtNDcsMTEgKzQ3LDkgQEAgcHVibGljOgogCiAg
ICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYpOwotCiBwcml2YXRlOgogICAgIEludGxDb2xsYXRvclByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVU
aW1lRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVG
b3JtYXQuaAppbmRleCA3OGVjMDJjYzQxM2FjZTgyNWEyODBlNDVmZDFmYTBiMjBlNDY0YjVmLi43
YjhiYzk1NGMzZTAxZjZjNDljZDkxOGUxY2Y0ODE1M2I2NTI2YTRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuaApAQCAtNjIsMTIg
KzYyLDExIEBAIHB1YmxpYzoKICAgICBKU0JvdW5kRnVuY3Rpb24qIGJvdW5kRm9ybWF0KCkgY29u
c3QgeyByZXR1cm4gbV9ib3VuZEZvcm1hdC5nZXQoKTsgfQogICAgIHZvaWQgc2V0Qm91bmRGb3Jt
YXQoVk0mLCBKU0JvdW5kRnVuY3Rpb24qKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJ
bnRsRGF0ZVRpbWVGb3JtYXQoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90Vmlz
aXRvciYpOwogCi1wcml2YXRlOgogICAgIGVudW0gY2xhc3MgV2Vla2RheSA6IHVpbnQ4X3QgeyBO
b25lLCBOYXJyb3csIFNob3J0LCBMb25nIH07CiAgICAgZW51bSBjbGFzcyBFcmEgOiB1aW50OF90
IHsgTm9uZSwgTmFycm93LCBTaG9ydCwgTG9uZyB9OwogICAgIGVudW0gY2xhc3MgWWVhciA6IHVp
bnQ4X3QgeyBOb25lLCBUd29EaWdpdCwgTnVtZXJpYyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
LmgKaW5kZXggMmEwNjFlYzBlZGU2Y2FiOTU4YzRhNTFhZDdjOTY1NTlmZTcxYTFhMC4uNTUwMGMz
ZGJiOWQ4ZjcxNGVkOTAwZWExY2Y4ZjAwMzUxMTgxZDIyYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5oCkBAIC00NSwxMSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBTdHJ1Y3R1cmUqIGRhdGVU
aW1lRm9ybWF0U3RydWN0dXJlKFZNJikgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPmRh
dGVUaW1lRm9ybWF0U3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToK
ICAgICBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUqKTsK
IH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsRGF0ZVRpbWVGb3Jt
YXRDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmgK
aW5kZXggMGU0MTBkYTA2MWQ2Y2VjOGJlY2MxZmE4YThiNjYwNWZkYTgyMDViMC4uZGYxMmQ0MzQ2
YTVkZmI4OWZiY2E4NDNlZDEyZTcwNTJhOTc1NmNmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmgK
QEAgLTQ3LDExICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVj
dGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBJbnRs
RGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuaAppbmRleCA5ZjEwYjVkNDM2
NzBiOGRlMmY2ZjQwZTRkNzczMzg1ZTM1NmYxODAxLi4xMzU3ZTU3NWMxYWQ4OTU2YzVjMWY2OWY4
ZjIyMWQyNGQxMzI2NGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsTnVtYmVyRm9ybWF0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE51bWJlckZvcm1hdC5oCkBAIC02NiwxMiArNjYsMTEgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIHZvaWQgZm9ybWF0VG9QYXJ0c0ludGVybmFsKEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlLCBj
b25zdCBTdHJpbmcmIGZvcm1hdHRlZCwgVUZpZWxkUG9zaXRpb25JdGVyYXRvciosIEpTQXJyYXkq
LCBKU1N0cmluZyogdW5pdCA9IG51bGxwdHIpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IEludGxOdW1iZXJGb3JtYXQoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90Vmlz
aXRvciYpOwogCi1wcml2YXRlOgogICAgIGVudW0gY2xhc3MgU3R5bGUgOiB1aW50OF90IHsgRGVj
aW1hbCwgUGVyY2VudCwgQ3VycmVuY3kgfTsKICAgICBlbnVtIGNsYXNzIEN1cnJlbmN5RGlzcGxh
eSA6IHVpbnQ4X3QgeyBDb2RlLCBTeW1ib2wsIE5hbWUgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3Iu
aAppbmRleCA1YjUyMDAyMDIxNzcyZGQwY2IyNjY3YmQ1OTFlZmNhM2ZmYzllMDk4Li5jOWMwMDVl
ZTg4ZWU4ZDgzNDdkMGVkZTFmYzdjYzQ4OGMyYzQwZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3Iu
aApAQCAtNDUsMTEgKzQ1LDkgQEAgcHVibGljOgogCiAgICAgU3RydWN0dXJlKiBudW1iZXJGb3Jt
YXRTdHJ1Y3R1cmUoVk0mKSBjb25zdCB7IHJldHVybiBnbG9iYWxPYmplY3QoKS0+bnVtYmVyRm9y
bWF0U3RydWN0dXJlKCk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgSW50bE51
bWJlckZvcm1hdENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IsIElu
dGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmgKaW5kZXggNjlkZTI0NTQ4ODM1Mzk1
ZThlNmZiMmYxNTI0OWQ5M2IxNTQwNmVlMy4uNjE3NWY5ZGQwOTM3OTI5ZjhmZWJkYWNiYzRlOGZj
ZGQ0NmJjMzc0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bE51bWJlckZvcm1hdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuaApAQCAtNDcsMTEgKzQ3LDkgQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYpOwotCiBwcml2YXRlOgogICAgIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUoVk0m
LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxQbHVyYWxSdWxlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBs
dXJhbFJ1bGVzLmgKaW5kZXggMDU1NDdmODRjNGU3MGQ5NTA0ODA5YjkxZDQ3NTBiMzNkZTQzZTBj
OS4uN2FhNTJlZDA4YTYwNmRjYWM0MGVkYjk4NDRhOTdiM2YzYmRiMTRiYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKQEAgLTU3LDEyICs1
NywxMSBAQCBwdWJsaWM6CiAgICAgSlNWYWx1ZSBzZWxlY3QoSlNHbG9iYWxPYmplY3QqLCBkb3Vi
bGUgdmFsdWUpOwogICAgIEpTT2JqZWN0KiByZXNvbHZlZE9wdGlvbnMoSlNHbG9iYWxPYmplY3Qq
KTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJbnRsUGx1cmFsUnVsZXMoVk0mLCBTdHJ1
Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAgICAgc3RhdGljIHZvaWQg
dmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi1wcml2YXRlOgogICAgIHN0
cnVjdCBVUGx1cmFsUnVsZXNEZWxldGVyIHsKICAgICAgICAgdm9pZCBvcGVyYXRvcigpKFVQbHVy
YWxSdWxlcyopIGNvbnN0OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuaAppbmRleCA5MjIzN2Qx
MDZmOGUyNzlkNWIzNGVlM2IxOTMyNzc3YTM0ZmRkYTk1Li43ZjNkMDNmZWNhNTYxYTBhNDg1N2M4
MDhkZWNiM2FmYzRiYzIzZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmgKQEAgLTQ1LDExICs0NSw5
IEBAIHB1YmxpYzoKIAogICAgIFN0cnVjdHVyZSogcGx1cmFsUnVsZXNTdHJ1Y3R1cmUoVk0mKSBj
b25zdCB7IHJldHVybiBnbG9iYWxPYmplY3QoKS0+cGx1cmFsUnVsZXNTdHJ1Y3R1cmUoKTsgfQog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEludGxQbHVyYWxSdWxl
c1Byb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIEludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9y
KFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEludGxQbHVy
YWxSdWxlc1Byb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJB
QkxFKEludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzUHJv
dG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNQ
cm90b3R5cGUuaAppbmRleCA5YTFjMmYxNjkyMDVkM2ExZDMyY2ZhM2Y4ZGI2YTQ3MDE4ZjBlMWQ4
Li42ZmFhM2E0Zjc4YWVhNTk4NDMyY2IxMzAzN2YxMDM1OTM2MjUwODRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNQcm90b3R5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNQcm90b3R5
cGUuaApAQCAtNDcsMTEgKzQ3LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAg
IEludGxQbHVyYWxSdWxlc1Byb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdENvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1l
Rm9ybWF0Q29uc3RydWN0b3IuaAppbmRleCBjOGNjZmYyNDE0ZjMyNmYyMzkyYjZjM2YzYWZjYmNk
YzMxMGVlMWU0Li45NmFlNzViMzhjMzJlMWUwYTNmMTM1Yjc5YWViMjY3OTFiZjlhOWNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
UmVsYXRpdmVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaApAQCAtNDQsMTEgKzQ0LDkgQEAgcHVibGlj
OgogCiAgICAgU3RydWN0dXJlKiByZWxhdGl2ZVRpbWVGb3JtYXRTdHJ1Y3R1cmUoVk0mKSBjb25z
dCB7IHJldHVybiBnbG9iYWxPYmplY3QoKS0+cmVsYXRpdmVUaW1lRm9ybWF0U3RydWN0dXJlKCk7
IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBJbnRsUmVsYXRp
dmVUaW1lRm9ybWF0UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgSW50bFJlbGF0aXZlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNf
QVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShJbnRsUmVsYXRpdmVUaW1lRm9ybWF0Q29uc3Ry
dWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUmVsYXRpdmVUaW1lRm9ybWF0UHJvdG90eXBlLmgK
aW5kZXggY2NiYWVhOGU3NWE0ODEyODgwODJiNTkwODBhMGFlZGNlZTUwNzM1OC4uZTAwZWJmMDYz
YjllNTQ2OGNjZDMyZDM2ODliMGUzMTdlZWM2NTY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdFByb3RvdHlwZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXRQcm90
b3R5cGUuaApAQCAtNDYsMTEgKzQ2LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwog
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgog
ICAgIEludGxSZWxhdGl2ZVRpbWVGb3JtYXRQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXIuaAppbmRleCBiYTJl
NjcyODNlNGM4ZDU0MzI0MWFiMDcwMzliZTkzMWI2YTIyYzQxLi42YmVhNGNmZjE0OTFmOTk0YWJj
M2U4MDU2ZTZiNDNjNDMxNTI1ZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5QnVmZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlci5oCkBAIC00MCwxMiArNDAsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICByZXR1cm4gdm0uYXJyYXlCdWZmZXJTcGFjZTxtb2RlPigpOwogICAgIH0KLSAgICAKLXBy
b3RlY3RlZDoKLSAgICBKU0FycmF5QnVmZmVyKFZNJiwgU3RydWN0dXJlKiwgUmVmUHRyPEFycmF5
QnVmZmVyPiYmKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
KTsKLSAgICAKLXB1YmxpYzoKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCByZWdpc3RlciB0
aGUgbmV3IHdyYXBwZXIgd2l0aCB0aGUgdm0ncyBUeXBlZEFycmF5Q29udHJvbGxlci4KICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNBcnJheUJ1ZmZlciogY3JlYXRlKFZNJiwgU3RydWN0
dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmKTsKIApAQCAtNjEsMTAgKzU2LDEyIEBAIHB1Ymxp
YzoKICAgICAvLyBUaGlzIGlzIHRoZSBkZWZhdWx0IERPTSB1bndyYXBwaW5nLiBJdCBjYWxscyB0
b1Vuc2hhcmVkQXJyYXlCdWZmZXIoKS4KICAgICBzdGF0aWMgQXJyYXlCdWZmZXIqIHRvV3JhcHBl
ZChWTSYsIEpTVmFsdWUpOwogICAgIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBKU0FycmF5
QnVmZmVyKFZNJiwgU3RydWN0dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKKwogICAgIHN0YXRpYyBzaXpl
X3QgZXN0aW1hdGVkU2l6ZShKU0NlbGwqLCBWTSYpOwogCi1wcml2YXRlOgogICAgIEFycmF5QnVm
ZmVyKiBtX2ltcGw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCmluZGV4IDQzMTM5ZjZjN2ZiNWQ5MzAy
ZmI3ZTM5MjQwYjU4ZmU5ZGE3MTBjYTYuLmY2NWUwMjAxMTI2YTY2ZTUwOGZlMTUxMWVmNzI2M2M5
MDlkMWZkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCkBAIC0zOCwxMyArMzgsNiBAQCBjbGFzcyBKU0dl
bmVyaWNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEludGVybmFsRnVuY3Rp
b24gewogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBJbnRlcm5hbEZ1bmN0aW9uOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVmZmVyUHJvdG90eXBl
KiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKLQotICAgIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdEFycmF5QnVmZmVyKEpTR2xvYmFsT2JqZWN0Kiwg
Q2FsbEZyYW1lKik7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNHZW5lcmljQXJyYXlCdWZmZXJD
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlC
dWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzU3ltYm9sKQog
ICAgIHsKICAgICAgICAgSlNHZW5lcmljQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogcmVzdWx0ID0K
QEAgLTU3LDYgKzUwLDEyIEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJ
bmZvIHNfaW5mbzsgLy8gVGhpcyBpcyBuZXZlciBhY2Nlc3NlZCBkaXJlY3RseSwgc2luY2UgdGhh
dCB3b3VsZCBicmVhayBsaW5rYWdlIG9uIHNvbWUgY29tcGlsZXJzLgogICAgIHN0YXRpYyBjb25z
dCBDbGFzc0luZm8qIGluZm8oKTsKKworcHJpdmF0ZToKKyAgICBKU0dlbmVyaWNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqLCBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNTeW1ib2wp
OworCisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0QXJy
YXlCdWZmZXIoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKIH07CiAKIHVzaW5nIEpTQXJy
YXlCdWZmZXJDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY0FycmF5QnVmZmVyQ29uc3RydWN0b3I8QXJy
YXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdD47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmgKaW5kZXggZmI0NDQ4N2Iw
ODI4OGEzNDU1ZGVjNDY2ZWZkOThjNDdkMTJlODNmNy4uYzAwY2I3MTVhNDMwNzdjMTg3Nzk0YTEy
MDAzNDQ1YTYxMmMzMWUyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaApAQCAtNDAsMTYgKzQwLDE1IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwogICAgIH0KIAotcHJvdGVj
dGVkOgotICAgIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBBcnJheUJ1ZmZlclNoYXJp
bmdNb2RlKTsKLQotcHVibGljOgogICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBj
cmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEFycmF5QnVmZmVyU2hhcmlu
Z01vZGUgPSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KTsKICAgICAKICAgICBERUNM
QVJFX0lORk87CiAgICAgCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisKK3ByaXZhdGU6CisgICAg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5QnVmZmVyU2hhcmluZ01vZGUpOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FzeW5jR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FzeW5jR2VuZXJhdG9yLmgKaW5kZXggMjdkNTI3OTNlZjNlYjk3ODIyYmZhYjZlODQ5
NGVlOWQ3MGU2ZTc1Ny4uNmE5MGU5N2EzOTNhYjIyZjA4MTVkMDhmZjI3ZDExYTEzZGM4NzcyYiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBc3luY0dlbmVyYXRv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXN5bmNHZW5lcmF0b3Iu
aApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
SlNBc3luY0dlbmVyYXRvcihWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0JvdW5kRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRG
dW5jdGlvbi5oCmluZGV4IGQ4ZDE2Yzg4NTU5YmRlNWQ5YjgxYTY2YzEwODFiMDAwMmEzZTE0YTEu
LmU2NDJhZTMwNDhkMTA5Yjc0ZWUxZGE1NWZmNTkxNDdkMTdjNjkxNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oCkBAIC04MCwxMyArODAs
MTEgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwotCiBwcml2YXRl
OgogICAgIEpTQm91bmRGdW5jdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSosIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3Vu
ZFRoaXMsIEpTSW1tdXRhYmxlQnV0dGVyZmx5KiBib3VuZEFyZ3MsIEpTU3RyaW5nKiBuYW1lTWF5
QmVOdWxsLCBpbnQgbGVuZ3RoKTsKLSAgICAKKwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCk7CisgICAgc3RhdGljIHZvaWQgdmlzaXRD
aGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgV3JpdGVCYXJyaWVyPEpTT2Jq
ZWN0PiBtX3RhcmdldEZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBtX2JvdW5k
VGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9t
R2V0dGVyU2V0dGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24uaAppbmRleCA4NjM4NWI0MjcxN2FjYjBjY2Y2ZDI4
ZDUyMGIwZjEyOGE5ZTMzMjA2Li4yZTBjNzQ1Zjc2ODFlMWY1NGU1YmVkMjFlYjIyOTIzODY3YjNk
ZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0N1c3RvbUdl
dHRlclNldHRlckZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oCkBAIC01NiwxMiArNTYsMTAgQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHN0YXRpYyB2
b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLQogcHJpdmF0ZToKICAg
ICBKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpT
R2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgVHlwZSwgY29uc3QgUHJvcGVydHlOYW1lJik7CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBDdXN0b21HZXR0
ZXJTZXR0ZXIqLCBjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBjdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbkNhbGwoSlNHbG9iYWxPYmplY3Qq
LCBDYWxsRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNEYXRhVmlldy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmll
dy5oCmluZGV4IDk4YThjYzhiMzk4ZmZkZDdhMWM5NGJlNjU3ZjY1NWU2Y2M3YjlmNzIuLmVkZjYx
ZDUyMjYxMjZhMDZlYWUwMmQ5NDlhMDNmODFmN2JiOWJjMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKQEAgLTQwLDExICs0MCw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgICAgIHJldHVybiB2bS5kYXRhVmlld1NwYWNlPG1vZGU+KCk7CiAgICAgfQotICAg
IAotcHJvdGVjdGVkOgotICAgIEpTRGF0YVZpZXcoVk0mLCBDb25zdHJ1Y3Rpb25Db250ZXh0Jiwg
QXJyYXlCdWZmZXIqKTsKLSAgICAKLXB1YmxpYzoKKwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBKU0RhdGFWaWV3KiBjcmVhdGUoCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LAogICAgICAg
ICB1bnNpZ25lZCBieXRlTGVuZ3RoKTsKQEAgLTY4LDcgKzY0LDEzIEBAIHB1YmxpYzoKICAgICAK
ICAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0g
VHlwZURhdGFWaWV3OwogCi1wcm90ZWN0ZWQ6CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAg
CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKKworcHJpdmF0ZToKKyAgICBKU0RhdGFWaWV3KFZN
JiwgQ29uc3RydWN0aW9uQ29udGV4dCYsIEFycmF5QnVmZmVyKik7CisKICAgICBzdGF0aWMgYm9v
bCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIGJvb2wgcHV0KEpTQ2VsbCosIEpTR2xv
YmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAg
ICBzdGF0aWMgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0
KiwgUHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHNob3VsZFRo
cm93KTsKQEAgLTc2LDEyICs3OCw2IEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyB2b2lkIGdl
dE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJv
cGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUpOwogCi1wdWJsaWM6Ci0gICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
IHByb3RvdHlwZSk7Ci0gICAgCi0gICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKLQotcHJpdmF0ZToK
ICAgICBBcnJheUJ1ZmZlciogbV9idWZmZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmgKaW5kZXggNWI2ODUwNGFkYzNi
ZTUwOTYyNTg2MTUxMjQyYzM5MGU2MzYwZjkwYi4uOTEyZjdhM2IyOTU0MGI5YWMzZjFiOTgzY2Uy
YjQ5ZDhhYTFlYTMzYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNEYXRhVmlld1Byb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRGF0YVZpZXdQcm90b3R5cGUuaApAQCAtNDEsMTcgKzQxLDE1IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAg
IEpTRGF0YVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLQotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mKTsKLQotcHVibGljOgogICAgIHN0YXRpYyBKU0RhdGFWaWV3UHJvdG90eXBl
KiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICAKICAgICBERUNMQVJFX0lORk87CiAgICAg
CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisKK3ByaXZhdGU6CisgICAgSlNEYXRhVmlld1Byb3Rv
dHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2VuZXJhdG9yLmgKaW5kZXggNmQ2MWFiNTZhNDg3MmJiZmRlNmEyOWU3NzYxNjcyZDczYzE3YjQx
Ny4uZmM0YzJlNTFiYzE0Yjc4NzEzYzY4ZTVjYmU1ZTI0OWZjZmM3MDc3YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvci5oCkBAIC05Niw3ICs5Niw3IEBAIHB1
YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0
b3ImKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU0dlbmVyYXRvcihWTSYsIFN0cnVj
dHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaApp
bmRleCAzYjdiYmRlNzY1Y2UxYzM1NjU1MGVjZDU4Yjc3ZmVkOWQ2MTA2ZjVjLi4zMDY0YmU1Yjcx
ZjlmZTgxNjMwYzQxMjc5OWRlYTJkMWRkZDU1NzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKQEAgLTk5LDEx
ICs5OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVz
IHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJjZXB0c0dldE93blByb3BlcnR5
U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybzsKIAogICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgZWxlbWVudFNpemUgPSBzaXplb2YodHlwZW5hbWUgQWRhcHRvcjo6VHlwZSk7
Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcoVk0mLCBDb25z
dHJ1Y3Rpb25Db250ZXh0Jik7Ci0gICAgCi1wdWJsaWM6CisKICAgICBzdGF0aWMgSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXcqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIHVuc2ln
bmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3KiBjcmVhdGVX
aXRoRmFzdFZlY3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIHVuc2lnbmVkIGxlbmd0
aCwgdm9pZCogdmVjdG9yKTsKICAgICBzdGF0aWMgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIGNy
ZWF0ZVVuaW5pdGlhbGl6ZWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBs
ZW5ndGgpOwpAQCAtMjk3LDkgKzI5MywxMSBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyB0aGUg
ZGVmYXVsdCBET00gdW53cmFwcGluZy4gSXQgY2FsbHMgdG9VbnNoYXJlZE5hdGl2ZVR5cGVkVmll
dygpLgogICAgIHN0YXRpYyBSZWZQdHI8dHlwZW5hbWUgQWRhcHRvcjo6Vmlld1R5cGU+IHRvV3Jh
cHBlZChWTSYsIEpTVmFsdWUpOwogICAgIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBmcmll
bmQgc3RydWN0IFR5cGVkQXJyYXlDbGFzc0luZm9zOwogCisgICAgSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXcoVk0mLCBDb25zdHJ1Y3Rpb25Db250ZXh0Jik7CisKICAgICBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgdGhyb3dOZXV0ZXJlZFR5cGVkQXJyYXlUeXBlRXJyb3IoSlNHbG9iYWxPYmplY3QqLCBF
bmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKIAogICAgIHN0YXRpYyBib29sIGdldE93blBy
b3BlcnR5U2xvdChKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmKTsKQEAgLTMxNiw3ICszMTQsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHNp
emVfdCBlc3RpbWF0ZWRTaXplKEpTQ2VsbCosIFZNJik7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRD
aGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi1wcml2YXRlOgogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiBzdWNjZXNzZnVsLCBhbmQgZmFsc2Ugb24gZXJyb3I7IGl0IHdpbGwgdGhyb3cg
b24gZXJyb3IuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgT3RoZXJBZGFwdG9yPgogICAgIGJvb2wg
c2V0V2l0aFNwZWNpZmljVHlwZSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaApp
bmRleCAxZmI2MGNiOGQyYzliMGRlYzBiZTQ2NmE4YTE5ZjQxMTlkNmE3MTk0Li40ZGM0YWVhNjgx
NjNhOTMxYWI1OGQ2MTA2ODZhY2YwODkxMDU5MjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3Rvci5oCkBAIC0zMiwxMyArMzIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIHRlbXBsYXRl
PHR5cGVuYW1lIFZpZXdDbGFzcz4KIGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IgZmluYWwgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEludGVybmFsRnVu
Y3Rpb247CiAKLXByb3RlY3RlZDoKLSAgICBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9yKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIHByaXZhdGVBbGxvY2F0b3IpOwotCi1wdWJsaWM6CiAgICAgc3RhdGlj
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IqIGNyZWF0ZSgKICAgICAgICAgVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFN0cmluZyYgbmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBwcml2YXRlQWxsb2NhdG9yKTsKIApA
QCAtNDgsNiArNDMsMTAgQEAgcHVibGljOgogICAgIElHTk9SRV9DTEFOR19XQVJOSU5HU19FTkQK
IAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworCitwcml2YXRlOgorICAgIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBT
dHJpbmcmIG5hbWUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogcHJpdmF0ZUFsbG9jYXRvcik7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCmluZGV4
IDMyOWRkNDNlYWIxYjRlZmYzN2JiYzJlYzI2MTkxYmUwYWY0ZWUyNmQuLjZmZWFjYjg5YmQ3N2Vm
YTY3OGY4NTM5Yzc1ZTY5ZDIwNDY4MTk2Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5
cGUuaApAQCAtNDEsMTEgKzQxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gJnZtLnBsYWlu
T2JqZWN0U3BhY2U7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKLQotcHVibGljOgogICAgIHN0YXRpYyBKU0dlbmVyaWNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZSogY3JlYXRlKAogICAgICAgICBWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CiAKQEAgLTU1LDYgKzUwLDEwIEBAIHB1YmxpYzoKICAgICBJR05P
UkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAgICAgCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisKK3By
aXZhdGU6CisgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmgKaW5kZXggMzZmZWI5MDQw
NGRjZmYwNDlhNzNlYjFjNGI5MTgxM2M2NDYzODUyYS4uOGJlYjllZDNmYmZkZTA5NGJjZDdmMDUz
NTllNzQ2YWQ2ZmJlMzdmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oCkBAIC02Niw3ICs2Niw3IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGpzTnVsbCgpLCBUeXBlSW5mbyhHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRUeXBlLCBTdHJ1
Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAg
IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTU2NvcGUqIHNjb3BlKQogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgc2NvcGUpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVM
b2FkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmgK
aW5kZXggN2Q0OWZhZTI0MDI2ZTJiNjVmNzY0YmExYzE0ZTExZjBiNDAwZmZiMC4uMWUwNmI3NzBh
MWY4YWNiYTM0MTBkYzIxYWVlMGZmZTAxYWVlOWMyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5oCkBAIC0zNiw4ICszNiw2IEBAIGNsYXNzIEpT
TW9kdWxlUmVjb3JkOwogY2xhc3MgU291cmNlQ29kZTsKIAogY2xhc3MgSlNNb2R1bGVMb2FkZXIg
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIEpTTW9kdWxl
TG9hZGVyKFZNJiwgU3RydWN0dXJlKik7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9u
RmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKQEAgLTkz
LDcgKzkxLDggQEAgcHVibGljOgogICAgIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBnZXRNb2R1
bGVOYW1lc3BhY2VPYmplY3QoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIG1vZHVsZVJlY29yZCk7
CiAgICAgSlNBcnJheSogZGVwZW5kZW5jeUtleXNJZkV2YWx1YXRlZChKU0dsb2JhbE9iamVjdCos
IEpTVmFsdWUga2V5KTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBKU01vZHVsZUxvYWRl
cihWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmpl
Y3QqLCBWTSYpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgKaW5kZXggODExMzY0ZGQxN2ExM2U3ZWZiZmNm
MWM5ZTI4NjMwZTI0MmE3MTI0ZS4uZjgxMDdlZDVjNmQ4NzczOGY2OTliZGI5ODQwZTVlMzMxZDYz
MjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01v
ZHVsZU5hbWVzcGFjZU9iamVjdC5oCkBAIC02OSwxMSArNjksOSBAQCBwdWJsaWM6CiAKICAgICBB
YnN0cmFjdE1vZHVsZVJlY29yZCogbW9kdWxlUmVjb3JkKCkgeyByZXR1cm4gbV9tb2R1bGVSZWNv
cmQuZ2V0KCk7IH0KIAotcHJvdGVjdGVkOgotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqLCBBYnN0cmFjdE1vZHVsZVJlY29yZCosIFZlY3Rv
cjxzdGQ6OnBhaXI8SWRlbnRpZmllciwgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRpb24+
PiYmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBKU01vZHVsZU5hbWVzcGFjZU9iamVjdChWTSYs
IFN0cnVjdHVyZSopOwotCiBwcml2YXRlOgorICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTTW9kdWxl
TmFtZXNwYWNlT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCosIEFic3RyYWN0TW9kdWxlUmVjb3Jk
KiwgVmVjdG9yPHN0ZDo6cGFpcjxJZGVudGlmaWVyLCBBYnN0cmFjdE1vZHVsZVJlY29yZDo6UmVz
b2x1dGlvbj4+JiYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xv
dFZpc2l0b3ImKTsKICAgICBib29sIGdldE93blByb3BlcnR5U2xvdENvbW1vbihKU0dsb2JhbE9i
amVjdCosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTmF0aXZlU3RkRnVuY3Rpb24uaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTmF0aXZlU3RkRnVuY3Rpb24uaAppbmRleCAzMDRhMGY5
NjlmN2E3ZDc5MDQ4NjA0MmRlMGFjMDUwZTQ3YTdhZDlmLi4wYTIzNjBmM2I4MjdmYTg0NDk4ZWFk
NWFkMjg1MmI0OGU2ZGVhNWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU05hdGl2ZVN0ZEZ1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNOYXRpdmVTdGRGdW5jdGlvbi5oCkBAIC02MiwxMyArNjIsMTAgQEAgcHVibGljOgog
CiAgICAgY29uc3QgTmF0aXZlU3RkRnVuY3Rpb24mIGZ1bmN0aW9uKCkgeyByZXR1cm4gbV9mdW5j
dGlvbjsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0Nl
bGwqLCBTbG90VmlzaXRvciYpOwotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2
ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCiBwcml2YXRl
OgogICAgIEpTTmF0aXZlU3RkRnVuY3Rpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBOYXRpdmVTdGRGdW5jdGlvbiYmKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0
cmluZyYgbmFtZSk7CisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOwogCiAgICAgTmF0aXZlU3RkRnVuY3Rpb24gbV9mdW5jdGlvbjsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmgKaW5kZXggY2E5N2U3ZTViNDlk
ZmJjYTljNDZmNzYwOWIzZGI3NzcxYjU0ZDAwNi4uOTBhZjM3MmRhYjUyNmEyZDhkMWJiZWJiMjE1
YjNjODIxMDZlNjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuaApAQCAtNTUsMTEgKzU1LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAg
IEpTT05PYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7CiB9OwogCiBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIEpTT05QYXJzZShKU0dsb2JhbE9i
amVjdCosIGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKaW5kZXggMWZkMTJiMGNhMTRlODkxNDQ4NWQwOWIwZjQ3YWI5NWRhYzUwNjViMC4uYTY4
NzhhNmE0YjQzYjM4ZDU4ZTNmMzkyODY5M2FkMzcwMjc5MmUxMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xMTY3LDI0ICsxMTY3LDIzIEBAIHB1YmxpYzoK
IAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIHZpc2l0
Q2hpbGRyZW5Db21tb24oU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
Ci0gICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT50b3RhbFN0b3JhZ2VDYXBhY2l0eSgpID09
IHN0cnVjdHVyZSh2bSktPmlubGluZUNhcGFjaXR5KCkpOwotICAgICAgICBBU1NFUlQoY2xhc3NJ
bmZvKHZtKSk7Ci0gICAgfQotCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNl
dHNFeHRyYWN0b3I7CiAKKyAgICB2b2lkIHZpc2l0Q2hpbGRyZW5Db21tb24oU2xvdFZpc2l0b3Im
KTsKKwogICAgIGV4cGxpY2l0IEpTRmluYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBudWxscHRyKQogICAgICAgICA6IEpTT2JqZWN0
KHZtLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSkKICAgICB7CiAgICAgICAgIGdjU2FmZVplcm9NZW1v
cnkoaW5saW5lU3RvcmFnZVVuc2FmZSgpLCBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCkgKiBz
aXplb2YoRW5jb2RlZEpTVmFsdWUpKTsKICAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKKyAgICB7CisgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnRvdGFsU3RvcmFnZUNhcGFjaXR5KCkgPT0gc3RydWN0
dXJlKHZtKS0+aW5saW5lQ2FwYWNpdHkoKSk7CisgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0p
KTsKKyAgICB9CiB9OwogCiBKU19FWFBPUlRfUFJJVkFURSBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdFByaXZhdGVGdW5jSW5zdGFuY2VPZihKU0dsb2JhbE9iamVjdCosIENhbGxG
cmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUZW1w
bGF0ZU9iamVjdERlc2NyaXB0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yLmgKaW5kZXggYjhjZmZiNGI0ZTgxMjQ5MzE3ODE4NWQ4
ZTExOWQ3NmU4ZTI2YmI1Ni4uNDBiNTZmYjFmMWEzMmVjM2IzZjAzMGFjZDZhZTQ0MTA0NDNlNTRk
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUZW1wbGF0ZU9i
amVjdERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Rl
bXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oCkBAIC01NywxMiArNTcsMTEgQEAgcHVibGljOgogCiAg
ICAgaW50IGVuZE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kT2Zmc2V0OyB9CiAKLXByb3Rl
Y3RlZDoKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwotCiBwcml2YXRlOgogICAg
IEpTVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yKFZNJiwgUmVmPFRlbXBsYXRlT2JqZWN0RGVzY3Jp
cHRvcj4mJiwgaW50KTsKIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisKICAg
ICBSZWY8VGVtcGxhdGVPYmplY3REZXNjcmlwdG9yPiBtX2Rlc2NyaXB0b3I7CiAgICAgaW50IG1f
ZW5kT2Zmc2V0IHsgMCB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKaW5kZXggMzRhODA2YTU4
ZTExNTUwYjNiZDY2NDk3OGZlMzY1ZGRhM2E5MTJhMS4uYWE4Y2RlNTkxMTM1ZjIwYzUzMDMxNDQ2
Y2NiNGI4YWNjNDhjMDZmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKQEAgLTM0LDEzICszNCw4
IEBAIGNsYXNzIEdldHRlclNldHRlcjsKIAogY2xhc3MgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9yIGZpbmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgotICAgIHR5cGVk
ZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBJbnRlcm5hbEZ1bmN0
aW9uOwogCi1wcm90ZWN0ZWQ6Ci0gICAgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKFZNJiwg
U3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSosIEdldHRlclNldHRlciogc3BlY2llc1N5bWJv
bCk7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yKiBj
cmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSogcHJvdG90eXBlLCBHZXR0ZXJTZXR0
ZXIqIHNwZWNpZXNTeW1ib2wpCiAgICAgewogICAgICAgICBKU1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IqIHJlc3VsdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvcih2bSwg
c3RydWN0dXJlKTsKQEAgLTUxLDYgKzQ2LDEwIEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87
CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworcHJpdmF0ZToKKyAgICBKU1R5cGVkQXJyYXlW
aWV3Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlKiwgR2V0dGVy
U2V0dGVyKiBzcGVjaWVzU3ltYm9sKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZS5oCmluZGV4IGQzOGQ4Yjk0MTE3YjIxMTc2MDZmOTRjMGJhMjI0
ZjFkYzliZmVjY2EuLjcyYmI5MzRiMmRhMmVlYjEyOWNhZjc4M2VlMDIzZWQ2YjQ1ZDBlMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJy
YXlWaWV3UHJvdG90eXBlLmgKQEAgLTQwLDE2ICs0MCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiAmdm0ucGxhaW5PYmplY3RTcGFjZTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICBKU1R5
cGVkQXJyYXlWaWV3UHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0KLXB1YmxpYzoKICAgICBzdGF0aWMgSlNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqKTsKIAogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwor
Citwcml2YXRlOgorICAgIEpTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lz
VHlwZWRBcnJheVZpZXcoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAppbmRleCBlNWYyZmYxZjg1NmMwNzE0YjVl
Yjg2MmQ3OGEwMWY1MzhhM2JhYmVkLi5jZDRlNjQ3ZDFkOTUzMzllZmM5NzY2NTNmZDAyYWRhNGJj
YTczMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCkBA
IC0yNSw5ICsyNSw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgTWF0aE9iamVjdCBmaW5h
bCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXByaXZhdGU6Ci0gICAgTWF0aE9iamVjdChW
TSYsIFN0cnVjdHVyZSopOwotCiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxP
YmplY3Q7CiAKQEAgLTUyLDcgKzQ5LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgorICAgIE1hdGhPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuaAppbmRleCA5ZjA0M2ZhZDJlNjNhYWJl
NGJiNjJiNWFkNzQ4ZmViZDZmZjRlNTJmLi43NjZjOTZhZDQwNDk2MmJmNGZhNzNhMTk4MWFiODU5
ODVjMTQyYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRp
dmVFeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZl
RXhlY3V0YWJsZS5oCkBAIC03NiwxMSArNzYsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgRE9NSklU
OjpTaWduYXR1cmUqIHNpZ25hdHVyZUZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kKSBjb25zdDsK
ICAgICBJbnRyaW5zaWMgaW50cmluc2ljKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgUmVmPEpJVENvZGU+JiYgY2FsbFRodW5rLCBSZWY8SklUQ29k
ZT4mJiBjb25zdHJ1Y3RUaHVuaywgY29uc3QgU3RyaW5nJiBuYW1lKTsKLQogcHJpdmF0ZToKICAg
ICBOYXRpdmVFeGVjdXRhYmxlKFZNJiwgVGFnZ2VkTmF0aXZlRnVuY3Rpb24sIFRhZ2dlZE5hdGl2
ZUZ1bmN0aW9uIGNvbnN0cnVjdG9yKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgUmVm
PEpJVENvZGU+JiYgY2FsbFRodW5rLCBSZWY8SklUQ29kZT4mJiBjb25zdHJ1Y3RUaHVuaywgY29u
c3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIG1fZnVuY3Rpb247
CiAgICAgVGFnZ2VkTmF0aXZlRnVuY3Rpb24gbV9jb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IDA2NTdjMWYx
YjM0MDdkNGQ0NTg4NzkwNmY2ZWY0MjBlM2YwNWM1NjIuLmYyOTlhZmJlMzljNjY2Y2I0MTYyYzFi
MzU2ODlkNDNiMzYxNzA1YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtNTcsMTEgKzU3LDkgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gc3RkOjppc2Zpbml0ZShudW1iZXIpICYmIHRydW5jKG51bWJlcikgPT0gbnVtYmVy
OwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOdW1i
ZXJQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBOdW1iZXJDb25zdHJ1Y3RvcihWTSYsIFN0
cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOdW1iZXJQcm90b3R5cGUq
KTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShOdW1iZXJDb25zdHJ1
Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyUHJvdG90eXBlLmgKaW5kZXggMmFjZmQxMTMyMTM3ZDQ5NGViM2JhMjI0ZmIx
NGFhMTNjNGRlMDZmOS4uM2UwODNlYTM4ZTRiNTJkM2U1M2ZiZDVjMGMxZjZhNzdiYjExZTFmZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmgK
QEAgLTQzLDExICs0Myw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oTnVtYmVyT2JqZWN0VHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwotCiBwcml2YXRlOgogICAg
IE51bWJlclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNF
X1NIQVJBQkxFKE51bWJlclByb3RvdHlwZSwgTnVtYmVyT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKaW5kZXggNmFhYjZk
N2E1Y2QyNzBiMTAwMThhNTlmMTQ2MjY3ZTk4MzhjZTY5Yi4uZGU0MzZjODllMDQzYjc1Y2RlMThm
MmFiMWRmY2M3M2M5ZTFkZjZjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RDb25zdHJ1Y3Rvci5oCkBAIC01MywxMSArNTMsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IFR5cGVJbmZvKEludGVybmFsRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgT2JqZWN0UHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgT2JqZWN0Q29u
c3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBPYmplY3RQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lT
T19TVUJTUEFDRV9TSEFSQUJMRShPYmplY3RDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3Rv
dHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgK
aW5kZXggNTZiNWNiMDE4OTU0YTZkNzg2NjZkNDYyZGI5YzM3Y2FhOTVkNzM2Yi4uMmRmNmQ2ZTIx
YmMxOTQzNzk5OWJkZWFmYWFlZDJmNTk2NWM4OTBkYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmgKQEAgLTQ1LDExICs0NSw5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwog
ICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2Jh
bE9iamVjdCopOwotCiBwcml2YXRlOgogICAgIE9iamVjdFByb3RvdHlwZShWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsK
IAogSlNfRVhQT1JUX1BSSVZBVEUgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQ
cm90b0Z1bmNUb1N0cmluZyhKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1
enplckFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QcmVkaWN0aW9uRmls
ZUNyZWF0aW5nRnV6emVyQWdlbnQuaAppbmRleCBkNDIyZWFkMDUxNTA5MTcyYmRmODk3NzZjMTUw
MWY3OGMwMzBhY2FmLi42MTcwMjhkOTJjNjQxNDhjYmMxMzEyMWI4M2Q3NTQ2NGJkMGUyMTM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QcmVkaWN0aW9uRmlsZUNy
ZWF0aW5nRnV6emVyQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cmVkaWN0aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFz
cyBQcmVkaWN0aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQgZmluYWwgOiBwdWJsaWMgRmlsZUJh
c2VkRnV6emVyQWdlbnRCYXNlCiBwdWJsaWM6CiAgICAgUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1
enplckFnZW50KFZNJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgU3BlY3VsYXRlZFR5
cGUgZ2V0UHJlZGljdGlvbkludGVybmFsKENvZGVCbG9jayosIFByZWRpY3Rpb25UYXJnZXQmLCBT
cGVjdWxhdGVkVHlwZSBvcmlnaW5hbCkgb3ZlcnJpZGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgKaW5kZXggNzQzOGU0OGI0YTk1MGEyZGMx
ZGNmZWQ5YmNlNDBiZDIxZTlkNThlOC4uNzQxMTk0NzAyNzllZmIyYWExNzYzOWY0MWM2YzQ3NDhi
YzUyMmVmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVj
dE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmpl
Y3QuaApAQCAtMzAsOSArMzAsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFJlZmxlY3RP
YmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wcml2YXRlOgotICAgIFJl
ZmxlY3RPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2Ug
PSBKU05vbkZpbmFsT2JqZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEhhc1N0YXRpY1Byb3BlcnR5VGFibGU7
CkBAIC01OCw3ICs1NSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAg
ICBSZWZsZWN0T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cC5oCmluZGV4IGZhZjAyODljYmIyMWE3NTdmMzhmYWJkOTJlY2M0MTg2ZDUzZmRkNjUu
LmRkMmUxZWY3YmNlYTk2ZWI5ZTJjZDZlYjVlM2ZiZWVjYWUxNmY3ZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5oCkBAIC0xMzksMTIgKzEzOSwxMCBAQCBwdWJsaWM6CiAK
ICAgICBSZWdFeHBLZXkga2V5KCkgeyByZXR1cm4gUmVnRXhwS2V5KG1fZmxhZ3MsIG1fcGF0dGVy
blN0cmluZyk7IH0KIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsK
LQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUmVnRXhwQ2FjaGU7CiAgICAgUmVnRXhwKFZN
JiwgY29uc3QgU3RyaW5nJiwgT3B0aW9uU2V0PFlhcnI6OkZsYWdzPik7CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYpOwogCiAgICAgc3RhdGljIFJlZ0V4cCogY3JlYXRlV2l0aG91dENhY2hp
bmcoVk0mLCBjb25zdCBTdHJpbmcmLCBPcHRpb25TZXQ8WWFycjo6RmxhZ3M+KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXgg
YzQwNWViZTkzYWEyYTVlODQ1NjFhNTAwMzhmMjNmMGIzYWJkNmY0Ny4uZWY3OTg4OWUzYTVkNzNj
YzZjNjQxMDhhZjdjMWQ1MjFlNTJkNmUwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6
CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgUmVnRXhwUHJvdG90eXBlKiwgR2V0dGVyU2V0dGVyKiBzcGVjaWVzKTsKLQogcHJp
dmF0ZToKICAgICBSZWdFeHBDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBSZWdFeHBQcm90b3R5cGUqLCBHZXR0ZXJTZXR0ZXIqIHNwZWNp
ZXMpOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFJlZ0V4cENvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBPYmplY3QuaAppbmRleCA4NTdjYTJlNzJhZjM0MGVhZTM2NTcwMWQ1NWNhMDdl
ZDgzZTBiMTgzLi43MWJmOThiMmYzMjI5ZTU2ZTVmYzFiNjRlY2FhYmIwYTVlOTkwOWVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtMTI4LDcg
KzEyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHNpemVvZihSZWdFeHBPYmplY3QpOwog
ICAgIH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBKU19FWFBPUlRfUFJJVkFURSBSZWdF
eHBPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBSZWdFeHAqKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAKQEAgLTE1MCw3ICsxNTAsNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgZ2V0R2VuZXJpY1Byb3BlcnR5
TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51
bWVyYXRpb25Nb2RlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWZpbmVP
d25Qcm9wZXJ0eShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBjb25z
dCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHNob3VsZFRocm93KTsKIAotcHJpdmF0ZToKICAg
ICBNYXRjaFJlc3VsdCBtYXRjaElubGluZShKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiAK
ICAgICB1aW50cHRyX3QgbV9yZWdFeHBBbmRMYXN0SW5kZXhJc05vdFdyaXRhYmxlRmxhZyB7IDAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3Rv
dHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmgK
aW5kZXggZjZkNTFlY2VhOGRjODVkMTQ2ZDliZjZkNDFmNGQwYmYzMDdhOGJjMS4uZmUxMmM5YzRk
Mjg2NTM1MmI4NjQ5ZGY3NjBmYjVlYjA2YjgyZjE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmgKQEAgLTUxLDEwICs1MSw4IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwog
ICAgIH0KIAotcHJvdGVjdGVkOgotICAgIFJlZ0V4cFByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSop
OwotCiBwcml2YXRlOgorICAgIFJlZ0V4cFByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAppbmRleCA1Mzdi
MGQxYzRkNzk0YTY5NDM2OTMzNGI5Mjk5MmFkMTdhM2QwNmZhLi5kMTMyMWI1NDMwOTBjMWZlMWZk
YzU0MTIwZWRlZTZmZGI3MTU4NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuaApAQCAtMzAsOSArMzAsNiBAQCBjbGFzcyBSZWdFeHA7CiBj
bGFzcyBSZWdFeHBPYmplY3Q7CiAKIGNsYXNzIFN0cmluZ1Byb3RvdHlwZSBmaW5hbCA6IHB1Ymxp
YyBTdHJpbmdPYmplY3QgewotcHJpdmF0ZToKLSAgICBTdHJpbmdQcm90b3R5cGUoVk0mLCBTdHJ1
Y3R1cmUqKTsKLQogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBTdHJpbmdPYmplY3Q7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVydHlUYWJsZTsKQEAgLTQ2LDcgKzQzLDggQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFN0cmlu
Z1Byb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTU3RyaW5nKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VC
U1BBQ0VfU0hBUkFCTEUoU3RyaW5nUHJvdG90eXBlLCBTdHJpbmdPYmplY3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAppbmRleCAxZGJkYzBjMjcxY2IzMjFiYmZi
OGUxMzQzYjkyMWQ2NGZkOTI5NmExLi41YmEzZDk3MjQzNGQxMWMwYTA5MmJlYmZhOWE3NTI4MGEw
MjA2ZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAt
MTQ2LDcgKzE0Niw3IEBAIHB1YmxpYzoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBi
b29sIGlzVmFsaWRQcm90b3R5cGUoSlNWYWx1ZSk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgewogICAgICAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbC5oCmluZGV4
IDUzMGZlNTIzZWI2NjFjNWUxNmZkMmQ1OTJlZjc3NmU4NzUyNDA1MzcuLjQ5ODk4YWQ5MTM2MGY0
YWYzM2I5NGE2NmJiODhhMDNmMDViY2QyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbC5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIE9CSkVD
VF9PRkZTRVRPRihTeW1ib2wsIG1fcHJpdmF0ZU5hbWUpOwogICAgIH0KIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiAgICAgU3ltYm9s
KFZNJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3Ry
dWN0b3IuaAppbmRleCAxOTRhNDRlYTRiZmZhMGI5NmIzMDU3MjAyMTJjOTM5YThmMzE1M2I0Li42
Mzk1MzdkOWNkZmRhZWQwNmU4MDE0ZDIxYjcyYTk3YTk2ZDQxMzcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgKQEAgLTUyLDExICs1
Miw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSW50ZXJuYWxGdW5jdGlvblR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgU3ltYm9sUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgU3ltYm9s
Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgU3ltYm9sUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hB
UkFCTEUoU3ltYm9sQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbE9iamVjdC5oCmluZGV4IDljZTQ4MGNkYjYwNzhi
NGNkOWQ0MTZjODYwNzg1NWM1MGZmY2I0ODIuLjk3NzJhYjMzODk5NGNiMWQ4YWYwN2JiNGFmYmNl
MDUyOGI2OTYyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbE9i
amVjdC5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBTdHJpbmcgdG9T
dHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgU3ltYm9sKik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3ltYm9sT2JqZWN0KFZNJiwgU3Ry
dWN0dXJlKik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xQ
cm90b3R5cGUuaAppbmRleCBlMjM1ZjEyNDhjYTA0YTUxNDAxNzNiZGI4MTQxMjM1Nzc5MjM0Mzkw
Li44OGEyZDdkZjljZGMxYWUzYjAxMTQ3NDZmOTZlZmYyNzVmOGE5N2VmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xQcm90b3R5cGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xQcm90b3R5cGUuaApAQCAtNTgsNyArNTgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgU3ltYm9sUHJvdG90
eXBlKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0Kik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1UcmFwcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmNw
cAppbmRleCA4NDQ5ZDQ1N2FlNTA5M2UyYThjN2YyOGU2NjkzNzlhMTUyMDg5Njc0Li40ZmM5MDdh
YzQyNjZlOWJjM2FiMTFhODExNTFjMzI4ZGFlODM5YzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTVRyYXBzLmNwcApAQCAtMjQ0LDcgKzI0NCw3IEBAIHB1YmxpYzoKIAogICAg
IFZNVHJhcHMmIHRyYXBzKCkgeyByZXR1cm4gbV92bS50cmFwcygpOyB9CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgUG9sbFJlc3VsdCBwb2xsKGNvbnN0IEFic3RyYWN0TG9ja2VyJikgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIGlmICh0cmFwcygpLm1faXNTaHV0dGluZ0Rvd24pCkBAIC0y
ODgsOCArMjg4LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBXb3Jr
UmVzdWx0OjpDb250aW51ZTsKICAgICB9Ci0gICAgCi1wcml2YXRlOgogCiAgICAgVk0mIG1fdm07
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCmluZGV4IDY3YjE1NTMwODc3ZTM5
NjFiNmMxNmRmODI3YTkyZDRkZTBiNzlhMDguLmIyZGI2NmQ4MTQ3MzhjMmQ3ZTQ1ZWU2ODYxZmM0
YjlmZTkwMzZjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhw
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKQEAgLTEwMyw5
ICsxMDMsNiBAQCBzdHJ1Y3QgUmVnRXhwVGVzdCB7CiB9OwogCiBjbGFzcyBHbG9iYWxPYmplY3Qg
ZmluYWwgOiBwdWJsaWMgSlNHbG9iYWxPYmplY3QgewotcHJpdmF0ZToKLSAgICBHbG9iYWxPYmpl
Y3QoVk0mLCBTdHJ1Y3R1cmUqLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYXJndW1lbnRzKTsKLQog
cHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKIApAQCAtMTI0LDcgKzEy
MSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCAwLCBw
cm90b3R5cGUsIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpKTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgR2xvYmFsT2JqZWN0KFZN
JiwgU3RydWN0dXJlKiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cyk7CisKICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50
cykKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCmluZGV4IDVlMmRmZGZmYzYzMDFhNTYyNzQwY2Zj
YzJlNzQxZDRmMzYzYmY4MjUuLjI5NGE3NDMwOTE1MWM5Mzg3ZGUxYmRhM2Q0ZmMyMjBjYjg3NzVi
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4uaApAQCAtNzUsMTIg
Kzc1LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEJhc2U6OnBhcnNlQW5kVmFsaWRhdGVN
b2R1bGUobV9zb3VyY2UuZGF0YSgpLCBtX3NvdXJjZS5zaXplKCkpOwogICAgIH0KIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBib29sIHByZXBhcmVJbXBsKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBjb21waWxlRnVuY3Rpb24odWludDMyX3QgZnVuY3Rpb25JbmRleCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBkaWRDb21wbGV0ZUNvbXBpbGF0aW9uKGNvbnN0IEFic3RyYWN0TG9ja2VyJikgb3ZlcnJp
ZGU7CiAKLXByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEludGVybmFsRnVuY3Rpb24+IGNv
bXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4LCBDb21waWxhdGlvbkNvbnRleHQm
LCBWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2FsbD4mLCBUaWVyVXBDb3VudCopOwogCiAgICAg
VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPj4gbV93YXNtSW50ZXJuYWxG
dW5jdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJ
bnRQbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRQbGFuLmgKaW5k
ZXggNDJkZTgxMzNiNzJmYzVmZTUxOTljMTlmNmUzMjNlOWUzN2IxYzhlMS4uOTMzNWIzYTA1Yjgw
Y2FlNDVkYjg5Y2NjNDhjNWJjMTljMWQ1ZWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21MTEludFBsYW4uaApAQCAtNzUsMTIgKzc1LDExIEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgZGlkUmVjZWl2ZUZ1bmN0aW9uRGF0YSh1bnNpZ25lZCwgY29uc3QgRnVuY3Rpb25EYXRhJikg
b3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBwcmVwYXJlSW1wbCgp
IG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGlsZUZ1bmN0aW9uKHVpbnQzMl90IGZ1bmN0aW9uSW5k
ZXgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQ29tcGxldGVDb21waWxhdGlvbihjb25zdCBBYnN0
cmFjdExvY2tlciYpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIFZlY3RvcjxzdGQ6OnVuaXF1
ZV9wdHI8RnVuY3Rpb25Db2RlQmxvY2s+PiBtX3dhc21JbnRlcm5hbEZ1bmN0aW9uczsKICAgICBj
b25zdCBSZWY8TExJbnRDYWxsZWU+KiBtX2NhbGxlZXMgeyBudWxscHRyIH07CiAgICAgVmVjdG9y
PFJlZjxMTEludENhbGxlZT4+IG1fY2FsbGVlc1ZlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCmluZGV4IDRiNTk2ZDFiZWFiOTJiZmJmNGI1YWQyMjI5
MzMyM2EwYWMyMjNhNWIuLmZjYWI0NDExMzI4YTRhYWQ0ODVmODM1OWE5NWY0ZTdiYmY5MDg2YmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVdvcmtsaXN0LmNwcApAQCAtNjMs
NyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
UG9sbFJlc3VsdCBwb2xsKGNvbnN0IEFic3RyYWN0TG9ja2VyJikgb3ZlcnJpZGUKICAgICB7CiAg
ICAgICAgIGF1dG8mIHF1ZXVlID0gd29ya2xpc3QubV9xdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHkuaAppbmRleCA2YTdmNzNjNDQ3MjBmMDcxMjM3
NDU1Nzc1OTQ2ZmY2MTUyMmEzODFlLi4zNmY3MmQ1NzE4OWZjNjM2MTliMmE4ZGMwNTMyZmFlYWQ5
NTZjYThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eS5oCkBAIC01MywxMSArNTMsOSBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIHZvaWQgd2ViQXNzZW1ibHlNb2R1bGVJbnN0YW50aW5hdGVBc3luYyhKU0dsb2JhbE9iamVj
dCosIEpTUHJvbWlzZSosIFZlY3Rvcjx1aW50OF90PiYmLCBKU09iamVjdCopOwogICAgIHN0YXRp
YyBKU1ZhbHVlIGluc3RhbnRpYXRlKEpTR2xvYmFsT2JqZWN0KiwgSlNQcm9taXNlKiwgY29uc3Qg
SWRlbnRpZmllciYsIEpTVmFsdWUpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Ci0KIHByaXZhdGU6CiAgICAgSlNXZWJBc3NlbWJs
eShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2Jh
bE9iamVjdCopOwogfTsKIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJs
eUNvbXBpbGVTdHJlYW1pbmdJbnRlcm5hbChKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNv
bXBpbGVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eUNvbXBpbGVFcnJvci5oCmluZGV4IDlmNGFkODgxNzM0YmMzNWFmMzMwOWUwMjUxOGIyMTAwOTJl
OTUwYzkuLjcyZmQwNGVlNzYwMDI0MzgxNmRhZDY0Nzk3NDhhNmIwMTE0MTU5YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29t
cGlsZUVycm9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZP
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3Io
Vk0mLCBTdHJ1Y3R1cmUqKTsKIH07CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCBFcnJvckluc3RhbmNlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmgKaW5k
ZXggYjJjYzJhZjc5OWE0NmQxNjEzZTZiMmY0ZTAyYmEwNjAyMjUyNDMwYy4uYmY0N2QwNjIxNzE3
ZDg5YWJjODcwYTJjY2JlYzMyMmYwOTAyNDlmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmgKQEAgLTEwMSwxMiArMTAx
LDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mR2xvYmFsT2JqZWN0KCkg
eyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwgbV9nbG9iYWxP
YmplY3QpOyB9CiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZlZNKCkgeyByZXR1cm4gT0JKRUNU
X09GRlNFVE9GKEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwgbV92bSk7IH0KIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICBKU1dlYkFzc2VtYmx5SW5zdGFuY2UoVk0mLCBTdHJ1Y3R1cmUqLCBSZWY8
V2FzbTo6SW5zdGFuY2U+JiYpOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU1dlYkFz
c2VtYmx5TW9kdWxlKiwgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqKTsKICAgICBzdGF0aWMgdm9p
ZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLXByaXZhdGU6CiAgICAg
UmVmPFdhc206Okluc3RhbmNlPiBtX2luc3RhbmNlOwogICAgIFZNKiBtX3ZtOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9y
LmgKaW5kZXggNTViMWQwODhmZTA1ZTNmNzYyNmY3YTMzYWU4Yzk4ZGNmYjZkYWQ5Ni4uNzE3Mzdk
Y2I1NTZiMjQ5NmY3ZGFmM2U3MjIxNmI1MWZjYzBmYjJlMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaApAQCAtNDMs
NyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CiAgICAgSlNXZWJBc3NlbWJseUxpbmtFcnJvcihWTSYsIFN0cnVjdHVyZSopOwogfTsK
IFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTV2ViQXNzZW1ibHlMaW5rRXJy
b3IsIEVycm9ySW5zdGFuY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oCmluZGV4IDE1ZWY5YjcyNWIzNDFl
YmFmNmVjOTc3NjdmMzI0Nzg5ODU4OTgwNWMuLmQ0MGJiZDBkNDQzYzQwYWIwYTM1MmZkOGM4MjU1
OGUwMzg2ZTgzYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGlj
OgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEpTV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3IoVk0mLCBTdHJ1Y3R1cmUqKTsKIH07CiBTVEFUSUNfQVNTRVJU
X0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCBFcnJvcklu
c3RhbmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuaAppbmRleCAzMmIwMjhj
MDcxNDczN2M2YzcyZDZkOWYxNjUzNjBkMDY3ZDZhYzI1Li4wNWRiNDhjM2U4OTczZjQ5ZmY1OGQ0
ZGI0YmQ3YzFlYjk0ZDQ0ZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5o
CkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3Rl
Y3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlDb21waWxlRXJy
b3JQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9J
U09fU1VCU1BBQ0VfU0hBUkFCTEUoV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvciwg
SW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZS5oCmluZGV4
IGE2YzNkNDQzYWI3NzI1MDVmNjM0NjUzZWI4NjE2ZGI3YjU3NTE5M2IuLjU2ZGQ0ODI1Y2Q5NGEz
ZTUxYWU3OTNjNDRiODE5OGRhNjhmODc0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5
cGUuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRlOgogICAg
IFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUdsb2JhbENv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUds
b2JhbENvbnN0cnVjdG9yLmgKaW5kZXggN2ZjZmVlNDgwNWY3YTU1NTY1ZDY0N2M5MDUzNzZlYTYw
YjhjMjJjNC4uYTBmZTc4M2JmNTFjZDJmOTE5ZWJmNDA0NDdmZGQ3ZjU1NzBlMmM4MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlHbG9iYWxDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
R2xvYmFsQ29uc3RydWN0b3IuaApAQCAtNDQsMTEgKzQ0LDkgQEAgcHVibGljOgogCiAgICAgREVD
TEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdl
YkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlKik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlH
bG9iYWxDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBXZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRf
SVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5R2xvYmFsQ29uc3RydWN0b3IsIEludGVy
bmFsRnVuY3Rpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseUdsb2JhbFByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlHbG9iYWxQcm90b3R5cGUuaAppbmRleCAyYTk4NDU2M2MzMWFmYjQ5
ZjRlZjBiYzJiMDZhMTBlOWM0NWFlMWE4Li5hYzViZThhMGNlYWEyZGNjYmJjM2E3MGI3NmMxZDQx
N2UwOWE4ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUdsb2JhbFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5R2xvYmFsUHJvdG90eXBlLmgKQEAgLTQ4LDExICs0OCw5IEBAIHB1Ymxp
YzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5
R2xvYmFsUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJ
bnN0YW5jZUNvbnN0cnVjdG9yLmgKaW5kZXggY2QxZWJlM2VhNzc3ZmFjNjBiMjBlOGY1NThjMzQz
OThhNWE2NjhiYS4uMWRhMWM4MGExNjhmNzkxNTk1ODQ5NGVhZmVjMWNhNDI3ZDI0MDk5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5j
ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlJbnN0YW5jZUNvbnN0cnVjdG9yLmgKQEAgLTQ4LDExICs0OCw5IEBAIHB1YmxpYzoKIAog
ICAgIHN0YXRpYyBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIGNyZWF0ZUluc3RhbmNlKEpTR2xvYmFs
T2JqZWN0KiwgSlNXZWJBc3NlbWJseU1vZHVsZSosIEpTT2JqZWN0KiBpbXBvcnRPYmplY3QsIFN0
cnVjdHVyZSopOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdl
YkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJs
eUluc3RhbmNlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19B
U1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKFdlYkFzc2VtYmx5SW5zdGFuY2VDb25zdHJ1Y3Rv
ciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuaAppbmRleCAyNzEy
YjI3NDQzNTBkOTcxODg0OWFmN2Y3YzU1NDFhM2RhMGM5NGI4Li41MTViMGNkYjEyOTRhMzZlNDY1
NjQzYjYxZTQxZDdkYmYwODZhNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5oCkBAIC00OSwx
MSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoKLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlJ
bnN0YW5jZVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1
Y3Rvci5oCmluZGV4IDU5MzdiYTc1ZGJmNjU0ZTQxM2U0ZmY3MTA1ZDM5NGJiZDU1N2QxOWYuLjQy
NjU3MzFjN2I1ODFmM2FlYWFhYTUxYzc2OTcwNDcyZWRkMDMxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3Iu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJv
ckNvbnN0cnVjdG9yLmgKQEAgLTQ0LDExICs0NCw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVf
SU5GTzsKIAotcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3Nl
bWJseUxpbmtFcnJvclByb3RvdHlwZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TGlu
a0Vycm9yQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUqKTsKIH07CiBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9y
LCBJbnRlcm5hbEZ1bmN0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlLmgKaW5kZXggMTgz
MTBjMzViMDNlM2M4MWMyZGNjZjIyMGNlM2EyZjA3ZWZjYzNhNi4uZTlmOTIyZTcyN2Y4MjBiYmRi
ZGFlMTFlMTdhMWQwMjQ2MjZmMDcxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvV2ViQXNzZW1ibHlMaW5rRXJyb3JQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZS5oCkBAIC00
OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLXByb3RlY3RlZDoK
LSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1i
bHlMaW5rRXJyb3JQcm90b3R5cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5Q29uc3RydWN0
b3IuaAppbmRleCAzZWJlM2Q0MWM0MDQzODlmM2RmOTljNGRkZWUwZDBhZTQ2NjBmY2RiLi5hOWNj
YjFiOGVhYzE4ZDFjMTdlZjQ4ZmY4OWFmMzZmNTFmNjYyNjExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1
Y3Rvci5oCkBAIC00NCwxMSArNDQsOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAK
LXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlNZW1v
cnlQcm90b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseU1lbW9yeUNvbnN0cnVj
dG9yKFZNJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFz
c2VtYmx5TWVtb3J5UHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoV2ViQXNzZW1ibHlNZW1vcnlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TWVtb3J5UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseU1lbW9yeVByb3RvdHlwZS5oCmluZGV4IDgyNjAyNzY0YWM0OGZkMmNjZWY1ZWZhYzhmZDUx
MGE5NmZjZWRmOTEuLmZlNDU1N2Y1OTg2MWMxMTI3MTUwZjZlNWY3MGY1ZjVkOGU3ZmFiODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5
UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlNZW1vcnlQcm90b3R5cGUuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVD
TEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwot
CiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eU1vZHVsZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yLmgKaW5kZXggNTFkNTQ1ZWU3MTU2ODJjMGEzZGJjZjZk
Njg5NWE0NzhhYmFlNzA2Yi4uMjljOWM2Yjc3ZTFiNjg1ZWFmZDNmYjNmZjI1MDkxN2E3Zjc3NGEz
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlN
b2R1bGVDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIEpTV2ViQXNzZW1ibHlNb2R1bGUqIGNyZWF0ZU1vZHVsZShKU0dsb2JhbE9i
amVjdCosIENhbGxGcmFtZSosIFZlY3Rvcjx1aW50OF90PiYmIGJ1ZmZlcik7CiAKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlNb2R1bGVQcm90b3R5
cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9yKFZNJiwg
U3RydWN0dXJlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5TW9k
dWxlUHJvdG90eXBlKik7CiB9OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
V2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUHJv
dG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVs
ZVByb3RvdHlwZS5oCmluZGV4IDcxOTZkMWVjNzQ4MjQ2NWU1ZGUwMDVlNGM3NTNiMDZhM2Q3Y2Fm
NTkuLjFkYmNhOTlhNjNmZjZjN2ZhYTYxZTU5OWY1YjhlYTQxNTNmMjAyNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUHJvdG90eXBl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVQ
cm90b3R5cGUuaApAQCAtNDksMTEgKzQ5LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZP
OwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwotCiBwcml2YXRl
OgogICAgIFdlYkFzc2VtYmx5TW9kdWxlUHJvdG90eXBlKFZNJiwgU3RydWN0dXJlKik7CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVF
cnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggNzYxNGYyODk1NGVhYjQyODg3MDY5
ODdmZWE4MGY5NzkyMzg4NTYzMy4uZjMxMmNmZmEwNDRlYWQ4Y2YyM2E0YTFlMDdlZDQwMWZkMTNi
ZDgyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNDQsMTEgKzQ0
LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlKik7
Ci0KIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3RvcihWTSYs
IFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBXZWJBc3NlbWJseVJ1
bnRpbWVFcnJvclByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKFdlYkFzc2VtYmx5UnVudGltZUVycm9yQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rp
b24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaAppbmRleCBhMTQyMGJkNWVhODM3
NGE5NjQ5ZTFhYTZmZmVhMjQ4YTIxMmNkM2NjLi4zMmZkNjNjOGEwMjIyOTY1NzkzMDZiNDkxMzBh
MzY1OTY2OGZjODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmgKQEAgLTQ5LDEx
ICs0OSw5IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVfSU5GTzsKIAotcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseVJ1
bnRpbWVFcnJvclByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZUNvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3Iu
aAppbmRleCBjZmZmNjkxNzNjZTBmMTkxNDgxY2ZjODZhMjdkMDFhNjFlNGFhMTAyLi4yMzcwNDUw
Nzg0NzFlZWU5ZjE1NzBiMDAyNmJhN2Y1ZDkyYTE0YzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3Iu
aApAQCAtNDQsMTEgKzQ0LDkgQEAgcHVibGljOgogCiAgICAgREVDTEFSRV9JTkZPOwogCi1wcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFdlYkFzc2VtYmx5VGFibGVQcm90
b3R5cGUqKTsKLQogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IoVk0m
LCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgV2ViQXNzZW1ibHlU
YWJsZVByb3RvdHlwZSopOwogfTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxF
KFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQ
cm90b3R5cGUuaAppbmRleCBiNzFiZDljMDFhMzkzNWIwMWYzZDQxNzFjNjRmOGIyYWQwNTkwMTQz
Li45MjFkZDM2NjJmYWQ5MmZiNmE3YWQxNDY4YTUxZWExZTQyMzViOGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3Rv
dHlwZS5oCkBAIC00OSwxMSArNDksOSBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAK
LXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KIHByaXZhdGU6CiAg
ICAgV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZShWTSYsIFN0cnVjdHVyZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1
bmN0aW9uLmgKaW5kZXggNTI5OGViMTljNTkyNjM3Njc2MWQzZDFhYmJjMDI5ZTQ3NzY5ODA1Mi4u
ZWRlOTNhZGQ5MjQ0YWU3OGQ3NzE3OGFhMzM5OWFhMzgxNjEwNGE1YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5j
dGlvbi5oCkBAIC01NiwxMyArNTYsMTAgQEAgcHVibGljOgogICAgIFdhc21Ub1dhc21JbXBvcnRh
YmxlRnVuY3Rpb24gaW1wb3J0YWJsZUZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbXBvcnRh
YmxlRnVuY3Rpb247IH0KICAgICBKU09iamVjdCogZnVuY3Rpb24oKSB7IHJldHVybiBtX2Z1bmN0
aW9uLmdldCgpOyB9CiAKLXByb3RlY3RlZDoKLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
TmF0aXZlRXhlY3V0YWJsZSosIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBK
U09iamVjdCosIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSopOwotCiBwcml2YXRlOgogICAgIFdlYkFz
c2VtYmx5V3JhcHBlckZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgV2FzbVRvV2FzbUltcG9ydGFibGVGdW5jdGlvbik7CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCB1bnNpZ25lZCBsZW5ndGgs
IGNvbnN0IFN0cmluZyYgbmFtZSwgSlNPYmplY3QqLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqKTsK
KyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAK
ICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fZnVuY3Rpb247CiAgICAgLy8gSXQncyBzYWZl
IHRvIGp1c3QgaG9sZCB0aGUgcmF3IFdhc21Ub1dhc21JbXBvcnRhYmxlRnVuY3Rpb24gYmVjYXVz
ZSB3ZSBoYXZlIGEgcmVmZXJlbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVu
dC5oCmluZGV4IDgxN2MyMWVjYWIxYWRhMDgzYTdjY2E2YWQ0MTdjYjJmZTc3YzA5NDYuLjEwNmMx
ZmFmMmU0NGUyNzAyODdhYjAxMDZlZDI2ZTVkYmM1M2RlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kU2VsZWN0ZWRFdmVudC5oCkBAIC00NiwxMyArNDYsMTIgQEAgcHVibGljOgogCiAgICAg
Y29uc3QgQXBwbGVQYXlQYXltZW50TWV0aG9kJiBwYXltZW50TWV0aG9kKCkgeyByZXR1cm4gbV9w
YXltZW50TWV0aG9kOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgQXBwbGVQYXlQYXlt
ZW50TWV0aG9kU2VsZWN0ZWRFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBQYXlt
ZW50TWV0aG9kJik7CiAKICAgICAvLyBFdmVudC4KICAgICBFdmVudEludGVyZmFjZSBldmVudElu
dGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGNvbnN0IEFwcGxlUGF5
UGF5bWVudE1ldGhvZCBtX3BheW1lbnRNZXRob2Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFu
dEV2ZW50LmgKaW5kZXggMDM4MGM3MTAwNTZkYmJjMGEyNGJjOGZiMGM3YzcyZDBiOTBlYTBiMS4u
NWM5OTg2ZDFiYmFkZWE4YjZkOTYyYTdmZTRlMDc2ZDI1YjI1OTk0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0
ZU1lcmNoYW50RXZlbnQuaApAQCAtNDQsMTMgKzQ0LDEyIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0
IFN0cmluZyYgdmFsaWRhdGlvblVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsaWRhdGlvblVSTC5z
dHJpbmcoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEFwcGxlUGF5VmFsaWRhdGVN
ZXJjaGFudEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFVSTCYmIHZhbGlkYXRpb25VUkwp
OwogCiAgICAgLy8gRXZlbnQuCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBj
b25zdCBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBjb25zdCBVUkwgbV92YWxpZGF0aW9uVVJM
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kvTGVnYWN5Q0RNU2Vzc2lvbkNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdhY3lDRE1TZXNzaW9uQ2xlYXJLZXkuaAppbmRl
eCBiYzc3N2YwY2JjOGNlN2I4OWU5NDNiOGE2M2U0ZTZlODI4OWIzOGNmLi5mZTUzNDU5MWFkN2Q1
NjAwYzQxOWZhYzc5NzA0YzQxZDY2NzFiNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdhY3lDRE1TZXNzaW9uQ2xlYXJLZXkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9MZWdhY3lD
RE1TZXNzaW9uQ2xlYXJLZXkuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB1
cGRhdGUoVWludDhBcnJheSosIFJlZlB0cjxVaW50OEFycmF5PiYsIHVuc2lnbmVkIHNob3J0Jiwg
dWludDMyX3QmKSBvdmVycmlkZTsKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGNhY2hlZEtleUZv
cktleUlEKGNvbnN0IFN0cmluZyYpIGNvbnN0IG92ZXJyaWRlOwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgogICAgIExlZ2FjeUNETVNlc3Npb25DbGllbnQqIG1fY2xpZW50OwogICAgIFJlZlB0cjxV
aW50OEFycmF5PiBtX2luaXREYXRhOwogICAgIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8dWludDhf
dD4+IG1fY2FjaGVkS2V5czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQmlxdWFkRFNQS2VybmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0JpcXVhZERTUEtlcm5lbC5oCmluZGV4IGFlZjhkNjdlNGFkY2JkNTc1NGJiMzMwMGIxY2UwOGVl
ZDY3NzY4ZTkuLjdhZTE2MWExNjJjMzNjYTIyMGZlNmNlMjE1N2RiZDE1YTg3NDMyOTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuaApA
QCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgQmlxdWFkIG1fYmlxdWFkOwogICAgIEJpcXVhZFByb2Nlc3Nv
ciogYmlxdWFkUHJvY2Vzc29yKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QmlxdWFkUHJvY2Vzc29y
Kj4ocHJvY2Vzc29yKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmgKaW5kZXggNDFlMzY3ZWE1M2ZiNmI2MGRkNDRi
OWZiY2IwYjkxNTQ5YzBjZmZkYS4uMTk3OTdkZWJmMjc2OTQ5YWRhNmJmNWMzYzVlODQ1Y2U4ZTVh
NjNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hh
cGVyRFNQS2VybmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZl
U2hhcGVyRFNQS2VybmVsLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIC8vIE92ZXJz
YW1wbGluZyByZXF1aXJlcyBtb3JlIHJlc291cmNlcywgc28gbGV0J3Mgb25seSBhbGxvY2F0ZSB0
aGVtIGlmIG5lZWRlZC4KICAgICB2b2lkIGxhenlJbml0aWFsaXplT3ZlcnNhbXBsaW5nKCk7CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgLy8gQXBwbHkgdGhlIHNoYXBpbmcgY3VydmUuCiAg
ICAgdm9pZCBwcm9jZXNzQ3VydmUoY29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQqIGRlc3QsIHNp
emVfdCBmcmFtZXNUb1Byb2Nlc3MpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCBiMTU5MzAzOGFiM2ZlNTQ5OWYx
ZDNiMGQzYzkyMDllNjczOGQ5ZGJjLi45OTYwMWEwNWRiZDYxNGQ5Y2RiYjg0OTQ2NzNiMzg3NzBk
YWNkODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmgKQEAgLTEyNiwxMyArMTI2LDEyIEBAIHB1YmxpYzoKIAogICAgIERv
Y3VtZW50KiBkb2N1bWVudCgpOwogICAgIAotcHJvdGVjdGVkOgotICAgIHZvaWQgcmVmVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwoKSBvdmVycmlkZSB7IHJlZigpOyB9Ci0gICAgdm9pZCBkZXJl
ZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9Ci0KIHBy
aXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgV2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCYsIFdl
YlNvY2tldENoYW5uZWxDbGllbnQmLCBTb2NrZXRQcm92aWRlciYpOwogCisgICAgdm9pZCByZWZU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KKyAgICB2b2lk
IGRlcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0K
KwogICAgIGJvb2wgYXBwZW5kVG9CdWZmZXIoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbik7
CiAgICAgdm9pZCBza2lwQnVmZmVyKHNpemVfdCBsZW4pOwogICAgIGJvb2wgcHJvY2Vzc0J1ZmZl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtl
clRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNTQ4Nzdj
NTkzNDFhNGI0NjEwMWExNTMxNGY5MTIxNDdlYjEwYzhhLi4zNzNlNzBlODlmNmY4MWQ1MzViOTg0
YWMyYmYzMDFlNzkwMDA1YWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaApAQCAtMTA3LDExICsxMDcsMTAgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ8
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291
bnRlZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD46OmRlcmVmOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgcmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSBv
dmVycmlkZSB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKLXByaXZhdGU6CiAgICAgLy8gQnJpZGdlIGZv
ciBQZWVyLiAgUnVubmluZyBvbiB0aGUgd29ya2VyIHRocmVhZC4KICAgICBjbGFzcyBCcmlkZ2Ug
OiBwdWJsaWMgUmVmQ291bnRlZDxCcmlkZ2U+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaAppbmRleCA3OGMyMWNhOWE5Mzc0ZmU4ZGIx
NTY0ZmUxYTY4NTQwYTllMTQ2OWY5Li5mMDExNTAxOTdiNjcwZGU3MzJlOTZmMGUwN2I3YzY5NjAz
NTBlYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmgK
QEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBlbmRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZW5kZWQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICAvLyBFdmVudFRhcmdl
dAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gV2ViWFJTZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9
CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
U3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmgKaW5k
ZXggZTlhYjE1ZDdhZWE0NDVkMTMzMmZjMjEyYTQ1Njg0NWRjZWQ5Y2VlMS4uZDBiZDU0YmRjNjVm
ZTI5ZWQ5ZTI3MTA5MjBiYzVmNGZiZTY1NjdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJTeXN0ZW0uaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBp
c1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSwgSXNTZXNzaW9uU3VwcG9ydGVkUHJvbWlz
ZSYmKTsKICAgICB2b2lkIHJlcXVlc3RTZXNzaW9uKFhSU2Vzc2lvbk1vZGUsIGNvbnN0IFhSU2Vz
c2lvbkluaXQmLCBSZXF1ZXN0U2Vzc2lvblByb21pc2UmJik7CiAKLXByb3RlY3RlZDoKK3ByaXZh
dGU6CiAgICAgV2ViWFJTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgLy8g
RXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsLmgKaW5kZXggZTdmYWU5Mjk2ZDkwMzEzNjQ3ZDUxODYy
NTE3OTRkZjhkNWEwMWY2Yi4uNDc0ZWNkNjI5N2NlZTVmNWFjOTk2ODE2OTZjMDc0NWUwYjNiZmE4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
QVJJQUdyaWRDZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5QVJJQUdyaWRDZWxsLmgKQEAgLTM3LDE1ICszNywxNCBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxBY2Nlc3NpYmlsaXR5QVJJQUdyaWRDZWxsPiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7
CiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbCgpOwogCi1wcm90ZWN0ZWQ6
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwoUmVuZGVy
T2JqZWN0Kik7CisKICAgICAvLyBSZXR1cm5zIHRoZSBzdGFydCBsb2NhdGlvbiBhbmQgcm93IHNw
YW4gb2YgdGhlIGNlbGwuCiAgICAgc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4gcm93SW5k
ZXhSYW5nZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIC8vIFJldHVybnMgdGhlIHN0YXJ0IGxvY2F0
aW9uIGFuZCBjb2x1bW4gc3BhbiBvZiB0aGUgY2VsbC4KICAgICBzdGQ6OnBhaXI8dW5zaWduZWQs
IHVuc2lnbmVkPiBjb2x1bW5JbmRleFJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6
Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbChSZW5kZXJPYmplY3QqKTsK
LQogICAgIEFjY2Vzc2liaWxpdHlUYWJsZSogcGFyZW50VGFibGUoKSBjb25zdCBvdmVycmlkZTsK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRSb3dHcm91cCgpIGNvbnN0OwogICAgIHVu
c2lnbmVkIGF4Um93U3BhbldpdGhSb3dJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZXRWYWx1ZUV2
ZW50LmgKaW5kZXggZjdkM2IzMjVlN2FhZWQ4ZjZhNmY0NzJmNjYxYjMyN2Y0OWNiMzRhOC4uM2U5
YmNmMDdhZWFiZDY3MGQzODA5NjQwZWUwMzE2OTEyMzRiYTI5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlU2V0VmFsdWVFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVNldFZhbHVlRXZlbnQuaApAQCAt
NDEsMTMgKzQxLDEyIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21TdHJpbmcmIHZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIEFj
Y2Vzc2libGVTZXRWYWx1ZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEF0b21T
dHJpbmcmIHZhbHVlKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50
SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQWNjZXNzaWJsZVNldFZhbHVlRXZl
bnRJbnRlcmZhY2VUeXBlOyB9CiAKLXByaXZhdGU6CiAgICAgY29uc3QgQXRvbVN0cmluZyBtX3Zh
bHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1h
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbi5oCmluZGV4IGNi
ZTBiNDIwYzZjNTYyODEyN2RhYmIyYzc5ZTZmMzdiYzM0MTc1OGQuLjAzNThiZWZkODFjZGE0Mjk4
MDZhYzI1NzA5OTA2YjBiODQwNjgxMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9DU1NBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTQW5p
bWF0aW9uLmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gYmluZGluZ3NQbGF5KCkgZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gYmluZGluZ3NQ
YXVzZSgpIGZpbmFsOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBzeW5jUHJvcGVydGllc1dpdGhC
YWNraW5nQW5pbWF0aW9uKCkgZmluYWw7Ci0gICAgUmVmPEFuaW1hdGlvbkV2ZW50QmFzZT4gY3Jl
YXRlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgZWxhcHNlZFRpbWUs
IGNvbnN0IFN0cmluZyYgcHNldWRvSWQsIE9wdGlvbmFsPFNlY29uZHM+IHRpbWVsaW5lVGltZSkg
ZmluYWw7Ci0KIHByaXZhdGU6CiAgICAgQ1NTQW5pbWF0aW9uKEVsZW1lbnQmLCBjb25zdCBBbmlt
YXRpb24mKTsKIAorICAgIHZvaWQgc3luY1Byb3BlcnRpZXNXaXRoQmFja2luZ0FuaW1hdGlvbigp
IGZpbmFsOworICAgIFJlZjxBbmltYXRpb25FdmVudEJhc2U+IGNyZWF0ZUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGVsYXBzZWRUaW1lLCBjb25zdCBTdHJpbmcmIHBz
ZXVkb0lkLCBPcHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUpIGZpbmFsOworCiAgICAgU3Ry
aW5nIG1fYW5pbWF0aW9uTmFtZTsKICAgICBib29sIG1fc3RpY2t5UGF1c2VkIHsgZmFsc2UgfTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVh
bS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW0uaAppbmRleCA5
ZmE0ZDk5MDJlYmZjODM4MDc0MGVhZDExNjQwNzZjYmJhOGJhNjgwLi5hNDMzODljY2UwMWI2M2I4
NTcyMDA4ODA1OGJkMTVkY2IyYzY3Nzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogCiAgICAgSlNSZWFk
YWJsZVN0cmVhbSogcmVhZGFibGVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBndWFyZGVkKCk7IH0K
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBSZWFkYWJsZVN0cmVhbShKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBKU1JlYWRhYmxlU3RyZWFtJiByZWFkYWJsZVN0cmVhbSkgOiBE
T01HdWFyZGVkPEpTUmVhZGFibGVTdHJlYW0+KGdsb2JhbE9iamVjdCwgcmVhZGFibGVTdHJlYW0p
IHsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19y
dW50aW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAppbmRl
eCA2MjI5NjM2OGViYjkwYzUwYjlkZTdmYTA3ODJjOWM2ZmEyODU5MTk4Li4wNjlhYmUyZTU1ODhh
YzU3NDA3ZWJkMDdhMmM2ZjVkNmQ0NTRmN2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX3J1bnRpbWUuaApAQCAtMTI0LDExICsxMjQsMTAgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBl
SW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CiAgICAgfQogCi1wcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCopOwotCiBwcml2
YXRlOgogICAgIE9iamNGYWxsYmFja09iamVjdEltcChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSosIE9iamNJbnN0YW5jZSosIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CisKICAgICBzdGF0aWMgdm9pZCBkZXN0
cm95KEpTQ2VsbCopOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICBz
dGF0aWMgYm9vbCBwdXQoSlNDZWxsKiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIEpT
VmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5
LmgKaW5kZXggMjk4MTJhNjZkNmYwMTI0ZTM4MzYyNWY5NTYwMTljYTMzYmMzYmQ5MS4uYzlmNmYw
ZGVkNDljOGJjNDA0YjA0MDRkZDdhN2Q4MWI2NTg2ODFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9hcnJheS5oCkBAIC04NCwxMSArODQsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5m
byhEZXJpdmVkQXJyYXlUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSwgQXJyYXlDbGFzcyk7
CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEJpbmRp
bmdzOjpBcnJheSopOwotCiBwcml2YXRlOgogICAgIFJ1bnRpbWVBcnJheShWTSYsIFN0cnVjdHVy
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBCaW5kaW5nczo6QXJyYXkqKTsKKwog
ICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBsZW5ndGhHZXR0ZXIoSlNHbG9iYWxPYmplY3QqLCBF
bmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKICAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFj
ZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNl
dFZhbHVlLmgKaW5kZXggMDRlNzg5MmU3NjQyNzQ3ZmQxZmUzMzc4MmNhZDZmYmZjNmY4NmVhMy4u
MDFlYTRjNWM1NGExYjZmZmJlZDMzMjNmNmIzOGRhZDQ4MzU1MWU1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VTZXRWYWx1ZS5oCkBAIC02MywxMiArNjMsMTEgQEAgcHVibGljOgogCiAgICAg
UmVmPENTU0ltYWdlU2V0VmFsdWU+IGltYWdlU2V0V2l0aFN0eWxlc1Jlc29sdmVkKFN0eWxlOjpC
dWlsZGVyU3RhdGUmKTsKIAotcHJvdGVjdGVkOgotICAgIEltYWdlV2l0aFNjYWxlIGJlc3RJbWFn
ZUZvclNjYWxlRmFjdG9yKCk7Ci0KIHByaXZhdGU6CiAgICAgQ1NTSW1hZ2VTZXRWYWx1ZSgpOwog
CisgICAgSW1hZ2VXaXRoU2NhbGUgYmVzdEltYWdlRm9yU2NhbGVGYWN0b3IoKTsKKwogICAgIHZv
aWQgZmlsbEltYWdlU2V0KCk7CiAgICAgc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVCeVNjYWxl
RmFjdG9yKEltYWdlV2l0aFNjYWxlIGZpcnN0LCBJbWFnZVdpdGhTY2FsZSBzZWNvbmQpIHsgcmV0
dXJuIGZpcnN0LnNjYWxlRmFjdG9yIDwgc2Vjb25kLnNjYWxlRmFjdG9yOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKaW5kZXggYWUxYWFlZDI2YTFjNjY5ZmU3
ZWUwN2E5NjY0YzE3YmE1ZjhiMTc2Yi4uNzgwYjc5MTkzZDk4NzYzMmI1OTJjOWIyNGQ4NTgwYjRl
YzZhOGU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKQEAg
LTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBLZXln
ZW5TZWxlY3RFbGVtZW50KGRvY3VtZW50KSk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRl
OgogICAgIEtleWdlblNlbGVjdEVsZW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgICAgICA6
IEhUTUxTZWxlY3RFbGVtZW50KHNlbGVjdFRhZywgZG9jdW1lbnQsIDApCiAgICAgewpAQCAtNjEs
NyArNjEsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHNldFBzZXVkbyhwc2V1ZG9JZCk7CiAgICAg
fQogCi1wcml2YXRlOgogICAgIFJlZjxFbGVtZW50PiBjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmli
dXRlc0FuZENoaWxkcmVuKERvY3VtZW50JiB0YXJnZXREb2N1bWVudCkgb3ZlcnJpZGUKICAgICB7
CiAgICAgICAgIHJldHVybiBjcmVhdGUodGFyZ2V0RG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgKaW5kZXggNzY3ZTRiYzQyZDA2OTQ2NWRiNjdhMzA0NTE1
ZTIyNGU4YTBjNTY2Ni4uMWY2MmNiM2YxNDA3YzNiMDczYTlkNWU0ZGIwMDA2NGY2NjEyZDRkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oCkBAIC02NiwxMiArNjYs
MTEgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3QgeyByZXR1
cm4gb2JqZWN0KCkgJiYgbV90YXJnZXQ7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBX
ZWJHTEJ1ZmZlcihXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0
ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBv
dmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBHQ0dMZW51bSBtX3RhcmdldCB7IDAgfTsKIAogICAg
IFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBtX2VsZW1lbnRBcnJheUJ1ZmZlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaAppbmRleCAzNDIzY2U2MzM3
MzE2YTM4ZTAwNTU3NDk3YTE2OTViZDg0OTA5MWQ4Li42M2Q2M2NmZGUyMjE0N2I2MzljMzY4MDkx
YmIwZDUzOGM5NmYyYWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEZyYW1lYnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xG
cmFtZWJ1ZmZlci5oCkBAIC0xMDUsMTIgKzEwNSwxMSBAQCBwdWJsaWM6CiAKICAgICBHQ0dMZW51
bSBnZXREcmF3QnVmZmVyKEdDR0xlbnVtKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBX
ZWJHTEZyYW1lYnVmZmVyKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKIAogICAgIHZvaWQg
ZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBsYXRmb3JtR0xPYmpl
Y3QpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIFdlYkdMQXR0YWNobWVudCogZ2V0QXR0YWNo
bWVudChHQ0dMZW51bSkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm4gZmFsc2UgaWYgZnJhbWVidWZm
ZXIgaXMgaW5jb21wbGV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFt
LmgKaW5kZXggOGM4YWQyODMxMzQxM2IwODE5MmM0ZmUyNGM1ZWMyZTNkNmIzMWQ2Zi4uODkzNmI2
OWY1M2YyMDNlMmYwN2ViY2E5NzFkYTllZTk3ZWU4YWI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKQEAgLTcwLDEyICs3MCwxMSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBhdHRhY2hTaGFkZXIoV2ViR0xTaGFkZXIqKTsKICAgICBib29sIGRldGFjaFNoYWRlcihX
ZWJHTFNoYWRlciopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMUHJvZ3JhbShX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKICAgICB2b2lkIGRlbGV0ZU9iamVjdEltcGwo
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2JqZWN0KSBvdmVycmlkZTsKIAot
cHJpdmF0ZToKICAgICB2b2lkIGNhY2hlQWN0aXZlQXR0cmliTG9jYXRpb25zKEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKik7CiAgICAgdm9pZCBjYWNoZUluZm9JZk5lZWRlZCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFF1ZXJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFF1ZXJ5LmgKaW5kZXggNzYxODllMWM0YjA2ZTI0MTg2NmZh
NWU2MDc1OGM5ZTJjZWM1ZGM2MC4uNGJkNmYxYzA0NmYxNTM4OGNjNTgwMWY0MTU2MWE2OTNmMzNh
M2Q5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xRdWVyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUXVlcnkuaApAQCAtNDAsMTEg
KzQwLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbWFrZVJlc3VsdEF2YWlsYWJsZSgpIHsgbV9p
c1Jlc3VsdEF2YWlsYWJsZSA9IHRydWU7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBl
eHBsaWNpdCBXZWJHTFF1ZXJ5KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKICAgICB2b2lk
IGRlbGV0ZU9iamVjdEltcGwoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqLCBQbGF0Zm9ybUdMT2Jq
ZWN0KSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBib29sIG1faXNSZXN1bHRBdmFpbGFibGUg
eyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJidWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyYnVmZmVyLmgKaW5kZXggMzFlOTEwMjc5MjNlMjY4NDE0ZjkyY2NjODdlODFlZWQyNGM0MWZj
ZS4uYjU1OTc0MTQyN2YxYjE0NjliYWJjOGIyYTRlZTgwZTg1YTg1Yzc5NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5oCkBAIC02MiwxMiArNjIs
MTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRIYXNFdmVyQmVlbkJvdW5kKCkgeyBtX2hhc0V2
ZXJCZWVuQm91bmQgPSB0cnVlOyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2ViR0xS
ZW5kZXJidWZmZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxl
dGVPYmplY3RJbXBsKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkg
b3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlcmJ1ZmZlcigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIEdDR0xlbnVtIG1faW50ZXJuYWxGb3JtYXQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNhbXBsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2FtcGxlci5oCmluZGV4IDFmMGY3N2Qz
MTNkMmJlNTA4OTllNThkN2YxODlmMmFkYWQ5MzRmYzMuLmEzMjcwYTE4MzU5YzliODU4Njg5NDM4
NzdhZTQyZjY2YmY5NzNjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMU2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2Ft
cGxlci5oCkBAIC0zNiw3ICszNiw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkdMU2Ft
cGxlcj4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKICAgICB2aXJ0dWFsIH5X
ZWJHTFNhbXBsZXIoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJH
TFNhbXBsZXIoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOwogICAgIHZvaWQgZGVsZXRlT2Jq
ZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBsYXRmb3JtR0xPYmplY3QpIGZpbmFs
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU3luYy5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTeW5jLmgKaW5kZXggZjkxN2M3YWI1
NTI4ZDY2ODBiMTliZWJmZGE3MzA5NWM4MmYyODg4NC4uZGY2YjM2NTkzMzY4ZGZmZjNlMGY1MmM2
OTU1OTMyNWEyNDQzYTQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xTeW5jLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTeW5jLmgK
QEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJlZjxXZWJHTFN5bmM+IGNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgV2ViR0xTeW5jKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKIAogICAgIHZvaWQg
ZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHRHTE9wZW5HTCosIFBsYXRmb3JtR0xPYmpl
Y3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xUcmFuc2Zvcm1GZWVkYmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xU
cmFuc2Zvcm1GZWVkYmFjay5oCmluZGV4IDgxOWIzZGJhNDFjNjYwNDgwM2Y2M2U2OTFlZTI0YWEx
NGUwMTAzZWIuLmY3MDJhZWMxOTJkN2JjNjczYzIwMzMwMjU1MTMyM2MwNDUxZTI4MzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVHJhbnNmb3JtRmVlZGJhY2su
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRyYW5zZm9ybUZlZWRiYWNr
LmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJlZjxXZWJHTFRyYW5z
Zm9ybUZlZWRiYWNrPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgogICAgIFdlYkdMVHJhbnNmb3JtRmVlZGJhY2soV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZSYpOwogCiAgICAgdm9pZCBkZWxldGVPYmplY3RJbXBsKEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaAppbmRleCA5MzI1ZjFh
YzQ4NzllNDE2YTZmMTJkMWNhNzJkN2Y1NGFkYzMyNTlmLi5kYjQ0OGI0ZmMxMWQ2ZjcwMWEzMjA4
NzgyYjIwMjMyM2ZlZmQyYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgKQEAgLTQ1LDEwICs0NSw5IEBAIHB1YmxpYzoKICAgICAK
ICAgICBHQ0dMZW51bSB0eXBlKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
V2ViR0xVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtKiwgR0NHTGludCBsb2NhdGlvbiwgR0NH
TGVudW0gdHlwZSk7CiAKLXByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkdMUHJvZ3JhbT4gbV9wcm9n
cmFtOwogICAgIEdDR0xpbnQgbV9sb2NhdGlvbjsKICAgICB1bnNpZ25lZCBtX2xpbmtDb3VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJF
bGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVs
ZW1lbnRzLmgKaW5kZXggNmUxY2I1ZmQ0MTNjYWYyZjc0ZGVhZjU3MmY2MzQzNTZjZDdlYWI5NS4u
ZWNjZjk0MzFhMzcxOTM3MmM5ODY3MDczOWFiNTU4MWFhMmY4ZjI0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKQEAg
LTM3LDcgKzM3LDcgQEAgY2xhc3MgVGV4dENvbnRyb2xJbm5lckNvbnRhaW5lciBmaW5hbCA6IHB1
YmxpYyBIVE1MRGl2RWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChUZXh0Q29u
dHJvbElubmVyQ29udGFpbmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFRleHRDb250cm9s
SW5uZXJDb250YWluZXI+IGNyZWF0ZShEb2N1bWVudCYpOwotcHJvdGVjdGVkOgorcHJpdmF0ZToK
ICAgICBUZXh0Q29udHJvbElubmVyQ29udGFpbmVyKERvY3VtZW50Jik7CiAgICAgUmVuZGVyUHRy
PFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25z
dCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKICAgICBPcHRpb25hbDxTdHlsZTo6RWxl
bWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0
eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogc2hhZG93SG9zdFN0eWxlKSBvdmVycmlkZTsKQEAgLTQ4
LDExICs0OCwxMCBAQCBjbGFzcyBUZXh0Q29udHJvbElubmVyRWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBIVE1MRGl2RWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUZXh0Q29udHJvbElu
bmVyRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Jik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgVGV4dENvbnRyb2xJbm5lckVsZW1lbnQoRG9jdW1lbnQmKTsKICAgICBPcHRpb25hbDxTdHls
ZTo6RWxlbWVudFN0eWxlPiByZXNvbHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBh
cmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogc2hhZG93SG9zdFN0eWxlKSBvdmVycmlkZTsK
IAotcHJpdmF0ZToKICAgICBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBmYWxzZTsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVNoZWV0LmgKaW5kZXggNzc4NTIxN2E5MzYyNjBjZjFkMjM1NmFmZGQyMmY4NDU0
YTIxZDg5NC4uNzNkMzYxOGU1YTQ4YTM3NDU3NjI2ZGQ1NDhkY2U3ZTM2YjFkZTEzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oCkBAIC0yMzYs
NyArMjM2LDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPFN0cmluZz4gdGV4dCgpIGNvbnN0
IGZpbmFsOwogICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlRm9ySWQoY29uc3QgSW5zcGVj
dG9yQ1NTSWQmIGlkKSBjb25zdCBmaW5hbCB7IEFTU0VSVF9VTlVTRUQoaWQsICFpZC5vcmRpbmFs
KCkpOyByZXR1cm4gJmlubGluZVN0eWxlKCk7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAg
ICBJbnNwZWN0b3JTdHlsZVNoZWV0Rm9ySW5saW5lU3R5bGUoSW5zcGVjdG9yUGFnZUFnZW50Kiwg
Y29uc3QgU3RyaW5nJiBpZCwgUmVmPFN0eWxlZEVsZW1lbnQ+JiYsIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkNTUzo6U3R5bGVTaGVldE9yaWdpbiwgTGlzdGVuZXIqKTsKIAogICAgIERvY3VtZW50KiBv
d25lckRvY3VtZW50KCkgY29uc3QgZmluYWw7CkBAIC0yNDksNyArMjQ5LDYgQEAgcHJvdGVjdGVk
OgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFN0eWxlVGV4dChDU1NTdHlsZURlY2xhcmF0aW9u
KiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAgVmVjdG9yPHNpemVfdD4gbGluZUVuZGluZ3Mo
KSBjb25zdCBmaW5hbDsKIAotcHJpdmF0ZToKICAgICBDU1NTdHlsZURlY2xhcmF0aW9uJiBpbmxp
bmVTdHlsZSgpIGNvbnN0OwogICAgIGNvbnN0IFN0cmluZyYgZWxlbWVudFN0eWxlVGV4dCgpIGNv
bnN0OwogICAgIFJlZjxDU1NSdWxlU291cmNlRGF0YT4gcnVsZVNvdXJjZURhdGEoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaAppbmRleCBjYWQ5OTg5MDI5ZWI3NGM3NzU3OTdjMjhiNDZjMDU5ZGM1ZGY3YjcwLi4xNjEx
OWU1ODZmNmQyNGYzZTI1MDI0NjlkOTI0OWUxODViNjEwZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC00OCwxMCAr
NDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9N
V2luZG93Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBkaWRDcmVhdGVJbmpl
Y3RlZFNjcmlwdChjb25zdCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0Jikgb3ZlcnJpZGU7CiAK
LXByaXZhdGU6CiAgICAgUmVmUHRyPENvbW1hbmRMaW5lQVBJSG9zdD4gbV9jb21tYW5kTGluZUFQ
SUhvc3Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkQ1NTU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENT
U1N0eWxlU2hlZXQuaAppbmRleCA1ZTFhZDg2ZDMwMjY3YjM2MWNiYjE4OGE2MzljOTQwMDAzOGM5
YmI2Li5hZDMwZjgxYzA1NmNhMDI4YWJmMzMzMTk1YjBjNWVjYWVlNTExMWNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmgKQEAgLTYw
LDcgKzYwLDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0Qm9keURhdGFGcm9tKGNvbnN0IENh
Y2hlZFJlc291cmNlJikgZmluYWw7CiAKLXByb3RlY3RlZDoKICAgICB2b2lkIGNoZWNrTm90aWZ5
KCkgZmluYWw7CiAKICAgICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5oCmluZGV4IDNkNDNhOTRiZWE5NTU2Yzk4ZGM3NDIzYWI3ZWFkOWE5MmE1MmM2
ZmUuLmYyYWUwNzg2YWZkZTE1MTFjMjFjNzIwOTY5MGNkNTQzNGYwMzU5MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgKQEAgLTM3MSw3ICszNzEsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNIYWRVc2Vy
SW50ZXJhY3Rpb24geyBmYWxzZSB9OwogICAgIHVuc2lnbmVkIG1fbG9jYWxTdG9yYWdlUHJld2Fy
bWluZ0NvdW50IHsgMCB9OwogCi1wcm90ZWN0ZWQ6CiAgICAgVW5pcXVlUmVmPEV2ZW50SGFuZGxl
cj4gbV9ldmVudEhhbmRsZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAxMTYx
Zjk2ZTFlYzYwMDIyNjM5YzY5YTAxNzJlM2Q1MmI5ZmViYTYzLi4zMTM1MTdiNWY5M2U5NGI2YmRj
NDZjY2ViZDU0ZTgxNThiNDEwZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTY2OSw3
ICs2NjksOSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0
IGZpbmFsOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZyYW1lVmlldyhG
cmFtZSYpOworCiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUm
IHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3Qm
IGNsaXBSZWN0KSBmaW5hbDsKICAgICB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3Qg
SW50UmVjdCYgdXBkYXRlUmVjdCkgZmluYWw7CiAgICAgCkBAIC02NzgsOSArNjgwLDYgQEAgcHJv
dGVjdGVkOgogICAgIGJvb2wgaXNWZXJ0aWNhbERvY3VtZW50KCkgY29uc3QgZmluYWw7CiAgICAg
Ym9vbCBpc0ZsaXBwZWREb2N1bWVudCgpIGNvbnN0IGZpbmFsOwogCi1wcml2YXRlOgotICAgIGV4
cGxpY2l0IEZyYW1lVmlldyhGcmFtZSYpOwotCiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQg
aW5pdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmgKaW5kZXggNDky
OWI0MjU3ZGJiZDZlNmY0NDlhNzUwZjg2ZjNhOWUwYTBjMWMzZS4uNTIxNzA3YTc0NTBiYmYyYzBl
MmY4ODVhMWRiN2Q4NTY3Y2VjOWQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uc29sZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVD
bGllbnQuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBSZWY8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYpOwogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciA9IDAsIERvY3VtZW50KiA9IG51bGxwdHIpOwogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgbWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwoTWVzc2FnZVR5
cGUsIE1lc3NhZ2VMZXZlbCwgSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxJbnNwZWN0b3I6OlNj
cmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudChKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudFJl
c2V0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmIGxhYmVsKSBvdmVycmlkZTsK
QEAgLTgwLDcgKzgwLDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVjb3JkRW5kKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+JiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2NyZWVuc2hvdChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEluc3BlY3Rv
cjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBQYWdlJiBt
X3BhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9L
ZXlmcmFtZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJh
bWVBbmltYXRpb24uaAppbmRleCBhMWMzZTY2NjI3OTU4ZTQ4MjcyOWQ3NDljZDM1NWNiMTkxZjQw
YzEwLi40OTJlMzkxNTVjNGE5Yjc4YzFjNmQ2ZmVlMWMyZWUzZTBiYjZiZjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKQEAgLTY1
LDcgKzY1LDEwIEBAIHB1YmxpYzoKIAogICAgIE9wdGlvbmFsPFNlY29uZHM+IHRpbWVUb05leHRT
ZXJ2aWNlKCkgb3ZlcnJpZGU7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgS2V5ZnJhbWVB
bmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiwgRWxlbWVudCYsIENvbXBvc2l0ZUFuaW1hdGlvbiYs
IGNvbnN0IFJlbmRlclN0eWxlJiB1bmFuaW1hdGVkU3R5bGUpOworICAgIHZpcnR1YWwgfktleWZy
YW1lQW5pbWF0aW9uKCk7CisKICAgICB2b2lkIG9uQW5pbWF0aW9uU3RhcnQoZG91YmxlIGVsYXBz
ZWRUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIG9uQW5pbWF0aW9uSXRlcmF0aW9uKGRvdWJsZSBl
bGFwc2VkVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBvbkFuaW1hdGlvbkVuZChkb3VibGUgZWxh
cHNlZFRpbWUpIG92ZXJyaWRlOwpAQCAtOTQsMTAgKzk3LDYgQEAgcHJvdGVjdGVkOgogI2VuZGlm
CiAgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQ29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAg
ICAgYm9vbCBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cyhDU1NQcm9wZXJ0eUlE
LCBjb25zdCBzdGQ6OmZ1bmN0aW9uPGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIChjb25zdCBSZW5k
ZXJTdHlsZSYpPiYpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIEtleWZyYW1lQW5pbWF0aW9uKGNv
bnN0IEFuaW1hdGlvbiYsIEVsZW1lbnQmLCBDb21wb3NpdGVBbmltYXRpb24mLCBjb25zdCBSZW5k
ZXJTdHlsZSYgdW5hbmltYXRlZFN0eWxlKTsKLSAgICB2aXJ0dWFsIH5LZXlmcmFtZUFuaW1hdGlv
bigpOwogICAgIAogICAgIC8vIEdldCB0aGUgc3R5bGVzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkg
c3Vycm91bmRpbmcgdGhlIGN1cnJlbnQgYW5pbWF0aW9uIHRpbWUgYW5kIHRoZSBwcm9ncmVzcyBi
ZXR3ZWVuIHRoZW0uCiAgICAgdm9pZCBmZXRjaEludGVydmFsRW5kcG9pbnRzRm9yUHJvcGVydHko
Q1NTUHJvcGVydHlJRCwgY29uc3QgUmVuZGVyU3R5bGUqJiBmcm9tU3R5bGUsIGNvbnN0IFJlbmRl
clN0eWxlKiYgdG9TdHlsZSwgZG91YmxlJiBwcm9ncmVzcykgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3Np
YS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaAppbmRleCA1OGRmZjQ1YTQ4
YWEwMTg3MTA3ZTM0YTZiYzg1NDk2NjM0OGM2YThjLi4zNTllMDI1OTgzMWZmZTdjYzZmNDk3NTJi
YjhiMGIxOWQ0ZmM3ZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgU2Nyb2xs
aW5nTm9kZUlEIG92ZXJmbG93U2Nyb2xsaW5nTm9kZUlEKCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
Zmxvd1Njcm9sbGluZ05vZGVJRDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5n
Tm9kZUlEKTsKIAogICAgIHZvaWQgY29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3Jv
bGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5oCmluZGV4IDIyNDM3NDdhYzM3ZWZiNTAzNTU5N2YwMmI2NDhjYzE4MGE5NjYzMDgu
LjE2ODAzNDczNmE3ZDI3Njg4ZWRlNDA5OWFkZDBjMThjOTFhMjg2NGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtMTQ5LDcgKzE0OSw3IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9CdXM+IGxvYWRQbGF0Zm9ybVJlc291cmNlKGNvbnN0
IGNoYXIqIG5hbWUsIGZsb2F0IHNhbXBsZVJhdGUpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIEF1ZGlvQnVzKCkgeyB9CiAKICAgICBBdWRpb0J1cyh1bnNpZ25lZCBudW1iZXJPZkNoYW5u
ZWxzLCBzaXplX3QgbGVuZ3RoLCBib29sIGFsbG9jYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlh
RWxlbWVudC5oCmluZGV4IGQ0MWVjMzc4MDg3NTUyM2E2ZjgwNTAwMjM5NDJjOGJlODU1ZTg4MWYu
LjdkNmI5N2ZkMDZkN2RjMDJmZmEyZGZjMjZjMmVjZmQ3ZTkwMmU0MWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQuaApAQCAtOTgsMTAgKzk4LDkgQEAgcHVibGljOgogICAgIGJvb2wg
aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpc1Bp
Y3R1cmVJblBpY3R1cmVBY3RpdmUoKSBjb25zdCBmaW5hbDsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKICAgICBXRUJDT1JFX0VYUE9SVCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudCgp
OwogCi1wcml2YXRlOgogICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmlyZWQoKTsKICAgICBz
dGF0aWMgY29uc3QgVmVjdG9yPFdURjo6QXRvbVN0cmluZz4mIG9ic2VydmVkRXZlbnROYW1lcygp
OwogICAgIGNvbnN0IFdURjo6QXRvbVN0cmluZyYgZXZlbnROYW1lQWxsKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA1Yzk2YmRjYWVl
NzUzOWI0MDQyNDAzNmQ4Y2UyMDk3NDkwMTE5MzM1Li4xYTlhNGI1NGFlZGY5NDcxOTNjMmFjNTdm
ZDM4Mzg4NDBmN2FmZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbWFn
ZUZyYW1lQXZhaWxhYmxlQXRJbmRleChzaXplX3QpOwogICAgIHZvaWQgZGVjb2RlKEZ1bmN0aW9u
PHZvaWQoKT4mJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQg
Qml0bWFwSW1hZ2UoTmF0aXZlSW1hZ2VQdHImJiwgSW1hZ2VPYnNlcnZlciogPSBudWxscHRyKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCBCaXRtYXBJbWFnZShJbWFnZU9ic2VydmVyKiA9IG51bGxwdHIp
OwogCkBAIC0xOTUsNyArMTk1LDYgQEAgcHJvdGVjdGVkOgogICAgIFJldGFpblB0cjxDRkRhdGFS
ZWY+IHRpZmZSZXByZXNlbnRhdGlvbihjb25zdCBWZWN0b3I8TmF0aXZlSW1hZ2VQdHI+Jik7CiAj
ZW5kaWYKIAotcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKICAgICB2b2lkIHN0YXJ0
VGltZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgU3Vic2FtcGxpbmdMZXZlbCBzdWJzYW1wbGluZ0xl
dmVsRm9yU2NhbGVGYWN0b3IoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRTaXplJiBzY2Fs
ZUZhY3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCA0NTc2NWM4MzE0NTIxZTQ4YWNiMGY5
ZGIzOWVhMDNkNGVhNmVjM2IxLi5iOGJlODA3NjY5MTc1ZGZkYjFlNzUwMzdlZTE1MzUyMTUyY2Iy
N2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2Zh
ZGVHZW5lcmF0ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmgKQEAgLTQ2LDEzICs0NiwxMiBAQCBwdWJsaWM6CiAK
ICAgICBGbG9hdFNpemUgc2l6ZShJbWFnZU9yaWVudGF0aW9uID0gSW1hZ2VPcmllbnRhdGlvbjo6
RnJvbUltYWdlKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Nyb3NzZmFkZVNpemU7IH0KIAot
cHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJbWFnZURyYXdSZXN1bHQgZHJhdyhHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVj
dCwgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9KSBvdmVycmlkZTsKICAgICB2b2lk
IGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5U
cmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNwYWNp
bmcsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsgfSkgb3ZlcnJpZGU7CiAKICAgICBD
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZShJbWFnZSYgZnJvbUltYWdlLCBJbWFnZSYgdG9JbWFnZSwg
ZmxvYXQgcGVyY2VudGFnZSwgY29uc3QgRmxvYXRTaXplJiBjcm9zc2ZhZGVTaXplLCBjb25zdCBG
bG9hdFNpemUmKTsKIAotcHJpdmF0ZToKICAgICBib29sIGlzQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBkdW1wKFdURjo6
VGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaApp
bmRleCAwMjg1ZTFmOGI5YTJhNTE2MzJkZmM0ZjM3MGEyYTBjZDYxM2Q4MGUwLi41OTc4YzczYTc0
ZTViNGFiMTMyZTA1NTdlMGViM2M5YWU3YzhjNjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OYW1lZEltYWdlR2VuZXJhdGVkSW1hZ2UuaApA
QCAtMzgsMTMgKzM4LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlKG5hbWUsIHNpemUpKTsKICAgICB9CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgSW1hZ2VEcmF3UmVzdWx0IGRyYXcoR3JhcGhpY3NDb250ZXh0Jiwg
Y29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsgfSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkcmF3UGF0
dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3Jt
LCBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBjb25z
dCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0pIG92ZXJyaWRlOwogCiAgICAgTmFtZWRJbWFn
ZUdlbmVyYXRlZEltYWdlKFN0cmluZyBuYW1lLCBjb25zdCBGbG9hdFNpemUmKTsKIAotcHJpdmF0
ZToKICAgICBib29sIGlzTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChXVEY6OlRleHRTdHJlYW0mKSBjb25zdCBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25BVkZv
dW5kYXRpb25PYmpDLmgKaW5kZXggNWQ4ZTI1MDc0NzBiYzdhNDk5OTU1Yzk4MWIxNzZmZjQ0NGZi
YzZkYi4uNDMxOGMxYjU1NjhmMWIwMjUxMzg4NDE4ZjYzYjBiYTc3MGYwY2E4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RN
U2Vzc2lvbkFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5oCkBA
IC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcGxheWVyRGlkUmVjZWl2ZUVycm9y
KE5TRXJyb3IgKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgV2Vha1B0cjxNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDPiBtX3BhcmVudDsKICAgICBMZWdhY3lDRE1TZXNz
aW9uQ2xpZW50KiBtX2NsaWVudDsKICAgICBTdHJpbmcgbV9zZXNzaW9uSWQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4
IDQ5MDlmZGRhOWNjOGY4N2FhYWM4MzVkZDE4OGZhZWNhNWM2MDY1MzUuLmJlOGZjM2E2NTlhNDU1
MmI3NGE2YzNjYzZkODE5NWIxMjEyMWM5YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC00MDMsNyArNDAzLDcgQEAg
cHVibGljOgogICAgIGJvb2wgaXNBdWRpbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNB
dWRpbzsgfQogICAgIGJvb2wgaXNUZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pc1Rl
eHQ7IH0KICAgICAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgTWVkaWFEZXNjcmlwdGlvbkFW
Rk9iakMoQVZBc3NldFRyYWNrKiB0cmFjaykKICAgICAgICAgOiBtX2lzVmlkZW8oW3RyYWNrIGhh
c01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRpYUNoYXJhY3RlcmlzdGljVmlzdWFsXSkKICAgICAg
ICAgLCBtX2lzQXVkaW8oW3RyYWNrIGhhc01lZGlhQ2hhcmFjdGVyaXN0aWM6QVZNZWRpYUNoYXJh
Y3RlcmlzdGljQXVkaWJsZV0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FBbmltYXRpb25Db2NvYS5o
CmluZGV4IDUxZWE4MzNjMzUyYWUxOGE4YzBmNGRjMTkxOGRlYTQ4ZWNiZTdlNGQuLjI5YmRlNWU5
ZWMzNjIzMGE0MmFlOGM3ZDZkYzc3NWZjNDkyNDVlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FBbmltYXRpb25Db2NvYS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3Jt
Q0FBbmltYXRpb25Db2NvYS5oCkBAIC0xMjMsMTEgKzEyMywxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRUaW1pbmdGdW5jdGlvbnMoY29uc3QgVmVjdG9yPGNvbnN0IFRpbWluZ0Z1bmN0aW9uKj4m
LCBib29sIHJldmVyc2UgPSBmYWxzZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3B5VGltaW5nRnVu
Y3Rpb25zRnJvbShjb25zdCBQbGF0Zm9ybUNBQW5pbWF0aW9uJikgb3ZlcnJpZGU7CiAKLXByb3Rl
Y3RlZDoKK3ByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hKEFuaW1hdGlvblR5
cGUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCk7CiAgICAgUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29h
KFBsYXRmb3JtQW5pbWF0aW9uUmVmKTsKIAotcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0FQcm9w
ZXJ0eUFuaW1hdGlvbj4gbV9hbmltYXRpb247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRp
b25XaW4uaAppbmRleCAxNjJkNjI2YTY2ODUwNTBhYjc3ZTdlMWFkODdjYjYxYWVkOGM4NThlLi4w
OGJiN2E0MGZkMzEwNGQwNDk5NDQ2Mjc5MzBiMDcwNjI0NTcyMmJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldp
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9y
bUNBQW5pbWF0aW9uV2luLmgKQEAgLTExMywxMSArMTEzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFRpbWluZ0Z1bmN0aW9ucyhjb25zdCBWZWN0b3I8Y29uc3QgVGltaW5nRnVuY3Rpb24qPiYs
IGJvb2wgcmV2ZXJzZSA9IGZhbHNlKSBvdmVycmlkZTsKICAgICB2b2lkIGNvcHlUaW1pbmdGdW5j
dGlvbnNGcm9tKGNvbnN0IFBsYXRmb3JtQ0FBbmltYXRpb24mKSBvdmVycmlkZTsKIAotcHJvdGVj
dGVkOgorcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBQW5pbWF0aW9uV2luKEFuaW1hdGlvblR5cGUs
IGNvbnN0IFN0cmluZyYga2V5UGF0aCk7CiAgICAgUGxhdGZvcm1DQUFuaW1hdGlvbldpbihQbGF0
Zm9ybUFuaW1hdGlvblJlZik7CiAKLXByaXZhdGU6CiAgICAgUmV0YWluUHRyPENBQ0ZBbmltYXRp
b25SZWY+IG1fYW5pbWF0aW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmgKaW5kZXggYWNkMGVmY2M3NzllNjQxN2Uy
MDg3MGU3NjE5MTNhNWFlNGIwNWIzZC4uNDQ4NzUzZGZhYTQ1MjgyZWViOTI2ZDA4YmRkNTU3Njkz
MDY1NjEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VEZWNvZGVyQ0cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbWFnZURlY29kZXJDRy5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
QWxsRGF0YVJlY2VpdmVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pc0FsbERhdGFSZWNlaXZl
ZDsgfQogICAgIHZvaWQgY2xlYXJGcmFtZUJ1ZmZlckNhY2hlKHNpemVfdCkgZmluYWwgeyB9CiAK
LXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWxsRGF0YVJlY2VpdmVkIHsgZmFs
c2UgfTsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVNvdXJjZVJlZj4gbV9uYXRpdmVEZWNvZGVyOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09P
cmlnaW5hbEZvcm1hdEJveC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNv
L0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKaW5kZXggMTg4M2JhNDdiZGYzYTUyYWZiMmZmN2QwZGQ1
Y2Q5ZGNkN2NkZDg3MC4uMjIxY2I2NzQwNzgxNGFjZDE2M2M4ZDFiZDA3YWVlNTEwNzBlNDJhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdp
bmFsRm9ybWF0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNv
L0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKQEAgLTM1LDcgKzM1LDcgQEAgcHVibGljOgogCiAgICAg
Rm91ckNDIGRhdGFGb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX2RhdGFGb3JtYXQ7IH0KIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmLCB1bnNpZ25l
ZCYgb2Zmc2V0KSBvdmVycmlkZTsKIAogICAgIEZvdXJDQyBtX2RhdGFGb3JtYXQgeyB1aW50MzJf
dCB7IDAgfSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aXNvL0lTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9pc28vSVNPUHJvdGVjdGlvblNjaGVtZUluZm9Cb3guaAppbmRleCA4ZTU2NzNl
MDUxNmE2NTAxNGY1Y2Q0OWY2MWFhN2I3NTM4ZDJjYWY2Li5hNmEyNDJiM2JiMjQ3Y2NlZjRlOTQ1
MTNkNTdlODQ4Y2RhMWE4ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9pc28vSVNPUHJvdGVjdGlvblNjaGVtZUluZm9Cb3guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPUHJvdGVjdGlvblNjaGVtZUluZm9Cb3guaApA
QCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgSVNPU2NoZW1lVHlwZUJveCogc2No
ZW1lVHlwZUJveCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1lVHlwZUJveC5nZXQoKTsgfQogICAg
IGNvbnN0IElTT1NjaGVtZUluZm9ybWF0aW9uQm94KiBzY2hlbWVJbmZvcm1hdGlvbkJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2NoZW1lSW5mb3JtYXRpb25Cb3guZ2V0KCk7IH0KIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmLCB1bnNpZ25lZCYgb2Zm
c2V0KSBvdmVycmlkZTsKIAogICAgIElTT09yaWdpbmFsRm9ybWF0Qm94IG1fb3JpZ2luYWxGb3Jt
YXRCb3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28v
SVNPU2NoZW1lSW5mb3JtYXRpb25Cb3guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oCmluZGV4IGU4ZWMwYzRjNjliNzRlODMz
NDQ5ODk0MWYyNGVlZTQxMGYyY2RkNmUuLjg5MzZmMzM4M2IxZmNkMjAyNTM3YTdlZjEyODdkODZh
ZDQzMjY2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lz
by9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2lzby9JU09TY2hlbWVJbmZvcm1hdGlvbkJveC5oCkBAIC0zNSw3ICszNSw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IElTT0JveCogc2NoZW1lU3BlY2lmaWNEYXRhKCkgY29uc3Qg
eyByZXR1cm4gbV9zY2hlbWVTcGVjaWZpY0RhdGEuZ2V0KCk7IH0KIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmLCB1bnNpZ25lZCYgb2Zmc2V0KSBv
dmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJU09Cb3g+IG1fc2NoZW1lU3BlY2lmaWNE
YXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lT
T1NjaGVtZVR5cGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9J
U09TY2hlbWVUeXBlQm94LmgKaW5kZXggNGI4ZjI2MzM3NTBmOGFkZjkwYmMyN2MyZDBjZjE0ZWY5
ODJjMTczYS4uMWI2YWZjZTNjNWExZGMxN2M2YzdjNjZjNmQ0NWI1NTlmNzViZWU2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5cGVC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPU2NoZW1l
VHlwZUJveC5oCkBAIC0zNiw3ICszNiw3IEBAIHB1YmxpYzoKICAgICBGb3VyQ0Mgc2NoZW1lVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NoZW1lVHlwZTsgfQogICAgIHVpbnQzMl90IHNjaGVtZVZl
cnNpb24oKSBjb25zdCB7IHJldHVybiBtX3NjaGVtZVZlcnNpb247IH0KIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmLCB1bnNpZ25lZCYgb2Zmc2V0
KSBvdmVycmlkZTsKIAogICAgIEZvdXJDQyBtX3NjaGVtZVR5cGUgeyB1aW50MzJfdCB7IDAgfSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Ry
YWNrRW5jcnlwdGlvbkJveC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNv
L0lTT1RyYWNrRW5jcnlwdGlvbkJveC5oCmluZGV4IDQ3ZmE0OTcyNDZjNzE1YmUxZDJjZWY5YjBl
YTg3ZGQ3Zjc5ZWY1OWYuLjgyMzk3NDIwNDZhMjZhOTJkOGJhN2I3OWExMWM5ZWFmZTJmZWQ5OWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09UcmFj
a0VuY3J5cHRpb25Cb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
c28vSVNPVHJhY2tFbmNyeXB0aW9uQm94LmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAg
IFZlY3Rvcjx1aW50OF90PiBkZWZhdWx0S0lEKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0S0lE
OyB9CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGRlZmF1bHRDb25zdGFudElWKCkgY29uc3QgeyByZXR1
cm4gbV9kZWZhdWx0Q29uc3RhbnRJVjsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIGJv
b2wgcGFyc2UoSlNDOjpEYXRhVmlldyYsIHVuc2lnbmVkJiBvZmZzZXQpIG92ZXJyaWRlOwogCiAg
ICAgT3B0aW9uYWw8aW50OF90PiBtX2RlZmF1bHRDcnlwdEJ5dGVCbG9jazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHAKaW5kZXggNzM3
ZGMyNDQ5NGM1ZmE0YzIzMjdiMmI3NjA0OWRhZjY2Zjk5ZDgzYy4uYWFjMmJhY2MzZDUzYmYwZWI5
YTNmZTBjMzA5ZTAyZDQ5MjQ2YzViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgSVNP
U3RyaW5nQm94IGZpbmFsIDogcHVibGljIElTT0JveCB7CiBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBjb250ZW50cygpIHsgcmV0dXJuIG1fY29udGVudHM7IH0KIAotcHJvdGVjdGVkOgorcHJp
dmF0ZToKICAgICBib29sIHBhcnNlKEpTQzo6RGF0YVZpZXcmIHZpZXcsIHVuc2lnbmVkJiBvZmZz
ZXQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICB1bnNpZ25lZCBsb2NhbE9mZnNldCA9IG9mZnNl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09W
VFRDdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09WVFRDdWUu
aAppbmRleCA5ZDQ2NDU2ZTBmYjQxODc0ZjhhZDJjMjVmZTlmODFiNjYxODkwNDlkLi43ZmE2M2M3
NDMxNjU2MDM1ZmVmMDk3YWY5ZTFiMmQ0OWU1ZmE1M2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPVlRUQ3VlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1ZUVEN1ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAg
cHVibGljOgogICAgICAgICB9fTsKICAgICB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAg
Ym9vbCBwYXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAK
ICAgICBNZWRpYVRpbWUgbV9wcmVzZW50YXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVyRGlyZWN0MkQuaApp
bmRleCA0YjZiZDQyYzc0NDM2MmExMmFmZDk3NjZmMTY2ZDcyYTQ2MTg3NjEzLi43NmQ3YWNhOTNl
MzkyNDI3YjI2NTM1NGNhZjJlMzJlZWFjY2YxN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVyRGlyZWN0MkQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVyRGlyZWN0MkQuaApA
QCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSVdJQ0ltYWdpbmdGYWN0b3J5
Miogc3lzdGVtSW1hZ2luZ0ZhY3RvcnkoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBi
b29sIG1faXNBbGxEYXRhUmVjZWl2ZWQgeyBmYWxzZSB9OwogICAgIG11dGFibGUgSW50U2l6ZSBt
X3NpemU7CiAgICAgQ09NUHRyPElXSUNCaXRtYXBEZWNvZGVyPiBtX25hdGl2ZURlY29kZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA1ZmY0YTNhMzEwM2FiMjA3NGM0OWYz
YWI3YTg4YWVlNzMwNTY4YWZkLi5hYmRlM2E5NGMwMTJlNDFlMDRiZmQ4MjBiMDQyMDlhMjUyMGJi
M2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZWZyZXNoQ2FwdHVyZURldmljZXMoKTsKIAotcHJvdGVjdGVk
OgorcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwogCiAgICAgQVZDYXB0
dXJlRGV2aWNlTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tCb3guaAppbmRleCAyY2M1MzBmZTM1ZDJlZGRiMmI4MmU5NWQxYjYy
MmZmN2I4N2ZhZGM4Li5iZTIxMDE1NDA0YmM2NjM4ZDQ0NmNlYjIwNmQ4OThmZjVkODcwMjM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tC
b3guaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAgZW51bSBUcmFja0tpbmQgeyBBdWRp
bywgVmlkZW8sIFRleHQgfTsKICAgICBUcmFja0tpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1f
a2luZDsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHVpbnQ4X3QgbV90cmFja0lEOwog
ICAgIFN0cmluZyBtX2NvZGVjOwogICAgIFRyYWNrS2luZCBtX2tpbmQ7CkBAIC0xMDIsNyArMTAy
LDcgQEAgcHVibGljOgogICAgIE1lZGlhVGltZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
ZHVyYXRpb247IH0KICAgICBjb25zdCBWZWN0b3I8TW9ja1RyYWNrQm94PiYgdHJhY2tzKCkgY29u
c3QgeyByZXR1cm4gbV90cmFja3M7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBNZWRp
YVRpbWUgbV9kdXJhdGlvbjsKICAgICBWZWN0b3I8TW9ja1RyYWNrQm94PiBtX3RyYWNrczsKIH07
CkBAIC0xNTcsNyArMTU3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNEZWxheWVkKCkgY29uc3Qg
eyByZXR1cm4gbV9mbGFncyAmIElzRGVsYXllZDsgfQogICAgIGJvb2wgaXNOb25EaXNwbGF5aW5n
KCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzTm9uRGlzcGxheWluZzsgfQogCi1wcm90ZWN0
ZWQ6Citwcml2YXRlOgogICAgIE1lZGlhVGltZSBtX3ByZXNlbnRhdGlvblRpbWVzdGFtcDsKICAg
ICBNZWRpYVRpbWUgbV9kZWNvZGVUaW1lc3RhbXA7CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IDMyODY5MTVhNmFl
MDhiYmFlYmMwYTdjMTY2YTE2ZDQ1ZDhiYTMwYmEuLmY0ZGFkMDM3MTMwMzE4NDllNjM3Zjk3YmIw
NzhkMjNmZTg2OTgxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3Bw
CkBAIC0xMTMsNyArMTEzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNBdWRpbygpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fYm94LmtpbmQoKSA9PSBNb2NrVHJhY2tCb3g6OkF1ZGlvOyB9CiAg
ICAgYm9vbCBpc1RleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JveC5raW5kKCkgPT0g
TW9ja1RyYWNrQm94OjpUZXh0OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgTW9ja01l
ZGlhRGVzY3JpcHRpb24oY29uc3QgTW9ja1RyYWNrQm94JiBib3gpIDogbV9ib3goYm94KSB7IH0K
ICAgICBNb2NrVHJhY2tCb3ggbV9ib3g7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGdWxsU2NyZWVuLmgKaW5kZXggMWU1MTM5NTEwM2E1NTVmMzQ2N2E5NjJkOWZjMzNhOGJm
ZTViNmYwYy4uMDM0NTVkODY2MzVlMmM4ZjExZjFhY2UxMGQxNWI4OGM0MjkzMDRjYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oCkBAIC01Miw3ICs1Miw2
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlckZ1bGxTY3JlZW4oKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc0ZsZXhpYmxlQm94SW1wbCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotcHJvdGVjdGVkOgogICAgIFdlYWtQdHI8UmVuZGVy
QmxvY2s+IG1fcGxhY2Vob2xkZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuaAppbmRleCBiZDQ0MzdhMjI2NDcxNzdlYTU3OTBjOTZmY2I2ZmU5YmU3MThiMDhiLi5kNzI3
OGIyNjVlZDgzZTAwZmY5NGRkYWM3MWNlZTRlNGM5OTgyN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJHcmlkLmgKQEAgLTgxLDE0ICs4MSwxMyBAQCBwdWJsaWM6CiAKICAgICBTdHls
ZUNvbnRlbnRBbGlnbm1lbnREYXRhIGNvbnRlbnRBbGlnbm1lbnQoR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uKSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBJdGVtUG9zaXRpb24g
c2VsZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKGNvbnN0IFJlbmRlckJveCogY2hpbGQgPSBudWxs
cHRyKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgQVNTRVJUKGNoaWxkKTsKICAgICAg
ICAgcmV0dXJuIGNoaWxkLT5pc1JlbmRlclJlcGxhY2VkKCkgPyBJdGVtUG9zaXRpb246OlN0YXJ0
IDogSXRlbVBvc2l0aW9uOjpTdHJldGNoOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1JlbmRlckdyaWQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQm
IG1heExvZ2ljYWxXaWR0aCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4IGVmOWMwNWUyOGVkOWYzZTUyYzky
OWVhYWI0ODY5NGRlMGUzMWFlZTIuLmY3M2JmOTBhMzE2ZTM4ZWE4MjVhNjllODY0MjczNzZmNjBl
NTRhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
blNldC5oCkBAIC0xMjksMTAgKzEyOSw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRSZWN0IGNvbHVt
blJlY3RBdCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY29sdW1uQ291bnQo
KSBjb25zdDsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICB2b2lkIGFkZE92ZXJmbG93RnJv
bUNoaWxkcmVuKCkgb3ZlcnJpZGU7CiAgICAgCi1wcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJN
dWx0aUNvbHVtblNldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lk
IGxheW91dCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaApp
bmRleCBlMGYxNzIxNjZkNzllOTI1YjZiYmQ1MDk3Zjg0MDI0ZWQxMjZlMGFlLi5hM2ExYzAyNDQ2
ODNhODdhM2RlZGI1OWE0NDYxZGFmZWE4MGQzOWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSdWJ5LmgKQEAgLTU2LDEwICs1Niw5IEBAIHB1YmxpYzoKICAgICBSZW5kZXJSdWJ5QXNJ
bmxpbmUoRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogICAgIHZpcnR1YWwgflJlbmRlclJ1YnlB
c0lubGluZSgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgc3R5bGVEaWRDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJyaWRl
OwogCi1wcml2YXRlOgogICAgIGJvb2wgaXNSdWJ5SW5saW5lKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiAiUmVuZGVyUnVieSAoaW5saW5lKSI7IH0KICAgICBib29sIGNyZWF0ZXNBbm9ueW1v
dXNXcmFwcGVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtNzQsMTAgKzcz
LDkgQEAgcHVibGljOgogCiAgICAgRWxlbWVudCYgZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGRv
d25jYXN0PEVsZW1lbnQ+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7IH0KIAotcHJvdGVjdGVkOgor
cHJpdmF0ZToKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKIAotcHJpdmF0ZToKICAgICBib29sIGlz
UnVieUJsb2NrKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIq
IHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyUnVieSAoYmxvY2sp
IjsgfQogICAgIGJvb2wgY3JlYXRlc0Fub255bW91c1dyYXBwZXIoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2Nyb2xsYmFyUGFydC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhclBhcnQuaAppbmRleCA4ZjhiOWU5MWI2N2JmZjdhOWU5M2QwYTEzNDVhYjhhMzg3YzE2ZDU4
Li43ZGZjNGIzYTVjMjY2ZjJhM2NhNjRkNWM0NzdhYWFjMDI3ZTJiY2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgKQEAgLTU1LDExICs1NSwx
MCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJCb3gqIHJlbmRlcmVyT3duaW5nU2Nyb2xsYmFyKCkg
Y29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBpbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KiA9IG51
bGxwdHIpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQ
YXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgY29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRleCA2MWM3NmY4NWEyMmMwZTM1MDc2
ZjY0YWJjMDZmMTFiZjBjYWY3YjhiLi45Y2NlZjQ2ZjkyYWZkNDZhNGEzYjJmZWI0NTgwMmYxMTY4
MzQyZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIFJlbmRl
clNjcm9sbGJhclRoZW1lKiByZW5kZXJTY3JvbGxiYXJUaGVtZSgpOwogCi1wcm90ZWN0ZWQ6Citw
cml2YXRlOgogICAgIGJvb2wgaGFzQnV0dG9ucyhTY3JvbGxiYXImKSBvdmVycmlkZTsKICAgICBi
b29sIGhhc1RodW1iKFNjcm9sbGJhciYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggMjVhYjYzNTFmOWRjMTkyZDY5ZDU3NTA0N2Zj
N2QyZWMzNjJjY2Q2NS4uZmRmZjQ1ZDc0NzU0ODUzY2NjNmE4ZmMxYzhmMTE1YWVmNTZkMWI3YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtMTM0LDEx
ICsxMzQsMTAgQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxpZGF0ZUhhc0VtcHR5Q29sbGFwc2Vk
Qm9yZGVycygpOwogICAgIHZvaWQgc2V0SGFzRW1wdHlDb2xsYXBzZWRCb3JkZXIoQ29sbGFwc2Vk
Qm9yZGVyU2lkZSwgYm9vbCBlbXB0eSkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocygpIG92ZXJyaWRlOwogCi1wcml2YXRlOgogICAgIHN0YXRpYyBSZW5kZXJQdHI8UmVuZGVy
VGFibGVDZWxsPiBjcmVhdGVUYWJsZUNlbGxXaXRoU3R5bGUoRG9jdW1lbnQmLCBjb25zdCBSZW5k
ZXJTdHlsZSYpOwogCiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIChpc0Fub255bW91cygpIHx8IGlzUHNldWRvRWxlbWVudCgpKSA/ICJSZW5kZXJU
YWJsZUNlbGwgKGFub255bW91cykiIDogIlJlbmRlclRhYmxlQ2VsbCI7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAppbmRleCBmOGE5ZmZlNWQwYmFh
OWIyODk4ZmMzZDM3MzNmOTM3MmQ5NzUwZDg1Li5lM2Y5NDY3YWIxMDcwYTIxZTNjMzYzYmFjZDcy
NzAwM2Q2ZTlhNmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
U2VjdGlvbi5oCkBAIC0xNDksMTAgKzE0OSw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2lsbElu
c2VydFRhYmxlUm93KFJlbmRlclRhYmxlUm93JiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVD
aGlsZCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAK
LXByaXZhdGU6CiAgICAgc3RhdGljIFJlbmRlclB0cjxSZW5kZXJUYWJsZVNlY3Rpb24+IGNyZWF0
ZVRhYmxlU2VjdGlvbldpdGhTdHlsZShEb2N1bWVudCYsIGNvbnN0IFJlbmRlclN0eWxlJik7CiAK
ICAgICBlbnVtIFNob3VsZEluY2x1ZGVBbGxJbnRlcnNlY3RpbmdDZWxscyB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCmluZGV4IDVhNDYxYmI2NGM3OGQ0M2QzYjM2
MDIwODRjNmYyODA5NDQ2YWJhYjQuLjdlMjA4YzJhYjlkNWE4YTIwY2MyYTE4NDVlYmM3MjQ5MDQz
ODY0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oCkBAIC02
Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNl
dEZvY3VzUmluZ0NvbG9yKGNvbnN0IENvbG9yJik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAg
ICAgTGVuZ3RoQm94IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm94KGNvbnN0IFJlbmRlclN0eWxlJikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgCiAgICAgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgY2FjaGVk
U3lzdGVtRm9udERlc2NyaXB0aW9uKENTU1ZhbHVlSUQgc3lzdGVtRm9udElEKSBjb25zdCBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IGYwODNiNTJkYzMw
MmY2Y2RmNmY1MjM4MTMyNGI3ODA4YjdhMzU4N2EuLmJjYTFiMWRmMGJiN2ZhMzMyMTMzYTc3MzRk
YzNlZWQyYzU5NjY1ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAt
MjAxLDEzICsyMDEsMTIgQEAgcHVibGljOgogICAgIGNvbnN0IEhhc2hTZXQ8Y29uc3QgUmVuZGVy
Qm94Kj4mIGJveGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMoKSB7IHJldHVybiBtX2JveGVzV2l0
aFNjcm9sbFNuYXBQb3NpdGlvbnM7IH0KICNlbmRpZgogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYsIE1hcENvb3JkaW5hdGVzRmxhZ3Ms
IGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlkZTsKICAgICBjb25zdCBSZW5kZXJPYmplY3Qq
IHB1c2hNYXBwaW5nVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5j
ZXN0b3JUb1N0b3BBdCwgUmVuZGVyR2VvbWV0cnlNYXAmKSBjb25zdCBvdmVycmlkZTsKICAgICB2
b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KE1hcENvb3JkaW5hdGVzRmxhZ3MsIFRyYW5zZm9y
bVN0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCByZXF1aXJlc0NvbHVtbnMoaW50IGRl
c2lyZWRDb2x1bW5Db3VudCkgY29uc3Qgb3ZlcnJpZGU7CiAKLXByaXZhdGU6CiAgICAgdm9pZCBj
b21wdXRlQ29sdW1uQ291bnRBbmRXaWR0aCgpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBzaG91bGRS
ZXBhaW50KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKQEAgLTIxOSw3ICsyMTgsNiBAQCBwcml2
YXRlOgogCiAgICAgTm9kZSogbm9kZUZvckhpdFRlc3QoKSBjb25zdCBvdmVycmlkZTsKIAotcHJp
dmF0ZToKICAgICBGcmFtZVZpZXcmIG1fZnJhbWVWaWV3OwogCiAgICAgLy8gSW5jbHVkZSB0aGlz
IFJlbmRlclZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAppbmRleCAwMmY3ZjZhZDhmZDI1YjA1ZDNhMDUxZjYy
YmY0NjIzYmQ4YzQ2YzFkLi41NWQ5ZTM0ZGY2MTI1NjBmYmFkMmY3NGQxNWM2ZTc3MzkyMzE3Zjdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKQEAgLTU0LDEwICs1NCw5IEBAIHB1YmxpYzoKIAogICAgIFNWR1Vu
aXRUeXBlczo6U1ZHVW5pdFR5cGUgY2xpcFBhdGhVbml0cygpIGNvbnN0IHsgcmV0dXJuIGNsaXBQ
YXRoRWxlbWVudCgpLmNsaXBQYXRoVW5pdHMoKTsgfQogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgog
ICAgIGJvb2wgc2VsZk5lZWRzQ2xpZW50SW52YWxpZGF0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gKGV2ZXJIYWRMYXlvdXQoKSB8fCBtX2NsaXBwZXIuc2l6ZSgpKSAmJiBzZWxmTmVlZHNM
YXlvdXQoKTsgfQogCi1wcml2YXRlOgogICAgIHN0cnVjdCBDbGlwcGVyRGF0YSB7CiAgICAgICAg
IEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveDsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGFi
c29sdXRlVHJhbnNmb3JtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQ
YXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCmlu
ZGV4IDc4ZjA3ZjBhMGFkYjQ0M2JjNDFkYmMxNDViZjQwNGY0NDE3YmIyN2MuLjZhMjI0OGM3Zjg1
YTYwNDQ0ZDY3ZGI3YTkxYTdkOGViOWJjYzFmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dFBhdGhFbGVtZW50LmgKQEAgLTExOSwxMyArMTE5LDEyIEBAIHB1YmxpYzoKICAgICBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uJiBtZXRob2RBbmltYXRlZCgpIHsgcmV0dXJuIG1fbWV0aG9kOyB9CiAg
ICAgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiYgc3BhY2luZ0FuaW1hdGVkKCkgeyByZXR1cm4gbV9z
cGFjaW5nOyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGRpZEZpbmlzaEluc2VydGluZ05vZGUo
KSBvdmVycmlkZTsKLQogcHJpdmF0ZToKICAgICBTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdmlydHVhbCB+U1ZHVGV4dFBhdGhFbGVtZW50
KCk7CiAKKyAgICB2b2lkIGRpZEZpbmlzaEluc2VydGluZ05vZGUoKSBvdmVycmlkZTsKKwogICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGV4
dFBhdGhFbGVtZW50LCBTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CiAg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnNvbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oCmluZGV4IGRiM2U5Mzc0MjAwOTI4NDJkMDNkMzQ0
ZDgyZmY1YmIyMjA4OTg5YmYuLjk3N2IwN2Q1NDEzNzgyZmY1NTAzMTc2YWYzMDFmMDYyZjM0NGU2
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5oCkBA
IC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBXb3JrZXJDb25zb2xlQ2xpZW50
KFdvcmtlckdsb2JhbFNjb3BlJik7CiAgICAgdmlydHVhbCB+V29ya2VyQ29uc29sZUNsaWVudCgp
OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIHZvaWQgbWVzc2FnZVdpdGhUeXBlQW5kTGV2
ZWwoTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgSlNDOjpKU0dsb2JhbE9iamVjdCosIFJlZjxJ
bnNwZWN0b3I6OlNjcmlwdEFyZ3VtZW50cz4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VudChK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBsYWJlbCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjb3VudFJlc2V0KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBjb25zdCBTdHJpbmcmIGxhYmVs
KSBvdmVycmlkZTsKQEAgLTU2LDcgKzU2LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgcmVjb3Jk
RW5kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBSZWY8SW5zcGVjdG9yOjpTY3JpcHRBcmd1bWVudHM+
JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2NyZWVuc2hvdChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
UmVmPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmKSBvdmVycmlkZTsKIAotcHJpdmF0ZToK
ICAgICBXb3JrZXJHbG9iYWxTY29wZSYgbV93b3JrZXJHbG9iYWxTY29wZTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtsZXRzL1dvcmtsZXQuaAppbmRleCBjOTI4ZWMzZmRhYmUwNjA1YzY5NTFjODFhYzRjYTUx
YWIxM2M2Mjg2Li5iMGMzMjVjYmQ4ZGZlZTBiMWRmOGJiMTQzOWFjOWJjMDM1N2U2MWIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldC5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICB2b2lkIGFkZE1vZHVsZShEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYgbW9kdWxlVVJMKTsK
IAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBXb3JrbGV0KCk7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL0FQSURpY3Rpb25hcnkuaAppbmRleCA5ZTU1MDVlZTMxZTQ4MTFjYTU1Y2Q4
YmEzYTk4Zjk5MDZhOGE3Yzg3Li5lNjgzMmUyM2NiY2UwYjk4ZjRlYTRmODFmYzgzZjMyYjU2ODE5
MzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJRGljdGlvbmFyeS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElEaWN0aW9uYXJ5LmgKQEAgLTgyLDcg
KzgyLDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgTWFwVHlwZSYgbWFwKCkgY29uc3QgeyByZXR1
cm4gbV9tYXA7IH0KIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBleHBsaWNpdCBEaWN0aW9u
YXJ5KE1hcFR5cGUpOwogCiAgICAgTWFwVHlwZSBtX21hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmgK
aW5kZXggYjk1MDM0YmYyNjk1ODFhYTdlOWJmNmRhOTBmMjE5Njk0Y2IwY2Y2NC4uYjdjZWRiN2U4
Mzk0Zjk5YmE5Y2ZiMGEyYWMyYTk3ODExYjNjNDE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmgK
QEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNFYXN5VG9SZWFkKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9pc0Vhc3lUb1JlYWQ7IH0KICAgICBib29sIGlzRGVmYXVsdCgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1faXNEZWZhdWx0OyB9CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6
CiAgICAgVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGUmLCBU
cmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBUZXh0VHJhY2tQcml2YXRlUmVtb3RlQ29uZmln
dXJhdGlvbiYmKTsKIAogICAgIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSYgbV9wbGF5ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
TWV0aG9kLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05Q
TWV0aG9kLmgKaW5kZXggMTEzMDYwNDQzNmMxOGNmMzI4Y2RlYWUwMzFiYzU5NTU1NWViNTkyNC4u
OTc2OTAyNzE2ODg1NTAxYzdmNTI3OTkwMzA4N2FlZTRlOGU0NGZiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaApA
QCAtNjAsMTMgKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIE5QSWRlbnRpZmllciBucElkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX25wSWRlbnRpZmllcjsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgY29uc3QgU3RyaW5nJiBuYW1lKTsKLQogcHJp
dmF0ZToKICAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6
Vk0mKTsKICAgICAKICAgICBKU05QTWV0aG9kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0
cnVjdHVyZSosIE5QSWRlbnRpZmllcik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZN
JiwgY29uc3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCmluZGV4IDQ4MDNj
MGJjNTcxZjk3N2RkYzI3MjJiYmFiOTZiNmQyN2MyYTljNzguLmZhOTg0MzI1YzJjMTIyMDU3ZDgy
ZjMwOWE5YTY0MzFmOTVjM2E0MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKQEAgLTc2LDEzICs3NiwxMSBAQCBw
dWJsaWM6CiAKICAgICBOUE9iamVjdCogbnBPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX25wT2Jq
ZWN0OyB9CiAKLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9i
YWxPYmplY3QqKTsKLQogcHJpdmF0ZToKICAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vi
c3BhY2VGb3JJbXBsKEpTQzo6Vk0mKTsKICAgICAKICAgICBKU05QT2JqZWN0KEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSosIE5QUnVudGltZU9iamVjdE1hcCosIE5QT2JqZWN0
Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAg
CiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0s
IEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlw
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA3NTZhMDAzYTFkODg0ZjA1
NGMzOWE1MDhhODNmZGI4MzM1NDk0Mjc5Li4yMGZiNDg3YjM1Mzc0MmI4MGRmMjIwMmExNzE4MTkw
OTQ1MTZiZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2Vi
Q29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTcxLDEwICs3MSw5IEBA
IHB1YmxpYzoKICAgICBib29sIGlzT25MaW5lKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBhZGRP
bmxpbmVTdGF0ZUNoYW5nZUxpc3RlbmVyKFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJikgZmlu
YWw7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgdmlydHVhbCB+V2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyKCk7CiAKLXByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUxvYWQoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMo
KTsKICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9EZWZhdWx0RG93bmxvYWREZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vRGVmYXVsdERvd25sb2FkRGVsZWdhdGUuaAppbmRleCA4ODU1YjdjZDE0NjYzMjVk
Mzc4YjFkNDA4ODI0ZGZjNzdmYjlkODNkLi5mYjRjYzdiZDhjZGUxYzNhOTAxZWFlNzgzMTQ0NWM3
YTk0ZWIyNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0RG93
bmxvYWREZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHREb3du
bG9hZERlbGVnYXRlLmgKQEAgLTM3LDEwICszNyw3IEBAIGNsYXNzIERlZmF1bHREb3dubG9hZERl
bGVnYXRlIGZpbmFsIDogcHVibGljIElXZWJEb3dubG9hZERlbGVnYXRlCiBwdWJsaWM6CiAgICAg
c3RhdGljIERlZmF1bHREb3dubG9hZERlbGVnYXRlKiBzaGFyZWRJbnN0YW5jZSgpOwogICAgIHN0
YXRpYyBEZWZhdWx0RG93bmxvYWREZWxlZ2F0ZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByaXZhdGU6
Ci0gICAgRGVmYXVsdERvd25sb2FkRGVsZWdhdGUoKTsKLSAgICB+RGVmYXVsdERvd25sb2FkRGVs
ZWdhdGUoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01f
T3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENB
TExUWVBFIEFkZFJlZigpOwpAQCAtNjMsNyArNjAsMTEgQEAgcHVibGljOgogICAgIC8vIERlZmF1
bHREb3dubG9hZERlbGVnYXRlCiAgICAgdm9pZCByZWdpc3RlckRvd25sb2FkKElXZWJEb3dubG9h
ZCopOwogICAgIHZvaWQgdW5yZWdpc3RlckRvd25sb2FkKElXZWJEb3dubG9hZCopOwotcHJvdGVj
dGVkOgorCitwcml2YXRlOgorICAgIERlZmF1bHREb3dubG9hZERlbGVnYXRlKCk7CisgICAgfkRl
ZmF1bHREb3dubG9hZERlbGVnYXRlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9Owog
CiAgICAgSGFzaFNldDxJV2ViRG93bmxvYWQqPiBtX2Rvd25sb2FkczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgKaW5kZXggYTJiNjY2NDEyZjg0
ZmIzNjRlZjIwZGVjMjgyZmM0ZWVhN2ZmMDAyOC4uYTk2ZWFmN2NmMDNmMWJmYjVkNWVkMDJlNTA0
NTcxNTQwMWUxMGJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVs
dFBvbGljeURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVmYXVsdFBv
bGljeURlbGVnYXRlLmgKQEAgLTMyLDEwICszMiw3IEBAIGNsYXNzIERlZmF1bHRQb2xpY3lEZWxl
Z2F0ZSBmaW5hbCA6IHB1YmxpYyBJV2ViUG9saWN5RGVsZWdhdGUgewogcHVibGljOgogICAgIHN0
YXRpYyBEZWZhdWx0UG9saWN5RGVsZWdhdGUqIHNoYXJlZEluc3RhbmNlKCk7CiAgICAgc3RhdGlj
IERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSogY3JlYXRlSW5zdGFuY2UoKTsKLXByaXZhdGU6Ci0gICAg
RGVmYXVsdFBvbGljeURlbGVnYXRlKCk7Ci0gICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOwot
cHVibGljOgorCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZv
aWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRk
UmVmKCk7CkBAIC01Myw3ICs1MCwxMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKF9J
bl9vcHRfIElXZWJWaWV3KiwgX0luX29wdF8gSVdlYkVycm9yKiwgX0luX29wdF8gSVdlYkZyYW1l
Kik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgRGVmYXVsdFBvbGljeURlbGVnYXRlKCk7
CisgICAgfkRlZmF1bHRQb2xpY3lEZWxlZ2F0ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7
IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL01lbW9yeVN0
cmVhbS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vTWVtb3J5U3RyZWFtLmgKaW5kZXggMTlm
ODI0OGIwMjc3NjM5ZTY5NWM2NTBkNzk2MTJhYzMwOWY3NjMwZi4uMmJhN2RhOTBhNWM2MjEyOTAw
OGRmNjEyOTczMGFjZGI5YmQ0NTNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vTWVtb3J5U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vTWVtb3J5U3Ry
ZWFtLmgKQEAgLTM3LDExICszNyw2IEBAIGNsYXNzIE1lbW9yeVN0cmVhbSBmaW5hbCA6IHB1Ymxp
YyBJU3RyZWFtCiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxNZW1vcnlTdHJlYW0+IGNyZWF0
ZUluc3RhbmNlKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpOwogCi1wcm90ZWN0ZWQ6
Ci0gICAgTWVtb3J5U3RyZWFtKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpOwotICAg
IH5NZW1vcnlTdHJlYW0oKTsKLXB1YmxpYzoKLQogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJp
aWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNU
RE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNzksNyArNzQsMTAgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBTdGF0KF9PdXRfIFNUQVRTVEcqLCBE
V09SRCBncmZTdGF0RmxhZyk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IENsb25lKF9DT01fT3V0cHRyXyBJU3RyZWFtKiogcHBzdG0pOwogCi1wcm90ZWN0ZWQ6Citwcml2
YXRlOgorICAgIE1lbW9yeVN0cmVhbShSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKTsK
KyAgICB+TWVtb3J5U3RyZWFtKCk7CisKICAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiBtX2J1ZmZlcjsKICAgICBzaXplX3QgbV9wb3MgeyAwIH07CiAgICAgVUxPTkcgbV9yZWZDb3Vu
dCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFwcGxpY2F0
aW9uQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkFwcGxpY2F0aW9uQ2FjaGUu
aAppbmRleCA4ZTU2ZDA1NTQ0ZWJlNGJiZGE2OWIwZDMxMGQ4YzVkYjQ5ZDM2MjhmLi5jZmQwYmEx
ZGEwMDBiNDA5ODgxODFlZTdkYmQwOTg3NGU3NWE1NDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJBcHBsaWNhdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQXBwbGljYXRpb25DYWNoZS5oCkBAIC0zOCwxMSArMzgsNiBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UmIHN0b3JhZ2Uo
KTsKIAotcHJvdGVjdGVkOgotICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICB+V2ViQXBw
bGljYXRpb25DYWNoZSgpOwotCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlp
ZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RE
TUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02Miw3ICs1NywxMCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgb3JpZ2luc1dpdGhDYWNoZSgvKltv
dXQsIHJldHZhbF0qLyBJUHJvcGVydHlCYWcqKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6Cisg
ICAgV2ViQXBwbGljYXRpb25DYWNoZSgpOworICAgIH5XZWJBcHBsaWNhdGlvbkNhY2hlKCk7CisK
ICAgICBVTE9ORyBtX3JlZkNvdW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQXJjaGl2ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQXJjaGl2
ZS5oCmluZGV4IDg2NzJkZWE3MzY4Yjk4MTEzMTRjMjVlYjM1ZjdmMmE5NzIxNjBhMGYuLjA1MDRl
M2EzOWY0YjUxMmViNTA4MzdiYTFlMzE5ZmM0YTBjZjhjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkFyY2hpdmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJBcmNoaXZlLmgKQEAgLTM5LDExICszOSw3IEBAIGNsYXNzIFdlYkFyY2hpdmUgZmluYWwg
OiBwdWJsaWMgSVdlYkFyY2hpdmUKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQXJjaGl2ZSogY3Jl
YXRlSW5zdGFuY2UoKTsKICAgICBzdGF0aWMgV2ViQXJjaGl2ZSogY3JlYXRlSW5zdGFuY2UoUmVm
UHRyPFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU+JiYpOwotcHJvdGVjdGVkOgotICAgIFdlYkFy
Y2hpdmUoUmVmUHRyPFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU+JiYpOwotICAgIH5XZWJBcmNo
aXZlKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091
dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxM
VFlQRSBBZGRSZWYoKTsKQEAgLTYwLDcgKzU2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgIHN1YmZyYW1lQXJjaGl2ZXMoX0NPTV9PdXRwdHJfb3B0
XyBJRW51bVZBUklBTlQqKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
ICBkYXRhKF9DT01fT3V0cHRyX29wdF8gSVN0cmVhbSoqKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0
ZToKKyAgICBXZWJBcmNoaXZlKFJlZlB0cjxXZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlPiYmKTsK
KyAgICB+V2ViQXJjaGl2ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICNpZiBV
U0UoQ0YpCiAgICAgUmVmUHRyPFdlYkNvcmU6OkxlZ2FjeVdlYkFyY2hpdmU+IG1fYXJjaGl2ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkJhY2tGb3J3YXJkTGlzdC5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQmFja0ZvcndhcmRMaXN0LmgKaW5kZXggN2Jj
N2M0MWM5ZTVmMGRmOTJhNDAzOTVkMjM0NTEyMzlkMTE1ODZlZS4uYWZhZThlNDVlNmRlNmY0MjBl
MmRjZDI1NTEzNDVjYmIzOWE4NTBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQmFja0ZvcndhcmRMaXN0LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
QmFja0ZvcndhcmRMaXN0LmgKQEAgLTM3LDExICszNyw3IEBAIGNsYXNzIFdlYkJhY2tGb3J3YXJk
TGlzdCBmaW5hbCA6IHB1YmxpYyBJV2ViQmFja0ZvcndhcmRMaXN0LCBJV2ViQmFja0ZvcndhcmRM
aXN0CiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkJhY2tGb3J3YXJkTGlzdCogY3JlYXRlSW5z
dGFuY2UoUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4mJik7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViQmFj
a0ZvcndhcmRMaXN0KFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+JiYpOwotICAgIH5XZWJCYWNrRm9y
d2FyZExpc3QoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9D
T01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhP
RENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjcsNyArNjMsMTAgQEAgcHVibGljOgogICAgIC8vIElX
ZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHJlbW92ZUl0ZW0oX0luX29wdF8gSVdlYkhpc3RvcnlJdGVtKik7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CisgICAgV2ViQmFja0ZvcndhcmRMaXN0KFJlZlB0cjxCYWNrRm9yd2FyZExp
c3Q+JiYpOworICAgIH5XZWJCYWNrRm9yd2FyZExpc3QoKTsKKwogICAgIFVMT05HIG1fcmVmQ291
bnQgeyAwIH07CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4gbV9iYWNrRm9yd2FyZExpc3Q7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNhY2hlLmgKaW5kZXggMzkzZjgzY2M5ZmU4YmQ5ZTE5
ZDJhNDhjODk2ZGM2YjNjYWNjYTExNC4uMTk1OWU3NDNlNzgyZDRhY2M2NTI1NzRkMTYyMTBjMmY5
MmE4OTYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ2FjaGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDYWNoZS5oCkBAIC0zMiwxMSArMzIsNyBA
QCBjbGFzcyBXZWJDYWNoZSBmaW5hbCA6IHB1YmxpYyBJV2ViQ2FjaGUKIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgV2ViQ2FjaGUqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2Vi
Q2FjaGUoKTsKLSAgICB+V2ViQ2FjaGUoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8g
UkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFs
IFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTAsNyArNDYsMTAgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZUZvbGRlcihf
X2RlcmVmX291dF9vcHQgQlNUUiogbG9jYXRpb24pOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRDYWNoZUZvbGRlcihfSW5fIEJTVFIgbG9jYXRpb24pOwogCi1wcm90
ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkNhY2hlKCk7CisgICAgfldlYkNhY2hlKCk7CisKICAg
ICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN0YXRpc3RpY3MuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkNvcmVTdGF0aXN0aWNzLmgKaW5kZXggMGQ2ZTg4ODA2ZTViMDUxNTc3N2I1MTE2N2Q1NmM4
ZmE3ZmNmNmY5MC4uYjQ0NTQ0NTU4YjgwMjQ3MjA0OWJlMjAxNmE1NzE3MzZlMmQ2NjdhZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN0YXRpc3RpY3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3RhdGlzdGljcy5oCkBAIC0zMSwxMSAr
MzEsNyBAQAogY2xhc3MgV2ViQ29yZVN0YXRpc3RpY3MgZmluYWwgOiBwdWJsaWMgSVdlYkNvcmVT
dGF0aXN0aWNzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQ29yZVN0YXRpc3RpY3MqIGNyZWF0
ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2ViQ29yZVN0YXRpc3RpY3MoKTsKLSAgICB+
V2ViQ29yZVN0YXRpc3RpY3MoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlE
IHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05H
IFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNjgsNyArNjQsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZWRQYWdlQ291bnQoX091
dF8gSU5UKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhY2hlZEZy
YW1lQ291bnQoX091dF8gSU5UKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViQ29y
ZVN0YXRpc3RpY3MoKTsKKyAgICB+V2ViQ29yZVN0YXRpc3RpY3MoKTsKKwogICAgIFVMT05HIG1f
cmVmQ291bnQgeyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJEYXRhU291cmNlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJEYXRhU291cmNl
LmgKaW5kZXggNzBhN2Y0NTRiMjMyODNkZjZmOTFlY2MzYTlmZjVhMzYzOTRhZTQ4Yy4uNTUyOTc5
NDhmZmZlMTc3NGQ1MmMzYWZiYTQyYzUyZjNkNGI2NmQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkRhdGFTb3VyY2UuaApAQCAtMzksMTEgKzM5LDcgQEAgY2xhc3MgV2ViRGF0YVNvdXJj
ZSBmaW5hbCA6IHB1YmxpYyBJV2ViRGF0YVNvdXJjZSwgcHVibGljIElXZWJEYXRhU291cmNlUHJp
dmF0ZQogewogcHVibGljOgogICAgIHN0YXRpYyBXZWJEYXRhU291cmNlKiBjcmVhdGVJbnN0YW5j
ZShXZWJEb2N1bWVudExvYWRlciopOwotcHJvdGVjdGVkOgotICAgIFdlYkRhdGFTb3VyY2UoV2Vi
RG9jdW1lbnRMb2FkZXIqKTsKLSAgICB+V2ViRGF0YVNvdXJjZSgpOwogCi1wdWJsaWM6CiAgICAg
Ly8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJ
bnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3Qp
OwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC03Niw3
ICs3MiwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViRGF0YVNvdXJjZQogICAgIFdlYkRvY3VtZW50
TG9hZGVyKiBkb2N1bWVudExvYWRlcigpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgor
ICAgIFdlYkRhdGFTb3VyY2UoV2ViRG9jdW1lbnRMb2FkZXIqKTsKKyAgICB+V2ViRGF0YVNvdXJj
ZSgpOworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBSZWZQdHI8V2ViRG9jdW1l
bnRMb2FkZXI+IG1fbG9hZGVyOwogICAgIENPTVB0cjxJV2ViRG9jdW1lbnRSZXByZXNlbnRhdGlv
bj4gbV9yZXByZXNlbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkVsZW1lbnRQcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRWxl
bWVudFByb3BlcnR5QmFnLmgKaW5kZXggMmRmYWE5MTM0YWY2ZDc4MTY1NTdlYjk0Y2MxZGJlMDIw
ZTI5MGVkYi4uZGQ2OTE5ZDRjNmQ3ZDQyNzAwZDA4MjM5YjJhMDk2MmIyM2Q2Zjk4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRWxlbWVudFByb3BlcnR5QmFnLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRWxlbWVudFByb3BlcnR5QmFnLmgKQEAgLTM3
LDExICszNyw2IEBAIGNsYXNzIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZyBmaW5hbCA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViRWxlbWVudFByb3BlcnR5QmFnKiBj
cmVhdGVJbnN0YW5jZShjb25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Jik7CiAKLXByb3RlY3Rl
ZDoKLSAgICBXZWJFbGVtZW50UHJvcGVydHlCYWcoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3Vs
dCYpOwotICAgIH5XZWJFbGVtZW50UHJvcGVydHlCYWcoKTsKLQotcHVibGljOgogICAgIC8vIElV
bmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJm
YWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAg
ICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTIsNiArNDcs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdyaXRl
KF9Jbl8gTFBDT0xFU1RSIHBzelByb3BOYW1lLCBfSW5fIFZBUklBTlQqIHBWYXIpOwogCiBwcml2
YXRlOgorICAgIFdlYkVsZW1lbnRQcm9wZXJ0eUJhZyhjb25zdCBXZWJDb3JlOjpIaXRUZXN0UmVz
dWx0Jik7CisgICAgfldlYkVsZW1lbnRQcm9wZXJ0eUJhZygpOworCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ+IG1fcmVzdWx0OwogICAgIFVMT05HIG1fcmVmQ291
bnQgeyAwIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRXJy
b3IuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkVycm9yLmgKaW5kZXggZjdjNjdlYmZm
ZDc5ODg0ODQ4MjE1MmI0NDgzODI5NGYyNTkxOTY3Zi4uZTRkZGU5N2I1Y2VjNzE5ZmU0MzNmYWFm
OTE5NjdjNjNkOWVkNGIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
RXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJFcnJvci5oCkBAIC0zNCwx
MSArMzQsNyBAQCBjbGFzcyBXZWJFcnJvciBmaW5hbCA6IHB1YmxpYyBJV2ViRXJyb3IsIElXZWJF
cnJvclByaXZhdGUgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJFcnJvciogY3JlYXRlSW5zdGFu
Y2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIElQcm9wZXJ0eUJhZyogdXNlckluZm8g
PSAwKTsKICAgICBzdGF0aWMgV2ViRXJyb3IqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6
Ci0gICAgV2ViRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIElQcm9wZXJ0eUJh
ZyogdXNlckluZm8pOwotICAgIH5XZWJFcnJvcigpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25v
d24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2Uo
X0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZp
cnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC02Myw2ICs1OSw5IEBA
IHB1YmxpYzoKICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9y
KCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgV2ViRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIElQcm9wZXJ0eUJhZyogdXNlckluZm8pOworICAgIH5XZWJFcnJvcigpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBDT01QdHI8SVByb3BlcnR5QmFnPiBtX3Vz
ZXJJbmZvOwogI2lmIFVTRShDRlVSTENPTk5FQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJh
bWUuaAppbmRleCA4NTIwNTA3ZDUxYjIzNmNmMzgwOGY2YmI5YzZhYTMwNGZhMDA1NTM3Li43Njcy
NzQxNTdhOGRlMjAzYmQwYTMwYjUyM2Q5OWNlYjExMTQ4MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkZyYW1lLmgKQEAgLTc5LDExICs3OSw3IEBAIGNsYXNzIERFQ0xTUEVDX1VVSUQoIntBMzY3
NjM5OC00NDg1LTRhOWQtODdEQy1DQjVBNDBFNjM1MUR9IikgV2ViRnJhbWUgZmluYWwgOiBwCiB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkZyYW1lKiBjcmVhdGVJbnN0YW5jZSgpOwotcHJvdGVj
dGVkOgotICAgIFdlYkZyYW1lKCk7Ci0gICAgfldlYkZyYW1lKCk7CiAKLXB1YmxpYzoKICAgICAv
LyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUlu
dGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7
CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTE5OSw3
ICsxOTUsMTAgQEAgcHVibGljOgogCiAgICAgQ09NUHRyPElBY2Nlc3NpYmxlPiBhY2Nlc3NpYmxl
KCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViRnJhbWUoKTsKKyAgICB+
V2ViRnJhbWUoKTsKKwogICAgIHZvaWQgbG9hZEhUTUxTdHJpbmcoX0luXyBCU1RSIHN0cmluZywg
X0luXyBCU1RSIGJhc2VVUkwsIF9Jbl8gQlNUUiB1bnJlYWNoYWJsZVVSTCk7CiAgICAgdm9pZCBs
b2FkRGF0YShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBCU1RSIG1pbWVUeXBlLCBCU1RS
IHRleHRFbmNvZGluZ05hbWUsIEJTVFIgYmFzZVVSTCwgQlNUUiBmYWlsaW5nVVJMKTsKICAgICBj
b25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mIGNvbXB1dGVQYWdlUmVjdHMoSERDIHByaW50
REMpOwpAQCAtMjEwLDcgKzIwOSw2IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGRyYXdIZWFkZXIo
UGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBjdHgsIElXZWJVSURlbGVnYXRlKiwgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgcGFnZVJlY3QsIGZsb2F0IGhlYWRlckhlaWdodCk7CiAgICAgdm9pZCBk
cmF3Rm9vdGVyKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwY3R4LCBJV2ViVUlEZWxlZ2F0ZSos
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBhZ2VSZWN0LCBVSU5UIHBhZ2UsIFVJTlQgcGFnZUNv
dW50LCBmbG9hdCBoZWFkZXJIZWlnaHQsIGZsb2F0IGZvb3RlckhlaWdodCk7CiAKLXByb3RlY3Rl
ZDoKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIGNsYXNzIFdlYkZyYW1lUHJpdmF0
ZTsKICAgICBXZWJGcmFtZVByaXZhdGUqIGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJGcmFtZVBvbGljeUxpc3RlbmVyLmgKaW5kZXggMTcwZGU5NTU3MTE3Y2I3OTUwMjBlNDM4
NmE0Mjk0YWE0Mzk4MzI4NS4uNTQ1YTdjOThlZjBlMTU5MzFhYTljNjhlZmVmNzM1MjVmMjZjZGFh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lUG9saWN5TGlzdGVu
ZXIuaApAQCAtMzgsMTEgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgV2ViRnJh
bWVQb2xpY3lMaXN0ZW5lciBmaW5hbCA6IHB1YmxpYyBJV2ViUG9saWN5RGVjaXNpb25MaXN0ZW5l
ciwgcHVibGljIElXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyIHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciogY3JlYXRlSW5zdGFuY2UoUmVmUHRyPFdlYkNvcmU6
OkZyYW1lPiYmKTsKLXByb3RlY3RlZDoKLSAgICBXZWJGcmFtZVBvbGljeUxpc3RlbmVyKFJlZlB0
cjxXZWJDb3JlOjpGcmFtZT4mJik7Ci0gICAgfldlYkZyYW1lUG9saWN5TGlzdGVuZXIoKTsKIAot
cHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2b2lk
KiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJl
ZigpOwpAQCAtNjEsNiArNTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAK
IHByaXZhdGU6CisgICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lcihSZWZQdHI8V2ViQ29yZTo6RnJh
bWU+JiYpOworICAgIH5XZWJGcmFtZVBvbGljeUxpc3RlbmVyKCk7CisKICAgICBVTE9ORyBtX3Jl
ZkNvdW50IHsgMCB9OwogICAgIFJlZlB0cjxXZWJDb3JlOjpGcmFtZT4gbV9mcmFtZTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIVE1MUmVwcmVzZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCmluZGV4
IGNiOWU0ZDdhYTI5YjdmYTVlZGYzYzkyMjUyZmVkMWU0MWM2NzU4OWMuLjFmZDBjN2VlMzg4NDRi
N2FjM2E3NWNjNmQxMGE5ZDZkZGZiNzA3YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkhUTUxSZXByZXNlbnRhdGlvbi5oCkBAIC0zNCwxMCArMzQsNiBAQCBjbGFzcyBXZWJI
VE1MUmVwcmVzZW50YXRpb24gZmluYWwgOiBwdWJsaWMgSVdlYkhUTUxSZXByZXNlbnRhdGlvbiwg
SVdlYkRvY3VtZW50UgogewogcHVibGljOgogICAgIHN0YXRpYyBXZWJIVE1MUmVwcmVzZW50YXRp
b24qIGNyZWF0ZUluc3RhbmNlKFdlYkZyYW1lKiBmcmFtZSk7Ci1wcm90ZWN0ZWQ6Ci0gICAgV2Vi
SFRNTFJlcHJlc2VudGF0aW9uKCk7Ci0gICAgfldlYkhUTUxSZXByZXNlbnRhdGlvbigpOwotcHVi
bGljOgogCiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQq
KiBwcHZPYmplY3QpOwpAQCAtNzIsNyArNjgsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkb2N1bWVudFNvdXJjZShfX2RlcmVmX29wdF9vdXQgQlNU
UiopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB0aXRsZShfX2RlcmVm
X29wdF9vdXQgQlNUUiopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYkhUTUxSZXBy
ZXNlbnRhdGlvbigpOworICAgIH5XZWJIVE1MUmVwcmVzZW50YXRpb24oKTsKKwogICAgIFVMT05H
IG1fcmVmQ291bnQgeyAwIH07CiAgICAgV2ViRnJhbWUqIG1fZnJhbWUgeyBudWxscHRyIH07CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSGlzdG9yeUl0ZW0uaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnlJdGVtLmgKaW5kZXggOTIwYjM0Yzg1
YmU3ZGFmODFiOTlkYmI3MmJjOGY0Y2I0MjM5YzdkYi4uNTFmNWE5NjNhMzEwOGFjNWYxNmFhNTZh
ZDllYjIyNzYzODJjNTMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
SGlzdG9yeUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIaXN0b3J5SXRl
bS5oCkBAIC00MywxMSArNDMsNyBAQCBjbGFzcyBXZWJIaXN0b3J5SXRlbSBmaW5hbCA6IHB1Ymxp
YyBJV2ViSGlzdG9yeUl0ZW0sIElXZWJIaXN0b3J5SXRlbVByaXZhdGUKIHB1YmxpYzoKICAgICBz
dGF0aWMgV2ViSGlzdG9yeUl0ZW0qIGNyZWF0ZUluc3RhbmNlKCk7CiAgICAgc3RhdGljIFdlYkhp
c3RvcnlJdGVtKiBjcmVhdGVJbnN0YW5jZShSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+JiYp
OwotcHJvdGVjdGVkOgotICAgIFdlYkhpc3RvcnlJdGVtKFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5
SXRlbT4mJik7Ci0gICAgfldlYkhpc3RvcnlJdGVtKCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5r
bm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFj
ZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAg
dmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTkyLDcgKzg4LDEw
IEBAIHB1YmxpYzoKICAgICAvLyBXZWJIaXN0b3J5SXRlbQogICAgIFdlYkNvcmU6Okhpc3RvcnlJ
dGVtKiBoaXN0b3J5SXRlbSgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdl
Ykhpc3RvcnlJdGVtKFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4mJik7CisgICAgfldlYkhp
c3RvcnlJdGVtKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogCiAgICAgUmVmUHRy
PFdlYkNvcmU6Okhpc3RvcnlJdGVtPiBtX2hpc3RvcnlJdGVtOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxlY3Rvci5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViSmF2YVNjcmlwdENvbGxlY3Rvci5oCmluZGV4IDMwMGM4NTYzNjNlNmM0
ZDIzYjQ5YTI0MzIxZmNmOTMzZGQ3YWE2MjkuLmRjNjcxMzVkMWJmZGJjMGM0ZWIyMGQ4NWU5YTlj
YTgxNGY4NDBlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkphdmFT
Y3JpcHRDb2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJKYXZhU2Ny
aXB0Q29sbGVjdG9yLmgKQEAgLTMyLDExICszMiw3IEBAIGNsYXNzIFdlYkphdmFTY3JpcHRDb2xs
ZWN0b3IgZmluYWwgOiBwdWJsaWMgSVdlYkphdmFTY3JpcHRDb2xsZWN0b3IKIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgV2ViSmF2YVNjcmlwdENvbGxlY3RvciogY3JlYXRlSW5zdGFuY2UoKTsKLXBy
b3RlY3RlZDoKLSAgICBXZWJKYXZhU2NyaXB0Q29sbGVjdG9yKCk7Ci0gICAgfldlYkphdmFTY3Jp
cHRDb2xsZWN0b3IoKTsKIAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQs
IF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1F
VEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNDcsNyArNDMsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjb2xsZWN0T25BbHRlcm5hdGVUaHJlYWQo
Qk9PTCB3YWl0VW50aWxEb25lKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgb2JqZWN0Q291bnQoX091dF8gVUlOVCopOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAg
IFdlYkphdmFTY3JpcHRDb2xsZWN0b3IoKTsKKyAgICB+V2ViSmF2YVNjcmlwdENvbGxlY3Rvcigp
OworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0b3J5LmgKaW5kZXggNzcyMzBmNjk3MDQ3MTRjNmYxNDE5
M2E4OWQ1NmQ1MjY2NjA5MWU4Yi4uYmI0MzZlNWYwODZiZTFiYTU3YTZmN2FmNDgyOTJiOTJlYTc3
NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0
b3J5LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0b3J5LmgK
QEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBDcmVhdGVJbnN0YW5jZShfSW5fb3B0XyBJVW5rbm93biogcFVua091dGVyLCBfSW5f
IFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIExvY2tTZXJ2ZXIoQk9PTCk7CiAKLXByb3RlY3Rl
ZDoKK3ByaXZhdGU6CiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBDTFNJRCBtX3Rh
cmdldENsYXNzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktp
dFN0YXRpc3RpY3MuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdFN0YXRpc3RpY3Mu
aAppbmRleCA4ODliYjFhMjRjYTA1MzViM2FiYjBkMjhkMTZiMjMyZGEyZGYzNmUyLi5iZDI3NDdk
MDFhY2Q2YThkNWJlNDYwOGUxYjBkNmQyMTkxOWU4N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJLaXRTdGF0aXN0aWNzLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViS2l0U3RhdGlzdGljcy5oCkBAIC0zNCwxMSArMzQsNyBAQAogY2xhc3MgV2ViS2l0
U3RhdGlzdGljcyBmaW5hbCA6IHB1YmxpYyBJV2ViS2l0U3RhdGlzdGljcyB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFdlYktpdFN0YXRpc3RpY3MqIGNyZWF0ZUluc3RhbmNlKCk7Ci1wcm90ZWN0ZWQ6
Ci0gICAgV2ViS2l0U3RhdGlzdGljcygpOwotICAgIH5XZWJLaXRTdGF0aXN0aWNzKCk7CiAKLXB1
YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoq
IHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYo
KTsKQEAgLTUzLDcgKzQ5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgY29tQ2xhc3NDb3VudChfT3V0XyBpbnQqKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgY29tQ2xhc3NOYW1lQ291bnRzKF9fZGVyZWZfb3V0X29wdCBC
U1RSKik7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViS2l0U3RhdGlzdGljcygpOwor
ICAgIH5XZWJLaXRTdGF0aXN0aWNzKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTXV0YWJsZVVSTFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk11dGFibGVVUkxSZXF1ZXN0LmgK
aW5kZXggOTRjZDJiNGMyNGZjNzEwZmE5MTE0OThlOTQ5OTBmOTMyNzE2ZmEwOC4uNTdkMGY2OWZh
NTNiOTY5ODVmZTVkMjljOTFmNzU2YmM3NDg2YzBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViTXV0YWJsZVVSTFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJNdXRhYmxlVVJMUmVxdWVzdC5oCkBAIC01MywxMSArNTMsNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgV2ViTXV0YWJsZVVSTFJlcXVlc3QqIGNyZWF0ZUltbXV0YWJsZUluc3Rh
bmNlKCk7CiAgICAgc3RhdGljIFdlYk11dGFibGVVUkxSZXF1ZXN0KiBjcmVhdGVJbW11dGFibGVJ
bnN0YW5jZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKLXByb3RlY3RlZDoKLSAg
ICBXZWJNdXRhYmxlVVJMUmVxdWVzdChib29sIGlzTXV0YWJsZSk7Ci0gICAgfldlYk11dGFibGVV
UkxSZXF1ZXN0KCk7CiAKLXB1YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBf
Q09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRI
T0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTEwNSw3ICsxMDEsMTEgQEAgcHVibGljOgogICAgIGNv
bnN0IFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAmIGh0dHBIZWFkZXJGaWVsZHMoKSBjb25zdDsKIAog
ICAgIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KCkgY29u
c3Q7Ci1wcm90ZWN0ZWQ6CisKK3ByaXZhdGU6CisgICAgV2ViTXV0YWJsZVVSTFJlcXVlc3QoYm9v
bCBpc011dGFibGUpOworICAgIH5XZWJNdXRhYmxlVVJMUmVxdWVzdCgpOworCiAgICAgVUxPTkcg
bV9yZWZDb3VudCB7IDAgfTsKICAgICBib29sIG1faXNNdXRhYmxlOwogICAgIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJOb3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlm
aWNhdGlvbi5oCmluZGV4IDkzMGRiOGFmMmEzZDEzYzBkZjRhMjcwZDI0YzVlOGZiMTE5YWIyMGMu
LjBhMjA3YzI0NWVlODE5NjU4NTY2OTFjYmJlYTFkYjM5ODI4ZmIzZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYk5vdGlmaWNhdGlvbi5oCkBAIC0zMiwxMSArMzIsNyBAQCBjbGFzcyBX
ZWJOb3RpZmljYXRpb24gZmluYWwgOiBwdWJsaWMgSVdlYk5vdGlmaWNhdGlvbgogewogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJOb3RpZmljYXRpb24qIGNyZWF0ZUluc3RhbmNlKEJTVFIgbmFtZSA9
IDAsIElVbmtub3duKiBhbk9iamVjdCA9IDAsIElQcm9wZXJ0eUJhZyogdXNlckluZm8gPSAwKTsK
LXByb3RlY3RlZDoKLSAgICBXZWJOb3RpZmljYXRpb24oQlNUUiBuYW1lLCBJVW5rbm93biogYW5P
YmplY3QsIElQcm9wZXJ0eUJhZyogdXNlckluZm8pOwotICAgIH5XZWJOb3RpZmljYXRpb24oKTsK
IAotcHVibGljOgogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQsIF9DT01fT3V0cHRyXyB2
b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFk
ZFJlZigpOwpAQCAtNDgsNyArNDQsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBnZXRPYmplY3QoX0NPTV9PdXRwdHJfb3B0XyBJVW5rbm93bioqIHJl
c3VsdCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVzZXJJbmZvKF9D
T01fT3V0cHRyX29wdF8gSVByb3BlcnR5QmFnICoqIHJlc3VsdCk7CiAKLXByb3RlY3RlZDoKK3By
aXZhdGU6CisgICAgV2ViTm90aWZpY2F0aW9uKEJTVFIgbmFtZSwgSVVua25vd24qIGFuT2JqZWN0
LCBJUHJvcGVydHlCYWcqIHVzZXJJbmZvKTsKKyAgICB+V2ViTm90aWZpY2F0aW9uKCk7CisKICAg
ICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogICAgIEJTVFIgbV9uYW1lIHsgbnVsbHB0ciB9Owog
ICAgIElVbmtub3duKiBtX2FuT2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViTm90aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJOb3RpZmljYXRpb25DZW50ZXIuaAppbmRleCBmMTQ5ODEyMmQ4ZGUzYzMzNzMyNTQ0OGJlMzkx
NDQyNGVjNzYwMDVmLi4wNjY5NDBmOTdjMzVjZThiNTY0YWJiMjZkYTUxZjQwZTQ0NjA5Y2NmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb25DZW50ZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb3RpZmljYXRpb25DZW50ZXIuaApA
QCAtMzUsMTEgKzM1LDYgQEAgY2xhc3MgV2ViTm90aWZpY2F0aW9uQ2VudGVyIGZpbmFsIDogcHVi
bGljIElXZWJOb3RpZmljYXRpb25DZW50ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJOb3Rp
ZmljYXRpb25DZW50ZXIqIGNyZWF0ZUluc3RhbmNlKCk7CiAKLXByb3RlY3RlZDoKLSAgICBXZWJO
b3RpZmljYXRpb25DZW50ZXIoKTsKLSAgICB+V2ViTm90aWZpY2F0aW9uQ2VudGVyKCk7Ci0KLXB1
YmxpYzoKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoq
IHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYo
KTsKQEAgLTU2LDcgKzUxLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSVdlYk5vdGlmaWNhdGlv
bkNlbnRlciogZGVmYXVsdENlbnRlckludGVybmFsKCk7CiAgICAgdm9pZCBwb3N0Tm90aWZpY2F0
aW9uSW50ZXJuYWwoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBCU1RSIG5vdGlmaWNh
dGlvbk5hbWUsIElVbmtub3duKiBhbk9iamVjdCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6Cisg
ICAgV2ViTm90aWZpY2F0aW9uQ2VudGVyKCk7CisgICAgfldlYk5vdGlmaWNhdGlvbkNlbnRlcigp
OworCiAgICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Tm90aWZpY2F0aW9uQ2VudGVyUHJpdmF0ZT4gZDsKICAgICBzdGF0aWMgSVdlYk5vdGlmaWNhdGlv
bkNlbnRlciogbV9kZWZhdWx0Q2VudGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZl
cmVuY2VzLmgKaW5kZXggYTMxYmEwM2E4MjU0NzBkODEzMzRjZGY2NDM4ZjUxN2Y0YWRmMDkxZi4u
ZmE1Nzk0YmJmYjNiMTE0ZTc1NWY5NDk0NzUyMTI4OTljYzA5OTEyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0zMywxMSArMzMsNyBAQAogY2xhc3MgV2Vi
UHJlZmVyZW5jZXMgZmluYWwgOiBwdWJsaWMgSVdlYlByZWZlcmVuY2VzLCBwdWJsaWMgSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTggewogcHVibGljOgogICAgIHN0YXRpYyBXZWJQcmVmZXJlbmNlcyog
Y3JlYXRlSW5zdGFuY2UoKTsKLXByb3RlY3RlZDoKLSAgICBXZWJQcmVmZXJlbmNlcygpOwotICAg
IH5XZWJQcmVmZXJlbmNlcygpOwogCi1wdWJsaWM6CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQg
cmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcg
U1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC0zMzQsNyArMzMwLDEwIEBAIHB1YmxpYzoK
IAogICAgIEhSRVNVTFQgcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigpOwogCi1w
cm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYlByZWZlcmVuY2VzKCk7CisgICAgfldlYlByZWZl
cmVuY2VzKCk7CisKICNpZiBVU0UoQ0YpCiAgICAgdm9pZCBzZXRWYWx1ZUZvcktleShDRlN0cmlu
Z1JlZiBrZXksIENGUHJvcGVydHlMaXN0UmVmIHZhbHVlKTsKICAgICBSZXRhaW5QdHI8Q0ZQcm9w
ZXJ0eUxpc3RSZWY+IHZhbHVlRm9yS2V5KENGU3RyaW5nUmVmIGtleSk7CkBAIC0zNjAsNyArMzU5
LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgY29weVdlYktpdFByZWZlcmVuY2VzVG9DRlByZWZl
cmVuY2VzKENGRGljdGlvbmFyeVJlZik7CiAjZW5kaWYKIAotcHJvdGVjdGVkOgogICAgIFVMT05H
IG1fcmVmQ291bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6QlN0cmluZyBtX2lkZW50aWZpZXI7CiAg
ICAgYm9vbCBtX2F1dG9TYXZlcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJSZXNvdXJjZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUmVz
b3VyY2UuaAppbmRleCAwNTViNWU4YjIwYmIzYzJhNzY4ZDdkMmQ2MWUyNDcxNTBjN2RiZWRhLi5i
NmViODZmY2NhNWUzMTM2OWM5ZThiMDY1NDE4ZjI3OTQ5Mjk5OTAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlJlc291cmNlLmgKQEAgLTM3LDExICszNyw3IEBACiBjbGFzcyBXZWJSZXNvdXJj
ZSBmaW5hbCA6IHB1YmxpYyBJV2ViUmVzb3VyY2UgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJS
ZXNvdXJjZSogY3JlYXRlSW5zdGFuY2UoUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwotcHJvdGVjdGVkOgotICAgIFdlYlJl
c291cmNlKElTdHJlYW0qIGRhdGEsIGNvbnN0IFdURjo6VVJMJiB1cmwsIGNvbnN0IFdURjo6U3Ry
aW5nJiBtaW1lVHlwZSwgY29uc3QgV1RGOjpTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGNvbnN0
IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUpOwotICAgIH5XZWJSZXNvdXJjZSgpOwogCi1wdWJsaWM6
CiAgICAgLy8gSVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
UXVlcnlJbnRlcmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZP
YmplY3QpOwogICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBA
IC01Niw2ICs1Miw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgZnJhbWVOYW1lKF9fZGVyZWZfb3B0X291dCBCU1RSKiBuYW1lKTsKIAogcHJpdmF0ZToK
KyAgICBXZWJSZXNvdXJjZShJU3RyZWFtKiBkYXRhLCBjb25zdCBXVEY6OlVSTCYsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV1RGOjpTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUs
IGNvbnN0IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUpOworICAgIH5XZWJSZXNvdXJjZSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBDT01QdHI8SVN0cmVhbT4gbV9kYXRhOwog
ICAgIFdURjo6VVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKaW5kZXggOTEzM2JkYmQwZTJlMWEzYWI5
Y2U3YmEwYTY4ODZhNGRiNWJjZjA3MS4uNGE3OTUxNTMzMzRhNGJhZjQzNmVhNmFjZDY1NDQxYzll
NzhjMTVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oCkBAIC0zNCwxMCArMzQsNyBAQCBjbGFzcyBERUNMU1BF
Q19VVUlEKCJGRDNCMjM4MS0wQkI2LTRCNTktQUYwOS0wRTU5OUM4OTAxQ0YiKSBXZWJVUkxBdXRo
ZW50aWNhdGlvbgogcHVibGljOgogICAgIHN0YXRpYyBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSogY3JlYXRlSW5zdGFuY2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmKTsKICAgICBzdGF0aWMgV2ViVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UqIGNyZWF0ZUlu
c3RhbmNlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgSVdlYlVSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyKik7Ci1wcml2YXRlOgotICAgIFdlYlVSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
JiwgSVdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyKik7Ci0gICAgfldlYlVSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCk7Ci1wdWJsaWM6CisKICAgICAvLyBJVW5rbm93bgogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJF
RklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBV
TE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTU3LDcgKzU0LDEwIEBAIHB1Ymxp
YzoKICAgICAvLyBXZWJVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZQogICAgIGNvbnN0IFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpIGNv
bnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgorICAgIFdlYlVSTEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgSVdlYlVSTEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU2VuZGVyKik7CisgICAgfldlYlVSTEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKCk7CisKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9OwogCiAgICAgV2ViQ29y
ZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9hdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTENyZWRlbnRpYWwuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTENyZWRlbnRpYWwuaAppbmRleCAzM2JkMDUxNTBk
ODJlYmYwNGI4MDUwYzlkMTQ0ZGZjZDJmNDU4ZjFhLi5iZWNmZDM2NDhhYmEzMTM3ZjZkMDlkOGQy
OTUyMmYxMWQzYzAxNjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJV
UkxDcmVkZW50aWFsLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVVJMQ3JlZGVu
dGlhbC5oCkBAIC0zNCwxMCArMzQsNyBAQCBjbGFzcyBXZWJVUkxDcmVkZW50aWFsIGZpbmFsIDog
cHVibGljIElXZWJVUkxDcmVkZW50aWFsCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlVSTENyZWRl
bnRpYWwqIGNyZWF0ZUluc3RhbmNlKCk7CiAgICAgc3RhdGljIFdlYlVSTENyZWRlbnRpYWwqIGNy
ZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmKTsKLXByaXZhdGU6Ci0gICAg
V2ViVVJMQ3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik7Ci0gICAgfldlYlVS
TENyZWRlbnRpYWwoKTsKLXB1YmxpYzoKKwogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKF9Jbl8gUkVGSUlEIHJpaWQs
IF9DT01fT3V0cHRyXyB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1F
VEhPRENBTExUWVBFIEFkZFJlZigpOwpAQCAtNTMsNyArNTAsMTAgQEAgcHVibGljOgogICAgIC8v
IFdlYlVSTENyZWRlbnRpYWwKICAgICBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiBjcmVkZW50
aWFsKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgV2ViVVJMQ3JlZGVudGlh
bChjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik7CisgICAgfldlYlVSTENyZWRlbnRpYWwoKTsK
KwogICAgIFVMT05HIG1fcmVmQ291bnQgeyAwIH07CiAgICAgV2ViQ29yZTo6Q3JlZGVudGlhbCBt
X2NyZWRlbnRpYWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
VVJMUHJvdGVjdGlvblNwYWNlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxQcm90
ZWN0aW9uU3BhY2UuaAppbmRleCBlMmFjODNmMTljYzAzOGUwNmQzOTI1ZGMwNzY3MTc5MDM4NjQ0
YjVjLi5iMzI1YWRjOWNkOTRiNWE5ZjExNDY3YzdlYmI0YmQ0NzE0NTNmMWM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxQcm90ZWN0aW9uU3BhY2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJVUkxQcm90ZWN0aW9uU3BhY2UuaApAQCAtMzQsMTAg
KzM0LDcgQEAgY2xhc3MgV2ViVVJMUHJvdGVjdGlvblNwYWNlIGZpbmFsIDogcHVibGljIElXZWJV
UkxQcm90ZWN0aW9uU3BhY2UKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViVVJMUHJvdGVjdGlvblNw
YWNlKiBjcmVhdGVJbnN0YW5jZSgpOwogICAgIHN0YXRpYyBXZWJVUkxQcm90ZWN0aW9uU3BhY2Uq
IGNyZWF0ZUluc3RhbmNlKGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOwotcHJpdmF0
ZToKLSAgICBXZWJVUkxQcm90ZWN0aW9uU3BhY2UoY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNw
YWNlJik7Ci0gICAgfldlYlVSTFByb3RlY3Rpb25TcGFjZSgpOwotcHVibGljOgorCiAgICAgLy8g
SVVua25vd24KICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlJbnRl
cmZhY2UoX0luXyBSRUZJSUQgcmlpZCwgX0NPTV9PdXRwdHJfIHZvaWQqKiBwcHZPYmplY3QpOwog
ICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgQWRkUmVmKCk7CkBAIC01OCw3ICs1
NSwxMCBAQCBwdWJsaWM6CiAgICAgLy8gV2ViVVJMUHJvdGVjdGlvblNwYWNlCiAgICAgY29uc3Qg
V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UoKSBjb25zdDsKIAotcHJv
dGVjdGVkOgorcHJpdmF0ZToKKyAgICBXZWJVUkxQcm90ZWN0aW9uU3BhY2UoY29uc3QgV2ViQ29y
ZTo6UHJvdGVjdGlvblNwYWNlJik7CisgICAgfldlYlVSTFByb3RlY3Rpb25TcGFjZSgpOworCiAg
ICAgVUxPTkcgbV9yZWZDb3VudCB7IDAgfTsKICAgICBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2Ug
bV9wcm90ZWN0aW9uU3BhY2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVVJMUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlVSTFJlc3Bv
bnNlLmgKaW5kZXggOTM0MTBjZDlmNDQ0Zjg5NDcwMjM2ZmQ2OGQ4OWE2ZTgzYzFhOTA5NS4uMzNk
MGE5YjEyMjA1MGM0MmEzODIxYmY0Y2Q0YTRkOTQzOTBlNjFmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViVVJMUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJVUkxSZXNwb25zZS5oCkBAIC0zMywxMSArMzMsNyBAQCBjbGFzcyBXZWJVUkxS
ZXNwb25zZSBmaW5hbCA6IHB1YmxpYyBJV2ViSFRUUFVSTFJlc3BvbnNlLCBJV2ViVVJMUmVzcG9u
c2VQcml2YXRlCiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlVSTFJlc3BvbnNlKiBjcmVhdGVJbnN0
YW5jZSgpOwogICAgIHN0YXRpYyBXZWJVUkxSZXNwb25zZSogY3JlYXRlSW5zdGFuY2UoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpOwotcHJvdGVjdGVkOgotICAgIFdl
YlVSTFJlc3BvbnNlKCk7Ci0gICAgfldlYlVSTFJlc3BvbnNlKCk7CiAKLXB1YmxpYzoKICAgICAv
LyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUlu
dGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBfQ09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7
CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTYyLDE0
ICs1OCwxNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYgcmVzb3VyY2VSZXNwb25zZSgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgor
ICAgIFdlYlVSTFJlc3BvbnNlKCk7CisgICAgfldlYlVSTFJlc3BvbnNlKCk7CisKICAgICBIUkVT
VUxUIHN1Z2dlc3RlZEZpbGVFeHRlbnNpb24oQlNUUiogcmVzdWx0KTsKIAogI2lmIFVTRShDRlVS
TENPTk5FQ1RJT04pCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNlcnRpZmljYXRlRGljdGlvbmFyeSgp
IGNvbnN0OwogI2VuZGlmCiAKLXByb3RlY3RlZDoKICAgICBVTE9ORyBtX3JlZkNvdW50IHsgMCB9
OwogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE4ZTYzNzAwNGYzZDZj
MDE2YmQ2ZWViODZhMjk2MDYyNjBhNDU5ZjguLjA4NDg5MWI5ZGIyZTBjNzU5MzU4ODU2Zjg2MzU4
MTlkZDRhYTc1OTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNC0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mu
a2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgQ2xhc3NlcyBtYXJrZWQgZmluYWwgc2hvdWxk
IG5vdCB1c2UgcHJvdGVjdGVkIGFjY2VzcyBzcGVjaWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDc3NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0RlZmF1bHRQ
b2xpY3lEZWxlZ2F0ZS5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRl
Lmg6CisKIDIwMjAtMDQtMjAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBEYXRlIGFuZCBUaW1lIGZvcm0gY29udHJvbHMgbm90IHNob3dpbmcgY29y
cmVjdCBpbml0aWFsIHZhbHVlcyBvbiBpbW1lZGlhdGUgc2Vjb25kIGludm9jYXRpb24uCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmgKaW5kZXgg
OTYyMTA5MTkxNDNmOGJmNWQzMzdmNzc2OWE0Y2Y0ZjkwMjA4NzgwMy4uMDU0MDg1YWQ4ZjdmZWYy
MmVkNzk4NzVkZjNlY2U4NmNkZDM3MmFkNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuaApAQCAtMzIsMTAgKzMyLDcgQEAgY2xhc3MgRGVm
YXVsdFBvbGljeURlbGVnYXRlIGZpbmFsIDogcHVibGljIElXZWJQb2xpY3lEZWxlZ2F0ZSB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZSogc2hhcmVkSW5zdGFuY2Uo
KTsKICAgICBzdGF0aWMgRGVmYXVsdFBvbGljeURlbGVnYXRlKiBjcmVhdGVJbnN0YW5jZSgpOwot
cHJpdmF0ZToKLSAgICBEZWZhdWx0UG9saWN5RGVsZWdhdGUoKTsKLSAgICB+RGVmYXVsdFBvbGlj
eURlbGVnYXRlKCk7Ci1wdWJsaWM6CisKICAgICAvLyBJVW5rbm93bgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShfSW5fIFJFRklJRCByaWlkLCBf
Q09NX091dHB0cl8gdm9pZCoqIHBwdk9iamVjdCk7CiAgICAgdmlydHVhbCBVTE9ORyBTVERNRVRI
T0RDQUxMVFlQRSBBZGRSZWYoKTsKQEAgLTUzLDcgKzUwLDEwIEBAIHB1YmxpYzoKICAgICAKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3lXaXRoRXJyb3IoX0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0XyBJV2ViRXJyb3IqLCBfSW5f
b3B0XyBJV2ViRnJhbWUqKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKKyAgICBEZWZhdWx0UG9s
aWN5RGVsZWdhdGUoKTsKKyAgICB+RGVmYXVsdFBvbGljeURlbGVnYXRlKCk7CisKICAgICBVTE9O
RyBtX3JlZkNvdW50IHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1VJRGVsZWdhdGUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRl
LmgKaW5kZXggZjRmOGQ1ZDI3NjM5Y2NiNzQ0NzZhY2VjZjE1ZjI3MWRiMGZiNmU0Yy4uY2Q2ZDM0
NzBiNzkyYmI3ZTNjYWY5MzZkYjYwNDY1MDYxYTkyNTBkYiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vVUlEZWxlZ2F0ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblJlcXVl
c3QoX0luX29wdF8gSVdlYlZpZXcqIHNlbmRlciwgX0luX29wdF8gSVdlYkZyYW1lKiwgX0luX29w
dF8gSVdlYlNlY3VyaXR5T3JpZ2luKiwgX0luX29wdF8gSVdlYkdlb2xvY2F0aW9uUG9saWN5TGlz
dGVuZXIqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlkUHJlc3NN
aXNzaW5nUGx1Z2luQnV0dG9uKF9Jbl9vcHRfIElET01FbGVtZW50Kik7CiAKLXByb3RlY3RlZDoK
K3ByaXZhdGU6CiAgICAgLy8gSVdlYlVJRGVsZWdhdGVQcml2YXRlCiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDEoKSB7IHJldHVybiBFX05PVElNUEw7IH0KICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW51c2VkMigpIHsgcmV0dXJuIEVf
Tk9USU1QTDsgfQpAQCAtMTQwLDcgKzE0MCw2IEBAIHByb3RlY3RlZDoKIAogICAgIFVMT05HIG1f
cmVmQ291bnQgeyAxIH07CiAKLXByaXZhdGU6CiAgICAgUkVDVCBtX2ZyYW1lOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxEUlRVbmRvTWFuYWdlcj4gbV91bmRvTWFuYWdlcjsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>