<?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>195752</bug_id>
          
          <creation_ts>2019-03-14 11:35:00 -0700</creation_ts>
          <short_desc>REGRESSION(r242841): Fix conservative DFG OSR entry validation to accept values which will be stored in AnyInt / Double flush formats</short_desc>
          <delta_ts>2019-03-14 22:46:18 -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>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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1516550</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-14 11:35:00 -0700</bug_when>
    <thetext>[JSC] DFG OSR entry tends to reject Double and AnyInt values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516558</commentid>
    <comment_count>1</comment_count>
      <attachid>364670</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-14 11:48:38 -0700</bug_when>
    <thetext>Created attachment 364670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516608</commentid>
    <comment_count>2</comment_count>
      <attachid>364680</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-14 13:22:50 -0700</bug_when>
    <thetext>Created attachment 364680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516825</commentid>
    <comment_count>3</comment_count>
      <attachid>364680</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-14 18:49:09 -0700</bug_when>
    <thetext>Comment on attachment 364680
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        [JSC] DFG OSR entry tends to reject Double and AnyInt values

nit: this makes it seem like this is a longstanding issue. It&apos;s not. It regressed only recently. It&apos;d be good for this title to acknowledge that this just regressed.

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        We fix the bug skipping AbstractValue validations when the flush format is Double or AnyInt. But it

you should say what revision.
&quot;fix&quot; =&gt; &quot;fixed&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516899</commentid>
    <comment_count>4</comment_count>
      <attachid>364680</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-14 22:41:30 -0700</bug_when>
    <thetext>Comment on attachment 364680
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/ChangeLog:3
&gt;&gt; +        [JSC] DFG OSR entry tends to reject Double and AnyInt values
&gt; 
&gt; nit: this makes it seem like this is a longstanding issue. It&apos;s not. It regressed only recently. It&apos;d be good for this title to acknowledge that this just regressed.

Sounds nice! I changed the title to &quot;REGRESSION(r242841): Fix conservative DFG OSR entry validation to accept values which will be stored in AnyInt / Double flush formats&quot;

&gt;&gt; Source/JavaScriptCore/ChangeLog:8
&gt;&gt; +        We fix the bug skipping AbstractValue validations when the flush format is Double or AnyInt. But it
&gt; 
&gt; you should say what revision.
&gt; &quot;fix&quot; =&gt; &quot;fixed&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516900</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-14 22:45:15 -0700</bug_when>
    <thetext>Committed r242990: &lt;https://trac.webkit.org/changeset/242990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516901</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-14 22:46:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/48916051&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364670</attachid>
            <date>2019-03-14 11:48:38 -0700</date>
            <delta_ts>2019-03-14 13:22:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195752-20190314114837.patch</filename>
            <type>text/plain</type>
            <size>18162</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTEyMjUxYWJjZWY2NWQxMmExOTBmMDA1MWJjMDJiZDgzMTdkYjExLi5mNWQxYzAwOGEyMTdhZjNi
