<?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>206343</bug_id>
          
          <creation_ts>2020-01-16 02:49:20 -0800</creation_ts>
          <short_desc>Compact sizeof(HTMLAnchorElement) and sizeof(HTMLLinkElement)</short_desc>
          <delta_ts>2020-02-24 17:39:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=208171</see_also>
          <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>208162</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>emilio</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607392</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 02:49:20 -0800</bug_when>
    <thetext>I noticed that HTMLAnchorElement is relatively frequently allocated, while it has not squeezed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607395</commentid>
    <comment_count>1</comment_count>
      <attachid>387902</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 03:01:03 -0800</bug_when>
    <thetext>Created attachment 387902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607398</commentid>
    <comment_count>2</comment_count>
      <attachid>387903</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 03:05:18 -0800</bug_when>
    <thetext>Created attachment 387903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607818</commentid>
    <comment_count>3</comment_count>
      <attachid>387996</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 17:40:20 -0800</bug_when>
    <thetext>Created attachment 387996
Patch

Uploading just to ensure that SharedStringHash is not modified</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607820</commentid>
    <comment_count>4</comment_count>
      <attachid>387998</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 17:53:15 -0800</bug_when>
    <thetext>Created attachment 387998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607821</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 17:54:08 -0800</bug_when>
    <thetext>The first patch is demonstrating that upper 32bit is never used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607883</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-16 23:24:09 -0800</bug_when>
    <thetext>No need to say WebCore. It&apos;s pretty obvious from class names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607885</commentid>
    <comment_count>7</comment_count>
      <attachid>387998</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-01-16 23:27:43 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [WebCore] Compact sizeof(HTMLAnchorElement) and sizeof(HTMLLinkElement)

Please correct the bug title in the change log accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607886</commentid>
    <comment_count>8</comment_count>
      <attachid>387998</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 23:28:12 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        [WebCore] Compact sizeof(HTMLAnchorElement) and sizeof(HTMLLinkElement)
&gt; 
&gt; Please correct the bug title in the change log accordingly.

Thanks, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607887</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-16 23:32:15 -0800</bug_when>
    <thetext>Committed r254739: &lt;https://trac.webkit.org/changeset/254739&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607888</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-16 23:33:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/58673446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608018</commentid>
    <comment_count>11</comment_count>
      <attachid>387998</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-17 08:58:13 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt; Source/WebCore/html/HTMLLinkElement.h:140
&gt;      String m_type;
&gt;      String m_media;
&gt; +    String m_integrityMetadataForPendingSheetRequest;
&gt;      std::unique_ptr&lt;DOMTokenList&gt; m_sizes;
&gt; +    std::unique_ptr&lt;DOMTokenList&gt; m_relList;

Seems like we could make HTMLinkElement significantly smaller given that it has many different purposes and we have separate data members for each of those purposes. Something like the rare data pattern perhaps? Even unclear why we need members like m_type and m_media at all, just to cache computed attribute values.

&gt; Source/WebCore/html/LinkRelAttribute.cpp:45
&gt; +    : iconType()

Why is this needed? It won’t get initialized unless we specify it explicitly? I kind of wish Markable had a side effect of initializing things to zero when constructed. Not sure we have any use cases for scalars that don’t get initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608025</commentid>
    <comment_count>12</comment_count>
      <attachid>387998</attachid>
    <who name="Emilio Cobos Álvarez (:emilio)">emilio</who>
    <bug_when>2020-01-17 09:13:37 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt; Source/WebCore/html/HTMLLinkElement.cpp:305
&gt; +            makeScopeExit([&amp;] { m_isHandlingBeforeLoad = previous; });

FWIW, this doesn&apos;t look right. This will instantly run the callback, as it&apos;s not kept alive by any variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608030</commentid>
    <comment_count>13</comment_count>
      <attachid>387998</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-17 09:26:59 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:305
&gt;&gt; +            makeScopeExit([&amp;] { m_isHandlingBeforeLoad = previous; });
&gt; 
&gt; FWIW, this doesn&apos;t look right. This will instantly run the callback, as it&apos;s not kept alive by any variable.

lol, good catch! Not the first time we get caught by that. The return value of makeScopeExit should really be marked as never ignored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608032</commentid>
    <comment_count>14</comment_count>
      <attachid>387998</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-17 09:28:32 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:305
&gt;&gt;&gt; +            makeScopeExit([&amp;] { m_isHandlingBeforeLoad = previous; });
&gt;&gt; 
&gt;&gt; FWIW, this doesn&apos;t look right. This will instantly run the callback, as it&apos;s not kept alive by any variable.
&gt; 
&gt; lol, good catch! Not the first time we get caught by that. The return value of makeScopeExit should really be marked as never ignored.

I mean WARN_UNUSED_RETURN.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622365</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-02-24 15:44:15 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #14)
&gt; Comment on attachment 387998 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=387998&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:305
&gt; &gt;&gt;&gt; +            makeScopeExit([&amp;] { m_isHandlingBeforeLoad = previous; });
&gt; &gt;&gt; 
&gt; &gt;&gt; FWIW, this doesn&apos;t look right. This will instantly run the callback, as it&apos;s not kept alive by any variable.
&gt; &gt; 
&gt; &gt; lol, good catch! Not the first time we get caught by that. The return value of makeScopeExit should really be marked as never ignored.
&gt; 
&gt; I mean WARN_UNUSED_RETURN.

Oops, nice. I&apos;m creating a patch for this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622375</commentid>
    <comment_count>16</comment_count>
      <attachid>387998</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-02-24 15:51:38 -0800</bug_when>
    <thetext>Comment on attachment 387998
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:305
&gt;&gt;&gt;&gt;&gt; +            makeScopeExit([&amp;] { m_isHandlingBeforeLoad = previous; });
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; FWIW, this doesn&apos;t look right. This will instantly run the callback, as it&apos;s not kept alive by any variable.
&gt;&gt;&gt; 
&gt;&gt;&gt; lol, good catch! Not the first time we get caught by that. The return value of makeScopeExit should really be marked as never ignored.
&gt;&gt; 
&gt;&gt; I mean WARN_UNUSED_RETURN.
&gt; 
&gt; Oops, nice. I&apos;m creating a patch for this now.

Opened for this https://bugs.webkit.org/show_bug.cgi?id=208162</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387902</attachid>
            <date>2020-01-16 03:01:03 -0800</date>
            <delta_ts>2020-01-16 03:05:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206343-20200116030102.patch</filename>
            <type>text/plain</type>
            <size>9937</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFjNzM1MmQwNTI0NjE5
