<?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>128886</bug_id>
          
          <creation_ts>2014-02-16 13:08:13 -0800</creation_ts>
          <short_desc>DataCue.data should be a copy of the input ArrayBuffer, not a pointer</short_desc>
          <delta_ts>2014-02-17 10:43:12 -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>Media</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>https://www.w3.org/Bugs/Public/show_bug.cgi?id=24687</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="Brendan Long">b.long</reporter>
          <assigned_to name="Brendan Long">b.long</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>981286</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-16 13:08:13 -0800</bug_when>
    <thetext>This will be clarified in the HTML spec:

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24687

Example:

    buf = new ArrayBuffer(1);
    view = new Uint8Array(buf);
    view[0] = 1;

    cue = new DataCue(1, 2, buf);
    console.log(new Uint8Array(cue.data)[0]); // 1

    view[0] = 0;
    console.log(new Uint8Array(cue.data)[0]); // should still be 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981449</commentid>
    <comment_count>1</comment_count>
      <attachid>224366</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 07:35:34 -0800</bug_when>
    <thetext>Created attachment 224366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981453</commentid>
    <comment_count>2</comment_count>
      <attachid>224366</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-02-17 07:48:43 -0800</bug_when>
    <thetext>Comment on attachment 224366
Patch

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

&gt; Source/WebCore/html/track/DataCue.cpp:37
&gt; +DataCue::DataCue(ScriptExecutionContext&amp; context, double start, double end, ArrayBuffer* data)

It doesn&apos;t look like &quot;data&quot; can ever be NULL, so this would be better as a const reference: const ArrayBuffer&amp; data

&gt; Source/WebCore/html/track/DataCue.h:41
&gt; +    static PassRefPtr&lt;DataCue&gt; create(ScriptExecutionContext&amp; context, double start, double end, ArrayBuffer* data)

Ditto.

&gt; Source/WebCore/html/track/DataCue.h:50
&gt; +    void setData(ArrayBuffer* data) { m_data = ArrayBuffer::create(data); }

Ditto.

&gt; Source/WebCore/html/track/DataCue.h:54
&gt; +    DataCue(ScriptExecutionContext&amp;, double start, double end, ArrayBuffer*);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981455</commentid>
    <comment_count>3</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:04:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; It doesn&apos;t look like &quot;data&quot; can ever be NULL, so this would be better as a const reference: const ArrayBuffer&amp; data

JSDataCue expects that argument to be a PassRefPtr&lt;ArrayBuffer&gt; or ArrayBuffer* though.

Also, if you pass a non-ArrayBuffer argument, it gets converted to &apos;null&apos;. I probably need to handle that instead of crashing..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981467</commentid>
    <comment_count>4</comment_count>
      <attachid>224372</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:16:42 -0800</bug_when>
    <thetext>Created attachment 224372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981468</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:18:02 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=224372) [details]
&gt; Patch

This one handles null values correctly. I wonder if it would be better to throw an exception, or return an empty ArrayBuffer. The spec doesn&apos;t really say:

http://www.w3.org/html/wg/drafts/html/CR/embedded-content-0.html#datacue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981470</commentid>
    <comment_count>6</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:23:54 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Created an attachment (id=224372) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; This one handles null values correctly. I wonder if it would be better to throw an exception, or return an empty ArrayBuffer. The spec doesn&apos;t really say:
&gt; 
&gt; http://www.w3.org/html/wg/drafts/html/CR/embedded-content-0.html#datacue

Since it doesn&apos;t end with &apos;?&apos;, it seems like an empty ArrayBuffer or exception would be better. I&apos;m reading the WebIDL spec right now to see if this is covered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981477</commentid>
    <comment_count>7</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:41:19 -0800</bug_when>
    <thetext>Ah:

http://www.w3.org/TR/WebIDL/#es-interface

&gt; An ECMAScript value V is converted to an IDL interface type value by running the following algorithm (where I is the interface):
&gt;
&gt;  1. If Type(V) is not Object, then throw a TypeError.
&gt;  2. If V is a platform object that implements I, then return the IDL interface type value that represents a reference to that platform object.
&gt;  3. If V is a user object that is considered to implement I according to the rules in section 4.7, then return the IDL interface type value that represents a reference to that user object.
&gt;  4. Throw a TypeError.

So I need to make this throw a TypeError if the ArrayBuffer arguments are null or not ArrayBuffers. I wonder why the bindings don&apos;t do this automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981487</commentid>
    <comment_count>8</comment_count>
      <attachid>224382</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-17 08:58:48 -0800</bug_when>
    <thetext>Created attachment 224382
Patch

Ok, so now it throws a TypeError if you set .data to null or a non-ArrayBuffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981527</commentid>
    <comment_count>9</comment_count>
      <attachid>224382</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-17 10:43:07 -0800</bug_when>
    <thetext>Comment on attachment 224382
Patch

Clearing flags on attachment: 224382

Committed r164227: &lt;http://trac.webkit.org/changeset/164227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981528</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-17 10:43:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224366</attachid>
            <date>2014-02-17 07:35:34 -0800</date>
            <delta_ts>2014-02-17 08:16:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128886-20140217093533.patch</filename>
            <type>text/plain</type>
            <size>7149</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg3ZTE1NzgyYzIyOGFm
