<?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>216989</bug_id>
          
          <creation_ts>2020-09-25 13:06:22 -0700</creation_ts>
          <short_desc>Avoid having to call context.lazyInitialize() in every AudioNode factory function</short_desc>
          <delta_ts>2020-09-25 17:03:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</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>
          <dependson>216988</dependson>
          <blocked>212611</blocked>
    
    <blocked>216994</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691999</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 13:06:22 -0700</bug_when>
    <thetext>Avoid having to call context.lazyInitialize() in every AudioNode factory function. Replace all these calls with a single one inside the AudioNode constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692003</commentid>
    <comment_count>1</comment_count>
      <attachid>409728</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 13:12:33 -0700</bug_when>
    <thetext>Created attachment 409728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692083</commentid>
    <comment_count>2</comment_count>
      <attachid>409755</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 16:12:44 -0700</bug_when>
    <thetext>Created attachment 409755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692097</commentid>
    <comment_count>3</comment_count>
      <attachid>409728</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-25 16:30:09 -0700</bug_when>
    <thetext>Comment on attachment 409728
Patch

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

&gt; Source/WebCore/Modules/webaudio/BaseAudioContext.cpp:233
&gt; +    if (!isOfflineContext())
&gt; +        ++s_hardwareContextCount;

Change log doesn’t mention this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692099</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 16:31:22 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 409728 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409728&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/BaseAudioContext.cpp:233
&gt; &gt; +    if (!isOfflineContext())
&gt; &gt; +        ++s_hardwareContextCount;
&gt; 
&gt; Change log doesn’t mention this change.

Yes, this was a left over change I did not mean to upload. This is why I uploaded another iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692113</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-25 17:02:03 -0700</bug_when>
    <thetext>Committed r267609: &lt;https://trac.webkit.org/changeset/267609&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409755.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692114</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-25 17:03:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/69601798&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409728</attachid>
            <date>2020-09-25 13:12:33 -0700</date>
            <delta_ts>2020-09-25 16:12:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216989-20200925131232.patch</filename>
            <type>text/plain</type>
            <size>18073</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZjNmI1MTM0NWZiNjc0
