<?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>210692</bug_id>
          
          <creation_ts>2020-04-18 11:08:15 -0700</creation_ts>
          <short_desc>Overflow scrollbars don&apos;t grow when hovered</short_desc>
          <delta_ts>2020-05-04 17:59:14 -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>Scrolling</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>annulen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1643025</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-18 11:08:15 -0700</bug_when>
    <thetext>Overlay scrollbars should grow when hovered. This works for main frame scrollbars, but not overflow scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643026</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-18 11:08:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/61977273&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648710</commentid>
    <comment_count>2</comment_count>
      <attachid>398406</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 13:46:07 -0700</bug_when>
    <thetext>Created attachment 398406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648711</commentid>
    <comment_count>3</comment_count>
      <attachid>398406</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-05-04 13:50:25 -0700</bug_when>
    <thetext>Comment on attachment 398406
Patch

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

&gt; Source/WebCore/platform/PlatformWheelEvent.h:159
&gt; +    bool isGestureStart() const;

This name seems like it&apos;s going to make someone sad someday. &apos;mayBegin&apos; does not a &apos;start&apos; make.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648754</commentid>
    <comment_count>4</comment_count>
      <attachid>398421</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:02:03 -0700</bug_when>
    <thetext>Created attachment 398421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648765</commentid>
    <comment_count>5</comment_count>
      <attachid>398423</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:08:34 -0700</bug_when>
    <thetext>Created attachment 398423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648786</commentid>
    <comment_count>6</comment_count>
      <attachid>398427</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:50:12 -0700</bug_when>
    <thetext>Created attachment 398427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648870</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-04 17:59:12 -0700</bug_when>
    <thetext>Committed r261132: &lt;https://trac.webkit.org/changeset/261132&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398427.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398406</attachid>
            <date>2020-05-04 13:46:07 -0700</date>
            <delta_ts>2020-05-04 13:50:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210692-20200504134606.patch</filename>
            <type>text/plain</type>
            <size>39681</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA1MmRjMjc2MDViNGIx