YTQ2MjlhMWNmYjM3ZDNhYjI5NmY3ODVhZC4uZDE0MTQwODRhNjdiNTE5ZjgzNThiODhmMDA1OWI4
YjhhMTg3NzVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAyLTE3ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBEYXRhQ3VlLmRhdGEg
c2hvdWxkIGJlIGEgY29weSBvZiB0aGUgaW5wdXQgQXJyYXlCdWZmZXIsIG5vdCBhIHBvaW50ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODg4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywganVzdCBhZGRlZCB0byB0aGUgZXhpc3RpbmcgRGF0YUN1ZSB0ZXN0LgorCisgICAgICAg
ICogaHRtbC90cmFjay9EYXRhQ3VlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFDdWU6OkRh
dGFDdWUpOiBDb3B5IHRoZSBBcnJheUJ1ZmZlciBkYXRhLgorICAgICAgICAqIGh0bWwvdHJhY2sv
RGF0YUN1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6RGF0YUN1ZTo6Y3JlYXRlKTogU2FtZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFDdWU6OmRhdGEpOiBTYW1lLgorICAgICAgICAoV2ViQ29yZTo6
RGF0YUN1ZTo6c2V0RGF0YSk6IFNhbWUuCisKIDIwMTQtMDItMTcgIE1hbnVlbCBSZWdvIENhc2Fz
bm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0gRml4
IG1pc3NpbmcgbGF5b3V0IGluIGZsZXhpYmxlIGFuZCBjb250ZW50IHNpemVkIGNvbHVtbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL0RhdGFDdWUuY3BwCmluZGV4IDk3ZGFhZDI5NDdlYTE5MmVjMDE2
YzFmZmUyMDgwMDZhMzA0MTRhNDkuLmI3NDFjYWIyNGMyMjc5MDlhNDliZjFlN2ViOTEzMWJmNmEz
ODU4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9EYXRhQ3VlLmNwcApAQCAtMzQsOSArMzQs
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLURhdGFDdWU6OkRhdGFDdWUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgZG91YmxlIHN0YXJ0LCBkb3VibGUgZW5kLCBQYXNzUmVm
UHRyPEFycmF5QnVmZmVyPiBkYXRhKQorRGF0YUN1ZTo6RGF0YUN1ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQsIEFycmF5QnVmZmVyKiBk
YXRhKQogICAgIDogVGV4dFRyYWNrQ3VlKGNvbnRleHQsIHN0YXJ0LCBlbmQpCi0gICAgLCBtX2Rh
dGEoZGF0YSkKKyAgICAsIG1fZGF0YShBcnJheUJ1ZmZlcjo6Y3JlYXRlKGRhdGEpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0RhdGFDdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5oCmluZGV4IDg4OGQ5ZTlmMWIzNzc2YzUyZTA4
NGRiZjAzOGU2ZmMwZWM2OWIyYmYuLmM4ODk0MjM2MjFlODQwMzUwZDM2ODY1YThkZDk3OGE0YmM4
YTU5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5oCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIERhdGFDdWUgOiBwdWJsaWMg
VGV4dFRyYWNrQ3VlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhQ3VlPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgZG91YmxlIHN0YXJ0LCBkb3Vi
bGUgZW5kLCBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhKQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERhdGFDdWU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBkb3Vi
bGUgc3RhcnQsIGRvdWJsZSBlbmQsIEFycmF5QnVmZmVyKiBkYXRhKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBEYXRhQ3VlKGNvbnRleHQsIHN0YXJ0LCBlbmQsIGRhdGEpKTsK
ICAgICB9CkBAIC00NiwxMiArNDYsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkRhdGFDdWUo
KTsKICAgICB2aXJ0dWFsIEN1ZVR5cGUgY3VlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIERhdGE7IH0K
IAotICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsg
fQotICAgIHZvaWQgc2V0RGF0YShQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhKSB7IG1fZGF0
YSA9IGRhdGE7IH0KKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGRhdGEoKSBjb25zdCB7IHJldHVy
biBBcnJheUJ1ZmZlcjo6Y3JlYXRlKG1fZGF0YS5nZXQoKSk7IH0KKyAgICB2b2lkIHNldERhdGEo
QXJyYXlCdWZmZXIqIGRhdGEpIHsgbV9kYXRhID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShkYXRhKTsg
fQogICAgIFN0cmluZyB0ZXh0KGJvb2wmIGlzTnVsbCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAg
ICBEYXRhQ3VlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBkb3VibGUgc3RhcnQsIGRvdWJsZSBl
bmQsIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KTsKKyAgICBEYXRhQ3VlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQsIEFycmF5QnVmZmVyKik7CiAKIHBy
aXZhdGU6CiAgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX2RhdGE7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjEyMTYwZDI3
MzdlOTZmMTg5Mjk1ODUyNmNiMWJiN2IzY2NiMGM1Yi4uZjk1YTgwY2MzMjA0NDQxMDY2ZGFlMzFi
YWFhOTUxMjEyZWYwNTQ2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAyLTE3ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBEYXRhQ3VlLmRhdGEg
c2hvdWxkIGJlIGEgY29weSBvZiB0aGUgaW5wdXQgQXJyYXlCdWZmZXIsIG5vdCBhIHBvaW50ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODg4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEv
dHJhY2svdHJhY2stZGF0YWN1ZS1leHBlY3RlZC50eHQ6IE1ha2Ugc3VyZSBEYXRhQ3VlLmRhdGEg
aXMgYSBjb3B5LgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUuaHRtbDogU2Ft
ZS4KKwogMjAxNC0wMi0xNyAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBGaXggbWlzc2luZyBsYXlvdXQgaW4gZmxl
eGlibGUgYW5kIGNvbnRlbnQgc2l6ZWQgY29sdW1ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stZGF0YWN1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1kYXRhY3VlLWV4cGVjdGVkLnR4dAppbmRleCBkYTZlZjM2MGJhN2ZkYTVl
ZWEzOTVkOTAwZWFhNTMzZWQ0YzE0MTI0Li41NTU1NWVmMzc1ZjE0MzRmYTBhOTUyODZkY2NjNWNj
MGM5NTk3ZjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRh
Y3VlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRh
Y3VlLWV4cGVjdGVkLnR4dApAQCAtMTksNiArMTksMTYgQEAgRVhQRUNURUQgKG5ldyBVaW50OEFy
cmF5KGN1ZS5kYXRhKVszXSA9PSAnMScpIE9LCiBFWFBFQ1RFRCAobmV3IFVpbnQ4QXJyYXkoY3Vl
LmRhdGEpWzRdID09ICc5JykgT0sKIEVYUEVDVEVEIChjdWUudGV4dCA9PSAnbnVsbCcpIE9LCiAK
KyoqKiBDaGFuZ2luZyB0aGUgb3JpZ2luYWwgYnVmZmVyIGRhdGEgc2hvdWxkIG5vdCBlZmZlY3Qg
RGF0YUN1ZS5kYXRhLgorUlVOKGV4cGVjdGVkRGF0YVswXSA9IDcpCitFWFBFQ1RFRCAobmV3IFVp
bnQ4QXJyYXkoY3VlLmRhdGEpWzBdID09ICc0JykgT0sKK1JVTihjdWUuZGF0YSA9IGV4cGVjdGVk
RGF0YS5idWZmZXIpCitFWFBFQ1RFRCAobmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzBdID09ICc3
JykgT0sKK1JVTihleHBlY3RlZERhdGFbMF0gPSAxMSkKK0VYUEVDVEVEIChuZXcgVWludDhBcnJh
eShjdWUuZGF0YSlbMF0gPT0gJzcnKSBPSworUlVOKG5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVsw
XSA9IDgpCitFWFBFQ1RFRCAoKG5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKSlbMF0gPT0gJzcnKSBP
SworCiAqKiogVGVzdCBhZGRpbmcgRGF0YUN1ZSB0byB0cmFjayB3aXRoIGtpbmQgPSAnbWV0YWRh
dGEnLgogRVhQRUNURUQgKGN1ZS50cmFjayA9PSAnW29iamVjdCBUZXh0VHJhY2tdJykgT0sKIEVY
UEVDVEVEIChtZXRhZGF0YVRyYWNrLmN1ZXNbMF0gPT0gJ1tvYmplY3QgRGF0YUN1ZV0nKSBPSwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGF0YWN1ZS5odG1sIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGF0YWN1ZS5odG1sCmluZGV4IDE0YjQ1N2Nm
NTQyZjJlMGUxMmY2YjY5YWRiNjA1MWFkYjY1NmVhYzQuLjdhNGFkNTBlYzY0YzE4MTg2Yzc0NmY2
ZTZkMTdhMzI0YzQxNTM3ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWRhdGFjdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRh
Y3VlLmh0bWwKQEAgLTgsMTQgKzgsOCBAQAogICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAg
ZnVuY3Rpb24gbG9hZGVkKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgYnVm
ID0gbmV3IEFycmF5QnVmZmVyKDUpOwotICAgICAgICAgICAgICAgIHZhciBidWZWaWV3ID0gbmV3
IFVpbnQ4QXJyYXkoYnVmKTsKLSAgICAgICAgICAgICAgICBidWZWaWV3WzBdID0gNDsKLSAgICAg
ICAgICAgICAgICBidWZWaWV3WzFdID0gNTsKLSAgICAgICAgICAgICAgICBidWZWaWV3WzJdID0g
MjsKLSAgICAgICAgICAgICAgICBidWZWaWV3WzNdID0gMTsKLSAgICAgICAgICAgICAgICBidWZW
aWV3WzRdID0gOTsKLSAgICAgICAgICAgICAgICBjdWUgPSBuZXcgRGF0YUN1ZSgzLCAxMCwgYnVm
KTsKKyAgICAgICAgICAgICAgICBleHBlY3RlZERhdGEgPSBuZXcgVWludDhBcnJheShbNCwgNSwg
MiwgMSwgOV0pOworICAgICAgICAgICAgICAgIGN1ZSA9IG5ldyBEYXRhQ3VlKDMsIDEwLCBleHBl
Y3RlZERhdGEuYnVmZmVyKTsKIAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioq
KiBUZXN0IERhdGFDdWUncyBUZXh0VHJhY2tDdWUgaW50ZXJmYWNlLiIpOwogICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgiY3VlIiwgVGV4dFRyYWNrQ3VlLCAiaW5zdGFuY2VvZiIpOwpAQCAt
MjcsOSArMjEsMjYgQEAKIAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqKiBU
ZXN0IERhdGFDdWUgaW50ZXJmYWNlLiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
Y3VlIiwgRGF0YUN1ZSwgImluc3RhbmNlb2YiKTsKLSAgICAgICAgICAgICAgICB0ZXN0QXJyYXlz
RXF1YWwoIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKSIsIG5ldyBVaW50OEFycmF5KGJ1ZikpOwor
ICAgICAgICAgICAgICAgIHRlc3RBcnJheXNFcXVhbCgibmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEp
IiwgZXhwZWN0ZWREYXRhKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImN1ZS50ZXh0
IiwgbnVsbCk7CiAKKyAgICAgICAgICAgICAgICAvLyBodHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTI0Njg3CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KioqIENoYW5naW5nIHRoZSBvcmlnaW5hbCBidWZmZXIgZGF0YSBzaG91bGQgbm90IGVm
ZmVjdCBEYXRhQ3VlLmRhdGEuIik7CisKKyAgICAgICAgICAgICAgICAvLyBQYXNzaW5nIGRhdGEg
dG8gY29uc3RydWN0b3IgdGhlbiBjaGFuZ2luZyB0aGUgb3JpZ2luYWwgYnVmZmVyCisgICAgICAg
ICAgICAgICAgcnVuKCJleHBlY3RlZERhdGFbMF0gPSA3Iik7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJuZXcgVWludDhBcnJheShjdWUuZGF0YSlbMF0iLCA0KTsKKworICAgICAgICAg
ICAgICAgIC8vIFNldHRpbmcgLmRhdGEgdGhlbiBjaGFuZ2luZyB0aGUgb3JpZ2luYWwgYnVmZmVy
CisgICAgICAgICAgICAgICAgcnVuKCJjdWUuZGF0YSA9IGV4cGVjdGVkRGF0YS5idWZmZXIiKTsK
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVsw
XSIsIDcpOworICAgICAgICAgICAgICAgIHJ1bigiZXhwZWN0ZWREYXRhWzBdID0gMTEiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVswXSIs
IDcpOworCisgICAgICAgICAgICAgICAgLy8gR2V0dGluZyAuZGF0YSB0aGVuIGNoYW5naW5nIHRo
ZSBvcmlnaW5hbCBidWZmZXIKKyAgICAgICAgICAgICAgICBydW4oIm5ldyBVaW50OEFycmF5KGN1
ZS5kYXRhKVswXSA9IDgiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIihuZXcgVWlu
dDhBcnJheShjdWUuZGF0YSkpWzBdIiwgNyk7CisKICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIjxicj4qKiogVGVzdCBhZGRpbmcgRGF0YUN1ZSB0byB0cmFjayB3aXRoIGtpbmQgPSAnbWV0
YWRhdGEnLiIpOwogICAgICAgICAgICAgICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInZpZGVvIik7CiAgICAgICAgICAgICAgICAgbWV0YWRhdGFUcmFjayA9IHZpZGVvLmFk
ZFRleHRUcmFjaygibWV0YWRhdGEiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224372</attachid>
            <date>2014-02-17 08:16:42 -0800</date>
            <delta_ts>2014-02-17 08:58:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128886-20140217101641.patch</filename>
            <type>text/plain</type>
            <size>8065</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg3ZTE1NzgyYzIyOGFm