OTQ5MTI4ZGU3Y2M0NTZjZGM2NmQ0NTY1Zi4uMmM1Zjk1ZjEwM2NkNDA3ZGQwOTA5Zjg2NjM4MTZh
MTEyZTBmMjNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAxLTE2ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNvcmVdIENvbXBh
Y3Qgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBhbmQgc2l6ZW9mKEhUTUxMaW5rRWxlbWVudCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERhdGEgZnJv
bSBNZW1idXN0ZXIgaXMgc2F5aW5nIHRoYXQgSFRNTEFuY2hvckVsZW1lbnQgaXMgcmVsYXRpdmVs
eSBmcmVxdWVudGx5IGFsbG9jYXRlZAorICAgICAgICBlbGVtZW50IChlbGVtZW50cyBhcmUga2Vw
dCBtb3JlIHRoYW4gMTAwMCkgd2hpbGUgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBpcyBub3Qg
b3B0aW1pemVkIHdlbGwuCisgICAgICAgIFdlIHNob3VsZCBvcHRpbWl6ZSBpdCB3ZWxsIGFuZCBn
YWluIHNvbWUgbWVtb3J5IGZvciBmcmVlLiBXZSBhbHNvIG9wdGltaXplIEhUTUxMaW5rRWxlbWVu
dC4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL0hUTUxB
bmNob3JFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlua0VsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpwcm9jZXNzKToKKyAgICAgICAgKiBodG1sL0hU
TUxMaW5rRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvTGlua0ljb25Db2xsZWN0b3IuaDoKKyAg
ICAgICAgKiBodG1sL0xpbmtJY29uVHlwZS5oOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJp
YnV0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0
cmlidXRlKToKKyAgICAgICAgKiBodG1sL0xpbmtSZWxBdHRyaWJ1dGUuaDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaEhhc2g6OmF2b2lkRGVsZXRlZFZhbHVlKToKKwog
MjAyMC0wMS0xNSAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAg
ICAgIFtMRkNdIEZpeCBDTWFrZSBCdWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5oCmluZGV4IDAyNDUwOTAzOTc0YTUzOTRjZWIwNDExNjdmYTZhMGQ4YmRjYzE0NTguLjIy
YjhlNWJiNDhiMjFiYTJhMjE5ZDg5Njk5NjI5YWRmYzNmODRiNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgQWRDbGlja0F0
dHJpYnV0aW9uOwogY2xhc3MgRE9NVG9rZW5MaXN0OwogCiAvLyBMaW5rIHJlbGF0aW9uIGJpdG1h
c2sgdmFsdWVzLgotZW51bSBjbGFzcyBSZWxhdGlvbiB7CitlbnVtIGNsYXNzIFJlbGF0aW9uIDog
dWludDhfdCB7CiAgICAgTm9SZWZlcnJlciA9IDEgPDwgMCwKICAgICBOb09wZW5lciA9IDEgPDwg
MSwKICAgICBPcGVuZXIgPSAxIDw8IDIsCkBAIC0xMTcsNyArMTE3LDcgQEAgY2xhc3MgSFRNTEFu
Y2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5j
aG9yRWxlbWVudD4KICAgICBPcHRpb25TZXQ8UmVsYXRpb24+IG1fbGlua1JlbGF0aW9uczsKIAog
ICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBtdXN0IG5vdCBiZSBhZmZlY3Rl
ZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgotICAgIG11dGFibGUgT3B0aW9uYWw8U2hhcmVk
U3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CisgICAgbXV0YWJsZSBNYXJrYWJs
ZTx1bnNpZ25lZCwgU2hhcmVkU3RyaW5nSGFzaE1hcmthYmxlVHJhaXRzPiBtX3N0b3JlZFZpc2l0
ZWRMaW5rSGFzaDsKIAogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4g
bV9yZWxMaXN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAppbmRl
eCAzOTZjOTM3ZjFlMjJlMGUwYjg0MGRiZmNmMGRmZTdhNWYyMmNjNDZiLi41Mzc3YTRjMDdjNzAz
Y2ZkY2FmMmQ0NTBhNzI5YWM1MWE1ZjQzNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCkBAIC02Miw3ICs2Miw3IEBACiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRl
Z3JpdHkuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KKyNpbmNsdWRlIDx3dGYvU2Nv
cGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTkxLDYgKzkxLDggQEAgaW5saW5lIEhUTUxMaW5rRWxlbWVudDo6SFRNTExpbmtFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JgogICAgICwgbV9jcmVh
dGVkQnlQYXJzZXIoY3JlYXRlZEJ5UGFyc2VyKQogICAgICwgbV9maXJlZExvYWQoZmFsc2UpCiAg
ICAgLCBtX2xvYWRlZFJlc291cmNlKGZhbHNlKQorICAgICwgbV9pc0hhbmRsaW5nQmVmb3JlTG9h
ZChmYWxzZSkKKyAgICAsIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcoZmFs
c2UpCiAgICAgLCBtX3BlbmRpbmdTaGVldFR5cGUoVW5rbm93bikKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShsaW5rVGFnKSk7CkBAIC0yOTgsOSArMzAwLDExIEBAIHZvaWQgSFRNTExpbmtFbGVt
ZW50Ojpwcm9jZXNzKCkKICAgICAgICAgfQogCiAgICAgICAgIHsKLSAgICAgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gY2hhbmdlKG1faXNIYW5kbGluZ0JlZm9yZUxvYWQsIHRydWUpOwotICAgICAgICBp
ZiAoIXNob3VsZExvYWRMaW5rKCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBi
b29sIHByZXZpb3VzID0gbV9pc0hhbmRsaW5nQmVmb3JlTG9hZDsKKyAgICAgICAgICAgIG1faXNI
YW5kbGluZ0JlZm9yZUxvYWQgPSB0cnVlOworICAgICAgICAgICAgbWFrZVNjb3BlRXhpdChbJl0g
eyBtX2lzSGFuZGxpbmdCZWZvcmVMb2FkID0gcHJldmlvdXM7IH0pOworICAgICAgICAgICAgaWYg
KCFzaG91bGRMb2FkTGluaygpKQorICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CiAgICAgICAgIG1fbG9hZGluZyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1l
bnQuaAppbmRleCAwNzM1MmEzZTJiN2UyODhmZmY2NGFiZGI2YWZjOTRlYzk1NGEyYTE0Li41YTlj
ZTBiMGZkM2M3YmMzMDA3ZmQ4MzQ5NWE3NmQ3OTYyYjFiMjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExpbmtFbGVtZW50LmgKQEAgLTExOCw3ICsxMTgsNyBAQCBjbGFzcyBIVE1MTGlua0VsZW1l
bnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBDYWNoZWRTdHlsZVNoZWV0Q2xp
ZW50LAogCiAgICAgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKSBmaW5hbDsKIAotICAgIGVu
dW0gUGVuZGluZ1NoZWV0VHlwZSB7IFVua25vd24sIEFjdGl2ZVNoZWV0LCBJbmFjdGl2ZVNoZWV0
IH07CisgICAgZW51bSBQZW5kaW5nU2hlZXRUeXBlIDogdWludDhfdCB7IFVua25vd24sIEFjdGl2
ZVNoZWV0LCBJbmFjdGl2ZVNoZWV0IH07CiAgICAgdm9pZCBhZGRQZW5kaW5nU2hlZXQoUGVuZGlu
Z1NoZWV0VHlwZSk7CiAKICAgICB2b2lkIHJlbW92ZVBlbmRpbmdTaGVldCgpOwpAQCAtMTI3LDcg
KzEyNyw3IEBAIGNsYXNzIEhUTUxMaW5rRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVu
dCwgcHVibGljIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsCiAgICAgU3R5bGU6OlNjb3BlKiBtX3N0
eWxlU2NvcGUgeyBudWxscHRyIH07CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NT
U3R5bGVTaGVldD4gbV9jYWNoZWRTaGVldDsKICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gbV9z
aGVldDsKLSAgICBlbnVtIERpc2FibGVkU3RhdGUgeworICAgIGVudW0gRGlzYWJsZWRTdGF0ZSA6
IHVpbnQ4X3QgewogICAgICAgICBVbnNldCwKICAgICAgICAgRW5hYmxlZFZpYVNjcmlwdCwKICAg
ICAgICAgRGlzYWJsZWQKQEAgLTEzNSwyMCArMTM1LDE4IEBAIGNsYXNzIEhUTUxMaW5rRWxlbWVu
dCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGljIENhY2hlZFN0eWxlU2hlZXRDbGll
bnQsCiAKICAgICBTdHJpbmcgbV90eXBlOwogICAgIFN0cmluZyBtX21lZGlhOworICAgIFN0cmlu
ZyBtX2ludGVncml0eU1ldGFkYXRhRm9yUGVuZGluZ1NoZWV0UmVxdWVzdDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3NpemVzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01U
b2tlbkxpc3Q+IG1fcmVsTGlzdDsKICAgICBEaXNhYmxlZFN0YXRlIG1fZGlzYWJsZWRTdGF0ZTsK
ICAgICBMaW5rUmVsQXR0cmlidXRlIG1fcmVsQXR0cmlidXRlOwotICAgIGJvb2wgbV9sb2FkaW5n
OwotICAgIGJvb2wgbV9jcmVhdGVkQnlQYXJzZXI7Ci0gICAgYm9vbCBtX2ZpcmVkTG9hZDsKLSAg
ICBib29sIG1fbG9hZGVkUmVzb3VyY2U7Ci0gICAgYm9vbCBtX2lzSGFuZGxpbmdCZWZvcmVMb2Fk
IHsgZmFsc2UgfTsKLSAgICBib29sIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3Rp
bmcgeyBmYWxzZSB9OwotCisgICAgYm9vbCBtX2xvYWRpbmcgOiAxOworICAgIGJvb2wgbV9jcmVh
dGVkQnlQYXJzZXIgOiAxOworICAgIGJvb2wgbV9maXJlZExvYWQgOiAxOworICAgIGJvb2wgbV9s
b2FkZWRSZXNvdXJjZSA6IDE7CisgICAgYm9vbCBtX2lzSGFuZGxpbmdCZWZvcmVMb2FkIDogMTsK
KyAgICBib29sIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcgOiAxOwogICAg
IFBlbmRpbmdTaGVldFR5cGUgbV9wZW5kaW5nU2hlZXRUeXBlOwotICAgIFN0cmluZyBtX2ludGVn
cml0eU1ldGFkYXRhRm9yUGVuZGluZ1NoZWV0UmVxdWVzdDsKLQotICAgIHN0ZDo6dW5pcXVlX3B0
cjxET01Ub2tlbkxpc3Q+IG1fcmVsTGlzdDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTGlua0ljb25Db2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a0ljb25Db2xsZWN0b3IuaAppbmRleCA0M2YyMmI4NmQ0NDcxMTY5ZDM2ZjBhY2Q3ZTIxY2Q1NWRh
NzQ0NjVmLi43OGNlYjhkMzYyMjMwMDUwNjIxYzRjZDgyY2FjODFmZTEwYjYwMzE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uQ29sbGVjdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9MaW5rSWNvbkNvbGxlY3Rvci5oCkBAIC0zMSw3ICszMSw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotZW51bSBjbGFzcyBMaW5rSWNvblR5
cGU7CitlbnVtIGNsYXNzIExpbmtJY29uVHlwZSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIExpbmtJY29u
Q29sbGVjdG9yIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a0ljb25UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uVHlwZS5oCmluZGV4IGU3
NGZkOGRmYzUyYTFlYTkxMjM3YjBmY2E4Njg2YTMwY2FkOTY1YmUuLmJkMmM0Zjg5MzljNjY5OGE2
ODg2ZTUyYWFmN2M1ZTBkYzI1MmM0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TGlua0ljb25UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaApA
QCAtMjgsOCArMjgsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaGVzZSB2YWx1ZXMg
YXJlIGFycmFuZ2VkIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCB3aXRoIFdURjo6T3B0aW9uU2V0
LgorLy8gQW5kIHVzaW5nIGl0IHdpdGggTWFya2FibGUgdmlhIEVudW1NYXJrYWJsZVRyYWl0cy4K
IAotZW51bSBjbGFzcyBMaW5rSWNvblR5cGUgeworZW51bSBjbGFzcyBMaW5rSWNvblR5cGUgOiB1
aW50OF90IHsKICAgICBGYXZpY29uID0gMSA8PCAwLAogICAgIFRvdWNoSWNvbiA9IDEgPDwgMSwK
ICAgICBUb3VjaFByZWNvbXBvc2VkSWNvbiA9IDEgPDwyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5r
UmVsQXR0cmlidXRlLmNwcAppbmRleCBiMTA4NTMwMWUxOWY5NTM1ODc3MmIzMmRkMzE5YTQzNjdh
NjQ2MjgwLi40MDUyZmExOGRlYTBhM2NjOTc5ZTJhYTEzZTJjNWEwNjhiOWNmN2M5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAKQEAgLTQyLDExICs0MiwyMiBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmlidXRl
KCkKKyAgICA6IGljb25UeXBlKCkKKyAgICAsIGlzU3R5bGVTaGVldChmYWxzZSkKKyAgICAsIGlz
QWx0ZXJuYXRlKGZhbHNlKQorICAgICwgaXNETlNQcmVmZXRjaChmYWxzZSkKKyAgICAsIGlzTGlu
a1ByZWxvYWQoZmFsc2UpCisgICAgLCBpc0xpbmtQcmVjb25uZWN0KGZhbHNlKQorICAgICwgaXNM
aW5rUHJlZmV0Y2goZmFsc2UpCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAg
ICwgaXNBcHBsaWNhdGlvbk1hbmlmZXN0KGZhbHNlKQorI2VuZGlmCiB7CiB9CiAKIC8vIEtlZXAg
TGlua1JlbEF0dHJpYnV0ZTo6aXNTdXBwb3J0ZWQoKSBpbiBzeW5jIHdoZW4gdXBkYXRpbmcgdGhp
cyBjb25zdHJ1Y3Rvci4KIExpbmtSZWxBdHRyaWJ1dGU6OkxpbmtSZWxBdHRyaWJ1dGUoRG9jdW1l
bnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHJlbCkKKyAgICA6IExpbmtSZWxBdHRyaWJ1dGUo
KQogewogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJzdHlsZXNo
ZWV0IikpCiAgICAgICAgIGlzU3R5bGVTaGVldCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a1JlbEF0dHJpYnV0ZS5oCmluZGV4IGFjMWEzOWRiOWFhNTJmNGZmZTgzYWU2ODBjYmQ0NWRkN2Q2
YTA2ZDEuLmM5YTQ3OGY3MmM5ZmM3ZGU3ODg0YjlhYmNlOGY2YWQxMjYyOTUzNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5oCkBAIC0zOCwxOCArMzgsMTggQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1lbnVtIGNsYXNzIExpbmtJY29uVHlw
ZTsKK2VudW0gY2xhc3MgTGlua0ljb25UeXBlIDogdWludDhfdDsKIAogc3RydWN0IExpbmtSZWxB
dHRyaWJ1dGUgewotICAgIGJvb2wgaXNTdHlsZVNoZWV0IHsgZmFsc2UgfTsKLSAgICBPcHRpb25h
bDxMaW5rSWNvblR5cGU+IGljb25UeXBlOwotICAgIGJvb2wgaXNBbHRlcm5hdGUgeyBmYWxzZSB9
OwotICAgIGJvb2wgaXNETlNQcmVmZXRjaCB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0xpbmtQcmVs
b2FkIHsgZmFsc2UgfTsKLSAgICBib29sIGlzTGlua1ByZWNvbm5lY3QgeyBmYWxzZSB9OwotICAg
IGJvb2wgaXNMaW5rUHJlZmV0Y2ggeyBmYWxzZSB9OworICAgIE1hcmthYmxlPExpbmtJY29uVHlw
ZSwgRW51bU1hcmthYmxlVHJhaXRzPExpbmtJY29uVHlwZT4+IGljb25UeXBlOworICAgIGJvb2wg
aXNTdHlsZVNoZWV0IDogMTsKKyAgICBib29sIGlzQWx0ZXJuYXRlIDogMTsKKyAgICBib29sIGlz
RE5TUHJlZmV0Y2ggOiAxOworICAgIGJvb2wgaXNMaW5rUHJlbG9hZCA6IDE7CisgICAgYm9vbCBp
c0xpbmtQcmVjb25uZWN0IDogMTsKKyAgICBib29sIGlzTGlua1ByZWZldGNoIDogMTsKICNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCi0gICAgYm9vbCBpc0FwcGxpY2F0aW9uTWFuaWZl
c3QgeyBmYWxzZSB9OworICAgIGJvb2wgaXNBcHBsaWNhdGlvbk1hbmlmZXN0IDogMTsKICNlbmRp
ZgogCiAgICAgTGlua1JlbEF0dHJpYnV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hh
cmVkU3RyaW5nSGFzaC5oCmluZGV4IDEyNjFkNzdjYmVmNGI2NWM1MjIzMjhmYmFiZTM5N2NjNjll
YTEzZmEuLmQ2NGMxNWZiMzQwOGM5OTg2ZDg4NTc4ZWYyMjNmMWE1YjhjNjg1MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmgKQEAgLTM5LDE3ICszOSwyMCBA
QCBzdHJ1Y3QgU2hhcmVkU3RyaW5nSGFzaEhhc2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIAogICAgIC8vIFNlZSBBbHJlYWR5
SGFzaGVkOjphdm9pZERlbGV0ZWRWYWx1ZS4KKyAgICBzdGF0aWMgY29uc3RleHByIFNoYXJlZFN0
cmluZ0hhc2ggZGVsZXRlZFZhbHVlID0gMHhGRkZGRkZGRjsKICAgICBzdGF0aWMgdW5zaWduZWQg
YXZvaWREZWxldGVkVmFsdWUoU2hhcmVkU3RyaW5nSGFzaCBoYXNoNjQpCiAgICAgewogICAgICAg
ICBBU1NFUlQoaGFzaDY0KTsKICAgICAgICAgdW5zaWduZWQgaGFzaCA9IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihoYXNoNjQpOwogICAgICAgICB1bnNpZ25lZCBuZXdIYXNoID0gaGFzaCB8ICghKGhh
c2ggKyAxKSA8PCAzMSk7CiAgICAgICAgIEFTU0VSVChuZXdIYXNoKTsKLSAgICAgICAgQVNTRVJU
KG5ld0hhc2ggIT0gMHhGRkZGRkZGRik7CisgICAgICAgIEFTU0VSVChuZXdIYXNoICE9IGRlbGV0
ZWRWYWx1ZSk7CiAgICAgICAgIHJldHVybiBuZXdIYXNoOwogICAgIH0KIH07CiAKK3VzaW5nIFNo
YXJlZFN0cmluZ0hhc2hNYXJrYWJsZVRyYWl0cyA9IEludGVncmFsTWFya2FibGVUcmFpdHM8U2hh
cmVkU3RyaW5nSGFzaCwgU2hhcmVkU3RyaW5nSGFzaEhhc2g6OmRlbGV0ZWRWYWx1ZT47CisKIC8v
IFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBmb3Igdmlz
aXRlZCBsaW5rIGNvbG9yaW5nLgogV0VCQ09SRV9FWFBPUlQgU2hhcmVkU3RyaW5nSGFzaCBjb21w
dXRlU2hhcmVkU3RyaW5nSGFzaChjb25zdCBTdHJpbmcmIHVybCk7CiBXRUJDT1JFX0VYUE9SVCBT
aGFyZWRTdHJpbmdIYXNoIGNvbXB1dGVTaGFyZWRTdHJpbmdIYXNoKGNvbnN0IFVDaGFyKiB1cmws
IHVuc2lnbmVkIGxlbmd0aCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387903</attachid>
            <date>2020-01-16 03:05:18 -0800</date>
            <delta_ts>2020-01-16 17:40:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206343-20200116030518.patch</filename>
            <type>text/plain</type>
            <size>10081</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFjNzM1MmQwNTI0NjE5
