<?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>164849</bug_id>
          
          <creation_ts>2016-11-16 17:55:30 -0800</creation_ts>
          <short_desc>Proxy&apos;s [[Get]] passes incorrect receiver</short_desc>
          <delta_ts>2017-05-30 12:18: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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.11</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="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>buildbot</cc>
    
    <cc>caitp</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dominic.szablewski</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1252152</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2016-11-16 17:55:30 -0800</bug_when>
    <thetext>Please consider the following code:

```
var target =
{
    get prop()
    {
        console.log(this == proxy) // =&gt; `false`, should be `true`
    }
}

var proxy = new Proxy(target, {})

proxy.prop
```

`proxy.prop` calls `[[Get]]` on `proxy` with `&quot;prop&quot;` as key and `proxy` as receiver.
Proxy&apos;s `[[Get]]` method checks for `get` trap, it is missing, so it should call `[[Get]]` on `target` with **the same** parameters.
However, JSC does not pass receiver, thus `prop` getter is called with context of `target`, not `proxy`.

Both V8 and SpiderMonkey implement this correctly.
tc39/test-262 PR: https://github.com/tc39/test262/pull/792
chai/chaijs issue: https://github.com/chaijs/chai/issues/855</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299922</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-21 15:07:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/31767058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310358</commentid>
    <comment_count>2</comment_count>
      <attachid>310579</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 17:35:04 -0700</bug_when>
    <thetext>Created attachment 310579
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310359</commentid>
    <comment_count>3</comment_count>
      <attachid>310579</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 17:36:16 -0700</bug_when>
    <thetext>Comment on attachment 310579
patch

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

&gt; JSTests/stress/proxy-get-set-correct-receiver.js:21
&gt; +            assert(this === proxy) // =&gt; `false`, should be `true`

oops, let me remove these comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310360</commentid>
    <comment_count>4</comment_count>
      <attachid>310580</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 17:36:49 -0700</bug_when>
    <thetext>Created attachment 310580
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310363</commentid>
    <comment_count>5</comment_count>
      <attachid>310580</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-18 17:41:07 -0700</bug_when>
    <thetext>Comment on attachment 310580
patch

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

r=me

&gt; JSTests/stress/proxy-get-set-correct-receiver.js:36
&gt; +            assert(this === proxy)

OK, receiver is proxy.

&gt; JSTests/stress/proxy-get-set-correct-receiver.js:50
&gt; +            assert(this === proxy)

OK, receiver is neither p1 nor target.

&gt; Source/JavaScriptCore/runtime/ProxyObject.cpp:135
&gt; +        return jsUndefined();

OK, previously, we ignored receiver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310373</commentid>
    <comment_count>6</comment_count>
      <attachid>310580</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-18 18:15:47 -0700</bug_when>
    <thetext>Comment on attachment 310580
patch

Attachment 310580 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/3772712

New failing tests:
stress/proxy-set.js.ftl-no-cjit-small-pool
stress/reflect-set-proxy-set.js.ftl-no-cjit-no-put-stack-validate
stress/reflect-set-receiver-proxy-set.js.default
stress/reflect-set-receiver-proxy-set.js.no-llint
stress/reflect-set-receiver-proxy-set.js.ftl-no-cjit-validate-sampling-profiler
stress/reflect-set-proxy-set.js.ftl-no-cjit-b3o1
stress/reflect-set-receiver-proxy-set.js.ftl-eager
stress/reflect-set-proxy-set.js.ftl-no-cjit-small-pool
stress/reflect-set-receiver-proxy-set.js.ftl-eager-no-cjit-b3o1
stress/reflect-set-proxy-set.js.ftl-no-cjit-validate-sampling-profiler
stress/proxy-set.js.ftl-no-cjit-validate-sampling-profiler
stress/proxy-set.js.ftl-eager-no-cjit-b3o1
stress/reflect-set-proxy-set.js.ftl-eager-no-cjit
stress/reflect-set-receiver-proxy-set.js.ftl-eager-no-cjit
stress/proxy-set.js.ftl-eager
stress/reflect-set-proxy-set.js.ftl-no-cjit-no-inline-validate
stress/proxy-set.js.dfg-eager
stress/reflect-set-proxy-set.js.dfg-eager
stress/proxy-set.js.ftl-no-cjit-no-inline-validate
stress/proxy-set.js.ftl-no-cjit-b3o1
stress/proxy-set.js.no-llint
stress/reflect-set-proxy-set.js.ftl-eager
stress/reflect-set-proxy-set.js.dfg-eager-no-cjit-validate
stress/proxy-set.js.default
stress/proxy-set.js.no-cjit-validate-phases
stress/reflect-set-proxy-set.js.no-cjit-validate-phases
stress/reflect-set-receiver-proxy-set.js.ftl-no-cjit-no-put-stack-validate
stress/reflect-set-receiver-proxy-set.js.dfg-eager-no-cjit-validate
stress/reflect-set-receiver-proxy-set.js.dfg-eager
stress/reflect-set-receiver-proxy-set.js.ftl-no-cjit-no-inline-validate
stress/proxy-set.js.ftl-eager-no-cjit
stress/reflect-set-proxy-set.js.default
stress/proxy-set.js.dfg-eager-no-cjit-validate
stress/reflect-set-proxy-set.js.no-llint
stress/proxy-set.js.ftl-no-cjit-no-put-stack-validate
stress/reflect-set-receiver-proxy-set.js.no-cjit-validate-phases
stress/reflect-set-proxy-set.js.no-cjit-collect-continuously
stress/proxy-set.js.no-ftl
stress/reflect-set-proxy-set.js.dfg-maximal-flush-validate-no-cjit
stress/reflect-set-proxy-set.js.no-ftl
stress/reflect-set-receiver-proxy-set.js.no-ftl
stress/reflect-set-receiver-proxy-set.js.ftl-no-cjit-b3o1
stress/proxy-set.js.dfg-maximal-flush-validate-no-cjit
stress/reflect-set-receiver-proxy-set.js.ftl-no-cjit-small-pool
stress/reflect-set-receiver-proxy-set.js.dfg-maximal-flush-validate-no-cjit
stress/reflect-set-proxy-set.js.ftl-eager-no-cjit-b3o1
stress/proxy-set.js.no-cjit-collect-continuously
stress/reflect-set-receiver-proxy-set.js.no-cjit-collect-continuously</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310378</commentid>
    <comment_count>7</comment_count>
      <attachid>310587</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 18:23:45 -0700</bug_when>
    <thetext>Created attachment 310587
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310436</commentid>
    <comment_count>8</comment_count>
      <attachid>310587</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 20:51:17 -0700</bug_when>
    <thetext>Comment on attachment 310587
