<?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>151104</bug_id>
          
          <creation_ts>2015-11-10 09:39:00 -0800</creation_ts>
          <short_desc>[Streams API] Remove bind usage</short_desc>
          <delta_ts>2015-11-11 05:25:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>glenn</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140803</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-10 09:39:00 -0800</bug_when>
    <thetext>[Streams API] Shield bind call</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140821</commentid>
    <comment_count>1</comment_count>
      <attachid>265193</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-10 10:00:52 -0800</bug_when>
    <thetext>Created attachment 265193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140868</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-11-10 11:28:03 -0800</bug_when>
    <thetext>As I said in bug 151089, I am unsure whether we should support @bind or just an inlined polyfill of it. Also @apply and @call are special cased. Should @bind follow the same path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141081</commentid>
    <comment_count>3</comment_count>
      <attachid>265275</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-11 01:11:57 -0800</bug_when>
    <thetext>Created attachment 265275
Patch

(In reply to comment #2)
&gt; As I said in bug 151089, I am unsure whether we should support @bind or just
&gt; an inlined polyfill of it. Also @apply and @call are special cased. Should
&gt; @bind follow the same path?

I might have taken your comment at bug 151089 too literally.

I created an inline function to remove the use of bind.

About making it a special case as @apply and @call I am not sure if it makes sense now. If we do this, I think we could do a longer review of all things done at the builtins because there are probably similar things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141083</commentid>
    <comment_count>4</comment_count>
      <attachid>265277</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-11 01:46:54 -0800</bug_when>
    <thetext>Created attachment 265277
Patch

Reuploaded the right patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141085</commentid>
    <comment_count>5</comment_count>
      <attachid>265279</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-11 02:29:50 -0800</bug_when>
    <thetext>Created attachment 265279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141088</commentid>
    <comment_count>6</comment_count>
      <attachid>265277</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-11-11 04:00:44 -0800</bug_when>
    <thetext>Comment on attachment 265277
Patch

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

&gt; LayoutTests/ChangeLog:3
&gt; +        [Streams API] Shield bind call

Let&apos;s rename the bug to something like &quot;Remove bind usage from streams API&quot;.

Since bind/@bind makes stream code more readable, we may want to create a new bug entry to continue discussing whether we should go with a secure @bind, especially if other built-ins plan to use it.

&gt; LayoutTests/streams/streams-security-expected.txt:9
&gt; +PASS Streams and Function: replace bind method in Function prototype 

We may want to remove that test since bind is not used anymore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141089</commentid>
    <comment_count>7</comment_count>
      <attachid>265281</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-11-11 04:30:25 -0800</bug_when>
    <thetext>Created attachment 265281
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141090</commentid>
    <comment_count>8</comment_count>
      <attachid>265281</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 05:25:30 -0800</bug_when>
    <thetext>Comment on attachment 265281
Patch for landing

Clearing flags on attachment: 265281

Committed r192309: &lt;http://trac.webkit.org/changeset/192309&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141091</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 05:25:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265193</attachid>
            <date>2015-11-10 10:00:52 -0800</date>
            <delta_ts>2015-11-11 01:06:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>16183</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMzU0OTljLi40ZGZjNDIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTUtMTEt
MTAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAorICAg
ICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBiaW5kIGNhbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTEwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBjaGVjayB0aGF0IHRo
ZSBiaW5kIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGRpc3R1cmIgdGhlIHdyaXRhYmxlIHN0cmVh
bSBpbXBsZW1lbnRhdGlvbiBhbmQKKyAgICAgICAgcmVuYW1lZCB0aGUgc3RyZWFtcy1wcm9taXNl
cyB0ZXN0IGludG8gc3RyZWFtcy1zZWN1cml0eS4KKworICAgICAgICAqIHN0cmVhbXMvc3RyZWFt
cy1zZWN1cml0eS5odG1sOiBBZGRlZCB0ZXN0IHRvIGNoZWNrIHRoYXQgYmluZCBkb2VzIG5vdCBk
aXN0dXJiIHdyaXRhYmxlIHN0cmVhbQorICAgICAgICBpbXBsZW1lbnRhdGlvbi4gUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy5odG1sLgorICAgICAgICAq
IHN0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS1leHBlY3RlZC50eHQ6IEFkZGVkIGV4cGVjdGF0aW9u
LiBSZW5hbWVkIGZyb20KKyAgICAgICAgTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21p
c2VzLWV4cGVjdGVkLnR4dC4KKworMjAxNS0xMS0xMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIg
IDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gU2hpZWxkIHBy
b21pc2VzIHdoZW4gcHJvdG90eXBlIGlzIHJlcGxhY2VkIGZyb20gYSBwcm9taXNlCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEwMzMKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNjFlNGEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDkgKzAsMCBAQAotCi1QQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIFByb21p
c2UgY29uc3RydWN0b3IgCi1QQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIFByb21p
c2UucmVzb2x2ZSAKLVBBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5y
ZWplY3QgCi1QQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHByb3RvdHlwZSBvZiBh
IHByb21pc2Ugb2JqZWN0IAotUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVu
IG1ldGhvZCBpbiBQcm9taXNlIHByb3RvdHlwZSAKLVBBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6
IHJlcGxhY2UgY2F0Y2ggbWV0aG9kIGluIFByb21pc2UgcHJvdG90eXBlIAotUEFTUyBTdHJlYW1z
IGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBwcm9taXNlIG9iamVjdCAKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJvbWlzZXMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMWFhYzQ2YS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1z
L3N0cmVhbXMtcHJvbWlzZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Jz48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGNvbnN0IFByb21p
c2VCYWNrdXAgPSBQcm9taXNlOwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJvbWlzZSA9IGZ1bmN0
aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJv
bWlzZSBvYmplY3QiKTsgfTsKLQotICAgICAgICBuZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgICAg
ICAgbmV3IFdyaXRhYmxlU3RyZWFtKCk7Ci0gICAgfSBmaW5hbGx5IHsKLSAgICAgICAgUHJvbWlz
ZSA9IFByb21pc2VCYWNrdXA7Ci0gICAgfQotfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBs
YWNlIFByb21pc2UgY29uc3RydWN0b3InKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBjb25z
dCBQcm9taXNlUmVzb2x2ZUJhY2t1cCA9IFByb21pc2UucmVzb2x2ZTsKLQotICAgIHRyeSB7Ci0g
ICAgICAgIFByb21pc2UucmVzb2x2ZSA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJz
dHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZS5yZXNvbHZlIG1ldGhvZCIpOyB9Owot
Ci0gICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOwotICAgICAgICBuZXcgV3JpdGFibGVTdHJl
YW0oKTsKLSAgICB9IGZpbmFsbHkgewotICAgICAgICBQcm9taXNlLnJlc29sdmUgPSBQcm9taXNl
UmVzb2x2ZUJhY2t1cDsKLSAgICB9Ci19LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2Ug
UHJvbWlzZS5yZXNvbHZlJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgY29uc3QgUHJvbWlz
ZVJlamVjdEJhY2t1cCA9IFByb21pc2UucmVqZWN0OwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJv
bWlzZS5yZWplY3QgPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91
bGQgbm90IHVzZSB0aGlzIFByb21pc2UucmVqZWN0IG1ldGhvZCIpOyB9OwotCi0gICAgICAgIFJl
YWRhYmxlU3RyZWFtLnByb3RvdHlwZS5jYW5jZWwuY2FsbCh7fSwgInJlYXNvbiIpOwotICAgICAg
ICBXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUuYWJvcnQuY2FsbCh7fSwgInJlYXNvbiIpOwotICAg
IH0gZmluYWxseSB7Ci0gICAgICAgIFByb21pc2UucmVqZWN0ID0gUHJvbWlzZVJlamVjdEJhY2t1
cDsKLSAgICB9Ci19LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZWpl
Y3QnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBjcmVhdGVNYW5nbGVkUHJv
bWlzZSgpIHsKLSAgICAgICAgY29uc3QgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpOwotICAg
ICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YocHJvbWlzZSwgeyBjb25zdHJ1Y3RvcjogUHJvbWlz
ZSwgdGhlbjogZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5v
dCB1c2UgdGhpcyBwcm9taXNlIHRoZW4gbWV0aG9kIik7IH0gfSk7Ci0gICAgICAgIHJldHVybiBw
cm9taXNlOwotICAgIH0KLSAgICBuZXcgUmVhZGFibGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24o
KSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCi0gICAgbmV3IFdyaXRhYmxl
U3RyZWFtKHsgc3RhcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2Uo
KTsgfSB9KQotfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHByb3RvdHlwZSBvZiBh
IHByb21pc2Ugb2JqZWN0Jyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgY29uc3QgUHJvbWlz
ZVRoZW5CYWNrdXAgPSBQcm9taXNlLnByb3RvdHlwZS50aGVuOwotCi0gICAgdHJ5IHsKLSAgICAg
ICAgUHJvbWlzZS5wcm90b3R5cGUudGhlbiA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVk
KCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZS5wcm90b3R5cGUudGhlbiBtZXRo
b2QiKTsgfTsKLQotICAgICAgICBuZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgICAgICAgbmV3IFdy
aXRhYmxlU3RyZWFtKCk7Ci0gICAgfSBmaW5hbGx5IHsKLSAgICAgICAgUHJvbWlzZS5wcm90b3R5
cGUudGhlbiA9IFByb21pc2VUaGVuQmFja3VwOwotICAgIH0KLX0sICdTdHJlYW1zIGFuZCBwcm9t
aXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBQcm9taXNlIHByb3RvdHlwZScpOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICAgIGNvbnN0IFByb21pc2VDYXRjaEJhY2t1cCA9IFByb21pc2UucHJv
dG90eXBlLmNhdGNoOwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJvbWlzZS5wcm90b3R5cGUuY2F0
Y2ggPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVz
ZSB0aGlzIFByb21pc2UucHJvdG90eXBlLmNhdGNoIG1ldGhvZCIpOyB9OwotCi0gICAgICAgIGNv
bnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7Ci0gICAgICAgIHJzLnRlZSgpOwotICAgIH0g
ZmluYWxseSB7Ci0gICAgICAgIFByb21pc2UucHJvdG90eXBlLmNhdGNoID0gUHJvbWlzZUNhdGNo
QmFja3VwOwotICAgIH0KLX0sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBjYXRjaCBt
ZXRob2QgaW4gUHJvbWlzZSBwcm90b3R5cGUnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBm
dW5jdGlvbiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpIHsKLSAgICAgICAgY29uc3QgcHJvbWlzZSA9
IFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICBwcm9taXNlLnRoZW4gPSBmdW5jdGlvbigpIHsg
YXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIHByb21pc2UgdGhl
biBtZXRob2QiKTsgfTsKLSAgICAgICAgcmV0dXJuIHByb21pc2U7Ci0gICAgfQotICAgIG5ldyBS
ZWFkYWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0ZU1hbmdsZWRQ
cm9taXNlKCk7IH0gfSkKLSAgICBuZXcgV3JpdGFibGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24o
KSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCi19LCAnU3RyZWFtcyBhbmQg
cHJvbWlzZXM6IHJlcGxhY2UgdGhlbiBtZXRob2QgaW4gcHJvbWlzZSBvYmplY3QnKTsKLTwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg4YzhhZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitQQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBs
YWNlIFByb21pc2UgY29uc3RydWN0b3IgCitQQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBs
YWNlIFByb21pc2UucmVzb2x2ZSAKK1BBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2Ug
UHJvbWlzZS5yZWplY3QgCitQQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHByb3Rv
dHlwZSBvZiBhIHByb21pc2Ugb2JqZWN0IAorUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVw
bGFjZSB0aGVuIG1ldGhvZCBpbiBQcm9taXNlIHByb3RvdHlwZSAKK1BBU1MgU3RyZWFtcyBhbmQg
cHJvbWlzZXM6IHJlcGxhY2UgY2F0Y2ggbWV0aG9kIGluIFByb21pc2UgcHJvdG90eXBlIAorUEFT
UyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBwcm9taXNlIG9i
amVjdCAKK1BBU1MgU3RyZWFtcyBhbmQgRnVuY3Rpb246IHJlcGxhY2UgYmluZCBtZXRob2QgaW4g
RnVuY3Rpb24gcHJvdG90eXBlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0
cmVhbXMtc2VjdXJpdHkuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0YTcyNDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtc2VjdXJpdHkuaHRtbApA
QCAtMCwwICsxLDEwMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPScuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgY29uc3QgUHJvbWlzZUJhY2t1cCA9IFByb21pc2U7CisKKyAgICB0cnkgeworICAg
ICAgICBQcm9taXNlID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hv
dWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlIG9iamVjdCIpOyB9OworCisgICAgICAgIG5ldyBSZWFk
YWJsZVN0cmVhbSgpOworICAgICAgICBuZXcgV3JpdGFibGVTdHJlYW0oKTsKKyAgICB9IGZpbmFs
bHkgeworICAgICAgICBQcm9taXNlID0gUHJvbWlzZUJhY2t1cDsKKyAgICB9Cit9LCAnU3RyZWFt
cyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZSBjb25zdHJ1Y3RvcicpOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGNvbnN0IFByb21pc2VSZXNvbHZlQmFja3VwID0gUHJvbWlzZS5yZXNv
bHZlOworCisgICAgdHJ5IHsKKyAgICAgICAgUHJvbWlzZS5yZXNvbHZlID0gZnVuY3Rpb24oKSB7
IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlLnJl
c29sdmUgbWV0aG9kIik7IH07CisKKyAgICAgICAgbmV3IFJlYWRhYmxlU3RyZWFtKCk7CisgICAg
ICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIFByb21p
c2UucmVzb2x2ZSA9IFByb21pc2VSZXNvbHZlQmFja3VwOworICAgIH0KK30sICdTdHJlYW1zIGFu
ZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlc29sdmUnKTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBjb25zdCBQcm9taXNlUmVqZWN0QmFja3VwID0gUHJvbWlzZS5yZWplY3Q7CisKKyAg
ICB0cnkgeworICAgICAgICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5y
ZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZS5yZWplY3QgbWV0aG9k
Iik7IH07CisKKyAgICAgICAgUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLmNhbmNlbC5jYWxsKHt9
LCAicmVhc29uIik7CisgICAgICAgIFdyaXRhYmxlU3RyZWFtLnByb3RvdHlwZS5hYm9ydC5jYWxs
KHt9LCAicmVhc29uIik7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgUHJvbWlzZS5yZWplY3Qg
PSBQcm9taXNlUmVqZWN0QmFja3VwOworICAgIH0KK30sICdTdHJlYW1zIGFuZCBwcm9taXNlczog
cmVwbGFjZSBQcm9taXNlLnJlamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0
aW9uIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCkgeworICAgICAgICBjb25zdCBwcm9taXNlID0gUHJv
bWlzZS5yZXNvbHZlKCk7CisgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihwcm9taXNlLCB7
IGNvbnN0cnVjdG9yOiBQcm9taXNlLCB0aGVuOiBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hl
ZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIHByb21pc2UgdGhlbiBtZXRob2QiKTsgfSB9
KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgfQorICAgIG5ldyBSZWFkYWJsZVN0cmVh
bSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCk7IH0g
fSkKKyAgICBuZXcgV3JpdGFibGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24oKSB7IHJldHVybiBj
cmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCit9LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJl
cGxhY2UgcHJvdG90eXBlIG9mIGEgcHJvbWlzZSBvYmplY3QnKTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBjb25zdCBQcm9taXNlVGhlbkJhY2t1cCA9IFByb21pc2UucHJvdG90eXBlLnRoZW47
CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNlLnByb3RvdHlwZS50aGVuID0gZnVuY3Rpb24o
KSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNl
LnByb3RvdHlwZS50aGVuIG1ldGhvZCIpOyB9OworCisgICAgICAgIG5ldyBSZWFkYWJsZVN0cmVh
bSgpOworICAgICAgICBuZXcgV3JpdGFibGVTdHJlYW0oKTsKKyAgICB9IGZpbmFsbHkgeworICAg
ICAgICBQcm9taXNlLnByb3RvdHlwZS50aGVuID0gUHJvbWlzZVRoZW5CYWNrdXA7CisgICAgfQor
fSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0aG9kIGluIFByb21pc2Ug
cHJvdG90eXBlJyk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgY29uc3QgUHJvbWlzZUNhdGNo
QmFja3VwID0gUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2g7CisKKyAgICB0cnkgeworICAgICAgICBQ
cm9taXNlLnByb3RvdHlwZS5jYXRjaCA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJz
dHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggbWV0aG9k
Iik7IH07CisKKyAgICAgICAgY29uc3QgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICAg
ICAgcnMudGVlKCk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgUHJvbWlzZS5wcm90b3R5cGUu
Y2F0Y2ggPSBQcm9taXNlQ2F0Y2hCYWNrdXA7CisgICAgfQorfSwgJ1N0cmVhbXMgYW5kIHByb21p
c2VzOiByZXBsYWNlIGNhdGNoIG1ldGhvZCBpbiBQcm9taXNlIHByb3RvdHlwZScpOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCkgeworICAg
ICAgICBjb25zdCBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIHByb21pc2Uu
dGhlbiA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3Qg
dXNlIHRoaXMgcHJvbWlzZSB0aGVuIG1ldGhvZCIpOyB9OworICAgICAgICByZXR1cm4gcHJvbWlz
ZTsKKyAgICB9CisgICAgbmV3IFJlYWRhYmxlU3RyZWFtKHsgc3RhcnQ6IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsgfSB9KQorICAgIG5ldyBXcml0YWJsZVN0cmVh
bSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCk7IH0g
fSkKK30sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBwcm9t
aXNlIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGNvbnN0IEZ1bmN0aW9uQmlu
ZEJhY2t1cCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOworCisgICAgdHJ5IHsKKyAgICAgICAg
RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgi
c3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIG1ldGhv
ZCIpOyB9OworCisgICAgICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOworICAgIH0gZmluYWxseSB7
CisgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID0gRnVuY3Rpb25CaW5kQmFja3VwOwor
ICAgIH0KK30sICdTdHJlYW1zIGFuZCBGdW5jdGlvbjogcmVwbGFjZSBiaW5kIG1ldGhvZCBpbiBG
dW5jdGlvbiBwcm90b3R5cGUnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5k
ZXggMWNhNzRhYy4uZmRkODdkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTUtMTEtMTAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdh
bGlhLmNvbT4KKworICAgICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBiaW5kIGNhbGwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTEwNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEZ1bmN0aW9u
IGNvbnN0cnVjdG9yIGFzIGludGVybmFsIGdsb2JhbCAoQEZ1bmN0aW9uKSBhbmQgYmluZCBhcyBp
bnRlcm5hbCBzbG90IHRvIHRoZSBwcm90b3R5cGUuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUHJvdG90eXBlOjphZGRGdW5jdGlvblByb3BlcnRpZXMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aW5pdCk6CisKIDIwMTUtMTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBjcmVhdGVfaGFzaF90YWJsZSBzaG91
bGQga25vdyB3aGV0aGVyIGEgZnVuY3Rpb24gaXMgSlNCdWlsdGluIG9yIG5vdC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDRj
ZjY1OTAuLjVhZmE4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjc2LDYgKzI3Niw3IEBACiAgICAgbWFjcm8oYXJyYXlJ
dGVyYXRpb25LaW5kS2V5KSBcCiAgICAgbWFjcm8oYXJyYXlJdGVyYXRpb25LaW5kVmFsdWUpIFwK
ICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktpbmRLZXlWYWx1ZSkgXAorICAgIG1hY3JvKGJpbmQp
IFwKICAgICBtYWNybyhjaGFyQ29kZUF0KSBcCiAgICAgbWFjcm8oaXRlcmF0ZWRTdHJpbmcpIFwK
ICAgICBtYWNybyhzdHJpbmdJdGVyYXRvck5leHRJbmRleCkgXApAQCAtMjg4LDYgKzI4OSw3IEBA
CiAgICAgbWFjcm8oY291bnRkb3duSG9sZGVyKSBcCiAgICAgbWFjcm8oT2JqZWN0KSBcCiAgICAg
bWFjcm8ob3duRW51bWVyYWJsZVByb3BlcnR5S2V5cykgXAorICAgIG1hY3JvKEZ1bmN0aW9uKSBc
CiAgICAgbWFjcm8oTnVtYmVyKSBcCiAgICAgbWFjcm8oQXJyYXkpIFwKICAgICBtYWNybyhTdHJp
bmcpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJv
dG90eXBlLmNwcAppbmRleCA5NzBkMDEyLi4xMzMzYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCkBAIC02NSw2ICs2NSw3
IEBAIHZvaWQgRnVuY3Rpb25Qcm90b3R5cGU6OmFkZEZ1bmN0aW9uUHJvcGVydGllcyhFeGVjU3Rh
dGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnCiAKICAgICBKU0Z1bmN0aW9uKiBiaW5kRnVuY3Rp
b24gPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgMSwgdm0ucHJvcGVydHlO
YW1lcy0+YmluZC5zdHJpbmcoKSwgZnVuY3Rpb25Qcm90b0Z1bmNCaW5kKTsKICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+YmluZCwgYmluZEZ1bmN0
aW9uLCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmJpbmRQcml2YXRlTmFtZSwgYmluZEZ1bmN0aW9uLCBEb250RW51bSk7CiB9
CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxGdW5jdGlvblByb3Rv
dHlwZShFeGVjU3RhdGUqKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCmluZGV4IGNiYTVhYzEuLjIyOTk1OTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTUzMSw2ICs1MzEs
NyBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+IGpz
TmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNO
dW1iZXIoQXJyYXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0
ZXJhdGlvbktpbmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlW
YWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbEl0ZXJh
dG9yUHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbElt
cGwmPigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPkZ1bmN0aW9uUHJpdmF0ZU5hbWUsIGZ1bmN0aW9uQ29uc3RydWN0b3Is
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2YXRlTmFtZSwgcHJvbWlzZUNvbnN0
cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5JbnRlcm5hbFByb21pc2VQcml2YXRlTmFt
ZSwgaW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnBy
b21pc2VQZW5kaW5nUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYTc5Mjg4Ny4uOGY0ZTVmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDIyIEBACiAyMDE1LTExLTEwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+CiAKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBTaGllbGQgYmluZCBjYWxsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTExMDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgQEZ1bmN0
aW9uLnByb3RvdHlwZS5AYmluZC5AY2FsbCBpbnN0ZWFkIG9mIHBsYWluIGJpbmQgdG8gZW5zdXJl
IHdlIGFyZSBub3QgcnVubmluZyBhIG1hbGljaW91cyBiaW5kIGZ1bmN0aW9uLgorCisgICAgICAg
IFRlc3Q6IHN0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVz
L3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanM6CisgICAgICAgIChpbml0aWFsaXplV3JpdGFibGVT
dHJlYW0pOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFs
cy5qczoKKyAgICAgICAgKHdyaXRhYmxlU3RyZWFtQWR2YW5jZVF1ZXVlKToKKyAgICAgICAgKGNs
b3NlV3JpdGFibGVTdHJlYW0pOiBSZW1vdmVkIHRoZSBsYW1iZGEgdG8ganVzdCB1c2UgYSBib3Vu
ZCBlcnJvciBmdW5jdGlvbi4KKworMjAxNS0xMS0xMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIg
IDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gRml4IHN0eWxl
IGlzc3VlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUxMDg5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0
YWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0
cmVhbS5qcwppbmRleCAyMzkwNzhhLi41YjFlOWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCkBAIC01Myw3ICs1Myw3IEBAIGZ1bmN0
aW9uIGluaXRpYWxpemVXcml0YWJsZVN0cmVhbSh1bmRlcmx5aW5nU2luaywgc3RyYXRlZ3kpCiAK
ICAgICBAc3luY1dyaXRhYmxlU3RyZWFtU3RhdGVXaXRoUXVldWUodGhpcyk7CiAKLSAgICBjb25z
dCBlcnJvciA9IEBlcnJvcldyaXRhYmxlU3RyZWFtLmJpbmQodGhpcyk7CisgICAgY29uc3QgZXJy
b3IgPSBARnVuY3Rpb24ucHJvdG90eXBlLkBiaW5kLkBjYWxsKEBlcnJvcldyaXRhYmxlU3RyZWFt
LCB0aGlzKTsKICAgICB0aGlzLkBzdGFydGVkUHJvbWlzZSA9IEBQcm9taXNlLkByZXNvbHZlKEBp
bnZva2VPck5vb3AodW5kZXJseWluZ1NpbmssICJzdGFydCIsIFtlcnJvcl0pKTsKICAgICBjb25z
dCBfdGhpcyA9IHRoaXM7CiAgICAgQFByb21pc2UucHJvdG90eXBlLkB0aGVuLkBjYWxsKHRoaXMu
QHN0YXJ0ZWRQcm9taXNlLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5qcwppbmRleCA0Mjlk
NTg3Li4zMTIxNzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
V3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0xMDksOSArMTA5LDcgQEAgZnVu
Y3Rpb24gd3JpdGFibGVTdHJlYW1BZHZhbmNlUXVldWUoc3RyZWFtKQogICAgICAgICAgICAgQHN5
bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0aFF1ZXVlKHN0cmVhbSk7CiAgICAgICAgICAgICBAd3Jp
dGFibGVTdHJlYW1BZHZhbmNlUXVldWUoc3RyZWFtKTsKICAgICAgICAgfSwKLSAgICAgICAgZnVu
Y3Rpb24ocikgewotICAgICAgICAgICAgQGVycm9yV3JpdGFibGVTdHJlYW0uQGFwcGx5KHN0cmVh
bSwgW3JdKTsKLSAgICAgICAgfQorICAgICAgICBARnVuY3Rpb24ucHJvdG90eXBlLkBiaW5kLkBj
YWxsKEBlcnJvcldyaXRhYmxlU3RyZWFtLCBzdHJlYW0pCiAgICAgKTsKIH0KIApAQCAtMTI4LDgg
KzEyNiw2IEBAIGZ1bmN0aW9uIGNsb3NlV3JpdGFibGVTdHJlYW0oc3RyZWFtKQogICAgICAgICAg
ICAgc3RyZWFtLkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eS5AcmVzb2x2ZS5AY2FsbCgpOwogICAg
ICAgICAgICAgc3RyZWFtLkBzdGF0ZSA9IEBzdHJlYW1DbG9zZWQ7CiAgICAgICAgIH0sCi0gICAg
ICAgIGZ1bmN0aW9uKHIpIHsKLSAgICAgICAgICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBhcHBs
eShzdHJlYW0sIFtyXSk7Ci0gICAgICAgIH0KKyAgICAgICAgQEZ1bmN0aW9uLnByb3RvdHlwZS5A
YmluZC5AY2FsbChAZXJyb3JXcml0YWJsZVN0cmVhbSwgc3RyZWFtKQogICAgICk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265275</attachid>
            <date>2015-11-11 01:11:57 -0800</date>
            <delta_ts>2015-11-11 01:46:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>1515</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMzU0OTljLi43MTc0NzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMTEt
MTEgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBiaW5kIGNhbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTEwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5Lmh0
bWw6IEFkZGVkIHRlc3QgdG8gZW5zdXJlIHJlcGxhY2luZyBiaW5kIGRvZXMgbm90IGRpc3J1cHQg
c3RyZWFtcy4gUmVuYW1lZCBmcm9tCisgICAgICAgIExheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFt
cy1wcm9taXNlcy5odG1sLgorICAgICAgICAqIHN0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS1leHBl
Y3RlZC50eHQ6IEFkZGVkIGV4cGVjdGF0aW9ucy4gUmVuYW1lZCBmcm9tCisgICAgICAgIExheW91
dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy1leHBlY3RlZC50eHQuCisKIDIwMTUtMTEt
MTAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBwcm9taXNlcyB3aGVuIHByb3RvdHlwZSBpcyByZXBs
YWNlZCBmcm9tIGEgcHJvbWlzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE3OTI4ODcuLjY4OTU1NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0xMS0xMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gU2hpZWxk
IGJpbmQgY2FsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUxMTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5zdGVhZCBvZiB1c2luZyBiaW5kLCBhbiBpbmxpbmUgZXJyb3IgZnVuY3Rpb24gd2FzIGNy
ZWF0ZWQuCisKKyAgICAgICAgVGVzdDogc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5Lmh0bWwKKwor
ICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qczoKKyAgICAgICAgKGVy
cm9yKToKKyAgICAgICAgKGluaXRpYWxpemVXcml0YWJsZVN0cmVhbSk6CisKIDIwMTUtMTEtMTAg
IFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbU3RyZWFtcyBBUEldIEZpeCBzdHlsZSBpc3N1ZXMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265277</attachid>
            <date>2015-11-11 01:46:54 -0800</date>
            <delta_ts>2015-11-11 04:30:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>11096</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMzU0OTljLi43MTc0NzM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMTEt
MTEgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBiaW5kIGNhbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTEwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5Lmh0
bWw6IEFkZGVkIHRlc3QgdG8gZW5zdXJlIHJlcGxhY2luZyBiaW5kIGRvZXMgbm90IGRpc3J1cHQg
c3RyZWFtcy4gUmVuYW1lZCBmcm9tCisgICAgICAgIExheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFt
cy1wcm9taXNlcy5odG1sLgorICAgICAgICAqIHN0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS1leHBl
Y3RlZC50eHQ6IEFkZGVkIGV4cGVjdGF0aW9ucy4gUmVuYW1lZCBmcm9tCisgICAgICAgIExheW91
dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy1leHBlY3RlZC50eHQuCisKIDIwMTUtMTEt
MTAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU3RyZWFtcyBBUEldIFNoaWVsZCBwcm9taXNlcyB3aGVuIHByb3RvdHlwZSBpcyByZXBs
YWNlZCBmcm9tIGEgcHJvbWlzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJl
YW1zLXByb21pc2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1w
cm9taXNlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNjFl
NGEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotCi1QQVNTIFN0cmVhbXMg
YW5kIHByb21pc2VzOiByZXBsYWNlIFByb21pc2UgY29uc3RydWN0b3IgCi1QQVNTIFN0cmVhbXMg
YW5kIHByb21pc2VzOiByZXBsYWNlIFByb21pc2UucmVzb2x2ZSAKLVBBU1MgU3RyZWFtcyBhbmQg
cHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZWplY3QgCi1QQVNTIFN0cmVhbXMgYW5kIHByb21p
c2VzOiByZXBsYWNlIHByb3RvdHlwZSBvZiBhIHByb21pc2Ugb2JqZWN0IAotUEFTUyBTdHJlYW1z
IGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBQcm9taXNlIHByb3RvdHlwZSAK
LVBBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgY2F0Y2ggbWV0aG9kIGluIFByb21p
c2UgcHJvdG90eXBlIAotUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1l
dGhvZCBpbiBwcm9taXNlIG9iamVjdCAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFt
cy9zdHJlYW1zLXByb21pc2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJv
bWlzZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFhYzQ2YS4uMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJvbWlzZXMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDg5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHNjcmlwdCBzcmM9Jy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0nLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIGNvbnN0IFByb21pc2VCYWNrdXAgPSBQcm9taXNlOwotCi0gICAgdHJ5
IHsKLSAgICAgICAgUHJvbWlzZSA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJl
YW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZSBvYmplY3QiKTsgfTsKLQotICAgICAgICBu
ZXcgUmVhZGFibGVTdHJlYW0oKTsKLSAgICAgICAgbmV3IFdyaXRhYmxlU3RyZWFtKCk7Ci0gICAg
fSBmaW5hbGx5IHsKLSAgICAgICAgUHJvbWlzZSA9IFByb21pc2VCYWNrdXA7Ci0gICAgfQotfSwg
J1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIFByb21pc2UgY29uc3RydWN0b3InKTsKLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgICBjb25zdCBQcm9taXNlUmVzb2x2ZUJhY2t1cCA9IFByb21p
c2UucmVzb2x2ZTsKLQotICAgIHRyeSB7Ci0gICAgICAgIFByb21pc2UucmVzb2x2ZSA9IGZ1bmN0
aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJv
bWlzZS5yZXNvbHZlIG1ldGhvZCIpOyB9OwotCi0gICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgp
OwotICAgICAgICBuZXcgV3JpdGFibGVTdHJlYW0oKTsKLSAgICB9IGZpbmFsbHkgewotICAgICAg
ICBQcm9taXNlLnJlc29sdmUgPSBQcm9taXNlUmVzb2x2ZUJhY2t1cDsKLSAgICB9Ci19LCAnU3Ry
ZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZXNvbHZlJyk7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgY29uc3QgUHJvbWlzZVJlamVjdEJhY2t1cCA9IFByb21pc2UucmVqZWN0
OwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJvbWlzZS5yZWplY3QgPSBmdW5jdGlvbigpIHsgYXNz
ZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIFByb21pc2UucmVqZWN0
IG1ldGhvZCIpOyB9OwotCi0gICAgICAgIFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5jYW5jZWwu
Y2FsbCh7fSwgInJlYXNvbiIpOwotICAgICAgICBXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUuYWJv
cnQuY2FsbCh7fSwgInJlYXNvbiIpOwotICAgIH0gZmluYWxseSB7Ci0gICAgICAgIFByb21pc2Uu
cmVqZWN0ID0gUHJvbWlzZVJlamVjdEJhY2t1cDsKLSAgICB9Ci19LCAnU3RyZWFtcyBhbmQgcHJv
bWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZWplY3QnKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICBmdW5jdGlvbiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpIHsKLSAgICAgICAgY29uc3QgcHJvbWlz
ZSA9IFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YocHJv
bWlzZSwgeyBjb25zdHJ1Y3RvcjogUHJvbWlzZSwgdGhlbjogZnVuY3Rpb24oKSB7IGFzc2VydF91
bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBwcm9taXNlIHRoZW4gbWV0aG9k
Iik7IH0gfSk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlOwotICAgIH0KLSAgICBuZXcgUmVhZGFi
bGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24oKSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlz
ZSgpOyB9IH0pCi0gICAgbmV3IFdyaXRhYmxlU3RyZWFtKHsgc3RhcnQ6IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsgfSB9KQotfSwgJ1N0cmVhbXMgYW5kIHByb21p
c2VzOiByZXBsYWNlIHByb3RvdHlwZSBvZiBhIHByb21pc2Ugb2JqZWN0Jyk7Ci0KLXRlc3QoZnVu
Y3Rpb24oKSB7Ci0gICAgY29uc3QgUHJvbWlzZVRoZW5CYWNrdXAgPSBQcm9taXNlLnByb3RvdHlw
ZS50aGVuOwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJvbWlzZS5wcm90b3R5cGUudGhlbiA9IGZ1
bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMg
UHJvbWlzZS5wcm90b3R5cGUudGhlbiBtZXRob2QiKTsgfTsKLQotICAgICAgICBuZXcgUmVhZGFi
bGVTdHJlYW0oKTsKLSAgICAgICAgbmV3IFdyaXRhYmxlU3RyZWFtKCk7Ci0gICAgfSBmaW5hbGx5
IHsKLSAgICAgICAgUHJvbWlzZS5wcm90b3R5cGUudGhlbiA9IFByb21pc2VUaGVuQmFja3VwOwot
ICAgIH0KLX0sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBQ
cm9taXNlIHByb3RvdHlwZScpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGNvbnN0IFByb21p
c2VDYXRjaEJhY2t1cCA9IFByb21pc2UucHJvdG90eXBlLmNhdGNoOwotCi0gICAgdHJ5IHsKLSAg
ICAgICAgUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVh
Y2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIFByb21pc2UucHJvdG90eXBlLmNhdGNo
IG1ldGhvZCIpOyB9OwotCi0gICAgICAgIGNvbnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKCk7
Ci0gICAgICAgIHJzLnRlZSgpOwotICAgIH0gZmluYWxseSB7Ci0gICAgICAgIFByb21pc2UucHJv
dG90eXBlLmNhdGNoID0gUHJvbWlzZUNhdGNoQmFja3VwOwotICAgIH0KLX0sICdTdHJlYW1zIGFu
ZCBwcm9taXNlczogcmVwbGFjZSBjYXRjaCBtZXRob2QgaW4gUHJvbWlzZSBwcm90b3R5cGUnKTsK
LQotdGVzdChmdW5jdGlvbigpIHsKLSAgICBmdW5jdGlvbiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgp
IHsKLSAgICAgICAgY29uc3QgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICBw
cm9taXNlLnRoZW4gPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91
bGQgbm90IHVzZSB0aGlzIHByb21pc2UgdGhlbiBtZXRob2QiKTsgfTsKLSAgICAgICAgcmV0dXJu
IHByb21pc2U7Ci0gICAgfQotICAgIG5ldyBSZWFkYWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlv
bigpIHsgcmV0dXJuIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCk7IH0gfSkKLSAgICBuZXcgV3JpdGFi
bGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24oKSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlz
ZSgpOyB9IH0pCi19LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgdGhlbiBtZXRob2Qg
aW4gcHJvbWlzZSBvYmplY3QnKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVh
bXMvc3RyZWFtcy1zZWN1cml0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZjg4YzhhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0cmVh
bXMvc3RyZWFtcy1zZWN1cml0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorCitQQVNT
IFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIFByb21pc2UgY29uc3RydWN0b3IgCitQQVNT
IFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIFByb21pc2UucmVzb2x2ZSAKK1BBU1MgU3Ry
ZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZWplY3QgCitQQVNTIFN0cmVhbXMg
YW5kIHByb21pc2VzOiByZXBsYWNlIHByb3RvdHlwZSBvZiBhIHByb21pc2Ugb2JqZWN0IAorUEFT
UyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBQcm9taXNlIHBy
b3RvdHlwZSAKK1BBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgY2F0Y2ggbWV0aG9k
IGluIFByb21pc2UgcHJvdG90eXBlIAorUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFj
ZSB0aGVuIG1ldGhvZCBpbiBwcm9taXNlIG9iamVjdCAKK1BBU1MgU3RyZWFtcyBhbmQgRnVuY3Rp
b246IHJlcGxhY2UgYmluZCBtZXRob2QgaW4gRnVuY3Rpb24gcHJvdG90eXBlIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtc2VjdXJpdHkuaHRtbCBiL0xheW91dFRl
c3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmY0YTcyNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdHJl
YW1zL3N0cmVhbXMtc2VjdXJpdHkuaHRtbApAQCAtMCwwICsxLDEwMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPScuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0
PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgY29uc3QgUHJvbWlzZUJhY2t1cCA9
IFByb21pc2U7CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNlID0gZnVuY3Rpb24oKSB7IGFz
c2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlIG9iamVj
dCIpOyB9OworCisgICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOworICAgICAgICBuZXcgV3Jp
dGFibGVTdHJlYW0oKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBQcm9taXNlID0gUHJvbWlz
ZUJhY2t1cDsKKyAgICB9Cit9LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlz
ZSBjb25zdHJ1Y3RvcicpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGNvbnN0IFByb21pc2VS
ZXNvbHZlQmFja3VwID0gUHJvbWlzZS5yZXNvbHZlOworCisgICAgdHJ5IHsKKyAgICAgICAgUHJv
bWlzZS5yZXNvbHZlID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hv
dWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlLnJlc29sdmUgbWV0aG9kIik7IH07CisKKyAgICAgICAg
bmV3IFJlYWRhYmxlU3RyZWFtKCk7CisgICAgICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOworICAg
IH0gZmluYWxseSB7CisgICAgICAgIFByb21pc2UucmVzb2x2ZSA9IFByb21pc2VSZXNvbHZlQmFj
a3VwOworICAgIH0KK30sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJl
c29sdmUnKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBjb25zdCBQcm9taXNlUmVqZWN0QmFj
a3VwID0gUHJvbWlzZS5yZWplY3Q7CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNlLnJlamVj
dCA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNl
IHRoaXMgUHJvbWlzZS5yZWplY3QgbWV0aG9kIik7IH07CisKKyAgICAgICAgUmVhZGFibGVTdHJl
YW0ucHJvdG90eXBlLmNhbmNlbC5jYWxsKHt9LCAicmVhc29uIik7CisgICAgICAgIFdyaXRhYmxl
U3RyZWFtLnByb3RvdHlwZS5hYm9ydC5jYWxsKHt9LCAicmVhc29uIik7CisgICAgfSBmaW5hbGx5
IHsKKyAgICAgICAgUHJvbWlzZS5yZWplY3QgPSBQcm9taXNlUmVqZWN0QmFja3VwOworICAgIH0K
K30sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlamVjdCcpOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCkgewor
ICAgICAgICBjb25zdCBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgICAgIE9iamVj
dC5zZXRQcm90b3R5cGVPZihwcm9taXNlLCB7IGNvbnN0cnVjdG9yOiBQcm9taXNlLCB0aGVuOiBm
dW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlz
IHByb21pc2UgdGhlbiBtZXRob2QiKTsgfSB9KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2U7Cisg
ICAgfQorICAgIG5ldyBSZWFkYWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJu
IGNyZWF0ZU1hbmdsZWRQcm9taXNlKCk7IH0gfSkKKyAgICBuZXcgV3JpdGFibGVTdHJlYW0oeyBz
dGFydDogZnVuY3Rpb24oKSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCit9
LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgcHJvdG90eXBlIG9mIGEgcHJvbWlzZSBv
YmplY3QnKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBjb25zdCBQcm9taXNlVGhlbkJhY2t1
cCA9IFByb21pc2UucHJvdG90eXBlLnRoZW47CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNl
LnByb3RvdHlwZS50aGVuID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMg
c2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlLnByb3RvdHlwZS50aGVuIG1ldGhvZCIpOyB9Owor
CisgICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOworICAgICAgICBuZXcgV3JpdGFibGVTdHJl
YW0oKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBQcm9taXNlLnByb3RvdHlwZS50aGVuID0g
UHJvbWlzZVRoZW5CYWNrdXA7CisgICAgfQorfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBs
YWNlIHRoZW4gbWV0aG9kIGluIFByb21pc2UgcHJvdG90eXBlJyk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgY29uc3QgUHJvbWlzZUNhdGNoQmFja3VwID0gUHJvbWlzZS5wcm90b3R5cGUuY2F0
Y2g7CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNlLnByb3RvdHlwZS5jYXRjaCA9IGZ1bmN0
aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJv
bWlzZS5wcm90b3R5cGUuY2F0Y2ggbWV0aG9kIik7IH07CisKKyAgICAgICAgY29uc3QgcnMgPSBu
ZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICAgICAgcnMudGVlKCk7CisgICAgfSBmaW5hbGx5IHsK
KyAgICAgICAgUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggPSBQcm9taXNlQ2F0Y2hCYWNrdXA7Cisg
ICAgfQorfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIGNhdGNoIG1ldGhvZCBpbiBQ
cm9taXNlIHByb3RvdHlwZScpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIGNy
ZWF0ZU1hbmdsZWRQcm9taXNlKCkgeworICAgICAgICBjb25zdCBwcm9taXNlID0gUHJvbWlzZS5y
ZXNvbHZlKCk7CisgICAgICAgIHByb21pc2UudGhlbiA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5y
ZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgcHJvbWlzZSB0aGVuIG1ldGhvZCIp
OyB9OworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICB9CisgICAgbmV3IFJlYWRhYmxlU3Ry
ZWFtKHsgc3RhcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsg
fSB9KQorICAgIG5ldyBXcml0YWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJu
IGNyZWF0ZU1hbmdsZWRQcm9taXNlKCk7IH0gfSkKK30sICdTdHJlYW1zIGFuZCBwcm9taXNlczog
cmVwbGFjZSB0aGVuIG1ldGhvZCBpbiBwcm9taXNlIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGNvbnN0IEZ1bmN0aW9uQmluZEJhY2t1cCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5i
aW5kOworCisgICAgdHJ5IHsKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5j
dGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIEZ1
bmN0aW9uLnByb3RvdHlwZS5iaW5kIG1ldGhvZCIpOyB9OworCisgICAgICAgIG5ldyBXcml0YWJs
ZVN0cmVhbSgpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5i
aW5kID0gRnVuY3Rpb25CaW5kQmFja3VwOworICAgIH0KK30sICdTdHJlYW1zIGFuZCBGdW5jdGlv
bjogcmVwbGFjZSBiaW5kIG1ldGhvZCBpbiBGdW5jdGlvbiBwcm90b3R5cGUnKTsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGE3OTI4ODcuLjY4OTU1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxNS0xMS0xMSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gU2hpZWxkIGJpbmQgY2FsbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTA0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2lu
ZyBiaW5kLCBhbiBpbmxpbmUgZXJyb3IgZnVuY3Rpb24gd2FzIGNyZWF0ZWQuCisKKyAgICAgICAg
VGVzdDogc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMv
c3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qczoKKyAgICAgICAgKGVycm9yKToKKyAgICAgICAgKGlu
aXRpYWxpemVXcml0YWJsZVN0cmVhbSk6CisKIDIwMTUtMTEtMTAgIFhhYmllciBSb2RyaWd1ZXog
Q2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU3RyZWFtcyBBUEldIEZp
eCBzdHlsZSBpc3N1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9Xcml0YWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0
YWJsZVN0cmVhbS5qcwppbmRleCAyMzkwNzhhLi42MDM4YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCkBAIC01Myw5ICs1MywxMSBA
QCBmdW5jdGlvbiBpbml0aWFsaXplV3JpdGFibGVTdHJlYW0odW5kZXJseWluZ1NpbmssIHN0cmF0
ZWd5KQogCiAgICAgQHN5bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0aFF1ZXVlKHRoaXMpOwogCi0g
ICAgY29uc3QgZXJyb3IgPSBAZXJyb3JXcml0YWJsZVN0cmVhbS5iaW5kKHRoaXMpOwotICAgIHRo
aXMuQHN0YXJ0ZWRQcm9taXNlID0gQFByb21pc2UuQHJlc29sdmUoQGludm9rZU9yTm9vcCh1bmRl
cmx5aW5nU2luaywgInN0YXJ0IiwgW2Vycm9yXSkpOwogICAgIGNvbnN0IF90aGlzID0gdGhpczsK
KyAgICBmdW5jdGlvbiBlcnJvcihlKSB7CisgICAgICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBj
YWxsKF90aGlzLCBlKTsKKyAgICB9OworICAgIHRoaXMuQHN0YXJ0ZWRQcm9taXNlID0gQFByb21p
c2UuQHJlc29sdmUoQGludm9rZU9yTm9vcCh1bmRlcmx5aW5nU2luaywgInN0YXJ0IiwgW2Vycm9y
XSkpOwogICAgIEBQcm9taXNlLnByb3RvdHlwZS5AdGhlbi5AY2FsbCh0aGlzLkBzdGFydGVkUHJv
bWlzZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgIF90aGlzLkBzdGFydGVkID0gdHJ1ZTsKICAgICAg
ICAgX3RoaXMuQHN0YXJ0ZWRQcm9taXNlID0gdW5kZWZpbmVkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265279</attachid>
            <date>2015-11-11 02:29:50 -0800</date>
            <delta_ts>2015-11-11 02:31:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151104-20151111112944.patch</filename>
            <type>text/plain</type>
            <size>12682</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc5Mjg4N2Y0MjFjM2Nk
MDBhOWUyYWZkZDQ2ZGViN2MyMWIwOWRlMC4uNjg5NTU2MjM4ZWFkMGE3NGRjODNkODM0N2IxMmMz
N2VmNDE2M2Y1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTExICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBTaGllbGQgYmluZCBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTExMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIGJpbmQsIGFuIGlubGluZSBlcnJv
ciBmdW5jdGlvbiB3YXMgY3JlYXRlZC4KKworICAgICAgICBUZXN0OiBzdHJlYW1zL3N0cmVhbXMt
c2VjdXJpdHkuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFt
LmpzOgorICAgICAgICAoZXJyb3IpOgorICAgICAgICAoaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFt
KToKKwogMjAxNS0xMS0xMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gRml4IHN0eWxlIGlzc3VlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCmluZGV4IDIz
OTA3OGE4YzJmMTNmYTY4ZTE2MmEwMmY2YjVhNjZiMTIxNjVkNWQuLjYwMzhhZjJhY2U1MDFiY2Ni
MGI5NzhkOGRmNGViYWRlMzg2YWZiMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKQEAgLTUzLDkgKzUzLDExIEBAIGZ1bmN0aW9uIGlu
aXRpYWxpemVXcml0YWJsZVN0cmVhbSh1bmRlcmx5aW5nU2luaywgc3RyYXRlZ3kpCiAKICAgICBA
c3luY1dyaXRhYmxlU3RyZWFtU3RhdGVXaXRoUXVldWUodGhpcyk7CiAKLSAgICBjb25zdCBlcnJv
ciA9IEBlcnJvcldyaXRhYmxlU3RyZWFtLmJpbmQodGhpcyk7Ci0gICAgdGhpcy5Ac3RhcnRlZFBy
b21pc2UgPSBAUHJvbWlzZS5AcmVzb2x2ZShAaW52b2tlT3JOb29wKHVuZGVybHlpbmdTaW5rLCAi
c3RhcnQiLCBbZXJyb3JdKSk7CiAgICAgY29uc3QgX3RoaXMgPSB0aGlzOworICAgIGZ1bmN0aW9u
IGVycm9yKGUpIHsKKyAgICAgICAgQGVycm9yV3JpdGFibGVTdHJlYW0uQGNhbGwoX3RoaXMsIGUp
OworICAgIH07CisgICAgdGhpcy5Ac3RhcnRlZFByb21pc2UgPSBAUHJvbWlzZS5AcmVzb2x2ZShA
aW52b2tlT3JOb29wKHVuZGVybHlpbmdTaW5rLCAic3RhcnQiLCBbZXJyb3JdKSk7CiAgICAgQFBy
b21pc2UucHJvdG90eXBlLkB0aGVuLkBjYWxsKHRoaXMuQHN0YXJ0ZWRQcm9taXNlLCBmdW5jdGlv
bigpIHsKICAgICAgICAgX3RoaXMuQHN0YXJ0ZWQgPSB0cnVlOwogICAgICAgICBfdGhpcy5Ac3Rh
cnRlZFByb21pc2UgPSB1bmRlZmluZWQ7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20vZ2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY2hlY2tvdXQvc2NtL2dpdC5weQppbmRleCA3YWJiOWFhYzAwYmU2ZjkxYjk1OTVkZTc0
OTdhNzYyZDEyZWIwMGYwLi40MjgyY2JiYmI0ZGIyODU1ZmI5M2IzZmU2Y2MyMTI5MWZjOWNjMDdi
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
Z2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9n
aXQucHkKQEAgLTIzMyw5ICsyMzMsOSBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToK
ICAgICAgICAgcmV0dXJuIHNlbGYuX2NoYW5nZXNfZmlsZXNfZm9yX2NvbW1pdChjb21taXRfaWQp
CiAKICAgICBkZWYgcmV2aXNpb25zX2NoYW5naW5nX2ZpbGUoc2VsZiwgcGF0aCwgbGltaXQ9NSk6
Ci0gICAgICAgICMgcmFpc2UgYSBzY3JpcHQgZXJyb3IgaWYgcGF0aCBkb2VzIG5vdCBleGlzdHMg
dG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mICB0aGUgc3ZuIGltcGxlbWVudGF0aW9uLgorICAgICAg
ICAjIHJhaXNlIGEgc2NyaXB0IGVycm9yIGlmIHBhdGggZG9lcyBub3QgZXhpc3RzIHRvIG1hdGNo
IHRoZSBiZWhhdmlvciBvZiB0aGUgc3ZuIGltcGxlbWVudGF0aW9uLgogICAgICAgICBpZiBub3Qg
c2VsZi5fZmlsZXN5c3RlbS5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICByYWlzZSBTY3JpcHRF
cnJvcihtZXNzYWdlPSJQYXRoICVzIGRvZXMgbm90IGV4aXN0LiIgJSBwYXRoKQorICAgICAgICAg
ICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iUGF0aCAlcyBmYW5lY2FzLiIgJSBwYXRoKQog
CiAgICAgICAgICMgZ2l0IHJldi1saXN0IGhlYWQgLS1yZW1vdmUtZW1wdHkgLS1saW1pdD01IC0t
IHBhdGggd291bGQgYmUgZXF1aXZhbGVudC4KICAgICAgICAgY29tbWl0X2lkcyA9IHNlbGYuX3J1
bl9naXQoWyJsb2ciLCAiLS1yZW1vdmUtZW1wdHkiLCAiLS1wcmV0dHk9Zm9ybWF0OiVIIiwgIi0l
cyIgJSBsaW1pdCwgIi0tIiwgcGF0aF0pLnNwbGl0bGluZXMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUzNTQ5OWNlNDEz
YmNmY2EzOWY5NmVjOWM2ZWUyODk2NGU2YmZjNTUuLjcxNzQ3MzgxNjE1NzRkOWJiZDI3NjNiZGVm
ZTViYmY3N2U0ZWMxNzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0xMS0xMSAgWGFiaWVy
IFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtTdHJl
YW1zIEFQSV0gU2hpZWxkIGJpbmQgY2FsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBzdHJlYW1zL3N0cmVhbXMtc2VjdXJpdHkuaHRtbDogQWRkZWQg
dGVzdCB0byBlbnN1cmUgcmVwbGFjaW5nIGJpbmQgZG9lcyBub3QgZGlzcnVwdCBzdHJlYW1zLiBS
ZW5hbWVkIGZyb20KKyAgICAgICAgTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2Vz
Lmh0bWwuCisgICAgICAgICogc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5LWV4cGVjdGVkLnR4dDog
QWRkZWQgZXhwZWN0YXRpb25zLiBSZW5hbWVkIGZyb20KKyAgICAgICAgTGF5b3V0VGVzdHMvc3Ry
ZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4cGVjdGVkLnR4dC4KKwogMjAxNS0xMS0xMCAgWGFiaWVy
IFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTdHJl
YW1zIEFQSV0gU2hpZWxkIHByb21pc2VzIHdoZW4gcHJvdG90eXBlIGlzIHJlcGxhY2VkIGZyb20g
YSBwcm9taXNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJvbWlz
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXByb21pc2VzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ2MWU0YTgzYjk4OWZm
MmRmMDUwNDJlNjczYjZlNThlZjE0ZTUxNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtcHJvbWlzZXMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0KLVBBU1MgU3RyZWFtcyBh
bmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZSBjb25zdHJ1Y3RvciAKLVBBU1MgU3RyZWFtcyBh
bmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5yZXNvbHZlIAotUEFTUyBTdHJlYW1zIGFuZCBw
cm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlamVjdCAKLVBBU1MgU3RyZWFtcyBhbmQgcHJvbWlz
ZXM6IHJlcGxhY2UgcHJvdG90eXBlIG9mIGEgcHJvbWlzZSBvYmplY3QgCi1QQVNTIFN0cmVhbXMg
YW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0aG9kIGluIFByb21pc2UgcHJvdG90eXBlIAot
UEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBjYXRjaCBtZXRob2QgaW4gUHJvbWlz
ZSBwcm90b3R5cGUgCi1QQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0
aG9kIGluIHByb21pc2Ugb2JqZWN0IAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1z
L3N0cmVhbXMtcHJvbWlzZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9t
aXNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYWFjNDZhODYzNzYyYzYw
NDE2MzQ4ZjU5ZjI0MDM0MTlkMjNmNjczLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1wcm9taXNlcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0
IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PScuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgotPHNjcmlwdD4K
LXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgY29uc3QgUHJvbWlzZUJhY2t1cCA9IFByb21pc2U7Ci0K
LSAgICB0cnkgewotICAgICAgICBQcm9taXNlID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNo
ZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlIG9iamVjdCIpOyB9OwotCi0g
ICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSgpOwotICAgICAgICBuZXcgV3JpdGFibGVTdHJlYW0o
KTsKLSAgICB9IGZpbmFsbHkgewotICAgICAgICBQcm9taXNlID0gUHJvbWlzZUJhY2t1cDsKLSAg
ICB9Ci19LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZSBjb25zdHJ1Y3Rv
cicpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGNvbnN0IFByb21pc2VSZXNvbHZlQmFja3Vw
ID0gUHJvbWlzZS5yZXNvbHZlOwotCi0gICAgdHJ5IHsKLSAgICAgICAgUHJvbWlzZS5yZXNvbHZl
ID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2Ug
dGhpcyBQcm9taXNlLnJlc29sdmUgbWV0aG9kIik7IH07Ci0KLSAgICAgICAgbmV3IFJlYWRhYmxl
U3RyZWFtKCk7Ci0gICAgICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOwotICAgIH0gZmluYWxseSB7
Ci0gICAgICAgIFByb21pc2UucmVzb2x2ZSA9IFByb21pc2VSZXNvbHZlQmFja3VwOwotICAgIH0K
LX0sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlc29sdmUnKTsKLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgICBjb25zdCBQcm9taXNlUmVqZWN0QmFja3VwID0gUHJvbWlz
ZS5yZWplY3Q7Ci0KLSAgICB0cnkgewotICAgICAgICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9u
KCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlz
ZS5yZWplY3QgbWV0aG9kIik7IH07Ci0KLSAgICAgICAgUmVhZGFibGVTdHJlYW0ucHJvdG90eXBl
LmNhbmNlbC5jYWxsKHt9LCAicmVhc29uIik7Ci0gICAgICAgIFdyaXRhYmxlU3RyZWFtLnByb3Rv
dHlwZS5hYm9ydC5jYWxsKHt9LCAicmVhc29uIik7Ci0gICAgfSBmaW5hbGx5IHsKLSAgICAgICAg
UHJvbWlzZS5yZWplY3QgPSBQcm9taXNlUmVqZWN0QmFja3VwOwotICAgIH0KLX0sICdTdHJlYW1z
IGFuZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlamVjdCcpOwotCi10ZXN0KGZ1bmN0aW9u
KCkgewotICAgIGZ1bmN0aW9uIGNyZWF0ZU1hbmdsZWRQcm9taXNlKCkgewotICAgICAgICBjb25z
dCBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gICAgICAgIE9iamVjdC5zZXRQcm90b3R5
cGVPZihwcm9taXNlLCB7IGNvbnN0cnVjdG9yOiBQcm9taXNlLCB0aGVuOiBmdW5jdGlvbigpIHsg
YXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIHByb21pc2UgdGhl
biBtZXRob2QiKTsgfSB9KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2U7Ci0gICAgfQotICAgIG5l
dyBSZWFkYWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0ZU1hbmds
ZWRQcm9taXNlKCk7IH0gfSkKLSAgICBuZXcgV3JpdGFibGVTdHJlYW0oeyBzdGFydDogZnVuY3Rp
b24oKSB7IHJldHVybiBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCi19LCAnU3RyZWFtcyBh
bmQgcHJvbWlzZXM6IHJlcGxhY2UgcHJvdG90eXBlIG9mIGEgcHJvbWlzZSBvYmplY3QnKTsKLQot
dGVzdChmdW5jdGlvbigpIHsKLSAgICBjb25zdCBQcm9taXNlVGhlbkJhY2t1cCA9IFByb21pc2Uu
cHJvdG90eXBlLnRoZW47Ci0KLSAgICB0cnkgewotICAgICAgICBQcm9taXNlLnByb3RvdHlwZS50
aGVuID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1
c2UgdGhpcyBQcm9taXNlLnByb3RvdHlwZS50aGVuIG1ldGhvZCIpOyB9OwotCi0gICAgICAgIG5l
dyBSZWFkYWJsZVN0cmVhbSgpOwotICAgICAgICBuZXcgV3JpdGFibGVTdHJlYW0oKTsKLSAgICB9
IGZpbmFsbHkgewotICAgICAgICBQcm9taXNlLnByb3RvdHlwZS50aGVuID0gUHJvbWlzZVRoZW5C
YWNrdXA7Ci0gICAgfQotfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0
aG9kIGluIFByb21pc2UgcHJvdG90eXBlJyk7Ci0KLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgY29u
c3QgUHJvbWlzZUNhdGNoQmFja3VwID0gUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2g7Ci0KLSAgICB0
cnkgewotICAgICAgICBQcm9taXNlLnByb3RvdHlwZS5jYXRjaCA9IGZ1bmN0aW9uKCkgeyBhc3Nl
cnRfdW5yZWFjaGVkKCJzdHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgUHJvbWlzZS5wcm90b3R5
cGUuY2F0Y2ggbWV0aG9kIik7IH07Ci0KLSAgICAgICAgY29uc3QgcnMgPSBuZXcgUmVhZGFibGVT
dHJlYW0oKTsKLSAgICAgICAgcnMudGVlKCk7Ci0gICAgfSBmaW5hbGx5IHsKLSAgICAgICAgUHJv
bWlzZS5wcm90b3R5cGUuY2F0Y2ggPSBQcm9taXNlQ2F0Y2hCYWNrdXA7Ci0gICAgfQotfSwgJ1N0
cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIGNhdGNoIG1ldGhvZCBpbiBQcm9taXNlIHByb3Rv
dHlwZScpOwotCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIGNyZWF0ZU1hbmdsZWRQ
cm9taXNlKCkgewotICAgICAgICBjb25zdCBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7Ci0g
ICAgICAgIHByb21pc2UudGhlbiA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJl
YW1zIHNob3VsZCBub3QgdXNlIHRoaXMgcHJvbWlzZSB0aGVuIG1ldGhvZCIpOyB9OwotICAgICAg
ICByZXR1cm4gcHJvbWlzZTsKLSAgICB9Ci0gICAgbmV3IFJlYWRhYmxlU3RyZWFtKHsgc3RhcnQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsgfSB9KQotICAgIG5l
dyBXcml0YWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0ZU1hbmds
ZWRQcm9taXNlKCk7IH0gfSkKLX0sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSB0aGVu
IG1ldGhvZCBpbiBwcm9taXNlIG9iamVjdCcpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdHJlYW1zL3N0cmVhbXMtc2VjdXJpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODhj
OGFkZGI1MDE0YzgxYTg2ZjgzN2Q3NzBkMzk2MzA1Zjc0YTFlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACisKK1BBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZSBj
b25zdHJ1Y3RvciAKK1BBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgUHJvbWlzZS5y
ZXNvbHZlIAorUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlLnJlamVj
dCAKK1BBU1MgU3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgcHJvdG90eXBlIG9mIGEgcHJv
bWlzZSBvYmplY3QgCitQQVNTIFN0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0
aG9kIGluIFByb21pc2UgcHJvdG90eXBlIAorUEFTUyBTdHJlYW1zIGFuZCBwcm9taXNlczogcmVw
bGFjZSBjYXRjaCBtZXRob2QgaW4gUHJvbWlzZSBwcm90b3R5cGUgCitQQVNTIFN0cmVhbXMgYW5k
IHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0aG9kIGluIHByb21pc2Ugb2JqZWN0IAorUEFTUyBT
dHJlYW1zIGFuZCBGdW5jdGlvbjogcmVwbGFjZSBiaW5kIG1ldGhvZCBpbiBGdW5jdGlvbiBwcm90
b3R5cGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0
eS5odG1sIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9zdHJlYW1zLXNlY3VyaXR5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjRhNzI0NDAxYjdlYTJiODA4NjhmNzY1NWNjMWQxZjI3NDZhNDkxNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvc3RyZWFtcy1zZWN1cml0eS5odG1sCkBAIC0w
LDAgKzEsMTAxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPScuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsK
KyAgICBjb25zdCBQcm9taXNlQmFja3VwID0gUHJvbWlzZTsKKworICAgIHRyeSB7CisgICAgICAg
IFByb21pc2UgPSBmdW5jdGlvbigpIHsgYXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQg
bm90IHVzZSB0aGlzIFByb21pc2Ugb2JqZWN0Iik7IH07CisKKyAgICAgICAgbmV3IFJlYWRhYmxl
U3RyZWFtKCk7CisgICAgICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOworICAgIH0gZmluYWxseSB7
CisgICAgICAgIFByb21pc2UgPSBQcm9taXNlQmFja3VwOworICAgIH0KK30sICdTdHJlYW1zIGFu
ZCBwcm9taXNlczogcmVwbGFjZSBQcm9taXNlIGNvbnN0cnVjdG9yJyk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgY29uc3QgUHJvbWlzZVJlc29sdmVCYWNrdXAgPSBQcm9taXNlLnJlc29sdmU7
CisKKyAgICB0cnkgeworICAgICAgICBQcm9taXNlLnJlc29sdmUgPSBmdW5jdGlvbigpIHsgYXNz
ZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIFByb21pc2UucmVzb2x2
ZSBtZXRob2QiKTsgfTsKKworICAgICAgICBuZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICAgICAg
bmV3IFdyaXRhYmxlU3RyZWFtKCk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgUHJvbWlzZS5y
ZXNvbHZlID0gUHJvbWlzZVJlc29sdmVCYWNrdXA7CisgICAgfQorfSwgJ1N0cmVhbXMgYW5kIHBy
b21pc2VzOiByZXBsYWNlIFByb21pc2UucmVzb2x2ZScpOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGNvbnN0IFByb21pc2VSZWplY3RCYWNrdXAgPSBQcm9taXNlLnJlamVjdDsKKworICAgIHRy
eSB7CisgICAgICAgIFByb21pc2UucmVqZWN0ID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNo
ZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlLnJlamVjdCBtZXRob2QiKTsg
fTsKKworICAgICAgICBSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUuY2FuY2VsLmNhbGwoe30sICJy
ZWFzb24iKTsKKyAgICAgICAgV3JpdGFibGVTdHJlYW0ucHJvdG90eXBlLmFib3J0LmNhbGwoe30s
ICJyZWFzb24iKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBQcm9taXNlLnJlamVjdCA9IFBy
b21pc2VSZWplY3RCYWNrdXA7CisgICAgfQorfSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBs
YWNlIFByb21pc2UucmVqZWN0Jyk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24g
Y3JlYXRlTWFuZ2xlZFByb21pc2UoKSB7CisgICAgICAgIGNvbnN0IHByb21pc2UgPSBQcm9taXNl
LnJlc29sdmUoKTsKKyAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHByb21pc2UsIHsgY29u
c3RydWN0b3I6IFByb21pc2UsIHRoZW46IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJz
dHJlYW1zIHNob3VsZCBub3QgdXNlIHRoaXMgcHJvbWlzZSB0aGVuIG1ldGhvZCIpOyB9IH0pOwor
ICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICB9CisgICAgbmV3IFJlYWRhYmxlU3RyZWFtKHsg
c3RhcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsgfSB9KQor
ICAgIG5ldyBXcml0YWJsZVN0cmVhbSh7IHN0YXJ0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGNyZWF0
ZU1hbmdsZWRQcm9taXNlKCk7IH0gfSkKK30sICdTdHJlYW1zIGFuZCBwcm9taXNlczogcmVwbGFj
ZSBwcm90b3R5cGUgb2YgYSBwcm9taXNlIG9iamVjdCcpOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGNvbnN0IFByb21pc2VUaGVuQmFja3VwID0gUHJvbWlzZS5wcm90b3R5cGUudGhlbjsKKwor
ICAgIHRyeSB7CisgICAgICAgIFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbigpIHsg
YXNzZXJ0X3VucmVhY2hlZCgic3RyZWFtcyBzaG91bGQgbm90IHVzZSB0aGlzIFByb21pc2UucHJv
dG90eXBlLnRoZW4gbWV0aG9kIik7IH07CisKKyAgICAgICAgbmV3IFJlYWRhYmxlU3RyZWFtKCk7
CisgICAgICAgIG5ldyBXcml0YWJsZVN0cmVhbSgpOworICAgIH0gZmluYWxseSB7CisgICAgICAg
IFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBQcm9taXNlVGhlbkJhY2t1cDsKKyAgICB9Cit9LCAn
U3RyZWFtcyBhbmQgcHJvbWlzZXM6IHJlcGxhY2UgdGhlbiBtZXRob2QgaW4gUHJvbWlzZSBwcm90
b3R5cGUnKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBjb25zdCBQcm9taXNlQ2F0Y2hCYWNr
dXAgPSBQcm9taXNlLnByb3RvdHlwZS5jYXRjaDsKKworICAgIHRyeSB7CisgICAgICAgIFByb21p
c2UucHJvdG90eXBlLmNhdGNoID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVh
bXMgc2hvdWxkIG5vdCB1c2UgdGhpcyBQcm9taXNlLnByb3RvdHlwZS5jYXRjaCBtZXRob2QiKTsg
fTsKKworICAgICAgICBjb25zdCBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSgpOworICAgICAgICBy
cy50ZWUoKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBQcm9taXNlLnByb3RvdHlwZS5jYXRj
aCA9IFByb21pc2VDYXRjaEJhY2t1cDsKKyAgICB9Cit9LCAnU3RyZWFtcyBhbmQgcHJvbWlzZXM6
IHJlcGxhY2UgY2F0Y2ggbWV0aG9kIGluIFByb21pc2UgcHJvdG90eXBlJyk7CisKK3Rlc3QoZnVu
Y3Rpb24oKSB7CisgICAgZnVuY3Rpb24gY3JlYXRlTWFuZ2xlZFByb21pc2UoKSB7CisgICAgICAg
IGNvbnN0IHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgcHJvbWlzZS50aGVu
ID0gZnVuY3Rpb24oKSB7IGFzc2VydF91bnJlYWNoZWQoInN0cmVhbXMgc2hvdWxkIG5vdCB1c2Ug
dGhpcyBwcm9taXNlIHRoZW4gbWV0aG9kIik7IH07CisgICAgICAgIHJldHVybiBwcm9taXNlOwor
ICAgIH0KKyAgICBuZXcgUmVhZGFibGVTdHJlYW0oeyBzdGFydDogZnVuY3Rpb24oKSB7IHJldHVy
biBjcmVhdGVNYW5nbGVkUHJvbWlzZSgpOyB9IH0pCisgICAgbmV3IFdyaXRhYmxlU3RyZWFtKHsg
c3RhcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY3JlYXRlTWFuZ2xlZFByb21pc2UoKTsgfSB9KQor
fSwgJ1N0cmVhbXMgYW5kIHByb21pc2VzOiByZXBsYWNlIHRoZW4gbWV0aG9kIGluIHByb21pc2Ug
b2JqZWN0Jyk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgY29uc3QgRnVuY3Rpb25CaW5kQmFj
a3VwID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7CisKKyAgICB0cnkgeworICAgICAgICBGdW5j
dGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKCkgeyBhc3NlcnRfdW5yZWFjaGVkKCJzdHJl
YW1zIHNob3VsZCBub3QgdXNlIHRoaXMgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbWV0aG9kIik7
IH07CisKKyAgICAgICAgbmV3IFdyaXRhYmxlU3RyZWFtKCk7CisgICAgfSBmaW5hbGx5IHsKKyAg
ICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBGdW5jdGlvbkJpbmRCYWNrdXA7CisgICAg
fQorfSwgJ1N0cmVhbXMgYW5kIEZ1bmN0aW9uOiByZXBsYWNlIGJpbmQgbWV0aG9kIGluIEZ1bmN0
aW9uIHByb3RvdHlwZScpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265281</attachid>
            <date>2015-11-11 04:30:25 -0800</date>
            <delta_ts>2015-11-11 05:25:30 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-151104-20151111133020.patch</filename>
            <type>text/plain</type>
            <size>1733</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc5Mjg4N2Y0MjFjM2Nk
MDBhOWUyYWZkZDQ2ZGViN2MyMWIwOWRlMC4uNzYzOTAzODgzMmY2ZThhYjEwNGYwNzQ4MzhlMjM4
ZWY4NWY3YTU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTExICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1N0
cmVhbXMgQVBJXSBSZW1vdmUgYmluZCB1c2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5u
IEZhYmxldC4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIGJpbmQsIGFuIGlubGluZSBlcnJv
ciBmdW5jdGlvbiB3YXMgY3JlYXRlZC4KKworICAgICAgICBJbnRlcm5hbCByZXdvcmssIG5vIHRl
c3RzIG5lZWRlZC4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5q
czoKKyAgICAgICAgKGVycm9yKToKKyAgICAgICAgKGluaXRpYWxpemVXcml0YWJsZVN0cmVhbSk6
CisKIDIwMTUtMTEtMTAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbU3RyZWFtcyBBUEldIEZpeCBzdHlsZSBpc3N1ZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5qcwppbmRleCAyMzkw
NzhhOGMyZjEzZmE2OGUxNjJhMDJmNmI1YTY2YjEyMTY1ZDVkLi42MDM4YWYyYWNlNTAxYmNjYjBi
OTc4ZDhkZjRlYmFkZTM4NmFmYjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1dyaXRhYmxlU3RyZWFtLmpzCkBAIC01Myw5ICs1MywxMSBAQCBmdW5jdGlvbiBpbml0
aWFsaXplV3JpdGFibGVTdHJlYW0odW5kZXJseWluZ1NpbmssIHN0cmF0ZWd5KQogCiAgICAgQHN5
bmNXcml0YWJsZVN0cmVhbVN0YXRlV2l0aFF1ZXVlKHRoaXMpOwogCi0gICAgY29uc3QgZXJyb3Ig
PSBAZXJyb3JXcml0YWJsZVN0cmVhbS5iaW5kKHRoaXMpOwotICAgIHRoaXMuQHN0YXJ0ZWRQcm9t
aXNlID0gQFByb21pc2UuQHJlc29sdmUoQGludm9rZU9yTm9vcCh1bmRlcmx5aW5nU2luaywgInN0
YXJ0IiwgW2Vycm9yXSkpOwogICAgIGNvbnN0IF90aGlzID0gdGhpczsKKyAgICBmdW5jdGlvbiBl
cnJvcihlKSB7CisgICAgICAgIEBlcnJvcldyaXRhYmxlU3RyZWFtLkBjYWxsKF90aGlzLCBlKTsK
KyAgICB9OworICAgIHRoaXMuQHN0YXJ0ZWRQcm9taXNlID0gQFByb21pc2UuQHJlc29sdmUoQGlu
dm9rZU9yTm9vcCh1bmRlcmx5aW5nU2luaywgInN0YXJ0IiwgW2Vycm9yXSkpOwogICAgIEBQcm9t
aXNlLnByb3RvdHlwZS5AdGhlbi5AY2FsbCh0aGlzLkBzdGFydGVkUHJvbWlzZSwgZnVuY3Rpb24o
KSB7CiAgICAgICAgIF90aGlzLkBzdGFydGVkID0gdHJ1ZTsKICAgICAgICAgX3RoaXMuQHN0YXJ0
ZWRQcm9taXNlID0gdW5kZWZpbmVkOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>