OTY2NzZjMjM1MTUxZjJiOTAyOTgwYmY1MS4uNDNkN2QzZWVkZjk0YjY5OGU2Y2Q1YzY3NzViNjU2
MDNhZWEzYWQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgT3ZlcmxheSBzY3JvbGxhciBpbnRlcmFjdGlvbiBoYXMgYSBmZXcgYmVoYXZpb3JzIHRoYXQg
YXJlIG1lZGlhdGVkIGJ5IFNjcm9sbEFuaW1hdG9yTWFjLiBUaGVzZQorICAgICAgICBhcmUgYSB0
cmFja3BhZCB0d28tZmluZ2VyIHRhcCwgd2hpY2ggc2VuZHMgYSAiTWF5QmVnaW4iIHdoZWVsIGV2
ZW50ICh3aGljaCBjYW4gYmUgZm9sbG93ZWQgYnkKKyAgICAgICAgYSAiQ2FuY2VsbGVkIiBvbiBm
aW5nZXJzIHVwLCBpZiB0aGV5IGRpZG4ndCBtb3ZlKSwgYW5kIGhvdmVyaW5nIHRoZSBzY3JvbGxi
YXIgd2hlbiB2aXNpYmxlLCB3aGljaAorICAgICAgICBjYXVzZXMgaXQgdG8gZXhwYW5kICh1bmhv
dmVyaW5nIGNhdXNlcyBpdCB0byBmYWRlIG91dCkuCisgICAgICAgIAorICAgICAgICBUbyB0cmFj
ayB0aGVzZSBnZXN0dXJlcyBvbiB0aGUgc2Nyb2xsaW5nIHRocmVhZCwgZ2l2ZSBTY3JvbGxpbmdU
cmVlIGEgU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS4KKworICAgICAgICBGbGFzaGluZyB0aGUg
c2Nyb2xsYmFycyBvbiAiTWF5QmVnaW4iIGlzIGRyaXZlbiBieSBkaWRCZWdpblNjcm9sbEdlc3R1
cmUoKS9kaWRFbmRTY3JvbGxHZXN0dXJlKCkuCisgICAgICAgIFRoaXMgcmVsaWVzIG9uIHNlbmRp
bmcgdGhlc2UgZm9yIHRoZSBjb3JyZWN0IHNjcm9sbGFibGUgYXJlYSwgYW5kIG1hdGNoaW5nIHRo
ZSBiZWdpbi9jYW5jZWwsCisgICAgICAgIHNvIHVzZSB0aGUgbm9ybWFsIHNjcm9sbGluZyB0cmVl
IGV2ZW50IGhhbmRsaW5nIGNvZGUgcGF0aCBmb3IgIk1heUJlZ2luIiwgYW5kIGFsd2F5cyBzZW5k
CisgICAgICAgICJDYW5jZWxsZWQiIG9uIHRoZSBub2RlIHRoYXQgcmVjZWl2ZWQgIk1heUJlZ2lu
LiBEbyB0aGUgc2FtZSBmb3IgIkJlZ2FuIiBhbmQgIkVuZGVkIi4KKyAgICAgICAgCisgICAgICAg
IFNjcm9sbGJhcnMgZXhwYW5kaW5nIG9uIGhvdmVyIGlzIGNvbnRyb2xsZWQgYnkgdGhlc2UgZnVu
Y3Rpb25zIG9uIFNjcm9sbEFuaW1hdG9yTWFjOgorICAgICAgICAgICAgdm9pZCBtb3VzZUVudGVy
ZWRDb250ZW50QXJlYSgpOworICAgICAgICAgICAgdm9pZCBtb3VzZUV4aXRlZENvbnRlbnRBcmVh
KCk7CisgICAgICAgICAgICB2b2lkIG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCk7CisgICAgICAg
ICAgICB2b2lkIG1vdXNlRW50ZXJlZFNjcm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdDsKKyAgICAg
ICAgICAgIHZvaWQgbW91c2VFeGl0ZWRTY3JvbGxiYXIoU2Nyb2xsYmFyKikgY29uc3Q7CisKKyAg
ICAgICAgVGhpcyBtb3N0bHkgKHdlYmtpdC5vcmcvYi8yMTEzNDcpIHdvcmtzIG5vdyB0aGF0IHRo
ZSBtYXlCZWdpbi9DYW5jZWxlZCBzdGF0ZSBpcyB1cGRhdGVkIGNvcnJlY3RseSwKKyAgICAgICAg
YW5kIGlzIHRlc3RlZCBieSBhIG5ldyB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3Njcm9s
bGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93
LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlOjpTY3JvbGxpbmdUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWU6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlOjpTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGU6OnJlY2VpdmVkV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlOjpoYW5kbGVHZXN0dXJlQ2FuY2VsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6Om5vZGVEaWRIYW5kbGVF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlOjpjbGVh
ckFsbE5vZGVzKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVy
ZVN0YXRlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXI6Om5vZGVEaWRIYW5kbGVFdmVudCk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjYW5IYW5kbGVX
aGVlbEV2ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlOjpjYW5TY3JvbGxXaXRoV2hlZWxFdmVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6
OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVudCk6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dn
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNz
YXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0dXJlU3RhcnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVDYW5jZWwgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpz
Y3JvbGxiYXJTdGF0ZSk6CisKIDIwMjAtMDUtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogWyBNYWMgV0sxIF0gaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1hcGkuaHRtbCBpcyBmbGFreSBjcmFzaGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCAzOTljZGI4MDk5OTIwOWU3MDFlOTliMWEyYjMzMGNjYWJiZGZiODFhLi4xYTJhNDQ3YzM3
YTA2NWEyMzIxYzg0NThhNTljOGJmMWIyZDdiNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTc0Miw2
ICsxNzQyLDcgQEAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVGhyZWFkLmNwcAogcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFt
ZUhvc3RpbmdOb2RlLmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZS5jcHAKK3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuY3Bw
CiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmNwcAogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIxY2I1ZmExNTJiZTE0Yjk1MGI5
YjQ4MGIzNDA0YWRjMTM3MjIxODIuLjc1YjUxZjUyZjdiNTdlMzRmM2E2ODYwMzQyNDg4OGI0YmY2
NTJkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM0OCw2ICszNDgsNyBAQAogCQkwRkQ0MUU2ODIxRjgwQzBFMDAwQzAwNkQg
LyogU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDQxRTY2MjFGODAyODIwMDBDMDA2RCAvKiBTY3Jv
bGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTBGRDQxRTY5MjFGODBEMTQwMDBDMDA2RCAvKiBTY3JvbGxp
bmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRDQxRTY1MjFGODAyNjEwMDBDMDA2RCAvKiBTY3JvbGxpbmdTdGF0
ZUZyYW1lSG9zdGluZ05vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwRkQ3MjM4MjBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ3MjM4MDBFQzhC
RDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEOTc1RDUyNDVDQ0I0NzAwQzQyMjk5IC8qIFNjcm9sbGlu
Z1RyZWVHZXN0dXJlU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGRDk3NUQyMjQ1Q0JEQUYwMEM0MjI5OSAvKiBTY3JvbGxpbmdUcmVlR2VzdHVy
ZVN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMEZEQTdDMTcxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2guaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREE3QzExMTg4MzIyRUIwMEM5NTRCNSAv
KiBKU1RvdWNoLmggKi87IH07CiAJCTBGREE3QzE5MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
REE3QzEzMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoRXZlbnQuaCAqLzsgfTsKIAkJMEZEQTdD
MUIxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRBN0MxNTE4ODMyMkVCMDBDOTU0QjUgLyogSlNU
b3VjaExpc3QuaCAqLzsgfTsKQEAgLTU5MzEsNiArNTkzMiw4IEBACiAJCTBGRDcyMzgwMEVDOEJE
OTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmxvYXRRdWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDcyMzgxMEVD
OEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRmxvYXRRdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZEN0MyMUQyM0NFNDFFMzAwOTZEMTAyIC8qIFBsYXRmb3JtV2hlZWxFdmVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQbGF0Zm9ybVdoZWVsRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRkQ5NzVEMjI0NUNCREFGMDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJlZUdlc3R1
cmVTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRDk3NUQ0MjQ1Q0JERDcwMEM0MjI5OSAvKiBT
Y3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGlu
Z1RyZWVHZXN0dXJlU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkRB
N0MxMDE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1RvdWNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZEQTdDMTExODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2guaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNUb3VjaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRkRBN0MxMjE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaEV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVG91Y2hFdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNzYzNCw2ICsxNzYzNyw4IEBACiAJCQkJMEZENDFFNjYyMUY4
MDI4MjAwMEMwMDZEIC8qIFNjcm9sbGluZ1RyZWVGcmFtZUhvc3RpbmdOb2RlLmggKi8sCiAJCQkJ
MEZFQTNFODUxOTFCM0JENzAwMEYxQjU1IC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGUuY3BwICovLAogCQkJCTBGRUEzRTg2MTkxQjNCRDcwMDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlLmggKi8sCisJCQkJMEZEOTc1RDQyNDVDQkRENzAwQzQyMjk5IC8q
IFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwICovLAorCQkJCTBGRDk3NUQyMjQ1Q0JEQUYw
MEM0MjI5OSAvKiBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmggKi8sCiAJCQkJMEZGRDQ1QTgy
NDNCRjI1NzAwMEQ0QkVBIC8qIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwICov
LAogCQkJCTBGRkQ0NUE3MjQzQkYyNTcwMDBENEJFQSAvKiBTY3JvbGxpbmdUcmVlTGF0Y2hpbmdD
b250cm9sbGVyLmggKi8sCiAJCQkJMUFBQURERTExNERDOEM4RjAwQUY2NEIzIC8qIFNjcm9sbGlu
Z1RyZWVOb2RlLmNwcCAqLywKQEAgLTMyNzg3LDYgKzMyNzkyLDcgQEAKIAkJCQkwRkQ0MUU2ODIx
RjgwQzBFMDAwQzAwNkQgLyogU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGRUEzRTg4MTkxQjNCRDcwMDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0M0QTQxNTE2MjlERjVBMDBD
M0VCNkUgLyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZEOTc1RDUyNDVDQ0I0NzAwQzQyMjk5IC8qIFNjcm9sbGluZ1RyZWVHZXN0dXJl
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRkQ0NUFBMjQzQzMwMjcwMDBENEJFQSAvKiBT
Y3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkU1
ODA2NDE5MzI3QTYyMDBERTMyRUIgLyogU2Nyb2xsaW5nVHJlZU1hYy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUFBQURERTQxNERDOEM4RjAwQUY2NEIzIC8qIFNjcm9sbGluZ1RyZWVOb2RlLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZS5jcHAKaW5kZXggMTA0YzFjYzg5NWJmNWI4ZDg3OGRhYmQwYTYwYmNiNzllNWRhMTY4ZS4u
OWJhMThhMzM1MzM3YjBkODU2NmVkNDk5ODI1NmQ0MjE1MDk5YWNkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTU2LDcgKzU2LDEx
IEBAIHN0cnVjdCBDb21taXRUcmVlU3RhdGUgewogICAgIE9ycGhhblNjcm9sbGluZ05vZGVNYXAg
b3JwaGFuTm9kZXM7CiB9OwogCi1TY3JvbGxpbmdUcmVlOjpTY3JvbGxpbmdUcmVlKCkgPSBkZWZh
dWx0OworU2Nyb2xsaW5nVHJlZTo6U2Nyb2xsaW5nVHJlZSgpCisgICAgOiBtX2dlc3R1cmVTdGF0
ZSgqdGhpcykKK3sKK30KKwogU2Nyb2xsaW5nVHJlZTo6flNjcm9sbGluZ1RyZWUoKSA9IGRlZmF1
bHQ7CiAKIGJvb2wgU2Nyb2xsaW5nVHJlZTo6c2hvdWxkSGFuZGxlV2hlZWxFdmVudFN5bmNocm9u
b3VzbHkoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQpAQCAtMTA2LDExICsx
MTAsMjAgQEAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHcKICAgICAgICAgICAgIHJldHVybiBTY3Jv
bGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7CiAgICAgICAgIH0KIAorICAgICAg
ICBpZiAobV9nZXN0dXJlU3RhdGUuaGFuZGxlR2VzdHVyZUNhbmNlbCh3aGVlbEV2ZW50KSkKKyAg
ICAgICAgICAgIHJldHVybiBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQ7CisK
KyAgICAgICAgbV9nZXN0dXJlU3RhdGUucmVjZWl2ZWRXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwor
CiAgICAgICAgIGlmIChhdXRvIGxhdGNoZWROb2RlSUQgPSBtX2xhdGNoaW5nQ29udHJvbGxlci5s
YXRjaGVkTm9kZUZvckV2ZW50KHdoZWVsRXZlbnQpKSB7CiAgICAgICAgICAgICBMT0dfV0lUSF9T
VFJFQU0oU2Nyb2xsTGF0Y2hpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hl
ZWxFdmVudDogaGFzIGxhdGNoZWQgbm9kZSAiIDw8IGxhdGNoZWROb2RlSUQpOwotICAgICAgICAg
ICAgYXV0byogbm9kZSA9IG5vZGVGb3JJRChsYXRjaGVkTm9kZUlELnZhbHVlKCkpOwotICAgICAg
ICAgICAgaWYgKGlzPFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPihub2RlKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KCpub2Rl
KS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOworICAgICAgICAgICAgYXV0byogbm9kZSA9
IG5vZGVGb3JJRCgqbGF0Y2hlZE5vZGVJRCk7CisgICAgICAgICAgICBpZiAoaXM8U2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU+KG5vZGUpKSB7CisgICAgICAgICAgICAgICAgYXV0byByZXN1bHQg
PSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4oKm5vZGUpLmhhbmRsZVdoZWVs
RXZlbnQod2hlZWxFdmVudCk7CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSBTY3JvbGxp
bmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQpCisgICAgICAgICAgICAgICAgICAgIG1fZ2Vz
dHVyZVN0YXRlLm5vZGVEaWRIYW5kbGVFdmVudCgqbGF0Y2hlZE5vZGVJRCwgd2hlZWxFdmVudCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgICAgICAKICAgICAgICAgRmxvYXRQb2ludCBwb3NpdGlvbiA9IHdoZWVsRXZlbnQucG9z
aXRpb24oKTsKQEAgLTEyNCw4ICsxMzcsMTAgQEAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xs
aW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHcKICAg
ICAgICAgICAgICAgICBhdXRvJiBzY3JvbGxpbmdOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGU+KCpub2RlKTsKICAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IHNj
cm9sbGluZ05vZGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKIAotICAgICAgICAgICAg
ICAgIGlmIChyZXN1bHQgPT0gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhhbmRsZUV2ZW50KQot
ICAgICAgICAgICAgICAgICAgICBtX2xhdGNoaW5nQ29udHJvbGxlci5ub2RlRGlkSGFuZGxlRXZl
bnQod2hlZWxFdmVudCwgc2Nyb2xsaW5nTm9kZS5zY3JvbGxpbmdOb2RlSUQoKSk7CisgICAgICAg
ICAgICAgICAgaWYgKHJlc3VsdCA9PSBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZl
bnQpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9sYXRjaGluZ0NvbnRyb2xsZXIubm9kZURpZEhh
bmRsZUV2ZW50KHNjcm9sbGluZ05vZGUuc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQpOwor
ICAgICAgICAgICAgICAgICAgICBtX2dlc3R1cmVTdGF0ZS5ub2RlRGlkSGFuZGxlRXZlbnQoc2Ny
b2xsaW5nTm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgd2hlZWxFdmVudCk7CisgICAgICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBTY3JvbGxpbmdFdmVudFJlc3Vs
dDo6RGlkTm90SGFuZGxlRXZlbnQpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKaW5kZXgg
ODYwOTdkMzQxNmI4NTNlYzEzMWE1ZGY1YmI0OTNiZDIwY2ZhZGE0OC4uZmMxMjI1Njg4NmUyNDBj
NTdhMTZjOWYxMDcwZDM2NjBkODNiYzIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWUuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJlZ2lv
bi5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRp
bmF0b3JUeXBlcy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCIKICNp
bmNsdWRlICJTY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV2hl
ZWxFdmVudFRlc3RNb25pdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTIwMSw2
ICsyMDIsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVOb2RlTWFwIG1fbm9kZU1hcDsK
IAogICAgIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIgbV9sYXRjaGluZ0NvbnRyb2xs
ZXI7CisgICAgU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZSBtX2dlc3R1cmVTdGF0ZTsKICAgICBS
ZWxhdGVkTm9kZXNNYXAgbV9vdmVyZmxvd1JlbGF0ZWROb2Rlc01hcDsKIAogICAgIEhhc2hTZXQ8
UmVmPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT4+IG1fYWN0aXZlT3ZlcmZs
b3dTY3JvbGxQcm94eU5vZGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjRi
N2JlOWIzNTZlNWEyYmJkZDcwN2I2MTA2NmExM2YzZDhmODYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5j
cHAKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oIgorCisjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKKworI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKKworU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6U2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlKQorICAgIDogbV9zY3Jv
bGxpbmdUcmVlKHNjcm9sbGluZ1RyZWUpCit7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJlZUdlc3R1
cmVTdGF0ZTo6cmVjZWl2ZWRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZl
bnQpCit7CisgICAgaWYgKGV2ZW50LmlzR2VzdHVyZVN0YXJ0KCkpIHsKKyAgICAgICAgY2xlYXJB
bGxOb2RlcygpOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCitib29sIFNjcm9sbGluZ1Ry
ZWVHZXN0dXJlU3RhdGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQuaXNHZXN0dXJlQ2FuY2VsKCkpIHsKKyAgICAg
ICAgaWYgKG1fbWF5QmVnaW5Ob2RlSUQpCisgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUuaGFu
ZGxlV2hlZWxFdmVudFBoYXNlKCptX21heUJlZ2luTm9kZUlELCBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZUNhbmNlbGxlZCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURp
ZEhhbmRsZUV2ZW50KFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgZXZlbnQpCit7CisgICAgc3dpdGNoIChldmVudC5waGFzZSgpKSB7CisgICAgY2FzZSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luOgorICAgICAgICBtX21heUJlZ2luTm9kZUlE
ID0gbm9kZUlEOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUuaGFuZGxlV2hlZWxFdmVudFBoYXNl
KG5vZGVJRCwgZXZlbnQucGhhc2UoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ6CisgICAgICAgIC8vIGhhbmRsZUdlc3R1cmVDYW5j
ZWwoKSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBmaXJzdC4KKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2VCZWdhbjoKKyAgICAgICAgbV9hY3RpdmVOb2RlSUQgPSBub2RlSUQ7CisgICAgICAgIG1fc2Ny
b2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uobm9kZUlELCBldmVudC5waGFzZSgpKTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkOgor
ICAgICAgICBpZiAobV9hY3RpdmVOb2RlSUQpCisgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUu
aGFuZGxlV2hlZWxFdmVudFBoYXNlKCptX2FjdGl2ZU5vZGVJRCwgZXZlbnQucGhhc2UoKSk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkOgor
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5OgorICAgIGNhc2UgUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBz
d2l0Y2ggKGV2ZW50Lm1vbWVudHVtUGhhc2UoKSkgeworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2VNYXlCZWdpbjoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2Vs
bGVkOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOgorICAgICAgICBtX2FjdGl2ZU5vZGVJ
RCA9IG5vZGVJRDsKKyAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFz
ZShub2RlSUQsIGV2ZW50Lm1vbWVudHVtUGhhc2UoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDoKKyAgICAgICAgaWYgKG1fYWN0aXZlTm9k
ZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFzZSgq
bV9hY3RpdmVOb2RlSUQsIGV2ZW50Lm1vbWVudHVtUGhhc2UoKSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkOgorICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5OgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VOb25lOgorICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZTo6Y2xlYXJBbGxOb2RlcygpCit7CisgICAgbV9tYXlCZWdpbk5vZGVJRCA9
IDA7CisgICAgbV9hY3RpdmVOb2RlSUQgPSAwOworfQorCit9OworCisjZW5kaWYgLy8gRU5BQkxF
KEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmIwMmQ0MGE5
YjRjNDU2ZmM5MzZjMmJiYjRlNjdkODFmNjBlZDBkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oCkBAIC0w
LDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpCisKKyNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9N
YXJrYWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFBsYXRmb3JtV2hlZWxFdmVudDsKK2NsYXNzIFNjcm9sbGluZ1RyZWU7CisK
Ky8vIFRoaXMgY2xhc3MgdHJhY2tzIHN0YXRlIHJlbGF0ZWQgdG8gTWF5QmVnaW4sIEJlZ2luLCBF
bmRlZCBhbmQgQ2FuY2VsZWQgd2hlZWwgZXZlbnRzLCB3aGljaAorLy8gc2hvdWxkIHByb3BhZ2F0
ZSB0byB0aGUgbWFpbiB0aHJlYWQgaW4gb3JkZXIgdG8gdXBkYXRlIG92ZXJsYXkgc2Nyb2xsYmFy
cy4KK2NsYXNzIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUgeworcHVibGljOgorICAgIFNjcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUoU2Nyb2xsaW5nVHJlZSYpOworCisgICAgdm9pZCByZWNlaXZl
ZFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisKKyAgICBib29sIGhhbmRs
ZUdlc3R1cmVDYW5jZWwoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisKKyAgICB2b2lkIG5v
ZGVEaWRIYW5kbGVFdmVudChTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpOworICAgIAorcHJpdmF0ZToKKyAgICB2b2lkIGNsZWFyQWxsTm9kZXMoKTsKKworICAgIFNj
cm9sbGluZ1RyZWUmIG1fc2Nyb2xsaW5nVHJlZTsKKyAgICBNYXJrYWJsZTxTY3JvbGxpbmdOb2Rl
SUQsIEludGVncmFsTWFya2FibGVUcmFpdHM8U2Nyb2xsaW5nTm9kZUlELCAwPj4gbV9tYXlCZWdp
bk5vZGVJRDsKKyAgICBNYXJrYWJsZTxTY3JvbGxpbmdOb2RlSUQsIEludGVncmFsTWFya2FibGVU
cmFpdHM8U2Nyb2xsaW5nTm9kZUlELCAwPj4gbV9hY3RpdmVOb2RlSUQ7Cit9OworCit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9s
bGVyLmNwcAppbmRleCBlNmI5YTlhZDFhYjI4Zjk4NmM5ZmZjZjdkYjc2Y2U0MWMzMjc3ZTc1Li4w
OTBjMjBkZmVlNmI1OTY2ODYyZTQwNmMyODc5MTQ5YmNkZGNlNDdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0
Y2hpbmdDb250cm9sbGVyLmNwcApAQCAtNzQsNyArNzQsNyBAQCBPcHRpb25hbDxTY3JvbGxpbmdO
b2RlSUQ+IFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXI6OmxhdGNoZWROb2RlSUQoKSBj
b25zdAogICAgIHJldHVybiBtX2xhdGNoZWROb2RlSUQ7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJl
ZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgd2hlZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbGluZ05vZGVJRCkKK3Zv
aWQgU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KFNj
cm9sbGluZ05vZGVJRCBzY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
d2hlZWxFdmVudCkKIHsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xhdGNoZWROb2RlTXV0ZXgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlTGF0Y2hpbmdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKaW5kZXggMGI0NmE3YTA5Y2U5NGRkYzk1
YTE2MmI1OTdjYTE3OWRjN2ViN2U4Ny4uYzg0MDZmMTY5NDM1YjJlYjA0MGVkOTAyYWIxMDk4NTU5
ZmY2N2Y1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsNiBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7Ci1jbGFz
cyBTY3JvbGxpbmdUcmVlOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVy
IHsKIHB1YmxpYzoKQEAgLTQ0LDcgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZWNlaXZl
ZFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAgICAgT3B0aW9uYWw8U2Ny
b2xsaW5nTm9kZUlEPiBsYXRjaGVkTm9kZUZvckV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIGNvbnN0OwotICAgIHZvaWQgbm9kZURpZEhhbmRsZUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgdm9pZCBub2RlRGlkSGFuZGxlRXZlbnQo
U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKIAogICAgIE9wdGlv
bmFsPFNjcm9sbGluZ05vZGVJRD4gbGF0Y2hlZE5vZGVJRCgpIGNvbnN0OwogCkBAIC01Miw3ICs1
MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyTGF0Y2hlZE5vZGUoKTsKIAogcHJpdmF0ZToK
LQogICAgIG11dGFibGUgTG9jayBtX2xhdGNoZWROb2RlTXV0ZXg7CiAgICAgTWFya2FibGU8U2Ny
b2xsaW5nTm9kZUlELCBJbnRlZ3JhbE1hcmthYmxlVHJhaXRzPFNjcm9sbGluZ05vZGVJRCwgMD4+
IG1fbGF0Y2hlZE5vZGVJRDsKICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdExhdGNoZWROb2RlSW50
ZXJhdGlvblRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggNWYwMDBiZDdhNjEzYzhi
MThlZjE5ZTdmZjI4ZTMwZjYyNGVjNmZhOS4uNjJmNmZmNDU0MTgxNGUyMDFjMmNkZWZkYWFmMDE5
YjE1YWQzNzhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMTI5LDExICsxMjksMTUg
QEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6aXNMYXRjaGVkTm9kZSgpIGNvbnN0
CiAgICAgcmV0dXJuIHNjcm9sbGluZ1RyZWUoKS5sYXRjaGVkTm9kZUlEKCkgPT0gc2Nyb2xsaW5n
Tm9kZUlEKCk7CiB9CiAKLWJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhblNjcm9s
bFdpdGhXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkgY29u
c3QKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KSBjb25zdAogewogICAgIGlmICgh
Y2FuSGF2ZVNjcm9sbGJhcnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gTWF5
QmVnaW4gaXMgdXNlZCB0byBmbGFzaCBzY3JvbGxiYXJzOyBpZiB0aGlzIG5vZGUgaXMgc2Nyb2xs
YWJsZSwgaXQgY2FuIGhhbmRsZSBpdC4KKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCiAg
ICAgLy8gV2UgYWx3YXlzIHJ1YmJlci1iYW5kIHRoZSBsYXRjaGVkIG5vZGUsIG9yIHRoZSByb290
IG5vZGUuCiAgICAgaWYgKGlzTGF0Y2hlZE5vZGUoKSB8fCBpc1Jvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggMTY0YjQ5YTVkYzkxYmNiYWVm
YjNjNjJlOTBjNjVhN2FhZjZhYWY4MC4uOGFkOTk2MmMwNDY2OGUzNTUwNDUxZjBmYTQ2ZmQ2NzMz
MTdlYTQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVO
b2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3Qg
U2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgY2FuU2Ny
b2xsV2l0aFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGNhbkhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JikgY29uc3Q7CiAgICAgdmlydHVhbCBTY3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogCiAgICAgRmxvYXRQb2ludCBjdXJyZW50
U2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRTY3JvbGxQb3NpdGlvbjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCA3ZmJi
OTQ0NWQ4ZTI5MjIwOWIyOWVmMzEwNjgxZTI0NjIzYWEyOWU1Li5mZjgyYWZmYWYyZDkwODU3ZjVh
ZDRiYTU0YWIyYWY1NzEwZWZlMTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
CiAKIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50
KQogewotICAgIGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVudCkpCisgICAg
aWYgKCFjYW5IYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gU2Ny
b2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgYm9vbCBoYW5kbGVk
ID0gbV9kZWxlZ2F0ZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwpAQCAtMTI1LDggKzEy
NSw2IEBAIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QKICAgICBpZiAobV9kZWxlZ2F0ZS5hY3RpdmVT
Y3JvbGxTbmFwSW5kZXhEaWRDaGFuZ2UoKSkKICAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLnNldEFj
dGl2ZVNjcm9sbFNuYXBJbmRpY2VzKHNjcm9sbGluZ05vZGVJRCgpLCBtX2RlbGVnYXRlLmFjdGl2
ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsKSwgbV9k
ZWxlZ2F0ZS5hY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpczo6VmVy
dGljYWwpKTsKICNlbmRpZgotICAgIHNjcm9sbGluZ1RyZWUoKS5oYW5kbGVXaGVlbEV2ZW50UGhh
c2Uoc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQucGhhc2UoKSk7Ci0gICAgCiAgICAgcmV0
dXJuIGhhbmRsZWQgPyBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQgOiBTY3Jv
bGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KaW5kZXggN2ZjYWQxMzUyN2I5Mzg5
OWY1MWU5YTIzN2E4YzMwZDkwOWEwY2I2Zi4uYjNmNWM1NTMyNzIyYjBiMjE3NDY0ZGViMTBkMTc3
ZWRkMTU2OTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGVNYWMubW0KQEAgLTc0LDEzICs3NCwxMCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbgogICAg
ICAgICByZXR1cm4gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OlNlbmRUb01haW5UaHJlYWQ7CiAjZW5k
aWYKIAotICAgIGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVudCkpCisgICAg
aWYgKCFjYW5IYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gU2Ny
b2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgYm9vbCBoYW5kbGVk
ID0gbV9kZWxlZ2F0ZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwotCi0gICAgc2Nyb2xs
aW5nVHJlZSgpLmhhbmRsZVdoZWVsRXZlbnRQaGFzZShzY3JvbGxpbmdOb2RlSUQoKSwgd2hlZWxF
dmVudC5waGFzZSgpKTsKLSAgICAKICAgICByZXR1cm4gaGFuZGxlZCA/IFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWRIYW5kbGVFdmVudCA6IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWROb3RIYW5k
bGVFdmVudDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU1hYy5tbQppbmRleCBkNDVjNzgwYjQyNzQxOWE1ODQxNDQ2YjEzOTZiYTI5OWYzYTRlMDg1Li5k
OTI2ZjVlOWY2YzdlNDE1OTdkNWRhNmU3N2Y2ZDE1OTA5OGM3OGZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQpAQCAtMTMwLDYgKzEzMCwxMSBA
QCBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmhhbmRsZVdoZWVs
RXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbAogICAgICAgICBkZWZlcldoZWVsRXZlbnRUZXN0Q29t
cGxldGlvbkZvclJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6
U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPihzY3JvbGxpbmdOb2RlKCkuc2Nyb2xsaW5nTm9kZUlE
KCkpLCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OkhhbmRsaW5nV2hlZWxFdmVudCk7CiAjZW5kaWYK
IAorICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gZmlyZXMgd2hlbiB0d28g
ZmluZ2VycyB0b3VjaCB0aGUgdHJhY2twYWQsIGFuZCBpcyB1c2VkIHRvIGZsYXNoIG92ZXJsYXkg
c2Nyb2xsYmFycy4KKyAgICAvLyBXZSBrbm93IHdlJ3JlIHNjcm9sbGFibGUgYXQgdGhpcyBwb2lu
dCwgc28gaGFuZGxlIHRoZSBldmVudC4KKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCiAg
ICAgYXV0byBoYW5kbGVkID0gbV9zY3JvbGxDb250cm9sbGVyLmhhbmRsZVdoZWVsRXZlbnQod2hl
ZWxFdmVudCk7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUoUlVCQkVS
X0JBTkRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdo
ZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
CmluZGV4IDRjYWJmODQ5MTM2NjQ0YzA0ZDZhNzQwMzliMzRjZDFjZTUwZTNlYzYuLmI5MDQ0YjZm
NWRiMTVlNTRjNDQzY2NkMWExOTIzMGNlMWY1ZTNjNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xNTUsNiArMTU1LDEwIEBAIHB1YmxpYzoK
ICNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2UgcGhhc2UoKSBjb25zdCB7IHJldHVybiBtX3BoYXNlOyB9CiAgICAgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2UgbW9tZW50dW1QaGFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9tZW50dW1QaGFzZTsg
fQorCisgICAgYm9vbCBpc0dlc3R1cmVTdGFydCgpIGNvbnN0OworICAgIGJvb2wgaXNHZXN0dXJl
Q2FuY2VsKCkgY29uc3Q7CisKICAgICBib29sIGlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIGNv
bnN0OwogICAgIGJvb2wgaXNUcmFuc2l0aW9uaW5nVG9Nb21lbnR1bVNjcm9sbCgpIGNvbnN0Owog
ICAgIEZsb2F0UG9pbnQgc3dpcGVWZWxvY2l0eSgpIGNvbnN0OwpAQCAtMjIwLDYgKzIyNCwxNyBA
QCBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzRW5kT2ZNb21lbnR1bVNjcm9sbCgp
IGNvbnN0CiAKICNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKK2lubGluZSBib29sIFBs
YXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0dXJlU3RhcnQoKSBjb25zdAoreworICAgIHJldHVybiBt
X3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4KKyAgICAgICAgfHwgbV9w
aGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOworfQorCitpbmxpbmUgYm9vbCBQ
bGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNhbmNlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ7Cit9CisKIGlubGlu
ZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6aXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVk
ICYmIG1fbW9tZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRl
eCAyNTFhZDU4ODVlZDU3NmUwOWUyZDI4MTM5NDI5NzgzMGIwYWEzZWYzLi4wZjQxYTcyYzQ1Zjcw
NTI5N2EyMGE4ODNiZGZiZDhjYWNiN2Y5YzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTEwMyw2ICsxMDMsOSBAQCBib29s
IFNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiB3aGVlbEV2ZW50KQogICAgIGlmICghcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFw
KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyAgICBpZiAod2hl
ZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gfHwgd2hl
ZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlQmVnYW4pIHsKICAgICAgICAgLy8gRklYTUU6IFRyeWluZyB0byBk
ZWNpZGUgaWYgYSBnZXN0dXJlIGlzIGhvcml6b250YWwgb3IgdmVydGljYWwgYXQgdGhlICJiZWdh
biIgcGhhc2UgaXMgdmVyeSBlcnJvci1wcm9uZS4KICAgICAgICAgYXV0byBkaXJlY3Rpb24gPSBk
aXJlY3Rpb25Gcm9tRXZlbnQod2hlZWxFdmVudCwgU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFs
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxYjExODA4NzEyODJjYjFkNDIxZTdhMjUxOGU0N2MyOTQxNDcxZjNmLi45YzY4
YzhjMmY5M2IwZjQyZmJhNDgwMDRjYWQ2NjdlYjMxNGE3ZWM5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMDUtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgT3ZlcmZsb3cgc2Nyb2xsYmFycyBkb24ndCBncm93IHdoZW4gaG92ZXJlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNjkyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9s
bGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFj
L3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWw6CisKIDIwMjAtMDUtMDQg
IEd1aWxsZW0gVmluYWxzICA8Z3ZpbmFsc0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR1BVOiBU
ZXh0dXJlcyBzaG91bGQgYmUgYWJsZSB0byBoYXZlIE9VVFBVVF9BVFRBQ0hFTUVOVCB8IFNBTVBM
RUQgdXNhZ2UgZmxhZ3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ct
b3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDk3ZTVj
ZjY5OGJkNzNjMTdiNDE3NTY4YTY0NjM4Nzk2MGM1NGNkNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXkt
c2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgaG92
ZXIgb3ZlciBvdmVybGF5IHNjcm9sbGJhcgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworSW5pdGlhbCBzdGF0ZQorZW5hYmxlZAorSG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNo
b3VsZCBzaG93IGV4cGFuZGVkIHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJs
ZWQsZXhwYW5kZWQsdmlzaWJsZV90cmFjayx2aXNpYmxlX3RodW1iCitVbmhvdmVyaW5nIHZlcnRp
Y2FsIHNjcm9sbGJhciBzaG91bGQgaGlkZSBpdAorUEFTUyBUaHVtYiBhbmQgdHJhY2sgaGlkZGVu
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZs
b3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmVjNDllZmQwNTc5YTI3YWE3N2Y5YmYyYjQxNjFiODVlMDc0ZmUwOWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKQEAgLTAsMCArMSw4
MiBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6
dXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0Vu
YWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJv
ZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgLnNj
cm9sbGVyIHsKKyAgICAgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAy
MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFw
eCBzb2xpZCBibGFjazsKKyAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvOworICAgICAgICB9Cisg
ICAgICAgIC5jb250ZW50cyB7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAg
IGhlaWdodDogMjAwJTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
ICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldFVzZXNP
dmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3Qo
KQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdCBob3ZlciBvdmVyIG92
ZXJsYXkgc2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAg
ICBjb25zdCBzY3JvbGxlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOwor
ICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKyAgICAgICAgICAgIGNvbnN0IHggPSBzY3JvbGxlckJvdW5kcy5yaWdodCAt
IDg7CisgICAgICAgICAgICBjb25zdCB5ID0gc2Nyb2xsZXJCb3VuZHMudG9wICsgMTA7CisKKyAg
ICAgICAgICAgIGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRl
cm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBk
ZWJ1ZygnSG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBzaG93IGV4cGFuZGVkIHNj
cm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbFNjcm9sbEF0
KHgsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9
PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xs
YmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAgICAgIGxldCBleHBhbmRlZCA9IHN0YXRl
LmluZGV4T2YoJ2V4cGFuZGVkJykgIT0gLTE7CisgICAgICAgICAgICAgICAgaWYgKGV4cGFuZGVk
KQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBz
dGF0ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGV4cGFuZGVkOworICAgICAgICAgICAgfSk7
CisKKyAgICAgICAgICAgIGRlYnVnKCdVbmhvdmVyaW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91
bGQgaGlkZSBpdCcpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW92ZU1vdXNlQW5kV2Fp
dEZvckZyYW1lKHggLSAxMCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3ZlTW91
c2VBbmRXYWl0Rm9yRnJhbWUoeCAtIDIwLCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9IGlu
dGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAg
ICBsZXQgdGh1bWJIaWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7
CisgICAgICAgICAgICAgICAgbGV0IHRyYWNrSGlkZGVuID0gc3RhdGUuaW5kZXhPZigndmlzaWJs
ZV90cmFjaycpID09IC0xOworICAgICAgICAgICAgICAgIGlmICh0aHVtYkhpZGRlbiAmJiB0cmFj
a0hpZGRlbikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnVGh1bWIgYW5kIHRyYWNr
IGhpZGRlbicpOworICAgICAgICAgICAgICAgIHJldHVybiB0aHVtYkhpZGRlbiAmJiB0cmFja0hp
ZGRlbjsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4g
eworICAgICAgICAgICAgZG9UZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVyIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29udGVudHMiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXkt
c2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM1Yzg2YmVhY2M2YjQ4YTViN2VjODk5ODJiMDgwZGZkMWI0ZDFh
ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Ny
b2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTUgQEAKK1Rlc3QgbWF5YmVnaW4gYW5kIGNhbmNlbGxlZCBvbiBvdmVyZmxvdwor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZQorZW5hYmxlZAor
TWF5QmVnaW4gc2hvdWxkIHNob3cgdGhlIHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6
IGVuYWJsZWQsdmlzaWJsZV90aHVtYgorQ2FuY2VsbGVkIHNob3VsZCBoaWRlIHRoZSBzY3JvbGxi
YXIKK1BBU1MgU2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItcmV2
ZWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVy
Zmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDMxOTBjOWRj
NzFkZDYwNDMxZDRlYzllNGIwNGNiMjZmMTJiMmRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3Jv
bGxiYXItcmV2ZWFsLmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6dXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgaW50
ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgaGVpZ2h0OiAx
MDAwcHg7CisgICAgICAgIH0KKyAgICAgICAgLnNjcm9sbGVyIHsKKyAgICAgICAgICAgIG1hcmdp
bjogMTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIGhlaWdodDog
MjAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgICAg
IG92ZXJmbG93OiBhdXRvOworICAgICAgICB9CisgICAgICAgIC5jb250ZW50cyB7CisgICAgICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIGhlaWdodDogMjAwJTsKKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRy
dWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQgb24gb3ZlcmZs
b3cnKTsKKyAgICAgICAgICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcuc2Nyb2xsZXInKTsKKyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyQm91
bmRzID0gc2Nyb2xsZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBjb25z
dCB4ID0gc2Nyb2xsZXJCb3VuZHMubGVmdCArIDEwOworICAgICAgICAgICAgY29uc3QgeSA9IHNj
cm9sbGVyQm91bmRzLnRvcCArIDEwOworCisgICAgICAgICAgICBkZWJ1ZygnSW5pdGlhbCBzdGF0
ZScpOworICAgICAgICAgICAgZGVidWcoaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUo
c2Nyb2xsZXIpKTsKKworICAgICAgICAgICAgZGVidWcoJ01heUJlZ2luIHNob3VsZCBzaG93IHRo
ZSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxNYXlC
ZWdpbkF0KHgsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlv
bigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2Fs
U2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAgICAgIGxldCB2aXNpYmxlID0g
c3RhdGUuaW5kZXhPZigndmlzaWJsZV90aHVtYicpICE9IC0xOworICAgICAgICAgICAgICAgIGlm
ICh2aXNpYmxlKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdTY3JvbGxiYXIgc3Rh
dGU6ICcgKyBzdGF0ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGU7CisgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ0NhbmNlbGxlZCBzaG91bGQgaGlkZSB0aGUg
c2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3VzZVdoZWVsQ2FuY2Vs
QXQoeCwgeSk7CisKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb25kaXRpb24o
KCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9IGludGVybmFscy52ZXJ0aWNhbFNj
cm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAgICBsZXQgaGlkZGVuID0gc3Rh
dGUuaW5kZXhPZigndmlzaWJsZV90aHVtYicpID09IC0xOworICAgICAgICAgICAgICAgIGlmICho
aWRkZW4pCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1Njcm9sbGJhciBzdGF0ZTog
JyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gaGlkZGVuOworICAgICAgICAgICAg
fSk7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBkb1Rl
c3QoKTsKKyAgICAgICAgfSwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50
cyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1y
ZXZlYWwuaHRtbAppbmRleCBhNmVlZTFiMTZjMzk3YmFlZjBkN2NiZjkyYzU1MDU3YWY5NzU4YTY2
Li44OGZiNGIwMGM1MzJkNWQxMmI4MWY0OTU0MDlkNTczNGZkYjYyOTY3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJh
ci1yZXZlYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3Jv
bGxiYXJzPWZhbHNlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJm
bG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHls
ZT4KQEAgLTEyLDEzICsxMiwxNiBAQAogICAgIDxzY3JpcHQ+CiAgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwogICAgICAgICAKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXRVc2VzT3Zl
cmxheVNjcm9sbGJhcnModHJ1ZSk7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKIAogICAg
ICAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQogICAgICAgICB7CiAgICAgICAgICAgICBkZXNj
cmlwdGlvbignVGVzdCBtYXliZWdpbiBhbmQgY2FuY2VsbGVkJyk7Ci0gICAgICAgICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlYnVnKCdJbml0aWFs
IHN0YXRlJyk7CiAgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJT
dGF0ZSgpKTsK
</data>
<flag name="review"
          id="413794"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398421</attachid>
            <date>2020-05-04 15:02:03 -0700</date>
            <delta_ts>2020-05-04 15:08:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210692-20200504150203.patch</filename>
            <type>text/plain</type>
            <size>40157</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA1MmRjMjc2MDViNGIx
