<?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>216760</bug_id>
          
          <creation_ts>2020-09-20 22:09:02 -0700</creation_ts>
          <short_desc>[JSC] Intl spec update: handle awkward rounding behavior</short_desc>
          <delta_ts>2020-09-23 14:27:19 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213425</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690250</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-20 22:09:02 -0700</bug_when>
    <thetext>https://github.com/tc39/ecma402/pull/471</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690251</commentid>
    <comment_count>1</comment_count>
      <attachid>409260</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-20 22:45:36 -0700</bug_when>
    <thetext>Created attachment 409260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690252</commentid>
    <comment_count>2</comment_count>
      <attachid>409261</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-20 22:51:35 -0700</bug_when>
    <thetext>Created attachment 409261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691211</commentid>
    <comment_count>3</comment_count>
      <attachid>409494</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-23 12:04:16 -0700</bug_when>
    <thetext>Created attachment 409494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691212</commentid>
    <comment_count>4</comment_count>
      <attachid>409494</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-23 12:04:30 -0700</bug_when>
    <thetext>Comment on attachment 409494
Patch

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

&gt; JSTests/test262/expectations.yaml:1475
&gt; +  strict mode: &apos;Test262Error: Expected a RangeError to be thrown but no exception was thrown at all&apos;

Test262 update https://github.com/tc39/test262/pull/2817</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691216</commentid>
    <comment_count>5</comment_count>
      <attachid>409494</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-09-23 12:09:12 -0700</bug_when>
    <thetext>Comment on attachment 409494
Patch

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

r=me, based on the understanding that test262 will be fixed soon.

