<?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>158863</bug_id>
          
          <creation_ts>2016-06-16 19:58:27 -0700</creation_ts>
          <short_desc>[JSC] Introduce static symbols</short_desc>
          <delta_ts>2017-07-21 09:41:45 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>165093</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>darin</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203187</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-06-16 19:58:27 -0700</bug_when>
    <thetext>Considering about static symbols like StaticASCIILiteral.
It allow static hash table to use symbols, since symbols are not included in atomic string tables.
Moreover, it allows us to include private symbol properties in the static hash table.
It can make JSGlobalObject&apos;s private symbol&apos;s properties lazy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328798</commentid>
    <comment_count>1</comment_count>
      <attachid>315431</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-14 09:23:52 -0700</bug_when>
    <thetext>Created attachment 315431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328848</commentid>
    <comment_count>2</comment_count>
      <attachid>315443</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-14 10:42:22 -0700</bug_when>
    <thetext>Created attachment 315443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328872</commentid>
    <comment_count>3</comment_count>
      <attachid>315455</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-14 11:09:04 -0700</bug_when>
    <thetext>Created attachment 315455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328873</commentid>
    <comment_count>4</comment_count>
      <attachid>315456</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-14 11:09:44 -0700</bug_when>
    <thetext>Created attachment 315456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330982</commentid>
    <comment_count>5</comment_count>
      <attachid>315456</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-07-21 09:30:52 -0700</bug_when>
    <thetext>Comment on attachment 315456
Patch

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

&gt; Source/WTF/wtf/text/SymbolImpl.h:57
&gt; +        template&lt;unsigned charactersCount&gt;

I would be better grammar to say &quot;character count&quot; rather than &quot;characters count&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330983</commentid>
    <comment_count>6</comment_count>
      <attachid>315456</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-21 09:32:21 -0700</bug_when>
    <thetext>Comment on attachment 315456
Patch

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

&gt;&gt; Source/WTF/wtf/text/SymbolImpl.h:57
&gt;&gt; +        template&lt;unsigned charactersCount&gt;
&gt; 
&gt; I would be better grammar to say &quot;character count&quot; rather than &quot;characters count&quot;.

OK, fixed. I also fixed StringImpl&apos;s same name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330988</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-21 09:41:45 -0700</bug_when>
    <thetext>Committed r219731: &lt;http://trac.webkit.org/changeset/219731&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315431</attachid>
            <date>2017-07-14 09:23:52 -0700</date>
            <delta_ts>2017-07-14 10:42:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158863-20170715012351.patch</filename>
            <type>text/plain</type>
            <size>15643</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTIwYzM1NTE5YmI2ZDU0OGFiNjg1NTFkMmRkZmFlNmZiZTBjMGJiLi42OTdmMjk4ZGFiZDNhYzU3