patch for landing

Clearing flags on attachment: 310587

Committed r217093: &lt;http://trac.webkit.org/changeset/217093&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310437</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 20:51:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313809</commentid>
    <comment_count>10</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2017-05-30 12:16:26 -0700</bug_when>
    <thetext>*** Bug 169040 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313811</commentid>
    <comment_count>11</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2017-05-30 12:18:10 -0700</bug_when>
    <thetext>*** Bug 171915 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310579</attachid>
            <date>2017-05-18 17:35:04 -0700</date>
            <delta_ts>2017-05-18 17:36:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>5839</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTcwNzgpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE4IEBACisyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5jb3JyZWN0IHJlY2VpdmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxNzY3MDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3Byb3h5LWdldC1zZXQtY29ycmVj
dC1yZWNlaXZlci5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6
CisgICAgICAgICh0ZXN0LmxldC50YXJnZXQuc2V0IHByb3ApOgorICAgICAgICAodGVzdC5sZXQu
dGFyZ2V0LmdldCBwcm9wKToKKyAgICAgICAgKHRlc3QuZ2V0IGxldCk6CisKIDIwMTctMDUtMTgg
IEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25zdHJ1Y3RvciBj
YWxscyBzZXQgdGhpcyB0b28gZWFybHkKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Byb3h5LWdldC1z
ZXQtY29ycmVjdC1yZWNlaXZlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm94
eS1nZXQtc2V0LWNvcnJlY3QtcmVjZWl2ZXIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJveHktZ2V0LXNldC1jb3JyZWN0LXJlY2VpdmVyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTE3IEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7Cisg
ICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpCit9CisKK2Z1bmN0aW9u
IHRlc3QoZiwgY291bnQgPSAxMDAwKSB7CisgICAgbm9JbmxpbmUoZik7CisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICBmKCk7Cit9CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgIGxldCB0YXJnZXQgPSB7CisgICAgICAg
IHNldCBwcm9wKHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh4ID09PSAyMCk7Cisg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHBy
b3h5KSAvLyA9PiBgZmFsc2VgLCBzaG91bGQgYmUgYHRydWVgCisgICAgICAgIH0KKyAgICB9CisK
KyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSkKKyAgICBwcm94eS5wcm9wID0g
MjA7CisgICAgYXNzZXJ0KGNhbGxlZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgY2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHRhcmdldCA9IHsKKyAgICAgICAgZ2V0IHByb3Ao
KQorICAgICAgICB7CisgICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgYXNz
ZXJ0KHRoaXMgPT09IHByb3h5KSAvLyA9PiBgZmFsc2VgLCBzaG91bGQgYmUgYHRydWVgCisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSkKKyAg
ICBwcm94eS5wcm9wCisgICAgYXNzZXJ0KGNhbGxlZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGFyZ2V0ID0geworICAgICAgICBnZXQgcHJvcCgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAgICAgICBhc3NlcnQodGhpcyA9PT0gcHJv
eHkpIC8vID0+IGBmYWxzZWAsIHNob3VsZCBiZSBgdHJ1ZWAKKyAgICAgICAgfQorICAgIH0KKyAg
ICBsZXQgcDEgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSk7CisKKyAgICBsZXQgY2FsbGVkID0gZmFs
c2U7CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHAxLCB7fSk7CisgICAgcHJveHkucHJvcAor
ICAgIGFzc2VydChjYWxsZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHQg
PSB7fTsKKyAgICBsZXQgcDEgPSBuZXcgUHJveHkodCwgeworICAgICAgICBnZXQodGFyZ2V0LCBw
cm9wLCByZWNlaXZlcikgeworICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
IGFzc2VydCh0YXJnZXQgPT09IHQpOworICAgICAgICAgICAgYXNzZXJ0KHJlY2VpdmVyID09PSBw
cm94eSk7CisgICAgICAgICAgICBhc3NlcnQocHJvcCA9PT0gInByb3AiKTsKKyAgICAgICAgfQor
ICAgIH0pOworCisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgIGxldCBwcm94eSA9IG5ldyBQ
cm94eShwMSwge30pOworICAgIHByb3h5LnByb3AKKyAgICBhc3NlcnQoY2FsbGVkKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ID0ge307CisgICAgbGV0IGNhbGxDb3VudCA9
IDA7CisgICAgbGV0IGhhbmRsZXIgPSB7CisgICAgICAgIGdldCh0YXJnZXQsIHByb3AsIHJlY2Vp
dmVyKSB7CisgICAgICAgICAgICBpZiAoY2FsbENvdW50ID09PSAyMDApCisgICAgICAgICAgICAg
ICAgYXNzZXJ0KHRhcmdldCA9PT0gdCk7CisgICAgICAgICAgICArK2NhbGxDb3VudDsKKyAgICAg
ICAgICAgIGFzc2VydChyZWNlaXZlciA9PT0gcHJveHkpOworICAgICAgICAgICAgYXNzZXJ0KHBy
b3AgPT09ICJwcm9wIik7CisgICAgICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBw
cm9wLCByZWNlaXZlcik7CisgICAgICAgIH0KKyAgICB9OworICAgIGxldCBwcm94eSA9IG5ldyBQ
cm94eSh0LCBoYW5kbGVyKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwMDsgKytpKQorICAg
ICAgICBwcm94eSA9IG5ldyBQcm94eShwcm94eSwgaGFuZGxlcik7CisgICAgcHJveHkucHJvcAor
ICAgIGFzc2VydChjYWxsQ291bnQgPT09IDIwMSk7Cit9LCAxMCk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHQgPSB7fTsKKyAgICBsZXQgY2FsbENvdW50ID0gMDsKKyAgICBsZXQgaGFu
ZGxlciA9IHsKKyAgICAgICAgc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKSB7Cisg
ICAgICAgICAgICBpZiAoY2FsbENvdW50ID09PSAyMDApCisgICAgICAgICAgICAgICAgYXNzZXJ0
KHRhcmdldCA9PT0gdCk7CisgICAgICAgICAgICArK2NhbGxDb3VudDsKKyAgICAgICAgICAgIGFz
c2VydChyZWNlaXZlciA9PT0gcHJveHkpOworICAgICAgICAgICAgYXNzZXJ0KHByb3AgPT09ICJw
cm9wIik7CisgICAgICAgICAgICBhc3NlcnQodmFsdWUgPT09IDIwKTsKKyAgICAgICAgICAgIHJl
dHVybiBSZWZsZWN0LnNldCh0YXJnZXQsIHByb3AsIHZhbHVlLCByZWNlaXZlcik7CisgICAgICAg
IH0KKyAgICB9OworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0LCBoYW5kbGVyKTsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDIwMDsgKytpKQorICAgICAgICBwcm94eSA9IG5ldyBQcm94eShw
cm94eSwgaGFuZGxlcik7CisgICAgcHJveHkucHJvcCA9IDIwOworICAgIGFzc2VydChjYWxsQ291
bnQgPT09IDIwMSk7Cit9LCAxMCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIxNzA3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNS0xOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KKworICAgICAgICBQcm94eSdzIFtbR2V0XV0gcGFzc2VzIGluY29ycmVjdCBy
ZWNlaXZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY0ODQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTc2NzA1OD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvUHJveHlPYmplY3Qu
Y3BwOgorICAgICAgICAoSlNDOjpwZXJmb3JtUHJveHlHZXQpOgorCiAyMDE3LTA1LTE4ICBTYWFt
IEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFdlIG5lZWQgdG8gZGVzdHJv
eSB3b3JrZXIgdGhyZWFkcyBpbiBqc2MuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm94eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCShyZXZpc2lvbiAyMTcwNTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyOCwxMyArMTI4LDE1IEBAIHN0YXRpYyBKU1ZhbHVlIHBlcmZvcm1Qcm94eUdldChFeGVjU3Rh
dGUKICAgICBKU09iamVjdCogdGFyZ2V0ID0gcHJveHlPYmplY3QtPnRhcmdldCgpOwogCiAgICAg
YXV0byBwZXJmb3JtRGVmYXVsdEdldCA9IFsmXSB7Ci0gICAgICAgIHJldHVybiB0YXJnZXQtPmdl
dChleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgICAg
IFByb3BlcnR5U2xvdCBzbG90KHJlY2VpdmVyLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9k
VHlwZTo6R2V0KTsKKyAgICAgICAgaWYgKHRhcmdldC0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIHBy
b3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgICAgICByZXR1cm4gc2xvdC5nZXRWYWx1ZShleGVj
LCBwcm9wZXJ0eU5hbWUpOworICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9Owog
Ci0gICAgaWYgKHZtLnByb3BlcnR5TmFtZXMtPmlzUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCgmdm0sIHByb3BlcnR5TmFtZS51aWQoKSkpKSB7Ci0gICAgICAgIHNjb3BlLnJlbGVhc2Uo
KTsKKyAgICBpZiAodm0ucHJvcGVydHlOYW1lcy0+aXNQcml2YXRlTmFtZShJZGVudGlmaWVyOjpm
cm9tVWlkKCZ2bSwgcHJvcGVydHlOYW1lLnVpZCgpKSkpCiAgICAgICAgIHJldHVybiBwZXJmb3Jt
RGVmYXVsdEdldCgpOwotICAgIH0KIAogICAgIEpTVmFsdWUgaGFuZGxlclZhbHVlID0gcHJveHlP
YmplY3QtPmhhbmRsZXIoKTsKICAgICBpZiAoaGFuZGxlclZhbHVlLmlzTnVsbCgpKQpAQCAtMTQ2
LDEwICsxNDgsOCBAQCBzdGF0aWMgSlNWYWx1ZSBwZXJmb3JtUHJveHlHZXQoRXhlY1N0YXRlCiAg
ICAgSlNWYWx1ZSBnZXRIYW5kbGVyID0gaGFuZGxlci0+Z2V0TWV0aG9kKGV4ZWMsIGNhbGxEYXRh
LCBjYWxsVHlwZSwgdm0ucHJvcGVydHlOYW1lcy0+Z2V0LCBBU0NJSUxpdGVyYWwoIidnZXQnIHBy
b3BlcnR5IG9mIGEgUHJveHkncyBoYW5kbGVyIG9iamVjdCBzaG91bGQgYmUgY2FsbGFibGUiKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIGlmIChnZXRIYW5k
bGVyLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgc2NvcGUucmVsZWFzZSgpOworICAgIGlmIChn
ZXRIYW5kbGVyLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIHJldHVybiBwZXJmb3JtRGVmYXVsdEdl
dCgpOwotICAgIH0KIAogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKICAgICBh
cmd1bWVudHMuYXBwZW5kKHRhcmdldCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310580</attachid>
            <date>2017-05-18 17:36:49 -0700</date>
            <delta_ts>2017-05-18 18:23:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>5743</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTcwNzgpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE4IEBACisyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5jb3JyZWN0IHJlY2VpdmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxNzY3MDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3Byb3h5LWdldC1zZXQtY29ycmVj
