<?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>236262</bug_id>
          
          <creation_ts>2022-02-07 14:38:25 -0800</creation_ts>
          <short_desc>[JSC] Convert JSString&apos;s non-atomic WTF::String to atomic string while concurrent compilers / heap threads run</short_desc>
          <delta_ts>2022-02-07 21:48:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <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>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838368</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 14:38:25 -0800</bug_when>
    <thetext>[JSC] Convert JSString&apos;s non-atomic WTF::String to atomic string while concurrent compilers / heap threads run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838376</commentid>
    <comment_count>1</comment_count>
      <attachid>451156</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 14:55:48 -0800</bug_when>
    <thetext>Created attachment 451156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838422</commentid>
    <comment_count>2</comment_count>
      <attachid>451156</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2022-02-07 16:35:03 -0800</bug_when>
    <thetext>Comment on attachment 451156
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        [JSC] Convert JSString&apos;s non-atomic WTF::String to atomic string while concurrent compilers / heap threads run

Alas, it is now called AtomString, not AtomicString.

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Inspired from Cameron&apos;s change. This patch introduces a new protocol which allows us to replace JSString&apos;s underlying non-atomic String

Which change are you referring to here (I don&apos;t know, and in the future those reading this surely will not know).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838453</commentid>
    <comment_count>3</comment_count>
      <attachid>451156</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 17:28:39 -0800</bug_when>
    <thetext>Comment on attachment 451156
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:8
&gt;&gt; +        Inspired from Cameron&apos;s change. This patch introduces a new protocol which allows us to replace JSString&apos;s underlying non-atomic String
&gt; 
&gt; Which change are you referring to here (I don&apos;t know, and in the future those reading this surely will not know).

This one https://trac.webkit.org/changeset/289177/webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838472</commentid>
    <comment_count>4</comment_count>
      <attachid>451156</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-02-07 18:10:19 -0800</bug_when>
    <thetext>Comment on attachment 451156
Patch

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

r=me

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:8
&gt;&gt;&gt; +        Inspired from Cameron&apos;s change. This patch introduces a new protocol which allows us to replace JSString&apos;s underlying non-atomic String
&gt;&gt; 
&gt;&gt; Which change are you referring to here (I don&apos;t know, and in the future those reading this surely will not know).
&gt; 
&gt; This one https://trac.webkit.org/changeset/289177/webkit.

I&apos;d link it here in the changelog or just write r289177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838528</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 21:43:21 -0800</bug_when>
    <thetext>OK, changed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838530</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-02-07 21:47:21 -0800</bug_when>
    <thetext>Committed r289359 (246947@trunk): &lt;https://commits.webkit.org/246947@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838533</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-07 21:48:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/88611548&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451156</attachid>
            <date>2022-02-07 14:55:48 -0800</date>
            <delta_ts>2022-02-07 18:10:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236262-20220207145548.patch</filename>
            <type>text/plain</type>
            <size>17354</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZDZiY2NkZjUzMzhlMjRiNDc4MzNhMDE1OTRmODY5Mzc1YWVkYmNlLi4xN2FjNzllNDE5ZTIzOWYy
