<?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>223203</bug_id>
          
          <creation_ts>2021-03-15 11:40:33 -0700</creation_ts>
          <short_desc>Change canvasChanged() to take a Optional&lt;FloatRect&gt;</short_desc>
          <delta_ts>2021-03-15 13:50:16 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>223056</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739560</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-15 11:40:33 -0700</bug_when>
    <thetext>Change canvasChanged() to take a Optional&lt;FloatRect&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739565</commentid>
    <comment_count>1</comment_count>
      <attachid>423212</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-15 11:45:57 -0700</bug_when>
    <thetext>Created attachment 423212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739576</commentid>
    <comment_count>2</comment_count>
      <attachid>423216</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-15 12:14:57 -0700</bug_when>
    <thetext>Created attachment 423216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739591</commentid>
    <comment_count>3</comment_count>
      <attachid>423216</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-15 12:31:59 -0700</bug_when>
    <thetext>Comment on attachment 423216
Patch

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

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:322
&gt; +    FloatRect backingStoreBounds() const { return FloatRect { { }, FloatSize { canvasBase().size() } }; }

I think you can omit FloatRect and FloatSize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739606</commentid>
    <comment_count>4</comment_count>
      <attachid>423216</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-15 12:49:13 -0700</bug_when>
    <thetext>Comment on attachment 423216
Patch

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

&gt; Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:152
&gt; +void CanvasCaptureMediaStreamTrack::Source::canvasChanged(CanvasBase&amp; canvas, Optional&lt;FloatRect&gt;)

Why are we no longer passing is as a const ref? If anything, the object is larger now...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739646</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-15 13:49:38 -0700</bug_when>
    <thetext>Changed to const Optional&lt;FloatRect&gt;&amp;
https://trac.webkit.org/changeset/274436/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739648</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-15 13:50:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75445274&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423212</attachid>
            <date>2021-03-15 11:45:57 -0700</date>
            <delta_ts>2021-03-15 12:18:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223203-20210315114556.patch</filename>
            <type>text/plain</type>
            <size>15661</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBiOWQxZTM0MGYwYjcw
