<?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>137424</bug_id>
          
          <creation_ts>2014-10-04 14:58:07 -0700</creation_ts>
          <short_desc>Add is&lt;&gt;() / downcast&lt;&gt;() support for RenderObject subclasses</short_desc>
          <delta_ts>2014-10-17 21:07:22 -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>Layout and Rendering</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>137056</dependson>
          <blocked>137476</blocked>
    
    <blocked>137512</blocked>
    
    <blocked>137545</blocked>
    
    <blocked>137587</blocked>
    
    <blocked>137594</blocked>
    
    <blocked>137622</blocked>
    
    <blocked>137641</blocked>
    
    <blocked>137683</blocked>
    
    <blocked>137696</blocked>
    
    <blocked>137704</blocked>
    
    <blocked>137727</blocked>
    
    <blocked>137733</blocked>
    
    <blocked>137749</blocked>
    
    <blocked>137764</blocked>
    
    <blocked>137766</blocked>
    
    <blocked>137768</blocked>
    
    <blocked>137804</blocked>
    
    <blocked>137824</blocked>
    
    <blocked>137840</blocked>
    
    <blocked>137845</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039541</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-04 14:58:07 -0700</bug_when>
    <thetext>Add is&lt;&gt;() / downcast&lt;&gt;() support for RenderObject subclasses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039554</commentid>
    <comment_count>1</comment_count>
      <attachid>239287</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-04 17:11:54 -0700</bug_when>
    <thetext>Created attachment 239287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039559</commentid>
    <comment_count>2</comment_count>
      <attachid>239289</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-04 20:30:30 -0700</bug_when>
    <thetext>Created attachment 239289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039869</commentid>
    <comment_count>3</comment_count>
      <attachid>239289</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-06 16:00:46 -0700</bug_when>
    <thetext>Comment on attachment 239289
Patch

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

lgtm.

&gt; Source/WebCore/rendering/RenderIterator.h:76
&gt; +// Similar to WTF::is&lt;&gt;() but without the static_assert() making sure
&gt; +// the check is necessary.

One line.

&gt; Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp:157
&gt; +            if (parentBlock.isRenderMathMLScriptsWrapper()) {

No is&lt;RenderMathMLScriptsWrapper&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039872</commentid>
    <comment_count>4</comment_count>
      <attachid>239366</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-06 16:43:47 -0700</bug_when>
    <thetext>Created attachment 239366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039889</commentid>
    <comment_count>5</comment_count>
      <attachid>239366</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 17:26:29 -0700</bug_when>
    <thetext>Comment on attachment 239366
Patch

Clearing flags on attachment: 239366

Committed r174375: &lt;http://trac.webkit.org/changeset/174375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039890</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 17:26:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239287</attachid>
            <date>2014-10-04 17:11:54 -0700</date>
            <delta_ts>2014-10-04 20:30:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137424-20141004171155.patch</filename>
            <type>text/plain</type>
            <size>83296</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDFhZjU1NDNiNDEyMDNk
ZWFkMDZjYmIxODU5MTEwYmEzZWM5MGUwMS4uMzgzYzJkZDA0NGFjNWJiNTNmNTE1OWU0MzI3MDM3
NzFhN2Q1NGVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0OCBAQAorMjAxNC0xMC0wNCAgQ2hy
aXN0b3BoZSBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGlzPD4oKSAv
IGRvd25jYXN0PD4oKSBzdXBwb3J0IGZvciBSZW5kZXJPYmplY3Qgc3ViY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NDI0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlzPD4oKSAvIGRv
d25jYXN0PD4oKSBzdXBwb3J0IGZvciBSZW5kZXJPYmplY3Qgc3ViY2xhc3NlcywgYW5kCisgICAg
ICAgIGdldCByaWQgb2YgSXNSZW5kZXJlck9mVHlwZSB0cmFpdHMgc3RydWN0IGFzIHdlIGNhbiBu
b3cgcmVseSBvbiB0aGUKKyAgICAgICAgVHlwZUNhc3RzVHJhaXRzIGluc3RlYWQuCisKKyAgICAg
ICAgdG9SZW5kZXIqKCkgaXMgc3RpbGwgc3VwcG9ydGVkIGZvciBtb3N0IHJlbmRlciBvYmplY3Rz
IGJlY2F1c2UgSSBkaWQKKyAgICAgICAgbm90IHdhbnQgdG8gcmVtb3ZlIGFsbCB1c2FnZXMgaW4g
dGhpcyBwYXRjaCwgdG8ga2VlcCB0aGUgc2l6ZSBzbWFsbC4KKyAgICAgICAgRm9yIG5vdywgb25s
eSB0aGUgTWF0aE1MIHJlbmRlciBvYmplY3RzIHdlcmUgcG9ydGVkIG92ZXIgdG8gdXNpbmcKKyAg
ICAgICAgaXM8PigpIC8gZG93bmNhc3Q8PigpLiBPdGhlciByZW5kZXIgb2JqZWN0cyB3aWxsIGJl
IHRha2VuIGNhcmUgb2YgaW4KKyAgICAgICAgZm9sbG93LXVwIHBhdGNoZXMgYW5kIEkgd2lsbCBk
cm9wIHN1cHBvcnQgZm9yIHRvUmVuZGVyKigpCisgICAgICAgIGluY3JlbWVudGFsbHkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNNYXRoRmVuY2VPcGVyYXRvcik6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc01hdGhTZXBhcmF0b3JP
cGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpt
YXRoTGluZVRoaWNrbmVzcyk6CisgICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4dEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4dEVsZW1lbnQ6OmRpZEF0dGFjaFJl
bmRlcmVycyk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0RWxlbWVudDo6Y2hpbGRyZW5D
aGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5oOgor
ICAgICAgICAoV2ViQ29yZTo6bGluZWFnZU9mVHlwZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01h
cmtlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckZpZWxkc2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRnJhbWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJHcmlkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVySUZyYW1lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJhdmVyc2FsOjpmaXJzdENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNh
bDo6bGFzdENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNhbDo6bmV4dFNp
YmxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJhdmVyc2FsOjpwcmV2aW91c1NpYmxp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJhdmVyc2FsOjpmaW5kQW5jZXN0b3JPZlR5
cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTWVkaWEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
U3Bhbm5lclBsYWNlaG9sZGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxv
d0ZyYWdtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck9iamVjdD4pOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJRdW90ZS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNlYXJjaEZpZWxkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUYWJsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNh
cHRpb24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
TXVsdGlMaW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVmlkZW8uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Vmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWF0aE1MRmVuY2VkOjp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxGcmFjdGlvbjo6dW5lbWJlbGxpc2hlZE9wZXJhdG9yKToKKyAgICAgICAgKiByZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJv
b3Q6OmJhc2VXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJvb3Q6OnJh
ZGljYWxXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJvb3Q6OmluZGV4
V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290OjpyYWRpY2FsT3Bl
cmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm9vdFdyYXBwZXI6OnJlbW92
ZUNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb3c6OnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb3c6OmxheW91dCk6CisgICAgICAgICogcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0
aE1MU2NyaXB0czo6YWRkQ2hpbGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxTY3JpcHRzOjpyZW1vdmVDaGlsZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1hdGhNTFNjcmlwdHM6OnVuZW1iZWxsaXNoZWRPcGVyYXRvcik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkSW50ZXJuYWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpyZW1vdmVDaGlsZEludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpyZW1vdmVDaGls
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNYXRoTUxVbmRlck92ZXI6OnVuZW1iZWxsaXNoZWRPcGVyYXRvcik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0dyYWRpZW50U3RvcC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHSW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmg6CisgICAgICAgICogcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaDoKKwogMjAxNC0xMC0wNCAgQnJpYW4gSi4gQnVy
ZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogdGlt
ZWxpbmVzIHNob3VsZCBub3QgY291bnQgdGltZSBlbGFwc2VkIHdoaWxlIHBhdXNlZCBpbiB0aGUg
ZGVidWdnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDQ1MDU2NTVhNTkyZGFmY2JlMTIzMGIy
OWM5YjBiZmVjN2JmNTM2NzUuLjRlMjJmNWY5Mjg0NTMyMGZhZTllMjU5YmY2MzRlMDQxNTdkZWJk
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMzUzNiwxOCArMzUzNiwxOCBAQCBib29sIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzTWF0aE9wZXJhdG9yKCkgY29uc3QKIAogYm9vbCBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc01hdGhGZW5jZU9wZXJhdG9yKCkgY29uc3QKIHsK
LSAgICBpZiAoIW1fcmVuZGVyZXIgfHwgIW1fcmVuZGVyZXItPmlzUmVuZGVyTWF0aE1MT3BlcmF0
b3IoKSkKKyAgICBpZiAoIWlzPFJlbmRlck1hdGhNTE9wZXJhdG9yPihtX3JlbmRlcmVyKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHRvUmVuZGVyTWF0aE1MT3BlcmF0b3Io
Km1fcmVuZGVyZXIpLmhhc09wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZl
bmNlKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCptX3JlbmRl
cmVyKS5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGZW5jZSk7CiB9
CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNNYXRoU2VwYXJhdG9yT3BlcmF0
b3IoKSBjb25zdAogewotICAgIGlmICghbV9yZW5kZXJlciB8fCAhbV9yZW5kZXJlci0+aXNSZW5k
ZXJNYXRoTUxPcGVyYXRvcigpKQorICAgIGlmICghaXM8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KG1f
cmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gdG9SZW5kZXJN
YXRoTUxPcGVyYXRvcigqbV9yZW5kZXJlcikuaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9y
RGljdGlvbmFyeTo6U2VwYXJhdG9yKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1M
T3BlcmF0b3I+KCptX3JlbmRlcmVyKS5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5OjpTZXBhcmF0b3IpOwogfQogICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0Ojppc01hdGhUZXh0KCkgY29uc3QKQEAgLTM4MjMsMTAgKzM4MjMsMTAgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0OjptYXRoUG9zdHNjcmlwdHMoQWNjZXNzaWJpbGl0eU1hdGhN
dWx0aXNjcmlwdFBhaXIKIAogaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Om1hdGhMaW5l
VGhpY2tuZXNzKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzTWF0aEZyYWN0aW9uKCkpCisgICAgaWYg
KCFpczxSZW5kZXJNYXRoTUxGcmFjdGlvbj4obV9yZW5kZXJlcikpCiAgICAgICAgIHJldHVybiAt
MTsKICAgICAKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxGcmFjdGlvbihtX3JlbmRlcmVyKS0+
bGluZVRoaWNrbmVzcygpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxGcmFjdGlv
bj4oKm1fcmVuZGVyZXIpLmxpbmVUaGlja25lc3MoKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAK
aW5kZXggZTU4MzAzNWVjMWNhYzE2NWNhMzE1NzQxZWU4ZjJlOWFiZjdlODA3NC4uYmRiNmJmNmZj
MDM0YmQ0NTVmNTk2ZWNlNTQ4MDk4ZTk5Y2JmYTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcApAQCAtNTgsMTIg
KzU4LDEyIEBAIFBhc3NSZWZQdHI8TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGNvCiB2b2lkIE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQog
ewogICAgIGlmIChyZW5kZXJlcigpKSB7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLT5pc1JlbmRl
ck1hdGhNTFJvdygpKQotICAgICAgICAgICAgdG9SZW5kZXJNYXRoTUxSb3cocmVuZGVyZXIoKSkt
PnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcygpOworICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1M
Um93PigqcmVuZGVyZXIoKSkpCisgICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxSb3c+
KCpyZW5kZXJlcigpKS51cGRhdGVPcGVyYXRvclByb3BlcnRpZXMoKTsKICAgICAgICAgZWxzZSBp
ZiAoaGFzVGFnTmFtZShtYXRoVGFnKSB8fCBoYXNUYWdOYW1lKG1zcXJ0VGFnKSkgewotICAgICAg
ICAgICAgYXV0byBjaGlsZFJlbmRlcmVyID0gcmVuZGVyZXIoKS0+Zmlyc3RDaGlsZCgpOwotICAg
ICAgICAgICAgaWYgKGNoaWxkUmVuZGVyZXIgJiYgY2hpbGRSZW5kZXJlci0+aXNSZW5kZXJNYXRo
TUxSb3coKSkKLSAgICAgICAgICAgICAgICB0b1JlbmRlck1hdGhNTFJvdyhjaGlsZFJlbmRlcmVy
KS0+dXBkYXRlT3BlcmF0b3JQcm9wZXJ0aWVzKCk7CisgICAgICAgICAgICBhdXRvKiBjaGlsZFJl
bmRlcmVyID0gcmVuZGVyZXIoKS0+Zmlyc3RDaGlsZCgpOworICAgICAgICAgICAgaWYgKGlzPFJl
bmRlck1hdGhNTFJvdz4oY2hpbGRSZW5kZXJlcikpCisgICAgICAgICAgICAgICAgZG93bmNhc3Q8
UmVuZGVyTWF0aE1MUm93PigqY2hpbGRSZW5kZXJlcikudXBkYXRlT3BlcmF0b3JQcm9wZXJ0aWVz
KCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGNoYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcApp
bmRleCAyMjM4M2MwMzc2NjliNWIyNGIzM2Q3NWY5YzAwNDIzNGE2OTc0Nzc0Li4wOGU1ZWRkOTlm
MGE5MDdhNjU1Y2E0M2ViYjg5OWZlOTg1YWM0YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKQEAgLTUzLDE1ICs1MywxNSBAQCBQYXNzUmVmUHRyPE1h
dGhNTFRleHRFbGVtZW50PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZwogdm9pZCBNYXRoTUxUZXh0RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkK
IHsKICAgICBNYXRoTUxFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKTsKLSAgICBpZiAocmVu
ZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc1JlbmRlck1hdGhNTFRva2VuKCkpCi0gICAgICAgIHRv
UmVuZGVyTWF0aE1MVG9rZW4ocmVuZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAg
IGlmIChpczxSZW5kZXJNYXRoTUxUb2tlbj4ocmVuZGVyZXIoKSkpCisgICAgICAgIGRvd25jYXN0
PFJlbmRlck1hdGhNTFRva2VuPigqcmVuZGVyZXIoKSkudXBkYXRlVG9rZW5Db250ZW50KCk7CiB9
CiAKIHZvaWQgTWF0aE1MVGV4dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENo
YW5nZSYgY2hhbmdlKQogewogICAgIE1hdGhNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFu
Z2UpOwotICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzUmVuZGVyTWF0aE1MVG9r
ZW4oKSkKLSAgICAgICAgdG9SZW5kZXJNYXRoTUxUb2tlbihyZW5kZXJlcigpKS0+dXBkYXRlVG9r
ZW5Db250ZW50KCk7CisgICAgaWYgKGlzPFJlbmRlck1hdGhNTFRva2VuPihyZW5kZXJlcigpKSkK
KyAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MVG9rZW4+KCpyZW5kZXJlcigpKS51cGRhdGVU
b2tlbkNvbnRlbnQoKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTFRleHRF
bGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQW5jZXN0b3JJdGVy
YXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFuY2VzdG9ySXRlcmF0b3Iu
aAppbmRleCAzOWRkMDVlNzI1MjEzMzkxZTE5MGMxN2E2MzNmOWFjY2I0ZWYyNTgxLi4xYTYxNGZk
MzIwM2RlNTNmMzU0YzNmYTQyNjVmMjgzNTIyNzEyYjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJBbmNlc3Rvckl0ZXJhdG9yLmgKQEAgLTE4NiwxNiArMTg2LDE2
IEBAIGlubGluZSBSZW5kZXJBbmNlc3RvckNvbnN0SXRlcmF0b3JBZGFwdGVyPFQ+IGFuY2VzdG9y
c09mVHlwZShjb25zdCBSZW5kZXJPYmplY3QmCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGlubGlu
ZSBSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yQWRhcHRlcjxUPiBsaW5lYWdlT2ZUeXBlKFJlbmRlck9i
amVjdCYgZmlyc3QpCiB7Ci0gICAgaWYgKGlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oZmlyc3Qp
KQotICAgICAgICByZXR1cm4gUmVuZGVyQW5jZXN0b3JJdGVyYXRvckFkYXB0ZXI8VD4oc3RhdGlj
X2Nhc3Q8VCo+KCZmaXJzdCkpOworICAgIGlmIChpczxUPihmaXJzdCkpCisgICAgICAgIHJldHVy
biBSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yQWRhcHRlcjxUPihkb3duY2FzdDxUPigmZmlyc3QpKTsK
ICAgICByZXR1cm4gYW5jZXN0b3JzT2ZUeXBlPFQ+KGZpcnN0KTsKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CiBpbmxpbmUgUmVuZGVyQW5jZXN0b3JDb25zdEl0ZXJhdG9yQWRhcHRlcjxUPiBs
aW5lYWdlT2ZUeXBlKGNvbnN0IFJlbmRlck9iamVjdCYgZmlyc3QpCiB7Ci0gICAgaWYgKGlzUmVu
ZGVyZXJPZlR5cGU8Y29uc3QgVD4oZmlyc3QpKQotICAgICAgICByZXR1cm4gUmVuZGVyQW5jZXN0
b3JDb25zdEl0ZXJhdG9yQWRhcHRlcjxUPihzdGF0aWNfY2FzdDxjb25zdCBUKj4oJmZpcnN0KSk7
CisgICAgaWYgKGlzPFQ+KGZpcnN0KSkKKyAgICAgICAgcmV0dXJuIFJlbmRlckFuY2VzdG9yQ29u
c3RJdGVyYXRvckFkYXB0ZXI8VD4oZG93bmNhc3Q8VD4oJmZpcnN0KSk7CiAgICAgcmV0dXJuIGFu
Y2VzdG9yc09mVHlwZTxUPihmaXJzdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKaW5kZXggOWE0Y2Y4OGEzYzQ1MjU1NTNkNjg4MDgwNGEwOTQ2MzZmM2RlZjhlYi4u
NjQwMGRiNmY1NTkyOTRhN2NmNjExOWFmNzI0Yzk3Y2EwMjdmMjRkMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTUzOCw0ICs1MzgsNiBAQCBWaXNpYmxlUG9zaXRp
b24gcG9zaXRpb25Gb3JQb2ludFJlc3BlY3RpbmdFZGl0aW5nQm91bmRhcmllcyhSZW5kZXJCbG9j
ayYsIFJlbmRlcgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJCbG9jaywgaXNSZW5kZXJCbG9jaygpKQorCiAjZW5k
aWYgLy8gUmVuZGVyQmxvY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5oCmluZGV4IDIwNzliYmY0NDQxMmUxYTU4ODZiMDg3NmQ1NDc0OGFhZmQwZmM2ZGEuLjNh
YWZhZTJjZjQ3ZjgxZTdjMDBiMThiZDdlOTdiOWEzZWJlYmFjMmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTYzNiw0ICs2MzYsNiBAQCBpbmxpbmUg
Y29uc3QgU2ltcGxlTGluZUxheW91dDo6TGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6OnNpbXBsZUxp
bmVMYXlvdXQoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJCbG9ja0Zsb3csIGlzUmVuZGVyQmxvY2tG
bG93KCkpCisKICNlbmRpZiAvLyBSZW5kZXJCbG9ja0Zsb3dfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCmluZGV4IGI4MjY2YTNiZTE0ODk0NDQ2ZDUxNTI2ZmYwOGI1NmRhMmQ3YmFh
MzkuLjljNzU0NjJlZjY3ZmE4ZGM1ZTMxMWU3MzBlMWMyMjQ2MmNmNmUzYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTc2Nyw0ICs3NjcsNiBAQCBpbmxpbmUgdm9pZCBS
ZW5kZXJCb3g6OnNldElubGluZUJveFdyYXBwZXIoSW5saW5lRWxlbWVudEJveCogYm94V3JhcHBl
cikKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JF
TkRFUl9PQkpFQ1QoUmVuZGVyQm94LCBpc0JveCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyQm94X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKaW5k
ZXggYWNlODg4NTQ4MmQ3YWE1NzlhYjM3ZDA3NDRjMDUzNzkyZTVmMzczYS4uNzFiOTkzZWJmYmZm
MDhmODY0MGEzMDViZjMzMDcyYWFkMWY3NDUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKQEAgLTM0Myw0ICszNDMsNiBAQCBSRU5ERVJf
T0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQm94TW9kZWxPYmplY3QsIGlzQm94TW9kZWxPYmplY3Qo
KSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JF
TkRFUl9PQkpFQ1QoUmVuZGVyQm94TW9kZWxPYmplY3QsIGlzQm94TW9kZWxPYmplY3QoKSkKKwog
I2VuZGlmIC8vIFJlbmRlckJveE1vZGVsT2JqZWN0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCdXR0b24uaAppbmRleCBhY2Q2OWIyMjc3NTQxYTQxMDhjYTQwNGMzZGQ0ZTlkMDlhNDlj
N2YyLi5hMWE2NTIwZTk3Yzk0OGZjMGM5MzZmMTBjNDc0YjE1MDUxZTVlNGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCkBAIC04Nyw0ICs4Nyw2IEBAIFJFTkRFUl9P
QkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJCdXR0b24sIGlzUmVuZGVyQnV0dG9uKCkpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KFJlbmRlckJ1dHRvbiwgaXNSZW5kZXJCdXR0b24oKSkKKwogI2VuZGlmIC8vIFJlbmRlckJ1dHRv
bl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCmluZGV4
IDM5NjNiMzBjNWY2OTZkNzBlYzcyOTJhMzU0ODVmMzNkYTJkMjk5YjUuLmQ0MjkzMjkyZTJiNjgw
MWVkNzYxYWUzZGYwMWJiMjE1ODNkOGZmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJDb21iaW5lVGV4dC5oCkBAIC02MSw0ICs2MSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJDb21iaW5lVGV4dCwgaXNDb21iaW5lVGV4dCgpKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJDb21iaW5lVGV4dCwgaXNDb21iaW5lVGV4dCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyQ29tYmlu
ZVRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKaW5kZXggYzZm
ODZkYjhlNTA0NTNhNzRmYzU1ZDM3NGY3ZDdiMjNjMjA1OTUxYi4uOGMzODE2YzhlZmY1YmE5YjNi
OTIyY2JlMzhjYmM1MzdlNWRkYWY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckNvdW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Q291bnRlci5oCkBAIC02Niw2ICs2Niw4IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5k
ZXJDb3VudGVyLCBpc0NvdW50ZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQ291bnRlciwgaXNDb3VudGVy
KCkpCisKICNpZm5kZWYgTkRFQlVHCiAvLyBPdXRzaWRlIHRoZSBXZWJDb3JlIG5hbWVzcGFjZSBm
b3IgZWFzZSBvZiBpbnZvY2F0aW9uIGZyb20gZ2RiLgogdm9pZCBzaG93Q291bnRlclJlbmRlcmVy
VHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QqLCBjb25zdCBjaGFyKiBjb3VudGVyTmFt
ZSA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFp
bHNNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2Vy
LmgKaW5kZXggODMzZjJhNjc3MTM0YWMzZWFlOGRkM2I2MWQwMGRmMjJjMjRhMTcxMy4uMWM0YWFm
MDIxOTJlN2EwZTQ1MzRmNmIzYTllNDdiMTUzYmQwOTBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCkBAIC00Nyw5ICs0NywxMSBAQCBwcml2
YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRGV0YWlsc01hcmtlciwgaXNE
ZXRhaWxzTWFya2VyKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRGV0YWlsc01hcmtlciwg
aXNEZXRhaWxzTWFya2VyKCkpCisKKyNlbmRpZiAvLyBFTkFCTEUoREVUQUlMU19FTEVNRU5UKQog
CiAjZW5kaWYgLy8gUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDA1Y2U3OTRkMTlhNGNmZTU5M2Y3NzM2Y2M4Y2UxMDgw
ODIzMGY0Y2UuLmVkMDQ4NzZmNWFmZGNhZTA0NjQwMmIwZTkzYWYwOWQ5ZGQ0NTA2MGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMzgwLDQgKzM4MCw2IEBA
IGlubGluZSBMYXlvdXRVbml0IGFkanVzdExheW91dFVuaXRGb3JBYnNvbHV0ZVpvb20oTGF5b3V0
VW5pdCB2YWx1ZSwgY29uc3QgUmVuZGVyCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckVsZW1lbnQsIGlzUmVuZGVy
RWxlbWVudCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRWxlbWVudF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCmluZGV4IDJiZmJlYzE4MWM4YWJj
NDg0MzRhMTNlM2ZiMTU0MWUyY2IyZGI3ZDMuLjgzYzdjMzcyOTEwNjIzOTljOThkODJhNjY4ZTMy
YWRlMDcxMmVlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bWJlZGRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5oCkBAIC0xMDUsNCArMTA1LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlckVtYmVkZGVkT2JqZWN0LCBpc0VtYmVkZGVkT2JqZWN0KCkpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRl
ckVtYmVkZGVkT2JqZWN0LCBpc0VtYmVkZGVkT2JqZWN0KCkpCisKICNlbmRpZiAvLyBSZW5kZXJF
bWJlZGRlZE9iamVjdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmllbGRzZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5o
CmluZGV4IDlmNjcyZDdhNjE4ZDBjYTBlOGFkNjIwNmQwNGEzZTkxNTkxMGMyMmIuLjQ0YTgzNzQz
ZTExNTM0YzhlYmQyOTNkN2FhYTFkNjQ3YzY4N2U5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWVsZHNldC5oCkBAIC01OSw0ICs1OSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJGaWVsZHNldCwgaXNGaWVsZHNldCgpKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJGaWVs
ZHNldCwgaXNGaWVsZHNldCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRmllbGRzZXRfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAppbmRl
eCAxZDVhNGNmNTkxOGM5ZmFiYTQwNjMxNmM0NTBjMjRjMThjNTA4ZWYwLi5jZTRhYmFkZWMxYTlm
ZDdmMmM1MzkxZmViNTI3NWEwMzM5MjllYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaApAQCAtNjgsNCArNjgsNiBAQCBSRU5E
RVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wsIGlzRmlsZVVwbG9h
ZENvbnRyb2woKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wsIGlzRmlsZVVwbG9h
ZENvbnRyb2woKSkKKwogI2VuZGlmIC8vIFJlbmRlckZpbGVVcGxvYWRDb250cm9sX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXggMzU4NTJjOWJj
ZjE4YmQ1MGU0MTFjNzBmN2E3ZjA5MjFkOTFkZTViMi4uMWYxMzYyMGUyMGY4NWIxNmUzNGM3YzJh
NjM3MmZlYzQxZDQ4Y2VjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmgKQEAgLTE2NSw0ICsxNjUsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyRmxleGlibGVCb3gsIGlzRmxleGlibGVCb3goKSkKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRmxleGli
bGVCb3gsIGlzRmxleGlibGVCb3goKSkKKwogI2VuZGlmIC8vIFJlbmRlckZsZXhpYmxlQm94X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGQzNzMy
ODAwN2I3NDlkZjEwMjcxNTNkOGViOWViZjVlMmEwYmZmMDkuLmI5ZWQzYjRmYjBlZGMyNTZhNGUz
YTkwMzBlODcyYzlkZjliYTA2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuaApAQCAtNDEwLDQgKzQxMCw2IEBAIHRlbXBsYXRlIDw+IHN0cnVjdCBWYWx1
ZVRvU3RyaW5nPFJlbmRlclJlZ2lvbio+IHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRmxvd1RocmVhZCwgaXNS
ZW5kZXJGbG93VGhyZWFkKCkpCisKICNlbmRpZiAvLyBSZW5kZXJGbG93VGhyZWFkX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKaW5kZXggMDNmNWE0ZmJiMjYyZGJkYmQ5YmM5
OWE1YjgxZTQ4OGRiMWVhYTU0MC4uZGRlOWI2YjhhM2JhNGMwMmQzYjA3ZDUxOWYxYzU3ZjliYTk5
NDkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKQEAgLTUwLDQgKzUw
LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckZyYW1lLCBpc0ZyYW1lKCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJf
T0JKRUNUKFJlbmRlckZyYW1lLCBpc0ZyYW1lKCkpCisKICNlbmRpZiAvLyBSZW5kZXJGcmFtZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IDg5ODI5M2E3
ZGY2NzE4ZmE0MzhjZDRiZjc4ODQ1NTI4NjkxMWZlYzUuLmU5YjhhMWVlMzBjYTI5Yzc5YTU0ZGFl
ZTlhOGUwZWY0ZTQxZDBlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFt
ZVNldC5oCkBAIC0xMzAsNCArMTMwLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ckZyYW1lU2V0LCBpc0ZyYW1lU2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckZyYW1lU2V0LCBpc0ZyYW1l
U2V0KCkpCisKICNlbmRpZiAvLyBSZW5kZXJGcmFtZVNldF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaAppbmRleCBjOTQyZmM1NzhmOTI4ODA1M2U2YTc4Njg3
ODNlZDYzZTI4ZTgxMWY1Li41MjVlMGU5NjMzYTBmZDQ0M2MzNDdhY2NjNGI4NzVmMWI3ZmZmNThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgKQEAgLTU1
LDggKzU1LDEwIEBAIHByb3RlY3RlZDoKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ckZ1bGxTY3JlZW4sIGlzUmVuZGVyRnVsbFNjcmVlbigpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJl
bmRlckZ1bGxTY3JlZW4sIGlzUmVuZGVyRnVsbFNjcmVlbigpKQogCi0jZW5kaWYKKyNlbmRpZiAv
LyBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisKKyNlbmRpZiAvLyBSZW5kZXJGdWxsU2NyZWVuX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IDkxOTQ2MTA3NjI1NWQ3NGU0
ZGI5MTM0MmJiY2IzYTM5YjUwOGFlOTcuLjEzNTYzZWI1YzkyNWQzNWFjMGQ5MzU1MjQxODc5Yzdm
MGVjZDlhN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMTM1LDYg
KzEzNSw4IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJHcmlkLCBpc1JlbmRlckdy
aWQoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X1JFTkRFUl9PQkpFQ1QoUmVuZGVyR3JpZCwgaXNSZW5kZXJHcmlkKCkpCisKICNlbmRpZiAvKiBF
TkFCTEUoQ1NTX0dSSURfTEFZT1VUKSAqLwogCiAjZW5kaWYgLy8gUmVuZGVyR3JpZF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAppbmRleCBhMDVhMWUxYzkx
Mzk0ZjhjNzNhMzVkM2Q5NzhlMmM4NzhjZjdkZjUzLi5hNzFlZGFiNDRlZGViN2E1MGIyZTBlNmRh
NDU0NTg2ZWQ2NmFjNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySFRNTENhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1M
Q2FudmFzLmgKQEAgLTUzLDQgKzUzLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ckhUTUxDYW52YXMsIGlzQ2FudmFzKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckhUTUxDYW52YXMsIGlzQ2Fu
dmFzKCkpCisKICNlbmRpZiAvLyBSZW5kZXJIVE1MQ2FudmFzX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJRnJhbWUuaAppbmRleCA3Y2MwMzMxYjZjYmVmNGQzODU2YmJiMGU0YTk2Nzg5
Y2JkYzY5MTdmLi42ODZjNmIyNWVkN2VhM2U5MWQ4ZDNkOWU5Y2QxYmYwN2IwZjgxNzYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5oCkBAIC02Niw0ICs2Niw2IEBAIFJF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJJRnJhbWUsIGlzUmVuZGVySUZyYW1lKCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJf
T0JKRUNUKFJlbmRlcklGcmFtZSwgaXNSZW5kZXJJRnJhbWUoKSkKKwogI2VuZGlmIC8vIFJlbmRl
cklGcmFtZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmluZGV4IDQ2Mzcw
YTkxOWFjOTgxMmYxYzVkZWY3ZmI5NmMzMDMzZDdmMDNkOTIuLmM1YWVhMDU0MTc2MjMwMjk1YjE4
ZjQyNjg5ZTdiMGIxYTZhYjYzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5oCkBAIC0xMzIsNCArMTMyLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlcklt
YWdlLCBpc1JlbmRlckltYWdlKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckltYWdlLCBpc1JlbmRlckltYWdl
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJJbWFnZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmgKaW5kZXggNDlhZTBjZjk5ZTdhNGJhYzY3N2Q3YzM5OWQ3ZWI1OWZmOGZiYzFi
MS4uNjI4MTExN2FjOTY3YmY1MDBmM2ZjOGQwODM2NWJlYTRiYWE5YTFiNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaApAQCAtMTg0LDQgKzE4NCw2IEBAIFJFTkRFUl9P
QkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJJbmxpbmUsIGlzUmVuZGVySW5saW5lKCkpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KFJlbmRlcklubGluZSwgaXNSZW5kZXJJbmxpbmUoKSkKKwogI2VuZGlmIC8vIFJlbmRlcklubGlu
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySXRlcmF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJdGVyYXRvci5oCmluZGV4IDVjNTE5
NDc1YWJkMWU2ZDYyNzU0MjI4ZmFkNzEwMTQ1MDQ1YzYwN2UuLjcxYjYxMzVhMzJmNjBmNDljYjZh
ZDNiYTZjNjFiOTdhYjYyZGZiMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
dGVyYXRvci5oCkBAIC04MCw3ICs4MCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPgogaW5saW5lIFQqIGZpcnN0Q2hpbGQoVSYgY3VycmVudCkKIHsKICAgICBSZW5kZXJPYmpl
Y3QqIG9iamVjdCA9IGN1cnJlbnQuZmlyc3RDaGlsZCgpOwotICAgIHdoaWxlIChvYmplY3QgJiYg
IWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9iamVjdCkpCisgICAgd2hpbGUgKG9iamVjdCAm
JiAhV1RGOjpUeXBlQ2FzdFRyYWl0czxjb25zdCBULCBjb25zdCBSZW5kZXJPYmplY3Q+Ojppc09m
VHlwZSgqb2JqZWN0KSkKICAgICAgICAgb2JqZWN0ID0gb2JqZWN0LT5uZXh0U2libGluZygpOwog
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4ob2JqZWN0KTsKIH0KQEAgLTg5LDcgKzg5LDcgQEAg
dGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+CiBpbmxpbmUgVCogbGFzdENoaWxkKFUm
IGN1cnJlbnQpCiB7CiAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBjdXJyZW50Lmxhc3RDaGls
ZCgpOwotICAgIHdoaWxlIChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9i
amVjdCkpCisgICAgd2hpbGUgKG9iamVjdCAmJiAhV1RGOjpUeXBlQ2FzdFRyYWl0czxjb25zdCBU
LCBjb25zdCBSZW5kZXJPYmplY3Q+Ojppc09mVHlwZSgqb2JqZWN0KSkKICAgICAgICAgb2JqZWN0
ID0gb2JqZWN0LT5wcmV2aW91c1NpYmxpbmcoKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+
KG9iamVjdCk7CiB9CkBAIC05OCw3ICs5OCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBl
bmFtZSBVPgogaW5saW5lIFQqIG5leHRTaWJsaW5nKFUmIGN1cnJlbnQpCiB7CiAgICAgUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSBjdXJyZW50Lm5leHRTaWJsaW5nKCk7Ci0gICAgd2hpbGUgKG9iamVj
dCAmJiAhaXNSZW5kZXJlck9mVHlwZTxjb25zdCBUPigqb2JqZWN0KSkKKyAgICB3aGlsZSAob2Jq
ZWN0ICYmICFXVEY6OlR5cGVDYXN0VHJhaXRzPGNvbnN0IFQsIGNvbnN0IFJlbmRlck9iamVjdD46
OmlzT2ZUeXBlKCpvYmplY3QpKQogICAgICAgICBvYmplY3QgPSBvYmplY3QtPm5leHRTaWJsaW5n
KCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihvYmplY3QpOwogfQpAQCAtMTA3LDcgKzEw
Nyw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgogaW5saW5lIFQqIHByZXZp
b3VzU2libGluZyhVJiBjdXJyZW50KQogewogICAgIFJlbmRlck9iamVjdCogb2JqZWN0ID0gY3Vy
cmVudC5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICB3aGlsZSAob2JqZWN0ICYmICFpc1JlbmRlcmVy
T2ZUeXBlPGNvbnN0IFQ+KCpvYmplY3QpKQorICAgIHdoaWxlIChvYmplY3QgJiYgIVdURjo6VHlw
ZUNhc3RUcmFpdHM8Y29uc3QgVCwgY29uc3QgUmVuZGVyT2JqZWN0Pjo6aXNPZlR5cGUoKm9iamVj
dCkpCiAgICAgICAgIG9iamVjdCA9IG9iamVjdC0+cHJldmlvdXNTaWJsaW5nKCk7CiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFQqPihvYmplY3QpOwogfQpAQCAtMTE1LDggKzExNSw4IEBAIGlubGlu
ZSBUKiBwcmV2aW91c1NpYmxpbmcoVSYgY3VycmVudCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgog
aW5saW5lIFQqIGZpbmRBbmNlc3Rvck9mVHlwZShjb25zdCBSZW5kZXJPYmplY3QmIGN1cnJlbnQp
CiB7Ci0gICAgZm9yIChhdXRvIGFuY2VzdG9yID0gY3VycmVudC5wYXJlbnQoKTsgYW5jZXN0b3I7
IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7Ci0gICAgICAgIGlmIChpc1JlbmRlcmVy
T2ZUeXBlPGNvbnN0IFQ+KCphbmNlc3RvcikpCisgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IGN1
cnJlbnQucGFyZW50KCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKSkg
eworICAgICAgICBpZiAoV1RGOjpUeXBlQ2FzdFRyYWl0czxjb25zdCBULCBjb25zdCBSZW5kZXJF
bGVtZW50Pjo6aXNPZlR5cGUoKmFuY2VzdG9yKSkKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxUKj4oYW5jZXN0b3IpOwogICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCmluZGV4IDZj
MWE4NzRiYzFlMGMzMDI0ZDNjNjNhMzE3ZDFmODEzNzEzOTEzODguLjIwOTkwNDIwMjMzNTYwM2Vi
NWRlMGNiMmQ5YjA4MDRmZDU0YjM4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaApAQCAtNzMsNCArNzMsNiBAQCBSRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCwgaXNSZW5kZXJMYXllck1vZGVs
T2JqZWN0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckxheWVyTW9kZWxPYmplY3QsIGlzUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGF5ZXJNb2RlbE9iamVjdF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmgKaW5kZXggYzM5NGU4NmEzOGI4
MzU1MzYzMTA4NTI2YzFhN2E0ODYyNzcxZmFhOS4uZThlYzVlZjdhMjUyMGY5M2VhZTE4MzMzZDFm
MTdjMTBkMjlhOTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpbmVCcmVhay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQnJl
YWsuaApAQCAtOTcsNCArOTcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTGlu
ZUJyZWFrLCBpc0xpbmVCcmVhaygpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJMaW5lQnJlYWssIGlzTGluZUJy
ZWFrKCkpCisKICNlbmRpZiAvLyBSZW5kZXJMaW5lQnJlYWtfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggM2I2ZGI3NmUyZmIwMmQ0ZWE1Y2U0NTljNzIxZGNm
ZTBlYTNmM2MyMS4uNTIyMGI4MmZlNmJjYzdmMjk0M2Y3MzQyMWMzODQzMmI4MGRmZTJiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xNjUsNCArMTY1LDYg
QEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckxpc3RCb3gsIGlzTGlzdEJveCgpKQog
CiB9IC8vIG5hbWVwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJf
T0JKRUNUKFJlbmRlckxpc3RCb3gsIGlzTGlzdEJveCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGlz
dEJveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0
ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCmluZGV4IDc5
NWRlM2FlMzA4MDFlZDZkNDIxOGY5YWQ1ZjkxODQ2MzA4OWJlMWEuLjBhODFhMzhiZjRlMTBkNjBj
OGExMGFkNDU4YzA2ZWE5YTY0ODQzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0SXRlbS5oCkBAIC05Nyw0ICs5Nyw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJMaXN0SXRlbSwgaXNMaXN0SXRlbSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJMaXN0SXRlbSwgaXNM
aXN0SXRlbSgpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGlzdEl0ZW1faApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKaW5kZXggMjQzZGEwNzcyYzYxOWZiMWU5MjQ2
Yzg1NGYwYTBmOTY4NjVlZDdhMi4uZWE4ZDMyZjlkZTgwYTU5ZDA0YTRmYmM4ZTM4YzVhYjBkOWU2
Mjk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCkBA
IC04OSw0ICs4OSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJMaXN0TWFya2Vy
LCBpc0xpc3RNYXJrZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGlzdE1hcmtlciwgaXNMaXN0TWFya2Vy
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJMaXN0TWFya2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lZGlhLmgKaW5kZXggZTk1OWUyNDY2MDQ0MjVmYTY3NTQ1MmYxYmY2NzQyMjZjNTNh
MjJmOS4uY2Y0ZTY1ZGE2MjgxMWNkMzJkYzE4NTQzOTVmMGVkNjVlM2QzYTFmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKQEAgLTYwLDYgKzYwLDggQEAgUkVOREVSX09C
SkVDVF9UWVBFX0NBU1RTKFJlbmRlck1lZGlhLCBpc01lZGlhKCkpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1Qo
UmVuZGVyTWVkaWEsIGlzTWVkaWEoKSkKKworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKIAogI2Vu
ZGlmIC8vIFJlbmRlck1lZGlhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmgKaW5kZXggNGYwY2QzNjFhZjdmMDhjMTZmNjk2ODlkMWVhMzJhMWNhMDlkODYxMi4uOTNl
NmJiMmI5YWRhMDA3NzQ4ODIyZjc2OTZlMGRjODFhZjFiMDFiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKQEAgLTE1NCw2ICsxNTQsOCBAQCBwcml2YXRlOgog
CiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWVudUxpc3QsIGlzTWVudUxpc3QoKSkK
IAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JF
TkRFUl9PQkpFQ1QoUmVuZGVyTWVudUxpc3QsIGlzTWVudUxpc3QoKSkKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCmluZGV4IDgwZjMzM2Y4MGMzZTY3YTU3YWU2
NjVhNGE4ZTY3YzAyOGEyODUxYmMuLmE2MzI1MGVhMGFmZWI5OWUxOGNlZThhMjVjZDU5ZjY1NzE3
YWY2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCkBAIC01MSw3ICs1
MSw5IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNZXRlciwgaXNNZXRlcigpKQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19SRU5ERVJfT0JKRUNUKFJlbmRlck1ldGVyLCBpc01ldGVyKCkpCisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVURVJfRUxFTUVOVCkKIAogI2VuZGlmIC8vIFJlbmRlck1ldGVyX2gKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5o
CmluZGV4IDg4MDY1ODJmMDIyY2JiNzZkNTBhMTkyOGQzY2NlMmY4ZGEzYjJiMTIuLjdmNzRlNzI5
ZWM3MDZhNDg4NjlhN2E1YjhjY2M4ZjEzYTQ4NTAzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKQEAgLTE2Myw1
ICsxNjMsNyBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTXVsdGlDb2x1bW5GbG93
VGhyZWFkLCBpc1JlbmRlck11bHRpQ29sdW1uRmxvd1RocgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNdWx0aUNv
bHVtbkZsb3dUaHJlYWQsIGlzUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKCkpCisKICNlbmRp
ZiAvLyBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWRfaAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4IGVmZWRiOTFmYmNjZjE0YWY1
MDYwNWVjMGNiZDA4OTVmNjcyZjE4MTAuLjc1MGQ1Y2M5YmNmZjE2ZWFjYzIwYzJhODZkZGM5Zjc4
ZmQ0YzA0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5oCkBAIC0yMjksNSArMjI5LDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJl
bmRlck11bHRpQ29sdW1uU2V0LCBpc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJl
bmRlck11bHRpQ29sdW1uU2V0LCBpc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpCisKICNlbmRpZiAv
LyBSZW5kZXJNdWx0aUNvbHVtblNldF9oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLmgKaW5k
ZXggMTBhNWNhNDVhODM3NmQ1N2FjNDk4NjVmNjg3NTA4OTE2M2YyYjIzNy4uY2FhYzJlN2JkZGE3
NDdhYmVlOTJlY2M3YThlNzQyMTU0NzgyMzE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVy
LmgKQEAgLTU5LDQgKzU5LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck11bHRp
Q29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLCBpc1JlbmRlck11bHRpQ29sdW0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIsIGlzUmVuZGVyTXVsdGlDb2x1bW5TcGFu
bmVyUGxhY2Vob2xkZXIoKSkKKwogI2VuZGlmIC8vIFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBs
YWNlaG9sZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJO
YW1lZEZsb3dGcmFnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LmgKaW5kZXggOTk5NWUzYWZjMDdkYzRiZDE2Y2VjY2M2YThkZjhkNmNlMWY2
OGIyNS4uZjZjZTJmYTFlZDg4ZTQ0ZmEzNTk1M2JhN2YyYTQ0NGMxYjNhNTJmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKQEAg
LTE2Nyw0ICsxNjcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTmFtZWRGbG93
RnJhZ21lbnQsIGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTmFt
ZWRGbG93RnJhZ21lbnQsIGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKKwogI2VuZGlmIC8v
IFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaAppbmRleCBlZGU5YzA3YzAxM2I4ZjczMWVkZGY1NGVm
NzBhMDcxYjc4YzJjMjA5Li5kODI3MTNhMjRlOTY4OTMwMDU3Y2RjYjY2M2NlMTk5YjFlMzQyMGI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5oCkBAIC0xNjMsNCArMTYzLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck5h
bWVkRmxvd1RocmVhZCwgaXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVy
TmFtZWRGbG93VGhyZWFkLCBpc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKQorCiAjZW5kaWYgLy8g
UmVuZGVyTmFtZWRGbG93VGhyZWFkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAppbmRleCBiMWE4MWM5NGE3YTAwMzFhMjM0M2E0YmNhNGNjZTU1ZGJlZWQyNzgxLi40NDIz
MmZhMzY0YmU5MzcyYmIyODU5MDcxNzFhY2IwNzUyZDkwOTY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiU3R5bGVJ
bmhlcml0ZWREYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTAzMCw5ICsxMDMxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldEV2ZXJI
YWRMYXlvdXQoYm9vbCBiKSB7IG1fYml0ZmllbGRzLnNldEV2ZXJIYWRMYXlvdXQoYik7IH0KIH07
CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPiBib29sIGlzUmVuZGVyZXJPZlR5cGUoY29uc3Qg
UmVuZGVyT2JqZWN0Jik7Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc1JlbmRlcmVyT2ZUeXBl
PGNvbnN0IFJlbmRlck9iamVjdD4oY29uc3QgUmVuZGVyT2JqZWN0JikgeyByZXR1cm4gdHJ1ZTsg
fQotCiBpbmxpbmUgRnJhbWUmIFJlbmRlck9iamVjdDo6ZnJhbWUoKSBjb25zdAogewogICAgIHJl
dHVybiAqZG9jdW1lbnQoKS5mcmFtZSgpOwpAQCAtMTEyOCwxMiArMTEyNiwxNyBAQCBpbmxpbmUg
Ym9vbCBSZW5kZXJPYmplY3Q6OmJhY2tncm91bmRJc0tub3duVG9CZU9ic2N1cmVkKCkKICAgICBy
ZXR1cm4gbV9iaXRmaWVsZHMuYm94RGVjb3JhdGlvblN0YXRlKCkgPT0gSGFzQm94RGVjb3JhdGlv
bnNBbmRCYWNrZ3JvdW5kSXNLbm93blRvQmVPYnNjdXJlZDsKIH0KIAorLy8gRklYTUU6IFJlbW92
ZSB0aGlzIG1hY3JvIGFuZCB1c2UgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KCkgaW5zdGVhZC4KICNkZWZpbmUgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFRvVmFsdWVUeXBl
TmFtZSwgcHJlZGljYXRlKSBcCi0gICAgdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNSZW5kZXJl
ck9mVHlwZTxjb25zdCBUb1ZhbHVlVHlwZU5hbWU+KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIpIHsgcmV0dXJuIHJlbmRlcmVyLnByZWRpY2F0ZTsgfSBcCi0gICAgVFlQRV9DQVNUU19CQVNF
KFRvVmFsdWVUeXBlTmFtZSwgUmVuZGVyT2JqZWN0LCByZW5kZXJlciwgaXNSZW5kZXJlck9mVHlw
ZTxjb25zdCBUb1ZhbHVlVHlwZU5hbWU+KCpyZW5kZXJlciksIGlzUmVuZGVyZXJPZlR5cGU8Y29u
c3QgVG9WYWx1ZVR5cGVOYW1lPihyZW5kZXJlcikpCisgICAgVFlQRV9DQVNUU19CQVNFKFRvVmFs
dWVUeXBlTmFtZSwgUmVuZGVyT2JqZWN0LCByZW5kZXJlciwgaXM8VG9WYWx1ZVR5cGVOYW1lPigq
cmVuZGVyZXIpLCBpczxUb1ZhbHVlVHlwZU5hbWU+KHJlbmRlcmVyKSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCisjZGVmaW5lIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVD
VChUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19C
RUdJTihXZWJDb3JlOjpUb1ZhbHVlVHlwZU5hbWUpIFwKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUo
Y29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikgeyByZXR1cm4gcmVuZGVyZXIu
cHJlZGljYXRlOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2lmbmRlZiBO
REVCVUcKIC8vIE91dHNpZGUgdGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZvciBlYXNlIG9mIGludm9j
YXRpb24gZnJvbSBnZGIuCiB2b2lkIHNob3dOb2RlVHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJP
YmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXgg
M2NiNGQyNWM1MjkxZGFmMmVjYjlmNzhjZWQ4MDVlNTNlMGRiNjYwZC4uODZlODc2NTRhMzdlODFk
ZDAzMDFlNmY0MTUyMTZiYzRjNjYzMzE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclByb2dyZXNzLmgKQEAgLTYyLDUgKzYyLDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlclByb2dyZXNzLCBpc1Byb2dyZXNzKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclByb2dyZXNzLCBp
c1Byb2dyZXNzKCkpCisKICNlbmRpZiAvLyBSZW5kZXJQcm9ncmVzc19oCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKaW5kZXggZWEyYTgzY2Q0MDkxMmJiNzNhNzIxZjAxMzQw
NDIxZjNhMjAzNjM4MS4uYWI5YjhjYTFiNGZhZDU4NTA5ZDA3MDFjOWNlYTVlODQzYTYxOTI5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKQEAgLTU5LDQgKzU5LDYgQEAg
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclF1b3RlLCBpc1F1b3RlKCkpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KFJlbmRlclF1b3RlLCBpc1F1b3RlKCkpCisKICNlbmRpZiAvLyBSZW5kZXJRdW90ZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggM2FjZWMwYTRkNWRhYWYzMTA0
NjNmNDk2YmU1ZGEzOWZlOTZjNjAzZS4uMDFlNjc0YzBiYjIxY2JjMmFmNTBmZGMyY2VjZWQ5M2E5
NTcyOTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAtMTc5
LDggKzE3OSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzVmFsaWQgOiAxOwogfTsKIAotUkVO
REVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclJlZ2lvbiwgaXNSZW5kZXJSZWdpb24oKSkKLQog
Y2xhc3MgQ3VycmVudFJlbmRlclJlZ2lvbk1haW50YWluZXIgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEN1cnJlbnRSZW5kZXJSZWdpb25NYWludGFpbmVyKTsKIHB1YmxpYzoKQEAgLTE5NCw0
ICsxOTIsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJSZWdpb24sIGlzUmVuZGVyUmVnaW9u
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJSZWdpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuaAppbmRleCBkMmFiN2I4NmU2Y2JkMjg3ODg5ZjBhNDVmZDBjMzgyMDdj
MTkyM2Q0Li5hODU5MzcyNjdiZjBiNzFhMjE1YjdiMTZiODBmMzdhMDU0NGM3ZGY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtOTEsNiArOTEsOCBAQCBw
cml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyUmVwbGFjZWQsIGlzUmVu
ZGVyUmVwbGFjZWQoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyUmVwbGFjZWQsIGlzUmVuZGVyUmVwbGFj
ZWQoKSkKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUnVieVJ1bi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaApp
bmRleCAyZmUxNWI5MGZjMTE4MDI4ZmZmNTNlNTVhYmNlNGM0MGFmNzViOWU0Li5hMGFkYWZiYTc3
MDJiMmM4YzI1MmM0ZDUxMGYwNDZhNmY0ZmYzZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSdWJ5UnVuLmgKQEAgLTgxLDQgKzgxLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NB
U1RTKFJlbmRlclJ1YnlSdW4sIGlzUnVieVJ1bigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJSdWJ5UnVuLCBp
c1J1YnlSdW4oKSkKKwogI2VuZGlmIC8vIFJlbmRlclJ1YnlSdW5faApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgKaW5kZXggMGQzOGQ2ZjRiNjZkNzZj
YjAxZTNiZTY2NWUzYTg2OTY1M2Y0ZTdmZi4uMGNiNjcwYjMyMGUwYThlNGZiMTBjMzc2YjYyYzRk
NzMwYjMwNWQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclBhcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyUGFydC5oCkBAIC03Nyw0ICs3Nyw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5k
ZXJTY3JvbGxiYXJQYXJ0LCBpc1JlbmRlclNjcm9sbGJhclBhcnQoKSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVy
U2Nyb2xsYmFyUGFydCwgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0KCkpCisKICNlbmRpZiAvLyBSZW5k
ZXJTY3JvbGxiYXJQYXJ0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTZWFyY2hGaWVsZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJj
aEZpZWxkLmgKaW5kZXggNDM2NTYxYzE3ZTVlMjZiNzJiOTY2YWQ4NmY1OWNhNDRkM2M0NjkxOS4u
MGEwNjYzMzBhYWRjYjk2OGI3NTg2ZDQ1MDZjZjlmOTlkODNlNzYzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKQEAgLTkyLDYgKzkyLDggQEAgcHJp
dmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNlYXJjaEZpZWxkLCBpc1Rl
eHRGaWVsZCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTZWFyY2hGaWVsZCwgaXNUZXh0RmllbGQoKSkK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xp
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmgKaW5kZXggOTY1
NzJlZmU4NzI4MGNlODI2YTg4MzIzZWZlZDFjNjdjODM0NTI4OS4uZGE4YWM3YWI4Njc3NDk4NDgw
NDExNWJkN2Y1ODY2OThmMTJkYzI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNsaWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
bGlkZXIuaApAQCAtNTUsNCArNTUsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
U2xpZGVyLCBpc1NsaWRlcigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTbGlkZXIsIGlzU2xpZGVyKCkpCisK
ICNlbmRpZiAvLyBSZW5kZXJTbGlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaAppbmRleCBlZGY1NzUxYWQ0MTEyYzE3MjAyZTFh
MGU3NjNjNzYxNjcwMTEwM2VjLi4wOTJjNTBmYjQ1MDRlYTJmYTZiYjdmZDBmNzEzN2ExMjRhMmNk
NTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0
ZWRQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0
ZWRQbHVnSW4uaApAQCAtNjcsNCArNjcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyU25hcHNob3R0ZWRQbHVnSW4sIGlzU25hcHNob3R0ZWRQbHVnSW4oKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyU25hcHNob3R0ZWRQbHVnSW4sIGlzU25hcHNob3R0ZWRQbHVnSW4oKSkKKwogI2VuZGlmIC8v
IFJlbmRlclNuYXBzaG90dGVkUGx1Z0luX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmgKaW5kZXggM2Y0YmI4YWUwNzMxNzk1MTY4NmJkY2M3NmFjOWQ0MGRhZmRiYjA5ZS4uZDlk
MWVlOGIwNGUxN2U3OGM5ZjVhZGEzZjVkNmJhYjcxMjcxNGIxMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAgLTM4NSw0ICszODUsNiBAQCBSRU5ERVJfT0JKRUNUX1RZ
UEVfQ0FTVFMoUmVuZGVyVGFibGUsIGlzVGFibGUoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGFibGUsIGlz
VGFibGUoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaAppbmRleCAxNGJhOWQyZDM4YzJhZDNmOTE1YmIx
M2Y1M2U0NzFiZDA0MzMwNDExLi45NjNiMTgxYjFlYmYzZTk0YTA2YjlmZWZiZjM5N2YyMTU2ZWRj
N2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5o
CkBAIC00OCw0ICs0OCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJsZUNh
cHRpb24sIGlzVGFibGVDYXB0aW9uKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlQ2FwdGlvbiwgaXNU
YWJsZUNhcHRpb24oKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlQ2FwdGlvbl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggOGE1YmYyYTQ3MzdjZTQ1
MjBiZWExNDJkYmQ3NDMxMjljNTM4ZTA2OC4uNzdjOTJiOTkwYjhkYjVjYWNjY2RiZGUwMTI0ODJi
ODNkMzg1OWMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
aApAQCAtMzE4LDQgKzMxOCw2IEBAIGlubGluZSBSZW5kZXJUYWJsZUNlbGwqIFJlbmRlclRhYmxl
Um93OjpsYXN0Q2VsbCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlQ2VsbCwgaXNUYWJsZUNl
bGwoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlQ2VsbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNvbC5oCmluZGV4IDlkZDkzNTY0ZjZhODBmMGU2ODFiNzhiYTM3ODI0
ZjQxYjg2YWNmOTMuLmI3OWQyYzNhMWI5NjUzZGRlMDBlMTk3YzM5NzE0NDkzMDc2ZGM0MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCkBAIC0xMDIsNiArMTAy
LDggQEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclRhYmxlQ29s
LCBpc1JlbmRlclRhYmxlQ29sKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGFibGVDb2ws
IGlzUmVuZGVyVGFibGVDb2woKSkKKworI2VuZGlmIC8vIFJlbmRlclRhYmxlQ29sX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKaW5kZXggNjQ3MGU2ZjJiNmQwNTRh
MzIyOGU3OWQ5ZTkwMGI3YzRmZjUwNzEzNS4uNzViZWNiNTI0OGYyMWRmOTE0OWM4MGZiOGZmMjNh
ZGJiYjUwMjdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgK
QEAgLTE0Myw0ICsxNDMsNiBAQCBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlUm93
OjpwcmV2aW91c1JvdygpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlUm93LCBpc1RhYmxlUm93
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZVJvd19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKaW5kZXggZWUyMzMwOTE2NDIwM2Q4MGY3MjJlY2Fh
ZDEzZjY5ZTk4Y2RhYWY5ZC4uYjRiMzBjMTY0ZWIwMmM3ZmYxZjI4OTc0ZGY5OGRkYmU5OGY3ODYx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaApA
QCAtMzUxLDQgKzM1MSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJsZVNl
Y3Rpb24sIGlzVGFibGVTZWN0aW9uKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlU2VjdGlvbiwgaXNU
YWJsZVNlY3Rpb24oKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlU2VjdGlvbl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCA4NDExNWEzM2UyYTE0NTU4NmYwNjRmNzJl
ZjU1OGQyM2MwMDllNTA2Li4wZWIyMzNjM2E1NTFjYzhkMzQ4YTQxNDg4MjY5Mzg1NmYyZjkyN2Iy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAgLTI1OSw0ICsyNTksNiBA
QCBpbmxpbmUgUmVuZGVyVGV4dCogVGV4dDo6cmVuZGVyZXIoKSBjb25zdAogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJUZXh0LCBpc1RleHQoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRleHRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCAyMTUwODQwMjMyY2VhNTRm
YWY0OTk1NmQ2YTVjOGEwZTM0NTAwYjk0Li5iOWMyYTM3Mzg5OGZkYzcxYmQ4N2ZkNWY5MDM0Yzlk
NDViMzAzMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2wuaApAQCAtMTA5LDcgKzEwOSw4IEBAIHB1YmxpYzoKIAogfTsKIAotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJU
ZXh0Q29udHJvbCwgaXNUZXh0Q29udHJvbCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyVGV4dENvbnRy
b2xfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sTXVsdGlMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xNdWx0aUxpbmUuaAppbmRleCA4NGFiMjI4YzlkY2E4OTM0NmM0OTIzMjQ2MWQyNTMyNGYzNGI4
YjMyLi42NDU1YzEwZmMwYjk4NjY3Zjg3ZjY1OGQ3ZDU1YWVjYmZmZWQwZDRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUu
aApAQCAtNTMsNiArNTMsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUsIGlzVGV4dEFyZWEoKSkKIAotfQorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSwgaXNUZXh0QXJlYSgpKQorCisjZW5kaWYg
Ly8gUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCmluZGV4IGZlYjgwNTFl
N2U4MTRhZmM4OTVkYjJkOTFmYjg4ZWIxNjg4MDU1YjQuLjYxYzA3ZDZiNWRjNWYyZTcyMjY5YTc0
ZDRiYTAyZTIzZGY0MDAzZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTExNSw2ICsxMTUsOSBAQCBwcml2
YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGV4dENvbnRyb2xJbm5lckJs
b2NrLCBpc1RleHRDb250cm9sSW5uZXJCbG9jaygpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUsIGlzVGV4dEZpZWxkKCkpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JF
TkRFUl9PQkpFQ1QoUmVuZGVyVGV4dENvbnRyb2xJbm5lckJsb2NrLCBpc1RleHRDb250cm9sSW5u
ZXJCbG9jaygpKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFn
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFnbWVudC5oCmlu
ZGV4IGIwM2Q0NjJkNWZkZGRkNTY5ZWZhMTQwZWE5ZTA4MDllYWQ5ZTM5NWYuLjZjMmFmMmJiZjNi
OWJmYzU2NjBmODVmZTI0NTFhZDZjNDM2OTljN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50LmgKQEAgLTc2LDQgKzc2LDYgQEAgUkVOREVSX09CSkVD
VF9UWVBFX0NBU1RTKFJlbmRlclRleHRGcmFnbWVudCwgaXNUZXh0KCkgJiYgdG9SZW5kZXJUZXh0
KHJlbmRlcmVyKS4KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGV4dEZyYWdtZW50LCBpc1RleHQoKSAmJiB0b1Jl
bmRlclRleHQocmVuZGVyZXIpLmlzVGV4dEZyYWdtZW50KCkpCisKICNlbmRpZiAvLyBSZW5kZXJU
ZXh0RnJhZ21lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAppbmRleCA0
N2I1MDE1OGVlODI0YjU0OTFjNzUzNjU2ZjRhMjNiYzdlYzAzNTM0Li41NGFlM2YwNWJhMTBmOTUx
NDE3ZmQ2NjljOTY0YzQwMTJkYTI4NzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlkZW8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VmlkZW8uaApAQCAtOTQsNSArOTQsNyBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
VmlkZW8sIGlzVmlkZW8oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJWaWRlbywgaXNWaWRlbygp
KQorCisjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQogI2VuZGlmIC8vIFJlbmRlclZpZGVvX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IGQyY2UwN2Q5NjY5NWU3NzA0YWNj
NDZiMDIzOWZiYzI1NzQwYTI4YTQuLjU2N2M1M2ZiNTY4YjY4MDY3YmM5MTJjNDMzNjg5ZjA1Zjlj
MTAyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtNDU2LDQgKzQ1
Niw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclZpZXcsIGlzUmVuZGVyVmlldygpKQorCiAj
ZW5kaWYgLy8gUmVuZGVyVmlld19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV2lkZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0
LmgKaW5kZXggMTU3ODFmNjBhZDI4Yjg5ZDFkMGNkN2E5MjU1YzU4MmVkNTJkZmI2OC4uYjI3YWU5
YWUzY2ZiMGM1ZWYzMDJkMWM1MWM2OTE2YmZhZDU3NjcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJXaWRnZXQuaApAQCAtMTA4LDQgKzEwOCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJXaWRnZXQsIGlzV2lkZ2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlcldpZGdldCwg
aXNXaWRnZXQoKSkKKwogI2VuZGlmIC8vIFJlbmRlcldpZGdldF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKaW5kZXggZjQxNTAw
ZTc2YTIyOWE3MmI5ZmMzZmI4ZjQyMmE1YjNlNGJiNDVmYy4uYzk0YTIxZDdkYmMyNzRlOTgzZGI4
ZTc2MGYyZjUxMDYyN2EwNGFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaApAQCAtNjksOCArNjksNiBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogfTsK
IAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTEJsb2NrLCBpc1JlbmRlck1h
dGhNTEJsb2NrKCkpCi0KIGNsYXNzIFJlbmRlck1hdGhNTFRhYmxlIGZpbmFsIDogcHVibGljIFJl
bmRlclRhYmxlIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXRoTUxUYWJsZShFbGVt
ZW50JiBlbGVtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxlPiBzdHlsZSkKQEAgLTg1LDEyICs4Mywx
NCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxUYWJsZSI7IH0KIH07CiAKLVJFTkRFUl9P
QkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxUYWJsZSwgaXNSZW5kZXJNYXRoTUxUYWJsZSgp
KQotCiAvLyBQYXJzaW5nIGZ1bmN0aW9ucyBmb3IgTWF0aE1MIExlbmd0aCB2YWx1ZXMKIGJvb2wg
cGFyc2VNYXRoTUxMZW5ndGgoY29uc3QgU3RyaW5nJiwgTGF5b3V0VW5pdCYsIGNvbnN0IFJlbmRl
clN0eWxlKiwgYm9vbCBhbGxvd05lZ2F0aXZlID0gdHJ1ZSk7CiBib29sIHBhcnNlTWF0aE1MTmFt
ZWRTcGFjZShjb25zdCBTdHJpbmcmLCBMYXlvdXRVbml0JiwgY29uc3QgUmVuZGVyU3R5bGUqLCBi
b29sIGFsbG93TmVnYXRpdmUgPSB0cnVlKTsKLX0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MQmxvY2ss
IGlzUmVuZGVyTWF0aE1MQmxvY2soKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJNYXRoTUxUYWJsZSwgaXNSZW5kZXJNYXRoTUxUYWJsZSgpKQogCiAjZW5kaWYg
Ly8gRU5BQkxFKE1BVEhNTCkKICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxCbG9ja19oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5j
cHAKaW5kZXggMzFkZWZmMTgyMjk3ZTRiZjljZDgwNWFkODJkNTc4OGZhZmQxOGQyYi4uYTg0OTM1
YWVhZWJiMTBhMDdjYmQ0ZWFkOWRjYmJhZTBkNGRhZTk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcApAQCAtNzgs
NyArNzgsNyBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6dXBkYXRlRnJvbUVsZW1lbnQoKQog
ICAgICAgICBtYWtlRmVuY2VzKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUg
bWZlbmNlZCBlbGVtZW50IGZhaWxzIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0cyBvcGVu
LCBjbG9zZSBhbmQgc2VwYXJhdG9ycyBhdHRyaWJ1dGVzIGFyZSBjaGFuZ2VkIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc2OTYpLgotICAgICAgICB0b1JlbmRlck1h
dGhNTE9wZXJhdG9yKGZpcnN0Q2hpbGQoKSktPnVwZGF0ZVRva2VuQ29udGVudChtX29wZW4pOwor
ICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKmZpcnN0Q2hpbGQoKSkudXBk
YXRlVG9rZW5Db250ZW50KG1fb3Blbik7CiAgICAgICAgIG1fY2xvc2VGZW5jZVJlbmRlcmVyLT51
cGRhdGVUb2tlbkNvbnRlbnQobV9jbG9zZSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAppbmRl
eCBjY2VjNDFlZGZiOGE3MTc2M2MwNWFhMjAwY2QzYWQ2ZThjOThhYzU2Li5iNWVmMjdmZWQzNjM1
OGExMzliNTExM2JlZTk0ODBjMWZlMWQyOGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcApAQCAtMTIwLDEx
ICsxMjAsMTEgQEAgUmVuZGVyTWF0aE1MT3BlcmF0b3IqIFJlbmRlck1hdGhNTEZyYWN0aW9uOjp1
bmVtYmVsbGlzaGVkT3BlcmF0b3IoKQogewogICAgIFJlbmRlck9iamVjdCogbnVtZXJhdG9yV3Jh
cHBlciA9IGZpcnN0Q2hpbGQoKTsKICAgICBpZiAoIW51bWVyYXRvcldyYXBwZXIpCi0gICAgICAg
IHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBSZW5kZXJPYmplY3QqIG51
bWVyYXRvciA9IG51bWVyYXRvcldyYXBwZXItPmZpcnN0Q2hpbGRTbG93KCk7Ci0gICAgaWYgKCFu
dW1lcmF0b3IgfHwgIW51bWVyYXRvci0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKQotICAgICAgICBy
ZXR1cm4gMDsKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxCbG9jayhudW1lcmF0b3IpLT51bmVt
YmVsbGlzaGVkT3BlcmF0b3IoKTsKKyAgICBpZiAoIWlzPFJlbmRlck1hdGhNTEJsb2NrPihudW1l
cmF0b3IpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVu
ZGVyTWF0aE1MQmxvY2s+KCpudW1lcmF0b3IpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwogfQog
CiB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpsYXlvdXQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCmluZGV4IDY5
MjJkMjlmZTU1OWU2OTIxNzMyNTI3MjJkYTk4MDUxZjIxMjcwYmIuLjhmMmM3MTc5MzlkMTIyYmI2
NDY5MThlZGUzYzlmZmNjNWRiODYwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKQEAgLTU4LDkgKzU4LDkgQEAg
cHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1fbGluZVRoaWNrbmVzczsKIH07CiAKLVJFTkRFUl9P
QkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxGcmFjdGlvbiwgaXNSZW5kZXJNYXRoTUxGcmFj
dGlvbigpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJB
SVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MRnJhY3Rpb24sIGlzUmVuZGVyTWF0aE1MRnJh
Y3Rpb24oKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAppbmRleCBj
MjA5ODc4Nzc0ZjgwODc3OGY3NDQ2ZWRhZDNiNGEyYTNkNGNkYjcxLi41MzYxYmY0ZWRiOWYwMDM1
ODBhNzhkZTA5MzcyNjJiMzE1OTZlMzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCkBAIC0xODksOSArMTg5LDkg
QEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBTZXRPcGVyYXRvclByb3BlcnRpZXMoKTsK
IH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxPcGVyYXRvciwgaXNS
ZW5kZXJNYXRoTUxPcGVyYXRvcigpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MT3BlcmF0b3IsIGlz
UmVuZGVyTWF0aE1MT3BlcmF0b3IoKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAjZW5k
aWYgLy8gUmVuZGVyTWF0aE1MT3BlcmF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLmgKaW5k
ZXggNDBhYTlmOGNhMzI3NzJjYjcyZTliNGIwNTg3NTNmMTEwYzdhNTcwMy4uYmMzYjRiZTFiZWUz
MTdiOTEyYTU1ZjQ3ZGNlNjY4OGE3OWFjOWMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvci5o
CkBAIC00OCw5ICs0OCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBTZXRPcGVyYXRvclByb3BlcnRp
ZXMoKSBvdmVycmlkZTsKIH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRo
TUxSYWRpY2FsT3BlcmF0b3IsIGlzUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yKCkpCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IsIGlzUmVuZGVyTWF0aE1MUmFkaWNhbE9w
ZXJhdG9yKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogI2VuZGlmIC8vIFJlbmRlck1h
dGhNTFJhZGljYWxPcGVyYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcAppbmRleCAyNzU2MzQ5MjU1MjBkOGJlOGYwMDA3
Y2UzOGFkYTE4YjIzNzcwNzY3Li4yODA2MzkwNjhkNTZhZDkwYTI3OTI0MmY3NWY5YTcwOTc5ZTg0
NDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFJvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MUm9vdC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIK
ICNpbmNsdWRlICJSZW5kZXJJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFJhZGlj
YWxPcGVyYXRvci5oIgorI2luY2x1ZGUgIlJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIApAQCAtNjcsMjUgKzY4LDI1IEBAIFJlbmRlck1hdGhNTFJv
b3Q6OlJlbmRlck1hdGhNTFJvb3QoRG9jdW1lbnQmIGRvY3VtZW50LCBQYXNzUmVmPFJlbmRlclN0
eWxlPiBzdHlsCiBSZW5kZXJNYXRoTUxSb290V3JhcHBlciogUmVuZGVyTWF0aE1MUm9vdDo6YmFz
ZVdyYXBwZXIoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNFbXB0eSgpKTsKLSAgICByZXR1cm4g
dG9SZW5kZXJNYXRoTUxSb290V3JhcHBlcihsYXN0Q2hpbGQoKSk7CisgICAgcmV0dXJuIGRvd25j
YXN0PFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyPihsYXN0Q2hpbGQoKSk7CiB9CiAKIFJlbmRlck1h
dGhNTEJsb2NrKiBSZW5kZXJNYXRoTUxSb290OjpyYWRpY2FsV3JhcHBlcigpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKCFpc0VtcHR5KCkpOwotICAgIHJldHVybiB0b1JlbmRlck1hdGhNTEJsb2NrKGxh
c3RDaGlsZCgpLT5wcmV2aW91c1NpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRl
ck1hdGhNTEJsb2NrPihsYXN0Q2hpbGQoKS0+cHJldmlvdXNTaWJsaW5nKCkpOwogfQogCiBSZW5k
ZXJNYXRoTUxSb290V3JhcHBlciogUmVuZGVyTWF0aE1MUm9vdDo6aW5kZXhXcmFwcGVyKCkgY29u
c3QKIHsKICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIGlzUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdCgpID8gbnVsbHB0ciA6IHRvUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIoZmlyc3RD
aGlsZCgpKTsKKyAgICByZXR1cm4gaXM8UmVuZGVyTWF0aE1MU3F1YXJlUm9vdD4oKnRoaXMpID8g
bnVsbHB0ciA6IGRvd25jYXN0PFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyPihmaXJzdENoaWxkKCkp
OwogfQogCiBSZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IqIFJlbmRlck1hdGhNTFJvb3Q6OnJh
ZGljYWxPcGVyYXRvcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwotICAgIHJl
dHVybiB0b1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvcihyYWRpY2FsV3JhcHBlcigpLT5maXJz
dENoaWxkKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0
b3I+KHJhZGljYWxXcmFwcGVyKCktPmZpcnN0Q2hpbGQoKSk7CiB9CiAKIHZvaWQgUmVuZGVyTWF0
aE1MUm9vdDo6cmVzdHJ1Y3R1cmVXcmFwcGVycygpCkBAIC0zNTgsNyArMzU5LDcgQEAgUmVuZGVy
T2JqZWN0KiBSZW5kZXJNYXRoTUxSb290V3JhcHBlcjo6cmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0
JiBjaGlsZCkKICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSBSZW5kZXJNYXRoTUxCbG9jazo6cmVt
b3ZlQ2hpbGQoY2hpbGQpOwogCiAgICAgaWYgKCEoYmVpbmdEZXN0cm95ZWQoKSB8fCBkb2N1bWVu
dEJlaW5nRGVzdHJveWVkKCkpKQotICAgICAgICB0b1JlbmRlck1hdGhNTFJvb3QocGFyZW50KCkp
LT5yZXN0cnVjdHVyZVdyYXBwZXJzKCk7CisgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTFJv
b3Q+KCpwYXJlbnQoKSkucmVzdHJ1Y3R1cmVXcmFwcGVycygpOwogCiAgICAgcmV0dXJuIG5leHQ7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFJvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
Um9vdC5oCmluZGV4IGZlOTNkZWU4NjYzN2Q5MTYzODk1MDk0MzE3YjI2MTYxODUzMWRmOGIuLmFm
MDAwYTcyYzM5MzcwYWVjMmYzODIyNWRlNTk2NTNjNWNjY2JlOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCkBAIC03MSw4ICs3
MSw2IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBtX2V4dHJhQXNjZW5kZXI7CiAgICAgZmxv
YXQgbV9kZWdyZWVCb3R0b21SYWlzZVBlcmNlbnQ7CiB9OwotICAgIAotUkVOREVSX09CSkVDVF9U
WVBFX0NBU1RTKFJlbmRlck1hdGhNTFJvb3QsIGlzUmVuZGVyTWF0aE1MUm9vdCgpKQogCiAvLyBU
aGVzZSBhcmUgc3BlY2lmaWMgd3JhcHBlcnMgZm9yIHRoZSBpbmRleCBhbmQgYmFzZSwgdGhhdCBh
c2sgdGhlIHBhcmVudCB0byByZXN0cnVjdHVyZSB0aGUgcmVuZGVyZXJzIGFmdGVyIGNoaWxkIHJl
bW92YWwuCiBjbGFzcyBSZW5kZXJNYXRoTUxSb290V3JhcHBlciA6IHB1YmxpYyBSZW5kZXJNYXRo
TUxSb3cgewpAQCAtOTEsOSArODksMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyTWF0aE1MUm9v
dFdyYXBwZXIiOyB9CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1M
Um9vdFdyYXBwZXIsIGlzUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIoKSkKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRl
ck1hdGhNTFJvb3QsIGlzUmVuZGVyTWF0aE1MUm9vdCgpKQorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyLCBpc1JlbmRlck1hdGhNTFJv
b3RXcmFwcGVyKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKaW5kZXggM2U4
MzM3OGU1MjIyYjQzMWQ4M2E0MmZjZjZjOTUwNjIyZTlmZWY0Ny4uY2YwNDlhZDVjZjUyMmVmYjVk
YWE5ODU3NGM2NDZhMGRhOTM0ODQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcApAQCAtNTgsOCArNTgsOCBAQCBSZW5kZXJQ
dHI8UmVuZGVyTWF0aE1MUm93PiBSZW5kZXJNYXRoTUxSb3c6OmNyZWF0ZUFub255bW91c1dpdGhQ
YXJlbnRSZW5kZXJlcihSZQogdm9pZCBSZW5kZXJNYXRoTUxSb3c6OnVwZGF0ZU9wZXJhdG9yUHJv
cGVydGllcygpCiB7CiAgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoY2hp
bGQtPmlzUmVuZGVyTWF0aE1MQmxvY2soKSkgewotICAgICAgICAgICAgaWYgKGF1dG8gcmVuZGVy
T3BlcmF0b3IgPSB0b1JlbmRlck1hdGhNTEJsb2NrKGNoaWxkKS0+dW5lbWJlbGxpc2hlZE9wZXJh
dG9yKCkpCisgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxCbG9jaz4oKmNoaWxkKSkgeworICAg
ICAgICAgICAgaWYgKGF1dG8qIHJlbmRlck9wZXJhdG9yID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1M
QmxvY2s+KCpjaGlsZCkudW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkpCiAgICAgICAgICAgICAgICAg
cmVuZGVyT3BlcmF0b3ItPnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcygpOwogICAgICAgICB9CiAg
ICAgfQpAQCAtNzEsMjYgKzcxLDI2IEBAIHZvaWQgUmVuZGVyTWF0aE1MUm93OjpsYXlvdXQoKQog
ICAgIGludCBzdHJldGNoSGVpZ2h0QWJvdmVCYXNlbGluZSA9IDAsIHN0cmV0Y2hEZXB0aEJlbG93
QmFzZWxpbmUgPSAwOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQo
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKGNo
aWxkLT5uZWVkc0xheW91dCgpKQotICAgICAgICAgICAgdG9SZW5kZXJFbGVtZW50KGNoaWxkKS0+
bGF5b3V0KCk7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKSB7Cisg
ICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqY2hpbGQpLmxheW91dCgpOworICAg
ICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkpIHsKICAgICAgICAgICAgIC8v
IFdlIHNraXAgdGhlIHN0cmV0Y2h5IG9wZXJhdG9ycyBhcyB0aGV5IG11c3Qgbm90IGJlIGluY2x1
ZGVkIGluIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgc3RyZXRjaCBzaXplLgotICAgICAgICAgICAg
YXV0byByZW5kZXJPcGVyYXRvciA9IHRvUmVuZGVyTWF0aE1MQmxvY2soY2hpbGQpLT51bmVtYmVs
bGlzaGVkT3BlcmF0b3IoKTsKKyAgICAgICAgICAgIGF1dG8qIHJlbmRlck9wZXJhdG9yID0gZG93
bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkudW5lbWJlbGxpc2hlZE9wZXJhdG9yKCk7
CiAgICAgICAgICAgICBpZiAocmVuZGVyT3BlcmF0b3IgJiYgcmVuZGVyT3BlcmF0b3ItPmhhc09w
ZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KSkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBMYXlvdXRVbml0IGNoaWxkSGVp
Z2h0QWJvdmVCYXNlbGluZSA9IDAsIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gMDsKLSAgICAg
ICAgaWYgKGNoaWxkLT5pc1JlbmRlck1hdGhNTEJsb2NrKCkpIHsKLSAgICAgICAgICAgIFJlbmRl
ck1hdGhNTEJsb2NrKiBtYXRobWxDaGlsZCA9IHRvUmVuZGVyTWF0aE1MQmxvY2soY2hpbGQpOwot
ICAgICAgICAgICAgY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gbWF0aG1sQ2hpbGQtPmZpcnN0
TGluZUJhc2VsaW5lKCk7CisgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxCbG9jaz4oKmNoaWxk
KSkgeworICAgICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2smIG1hdGhtbENoaWxkID0gZG93bmNh
c3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCk7CisgICAgICAgICAgICBjaGlsZEhlaWdodEFi
b3ZlQmFzZWxpbmUgPSBtYXRobWxDaGlsZC5maXJzdExpbmVCYXNlbGluZSgpOwogICAgICAgICAg
ICAgaWYgKGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9PSAtMSkKLSAgICAgICAgICAgICAgICBj
aGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSBtYXRobWxDaGlsZC0+bG9naWNhbEhlaWdodCgpOwot
ICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxpbmUgPSBtYXRobWxDaGlsZC0+bG9naWNh
bEhlaWdodCgpIC0gY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lOwotICAgICAgICB9IGVsc2UgaWYg
KGNoaWxkLT5pc1JlbmRlck1hdGhNTFRhYmxlKCkpIHsKLSAgICAgICAgICAgIFJlbmRlck1hdGhN
TFRhYmxlKiB0YWJsZUNoaWxkID0gdG9SZW5kZXJNYXRoTUxUYWJsZShjaGlsZCk7Ci0gICAgICAg
ICAgICBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSB0YWJsZUNoaWxkLT5maXJzdExpbmVCYXNl
bGluZSgpOwotICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxpbmUgPSB0YWJsZUNoaWxk
LT5sb2dpY2FsSGVpZ2h0KCkgLSBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmU7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoY2hpbGQtPmlzQm94KCkpIHsKLSAgICAgICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVC
YXNlbGluZSA9IHRvUmVuZGVyQm94KGNoaWxkKS0+bG9naWNhbEhlaWdodCgpOworICAgICAgICAg
ICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IG1hdGhtbENoaWxkLmxvZ2ljYWxIZWln
aHQoKTsKKyAgICAgICAgICAgIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gbWF0aG1sQ2hpbGQu
bG9naWNhbEhlaWdodCgpIC0gY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lOworICAgICAgICB9IGVs
c2UgaWYgKGlzPFJlbmRlck1hdGhNTFRhYmxlPigqY2hpbGQpKSB7CisgICAgICAgICAgICBSZW5k
ZXJNYXRoTUxUYWJsZSYgdGFibGVDaGlsZCA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFRhYmxlPigq
Y2hpbGQpOworICAgICAgICAgICAgY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gdGFibGVDaGls
ZC5maXJzdExpbmVCYXNlbGluZSgpOworICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxp
bmUgPSB0YWJsZUNoaWxkLmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGlu
ZTsKKyAgICAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJCb3g+KCpjaGlsZCkpIHsKKyAgICAgICAg
ICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IGRvd25jYXN0PFJlbmRlckJveD4oKmNoaWxk
KS5sb2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgICAgICBjaGlsZERlcHRoQmVsb3dCYXNlbGluZSA9
IDA7CiAgICAgICAgIH0KICAgICAgICAgc3RyZXRjaEhlaWdodEFib3ZlQmFzZWxpbmUgPSBzdGQ6
Om1heDxMYXlvdXRVbml0PihzdHJldGNoSGVpZ2h0QWJvdmVCYXNlbGluZSwgY2hpbGRIZWlnaHRB
Ym92ZUJhc2VsaW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MUm93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFJvdy5oCmluZGV4IDU3MzJlYzE3ZGU2NTdiZGJkNTZhNzVlZTMxNmUwOWUzZmFh
MDdmMDIuLmJhNWRmODgyNTdkNjhkYmQxNDAyMTQ2YzFjZTBlZjVhMDc3ODcwMjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuaApAQCAt
NTAsOSArNTAsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFt
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzQW5vbnltb3VzKCkgPyAiUmVuZGVyTWF0aE1M
Um93IChhbm9ueW1vdXMpIiA6ICJSZW5kZXJNYXRoTUxSb3ciOyB9CiB9OwogCi1SRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MUm93LCBpc1JlbmRlck1hdGhNTFJvdygpKQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9P
QkpFQ1QoUmVuZGVyTWF0aE1MUm93LCBpc1JlbmRlck1hdGhNTFJvdygpKQogCiAjZW5kaWYgLy8g
RU5BQkxFKE1BVEhNTCkKICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxSb3dfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAK
aW5kZXggMGM0Y2IxYmRiNjEyMjhkMGM1ZjhjZmQyMjQzM2UzNWMxMDI2MDAyMy4uZGZhNDRmZThi
M2RmOTg1ZDBmYTM4M2EyYmI2MmM5MmYwZjUxNzAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwCkBAIC0xNTMs
MTAgKzE1MywxMCBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlwdHM6OmFkZENoaWxkSW50ZXJuYWwo
Ym9vbCBkb05vdFJlc3RydWN0dXJlLCBSZW5kZXJPYmplY3QqCiAgICAgICAgIC8vIGJlZm9yZUNo
aWxkIG1heSBiZSBhIGdyYW5kY2hpbGQsIHNvIHdlIGNhbGwgdGhlIGFkZENoaWxkIGZ1bmN0aW9u
IG9mIHRoZSBjb3JyZXNwb25kaW5nIHdyYXBwZXIgaW5zdGVhZC4KICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBwYXJlbnQgPSBiZWZvcmVDaGlsZC0+cGFyZW50KCk7CiAgICAgICAgIGlmIChwYXJlbnQg
IT0gdGhpcykgewotICAgICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2sqIHBhcmVudEJsb2NrID0g
dG9SZW5kZXJNYXRoTUxCbG9jayhwYXJlbnQpOwotICAgICAgICAgICAgaWYgKHBhcmVudEJsb2Nr
LT5pc1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5k
ZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBlciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dy
YXBwZXIocGFyZW50QmxvY2spOwotICAgICAgICAgICAgICAgIHdyYXBwZXItPmFkZENoaWxkSW50
ZXJuYWwoZmFsc2UsIGNoaWxkLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICBSZW5kZXJNYXRo
TUxCbG9jayYgcGFyZW50QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4oKnBhcmVu
dCk7CisgICAgICAgICAgICBpZiAocGFyZW50QmxvY2suaXNSZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlcigpKSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHdy
YXBwZXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcj4ocGFyZW50QmxvY2sp
OworICAgICAgICAgICAgICAgIHdyYXBwZXIuYWRkQ2hpbGRJbnRlcm5hbChmYWxzZSwgY2hpbGQs
IGJlZm9yZUNoaWxkKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KQEAgLTE3NiwxMiArMTc2LDEyIEBAIHZvaWQgUmVuZGVyTWF0aE1MU2NyaXB0czo6
YWRkQ2hpbGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlbmRlck9iamVjdCoKIAog
ICAgIGlmICghYmVmb3JlQ2hpbGQgfHwgaXNQcmVzY3JpcHQoYmVmb3JlQ2hpbGQpKSB7CiAgICAg
ICAgIC8vIFdlIGFyZSBhdCB0aGUgZW5kIG9mIGEgc2VxdWVuY2Ugb2Ygc3ViU3VwIHBhaXJzLgot
ICAgICAgICBSZW5kZXJNYXRoTUxCbG9jayogcHJldmlvdXNTaWJsaW5nID0gdG9SZW5kZXJNYXRo
TUxCbG9jayhiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSA6IGxh
c3RDaGlsZCgpKTsKLSAgICAgICAgaWYgKHByZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxp
bmctPmlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoKSkgewotICAgICAgICAgICAgUmVuZGVy
TWF0aE1MU2NyaXB0c1dyYXBwZXIqIHdyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyKHByZXZpb3VzU2libGluZyk7Ci0gICAgICAgICAgICBpZiAoKHdyYXBwZXItPm1fa2luZCA9
PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6QmFzZSAmJiB3cmFwcGVyLT5pc0VtcHR5KCkp
IHx8ICh3cmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1
cFBhaXIgJiYgIXdyYXBwZXItPmZpcnN0Q2hpbGQoKS0+bmV4dFNpYmxpbmcoKSkpIHsKKyAgICAg
ICAgUmVuZGVyTWF0aE1MQmxvY2sqIHByZXZpb3VzU2libGluZyA9IGRvd25jYXN0PFJlbmRlck1h
dGhNTEJsb2NrPihiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSA6
IGxhc3RDaGlsZCgpKTsKKyAgICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVy
PihwcmV2aW91c1NpYmxpbmcpKSB7CisgICAgICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlciYgd3JhcHBlciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqcHJl
dmlvdXNTaWJsaW5nKTsKKyAgICAgICAgICAgIGlmICgod3JhcHBlci5tX2tpbmQgPT0gUmVuZGVy
TWF0aE1MU2NyaXB0c1dyYXBwZXI6OkJhc2UgJiYgd3JhcHBlci5pc0VtcHR5KCkpIHx8ICh3cmFw
cGVyLm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3VwUGFpciAmJiAh
d3JhcHBlci5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpKSB7CiAgICAgICAgICAgICAgICAg
Ly8gVGhlIHByZXZpb3VzIHNpYmxpbmcgaXMgZWl0aGVyIGFuIGVtcHR5IGJhc2Ugb3IgYSBTdWJT
dXAgcGFpciB3aXRoIGEgc2luZ2xlIGNoaWxkIHNvIHdlIGNhbiBpbnNlcnQgdGhlIG5ldyBjaGls
ZCBpbnRvIHRoYXQgd3JhcHBlci4KLSAgICAgICAgICAgICAgICB3cmFwcGVyLT5hZGRDaGlsZElu
dGVybmFsKHRydWUsIGNoaWxkKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyLmFkZENoaWxkSW50
ZXJuYWwodHJ1ZSwgY2hpbGQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQpAQCAtMTkzLDEwICsxOTMsMTAgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3Jp
cHRzOjphZGRDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2JqZWN0
KgogICAgIH0KIAogICAgIC8vIGJlZm9yZUNoaWxkIGlzIGEgc3ViU3VwIHBhaXIuIFRoaXMgaXMg
bGlrZSBpbnNlcnRpbmcgdGhlIG5ldyBjaGlsZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdWJT
dXAgd3JhcHBlci4KLSAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBlciA9IHRv
UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoYmVmb3JlQ2hpbGQpOwotICAgIEFTU0VSVCh3cmFw
cGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIpOwor
ICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiB3cmFwcGVyID0gZG93bmNhc3Q8UmVuZGVy
TWF0aE1MU2NyaXB0c1dyYXBwZXI+KCpiZWZvcmVDaGlsZCk7CisgICAgQVNTRVJUKHdyYXBwZXIu
bV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpTdWJTdXBQYWlyKTsKICAgICBB
U1NFUlQoIShtX2Jhc2VXcmFwcGVyLT5pc0VtcHR5KCkgJiYgbV9iYXNlV3JhcHBlci0+bmV4dFNp
YmxpbmcoKSA9PSBiZWZvcmVDaGlsZCkpOwotICAgIHdyYXBwZXItPmFkZENoaWxkSW50ZXJuYWwo
ZmFsc2UsIGNoaWxkLCB3cmFwcGVyLT5maXJzdENoaWxkKCkpOworICAgIHdyYXBwZXIuYWRkQ2hp
bGRJbnRlcm5hbChmYWxzZSwgY2hpbGQsIHdyYXBwZXIuZmlyc3RDaGlsZCgpKTsKIH0KIAogUmVu
ZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3JpcHRzOjpyZW1vdmVDaGlsZEludGVybmFsKGJvb2wg
ZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2JqZWN0JiBjaGlsZCkKQEAgLTIxMSwxMyArMjExLDEz
IEBAIFJlbmRlck9iamVjdCogUmVuZGVyTWF0aE1MU2NyaXB0czo6cmVtb3ZlQ2hpbGRJbnRlcm5h
bChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlCiAgICAgQVNTRVJUKHByZXZpb3VzU2libGluZyk7
CiAKICAgICBpZiAobmV4dFNpYmxpbmcgJiYgIWlzUHJlc2NyaXB0KHByZXZpb3VzU2libGluZykg
JiYgIWlzUHJlc2NyaXB0KG5leHRTaWJsaW5nKSkgewotICAgICAgICBSZW5kZXJNYXRoTUxTY3Jp
cHRzV3JhcHBlciogcHJldmlvdXNXcmFwcGVyID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBl
cihwcmV2aW91c1NpYmxpbmcpOwotICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciog
bmV4dFdyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKG5leHRTaWJsaW5nKTsK
LSAgICAgICAgQVNTRVJUKG5leHRXcmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0
c1dyYXBwZXI6OlN1YlN1cFBhaXIgJiYgIW5leHRXcmFwcGVyLT5pc0VtcHR5KCkpOwotICAgICAg
ICBpZiAoKHByZXZpb3VzV3JhcHBlci0+bV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyOjpCYXNlICYmIHByZXZpb3VzV3JhcHBlci0+aXNFbXB0eSgpKSB8fCAocHJldmlvdXNXcmFw
cGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIgJiYg
IXByZXZpb3VzV3JhcHBlci0+Zmlyc3RDaGlsZCgpLT5uZXh0U2libGluZygpKSkgewotICAgICAg
ICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBuZXh0V3JhcHBlci0+Zmlyc3RDaGlsZCgpOwot
ICAgICAgICAgICAgbmV4dFdyYXBwZXItPnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpzY3Jp
cHQpOwotICAgICAgICAgICAgcHJldmlvdXNXcmFwcGVyLT5hZGRDaGlsZEludGVybmFsKHRydWUs
IHNjcmlwdCk7CisgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiBwcmV2aW91c1dy
YXBwZXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcj4oKnByZXZpb3VzU2li
bGluZyk7CisgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiBuZXh0V3JhcHBlciA9
IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqbmV4dFNpYmxpbmcpOworICAg
ICAgICBBU1NFUlQobmV4dFdyYXBwZXIubV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyOjpTdWJTdXBQYWlyICYmICFuZXh0V3JhcHBlci5pc0VtcHR5KCkpOworICAgICAgICBpZiAo
KHByZXZpb3VzV3JhcHBlci5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OkJh
c2UgJiYgcHJldmlvdXNXcmFwcGVyLmlzRW1wdHkoKSkgfHwgKHByZXZpb3VzV3JhcHBlci5tX2tp
bmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIgJiYgIXByZXZpb3Vz
V3JhcHBlci5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpKSB7CisgICAgICAgICAgICBSZW5k
ZXJPYmplY3QqIHNjcmlwdCA9IG5leHRXcmFwcGVyLmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAg
IG5leHRXcmFwcGVyLnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpzY3JpcHQpOworICAgICAg
ICAgICAgcHJldmlvdXNXcmFwcGVyLmFkZENoaWxkSW50ZXJuYWwodHJ1ZSwgc2NyaXB0KTsKICAg
ICAgICAgfQogICAgIH0KIApAQCAtMjYxLDkgKzI2MSw5IEBAIHZvaWQgUmVuZGVyTWF0aE1MU2Ny
aXB0czo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0
eWxlCiBSZW5kZXJNYXRoTUxPcGVyYXRvciogUmVuZGVyTWF0aE1MU2NyaXB0czo6dW5lbWJlbGxp
c2hlZE9wZXJhdG9yKCkKIHsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogYmFzZSA9IHRoaXMt
PmJhc2UoKTsKLSAgICBpZiAoIWJhc2UgfHwgIWJhc2UtPmlzUmVuZGVyTWF0aE1MQmxvY2soKSkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHRvUmVuZGVyTWF0aE1MQmxvY2soYmFzZSkt
PnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOworICAgIGlmICghaXM8UmVuZGVyTWF0aE1MQmxvY2s+
KGJhc2UpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVu
ZGVyTWF0aE1MQmxvY2s+KCpiYXNlKS51bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKIH0KIAogdm9p
ZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXQoKQpAQCAtMzAyLDggKzMwMiw4IEBAIHZvaWQg
UmVuZGVyTWF0aE1MU2NyaXB0czo6bGF5b3V0KCkKICAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgo
c2NyaXB0RWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShNYXRoTUxOYW1lczo6c3VwZXJzY3JpcHRz
aGlmdEF0dHIpLCBzdXBlcnNjcmlwdFNoaWZ0VmFsdWUsICZzdHlsZSgpLCBmYWxzZSk7CiAKICAg
ICBib29sIGlzUG9zdFNjcmlwdCA9IHRydWU7Ci0gICAgUmVuZGVyTWF0aE1MQmxvY2sqIHN1YlN1
cFBhaXIgPSB0b1JlbmRlck1hdGhNTEJsb2NrKG1fYmFzZVdyYXBwZXItPm5leHRTaWJsaW5nKCkp
OwotICAgIGZvciAoOyBzdWJTdXBQYWlyOyBzdWJTdXBQYWlyID0gdG9SZW5kZXJNYXRoTUxCbG9j
ayhzdWJTdXBQYWlyLT5uZXh0U2libGluZygpKSkgeworICAgIFJlbmRlck1hdGhNTEJsb2NrKiBz
dWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KG1fYmFzZVdyYXBwZXItPm5l
eHRTaWJsaW5nKCkpOworICAgIGZvciAoOyBzdWJTdXBQYWlyOyBzdWJTdXBQYWlyID0gZG93bmNh
c3Q8UmVuZGVyTWF0aE1MQmxvY2s+KHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpKSB7CiAKICAg
ICAgICAgLy8gV2Ugc2tpcCB0aGUgYmFzZSBhbmQgPG1wcmVzY3JpcHRzLz4gZWxlbWVudHMuCiAg
ICAgICAgIGlmIChpc1ByZXNjcmlwdChzdWJTdXBQYWlyKSkgewpAQCAtMzgxLDcgKzM4MSw3IEBA
IHZvaWQgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkSW50ZXJuYWwoYm9vbCBk
b05vdFJlc3RydWN0dXJlLCBSZW5kZXJPCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBS
ZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzKHBh
cmVudCgpKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gZG93bmNhc3Q8
UmVuZGVyTWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwogCiAgICAgaWYgKG1fa2luZCA9PSBCYXNl
KSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogc2libGluZyA9IG5leHRTaWJsaW5nKCk7CkBAIC00
MzIsNyArNDMyLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6YWRkQ2hpbGRJ
bnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlbmRlck8KICAgICAvLyBXZSBmaXJzdCBt
b3ZlIHRvIHRoZSBsYXN0IHN1YlN1cCBwYWlyIGluIHRoZSBjdXJlbnQgc2VxdWVuY2Ugb2Ygc2Ny
aXB0cy4KICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogc3ViU3VwUGFpciA9IHRoaXM7
CiAgICAgd2hpbGUgKHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkgJiYgIWlzUHJlc2NyaXB0KHN1
YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpKQotICAgICAgICBzdWJTdXBQYWlyID0gdG9SZW5kZXJN
YXRoTUxTY3JpcHRzV3JhcHBlcihzdWJTdXBQYWlyLT5uZXh0U2libGluZygpKTsKKyAgICAgICAg
c3ViU3VwUGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihzdWJTdXBQ
YWlyLT5uZXh0U2libGluZygpKTsKICAgICBpZiAoc3ViU3VwUGFpci0+Zmlyc3RDaGlsZCgpLT5u
ZXh0U2libGluZygpKSB7CiAgICAgICAgIC8vIFRoZSBsYXN0IHBhaXIgaGFzIHR3byBjaGlsZHJl
biBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBwYWlyIHRvIGxlYXZlIHJvb20gZm9yIHRoZSBu
ZXcgY2hpbGQuCiAgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBuZXdQYWlyID0g
Y3JlYXRlQW5vbnltb3VzV3JhcHBlcihwYXJlbnROb2RlLCBSZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlcjo6U3ViU3VwUGFpcik7CkBAIC00NDIsMjAgKzQ0MiwyMCBAQCB2b2lkIFJlbmRlck1hdGhN
TFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwg
UmVuZGVyTwogCiAgICAgLy8gV2Ugc2hpZnQgdGhlIHN1Y2Nlc3NvcnMgaW4gdGhlIGN1cnJlbnQg
c2VxdWVuY2Ugb2Ygc2NyaXB0cy4KICAgICBmb3IgKFJlbmRlck9iamVjdCogcHJldmlvdXNTaWJs
aW5nID0gc3ViU3VwUGFpci0+cHJldmlvdXNTaWJsaW5nKCk7IHN1YlN1cFBhaXIgIT0gdGhpczsg
cHJldmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLT5wcmV2aW91c1NpYmxpbmcoKSkgewot
ICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogcHJldmlvdXNTdWJTdXBQYWlyID0g
dG9SZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihwcmV2aW91c1NpYmxpbmcpOwotICAgICAgICBS
ZW5kZXJPYmplY3QqIHNjcmlwdCA9IHByZXZpb3VzU3ViU3VwUGFpci0+bGFzdENoaWxkKCk7Ci0g
ICAgICAgIHByZXZpb3VzU3ViU3VwUGFpci0+cmVtb3ZlQ2hpbGRJbnRlcm5hbCh0cnVlLCAqc2Ny
aXB0KTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHByZXZpb3VzU3ViU3Vw
UGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqcHJldmlvdXNTaWJs
aW5nKTsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBwcmV2aW91c1N1YlN1cFBhaXIu
bGFzdENoaWxkKCk7CisgICAgICAgIHByZXZpb3VzU3ViU3VwUGFpci5yZW1vdmVDaGlsZEludGVy
bmFsKHRydWUsICpzY3JpcHQpOwogICAgICAgICBzdWJTdXBQYWlyLT5hZGRDaGlsZEludGVybmFs
KHRydWUsIHNjcmlwdCwgc3ViU3VwUGFpci0+Zmlyc3RDaGlsZCgpKTsKLSAgICAgICAgc3ViU3Vw
UGFpciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIocHJldmlvdXNTaWJsaW5nKTsKKyAg
ICAgICAgc3ViU3VwUGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihw
cmV2aW91c1NpYmxpbmcpOwogICAgIH0KIAogICAgIC8vIFRoaXMgc3ViU3VwIHBhaXIgbm93IGNv
bnRhaW4gb25lIGVsZW1lbnQgd2hpY2ggaXMgZWl0aGVyIGJlZm9yZUNoaWxkIG9yIHRoZSBzY3Jp
cHQgdGhhdCB3YXMgYmVmb3JlLiBIZW5jZSB3ZSBjYW4gaW5zZXJ0IHRoZSBuZXcgY2hpbGQgYmVm
b3JlIG9mIGFmdGVyIHRoYXQgZWxlbWVudC4KLSAgICBSZW5kZXJNYXRoTUxCbG9jazo6YWRkQ2hp
bGQoY2hpbGQsIGZpcnN0Q2hpbGQoKSA9PSBiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkIDogMCk7
CisgICAgUmVuZGVyTWF0aE1MQmxvY2s6OmFkZENoaWxkKGNoaWxkLCBmaXJzdENoaWxkKCkgPT0g
YmVmb3JlQ2hpbGQgPyBiZWZvcmVDaGlsZCA6IG51bGxwdHIpOwogfQogCiB2b2lkIFJlbmRlck1h
dGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkKQogewotICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBhcmVudE5v
ZGUgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHMocGFyZW50KCkpOworICAgIFJlbmRlck1hdGhNTFNj
cmlwdHMqIHBhcmVudE5vZGUgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzPihwYXJlbnQo
KSk7CiAKICAgICBhZGRDaGlsZEludGVybmFsKGZhbHNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpOwog
CkBAIC00NjcsNyArNDY3LDcgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3QKICAgICBpZiAoZG9O
b3RSZXN0cnVjdHVyZSkKICAgICAgICAgcmV0dXJuIFJlbmRlck1hdGhNTEJsb2NrOjpyZW1vdmVD
aGlsZChjaGlsZCk7CiAKLSAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gdG9S
ZW5kZXJNYXRoTUxTY3JpcHRzKHBhcmVudCgpKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBw
YXJlbnROb2RlID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwogCiAg
ICAgaWYgKG1fa2luZCA9PSBCYXNlKSB7CiAgICAgICAgIC8vIFdlIHJlbW92ZSB0aGUgY2hpbGQg
ZnJvbSB0aGUgYmFzZSB3cmFwcGVyLgpAQCAtNDc1LDkgKzQ3NSw5IEBAIFJlbmRlck9iamVjdCog
UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OnJlbW92ZUNoaWxkSW50ZXJuYWwoYm9vbCBkb05v
dFJlc3RydWN0CiAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrOjpyZW1vdmVDaGlsZChjaGlsZCk7
CiAgICAgICAgIGlmIChzaWJsaW5nICYmICFpc1ByZXNjcmlwdChzaWJsaW5nKSkgewogICAgICAg
ICAgICAgLy8gSWYgdGhlcmUgYXJlIHBvc3RzY3JpcHRzLCB0aGUgZmlyc3Qgb25lIGJlY29tZXMg
dGhlIGJhc2UuCi0gICAgICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBl
ciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoc2libGluZyk7Ci0gICAgICAgICAgICBS
ZW5kZXJPYmplY3QqIHNjcmlwdCA9IHdyYXBwZXItPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgICAg
IHdyYXBwZXItPnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpzY3JpcHQpOworICAgICAgICAg
ICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHdyYXBwZXIgPSBkb3duY2FzdDxSZW5kZXJN
YXRoTUxTY3JpcHRzV3JhcHBlcj4oKnNpYmxpbmcpOworICAgICAgICAgICAgUmVuZGVyT2JqZWN0
KiBzY3JpcHQgPSB3cmFwcGVyLmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAgIHdyYXBwZXIucmVt
b3ZlQ2hpbGRJbnRlcm5hbChmYWxzZSwgKnNjcmlwdCk7CiAgICAgICAgICAgICBSZW5kZXJNYXRo
TUxCbG9jazo6YWRkQ2hpbGQoc2NyaXB0KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gc2li
bGluZzsKQEAgLTQ4NywxMSArNDg3LDExIEBAIFJlbmRlck9iamVjdCogUmVuZGVyTWF0aE1MU2Ny
aXB0c1dyYXBwZXI6OnJlbW92ZUNoaWxkSW50ZXJuYWwoYm9vbCBkb05vdFJlc3RydWN0CiAgICAg
UmVuZGVyT2JqZWN0KiBuZXh0ID0gUmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNoaWxkKGNoaWxk
KTsKICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogc3ViU3VwUGFpciA9IHRoaXM7CiAg
ICAgZm9yIChSZW5kZXJPYmplY3QqIG5leHRTaWJsaW5nID0gc3ViU3VwUGFpci0+bmV4dFNpYmxp
bmcoKTsgbmV4dFNpYmxpbmcgJiYgIWlzUHJlc2NyaXB0KG5leHRTaWJsaW5nKTsgbmV4dFNpYmxp
bmcgPSBuZXh0U2libGluZy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBSZW5kZXJNYXRoTUxT
Y3JpcHRzV3JhcHBlciogbmV4dFN1YlN1cFBhaXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyKG5leHRTaWJsaW5nKTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBuZXh0U3Vi
U3VwUGFpci0+Zmlyc3RDaGlsZCgpOwotICAgICAgICBuZXh0U3ViU3VwUGFpci0+cmVtb3ZlQ2hp
bGRJbnRlcm5hbCh0cnVlLCAqc2NyaXB0KTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dy
YXBwZXImIG5leHRTdWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXI+KCpuZXh0U2libGluZyk7CisgICAgICAgIFJlbmRlck9iamVjdCogc2NyaXB0ID0gbmV4dFN1
YlN1cFBhaXIuZmlyc3RDaGlsZCgpOworICAgICAgICBuZXh0U3ViU3VwUGFpci5yZW1vdmVDaGls
ZEludGVybmFsKHRydWUsICpzY3JpcHQpOwogICAgICAgICBzdWJTdXBQYWlyLT5hZGRDaGlsZElu
dGVybmFsKHRydWUsIHNjcmlwdCk7Ci0gICAgICAgIHN1YlN1cFBhaXIgPSB0b1JlbmRlck1hdGhN
TFNjcmlwdHNXcmFwcGVyKG5leHRTaWJsaW5nKTsKKyAgICAgICAgc3ViU3VwUGFpciA9IGRvd25j
YXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihuZXh0U2libGluZyk7CiAgICAgfQogCiAg
ICAgLy8gV2UgcmVtb3ZlIHRoZSBsYXN0IHN1YlN1cCBwYWlyIGlmIGl0IGJlY2FtZSBlbXB0eS4K
QEAgLTUxMCw3ICs1MTAsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyOjpyZW1vdmVDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkKQogICAgICAgICByZXR1cm4gUmVu
ZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNoaWxkKGNoaWxkKTsKICAgICB9CiAKLSAgICBSZW5kZXJN
YXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzKHBhcmVudCgp
KTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gZG93bmNhc3Q8UmVuZGVy
TWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwogICAgIFJlbmRlck9iamVjdCogbmV4dCA9IHJlbW92
ZUNoaWxkSW50ZXJuYWwoZmFsc2UsIGNoaWxkKTsKICAgICBwYXJlbnROb2RlLT5maXhBbm9ueW1v
dXNTdHlsZXMoKTsKICAgICByZXR1cm4gbmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKaW5kZXggZGMxZDZhNjI0MDNl
YTg4YTJmZDNkODZkZGFhZGM1ZGFhYzk5Y2UyYy4uNzU0MjY3ODJlMGQ0ZTUyM2Y3NjA5MjcxNzhk
MGZiMjMyMjg5ZTVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKQEAgLTY1LDggKzY1LDYgQEAgcHJpdmF0ZToKICAg
ICBXcmFwcGVyVHlwZSBtX2tpbmQ7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIsIGlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoKSkK
LQogLy8gUmVuZGVyIGEgYmFzZSB3aXRoIHNjcmlwdHMuCiBjbGFzcyBSZW5kZXJNYXRoTUxTY3Jp
cHRzIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2NrIHsKIApAQCAtMTA1LDkgKzEwMywxMCBAQCBw
cml2YXRlOgogICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBtX2Jhc2VXcmFwcGVyOwog
fTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTFNjcmlwdHMsIGlzUmVu
ZGVyTWF0aE1MU2NyaXB0cygpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIs
IGlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxTY3JpcHRzLCBpc1JlbmRlck1hdGhNTFNjcmlwdHMo
KSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaAppbmRleCAxMzgyMDRhZmFhY2E4
NDgwMWZjMzZhYTA0MzdhMDlhOWYzNjZmMDQ1Li5jZGZjNTcxYmQ1YzA2MDVhOTUwMDgzYzE1ZGIz
MWY2Y2RiZmE2OTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxTcGFjZS5oCkBAIC01NCw5ICs1NCw5IEBAIHByaXZhdGU6CiAgICAgTGF5
b3V0VW5pdCBtX2RlcHRoOwogfTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1h
dGhNTFNwYWNlLCBpc1JlbmRlck1hdGhNTFNwYWNlKCkpCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxT
cGFjZSwgaXNSZW5kZXJNYXRoTUxTcGFjZSgpKQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkK
ICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxTcGFjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCmluZGV4IGE5ZTNj
ZmZiZDUzMzA4MTcyMjg4YmJmMzljYjY1Yzc5ZTMyYTUwZDAuLjYxNDAwNTg2NDQ5YjhiODQyZDhh
YzljYjMxZGE1MDRkY2M5MjQwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCkBAIC00Nyw3ICs0Nyw5IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gIlJlbmRlck1hdGhNTFNxdWFyZVJvb3QiOyB9CiB9OwogICAgIAotfQor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9P
QkpFQ1QoUmVuZGVyTWF0aE1MU3F1YXJlUm9vdCwgaXNSZW5kZXJNYXRoTUxTcXVhcmVSb290KCkp
CiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgKaW5kZXggOWE3MWY0ZjdiNDllNTJh
NWRkOTYyZmRmMDZlNzk0NmUxMjAxYjhjMy4uZjVhZDViYmEwNGYwYjUxYjAwNjkxYjFiZTI4NDI4
OGRmYmUzMTYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MVG9rZW4uaApAQCAtNTksOSArNTksOSBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9jb250YWluc0VsZW1lbnQ7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
TWF0aE1MVG9rZW4sIGlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhN
TFRva2VuLCBpc1JlbmRlck1hdGhNTFRva2VuKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1M
KQogI2VuZGlmIC8vIFJlbmRlck1hdGhNTFRva2VuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAppbmRleCAx
MDMyZWUxYWEzMmMyZWIwMDFjNzczMTNlNzc2NzIyNzlkZjViZjU4Li5hMjZjZjEzOGQzOTg2NDdk
NTBlMjhkZTIxMGE3ODg3MzU0NGUyYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwCkBAIC01NSw5ICs1
NSw5IEBAIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6UmVuZGVyTWF0aE1MVW5kZXJPdmVyKEVsZW1l
bnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVuZGVyU3R5CiBSZW5kZXJNYXRoTUxPcGVyYXRvciogUmVu
ZGVyTWF0aE1MVW5kZXJPdmVyOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IoKQogewogICAgIFJlbmRl
ck9iamVjdCogYmFzZSA9IGZpcnN0Q2hpbGQoKTsKLSAgICBpZiAoIWJhc2UgfHwgIWJhc2UtPmlz
UmVuZGVyTWF0aE1MQmxvY2soKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHRvUmVu
ZGVyTWF0aE1MQmxvY2soYmFzZSktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOworICAgIGlmICgh
aXM8UmVuZGVyTWF0aE1MQmxvY2s+KGJhc2UpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpiYXNlKS51bmVtYmVsbGlzaGVk
T3BlcmF0b3IoKTsKIH0KIAogaW50IFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6Zmlyc3RMaW5lQmFz
ZWxpbmUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHQ29udGFpbmVyLmgKaW5kZXggZWQyN2IzZjJmNjIzNDMxNzEyNmJmMTU0MmI3YzBiMWRiODc1
MjEyZC4uOTViMGQ3MDAzYWRhZjhlZDE0ZDRmMWUzNWZmZWU1YWE4MWI1ZmJjMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCkBAIC04
NCw0ICs4NCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdDb250YWluZXIs
IGlzU1ZHQ29udGFpbmVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR0NvbnRhaW5lciwgaXNTVkdDb250
YWluZXIoKSkKKwogI2VuZGlmIC8vIFJlbmRlclNWR0NvbnRhaW5lcl9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaAppbmRleCBi
OGRlMjg1MDFkZGJjYjM1YTljZGU5YTY2ZTM5OWI4YjkwZWVkMjZiLi44MDIzNjQ1NzE3MzRmZmJl
NzhjZWM2NDBmNDcyOWQ0ODIzZDYzNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKQEAgLTYyLDYgKzYyLDggQEAgcHJp
dmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR0dyYWRpZW50U3RvcCwg
aXNTVkdHcmFkaWVudFN0b3AoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHR3JhZGllbnRTdG9wLCBp
c1NWR0dyYWRpZW50U3RvcCgpKQogCiAjZW5kaWYgLy8gUmVuZGVyU1ZHR3JhZGllbnRTdG9wX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAppbmRleCA1
ODMyOTYwNjc0ZmIzNzBiMDQ1NmUyN2VhMzY1MzYyMmY2NmJhNWM4Li4xODkxNmNiOTM1YWUwOTJl
YWM3NmQ0YTUxODVkOTA3OTc5ZDdjZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdJbWFnZS5oCkBAIC05NCw0ICs5NCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJTVkdJbWFnZSwgaXNTVkdJbWFnZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdJ
bWFnZSwgaXNTVkdJbWFnZSgpKQorCiAjZW5kaWYgLy8gUmVuZGVyU1ZHSW1hZ2VfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaAppbmRl
eCBiYTBkNDkyOWE3Y2Q4ODhkMjg3MDE5ZDhkYzc4ZjBlZDg1MGQ5ZGZkLi45MTUzYWFhYzUwZGRh
Y2JmYWQ5MmZkZjE3NzNjNmQ4NDM5Y2ZkOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaApAQCAtNzEsNiArNzEsOCBAQCBwcml2
YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHSW5saW5lVGV4dCwgaXNT
VkdJbmxpbmVUZXh0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR0lubGluZVRleHQsIGlzU1ZHSW5s
aW5lVGV4dCgpKQogCiAjZW5kaWYgLy8gUmVuZGVyU1ZHSW5saW5lVGV4dF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKaW5kZXgg
ODdmODM3ODc5ZDVjOGVhOWIxYzQ0ZThmNjFjOTYzMWU4MzdiNDAxZC4uMWRhNjY5NTI3ZjYyMDAx
OGYxNDU0NTJmMTVkYzkxZWJhYjFkYmU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaApAQCAtODAsOCArODAsMTAgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzU1ZHU2hhZG93OwogfTsKIAotUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1JlbmRlclNWR01vZGVsT2JqZWN0KCkpOwor
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1JlbmRlclNW
R01vZGVsT2JqZWN0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1JlbmRl
clNWR01vZGVsT2JqZWN0KCkpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1BhdGguaAppbmRleCA4OWU5NTAwYmY4Yzg2MDljYTJlYmE0NmM5ZDM1MTlm
OTE1ODYwZjBjLi44ODdkYWFiNzYzYTA2MWViNTQ4NGZmMDAxY2Q4NjAwZmQzMTE0Y2UzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaApAQCAtNTcsNiAr
NTcsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHUGF0
aCwgaXNTVkdQYXRoKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHUGF0aCwgaXNTVkdQ
YXRoKCkpCisKKyNlbmRpZiAvLyBSZW5kZXJTVkdQYXRoX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAppbmRl
eCBhMzgwNmU2MjgzNWM2MWRjYTUwNGUyMmJlYzIxOTYwNDRiNjI2NTU1Li45ZjM2NDlhMjQwNDE2
ZjIzOWZiYzczNzQ5ZDc0OTQzMDg1MWQxNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCkBAIC05Nyw2
ICs5Nyw4IEBAIFJlbmRlcmVyKiBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkKQogICAgIHJldHVybiBudWxscHRyOwogfQog
Ci19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVO
REVSX09CSkVDVChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciwgaXNTVkdSZXNvdXJjZUNvbnRh
aW5lcigpKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcl9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmgKaW5kZXggZWViMTQ5ODRiMjY3NzUxOTk4ODE0ZWM5NWI0NTkxNzZlY2M3NjVm
YS4uY2ViNDY3ODQwYmJhNzc2YWJkMjI1NWQ5ZGVlOGIyZjYzNzk0YjA0ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIu
aApAQCAtOTksNiArOTksOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIsIGlzU1ZHUmVzb3VyY2VGaWx0ZXIoKSkKIAotfQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVO
REVSX09CSkVDVChSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciwgaXNTVkdSZXNvdXJjZUZpbHRlcigp
KQorCisjZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCAzZDA5YjE0Mzk4MzBlMGJjNzVk
YWE4NjMzYTE4OTc4MTRhMzM0M2IwLi41NTAzNjQzYTgwMGRkZjNkNTlkM2FmYzA5Yzg2OTQyZDUy
OGY1NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
aApAQCAtMTI2LDQgKzEyNiw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdS
b290LCBpc1NWR1Jvb3QoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHUm9vdCwgaXNTVkdSb290KCkpCisK
ICNlbmRpZiAvLyBSZW5kZXJTVkdSb290X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHU2hhcGUuaAppbmRleCA1ZWY0OGIwMzJmY2RlNzRlOTg1NmY0ZDA5ODYyM2Q4
NzdlMDQ5MjRmLi45YjNmZDdhMzYwM2ZiMTE1M2QwY2VjNWVlMGMwMTMxNDhkYzA5ODc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oCkBAIC0xMzUs
NiArMTM1LDggQEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNW
R1NoYXBlLCBpc1NWR1NoYXBlKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHU2hhcGUs
IGlzU1ZHU2hhcGUoKSkKKworI2VuZGlmIC8vIFJlbmRlclNWR1NoYXBlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKaW5kZXggMzdkMTNkNjViZjI5ODU1
YTc5YzdkNzE1Mzc0MWY2Zjg0MzY2ZDBhZi4uYmM2MzlmZWVjMjE3OTgxZGQ2YzA2NDc0ODgwNjJm
MDNhZmVmODhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdU
ZXh0LmgKQEAgLTEwNyw2ICsxMDcsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyU1ZHVGV4dCwgaXNTVkdUZXh0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyU1ZHVGV4dCwgaXNTVkdUZXh0KCkpCisKKyNlbmRpZiAvLyBSZW5kZXJTVkdUZXh0X2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGgu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaAppbmRl
eCBiMjE0NDQyZTM4ZTU1ZDA0MDVhMjE5MjY3MWUxNTFhOWVmMWE5NWJjLi44MDMyODBhZjNiZGUx
ZjQ3Y2NlMTNhODRjZDljMjkyZWUxMDNiNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6
CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdUZXh0UGF0aCwgaXNTVkdUZXh0
UGF0aCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdUZXh0UGF0aCwgaXNTVkdUZXh0UGF0aCgpKQog
CiAjZW5kaWYgLy8gUmVuZGVyU1ZHVGV4dFBhdGhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4IGI0
NDA0MDg1NGMyYmZiYWRlZTA1ZTM5MjM3NGZmN2U3MjdlOGZhM2YuLjUyMTI0NGJlZDFkYjI2OGE4
MTAzZWMxZGFkMTc5MjBkOTc1ZTFjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTcxLDQgKzcx
LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LCBpc1NWR1ZpZXdwb3J0Q29udGFpbmVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR1ZpZXdwb3J0Q29u
dGFpbmVyLCBpc1NWR1ZpZXdwb3J0Q29udGFpbmVyKCkpCisKICNlbmRpZiAvLyBSZW5kZXJTVkdW
aWV3cG9ydENvbnRhaW5lcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239289</attachid>
            <date>2014-10-04 20:30:30 -0700</date>
            <delta_ts>2014-10-06 16:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137424-20141004203032.patch</filename>
            <type>text/plain</type>
            <size>86890</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA5M2NkZTNhODc5NjZmOWE3ZTAxNGFk
NzkwMzE1MzI4NjJlNGFlODkuLmFlODA2MDVjMGUzN2MwM2VkZDQ4ODk3NTdmZTU3ZDI4NTcxNjYy
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMTAtMDQgIENocmlzdG9waGUgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpczw+KCkgLyBkb3duY2FzdDw+KCkgc3Vw
cG9ydCBmb3IgUmVuZGVyT2JqZWN0IHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhbmRsZSBjb3JyZWN0bHkgY2FsbGluZyBUeXBlQ2Fz
dFRyYWl0czxFeHBlY3RlZFR5cGUsIEFyZ1R5cGU+Ojppc09mVHlwZShBcmdUeXBlJikKKyAgICAg
ICAgd2l0aCBFeHBlY3RlZFR5cGUgYmVpbmcgYSBiYXNlIGNsYXNzIG9mIEFyZ1R5cGUgKG9yIHRo
ZSBzYW1lIGFzIEFyZ1R5cGUpLiBUaGUKKyAgICAgICAgcHJldmlvdXMgdGVtcGxhdGUgc3BlY2lh
bGl6YXRpb24gd2FzIG9ubHkgbWVhbnQgdG8gc3VwcG9ydCB0aGUgY2FzZSB3aGVyZQorICAgICAg
ICBFeHBlY3RlZFR5cGUgaXMgdGhlIHNhbWUgYXMgQXJnVHlwZSBidXQgZXZlbiB0aGF0IHdhc24n
dCB3b3JraW5nIGFzIHRoZSBjb21waWxlcgorICAgICAgICB3b3VsZCBjb21wbGFpbiBhYm91dCBh
bWJpZ3VvdXMgcGFydGlhbCBzcGVjaWFsaXphdGlvbnMuIFNpbmNlIHRoaXMgaXMgbmVlZGVkIGJ5
CisgICAgICAgIFJlbmRlclRyYXZlcnNhbCBmdW5jdGlvbnMsIHRoaXMgcGF0Y2ggYWRkcyBhbiBl
eHRyYSBpc0Jhc2VUeXBlIHRlbXBsYXRlIHBhcmFtZXRlcgorICAgICAgICB0byBUeXBlQ2FzdFRy
YWl0cyB0byByZXNvbHZlIHRoZSBhbWJpZ3VpdHkgYW5kIHJlbGllcyBvbiBzdGQ6OmlzX2Jhc2Vf
b2YgZm9yIHRoZQorICAgICAgICBkZXRlY3Rpb24uCisKKyAgICAgICAgKiB3dGYvVHlwZUNhc3Rz
Lmg6CisKIDIwMTQtMTAtMDQgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNzQzMTkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNDk2NTIwOTRmODk1YjM0NWE3NTk5NjI4YThkN2M3YTZjMzk0YmY4OC4uOWJkZmM4MDU5NGEx
ZmFkNmJkMTA2YmVhOWQ0NmRmZTkwZGY5NmVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1MSBA
QAorMjAxNC0xMC0wNCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBzdXBwb3J0IGZvciBSZW5kZXJPYmplY3Qg
c3ViY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM3NDI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBzdXBwb3J0IGZvciBSZW5kZXJPYmplY3Qgc3Vi
Y2xhc3NlcywgYW5kCisgICAgICAgIGdldCByaWQgb2YgSXNSZW5kZXJlck9mVHlwZSB0cmFpdHMg
c3RydWN0IGFzIHdlIGNhbiBub3cgcmVseSBvbiB0aGUKKyAgICAgICAgVHlwZUNhc3RzVHJhaXRz
IGluc3RlYWQuCisKKyAgICAgICAgdG9SZW5kZXIqKCkgaXMgc3RpbGwgc3VwcG9ydGVkIGZvciBt
b3N0IHJlbmRlciBvYmplY3RzIGJlY2F1c2UgSSBkaWQKKyAgICAgICAgbm90IHdhbnQgdG8gcmVt
b3ZlIGFsbCB1c2FnZXMgaW4gdGhpcyBwYXRjaCwgdG8ga2VlcCB0aGUgc2l6ZSBzbWFsbC4KKyAg
ICAgICAgRm9yIG5vdywgb25seSB0aGUgTWF0aE1MIHJlbmRlciBvYmplY3RzIHdlcmUgcG9ydGVk
IG92ZXIgdG8gdXNpbmcKKyAgICAgICAgaXM8PigpIC8gZG93bmNhc3Q8PigpLiBPdGhlciByZW5k
ZXIgb2JqZWN0cyB3aWxsIGJlIHRha2VuIGNhcmUgb2YgaW4KKyAgICAgICAgZm9sbG93LXVwIHBh
dGNoZXMgYW5kIEkgd2lsbCBkcm9wIHN1cHBvcnQgZm9yIHRvUmVuZGVyKigpCisgICAgICAgIGlu
Y3JlbWVudGFsbHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2Uu
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNNYXRoRmVu
Y2VPcGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
Ojppc01hdGhTZXBhcmF0b3JPcGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjptYXRoTGluZVRoaWNrbmVzcyk6CisgICAgICAgICogZG9tL21ha2Vf
bmFtZXMucGw6CisgICAgICAgIChwcmludFR5cGVIZWxwZXJzKToKKyAgICAgICAgKiBtYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIG1h
dGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRl
eHRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJB
bmNlc3Rvckl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYWdlT2ZUeXBlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCdXR0b24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGcmFtZVNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVySFRNTENhbnZhcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJRnJhbWUuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckl0ZXJhdG9yLmg6CisgICAg
ICAgIChXZWJDb3JlOjppc1JlbmRlcmVyT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyYXZlcnNhbDo6Zmlyc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmF2ZXJz
YWw6Omxhc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmF2ZXJzYWw6Om5leHRT
aWJsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNhbDo6cHJldmlvdXNTaWJs
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNhbDo6ZmluZEFuY2VzdG9yT2ZU
eXBlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1ldGVyLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
blNwYW5uZXJQbGFjZWhvbGRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dGcmFnbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPYmplY3Q+KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUXVvdGUuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTZWFyY2hGaWVsZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVD
YXB0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bE11bHRpTGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck1hdGhNTEZlbmNlZDo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWF0aE1MRnJhY3Rpb246OnVuZW1iZWxsaXNoZWRPcGVyYXRvcik6CisgICAgICAgICogcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvci5oOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxS
b290OjpiYXNlV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290Ojpy
YWRpY2FsV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290OjppbmRl
eFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm9vdDo6cmFkaWNhbE9w
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJvb3RXcmFwcGVyOjpyZW1v
dmVDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm93Ojp1cGRhdGVPcGVyYXRvclByb3BlcnRpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm93OjpsYXlvdXQpOgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
dGhNTFNjcmlwdHM6OmFkZENoaWxkSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWF0aE1MU2NyaXB0czo6cmVtb3ZlQ2hpbGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNYXRoTUxTY3JpcHRzOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6cmVtb3ZlQ2hp
bGQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmg6CisgICAgICAgICogcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWF0aE1MVW5kZXJPdmVyOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmg6CisKIDIwMTQtMTAtMDQgIERoaSBBdXJyYWht
YW4gIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgRWxlbWVu
dC5jbG9zZXN0KCkgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UeXBlQ2FzdHMuaCBi
L1NvdXJjZS9XVEYvd3RmL1R5cGVDYXN0cy5oCmluZGV4IDNjMjAzNDE1MGNhM2Y2NmFkZWE0ZDZi
YjZlNWVmOWVhZjcyM2MzZDMuLmMwYWI5MjU2NDBiMzVlMmQ3YWM4OTgwMWEzNzNlM2EyYjExZjA3
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1R5cGVDYXN0cy5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1R5cGVDYXN0cy5oCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgRXhwZWN0ZWRUeXBlLCB0eXBlbmFtZSBBcmdUeXBlPgordGVt
cGxhdGUgPHR5cGVuYW1lIEV4cGVjdGVkVHlwZSwgdHlwZW5hbWUgQXJnVHlwZSwgYm9vbCBpc0Jh
c2VUeXBlID0gc3RkOjppc19iYXNlX29mPEV4cGVjdGVkVHlwZSwgQXJnVHlwZT46OnZhbHVlPgog
c3RydWN0IFR5cGVDYXN0VHJhaXRzIHsKICAgICBzdGF0aWMgYm9vbCBpc09mVHlwZShBcmdUeXBl
JikKICAgICB7CkBAIC00NCw5ICs0NCwxMSBAQCBzdHJ1Y3QgVHlwZUNhc3RUcmFpdHMgewogICAg
IH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBFeHBlY3RlZFR5cGU+Ci1zdHJ1Y3QgVHlwZUNh
c3RUcmFpdHM8RXhwZWN0ZWRUeXBlLCBFeHBlY3RlZFR5cGU+IHsKLSAgICBzdGF0aWMgYm9vbCBp
c09mVHlwZShFeHBlY3RlZFR5cGUmKSB7IHJldHVybiB0cnVlOyB9CisvLyBUZW1wbGF0ZSBzcGVj
aWFsaXphdGlvbiBmb3IgdGhlIGNhc2Ugd2hlcmUgRXhwZWN0ZWRUeXBlIGlzIGEgYmFzZSBvZiBB
cmdUeXBlLAorLy8gc28gd2UgY2FuIHJldHVybiByZXR1cm4gdHJ1ZSB1bmNvbmRpdGlvbmFsbHku
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgRXhwZWN0ZWRUeXBlLCB0eXBlbmFtZSBBcmdUeXBlPgorc3Ry
dWN0IFR5cGVDYXN0VHJhaXRzPEV4cGVjdGVkVHlwZSwgQXJnVHlwZSwgdHJ1ZSAvKiBpc0Jhc2VU
eXBlICovPiB7CisgICAgc3RhdGljIGJvb2wgaXNPZlR5cGUoQXJnVHlwZSYpIHsgcmV0dXJuIHRy
dWU7IH0KIH07CiAKIC8vIFR5cGUgY2hlY2tpbmcgZnVuY3Rpb24sIHRvIHVzZSBiZWZvcmUgY2Fz
dGluZyB3aXRoIGRvd25jYXN0PD4oKS4KQEAgLTgzLDcgKzg1LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IGlubGluZSB0eXBlbmFtZSBzdGQ6OmNvbmRpdGlv
bmFsPHN0ZDoKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihDbGFzc05hbWUp
IFwKIG5hbWVzcGFjZSBXVEYgeyBcCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQXJnVHlwZT4gXAotY2xh
c3MgVHlwZUNhc3RUcmFpdHM8Y29uc3QgQ2xhc3NOYW1lLCBBcmdUeXBlPiB7IFwKK2NsYXNzIFR5
cGVDYXN0VHJhaXRzPGNvbnN0IENsYXNzTmFtZSwgQXJnVHlwZSwgZmFsc2UgLyogaXNCYXNlVHlw
ZSAqLz4geyBcCiBwdWJsaWM6IFwKICAgICBzdGF0aWMgYm9vbCBpc09mVHlwZShBcmdUeXBlJiBz
b3VyY2UpIHsgcmV0dXJuIGlzVHlwZShzb3VyY2UpOyB9IFwKIHByaXZhdGU6CkBAIC05NCw2ICs5
Niw3IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCit1c2luZyBXVEY6OlR5cGVD
YXN0VHJhaXRzOwogdXNpbmcgV1RGOjppczsKIHVzaW5nIFdURjo6ZG93bmNhc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCmluZGV4IDQ1MDU2NTVhNTkyZGFmY2JlMTIzMGIyOWM5YjBiZmVjN2JmNTM2
NzUuLjRlMjJmNWY5Mjg0NTMyMGZhZTllMjU5YmY2MzRlMDQxNTdkZWJkY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcApAQCAtMzUzNiwxOCArMzUzNiwxOCBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmlzTWF0aE9wZXJhdG9yKCkgY29uc3QKIAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0Ojppc01hdGhGZW5jZU9wZXJhdG9yKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVu
ZGVyZXIgfHwgIW1fcmVuZGVyZXItPmlzUmVuZGVyTWF0aE1MT3BlcmF0b3IoKSkKKyAgICBpZiAo
IWlzPFJlbmRlck1hdGhNTE9wZXJhdG9yPihtX3JlbmRlcmVyKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgcmV0dXJuIHRvUmVuZGVyTWF0aE1MT3BlcmF0b3IoKm1fcmVuZGVyZXIpLmhh
c09wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKKyAgICByZXR1
cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCptX3JlbmRlcmVyKS5oYXNPcGVyYXRv
ckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGZW5jZSk7CiB9CiAKIGJvb2wgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6aXNNYXRoU2VwYXJhdG9yT3BlcmF0b3IoKSBjb25zdAogewot
ICAgIGlmICghbV9yZW5kZXJlciB8fCAhbV9yZW5kZXJlci0+aXNSZW5kZXJNYXRoTUxPcGVyYXRv
cigpKQorICAgIGlmICghaXM8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KG1fcmVuZGVyZXIpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxPcGVyYXRvcigq
bV9yZW5kZXJlcikuaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U2Vw
YXJhdG9yKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCptX3Jl
bmRlcmVyKS5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTZXBhcmF0
b3IpOwogfQogICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc01hdGhUZXh0
KCkgY29uc3QKQEAgLTM4MjMsMTAgKzM4MjMsMTAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjptYXRoUG9zdHNjcmlwdHMoQWNjZXNzaWJpbGl0eU1hdGhNdWx0aXNjcmlwdFBhaXIK
IAogaW50IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6Om1hdGhMaW5lVGhpY2tuZXNzKCkgY29u
c3QKIHsKLSAgICBpZiAoIWlzTWF0aEZyYWN0aW9uKCkpCisgICAgaWYgKCFpczxSZW5kZXJNYXRo
TUxGcmFjdGlvbj4obV9yZW5kZXJlcikpCiAgICAgICAgIHJldHVybiAtMTsKICAgICAKLSAgICBy
ZXR1cm4gdG9SZW5kZXJNYXRoTUxGcmFjdGlvbihtX3JlbmRlcmVyKS0+bGluZVRoaWNrbmVzcygp
OworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxGcmFjdGlvbj4oKm1fcmVuZGVyZXIp
LmxpbmVUaGlja25lc3MoKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCmlu
ZGV4IDUyMmU3ZGYzY2YzY2Q1MWUyYzYwNTI1ODZkNjEyMzVjZGMwZGZhMTguLjY3OTkyOTQwMzcy
ZTI5MTAzOGM2NjE1OTEzYmVkMjg3ZWYzOTQ5OGEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
CkBAIC02NDQsNyArNjQ0LDcgQEAgY2xhc3MgJGNsYXNzOwogfQogbmFtZXNwYWNlIFdURiB7CiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgQXJnVHlwZT4KLWNsYXNzIFR5cGVDYXN0VHJhaXRzPGNvbnN0IFdl
YkNvcmU6OiRjbGFzcywgQXJnVHlwZT4geworY2xhc3MgVHlwZUNhc3RUcmFpdHM8Y29uc3QgV2Vi
Q29yZTo6JGNsYXNzLCBBcmdUeXBlLCBmYWxzZSAvKiBpc0Jhc2VUeXBlICovPiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgaXNPZlR5cGUoQXJnVHlwZSYgbm9kZSkgeyByZXR1cm4gY2hlY2tU
YWdOYW1lKG5vZGUpOyB9CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCmluZGV4IGU1ODMwMzVlYzFjYWMx
NjVjYTMxNTc0MWVlOGYyZTlhYmY3ZTgwNzQuLmJkYjZiZjZmYzAzNGJkNDU1ZjU5NmVjZTU0ODA5
OGU5OWNiZmEyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKQEAgLTU4LDEyICs1OCwxMiBAQCBQYXNzUmVmUHRy
PE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ+IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZShjbwogdm9pZCBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKICAgICBpZiAocmVuZGVyZXIo
KSkgewotICAgICAgICBpZiAocmVuZGVyZXIoKS0+aXNSZW5kZXJNYXRoTUxSb3coKSkKLSAgICAg
ICAgICAgIHRvUmVuZGVyTWF0aE1MUm93KHJlbmRlcmVyKCkpLT51cGRhdGVPcGVyYXRvclByb3Bl
cnRpZXMoKTsKKyAgICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTFJvdz4oKnJlbmRlcmVyKCkpKQor
ICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MUm93PigqcmVuZGVyZXIoKSkudXBkYXRl
T3BlcmF0b3JQcm9wZXJ0aWVzKCk7CiAgICAgICAgIGVsc2UgaWYgKGhhc1RhZ05hbWUobWF0aFRh
ZykgfHwgaGFzVGFnTmFtZShtc3FydFRhZykpIHsKLSAgICAgICAgICAgIGF1dG8gY2hpbGRSZW5k
ZXJlciA9IHJlbmRlcmVyKCktPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgICAgIGlmIChjaGlsZFJl
bmRlcmVyICYmIGNoaWxkUmVuZGVyZXItPmlzUmVuZGVyTWF0aE1MUm93KCkpCi0gICAgICAgICAg
ICAgICAgdG9SZW5kZXJNYXRoTUxSb3coY2hpbGRSZW5kZXJlciktPnVwZGF0ZU9wZXJhdG9yUHJv
cGVydGllcygpOworICAgICAgICAgICAgYXV0byogY2hpbGRSZW5kZXJlciA9IHJlbmRlcmVyKCkt
PmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxSb3c+KGNoaWxk
UmVuZGVyZXIpKQorICAgICAgICAgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTFJvdz4oKmNo
aWxkUmVuZGVyZXIpLnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcygpOwogICAgICAgICB9CiAgICAg
fQogICAgIE1hdGhNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKaW5kZXggMjIzODNjMDM3NjY5YjVi
MjRiMzNkNzVmOWMwMDQyMzRhNjk3NDc3NC4uMDhlNWVkZDk5ZjBhOTA3YTY1NWNhNDNlYmI4OTlm
ZTk4NWFjNGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQu
Y3BwCkBAIC01MywxNSArNTMsMTUgQEAgUGFzc1JlZlB0cjxNYXRoTUxUZXh0RWxlbWVudD4gTWF0
aE1MVGV4dEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWcKIHZvaWQgTWF0
aE1MVGV4dEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiB7CiAgICAgTWF0aE1MRWxlbWVu
dDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIo
KS0+aXNSZW5kZXJNYXRoTUxUb2tlbigpKQotICAgICAgICB0b1JlbmRlck1hdGhNTFRva2VuKHJl
bmRlcmVyKCkpLT51cGRhdGVUb2tlbkNvbnRlbnQoKTsKKyAgICBpZiAoaXM8UmVuZGVyTWF0aE1M
VG9rZW4+KHJlbmRlcmVyKCkpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxUb2tlbj4o
KnJlbmRlcmVyKCkpLnVwZGF0ZVRva2VuQ29udGVudCgpOwogfQogCiB2b2lkIE1hdGhNTFRleHRF
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKICAg
ICBNYXRoTUxFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKLSAgICBpZiAocmVuZGVy
ZXIoKSAmJiByZW5kZXJlcigpLT5pc1JlbmRlck1hdGhNTFRva2VuKCkpCi0gICAgICAgIHRvUmVu
ZGVyTWF0aE1MVG9rZW4ocmVuZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgIGlm
IChpczxSZW5kZXJNYXRoTUxUb2tlbj4ocmVuZGVyZXIoKSkpCisgICAgICAgIGRvd25jYXN0PFJl
bmRlck1hdGhNTFRva2VuPigqcmVuZGVyZXIoKSkudXBkYXRlVG9rZW5Db250ZW50KCk7CiB9CiAK
IFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFuY2VzdG9ySXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJBbmNlc3Rvckl0ZXJhdG9yLmgKaW5kZXggMzlkZDA1ZTcyNTIx
MzM5MWUxOTBjMTdhNjMzZjlhY2NiNGVmMjU4MS4uOGU4ZDg4ZTdmMWQwMzE0MTM1MzcyNWUzNzZh
ZGE3NmQxNjA0ZWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFuY2VzdG9ySXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QW5jZXN0b3JJdGVyYXRvci5oCkBAIC0xODYsNyArMTg2LDcgQEAgaW5saW5lIFJlbmRlckFuY2Vz
dG9yQ29uc3RJdGVyYXRvckFkYXB0ZXI8VD4gYW5jZXN0b3JzT2ZUeXBlKGNvbnN0IFJlbmRlck9i
amVjdCYKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogaW5saW5lIFJlbmRlckFuY2VzdG9ySXRlcmF0
b3JBZGFwdGVyPFQ+IGxpbmVhZ2VPZlR5cGUoUmVuZGVyT2JqZWN0JiBmaXJzdCkKIHsKLSAgICBp
ZiAoaXNSZW5kZXJlck9mVHlwZTxjb25zdCBUPihmaXJzdCkpCisgICAgaWYgKGlzUmVuZGVyZXJP
ZlR5cGU8VD4oZmlyc3QpKQogICAgICAgICByZXR1cm4gUmVuZGVyQW5jZXN0b3JJdGVyYXRvckFk
YXB0ZXI8VD4oc3RhdGljX2Nhc3Q8VCo+KCZmaXJzdCkpOwogICAgIHJldHVybiBhbmNlc3RvcnNP
ZlR5cGU8VD4oZmlyc3QpOwogfQpAQCAtMTk0LDcgKzE5NCw3IEBAIGlubGluZSBSZW5kZXJBbmNl
c3Rvckl0ZXJhdG9yQWRhcHRlcjxUPiBsaW5lYWdlT2ZUeXBlKFJlbmRlck9iamVjdCYgZmlyc3Qp
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGlubGluZSBSZW5kZXJBbmNlc3RvckNvbnN0SXRlcmF0
b3JBZGFwdGVyPFQ+IGxpbmVhZ2VPZlR5cGUoY29uc3QgUmVuZGVyT2JqZWN0JiBmaXJzdCkKIHsK
LSAgICBpZiAoaXNSZW5kZXJlck9mVHlwZTxjb25zdCBUPihmaXJzdCkpCisgICAgaWYgKGlzUmVu
ZGVyZXJPZlR5cGU8VD4oZmlyc3QpKQogICAgICAgICByZXR1cm4gUmVuZGVyQW5jZXN0b3JDb25z
dEl0ZXJhdG9yQWRhcHRlcjxUPihzdGF0aWNfY2FzdDxjb25zdCBUKj4oJmZpcnN0KSk7CiAgICAg
cmV0dXJuIGFuY2VzdG9yc09mVHlwZTxUPihmaXJzdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCmluZGV4IDlhNGNmODhhM2M0NTI1NTUzZDY4ODA4MDRhMDk0NjM2ZjNk
ZWY4ZWIuLjY0MDBkYjZmNTU5Mjk0YTdjZjYxMTlhZjcyNGM5N2NhMDI3ZjI0ZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC01MzgsNCArNTM4LDYgQEAgVmlzaWJs
ZVBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnRSZXNwZWN0aW5nRWRpdGluZ0JvdW5kYXJpZXMoUmVu
ZGVyQmxvY2smLCBSZW5kZXIKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQmxvY2ssIGlzUmVuZGVyQmxvY2soKSkK
KwogI2VuZGlmIC8vIFJlbmRlckJsb2NrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaAppbmRleCAyMDc5YmJmNDQ0MTJlMWE1ODg2YjA4NzZkNTQ3NDhhYWZkMGZj
NmRhLi4zYWFmYWUyY2Y0N2Y4MWU3YzAwYjE4YmQ3ZTk3YjlhM2ViZWJhYzJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC02MzYsNCArNjM2LDYgQEAg
aW5saW5lIGNvbnN0IFNpbXBsZUxpbmVMYXlvdXQ6OkxheW91dCogUmVuZGVyQmxvY2tGbG93Ojpz
aW1wbGVMaW5lTGF5b3V0KCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQmxvY2tGbG93LCBpc1JlbmRl
ckJsb2NrRmxvdygpKQorCiAjZW5kaWYgLy8gUmVuZGVyQmxvY2tGbG93X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBiODI2NmEzYmUxNDg5NDQ0NmQ1MTUyNmZmMDhiNTZk
YTJkN2JhYTM5Li45Yzc1NDYyZWY2N2ZhOGRjNWUzMTFlNzMwZTFjMjI0NjJjZjZlM2I3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC03NjcsNCArNzY3LDYgQEAgaW5saW5l
IHZvaWQgUmVuZGVyQm94OjpzZXRJbmxpbmVCb3hXcmFwcGVyKElubGluZUVsZW1lbnRCb3gqIGJv
eFdyYXBwZXIpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckJveCwgaXNCb3goKSkKKwogI2VuZGlmIC8vIFJlbmRl
ckJveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5oCmluZGV4IGFjZTg4ODU0ODJkN2FhNTc5YWIzN2QwNzQ0YzA1Mzc5MmU1ZjM3M2EuLjcxYjk5
M2ViZmJmZjA4Zjg2NDBhMzA1YmYzMzA3MmFhZDFmNzQ1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCkBAIC0zNDMsNCArMzQzLDYgQEAg
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckJveE1vZGVsT2JqZWN0LCBpc0JveE1vZGVs
T2JqZWN0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckJveE1vZGVsT2JqZWN0LCBpc0JveE1vZGVsT2JqZWN0
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJCb3hNb2RlbE9iamVjdF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQnV0dG9uLmgKaW5kZXggYWNkNjliMjI3NzU0MWE0MTA4Y2E0MDRjM2RkNGU5
ZDA5YTQ5YzdmMi4uYTFhNjUyMGU5N2M5NDhmYzBjOTM2ZjEwYzQ3NGIxNTA1MWU1ZTRiMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaApAQCAtODcsNCArODcsNiBAQCBS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQnV0dG9uLCBpc1JlbmRlckJ1dHRvbigpKQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVS
X09CSkVDVChSZW5kZXJCdXR0b24sIGlzUmVuZGVyQnV0dG9uKCkpCisKICNlbmRpZiAvLyBSZW5k
ZXJCdXR0b25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
bWJpbmVUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQu
aAppbmRleCAzOTYzYjMwYzVmNjk2ZDcwZWM3MjkyYTM1NDg1ZjMzZGEyZDI5OWI1Li5kNDI5MzI5
MmUyYjY4MDFlZDc2MWFlM2RmMDFiYjIxNTgzZDhmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaApAQCAtNjEsNCArNjEsNiBAQCBSRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyQ29tYmluZVRleHQsIGlzQ29tYmluZVRleHQoKSkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpF
Q1QoUmVuZGVyQ29tYmluZVRleHQsIGlzQ29tYmluZVRleHQoKSkKKwogI2VuZGlmIC8vIFJlbmRl
ckNvbWJpbmVUZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJDb3VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCmlu
ZGV4IGM2Zjg2ZGI4ZTUwNDUzYTc0ZmM1NWQzNzRmN2Q3YjIzYzIwNTk1MWIuLjhjMzgxNmM4ZWZm
NWJhOWIzYjkyMmNiZTM4Y2JjNTM3ZTVkZGFmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckNvdW50ZXIuaApAQCAtNjYsNiArNjYsOCBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FT
VFMoUmVuZGVyQ291bnRlciwgaXNDb3VudGVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckNvdW50ZXIsIGlz
Q291bnRlcigpKQorCiAjaWZuZGVmIE5ERUJVRwogLy8gT3V0c2lkZSB0aGUgV2ViQ29yZSBuYW1l
c3BhY2UgZm9yIGVhc2Ugb2YgaW52b2NhdGlvbiBmcm9tIGdkYi4KIHZvaWQgc2hvd0NvdW50ZXJS
ZW5kZXJlclRyZWUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0KiwgY29uc3QgY2hhciogY291
bnRlck5hbWUgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXRhaWxzTWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWls
c01hcmtlci5oCmluZGV4IDgzM2YyYTY3NzEzNGFjM2VhZThkZDNiNjFkMDBkZjIyYzI0YTE3MTMu
LjFjNGFhZjAyMTkyZTdhMGU0NTM0ZjZiM2E5ZTQ3YjE1M2JkMDkwYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaApAQCAtNDcsOSArNDcsMTEg
QEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckRldGFpbHNNYXJr
ZXIsIGlzRGV0YWlsc01hcmtlcigpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckRldGFpbHNN
YXJrZXIsIGlzRGV0YWlsc01hcmtlcigpKQorCisjZW5kaWYgLy8gRU5BQkxFKERFVEFJTFNfRUxF
TUVOVCkKIAogI2VuZGlmIC8vIFJlbmRlckRldGFpbHNNYXJrZXJfaAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAwNWNlNzk0ZDE5YTRjZmU1OTNmNzczNmNj
OGNlMTA4MDgyMzBmNGNlLi5lZDA0ODc2ZjVhZmRjYWUwNDY0MDJiMGU5M2FmMDlkOWRkNDUwNjBl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTM4MCw0ICsz
ODAsNiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBhZGp1c3RMYXlvdXRVbml0Rm9yQWJzb2x1dGVab29t
KExheW91dFVuaXQgdmFsdWUsIGNvbnN0IFJlbmRlcgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJFbGVtZW50LCBp
c1JlbmRlckVsZW1lbnQoKSkKKwogI2VuZGlmIC8vIFJlbmRlckVsZW1lbnRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaAppbmRleCAyYmZiZWMx
ODFjOGFiYzQ4NDM0YTEzZTNmYjE1NDFlMmNiMmRiN2QzLi44M2M3YzM3MjkxMDYyMzk5Yzk4ZDgy
YTY2OGUzMmFkZTA3MTJlZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRW1iZWRkZWRPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuaApAQCAtMTA1LDQgKzEwNSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJFbWJlZGRlZE9iamVjdCwgaXNFbWJlZGRlZE9iamVjdCgpKQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVD
VChSZW5kZXJFbWJlZGRlZE9iamVjdCwgaXNFbWJlZGRlZE9iamVjdCgpKQorCiAjZW5kaWYgLy8g
UmVuZGVyRW1iZWRkZWRPYmplY3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZpZWxkc2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmll
bGRzZXQuaAppbmRleCA5ZjY3MmQ3YTYxOGQwY2EwZThhZDYyMDZkMDRhM2U5MTU5MTBjMjJiLi40
NGE4Mzc0M2UxMTUzNGM4ZWJkMjkzZDdhYWExZDY0N2M2ODdlOTAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaApAQCAtNTksNCArNTksNiBAQCBSRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyRmllbGRzZXQsIGlzRmllbGRzZXQoKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyRmllbGRzZXQsIGlzRmllbGRzZXQoKSkKKwogI2VuZGlmIC8vIFJlbmRlckZpZWxkc2V0X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9s
LmgKaW5kZXggMWQ1YTRjZjU5MThjOWZhYmE0MDYzMTZjNDUwYzI0YzE4YzUwOGVmMC4uY2U0YWJh
ZGVjMWE5ZmQ3ZjJjNTM5MWZlYjUyNzVhMDMzOTI5ZWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKQEAgLTY4LDQgKzY4LDYg
QEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckZpbGVVcGxvYWRDb250cm9sLCBpc0Zp
bGVVcGxvYWRDb250cm9sKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckZpbGVVcGxvYWRDb250cm9sLCBpc0Zp
bGVVcGxvYWRDb250cm9sKCkpCisKICNlbmRpZiAvLyBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCmluZGV4IDM1
ODUyYzliY2YxOGJkNTBlNDExYzcwZjdhN2YwOTIxZDkxZGU1YjIuLjFmMTM2MjBlMjBmODViMTZl
MzRjN2MyYTYzNzJmZWM0MWQ0OGNlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5oCkBAIC0xNjUsNCArMTY1LDYgQEAgUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlckZsZXhpYmxlQm94LCBpc0ZsZXhpYmxlQm94KCkpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRl
ckZsZXhpYmxlQm94LCBpc0ZsZXhpYmxlQm94KCkpCisKICNlbmRpZiAvLyBSZW5kZXJGbGV4aWJs
ZUJveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRl
eCBkMzczMjgwMDdiNzQ5ZGYxMDI3MTUzZDhlYjllYmY1ZTJhMGJmZjA5Li5iOWVkM2I0ZmIwZWRj
MjU2YTRlM2E5MDMwZTg3MmM5ZGY5YmEwNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTQxMCw0ICs0MTAsNiBAQCB0ZW1wbGF0ZSA8PiBzdHJ1
Y3QgVmFsdWVUb1N0cmluZzxSZW5kZXJSZWdpb24qPiB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckZsb3dUaHJl
YWQsIGlzUmVuZGVyRmxvd1RocmVhZCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRmxvd1RocmVhZF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oCmluZGV4IDAzZjVhNGZiYjI2MmRi
ZGJkOWJjOTlhNWI4MWU0ODhkYjFlYWE1NDAuLmRkZTliNmI4YTNiYTRjMDJkM2IwN2Q1MTlmMWM1
N2Y5YmE5OTQ5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
cmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oCkBAIC01
MCw0ICs1MCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJGcmFtZSwgaXNGcmFt
ZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJGcmFtZSwgaXNGcmFtZSgpKQorCiAjZW5kaWYgLy8gUmVuZGVy
RnJhbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1l
U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCA4
OTgyOTNhN2RmNjcxOGZhNDM4Y2Q0YmY3ODg0NTUyODY5MTFmZWM1Li5lOWI4YTFlZTMwY2EyOWM3
OWE1NGRhZWU5YThlMGVmNGU0MWQwZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaApAQCAtMTMwLDQgKzEzMCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJGcmFtZVNldCwgaXNGcmFtZVNldCgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJGcmFtZVNldCwg
aXNGcmFtZVNldCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRnJhbWVTZXRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgKaW5kZXggYzk0MmZjNTc4ZjkyODgwNTNl
NmE3ODY4NzgzZWQ2M2UyOGU4MTFmNS4uNTI1ZTBlOTYzM2EwZmQ0NDNjMzQ3YWNjYzRiODc1ZjFi
N2ZmZjU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxT
Y3JlZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5o
CkBAIC01NSw4ICs1NSwxMCBAQCBwcm90ZWN0ZWQ6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJGdWxsU2NyZWVuLCBpc1JlbmRlckZ1bGxTY3JlZW4oKSkKIAotfQorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJGdWxsU2NyZWVuLCBpc1JlbmRlckZ1bGxTY3JlZW4oKSkKIAotI2VuZGlmCisj
ZW5kaWYgLy8gRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorCisjZW5kaWYgLy8gUmVuZGVyRnVsbFNj
cmVlbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCA5MTk0NjEwNzYy
NTVkNzRlNGRiOTEzNDJiYmNiM2EzOWI1MDhhZTk3Li4xMzU2M2ViNWM5MjVkMzVhYzBkOTM1NTI0
MTg3OWM3ZjBlY2Q5YTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAg
LTEzNSw2ICsxMzUsOCBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyR3JpZCwgaXNS
ZW5kZXJHcmlkKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckdyaWQsIGlzUmVuZGVyR3JpZCgpKQorCiAjZW5k
aWYgLyogRU5BQkxFKENTU19HUklEX0xBWU9VVCkgKi8KIAogI2VuZGlmIC8vIFJlbmRlckdyaWRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKaW5kZXggYTA1
YTFlMWM5MTM5NGY4YzczYTM1ZDNkOTc4ZTJjODc4Y2Y3ZGY1My4uYTcxZWRhYjQ0ZWRlYjdhNTBi
MmUwZTZkYTQ1NDU4NmVkNjZhYzY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckhUTUxDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySFRNTENhbnZhcy5oCkBAIC01Myw0ICs1Myw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJIVE1MQ2FudmFzLCBpc0NhbnZhcygpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJIVE1MQ2FudmFz
LCBpc0NhbnZhcygpKQorCiAjZW5kaWYgLy8gUmVuZGVySFRNTENhbnZhc19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmgKaW5kZXggN2NjMDMzMWI2Y2JlZjRkMzg1NmJiYjBl
NGE5Njc4OWNiZGM2OTE3Zi4uNjg2YzZiMjVlZDdlYTNlOTFkOGQzZDllOWNkMWJmMDdiMGY4MTc2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaApAQCAtNjYsNCArNjYs
NiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVySUZyYW1lLCBpc1JlbmRlcklGcmFt
ZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJJRnJhbWUsIGlzUmVuZGVySUZyYW1lKCkpCisKICNlbmRpZiAv
LyBSZW5kZXJJRnJhbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAppbmRl
eCA0NjM3MGE5MTlhYzk4MTJmMWM1ZGVmN2ZiOTZjMzAzM2Q3ZjAzZDkyLi5jNWFlYTA1NDE3NjIz
MDI5NWIxOGY0MjY4OWU3YjBiMWE2YWI2M2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuaApAQCAtMTMyLDQgKzEzMiw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJJbWFnZSwgaXNSZW5kZXJJbWFnZSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJJbWFnZSwgaXNSZW5k
ZXJJbWFnZSgpKQorCiAjZW5kaWYgLy8gUmVuZGVySW1hZ2VfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5oCmluZGV4IDQ5YWUwY2Y5OWU3YTRiYWM2NzdkN2MzOTlkN2ViNTlm
ZjhmYmMxYjEuLjYyODExMTdhYzk2N2JmNTAwZjNmYzhkMDgzNjViZWE0YmFhOWExYjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKQEAgLTE4NCw0ICsxODQsNiBAQCBS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVySW5saW5lLCBpc1JlbmRlcklubGluZSgpKQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVS
X09CSkVDVChSZW5kZXJJbmxpbmUsIGlzUmVuZGVySW5saW5lKCkpCisKICNlbmRpZiAvLyBSZW5k
ZXJJbmxpbmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckl0
ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySXRlcmF0b3IuaAppbmRl
eCA1YzUxOTQ3NWFiZDFlNmQ2Mjc1NDIyOGZhZDcxMDE0NTA0NWM2MDdlLi41YmYwNjk2NDQ4MWM2
OTJiNDU5ZDlmZTk4ODdiYjQyODk5OTFhZjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySXRlcmF0b3IuaApAQCAtNzIsNiArNzIsMTEgQEAgcHJpdmF0ZToKICAgICBjb25zdCBU
KiBtX2N1cnJlbnQ7CiB9OwogCisvLyBTaW1pbGFyIHRvIFdURjo6aXM8PigpIGJ1dCB3aXRob3V0
IHRoZSBzdGF0aWNfYXNzZXJ0KCkgbWFraW5nIHN1cmUKKy8vIHRoZSBjaGVjayBpcyBuZWNlc3Nh
cnkuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KK2lubGluZSBib29sIGlzUmVu
ZGVyZXJPZlR5cGUoY29uc3QgVSYgcmVuZGVyZXIpIHsgcmV0dXJuIFR5cGVDYXN0VHJhaXRzPGNv
bnN0IFQsIGNvbnN0IFU+Ojppc09mVHlwZShyZW5kZXJlcik7IH0KKwogLy8gVHJhdmVyc2FsIGhl
bHBlcnMKIAogbmFtZXNwYWNlIFJlbmRlclRyYXZlcnNhbCB7CkBAIC04MCw3ICs4NSw3IEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgogaW5saW5lIFQqIGZpcnN0Q2hpbGQoVSYg
Y3VycmVudCkKIHsKICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGN1cnJlbnQuZmlyc3RDaGls
ZCgpOwotICAgIHdoaWxlIChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9i
amVjdCkpCisgICAgd2hpbGUgKG9iamVjdCAmJiAhaXNSZW5kZXJlck9mVHlwZTxUPigqb2JqZWN0
KSkKICAgICAgICAgb2JqZWN0ID0gb2JqZWN0LT5uZXh0U2libGluZygpOwogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxUKj4ob2JqZWN0KTsKIH0KQEAgLTg5LDcgKzk0LDcgQEAgdGVtcGxhdGUgPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+CiBpbmxpbmUgVCogbGFzdENoaWxkKFUmIGN1cnJlbnQpCiB7
CiAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBjdXJyZW50Lmxhc3RDaGlsZCgpOwotICAgIHdo
aWxlIChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9iamVjdCkpCisgICAg
d2hpbGUgKG9iamVjdCAmJiAhaXNSZW5kZXJlck9mVHlwZTxUPigqb2JqZWN0KSkKICAgICAgICAg
b2JqZWN0ID0gb2JqZWN0LT5wcmV2aW91c1NpYmxpbmcoKTsKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8VCo+KG9iamVjdCk7CiB9CkBAIC05OCw3ICsxMDMsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4KIGlubGluZSBUKiBuZXh0U2libGluZyhVJiBjdXJyZW50KQogewogICAg
IFJlbmRlck9iamVjdCogb2JqZWN0ID0gY3VycmVudC5uZXh0U2libGluZygpOwotICAgIHdoaWxl
IChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9iamVjdCkpCisgICAgd2hp
bGUgKG9iamVjdCAmJiAhaXNSZW5kZXJlck9mVHlwZTxUPigqb2JqZWN0KSkKICAgICAgICAgb2Jq
ZWN0ID0gb2JqZWN0LT5uZXh0U2libGluZygpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4o
b2JqZWN0KTsKIH0KQEAgLTEwNyw3ICsxMTIsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4KIGlubGluZSBUKiBwcmV2aW91c1NpYmxpbmcoVSYgY3VycmVudCkKIHsKICAgICBS
ZW5kZXJPYmplY3QqIG9iamVjdCA9IGN1cnJlbnQucHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgd2hp
bGUgKG9iamVjdCAmJiAhaXNSZW5kZXJlck9mVHlwZTxjb25zdCBUPigqb2JqZWN0KSkKKyAgICB3
aGlsZSAob2JqZWN0ICYmICFpc1JlbmRlcmVyT2ZUeXBlPFQ+KCpvYmplY3QpKQogICAgICAgICBv
YmplY3QgPSBvYmplY3QtPnByZXZpb3VzU2libGluZygpOwogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxUKj4ob2JqZWN0KTsKIH0KQEAgLTExNSw4ICsxMjAsOCBAQCBpbmxpbmUgVCogcHJldmlvdXNT
aWJsaW5nKFUmIGN1cnJlbnQpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGlubGluZSBUKiBmaW5k
QW5jZXN0b3JPZlR5cGUoY29uc3QgUmVuZGVyT2JqZWN0JiBjdXJyZW50KQogewotICAgIGZvciAo
YXV0byBhbmNlc3RvciA9IGN1cnJlbnQucGFyZW50KCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFu
Y2VzdG9yLT5wYXJlbnQoKSkgewotICAgICAgICBpZiAoaXNSZW5kZXJlck9mVHlwZTxjb25zdCBU
PigqYW5jZXN0b3IpKQorICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBjdXJyZW50LnBhcmVudCgp
OyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYg
KGlzUmVuZGVyZXJPZlR5cGU8VD4oKmFuY2VzdG9yKSkKICAgICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxUKj4oYW5jZXN0b3IpOwogICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCmluZGV4
IDZjMWE4NzRiYzFlMGMzMDI0ZDNjNjNhMzE3ZDFmODEzNzEzOTEzODguLjIwOTkwNDIwMjMzNTYw
M2ViNWRlMGNiMmQ5YjA4MDRmZDU0YjM4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaApAQCAtNzMsNCArNzMsNiBAQCBSRU5ERVJf
T0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCwgaXNSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckxheWVyTW9kZWxPYmplY3QsIGlzUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGF5ZXJNb2RlbE9iamVjdF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFrLmgKaW5kZXggYzM5NGU4NmEz
OGI4MzU1MzYzMTA4NTI2YzFhN2E0ODYyNzcxZmFhOS4uZThlYzVlZjdhMjUyMGY5M2VhZTE4MzMz
ZDFmMTdjMTBkMjlhOTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpbmVCcmVhay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5l
QnJlYWsuaApAQCAtOTcsNCArOTcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
TGluZUJyZWFrLCBpc0xpbmVCcmVhaygpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJMaW5lQnJlYWssIGlzTGlu
ZUJyZWFrKCkpCisKICNlbmRpZiAvLyBSZW5kZXJMaW5lQnJlYWtfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggM2I2ZGI3NmUyZmIwMmQ0ZWE1Y2U0NTljNzIx
ZGNmZTBlYTNmM2MyMS4uNTIyMGI4MmZlNmJjYzdmMjk0M2Y3MzQyMWMzODQzMmI4MGRmZTJiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xNjUsNCArMTY1
LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckxpc3RCb3gsIGlzTGlzdEJveCgp
KQogCiB9IC8vIG5hbWVwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5E
RVJfT0JKRUNUKFJlbmRlckxpc3RCb3gsIGlzTGlzdEJveCgpKQorCiAjZW5kaWYgLy8gUmVuZGVy
TGlzdEJveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCmluZGV4
IDc5NWRlM2FlMzA4MDFlZDZkNDIxOGY5YWQ1ZjkxODQ2MzA4OWJlMWEuLjBhODFhMzhiZjRlMTBk
NjBjOGExMGFkNDU4YzA2ZWE5YTY0ODQzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0SXRlbS5oCkBAIC05Nyw0ICs5Nyw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJMaXN0SXRlbSwgaXNMaXN0SXRlbSgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJMaXN0SXRlbSwg
aXNMaXN0SXRlbSgpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGlzdEl0ZW1faApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKaW5kZXggMjQzZGEwNzcyYzYxOWZiMWU5
MjQ2Yzg1NGYwYTBmOTY4NjVlZDdhMi4uZWE4ZDMyZjlkZTgwYTU5ZDA0YTRmYmM4ZTM4YzVhYjBk
OWU2Mjk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RN
YXJrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5o
CkBAIC04OSw0ICs4OSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJMaXN0TWFy
a2VyLCBpc0xpc3RNYXJrZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGlzdE1hcmtlciwgaXNMaXN0TWFy
a2VyKCkpCisKICNlbmRpZiAvLyBSZW5kZXJMaXN0TWFya2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmgKaW5kZXggZTk1OWUyNDY2MDQ0MjVmYTY3NTQ1MmYxYmY2NzQyMjZj
NTNhMjJmOS4uY2Y0ZTY1ZGE2MjgxMWNkMzJkYzE4NTQzOTVmMGVkNjVlM2QzYTFmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKQEAgLTYwLDYgKzYwLDggQEAgUkVOREVS
X09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1lZGlhLCBpc01lZGlhKCkpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpF
Q1QoUmVuZGVyTWVkaWEsIGlzTWVkaWEoKSkKKworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKIAog
I2VuZGlmIC8vIFJlbmRlck1lZGlhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmgKaW5kZXggNGYwY2QzNjFhZjdmMDhjMTZmNjk2ODlkMWVhMzJhMWNhMDlkODYxMi4u
OTNlNmJiMmI5YWRhMDA3NzQ4ODIyZjc2OTZlMGRjODFhZjFiMDFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKQEAgLTE1NCw2ICsxNTQsOCBAQCBwcml2YXRl
OgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWVudUxpc3QsIGlzTWVudUxpc3Qo
KSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWVudUxpc3QsIGlzTWVudUxpc3QoKSkKIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCmluZGV4IDgwZjMzM2Y4MGMzZTY3YTU3
YWU2NjVhNGE4ZTY3YzAyOGEyODUxYmMuLmE2MzI1MGVhMGFmZWI5OWUxOGNlZThhMjVjZDU5ZjY1
NzE3YWY2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCkBAIC01MSw3
ICs1MSw5IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNZXRlciwgaXNNZXRlcigp
KQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1ldGVyLCBpc01ldGVyKCkpCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVURVJfRUxFTUVOVCkKIAogI2VuZGlmIC8vIFJlbmRlck1ldGVyX2gKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVh
ZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVh
ZC5oCmluZGV4IDg4MDY1ODJmMDIyY2JiNzZkNTBhMTkyOGQzY2NlMmY4ZGEzYjJiMTIuLjdmNzRl
NzI5ZWM3MDZhNDg4NjlhN2E1YjhjY2M4ZjEzYTQ4NTAzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKQEAgLTE2
Myw1ICsxNjMsNyBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTXVsdGlDb2x1bW5G
bG93VGhyZWFkLCBpc1JlbmRlck11bHRpQ29sdW1uRmxvd1RocgogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNdWx0
aUNvbHVtbkZsb3dUaHJlYWQsIGlzUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKCkpCisKICNl
bmRpZiAvLyBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWRfaAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4IGVmZWRiOTFmYmNjZjE0
YWY1MDYwNWVjMGNiZDA4OTVmNjcyZjE4MTAuLjc1MGQ1Y2M5YmNmZjE2ZWFjYzIwYzJhODZkZGM5
Zjc4ZmQ0YzA0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCkBAIC0yMjksNSArMjI5LDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlck11bHRpQ29sdW1uU2V0LCBpc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KFJlbmRlck11bHRpQ29sdW1uU2V0LCBpc1JlbmRlck11bHRpQ29sdW1uU2V0KCkpCisKICNlbmRp
ZiAvLyBSZW5kZXJNdWx0aUNvbHVtblNldF9oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLmgK
aW5kZXggMTBhNWNhNDVhODM3NmQ1N2FjNDk4NjVmNjg3NTA4OTE2M2YyYjIzNy4uY2FhYzJlN2Jk
ZGE3NDdhYmVlOTJlY2M3YThlNzQyMTU0NzgyMzE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyLmgKQEAgLTU5LDQgKzU5LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck11
bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLCBpc1JlbmRlck11bHRpQ29sdW0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1Qo
UmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIsIGlzUmVuZGVyTXVsdGlDb2x1bW5T
cGFubmVyUGxhY2Vob2xkZXIoKSkKKwogI2VuZGlmIC8vIFJlbmRlck11bHRpQ29sdW1uU3Bhbm5l
clBsYWNlaG9sZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dGcmFnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd0ZyYWdtZW50LmgKaW5kZXggOTk5NWUzYWZjMDdkYzRiZDE2Y2VjY2M2YThkZjhkNmNl
MWY2OGIyNS4uZjZjZTJmYTFlZDg4ZTQ0ZmEzNTk1M2JhN2YyYTQ0NGMxYjNhNTJmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgK
QEAgLTE2Nyw0ICsxNjcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTmFtZWRG
bG93RnJhZ21lbnQsIGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVy
TmFtZWRGbG93RnJhZ21lbnQsIGlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSkKKwogI2VuZGlm
IC8vIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaAppbmRleCBlZGU5YzA3YzAxM2I4ZjczMWVkZGY1
NGVmNzBhMDcxYjc4YzJjMjA5Li5kODI3MTNhMjRlOTY4OTMwMDU3Y2RjYjY2M2NlMTk5YjFlMzQy
MGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1Ro
cmVhZC5oCkBAIC0xNjMsNCArMTYzLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ck5hbWVkRmxvd1RocmVhZCwgaXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLCBpc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKQorCiAjZW5kaWYg
Ly8gUmVuZGVyTmFtZWRGbG93VGhyZWFkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAppbmRleCBiMWE4MWM5NGE3YTAwMzFhMjM0M2E0YmNhNGNjZTU1ZGJlZWQyNzgxLi40
NDIzMmZhMzY0YmU5MzcyYmIyODU5MDcxNzFhY2IwNzUyZDkwOTY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiU3R5
bGVJbmhlcml0ZWREYXRhLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMTAzMCw5ICsxMDMxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldEV2
ZXJIYWRMYXlvdXQoYm9vbCBiKSB7IG1fYml0ZmllbGRzLnNldEV2ZXJIYWRMYXlvdXQoYik7IH0K
IH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPiBib29sIGlzUmVuZGVyZXJPZlR5cGUoY29u
c3QgUmVuZGVyT2JqZWN0Jik7Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc1JlbmRlcmVyT2ZU
eXBlPGNvbnN0IFJlbmRlck9iamVjdD4oY29uc3QgUmVuZGVyT2JqZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQotCiBpbmxpbmUgRnJhbWUmIFJlbmRlck9iamVjdDo6ZnJhbWUoKSBjb25zdAogewogICAg
IHJldHVybiAqZG9jdW1lbnQoKS5mcmFtZSgpOwpAQCAtMTEyOCwxMiArMTEyNiwxNyBAQCBpbmxp
bmUgYm9vbCBSZW5kZXJPYmplY3Q6OmJhY2tncm91bmRJc0tub3duVG9CZU9ic2N1cmVkKCkKICAg
ICByZXR1cm4gbV9iaXRmaWVsZHMuYm94RGVjb3JhdGlvblN0YXRlKCkgPT0gSGFzQm94RGVjb3Jh
dGlvbnNBbmRCYWNrZ3JvdW5kSXNLbm93blRvQmVPYnNjdXJlZDsKIH0KIAorLy8gRklYTUU6IFJl
bW92ZSB0aGlzIG1hY3JvIGFuZCB1c2UgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JK
RUNUKCkgaW5zdGVhZC4KICNkZWZpbmUgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFRvVmFsdWVU
eXBlTmFtZSwgcHJlZGljYXRlKSBcCi0gICAgdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNSZW5k
ZXJlck9mVHlwZTxjb25zdCBUb1ZhbHVlVHlwZU5hbWU+KGNvbnN0IFJlbmRlck9iamVjdCYgcmVu
ZGVyZXIpIHsgcmV0dXJuIHJlbmRlcmVyLnByZWRpY2F0ZTsgfSBcCi0gICAgVFlQRV9DQVNUU19C
QVNFKFRvVmFsdWVUeXBlTmFtZSwgUmVuZGVyT2JqZWN0LCByZW5kZXJlciwgaXNSZW5kZXJlck9m
VHlwZTxjb25zdCBUb1ZhbHVlVHlwZU5hbWU+KCpyZW5kZXJlciksIGlzUmVuZGVyZXJPZlR5cGU8
Y29uc3QgVG9WYWx1ZVR5cGVOYW1lPihyZW5kZXJlcikpCisgICAgVFlQRV9DQVNUU19CQVNFKFRv
VmFsdWVUeXBlTmFtZSwgUmVuZGVyT2JqZWN0LCByZW5kZXJlciwgaXM8VG9WYWx1ZVR5cGVOYW1l
PigqcmVuZGVyZXIpLCBpczxUb1ZhbHVlVHlwZU5hbWU+KHJlbmRlcmVyKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCisjZGVmaW5lIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXAorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19CRUdJTihXZWJDb3JlOjpUb1ZhbHVlVHlwZU5hbWUpIFwKKyAgICBzdGF0aWMgYm9vbCBpc1R5
cGUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikgeyByZXR1cm4gcmVuZGVy
ZXIucHJlZGljYXRlOyB9IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2lmbmRl
ZiBOREVCVUcKIC8vIE91dHNpZGUgdGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZvciBlYXNlIG9mIGlu
dm9jYXRpb24gZnJvbSBnZGIuCiB2b2lkIHNob3dOb2RlVHJlZShjb25zdCBXZWJDb3JlOjpSZW5k
ZXJPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5k
ZXggM2NiNGQyNWM1MjkxZGFmMmVjYjlmNzhjZWQ4MDVlNTNlMGRiNjYwZC4uODZlODc2NTRhMzdl
ODFkZDAzMDFlNmY0MTUyMTZiYzRjNjYzMzE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclByb2dyZXNzLmgKQEAgLTYyLDUgKzYyLDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NB
U1RTKFJlbmRlclByb2dyZXNzLCBpc1Byb2dyZXNzKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclByb2dyZXNz
LCBpc1Byb2dyZXNzKCkpCisKICNlbmRpZiAvLyBSZW5kZXJQcm9ncmVzc19oCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKaW5kZXggZWEyYTgzY2Q0MDkxMmJiNzNhNzIxZjAx
MzQwNDIxZjNhMjAzNjM4MS4uYWI5YjhjYTFiNGZhZDU4NTA5ZDA3MDFjOWNlYTVlODQzYTYxOTI5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKQEAgLTU5LDQgKzU5LDYg
QEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclF1b3RlLCBpc1F1b3RlKCkpCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JK
RUNUKFJlbmRlclF1b3RlLCBpc1F1b3RlKCkpCisKICNlbmRpZiAvLyBSZW5kZXJRdW90ZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggM2FjZWMwYTRkNWRhYWYz
MTA0NjNmNDk2YmU1ZGEzOWZlOTZjNjAzZS4uMDFlNjc0YzBiYjIxY2JjMmFmNTBmZGMyY2VjZWQ5
M2E5NTcyOTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAt
MTc5LDggKzE3OSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzVmFsaWQgOiAxOwogfTsKIAot
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclJlZ2lvbiwgaXNSZW5kZXJSZWdpb24oKSkK
LQogY2xhc3MgQ3VycmVudFJlbmRlclJlZ2lvbk1haW50YWluZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEN1cnJlbnRSZW5kZXJSZWdpb25NYWludGFpbmVyKTsKIHB1YmxpYzoKQEAgLTE5
NCw0ICsxOTIsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJSZWdpb24sIGlzUmVuZGVyUmVn
aW9uKCkpCisKICNlbmRpZiAvLyBSZW5kZXJSZWdpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVwbGFjZWQuaAppbmRleCBkMmFiN2I4NmU2Y2JkMjg3ODg5ZjBhNDVmZDBjMzgy
MDdjMTkyM2Q0Li5hODU5MzcyNjdiZjBiNzFhMjE1YjdiMTZiODBmMzdhMDU0NGM3ZGY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtOTEsNiArOTEsOCBA
QCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyUmVwbGFjZWQsIGlz
UmVuZGVyUmVwbGFjZWQoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyUmVwbGFjZWQsIGlzUmVuZGVyUmVw
bGFjZWQoKSkKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUnVieVJ1bi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4u
aAppbmRleCAyZmUxNWI5MGZjMTE4MDI4ZmZmNTNlNTVhYmNlNGM0MGFmNzViOWU0Li5hMGFkYWZi
YTc3MDJiMmM4YzI1MmM0ZDUxMGYwNDZhNmY0ZmYzZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSdWJ5UnVuLmgKQEAgLTgxLDQgKzgxLDYgQEAgUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclJ1YnlSdW4sIGlzUnVieVJ1bigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJSdWJ5UnVu
LCBpc1J1YnlSdW4oKSkKKwogI2VuZGlmIC8vIFJlbmRlclJ1YnlSdW5faApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgKaW5kZXggMGQzOGQ2ZjRiNjZk
NzZjYjAxZTNiZTY2NWUzYTg2OTY1M2Y0ZTdmZi4uMGNiNjcwYjMyMGUwYThlNGZiMTBjMzc2YjYy
YzRkNzMwYjMwNWQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclBhcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Ny
b2xsYmFyUGFydC5oCkBAIC03Nyw0ICs3Nyw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJTY3JvbGxiYXJQYXJ0LCBpc1JlbmRlclNjcm9sbGJhclBhcnQoKSkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVu
ZGVyU2Nyb2xsYmFyUGFydCwgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0KCkpCisKICNlbmRpZiAvLyBS
ZW5kZXJTY3JvbGxiYXJQYXJ0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWFyY2hGaWVsZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNl
YXJjaEZpZWxkLmgKaW5kZXggNDM2NTYxYzE3ZTVlMjZiNzJiOTY2YWQ4NmY1OWNhNDRkM2M0Njkx
OS4uMGEwNjYzMzBhYWRjYjk2OGI3NTg2ZDQ1MDZjZjlmOTlkODNlNzYzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKQEAgLTkyLDYgKzkyLDggQEAg
cHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNlYXJjaEZpZWxkLCBp
c1RleHRGaWVsZCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTZWFyY2hGaWVsZCwgaXNUZXh0RmllbGQo
KSkKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2xpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmgKaW5kZXgg
OTY1NzJlZmU4NzI4MGNlODI2YTg4MzIzZWZlZDFjNjdjODM0NTI4OS4uZGE4YWM3YWI4Njc3NDk4
NDgwNDExNWJkN2Y1ODY2OThmMTJkYzI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNsaWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbGlkZXIuaApAQCAtNTUsNCArNTUsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyU2xpZGVyLCBpc1NsaWRlcigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTbGlkZXIsIGlzU2xpZGVyKCkp
CisKICNlbmRpZiAvLyBSZW5kZXJTbGlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaAppbmRleCBlZGY1NzUxYWQ0MTEyYzE3MjAy
ZTFhMGU3NjNjNzYxNjcwMTEwM2VjLi4wOTJjNTBmYjQ1MDRlYTJmYTZiYjdmZDBmNzEzN2ExMjRh
MmNkNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW4uaApAQCAtNjcsNCArNjcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyU25hcHNob3R0ZWRQbHVnSW4sIGlzU25hcHNob3R0ZWRQbHVnSW4oKSkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1Qo
UmVuZGVyU25hcHNob3R0ZWRQbHVnSW4sIGlzU25hcHNob3R0ZWRQbHVnSW4oKSkKKwogI2VuZGlm
IC8vIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmgKaW5kZXggM2Y0YmI4YWUwNzMxNzk1MTY4NmJkY2M3NmFjOWQ0MGRhZmRiYjA5ZS4u
ZDlkMWVlOGIwNGUxN2U3OGM5ZjVhZGEzZjVkNmJhYjcxMjcxNGIxMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAgLTM4NSw0ICszODUsNiBAQCBSRU5ERVJfT0JKRUNU
X1RZUEVfQ0FTVFMoUmVuZGVyVGFibGUsIGlzVGFibGUoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGFibGUs
IGlzVGFibGUoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaAppbmRleCAxNGJhOWQyZDM4YzJhZDNmOTE1
YmIxM2Y1M2U0NzFiZDA0MzMwNDExLi45NjNiMTgxYjFlYmYzZTk0YTA2YjlmZWZiZjM5N2YyMTU2
ZWRjN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVD
YXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlv
bi5oCkBAIC00OCw0ICs0OCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJs
ZUNhcHRpb24sIGlzVGFibGVDYXB0aW9uKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlQ2FwdGlvbiwg
aXNUYWJsZUNhcHRpb24oKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlQ2FwdGlvbl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggOGE1YmYyYTQ3Mzdj
ZTQ1MjBiZWExNDJkYmQ3NDMxMjljNTM4ZTA2OC4uNzdjOTJiOTkwYjhkYjVjYWNjY2RiZGUwMTI0
ODJiODNkMzg1OWMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuaApAQCAtMzE4LDQgKzMxOCw2IEBAIGlubGluZSBSZW5kZXJUYWJsZUNlbGwqIFJlbmRlclRh
YmxlUm93OjpsYXN0Q2VsbCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlQ2VsbCwgaXNUYWJs
ZUNlbGwoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlQ2VsbF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCmluZGV4IDlkZDkzNTY0ZjZhODBmMGU2ODFiNzhiYTM3
ODI0ZjQxYjg2YWNmOTMuLmI3OWQyYzNhMWI5NjUzZGRlMDBlMTk3YzM5NzE0NDkzMDc2ZGM0MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCkBAIC0xMDIsNiAr
MTAyLDggQEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclRhYmxl
Q29sLCBpc1JlbmRlclRhYmxlQ29sKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGFibGVD
b2wsIGlzUmVuZGVyVGFibGVDb2woKSkKKworI2VuZGlmIC8vIFJlbmRlclRhYmxlQ29sX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKaW5kZXggNjQ3MGU2ZjJiNmQw
NTRhMzIyOGU3OWQ5ZTkwMGI3YzRmZjUwNzEzNS4uNzViZWNiNTI0OGYyMWRmOTE0OWM4MGZiOGZm
MjNhZGJiYjUwMjdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93
LmgKQEAgLTE0Myw0ICsxNDMsNiBAQCBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxl
Um93OjpwcmV2aW91c1JvdygpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlUm93LCBpc1RhYmxl
Um93KCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZVJvd19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKaW5kZXggZWUyMzMwOTE2NDIwM2Q4MGY3MjJl
Y2FhZDEzZjY5ZTk4Y2RhYWY5ZC4uYjRiMzBjMTY0ZWIwMmM3ZmYxZjI4OTc0ZGY5OGRkYmU5OGY3
ODYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
aApAQCAtMzUxLDQgKzM1MSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJs
ZVNlY3Rpb24sIGlzVGFibGVTZWN0aW9uKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlU2VjdGlvbiwg
aXNUYWJsZVNlY3Rpb24oKSkKKwogI2VuZGlmIC8vIFJlbmRlclRhYmxlU2VjdGlvbl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCA4NDExNWEzM2UyYTE0NTU4NmYwNjRm
NzJlZjU1OGQyM2MwMDllNTA2Li4wZWIyMzNjM2E1NTFjYzhkMzQ4YTQxNDg4MjY5Mzg1NmYyZjky
N2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAgLTI1OSw0ICsyNTks
NiBAQCBpbmxpbmUgUmVuZGVyVGV4dCogVGV4dDo6cmVuZGVyZXIoKSBjb25zdAogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChS
ZW5kZXJUZXh0LCBpc1RleHQoKSkKKwogI2VuZGlmIC8vIFJlbmRlclRleHRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCAyMTUwODQwMjMyY2Vh
NTRmYWY0OTk1NmQ2YTVjOGEwZTM0NTAwYjk0Li5iOWMyYTM3Mzg5OGZkYzcxYmQ4N2ZkNWY5MDM0
YzlkNDViMzAzMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuaApAQCAtMTA5LDcgKzEwOSw4IEBAIHB1YmxpYzoKIAogfTsKIAotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJUZXh0Q29udHJvbCwgaXNUZXh0Q29udHJvbCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyVGV4dENv
bnRyb2xfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sTXVsdGlMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2xNdWx0aUxpbmUuaAppbmRleCA4NGFiMjI4YzlkY2E4OTM0NmM0OTIzMjQ2MWQyNTMyNGYz
NGI4YjMyLi42NDU1YzEwZmMwYjk4NjY3Zjg3ZjY1OGQ3ZDU1YWVjYmZmZWQwZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxp
bmUuaApAQCAtNTMsNiArNTMsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FT
VFMoUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUsIGlzVGV4dEFyZWEoKSkKIAotfQorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVS
X09CSkVDVChSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSwgaXNUZXh0QXJlYSgpKQorCisjZW5k
aWYgLy8gUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCmluZGV4IGZlYjgw
NTFlN2U4MTRhZmM4OTVkYjJkOTFmYjg4ZWIxNjg4MDU1YjQuLjYxYzA3ZDZiNWRjNWYyZTcyMjY5
YTc0ZDRiYTAyZTIzZGY0MDAzZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTExNSw2ICsxMTUsOSBAQCBw
cml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGV4dENvbnRyb2xJbm5l
ckJsb2NrLCBpc1RleHRDb250cm9sSW5uZXJCbG9jaygpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUsIGlzVGV4dEZpZWxkKCkpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGV4dENvbnRyb2xJbm5lckJsb2NrLCBpc1RleHRDb250cm9s
SW5uZXJCbG9jaygpKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBSZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRG
cmFnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFnbWVudC5o
CmluZGV4IGIwM2Q0NjJkNWZkZGRkNTY5ZWZhMTQwZWE5ZTA4MDllYWQ5ZTM5NWYuLjZjMmFmMmJi
ZjNiOWJmYzU2NjBmODVmZTI0NTFhZDZjNDM2OTljN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50LmgKQEAgLTc2LDQgKzc2LDYgQEAgUkVOREVSX09C
SkVDVF9UWVBFX0NBU1RTKFJlbmRlclRleHRGcmFnbWVudCwgaXNUZXh0KCkgJiYgdG9SZW5kZXJU
ZXh0KHJlbmRlcmVyKS4KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGV4dEZyYWdtZW50LCBpc1RleHQoKSAmJiB0
b1JlbmRlclRleHQocmVuZGVyZXIpLmlzVGV4dEZyYWdtZW50KCkpCisKICNlbmRpZiAvLyBSZW5k
ZXJUZXh0RnJhZ21lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAppbmRl
eCA0N2I1MDE1OGVlODI0YjU0OTFjNzUzNjU2ZjRhMjNiYzdlYzAzNTM0Li41NGFlM2YwNWJhMTBm
OTUxNDE3ZmQ2NjljOTY0YzQwMTJkYTI4NzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uaApAQCAtOTQsNSArOTQsNyBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyVmlkZW8sIGlzVmlkZW8oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJWaWRlbywgaXNWaWRl
bygpKQorCisjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQogI2VuZGlmIC8vIFJlbmRlclZpZGVvX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IGQyY2UwN2Q5NjY5NWU3NzA0
YWNjNDZiMDIzOWZiYzI1NzQwYTI4YTQuLjU2N2M1M2ZiNTY4YjY4MDY3YmM5MTJjNDMzNjg5ZjA1
ZjljMTAyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtNDU2LDQg
KzQ1Niw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclZpZXcsIGlzUmVuZGVyVmlldygpKQor
CiAjZW5kaWYgLy8gUmVuZGVyVmlld19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lk
Z2V0LmgKaW5kZXggMTU3ODFmNjBhZDI4Yjg5ZDFkMGNkN2E5MjU1YzU4MmVkNTJkZmI2OC4uYjI3
YWU5YWUzY2ZiMGM1ZWYzMDJkMWM1MWM2OTE2YmZhZDU3NjcwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJXaWRnZXQuaApAQCAtMTA4LDQgKzEwOCw2IEBAIFJFTkRFUl9PQkpFQ1Rf
VFlQRV9DQVNUUyhSZW5kZXJXaWRnZXQsIGlzV2lkZ2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlcldpZGdl
dCwgaXNXaWRnZXQoKSkKKwogI2VuZGlmIC8vIFJlbmRlcldpZGdldF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKaW5kZXggZjQx
NTAwZTc2YTIyOWE3MmI5ZmMzZmI4ZjQyMmE1YjNlNGJiNDVmYy4uYzk0YTIxZDdkYmMyNzRlOTgz
ZGI4ZTc2MGYyZjUxMDYyN2EwNGFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaApAQCAtNjksOCArNjksNiBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlOwog
fTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTEJsb2NrLCBpc1JlbmRl
ck1hdGhNTEJsb2NrKCkpCi0KIGNsYXNzIFJlbmRlck1hdGhNTFRhYmxlIGZpbmFsIDogcHVibGlj
IFJlbmRlclRhYmxlIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXRoTUxUYWJsZShF
bGVtZW50JiBlbGVtZW50LCBQYXNzUmVmPFJlbmRlclN0eWxlPiBzdHlsZSkKQEAgLTg1LDEyICs4
MywxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxUYWJsZSI7IH0KIH07CiAKLVJFTkRF
Ul9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxUYWJsZSwgaXNSZW5kZXJNYXRoTUxUYWJs
ZSgpKQotCiAvLyBQYXJzaW5nIGZ1bmN0aW9ucyBmb3IgTWF0aE1MIExlbmd0aCB2YWx1ZXMKIGJv
b2wgcGFyc2VNYXRoTUxMZW5ndGgoY29uc3QgU3RyaW5nJiwgTGF5b3V0VW5pdCYsIGNvbnN0IFJl
bmRlclN0eWxlKiwgYm9vbCBhbGxvd05lZ2F0aXZlID0gdHJ1ZSk7CiBib29sIHBhcnNlTWF0aE1M
TmFtZWRTcGFjZShjb25zdCBTdHJpbmcmLCBMYXlvdXRVbml0JiwgY29uc3QgUmVuZGVyU3R5bGUq
LCBib29sIGFsbG93TmVnYXRpdmUgPSB0cnVlKTsKLX0KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MQmxv
Y2ssIGlzUmVuZGVyTWF0aE1MQmxvY2soKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVS
X09CSkVDVChSZW5kZXJNYXRoTUxUYWJsZSwgaXNSZW5kZXJNYXRoTUxUYWJsZSgpKQogCiAjZW5k
aWYgLy8gRU5BQkxFKE1BVEhNTCkKICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxCbG9ja19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5jcHAKaW5kZXggMzFkZWZmMTgyMjk3ZTRiZjljZDgwNWFkODJkNTc4OGZhZmQxOGQyYi4uYTg0
OTM1YWVhZWJiMTBhMDdjYmQ0ZWFkOWRjYmJhZTBkNGRhZTk4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcApAQCAt
NzgsNyArNzgsNyBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6dXBkYXRlRnJvbUVsZW1lbnQo
KQogICAgICAgICBtYWtlRmVuY2VzKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgbWZlbmNlZCBlbGVtZW50IGZhaWxzIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0cyBv
cGVuLCBjbG9zZSBhbmQgc2VwYXJhdG9ycyBhdHRyaWJ1dGVzIGFyZSBjaGFuZ2VkIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc2OTYpLgotICAgICAgICB0b1JlbmRl
ck1hdGhNTE9wZXJhdG9yKGZpcnN0Q2hpbGQoKSktPnVwZGF0ZVRva2VuQ29udGVudChtX29wZW4p
OworICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKmZpcnN0Q2hpbGQoKSku
dXBkYXRlVG9rZW5Db250ZW50KG1fb3Blbik7CiAgICAgICAgIG1fY2xvc2VGZW5jZVJlbmRlcmVy
LT51cGRhdGVUb2tlbkNvbnRlbnQobV9jbG9zZSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcApp
bmRleCBjY2VjNDFlZGZiOGE3MTc2M2MwNWFhMjAwY2QzYWQ2ZThjOThhYzU2Li5iNWVmMjdmZWQz
NjM1OGExMzliNTExM2JlZTk0ODBjMWZlMWQyOGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcApAQCAtMTIw
LDExICsxMjAsMTEgQEAgUmVuZGVyTWF0aE1MT3BlcmF0b3IqIFJlbmRlck1hdGhNTEZyYWN0aW9u
Ojp1bmVtYmVsbGlzaGVkT3BlcmF0b3IoKQogewogICAgIFJlbmRlck9iamVjdCogbnVtZXJhdG9y
V3JhcHBlciA9IGZpcnN0Q2hpbGQoKTsKICAgICBpZiAoIW51bWVyYXRvcldyYXBwZXIpCi0gICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBSZW5kZXJPYmplY3Qq
IG51bWVyYXRvciA9IG51bWVyYXRvcldyYXBwZXItPmZpcnN0Q2hpbGRTbG93KCk7Ci0gICAgaWYg
KCFudW1lcmF0b3IgfHwgIW51bWVyYXRvci0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKQotICAgICAg
ICByZXR1cm4gMDsKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxCbG9jayhudW1lcmF0b3IpLT51
bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKKyAgICBpZiAoIWlzPFJlbmRlck1hdGhNTEJsb2NrPihu
dW1lcmF0b3IpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gZG93bmNhc3Q8
UmVuZGVyTWF0aE1MQmxvY2s+KCpudW1lcmF0b3IpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwog
fQogCiB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpsYXlvdXQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCmluZGV4
IDY5MjJkMjlmZTU1OWU2OTIxNzMyNTI3MjJkYTk4MDUxZjIxMjcwYmIuLjhmMmM3MTc5MzlkMTIy
YmI2NDY5MThlZGUzYzlmZmNjNWRiODYwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKQEAgLTU4LDkgKzU4LDkg
QEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1fbGluZVRoaWNrbmVzczsKIH07CiAKLVJFTkRF
Ul9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxGcmFjdGlvbiwgaXNSZW5kZXJNYXRoTUxG
cmFjdGlvbigpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MRnJhY3Rpb24sIGlzUmVuZGVyTWF0aE1M
RnJhY3Rpb24oKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAppbmRl
eCBjMjA5ODc4Nzc0ZjgwODc3OGY3NDQ2ZWRhZDNiNGEyYTNkNGNkYjcxLi41MzYxYmY0ZWRiOWYw
MDM1ODBhNzhkZTA5MzcyNjJiMzE1OTZlMzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCkBAIC0xODksOSArMTg5
LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBTZXRPcGVyYXRvclByb3BlcnRpZXMo
KTsKIH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxPcGVyYXRvciwg
aXNSZW5kZXJNYXRoTUxPcGVyYXRvcigpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MT3BlcmF0b3Is
IGlzUmVuZGVyTWF0aE1MT3BlcmF0b3IoKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAj
ZW5kaWYgLy8gUmVuZGVyTWF0aE1MT3BlcmF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLmgK
aW5kZXggNDBhYTlmOGNhMzI3NzJjYjcyZTliNGIwNTg3NTNmMTEwYzdhNTcwMy4uYmMzYjRiZTFi
ZWUzMTdiOTEyYTU1ZjQ3ZGNlNjY4OGE3OWFjOWMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRv
ci5oCkBAIC00OCw5ICs0OCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBTZXRPcGVyYXRvclByb3Bl
cnRpZXMoKSBvdmVycmlkZTsKIH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJN
YXRoTUxSYWRpY2FsT3BlcmF0b3IsIGlzUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yKCkpCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVS
X09CSkVDVChSZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IsIGlzUmVuZGVyTWF0aE1MUmFkaWNh
bE9wZXJhdG9yKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogI2VuZGlmIC8vIFJlbmRl
ck1hdGhNTFJhZGljYWxPcGVyYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcAppbmRleCAyNzU2MzQ5MjU1MjBkOGJlOGYw
MDA3Y2UzOGFkYTE4YjIzNzcwNzY3Li4yODA2MzkwNjhkNTZhZDkwYTI3OTI0MmY3NWY5YTcwOTc5
ZTg0NDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFJvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MUm9vdC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJQYWludEluZm8u
aCIKICNpbmNsdWRlICJSZW5kZXJJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFJh
ZGljYWxPcGVyYXRvci5oIgorI2luY2x1ZGUgIlJlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIApAQCAtNjcsMjUgKzY4LDI1IEBAIFJlbmRlck1hdGhN
TFJvb3Q6OlJlbmRlck1hdGhNTFJvb3QoRG9jdW1lbnQmIGRvY3VtZW50LCBQYXNzUmVmPFJlbmRl
clN0eWxlPiBzdHlsCiBSZW5kZXJNYXRoTUxSb290V3JhcHBlciogUmVuZGVyTWF0aE1MUm9vdDo6
YmFzZVdyYXBwZXIoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNFbXB0eSgpKTsKLSAgICByZXR1
cm4gdG9SZW5kZXJNYXRoTUxSb290V3JhcHBlcihsYXN0Q2hpbGQoKSk7CisgICAgcmV0dXJuIGRv
d25jYXN0PFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyPihsYXN0Q2hpbGQoKSk7CiB9CiAKIFJlbmRl
ck1hdGhNTEJsb2NrKiBSZW5kZXJNYXRoTUxSb290OjpyYWRpY2FsV3JhcHBlcigpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwotICAgIHJldHVybiB0b1JlbmRlck1hdGhNTEJsb2Nr
KGxhc3RDaGlsZCgpLT5wcmV2aW91c1NpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJl
bmRlck1hdGhNTEJsb2NrPihsYXN0Q2hpbGQoKS0+cHJldmlvdXNTaWJsaW5nKCkpOwogfQogCiBS
ZW5kZXJNYXRoTUxSb290V3JhcHBlciogUmVuZGVyTWF0aE1MUm9vdDo6aW5kZXhXcmFwcGVyKCkg
Y29uc3QKIHsKICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIGlzUmVuZGVyTWF0
aE1MU3F1YXJlUm9vdCgpID8gbnVsbHB0ciA6IHRvUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIoZmly
c3RDaGlsZCgpKTsKKyAgICByZXR1cm4gaXM8UmVuZGVyTWF0aE1MU3F1YXJlUm9vdD4oKnRoaXMp
ID8gbnVsbHB0ciA6IGRvd25jYXN0PFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyPihmaXJzdENoaWxk
KCkpOwogfQogCiBSZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IqIFJlbmRlck1hdGhNTFJvb3Q6
OnJhZGljYWxPcGVyYXRvcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwotICAg
IHJldHVybiB0b1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvcihyYWRpY2FsV3JhcHBlcigpLT5m
aXJzdENoaWxkKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxSYWRpY2FsT3Bl
cmF0b3I+KHJhZGljYWxXcmFwcGVyKCktPmZpcnN0Q2hpbGQoKSk7CiB9CiAKIHZvaWQgUmVuZGVy
TWF0aE1MUm9vdDo6cmVzdHJ1Y3R1cmVXcmFwcGVycygpCkBAIC0zNTgsNyArMzU5LDcgQEAgUmVu
ZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxSb290V3JhcHBlcjo6cmVtb3ZlQ2hpbGQoUmVuZGVyT2Jq
ZWN0JiBjaGlsZCkKICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSBSZW5kZXJNYXRoTUxCbG9jazo6
cmVtb3ZlQ2hpbGQoY2hpbGQpOwogCiAgICAgaWYgKCEoYmVpbmdEZXN0cm95ZWQoKSB8fCBkb2N1
bWVudEJlaW5nRGVzdHJveWVkKCkpKQotICAgICAgICB0b1JlbmRlck1hdGhNTFJvb3QocGFyZW50
KCkpLT5yZXN0cnVjdHVyZVdyYXBwZXJzKCk7CisgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhN
TFJvb3Q+KCpwYXJlbnQoKSkucmVzdHJ1Y3R1cmVXcmFwcGVycygpOwogCiAgICAgcmV0dXJuIG5l
eHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFJvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MUm9vdC5oCmluZGV4IGZlOTNkZWU4NjYzN2Q5MTYzODk1MDk0MzE3YjI2MTYxODUzMWRmOGIu
LmFmMDAwYTcyYzM5MzcwYWVjMmYzODIyNWRlNTk2NTNjNWNjY2JlOGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCkBAIC03MSw4
ICs3MSw2IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBtX2V4dHJhQXNjZW5kZXI7CiAgICAg
ZmxvYXQgbV9kZWdyZWVCb3R0b21SYWlzZVBlcmNlbnQ7CiB9OwotICAgIAotUkVOREVSX09CSkVD
VF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTFJvb3QsIGlzUmVuZGVyTWF0aE1MUm9vdCgpKQogCiAv
LyBUaGVzZSBhcmUgc3BlY2lmaWMgd3JhcHBlcnMgZm9yIHRoZSBpbmRleCBhbmQgYmFzZSwgdGhh
dCBhc2sgdGhlIHBhcmVudCB0byByZXN0cnVjdHVyZSB0aGUgcmVuZGVyZXJzIGFmdGVyIGNoaWxk
IHJlbW92YWwuCiBjbGFzcyBSZW5kZXJNYXRoTUxSb290V3JhcHBlciA6IHB1YmxpYyBSZW5kZXJN
YXRoTUxSb3cgewpAQCAtOTEsOSArODksMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0
IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyTWF0aE1M
Um9vdFdyYXBwZXIiOyB9CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0
aE1MUm9vdFdyYXBwZXIsIGlzUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIoKSkKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJl
bmRlck1hdGhNTFJvb3QsIGlzUmVuZGVyTWF0aE1MUm9vdCgpKQorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTFJvb3RXcmFwcGVyLCBpc1JlbmRlck1hdGhN
TFJvb3RXcmFwcGVyKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKaW5kZXgg
M2U4MzM3OGU1MjIyYjQzMWQ4M2E0MmZjZjZjOTUwNjIyZTlmZWY0Ny4uY2YwNDlhZDVjZjUyMmVm
YjVkYWE5ODU3NGM2NDZhMGRhOTM0ODQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcApAQCAtNTgsOCArNTgsOCBAQCBSZW5k
ZXJQdHI8UmVuZGVyTWF0aE1MUm93PiBSZW5kZXJNYXRoTUxSb3c6OmNyZWF0ZUFub255bW91c1dp
dGhQYXJlbnRSZW5kZXJlcihSZQogdm9pZCBSZW5kZXJNYXRoTUxSb3c6OnVwZGF0ZU9wZXJhdG9y
UHJvcGVydGllcygpCiB7CiAgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGls
ZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAo
Y2hpbGQtPmlzUmVuZGVyTWF0aE1MQmxvY2soKSkgewotICAgICAgICAgICAgaWYgKGF1dG8gcmVu
ZGVyT3BlcmF0b3IgPSB0b1JlbmRlck1hdGhNTEJsb2NrKGNoaWxkKS0+dW5lbWJlbGxpc2hlZE9w
ZXJhdG9yKCkpCisgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxCbG9jaz4oKmNoaWxkKSkgewor
ICAgICAgICAgICAgaWYgKGF1dG8qIHJlbmRlck9wZXJhdG9yID0gZG93bmNhc3Q8UmVuZGVyTWF0
aE1MQmxvY2s+KCpjaGlsZCkudW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkpCiAgICAgICAgICAgICAg
ICAgcmVuZGVyT3BlcmF0b3ItPnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcygpOwogICAgICAgICB9
CiAgICAgfQpAQCAtNzEsMjYgKzcxLDI2IEBAIHZvaWQgUmVuZGVyTWF0aE1MUm93OjpsYXlvdXQo
KQogICAgIGludCBzdHJldGNoSGVpZ2h0QWJvdmVCYXNlbGluZSA9IDAsIHN0cmV0Y2hEZXB0aEJl
bG93QmFzZWxpbmUgPSAwOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hp
bGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYg
KGNoaWxkLT5uZWVkc0xheW91dCgpKQotICAgICAgICAgICAgdG9SZW5kZXJFbGVtZW50KGNoaWxk
KS0+bGF5b3V0KCk7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKSB7
CisgICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqY2hpbGQpLmxheW91dCgpOwor
ICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkpIHsKICAgICAgICAgICAg
IC8vIFdlIHNraXAgdGhlIHN0cmV0Y2h5IG9wZXJhdG9ycyBhcyB0aGV5IG11c3Qgbm90IGJlIGlu
Y2x1ZGVkIGluIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgc3RyZXRjaCBzaXplLgotICAgICAgICAg
ICAgYXV0byByZW5kZXJPcGVyYXRvciA9IHRvUmVuZGVyTWF0aE1MQmxvY2soY2hpbGQpLT51bmVt
YmVsbGlzaGVkT3BlcmF0b3IoKTsKKyAgICAgICAgICAgIGF1dG8qIHJlbmRlck9wZXJhdG9yID0g
ZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkudW5lbWJlbGxpc2hlZE9wZXJhdG9y
KCk7CiAgICAgICAgICAgICBpZiAocmVuZGVyT3BlcmF0b3IgJiYgcmVuZGVyT3BlcmF0b3ItPmhh
c09wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KSkKICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBMYXlvdXRVbml0IGNoaWxk
SGVpZ2h0QWJvdmVCYXNlbGluZSA9IDAsIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gMDsKLSAg
ICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlck1hdGhNTEJsb2NrKCkpIHsKLSAgICAgICAgICAgIFJl
bmRlck1hdGhNTEJsb2NrKiBtYXRobWxDaGlsZCA9IHRvUmVuZGVyTWF0aE1MQmxvY2soY2hpbGQp
OwotICAgICAgICAgICAgY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gbWF0aG1sQ2hpbGQtPmZp
cnN0TGluZUJhc2VsaW5lKCk7CisgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxCbG9jaz4oKmNo
aWxkKSkgeworICAgICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2smIG1hdGhtbENoaWxkID0gZG93
bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCk7CisgICAgICAgICAgICBjaGlsZEhlaWdo
dEFib3ZlQmFzZWxpbmUgPSBtYXRobWxDaGlsZC5maXJzdExpbmVCYXNlbGluZSgpOwogICAgICAg
ICAgICAgaWYgKGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9PSAtMSkKLSAgICAgICAgICAgICAg
ICBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSBtYXRobWxDaGlsZC0+bG9naWNhbEhlaWdodCgp
OwotICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxpbmUgPSBtYXRobWxDaGlsZC0+bG9n
aWNhbEhlaWdodCgpIC0gY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lOwotICAgICAgICB9IGVsc2Ug
aWYgKGNoaWxkLT5pc1JlbmRlck1hdGhNTFRhYmxlKCkpIHsKLSAgICAgICAgICAgIFJlbmRlck1h
dGhNTFRhYmxlKiB0YWJsZUNoaWxkID0gdG9SZW5kZXJNYXRoTUxUYWJsZShjaGlsZCk7Ci0gICAg
ICAgICAgICBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSB0YWJsZUNoaWxkLT5maXJzdExpbmVC
YXNlbGluZSgpOwotICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxpbmUgPSB0YWJsZUNo
aWxkLT5sb2dpY2FsSGVpZ2h0KCkgLSBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmU7Ci0gICAgICAg
IH0gZWxzZSBpZiAoY2hpbGQtPmlzQm94KCkpIHsKLSAgICAgICAgICAgIGNoaWxkSGVpZ2h0QWJv
dmVCYXNlbGluZSA9IHRvUmVuZGVyQm94KGNoaWxkKS0+bG9naWNhbEhlaWdodCgpOworICAgICAg
ICAgICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IG1hdGhtbENoaWxkLmxvZ2ljYWxI
ZWlnaHQoKTsKKyAgICAgICAgICAgIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gbWF0aG1sQ2hp
bGQubG9naWNhbEhlaWdodCgpIC0gY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lOworICAgICAgICB9
IGVsc2UgaWYgKGlzPFJlbmRlck1hdGhNTFRhYmxlPigqY2hpbGQpKSB7CisgICAgICAgICAgICBS
ZW5kZXJNYXRoTUxUYWJsZSYgdGFibGVDaGlsZCA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFRhYmxl
PigqY2hpbGQpOworICAgICAgICAgICAgY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gdGFibGVD
aGlsZC5maXJzdExpbmVCYXNlbGluZSgpOworICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFz
ZWxpbmUgPSB0YWJsZUNoaWxkLmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkSGVpZ2h0QWJvdmVCYXNl
bGluZTsKKyAgICAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJCb3g+KCpjaGlsZCkpIHsKKyAgICAg
ICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IGRvd25jYXN0PFJlbmRlckJveD4oKmNo
aWxkKS5sb2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgICAgICBjaGlsZERlcHRoQmVsb3dCYXNlbGlu
ZSA9IDA7CiAgICAgICAgIH0KICAgICAgICAgc3RyZXRjaEhlaWdodEFib3ZlQmFzZWxpbmUgPSBz
dGQ6Om1heDxMYXlvdXRVbml0PihzdHJldGNoSGVpZ2h0QWJvdmVCYXNlbGluZSwgY2hpbGRIZWln
aHRBYm92ZUJhc2VsaW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUm93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFJvdy5oCmluZGV4IDU3MzJlYzE3ZGU2NTdiZGJkNTZhNzVlZTMxNmUwOWUz
ZmFhMDdmMDIuLmJhNWRmODgyNTdkNjhkYmQxNDAyMTQ2YzFjZTBlZjVhMDc3ODcwMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuaApA
QCAtNTAsOSArNTAsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzQW5vbnltb3VzKCkgPyAiUmVuZGVyTWF0
aE1MUm93IChhbm9ueW1vdXMpIiA6ICJSZW5kZXJNYXRoTUxSb3ciOyB9CiB9OwogCi1SRU5ERVJf
T0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MUm93LCBpc1JlbmRlck1hdGhNTFJvdygpKQor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRF
Ul9PQkpFQ1QoUmVuZGVyTWF0aE1MUm93LCBpc1JlbmRlck1hdGhNTFJvdygpKQogCiAjZW5kaWYg
Ly8gRU5BQkxFKE1BVEhNTCkKICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxSb3dfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5j
cHAKaW5kZXggMGM0Y2IxYmRiNjEyMjhkMGM1ZjhjZmQyMjQzM2UzNWMxMDI2MDAyMy4uZGZhNDRm
ZThiM2RmOTg1ZDBmYTM4M2EyYmI2MmM5MmYwZjUxNzAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwCkBAIC0x
NTMsMTAgKzE1MywxMCBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlwdHM6OmFkZENoaWxkSW50ZXJu
YWwoYm9vbCBkb05vdFJlc3RydWN0dXJlLCBSZW5kZXJPYmplY3QqCiAgICAgICAgIC8vIGJlZm9y
ZUNoaWxkIG1heSBiZSBhIGdyYW5kY2hpbGQsIHNvIHdlIGNhbGwgdGhlIGFkZENoaWxkIGZ1bmN0
aW9uIG9mIHRoZSBjb3JyZXNwb25kaW5nIHdyYXBwZXIgaW5zdGVhZC4KICAgICAgICAgUmVuZGVy
T2JqZWN0KiBwYXJlbnQgPSBiZWZvcmVDaGlsZC0+cGFyZW50KCk7CiAgICAgICAgIGlmIChwYXJl
bnQgIT0gdGhpcykgewotICAgICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2sqIHBhcmVudEJsb2Nr
ID0gdG9SZW5kZXJNYXRoTUxCbG9jayhwYXJlbnQpOwotICAgICAgICAgICAgaWYgKHBhcmVudEJs
b2NrLT5pc1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKCkpIHsKLSAgICAgICAgICAgICAgICBS
ZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBlciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0
c1dyYXBwZXIocGFyZW50QmxvY2spOwotICAgICAgICAgICAgICAgIHdyYXBwZXItPmFkZENoaWxk
SW50ZXJuYWwoZmFsc2UsIGNoaWxkLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jayYgcGFyZW50QmxvY2sgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4oKnBh
cmVudCk7CisgICAgICAgICAgICBpZiAocGFyZW50QmxvY2suaXNSZW5kZXJNYXRoTUxTY3JpcHRz
V3JhcHBlcigpKSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIm
IHdyYXBwZXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcj4ocGFyZW50Qmxv
Y2spOworICAgICAgICAgICAgICAgIHdyYXBwZXIuYWRkQ2hpbGRJbnRlcm5hbChmYWxzZSwgY2hp
bGQsIGJlZm9yZUNoaWxkKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KQEAgLTE3NiwxMiArMTc2LDEyIEBAIHZvaWQgUmVuZGVyTWF0aE1MU2NyaXB0
czo6YWRkQ2hpbGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlbmRlck9iamVjdCoK
IAogICAgIGlmICghYmVmb3JlQ2hpbGQgfHwgaXNQcmVzY3JpcHQoYmVmb3JlQ2hpbGQpKSB7CiAg
ICAgICAgIC8vIFdlIGFyZSBhdCB0aGUgZW5kIG9mIGEgc2VxdWVuY2Ugb2Ygc3ViU3VwIHBhaXJz
LgotICAgICAgICBSZW5kZXJNYXRoTUxCbG9jayogcHJldmlvdXNTaWJsaW5nID0gdG9SZW5kZXJN
YXRoTUxCbG9jayhiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSA6
IGxhc3RDaGlsZCgpKTsKLSAgICAgICAgaWYgKHByZXZpb3VzU2libGluZyAmJiBwcmV2aW91c1Np
YmxpbmctPmlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoKSkgewotICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIqIHdyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNX
cmFwcGVyKHByZXZpb3VzU2libGluZyk7Ci0gICAgICAgICAgICBpZiAoKHdyYXBwZXItPm1fa2lu
ZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6QmFzZSAmJiB3cmFwcGVyLT5pc0VtcHR5
KCkpIHx8ICh3cmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1
YlN1cFBhaXIgJiYgIXdyYXBwZXItPmZpcnN0Q2hpbGQoKS0+bmV4dFNpYmxpbmcoKSkpIHsKKyAg
ICAgICAgUmVuZGVyTWF0aE1MQmxvY2sqIHByZXZpb3VzU2libGluZyA9IGRvd25jYXN0PFJlbmRl
ck1hdGhNTEJsb2NrPihiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmco
KSA6IGxhc3RDaGlsZCgpKTsKKyAgICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyPihwcmV2aW91c1NpYmxpbmcpKSB7CisgICAgICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRz
V3JhcHBlciYgd3JhcHBlciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigq
cHJldmlvdXNTaWJsaW5nKTsKKyAgICAgICAgICAgIGlmICgod3JhcHBlci5tX2tpbmQgPT0gUmVu
ZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OkJhc2UgJiYgd3JhcHBlci5pc0VtcHR5KCkpIHx8ICh3
cmFwcGVyLm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3VwUGFpciAm
JiAhd3JhcHBlci5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gVGhlIHByZXZpb3VzIHNpYmxpbmcgaXMgZWl0aGVyIGFuIGVtcHR5IGJhc2Ugb3IgYSBT
dWJTdXAgcGFpciB3aXRoIGEgc2luZ2xlIGNoaWxkIHNvIHdlIGNhbiBpbnNlcnQgdGhlIG5ldyBj
aGlsZCBpbnRvIHRoYXQgd3JhcHBlci4KLSAgICAgICAgICAgICAgICB3cmFwcGVyLT5hZGRDaGls
ZEludGVybmFsKHRydWUsIGNoaWxkKTsKKyAgICAgICAgICAgICAgICB3cmFwcGVyLmFkZENoaWxk
SW50ZXJuYWwodHJ1ZSwgY2hpbGQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtMTkzLDEwICsxOTMsMTAgQEAgdm9pZCBSZW5kZXJNYXRoTUxT
Y3JpcHRzOjphZGRDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2Jq
ZWN0KgogICAgIH0KIAogICAgIC8vIGJlZm9yZUNoaWxkIGlzIGEgc3ViU3VwIHBhaXIuIFRoaXMg
aXMgbGlrZSBpbnNlcnRpbmcgdGhlIG5ldyBjaGlsZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBz
dWJTdXAgd3JhcHBlci4KLSAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBlciA9
IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoYmVmb3JlQ2hpbGQpOwotICAgIEFTU0VSVCh3
cmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIp
OworICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiB3cmFwcGVyID0gZG93bmNhc3Q8UmVu
ZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KCpiZWZvcmVDaGlsZCk7CisgICAgQVNTRVJUKHdyYXBw
ZXIubV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpTdWJTdXBQYWlyKTsKICAg
ICBBU1NFUlQoIShtX2Jhc2VXcmFwcGVyLT5pc0VtcHR5KCkgJiYgbV9iYXNlV3JhcHBlci0+bmV4
dFNpYmxpbmcoKSA9PSBiZWZvcmVDaGlsZCkpOwotICAgIHdyYXBwZXItPmFkZENoaWxkSW50ZXJu
YWwoZmFsc2UsIGNoaWxkLCB3cmFwcGVyLT5maXJzdENoaWxkKCkpOworICAgIHdyYXBwZXIuYWRk
Q2hpbGRJbnRlcm5hbChmYWxzZSwgY2hpbGQsIHdyYXBwZXIuZmlyc3RDaGlsZCgpKTsKIH0KIAog
UmVuZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3JpcHRzOjpyZW1vdmVDaGlsZEludGVybmFsKGJv
b2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2JqZWN0JiBjaGlsZCkKQEAgLTIxMSwxMyArMjEx
LDEzIEBAIFJlbmRlck9iamVjdCogUmVuZGVyTWF0aE1MU2NyaXB0czo6cmVtb3ZlQ2hpbGRJbnRl
cm5hbChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlCiAgICAgQVNTRVJUKHByZXZpb3VzU2libGlu
Zyk7CiAKICAgICBpZiAobmV4dFNpYmxpbmcgJiYgIWlzUHJlc2NyaXB0KHByZXZpb3VzU2libGlu
ZykgJiYgIWlzUHJlc2NyaXB0KG5leHRTaWJsaW5nKSkgewotICAgICAgICBSZW5kZXJNYXRoTUxT
Y3JpcHRzV3JhcHBlciogcHJldmlvdXNXcmFwcGVyID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlcihwcmV2aW91c1NpYmxpbmcpOwotICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBl
ciogbmV4dFdyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKG5leHRTaWJsaW5n
KTsKLSAgICAgICAgQVNTRVJUKG5leHRXcmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2Ny
aXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIgJiYgIW5leHRXcmFwcGVyLT5pc0VtcHR5KCkpOwotICAg
ICAgICBpZiAoKHByZXZpb3VzV3JhcHBlci0+bV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNX
cmFwcGVyOjpCYXNlICYmIHByZXZpb3VzV3JhcHBlci0+aXNFbXB0eSgpKSB8fCAocHJldmlvdXNX
cmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIg
JiYgIXByZXZpb3VzV3JhcHBlci0+Zmlyc3RDaGlsZCgpLT5uZXh0U2libGluZygpKSkgewotICAg
ICAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBuZXh0V3JhcHBlci0+Zmlyc3RDaGlsZCgp
OwotICAgICAgICAgICAgbmV4dFdyYXBwZXItPnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpz
Y3JpcHQpOwotICAgICAgICAgICAgcHJldmlvdXNXcmFwcGVyLT5hZGRDaGlsZEludGVybmFsKHRy
dWUsIHNjcmlwdCk7CisgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiBwcmV2aW91
c1dyYXBwZXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcj4oKnByZXZpb3Vz
U2libGluZyk7CisgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyJiBuZXh0V3JhcHBl
ciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqbmV4dFNpYmxpbmcpOwor
ICAgICAgICBBU1NFUlQobmV4dFdyYXBwZXIubV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNX
cmFwcGVyOjpTdWJTdXBQYWlyICYmICFuZXh0V3JhcHBlci5pc0VtcHR5KCkpOworICAgICAgICBp
ZiAoKHByZXZpb3VzV3JhcHBlci5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6
OkJhc2UgJiYgcHJldmlvdXNXcmFwcGVyLmlzRW1wdHkoKSkgfHwgKHByZXZpb3VzV3JhcHBlci5t
X2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIgJiYgIXByZXZp
b3VzV3JhcHBlci5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpKSB7CisgICAgICAgICAgICBS
ZW5kZXJPYmplY3QqIHNjcmlwdCA9IG5leHRXcmFwcGVyLmZpcnN0Q2hpbGQoKTsKKyAgICAgICAg
ICAgIG5leHRXcmFwcGVyLnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpzY3JpcHQpOworICAg
ICAgICAgICAgcHJldmlvdXNXcmFwcGVyLmFkZENoaWxkSW50ZXJuYWwodHJ1ZSwgc2NyaXB0KTsK
ICAgICAgICAgfQogICAgIH0KIApAQCAtMjYxLDkgKzI2MSw5IEBAIHZvaWQgUmVuZGVyTWF0aE1M
U2NyaXB0czo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRl
clN0eWxlCiBSZW5kZXJNYXRoTUxPcGVyYXRvciogUmVuZGVyTWF0aE1MU2NyaXB0czo6dW5lbWJl
bGxpc2hlZE9wZXJhdG9yKCkKIHsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogYmFzZSA9IHRo
aXMtPmJhc2UoKTsKLSAgICBpZiAoIWJhc2UgfHwgIWJhc2UtPmlzUmVuZGVyTWF0aE1MQmxvY2so
KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHRvUmVuZGVyTWF0aE1MQmxvY2soYmFz
ZSktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOworICAgIGlmICghaXM8UmVuZGVyTWF0aE1MQmxv
Y2s+KGJhc2UpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gZG93bmNhc3Q8
UmVuZGVyTWF0aE1MQmxvY2s+KCpiYXNlKS51bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKIH0KIAog
dm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXQoKQpAQCAtMzAyLDggKzMwMiw4IEBAIHZv
aWQgUmVuZGVyTWF0aE1MU2NyaXB0czo6bGF5b3V0KCkKICAgICAgICAgcGFyc2VNYXRoTUxMZW5n
dGgoc2NyaXB0RWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShNYXRoTUxOYW1lczo6c3VwZXJzY3Jp
cHRzaGlmdEF0dHIpLCBzdXBlcnNjcmlwdFNoaWZ0VmFsdWUsICZzdHlsZSgpLCBmYWxzZSk7CiAK
ICAgICBib29sIGlzUG9zdFNjcmlwdCA9IHRydWU7Ci0gICAgUmVuZGVyTWF0aE1MQmxvY2sqIHN1
YlN1cFBhaXIgPSB0b1JlbmRlck1hdGhNTEJsb2NrKG1fYmFzZVdyYXBwZXItPm5leHRTaWJsaW5n
KCkpOwotICAgIGZvciAoOyBzdWJTdXBQYWlyOyBzdWJTdXBQYWlyID0gdG9SZW5kZXJNYXRoTUxC
bG9jayhzdWJTdXBQYWlyLT5uZXh0U2libGluZygpKSkgeworICAgIFJlbmRlck1hdGhNTEJsb2Nr
KiBzdWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KG1fYmFzZVdyYXBwZXIt
Pm5leHRTaWJsaW5nKCkpOworICAgIGZvciAoOyBzdWJTdXBQYWlyOyBzdWJTdXBQYWlyID0gZG93
bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpKSB7CiAK
ICAgICAgICAgLy8gV2Ugc2tpcCB0aGUgYmFzZSBhbmQgPG1wcmVzY3JpcHRzLz4gZWxlbWVudHMu
CiAgICAgICAgIGlmIChpc1ByZXNjcmlwdChzdWJTdXBQYWlyKSkgewpAQCAtMzgxLDcgKzM4MSw3
IEBAIHZvaWQgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkSW50ZXJuYWwoYm9v
bCBkb05vdFJlc3RydWN0dXJlLCBSZW5kZXJPCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRz
KHBhcmVudCgpKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gZG93bmNh
c3Q8UmVuZGVyTWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwogCiAgICAgaWYgKG1fa2luZCA9PSBC
YXNlKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogc2libGluZyA9IG5leHRTaWJsaW5nKCk7CkBA
IC00MzIsNyArNDMyLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6YWRkQ2hp
bGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3R1cmUsIFJlbmRlck8KICAgICAvLyBXZSBmaXJz
dCBtb3ZlIHRvIHRoZSBsYXN0IHN1YlN1cCBwYWlyIGluIHRoZSBjdXJlbnQgc2VxdWVuY2Ugb2Yg
c2NyaXB0cy4KICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogc3ViU3VwUGFpciA9IHRo
aXM7CiAgICAgd2hpbGUgKHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkgJiYgIWlzUHJlc2NyaXB0
KHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpKQotICAgICAgICBzdWJTdXBQYWlyID0gdG9SZW5k
ZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihzdWJTdXBQYWlyLT5uZXh0U2libGluZygpKTsKKyAgICAg
ICAgc3ViU3VwUGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihzdWJT
dXBQYWlyLT5uZXh0U2libGluZygpKTsKICAgICBpZiAoc3ViU3VwUGFpci0+Zmlyc3RDaGlsZCgp
LT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIC8vIFRoZSBsYXN0IHBhaXIgaGFzIHR3byBjaGls
ZHJlbiBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBwYWlyIHRvIGxlYXZlIHJvb20gZm9yIHRo
ZSBuZXcgY2hpbGQuCiAgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBuZXdQYWly
ID0gY3JlYXRlQW5vbnltb3VzV3JhcHBlcihwYXJlbnROb2RlLCBSZW5kZXJNYXRoTUxTY3JpcHRz
V3JhcHBlcjo6U3ViU3VwUGFpcik7CkBAIC00NDIsMjAgKzQ0MiwyMCBAQCB2b2lkIFJlbmRlck1h
dGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVy
ZSwgUmVuZGVyTwogCiAgICAgLy8gV2Ugc2hpZnQgdGhlIHN1Y2Nlc3NvcnMgaW4gdGhlIGN1cnJl
bnQgc2VxdWVuY2Ugb2Ygc2NyaXB0cy4KICAgICBmb3IgKFJlbmRlck9iamVjdCogcHJldmlvdXNT
aWJsaW5nID0gc3ViU3VwUGFpci0+cHJldmlvdXNTaWJsaW5nKCk7IHN1YlN1cFBhaXIgIT0gdGhp
czsgcHJldmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLT5wcmV2aW91c1NpYmxpbmcoKSkg
ewotICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogcHJldmlvdXNTdWJTdXBQYWly
ID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihwcmV2aW91c1NpYmxpbmcpOwotICAgICAg
ICBSZW5kZXJPYmplY3QqIHNjcmlwdCA9IHByZXZpb3VzU3ViU3VwUGFpci0+bGFzdENoaWxkKCk7
Ci0gICAgICAgIHByZXZpb3VzU3ViU3VwUGFpci0+cmVtb3ZlQ2hpbGRJbnRlcm5hbCh0cnVlLCAq
c2NyaXB0KTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHByZXZpb3VzU3Vi
U3VwUGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqcHJldmlvdXNT
aWJsaW5nKTsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBwcmV2aW91c1N1YlN1cFBh
aXIubGFzdENoaWxkKCk7CisgICAgICAgIHByZXZpb3VzU3ViU3VwUGFpci5yZW1vdmVDaGlsZElu
dGVybmFsKHRydWUsICpzY3JpcHQpOwogICAgICAgICBzdWJTdXBQYWlyLT5hZGRDaGlsZEludGVy
bmFsKHRydWUsIHNjcmlwdCwgc3ViU3VwUGFpci0+Zmlyc3RDaGlsZCgpKTsKLSAgICAgICAgc3Vi
U3VwUGFpciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIocHJldmlvdXNTaWJsaW5nKTsK
KyAgICAgICAgc3ViU3VwUGFpciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVy
PihwcmV2aW91c1NpYmxpbmcpOwogICAgIH0KIAogICAgIC8vIFRoaXMgc3ViU3VwIHBhaXIgbm93
IGNvbnRhaW4gb25lIGVsZW1lbnQgd2hpY2ggaXMgZWl0aGVyIGJlZm9yZUNoaWxkIG9yIHRoZSBz
Y3JpcHQgdGhhdCB3YXMgYmVmb3JlLiBIZW5jZSB3ZSBjYW4gaW5zZXJ0IHRoZSBuZXcgY2hpbGQg
YmVmb3JlIG9mIGFmdGVyIHRoYXQgZWxlbWVudC4KLSAgICBSZW5kZXJNYXRoTUxCbG9jazo6YWRk
Q2hpbGQoY2hpbGQsIGZpcnN0Q2hpbGQoKSA9PSBiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkIDog
MCk7CisgICAgUmVuZGVyTWF0aE1MQmxvY2s6OmFkZENoaWxkKGNoaWxkLCBmaXJzdENoaWxkKCkg
PT0gYmVmb3JlQ2hpbGQgPyBiZWZvcmVDaGlsZCA6IG51bGxwdHIpOwogfQogCiB2b2lkIFJlbmRl
ck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkKQogewotICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBhcmVu
dE5vZGUgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHMocGFyZW50KCkpOworICAgIFJlbmRlck1hdGhN
TFNjcmlwdHMqIHBhcmVudE5vZGUgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzPihwYXJl
bnQoKSk7CiAKICAgICBhZGRDaGlsZEludGVybmFsKGZhbHNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQp
OwogCkBAIC00NjcsNyArNDY3LDcgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3JpcHRz
V3JhcHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3QKICAgICBpZiAo
ZG9Ob3RSZXN0cnVjdHVyZSkKICAgICAgICAgcmV0dXJuIFJlbmRlck1hdGhNTEJsb2NrOjpyZW1v
dmVDaGlsZChjaGlsZCk7CiAKLSAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0g
dG9SZW5kZXJNYXRoTUxTY3JpcHRzKHBhcmVudCgpKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRz
KiBwYXJlbnROb2RlID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwog
CiAgICAgaWYgKG1fa2luZCA9PSBCYXNlKSB7CiAgICAgICAgIC8vIFdlIHJlbW92ZSB0aGUgY2hp
bGQgZnJvbSB0aGUgYmFzZSB3cmFwcGVyLgpAQCAtNDc1LDkgKzQ3NSw5IEBAIFJlbmRlck9iamVj
dCogUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OnJlbW92ZUNoaWxkSW50ZXJuYWwoYm9vbCBk
b05vdFJlc3RydWN0CiAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrOjpyZW1vdmVDaGlsZChjaGls
ZCk7CiAgICAgICAgIGlmIChzaWJsaW5nICYmICFpc1ByZXNjcmlwdChzaWJsaW5nKSkgewogICAg
ICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIHBvc3RzY3JpcHRzLCB0aGUgZmlyc3Qgb25lIGJlY29t
ZXMgdGhlIGJhc2UuCi0gICAgICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogd3Jh
cHBlciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoc2libGluZyk7Ci0gICAgICAgICAg
ICBSZW5kZXJPYmplY3QqIHNjcmlwdCA9IHdyYXBwZXItPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAg
ICAgIHdyYXBwZXItPnJlbW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsICpzY3JpcHQpOworICAgICAg
ICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHdyYXBwZXIgPSBkb3duY2FzdDxSZW5k
ZXJNYXRoTUxTY3JpcHRzV3JhcHBlcj4oKnNpYmxpbmcpOworICAgICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiBzY3JpcHQgPSB3cmFwcGVyLmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAgIHdyYXBwZXIu
cmVtb3ZlQ2hpbGRJbnRlcm5hbChmYWxzZSwgKnNjcmlwdCk7CiAgICAgICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jazo6YWRkQ2hpbGQoc2NyaXB0KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4g
c2libGluZzsKQEAgLTQ4NywxMSArNDg3LDExIEBAIFJlbmRlck9iamVjdCogUmVuZGVyTWF0aE1M
U2NyaXB0c1dyYXBwZXI6OnJlbW92ZUNoaWxkSW50ZXJuYWwoYm9vbCBkb05vdFJlc3RydWN0CiAg
ICAgUmVuZGVyT2JqZWN0KiBuZXh0ID0gUmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNoaWxkKGNo
aWxkKTsKICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciogc3ViU3VwUGFpciA9IHRoaXM7
CiAgICAgZm9yIChSZW5kZXJPYmplY3QqIG5leHRTaWJsaW5nID0gc3ViU3VwUGFpci0+bmV4dFNp
YmxpbmcoKTsgbmV4dFNpYmxpbmcgJiYgIWlzUHJlc2NyaXB0KG5leHRTaWJsaW5nKTsgbmV4dFNp
YmxpbmcgPSBuZXh0U2libGluZy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBSZW5kZXJNYXRo
TUxTY3JpcHRzV3JhcHBlciogbmV4dFN1YlN1cFBhaXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNX
cmFwcGVyKG5leHRTaWJsaW5nKTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBuZXh0
U3ViU3VwUGFpci0+Zmlyc3RDaGlsZCgpOwotICAgICAgICBuZXh0U3ViU3VwUGFpci0+cmVtb3Zl
Q2hpbGRJbnRlcm5hbCh0cnVlLCAqc2NyaXB0KTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0
c1dyYXBwZXImIG5leHRTdWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dy
YXBwZXI+KCpuZXh0U2libGluZyk7CisgICAgICAgIFJlbmRlck9iamVjdCogc2NyaXB0ID0gbmV4
dFN1YlN1cFBhaXIuZmlyc3RDaGlsZCgpOworICAgICAgICBuZXh0U3ViU3VwUGFpci5yZW1vdmVD
aGlsZEludGVybmFsKHRydWUsICpzY3JpcHQpOwogICAgICAgICBzdWJTdXBQYWlyLT5hZGRDaGls
ZEludGVybmFsKHRydWUsIHNjcmlwdCk7Ci0gICAgICAgIHN1YlN1cFBhaXIgPSB0b1JlbmRlck1h
dGhNTFNjcmlwdHNXcmFwcGVyKG5leHRTaWJsaW5nKTsKKyAgICAgICAgc3ViU3VwUGFpciA9IGRv
d25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihuZXh0U2libGluZyk7CiAgICAgfQog
CiAgICAgLy8gV2UgcmVtb3ZlIHRoZSBsYXN0IHN1YlN1cCBwYWlyIGlmIGl0IGJlY2FtZSBlbXB0
eS4KQEAgLTUxMCw3ICs1MTAsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlck1hdGhNTFNjcmlwdHNX
cmFwcGVyOjpyZW1vdmVDaGlsZChSZW5kZXJPYmplY3QmIGNoaWxkKQogICAgICAgICByZXR1cm4g
UmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNoaWxkKGNoaWxkKTsKICAgICB9CiAKLSAgICBSZW5k
ZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzKHBhcmVu
dCgpKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKiBwYXJlbnROb2RlID0gZG93bmNhc3Q8UmVu
ZGVyTWF0aE1MU2NyaXB0cz4ocGFyZW50KCkpOwogICAgIFJlbmRlck9iamVjdCogbmV4dCA9IHJl
bW92ZUNoaWxkSW50ZXJuYWwoZmFsc2UsIGNoaWxkKTsKICAgICBwYXJlbnROb2RlLT5maXhBbm9u
eW1vdXNTdHlsZXMoKTsKICAgICByZXR1cm4gbmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKaW5kZXggZGMxZDZhNjI0
MDNlYTg4YTJmZDNkODZkZGFhZGM1ZGFhYzk5Y2UyYy4uNzU0MjY3ODJlMGQ0ZTUyM2Y3NjA5Mjcx
NzhkMGZiMjMyMjg5ZTVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmgKQEAgLTY1LDggKzY1LDYgQEAgcHJpdmF0ZToK
ICAgICBXcmFwcGVyVHlwZSBtX2tpbmQ7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMo
UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIsIGlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIo
KSkKLQogLy8gUmVuZGVyIGEgYmFzZSB3aXRoIHNjcmlwdHMuCiBjbGFzcyBSZW5kZXJNYXRoTUxT
Y3JpcHRzIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2NrIHsKIApAQCAtMTA1LDkgKzEwMywxMCBA
QCBwcml2YXRlOgogICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBtX2Jhc2VXcmFwcGVy
OwogfTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTFNjcmlwdHMsIGlz
UmVuZGVyTWF0aE1MU2NyaXB0cygpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXIsIGlzUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIoKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfUkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxTY3JpcHRzLCBpc1JlbmRlck1hdGhNTFNjcmlw
dHMoKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaAppbmRleCAxMzgyMDRhZmFh
Y2E4NDgwMWZjMzZhYTA0MzdhMDlhOWYzNjZmMDQ1Li5jZGZjNTcxYmQ1YzA2MDVhOTUwMDgzYzE1
ZGIzMWY2Y2RiZmE2OTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oCkBAIC01NCw5ICs1NCw5IEBAIHByaXZhdGU6CiAgICAg
TGF5b3V0VW5pdCBtX2RlcHRoOwogfTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
ck1hdGhNTFNwYWNlLCBpc1JlbmRlck1hdGhNTFNwYWNlKCkpCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNYXRo
TUxTcGFjZSwgaXNSZW5kZXJNYXRoTUxTcGFjZSgpKQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhN
TCkKICNlbmRpZiAvLyBSZW5kZXJNYXRoTUxTcGFjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCmluZGV4IGE5
ZTNjZmZiZDUzMzA4MTcyMjg4YmJmMzljYjY1Yzc5ZTMyYTUwZDAuLjYxNDAwNTg2NDQ5YjhiODQy
ZDhhYzljYjMxZGE1MDRkY2M5MjQwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oCkBAIC00Nyw3ICs0Nyw5
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlck1hdGhNTFNxdWFyZVJvb3QiOyB9CiB9OwogICAgIAot
fQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRF
Ul9PQkpFQ1QoUmVuZGVyTWF0aE1MU3F1YXJlUm9vdCwgaXNSZW5kZXJNYXRoTUxTcXVhcmVSb290
KCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgKaW5kZXggOWE3MWY0ZjdiNDll
NTJhNWRkOTYyZmRmMDZlNzk0NmUxMjAxYjhjMy4uZjVhZDViYmEwNGYwYjUxYjAwNjkxYjFiZTI4
NDI4OGRmYmUzMTYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MVG9rZW4uaApAQCAtNTksOSArNTksOSBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9jb250YWluc0VsZW1lbnQ7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTWF0aE1MVG9rZW4sIGlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1h
dGhNTFRva2VuLCBpc1JlbmRlck1hdGhNTFRva2VuKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFU
SE1MKQogI2VuZGlmIC8vIFJlbmRlck1hdGhNTFRva2VuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAppbmRl
eCAxMDMyZWUxYWEzMmMyZWIwMDFjNzczMTNlNzc2NzIyNzlkZjViZjU4Li5hMjZjZjEzOGQzOTg2
NDdkNTBlMjhkZTIxMGE3ODg3MzU0NGUyYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwCkBAIC01NSw5
ICs1NSw5IEBAIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6UmVuZGVyTWF0aE1MVW5kZXJPdmVyKEVs
ZW1lbnQmIGVsZW1lbnQsIFBhc3NSZWY8UmVuZGVyU3R5CiBSZW5kZXJNYXRoTUxPcGVyYXRvciog
UmVuZGVyTWF0aE1MVW5kZXJPdmVyOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IoKQogewogICAgIFJl
bmRlck9iamVjdCogYmFzZSA9IGZpcnN0Q2hpbGQoKTsKLSAgICBpZiAoIWJhc2UgfHwgIWJhc2Ut
PmlzUmVuZGVyTWF0aE1MQmxvY2soKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHRv
UmVuZGVyTWF0aE1MQmxvY2soYmFzZSktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOworICAgIGlm
ICghaXM8UmVuZGVyTWF0aE1MQmxvY2s+KGJhc2UpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpiYXNlKS51bmVtYmVsbGlz
aGVkT3BlcmF0b3IoKTsKIH0KIAogaW50IFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6Zmlyc3RMaW5l
QmFzZWxpbmUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHQ29udGFpbmVyLmgKaW5kZXggZWQyN2IzZjJmNjIzNDMxNzEyNmJmMTU0MmI3YzBiMWRi
ODc1MjEyZC4uOTViMGQ3MDAzYWRhZjhlZDE0ZDRmMWUzNWZmZWU1YWE4MWI1ZmJjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250YWluZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCkBA
IC04NCw0ICs4NCw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdDb250YWlu
ZXIsIGlzU1ZHQ29udGFpbmVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR0NvbnRhaW5lciwgaXNTVkdD
b250YWluZXIoKSkKKwogI2VuZGlmIC8vIFJlbmRlclNWR0NvbnRhaW5lcl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaAppbmRl
eCBiOGRlMjg1MDFkZGJjYjM1YTljZGU5YTY2ZTM5OWI4YjkwZWVkMjZiLi44MDIzNjQ1NzE3MzRm
ZmJlNzhjZWM2NDBmNDcyOWQ0ODIzZDYzNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKQEAgLTYyLDYgKzYyLDggQEAg
cHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR0dyYWRpZW50U3Rv
cCwgaXNTVkdHcmFkaWVudFN0b3AoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHR3JhZGllbnRTdG9w
LCBpc1NWR0dyYWRpZW50U3RvcCgpKQogCiAjZW5kaWYgLy8gUmVuZGVyU1ZHR3JhZGllbnRTdG9w
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1h
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAppbmRl
eCA1ODMyOTYwNjc0ZmIzNzBiMDQ1NmUyN2VhMzY1MzYyMmY2NmJhNWM4Li4xODkxNmNiOTM1YWUw
OTJlYWM3NmQ0YTUxODVkOTA3OTc5ZDdjZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCkBAIC05NCw0ICs5NCw2IEBAIFJFTkRFUl9PQkpFQ1Rf
VFlQRV9DQVNUUyhSZW5kZXJTVkdJbWFnZSwgaXNTVkdJbWFnZSgpKQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJT
VkdJbWFnZSwgaXNTVkdJbWFnZSgpKQorCiAjZW5kaWYgLy8gUmVuZGVyU1ZHSW1hZ2VfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaApp
bmRleCBiYTBkNDkyOWE3Y2Q4ODhkMjg3MDE5ZDhkYzc4ZjBlZDg1MGQ5ZGZkLi45MTUzYWFhYzUw
ZGRhY2JmYWQ5MmZkZjE3NzNjNmQ4NDM5Y2ZkOTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaApAQCAtNzEsNiArNzEsOCBAQCBw
cml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHSW5saW5lVGV4dCwg
aXNTVkdJbmxpbmVUZXh0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR0lubGluZVRleHQsIGlzU1ZH
SW5saW5lVGV4dCgpKQogCiAjZW5kaWYgLy8gUmVuZGVyU1ZHSW5saW5lVGV4dF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKaW5k
ZXggODdmODM3ODc5ZDVjOGVhOWIxYzQ0ZThmNjFjOTYzMWU4MzdiNDAxZC4uMWRhNjY5NTI3ZjYy
MDAxOGYxNDU0NTJmMTVkYzkxZWJhYjFkYmU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaApAQCAtODAsOCArODAsMTAgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faGFzU1ZHU2hhZG93OwogfTsKIAotUkVOREVSX09CSkVDVF9U
WVBFX0NBU1RTKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1JlbmRlclNWR01vZGVsT2JqZWN0KCkp
OworUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1JlbmRl
clNWR01vZGVsT2JqZWN0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR01vZGVsT2JqZWN0LCBpc1Jl
bmRlclNWR01vZGVsT2JqZWN0KCkpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdQYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1BhdGguaAppbmRleCA4OWU5NTAwYmY4Yzg2MDljYTJlYmE0NmM5ZDM1
MTlmOTE1ODYwZjBjLi44ODdkYWFiNzYzYTA2MWViNTQ4NGZmMDAxY2Q4NjAwZmQzMTE0Y2UzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaApAQCAtNTcs
NiArNTcsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZH
UGF0aCwgaXNTVkdQYXRoKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlm
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHUGF0aCwgaXNT
VkdQYXRoKCkpCisKKyNlbmRpZiAvLyBSZW5kZXJTVkdQYXRoX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaApp
bmRleCBhMzgwNmU2MjgzNWM2MWRjYTUwNGUyMmJlYzIxOTYwNDRiNjI2NTU1Li45ZjM2NDlhMjQw
NDE2ZjIzOWZiYzczNzQ5ZDc0OTQzMDg1MWQxNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCkBAIC05
Nyw2ICs5Nyw4IEBAIFJlbmRlcmVyKiBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQm
IGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkKQogICAgIHJldHVybiBudWxscHRyOwog
fQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciwgaXNTVkdSZXNvdXJjZUNv
bnRhaW5lcigpKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
cl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlRmlsdGVyLmgKaW5kZXggZWViMTQ5ODRiMjY3NzUxOTk4ODE0ZWM5NWI0NTkxNzZlY2M3
NjVmYS4uY2ViNDY3ODQwYmJhNzc2YWJkMjI1NWQ5ZGVlOGIyZjYzNzk0YjA0ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIuaApAQCAtOTksNiArOTksOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FT
VFMoUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIsIGlzU1ZHUmVzb3VyY2VGaWx0ZXIoKSkKIAotfQor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciwgaXNTVkdSZXNvdXJjZUZpbHRl
cigpKQorCisjZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXJfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCAzZDA5YjE0Mzk4MzBlMGJj
NzVkYWE4NjMzYTE4OTc4MTRhMzM0M2IwLi41NTAzNjQzYTgwMGRkZjNkNTlkM2FmYzA5Yzg2OTQy
ZDUyOGY1NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuaApAQCAtMTI2LDQgKzEyNiw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJT
VkdSb290LCBpc1NWR1Jvb3QoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHUm9vdCwgaXNTVkdSb290KCkp
CisKICNlbmRpZiAvLyBSZW5kZXJTVkdSb290X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHU2hhcGUuaAppbmRleCA1ZWY0OGIwMzJmY2RlNzRlOTg1NmY0ZDA5ODYy
M2Q4NzdlMDQ5MjRmLi45YjNmZDdhMzYwM2ZiMTE1M2QwY2VjNWVlMGMwMTMxNDhkYzA5ODc3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oCkBAIC0x
MzUsNiArMTM1LDggQEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
clNWR1NoYXBlLCBpc1NWR1NoYXBlKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHU2hh
cGUsIGlzU1ZHU2hhcGUoKSkKKworI2VuZGlmIC8vIFJlbmRlclNWR1NoYXBlX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKaW5kZXggMzdkMTNkNjViZjI5
ODU1YTc5YzdkNzE1Mzc0MWY2Zjg0MzY2ZDBhZi4uYmM2MzlmZWVjMjE3OTgxZGQ2YzA2NDc0ODgw
NjJmMDNhZmVmODhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdUZXh0LmgKQEAgLTEwNyw2ICsxMDcsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZ
UEVfQ0FTVFMoUmVuZGVyU1ZHVGV4dCwgaXNTVkdUZXh0KCkpCiAKLX0KK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1Qo
UmVuZGVyU1ZHVGV4dCwgaXNTVkdUZXh0KCkpCisKKyNlbmRpZiAvLyBSZW5kZXJTVkdUZXh0X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBh
dGguaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaApp
bmRleCBiMjE0NDQyZTM4ZTU1ZDA0MDVhMjE5MjY3MWUxNTFhOWVmMWE5NWJjLi44MDMyODBhZjNi
ZGUxZjQ3Y2NlMTNhODRjZDljMjkyZWUxMDNiNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZh
dGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdUZXh0UGF0aCwgaXNTVkdU
ZXh0UGF0aCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdUZXh0UGF0aCwgaXNTVkdUZXh0UGF0aCgp
KQogCiAjZW5kaWYgLy8gUmVuZGVyU1ZHVGV4dFBhdGhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCmluZGV4
IGI0NDA0MDg1NGMyYmZiYWRlZTA1ZTM5MjM3NGZmN2U3MjdlOGZhM2YuLjUyMTI0NGJlZDFkYjI2
OGE4MTAzZWMxZGFkMTc5MjBkOTc1ZTFjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKQEAgLTcxLDQg
KzcxLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR1ZpZXdwb3J0Q29udGFp
bmVyLCBpc1NWR1ZpZXdwb3J0Q29udGFpbmVyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR1ZpZXdwb3J0
Q29udGFpbmVyLCBpc1NWR1ZpZXdwb3J0Q29udGFpbmVyKCkpCisKICNlbmRpZiAvLyBSZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239366</attachid>
            <date>2014-10-06 16:43:47 -0700</date>
            <delta_ts>2014-10-06 17:26:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137424-20141006164348.patch</filename>
            <type>text/plain</type>
            <size>86886</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE4OTVlZjUxMDljYzZjZjMxMjI5YTZh
NzQ2MTA5ZDUxM2ZkM2MxNjAuLjgzZDJjNGE1ODUzMTNlMzU2N2ExOTRjNjBlYjcxNjNmNmI2NTU4
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMTAtMDQgIENocmlzdG9waGUgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpczw+KCkgLyBkb3duY2FzdDw+KCkgc3Vw
cG9ydCBmb3IgUmVuZGVyT2JqZWN0IHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IEJl
bmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgSGFuZGxlIGNvcnJlY3RseSBjYWxsaW5nIFR5cGVD
YXN0VHJhaXRzPEV4cGVjdGVkVHlwZSwgQXJnVHlwZT46OmlzT2ZUeXBlKEFyZ1R5cGUmKQorICAg
ICAgICB3aXRoIEV4cGVjdGVkVHlwZSBiZWluZyBhIGJhc2UgY2xhc3Mgb2YgQXJnVHlwZSAob3Ig
dGhlIHNhbWUgYXMgQXJnVHlwZSkuIFRoZQorICAgICAgICBwcmV2aW91cyB0ZW1wbGF0ZSBzcGVj
aWFsaXphdGlvbiB3YXMgb25seSBtZWFudCB0byBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlCisgICAg
ICAgIEV4cGVjdGVkVHlwZSBpcyB0aGUgc2FtZSBhcyBBcmdUeXBlIGJ1dCBldmVuIHRoYXQgd2Fz
bid0IHdvcmtpbmcgYXMgdGhlIGNvbXBpbGVyCisgICAgICAgIHdvdWxkIGNvbXBsYWluIGFib3V0
IGFtYmlndW91cyBwYXJ0aWFsIHNwZWNpYWxpemF0aW9ucy4gU2luY2UgdGhpcyBpcyBuZWVkZWQg
YnkKKyAgICAgICAgUmVuZGVyVHJhdmVyc2FsIGZ1bmN0aW9ucywgdGhpcyBwYXRjaCBhZGRzIGFu
IGV4dHJhIGlzQmFzZVR5cGUgdGVtcGxhdGUgcGFyYW1ldGVyCisgICAgICAgIHRvIFR5cGVDYXN0
VHJhaXRzIHRvIHJlc29sdmUgdGhlIGFtYmlndWl0eSBhbmQgcmVsaWVzIG9uIHN0ZDo6aXNfYmFz
ZV9vZiBmb3IgdGhlCisgICAgICAgIGRldGVjdGlvbi4KKworICAgICAgICAqIHd0Zi9UeXBlQ2Fz
dHMuaDoKKwogMjAxNC0xMC0wNiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2luXSBQcm9qZWN0IGZpbGUgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGIx
YzhhMzEzOTE0YzdlNTQ2MDQ1NzJkZDZlZTJmMGM3NzQ2YTA1YzIuLjVkYWM2NDAyYTI2YmIwZWI1
NjczNjYxZWQxOTc1OGY2YTdmNzk5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTEgQEAKKzIw
MTQtMTAtMDQgIENocmlzdG9waGUgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBpczw+KCkgLyBkb3duY2FzdDw+KCkgc3VwcG9ydCBmb3IgUmVuZGVyT2JqZWN0IHN1YmNs
YXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NzQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAg
QWRkIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBzdXBwb3J0IGZvciBSZW5kZXJPYmplY3Qgc3ViY2xh
c3NlcywgYW5kCisgICAgICAgIGdldCByaWQgb2YgSXNSZW5kZXJlck9mVHlwZSB0cmFpdHMgc3Ry
dWN0IGFzIHdlIGNhbiBub3cgcmVseSBvbiB0aGUKKyAgICAgICAgVHlwZUNhc3RzVHJhaXRzIGlu
c3RlYWQuCisKKyAgICAgICAgdG9SZW5kZXIqKCkgaXMgc3RpbGwgc3VwcG9ydGVkIGZvciBtb3N0
IHJlbmRlciBvYmplY3RzIGJlY2F1c2UgSSBkaWQKKyAgICAgICAgbm90IHdhbnQgdG8gcmVtb3Zl
IGFsbCB1c2FnZXMgaW4gdGhpcyBwYXRjaCwgdG8ga2VlcCB0aGUgc2l6ZSBzbWFsbC4KKyAgICAg
ICAgRm9yIG5vdywgb25seSB0aGUgTWF0aE1MIHJlbmRlciBvYmplY3RzIHdlcmUgcG9ydGVkIG92
ZXIgdG8gdXNpbmcKKyAgICAgICAgaXM8PigpIC8gZG93bmNhc3Q8PigpLiBPdGhlciByZW5kZXIg
b2JqZWN0cyB3aWxsIGJlIHRha2VuIGNhcmUgb2YgaW4KKyAgICAgICAgZm9sbG93LXVwIHBhdGNo
ZXMgYW5kIEkgd2lsbCBkcm9wIHN1cHBvcnQgZm9yIHRvUmVuZGVyKigpCisgICAgICAgIGluY3Jl
bWVudGFsbHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNNYXRoRmVuY2VP
cGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpp
c01hdGhTZXBhcmF0b3JPcGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjptYXRoTGluZVRoaWNrbmVzcyk6CisgICAgICAgICogZG9tL21ha2VfbmFt
ZXMucGw6CisgICAgICAgIChwcmludFR5cGVIZWxwZXJzKToKKyAgICAgICAgKiBtYXRobWwvTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIG1hdGht
bC9NYXRoTUxUZXh0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0RWxl
bWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRleHRF
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBbmNl
c3Rvckl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYWdlT2ZUeXBlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCdXR0b24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJG
cmFtZVNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SFRNTENhbnZhcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJRnJhbWUuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckl0ZXJhdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjppc1JlbmRlcmVyT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRy
YXZlcnNhbDo6Zmlyc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmF2ZXJzYWw6
Omxhc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmF2ZXJzYWw6Om5leHRTaWJs
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNhbDo6cHJldmlvdXNTaWJsaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyYXZlcnNhbDo6ZmluZEFuY2VzdG9yT2ZUeXBl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck1lZGlhLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1ldGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNw
YW5uZXJQbGFjZWhvbGRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dG
cmFnbWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q+KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUXVvdGUuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyUmVnaW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJT
ZWFyY2hGaWVsZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0
aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
YWJsZVJvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11
bHRpTGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyV2lkZ2V0Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oOgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
dGhNTEZlbmNlZDo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0
aE1MRnJhY3Rpb246OnVuZW1iZWxsaXNoZWRPcGVyYXRvcik6CisgICAgICAgICogcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFJhZGljYWxPcGVyYXRvci5oOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290
OjpiYXNlV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290OjpyYWRp
Y2FsV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb290OjppbmRleFdy
YXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm9vdDo6cmFkaWNhbE9wZXJh
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJvb3RXcmFwcGVyOjpyZW1vdmVD
aGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWF0aE1MUm93Ojp1cGRhdGVPcGVyYXRvclByb3BlcnRpZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm93OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhN
TFNjcmlwdHM6OmFkZENoaWxkSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0
aE1MU2NyaXB0czo6cmVtb3ZlQ2hpbGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNYXRoTUxTY3JpcHRzOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZEludGVybmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6cmVtb3ZlQ2hpbGQp
OgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmg6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWF0aE1MVW5kZXJPdmVyOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdHcmFkaWVudFN0b3AuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmg6CisKIDIwMTQtMTAtMDYgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIG1lcmdlIGZp
eCBmb3IgcjE3NDI3OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1R5cGVDYXN0cy5oIGIv
U291cmNlL1dURi93dGYvVHlwZUNhc3RzLmgKaW5kZXggM2MyMDM0MTUwY2EzZjY2YWRlYTRkNmJi
NmU1ZWY5ZWFmNzIzYzNkMy4uYzBhYjkyNTY0MGIzNWUyZDdhYzg5ODAxYTM3M2UzYTJiMTFmMDdj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVHlwZUNhc3RzLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvVHlwZUNhc3RzLmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAK
LXRlbXBsYXRlIDx0eXBlbmFtZSBFeHBlY3RlZFR5cGUsIHR5cGVuYW1lIEFyZ1R5cGU+Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgRXhwZWN0ZWRUeXBlLCB0eXBlbmFtZSBBcmdUeXBlLCBib29sIGlzQmFz
ZVR5cGUgPSBzdGQ6OmlzX2Jhc2Vfb2Y8RXhwZWN0ZWRUeXBlLCBBcmdUeXBlPjo6dmFsdWU+CiBz
dHJ1Y3QgVHlwZUNhc3RUcmFpdHMgewogICAgIHN0YXRpYyBib29sIGlzT2ZUeXBlKEFyZ1R5cGUm
KQogICAgIHsKQEAgLTQ0LDkgKzQ0LDExIEBAIHN0cnVjdCBUeXBlQ2FzdFRyYWl0cyB7CiAgICAg
fQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIEV4cGVjdGVkVHlwZT4KLXN0cnVjdCBUeXBlQ2Fz
dFRyYWl0czxFeHBlY3RlZFR5cGUsIEV4cGVjdGVkVHlwZT4gewotICAgIHN0YXRpYyBib29sIGlz
T2ZUeXBlKEV4cGVjdGVkVHlwZSYpIHsgcmV0dXJuIHRydWU7IH0KKy8vIFRlbXBsYXRlIHNwZWNp
YWxpemF0aW9uIGZvciB0aGUgY2FzZSB3aGVyZSBFeHBlY3RlZFR5cGUgaXMgYSBiYXNlIG9mIEFy
Z1R5cGUsCisvLyBzbyB3ZSBjYW4gcmV0dXJuIHJldHVybiB0cnVlIHVuY29uZGl0aW9uYWxseS4K
K3RlbXBsYXRlIDx0eXBlbmFtZSBFeHBlY3RlZFR5cGUsIHR5cGVuYW1lIEFyZ1R5cGU+CitzdHJ1
Y3QgVHlwZUNhc3RUcmFpdHM8RXhwZWN0ZWRUeXBlLCBBcmdUeXBlLCB0cnVlIC8qIGlzQmFzZVR5
cGUgKi8+IHsKKyAgICBzdGF0aWMgYm9vbCBpc09mVHlwZShBcmdUeXBlJikgeyByZXR1cm4gdHJ1
ZTsgfQogfTsKIAogLy8gVHlwZSBjaGVja2luZyBmdW5jdGlvbiwgdG8gdXNlIGJlZm9yZSBjYXN0
aW5nIHdpdGggZG93bmNhc3Q8PigpLgpAQCAtODMsNyArODUsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gaW5saW5lIHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9u
YWw8c3RkOgogI2RlZmluZSBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKENsYXNzTmFtZSkg
XAogbmFtZXNwYWNlIFdURiB7IFwKIHRlbXBsYXRlIDx0eXBlbmFtZSBBcmdUeXBlPiBcCi1jbGFz
cyBUeXBlQ2FzdFRyYWl0czxjb25zdCBDbGFzc05hbWUsIEFyZ1R5cGU+IHsgXAorY2xhc3MgVHlw
ZUNhc3RUcmFpdHM8Y29uc3QgQ2xhc3NOYW1lLCBBcmdUeXBlLCBmYWxzZSAvKiBpc0Jhc2VUeXBl
ICovPiB7IFwKIHB1YmxpYzogXAogICAgIHN0YXRpYyBib29sIGlzT2ZUeXBlKEFyZ1R5cGUmIHNv
dXJjZSkgeyByZXR1cm4gaXNUeXBlKHNvdXJjZSk7IH0gXAogcHJpdmF0ZToKQEAgLTk0LDYgKzk2
LDcgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKK3VzaW5nIFdURjo6VHlwZUNh
c3RUcmFpdHM7CiB1c2luZyBXVEY6OmlzOwogdXNpbmcgV1RGOjpkb3duY2FzdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKaW5kZXggNDUwNTY1NWE1OTJkYWZjYmUxMjMwYjI5YzliMGJmZWM3YmY1MzY3
NS4uNGUyMmY1ZjkyODQ1MzIwZmFlOWUyNTliZjYzNGUwNDE1N2RlYmRjYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCkBAIC0zNTM2LDE4ICszNTM2LDE4IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6aXNNYXRoT3BlcmF0b3IoKSBjb25zdAogCiBib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmlzTWF0aEZlbmNlT3BlcmF0b3IoKSBjb25zdAogewotICAgIGlmICghbV9yZW5k
ZXJlciB8fCAhbV9yZW5kZXJlci0+aXNSZW5kZXJNYXRoTUxPcGVyYXRvcigpKQorICAgIGlmICgh
aXM8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KG1fcmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxPcGVyYXRvcigqbV9yZW5kZXJlcikuaGFz
T3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmVuY2UpOworICAgIHJldHVy
biBkb3duY2FzdDxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKm1fcmVuZGVyZXIpLmhhc09wZXJhdG9y
RmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlKTsKIH0KIAogYm9vbCBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc01hdGhTZXBhcmF0b3JPcGVyYXRvcigpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFtX3JlbmRlcmVyIHx8ICFtX3JlbmRlcmVyLT5pc1JlbmRlck1hdGhNTE9wZXJhdG9y
KCkpCisgICAgaWYgKCFpczxSZW5kZXJNYXRoTUxPcGVyYXRvcj4obV9yZW5kZXJlcikpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiB0b1JlbmRlck1hdGhNTE9wZXJhdG9yKCpt
X3JlbmRlcmVyKS5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTZXBh
cmF0b3IpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKm1fcmVu
ZGVyZXIpLmhhc09wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlNlcGFyYXRv
cik7CiB9CiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzTWF0aFRleHQo
KSBjb25zdApAQCAtMzgyMywxMCArMzgyMywxMCBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6Om1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcgog
CiBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bWF0aExpbmVUaGlja25lc3MoKSBjb25z
dAogewotICAgIGlmICghaXNNYXRoRnJhY3Rpb24oKSkKKyAgICBpZiAoIWlzPFJlbmRlck1hdGhN
TEZyYWN0aW9uPihtX3JlbmRlcmVyKSkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIAotICAgIHJl
dHVybiB0b1JlbmRlck1hdGhNTEZyYWN0aW9uKG1fcmVuZGVyZXIpLT5saW5lVGhpY2tuZXNzKCk7
CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlck1hdGhNTEZyYWN0aW9uPigqbV9yZW5kZXJlciku
bGluZVRoaWNrbmVzcygpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5k
ZXggNTIyZTdkZjNjZjNjZDUxZTJjNjA1MjU4NmQ2MTIzNWNkYzBkZmExOC4uNjc5OTI5NDAzNzJl
MjkxMDM4YzY2MTU5MTNiZWQyODdlZjM5NDk4YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwK
QEAgLTY0NCw3ICs2NDQsNyBAQCBjbGFzcyAkY2xhc3M7CiB9CiBuYW1lc3BhY2UgV1RGIHsKIHRl
bXBsYXRlIDx0eXBlbmFtZSBBcmdUeXBlPgotY2xhc3MgVHlwZUNhc3RUcmFpdHM8Y29uc3QgV2Vi
Q29yZTo6JGNsYXNzLCBBcmdUeXBlPiB7CitjbGFzcyBUeXBlQ2FzdFRyYWl0czxjb25zdCBXZWJD
b3JlOjokY2xhc3MsIEFyZ1R5cGUsIGZhbHNlIC8qIGlzQmFzZVR5cGUgKi8+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgYm9vbCBpc09mVHlwZShBcmdUeXBlJiBub2RlKSB7IHJldHVybiBjaGVja1Rh
Z05hbWUobm9kZSk7IH0KIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKaW5kZXggZTU4MzAzNWVjMWNhYzE2
NWNhMzE1NzQxZWU4ZjJlOWFiZjdlODA3NC4uYmRiNmJmNmZjMDM0YmQ0NTVmNTk2ZWNlNTQ4MDk4
ZTk5Y2JmYTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmNwcApAQCAtNTgsMTIgKzU4LDEyIEBAIFBhc3NSZWZQdHI8
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dDo6Y3JlYXRlKGNvCiB2b2lkIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewogICAgIGlmIChyZW5kZXJlcigp
KSB7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLT5pc1JlbmRlck1hdGhNTFJvdygpKQotICAgICAg
ICAgICAgdG9SZW5kZXJNYXRoTUxSb3cocmVuZGVyZXIoKSktPnVwZGF0ZU9wZXJhdG9yUHJvcGVy
dGllcygpOworICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MUm93PigqcmVuZGVyZXIoKSkpCisg
ICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxSb3c+KCpyZW5kZXJlcigpKS51cGRhdGVP
cGVyYXRvclByb3BlcnRpZXMoKTsKICAgICAgICAgZWxzZSBpZiAoaGFzVGFnTmFtZShtYXRoVGFn
KSB8fCBoYXNUYWdOYW1lKG1zcXJ0VGFnKSkgewotICAgICAgICAgICAgYXV0byBjaGlsZFJlbmRl
cmVyID0gcmVuZGVyZXIoKS0+Zmlyc3RDaGlsZCgpOwotICAgICAgICAgICAgaWYgKGNoaWxkUmVu
ZGVyZXIgJiYgY2hpbGRSZW5kZXJlci0+aXNSZW5kZXJNYXRoTUxSb3coKSkKLSAgICAgICAgICAg
ICAgICB0b1JlbmRlck1hdGhNTFJvdyhjaGlsZFJlbmRlcmVyKS0+dXBkYXRlT3BlcmF0b3JQcm9w
ZXJ0aWVzKCk7CisgICAgICAgICAgICBhdXRvKiBjaGlsZFJlbmRlcmVyID0gcmVuZGVyZXIoKS0+
Zmlyc3RDaGlsZCgpOworICAgICAgICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTFJvdz4oY2hpbGRS
ZW5kZXJlcikpCisgICAgICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MUm93PigqY2hp
bGRSZW5kZXJlcikudXBkYXRlT3BlcmF0b3JQcm9wZXJ0aWVzKCk7CiAgICAgICAgIH0KICAgICB9
CiAgICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcAppbmRleCAyMjM4M2MwMzc2NjliNWIy
NGIzM2Q3NWY5YzAwNDIzNGE2OTc0Nzc0Li4wOGU1ZWRkOTlmMGE5MDdhNjU1Y2E0M2ViYjg5OWZl
OTg1YWM0YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5j
cHAKQEAgLTUzLDE1ICs1MywxNSBAQCBQYXNzUmVmUHRyPE1hdGhNTFRleHRFbGVtZW50PiBNYXRo
TUxUZXh0RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZwogdm9pZCBNYXRo
TUxUZXh0RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKIHsKICAgICBNYXRoTUxFbGVtZW50
OjpkaWRBdHRhY2hSZW5kZXJlcnMoKTsKLSAgICBpZiAocmVuZGVyZXIoKSAmJiByZW5kZXJlcigp
LT5pc1JlbmRlck1hdGhNTFRva2VuKCkpCi0gICAgICAgIHRvUmVuZGVyTWF0aE1MVG9rZW4ocmVu
ZGVyZXIoKSktPnVwZGF0ZVRva2VuQ29udGVudCgpOworICAgIGlmIChpczxSZW5kZXJNYXRoTUxU
b2tlbj4ocmVuZGVyZXIoKSkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTFRva2VuPigq
cmVuZGVyZXIoKSkudXBkYXRlVG9rZW5Db250ZW50KCk7CiB9CiAKIHZvaWQgTWF0aE1MVGV4dEVs
ZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewogICAg
IE1hdGhNTEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwotICAgIGlmIChyZW5kZXJl
cigpICYmIHJlbmRlcmVyKCktPmlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKLSAgICAgICAgdG9SZW5k
ZXJNYXRoTUxUb2tlbihyZW5kZXJlcigpKS0+dXBkYXRlVG9rZW5Db250ZW50KCk7CisgICAgaWYg
KGlzPFJlbmRlck1hdGhNTFRva2VuPihyZW5kZXJlcigpKSkKKyAgICAgICAgZG93bmNhc3Q8UmVu
ZGVyTWF0aE1MVG9rZW4+KCpyZW5kZXJlcigpKS51cGRhdGVUb2tlbkNvbnRlbnQoKTsKIH0KIAog
UmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50
UmVuZGVyZXIoUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQW5jZXN0b3JJdGVyYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckFuY2VzdG9ySXRlcmF0b3IuaAppbmRleCAzOWRkMDVlNzI1MjEz
MzkxZTE5MGMxN2E2MzNmOWFjY2I0ZWYyNTgxLi44ZThkODhlN2YxZDAzMTQxMzUzNzI1ZTM3NmFk
YTc2ZDE2MDRlYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QW5jZXN0b3JJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJB
bmNlc3Rvckl0ZXJhdG9yLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBpbmxpbmUgUmVuZGVyQW5jZXN0
b3JDb25zdEl0ZXJhdG9yQWRhcHRlcjxUPiBhbmNlc3RvcnNPZlR5cGUoY29uc3QgUmVuZGVyT2Jq
ZWN0JgogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBpbmxpbmUgUmVuZGVyQW5jZXN0b3JJdGVyYXRv
ckFkYXB0ZXI8VD4gbGluZWFnZU9mVHlwZShSZW5kZXJPYmplY3QmIGZpcnN0KQogewotICAgIGlm
IChpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFQ+KGZpcnN0KSkKKyAgICBpZiAoaXNSZW5kZXJlck9m
VHlwZTxUPihmaXJzdCkpCiAgICAgICAgIHJldHVybiBSZW5kZXJBbmNlc3Rvckl0ZXJhdG9yQWRh
cHRlcjxUPihzdGF0aWNfY2FzdDxUKj4oJmZpcnN0KSk7CiAgICAgcmV0dXJuIGFuY2VzdG9yc09m
VHlwZTxUPihmaXJzdCk7CiB9CkBAIC0xOTQsNyArMTk0LDcgQEAgaW5saW5lIFJlbmRlckFuY2Vz
dG9ySXRlcmF0b3JBZGFwdGVyPFQ+IGxpbmVhZ2VPZlR5cGUoUmVuZGVyT2JqZWN0JiBmaXJzdCkK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogaW5saW5lIFJlbmRlckFuY2VzdG9yQ29uc3RJdGVyYXRv
ckFkYXB0ZXI8VD4gbGluZWFnZU9mVHlwZShjb25zdCBSZW5kZXJPYmplY3QmIGZpcnN0KQogewot
ICAgIGlmIChpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFQ+KGZpcnN0KSkKKyAgICBpZiAoaXNSZW5k
ZXJlck9mVHlwZTxUPihmaXJzdCkpCiAgICAgICAgIHJldHVybiBSZW5kZXJBbmNlc3RvckNvbnN0
SXRlcmF0b3JBZGFwdGVyPFQ+KHN0YXRpY19jYXN0PGNvbnN0IFQqPigmZmlyc3QpKTsKICAgICBy
ZXR1cm4gYW5jZXN0b3JzT2ZUeXBlPFQ+KGZpcnN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKaW5kZXggOWE0Y2Y4OGEzYzQ1MjU1NTNkNjg4MDgwNGEwOTQ2MzZmM2Rl
ZjhlYi4uNjQwMGRiNmY1NTkyOTRhN2NmNjExOWFmNzI0Yzk3Y2EwMjdmMjRkMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTUzOCw0ICs1MzgsNiBAQCBWaXNpYmxl
UG9zaXRpb24gcG9zaXRpb25Gb3JQb2ludFJlc3BlY3RpbmdFZGl0aW5nQm91bmRhcmllcyhSZW5k
ZXJCbG9jayYsIFJlbmRlcgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJCbG9jaywgaXNSZW5kZXJCbG9jaygpKQor
CiAjZW5kaWYgLy8gUmVuZGVyQmxvY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oCmluZGV4IDIwNzliYmY0NDQxMmUxYTU4ODZiMDg3NmQ1NDc0OGFhZmQwZmM2
ZGEuLjNhYWZhZTJjZjQ3ZjgxZTdjMDBiMThiZDdlOTdiOWEzZWJlYmFjMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTYzNiw0ICs2MzYsNiBAQCBp
bmxpbmUgY29uc3QgU2ltcGxlTGluZUxheW91dDo6TGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6OnNp
bXBsZUxpbmVMYXlvdXQoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJCbG9ja0Zsb3csIGlzUmVuZGVy
QmxvY2tGbG93KCkpCisKICNlbmRpZiAvLyBSZW5kZXJCbG9ja0Zsb3dfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IGI4MjY2YTNiZTE0ODk0NDQ2ZDUxNTI2ZmYwOGI1NmRh
MmQ3YmFhMzkuLjljNzU0NjJlZjY3ZmE4ZGM1ZTMxMWU3MzBlMWMyMjQ2MmNmNmUzYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTc2Nyw0ICs3NjcsNiBAQCBpbmxpbmUg
dm9pZCBSZW5kZXJCb3g6OnNldElubGluZUJveFdyYXBwZXIoSW5saW5lRWxlbWVudEJveCogYm94
V3JhcHBlcikKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJB
SVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQm94LCBpc0JveCgpKQorCiAjZW5kaWYgLy8gUmVuZGVy
Qm94X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmgKaW5kZXggYWNlODg4NTQ4MmQ3YWE1NzlhYjM3ZDA3NDRjMDUzNzkyZTVmMzczYS4uNzFiOTkz
ZWJmYmZmMDhmODY0MGEzMDViZjMzMDcyYWFkMWY3NDUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKQEAgLTM0Myw0ICszNDMsNiBAQCBS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyQm94TW9kZWxPYmplY3QsIGlzQm94TW9kZWxP
YmplY3QoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJB
SVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQm94TW9kZWxPYmplY3QsIGlzQm94TW9kZWxPYmplY3Qo
KSkKKwogI2VuZGlmIC8vIFJlbmRlckJveE1vZGVsT2JqZWN0X2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCdXR0b24uaAppbmRleCBhY2Q2OWIyMjc3NTQxYTQxMDhjYTQwNGMzZGQ0ZTlk
MDlhNDljN2YyLi5hMWE2NTIwZTk3Yzk0OGZjMGM5MzZmMTBjNDc0YjE1MDUxZTVlNGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCkBAIC04Nyw0ICs4Nyw2IEBAIFJF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJCdXR0b24sIGlzUmVuZGVyQnV0dG9uKCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJf
T0JKRUNUKFJlbmRlckJ1dHRvbiwgaXNSZW5kZXJCdXR0b24oKSkKKwogI2VuZGlmIC8vIFJlbmRl
ckJ1dHRvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29t
YmluZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5o
CmluZGV4IDM5NjNiMzBjNWY2OTZkNzBlYzcyOTJhMzU0ODVmMzNkYTJkMjk5YjUuLmQ0MjkzMjky
ZTJiNjgwMWVkNzYxYWUzZGYwMWJiMjE1ODNkOGZmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCkBAIC02MSw0ICs2MSw2IEBAIFJFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJDb21iaW5lVGV4dCwgaXNDb21iaW5lVGV4dCgpKQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVD
VChSZW5kZXJDb21iaW5lVGV4dCwgaXNDb21iaW5lVGV4dCgpKQorCiAjZW5kaWYgLy8gUmVuZGVy
Q29tYmluZVRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckNvdW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKaW5k
ZXggYzZmODZkYjhlNTA0NTNhNzRmYzU1ZDM3NGY3ZDdiMjNjMjA1OTUxYi4uOGMzODE2YzhlZmY1
YmE5YjNiOTIyY2JlMzhjYmM1MzdlNWRkYWY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5oCkBAIC02Niw2ICs2Niw4IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJDb3VudGVyLCBpc0NvdW50ZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyQ291bnRlciwgaXND
b3VudGVyKCkpCisKICNpZm5kZWYgTkRFQlVHCiAvLyBPdXRzaWRlIHRoZSBXZWJDb3JlIG5hbWVz
cGFjZSBmb3IgZWFzZSBvZiBpbnZvY2F0aW9uIGZyb20gZ2RiLgogdm9pZCBzaG93Q291bnRlclJl
bmRlcmVyVHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QqLCBjb25zdCBjaGFyKiBjb3Vu
dGVyTmFtZSA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckRldGFpbHNNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxz
TWFya2VyLmgKaW5kZXggODMzZjJhNjc3MTM0YWMzZWFlOGRkM2I2MWQwMGRmMjJjMjRhMTcxMy4u
MWM0YWFmMDIxOTJlN2EwZTQ1MzRmNmIzYTllNDdiMTUzYmQwOTBiOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCkBAIC00Nyw5ICs0NywxMSBA
QCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRGV0YWlsc01hcmtl
ciwgaXNEZXRhaWxzTWFya2VyKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRGV0YWlsc01h
cmtlciwgaXNEZXRhaWxzTWFya2VyKCkpCisKKyNlbmRpZiAvLyBFTkFCTEUoREVUQUlMU19FTEVN
RU5UKQogCiAjZW5kaWYgLy8gUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDA1Y2U3OTRkMTlhNGNmZTU5M2Y3NzM2Y2M4
Y2UxMDgwODIzMGY0Y2UuLmVkMDQ4NzZmNWFmZGNhZTA0NjQwMmIwZTkzYWYwOWQ5ZGQ0NTA2MGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMzgwLDQgKzM4
MCw2IEBAIGlubGluZSBMYXlvdXRVbml0IGFkanVzdExheW91dFVuaXRGb3JBYnNvbHV0ZVpvb20o
TGF5b3V0VW5pdCB2YWx1ZSwgY29uc3QgUmVuZGVyCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckVsZW1lbnQsIGlz
UmVuZGVyRWxlbWVudCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRWxlbWVudF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCmluZGV4IDJiZmJlYzE4
MWM4YWJjNDg0MzRhMTNlM2ZiMTU0MWUyY2IyZGI3ZDMuLjgzYzdjMzcyOTEwNjIzOTljOThkODJh
NjY4ZTMyYWRlMDcxMmVlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbWJlZGRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbWJlZGRlZE9iamVjdC5oCkBAIC0xMDUsNCArMTA1LDYgQEAgUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlckVtYmVkZGVkT2JqZWN0LCBpc0VtYmVkZGVkT2JqZWN0KCkpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNU
KFJlbmRlckVtYmVkZGVkT2JqZWN0LCBpc0VtYmVkZGVkT2JqZWN0KCkpCisKICNlbmRpZiAvLyBS
ZW5kZXJFbWJlZGRlZE9iamVjdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmllbGRzZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVs
ZHNldC5oCmluZGV4IDlmNjcyZDdhNjE4ZDBjYTBlOGFkNjIwNmQwNGEzZTkxNTkxMGMyMmIuLjQ0
YTgzNzQzZTExNTM0YzhlYmQyOTNkN2FhYTFkNjQ3YzY4N2U5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5oCkBAIC01OSw0ICs1OSw2IEBAIFJFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJGaWVsZHNldCwgaXNGaWVsZHNldCgpKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJGaWVsZHNldCwgaXNGaWVsZHNldCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyRmllbGRzZXRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wu
aAppbmRleCAxZDVhNGNmNTkxOGM5ZmFiYTQwNjMxNmM0NTBjMjRjMThjNTA4ZWYwLi5jZTRhYmFk
ZWMxYTlmZDdmMmM1MzkxZmViNTI3NWEwMzM5MjllYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaApAQCAtNjgsNCArNjgsNiBA
QCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wsIGlzRmls
ZVVwbG9hZENvbnRyb2woKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wsIGlzRmls
ZVVwbG9hZENvbnRyb2woKSkKKwogI2VuZGlmIC8vIFJlbmRlckZpbGVVcGxvYWRDb250cm9sX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXggMzU4
NTJjOWJjZjE4YmQ1MGU0MTFjNzBmN2E3ZjA5MjFkOTFkZTViMi4uMWYxMzYyMGUyMGY4NWIxNmUz
NGM3YzJhNjM3MmZlYzQxZDQ4Y2VjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmgKQEAgLTE2NSw0ICsxNjUsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyRmxleGlibGVCb3gsIGlzRmxleGlibGVCb3goKSkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVy
RmxleGlibGVCb3gsIGlzRmxleGlibGVCb3goKSkKKwogI2VuZGlmIC8vIFJlbmRlckZsZXhpYmxl
Qm94X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4
IGQzNzMyODAwN2I3NDlkZjEwMjcxNTNkOGViOWViZjVlMmEwYmZmMDkuLmI5ZWQzYjRmYjBlZGMy
NTZhNGUzYTkwMzBlODcyYzlkZjliYTA2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuaApAQCAtNDEwLDQgKzQxMCw2IEBAIHRlbXBsYXRlIDw+IHN0cnVj
dCBWYWx1ZVRvU3RyaW5nPFJlbmRlclJlZ2lvbio+IHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyRmxvd1RocmVh
ZCwgaXNSZW5kZXJGbG93VGhyZWFkKCkpCisKICNlbmRpZiAvLyBSZW5kZXJGbG93VGhyZWFkX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKaW5kZXggMDNmNWE0ZmJiMjYyZGJk
YmQ5YmM5OWE1YjgxZTQ4OGRiMWVhYTU0MC4uZGRlOWI2YjhhM2JhNGMwMmQzYjA3ZDUxOWYxYzU3
ZjliYTk5NDkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZy
YW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKQEAgLTUw
LDQgKzUwLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckZyYW1lLCBpc0ZyYW1l
KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19S
RU5ERVJfT0JKRUNUKFJlbmRlckZyYW1lLCBpc0ZyYW1lKCkpCisKICNlbmRpZiAvLyBSZW5kZXJG
cmFtZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVT
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IDg5
ODI5M2E3ZGY2NzE4ZmE0MzhjZDRiZjc4ODQ1NTI4NjkxMWZlYzUuLmU5YjhhMWVlMzBjYTI5Yzc5
YTU0ZGFlZTlhOGUwZWY0ZTQxZDBlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFtZVNldC5oCkBAIC0xMzAsNCArMTMwLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlckZyYW1lU2V0LCBpc0ZyYW1lU2V0KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckZyYW1lU2V0LCBp
c0ZyYW1lU2V0KCkpCisKICNlbmRpZiAvLyBSZW5kZXJGcmFtZVNldF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaAppbmRleCBjOTQyZmM1NzhmOTI4ODA1M2U2
YTc4Njg3ODNlZDYzZTI4ZTgxMWY1Li41MjVlMGU5NjMzYTBmZDQ0M2MzNDdhY2NjNGI4NzVmMWI3
ZmZmNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNj
cmVlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmgK
QEAgLTU1LDggKzU1LDEwIEBAIHByb3RlY3RlZDoKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlckZ1bGxTY3JlZW4sIGlzUmVuZGVyRnVsbFNjcmVlbigpKQogCi19Cit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JK
RUNUKFJlbmRlckZ1bGxTY3JlZW4sIGlzUmVuZGVyRnVsbFNjcmVlbigpKQogCi0jZW5kaWYKKyNl
bmRpZiAvLyBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisKKyNlbmRpZiAvLyBSZW5kZXJGdWxsU2Ny
ZWVuX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCmluZGV4IDkxOTQ2MTA3NjI1
NWQ3NGU0ZGI5MTM0MmJiY2IzYTM5YjUwOGFlOTcuLjEzNTYzZWI1YzkyNWQzNWFjMGQ5MzU1MjQx
ODc5YzdmMGVjZDlhN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAt
MTM1LDYgKzEzNSw4IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJHcmlkLCBpc1Jl
bmRlckdyaWQoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyR3JpZCwgaXNSZW5kZXJHcmlkKCkpCisKICNlbmRp
ZiAvKiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKSAqLwogCiAjZW5kaWYgLy8gUmVuZGVyR3JpZF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaAppbmRleCBhMDVh
MWUxYzkxMzk0ZjhjNzNhMzVkM2Q5NzhlMmM4NzhjZjdkZjUzLi5hNzFlZGFiNDRlZGViN2E1MGIy
ZTBlNmRhNDU0NTg2ZWQ2NmFjNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySFRNTENhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJIVE1MQ2FudmFzLmgKQEAgLTUzLDQgKzUzLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RT
KFJlbmRlckhUTUxDYW52YXMsIGlzQ2FudmFzKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckhUTUxDYW52YXMs
IGlzQ2FudmFzKCkpCisKICNlbmRpZiAvLyBSZW5kZXJIVE1MQ2FudmFzX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaAppbmRleCA3Y2MwMzMxYjZjYmVmNGQzODU2YmJiMGU0
YTk2Nzg5Y2JkYzY5MTdmLi42ODZjNmIyNWVkN2VhM2U5MWQ4ZDNkOWU5Y2QxYmYwN2IwZjgxNzYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5oCkBAIC02Niw0ICs2Niw2
IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJJRnJhbWUsIGlzUmVuZGVySUZyYW1l
KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19S
RU5ERVJfT0JKRUNUKFJlbmRlcklGcmFtZSwgaXNSZW5kZXJJRnJhbWUoKSkKKwogI2VuZGlmIC8v
IFJlbmRlcklGcmFtZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmluZGV4
IDQ2MzcwYTkxOWFjOTgxMmYxYzVkZWY3ZmI5NmMzMDMzZDdmMDNkOTIuLmM1YWVhMDU0MTc2MjMw
Mjk1YjE4ZjQyNjg5ZTdiMGIxYTZhYjYzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5oCkBAIC0xMzIsNCArMTMyLDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJl
bmRlckltYWdlLCBpc1JlbmRlckltYWdlKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckltYWdlLCBpc1JlbmRl
ckltYWdlKCkpCisKICNlbmRpZiAvLyBSZW5kZXJJbWFnZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmgKaW5kZXggNDlhZTBjZjk5ZTdhNGJhYzY3N2Q3YzM5OWQ3ZWI1OWZm
OGZiYzFiMS4uNjI4MTExN2FjOTY3YmY1MDBmM2ZjOGQwODM2NWJlYTRiYWE5YTFiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaApAQCAtMTg0LDQgKzE4NCw2IEBAIFJF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJJbmxpbmUsIGlzUmVuZGVySW5saW5lKCkpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJf
T0JKRUNUKFJlbmRlcklubGluZSwgaXNSZW5kZXJJbmxpbmUoKSkKKwogI2VuZGlmIC8vIFJlbmRl
cklubGluZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJdGVyYXRvci5oCmluZGV4
IDVjNTE5NDc1YWJkMWU2ZDYyNzU0MjI4ZmFkNzEwMTQ1MDQ1YzYwN2UuLjk4MzJiNGYwZmQ4NmYw
ODUwMWQyZjc2YzYzMDAzNDE1MjliZGI5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJdGVyYXRvci5oCkBAIC03Miw2ICs3MiwxMCBAQCBwcml2YXRlOgogICAgIGNvbnN0IFQq
IG1fY3VycmVudDsKIH07CiAKKy8vIFNpbWlsYXIgdG8gV1RGOjppczw+KCkgYnV0IHdpdGhvdXQg
dGhlIHN0YXRpY19hc3NlcnQoKSBtYWtpbmcgc3VyZSB0aGUgY2hlY2sgaXMgbmVjZXNzYXJ5Lgor
dGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+CitpbmxpbmUgYm9vbCBpc1JlbmRlcmVy
T2ZUeXBlKGNvbnN0IFUmIHJlbmRlcmVyKSB7IHJldHVybiBUeXBlQ2FzdFRyYWl0czxjb25zdCBU
LCBjb25zdCBVPjo6aXNPZlR5cGUocmVuZGVyZXIpOyB9CisKIC8vIFRyYXZlcnNhbCBoZWxwZXJz
CiAKIG5hbWVzcGFjZSBSZW5kZXJUcmF2ZXJzYWwgewpAQCAtODAsNyArODQsNyBAQCB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KIGlubGluZSBUKiBmaXJzdENoaWxkKFUmIGN1cnJl
bnQpCiB7CiAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBjdXJyZW50LmZpcnN0Q2hpbGQoKTsK
LSAgICB3aGlsZSAob2JqZWN0ICYmICFpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFQ+KCpvYmplY3Qp
KQorICAgIHdoaWxlIChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8VD4oKm9iamVjdCkpCiAg
ICAgICAgIG9iamVjdCA9IG9iamVjdC0+bmV4dFNpYmxpbmcoKTsKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VCo+KG9iamVjdCk7CiB9CkBAIC04OSw3ICs5Myw3IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBVPgogaW5saW5lIFQqIGxhc3RDaGlsZChVJiBjdXJyZW50KQogewogICAg
IFJlbmRlck9iamVjdCogb2JqZWN0ID0gY3VycmVudC5sYXN0Q2hpbGQoKTsKLSAgICB3aGlsZSAo
b2JqZWN0ICYmICFpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFQ+KCpvYmplY3QpKQorICAgIHdoaWxl
IChvYmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8VD4oKm9iamVjdCkpCiAgICAgICAgIG9iamVj
dCA9IG9iamVjdC0+cHJldmlvdXNTaWJsaW5nKCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQq
PihvYmplY3QpOwogfQpAQCAtOTgsNyArMTAyLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFU+CiBpbmxpbmUgVCogbmV4dFNpYmxpbmcoVSYgY3VycmVudCkKIHsKICAgICBSZW5k
ZXJPYmplY3QqIG9iamVjdCA9IGN1cnJlbnQubmV4dFNpYmxpbmcoKTsKLSAgICB3aGlsZSAob2Jq
ZWN0ICYmICFpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0IFQ+KCpvYmplY3QpKQorICAgIHdoaWxlIChv
YmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8VD4oKm9iamVjdCkpCiAgICAgICAgIG9iamVjdCA9
IG9iamVjdC0+bmV4dFNpYmxpbmcoKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KG9iamVj
dCk7CiB9CkBAIC0xMDcsNyArMTExLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1l
IFU+CiBpbmxpbmUgVCogcHJldmlvdXNTaWJsaW5nKFUmIGN1cnJlbnQpCiB7CiAgICAgUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSBjdXJyZW50LnByZXZpb3VzU2libGluZygpOwotICAgIHdoaWxlIChv
YmplY3QgJiYgIWlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKm9iamVjdCkpCisgICAgd2hpbGUg
KG9iamVjdCAmJiAhaXNSZW5kZXJlck9mVHlwZTxUPigqb2JqZWN0KSkKICAgICAgICAgb2JqZWN0
ID0gb2JqZWN0LT5wcmV2aW91c1NpYmxpbmcoKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+
KG9iamVjdCk7CiB9CkBAIC0xMTUsOCArMTE5LDggQEAgaW5saW5lIFQqIHByZXZpb3VzU2libGlu
ZyhVJiBjdXJyZW50KQogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBpbmxpbmUgVCogZmluZEFuY2Vz
dG9yT2ZUeXBlKGNvbnN0IFJlbmRlck9iamVjdCYgY3VycmVudCkKIHsKLSAgICBmb3IgKGF1dG8g
YW5jZXN0b3IgPSBjdXJyZW50LnBhcmVudCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rv
ci0+cGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGlzUmVuZGVyZXJPZlR5cGU8Y29uc3QgVD4oKmFu
Y2VzdG9yKSkKKyAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gY3VycmVudC5wYXJlbnQoKTsgYW5j
ZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChpc1Jl
bmRlcmVyT2ZUeXBlPFQ+KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8VCo+KGFuY2VzdG9yKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAppbmRleCA2YzFh
ODc0YmMxZTBjMzAyNGQzYzYzYTMxN2QxZjgxMzcxMzkxMzg4Li4yMDk5MDQyMDIzMzU2MDNlYjVk
ZTBjYjJkOWIwODA0ZmQ1NGIzODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAgLTczLDQgKzczLDYgQEAgUkVOREVSX09CSkVD
VF9UWVBFX0NBU1RTKFJlbmRlckxheWVyTW9kZWxPYmplY3QsIGlzUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfUkVOREVSX09CSkVDVChSZW5kZXJMYXllck1vZGVsT2JqZWN0LCBpc1JlbmRlckxheWVyTW9k
ZWxPYmplY3QoKSkKKwogI2VuZGlmIC8vIFJlbmRlckxheWVyTW9kZWxPYmplY3RfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oCmluZGV4IGMzOTRlODZhMzhiODM1
NTM2MzEwODUyNmMxYTdhNDg2Mjc3MWZhYTkuLmU4ZWM1ZWY3YTI1MjBmOTNlYWUxODMzM2QxZjE3
YzEwZDI5YTk0OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aW5lQnJlYWsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJyZWFr
LmgKQEAgLTk3LDQgKzk3LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlckxpbmVC
cmVhaywgaXNMaW5lQnJlYWsoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGluZUJyZWFrLCBpc0xpbmVCcmVh
aygpKQorCiAjZW5kaWYgLy8gUmVuZGVyTGluZUJyZWFrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDNiNmRiNzZlMmZiMDJkNGVhNWNlNDU5YzcyMWRjZmUw
ZWEzZjNjMjEuLjUyMjBiODJmZTZiY2M3ZjI5NDNmNzM0MjFjMzg0MzJiODBkZmUyYmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApAQCAtMTY1LDQgKzE2NSw2IEBA
IFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJMaXN0Qm94LCBpc0xpc3RCb3goKSkKIAog
fSAvLyBuYW1lcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJMaXN0Qm94LCBpc0xpc3RCb3goKSkKKwogI2VuZGlmIC8vIFJlbmRlckxpc3RC
b3hfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVt
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAppbmRleCA3OTVk
ZTNhZTMwODAxZWQ2ZDQyMThmOWFkNWY5MTg0NjMwODliZTFhLi4wYTgxYTM4YmY0ZTEwZDYwYzhh
MTBhZDQ1OGMwNmVhOWE2NDg0MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEl0ZW0uaApAQCAtOTcsNCArOTcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTGlzdEl0ZW0sIGlzTGlzdEl0ZW0oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGlzdEl0ZW0sIGlzTGlz
dEl0ZW0oKSkKKwogI2VuZGlmIC8vIFJlbmRlckxpc3RJdGVtX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCmluZGV4IDI0M2RhMDc3MmM2MTlmYjFlOTI0NmM4
NTRmMGEwZjk2ODY1ZWQ3YTIuLmVhOGQzMmY5ZGU4MGE1OWQwNGE0ZmJjOGUzOGM1YWIwZDllNjI5
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaApAQCAt
ODksNCArODksNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTGlzdE1hcmtlciwg
aXNMaXN0TWFya2VyKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckxpc3RNYXJrZXIsIGlzTGlzdE1hcmtlcigp
KQorCiAjZW5kaWYgLy8gUmVuZGVyTGlzdE1hcmtlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZWRpYS5oCmluZGV4IGU5NTllMjQ2NjA0NDI1ZmE2NzU0NTJmMWJmNjc0MjI2YzUzYTIy
ZjkuLmNmNGU2NWRhNjI4MTFjZDMyZGMxODU0Mzk1ZjBlZDY1ZTNkM2ExZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCkBAIC02MCw2ICs2MCw4IEBAIFJFTkRFUl9PQkpF
Q1RfVFlQRV9DQVNUUyhSZW5kZXJNZWRpYSwgaXNNZWRpYSgpKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJl
bmRlck1lZGlhLCBpc01lZGlhKCkpCisKKyNlbmRpZiAvLyBFTkFCTEUoVklERU8pCiAKICNlbmRp
ZiAvLyBSZW5kZXJNZWRpYV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5oCmluZGV4IDRmMGNkMzYxYWY3ZjA4YzE2ZjY5Njg5ZDFlYTMyYTFjYTA5ZDg2MTIuLjkzZTZi
YjJiOWFkYTAwNzc0ODgyMmY3Njk2ZTBkYzgxYWYxYjAxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCkBAIC0xNTQsNiArMTU0LDggQEAgcHJpdmF0ZToKIAog
UkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1lbnVMaXN0LCBpc01lbnVMaXN0KCkpCiAK
LX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5E
RVJfT0JKRUNUKFJlbmRlck1lbnVMaXN0LCBpc01lbnVMaXN0KCkpCiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAppbmRleCA4MGYzMzNmODBjM2U2N2E1N2FlNjY1
YTRhOGU2N2MwMjhhMjg1MWJjLi5hNjMyNTBlYTBhZmViOTllMThjZWU4YTI1Y2Q1OWY2NTcxN2Fm
NjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaApAQCAtNTEsNyArNTEs
OSBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWV0ZXIsIGlzTWV0ZXIoKSkKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJNZXRlciwgaXNNZXRlcigpKQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FVEVSX0VMRU1FTlQpCiAKICNlbmRpZiAvLyBSZW5kZXJNZXRlcl9oCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaApp
bmRleCA4ODA2NTgyZjAyMmNiYjc2ZDUwYTE5MjhkM2NjZTJmOGRhM2IyYjEyLi43Zjc0ZTcyOWVj
NzA2YTQ4ODY5YTdhNWI4Y2NjOGYxM2E0ODUwMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oCkBAIC0xNjMsNSAr
MTYzLDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZCwgaXNSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHIKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTXVsdGlDb2x1
bW5GbG93VGhyZWFkLCBpc1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZCgpKQorCiAjZW5kaWYg
Ly8gUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkX2gKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAppbmRleCBlZmVkYjkxZmJjY2YxNGFmNTA2
MDVlYzBjYmQwODk1ZjY3MmYxODEwLi43NTBkNWNjOWJjZmYxNmVhY2MyMGMyYTg2ZGRjOWY3OGZk
NGMwNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5TZXQuaApAQCAtMjI5LDUgKzIyOSw3IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5k
ZXJNdWx0aUNvbHVtblNldCwgaXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJNdWx0aUNvbHVtblNldCwgaXNSZW5kZXJNdWx0aUNvbHVtblNldCgpKQorCiAjZW5kaWYgLy8g
UmVuZGVyTXVsdGlDb2x1bW5TZXRfaAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oCmluZGV4
IDEwYTVjYTQ1YTgzNzZkNTdhYzQ5ODY1ZjY4NzUwODkxNjNmMmIyMzcuLmNhYWMyZTdiZGRhNzQ3
YWJlZTkyZWNjN2E4ZTc0MjE1NDc4MjMxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5o
CkBAIC01OSw0ICs1OSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNdWx0aUNv
bHVtblNwYW5uZXJQbGFjZWhvbGRlciwgaXNSZW5kZXJNdWx0aUNvbHVtCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRl
ck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLCBpc1JlbmRlck11bHRpQ29sdW1uU3Bhbm5l
clBsYWNlaG9sZGVyKCkpCisKICNlbmRpZiAvLyBSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFj
ZWhvbGRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93RnJhZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dGcmFnbWVudC5oCmluZGV4IDk5OTVlM2FmYzA3ZGM0YmQxNmNlY2NjNmE4ZGY4ZDZjZTFmNjhi
MjUuLmY2Y2UyZmExZWQ4OGU0NGZhMzU5NTNiYTdmMmE0NDRjMWIzYTUyZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oCkBAIC0x
NjcsNCArMTY3LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck5hbWVkRmxvd0Zy
YWdtZW50LCBpc1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50KCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LCBpc1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50KCkpCisKICNlbmRpZiAvLyBS
ZW5kZXJOYW1lZEZsb3dGcmFnbWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKaW5kZXggZWRlOWMwN2MwMTNiOGY3MzFlZGRmNTRlZjcw
YTA3MWI3OGMyYzIwOS4uZDgyNzEzYTI0ZTk2ODkzMDA1N2NkY2I2NjNjZTE5OWIxZTM0MjBiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aApAQCAtMTYzLDQgKzE2Myw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJOYW1l
ZEZsb3dUaHJlYWQsIGlzUmVuZGVyTmFtZWRGbG93VGhyZWFkKCkpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck5h
bWVkRmxvd1RocmVhZCwgaXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKKwogI2VuZGlmIC8vIFJl
bmRlck5hbWVkRmxvd1RocmVhZF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKaW5kZXggYjFhODFjOTRhN2EwMDMxYTIzNDNhNGJjYTRjY2U1NWRiZWVkMjc4MS4uNDQyMzJm
YTM2NGJlOTM3MmJiMjg1OTA3MTcxYWNiMDc1MmQ5MDk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlN0eWxlSW5o
ZXJpdGVkRGF0YS5oIgogI2luY2x1ZGUgIlRleHRBZmZpbml0eS5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1R5cGVDYXN0cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTEwMzAsOSArMTAzMSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRFdmVySGFk
TGF5b3V0KGJvb2wgYikgeyBtX2JpdGZpZWxkcy5zZXRFdmVySGFkTGF5b3V0KGIpOyB9CiB9Owog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZT4gYm9vbCBpc1JlbmRlcmVyT2ZUeXBlKGNvbnN0IFJl
bmRlck9iamVjdCYpOwotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNSZW5kZXJlck9mVHlwZTxj
b25zdCBSZW5kZXJPYmplY3Q+KGNvbnN0IFJlbmRlck9iamVjdCYpIHsgcmV0dXJuIHRydWU7IH0K
LQogaW5saW5lIEZyYW1lJiBSZW5kZXJPYmplY3Q6OmZyYW1lKCkgY29uc3QKIHsKICAgICByZXR1
cm4gKmRvY3VtZW50KCkuZnJhbWUoKTsKQEAgLTExMjgsMTIgKzExMjYsMTcgQEAgaW5saW5lIGJv
b2wgUmVuZGVyT2JqZWN0OjpiYWNrZ3JvdW5kSXNLbm93blRvQmVPYnNjdXJlZCgpCiAgICAgcmV0
dXJuIG1fYml0ZmllbGRzLmJveERlY29yYXRpb25TdGF0ZSgpID09IEhhc0JveERlY29yYXRpb25z
QW5kQmFja2dyb3VuZElzS25vd25Ub0JlT2JzY3VyZWQ7CiB9CiAKKy8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBtYWNybyBhbmQgdXNlIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVCgp
IGluc3RlYWQuCiAjZGVmaW5lIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhUb1ZhbHVlVHlwZU5h
bWUsIHByZWRpY2F0ZSkgXAotICAgIHRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzUmVuZGVyZXJP
ZlR5cGU8Y29uc3QgVG9WYWx1ZVR5cGVOYW1lPihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVy
KSB7IHJldHVybiByZW5kZXJlci5wcmVkaWNhdGU7IH0gXAotICAgIFRZUEVfQ0FTVFNfQkFTRShU
b1ZhbHVlVHlwZU5hbWUsIFJlbmRlck9iamVjdCwgcmVuZGVyZXIsIGlzUmVuZGVyZXJPZlR5cGU8
Y29uc3QgVG9WYWx1ZVR5cGVOYW1lPigqcmVuZGVyZXIpLCBpc1JlbmRlcmVyT2ZUeXBlPGNvbnN0
IFRvVmFsdWVUeXBlTmFtZT4ocmVuZGVyZXIpKQorICAgIFRZUEVfQ0FTVFNfQkFTRShUb1ZhbHVl
VHlwZU5hbWUsIFJlbmRlck9iamVjdCwgcmVuZGVyZXIsIGlzPFRvVmFsdWVUeXBlTmFtZT4oKnJl
bmRlcmVyKSwgaXM8VG9WYWx1ZVR5cGVOYW1lPihyZW5kZXJlcikpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAorI2RlZmluZSBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1Qo
VG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVH
SU4oV2ViQ29yZTo6VG9WYWx1ZVR5cGVOYW1lKSBcCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNv
bnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpIHsgcmV0dXJuIHJlbmRlcmVyLnBy
ZWRpY2F0ZTsgfSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKICNpZm5kZWYgTkRF
QlVHCiAvLyBPdXRzaWRlIHRoZSBXZWJDb3JlIG5hbWVzcGFjZSBmb3IgZWFzZSBvZiBpbnZvY2F0
aW9uIGZyb20gZ2RiLgogdm9pZCBzaG93Tm9kZVRyZWUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oCmluZGV4IDNj
YjRkMjVjNTI5MWRhZjJlY2I5Zjc4Y2VkODA1ZTUzZTBkYjY2MGQuLjg2ZTg3NjU0YTM3ZTgxZGQw
MzAxZTZmNDE1MjE2YmM0YzY2MzMxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJQcm9ncmVzcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5oCkBAIC02Miw1ICs2Miw3IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJQcm9ncmVzcywgaXNQcm9ncmVzcygpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJQcm9ncmVzcywgaXNQ
cm9ncmVzcygpKQorCiAjZW5kaWYgLy8gUmVuZGVyUHJvZ3Jlc3NfaAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJRdW90ZS5oCmluZGV4IGVhMmE4M2NkNDA5MTJiYjczYTcyMWYwMTM0MDQy
MWYzYTIwMzYzODEuLmFiOWI4Y2ExYjRmYWQ1ODUwOWQwNzAxYzljZWE1ZTg0M2E2MTkyOTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJRdW90ZS5oCkBAIC01OSw0ICs1OSw2IEBAIFJF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJRdW90ZSwgaXNRdW90ZSgpKQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChS
ZW5kZXJRdW90ZSwgaXNRdW90ZSgpKQorCiAjZW5kaWYgLy8gUmVuZGVyUXVvdGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCmluZGV4IDNhY2VjMGE0ZDVkYWFmMzEwNDYz
ZjQ5NmJlNWRhMzlmZTk2YzYwM2UuLjAxZTY3NGMwYmIyMWNiYzJhZjUwZmRjMmNlY2VkOTNhOTU3
MjkxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAgLTE3OSw4
ICsxNzksNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1ZhbGlkIDogMTsKIH07CiAKLVJFTkRF
Ul9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJSZWdpb24sIGlzUmVuZGVyUmVnaW9uKCkpCi0KIGNs
YXNzIEN1cnJlbnRSZW5kZXJSZWdpb25NYWludGFpbmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDdXJyZW50UmVuZGVyUmVnaW9uTWFpbnRhaW5lcik7CiBwdWJsaWM6CkBAIC0xOTQsNCAr
MTkyLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyUmVnaW9uLCBpc1JlbmRlclJlZ2lvbigp
KQorCiAjZW5kaWYgLy8gUmVuZGVyUmVnaW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmgKaW5kZXggZDJhYjdiODZlNmNiZDI4Nzg4OWYwYTQ1ZmQwYzM4MjA3YzE5
MjNkNC4uYTg1OTM3MjY3YmYwYjcxYTIxNWI3YjE2YjgwZjM3YTA1NDRjN2RmNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTkxLDYgKzkxLDggQEAgcHJp
dmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclJlcGxhY2VkLCBpc1JlbmRl
clJlcGxhY2VkKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclJlcGxhY2VkLCBpc1JlbmRlclJlcGxhY2Vk
KCkpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJ1YnlSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmgKaW5k
ZXggMmZlMTViOTBmYzExODAyOGZmZjUzZTU1YWJjZTRjNDBhZjc1YjllNC4uYTBhZGFmYmE3NzAy
YjJjOGMyNTJjNGQ1MTBmMDQ2YTZmNGZmM2YxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUnVieVJ1bi5oCkBAIC04MSw0ICs4MSw2IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNU
UyhSZW5kZXJSdWJ5UnVuLCBpc1J1YnlSdW4oKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyUnVieVJ1biwgaXNS
dWJ5UnVuKCkpCisKICNlbmRpZiAvLyBSZW5kZXJSdWJ5UnVuX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oCmluZGV4IDBkMzhkNmY0YjY2ZDc2Y2Iw
MWUzYmU2NjVlM2E4Njk2NTNmNGU3ZmYuLjBjYjY3MGIzMjBlMGE4ZTRmYjEwYzM3NmI2MmM0ZDcz
MGIzMDVkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3Jv
bGxiYXJQYXJ0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJh
clBhcnQuaApAQCAtNzcsNCArNzcsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVy
U2Nyb2xsYmFyUGFydCwgaXNSZW5kZXJTY3JvbGxiYXJQYXJ0KCkpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNj
cm9sbGJhclBhcnQsIGlzUmVuZGVyU2Nyb2xsYmFyUGFydCgpKQorCiAjZW5kaWYgLy8gUmVuZGVy
U2Nyb2xsYmFyUGFydF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VhcmNoRmllbGQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hG
aWVsZC5oCmluZGV4IDQzNjU2MWMxN2U1ZTI2YjcyYjk2NmFkODZmNTljYTQ0ZDNjNDY5MTkuLjBh
MDY2MzMwYWFkY2I5NjhiNzU4NmQ0NTA2Y2Y5Zjk5ZDgzZTc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oCkBAIC05Miw2ICs5Miw4IEBAIHByaXZh
dGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTZWFyY2hGaWVsZCwgaXNUZXh0
RmllbGQoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU2VhcmNoRmllbGQsIGlzVGV4dEZpZWxkKCkpCiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5oCmluZGV4IDk2NTcy
ZWZlODcyODBjZTgyNmE4ODMyM2VmZWQxYzY3YzgzNDUyODkuLmRhOGFjN2FiODY3NzQ5ODQ4MDQx
MTViZDdmNTg2Njk4ZjEyZGMyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTbGlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xp
ZGVyLmgKQEAgLTU1LDQgKzU1LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNs
aWRlciwgaXNTbGlkZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU2xpZGVyLCBpc1NsaWRlcigpKQorCiAj
ZW5kaWYgLy8gUmVuZGVyU2xpZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKaW5kZXggZWRmNTc1MWFkNDExMmMxNzIwMmUxYTBl
NzYzYzc2MTY3MDExMDNlYy4uMDkyYzUwZmI0NTA0ZWEyZmE2YmI3ZmQwZjcxMzdhMTI0YTJjZDUw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVk
UGx1Z0luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVk
UGx1Z0luLmgKQEAgLTY3LDQgKzY3LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRl
clNuYXBzaG90dGVkUGx1Z0luLCBpc1NuYXBzaG90dGVkUGx1Z0luKCkpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRl
clNuYXBzaG90dGVkUGx1Z0luLCBpc1NuYXBzaG90dGVkUGx1Z0luKCkpCisKICNlbmRpZiAvLyBS
ZW5kZXJTbmFwc2hvdHRlZFBsdWdJbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5oCmluZGV4IDNmNGJiOGFlMDczMTc5NTE2ODZiZGNjNzZhYzlkNDBkYWZkYmIwOWUuLmQ5ZDFl
ZThiMDRlMTdlNzhjOWY1YWRhM2Y1ZDZiYWI3MTI3MTRiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5oCkBAIC0zODUsNCArMzg1LDYgQEAgUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclRhYmxlLCBpc1RhYmxlKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlLCBpc1Rh
YmxlKCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmgKaW5kZXggMTRiYTlkMmQzOGMyYWQzZjkxNWJiMTNm
NTNlNDcxYmQwNDMzMDQxMS4uOTYzYjE4MWIxZWJmM2U5NGEwNmI5ZmVmYmYzOTdmMjE1NmVkYzdj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaApA
QCAtNDgsNCArNDgsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGFibGVDYXB0
aW9uLCBpc1RhYmxlQ2FwdGlvbigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUYWJsZUNhcHRpb24sIGlzVGFi
bGVDYXB0aW9uKCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZUNhcHRpb25faApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4IDhhNWJmMmE0NzM3Y2U0NTIw
YmVhMTQyZGJkNzQzMTI5YzUzOGUwNjguLjc3YzkyYjk5MGI4ZGI1Y2FjY2NkYmRlMDEyNDgyYjgz
ZDM4NTljMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgK
QEAgLTMxOCw0ICszMTgsNiBAQCBpbmxpbmUgUmVuZGVyVGFibGVDZWxsKiBSZW5kZXJUYWJsZVJv
dzo6bGFzdENlbGwoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUYWJsZUNlbGwsIGlzVGFibGVDZWxs
KCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZUNlbGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDb2wuaAppbmRleCA5ZGQ5MzU2NGY2YTgwZjBlNjgxYjc4YmEzNzgyNGY0
MWI4NmFjZjkzLi5iNzlkMmMzYTFiOTY1M2RkZTAwZTE5N2MzOTcxNDQ5MzA3NmRjNDAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaApAQCAtMTAyLDYgKzEwMiw4
IEBAIHByaXZhdGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJUYWJsZUNvbCwg
aXNSZW5kZXJUYWJsZUNvbCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRhYmxlQ29sLCBp
c1JlbmRlclRhYmxlQ29sKCkpCisKKyNlbmRpZiAvLyBSZW5kZXJUYWJsZUNvbF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IDY0NzBlNmYyYjZkMDU0YTMy
MjhlNzlkOWU5MDBiN2M0ZmY1MDcxMzUuLjc1YmVjYjUyNDhmMjFkZjkxNDljODBmYjhmZjIzYWRi
YmI1MDI3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZVJvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCkBA
IC0xNDMsNCArMTQzLDYgQEAgaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6
cHJldmlvdXNSb3coKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUYWJsZVJvdywgaXNUYWJsZVJvdygp
KQorCiAjZW5kaWYgLy8gUmVuZGVyVGFibGVSb3dfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCmluZGV4IGVlMjMzMDkxNjQyMDNkODBmNzIyZWNhYWQx
M2Y2OWU5OGNkYWFmOWQuLmI0YjMwYzE2NGViMDJjN2ZmMWYyODk3NGRmOThkZGJlOThmNzg2MTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKQEAg
LTM1MSw0ICszNTEsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyVGFibGVTZWN0
aW9uLCBpc1RhYmxlU2VjdGlvbigpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJUYWJsZVNlY3Rpb24sIGlzVGFi
bGVTZWN0aW9uKCkpCisKICNlbmRpZiAvLyBSZW5kZXJUYWJsZVNlY3Rpb25faApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKaW5kZXggODQxMTVhMzNlMmExNDU1ODZmMDY0ZjcyZWY1
NThkMjNjMDA5ZTUwNi4uMGViMjMzYzNhNTUxY2M4ZDM0OGE0MTQ4ODI2OTM4NTZmMmY5MjdiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCkBAIC0yNTksNCArMjU5LDYgQEAg
aW5saW5lIFJlbmRlclRleHQqIFRleHQ6OnJlbmRlcmVyKCkgY29uc3QKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVy
VGV4dCwgaXNUZXh0KCkpCisKICNlbmRpZiAvLyBSZW5kZXJUZXh0X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKaW5kZXggMjE1MDg0MDIzMmNlYTU0ZmFm
NDk5NTZkNmE1YzhhMGUzNDUwMGI5NC4uYjljMmEzNzM4OThmZGM3MWJkODdmZDVmOTAzNGM5ZDQ1
YjMwMzE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
LmgKQEAgLTEwOSw3ICsxMDksOCBAQCBwdWJsaWM6CiAKIH07CiAKLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGV4
dENvbnRyb2wsIGlzVGV4dENvbnRyb2woKSkKKwogI2VuZGlmIC8vIFJlbmRlclRleHRDb250cm9s
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bE11bHRpTGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
TXVsdGlMaW5lLmgKaW5kZXggODRhYjIyOGM5ZGNhODkzNDZjNDkyMzI0NjFkMjUzMjRmMzRiOGIz
Mi4uNjQ1NWMxMGZjMGI5ODY2N2Y4N2Y2NThkN2Q1NWFlY2JmZmVkMGQ0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmgK
QEAgLTUzLDYgKzUzLDggQEAgcHJpdmF0ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJl
bmRlclRleHRDb250cm9sTXVsdGlMaW5lLCBpc1RleHRBcmVhKCkpCiAKLX0KK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpF
Q1QoUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUsIGlzVGV4dEFyZWEoKSkKKworI2VuZGlmIC8v
IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAppbmRleCBmZWI4MDUxZTdl
ODE0YWZjODk1ZGIyZDkxZmI4OGViMTY4ODA1NWI0Li42MWMwN2Q2YjVkYzVmMmU3MjI2OWE3NGQ0
YmEwMmUyM2RmNDAwM2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCkBAIC0xMTUsNiArMTE1LDkgQEAgcHJpdmF0
ZToKIAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9j
aywgaXNUZXh0Q29udHJvbElubmVyQmxvY2soKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLCBpc1RleHRGaWVsZCgpKQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5E
RVJfT0JKRUNUKFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jaywgaXNUZXh0Q29udHJvbElubmVy
QmxvY2soKSkKIAotI2VuZGlmCisjZW5kaWYgLy8gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaAppbmRl
eCBiMDNkNDYyZDVmZGRkZDU2OWVmYTE0MGVhOWUwODA5ZWFkOWUzOTVmLi42YzJhZjJiYmYzYjli
ZmM1NjYwZjg1ZmUyNDUxYWQ2YzQzNjk5YzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRGcmFnbWVudC5oCkBAIC03Niw0ICs3Niw2IEBAIFJFTkRFUl9PQkpFQ1Rf
VFlQRV9DQVNUUyhSZW5kZXJUZXh0RnJhZ21lbnQsIGlzVGV4dCgpICYmIHRvUmVuZGVyVGV4dChy
ZW5kZXJlcikuCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclRleHRGcmFnbWVudCwgaXNUZXh0KCkgJiYgdG9SZW5k
ZXJUZXh0KHJlbmRlcmVyKS5pc1RleHRGcmFnbWVudCgpKQorCiAjZW5kaWYgLy8gUmVuZGVyVGV4
dEZyYWdtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWRlby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgKaW5kZXggNDdi
NTAxNThlZTgyNGI1NDkxYzc1MzY1NmY0YTIzYmM3ZWMwMzUzNC4uNTRhZTNmMDViYTEwZjk1MTQx
N2ZkNjY5Yzk2NGM0MDEyZGEyODcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZGVvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmgKQEAgLTk0LDUgKzk0LDcgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclZp
ZGVvLCBpc1ZpZGVvKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVmlkZW8sIGlzVmlkZW8oKSkK
KworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKICNlbmRpZiAvLyBSZW5kZXJWaWRlb19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCBkMmNlMDdkOTY2OTVlNzcwNGFjYzQ2
YjAyMzlmYmMyNTc0MGEyOGE0Li41NjdjNTNmYjU2OGI2ODA2N2JjOTEyYzQzMzY4OWYwNWY5YzEw
Mjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTQ1Niw0ICs0NTYs
NiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJWaWV3LCBpc1JlbmRlclZpZXcoKSkKKwogI2Vu
ZGlmIC8vIFJlbmRlclZpZXdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5o
CmluZGV4IDE1NzgxZjYwYWQyOGI4OWQxZDBjZDdhOTI1NWM1ODJlZDUyZGZiNjguLmIyN2FlOWFl
M2NmYjBjNWVmMzAyZDFjNTFjNjkxNmJmYWQ1NzY3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV2lkZ2V0LmgKQEAgLTEwOCw0ICsxMDgsNiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyV2lkZ2V0LCBpc1dpZGdldCgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJXaWRnZXQsIGlz
V2lkZ2V0KCkpCisKICNlbmRpZiAvLyBSZW5kZXJXaWRnZXRfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCmluZGV4IGY0MTUwMGU3
NmEyMjlhNzJiOWZjM2ZiOGY0MjJhNWIzZTRiYjQ1ZmMuLmM5NGEyMWQ3ZGJjMjc0ZTk4M2RiOGU3
NjBmMmY1MTA2MjdhMDRhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKQEAgLTY5LDggKzY5LDYgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZTsKIH07CiAK
LVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJNYXRoTUxCbG9jaywgaXNSZW5kZXJNYXRo
TUxCbG9jaygpKQotCiBjbGFzcyBSZW5kZXJNYXRoTUxUYWJsZSBmaW5hbCA6IHB1YmxpYyBSZW5k
ZXJUYWJsZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWF0aE1MVGFibGUoRWxlbWVu
dCYgZWxlbWVudCwgUGFzc1JlZjxSZW5kZXJTdHlsZT4gc3R5bGUpCkBAIC04NSwxMiArODMsMTQg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAiUmVuZGVyTWF0aE1MVGFibGUiOyB9CiB9OwogCi1SRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MVGFibGUsIGlzUmVuZGVyTWF0aE1MVGFibGUoKSkK
LQogLy8gUGFyc2luZyBmdW5jdGlvbnMgZm9yIE1hdGhNTCBMZW5ndGggdmFsdWVzCiBib29sIHBh
cnNlTWF0aE1MTGVuZ3RoKGNvbnN0IFN0cmluZyYsIExheW91dFVuaXQmLCBjb25zdCBSZW5kZXJT
dHlsZSosIGJvb2wgYWxsb3dOZWdhdGl2ZSA9IHRydWUpOwogYm9vbCBwYXJzZU1hdGhNTE5hbWVk
U3BhY2UoY29uc3QgU3RyaW5nJiwgTGF5b3V0VW5pdCYsIGNvbnN0IFJlbmRlclN0eWxlKiwgYm9v
bCBhbGxvd05lZ2F0aXZlID0gdHJ1ZSk7Ci19CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTEJsb2NrLCBp
c1JlbmRlck1hdGhNTEJsb2NrKCkpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpF
Q1QoUmVuZGVyTWF0aE1MVGFibGUsIGlzUmVuZGVyTWF0aE1MVGFibGUoKSkKIAogI2VuZGlmIC8v
IEVOQUJMRShNQVRITUwpCiAjZW5kaWYgLy8gUmVuZGVyTWF0aE1MQmxvY2tfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3Bw
CmluZGV4IDMxZGVmZjE4MjI5N2U0YmY5Y2Q4MDVhZDgyZDU3ODhmYWZkMThkMmIuLmE4NDkzNWFl
YWViYjEwYTA3Y2JkNGVhZDlkY2JiYWUwZDRkYWU5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAKQEAgLTc4LDcg
Kzc4LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxGZW5jZWQ6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAg
ICAgICAgbWFrZUZlbmNlcygpOwogICAgIGVsc2UgewogICAgICAgICAvLyBGSVhNRTogVGhlIG1m
ZW5jZWQgZWxlbWVudCBmYWlscyB0byB1cGRhdGUgZHluYW1pY2FsbHkgd2hlbiBpdHMgb3Blbiwg
Y2xvc2UgYW5kIHNlcGFyYXRvcnMgYXR0cmlidXRlcyBhcmUgY2hhbmdlZCAoaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3Njk2KS4KLSAgICAgICAgdG9SZW5kZXJNYXRo
TUxPcGVyYXRvcihmaXJzdENoaWxkKCkpLT51cGRhdGVUb2tlbkNvbnRlbnQobV9vcGVuKTsKKyAg
ICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCpmaXJzdENoaWxkKCkpLnVwZGF0
ZVRva2VuQ29udGVudChtX29wZW4pOwogICAgICAgICBtX2Nsb3NlRmVuY2VSZW5kZXJlci0+dXBk
YXRlVG9rZW5Db250ZW50KG1fY2xvc2UpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKaW5kZXgg
Y2NlYzQxZWRmYjhhNzE3NjNjMDVhYTIwMGNkM2FkNmU4Yzk4YWM1Ni4uYjVlZjI3ZmVkMzYzNThh
MTM5YjUxMTNiZWU5NDgwYzFmZTFkMjhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKQEAgLTEyMCwxMSAr
MTIwLDExIEBAIFJlbmRlck1hdGhNTE9wZXJhdG9yKiBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6dW5l
bWJlbGxpc2hlZE9wZXJhdG9yKCkKIHsKICAgICBSZW5kZXJPYmplY3QqIG51bWVyYXRvcldyYXBw
ZXIgPSBmaXJzdENoaWxkKCk7CiAgICAgaWYgKCFudW1lcmF0b3JXcmFwcGVyKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgUmVuZGVyT2JqZWN0KiBudW1l
cmF0b3IgPSBudW1lcmF0b3JXcmFwcGVyLT5maXJzdENoaWxkU2xvdygpOwotICAgIGlmICghbnVt
ZXJhdG9yIHx8ICFudW1lcmF0b3ItPmlzUmVuZGVyTWF0aE1MQmxvY2soKSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0gICAgcmV0dXJuIHRvUmVuZGVyTWF0aE1MQmxvY2sobnVtZXJhdG9yKS0+dW5lbWJl
bGxpc2hlZE9wZXJhdG9yKCk7CisgICAgaWYgKCFpczxSZW5kZXJNYXRoTUxCbG9jaz4obnVtZXJh
dG9yKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRl
ck1hdGhNTEJsb2NrPigqbnVtZXJhdG9yKS51bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKIH0KIAog
dm9pZCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6bGF5b3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaAppbmRleCA2OTIy
ZDI5ZmU1NTllNjkyMTczMjUyNzIyZGE5ODA1MWYyMTI3MGJiLi44ZjJjNzE3OTM5ZDEyMmJiNjQ2
OTE4ZWRlM2M5ZmZjYzVkYjg2MDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCkBAIC01OCw5ICs1OCw5IEBAIHBy
aXZhdGU6CiAgICAgTGF5b3V0VW5pdCBtX2xpbmVUaGlja25lc3M7CiB9OwogCi1SRU5ERVJfT0JK
RUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MRnJhY3Rpb24sIGlzUmVuZGVyTWF0aE1MRnJhY3Rp
b24oKSkKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTEZyYWN0aW9uLCBpc1JlbmRlck1hdGhNTEZyYWN0
aW9uKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKaW5kZXggYzIw
OTg3ODc3NGY4MDg3NzhmNzQ0NmVkYWQzYjRhMmEzZDRjZGI3MS4uNTM2MWJmNGVkYjlmMDAzNTgw
YTc4ZGUwOTM3MjYyYjMxNTk2ZTM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaApAQCAtMTg5LDkgKzE4OSw5IEBA
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgU2V0T3BlcmF0b3JQcm9wZXJ0aWVzKCk7CiB9
OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MT3BlcmF0b3IsIGlzUmVu
ZGVyTWF0aE1MT3BlcmF0b3IoKSkKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotfQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTE9wZXJhdG9yLCBpc1Jl
bmRlck1hdGhNTE9wZXJhdG9yKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQogI2VuZGlm
IC8vIFJlbmRlck1hdGhNTE9wZXJhdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvci5oCmluZGV4
IDQwYWE5ZjhjYTMyNzcyY2I3MmU5YjRiMDU4NzUzZjExMGM3YTU3MDMuLmJjM2I0YmUxYmVlMzE3
YjkxMmE1NWY0N2RjZTY2ODhhNzlhYzljMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IuaApA
QCAtNDgsOSArNDgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgU2V0T3BlcmF0b3JQcm9wZXJ0aWVz
KCkgb3ZlcnJpZGU7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1M
UmFkaWNhbE9wZXJhdG9yLCBpc1JlbmRlck1hdGhNTFJhZGljYWxPcGVyYXRvcigpKQorfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpF
Q1QoUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yLCBpc1JlbmRlck1hdGhNTFJhZGljYWxPcGVy
YXRvcigpKQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKICNlbmRpZiAvLyBSZW5kZXJNYXRo
TUxSYWRpY2FsT3BlcmF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAKaW5kZXggMjc1NjM0OTI1NTIwZDhiZThmMDAwN2Nl
MzhhZGExOGIyMzc3MDc2Ny4uMjgwNjM5MDY4ZDU2YWQ5MGEyNzkyNDJmNzVmOWE3MDk3OWU4NDQz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFJvb3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAj
aW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxSYWRpY2Fs
T3BlcmF0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxTcXVhcmVSb290LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAKQEAgLTY3LDI1ICs2OCwyNSBAQCBSZW5kZXJNYXRoTUxSb290
OjpSZW5kZXJNYXRoTUxSb290KERvY3VtZW50JiBkb2N1bWVudCwgUGFzc1JlZjxSZW5kZXJTdHls
ZT4gc3R5bAogUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIqIFJlbmRlck1hdGhNTFJvb3Q6OmJhc2VX
cmFwcGVyKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIHRv
UmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIobGFzdENoaWxkKCkpOworICAgIHJldHVybiBkb3duY2Fz
dDxSZW5kZXJNYXRoTUxSb290V3JhcHBlcj4obGFzdENoaWxkKCkpOwogfQogCiBSZW5kZXJNYXRo
TUxCbG9jayogUmVuZGVyTWF0aE1MUm9vdDo6cmFkaWNhbFdyYXBwZXIoKSBjb25zdAogewogICAg
IEFTU0VSVCghaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxCbG9jayhsYXN0
Q2hpbGQoKS0+cHJldmlvdXNTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJN
YXRoTUxCbG9jaz4obGFzdENoaWxkKCktPnByZXZpb3VzU2libGluZygpKTsKIH0KIAogUmVuZGVy
TWF0aE1MUm9vdFdyYXBwZXIqIFJlbmRlck1hdGhNTFJvb3Q6OmluZGV4V3JhcHBlcigpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwotICAgIHJldHVybiBpc1JlbmRlck1hdGhNTFNx
dWFyZVJvb3QoKSA/IG51bGxwdHIgOiB0b1JlbmRlck1hdGhNTFJvb3RXcmFwcGVyKGZpcnN0Q2hp
bGQoKSk7CisgICAgcmV0dXJuIGlzPFJlbmRlck1hdGhNTFNxdWFyZVJvb3Q+KCp0aGlzKSA/IG51
bGxwdHIgOiBkb3duY2FzdDxSZW5kZXJNYXRoTUxSb290V3JhcHBlcj4oZmlyc3RDaGlsZCgpKTsK
IH0KIAogUmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9yKiBSZW5kZXJNYXRoTUxSb290OjpyYWRp
Y2FsT3BlcmF0b3IoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNFbXB0eSgpKTsKLSAgICByZXR1
cm4gdG9SZW5kZXJNYXRoTUxSYWRpY2FsT3BlcmF0b3IocmFkaWNhbFdyYXBwZXIoKS0+Zmlyc3RD
aGlsZCgpKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTWF0aE1MUmFkaWNhbE9wZXJhdG9y
PihyYWRpY2FsV3JhcHBlcigpLT5maXJzdENoaWxkKCkpOwogfQogCiB2b2lkIFJlbmRlck1hdGhN
TFJvb3Q6OnJlc3RydWN0dXJlV3JhcHBlcnMoKQpAQCAtMzU4LDcgKzM1OSw3IEBAIFJlbmRlck9i
amVjdCogUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXI6OnJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCYg
Y2hpbGQpCiAgICAgUmVuZGVyT2JqZWN0KiBuZXh0ID0gUmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92
ZUNoaWxkKGNoaWxkKTsKIAogICAgIGlmICghKGJlaW5nRGVzdHJveWVkKCkgfHwgZG9jdW1lbnRC
ZWluZ0Rlc3Ryb3llZCgpKSkKLSAgICAgICAgdG9SZW5kZXJNYXRoTUxSb290KHBhcmVudCgpKS0+
cmVzdHJ1Y3R1cmVXcmFwcGVycygpOworICAgICAgICBkb3duY2FzdDxSZW5kZXJNYXRoTUxSb290
PigqcGFyZW50KCkpLnJlc3RydWN0dXJlV3JhcHBlcnMoKTsKIAogICAgIHJldHVybiBuZXh0Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJv
b3QuaAppbmRleCBmZTkzZGVlODY2MzdkOTE2Mzg5NTA5NDMxN2IyNjE2MTg1MzFkZjhiLi5hZjAw
MGE3MmMzOTM3MGFlYzJmMzgyMjVkZTU5NjUzYzVjY2NiZThjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuaApAQCAtNzEsOCArNzEs
NiBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbV9leHRyYUFzY2VuZGVyOwogICAgIGZsb2F0
IG1fZGVncmVlQm90dG9tUmFpc2VQZXJjZW50OwogfTsKLSAgICAKLVJFTkRFUl9PQkpFQ1RfVFlQ
RV9DQVNUUyhSZW5kZXJNYXRoTUxSb290LCBpc1JlbmRlck1hdGhNTFJvb3QoKSkKIAogLy8gVGhl
c2UgYXJlIHNwZWNpZmljIHdyYXBwZXJzIGZvciB0aGUgaW5kZXggYW5kIGJhc2UsIHRoYXQgYXNr
IHRoZSBwYXJlbnQgdG8gcmVzdHJ1Y3R1cmUgdGhlIHJlbmRlcmVycyBhZnRlciBjaGlsZCByZW1v
dmFsLgogY2xhc3MgUmVuZGVyTWF0aE1MUm9vdFdyYXBwZXIgOiBwdWJsaWMgUmVuZGVyTWF0aE1M
Um93IHsKQEAgLTkxLDkgKzg5LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlck1hdGhNTFJvb3RX
cmFwcGVyIjsgfQogfTsKIAotUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTFJv
b3RXcmFwcGVyLCBpc1JlbmRlck1hdGhNTFJvb3RXcmFwcGVyKCkpCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJN
YXRoTUxSb290LCBpc1JlbmRlck1hdGhNTFJvb3QoKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
UkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxSb290V3JhcHBlciwgaXNSZW5kZXJNYXRoTUxSb290
V3JhcHBlcigpKQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCmluZGV4IDNlODMz
NzhlNTIyMmI0MzFkODNhNDJmY2Y2Yzk1MDYyMmU5ZmVmNDcuLmNmMDQ5YWQ1Y2Y1MjJlZmI1ZGFh
OTg1NzRjNjQ2YTBkYTkzNDg0MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKQEAgLTU4LDggKzU4LDggQEAgUmVuZGVyUHRy
PFJlbmRlck1hdGhNTFJvdz4gUmVuZGVyTWF0aE1MUm93OjpjcmVhdGVBbm9ueW1vdXNXaXRoUGFy
ZW50UmVuZGVyZXIoUmUKIHZvaWQgUmVuZGVyTWF0aE1MUm93Ojp1cGRhdGVPcGVyYXRvclByb3Bl
cnRpZXMoKQogewogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGNoaWxk
LT5pc1JlbmRlck1hdGhNTEJsb2NrKCkpIHsKLSAgICAgICAgICAgIGlmIChhdXRvIHJlbmRlck9w
ZXJhdG9yID0gdG9SZW5kZXJNYXRoTUxCbG9jayhjaGlsZCktPnVuZW1iZWxsaXNoZWRPcGVyYXRv
cigpKQorICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkpIHsKKyAgICAg
ICAgICAgIGlmIChhdXRvKiByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTEJs
b2NrPigqY2hpbGQpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpKQogICAgICAgICAgICAgICAgIHJl
bmRlck9wZXJhdG9yLT51cGRhdGVPcGVyYXRvclByb3BlcnRpZXMoKTsKICAgICAgICAgfQogICAg
IH0KQEAgLTcxLDI2ICs3MSwyNiBAQCB2b2lkIFJlbmRlck1hdGhNTFJvdzo6bGF5b3V0KCkKICAg
ICBpbnQgc3RyZXRjaEhlaWdodEFib3ZlQmFzZWxpbmUgPSAwLCBzdHJldGNoRGVwdGhCZWxvd0Jh
c2VsaW5lID0gMDsKICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChjaGls
ZC0+bmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgIHRvUmVuZGVyRWxlbWVudChjaGlsZCktPmxh
eW91dCgpOwotICAgICAgICBpZiAoY2hpbGQtPmlzUmVuZGVyTWF0aE1MQmxvY2soKSkgeworICAg
ICAgICAgICAgZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmNoaWxkKS5sYXlvdXQoKTsKKyAgICAg
ICAgaWYgKGlzPFJlbmRlck1hdGhNTEJsb2NrPigqY2hpbGQpKSB7CiAgICAgICAgICAgICAvLyBX
ZSBza2lwIHRoZSBzdHJldGNoeSBvcGVyYXRvcnMgYXMgdGhleSBtdXN0IG5vdCBiZSBpbmNsdWRl
ZCBpbiB0aGUgY29tcHV0YXRpb24gb2YgdGhlIHN0cmV0Y2ggc2l6ZS4KLSAgICAgICAgICAgIGF1
dG8gcmVuZGVyT3BlcmF0b3IgPSB0b1JlbmRlck1hdGhNTEJsb2NrKGNoaWxkKS0+dW5lbWJlbGxp
c2hlZE9wZXJhdG9yKCk7CisgICAgICAgICAgICBhdXRvKiByZW5kZXJPcGVyYXRvciA9IGRvd25j
YXN0PFJlbmRlck1hdGhNTEJsb2NrPigqY2hpbGQpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwog
ICAgICAgICAgICAgaWYgKHJlbmRlck9wZXJhdG9yICYmIHJlbmRlck9wZXJhdG9yLT5oYXNPcGVy
YXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTdHJldGNoeSkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgTGF5b3V0VW5pdCBjaGlsZEhlaWdo
dEFib3ZlQmFzZWxpbmUgPSAwLCBjaGlsZERlcHRoQmVsb3dCYXNlbGluZSA9IDA7Ci0gICAgICAg
IGlmIChjaGlsZC0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKSB7Ci0gICAgICAgICAgICBSZW5kZXJN
YXRoTUxCbG9jayogbWF0aG1sQ2hpbGQgPSB0b1JlbmRlck1hdGhNTEJsb2NrKGNoaWxkKTsKLSAg
ICAgICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IG1hdGhtbENoaWxkLT5maXJzdExp
bmVCYXNlbGluZSgpOworICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KCpjaGlsZCkp
IHsKKyAgICAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrJiBtYXRobWxDaGlsZCA9IGRvd25jYXN0
PFJlbmRlck1hdGhNTEJsb2NrPigqY2hpbGQpOworICAgICAgICAgICAgY2hpbGRIZWlnaHRBYm92
ZUJhc2VsaW5lID0gbWF0aG1sQ2hpbGQuZmlyc3RMaW5lQmFzZWxpbmUoKTsKICAgICAgICAgICAg
IGlmIChjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPT0gLTEpCi0gICAgICAgICAgICAgICAgY2hp
bGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gbWF0aG1sQ2hpbGQtPmxvZ2ljYWxIZWlnaHQoKTsKLSAg
ICAgICAgICAgIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gbWF0aG1sQ2hpbGQtPmxvZ2ljYWxI
ZWlnaHQoKSAtIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZTsKLSAgICAgICAgfSBlbHNlIGlmIChj
aGlsZC0+aXNSZW5kZXJNYXRoTUxUYWJsZSgpKSB7Ci0gICAgICAgICAgICBSZW5kZXJNYXRoTUxU
YWJsZSogdGFibGVDaGlsZCA9IHRvUmVuZGVyTWF0aE1MVGFibGUoY2hpbGQpOwotICAgICAgICAg
ICAgY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lID0gdGFibGVDaGlsZC0+Zmlyc3RMaW5lQmFzZWxp
bmUoKTsKLSAgICAgICAgICAgIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5lID0gdGFibGVDaGlsZC0+
bG9naWNhbEhlaWdodCgpIC0gY2hpbGRIZWlnaHRBYm92ZUJhc2VsaW5lOwotICAgICAgICB9IGVs
c2UgaWYgKGNoaWxkLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICBjaGlsZEhlaWdodEFib3ZlQmFz
ZWxpbmUgPSB0b1JlbmRlckJveChjaGlsZCktPmxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgICAg
ICAgICBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSBtYXRobWxDaGlsZC5sb2dpY2FsSGVpZ2h0
KCk7CisgICAgICAgICAgICBjaGlsZERlcHRoQmVsb3dCYXNlbGluZSA9IG1hdGhtbENoaWxkLmxv
Z2ljYWxIZWlnaHQoKSAtIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZTsKKyAgICAgICAgfSBlbHNl
IGlmIChpczxSZW5kZXJNYXRoTUxUYWJsZT4oKmNoaWxkKSkgeworICAgICAgICAgICAgUmVuZGVy
TWF0aE1MVGFibGUmIHRhYmxlQ2hpbGQgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxUYWJsZT4oKmNo
aWxkKTsKKyAgICAgICAgICAgIGNoaWxkSGVpZ2h0QWJvdmVCYXNlbGluZSA9IHRhYmxlQ2hpbGQu
Zmlyc3RMaW5lQmFzZWxpbmUoKTsKKyAgICAgICAgICAgIGNoaWxkRGVwdGhCZWxvd0Jhc2VsaW5l
ID0gdGFibGVDaGlsZC5sb2dpY2FsSGVpZ2h0KCkgLSBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmU7
CisgICAgICAgIH0gZWxzZSBpZiAoaXM8UmVuZGVyQm94PigqY2hpbGQpKSB7CisgICAgICAgICAg
ICBjaGlsZEhlaWdodEFib3ZlQmFzZWxpbmUgPSBkb3duY2FzdDxSZW5kZXJCb3g+KCpjaGlsZCku
bG9naWNhbEhlaWdodCgpOwogICAgICAgICAgICAgY2hpbGREZXB0aEJlbG93QmFzZWxpbmUgPSAw
OwogICAgICAgICB9CiAgICAgICAgIHN0cmV0Y2hIZWlnaHRBYm92ZUJhc2VsaW5lID0gc3RkOjpt
YXg8TGF5b3V0VW5pdD4oc3RyZXRjaEhlaWdodEFib3ZlQmFzZWxpbmUsIGNoaWxkSGVpZ2h0QWJv
dmVCYXNlbGluZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFJvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxSb3cuaAppbmRleCA1NzMyZWMxN2RlNjU3YmRiZDU2YTc1ZWUzMTZlMDllM2ZhYTA3
ZjAyLi5iYTVkZjg4MjU3ZDY4ZGJkMTQwMjE0NmMxY2UwZWY1YTA3Nzg3MDI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmgKQEAgLTUw
LDkgKzUwLDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc0Fub255bW91cygpID8gIlJlbmRlck1hdGhNTFJv
dyAoYW5vbnltb3VzKSIgOiAiUmVuZGVyTWF0aE1MUm93IjsgfQogfTsKIAotUkVOREVSX09CSkVD
VF9UWVBFX0NBU1RTKFJlbmRlck1hdGhNTFJvdywgaXNSZW5kZXJNYXRoTUxSb3coKSkKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JK
RUNUKFJlbmRlck1hdGhNTFJvdywgaXNSZW5kZXJNYXRoTUxSb3coKSkKIAogI2VuZGlmIC8vIEVO
QUJMRShNQVRITUwpCiAjZW5kaWYgLy8gUmVuZGVyTWF0aE1MUm93X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwCmlu
ZGV4IDBjNGNiMWJkYjYxMjI4ZDBjNWY4Y2ZkMjI0MzNlMzVjMTAyNjAwMjMuLjFjOWM0YWI3YzQz
NWI5MmE0MWMxNDFjN2Q1ZDBjM2JkZGY4MjY3ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcApAQCAtMTUzLDEw
ICsxNTMsMTAgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjphZGRDaGlsZEludGVybmFsKGJv
b2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2JqZWN0KgogICAgICAgICAvLyBiZWZvcmVDaGls
ZCBtYXkgYmUgYSBncmFuZGNoaWxkLCBzbyB3ZSBjYWxsIHRoZSBhZGRDaGlsZCBmdW5jdGlvbiBv
ZiB0aGUgY29ycmVzcG9uZGluZyB3cmFwcGVyIGluc3RlYWQuCiAgICAgICAgIFJlbmRlck9iamVj
dCogcGFyZW50ID0gYmVmb3JlQ2hpbGQtPnBhcmVudCgpOwogICAgICAgICBpZiAocGFyZW50ICE9
IHRoaXMpIHsKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTEJsb2NrKiBwYXJlbnRCbG9jayA9IHRv
UmVuZGVyTWF0aE1MQmxvY2socGFyZW50KTsKLSAgICAgICAgICAgIGlmIChwYXJlbnRCbG9jay0+
aXNSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcigpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVy
TWF0aE1MU2NyaXB0c1dyYXBwZXIqIHdyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyKHBhcmVudEJsb2NrKTsKLSAgICAgICAgICAgICAgICB3cmFwcGVyLT5hZGRDaGlsZEludGVy
bmFsKGZhbHNlLCBjaGlsZCwgYmVmb3JlQ2hpbGQpOworICAgICAgICAgICAgUmVuZGVyTWF0aE1M
QmxvY2smIHBhcmVudEJsb2NrID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MQmxvY2s+KCpwYXJlbnQp
OworICAgICAgICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihwYXJlbnRC
bG9jaykpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciYgd3Jh
cHBlciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPihwYXJlbnRCbG9jayk7
CisgICAgICAgICAgICAgICAgd3JhcHBlci5hZGRDaGlsZEludGVybmFsKGZhbHNlLCBjaGlsZCwg
YmVmb3JlQ2hpbGQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQpAQCAtMTc2LDEyICsxNzYsMTIgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjph
ZGRDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyT2JqZWN0KgogCiAg
ICAgaWYgKCFiZWZvcmVDaGlsZCB8fCBpc1ByZXNjcmlwdChiZWZvcmVDaGlsZCkpIHsKICAgICAg
ICAgLy8gV2UgYXJlIGF0IHRoZSBlbmQgb2YgYSBzZXF1ZW5jZSBvZiBzdWJTdXAgcGFpcnMuCi0g
ICAgICAgIFJlbmRlck1hdGhNTEJsb2NrKiBwcmV2aW91c1NpYmxpbmcgPSB0b1JlbmRlck1hdGhN
TEJsb2NrKGJlZm9yZUNoaWxkID8gYmVmb3JlQ2hpbGQtPnByZXZpb3VzU2libGluZygpIDogbGFz
dENoaWxkKCkpOwotICAgICAgICBpZiAocHJldmlvdXNTaWJsaW5nICYmIHByZXZpb3VzU2libGlu
Zy0+aXNSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcigpKSB7Ci0gICAgICAgICAgICBSZW5kZXJN
YXRoTUxTY3JpcHRzV3JhcHBlciogd3JhcHBlciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXIocHJldmlvdXNTaWJsaW5nKTsKLSAgICAgICAgICAgIGlmICgod3JhcHBlci0+bV9raW5kID09
IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpCYXNlICYmIHdyYXBwZXItPmlzRW1wdHkoKSkg
fHwgKHdyYXBwZXItPm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3Vw
UGFpciAmJiAhd3JhcHBlci0+Zmlyc3RDaGlsZCgpLT5uZXh0U2libGluZygpKSkgeworICAgICAg
ICBSZW5kZXJNYXRoTUxCbG9jayogcHJldmlvdXNTaWJsaW5nID0gZG93bmNhc3Q8UmVuZGVyTWF0
aE1MQmxvY2s+KGJlZm9yZUNoaWxkID8gYmVmb3JlQ2hpbGQtPnByZXZpb3VzU2libGluZygpIDog
bGFzdENoaWxkKCkpOworICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+
KHByZXZpb3VzU2libGluZykpIHsKKyAgICAgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyJiB3cmFwcGVyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KCpwcmV2
aW91c1NpYmxpbmcpOworICAgICAgICAgICAgaWYgKCh3cmFwcGVyLm1fa2luZCA9PSBSZW5kZXJN
YXRoTUxTY3JpcHRzV3JhcHBlcjo6QmFzZSAmJiB3cmFwcGVyLmlzRW1wdHkoKSkgfHwgKHdyYXBw
ZXIubV9raW5kID09IFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjpTdWJTdXBQYWlyICYmICF3
cmFwcGVyLmZpcnN0Q2hpbGQoKS0+bmV4dFNpYmxpbmcoKSkpIHsKICAgICAgICAgICAgICAgICAv
LyBUaGUgcHJldmlvdXMgc2libGluZyBpcyBlaXRoZXIgYW4gZW1wdHkgYmFzZSBvciBhIFN1YlN1
cCBwYWlyIHdpdGggYSBzaW5nbGUgY2hpbGQgc28gd2UgY2FuIGluc2VydCB0aGUgbmV3IGNoaWxk
IGludG8gdGhhdCB3cmFwcGVyLgotICAgICAgICAgICAgICAgIHdyYXBwZXItPmFkZENoaWxkSW50
ZXJuYWwodHJ1ZSwgY2hpbGQpOworICAgICAgICAgICAgICAgIHdyYXBwZXIuYWRkQ2hpbGRJbnRl
cm5hbCh0cnVlLCBjaGlsZCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
fQogICAgICAgICB9CkBAIC0xOTMsMTAgKzE5MywxMCBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlw
dHM6OmFkZENoaWxkSW50ZXJuYWwoYm9vbCBkb05vdFJlc3RydWN0dXJlLCBSZW5kZXJPYmplY3Qq
CiAgICAgfQogCiAgICAgLy8gYmVmb3JlQ2hpbGQgaXMgYSBzdWJTdXAgcGFpci4gVGhpcyBpcyBs
aWtlIGluc2VydGluZyB0aGUgbmV3IGNoaWxkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN1YlN1
cCB3cmFwcGVyLgotICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiB3cmFwcGVyID0gdG9S
ZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihiZWZvcmVDaGlsZCk7Ci0gICAgQVNTRVJUKHdyYXBw
ZXItPm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3VwUGFpcik7Cisg
ICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHdyYXBwZXIgPSBkb3duY2FzdDxSZW5kZXJN
YXRoTUxTY3JpcHRzV3JhcHBlcj4oKmJlZm9yZUNoaWxkKTsKKyAgICBBU1NFUlQod3JhcHBlci5t
X2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI6OlN1YlN1cFBhaXIpOwogICAgIEFT
U0VSVCghKG1fYmFzZVdyYXBwZXItPmlzRW1wdHkoKSAmJiBtX2Jhc2VXcmFwcGVyLT5uZXh0U2li
bGluZygpID09IGJlZm9yZUNoaWxkKSk7Ci0gICAgd3JhcHBlci0+YWRkQ2hpbGRJbnRlcm5hbChm
YWxzZSwgY2hpbGQsIHdyYXBwZXItPmZpcnN0Q2hpbGQoKSk7CisgICAgd3JhcHBlci5hZGRDaGls
ZEludGVybmFsKGZhbHNlLCBjaGlsZCwgd3JhcHBlci5maXJzdENoaWxkKCkpOwogfQogCiBSZW5k
ZXJPYmplY3QqIFJlbmRlck1hdGhNTFNjcmlwdHM6OnJlbW92ZUNoaWxkSW50ZXJuYWwoYm9vbCBk
b05vdFJlc3RydWN0dXJlLCBSZW5kZXJPYmplY3QmIGNoaWxkKQpAQCAtMjExLDEzICsyMTEsMTMg
QEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3JpcHRzOjpyZW1vdmVDaGlsZEludGVybmFs
KGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmUKICAgICBBU1NFUlQocHJldmlvdXNTaWJsaW5nKTsK
IAogICAgIGlmIChuZXh0U2libGluZyAmJiAhaXNQcmVzY3JpcHQocHJldmlvdXNTaWJsaW5nKSAm
JiAhaXNQcmVzY3JpcHQobmV4dFNpYmxpbmcpKSB7Ci0gICAgICAgIFJlbmRlck1hdGhNTFNjcmlw
dHNXcmFwcGVyKiBwcmV2aW91c1dyYXBwZXIgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVy
KHByZXZpb3VzU2libGluZyk7Ci0gICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBu
ZXh0V3JhcHBlciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIobmV4dFNpYmxpbmcpOwot
ICAgICAgICBBU1NFUlQobmV4dFdyYXBwZXItPm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRz
V3JhcHBlcjo6U3ViU3VwUGFpciAmJiAhbmV4dFdyYXBwZXItPmlzRW1wdHkoKSk7Ci0gICAgICAg
IGlmICgocHJldmlvdXNXcmFwcGVyLT5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXI6OkJhc2UgJiYgcHJldmlvdXNXcmFwcGVyLT5pc0VtcHR5KCkpIHx8IChwcmV2aW91c1dyYXBw
ZXItPm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3VwUGFpciAmJiAh
cHJldmlvdXNXcmFwcGVyLT5maXJzdENoaWxkKCktPm5leHRTaWJsaW5nKCkpKSB7Ci0gICAgICAg
ICAgICBSZW5kZXJPYmplY3QqIHNjcmlwdCA9IG5leHRXcmFwcGVyLT5maXJzdENoaWxkKCk7Ci0g
ICAgICAgICAgICBuZXh0V3JhcHBlci0+cmVtb3ZlQ2hpbGRJbnRlcm5hbChmYWxzZSwgKnNjcmlw
dCk7Ci0gICAgICAgICAgICBwcmV2aW91c1dyYXBwZXItPmFkZENoaWxkSW50ZXJuYWwodHJ1ZSwg
c2NyaXB0KTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIHByZXZpb3VzV3Jh
cHBlciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyPigqcHJldmlvdXNTaWJs
aW5nKTsKKyAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXImIG5leHRXcmFwcGVyID0g
ZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KCpuZXh0U2libGluZyk7CisgICAg
ICAgIEFTU0VSVChuZXh0V3JhcHBlci5tX2tpbmQgPT0gUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXI6OlN1YlN1cFBhaXIgJiYgIW5leHRXcmFwcGVyLmlzRW1wdHkoKSk7CisgICAgICAgIGlmICgo
cHJldmlvdXNXcmFwcGVyLm1fa2luZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6QmFz
ZSAmJiBwcmV2aW91c1dyYXBwZXIuaXNFbXB0eSgpKSB8fCAocHJldmlvdXNXcmFwcGVyLm1fa2lu
ZCA9PSBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6U3ViU3VwUGFpciAmJiAhcHJldmlvdXNX
cmFwcGVyLmZpcnN0Q2hpbGQoKS0+bmV4dFNpYmxpbmcoKSkpIHsKKyAgICAgICAgICAgIFJlbmRl
ck9iamVjdCogc2NyaXB0ID0gbmV4dFdyYXBwZXIuZmlyc3RDaGlsZCgpOworICAgICAgICAgICAg
bmV4dFdyYXBwZXIucmVtb3ZlQ2hpbGRJbnRlcm5hbChmYWxzZSwgKnNjcmlwdCk7CisgICAgICAg
ICAgICBwcmV2aW91c1dyYXBwZXIuYWRkQ2hpbGRJbnRlcm5hbCh0cnVlLCBzY3JpcHQpOwogICAg
ICAgICB9CiAgICAgfQogCkBAIC0yNjEsOSArMjYxLDkgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3Jp
cHRzOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUKIFJlbmRlck1hdGhNTE9wZXJhdG9yKiBSZW5kZXJNYXRoTUxTY3JpcHRzOjp1bmVtYmVsbGlz
aGVkT3BlcmF0b3IoKQogewogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBiYXNlID0gdGhpcy0+
YmFzZSgpOwotICAgIGlmICghYmFzZSB8fCAhYmFzZS0+aXNSZW5kZXJNYXRoTUxCbG9jaygpKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gdG9SZW5kZXJNYXRoTUxCbG9jayhiYXNlKS0+
dW5lbWJlbGxpc2hlZE9wZXJhdG9yKCk7CisgICAgaWYgKCFpczxSZW5kZXJNYXRoTUxCbG9jaz4o
YmFzZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBkb3duY2FzdDxSZW5k
ZXJNYXRoTUxCbG9jaz4oKmJhc2UpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwogfQogCiB2b2lk
IFJlbmRlck1hdGhNTFNjcmlwdHM6OmxheW91dCgpCkBAIC0zMDIsOCArMzAyLDggQEAgdm9pZCBS
ZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXQoKQogICAgICAgICBwYXJzZU1hdGhNTExlbmd0aChz
Y3JpcHRFbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKE1hdGhNTE5hbWVzOjpzdXBlcnNjcmlwdHNo
aWZ0QXR0ciksIHN1cGVyc2NyaXB0U2hpZnRWYWx1ZSwgJnN0eWxlKCksIGZhbHNlKTsKIAogICAg
IGJvb2wgaXNQb3N0U2NyaXB0ID0gdHJ1ZTsKLSAgICBSZW5kZXJNYXRoTUxCbG9jayogc3ViU3Vw
UGFpciA9IHRvUmVuZGVyTWF0aE1MQmxvY2sobV9iYXNlV3JhcHBlci0+bmV4dFNpYmxpbmcoKSk7
Ci0gICAgZm9yICg7IHN1YlN1cFBhaXI7IHN1YlN1cFBhaXIgPSB0b1JlbmRlck1hdGhNTEJsb2Nr
KHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpKSB7CisgICAgUmVuZGVyTWF0aE1MQmxvY2sqIHN1
YlN1cFBhaXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4obV9iYXNlV3JhcHBlci0+bmV4
dFNpYmxpbmcoKSk7CisgICAgZm9yICg7IHN1YlN1cFBhaXI7IHN1YlN1cFBhaXIgPSBkb3duY2Fz
dDxSZW5kZXJNYXRoTUxCbG9jaz4oc3ViU3VwUGFpci0+bmV4dFNpYmxpbmcoKSkpIHsKIAogICAg
ICAgICAvLyBXZSBza2lwIHRoZSBiYXNlIGFuZCA8bXByZXNjcmlwdHMvPiBlbGVtZW50cy4KICAg
ICAgICAgaWYgKGlzUHJlc2NyaXB0KHN1YlN1cFBhaXIpKSB7CkBAIC0zODEsNyArMzgxLDcgQEAg
dm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6YWRkQ2hpbGRJbnRlcm5hbChib29sIGRv
Tm90UmVzdHJ1Y3R1cmUsIFJlbmRlck8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJl
bmRlck1hdGhNTFNjcmlwdHMqIHBhcmVudE5vZGUgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHMocGFy
ZW50KCkpOworICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBhcmVudE5vZGUgPSBkb3duY2FzdDxS
ZW5kZXJNYXRoTUxTY3JpcHRzPihwYXJlbnQoKSk7CiAKICAgICBpZiAobV9raW5kID09IEJhc2Up
IHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBzaWJsaW5nID0gbmV4dFNpYmxpbmcoKTsKQEAgLTQz
Miw3ICs0MzIsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyOjphZGRDaGlsZElu
dGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdHVyZSwgUmVuZGVyTwogICAgIC8vIFdlIGZpcnN0IG1v
dmUgdG8gdGhlIGxhc3Qgc3ViU3VwIHBhaXIgaW4gdGhlIGN1cmVudCBzZXF1ZW5jZSBvZiBzY3Jp
cHRzLgogICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBzdWJTdXBQYWlyID0gdGhpczsK
ICAgICB3aGlsZSAoc3ViU3VwUGFpci0+bmV4dFNpYmxpbmcoKSAmJiAhaXNQcmVzY3JpcHQoc3Vi
U3VwUGFpci0+bmV4dFNpYmxpbmcoKSkpCi0gICAgICAgIHN1YlN1cFBhaXIgPSB0b1JlbmRlck1h
dGhNTFNjcmlwdHNXcmFwcGVyKHN1YlN1cFBhaXItPm5leHRTaWJsaW5nKCkpOworICAgICAgICBz
dWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KHN1YlN1cFBh
aXItPm5leHRTaWJsaW5nKCkpOwogICAgIGlmIChzdWJTdXBQYWlyLT5maXJzdENoaWxkKCktPm5l
eHRTaWJsaW5nKCkpIHsKICAgICAgICAgLy8gVGhlIGxhc3QgcGFpciBoYXMgdHdvIGNoaWxkcmVu
IHNvIHdlIG5lZWQgdG8gY3JlYXRlIGEgbmV3IHBhaXIgdG8gbGVhdmUgcm9vbSBmb3IgdGhlIG5l
dyBjaGlsZC4KICAgICAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIqIG5ld1BhaXIgPSBj
cmVhdGVBbm9ueW1vdXNXcmFwcGVyKHBhcmVudE5vZGUsIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyOjpTdWJTdXBQYWlyKTsKQEAgLTQ0MiwyMCArNDQyLDIwIEBAIHZvaWQgUmVuZGVyTWF0aE1M
U2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkSW50ZXJuYWwoYm9vbCBkb05vdFJlc3RydWN0dXJlLCBS
ZW5kZXJPCiAKICAgICAvLyBXZSBzaGlmdCB0aGUgc3VjY2Vzc29ycyBpbiB0aGUgY3VycmVudCBz
ZXF1ZW5jZSBvZiBzY3JpcHRzLgogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBwcmV2aW91c1NpYmxp
bmcgPSBzdWJTdXBQYWlyLT5wcmV2aW91c1NpYmxpbmcoKTsgc3ViU3VwUGFpciAhPSB0aGlzOyBw
cmV2aW91c1NpYmxpbmcgPSBwcmV2aW91c1NpYmxpbmctPnByZXZpb3VzU2libGluZygpKSB7Ci0g
ICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBwcmV2aW91c1N1YlN1cFBhaXIgPSB0
b1JlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKHByZXZpb3VzU2libGluZyk7Ci0gICAgICAgIFJl
bmRlck9iamVjdCogc2NyaXB0ID0gcHJldmlvdXNTdWJTdXBQYWlyLT5sYXN0Q2hpbGQoKTsKLSAg
ICAgICAgcHJldmlvdXNTdWJTdXBQYWlyLT5yZW1vdmVDaGlsZEludGVybmFsKHRydWUsICpzY3Jp
cHQpOworICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciYgcHJldmlvdXNTdWJTdXBQ
YWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KCpwcmV2aW91c1NpYmxp
bmcpOworICAgICAgICBSZW5kZXJPYmplY3QqIHNjcmlwdCA9IHByZXZpb3VzU3ViU3VwUGFpci5s
YXN0Q2hpbGQoKTsKKyAgICAgICAgcHJldmlvdXNTdWJTdXBQYWlyLnJlbW92ZUNoaWxkSW50ZXJu
YWwodHJ1ZSwgKnNjcmlwdCk7CiAgICAgICAgIHN1YlN1cFBhaXItPmFkZENoaWxkSW50ZXJuYWwo
dHJ1ZSwgc2NyaXB0LCBzdWJTdXBQYWlyLT5maXJzdENoaWxkKCkpOwotICAgICAgICBzdWJTdXBQ
YWlyID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihwcmV2aW91c1NpYmxpbmcpOworICAg
ICAgICBzdWJTdXBQYWlyID0gZG93bmNhc3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KHBy
ZXZpb3VzU2libGluZyk7CiAgICAgfQogCiAgICAgLy8gVGhpcyBzdWJTdXAgcGFpciBub3cgY29u
dGFpbiBvbmUgZWxlbWVudCB3aGljaCBpcyBlaXRoZXIgYmVmb3JlQ2hpbGQgb3IgdGhlIHNjcmlw
dCB0aGF0IHdhcyBiZWZvcmUuIEhlbmNlIHdlIGNhbiBpbnNlcnQgdGhlIG5ldyBjaGlsZCBiZWZv
cmUgb2YgYWZ0ZXIgdGhhdCBlbGVtZW50LgotICAgIFJlbmRlck1hdGhNTEJsb2NrOjphZGRDaGls
ZChjaGlsZCwgZmlyc3RDaGlsZCgpID09IGJlZm9yZUNoaWxkID8gYmVmb3JlQ2hpbGQgOiAwKTsK
KyAgICBSZW5kZXJNYXRoTUxCbG9jazo6YWRkQ2hpbGQoY2hpbGQsIGZpcnN0Q2hpbGQoKSA9PSBi
ZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkIDogbnVsbHB0cik7CiB9CiAKIHZvaWQgUmVuZGVyTWF0
aE1MU2NyaXB0c1dyYXBwZXI6OmFkZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQsIFJlbmRlck9i
amVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgUmVuZGVyTWF0aE1MU2NyaXB0cyogcGFyZW50Tm9k
ZSA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0cyhwYXJlbnQoKSk7CisgICAgUmVuZGVyTWF0aE1MU2Ny
aXB0cyogcGFyZW50Tm9kZSA9IGRvd25jYXN0PFJlbmRlck1hdGhNTFNjcmlwdHM+KHBhcmVudCgp
KTsKIAogICAgIGFkZENoaWxkSW50ZXJuYWwoZmFsc2UsIGNoaWxkLCBiZWZvcmVDaGlsZCk7CiAK
QEAgLTQ2Nyw3ICs0NjcsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFw
cGVyOjpyZW1vdmVDaGlsZEludGVybmFsKGJvb2wgZG9Ob3RSZXN0cnVjdAogICAgIGlmIChkb05v
dFJlc3RydWN0dXJlKQogICAgICAgICByZXR1cm4gUmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNo
aWxkKGNoaWxkKTsKIAotICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBhcmVudE5vZGUgPSB0b1Jl
bmRlck1hdGhNTFNjcmlwdHMocGFyZW50KCkpOworICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBh
cmVudE5vZGUgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzPihwYXJlbnQoKSk7CiAKICAg
ICBpZiAobV9raW5kID09IEJhc2UpIHsKICAgICAgICAgLy8gV2UgcmVtb3ZlIHRoZSBjaGlsZCBm
cm9tIHRoZSBiYXNlIHdyYXBwZXIuCkBAIC00NzUsOSArNDc1LDkgQEAgUmVuZGVyT2JqZWN0KiBS
ZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbChib29sIGRvTm90
UmVzdHJ1Y3QKICAgICAgICAgUmVuZGVyTWF0aE1MQmxvY2s6OnJlbW92ZUNoaWxkKGNoaWxkKTsK
ICAgICAgICAgaWYgKHNpYmxpbmcgJiYgIWlzUHJlc2NyaXB0KHNpYmxpbmcpKSB7CiAgICAgICAg
ICAgICAvLyBJZiB0aGVyZSBhcmUgcG9zdHNjcmlwdHMsIHRoZSBmaXJzdCBvbmUgYmVjb21lcyB0
aGUgYmFzZS4KLSAgICAgICAgICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiB3cmFwcGVy
ID0gdG9SZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcihzaWJsaW5nKTsKLSAgICAgICAgICAgIFJl
bmRlck9iamVjdCogc2NyaXB0ID0gd3JhcHBlci0+Zmlyc3RDaGlsZCgpOwotICAgICAgICAgICAg
d3JhcHBlci0+cmVtb3ZlQ2hpbGRJbnRlcm5hbChmYWxzZSwgKnNjcmlwdCk7CisgICAgICAgICAg
ICBSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciYgd3JhcHBlciA9IGRvd25jYXN0PFJlbmRlck1h
dGhNTFNjcmlwdHNXcmFwcGVyPigqc2libGluZyk7CisgICAgICAgICAgICBSZW5kZXJPYmplY3Qq
IHNjcmlwdCA9IHdyYXBwZXIuZmlyc3RDaGlsZCgpOworICAgICAgICAgICAgd3JhcHBlci5yZW1v
dmVDaGlsZEludGVybmFsKGZhbHNlLCAqc2NyaXB0KTsKICAgICAgICAgICAgIFJlbmRlck1hdGhN
TEJsb2NrOjphZGRDaGlsZChzY3JpcHQpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBzaWJs
aW5nOwpAQCAtNDg3LDExICs0ODcsMTEgQEAgUmVuZGVyT2JqZWN0KiBSZW5kZXJNYXRoTUxTY3Jp
cHRzV3JhcHBlcjo6cmVtb3ZlQ2hpbGRJbnRlcm5hbChib29sIGRvTm90UmVzdHJ1Y3QKICAgICBS
ZW5kZXJPYmplY3QqIG5leHQgPSBSZW5kZXJNYXRoTUxCbG9jazo6cmVtb3ZlQ2hpbGQoY2hpbGQp
OwogICAgIFJlbmRlck1hdGhNTFNjcmlwdHNXcmFwcGVyKiBzdWJTdXBQYWlyID0gdGhpczsKICAg
ICBmb3IgKFJlbmRlck9iamVjdCogbmV4dFNpYmxpbmcgPSBzdWJTdXBQYWlyLT5uZXh0U2libGlu
ZygpOyBuZXh0U2libGluZyAmJiAhaXNQcmVzY3JpcHQobmV4dFNpYmxpbmcpOyBuZXh0U2libGlu
ZyA9IG5leHRTaWJsaW5nLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIFJlbmRlck1hdGhNTFNj
cmlwdHNXcmFwcGVyKiBuZXh0U3ViU3VwUGFpciA9IHRvUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXIobmV4dFNpYmxpbmcpOwotICAgICAgICBSZW5kZXJPYmplY3QqIHNjcmlwdCA9IG5leHRTdWJT
dXBQYWlyLT5maXJzdENoaWxkKCk7Ci0gICAgICAgIG5leHRTdWJTdXBQYWlyLT5yZW1vdmVDaGls
ZEludGVybmFsKHRydWUsICpzY3JpcHQpOworICAgICAgICBSZW5kZXJNYXRoTUxTY3JpcHRzV3Jh
cHBlciYgbmV4dFN1YlN1cFBhaXIgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBl
cj4oKm5leHRTaWJsaW5nKTsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBzY3JpcHQgPSBuZXh0U3Vi
U3VwUGFpci5maXJzdENoaWxkKCk7CisgICAgICAgIG5leHRTdWJTdXBQYWlyLnJlbW92ZUNoaWxk
SW50ZXJuYWwodHJ1ZSwgKnNjcmlwdCk7CiAgICAgICAgIHN1YlN1cFBhaXItPmFkZENoaWxkSW50
ZXJuYWwodHJ1ZSwgc2NyaXB0KTsKLSAgICAgICAgc3ViU3VwUGFpciA9IHRvUmVuZGVyTWF0aE1M
U2NyaXB0c1dyYXBwZXIobmV4dFNpYmxpbmcpOworICAgICAgICBzdWJTdXBQYWlyID0gZG93bmNh
c3Q8UmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXI+KG5leHRTaWJsaW5nKTsKICAgICB9CiAKICAg
ICAvLyBXZSByZW1vdmUgdGhlIGxhc3Qgc3ViU3VwIHBhaXIgaWYgaXQgYmVjYW1lIGVtcHR5LgpA
QCAtNTEwLDcgKzUxMCw3IEBAIFJlbmRlck9iamVjdCogUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBw
ZXI6OnJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCYgY2hpbGQpCiAgICAgICAgIHJldHVybiBSZW5k
ZXJNYXRoTUxCbG9jazo6cmVtb3ZlQ2hpbGQoY2hpbGQpOwogICAgIH0KIAotICAgIFJlbmRlck1h
dGhNTFNjcmlwdHMqIHBhcmVudE5vZGUgPSB0b1JlbmRlck1hdGhNTFNjcmlwdHMocGFyZW50KCkp
OworICAgIFJlbmRlck1hdGhNTFNjcmlwdHMqIHBhcmVudE5vZGUgPSBkb3duY2FzdDxSZW5kZXJN
YXRoTUxTY3JpcHRzPihwYXJlbnQoKSk7CiAgICAgUmVuZGVyT2JqZWN0KiBuZXh0ID0gcmVtb3Zl
Q2hpbGRJbnRlcm5hbChmYWxzZSwgY2hpbGQpOwogICAgIHBhcmVudE5vZGUtPmZpeEFub255bW91
c1N0eWxlcygpOwogICAgIHJldHVybiBuZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuaAppbmRleCBkYzFkNmE2MjQwM2Vh
ODhhMmZkM2Q4NmRkYWFkYzVkYWFjOTljZTJjLi43NTQyNjc4MmUwZDRlNTIzZjc2MDkyNzE3OGQw
ZmIyMzIyODllNWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFNjcmlwdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuaApAQCAtNjUsOCArNjUsNiBAQCBwcml2YXRlOgogICAg
IFdyYXBwZXJUeXBlIG1fa2luZDsKIH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5k
ZXJNYXRoTUxTY3JpcHRzV3JhcHBlciwgaXNSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcigpKQot
CiAvLyBSZW5kZXIgYSBiYXNlIHdpdGggc2NyaXB0cy4KIGNsYXNzIFJlbmRlck1hdGhNTFNjcmlw
dHMgOiBwdWJsaWMgUmVuZGVyTWF0aE1MQmxvY2sgewogCkBAIC0xMDUsOSArMTAzLDEwIEBAIHBy
aXZhdGU6CiAgICAgUmVuZGVyTWF0aE1MU2NyaXB0c1dyYXBwZXIqIG1fYmFzZVdyYXBwZXI7CiB9
OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0aE1MU2NyaXB0cywgaXNSZW5k
ZXJNYXRoTUxTY3JpcHRzKCkpCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlciwg
aXNSZW5kZXJNYXRoTUxTY3JpcHRzV3JhcHBlcigpKQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19S
RU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTFNjcmlwdHMsIGlzUmVuZGVyTWF0aE1MU2NyaXB0cygp
KQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oCmluZGV4IDEzODIwNGFmYWFjYTg0
ODAxZmMzNmFhMDQzN2EwOWE5ZjM2NmYwNDUuLmNkZmM1NzFiZDVjMDYwNWE5NTAwODNjMTVkYjMx
ZjZjZGJmYTY5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFNwYWNlLmgKQEAgLTU0LDkgKzU0LDkgQEAgcHJpdmF0ZToKICAgICBMYXlv
dXRVbml0IG1fZGVwdGg7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyTWF0
aE1MU3BhY2UsIGlzUmVuZGVyTWF0aE1MU3BhY2UoKSkKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTFNw
YWNlLCBpc1JlbmRlck1hdGhNTFNwYWNlKCkpCiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQog
I2VuZGlmIC8vIFJlbmRlck1hdGhNTFNwYWNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJlUm9vdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290LmgKaW5kZXggYTllM2Nm
ZmJkNTMzMDgxNzIyODhiYmYzOWNiNjVjNzllMzJhNTBkMC4uNjE0MDA1ODY0NDliOGI4NDJkOGFj
OWNiMzFkYTUwNGRjYzkyNDBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290LmgKQEAgLTQ3LDcgKzQ3LDkgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiAiUmVuZGVyTWF0aE1MU3F1YXJlUm9vdCI7IH0KIH07CiAgICAgCi19Cit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09C
SkVDVChSZW5kZXJNYXRoTUxTcXVhcmVSb290LCBpc1JlbmRlck1hdGhNTFNxdWFyZVJvb3QoKSkK
IAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaAppbmRleCA5YTcxZjRmN2I0OWU1MmE1
ZGQ5NjJmZGYwNmU3OTQ2ZTEyMDFiOGMzLi5mNWFkNWJiYTA0ZjBiNTFiMDA2OTFiMWJlMjg0Mjg4
ZGZiZTMxNjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC01OSw5ICs1OSw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2NvbnRhaW5zRWxlbWVudDsKIH07CiAKLVJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJN
YXRoTUxUb2tlbiwgaXNSZW5kZXJNYXRoTUxUb2tlbigpKQorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTWF0aE1M
VG9rZW4sIGlzUmVuZGVyTWF0aE1MVG9rZW4oKSkKIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwp
CiAjZW5kaWYgLy8gUmVuZGVyTWF0aE1MVG9rZW5faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwCmluZGV4IDEw
MzJlZTFhYTMyYzJlYjAwMWM3NzMxM2U3NzY3MjI3OWRmNWJmNTguLmEyNmNmMTM4ZDM5ODY0N2Q1
MGUyOGRlMjEwYTc4ODczNTQ0ZTJiZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKQEAgLTU1LDkgKzU1
LDkgQEAgUmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpSZW5kZXJNYXRoTUxVbmRlck92ZXIoRWxlbWVu
dCYgZWxlbWVudCwgUGFzc1JlZjxSZW5kZXJTdHkKIFJlbmRlck1hdGhNTE9wZXJhdG9yKiBSZW5k
ZXJNYXRoTUxVbmRlck92ZXI6OnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpCiB7CiAgICAgUmVuZGVy
T2JqZWN0KiBiYXNlID0gZmlyc3RDaGlsZCgpOwotICAgIGlmICghYmFzZSB8fCAhYmFzZS0+aXNS
ZW5kZXJNYXRoTUxCbG9jaygpKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gdG9SZW5k
ZXJNYXRoTUxCbG9jayhiYXNlKS0+dW5lbWJlbGxpc2hlZE9wZXJhdG9yKCk7CisgICAgaWYgKCFp
czxSZW5kZXJNYXRoTUxCbG9jaz4oYmFzZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IHJldHVybiBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4oKmJhc2UpLnVuZW1iZWxsaXNoZWRP
cGVyYXRvcigpOwogfQogCiBpbnQgUmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpmaXJzdExpbmVCYXNl
bGluZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0NvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdDb250YWluZXIuaAppbmRleCBlZDI3YjNmMmY2MjM0MzE3MTI2YmYxNTQyYjdjMGIxZGI4NzUy
MTJkLi45NWIwZDcwMDNhZGFmOGVkMTRkNGYxZTM1ZmZlZTVhYTgxYjVmYmMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmgKQEAgLTg0
LDQgKzg0LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR0NvbnRhaW5lciwg
aXNTVkdDb250YWluZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHQ29udGFpbmVyLCBpc1NWR0NvbnRh
aW5lcigpKQorCiAjZW5kaWYgLy8gUmVuZGVyU1ZHQ29udGFpbmVyX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCmluZGV4IGI4
ZGUyODUwMWRkYmNiMzVhOWNkZTlhNjZlMzk5YjhiOTBlZWQyNmIuLjgwMjM2NDU3MTczNGZmYmU3
OGNlYzY0MGY0NzI5ZDQ4MjNkNjM3OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaApAQCAtNjIsNiArNjIsOCBAQCBwcml2
YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHR3JhZGllbnRTdG9wLCBp
c1NWR0dyYWRpZW50U3RvcCgpKQogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdHcmFkaWVudFN0b3AsIGlz
U1ZHR3JhZGllbnRTdG9wKCkpCiAKICNlbmRpZiAvLyBSZW5kZXJTVkdHcmFkaWVudFN0b3BfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCmluZGV4IDU4
MzI5NjA2NzRmYjM3MGIwNDU2ZTI3ZWEzNjUzNjIyZjY2YmE1YzguLjE4OTE2Y2I5MzVhZTA5MmVh
Yzc2ZDRhNTE4NWQ5MDc5NzlkN2NkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0ltYWdlLmgKQEAgLTk0LDQgKzk0LDYgQEAgUkVOREVSX09CSkVDVF9UWVBF
X0NBU1RTKFJlbmRlclNWR0ltYWdlLCBpc1NWR0ltYWdlKCkpCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR0lt
YWdlLCBpc1NWR0ltYWdlKCkpCisKICNlbmRpZiAvLyBSZW5kZXJTVkdJbWFnZV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oCmluZGV4
IGJhMGQ0OTI5YTdjZDg4OGQyODcwMTlkOGRjNzhmMGVkODUwZDlkZmQuLjkxNTNhYWFjNTBkZGFj
YmZhZDkyZmRmMTc3M2M2ZDg0MzljZmQ5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oCkBAIC03MSw2ICs3MSw4IEBAIHByaXZh
dGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdJbmxpbmVUZXh0LCBpc1NW
R0lubGluZVRleHQoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHSW5saW5lVGV4dCwgaXNTVkdJbmxp
bmVUZXh0KCkpCiAKICNlbmRpZiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAppbmRleCA4
N2Y4Mzc4NzlkNWM4ZWE5YjFjNDRlOGY2MWM5NjMxZTgzN2I0MDFkLi4xZGE2Njk1MjdmNjIwMDE4
ZjE0NTQ1MmYxNWRjOTFlYmFiMWRiZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCkBAIC04MCw4ICs4MCwxMCBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9oYXNTVkdTaGFkb3c7CiB9OwogCi1SRU5ERVJfT0JKRUNUX1RZUEVf
Q0FTVFMoUmVuZGVyU1ZHTW9kZWxPYmplY3QsIGlzUmVuZGVyU1ZHTW9kZWxPYmplY3QoKSk7CitS
RU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHTW9kZWxPYmplY3QsIGlzUmVuZGVyU1ZH
TW9kZWxPYmplY3QoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHTW9kZWxPYmplY3QsIGlzUmVuZGVy
U1ZHTW9kZWxPYmplY3QoKSkKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGguaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUGF0aC5oCmluZGV4IDg5ZTk1MDBiZjhjODYwOWNhMmViYTQ2YzlkMzUxOWY5
MTU4NjBmMGMuLjg4N2RhYWI3NjNhMDYxZWI1NDg0ZmYwMDFjZDg2MDBmZDMxMTRjZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oCkBAIC01Nyw2ICs1
Nyw4IEBAIHByaXZhdGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJTVkdQYXRo
LCBpc1NWR1BhdGgoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKK1NQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdQYXRoLCBpc1NWR1Bh
dGgoKSkKKworI2VuZGlmIC8vIFJlbmRlclNWR1BhdGhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCmluZGV4
IGEzODA2ZTYyODM1YzYxZGNhNTA0ZTIyYmVjMjE5NjA0NGI2MjY1NTUuLjlmMzY0OWEyNDA0MTZm
MjM5ZmJjNzM3NDlkNzQ5NDMwODUxZDE2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKQEAgLTk3LDYg
Kzk3LDggQEAgUmVuZGVyZXIqIGdldFJlbmRlclNWR1Jlc291cmNlQnlJZChEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
LX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5E
RVJfT0JKRUNUKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLCBpc1NWR1Jlc291cmNlQ29udGFp
bmVyKCkpCiAKLSNlbmRpZgorI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIuaAppbmRleCBlZWIxNDk4NGIyNjc3NTE5OTg4MTRlYzk1YjQ1OTE3NmVjYzc2NWZh
Li5jZWI0Njc4NDBiYmE3NzZhYmQyMjU1ZDlkZWU4YjJmNjM3OTRiMDRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5o
CkBAIC05OSw2ICs5OSw4IEBAIHByaXZhdGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlciwgaXNTVkdSZXNvdXJjZUZpbHRlcigpKQogCi19Cit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19SRU5E
RVJfT0JKRUNUKFJlbmRlclNWR1Jlc291cmNlRmlsdGVyLCBpc1NWR1Jlc291cmNlRmlsdGVyKCkp
CisKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oCmluZGV4IDNkMDliMTQzOTgzMGUwYmM3NWRh
YTg2MzNhMTg5NzgxNGEzMzQzYjAuLjU1MDM2NDNhODAwZGRmM2Q1OWQzYWZjMDljODY5NDJkNTI4
ZjU2YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5o
CkBAIC0xMjYsNCArMTI2LDYgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR1Jv
b3QsIGlzU1ZHUm9vdCgpKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdSb290LCBpc1NWR1Jvb3QoKSkKKwog
I2VuZGlmIC8vIFJlbmRlclNWR1Jvb3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdTaGFwZS5oCmluZGV4IDVlZjQ4YjAzMmZjZGU3NGU5ODU2ZjRkMDk4NjIzZDg3
N2UwNDkyNGYuLjliM2ZkN2EzNjAzZmIxMTUzZDBjZWM1ZWUwYzAxMzE0OGRjMDk4NzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmgKQEAgLTEzNSw2
ICsxMzUsOCBAQCBwcml2YXRlOgogCiBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZH
U2hhcGUsIGlzU1ZHU2hhcGUoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJTVkdTaGFwZSwg
aXNTVkdTaGFwZSgpKQorCisjZW5kaWYgLy8gUmVuZGVyU1ZHU2hhcGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RleHQuaAppbmRleCAzN2QxM2Q2NWJmMjk4NTVh
NzljN2Q3MTUzNzQxZjZmODQzNjZkMGFmLi5iYzYzOWZlZWMyMTc5ODFkZDZjMDY0NzQ4ODA2MmYw
M2FmZWY4OGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Rl
eHQuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHByaXZhdGU6CiAKIFJFTkRFUl9PQkpFQ1RfVFlQRV9D
QVNUUyhSZW5kZXJTVkdUZXh0LCBpc1NWR1RleHQoKSkKIAotfQorfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5k
ZXJTVkdUZXh0LCBpc1NWR1RleHQoKSkKKworI2VuZGlmIC8vIFJlbmRlclNWR1RleHRfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oCmluZGV4
IGIyMTQ0NDJlMzhlNTVkMDQwNWEyMTkyNjcxZTE1MWE5ZWYxYTk1YmMuLjgwMzI4MGFmM2JkZTFm
NDdjY2UxM2E4NGNkOWMyOTJlZTEwM2I0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dFBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1RleHRQYXRoLmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHJpdmF0ZToK
IAogUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlclNWR1RleHRQYXRoLCBpc1NWR1RleHRQ
YXRoKCkpCiAKLX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlclNWR1RleHRQYXRoLCBpc1NWR1RleHRQYXRoKCkpCiAK
ICNlbmRpZiAvLyBSZW5kZXJTVkdUZXh0UGF0aF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyLmgKaW5kZXggYjQ0
MDQwODU0YzJiZmJhZGVlMDVlMzkyMzc0ZmY3ZTcyN2U4ZmEzZi4uNTIxMjQ0YmVkMWRiMjY4YTgx
MDNlYzFkYWQxNzkyMGQ5NzVlMWM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaApAQCAtNzEsNCArNzEs
NiBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIs
IGlzU1ZHVmlld3BvcnRDb250YWluZXIoKSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyU1ZHVmlld3BvcnRDb250
YWluZXIsIGlzU1ZHVmlld3BvcnRDb250YWluZXIoKSkKKwogI2VuZGlmIC8vIFJlbmRlclNWR1Zp
ZXdwb3J0Q29udGFpbmVyX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>