<?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>114315</bug_id>
          
          <creation_ts>2013-04-09 16:02:22 -0700</creation_ts>
          <short_desc>ScriptExecutionContext log exception should include a column number</short_desc>
          <delta_ts>2013-04-25 12:31:11 -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>Web Inspector</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>oliver</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>872123</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-04-09 16:02:22 -0700</bug_when>
    <thetext>ScriptExecutionContext has logExceptionToConsole which may send error ConsoleMessages to the inspector. In order to jump to the proper place in source code the inspector needs both the line number and column number. Examples would be JavaScript runtime exceptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872124</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-04-09 16:03:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/13614420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872126</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-04-09 16:04:54 -0700</bug_when>
    <thetext>This should also cover ScriptExecutionContext::reportException.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872127</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-04-09 16:05:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/13614454&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881056</commentid>
    <comment_count>4</comment_count>
      <attachid>199610</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-04-24 20:20:19 -0700</bug_when>
    <thetext>Created attachment 199610
[PATCH] Proposed Fix

Likely requires a patch on another bug and needs to be rebased in order to build. I&apos;ll work on making that happen so the bots can build as expected. The change however would remain essentially the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881496</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-04-25 12:31:11 -0700</bug_when>
    <thetext>Landed r149131: &lt;http://trac.webkit.org/changeset/149131&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199610</attachid>
            <date>2013-04-24 20:20:19 -0700</date>
            <delta_ts>2013-04-25 12:24:54 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>exception-stack-traces.patch</filename>
            <type>text/plain</type>
            <size>36060</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MTY0NDEwLi5mOTQ3OTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMtMDQt
MjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0IGxvZyBleGNlcHRpb24gc2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4g
bnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTQzMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhjZXB0
aW9uLXN0YWNrLXRyYWNlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgVmVyaWZpZXMgdGhhdCBleGNl
cHRpb25zIGhhdmUgc3RhY2sgdHJhY2VzIGFuZCBtYXRjaCBhIGNvbnNvbGUudHJhY2Ugc3RhY2su
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2NvbnNvbGUtZXhjZXB0
aW9uLXdoaWxlLW5vLWluc3BlY3Rvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWV4Y2VwdGlvbi13aGlsZS1uby1p
bnNwZWN0b3IuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgV2Ugbm93IHNhdmUgZXhjZXB0aW9uIGJh
Y2t0cmFjZXMgZXZlbiBpZiB0aGUgaW5zcGVjdG9yIGlzIG5vdCBvcGVuLgorCisgICAgICAgICog
ZmFzdC9kb20vamF2YXNjcmlwdC11cmwtZXhjZXB0aW9uLWlzb2xhdGlvbi1leHBlY3RlZC50eHQK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZW1vdmUtdGFyZ2V0LXdpdGgtc2hhZG93LWluLWRyYWct
ZXhwZWN0ZWQudHh0CisgICAgICAgICogZmFzdC9ldmVudHMvc2V0LWF0dHJpYnV0ZS1saXN0ZW5l
ci13aW5kb3ctb25lcnJvci1jcmFzaC1leHBlY3RlZC50eHQKKyAgICAgICAgKiBpbnNwZWN0b3It
cHJvdG9jb2wvbWVkaWEtcXVlcnktbGlzdGVuZXItZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24taW4tZXZhbC1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSByZXN1bHRzIHRo
YXQgbm93IGluY2x1ZGUgYmFja3RyYWNlcyBvciBkaWZmZXJlbnQgZGF0YS4gTW9zdCBiZXR0ZXIs
IHNvbWUgd29yc2UuCisKIDIwMTMtMDQtMjEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlTWVzc2FnZSBzaG91bGQg
aW5jbHVkZSBsaW5lIGFuZCBjb2x1bW4gbnVtYmVyIHdoZXJlIHBvc3NpYmxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9qYXZhc2NyaXB0LXVybC1leGNlcHRpb24taXNvbGF0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2phdmFzY3JpcHQtdXJsLWV4Y2Vw
dGlvbi1pc29sYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGI3NDg1YTEuLmNhZmNhNzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2phdmFzY3JpcHQtdXJsLWV4Y2VwdGlvbi1pc29s
YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2phdmFzY3JpcHQt
dXJsLWV4Y2VwdGlvbi1pc29sYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IDQyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzwnCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc8JwogRXhjZXB0aW9ucyB0aHJvd24gaW4gamF2
YXNjcmlwdCBVUkxzIHNob3VsZCBub3QgcHJvcGFnYXRlIHRvIHRoZSBtYWluIHNjcmlwdC4KIAog
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVtb3ZlLXRhcmdldC13aXRoLXNoYWRvdy1pbi1kcmFnLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbW92ZS10YXJnZXQtd2l0aC1zaGFkb3ctaW4tZHJhZy1l
eHBlY3RlZC50eHQKaW5kZXggNDVjMTE5Zi4uNDY2OTIxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVtb3ZlLXRhcmdldC13aXRoLXNoYWRvdy1pbi1kcmFnLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZW1vdmUtdGFyZ2V0LXdpdGgtc2hh
ZG93LWluLWRyYWctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM0OiBOb3RGb3VuZEVycm9yOiBET00gRXhjZXB0aW9uIDg6IEFuIGF0dGVtcHQgd2Fz
IG1hZGUgdG8gcmVmZXJlbmNlIGEgTm9kZSBpbiBhIGNvbnRleHQgd2hlcmUgaXQgZG9lcyBub3Qg
ZXhpc3QuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzQ6IE5vdEZvdW5kRXJyb3I6IERPTSBFeGNl
cHRpb24gODogQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byByZWZlcmVuY2UgYSBOb2RlIGluIGEgY29u
dGV4dCB3aGVyZSBpdCBkb2VzIG5vdCBleGlzdC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTog
Tm90Rm91bmRFcnJvcjogRE9NIEV4Y2VwdGlvbiA4OiBBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHJl
ZmVyZW5jZSBhIE5vZGUgaW4gYSBjb250ZXh0IHdoZXJlIGl0IGRvZXMgbm90IGV4aXN0LgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM1OiBOb3RGb3VuZEVycm9yOiBET00gRXhjZXB0aW9uIDg6IEFu
IGF0dGVtcHQgd2FzIG1hZGUgdG8gcmVmZXJlbmNlIGEgTm9kZSBpbiBhIGNvbnRleHQgd2hlcmUg
aXQgZG9lcyBub3QgZXhpc3QuCiBQQVNTLiBEUlQgZGlkbid0IGNyYXNoLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2V0LWF0dHJpYnV0ZS1saXN0ZW5lci13aW5kb3ctb25l
cnJvci1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zZXQtYXR0
cmlidXRlLWxpc3RlbmVyLXdpbmRvdy1vbmVycm9yLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBi
NWQ5ZmZmLi5hMjNmZTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zZXQt
YXR0cmlidXRlLWxpc3RlbmVyLXdpbmRvdy1vbmVycm9yLWNyYXNoLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zZXQtYXR0cmlidXRlLWxpc3RlbmVyLXdpbmRvdy1v
bmVycm9yLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDIgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNjogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTU6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7JwogVGVzdCBw
YXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2NvbnNvbGUtZXhjZXB0aW9uLXdoaWxlLW5vLWluc3Bl
Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFi
bGVkL2NvbnNvbGUtZXhjZXB0aW9uLXdoaWxlLW5vLWluc3BlY3Rvci1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiNmU3MWMuLjAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZC9jb25zb2xlLWV4Y2VwdGlvbi13aGls
ZS1uby1pbnNwZWN0b3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogMjAxMwotVGVzdHMgdGhhdCBjb25zb2xlIHdpbGwg
Tk9UIGNvbnRhaW4gc3RhY2sgdHJhY2UgZm9yIGV4Y2VwdGlvbiB0aHJvd24gd2hlbiBpbnNwZWN0
b3IgZnJvbnQtZW5kIHdhcyBjbG9zZWQuIEJ1ZyAxMDk0MjcuCi0KLVNVQ0NFU1M6IG1lc3NhZ2Ug
ZG9lc24ndCBoYXZlIHN0YWNrIHRyYWNlCi1URVNUIENPTVBMRVRFLgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2NvbnNvbGUtZXhjZXB0aW9u
LXdoaWxlLW5vLWluc3BlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3ItZW5hYmxlZC9jb25zb2xlLWV4Y2VwdGlvbi13aGlsZS1uby1pbnNwZWN0b3IuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUwNGI0My4uMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkL2NvbnNvbGUtZXhjZXB0aW9uLXdoaWxl
LW5vLWluc3BlY3Rvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRocm93RXhjZXB0aW9uKCkgewotICAgIHRocm93
IDIwMTM7Ci19Ci0KLWZ1bmN0aW9uIGJheigpCi17Ci0gICAgdGhyb3dFeGNlcHRpb24oKTsKLX0K
LQotZnVuY3Rpb24gYmFyKGNhbGxiYWNrKQotewotICAgIGNhbGxiYWNrKCkKLX0KLQotZnVuY3Rp
b24gZm9vKCkKLXsKLSAgICBiYXIoYmF6LmJpbmQodGhpcykpOwotfQotCi0KLWZ1bmN0aW9uIGhh
bmRsZUxvYWRlZCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBzZXRUaW1lb3V0KHNob3dJbnNwZWN0b3JBbmRS
dW5UZXN0LCAwKTsKLSAgICBmb28oKTsKLX0KLQotCi1mdW5jdGlvbiBzaG93SW5zcGVjdG9yQW5k
UnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIGlmIChXZWJJbnNwZWN0b3IuY29uc29sZS5tZXNzYWdlcy5sZW5ndGggIT09
IDEpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMOiBmb3VuZCB0b28gbWFu
eSBjb25zb2xlIG1lc3NhZ2VzOiAiICsgV2ViSW5zcGVjdG9yLmNvbnNvbGUubWVzc2FnZXMubGVu
Z3RoKTsKLQotICAgIHZhciBtZXNzYWdlID0gV2ViSW5zcGVjdG9yLmNvbnNvbGUubWVzc2FnZXNb
MF07Ci0gICAgdmFyIHN0YWNrID0gbWVzc2FnZS5zdGFja1RyYWNlOwotICAgIGlmIChzdGFjaykK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IGZvdW5kIG1lc3NhZ2Ugd2l0
aCBzdGFjayB0cmFjZSIpOwotICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlNVQ0NFU1M6IG1lc3NhZ2UgZG9lc24ndCBoYXZlIHN0YWNrIHRyYWNlIik7Ci0KLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVEVTVCBDT01QTEVURS4iKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotPGJvZHkgb25s
b2FkPSJoYW5kbGVMb2FkZWQoKSI+Ci08cD4KLVRlc3RzIHRoYXQgY29uc29sZSB3aWxsIE5PVCBj
b250YWluIHN0YWNrIHRyYWNlIGZvciBleGNlcHRpb24gdGhyb3duIHdoZW4gaW5zcGVjdG9yIGZy
b250LWVuZCB3YXMgY2xvc2VkLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA5NDI3Ij5CdWcgMTA5NDI3LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9tZWRpYS1xdWVy
eS1saXN0ZW5lci1leGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LXByb3RvY29sL21lZGlhLXF1ZXJ5LWxpc3RlbmVyLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggNTIyYmNlZi4uM2ZjNjk5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXBy
b3RvY29sL21lZGlhLXF1ZXJ5LWxpc3RlbmVyLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL21lZGlhLXF1ZXJ5LWxpc3RlbmVyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTM6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
MzogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IG9iamVjdFRoYXREb2VzTm90
RXhpc3QKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IG9iamVjdFRoYXREb2VzTm90RXhpc3QKIFRlc3QgdGhhdCB1bmNhdWdodCBl
eGNlcHRpb24gaW4gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciB3aWxsIGJlIHJlcG9ydGVkIHRvIHRo
ZSBjb25zb2xlLiBPbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIHR3byBleGNlcHRpb25zIGluIHRo
ZSBsaXN0ZW5lciBsb2dnZWQgdG8gdGhlIGNvbnNvbGUgKGZpcnN0IHRpbWUgd2hlbiB0aGUgbWVk
aWEgdHlwZSBpcyBvdmVycmlkZGVuIGFuZCBzZWNvbmQgLSB3aGVuIHRoZXkgYXJlIHJlc3RvcmVk
KS4gQnVnIDEwNTE2Mi4KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29u
c29sZS9jb25zb2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1leGNlcHRpb24tc3RhY2stdHJhY2VzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTFkMTk3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1l
eGNlcHRpb24tc3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTY6IFVSSUVycm9yOiBVUkkgZXJyb3IKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyMTogVHlwZUVycm9yOiAnMScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcg
JzEoKScpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFJhbmdlRXJyb3I6IEFycmF5IHNpemUg
aXMgbm90IGEgc21hbGwgZW5vdWdoIHBvc2l0aXZlIGludGVnZXIuCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzE6IFN5bnRheEVycm9yOiBFeHBlY3RlZCB0b2tlbiAnfScKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAzNjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGRvZXNOb3RF
eGlzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ2OiBFcnJvcjogQ3VzdG9tIEVycm9yCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTE6IFtvYmplY3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU2OiBlcnJvciBzdHJpbmcKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBET05FCitUZXN0
cyB0aGF0IEphdmFTY3JpcHQgZXhjZXB0aW9uJ3MgY29udGFpbiBzdGFjayB0cmFjZXMgYW5kIHRo
YXQgdGhlIGZ1bmN0aW9ucyBtYXRjaCBjb25zb2xlLnRyYWNlKCkgc3RhY2sgdHJhY2VzLgorCitT
VUNDRVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1leGNlcHRpb24tc3RhY2stdHJhY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNGU4MzU5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5odG1s
CkBAIC0wLDAgKzEsMTMyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiB3cmFwcGVyKGYpIHsgd3JhcHBlcjIoZik7IH0KK2Z1bmN0aW9uIHdyYXBwZXIy
KGYpIHsgd3JhcHBlcjMoZik7IH0KK2Z1bmN0aW9uIHdyYXBwZXIzKGYpIHsgd3JhcHBlcjQoZik7
IH0KK2Z1bmN0aW9uIHdyYXBwZXI0KGYpIHsgZmluYWxXcmFwcGVyKGYpOyB9CitmdW5jdGlvbiBm
aW5hbFdyYXBwZXIoZikgeyBwcm9kdWNlRXJyb3IoZik7IH0KK2Z1bmN0aW9uIHByb2R1Y2VFcnJv
cihmKSB7CisgICAgZigpOworfQorCitmdW5jdGlvbiB1cmlFcnJvcigpIHsKKyAgICBjb25zb2xl
LnRyYWNlKCk7CisgICAgZGVjb2RlVVJJKCIlIik7Cit9CisKK2Z1bmN0aW9uIHR5cGVFcnJvcigp
IHsKKyAgICBjb25zb2xlLnRyYWNlKCk7CisgICAgMSgpOworfQorCitmdW5jdGlvbiByYW5nZUVy
cm9yKCkgeworICAgIGNvbnNvbGUudHJhY2UoKTsKKyAgICBBcnJheSgtMSkubGVuZ3RoOworfQor
CitmdW5jdGlvbiBzeW50YXhFcnJvcigpIHsKKyAgICBjb25zb2xlLnRyYWNlKCk7CisgICAgZXZh
bCgieyIpOworfQorCitmdW5jdGlvbiByZWZlcmVuY2VFcnJvcigpIHsKKyAgICBjb25zb2xlLnRy
YWNlKCk7CisgICAgZG9lc05vdEV4aXN0OworfQorCitmdW5jdGlvbiBkb21FeGNlcHRpb24oKSB7
CisgICAgY29uc29sZS50cmFjZSgpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoInNo
b3VsZCBub3QgYmUgYSBzdHJpbmciKTsKK30KKworZnVuY3Rpb24gdGhyb3dFcnJvck9iamVjdCgp
IHsKKyAgICBjb25zb2xlLnRyYWNlKCk7CisgICAgdGhyb3cgbmV3IEVycm9yKCJDdXN0b20gRXJy
b3IiKTsKK30KKworZnVuY3Rpb24gdGhyb3dPYmplY3QoKSB7CisgICAgY29uc29sZS50cmFjZSgp
OworICAgIHRocm93IHtuYW1lOiAiQ3VzdG9tRXJyb3JPYmplY3ROYW1lIiwgbWVzc2FnZTogIkN1
c3RvbUVycm9yT2JqZWN0TWVzc2FnZSJ9OworfQorCitmdW5jdGlvbiB0aHJvd1N0cmluZygpIHsK
KyAgICBjb25zb2xlLnRyYWNlKCk7CisgICAgdGhyb3cgImVycm9yIHN0cmluZyI7Cit9CisKK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IuQ29uc29sZURpc3BhdGNoZXIucHJvdG90eXBlLCAibWVzc2FnZUFkZGVkIiwgbWVzc2FnZUFk
ZGVkLCB0cnVlKTsKKworICAgIHZhciBoYWRFcnJvciA9IGZhbHNlOworICAgIHZhciB0cmFjZVN0
YWNrVHJhY2UgPSBudWxsOworICAgIHZhciBlcnJvclN0YWNrVHJhY2UgPSBudWxsOworCisgICAg
ZnVuY3Rpb24gbWVzc2FnZUFkZGVkKHBheWxvYWQpCisgICAgeworICAgICAgICBpZiAocGF5bG9h
ZC50ZXh0ID09PSAiRE9ORSIpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KGhhZEVycm9yID8gIkZBSUxVUkUiIDogIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBpZiAoIXRyYWNlU3RhY2tUcmFjZSkgeworICAgICAgICAgICAgaWYgKHBheWxvYWQu
c291cmNlID09PSAiY29uc29sZS1hcGkiICYmIHBheWxvYWQudHlwZSA9PT0gInRyYWNlIiAmJiBw
YXlsb2FkLnN0YWNrVHJhY2UpCisgICAgICAgICAgICAgICAgdHJhY2VTdGFja1RyYWNlID0gcGF5
bG9hZC5zdGFja1RyYWNlOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4cGVjdGVkIGNvbnNvbGUudHJhY2UoKSBtZXNzYWdlIHdp
dGggYSBzdGFja1RyYWNlLCBidXQgZ290OiAiICsgSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpOwor
ICAgICAgICAgICAgICAgIHRyYWNlU3RhY2tUcmFjZSA9IGVycm9yU3RhY2tUcmFjZSA9IG51bGw7
CisgICAgICAgICAgICAgICAgaGFkRXJyb3IgPSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICghZXJyb3JTdGFja1RyYWNlKSB7
CisgICAgICAgICAgICBpZiAocGF5bG9hZC5zb3VyY2UgPT09ICJqYXZhc2NyaXB0IiAmJiBwYXls
b2FkLmxldmVsID09PSAiZXJyb3IiICYmIHBheWxvYWQuc3RhY2tUcmFjZSkKKyAgICAgICAgICAg
ICAgICBlcnJvclN0YWNrVHJhY2UgPSBwYXlsb2FkLnN0YWNrVHJhY2U7CisgICAgICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRXhwZWN0ZWQg
SmF2YVNjcmlwdCBFcnJvciBtZXNzYWdlIHdpdGggc3RhY2tUcmFjZSBidXQgZ290OiAiICsgSlNP
Ti5zdHJpbmdpZnkocGF5bG9hZCkpOworICAgICAgICAgICAgICAgIHRyYWNlU3RhY2tUcmFjZSA9
IGVycm9yU3RhY2tUcmFjZSA9IG51bGw7CisgICAgICAgICAgICAgICAgaGFkRXJyb3IgPSB0cnVl
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIGlmICh0cmFjZVN0YWNrVHJhY2UgJiYgZXJyb3JTdGFja1RyYWNlKSB7CisgICAgICAg
ICAgICB2YXIgaGFkU3RhY2tUcmFjZURpZmZlcmVuY2UgPSBmYWxzZTsKKyAgICAgICAgICAgIGlm
ICh0cmFjZVN0YWNrVHJhY2UubGVuZ3RoICE9PSBlcnJvclN0YWNrVHJhY2UubGVuZ3RoKQorICAg
ICAgICAgICAgICAgIGhhZFN0YWNrVHJhY2VEaWZmZXJlbmNlID0gdHJ1ZTsKKyAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJhY2VTdGFja1Ry
YWNlLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0cmFjZVN0YWNrVHJh
Y2VbaV0uZnVuY3Rpb25OYW1lICE9PSBlcnJvclN0YWNrVHJhY2VbaV0uZnVuY3Rpb25OYW1lKQor
ICAgICAgICAgICAgICAgICAgICAgICAgaGFkU3RhY2tUcmFjZURpZmZlcmVuY2UgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGhhZFN0
YWNrVHJhY2VEaWZmZXJlbmNlKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlVuZXhwZWN0ZWQgc3RhY2sgdHJhY2UgZm9yIEphdmFTY3JpcHQgRXJyb3I6ICIgKyBw
YXlsb2FkLnRleHQpOworICAgICAgICAgICAgICAgIGhhZEVycm9yID0gdHJ1ZTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgdHJhY2VTdGFja1RyYWNlID0gZXJyb3JTdGFja1RyYWNlID0g
bnVsbDsKKyAgICAgICAgfQorICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2VXaXRoVGltZW91dCgid3JhcHBlcih1cmlFcnJvcikiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIodHlwZUVycm9yKSIpOworICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcihyYW5nZUVycm9yKSIp
OworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcihz
eW50YXhFcnJvcikiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVv
dXQoIndyYXBwZXIocmVmZXJlbmNlRXJyb3IpIik7CisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHRocm93RXJyb3JPYmplY3QpIik7CisgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHRocm93T2JqZWN0
KSIpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBl
cih0aHJvd1N0cmluZykiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRp
bWVvdXQoImNvbnNvbGUubG9nKCdET05FJykiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IEphdmFTY3JpcHQgZXhjZXB0
aW9uJ3MgY29udGFpbiBzdGFjayB0cmFjZXMgYW5kIHRoYXQgdGhlIGZ1bmN0aW9ucyBtYXRjaCBj
b25zb2xlLnRyYWNlKCkgc3RhY2sgdHJhY2VzLjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS11bmNhdWdodC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDQ2Y2YwYmIuLjNhMmNm
ZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtdW5j
YXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKQEAgLTQsNyAr
NCw3IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRp
bWVvdXQgY2FsbGJhY2suCiBUZXN0cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxvZ2dl
ZCBpbnRvIGNvbnNvbGUuQnVnIDQ3MjUwLgogCiAKLUVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5l
IHNjcmlwdC4gcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4Ci1FcnJvcjogRXhj
ZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4gcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlm
cmFtZS5odG1sOjExCi1FcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suIHVu
Y2F1Z2h0LWluLWlmcmFtZS5odG1sOjYKK0Vycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlw
dC4gcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4YSByZXNvdXJjZXMvdW5jYXVn
aHQtaW4taWZyYW1lLmh0bWw6MThiIHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoy
MworRXJyb3I6IEV4Y2VwdGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuIHJlc291cmNlcy91
bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoxMWYgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5o
dG1sOjExKGFub255bW91cyBmdW5jdGlvbikgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5o
dG1sOjEzCitFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suIHVuY2F1Z2h0
LWluLWlmcmFtZS5odG1sOjZiYXIgdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6Nihhbm9ueW1vdXMg
ZnVuY3Rpb24pIHVuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24taW4tZXZh
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLWV4cGVjdGVkLnR4dAppbmRleCAyYmNlZDEzLi43Mzhl
NjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLWV4cGVj
dGVkLnR4dApAQCAtMyw1ICszLDUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IEVycm9yOiBF
eGNlcHRpb24gaW4gZXZhbC4KIFRlc3RzIHRoYXQgd2hlbiB1bmNhdWdodCBleGNlcHRpb24gaW4g
ZXZhbCdlZCBzY3JpcHQgZW5kaW5nIHdpdGggLy9AIHNvdXJjZVVSTD11cmwgaXMgbG9nZ2VkIGlu
dG8gY29uc29sZSwgaXRzIHN0YWNrIHRyYWNlIHdpbGwgaGF2ZSB0aGUgdXJsIGFzIHRoZSBzY3Jp
cHQgc291cmNlLiBCdWcgNDcyNTIuCiAKIFBhZ2UgcmVsb2FkZWQuCi1FcnJvcjogRXhjZXB0aW9u
IGluIGV2YWwuCitFcnJvcjogRXhjZXB0aW9uIGluIGV2YWwuIHVuZGVmaW5lZDo0YiB1bmRlZmlu
ZWQ6NGFldmFsU291cmNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZWMxZGZjLi5mZDEzMTU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTMtMDQtMjMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGxvZyBleGNl
cHRpb24gc2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQzMTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvY29uc29sZS9jb25z
b2xlLWV4Y2VwdGlvbi1zdGFjay10cmFjZXMuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENh
bGxTdGFja0ZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU2NyaXB0Q2FsbFN0
YWNrRnJvbUV4Y2VwdGlvbik6CisgICAgICAgIEdlbmVyYXRlIGEgU2NyaXB0Q2FsbFN0YWNrIGZy
b20gYW4gZXhjZXB0aW9uLiBVc2UgdGhlIHZtLmV4Y2VwdGlvblN0YWNrCisgICAgICAgIGlmIGF2
YWlsYWJsZSwgYW5kIGZhbGxiYWNrIHRvIHRoZSBleGNlcHRpb24gb2JqZWN0IHdoZXJlIG5lZWRl
ZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24pOgorICAgICAgICBBbHdheXMgaW5jbHVkZSBhIG5vbi1l
bXB0eSBjYWxsIHN0YWNrIHdpdGggZXhjZXB0aW9ucy4KKyAgICAgICAgV2hlcmUgbm90IHByb3Zp
ZGVkLCBmYWxsYmFjayB0byB0aGUgZXhjZXB0aW9uIG9iamVjdC4KKworICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKToKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlBlbmRpbmdF
eGNlcHRpb246OlBlbmRpbmdFeGNlcHRpb24pOgorICAgICAgICAoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6UGVuZGluZ0V4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpyZXBvcnRFeGNlcHRpb24pOgorICAgICAgICAqIHdvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2Vy
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dF
eGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4
dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRXhjZXB0aW9uVGFzazo6cGVyZm9y
bVRhc2spOgorICAgICAgICBQbHVtYiBjb2x1bW5OdW1iZXIgdGhyb3VnaCBhcyBuZWVkZWQuCisK
IDIwMTMtMDQtMjEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlTWVzc2FnZSBzaG91bGQgaW5jbHVkZSBsaW5lIGFu
ZCBjb2x1bW4gbnVtYmVyIHdoZXJlIHBvc3NpYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcAppbmRleCBhMjBjZGIxLi42NzI2N2QwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRXhjZXB0aW9uQmFzZS5o
IgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaCIKICNpbmNsdWRlIDxpbnRlcnByZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1
ZGUgPHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgpA
QCAtMTQ2LDMzICsxNDcsNDcgQEAgdm9pZCByZXBvcnRFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIGV4Y2VwdGlvbiwgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3IKICAgICAgICAgcmV0
dXJuOwogCiAgICAgSW50ZXJwcmV0ZXI6OkVycm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Ci0g
ICAgU3RyaW5nIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1N0cmluZyhleGVjKS0+dmFsdWUo
ZXhlYyk7Ci0gICAgaW50IGxpbmVOdW1iZXIgPSAwOwotICAgIFN0cmluZyBleGNlcHRpb25Tb3Vy
Y2VVUkw7CiAKLSAgICBSZWZDb3VudGVkQXJyYXk8U3RhY2tGcmFtZT4gc3RhY2tUcmFjZSA9IGV4
ZWMtPnZtKCkuZXhjZXB0aW9uU3RhY2s7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrKGNyZWF0ZVNjcmlwdENhbGxTdGFja0Zyb21FeGNlcHRpb24oZXhlYywgZXhjZXB0aW9u
LCBTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpKTsKICAgICBleGVj
LT5jbGVhckV4Y2VwdGlvbigpOwogICAgIGV4ZWMtPmNsZWFyU3VwcGxlbWVudGFyeUV4Y2VwdGlv
bkluZm8oKTsKIAotICAgIGlmIChleGNlcHRpb24uaXNPYmplY3QoKSkgewotICAgICAgICBKU09i
amVjdCogZXhjZXB0aW9uT2JqZWN0ID0gZXhjZXB0aW9uLnRvT2JqZWN0KGV4ZWMpOwotICAgICAg
ICBsaW5lTnVtYmVyID0gZXhjZXB0aW9uT2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVj
LCAibGluZSIpKS50b0ludDMyKGV4ZWMpOwotICAgICAgICBleGNlcHRpb25Tb3VyY2VVUkwgPSBl
eGNlcHRpb25PYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJzb3VyY2VVUkwiKSku
dG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOwotICAgIH0gZWxzZSBpZiAoc3RhY2tUcmFjZS5z
aXplKCkpIHsKLSAgICAgICAgbGluZU51bWJlciA9IHN0YWNrVHJhY2VbMF0ubGluZSgpOwotICAg
ICAgICBleGNlcHRpb25Tb3VyY2VVUkwgPSBzdGFja1RyYWNlWzBdLmZyaWVuZGx5U291cmNlVVJM
KCk7Ci0gICAgfQotCi0gICAgaWYgKEV4Y2VwdGlvbkJhc2UqIGV4Y2VwdGlvbkJhc2UgPSB0b0V4
Y2VwdGlvbkJhc2UoZXhjZXB0aW9uKSkKLSAgICAgICAgZXJyb3JNZXNzYWdlID0gZXhjZXB0aW9u
QmFzZS0+bWVzc2FnZSgpICsgIjogIiAgKyBleGNlcHRpb25CYXNlLT5kZXNjcmlwdGlvbigpOwot
CiAgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0RPTUdsb2Jh
bE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiAgICAgaWYgKEpTRE9NV2lu
ZG93KiB3aW5kb3cgPSBqc0R5bmFtaWNDYXN0PEpTRE9NV2luZG93Kj4oZ2xvYmFsT2JqZWN0KSkg
ewogICAgICAgICBpZiAoIXdpbmRvdy0+aW1wbCgpLT5pc0N1cnJlbnRseURpc3BsYXllZEluRnJh
bWUoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICBpbnQgbGluZU51bWJlciA9
IDA7CisgICAgaW50IGNvbHVtbk51bWJlciA9IDA7CisgICAgU3RyaW5nIGV4Y2VwdGlvblNvdXJj
ZVVSTDsKKyAgICBpZiAoY2FsbFN0YWNrLT5zaXplKCkpIHsKKyAgICAgICAgY29uc3QgU2NyaXB0
Q2FsbEZyYW1lJiBmcmFtZSA9IGNhbGxTdGFjay0+YXQoMCk7CisgICAgICAgIGxpbmVOdW1iZXIg
PSBmcmFtZS5saW5lTnVtYmVyKCk7CisgICAgICAgIGNvbHVtbk51bWJlciA9IGZyYW1lLmNvbHVt
bk51bWJlcigpOworICAgICAgICBleGNlcHRpb25Tb3VyY2VVUkwgPSBmcmFtZS5zb3VyY2VVUkwo
KTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGVyZSBtYXkgbm90IGJlIGFuIGV4Y2VwdGlv
blN0YWNrIGZvciBhIDxzY3JpcHQ+IFN5bnRheEVycm9yLiBGYWxsYmFjayB0byBnZXR0aW5nIGF0
IGxlYXN0IHRoZSBsaW5lIGFuZCBzb3VyY2VVUkwgZnJvbSB0aGUgZXhjZXB0aW9uLgorICAgICAg
ICBKU09iamVjdCogZXhjZXB0aW9uT2JqZWN0ID0gZXhjZXB0aW9uLnRvT2JqZWN0KGV4ZWMpOwor
ICAgICAgICBKU1ZhbHVlIGxpbmVWYWx1ZSA9IGV4Y2VwdGlvbk9iamVjdC0+Z2V0RGlyZWN0KGV4
ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgImxpbmUiKSk7CisgICAgICAgIGxpbmVOdW1iZXIg
PSBsaW5lVmFsdWUgJiYgbGluZVZhbHVlLmlzTnVtYmVyKCkgPyBpbnQobGluZVZhbHVlLnRvTnVt
YmVyKGV4ZWMpKSA6IDA7CisgICAgICAgIEpTVmFsdWUgc291cmNlVVJMVmFsdWUgPSBleGNlcHRp
b25PYmplY3QtPmdldERpcmVjdChleGVjLT52bSgpLCBJZGVudGlmaWVyKGV4ZWMsICJzb3VyY2VV
UkwiKSk7CisgICAgICAgIGV4Y2VwdGlvblNvdXJjZVVSTCA9IHNvdXJjZVVSTFZhbHVlICYmIHNv
dXJjZVVSTFZhbHVlLmlzU3RyaW5nKCkgPyBzb3VyY2VVUkxWYWx1ZS50b1N0cmluZyhleGVjKS0+
dmFsdWUoZXhlYykgOiBBU0NJSUxpdGVyYWwoInVuZGVmaW5lZCIpOworICAgIH0KKworICAgIFN0
cmluZyBlcnJvck1lc3NhZ2U7CisgICAgaWYgKEV4Y2VwdGlvbkJhc2UqIGV4Y2VwdGlvbkJhc2Ug
PSB0b0V4Y2VwdGlvbkJhc2UoZXhjZXB0aW9uKSkKKyAgICAgICAgZXJyb3JNZXNzYWdlID0gZXhj
ZXB0aW9uQmFzZS0+bWVzc2FnZSgpICsgIjogIiAgKyBleGNlcHRpb25CYXNlLT5kZXNjcmlwdGlv
bigpOworICAgIGVsc2UgeworICAgICAgICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5v
dCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhhbmRsaW5nIGV4Y2VwdGlvbnMKKyAgICAgICAgLy8gSWYg
dGhpcyBpcyBhIGN1c3RvbiBleGNlcHRpb24gb2JqZWN0LCBjYWxsIHRvU3RyaW5nIG9uIGl0IHRv
IHRyeSBhbmQgZ2V0IGEgbmljZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBleGNlcHRp
b24uCisgICAgICAgIGVycm9yTWVzc2FnZSA9IGV4Y2VwdGlvbi50b1N0cmluZyhleGVjKS0+dmFs
dWUoZXhlYyk7CisgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CisgICAgICAgIGV4ZWMt
PmNsZWFyU3VwcGxlbWVudGFyeUV4Y2VwdGlvbkluZm8oKTsKKyAgICB9CisKICAgICBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gZ2xvYmFsT2JqZWN0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmVw
b3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgZXhjZXB0aW9uU291cmNlVVJM
LCAwLCBjYWNoZWRTY3JpcHQpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnJlcG9ydEV4
Y2VwdGlvbihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgZXhjZXB0aW9u
U291cmNlVVJMLCBjYWxsU3RhY2stPnNpemUoKSA/IGNhbGxTdGFjayA6IDAsIGNhY2hlZFNjcmlw
dCk7CiB9CiAKIHZvaWQgcmVwb3J0Q3VycmVudEV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0
b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwCmluZGV4IDEyYjEzMWQuLmM2MmU1ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCkBAIC05MCw2ICs5MCwz
NSBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBzaXplX3QgbQogICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6
OmNyZWF0ZShmcmFtZXMpOwogfQogCitQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrRnJvbUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpK
U1ZhbHVlJiBleGNlcHRpb24sIHNpemVfdCBtYXhTdGFja1NpemUpCit7CisgICAgVmVjdG9yPFNj
cmlwdENhbGxGcmFtZT4gZnJhbWVzOworICAgIFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPiBz
dGFja1RyYWNlID0gZXhlYy0+dm0oKS5leGNlcHRpb25TdGFjazsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHN0YWNrVHJhY2Uuc2l6ZSgpICYmIGkgPCBtYXhTdGFja1NpemU7IGkrKykgewor
ICAgICAgICBpZiAoIXN0YWNrVHJhY2VbaV0uY2FsbGVlICYmIGZyYW1lcy5zaXplKCkpCisgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICBTdHJpbmcgZnVuY3Rpb25OYW1lID0gc3RhY2tUcmFj
ZVtpXS5mcmllbmRseUZ1bmN0aW9uTmFtZShleGVjKTsKKyAgICAgICAgZnJhbWVzLmFwcGVuZChT
Y3JpcHRDYWxsRnJhbWUoZnVuY3Rpb25OYW1lLCBzdGFja1RyYWNlW2ldLnNvdXJjZVVSTCwgc3Rh
Y2tUcmFjZVtpXS5saW5lKCksIHN0YWNrVHJhY2VbaV0uY29sdW1uKCkpKTsKKyAgICB9CisKKyAg
ICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE1MDg3PiBXZWIgSW5zcGVjdG9yOiBX
ZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gc2hvdWxkIG5vdCBldmFsdWF0ZSBKYXZhU2NyaXB0IGhh
bmRsaW5nIGV4Y2VwdGlvbnMKKyAgICAvLyBGYWxsYmFjayB0byBnZXR0aW5nIGF0IGxlYXN0IHRo
ZSBsaW5lIGFuZCBzb3VyY2VVUkwgZnJvbSB0aGUgZXhjZXB0aW9uIGlmIGl0IGhhcyB2YWx1ZXMg
YW5kIHRoZSBleGNlcHRpb25TdGFjayBkb2Vzbid0LgorICAgIGlmIChmcmFtZXMuc2l6ZSgpID4g
MCkgeworICAgICAgICBjb25zdCBTY3JpcHRDYWxsRnJhbWUmIGZpcnN0Q2FsbEZyYW1lID0gZnJh
bWVzLmZpcnN0KCk7CisgICAgICAgIEpTT2JqZWN0KiBleGNlcHRpb25PYmplY3QgPSBleGNlcHRp
b24udG9PYmplY3QoZXhlYyk7CisgICAgICAgIGlmIChleGNlcHRpb24uaXNPYmplY3QoKSAmJiBm
aXJzdENhbGxGcmFtZS5zb3VyY2VVUkwoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIEpTVmFs
dWUgbGluZVZhbHVlID0gZXhjZXB0aW9uT2JqZWN0LT5nZXREaXJlY3QoZXhlYy0+dm0oKSwgSWRl
bnRpZmllcihleGVjLCAibGluZSIpKTsKKyAgICAgICAgICAgIGludCBsaW5lTnVtYmVyID0gbGlu
ZVZhbHVlICYmIGxpbmVWYWx1ZS5pc051bWJlcigpID8gaW50KGxpbmVWYWx1ZS50b051bWJlcihl
eGVjKSkgOiAwOworICAgICAgICAgICAgSlNWYWx1ZSBzb3VyY2VVUkxWYWx1ZSA9IGV4Y2VwdGlv
bk9iamVjdC0+Z2V0RGlyZWN0KGV4ZWMtPnZtKCksIElkZW50aWZpZXIoZXhlYywgInNvdXJjZVVS
TCIpKTsKKyAgICAgICAgICAgIFN0cmluZyBleGNlcHRpb25Tb3VyY2VVUkwgPSBzb3VyY2VVUkxW
YWx1ZSAmJiBzb3VyY2VVUkxWYWx1ZS5pc1N0cmluZygpID8gc291cmNlVVJMVmFsdWUudG9TdHJp
bmcoZXhlYyktPnZhbHVlKGV4ZWMpIDogQVNDSUlMaXRlcmFsKCJ1bmRlZmluZWQiKTsKKyAgICAg
ICAgICAgIGZyYW1lc1swXSA9IFNjcmlwdENhbGxGcmFtZShmaXJzdENhbGxGcmFtZS5mdW5jdGlv
bk5hbWUoKSwgZXhjZXB0aW9uU291cmNlVVJMLCBsaW5lTnVtYmVyLCAwKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBTY3JpcHRDYWxsU3RhY2s6OmNyZWF0ZShmcmFtZXMpOworfQor
CiBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRm9yQ29u
c29sZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBzaXplX3QgbWF4U3RhY2tTaXplID0g
MTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaAppbmRleCA2ZTk0YjAzLi4yOThiYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCkBAIC0zMiw5ICszMiwxMiBA
QAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgogCiBuYW1lc3BhY2UgSlND
IHsKIGNsYXNzIEV4ZWNTdGF0ZTsKK2NsYXNzIEpTVmFsdWU7CitzdHJ1Y3QgU3RhY2tGcmFtZTsK
IH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNiArNDcsNyBAQCBjbGFzcyBTY3JpcHRD
YWxsU3RhY2s7CiAKIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxs
U3RhY2soc2l6ZV90IG1heFN0YWNrU2l6ZSwgYm9vbCBlbXB0eVN0YWNrSXNBbGxvd2VkKTsKIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpFeGVj
U3RhdGUqLCBzaXplX3QgbWF4U3RhY2tTaXplKTsKK1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjcmVhdGVTY3JpcHRDYWxsU3RhY2tGcm9tRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpKU1ZhbHVlJiBleGNlcHRpb24sIHNpemVfdCBtYXhTdGFja1NpemUpOwogUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFja0ZvckNvbnNvbGUoSlNDOjpFeGVj
U3RhdGUqKTsKIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVu
dHMoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IGUzZjQ1MTkuLjA0MWZkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMjY2MCw5ICsyNjYwLDkgQEAgRXZlbnRUYXJnZXQqIERvY3VtZW50OjplcnJv
ckV2ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gZG9tV2luZG93KCk7CiB9CiAKLXZvaWQgRG9jdW1l
bnQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xl
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50
IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgMCwgY2FsbFN0
YWNrKTsKKyAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxT
dGFjayk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBLVVJMJiB1cmwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDA1MTdjMjkuLjhiMzI2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CkBAIC0xMTA1LDcgKzExMDUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgRXZl
bnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0
aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Cisg
ICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29s
dW1uTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwogCiAgICAgdm9pZCBpbml0
RE5TUHJlZmV0Y2goKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCmluZGV4IDAxZjg0MmMuLjhiYTQ4ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTc0LDE1ICs3NCwxNyBAQCBwdWJsaWM6
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpQZW5kaW5nRXhjZXB0aW9uIHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nRXhjZXB0aW9uKTsKIHB1YmxpYzoKLSAgICBQZW5k
aW5nRXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2spCisgICAgUGVuZGluZ0V4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogICAgICAgICA6IG1fZXJy
b3JNZXNzYWdlKGVycm9yTWVzc2FnZSkKICAgICAgICAgLCBtX2xpbmVOdW1iZXIobGluZU51bWJl
cikKKyAgICAgICAgLCBtX2NvbHVtbk51bWJlcihjb2x1bW5OdW1iZXIpCiAgICAgICAgICwgbV9z
b3VyY2VVUkwoc291cmNlVVJMKQogICAgICAgICAsIG1fY2FsbFN0YWNrKGNhbGxTdGFjaykKICAg
ICB7CiAgICAgfQogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsKICAgICBpbnQgbV9saW5lTnVt
YmVyOworICAgIGludCBtX2NvbHVtbk51bWJlcjsKICAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CiAg
ICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gbV9jYWxsU3RhY2s7CiB9OwpAQCAtMjg5LDI1ICsy
OTEsMjUgQEAgYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5pdGl6ZVNjcmlwdEVycm9y
KFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
dm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgQ2FjaGVkU2NyaXB0KiBjYWNo
ZWRTY3JpcHQpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbihj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y2FsbFN0YWNrLCBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKIHsKICAgICBpZiAobV9pbkRp
c3BhdGNoRXJyb3JFdmVudCkgewogICAgICAgICBpZiAoIW1fcGVuZGluZ0V4Y2VwdGlvbnMpCiAg
ICAgICAgICAgICBtX3BlbmRpbmdFeGNlcHRpb25zID0gYWRvcHRQdHIobmV3IFZlY3RvcjxPd25Q
dHI8UGVuZGluZ0V4Y2VwdGlvbj4gPigpKTsKLSAgICAgICAgbV9wZW5kaW5nRXhjZXB0aW9ucy0+
YXBwZW5kKGFkb3B0UHRyKG5ldyBQZW5kaW5nRXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51
bWJlciwgc291cmNlVVJMLCBjYWxsU3RhY2spKSk7CisgICAgICAgIG1fcGVuZGluZ0V4Y2VwdGlv
bnMtPmFwcGVuZChhZG9wdFB0cihuZXcgUGVuZGluZ0V4Y2VwdGlvbihlcnJvck1lc3NhZ2UsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291cmNlVVJMLCBjYWxsU3RhY2spKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICAvLyBGaXJzdCByZXBvcnQgdGhlIG9yaWdpbmFsIGV4Y2Vw
dGlvbiBhbmQgb25seSB0aGVuIGFsbCB0aGUgbmVzdGVkIG9uZXMuCiAgICAgaWYgKCFkaXNwYXRj
aEVycm9yRXZlbnQoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIGNhY2hlZFNj
cmlwdCkpCi0gICAgICAgIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKKyAgICAgICAgbG9nRXhjZXB0aW9uVG9Db25z
b2xlKGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNh
bGxTdGFjayk7CiAKICAgICBpZiAoIW1fcGVuZGluZ0V4Y2VwdGlvbnMpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wZW5kaW5nRXhjZXB0aW9ucy0+c2l6
ZSgpOyBpKyspIHsKICAgICAgICAgUGVuZGluZ0V4Y2VwdGlvbiogZSA9IG1fcGVuZGluZ0V4Y2Vw
dGlvbnMtPmF0KGkpLmdldCgpOwotICAgICAgICBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoZS0+bV9l
cnJvck1lc3NhZ2UsIGUtPm1fc291cmNlVVJMLCBlLT5tX2xpbmVOdW1iZXIsIGUtPm1fY2FsbFN0
YWNrKTsKKyAgICAgICAgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGUtPm1fZXJyb3JNZXNzYWdlLCBl
LT5tX3NvdXJjZVVSTCwgZS0+bV9saW5lTnVtYmVyLCBlLT5tX2NvbHVtbk51bWJlciwgZS0+bV9j
YWxsU3RhY2spOwogICAgIH0KICAgICBtX3BlbmRpbmdFeGNlcHRpb25zLmNsZWFyKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCAzMDA0ZGFk
Li4zZWFhZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVy
cm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIFN0cmluZyYgc291cmNl
VVJMLCBDYWNoZWRTY3JpcHQqID0gMCk7CiAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzExNDMxNT4gU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBsb2cgZXhjZXB0aW9uIHNob3VsZCBp
bmNsdWRlIGEgY29sdW1uIG51bWJlcgotICAgIHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOworICAg
IHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwogCiAgICAgdm9pZCBh
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IHVuc2lnbmVkIGNvbHVtbk51bWJlciwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApOwogICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKQEAgLTE4Nyw4ICsxODcsNyBA
QCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciA9IDApID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2
ZW50VGFyZ2V0KCkgPSAwOwotICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQz
MTU+IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBh
IGNvbHVtbiBudW1iZXIKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxp
bmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7CiAgICAgYm9vbCBkaXNwYXRjaEVycm9y
RXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7CiAKICAgICB2b2lkIGNsb3NlTWVzc2Fn
ZVBvcnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IDAxZDE5M2EuLjQ3ODZiMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuY3BwCkBAIC0xNzYsMTAgKzE3Niw5IEBAIEdyb3VwU2V0dGluZ3MqIFNoYXJlZFdvcmtl
clByb3h5Ojpncm91cFNldHRpbmdzKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGlj
IHZvaWQgcG9zdEV4Y2VwdGlvblRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgLypjb2x1bW5O
dW1iZXIqLywgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCitzdGF0aWMgdm9pZCBwb3N0RXhjZXB0
aW9uVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKQogewotICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQz
MTU+IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBh
IGNvbHVtbiBudW1iZXIKLSAgICBjb250ZXh0LT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIDApOworICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlv
bihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291cmNlVVJMLCAwKTsK
IH0KIAogdm9pZCBTaGFyZWRXb3JrZXJQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcAppbmRleCA4MmFjN2U0Li42ZWQwMDI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKQEAgLTc4LDEx
ICs3OCwxMCBAQCBTaGFyZWRXb3JrZXJUaHJlYWQqIFNoYXJlZFdvcmtlckNvbnRleHQ6OnRocmVh
ZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNoYXJlZFdvcmtlclRocmVhZCo+KEJhc2U6OnRo
cmVhZCgpKTsKIH0KIAotdm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0Nv
bnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
K3ZvaWQgU2hhcmVkV29ya2VyQ29udGV4dDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1i
ZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2spCiB7Ci0gICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxNT4gU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCBsb2cgZXhjZXB0aW9uIHNob3VsZCBpbmNsdWRlIGEgY29sdW1uIG51
bWJlcgotICAgIFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3Nh
Z2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKLSAgICBhZGRNZXNzYWdlVG9X
b3JrZXJDb25zb2xlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCAwLCBjYWxsU3RhY2spOworICAgIFdvcmtlckNv
bnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2VUb1dvcmtl
ckNvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckNvbnRleHQuaAppbmRleCBjNzQ0MmQyLi5lOGIxOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAgICBTaGFyZWRXb3JrZXJDb250ZXh0
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+LCBTaGFyZWRXb3JrZXJUaHJlYWQqKTsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4pIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9n
RXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPikgT1ZFUlJJREU7CiAKICAgICAgICAgU3RyaW5nIG1fbmFtZTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKaW5kZXggZjBm
MjZmOC4uMmNiZGZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3Bw
CkBAIC0yNzMsMTAgKzI3Myw5IEBAIEV2ZW50VGFyZ2V0KiBXb3JrZXJDb250ZXh0OjplcnJvckV2
ZW50VGFyZ2V0KCkKICAgICByZXR1cm4gdGhpczsKIH0KIAotdm9pZCBXb3JrZXJDb250ZXh0Ojps
b2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+KQordm9pZCBXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KQogewotICAg
IC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQzMTU+IFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQgbG9nIGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBhIGNvbHVtbiBudW1iZXIKLSAgICB0
aHJlYWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmpl
Y3QoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCAwLCBzb3VyY2VVUkwpOworICAgIHRocmVhZCgp
LT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChlcnJv
ck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgc291cmNlVVJMKTsKIH0KIAogdm9p
ZCBXb3JrZXJDb250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmlu
ZGV4IDNlOTMyMTUuLmI3YjEwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXb3Jr
ZXJDb250ZXh0KGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgUGFzc093blB0
cjxHcm91cFNldHRpbmdzPiwgV29ya2VyVGhyZWFkKiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdp
bj4gdG9wT3JpZ2luKTsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pIE9W
RVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgT1ZF
UlJJREU7CiAgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCBiMDc1NTcwLi45MjZj
N2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmNwcApAQCAtMTM4LDEwICsxMzgsOCBAQCBwcml2YXRlOgogICAgICAgICAvLyBUaGlzIGlzIGlu
dGVudGlvbmFsbHkgZGlmZmVyZW50IHRoYW4gdGhlIGJlaGF2aW9yIGluIE1lc3NhZ2VXb3JrZXJU
YXNrLCBiZWNhdXNlIHRlcm1pbmF0ZWQgd29ya2VycyBubyBsb25nZXIgZGVsaXZlciBtZXNzYWdl
cyAoc2VjdGlvbiA0LjYgb2YgdGhlIFdlYldvcmtlciBzcGVjKSwgYnV0IHRoZXkgZG8gcmVwb3J0
IGV4Y2VwdGlvbnMuCiAKICAgICAgICAgYm9vbCBlcnJvckhhbmRsZWQgPSAhd29ya2VyT2JqZWN0
LT5kaXNwYXRjaEV2ZW50KEVycm9yRXZlbnQ6OmNyZWF0ZShtX2Vycm9yTWVzc2FnZSwgbV9zb3Vy
Y2VVUkwsIG1fbGluZU51bWJlcikpOwotICAgICAgICBpZiAoIWVycm9ySGFuZGxlZCkgewotICAg
ICAgICAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDMxNT4gU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCBsb2cgZXhjZXB0aW9uIHNob3VsZCBpbmNsdWRlIGEgY29sdW1uIG51bWJl
cgotICAgICAgICAgICAgY29udGV4dC0+cmVwb3J0RXhjZXB0aW9uKG1fZXJyb3JNZXNzYWdlLCBt
X2xpbmVOdW1iZXIsIG1fc291cmNlVVJMLCAwKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIWVy
cm9ySGFuZGxlZCkKKyAgICAgICAgICAgIGNvbnRleHQtPnJlcG9ydEV4Y2VwdGlvbihtX2Vycm9y
TWVzc2FnZSwgbV9saW5lTnVtYmVyLCBtX2NvbHVtbk51bWJlciwgbV9zb3VyY2VVUkwsIDApOwog
ICAgIH0KIAogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsK
</data>
<flag name="review"
          id="221079"
          type_id="1"
          status="+"
          setter="oliver"
    />
    <flag name="commit-queue"
          id="221080"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>