OTY2NzZjMjM1MTUxZjJiOTAyOTgwYmY1MS4uOWJkMWNjNzU1MjQxNDk0MTJmY2I4MWViYTVmNDc2
Y2IwNDgxNmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBP
dmVybGF5IHNjcm9sbGFyIGludGVyYWN0aW9uIGhhcyBhIGZldyBiZWhhdmlvcnMgdGhhdCBhcmUg
bWVkaWF0ZWQgYnkgU2Nyb2xsQW5pbWF0b3JNYWMuIFRoZXNlCisgICAgICAgIGFyZSBhIHRyYWNr
cGFkIHR3by1maW5nZXIgdGFwLCB3aGljaCBzZW5kcyBhICJNYXlCZWdpbiIgd2hlZWwgZXZlbnQg
KHdoaWNoIGNhbiBiZSBmb2xsb3dlZCBieQorICAgICAgICBhICJDYW5jZWxsZWQiIG9uIGZpbmdl
cnMgdXAsIGlmIHRoZXkgZGlkbid0IG1vdmUpLCBhbmQgaG92ZXJpbmcgdGhlIHNjcm9sbGJhciB3
aGVuIHZpc2libGUsIHdoaWNoCisgICAgICAgIGNhdXNlcyBpdCB0byBleHBhbmQgKHVuaG92ZXJp
bmcgY2F1c2VzIGl0IHRvIGZhZGUgb3V0KS4KKyAgICAgICAgCisgICAgICAgIFRvIHRyYWNrIHRo
ZXNlIGdlc3R1cmVzIG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkLCBnaXZlIFNjcm9sbGluZ1RyZWUg
YSBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLgorCisgICAgICAgIEZsYXNoaW5nIHRoZSBzY3Jv
bGxiYXJzIG9uICJNYXlCZWdpbiIgaXMgZHJpdmVuIGJ5IGRpZEJlZ2luU2Nyb2xsR2VzdHVyZSgp
L2RpZEVuZFNjcm9sbEdlc3R1cmUoKS4KKyAgICAgICAgVGhpcyByZWxpZXMgb24gc2VuZGluZyB0
aGVzZSBmb3IgdGhlIGNvcnJlY3Qgc2Nyb2xsYWJsZSBhcmVhLCBhbmQgbWF0Y2hpbmcgdGhlIGJl
Z2luL2NhbmNlbCwKKyAgICAgICAgc28gdXNlIHRoZSBub3JtYWwgc2Nyb2xsaW5nIHRyZWUgZXZl
bnQgaGFuZGxpbmcgY29kZSBwYXRoIGZvciAiTWF5QmVnaW4iLCBhbmQgYWx3YXlzIHNlbmQKKyAg
ICAgICAgIkNhbmNlbGxlZCIgb24gdGhlIG5vZGUgdGhhdCByZWNlaXZlZCAiTWF5QmVnaW4uIERv
IHRoZSBzYW1lIGZvciAiQmVnYW4iIGFuZCAiRW5kZWQiLgorICAgICAgICAKKyAgICAgICAgU2Ny
b2xsYmFycyBleHBhbmRpbmcgb24gaG92ZXIgaXMgY29udHJvbGxlZCBieSB0aGVzZSBmdW5jdGlv
bnMgb24gU2Nyb2xsQW5pbWF0b3JNYWM6CisgICAgICAgICAgICB2b2lkIG1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCk7CisgICAgICAgICAgICB2b2lkIG1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsK
KyAgICAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKKyAgICAgICAgICAg
IHZvaWQgbW91c2VFbnRlcmVkU2Nyb2xsYmFyKFNjcm9sbGJhciopIGNvbnN0OworICAgICAgICAg
ICAgdm9pZCBtb3VzZUV4aXRlZFNjcm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdDsKKworICAgICAg
ICBUaGlzIG1vc3RseSAod2Via2l0Lm9yZy9iLzIxMTM0Nykgd29ya3Mgbm93IHRoYXQgdGhlIG1h
eUJlZ2luL0NhbmNlbGVkIHN0YXRlIGlzIHVwZGF0ZWQgY29ycmVjdGx5LAorICAgICAgICBhbmQg
aXMgdGVzdGVkIGJ5IGEgbmV3IHRlc3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWU6OlNjcm9sbGluZ1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
VHJlZUdlc3R1cmVTdGF0ZTo6cmVjZWl2ZWRXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURpZEhhbmRsZUV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmNsZWFyQWxs
Tm9kZXMpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZUxhdGNoaW5nQ29udHJvbGxlci5oLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdoZWVs
RXZlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OmNhblNjcm9sbFdpdGhXaGVlbEV2ZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6aGFu
ZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVTdGFydCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNhbmNlbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9s
bGJhclN0YXRlKToKKwogMjAyMC0wNS0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWFwaS5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDM5OWNkYjgwOTk5MjA5ZTcwMWU5OWIxYTJiMzMwY2NhYmJkZmI4MWEuLjFhMmE0NDdjMzdhMDY1
YTIzMjFjODQ1OGE1OWM4YmYxYjJkN2I0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNzQyLDYgKzE3
NDIsNyBAQCBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUaHJlYWQuY3BwCiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlLmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lSG9z
dGluZ05vZGUuY3BwCiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcAorcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAKIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwCiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjFjYjVmYTE1MmJlMTRiOTUwYjliNDgw
YjM0MDRhZGMxMzcyMjE4Mi4uNzViNTFmNTJmN2I1N2UzNGYzYTY4NjAzNDI0ODg4YjRiZjY1MmQ3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMzQ4LDYgKzM0OCw3IEBACiAJCTBGRDQxRTY4MjFGODBDMEUwMDBDMDA2RCAvKiBT
Y3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDFFNjYyMUY4MDI4MjAwMEMwMDZEIC8qIFNjcm9sbGlu
Z1RyZWVGcmFtZUhvc3RpbmdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZENDFFNjkyMUY4MEQxNDAwMEMwMDZEIC8qIFNjcm9sbGluZ1N0
YXRlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZENDFFNjUyMUY4MDI2MTAwMEMwMDZEIC8qIFNjcm9sbGluZ1N0YXRlRnJh
bWVIb3N0aW5nTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBGRDcyMzgyMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgwMEVDOEJEOTMw
MENBNURENyAvKiBGbG9hdFF1YWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkQ5NzVENTI0NUNDQjQ3MDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZEOTc1RDIyNDVDQkRBRjAwQzQyMjk5IC8qIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
RkRBN0MxNzE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQTdDMTExODgzMjJFQjAwQzk1NEI1IC8qIEpT
VG91Y2guaCAqLzsgfTsKIAkJMEZEQTdDMTkxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQTdD
MTMxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVudC5oICovOyB9OwogCQkwRkRBN0MxQjE4
ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREE3QzE1MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNo
TGlzdC5oICovOyB9OwpAQCAtNTkzMSw2ICs1OTMyLDggQEAKIAkJMEZENzIzODAwRUM4QkQ5MzAw
Q0E1REQ3IC8qIEZsb2F0UXVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
bG9hdFF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZENzIzODEwRUM4QkQ5
MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBGbG9hdFF1YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3
QzIxRDIzQ0U0MUUzMDA5NkQxMDIgLyogUGxhdGZvcm1XaGVlbEV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBsYXRmb3JtV2hlZWxFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRDk3NUQyMjQ1Q0JEQUYwMEM0MjI5OSAvKiBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTc1RDQyNDVDQkRENzAwQzQyMjk5IC8qIFNjcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGREE3QzEw
MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTVG91Y2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkRBN0MxMTE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1RvdWNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
REE3QzEyMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUb3VjaEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NjM0LDYgKzE3NjM3LDggQEAKIAkJCQkwRkQ0MUU2NjIxRjgwMjgy
MDAwQzAwNkQgLyogU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaCAqLywKIAkJCQkwRkVB
M0U4NTE5MUIzQkQ3MDAwRjFCNTUgLyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5j
cHAgKi8sCiAJCQkJMEZFQTNFODYxOTFCM0JENzAwMEYxQjU1IC8qIFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUuaCAqLywKKwkJCQkwRkQ5NzVENDI0NUNCREQ3MDBDNDIyOTkgLyogU2Ny
b2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAgKi8sCisJCQkJMEZEOTc1RDIyNDVDQkRBRjAwQzQy
Mjk5IC8qIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCAqLywKIAkJCQkwRkZENDVBODI0M0JG
MjU3MDAwRDRCRUEgLyogU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAgKi8sCiAJ
CQkJMEZGRDQ1QTcyNDNCRjI1NzAwMEQ0QkVBIC8qIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRy
b2xsZXIuaCAqLywKIAkJCQkxQUFBRERFMTE0REM4QzhGMDBBRjY0QjMgLyogU2Nyb2xsaW5nVHJl
ZU5vZGUuY3BwICovLApAQCAtMzI3ODcsNiArMzI3OTIsNyBAQAogCQkJCTBGRDQxRTY4MjFGODBD
MEUwMDBDMDA2RCAvKiBTY3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZFQTNFODgxOTFCM0JENzAwMEYxQjU1IC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQzRBNDE1MTYyOURGNUEwMEMzRUI2
RSAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkQ5NzVENTI0NUNDQjQ3MDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGRDQ1QUEyNDNDMzAyNzAwMEQ0QkVBIC8qIFNjcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTU4MDY0
MTkzMjdBNjIwMERFMzJFQiAvKiBTY3JvbGxpbmdUcmVlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUFBRERFNDE0REM4QzhGMDBBRjY0QjMgLyogU2Nyb2xsaW5nVHJlZU5vZGUuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcAppbmRleCAxMDRjMWNjODk1YmY1YjhkODc4ZGFiZDBhNjBiY2I3OWU1ZGExNjhlLi45YmEx
OGEzMzUzMzdiMGQ4NTY2ZWQ0OTk4MjU2ZDQyMTUwOTlhY2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtNTYsNyArNTYsMTEgQEAg
c3RydWN0IENvbW1pdFRyZWVTdGF0ZSB7CiAgICAgT3JwaGFuU2Nyb2xsaW5nTm9kZU1hcCBvcnBo
YW5Ob2RlczsKIH07CiAKLVNjcm9sbGluZ1RyZWU6OlNjcm9sbGluZ1RyZWUoKSA9IGRlZmF1bHQ7
CitTY3JvbGxpbmdUcmVlOjpTY3JvbGxpbmdUcmVlKCkKKyAgICA6IG1fZ2VzdHVyZVN0YXRlKCp0
aGlzKQoreworfQorCiBTY3JvbGxpbmdUcmVlOjp+U2Nyb2xsaW5nVHJlZSgpID0gZGVmYXVsdDsK
IAogYm9vbCBTY3JvbGxpbmdUcmVlOjpzaG91bGRIYW5kbGVXaGVlbEV2ZW50U3luY2hyb25vdXNs
eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCkBAIC0xMDYsMTEgKzExMCwy
MCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgdwogICAgICAgICAgICAgcmV0dXJuIFNjcm9sbGlu
Z0V2ZW50UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKICAgICAgICAgfQogCisgICAgICAgIGlm
IChtX2dlc3R1cmVTdGF0ZS5oYW5kbGVHZXN0dXJlQ2FuY2VsKHdoZWVsRXZlbnQpKQorICAgICAg
ICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudDsKKworICAg
ICAgICBtX2dlc3R1cmVTdGF0ZS5yZWNlaXZlZFdoZWVsRXZlbnQod2hlZWxFdmVudCk7CisKICAg
ICAgICAgaWYgKGF1dG8gbGF0Y2hlZE5vZGVJRCA9IG1fbGF0Y2hpbmdDb250cm9sbGVyLmxhdGNo
ZWROb2RlRm9yRXZlbnQod2hlZWxFdmVudCkpIHsKICAgICAgICAgICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxMYXRjaGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2
ZW50OiBoYXMgbGF0Y2hlZCBub2RlICIgPDwgbGF0Y2hlZE5vZGVJRCk7Ci0gICAgICAgICAgICBh
dXRvKiBub2RlID0gbm9kZUZvcklEKGxhdGNoZWROb2RlSUQudmFsdWUoKSk7Ci0gICAgICAgICAg
ICBpZiAoaXM8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KG5vZGUpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4oKm5vZGUpLmhh
bmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CisgICAgICAgICAgICBhdXRvKiBub2RlID0gbm9k
ZUZvcklEKCpsYXRjaGVkTm9kZUlEKTsKKyAgICAgICAgICAgIGlmIChpczxTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZT4obm9kZSkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGRv
d25jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPigqbm9kZSkuaGFuZGxlV2hlZWxFdmVu
dCh3aGVlbEV2ZW50KTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IFNjcm9sbGluZ0V2
ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudCkKKyAgICAgICAgICAgICAgICAgICAgbV9nZXN0dXJl
U3RhdGUubm9kZURpZEhhbmRsZUV2ZW50KCpsYXRjaGVkTm9kZUlELCB3aGVlbEV2ZW50KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICBGbG9hdFBvaW50IHBvc2l0aW9uID0gd2hlZWxFdmVudC5wb3NpdGlv
bigpOwpAQCAtMTI0LDggKzEzNywxMCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdU
cmVlOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgdwogICAgICAg
ICAgICAgICAgIGF1dG8mIHNjcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZT4oKm5vZGUpOwogICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gc2Nyb2xs
aW5nTm9kZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwogCi0gICAgICAgICAgICAgICAg
aWYgKHJlc3VsdCA9PSBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQpCi0gICAg
ICAgICAgICAgICAgICAgIG1fbGF0Y2hpbmdDb250cm9sbGVyLm5vZGVEaWRIYW5kbGVFdmVudCh3
aGVlbEV2ZW50LCBzY3JvbGxpbmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpKTsKKyAgICAgICAgICAg
ICAgICBpZiAocmVzdWx0ID09IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudCkg
eworICAgICAgICAgICAgICAgICAgICBtX2xhdGNoaW5nQ29udHJvbGxlci5ub2RlRGlkSGFuZGxl
RXZlbnQoc2Nyb2xsaW5nTm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgd2hlZWxFdmVudCk7CisgICAg
ICAgICAgICAgICAgICAgIG1fZ2VzdHVyZVN0YXRlLm5vZGVEaWRIYW5kbGVFdmVudChzY3JvbGxp
bmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpLCB3aGVlbEV2ZW50KTsKKyAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpE
aWROb3RIYW5kbGVFdmVudCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCA4NjA5
N2QzNDE2Yjg1M2VjMTMxYTVkZjViYjQ5M2JkMjBjZmFkYTQ4Li44NWZhZDRmMWE3ZWI4NzkwM2Iy
YzU4N2MwNWFhYWMyMjI1ZTA3ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUmVnaW9uLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRv
clR5cGVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oIgogI2luY2x1
ZGUgIlNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXaGVlbEV2
ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTIzLDYgKzEy
NCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZlcldoZWVsRXZlbnRUZXN0Q29t
cGxldGlvbkZvclJlYXNvbihXaGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRl
bnRpZmllciwgV2hlZWxFdmVudFRlc3RNb25pdG9yOjpEZWZlclJlYXNvbikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHJlbW92ZVdoZWVsRXZlbnRUZXN0Q29tcGxldGlvbkRlZmVycmFsRm9yUmVhc29u
KFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyLCBXaGVlbEV2
ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uKSB7IH0KKyNlbHNlCisgICAgdm9pZCBoYW5kbGVX
aGVlbEV2ZW50UGhhc2UoU2Nyb2xsaW5nTm9kZUlELCBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSkg
eyB9CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjAxLDYgKzIwNCw4IEBAIHBy
aXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJlZU5vZGVNYXAgbV9ub2RlTWFwOwogCiAgICAgU2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlciBtX2xhdGNoaW5nQ29udHJvbGxlcjsKKyAgICBTY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlIG1fZ2VzdHVyZVN0YXRlOworCiAgICAgUmVsYXRlZE5vZGVz
TWFwIG1fb3ZlcmZsb3dSZWxhdGVkTm9kZXNNYXA7CiAKICAgICBIYXNoU2V0PFJlZjxTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+PiBtX2FjdGl2ZU92ZXJmbG93U2Nyb2xsUHJv
eHlOb2RlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY0YjdiZTliMzU2ZTVh
MmJiZGQ3MDdiNjEwNjZhMTNmM2Q4Zjg2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwCkBAIC0wLDAg
KzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNj
cm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCIKKworI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcp
CisKKyNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCisKK1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSkKKyAgICA6IG1fc2Nyb2xsaW5nVHJlZShz
Y3JvbGxpbmdUcmVlKQoreworfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OnJl
Y2VpdmVkV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQoreworICAg
IGlmIChldmVudC5pc0dlc3R1cmVTdGFydCgpKSB7CisgICAgICAgIGNsZWFyQWxsTm9kZXMoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKworYm9vbCBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlOjpoYW5kbGVHZXN0dXJlQ2FuY2VsKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbnQp
Cit7CisgICAgaWYgKGV2ZW50LmlzR2VzdHVyZUNhbmNlbCgpKSB7CisgICAgICAgIGlmIChtX21h
eUJlZ2luTm9kZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZl
bnRQaGFzZSgqbV9tYXlCZWdpbk5vZGVJRCwgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxs
ZWQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNl
OworfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6Om5vZGVEaWRIYW5kbGVFdmVu
dChTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50
KQoreworICAgIHN3aXRjaCAoZXZlbnQucGhhc2UoKSkgeworICAgIGNhc2UgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VNYXlCZWdpbjoKKyAgICAgICAgbV9tYXlCZWdpbk5vZGVJRCA9IG5vZGVJRDsK
KyAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFzZShub2RlSUQsIGV2
ZW50LnBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQ2FuY2VsbGVkOgorICAgICAgICAvLyBoYW5kbGVHZXN0dXJlQ2FuY2VsKCkgc2hvdWxk
IGhhdmUgYmVlbiBjYWxsZWQgZmlyc3QuCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW46Cisg
ICAgICAgIG1fYWN0aXZlTm9kZUlEID0gbm9kZUlEOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUu
aGFuZGxlV2hlZWxFdmVudFBoYXNlKG5vZGVJRCwgZXZlbnQucGhhc2UoKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDoKKyAgICAgICAgaWYg
KG1fYWN0aXZlTm9kZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVs
RXZlbnRQaGFzZSgqbV9hY3RpdmVOb2RlSUQsIGV2ZW50LnBoYXNlKCkpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKKyAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlU3RhdGlvbmFyeToKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlTm9uZToKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc3dpdGNoIChldmVu
dC5tb21lbnR1bVBoYXNlKCkpIHsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5
QmVnaW46CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VCZWdhbjoKKyAgICAgICAgbV9hY3RpdmVOb2RlSUQgPSBub2RlSUQ7
CisgICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uobm9kZUlELCBl
dmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlRW5kZWQ6CisgICAgICAgIGlmIChtX2FjdGl2ZU5vZGVJRCkKKyAgICAg
ICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2UoKm1fYWN0aXZlTm9k
ZUlELCBldmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlU3RhdGlvbmFyeToKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZToK
KyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGU6OmNsZWFyQWxsTm9kZXMoKQoreworICAgIG1fbWF5QmVnaW5Ob2RlSUQgPSAwOworICAgIG1f
YWN0aXZlTm9kZUlEID0gMDsKK30KKworfTsKKworI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlR2VzdHVyZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZiMDJkNDBhOWI0YzQ1NmZjOTM2
YzJiYmI0ZTY3ZDgxZjYwZWQwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5H
KQorCisjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNpbmNsdWRlIDx3dGYvTWFya2FibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CitjbGFzcyBTY3JvbGxpbmdUcmVlOworCisvLyBUaGlzIGNs
YXNzIHRyYWNrcyBzdGF0ZSByZWxhdGVkIHRvIE1heUJlZ2luLCBCZWdpbiwgRW5kZWQgYW5kIENh
bmNlbGVkIHdoZWVsIGV2ZW50cywgd2hpY2gKKy8vIHNob3VsZCBwcm9wYWdhdGUgdG8gdGhlIG1h
aW4gdGhyZWFkIGluIG9yZGVyIHRvIHVwZGF0ZSBvdmVybGF5IHNjcm9sbGJhcnMuCitjbGFzcyBT
Y3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlIHsKK3B1YmxpYzoKKyAgICBTY3JvbGxpbmdUcmVlR2Vz
dHVyZVN0YXRlKFNjcm9sbGluZ1RyZWUmKTsKKworICAgIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOworCisgICAgYm9vbCBoYW5kbGVHZXN0dXJlQ2Fu
Y2VsKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOworCisgICAgdm9pZCBub2RlRGlkSGFuZGxl
RXZlbnQoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKKyAgICAK
K3ByaXZhdGU6CisgICAgdm9pZCBjbGVhckFsbE5vZGVzKCk7CisKKyAgICBTY3JvbGxpbmdUcmVl
JiBtX3Njcm9sbGluZ1RyZWU7CisgICAgTWFya2FibGU8U2Nyb2xsaW5nTm9kZUlELCBJbnRlZ3Jh
bE1hcmthYmxlVHJhaXRzPFNjcm9sbGluZ05vZGVJRCwgMD4+IG1fbWF5QmVnaW5Ob2RlSUQ7Cisg
ICAgTWFya2FibGU8U2Nyb2xsaW5nTm9kZUlELCBJbnRlZ3JhbE1hcmthYmxlVHJhaXRzPFNjcm9s
bGluZ05vZGVJRCwgMD4+IG1fYWN0aXZlTm9kZUlEOworfTsKKworfQorCisjZW5kaWYgLy8gRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAKaW5k
ZXggZTZiOWE5YWQxYWIyOGY5ODZjOWZmY2Y3ZGI3NmNlNDFjMzI3N2U3NS4uMDkwYzIwZGZlZTZi
NTk2Njg2MmU0MDZjMjg3OTE0OWJjZGRjZTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJv
bGxlci5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgT3B0aW9uYWw8U2Nyb2xsaW5nTm9kZUlEPiBTY3Jv
bGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyOjpsYXRjaGVkTm9kZUlEKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9sYXRjaGVkTm9kZUlEOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0Nv
bnRyb2xsZXI6Om5vZGVEaWRIYW5kbGVFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCBzY3JvbGxpbmdOb2RlSUQpCit2b2lkIFNjcm9sbGlu
Z1RyZWVMYXRjaGluZ0NvbnRyb2xsZXI6Om5vZGVEaWRIYW5kbGVFdmVudChTY3JvbGxpbmdOb2Rl
SUQgc2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQp
CiB7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9sYXRjaGVkTm9kZU11dGV4KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5n
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZUxhdGNoaW5nQ29udHJvbGxlci5oCmluZGV4IDBiNDZhN2EwOWNlOTRkZGM5NWExNjJiNTk3Y2Ex
NzlkYzdlYjdlODcuLmM4NDA2ZjE2OTQzNWIyZWIwNDBlZDkwMmFiMTA5ODU1OWZmNjdmNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRj
aGluZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDYgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50OwotY2xhc3MgU2Nyb2xsaW5n
VHJlZTsKIAogY2xhc3MgU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlciB7CiBwdWJsaWM6
CkBAIC00NCw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogICAgIE9wdGlvbmFsPFNjcm9sbGluZ05vZGVJ
RD4gbGF0Y2hlZE5vZGVGb3JFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsK
LSAgICB2b2lkIG5vZGVEaWRIYW5kbGVFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBT
Y3JvbGxpbmdOb2RlSUQpOworICAgIHZvaWQgbm9kZURpZEhhbmRsZUV2ZW50KFNjcm9sbGluZ05v
ZGVJRCwgY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKICAgICBPcHRpb25hbDxTY3JvbGxp
bmdOb2RlSUQ+IGxhdGNoZWROb2RlSUQoKSBjb25zdDsKIApAQCAtNTIsNyArNTEsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjbGVhckxhdGNoZWROb2RlKCk7CiAKIHByaXZhdGU6Ci0KICAgICBtdXRh
YmxlIExvY2sgbV9sYXRjaGVkTm9kZU11dGV4OwogICAgIE1hcmthYmxlPFNjcm9sbGluZ05vZGVJ
RCwgSW50ZWdyYWxNYXJrYWJsZVRyYWl0czxTY3JvbGxpbmdOb2RlSUQsIDA+PiBtX2xhdGNoZWRO
b2RlSUQ7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RMYXRjaGVkTm9kZUludGVyYXRpb25UaW1l
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDVmMDAwYmQ3YTYxM2M4YjE4ZWYxOWU3ZmYy
OGUzMGY2MjRlYzZmYTkuLjYyZjZmZjQ1NDE4MTRlMjAxYzJjZGVmZGFhZjAxOWIxNWFkMzc4ZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTEyOSwxMSArMTI5LDE1IEBAIGJvb2wgU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmlzTGF0Y2hlZE5vZGUoKSBjb25zdAogICAgIHJldHVy
biBzY3JvbGxpbmdUcmVlKCkubGF0Y2hlZE5vZGVJRCgpID09IHNjcm9sbGluZ05vZGVJRCgpOwog
fQogCi1ib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjYW5TY3JvbGxXaXRoV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpIGNvbnN0Citib29sIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkgY29uc3QKIHsKICAgICBpZiAoIWNhbkhhdmVTY3Jv
bGxiYXJzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE1heUJlZ2luIGlzIHVz
ZWQgdG8gZmxhc2ggc2Nyb2xsYmFyczsgaWYgdGhpcyBub2RlIGlzIHNjcm9sbGFibGUsIGl0IGNh
biBoYW5kbGUgaXQuCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU1heUJlZ2luKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIC8vIFdlIGFs
d2F5cyBydWJiZXItYmFuZCB0aGUgbGF0Y2hlZCBub2RlLCBvciB0aGUgcm9vdCBub2RlLgogICAg
IGlmIChpc0xhdGNoZWROb2RlKCkgfHwgaXNSb290Tm9kZSgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDE2NGI0OWE1ZGM5MWJjYmFlZmIzYzYyZTkwYzY1
YTdhYWY2YWFmODAuLjhhZDk5NjJjMDQ2NjhlMzU1MDQ1MWYwZmE0NmZkNjczMzE3ZWE0MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
b21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJy
aWRlOwogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0
YXRlTm9kZSYpIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBib29sIGNhblNjcm9sbFdpdGhXaGVl
bEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0Owog
ICAgIHZpcnR1YWwgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmKTsKIAogICAgIEZsb2F0UG9pbnQgY3VycmVudFNjcm9sbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb247IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KaW5kZXggN2ZiYjk0NDVkOGUyOTIy
MDliMjllZjMxMDY4MWUyNDYyM2FhMjllNS4uZmY4MmFmZmFmMmQ5MDg1N2Y1YWQ0YmE1NGFiMmFm
NTcxMGVmZTE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMu
bW0KQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbgogCiBTY3JvbGxp
bmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKLSAgICBp
ZiAoIWNhblNjcm9sbFdpdGhXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQorICAgIGlmICghY2FuSGFu
ZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKIAogICAgIGJvb2wgaGFuZGxlZCA9IG1fZGVsZWdh
dGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKQEAgLTEyNSw4ICsxMjUsNiBAQCBTY3Jv
bGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5k
bGVXaGVlbEV2ZW50KGNvbnN0CiAgICAgaWYgKG1fZGVsZWdhdGUuYWN0aXZlU2Nyb2xsU25hcElu
ZGV4RGlkQ2hhbmdlKCkpCiAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRBY3RpdmVTY3JvbGxT
bmFwSW5kaWNlcyhzY3JvbGxpbmdOb2RlSUQoKSwgbV9kZWxlZ2F0ZS5hY3RpdmVTY3JvbGxTbmFw
SW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCksIG1fZGVsZWdhdGUuYWN0
aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6OlZlcnRpY2FsKSk7CiAj
ZW5kaWYKLSAgICBzY3JvbGxpbmdUcmVlKCkuaGFuZGxlV2hlZWxFdmVudFBoYXNlKHNjcm9sbGlu
Z05vZGVJRCgpLCB3aGVlbEV2ZW50LnBoYXNlKCkpOwotICAgIAogICAgIHJldHVybiBoYW5kbGVk
ID8gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhhbmRsZUV2ZW50IDogU2Nyb2xsaW5nRXZlbnRS
ZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDdmY2FkMTM1MjdiOTM4OTlmNTFlOWEyMzdh
OGMzMGQ5MDlhMGNiNmYuLmIzZjVjNTUzMjcyMmIwYjIxNzQ2NGRlYjEwZDE3N2VkZDE1Njk1MWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCkBA
IC03NCwxMyArNzQsMTAgQEAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVudChjb24KICAgICAgICAgcmV0dXJu
IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpTZW5kVG9NYWluVGhyZWFkOwogI2VuZGlmCiAKLSAgICBp
ZiAoIWNhblNjcm9sbFdpdGhXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQorICAgIGlmICghY2FuSGFu
ZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKIAogICAgIGJvb2wgaGFuZGxlZCA9IG1fZGVsZWdh
dGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKLQotICAgIHNjcm9sbGluZ1RyZWUoKS5o
YW5kbGVXaGVlbEV2ZW50UGhhc2Uoc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQucGhhc2Uo
KSk7Ci0gICAgCiAgICAgcmV0dXJuIGhhbmRsZWQgPyBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlk
SGFuZGxlRXZlbnQgOiBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KaW5k
ZXggZDQ1Yzc4MGI0Mjc0MTlhNTg0MTQ0NmIxMzk2YmEyOTlmM2E0ZTA4NS4uZDkyNmY1ZTlmNmM3
ZTQxNTk3ZDVkYTZlNzdmNmQxNTkwOThjNzhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KQEAgLTEzMCw2ICsxMzAsMTEgQEAgYm9vbCBTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0
IFBsYXRmb3JtV2hlZWwKICAgICAgICAgZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JS
ZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVB
cmVhSWRlbnRpZmllcj4oc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbGluZ05vZGVJRCgpKSwgV2hlZWxF
dmVudFRlc3RNb25pdG9yOjpIYW5kbGluZ1doZWVsRXZlbnQpOwogI2VuZGlmCiAKKyAgICAvLyBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIGZpcmVzIHdoZW4gdHdvIGZpbmdlcnMgdG91
Y2ggdGhlIHRyYWNrcGFkLCBhbmQgaXMgdXNlZCB0byBmbGFzaCBvdmVybGF5IHNjcm9sbGJhcnMu
CisgICAgLy8gV2Uga25vdyB3ZSdyZSBzY3JvbGxhYmxlIGF0IHRoaXMgcG9pbnQsIHNvIGhhbmRs
ZSB0aGUgZXZlbnQuCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU1heUJlZ2luKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGF1dG8gaGFu
ZGxlZCA9IG1fc2Nyb2xsQ29udHJvbGxlci5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwog
CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgfHwgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAppbmRleCA0Y2Fi
Zjg0OTEzNjY0NGMwNGQ2YTc0MDM5YjM0Y2QxY2U1MGUzZWM2Li5iOTA0NGI2ZjVkYjE1ZTU0YzQ0
M2NjZDFhMTkyMzBjZTFmNWUzYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaApAQCAtMTU1LDYgKzE1NSwxMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KEtJTkVUSUNfU0NST0xMSU5HKQogICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlKCkg
Y29uc3QgeyByZXR1cm4gbV9waGFzZTsgfQogICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1v
bWVudHVtUGhhc2UoKSBjb25zdCB7IHJldHVybiBtX21vbWVudHVtUGhhc2U7IH0KKworICAgIGJv
b2wgaXNHZXN0dXJlU3RhcnQoKSBjb25zdDsKKyAgICBib29sIGlzR2VzdHVyZUNhbmNlbCgpIGNv
bnN0OworCiAgICAgYm9vbCBpc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSBjb25zdDsKICAgICBi
b29sIGlzVHJhbnNpdGlvbmluZ1RvTW9tZW50dW1TY3JvbGwoKSBjb25zdDsKICAgICBGbG9hdFBv
aW50IHN3aXBlVmVsb2NpdHkoKSBjb25zdDsKQEAgLTIyMCw2ICsyMjQsMTcgQEAgaW5saW5lIGJv
b2wgUGxhdGZvcm1XaGVlbEV2ZW50Ojppc0VuZE9mTW9tZW50dW1TY3JvbGwoKSBjb25zdAogCiAj
aWYgRU5BQkxFKEtJTkVUSUNfU0NST0xMSU5HKQogCitpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVs
RXZlbnQ6OmlzR2VzdHVyZVN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luCisgICAgICAgIHx8IG1fcGhhc2UgPT0gUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbjsKK30KKworaW5saW5lIGJvb2wgUGxhdGZvcm1XaGVl
bEV2ZW50Ojppc0dlc3R1cmVDYW5jZWwoKSBjb25zdAoreworICAgIHJldHVybiBtX3BoYXNlID09
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkOworfQorCiBpbmxpbmUgYm9vbCBQbGF0
Zm9ybVdoZWVsRXZlbnQ6OmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCAmJiBtX21vbWVu
dHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggMjUxYWQ1ODg1
ZWQ1NzZlMDllMmQyODEzOTQyOTc4MzBiMGFhM2VmMy4uMGY0MWE3MmM0NWY3MDUyOTdhMjBhODgz
YmRmYmQ4Y2FjYjdmOWMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC0xMDMsNiArMTAzLDkgQEAgYm9vbCBTY3JvbGxDb250
cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxF
dmVudCkKICAgICBpZiAoIXByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCisgICAgaWYgKHdoZWVsRXZlbnQucGhh
c2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIHx8IHdoZWVsRXZlbnQucGhh
c2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUJlZ2FuKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8gZGVjaWRlIGlmIGEg
Z2VzdHVyZSBpcyBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGF0IHRoZSAiYmVnYW4iIHBoYXNlIGlz
IHZlcnkgZXJyb3ItcHJvbmUuCiAgICAgICAgIGF1dG8gZGlyZWN0aW9uID0gZGlyZWN0aW9uRnJv
bUV2ZW50KHdoZWVsRXZlbnQsIFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MWIxMTgwODcxMjgyY2IxZDQyMWU3YTI1MThlNDdjMjk0MTQ3MWYzZi4uODY4ZmNlODhlZmVkMzA3
ODQ0NzViMDQ1NTZkZjJlOWQ3YzFlZGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1
LTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92
ZXJmbG93IHNjcm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKwor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXkt
c2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292
ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Ny
b2xsYmFyLXJldmVhbC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbC4KKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwu
aHRtbDoKKwogMjAyMC0wNS0wNCAgR3VpbGxlbSBWaW5hbHMgIDxndmluYWxzQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWJHUFU6IFRleHR1cmVzIHNob3VsZCBiZSBhYmxlIHRvIGhhdmUgT1VUUFVU
X0FUVEFDSEVNRU5UIHwgU0FNUExFRCB1c2FnZSBmbGFncwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxi
YXItaG92ZXJlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMv
c2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOTdlNWNmNjk4YmQ3M2MxN2I0MTc1NjhhNjQ2Mzg3OTYwYzU0Y2Q2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNSBAQAorVGVzdCBob3ZlciBvdmVyIG92ZXJsYXkgc2Nyb2xsYmFyCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFibGVkCitIb3ZlcmluZyB2
ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIHNob3cgZXhwYW5kZWQgc2Nyb2xsYmFyCitQQVNTIFNj
cm9sbGJhciBzdGF0ZTogZW5hYmxlZCxleHBhbmRlZCx2aXNpYmxlX3RyYWNrLHZpc2libGVfdGh1
bWIKK1VuaG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0CitQQVNTIFRo
dW1iIGFuZCB0cmFjayBoaWRkZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9t
YWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5
LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM0OWVmZDA1NzlhMjdhYTc3Zjli
ZjJiNDE2MWI4NWUwNzRmZTA5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVy
ZWQuaHRtbApAQCAtMCwwICsxLDgyIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3lu
Y092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAg
ICAgICAgfQorICAgICAgICAuc2Nyb2xsZXIgeworICAgICAgICAgICAgbWFyZ2luOiAxMHB4Owor
ICAgICAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAg
ICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICAgICAgb3ZlcmZsb3c6
IGF1dG87CisgICAgICAgIH0KKyAgICAgICAgLmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICAgICAgaGVpZ2h0OiAyMDAlOworICAgICAgICB9CisgICAgPC9zdHls
ZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworCisgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCdUZXN0IGhvdmVyIG92ZXIgb3ZlcmxheSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGlmICgh
d2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignLnNjcm9sbGVyJyk7CisgICAgICAgICAgICBjb25zdCBzY3JvbGxlckJvdW5kcyA9IHNj
cm9sbGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgY29uc3QgeCA9IHNj
cm9sbGVyQm91bmRzLnJpZ2h0IC0gODsKKyAgICAgICAgICAgIGNvbnN0IHkgPSBzY3JvbGxlckJv
dW5kcy50b3AgKyAxMDsKKworICAgICAgICAgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKKyAg
ICAgICAgICAgIGRlYnVnKGludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVy
KSk7CisKKyAgICAgICAgICAgIGRlYnVnKCdIb3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxiYXIgc2hv
dWxkIHNob3cgZXhwYW5kZWQgc2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5tb3VzZVdoZWVsU2Nyb2xsQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53
YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpbnRl
cm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAgICAgICAgICAgICAg
bGV0IGV4cGFuZGVkID0gc3RhdGUuaW5kZXhPZignZXhwYW5kZWQnKSAhPSAtMTsKKyAgICAgICAg
ICAgICAgICBpZiAoZXhwYW5kZWQpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1Nj
cm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZXhwYW5k
ZWQ7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ1VuaG92ZXJpbmcgdmVy
dGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0Jyk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUoeCAtIDEwLCB5KTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMjAsIHkpOworICAgICAg
ICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7CisgICAgICAgICAg
ICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xs
ZXIpOworICAgICAgICAgICAgICAgIGxldCB0aHVtYkhpZGRlbiA9IHN0YXRlLmluZGV4T2YoJ3Zp
c2libGVfdGh1bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBsZXQgdHJhY2tIaWRkZW4gPSBz
dGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RyYWNrJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYg
KHRodW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCdUaHVtYiBhbmQgdHJhY2sgaGlkZGVuJyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRo
dW1iSGlkZGVuICYmIHRyYWNrSGlkZGVuOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBkb1Rlc3QoKTsKKyAgICAgICAgfSwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0i
c2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50cyI+PC9kaXY+CisgICAgPC9k
aXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Ny
b2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVjODZiZWFjYzZiNDhhNWI3
ZWM4OTk4MmIwODBkZmQxYjRkMWFmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJl
dmVhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBtYXliZWdpbiBhbmQgY2Fu
Y2VsbGVkIG9uIG92ZXJmbG93CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0
aWFsIHN0YXRlCitlbmFibGVkCitNYXlCZWdpbiBzaG91bGQgc2hvdyB0aGUgc2Nyb2xsYmFyCitQ
QVNTIFNjcm9sbGJhciBzdGF0ZTogZW5hYmxlZCx2aXNpYmxlX3RodW1iCitDYW5jZWxsZWQgc2hv
dWxkIGhpZGUgdGhlIHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1v
dmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVkMzE5MGM5ZGM3MWRkNjA0MzFkNGVjOWU0YjA0Y2IyNmYxMmIyZGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9v
dmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbApAQCAtMCwwICsxLDgxIEBACis8
IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2Nr
U2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7Cisg
ICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAgfQorICAgICAgICAuc2Nyb2xsZXIg
eworICAgICAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICAgICAgd2lkdGg6IDIwMHB4Owor
ICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgIH0KKyAgICAgICAg
LmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgaGVpZ2h0
OiAyMDAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisg
ICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIAorICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXRVc2Vz
T3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0
KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3QgbWF5YmVnaW4gYW5k
IGNhbmNlbGxlZCBvbiBvdmVyZmxvdycpOworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBz
Y3JvbGxlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAgICAgICAg
ICAgY29uc3Qgc2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICAgICAgICAgIGNvbnN0IHggPSBzY3JvbGxlckJvdW5kcy5sZWZ0ICsgMTA7CisgICAg
ICAgICAgICBjb25zdCB5ID0gc2Nyb2xsZXJCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAg
IGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVy
dGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBkZWJ1ZygnTWF5
QmVnaW4gc2hvdWxkIHNob3cgdGhlIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIubW91c2VXaGVlbE1heUJlZ2luQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUg
PSBpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAgICAgICAg
ICAgICAgbGV0IHZpc2libGUgPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgIT0gLTE7
CisgICAgICAgICAgICAgICAgaWYgKHZpc2libGUpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoJ1Njcm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdmlzaWJsZTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBkZWJ1ZygnQ2FuY2Vs
bGVkIHNob3VsZCBoaWRlIHRoZSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLm1vdXNlV2hlZWxDYW5jZWxBdCh4LCB5KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0g
aW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAg
ICAgIGxldCBoaWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7Cisg
ICAgICAgICAgICAgICAgaWYgKGhpZGRlbikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnU2Nyb2xsYmFyIHN0YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBo
aWRkZW47CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+
IHsKKyAgICAgICAgICAgIGRvVGVzdCgpOworICAgICAgICB9LCBmYWxzZSk7CisgICAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJzY3JvbGxlciI+CisgICAgICAg
IDxkaXYgY2xhc3M9ImNvbnRlbnRzIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJh
ci1yZXZlYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJz
L292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCmluZGV4IGE2ZWVlMWIxNmMzOTdiYWVmMGQ3
Y2JmOTJjNTUwNTdhZjk3NThhNjYuLjg4ZmI0YjAwYzUzMmQ1ZDEyYjgxZjQ5NTQwOWQ1NzM0ZmRi
NjI5NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxi
YXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCkBA
IC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
aW50ZXJuYWw6dXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJzPWZhbHNl
IGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KIDxodG1s
PgogPGhlYWQ+CiAgICAgPHN0eWxlPgpAQCAtMTIsMTMgKzEyLDE2IEBACiAgICAgPHNjcmlwdD4K
ICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAgICAgICAgIAotICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKyAgICAgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3Jv
bGxiYXJzKHRydWUpOwogCiAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQn
KTsKLSAgICAgICAgICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGlmICgh
d2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAg
ICAgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKICAgICAgICAgICAgIGRlYnVnKGludGVybmFs
cy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398423</attachid>
            <date>2020-05-04 15:08:34 -0700</date>
            <delta_ts>2020-05-04 15:50:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210692-20200504150833.patch</filename>
            <type>text/plain</type>
            <size>41915</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA1MmRjMjc2MDViNGIx