NzFhYTdkYzU2MjYyZmVhMDA5YjYwYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxOS0wMy0xNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZW50cnkgdGVuZHMgdG8gcmVqZWN0IERvdWJsZSBh
bmQgQW55SW50IHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1NzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2UgZml4IHRoZSBidWcgc2tpcHBpbmcgQWJzdHJhY3RWYWx1ZSB2YWxpZGF0aW9u
cyB3aGVuIHRoZSBmbHVzaCBmb3JtYXQgaXMgRG91YmxlIG9yIEFueUludC4gQnV0IGl0CisgICAg
ICAgIHdhcyB0b28gY29uc2VydmF0aXZlLiBXaGlsZSB2YWxpZGF0aW5nIGlucHV0cyB3aXRoIEFi
c3RyYWN0VmFsdWUgaXMgbWFuZGF0b3J5ICh3aXRob3V0IGl0LCB3aG9sZSBDRkEKKyAgICAgICAg
ZmFsbHMgaW50byB3cm9uZyBjb25kaXRpb24pLCBvdXIgdmFsaWRhdGlvbiBkb2VzIG5vdCBjYXJl
IEFueUludCBhbmQgRG91YmxlIHJlcHJlc2VudGF0aW9ucyBpbiBsb3dlcgorICAgICAgICB0aWVy
cy4gRm9yIGV4YW1wbGUsIGlmIGEgdmFsdWUgaXMgc3RvcmVkIGluIERvdWJsZSBmbHVzaCBmb3Jt
YXQgaW4gREZHLCBpdHMgQWJzdHJhY3RWYWx1ZSBiZWNvbWVzCisgICAgICAgIFNwZWNGdWxsRG91
YmxlLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIEludDMyIGFuZCBPU1IgZW50cnkgaXMg
cmVqZWN0ZWQgaWYgSW50MzIgY29tZXMgZm9yIERvdWJsZVJlcAorICAgICAgICBPU1IgZW50cnkg
dmFsdWUuIFRoaXMgaXMgd3Jvbmcgc2luY2Ugd2UgbGF0ZXIgY29udmVydCB0aGVzZSBudW1iZXJz
IGludG8gRG91YmxlUmVwIHJlcHJlc2VudGF0aW9uCisgICAgICAgIGJlZm9yZSBlbnRlcmluZyBE
RkcgY29kZS4KKworICAgICAgICBUaGlzIHBhdGNoIHBlcmZvcm1zIEFic3RyYWN0VmFsdWUgdmFs
aWRhdGlvbiBvbnRvIHRoZSBjb3JyZWN0bHkgY29udmVydGVkIHZhbHVlIHdpdGggZmx1c2ggZm9y
bWF0IGhpbnQuCisKKyAgICAgICAgQW5kIGl0IHN0aWxsIGRvZXMgbm90IGZpeCBPU1IgZW50cnkg
ZmFpbHVyZXMgaW4gbmF2aWVyLXN0b2tlcy4gVGhpcyBpcyBiZWNhdXNlIEFic3RyYWN0VmFsdWUg
cmVwcmVzZW50YXRpb24KKyAgICAgICAgaW4gbmF2aWVyLXN0b2tlcydzIGxpbl9zb2x2ZSB3YXMg
dG9vIHN0cmljdC4gVGhlbiwgdGhpcyBwYXRjaCByZXZlcnRzIHIyNDI2MjcuIEluc3RlYWQgb2Yg
cmVtb3ZpbmcgbXVzdCBoYW5kbGUKKyAgICAgICAgdmFsdWUgaGFuZGxpbmcgaW4gQ0ZBLCBERkcg
T1NSIGVudHJ5IG5vdyBjb3JyZWN0bHkgdmFsaWRhdGVzIGlucHV0cyB3aXRoIEFic3RyYWN0VmFs
dWVzIGV2ZW4gaWYgdGhlIGZsdXNoIGZvcm1hdAorICAgICAgICBpcyBEb3VibGUgb3IgQW55SW50
LiBBcyBsb25nIGFzIERGRyBPU1IgZW50cnkgdmFsaWRhdGVzIGlucHV0cywgbWVyZ2luZyBtdXN0
IGhhbmRsZSB2YWx1ZXMgYXMgcHJvdmVuIGNvbnN0YW50cyBpcyBPSy4KKworICAgICAgICBXZSBj
YW4gc2VlIHRoYXQgIyBvZiBPU1IgZW50cnkgZmFpbHVyZXMgaW4gbmF2aWVyLXN0b2tlcy5qcyBi
ZWNvbWVzIHRoZSBzYW1lIHRvIHRoZSBwcmV2aW91cyBjb3VudC4gQW5kIHdlIGNhbiBzZWUKKyAg
ICAgICAgQW55SW50IE9TUiBlbnRyeSBhY3R1YWxseSB3b3JrcyBpbiBtaWNyb2JlbmNobWFya3Mv
bGFyZ2UtaW50LmpzLiBIb3dldmVyLCBBbnlJbnQgZWZmZWN0IGlzIGhhcmQgdG8gb2JzZXJ2ZSBi
ZWNhdXNlIHRoaXMKKyAgICAgICAgaXMgc3VwZXIgcmFyZS4gU2luY2Ugd2UgaW5qZWN0IHR5cGUg
cHJlZGljdGlvbiBiYXNlZCBvbiBtdXN0IGhhbmRsZSB2YWx1ZSwgdGhlIGZsdXNoIGZvcm1hdCB0
ZW5kcyB0byBiZSBTcGVjQW55SW50QXNEb3VibGUKKyAgICAgICAgYW5kIGl0IGFjY2VwdHMgSlNW
YWx1ZXMgc2ltcGx5LgorCisgICAgICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgor
ICAgICAgICAoSlNDOjpkdW1wU3BlY3VsYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFj
dFZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpmaWx0ZXJWYWx1
ZUJ5VHlwZSk6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpBYnN0cmFjdFZhbHVlOjp2YWxpZGF0ZU9TUkVudHJ5VmFsdWUgY29uc3QpOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OnZhbGlkYXRlVHlwZUFjY2VwdGluZ0JveGVk
SW50NTIgY29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OnZhbGlkYXRl
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjp2YWxp
ZGF0ZVR5cGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdDRkFQaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6
Q0ZBUGhhc2U6OmluamVjdE9TUik6CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnBlcmZv
cm1CbG9ja0NGQSk6CisgICAgICAgICogZGZnL0RGR09TUkVudHJ5LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpwcmVwYXJlT1NSRW50cnkpOgorCiAyMDE5LTAzLTEzICBDYWlvIExpbWEgIDx0aWNh
aW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBDb2RlQmxvY2s6OnZpc2l0Q2hpbGRy
ZW4gaXMgcmVwb3J0aW5nIGV4dHJhIG1lbW9yeSBldmVuIHdoZW4gaXRzIEpJVENvZGUgaXMgc2lu
Z2xldG9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3Vs
YXRlZFR5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRU
eXBlLmNwcAppbmRleCBjYmEyMTE3NGZhMmIzMTY1YTc1YjE2ODNmZmFhNDE0OGNhNWZiZWE5Li40
NzUyOWIxMjQ4N2IzMWQ4NmFiODI1MzllZGU4YzQwYzY4ZjEyYmFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKQEAgLTI2MSw3ICsy
NjEsNyBAQCB2b2lkIGR1bXBTcGVjdWxhdGlvbihQcmludFN0cmVhbSYgb3V0U3RyZWFtLCBTcGVj
dWxhdGVkVHlwZSB2YWx1ZSkKICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CiAgICAgICAgIAog
ICAgICAgICBpZiAodmFsdWUgJiBTcGVjTm9uSW50QXNEb3VibGUpCi0gICAgICAgICAgICBzdHJP
dXQucHJpbnQoIk5vbkludEFzZG91YmxlIik7CisgICAgICAgICAgICBzdHJPdXQucHJpbnQoIk5v
bkludEFzRG91YmxlIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7
CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1
ZS5jcHAKaW5kZXggYjc5ZTZlNzgwZmQ1OWFiZDY5Y2Y5MjE0NDNmYzkxOWRlMDM2MmYyNS4uODRj
MjA4NWQ0YTFkZDBhY2MyY2Q5YjFmMjkwNGEyMDZjYjg5YTMyYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCkBAIC0zNDQsMTQgKzM0NCwxNCBA
QCB2b2lkIEFic3RyYWN0VmFsdWU6OmZpbHRlclZhbHVlQnlUeXBlKCkKICAgICBpZiAoISFtX3R5
cGUpIHsKICAgICAgICAgLy8gVGhlIHR5cGUgaXMgc3RpbGwgbm9uLWVtcHR5LiBJdCBtYXkgYmUg
dGhhdCB0aGUgbmV3IHR5cGUgcmVuZGVycwogICAgICAgICAvLyB0aGUgdmFsdWUgZW1wdHkgYmVj
YXVzZSBpdCBjb250cmF2ZW5lcyB0aGUgY29uc3RhbnQgdmFsdWUgd2UgaGFkLgotICAgICAgICBp
ZiAobV92YWx1ZSAmJiAhdmFsaWRhdGVUeXBlKG1fdmFsdWUpKQorICAgICAgICBpZiAobV92YWx1
ZSAmJiAhdmFsaWRhdGVUeXBlQWNjZXB0aW5nQm94ZWRJbnQ1MihtX3ZhbHVlKSkKICAgICAgICAg
ICAgIGNsZWFyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAgICAgLy8gVGhlIHR5
cGUgaGFzIGJlZW4gcmVuZGVyZWQgZW1wdHkuIFRoYXQgbWVhbnMgdGhhdCB0aGUgdmFsdWUgbXVz
dCBub3cgYmUgaW52YWxpZCwKICAgICAvLyBhcyB3ZWxsLgotICAgIEFTU0VSVCghbV92YWx1ZSB8
fCAhdmFsaWRhdGVUeXBlKG1fdmFsdWUpKTsKKyAgICBBU1NFUlQoIW1fdmFsdWUgfHwgIXZhbGlk
YXRlVHlwZUFjY2VwdGluZ0JveGVkSW50NTIobV92YWx1ZSkpOwogICAgIG1fdmFsdWUgPSBKU1Zh
bHVlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVl
LmgKaW5kZXggZWRmM2JjZTViMmY1NTUyNDE1ODUzMzYxMTVkODkwZjNhMWU1M2VhNS4uYTQ5MDI1
MzQyNjNkZmI4OGMzZDI3NTBmNzY4ZTNmMGNkMDkzYzUyMyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJBcnJheVByb2ZpbGUuaCIKICNpbmNsdWRlICJERkdBYnN0cmFjdFZhbHVlQ2xvYmJlckVwb2No
LmgiCiAjaW5jbHVkZSAiREZHRmlsdHJhdGlvblJlc3VsdC5oIgorI2luY2x1ZGUgIkRGR0ZsdXNo
Rm9ybWF0LmgiCiAjaW5jbHVkZSAiREZHRnJvemVuVmFsdWUuaCIKICNpbmNsdWRlICJERkdOb2Rl
RmxhZ3MuaCIKICNpbmNsdWRlICJERkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmgiCkBAIC0zNjks
NyArMzcwLDcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgIAogICAgIGJvb2wgY29udGFp
bnMoUmVnaXN0ZXJlZFN0cnVjdHVyZSkgY29uc3Q7CiAKLSAgICBib29sIHZhbGlkYXRlKEpTVmFs
dWUgdmFsdWUpIGNvbnN0CisgICAgYm9vbCB2YWxpZGF0ZU9TUkVudHJ5VmFsdWUoSlNWYWx1ZSB2
YWx1ZSwgRmx1c2hGb3JtYXQgZm9ybWF0KSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKGlzSGVh
cFRvcCgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zNzcsMTIgKzM3OCwxNyBAQCBz
dHJ1Y3QgQWJzdHJhY3RWYWx1ZSB7CiAgICAgICAgIGlmICghIW1fdmFsdWUgJiYgbV92YWx1ZSAh
PSB2YWx1ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIGlm
IChtZXJnZVNwZWN1bGF0aW9ucyhtX3R5cGUsIHNwZWN1bGF0aW9uRnJvbVZhbHVlKHZhbHVlKSkg
IT0gbV90eXBlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAg
aWYgKHZhbHVlLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgQVNTRVJUKG1fdHlwZSAmIFNwZWNF
bXB0eSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKGZvcm1hdCA9PSBG
bHVzaGVkSW50NTIpIHsKKyAgICAgICAgICAgIGlmICghdmFsaWRhdGVUeXBlQWNjZXB0aW5nQm94
ZWRJbnQ1Mih2YWx1ZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgaWYgKG1lcmdlU3BlY3VsYXRpb25zKG1fdHlwZSwgc3BlY3Vs
YXRpb25Gcm9tVmFsdWUodmFsdWUpKSAhPSBtX3R5cGUpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKSB7
CisgICAgICAgICAgICAgICAgQVNTRVJUKG1fdHlwZSAmIFNwZWNFbXB0eSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGlmICghIXZhbHVlICYmIHZhbHVlLmlzQ2VsbCgpKSB7CkBAIC00OTAsNyArNDk2LDcg
QEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgICAgICAgICAgbV9hcnJheU1vZGVzIHw9IHRv
OwogICAgIH0KICAgICAKLSAgICBib29sIHZhbGlkYXRlVHlwZShKU1ZhbHVlIHZhbHVlKSBjb25z
dAorICAgIGJvb2wgdmFsaWRhdGVUeXBlQWNjZXB0aW5nQm94ZWRJbnQ1MihKU1ZhbHVlIHZhbHVl
KSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKGlzSGVhcFRvcCgpKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NGQVBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwCmluZGV4
IGEwYTkwMWQwY2MzM2Y3MmQzM2Q2MTVlOGY5NjNjODUzNmEyZDkxZWEuLmFmZjZhMDc5YmZmOGFl
YTI5Y2Y1MGQ4YmZmNjU3M2Q2NDcwMjg5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ0ZBUGhhc2UuY3BwCkBAIC03NiwxMiArNzYsNjMgQEAgY2xhc3MgQ0ZBUGhhc2UgOiBwdWJs
aWMgUGhhc2UgewogICAgICAgICAKICAgICAgICAgbV9zdGF0ZS5pbml0aWFsaXplKCk7CiAgICAg
ICAgIAorICAgICAgICBpZiAobV9ncmFwaC5tX2Zvcm0gIT0gU1NBKSB7CisgICAgICAgICAgICBp
ZiAobV92ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgIFdpZGVuaW5nIHN0YXRl
IGF0IE9TUiBlbnRyeSBibG9jay5cbiIpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBX
aWRlbiB0aGUgYWJzdHJhY3QgdmFsdWVzIGF0IHRoZSBibG9jayB0aGF0IHNlcnZlcyBhcyB0aGUg
bXVzdC1oYW5kbGUgT1NSIGVudHJ5LgorICAgICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2Nr
SW5kZXggPSBtX2dyYXBoLm51bUJsb2NrcygpOyBibG9ja0luZGV4LS07KSB7CisgICAgICAgICAg
ICAgICAgQmFzaWNCbG9jayogYmxvY2sgPSBtX2dyYXBoLmJsb2NrKGJsb2NrSW5kZXgpOworICAg
ICAgICAgICAgICAgIGlmICghYmxvY2spCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICghYmxvY2stPmlzT1NSVGFyZ2V0
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBpZiAoYmxv
Y2stPmJ5dGVjb2RlQmVnaW4gIT0gbV9ncmFwaC5tX3BsYW4ub3NyRW50cnlCeXRlY29kZUluZGV4
KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIC8vIFdlIHJlY29yZCB0aGF0IHRoZSBibG9jayBuZWVkcyBzb21lIE9TUiBz
dHVmZiwgYnV0IHdlIGRvbid0IGRvIHRoYXQgeWV0LiBXZSB3YW50IHRvCisgICAgICAgICAgICAg
ICAgLy8gaGFuZGxlIE9TUiBlbnRyeSBkYXRhIGF0IHRoZSByaWdodCB0aW1lIGluIG9yZGVyIHRv
IGdldCB0aGUgYmVzdCBjb21waWxlIHRpbWVzLiBJZiB3ZQorICAgICAgICAgICAgICAgIC8vIHNp
bXBseSBpbmplY3RlZCBPU1IgZGF0YSByaWdodCBub3csIHRoZW4gd2UnZCBwb3RlbnRpYWxseSBj
YXVzZSBhIGxvb3AgYm9keSB0byBiZQorICAgICAgICAgICAgICAgIC8vIGludGVycHJldGVkIHdp
dGgganVzdCB0aGUgY29uc3RhbnRzIHdlIGZlZWQgaXQsIHdoaWNoIGlzIG1vcmUgZXhwZW5zaXZl
IHRoYW4gaWYgd2UKKyAgICAgICAgICAgICAgICAvLyBpbnRlcnByZXRlZCBpdCB3aXRoIG5vbi1j
b25zdGFudCB2YWx1ZXMuIElmIHdlIGFsd2F5cyBpbmplY3RlZCB0aGlzIGRhdGEgYWZ0ZXIgdGhl
CisgICAgICAgICAgICAgICAgLy8gbWFpbiBwYXNzIG9mIENGQSByYW4sIHRoZW4gd2Ugd291bGQg
cG90ZW50aWFsbHkgc3BlbmQgYSBidW5jaCBvZiB0aW1lIHJlcnVubmluZyBDRkEKKyAgICAgICAg
ICAgICAgICAvLyBhZnRlciBjb252ZXJnZW5jZS4gU28sIHdlIHRyeSB2ZXJ5IGhhcmQgdG8gaW5q
ZWN0IE9TUiBkYXRhIGZvciBhIGJsb2NrIHdoZW4gd2UgZmlyc3QKKyAgICAgICAgICAgICAgICAv
LyBuYXR1cmFsbHkgY29tZSB0byBzZWUgaXQgLSBzZWUgdGhlIG1fYmxvY2tzV2l0aE9TUiBjaGVj
ayBpbiBwZXJmb3JtQmxvY2tDRkEoKS4gVGhpcworICAgICAgICAgICAgICAgIC8vIHdheSwgd2U6
CisgICAgICAgICAgICAgICAgLy8KKyAgICAgICAgICAgICAgICAvLyAtIFJlZHVjZSB0aGUgbGlr
ZWxpaG9vZCBvZiBpbnRlcnByZXRpbmcgdGhlIGJsb2NrIHdpdGggY29uc3RhbnRzLCBzaW5jZSB3
ZSB3aWxsIGluamVjdAorICAgICAgICAgICAgICAgIC8vICAgdGhlIE9TUiBlbnRyeSBjb25zdGFu
dHMgb24gdG9wIG9mIHdoYXRldmVyIGFic3RyYWN0IHZhbHVlcyB3ZSBnb3QgZm9yIHRoYXQgYmxv
Y2sgb24KKyAgICAgICAgICAgICAgICAvLyAgIHRoZSBmaXJzdCBwYXNzLiBUaGUgbWl4IG9mIHRo
b3NlIHR3byB0aGluZ3MgaXMgbGlrZWx5IHRvIG5vdCBiZSBjb25zdGFudC4KKyAgICAgICAgICAg
ICAgICAvLworICAgICAgICAgICAgICAgIC8vIC0gUmVkdWNlIHRoZSB0b3RhbCBudW1iZXIgb2Yg
Q0ZBIHJlZXhlY3V0aW9ucyBzaW5jZSB3ZSBpbmplY3QgdGhlIE9TUiBkYXRhIGFzIHBhcnQgb2YK
KyAgICAgICAgICAgICAgICAvLyAgIHRoZSBub3JtYWwgZmxvdyBvZiBDRkEgaW5zdGVhZCBvZiBo
YXZpbmcgdG8gZG8gYSBzZWNvbmQgZml4cG9pbnQuIFdlIG1heSBzdGlsbCBoYXZlCisgICAgICAg
ICAgICAgICAgLy8gICB0byBkbyBhIHNlY29uZCBmaXhwb2ludCBpZiB3ZSBkb24ndCBldmVuIHJl
YWNoIHRoZSBPU1IgZW50cnkgYmxvY2sgZHVyaW5nIHRoZSBtYWluCisgICAgICAgICAgICAgICAg
Ly8gICBydW4gb2YgQ0ZBLCBidXQgaW4gdGhhdCBjYXNlIGF0IGxlYXN0IHdlJ3JlIG5vdCBiZWlu
ZyByZWR1bmRhbnQuCisgICAgICAgICAgICAgICAgbV9ibG9ja3NXaXRoT1NSLmFkZChibG9jayk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBkbyB7CiAgICAgICAgICAgICBt
X2NoYW5nZWQgPSBmYWxzZTsKICAgICAgICAgICAgIHBlcmZvcm1Gb3J3YXJkQ0ZBKCk7CiAgICAg
ICAgIH0gd2hpbGUgKG1fY2hhbmdlZCk7CiAgICAgICAgIAogICAgICAgICBpZiAobV9ncmFwaC5t
X2Zvcm0gIT0gU1NBKSB7CisgICAgICAgICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9
IG1fZ3JhcGgubnVtQmxvY2tzKCk7IGJsb2NrSW5kZXgtLTspIHsKKyAgICAgICAgICAgICAgICBC
YXNpY0Jsb2NrKiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CisgICAgICAgICAg
ICAgICAgaWYgKCFibG9jaykKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG1fYmxvY2tzV2l0aE9TUi5yZW1vdmUoYmxv
Y2spKQorICAgICAgICAgICAgICAgICAgICBtX2NoYW5nZWQgfD0gaW5qZWN0T1NSKGJsb2NrKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgd2hpbGUgKG1fY2hhbmdl
ZCkgeworICAgICAgICAgICAgICAgIG1fY2hhbmdlZCA9IGZhbHNlOworICAgICAgICAgICAgICAg
IHBlcmZvcm1Gb3J3YXJkQ0ZBKCk7CisgICAgICAgICAgICB9CisgICAgICAgIAogICAgICAgICAg
ICAgLy8gTWFrZSBzdXJlIHdlIHJlY29yZCB0aGUgaW50ZXJzZWN0aW9uIG9mIGFsbCBwcm9vZnMg
dGhhdCB3ZSBldmVyIGFsbG93ZWQgdGhlCiAgICAgICAgICAgICAvLyBjb21waWxlciB0byByZWx5
IHVwb24uCiAgICAgICAgICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9IG1fZ3JhcGgu
bnVtQmxvY2tzKCk7IGJsb2NrSW5kZXgtLTspIHsKQEAgLTEwNiw2ICsxNTcsNDkgQEAgY2xhc3Mg
Q0ZBUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgIH0KICAgICAKIHByaXZhdGU6CisgICAgYm9v
bCBpbmplY3RPU1IoQmFzaWNCbG9jayogYmxvY2spCisgICAgeworICAgICAgICBpZiAobV92ZXJi
b3NlKQorICAgICAgICAgICAgZGF0YUxvZygiICAgRm91bmQgbXVzdC1oYW5kbGUgYmxvY2s6ICIs
ICpibG9jaywgIlxuIik7CisgICAgICAgIAorICAgICAgICAvLyBUaGlzIG1lcmdlcyBzbmFwc2hv
dCBvZiBzdGFjayB2YWx1ZXMgd2hpbGUgQ0ZBIHBoYXNlIHdhbnQgdG8gaGF2ZSBwcm92ZW4gdHlw
ZXMgYW5kIHZhbHVlcy4gVGhpcyBpcyBzb21ld2hhdCB0cmlja3kuCisgICAgICAgIC8vIEJ1dCB0
aGlzIGlzIE9LIGFzIGxvbmcgYXMgREZHIE9TUiBlbnRyeSB2YWxpZGF0ZXMgdGhlIGlucHV0cyB3
aXRoIHRoaXMgKnByb3ZlbiogdmFsdWUuIEFuZCB3ZSB0dXJuIG91dCB0aGF0IHRoaXMKKyAgICAg
ICAgLy8gdHlwZSB3aWRlbmluZyBpcyBjcml0aWNhbCB0byBuYXZpZXItc3Rva2VzLiBXaXRob3V0
IGl0LCBuYXZpZXItc3Rva2VzIGhhcyBtb3JlIHN0cmljdCBjb25zdHJhaW50IG9uIE9TUiBlbnRy
eSBhbmQKKyAgICAgICAgLy8gZmFpbHMgT1NSIGVudHJ5IHJlcGVhdGVkbHkuCisgICAgICAgIGJv
b2wgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1Zh
bHVlPj4mIG11c3RIYW5kbGVWYWx1ZXMgPSBtX2dyYXBoLm1fcGxhbi5tdXN0SGFuZGxlVmFsdWVz
KCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSBtdXN0SGFuZGxlVmFsdWVzLnNpemUoKTsgaS0t
OykgeworICAgICAgICAgICAgaW50IG9wZXJhbmQgPSBtdXN0SGFuZGxlVmFsdWVzLm9wZXJhbmRG
b3JJbmRleChpKTsKKyAgICAgICAgICAgIE9wdGlvbmFsPEpTVmFsdWU+IHZhbHVlID0gbXVzdEhh
bmRsZVZhbHVlc1tpXTsKKyAgICAgICAgICAgIGlmICghdmFsdWUpIHsKKyAgICAgICAgICAgICAg
ICBpZiAobV92ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICBOb3QgbGl2
ZSBpbiBieXRlY29kZTogIiwgVmlydHVhbFJlZ2lzdGVyKG9wZXJhbmQpLCAiXG4iKTsKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIE5vZGUqIG5v
ZGUgPSBibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAg
ICBpZiAoIW5vZGUpIHsKKyAgICAgICAgICAgICAgICBpZiAobV92ZXJib3NlKQorICAgICAgICAg
ICAgICAgICAgICBkYXRhTG9nKCIgICBOb3QgbGl2ZTogIiwgVmlydHVhbFJlZ2lzdGVyKG9wZXJh
bmQpLCAiXG4iKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG1fdmVyYm9zZSkKKyAgICAgICAgICAgICAgICBk
YXRhTG9nKCIgICBXaWRlbmluZyAiLCBWaXJ0dWFsUmVnaXN0ZXIob3BlcmFuZCksICIgd2l0aCAi
LCB2YWx1ZS52YWx1ZSgpLCAiXG4iKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQWJzdHJh
Y3RWYWx1ZSYgdGFyZ2V0ID0gYmxvY2stPnZhbHVlc0F0SGVhZC5vcGVyYW5kKG9wZXJhbmQpOwor
ICAgICAgICAgICAgY2hhbmdlZCB8PSB0YXJnZXQubWVyZ2VPU1JFbnRyeVZhbHVlKG1fZ3JhcGgs
IHZhbHVlLnZhbHVlKCkpOworICAgICAgICAgICAgdGFyZ2V0LmZpeFR5cGVGb3JSZXByZXNlbnRh
dGlvbigKKyAgICAgICAgICAgICAgICBtX2dyYXBoLCByZXN1bHRGb3Iobm9kZS0+dmFyaWFibGVB
Y2Nlc3NEYXRhKCktPmZsdXNoRm9ybWF0KCkpLCBub2RlKTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgaWYgKGNoYW5nZWQgfHwgIWJsb2NrLT5jZmFIYXNWaXNpdGVkKSB7CisgICAgICAg
ICAgICBibG9jay0+Y2ZhU2hvdWxkUmV2aXNpdCA9IHRydWU7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICAKICAgICB2b2lkIHBlcmZvcm1CbG9ja0NGQShCYXNpY0Jsb2NrKiBibG9jaykKICAgICB7
CiAgICAgICAgIGlmICghYmxvY2spCkBAIC0xMTUsNiArMjA5LDkgQEAgY2xhc3MgQ0ZBUGhhc2Ug
OiBwdWJsaWMgUGhhc2UgewogICAgICAgICBpZiAobV92ZXJib3NlKQogICAgICAgICAgICAgZGF0
YUxvZygiICAgQmxvY2sgIiwgKmJsb2NrLCAiOlxuIik7CiAgICAgICAgIAorICAgICAgICBpZiAo
bV9ibG9ja3NXaXRoT1NSLnJlbW92ZShibG9jaykpCisgICAgICAgICAgICBpbmplY3RPU1IoYmxv
Y2spOworICAgICAgICAKICAgICAgICAgbV9zdGF0ZS5iZWdpbkJhc2ljQmxvY2soYmxvY2spOwog
ICAgICAgICBpZiAobV92ZXJib3NlKSB7CiAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBoZWFk
IHZhcnM6ICIsIGJsb2NrLT52YWx1ZXNBdEhlYWQsICJcbiIpOwpAQCAtMTcwLDYgKzI2Nyw3IEBA
IGNsYXNzIENGQVBoYXNlIDogcHVibGljIFBoYXNlIHsKIHByaXZhdGU6CiAgICAgSW5QbGFjZUFi
c3RyYWN0U3RhdGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VBYnN0
cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOworICAgIEJsb2NrU2V0IG1fYmxvY2tzV2l0aE9TUjsK
ICAgICAKICAgICBib29sIG1fdmVyYm9zZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFbnRyeS5jcHAKaW5kZXggY2JmMmJhYzU2NDA4YTUzYzZhNThjYmFjOWQwMWFlNjVi
ZDQ4Y2ZjYy4uNDI5OTczMDUxZmNkNmJlYjEzNDhjZTA5MDVlNGU1YTYxZDM4NDRhMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKQEAgLTEwMCw3ICsxMDAsNyBA
QCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVC
bG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbgogICAgIEFTU0VSVCghY29kZUJsb2NrLT5qaXRDb2Rl
TWFwKCkpOwogCiAgICAgaWYgKCFPcHRpb25zOjp1c2VPU1JFbnRyeVRvREZHKCkpCi0gICAgICAg
IHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmIChPcHRpb25zOjp2
ZXJib3NlT1NSKCkpIHsKICAgICAgICAgZGF0YUxvZygKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
KiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
dW5zaWduZWQgYnl0ZWNvZGVJbgogICAgICAgICAKICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJv
c2VPU1IoKSkKICAgICAgICAgICAgIGRhdGFMb2coIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdGhl
IHRhcmdldCBjb2RlIGJsb2NrIGlzIG5vdCBERkcuXG4iKTsKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICAKICAgICBKSVRDb2RlKiBqaXRDb2Rl
ID0gY29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQq
IHByZXBhcmVPU1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluCiAgICAgaWYgKCFlbnRyeSkgewogICAgICAgICBpZiAoT3B0aW9u
czo6dmVyYm9zZU9TUigpKQogICAgICAgICAgICAgZGF0YUxvZ0YoIiAgICBPU1IgZmFpbGVkIGJl
Y2F1c2UgdGhlIGVudHJ5cG9pbnQgd2FzIG9wdGltaXplZCBvdXQuXG4iKTsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICAKICAgICBBU1NFUlQo
ZW50cnktPm1fYnl0ZWNvZGVJbmRleCA9PSBieXRlY29kZUluZGV4KTsKQEAgLTE4Miw3ICsxODIs
NyBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNv
ZGVCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbgogICAgICAgICAgICAgICAgIGVudHJ5LT5tX2V4
cGVjdGVkVmFsdWVzLmFyZ3VtZW50KGFyZ3VtZW50KS5kdW1wKFdURjo6ZGF0YUZpbGUoKSk7CiAg
ICAgICAgICAgICAgICAgZGF0YUxvZ0YoIi5cbiIpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKQEAgLTE5MSw1MCArMTkxLDUwIEBAIHZvaWQq
IHByZXBhcmVPU1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHZhbHVlID0gZXhl
Yy0+YXJndW1lbnQoYXJndW1lbnQgLSAxKTsKICAgICAgICAgCi0gICAgICAgIGlmICghZW50cnkt
Pm1fZXhwZWN0ZWRWYWx1ZXMuYXJndW1lbnQoYXJndW1lbnQpLnZhbGlkYXRlKHZhbHVlKSkgewor
ICAgICAgICBpZiAoIWVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLmFyZ3VtZW50KGFyZ3VtZW50KS52
YWxpZGF0ZU9TUkVudHJ5VmFsdWUodmFsdWUsIEZsdXNoZWRKU1ZhbHVlKSkgewogICAgICAgICAg
ICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewogICAgICAgICAgICAgICAgIGRhdGFMb2co
CiAgICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIGFyZ3VtZW50ICIs
IGFyZ3VtZW50LCAiIGlzICIsIHZhbHVlLAogICAgICAgICAgICAgICAgICAgICAiLCBleHBlY3Rl
ZCAiLCBlbnRyeS0+bV9leHBlY3RlZFZhbHVlcy5hcmd1bWVudChhcmd1bWVudCksICIuXG4iKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgZm9yIChzaXplX3QgbG9jYWwg
PSAwOyBsb2NhbCA8IGVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLm51bWJlck9mTG9jYWxzKCk7ICsr
bG9jYWwpIHsKICAgICAgICAgaW50IGxvY2FsT2Zmc2V0ID0gdmlydHVhbFJlZ2lzdGVyRm9yTG9j
YWwobG9jYWwpLm9mZnNldCgpOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZXhlYy0+cmVnaXN0
ZXJzKClbbG9jYWxPZmZzZXRdLmFzYW5VbnNhZmVKU1ZhbHVlKCk7Ci0gICAgICAgIGlmICghZW50
cnktPm1fZXhwZWN0ZWRWYWx1ZXMubG9jYWwobG9jYWwpLnZhbGlkYXRlKHZhbHVlKSkgewotICAg
ICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewotICAgICAgICAgICAgICAgIGRh
dGFMb2coCi0gICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZhcmlh
YmxlICIsIFZpcnR1YWxSZWdpc3Rlcihsb2NhbE9mZnNldCksICIgaXMgIiwKKyAgICAgICAgRmx1
c2hGb3JtYXQgZm9ybWF0ID0gRmx1c2hlZEpTVmFsdWU7CisKKyAgICAgICAgaWYgKGVudHJ5LT5t
X2xvY2Fsc0ZvcmNlZEFueUludC5nZXQobG9jYWwpKSB7CisgICAgICAgICAgICBpZiAoIXZhbHVl
LmlzQW55SW50KCkpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG5JZihPcHRpb25zOjp2ZXJi
b3NlT1NSKCksCisgICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZh
cmlhYmxlICIsIGxvY2FsT2Zmc2V0LCAiIGlzICIsCiAgICAgICAgICAgICAgICAgICAgIHZhbHVl
LCAiLCBleHBlY3RlZCAiLAotICAgICAgICAgICAgICAgICAgICBlbnRyeS0+bV9leHBlY3RlZFZh
bHVlcy5sb2NhbChsb2NhbCksICIuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgIm1hY2hpbmUg
aW50LiIpOworICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAvLyBDb25zdGFudCBBbnlJbnQgdmFs
dWUgaXMgc3RvcmVkIGFzIHVzdWFsIGJveGVkIHZhbHVlIGluIEFic3RyYWN0VmFsdWUuCisgICAg
ICAgICAgICBmb3JtYXQgPSBGbHVzaGVkSW50NTI7CiAgICAgICAgIH0KKwogICAgICAgICBpZiAo
ZW50cnktPm1fbG9jYWxzRm9yY2VkRG91YmxlLmdldChsb2NhbCkpIHsKICAgICAgICAgICAgIGlm
ICghdmFsdWUuaXNOdW1iZXIoKSkgewotICAgICAgICAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJi
b3NlT1NSKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygKLSAgICAgICAgICAgICAg
ICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZhcmlhYmxlICIsIGxvY2FsT2Zmc2V0
LCAiIGlzICIsCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgIiwgZXhwZWN0ZWQgbnVt
YmVyLlxuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgICAgIGRhdGFMb2dMbklmKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSwKKyAgICAg
ICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUgIiwgbG9jYWxP
ZmZzZXQsICIgaXMgIiwKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUsICIsIGV4cGVjdGVkIG51
bWJlci4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgdmFsdWUgPSBqc0RvdWJsZU51bWJl
cih2YWx1ZS5hc051bWJlcigpKTsKKyAgICAgICAgICAgIGZvcm1hdCA9IEZsdXNoZWREb3VibGU7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGVudHJ5LT5tX2xvY2Fsc0ZvcmNlZEFueUludC5nZXQo
bG9jYWwpKSB7Ci0gICAgICAgICAgICBpZiAoIXZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewotICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKAot
ICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUg
IiwgbG9jYWxPZmZzZXQsICIgaXMgIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCAi
LCBleHBlY3RlZCAiLAotICAgICAgICAgICAgICAgICAgICAgICAgIm1hY2hpbmUgaW50LlxuIik7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKCFlbnRyeS0+bV9leHBl
Y3RlZFZhbHVlcy5sb2NhbChsb2NhbCkudmFsaWRhdGVPU1JFbnRyeVZhbHVlKHZhbHVlLCBmb3Jt
YXQpKSB7CisgICAgICAgICAgICBkYXRhTG9nTG5JZihPcHRpb25zOjp2ZXJib3NlT1NSKCksCisg
ICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUgIiwgVmlydHVh
bFJlZ2lzdGVyKGxvY2FsT2Zmc2V0KSwgIiBpcyAiLAorICAgICAgICAgICAgICAgIHZhbHVlLCAi
LCBleHBlY3RlZCAiLAorICAgICAgICAgICAgICAgIGVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLmxv
Y2FsKGxvY2FsKSwgIi4iKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9
CiAgICAgfQogCkBAIC0yNDksNyArMjQ5LDcgQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5KEV4ZWNT
dGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW4KICAg
ICBpZiAoVU5MSUtFTFkoIXZtLT5lbnN1cmVTdGFja0NhcGFjaXR5Rm9yKCZleGVjLT5yZWdpc3Rl
cnMoKVt2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVNpemVGb3JDaGVjayAtIDEpLm9mZnNl
dCgpXSkpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgICAg
ICBkYXRhTG9nRigiICAgIE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxu
Iik7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAg
ICAgCiAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364680</attachid>
            <date>2019-03-14 13:22:50 -0700</date>
            <delta_ts>2019-03-14 18:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195752-20190314132249.patch</filename>
            <type>text/plain</type>
            <size>18162</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NGQ1NjU5NmQyNDhjNmEzNmRhMmE0OTUxMTMyMWQ4NjRjYTkzN2YyLi4yMDgwYjYyNmJmY2M3OTcw