ZDkwYzgzNTM3OTIzNTFjZGQ2OWY1ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMyBAQAogMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBJbnRyb2R1Y2Ugc3RhdGljIHN5bWJvbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHVzZSBTdGF0aWNTeW1i
b2xJbXBsIHRvIGluaXRpYWxpemUgUHJpdmF0ZU5hbWVzIGFuZCBidWlsdGluIFN5bWJvbHMuCisg
ICAgICAgIEFzIGEgcmVzdWx0LCB3ZSBjYW4gc2hhcmUgdGhlIHNhbWUgU3ltYm9sIHZhbHVlcyBi
ZXR3ZWVuIFZNcyBhbmQgdGhyZWFkcy4KKyAgICAgICAgQW5kIHdlIGRvIG5vdCBuZWVkIHRvIGFs
bG9jYXRlIFJlZjxTeW1ib2xJbXBsPiBmb3IgdGhlc2Ugc3ltYm9scyBhdCBydW50aW1lLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKEpT
Qzo6QnVpbHRpbk5hbWVzOjpCdWlsdGluTmFtZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0
aW5VdGlscy5oOgorCisyMDE3LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgorCiAgICAgICAgIFtXVEZdIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgZm9yIFN0YWNrVHJh
Y2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDQ5
NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IGZhOTc0MzdiMDM2ODM0NWFlMDY4ZDRkODA3ZGQ0YzJlNDQ0Y2Y3NWUuLmFlZmM1
YmJiMjU4ZWUxMGNlY2YzNDQ5ZjQ1MWUwZDhkYTNmNTQyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAK
IDIwMTctMDctMTQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKKyAg
ICAgICAgW0pTQ10gSW50cm9kdWNlIHN0YXRpYyBzeW1ib2xzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4NjMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQgYSBuZXcgY2xhc3MgU3RhdGljU3lt
Ym9sSW1wbC4gU3RhdGljU3ltYm9sSW1wbCBjYW4gb2ZmZXIKKyAgICAgICAgdGhlIHdheSB0byBj
cmVhdGUgc3RhdGljIFN5bWJvbEltcGwuIEl0IGNhbiBiZSBzaGFyZWQgYmV0d2VlbgorICAgICAg
ICBtdWx0aXBsZSBWTXMgYW5kIG11bHRpcGxlIHRocmVhZHMuCisKKyAgICAgICAgKiB3dGYvdGV4
dC9TeW1ib2xJbXBsLmg6CisgICAgICAgIChXVEY6OlN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwpOgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBsOjpTdGF0aWNT
eW1ib2xJbXBsOjpvcGVyYXRvciBTeW1ib2xJbXBsJik6CisgICAgICAgIEZvciBTdGF0aWNTeW1i
b2xJbXBsJ3MgaGFzaEZvclN5bWJvbCwgd2UgdXNlIHVzdWFsIHN0cmluZyBoYXNoIHZhbHVlLgor
ICAgICAgICBTaW5jZSBhbGwgdGhlIFN5bWJvbEltcGxzIGFyZSB1bmlxdWUsIGJhc2ljYWxseSwg
YW55IHZhbHVlIGlzIE9LIGhlcmUuCisgICAgICAgIE5vbi1jb25maWxpY3RpbmcgdG8gdGhlIG90
aGVyIFN5bWJvbEltcGxzIGlzIGlkZWFsLgorCisyMDE3LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCiAgICAgICAgIFtXVEZdIFVzZSBzdGQ6OnVuaXF1ZV9w
dHIgZm9yIFN0YWNrVHJhY2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NDQ5NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
OTM3ZDk4OTI1OTZlN2U2NDFiOTMxNzYzNzRkNDhmYTRlMDBhNTYyYS4uNmUxZjRiMDZhYTEwMTk0
Yzk0ZjgxNzVlNTRhYTViNGY2ZjMzMWE5NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMTk5LDYgKzE5OSw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAKICAg
ICBidWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwCiAgICAgYnVpbHRpbnMvQnVpbHRpbkV4
ZWN1dGFibGVDcmVhdG9yLmNwcAorICAgIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKIAogICAg
IGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCiAgICAgYnl0ZWNvZGUvQWNjZXNzQ2FzZVNuaXBwZXRQ
YXJhbXMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlhNDdhNzdlZmQ3Mjg0
M2I0ODk4ZDFiMjQzMzFlODFiMmY5YTljZDguLmYxYmZjMTA3MTgwNjBmNGY2NDY2MDY4YjAxZDUx
YzkyNDM5ZjcyNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzg5LDYgKzIz
ODksNyBAQAogCQlFMzVFMDM2MDFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzVFMDM1RTFCN0FCNDNFMDA3M0FEMkEgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
T2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRTM3OTRFNzUxQjc3RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNzk0RTczMUI3N0VCOTcw
MDU1NDNBRSAvKiBNb2R1bGVBbmFseXplci5jcHAgKi87IH07CiAJCUUzNzk0RTc2MUI3N0VCOTcw
MDU1NDNBRSAvKiBNb2R1bGVBbmFseXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTM3OTRFNzQxQjc3RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5
emVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTM4MEQ2NkMxRjE5MjRBODAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzgwRDY2QjFGMTkyNDlEMDBBNTkw
OTUgLyogQnVpbHRpbk5hbWVzLmNwcCAqLzsgfTsKIAkJRTM5NjNDRUUxQjczRjc1MDAwRUI0Q0U1
IC8qIE5vZGVzQW5hbHl6ZU1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMzk2M0NFQzFCNzNGNzUwMDBFQjRDRTUgLyogTm9kZXNBbmFseXpl
TW9kdWxlLmNwcCAqLzsgfTsKIAkJRTM5RDQ1RjUxRDM5MDA1NjAwQjNCMzc3IC8qIEludGVycHJl
dGVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM5RDlEODQxRDM5MDAwNjAwNjY3MjgyIC8qIEludGVycHJldGVySW5saW5lcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzOURBNEE2MUI3
RThCN0MwMDg0RjMzQSAvKiBKU01vZHVsZVJlY29yZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzlEQTRBNDFCN0U4QjdDMDA4NEYzM0EgLyogSlNN
b2R1bGVSZWNvcmQuY3BwICovOyB9OwpAQCAtNTAwMiw2ICs1MDAzLDcgQEAKIAkJRTM3OTRFNzMx
Qjc3RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1vZHVsZUFuYWx5emVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTM3OTRFNzQxQjc3RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUFuYWx5emVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzODBBNzZCMURDRDcxOTUwMDBGODlFNiAvKiBNYWNy
b0Fzc2VtYmxlckhlbHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFj
cm9Bc3NlbWJsZXJIZWxwZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzODBE
NjZCMUYxOTI0OUQwMEE1OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQnVpbHRpbk5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTM5NjNDRUMxQjczRjc1MDAwRUI0Q0U1IC8qIE5vZGVzQW5hbHl6ZU1vZHVs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOb2Rlc0FuYWx5emVN
b2R1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzlEOUQ4NDFEMzkwMDA2
MDA2NjcyODIgLyogSW50ZXJwcmV0ZXJJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEludGVycHJldGVySW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFMzlEQTRBNDFCN0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2R1bGVSZWNvcmQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzk5NSw2ICs3OTk3LDcgQEAKIAkJCQlBN0Q4MDFB
MTE4ODBENjZFMDAyNkMzOUIgLyogQnVpbHRpbkV4ZWN1dGFibGVzLmNwcCAqLywKIAkJCQlBN0Q4
MDFBMjE4ODBENjZFMDAyNkMzOUIgLyogQnVpbHRpbkV4ZWN1dGFibGVzLmggKi8sCiAJCQkJQTc1
RUU5QjAxOEFBQjdFMjAwQUFEMDQzIC8qIEJ1aWx0aW5OYW1lcy5oICovLAorCQkJCUUzODBENjZC
MUYxOTI0OUQwMEE1OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwICovLAogCQkJCTQxREVBMTMxMUI5
RjMxNTQwMDZENjVERCAvKiBCdWlsdGluVXRpbHMuaCAqLywKIAkJCQlBMUZFMUVCMDFDMkM1MzdF
MDBBMjg5RkYgLyogRGF0ZVByb3RvdHlwZS5qcyAqLywKIAkJCQlBN0E5NzlDNDE4QkU4RDlFMDAy
QzM3MzMgLyogRnVuY3Rpb25Qcm90b3R5cGUuanMgKi8sCkBAIC0xMDUwOCw2ICsxMDUxMSw3IEBA
CiAJCQkJMkFBQ0U2M0MxOENBNUEwMzAwRUQwMTkxIC8qIEdDQWN0aXZpdHlDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRjc2NkQyRjE1QThEQ0UwMDA4RjM2M0UgLyogR0NBd2FyZUpJ
VFN0dWJSb3V0aW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRDBFNUVDMUU0M0QzNTMwMDA2
QUIwOCAvKiBHQ0NvbmR1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMzgwRDY2QzFGMTky
NEE4MDBBNTkwOTUgLyogQnVpbHRpbk5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJBREZB
MjYzMThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY5NzE1MzAxRUIyOEJFQjAwQTE2NDVEIC8qIEdDUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3MEI3OTE5NDFDMDI0QTI4MDAyNDgxRTIgLyogR2VuZXJhdG9yRnVuY3Rpb25Db25zdHJ1
Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5OYW1lcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IzYmZiNmM5ODc4NmUyMzRkNWIyZTcw
NWYwYzEzODdkNzQzNjU5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkJ1aWx0aW5OYW1lcy5oIgorCituYW1lc3BhY2UgSlNDIHsKK25hbWVz
cGFjZSBTeW1ib2xzIHsKKworI2RlZmluZSBJTklUSUFMSVpFX0JVSUxUSU5fU1RBVElDX1NZTUJP
TFMobmFtZSkgU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNTeW1ib2wgeyAiU3lt
Ym9sLiIgI25hbWUgfTsKK0pTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExf
S05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TVEFUSUNfU1lNQk9MUykKKyN1bmRlZiBJ
TklUSUFMSVpFX0JVSUxUSU5fU1RBVElDX1NZTUJPTFMKKworI2RlZmluZSBJTklUSUFMSVpFX0JV
SUxUSU5fUFJJVkFURV9OQU1FUyhuYW1lKSBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIG5h
bWUjI1ByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuIiAjbmFtZSB9OworSlNDX0ZPUkVBQ0hf
QlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTKQor
SlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFM
SVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUykKKyN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJ
VkFURV9OQU1FUworCitTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0
ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4kdm0iIH07CisKK30gLy8gbmFtZXNwYWNlIFN5bWJvbHMK
K30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oCmluZGV4IGI1YjdlNTYyMTBhNGUwOTU3Yzk3OWJkMWIzNjVhMDNjMWJmNWM0
NDguLmY4NTg1ZDA5N2UyMjNjN2NhYTQxOTNhOTY4NTNkNzg3NWM5NDE2NWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTE3Miw2ICsxNzIs
MTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8oTGlua0Vycm9yKSBcCiAgICAgbWFjcm8o
UnVudGltZUVycm9yKSBcCiAKK25hbWVzcGFjZSBTeW1ib2xzIHsKKyNkZWZpbmUgREVDTEFSRV9C
VUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1i
b2xJbXBsIG5hbWUjI1N5bWJvbDsKK0pTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TVEFUSUNfU1lNQk9MUykKKyN1bmRl
ZiBERUNMQVJFX0JVSUxUSU5fU1RBVElDX1NZTUJPTFMKKworI2RlZmluZSBERUNMQVJFX0JVSUxU
SU5fUFJJVkFURV9OQU1FUyhuYW1lKSBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1w
bCBuYW1lIyNQcml2YXRlTmFtZTsKK0pTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShE
RUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUykKK0pTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1BST1BFUlRZX05BTUUoREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCisj
dW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKKworZXh0ZXJuIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK30KIAogI2RlZmluZSBJTklU
SUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFw
LmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV8jI25hbWUpOwogI2RlZmluZSBJ
TklUSUFMSVpFX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKG5hbWUpIG1fcHVibGljVG9Qcml2YXRl
TWFwLmFkZChtXyMjbmFtZS5pbXBsKCksICZtXyMjbmFtZSMjUHJpdmF0ZU5hbWUpOwpAQCAtMTkw
LDExICsyMDIsMTEgQEAgY2xhc3MgQnVpbHRpbk5hbWVzIHsKIAogICAgIEJ1aWx0aW5OYW1lcyhW
TSogdm0sIENvbW1vbklkZW50aWZpZXJzKiBjb21tb25JZGVudGlmaWVycykKICAgICAgICAgOiBt
X2VtcHR5SWRlbnRpZmllcihjb21tb25JZGVudGlmaWVycy0+ZW1wdHlJZGVudGlmaWVyKQotICAg
ICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9CVUlMVElO
X05BTUVTKQotICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9Q
RVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FUykKKyAgICAgICAgSlNDX0ZPUkVBQ0hf
QlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FU19JTl9KU0MpCisg
ICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUo
SU5JVElBTElaRV9CVUlMVElOX05BTUVTX0lOX0pTQykKICAgICAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9CVUlMVElO
X1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJvbVN0cmlu
Zyh2bSwgIiR2bSIpKQotICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVy
Ojpmcm9tVWlkKFByaXZhdGVOYW1lKFByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgQVNDSUlMaXRl
cmFsKCJQcml2YXRlU3ltYm9sLiR2bSIpKSkpCisgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hf
QlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkp
CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05B
TUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluVXRpbHMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluVXRpbHMuaAppbmRleCAyNmRhMjkxOWM4NjRkMzNjODAy
Y2Y2OGI0MjI1NzE5YjA0ZjEzNjdlLi5lY2ZlNmU1MzA5NjFiYTJkZDNmOWZiZDVkYTY5NWNlOTI1
MWI1NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
blV0aWxzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5VdGls
cy5oCkBAIC0zMSwxMiArMzEsMTMgQEAKIG5hbWVzcGFjZSBKU0MgewogCiAjZGVmaW5lIElOSVRJ
QUxJWkVfQlVJTFRJTl9OQU1FUyhuYW1lKSAsIG1fIyNuYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgI25hbWUpKSwgbV8jI25hbWUjI1ByaXZhdGVOYW1lKEpTQzo6SWRlbnRpZmll
cjo6ZnJvbVVpZChKU0M6OlByaXZhdGVOYW1lKEpTQzo6UHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9u
LCBBU0NJSUxpdGVyYWwoIlByaXZhdGVTeW1ib2wuIiAjbmFtZSkpKSkKKyNkZWZpbmUgSU5JVElB
TElaRV9CVUlMVElOX05BTUVTX0lOX0pTQyhuYW1lKSAsIG1fIyNuYW1lKEpTQzo6SWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpKSwgbV8jI25hbWUjI1ByaXZhdGVOYW1lKEpTQzo6SWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihKU0M6OlN5bWJv
bHM6Om5hbWUjI1ByaXZhdGVOYW1lKSkpCiAjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9OQU1FUyhu
YW1lKSBjb25zdCBKU0M6OklkZW50aWZpZXIgbV8jI25hbWU7IGNvbnN0IEpTQzo6SWRlbnRpZmll
ciBtXyMjbmFtZSMjUHJpdmF0ZU5hbWU7CiAjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9JREVOVElG
SUVSX0FDQ0VTU09SKG5hbWUpIFwKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIG5hbWUjI1B1
YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtXyMjbmFtZTsgfSBcCiAgICAgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJiBuYW1lIyNQcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fIyNuYW1lIyNQ
cml2YXRlTmFtZTsgfQogCi0jZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKG5hbWUp
ICwgbV8jI25hbWUjI1N5bWJvbChKU0M6OklkZW50aWZpZXI6OmZyb21VaWQoSlNDOjpQcml2YXRl
TmFtZShKU0M6OlByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgQVNDSUlMaXRlcmFsKCJTeW1ib2wu
IiAjbmFtZSkpKSksIG1fIyNuYW1lIyNTeW1ib2xQcml2YXRlSWRlbnRpZmllcihKU0M6OklkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lICJTeW1ib2wiKSkKKyNkZWZpbmUgSU5JVElBTEla
RV9CVUlMVElOX1NZTUJPTFMobmFtZSkgLCBtXyMjbmFtZSMjU3ltYm9sKEpTQzo6SWRlbnRpZmll
cjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihKU0M6OlN5bWJvbHM6Om5h
bWUjI1N5bWJvbCkpKSwgbV8jI25hbWUjI1N5bWJvbFByaXZhdGVJZGVudGlmaWVyKEpTQzo6SWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUgIlN5bWJvbCIpKQogI2RlZmluZSBERUNMQVJF
X0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBjb25zdCBKU0M6OklkZW50aWZpZXIgbV8jI25hbWUjI1N5
bWJvbDsgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fIyNuYW1lIyNTeW1ib2xQcml2YXRlSWRlbnRp
ZmllcjsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUihuYW1lKSBcCiAg
ICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1lIyNTeW1ib2woKSBjb25zdCB7IHJldHVybiBt
XyMjbmFtZSMjU3ltYm9sOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJv
bEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCmluZGV4IDQyZjAxMjEw
MGRhYjU2YTU0YTFmOTA2ZDJlNWE0YzcxNTQ1OTE2NGMuLmM2OWRhMDE3NzY5MTliMzc2YTU1OTQw
NGM5MGFlYmQ3NTdiNTI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9s
SW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCkBAIC01MSw2ICs1
MSwzNSBAQCBjbGFzcyBTeW1ib2xJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsKICAg
ICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVOdWxs
U3ltYm9sKCk7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1w
bD4gY3JlYXRlKFN0cmluZ0ltcGwmIHJlcCk7CiAKKyAgICBjbGFzcyBTdGF0aWNTeW1ib2xJbXBs
IDogcHJpdmF0ZSBTdHJpbmdJbXBsU2hhcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdGF0aWNTeW1ib2xJbXBsKTsKKyAgICBwdWJsaWM6CisgICAgICAgIHRlbXBsYXRlPHVuc2ln
bmVkIGNoYXJhY3RlcnNDb3VudD4KKyAgICAgICAgY29uc3RleHByIFN0YXRpY1N5bWJvbEltcGwo
Y29uc3QgY2hhciAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAgICAgICAgICA6
IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBjaGFyYWN0ZXJz
Q291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZsYWc4Qml0QnVm
ZmVyIHwgc19oYXNoRmxhZ0RpZFJlcG9ydENvc3QgfCBTdHJpbmdTeW1ib2wgfCBCdWZmZXJJbnRl
cm5hbCB8IChTdHJpbmdIYXNoZXI6OmNvbXB1dGVMaXRlcmFsSGFzaEFuZE1hc2tUb3A4Qml0cyhj
aGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCksIENvbnN0cnVjdFdpdGhDb25zdEV4cHIpCisgICAg
ICAgICAgICAsIG1faGFzaEZvclN5bWJvbChTdHJpbmdIYXNoZXI6OmNvbXB1dGVMaXRlcmFsSGFz
aEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCkKKyAgICAgICAgewor
ICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8dW5zaWduZWQgY2hhcmFjdGVyc0NvdW50Pgor
ICAgICAgICBjb25zdGV4cHIgU3RhdGljU3ltYm9sSW1wbChjb25zdCBjaGFyMTZfdCAoJmNoYXJh
Y3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAgICAgICAgICA6IFN0cmluZ0ltcGxTaGFwZShz
X3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBjaGFyYWN0ZXJzQ291bnQgLSAxLCBjaGFyYWN0
ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZsYWdEaWRSZXBvcnRDb3N0IHwgU3RyaW5nU3lt
Ym9sIHwgQnVmZmVySW50ZXJuYWwgfCAoU3RyaW5nSGFzaGVyOjpjb21wdXRlTGl0ZXJhbEhhc2hB
bmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwgc19mbGFnQ291bnQpLCBDb25zdHJ1Y3RXaXRo
Q29uc3RFeHByKQorICAgICAgICAgICAgLCBtX2hhc2hGb3JTeW1ib2woU3RyaW5nSGFzaGVyOjpj
b21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwgc19mbGFnQ291
bnQpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIG9wZXJhdG9yIFN5bWJvbEltcGwm
KCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFN5bWJv
bEltcGwqPih0aGlzKTsKKyAgICAgICAgfQorCisgICAgICAgIFN0cmluZ0ltcGwqIG1fb3duZXIg
eyBudWxscHRyIH07IC8vIFdlIGRvIG5vdCBtYWtlIFN0YXRpY1N5bWJvbEltcGwgQnVmZmVyU3Vi
c3RyaW5nLiBUaHVzIHdlIGNhbiBtYWtlIHRoaXMgbnVsbHB0ci4KKyAgICAgICAgdW5zaWduZWQg
bV9oYXNoRm9yU3ltYm9sOworICAgICAgICBGbGFncyBtX2ZsYWdzIHsgc19mbGFnRGVmYXVsdCB9
OworICAgIH07CisKIHByb3RlY3RlZDoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVu
c2lnbmVkIG5leHRIYXNoRm9yU3ltYm9sKCk7CiAKQEAgLTg5LDYgKzExOCw3IEBAIGNsYXNzIFN5
bWJvbEltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmluZ0ltcGwgewogICAgIHVuc2lnbmVkIG1faGFz
aEZvclN5bWJvbDsKICAgICBGbGFncyBtX2ZsYWdzIHsgc19mbGFnRGVmYXVsdCB9OwogfTsKK3N0
YXRpY19hc3NlcnQoc2l6ZW9mKFN5bWJvbEltcGwpID09IHNpemVvZihTeW1ib2xJbXBsOjpTdGF0
aWNTeW1ib2xJbXBsKSwgIiIpOwogCiBjbGFzcyBSZWdpc3RlcmVkU3ltYm9sSW1wbCA6IHB1Ymxp
YyBTeW1ib2xJbXBsIHsKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315443</attachid>
            <date>2017-07-14 10:42:22 -0700</date>
            <delta_ts>2017-07-14 11:09:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158863-20170715024221.patch</filename>
            <type>text/plain</type>
            <size>16615</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTIwYzM1NTE5YmI2ZDU0OGFiNjg1NTFkMmRkZmFlNmZiZTBjMGJiLi42OTdmMjk4ZGFiZDNhYzU3