OTQ5MTI4ZGU3Y2M0NTZjZGM2NmQ0NTY1Zi4uMmM1Zjk1ZjEwM2NkNDA3ZGQwOTA5Zjg2NjM4MTZh
MTEyZTBmMjNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAxLTE2ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNvcmVdIENvbXBh
Y3Qgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBhbmQgc2l6ZW9mKEhUTUxMaW5rRWxlbWVudCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERhdGEgZnJv
bSBNZW1idXN0ZXIgaXMgc2F5aW5nIHRoYXQgSFRNTEFuY2hvckVsZW1lbnQgaXMgcmVsYXRpdmVs
eSBmcmVxdWVudGx5IGFsbG9jYXRlZAorICAgICAgICBlbGVtZW50IChlbGVtZW50cyBhcmUga2Vw
dCBtb3JlIHRoYW4gMTAwMCkgd2hpbGUgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBpcyBub3Qg
b3B0aW1pemVkIHdlbGwuCisgICAgICAgIFdlIHNob3VsZCBvcHRpbWl6ZSBpdCB3ZWxsIGFuZCBn
YWluIHNvbWUgbWVtb3J5IGZvciBmcmVlLiBXZSBhbHNvIG9wdGltaXplIEhUTUxMaW5rRWxlbWVu
dC4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL0hUTUxB
bmNob3JFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlua0VsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpwcm9jZXNzKToKKyAgICAgICAgKiBodG1sL0hU
TUxMaW5rRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvTGlua0ljb25Db2xsZWN0b3IuaDoKKyAg
ICAgICAgKiBodG1sL0xpbmtJY29uVHlwZS5oOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJp
YnV0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0
cmlidXRlKToKKyAgICAgICAgKiBodG1sL0xpbmtSZWxBdHRyaWJ1dGUuaDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaEhhc2g6OmF2b2lkRGVsZXRlZFZhbHVlKToKKwog
MjAyMC0wMS0xNSAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAg
ICAgIFtMRkNdIEZpeCBDTWFrZSBCdWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5oCmluZGV4IDAyNDUwOTAzOTc0YTUzOTRjZWIwNDExNjdmYTZhMGQ4YmRjYzE0NTguLjIy
YjhlNWJiNDhiMjFiYTJhMjE5ZDg5Njk5NjI5YWRmYzNmODRiNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgQWRDbGlja0F0
dHJpYnV0aW9uOwogY2xhc3MgRE9NVG9rZW5MaXN0OwogCiAvLyBMaW5rIHJlbGF0aW9uIGJpdG1h
c2sgdmFsdWVzLgotZW51bSBjbGFzcyBSZWxhdGlvbiB7CitlbnVtIGNsYXNzIFJlbGF0aW9uIDog
dWludDhfdCB7CiAgICAgTm9SZWZlcnJlciA9IDEgPDwgMCwKICAgICBOb09wZW5lciA9IDEgPDwg
MSwKICAgICBPcGVuZXIgPSAxIDw8IDIsCkBAIC0xMTcsNyArMTE3LDcgQEAgY2xhc3MgSFRNTEFu
Y2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5j
aG9yRWxlbWVudD4KICAgICBPcHRpb25TZXQ8UmVsYXRpb24+IG1fbGlua1JlbGF0aW9uczsKIAog
ICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBtdXN0IG5vdCBiZSBhZmZlY3Rl
ZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgotICAgIG11dGFibGUgT3B0aW9uYWw8U2hhcmVk
U3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CisgICAgbXV0YWJsZSBNYXJrYWJs
ZTx1bnNpZ25lZCwgU2hhcmVkU3RyaW5nSGFzaE1hcmthYmxlVHJhaXRzPiBtX3N0b3JlZFZpc2l0
ZWRMaW5rSGFzaDsKIAogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4g
bV9yZWxMaXN0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAppbmRl
eCAzOTZjOTM3ZjFlMjJlMGUwYjg0MGRiZmNmMGRmZTdhNWYyMmNjNDZiLi41Mzc3YTRjMDdjNzAz
Y2ZkY2FmMmQ0NTBhNzI5YWM1MWE1ZjQzNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCkBAIC02Miw3ICs2Miw3IEBACiAjaW5jbHVkZSAiU3VicmVzb3VyY2VJbnRl
Z3JpdHkuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KKyNpbmNsdWRlIDx3dGYvU2Nv
cGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTkxLDYgKzkxLDggQEAgaW5saW5lIEhUTUxMaW5rRWxlbWVudDo6SFRNTExpbmtFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JgogICAgICwgbV9jcmVh
dGVkQnlQYXJzZXIoY3JlYXRlZEJ5UGFyc2VyKQogICAgICwgbV9maXJlZExvYWQoZmFsc2UpCiAg
ICAgLCBtX2xvYWRlZFJlc291cmNlKGZhbHNlKQorICAgICwgbV9pc0hhbmRsaW5nQmVmb3JlTG9h
ZChmYWxzZSkKKyAgICAsIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcoZmFs
c2UpCiAgICAgLCBtX3BlbmRpbmdTaGVldFR5cGUoVW5rbm93bikKIHsKICAgICBBU1NFUlQoaGFz
VGFnTmFtZShsaW5rVGFnKSk7CkBAIC0yOTgsOSArMzAwLDExIEBAIHZvaWQgSFRNTExpbmtFbGVt
ZW50Ojpwcm9jZXNzKCkKICAgICAgICAgfQogCiAgICAgICAgIHsKLSAgICAgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gY2hhbmdlKG1faXNIYW5kbGluZ0JlZm9yZUxvYWQsIHRydWUpOwotICAgICAgICBp
ZiAoIXNob3VsZExvYWRMaW5rKCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBi
b29sIHByZXZpb3VzID0gbV9pc0hhbmRsaW5nQmVmb3JlTG9hZDsKKyAgICAgICAgICAgIG1faXNI
YW5kbGluZ0JlZm9yZUxvYWQgPSB0cnVlOworICAgICAgICAgICAgbWFrZVNjb3BlRXhpdChbJl0g
eyBtX2lzSGFuZGxpbmdCZWZvcmVMb2FkID0gcHJldmlvdXM7IH0pOworICAgICAgICAgICAgaWYg
KCFzaG91bGRMb2FkTGluaygpKQorICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CiAgICAgICAgIG1fbG9hZGluZyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1l
bnQuaAppbmRleCAwNzM1MmEzZTJiN2UyODhmZmY2NGFiZGI2YWZjOTRlYzk1NGEyYTE0Li41YTlj
ZTBiMGZkM2M3YmMzMDA3ZmQ4MzQ5NWE3NmQ3OTYyYjFiMjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExpbmtFbGVtZW50LmgKQEAgLTExOCw3ICsxMTgsNyBAQCBjbGFzcyBIVE1MTGlua0VsZW1l
bnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBDYWNoZWRTdHlsZVNoZWV0Q2xp
ZW50LAogCiAgICAgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKSBmaW5hbDsKIAotICAgIGVu
dW0gUGVuZGluZ1NoZWV0VHlwZSB7IFVua25vd24sIEFjdGl2ZVNoZWV0LCBJbmFjdGl2ZVNoZWV0
IH07CisgICAgZW51bSBQZW5kaW5nU2hlZXRUeXBlIDogdWludDhfdCB7IFVua25vd24sIEFjdGl2
ZVNoZWV0LCBJbmFjdGl2ZVNoZWV0IH07CiAgICAgdm9pZCBhZGRQZW5kaW5nU2hlZXQoUGVuZGlu
Z1NoZWV0VHlwZSk7CiAKICAgICB2b2lkIHJlbW92ZVBlbmRpbmdTaGVldCgpOwpAQCAtMTI3LDcg
KzEyNyw3IEBAIGNsYXNzIEhUTUxMaW5rRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVu
dCwgcHVibGljIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsCiAgICAgU3R5bGU6OlNjb3BlKiBtX3N0
eWxlU2NvcGUgeyBudWxscHRyIH07CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkQ1NT
U3R5bGVTaGVldD4gbV9jYWNoZWRTaGVldDsKICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gbV9z
aGVldDsKLSAgICBlbnVtIERpc2FibGVkU3RhdGUgeworICAgIGVudW0gRGlzYWJsZWRTdGF0ZSA6
IHVpbnQ4X3QgewogICAgICAgICBVbnNldCwKICAgICAgICAgRW5hYmxlZFZpYVNjcmlwdCwKICAg
ICAgICAgRGlzYWJsZWQKQEAgLTEzNSwyMCArMTM1LDE4IEBAIGNsYXNzIEhUTUxMaW5rRWxlbWVu
dCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGljIENhY2hlZFN0eWxlU2hlZXRDbGll
bnQsCiAKICAgICBTdHJpbmcgbV90eXBlOwogICAgIFN0cmluZyBtX21lZGlhOworICAgIFN0cmlu
ZyBtX2ludGVncml0eU1ldGFkYXRhRm9yUGVuZGluZ1NoZWV0UmVxdWVzdDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3NpemVzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01U
b2tlbkxpc3Q+IG1fcmVsTGlzdDsKICAgICBEaXNhYmxlZFN0YXRlIG1fZGlzYWJsZWRTdGF0ZTsK
ICAgICBMaW5rUmVsQXR0cmlidXRlIG1fcmVsQXR0cmlidXRlOwotICAgIGJvb2wgbV9sb2FkaW5n
OwotICAgIGJvb2wgbV9jcmVhdGVkQnlQYXJzZXI7Ci0gICAgYm9vbCBtX2ZpcmVkTG9hZDsKLSAg
ICBib29sIG1fbG9hZGVkUmVzb3VyY2U7Ci0gICAgYm9vbCBtX2lzSGFuZGxpbmdCZWZvcmVMb2Fk
IHsgZmFsc2UgfTsKLSAgICBib29sIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3Rp
bmcgeyBmYWxzZSB9OwotCisgICAgYm9vbCBtX2xvYWRpbmcgOiAxOworICAgIGJvb2wgbV9jcmVh
dGVkQnlQYXJzZXIgOiAxOworICAgIGJvb2wgbV9maXJlZExvYWQgOiAxOworICAgIGJvb2wgbV9s
b2FkZWRSZXNvdXJjZSA6IDE7CisgICAgYm9vbCBtX2lzSGFuZGxpbmdCZWZvcmVMb2FkIDogMTsK
KyAgICBib29sIG1fYWxsb3dQcmVmZXRjaExvYWRBbmRFcnJvckZvclRlc3RpbmcgOiAxOwogICAg
IFBlbmRpbmdTaGVldFR5cGUgbV9wZW5kaW5nU2hlZXRUeXBlOwotICAgIFN0cmluZyBtX2ludGVn
cml0eU1ldGFkYXRhRm9yUGVuZGluZ1NoZWV0UmVxdWVzdDsKLQotICAgIHN0ZDo6dW5pcXVlX3B0
cjxET01Ub2tlbkxpc3Q+IG1fcmVsTGlzdDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTGlua0ljb25Db2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a0ljb25Db2xsZWN0b3IuaAppbmRleCA0M2YyMmI4NmQ0NDcxMTY5ZDM2ZjBhY2Q3ZTIxY2Q1NWRh
NzQ0NjVmLi43OGNlYjhkMzYyMjMwMDUwNjIxYzRjZDgyY2FjODFmZTEwYjYwMzE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uQ29sbGVjdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9MaW5rSWNvbkNvbGxlY3Rvci5oCkBAIC0zMSw3ICszMSw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwotZW51bSBjbGFzcyBMaW5rSWNvblR5
cGU7CitlbnVtIGNsYXNzIExpbmtJY29uVHlwZSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIExpbmtJY29u
Q29sbGVjdG9yIHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a0ljb25UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uVHlwZS5oCmluZGV4IGU3
NGZkOGRmYzUyYTFlYTkxMjM3YjBmY2E4Njg2YTMwY2FkOTY1YmUuLmJkMmM0Zjg5MzljNjY5OGE2
ODg2ZTUyYWFmN2M1ZTBkYzI1MmM0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TGlua0ljb25UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaApA
QCAtMjgsOCArMjgsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaGVzZSB2YWx1ZXMg
YXJlIGFycmFuZ2VkIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCB3aXRoIFdURjo6T3B0aW9uU2V0
LgorLy8gQW5kIHVzaW5nIGl0IHdpdGggTWFya2FibGUgdmlhIEVudW1NYXJrYWJsZVRyYWl0cy4K
IAotZW51bSBjbGFzcyBMaW5rSWNvblR5cGUgeworZW51bSBjbGFzcyBMaW5rSWNvblR5cGUgOiB1
aW50OF90IHsKICAgICBGYXZpY29uID0gMSA8PCAwLAogICAgIFRvdWNoSWNvbiA9IDEgPDwgMSwK
ICAgICBUb3VjaFByZWNvbXBvc2VkSWNvbiA9IDEgPDwyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5r
UmVsQXR0cmlidXRlLmNwcAppbmRleCBiMTA4NTMwMWUxOWY5NTM1ODc3MmIzMmRkMzE5YTQzNjdh
NjQ2MjgwLi40MDUyZmExOGRlYTBhM2NjOTc5ZTJhYTEzZTJjNWEwNjhiOWNmN2M5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAKQEAgLTQyLDExICs0MiwyMiBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0cmlidXRl
KCkKKyAgICA6IGljb25UeXBlKCkKKyAgICAsIGlzU3R5bGVTaGVldChmYWxzZSkKKyAgICAsIGlz
QWx0ZXJuYXRlKGZhbHNlKQorICAgICwgaXNETlNQcmVmZXRjaChmYWxzZSkKKyAgICAsIGlzTGlu
a1ByZWxvYWQoZmFsc2UpCisgICAgLCBpc0xpbmtQcmVjb25uZWN0KGZhbHNlKQorICAgICwgaXNM
aW5rUHJlZmV0Y2goZmFsc2UpCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQorICAg
ICwgaXNBcHBsaWNhdGlvbk1hbmlmZXN0KGZhbHNlKQorI2VuZGlmCiB7CiB9CiAKIC8vIEtlZXAg
TGlua1JlbEF0dHJpYnV0ZTo6aXNTdXBwb3J0ZWQoKSBpbiBzeW5jIHdoZW4gdXBkYXRpbmcgdGhp
cyBjb25zdHJ1Y3Rvci4KIExpbmtSZWxBdHRyaWJ1dGU6OkxpbmtSZWxBdHRyaWJ1dGUoRG9jdW1l
bnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHJlbCkKKyAgICA6IExpbmtSZWxBdHRyaWJ1dGUo
KQogewogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShyZWwsICJzdHlsZXNo
ZWV0IikpCiAgICAgICAgIGlzU3R5bGVTaGVldCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a1JlbEF0dHJpYnV0ZS5oCmluZGV4IGFjMWEzOWRiOWFhNTJmNGZmZTgzYWU2ODBjYmQ0NWRkN2Q2
YTA2ZDEuLmM5YTQ3OGY3MmM5ZmM3ZGU3ODg0YjlhYmNlOGY2YWQxMjYyOTUzNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5oCkBAIC0zOCwxOCArMzgsMTggQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1lbnVtIGNsYXNzIExpbmtJY29uVHlw
ZTsKK2VudW0gY2xhc3MgTGlua0ljb25UeXBlIDogdWludDhfdDsKIAogc3RydWN0IExpbmtSZWxB
dHRyaWJ1dGUgewotICAgIGJvb2wgaXNTdHlsZVNoZWV0IHsgZmFsc2UgfTsKLSAgICBPcHRpb25h
bDxMaW5rSWNvblR5cGU+IGljb25UeXBlOwotICAgIGJvb2wgaXNBbHRlcm5hdGUgeyBmYWxzZSB9
OwotICAgIGJvb2wgaXNETlNQcmVmZXRjaCB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0xpbmtQcmVs
b2FkIHsgZmFsc2UgfTsKLSAgICBib29sIGlzTGlua1ByZWNvbm5lY3QgeyBmYWxzZSB9OwotICAg
IGJvb2wgaXNMaW5rUHJlZmV0Y2ggeyBmYWxzZSB9OworICAgIE1hcmthYmxlPExpbmtJY29uVHlw
ZSwgRW51bU1hcmthYmxlVHJhaXRzPExpbmtJY29uVHlwZT4+IGljb25UeXBlOworICAgIGJvb2wg
aXNTdHlsZVNoZWV0IDogMTsKKyAgICBib29sIGlzQWx0ZXJuYXRlIDogMTsKKyAgICBib29sIGlz
RE5TUHJlZmV0Y2ggOiAxOworICAgIGJvb2wgaXNMaW5rUHJlbG9hZCA6IDE7CisgICAgYm9vbCBp
c0xpbmtQcmVjb25uZWN0IDogMTsKKyAgICBib29sIGlzTGlua1ByZWZldGNoIDogMTsKICNpZiBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCi0gICAgYm9vbCBpc0FwcGxpY2F0aW9uTWFuaWZl
c3QgeyBmYWxzZSB9OworICAgIGJvb2wgaXNBcHBsaWNhdGlvbk1hbmlmZXN0IDogMTsKICNlbmRp
ZgogCiAgICAgTGlua1JlbEF0dHJpYnV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hh
cmVkU3RyaW5nSGFzaC5oCmluZGV4IDEyNjFkNzdjYmVmNGI2NWM1MjIzMjhmYmFiZTM5N2NjNjll
YTEzZmEuLjczN2UyODhjNWZlNmYzNWIxMjgxNGY2ZWFmNDY0NTNkMWU5MzkxNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmgKQEAgLTI2LDYgKzI2LDcgQEAK
ICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYv
TWFya2FibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTM5LDE3ICs0MCwyMCBAQCBzdHJ1Y3QgU2hhcmVkU3RyaW5nSGFzaEhh
c2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
ID0gdHJ1ZTsKIAogICAgIC8vIFNlZSBBbHJlYWR5SGFzaGVkOjphdm9pZERlbGV0ZWRWYWx1ZS4K
KyAgICBzdGF0aWMgY29uc3RleHByIFNoYXJlZFN0cmluZ0hhc2ggZGVsZXRlZFZhbHVlID0gMHhG
RkZGRkZGRjsKICAgICBzdGF0aWMgdW5zaWduZWQgYXZvaWREZWxldGVkVmFsdWUoU2hhcmVkU3Ry
aW5nSGFzaCBoYXNoNjQpCiAgICAgewogICAgICAgICBBU1NFUlQoaGFzaDY0KTsKICAgICAgICAg
dW5zaWduZWQgaGFzaCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihoYXNoNjQpOwogICAgICAgICB1
bnNpZ25lZCBuZXdIYXNoID0gaGFzaCB8ICghKGhhc2ggKyAxKSA8PCAzMSk7CiAgICAgICAgIEFT
U0VSVChuZXdIYXNoKTsKLSAgICAgICAgQVNTRVJUKG5ld0hhc2ggIT0gMHhGRkZGRkZGRik7Cisg
ICAgICAgIEFTU0VSVChuZXdIYXNoICE9IGRlbGV0ZWRWYWx1ZSk7CiAgICAgICAgIHJldHVybiBu
ZXdIYXNoOwogICAgIH0KIH07CiAKK3VzaW5nIFNoYXJlZFN0cmluZ0hhc2hNYXJrYWJsZVRyYWl0
cyA9IEludGVncmFsTWFya2FibGVUcmFpdHM8U2hhcmVkU3RyaW5nSGFzaCwgU2hhcmVkU3RyaW5n
SGFzaEhhc2g6OmRlbGV0ZWRWYWx1ZT47CisKIC8vIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIHN0
cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdmlzaXRlZCBsaW5rIGNvbG9yaW5nLgogV0VCQ09S
RV9FWFBPUlQgU2hhcmVkU3RyaW5nSGFzaCBjb21wdXRlU2hhcmVkU3RyaW5nSGFzaChjb25zdCBT
dHJpbmcmIHVybCk7CiBXRUJDT1JFX0VYUE9SVCBTaGFyZWRTdHJpbmdIYXNoIGNvbXB1dGVTaGFy
ZWRTdHJpbmdIYXNoKGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387996</attachid>
            <date>2020-01-16 17:40:20 -0800</date>
            <delta_ts>2020-01-16 17:40:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206343-20200116174020.patch</filename>
            <type>text/plain</type>
            <size>20631</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ2NDAyOGRlYWI3Zjg5