OTJkNzZkN2VmZjllZGEwODYzMDFhYTdhMy4uMjZlMmY0YjNiYTg5YWE5NzUzNzRjMzYyNDk1NjMw
NmJhMzdkZTVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIwLTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgaGF2aW5nIHRvIGNh
bGwgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpIGluIGV2ZXJ5IEF1ZGlvTm9kZSBmYWN0b3J5IGZ1
bmN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTY5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
dm9pZCBoYXZpbmcgdG8gY2FsbCBjb250ZXh0LmxhenlJbml0aWFsaXplKCkgaW4gZXZlcnkgQXVk
aW9Ob2RlIGZhY3RvcnkgZnVuY3Rpb24uCisgICAgICAgIFJlcGxhY2UgYWxsIHRoZXNlIGNhbGxz
IHdpdGggYSBzaW5nbGUgb25lIGluc2lkZSB0aGUgQXVkaW9Ob2RlIGNvbnN0cnVjdG9yLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gV2ViIGZhY2luZyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBbmFseXNlck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJT
b3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTm9kZTo6QXVkaW9Ob2RlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvQ29udGV4dDo6bGF6eUluaXRpYWxpemUpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWRG
aWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1l
cmdlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29uc3RhbnRTb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2Rl
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlbGF5Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHlu
YW1pY3NDb21wcmVzc29yTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L0dhaW5Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJSVJGaWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3NjaWxsYXRvck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5u
ZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU3Rl
cmVvUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGVyZW9QYW5uZXJOb2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlck5vZGU6OmNyZWF0ZSk6CisKIDIwMjAtMDktMjUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIEF1ZGlvTm9k
ZTo6c2V0Tm9kZVR5cGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BbmFseXNlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
bmFseXNlck5vZGUuY3BwCmluZGV4IDMxMDE3NzQ1NDA3ZGFhMzc0MWFhNDk4OWJlNTJkOGI4ZWY0
YmEwMGQuLjNmZGYyMzhlOWU3ZDRlNTgzOWUyMWEwMzFmOGNhMjg5YmFhNmNjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKQEAgLTQw
LDggKzQwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPEFuYWx5c2VyTm9kZT4+IEFuYWx5c2VyTm9kZTo6
Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGMKIHsKICAgICBpZiAoY29udGV4dC5p
c1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07Ci0KLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7CiAgICAgCiAgICAgYXV0byBhbmFs
eXNlciA9IGFkb3B0UmVmKCpuZXcgQW5hbHlzZXJOb2RlKGNvbnRleHQpKTsKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlLmNwcAppbmRleCAxMjlkNDFjNjYwYTgwYmJhOGQ1MTUwNTgwZDllODhlY2JlZTQwNjEz
Li43ODI5NjgyYWI4Njg3M2U0NDU5NjVjNDk3YzkxNzgzNTRhZjNjZWVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwCkBAIC03MCw4ICs3MCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU+PiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZShCYXNlQXVkaW9DCiAgICAgaWYg
KGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0
byBub2RlID0gYWRvcHRSZWYoKm5ldyBBdWRpb0J1ZmZlclNvdXJjZU5vZGUoY29udGV4dCkpOwog
CiAgICAgbm9kZS0+c2V0QnVmZmVyKFdURk1vdmUob3B0aW9ucy5idWZmZXIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcAppbmRleCBmZWUyYTFjNWNk
ZWMyZjY3MGYzODEyMmQ3NzIxZWNjMDY4NTdkOWVmLi5lZTcxZDI5OWVjMTZmMDdjNWIxMGYwY2Zl
MjU2MmZlODVkN2FkMDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb05vZGUuY3BwCkBAIC0xMTQsNiArMTE0LDEwIEBAIEF1ZGlvTm9kZTo6QXVkaW9Ob2RlKEJh
c2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIE5vZGVUeXBlIHR5cGUpCiAgICAgICAgIGF0ZXhpdChB
dWRpb05vZGU6OnByaW50Tm9kZUNvdW50cyk7CiAgICAgfQogI2VuZGlmCisKKyAgICAvLyBBdWRp
b0Rlc3RpbmF0aW9uTm9kZXMgYXJlIG5vdCBjb25zdHJ1Y3RlZCBieSBKUyBhbmQgc2hvdWxkIG5v
dCBjYXVzZSBsYXp5IGluaXRpYWxpemF0aW9uLgorICAgIGlmICh0eXBlICE9IE5vZGVUeXBlRGVz
dGluYXRpb24pCisgICAgICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKIH0KIAogQXVkaW9O
b2RlOjp+QXVkaW9Ob2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCmluZGV4IDdjOTYxOWY1ZGNkNTExYjBhYTgxYzQ5NzY4
MjM0ZTZlYTdhNzIxNTMuLjEyOTQ2MTBkOTI0ODIxZDU2YmYxNjBiMDkwMzMxZDQxYjRmMjlhZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmNwcApAQCAtMjI2LDkgKzIyNiwxMiBAQCB2b2lkIEJhc2VBdWRpb0NvbnRleHQ6Omxh
enlJbml0aWFsaXplKCkKICAgICAgICAgICAgIC8vIE5PVEU6IGZvciBub3cgZGVmYXVsdCBBdWRp
b0NvbnRleHQgZG9lcyBub3QgbmVlZCBhbiBleHBsaWNpdCBzdGFydFJlbmRlcmluZygpIGNhbGwg
ZnJvbSBKYXZhU2NyaXB0LgogICAgICAgICAgICAgLy8gV2UgbWF5IHdhbnQgdG8gY29uc2lkZXIg
cmVxdWlyaW5nIGl0IGZvciBzeW1tZXRyeSB3aXRoIE9mZmxpbmVBdWRpb0NvbnRleHQuCiAgICAg
ICAgICAgICBzdGFydFJlbmRlcmluZygpOwotICAgICAgICAgICAgKytzX2hhcmR3YXJlQ29udGV4
dENvdW50OwogICAgICAgICB9CiAgICAgfQorCisgICAgaWYgKCFpc09mZmxpbmVDb250ZXh0KCkp
CisgICAgICAgICsrc19oYXJkd2FyZUNvbnRleHRDb3VudDsKKwogICAgIG1faXNJbml0aWFsaXpl
ZCA9IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0JpcXVhZEZpbHRlck5vZGUuY3BwCmluZGV4IGRmOWM0YTdmZDBjN2Q4ZmQyYzg5ODU3NjQyMGMx
NDBmYzA5NWE3ZjguLjhkYWUzNWFkZWU3Njk2OTE2MzQxY2M0Y2FiOGY5NWNlMTliNjkyZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmNwcApAQCAtMzgsOCArMzgsNiBAQCBFeGNlcHRpb25PcjxSZWY8QmlxdWFkRmlsdGVyTm9k
ZT4+IEJpcXVhZEZpbHRlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjbwogICAgIGlm
IChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIGF1
dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgQmlxdWFkRmlsdGVyTm9kZShjb250ZXh0KSk7CiAKICAg
ICBhdXRvIHJlc3VsdCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAy
LCBDaGFubmVsQ291bnRNb2RlOjpNYXgsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMg
fSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxN
ZXJnZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1l
cmdlck5vZGUuY3BwCmluZGV4IDZmNzk3MDFmNjVkMTlkZmFlM2FjZWNjOTk5ZDgxNDYzNmExZTRj
ZmEuLjljOGQyOWRkY2UwYTgxNWNhZTBhYTVjN2Y5YWEyNTFjZTBhYzM2MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3Bw
CkBAIC00NSw4ICs0NSw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxDaGFubmVsTWVyZ2VyTm9kZT4+IENo
YW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYKIHsKICAgICBpZiAoY29u
dGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yIH07Ci0KLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7CiAgICAgCiAgICAgaWYg
KG9wdGlvbnMubnVtYmVyT2ZJbnB1dHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5l
bHMoKSB8fCAhb3B0aW9ucy5udW1iZXJPZklucHV0cykKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IEluZGV4U2l6ZUVycm9yLCAiTnVtYmVyIG9mIGlucHV0cyBpcyBub3QgaW4gdGhlIGFsbG93
ZWQgcmFuZ2UuIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAppbmRleCBlNGE5MThjYzY5MGVkOTdmYjM0ZGZj
MTVlOTlhZGI1MWM1ZjhhMTMwLi5hYzJlNjdjYzNhM2E4NzE4OGZmNDAwZDRiNDdlNGVlM2NmZmU5
NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxT
cGxpdHRlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hh
bm5lbFNwbGl0dGVyTm9kZS5jcHAKQEAgLTQxLDggKzQxLDYgQEAgRXhjZXB0aW9uT3I8UmVmPENo
YW5uZWxTcGxpdHRlck5vZGU+PiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlv
Q29udGUKIHsKICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KLSAgICBjb250ZXh0LmxhenlJbml0aWFs
aXplKCk7CiAgICAgCiAgICAgaWYgKG9wdGlvbnMubnVtYmVyT2ZPdXRwdXRzID4gQXVkaW9Db250
ZXh0OjptYXhOdW1iZXJPZkNoYW5uZWxzKCkgfHwgIW9wdGlvbnMubnVtYmVyT2ZPdXRwdXRzKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IsICJOdW1iZXIgb2Ygb3V0
cHV0cyBpcyBub3QgaW4gdGhlIGFsbG93ZWQgcmFuZ2UiX3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmNwcAppbmRleCA0
NTUwMDAwOWE4MDA5ZjVjNDlhYmFhMjI3NWI1MzZjYmRiZWM3NDkwLi44YzM4ZjdiOTA3MmZiOTRj
NWY1ZWExZTBhMDdhMzdjYjIyZjNkNDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwCkBAIC00NCw4ICs0NCw2IEBA
IEV4Y2VwdGlvbk9yPFJlZjxDb25zdGFudFNvdXJjZU5vZGU+PiBDb25zdGFudFNvdXJjZU5vZGU6
OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0CiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogICAgIAotICAg
IGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLSAgICAKICAgICBhdXRvIG5vZGUgPSBhZG9wdFJl
ZigqbmV3IENvbnN0YW50U291cmNlTm9kZShjb250ZXh0LCBvcHRpb25zLm9mZnNldCkpOwogICAg
IAogICAgIGNvbnRleHQucmVmTm9kZShub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCmluZGV4IGQ1NTI0YmVjMDc1ZjFlNmEzNjdj
NzdhYzZlNDVkNTdhYWU2Y2RhNzkuLjRlYWRiN2M5NjE1NTZiM2NiODY2MDZmNjg5NWFkYzI2NGI5
OTgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9s
dmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2
ZXJOb2RlLmNwcApAQCAtNjAsOCArNjAsNiBAQCBFeGNlcHRpb25PcjxSZWY8Q29udm9sdmVyTm9k
ZT4+IENvbnZvbHZlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LAogICAg
IGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZFN0YXRlRXJyb3IgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAg
IGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgQ29udm9sdmVyTm9kZShjb250ZXh0KSk7CiAKICAg
ICBhdXRvIHJlc3VsdCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAy
LCBDaGFubmVsQ291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNw
ZWFrZXJzIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9E
ZWxheU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUu
Y3BwCmluZGV4IDBlNzA0NDdkZGM1ZDRhYWIzOTA1OGIzZjNmMzg1Y2Y1MDJhYzdjOTIuLjQ2YzJl
ZjRkZjQ5ODlmZjlmMWVlZjE0MmFmMDhkMTY3ZTFiNDg2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKQEAgLTUyLDggKzUyLDYgQEAgRXhjZXB0
aW9uT3I8UmVmPERlbGF5Tm9kZT4+IERlbGF5Tm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQm
IGNvbnRleHQsIGNvbnN0IEQKICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBjb250ZXh0Lmxh
enlJbml0aWFsaXplKCk7Ci0KICAgICBpZiAob3B0aW9ucy5tYXhEZWxheVRpbWUgPD0gMCB8fCBv
cHRpb25zLm1heERlbGF5VGltZSA+PSBtYXhpbXVtQWxsb3dlZERlbGF5VGltZSkKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
Y3BwCmluZGV4IGRlZmEzZGM4YzIzYzMyMTgzNzAzZmNkNjFjYzI1ODVjYjBlYzcxZDQuLjY0ODg2
MGI3ZWQ0ZDFjY2ZkMDE2YjkzODFmZTU4NGMwOTA1ZDk1NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNw
cApAQCAtNTAsOCArNTAsNiBAQCBFeGNlcHRpb25PcjxSZWY8RHluYW1pY3NDb21wcmVzc29yTm9k
ZT4+IER5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OmNyZWF0ZShCYXNlQXVkaQogICAgIGlmIChjb250
ZXh0LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIGF1dG8gbm9k
ZSA9IGFkb3B0UmVmKCpuZXcgRHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0LCBvcHRpb25z
KSk7CiAKICAgICBhdXRvIHJlc3VsdCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0
aW9ucywgeyAyLCBDaGFubmVsQ291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0
YXRpb246OlNwZWFrZXJzIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9HYWluTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmNwcAppbmRleCBhOTI2OTQzMzZhMzRkNDE0YmQyY2VhNzE1NDgwMzgyNTgwMDM3MTg0
Li5kNjM0YjE1MmVkMGVmNGZiOWYxYWE3ZmQ4NDJmNWE3YTVlNDc4MjdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcApAQCAtNDMsOCArNDMsNiBAQCBF
eGNlcHRpb25PcjxSZWY8R2Fpbk5vZGU+PiBHYWluTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IEdhaQogICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAotICAgIGNvbnRl
eHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIGF1dG8gZ2Fpbk5vZGUgPSBhZG9wdFJlZigqbmV3
IEdhaW5Ob2RlKGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gZ2Fpbk5vZGUtPmhhbmRs
ZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291bnRNb2RlOjpNYXgsIENo
YW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmNwcAppbmRleCAwMGMxZmYzNzJhZTNmZTVm
ZWM1MTViNDM3ZWFlYmUxZDdhNjg2NWM0Li4wMzMyNWM2M2FiNzc4MGQ5NDE1NTdlZGI3ZTdhM2Jl
OTM4NWUyODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJ
UkZpbHRlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlS
RmlsdGVyTm9kZS5jcHAKQEAgLTg3LDggKzg3LDYgQEAgRXhjZXB0aW9uT3I8UmVmPElJUkZpbHRl
ck5vZGU+PiBJSVJGaWx0ZXJOb2RlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2MK
ICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0K
ICAgICBpZiAoIW9wdGlvbnMuZmVlZGZvcndhcmQuc2l6ZSgpIHx8IG9wdGlvbnMuZmVlZGZvcndh
cmQuc2l6ZSgpID4gSUlSRmlsdGVyOjptYXhPcmRlcikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IE5vdFN1cHBvcnRlZEVycm9yLCAiZmVlZGZvcndhcmQgYXJyYXkgbXVzdCBoYXZlIGEgbGVu
Z3RoIGJldHdlZW4gMSBhbmQgMjAiX3MgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3Bw
CmluZGV4IGMzZDNmYWViMjExMTA5MzllODgzOTQ3ZmJkNTQ4NTE3MWQyZWRjYWEuLmViMWMxODM3
ZTVkN2EyM2NiMzMzYmRhMWQ3MWU4MDQzNTZkMzE3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS5jcHAKQEAgLTU1LDggKzU1LDYgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZT4+IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXQKICAgICBp
ZiAob3B0aW9ucy5tZWRpYUVsZW1lbnQtPmF1ZGlvU291cmNlTm9kZSgpKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJNZWRpYSBlbGVtZW50IGlzIGFscmVh
ZHkgYXNzb2NpYXRlZCB3aXRoIGFuIGF1ZGlvIHNvdXJjZSBub2RlIl9zIH07CiAKLSAgICBjb250
ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0KICAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigqbmV3IE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCAqb3B0aW9ucy5tZWRpYUVsZW1lbnQp
KTsKIAogICAgIG9wdGlvbnMubWVkaWFFbGVtZW50LT5zZXRBdWRpb1NvdXJjZU5vZGUobm9kZS5w
dHIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAppbmRleCBiNGVkNDRl
ZjM3NDE0N2RhMTUxODMwZWI5NTA0ZTZkYmIzOWI5MmUzLi40NzM2OWQ1NDM1NTVlMzQwMzRkNzMy
YzQzOGJhYjNkMjE4ZjU3MmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHAKQEAgLTQ0LDggKzQ0LDYgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGU+PiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2QKICAgICBpZiAoY29u
dGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yIH07CiAKLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0KICAgICBhdXRvIG5v
ZGUgPSBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4
dCkpOwogCiAgICAgYXV0byByZXN1bHQgPSBub2RlLT5oYW5kbGVBdWRpb05vZGVPcHRpb25zKG9w
dGlvbnMsIHsgMiwgQ2hhbm5lbENvdW50TW9kZTo6RXhwbGljaXQsIENoYW5uZWxJbnRlcnByZXRh
dGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDk5ZDUx
MzM0ZDMzYjBkNGQ1NzM2ZDUxZDlmOTkyNWYxNjYxN2RmMmQuLjNkOTJjY2ZiNDAwNTRmYzM3Nzc0
ZjUzY2YwYmJlYTQ1NjY4YjFmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC02
MCw4ICs2MCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4+
IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUoCiAgICAgaWYgKCFwcm92aWRlclRy
YWNrKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJDb3Vs
ZCBub3QgZmluZCBhbiBhdWRpbyB0cmFjayB3aXRoIGFuIGF1ZGlvIHNvdXJjZSBwcm92aWRlciJf
cyB9OwogCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0byBub2RlID0g
YWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZShjb250ZXh0LCAqb3B0aW9u
cy5tZWRpYVN0cmVhbSwgKnByb3ZpZGVyVHJhY2spKTsKICAgICBub2RlLT5zZXRGb3JtYXQoMiwg
Y29udGV4dC5zYW1wbGVSYXRlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwCmluZGV4IDVhMmYxOWI2ODFhM2NjOWNkZGZhYWQ0
YzJmODcxN2E5ZGI4YTY1NGIuLmY1YjllMTM1MjBjYmQ5Njc0Nzk0MDg5ZmM3YzQ1MzZiMTZlNmYz
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwCkBAIC02NSw4ICs2NSw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9k
ZT4+IE9zY2lsbGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4CiAgICAg
aWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkU3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAg
aWYgKG9wdGlvbnMudHlwZSA9PSBPc2NpbGxhdG9yVHlwZTo6Q3VzdG9tICYmICFvcHRpb25zLnBl
cmlvZGljV2F2ZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiTXVzdCBwcm92aWRlIHBlcmlvZGljV2F2ZSB3aGVuIHVzaW5nIGN1c3RvbSB0eXBlLiJfcyB9
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5u
ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5j
cHAKaW5kZXggZjU1ZjkzOGU5M2ZkZWM0ZGZjZTg1N2UxNWY3MTJiNDkxZDU3ZWRiYS4uZWYxYjM1
ZmM0OTZiNWIwYjE3Y2E5NThhNDI0N2NlYjI0MzhjODFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCkBAIC02MCw4ICs2MCw2IEBAIEV4Y2Vw
dGlvbk9yPFJlZjxQYW5uZXJOb2RlPj4gUGFubmVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0CiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4dC5s
YXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0byBwYW5uZXIgPSBhZG9wdFJlZigqbmV3IFBhbm5l
ck5vZGUoY29udGV4dCwgb3B0aW9ucykpOwogCiAgICAgYXV0byByZXN1bHQgPSBwYW5uZXItPmhh
bmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291bnRNb2RlOjpDbGFt
cGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFrZXJzIH0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCmluZGV4IDY2Yzk0NzYy
NmIwZjQxMTJkY2U3NTc3OTk2NzFhZDY3NGRhOTZmZTMuLjk0YzM3MGVjMzY3OWZjZjY2OWU3MTA4
MDU0YjIwMjdhY2JlMTY3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vUGVyaW9kaWNXYXZlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1BlcmlvZGljV2F2ZS5jcHAKQEAgLTY0LDggKzY0LDYgQEAgRXhjZXB0aW9uT3I8UmVmPFBl
cmlvZGljV2F2ZT4+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRl
eHQsIFAKICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXpl
KCk7Ci0KICAgICBWZWN0b3I8ZmxvYXQ+IHJlYWw7CiAgICAgVmVjdG9yPGZsb2F0PiBpbWFnOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TdGVyZW9Q
YW5uZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFu
bmVyTm9kZS5jcHAKaW5kZXggOTk0YjgxY2RhNTIzMTlhMWQ4YTMzODc1YTVkN2Y0YzliNzczNzE2
ZS4uOGRhNzA3YzJiY2RjNmI3ZDIwZDZiNGVlOWFlNWI3ZjY2NjRmYmRiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuY3BwCkBA
IC00NCw4ICs0NCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxTdGVyZW9QYW5uZXJOb2RlPj4gU3RlcmVv
UGFubmVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvCiAgICAgaWYgKGNvbnRleHQu
aXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJv
ciB9OwogICAgIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLSAgICAKICAgICBhdXRv
IHN0ZXJlbyA9IGFkb3B0UmVmKCpuZXcgU3RlcmVvUGFubmVyTm9kZShjb250ZXh0LCBvcHRpb25z
LnBhbikpOwogICAgIAogICAgIGF1dG8gcmVzdWx0ID0gc3RlcmVvLT5oYW5kbGVBdWRpb05vZGVP
cHRpb25zKG9wdGlvbnMsIHsgMiwgQ2hhbm5lbENvdW50TW9kZTo6Q2xhbXBlZE1heCwgQ2hhbm5l
bEludGVycHJldGF0aW9uOjpTcGVha2VycyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5jcHAKaW5kZXggYjZjMTY0ZDAyN2EyNGNmNGM5
NDg1OTZjNDVlYzFlNzY2MWMzODFhMC4uZDZmZTM3Mzg4ZTE5MDUzMWY2NDJjODAwM2ViZjIzYzBl
MWFlZGYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZl
U2hhcGVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZl
U2hhcGVyTm9kZS5jcHAKQEAgLTQyLDkgKzQyLDYgQEAgRXhjZXB0aW9uT3I8UmVmPFdhdmVTaGFw
ZXJOb2RlPj4gV2F2ZVNoYXBlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXgK
ICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOwotCiAgICAgUmVmUHRyPEZsb2F0MzJBcnJheT4gY3Vy
dmU7CiAgICAgaWYgKG9wdGlvbnMuY3VydmUpIHsKICAgICAgICAgY3VydmUgPSBGbG9hdDMyQXJy
YXk6OnRyeUNyZWF0ZShvcHRpb25zLmN1cnZlLT5kYXRhKCksIG9wdGlvbnMuY3VydmUtPnNpemUo
KSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409755</attachid>
            <date>2020-09-25 16:12:44 -0700</date>
            <delta_ts>2020-09-25 17:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216989-20200925161243.patch</filename>
            <type>text/plain</type>
            <size>17766</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmMmU2YWRjN2RkNmMz