YTQ2MjlhMWNmYjM3ZDNhYjI5NmY3ODVhZC4uYTIyNjIzZWI5OWY1NjNlNDY3Y2JlMWJiZjQ0Yjdh
MDY3ODZmZDk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAyLTE3ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBEYXRhQ3VlLmRhdGEg
c2hvdWxkIGJlIGEgY29weSBvZiB0aGUgaW5wdXQgQXJyYXlCdWZmZXIsIG5vdCBhIHBvaW50ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODg4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgdXBkYXRlZCBleGlzdGluZyB0cmFjay1kYXRhY3VlLmh0bWwgdGVzdC4KKworICAgICAg
ICAqIGh0bWwvdHJhY2svRGF0YUN1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhQ3VlOjpE
YXRhQ3VlKTogTWFrZSBtX2RhdGEgYSBjb3B5IG9mIHRoZSBpbnB1dCBkYXRhIGlmIGl0J3Mgbm90
IG51bGwuCisgICAgICAgIChXZWJDb3JlOjpEYXRhQ3VlOjpzZXREYXRhKTogU2FtZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFDdWU6OmRhdGEpOiBSZXR1cm4gYSBjb3B5IG9mIG1fZGF0YSBpZiBp
dCdzIG5vdCBudWxsLgorICAgICAgICAqIGh0bWwvdHJhY2svRGF0YUN1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YUN1ZTo6Y3JlYXRlKTogQ2hhbmdlIEFycmF5QnVmZmVyIGFyZ3VtZW50IHRv
IGFuIEFycmF5QnVmZmVyKiwgc2luY2Ugd2UgZG9uJ3QgbmVlZCBhIFJlZlB0ci4KKwogMjAxNC0w
Mi0xNyAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbQ1NTIEdyaWQgTGF5b3V0XSBGaXggbWlzc2luZyBsYXlvdXQgaW4gZmxleGlibGUgYW5kIGNv
bnRlbnQgc2l6ZWQgY29sdW1ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9EYXRhQ3VlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1ZS5jcHAKaW5k
ZXggOTdkYWFkMjk0N2VhMTkyZWMwMTZjMWZmZTIwODAwNmEzMDQxNGE0OS4uZTEyMDFmNjNjYzJm
MWYxNzUyMDYxM2Q2OGY1MzQ5ZDE1ODNjYmZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9EYXRhQ3VlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0Rh
dGFDdWUuY3BwCkBAIC0zNCwxNiArMzQsMzMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1E
YXRhQ3VlOjpEYXRhQ3VlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGRvdWJsZSBz
dGFydCwgZG91YmxlIGVuZCwgUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gZGF0YSkKK0RhdGFDdWU6
OkRhdGFDdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgZG91YmxlIHN0YXJ0LCBk
b3VibGUgZW5kLCBBcnJheUJ1ZmZlciogZGF0YSkKICAgICA6IFRleHRUcmFja0N1ZShjb250ZXh0
LCBzdGFydCwgZW5kKQotICAgICwgbV9kYXRhKGRhdGEpCiB7CisgICAgaWYgKGRhdGEpCisgICAg
ICAgIG1fZGF0YSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoZGF0YSk7CiB9CiAKIERhdGFDdWU6On5E
YXRhQ3VlKCkKIHsKIH0KIAorUmVmUHRyPEFycmF5QnVmZmVyPiBEYXRhQ3VlOjpkYXRhKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fZGF0YSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBy
ZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2RhdGEuZ2V0KCkpOworfQorCit2b2lkIERhdGFD
dWU6OnNldERhdGEoQXJyYXlCdWZmZXIqIGRhdGEpCit7CisgICAgaWYgKGRhdGEpCisgICAgICAg
IG1fZGF0YSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoZGF0YSk7CisgICAgZWxzZQorICAgICAgICBt
X2RhdGEgPSBudWxscHRyOworfQorCiBTdHJpbmcgRGF0YUN1ZTo6dGV4dChib29sJiBpc051bGwp
IGNvbnN0CiB7CiAgICAgaXNOdWxsID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svRGF0YUN1ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9EYXRhQ3Vl
LmgKaW5kZXggODg4ZDllOWYxYjM3NzZjNTJlMDg0ZGJmMDM4ZTZmYzBlYzY5YjJiZi4uNTdjNTdl
OGRhYjBmMTlhMzM4MTgwM2Q1NDgxNDYzMDg4YjU5NWVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9EYXRhQ3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9EYXRhQ3VlLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAogY2xhc3MgRGF0YUN1ZSA6IHB1YmxpYyBUZXh0VHJhY2tDdWUgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPERhdGFDdWU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQsIFBhc3NSZWZQdHI8QXJyYXlCdWZm
ZXI+IGRhdGEpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YUN1ZT4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGRvdWJsZSBzdGFydCwgZG91YmxlIGVuZCwgQXJyYXlC
dWZmZXIqIGRhdGEpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERhdGFDdWUo
Y29udGV4dCwgc3RhcnQsIGVuZCwgZGF0YSkpOwogICAgIH0KQEAgLTQ2LDEyICs0NiwxMiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YUN1ZSgpOwogICAgIHZpcnR1YWwgQ3VlVHlwZSBjdWVU
eXBlKCkgY29uc3QgeyByZXR1cm4gRGF0YTsgfQogCi0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9Ci0gICAgdm9pZCBzZXREYXRhKFBhc3NSZWZQ
dHI8QXJyYXlCdWZmZXI+IGRhdGEpIHsgbV9kYXRhID0gZGF0YTsgfQorICAgIFJlZlB0cjxBcnJh
eUJ1ZmZlcj4gZGF0YSgpIGNvbnN0OworICAgIHZvaWQgc2V0RGF0YShBcnJheUJ1ZmZlciopOwog
ICAgIFN0cmluZyB0ZXh0KGJvb2wmIGlzTnVsbCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBE
YXRhQ3VlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQs
IFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KTsKKyAgICBEYXRhQ3VlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQsIEFycmF5QnVmZmVyKik7CiAKIHByaXZh
dGU6CiAgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX2RhdGE7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjEyMTYwZDI3Mzdl
OTZmMTg5Mjk1ODUyNmNiMWJiN2IzY2NiMGM1Yi4uOTEwNjVlM2ZhMjYwYjRiZGI3N2ZkODc2OWM4
ODU5NmM2NjllMTEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAyLTE3ICBCcmVuZGFu
IExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBEYXRhQ3VlLmRhdGEgc2hv
dWxkIGJlIGEgY29weSBvZiB0aGUgaW5wdXQgQXJyYXlCdWZmZXIsIG5vdCBhIHBvaW50ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODg4NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvdHJh
Y2svdHJhY2stZGF0YWN1ZS1leHBlY3RlZC50eHQ6IE1ha2Ugc3VyZSBEYXRhQ3VlLmRhdGEgaXMg
YSBjb3B5LCBhbmQgbnVsbCBpcyBoYW5kbGVkIGdyYWNlZnVsbHkuCisgICAgICAgICogbWVkaWEv
dHJhY2svdHJhY2stZGF0YWN1ZS5odG1sOiBTYW1lLgorCiAyMDE0LTAyLTE3ICBNYW51ZWwgUmVn
byBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlv
dXRdIEZpeCBtaXNzaW5nIGxheW91dCBpbiBmbGV4aWJsZSBhbmQgY29udGVudCBzaXplZCBjb2x1
bW5zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRhY3VlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUtZXhwZWN0
ZWQudHh0CmluZGV4IGRhNmVmMzYwYmE3ZmRhNWVlYTM5NWQ5MDBlYWE1MzNlZDRjMTQxMjQuLmQ1
NzUxMTA5MDU0YzdkOWY1Mjk1OWRkOWY0Mjg4OWUzMDcxOWUxODkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUtZXhwZWN0ZWQudHh0CkBAIC0xOSw2ICsx
OSwyMiBAQCBFWFBFQ1RFRCAobmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzNdID09ICcxJykgT0sK
IEVYUEVDVEVEIChuZXcgVWludDhBcnJheShjdWUuZGF0YSlbNF0gPT0gJzknKSBPSwogRVhQRUNU
RUQgKGN1ZS50ZXh0ID09ICdudWxsJykgT0sKIAorKioqIENoYW5naW5nIHRoZSBvcmlnaW5hbCBi
dWZmZXIgZGF0YSBzaG91bGQgbm90IGVmZmVjdCBEYXRhQ3VlLmRhdGEuCitSVU4oZXhwZWN0ZWRE
YXRhWzBdID0gNykKK0VYUEVDVEVEIChuZXcgVWludDhBcnJheShjdWUuZGF0YSlbMF0gPT0gJzQn
KSBPSworUlVOKGN1ZS5kYXRhID0gZXhwZWN0ZWREYXRhLmJ1ZmZlcikKK0VYUEVDVEVEIChuZXcg
VWludDhBcnJheShjdWUuZGF0YSlbMF0gPT0gJzcnKSBPSworUlVOKGV4cGVjdGVkRGF0YVswXSA9
IDExKQorRVhQRUNURUQgKG5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVswXSA9PSAnNycpIE9LCitS
VU4obmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzBdID0gOCkKK0VYUEVDVEVEICgobmV3IFVpbnQ4
QXJyYXkoY3VlLmRhdGEpKVswXSA9PSAnNycpIE9LCisKKyoqKiBIYW5kbGUgbnVsbCBkYXRhIGdy
YWNlZnVsbHkuCitSVU4oY3VlLmRhdGEgPSBudWxsKQorRVhQRUNURUQgKGN1ZS5kYXRhID09ICdu
dWxsJykgT0sKK1JVTihjdWUgPSBuZXcgRGF0YUN1ZSgzLCAxMCwgbnVsbCkpCitFWFBFQ1RFRCAo
Y3VlLmRhdGEgPT0gJ251bGwnKSBPSworCiAqKiogVGVzdCBhZGRpbmcgRGF0YUN1ZSB0byB0cmFj
ayB3aXRoIGtpbmQgPSAnbWV0YWRhdGEnLgogRVhQRUNURUQgKGN1ZS50cmFjayA9PSAnW29iamVj
dCBUZXh0VHJhY2tdJykgT0sKIEVYUEVDVEVEIChtZXRhZGF0YVRyYWNrLmN1ZXNbMF0gPT0gJ1tv
YmplY3QgRGF0YUN1ZV0nKSBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2stZGF0YWN1ZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGF0YWN1
ZS5odG1sCmluZGV4IDE0YjQ1N2NmNTQyZjJlMGUxMmY2YjY5YWRiNjA1MWFkYjY1NmVhYzQuLmZi
MjM1NWVlZjYyNmFhNjI0ZGRjMWEzMjNjYmUxMzczZmU0YTkyYjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1kYXRhY3VlLmh0bWwKQEAgLTgsMTQgKzgsOCBAQAogICAgICAgICA8
c2NyaXB0PgogICAgICAgICAgICAgZnVuY3Rpb24gbG9hZGVkKCkKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICB2YXIgYnVmID0gbmV3IEFycmF5QnVmZmVyKDUpOwotICAgICAgICAgICAg
ICAgIHZhciBidWZWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmKTsKLSAgICAgICAgICAgICAgICBi
dWZWaWV3WzBdID0gNDsKLSAgICAgICAgICAgICAgICBidWZWaWV3WzFdID0gNTsKLSAgICAgICAg
ICAgICAgICBidWZWaWV3WzJdID0gMjsKLSAgICAgICAgICAgICAgICBidWZWaWV3WzNdID0gMTsK
LSAgICAgICAgICAgICAgICBidWZWaWV3WzRdID0gOTsKLSAgICAgICAgICAgICAgICBjdWUgPSBu
ZXcgRGF0YUN1ZSgzLCAxMCwgYnVmKTsKKyAgICAgICAgICAgICAgICBleHBlY3RlZERhdGEgPSBu
ZXcgVWludDhBcnJheShbNCwgNSwgMiwgMSwgOV0pOworICAgICAgICAgICAgICAgIGN1ZSA9IG5l
dyBEYXRhQ3VlKDMsIDEwLCBleHBlY3RlZERhdGEuYnVmZmVyKTsKIAogICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiPGJyPioqKiBUZXN0IERhdGFDdWUncyBUZXh0VHJhY2tDdWUgaW50ZXJm
YWNlLiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiY3VlIiwgVGV4dFRyYWNrQ3Vl
LCAiaW5zdGFuY2VvZiIpOwpAQCAtMjcsOSArMjEsMzIgQEAKIAogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGJyPioqKiBUZXN0IERhdGFDdWUgaW50ZXJmYWNlLiIpOwogICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiY3VlIiwgRGF0YUN1ZSwgImluc3RhbmNlb2YiKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0QXJyYXlzRXF1YWwoIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKSIsIG5l
dyBVaW50OEFycmF5KGJ1ZikpOworICAgICAgICAgICAgICAgIHRlc3RBcnJheXNFcXVhbCgibmV3
IFVpbnQ4QXJyYXkoY3VlLmRhdGEpIiwgZXhwZWN0ZWREYXRhKTsKICAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImN1ZS50ZXh0IiwgbnVsbCk7CiAKKyAgICAgICAgICAgICAgICAvLyBodHRw
czovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI0Njg3CisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KioqIENoYW5naW5nIHRoZSBvcmlnaW5hbCBidWZm
ZXIgZGF0YSBzaG91bGQgbm90IGVmZmVjdCBEYXRhQ3VlLmRhdGEuIik7CisKKyAgICAgICAgICAg
ICAgICAvLyBQYXNzaW5nIGRhdGEgdG8gY29uc3RydWN0b3IgdGhlbiBjaGFuZ2luZyB0aGUgb3Jp
Z2luYWwgYnVmZmVyCisgICAgICAgICAgICAgICAgcnVuKCJleHBlY3RlZERhdGFbMF0gPSA3Iik7
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJuZXcgVWludDhBcnJheShjdWUuZGF0YSlb
MF0iLCA0KTsKKworICAgICAgICAgICAgICAgIC8vIFNldHRpbmcgLmRhdGEgdGhlbiBjaGFuZ2lu
ZyB0aGUgb3JpZ2luYWwgYnVmZmVyCisgICAgICAgICAgICAgICAgcnVuKCJjdWUuZGF0YSA9IGV4
cGVjdGVkRGF0YS5idWZmZXIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm5ldyBV
aW50OEFycmF5KGN1ZS5kYXRhKVswXSIsIDcpOworICAgICAgICAgICAgICAgIHJ1bigiZXhwZWN0
ZWREYXRhWzBdID0gMTEiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIm5ldyBVaW50
OEFycmF5KGN1ZS5kYXRhKVswXSIsIDcpOworCisgICAgICAgICAgICAgICAgLy8gR2V0dGluZyAu
ZGF0YSB0aGVuIGNoYW5naW5nIHRoZSBvcmlnaW5hbCBidWZmZXIKKyAgICAgICAgICAgICAgICBy
dW4oIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVswXSA9IDgiKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoIihuZXcgVWludDhBcnJheShjdWUuZGF0YSkpWzBdIiwgNyk7CisKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiogSGFuZGxlIG51bGwgZGF0YSBncmFjZWZ1
bGx5LiIpOworICAgICAgICAgICAgICAgIHJ1bigiY3VlLmRhdGEgPSBudWxsIik7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJjdWUuZGF0YSIsIG51bGwpOworICAgICAgICAgICAgICAg
IHJ1bigiY3VlID0gbmV3IERhdGFDdWUoMywgMTAsIG51bGwpIik7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJjdWUuZGF0YSIsIG51bGwpOworCiAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCI8YnI+KioqIFRlc3QgYWRkaW5nIERhdGFDdWUgdG8gdHJhY2sgd2l0aCBraW5kID0g
J21ldGFkYXRhJy4iKTsKICAgICAgICAgICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJ2aWRlbyIpOwogICAgICAgICAgICAgICAgIG1ldGFkYXRhVHJhY2sgPSB2aWRl
by5hZGRUZXh0VHJhY2soIm1ldGFkYXRhIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224382</attachid>
            <date>2014-02-17 08:58:48 -0800</date>
            <delta_ts>2014-02-17 10:43:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128886-20140217105847.patch</filename>
            <type>text/plain</type>
            <size>9466</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg3ZTE1NzgyYzIyOGFm
