<?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>146312</bug_id>
          
          <creation_ts>2015-06-25 05:24:34 -0700</creation_ts>
          <short_desc>[Streams API] Add support for chunks with customized sizes</short_desc>
          <delta_ts>2015-06-28 05:40:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>146311</dependson>
          <blocked>138967</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1104633</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-25 05:24:34 -0700</bug_when>
    <thetext>Implement step 5 of https://streams.spec.whatwg.org/#enqueue-in-readable-stream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104640</commentid>
    <comment_count>1</comment_count>
      <attachid>255549</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-25 06:22:27 -0700</bug_when>
    <thetext>Created attachment 255549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104643</commentid>
    <comment_count>2</comment_count>
      <attachid>255551</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-25 06:40:03 -0700</bug_when>
    <thetext>Created attachment 255551
style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105217</commentid>
    <comment_count>3</comment_count>
      <attachid>255551</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-27 15:27:59 -0700</bug_when>
    <thetext>Comment on attachment 255551
style fix

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

&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:339
&gt; +    if (state.hadException()) {
&gt; +        storeError(state, state.exception()-&gt;value());
&gt; +        return;
&gt; +    }

If we are turning the exception into a stored error, then I assume we don’t want to also leave it in the execution state. Do we have a test covering this?

Seems like this should be doing clearException(). Or we should add a takeException() function that combines fetching the exception with clearing it.

&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:358
&gt; +    JSValue sizeValue = callFunction(state, m_sizeFunction.get(), jsUndefined(), arguments);
&gt; +
&gt; +    if (state.hadException())
&gt; +        return 0;

I’d leave out these blank lines.

&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:363
&gt; +    double size = sizeValue.toNumber(&amp;state);
&gt; +
&gt; +    if (state.hadException())
&gt; +        return 0;

Ditto.