MDA5MzY3M2MyNjFiODBmNjZiYTY1NWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OCBAQAorMjAyMi0wMi0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIENvbnZlcnQgSlNTdHJpbmcncyBub24tYXRvbWljIFdURjo6U3Ry
aW5nIHRvIGF0b21pYyBzdHJpbmcgd2hpbGUgY29uY3VycmVudCBjb21waWxlcnMgLyBoZWFwIHRo
cmVhZHMgcnVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzYyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbnNwaXJlZCBmcm9tIENhbWVyb24ncyBjaGFuZ2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBh
IG5ldyBwcm90b2NvbCB3aGljaCBhbGxvd3MgdXMgdG8gcmVwbGFjZSBKU1N0cmluZydzIHVuZGVy
bHlpbmcgbm9uLWF0b21pYyBTdHJpbmcKKyAgICAgICAgdG8gYXRvbWljIFN0cmluZyBpZiB3ZSBv
bmNlIGNhbGwgdG9JZGVudGlmaWVyIC8gdG9BdG9tU3RyaW5nLgorCisgICAgICAgIFdlIGhhZCBh
IHByb2JsZW0gdGhhdCwKKworICAgICAgICAxLiBXZSBoYXZlIGEgSlNTdHJpbmcsIHdoaWNoIGhh
cyBhICJ0ZXN0IiBXVEY6OlN0cmluZy4KKyAgICAgICAgMi4gV2UgYWxyZWFkeSBoYXZlICJ0ZXN0
IiBhdG9taWMgc3RyaW5nIGluIHRoZSB0YWJsZS4KKyAgICAgICAgMy4gVGhlbiwgd2hlbiB3ZSBj
YWxsIEpTU3RyaW5nOjp0b0lkZW50aWZpZXIsIHdlIGtub3cgdGhhdCB0aGVyZSBpcyBhbiBhdG9t
aWMgInRlc3QiIHN0cmluZywgYnV0IHdlIGNhbm5vdCByZXBsYWNlIHRoZSBjdXJyZW50IEpTU3Ry
aW5nJ3MKKyAgICAgICAgICAgV1RGOjpTdHJpbmcgYmVjYXVzZSBpdCBjYW4gYmUgYWNjZXNzZWQg
Y29uY3VycmVudGx5IGZyb20gY29uY3VycmVudCBjb21waWxlcnMgYW5kIEdDIGhlYXAgaGVscGVy
cy4KKyAgICAgICAgNC4gVGh1cywgSlNTdHJpbmcga2VlcHMgbm9uIGF0b21pYyAidGVzdCIgV1RG
OjpTdHJpbmcuCisKKyAgICAgICAgQnV0IHRoaXMgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIGxvb2t1
cCBhdG9tIHN0cmluZyB0YWJsZSBldmVyeSB0aW1lIHdlIHdvdWxkIGxpa2UgdG8gZ2V0IGFuIGF0
b20gc3RyaW5nIGZyb20gdGhpcyBKU1N0cmluZy4KKworICAgICAgICBTbywgaW4gdGhpcyBwYXRj
aCwgd2UgaW50cm9kdWNlIGEgbmV3IHByb3RvY29sLCB3aGljaCBhbGxvd3Mgc3dhcHBpbmcgZXhp
c3RpbmcgV1RGOjpTdHJpbmcgd2l0aCBhbiBhdG9tIHN0cmluZy4KKworICAgICAgICBXaGVuIHdl
IGZvdW5kIHRoYXQgSlNTdHJpbmcgaGFzIGEgV1RGOjpTdHJpbmcgYW5kIHdlIGFscmVhZHkgaGF2
ZSBhdG9tIHN0cmluZyBpbiB0aGUgdGFibGUgd2l0aCB0aGUgc2FtZSBjb250ZW50ICh3aGVuIGNh
bGxpbmcKKyAgICAgICAgdG9JZGVudGlmaWVyIC8gdG9BdG9tU3RyaW5nKSwgd2UgYXR0ZW1wdCB0
byByZXBsYWNlIEpTU3RyaW5nJ3MgV1RGOjpTdHJpbmcgd2l0aCB0aGUgYXRvbSBzdHJpbmcsIGJ1
dCAqa2VlcCB0aGUgb2xkIHN0cmluZyBpbiBKU0M6OkhlYXAncworICAgICAgICB2ZWN0b3IgY2Fs
bGVkIG1fcG9zc2libHlBY2Nlc3NlZFN0cmluZ3NGcm9tQ29uY3VycmVudFRocmVhZHMuIFRoZW4s
IHdlIGNhbiBrZWVwIHRoZXNlIHN0cmluZ3MgYWxpdmUgdW50aWwgbmV4dCBHQyBlbmRzLiBUaGlz
IGVuc3VyZXMgdGhhdAorICAgICAgICBhbGwgY29uY3VycmVudCBjb21waWxlcnMgLyBoZWFwIGhl
bHBlcnMgY2FuIGtlZXAgYWNjZXNzaW5nIHRvIHRoZSBvbGQgc3RyaW5ncy4gQW5kIHRoZW4sIGlu
IHRoZSBHQyBmaW5hbGl6ZSwgd2UgY2xlYXIgdGhpcyB2ZWN0b3Igc2luY2UKKyAgICAgICAgcmVz
dW1lZCBjb25jdXJyZW50IGNvbXBpbGVycyBhbmQgR0MgaGVhcCBoZWxwZXJzIHdpbGwgbm90IHRv
dWNoIHRoZXNlIG9sZCBzdHJpbmdzIGluIHRoZSBuZXh0IEdDIGN5Y2xlLiBPbmx5IGNhc2Ugd2Ug
aGF2ZSBhIHByb2JsZW0gaXMKKyAgICAgICAgdGhhdCB3ZSBrZWVwIGhhdmluZyBTdHJpbmdJbXBs
KiBvZiB0aGUgb2xkIHN0cmluZyBhZnRlciBHQyBzYWZlcG9pbnQgaW4gdGhlIGNvbmN1cnJlbnQg
Y29tcGlsZXIsIGFuZCB0aGUgb25seSB1c2Ugb2YgdGhhdCBpcworICAgICAgICBERkc6OkdyYXBo
OjptX2NvcGllZFN0cmluZ3MuIFNvLCBJIGNoYW5nZWQgdGhlIGNvZGUgbm90IHRvIGtlZXAgb2xk
IFN0cmluZ0ltcGwqIGluIERGRzo6R3JhcGg6Om1fY29waWVkU3RyaW5ncy4gQWxzbywgbm90ZSB0
aGF0IHdlIGRvCisgICAgICAgIHRoaXMgb25seSB3aGVuIHdlIGNvbnZlcnQgbm9uLWF0b20gc3Ry
aW5nIHRvIGF0b20gc3RyaW5nIHNvIGFsbCBVbmlxdWVkU3RyaW5nSW1wbCogZnJvbSBKU1N0cmlu
ZyogKGl0IGlzIGF0b20gb25lcykgZG9lcyBub3QgbWF0dGVyIHNpbmNlCisgICAgICAgIHRoZXkg
YXJlIGFscmVhZHkgYXRvbSBvbmU6IHRoZXkgd2lsbCBub3QgYmUgcmVwbGFjZWQuCisKKyAgICAg
ICAgVGhpcyBkb2VzIG5vdCBpbmNyZWFzZSBtZW1vcnkgdXNhZ2UsIHJhdGhlciwgaW1wcm92ZSBt
ZW1vcnkgdXNhZ2Ugc2luY2UgdGhpcyBrZXB0IHN0cmluZyB3YXMgYW55d2F5IGhlbGQgYnkgdGhl
IHdyYXBwZXIncyBKU1N0cmluZyBhdCBsZWFzdAorICAgICAgICB1bnRpbCB0aGUgbmV4dCBHQyBy
dW4uIEFuZCB3ZSBjbGVhciBtX3Bvc3NpYmx5QWNjZXNzZWRTdHJpbmdzRnJvbUNvbmN1cnJlbnRU
aHJlYWRzIGluIHRoZSBuZXh0IEdDIHJ1biwgc28gd2UgY2FuIHNocmluayBtZW1vcnkuCisKKyAg
ICAgICAgSXQgaW1wcm92ZXMgU3BlZWRvbWV0ZXIyIGJ5IDAuMiUuCisKKyAgICAgICAgICAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgIHwgICAgICAgICAgICAgICBzdWJ0ZXN0ICAgICAg
ICAgICAgICAgIHwgICAgIG1zICAgICAgfCAgICAgbXMgICAgICB8ICBiIC8gYSAgIHwgcFZhbHVl
IChzaWduaWZpY2FuY2UgdXNpbmcgRmFsc2UgRGlzY292ZXJ5IFJhdGUpIHwKKyAgICAgICAgICAg
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgIHwgRWxtLVRvZG9NVkMgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwxMDYuMTkzMzMzICAgfDEwNS42OTAwMDAgICB8MC45OTUyNjAgIHwgMC4w
NTAwNzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAg
ICAgIHwgVnVlSlMtVG9kb01WQyAgICAgICAgICAgICAgICAgICAgICAgIHwyMS42NzE2NjcgICAg
fDIxLjc0MTY2NyAgICB8MS4wMDMyMzAgIHwgMC43MTUzMDUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgRW1iZXJKUy1Ub2RvTVZDICAgICAg
ICAgICAgICAgICAgICAgIHwxMTMuMTQ2NjY3ICAgfDExMC44NzE2NjcgICB8MC45Nzk4OTMgIHwg
MC4wMDAwMDAgKHNpZ25pZmljYW50KSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAg
ICAgICAgIHwgQmFja2JvbmVKUy1Ub2RvTVZDICAgICAgICAgICAgICAgICAgIHw0Mi40ODE2Njcg
ICAgfDQyLjM0NjY2NyAgICB8MC45OTY4MjIgIHwgMC4zNTgwNDAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgUHJlYWN0LVRvZG9NVkMgICAg
ICAgICAgICAgICAgICAgICAgIHwxNS43OTY2NjcgICAgfDE2LjAxNjY2NyAgICB8MS4wMTM5Mjcg
IHwgMC4yMjYwMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg
ICAgICAgICAgIHwgQW5ndWxhckpTLVRvZG9NVkMgICAgICAgICAgICAgICAgICAgIHwxMTcuNTY4
MzMzICAgfDExNy4zNDUwMDAgICB8MC45OTgxMDAgIHwgMC41NDMzNjkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgVmFuaWxsYS1FUzIwMTUt
VG9kb01WQyAgICAgICAgICAgICAgIHw1OC4zNDgzMzMgICAgfDU3LjkwNTAwMCAgICB8MC45OTI0
MDIgIHwgMC4wMDAzODEgKHNpZ25pZmljYW50KSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK
KyAgICAgICAgICAgIHwgSW5mZXJuby1Ub2RvTVZDICAgICAgICAgICAgICAgICAgICAgIHw1NC42
NTY2NjcgICAgfDU0Ljk0NjY2NyAgICB8MS4wMDUzMDYgIHwgMC4yNTQzMTAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgRmxpZ2h0LVRvZG9N
VkMgICAgICAgICAgICAgICAgICAgICAgIHw2MS4xMDY2NjcgICAgfDYxLjE0MTY2NyAgICB8MS4w
MDA1NzMgIHwgMC44ODA3ODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwKKyAgICAgICAgICAgIHwgQW5ndWxhcjItVHlwZVNjcmlwdC1Ub2RvTVZDICAgICAgICAgIHwz
Ny4wMzAwMDAgICAgfDM3LjA2NTAwMCAgICB8MS4wMDA5NDUgIHwgMC45MTg1NTAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgVmFuaWxsYUpT
LVRvZG9NVkMgICAgICAgICAgICAgICAgICAgIHw0Ny43NDE2NjcgICAgfDQ3LjkxMTY2NyAgICB8
MS4wMDM1NjEgIHwgMC40OTc2NzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwKKyAgICAgICAgICAgIHwgalF1ZXJ5LVRvZG9NVkMgICAgICAgICAgICAgICAgICAgICAg
IHwyMDUuMjUxNjY3ICAgfDIwMy45MDMzMzMgICB8MC45OTM0MzEgIHwgMC4wMDA0MjAgKHNpZ25p
ZmljYW50KSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgRW1iZXJK
Uy1EZWJ1Zy1Ub2RvTVZDICAgICAgICAgICAgICAgIHwzMTIuNDQ4MzMzICAgfDMwOC44NDgzMzMg
ICB8MC45ODg0NzggIHwgMC4wMDAwMjAgKHNpZ25pZmljYW50KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwKKyAgICAgICAgICAgIHwgUmVhY3QtVG9kb01WQyAgICAgICAgICAgICAgICAgICAg
ICAgIHw3OC4zODE2NjcgICAgfDc4LjI2ODMzMyAgICB8MC45OTg1NTQgIHwgMC42NTQ2NDcgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgUmVh
Y3QtUmVkdXgtVG9kb01WQyAgICAgICAgICAgICAgICAgIHwxMzEuMjQ2NjY3ICAgfDEzMS42MjY2
NjcgICB8MS4wMDI4OTUgIHwgMC4xMzg5MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKKyAgICAgICAgICAgIHwgVmFuaWxsYS1FUzIwMTUtQmFiZWwtV2VicGFjay1U
b2RvTVZDIHw1Ny44NjAwMDAgICAgfDU3LjUzMzMzMyAgICB8MC45OTQzNTQgIHwgMC4xNTY1MzYg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgIGEgbWVhbiA9IDI5MC42MTEwNgorICAgICAgICAg
ICAgYiBtZWFuID0gMjkxLjIxNzY4CisgICAgICAgICAgICBwVmFsdWUgPSAwLjE0MTk5MzY4MTgK
KyAgICAgICAgICAgIChCaWdnZXIgbWVhbnMgYXJlIGJldHRlci4pCisgICAgICAgICAgICAxLjAw
MiB0aW1lcyBiZXR0ZXIKKyAgICAgICAgICAgIFJlc3VsdHMgQVJFIE5PVCBzaWduaWZpY2FudAor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6cHJlcGFyZUp1bXBUYWJsZUZvclN0cmluZ1N3aXRjaCk6CisgICAgICAgICogZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6
cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgICogZGZnL0RG
R0xhenlKU1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpDcm9zc1RocmVhZFN0cmluZ1Ry
YW5zbGF0b3I6Omhhc2gpOgorICAgICAgICAoSlNDOjpERkc6OkNyb3NzVGhyZWFkU3RyaW5nVHJh
bnNsYXRvcjo6ZXF1YWwpOgorICAgICAgICAoSlNDOjpERkc6OkNyb3NzVGhyZWFkU3RyaW5nVHJh
bnNsYXRvcjo6dHJhbnNsYXRlKToKKyAgICAgICAgKEpTQzo6REZHOjpMYXp5SlNWYWx1ZTo6dHJ5
R2V0U3RyaW5nIGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHTGF6eUpTVmFsdWUuaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpMYXp5SlNWYWx1ZTo6a25vd25TdHJpbmdJbXBsKToKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpmaW5hbGl6ZSk6CisgICAgICAgICog
aGVhcC9IZWFwLmg6CisgICAgICAgIChKU0M6OkhlYXA6OmFwcGVuZFBvc3NpYmx5QWNjZXNzZWRT
dHJpbmdGcm9tQ29uY3VycmVudFRocmVhZHMpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcu
aDoKKyAgICAgICAgKEpTQzo6SlNTdHJpbmc6OnN3YXBUb0F0b21TdHJpbmcgY29uc3QpOgorICAg
ICAgICAoSlNDOjpKU1N0cmluZzo6dG9JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKEpTQzo6
SlNTdHJpbmc6OnRvQXRvbVN0cmluZyBjb25zdCk6CisKIDIwMjItMDItMDYgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2FzbV0gcmVmLm51bGwgY2hlY2sg
c2hvdWxkIGJlIGRvbmUgZmlyc3QgaW4gQjMgY2FsbF9yZWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXgg
OTVkOTI5NmEwZjlmNTk4ODRiODJmM2ZlYjkyYmQxZWIxYmIwM2E5Yy4uNzkzZTA5ZjI2MzA1YjM3
OGZkMGVhNGIyOTgzYzI3MGViZjQ4YWI0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTQxODEsNyAr
NDE4MSw4IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVKdW1wVGFibGVGb3JTdHJpbmdTd2l0Y2goVW5s
aW5rZWRTdHJpbmdKdW1wVGFibGUmIGp1bXBUYWJsZSwKICAgICAgICAgQVNTRVJUKCFsYWJlbHNb
aV0tPmlzRm9yd2FyZCgpKTsKICAgICAgICAgCiAgICAgICAgIEFTU0VSVChub2Rlc1tpXS0+aXNT
dHJpbmcoKSk7Ci0gICAgICAgIFN0cmluZ0ltcGwqIGNsYXVzZSA9IHN0YXRpY19jYXN0PFN0cmlu
Z05vZGUqPihub2Rlc1tpXSktPnZhbHVlKCkuaW1wbCgpOworICAgICAgICBVbmlxdWVkU3RyaW5n
SW1wbCogY2xhdXNlID0gc3RhdGljX2Nhc3Q8U3RyaW5nTm9kZSo+KG5vZGVzW2ldKS0+dmFsdWUo
KS5pbXBsKCk7CisgICAgICAgIEFTU0VSVChjbGF1c2UtPmlzQXRvbSgpKTsKICAgICAgICAgYXV0
byByZXN1bHQgPSBqdW1wVGFibGUubV9vZmZzZXRUYWJsZS5hZGQoY2xhdXNlLCBVbmxpbmtlZFN0
cmluZ0p1bXBUYWJsZTo6T2Zmc2V0TG9jYXRpb24geyBsYWJlbHNbaV0tPmJpbmQoc3dpdGNoQWRk
cmVzcyksIDAgfSk7CiAgICAgICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgICAg
IHJlc3VsdC5pdGVyYXRvci0+dmFsdWUubV9pbmRleEluVGFibGUgPSBqdW1wVGFibGUubV9vZmZz
ZXRUYWJsZS5zaXplKCkgLSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAppbmRleCAyOGNmNzI1NjI0ZGQyN2M5YjRjYzk1NjcwY2MxOTYzNzA1
YWI3ZWNhLi4yYjZlNzBhZWY2ZmNkZjBjMDc0ZTI5NjEzZmYyNzJmN2QzMzJiN2IwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtNzAw
Nyw4ICs3MDA3LDkgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgICAgICB1bnNpZ25lZCB0YXJnZXQgPSBtX2N1cnJlbnRJbmRleC5v
ZmZzZXQoKSArIGVudHJ5LnZhbHVlLm1fYnJhbmNoT2Zmc2V0OwogICAgICAgICAgICAgICAgIGlm
ICh0YXJnZXQgPT0gZGF0YS5mYWxsVGhyb3VnaC5ieXRlY29kZUluZGV4KCkpCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIEFTU0VSVChlbnRyeS5rZXkuZ2V0
KCktPmlzQXRvbSgpKTsKICAgICAgICAgICAgICAgICBkYXRhLmNhc2VzLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICAgICAgU3dpdGNoQ2FzZTo6d2l0aEJ5dGVjb2RlSW5kZXgoTGF6eUpTVmFsdWU6
Omtub3duU3RyaW5nSW1wbChlbnRyeS5rZXkuZ2V0KCkpLCB0YXJnZXQpKTsKKyAgICAgICAgICAg
ICAgICAgICAgU3dpdGNoQ2FzZTo6d2l0aEJ5dGVjb2RlSW5kZXgoTGF6eUpTVmFsdWU6Omtub3du
U3RyaW5nSW1wbChzdGF0aWNfY2FzdDxBdG9tU3RyaW5nSW1wbCo+KGVudHJ5LmtleS5nZXQoKSkp
LCB0YXJnZXQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFkZFRvR3JhcGgoU3dpdGNo
LCBPcEluZm8oJmRhdGEpLCBnZXQoYnl0ZWNvZGUubV9zY3J1dGluZWUpKTsKICAgICAgICAgICAg
IGZsdXNoSWZUZXJtaW5hbChkYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHR3JhcGguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaApp
bmRleCA5M2JmYzY2M2Y5NmY2MWI3YjJiZmZmNDMwMTgzNTFjZTYwNTllMzU1Li5mYjkwMDQxYzVh
YzBmODUwZDgxNTA5OTg1MmFiMjIwOTI2ODA0OGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5oCkBAIC0xMTc2LDcgKzExNzYsNyBAQCBjbGFzcyBHcmFwaCBmaW5hbCA6IHB1Ymxp
YyB2aXJ0dWFsIFNjYW5uYWJsZSB7CiAgICAgVmVjdG9yPENhdGNoRW50cnlwb2ludERhdGE+IG1f
Y2F0Y2hFbnRyeXBvaW50czsKIAogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2xvY2FsU3RyaW5nczsK
LSAgICBIYXNoTWFwPGNvbnN0IFN0cmluZ0ltcGwqLCBTdHJpbmc+IG1fY29waWVkU3RyaW5nczsK
KyAgICBIYXNoU2V0PFN0cmluZz4gbV9jb3BpZWRTdHJpbmdzOwogCiAjaWYgVVNFKEpTVkFMVUUz
Ml82NCkKICAgICBIYXNoTWFwPEdlbmVyaWNIYXNoS2V5PGludDY0X3Q+LCBkb3VibGUqPiBtX2Rv
dWJsZUNvbnN0YW50c01hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTGF6eUpTVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5SlNW
YWx1ZS5jcHAKaW5kZXggM2FkYzZiODgwNTNkNTI4NjJkNjlkYWY3ODcxMDNhOThlNGVmNTJiYy4u
OTBmNTk4MWE2NDY3ZGI1ODZkOWZmYjBiZmY2ODRkNWEyNmEzZWUyNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5SlNWYWx1ZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5SlNWYWx1ZS5jcHAKQEAgLTEwNyw2ICsxMDcsMjMgQEAg
Y29uc3QgU3RyaW5nSW1wbCogTGF6eUpTVmFsdWU6OnRyeUdldFN0cmluZ0ltcGwoVk0mIHZtKSBj
b25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCitzdHJ1Y3QgQ3Jvc3NUaHJlYWRTdHJpbmdU
cmFuc2xhdG9yIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBTdHJpbmdJbXBsKiBp
bXBsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGltcGwtPmNvbmN1cnJlbnRIYXNoKCk7CisgICAg
fQorCisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IFN0
cmluZ0ltcGwqIGltcGwpCisgICAgeworICAgICAgICByZXR1cm4gV1RGOjplcXVhbChzdHJpbmcu
aW1wbCgpLCBpbXBsKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5n
JiBsb2NhdGlvbiwgY29uc3QgU3RyaW5nSW1wbCogaW1wbCwgdW5zaWduZWQpCisgICAgeworICAg
ICAgICBsb2NhdGlvbiA9IGltcGwtPmlzb2xhdGVkQ29weSgpOworICAgIH0KK307CisKIFN0cmlu
ZyBMYXp5SlNWYWx1ZTo6dHJ5R2V0U3RyaW5nKEdyYXBoJiBncmFwaCkgY29uc3QKIHsKICAgICBz
d2l0Y2ggKG1fa2luZCkgewpAQCAtMTIzLDEwICsxNDAsNyBAQCBTdHJpbmcgTGF6eUpTVmFsdWU6
OnRyeUdldFN0cmluZyhHcmFwaCYgZ3JhcGgpIGNvbnN0CiAgICAgICAgICAgICBpZiAoc3RyaW5n
LT5sZW5ndGgoKSA+IGdpbm9ybW91c1N0cmluZ0xlbmd0aCkKICAgICAgICAgICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gZ3Jh
cGgubV9jb3BpZWRTdHJpbmdzLmFkZChzdHJpbmcsIFN0cmluZygpKTsKLSAgICAgICAgICAgIGlm
IChyZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZh
bHVlID0gc3RyaW5nLT5pc29sYXRlZENvcHkoKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQu
aXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgcmV0dXJuICpncmFwaC5tX2NvcGllZFN0cmlu
Z3MuYWRkPENyb3NzVGhyZWFkU3RyaW5nVHJhbnNsYXRvcj4oc3RyaW5nKS5pdGVyYXRvcjsKICAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMYXp5SlNWYWx1ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdMYXp5SlNWYWx1ZS5oCmluZGV4IDdhMzM2NjZhYTcxYTFmNjY2Yzk0
YjI4YjY0NDc0ODRkNjdiYmI3ZDkuLjMzNGE0OTdlMjQ1OGM4YmM1Y2EwNzMzZWI0MTViNmE2Mzdl
YzQ3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGF6eUpTVmFs
dWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xhenlKU1ZhbHVlLmgKQEAg
LTY2LDcgKzY2LDcgQEAgY2xhc3MgTGF6eUpTVmFsdWUgewogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgTGF6eUpTVmFsdWUga25vd25TdHJpbmdJbXBsKFN0
cmluZ0ltcGwqIHN0cmluZykKKyAgICBzdGF0aWMgTGF6eUpTVmFsdWUga25vd25TdHJpbmdJbXBs
KEF0b21TdHJpbmdJbXBsKiBzdHJpbmcpCiAgICAgewogICAgICAgICBMYXp5SlNWYWx1ZSByZXN1
bHQ7CiAgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBLbm93blN0cmluZ0ltcGw7CkBAIC0xMDAsOCAr
MTAwLDYgQEAgY2xhc3MgTGF6eUpTVmFsdWUgewogICAgICAgICByZXR1cm4gdS5jaGFyYWN0ZXI7
CiAgICAgfQogCi0gICAgY29uc3QgU3RyaW5nSW1wbCogdHJ5R2V0U3RyaW5nSW1wbChWTSYpIGNv
bnN0OwotICAgIAogICAgIFN0cmluZyB0cnlHZXRTdHJpbmcoR3JhcGgmKSBjb25zdDsKICAgICAK
ICAgICBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKCkgY29uc3QKQEAgLTEyMCw2ICsxMTgsOCBAQCBj
bGFzcyBMYXp5SlNWYWx1ZSB7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwg
RHVtcENvbnRleHQqKSBjb25zdDsKICAgICAKIHByaXZhdGU6CisgICAgY29uc3QgU3RyaW5nSW1w
bCogdHJ5R2V0U3RyaW5nSW1wbChWTSYpIGNvbnN0OworICAgIAogICAgIHVuaW9uIHsKICAgICAg
ICAgRnJvemVuVmFsdWUqIHZhbHVlOwogICAgICAgICBVQ2hhciBjaGFyYWN0ZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDM1M2ZmMGRlOGU3NDdiODY5YjhhNTEyMzAxNTU5
YzZiMDllYTZjZTMuLjgwNmIxN2RlZmI1ZjI2ZWRiMzEzYTg2NDAxOTIyYTY5MTdkMDA3MDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0yMTU5LDYgKzIxNTksOCBAQCB2b2lk
IEhlYXA6OmZpbmFsaXplKCkKICAgICBpZiAobV9sYXN0Q29sbGVjdGlvblNjb3BlICYmIG1fbGFz
dENvbGxlY3Rpb25TY29wZS52YWx1ZSgpID09IENvbGxlY3Rpb25TY29wZTo6RnVsbCkKICAgICAg
ICAgdm0oKS5qc29uQXRvbVN0cmluZ0NhY2hlLmNsZWFyKCk7CiAKKyAgICBtX3Bvc3NpYmx5QWNj
ZXNzZWRTdHJpbmdzRnJvbUNvbmN1cnJlbnRUaHJlYWRzLmNsZWFyKCk7CisKICAgICBpbW11dGFi
bGVCdXR0ZXJmbHlUb1N0cmluZ0NhY2hlLmNsZWFyKCk7CiAgICAgCiAgICAgZm9yIChjb25zdCBI
ZWFwRmluYWxpemVyQ2FsbGJhY2smIGNhbGxiYWNrIDogbV9oZWFwRmluYWxpemVyQ2FsbGJhY2tz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCmluZGV4IDM3ZmEzZjExM2NlOGI1YjU0YjI0ZTJh
ODc0NDE2ODc0MTA1MTJjNzUuLmFhM2JjMWMzYjE5NTM5NmY1YjhkYWQzNDY2ZWMxZGI0OTRiZWE1
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKQEAgLTM4OSw2ICszODksMTEgQEAgY2xh
c3MgSGVhcCB7CiAKICAgICBib29sIGlzTWFya2luZ0ZvckdDVmVyaWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2lzTWFya2luZ0ZvckdDVmVyaWZpZXI7IH0KIAorICAgIHZvaWQgYXBwZW5kUG9zc2li
bHlBY2Nlc3NlZFN0cmluZ0Zyb21Db25jdXJyZW50VGhyZWFkcyhTdHJpbmcmJiBzdHJpbmcpCisg
ICAgeworICAgICAgICBtX3Bvc3NpYmx5QWNjZXNzZWRTdHJpbmdzRnJvbUNvbmN1cnJlbnRUaHJl
YWRzLmFwcGVuZChXVEZNb3ZlKHN0cmluZykpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgQWxsb2NhdGluZ1Njb3BlOwogICAgIGZyaWVuZCBjbGFzcyBDb2RlQmxvY2s7CkBA
IC02MzgsNiArNjQzLDggQEAgY2xhc3MgSGVhcCB7CiAKICAgICBWZWN0b3I8V2Vha0Jsb2NrKj4g
bV9sb2dpY2FsbHlFbXB0eVdlYWtCbG9ja3M7CiAgICAgc2l6ZV90IG1faW5kZXhPZk5leHRMb2dp
Y2FsbHlFbXB0eVdlYWtCbG9ja1RvU3dlZXAgeyBXVEY6Om5vdEZvdW5kIH07CisKKyAgICBWZWN0
b3I8U3RyaW5nPiBtX3Bvc3NpYmx5QWNjZXNzZWRTdHJpbmdzRnJvbUNvbmN1cnJlbnRUaHJlYWRz
OwogICAgIAogICAgIFJlZlB0cjxGdWxsR0NBY3Rpdml0eUNhbGxiYWNrPiBtX2Z1bGxBY3Rpdml0
eUNhbGxiYWNrOwogICAgIFJlZlB0cjxHQ0FjdGl2aXR5Q2FsbGJhY2s+IG1fZWRlbkFjdGl2aXR5
Q2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0
cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAppbmRleCAx
MmMxYTc2ZDkyOTg1NGQwOTUyYjhhNDUyZWM5YzljODhjMjE1Njg2Li44OTUzZjk0MTc2NWQ1OWZl
MTliMDE1ZjQxZjcyNzIzOGJlNDI1ZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1N0cmluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RyaW5nLmgKQEAgLTI0Niw2ICsyNDYsOCBAQCBjbGFzcyBKU1N0cmluZyA6IHB1YmxpYyBK
U0NlbGwgewogCiAgICAgU3RyaW5nVmlldyB1bnNhZmVWaWV3KEpTR2xvYmFsT2JqZWN0KikgY29u
c3Q7CiAKKyAgICB2b2lkIHN3YXBUb0F0b21TdHJpbmcoVk0mLCBSZWZQdHI8QXRvbVN0cmluZ0lt
cGw+JiYpIGNvbnN0OworCiAgICAgZnJpZW5kIEpTU3RyaW5nKiBqc1N0cmluZyhWTSYsIGNvbnN0
IFN0cmluZyYpOwogICAgIGZyaWVuZCBKU1N0cmluZyoganNTdHJpbmcoSlNHbG9iYWxPYmplY3Qq
LCBKU1N0cmluZyosIEpTU3RyaW5nKik7CiAgICAgZnJpZW5kIEpTU3RyaW5nKiBqc1N0cmluZyhK
U0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYsIEpTU3RyaW5nKik7CkBAIC03NjksNiArNzcx
LDE5IEBAIEFMV0FZU19JTkxJTkUgSWRlbnRpZmllciBKU1JvcGVTdHJpbmc6OnRvSWRlbnRpZmll
cihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIElkZW50aWZpZXI6OmZy
b21TdHJpbmcodm0sIGF0b21TdHJpbmcpOwogfQogCitBTFdBWVNfSU5MSU5FIHZvaWQgSlNTdHJp
bmc6OnN3YXBUb0F0b21TdHJpbmcoVk0mIHZtLCBSZWZQdHI8QXRvbVN0cmluZ0ltcGw+JiYgYXRv
bSkgY29uc3QKK3sKKyAgICAvLyBXZSByZXBsYWNlIGN1cnJlbnRseSBoZWxkIHN0cmluZyB3aXRo
IG5ldyBBdG9tU3RyaW5nLiBCdXQgdGhlIG9sZCBzdHJpbmcgY2FuIGJlIGFjY2Vzc2VkIGZyb20g
Y29uY3VycmVudCBjb21waWxlcnMgYW5kIEdDIHRocmVhZHMgYXQgYW55IHRpbWUuCisgICAgLy8g
U28sIHdlIGtlZXAgdGhlIG9sZCBzdHJpbmcgYWxpdmUgYnkgYXBwZW5kaW5nIGl0IHRvIEhlYXA6
Om1fcG9zc2libHlBY2Nlc3NlZFN0cmluZ3NGcm9tQ29uY3VycmVudFRocmVhZHMuIEFuZCBHQyBj
bGVhcnMgdGhhdCBsaXN0IHdoZW4gR0MgZmluaXNoZXMuCisgICAgLy8gVGhpcyBpcyBPSyBzaW5j
ZSAoMSkgd2hlbiBmaW5pc2hpbmcgR0MgY29uY3VycmVudCBjb21waWxlciB0aHJlYWRzIGFuZCBH
QyB0aHJlYWRzIGFyZSBzdG9wcGVkLCBhbmQgKDIpIEF0b21TdHJpbmcgaXMgYWxyZWFkeSBoZWxk
IGluIHRoZSBhdG9tIHRhYmxlLAorICAgIC8vIGFuZCB3ZSBhbnl3YXkga2VlcCB0aGlzIG9sZCBz
dHJpbmcgdW50aWwgdGhpcyBKU1N0cmluZyogaXMgR0MtZWQuIFNvIGl0IGRvZXMgbm90IGluY3Jl
YXNlIGFueSBtZW1vcnkgcHJlc3N1cmUsIHdlIHJlbGVhc2UgYXQgdGhlIHNhbWUgdGltaW5nLgor
ICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpICYmICFUaHJlYWQ6Om1heUJlR0NUaHJl
YWQoKSk7CisgICAgU3RyaW5nIHRhcmdldChXVEZNb3ZlKGF0b20pKTsKKyAgICBXVEY6OnN0b3Jl
U3RvcmVGZW5jZSgpOyAvLyBFbnN1cmUgQXRvbVN0cmluZ0ltcGwncyBzdHJpbmcgaXMgZnVsbHkg
aW5pdGlhbGl6ZWQgd2hlbiBpdCBpcyBleHBvc2VkIHRvIGNvbmN1cnJlbnQgdGhyZWFkcy4KKyAg
ICB2YWx1ZUludGVybmFsKCkuc3dhcCh0YXJnZXQpOworICAgIHZtLmhlYXAuYXBwZW5kUG9zc2li
bHlBY2Nlc3NlZFN0cmluZ0Zyb21Db25jdXJyZW50VGhyZWFkcyhXVEZNb3ZlKHRhcmdldCkpOwor
fQorCiBBTFdBWVNfSU5MSU5FIElkZW50aWZpZXIgSlNTdHJpbmc6OnRvSWRlbnRpZmllcihKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogewogICAgIGlmIGNvbnN0ZXhwciAodmFs
aWRhdGVERkdEb2VzR0MpCkBAIC03ODIsNiArNzk3LDEwIEBAIEFMV0FZU19JTkxJTkUgSWRlbnRp
ZmllciBKU1N0cmluZzo6dG9JZGVudGlmaWVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
IGNvCiAgICAgICAgIHZtLmxhc3RBdG9taXplZElkZW50aWZpZXJTdHJpbmdJbXBsID0gKnZhbHVl
SW50ZXJuYWwoKS5pbXBsKCk7CiAgICAgICAgIHZtLmxhc3RBdG9taXplZElkZW50aWZpZXJBdG9t
U3RyaW5nSW1wbCA9IEF0b21TdHJpbmdJbXBsOjphZGQodmFsdWVJbnRlcm5hbCgpLmltcGwoKSku
cmVsZWFzZU5vbk51bGwoKTsKICAgICB9CisgICAgLy8gSXQgaXMgcG9zc2libGUgdGhhdCBBdG9t
U3RyaW5nSW1wbDo6YWRkIGNvbnZlcnRzIGV4aXN0aW5nIHZhbHVlSW50ZXJuYWwoKSdzIFN0cmlu
Z0ltcGwgdG8gQXRvbWljU3RyaW5nSW1wbCwKKyAgICAvLyB0aHVzIHdlIG5lZWQgdG8gcmVjaGVj
ayBhdG9taWNpdHkgc3RhdHVzIGhlcmUuCisgICAgaWYgKCF2YWx1ZUludGVybmFsKCkuaW1wbCgp
LT5pc0F0b20oKSkKKyAgICAgICAgc3dhcFRvQXRvbVN0cmluZyh2bSwgUmVmUHRyIHsgdm0ubGFz
dEF0b21pemVkSWRlbnRpZmllckF0b21TdHJpbmdJbXBsLnB0cigpIH0pOwogICAgIHJldHVybiBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCBSZWYgeyB2bS5sYXN0QXRvbWl6ZWRJZGVudGlmaWVy
QXRvbVN0cmluZ0ltcGwgfSk7CiB9CiAKQEAgLTc5MSw3ICs4MTAsMTIgQEAgQUxXQVlTX0lOTElO
RSBBdG9tU3RyaW5nIEpTU3RyaW5nOjp0b0F0b21TdHJpbmcoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkgY28KICAgICAgICAgdm0oKS52ZXJpZnlDYW5HQygpOwogICAgIGlmIChpc1JvcGUo
KSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEpTUm9wZVN0cmluZyo+KHRoaXMp
LT5yZXNvbHZlUm9wZVRvQXRvbVN0cmluZyhnbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBBdG9t
U3RyaW5nKHZhbHVlSW50ZXJuYWwoKSk7CisgICAgQXRvbVN0cmluZyBhdG9tKHZhbHVlSW50ZXJu
YWwoKSk7CisgICAgLy8gSXQgaXMgcG9zc2libGUgdGhhdCBBdG9tU3RyaW5nIGNvbnN0cnVjdG9y
IGNvbnZlcnRzIGV4aXN0aW5nIHZhbHVlSW50ZXJuYWwoKSdzIFN0cmluZ0ltcGwgdG8gQXRvbWlj
U3RyaW5nSW1wbCwKKyAgICAvLyB0aHVzIHdlIG5lZWQgdG8gcmVjaGVjayBhdG9taWNpdHkgc3Rh
dHVzIGhlcmUuCisgICAgaWYgKCF2YWx1ZUludGVybmFsKCkuaW1wbCgpLT5pc0F0b20oKSkKKyAg
ICAgICAgc3dhcFRvQXRvbVN0cmluZyhnZXRWTShnbG9iYWxPYmplY3QpLCBSZWZQdHIgeyBhdG9t
LmltcGwoKSB9KTsKKyAgICByZXR1cm4gYXRvbTsKIH0KIAogQUxXQVlTX0lOTElORSBSZWZQdHI8
QXRvbVN0cmluZ0ltcGw+IEpTU3RyaW5nOjp0b0V4aXN0aW5nQXRvbVN0cmluZyhKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAo=
</data>
<flag name="review"
          id="477806"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>