ZDkwYzgzNTM3OTIzNTFjZGQ2OWY1ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMyBAQAogMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBJbnRyb2R1Y2Ugc3RhdGljIHN5bWJvbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHVzZSBTdGF0aWNTeW1i
b2xJbXBsIHRvIGluaXRpYWxpemUgUHJpdmF0ZU5hbWVzIGFuZCBidWlsdGluIFN5bWJvbHMuCisg
ICAgICAgIEFzIGEgcmVzdWx0LCB3ZSBjYW4gc2hhcmUgdGhlIHNhbWUgU3ltYm9sIHZhbHVlcyBi
ZXR3ZWVuIFZNcyBhbmQgdGhyZWFkcy4KKyAgICAgICAgQW5kIHdlIGRvIG5vdCBuZWVkIHRvIGFs
bG9jYXRlIFJlZjxTeW1ib2xJbXBsPiBmb3IgdGhlc2Ugc3ltYm9scyBhdCBydW50aW1lLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKEpT
Qzo6QnVpbHRpbk5hbWVzOjpCdWlsdGluTmFtZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0
aW5VdGlscy5oOgorCisyMDE3LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgorCiAgICAgICAgIFtXVEZdIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgZm9yIFN0YWNrVHJh
Y2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDQ5
NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IGQxZGI1MmVkM2IwN2U1ODBkZTkxOGRjNDY0MjQ3NTY1ZmIzNWQxYTEuLjc5Njlj
MjlkYmQ1N2Q0ZTgxMTFmYjA5ZjIyZTlhY2MwMjVlZTQ1MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjkgQEAK
IDIwMTctMDctMTQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKKyAg
ICAgICAgW0pTQ10gSW50cm9kdWNlIHN0YXRpYyBzeW1ib2xzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4NjMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQgYSBuZXcgY2xhc3MgU3RhdGljU3lt
Ym9sSW1wbC4gU3RhdGljU3ltYm9sSW1wbCBjYW4gb2ZmZXIKKyAgICAgICAgdGhlIHdheSB0byBj
cmVhdGUgc3RhdGljIFN5bWJvbEltcGwuIEl0IGNhbiBiZSBzaGFyZWQgYmV0d2VlbgorICAgICAg
ICBtdWx0aXBsZSBWTXMgYW5kIG11bHRpcGxlIHRocmVhZHMuCisKKyAgICAgICAgKiB3dGYvdGV4
dC9TeW1ib2xJbXBsLmg6CisgICAgICAgIChXVEY6OlN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwpOgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBsOjpTdGF0aWNT
eW1ib2xJbXBsOjpvcGVyYXRvciBTeW1ib2xJbXBsJik6CisgICAgICAgIEZvciBTdGF0aWNTeW1i
b2xJbXBsJ3MgaGFzaEZvclN5bWJvbCwgd2UgdXNlIHVzdWFsIHN0cmluZyBoYXNoIHZhbHVlLgor
ICAgICAgICBTaW5jZSBhbGwgdGhlIFN5bWJvbEltcGxzIGFyZSB1bmlxdWUsIGJhc2ljYWxseSwg
YW55IHZhbHVlIGlzIE9LIGhlcmUuCisgICAgICAgIE5vbi1jb25maWxpY3RpbmcgdG8gdGhlIG90
aGVyIFN5bWJvbEltcGxzIGlzIGlkZWFsLgorCisgICAgICAgICogd3RmL0hhc2hlci5oOgorICAg
ICAgICBTdXBwcmVzcyB3YXJuaW5nIEM0MzA3LCBpbnRlZ3JhbCBjb25zdGFudCBvdmVyZmxvdy4g
SXQgaXMgaW50ZW50aW9uYWwgaW4gY29uc3RleHByIGhhc2ggdmFsdWUgY2FsY3VsYXRpb24uCisg
ICAgICAgICogd3RmL3RleHQvU3ltYm9sSW1wbC5oOgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsKToKKyAgICAgICAgKFdURjo6U3lt
Ym9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbDo6b3BlcmF0b3IgU3ltYm9sSW1wbCYpOgorCisyMDE3
LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCiAgICAgICAg
IFtXVEZdIE5ld2x5IGFkZGVkIEF0b21pY1N0cmluZ0ltcGwgc2hvdWxkIHVzZSBCdWZmZXJJbnRl
cm5hbCBzdGF0aWMgc3RyaW5nIGlmIFN0cmluZ0ltcGwgaXMgc3RhdGljCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ1MDEKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDkzN2Q5ODkyNTk2ZTdlNjQxYjkzMTc2Mzc0ZDQ4ZmE0
ZTAwYTU2MmEuLjZlMWY0YjA2YWExMDE5NGM5NGY4MTc1ZTU0YWE1YjRmNmYzMzFhOTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE5OSw2ICsxOTksNyBAQCBzZXQoSmF2
YVNjcmlwdENvcmVfU09VUkNFUwogCiAgICAgYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNw
cAogICAgIGJ1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlQ3JlYXRvci5jcHAKKyAgICBidWlsdGlu
cy9CdWlsdGluTmFtZXMuY3BwCiAKICAgICBieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAogICAgIGJ5
dGVjb2RlL0FjY2Vzc0Nhc2VTbmlwcGV0UGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA5YTQ3YTc3ZWZkNzI4NDNiNDg5OGQxYjI0MzMxZTgxYjJmOWE5Y2Q4Li5mMWJm
YzEwNzE4MDYwZjRmNjQ2NjA2OGIwMWQ1MWM5MjQzOWY3MjZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMjM4OSw2ICsyMzg5LDcgQEAKIAkJRTM1RTAzNjAxQjdBQjQzRTAwNzNB
RDJBIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1RTAzNUUxQjdBQjQzRTAwNzNBRDJBIC8q
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNzk0RTc1MUI3N0VCOTcwMDU1NDNBRSAvKiBN
b2R1bGVBbmFseXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzc5NEU3MzFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuY3BwICov
OyB9OwogCQlFMzc5NEU3NjFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNzk0RTc0MUI3N0VC
OTcwMDU1NDNBRSAvKiBNb2R1bGVBbmFseXplci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzODBENjZDMUYxOTI0QTgwMEE1OTA5NSAvKiBCdWls
dGluTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTM4MEQ2NkIxRjE5MjQ5RDAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgKi87IH07CiAJ
CUUzOTYzQ0VFMUI3M0Y3NTAwMEVCNENFNSAvKiBOb2Rlc0FuYWx5emVNb2R1bGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5NjNDRUMxQjczRjc1
MDAwRUI0Q0U1IC8qIE5vZGVzQW5hbHl6ZU1vZHVsZS5jcHAgKi87IH07CiAJCUUzOUQ0NUY1MUQz
OTAwNTYwMEIzQjM3NyAvKiBJbnRlcnByZXRlcklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOUQ5RDg0MUQzOTAwMDYwMDY2NzI4MiAvKiBJ
bnRlcnByZXRlcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMzlEQTRBNjFCN0U4QjdDMDA4NEYzM0EgLyogSlNNb2R1bGVSZWNvcmQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM5REE0
QTQxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCAqLzsgfTsKQEAgLTUwMDIs
NiArNTAwMyw3IEBACiAJCUUzNzk0RTczMUI3N0VCOTcwMDU1NDNBRSAvKiBNb2R1bGVBbmFseXpl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1bGVBbmFseXpl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNzk0RTc0MUI3N0VCOTcwMDU1
NDNBRSAvKiBNb2R1bGVBbmFseXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNb2R1bGVBbmFseXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzgwQTc2
QjFEQ0Q3MTk1MDAwRjg5RTYgLyogTWFjcm9Bc3NlbWJsZXJIZWxwZXJzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVySGVscGVycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFMzgwRDY2QjFGMTkyNDlEMDBBNTkwOTUgLyogQnVpbHRpbk5h
bWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ1aWx0aW5OYW1l
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOTYzQ0VDMUI3M0Y3NTAwMEVC
NENFNSAvKiBOb2Rlc0FuYWx5emVNb2R1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTm9kZXNBbmFseXplTW9kdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM5RDlEODQxRDM5MDAwNjAwNjY3MjgyIC8qIEludGVycHJldGVySW5saW5lcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcnByZXRlcklubGluZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM5REE0QTQxQjdFOEI3QzAwODRGMzNBIC8q
IEpTTW9kdWxlUmVjb3JkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTW9kdWxlUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc5OTUs
NiArNzk5Nyw3IEBACiAJCQkJQTdEODAxQTExODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVj
dXRhYmxlcy5jcHAgKi8sCiAJCQkJQTdEODAxQTIxODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5F
eGVjdXRhYmxlcy5oICovLAogCQkJCUE3NUVFOUIwMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGlu
TmFtZXMuaCAqLywKKwkJCQlFMzgwRDY2QjFGMTkyNDlEMDBBNTkwOTUgLyogQnVpbHRpbk5hbWVz
LmNwcCAqLywKIAkJCQk0MURFQTEzMTFCOUYzMTU0MDA2RDY1REQgLyogQnVpbHRpblV0aWxzLmgg
Ki8sCiAJCQkJQTFGRTFFQjAxQzJDNTM3RTAwQTI4OUZGIC8qIERhdGVQcm90b3R5cGUuanMgKi8s
CiAJCQkJQTdBOTc5QzQxOEJFOEQ5RTAwMkMzNzMzIC8qIEZ1bmN0aW9uUHJvdG90eXBlLmpzICov
LApAQCAtMTA1MDgsNiArMTA1MTEsNyBAQAogCQkJCTJBQUNFNjNDMThDQTVBMDMwMEVEMDE5MSAv
KiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3NjZEMkYxNUE4
RENFMDAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkQwRTVFQzFFNDNEMzUzMDAwNkFCMDggLyogR0NDb25kdWN0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRTM4MEQ2NkMxRjE5MjRBODAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyQURGQTI2MzE4RUYzNTQwMDA0RjlGQ0MgLyogR0NMb2dnaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOTcxNTMwMUVCMjhCRUIwMEExNjQ1RCAvKiBHQ1Jl
cXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzBCNzkxOTQxQzAyNEEyODAwMjQ4MUUyIC8q
IEdlbmVyYXRvckZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNiM2JmYjZjOTg3ODZlMjM0ZDViMmU3MDVmMGMxMzg3ZDc0MzY1OWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1c3VrZSBTdXp1a2kgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIK
KworbmFtZXNwYWNlIEpTQyB7CituYW1lc3BhY2UgU3ltYm9scyB7CisKKyNkZWZpbmUgSU5JVElB
TElaRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJv
bEltcGwgbmFtZSMjU3ltYm9sIHsgIlN5bWJvbC4iICNuYW1lIH07CitKU0NfQ09NTU9OX1BSSVZB
VEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JVSUxUSU5f
U1RBVElDX1NZTUJPTFMpCisjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xT
CisKKyNkZWZpbmUgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMobmFtZSkgU3ltYm9s
SW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNQcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9s
LiIgI25hbWUgfTsKK0pTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpF
X0JVSUxUSU5fUFJJVkFURV9OQU1FUykKK0pTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCisjdW5k
ZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKKworU3ltYm9sSW1wbDo6U3RhdGlj
U3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuJHZtIiB9Owor
Cit9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCit9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCBiNWI3ZTU2MjEwYTRl
MDk1N2M5NzliZDFiMzY1YTAzYzFiZjVjNDQ4Li5mODU4NWQwOTdlMjIzYzdjYWE0MTkzYTk2ODUz
ZDc4NzVjOTQxNjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oCkBAIC0xNzIsNiArMTcyLDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3Jv
KExpbmtFcnJvcikgXAogICAgIG1hY3JvKFJ1bnRpbWVFcnJvcikgXAogCituYW1lc3BhY2UgU3lt
Ym9scyB7CisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9TVEFUSUNfU1lNQk9MUyhuYW1lKSBleHRl
cm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNTeW1ib2w7CitKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxU
SU5fU1RBVElDX1NZTUJPTFMpCisjdW5kZWYgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xT
CisKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMobmFtZSkgZXh0ZXJuIFN5
bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgbmFtZSMjUHJpdmF0ZU5hbWU7CitKU0NfRk9SRUFD
SF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCitK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKERFQ0xBUkVf
QlVJTFRJTl9QUklWQVRFX05BTUVTKQorI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05B
TUVTCisKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0
ZU5hbWU7Cit9CiAKICNkZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShu
YW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwo
KSwgJm1fIyNuYW1lKTsKICNkZWZpbmUgSU5JVElBTElaRV9QVUJMSUNfVE9fUFJJVkFURV9FTlRS
WShuYW1lKSBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV8jI25hbWUuaW1wbCgpLCAmbV8jI25h
bWUjI1ByaXZhdGVOYW1lKTsKQEAgLTE5MCwxMSArMjAyLDExIEBAIGNsYXNzIEJ1aWx0aW5OYW1l
cyB7CiAKICAgICBCdWlsdGluTmFtZXMoVk0qIHZtLCBDb21tb25JZGVudGlmaWVycyogY29tbW9u
SWRlbnRpZmllcnMpCiAgICAgICAgIDogbV9lbXB0eUlkZW50aWZpZXIoY29tbW9uSWRlbnRpZmll
cnMtPmVtcHR5SWRlbnRpZmllcikKLSAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElP
Tl9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FUykKLSAgICAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX0JVSUxUSU5fTkFN
RVMpCisgICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpF
X0JVSUxUSU5fTkFNRVNfSU5fSlNDKQorICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FU19JTl9KU0Mp
CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05f
U1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1O
YW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKLSAgICAgICAgLCBtX2RvbGxh
clZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZChQcml2YXRlTmFtZShQcml2YXRlTmFt
ZTo6RGVzY3JpcHRpb24sIEFTQ0lJTGl0ZXJhbCgiUHJpdmF0ZVN5bWJvbC4kdm0iKSkpKQorICAg
ICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3Rh
dGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKICAg
ICB7CiAgICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpF
X1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNf
RU5UUlkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
blV0aWxzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpblV0aWxzLmgK
aW5kZXggMjZkYTI5MTljODY0ZDMzYzgwMmNmNjhiNDIyNTcxOWIwNGYxMzY3ZS4uZWNmZTZlNTMw
OTYxYmEyZGQzZjlmYmQ1ZGE2OTVjZTkyNTFiNTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5VdGlscy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9CdWlsdGluVXRpbHMuaApAQCAtMzEsMTIgKzMxLDEzIEBACiBuYW1lc3Bh
Y2UgSlNDIHsKIAogI2RlZmluZSBJTklUSUFMSVpFX0JVSUxUSU5fTkFNRVMobmFtZSkgLCBtXyMj
bmFtZShKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lKSksIG1fIyNuYW1lIyNQ
cml2YXRlTmFtZShKU0M6OklkZW50aWZpZXI6OmZyb21VaWQoSlNDOjpQcml2YXRlTmFtZShKU0M6
OlByaXZhdGVOYW1lOjpEZXNjcmlwdGlvbiwgQVNDSUlMaXRlcmFsKCJQcml2YXRlU3ltYm9sLiIg
I25hbWUpKSkpCisjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FU19JTl9KU0MobmFtZSkg
LCBtXyMjbmFtZShKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lKSksIG1fIyNu
YW1lIyNQcml2YXRlTmFtZShKU0M6OklkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2Fz
dDxTeW1ib2xJbXBsJj4oSlNDOjpTeW1ib2xzOjpuYW1lIyNQcml2YXRlTmFtZSkpKQogI2RlZmlu
ZSBERUNMQVJFX0JVSUxUSU5fTkFNRVMobmFtZSkgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fIyNu
YW1lOyBjb25zdCBKU0M6OklkZW50aWZpZXIgbV8jI25hbWUjI1ByaXZhdGVOYW1lOwogI2RlZmlu
ZSBERUNMQVJFX0JVSUxUSU5fSURFTlRJRklFUl9BQ0NFU1NPUihuYW1lKSBcCiAgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiBuYW1lIyNQdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV8jI25h
bWU7IH0gXAogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgbmFtZSMjUHJpdmF0ZU5hbWUoKSBj
b25zdCB7IHJldHVybiBtXyMjbmFtZSMjUHJpdmF0ZU5hbWU7IH0KIAotI2RlZmluZSBJTklUSUFM
SVpFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSAsIG1fIyNuYW1lIyNTeW1ib2woSlNDOjpJZGVudGlm
aWVyOjpmcm9tVWlkKEpTQzo6UHJpdmF0ZU5hbWUoSlNDOjpQcml2YXRlTmFtZTo6RGVzY3JpcHRp
b24sIEFTQ0lJTGl0ZXJhbCgiU3ltYm9sLiIgI25hbWUpKSkpLCBtXyMjbmFtZSMjU3ltYm9sUHJp
dmF0ZUlkZW50aWZpZXIoSlNDOjpJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAjbmFtZSAiU3lt
Ym9sIikpCisjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKG5hbWUpICwgbV8jI25h
bWUjI1N5bWJvbChKU0M6OklkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1i
b2xJbXBsJj4oSlNDOjpTeW1ib2xzOjpuYW1lIyNTeW1ib2wpKSksIG1fIyNuYW1lIyNTeW1ib2xQ
cml2YXRlSWRlbnRpZmllcihKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lICJT
eW1ib2wiKSkKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fIyNuYW1lIyNTeW1ib2w7IGNvbnN0IEpTQzo6SWRlbnRpZmllciBtXyMj
bmFtZSMjU3ltYm9sUHJpdmF0ZUlkZW50aWZpZXI7CiAjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9T
WU1CT0xfQUNDRVNTT1IobmFtZSkgXAogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgbmFtZSMj
U3ltYm9sKCkgY29uc3QgeyByZXR1cm4gbV8jI25hbWUjI1N5bWJvbDsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvSGFzaGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoZXIuaAppbmRleCBj
MGEyZThjZjI5N2M1MGE0ZDViZTAwNzU0OTU3ZjBhYTRjMjMxMzljLi5hYWEyYzE0NjYxNjc4OWNk
OWVjMmUzNzFlOGY2YTMxYTI4NDE1NWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNo
ZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoZXIuaApAQCAtMjUsNiArMjUsMTEgQEAKICNp
bmNsdWRlIDx1bmljb2RlL3V0eXBlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0xDaGFyLmg+CiAK
KyNpZiBDT01QSUxFUihNU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5p
bmcoZGlzYWJsZTo0MzA3KQorI2VuZGlmCisKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBQYXVsIEhz
aWVoJ3MgU3VwZXJGYXN0SGFzaApAQCAtMzg2LDQgKzM5MSw4IEBAIGNsYXNzIEludGVnZXJIYXNo
ZXIgewogdXNpbmcgV1RGOjpJbnRlZ2VySGFzaGVyOwogdXNpbmcgV1RGOjpTdHJpbmdIYXNoZXI7
CiAKKyNpZiBDT01QSUxFUihNU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCiAj
ZW5kaWYgLy8gV1RGX0hhc2hlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5
bWJvbEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCmluZGV4IDQyZjAx
MjEwMGRhYjU2YTU0YTFmOTA2ZDJlNWE0YzcxNTQ1OTE2NGMuLmM2OWRhMDE3NzY5MTliMzc2YTU1
OTQwNGM5MGFlYmQ3NTdiNTI0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCkBAIC01MSw2
ICs1MSwzNSBAQCBjbGFzcyBTeW1ib2xJbXBsIDogcHVibGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsK
ICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVO
dWxsU3ltYm9sKCk7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9s
SW1wbD4gY3JlYXRlKFN0cmluZ0ltcGwmIHJlcCk7CiAKKyAgICBjbGFzcyBTdGF0aWNTeW1ib2xJ
bXBsIDogcHJpdmF0ZSBTdHJpbmdJbXBsU2hhcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdGF0aWNTeW1ib2xJbXBsKTsKKyAgICBwdWJsaWM6CisgICAgICAgIHRlbXBsYXRlPHVu
c2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KKyAgICAgICAgY29uc3RleHByIFN0YXRpY1N5bWJvbElt
cGwoY29uc3QgY2hhciAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAgICAgICAg
ICA6IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBjaGFyYWN0
ZXJzQ291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZsYWc4Qml0
QnVmZmVyIHwgc19oYXNoRmxhZ0RpZFJlcG9ydENvc3QgfCBTdHJpbmdTeW1ib2wgfCBCdWZmZXJJ
bnRlcm5hbCB8IChTdHJpbmdIYXNoZXI6OmNvbXB1dGVMaXRlcmFsSGFzaEFuZE1hc2tUb3A4Qml0
cyhjaGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCksIENvbnN0cnVjdFdpdGhDb25zdEV4cHIpCisg
ICAgICAgICAgICAsIG1faGFzaEZvclN5bWJvbChTdHJpbmdIYXNoZXI6OmNvbXB1dGVMaXRlcmFs
SGFzaEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCkKKyAgICAgICAg
eworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8dW5zaWduZWQgY2hhcmFjdGVyc0NvdW50
PgorICAgICAgICBjb25zdGV4cHIgU3RhdGljU3ltYm9sSW1wbChjb25zdCBjaGFyMTZfdCAoJmNo
YXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAgICAgICAgICA6IFN0cmluZ0ltcGxTaGFw
ZShzX3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBjaGFyYWN0ZXJzQ291bnQgLSAxLCBjaGFy
YWN0ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZsYWdEaWRSZXBvcnRDb3N0IHwgU3RyaW5n
U3ltYm9sIHwgQnVmZmVySW50ZXJuYWwgfCAoU3RyaW5nSGFzaGVyOjpjb21wdXRlTGl0ZXJhbEhh
c2hBbmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwgc19mbGFnQ291bnQpLCBDb25zdHJ1Y3RX
aXRoQ29uc3RFeHByKQorICAgICAgICAgICAgLCBtX2hhc2hGb3JTeW1ib2woU3RyaW5nSGFzaGVy
Ojpjb21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwgc19mbGFn
Q291bnQpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIG9wZXJhdG9yIFN5bWJvbElt
cGwmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFN5
bWJvbEltcGwqPih0aGlzKTsKKyAgICAgICAgfQorCisgICAgICAgIFN0cmluZ0ltcGwqIG1fb3du
ZXIgeyBudWxscHRyIH07IC8vIFdlIGRvIG5vdCBtYWtlIFN0YXRpY1N5bWJvbEltcGwgQnVmZmVy
U3Vic3RyaW5nLiBUaHVzIHdlIGNhbiBtYWtlIHRoaXMgbnVsbHB0ci4KKyAgICAgICAgdW5zaWdu
ZWQgbV9oYXNoRm9yU3ltYm9sOworICAgICAgICBGbGFncyBtX2ZsYWdzIHsgc19mbGFnRGVmYXVs
dCB9OworICAgIH07CisKIHByb3RlY3RlZDoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IHVuc2lnbmVkIG5leHRIYXNoRm9yU3ltYm9sKCk7CiAKQEAgLTg5LDYgKzExOCw3IEBAIGNsYXNz
IFN5bWJvbEltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmluZ0ltcGwgewogICAgIHVuc2lnbmVkIG1f
aGFzaEZvclN5bWJvbDsKICAgICBGbGFncyBtX2ZsYWdzIHsgc19mbGFnRGVmYXVsdCB9OwogfTsK
K3N0YXRpY19hc3NlcnQoc2l6ZW9mKFN5bWJvbEltcGwpID09IHNpemVvZihTeW1ib2xJbXBsOjpT
dGF0aWNTeW1ib2xJbXBsKSwgIiIpOwogCiBjbGFzcyBSZWdpc3RlcmVkU3ltYm9sSW1wbCA6IHB1
YmxpYyBTeW1ib2xJbXBsIHsKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315455</attachid>
            <date>2017-07-14 11:09:04 -0700</date>
            <delta_ts>2017-07-14 11:09:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158863-20170715030903.patch</filename>
            <type>text/plain</type>
            <size>16123</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTIwYzM1NTE5YmI2ZDU0OGFiNjg1NTFkMmRkZmFlNmZiZTBjMGJiLi42NGRlZTU4YzI3OGRjYmEx
