<?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>193469</bug_id>
          
          <creation_ts>2019-01-15 15:51:24 -0800</creation_ts>
          <short_desc>[WHLSL] Delete the &apos;restricted&apos; keyword</short_desc>
          <delta_ts>2019-01-16 17:00:29 -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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1494867</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-15 15:51:24 -0800</bug_when>
    <thetext>[WHLSL] Delete the &apos;restricted&apos; keyword</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494869</commentid>
    <comment_count>1</comment_count>
      <attachid>359215</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-15 15:52:52 -0800</bug_when>
    <thetext>Created attachment 359215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494872</commentid>
    <comment_count>2</comment_count>
      <attachid>359215</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-01-15 16:00:07 -0800</bug_when>
    <thetext>Comment on attachment 359215
Patch

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

LGTM

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:74
&gt; +    if (minimumCostCandidates.size() == 1)

Maybe rename minimumCostCandidates, since I don&apos;t think there is a notion of cost anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494874</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-15 16:03:05 -0800</bug_when>
    <thetext>(In reply to Robin Morisset from comment #2)
&gt; Comment on attachment 359215 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=359215&amp;action=review
&gt; 
&gt; LGTM
&gt; 
&gt; &gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:74
&gt; &gt; +    if (minimumCostCandidates.size() == 1)
&gt; 
&gt; Maybe rename minimumCostCandidates, since I don&apos;t think there is a notion of
&gt; cost anymore.

There is a notion of cost.

void foo(int) { ... }
void foo(uint) { ... }
foo(4) resolves to a different overload than foo(4u)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495154</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-16 12:05:17 -0800</bug_when>
    <thetext>r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495336</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-16 16:59:22 -0800</bug_when>
    <thetext>Committed r240097: &lt;https://trac.webkit.org/changeset/240097&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495337</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-16 17:00:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/47335266&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359215</attachid>
            <date>2019-01-15 15:52:52 -0800</date>
            <delta_ts>2019-01-15 16:00:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193469-20190115155251.patch</filename>
            <type>text/plain</type>
            <size>25733</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg3Njc1NDk4MDAzN2Ey
MGQ4OGYxZjFlMWQzMjY1ZjRiOWQ4ZWM4Mi4uY2JhYzExMGRiNTNjZmFiMDE0ZDAyOWZlMTYzZmVh
NzNkYWE2Y2JiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAxLTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBE
ZWxldGUgdGhlICdyZXN0cmljdGVkJyBrZXl3b3JkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM0NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5nZSBtaXJyb3JzIGh0dHBzOi8vZ2l0aHVi
LmNvbS9ncHV3ZWIvV0hMU0wvcHVsbC8zMDQgaW4gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlv
bi4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBpdCBpc24ndCBob29rZWQgdXAgeWV0
LiBOb3QgZW5vdWdoIG9mIHRoZSBjb21waWxlciBleGlzdHMgdG8gaGF2ZSBhbnkgbWVhbmluZ2Z1
bCBzb3J0CisgICAgICAgIG9mIHRlc3QuIFdoZW4gZW5vdWdoIG9mIHRoZSBjb21waWxlciBpcyBw
cmVzZW50LCBJJ2xsIHBvcnQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbidzIHRlc3Qgc3Vp
dGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xGdW5jdGlvbkRl
ZmluaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6OkZ1bmN0aW9uRGVmaW5p
dGlvbjo6RnVuY3Rpb25EZWZpbml0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpBU1Q6
OkZ1bmN0aW9uRGVmaW5pdGlvbjo6YmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFT
VDo6RnVuY3Rpb25EZWZpbml0aW9uOjpyZXN0cmljdGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVGdW5jdGlvbkRlY2xhcmF0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldI
TFNMOjpBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb246OnJlc3RyaWN0ZWQgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZVdpdGhPcGVyYXRvckFuZGVySW5kZXhl
cik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZVdpdGhPcGVyYXRvckxlbmd0aCk6
CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6cmVzb2x2ZVdpdGhSZWZlcmVuY2VDb21wYXJhdG9y
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFJlc29sdmVPdmVybG9hZElt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OnJlc29sdmVGdW5jdGlvbk92ZXJsb2Fk
SW1wbCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQXJy
YXlPcGVyYXRvckxlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6c3ludGhlc2l6
ZUFycmF5T3BlcmF0b3JMZW5ndGgpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMU3ludGhlc2l6ZUNvbnN0cnVjdG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6
c3ludGhlc2l6ZUNvbnN0cnVjdG9ycyk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V0hMU0w6OnN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucyk6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldITFNMOjpzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzKToK
KwogMjAxOS0wMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ29ycmVjdGx5IGhhbmRsZSByb3RhdGlvbiBmb3IgbG9jYWwgdmlkZW8gcGxheWJhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZ1
bmN0aW9uRGVmaW5pdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
QVNUL1dITFNMRnVuY3Rpb25EZWZpbml0aW9uLmgKaW5kZXggY2U1OGI2YTdmOTg5NjVlMjA2NWMz
NDJiZTQ0NzhlNWUwYTZlYTI3ZS4uNzlhYmQ5ZTUyN2IwZjc2M2FkODVjYmNkNWRjOWZkMTRkYTUz
YTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNU
L1dITFNMRnVuY3Rpb25EZWZpbml0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV0hMU0wvQVNUL1dITFNMRnVuY3Rpb25EZWZpbml0aW9uLmgKQEAgLTM4LDEwICszOCw5
IEBAIG5hbWVzcGFjZSBBU1QgewogCiBjbGFzcyBGdW5jdGlvbkRlZmluaXRpb24gOiBwdWJsaWMg
RnVuY3Rpb25EZWNsYXJhdGlvbiB7CiBwdWJsaWM6Ci0gICAgRnVuY3Rpb25EZWZpbml0aW9uKEZ1
bmN0aW9uRGVjbGFyYXRpb24mJiBmdW5jdGlvbkRlY2xhcmF0aW9uLCBCbG9jayYmIGJsb2NrLCBi
b29sIHJlc3RyaWN0ZWQpCisgICAgRnVuY3Rpb25EZWZpbml0aW9uKEZ1bmN0aW9uRGVjbGFyYXRp
b24mJiBmdW5jdGlvbkRlY2xhcmF0aW9uLCBCbG9jayYmIGJsb2NrKQogICAgICAgICA6IEZ1bmN0
aW9uRGVjbGFyYXRpb24oV1RGTW92ZShmdW5jdGlvbkRlY2xhcmF0aW9uKSkKICAgICAgICAgLCBt
X2Jsb2NrKFdURk1vdmUoYmxvY2spKQotICAgICAgICAsIG1fcmVzdHJpY3RlZChyZXN0cmljdGVk
KQogICAgIHsKICAgICB9CiAKQEAgLTUzLDExICs1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlz
RnVuY3Rpb25EZWZpbml0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiAg
ICAgQmxvY2smIGJsb2NrKCkgeyByZXR1cm4gbV9ibG9jazsgfQotICAgIGJvb2wgcmVzdHJpY3Rl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdHJpY3RlZDsgfQogCiBwcml2YXRlOgogICAgIEJsb2Nr
IG1fYmxvY2s7Ci0gICAgYm9vbCBtX3Jlc3RyaWN0ZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBB
U1QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9X
SExTTE5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML0FTVC9XSExTTE5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24uaAppbmRleCBk
ODFhMzhjMjhmODRiMzkxM2E0OTU1NmEzNjVhM2RkOTc5OGFkYTM4Li44ODI3NjIzZmM1NjFkNjM5
ZTJkMWY5NzczY2U0MjBjOGFmNzQ2MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMTmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbi5oCkBAIC0zNyw5ICszNyw4IEBAIG5hbWVzcGFjZSBBU1QgewogCiBj
bGFzcyBOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIDogcHVibGljIEZ1bmN0aW9uRGVjbGFyYXRp
b24gewogcHVibGljOgotICAgIE5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oRnVuY3Rpb25EZWNs
YXJhdGlvbiYmIGZ1bmN0aW9uRGVjbGFyYXRpb24sIGJvb2wgcmVzdHJpY3RlZCkKKyAgICBOYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKEZ1bmN0aW9uRGVjbGFyYXRpb24mJiBmdW5jdGlvbkRlY2xh
cmF0aW9uKQogICAgICAgICA6IEZ1bmN0aW9uRGVjbGFyYXRpb24oV1RGTW92ZShmdW5jdGlvbkRl
Y2xhcmF0aW9uKSkKLSAgICAgICAgLCBtX3Jlc3RyaWN0ZWQocmVzdHJpY3RlZCkKICAgICB7CiAg
ICAgfQogCkBAIC01MCwxMCArNDksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAg
IGJvb2wgcmVzdHJpY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdHJpY3RlZDsgfQotCiBwcml2
YXRlOgotICAgIGJvb2wgbV9yZXN0cmljdGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVNUCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xDaGVja2Vy
LmNwcAppbmRleCA5ZjU5MDg5NDY3MzM3Y2RmNmIyMzFmMDMyNWQzNzQxMjhjM2M1YTc4Li5mM2E4
NmRiODNkMTY1NWM2ZjFlMzg1YTFiZDA0OWIxNDEzZTE0NDk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTENoZWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ2hlY2tlci5jcHAKQEAgLTExOSwy
OCArMTE5LDI1IEBAIHB1YmxpYzoKIAogc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbiByZXNvbHZlV2l0aE9wZXJhdG9yQW5kZXJJbmRleGVyKEFTVDo6Q2FsbEV4cHJlc3Npb24m
IGNhbGxFeHByZXNzaW9uLCBBU1Q6OkFycmF5UmVmZXJlbmNlVHlwZSYgZmlyc3RBcmd1bWVudCwg
Y29uc3QgSW50cmluc2ljcyYgaW50cmluc2ljcykKIHsKLSAgICBjb25zdCBib29sIGlzUmVzdHJp
Y3RlZCA9IGZhbHNlOwogICAgIGNvbnN0IGJvb2wgaXNPcGVyYXRvciA9IHRydWU7CiAgICAgYXV0
byByZXR1cm5UeXBlID0gbWFrZVVuaXF1ZVJlZjxBU1Q6OlBvaW50ZXJUeXBlPihMZXhlcjo6VG9r
ZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBmaXJzdEFyZ3VtZW50LmFkZHJlc3NTcGFjZSgp
LCBmaXJzdEFyZ3VtZW50LmVsZW1lbnRUeXBlKCkuY2xvbmUoKSk7CiAgICAgQVNUOjpWYXJpYWJs
ZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAgIHBhcmFtZXRlcnMuYXBwZW5kKEFTVDo6VmFy
aWFibGVEZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBB
U1Q6OlF1YWxpZmllcnMoKSwgeyBmaXJzdEFyZ3VtZW50LmNsb25lKCkgfSwgU3RyaW5nKCksIFdU
Rjo6bnVsbG9wdCwgV1RGOjpudWxsb3B0KSk7CiAgICAgcGFyYW1ldGVycy5hcHBlbmQoQVNUOjpW
YXJpYWJsZURlY2xhcmF0aW9uKExleGVyOjpUb2tlbihjYWxsRXhwcmVzc2lvbi5vcmlnaW4oKSks
IEFTVDo6UXVhbGlmaWVycygpLCB7IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9r
ZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBpbnRyaW5zaWNzLnVpbnRUeXBlKCkpIH0sIFN0
cmluZygpLCBXVEY6Om51bGxvcHQsIFdURjo6bnVsbG9wdCkpOwotICAgIHJldHVybiBBU1Q6Ok5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKExleGVyOjpU
b2tlbihjYWxsRXhwcmVzc2lvbi5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RG
OjpudWxsb3B0LCBXVEZNb3ZlKHJldHVyblR5cGUpLCBTdHJpbmcoIm9wZXJhdG9yJltdIiwgU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVs
bG9wdCwgaXNPcGVyYXRvciksIGlzUmVzdHJpY3RlZCk7CisgICAgcmV0dXJuIEFTVDo6TmF0aXZl
RnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2Vu
KGNhbGxFeHByZXNzaW9uLm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51
bGxvcHQsIFdURk1vdmUocmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3ImW10iLCBTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0
LCBpc09wZXJhdG9yKSk7CiB9CiAKIHN0YXRpYyBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRp
b24gcmVzb2x2ZVdpdGhPcGVyYXRvckxlbmd0aChBU1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhw
cmVzc2lvbiwgQVNUOjpVbm5hbWVkVHlwZSYgZmlyc3RBcmd1bWVudCwgY29uc3QgSW50cmluc2lj
cyYgaW50cmluc2ljcykKIHsKLSAgICBjb25zdCBib29sIGlzUmVzdHJpY3RlZCA9IGZhbHNlOwog
ICAgIGNvbnN0IGJvb2wgaXNPcGVyYXRvciA9IHRydWU7CiAgICAgYXV0byByZXR1cm5UeXBlID0g
QVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKExleGVyOjpUb2tlbihjYWxsRXhwcmVzc2lvbi5vcmln
aW4oKSksIGludHJpbnNpY3MudWludFR5cGUoKSk7CiAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0
aW9ucyBwYXJhbWV0ZXJzOwogICAgIHBhcmFtZXRlcnMuYXBwZW5kKEFTVDo6VmFyaWFibGVEZWNs
YXJhdGlvbihMZXhlcjo6VG9rZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBBU1Q6OlF1YWxp
ZmllcnMoKSwgeyBmaXJzdEFyZ3VtZW50LmNsb25lKCkgfSwgU3RyaW5nKCksIFdURjo6bnVsbG9w
dCwgV1RGOjpudWxsb3B0KSk7Ci0gICAgcmV0dXJuIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKGNhbGxFeHByZXNzaW9u
Lm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUo
cmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3IubGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRv
ciksIGlzUmVzdHJpY3RlZCk7CisgICAgcmV0dXJuIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJh
dGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKGNhbGxFeHByZXNzaW9u
Lm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIFdURk1vdmUo
cmV0dXJuVHlwZSksIFN0cmluZygib3BlcmF0b3IubGVuZ3RoIiwgU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRv
cikpOwogfQogCiBzdGF0aWMgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIHJlc29sdmVX
aXRoUmVmZXJlbmNlQ29tcGFyYXRvcihBU1Q6OkNhbGxFeHByZXNzaW9uJiBjYWxsRXhwcmVzc2lv
biwgUmVzb2x2aW5nVHlwZSYgZmlyc3RBcmd1bWVudCwgUmVzb2x2aW5nVHlwZSYgc2Vjb25kQXJn
dW1lbnQsIGNvbnN0IEludHJpbnNpY3MmIGludHJpbnNpY3MpCiB7Ci0gICAgY29uc3QgYm9vbCBp
c1Jlc3RyaWN0ZWQgPSBmYWxzZTsKICAgICBjb25zdCBib29sIGlzT3BlcmF0b3IgPSB0cnVlOwog
ICAgIGF1dG8gcmV0dXJuVHlwZSA9IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9r
ZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBpbnRyaW5zaWNzLmJvb2xUeXBlKCkpOwogICAg
IGF1dG8gYXJndW1lbnRUeXBlID0gV1RGOjp2aXNpdChXVEY6Om1ha2VWaXNpdG9yKFtdKFVuaXF1
ZVJlZjxBU1Q6OlVubmFtZWRUeXBlPiYgdW5uYW1lZFR5cGUpIC0+IFVuaXF1ZVJlZjxBU1Q6OlVu
bmFtZWRUeXBlPiB7CkBAIC0xNTgsNyArMTU1LDcgQEAgc3RhdGljIEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbiByZXNvbHZlV2l0aFJlZmVyZW5jZUNvbXBhcmF0b3IoQVNUOjpDYWxsRXgK
ICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAgICAgcGFyYW1ldGVy
cy5hcHBlbmQoQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uKExleGVyOjpUb2tlbihjYWxsRXhwcmVz
c2lvbi5vcmlnaW4oKSksIEFTVDo6UXVhbGlmaWVycygpLCB7IGFyZ3VtZW50VHlwZS0+Y2xvbmUo
KSB9LCBTdHJpbmcoKSwgV1RGOjpudWxsb3B0LCBXVEY6Om51bGxvcHQpKTsKICAgICBwYXJhbWV0
ZXJzLmFwcGVuZChBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKGNhbGxFeHBy
ZXNzaW9uLm9yaWdpbigpKSwgQVNUOjpRdWFsaWZpZXJzKCksIHsgV1RGTW92ZShhcmd1bWVudFR5
cGUpIH0sIFN0cmluZygpLCBXVEY6Om51bGxvcHQsIFdURjo6bnVsbG9wdCkpOwotICAgIHJldHVy
biBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9u
KExleGVyOjpUb2tlbihjYWxsRXhwcmVzc2lvbi5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxv
Y2soKSwgV1RGOjpudWxsb3B0LCBXVEZNb3ZlKHJldHVyblR5cGUpLCBTdHJpbmcoIm9wZXJhdG9y
PT0iLCBTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwg
V1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSwgaXNSZXN0cmljdGVkKTsKKyAgICByZXR1cm4gQVNU
OjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhl
cjo6VG9rZW4oY2FsbEV4cHJlc3Npb24ub3JpZ2luKCkpLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCks
IFdURjo6bnVsbG9wdCwgV1RGTW92ZShyZXR1cm5UeXBlKSwgU3RyaW5nKCJvcGVyYXRvcj09Iiwg
U3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6
bnVsbG9wdCwgaXNPcGVyYXRvcikpOwogfQogCiBzdGF0aWMgT3B0aW9uYWw8QVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uPiByZXNvbHZlQnlJbnN0YW50aWF0aW9uKEFTVDo6Q2FsbEV4cHJl
c3Npb24mIGNhbGxFeHByZXNzaW9uLCBjb25zdCBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZXNvbHZpbmdUeXBlPj4mIHR5cGVzLCBjb25zdCBJbnRyaW5zaWNzJiBpbnRyaW5zaWNzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xSZXNv
bHZlT3ZlcmxvYWRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMUmVzb2x2ZU92ZXJsb2FkSW1wbC5jcHAKaW5kZXggZWExODMzZDhkOWFjYTRhZTNjYTBl
OWNkNzAyODNjZjM5YzI0NDM2YS4uMzFmMDA4NzgyMTRjZDgxYmRmMTRiYzRkMTgzYzFmNTZlYmFm
YzgyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xSZXNvbHZlT3ZlcmxvYWRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTFJlc29sdmVPdmVybG9hZEltcGwuY3BwCkBAIC03MSwyNSArNzEsOCBA
QCBBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24qIHJlc29sdmVGdW5jdGlvbk92ZXJsb2FkSW1wbChW
ZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcAogICAgICAgICAgICAgbWluaW11bUNvc3RDYW5kaWRh
dGVzLmFwcGVuZChjYW5kaWRhdGUpOwogICAgIH0KIAotICAgIGJvb2wgcmVzdHJpY3RlZENhbmRp
ZGF0ZUV4aXN0cyA9IGZhbHNlOwotICAgIGZvciAoYXV0byYgY2FuZGlkYXRlIDogbWluaW11bUNv
c3RDYW5kaWRhdGVzKSB7Ci0gICAgICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4o
Y2FuZGlkYXRlLmdldCgpKSAmJiBkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2Fu
ZGlkYXRlLmdldCgpKS5yZXN0cmljdGVkKCkpIHsKLSAgICAgICAgICAgIHJlc3RyaWN0ZWRDYW5k
aWRhdGVFeGlzdHMgPSB0cnVlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBjYW5kaWRhdGVzLmNsZWFyKCk7Ci0gICAgaWYgKHJlc3RyaWN0ZWRDYW5kaWRhdGVF
eGlzdHMpIHsKLSAgICAgICAgZm9yIChhdXRvJiBjYW5kaWRhdGUgOiBtaW5pbXVtQ29zdENhbmRp
ZGF0ZXMpIHsKLSAgICAgICAgICAgIGlmIChpczxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2Fu
ZGlkYXRlLmdldCgpKSAmJiBkb3duY2FzdDxBU1Q6OkZ1bmN0aW9uRGVmaW5pdGlvbj4oY2FuZGlk
YXRlLmdldCgpKS5yZXN0cmljdGVkKCkpCi0gICAgICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBl
bmQoY2FuZGlkYXRlLmdldCgpKTsKLSAgICAgICAgfQotICAgIH0gZWxzZQotICAgICAgICBjYW5k
aWRhdGVzID0gbWluaW11bUNvc3RDYW5kaWRhdGVzOwotCi0gICAgaWYgKGNhbmRpZGF0ZXMuc2l6
ZSgpID09IDEpCi0gICAgICAgIHJldHVybiAmY2FuZGlkYXRlc1swXS5nZXQoKTsKKyAgICBpZiAo
bWluaW11bUNvc3RDYW5kaWRhdGVzLnNpemUoKSA9PSAxKQorICAgICAgICByZXR1cm4gJm1pbmlt
dW1Db3N0Q2FuZGlkYXRlc1swXS5nZXQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVz
aXplQXJyYXlPcGVyYXRvckxlbmd0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAppbmRleCA5ZDYy
MGZhMTFhNzA3MmY4NmIwZTgzZGIzMzNiMjFkYjdlY2ExMDUxLi5kOTA0ZWYwZjVkZmJhNmI1NmU1
ZmZmMzM2ODBlMmFjMTRkNTJhNzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVBcnJh
eU9wZXJhdG9yTGVuZ3RoLmNwcApAQCAtNjMsMTMgKzYzLDEyIEBAIHZvaWQgc3ludGhlc2l6ZUFy
cmF5T3BlcmF0b3JMZW5ndGgoUHJvZ3JhbSYgcHJvZ3JhbSkKICAgICBhdXRvIGFycmF5VHlwZXMg
PSBmaW5kQXJyYXlUeXBlcy50YWtlQXJyYXlUeXBlcygpOwogCiAgICAgYm9vbCBpc09wZXJhdG9y
ID0gdHJ1ZTsKLSAgICBib29sIGlzUmVzdHJpY3RlZCA9IGZhbHNlOwogCiAgICAgZm9yIChhdXRv
JiBhcnJheVR5cGUgOiBhcnJheVR5cGVzKSB7CiAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJh
dGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uKExleGVyOjpUb2tlbihhcnJheVR5cGUuZ2V0KCkub3Jp
Z2luKCkpLCBBU1Q6OlF1YWxpZmllcnMoKSwgeyBhcnJheVR5cGUuZ2V0KCkuY2xvbmUoKSB9LCBT
dHJpbmcoKSwgV1RGOjpudWxsb3B0LCBXVEY6Om51bGxvcHQpOwogICAgICAgICBBU1Q6OlZhcmlh
YmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdU
Rk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9u
RGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFy
YXRpb24oTGV4ZXI6OlRva2VuKGFycmF5VHlwZS5nZXQoKS5vcmlnaW4oKSksIEFTVDo6QXR0cmli
dXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoTGV4ZXI6
OlRva2VuKGFycmF5VHlwZS5nZXQoKS5vcmlnaW4oKSksIHByb2dyYW0uaW50cmluc2ljcygpLnVp
bnRUeXBlKCkpLCAib3BlcmF0b3IubGVuZ3RoIl9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIFdU
Rjo6bnVsbG9wdCwgaXNPcGVyYXRvciksIGlzUmVzdHJpY3RlZCk7CisgICAgICAgIEFTVDo6TmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVu
Y3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oYXJyYXlUeXBlLmdldCgpLm9yaWdpbigpKSwg
QVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIEFTVDo6VHlwZVJlZmVyZW5jZTo6
d3JhcChMZXhlcjo6VG9rZW4oYXJyYXlUeXBlLmdldCgpLm9yaWdpbigpKSwgcHJvZ3JhbS5pbnRy
aW5zaWNzKCkudWludFR5cGUoKSksICJvcGVyYXRvci5sZW5ndGgiX3N0ciwgV1RGTW92ZShwYXJh
bWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSk7CiAgICAgICAgIHByb2dyYW0uYXBw
ZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6
ZUNvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFN5bnRoZXNpemVDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IDg1ZTJiODgxZDliNDBhMzg4NWUy
OTMwY2M4Y2Q3MWJiMzlkOWMyMDYuLmUyOGZkNTdiMjE5MjdhOWYzNjc3ODQyYmFlNGViNzBiZDk2
MWY3ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMU3ludGhlc2l6ZUNvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplQ29uc3RydWN0b3JzLmNwcApAQCAtMTAxLDE2
ICsxMDEsMTUgQEAgdm9pZCBzeW50aGVzaXplQ29uc3RydWN0b3JzKFByb2dyYW0mIHByb2dyYW0p
CiAgICAgYXV0byBtX25hbWVkVHlwZXMgPSBmaW5kQWxsVHlwZXMudGFrZU5hbWVkVHlwZXMoKTsK
IAogICAgIGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgYm9vbCBpc1Jlc3RyaWN0ZWQgPSBm
YWxzZTsKIAogICAgIGZvciAoYXV0byYgdW5uYW1lZFR5cGUgOiBtX3VubmFtZWRUeXBlcykgewog
ICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24gdmFyaWFibGVEZWNsYXJhdGlvbihMZXhl
cjo6VG9rZW4odW5uYW1lZFR5cGUuZ2V0KCkub3JpZ2luKCkpLCBBU1Q6OlF1YWxpZmllcnMoKSwg
eyB1bm5hbWVkVHlwZS5nZXQoKS5jbG9uZSgpIH0sIFN0cmluZygpLCBXVEY6Om51bGxvcHQsIFdU
Rjo6bnVsbG9wdCk7CiAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVy
czsKICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xhcmF0aW9u
KSk7Ci0gICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBjb3B5Q29uc3RydWN0
b3IoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKExleGVyOjpUb2tlbih1bm5hbWVkVHlwZS5nZXQo
KS5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCB1bm5hbWVk
VHlwZS5nZXQoKS5jbG9uZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBXVEY6Om51bGxvcHQsIGlzT3BlcmF0b3IpLCBpc1Jlc3RyaWN0ZWQpOworICAgICAgICBB
U1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gY29weUNvbnN0cnVjdG9yKEFTVDo6RnVuY3Rp
b25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4odW5uYW1lZFR5cGUuZ2V0KCkub3JpZ2luKCkpLCBB
U1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgdW5uYW1lZFR5cGUuZ2V0KCkuY2xv
bmUoKSwgIm9wZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxs
b3B0LCBpc09wZXJhdG9yKSk7CiAgICAgICAgIHByb2dyYW0uYXBwZW5kKFdURk1vdmUoY29weUNv
bnN0cnVjdG9yKSk7CiAKLSAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIGRl
ZmF1bHRDb25zdHJ1Y3RvcihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKHVu
bmFtZWRUeXBlLmdldCgpLm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51
bGxvcHQsIHVubmFtZWRUeXBlLmdldCgpLmNsb25lKCksICJvcGVyYXRvciBjYXN0Il9zdHIsIEFT
VDo6VmFyaWFibGVEZWNsYXJhdGlvbnMoKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSwgaXNS
ZXN0cmljdGVkKTsKKyAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmF1
bHRDb25zdHJ1Y3RvcihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKHVubmFt
ZWRUeXBlLmdldCgpLm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxv
cHQsIHVubmFtZWRUeXBlLmdldCgpLmNsb25lKCksICJvcGVyYXRvciBjYXN0Il9zdHIsIEFTVDo6
VmFyaWFibGVEZWNsYXJhdGlvbnMoKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSk7CiAgICAg
ICAgIHByb2dyYW0uYXBwZW5kKFdURk1vdmUoZGVmYXVsdENvbnN0cnVjdG9yKSk7CiAgICAgfQog
CkBAIC0xMTgsMTAgKzExNywxMCBAQCB2b2lkIHN5bnRoZXNpemVDb25zdHJ1Y3RvcnMoUHJvZ3Jh
bSYgcHJvZ3JhbSkKICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9uIHZhcmlhYmxlRGVj
bGFyYXRpb24oTGV4ZXI6OlRva2VuKG5hbWVkVHlwZS5nZXQoKS5vcmlnaW4oKSksIEFTVDo6UXVh
bGlmaWVycygpLCB7IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4obmFtZWRU
eXBlLmdldCgpLm9yaWdpbigpKSwgbmFtZWRUeXBlLmdldCgpKSB9LCBTdHJpbmcoKSwgV1RGOjpu
dWxsb3B0LCBXVEY6Om51bGxvcHQpOwogICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25z
IHBhcmFtZXRlcnM7CiAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVE
ZWNsYXJhdGlvbikpOwotICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gY29w
eUNvbnN0cnVjdG9yKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4obmFtZWRU
eXBlLmdldCgpLm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQs
IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4obmFtZWRUeXBlLmdldCgpLm9y
aWdpbigpKSwgbmFtZWRUeXBlLmdldCgpKSwgIm9wZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShw
YXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSwgaXNSZXN0cmljdGVkKTsKKyAg
ICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIGNvcHlDb25zdHJ1Y3RvcihBU1Q6
OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKG5hbWVkVHlwZS5nZXQoKS5vcmlnaW4o
KSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBBU1Q6OlR5cGVSZWZlcmVu
Y2U6OndyYXAoTGV4ZXI6OlRva2VuKG5hbWVkVHlwZS5nZXQoKS5vcmlnaW4oKSksIG5hbWVkVHlw
ZS5nZXQoKSksICJvcGVyYXRvciBjYXN0Il9zdHIsIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6
bnVsbG9wdCwgaXNPcGVyYXRvcikpOwogICAgICAgICBwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKGNv
cHlDb25zdHJ1Y3RvcikpOwogCi0gICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
biBkZWZhdWx0Q29uc3RydWN0b3IoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKExleGVyOjpUb2tl
bihuYW1lZFR5cGUuZ2V0KCkub3JpZ2luKCkpLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6
bnVsbG9wdCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKExleGVyOjpUb2tlbihuYW1lZFR5cGUu
Z2V0KCkub3JpZ2luKCkpLCBuYW1lZFR5cGUuZ2V0KCkpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBB
U1Q6OlZhcmlhYmxlRGVjbGFyYXRpb25zKCksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRvciksIGlz
UmVzdHJpY3RlZCk7CisgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZh
dWx0Q29uc3RydWN0b3IoQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKExleGVyOjpUb2tlbihuYW1l
ZFR5cGUuZ2V0KCkub3JpZ2luKCkpLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9w
dCwgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKExleGVyOjpUb2tlbihuYW1lZFR5cGUuZ2V0KCku
b3JpZ2luKCkpLCBuYW1lZFR5cGUuZ2V0KCkpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBBU1Q6OlZh
cmlhYmxlRGVjbGFyYXRpb25zKCksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRvcikpOwogICAgICAg
ICBwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKGRlZmF1bHRDb25zdHJ1Y3RvcikpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3lu
dGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zLmNwcAppbmRl
eCA4MzQ1NDgzNGY5MjBmZDMxYjM4NDM5Mzc5MGU2MTYwY2E3YzM1YjczLi5mNDBlMWE5ZTYyMDcx
OWQ1Yzk3ZGZmOTQwOTZmMGI5Y2I2NjQxOTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVz
aXplRW51bWVyYXRpb25GdW5jdGlvbnMuY3BwCkBAIC0zOSw3ICszOSw2IEBAIG5hbWVzcGFjZSBX
SExTTCB7CiB2b2lkIHN5bnRoZXNpemVFbnVtZXJhdGlvbkZ1bmN0aW9ucyhQcm9ncmFtJiBwcm9n
cmFtKQogewogICAgIGJvb2wgaXNPcGVyYXRvciA9IHRydWU7Ci0gICAgYm9vbCBpc1Jlc3RyaWN0
ZWQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIGVudW1lcmF0aW9uRGVmaW5pdGlvbiA6IHByb2dy
YW0uZW51bWVyYXRpb25EZWZpbml0aW9ucygpKSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIEFT
VDo6VmFyaWFibGVEZWNsYXJhdGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uMShMZXhlcjo6VG9rZW4o
ZW51bWVyYXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIEFTVDo6UXVhbGlmaWVycygpLCB7IEFT
VDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9u
LT5vcmlnaW4oKSksIGVudW1lcmF0aW9uRGVmaW5pdGlvbikgfSwgU3RyaW5nKCksIFdURjo6bnVs
bG9wdCwgV1RGOjpudWxsb3B0KTsKQEAgLTQ3LDcgKzQ2LDcgQEAgdm9pZCBzeW50aGVzaXplRW51
bWVyYXRpb25GdW5jdGlvbnMoUHJvZ3JhbSYgcHJvZ3JhbSkKICAgICAgICAgICAgIEFTVDo6VmFy
aWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBw
ZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbjEpKTsKICAgICAgICAgICAgIHBhcmFtZXRl
cnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbjIpKTsKLSAgICAgICAgICAgIEFT
VDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFT
VDo6RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9u
LT5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBBU1Q6OlR5
cGVSZWZlcmVuY2U6OndyYXAoTGV4ZXI6OlRva2VuKGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+b3Jp
Z2luKCkpLCBwcm9ncmFtLmludHJpbnNpY3MoKS5ib29sVHlwZSgpKSwgIm9wZXJhdG9yPT0iX3N0
ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSwgaXNSZXN0
cmljdGVkKTsKKyAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9r
ZW4oZW51bWVyYXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2so
KSwgV1RGOjpudWxsb3B0LCBBU1Q6OlR5cGVSZWZlcmVuY2U6OndyYXAoTGV4ZXI6OlRva2VuKGVu
dW1lcmF0aW9uRGVmaW5pdGlvbi0+b3JpZ2luKCkpLCBwcm9ncmFtLmludHJpbnNpY3MoKS5ib29s
VHlwZSgpKSwgIm9wZXJhdG9yPT0iX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxs
b3B0LCBpc09wZXJhdG9yKSk7CiAgICAgICAgICAgICBwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5h
dGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24pKTsKICAgICAgICAgfQogCkBAIC01NSw3ICs1NCw3IEBA
IHZvaWQgc3ludGhlc2l6ZUVudW1lcmF0aW9uRnVuY3Rpb25zKFByb2dyYW0mIHByb2dyYW0pCiAg
ICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRpb24gdmFyaWFibGVEZWNsYXJhdGlvbihM
ZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIEFTVDo6UXVhbGlm
aWVycygpLCB7IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4oZW51bWVyYXRp
b25EZWZpbml0aW9uLT5vcmlnaW4oKSksIGVudW1lcmF0aW9uRGVmaW5pdGlvbikgfSwgU3RyaW5n
KCksIFdURjo6bnVsbG9wdCwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgICAgIEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5k
KFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlvbikpOwotICAgICAgICAgICAgQVNUOjpOYXRpdmVG
dW5jdGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlv
bkRlY2xhcmF0aW9uKExleGVyOjpUb2tlbihlbnVtZXJhdGlvbkRlZmluaXRpb24tPm9yaWdpbigp
KSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIGVudW1lcmF0aW9uRGVmaW5p
dGlvbi0+dHlwZSgpLmNsb25lKCksICJvcGVyYXRvci52YWx1ZSJfc3RyLCBXVEZNb3ZlKHBhcmFt
ZXRlcnMpLCBXVEY6Om51bGxvcHQsIGlzT3BlcmF0b3IpLCBpc1Jlc3RyaWN0ZWQpOworICAgICAg
ICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFy
YXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9uKExleGVyOjpUb2tlbihlbnVtZXJhdGlvbkRl
ZmluaXRpb24tPm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQs
IGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLmNsb25lKCksICJvcGVyYXRvci52YWx1ZSJf
c3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEY6Om51bGxvcHQsIGlzT3BlcmF0b3IpKTsKICAg
ICAgICAgICAgIHByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlv
bikpOwogICAgICAgICB9CiAKQEAgLTYzLDcgKzYyLDcgQEAgdm9pZCBzeW50aGVzaXplRW51bWVy
YXRpb25GdW5jdGlvbnMoUHJvZ3JhbSYgcHJvZ3JhbSkKICAgICAgICAgICAgIEFTVDo6VmFyaWFi
bGVEZWNsYXJhdGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uKExleGVyOjpUb2tlbihlbnVtZXJhdGlv
bkRlZmluaXRpb24tPm9yaWdpbigpKSwgQVNUOjpRdWFsaWZpZXJzKCksIHsgQVNUOjpUeXBlUmVm
ZXJlbmNlOjp3cmFwKExleGVyOjpUb2tlbihlbnVtZXJhdGlvbkRlZmluaXRpb24tPm9yaWdpbigp
KSwgZW51bWVyYXRpb25EZWZpbml0aW9uKSB9LCBTdHJpbmcoKSwgV1RGOjpudWxsb3B0LCBXVEY6
Om51bGxvcHQpOwogICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0
ZXJzOwogICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92ZSh2YXJpYWJsZURlY2xh
cmF0aW9uKSk7Ci0gICAgICAgICAgICBBU1Q6Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0
aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRv
a2VuKGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+b3JpZ2luKCkpLCBBU1Q6OkF0dHJpYnV0ZUJsb2Nr
KCksIFdURjo6bnVsbG9wdCwgZW51bWVyYXRpb25EZWZpbml0aW9uLT50eXBlKCkuY2xvbmUoKSwg
Im9wZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBp
c09wZXJhdG9yKSwgaXNSZXN0cmljdGVkKTsKKyAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rp
b25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNs
YXJhdGlvbihMZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIEFT
VDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBlbnVtZXJhdGlvbkRlZmluaXRpb24t
PnR5cGUoKS5jbG9uZSgpLCAib3BlcmF0b3IgY2FzdCJfc3RyLCBXVEZNb3ZlKHBhcmFtZXRlcnMp
LCBXVEY6Om51bGxvcHQsIGlzT3BlcmF0b3IpKTsKICAgICAgICAgICAgIHByb2dyYW0uYXBwZW5k
KFdURk1vdmUobmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbikpOwogICAgICAgICB9CiAKQEAgLTcx
LDcgKzcwLDcgQEAgdm9pZCBzeW50aGVzaXplRW51bWVyYXRpb25GdW5jdGlvbnMoUHJvZ3JhbSYg
cHJvZ3JhbSkKICAgICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiB2YXJpYWJsZURl
Y2xhcmF0aW9uKExleGVyOjpUb2tlbihlbnVtZXJhdGlvbkRlZmluaXRpb24tPm9yaWdpbigpKSwg
QVNUOjpRdWFsaWZpZXJzKCksIGVudW1lcmF0aW9uRGVmaW5pdGlvbi0+dHlwZSgpLmNsb25lKCks
IFN0cmluZygpLCBXVEY6Om51bGxvcHQsIFdURjo6bnVsbG9wdCk7CiAgICAgICAgICAgICBBU1Q6
OlZhcmlhYmxlRGVjbGFyYXRpb25zIHBhcmFtZXRlcnM7CiAgICAgICAgICAgICBwYXJhbWV0ZXJz
LmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKLSAgICAgICAgICAgIEFTVDo6
TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6
RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9uLT5v
cmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCB7IEFTVDo6VHlw
ZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4oZW51bWVyYXRpb25EZWZpbml0aW9uLT5vcmln
aW4oKSksIGVudW1lcmF0aW9uRGVmaW5pdGlvbikgfSwgIm9wZXJhdG9yIGNhc3QiX3N0ciwgV1RG
TW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBpc09wZXJhdG9yKSwgaXNSZXN0cmljdGVk
KTsKKyAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25EZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oZW51
bWVyYXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIEFTVDo6QXR0cmlidXRlQmxvY2soKSwgV1RG
OjpudWxsb3B0LCB7IEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9rZW4oZW51bWVy
YXRpb25EZWZpbml0aW9uLT5vcmlnaW4oKSksIGVudW1lcmF0aW9uRGVmaW5pdGlvbikgfSwgIm9w
ZXJhdG9yIGNhc3QiX3N0ciwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBpc09w
ZXJhdG9yKSk7CiAgICAgICAgICAgICBwcm9ncmFtLmFwcGVuZChXVEZNb3ZlKG5hdGl2ZUZ1bmN0
aW9uRGVjbGFyYXRpb24pKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vz
c29ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN5bnRo
ZXNpemVTdHJ1Y3R1cmVBY2Nlc3NvcnMuY3BwCmluZGV4IGI5OWRjNzcwYjVkZmNiNDBhNTYwNWNl
ZGZiMTM0NDNkZmRkYmRhOWUuLmQwNDAzNmUyMzk1YTgxM2Q2MzA3NzY3NmVjNmJmNjc3NjlkNjM0
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzLmNwcApA
QCAtNDIsNyArNDIsNiBAQCBuYW1lc3BhY2UgV0hMU0wgewogdm9pZCBzeW50aGVzaXplU3RydWN0
dXJlQWNjZXNzb3JzKFByb2dyYW0mIHByb2dyYW0pCiB7CiAgICAgYm9vbCBpc09wZXJhdG9yID0g
dHJ1ZTsKLSAgICBib29sIGlzUmVzdHJpY3RlZCA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgc3Ry
dWN0dXJlRGVmaW5pdGlvbiA6IHByb2dyYW0uc3RydWN0dXJlRGVmaW5pdGlvbnMoKSkgewogICAg
ICAgICBmb3IgKGF1dG8mIHN0cnVjdHVyZUVsZW1lbnQgOiBzdHJ1Y3R1cmVEZWZpbml0aW9uLT5z
dHJ1Y3R1cmVFbGVtZW50cygpKSB7CiAgICAgICAgICAgICB7CkBAIC01MCw3ICs0OSw3IEBAIHZv
aWQgc3ludGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJiBwcm9ncmFtKQogICAgICAg
ICAgICAgICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uKExl
eGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50Lm9yaWdpbigpKSwgQVNUOjpRdWFsaWZpZXJzKCks
IHsgQVNUOjpUeXBlUmVmZXJlbmNlOjp3cmFwKExleGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50
Lm9yaWdpbigpKSwgc3RydWN0dXJlRGVmaW5pdGlvbikgfSwgU3RyaW5nKCksIFdURjo6bnVsbG9w
dCwgV1RGOjpudWxsb3B0KTsKICAgICAgICAgICAgICAgICBBU1Q6OlZhcmlhYmxlRGVjbGFyYXRp
b25zIHBhcmFtZXRlcnM7CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy5hcHBlbmQoV1RGTW92
ZSh2YXJpYWJsZURlY2xhcmF0aW9uKSk7Ci0gICAgICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5j
dGlvbkRlY2xhcmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRl
Y2xhcmF0aW9uKExleGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50Lm9yaWdpbigpKSwgQVNUOjpB
dHRyaWJ1dGVCbG9jaygpLCBXVEY6Om51bGxvcHQsIHN0cnVjdHVyZUVsZW1lbnQudHlwZSgpLmNs
b25lKCksIFN0cmluZzo6Zm9ybWF0KCJvcGVyYXRvci4lcyIsIHN0cnVjdHVyZUVsZW1lbnQubmFt
ZSgpLnV0ZjgoKS5kYXRhKCkpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEY6Om51bGxvcHQsIGlz
T3BlcmF0b3IpLCBpc1Jlc3RyaWN0ZWQpOworICAgICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25E
ZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oc3RydWN0dXJlRWxlbWVudC5vcmlnaW4oKSksIEFTVDo6
QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBzdHJ1Y3R1cmVFbGVtZW50LnR5cGUoKS5j
bG9uZSgpLCBTdHJpbmc6OmZvcm1hdCgib3BlcmF0b3IuJXMiLCBzdHJ1Y3R1cmVFbGVtZW50Lm5h
bWUoKS51dGY4KCkuZGF0YSgpKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpudWxsb3B0LCBp
c09wZXJhdG9yKSk7CiAgICAgICAgICAgICAgICAgcHJvZ3JhbS5hcHBlbmQoV1RGTW92ZShuYXRp
dmVGdW5jdGlvbkRlY2xhcmF0aW9uKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTYxLDcgKzYwLDcg
QEAgdm9pZCBzeW50aGVzaXplU3RydWN0dXJlQWNjZXNzb3JzKFByb2dyYW0mIHByb2dyYW0pCiAg
ICAgICAgICAgICAgICAgQVNUOjpWYXJpYWJsZURlY2xhcmF0aW9ucyBwYXJhbWV0ZXJzOwogICAg
ICAgICAgICAgICAgIHBhcmFtZXRlcnMuYXBwZW5kKFdURk1vdmUodmFyaWFibGVEZWNsYXJhdGlv
bjEpKTsKICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxl
RGVjbGFyYXRpb24yKSk7Ci0gICAgICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9u
KExleGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50Lm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVC
bG9jaygpLCBXVEY6Om51bGxvcHQsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9r
ZW4oc3RydWN0dXJlRWxlbWVudC5vcmlnaW4oKSksIHN0cnVjdHVyZURlZmluaXRpb24pLCBTdHJp
bmc6OmZvcm1hdCgib3BlcmF0b3IuJXM9Iiwgc3RydWN0dXJlRWxlbWVudC5uYW1lKCkudXRmOCgp
LmRhdGEoKSksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRvciks
IGlzUmVzdHJpY3RlZCk7CisgICAgICAgICAgICAgICAgQVNUOjpOYXRpdmVGdW5jdGlvbkRlY2xh
cmF0aW9uIG5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24oQVNUOjpGdW5jdGlvbkRlY2xhcmF0aW9u
KExleGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50Lm9yaWdpbigpKSwgQVNUOjpBdHRyaWJ1dGVC
bG9jaygpLCBXVEY6Om51bGxvcHQsIEFTVDo6VHlwZVJlZmVyZW5jZTo6d3JhcChMZXhlcjo6VG9r
ZW4oc3RydWN0dXJlRWxlbWVudC5vcmlnaW4oKSksIHN0cnVjdHVyZURlZmluaXRpb24pLCBTdHJp
bmc6OmZvcm1hdCgib3BlcmF0b3IuJXM9Iiwgc3RydWN0dXJlRWxlbWVudC5uYW1lKCkudXRmOCgp
LmRhdGEoKSksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRvcikp
OwogICAgICAgICAgICAgICAgIHByb2dyYW0uYXBwZW5kKFdURk1vdmUobmF0aXZlRnVuY3Rpb25E
ZWNsYXJhdGlvbikpOwogICAgICAgICAgICAgfQogCkBAIC03Miw3ICs3MSw3IEBAIHZvaWQgc3lu
dGhlc2l6ZVN0cnVjdHVyZUFjY2Vzc29ycyhQcm9ncmFtJiBwcm9ncmFtKQogICAgICAgICAgICAg
ICAgIEFTVDo6VmFyaWFibGVEZWNsYXJhdGlvbnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgICAg
ICBwYXJhbWV0ZXJzLmFwcGVuZChXVEZNb3ZlKHZhcmlhYmxlRGVjbGFyYXRpb24pKTsKICAgICAg
ICAgICAgICAgICBhdXRvIHJldHVyblR5cGUgPSBtYWtlVW5pcXVlUmVmPEFTVDo6UG9pbnRlclR5
cGU+KExleGVyOjpUb2tlbihzdHJ1Y3R1cmVFbGVtZW50Lm9yaWdpbigpKSwgYWRkcmVzc1NwYWNl
LCBzdHJ1Y3R1cmVFbGVtZW50LnR5cGUoKS5jbG9uZSgpKTsKLSAgICAgICAgICAgICAgICBBU1Q6
Ok5hdGl2ZUZ1bmN0aW9uRGVjbGFyYXRpb24gbmF0aXZlRnVuY3Rpb25EZWNsYXJhdGlvbihBU1Q6
OkZ1bmN0aW9uRGVjbGFyYXRpb24oTGV4ZXI6OlRva2VuKHN0cnVjdHVyZUVsZW1lbnQub3JpZ2lu
KCkpLCBBU1Q6OkF0dHJpYnV0ZUJsb2NrKCksIFdURjo6bnVsbG9wdCwgV1RGTW92ZShyZXR1cm5U
eXBlKSwgU3RyaW5nOjpmb3JtYXQoIm9wZXJhdG9yJi4lcyIsIHN0cnVjdHVyZUVsZW1lbnQubmFt
ZSgpLnV0ZjgoKS5kYXRhKCkpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEY6Om51bGxvcHQsIGlz
T3BlcmF0b3IpLCBpc1Jlc3RyaWN0ZWQpOworICAgICAgICAgICAgICAgIEFTVDo6TmF0aXZlRnVu
Y3Rpb25EZWNsYXJhdGlvbiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uKEFTVDo6RnVuY3Rpb25E
ZWNsYXJhdGlvbihMZXhlcjo6VG9rZW4oc3RydWN0dXJlRWxlbWVudC5vcmlnaW4oKSksIEFTVDo6
QXR0cmlidXRlQmxvY2soKSwgV1RGOjpudWxsb3B0LCBXVEZNb3ZlKHJldHVyblR5cGUpLCBTdHJp
bmc6OmZvcm1hdCgib3BlcmF0b3ImLiVzIiwgc3RydWN0dXJlRWxlbWVudC5uYW1lKCkudXRmOCgp
LmRhdGEoKSksIFdURk1vdmUocGFyYW1ldGVycyksIFdURjo6bnVsbG9wdCwgaXNPcGVyYXRvcikp
OwogICAgICAgICAgICAgICAgIHJldHVybiBuYXRpdmVGdW5jdGlvbkRlY2xhcmF0aW9uOwogICAg
ICAgICAgICAgfTsKICAgICAgICAgICAgIHByb2dyYW0uYXBwZW5kKGNyZWF0ZUFuZGVyKEFTVDo6
QWRkcmVzc1NwYWNlOjpDb25zdGFudCkpOwo=
</data>
<flag name="review"
          id="376018"
          type_id="1"
          status="+"
          setter="rmorisset"
    />
          </attachment>
      

    </bug>

</bugzilla>