OGUxNzlkMWNjNjg0YmY3MWVjODg4MGJlNS4uMDJhMGIzOWZmZGZjMDAxMzJlZTMwZjBiYTFkZDgz
YTFhMWQ4NjE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIwLTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgaGF2aW5nIHRvIGNh
bGwgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpIGluIGV2ZXJ5IEF1ZGlvTm9kZSBmYWN0b3J5IGZ1
bmN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTY5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
dm9pZCBoYXZpbmcgdG8gY2FsbCBjb250ZXh0LmxhenlJbml0aWFsaXplKCkgaW4gZXZlcnkgQXVk
aW9Ob2RlIGZhY3RvcnkgZnVuY3Rpb24uCisgICAgICAgIFJlcGxhY2UgYWxsIHRoZXNlIGNhbGxz
IHdpdGggYSBzaW5nbGUgb25lIGluc2lkZSB0aGUgQXVkaW9Ob2RlIGNvbnN0cnVjdG9yLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gV2ViIGZhY2luZyBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBbmFseXNlck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJT
b3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTm9kZTo6QXVkaW9Ob2RlKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvQ29udGV4dDo6bGF6eUluaXRpYWxpemUpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWRG
aWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1l
cmdlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29uc3RhbnRTb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2Rl
OjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlbGF5Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHlu
YW1pY3NDb21wcmVzc29yTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L0dhaW5Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJSVJGaWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3NjaWxsYXRvck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5u
ZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmNyZWF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyaW9kaWNXYXZlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU3Rl
cmVvUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGVyZW9QYW5uZXJOb2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlck5vZGU6OmNyZWF0ZSk6CisKIDIwMjAtMDktMjUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIEF1ZGlvTm9k
ZTo6c2V0Tm9kZVR5cGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BbmFseXNlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
bmFseXNlck5vZGUuY3BwCmluZGV4IDMxMDE3NzQ1NDA3ZGFhMzc0MWFhNDk4OWJlNTJkOGI4ZWY0
YmEwMGQuLjNmZGYyMzhlOWU3ZDRlNTgzOWUyMWEwMzFmOGNhMjg5YmFhNmNjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKQEAgLTQw
LDggKzQwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPEFuYWx5c2VyTm9kZT4+IEFuYWx5c2VyTm9kZTo6
Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGMKIHsKICAgICBpZiAoY29udGV4dC5p
c1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07Ci0KLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7CiAgICAgCiAgICAgYXV0byBhbmFs
eXNlciA9IGFkb3B0UmVmKCpuZXcgQW5hbHlzZXJOb2RlKGNvbnRleHQpKTsKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlLmNwcAppbmRleCAzN2FiMWNjYWY1NWMwMjBlNjI0MzEwMTdjNDc0YzlkMDgwNDhmZDMz
Li43OGRkM2U1ZGIwOTI5ZmIyYjRmNWExMTExY2E4ZmNlMjMxMWI2ZTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwCkBAIC03MCw4ICs3MCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU+PiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZShCYXNlQXVkaW9DCiAgICAgaWYg
KGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0
byBub2RlID0gYWRvcHRSZWYoKm5ldyBBdWRpb0J1ZmZlclNvdXJjZU5vZGUoY29udGV4dCkpOwog
CiAgICAgbm9kZS0+c2V0QnVmZmVyKFdURk1vdmUob3B0aW9ucy5idWZmZXIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcAppbmRleCBjMGU0MmJjNzIy
Yjk1N2M1MmE2YjY0ZTNmODBhMzcyZjEwZWI1OWQ4Li45ZDBiODE0M2U1NTNmZGU4YzJiYzcwMWI0
ZDI2YThmYzFhZDcwZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb05vZGUuY3BwCkBAIC0xMTQsNiArMTE0LDEwIEBAIEF1ZGlvTm9kZTo6QXVkaW9Ob2RlKEJh
c2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIE5vZGVUeXBlIHR5cGUpCiAgICAgICAgIGF0ZXhpdChB
dWRpb05vZGU6OnByaW50Tm9kZUNvdW50cyk7CiAgICAgfQogI2VuZGlmCisKKyAgICAvLyBBdWRp
b0Rlc3RpbmF0aW9uTm9kZXMgYXJlIG5vdCBjb25zdHJ1Y3RlZCBieSBKUyBhbmQgc2hvdWxkIG5v
dCBjYXVzZSBsYXp5IGluaXRpYWxpemF0aW9uLgorICAgIGlmICh0eXBlICE9IE5vZGVUeXBlRGVz
dGluYXRpb24pCisgICAgICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKIH0KIAogQXVkaW9O
b2RlOjp+QXVkaW9Ob2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCmluZGV4IGNjN2VhYmU1NjgwMzJkZjEwZTA2OWFmODQx
MTc4YTNlNzgxODZkY2IuLjdkZGMzMjE4MjA3Yzk0ZjQxZDkxOTExZDBmZTI5NWQzYjYwYjA1ZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmNwcApAQCAtMjI5LDYgKzIyOSw3IEBAIHZvaWQgQmFzZUF1ZGlvQ29udGV4dDo6bGF6
eUluaXRpYWxpemUoKQogICAgICAgICAgICAgKytzX2hhcmR3YXJlQ29udGV4dENvdW50OwogICAg
ICAgICB9CiAgICAgfQorCiAgICAgbV9pc0luaXRpYWxpemVkID0gdHJ1ZTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAK
aW5kZXggZGY5YzRhN2ZkMGM3ZDhmZDJjODk4NTc2NDIwYzE0MGZjMDk1YTdmOC4uOGRhZTM1YWRl
ZTc2OTY5MTYzNDFjYzRjYWI4Zjk1Y2UxOWI2OTJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuY3BwCkBAIC0zOCw4ICszOCw2
IEBAIEV4Y2VwdGlvbk9yPFJlZjxCaXF1YWRGaWx0ZXJOb2RlPj4gQmlxdWFkRmlsdGVyTm9kZTo6
Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvCiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkp
CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0gICAg
Y29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYoKm5l
dyBCaXF1YWRGaWx0ZXJOb2RlKGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbm9kZS0+
aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6Ok1h
eCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpTcGVha2VycyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKaW5kZXggNmY3
OTcwMWY2NWQxOWRmYWUzYWNlY2M5OTlkODE0NjM2YTFlNGNmYS4uOWM4ZDI5ZGRjZTBhODE1Y2Fl
MGFhNWM3ZjlhYTI1MWNlMGFjMzYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKQEAgLTQ1LDggKzQ1LDYgQEAgRXhj
ZXB0aW9uT3I8UmVmPENoYW5uZWxNZXJnZXJOb2RlPj4gQ2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0
ZShCYXNlQXVkaW9Db250ZXh0JgogewogICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQotICAgIGNvbnRl
eHQubGF6eUluaXRpYWxpemUoKTsKICAgICAKICAgICBpZiAob3B0aW9ucy5udW1iZXJPZklucHV0
cyA+IEF1ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpIHx8ICFvcHRpb25zLm51bWJl
ck9mSW5wdXRzKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IsICJO
dW1iZXIgb2YgaW5wdXRzIGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS4iX3MgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5v
ZGUuY3BwCmluZGV4IGU0YTkxOGNjNjkwZWQ5N2ZiMzRkZmMxNWU5OWFkYjUxYzVmOGExMzAuLmFj
MmU2N2NjM2EzYTg3MTg4ZmY0MDBkNGI0N2U0ZWUzY2ZmZTk2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcApA
QCAtNDEsOCArNDEsNiBAQCBFeGNlcHRpb25PcjxSZWY8Q2hhbm5lbFNwbGl0dGVyTm9kZT4+IENo
YW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZQogewogICAgIGlmIChjb250
ZXh0LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IgfTsKLQotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKICAgICAKICAgICBpZiAo
b3B0aW9ucy5udW1iZXJPZk91dHB1dHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5l
bHMoKSB8fCAhb3B0aW9ucy5udW1iZXJPZk91dHB1dHMpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJbmRleFNpemVFcnJvciwgIk51bWJlciBvZiBvdXRwdXRzIGlzIG5vdCBpbiB0aGUgYWxs
b3dlZCByYW5nZSJfcyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwCmluZGV4IDQ1NTAwMDA5YTgwMDlmNWM0OWFiYWEy
Mjc1YjUzNmNiZGJlYzc0OTAuLjhjMzhmN2I5MDcyZmI5NGM1ZjVlYTFlMGEwN2EzN2NiMjJmM2Q0
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRT
b3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnN0
YW50U291cmNlTm9kZS5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgRXhjZXB0aW9uT3I8UmVmPENvbnN0
YW50U291cmNlTm9kZT4+IENvbnN0YW50U291cmNlTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQKICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAgICAgCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6
ZSgpOwotICAgIAogICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgQ29uc3RhbnRTb3VyY2VO
b2RlKGNvbnRleHQsIG9wdGlvbnMub2Zmc2V0KSk7CiAgICAgCiAgICAgY29udGV4dC5yZWZOb2Rl
KG5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252
b2x2ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVy
Tm9kZS5jcHAKaW5kZXggZDU1MjRiZWMwNzVmMWU2YTM2N2M3N2FjNmU0NWQ1N2FhZTZjZGE3OS4u
NGVhZGI3Yzk2MTU1NmIzY2I4NjYwNmY2ODk1YWRjMjY0Yjk5ODFjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCkBAIC02MCw4ICs2
MCw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxDb252b2x2ZXJOb2RlPj4gQ29udm9sdmVyTm9kZTo6Y3Jl
YXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsCiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVk
KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0g
ICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYo
Km5ldyBDb252b2x2ZXJOb2RlKGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbm9kZS0+
aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNs
YW1wZWRNYXgsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKaW5kZXggMGU3MDQ0N2RkYzVk
NGFhYjM5MDU4YjNmM2YzODVjZjUwMmFjN2M5Mi4uNDZjMmVmNGRmNDk4OWZmOWYxZWVmMTQyYWYw
OGQxNjdlMWI0ODZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EZWxheU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVs
YXlOb2RlLmNwcApAQCAtNTIsOCArNTIsNiBAQCBFeGNlcHRpb25PcjxSZWY8RGVsYXlOb2RlPj4g
RGVsYXlOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgRAogICAg
IGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZFN0YXRlRXJyb3IgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAg
IGlmIChvcHRpb25zLm1heERlbGF5VGltZSA8PSAwIHx8IG9wdGlvbnMubWF4RGVsYXlUaW1lID49
IG1heGltdW1BbGxvd2VkRGVsYXlUaW1lKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90
U3VwcG9ydGVkRXJyb3IgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKaW5kZXggZGVmYTNkYzhjMjNj
MzIxODM3MDNmY2Q2MWNjMjU4NWNiMGVjNzFkNC4uNjQ4ODYwYjdlZDRkMWNjZmQwMTZiOTM4MWZl
NTg0YzA5MDVkOTU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCkBAIC01MCw4ICs1MCw2IEBAIEV4
Y2VwdGlvbk9yPFJlZjxEeW5hbWljc0NvbXByZXNzb3JOb2RlPj4gRHluYW1pY3NDb21wcmVzc29y
Tm9kZTo6Y3JlYXRlKEJhc2VBdWRpCiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4
dC5sYXp5SW5pdGlhbGl6ZSgpOwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYoKm5ldyBEeW5h
bWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQsIG9wdGlvbnMpKTsKIAogICAgIGF1dG8gcmVzdWx0
ID0gbm9kZS0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3Vu
dE1vZGU6OkNsYW1wZWRNYXgsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCmluZGV4IGE5MjY5
NDMzNmEzNGQ0MTRiZDJjZWE3MTU0ODAzODI1ODAwMzcxODQuLmQ2MzRiMTUyZWQwZWY0ZmI5ZjFh
YTdmZDg0MmY1YTdhNWU0NzgyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vR2Fpbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vR2Fpbk5vZGUuY3BwCkBAIC00Myw4ICs0Myw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxHYWluTm9k
ZT4+IEdhaW5Ob2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgR2Fp
CiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCi0gICAgY29udGV4dC5sYXp5SW5pdGlhbGl6ZSgpOwot
CiAgICAgYXV0byBnYWluTm9kZSA9IGFkb3B0UmVmKCpuZXcgR2Fpbk5vZGUoY29udGV4dCkpOwog
CiAgICAgYXV0byByZXN1bHQgPSBnYWluTm9kZS0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRp
b25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6Ok1heCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpT
cGVha2VycyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
SUlSRmlsdGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkZp
bHRlck5vZGUuY3BwCmluZGV4IDAwYzFmZjM3MmFlM2ZlNWZlYzUxNWI0MzdlYWViZTFkN2E2ODY1
YzQuLjAzMzI1YzYzYWI3NzgwZDk0MTU1N2VkYjdlN2EzYmU5Mzg1ZTI4NDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmNwcApAQCAtODcs
OCArODcsNiBAQCBFeGNlcHRpb25PcjxSZWY8SUlSRmlsdGVyTm9kZT4+IElJUkZpbHRlck5vZGU6
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzYwogICAgIGlmIChjb250ZXh0LmlzU3Rv
cHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsK
IAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIGlmICghb3B0aW9ucy5mZWVk
Zm9yd2FyZC5zaXplKCkgfHwgb3B0aW9ucy5mZWVkZm9yd2FyZC5zaXplKCkgPiBJSVJGaWx0ZXI6
Om1heE9yZGVyKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3Is
ICJmZWVkZm9yd2FyZCBhcnJheSBtdXN0IGhhdmUgYSBsZW5ndGggYmV0d2VlbiAxIGFuZCAyMCJf
cyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKaW5kZXggYzNkM2ZhZWIyMTExMDkz
OWU4ODM5NDdmYmQ1NDg1MTcxZDJlZGNhYS4uZWIxYzE4MzdlNWQ3YTIzY2IzMzNiZGExZDcxZTgw
NDM1NmQzMTcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtNTUsOCArNTUs
NiBAQCBFeGNlcHRpb25PcjxSZWY8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPj4gTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdAogICAgIGlmIChvcHRpb25zLm1lZGlhRWxlbWVu
dC0+YXVkaW9Tb3VyY2VOb2RlKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciwgIk1lZGlhIGVsZW1lbnQgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggYW4g
YXVkaW8gc291cmNlIG5vZGUiX3MgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsK
LQogICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VO
b2RlKGNvbnRleHQsICpvcHRpb25zLm1lZGlhRWxlbWVudCkpOwogCiAgICAgb3B0aW9ucy5tZWRp
YUVsZW1lbnQtPnNldEF1ZGlvU291cmNlTm9kZShub2RlLnB0cigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IGI0ZWQ0NGVmMzc0MTQ3ZGExNTE4MzBlYjk1MDRl
NmRiYjM5YjkyZTMuLjQ3MzY5ZDU0MzU1NWUzNDAzNGQ3MzJjNDM4YmFiM2QyMThmNTcyZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtNDQsOCArNDQsNiBAQCBF
eGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4+IE1lZGlhU3Ry
ZWFtQXVkaW9EZXN0aW5hdGlvbk5vZAogICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQogICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAotICAgIGNvbnRl
eHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgTWVk
aWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KSk7CiAKICAgICBhdXRvIHJlc3Vs
dCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291
bnRNb2RlOjpFeHBsaWNpdCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpTcGVha2VycyB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKaW5kZXggOTlkNTEzMzRkMzNiMGQ0ZDU3MzZkNTFkOWY5
OTI1ZjE2NjE3ZGYyZC4uM2Q5MmNjZmI0MDA1NGZjMzc3NzRmNTNjZjBiYmVhNDU2NjhiMWYxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1
ZGlvU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKQEAgLTYwLDggKzYwLDYgQEAgRXhjZXB0aW9u
T3I8UmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlPj4gTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGU6OmNyZWF0ZSgKICAgICBpZiAoIXByb3ZpZGVyVHJhY2spCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkNvdWxkIG5vdCBmaW5kIGFuIGF1ZGlvIHRy
YWNrIHdpdGggYW4gYXVkaW8gc291cmNlIHByb3ZpZGVyIl9zIH07CiAKLSAgICBjb250ZXh0Lmxh
enlJbml0aWFsaXplKCk7Ci0KICAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigqbmV3IE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsICpvcHRpb25zLm1lZGlhU3RyZWFtLCAqcHJvdmlk
ZXJUcmFjaykpOwogICAgIG5vZGUtPnNldEZvcm1hdCgyLCBjb250ZXh0LnNhbXBsZVJhdGUoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5jcHAKaW5kZXggNWEyZjE5YjY4MWEzY2M5Y2RkZmFhZDRjMmY4NzE3YTlkYjhhNjU0Yi4uZjVi
OWUxMzUyMGNiZDk2NzQ3OTQwODlmYzdjNDUzNmIxNmU2ZjMxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTY1LDggKzY1
LDYgQEAgRXhjZXB0aW9uT3I8UmVmPE9zY2lsbGF0b3JOb2RlPj4gT3NjaWxsYXRvck5vZGU6OmNy
ZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXgKICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQo
KSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKLSAg
ICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0KICAgICBpZiAob3B0aW9ucy50eXBlID09IE9z
Y2lsbGF0b3JUeXBlOjpDdXN0b20gJiYgIW9wdGlvbnMucGVyaW9kaWNXYXZlKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJNdXN0IHByb3ZpZGUgcGVyaW9k
aWNXYXZlIHdoZW4gdXNpbmcgY3VzdG9tIHR5cGUuIl9zIH07CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAppbmRleCBmNTVmOTM4ZTkzZmRl
YzRkZmNlODU3ZTE1ZjcxMmI0OTFkNTdlZGJhLi5lZjFiMzVmYzQ5NmI1YjBiMTdjYTk1OGE0MjQ3
Y2ViMjQzOGM4MWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5jcHAKQEAgLTYwLDggKzYwLDYgQEAgRXhjZXB0aW9uT3I8UmVmPFBhbm5lck5vZGU+
PiBQYW5uZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QKICAg
ICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yIH07CiAKLSAgICBjb250ZXh0LmxhenlJbml0aWFsaXplKCk7Ci0KICAg
ICBhdXRvIHBhbm5lciA9IGFkb3B0UmVmKCpuZXcgUGFubmVyTm9kZShjb250ZXh0LCBvcHRpb25z
KSk7CiAKICAgICBhdXRvIHJlc3VsdCA9IHBhbm5lci0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhv
cHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNsYW1wZWRNYXgsIENoYW5uZWxJbnRlcnBy
ZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1BlcmlvZGljV2F2ZS5jcHAKaW5kZXggNjZjOTQ3NjI2YjBmNDExMmRjZTc1Nzc5OTY3MWFk
Njc0ZGE5NmZlMy4uOTRjMzcwZWMzNjc5ZmNmNjY5ZTcxMDgwNTRiMjAyN2FjYmUxNjcyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmNwcApA
QCAtNjQsOCArNjQsNiBAQCBFeGNlcHRpb25PcjxSZWY8UGVyaW9kaWNXYXZlPj4gUGVyaW9kaWNX
YXZlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgUAogICAgIGlmIChjb250ZXh0
LmlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IgfTsKIAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLQogICAgIFZlY3RvcjxmbG9h
dD4gcmVhbDsKICAgICBWZWN0b3I8ZmxvYXQ+IGltYWc7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmNwcAppbmRleCA5OTRi
ODFjZGE1MjMxOWExZDhhMzM4NzVhNWQ3ZjRjOWI3NzM3MTZlLi44ZGE3MDdjMmJjZGM2YjdkMjBk
NmI0ZWU5YWU1YjdmNjY2NGZiZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgRXhjZXB0
aW9uT3I8UmVmPFN0ZXJlb1Bhbm5lck5vZGU+PiBTdGVyZW9QYW5uZXJOb2RlOjpjcmVhdGUoQmFz
ZUF1ZGlvQ29udGV4dCYgY28KICAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAgICAgCi0gICAgY29udGV4
dC5sYXp5SW5pdGlhbGl6ZSgpOwotICAgIAogICAgIGF1dG8gc3RlcmVvID0gYWRvcHRSZWYoKm5l
dyBTdGVyZW9QYW5uZXJOb2RlKGNvbnRleHQsIG9wdGlvbnMucGFuKSk7CiAgICAgCiAgICAgYXV0
byByZXN1bHQgPSBzdGVyZW8tPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBD
aGFubmVsQ291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFr
ZXJzIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZl
U2hhcGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFw
ZXJOb2RlLmNwcAppbmRleCBiNmMxNjRkMDI3YTI0Y2Y0Yzk0ODU5NmM0NWVjMWU3NjYxYzM4MWEw
Li5kNmZlMzczODhlMTkwNTMxZjY0MmM4MDAzZWJmMjNjMGUxYWVkZjIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcApAQCAtNDIs
OSArNDIsNiBAQCBFeGNlcHRpb25PcjxSZWY8V2F2ZVNoYXBlck5vZGU+PiBXYXZlU2hhcGVyTm9k
ZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleAogICAgIGlmIChjb250ZXh0LmlzU3Rv
cHBlZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsK
IAotICAgIGNvbnRleHQubGF6eUluaXRpYWxpemUoKTsKLSAgICBVTlVTRURfUEFSQU0ob3B0aW9u
cyk7Ci0KICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBjdXJ2ZTsKICAgICBpZiAob3B0aW9ucy5j
dXJ2ZSkgewogICAgICAgICBjdXJ2ZSA9IEZsb2F0MzJBcnJheTo6dHJ5Q3JlYXRlKG9wdGlvbnMu
Y3VydmUtPmRhdGEoKSwgb3B0aW9ucy5jdXJ2ZS0+c2l6ZSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>