YTU3M2ZjOGVhNjM0MGFlM2ZiNGNjODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxOS0wMy0xNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBPU1IgZW50cnkgdGVuZHMgdG8gcmVqZWN0IERvdWJsZSBh
bmQgQW55SW50IHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1NzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2UgZml4IHRoZSBidWcgc2tpcHBpbmcgQWJzdHJhY3RWYWx1ZSB2YWxpZGF0aW9u
cyB3aGVuIHRoZSBmbHVzaCBmb3JtYXQgaXMgRG91YmxlIG9yIEFueUludC4gQnV0IGl0CisgICAg
ICAgIHdhcyB0b28gY29uc2VydmF0aXZlLiBXaGlsZSB2YWxpZGF0aW5nIGlucHV0cyB3aXRoIEFi
c3RyYWN0VmFsdWUgaXMgbWFuZGF0b3J5ICh3aXRob3V0IGl0LCB3aG9sZSBDRkEKKyAgICAgICAg
ZmFsbHMgaW50byB3cm9uZyBjb25kaXRpb24pLCBvdXIgdmFsaWRhdGlvbiBkb2VzIG5vdCBjYXJl
IEFueUludCBhbmQgRG91YmxlIHJlcHJlc2VudGF0aW9ucyBpbiBsb3dlcgorICAgICAgICB0aWVy
cy4gRm9yIGV4YW1wbGUsIGlmIGEgdmFsdWUgaXMgc3RvcmVkIGluIERvdWJsZSBmbHVzaCBmb3Jt
YXQgaW4gREZHLCBpdHMgQWJzdHJhY3RWYWx1ZSBiZWNvbWVzCisgICAgICAgIFNwZWNGdWxsRG91
YmxlLiBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIEludDMyIGFuZCBPU1IgZW50cnkgaXMg
cmVqZWN0ZWQgaWYgSW50MzIgY29tZXMgZm9yIERvdWJsZVJlcAorICAgICAgICBPU1IgZW50cnkg
dmFsdWUuIFRoaXMgaXMgd3Jvbmcgc2luY2Ugd2UgbGF0ZXIgY29udmVydCB0aGVzZSBudW1iZXJz
IGludG8gRG91YmxlUmVwIHJlcHJlc2VudGF0aW9uCisgICAgICAgIGJlZm9yZSBlbnRlcmluZyBE
RkcgY29kZS4KKworICAgICAgICBUaGlzIHBhdGNoIHBlcmZvcm1zIEFic3RyYWN0VmFsdWUgdmFs
aWRhdGlvbiBvbnRvIHRoZSBjb3JyZWN0bHkgY29udmVydGVkIHZhbHVlIHdpdGggZmx1c2ggZm9y
bWF0IGhpbnQuCisKKyAgICAgICAgQW5kIGl0IHN0aWxsIGRvZXMgbm90IGZpeCBPU1IgZW50cnkg
ZmFpbHVyZXMgaW4gbmF2aWVyLXN0b2tlcy4gVGhpcyBpcyBiZWNhdXNlIEFic3RyYWN0VmFsdWUg
cmVwcmVzZW50YXRpb24KKyAgICAgICAgaW4gbmF2aWVyLXN0b2tlcydzIGxpbl9zb2x2ZSB3YXMg
dG9vIHN0cmljdC4gVGhlbiwgdGhpcyBwYXRjaCByZXZlcnRzIHIyNDI2MjcuIEluc3RlYWQgb2Yg
cmVtb3ZpbmcgbXVzdCBoYW5kbGUKKyAgICAgICAgdmFsdWUgaGFuZGxpbmcgaW4gQ0ZBLCBERkcg
T1NSIGVudHJ5IG5vdyBjb3JyZWN0bHkgdmFsaWRhdGVzIGlucHV0cyB3aXRoIEFic3RyYWN0VmFs
dWVzIGV2ZW4gaWYgdGhlIGZsdXNoIGZvcm1hdAorICAgICAgICBpcyBEb3VibGUgb3IgQW55SW50
LiBBcyBsb25nIGFzIERGRyBPU1IgZW50cnkgdmFsaWRhdGVzIGlucHV0cywgbWVyZ2luZyBtdXN0
IGhhbmRsZSB2YWx1ZXMgYXMgcHJvdmVuIGNvbnN0YW50cyBpcyBPSy4KKworICAgICAgICBXZSBj
YW4gc2VlIHRoYXQgIyBvZiBPU1IgZW50cnkgZmFpbHVyZXMgaW4gbmF2aWVyLXN0b2tlcy5qcyBi
ZWNvbWVzIHRoZSBzYW1lIHRvIHRoZSBwcmV2aW91cyBjb3VudC4gQW5kIHdlIGNhbiBzZWUKKyAg
ICAgICAgQW55SW50IE9TUiBlbnRyeSBhY3R1YWxseSB3b3JrcyBpbiBtaWNyb2JlbmNobWFya3Mv
bGFyZ2UtaW50LmpzLiBIb3dldmVyLCBBbnlJbnQgZWZmZWN0IGlzIGhhcmQgdG8gb2JzZXJ2ZSBi
ZWNhdXNlIHRoaXMKKyAgICAgICAgaXMgc3VwZXIgcmFyZS4gU2luY2Ugd2UgaW5qZWN0IHR5cGUg
cHJlZGljdGlvbiBiYXNlZCBvbiBtdXN0IGhhbmRsZSB2YWx1ZSwgdGhlIGZsdXNoIGZvcm1hdCB0
ZW5kcyB0byBiZSBTcGVjQW55SW50QXNEb3VibGUKKyAgICAgICAgYW5kIGl0IGFjY2VwdHMgSlNW
YWx1ZXMgc2ltcGx5LgorCisgICAgICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgor
ICAgICAgICAoSlNDOjpkdW1wU3BlY3VsYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFj
dFZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpmaWx0ZXJWYWx1
ZUJ5VHlwZSk6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpBYnN0cmFjdFZhbHVlOjp2YWxpZGF0ZU9TUkVudHJ5VmFsdWUgY29uc3QpOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OnZhbGlkYXRlVHlwZUFjY2VwdGluZ0JveGVk
SW50NTIgY29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OnZhbGlkYXRl
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjp2YWxp
ZGF0ZVR5cGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdDRkFQaGFzZS5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6
Q0ZBUGhhc2U6OmluamVjdE9TUik6CisgICAgICAgIChKU0M6OkRGRzo6Q0ZBUGhhc2U6OnBlcmZv
cm1CbG9ja0NGQSk6CisgICAgICAgICogZGZnL0RGR09TUkVudHJ5LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpwcmVwYXJlT1NSRW50cnkpOgorCiAyMDE5LTAzLTE0ICBNaWNoYWVsIFNhYm9mZiAg
PG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IHJlZ2V4cC0+
aXNWYWxpZCgpIG9yIEFTU0VSVElPTiBGQUlMRUQ6ICFpc0NvbXBpbGF0aW9uVGhyZWFkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCmlu
ZGV4IGNiYTIxMTc0ZmEyYjMxNjVhNzViMTY4M2ZmYWE0MTQ4Y2E1ZmJlYTkuLjQ3NTI5YjEyNDg3
YjMxZDg2YWI4MjUzOWVkZThjNDBjNjhmMTJiYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcApAQCAtMjYxLDcgKzI2MSw3IEBAIHZv
aWQgZHVtcFNwZWN1bGF0aW9uKFByaW50U3RyZWFtJiBvdXRTdHJlYW0sIFNwZWN1bGF0ZWRUeXBl
IHZhbHVlKQogICAgICAgICAgICAgaXNUb3AgPSBmYWxzZTsKICAgICAgICAgCiAgICAgICAgIGlm
ICh2YWx1ZSAmIFNwZWNOb25JbnRBc0RvdWJsZSkKLSAgICAgICAgICAgIHN0ck91dC5wcmludCgi
Tm9uSW50QXNkb3VibGUiKTsKKyAgICAgICAgICAgIHN0ck91dC5wcmludCgiTm9uSW50QXNEb3Vi
bGUiKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgaXNUb3AgPSBmYWxzZTsKICAgICAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVlLmNwcAppbmRl
eCBiNzllNmU3ODBmZDU5YWJkNjljZjkyMTQ0M2ZjOTE5ZGUwMzYyZjI1Li44NGMyMDg1ZDRhMWRk
MGFjYzJjZDliMWYyOTA0YTIwNmNiODlhMzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5jcHAKQEAgLTM0NCwxNCArMzQ0LDE0IEBAIHZvaWQgQWJz
dHJhY3RWYWx1ZTo6ZmlsdGVyVmFsdWVCeVR5cGUoKQogICAgIGlmICghIW1fdHlwZSkgewogICAg
ICAgICAvLyBUaGUgdHlwZSBpcyBzdGlsbCBub24tZW1wdHkuIEl0IG1heSBiZSB0aGF0IHRoZSBu
ZXcgdHlwZSByZW5kZXJzCiAgICAgICAgIC8vIHRoZSB2YWx1ZSBlbXB0eSBiZWNhdXNlIGl0IGNv
bnRyYXZlbmVzIHRoZSBjb25zdGFudCB2YWx1ZSB3ZSBoYWQuCi0gICAgICAgIGlmIChtX3ZhbHVl
ICYmICF2YWxpZGF0ZVR5cGUobV92YWx1ZSkpCisgICAgICAgIGlmIChtX3ZhbHVlICYmICF2YWxp
ZGF0ZVR5cGVBY2NlcHRpbmdCb3hlZEludDUyKG1fdmFsdWUpKQogICAgICAgICAgICAgY2xlYXIo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAgICAvLyBUaGUgdHlwZSBoYXMgYmVl
biByZW5kZXJlZCBlbXB0eS4gVGhhdCBtZWFucyB0aGF0IHRoZSB2YWx1ZSBtdXN0IG5vdyBiZSBp
bnZhbGlkLAogICAgIC8vIGFzIHdlbGwuCi0gICAgQVNTRVJUKCFtX3ZhbHVlIHx8ICF2YWxpZGF0
ZVR5cGUobV92YWx1ZSkpOworICAgIEFTU0VSVCghbV92YWx1ZSB8fCAhdmFsaWRhdGVUeXBlQWNj
ZXB0aW5nQm94ZWRJbnQ1MihtX3ZhbHVlKSk7CiAgICAgbV92YWx1ZSA9IEpTVmFsdWUoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFZhbHVl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuaAppbmRleCBl
ZGYzYmNlNWIyZjU1NTI0MTU4NTMzNjExNWQ4OTBmM2ExZTUzZWE1Li5hNDkwMjUzNDI2M2RmYjg4
YzNkMjc1MGY3NjhlM2YwY2QwOTNjNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0VmFsdWUuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFycmF5UHJv
ZmlsZS5oIgogI2luY2x1ZGUgIkRGR0Fic3RyYWN0VmFsdWVDbG9iYmVyRXBvY2guaCIKICNpbmNs
dWRlICJERkdGaWx0cmF0aW9uUmVzdWx0LmgiCisjaW5jbHVkZSAiREZHRmx1c2hGb3JtYXQuaCIK
ICNpbmNsdWRlICJERkdGcm96ZW5WYWx1ZS5oIgogI2luY2x1ZGUgIkRGR05vZGVGbGFncy5oIgog
I2luY2x1ZGUgIkRGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuaCIKQEAgLTM2OSw3ICszNzAsNyBA
QCBzdHJ1Y3QgQWJzdHJhY3RWYWx1ZSB7CiAgICAgCiAgICAgYm9vbCBjb250YWlucyhSZWdpc3Rl
cmVkU3RydWN0dXJlKSBjb25zdDsKIAotICAgIGJvb2wgdmFsaWRhdGUoSlNWYWx1ZSB2YWx1ZSkg
Y29uc3QKKyAgICBib29sIHZhbGlkYXRlT1NSRW50cnlWYWx1ZShKU1ZhbHVlIHZhbHVlLCBGbHVz
aEZvcm1hdCBmb3JtYXQpIGNvbnN0CiAgICAgewogICAgICAgICBpZiAoaXNIZWFwVG9wKCkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM3NywxMiArMzc4LDE3IEBAIHN0cnVjdCBBYnN0
cmFjdFZhbHVlIHsKICAgICAgICAgaWYgKCEhbV92YWx1ZSAmJiBtX3ZhbHVlICE9IHZhbHVlKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgaWYgKG1lcmdlU3Bl
Y3VsYXRpb25zKG1fdHlwZSwgc3BlY3VsYXRpb25Gcm9tVmFsdWUodmFsdWUpKSAhPSBtX3R5cGUp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBpZiAodmFsdWUu
aXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90eXBlICYgU3BlY0VtcHR5KTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoZm9ybWF0ID09IEZsdXNoZWRJbnQ1
MikgeworICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVR5cGVBY2NlcHRpbmdCb3hlZEludDUyKHZh
bHVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAobWVyZ2VTcGVjdWxhdGlvbnMobV90eXBlLCBzcGVjdWxhdGlvbkZyb21W
YWx1ZSh2YWx1ZSkpICE9IG1fdHlwZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQobV90eXBlICYgU3BlY0VtcHR5KTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYg
KCEhdmFsdWUgJiYgdmFsdWUuaXNDZWxsKCkpIHsKQEAgLTQ5MCw3ICs0OTYsNyBAQCBzdHJ1Y3Qg
QWJzdHJhY3RWYWx1ZSB7CiAgICAgICAgICAgICBtX2FycmF5TW9kZXMgfD0gdG87CiAgICAgfQog
ICAgIAotICAgIGJvb2wgdmFsaWRhdGVUeXBlKEpTVmFsdWUgdmFsdWUpIGNvbnN0CisgICAgYm9v
bCB2YWxpZGF0ZVR5cGVBY2NlcHRpbmdCb3hlZEludDUyKEpTVmFsdWUgdmFsdWUpIGNvbnN0CiAg
ICAgewogICAgICAgICBpZiAoaXNIZWFwVG9wKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZBUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFzZS5jcHAKaW5kZXggYTBhOTAxZDBj
YzMzZjcyZDMzZDYxNWU4Zjk2M2M4NTM2YTJkOTFlYS4uMjE0NTQ2MzY0NTljNTFmN2MyOGZiNmE0
NmM2M2JjMzkzNDUxNmFiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDRkFQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkFQaGFz
ZS5jcHAKQEAgLTc2LDEyICs3Niw2MyBAQCBjbGFzcyBDRkFQaGFzZSA6IHB1YmxpYyBQaGFzZSB7
CiAgICAgICAgIAogICAgICAgICBtX3N0YXRlLmluaXRpYWxpemUoKTsKICAgICAgICAgCisgICAg
ICAgIGlmIChtX2dyYXBoLm1fZm9ybSAhPSBTU0EpIHsKKyAgICAgICAgICAgIGlmIChtX3ZlcmJv
c2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgV2lkZW5pbmcgc3RhdGUgYXQgT1NSIGVu
dHJ5IGJsb2NrLlxuIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIFdpZGVuIHRoZSBh
YnN0cmFjdCB2YWx1ZXMgYXQgdGhlIGJsb2NrIHRoYXQgc2VydmVzIGFzIHRoZSBtdXN0LWhhbmRs
ZSBPU1IgZW50cnkuCisgICAgICAgICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9IG1f
Z3JhcGgubnVtQmxvY2tzKCk7IGJsb2NrSW5kZXgtLTspIHsKKyAgICAgICAgICAgICAgICBCYXNp
Y0Jsb2NrKiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CisgICAgICAgICAgICAg
ICAgaWYgKCFibG9jaykKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCFibG9jay0+aXNPU1JUYXJnZXQpCisgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlmIChibG9jay0+Ynl0ZWNv
ZGVCZWdpbiAhPSBtX2dyYXBoLm1fcGxhbi5vc3JFbnRyeUJ5dGVjb2RlSW5kZXgoKSkKKyAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgLy8gV2UgcmVjb3JkIHRoYXQgdGhlIGJsb2NrIG5lZWRzIHNvbWUgT1NSIHN0dWZmLCBidXQg
d2UgZG9uJ3QgZG8gdGhhdCB5ZXQuIFdlIHdhbnQgdG8KKyAgICAgICAgICAgICAgICAvLyBoYW5k
bGUgT1NSIGVudHJ5IGRhdGEgYXQgdGhlIHJpZ2h0IHRpbWUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBi
ZXN0IGNvbXBpbGUgdGltZXMuIElmIHdlCisgICAgICAgICAgICAgICAgLy8gc2ltcGx5IGluamVj
dGVkIE9TUiBkYXRhIHJpZ2h0IG5vdywgdGhlbiB3ZSdkIHBvdGVudGlhbGx5IGNhdXNlIGEgbG9v
cCBib2R5IHRvIGJlCisgICAgICAgICAgICAgICAgLy8gaW50ZXJwcmV0ZWQgd2l0aCBqdXN0IHRo
ZSBjb25zdGFudHMgd2UgZmVlZCBpdCwgd2hpY2ggaXMgbW9yZSBleHBlbnNpdmUgdGhhbiBpZiB3
ZQorICAgICAgICAgICAgICAgIC8vIGludGVycHJldGVkIGl0IHdpdGggbm9uLWNvbnN0YW50IHZh
bHVlcy4gSWYgd2UgYWx3YXlzIGluamVjdGVkIHRoaXMgZGF0YSBhZnRlciB0aGUKKyAgICAgICAg
ICAgICAgICAvLyBtYWluIHBhc3Mgb2YgQ0ZBIHJhbiwgdGhlbiB3ZSB3b3VsZCBwb3RlbnRpYWxs
eSBzcGVuZCBhIGJ1bmNoIG9mIHRpbWUgcmVydW5uaW5nIENGQQorICAgICAgICAgICAgICAgIC8v
IGFmdGVyIGNvbnZlcmdlbmNlLiBTbywgd2UgdHJ5IHZlcnkgaGFyZCB0byBpbmplY3QgT1NSIGRh
dGEgZm9yIGEgYmxvY2sgd2hlbiB3ZSBmaXJzdAorICAgICAgICAgICAgICAgIC8vIG5hdHVyYWxs
eSBjb21lIHRvIHNlZSBpdCAtIHNlZSB0aGUgbV9ibG9ja3NXaXRoT1NSIGNoZWNrIGluIHBlcmZv
cm1CbG9ja0NGQSgpLiBUaGlzCisgICAgICAgICAgICAgICAgLy8gd2F5LCB3ZToKKyAgICAgICAg
ICAgICAgICAvLworICAgICAgICAgICAgICAgIC8vIC0gUmVkdWNlIHRoZSBsaWtlbGlob29kIG9m
IGludGVycHJldGluZyB0aGUgYmxvY2sgd2l0aCBjb25zdGFudHMsIHNpbmNlIHdlIHdpbGwgaW5q
ZWN0CisgICAgICAgICAgICAgICAgLy8gICB0aGUgT1NSIGVudHJ5IGNvbnN0YW50cyBvbiB0b3Ag
b2Ygd2hhdGV2ZXIgYWJzdHJhY3QgdmFsdWVzIHdlIGdvdCBmb3IgdGhhdCBibG9jayBvbgorICAg
ICAgICAgICAgICAgIC8vICAgdGhlIGZpcnN0IHBhc3MuIFRoZSBtaXggb2YgdGhvc2UgdHdvIHRo
aW5ncyBpcyBsaWtlbHkgdG8gbm90IGJlIGNvbnN0YW50LgorICAgICAgICAgICAgICAgIC8vCisg
ICAgICAgICAgICAgICAgLy8gLSBSZWR1Y2UgdGhlIHRvdGFsIG51bWJlciBvZiBDRkEgcmVleGVj
dXRpb25zIHNpbmNlIHdlIGluamVjdCB0aGUgT1NSIGRhdGEgYXMgcGFydCBvZgorICAgICAgICAg
ICAgICAgIC8vICAgdGhlIG5vcm1hbCBmbG93IG9mIENGQSBpbnN0ZWFkIG9mIGhhdmluZyB0byBk
byBhIHNlY29uZCBmaXhwb2ludC4gV2UgbWF5IHN0aWxsIGhhdmUKKyAgICAgICAgICAgICAgICAv
LyAgIHRvIGRvIGEgc2Vjb25kIGZpeHBvaW50IGlmIHdlIGRvbid0IGV2ZW4gcmVhY2ggdGhlIE9T
UiBlbnRyeSBibG9jayBkdXJpbmcgdGhlIG1haW4KKyAgICAgICAgICAgICAgICAvLyAgIHJ1biBv
ZiBDRkEsIGJ1dCBpbiB0aGF0IGNhc2UgYXQgbGVhc3Qgd2UncmUgbm90IGJlaW5nIHJlZHVuZGFu
dC4KKyAgICAgICAgICAgICAgICBtX2Jsb2Nrc1dpdGhPU1IuYWRkKGJsb2NrKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIGRvIHsKICAgICAgICAgICAgIG1fY2hhbmdlZCA9
IGZhbHNlOwogICAgICAgICAgICAgcGVyZm9ybUZvcndhcmRDRkEoKTsKICAgICAgICAgfSB3aGls
ZSAobV9jaGFuZ2VkKTsKICAgICAgICAgCiAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9ybSAhPSBT
U0EpIHsKKyAgICAgICAgICAgIGZvciAoQmxvY2tJbmRleCBibG9ja0luZGV4ID0gbV9ncmFwaC5u
dW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAgICAgICAgICAgICAgIEJhc2ljQmxvY2sq
IGJsb2NrID0gbV9ncmFwaC5ibG9jayhibG9ja0luZGV4KTsKKyAgICAgICAgICAgICAgICBpZiAo
IWJsb2NrKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBpZiAobV9ibG9ja3NXaXRoT1NSLnJlbW92ZShibG9jaykpCisgICAg
ICAgICAgICAgICAgICAgIG1fY2hhbmdlZCB8PSBpbmplY3RPU1IoYmxvY2spOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICB3aGlsZSAobV9jaGFuZ2VkKSB7CisgICAg
ICAgICAgICAgICAgbV9jaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGVyZm9ybUZv
cndhcmRDRkEoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgICAgICAvLyBNYWtl
IHN1cmUgd2UgcmVjb3JkIHRoZSBpbnRlcnNlY3Rpb24gb2YgYWxsIHByb29mcyB0aGF0IHdlIGV2
ZXIgYWxsb3dlZCB0aGUKICAgICAgICAgICAgIC8vIGNvbXBpbGVyIHRvIHJlbHkgdXBvbi4KICAg
ICAgICAgICAgIGZvciAoQmxvY2tJbmRleCBibG9ja0luZGV4ID0gbV9ncmFwaC5udW1CbG9ja3Mo
KTsgYmxvY2tJbmRleC0tOykgewpAQCAtMTA2LDYgKzE1Nyw0OSBAQCBjbGFzcyBDRkFQaGFzZSA6
IHB1YmxpYyBQaGFzZSB7CiAgICAgfQogICAgIAogcHJpdmF0ZToKKyAgICBib29sIGluamVjdE9T
UihCYXNpY0Jsb2NrKiBibG9jaykKKyAgICB7CisgICAgICAgIGlmIChtX3ZlcmJvc2UpCisgICAg
ICAgICAgICBkYXRhTG9nKCIgICBGb3VuZCBtdXN0LWhhbmRsZSBibG9jazogIiwgKmJsb2NrLCAi
XG4iKTsKKyAgICAgICAgCisgICAgICAgIC8vIFRoaXMgbWVyZ2VzIHNuYXBzaG90IG9mIHN0YWNr
IHZhbHVlcyB3aGlsZSBDRkEgcGhhc2Ugd2FudCB0byBoYXZlIHByb3ZlbiB0eXBlcyBhbmQgdmFs
dWVzLiBUaGlzIGlzIHNvbWV3aGF0IHRyaWNreS4KKyAgICAgICAgLy8gQnV0IHRoaXMgaXMgT0sg
YXMgbG9uZyBhcyBERkcgT1NSIGVudHJ5IHZhbGlkYXRlcyB0aGUgaW5wdXRzIHdpdGggKnByb3Zl
biogQWJzdHJhY1ZhbHVlIHZhbHVlcy4gQW5kIGl0IHR1cm5zIG91dCB0aGF0IHRoaXMKKyAgICAg
ICAgLy8gdHlwZSB3aWRlbmluZyBpcyBjcml0aWNhbCB0byBuYXZpZXItc3Rva2VzLiBXaXRob3V0
IGl0LCBuYXZpZXItc3Rva2VzIGhhcyBtb3JlIHN0cmljdCBjb25zdHJhaW50IG9uIE9TUiBlbnRy
eSBhbmQKKyAgICAgICAgLy8gZmFpbHMgT1NSIGVudHJ5IHJlcGVhdGVkbHkuCisgICAgICAgIGJv
b2wgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICBjb25zdCBPcGVyYW5kczxPcHRpb25hbDxKU1Zh
bHVlPj4mIG11c3RIYW5kbGVWYWx1ZXMgPSBtX2dyYXBoLm1fcGxhbi5tdXN0SGFuZGxlVmFsdWVz
KCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSBtdXN0SGFuZGxlVmFsdWVzLnNpemUoKTsgaS0t
OykgeworICAgICAgICAgICAgaW50IG9wZXJhbmQgPSBtdXN0SGFuZGxlVmFsdWVzLm9wZXJhbmRG
b3JJbmRleChpKTsKKyAgICAgICAgICAgIE9wdGlvbmFsPEpTVmFsdWU+IHZhbHVlID0gbXVzdEhh
bmRsZVZhbHVlc1tpXTsKKyAgICAgICAgICAgIGlmICghdmFsdWUpIHsKKyAgICAgICAgICAgICAg
ICBpZiAobV92ZXJib3NlKQorICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICBOb3QgbGl2
ZSBpbiBieXRlY29kZTogIiwgVmlydHVhbFJlZ2lzdGVyKG9wZXJhbmQpLCAiXG4iKTsKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIE5vZGUqIG5v
ZGUgPSBibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAg
ICBpZiAoIW5vZGUpIHsKKyAgICAgICAgICAgICAgICBpZiAobV92ZXJib3NlKQorICAgICAgICAg
ICAgICAgICAgICBkYXRhTG9nKCIgICBOb3QgbGl2ZTogIiwgVmlydHVhbFJlZ2lzdGVyKG9wZXJh
bmQpLCAiXG4iKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG1fdmVyYm9zZSkKKyAgICAgICAgICAgICAgICBk
YXRhTG9nKCIgICBXaWRlbmluZyAiLCBWaXJ0dWFsUmVnaXN0ZXIob3BlcmFuZCksICIgd2l0aCAi
LCB2YWx1ZS52YWx1ZSgpLCAiXG4iKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQWJzdHJh
Y3RWYWx1ZSYgdGFyZ2V0ID0gYmxvY2stPnZhbHVlc0F0SGVhZC5vcGVyYW5kKG9wZXJhbmQpOwor
ICAgICAgICAgICAgY2hhbmdlZCB8PSB0YXJnZXQubWVyZ2VPU1JFbnRyeVZhbHVlKG1fZ3JhcGgs
IHZhbHVlLnZhbHVlKCkpOworICAgICAgICAgICAgdGFyZ2V0LmZpeFR5cGVGb3JSZXByZXNlbnRh
dGlvbigKKyAgICAgICAgICAgICAgICBtX2dyYXBoLCByZXN1bHRGb3Iobm9kZS0+dmFyaWFibGVB
Y2Nlc3NEYXRhKCktPmZsdXNoRm9ybWF0KCkpLCBub2RlKTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgaWYgKGNoYW5nZWQgfHwgIWJsb2NrLT5jZmFIYXNWaXNpdGVkKSB7CisgICAgICAg
ICAgICBibG9jay0+Y2ZhU2hvdWxkUmV2aXNpdCA9IHRydWU7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICAKICAgICB2b2lkIHBlcmZvcm1CbG9ja0NGQShCYXNpY0Jsb2NrKiBibG9jaykKICAgICB7
CiAgICAgICAgIGlmICghYmxvY2spCkBAIC0xMTUsNiArMjA5LDkgQEAgY2xhc3MgQ0ZBUGhhc2Ug
OiBwdWJsaWMgUGhhc2UgewogICAgICAgICBpZiAobV92ZXJib3NlKQogICAgICAgICAgICAgZGF0
YUxvZygiICAgQmxvY2sgIiwgKmJsb2NrLCAiOlxuIik7CiAgICAgICAgIAorICAgICAgICBpZiAo
bV9ibG9ja3NXaXRoT1NSLnJlbW92ZShibG9jaykpCisgICAgICAgICAgICBpbmplY3RPU1IoYmxv
Y2spOworICAgICAgICAKICAgICAgICAgbV9zdGF0ZS5iZWdpbkJhc2ljQmxvY2soYmxvY2spOwog
ICAgICAgICBpZiAobV92ZXJib3NlKSB7CiAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBoZWFk
IHZhcnM6ICIsIGJsb2NrLT52YWx1ZXNBdEhlYWQsICJcbiIpOwpAQCAtMTcwLDYgKzI2Nyw3IEBA
IGNsYXNzIENGQVBoYXNlIDogcHVibGljIFBoYXNlIHsKIHByaXZhdGU6CiAgICAgSW5QbGFjZUFi
c3RyYWN0U3RhdGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VBYnN0
cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOworICAgIEJsb2NrU2V0IG1fYmxvY2tzV2l0aE9TUjsK
ICAgICAKICAgICBib29sIG1fdmVyYm9zZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFbnRyeS5jcHAKaW5kZXggY2JmMmJhYzU2NDA4YTUzYzZhNThjYmFjOWQwMWFlNjVi
ZDQ4Y2ZjYy4uNDI5OTczMDUxZmNkNmJlYjEzNDhjZTA5MDVlNGU1YTYxZDM4NDRhMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKQEAgLTEwMCw3ICsxMDAsNyBA
QCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVC
bG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbgogICAgIEFTU0VSVCghY29kZUJsb2NrLT5qaXRDb2Rl
TWFwKCkpOwogCiAgICAgaWYgKCFPcHRpb25zOjp1c2VPU1JFbnRyeVRvREZHKCkpCi0gICAgICAg
IHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmIChPcHRpb25zOjp2
ZXJib3NlT1NSKCkpIHsKICAgICAgICAgZGF0YUxvZygKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
KiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
dW5zaWduZWQgYnl0ZWNvZGVJbgogICAgICAgICAKICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJv
c2VPU1IoKSkKICAgICAgICAgICAgIGRhdGFMb2coIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdGhl
IHRhcmdldCBjb2RlIGJsb2NrIGlzIG5vdCBERkcuXG4iKTsKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICAKICAgICBKSVRDb2RlKiBqaXRDb2Rl
ID0gY29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQq
IHByZXBhcmVPU1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluCiAgICAgaWYgKCFlbnRyeSkgewogICAgICAgICBpZiAoT3B0aW9u
czo6dmVyYm9zZU9TUigpKQogICAgICAgICAgICAgZGF0YUxvZ0YoIiAgICBPU1IgZmFpbGVkIGJl
Y2F1c2UgdGhlIGVudHJ5cG9pbnQgd2FzIG9wdGltaXplZCBvdXQuXG4iKTsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICAKICAgICBBU1NFUlQo
ZW50cnktPm1fYnl0ZWNvZGVJbmRleCA9PSBieXRlY29kZUluZGV4KTsKQEAgLTE4Miw3ICsxODIs
NyBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNv
ZGVCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbgogICAgICAgICAgICAgICAgIGVudHJ5LT5tX2V4
cGVjdGVkVmFsdWVzLmFyZ3VtZW50KGFyZ3VtZW50KS5kdW1wKFdURjo6ZGF0YUZpbGUoKSk7CiAg
ICAgICAgICAgICAgICAgZGF0YUxvZ0YoIi5cbiIpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKQEAgLTE5MSw1MCArMTkxLDUwIEBAIHZvaWQq
IHByZXBhcmVPU1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHZhbHVlID0gZXhl
Yy0+YXJndW1lbnQoYXJndW1lbnQgLSAxKTsKICAgICAgICAgCi0gICAgICAgIGlmICghZW50cnkt
Pm1fZXhwZWN0ZWRWYWx1ZXMuYXJndW1lbnQoYXJndW1lbnQpLnZhbGlkYXRlKHZhbHVlKSkgewor
ICAgICAgICBpZiAoIWVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLmFyZ3VtZW50KGFyZ3VtZW50KS52
YWxpZGF0ZU9TUkVudHJ5VmFsdWUodmFsdWUsIEZsdXNoZWRKU1ZhbHVlKSkgewogICAgICAgICAg
ICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewogICAgICAgICAgICAgICAgIGRhdGFMb2co
CiAgICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIGFyZ3VtZW50ICIs
IGFyZ3VtZW50LCAiIGlzICIsIHZhbHVlLAogICAgICAgICAgICAgICAgICAgICAiLCBleHBlY3Rl
ZCAiLCBlbnRyeS0+bV9leHBlY3RlZFZhbHVlcy5hcmd1bWVudChhcmd1bWVudCksICIuXG4iKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgZm9yIChzaXplX3QgbG9jYWwg
PSAwOyBsb2NhbCA8IGVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLm51bWJlck9mTG9jYWxzKCk7ICsr
bG9jYWwpIHsKICAgICAgICAgaW50IGxvY2FsT2Zmc2V0ID0gdmlydHVhbFJlZ2lzdGVyRm9yTG9j
YWwobG9jYWwpLm9mZnNldCgpOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZXhlYy0+cmVnaXN0
ZXJzKClbbG9jYWxPZmZzZXRdLmFzYW5VbnNhZmVKU1ZhbHVlKCk7Ci0gICAgICAgIGlmICghZW50
cnktPm1fZXhwZWN0ZWRWYWx1ZXMubG9jYWwobG9jYWwpLnZhbGlkYXRlKHZhbHVlKSkgewotICAg
ICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewotICAgICAgICAgICAgICAgIGRh
dGFMb2coCi0gICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZhcmlh
YmxlICIsIFZpcnR1YWxSZWdpc3Rlcihsb2NhbE9mZnNldCksICIgaXMgIiwKKyAgICAgICAgRmx1
c2hGb3JtYXQgZm9ybWF0ID0gRmx1c2hlZEpTVmFsdWU7CisKKyAgICAgICAgaWYgKGVudHJ5LT5t
X2xvY2Fsc0ZvcmNlZEFueUludC5nZXQobG9jYWwpKSB7CisgICAgICAgICAgICBpZiAoIXZhbHVl
LmlzQW55SW50KCkpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG5JZihPcHRpb25zOjp2ZXJi
b3NlT1NSKCksCisgICAgICAgICAgICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZh
cmlhYmxlICIsIGxvY2FsT2Zmc2V0LCAiIGlzICIsCiAgICAgICAgICAgICAgICAgICAgIHZhbHVl
LCAiLCBleHBlY3RlZCAiLAotICAgICAgICAgICAgICAgICAgICBlbnRyeS0+bV9leHBlY3RlZFZh
bHVlcy5sb2NhbChsb2NhbCksICIuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgIm1hY2hpbmUg
aW50LiIpOworICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAvLyBDb25zdGFudCBBbnlJbnQgdmFs
dWUgaXMgc3RvcmVkIGFzIHVzdWFsIGJveGVkIHZhbHVlIGluIEFic3RyYWN0VmFsdWUuCisgICAg
ICAgICAgICBmb3JtYXQgPSBGbHVzaGVkSW50NTI7CiAgICAgICAgIH0KKwogICAgICAgICBpZiAo
ZW50cnktPm1fbG9jYWxzRm9yY2VkRG91YmxlLmdldChsb2NhbCkpIHsKICAgICAgICAgICAgIGlm
ICghdmFsdWUuaXNOdW1iZXIoKSkgewotICAgICAgICAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJi
b3NlT1NSKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygKLSAgICAgICAgICAgICAg
ICAgICAgICAgICIgICAgT1NSIGZhaWxlZCBiZWNhdXNlIHZhcmlhYmxlICIsIGxvY2FsT2Zmc2V0
LCAiIGlzICIsCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgIiwgZXhwZWN0ZWQgbnVt
YmVyLlxuIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgICAgIGRhdGFMb2dMbklmKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSwKKyAgICAg
ICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUgIiwgbG9jYWxP
ZmZzZXQsICIgaXMgIiwKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUsICIsIGV4cGVjdGVkIG51
bWJlci4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgdmFsdWUgPSBqc0RvdWJsZU51bWJl
cih2YWx1ZS5hc051bWJlcigpKTsKKyAgICAgICAgICAgIGZvcm1hdCA9IEZsdXNoZWREb3VibGU7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGVudHJ5LT5tX2xvY2Fsc0ZvcmNlZEFueUludC5nZXQo
bG9jYWwpKSB7Ci0gICAgICAgICAgICBpZiAoIXZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewotICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKAot
ICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUg
IiwgbG9jYWxPZmZzZXQsICIgaXMgIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCAi
LCBleHBlY3RlZCAiLAotICAgICAgICAgICAgICAgICAgICAgICAgIm1hY2hpbmUgaW50LlxuIik7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKCFlbnRyeS0+bV9leHBl
Y3RlZFZhbHVlcy5sb2NhbChsb2NhbCkudmFsaWRhdGVPU1JFbnRyeVZhbHVlKHZhbHVlLCBmb3Jt
YXQpKSB7CisgICAgICAgICAgICBkYXRhTG9nTG5JZihPcHRpb25zOjp2ZXJib3NlT1NSKCksCisg
ICAgICAgICAgICAgICAgIiAgICBPU1IgZmFpbGVkIGJlY2F1c2UgdmFyaWFibGUgIiwgVmlydHVh
bFJlZ2lzdGVyKGxvY2FsT2Zmc2V0KSwgIiBpcyAiLAorICAgICAgICAgICAgICAgIHZhbHVlLCAi
LCBleHBlY3RlZCAiLAorICAgICAgICAgICAgICAgIGVudHJ5LT5tX2V4cGVjdGVkVmFsdWVzLmxv
Y2FsKGxvY2FsKSwgIi4iKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9
CiAgICAgfQogCkBAIC0yNDksNyArMjQ5LDcgQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5KEV4ZWNT
dGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW4KICAg
ICBpZiAoVU5MSUtFTFkoIXZtLT5lbnN1cmVTdGFja0NhcGFjaXR5Rm9yKCZleGVjLT5yZWdpc3Rl
cnMoKVt2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVNpemVGb3JDaGVjayAtIDEpLm9mZnNl
dCgpXSkpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgICAg
ICBkYXRhTG9nRigiICAgIE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxu
Iik7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAg
ICAgCiAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkK
</data>
<flag name="review"
          id="381195"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>