YTQ2MjlhMWNmYjM3ZDNhYjI5NmY3ODVhZC4uMjdkMDAzZjgyYmNjZmE5NGYyZDc5MWQxZjhlMzQx
NmU0NmM5MTgxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAyLTE3ICBCcmVu
ZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KKworICAgICAgICBEYXRhQ3VlLmRhdGEg
c2hvdWxkIGJlIGEgY29weSBvZiB0aGUgaW5wdXQgQXJyYXlCdWZmZXIsIG5vdCBhIHBvaW50ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODg4Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywganVzdCB1cGRhdGVkIGV4aXN0aW5nIHRyYWNrLWRhdGFjdWUuaHRtbCB0ZXN0LgorCisg
ICAgICAgICogaHRtbC90cmFjay9EYXRhQ3VlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFD
dWU6OkRhdGFDdWUpOiBBZGQgRXhjZXB0aW9uQ29kZSBhbmQgcGFzcyB0aHJvdWdoIHRvIHNldERh
dGEoKS4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFDdWU6OmRhdGEpOiBSZXR1cm4gYSBjb3B5IG9m
IG1fZGF0YSBpbnN0ZWFkIG9mIGEgcG9pbnRlci4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGFDdWU6
OnNldERhdGEpOiBDcmVhdGUgYSBjb3B5IG9mIHRoZSBpbnB1dCBkYXRhLCBvciB0aHJvdyBhbiBl
eGNlcHRpb24gaWYgaXQncyBudWxsLgorICAgICAgICAqIGh0bWwvdHJhY2svRGF0YUN1ZS5oOiBB
ZGQgRXhjZXB0aW9uQ29kZSBwYXJhbWV0ZXJzIHRvIGNvbnN0cnVjdG9yIGFuZCBkYXRhIHNldHRl
ci4KKyAgICAgICAgKiBodG1sL3RyYWNrL0RhdGFDdWUuaWRsOiBTYW1lLgorCiAyMDE0LTAyLTE3
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtD
U1MgR3JpZCBMYXlvdXRdIEZpeCBtaXNzaW5nIGxheW91dCBpbiBmbGV4aWJsZSBhbmQgY29udGVu
dCBzaXplZCBjb2x1bW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0Rh
dGFDdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9EYXRhQ3VlLmNwcAppbmRleCA5
N2RhYWQyOTQ3ZWExOTJlYzAxNmMxZmZlMjA4MDA2YTMwNDE0YTQ5Li43NDk0MjE1YTk4NWQ3NGQ1
OWVjODY5Mzc5Mjk5N2IxNjhjNzI4MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0RhdGFDdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0YUN1
ZS5jcHAKQEAgLTM0LDE2ICszNCwzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLURhdGFD
dWU6OkRhdGFDdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgZG91YmxlIHN0YXJ0
LCBkb3VibGUgZW5kLCBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhKQorRGF0YUN1ZTo6RGF0
YUN1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBkb3VibGUgc3RhcnQsIGRvdWJs
ZSBlbmQsIEFycmF5QnVmZmVyKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICA6IFRleHRU
cmFja0N1ZShjb250ZXh0LCBzdGFydCwgZW5kKQotICAgICwgbV9kYXRhKGRhdGEpCiB7CisgICAg
c2V0RGF0YShkYXRhLCBlYyk7CiB9CiAKIERhdGFDdWU6On5EYXRhQ3VlKCkKIHsKIH0KIAorUmVm
UHRyPEFycmF5QnVmZmVyPiBEYXRhQ3VlOjpkYXRhKCkgY29uc3QKK3sKKyAgICBBU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTihtX2RhdGEpOworICAgIHJldHVybiBBcnJheUJ1ZmZlcjo6
Y3JlYXRlKG1fZGF0YS5nZXQoKSk7Cit9CisKK3ZvaWQgRGF0YUN1ZTo6c2V0RGF0YShBcnJheUJ1
ZmZlciogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkYXRhKQorICAgICAg
ICBlYyA9IFR5cGVFcnJvcjsKKyAgICBlbHNlCisgICAgICAgIG1fZGF0YSA9IEFycmF5QnVmZmVy
OjpjcmVhdGUoZGF0YSk7Cit9CisKIFN0cmluZyBEYXRhQ3VlOjp0ZXh0KGJvb2wmIGlzTnVsbCkg
Y29uc3QKIHsKICAgICBpc051bGwgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9EYXRhQ3VlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0RhdGFDdWUu
aAppbmRleCA4ODhkOWU5ZjFiMzc3NmM1MmUwODRkYmYwMzhlNmZjMGVjNjliMmJmLi45MWEzMDgx
MWNhMGZiZDg1Mjg2OTI0ZWE1N2UzNTlkYzlkMTYyMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0RhdGFDdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L0RhdGFDdWUuaApAQCAtMzgsMjAgKzM4LDIwIEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKIGNsYXNzIERhdGFDdWUgOiBwdWJsaWMgVGV4dFRyYWNrQ3VlIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhQ3VlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgZG91YmxlIHN0YXJ0LCBkb3VibGUgZW5kLCBQYXNzUmVmUHRyPEFycmF5QnVm
ZmVyPiBkYXRhKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGFDdWU+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQsIEFycmF5
QnVmZmVyKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgRGF0YUN1ZShjb250ZXh0LCBzdGFydCwgZW5kLCBkYXRhKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRGF0YUN1ZShjb250ZXh0LCBzdGFydCwgZW5kLCBkYXRhLCBl
YykpOwogICAgIH0KIAogICAgIHZpcnR1YWwgfkRhdGFDdWUoKTsKICAgICB2aXJ0dWFsIEN1ZVR5
cGUgY3VlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIERhdGE7IH0KIAotICAgIFJlZlB0cjxBcnJheUJ1
ZmZlcj4gZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQotICAgIHZvaWQgc2V0RGF0YShQ
YXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhKSB7IG1fZGF0YSA9IGRhdGE7IH0KKyAgICBSZWZQ
dHI8QXJyYXlCdWZmZXI+IGRhdGEoKSBjb25zdDsKKyAgICB2b2lkIHNldERhdGEoQXJyYXlCdWZm
ZXIqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgU3RyaW5nIHRleHQoYm9vbCYgaXNOdWxsKSBjb25z
dDsKIAogcHJvdGVjdGVkOgotICAgIERhdGFDdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGRv
dWJsZSBzdGFydCwgZG91YmxlIGVuZCwgUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4pOworICAgIERh
dGFDdWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGRvdWJsZSBzdGFydCwgZG91YmxlIGVuZCwg
QXJyYXlCdWZmZXIqLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CiAgICAgUmVmUHRyPEFy
cmF5QnVmZmVyPiBtX2RhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L0RhdGFDdWUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9EYXRhQ3VlLmlkbAppbmRl
eCA1OTczZTEwNmI2OWM2MmU4ZDQ3YzhhZTllMzUyYjgxZWE5ZDE2ZWE1Li4yMWYzMTg3ZTM1Njgz
YzBhN2NlYjk3YTQxNjE1YjMyNTFhMDY0OGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0RhdGFDdWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svRGF0
YUN1ZS5pZGwKQEAgLTI0LDkgKzI0LDEwIEBACiAgKi8KIFsKICAgICBDb25kaXRpb25hbD1WSURF
T19UUkFDSywKLSAgICBDb25zdHJ1Y3Rvcihkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGlt
ZSwgQXJyYXlCdWZmZXIgZGF0YSksCisgICAgQ29uc3RydWN0b3IoZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIGVuZFRpbWUsIFtTdHJpY3RUeXBlQ2hlY2tpbmddIEFycmF5QnVmZmVyIGRhdGEpLAog
ICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICBDb25z
dHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiwKIF0gaW50ZXJmYWNlIERhdGFDdWUgOiBUZXh0VHJhY2tD
dWUgewotICAgIGF0dHJpYnV0ZSBBcnJheUJ1ZmZlciBkYXRhOworICAgIFtTZXR0ZXJSYWlzZXNF
eGNlcHRpb25dIGF0dHJpYnV0ZSBBcnJheUJ1ZmZlciBkYXRhOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmc/IHRleHQ7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIxMjE2MGQyNzM3ZTk2ZjE4OTI5NTg1
MjZjYjFiYjdiM2NjYjBjNWIuLjI4ZGVhYWRjY2M0OTg4NzRhYjc4ZTVmYzMzYTlhZTY2ZDZhNjg3
YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMi0xNyAgQnJlbmRhbiBMb25nICA8Yi5s
b25nQGNhYmxlbGFicy5jb20+CisKKyAgICAgICAgRGF0YUN1ZS5kYXRhIHNob3VsZCBiZSBhIGNv
cHkgb2YgdGhlIGlucHV0IEFycmF5QnVmZmVyLCBub3QgYSBwb2ludGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg4ODYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWRh
dGFjdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWRhdGFjdWUu
aHRtbDoKKwogMjAxNC0wMi0xNyAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlh
LmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBGaXggbWlzc2luZyBsYXlvdXQgaW4g
ZmxleGlibGUgYW5kIGNvbnRlbnQgc2l6ZWQgY29sdW1ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stZGF0YWN1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1kYXRhY3VlLWV4cGVjdGVkLnR4dAppbmRleCBkYTZlZjM2MGJhN2Zk
YTVlZWEzOTVkOTAwZWFhNTMzZWQ0YzE0MTI0Li5kMTNjM2NkMzE3NmQ1MDYwOTBkOTNlMjNiYWRm
ZjVhNzllOGY4ZWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1k
YXRhY3VlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1k
YXRhY3VlLWV4cGVjdGVkLnR4dApAQCAtMTksNiArMTksMjQgQEAgRVhQRUNURUQgKG5ldyBVaW50
OEFycmF5KGN1ZS5kYXRhKVszXSA9PSAnMScpIE9LCiBFWFBFQ1RFRCAobmV3IFVpbnQ4QXJyYXko
Y3VlLmRhdGEpWzRdID09ICc5JykgT0sKIEVYUEVDVEVEIChjdWUudGV4dCA9PSAnbnVsbCcpIE9L
CiAKKyoqKiBDaGFuZ2luZyB0aGUgb3JpZ2luYWwgYnVmZmVyIGRhdGEgc2hvdWxkIG5vdCBlZmZl
Y3QgRGF0YUN1ZS5kYXRhLgorUlVOKGV4cGVjdGVkRGF0YVswXSA9IDcpCitFWFBFQ1RFRCAobmV3
IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzBdID09ICc0JykgT0sKK1JVTihjdWUuZGF0YSA9IGV4cGVj
dGVkRGF0YS5idWZmZXIpCitFWFBFQ1RFRCAobmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzBdID09
ICc3JykgT0sKK1JVTihleHBlY3RlZERhdGFbMF0gPSAxMSkKK0VYUEVDVEVEIChuZXcgVWludDhB
cnJheShjdWUuZGF0YSlbMF0gPT0gJzcnKSBPSworUlVOKG5ldyBVaW50OEFycmF5KGN1ZS5kYXRh
KVswXSA9IDgpCitFWFBFQ1RFRCAoKG5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKSlbMF0gPT0gJzcn
KSBPSworCisqKiogVGhyb3cgZXhjZXB0aW9uIGlmIGRhdGEgaXMgbm90IGFuIEFycmF5QnVmZmVy
LgorVEVTVChjdWUuZGF0YSA9IG51bGwpIFRIUk9XUygnVHlwZUVycm9yOiBUeXBlIGVycm9yJykg
T0sKK1RFU1QoY3VlLmRhdGEgPSAndGVzdCcpIFRIUk9XUygnVHlwZUVycm9yOiBUeXBlIGVycm9y
JykgT0sKK1RFU1QoY3VlLmRhdGEgPSBbNV0pIFRIUk9XUygnVHlwZUVycm9yOiBUeXBlIGVycm9y
JykgT0sKK1RFU1QoYmFkQ3VlID0gbmV3IERhdGFDdWUoMSwgMiwgbnVsbCkpIFRIUk9XUygnVHlw
ZUVycm9yOiBUeXBlIGVycm9yJykgT0sKK1RFU1QoYmFkQ3VlID0gbmV3IERhdGFDdWUoMSwgMiwg
J3Rlc3QnKSkgVEhST1dTKCdUeXBlRXJyb3I6IFR5cGUgZXJyb3InKSBPSworVEVTVChiYWRDdWUg
PSBuZXcgRGF0YUN1ZSgxLCAyLCBbNV0pKSBUSFJPV1MoJ1R5cGVFcnJvcjogVHlwZSBlcnJvcicp
IE9LCisKICoqKiBUZXN0IGFkZGluZyBEYXRhQ3VlIHRvIHRyYWNrIHdpdGgga2luZCA9ICdtZXRh
ZGF0YScuCiBFWFBFQ1RFRCAoY3VlLnRyYWNrID09ICdbb2JqZWN0IFRleHRUcmFja10nKSBPSwog
RVhQRUNURUQgKG1ldGFkYXRhVHJhY2suY3Vlc1swXSA9PSAnW29iamVjdCBEYXRhQ3VlXScpIE9L
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRhY3VlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kYXRhY3VlLmh0bWwKaW5kZXggMTRiNDU3
Y2Y1NDJmMmUwZTEyZjZiNjlhZGI2MDUxYWRiNjU2ZWFjNC4uM2I3YzhjNzQzMGM4NTk5OWNkOWM4
ZjE3ZTViMTE0ZjgzNjJlNmU2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2stZGF0YWN1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRh
dGFjdWUuaHRtbApAQCAtOCwxNCArOCw4IEBACiAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAg
ICBmdW5jdGlvbiBsb2FkZWQoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBi
dWYgPSBuZXcgQXJyYXlCdWZmZXIoNSk7Ci0gICAgICAgICAgICAgICAgdmFyIGJ1ZlZpZXcgPSBu
ZXcgVWludDhBcnJheShidWYpOwotICAgICAgICAgICAgICAgIGJ1ZlZpZXdbMF0gPSA0OwotICAg
ICAgICAgICAgICAgIGJ1ZlZpZXdbMV0gPSA1OwotICAgICAgICAgICAgICAgIGJ1ZlZpZXdbMl0g
PSAyOwotICAgICAgICAgICAgICAgIGJ1ZlZpZXdbM10gPSAxOwotICAgICAgICAgICAgICAgIGJ1
ZlZpZXdbNF0gPSA5OwotICAgICAgICAgICAgICAgIGN1ZSA9IG5ldyBEYXRhQ3VlKDMsIDEwLCBi
dWYpOworICAgICAgICAgICAgICAgIGV4cGVjdGVkRGF0YSA9IG5ldyBVaW50OEFycmF5KFs0LCA1
LCAyLCAxLCA5XSk7CisgICAgICAgICAgICAgICAgY3VlID0gbmV3IERhdGFDdWUoMywgMTAsIGV4
cGVjdGVkRGF0YS5idWZmZXIpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+
KioqIFRlc3QgRGF0YUN1ZSdzIFRleHRUcmFja0N1ZSBpbnRlcmZhY2UuIik7CiAgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJjdWUiLCBUZXh0VHJhY2tDdWUsICJpbnN0YW5jZW9mIik7CkBA
IC0yNyw5ICsyMSwzNSBAQAogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+Kioq
IFRlc3QgRGF0YUN1ZSBpbnRlcmZhY2UuIik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJjdWUiLCBEYXRhQ3VlLCAiaW5zdGFuY2VvZiIpOwotICAgICAgICAgICAgICAgIHRlc3RBcnJh
eXNFcXVhbCgibmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpIiwgbmV3IFVpbnQ4QXJyYXkoYnVmKSk7
CisgICAgICAgICAgICAgICAgdGVzdEFycmF5c0VxdWFsKCJuZXcgVWludDhBcnJheShjdWUuZGF0
YSkiLCBleHBlY3RlZERhdGEpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiY3VlLnRl
eHQiLCBudWxsKTsKIAorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9CdWdz
L1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2ODcKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIjxicj4qKiogQ2hhbmdpbmcgdGhlIG9yaWdpbmFsIGJ1ZmZlciBkYXRhIHNob3VsZCBub3Qg
ZWZmZWN0IERhdGFDdWUuZGF0YS4iKTsKKworICAgICAgICAgICAgICAgIC8vIFBhc3NpbmcgZGF0
YSB0byBjb25zdHJ1Y3RvciB0aGVuIGNoYW5naW5nIHRoZSBvcmlnaW5hbCBidWZmZXIKKyAgICAg
ICAgICAgICAgICBydW4oImV4cGVjdGVkRGF0YVswXSA9IDciKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoIm5ldyBVaW50OEFycmF5KGN1ZS5kYXRhKVswXSIsIDQpOworCisgICAgICAg
ICAgICAgICAgLy8gU2V0dGluZyAuZGF0YSB0aGVuIGNoYW5naW5nIHRoZSBvcmlnaW5hbCBidWZm
ZXIKKyAgICAgICAgICAgICAgICBydW4oImN1ZS5kYXRhID0gZXhwZWN0ZWREYXRhLmJ1ZmZlciIp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEp
WzBdIiwgNyk7CisgICAgICAgICAgICAgICAgcnVuKCJleHBlY3RlZERhdGFbMF0gPSAxMSIpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgibmV3IFVpbnQ4QXJyYXkoY3VlLmRhdGEpWzBd
IiwgNyk7CisKKyAgICAgICAgICAgICAgICAvLyBHZXR0aW5nIC5kYXRhIHRoZW4gY2hhbmdpbmcg
dGhlIG9yaWdpbmFsIGJ1ZmZlcgorICAgICAgICAgICAgICAgIHJ1bigibmV3IFVpbnQ4QXJyYXko
Y3VlLmRhdGEpWzBdID0gOCIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiKG5ldyBV
aW50OEFycmF5KGN1ZS5kYXRhKSlbMF0iLCA3KTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiPGJyPioqKiBUaHJvdyBleGNlcHRpb24gaWYgZGF0YSBpcyBub3QgYW4gQXJyYXlCdWZm
ZXIuIik7CisgICAgICAgICAgICAgICAgdmFyIGVycm9yID0gIidUeXBlRXJyb3I6IFR5cGUgZXJy
b3InIjsKKyAgICAgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJjdWUuZGF0YSA9IG51bGwiLCBl
cnJvcik7CisgICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigiY3VlLmRhdGEgPSAndGVzdCci
LCBlcnJvcik7CisgICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigiY3VlLmRhdGEgPSBbNV0i
LCBlcnJvcik7CisgICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigiYmFkQ3VlID0gbmV3IERh
dGFDdWUoMSwgMiwgbnVsbCkiLCBlcnJvcik7CisgICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlv
bigiYmFkQ3VlID0gbmV3IERhdGFDdWUoMSwgMiwgJ3Rlc3QnKSIsIGVycm9yKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhjZXB0aW9uKCJiYWRDdWUgPSBuZXcgRGF0YUN1ZSgxLCAyLCBbNV0pIiwg
ZXJyb3IpOworCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KioqIFRlc3QgYWRk
aW5nIERhdGFDdWUgdG8gdHJhY2sgd2l0aCBraW5kID0gJ21ldGFkYXRhJy4iKTsKICAgICAgICAg
ICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpOwogICAg
ICAgICAgICAgICAgIG1ldGFkYXRhVHJhY2sgPSB2aWRlby5hZGRUZXh0VHJhY2soIm1ldGFkYXRh
Iik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>