ZjQzYzgyNTM5ZWE4NTQ0ODg2ODdmZjY2ZC4uODNkODIzNTZmYTBlMjU3NWYxMjRiYzkwMzRlZTBj
ZGFjMDc5YTE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAxLTE2ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNvcmVdIENvbXBh
Y3Qgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBhbmQgc2l6ZW9mKEhUTUxMaW5rRWxlbWVudCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERhdGEgZnJv
bSBNZW1idXN0ZXIgaXMgc2F5aW5nIHRoYXQgSFRNTEFuY2hvckVsZW1lbnQgaXMgcmVsYXRpdmVs
eSBmcmVxdWVudGx5IGFsbG9jYXRlZAorICAgICAgICBlbGVtZW50IChlbGVtZW50cyBhcmUga2Vw
dCBtb3JlIHRoYW4gMTAwMCkgd2hpbGUgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBpcyBub3Qg
b3B0aW1pemVkIHdlbGwuCisgICAgICAgIFdlIHNob3VsZCBvcHRpbWl6ZSBpdCB3ZWxsIGFuZCBn
YWluIHNvbWUgbWVtb3J5IGZvciBmcmVlLiBXZSBhbHNvIG9wdGltaXplIEhUTUxMaW5rRWxlbWVu
dC4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL0hUTUxB
bmNob3JFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpIVE1MTGlua0VsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50Ojpwcm9jZXNzKToKKyAgICAgICAgKiBodG1sL0hU
TUxMaW5rRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvTGlua0ljb25Db2xsZWN0b3IuaDoKKyAg
ICAgICAgKiBodG1sL0xpbmtJY29uVHlwZS5oOgorICAgICAgICAqIGh0bWwvTGlua1JlbEF0dHJp
YnV0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5rUmVsQXR0cmlidXRlOjpMaW5rUmVsQXR0
cmlidXRlKToKKyAgICAgICAgKiBodG1sL0xpbmtSZWxBdHRyaWJ1dGUuaDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9WaXNpdGVk
TGlua1N0b3JlLmg6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlU2hhcmVkU3RyaW5nSGFzaElubGluZSk6CisgICAgICAg
IChXZWJDb3JlOjpjb21wdXRlVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9T
aGFyZWRTdHJpbmdIYXNoLmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoOjpv
cGVyYXRvciEpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaDo6b3BlcmF0b3Ig
Ym9vbCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoOjplbmNvZGUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaDo6ZGVjb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNoYXJlZFN0cmluZ0hhc2g6Ok1hcmthYmxlVHJhaXRzOjppc0VtcHR5VmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaDo6TWFya2FibGVUcmFpdHM6OmVt
cHR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJD
b3JlOjpTaGFyZWRTdHJpbmdIYXNoSGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFy
ZWRTdHJpbmdIYXNoSGFzaDo6ZXF1YWwpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNv
cmU6OlNoYXJlZFN0cmluZ0hhc2g+Ojpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgorICAgICAgICAo
V1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNoYXJlZFN0cmluZ0hhc2g+Ojppc0RlbGV0ZWRWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoSGFzaDo6YXZvaWREZWxldGVk
VmFsdWUpOiBEZWxldGVkLgorCiAyMDIwLTAxLTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYWtlIHRoZSBjYWxsQXN5bmNKYXZhU2NyaXB0RnVuY3Rpb24g
ZnVuY3Rpb24gYWN0dWFsbHkgYmUgYXN5bmMgKHNvIGF3YWl0IHdvcmtzKS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
OTE4YTNlNTM5ZmNhNjUwMWEwOGUwZThhMmVmYjYyNjEyNDgyZDBkNi4uZDYyMGI5OTk5Njk0MTlm
M2I5ZDlhNzIwZjk3MmI3ZGNkMDUwM2ViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MC0wMS0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJDb3JlXSBDb21wYWN0IHNpemVvZihIVE1MQW5jaG9yRWxlbWVudCkgYW5kIHNpemVvZihIVE1M
TGlua0VsZW1lbnQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDYzNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9TaGFy
ZWRTdHJpbmdIYXNoVGFibGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRTdHJpbmdIYXNo
VGFibGU6OnJlbW92ZSk6CisgICAgICAgICogU2hhcmVkL1NoYXJlZFN0cmluZ0hhc2hUYWJsZVJl
YWRPbmx5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVhZE9u
bHk6OmZpbmRTbG90IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9y
ZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wMS0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBmaW5pdGUgdGltZW91dCB3aGVuIHN5bmNo
cm9ub3VzbHkgdGVybWluYXRpbmcgYSBzZXJ2aWNlIHdvcmtlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IDAyNDUwOTAzOTc0YTUzOTRjZWIwNDExNjdmYTZhMGQ4
YmRjYzE0NTguLmRlMjgzNGQwZjgwNTU0NTc1NDJlZWU4YmViNjhlY2FmMjY2NWZmYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAgY2xh
c3MgQWRDbGlja0F0dHJpYnV0aW9uOwogY2xhc3MgRE9NVG9rZW5MaXN0OwogCiAvLyBMaW5rIHJl
bGF0aW9uIGJpdG1hc2sgdmFsdWVzLgotZW51bSBjbGFzcyBSZWxhdGlvbiB7CitlbnVtIGNsYXNz
IFJlbGF0aW9uIDogdWludDhfdCB7CiAgICAgTm9SZWZlcnJlciA9IDEgPDwgMCwKICAgICBOb09w
ZW5lciA9IDEgPDwgMSwKICAgICBPcGVuZXIgPSAxIDw8IDIsCkBAIC0xMTcsNyArMTE3LDcgQEAg
Y2xhc3MgSFRNTEFuY2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBVUkxV
dGlsczxIVE1MQW5jaG9yRWxlbWVudD4KICAgICBPcHRpb25TZXQ8UmVsYXRpb24+IG1fbGlua1Jl
bGF0aW9uczsKIAogICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBtdXN0IG5v
dCBiZSBhZmZlY3RlZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgotICAgIG11dGFibGUgT3B0
aW9uYWw8U2hhcmVkU3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CisgICAgbXV0
YWJsZSBNYXJrYWJsZTxTaGFyZWRTdHJpbmdIYXNoLCBTaGFyZWRTdHJpbmdIYXNoTWFya2FibGVU
cmFpdHM+IG1fc3RvcmVkVmlzaXRlZExpbmtIYXNoOwogCiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1
ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3JlbExpc3Q7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwCmluZGV4IDM5NmM5MzdmMWUyMmUwZTBiODQwZGJmY2YwZGZlN2E1ZjIy
Y2M0NmIuLjUzNzdhNGMwN2M3MDNjZmRjYWYyZDQ1MGE3MjlhYzUxYTVmNDM0OWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTYyLDcgKzYyLDcgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUludGVncml0eS5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5o
PgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtOTEsNiArOTEsOCBAQCBpbmxpbmUgSFRNTExpbmtF
bGVtZW50OjpIVE1MTGlua0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmCiAgICAgLCBtX2NyZWF0ZWRCeVBhcnNlcihjcmVhdGVkQnlQYXJzZXIpCiAgICAgLCBt
X2ZpcmVkTG9hZChmYWxzZSkKICAgICAsIG1fbG9hZGVkUmVzb3VyY2UoZmFsc2UpCisgICAgLCBt
X2lzSGFuZGxpbmdCZWZvcmVMb2FkKGZhbHNlKQorICAgICwgbV9hbGxvd1ByZWZldGNoTG9hZEFu
ZEVycm9yRm9yVGVzdGluZyhmYWxzZSkKICAgICAsIG1fcGVuZGluZ1NoZWV0VHlwZShVbmtub3du
KQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGxpbmtUYWcpKTsKQEAgLTI5OCw5ICszMDAsMTEg
QEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAgICAgICB9CiAKICAgICAgICAg
ewotICAgICAgICBTZXRGb3JTY29wZTxib29sPiBjaGFuZ2UobV9pc0hhbmRsaW5nQmVmb3JlTG9h
ZCwgdHJ1ZSk7Ci0gICAgICAgIGlmICghc2hvdWxkTG9hZExpbmsoKSkKLSAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIGJvb2wgcHJldmlvdXMgPSBtX2lzSGFuZGxpbmdCZWZvcmVMb2Fk
OworICAgICAgICAgICAgbV9pc0hhbmRsaW5nQmVmb3JlTG9hZCA9IHRydWU7CisgICAgICAgICAg
ICBtYWtlU2NvcGVFeGl0KFsmXSB7IG1faXNIYW5kbGluZ0JlZm9yZUxvYWQgPSBwcmV2aW91czsg
fSk7CisgICAgICAgICAgICBpZiAoIXNob3VsZExvYWRMaW5rKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgbV9sb2FkaW5nID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCmluZGV4IDA3MzUyYTNlMmI3ZTI4OGZmZjY0YWJkYjZh
ZmM5NGVjOTU0YTJhMTQuLjVhOWNlMGIwZmQzYzdiYzMwMDdmZDgzNDk1YTc2ZDc5NjJiMWIyNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaApAQCAtMTE4LDcgKzExOCw3IEBA
IGNsYXNzIEhUTUxMaW5rRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGlj
IENhY2hlZFN0eWxlU2hlZXRDbGllbnQsCiAKICAgICB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJl
bigpIGZpbmFsOwogCi0gICAgZW51bSBQZW5kaW5nU2hlZXRUeXBlIHsgVW5rbm93biwgQWN0aXZl
U2hlZXQsIEluYWN0aXZlU2hlZXQgfTsKKyAgICBlbnVtIFBlbmRpbmdTaGVldFR5cGUgOiB1aW50
OF90IHsgVW5rbm93biwgQWN0aXZlU2hlZXQsIEluYWN0aXZlU2hlZXQgfTsKICAgICB2b2lkIGFk
ZFBlbmRpbmdTaGVldChQZW5kaW5nU2hlZXRUeXBlKTsKIAogICAgIHZvaWQgcmVtb3ZlUGVuZGlu
Z1NoZWV0KCk7CkBAIC0xMjcsNyArMTI3LDcgQEAgY2xhc3MgSFRNTExpbmtFbGVtZW50IGZpbmFs
IDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMgQ2FjaGVkU3R5bGVTaGVldENsaWVudCwKICAg
ICBTdHlsZTo6U2NvcGUqIG1fc3R5bGVTY29wZSB7IG51bGxwdHIgfTsKICAgICBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBtX2NhY2hlZFNoZWV0OwogICAgIFJlZlB0
cjxDU1NTdHlsZVNoZWV0PiBtX3NoZWV0OwotICAgIGVudW0gRGlzYWJsZWRTdGF0ZSB7CisgICAg
ZW51bSBEaXNhYmxlZFN0YXRlIDogdWludDhfdCB7CiAgICAgICAgIFVuc2V0LAogICAgICAgICBF
bmFibGVkVmlhU2NyaXB0LAogICAgICAgICBEaXNhYmxlZApAQCAtMTM1LDIwICsxMzUsMTggQEAg
Y2xhc3MgSFRNTExpbmtFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMg
Q2FjaGVkU3R5bGVTaGVldENsaWVudCwKIAogICAgIFN0cmluZyBtX3R5cGU7CiAgICAgU3RyaW5n
IG1fbWVkaWE7CisgICAgU3RyaW5nIG1faW50ZWdyaXR5TWV0YWRhdGFGb3JQZW5kaW5nU2hlZXRS
ZXF1ZXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxpc3Q+IG1fc2l6ZXM7CisgICAg
c3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9yZWxMaXN0OwogICAgIERpc2FibGVkU3Rh
dGUgbV9kaXNhYmxlZFN0YXRlOwogICAgIExpbmtSZWxBdHRyaWJ1dGUgbV9yZWxBdHRyaWJ1dGU7
Ci0gICAgYm9vbCBtX2xvYWRpbmc7Ci0gICAgYm9vbCBtX2NyZWF0ZWRCeVBhcnNlcjsKLSAgICBi
b29sIG1fZmlyZWRMb2FkOwotICAgIGJvb2wgbV9sb2FkZWRSZXNvdXJjZTsKLSAgICBib29sIG1f
aXNIYW5kbGluZ0JlZm9yZUxvYWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9hbGxvd1ByZWZldGNo
TG9hZEFuZEVycm9yRm9yVGVzdGluZyB7IGZhbHNlIH07Ci0KKyAgICBib29sIG1fbG9hZGluZyA6
IDE7CisgICAgYm9vbCBtX2NyZWF0ZWRCeVBhcnNlciA6IDE7CisgICAgYm9vbCBtX2ZpcmVkTG9h
ZCA6IDE7CisgICAgYm9vbCBtX2xvYWRlZFJlc291cmNlIDogMTsKKyAgICBib29sIG1faXNIYW5k
bGluZ0JlZm9yZUxvYWQgOiAxOworICAgIGJvb2wgbV9hbGxvd1ByZWZldGNoTG9hZEFuZEVycm9y
Rm9yVGVzdGluZyA6IDE7CiAgICAgUGVuZGluZ1NoZWV0VHlwZSBtX3BlbmRpbmdTaGVldFR5cGU7
Ci0gICAgU3RyaW5nIG1faW50ZWdyaXR5TWV0YWRhdGFGb3JQZW5kaW5nU2hlZXRSZXF1ZXN0Owot
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9yZWxMaXN0OwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvbkNvbGxlY3Rvci5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvbkNvbGxlY3Rvci5oCmluZGV4IDQzZjIyYjg2ZDQ0NzEx
NjlkMzZmMGFjZDdlMjFjZDU1ZGE3NDQ2NWYuLjc4Y2ViOGQzNjIyMzAwNTA2MjFjNGNkODJjYWM4
MWZlMTBiNjAzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua0ljb25Db2xs
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uQ29sbGVjdG9yLmgKQEAg
LTMxLDcgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1l
bnVtIGNsYXNzIExpbmtJY29uVHlwZTsKK2VudW0gY2xhc3MgTGlua0ljb25UeXBlIDogdWludDhf
dDsKIAogY2xhc3MgTGlua0ljb25Db2xsZWN0b3IgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlu
a0ljb25UeXBlLmgKaW5kZXggZTc0ZmQ4ZGZjNTJhMWVhOTEyMzdiMGZjYTg2ODZhMzBjYWQ5NjVi
ZS4uYmQyYzRmODkzOWM2Njk4YTY4ODZlNTJhYWY3YzVlMGRjMjUyYzRlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0xpbmtJY29uVHlwZS5oCkBAIC0yOCw4ICsyOCw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIFRoZXNlIHZhbHVlcyBhcmUgYXJyYW5nZWQgc28gdGhhdCB0aGV5IGNhbiBiZSB1c2Vk
IHdpdGggV1RGOjpPcHRpb25TZXQuCisvLyBBbmQgdXNpbmcgaXQgd2l0aCBNYXJrYWJsZSB2aWEg
RW51bU1hcmthYmxlVHJhaXRzLgogCi1lbnVtIGNsYXNzIExpbmtJY29uVHlwZSB7CitlbnVtIGNs
YXNzIExpbmtJY29uVHlwZSA6IHVpbnQ4X3QgewogICAgIEZhdmljb24gPSAxIDw8IDAsCiAgICAg
VG91Y2hJY29uID0gMSA8PCAxLAogICAgIFRvdWNoUHJlY29tcG9zZWRJY29uID0gMSA8PDIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCmluZGV4IGIxMDg1MzAxZTE5Zjk1
MzU4NzcyYjMyZGQzMTlhNDM2N2E2NDYyODAuLjQwNTJmYTE4ZGVhMGEzY2M5NzllMmFhMTNlMmM1
YTA2OGI5Y2Y3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJp
YnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmNwcApA
QCAtNDIsMTEgKzQyLDIyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExpbmtSZWxBdHRyaWJ1
dGU6OkxpbmtSZWxBdHRyaWJ1dGUoKQorICAgIDogaWNvblR5cGUoKQorICAgICwgaXNTdHlsZVNo
ZWV0KGZhbHNlKQorICAgICwgaXNBbHRlcm5hdGUoZmFsc2UpCisgICAgLCBpc0ROU1ByZWZldGNo
KGZhbHNlKQorICAgICwgaXNMaW5rUHJlbG9hZChmYWxzZSkKKyAgICAsIGlzTGlua1ByZWNvbm5l
Y3QoZmFsc2UpCisgICAgLCBpc0xpbmtQcmVmZXRjaChmYWxzZSkKKyNpZiBFTkFCTEUoQVBQTElD
QVRJT05fTUFOSUZFU1QpCisgICAgLCBpc0FwcGxpY2F0aW9uTWFuaWZlc3QoZmFsc2UpCisjZW5k
aWYKIHsKIH0KIAogLy8gS2VlcCBMaW5rUmVsQXR0cmlidXRlOjppc1N1cHBvcnRlZCgpIGluIHN5
bmMgd2hlbiB1cGRhdGluZyB0aGlzIGNvbnN0cnVjdG9yLgogTGlua1JlbEF0dHJpYnV0ZTo6TGlu
a1JlbEF0dHJpYnV0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgcmVsKQorICAg
IDogTGlua1JlbEF0dHJpYnV0ZSgpCiB7CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHJlbCwgInN0eWxlc2hlZXQiKSkKICAgICAgICAgaXNTdHlsZVNoZWV0ID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmgKaW5kZXggYWMxYTM5ZGI5YWE1MmY0
ZmZlODNhZTY4MGNiZDQ1ZGQ3ZDZhMDZkMS4uYzlhNDc4ZjcyYzlmYzdkZTc4ODRiOWFiY2U4ZjZh
ZDEyNjI5NTM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmli
dXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmgKQEAgLTM4
LDE4ICszOCwxOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKLWVu
dW0gY2xhc3MgTGlua0ljb25UeXBlOworZW51bSBjbGFzcyBMaW5rSWNvblR5cGUgOiB1aW50OF90
OwogCiBzdHJ1Y3QgTGlua1JlbEF0dHJpYnV0ZSB7Ci0gICAgYm9vbCBpc1N0eWxlU2hlZXQgeyBm
YWxzZSB9OwotICAgIE9wdGlvbmFsPExpbmtJY29uVHlwZT4gaWNvblR5cGU7Ci0gICAgYm9vbCBp
c0FsdGVybmF0ZSB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0ROU1ByZWZldGNoIHsgZmFsc2UgfTsK
LSAgICBib29sIGlzTGlua1ByZWxvYWQgeyBmYWxzZSB9OwotICAgIGJvb2wgaXNMaW5rUHJlY29u
bmVjdCB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0xpbmtQcmVmZXRjaCB7IGZhbHNlIH07CisgICAg
TWFya2FibGU8TGlua0ljb25UeXBlLCBFbnVtTWFya2FibGVUcmFpdHM8TGlua0ljb25UeXBlPj4g
aWNvblR5cGU7CisgICAgYm9vbCBpc1N0eWxlU2hlZXQgOiAxOworICAgIGJvb2wgaXNBbHRlcm5h
dGUgOiAxOworICAgIGJvb2wgaXNETlNQcmVmZXRjaCA6IDE7CisgICAgYm9vbCBpc0xpbmtQcmVs
b2FkIDogMTsKKyAgICBib29sIGlzTGlua1ByZWNvbm5lY3QgOiAxOworICAgIGJvb2wgaXNMaW5r
UHJlZmV0Y2ggOiAxOwogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKLSAgICBib29s
IGlzQXBwbGljYXRpb25NYW5pZmVzdCB7IGZhbHNlIH07CisgICAgYm9vbCBpc0FwcGxpY2F0aW9u
TWFuaWZlc3QgOiAxOwogI2VuZGlmCiAKICAgICBMaW5rUmVsQXR0cmlidXRlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCmluZGV4IDI3MDM3NDc4MWMyMDNkNjc1YTIxYTAyYTVmMDM0MjJkMjcxNmJhODAuLmIyNGZm
OGJlNjZkOTE5YzBiN2ZiYWY2Y2QyOWMzYjkwYWNjOGY1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiUmVnaXN0cmFibGVEb21haW4uaCIKICNpbmNsdWRlICJS
ZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2lu
Y2x1ZGUgIlNoYXJlZFN0cmluZ0hhc2guaCIKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bi5oIgpAQCAtMTQ3LDggKzE0OCw2IEBAIGNsYXNzIFZpc2l0ZWRMaW5rU3RvcmU7CiBjbGFzcyBX
ZWJHTFN0YXRlVHJhY2tlcjsKIGNsYXNzIFdoZWVsRXZlbnREZWx0YUZpbHRlcjsKIAotdXNpbmcg
U2hhcmVkU3RyaW5nSGFzaCA9IHVpbnQ2NF90OwotCiBlbnVtIGNsYXNzIENhbldyYXAgOiBib29s
OwogZW51bSBjbGFzcyBEaWRXcmFwIDogYm9vbDsKIGVudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9s
aWN5IDogdWludDhfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlzaXRlZExp
bmtTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKaW5kZXgg
YzY2M2JhOTRiOWNlMGM1MWZkMTFkMTU3MzhiMGE4OGM4YWU0MTI2NS4uMThlZTcwODk4NGJhZmJl
Mjc3ZmU2NDQwMWE2OWY2NmQ0ZGZiNGU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9WaXNpdGVkTGlua1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlu
a1N0b3JlLmgKQEAgLTI1LDEzICsyNSwxMyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IlNoYXJlZFN0cmluZ0hhc2guaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi10eXBlZGVmIHVpbnQ2NF90IFNoYXJlZFN0cmluZ0hhc2g7CiBjbGFzcyBQ
YWdlOwogCiBjbGFzcyBWaXNpdGVkTGlua1N0b3JlIDogcHVibGljIFJlZkNvdW50ZWQ8VmlzaXRl
ZExpbmtTdG9yZT4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVk
U3RyaW5nSGFzaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNo
LmNwcAppbmRleCBiOTM0ZTZmYTNhZjNmY2ZiMTFkNDk3MDIzNTYwMTYyYmRiNWJmYzUyLi5jODQy
NjJlOTRkYzU0Yzc2YjllZGJhM2Y3ZGU2ZTA5OWNiZTBmNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBuZWVkc1RyYWlsaW5nU2xhc2goY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hh
cmFjdGVycywgdW5zaWduZWQKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3Rh
dGljIEFMV0FZU19JTkxJTkUgU2hhcmVkU3RyaW5nSGFzaCBjb21wdXRlU2hhcmVkU3RyaW5nSGFz
aElubGluZShjb25zdCBDaGFyYWN0ZXJUeXBlKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCkKIHsKLSAg
ICByZXR1cm4gQWxyZWFkeUhhc2hlZDo6YXZvaWREZWxldGVkVmFsdWUoU3RyaW5nSGFzaGVyOjpj
b21wdXRlSGFzaCh1cmwsIGxlbmd0aCkpOworICAgIHJldHVybiBTaGFyZWRTdHJpbmdIYXNoIHsg
QWxyZWFkeUhhc2hlZDo6YXZvaWREZWxldGVkVmFsdWUoU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFz
aCh1cmwsIGxlbmd0aCkpIH07CiB9CiAKIFNoYXJlZFN0cmluZ0hhc2ggY29tcHV0ZVNoYXJlZFN0
cmluZ0hhc2goY29uc3QgU3RyaW5nJiB1cmwpCkBAIC0yODMsMTMgKzI4MywxMyBAQCBzdGF0aWMg
QUxXQVlTX0lOTElORSB2b2lkIGNvbXB1dGVTaGFyZWRTdHJpbmdIYXNoSW5saW5lKGNvbnN0IFVS
TCYgYmFzZSwgY29uc3QgQwogU2hhcmVkU3RyaW5nSGFzaCBjb21wdXRlVmlzaXRlZExpbmtIYXNo
KGNvbnN0IFVSTCYgYmFzZSwgY29uc3QgQXRvbVN0cmluZyYgYXR0cmlidXRlVVJMKQogewogICAg
IGlmIChhdHRyaWJ1dGVVUkwuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cmV0dXJuIFNoYXJlZFN0cmluZ0hhc2ggeyAwIH07CiAKICAgICBpZiAoIWJhc2Uuc3RyaW5nKCku
aXNFbXB0eSgpICYmIGJhc2Uuc3RyaW5nKCkuaXM4Qml0KCkgJiYgYXR0cmlidXRlVVJMLmlzOEJp
dCgpKSB7CiAgICAgICAgIFZlY3RvcjxMQ2hhciwgNTEyPiB1cmw7CiAgICAgICAgIGNvbXB1dGVT
aGFyZWRTdHJpbmdIYXNoSW5saW5lKGJhc2UsIGF0dHJpYnV0ZVVSTC5jaGFyYWN0ZXJzOCgpLCBh
dHRyaWJ1dGVVUkwubGVuZ3RoKCksIHVybCk7CiAgICAgICAgIGlmICh1cmwuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gU2hhcmVkU3RyaW5nSGFz
aCB7IDAgfTsKIAogICAgICAgICByZXR1cm4gY29tcHV0ZVNoYXJlZFN0cmluZ0hhc2hJbmxpbmUo
dXJsLmRhdGEoKSwgdXJsLnNpemUoKSk7CiAgICAgfQpAQCAtMjk5LDcgKzI5OSw3IEBAIFNoYXJl
ZFN0cmluZ0hhc2ggY29tcHV0ZVZpc2l0ZWRMaW5rSGFzaChjb25zdCBVUkwmIGJhc2UsIGNvbnN0
IEF0b21TdHJpbmcmIGF0dHJpCiAgICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSB1cGNvbnZl
cnRlZENoYXJhY3RlcnM7CiAgICAgY29tcHV0ZVNoYXJlZFN0cmluZ0hhc2hJbmxpbmUoYmFzZSwg
Y2hhcmFjdGVycywgYXR0cmlidXRlVVJMLmxlbmd0aCgpLCB1cmwpOwogICAgIGlmICh1cmwuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFNoYXJlZFN0cmluZ0hh
c2ggeyAwIH07CiAKICAgICByZXR1cm4gY29tcHV0ZVNoYXJlZFN0cmluZ0hhc2hJbmxpbmUodXJs
LmRhdGEoKSwgdXJsLnNpemUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRT
dHJpbmdIYXNoLmgKaW5kZXggMTI2MWQ3N2NiZWY0YjY1YzUyMjMyOGZiYWJlMzk3Y2M2OWVhMTNm
YS4uNzY4MjIyYzU4NTkxODEzMGE5YmExMjA3OWVhM2M4OWM0ZDM2MDk3ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guaApAQCAtMjYsMzAgKzI2LDY4IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL01h
cmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXR5cGVkZWYgdWludDY0X3QgU2hhcmVkU3RyaW5nSGFzaDsKK3N0cnVjdCBT
aGFyZWRTdHJpbmdIYXNoIHsKKyAgICB1aW50MzJfdCBtX3ZhbHVlOwogCi0vLyBVc2UgdGhlIGxv
dyAzMi1iaXRzIG9mIHRoZSA2NC1iaXQgU2hhcmVkU3RyaW5nSGFzaCBhcyB0aGUga2V5IGZvciBI
YXNoU2V0cy4KLXN0cnVjdCBTaGFyZWRTdHJpbmdIYXNoSGFzaCB7Ci0gICAgc3RhdGljIHVuc2ln
bmVkIGhhc2goU2hhcmVkU3RyaW5nSGFzaCBrZXkpIHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihrZXkpOyB9Ci0gICAgc3RhdGljIGJvb2wgZXF1YWwoU2hhcmVkU3RyaW5nSGFzaCBhLCBT
aGFyZWRTdHJpbmdIYXNoIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQotICAgIHN0YXRpYyBjb25zdCBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKKyAgICBib29sIG9wZXJh
dG9yISgpCisgICAgeworICAgICAgICByZXR1cm4gIW1fdmFsdWU7CisgICAgfQogCi0gICAgLy8g
U2VlIEFscmVhZHlIYXNoZWQ6OmF2b2lkRGVsZXRlZFZhbHVlLgotICAgIHN0YXRpYyB1bnNpZ25l
ZCBhdm9pZERlbGV0ZWRWYWx1ZShTaGFyZWRTdHJpbmdIYXNoIGhhc2g2NCkKKyAgICBleHBsaWNp
dCBvcGVyYXRvciBib29sKCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNoNjQpOwotICAgICAg
ICB1bnNpZ25lZCBoYXNoID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGhhc2g2NCk7Ci0gICAgICAg
IHVuc2lnbmVkIG5ld0hhc2ggPSBoYXNoIHwgKCEoaGFzaCArIDEpIDw8IDMxKTsKLSAgICAgICAg
QVNTRVJUKG5ld0hhc2gpOwotICAgICAgICBBU1NFUlQobmV3SGFzaCAhPSAweEZGRkZGRkZGKTsK
LSAgICAgICAgcmV0dXJuIG5ld0hhc2g7CisgICAgICAgIHJldHVybiAhIW1fdmFsdWU7CiAgICAg
fQorCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KKyAgICB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5jb2RlciA8PCBtX3ZhbHVlOworICAg
IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CisgICAgc3RhdGljIE9wdGlvbmFsPFNo
YXJlZFN0cmluZ0hhc2g+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAg
T3B0aW9uYWw8dWludDMyX3Q+IHZhbHVlOworICAgICAgICBkZWNvZGVyID4+IHZhbHVlOworICAg
ICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAg
ICAgcmV0dXJuIFNoYXJlZFN0cmluZ0hhc2ggeyB2YWx1ZS52YWx1ZSgpIH07CisgICAgfQorCisK
KyAgICBzdHJ1Y3QgTWFya2FibGVUcmFpdHMgeworICAgICAgICBzdGF0aWMgYm9vbCBpc0VtcHR5
VmFsdWUoU2hhcmVkU3RyaW5nSGFzaCBoYXNoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gaGFzaC5tX3ZhbHVlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgU2hhcmVkU3RyaW5nSGFzaCBl
bXB0eVZhbHVlKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFNoYXJlZFN0cmluZ0hh
c2ggeyBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkgfTsKKyAgICAgICAgfQor
ICAgIH07Cit9OworCitpbmxpbmUgYm9vbCBvcGVyYXRvcj09KFNoYXJlZFN0cmluZ0hhc2ggYSwg
U2hhcmVkU3RyaW5nSGFzaCBiKQoreworICAgIHJldHVybiBhLm1fdmFsdWUgPT0gYi5tX3ZhbHVl
OworfQorCisvLyBUaGlzIGlzIGEgaGFzaCB2YWx1ZSwgYnV0IGl0IGNhbiBiZSB1c2VkIGFzIGEg
a2V5IGluIEhhc2hNYXAuIFNvLCB3ZSBuZWVkIHRvIGF2b2lkIHByb2R1Y2luZyBkZWxldGVkLXZh
bHVlIGluIEhhc2hNYXAsIHdoaWNoIGlzIC0xLgorc3RydWN0IFNoYXJlZFN0cmluZ0hhc2hIYXNo
IHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChTaGFyZWRTdHJpbmdIYXNoIGtleSkgeyByZXR1
cm4ga2V5Lm1fdmFsdWU7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChTaGFyZWRTdHJpbmdIYXNo
IGEsIFNoYXJlZFN0cmluZ0hhc2ggYikgeyByZXR1cm4gYSA9PSBiOyB9CisgICAgc3RhdGljIGNv
bnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIAordXNp
bmcgU2hhcmVkU3RyaW5nSGFzaE1hcmthYmxlVHJhaXRzID0gU2hhcmVkU3RyaW5nSGFzaDo6TWFy
a2FibGVUcmFpdHM7CisKIC8vIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIHN0cmluZyB0aGF0IHdp
bGwgYmUgdXNlZCBmb3IgdmlzaXRlZCBsaW5rIGNvbG9yaW5nLgogV0VCQ09SRV9FWFBPUlQgU2hh
cmVkU3RyaW5nSGFzaCBjb21wdXRlU2hhcmVkU3RyaW5nSGFzaChjb25zdCBTdHJpbmcmIHVybCk7
CiBXRUJDT1JFX0VYUE9SVCBTaGFyZWRTdHJpbmdIYXNoIGNvbXB1dGVTaGFyZWRTdHJpbmdIYXNo
KGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7CkBAIC02MSwzICs5OSwxNyBAQCBX
RUJDT1JFX0VYUE9SVCBTaGFyZWRTdHJpbmdIYXNoIGNvbXB1dGVTaGFyZWRTdHJpbmdIYXNoKGNv
bnN0IFVDaGFyKiB1cmwsIHVuc2lnbgogU2hhcmVkU3RyaW5nSGFzaCBjb21wdXRlVmlzaXRlZExp
bmtIYXNoKGNvbnN0IFVSTCYgYmFzZSwgY29uc3QgQXRvbVN0cmluZyYgYXR0cmlidXRlVVJMKTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVs
dEhhc2g8V2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaD4geworICAgIHVzaW5nIEhhc2ggPSBXZWJD
b3JlOjpTaGFyZWRTdHJpbmdIYXNoSGFzaDsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEhhc2hU
cmFpdHM8V2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaD4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJD
b3JlOjpTaGFyZWRTdHJpbmdIYXNoPiB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGVtcHR5
VmFsdWVJc1plcm8gPSB0cnVlOworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1
ZShXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoJiBzbG90KSB7IHNsb3QubV92YWx1ZSA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsgfQorICAgIHN0YXRpYyBib29sIGlzRGVs
ZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6OlNoYXJlZFN0cmluZ0hhc2gmIHZhbHVlKSB7IHJldHVy
biB2YWx1ZS5tX3ZhbHVlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKTsg
fQorfTsKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKaW5kZXggZGM5ZTE0ZjVhY2RmNjk4NDExMzdiZmNiMTBlNGU2NDZjYzQyZWEyNi4u
MDNjMjhkNTY5NDQ4ZDE3MmE4NzdjMWQyZGE1ZDUyN2RkODZkOGM3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMTYsNiArMjE2LDcgQEAgZGVmIHR5cGVz
X3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAgJ1dlYkNvcmU6OlNl
cnZpY2VXb3JrZXJPckNsaWVudERhdGEnLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtl
ck9yQ2xpZW50SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllcicsCisgICAgICAgICdXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNo
JywKICAgICAgICAgJ1dlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXInLAogICAg
ICAgICAnV2ViS2l0OjpBY3Rpdml0eVN0YXRlQ2hhbmdlSUQnLAogICAgICAgICAnV2ViS2l0OjpB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcklkZW50aWZpZXInLApAQCAtNTg1LDYgKzU4Niw3
IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJU
eXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNv
cmU6OlNlcnZpY2VXb3JrZXJTdGF0ZSc6IFsnPFdlYkNvcmUvU2VydmljZVdvcmtlclR5cGVzLmg+
J10sCisgICAgICAgICdXZWJDb3JlOjpTaGFyZWRTdHJpbmdIYXNoJzogWyc8V2ViQ29yZS9TaGFy
ZWRTdHJpbmdIYXNoLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTaGlwcGluZ0NvbnRhY3RVcGRh
dGUnOiBbJzxXZWJDb3JlL0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Lmg+J10sCiAgICAg
ICAgICdXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZSc6IFsnPFdlYkNvcmUvQXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3QuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNob3VsZEFza0lU
UCc6IFsnPFdlYkNvcmUvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmg+J10sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWRTdHJpbmdIYXNoVGFibGUuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvU2hhcmVkU3RyaW5nSGFzaFRhYmxlLmNwcAppbmRleCA0NTMwMWRjN2VlMmEw
ODUyN2M4ZWI5Yjg3NTQ2YWRkYmRkOTg3YjA2Li5iYWM4MDg1MDNmNTQyOTc5MDJiZWQ2NDhkODk0
ODUwOTA4Y2NjMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWRTdHJp
bmdIYXNoVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlZFN0cmluZ0hh
c2hUYWJsZS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgYm9vbCBTaGFyZWRTdHJpbmdIYXNoVGFibGU6
OnJlbW92ZShTaGFyZWRTdHJpbmdIYXNoIHNoYXJlZFN0cmluZ0hhc2gpCiAgICAgaWYgKCFzbG90
IHx8ICEqc2xvdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgKnNsb3QgPSAwOworICAg
ICpzbG90ID0gU2hhcmVkU3RyaW5nSGFzaCB7IDAgfTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVh
ZE9ubHkuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVkU3RyaW5nSGFzaFRhYmxlUmVh
ZE9ubHkuY3BwCmluZGV4IDc4MTFjMjU3NGU1NmY3MTQ4MDY1NTYwZTI5ZWIzMWQ4N2JkZGJlZTcu
LjJjYTZkNTYxODI4Y2M1ODYwMjBkYTk5OTFlNTYwMDkzMmNjMTQyMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlZFN0cmluZ0hhc2hUYWJsZVJlYWRPbmx5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seS5jcHAK
QEAgLTkwLDcgKzkwLDcgQEAgU2hhcmVkU3RyaW5nSGFzaCogU2hhcmVkU3RyaW5nSGFzaFRhYmxl
UmVhZE9ubHk6OmZpbmRTbG90KFNoYXJlZFN0cmluZ0hhc2ggc2hhcmUKICAgICBpbnQgayA9IDA7
CiAgICAgU2hhcmVkU3RyaW5nSGFzaCogdGFibGUgPSBtX3RhYmxlOwogICAgIGludCBzaXplTWFz
ayA9IG1fdGFibGVTaXplTWFzazsKLSAgICB1bnNpZ25lZCBoID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHNoYXJlZFN0cmluZ0hhc2gpOworICAgIHVuc2lnbmVkIGggPSBzaGFyZWRTdHJpbmdIYXNo
Lm1fdmFsdWU7CiAgICAgaW50IGkgPSBoICYgc2l6ZU1hc2s7CiAKICAgICBTaGFyZWRTdHJpbmdI
YXNoKiBlbnRyeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rU3RvcmUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLm1lc3NhZ2VzLmluCmluZGV4IDA3MzIxYzUxZjdlNzkwN2ZiODQwM2E5ZDM5OTJkNzRl
N2E0OTk1NDcuLjZkYzQ2OTM5YmJkZWY3YjU0NDg4MDQ1NzdmMGYxOGViNzg2YTJjMmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5tZXNzYWdl
cy5pbgpAQCAtMjEsNSArMjEsNSBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBWaXNp
dGVkTGlua1N0b3JlIHsKLSAgICBBZGRWaXNpdGVkTGlua0hhc2hGcm9tUGFnZShXZWJLaXQ6Oldl
YlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZVByb3h5SUQsIHVpbnQ2NF90IGxpbmtIYXNoKQorICAg
IEFkZFZpc2l0ZWRMaW5rSGFzaEZyb21QYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5SWRlbnRpZmll
ciBwYWdlUHJveHlJRCwgV2ViQ29yZTo6U2hhcmVkU3RyaW5nSGFzaCBsaW5rSGFzaCkKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387998</attachid>
            <date>2020-01-16 17:53:15 -0800</date>
            <delta_ts>2020-01-16 23:27:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206343-20200116175314.patch</filename>
            <type>text/plain</type>
            <size>11776</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ2NDAyOGRlYWI3Zjg5