&gt; JSTests/stress/intl-numberformat.js:464
&gt; +    let nf = new Intl.NumberFormat(&apos;en&apos;, {

I&apos;d be inclined to ask for a test using a different locale but I guess this issue is more about options than locale anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691257</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-23 14:26:14 -0700</bug_when>
    <thetext>Committed r267500: &lt;https://trac.webkit.org/changeset/267500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691258</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-23 14:27:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/69457838&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409260</attachid>
            <date>2020-09-20 22:45:36 -0700</date>
            <delta_ts>2020-09-20 22:51:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216760-20200920224535.patch</filename>
            <type>text/plain</type>
            <size>14451</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi5hNmVmZjRlMTI0NTNmMTQx
OTFlODcwMGZlYjA3NzI2ZGIxYjIyZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wOS0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludGwgc3BlYyB1cGRhdGU6IGhhbmRsZSBhd2t3YXJkIHJvdW5k
aW5nIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY3NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIHN1cHBvcnRzIG5ldyBzcGVjIGNoYW5nZSBvZiAiaGFuZGxlIGF3a3dh
cmQgcm91bmRpbmcgYmVoYXZpb3IiWzFdLgorICAgICAgICBUaGlzIGNoYW5nZXMgbWluaW11bUZy
YWN0aW9uRGlnaXRzIC8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIGNhbGN1bGF0aW9uIHdoZW4gdGhl
IHNwZWNpZmllZCBvbmVzIGFyZSBsZXNzIHRoYW4gY3VycmVuY3ktZGlnaXRzLgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvZWNtYTQwMi9wdWxsLzQ3MQorCisgICAgICAg
ICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51
bWJlckZvcm1hdC5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OnJlc29sdmVk
T3B0aW9ucyBjb25zdCk6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMpOgorICAgICAg
ICAqIHJ1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJh
bFJ1bGVzOjpyZXNvbHZlZE9wdGlvbnMgY29uc3QpOgorCiAyMDIwLTA5LTIwICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRHJvcCBPcHRpb25zOjp1
c2VCaWdJbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCmluZGV4IDc2YTljNjQxNGVhOWQ4NDA2NTk4ZDU0NDBlYWJjYTA0ZmQ0NzE3OWYu
LmYzNDBlYmRmODRiZDZjMDk4NmExM2I4NzdhMjA4MjIwMzEwMGVlODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMTUzLDcg
KzE1MywxMiBAQAogICAgIG1hY3JvKGxpbmUpIFwKICAgICBtYWNybyhsb2NhbGUpIFwKICAgICBt
YWNybyhsb2NhbGVNYXRjaGVyKSBcCisgICAgbWFjcm8obWF4aW11bUZyYWN0aW9uRGlnaXRzKSBc
CisgICAgbWFjcm8obWF4aW11bVNpZ25pZmljYW50RGlnaXRzKSBcCiAgICAgbWFjcm8obWVzc2Fn
ZSkgXAorICAgIG1hY3JvKG1pbmltdW1GcmFjdGlvbkRpZ2l0cykgXAorICAgIG1hY3JvKG1pbmlt
dW1JbnRlZ2VyRGlnaXRzKSBcCisgICAgbWFjcm8obWluaW11bVNpZ25pZmljYW50RGlnaXRzKSBc
CiAgICAgbWFjcm8obWludXRlKSBcCiAgICAgbWFjcm8obW9udGgpIFwKICAgICBtYWNybyhtdWx0
aWxpbmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxO
dW1iZXJGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdC5jcHAKaW5kZXggNDdjMDBiMjExZTU5ZTA4MWQ4Y2JiYzc5ZGI0ZDU5YTg4ZjkwMWVh
My4uMWZmMGI4MGVkMzUyZjFhNzA4ZmFhYWNjNWU1ZDJjODY0OWI0NDA2YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTgx
MCwxNSArODEwLDE1IEBAIEpTT2JqZWN0KiBJbnRsTnVtYmVyRm9ybWF0OjpyZXNvbHZlZE9wdGlv
bnMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKICAgICAgICAgb3B0aW9ucy0+
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidW5pdERpc3BsYXkiKSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCB1bml0RGlzcGxheVN0cmluZyhtX3VuaXREaXNwbGF5KSkp
OwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUludGVnZXJEaWdpdHMiKSwganNOdW1iZXIo
bV9taW5pbXVtSW50ZWdlckRpZ2l0cykpOworICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bWluaW11bUludGVnZXJEaWdpdHMsIGpzTnVtYmVyKG1fbWluaW11bUlu
dGVnZXJEaWdpdHMpKTsKICAgICBzd2l0Y2ggKG1fcm91bmRpbmdUeXBlKSB7CiAgICAgY2FzZSBJ
bnRsUm91bmRpbmdUeXBlOjpGcmFjdGlvbkRpZ2l0czoKLSAgICAgICAgb3B0aW9ucy0+cHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUZyYWN0aW9uRGlnaXRz
IiksIGpzTnVtYmVyKG1fbWluaW11bUZyYWN0aW9uRGlnaXRzKSk7Ci0gICAgICAgIG9wdGlvbnMt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1GcmFjdGlv
bkRpZ2l0cyIpLCBqc051bWJlcihtX21heGltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBv
cHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1GcmFjdGlvbkRp
Z2l0cywganNOdW1iZXIobV9taW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsKKyAgICAgICAgb3B0aW9u
cy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVtRnJhY3Rpb25EaWdpdHMs
IGpzTnVtYmVyKG1fbWF4aW11bUZyYWN0aW9uRGlnaXRzKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgSW50bFJvdW5kaW5nVHlwZTo6U2lnbmlmaWNhbnREaWdpdHM6Ci0gICAgICAgIG9wdGlv
bnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1pbmltdW1TaWdu
aWZpY2FudERpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1TaWduaWZpY2FudERpZ2l0cykpOwot
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwganNOdW1iZXIobV9tYXhpbXVtU2lnbmlmaWNh
bnREaWdpdHMpKTsKKyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIGpzTnVtYmVyKG1fbWluaW11bVNpZ25pZmlj
YW50RGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bWF4aW11bVNpZ25pZmljYW50RGlnaXRzLCBqc051bWJlcihtX21heGltdW1TaWduaWZp
Y2FudERpZ2l0cykpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEludGxSb3VuZGluZ1R5cGU6
OkNvbXBhY3RSb3VuZGluZzoKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdElubGluZXMuaAppbmRleCAwOGEy
YTRlNDFlMTM3YWE3OGVmYjI2YTY0MzA5Mzc5ODA2MjBjMmI3Li5lZDViMDM4ODY3NDYxODlhY2Fk
ODYxNTQ2YzQ3YjNhODcyZTg3MTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRJbmxpbmVzLmgKQEAgLTM4LDI4ICszOCwyOCBA
QCB2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBJbnRsVHlwZSogaW50bElucwogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICB1bnNp
Z25lZCBtaW5pbXVtSW50ZWdlckRpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0
LCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUludGVnZXJEaWdp
dHMiKSwgMSwgMjEsIDEpOworICAgIHVuc2lnbmVkIG1pbmltdW1JbnRlZ2VyRGlnaXRzID0gaW50
bE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPm1p
bmltdW1JbnRlZ2VyRGlnaXRzLCAxLCAyMSwgMSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgdm9pZCgpKTsKIAotICAgIEpTVmFsdWUgbWluaW11bUZyYWN0aW9uRGlnaXRzVmFsdWUg
PSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAi
bWluaW11bUZyYWN0aW9uRGlnaXRzIikpOworICAgIEpTVmFsdWUgbWluaW11bUZyYWN0aW9uRGln
aXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5t
aW5pbXVtRnJhY3Rpb25EaWdpdHMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZv
aWQoKSk7CiAKLSAgICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0gb3B0aW9u
cy0+Z2V0KGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1G
cmFjdGlvbkRpZ2l0cyIpKTsKKyAgICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVl
ID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bUZy
YWN0aW9uRGlnaXRzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
Ci0gICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdl
dChnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtaW5pbXVtU2lnbmlm
aWNhbnREaWdpdHMiKSk7CisgICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1
ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgp
KTsKIAotICAgIEpTVmFsdWUgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUgPSBvcHRpb25z
LT5nZXQoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bVNp
Z25pZmljYW50RGlnaXRzIikpOworICAgIEpTVmFsdWUgbWF4aW11bVNpZ25pZmljYW50RGlnaXRz
VmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhp
bXVtU2lnbmlmaWNhbnREaWdpdHMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZv
aWQoKSk7CiAKICAgICBpbnRsSW5zdGFuY2UtPm1fbWluaW11bUludGVnZXJEaWdpdHMgPSBtaW5p
bXVtSW50ZWdlckRpZ2l0czsKIAogICAgIGlmICghbWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFs
dWUuaXNVbmRlZmluZWQoKSB8fCAhbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUuaXNVbmRl
ZmluZWQoKSkgewogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fcm91bmRpbmdUeXBlID0gSW50bFJv
dW5kaW5nVHlwZTo6U2lnbmlmaWNhbnREaWdpdHM7Ci0gICAgICAgIHVuc2lnbmVkIG1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICJtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgMSwgMjEsIDEpOworICAgICAgICB1bnNpZ25l
ZCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJlck9wdGlvbihnbG9i
YWxPYmplY3QsIG1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLCB2bS5wcm9wZXJ0eU5hbWVz
LT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIDEsIDIxLCAxKTsKICAgICAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgdW5zaWduZWQgbWF4aW11bVNpZ25p
ZmljYW50RGlnaXRzID0gaW50bERlZmF1bHROdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCBtYXhp
bXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1h
eGltdW1TaWduaWZpY2FudERpZ2l0cyIpLCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIDIxLCAy
MSk7CisgICAgICAgIHVuc2lnbmVkIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyA9IGludGxEZWZh
dWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFs
dWUsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1TaWduaWZpY2FudERpZ2l0cywgbWluaW11bVNp
Z25pZmljYW50RGlnaXRzLCAyMSwgMjEpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fbWluaW11bVNpZ25pZmljYW50
RGlnaXRzID0gbWluaW11bVNpZ25pZmljYW50RGlnaXRzOwogICAgICAgICBpbnRsSW5zdGFuY2Ut
Pm1fbWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gbWF4aW11bVNpZ25pZmljYW50RGlnaXRzOwpA
QCAtNjcsMTIgKzY3LDIyIEBAIHZvaWQgc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEludGxUeXBlKiBpbnRsSW5zCiAgICAgfQogCiAgICAg
aWYgKCFtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZS5pc1VuZGVmaW5lZCgpIHx8ICFtYXhpbXVt
RnJhY3Rpb25EaWdpdHNWYWx1ZS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGNvbnN0ZXhwciB1
bnNpZ25lZCB1bmRlZmluZWRWYWx1ZSA9IFVJTlQzMl9NQVg7CiAgICAgICAgIGludGxJbnN0YW5j
ZS0+bV9yb3VuZGluZ1R5cGUgPSBJbnRsUm91bmRpbmdUeXBlOjpGcmFjdGlvbkRpZ2l0czsKLSAg
ICAgICAgdW5zaWduZWQgbWluaW11bUZyYWN0aW9uRGlnaXRzID0gaW50bERlZmF1bHROdW1iZXJP
cHRpb24oZ2xvYmFsT2JqZWN0LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIpLCAwLCAyMCwgbWluaW11
bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCk7CisgICAgICAgIHVuc2lnbmVkIHNwZWNpZmllZE1pbmlt
dW1GcmFjdGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWluaW11bUZyYWN0aW9uRGlnaXRzVmFsdWUsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1GcmFj
dGlvbkRpZ2l0cywgMCwgMjAsIHVuZGVmaW5lZFZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9u
RGlnaXRzQWN0dWFsRGVmYXVsdCA9IHN0ZDo6bWF4KG1pbmltdW1GcmFjdGlvbkRpZ2l0cywgbWF4
aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCk7Ci0gICAgICAgIHVuc2lnbmVkIG1heGltdW1GcmFj
dGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWF4aW11
bUZyYWN0aW9uRGlnaXRzVmFsdWUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtYXhpbXVt
RnJhY3Rpb25EaWdpdHMiKSwgbWluaW11bUZyYWN0aW9uRGlnaXRzLCAyMCwgbWF4aW11bUZyYWN0
aW9uRGlnaXRzQWN0dWFsRGVmYXVsdCk7CisgICAgICAgIHVuc2lnbmVkIHNwZWNpZmllZE1heGlt
dW1GcmFjdGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWF4aW11bUZyYWN0aW9uRGlnaXRzVmFsdWUsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFj
dGlvbkRpZ2l0cywgMCwgMjAsIHVuZGVmaW5lZFZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgaWYgKHNwZWNpZmllZE1heGltdW1GcmFj
dGlvbkRpZ2l0cyAhPSB1bmRlZmluZWRWYWx1ZSkKKyAgICAgICAgICAgIG1pbmltdW1GcmFjdGlv
bkRpZ2l0c0RlZmF1bHQgPSBzdGQ6Om1pbihtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBz
cGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdpdHMpOworICAgICAgICB1bnNpZ25lZCBtaW5pbXVt
RnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIChz
cGVjaWZpZWRNaW5pbXVtRnJhY3Rpb25EaWdpdHMgPT0gdW5kZWZpbmVkVmFsdWUpID8ganNVbmRl
ZmluZWQoKSA6IGpzTnVtYmVyKHNwZWNpZmllZE1pbmltdW1GcmFjdGlvbkRpZ2l0cyksIHZtLnBy
b3BlcnR5TmFtZXMtPm1pbmltdW1GcmFjdGlvbkRpZ2l0cywgMCwgMjAsIG1pbmltdW1GcmFjdGlv
bkRpZ2l0c0RlZmF1bHQpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOworICAgICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVs
dE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIChzcGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdp
dHMgPT0gdW5kZWZpbmVkVmFsdWUpID8ganNVbmRlZmluZWQoKSA6IGpzTnVtYmVyKHNwZWNpZmll
ZE1heGltdW1GcmFjdGlvbkRpZ2l0cyksIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlv
bkRpZ2l0cywgMCwgMjAsIHN0ZDo6bWF4KG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIG1p
bmltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOworICAgICAgICBpZiAobWluaW11bUZyYWN0aW9uRGlnaXRzID4gbWF4aW11bUZy
YWN0aW9uRGlnaXRzKSB7CisgICAgICAgICAgICB0aHJvd1JhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0
LCBzY29wZSwgIkNvbXB1dGVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0cyBpcyBsYXJnZXIgdGhhbiBt
YXhpbXVtRnJhY3Rpb25EaWdpdHMiX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAgICAgICAgIGludGxJbnN0YW5jZS0+bV9taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBtaW5pbXVt
RnJhY3Rpb25EaWdpdHM7CiAgICAgICAgIGludGxJbnN0YW5jZS0+bV9tYXhpbXVtRnJhY3Rpb25E
aWdpdHMgPSBtYXhpbXVtRnJhY3Rpb25EaWdpdHM7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwCmluZGV4IDll
MDM1NTYzMzQ4YTM0ZGU3ZmNlNmNiOGM3NGViNmVlNTcxYzUyN2EuLjk1N2E4MWU5ZmIyMmE1N2U3
ODAzYWYyYjBmZDJjNGVlOGNkNTNiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcApAQCAtMTUxLDE1ICsxNTEsMTUgQEAgSlNPYmpl
Y3QqIEludGxQbHVyYWxSdWxlczo6cmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpIGNvbnN0CiAgICAgSlNPYmplY3QqIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9i
amVjdChnbG9iYWxPYmplY3QpOwogICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bG9jYWxlLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sIG1fbG9jYWxlKSk7CiAgICAg
b3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50eXBlLCBqc05vbnRyaXZp
YWxTdHJpbmcodm0sIG1fdHlwZSA9PSBUeXBlOjpPcmRpbmFsID8gIm9yZGluYWwiX3MgOiAiY2Fy
ZGluYWwiX3MpKTsKLSAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sICJtaW5pbXVtSW50ZWdlckRpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1JbnRl
Z2VyRGlnaXRzKSk7CisgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5taW5pbXVtSW50ZWdlckRpZ2l0cywganNOdW1iZXIobV9taW5pbXVtSW50ZWdlckRpZ2l0cykp
OwogICAgIHN3aXRjaCAobV9yb3VuZGluZ1R5cGUpIHsKICAgICBjYXNlIEludGxSb3VuZGluZ1R5
cGU6OkZyYWN0aW9uRGlnaXRzOgotICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiKSwganNOdW1iZXIo
bV9taW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsKLSAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bUZyYWN0aW9uRGlnaXRzIiksIGpz
TnVtYmVyKG1fbWF4aW11bUZyYWN0aW9uRGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bUZyYWN0aW9uRGlnaXRzLCBqc051bWJl
cihtX21pbmltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlvbkRpZ2l0cywganNOdW1iZXIobV9t
YXhpbXVtRnJhY3Rpb25EaWdpdHMpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJbnRsUm91
bmRpbmdUeXBlOjpTaWduaWZpY2FudERpZ2l0czoKLSAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRz
IiksIGpzTnVtYmVyKG1fbWluaW11bVNpZ25pZmljYW50RGlnaXRzKSk7Ci0gICAgICAgIG9wdGlv
bnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1TaWdu
aWZpY2FudERpZ2l0cyIpLCBqc051bWJlcihtX21heGltdW1TaWduaWZpY2FudERpZ2l0cykpOwor
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1T
aWduaWZpY2FudERpZ2l0cywganNOdW1iZXIobV9taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMpKTsK
KyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHMsIGpzTnVtYmVyKG1fbWF4aW11bVNpZ25pZmljYW50RGlnaXRzKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDNkMDc2ZjJjYzYxYTBmOGNhNjY0ODYwMzdlYTY1MDJmZTNlYjU4M2IuLjQ0
MWM0NTYwMGYwNTA3NGYyNmYzYzI4ZGYzYTAxMjYwZDc0NDZiZGMgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDktMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBb
SlNDXSBJbnRsIHNwZWMgdXBkYXRlOiBoYW5kbGUgYXdrd2FyZCByb3VuZGluZyBiZWhhdmlvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NzYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mv
aW50bC1udW1iZXJmb3JtYXQuanM6CisKIDIwMjAtMDktMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0MjYyIHVwZGF0ZQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3MvaW50bC1udW1iZXJmb3JtYXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9pbnRsLW51
bWJlcmZvcm1hdC5qcwppbmRleCA1NmM1Nzc0MTc2NDVmNGNiYmI4ZDExNmNkMTVjMjM2NzRlZWQw
OWY5Li44NjZjYWM3MTdkYWIzNGEyMzg5MGE1MjIwZWY0ODljM2VmMDhmMDJiIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3N0cmVzcy9pbnRsLW51bWJlcmZvcm1hdC5qcworKysgYi9KU1Rlc3RzL3N0cmVz
cy9pbnRsLW51bWJlcmZvcm1hdC5qcwpAQCAtNDU5LDMgKzQ1OSw1MSBAQCBmdW5jdGlvbiB0ZXN0
TnVtYmVyRm9ybWF0KG51bWJlckZvcm1hdCwgcG9zc2libGVEaWZmZXJlbmNlcykgewogc2hvdWxk
QmUoSW50bC5OdW1iZXJGb3JtYXQoJ2FyJykuZm9ybWF0KDEyMzQ1Njc4OW4pLCAn2aHZotmj2azZ
pNml2abZrNmn2ajZqScpOwogc2hvdWxkQmUoSW50bC5OdW1iZXJGb3JtYXQoJ3poLUhhbnMtQ04t
dS1udS1oYW5pZGVjJykuZm9ybWF0KDEyMzQ1Njc4OW4pLCAn5LiA5LqM5LiJLOWbm+S6lOWFrSzk
uIPlhavkuZ0nKTsKIHNob3VsZEJlKEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsgbWF4aW11bVNp
Z25pZmljYW50RGlnaXRzOiAzIH0pLmZvcm1hdCgxMjM0NTZuKSwgJzEyMywwMDAnKTsKKworewor
ICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZW4nLCB7CisgICAgICAgIHN0eWxl
OiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgIG1heGltdW1G
cmFjdGlvbkRpZ2l0czogMQorICAgIH0pOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9u
cygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMSk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRP
cHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAxKTsKKyAgICBzaG91bGRCZShuZi5mb3Jt
YXQoMzAuMzMzMzMzMzMzMzMzKSwgYCQzMC4zYCk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMw
LjM1KSwgYCQzMC40YCk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMwKSwgYCQzMC4wYCk7Cit9
Cit7CisgICAgbGV0IG5mID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsKKyAgICAgICAg
c3R5bGU6ICdjdXJyZW5jeScsCisgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgbWF4
aW11bUZyYWN0aW9uRGlnaXRzOiAwCisgICAgfSk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRP
cHRpb25zKCkubWF4aW11bUZyYWN0aW9uRGlnaXRzLCAwKTsKKyAgICBzaG91bGRCZShuZi5yZXNv
bHZlZE9wdGlvbnMoKS5taW5pbXVtRnJhY3Rpb25EaWdpdHMsIDApOworICAgIHNob3VsZEJlKG5m
LmZvcm1hdCgzMC4zKSwgYCQzMGApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMC41KSwgYCQz
MWApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMCksIGAkMzBgKTsKK30KK3sKKyAgICBsZXQg
bmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuJywgeworICAgICAgICBzdHlsZTogJ2N1cnJl
bmN5JywKKyAgICAgICAgY3VycmVuY3k6ICdDTEYnLAorICAgICAgICBtYXhpbXVtRnJhY3Rpb25E
aWdpdHM6IDMKKyAgICB9KTsKKyAgICBzaG91bGRCZShuZi5yZXNvbHZlZE9wdGlvbnMoKS5tYXhp
bXVtRnJhY3Rpb25EaWdpdHMsIDMpOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9ucygp
Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cywgMyk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMwLjMz
MzMzMzMzMzMzMyksIGBDTEbCoDMwLjMzM2ApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMCks
IGBDTEbCoDMwLjAwMGApOworfQoreworICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1h
dCgnZW4nLCB7CisgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTog
J0NMRicsCisgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMAorICAgIH0pOworICAgIHNo
b3VsZEJlKG5mLnJlc29sdmVkT3B0aW9ucygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMCk7Cisg
ICAgc2hvdWxkQmUobmYucmVzb2x2ZWRPcHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAw
KTsKKyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzAuMzMzMzMzMzMzMzMzKSwgYENMRsKgMzBgKTsK
KyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzAuNSksIGBDTEbCoDMxYCk7CisgICAgc2hvdWxkQmUo
bmYuZm9ybWF0KDMwKSwgYENMRsKgMzBgKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409261</attachid>
            <date>2020-09-20 22:51:35 -0700</date>
            <delta_ts>2020-09-23 12:04:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216760-20200920225135.patch</filename>
            <type>text/plain</type>
            <size>14667</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2FmMDRhZDM3ZWNlYWI4ZTNlNzY3MmEyOTJmZjdiMGE3M2I0NTJlLi5hNmVmZjRlMTI0NTNmMTQx
OTFlODcwMGZlYjA3NzI2ZGIxYjIyZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wOS0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludGwgc3BlYyB1cGRhdGU6IGhhbmRsZSBhd2t3YXJkIHJvdW5k
aW5nIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY3NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIHN1cHBvcnRzIG5ldyBzcGVjIGNoYW5nZSBvZiAiaGFuZGxlIGF3a3dh
cmQgcm91bmRpbmcgYmVoYXZpb3IiWzFdLgorICAgICAgICBUaGlzIGNoYW5nZXMgbWluaW11bUZy
YWN0aW9uRGlnaXRzIC8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIGNhbGN1bGF0aW9uIHdoZW4gdGhl
IHNwZWNpZmllZCBvbmVzIGFyZSBsZXNzIHRoYW4gY3VycmVuY3ktZGlnaXRzLgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvZWNtYTQwMi9wdWxsLzQ3MQorCisgICAgICAg
ICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51
bWJlckZvcm1hdC5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OnJlc29sdmVk
T3B0aW9ucyBjb25zdCk6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMpOgorICAgICAg
ICAqIHJ1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJh
bFJ1bGVzOjpyZXNvbHZlZE9wdGlvbnMgY29uc3QpOgorCiAyMDIwLTA5LTIwICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRHJvcCBPcHRpb25zOjp1
c2VCaWdJbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCmluZGV4IDc2YTljNjQxNGVhOWQ4NDA2NTk4ZDU0NDBlYWJjYTA0ZmQ0NzE3OWYu
LmYzNDBlYmRmODRiZDZjMDk4NmExM2I4NzdhMjA4MjIwMzEwMGVlODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMTUzLDcg
KzE1MywxMiBAQAogICAgIG1hY3JvKGxpbmUpIFwKICAgICBtYWNybyhsb2NhbGUpIFwKICAgICBt
YWNybyhsb2NhbGVNYXRjaGVyKSBcCisgICAgbWFjcm8obWF4aW11bUZyYWN0aW9uRGlnaXRzKSBc
CisgICAgbWFjcm8obWF4aW11bVNpZ25pZmljYW50RGlnaXRzKSBcCiAgICAgbWFjcm8obWVzc2Fn
ZSkgXAorICAgIG1hY3JvKG1pbmltdW1GcmFjdGlvbkRpZ2l0cykgXAorICAgIG1hY3JvKG1pbmlt
dW1JbnRlZ2VyRGlnaXRzKSBcCisgICAgbWFjcm8obWluaW11bVNpZ25pZmljYW50RGlnaXRzKSBc
CiAgICAgbWFjcm8obWludXRlKSBcCiAgICAgbWFjcm8obW9udGgpIFwKICAgICBtYWNybyhtdWx0
aWxpbmUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxO
dW1iZXJGb3JtYXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdC5jcHAKaW5kZXggNDdjMDBiMjExZTU5ZTA4MWQ4Y2JiYzc5ZGI0ZDU5YTg4ZjkwMWVh
My4uMWZmMGI4MGVkMzUyZjFhNzA4ZmFhYWNjNWU1ZDJjODY0OWI0NDA2YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTgx
MCwxNSArODEwLDE1IEBAIEpTT2JqZWN0KiBJbnRsTnVtYmVyRm9ybWF0OjpyZXNvbHZlZE9wdGlv
bnMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKICAgICAgICAgb3B0aW9ucy0+
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAidW5pdERpc3BsYXkiKSwg
anNOb250cml2aWFsU3RyaW5nKHZtLCB1bml0RGlzcGxheVN0cmluZyhtX3VuaXREaXNwbGF5KSkp
OwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUludGVnZXJEaWdpdHMiKSwganNOdW1iZXIo
bV9taW5pbXVtSW50ZWdlckRpZ2l0cykpOworICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bWluaW11bUludGVnZXJEaWdpdHMsIGpzTnVtYmVyKG1fbWluaW11bUlu
dGVnZXJEaWdpdHMpKTsKICAgICBzd2l0Y2ggKG1fcm91bmRpbmdUeXBlKSB7CiAgICAgY2FzZSBJ
bnRsUm91bmRpbmdUeXBlOjpGcmFjdGlvbkRpZ2l0czoKLSAgICAgICAgb3B0aW9ucy0+cHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUZyYWN0aW9uRGlnaXRz
IiksIGpzTnVtYmVyKG1fbWluaW11bUZyYWN0aW9uRGlnaXRzKSk7Ci0gICAgICAgIG9wdGlvbnMt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1GcmFjdGlv
bkRpZ2l0cyIpLCBqc051bWJlcihtX21heGltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBv
cHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1GcmFjdGlvbkRp
Z2l0cywganNOdW1iZXIobV9taW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsKKyAgICAgICAgb3B0aW9u
cy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVtRnJhY3Rpb25EaWdpdHMs
IGpzTnVtYmVyKG1fbWF4aW11bUZyYWN0aW9uRGlnaXRzKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgSW50bFJvdW5kaW5nVHlwZTo6U2lnbmlmaWNhbnREaWdpdHM6Ci0gICAgICAgIG9wdGlv
bnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1pbmltdW1TaWdu
aWZpY2FudERpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1TaWduaWZpY2FudERpZ2l0cykpOwot
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwganNOdW1iZXIobV9tYXhpbXVtU2lnbmlmaWNh
bnREaWdpdHMpKTsKKyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIGpzTnVtYmVyKG1fbWluaW11bVNpZ25pZmlj
YW50RGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bWF4aW11bVNpZ25pZmljYW50RGlnaXRzLCBqc051bWJlcihtX21heGltdW1TaWduaWZp
Y2FudERpZ2l0cykpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEludGxSb3VuZGluZ1R5cGU6
OkNvbXBhY3RSb3VuZGluZzoKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdElubGluZXMuaAppbmRleCAwOGEy
YTRlNDFlMTM3YWE3OGVmYjI2YTY0MzA5Mzc5ODA2MjBjMmI3Li5lZDViMDM4ODY3NDYxODlhY2Fk
ODYxNTQ2YzQ3YjNhODcyZTg3MTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRJbmxpbmVzLmgKQEAgLTM4LDI4ICszOCwyOCBA
QCB2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBJbnRsVHlwZSogaW50bElucwogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICB1bnNp
Z25lZCBtaW5pbXVtSW50ZWdlckRpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0
LCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUludGVnZXJEaWdp
dHMiKSwgMSwgMjEsIDEpOworICAgIHVuc2lnbmVkIG1pbmltdW1JbnRlZ2VyRGlnaXRzID0gaW50
bE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPm1p
bmltdW1JbnRlZ2VyRGlnaXRzLCAxLCAyMSwgMSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgdm9pZCgpKTsKIAotICAgIEpTVmFsdWUgbWluaW11bUZyYWN0aW9uRGlnaXRzVmFsdWUg
PSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAi
bWluaW11bUZyYWN0aW9uRGlnaXRzIikpOworICAgIEpTVmFsdWUgbWluaW11bUZyYWN0aW9uRGln
aXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5t
aW5pbXVtRnJhY3Rpb25EaWdpdHMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZv
aWQoKSk7CiAKLSAgICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0gb3B0aW9u
cy0+Z2V0KGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1G
cmFjdGlvbkRpZ2l0cyIpKTsKKyAgICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVl
ID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bUZy
YWN0aW9uRGlnaXRzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
Ci0gICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdl
dChnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtaW5pbXVtU2lnbmlm
aWNhbnREaWdpdHMiKSk7CisgICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1
ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgp
KTsKIAotICAgIEpTVmFsdWUgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUgPSBvcHRpb25z
LT5nZXQoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bVNp
Z25pZmljYW50RGlnaXRzIikpOworICAgIEpTVmFsdWUgbWF4aW11bVNpZ25pZmljYW50RGlnaXRz
VmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhp
bXVtU2lnbmlmaWNhbnREaWdpdHMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZv
aWQoKSk7CiAKICAgICBpbnRsSW5zdGFuY2UtPm1fbWluaW11bUludGVnZXJEaWdpdHMgPSBtaW5p
bXVtSW50ZWdlckRpZ2l0czsKIAogICAgIGlmICghbWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFs
dWUuaXNVbmRlZmluZWQoKSB8fCAhbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUuaXNVbmRl
ZmluZWQoKSkgewogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fcm91bmRpbmdUeXBlID0gSW50bFJv
dW5kaW5nVHlwZTo6U2lnbmlmaWNhbnREaWdpdHM7Ci0gICAgICAgIHVuc2lnbmVkIG1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICJtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgMSwgMjEsIDEpOworICAgICAgICB1bnNpZ25l
ZCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJlck9wdGlvbihnbG9i
YWxPYmplY3QsIG1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLCB2bS5wcm9wZXJ0eU5hbWVz
LT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIDEsIDIxLCAxKTsKICAgICAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgdW5zaWduZWQgbWF4aW11bVNpZ25p
ZmljYW50RGlnaXRzID0gaW50bERlZmF1bHROdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCBtYXhp
bXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1h
eGltdW1TaWduaWZpY2FudERpZ2l0cyIpLCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIDIxLCAy
MSk7CisgICAgICAgIHVuc2lnbmVkIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyA9IGludGxEZWZh
dWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFs
dWUsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1TaWduaWZpY2FudERpZ2l0cywgbWluaW11bVNp
Z25pZmljYW50RGlnaXRzLCAyMSwgMjEpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fbWluaW11bVNpZ25pZmljYW50
RGlnaXRzID0gbWluaW11bVNpZ25pZmljYW50RGlnaXRzOwogICAgICAgICBpbnRsSW5zdGFuY2Ut
Pm1fbWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gbWF4aW11bVNpZ25pZmljYW50RGlnaXRzOwpA
QCAtNjcsMTIgKzY3LDIyIEBAIHZvaWQgc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEludGxUeXBlKiBpbnRsSW5zCiAgICAgfQogCiAgICAg
aWYgKCFtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZS5pc1VuZGVmaW5lZCgpIHx8ICFtYXhpbXVt
RnJhY3Rpb25EaWdpdHNWYWx1ZS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGNvbnN0ZXhwciB1
bnNpZ25lZCB1bmRlZmluZWRWYWx1ZSA9IFVJTlQzMl9NQVg7CiAgICAgICAgIGludGxJbnN0YW5j
ZS0+bV9yb3VuZGluZ1R5cGUgPSBJbnRsUm91bmRpbmdUeXBlOjpGcmFjdGlvbkRpZ2l0czsKLSAg
ICAgICAgdW5zaWduZWQgbWluaW11bUZyYWN0aW9uRGlnaXRzID0gaW50bERlZmF1bHROdW1iZXJP
cHRpb24oZ2xvYmFsT2JqZWN0LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIpLCAwLCAyMCwgbWluaW11
bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCk7CisgICAgICAgIHVuc2lnbmVkIHNwZWNpZmllZE1pbmlt
dW1GcmFjdGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWluaW11bUZyYWN0aW9uRGlnaXRzVmFsdWUsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1GcmFj
dGlvbkRpZ2l0cywgMCwgMjAsIHVuZGVmaW5lZFZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9u
RGlnaXRzQWN0dWFsRGVmYXVsdCA9IHN0ZDo6bWF4KG1pbmltdW1GcmFjdGlvbkRpZ2l0cywgbWF4
aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCk7Ci0gICAgICAgIHVuc2lnbmVkIG1heGltdW1GcmFj
dGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWF4aW11
bUZyYWN0aW9uRGlnaXRzVmFsdWUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtYXhpbXVt
RnJhY3Rpb25EaWdpdHMiKSwgbWluaW11bUZyYWN0aW9uRGlnaXRzLCAyMCwgbWF4aW11bUZyYWN0
aW9uRGlnaXRzQWN0dWFsRGVmYXVsdCk7CisgICAgICAgIHVuc2lnbmVkIHNwZWNpZmllZE1heGlt
dW1GcmFjdGlvbkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwg
bWF4aW11bUZyYWN0aW9uRGlnaXRzVmFsdWUsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFj
dGlvbkRpZ2l0cywgMCwgMjAsIHVuZGVmaW5lZFZhbHVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgaWYgKHNwZWNpZmllZE1heGltdW1GcmFj
dGlvbkRpZ2l0cyAhPSB1bmRlZmluZWRWYWx1ZSkKKyAgICAgICAgICAgIG1pbmltdW1GcmFjdGlv
bkRpZ2l0c0RlZmF1bHQgPSBzdGQ6Om1pbihtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBz
cGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdpdHMpOworICAgICAgICB1bnNpZ25lZCBtaW5pbXVt
RnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIChz
cGVjaWZpZWRNaW5pbXVtRnJhY3Rpb25EaWdpdHMgPT0gdW5kZWZpbmVkVmFsdWUpID8ganNVbmRl
ZmluZWQoKSA6IGpzTnVtYmVyKHNwZWNpZmllZE1pbmltdW1GcmFjdGlvbkRpZ2l0cyksIHZtLnBy
b3BlcnR5TmFtZXMtPm1pbmltdW1GcmFjdGlvbkRpZ2l0cywgMCwgMjAsIG1pbmltdW1GcmFjdGlv
bkRpZ2l0c0RlZmF1bHQpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOworICAgICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVs
dE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIChzcGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdp
dHMgPT0gdW5kZWZpbmVkVmFsdWUpID8ganNVbmRlZmluZWQoKSA6IGpzTnVtYmVyKHNwZWNpZmll
ZE1heGltdW1GcmFjdGlvbkRpZ2l0cyksIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlv
bkRpZ2l0cywgMCwgMjAsIHN0ZDo6bWF4KG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIG1p
bmltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOworICAgICAgICBpZiAobWluaW11bUZyYWN0aW9uRGlnaXRzID4gbWF4aW11bUZy
YWN0aW9uRGlnaXRzKSB7CisgICAgICAgICAgICB0aHJvd1JhbmdlRXJyb3IoZ2xvYmFsT2JqZWN0
LCBzY29wZSwgIkNvbXB1dGVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0cyBpcyBsYXJnZXIgdGhhbiBt
YXhpbXVtRnJhY3Rpb25EaWdpdHMiX3MpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAgICAgICAgIGludGxJbnN0YW5jZS0+bV9taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBtaW5pbXVt
RnJhY3Rpb25EaWdpdHM7CiAgICAgICAgIGludGxJbnN0YW5jZS0+bV9tYXhpbXVtRnJhY3Rpb25E
aWdpdHMgPSBtYXhpbXVtRnJhY3Rpb25EaWdpdHM7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwCmluZGV4IDll
MDM1NTYzMzQ4YTM0ZGU3ZmNlNmNiOGM3NGViNmVlNTcxYzUyN2EuLjk1N2E4MWU5ZmIyMmE1N2U3
ODAzYWYyYjBmZDJjNGVlOGNkNTNiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcApAQCAtMTUxLDE1ICsxNTEsMTUgQEAgSlNPYmpl
Y3QqIEludGxQbHVyYWxSdWxlczo6cmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpIGNvbnN0CiAgICAgSlNPYmplY3QqIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9i
amVjdChnbG9iYWxPYmplY3QpOwogICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bG9jYWxlLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sIG1fbG9jYWxlKSk7CiAgICAg
b3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50eXBlLCBqc05vbnRyaXZp
YWxTdHJpbmcodm0sIG1fdHlwZSA9PSBUeXBlOjpPcmRpbmFsID8gIm9yZGluYWwiX3MgOiAiY2Fy
ZGluYWwiX3MpKTsKLSAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21T
dHJpbmcodm0sICJtaW5pbXVtSW50ZWdlckRpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1JbnRl
Z2VyRGlnaXRzKSk7CisgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5taW5pbXVtSW50ZWdlckRpZ2l0cywganNOdW1iZXIobV9taW5pbXVtSW50ZWdlckRpZ2l0cykp
OwogICAgIHN3aXRjaCAobV9yb3VuZGluZ1R5cGUpIHsKICAgICBjYXNlIEludGxSb3VuZGluZ1R5
cGU6OkZyYWN0aW9uRGlnaXRzOgotICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiKSwganNOdW1iZXIo
bV9taW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsKLSAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bUZyYWN0aW9uRGlnaXRzIiksIGpz
TnVtYmVyKG1fbWF4aW11bUZyYWN0aW9uRGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bUZyYWN0aW9uRGlnaXRzLCBqc051bWJl
cihtX21pbmltdW1GcmFjdGlvbkRpZ2l0cykpOworICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qo
dm0sIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlvbkRpZ2l0cywganNOdW1iZXIobV9t
YXhpbXVtRnJhY3Rpb25EaWdpdHMpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJbnRsUm91
bmRpbmdUeXBlOjpTaWduaWZpY2FudERpZ2l0czoKLSAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRz
IiksIGpzTnVtYmVyKG1fbWluaW11bVNpZ25pZmljYW50RGlnaXRzKSk7Ci0gICAgICAgIG9wdGlv
bnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1TaWdu
aWZpY2FudERpZ2l0cyIpLCBqc051bWJlcihtX21heGltdW1TaWduaWZpY2FudERpZ2l0cykpOwor
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1T
aWduaWZpY2FudERpZ2l0cywganNOdW1iZXIobV9taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMpKTsK
KyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHMsIGpzTnVtYmVyKG1fbWF4aW11bVNpZ25pZmljYW50RGlnaXRzKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDNkMDc2ZjJjYzYxYTBmOGNhNjY0ODYwMzdlYTY1MDJmZTNlYjU4M2IuLjQ0
MWM0NTYwMGYwNTA3NGYyNmYzYzI4ZGYzYTAxMjYwZDc0NDZiZGMgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDktMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBb
SlNDXSBJbnRsIHNwZWMgdXBkYXRlOiBoYW5kbGUgYXdrd2FyZCByb3VuZGluZyBiZWhhdmlvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NzYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mv
aW50bC1udW1iZXJmb3JtYXQuanM6CisKIDIwMjAtMDktMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0MjYyIHVwZGF0ZQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3MvaW50bC1udW1iZXJmb3JtYXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9pbnRsLW51
bWJlcmZvcm1hdC5qcwppbmRleCA1NmM1Nzc0MTc2NDVmNGNiYmI4ZDExNmNkMTVjMjM2NzRlZWQw
OWY5Li5hMzgyNzBlNDAyMjIxODE0OGJhYzE5NTg0ZjI5MjgzYWZiZDc2YzU3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3N0cmVzcy9pbnRsLW51bWJlcmZvcm1hdC5qcworKysgYi9KU1Rlc3RzL3N0cmVz
cy9pbnRsLW51bWJlcmZvcm1hdC5qcwpAQCAtNDU5LDMgKzQ1OSw1OSBAQCBmdW5jdGlvbiB0ZXN0
TnVtYmVyRm9ybWF0KG51bWJlckZvcm1hdCwgcG9zc2libGVEaWZmZXJlbmNlcykgewogc2hvdWxk
QmUoSW50bC5OdW1iZXJGb3JtYXQoJ2FyJykuZm9ybWF0KDEyMzQ1Njc4OW4pLCAn2aHZotmj2azZ
pNml2abZrNmn2ajZqScpOwogc2hvdWxkQmUoSW50bC5OdW1iZXJGb3JtYXQoJ3poLUhhbnMtQ04t
dS1udS1oYW5pZGVjJykuZm9ybWF0KDEyMzQ1Njc4OW4pLCAn5LiA5LqM5LiJLOWbm+S6lOWFrSzk
uIPlhavkuZ0nKTsKIHNob3VsZEJlKEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsgbWF4aW11bVNp
Z25pZmljYW50RGlnaXRzOiAzIH0pLmZvcm1hdCgxMjM0NTZuKSwgJzEyMywwMDAnKTsKKworewor
ICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZW4nLCB7CisgICAgICAgIHN0eWxl
OiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgIG1heGltdW1G
cmFjdGlvbkRpZ2l0czogMQorICAgIH0pOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9u
cygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMSk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRP
cHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAxKTsKKyAgICBzaG91bGRCZShuZi5mb3Jt
YXQoMzAuMzMzMzMzMzMzMzMzKSwgYCQzMC4zYCk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMw
LjM1KSwgYCQzMC40YCk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMwKSwgYCQzMC4wYCk7Cit9
Cit7CisgICAgbGV0IG5mID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsKKyAgICAgICAg
c3R5bGU6ICdjdXJyZW5jeScsCisgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgbWF4
aW11bUZyYWN0aW9uRGlnaXRzOiAwCisgICAgfSk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRP
cHRpb25zKCkubWF4aW11bUZyYWN0aW9uRGlnaXRzLCAwKTsKKyAgICBzaG91bGRCZShuZi5yZXNv
bHZlZE9wdGlvbnMoKS5taW5pbXVtRnJhY3Rpb25EaWdpdHMsIDApOworICAgIHNob3VsZEJlKG5m
LmZvcm1hdCgzMC4zKSwgYCQzMGApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMC41KSwgYCQz
MWApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMCksIGAkMzBgKTsKK30KK3sKKyAgICBsZXQg
bmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuJywgeworICAgICAgICBzdHlsZTogJ2N1cnJl
bmN5JywKKyAgICAgICAgY3VycmVuY3k6ICdDTEYnLAorICAgICAgICBtYXhpbXVtRnJhY3Rpb25E
aWdpdHM6IDMKKyAgICB9KTsKKyAgICBzaG91bGRCZShuZi5yZXNvbHZlZE9wdGlvbnMoKS5tYXhp
bXVtRnJhY3Rpb25EaWdpdHMsIDMpOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9ucygp
Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cywgMyk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMwLjMz
MzMzMzMzMzMzMyksIGBDTEbCoDMwLjMzM2ApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMCks
IGBDTEbCoDMwLjAwMGApOworfQoreworICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1h
dCgnZW4nLCB7CisgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTog
J0NMRicsCisgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMAorICAgIH0pOworICAgIHNo
b3VsZEJlKG5mLnJlc29sdmVkT3B0aW9ucygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMCk7Cisg
ICAgc2hvdWxkQmUobmYucmVzb2x2ZWRPcHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAw
KTsKKyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzAuMzMzMzMzMzMzMzMzKSwgYENMRsKgMzBgKTsK
KyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzAuNSksIGBDTEbCoDMxYCk7CisgICAgc2hvdWxkQmUo
bmYuZm9ybWF0KDMwKSwgYENMRsKgMzBgKTsKK30KK3Nob3VsZFRocm93KCgpID0+IHsKKyAgICBs
ZXQgbmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuJywgeworICAgICAgICBzdHlsZTogJ2N1
cnJlbmN5JywKKyAgICAgICAgY3VycmVuY3k6ICdDTEYnLAorICAgICAgICBtYXhpbXVtRnJhY3Rp
b25EaWdpdHM6IDAsCisgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMTAwCisgICAgfSk7
Cit9LCBSYW5nZUVycm9yKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409494</attachid>
            <date>2020-09-23 12:04:16 -0700</date>
            <delta_ts>2020-09-23 12:09:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216760-20200923120416.patch</filename>
            <type>text/plain</type>
            <size>16131</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YmQ0ZTE0NjViM2IxYjA0ODVlNDY3MTg4MDk3ZTVhMzAwYTVjNDYyLi4yMGNjODMyZWI5MWY5ODZj
ZjljNGQxYjAxOTE2Mjk3ZmFhNGFlZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wOS0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEludGwgc3BlYyB1cGRhdGU6IGhhbmRsZSBhd2t3YXJkIHJvdW5k
aW5nIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY3NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIHN1cHBvcnRzIG5ldyBzcGVjIGNoYW5nZSBvZiAiaGFuZGxlIGF3a3dh
cmQgcm91bmRpbmcgYmVoYXZpb3IiWzFdLgorICAgICAgICBUaGlzIGNoYW5nZXMgbWluaW11bUZy
YWN0aW9uRGlnaXRzIC8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIGNhbGN1bGF0aW9uIHdoZW4gdGhl
IHNwZWNpZmllZCBvbmVzIGFyZSBsZXNzIHRoYW4gY3VycmVuY3ktZGlnaXRzLgorCisgICAgICAg
IFsxXTogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvZWNtYTQwMi9wdWxsLzQ3MQorCisgICAgICAg
ICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51
bWJlckZvcm1hdC5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OnJlc29sdmVk
T3B0aW9ucyBjb25zdCk6CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5l
cy5oOgorICAgICAgICAoSlNDOjpzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMpOgorICAgICAg
ICAqIHJ1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJh
bFJ1bGVzOjpyZXNvbHZlZE9wdGlvbnMgY29uc3QpOgorCiAyMDIwLTA5LTIyICBIeWVvY2tKaW4g
S2ltICA8a2hlcm9vdHpAZ21haWwuY29tPgogCiAgICAgICAgIENvZXJjZSBjb21wdXRlZCBwcm9w
ZXJ0eSBiZWZvcmUgYWRkaW5nIHRvIHxleGNsdWRlZExpc3R8CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA3NmE5YzY0MTRlYTlk
ODQwNjU5OGQ1NDQwZWFiY2EwNGZkNDcxNzlmLi5mMzQwZWJkZjg0YmQ2YzA5ODZhMTNiODc3YTIw
ODIyMDMxMDBlZTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bW1vbklkZW50aWZpZXJzLmgKQEAgLTE1Myw3ICsxNTMsMTIgQEAKICAgICBtYWNybyhsaW5lKSBc
CiAgICAgbWFjcm8obG9jYWxlKSBcCiAgICAgbWFjcm8obG9jYWxlTWF0Y2hlcikgXAorICAgIG1h
Y3JvKG1heGltdW1GcmFjdGlvbkRpZ2l0cykgXAorICAgIG1hY3JvKG1heGltdW1TaWduaWZpY2Fu
dERpZ2l0cykgXAogICAgIG1hY3JvKG1lc3NhZ2UpIFwKKyAgICBtYWNybyhtaW5pbXVtRnJhY3Rp
b25EaWdpdHMpIFwKKyAgICBtYWNybyhtaW5pbXVtSW50ZWdlckRpZ2l0cykgXAorICAgIG1hY3Jv
KG1pbmltdW1TaWduaWZpY2FudERpZ2l0cykgXAogICAgIG1hY3JvKG1pbnV0ZSkgXAogICAgIG1h
Y3JvKG1vbnRoKSBcCiAgICAgbWFjcm8obXVsdGlsaW5lKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCmluZGV4IDQ3YzAwYjIxMWU1
OWUwODFkOGNiYmM3OWRiNGQ1OWE4OGY5MDFlYTMuLjFmZjBiODBlZDM1MmYxYTcwOGZhYWFjYzVl
NWQyYzg2NDliNDQwNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxOdW1iZXJGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGxOdW1iZXJGb3JtYXQuY3BwCkBAIC04MTAsMTUgKzgxMCwxNSBAQCBKU09iamVjdCogSW50
bE51bWJlckZvcm1hdDo6cmVzb2x2ZWRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpIGNvbnN0CiAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgInVuaXREaXNwbGF5IiksIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgdW5pdERp
c3BsYXlTdHJpbmcobV91bml0RGlzcGxheSkpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAg
IG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1pbmlt
dW1JbnRlZ2VyRGlnaXRzIiksIGpzTnVtYmVyKG1fbWluaW11bUludGVnZXJEaWdpdHMpKTsKKyAg
ICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1JbnRlZ2Vy
RGlnaXRzLCBqc051bWJlcihtX21pbmltdW1JbnRlZ2VyRGlnaXRzKSk7CiAgICAgc3dpdGNoICht
X3JvdW5kaW5nVHlwZSkgewogICAgIGNhc2UgSW50bFJvdW5kaW5nVHlwZTo6RnJhY3Rpb25EaWdp
dHM6Ci0gICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
Zyh2bSwgIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1GcmFjdGlv
bkRpZ2l0cykpOwotICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sICJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiKSwganNOdW1iZXIobV9tYXhpbXVt
RnJhY3Rpb25EaWdpdHMpKTsKKyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5taW5pbXVtRnJhY3Rpb25EaWdpdHMsIGpzTnVtYmVyKG1fbWluaW11bUZyYWN0
aW9uRGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlO
YW1lcy0+bWF4aW11bUZyYWN0aW9uRGlnaXRzLCBqc051bWJlcihtX21heGltdW1GcmFjdGlvbkRp
Z2l0cykpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEludGxSb3VuZGluZ1R5cGU6OlNpZ25p
ZmljYW50RGlnaXRzOgotICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sICJtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwganNOdW1iZXIobV9t
aW5pbXVtU2lnbmlmaWNhbnREaWdpdHMpKTsKLSAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIiks
IGpzTnVtYmVyKG1fbWF4aW11bVNpZ25pZmljYW50RGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMt
PnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bVNpZ25pZmljYW50RGlnaXRz
LCBqc051bWJlcihtX21pbmltdW1TaWduaWZpY2FudERpZ2l0cykpOworICAgICAgICBvcHRpb25z
LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1TaWduaWZpY2FudERpZ2l0
cywganNOdW1iZXIobV9tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBJbnRsUm91bmRpbmdUeXBlOjpDb21wYWN0Um91bmRpbmc6CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJl
ckZvcm1hdElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1i
ZXJGb3JtYXRJbmxpbmVzLmgKaW5kZXggMDhhMmE0ZTQxZTEzN2FhNzhlZmIyNmE2NDMwOTM3OTgw
NjIwYzJiNy4uZWQ1YjAzODg2NzQ2MTg5YWNhZDg2MTU0NmM0N2IzYTg3MmU4NzE2YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdElubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0
SW5saW5lcy5oCkBAIC0zOCwyOCArMzgsMjggQEAgdm9pZCBzZXROdW1iZXJGb3JtYXREaWdpdE9w
dGlvbnMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSW50bFR5cGUqIGludGxJbnMKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwogCi0gICAgdW5zaWduZWQgbWluaW11bUludGVnZXJEaWdpdHMgPSBp
bnRsTnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgb3B0aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZyh2bSwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiksIDEsIDIxLCAxKTsKKyAgICB1bnNpZ25l
ZCBtaW5pbXVtSW50ZWdlckRpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCBv
cHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtSW50ZWdlckRpZ2l0cywgMSwgMjEsIDEp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBKU1ZhbHVl
IG1pbmltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIm1pbmltdW1GcmFjdGlvbkRpZ2l0cyIpKTsKKyAg
ICBKU1ZhbHVlIG1pbmltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2Jh
bE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bUZyYWN0aW9uRGlnaXRzKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgSlNWYWx1ZSBtYXhpbXVt
RnJhY3Rpb25EaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcodm0sICJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiKSk7CisgICAgSlNWYWx1
ZSBtYXhpbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3Qs
IHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlvbkRpZ2l0cyk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTVmFsdWUgbWluaW11bVNpZ25pZmlj
YW50RGlnaXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikpOworICAgIEpTVmFsdWUg
bWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0
LCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMpOwogICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBKU1ZhbHVlIG1heGltdW1TaWdu
aWZpY2FudERpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIm1heGltdW1TaWduaWZpY2FudERpZ2l0cyIpKTsKKyAgICBKU1Zh
bHVlIG1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9i
amVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bVNpZ25pZmljYW50RGlnaXRzKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCiAgICAgaW50bEluc3RhbmNlLT5t
X21pbmltdW1JbnRlZ2VyRGlnaXRzID0gbWluaW11bUludGVnZXJEaWdpdHM7CiAKICAgICBpZiAo
IW1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVkKCkgfHwgIW1heGltdW1T
aWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKICAgICAgICAgaW50bEluc3Rh
bmNlLT5tX3JvdW5kaW5nVHlwZSA9IEludGxSb3VuZGluZ1R5cGU6OlNpZ25pZmljYW50RGlnaXRz
OwotICAgICAgICB1bnNpZ25lZCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBpbnRsRGVmYXVs
dE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVl
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIiks
IDEsIDIxLCAxKTsKKyAgICAgICAgdW5zaWduZWQgbWluaW11bVNpZ25pZmljYW50RGlnaXRzID0g
aW50bERlZmF1bHROdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCBtaW5pbXVtU2lnbmlmaWNhbnRE
aWdpdHNWYWx1ZSwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bVNpZ25pZmljYW50RGlnaXRzLCAx
LCAyMSwgMSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0g
ICAgICAgIHVuc2lnbmVkIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyA9IGludGxEZWZhdWx0TnVt
YmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUsIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgbWlu
aW11bVNpZ25pZmljYW50RGlnaXRzLCAyMSwgMjEpOworICAgICAgICB1bnNpZ25lZCBtYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJlck9wdGlvbihnbG9iYWxPYmplY3Qs
IG1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHMsIG1pbmltdW1TaWduaWZpY2FudERpZ2l0cywgMjEsIDIxKTsKICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICAgICAgaW50bElu
c3RhbmNlLT5tX21pbmltdW1TaWduaWZpY2FudERpZ2l0cyA9IG1pbmltdW1TaWduaWZpY2FudERp
Z2l0czsKICAgICAgICAgaW50bEluc3RhbmNlLT5tX21heGltdW1TaWduaWZpY2FudERpZ2l0cyA9
IG1heGltdW1TaWduaWZpY2FudERpZ2l0czsKQEAgLTY3LDEyICs2NywyMiBAQCB2b2lkIHNldE51
bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBJbnRs
VHlwZSogaW50bElucwogICAgIH0KIAogICAgIGlmICghbWluaW11bUZyYWN0aW9uRGlnaXRzVmFs
dWUuaXNVbmRlZmluZWQoKSB8fCAhbWF4aW11bUZyYWN0aW9uRGlnaXRzVmFsdWUuaXNVbmRlZmlu
ZWQoKSkgeworICAgICAgICBjb25zdGV4cHIgdW5zaWduZWQgdW5kZWZpbmVkVmFsdWUgPSBVSU5U
MzJfTUFYOwogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fcm91bmRpbmdUeXBlID0gSW50bFJvdW5k
aW5nVHlwZTo6RnJhY3Rpb25EaWdpdHM7Ci0gICAgICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlv
bkRpZ2l0cyA9IGludGxEZWZhdWx0TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgbWluaW11bUZy
YWN0aW9uRGlnaXRzVmFsdWUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJtaW5pbXVtRnJh
Y3Rpb25EaWdpdHMiKSwgMCwgMjAsIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQpOworICAg
ICAgICB1bnNpZ25lZCBzcGVjaWZpZWRNaW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVs
dE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG1pbmltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlLCB2
bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtRnJhY3Rpb25EaWdpdHMsIDAsIDIwLCB1bmRlZmluZWRW
YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAg
ICAgIHVuc2lnbmVkIG1heGltdW1GcmFjdGlvbkRpZ2l0c0FjdHVhbERlZmF1bHQgPSBzdGQ6Om1h
eChtaW5pbXVtRnJhY3Rpb25EaWdpdHMsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQpOwot
ICAgICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVsdE51bWJl
ck9wdGlvbihnbG9iYWxPYmplY3QsIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAibWF4aW11bUZyYWN0aW9uRGlnaXRzIiksIG1pbmltdW1GcmFj
dGlvbkRpZ2l0cywgMjAsIG1heGltdW1GcmFjdGlvbkRpZ2l0c0FjdHVhbERlZmF1bHQpOworICAg
ICAgICB1bnNpZ25lZCBzcGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSBpbnRsRGVmYXVs
dE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlLCB2
bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVtRnJhY3Rpb25EaWdpdHMsIDAsIDIwLCB1bmRlZmluZWRW
YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAg
ICAgIGlmIChzcGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdpdHMgIT0gdW5kZWZpbmVkVmFsdWUp
CisgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0ID0gc3RkOjptaW4obWlu
aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCwgc3BlY2lmaWVkTWF4aW11bUZyYWN0aW9uRGlnaXRz
KTsKKyAgICAgICAgdW5zaWduZWQgbWluaW11bUZyYWN0aW9uRGlnaXRzID0gaW50bERlZmF1bHRO
dW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCAoc3BlY2lmaWVkTWluaW11bUZyYWN0aW9uRGlnaXRz
ID09IHVuZGVmaW5lZFZhbHVlKSA/IGpzVW5kZWZpbmVkKCkgOiBqc051bWJlcihzcGVjaWZpZWRN
aW5pbXVtRnJhY3Rpb25EaWdpdHMpLCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtRnJhY3Rpb25E
aWdpdHMsIDAsIDIwLCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0KTsKKyAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgdW5zaWduZWQgbWF4aW11
bUZyYWN0aW9uRGlnaXRzID0gaW50bERlZmF1bHROdW1iZXJPcHRpb24oZ2xvYmFsT2JqZWN0LCAo
c3BlY2lmaWVkTWF4aW11bUZyYWN0aW9uRGlnaXRzID09IHVuZGVmaW5lZFZhbHVlKSA/IGpzVW5k
ZWZpbmVkKCkgOiBqc051bWJlcihzcGVjaWZpZWRNYXhpbXVtRnJhY3Rpb25EaWdpdHMpLCB2bS5w
cm9wZXJ0eU5hbWVzLT5tYXhpbXVtRnJhY3Rpb25EaWdpdHMsIDAsIDIwLCBzdGQ6Om1heChtYXhp
bXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsKKyAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgaWYgKG1pbmlt
dW1GcmFjdGlvbkRpZ2l0cyA+IG1heGltdW1GcmFjdGlvbkRpZ2l0cykgeworICAgICAgICAgICAg
dGhyb3dSYW5nZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb21wdXRlZCBtaW5pbXVtRnJh
Y3Rpb25EaWdpdHMgaXMgbGFyZ2VyIHRoYW4gbWF4aW11bUZyYWN0aW9uRGlnaXRzIl9zKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBpbnRsSW5zdGFuY2UtPm1fbWlu
aW11bUZyYWN0aW9uRGlnaXRzID0gbWluaW11bUZyYWN0aW9uRGlnaXRzOwogICAgICAgICBpbnRs
SW5zdGFuY2UtPm1fbWF4aW11bUZyYWN0aW9uRGlnaXRzID0gbWF4aW11bUZyYWN0aW9uRGlnaXRz
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCA5ZTAzNTU2MzM0OGEzNGRlN2ZjZTZjYjhjNzRlYjZl
ZTU3MWM1MjdhLi45NTdhODFlOWZiMjJhNTdlNzgwM2FmMmIwZmQyYzRlZThjZDUzYmVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5jcHAK
QEAgLTE1MSwxNSArMTUxLDE1IEBAIEpTT2JqZWN0KiBJbnRsUGx1cmFsUnVsZXM6OnJlc29sdmVk
T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogICAgIEpTT2JqZWN0
KiBvcHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0KTsKICAgICBvcHRp
b25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZSwganNOb250cml2aWFs
U3RyaW5nKHZtLCBtX2xvY2FsZSkpOwogICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+dHlwZSwganNOb250cml2aWFsU3RyaW5nKHZtLCBtX3R5cGUgPT0gVHlwZTo6
T3JkaW5hbCA/ICJvcmRpbmFsIl9zIDogImNhcmRpbmFsIl9zKSk7Ci0gICAgb3B0aW9ucy0+cHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11bUludGVnZXJEaWdp
dHMiKSwganNOdW1iZXIobV9taW5pbXVtSW50ZWdlckRpZ2l0cykpOworICAgIG9wdGlvbnMtPnB1
dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWluaW11bUludGVnZXJEaWdpdHMsIGpzTnVt
YmVyKG1fbWluaW11bUludGVnZXJEaWdpdHMpKTsKICAgICBzd2l0Y2ggKG1fcm91bmRpbmdUeXBl
KSB7CiAgICAgY2FzZSBJbnRsUm91bmRpbmdUeXBlOjpGcmFjdGlvbkRpZ2l0czoKLSAgICAgICAg
b3B0aW9ucy0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAibWluaW11
bUZyYWN0aW9uRGlnaXRzIiksIGpzTnVtYmVyKG1fbWluaW11bUZyYWN0aW9uRGlnaXRzKSk7Ci0g
ICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwg
Im1heGltdW1GcmFjdGlvbkRpZ2l0cyIpLCBqc051bWJlcihtX21heGltdW1GcmFjdGlvbkRpZ2l0
cykpOworICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1p
bmltdW1GcmFjdGlvbkRpZ2l0cywganNOdW1iZXIobV9taW5pbXVtRnJhY3Rpb25EaWdpdHMpKTsK
KyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVt
RnJhY3Rpb25EaWdpdHMsIGpzTnVtYmVyKG1fbWF4aW11bUZyYWN0aW9uRGlnaXRzKSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgSW50bFJvdW5kaW5nVHlwZTo6U2lnbmlmaWNhbnREaWdpdHM6
Ci0gICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2
bSwgIm1pbmltdW1TaWduaWZpY2FudERpZ2l0cyIpLCBqc051bWJlcihtX21pbmltdW1TaWduaWZp
Y2FudERpZ2l0cykpOwotICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwganNOdW1iZXIobV9t
YXhpbXVtU2lnbmlmaWNhbnREaWdpdHMpKTsKKyAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMsIGpzTnVtYmVyKG1f
bWluaW11bVNpZ25pZmljYW50RGlnaXRzKSk7CisgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bVNpZ25pZmljYW50RGlnaXRzLCBqc051bWJlciht
X21heGltdW1TaWduaWZpY2FudERpZ2l0cykpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3YTAzM2E4ZGRjNGNiODZh
Y2QzNjA0YWEyOTg5OWI4YTQ1NzU5ZTkyLi5lMjBiYmY1NzViYzA2NTE1NzU3MTE3MTU3MmJhMjVl
NjNhNjY5ZTI5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA5LTIzICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gSW50bCBzcGVjIHVwZGF0ZTogaGFuZGxl
IGF3a3dhcmQgcm91bmRpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNjc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2ludGwtbnVtYmVyZm9ybWF0LmpzOgorICAgICAg
ICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisKIDIwMjAtMDktMjIgIEh5ZW9ja0ppbiBL
aW0gIDxraGVyb290ekBnbWFpbC5jb20+CiAKICAgICAgICAgQ29lcmNlIGNvbXB1dGVkIHByb3Bl
cnR5IGJlZm9yZSBhZGRpbmcgdG8gfGV4Y2x1ZGVkTGlzdHwKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
c3RyZXNzL2ludGwtbnVtYmVyZm9ybWF0LmpzIGIvSlNUZXN0cy9zdHJlc3MvaW50bC1udW1iZXJm
b3JtYXQuanMKaW5kZXggNTZjNTc3NDE3NjQ1ZjRjYmJiOGQxMTZjZDE1YzIzNjc0ZWVkMDlmOS4u
NTIxMTA0YTZiZmMzYmM5NGJjZDRjYzhmYjhmNzNiY2IzYTRjMjM5NyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy9zdHJlc3MvaW50bC1udW1iZXJmb3JtYXQuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvaW50
bC1udW1iZXJmb3JtYXQuanMKQEAgLTQ1OSwzICs0NTksNTkgQEAgZnVuY3Rpb24gdGVzdE51bWJl
ckZvcm1hdChudW1iZXJGb3JtYXQsIHBvc3NpYmxlRGlmZmVyZW5jZXMpIHsKIHNob3VsZEJlKElu
dGwuTnVtYmVyRm9ybWF0KCdhcicpLmZvcm1hdCgxMjM0NTY3ODluKSwgJ9mh2aLZo9ms2aTZpdmm
2azZp9mo2aknKTsKIHNob3VsZEJlKEludGwuTnVtYmVyRm9ybWF0KCd6aC1IYW5zLUNOLXUtbnUt
aGFuaWRlYycpLmZvcm1hdCgxMjM0NTY3ODluKSwgJ+S4gOS6jOS4iSzlm5vkupTlha0s5LiD5YWr
5LmdJyk7CiBzaG91bGRCZShJbnRsLk51bWJlckZvcm1hdCgnZW4nLCB7IG1heGltdW1TaWduaWZp
Y2FudERpZ2l0czogMyB9KS5mb3JtYXQoMTIzNDU2biksICcxMjMsMDAwJyk7CisKK3sKKyAgICBs
ZXQgbmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuJywgeworICAgICAgICBzdHlsZTogJ2N1
cnJlbmN5JywKKyAgICAgICAgY3VycmVuY3k6ICdVU0QnLAorICAgICAgICBtYXhpbXVtRnJhY3Rp
b25EaWdpdHM6IDEKKyAgICB9KTsKKyAgICBzaG91bGRCZShuZi5yZXNvbHZlZE9wdGlvbnMoKS5t
YXhpbXVtRnJhY3Rpb25EaWdpdHMsIDEpOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9u
cygpLm1pbmltdW1GcmFjdGlvbkRpZ2l0cywgMSk7CisgICAgc2hvdWxkQmUobmYuZm9ybWF0KDMw
LjMzMzMzMzMzMzMzMyksIGAkMzAuM2ApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMC4zNSks
IGAkMzAuNGApOworICAgIHNob3VsZEJlKG5mLmZvcm1hdCgzMCksIGAkMzAuMGApOworfQorewor
ICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZW4nLCB7CisgICAgICAgIHN0eWxl
OiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTogJ1VTRCcsCisgICAgICAgIG1heGltdW1G
cmFjdGlvbkRpZ2l0czogMAorICAgIH0pOworICAgIHNob3VsZEJlKG5mLnJlc29sdmVkT3B0aW9u
cygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMCk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRP
cHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAwKTsKKyAgICBzaG91bGRCZShuZi5mb3Jt
YXQoMzAuMyksIGAkMzBgKTsKKyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzAuNSksIGAkMzFgKTsK
KyAgICBzaG91bGRCZShuZi5mb3JtYXQoMzApLCBgJDMwYCk7Cit9Cit7CisgICAgbGV0IG5mID0g
bmV3IEludGwuTnVtYmVyRm9ybWF0KCdlbicsIHsKKyAgICAgICAgc3R5bGU6ICdjdXJyZW5jeScs
CisgICAgICAgIGN1cnJlbmN5OiAnQ0xGJywKKyAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRz
OiAzCisgICAgfSk7CisgICAgc2hvdWxkQmUobmYucmVzb2x2ZWRPcHRpb25zKCkubWF4aW11bUZy
YWN0aW9uRGlnaXRzLCAzKTsKKyAgICBzaG91bGRCZShuZi5yZXNvbHZlZE9wdGlvbnMoKS5taW5p
bXVtRnJhY3Rpb25EaWdpdHMsIDMpOworICAgIHNob3VsZEJlKFtgQ0xGwqAzMC4zMzNgLCBgQ0xG
IDMwLjMzM2BdLmluY2x1ZGVzKG5mLmZvcm1hdCgzMC4zMzMzMzMzMzMzMzMpKSwgdHJ1ZSk7Cisg
ICAgc2hvdWxkQmUoW2BDTEbCoDMwLjAwMGAsIGBDTEYgMzAuMDAwYF0uaW5jbHVkZXMobmYuZm9y
bWF0KDMwKSksIHRydWUpOworfQoreworICAgIGxldCBuZiA9IG5ldyBJbnRsLk51bWJlckZvcm1h
dCgnZW4nLCB7CisgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLAorICAgICAgICBjdXJyZW5jeTog
J0NMRicsCisgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMAorICAgIH0pOworICAgIHNo
b3VsZEJlKG5mLnJlc29sdmVkT3B0aW9ucygpLm1heGltdW1GcmFjdGlvbkRpZ2l0cywgMCk7Cisg
ICAgc2hvdWxkQmUobmYucmVzb2x2ZWRPcHRpb25zKCkubWluaW11bUZyYWN0aW9uRGlnaXRzLCAw
KTsKKyAgICBzaG91bGRCZShbYENMRsKgMzBgLCBgQ0xGIDMwYF0uaW5jbHVkZXMobmYuZm9ybWF0
KDMwLjMzMzMzMzMzMzMzMykpLCB0cnVlKTsKKyAgICBzaG91bGRCZShbYENMRsKgMzFgLCBgQ0xG
IDMxYF0uaW5jbHVkZXMobmYuZm9ybWF0KDMwLjUpKSwgdHJ1ZSk7CisgICAgc2hvdWxkQmUoW2BD
TEbCoDMwYCwgYENMRiAzMGBdLmluY2x1ZGVzKG5mLmZvcm1hdCgzMCkpLCB0cnVlKTsKK30KK3No
b3VsZFRocm93KCgpID0+IHsKKyAgICBsZXQgbmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2Vu
JywgeworICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JywKKyAgICAgICAgY3VycmVuY3k6ICdDTEYn
LAorICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAsCisgICAgICAgIG1pbmltdW1GcmFj
dGlvbkRpZ2l0czogMTAwCisgICAgfSk7Cit9LCBSYW5nZUVycm9yKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3Rh
dGlvbnMueWFtbAppbmRleCBiYjI2N2VlNmEyZjJkMWIxOGM0NDNkNWZkOTgzOTk5YmFjNWRiYTA0
Li4zZGM0N2VlNjVkYTdlMzFiY2YwNzgxNWM2OGQ4OGRlYTM1MDc1N2MzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4
cGVjdGF0aW9ucy55YW1sCkBAIC0xNDcwLDYgKzE0NzAsOSBAQCB0ZXN0L2ludGw0MDIvTG9jYWxl
L2xpa2VseS1zdWJ0YWdzLmpzOgogdGVzdC9pbnRsNDAyL0xvY2FsZS9wcm90b3R5cGUvbWluaW1p
emUvcmVtb3ZpbmctbGlrZWx5LXN1YnRhZ3MtZmlyc3QtYWRkcy1saWtlbHktc3VidGFncy5qczoK
ICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogInVuZCIubWluaW1pemUoKSBzaG91bGQgYmUgImVu
IiBFeHBlY3RlZCBTYW1lVmFsdWUowqtlbi11LXZhLXBvc2l4wrssIMKrZW7CuykgdG8gYmUgdHJ1
ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6ICJ1bmQiLm1pbmltaXplKCkgc2hvdWxk
IGJlICJlbiIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZW4tdS12YS1wb3NpeMK7LCDCq2VuwrspIHRv
IGJlIHRydWUnCit0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L2RmdC1jdXJyZW5jeS1tbmZkLXJh
bmdlLWNoZWNrLW14ZmQuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEg
UmFuZ2VFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFs
bCcKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgUmFuZ2VFcnJvciB0
byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFu
Z3VhZ2UvYXJndW1lbnRzLW9iamVjdC9tYXBwZWQvbm9uY29uZmlndXJhYmxlLW5vbmVudW1lcmFi
bGUtbm9ud3JpdGFibGUtZGVzY3JpcHRvcnMtc2V0LWJ5LWFyZ3VtZW50cy5qczoKICAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqWzBdIHRvIGhhdmUgZW51bWVyYWJsZTpmYWxz
ZS4nCiB0ZXN0L2xhbmd1YWdlL2FyZ3VtZW50cy1vYmplY3QvbWFwcGVkL25vbmNvbmZpZ3VyYWJs
ZS1ub25lbnVtZXJhYmxlLW5vbndyaXRhYmxlLWRlc2NyaXB0b3JzLXNldC1ieS1wYXJhbS5qczoK
</data>
<flag name="review"
          id="425214"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>