MmIwZGZjNzhmMDE3MTcxOTYxOTg3OTgyMy4uMmNiNjdlYTU3MWY4MTQ4MmZjNTgzZDc2OTY4ZGVl
OWUxMjlhY2VlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAzLTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBjYW52
YXNDaGFuZ2VkKCkgdG8gdGFrZSBhIE9wdGlvbmFsPEZsb2F0UmVjdD4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIGEgcHJlY3Vyc29yIHRvIHdlYmtp
dC5vcmcvYi8yMjMwNTYsIGNoYW5nZSB0aGUgRmxvYXRSZWN0IGFyZ3VtZW50IHRvCisgICAgICAg
IGNhbnZhc0NoYW5nZWQoKSB0byBiZSBhbiBPcHRpb25hbDxGbG9hdFJlY3Q+LiBBIG51bGxvcHQg
dmFsdWUgaGVyZSBpbmRpY2F0ZXMKKyAgICAgICAgdGhhdCB0aGUgY2hhbmdlZCByZWN0IGlzIGlu
c2lkZSB0aGUgZXhpc3RpbmcgZGlydGllZCBib3VuZHMgb2YgdGhlIGNhbnZhcyBiYWNraW5nCisg
ICAgICAgIHN0b3JlIHNpbmNlIHRoZSBsYXN0IHJlcGFpbnQsIHNvIGNsaWVudHMgdGhhdCBhcmUg
dXNpbmcgdGhlIGNhbGxiYWNrIGZvciByZXBhaW50CisgICAgICAgIGRvbid0IG5lZWQgdG8gZG8g
YW55dGhpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVN
ZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNhbnZhc0NoYW5nZWQpOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5oOgorICAgICAgICAqIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYW52YXNWYWx1ZTo6Y2FudmFzQ2hhbmdl
ZCk6CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmg6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjYW52YXNDaGFuZ2VkKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0NhbnZhc0Jhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQmFzZTo6bm90aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdl
ZCk6CisgICAgICAgICogaHRtbC9DYW52YXNCYXNlLmg6CisgICAgICAgICogaHRtbC9DdXN0b21Q
YWludENhbnZhcy5oOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmRpZERyYXcpOgorICAgICAgICAqIGh0
bWwvSFRNTENhbnZhc0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2U6OmRpZERyYXdFbnRpcmVDYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52
YXMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmJhY2tp
bmdTdG9yZUJvdW5kcyBjb25zdCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDYW52YXNBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXNBZ2Vu
dDo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
YW52YXNBZ2VudC5oOgorCiAyMDIxLTAzLTEwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTXVsdGktY29sdW1uIHN0YXRlIHByb3BhZ2F0aW9uIHNob3VsZCBmb2xs
b3cgY29udGFpbmluZyBibG9jayBydWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcAppbmRleCAwMTFjNTI2MDM5ODM3MTNhYmU3MDgzZjYyZTVlYTE5YTU4NDBiZTllLi44
NWJjOTJiOWM5MTU0YTQ3MTNhM2U2ZDdmYTc3N2UxMTAxNDQ5ODQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0Nh
cHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgQ2FudmFz
Q2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzUmVzaXplZChDYW52YXNCYXNl
JiBjYW52YXMpCiAgICAgc2V0U2l6ZShJbnRTaXplKG1fY2FudmFzLT53aWR0aCgpLCBtX2NhbnZh
cy0+aGVpZ2h0KCkpKTsKIH0KIAotdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhcywgY29uc3QgRmxvYXRSZWN0
JikKK3ZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hh
bmdlZChDYW52YXNCYXNlJiBjYW52YXMsIE9wdGlvbmFsPEZsb2F0UmVjdD4pCiB7CiAgICAgQVNT
RVJUX1VOVVNFRChjYW52YXMsIG1fY2FudmFzID09ICZjYW52YXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVh
bVRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1
cmVNZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggZDY5ODNmYjI0MmM4OTQ2ZDljMDQzNGMxOTkxNjFk
NzljYThmZjcxYS4uMDMwMmEzNmQ3ZjhhMTI2OWM3NThkMjY5MzcxY2U3OTQ2YzBmYWQ5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJl
TWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaApAQCAtNjEsNyArNjEsNyBAQCBwcml2
YXRlOgogICAgICAgICBTb3VyY2UoSFRNTENhbnZhc0VsZW1lbnQmLCBPcHRpb25hbDxkb3VibGU+
JiYpOwogCiAgICAgICAgIC8vIENhbnZhc09ic2VydmVyIEFQSQotICAgICAgICB2b2lkIGNhbnZh
c0NoYW5nZWQoQ2FudmFzQmFzZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgICAgICB2
b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4pIGZpbmFs
OwogICAgICAgICB2b2lkIGNhbnZhc1Jlc2l6ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogICAgICAg
ICB2b2lkIGNhbnZhc0Rlc3Ryb3llZChDYW52YXNCYXNlJikgZmluYWw7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5oCmluZGV4IDJlZWYyMWU3YjAy
MWNhNzFjNTdhMTg5MjlmYWEyNmYzMzI1YzZiYTMuLjU1NmJmOTI3ZmM4ZDc1MzAyNTYzMTk2NTUx
OGVhM2I0YjRmOGFiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJXZWJHTExheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UldlYkdMTGF5ZXIuaApAQCAtMjksOCArMjksMTAgQEAKIAogI2luY2x1ZGUgIkNhbnZhc0Jhc2Uu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2lu
Y2x1ZGUgIldlYlhSTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgpAQCAtODcsNyArODksNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBJbnRTaXplIGNvbXB1dGVOYXRpdmVXZWJHTEZyYW1lYnVmZmVyUmVz
b2x1dGlvbigpOwogICAgIHN0YXRpYyBJbnRTaXplIGNvbXB1dGVSZWNvbW1lbmRlZFdlYkdMRnJh
bWVidWZmZXJSZXNvbHV0aW9uKCk7CiAKLSAgICB2b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFz
ZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsIHsgfTsKKyAgICB2b2lkIGNhbnZhc0NoYW5nZWQo
Q2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4pIGZpbmFsIHsgfTsKICAgICB2b2lkIGNh
bnZhc1Jlc2l6ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogICAgIHZvaWQgY2FudmFzRGVzdHJveWVk
KENhbnZhc0Jhc2UmKSBmaW5hbCB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYW52YXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUu
Y3BwCmluZGV4IGY3ZmIzNzJlZjZiMDE3MmJlMjk2Yjk2ODU1NTc1OTk2MjZmYWI1ZjIuLmYzNTRi
YzNmYWJkODZhODdmMTEzNmJkYjJlNGIzMDIyODBkMDc3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbnZhc1ZhbHVlLmNwcApAQCAtNDEsOSArNDEsMTIgQEAgU3RyaW5nIENTU0NhbnZhc1ZhbHVl
OjpjdXN0b21DU1NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gbWFrZVN0cmluZygiLXdlYmtpdC1j
YW52YXMoIiwgbV9uYW1lLCAnKScpOwogfQogCi12b2lkIENTU0NhbnZhc1ZhbHVlOjpjYW52YXND
aGFuZ2VkKEhUTUxDYW52YXNFbGVtZW50JiwgY29uc3QgRmxvYXRSZWN0JiBjaGFuZ2VkUmVjdCkK
K3ZvaWQgQ1NTQ2FudmFzVmFsdWU6OmNhbnZhc0NoYW5nZWQoSFRNTENhbnZhc0VsZW1lbnQmLCBP
cHRpb25hbDxGbG9hdFJlY3Q+IGNoYW5nZWRSZWN0KQogewotICAgIEludFJlY3QgaW1hZ2VDaGFu
Z2VSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChjaGFuZ2VkUmVjdCk7CisgICAgaWYgKCFjaGFuZ2Vk
UmVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBpbWFnZUNoYW5nZVJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KGNoYW5nZWRSZWN0LnZhbHVlKCkpOwogICAgIGZvciAoYXV0byBpdCA9IGNs
aWVudHMoKS5iZWdpbigpLCBlbmQgPSBjbGllbnRzKCkuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkK
ICAgICAgICAgaXQtPmtleS0+aW1hZ2VDaGFuZ2VkKHN0YXRpY19jYXN0PFdyYXBwZWRJbWFnZVB0
cj4odGhpcyksICZpbWFnZUNoYW5nZVJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuaAppbmRleCA4MTE1NDZiM2EyZTczZjMxYjRmZmRmN2ZhM2I5MWNiYTVmMzc2Nzc3Li5kY2Fl
ODU1Y2IyYjQwOTNjNmM5OGFlNTlhNjdjZWE4ZjdkOTAyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FudmFzVmFsdWUuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IENT
U0NhbnZhc1ZhbHVlJiBvd25lclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9vd25lclZhbHVlOyB9
CiAKICAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYg
Y2FudmFzQmFzZSwgY29uc3QgRmxvYXRSZWN0JiBjaGFuZ2VkUmVjdCkgZmluYWwKKyAgICAgICAg
dm9pZCBjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhc0Jhc2UsIE9wdGlvbmFsPEZsb2F0
UmVjdD4gY2hhbmdlZFJlY3QpIGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVChp
czxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSkpOwogICAgICAgICAgICAgbV9vd25lclZh
bHVlLmNhbnZhc0NoYW5nZWQoZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Up
LCBjaGFuZ2VkUmVjdCk7CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0K
IAotICAgIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYsIGNvbnN0IEZsb2F0
UmVjdCYgY2hhbmdlZFJlY3QpOworICAgIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxl
bWVudCYsIE9wdGlvbmFsPEZsb2F0UmVjdD4gY2hhbmdlZFJlY3QpOwogICAgIHZvaWQgY2FudmFz
UmVzaXplZChIVE1MQ2FudmFzRWxlbWVudCYpOwogICAgIHZvaWQgY2FudmFzRGVzdHJveWVkKEhU
TUxDYW52YXNFbGVtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGI5OTUyMzM0
MDM2OGNjNjU4YWYwY2ExMjdmNmQyZjQ4NzEyZWQ3YzQuLjk1NTVmZjJmY2IwMGMxMTUyM2QxMDI5
ZTZiNGFhYTYwYWFjMThjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODc4Niw3ICs4
Nzg2LDcgQEAgdm9pZCBEb2N1bWVudDo6Y2xlYXJDYW52YXNQcmVwYXJhdGlvbihIVE1MQ2FudmFz
RWxlbWVudCogY2FudmFzKQogICAgIG1fY2FudmFzZXNOZWVkaW5nRGlzcGxheVByZXBhcmF0aW9u
LnJlbW92ZShjYW52YXMpOwogfQogCi12b2lkIERvY3VtZW50OjpjYW52YXNDaGFuZ2VkKENhbnZh
c0Jhc2UmIGNhbnZhc0Jhc2UsIGNvbnN0IEZsb2F0UmVjdCYpCit2b2lkIERvY3VtZW50OjpjYW52
YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhc0Jhc2UsIE9wdGlvbmFsPEZsb2F0UmVjdD4pCiB7
CiAgICAgaWYgKGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKSkgewogICAgICAgICBh
dXRvKiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oJmNhbnZhc0Jhc2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAppbmRleCA5ZDQwMTVhMjRkMjNkYTc0MDM0OGI1YTNkZDhiYWMzZjdj
MjEyNDBkLi4yNjAwMGRjYjJhY2I4ZWRiYmVmYzZjMWY0MTNkMjJmYmMxZThhNGNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaApAQCAtMTYxMCw3ICsxNjEwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBw
cmVwYXJlQ2FudmFzZXNGb3JEaXNwbGF5SWZOZWVkZWQoKTsKICAgICB2b2lkIGNsZWFyQ2FudmFz
UHJlcGFyYXRpb24oSFRNTENhbnZhc0VsZW1lbnQqKTsKLSAgICB2b2lkIGNhbnZhc0NoYW5nZWQo
Q2FudmFzQmFzZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgIHZvaWQgY2FudmFzQ2hh
bmdlZChDYW52YXNCYXNlJiwgT3B0aW9uYWw8RmxvYXRSZWN0PikgZmluYWw7CiAgICAgdm9pZCBj
YW52YXNSZXNpemVkKENhbnZhc0Jhc2UmKSBmaW5hbCB7IH07CiAgICAgdm9pZCBjYW52YXNEZXN0
cm95ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0NhbnZhc0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DYW52YXNCYXNlLmNwcApp
bmRleCBlZDA1NjI0NmQyNTJjZjRmOGI0OGIzNzhmYmVmMDE4MTE4Y2NmNjk4Li5jY2I2MWNhM2Q5
ZTQ1NWRlMjMzMzk1MzhhYTNlNmNkYTE2MDRjNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NhbnZhc0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2FudmFzQmFz
ZS5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIENhbnZhc0Jhc2U6OnJlbW92ZU9ic2VydmVy
KENhbnZhc09ic2VydmVyJiBvYnNlcnZlcikKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRDaGFuZ2VDU1NDYW52YXNDbGllbnROb2RlcygqdGhpcyk7CiB9CiAKLXZvaWQgQ2Fu
dmFzQmFzZTo6bm90aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdlZChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCit2b2lkIENhbnZhc0Jhc2U6Om5vdGlmeU9ic2VydmVyc0NhbnZhc0NoYW5nZWQoT3B0aW9u
YWw8RmxvYXRSZWN0PiByZWN0KQogewogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2Vy
dmVycykKICAgICAgICAgb2JzZXJ2ZXItPmNhbnZhc0NoYW5nZWQoKnRoaXMsIHJlY3QpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9DYW52YXNCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NhbnZhc0Jhc2UuaAppbmRleCA4M2ZjNDY1NjJhYzJmZGUyOGRiZDdmYzc5ZTk0ZDcz
MzNhNWNlOWMyLi41NDRlNWQwOGJmNjA0OTZlMjA3NTNjZDViMjc2ZjAzNGRkYzBhM2Q2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NhbnZhc0Jhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0NhbnZhc0Jhc2UuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNDYW52YXNPYnNlcnZlclByb3h5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmLCBjb25zdCBG
bG9hdFJlY3QmIGNoYW5nZWRSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbnZhc0NoYW5n
ZWQoQ2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4gY2hhbmdlZFJlY3QpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY2FudmFzUmVzaXplZChDYW52YXNCYXNlJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBjYW52YXNEZXN0cm95ZWQoQ2FudmFzQmFzZSYpID0gMDsKIH07CkBAIC04OSw3ICs4
OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkT2JzZXJ2ZXIoQ2FudmFzT2JzZXJ2ZXImKTsK
ICAgICB2b2lkIHJlbW92ZU9ic2VydmVyKENhbnZhc09ic2VydmVyJik7Ci0gICAgdm9pZCBub3Rp
ZnlPYnNlcnZlcnNDYW52YXNDaGFuZ2VkKGNvbnN0IEZsb2F0UmVjdCYpOworICAgIHZvaWQgbm90
aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdlZChPcHRpb25hbDxGbG9hdFJlY3Q+KTsKICAgICB2b2lk
IG5vdGlmeU9ic2VydmVyc0NhbnZhc1Jlc2l6ZWQoKTsKICAgICB2b2lkIG5vdGlmeU9ic2VydmVy
c0NhbnZhc0Rlc3Ryb3llZCgpOyAvLyBNdXN0IGJlIGNhbGxlZCBpbiBkZXN0cnVjdGlvbiBiZWZv
cmUgY2xlYXJpbmcgbV9jb250ZXh0LgogCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEdyYXBoaWNzQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIEdyYXBoaWNzQ29udGV4dCogZXhpc3RpbmdEcmF3aW5nQ29udGV4dCgpIGNvbnN0OwogCi0g
ICAgdmlydHVhbCB2b2lkIGRpZERyYXcoY29uc3QgRmxvYXRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkaWREcmF3KE9wdGlvbmFsPEZsb2F0UmVjdD4pID0gMDsKIAogICAgIHZpcnR1YWwg
SW1hZ2UqIGNvcGllZEltYWdlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckNv
cGllZEltYWdlKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9D
dXN0b21QYWludENhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZh
cy5oCmluZGV4IDc5ZWY3MzVmNTcyY2E1ZmUxYmI1ZmMwMDQyNTI1YTYwMmIyNmIyYzIuLmUwNzRm
MjZkNWE2YTMzYmYzOTEzMzA2YmNhMTgxMjllZGJlODNiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0N1c3RvbVBhaW50Q2FudmFzLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIEdyYXBo
aWNzQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSBjb25zdCBmaW5hbDsKICAgICBHcmFwaGljc0Nv
bnRleHQqIGV4aXN0aW5nRHJhd2luZ0NvbnRleHQoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQg
ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmKSBmaW5hbCB7IH0KKyAgICB2b2lkIGRpZERyYXcoT3B0
aW9uYWw8RmxvYXRSZWN0PikgZmluYWwgeyB9CiAKICAgICBBZmZpbmVUcmFuc2Zvcm0gYmFzZVRy
YW5zZm9ybSgpIGNvbnN0IGZpbmFsIHsgQVNTRVJUKG1fZGVzdGluYXRpb25HcmFwaGljc0NvbnRl
eHQgJiYgbV9jb3BpZWRCdWZmZXIpOyByZXR1cm4gbV9jb3BpZWRCdWZmZXItPmJhc2VUcmFuc2Zv
cm0oKTsgfQogICAgIEltYWdlKiBjb3BpZWRJbWFnZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCBiZTA5YjNiODRjZjg3YjdhZjc0
OWI0ZDhiNmIzYTdjZjhiYTk4ZjA2Li40ZTY5MTQzMTE2ZDFiNTEwZmI3ZmZiNzliNzNjMWUyN2M1
ODllNWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAt
NTUzLDExICs1NTMsMTYgQEAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFz
RWxlbWVudDo6Z2V0Q29udGV4dEJpdG1hcFJlbmRlcmVyKGNvbnN0IFMKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0Kj4obV9jb250ZXh0LmdldCgpKTsK
IH0KIAotdm9pZCBIVE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCit2b2lkIEhUTUxDYW52YXNFbGVtZW50OjpkaWREcmF3KE9wdGlvbmFsPEZsb2F0UmVjdD4g
cmVjdCkKIHsKICAgICBjbGVhckNvcGllZEltYWdlKCk7CisgICAgCisgICAgaWYgKCFyZWN0KSB7
CisgICAgICAgIG5vdGlmeU9ic2VydmVyc0NhbnZhc0NoYW5nZWQoV1RGOjpudWxsb3B0KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIEZsb2F0UmVjdCBkaXJ0eVJlY3QgPSByZWN0Owor
ICAgIGF1dG8gZGlydHlSZWN0ID0gcmVjdC52YWx1ZSgpOwogICAgIGlmIChhdXRvKiByZW5kZXJl
ciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdDsKICAgICAgICAg
aWYgKGlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmgKaW5kZXggYWRkNzMyMGFlNGQ3MzFlYTczMzQ4NTQyNTVkNDYxNjYzNTg5
YTZjZC4uOTIwNmU0OGEzODExZjczYTdlNThjNzQ0NjFmMmFiZTMxMDdhNmRjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAtMTA2LDcgKzEwNiw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgLy8gVXNlZCBmb3IgcmVuZGVyaW5nCi0gICAgdm9pZCBkaWREcmF3
KGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgIHZvaWQgZGlkRHJhdyhPcHRpb25hbDxGbG9h
dFJlY3Q+KSBmaW5hbDsKIAogICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
TGF5b3V0UmVjdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCmluZGV4IDM3YzE3ZjFiNjRlMTFj
NDUxYTYzYjk0NzMxZTlmM2Y2MmMwZTJjNzQuLjg4ODk3MjkwMDA1NTNmN2U1MGIxMzU4YmZkYTI2
ZDRlYzRlYzcwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwCkBAIC0yMDAwLDcgKzIwMDAsNyBA
QCBFeGNlcHRpb25PcjxSZWZQdHI8Q2FudmFzUGF0dGVybj4+IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OmNyZWF0ZVBhdHRlcm4oVAogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2U6OmRpZERyYXdFbnRpcmVDYW52YXMoKQogewotICAgIGRpZERyYXcoRmxvYXRSZWN0KEZs
b2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzQmFzZSgpLnNpemUoKSksIERpZERyYXdPcHRpb246OkFw
cGx5Q2xpcCk7CisgICAgZGlkRHJhdyhiYWNraW5nU3RvcmVCb3VuZHMoKSwgRGlkRHJhd09wdGlv
bjo6QXBwbHlDbGlwKTsKIH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpk
aWREcmF3KGNvbnN0IEZsb2F0UmVjdCYgciwgT3B0aW9uU2V0PERpZERyYXdPcHRpb24+IG9wdGlv
bnMpCkBAIC0yMDQ0LDcgKzIwNDQsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJh
c2U6OnBhaW50UmVuZGVyaW5nUmVzdWx0c1RvQ2FudmFzKCkKICAgICBhdXRvJiBkaXNwbGF5TGlz
dCA9IG1fcmVjb3JkaW5nQ29udGV4dC0+ZGlzcGxheUxpc3QoKTsKICAgICBpZiAoIWRpc3BsYXlM
aXN0LmlzRW1wdHkoKSkgewogICAgICAgICBEaXNwbGF5TGlzdDo6UmVwbGF5ZXIgcmVwbGF5ZXIo
KmNhbnZhc0Jhc2UoKS5kcmF3aW5nQ29udGV4dCgpLCBkaXNwbGF5TGlzdCk7Ci0gICAgICAgIHJl
cGxheWVyLnJlcGxheSh7IEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzQmFzZSgpLnNpemUoKSB9
KTsKKyAgICAgICAgcmVwbGF5ZXIucmVwbGF5KGJhY2tpbmdTdG9yZUJvdW5kcygpKTsKICAgICAg
ICAgZGlzcGxheUxpc3QuY2xlYXIoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKaW5kZXgg
YTM4MmIwZDZlYWVjNzkwMjQzOWViMTkyN2EyODg0ZDE1NTYwZTI5Zi4uNDU4ODM2YzRlNzE2MTRj
NjNmNjE2ZjExZmNlMTRjYjc0MGJlNmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaApAQCAtMzE4LDYg
KzMxOCw4IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB2b2lkIGRpZERyYXcoY29uc3QgRmxvYXRS
ZWN0JiwgT3B0aW9uU2V0PERpZERyYXdPcHRpb24+ID0geyBEaWREcmF3T3B0aW9uOjpBcHBseVRy
YW5zZm9ybSwgRGlkRHJhd09wdGlvbjo6QXBwbHlTaGFkb3csIERpZERyYXdPcHRpb246OkFwcGx5
Q2xpcCB9KTsKICAgICB2b2lkIGRpZERyYXdFbnRpcmVDYW52YXMoKTsKKyAgICAKKyAgICBGbG9h
dFJlY3QgYmFja2luZ1N0b3JlQm91bmRzKCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0IHsgeyB9
LCBGbG9hdFNpemUgeyBjYW52YXNCYXNlKCkuc2l6ZSgpIH0gfTsgfQogCiAgICAgdm9pZCBwYWlu
dFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpIG92ZXJyaWRlOwogICAgIGJvb2wgbmVlZHNQcmVw
YXJhdGlvbkZvckRpc3BsYXkoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAKaW5kZXggMmJk
NmU0YzQ4ODQ3YTZlN2JiZTQ3NWE3NTUyZWEwZWZiZmQ1NzQ4Yi4uMTVhMzMxN2VmYmY2NGU1OWI4
OTMyNDQwNzc0ZTAzNjg0ZGM2Y2Q4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAKQEAgLTQ3NSw3ICs0NzUs
NyBAQCB2b2lkIEluc3BlY3RvckNhbnZhc0FnZW50OjpkaWRDaGFuZ2VDYW52YXNNZW1vcnkoQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dAogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+Y2FudmFzTWVtb3J5Q2hhbmdlZChpbnNwZWN0b3JDYW52YXMtPmlkZW50aWZpZXIoKSwgbm9k
ZS0+bWVtb3J5Q29zdCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDYW52YXNBZ2VudDo6Y2FudmFz
Q2hhbmdlZChDYW52YXNCYXNlJiBjYW52YXNCYXNlLCBjb25zdCBGbG9hdFJlY3QmKQordm9pZCBJ
bnNwZWN0b3JDYW52YXNBZ2VudDo6Y2FudmFzQ2hhbmdlZChDYW52YXNCYXNlJiBjYW52YXNCYXNl
LCBPcHRpb25hbDxGbG9hdFJlY3Q+KQogewogICAgIGF1dG8qIGNvbnRleHQgPSBjYW52YXNCYXNl
LnJlbmRlcmluZ0NvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmgKaW5kZXgg
NTBiMzM2Yzg5YjY2YTVhY2RmY2FkYzZkMWM3NDk1OWZmZDdlMzc1Yy4uNGRhNjg2YTA4NzAwN2Fj
NzI3ZTY4NjA1ZWRiMzJiNDg2Y2YyM2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaApAQCAtOTEsOSArOTEsOSBA
QCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoV0VCR1BVKQogCiAg
ICAgLy8gQ2FudmFzT2JzZXJ2ZXIKLSAgICB2b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYs
IGNvbnN0IEZsb2F0UmVjdCYpOwotICAgIHZvaWQgY2FudmFzUmVzaXplZChDYW52YXNCYXNlJikg
eyB9Ci0gICAgdm9pZCBjYW52YXNEZXN0cm95ZWQoQ2FudmFzQmFzZSYpOworICAgIHZvaWQgY2Fu
dmFzQ2hhbmdlZChDYW52YXNCYXNlJiwgT3B0aW9uYWw8RmxvYXRSZWN0PikgZmluYWw7CisgICAg
dm9pZCBjYW52YXNSZXNpemVkKENhbnZhc0Jhc2UmKSBmaW5hbCB7IH0KKyAgICB2b2lkIGNhbnZh
c0Rlc3Ryb3llZChDYW52YXNCYXNlJikgZmluYWw7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24KICAgICB2b2lkIGZyYW1lTmF2aWdhdGVkKEZyYW1lJik7Cg==
</data>
<flag name="commit-queue"
          id="442545"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423216</attachid>
            <date>2021-03-15 12:14:57 -0700</date>
            <delta_ts>2021-03-15 13:42:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223203-20210315121456.patch</filename>
            <type>text/plain</type>
            <size>16916</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBiOWQxZTM0MGYwYjcw
