<?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>86981</bug_id>
          
          <creation_ts>2012-05-20 19:27:40 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)</short_desc>
          <delta_ts>2012-05-20 23:30:10 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>628724</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-20 19:27:40 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings. In this bug we pass Isolate to throwError()s in V8 custom bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628725</commentid>
    <comment_count>1</comment_count>
      <attachid>142936</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-20 19:29:27 -0700</bug_when>
    <thetext>Created attachment 142936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628809</commentid>
    <comment_count>2</comment_count>
      <attachid>142936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 23:30:06 -0700</bug_when>
    <thetext>Comment on attachment 142936
Patch

Clearing flags on attachment: 142936

Committed r117734: &lt;http://trac.webkit.org/changeset/117734&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628810</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 23:30:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142936</attachid>
            <date>2012-05-20 19:29:27 -0700</date>
            <delta_ts>2012-05-20 23:30:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86981-20120521112926.patch</filename>
            <type>text/plain</type>
            <size>23956</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZiZWE0YWZiZDFlZjhk
MTY2ZjY2MzU1YmZlMDJiNDdhZWMzMjg1OC4uMWUyZmFhNjE4ZGIyMDZiN2ExNWYxZDY5NzU0Mzhl
N2Q5YjhjZjc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA1LTIwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byB0aHJvd0Vycm9yKClzIGluIFY4IGN1c3RvbSBiaW5kaW5ncyAoUGFydCAyKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY5ODEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb2JqZWN0aXZl
IGlzIHRvIHBhc3MgSXNvbGF0ZSBhcm91bmQgaW4gVjggYmluZGluZ3MuCisgICAgICAgIFRoaXMg
cGF0Y2ggcGFzc2VzIElzb2xhdGUgdG8gdGhyb3dFcnJvcigpcyBpbiBWOCBjdXN0b20gYmluZGlu
Z3MuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp2OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3RvckNhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIaXN0b3J5Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4SGlzdG9yeTo6cHVzaFN0YXRlQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VjhIaXN0b3J5OjpyZXBsYWNlU3RhdGVDYWxsYmFjayk6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW50ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VjhJbnRlbnQ6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRs
ZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5v
dGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOE5vdGlmaWNh
dGlvbkNlbnRlcjo6Y3JlYXRlSFRNTE5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4Tm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVOb3RpZmljYXRpb25DYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpWOE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Np
b25DYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0
Um93TGlzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFNRTFJlc3VsdFNldFJvd0xp
c3Q6Oml0ZW1DYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJh
bnNhY3Rpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxUcmFuc2FjdGlvbjo6
ZXhlY3V0ZVNxbENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxU
cmFuc2FjdGlvblN5bmNDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhTUUxUcmFuc2Fj
dGlvblN5bmM6OmV4ZWN1dGVTcWxDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdG9yYWdlU2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVy
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6
Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V2ViU29ja2V0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViU29ja2V0Ojpj
b25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViU29ja2V0OjpzZW5k
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJTb2NrZXQ6OmNsb3NlQ2FsbGJhY2sp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VjhXb3JrZXJDb250ZXh0OjppbXBvcnRTY3JpcHRzQ2FsbGJh
Y2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdENvbnN0cnVjdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlVGV4dEFjY2Vzc29yR2V0
dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpWOFhNTEh0dHBSZXF1ZXN0OjpzZW5kQ2FsbGJhY2spOgorCiAy
MDEyLTA1LTIwICBHZW9yZ2UgU3RhaWtvcyAgPHN0YWlrb3NAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBVc2UgcmVpbnRlcnByZXRfY2FzdF9wdHI8PiB0byBmaXggYW4gYWxpZ25tZW50IHdhcm5pbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcAppbmRleCA1MTNiNTA2Y2QwYWVj
YjE2ZWIwZGM5MGExNTJmYTM2N2MwNGI5NTJmLi41NzFlNDQzYTJmZjQwMjVmYzRkZjkwOTI1MDBi
YWFjZjA3NTVkODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAg
LTU4LDExICs1OCwxMSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4SFRNTEltYWdl
RWxlbWVudENvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZwogCiAgICAgRnJhbWUqIGZy
YW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckN1cnJlbnRDb250ZXh0KCk7CiAgICAgaWYg
KCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVm
ZXJlbmNlRXJyb3IsICJJbWFnZSBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGZyYW1lIGlzIHVuYXZh
aWxhYmxlIik7CisgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJl
ZmVyZW5jZUVycm9yLCAiSW1hZ2UgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBmcmFtZSBpcyB1bmF2
YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IGZyYW1lLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBW
OFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiSW1hZ2UgY29uc3Ry
dWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2YWlsYWJsZSIpOworICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIkltYWdlIGNv
bnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAKICAgICAvLyBNYWtlIHN1cmUgdGhlIGRvY3VtZW50IGlzIGFkZGVkIHRvIHRo
ZSBET00gTm9kZSBtYXAuIE90aGVyd2lzZSwgdGhlIEhUTUxJbWFnZUVsZW1lbnQgaW5zdGFuY2UK
ICAgICAvLyBtYXkgZW5kIHVwIGJlaW5nIHRoZSBvbmx5IG5vZGUgaW4gdGhlIG1hcCBhbmQgZ2V0
IGdhcmJhZ2UtY2NvbGxlY3RlZCBwcmVtYXR1cmVseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhpc3RvcnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAKaW5kZXggOTQ0MzY4Mjc3
Mjg0ZmJkOTg4ZjUyYjZkM2U2MGExMWNiZGU1Yjg0MS4uNGUzMGRiNTE0YmExNzNkZTI2NmUyNWY5
NGYyNDY1NmYyZWQ1OThkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4SGlzdG9yeTo6cHVzaFN0YXRlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKICAgICBIaXN0b3J5KiBoaXN0b3J5ID0gVjhIaXN0b3J5Ojp0b05hdGl2ZShh
cmdzLkhvbGRlcigpKTsKICAgICBoaXN0b3J5LT5zdGF0ZU9iamVjdEFkZGVkKGhpc3RvcnlTdGF0
ZS5yZWxlYXNlKCksIHRpdGxlLCB1cmwsIEhpc3Rvcnk6OlN0YXRlT2JqZWN0UHVzaCwgZWMpOwog
ICAgIGFyZ3MuSG9sZGVyKCktPkRlbGV0ZUhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1l
OjpzdGF0ZSgpKTsKLSAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CisgICAgcmV0dXJuIHRocm93
RXJyb3IoZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4SGlzdG9yeTo6cmVwbGFjZVN0YXRlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKQEAgLTEwNiw3ICsxMDYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIaXN0b3J5Ojpy
ZXBsYWNlU3RhdGVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIEhpc3Rv
cnkqIGhpc3RvcnkgPSBWOEhpc3Rvcnk6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGhp
c3RvcnktPnN0YXRlT2JqZWN0QWRkZWQoaGlzdG9yeVN0YXRlLnJlbGVhc2UoKSwgdGl0bGUsIHVy
bCwgSGlzdG9yeTo6U3RhdGVPYmplY3RSZXBsYWNlLCBlYyk7CiAgICAgYXJncy5Ib2xkZXIoKS0+
RGVsZXRlSGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnN0YXRlKCkpOwotICAgIHJl
dHVybiB0aHJvd0Vycm9yKGVjKTsKKyAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogfQogCiBib29sIFY4SGlzdG9yeTo6aW5kZXhlZFNlY3VyaXR5Q2hlY2sodjg6
OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHVpbnQzMl90IGluZGV4LCB2ODo6QWNjZXNzVHlwZSB0
eXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludGVudENvbnN0cnVjdG9yLmNwcAppbmRleCAyOGZhMjFl
M2IwMTdjNzE3NTg3ZmQ0ZTljYWFiYmYzOTEwZTU0ODRlLi41M2FiZGZkYmNhNDI0MmUyYzM0Y2Qz
ZjE2MDJiZWQzNDBmMjQ1YTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbnRlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW50ZW50Q29uc3RydWN0b3IuY3BwCkBAIC02MSw3ICs2MSw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEludGVudDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAg
ICAgICAgUmVmUHRyPEludGVudD4gaW1wbCA9IEludGVudDo6Y3JlYXRlKFNjcmlwdFN0YXRlOjpj
dXJyZW50KCksIG9wdGlvbnMsIGVjKTsKICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoZWMpOworICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBw
ZXIgPSBhcmdzLkhvbGRlcigpOwogICAgICAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIo
d3JhcHBlciwgJmluZm8sIGltcGwuZ2V0KCkpOwpAQCAtODEsMTEgKzgxLDExIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEludGVudDo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogICAgIGJvb2wgZGF0YURpZFRocm93ID0gZmFsc2U7CiAgICAgUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlKGFyZ3NbMl0sICZtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCAmYXJyYXlCdWZmZXJB
cnJheVRyYW5zZmVyTGlzdCwgZGF0YURpZFRocm93KTsKICAgICBpZiAoZGF0YURpZFRocm93KQot
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihEQVRBX0NMT05FX0VSUik7CisgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKERBVEFfQ0xPTkVfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICBS
ZWZQdHI8SW50ZW50PiBpbXBsID0gSW50ZW50OjpjcmVhdGUoYWN0aW9uLCB0eXBlLCBkYXRhLCBt
ZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0LCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICBy
ZXR1cm4gdGhyb3dFcnJvcihlYyk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBh
cmdzLkhvbGRlcigpOwogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcih3cmFwcGVyLCAm
aW5mbywgaW1wbC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAKaW5kZXggZWU3ZDE2Y2FmZjkwZTgw
ZDg0Mzk5ZDA4YzY0MjVhYTA1ODA2MDk3ZC4uYmRjY2FmY2MwNTM5Mjk4N2Y1OWZlODliZjkwMThj
NWIyZjE1ZmY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcApAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIG1lc3NhZ2VQb3J0LT5wb3N0TWVzc2FnZShtZXNzYWdl
LnJlbGVhc2UoKSwgJnBvcnRBcnJheSwgZWMpOwotICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsK
KyAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAKaW5k
ZXggNGNhMTk4YzdlYmI1NmJmYmQ2ZjIyY2Y0ZjdhYjExNTczMThlMDhjNS4uMTA5YWFmOTBlZGI0
ZTFmYzk5ZWNmMjJmMDkzOGNhZmIwYzhlMThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0
b20uY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNh
dGlvbkNlbnRlcjo6Y3JlYXRlSFRNTE5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0CiAgICAgUmVm
UHRyPE5vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uID0gbm90aWZpY2F0aW9uQ2VudGVyLT5jcmVh
dGVIVE1MTm90aWZpY2F0aW9uKHVybCwgZWMpOwogCiAgICAgaWYgKGVjKQotICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcihlYyk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAKICAgICBub3RpZmljYXRpb24tPnJlZigpOwogICAgIHJldHVybiB0b1Y4
KG5vdGlmaWNhdGlvbi5nZXQoKSwgYXJncy5HZXRJc29sYXRlKCkpOwpAQCAtNzIsNyArNzIsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlm
aWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4OgogICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IG5vdGlm
aWNhdGlvbiA9IG5vdGlmaWNhdGlvbkNlbnRlci0+Y3JlYXRlTm90aWZpY2F0aW9uKHRvV2ViQ29y
ZVN0cmluZyhhcmdzWzBdKSwgdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMV0pLCB0b1dlYkNvcmVTdHJp
bmcoYXJnc1syXSksIGVjKTsKIAogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoZWMpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5HZXRJc29sYXRlKCkp
OwogCiAgICAgbm90aWZpY2F0aW9uLT5yZWYoKTsKICAgICByZXR1cm4gdG9WOChub3RpZmljYXRp
b24uZ2V0KCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKQEAgLTg2LDExICs4NiwxMSBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uQ2Fs
bGJhY2soY29uc3Qgdjg6OgogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgc2NyaXB0IGV4ZWN1dGlv
biBjb250ZXh0IGlzIHZhbGlkLgogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoSU5WQUxJRF9TVEFURV9FUlIpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihJ
TlZBTElEX1NUQVRFX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgLy8gUmVxdWVzdGlu
ZyBwZXJtaXNzaW9uIGlzIG9ubHkgdmFsaWQgZnJvbSBhIHBhZ2UgY29udGV4dC4KICAgICBpZiAo
Y29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKE5P
VF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoTk9UX1NVUFBPUlRF
RF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFJlZlB0cjxWOEN1c3RvbVZvaWRDYWxs
YmFjaz4gY2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAwKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3Vs
dFNldFJvd0xpc3RDdXN0b20uY3BwCmluZGV4IDcyMmFhMzU3N2EzMzRmZThmMDhkZTI0Mzk4ODI0
ZDgzMTMxMWUyY2IuLmY3OTM2ZWM2NjNkNTAwNDNjYzIyYzIwMTYxMjY2MTY3OTZmYjU1MWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNl
dFJvd0xpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCkBAIC00NCw3ICs0NCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFNRTFJlc3VsdFNldFJvd0xpc3Q6Oml0ZW1DYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhCiAgICAgSU5DX1NUQVRTKCJET00uU1FMUmVzdWx0U2V0Um93TGlz
dC5pdGVtKCkiKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpID09IDApIHsKLSAgICAgICAgVjhQ
cm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpTeW50YXhFcnJvciwgIkl0ZW0gaW5kZXggaXMgcmVx
dWlyZWQuIik7CisgICAgICAgIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJy
b3IsICJJdGVtIGluZGV4IGlzIHJlcXVpcmVkLiIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAg
ICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAKQEAgLTU3LDcgKzU3LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FMUmVzdWx0U2V0Um93TGlzdDo6aXRlbUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGEKIAogICAgIHVuc2lnbmVkIGxvbmcgaW5kZXggPSBhcmdzWzBd
LT5JbnRlZ2VyVmFsdWUoKTsKICAgICBpZiAoaW5kZXggPj0gcm93TGlzdC0+bGVuZ3RoKCkpIHsK
LSAgICAgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSYW5nZUVycm9yLCAiSXRlbSBp
bmRleCBpcyBvdXQgb2YgcmFuZ2UuIik7CisgICAgICAgIFY4UHJveHk6OnRocm93RXJyb3IoVjhQ
cm94eTo6UmFuZ2VFcnJvciwgIkl0ZW0gaW5kZXggaXMgb3V0IG9mIHJhbmdlLiIsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRy
YW5zYWN0aW9uQ3VzdG9tLmNwcAppbmRleCBmODUyMGYwMWVhZDA5OGIyNjZlNDNmMDg0MjczM2Uz
OWI2YWZkMmIxLi43MWM0ZjNiZDM0YmE2ZmEyZTIzMWJkNWUyMGFmYWYxOWU3Y2EyNzZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlv
bkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FM
VHJhbnNhY3Rpb25DdXN0b20uY3BwCkBAIC01Myw3ICs1Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOFNRTFRyYW5zYWN0aW9uOjpleGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYKICAgICBJTkNfU1RBVFMoIkRPTS5TUUxUcmFuc2FjdGlvbi5leGVjdXRlU3FsKCkiKTsK
IAogICAgIGlmIChhcmdzLkxlbmd0aCgpID09IDApCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihTWU5UQVhfRVJSLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAKICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JM
T0NLKFY4UGFyYW1ldGVyPD4sIHN0YXRlbWVudCwgYXJnc1swXSk7CiAKQEAgLTYxLDcgKzYxLDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxICYm
ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSkgewogICAgICAgICBpZiAoIWFyZ3NbMV0tPklz
T2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VS
Uik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUiwgYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIHVpbnQzMl90IHNxbEFyZ3NMZW5ndGggPSAwOwog
ICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gc3FsQXJnc09iamVjdCA9IGFyZ3NbMV0tPlRv
T2JqZWN0KCk7CkBAIC05NywxNCArOTcsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FM
VHJhbnNhY3Rpb246OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogICAg
IFJlZlB0cjxTUUxTdGF0ZW1lbnRDYWxsYmFjaz4gY2FsbGJhY2s7CiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPiAyICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzJdKSkgewogICAgICAgICBpZiAo
IWFyZ3NbMl0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBF
X01JU01BVENIX0VSUik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01B
VENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBjYWxsYmFjayA9IFY4U1FMU3Rh
dGVtZW50Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzJdLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsK
ICAgICB9CiAKICAgICBSZWZQdHI8U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjazsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDMgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKGFy
Z3NbM10pKSB7CiAgICAgICAgIGlmICghYXJnc1szXS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAg
IHJldHVybiB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
ICAgIGVycm9yQ2FsbGJhY2sgPSBWOFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s6OmNyZWF0ZShh
cmdzWzNdLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3luY0N1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlv
blN5bmNDdXN0b20uY3BwCmluZGV4IDU5ZTRjMGRlMDQwOTg5MGE5MWQyMDQzZDFiNDMzY2EyN2Ex
NDg3YzguLjcwN2IwZDhiNmJmMTM5ZjgzN2ExMGEzMDgwYzI3MWQ0MmUzN2FjYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3lu
Y0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FM
VHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcApAQCAtNTMsNyArNTMsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhTUUxUcmFuc2FjdGlvblN5bmM6OmV4ZWN1dGVTcWxDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbgogICAgIElOQ19TVEFUUygiRE9NLlNRTFRyYW5zYWN0aW9uU3luYy5leGVjdXRl
U3FsKCkiKTsKIAogICAgIGlmICghYXJncy5MZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoU1lOVEFYX0VSUik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFNZTlRBWF9FUlIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENFUFRJ
T05fQkxPQ0soVjhQYXJhbWV0ZXI8Piwgc3RhdGVtZW50LCBhcmdzWzBdKTsKIApAQCAtNjEsNyAr
NjEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTUUxUcmFuc2FjdGlvblN5bmM6OmV4ZWN1
dGVTcWxDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbgogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAxICYmICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFdKSkgewogICAgICAgICBpZiAoIWFyZ3Nb
MV0tPklzT2JqZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01B
VENIX0VSUik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VS
UiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgICAgIHVpbnQzMl90IHNxbEFyZ3NMZW5ndGgg
PSAwOwogICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gc3FsQXJnc09iamVjdCA9IGFyZ3Nb
MV0tPlRvT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwCmluZGV4IDQyNDdmZGU5ODk5MDUxOGY1Yjk4ODIyOThh
YjYzMDRlZmU0YWRkNDEuLmRjYzM0NjZhNzlhZGY2ZTBlODE3YjhiZjc4MDdlZDRlZDNhNGJkYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3Jh
Z2VDdXN0b20uY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBzdG9yYWdlU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OE5hbWUsIHY4OjpMb2MK
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBzdG9yYWdlLT5zZXRJdGVtKG5hbWUsIHZh
bHVlLCBlYyk7CiAgICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7Cisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAKICAgICBy
ZXR1cm4gdjhWYWx1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAK
aW5kZXggNzcxNTI5ZTNlYWIwMzllODU1YzFlZTZlMDA2Mjk0NmQzNzZjYzcyZS4uN2M1Mzk1MDk2
Y2M2ZjJkNDIzZGM1ZDdmNzYwZjU2ZmVlYjMyNzlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHAKQEAgLTY1LDExICs2NSwxMSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4
OjpBcgogCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gYXJnID0gYXJnc1swXTsKICAgICBpZiAo
IWFyZy0+SXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRD
SF9FUlIpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUiwgYXJn
cy5HZXRJc29sYXRlKCkpOwogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCi0gICAgICAg
IHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9yLCAiV2Vi
S2l0TXV0YXRpb25PYnNlcnZlciBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgZnJhbWUgdW5hdmFp
bGFibGUiKTsKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVm
ZXJlbmNlRXJyb3IsICJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIGNvbnN0cnVjdG9yJ3MgYXNzb2Np
YXRlZCBmcmFtZSB1bmF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFJlZlB0
cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IFY4TXV0YXRpb25DYWxsYmFjazo6Y3JlYXRl
KGFyZywgY29udGV4dCk7CiAgICAgUmVmUHRyPFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2Vy
dmVyID0gV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxiYWNrLnJlbGVhc2UoKSk7
CkBAIC04OCw3ICs4OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6Om9ic2VydmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lCiAgICAgRVhDRVBUSU9O
X0JMT0NLKE5vZGUqLCB0YXJnZXQsIFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5v
ZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMCk7
CiAKICAgICBpZiAoIWFyZ3NbMV0tPklzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9N
SVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIERpY3Rpb25hcnkgb3B0aW9u
c09iamVjdChhcmdzWzFdKTsKICAgICB1bnNpZ25lZCBvcHRpb25zID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3Bw
CmluZGV4IDNiMTE0Mzc5OTNkZmY4ODQ3MzY4ZjAwZTk4MmVjNWUzN2U2ODU5YzguLjQ5NTBiMjA4
YjFmM2E0Y2I4YTMyNzI2Mjk0ZmVjMzQ2NDE1ZmRmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcApAQCAtNjcs
MTQgKzY3LDE0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYlNvY2tldDo6Y29uc3RydWN0
b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgdjg6OlRyeUNhdGNoIHRy
eUNhdGNoOwogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gdXJsc3RyaW5nID0gYXJnc1swXS0+
VG9TdHJpbmcoKTsKICAgICBpZiAodHJ5Q2F0Y2guSGFzQ2F1Z2h0KCkpCi0gICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKHRyeUNhdGNoLkV4Y2VwdGlvbigpKTsKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IodHJ5Q2F0Y2guRXhjZXB0aW9uKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAo
dXJsc3RyaW5nLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3Io
VjhQcm94eTo6U3ludGF4RXJyb3IsICJFbXB0eSBVUkwiKTsKKyAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnRocm93RXJyb3IoVjhQcm94eTo6U3ludGF4RXJyb3IsICJFbXB0eSBVUkwiLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAKICAgICAvLyBHZXQgdGhlIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4K
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRo
cm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJXZWJTb2NrZXQgY29uc3RydWN0b3In
cyBhc3NvY2lhdGVkIGZyYW1lIGlzIG5vdCBhdmFpbGFibGUiKTsKKyAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICJXZWJTb2NrZXQgY29u
c3RydWN0b3IncyBhc3NvY2lhdGVkIGZyYW1lIGlzIG5vdCBhdmFpbGFibGUiLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAKICAgICBjb25zdCBLVVJMJiB1cmwgPSBjb250ZXh0LT5jb21wbGV0ZVVSTCh0
b1dlYkNvcmVTdHJpbmcodXJsc3RyaW5nKSk7CiAKQEAgLTkyLDcgKzkyLDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MKICAgICAgICAgICAgICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2hQcm90
b2NvbDsKICAgICAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHByb3RvY29sID0g
cHJvdG9jb2xzQXJyYXktPkdldCh2ODo6SW50MzI6Ok5ldyhpKSktPlRvU3RyaW5nKCk7CiAgICAg
ICAgICAgICAgICAgaWYgKHRyeUNhdGNoUHJvdG9jb2wuSGFzQ2F1Z2h0KCkpCi0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRyeUNhdGNoUHJvdG9jb2wuRXhjZXB0aW9uKCkp
OworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaFByb3RvY29s
LkV4Y2VwdGlvbigpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgICAgICAgICAgcHJvdG9j
b2xzLmFwcGVuZCh0b1dlYkNvcmVTdHJpbmcocHJvdG9jb2wpKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIHdlYlNvY2tldC0+Y29ubmVjdCh1cmwsIHByb3RvY29scywgZWMpOwpAQCAtMTAw
LDEyICsxMDAsMTIgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0Ojpjb25zdHJ1
Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICAgICAgICAgIHY4OjpU
cnlDYXRjaCB0cnlDYXRjaFByb3RvY29sOwogICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6U3Ry
aW5nPiBwcm90b2NvbCA9IHByb3RvY29sc1ZhbHVlLT5Ub1N0cmluZygpOwogICAgICAgICAgICAg
aWYgKHRyeUNhdGNoUHJvdG9jb2wuSGFzQ2F1Z2h0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IodHJ5Q2F0Y2hQcm90b2NvbC5FeGNlcHRpb24oKSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2hQcm90b2NvbC5FeGNlcHRpb24oKSwgYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgICAgICAgICAgd2ViU29ja2V0LT5jb25uZWN0KHVybCwgdG9XZWJD
b3JlU3RyaW5nKHByb3RvY29sKSwgZWMpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChlYykK
LSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFw
cGVyKGFyZ3MuSG9sZGVyKCksICZpbmZvLCB3ZWJTb2NrZXQuZ2V0KCkpOwogICAgIFY4RE9NV3Jh
cHBlcjo6c2V0SlNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KHdlYlNvY2tldC5yZWxlYXNlKCks
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoYXJncy5Ib2xkZXIoKSkpOwpAQCAtMTM1
LDExICsxMzUsMTEgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0OjpzZW5kQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgdjg6OlRyeUNhdGNoIHRy
eUNhdGNoOwogICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHN0cmluZ01lc3NhZ2UgPSBt
ZXNzYWdlLT5Ub1N0cmluZygpOwogICAgICAgICBpZiAodHJ5Q2F0Y2guSGFzQ2F1Z2h0KCkpCi0g
ICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaC5FeGNlcHRpb24oKSk7CisgICAg
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaC5FeGNlcHRpb24oKSwgYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgICAgICByZXN1bHQgPSB3ZWJTb2NrZXQtPnNlbmQodG9XZWJDb3JlU3Ry
aW5nKHN0cmluZ01lc3NhZ2UpLCBlYyk7CiAgICAgfQogICAgIGlmIChlYykKLSAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoZWMpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5H
ZXRJc29sYXRlKCkpOwogCiAgICAgcmV0dXJuIHY4Qm9vbGVhbihyZXN1bHQpOwogfQpAQCAtMTY1
LDE0ICsxNjUsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViU29ja2V0OjpjbG9zZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgICAgICAgICB2ODo6VHJ5Q2F0
Y2ggdHJ5Q2F0Y2g7CiAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHJlYXNvblZh
bHVlID0gYXJnc1sxXS0+VG9TdHJpbmcoKTsKICAgICAgICAgICAgIGlmICh0cnlDYXRjaC5IYXND
YXVnaHQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaC5FeGNl
cHRpb24oKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2guRXhj
ZXB0aW9uKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgICAgIHJlYXNvbiA9IHRvV2Vi
Q29yZVN0cmluZyhyZWFzb25WYWx1ZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgd2ViU29ja2V0LT5jbG9zZShjb2RlLCByZWFzb24sIGVjKTsKICAg
ICBpZiAoZWMpCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKKyAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IoZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6OlVuZGVm
aW5lZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmluZGV4IDkxYmEwMDc3Y2JhNmJiZWQ1
Nzg1MzVlOTk3Y2Y2OWQ0MmVlMDYwZWEuLjc4ZDk0YTQwMjk3NjZmYzYwNTY5MjFkOWRlNjdiNjFl
OWMwZTJmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0b20uY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4V29ya2VyQ29udGV4dDo6aW1wb3J0U2NyaXB0c0NhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMKICAgICB3b3JrZXJDb250ZXh0LT5pbXBvcnRTY3JpcHRzKHVy
bHMsIGVjKTsKIAogICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAg
cmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20uY3BwCmluZGV4IDYwZTViYmU0NzQxZWY3NjQz
MmNlOTAxY2NlMzUzNTQ2ZmZlMjc4NzkuLjY1NGJmOGFmZDMzZTZmNTE2OGU1OTQ4Nzk2ZDJmM2Rj
YTYzY2UxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V29ya2VyQ3VzdG9tLmNwcApAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwogICAgIHdvcmtlci0+cG9zdE1lc3NhZ2UobWVzc2FnZS5yZWxlYXNlKCksICZwb3J0
cywgZWMpOwotICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKKyAgICByZXR1cm4gdGhyb3dFcnJv
cihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhX
b3JrZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1
ZXN0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
WE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggODdkMDU0ZmY4MmVkOTk2NGQ2M2Fk
YjUzNjZiZDhmODk0ODJjMmQwMi4uNDM1ZGI4MGViM2U5OTA4ZjJhZGU0MDFjNDMwNWRlNzQzMWMw
MzZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1M
SHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTU3LDcgKzU3LDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OmNvbnN0cnVjdG9yQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAvLyBBbGxvY2F0ZSBhIFhNTEh0dHBSZXF1
ZXN0IG9iamVjdCBhcyBpdHMgaW50ZXJuYWwgZmllbGQuCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNv
bnRleHQpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVy
ZW5jZUVycm9yLCAiWE1MSHR0cFJlcXVlc3QgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRl
eHQgaXMgbm90IGF2YWlsYWJsZSIpOworICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJv
cihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlhNTEh0dHBSZXF1ZXN0IGNvbnN0cnVjdG9yJ3Mg
YXNzb2NpYXRlZCBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUiLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAKICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luOwogICAgIGlmIChW
OElzb2xhdGVkQ29udGV4dCogaXNvbGF0ZWRDb250ZXh0ID0gVjhJc29sYXRlZENvbnRleHQ6Omdl
dEVudGVyZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCAxOTlhNTk0NGEzODIzNmJh
MTBlMDczNGUzZTA2MmQ5NDRlYTk5MGM0Li4zNzUzOWI2ODBmYTE5ZjgxMWQxZWY1MDZlNTFmZjMx
MjJhNjY2MThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCkBAIC01Niw3ICs1Niw3IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpyZXNwb25zZVRleHRBY2Nlc3Nv
ckdldHRlcih2ODo6TG9jYWw8djg6CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgY29u
c3QgU3RyaW5nJiB0ZXh0ID0geG1sSHR0cFJlcXVlc3QtPnJlc3BvbnNlVGV4dChlYyk7CiAgICAg
aWYgKGVjKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CisgICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4U3RyaW5nKHRl
eHQpOwogfQogCkBAIC0xNTIsNyArMTUyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1M
SHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAg
ICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgZWMpOwogCiAgICAgaWYgKGVj
KQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CisgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgp
OwogfQpAQCAtMjA0LDcgKzIwNCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBS
ZXF1ZXN0OjpzZW5kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICB9CiAK
ICAgICBpZiAoZWMpCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKKyAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>