dC1yZWNlaXZlci5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6
CisgICAgICAgICh0ZXN0LmxldC50YXJnZXQuc2V0IHByb3ApOgorICAgICAgICAodGVzdC5sZXQu
dGFyZ2V0LmdldCBwcm9wKToKKyAgICAgICAgKHRlc3QuZ2V0IGxldCk6CisKIDIwMTctMDUtMTgg
IEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25zdHJ1Y3RvciBj
YWxscyBzZXQgdGhpcyB0b28gZWFybHkKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Byb3h5LWdldC1z
ZXQtY29ycmVjdC1yZWNlaXZlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm94
eS1nZXQtc2V0LWNvcnJlY3QtcmVjZWl2ZXIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJveHktZ2V0LXNldC1jb3JyZWN0LXJlY2VpdmVyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTE3IEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7Cisg
ICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpCit9CisKK2Z1bmN0aW9u
IHRlc3QoZiwgY291bnQgPSAxMDAwKSB7CisgICAgbm9JbmxpbmUoZik7CisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICBmKCk7Cit9CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgIGxldCB0YXJnZXQgPSB7CisgICAgICAg
IHNldCBwcm9wKHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh4ID09PSAyMCk7Cisg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHBy
b3h5KQorICAgICAgICB9CisgICAgfQorCisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdl
dCwge30pCisgICAgcHJveHkucHJvcCA9IDIwOworICAgIGFzc2VydChjYWxsZWQpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgIGxldCB0YXJn
ZXQgPSB7CisgICAgICAgIGdldCBwcm9wKCkKKyAgICAgICAgeworICAgICAgICAgICAgY2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzID09PSBwcm94eSkKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0YXJnZXQsIHt9KQorICAgIHByb3h5
LnByb3AKKyAgICBhc3NlcnQoY2FsbGVkKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0YXJnZXQgPSB7CisgICAgICAgIGdldCBwcm9wKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzID09PSBwcm94eSkKKyAg
ICAgICAgfQorICAgIH0KKyAgICBsZXQgcDEgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSk7CisKKyAg
ICBsZXQgY2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHAxLCB7fSk7
CisgICAgcHJveHkucHJvcAorICAgIGFzc2VydChjYWxsZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHQgPSB7fTsKKyAgICBsZXQgcDEgPSBuZXcgUHJveHkodCwgeworICAg
ICAgICBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikgeworICAgICAgICAgICAgY2FsbGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIGFzc2VydCh0YXJnZXQgPT09IHQpOworICAgICAgICAgICAgYXNz
ZXJ0KHJlY2VpdmVyID09PSBwcm94eSk7CisgICAgICAgICAgICBhc3NlcnQocHJvcCA9PT0gInBy
b3AiKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAg
IGxldCBwcm94eSA9IG5ldyBQcm94eShwMSwge30pOworICAgIHByb3h5LnByb3AKKyAgICBhc3Nl
cnQoY2FsbGVkKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ID0ge307Cisg
ICAgbGV0IGNhbGxDb3VudCA9IDA7CisgICAgbGV0IGhhbmRsZXIgPSB7CisgICAgICAgIGdldCh0
YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7CisgICAgICAgICAgICBpZiAoY2FsbENvdW50ID09PSAy
MDApCisgICAgICAgICAgICAgICAgYXNzZXJ0KHRhcmdldCA9PT0gdCk7CisgICAgICAgICAgICAr
K2NhbGxDb3VudDsKKyAgICAgICAgICAgIGFzc2VydChyZWNlaXZlciA9PT0gcHJveHkpOworICAg
ICAgICAgICAgYXNzZXJ0KHByb3AgPT09ICJwcm9wIik7CisgICAgICAgICAgICByZXR1cm4gUmVm
bGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7CisgICAgICAgIH0KKyAgICB9OworICAg
IGxldCBwcm94eSA9IG5ldyBQcm94eSh0LCBoYW5kbGVyKTsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IDIwMDsgKytpKQorICAgICAgICBwcm94eSA9IG5ldyBQcm94eShwcm94eSwgaGFuZGxlcik7
CisgICAgcHJveHkucHJvcAorICAgIGFzc2VydChjYWxsQ291bnQgPT09IDIwMSk7Cit9LCAxMCk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHQgPSB7fTsKKyAgICBsZXQgY2FsbENvdW50
ID0gMDsKKyAgICBsZXQgaGFuZGxlciA9IHsKKyAgICAgICAgc2V0KHRhcmdldCwgcHJvcCwgdmFs
dWUsIHJlY2VpdmVyKSB7CisgICAgICAgICAgICBpZiAoY2FsbENvdW50ID09PSAyMDApCisgICAg
ICAgICAgICAgICAgYXNzZXJ0KHRhcmdldCA9PT0gdCk7CisgICAgICAgICAgICArK2NhbGxDb3Vu
dDsKKyAgICAgICAgICAgIGFzc2VydChyZWNlaXZlciA9PT0gcHJveHkpOworICAgICAgICAgICAg
YXNzZXJ0KHByb3AgPT09ICJwcm9wIik7CisgICAgICAgICAgICBhc3NlcnQodmFsdWUgPT09IDIw
KTsKKyAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh0YXJnZXQsIHByb3AsIHZhbHVlLCBy
ZWNlaXZlcik7CisgICAgICAgIH0KKyAgICB9OworICAgIGxldCBwcm94eSA9IG5ldyBQcm94eSh0
LCBoYW5kbGVyKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwMDsgKytpKQorICAgICAgICBw
cm94eSA9IG5ldyBQcm94eShwcm94eSwgaGFuZGxlcik7CisgICAgcHJveHkucHJvcCA9IDIwOwor
ICAgIGFzc2VydChjYWxsQ291bnQgPT09IDIwMSk7Cit9LCAxMCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNzA3NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNS0xOCAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBQcm94eSdzIFtbR2V0XV0g
cGFzc2VzIGluY29ycmVjdCByZWNlaXZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTc2NzA1
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1
bnRpbWUvUHJveHlPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpwZXJmb3JtUHJveHlHZXQpOgor
CiAyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAg
IFdlIG5lZWQgdG8gZGVzdHJveSB3b3JrZXIgdGhyZWFkcyBpbiBqc2MuY3BwCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCShyZXZpc2lvbiAy
MTcwNTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOCwxMyArMTI4LDE1IEBAIHN0YXRpYyBKU1ZhbHVlIHBlcmZv
cm1Qcm94eUdldChFeGVjU3RhdGUKICAgICBKU09iamVjdCogdGFyZ2V0ID0gcHJveHlPYmplY3Qt
PnRhcmdldCgpOwogCiAgICAgYXV0byBwZXJmb3JtRGVmYXVsdEdldCA9IFsmXSB7Ci0gICAgICAg
IHJldHVybiB0YXJnZXQtPmdldChleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICBzY29wZS5y
ZWxlYXNlKCk7CisgICAgICAgIFByb3BlcnR5U2xvdCBzbG90KHJlY2VpdmVyLCBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6R2V0KTsKKyAgICAgICAgaWYgKHRhcmdldC0+Z2V0UHJv
cGVydHlTbG90KGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgICAgICByZXR1cm4g
c2xvdC5nZXRWYWx1ZShleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKICAgICB9OwogCi0gICAgaWYgKHZtLnByb3BlcnR5TmFtZXMtPmlzUHJpdmF0ZU5h
bWUoSWRlbnRpZmllcjo6ZnJvbVVpZCgmdm0sIHByb3BlcnR5TmFtZS51aWQoKSkpKSB7Ci0gICAg
ICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBpZiAodm0ucHJvcGVydHlOYW1lcy0+aXNQcml2YXRl
TmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKCZ2bSwgcHJvcGVydHlOYW1lLnVpZCgpKSkpCiAgICAg
ICAgIHJldHVybiBwZXJmb3JtRGVmYXVsdEdldCgpOwotICAgIH0KIAogICAgIEpTVmFsdWUgaGFu
ZGxlclZhbHVlID0gcHJveHlPYmplY3QtPmhhbmRsZXIoKTsKICAgICBpZiAoaGFuZGxlclZhbHVl
LmlzTnVsbCgpKQpAQCAtMTQ2LDEwICsxNDgsOCBAQCBzdGF0aWMgSlNWYWx1ZSBwZXJmb3JtUHJv
eHlHZXQoRXhlY1N0YXRlCiAgICAgSlNWYWx1ZSBnZXRIYW5kbGVyID0gaGFuZGxlci0+Z2V0TWV0
aG9kKGV4ZWMsIGNhbGxEYXRhLCBjYWxsVHlwZSwgdm0ucHJvcGVydHlOYW1lcy0+Z2V0LCBBU0NJ
SUxpdGVyYWwoIidnZXQnIHByb3BlcnR5IG9mIGEgUHJveHkncyBoYW5kbGVyIG9iamVjdCBzaG91
bGQgYmUgY2FsbGFibGUiKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsK
IAotICAgIGlmIChnZXRIYW5kbGVyLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgc2NvcGUucmVs
ZWFzZSgpOworICAgIGlmIChnZXRIYW5kbGVyLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIHJldHVy
biBwZXJmb3JtRGVmYXVsdEdldCgpOwotICAgIH0KIAogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IGFyZ3VtZW50czsKICAgICBhcmd1bWVudHMuYXBwZW5kKHRhcmdldCk7Cg==
</data>
<flag name="review"
          id="331645"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
    <flag name="commit-queue"
          id="331656"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310587</attachid>
            <date>2017-05-18 18:23:45 -0700</date>
            <delta_ts>2017-05-18 20:51:17 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9266</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTcwODEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI0IEBACisyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5jb3JyZWN0IHJlY2VpdmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ4NDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxNzY3MDU4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBzdHJlc3MvcHJveHktZ2V0LXNldC1jb3JyZWN0