MmIwZGZjNzhmMDE3MTcxOTYxOTg3OTgyMy4uMmNiNjdlYTU3MWY4MTQ4MmZjNTgzZDc2OTY4ZGVl
OWUxMjlhY2VlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTAzLTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBjYW52
YXNDaGFuZ2VkKCkgdG8gdGFrZSBhIE9wdGlvbmFsPEZsb2F0UmVjdD4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIGEgcHJlY3Vyc29yIHRvIHdlYmtp
dC5vcmcvYi8yMjMwNTYsIGNoYW5nZSB0aGUgRmxvYXRSZWN0IGFyZ3VtZW50IHRvCisgICAgICAg
IGNhbnZhc0NoYW5nZWQoKSB0byBiZSBhbiBPcHRpb25hbDxGbG9hdFJlY3Q+LiBBIG51bGxvcHQg
dmFsdWUgaGVyZSBpbmRpY2F0ZXMKKyAgICAgICAgdGhhdCB0aGUgY2hhbmdlZCByZWN0IGlzIGlu
c2lkZSB0aGUgZXhpc3RpbmcgZGlydGllZCBib3VuZHMgb2YgdGhlIGNhbnZhcyBiYWNraW5nCisg
ICAgICAgIHN0b3JlIHNpbmNlIHRoZSBsYXN0IHJlcGFpbnQsIHNvIGNsaWVudHMgdGhhdCBhcmUg
dXNpbmcgdGhlIGNhbGxiYWNrIGZvciByZXBhaW50CisgICAgICAgIGRvbid0IG5lZWQgdG8gZG8g
YW55dGhpbmcuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVN
ZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNhbnZhc0NoYW5nZWQpOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5oOgorICAgICAgICAqIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYW52YXNWYWx1ZTo6Y2FudmFzQ2hhbmdl
ZCk6CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmg6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjYW52YXNDaGFuZ2VkKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0NhbnZhc0Jhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzQmFzZTo6bm90aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdl
ZCk6CisgICAgICAgICogaHRtbC9DYW52YXNCYXNlLmg6CisgICAgICAgICogaHRtbC9DdXN0b21Q
YWludENhbnZhcy5oOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmRpZERyYXcpOgorICAgICAgICAqIGh0
bWwvSFRNTENhbnZhc0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2U6OmRpZERyYXdFbnRpcmVDYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52
YXMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6OmJhY2tp
bmdTdG9yZUJvdW5kcyBjb25zdCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDYW52YXNBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXNBZ2Vu
dDo6Y2FudmFzQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
YW52YXNBZ2VudC5oOgorCiAyMDIxLTAzLTEwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTXVsdGktY29sdW1uIHN0YXRlIHByb3BhZ2F0aW9uIHNob3VsZCBmb2xs
b3cgY29udGFpbmluZyBibG9jayBydWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcAppbmRleCAwMTFjNTI2MDM5ODM3MTNhYmU3MDgzZjYyZTVlYTE5YTU4NDBiZTllLi44
NWJjOTJiOWM5MTU0YTQ3MTNhM2U2ZDdmYTc3N2UxMTAxNDQ5ODQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0Nh
cHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgQ2FudmFz
Q2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzUmVzaXplZChDYW52YXNCYXNl
JiBjYW52YXMpCiAgICAgc2V0U2l6ZShJbnRTaXplKG1fY2FudmFzLT53aWR0aCgpLCBtX2NhbnZh
cy0+aGVpZ2h0KCkpKTsKIH0KIAotdm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6
U291cmNlOjpjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhcywgY29uc3QgRmxvYXRSZWN0
JikKK3ZvaWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hh
bmdlZChDYW52YXNCYXNlJiBjYW52YXMsIE9wdGlvbmFsPEZsb2F0UmVjdD4pCiB7CiAgICAgQVNT
RVJUX1VOVVNFRChjYW52YXMsIG1fY2FudmFzID09ICZjYW52YXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVh
bVRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1
cmVNZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggZDY5ODNmYjI0MmM4OTQ2ZDljMDQzNGMxOTkxNjFk
NzljYThmZjcxYS4uMDMwMmEzNmQ3ZjhhMTI2OWM3NThkMjY5MzcxY2U3OTQ2YzBmYWQ5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJl
TWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaApAQCAtNjEsNyArNjEsNyBAQCBwcml2
YXRlOgogICAgICAgICBTb3VyY2UoSFRNTENhbnZhc0VsZW1lbnQmLCBPcHRpb25hbDxkb3VibGU+
JiYpOwogCiAgICAgICAgIC8vIENhbnZhc09ic2VydmVyIEFQSQotICAgICAgICB2b2lkIGNhbnZh
c0NoYW5nZWQoQ2FudmFzQmFzZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgICAgICB2
b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4pIGZpbmFs
OwogICAgICAgICB2b2lkIGNhbnZhc1Jlc2l6ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogICAgICAg
ICB2b2lkIGNhbnZhc0Rlc3Ryb3llZChDYW52YXNCYXNlJikgZmluYWw7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5oCmluZGV4IDJlZWYyMWU3YjAy
MWNhNzFjNTdhMTg5MjlmYWEyNmYzMzI1YzZiYTMuLjU1NmJmOTI3ZmM4ZDc1MzAyNTYzMTk2NTUx
OGVhM2I0YjRmOGFiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJXZWJHTExheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UldlYkdMTGF5ZXIuaApAQCAtMjksOCArMjksMTAgQEAKIAogI2luY2x1ZGUgIkNhbnZhc0Jhc2Uu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2lu
Y2x1ZGUgIldlYlhSTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgpAQCAtODcsNyArODksNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBJbnRTaXplIGNvbXB1dGVOYXRpdmVXZWJHTEZyYW1lYnVmZmVyUmVz
b2x1dGlvbigpOwogICAgIHN0YXRpYyBJbnRTaXplIGNvbXB1dGVSZWNvbW1lbmRlZFdlYkdMRnJh
bWVidWZmZXJSZXNvbHV0aW9uKCk7CiAKLSAgICB2b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFz
ZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsIHsgfTsKKyAgICB2b2lkIGNhbnZhc0NoYW5nZWQo
Q2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4pIGZpbmFsIHsgfTsKICAgICB2b2lkIGNh
bnZhc1Jlc2l6ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogICAgIHZvaWQgY2FudmFzRGVzdHJveWVk
KENhbnZhc0Jhc2UmKSBmaW5hbCB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYW52YXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUu
Y3BwCmluZGV4IGY3ZmIzNzJlZjZiMDE3MmJlMjk2Yjk2ODU1NTc1OTk2MjZmYWI1ZjIuLmYzNTRi
YzNmYWJkODZhODdmMTEzNmJkYjJlNGIzMDIyODBkMDc3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbnZhc1ZhbHVlLmNwcApAQCAtNDEsOSArNDEsMTIgQEAgU3RyaW5nIENTU0NhbnZhc1ZhbHVl
OjpjdXN0b21DU1NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gbWFrZVN0cmluZygiLXdlYmtpdC1j
YW52YXMoIiwgbV9uYW1lLCAnKScpOwogfQogCi12b2lkIENTU0NhbnZhc1ZhbHVlOjpjYW52YXND
aGFuZ2VkKEhUTUxDYW52YXNFbGVtZW50JiwgY29uc3QgRmxvYXRSZWN0JiBjaGFuZ2VkUmVjdCkK
K3ZvaWQgQ1NTQ2FudmFzVmFsdWU6OmNhbnZhc0NoYW5nZWQoSFRNTENhbnZhc0VsZW1lbnQmLCBP
cHRpb25hbDxGbG9hdFJlY3Q+IGNoYW5nZWRSZWN0KQogewotICAgIEludFJlY3QgaW1hZ2VDaGFu
Z2VSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChjaGFuZ2VkUmVjdCk7CisgICAgaWYgKCFjaGFuZ2Vk
UmVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBpbWFnZUNoYW5nZVJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KGNoYW5nZWRSZWN0LnZhbHVlKCkpOwogICAgIGZvciAoYXV0byBpdCA9IGNs
aWVudHMoKS5iZWdpbigpLCBlbmQgPSBjbGllbnRzKCkuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkK
ICAgICAgICAgaXQtPmtleS0+aW1hZ2VDaGFuZ2VkKHN0YXRpY19jYXN0PFdyYXBwZWRJbWFnZVB0
cj4odGhpcyksICZpbWFnZUNoYW5nZVJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuaAppbmRleCA4MTE1NDZiM2EyZTczZjMxYjRmZmRmN2ZhM2I5MWNiYTVmMzc2Nzc3Li5kY2Fl
ODU1Y2IyYjQwOTNjNmM5OGFlNTlhNjdjZWE4ZjdkOTAyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FudmFzVmFsdWUuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IENT
U0NhbnZhc1ZhbHVlJiBvd25lclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9vd25lclZhbHVlOyB9
CiAKICAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYg
Y2FudmFzQmFzZSwgY29uc3QgRmxvYXRSZWN0JiBjaGFuZ2VkUmVjdCkgZmluYWwKKyAgICAgICAg
dm9pZCBjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhc0Jhc2UsIE9wdGlvbmFsPEZsb2F0
UmVjdD4gY2hhbmdlZFJlY3QpIGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVChp
czxIVE1MQ2FudmFzRWxlbWVudD4oY2FudmFzQmFzZSkpOwogICAgICAgICAgICAgbV9vd25lclZh
bHVlLmNhbnZhc0NoYW5nZWQoZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGNhbnZhc0Jhc2Up
LCBjaGFuZ2VkUmVjdCk7CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0K
IAotICAgIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCYsIGNvbnN0IEZsb2F0
UmVjdCYgY2hhbmdlZFJlY3QpOworICAgIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxl
bWVudCYsIE9wdGlvbmFsPEZsb2F0UmVjdD4gY2hhbmdlZFJlY3QpOwogICAgIHZvaWQgY2FudmFz
UmVzaXplZChIVE1MQ2FudmFzRWxlbWVudCYpOwogICAgIHZvaWQgY2FudmFzRGVzdHJveWVkKEhU
TUxDYW52YXNFbGVtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGI5OTUyMzM0
MDM2OGNjNjU4YWYwY2ExMjdmNmQyZjQ4NzEyZWQ3YzQuLjk1NTVmZjJmY2IwMGMxMTUyM2QxMDI5
ZTZiNGFhYTYwYWFjMThjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODc4Niw3ICs4
Nzg2LDcgQEAgdm9pZCBEb2N1bWVudDo6Y2xlYXJDYW52YXNQcmVwYXJhdGlvbihIVE1MQ2FudmFz
RWxlbWVudCogY2FudmFzKQogICAgIG1fY2FudmFzZXNOZWVkaW5nRGlzcGxheVByZXBhcmF0aW9u
LnJlbW92ZShjYW52YXMpOwogfQogCi12b2lkIERvY3VtZW50OjpjYW52YXNDaGFuZ2VkKENhbnZh
c0Jhc2UmIGNhbnZhc0Jhc2UsIGNvbnN0IEZsb2F0UmVjdCYpCit2b2lkIERvY3VtZW50OjpjYW52
YXNDaGFuZ2VkKENhbnZhc0Jhc2UmIGNhbnZhc0Jhc2UsIE9wdGlvbmFsPEZsb2F0UmVjdD4pCiB7
CiAgICAgaWYgKGlzPEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKSkgewogICAgICAgICBh
dXRvKiBjYW52YXMgPSBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oJmNhbnZhc0Jhc2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAppbmRleCA5ZDQwMTVhMjRkMjNkYTc0MDM0OGI1YTNkZDhiYWMzZjdj
MjEyNDBkLi4yNjAwMGRjYjJhY2I4ZWRiYmVmYzZjMWY0MTNkMjJmYmMxZThhNGNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaApAQCAtMTYxMCw3ICsxNjEwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBw
cmVwYXJlQ2FudmFzZXNGb3JEaXNwbGF5SWZOZWVkZWQoKTsKICAgICB2b2lkIGNsZWFyQ2FudmFz
UHJlcGFyYXRpb24oSFRNTENhbnZhc0VsZW1lbnQqKTsKLSAgICB2b2lkIGNhbnZhc0NoYW5nZWQo
Q2FudmFzQmFzZSYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgIHZvaWQgY2FudmFzQ2hh
bmdlZChDYW52YXNCYXNlJiwgT3B0aW9uYWw8RmxvYXRSZWN0PikgZmluYWw7CiAgICAgdm9pZCBj
YW52YXNSZXNpemVkKENhbnZhc0Jhc2UmKSBmaW5hbCB7IH07CiAgICAgdm9pZCBjYW52YXNEZXN0
cm95ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0NhbnZhc0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DYW52YXNCYXNlLmNwcApp
bmRleCBlZDA1NjI0NmQyNTJjZjRmOGI0OGIzNzhmYmVmMDE4MTE4Y2NmNjk4Li5jY2I2MWNhM2Q5
ZTQ1NWRlMjMzMzk1MzhhYTNlNmNkYTE2MDRjNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NhbnZhc0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2FudmFzQmFz
ZS5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIENhbnZhc0Jhc2U6OnJlbW92ZU9ic2VydmVy
KENhbnZhc09ic2VydmVyJiBvYnNlcnZlcikKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRDaGFuZ2VDU1NDYW52YXNDbGllbnROb2RlcygqdGhpcyk7CiB9CiAKLXZvaWQgQ2Fu
dmFzQmFzZTo6bm90aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdlZChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCit2b2lkIENhbnZhc0Jhc2U6Om5vdGlmeU9ic2VydmVyc0NhbnZhc0NoYW5nZWQoT3B0aW9u
YWw8RmxvYXRSZWN0PiByZWN0KQogewogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2Vy
dmVycykKICAgICAgICAgb2JzZXJ2ZXItPmNhbnZhc0NoYW5nZWQoKnRoaXMsIHJlY3QpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9DYW52YXNCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NhbnZhc0Jhc2UuaAppbmRleCA4M2ZjNDY1NjJhYzJmZGUyOGRiZDdmYzc5ZTk0ZDcz
MzNhNWNlOWMyLi41NDRlNWQwOGJmNjA0OTZlMjA3NTNjZDViMjc2ZjAzNGRkYzBhM2Q2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NhbnZhc0Jhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0NhbnZhc0Jhc2UuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNDYW52YXNPYnNlcnZlclByb3h5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2UmLCBjb25zdCBG
bG9hdFJlY3QmIGNoYW5nZWRSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbnZhc0NoYW5n
ZWQoQ2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4gY2hhbmdlZFJlY3QpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY2FudmFzUmVzaXplZChDYW52YXNCYXNlJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBjYW52YXNEZXN0cm95ZWQoQ2FudmFzQmFzZSYpID0gMDsKIH07CkBAIC04OSw3ICs4
OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkT2JzZXJ2ZXIoQ2FudmFzT2JzZXJ2ZXImKTsK
ICAgICB2b2lkIHJlbW92ZU9ic2VydmVyKENhbnZhc09ic2VydmVyJik7Ci0gICAgdm9pZCBub3Rp
ZnlPYnNlcnZlcnNDYW52YXNDaGFuZ2VkKGNvbnN0IEZsb2F0UmVjdCYpOworICAgIHZvaWQgbm90
aWZ5T2JzZXJ2ZXJzQ2FudmFzQ2hhbmdlZChPcHRpb25hbDxGbG9hdFJlY3Q+KTsKICAgICB2b2lk
IG5vdGlmeU9ic2VydmVyc0NhbnZhc1Jlc2l6ZWQoKTsKICAgICB2b2lkIG5vdGlmeU9ic2VydmVy
c0NhbnZhc0Rlc3Ryb3llZCgpOyAvLyBNdXN0IGJlIGNhbGxlZCBpbiBkZXN0cnVjdGlvbiBiZWZv
cmUgY2xlYXJpbmcgbV9jb250ZXh0LgogCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEdyYXBoaWNzQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIEdyYXBoaWNzQ29udGV4dCogZXhpc3RpbmdEcmF3aW5nQ29udGV4dCgpIGNvbnN0OwogCi0g
ICAgdmlydHVhbCB2b2lkIGRpZERyYXcoY29uc3QgRmxvYXRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkaWREcmF3KE9wdGlvbmFsPEZsb2F0UmVjdD4pID0gMDsKIAogICAgIHZpcnR1YWwg
SW1hZ2UqIGNvcGllZEltYWdlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckNv
cGllZEltYWdlKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9D
dXN0b21QYWludENhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZh
cy5oCmluZGV4IDc5ZWY3MzVmNTcyY2E1ZmUxYmI1ZmMwMDQyNTI1YTYwMmIyNmIyYzIuLmUwNzRm
MjZkNWE2YTMzYmYzOTEzMzA2YmNhMTgxMjllZGJlODNiNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0N1c3RvbVBhaW50Q2FudmFzLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIEdyYXBo
aWNzQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSBjb25zdCBmaW5hbDsKICAgICBHcmFwaGljc0Nv
bnRleHQqIGV4aXN0aW5nRHJhd2luZ0NvbnRleHQoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQg
ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmKSBmaW5hbCB7IH0KKyAgICB2b2lkIGRpZERyYXcoT3B0
aW9uYWw8RmxvYXRSZWN0PikgZmluYWwgeyB9CiAKICAgICBBZmZpbmVUcmFuc2Zvcm0gYmFzZVRy
YW5zZm9ybSgpIGNvbnN0IGZpbmFsIHsgQVNTRVJUKG1fZGVzdGluYXRpb25HcmFwaGljc0NvbnRl
eHQgJiYgbV9jb3BpZWRCdWZmZXIpOyByZXR1cm4gbV9jb3BpZWRCdWZmZXItPmJhc2VUcmFuc2Zv
cm0oKTsgfQogICAgIEltYWdlKiBjb3BpZWRJbWFnZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCBiZTA5YjNiODRjZjg3YjdhZjc0
OWI0ZDhiNmIzYTdjZjhiYTk4ZjA2Li40ZTY5MTQzMTE2ZDFiNTEwZmI3ZmZiNzliNzNjMWUyN2M1
ODllNWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAt
NTUzLDExICs1NTMsMTYgQEAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFz
RWxlbWVudDo6Z2V0Q29udGV4dEJpdG1hcFJlbmRlcmVyKGNvbnN0IFMKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0Kj4obV9jb250ZXh0LmdldCgpKTsK
IH0KIAotdm9pZCBIVE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCit2b2lkIEhUTUxDYW52YXNFbGVtZW50OjpkaWREcmF3KE9wdGlvbmFsPEZsb2F0UmVjdD4g
cmVjdCkKIHsKICAgICBjbGVhckNvcGllZEltYWdlKCk7CisgICAgCisgICAgaWYgKCFyZWN0KSB7
CisgICAgICAgIG5vdGlmeU9ic2VydmVyc0NhbnZhc0NoYW5nZWQoV1RGOjpudWxsb3B0KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIEZsb2F0UmVjdCBkaXJ0eVJlY3QgPSByZWN0Owor
ICAgIGF1dG8gZGlydHlSZWN0ID0gcmVjdC52YWx1ZSgpOwogICAgIGlmIChhdXRvKiByZW5kZXJl
ciA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdDsKICAgICAgICAg
aWYgKGlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJlcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmgKaW5kZXggYWRkNzMyMGFlNGQ3MzFlYTczMzQ4NTQyNTVkNDYxNjYzNTg5
YTZjZC4uOTIwNmU0OGEzODExZjczYTdlNThjNzQ0NjFmMmFiZTMxMDdhNmRjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAtMTA2LDcgKzEwNiw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgLy8gVXNlZCBmb3IgcmVuZGVyaW5nCi0gICAgdm9pZCBkaWREcmF3
KGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOworICAgIHZvaWQgZGlkRHJhdyhPcHRpb25hbDxGbG9h
dFJlY3Q+KSBmaW5hbDsKIAogICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
TGF5b3V0UmVjdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVl
bkNhbnZhcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAKaW5k
ZXggMThlOGVlYjVkOGEyNGExM2UxMDkzNjQ3NmVlMDBmN2ZlOWIyZDcxOS4uZWEzNjZjZTk1NTJk
YzM4ZTI1ZGJmNDZkZTIwMWI0MDczMzBkNDA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9PZmZzY3JlZW5DYW52YXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2Ny
ZWVuQ2FudmFzLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgT2Zmc2NyZWVuQ2FudmFzOjpj
b252ZXJ0VG9CbG9iKEltYWdlRW5jb2RlT3B0aW9ucyYmIG9wdGlvbnMsIFJlZjxEZWZlcnJlZFBy
CiAgICAgcHJvbWlzZS0+cmVzb2x2ZVdpdGhOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPEJsb2I+
PihXVEZNb3ZlKGJsb2IpKTsKIH0KIAotdm9pZCBPZmZzY3JlZW5DYW52YXM6OmRpZERyYXcoY29u
c3QgRmxvYXRSZWN0JiByZWN0KQordm9pZCBPZmZzY3JlZW5DYW52YXM6OmRpZERyYXcoT3B0aW9u
YWw8RmxvYXRSZWN0PiByZWN0KQogewogICAgIGNsZWFyQ29waWVkSW1hZ2UoKTsKICAgICBzY2hl
ZHVsZUNvbW1pdFRvUGxhY2Vob2xkZXJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVl
bkNhbnZhcy5oCmluZGV4IDdjMmY4NDBjMDI4YzU4MTBiNzEzYWMyZGE5ZTY1M2VmNjc1NWQxYWUu
Ljg5NTZkMGMwNTBiMTU0ZDQ5MWQ2ODc2YzUwYTBhYjU4ODkwYTZhNjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9PZmZzY3JlZW5DYW52YXMuaApAQCAtMTI4LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAgICBF
eGNlcHRpb25PcjxSZWZQdHI8SW1hZ2VCaXRtYXA+PiB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKTsK
ICAgICB2b2lkIGNvbnZlcnRUb0Jsb2IoSW1hZ2VFbmNvZGVPcHRpb25zJiYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogCi0gICAgdm9pZCBkaWREcmF3KGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFs
OworICAgIHZvaWQgZGlkRHJhdyhPcHRpb25hbDxGbG9hdFJlY3Q+KSBmaW5hbDsKIAogICAgIElt
YWdlKiBjb3BpZWRJbWFnZSgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY2xlYXJDb3BpZWRJbWFn
ZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRleCAzN2MxN2YxYjY0ZTEx
YzQ1MWE2M2I5NDczMWU5ZjNmNjJjMGUyYzc0Li44ODg5NzI5MDAwNTUzZjdlNTBiMTM1OGJmZGEy
NmQ0ZWM0ZWM3MDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAtMjAwMCw3ICsyMDAwLDcg
QEAgRXhjZXB0aW9uT3I8UmVmUHRyPENhbnZhc1BhdHRlcm4+PiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlOjpjcmVhdGVQYXR0ZXJuKFQKIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlOjpkaWREcmF3RW50aXJlQ2FudmFzKCkKIHsKLSAgICBkaWREcmF3KEZsb2F0UmVjdChG
bG9hdFBvaW50Ojp6ZXJvKCksIGNhbnZhc0Jhc2UoKS5zaXplKCkpLCBEaWREcmF3T3B0aW9uOjpB
cHBseUNsaXApOworICAgIGRpZERyYXcoYmFja2luZ1N0b3JlQm91bmRzKCksIERpZERyYXdPcHRp
b246OkFwcGx5Q2xpcCk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6
ZGlkRHJhdyhjb25zdCBGbG9hdFJlY3QmIHIsIE9wdGlvblNldDxEaWREcmF3T3B0aW9uPiBvcHRp
b25zKQpAQCAtMjA0NCw3ICsyMDQ0LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlOjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAgICAgYXV0byYgZGlzcGxheUxp
c3QgPSBtX3JlY29yZGluZ0NvbnRleHQtPmRpc3BsYXlMaXN0KCk7CiAgICAgaWYgKCFkaXNwbGF5
TGlzdC5pc0VtcHR5KCkpIHsKICAgICAgICAgRGlzcGxheUxpc3Q6OlJlcGxheWVyIHJlcGxheWVy
KCpjYW52YXNCYXNlKCkuZHJhd2luZ0NvbnRleHQoKSwgZGlzcGxheUxpc3QpOwotICAgICAgICBy
ZXBsYXllci5yZXBsYXkoeyBGbG9hdFBvaW50Ojp6ZXJvKCksIGNhbnZhc0Jhc2UoKS5zaXplKCkg
fSk7CisgICAgICAgIHJlcGxheWVyLnJlcGxheShiYWNraW5nU3RvcmVCb3VuZHMoKSk7CiAgICAg
ICAgIGRpc3BsYXlMaXN0LmNsZWFyKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCmluZGV4
IGEzODJiMGQ2ZWFlYzc5MDI0MzllYjE5MjdhMjg4NGQxNTU2MGUyOWYuLjQ1ODgzNmM0ZTcxNjE0
YzYzZjYxNmYxMWZjZTE0Y2I3NDBiZTZmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKQEAgLTMxOCw2
ICszMTgsOCBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdm9pZCBkaWREcmF3KGNvbnN0IEZsb2F0
UmVjdCYsIE9wdGlvblNldDxEaWREcmF3T3B0aW9uPiA9IHsgRGlkRHJhd09wdGlvbjo6QXBwbHlU
cmFuc2Zvcm0sIERpZERyYXdPcHRpb246OkFwcGx5U2hhZG93LCBEaWREcmF3T3B0aW9uOjpBcHBs
eUNsaXAgfSk7CiAgICAgdm9pZCBkaWREcmF3RW50aXJlQ2FudmFzKCk7CisgICAgCisgICAgRmxv
YXRSZWN0IGJhY2tpbmdTdG9yZUJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCB7IHsg
fSwgRmxvYXRTaXplIHsgY2FudmFzQmFzZSgpLnNpemUoKSB9IH07IH0KIAogICAgIHZvaWQgcGFp
bnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52YXMoKSBvdmVycmlkZTsKICAgICBib29sIG5lZWRzUHJl
cGFyYXRpb25Gb3JEaXNwbGF5KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCmluZGV4IDJi
ZDZlNGM0ODg0N2E2ZTdiYmU0NzVhNzU1MmVhMGVmYmZkNTc0OGIuLjE1YTMzMTdlZmJmNjRlNTli
ODkzMjQ0MDc3NGUwMzY4NGRjNmNkODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCkBAIC00NzUsNyArNDc1
LDcgQEAgdm9pZCBJbnNwZWN0b3JDYW52YXNBZ2VudDo6ZGlkQ2hhbmdlQ2FudmFzTWVtb3J5KENh
bnZhc1JlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQKICAgICAgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmNhbnZhc01lbW9yeUNoYW5nZWQoaW5zcGVjdG9yQ2FudmFzLT5pZGVudGlmaWVyKCksIG5v
ZGUtPm1lbW9yeUNvc3QoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OmNhbnZh
c0NoYW5nZWQoQ2FudmFzQmFzZSYgY2FudmFzQmFzZSwgY29uc3QgRmxvYXRSZWN0JikKK3ZvaWQg
SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OmNhbnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYgY2FudmFzQmFz
ZSwgT3B0aW9uYWw8RmxvYXRSZWN0PikKIHsKICAgICBhdXRvKiBjb250ZXh0ID0gY2FudmFzQmFz
ZS5yZW5kZXJpbmdDb250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5oCmluZGV4
IDUwYjMzNmM4OWI2NmE1YWNkZmNhZGM2ZDFjNzQ5NTlmZmQ3ZTM3NWMuLjRkYTY4NmEwODcwMDdh
YzcyN2U2ODYwNWVkYjMyYjQ4NmNmMjNlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmgKQEAgLTkxLDkgKzkxLDkg
QEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKFdFQkdQVSkKIAog
ICAgIC8vIENhbnZhc09ic2VydmVyCi0gICAgdm9pZCBjYW52YXNDaGFuZ2VkKENhbnZhc0Jhc2Um
LCBjb25zdCBGbG9hdFJlY3QmKTsKLSAgICB2b2lkIGNhbnZhc1Jlc2l6ZWQoQ2FudmFzQmFzZSYp
IHsgfQotICAgIHZvaWQgY2FudmFzRGVzdHJveWVkKENhbnZhc0Jhc2UmKTsKKyAgICB2b2lkIGNh
bnZhc0NoYW5nZWQoQ2FudmFzQmFzZSYsIE9wdGlvbmFsPEZsb2F0UmVjdD4pIGZpbmFsOworICAg
IHZvaWQgY2FudmFzUmVzaXplZChDYW52YXNCYXNlJikgZmluYWwgeyB9CisgICAgdm9pZCBjYW52
YXNEZXN0cm95ZWQoQ2FudmFzQmFzZSYpIGZpbmFsOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uCiAgICAgdm9pZCBmcmFtZU5hdmlnYXRlZChGcmFtZSYpOwo=
</data>
<flag name="review"
          id="442544"
          type_id="1"
          status="+"
          setter="sabouhallawa"
    />
          </attachment>
      

    </bug>

</bugzilla>