ZjQzYzgyNTM5ZWE4NTQ0ODg2ODdmZjY2ZC4uYWYwZTBjNjk0OGNiYWI4NWJkYTU3YWM1ZGZjNWY1
MzNmMDlhZjg0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTAxLTE2ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNvcmVdIENvbXBh
Y3Qgc2l6ZW9mKEhUTUxBbmNob3JFbGVtZW50KSBhbmQgc2l6ZW9mKEhUTUxMaW5rRWxlbWVudCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjM0Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERhdGEgZnJv
bSBNZW1idXN0ZXIgaXMgc2F5aW5nIHRoYXQgSFRNTEFuY2hvckVsZW1lbnQgaXMgcmVsYXRpdmVs
eSBmcmVxdWVudGx5IGFsbG9jYXRlZAorICAgICAgICBlbGVtZW50ICgxMjUyIGVsZW1lbnRzIGFy
ZSBrZXB0KSB3aGlsZSBzaXplb2YoSFRNTEFuY2hvckVsZW1lbnQpIGlzIG5vdCBvcHRpbWl6ZWQg
d2VsbC4KKyAgICAgICAgV2UgYWxzbyBmb3VuZCB0aGF0IEhUTUxMaW5rRWxlbWVudCBpcyB0b28g
bGFyZ2Ugd2hpbGUgaXQgaGFzIHNvIG1hbnkgcGFkZGluZ3MgYW5kIG9wcG9ydHVuaXRpZXMKKyAg
ICAgICAgdG8gb3B0aW1pemUgaXQuIFRoaXMgcGF0Y2ggc2hyaW5rcyB0aGVtLgorCisgICAgICAg
IFdlIGFsc28gZm91bmQgdGhhdCBTaGFyZWRTdHJpbmdIYXNoSGFzaCdzIHVwcGVyIDMyYml0IGlz
IGFsd2F5cyB6ZXJvLCBhbmQgbm9ib2R5IGlzIHVzaW5nIHRoaXMKKyAgICAgICAgZWZmZWN0aXZl
bHkuIFdlIG1ha2UgaXQgMzJiaXQuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLgorCisg
ICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMaW5rRWxlbWVudDo6SFRNTExp
bmtFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMaW5rRWxlbWVudDo6cHJvY2Vzcyk6
CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0xpbmtJ
Y29uQ29sbGVjdG9yLmg6CisgICAgICAgICogaHRtbC9MaW5rSWNvblR5cGUuaDoKKyAgICAgICAg
KiBodG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGlua1JlbEF0
dHJpYnV0ZTo6TGlua1JlbEF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9MaW5rUmVsQXR0cmli
dXRlLmg6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAg
ICAgICAqIHBhZ2UvVmlzaXRlZExpbmtTdG9yZS5oOgorICAgICAgICAqIHBsYXRmb3JtL1NoYXJl
ZFN0cmluZ0hhc2guaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFN0cmluZ0hhc2hIYXNoOjph
dm9pZERlbGV0ZWRWYWx1ZSk6IERlbGV0ZWQuCisKIDIwMjAtMDEtMTYgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdGhlIGNhbGxBc3luY0phdmFTY3Jp
cHRGdW5jdGlvbiBmdW5jdGlvbiBhY3R1YWxseSBiZSBhc3luYyAoc28gYXdhaXQgd29ya3MpLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IDAyNDUwOTAzOTc0YTUz
OTRjZWIwNDExNjdmYTZhMGQ4YmRjYzE0NTguLmRlMjgzNGQwZjgwNTU0NTc1NDJlZWU4YmViNjhl
Y2FmMjY2NWZmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAg
LTM1LDcgKzM1LDcgQEAgY2xhc3MgQWRDbGlja0F0dHJpYnV0aW9uOwogY2xhc3MgRE9NVG9rZW5M
aXN0OwogCiAvLyBMaW5rIHJlbGF0aW9uIGJpdG1hc2sgdmFsdWVzLgotZW51bSBjbGFzcyBSZWxh
dGlvbiB7CitlbnVtIGNsYXNzIFJlbGF0aW9uIDogdWludDhfdCB7CiAgICAgTm9SZWZlcnJlciA9
IDEgPDwgMCwKICAgICBOb09wZW5lciA9IDEgPDwgMSwKICAgICBPcGVuZXIgPSAxIDw8IDIsCkBA
IC0xMTcsNyArMTE3LDcgQEAgY2xhc3MgSFRNTEFuY2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVs
ZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5jaG9yRWxlbWVudD4KICAgICBPcHRpb25TZXQ8
UmVsYXRpb24+IG1fbGlua1JlbGF0aW9uczsKIAogICAgIC8vIFRoaXMgaXMgY29tcHV0ZWQgb25s
eSBvbmNlIGFuZCBtdXN0IG5vdCBiZSBhZmZlY3RlZCBieSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2Vz
LgotICAgIG11dGFibGUgT3B0aW9uYWw8U2hhcmVkU3RyaW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVk
TGlua0hhc2g7CisgICAgbXV0YWJsZSBNYXJrYWJsZTxTaGFyZWRTdHJpbmdIYXNoLCBTaGFyZWRT
dHJpbmdIYXNoTWFya2FibGVUcmFpdHM+IG1fc3RvcmVkVmlzaXRlZExpbmtIYXNoOwogCiAgICAg
bXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3JlbExpc3Q7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IDM5NmM5MzdmMWUyMmUwZTBi
ODQwZGJmY2YwZGZlN2E1ZjIyY2M0NmIuLjUzNzdhNGMwN2M3MDNjZmRjYWYyZDQ1MGE3MjlhYzUx
YTVmNDM0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUludGVncml0eS5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUg
PHd0Zi9TZXRGb3JTY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtOTEsNiArOTEsOCBA
QCBpbmxpbmUgSFRNTExpbmtFbGVtZW50OjpIVE1MTGlua0VsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmCiAgICAgLCBtX2NyZWF0ZWRCeVBhcnNlcihjcmVhdGVk
QnlQYXJzZXIpCiAgICAgLCBtX2ZpcmVkTG9hZChmYWxzZSkKICAgICAsIG1fbG9hZGVkUmVzb3Vy
Y2UoZmFsc2UpCisgICAgLCBtX2lzSGFuZGxpbmdCZWZvcmVMb2FkKGZhbHNlKQorICAgICwgbV9h
bGxvd1ByZWZldGNoTG9hZEFuZEVycm9yRm9yVGVzdGluZyhmYWxzZSkKICAgICAsIG1fcGVuZGlu
Z1NoZWV0VHlwZShVbmtub3duKQogewogICAgIEFTU0VSVChoYXNUYWdOYW1lKGxpbmtUYWcpKTsK
QEAgLTI5OCw5ICszMDAsMTEgQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAg
ICAgICB9CiAKICAgICAgICAgewotICAgICAgICBTZXRGb3JTY29wZTxib29sPiBjaGFuZ2UobV9p
c0hhbmRsaW5nQmVmb3JlTG9hZCwgdHJ1ZSk7Ci0gICAgICAgIGlmICghc2hvdWxkTG9hZExpbmso
KSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGJvb2wgcHJldmlvdXMgPSBtX2lz
SGFuZGxpbmdCZWZvcmVMb2FkOworICAgICAgICAgICAgbV9pc0hhbmRsaW5nQmVmb3JlTG9hZCA9
IHRydWU7CisgICAgICAgICAgICBtYWtlU2NvcGVFeGl0KFsmXSB7IG1faXNIYW5kbGluZ0JlZm9y
ZUxvYWQgPSBwcmV2aW91czsgfSk7CisgICAgICAgICAgICBpZiAoIXNob3VsZExvYWRMaW5rKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgbV9sb2FkaW5n
ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCmluZGV4IDA3MzUyYTNl
MmI3ZTI4OGZmZjY0YWJkYjZhZmM5NGVjOTU0YTJhMTQuLjVhOWNlMGIwZmQzYzdiYzMwMDdmZDgz
NDk1YTc2ZDc5NjJiMWIyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaApA
QCAtMTE4LDcgKzExOCw3IEBAIGNsYXNzIEhUTUxMaW5rRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBI
VE1MRWxlbWVudCwgcHVibGljIENhY2hlZFN0eWxlU2hlZXRDbGllbnQsCiAKICAgICB2b2lkIGZp
bmlzaFBhcnNpbmdDaGlsZHJlbigpIGZpbmFsOwogCi0gICAgZW51bSBQZW5kaW5nU2hlZXRUeXBl
IHsgVW5rbm93biwgQWN0aXZlU2hlZXQsIEluYWN0aXZlU2hlZXQgfTsKKyAgICBlbnVtIFBlbmRp
bmdTaGVldFR5cGUgOiB1aW50OF90IHsgVW5rbm93biwgQWN0aXZlU2hlZXQsIEluYWN0aXZlU2hl
ZXQgfTsKICAgICB2b2lkIGFkZFBlbmRpbmdTaGVldChQZW5kaW5nU2hlZXRUeXBlKTsKIAogICAg
IHZvaWQgcmVtb3ZlUGVuZGluZ1NoZWV0KCk7CkBAIC0xMjcsNyArMTI3LDcgQEAgY2xhc3MgSFRN
TExpbmtFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMgQ2FjaGVkU3R5
bGVTaGVldENsaWVudCwKICAgICBTdHlsZTo6U2NvcGUqIG1fc3R5bGVTY29wZSB7IG51bGxwdHIg
fTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRDU1NTdHlsZVNoZWV0PiBtX2NhY2hl
ZFNoZWV0OwogICAgIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBtX3NoZWV0OwotICAgIGVudW0gRGlz
YWJsZWRTdGF0ZSB7CisgICAgZW51bSBEaXNhYmxlZFN0YXRlIDogdWludDhfdCB7CiAgICAgICAg
IFVuc2V0LAogICAgICAgICBFbmFibGVkVmlhU2NyaXB0LAogICAgICAgICBEaXNhYmxlZApAQCAt
MTM1LDIwICsxMzUsMTggQEAgY2xhc3MgSFRNTExpbmtFbGVtZW50IGZpbmFsIDogcHVibGljIEhU
TUxFbGVtZW50LCBwdWJsaWMgQ2FjaGVkU3R5bGVTaGVldENsaWVudCwKIAogICAgIFN0cmluZyBt
X3R5cGU7CiAgICAgU3RyaW5nIG1fbWVkaWE7CisgICAgU3RyaW5nIG1faW50ZWdyaXR5TWV0YWRh
dGFGb3JQZW5kaW5nU2hlZXRSZXF1ZXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Ub2tlbkxp
c3Q+IG1fc2l6ZXM7CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9yZWxMaXN0
OwogICAgIERpc2FibGVkU3RhdGUgbV9kaXNhYmxlZFN0YXRlOwogICAgIExpbmtSZWxBdHRyaWJ1
dGUgbV9yZWxBdHRyaWJ1dGU7Ci0gICAgYm9vbCBtX2xvYWRpbmc7Ci0gICAgYm9vbCBtX2NyZWF0
ZWRCeVBhcnNlcjsKLSAgICBib29sIG1fZmlyZWRMb2FkOwotICAgIGJvb2wgbV9sb2FkZWRSZXNv
dXJjZTsKLSAgICBib29sIG1faXNIYW5kbGluZ0JlZm9yZUxvYWQgeyBmYWxzZSB9OwotICAgIGJv
b2wgbV9hbGxvd1ByZWZldGNoTG9hZEFuZEVycm9yRm9yVGVzdGluZyB7IGZhbHNlIH07Ci0KKyAg
ICBib29sIG1fbG9hZGluZyA6IDE7CisgICAgYm9vbCBtX2NyZWF0ZWRCeVBhcnNlciA6IDE7Cisg
ICAgYm9vbCBtX2ZpcmVkTG9hZCA6IDE7CisgICAgYm9vbCBtX2xvYWRlZFJlc291cmNlIDogMTsK
KyAgICBib29sIG1faXNIYW5kbGluZ0JlZm9yZUxvYWQgOiAxOworICAgIGJvb2wgbV9hbGxvd1By
ZWZldGNoTG9hZEFuZEVycm9yRm9yVGVzdGluZyA6IDE7CiAgICAgUGVuZGluZ1NoZWV0VHlwZSBt
X3BlbmRpbmdTaGVldFR5cGU7Ci0gICAgU3RyaW5nIG1faW50ZWdyaXR5TWV0YWRhdGFGb3JQZW5k
aW5nU2hlZXRSZXF1ZXN0OwotCi0gICAgc3RkOjp1bmlxdWVfcHRyPERPTVRva2VuTGlzdD4gbV9y
ZWxMaXN0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNv
bkNvbGxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvbkNvbGxlY3Rvci5oCmlu
ZGV4IDQzZjIyYjg2ZDQ0NzExNjlkMzZmMGFjZDdlMjFjZDU1ZGE3NDQ2NWYuLjc4Y2ViOGQzNjIy
MzAwNTA2MjFjNGNkODJjYWM4MWZlMTBiNjAzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTGlua0ljb25Db2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJ
Y29uQ29sbGVjdG9yLmgKQEAgLTMxLDcgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRG9jdW1lbnQ7Ci1lbnVtIGNsYXNzIExpbmtJY29uVHlwZTsKK2VudW0gY2xhc3MgTGlu
a0ljb25UeXBlIDogdWludDhfdDsKIAogY2xhc3MgTGlua0ljb25Db2xsZWN0b3IgewogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTGlua0ljb25UeXBlLmgKaW5kZXggZTc0ZmQ4ZGZjNTJhMWVhOTEyMzdi
MGZjYTg2ODZhMzBjYWQ5NjViZS4uYmQyYzRmODkzOWM2Njk4YTY4ODZlNTJhYWY3YzVlMGRjMjUy
YzRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rSWNvblR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtJY29uVHlwZS5oCkBAIC0yOCw4ICsyOCw5IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoZXNlIHZhbHVlcyBhcmUgYXJyYW5nZWQgc28gdGhh
dCB0aGV5IGNhbiBiZSB1c2VkIHdpdGggV1RGOjpPcHRpb25TZXQuCisvLyBBbmQgdXNpbmcgaXQg
d2l0aCBNYXJrYWJsZSB2aWEgRW51bU1hcmthYmxlVHJhaXRzLgogCi1lbnVtIGNsYXNzIExpbmtJ
Y29uVHlwZSB7CitlbnVtIGNsYXNzIExpbmtJY29uVHlwZSA6IHVpbnQ4X3QgewogICAgIEZhdmlj
b24gPSAxIDw8IDAsCiAgICAgVG91Y2hJY29uID0gMSA8PCAxLAogICAgIFRvdWNoUHJlY29tcG9z
ZWRJY29uID0gMSA8PDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1JlbEF0
dHJpYnV0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0xpbmtSZWxBdHRyaWJ1dGUuY3BwCmlu
ZGV4IGIxMDg1MzAxZTE5Zjk1MzU4NzcyYjMyZGQzMTlhNDM2N2E2NDYyODAuLjQwNTJmYTE4ZGVh
MGEzY2M5NzllMmFhMTNlMmM1YTA2OGI5Y2Y3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTGlua1JlbEF0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5r
UmVsQXR0cmlidXRlLmNwcApAQCAtNDIsMTEgKzQyLDIyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIExpbmtSZWxBdHRyaWJ1dGU6OkxpbmtSZWxBdHRyaWJ1dGUoKQorICAgIDogaWNvblR5cGUo
KQorICAgICwgaXNTdHlsZVNoZWV0KGZhbHNlKQorICAgICwgaXNBbHRlcm5hdGUoZmFsc2UpCisg
ICAgLCBpc0ROU1ByZWZldGNoKGZhbHNlKQorICAgICwgaXNMaW5rUHJlbG9hZChmYWxzZSkKKyAg
ICAsIGlzTGlua1ByZWNvbm5lY3QoZmFsc2UpCisgICAgLCBpc0xpbmtQcmVmZXRjaChmYWxzZSkK
KyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisgICAgLCBpc0FwcGxpY2F0aW9uTWFu
aWZlc3QoZmFsc2UpCisjZW5kaWYKIHsKIH0KIAogLy8gS2VlcCBMaW5rUmVsQXR0cmlidXRlOjpp
c1N1cHBvcnRlZCgpIGluIHN5bmMgd2hlbiB1cGRhdGluZyB0aGlzIGNvbnN0cnVjdG9yLgogTGlu
a1JlbEF0dHJpYnV0ZTo6TGlua1JlbEF0dHJpYnV0ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgcmVsKQorICAgIDogTGlua1JlbEF0dHJpYnV0ZSgpCiB7CiAgICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHJlbCwgInN0eWxlc2hlZXQiKSkKICAgICAgICAgaXNT
dHlsZVNoZWV0ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGlua1Jl
bEF0dHJpYnV0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVsQXR0cmlidXRlLmgKaW5k
ZXggYWMxYTM5ZGI5YWE1MmY0ZmZlODNhZTY4MGNiZDQ1ZGQ3ZDZhMDZkMS4uYzlhNDc4ZjcyYzlm
YzdkZTc4ODRiOWFiY2U4ZjZhZDEyNjI5NTM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9MaW5rUmVsQXR0cmlidXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MaW5rUmVs
QXR0cmlidXRlLmgKQEAgLTM4LDE4ICszOCwxOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKLWVudW0gY2xhc3MgTGlua0ljb25UeXBlOworZW51bSBjbGFzcyBMaW5r
SWNvblR5cGUgOiB1aW50OF90OwogCiBzdHJ1Y3QgTGlua1JlbEF0dHJpYnV0ZSB7Ci0gICAgYm9v
bCBpc1N0eWxlU2hlZXQgeyBmYWxzZSB9OwotICAgIE9wdGlvbmFsPExpbmtJY29uVHlwZT4gaWNv
blR5cGU7Ci0gICAgYm9vbCBpc0FsdGVybmF0ZSB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0ROU1By
ZWZldGNoIHsgZmFsc2UgfTsKLSAgICBib29sIGlzTGlua1ByZWxvYWQgeyBmYWxzZSB9OwotICAg
IGJvb2wgaXNMaW5rUHJlY29ubmVjdCB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc0xpbmtQcmVmZXRj
aCB7IGZhbHNlIH07CisgICAgTWFya2FibGU8TGlua0ljb25UeXBlLCBFbnVtTWFya2FibGVUcmFp
dHM8TGlua0ljb25UeXBlPj4gaWNvblR5cGU7CisgICAgYm9vbCBpc1N0eWxlU2hlZXQgOiAxOwor
ICAgIGJvb2wgaXNBbHRlcm5hdGUgOiAxOworICAgIGJvb2wgaXNETlNQcmVmZXRjaCA6IDE7Cisg
ICAgYm9vbCBpc0xpbmtQcmVsb2FkIDogMTsKKyAgICBib29sIGlzTGlua1ByZWNvbm5lY3QgOiAx
OworICAgIGJvb2wgaXNMaW5rUHJlZmV0Y2ggOiAxOwogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9N
QU5JRkVTVCkKLSAgICBib29sIGlzQXBwbGljYXRpb25NYW5pZmVzdCB7IGZhbHNlIH07CisgICAg
Ym9vbCBpc0FwcGxpY2F0aW9uTWFuaWZlc3QgOiAxOwogI2VuZGlmCiAKICAgICBMaW5rUmVsQXR0
cmlidXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDI3MDM3NDc4MWMyMDNkNjc1YTIxYTAyYTVmMDM0
MjJkMjcxNmJhODAuLmFjMzMwYmYxNGZiYzdjMjFlNzNmZGEzYjU5Y2QyMGFmMTM3Yjc5MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCkBAIC0xNDcsNyArMTQ3LDcgQEAgY2xhc3MgVmlzaXRlZExpbmtTdG9yZTsK
IGNsYXNzIFdlYkdMU3RhdGVUcmFja2VyOwogY2xhc3MgV2hlZWxFdmVudERlbHRhRmlsdGVyOwog
Ci11c2luZyBTaGFyZWRTdHJpbmdIYXNoID0gdWludDY0X3Q7Cit1c2luZyBTaGFyZWRTdHJpbmdI
YXNoID0gdWludDMyX3Q7CiAKIGVudW0gY2xhc3MgQ2FuV3JhcCA6IGJvb2w7CiBlbnVtIGNsYXNz
IERpZFdyYXAgOiBib29sOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVk
TGlua1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Zpc2l0ZWRMaW5rU3RvcmUuaAppbmRl
eCBjNjYzYmE5NGI5Y2UwYzUxZmQxMWQxNTczOGIwYTg4YzhhZTQxMjY1Li5iZmMwYjkwNjMzOTk2
OTVjNmI1ZDljMzA5ZTgzODk1ODI2NDVhMjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Zpc2l0ZWRMaW5rU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Zpc2l0ZWRM
aW5rU3RvcmUuaApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5
cGVkZWYgdWludDY0X3QgU2hhcmVkU3RyaW5nSGFzaDsKK3VzaW5nIFNoYXJlZFN0cmluZ0hhc2gg
PSB1aW50MzJfdDsKIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIFZpc2l0ZWRMaW5rU3RvcmUgOiBwdWJs
aWMgUmVmQ291bnRlZDxWaXNpdGVkTGlua1N0b3JlPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRTdHJpbmdIYXNoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TaGFyZWRTdHJpbmdIYXNoLmgKaW5kZXggMTI2MWQ3N2NiZWY0YjY1YzUyMjMyOGZiYWJlMzk3
Y2M2OWVhMTNmYS4uMGIyNWI3YzExOGE0ODFhNGNlMTEwMzBhYmIzMGY3YTJjOWI0MGYwNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkU3RyaW5nSGFzaC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFN0cmluZ0hhc2guaApAQCAtMjYsMzAgKzI2
LDIzIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVk
ZSA8d3RmL01hcmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5cGVkZWYgdWludDY0X3QgU2hhcmVkU3RyaW5nSGFzaDsK
K3VzaW5nIFNoYXJlZFN0cmluZ0hhc2ggPSB1aW50MzJfdDsKIAotLy8gVXNlIHRoZSBsb3cgMzIt
Yml0cyBvZiB0aGUgNjQtYml0IFNoYXJlZFN0cmluZ0hhc2ggYXMgdGhlIGtleSBmb3IgSGFzaFNl
dHMuCisvLyBUaGlzIGlzIGEgaGFzaCB2YWx1ZSwgYnV0IGl0IGNhbiBiZSB1c2VkIGFzIGEga2V5
IGluIEhhc2hNYXAuIFNvLCB3ZSBuZWVkIHRvIGF2b2lkIHByb2R1Y2luZyBkZWxldGVkLXZhbHVl
IGluIEhhc2hNYXAsIHdoaWNoIGlzIC0xLgogc3RydWN0IFNoYXJlZFN0cmluZ0hhc2hIYXNoIHsK
ICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChTaGFyZWRTdHJpbmdIYXNoIGtleSkgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGtleSk7IH0KICAgICBzdGF0aWMgYm9vbCBlcXVhbChTaGFy
ZWRTdHJpbmdIYXNoIGEsIFNoYXJlZFN0cmluZ0hhc2ggYikgeyByZXR1cm4gYSA9PSBiOyB9CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVl
OwotCi0gICAgLy8gU2VlIEFscmVhZHlIYXNoZWQ6OmF2b2lkRGVsZXRlZFZhbHVlLgotICAgIHN0
YXRpYyB1bnNpZ25lZCBhdm9pZERlbGV0ZWRWYWx1ZShTaGFyZWRTdHJpbmdIYXNoIGhhc2g2NCkK
LSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNoNjQpOwotICAgICAgICB1bnNpZ25lZCBoYXNoID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGhhc2g2NCk7Ci0gICAgICAgIHVuc2lnbmVkIG5ld0hhc2gg
PSBoYXNoIHwgKCEoaGFzaCArIDEpIDw8IDMxKTsKLSAgICAgICAgQVNTRVJUKG5ld0hhc2gpOwot
ICAgICAgICBBU1NFUlQobmV3SGFzaCAhPSAweEZGRkZGRkZGKTsKLSAgICAgICAgcmV0dXJuIG5l
d0hhc2g7Ci0gICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgU2hhcmVkU3RyaW5nSGFzaCBkZWxl
dGVkVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFNoYXJlZFN0cmluZ0hhc2g+OjptYXgoKTsK
IH07CiAKK3VzaW5nIFNoYXJlZFN0cmluZ0hhc2hNYXJrYWJsZVRyYWl0cyA9IEludGVncmFsTWFy
a2FibGVUcmFpdHM8U2hhcmVkU3RyaW5nSGFzaCwgU2hhcmVkU3RyaW5nSGFzaEhhc2g6OmRlbGV0
ZWRWYWx1ZT47CisKIC8vIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIHN0cmluZyB0aGF0IHdpbGwg
YmUgdXNlZCBmb3IgdmlzaXRlZCBsaW5rIGNvbG9yaW5nLgogV0VCQ09SRV9FWFBPUlQgU2hhcmVk
U3RyaW5nSGFzaCBjb21wdXRlU2hhcmVkU3RyaW5nSGFzaChjb25zdCBTdHJpbmcmIHVybCk7CiBX
RUJDT1JFX0VYUE9SVCBTaGFyZWRTdHJpbmdIYXNoIGNvbXB1dGVTaGFyZWRTdHJpbmdIYXNoKGNv
bnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7Cg==
</data>
<flag name="review"
          id="403762"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>