NTk3N2ZkN2RmNDM1YTJhYzgzZGFmYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNSBAQAogMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBJbnRyb2R1Y2Ugc3RhdGljIHN5bWJvbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHVzZSBTdGF0aWNTeW1i
b2xJbXBsIHRvIGluaXRpYWxpemUgUHJpdmF0ZU5hbWVzIGFuZCBidWlsdGluIFN5bWJvbHMuCisg
ICAgICAgIEFzIGEgcmVzdWx0LCB3ZSBjYW4gc2hhcmUgdGhlIHNhbWUgU3ltYm9sIHZhbHVlcyBi
ZXR3ZWVuIFZNcyBhbmQgdGhyZWFkcy4KKyAgICAgICAgQW5kIHdlIGRvIG5vdCBuZWVkIHRvIGFs
bG9jYXRlIFJlZjxTeW1ib2xJbXBsPiBmb3IgdGhlc2Ugc3ltYm9scyBhdCBydW50aW1lLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgU3VwcHJlc3Mgd2FybmluZyBDNDMwNywgaW50ZWdyYWwgY29uc3Rh
bnQgb3ZlcmZsb3cuIEl0IGlzIGludGVudGlvbmFsIGluIGNvbnN0ZXhwciBoYXNoIHZhbHVlIGNh
bGN1bGF0aW9uLgorCisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAg
IChKU0M6OkJ1aWx0aW5OYW1lczo6QnVpbHRpbk5hbWVzKToKKyAgICAgICAgKiBidWlsdGlucy9C
dWlsdGluVXRpbHMuaDoKKworMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KKwogICAgICAgICBbV1RGXSBVc2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBTdGFj
a1RyYWNlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQ0OTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBkMWRiNTJlZDNiMDdlNTgwZGU5MThkYzQ2NDI0NzU2NWZiMzVkMWExLi40
ZTQxY2ZkMGM4OTI3YTUxNDRmZDU3ZmFjMzljNDUxMGNmN2E3MTVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3
IEBACiAyMDE3LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgog
CisgICAgICAgIFtKU0NdIEludHJvZHVjZSBzdGF0aWMgc3ltYm9scworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4ODYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYWRkIGEgbmV3IGNsYXNzIFN0YXRp
Y1N5bWJvbEltcGwuIFN0YXRpY1N5bWJvbEltcGwgY2FuIG9mZmVyCisgICAgICAgIHRoZSB3YXkg
dG8gY3JlYXRlIHN0YXRpYyBTeW1ib2xJbXBsLiBJdCBjYW4gYmUgc2hhcmVkIGJldHdlZW4KKyAg
ICAgICAgbXVsdGlwbGUgVk1zIGFuZCBtdWx0aXBsZSB0aHJlYWRzLgorCisgICAgICAgICogd3Rm
L3RleHQvU3ltYm9sSW1wbC5oOgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBsOjpTdGF0aWNTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsKToKKyAgICAgICAgKFdURjo6U3ltYm9sSW1wbDo6U3Rh
dGljU3ltYm9sSW1wbDo6b3BlcmF0b3IgU3ltYm9sSW1wbCYpOgorICAgICAgICBGb3IgU3RhdGlj
U3ltYm9sSW1wbCdzIGhhc2hGb3JTeW1ib2wsIHdlIHVzZSB1c3VhbCBzdHJpbmcgaGFzaCB2YWx1
ZS4KKyAgICAgICAgU2luY2UgYWxsIHRoZSBTeW1ib2xJbXBscyBhcmUgdW5pcXVlLCBiYXNpY2Fs
bHksIGFueSB2YWx1ZSBpcyBPSyBoZXJlLgorICAgICAgICBOb24tY29uZmlsaWN0aW5nIHRvIHRo
ZSBvdGhlciBTeW1ib2xJbXBscyBpcyBpZGVhbC4KKworICAgICAgICAqIHd0Zi90ZXh0L1N5bWJv
bEltcGwuaDoKKyAgICAgICAgKFdURjo6U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbDo6U3Rh
dGljU3ltYm9sSW1wbCk6CisgICAgICAgIChXVEY6OlN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGw6Om9wZXJhdG9yIFN5bWJvbEltcGwmKToKKworMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAg
PHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBbV1RGXSBOZXdseSBhZGRlZCBBdG9t
aWNTdHJpbmdJbXBsIHNob3VsZCB1c2UgQnVmZmVySW50ZXJuYWwgc3RhdGljIHN0cmluZyBpZiBT
dHJpbmdJbXBsIGlzIHN0YXRpYwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0NTAxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA5MzdkOTg5MjU5NmU3ZTY0MWI5MzE3NjM3NGQ0OGZhNGUwMGE1NjJhLi42ZTFmNGIwNmFhMTAx
OTRjOTRmODE3NWU1NGFhNWI0ZjZmMzMxYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0xOTksNiArMTk5LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKIAog
ICAgIGJ1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKICAgICBidWlsdGlucy9CdWlsdGlu
RXhlY3V0YWJsZUNyZWF0b3IuY3BwCisgICAgYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAogCiAg
ICAgYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9BY2Nlc3NDYXNlU25pcHBl
dFBhcmFtcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE0N2E3N2VmZDcy
ODQzYjQ4OThkMWIyNDMzMWU4MWIyZjlhOWNkOC4uZjFiZmMxMDcxODA2MGY0ZjY0NjYwNjhiMDFk
NTFjOTI0MzlmNzI2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzODksNiAr
MjM4OSw3IEBACiAJCUUzNUUwMzYwMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzNUUwMzVFMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25PYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFMzc5NEU3NTFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM3OTRFNzMxQjc3RUI5
NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmNwcCAqLzsgfTsKIAkJRTM3OTRFNzYxQjc3RUI5
NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzc5NEU3NDFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5h
bHl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlFMzgwRDY2QzFGMTkyNEE4MDBBNTkwOTUgLyogQnVpbHRpbk5hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzODBENjZCMUYxOTI0OUQwMEE1
OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwICovOyB9OwogCQlFMzk2M0NFRTFCNzNGNzUwMDBFQjRD
RTUgLyogTm9kZXNBbmFseXplTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYzQ0VDMUI3M0Y3NTAwMEVCNENFNSAvKiBOb2Rlc0FuYWx5
emVNb2R1bGUuY3BwICovOyB9OwogCQlFMzlENDVGNTFEMzkwMDU2MDBCM0IzNzcgLyogSW50ZXJw
cmV0ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzlEOUQ4NDFEMzkwMDA2MDA2NjcyODIgLyogSW50ZXJwcmV0ZXJJbmxpbmVzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM5REE0QTYx
QjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOURBNEE0MUI3RThCN0MwMDg0RjMzQSAvKiBK
U01vZHVsZVJlY29yZC5jcHAgKi87IH07CkBAIC01MDAyLDYgKzUwMDMsNyBAQAogCQlFMzc5NEU3
MzFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTW9kdWxlQW5hbHl6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMzc5NEU3NDFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlQW5hbHl6ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4MEE3NkIxRENENzE5NTAwMEY4OUU2IC8qIE1h
Y3JvQXNzZW1ibGVySGVscGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
YWNyb0Fzc2VtYmxlckhlbHBlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM4
MEQ2NkIxRjE5MjQ5RDAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCdWlsdGluTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMzk2M0NFQzFCNzNGNzUwMDBFQjRDRTUgLyogTm9kZXNBbmFseXplTW9k
dWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVzQW5hbHl6
ZU1vZHVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOUQ5RDg0MUQzOTAw
MDYwMDY2NzI4MiAvKiBJbnRlcnByZXRlcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW50ZXJwcmV0ZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzOURBNEE0MUI3RThCN0MwMDg0RjMzQSAvKiBKU01vZHVsZVJlY29yZC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVsZVJlY29yZC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03OTk1LDYgKzc5OTcsNyBAQAogCQkJCUE3RDgw
MUExMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwICovLAogCQkJCUE3
RDgwMUEyMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCAqLywKIAkJCQlB
NzVFRTlCMDE4QUFCN0UyMDBBQUQwNDMgLyogQnVpbHRpbk5hbWVzLmggKi8sCisJCQkJRTM4MEQ2
NkIxRjE5MjQ5RDAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgKi8sCiAJCQkJNDFERUExMzEx
QjlGMzE1NDAwNkQ2NUREIC8qIEJ1aWx0aW5VdGlscy5oICovLAogCQkJCUExRkUxRUIwMUMyQzUz
N0UwMEEyODlGRiAvKiBEYXRlUHJvdG90eXBlLmpzICovLAogCQkJCUE3QTk3OUM0MThCRThEOUUw
MDJDMzczMyAvKiBGdW5jdGlvblByb3RvdHlwZS5qcyAqLywKQEAgLTEwNTA4LDYgKzEwNTExLDcg
QEAKIAkJCQkyQUFDRTYzQzE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGNzY2RDJGMTVBOERDRTAwMDhGMzYzRSAvKiBHQ0F3YXJl
SklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEMEU1RUMxRTQzRDM1MzAw
MDZBQjA4IC8qIEdDQ29uZHVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzODBENjZDMUYx
OTI0QTgwMEE1OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkFE
RkEyNjMxOEVGMzU0MDAwNEY5RkNDIC8qIEdDTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjk3MTUzMDFFQjI4QkVCMDBBMTY0NUQgLyogR0NSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTcwQjc5MTk0MUMwMjRBMjgwMDI0ODFFMiAvKiBHZW5lcmF0b3JGdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmQyNWFjNDk0MzhlNGFkYjZlMmJh
ZWVkNzlkMWY0MjA3ZGEyNzdlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+Lgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisKKyNpZiBDT01QSUxFUihNU1ZDKQor
I3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0MzA3KQorI2Vu
ZGlmCisKK25hbWVzcGFjZSBKU0MgeworbmFtZXNwYWNlIFN5bWJvbHMgeworCisjZGVmaW5lIElO
SVRJQUxJWkVfQlVJTFRJTl9TVEFUSUNfU1lNQk9MUyhuYW1lKSBTeW1ib2xJbXBsOjpTdGF0aWNT
eW1ib2xJbXBsIG5hbWUjI1N5bWJvbCB7ICJTeW1ib2wuIiAjbmFtZSB9OworSlNDX0NPTU1PTl9Q
UklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9CVUlM
VElOX1NUQVRJQ19TWU1CT0xTKQorI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9TVEFUSUNfU1lN
Qk9MUworCisjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTKG5hbWUpIFN5
bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgbmFtZSMjUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5
bWJvbC4iICNuYW1lIH07CitKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElB
TElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCitKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTKQor
I3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCisKK1N5bWJvbEltcGw6OlN0
YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIg
fTsKKworfSAvLyBuYW1lc3BhY2UgU3ltYm9scworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNpZiBD
T01QSUxFUihNU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IGI1YjdlNTYyMTBhNGUw
OTU3Yzk3OWJkMWIzNjVhMDNjMWJmNWM0NDguLmY4NTg1ZDA5N2UyMjNjN2NhYTQxOTNhOTY4NTNk
Nzg3NWM5NDE2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgKQEAgLTE3Miw2ICsxNzIsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8o
TGlua0Vycm9yKSBcCiAgICAgbWFjcm8oUnVudGltZUVycm9yKSBcCiAKK25hbWVzcGFjZSBTeW1i
b2xzIHsKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIGV4dGVy
biBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIG5hbWUjI1N5bWJvbDsKK0pTQ19DT01NT05f
UFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJ
Tl9TVEFUSUNfU1lNQk9MUykKKyN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1RBVElDX1NZTUJPTFMK
KworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUyhuYW1lKSBleHRlcm4gU3lt
Ym9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNQcml2YXRlTmFtZTsKK0pTQ19GT1JFQUNI
X0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUykKK0pT
Q19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoREVDTEFSRV9C
VUlMVElOX1BSSVZBVEVfTkFNRVMpCisjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKKworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRl
TmFtZTsKK30KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5h
bWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgp
LCAmbV8jI25hbWUpOwogI2RlZmluZSBJTklUSUFMSVpFX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZ
KG5hbWUpIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChtXyMjbmFtZS5pbXBsKCksICZtXyMjbmFt
ZSMjUHJpdmF0ZU5hbWUpOwpAQCAtMTkwLDExICsyMDIsMTEgQEAgY2xhc3MgQnVpbHRpbk5hbWVz
IHsKIAogICAgIEJ1aWx0aW5OYW1lcyhWTSogdm0sIENvbW1vbklkZW50aWZpZXJzKiBjb21tb25J
ZGVudGlmaWVycykKICAgICAgICAgOiBtX2VtcHR5SWRlbnRpZmllcihjb21tb25JZGVudGlmaWVy
cy0+ZW1wdHlJZGVudGlmaWVyKQotICAgICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9O
X05BTUUoSU5JVElBTElaRV9CVUlMVElOX05BTUVTKQotICAgICAgICBKU0NfQ09NTU9OX1BSSVZB
VEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9OQU1F
UykKKyAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVf
QlVJTFRJTl9OQU1FU19JTl9KU0MpCisgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9CVUlMVElOX05BTUVTX0lOX0pTQykK
ICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9T
WU1CT0woSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5h
bWUoSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQotICAgICAgICAsIG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKFByaXZhdGVOYW1lKFByaXZhdGVOYW1l
OjpEZXNjcmlwdGlvbiwgQVNDSUlMaXRlcmFsKCJQcml2YXRlU3ltYm9sLiR2bSIpKSkpCisgICAg
ICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0
aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQogICAg
IHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVf
UFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19F
TlRSWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGlu
VXRpbHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluVXRpbHMuaApp
bmRleCAyNmRhMjkxOWM4NjRkMzNjODAyY2Y2OGI0MjI1NzE5YjA0ZjEzNjdlLi5lY2ZlNmU1MzA5
NjFiYTJkZDNmOWZiZDVkYTY5NWNlOTI1MWI1NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpblV0aWxzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5VdGlscy5oCkBAIC0zMSwxMiArMzEsMTMgQEAKIG5hbWVzcGFj
ZSBKU0MgewogCiAjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FUyhuYW1lKSAsIG1fIyNu
YW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpKSwgbV8jI25hbWUjI1By
aXZhdGVOYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZChKU0M6OlByaXZhdGVOYW1lKEpTQzo6
UHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwoIlByaXZhdGVTeW1ib2wuIiAj
bmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElaRV9CVUlMVElOX05BTUVTX0lOX0pTQyhuYW1lKSAs
IG1fIyNuYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpKSwgbV8jI25h
bWUjI1ByaXZhdGVOYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0
PFN5bWJvbEltcGwmPihKU0M6OlN5bWJvbHM6Om5hbWUjI1ByaXZhdGVOYW1lKSkpCiAjZGVmaW5l
IERFQ0xBUkVfQlVJTFRJTl9OQU1FUyhuYW1lKSBjb25zdCBKU0M6OklkZW50aWZpZXIgbV8jI25h
bWU7IGNvbnN0IEpTQzo6SWRlbnRpZmllciBtXyMjbmFtZSMjUHJpdmF0ZU5hbWU7CiAjZGVmaW5l
IERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09SKG5hbWUpIFwKICAgICBjb25zdCBK
U0M6OklkZW50aWZpZXImIG5hbWUjI1B1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtXyMjbmFt
ZTsgfSBcCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1lIyNQcml2YXRlTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fIyNuYW1lIyNQcml2YXRlTmFtZTsgfQogCi0jZGVmaW5lIElOSVRJQUxJ
WkVfQlVJTFRJTl9TWU1CT0xTKG5hbWUpICwgbV8jI25hbWUjI1N5bWJvbChKU0M6OklkZW50aWZp
ZXI6OmZyb21VaWQoSlNDOjpQcml2YXRlTmFtZShKU0M6OlByaXZhdGVOYW1lOjpEZXNjcmlwdGlv
biwgQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAjbmFtZSkpKSksIG1fIyNuYW1lIyNTeW1ib2xQcml2
YXRlSWRlbnRpZmllcihKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lICJTeW1i
b2wiKSkKKyNkZWZpbmUgSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgLCBtXyMjbmFt
ZSMjU3ltYm9sKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJv
bEltcGwmPihKU0M6OlN5bWJvbHM6Om5hbWUjI1N5bWJvbCkpKSwgbV8jI25hbWUjI1N5bWJvbFBy
aXZhdGVJZGVudGlmaWVyKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUgIlN5
bWJvbCIpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBjb25zdCBKU0M6
OklkZW50aWZpZXIgbV8jI25hbWUjI1N5bWJvbDsgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fIyNu
YW1lIyNTeW1ib2xQcml2YXRlSWRlbnRpZmllcjsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NZ
TUJPTF9BQ0NFU1NPUihuYW1lKSBcCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1lIyNT
eW1ib2woKSBjb25zdCB7IHJldHVybiBtXyMjbmFtZSMjU3ltYm9sOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3lt
Ym9sSW1wbC5oCmluZGV4IDQyZjAxMjEwMGRhYjU2YTU0YTFmOTA2ZDJlNWE0YzcxNTQ1OTE2NGMu
LmM2OWRhMDE3NzY5MTliMzc2YTU1OTQwNGM5MGFlYmQ3NTdiNTI0ZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3ltYm9sSW1wbC5oCkBAIC01MSw2ICs1MSwzNSBAQCBjbGFzcyBTeW1ib2xJbXBsIDogcHVibGlj
IFVuaXF1ZWRTdHJpbmdJbXBsIHsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJl
ZjxTeW1ib2xJbXBsPiBjcmVhdGVOdWxsU3ltYm9sKCk7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdf
QVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlKFN0cmluZ0ltcGwmIHJlcCk7CiAKKyAg
ICBjbGFzcyBTdGF0aWNTeW1ib2xJbXBsIDogcHJpdmF0ZSBTdHJpbmdJbXBsU2hhcGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0aWNTeW1ib2xJbXBsKTsKKyAgICBwdWJsaWM6
CisgICAgICAgIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KKyAgICAgICAgY29u
c3RleHByIFN0YXRpY1N5bWJvbEltcGwoY29uc3QgY2hhciAoJmNoYXJhY3RlcnMpW2NoYXJhY3Rl
cnNDb3VudF0pCisgICAgICAgICAgICA6IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50RmxhZ0lz
U3RhdGljU3RyaW5nLCBjaGFyYWN0ZXJzQ291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAgICAg
ICAgICAgIHNfaGFzaEZsYWc4Qml0QnVmZmVyIHwgc19oYXNoRmxhZ0RpZFJlcG9ydENvc3QgfCBT
dHJpbmdTeW1ib2wgfCBCdWZmZXJJbnRlcm5hbCB8IChTdHJpbmdIYXNoZXI6OmNvbXB1dGVMaXRl
cmFsSGFzaEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCksIENvbnN0
cnVjdFdpdGhDb25zdEV4cHIpCisgICAgICAgICAgICAsIG1faGFzaEZvclN5bWJvbChTdHJpbmdI
YXNoZXI6OmNvbXB1dGVMaXRlcmFsSGFzaEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8PCBz
X2ZsYWdDb3VudCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8dW5z
aWduZWQgY2hhcmFjdGVyc0NvdW50PgorICAgICAgICBjb25zdGV4cHIgU3RhdGljU3ltYm9sSW1w
bChjb25zdCBjaGFyMTZfdCAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAgICAg
ICAgICA6IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBjaGFy
YWN0ZXJzQ291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZsYWdE
aWRSZXBvcnRDb3N0IHwgU3RyaW5nU3ltYm9sIHwgQnVmZmVySW50ZXJuYWwgfCAoU3RyaW5nSGFz
aGVyOjpjb21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwgc19m
bGFnQ291bnQpLCBDb25zdHJ1Y3RXaXRoQ29uc3RFeHByKQorICAgICAgICAgICAgLCBtX2hhc2hG
b3JTeW1ib2woU3RyaW5nSGFzaGVyOjpjb21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJpdHMo
Y2hhcmFjdGVycykgPDwgc19mbGFnQ291bnQpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAg
ICAgIG9wZXJhdG9yIFN5bWJvbEltcGwmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
ICpyZWludGVycHJldF9jYXN0PFN5bWJvbEltcGwqPih0aGlzKTsKKyAgICAgICAgfQorCisgICAg
ICAgIFN0cmluZ0ltcGwqIG1fb3duZXIgeyBudWxscHRyIH07IC8vIFdlIGRvIG5vdCBtYWtlIFN0
YXRpY1N5bWJvbEltcGwgQnVmZmVyU3Vic3RyaW5nLiBUaHVzIHdlIGNhbiBtYWtlIHRoaXMgbnVs
bHB0ci4KKyAgICAgICAgdW5zaWduZWQgbV9oYXNoRm9yU3ltYm9sOworICAgICAgICBGbGFncyBt
X2ZsYWdzIHsgc19mbGFnRGVmYXVsdCB9OworICAgIH07CisKIHByb3RlY3RlZDoKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIHVuc2lnbmVkIG5leHRIYXNoRm9yU3ltYm9sKCk7CiAKQEAg
LTg5LDYgKzExOCw3IEBAIGNsYXNzIFN5bWJvbEltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmluZ0lt
cGwgewogICAgIHVuc2lnbmVkIG1faGFzaEZvclN5bWJvbDsKICAgICBGbGFncyBtX2ZsYWdzIHsg
c19mbGFnRGVmYXVsdCB9OwogfTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFN5bWJvbEltcGwpID09
IHNpemVvZihTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsKSwgIiIpOwogCiBjbGFzcyBSZWdp
c3RlcmVkU3ltYm9sSW1wbCA6IHB1YmxpYyBTeW1ib2xJbXBsIHsKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315456</attachid>
            <date>2017-07-14 11:09:44 -0700</date>
            <delta_ts>2017-07-21 09:30:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158863-20170715030942.patch</filename>
            <type>text/plain</type>
            <size>15955</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTIwYzM1NTE5YmI2ZDU0OGFiNjg1NTFkMmRkZmFlNmZiZTBjMGJiLi42NGRlZTU4YzI3OGRjYmEx