LXJlY2VpdmVyLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgICh0ZXN0KToK
KyAgICAgICAgKHRlc3QubGV0LnRhcmdldC5zZXQgcHJvcCk6CisgICAgICAgICh0ZXN0LmxldC50
YXJnZXQuZ2V0IHByb3ApOgorICAgICAgICAodGVzdC5nZXQgbGV0KToKKyAgICAgICAgKiBzdHJl
c3MvcHJveHktc2V0LmpzOgorICAgICAgICAobGV0LnRhcmdldC5nZXQgeCk6CisgICAgICAgICog
c3RyZXNzL3JlZmxlY3Qtc2V0LXByb3h5LXNldC5qczoKKyAgICAgICAgKGxldC50YXJnZXQuZ2V0
IHgpOgorICAgICAgICAqIHN0cmVzcy9yZWZsZWN0LXNldC1yZWNlaXZlci1wcm94eS1zZXQuanM6
CisgICAgICAgIChsZXQudGFyZ2V0LmdldCB4KToKKwogMjAxNy0wNS0xOCAgRmlsaXAgUGl6bG8g
IDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvbnN0cnVjdG9yIGNhbGxzIHNldCB0aGlz
IHRvbyBlYXJseQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJveHktZ2V0LXNldC1jb3JyZWN0LXJl
Y2VpdmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Byb3h5LWdldC1zZXQtY29y
cmVjdC1yZWNlaXZlci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm94eS1n
ZXQtc2V0LWNvcnJlY3QtcmVjZWl2ZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTcg
QEAKKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIikKK30KKworZnVuY3Rpb24gdGVzdChmLCBjb3Vu
dCA9IDEwMDApIHsKKyAgICBub0lubGluZShmKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNv
dW50OyArK2kpCisgICAgICAgIGYoKTsKK30KKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQg
Y2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHRhcmdldCA9IHsKKyAgICAgICAgc2V0IHByb3AoeCkK
KyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KHggPT09IDIwKTsKKyAgICAgICAgICAgIGNh
bGxlZCA9IHRydWU7CisgICAgICAgICAgICBhc3NlcnQodGhpcyA9PT0gcHJveHkpCisgICAgICAg
IH0KKyAgICB9CisKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCB7fSkKKyAgICBw
cm94eS5wcm9wID0gMjA7CisgICAgYXNzZXJ0KGNhbGxlZCk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgY2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHRhcmdldCA9IHsKKyAgICAg
ICAgZ2V0IHByb3AoKQorICAgICAgICB7CisgICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAg
ICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHByb3h5KQorICAgICAgICB9CisgICAgfQorCisgICAg
bGV0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwge30pCisgICAgcHJveHkucHJvcAorICAgIGFz
c2VydChjYWxsZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRhcmdldCA9
IHsKKyAgICAgICAgZ2V0IHByb3AoKQorICAgICAgICB7CisgICAgICAgICAgICBjYWxsZWQgPSB0
cnVlOworICAgICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHByb3h5KQorICAgICAgICB9CisgICAg
fQorICAgIGxldCBwMSA9IG5ldyBQcm94eSh0YXJnZXQsIHt9KTsKKworICAgIGxldCBjYWxsZWQg
PSBmYWxzZTsKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkocDEsIHt9KTsKKyAgICBwcm94eS5w
cm9wCisgICAgYXNzZXJ0KGNhbGxlZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgdCA9IHt9OworICAgIGxldCBwMSA9IG5ldyBQcm94eSh0LCB7CisgICAgICAgIGdldCh0YXJn
ZXQsIHByb3AsIHJlY2VpdmVyKSB7CisgICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAg
ICAgICAgYXNzZXJ0KHRhcmdldCA9PT0gdCk7CisgICAgICAgICAgICBhc3NlcnQocmVjZWl2ZXIg
PT09IHByb3h5KTsKKyAgICAgICAgICAgIGFzc2VydChwcm9wID09PSAicHJvcCIpOworICAgICAg
ICB9CisgICAgfSk7CisKKyAgICBsZXQgY2FsbGVkID0gZmFsc2U7CisgICAgbGV0IHByb3h5ID0g
bmV3IFByb3h5KHAxLCB7fSk7CisgICAgcHJveHkucHJvcAorICAgIGFzc2VydChjYWxsZWQpOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHQgPSB7fTsKKyAgICBsZXQgY2FsbENv
dW50ID0gMDsKKyAgICBsZXQgaGFuZGxlciA9IHsKKyAgICAgICAgZ2V0KHRhcmdldCwgcHJvcCwg
cmVjZWl2ZXIpIHsKKyAgICAgICAgICAgIGlmIChjYWxsQ291bnQgPT09IDIwMCkKKyAgICAgICAg
ICAgICAgICBhc3NlcnQodGFyZ2V0ID09PSB0KTsKKyAgICAgICAgICAgICsrY2FsbENvdW50Owor
ICAgICAgICAgICAgYXNzZXJ0KHJlY2VpdmVyID09PSBwcm94eSk7CisgICAgICAgICAgICBhc3Nl
cnQocHJvcCA9PT0gInByb3AiKTsKKyAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJn
ZXQsIHByb3AsIHJlY2VpdmVyKTsKKyAgICAgICAgfQorICAgIH07CisgICAgbGV0IHByb3h5ID0g
bmV3IFByb3h5KHQsIGhhbmRsZXIpOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjAwOyArK2kp
CisgICAgICAgIHByb3h5ID0gbmV3IFByb3h5KHByb3h5LCBoYW5kbGVyKTsKKyAgICBwcm94eS5w
cm9wCisgICAgYXNzZXJ0KGNhbGxDb3VudCA9PT0gMjAxKTsKK30sIDEwKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdCA9IHt9OworICAgIGxldCBjYWxsQ291bnQgPSAwOworICAgIGxl
dCBoYW5kbGVyID0geworICAgICAgICBzZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIp
IHsKKyAgICAgICAgICAgIGlmIChjYWxsQ291bnQgPT09IDIwMCkKKyAgICAgICAgICAgICAgICBh
c3NlcnQodGFyZ2V0ID09PSB0KTsKKyAgICAgICAgICAgICsrY2FsbENvdW50OworICAgICAgICAg
ICAgYXNzZXJ0KHJlY2VpdmVyID09PSBwcm94eSk7CisgICAgICAgICAgICBhc3NlcnQocHJvcCA9
PT0gInByb3AiKTsKKyAgICAgICAgICAgIGFzc2VydCh2YWx1ZSA9PT0gMjApOworICAgICAgICAg
ICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTsKKyAg
ICAgICAgfQorICAgIH07CisgICAgbGV0IHByb3h5ID0gbmV3IFByb3h5KHQsIGhhbmRsZXIpOwor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjAwOyArK2kpCisgICAgICAgIHByb3h5ID0gbmV3IFBy
b3h5KHByb3h5LCBoYW5kbGVyKTsKKyAgICBwcm94eS5wcm9wID0gMjA7CisgICAgYXNzZXJ0KGNh
bGxDb3VudCA9PT0gMjAxKTsKK30sIDEwKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Byb3h5LXNl
dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm94eS1zZXQuanMJKHJldmlzaW9u
IDIxNzA1OSkKKysrIEpTVGVzdHMvc3RyZXNzL3Byb3h5LXNldC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMzQ5LDYgKzM0OSw3IEBAIGZ1bmN0aW9uIGFzc2VydChiKSB7CiAKIHsKICAgICBsZXQgY2Fs
bGVkID0gZmFsc2U7CisgICAgbGV0IHRocm91Z2hQcm94eSA9IGZhbHNlOwogICAgIGxldCB0YXJn
ZXQgPSB7CiAgICAgICAgIHNldCB4KHYpIHsKICAgICAgICAgICAgIGFzc2VydCh0aGlzID09PSB0
YXJnZXQpOwpAQCAtMzU2LDcgKzM1NywxMCBAQCBmdW5jdGlvbiBhc3NlcnQoYikgewogICAgICAg
ICAgICAgY2FsbGVkID0gdHJ1ZTsKICAgICAgICAgfSwKICAgICAgICAgZ2V0IHgoKSB7Ci0gICAg
ICAgICAgICBhc3NlcnQodGhpcyA9PT0gdGFyZ2V0KTsKKyAgICAgICAgICAgIGlmICh0aHJvdWdo
UHJveHkpCisgICAgICAgICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHByb3h5KTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBhc3NlcnQodGhpcyA9PT0gdGFyZ2V0KTsKICAgICAg
ICAgICAgIHJldHVybiB0aGlzLl94OwogICAgICAgICB9CiAgICAgfTsKQEAgLTM3NCw3ICszNzgs
OSBAQCBmdW5jdGlvbiBhc3NlcnQoYikgewogICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
aSsrKSB7CiAgICAgICAgIHByb3h5LnggPSBpOwogICAgICAgICBhc3NlcnQoY2FsbGVkKTsKKyAg
ICAgICAgdGhyb3VnaFByb3h5ID0gdHJ1ZTsKICAgICAgICAgYXNzZXJ0KHByb3h5LnggPT09IGkp
OworICAgICAgICB0aHJvdWdoUHJveHkgPSBmYWxzZTsKICAgICAgICAgYXNzZXJ0KHRhcmdldC54
ID09PSBpKTsKICAgICAgICAgYXNzZXJ0KHByb3h5Ll94ID09PSBpKTsKICAgICAgICAgYXNzZXJ0
KHRhcmdldC5feCA9PT0gaSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9yZWZsZWN0LXNldC1wcm94
eS1zZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcmVmbGVjdC1zZXQtcHJveHkt
c2V0LmpzCShyZXZpc2lvbiAyMTcwNTkpCisrKyBKU1Rlc3RzL3N0cmVzcy9yZWZsZWN0LXNldC1w
cm94eS1zZXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTM2NCw2ICszNjQsNyBAQCBmdW5jdGlvbiBh
c3NlcnQoYikgewogCiB7CiAgICAgbGV0IGNhbGxlZCA9IGZhbHNlOworICAgIGxldCB0aHJvdWdo
UHJveHkgPSBmYWxzZTsKICAgICBsZXQgdGFyZ2V0ID0gewogICAgICAgICBzZXQgeCh2KSB7CiAg
ICAgICAgICAgICBhc3NlcnQodGhpcyA9PT0gdGFyZ2V0KTsKQEAgLTM3MSw3ICszNzIsMTAgQEAg
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKICAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7CiAgICAgICAg
IH0sCiAgICAgICAgIGdldCB4KCkgewotICAgICAgICAgICAgYXNzZXJ0KHRoaXMgPT09IHRhcmdl
dCk7CisgICAgICAgICAgICBpZiAodGhyb3VnaFByb3h5KQorICAgICAgICAgICAgICAgIGFzc2Vy
dCh0aGlzID09PSBwcm94eSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYXNz
ZXJ0KHRoaXMgPT09IHRhcmdldCk7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5feDsKICAgICAg
ICAgfQogICAgIH07CkBAIC0zODksNyArMzkzLDkgQEAgZnVuY3Rpb24gYXNzZXJ0KGIpIHsKICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7IGkrKykgewogICAgICAgICBzaG91bGRCZShSZWZs
ZWN0LnNldChwcm94eSwgJ3gnLCBpKSwgdHJ1ZSk7CiAgICAgICAgIGFzc2VydChjYWxsZWQpOwor
ICAgICAgICB0aHJvdWdoUHJveHkgPSB0cnVlOwogICAgICAgICBhc3NlcnQocHJveHkueCA9PT0g
aSk7CisgICAgICAgIHRocm91Z2hQcm94eSA9IGZhbHNlOwogICAgICAgICBhc3NlcnQodGFyZ2V0
LnggPT09IGkpOwogICAgICAgICBhc3NlcnQocHJveHkuX3ggPT09IGkpOwogICAgICAgICBhc3Nl
cnQodGFyZ2V0Ll94ID09PSBpKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3JlZmxlY3Qtc2V0LXJl
Y2VpdmVyLXByb3h5LXNldC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9yZWZsZWN0
LXNldC1yZWNlaXZlci1wcm94eS1zZXQuanMJKHJldmlzaW9uIDIxNzA1OSkKKysrIEpTVGVzdHMv
c3RyZXNzL3JlZmxlY3Qtc2V0LXJlY2VpdmVyLXByb3h5LXNldC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMzY4LDYgKzM2OCw3IEBAIGZ1bmN0aW9uIGFzc2VydChiKSB7CiAgICAgfQogCiAgICAgewor
ICAgICAgICBsZXQgdGhyb3VnaFByb3h5ID0gZmFsc2U7CiAgICAgICAgIGxldCBjYWxsZWQgPSBm
YWxzZTsKICAgICAgICAgbGV0IHRhcmdldCA9IHsKICAgICAgICAgICAgIHNldCB4KHYpIHsKQEAg
LTM3Niw3ICszNzcsMTAgQEAgZnVuY3Rpb24gYXNzZXJ0KGIpIHsKICAgICAgICAgICAgICAgICBj
YWxsZWQgPSB0cnVlOwogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIGdldCB4KCkgewotICAg
ICAgICAgICAgICAgIGFzc2VydCh0aGlzID09PSB0YXJnZXQpOworICAgICAgICAgICAgICAgIGlm
ICh0aHJvdWdoUHJveHkpCisgICAgICAgICAgICAgICAgICAgIGFzc2VydCh0aGlzID09PSBwcm94
eSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBhc3NlcnQodGhp
cyA9PT0gdGFyZ2V0KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5feDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfTsKQEAgLTM5NSw3ICszOTksOSBAQCBmdW5jdGlvbiBhc3NlcnQoYikg
ewogICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7IGkrKykgewogICAgICAgICAgICAg
c2hvdWxkQmUoUmVmbGVjdC5zZXQocHJveHksICd4JywgaSwgdGhlUmVjZWl2ZXIpLCB0cnVlKTsK
ICAgICAgICAgICAgIGFzc2VydChjYWxsZWQpOworICAgICAgICAgICAgdGhyb3VnaFByb3h5ID0g
dHJ1ZTsKICAgICAgICAgICAgIGFzc2VydChwcm94eS54ID09PSBpKTsKKyAgICAgICAgICAgIHRo
cm91Z2hQcm94eSA9IGZhbHNlOwogICAgICAgICAgICAgYXNzZXJ0KHRhcmdldC54ID09PSBpKTsK
ICAgICAgICAgICAgIGFzc2VydCh0aGVSZWNlaXZlci54ID09PSB1bmRlZmluZWQpOwogICAgICAg
ICAgICAgYXNzZXJ0KHByb3h5Ll94ID09PSBpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjE3MDc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5j
b3JyZWN0IHJlY2VpdmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjQ4NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxNzY3MDU4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBydW50aW1lL1Byb3h5
T2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6cGVyZm9ybVByb3h5R2V0KToKKwogMjAxNy0wNS0x
OCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBuZWVkIHRv
IGRlc3Ryb3kgd29ya2VyIHRocmVhZHMgaW4ganNjLmNwcApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNwcAkocmV2aXNpb24gMjE3MDU5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjgsMTMgKzEyOCwxNSBAQCBzdGF0aWMgSlNWYWx1ZSBwZXJmb3JtUHJveHlHZXQo
RXhlY1N0YXRlCiAgICAgSlNPYmplY3QqIHRhcmdldCA9IHByb3h5T2JqZWN0LT50YXJnZXQoKTsK
IAogICAgIGF1dG8gcGVyZm9ybURlZmF1bHRHZXQgPSBbJl0gewotICAgICAgICByZXR1cm4gdGFy
Z2V0LT5nZXQoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgc2NvcGUucmVsZWFzZSgpOwor
ICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChyZWNlaXZlciwgUHJvcGVydHlTbG90OjpJbnRlcm5h
bE1ldGhvZFR5cGU6OkdldCk7CisgICAgICAgIGlmICh0YXJnZXQtPmdldFByb3BlcnR5U2xvdChl
eGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQorICAgICAgICAgICAgcmV0dXJuIHNsb3QuZ2V0VmFs
dWUoZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAg
ICAgfTsKIAotICAgIGlmICh2bS5wcm9wZXJ0eU5hbWVzLT5pc1ByaXZhdGVOYW1lKElkZW50aWZp
ZXI6OmZyb21VaWQoJnZtLCBwcm9wZXJ0eU5hbWUudWlkKCkpKSkgewotICAgICAgICBzY29wZS5y
ZWxlYXNlKCk7CisgICAgaWYgKHZtLnByb3BlcnR5TmFtZXMtPmlzUHJpdmF0ZU5hbWUoSWRlbnRp
Zmllcjo6ZnJvbVVpZCgmdm0sIHByb3BlcnR5TmFtZS51aWQoKSkpKQogICAgICAgICByZXR1cm4g
cGVyZm9ybURlZmF1bHRHZXQoKTsKLSAgICB9CiAKICAgICBKU1ZhbHVlIGhhbmRsZXJWYWx1ZSA9
IHByb3h5T2JqZWN0LT5oYW5kbGVyKCk7CiAgICAgaWYgKGhhbmRsZXJWYWx1ZS5pc051bGwoKSkK
QEAgLTE0NiwxMCArMTQ4LDggQEAgc3RhdGljIEpTVmFsdWUgcGVyZm9ybVByb3h5R2V0KEV4ZWNT
dGF0ZQogICAgIEpTVmFsdWUgZ2V0SGFuZGxlciA9IGhhbmRsZXItPmdldE1ldGhvZChleGVjLCBj
YWxsRGF0YSwgY2FsbFR5cGUsIHZtLnByb3BlcnR5TmFtZXMtPmdldCwgQVNDSUlMaXRlcmFsKCIn
Z2V0JyBwcm9wZXJ0eSBvZiBhIFByb3h5J3MgaGFuZGxlciBvYmplY3Qgc2hvdWxkIGJlIGNhbGxh
YmxlIikpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBpZiAo
Z2V0SGFuZGxlci5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAg
ICBpZiAoZ2V0SGFuZGxlci5pc1VuZGVmaW5lZCgpKQogICAgICAgICByZXR1cm4gcGVyZm9ybURl
ZmF1bHRHZXQoKTsKLSAgICB9CiAKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmd1bWVudHM7
CiAgICAgYXJndW1lbnRzLmFwcGVuZCh0YXJnZXQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>