&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:365
&gt; +    if (std::isnan(size) || std::isinf(size)) {

if (!std::isfinite(size)) {

&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:366
&gt; +        throwVMError(&amp;state, createRangeError(&amp;state, ASCIILiteral(&quot;Incorrect double value.&quot;)));

I’m not a big fan of these ad hoc error messages. Why in this case do we use the words “Incorrect double value” with a period? We need to share more code so that each bit of JavaScript binding like this doesn’t end up doing things differently than other bindings performing the same operation.

&gt; Source/WebCore/bindings/js/ReadableJSStream.h:82
&gt; +    double chunkSize(JSC::ExecState&amp;, JSC::JSValue);

Because there are side effects, we might want a verb in the name of this function. It’s not just a simple getter because it calls the size function and possibly runs code in the process of converting the value to a number as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105262</commentid>
    <comment_count>4</comment_count>
      <attachid>255551</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-28 04:39:56 -0700</bug_when>
    <thetext>Comment on attachment 255551
style fix

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

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:339
&gt;&gt; +    }
&gt; 
&gt; If we are turning the exception into a stored error, then I assume we don’t want to also leave it in the execution state. Do we have a test covering this?
&gt; 
&gt; Seems like this should be doing clearException(). Or we should add a takeException() function that combines fetching the exception with clearing it.

Test coverage is found in LayoutTests/streams/reference-implementation/bad-strategies.html (e.g. &quot;Readable stream: throwing strategy.size method&quot;).
If enqueue is throwing within a start call and start JS callback does not catch it, the constructor will throw. This sounds good.
If enqueue is throwing within a further pull and pull JS callback does not catch it, this will trigger corresponding promise rejection (like read() for instance).

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:358
&gt;&gt; +        return 0;
&gt; 
&gt; I’d leave out these blank lines.

OK

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:363
&gt;&gt; +        return 0;
&gt; 
&gt; Ditto.

OK

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:365
&gt;&gt; +    if (std::isnan(size) || std::isinf(size)) {
&gt; 
&gt; if (!std::isfinite(size)) {

OK

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.cpp:366
&gt;&gt; +        throwVMError(&amp;state, createRangeError(&amp;state, ASCIILiteral(&quot;Incorrect double value.&quot;)));
&gt; 
&gt; I’m not a big fan of these ad hoc error messages. Why in this case do we use the words “Incorrect double value” with a period? We need to share more code so that each bit of JavaScript binding like this doesn’t end up doing things differently than other bindings performing the same operation.

Will remove the &quot;.&quot;.
As part of refactoring, I will remove enqueue custom binding once we can use a direct &quot;any-&gt;JSC::JSValue&quot; binding rule.
At that time, this exception will be transmitted to binding level using an ExceptionCode.

&gt;&gt; Source/WebCore/bindings/js/ReadableJSStream.h:82
&gt;&gt; +    double chunkSize(JSC::ExecState&amp;, JSC::JSValue);
&gt; 
&gt; Because there are side effects, we might want a verb in the name of this function. It’s not just a simple getter because it calls the size function and possibly runs code in the process of converting the value to a number as well.

Let&apos;s rename it to retrieveChunkSize then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105263</commentid>
    <comment_count>5</comment_count>
      <attachid>255722</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-06-28 04:47:03 -0700</bug_when>
    <thetext>Created attachment 255722
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105266</commentid>
    <comment_count>6</comment_count>
      <attachid>255722</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-28 05:40:42 -0700</bug_when>
    <thetext>Comment on attachment 255722
Patch for landing

Clearing flags on attachment: 255722

Committed r186044: &lt;http://trac.webkit.org/changeset/186044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105267</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-28 05:40:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255549</attachid>
            <date>2015-06-25 06:22:27 -0700</date>
            <delta_ts>2015-06-25 06:36:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146312-20150625152139.patch</filename>
            <type>text/plain</type>
            <size>7185</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE5ZGY3MWQyM2ZhYzRh
MDNjMzM0M2Q3YTMyN2QzN2Q1ODMyODg2My4uNjczMzIxYjk5Nzk5OGJkMjdhZWE3MTI2MWIwODc5
NDc5ZmE1OWYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA2LTI2ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJ
XSBBZGQgc3VwcG9ydCBmb3IgY2h1bmtzIHdpdGggY3VzdG9taXplZCBzaXplcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MzEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSByZWJhc2Vk
IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZUpTU3RyZWFtOjpyZWFkKTogRGVjcmVtZW50IHRvdGFs
UXVldWVTaXplIHdpdGggdGhlIGNodW5rIHNwZWNpZmljIHNpemUuCisgICAgICAgIChXZWJDb3Jl
OjpSZWFkYWJsZUpTU3RyZWFtOjplbnF1ZXVlKTogQ2FsbHMgcmV0cmlldmVTaXplLCBlbnF1ZXVl
IGNodW5rIHdpdGggaXRzIHNpemUgYW5kIGluY3JlbWVudCB0b3RhbFF1ZXVlU2l6ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlYWRhYmxlSlNTdHJlYW06OnJldHJpZXZlU2l6ZSk6IENhbGxzIHNpemUg
SlMgY2FsbGJhY2sgYW5kIGNvbnZlcnQgaXQgdG8gZG91YmxlLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1JlYWRhYmxlSlNTdHJlYW0uaDoKKwogMjAxNS0wNi0yNSAgWGFiaWVyIFJvZHJpZ3VleiBD
YWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5m
YWJsZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gSW1wbGVtZW50IFJl
YWRhYmxlU3RyZWFtQ29udHJvbGxlci5kZXNpcmVkU2l6ZSBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcAppbmRleCA5YTJmZDgxYzMw
OTk0YTM2OWEyNWZlZTVkOGViOTQxODRlMzkyNDIzLi5kMzgxOGNhYjUyZThiOWUyYjU2NTE5NTQ2
MTZiN2UzNGI2ZTFmZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZUpTU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFk
YWJsZUpTU3RyZWFtLmNwcApAQCAtMzEzLDI3ICszMTMsNjMgQEAgSlNWYWx1ZSBSZWFkYWJsZUpT
U3RyZWFtOjpyZWFkKCkKIHsKICAgICBBU1NFUlQoaGFzVmFsdWUoKSk7CiAKLSAgICByZXR1cm4g
bV9jaHVua1F1ZXVlLnRha2VGaXJzdCgpLmdldCgpOworICAgIENodW5rIGNodW5rID0gbV9jaHVu
a1F1ZXVlLnRha2VGaXJzdCgpOworICAgIG1fdG90YWxRdWV1ZVNpemUgLT0gY2h1bmsuc2l6ZTsK
KworICAgIHJldHVybiBjaHVuay52YWx1ZS5nZXQoKTsKIH0KIAotdm9pZCBSZWFkYWJsZUpTU3Ry
ZWFtOjplbnF1ZXVlKEV4ZWNTdGF0ZSYgZXhlYykKK3ZvaWQgUmVhZGFibGVKU1N0cmVhbTo6ZW5x
dWV1ZShFeGVjU3RhdGUmIHN0YXRlKQogewogICAgIEFTU0VSVCghaXNDbG9zZVJlcXVlc3RlZCgp
KTsKIAogICAgIGlmICghaXNSZWFkYWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBKU1Zh
bHVlIGNodW5rID0gZXhlYy5hcmd1bWVudENvdW50KCkgPyBleGVjLmFyZ3VtZW50KDApIDoganNV
bmRlZmluZWQoKTsKKyAgICBKU1ZhbHVlIGNodW5rID0gc3RhdGUuYXJndW1lbnRDb3VudCgpID8g
c3RhdGUuYXJndW1lbnQoMCkgOiBqc1VuZGVmaW5lZCgpOwogICAgIGlmIChyZXNvbHZlUmVhZENh
bGxiYWNrKGNodW5rKSkgewogICAgICAgICBwdWxsKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBtX2NodW5rUXVldWUuYXBwZW5kKEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4oZXhl
Yy52bSgpLCBjaHVuaykpOwotICAgIC8vIEZJWE1FOiBDb21wdXRlIGNodW5rIHNpemUuCisgICAg
ZG91YmxlIHNpemUgPSBjaHVua1NpemUoc3RhdGUsIGNodW5rKTsKKyAgICBpZiAoc3RhdGUuaGFk
RXhjZXB0aW9uKCkpIHsKKyAgICAgICAgc3RvcmVFcnJvcihzdGF0ZSwgc3RhdGUuZXhjZXB0aW9u
KCktPnZhbHVlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jaHVua1F1ZXVl
LmFwcGVuZCh7IEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4oc3RhdGUudm0oKSwgY2h1bmspLCBz
aXplIH0pOworICAgIG1fdG90YWxRdWV1ZVNpemUgKz0gc2l6ZTsKKwogICAgIHB1bGwoKTsKIH0K
IAorZG91YmxlIFJlYWRhYmxlSlNTdHJlYW06OmNodW5rU2l6ZShFeGVjU3RhdGUmIHN0YXRlLCBK
U1ZhbHVlIGNodW5rKQoreworICAgIGlmICghbV9zaXplRnVuY3Rpb24pCisgICAgICAgIHJldHVy
biAxOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJndW1lbnRzOworICAgIGFyZ3VtZW50
cy5hcHBlbmQoY2h1bmspOworCisgICAgSlNWYWx1ZSBzaXplVmFsdWUgPSBjYWxsRnVuY3Rpb24o
c3RhdGUsIG1fc2l6ZUZ1bmN0aW9uLmdldCgpLCBqc1VuZGVmaW5lZCgpLCBhcmd1bWVudHMpOwor
CisgICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IGRvdWJsZSBzaXplID0gc2l6ZVZhbHVlLnRvTnVtYmVyKCZzdGF0ZSk7CisKKyAgICBpZiAoc3Rh
dGUuaGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKHN0ZDo6aXNu
YW4oc2l6ZSkgfHwgc3RkOjppc2luZihzaXplKSkgeworICAgICAgICB0aHJvd1ZNRXJyb3IoJnN0
YXRlLCBjcmVhdGVSYW5nZUVycm9yKCZzdGF0ZSwgQVNDSUlMaXRlcmFsKCJJbmNvcnJlY3QgZG91
YmxlIHZhbHVlLiIpKSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBz
aXplOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5oCmluZGV4IGQ0ZTY1YjllYmIwYjRj
YTVkMTU2MjA0ZGE3MWY4Yjk4OWQ0ZWUzNDUuLjNkZTQyNWVhODg1Y2ZiNmMxZTllYjQzMWYwYzcw
YjA5MDcwNDIwN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRh
YmxlSlNTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpT
U3RyZWFtLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbnF1ZXVlKEpT
Qzo6RXhlY1N0YXRlJik7CiAKLSAgICBkb3VibGUgZGVzaXJlZFNpemUoKSBjb25zdCB7IHJldHVy
biBtX2hpZ2hXYXRlck1hcmsgLSBtX2NodW5rUXVldWUuc2l6ZSgpOyB9CisgICAgZG91YmxlIGRl
c2lyZWRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9oaWdoV2F0ZXJNYXJrIC0gbV90b3RhbFF1ZXVl
U2l6ZTsgfQogCiBwcml2YXRlOgogICAgIFJlYWRhYmxlSlNTdHJlYW0oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU09iamVjdCosIGRvdWJsZSwgSlNDOjpK
U0Z1bmN0aW9uKik7CkBAIC03OSwxMiArNzksMjEgQEAgcHJpdmF0ZToKIAogICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKTsKIAorICAgIGRvdWJsZSBjaHVua1NpemUoSlNDOjpF
eGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlYWRhYmxl
U3RyZWFtQ29udHJvbGxlcj4gbV9jb250cm9sbGVyOwogICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQg
Y29uc2lkZXIgbm90IHVzaW5nIEpTQzo6U3Ryb25nLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NjI3OAogICAgIEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4g
bV9lcnJvcjsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTRnVuY3Rpb24+IG1fZXJyb3JGdW5jdGlv
bjsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX3NvdXJjZTsKLSAgICBEZXF1ZTxK
U0M6OlN0cm9uZzxKU0M6OlVua25vd24+PiBtX2NodW5rUXVldWU7CisKKyAgICBzdHJ1Y3QgQ2h1
bmsgeworICAgICAgICBKU0M6OlN0cm9uZzxKU0M6OlVua25vd24+IHZhbHVlOworICAgICAgICBk
b3VibGUgc2l6ZTsKKyAgICB9OworICAgIERlcXVlPENodW5rPiBtX2NodW5rUXVldWU7CisKKyAg
ICBkb3VibGUgbV90b3RhbFF1ZXVlU2l6ZSB7IDAgfTsKICAgICBkb3VibGUgbV9oaWdoV2F0ZXJN
YXJrOwogICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNGdW5jdGlvbj4gbV9zaXplRnVuY3Rpb247CiB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGYyNDY3OWQzOWVhNDI0Yjk1MjU5NzkxZjc0YzdjNTgzZWNkYjFiZWQuLjZjM2Ex
OWNmY2ZjYTY2NDAzMzNkNmVhMWVmMmQ3YjNiYWRjNGM3MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxNS0wNi0yNiAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEu
Y29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisg
ICAgICAgIFtTdHJlYW1zIEFQSV0gQWRkIHN1cHBvcnQgZm9yIGNodW5rcyB3aXRoIGN1c3RvbWl6
ZWQgc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NjMxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vYmFkLXN0cmF0ZWdpZXMtZXhwZWN0
ZWQudHh0OgorCiAyMDE1LTA2LTI1ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24u
ZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBJbXBsZW1lbnQgUmVhZGFibGVTdHJlYW1Db250
cm9sbGVyLmRlc2lyZWRTaXplIHByb3BlcnR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJl
YW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9iYWQtc3RyYXRlZ2llcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9iYWQtc3RyYXRl
Z2llcy1leHBlY3RlZC50eHQKaW5kZXggZDI4ODBhNDkxMDhiNjk3NjUzYjk1MDFkZDk3YzgyZmU3
YWI3OTM5YS4uYzg2ZDM4NGE0YjYxYmEwMjJmOTE0N2Q4YzUwZjM1YjNmYWFiOWI3NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vYmFkLXN0
cmF0ZWdpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNl
LWltcGxlbWVudGF0aW9uL2JhZC1zdHJhdGVnaWVzLWV4cGVjdGVkLnR4dApAQCAtMSwyMiArMSwx
MCBAQAogCiBQQVNTIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuc2l6ZSBnZXR0
ZXIgCi1GQUlMIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuc2l6ZSBtZXRob2Qg
YXNzZXJ0X3Rocm93czogZW5xdWV1ZSBzaG91bGQgdGhyb3cgdGhlIGVycm9yIGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IGMuZW5xdWV1ZSgnYScpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIFJlYWRh
YmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuc2l6ZSBtZXRob2QgCiBQQVNTIFJlYWRhYmxl
IHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuaGlnaFdhdGVyTWFyayBnZXR0ZXIgCiBQQVNTIFJl
YWRhYmxlIHN0cmVhbTogaW52YWxpZCBzdHJhdGVneS5oaWdoV2F0ZXJNYXJrIAogUEFTUyBSZWFk
YWJsZSBzdHJlYW06IG5lZ2F0aXZlIHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmsgCi1GQUlMIFJlYWRh
YmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1cm5pbmcgTmFOIGFzc2VydF9lcXVhbHM6IGVu
cXVldWUgc2hvdWxkIHRocm93IGEgUmFuZ2VFcnJvciBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gUmFuZ2VFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IiBidXQgZ290IGZ1bmN0aW9u
ICJmdW5jdGlvbiBBc3NlcnRpb25FcnJvcihtZXNzYWdlKQotICAgIHsKLSAgICAgICAgdGhpcy5t
ZXNzYS4uLiIKLUZBSUwgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXplIHJldHVybmluZyAt
SW5maW5pdHkgYXNzZXJ0X2VxdWFsczogZW5xdWV1ZSBzaG91bGQgdGhyb3cgYSBSYW5nZUVycm9y
IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgewotICAgIFtuYXRpdmUg
Y29kZV0KLX0iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEFzc2VydGlvbkVycm9yKG1lc3Nh
Z2UpCi0gICAgewotICAgICAgICB0aGlzLm1lc3NhLi4uIgotRkFJTCBSZWFkYWJsZSBzdHJlYW06
IHN0cmF0ZWd5LnNpemUgcmV0dXJuaW5nICtJbmZpbml0eSBhc3NlcnRfZXF1YWxzOiBlbnF1ZXVl
IHNob3VsZCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIFJh
bmdlRXJyb3IoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVu
Y3Rpb24gQXNzZXJ0aW9uRXJyb3IobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIHRoaXMubWVzc2Eu
Li4iCitQQVNTIFJlYWRhYmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1cm5pbmcgTmFOIAor
UEFTUyBSZWFkYWJsZSBzdHJlYW06IHN0cmF0ZWd5LnNpemUgcmV0dXJuaW5nIC1JbmZpbml0eSAK
K1BBU1MgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXplIHJldHVybmluZyArSW5maW5pdHkg
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255551</attachid>
            <date>2015-06-25 06:40:03 -0700</date>
            <delta_ts>2015-06-28 04:46:56 -0700</delta_ts>
            <desc>style fix</desc>
            <filename>bug-146312-20150625153916.patch</filename>
            <type>text/plain</type>
            <size>7145</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE5ZGY3MWQyM2ZhYzRh
MDNjMzM0M2Q3YTMyN2QzN2Q1ODMyODg2My4uNjczMzIxYjk5Nzk5OGJkMjdhZWE3MTI2MWIwODc5
NDc5ZmE1OWYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA2LTI2ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJ
XSBBZGQgc3VwcG9ydCBmb3IgY2h1bmtzIHdpdGggY3VzdG9taXplZCBzaXplcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MzEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSByZWJhc2Vk
IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZUpTU3RyZWFtOjpyZWFkKTogRGVjcmVtZW50IHRvdGFs
UXVldWVTaXplIHdpdGggdGhlIGNodW5rIHNwZWNpZmljIHNpemUuCisgICAgICAgIChXZWJDb3Jl
OjpSZWFkYWJsZUpTU3RyZWFtOjplbnF1ZXVlKTogQ2FsbHMgcmV0cmlldmVTaXplLCBlbnF1ZXVl
IGNodW5rIHdpdGggaXRzIHNpemUgYW5kIGluY3JlbWVudCB0b3RhbFF1ZXVlU2l6ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlYWRhYmxlSlNTdHJlYW06OnJldHJpZXZlU2l6ZSk6IENhbGxzIHNpemUg
SlMgY2FsbGJhY2sgYW5kIGNvbnZlcnQgaXQgdG8gZG91YmxlLgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1JlYWRhYmxlSlNTdHJlYW0uaDoKKwogMjAxNS0wNi0yNSAgWGFiaWVyIFJvZHJpZ3VleiBD
YWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5m
YWJsZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gSW1wbGVtZW50IFJl
YWRhYmxlU3RyZWFtQ29udHJvbGxlci5kZXNpcmVkU2l6ZSBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcAppbmRleCA5YTJmZDgxYzMw
OTk0YTM2OWEyNWZlZTVkOGViOTQxODRlMzkyNDIzLi5mMDg0OGM3MTZkMGExMmJmZTAxNjQ4OTBi
NmJjZmRjNmI5OTMyYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZUpTU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFk
YWJsZUpTU3RyZWFtLmNwcApAQCAtMzEzLDI3ICszMTMsNjMgQEAgSlNWYWx1ZSBSZWFkYWJsZUpT
U3RyZWFtOjpyZWFkKCkKIHsKICAgICBBU1NFUlQoaGFzVmFsdWUoKSk7CiAKLSAgICByZXR1cm4g
bV9jaHVua1F1ZXVlLnRha2VGaXJzdCgpLmdldCgpOworICAgIENodW5rIGNodW5rID0gbV9jaHVu
a1F1ZXVlLnRha2VGaXJzdCgpOworICAgIG1fdG90YWxRdWV1ZVNpemUgLT0gY2h1bmsuc2l6ZTsK
KworICAgIHJldHVybiBjaHVuay52YWx1ZS5nZXQoKTsKIH0KIAotdm9pZCBSZWFkYWJsZUpTU3Ry
ZWFtOjplbnF1ZXVlKEV4ZWNTdGF0ZSYgZXhlYykKK3ZvaWQgUmVhZGFibGVKU1N0cmVhbTo6ZW5x
dWV1ZShFeGVjU3RhdGUmIHN0YXRlKQogewogICAgIEFTU0VSVCghaXNDbG9zZVJlcXVlc3RlZCgp
KTsKIAogICAgIGlmICghaXNSZWFkYWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBKU1Zh
bHVlIGNodW5rID0gZXhlYy5hcmd1bWVudENvdW50KCkgPyBleGVjLmFyZ3VtZW50KDApIDoganNV
bmRlZmluZWQoKTsKKyAgICBKU1ZhbHVlIGNodW5rID0gc3RhdGUuYXJndW1lbnQoMCk7CiAgICAg
aWYgKHJlc29sdmVSZWFkQ2FsbGJhY2soY2h1bmspKSB7CiAgICAgICAgIHB1bGwoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fY2h1bmtRdWV1ZS5hcHBlbmQoSlNDOjpTdHJvbmc8
SlNDOjpVbmtub3duPihleGVjLnZtKCksIGNodW5rKSk7Ci0gICAgLy8gRklYTUU6IENvbXB1dGUg
Y2h1bmsgc2l6ZS4KKyAgICBkb3VibGUgc2l6ZSA9IGNodW5rU2l6ZShzdGF0ZSwgY2h1bmspOwor
ICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkgeworICAgICAgICBzdG9yZUVycm9yKHN0YXRl
LCBzdGF0ZS5leGNlcHRpb24oKS0+dmFsdWUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBtX2NodW5rUXVldWUuYXBwZW5kKHsgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPihzdGF0
ZS52bSgpLCBjaHVuayksIHNpemUgfSk7CisgICAgbV90b3RhbFF1ZXVlU2l6ZSArPSBzaXplOwor
CiAgICAgcHVsbCgpOwogfQogCitkb3VibGUgUmVhZGFibGVKU1N0cmVhbTo6Y2h1bmtTaXplKEV4
ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgY2h1bmspCit7CisgICAgaWYgKCFtX3NpemVGdW5jdGlv
bikKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmd1bWVu
dHM7CisgICAgYXJndW1lbnRzLmFwcGVuZChjaHVuayk7CisKKyAgICBKU1ZhbHVlIHNpemVWYWx1
ZSA9IGNhbGxGdW5jdGlvbihzdGF0ZSwgbV9zaXplRnVuY3Rpb24uZ2V0KCksIGpzVW5kZWZpbmVk
KCksIGFyZ3VtZW50cyk7CisKKyAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiAwOworCisgICAgZG91YmxlIHNpemUgPSBzaXplVmFsdWUudG9OdW1iZXIoJnN0YXRl
KTsKKworICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICBpZiAoc3RkOjppc25hbihzaXplKSB8fCBzdGQ6OmlzaW5mKHNpemUpKSB7CisgICAgICAg
IHRocm93Vk1FcnJvcigmc3RhdGUsIGNyZWF0ZVJhbmdlRXJyb3IoJnN0YXRlLCBBU0NJSUxpdGVy
YWwoIkluY29ycmVjdCBkb3VibGUgdmFsdWUuIikpKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIHNpemU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3Ry
ZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmgKaW5k
ZXggZDRlNjViOWViYjBiNGNhNWQxNTYyMDRkYTcxZjhiOTg5ZDRlZTM0NS4uM2RlNDI1ZWE4ODVj
ZmI2YzFlOWViNDMxZjBjNzBiMDkwNzA0MjA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVucXVldWUoSlNDOjpFeGVjU3RhdGUmKTsKIAotICAgIGRvdWJsZSBkZXNpcmVkU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGlnaFdhdGVyTWFyayAtIG1fY2h1bmtRdWV1ZS5zaXplKCk7
IH0KKyAgICBkb3VibGUgZGVzaXJlZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2hpZ2hXYXRlck1h
cmsgLSBtX3RvdGFsUXVldWVTaXplOyB9CiAKIHByaXZhdGU6CiAgICAgUmVhZGFibGVKU1N0cmVh
bShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTT2JqZWN0
KiwgZG91YmxlLCBKU0M6OkpTRnVuY3Rpb24qKTsKQEAgLTc5LDEyICs3OSwyMSBAQCBwcml2YXRl
OgogCiAgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpOwogCisgICAgZG91Ymxl
IGNodW5rU2l6ZShKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSk7CisKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UmVhZGFibGVTdHJlYW1Db250cm9sbGVyPiBtX2NvbnRyb2xsZXI7CiAgICAgLy8g
RklYTUU6IHdlIHNob3VsZCBjb25zaWRlciBub3QgdXNpbmcgSlNDOjpTdHJvbmcsIHNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2Mjc4CiAgICAgSlNDOjpTdHJv
bmc8SlNDOjpVbmtub3duPiBtX2Vycm9yOwogICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNGdW5jdGlv
bj4gbV9lcnJvckZ1bmN0aW9uOwogICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IG1fc291
cmNlOwotICAgIERlcXVlPEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4+IG1fY2h1bmtRdWV1ZTsK
KworICAgIHN0cnVjdCBDaHVuayB7CisgICAgICAgIEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4g
dmFsdWU7CisgICAgICAgIGRvdWJsZSBzaXplOworICAgIH07CisgICAgRGVxdWU8Q2h1bms+IG1f
Y2h1bmtRdWV1ZTsKKworICAgIGRvdWJsZSBtX3RvdGFsUXVldWVTaXplIHsgMCB9OwogICAgIGRv
dWJsZSBtX2hpZ2hXYXRlck1hcms7CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpKU0Z1bmN0aW9uPiBt
X3NpemVGdW5jdGlvbjsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjI0Njc5ZDM5ZWE0MjRiOTUyNTk3OTFmNzRjN2M1
ODNlY2RiMWJlZC4uNmMzYTE5Y2ZjZmNhNjY0MDMzM2Q2ZWExZWYyZDdiM2JhZGM0YzcxNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTA2LTI2ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAg
PGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBj
cmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBBZGQgc3VwcG9ydCBmb3IgY2h1
bmtzIHdpdGggY3VzdG9taXplZCBzaXplcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MzEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBzdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9iYWQt
c3RyYXRlZ2llcy1leHBlY3RlZC50eHQ6CisKIDIwMTUtMDYtMjUgIFhhYmllciBSb2RyaWd1ZXog
Q2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4u
ZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbU3RyZWFtcyBBUEldIEltcGxlbWVudCBS
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuZGVzaXJlZFNpemUgcHJvcGVydHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL2JhZC1zdHJhdGVn
aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVu
dGF0aW9uL2JhZC1zdHJhdGVnaWVzLWV4cGVjdGVkLnR4dAppbmRleCBkMjg4MGE0OTEwOGI2OTc2
NTNiOTUwMWRkOTdjODJmZTdhYjc5MzlhLi5jODZkMzg0YTRiNjFiYTAyMmY5MTQ3ZDhjNTBmMzVi
M2ZhYWI5Yjc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBs
ZW1lbnRhdGlvbi9iYWQtc3RyYXRlZ2llcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vYmFkLXN0cmF0ZWdpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDIyICsxLDEwIEBACiAKIFBBU1MgUmVhZGFibGUgc3RyZWFtOiB0aHJvd2luZyBz
dHJhdGVneS5zaXplIGdldHRlciAKLUZBSUwgUmVhZGFibGUgc3RyZWFtOiB0aHJvd2luZyBzdHJh
dGVneS5zaXplIG1ldGhvZCBhc3NlcnRfdGhyb3dzOiBlbnF1ZXVlIHNob3VsZCB0aHJvdyB0aGUg
ZXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgYy5lbnF1ZXVlKCdhJyk7IH0iIGRpZCBub3Qg
dGhyb3cKK1BBU1MgUmVhZGFibGUgc3RyZWFtOiB0aHJvd2luZyBzdHJhdGVneS5zaXplIG1ldGhv
ZCAKIFBBU1MgUmVhZGFibGUgc3RyZWFtOiB0aHJvd2luZyBzdHJhdGVneS5oaWdoV2F0ZXJNYXJr
IGdldHRlciAKIFBBU1MgUmVhZGFibGUgc3RyZWFtOiBpbnZhbGlkIHN0cmF0ZWd5LmhpZ2hXYXRl
ck1hcmsgCiBQQVNTIFJlYWRhYmxlIHN0cmVhbTogbmVnYXRpdmUgc3RyYXRlZ3kuaGlnaFdhdGVy
TWFyayAKLUZBSUwgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXplIHJldHVybmluZyBOYU4g
YXNzZXJ0X2VxdWFsczogZW5xdWV1ZSBzaG91bGQgdGhyb3cgYSBSYW5nZUVycm9yIGV4cGVjdGVk
IGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0i
IGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEFzc2VydGlvbkVycm9yKG1lc3NhZ2UpCi0gICAg
ewotICAgICAgICB0aGlzLm1lc3NhLi4uIgotRkFJTCBSZWFkYWJsZSBzdHJlYW06IHN0cmF0ZWd5
LnNpemUgcmV0dXJuaW5nIC1JbmZpbml0eSBhc3NlcnRfZXF1YWxzOiBlbnF1ZXVlIHNob3VsZCB0
aHJvdyBhIFJhbmdlRXJyb3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIFJhbmdlRXJyb3Io
KSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gQXNz
ZXJ0aW9uRXJyb3IobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIHRoaXMubWVzc2EuLi4iCi1GQUlM
IFJlYWRhYmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1cm5pbmcgK0luZmluaXR5IGFzc2Vy
dF9lcXVhbHM6IGVucXVldWUgc2hvdWxkIHRocm93IGEgUmFuZ2VFcnJvciBleHBlY3RlZCBmdW5j
dGlvbiAiZnVuY3Rpb24gUmFuZ2VFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IiBidXQg
Z290IGZ1bmN0aW9uICJmdW5jdGlvbiBBc3NlcnRpb25FcnJvcihtZXNzYWdlKQotICAgIHsKLSAg
ICAgICAgdGhpcy5tZXNzYS4uLiIKK1BBU1MgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXpl
IHJldHVybmluZyBOYU4gCitQQVNTIFJlYWRhYmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1
cm5pbmcgLUluZmluaXR5IAorUEFTUyBSZWFkYWJsZSBzdHJlYW06IHN0cmF0ZWd5LnNpemUgcmV0
dXJuaW5nICtJbmZpbml0eSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255722</attachid>
            <date>2015-06-28 04:47:03 -0700</date>
            <delta_ts>2015-06-28 05:40:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-146312-20150628134612.patch</filename>
            <type>text/plain</type>
            <size>7026</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI4YTc3ODVhNGNlZTg5
YmQ3M2ZlMzgyZjNjMjYzZTY2ZDlmM2IwZS4uNjJjOWZjYjViMjg4OTYwZDFhMDI2OGEwOWMwNDZi
ZjE2NDkwMzI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA2LTI4ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJ
XSBBZGQgc3VwcG9ydCBmb3IgY2h1bmtzIHdpdGggY3VzdG9taXplZCBzaXplcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MzEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ292ZXJlZCBieSByZWJhc2VkIHRl
c3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVKU1N0cmVhbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFkYWJsZUpTU3RyZWFtOjpyZWFkKTogRGVjcmVtZW50IHRvdGFsUXVl
dWVTaXplIHdpdGggdGhlIGNodW5rIHNwZWNpZmljIHNpemUuCisgICAgICAgIChXZWJDb3JlOjpS
ZWFkYWJsZUpTU3RyZWFtOjplbnF1ZXVlKTogQ2FsbHMgcmV0cmlldmVTaXplLCBlbnF1ZXVlIGNo
dW5rIHdpdGggaXRzIHNpemUgYW5kIGluY3JlbWVudCB0b3RhbFF1ZXVlU2l6ZS4KKyAgICAgICAg
KFdlYkNvcmU6OlJlYWRhYmxlSlNTdHJlYW06OnJldHJpZXZlQ2h1bmtTaXplKTogQ2FsbHMgc2l6
ZSBKUyBjYWxsYmFjayBhbmQgY29udmVydCBpdCB0byBkb3VibGUuCisgICAgICAgICogYmluZGlu
Z3MvanMvUmVhZGFibGVKU1N0cmVhbS5oOgorCiAyMDE1LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25DRjo6c3VwcG9ydHNUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJlYW0uY3BwCmluZGV4IDlhMmZkODFjMzA5OTRhMzY5YTI1
ZmVlNWQ4ZWI5NDE4NGUzOTI0MjMuLjZhZTA1MTk5ZWQwZDJhMGUyMGMyMDg5NmE3M2QxOGNmN2U5
ZjRkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlSlNT
dHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlSlNTdHJl
YW0uY3BwCkBAIC0zMTMsMjcgKzMxMyw2MSBAQCBKU1ZhbHVlIFJlYWRhYmxlSlNTdHJlYW06OnJl
YWQoKQogewogICAgIEFTU0VSVChoYXNWYWx1ZSgpKTsKIAotICAgIHJldHVybiBtX2NodW5rUXVl
dWUudGFrZUZpcnN0KCkuZ2V0KCk7CisgICAgQ2h1bmsgY2h1bmsgPSBtX2NodW5rUXVldWUudGFr
ZUZpcnN0KCk7CisgICAgbV90b3RhbFF1ZXVlU2l6ZSAtPSBjaHVuay5zaXplOworCisgICAgcmV0
dXJuIGNodW5rLnZhbHVlLmdldCgpOwogfQogCi12b2lkIFJlYWRhYmxlSlNTdHJlYW06OmVucXVl
dWUoRXhlY1N0YXRlJiBleGVjKQordm9pZCBSZWFkYWJsZUpTU3RyZWFtOjplbnF1ZXVlKEV4ZWNT
dGF0ZSYgc3RhdGUpCiB7CiAgICAgQVNTRVJUKCFpc0Nsb3NlUmVxdWVzdGVkKCkpOwogCiAgICAg
aWYgKCFpc1JlYWRhYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEpTVmFsdWUgY2h1bmsg
PSBleGVjLmFyZ3VtZW50Q291bnQoKSA/IGV4ZWMuYXJndW1lbnQoMCkgOiBqc1VuZGVmaW5lZCgp
OworICAgIEpTVmFsdWUgY2h1bmsgPSBzdGF0ZS5hcmd1bWVudCgwKTsKICAgICBpZiAocmVzb2x2
ZVJlYWRDYWxsYmFjayhjaHVuaykpIHsKICAgICAgICAgcHVsbCgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9jaHVua1F1ZXVlLmFwcGVuZChKU0M6OlN0cm9uZzxKU0M6OlVua25v
d24+KGV4ZWMudm0oKSwgY2h1bmspKTsKLSAgICAvLyBGSVhNRTogQ29tcHV0ZSBjaHVuayBzaXpl
LgorICAgIGRvdWJsZSBzaXplID0gcmV0cmlldmVDaHVua1NpemUoc3RhdGUsIGNodW5rKTsKKyAg
ICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgc3RvcmVFcnJvcihzdGF0ZSwg
c3RhdGUuZXhjZXB0aW9uKCktPnZhbHVlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgbV9jaHVua1F1ZXVlLmFwcGVuZCh7IEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4oc3RhdGUu
dm0oKSwgY2h1bmspLCBzaXplIH0pOworICAgIG1fdG90YWxRdWV1ZVNpemUgKz0gc2l6ZTsKKwog
ICAgIHB1bGwoKTsKIH0KIAorZG91YmxlIFJlYWRhYmxlSlNTdHJlYW06OnJldHJpZXZlQ2h1bmtT
aXplKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUgY2h1bmspCit7CisgICAgaWYgKCFtX3NpemVG
dW5jdGlvbikKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBh
cmd1bWVudHM7CisgICAgYXJndW1lbnRzLmFwcGVuZChjaHVuayk7CisKKyAgICBKU1ZhbHVlIHNp
emVWYWx1ZSA9IGNhbGxGdW5jdGlvbihzdGF0ZSwgbV9zaXplRnVuY3Rpb24uZ2V0KCksIGpzVW5k
ZWZpbmVkKCksIGFyZ3VtZW50cyk7CisgICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIGRvdWJsZSBzaXplID0gc2l6ZVZhbHVlLnRvTnVtYmVyKCZz
dGF0ZSk7CisgICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGlmICghc3RkOjppc2Zpbml0ZShzaXplKSkgeworICAgICAgICB0aHJvd1ZNRXJyb3Io
JnN0YXRlLCBjcmVhdGVSYW5nZUVycm9yKCZzdGF0ZSwgQVNDSUlMaXRlcmFsKCJJbmNvcnJlY3Qg
ZG91YmxlIHZhbHVlIikpKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJu
IHNpemU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZUpTU3RyZWFtLmgKaW5kZXggZDRlNjViOWViYjBi
NGNhNWQxNTYyMDRkYTcxZjhiOTg5ZDRlZTM0NS4uYjlhODczYjBlMjc4NThkZTIxNjY2M2U4MmYx
ZDlmMjZhMjZjMjExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVh
ZGFibGVKU1N0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxl
SlNTdHJlYW0uaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVucXVldWUo
SlNDOjpFeGVjU3RhdGUmKTsKIAotICAgIGRvdWJsZSBkZXNpcmVkU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1faGlnaFdhdGVyTWFyayAtIG1fY2h1bmtRdWV1ZS5zaXplKCk7IH0KKyAgICBkb3VibGUg
ZGVzaXJlZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2hpZ2hXYXRlck1hcmsgLSBtX3RvdGFsUXVl
dWVTaXplOyB9CiAKIHByaXZhdGU6CiAgICAgUmVhZGFibGVKU1N0cmVhbShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgSlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTT2JqZWN0KiwgZG91YmxlLCBKU0M6
OkpTRnVuY3Rpb24qKTsKQEAgLTc5LDEyICs3OSwyMSBAQCBwcml2YXRlOgogCiAgICAgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpOwogCisgICAgZG91YmxlIHJldHJpZXZlQ2h1bmtT
aXplKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlKTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsKICAgICAvLyBGSVhNRTog
d2Ugc2hvdWxkIGNvbnNpZGVyIG5vdCB1c2luZyBKU0M6OlN0cm9uZywgc2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYyNzgKICAgICBKU0M6OlN0cm9uZzxKU0M6
OlVua25vd24+IG1fZXJyb3I7CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpKU0Z1bmN0aW9uPiBtX2Vy
cm9yRnVuY3Rpb247CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gbV9zb3VyY2U7Ci0g
ICAgRGVxdWU8SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPj4gbV9jaHVua1F1ZXVlOworCisgICAg
c3RydWN0IENodW5rIHsKKyAgICAgICAgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPiB2YWx1ZTsK
KyAgICAgICAgZG91YmxlIHNpemU7CisgICAgfTsKKyAgICBEZXF1ZTxDaHVuaz4gbV9jaHVua1F1
ZXVlOworCisgICAgZG91YmxlIG1fdG90YWxRdWV1ZVNpemUgeyAwIH07CiAgICAgZG91YmxlIG1f
aGlnaFdhdGVyTWFyazsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTRnVuY3Rpb24+IG1fc2l6ZUZ1
bmN0aW9uOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBhMmZhMzU2ZWI2NWU3MTVjYTczYzJlYWM1MWRmOTJiMGVlMjYy
MDRhLi44YTE1ZDk4YWU3YWE0NzVlNGVkY2RmMjEzYmVmZmYyOTUwMTFkN2YwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTUtMDYtMjggIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFy
aXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5v
bi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIEFkZCBzdXBwb3J0IGZvciBjaHVua3Mgd2l0
aCBjdXN0b21pemVkIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDYzMTIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICAqIHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL2JhZC1zdHJhdGVnaWVz
LWV4cGVjdGVkLnR4dDoKKwogMjAxNS0wNi0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIERvIG5vdCBzZW5kIHRvdWNoIGV2ZW50cyB0byB0aGUgc2xpZGVyJ3Mg
dGh1bWIgd2hlbiBpdCBkb2VzIG5vdCBoYXZlIGEgcmVuZGVyZXIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9iYWQtc3RyYXRlZ2llcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi9iYWQtc3RyYXRlZ2llcy1leHBlY3RlZC50eHQKaW5kZXggZDI4ODBhNDkxMDhiNjk3NjUzYjk1
MDFkZDk3YzgyZmU3YWI3OTM5YS4uYzg2ZDM4NGE0YjYxYmEwMjJmOTE0N2Q4YzUwZjM1YjNmYWFi
OWI3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50
YXRpb24vYmFkLXN0cmF0ZWdpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVh
bXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL2JhZC1zdHJhdGVnaWVzLWV4cGVjdGVkLnR4dApA
QCAtMSwyMiArMSwxMCBAQAogCiBQQVNTIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRl
Z3kuc2l6ZSBnZXR0ZXIgCi1GQUlMIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3ku
c2l6ZSBtZXRob2QgYXNzZXJ0X3Rocm93czogZW5xdWV1ZSBzaG91bGQgdGhyb3cgdGhlIGVycm9y
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IGMuZW5xdWV1ZSgnYScpOyB9IiBkaWQgbm90IHRocm93
CitQQVNTIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuc2l6ZSBtZXRob2QgCiBQ
QVNTIFJlYWRhYmxlIHN0cmVhbTogdGhyb3dpbmcgc3RyYXRlZ3kuaGlnaFdhdGVyTWFyayBnZXR0
ZXIgCiBQQVNTIFJlYWRhYmxlIHN0cmVhbTogaW52YWxpZCBzdHJhdGVneS5oaWdoV2F0ZXJNYXJr
IAogUEFTUyBSZWFkYWJsZSBzdHJlYW06IG5lZ2F0aXZlIHN0cmF0ZWd5LmhpZ2hXYXRlck1hcmsg
Ci1GQUlMIFJlYWRhYmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1cm5pbmcgTmFOIGFzc2Vy
dF9lcXVhbHM6IGVucXVldWUgc2hvdWxkIHRocm93IGEgUmFuZ2VFcnJvciBleHBlY3RlZCBmdW5j
dGlvbiAiZnVuY3Rpb24gUmFuZ2VFcnJvcigpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IiBidXQg
Z290IGZ1bmN0aW9uICJmdW5jdGlvbiBBc3NlcnRpb25FcnJvcihtZXNzYWdlKQotICAgIHsKLSAg
ICAgICAgdGhpcy5tZXNzYS4uLiIKLUZBSUwgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXpl
IHJldHVybmluZyAtSW5maW5pdHkgYXNzZXJ0X2VxdWFsczogZW5xdWV1ZSBzaG91bGQgdGhyb3cg
YSBSYW5nZUVycm9yIGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgewot
ICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIEFzc2VydGlv
bkVycm9yKG1lc3NhZ2UpCi0gICAgewotICAgICAgICB0aGlzLm1lc3NhLi4uIgotRkFJTCBSZWFk
YWJsZSBzdHJlYW06IHN0cmF0ZWd5LnNpemUgcmV0dXJuaW5nICtJbmZpbml0eSBhc3NlcnRfZXF1
YWxzOiBlbnF1ZXVlIHNob3VsZCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhwZWN0ZWQgZnVuY3Rpb24g
ImZ1bmN0aW9uIFJhbmdlRXJyb3IoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBm
dW5jdGlvbiAiZnVuY3Rpb24gQXNzZXJ0aW9uRXJyb3IobWVzc2FnZSkKLSAgICB7Ci0gICAgICAg
IHRoaXMubWVzc2EuLi4iCitQQVNTIFJlYWRhYmxlIHN0cmVhbTogc3RyYXRlZ3kuc2l6ZSByZXR1
cm5pbmcgTmFOIAorUEFTUyBSZWFkYWJsZSBzdHJlYW06IHN0cmF0ZWd5LnNpemUgcmV0dXJuaW5n
IC1JbmZpbml0eSAKK1BBU1MgUmVhZGFibGUgc3RyZWFtOiBzdHJhdGVneS5zaXplIHJldHVybmlu
ZyArSW5maW5pdHkgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>