NTk3N2ZkN2RmNDM1YTJhYzgzZGFmYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNSBAQAogMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBJbnRyb2R1Y2Ugc3RhdGljIHN5bWJvbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHVzZSBTdGF0aWNTeW1i
b2xJbXBsIHRvIGluaXRpYWxpemUgUHJpdmF0ZU5hbWVzIGFuZCBidWlsdGluIFN5bWJvbHMuCisg
ICAgICAgIEFzIGEgcmVzdWx0LCB3ZSBjYW4gc2hhcmUgdGhlIHNhbWUgU3ltYm9sIHZhbHVlcyBi
ZXR3ZWVuIFZNcyBhbmQgdGhyZWFkcy4KKyAgICAgICAgQW5kIHdlIGRvIG5vdCBuZWVkIHRvIGFs
bG9jYXRlIFJlZjxTeW1ib2xJbXBsPiBmb3IgdGhlc2Ugc3ltYm9scyBhdCBydW50aW1lLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgU3VwcHJlc3Mgd2FybmluZyBDNDMwNywgaW50ZWdyYWwgY29uc3Rh
bnQgb3ZlcmZsb3cuIEl0IGlzIGludGVudGlvbmFsIGluIGNvbnN0ZXhwciBoYXNoIHZhbHVlIGNh
bGN1bGF0aW9uLgorCisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAg
IChKU0M6OkJ1aWx0aW5OYW1lczo6QnVpbHRpbk5hbWVzKToKKyAgICAgICAgKiBidWlsdGlucy9C
dWlsdGluVXRpbHMuaDoKKworMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KKwogICAgICAgICBbV1RGXSBVc2Ugc3RkOjp1bmlxdWVfcHRyIGZvciBTdGFj
a1RyYWNlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQ0OTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBkMWRiNTJlZDNiMDdlNTgwZGU5MThkYzQ2NDI0NzU2NWZiMzVkMWExLi43
OTA5NTdiNWFkNjVkODc2MzcwYjZlMjRjMTQyMzY3NTFkZDU1ZDMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIz
IEBACiAyMDE3LTA3LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgog
CisgICAgICAgIFtKU0NdIEludHJvZHVjZSBzdGF0aWMgc3ltYm9scworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4ODYzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYWRkIGEgbmV3IGNsYXNzIFN0YXRp
Y1N5bWJvbEltcGwuIFN0YXRpY1N5bWJvbEltcGwgY2FuIG9mZmVyCisgICAgICAgIHRoZSB3YXkg
dG8gY3JlYXRlIHN0YXRpYyBTeW1ib2xJbXBsLiBJdCBjYW4gYmUgc2hhcmVkIGJldHdlZW4KKyAg
ICAgICAgbXVsdGlwbGUgVk1zIGFuZCBtdWx0aXBsZSB0aHJlYWRzLgorCisgICAgICAgICogd3Rm
L3RleHQvU3ltYm9sSW1wbC5oOgorICAgICAgICAoV1RGOjpTeW1ib2xJbXBsOjpTdGF0aWNTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsKToKKyAgICAgICAgKFdURjo6U3ltYm9sSW1wbDo6U3Rh
dGljU3ltYm9sSW1wbDo6b3BlcmF0b3IgU3ltYm9sSW1wbCYpOgorICAgICAgICBGb3IgU3RhdGlj
U3ltYm9sSW1wbCdzIGhhc2hGb3JTeW1ib2wsIHdlIHVzZSB1c3VhbCBzdHJpbmcgaGFzaCB2YWx1
ZS4KKyAgICAgICAgU2luY2UgYWxsIHRoZSBTeW1ib2xJbXBscyBhcmUgdW5pcXVlLCBiYXNpY2Fs
bHksIGFueSB2YWx1ZSBpcyBPSyBoZXJlLgorICAgICAgICBOb24tY29uZmlsaWN0aW5nIHRvIHRo
ZSBvdGhlciBTeW1ib2xJbXBscyBpcyBpZGVhbC4KKworMjAxNy0wNy0xNCAgWXVzdWtlIFN1enVr
aSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBbV1RGXSBOZXdseSBhZGRlZCBB
dG9taWNTdHJpbmdJbXBsIHNob3VsZCB1c2UgQnVmZmVySW50ZXJuYWwgc3RhdGljIHN0cmluZyBp
ZiBTdHJpbmdJbXBsIGlzIHN0YXRpYwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0NTAxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA5MzdkOTg5MjU5NmU3ZTY0MWI5MzE3NjM3NGQ0OGZhNGUwMGE1NjJhLi42ZTFmNGIwNmFh
MTAxOTRjOTRmODE3NWU1NGFhNWI0ZjZmMzMxYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0xOTksNiArMTk5LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMK
IAogICAgIGJ1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKICAgICBidWlsdGlucy9CdWls
dGluRXhlY3V0YWJsZUNyZWF0b3IuY3BwCisgICAgYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAog
CiAgICAgYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9BY2Nlc3NDYXNlU25p
cHBldFBhcmFtcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE0N2E3N2Vm
ZDcyODQzYjQ4OThkMWIyNDMzMWU4MWIyZjlhOWNkOC4uZjFiZmMxMDcxODA2MGY0ZjY0NjYwNjhi
MDFkNTFjOTI0MzlmNzI2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzODks
NiArMjM4OSw3IEBACiAJCUUzNUUwMzYwMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzNUUwMzVFMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25PYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFMzc5NEU3NTFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM3OTRFNzMxQjc3
RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmNwcCAqLzsgfTsKIAkJRTM3OTRFNzYxQjc3
RUI5NzAwNTU0M0FFIC8qIE1vZHVsZUFuYWx5emVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzc5NEU3NDFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxl
QW5hbHl6ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlFMzgwRDY2QzFGMTkyNEE4MDBBNTkwOTUgLyogQnVpbHRpbk5hbWVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzODBENjZCMUYxOTI0OUQw
MEE1OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwICovOyB9OwogCQlFMzk2M0NFRTFCNzNGNzUwMDBF
QjRDRTUgLyogTm9kZXNBbmFseXplTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOTYzQ0VDMUI3M0Y3NTAwMEVCNENFNSAvKiBOb2Rlc0Fu
YWx5emVNb2R1bGUuY3BwICovOyB9OwogCQlFMzlENDVGNTFEMzkwMDU2MDBCM0IzNzcgLyogSW50
ZXJwcmV0ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzlEOUQ4NDFEMzkwMDA2MDA2NjcyODIgLyogSW50ZXJwcmV0ZXJJbmxpbmVzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM5REE0
QTYxQjdFOEI3QzAwODRGMzNBIC8qIEpTTW9kdWxlUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzOURBNEE0MUI3RThCN0MwMDg0RjMzQSAv
KiBKU01vZHVsZVJlY29yZC5jcHAgKi87IH07CkBAIC01MDAyLDYgKzUwMDMsNyBAQAogCQlFMzc5
NEU3MzFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9kdWxlQW5hbHl6ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzc5NEU3NDFCNzdFQjk3MDA1NTQzQUUgLyogTW9kdWxlQW5hbHl6
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxlQW5hbHl6ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM4MEE3NkIxRENENzE5NTAwMEY4OUU2IC8q
IE1hY3JvQXNzZW1ibGVySGVscGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNYWNyb0Fzc2VtYmxlckhlbHBlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTM4MEQ2NkIxRjE5MjQ5RDAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCdWlsdGluTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzk2M0NFQzFCNzNGNzUwMDBFQjRDRTUgLyogTm9kZXNBbmFseXpl
TW9kdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVzQW5h
bHl6ZU1vZHVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOUQ5RDg0MUQz
OTAwMDYwMDY2NzI4MiAvKiBJbnRlcnByZXRlcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSW50ZXJwcmV0ZXJJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzOURBNEE0MUI3RThCN0MwMDg0RjMzQSAvKiBKU01vZHVsZVJlY29yZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vZHVsZVJlY29yZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03OTk1LDYgKzc5OTcsNyBAQAogCQkJCUE3
RDgwMUExMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuY3BwICovLAogCQkJ
CUE3RDgwMUEyMTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCAqLywKIAkJ
CQlBNzVFRTlCMDE4QUFCN0UyMDBBQUQwNDMgLyogQnVpbHRpbk5hbWVzLmggKi8sCisJCQkJRTM4
MEQ2NkIxRjE5MjQ5RDAwQTU5MDk1IC8qIEJ1aWx0aW5OYW1lcy5jcHAgKi8sCiAJCQkJNDFERUEx
MzExQjlGMzE1NDAwNkQ2NUREIC8qIEJ1aWx0aW5VdGlscy5oICovLAogCQkJCUExRkUxRUIwMUMy
QzUzN0UwMEEyODlGRiAvKiBEYXRlUHJvdG90eXBlLmpzICovLAogCQkJCUE3QTk3OUM0MThCRThE
OUUwMDJDMzczMyAvKiBGdW5jdGlvblByb3RvdHlwZS5qcyAqLywKQEAgLTEwNTA4LDYgKzEwNTEx
LDcgQEAKIAkJCQkyQUFDRTYzQzE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNzY2RDJGMTVBOERDRTAwMDhGMzYzRSAvKiBHQ0F3
YXJlSklUU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEMEU1RUMxRTQzRDM1
MzAwMDZBQjA4IC8qIEdDQ29uZHVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzODBENjZD
MUYxOTI0QTgwMEE1OTA5NSAvKiBCdWlsdGluTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkFERkEyNjMxOEVGMzU0MDAwNEY5RkNDIC8qIEdDTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjk3MTUzMDFFQjI4QkVCMDBBMTY0NUQgLyogR0NSZXF1ZXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTcwQjc5MTk0MUMwMjRBMjgwMDI0ODFFMiAvKiBHZW5lcmF0b3JGdW5jdGlvbkNv
bnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmQyNWFjNDk0MzhlNGFkYjZl
MmJhZWVkNzlkMWY0MjA3ZGEyNzdlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisKKyNpZiBDT01QSUxFUihNU1ZD
KQorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0MzA3KQor
I2VuZGlmCisKK25hbWVzcGFjZSBKU0MgeworbmFtZXNwYWNlIFN5bWJvbHMgeworCisjZGVmaW5l
IElOSVRJQUxJWkVfQlVJTFRJTl9TVEFUSUNfU1lNQk9MUyhuYW1lKSBTeW1ib2xJbXBsOjpTdGF0
aWNTeW1ib2xJbXBsIG5hbWUjI1N5bWJvbCB7ICJTeW1ib2wuIiAjbmFtZSB9OworSlNDX0NPTU1P
Tl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9C
VUlMVElOX1NUQVRJQ19TWU1CT0xTKQorI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9TVEFUSUNf
U1lNQk9MUworCisjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTKG5hbWUp
IFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgbmFtZSMjUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC4iICNuYW1lIH07CitKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5J
VElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCitKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVT
KQorI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCisKK1N5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIgfTsKKworfSAvLyBuYW1lc3BhY2UgU3ltYm9scworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNp
ZiBDT01QSUxFUihNU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IGI1YjdlNTYyMTBh
NGUwOTU3Yzk3OWJkMWIzNjVhMDNjMWJmNWM0NDguLmY4NTg1ZDA5N2UyMjNjN2NhYTQxOTNhOTY4
NTNkNzg3NWM5NDE2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVp
bHRpbk5hbWVzLmgKQEAgLTE3Miw2ICsxNzIsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFj
cm8oTGlua0Vycm9yKSBcCiAgICAgbWFjcm8oUnVudGltZUVycm9yKSBcCiAKK25hbWVzcGFjZSBT
eW1ib2xzIHsKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIGV4
dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIG5hbWUjI1N5bWJvbDsKK0pTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJ
TFRJTl9TVEFUSUNfU1lNQk9MUykKKyN1bmRlZiBERUNMQVJFX0JVSUxUSU5fU1RBVElDX1NZTUJP
TFMKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUyhuYW1lKSBleHRlcm4g
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNQcml2YXRlTmFtZTsKK0pTQ19GT1JF
QUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUykK
K0pTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoREVDTEFS
RV9CVUlMVElOX1BSSVZBVEVfTkFNRVMpCisjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVf
TkFNRVMKKworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2
YXRlTmFtZTsKK30KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZ
KG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV8jI25hbWUpOwogI2RlZmluZSBJTklUSUFMSVpFX1BVQkxJQ19UT19QUklWQVRFX0VO
VFJZKG5hbWUpIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChtXyMjbmFtZS5pbXBsKCksICZtXyMj
bmFtZSMjUHJpdmF0ZU5hbWUpOwpAQCAtMTkwLDExICsyMDIsMTEgQEAgY2xhc3MgQnVpbHRpbk5h
bWVzIHsKIAogICAgIEJ1aWx0aW5OYW1lcyhWTSogdm0sIENvbW1vbklkZW50aWZpZXJzKiBjb21t
b25JZGVudGlmaWVycykKICAgICAgICAgOiBtX2VtcHR5SWRlbnRpZmllcihjb21tb25JZGVudGlm
aWVycy0+ZW1wdHlJZGVudGlmaWVyKQotICAgICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNU
SU9OX05BTUUoSU5JVElBTElaRV9CVUlMVElOX05BTUVTKQotICAgICAgICBKU0NfQ09NTU9OX1BS
SVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfQlVJTFRJTl9O
QU1FUykKKyAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJ
WkVfQlVJTFRJTl9OQU1FU19JTl9KU0MpCisgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9CVUlMVElOX05BTUVTX0lOX0pT
QykKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9X
Tl9TWU1CT0woSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJW
TU5hbWUoSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQotICAgICAgICAsIG1fZG9s
bGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKFByaXZhdGVOYW1lKFByaXZhdGVO
YW1lOjpEZXNjcmlwdGlvbiwgQVNDSUlMaXRlcmFsKCJQcml2YXRlU3ltYm9sLiR2bSIpKSkpCisg
ICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZz
dGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQog
ICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJ
WkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJ
Q19FTlRSWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluVXRpbHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluVXRpbHMu
aAppbmRleCAyNmRhMjkxOWM4NjRkMzNjODAyY2Y2OGI0MjI1NzE5YjA0ZjEzNjdlLi5lY2ZlNmU1
MzA5NjFiYTJkZDNmOWZiZDVkYTY5NWNlOTI1MWI1NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpblV0aWxzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5VdGlscy5oCkBAIC0zMSwxMiArMzEsMTMgQEAKIG5hbWVz
cGFjZSBKU0MgewogCiAjZGVmaW5lIElOSVRJQUxJWkVfQlVJTFRJTl9OQU1FUyhuYW1lKSAsIG1f
IyNuYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpKSwgbV8jI25hbWUj
I1ByaXZhdGVOYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZChKU0M6OlByaXZhdGVOYW1lKEpT
Qzo6UHJpdmF0ZU5hbWU6OkRlc2NyaXB0aW9uLCBBU0NJSUxpdGVyYWwoIlByaXZhdGVTeW1ib2wu
IiAjbmFtZSkpKSkKKyNkZWZpbmUgSU5JVElBTElaRV9CVUlMVElOX05BTUVTX0lOX0pTQyhuYW1l
KSAsIG1fIyNuYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUpKSwgbV8j
I25hbWUjI1ByaXZhdGVOYW1lKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19j
YXN0PFN5bWJvbEltcGwmPihKU0M6OlN5bWJvbHM6Om5hbWUjI1ByaXZhdGVOYW1lKSkpCiAjZGVm
aW5lIERFQ0xBUkVfQlVJTFRJTl9OQU1FUyhuYW1lKSBjb25zdCBKU0M6OklkZW50aWZpZXIgbV8j
I25hbWU7IGNvbnN0IEpTQzo6SWRlbnRpZmllciBtXyMjbmFtZSMjUHJpdmF0ZU5hbWU7CiAjZGVm
aW5lIERFQ0xBUkVfQlVJTFRJTl9JREVOVElGSUVSX0FDQ0VTU09SKG5hbWUpIFwKICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIG5hbWUjI1B1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtXyMj
bmFtZTsgfSBcCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1lIyNQcml2YXRlTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fIyNuYW1lIyNQcml2YXRlTmFtZTsgfQogCi0jZGVmaW5lIElOSVRJ
QUxJWkVfQlVJTFRJTl9TWU1CT0xTKG5hbWUpICwgbV8jI25hbWUjI1N5bWJvbChKU0M6OklkZW50
aWZpZXI6OmZyb21VaWQoSlNDOjpQcml2YXRlTmFtZShKU0M6OlByaXZhdGVOYW1lOjpEZXNjcmlw
dGlvbiwgQVNDSUlMaXRlcmFsKCJTeW1ib2wuIiAjbmFtZSkpKSksIG1fIyNuYW1lIyNTeW1ib2xQ
cml2YXRlSWRlbnRpZmllcihKU0M6OklkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICNuYW1lICJT
eW1ib2wiKSkKKyNkZWZpbmUgSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMobmFtZSkgLCBtXyMj
bmFtZSMjU3ltYm9sKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5
bWJvbEltcGwmPihKU0M6OlN5bWJvbHM6Om5hbWUjI1N5bWJvbCkpKSwgbV8jI25hbWUjI1N5bWJv
bFByaXZhdGVJZGVudGlmaWVyKEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgI25hbWUg
IlN5bWJvbCIpKQogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fU1lNQk9MUyhuYW1lKSBjb25zdCBK
U0M6OklkZW50aWZpZXIgbV8jI25hbWUjI1N5bWJvbDsgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1f
IyNuYW1lIyNTeW1ib2xQcml2YXRlSWRlbnRpZmllcjsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElO
X1NZTUJPTF9BQ0NFU1NPUihuYW1lKSBcCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBuYW1l
IyNTeW1ib2woKSBjb25zdCB7IHJldHVybiBtXyMjbmFtZSMjU3ltYm9sOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJvbEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3ltYm9sSW1wbC5oCmluZGV4IDQyZjAxMjEwMGRhYjU2YTU0YTFmOTA2ZDJlNWE0YzcxNTQ1OTE2
NGMuLmM2OWRhMDE3NzY5MTliMzc2YTU1OTQwNGM5MGFlYmQ3NTdiNTI0ZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3ltYm9sSW1wbC5oCkBAIC01MSw2ICs1MSwzNSBAQCBjbGFzcyBTeW1ib2xJbXBsIDogcHVi
bGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IFJlZjxTeW1ib2xJbXBsPiBjcmVhdGVOdWxsU3ltYm9sKCk7CiAgICAgV1RGX0VYUE9SVF9TVFJJ
TkdfQVBJIHN0YXRpYyBSZWY8U3ltYm9sSW1wbD4gY3JlYXRlKFN0cmluZ0ltcGwmIHJlcCk7CiAK
KyAgICBjbGFzcyBTdGF0aWNTeW1ib2xJbXBsIDogcHJpdmF0ZSBTdHJpbmdJbXBsU2hhcGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0aWNTeW1ib2xJbXBsKTsKKyAgICBwdWJs
aWM6CisgICAgICAgIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnNDb3VudD4KKyAgICAgICAg
Y29uc3RleHByIFN0YXRpY1N5bWJvbEltcGwoY29uc3QgY2hhciAoJmNoYXJhY3RlcnMpW2NoYXJh
Y3RlcnNDb3VudF0pCisgICAgICAgICAgICA6IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50Rmxh
Z0lzU3RhdGljU3RyaW5nLCBjaGFyYWN0ZXJzQ291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAg
ICAgICAgICAgIHNfaGFzaEZsYWc4Qml0QnVmZmVyIHwgc19oYXNoRmxhZ0RpZFJlcG9ydENvc3Qg
fCBTdHJpbmdTeW1ib2wgfCBCdWZmZXJJbnRlcm5hbCB8IChTdHJpbmdIYXNoZXI6OmNvbXB1dGVM
aXRlcmFsSGFzaEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8PCBzX2ZsYWdDb3VudCksIENv
bnN0cnVjdFdpdGhDb25zdEV4cHIpCisgICAgICAgICAgICAsIG1faGFzaEZvclN5bWJvbChTdHJp
bmdIYXNoZXI6OmNvbXB1dGVMaXRlcmFsSGFzaEFuZE1hc2tUb3A4Qml0cyhjaGFyYWN0ZXJzKSA8
PCBzX2ZsYWdDb3VudCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8
dW5zaWduZWQgY2hhcmFjdGVyc0NvdW50PgorICAgICAgICBjb25zdGV4cHIgU3RhdGljU3ltYm9s
SW1wbChjb25zdCBjaGFyMTZfdCAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0pCisgICAg
ICAgICAgICA6IFN0cmluZ0ltcGxTaGFwZShzX3JlZkNvdW50RmxhZ0lzU3RhdGljU3RyaW5nLCBj
aGFyYWN0ZXJzQ291bnQgLSAxLCBjaGFyYWN0ZXJzLAorICAgICAgICAgICAgICAgIHNfaGFzaEZs
YWdEaWRSZXBvcnRDb3N0IHwgU3RyaW5nU3ltYm9sIHwgQnVmZmVySW50ZXJuYWwgfCAoU3RyaW5n
SGFzaGVyOjpjb21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJpdHMoY2hhcmFjdGVycykgPDwg
c19mbGFnQ291bnQpLCBDb25zdHJ1Y3RXaXRoQ29uc3RFeHByKQorICAgICAgICAgICAgLCBtX2hh
c2hGb3JTeW1ib2woU3RyaW5nSGFzaGVyOjpjb21wdXRlTGl0ZXJhbEhhc2hBbmRNYXNrVG9wOEJp
dHMoY2hhcmFjdGVycykgPDwgc19mbGFnQ291bnQpCisgICAgICAgIHsKKyAgICAgICAgfQorCisg
ICAgICAgIG9wZXJhdG9yIFN5bWJvbEltcGwmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0
dXJuICpyZWludGVycHJldF9jYXN0PFN5bWJvbEltcGwqPih0aGlzKTsKKyAgICAgICAgfQorCisg
ICAgICAgIFN0cmluZ0ltcGwqIG1fb3duZXIgeyBudWxscHRyIH07IC8vIFdlIGRvIG5vdCBtYWtl
IFN0YXRpY1N5bWJvbEltcGwgQnVmZmVyU3Vic3RyaW5nLiBUaHVzIHdlIGNhbiBtYWtlIHRoaXMg
bnVsbHB0ci4KKyAgICAgICAgdW5zaWduZWQgbV9oYXNoRm9yU3ltYm9sOworICAgICAgICBGbGFn
cyBtX2ZsYWdzIHsgc19mbGFnRGVmYXVsdCB9OworICAgIH07CisKIHByb3RlY3RlZDoKICAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVuc2lnbmVkIG5leHRIYXNoRm9yU3ltYm9sKCk7CiAK
QEAgLTg5LDYgKzExOCw3IEBAIGNsYXNzIFN5bWJvbEltcGwgOiBwdWJsaWMgVW5pcXVlZFN0cmlu
Z0ltcGwgewogICAgIHVuc2lnbmVkIG1faGFzaEZvclN5bWJvbDsKICAgICBGbGFncyBtX2ZsYWdz
IHsgc19mbGFnRGVmYXVsdCB9OwogfTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFN5bWJvbEltcGwp
ID09IHNpemVvZihTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsKSwgIiIpOwogCiBjbGFzcyBS
ZWdpc3RlcmVkU3ltYm9sSW1wbCA6IHB1YmxpYyBTeW1ib2xJbXBsIHsKIHByaXZhdGU6Cg==
</data>
<flag name="review"
          id="336300"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>