OTY2NzZjMjM1MTUxZjJiOTAyOTgwYmY1MS4uOWJkMWNjNzU1MjQxNDk0MTJmY2I4MWViYTVmNDc2
Y2IwNDgxNmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBP
dmVybGF5IHNjcm9sbGFyIGludGVyYWN0aW9uIGhhcyBhIGZldyBiZWhhdmlvcnMgdGhhdCBhcmUg
bWVkaWF0ZWQgYnkgU2Nyb2xsQW5pbWF0b3JNYWMuIFRoZXNlCisgICAgICAgIGFyZSBhIHRyYWNr
cGFkIHR3by1maW5nZXIgdGFwLCB3aGljaCBzZW5kcyBhICJNYXlCZWdpbiIgd2hlZWwgZXZlbnQg
KHdoaWNoIGNhbiBiZSBmb2xsb3dlZCBieQorICAgICAgICBhICJDYW5jZWxsZWQiIG9uIGZpbmdl
cnMgdXAsIGlmIHRoZXkgZGlkbid0IG1vdmUpLCBhbmQgaG92ZXJpbmcgdGhlIHNjcm9sbGJhciB3
aGVuIHZpc2libGUsIHdoaWNoCisgICAgICAgIGNhdXNlcyBpdCB0byBleHBhbmQgKHVuaG92ZXJp
bmcgY2F1c2VzIGl0IHRvIGZhZGUgb3V0KS4KKyAgICAgICAgCisgICAgICAgIFRvIHRyYWNrIHRo
ZXNlIGdlc3R1cmVzIG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkLCBnaXZlIFNjcm9sbGluZ1RyZWUg
YSBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLgorCisgICAgICAgIEZsYXNoaW5nIHRoZSBzY3Jv
bGxiYXJzIG9uICJNYXlCZWdpbiIgaXMgZHJpdmVuIGJ5IGRpZEJlZ2luU2Nyb2xsR2VzdHVyZSgp
L2RpZEVuZFNjcm9sbEdlc3R1cmUoKS4KKyAgICAgICAgVGhpcyByZWxpZXMgb24gc2VuZGluZyB0
aGVzZSBmb3IgdGhlIGNvcnJlY3Qgc2Nyb2xsYWJsZSBhcmVhLCBhbmQgbWF0Y2hpbmcgdGhlIGJl
Z2luL2NhbmNlbCwKKyAgICAgICAgc28gdXNlIHRoZSBub3JtYWwgc2Nyb2xsaW5nIHRyZWUgZXZl
bnQgaGFuZGxpbmcgY29kZSBwYXRoIGZvciAiTWF5QmVnaW4iLCBhbmQgYWx3YXlzIHNlbmQKKyAg
ICAgICAgIkNhbmNlbGxlZCIgb24gdGhlIG5vZGUgdGhhdCByZWNlaXZlZCAiTWF5QmVnaW4uIERv
IHRoZSBzYW1lIGZvciAiQmVnYW4iIGFuZCAiRW5kZWQiLgorICAgICAgICAKKyAgICAgICAgU2Ny
b2xsYmFycyBleHBhbmRpbmcgb24gaG92ZXIgaXMgY29udHJvbGxlZCBieSB0aGVzZSBmdW5jdGlv
bnMgb24gU2Nyb2xsQW5pbWF0b3JNYWM6CisgICAgICAgICAgICB2b2lkIG1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCk7CisgICAgICAgICAgICB2b2lkIG1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsK
KyAgICAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKKyAgICAgICAgICAg
IHZvaWQgbW91c2VFbnRlcmVkU2Nyb2xsYmFyKFNjcm9sbGJhciopIGNvbnN0OworICAgICAgICAg
ICAgdm9pZCBtb3VzZUV4aXRlZFNjcm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdDsKKworICAgICAg
ICBUaGlzIG1vc3RseSAod2Via2l0Lm9yZy9iLzIxMTM0Nykgd29ya3Mgbm93IHRoYXQgdGhlIG1h
eUJlZ2luL0NhbmNlbGVkIHN0YXRlIGlzIHVwZGF0ZWQgY29ycmVjdGx5LAorICAgICAgICBhbmQg
aXMgdGVzdGVkIGJ5IGEgbmV3IHRlc3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWU6OlNjcm9sbGluZ1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
VHJlZUdlc3R1cmVTdGF0ZTo6cmVjZWl2ZWRXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURpZEhhbmRsZUV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmNsZWFyQWxs
Tm9kZXMpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZUxhdGNoaW5nQ29udHJvbGxlci5oLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdoZWVs
RXZlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OmNhblNjcm9sbFdpdGhXaGVlbEV2ZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6aGFu
ZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVTdGFydCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNhbmNlbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9s
bGJhclN0YXRlKToKKwogMjAyMC0wNS0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWFwaS5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDM5OWNkYjgwOTk5MjA5ZTcwMWU5OWIxYTJiMzMwY2NhYmJkZmI4MWEuLjFhMmE0NDdjMzdhMDY1
YTIzMjFjODQ1OGE1OWM4YmYxYjJkN2I0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNzQyLDYgKzE3
NDIsNyBAQCBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUaHJlYWQuY3BwCiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlLmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lSG9z
dGluZ05vZGUuY3BwCiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcAorcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAKIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwCiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjFjYjVmYTE1MmJlMTRiOTUwYjliNDgw
YjM0MDRhZGMxMzcyMjE4Mi4uNzViNTFmNTJmN2I1N2UzNGYzYTY4NjAzNDI0ODg4YjRiZjY1MmQ3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMzQ4LDYgKzM0OCw3IEBACiAJCTBGRDQxRTY4MjFGODBDMEUwMDBDMDA2RCAvKiBT
Y3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENDFFNjYyMUY4MDI4MjAwMEMwMDZEIC8qIFNjcm9sbGlu
Z1RyZWVGcmFtZUhvc3RpbmdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZENDFFNjkyMUY4MEQxNDAwMEMwMDZEIC8qIFNjcm9sbGluZ1N0
YXRlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZENDFFNjUyMUY4MDI2MTAwMEMwMDZEIC8qIFNjcm9sbGluZ1N0YXRlRnJh
bWVIb3N0aW5nTm9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBGRDcyMzgyMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgwMEVDOEJEOTMw
MENBNURENyAvKiBGbG9hdFF1YWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRkQ5NzVENTI0NUNDQjQ3MDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZEOTc1RDIyNDVDQkRBRjAwQzQyMjk5IC8qIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
RkRBN0MxNzE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQTdDMTExODgzMjJFQjAwQzk1NEI1IC8qIEpT
VG91Y2guaCAqLzsgfTsKIAkJMEZEQTdDMTkxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQTdD
MTMxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVudC5oICovOyB9OwogCQkwRkRBN0MxQjE4
ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGREE3QzE1MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNo
TGlzdC5oICovOyB9OwpAQCAtNTkzMSw2ICs1OTMyLDggQEAKIAkJMEZENzIzODAwRUM4QkQ5MzAw
Q0E1REQ3IC8qIEZsb2F0UXVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
bG9hdFF1YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZENzIzODEwRUM4QkQ5
MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBGbG9hdFF1YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3
QzIxRDIzQ0U0MUUzMDA5NkQxMDIgLyogUGxhdGZvcm1XaGVlbEV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBsYXRmb3JtV2hlZWxFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGRDk3NUQyMjQ1Q0JEQUYwMEM0MjI5OSAvKiBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTc1RDQyNDVDQkRENzAwQzQyMjk5IC8qIFNjcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGREE3QzEw
MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTVG91Y2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkRBN0MxMTE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1RvdWNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
REE3QzEyMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUb3VjaEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NjM0LDYgKzE3NjM3LDggQEAKIAkJCQkwRkQ0MUU2NjIxRjgwMjgy
MDAwQzAwNkQgLyogU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaCAqLywKIAkJCQkwRkVB
M0U4NTE5MUIzQkQ3MDAwRjFCNTUgLyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5j
cHAgKi8sCiAJCQkJMEZFQTNFODYxOTFCM0JENzAwMEYxQjU1IC8qIFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUuaCAqLywKKwkJCQkwRkQ5NzVENDI0NUNCREQ3MDBDNDIyOTkgLyogU2Ny
b2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAgKi8sCisJCQkJMEZEOTc1RDIyNDVDQkRBRjAwQzQy
Mjk5IC8qIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCAqLywKIAkJCQkwRkZENDVBODI0M0JG
MjU3MDAwRDRCRUEgLyogU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAgKi8sCiAJ
CQkJMEZGRDQ1QTcyNDNCRjI1NzAwMEQ0QkVBIC8qIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRy
b2xsZXIuaCAqLywKIAkJCQkxQUFBRERFMTE0REM4QzhGMDBBRjY0QjMgLyogU2Nyb2xsaW5nVHJl
ZU5vZGUuY3BwICovLApAQCAtMzI3ODcsNiArMzI3OTIsNyBAQAogCQkJCTBGRDQxRTY4MjFGODBD
MEUwMDBDMDA2RCAvKiBTY3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZFQTNFODgxOTFCM0JENzAwMEYxQjU1IC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQzRBNDE1MTYyOURGNUEwMEMzRUI2
RSAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRkQ5NzVENTI0NUNDQjQ3MDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGRDQ1QUEyNDNDMzAyNzAwMEQ0QkVBIC8qIFNjcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRTU4MDY0
MTkzMjdBNjIwMERFMzJFQiAvKiBTY3JvbGxpbmdUcmVlTWFjLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUFBRERFNDE0REM4QzhGMDBBRjY0QjMgLyogU2Nyb2xsaW5nVHJlZU5vZGUuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmNwcAppbmRleCAxMDRjMWNjODk1YmY1YjhkODc4ZGFiZDBhNjBiY2I3OWU1ZGExNjhlLi45YmEx
OGEzMzUzMzdiMGQ4NTY2ZWQ0OTk4MjU2ZDQyMTUwOTlhY2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtNTYsNyArNTYsMTEgQEAg
c3RydWN0IENvbW1pdFRyZWVTdGF0ZSB7CiAgICAgT3JwaGFuU2Nyb2xsaW5nTm9kZU1hcCBvcnBo
YW5Ob2RlczsKIH07CiAKLVNjcm9sbGluZ1RyZWU6OlNjcm9sbGluZ1RyZWUoKSA9IGRlZmF1bHQ7
CitTY3JvbGxpbmdUcmVlOjpTY3JvbGxpbmdUcmVlKCkKKyAgICA6IG1fZ2VzdHVyZVN0YXRlKCp0
aGlzKQoreworfQorCiBTY3JvbGxpbmdUcmVlOjp+U2Nyb2xsaW5nVHJlZSgpID0gZGVmYXVsdDsK
IAogYm9vbCBTY3JvbGxpbmdUcmVlOjpzaG91bGRIYW5kbGVXaGVlbEV2ZW50U3luY2hyb25vdXNs
eShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCkBAIC0xMDYsMTEgKzExMCwy
MCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgdwogICAgICAgICAgICAgcmV0dXJuIFNjcm9sbGlu
Z0V2ZW50UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKICAgICAgICAgfQogCisgICAgICAgIGlm
IChtX2dlc3R1cmVTdGF0ZS5oYW5kbGVHZXN0dXJlQ2FuY2VsKHdoZWVsRXZlbnQpKQorICAgICAg
ICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudDsKKworICAg
ICAgICBtX2dlc3R1cmVTdGF0ZS5yZWNlaXZlZFdoZWVsRXZlbnQod2hlZWxFdmVudCk7CisKICAg
ICAgICAgaWYgKGF1dG8gbGF0Y2hlZE5vZGVJRCA9IG1fbGF0Y2hpbmdDb250cm9sbGVyLmxhdGNo
ZWROb2RlRm9yRXZlbnQod2hlZWxFdmVudCkpIHsKICAgICAgICAgICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxMYXRjaGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2
ZW50OiBoYXMgbGF0Y2hlZCBub2RlICIgPDwgbGF0Y2hlZE5vZGVJRCk7Ci0gICAgICAgICAgICBh
dXRvKiBub2RlID0gbm9kZUZvcklEKGxhdGNoZWROb2RlSUQudmFsdWUoKSk7Ci0gICAgICAgICAg
ICBpZiAoaXM8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KG5vZGUpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4oKm5vZGUpLmhh
bmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CisgICAgICAgICAgICBhdXRvKiBub2RlID0gbm9k
ZUZvcklEKCpsYXRjaGVkTm9kZUlEKTsKKyAgICAgICAgICAgIGlmIChpczxTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZT4obm9kZSkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGRv
d25jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPigqbm9kZSkuaGFuZGxlV2hlZWxFdmVu
dCh3aGVlbEV2ZW50KTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IFNjcm9sbGluZ0V2
ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudCkKKyAgICAgICAgICAgICAgICAgICAgbV9nZXN0dXJl
U3RhdGUubm9kZURpZEhhbmRsZUV2ZW50KCpsYXRjaGVkTm9kZUlELCB3aGVlbEV2ZW50KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICBGbG9hdFBvaW50IHBvc2l0aW9uID0gd2hlZWxFdmVudC5wb3NpdGlv
bigpOwpAQCAtMTI0LDggKzEzNywxMCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdU
cmVlOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgdwogICAgICAg
ICAgICAgICAgIGF1dG8mIHNjcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZT4oKm5vZGUpOwogICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gc2Nyb2xs
aW5nTm9kZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwogCi0gICAgICAgICAgICAgICAg
aWYgKHJlc3VsdCA9PSBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQpCi0gICAg
ICAgICAgICAgICAgICAgIG1fbGF0Y2hpbmdDb250cm9sbGVyLm5vZGVEaWRIYW5kbGVFdmVudCh3
aGVlbEV2ZW50LCBzY3JvbGxpbmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpKTsKKyAgICAgICAgICAg
ICAgICBpZiAocmVzdWx0ID09IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWRIYW5kbGVFdmVudCkg
eworICAgICAgICAgICAgICAgICAgICBtX2xhdGNoaW5nQ29udHJvbGxlci5ub2RlRGlkSGFuZGxl
RXZlbnQoc2Nyb2xsaW5nTm9kZS5zY3JvbGxpbmdOb2RlSUQoKSwgd2hlZWxFdmVudCk7CisgICAg
ICAgICAgICAgICAgICAgIG1fZ2VzdHVyZVN0YXRlLm5vZGVEaWRIYW5kbGVFdmVudChzY3JvbGxp
bmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpLCB3aGVlbEV2ZW50KTsKKyAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpE
aWROb3RIYW5kbGVFdmVudCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRleCA4NjA5
N2QzNDE2Yjg1M2VjMTMxYTVkZjViYjQ5M2JkMjBjZmFkYTQ4Li44NWZhZDRmMWE3ZWI4NzkwM2Iy
YzU4N2MwNWFhYWMyMjI1ZTA3ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUmVnaW9uLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRv
clR5cGVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oIgogI2luY2x1
ZGUgIlNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXaGVlbEV2
ZW50VGVzdE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTIzLDYgKzEy
NCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZlcldoZWVsRXZlbnRUZXN0Q29t
cGxldGlvbkZvclJlYXNvbihXaGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRl
bnRpZmllciwgV2hlZWxFdmVudFRlc3RNb25pdG9yOjpEZWZlclJlYXNvbikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHJlbW92ZVdoZWVsRXZlbnRUZXN0Q29tcGxldGlvbkRlZmVycmFsRm9yUmVhc29u
KFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyLCBXaGVlbEV2
ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uKSB7IH0KKyNlbHNlCisgICAgdm9pZCBoYW5kbGVX
aGVlbEV2ZW50UGhhc2UoU2Nyb2xsaW5nTm9kZUlELCBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSkg
eyB9CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjAxLDYgKzIwNCw4IEBAIHBy
aXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJlZU5vZGVNYXAgbV9ub2RlTWFwOwogCiAgICAgU2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlciBtX2xhdGNoaW5nQ29udHJvbGxlcjsKKyAgICBTY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlIG1fZ2VzdHVyZVN0YXRlOworCiAgICAgUmVsYXRlZE5vZGVz
TWFwIG1fb3ZlcmZsb3dSZWxhdGVkTm9kZXNNYXA7CiAKICAgICBIYXNoU2V0PFJlZjxTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+PiBtX2FjdGl2ZU92ZXJmbG93U2Nyb2xsUHJv
eHlOb2RlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY0ODk4MWRkODhhMDcx
MWUwMTliMzRmN2UxMWMzMjdlNmRjYmNkNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuY3BwCkBAIC0wLDAg
KzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNj
cm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCIKKworI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcp
CisKKyNpbmNsdWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCisKK1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSkKKyAgICA6IG1fc2Nyb2xsaW5nVHJlZShz
Y3JvbGxpbmdUcmVlKQoreworfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OnJl
Y2VpdmVkV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQoreworICAg
IGlmIChldmVudC5pc0dlc3R1cmVCZWdpbigpKSB7CisgICAgICAgIGNsZWFyQWxsTm9kZXMoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKworYm9vbCBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlOjpoYW5kbGVHZXN0dXJlQ2FuY2VsKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbnQp
Cit7CisgICAgaWYgKGV2ZW50LmlzR2VzdHVyZUNhbmNlbCgpKSB7CisgICAgICAgIGlmIChtX21h
eUJlZ2luTm9kZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZl
bnRQaGFzZSgqbV9tYXlCZWdpbk5vZGVJRCwgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxs
ZWQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNl
OworfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6Om5vZGVEaWRIYW5kbGVFdmVu
dChTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50
KQoreworICAgIHN3aXRjaCAoZXZlbnQucGhhc2UoKSkgeworICAgIGNhc2UgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VNYXlCZWdpbjoKKyAgICAgICAgbV9tYXlCZWdpbk5vZGVJRCA9IG5vZGVJRDsK
KyAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFzZShub2RlSUQsIGV2
ZW50LnBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQ2FuY2VsbGVkOgorICAgICAgICAvLyBoYW5kbGVHZXN0dXJlQ2FuY2VsKCkgc2hvdWxk
IGhhdmUgYmVlbiBjYWxsZWQgZmlyc3QuCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW46Cisg
ICAgICAgIG1fYWN0aXZlTm9kZUlEID0gbm9kZUlEOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUu
aGFuZGxlV2hlZWxFdmVudFBoYXNlKG5vZGVJRCwgZXZlbnQucGhhc2UoKSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDoKKyAgICAgICAgaWYg
KG1fYWN0aXZlTm9kZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVs
RXZlbnRQaGFzZSgqbV9hY3RpdmVOb2RlSUQsIGV2ZW50LnBoYXNlKCkpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKKyAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlU3RhdGlvbmFyeToKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlTm9uZToKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc3dpdGNoIChldmVu
dC5tb21lbnR1bVBoYXNlKCkpIHsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5
QmVnaW46CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VCZWdhbjoKKyAgICAgICAgbV9hY3RpdmVOb2RlSUQgPSBub2RlSUQ7
CisgICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uobm9kZUlELCBl
dmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlRW5kZWQ6CisgICAgICAgIGlmIChtX2FjdGl2ZU5vZGVJRCkKKyAgICAg
ICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2UoKm1fYWN0aXZlTm9k
ZUlELCBldmVudC5tb21lbnR1bVBoYXNlKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlU3RhdGlvbmFyeToKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZToK
KyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit2b2lkIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGU6OmNsZWFyQWxsTm9kZXMoKQoreworICAgIG1fbWF5QmVnaW5Ob2RlSUQgPSAwOworICAgIG1f
YWN0aXZlTm9kZUlEID0gMDsKK30KKworfTsKKworI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlR2VzdHVyZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZiMDJkNDBhOWI0YzQ1NmZjOTM2
YzJiYmI0ZTY3ZDgxZjYwZWQwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5H
KQorCisjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNpbmNsdWRlIDx3dGYvTWFya2FibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CitjbGFzcyBTY3JvbGxpbmdUcmVlOworCisvLyBUaGlzIGNs
YXNzIHRyYWNrcyBzdGF0ZSByZWxhdGVkIHRvIE1heUJlZ2luLCBCZWdpbiwgRW5kZWQgYW5kIENh
bmNlbGVkIHdoZWVsIGV2ZW50cywgd2hpY2gKKy8vIHNob3VsZCBwcm9wYWdhdGUgdG8gdGhlIG1h
aW4gdGhyZWFkIGluIG9yZGVyIHRvIHVwZGF0ZSBvdmVybGF5IHNjcm9sbGJhcnMuCitjbGFzcyBT
Y3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlIHsKK3B1YmxpYzoKKyAgICBTY3JvbGxpbmdUcmVlR2Vz
dHVyZVN0YXRlKFNjcm9sbGluZ1RyZWUmKTsKKworICAgIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOworCisgICAgYm9vbCBoYW5kbGVHZXN0dXJlQ2Fu
Y2VsKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOworCisgICAgdm9pZCBub2RlRGlkSGFuZGxl
RXZlbnQoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKKyAgICAK
K3ByaXZhdGU6CisgICAgdm9pZCBjbGVhckFsbE5vZGVzKCk7CisKKyAgICBTY3JvbGxpbmdUcmVl
JiBtX3Njcm9sbGluZ1RyZWU7CisgICAgTWFya2FibGU8U2Nyb2xsaW5nTm9kZUlELCBJbnRlZ3Jh
bE1hcmthYmxlVHJhaXRzPFNjcm9sbGluZ05vZGVJRCwgMD4+IG1fbWF5QmVnaW5Ob2RlSUQ7Cisg
ICAgTWFya2FibGU8U2Nyb2xsaW5nTm9kZUlELCBJbnRlZ3JhbE1hcmthYmxlVHJhaXRzPFNjcm9s
bGluZ05vZGVJRCwgMD4+IG1fYWN0aXZlTm9kZUlEOworfTsKKworfQorCisjZW5kaWYgLy8gRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAKaW5k
ZXggZTZiOWE5YWQxYWIyOGY5ODZjOWZmY2Y3ZGI3NmNlNDFjMzI3N2U3NS4uMDkwYzIwZGZlZTZi
NTk2Njg2MmU0MDZjMjg3OTE0OWJjZGRjZTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJv
bGxlci5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgT3B0aW9uYWw8U2Nyb2xsaW5nTm9kZUlEPiBTY3Jv
bGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyOjpsYXRjaGVkTm9kZUlEKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9sYXRjaGVkTm9kZUlEOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVMYXRjaGluZ0Nv
bnRyb2xsZXI6Om5vZGVEaWRIYW5kbGVFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCBzY3JvbGxpbmdOb2RlSUQpCit2b2lkIFNjcm9sbGlu
Z1RyZWVMYXRjaGluZ0NvbnRyb2xsZXI6Om5vZGVEaWRIYW5kbGVFdmVudChTY3JvbGxpbmdOb2Rl
SUQgc2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQp
CiB7CiAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9sYXRjaGVkTm9kZU11dGV4KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5n
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZUxhdGNoaW5nQ29udHJvbGxlci5oCmluZGV4IDBiNDZhN2EwOWNlOTRkZGM5NWExNjJiNTk3Y2Ex
NzlkYzdlYjdlODcuLmM4NDA2ZjE2OTQzNWIyZWIwNDBlZDkwMmFiMTA5ODU1OWZmNjdmNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRj
aGluZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDYgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50OwotY2xhc3MgU2Nyb2xsaW5n
VHJlZTsKIAogY2xhc3MgU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlciB7CiBwdWJsaWM6
CkBAIC00NCw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogICAgIE9wdGlvbmFsPFNjcm9sbGluZ05vZGVJ
RD4gbGF0Y2hlZE5vZGVGb3JFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsK
LSAgICB2b2lkIG5vZGVEaWRIYW5kbGVFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBT
Y3JvbGxpbmdOb2RlSUQpOworICAgIHZvaWQgbm9kZURpZEhhbmRsZUV2ZW50KFNjcm9sbGluZ05v
ZGVJRCwgY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKICAgICBPcHRpb25hbDxTY3JvbGxp
bmdOb2RlSUQ+IGxhdGNoZWROb2RlSUQoKSBjb25zdDsKIApAQCAtNTIsNyArNTEsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjbGVhckxhdGNoZWROb2RlKCk7CiAKIHByaXZhdGU6Ci0KICAgICBtdXRh
YmxlIExvY2sgbV9sYXRjaGVkTm9kZU11dGV4OwogICAgIE1hcmthYmxlPFNjcm9sbGluZ05vZGVJ
RCwgSW50ZWdyYWxNYXJrYWJsZVRyYWl0czxTY3JvbGxpbmdOb2RlSUQsIDA+PiBtX2xhdGNoZWRO
b2RlSUQ7CiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RMYXRjaGVkTm9kZUludGVyYXRpb25UaW1l
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDVmMDAwYmQ3YTYxM2M4YjE4ZWYxOWU3ZmYy
OGUzMGY2MjRlYzZmYTkuLjYyZjZmZjQ1NDE4MTRlMjAxYzJjZGVmZGFhZjAxOWIxNWFkMzc4ZGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTEyOSwxMSArMTI5LDE1IEBAIGJvb2wgU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmlzTGF0Y2hlZE5vZGUoKSBjb25zdAogICAgIHJldHVy
biBzY3JvbGxpbmdUcmVlKCkubGF0Y2hlZE5vZGVJRCgpID09IHNjcm9sbGluZ05vZGVJRCgpOwog
fQogCi1ib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjYW5TY3JvbGxXaXRoV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpIGNvbnN0Citib29sIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkgY29uc3QKIHsKICAgICBpZiAoIWNhbkhhdmVTY3Jv
bGxiYXJzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE1heUJlZ2luIGlzIHVz
ZWQgdG8gZmxhc2ggc2Nyb2xsYmFyczsgaWYgdGhpcyBub2RlIGlzIHNjcm9sbGFibGUsIGl0IGNh
biBoYW5kbGUgaXQuCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU1heUJlZ2luKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIC8vIFdlIGFs
d2F5cyBydWJiZXItYmFuZCB0aGUgbGF0Y2hlZCBub2RlLCBvciB0aGUgcm9vdCBub2RlLgogICAg
IGlmIChpc0xhdGNoZWROb2RlKCkgfHwgaXNSb290Tm9kZSgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDE2NGI0OWE1ZGM5MWJjYmFlZmIzYzYyZTkwYzY1
YTdhYWY2YWFmODAuLjhhZDk5NjJjMDQ2NjhlMzU1MDQ1MWYwZmE0NmZkNjczMzE3ZWE0MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
b21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJy
aWRlOwogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0
YXRlTm9kZSYpIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBib29sIGNhblNjcm9sbFdpdGhXaGVl
bEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBjYW5IYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGNvbnN0Owog
ICAgIHZpcnR1YWwgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmKTsKIAogICAgIEZsb2F0UG9pbnQgY3VycmVudFNjcm9sbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50U2Nyb2xsUG9zaXRpb247IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KaW5kZXggN2ZiYjk0NDVkOGUyOTIy
MDliMjllZjMxMDY4MWUyNDYyM2FhMjllNS4uZmY4MmFmZmFmMmQ5MDg1N2Y1YWQ0YmE1NGFiMmFm
NTcxMGVmZTE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMu
bW0KQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbgogCiBTY3JvbGxp
bmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVX
aGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKLSAgICBp
ZiAoIWNhblNjcm9sbFdpdGhXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQorICAgIGlmICghY2FuSGFu
ZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKIAogICAgIGJvb2wgaGFuZGxlZCA9IG1fZGVsZWdh
dGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKQEAgLTEyNSw4ICsxMjUsNiBAQCBTY3Jv
bGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5k
bGVXaGVlbEV2ZW50KGNvbnN0CiAgICAgaWYgKG1fZGVsZWdhdGUuYWN0aXZlU2Nyb2xsU25hcElu
ZGV4RGlkQ2hhbmdlKCkpCiAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5zZXRBY3RpdmVTY3JvbGxT
bmFwSW5kaWNlcyhzY3JvbGxpbmdOb2RlSUQoKSwgbV9kZWxlZ2F0ZS5hY3RpdmVTY3JvbGxTbmFw
SW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCksIG1fZGVsZWdhdGUuYWN0
aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6OlZlcnRpY2FsKSk7CiAj
ZW5kaWYKLSAgICBzY3JvbGxpbmdUcmVlKCkuaGFuZGxlV2hlZWxFdmVudFBoYXNlKHNjcm9sbGlu
Z05vZGVJRCgpLCB3aGVlbEV2ZW50LnBoYXNlKCkpOwotICAgIAogICAgIHJldHVybiBoYW5kbGVk
ID8gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhhbmRsZUV2ZW50IDogU2Nyb2xsaW5nRXZlbnRS
ZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDdmY2FkMTM1MjdiOTM4OTlmNTFlOWEyMzdh
OGMzMGQ5MDlhMGNiNmYuLmIzZjVjNTUzMjcyMmIwYjIxNzQ2NGRlYjEwZDE3N2VkZDE1Njk1MWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCkBA
IC03NCwxMyArNzQsMTAgQEAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVudChjb24KICAgICAgICAgcmV0dXJu
IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpTZW5kVG9NYWluVGhyZWFkOwogI2VuZGlmCiAKLSAgICBp
ZiAoIWNhblNjcm9sbFdpdGhXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQorICAgIGlmICghY2FuSGFu
ZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWROb3RIYW5kbGVFdmVudDsKIAogICAgIGJvb2wgaGFuZGxlZCA9IG1fZGVsZWdh
dGUuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKLQotICAgIHNjcm9sbGluZ1RyZWUoKS5o
YW5kbGVXaGVlbEV2ZW50UGhhc2Uoc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQucGhhc2Uo
KSk7Ci0gICAgCiAgICAgcmV0dXJuIGhhbmRsZWQgPyBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlk
SGFuZGxlRXZlbnQgOiBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KaW5k
ZXggZDQ1Yzc4MGI0Mjc0MTlhNTg0MTQ0NmIxMzk2YmEyOTlmM2E0ZTA4NS4uZDkyNmY1ZTlmNmM3
ZTQxNTk3ZDVkYTZlNzdmNmQxNTkwOThjNzhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KQEAgLTEzMCw2ICsxMzAsMTEgQEAgYm9vbCBTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0
IFBsYXRmb3JtV2hlZWwKICAgICAgICAgZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JS
ZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVB
cmVhSWRlbnRpZmllcj4oc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbGluZ05vZGVJRCgpKSwgV2hlZWxF
dmVudFRlc3RNb25pdG9yOjpIYW5kbGluZ1doZWVsRXZlbnQpOwogI2VuZGlmCiAKKyAgICAvLyBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIGZpcmVzIHdoZW4gdHdvIGZpbmdlcnMgdG91
Y2ggdGhlIHRyYWNrcGFkLCBhbmQgaXMgdXNlZCB0byBmbGFzaCBvdmVybGF5IHNjcm9sbGJhcnMu
CisgICAgLy8gV2Uga25vdyB3ZSdyZSBzY3JvbGxhYmxlIGF0IHRoaXMgcG9pbnQsIHNvIGhhbmRs
ZSB0aGUgZXZlbnQuCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU1heUJlZ2luKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGF1dG8gaGFu
ZGxlZCA9IG1fc2Nyb2xsQ29udHJvbGxlci5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwog
CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgfHwgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lh
LmNwcAppbmRleCAwMGM4MWFkZmVlM2YzOWEwOTQ2ZDA4MWNhYzI3NTI3N2Q4ZjNjMzI0Li4xNjAx
Mzc1NjFiMWVhYzg3YWQyMWE3NzdmZDZiN2M3OTA2MGJlMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVOaWNvc2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNv
c2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAtMTE2LDcg
KzExNiw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OmNv
bW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvCiAKIFNjcm9sbGluZ0V2ZW50UmVzdWx0
IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKLSAgICBpZiAoIWNhblNj
cm9sbFdpdGhXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQorICAgIGlmICghY2FuSGFuZGxlV2hlZWxF
dmVudCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpE
aWROb3RIYW5kbGVFdmVudDsKIAogICAgIGlmICh3aGVlbEV2ZW50LmRlbHRhWCgpIHx8IHdoZWVs
RXZlbnQuZGVsdGFZKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAKaW5kZXggNWNkNWNlMGU0YmQyZGU5MWYwYjE2
YTQ1YmQyOGZhMzUzNTE1YzAzMS4uNmM0ZTQ0NTk4ZjY2YTU3NzMzNjM2NTA0ODc1NTk3NTQzYTdl
ZmRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlTmljb3NpYS5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFNjcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpyZXBvc2l0aW9uU2Nyb2xsaW5nTGF5ZXJz
KCkKIAogU2Nyb2xsaW5nRXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU5pY29zaWE6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3
aGVlbEV2ZW50KQogewotICAgIGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVu
dCkpCisgICAgaWYgKCFjYW5IYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICBy
ZXR1cm4gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgaWYg
KHdoZWVsRXZlbnQuZGVsdGFYKCkgfHwgd2hlZWxFdmVudC5kZWx0YVkoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAppbmRleCA0Y2FiZjg0OTEzNjY0
NGMwNGQ2YTc0MDM5YjM0Y2QxY2U1MGUzZWM2Li4xOGEzNWExMTJlOTlhOGQ1NGI1ZmQ0ODUyMTBi
NDViNjU1YzVkMjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVs
RXZlbnQuaApAQCAtMTU1LDYgKzE1NSwxMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEtJTkVUSUNf
U0NST0xMSU5HKQogICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9waGFzZTsgfQogICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1vbWVudHVtUGhh
c2UoKSBjb25zdCB7IHJldHVybiBtX21vbWVudHVtUGhhc2U7IH0KKworICAgIGJvb2wgaXNHZXN0
dXJlQmVnaW4oKSBjb25zdDsKKyAgICBib29sIGlzR2VzdHVyZUNhbmNlbCgpIGNvbnN0OworCiAg
ICAgYm9vbCBpc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSBjb25zdDsKICAgICBib29sIGlzVHJh
bnNpdGlvbmluZ1RvTW9tZW50dW1TY3JvbGwoKSBjb25zdDsKICAgICBGbG9hdFBvaW50IHN3aXBl
VmVsb2NpdHkoKSBjb25zdDsKQEAgLTIyMCw2ICsyMjQsMTcgQEAgaW5saW5lIGJvb2wgUGxhdGZv
cm1XaGVlbEV2ZW50Ojppc0VuZE9mTW9tZW50dW1TY3JvbGwoKSBjb25zdAogCiAjaWYgRU5BQkxF
KEtJTkVUSUNfU0NST0xMSU5HKQogCitpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6Omlz
R2VzdHVyZUJlZ2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZU1heUJlZ2luCisgICAgICAgIHx8IG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VCZWdhbjsKK30KKworaW5saW5lIGJvb2wgUGxhdGZvcm1XaGVlbEV2ZW50Ojpp
c0dlc3R1cmVDYW5jZWwoKSBjb25zdAoreworICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkOworfQorCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVs
RXZlbnQ6OmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
cGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCAmJiBtX21vbWVudHVtUGhhc2Ug
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggMjUxYWQ1ODg1ZWQ1NzZlMDll
MmQyODEzOTQyOTc4MzBiMGFhM2VmMy4uMGY0MWE3MmM0NWY3MDUyOTdhMjBhODgzYmRmYmQ4Y2Fj
YjdmOWMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCkBAIC0xMDMsNiArMTAzLDkgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjpo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKICAg
ICBpZiAoIXByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIHx8IHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJl
Z2FuKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUcnlpbmcgdG8gZGVjaWRlIGlmIGEgZ2VzdHVyZSBp
cyBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGF0IHRoZSAiYmVnYW4iIHBoYXNlIGlzIHZlcnkgZXJy
b3ItcHJvbmUuCiAgICAgICAgIGF1dG8gZGlyZWN0aW9uID0gZGlyZWN0aW9uRnJvbUV2ZW50KHdo
ZWVsRXZlbnQsIFNjcm9sbEV2ZW50QXhpczo6SG9yaXpvbnRhbCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWIxMTgwODcx
MjgyY2IxZDQyMWU3YTI1MThlNDdjMjk0MTQ3MWYzZi4uODY4ZmNlODhlZmVkMzA3ODQ0NzViMDQ1
NTZkZjJlOWQ3YzFlZGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAq
IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFy
LWhvdmVyZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9t
YWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92
ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJl
dmVhbC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Ny
b2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbC4KKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbDoKKwog
MjAyMC0wNS0wNCAgR3VpbGxlbSBWaW5hbHMgIDxndmluYWxzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWJHUFU6IFRleHR1cmVzIHNob3VsZCBiZSBhYmxlIHRvIGhhdmUgT1VUUFVUX0FUVEFDSEVN
RU5UIHwgU0FNUExFRCB1c2FnZSBmbGFncwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFy
cy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kOTdlNWNmNjk4YmQ3M2MxN2I0MTc1NjhhNjQ2Mzg3OTYwYzU0Y2Q2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZs
b3ctb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorVGVzdCBob3ZlciBvdmVyIG92ZXJsYXkgc2Nyb2xsYmFyCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFibGVkCitIb3ZlcmluZyB2ZXJ0aWNhbCBz
Y3JvbGxiYXIgc2hvdWxkIHNob3cgZXhwYW5kZWQgc2Nyb2xsYmFyCitQQVNTIFNjcm9sbGJhciBz
dGF0ZTogZW5hYmxlZCxleHBhbmRlZCx2aXNpYmxlX3RyYWNrLHZpc2libGVfdGh1bWIKK1VuaG92
ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0CitQQVNTIFRodW1iIGFuZCB0
cmFjayBoaWRkZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJh
ci1ob3ZlcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM0OWVmZDA1NzlhMjdhYTc3ZjliZjJiNDE2MWI4
NWUwNzRmZTA5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbApA
QCAtMCwwICsxLDgyIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJmbG93
U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAgfQor
ICAgICAgICAuc2Nyb2xsZXIgeworICAgICAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICAg
ICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87Cisg
ICAgICAgIH0KKyAgICAgICAgLmNvbnRlbnRzIHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOwor
ICAgICAgICAgICAgaGVpZ2h0OiAyMDAlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0
aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IGhv
dmVyIG92ZXIgb3ZlcmxheSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGlmICghd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNj
cm9sbGVyJyk7CisgICAgICAgICAgICBjb25zdCBzY3JvbGxlckJvdW5kcyA9IHNjcm9sbGVyLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgY29uc3QgeCA9IHNjcm9sbGVyQm91
bmRzLnJpZ2h0IC0gODsKKyAgICAgICAgICAgIGNvbnN0IHkgPSBzY3JvbGxlckJvdW5kcy50b3Ag
KyAxMDsKKworICAgICAgICAgICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKKyAgICAgICAgICAg
IGRlYnVnKGludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKSk7CisKKyAg
ICAgICAgICAgIGRlYnVnKCdIb3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIHNob3cg
ZXhwYW5kZWQgc2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3VzZVdo
ZWVsU2Nyb2xsQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29u
ZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpbnRlcm5hbHMudmVy
dGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAgICAgICAgICAgICAgbGV0IGV4cGFu
ZGVkID0gc3RhdGUuaW5kZXhPZignZXhwYW5kZWQnKSAhPSAtMTsKKyAgICAgICAgICAgICAgICBp
ZiAoZXhwYW5kZWQpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1Njcm9sbGJhciBz
dGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZXhwYW5kZWQ7CisgICAg
ICAgICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ1VuaG92ZXJpbmcgdmVydGljYWwgc2Ny
b2xsYmFyIHNob3VsZCBoaWRlIGl0Jyk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3Zl
TW91c2VBbmRXYWl0Rm9yRnJhbWUoeCAtIDEwLCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMjAsIHkpOworICAgICAgICAgICAgYXdh
aXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0
IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAg
ICAgICAgICAgICAgIGxldCB0aHVtYkhpZGRlbiA9IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdGh1
bWInKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBsZXQgdHJhY2tIaWRkZW4gPSBzdGF0ZS5pbmRl
eE9mKCd2aXNpYmxlX3RyYWNrJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYgKHRodW1iSGlk
ZGVuICYmIHRyYWNrSGlkZGVuKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdUaHVt
YiBhbmQgdHJhY2sgaGlkZGVuJyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRodW1iSGlkZGVu
ICYmIHRyYWNrSGlkZGVuOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCAoKSA9PiB7CisgICAgICAgICAgICBkb1Rlc3QoKTsKKyAgICAgICAgfSwgZmFsc2UpOwor
ICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50cyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZs
b3ctb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJl
dmVhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVjODZiZWFjYzZiNDhhNWI3ZWM4OTk4MmIw
ODBkZmQxYjRkMWFmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBtYXliZWdpbiBhbmQgY2FuY2VsbGVkIG9u
IG92ZXJmbG93CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRl
CitlbmFibGVkCitNYXlCZWdpbiBzaG91bGQgc2hvdyB0aGUgc2Nyb2xsYmFyCitQQVNTIFNjcm9s
bGJhciBzdGF0ZTogZW5hYmxlZCx2aXNpYmxlX3RodW1iCitDYW5jZWxsZWQgc2hvdWxkIGhpZGUg
dGhlIHNjcm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNj
cm9sbGJhci1yZXZlYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3Jv
bGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVkMzE5MGM5ZGM3MWRkNjA0MzFkNGVjOWU0YjA0Y2IyNmYxMmIyZGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1v
dmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbApAQCAtMCwwICsxLDgxIEBACis8IURPQ1RZUEUg
aHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFy
cz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAg
ICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAgfQorICAgICAgICAuc2Nyb2xsZXIgeworICAgICAg
ICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwor
ICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgIH0KKyAgICAgICAgLmNvbnRlbnRz
IHsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgaGVpZ2h0OiAyMDAlOwor
ICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgCisgICAgPHNjcmlw
dD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIAorICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXRVc2VzT3ZlcmxheVNj
cm9sbGJhcnModHJ1ZSk7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3QgbWF5YmVnaW4gYW5kIGNhbmNlbGxl
ZCBvbiBvdmVyZmxvdycpOworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBzY3JvbGxlciA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zY3JvbGxlcicpOworICAgICAgICAgICAgY29uc3Qg
c2Nyb2xsZXJCb3VuZHMgPSBzY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAg
ICAgICAgIGNvbnN0IHggPSBzY3JvbGxlckJvdW5kcy5sZWZ0ICsgMTA7CisgICAgICAgICAgICBj
b25zdCB5ID0gc2Nyb2xsZXJCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAgIGRlYnVnKCdJ
bml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVydGljYWxTY3Jv
bGxiYXJTdGF0ZShzY3JvbGxlcikpOworCisgICAgICAgICAgICBkZWJ1ZygnTWF5QmVnaW4gc2hv
dWxkIHNob3cgdGhlIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91
c2VXaGVlbE1heUJlZ2luQXQoeCwgeSk7CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0
Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpbnRlcm5h
bHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAgICAgICAgICAgICAgbGV0
IHZpc2libGUgPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgIT0gLTE7CisgICAgICAg
ICAgICAgICAgaWYgKHZpc2libGUpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1Nj
cm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdmlzaWJs
ZTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBkZWJ1ZygnQ2FuY2VsbGVkIHNob3Vs
ZCBoaWRlIHRoZSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNl
V2hlZWxDYW5jZWxBdCh4LCB5KTsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZv
ckNvbmRpdGlvbigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxz
LnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xsZXIpOworICAgICAgICAgICAgICAgIGxldCBo
aWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAg
ICAgICAgaWYgKGhpZGRlbikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xs
YmFyIHN0YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBoaWRkZW47Cisg
ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0K
KworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAg
ICAgICAgIGRvVGVzdCgpOworICAgICAgICB9LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJzY3JvbGxlciI+CisgICAgICAgIDxkaXYgY2xh
c3M9ImNvbnRlbnRzIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJsYXkt
c2Nyb2xsYmFyLXJldmVhbC5odG1sCmluZGV4IGE2ZWVlMWIxNmMzOTdiYWVmMGQ3Y2JmOTJjNTUw
NTdhZjk3NThhNjYuLjg4ZmI0YjAwYzUzMmQ1ZDEyYjgxZjQ5NTQwOWQ1NzM0ZmRiNjI5NjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJs
YXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCkBAIC0xLDQgKzEs
NCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6
dXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJzPWZhbHNlIGludGVybmFs
OkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+
CiAgICAgPHN0eWxlPgpAQCAtMTIsMTMgKzEyLDE2IEBACiAgICAgPHNjcmlwdD4KICAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CiAgICAgICAgIAotICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRy
dWUpOwogCiAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQnKTsKLSAgICAg
ICAgICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGlmICghd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgZGVi
dWcoJ0luaXRpYWwgc3RhdGUnKTsKICAgICAgICAgICAgIGRlYnVnKGludGVybmFscy52ZXJ0aWNh
bFNjcm9sbGJhclN0YXRlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398427</attachid>
            <date>2020-05-04 15:50:12 -0700</date>
            <delta_ts>2020-05-04 17:59:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210692-20200504155011.patch</filename>
            <type>text/plain</type>
            <size>42553</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA1MmRjMjc2MDViNGIx
OTY2NzZjMjM1MTUxZjJiOTAyOTgwYmY1MS4uOWJkMWNjNzU1MjQxNDk0MTJmY2I4MWViYTVmNDc2
Y2IwNDgxNmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJmbG93IHNj
cm9sbGJhcnMgZG9uJ3QgZ3JvdyB3aGVuIGhvdmVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDY5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjE5NzcyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBP
dmVybGF5IHNjcm9sbGFyIGludGVyYWN0aW9uIGhhcyBhIGZldyBiZWhhdmlvcnMgdGhhdCBhcmUg
bWVkaWF0ZWQgYnkgU2Nyb2xsQW5pbWF0b3JNYWMuIFRoZXNlCisgICAgICAgIGFyZSBhIHRyYWNr
cGFkIHR3by1maW5nZXIgdGFwLCB3aGljaCBzZW5kcyBhICJNYXlCZWdpbiIgd2hlZWwgZXZlbnQg
KHdoaWNoIGNhbiBiZSBmb2xsb3dlZCBieQorICAgICAgICBhICJDYW5jZWxsZWQiIG9uIGZpbmdl
cnMgdXAsIGlmIHRoZXkgZGlkbid0IG1vdmUpLCBhbmQgaG92ZXJpbmcgdGhlIHNjcm9sbGJhciB3
aGVuIHZpc2libGUsIHdoaWNoCisgICAgICAgIGNhdXNlcyBpdCB0byBleHBhbmQgKHVuaG92ZXJp
bmcgY2F1c2VzIGl0IHRvIGZhZGUgb3V0KS4KKyAgICAgICAgCisgICAgICAgIFRvIHRyYWNrIHRo
ZXNlIGdlc3R1cmVzIG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkLCBnaXZlIFNjcm9sbGluZ1RyZWUg
YSBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLgorCisgICAgICAgIEZsYXNoaW5nIHRoZSBzY3Jv
bGxiYXJzIG9uICJNYXlCZWdpbiIgaXMgZHJpdmVuIGJ5IGRpZEJlZ2luU2Nyb2xsR2VzdHVyZSgp
L2RpZEVuZFNjcm9sbEdlc3R1cmUoKS4KKyAgICAgICAgVGhpcyByZWxpZXMgb24gc2VuZGluZyB0
aGVzZSBmb3IgdGhlIGNvcnJlY3Qgc2Nyb2xsYWJsZSBhcmVhLCBhbmQgbWF0Y2hpbmcgdGhlIGJl
Z2luL2NhbmNlbCwKKyAgICAgICAgc28gdXNlIHRoZSBub3JtYWwgc2Nyb2xsaW5nIHRyZWUgZXZl
bnQgaGFuZGxpbmcgY29kZSBwYXRoIGZvciAiTWF5QmVnaW4iLCBhbmQgYWx3YXlzIHNlbmQKKyAg
ICAgICAgIkNhbmNlbGxlZCIgb24gdGhlIG5vZGUgdGhhdCByZWNlaXZlZCAiTWF5QmVnaW4uIERv
IHRoZSBzYW1lIGZvciAiQmVnYW4iIGFuZCAiRW5kZWQiLgorICAgICAgICAKKyAgICAgICAgU2Ny
b2xsYmFycyBleHBhbmRpbmcgb24gaG92ZXIgaXMgY29udHJvbGxlZCBieSB0aGVzZSBmdW5jdGlv
bnMgb24gU2Nyb2xsQW5pbWF0b3JNYWM6CisgICAgICAgICAgICB2b2lkIG1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCk7CisgICAgICAgICAgICB2b2lkIG1vdXNlRXhpdGVkQ29udGVudEFyZWEoKTsK
KyAgICAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKTsKKyAgICAgICAgICAg
IHZvaWQgbW91c2VFbnRlcmVkU2Nyb2xsYmFyKFNjcm9sbGJhciopIGNvbnN0OworICAgICAgICAg
ICAgdm9pZCBtb3VzZUV4aXRlZFNjcm9sbGJhcihTY3JvbGxiYXIqKSBjb25zdDsKKworICAgICAg
ICBUaGlzIG1vc3RseSAod2Via2l0Lm9yZy9iLzIxMTM0Nykgd29ya3Mgbm93IHRoYXQgdGhlIG1h
eUJlZ2luL0NhbmNlbGVkIHN0YXRlIGlzIHVwZGF0ZWQgY29ycmVjdGx5LAorICAgICAgICBhbmQg
aXMgdGVzdGVkIGJ5IGEgbmV3IHRlc3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWU6OlNjcm9sbGluZ1RyZWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
VHJlZUdlc3R1cmVTdGF0ZTo6cmVjZWl2ZWRXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURpZEhhbmRsZUV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6OmNsZWFyQWxs
Tm9kZXMpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZUxhdGNoaW5nQ29udHJvbGxlci5oLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdoZWVs
RXZlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OmNhblNjcm9sbFdpdGhXaGVlbEV2ZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6aGFu
ZGxlV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVTdGFydCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNhbmNlbCBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9s
bGJhclN0YXRlKToKKwogMjAyMC0wNS0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWFwaS5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpp
bmRleCA2NWM3Y2FmN2ZmMWEyM2Y2YmQ5MmYxNTEyMWMzMDkwOTVmZWJjM2Q2Li5mMjUyZTA1OTNk
YjZmOGQwOWUyZTBmOGJmNGFjZTUxZmZmMjcwY2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTkw
OCw2ICs5MDgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCiAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGUuaAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVH
ZXN0dXJlU3RhdGUuaAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0Nv
bnRyb2xsZXIuaAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgKICAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggMzk5Y2RiODA5OTkyMDllNzAxZTk5YjFhMmIzMzBjY2FiYmRmYjgxYS4uMWEy
YTQ0N2MzN2EwNjVhMjMyMWM4NDU4YTU5YzhiZjFiMmQ3YjQxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTE3NDIsNiArMTc0Miw3IEBAIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVhZC5jcHAKIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlRnJhbWVIb3N0aW5nTm9kZS5jcHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUuY3BwCitwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVyZVN0
YXRlLmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5j
cHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNwcAogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiMWNiNWZhMTUyYmUx
NGI5NTBiOWI0ODBiMzQwNGFkYzEzNzIyMTgyLi43NWI1MWY1MmY3YjU3ZTM0ZjNhNjg2MDM0MjQ4
ODhiNGJmNjUyZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zNDgsNiArMzQ4LDcgQEAKIAkJMEZENDFFNjgyMUY4MEMwRTAw
MEMwMDZEIC8qIFNjcm9sbGluZ1RyZWVGcmFtZUhvc3RpbmdOb2RlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ0MUU2NjIxRjgwMjgyMDAwQzAwNkQg
LyogU2Nyb2xsaW5nVHJlZUZyYW1lSG9zdGluZ05vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQ0MUU2OTIxRjgwRDE0MDAwQzAwNkQgLyog
U2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ0MUU2NTIxRjgwMjYxMDAwQzAwNkQgLyogU2Nyb2xs
aW5nU3RhdGVGcmFtZUhvc3RpbmdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZENzIzODIwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVh
ZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZENzIz
ODAwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGRDk3NUQ1MjQ1Q0NCNDcwMEM0MjI5OSAvKiBT
Y3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQ5NzVEMjI0NUNCREFGMDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBGREE3QzE3MTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRBN0MxMTE4ODMyMkVCMDBD
OTU0QjUgLyogSlNUb3VjaC5oICovOyB9OwogCQkwRkRBN0MxOTE4ODMyMkVCMDBDOTU0QjUgLyog
SlNUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRkRBN0MxMzE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaEV2ZW50LmggKi87IH07CiAJ
CTBGREE3QzFCMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoTGlzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEQTdDMTUxODgzMjJFQjAwQzk1NEI1
IC8qIEpTVG91Y2hMaXN0LmggKi87IH07CkBAIC01OTMxLDYgKzU5MzIsOCBAQAogCQkwRkQ3MjM4
MDBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZsb2F0UXVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3
MjM4MTBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEZsb2F0UXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGRDdDMjFEMjNDRTQxRTMwMDk2RDEwMiAvKiBQbGF0Zm9ybVdoZWVsRXZlbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1XaGVlbEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZEOTc1RDIyNDVDQkRBRjAwQzQyMjk5IC8qIFNjcm9sbGluZ1Ry
ZWVHZXN0dXJlU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkQ5NzVENDI0NUNCREQ3MDBDNDIy
OTkgLyogU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
Y3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZEQTdDMTAxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2guY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUb3VjaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGREE3QzExMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVG91Y2guaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZEQTdDMTIxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RvdWNoRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2MzQsNiArMTc2MzcsOCBAQAogCQkJCTBGRDQx
RTY2MjFGODAyODIwMDBDMDA2RCAvKiBTY3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZS5oICov
LAogCQkJCTBGRUEzRTg1MTkxQjNCRDcwMDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlLmNwcCAqLywKIAkJCQkwRkVBM0U4NjE5MUIzQkQ3MDAwRjFCNTUgLyogU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oICovLAorCQkJCTBGRDk3NUQ0MjQ1Q0JERDcwMEM0
MjI5OSAvKiBTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNwcCAqLywKKwkJCQkwRkQ5NzVEMjI0
NUNCREFGMDBDNDIyOTkgLyogU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oICovLAogCQkJCTBG
RkQ0NUE4MjQzQkYyNTcwMDBENEJFQSAvKiBTY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVy
LmNwcCAqLywKIAkJCQkwRkZENDVBNzI0M0JGMjU3MDAwRDRCRUEgLyogU2Nyb2xsaW5nVHJlZUxh
dGNoaW5nQ29udHJvbGxlci5oICovLAogCQkJCTFBQUFEREUxMTREQzhDOEYwMEFGNjRCMyAvKiBT
Y3JvbGxpbmdUcmVlTm9kZS5jcHAgKi8sCkBAIC0zMjc4Nyw2ICszMjc5Miw3IEBACiAJCQkJMEZE
NDFFNjgyMUY4MEMwRTAwMEMwMDZEIC8qIFNjcm9sbGluZ1RyZWVGcmFtZUhvc3RpbmdOb2RlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkVBM0U4ODE5MUIzQkQ3MDAwRjFCNTUgLyogU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDNEE0MTUxNjI5
REY1QTAwQzNFQjZFIC8qIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGRDk3NUQ1MjQ1Q0NCNDcwMEM0MjI5OSAvKiBTY3JvbGxpbmdUcmVl
R2VzdHVyZVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkZENDVBQTI0M0MzMDI3MDAwRDRC
RUEgLyogU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZFNTgwNjQxOTMyN0E2MjAwREUzMkVCIC8qIFNjcm9sbGluZ1RyZWVNYWMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQUFEREU0MTREQzhDOEYwMEFGNjRCMyAvKiBTY3JvbGxpbmdUcmVlTm9k
ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWUuY3BwCmluZGV4IDEwNGMxY2M4OTViZjViOGQ4NzhkYWJkMGE2MGJjYjc5ZTVk
YTE2OGUuLjliYTE4YTMzNTMzN2IwZDg1NjZlZDQ5OTgyNTZkNDIxNTA5OWFjZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC01Niw3
ICs1NiwxMSBAQCBzdHJ1Y3QgQ29tbWl0VHJlZVN0YXRlIHsKICAgICBPcnBoYW5TY3JvbGxpbmdO
b2RlTWFwIG9ycGhhbk5vZGVzOwogfTsKIAotU2Nyb2xsaW5nVHJlZTo6U2Nyb2xsaW5nVHJlZSgp
ID0gZGVmYXVsdDsKK1Njcm9sbGluZ1RyZWU6OlNjcm9sbGluZ1RyZWUoKQorICAgIDogbV9nZXN0
dXJlU3RhdGUoKnRoaXMpCit7Cit9CisKIFNjcm9sbGluZ1RyZWU6On5TY3JvbGxpbmdUcmVlKCkg
PSBkZWZhdWx0OwogCiBib29sIFNjcm9sbGluZ1RyZWU6OnNob3VsZEhhbmRsZVdoZWVsRXZlbnRT
eW5jaHJvbm91c2x5KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKQEAgLTEw
NiwxMSArMTEwLDIwIEBAIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWU6OmhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3CiAgICAgICAgICAgICByZXR1
cm4gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogICAgICAgICB9CiAK
KyAgICAgICAgaWYgKG1fZ2VzdHVyZVN0YXRlLmhhbmRsZUdlc3R1cmVDYW5jZWwod2hlZWxFdmVu
dCkpCisgICAgICAgICAgICByZXR1cm4gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhhbmRsZUV2
ZW50OworCisgICAgICAgIG1fZ2VzdHVyZVN0YXRlLnJlY2VpdmVkV2hlZWxFdmVudCh3aGVlbEV2
ZW50KTsKKwogICAgICAgICBpZiAoYXV0byBsYXRjaGVkTm9kZUlEID0gbV9sYXRjaGluZ0NvbnRy
b2xsZXIubGF0Y2hlZE5vZGVGb3JFdmVudCh3aGVlbEV2ZW50KSkgewogICAgICAgICAgICAgTE9H
X1dJVEhfU1RSRUFNKFNjcm9sbExhdGNoaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWU6Omhh
bmRsZVdoZWVsRXZlbnQ6IGhhcyBsYXRjaGVkIG5vZGUgIiA8PCBsYXRjaGVkTm9kZUlEKTsKLSAg
ICAgICAgICAgIGF1dG8qIG5vZGUgPSBub2RlRm9ySUQobGF0Y2hlZE5vZGVJRC52YWx1ZSgpKTsK
LSAgICAgICAgICAgIGlmIChpczxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4obm9kZSkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
Pigqbm9kZSkuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKKyAgICAgICAgICAgIGF1dG8q
IG5vZGUgPSBub2RlRm9ySUQoKmxhdGNoZWROb2RlSUQpOworICAgICAgICAgICAgaWYgKGlzPFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPihub2RlKSkgeworICAgICAgICAgICAgICAgIGF1dG8g
cmVzdWx0ID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KCpub2RlKS5oYW5k
bGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0g
U2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhhbmRsZUV2ZW50KQorICAgICAgICAgICAgICAgICAg
ICBtX2dlc3R1cmVTdGF0ZS5ub2RlRGlkSGFuZGxlRXZlbnQoKmxhdGNoZWROb2RlSUQsIHdoZWVs
RXZlbnQpOworICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSB3aGVlbEV2
ZW50LnBvc2l0aW9uKCk7CkBAIC0xMjQsOCArMTM3LDEwIEBAIFNjcm9sbGluZ0V2ZW50UmVzdWx0
IFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiB3CiAgICAgICAgICAgICAgICAgYXV0byYgc2Nyb2xsaW5nTm9kZSA9IGRvd25jYXN0PFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlPigqbm9kZSk7CiAgICAgICAgICAgICAgICAgYXV0byByZXN1
bHQgPSBzY3JvbGxpbmdOb2RlLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CiAKLSAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0ID09IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWRIYW5kbGVF
dmVudCkKLSAgICAgICAgICAgICAgICAgICAgbV9sYXRjaGluZ0NvbnRyb2xsZXIubm9kZURpZEhh
bmRsZUV2ZW50KHdoZWVsRXZlbnQsIHNjcm9sbGluZ05vZGUuc2Nyb2xsaW5nTm9kZUlEKCkpOwor
ICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZEhh
bmRsZUV2ZW50KSB7CisgICAgICAgICAgICAgICAgICAgIG1fbGF0Y2hpbmdDb250cm9sbGVyLm5v
ZGVEaWRIYW5kbGVFdmVudChzY3JvbGxpbmdOb2RlLnNjcm9sbGluZ05vZGVJRCgpLCB3aGVlbEV2
ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgbV9nZXN0dXJlU3RhdGUubm9kZURpZEhhbmRsZUV2
ZW50KHNjcm9sbGluZ05vZGUuc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQpOworICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gU2Nyb2xsaW5nRXZl
bnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50KQogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
cmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5o
CmluZGV4IDg2MDk3ZDM0MTZiODUzZWMxMzFhNWRmNWJiNDkzYmQyMGNmYWRhNDguLjg1ZmFkNGYx
YTdlYjg3OTAzYjJjNTg3YzA1YWFhYzIyMjVlMDdmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJSZWdpb24uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgIlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yVHlwZXMuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRl
LmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBA
IC0xMjMsNiArMTI0LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRlZmVyV2hlZWxF
dmVudFRlc3RDb21wbGV0aW9uRm9yUmVhc29uKFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6U2Nyb2xs
YWJsZUFyZWFJZGVudGlmaWVyLCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRGVmZXJy
YWxGb3JSZWFzb24oV2hlZWxFdmVudFRlc3RNb25pdG9yOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZp
ZXIsIFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6RGVmZXJSZWFzb24pIHsgfQorI2Vsc2UKKyAgICB2
b2lkIGhhbmRsZVdoZWVsRXZlbnRQaGFzZShTY3JvbGxpbmdOb2RlSUQsIFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlKSB7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0yMDEsNiAr
MjA0LDggQEAgcHJpdmF0ZToKICAgICBTY3JvbGxpbmdUcmVlTm9kZU1hcCBtX25vZGVNYXA7CiAK
ICAgICBTY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyIG1fbGF0Y2hpbmdDb250cm9sbGVy
OworICAgIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUgbV9nZXN0dXJlU3RhdGU7CisKICAgICBS
ZWxhdGVkTm9kZXNNYXAgbV9vdmVyZmxvd1JlbGF0ZWROb2Rlc01hcDsKIAogICAgIEhhc2hTZXQ8
UmVmPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT4+IG1fYWN0aXZlT3ZlcmZs
b3dTY3JvbGxQcm94eU5vZGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjQ4
OTgxZGQ4OGEwNzExZTAxOWIzNGY3ZTExYzMyN2U2ZGNiY2Q1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5j
cHAKQEAgLTAsMCArMSwxMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oIgorCisjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKKworI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKKworU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6U2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlKQorICAgIDogbV9zY3Jv
bGxpbmdUcmVlKHNjcm9sbGluZ1RyZWUpCit7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJlZUdlc3R1
cmVTdGF0ZTo6cmVjZWl2ZWRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZl
bnQpCit7CisgICAgaWYgKGV2ZW50LmlzR2VzdHVyZUJlZ2luKCkpIHsKKyAgICAgICAgY2xlYXJB
bGxOb2RlcygpOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCitib29sIFNjcm9sbGluZ1Ry
ZWVHZXN0dXJlU3RhdGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQuaXNHZXN0dXJlQ2FuY2VsKCkpIHsKKyAgICAg
ICAgaWYgKG1fbWF5QmVnaW5Ob2RlSUQpCisgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUuaGFu
ZGxlV2hlZWxFdmVudFBoYXNlKCptX21heUJlZ2luTm9kZUlELCBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZUNhbmNlbGxlZCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURp
ZEhhbmRsZUV2ZW50KFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgZXZlbnQpCit7CisgICAgc3dpdGNoIChldmVudC5waGFzZSgpKSB7CisgICAgY2FzZSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luOgorICAgICAgICBtX21heUJlZ2luTm9kZUlE
ID0gbm9kZUlEOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUuaGFuZGxlV2hlZWxFdmVudFBoYXNl
KG5vZGVJRCwgZXZlbnQucGhhc2UoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ6CisgICAgICAgIC8vIGhhbmRsZUdlc3R1cmVDYW5j
ZWwoKSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBmaXJzdC4KKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2VCZWdhbjoKKyAgICAgICAgbV9hY3RpdmVOb2RlSUQgPSBub2RlSUQ7CisgICAgICAgIG1fc2Ny
b2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uobm9kZUlELCBldmVudC5waGFzZSgpKTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkOgor
ICAgICAgICBpZiAobV9hY3RpdmVOb2RlSUQpCisgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUu
aGFuZGxlV2hlZWxFdmVudFBoYXNlKCptX2FjdGl2ZU5vZGVJRCwgZXZlbnQucGhhc2UoKSk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkOgor
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5OgorICAgIGNhc2UgUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBz
d2l0Y2ggKGV2ZW50Lm1vbWVudHVtUGhhc2UoKSkgeworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2VNYXlCZWdpbjoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2Vs
bGVkOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOgorICAgICAgICBtX2FjdGl2ZU5vZGVJ
RCA9IG5vZGVJRDsKKyAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFz
ZShub2RlSUQsIGV2ZW50Lm1vbWVudHVtUGhhc2UoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDoKKyAgICAgICAgaWYgKG1fYWN0aXZlTm9k
ZUlEKQorICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLmhhbmRsZVdoZWVsRXZlbnRQaGFzZSgq
bV9hY3RpdmVOb2RlSUQsIGV2ZW50Lm1vbWVudHVtUGhhc2UoKSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDaGFuZ2VkOgorICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5OgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VOb25lOgorICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJl
ZUdlc3R1cmVTdGF0ZTo6Y2xlYXJBbGxOb2RlcygpCit7CisgICAgbV9tYXlCZWdpbk5vZGVJRCA9
IDA7CisgICAgbV9hY3RpdmVOb2RlSUQgPSAwOworfQorCit9OworCisjZW5kaWYgLy8gRU5BQkxF
KEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmIwMmQ0MGE5
YjRjNDU2ZmM5MzZjMmJiYjRlNjdkODFmNjBlZDBkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5oCkBAIC0w
LDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpCisKKyNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9N
YXJrYWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFBsYXRmb3JtV2hlZWxFdmVudDsKK2NsYXNzIFNjcm9sbGluZ1RyZWU7CisK
Ky8vIFRoaXMgY2xhc3MgdHJhY2tzIHN0YXRlIHJlbGF0ZWQgdG8gTWF5QmVnaW4sIEJlZ2luLCBF
bmRlZCBhbmQgQ2FuY2VsZWQgd2hlZWwgZXZlbnRzLCB3aGljaAorLy8gc2hvdWxkIHByb3BhZ2F0
ZSB0byB0aGUgbWFpbiB0aHJlYWQgaW4gb3JkZXIgdG8gdXBkYXRlIG92ZXJsYXkgc2Nyb2xsYmFy
cy4KK2NsYXNzIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGUgeworcHVibGljOgorICAgIFNjcm9s
bGluZ1RyZWVHZXN0dXJlU3RhdGUoU2Nyb2xsaW5nVHJlZSYpOworCisgICAgdm9pZCByZWNlaXZl
ZFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisKKyAgICBib29sIGhhbmRs
ZUdlc3R1cmVDYW5jZWwoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisKKyAgICB2b2lkIG5v
ZGVEaWRIYW5kbGVFdmVudChTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpOworICAgIAorcHJpdmF0ZToKKyAgICB2b2lkIGNsZWFyQWxsTm9kZXMoKTsKKworICAgIFNj
cm9sbGluZ1RyZWUmIG1fc2Nyb2xsaW5nVHJlZTsKKyAgICBNYXJrYWJsZTxTY3JvbGxpbmdOb2Rl
SUQsIEludGVncmFsTWFya2FibGVUcmFpdHM8U2Nyb2xsaW5nTm9kZUlELCAwPj4gbV9tYXlCZWdp
bk5vZGVJRDsKKyAgICBNYXJrYWJsZTxTY3JvbGxpbmdOb2RlSUQsIEludGVncmFsTWFya2FibGVU
cmFpdHM8U2Nyb2xsaW5nTm9kZUlELCAwPj4gbV9hY3RpdmVOb2RlSUQ7Cit9OworCit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9s
bGVyLmNwcAppbmRleCBlNmI5YTlhZDFhYjI4Zjk4NmM5ZmZjZjdkYjc2Y2U0MWMzMjc3ZTc1Li4w
OTBjMjBkZmVlNmI1OTY2ODYyZTQwNmMyODc5MTQ5YmNkZGNlNDdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTGF0
Y2hpbmdDb250cm9sbGVyLmNwcApAQCAtNzQsNyArNzQsNyBAQCBPcHRpb25hbDxTY3JvbGxpbmdO
b2RlSUQ+IFNjcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXI6OmxhdGNoZWROb2RlSUQoKSBj
b25zdAogICAgIHJldHVybiBtX2xhdGNoZWROb2RlSUQ7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJl
ZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgd2hlZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbGluZ05vZGVJRCkKK3Zv
aWQgU2Nyb2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlcjo6bm9kZURpZEhhbmRsZUV2ZW50KFNj
cm9sbGluZ05vZGVJRCBzY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
d2hlZWxFdmVudCkKIHsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xhdGNoZWROb2RlTXV0ZXgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlTGF0Y2hpbmdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKaW5kZXggMGI0NmE3YTA5Y2U5NGRkYzk1
YTE2MmI1OTdjYTE3OWRjN2ViN2U4Ny4uYzg0MDZmMTY5NDM1YjJlYjA0MGVkOTAyYWIxMDk4NTU5
ZmY2N2Y1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsNiBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7Ci1jbGFz
cyBTY3JvbGxpbmdUcmVlOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVy
IHsKIHB1YmxpYzoKQEAgLTQ0LDcgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZWNlaXZl
ZFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAgICAgT3B0aW9uYWw8U2Ny
b2xsaW5nTm9kZUlEPiBsYXRjaGVkTm9kZUZvckV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIGNvbnN0OwotICAgIHZvaWQgbm9kZURpZEhhbmRsZUV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgdm9pZCBub2RlRGlkSGFuZGxlRXZlbnQo
U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKIAogICAgIE9wdGlv
bmFsPFNjcm9sbGluZ05vZGVJRD4gbGF0Y2hlZE5vZGVJRCgpIGNvbnN0OwogCkBAIC01Miw3ICs1
MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyTGF0Y2hlZE5vZGUoKTsKIAogcHJpdmF0ZToK
LQogICAgIG11dGFibGUgTG9jayBtX2xhdGNoZWROb2RlTXV0ZXg7CiAgICAgTWFya2FibGU8U2Ny
b2xsaW5nTm9kZUlELCBJbnRlZ3JhbE1hcmthYmxlVHJhaXRzPFNjcm9sbGluZ05vZGVJRCwgMD4+
IG1fbGF0Y2hlZE5vZGVJRDsKICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdExhdGNoZWROb2RlSW50
ZXJhdGlvblRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggNWYwMDBiZDdhNjEzYzhi
MThlZjE5ZTdmZjI4ZTMwZjYyNGVjNmZhOS4uNjJmNmZmNDU0MTgxNGUyMDFjMmNkZWZkYWFmMDE5
YjE1YWQzNzhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMTI5LDExICsxMjksMTUg
QEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6aXNMYXRjaGVkTm9kZSgpIGNvbnN0
CiAgICAgcmV0dXJuIHNjcm9sbGluZ1RyZWUoKS5sYXRjaGVkTm9kZUlEKCkgPT0gc2Nyb2xsaW5n
Tm9kZUlEKCk7CiB9CiAKLWJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhblNjcm9s
bFdpdGhXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkgY29u
c3QKK2Jvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KSBjb25zdAogewogICAgIGlmICgh
Y2FuSGF2ZVNjcm9sbGJhcnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gTWF5
QmVnaW4gaXMgdXNlZCB0byBmbGFzaCBzY3JvbGxiYXJzOyBpZiB0aGlzIG5vZGUgaXMgc2Nyb2xs
YWJsZSwgaXQgY2FuIGhhbmRsZSBpdC4KKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCiAg
ICAgLy8gV2UgYWx3YXlzIHJ1YmJlci1iYW5kIHRoZSBsYXRjaGVkIG5vZGUsIG9yIHRoZSByb290
IG5vZGUuCiAgICAgaWYgKGlzTGF0Y2hlZE5vZGUoKSB8fCBpc1Jvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggMTY0YjQ5YTVkYzkxYmNiYWVm
YjNjNjJlOTBjNjVhN2FhZjZhYWY4MC4uOGFkOTk2MmMwNDY2OGUzNTUwNDUxZjBmYTQ2ZmQ2NzMz
MTdlYTQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVO
b2RlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21taXRTdGF0ZUFmdGVyQ2hpbGRyZW4oY29uc3Qg
U2Nyb2xsaW5nU3RhdGVOb2RlJikgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgY2FuU2Ny
b2xsV2l0aFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGNhbkhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JikgY29uc3Q7CiAgICAgdmlydHVhbCBTY3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogCiAgICAgRmxvYXRQb2ludCBjdXJyZW50
U2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRTY3JvbGxQb3NpdGlvbjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCA3ZmJi
OTQ0NWQ4ZTI5MjIwOWIyOWVmMzEwNjgxZTI0NjIzYWEyOWU1Li5mZjgyYWZmYWYyZDkwODU3ZjVh
ZDRiYTU0YWIyYWY1NzEwZWZlMTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQpAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
CiAKIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50
KQogewotICAgIGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVudCkpCisgICAg
aWYgKCFjYW5IYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gU2Ny
b2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgYm9vbCBoYW5kbGVk
ID0gbV9kZWxlZ2F0ZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwpAQCAtMTI1LDggKzEy
NSw2IEBAIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QKICAgICBpZiAobV9kZWxlZ2F0ZS5hY3RpdmVT
Y3JvbGxTbmFwSW5kZXhEaWRDaGFuZ2UoKSkKICAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLnNldEFj
dGl2ZVNjcm9sbFNuYXBJbmRpY2VzKHNjcm9sbGluZ05vZGVJRCgpLCBtX2RlbGVnYXRlLmFjdGl2
ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsKSwgbV9k
ZWxlZ2F0ZS5hY3RpdmVTY3JvbGxTbmFwSW5kZXhGb3JBeGlzKFNjcm9sbEV2ZW50QXhpczo6VmVy
dGljYWwpKTsKICNlbmRpZgotICAgIHNjcm9sbGluZ1RyZWUoKS5oYW5kbGVXaGVlbEV2ZW50UGhh
c2Uoc2Nyb2xsaW5nTm9kZUlEKCksIHdoZWVsRXZlbnQucGhhc2UoKSk7Ci0gICAgCiAgICAgcmV0
dXJuIGhhbmRsZWQgPyBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkSGFuZGxlRXZlbnQgOiBTY3Jv
bGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KaW5kZXggN2ZjYWQxMzUyN2I5Mzg5
OWY1MWU5YTIzN2E4YzMwZDkwOWEwY2I2Zi4uYjNmNWM1NTMyNzIyYjBiMjE3NDY0ZGViMTBkMTc3
ZWRkMTU2OTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGVNYWMubW0KQEAgLTc0LDEzICs3NCwxMCBAQCBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbgogICAg
ICAgICByZXR1cm4gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OlNlbmRUb01haW5UaHJlYWQ7CiAjZW5k
aWYKIAotICAgIGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVudCkpCisgICAg
aWYgKCFjYW5IYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gU2Ny
b2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgYm9vbCBoYW5kbGVk
ID0gbV9kZWxlZ2F0ZS5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwotCi0gICAgc2Nyb2xs
aW5nVHJlZSgpLmhhbmRsZVdoZWVsRXZlbnRQaGFzZShzY3JvbGxpbmdOb2RlSUQoKSwgd2hlZWxF
dmVudC5waGFzZSgpKTsKLSAgICAKICAgICByZXR1cm4gaGFuZGxlZCA/IFNjcm9sbGluZ0V2ZW50
UmVzdWx0OjpEaWRIYW5kbGVFdmVudCA6IFNjcm9sbGluZ0V2ZW50UmVzdWx0OjpEaWROb3RIYW5k
bGVFdmVudDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0
ZU1hYy5tbQppbmRleCBkNDVjNzgwYjQyNzQxOWE1ODQxNDQ2YjEzOTZiYTI5OWYzYTRlMDg1Li5k
OTI2ZjVlOWY2YzdlNDE1OTdkNWRhNmU3N2Y2ZDE1OTA5OGM3OGZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQpAQCAtMTMwLDYgKzEzMCwxMSBA
QCBib29sIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmhhbmRsZVdoZWVs
RXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbAogICAgICAgICBkZWZlcldoZWVsRXZlbnRUZXN0Q29t
cGxldGlvbkZvclJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6
U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPihzY3JvbGxpbmdOb2RlKCkuc2Nyb2xsaW5nTm9kZUlE
KCkpLCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OkhhbmRsaW5nV2hlZWxFdmVudCk7CiAjZW5kaWYK
IAorICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gZmlyZXMgd2hlbiB0d28g
ZmluZ2VycyB0b3VjaCB0aGUgdHJhY2twYWQsIGFuZCBpcyB1c2VkIHRvIGZsYXNoIG92ZXJsYXkg
c2Nyb2xsYmFycy4KKyAgICAvLyBXZSBrbm93IHdlJ3JlIHNjcm9sbGFibGUgYXQgdGhpcyBwb2lu
dCwgc28gaGFuZGxlIHRoZSBldmVudC4KKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCiAg
ICAgYXV0byBoYW5kbGVkID0gbV9zY3JvbGxDb250cm9sbGVyLmhhbmRsZVdoZWVsRXZlbnQod2hl
ZWxFdmVudCk7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSB8fCBFTkFCTEUoUlVCQkVS
X0JBTkRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNv
c2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU5pY29zaWEuY3BwCmluZGV4IDAwYzgxYWRmZWUzZjM5YTA5NDZkMDgxY2FjMjc1Mjc3ZDhm
M2MzMjQuLjE2MDEzNzU2MWIxZWFjODdhZDIxYTc3N2ZkNmI3Yzc5MDYwYmUwYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3Bw
CkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
Tmljb3NpYTo6Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm8KIAogU2Nyb2xsaW5n
RXZlbnRSZXN1bHQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OmhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewotICAg
IGlmICghY2FuU2Nyb2xsV2l0aFdoZWVsRXZlbnQod2hlZWxFdmVudCkpCisgICAgaWYgKCFjYW5I
YW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpKQogICAgICAgICByZXR1cm4gU2Nyb2xsaW5nRXZl
bnRSZXN1bHQ6OkRpZE5vdEhhbmRsZUV2ZW50OwogCiAgICAgaWYgKHdoZWVsRXZlbnQuZGVsdGFY
KCkgfHwgd2hlZWxFdmVudC5kZWx0YVkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
Tmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcAppbmRleCA1Y2Q1Y2UwZTRi
ZDJkZTkxZjBiMTZhNDViZDI4ZmEzNTM1MTVjMDMxLi42YzRlNDQ1OThmNjZhNTc3MzM2MzY1MDQ4
NzU1OTc1NDNhN2VmZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5pY29zaWE6OnJlcG9zaXRpb25TY3Jv
bGxpbmdMYXllcnMoKQogCiBTY3JvbGxpbmdFdmVudFJlc3VsdCBTY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiB7Ci0gICAgaWYgKCFjYW5TY3JvbGxXaXRoV2hlZWxFdmVu
dCh3aGVlbEV2ZW50KSkKKyAgICBpZiAoIWNhbkhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCkp
CiAgICAgICAgIHJldHVybiBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxlRXZlbnQ7
CiAKICAgICBpZiAod2hlZWxFdmVudC5kZWx0YVgoKSB8fCB3aGVlbEV2ZW50LmRlbHRhWSgpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDRj
YWJmODQ5MTM2NjQ0YzA0ZDZhNzQwMzliMzRjZDFjZTUwZTNlYzYuLjE4YTM1YTExMmU5OWE4ZDU0
YjVmZDQ4NTIxMGI0NWI2NTVjNWQyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xNTUsNiArMTU1LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoS0lORVRJQ19TQ1JPTExJTkcpCiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgcGhhc2Uo
KSBjb25zdCB7IHJldHVybiBtX3BoYXNlOyB9CiAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2Ug
bW9tZW50dW1QaGFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9tZW50dW1QaGFzZTsgfQorCisgICAg
Ym9vbCBpc0dlc3R1cmVCZWdpbigpIGNvbnN0OworICAgIGJvb2wgaXNHZXN0dXJlQ2FuY2VsKCkg
Y29uc3Q7CisKICAgICBib29sIGlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgpIGNvbnN0OwogICAg
IGJvb2wgaXNUcmFuc2l0aW9uaW5nVG9Nb21lbnR1bVNjcm9sbCgpIGNvbnN0OwogICAgIEZsb2F0
UG9pbnQgc3dpcGVWZWxvY2l0eSgpIGNvbnN0OwpAQCAtMjIwLDYgKzIyNCwxNyBAQCBpbmxpbmUg
Ym9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzRW5kT2ZNb21lbnR1bVNjcm9sbCgpIGNvbnN0CiAK
ICNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCiAKK2lubGluZSBib29sIFBsYXRmb3JtV2hl
ZWxFdmVudDo6aXNHZXN0dXJlQmVnaW4oKSBjb25zdAoreworICAgIHJldHVybiBtX3BoYXNlID09
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4KKyAgICAgICAgfHwgbV9waGFzZSA9PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOworfQorCitpbmxpbmUgYm9vbCBQbGF0Zm9ybVdo
ZWVsRXZlbnQ6OmlzR2VzdHVyZUNhbmNlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGhhc2Ug
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ7Cit9CisKIGlubGluZSBib29sIFBs
YXRmb3JtV2hlZWxFdmVudDo6aXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkICYmIG1fbW9t
ZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCAyNTFhZDU4
ODVlZDU3NmUwOWUyZDI4MTM5NDI5NzgzMGIwYWEzZWYzLi4wZjQxYTcyYzQ1ZjcwNTI5N2EyMGE4
ODNiZGZiZDhjYWNiN2Y5YzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTEwMyw2ICsxMDMsOSBAQCBib29sIFNjcm9sbENv
bnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVl
bEV2ZW50KQogICAgIGlmICghcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKHdoZWVsRXZl
bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyAgICBpZiAod2hlZWxFdmVudC5w
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gfHwgd2hlZWxFdmVudC5w
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlQmVnYW4pIHsKICAgICAgICAgLy8gRklYTUU6IFRyeWluZyB0byBkZWNpZGUgaWYg
YSBnZXN0dXJlIGlzIGhvcml6b250YWwgb3IgdmVydGljYWwgYXQgdGhlICJiZWdhbiIgcGhhc2Ug
aXMgdmVyeSBlcnJvci1wcm9uZS4KICAgICAgICAgYXV0byBkaXJlY3Rpb24gPSBkaXJlY3Rpb25G
cm9tRXZlbnQod2hlZWxFdmVudCwgU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAxYjExODA4NzEyODJjYjFkNDIxZTdhMjUxOGU0N2MyOTQxNDcxZjNmLi44NjhmY2U4OGVmZWQz
MDc4NDQ3NWIwNDU1NmRmMmU5ZDdjMWVkZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAt
MDUtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
T3ZlcmZsb3cgc2Nyb2xsYmFycyBkb24ndCBncm93IHdoZW4gaG92ZXJlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNjkyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82MTk3NzI3Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgor
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3Zlcmxh
eS1zY3JvbGxiYXItaG92ZXJlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVy
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMv
b3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1z
Y3JvbGxiYXItcmV2ZWFsLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL21hYy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sLgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVh
bC5odG1sOgorCiAyMDIwLTA1LTA0ICBHdWlsbGVtIFZpbmFscyAgPGd2aW5hbHNAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYkdQVTogVGV4dHVyZXMgc2hvdWxkIGJlIGFibGUgdG8gaGF2ZSBPVVRQ
VVRfQVRUQUNIRU1FTlQgfCBTQU1QTEVEIHVzYWdlIGZsYWdzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9s
bGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ5N2U1Y2Y2OThiZDczYzE3YjQxNzU2OGE2NDYzODc5NjBjNTRjZDYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1IEBACitUZXN0IGhvdmVyIG92ZXIgb3ZlcmxheSBzY3JvbGxiYXIKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUKK2VuYWJsZWQKK0hvdmVyaW5n
IHZlcnRpY2FsIHNjcm9sbGJhciBzaG91bGQgc2hvdyBleHBhbmRlZCBzY3JvbGxiYXIKK1BBU1Mg
U2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkLGV4cGFuZGVkLHZpc2libGVfdHJhY2ssdmlzaWJsZV90
aHVtYgorVW5ob3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIGhpZGUgaXQKK1BBU1Mg
VGh1bWIgYW5kIHRyYWNrIGhpZGRlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93LW92ZXJs
YXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzQ5ZWZkMDU3OWEyN2FhNzdm
OWJmMmI0MTYxYjg1ZTA3NGZlMDliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItaG92
ZXJlZC5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1vY2tTY3JvbGxiYXJzPWZhbHNlIGludGVybmFsOkFz
eW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIGhlaWdodDogMTAwMHB4Owor
ICAgICAgICB9CisgICAgICAgIC5zY3JvbGxlciB7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7
CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4Owor
ICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgICAgICBvdmVyZmxv
dzogYXV0bzsKKyAgICAgICAgfQorICAgICAgICAuY29udGVudHMgeworICAgICAgICAgICAgd2lk
dGg6IDEwMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMCU7CisgICAgICAgIH0KKyAgICA8L3N0
eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAKKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAg
ICAgIGludGVybmFscy5zZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CisKKyAgICAgICAg
YXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oJ1Rlc3QgaG92ZXIgb3ZlciBvdmVybGF5IHNjcm9sbGJhcicpOworICAgICAgICAgICAgaWYg
KCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7ICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZXIgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCcuc2Nyb2xsZXInKTsKKyAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVyQm91bmRzID0g
c2Nyb2xsZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBjb25zdCB4ID0g
c2Nyb2xsZXJCb3VuZHMucmlnaHQgLSA4OworICAgICAgICAgICAgY29uc3QgeSA9IHNjcm9sbGVy
Qm91bmRzLnRvcCArIDEwOworCisgICAgICAgICAgICBkZWJ1ZygnSW5pdGlhbCBzdGF0ZScpOwor
ICAgICAgICAgICAgZGVidWcoaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoc2Nyb2xs
ZXIpKTsKKworICAgICAgICAgICAgZGVidWcoJ0hvdmVyaW5nIHZlcnRpY2FsIHNjcm9sbGJhciBz
aG91bGQgc2hvdyBleHBhbmRlZCBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVs
cGVyLm1vdXNlV2hlZWxTY3JvbGxBdCh4LCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVy
LndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0ZSA9IGlu
dGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAgICAgICAg
ICBsZXQgZXhwYW5kZWQgPSBzdGF0ZS5pbmRleE9mKCdleHBhbmRlZCcpICE9IC0xOworICAgICAg
ICAgICAgICAgIGlmIChleHBhbmRlZCkKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
U2Nyb2xsYmFyIHN0YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBleHBh
bmRlZDsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBkZWJ1ZygnVW5ob3ZlcmluZyB2
ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIGhpZGUgaXQnKTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMTAsIHkpOworICAgICAgICAgICAg
YXdhaXQgVUlIZWxwZXIubW92ZU1vdXNlQW5kV2FpdEZvckZyYW1lKHggLSAyMCwgeSk7CisgICAg
ICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICBsZXQgc3RhdGUgPSBpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3Jv
bGxlcik7CisgICAgICAgICAgICAgICAgbGV0IHRodW1iSGlkZGVuID0gc3RhdGUuaW5kZXhPZign
dmlzaWJsZV90aHVtYicpID09IC0xOworICAgICAgICAgICAgICAgIGxldCB0cmFja0hpZGRlbiA9
IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdHJhY2snKSA9PSAtMTsKKyAgICAgICAgICAgICAgICBp
ZiAodGh1bWJIaWRkZW4gJiYgdHJhY2tIaWRkZW4pCisgICAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoJ1RodW1iIGFuZCB0cmFjayBoaWRkZW4nKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
dGh1bWJIaWRkZW4gJiYgdHJhY2tIaWRkZW47CisgICAgICAgICAgICB9KTsKKworICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgICAgIGRvVGVzdCgpOworICAgICAgICB9
LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNz
PSJzY3JvbGxlciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnRzIj48L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9vdmVyZmxvdy1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1z
Y3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNWM4NmJlYWNjNmI0OGE1
YjdlYzg5OTgyYjA4MGRmZDFiNGQxYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXIt
cmV2ZWFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IG1heWJlZ2luIGFuZCBj
YW5jZWxsZWQgb24gb3ZlcmZsb3cKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0lu
aXRpYWwgc3RhdGUKK2VuYWJsZWQKK01heUJlZ2luIHNob3VsZCBzaG93IHRoZSBzY3JvbGxiYXIK
K1BBU1MgU2Nyb2xsYmFyIHN0YXRlOiBlbmFibGVkLHZpc2libGVfdGh1bWIKK0NhbmNlbGxlZCBz
aG91bGQgaGlkZSB0aGUgc2Nyb2xsYmFyCitQQVNTIFNjcm9sbGJhciBzdGF0ZTogZW5hYmxlZAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJmbG93
LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmZsb3ctb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWQzMTkwYzlkYzcxZGQ2MDQzMWQ0ZWM5ZTRiMDRjYjI2ZjEyYjJkYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJz
L292ZXJmbG93LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sCkBAIC0wLDAgKzEsODEgQEAK
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOnVzZU1v
Y2tTY3JvbGxiYXJzPWZhbHNlIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsK
KyAgICAgICAgICAgIGhlaWdodDogMTAwMHB4OworICAgICAgICB9CisgICAgICAgIC5zY3JvbGxl
ciB7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7
CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29s
aWQgYmxhY2s7CisgICAgICAgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICAgICAgfQorICAgICAg
ICAuY29udGVudHMgeworICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWln
aHQ6IDIwMCU7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICAK
KyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgCisg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldFVz
ZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdCBtYXliZWdpbiBh
bmQgY2FuY2VsbGVkIG9uIG92ZXJmbG93Jyk7CisgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNvbnN0
IHNjcm9sbGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcm9sbGVyJyk7CisgICAgICAg
ICAgICBjb25zdCBzY3JvbGxlckJvdW5kcyA9IHNjcm9sbGVyLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpOworICAgICAgICAgICAgY29uc3QgeCA9IHNjcm9sbGVyQm91bmRzLmxlZnQgKyAxMDsKKyAg
ICAgICAgICAgIGNvbnN0IHkgPSBzY3JvbGxlckJvdW5kcy50b3AgKyAxMDsKKworICAgICAgICAg
ICAgZGVidWcoJ0luaXRpYWwgc3RhdGUnKTsKKyAgICAgICAgICAgIGRlYnVnKGludGVybmFscy52
ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKSk7CisKKyAgICAgICAgICAgIGRlYnVnKCdN
YXlCZWdpbiBzaG91bGQgc2hvdyB0aGUgc2Nyb2xsYmFyJyk7CisgICAgICAgICAgICBhd2FpdCBV
SUhlbHBlci5tb3VzZVdoZWVsTWF5QmVnaW5BdCh4LCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxldCBzdGF0
ZSA9IGludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNjcm9sbGVyKTsKKyAgICAgICAg
ICAgICAgICBsZXQgdmlzaWJsZSA9IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdGh1bWInKSAhPSAt
MTsKKyAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkKKyAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJl
dHVybiB2aXNpYmxlOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGRlYnVnKCdDYW5j
ZWxsZWQgc2hvdWxkIGhpZGUgdGhlIHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIubW91c2VXaGVlbENhbmNlbEF0KHgsIHkpOworCisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUg
PSBpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzY3JvbGxlcik7CisgICAgICAgICAg
ICAgICAgbGV0IGhpZGRlbiA9IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdGh1bWInKSA9PSAtMTsK
KyAgICAgICAgICAgICAgICBpZiAoaGlkZGVuKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCdTY3JvbGxiYXIgc3RhdGU6ICcgKyBzdGF0ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGhpZGRlbjsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkg
PT4geworICAgICAgICAgICAgZG9UZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InNjcm9sbGVyIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0iY29udGVudHMiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xs
YmFyLXJldmVhbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKaW5kZXggYTZlZWUxYjE2YzM5N2JhZWYw
ZDdjYmY5MmM1NTA1N2FmOTc1OGE2Ni4uODhmYjRiMDBjNTMyZDVkMTJiODFmNDk1NDA5ZDU3MzRm
ZGI2Mjk2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9s
bGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwK
QEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6dXNlTW9ja1Njcm9sbGJhcnM9ZmFs
c2UgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0
bWw+CiA8aGVhZD4KICAgICA8c3R5bGU+CkBAIC0xMiwxMyArMTIsMTYgQEAKICAgICA8c2NyaXB0
PgogICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgCi0gICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXRVc2VzT3ZlcmxheVNj
cm9sbGJhcnModHJ1ZSk7CiAKICAgICAgICAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKICAgICAg
ICAgewogICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3QgbWF5YmVnaW4gYW5kIGNhbmNlbGxl
ZCcpOwotICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaWYg
KCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBkZWJ1ZygnSW5pdGlhbCBzdGF0ZScpOwogICAgICAgICAgICAgZGVidWcoaW50ZXJu
YWxzLnZlcnRpY2FsU2Nyb2xsYmFyU3RhdGUoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>