<?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>121586</bug_id>
          
          <creation_ts>2013-09-18 20:21:45 -0700</creation_ts>
          <short_desc>Fix the HTMLSelectElement.prototype.remove() method</short_desc>
          <delta_ts>2013-10-03 16:37:33 -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>DOM</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>http://dom.spec.whatwg.org/#dom-childnode-remove</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>philn</cc>
    
    <cc>syoichi</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930834</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-09-18 20:21:45 -0700</bug_when>
    <thetext>Consider merging https://chromium.googlesource.com/chromium/blink/+/f851277598b06bc6b06543782396d9546e47751f

Fix the HTMLSelectElement.prototype.remove() method so that it behaves like
Element.remove() if no argument is passed (from ChildNode). This behavior
is consistent with Firefox.

Also get rid of custom code for HTMLSelectElement.remove() and
HTMLOptionsCollection.remove() by leveraging operation overloading in Web
IDL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931206</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-19 23:41:24 -0700</bug_when>
    <thetext>I am out of office and in the process on moving. I am happy to port this over to WebKit as soon as I get some coding time though.

If you don&apos;t wish to wait for me, it is also fine of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935952</commentid>
    <comment_count>2</comment_count>
      <attachid>213291</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-10-03 13:31:36 -0700</bug_when>
    <thetext>Created attachment 213291
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935957</commentid>
    <comment_count>3</comment_count>
      <attachid>213291</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-03 13:43:25 -0700</bug_when>
    <thetext>Comment on attachment 213291
Patch

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

Good thing to fix, but not done quite the right way.

&gt; Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp:93
&gt; -    HTMLOptionsCollection* imp = impl();
&gt; -    JSHTMLSelectElement* base = jsCast&lt;JSHTMLSelectElement*&gt;(asObject(toJS(exec, globalObject(), imp-&gt;ownerNode())));
&gt; -    return base-&gt;remove(exec);
&gt; +    HTMLOptionsCollection&amp; imp = *impl();
&gt; +
&gt; +    // The argument can be an HTMLOptionElement or an index.
&gt; +    if (HTMLOptionElement* option = toHTMLOptionElement(exec-&gt;argument(0))) {
&gt; +        HTMLSelectElement&amp; select = *static_cast&lt;HTMLSelectElement*&gt;(imp.ownerNode());
&gt; +        select.remove(option);
&gt; +    } else
&gt; +        imp.remove(exec-&gt;argument(0).toInt32(exec));
&gt; +    return jsUndefined();

Overloading should be reflected in the real class, not just the binding. The job of the binding is to get the types converted from JavaScript and get over to the DOM. So this should be something like this:

    JSValue argument0 = exec-&gt;argument(0);
    if (HTMLOptionElement* option = toHTMLOptionElement(argument0))
        impl()-&gt;remove(option);
    else
        impl()-&gt;remove(argument.toInt32(exec));

The rest of the logic should be in the functions in HTMLOptionsCollection itself. No accident that JSHTMLSelectElement does it this way.

&gt; Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp:44
&gt; +        static_cast&lt;Element&amp;&gt;(select).remove(ec);

This is the wrong way to do it. We should not cast to Element&amp;. Instead we should use “using” to make the inherited remove visible in the HTMLSelectElement class like this:

    using HTMLElement::remove;
    // other remove overloads go here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935962</commentid>
    <comment_count>4</comment_count>
      <attachid>213291</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-10-03 14:01:41 -0700</bug_when>
    <thetext>Comment on attachment 213291
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp:93
&gt;&gt; +    return jsUndefined();
&gt; 
&gt; Overloading should be reflected in the real class, not just the binding. The job of the binding is to get the types converted from JavaScript and get over to the DOM. So this should be something like this:
&gt; 
&gt;     JSValue argument0 = exec-&gt;argument(0);
&gt;     if (HTMLOptionElement* option = toHTMLOptionElement(argument0))
&gt;         impl()-&gt;remove(option);
&gt;     else
&gt;         impl()-&gt;remove(argument.toInt32(exec));
&gt; 
&gt; The rest of the logic should be in the functions in HTMLOptionsCollection itself. No accident that JSHTMLSelectElement does it this way.

Makes sense. I will add a remove(HTMLOptionsElement*) overload to HTMLOptionsCollection class then.

&gt;&gt; Source/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp:44
&gt;&gt; +        static_cast&lt;Element&amp;&gt;(select).remove(ec);
&gt; 
&gt; This is the wrong way to do it. We should not cast to Element&amp;. Instead we should use “using” to make the inherited remove visible in the HTMLSelectElement class like this:
&gt; 
&gt;     using HTMLElement::remove;
&gt;     // other remove overloads go here

Yes, this is what I did on Blink side actually. The issue on WebKit side is that Node::remove() takes a ExceptionCode&amp; in argument and ExceptionCode is a typedef to int. Therefore, using Node::remove in HTMLSelectElement.h does not compile as calls to remove(int) become ambiguous (as HTMLSelectElement::remove(int) already exists).

How do you suggest to proceed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935967</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-03 14:08:38 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; The issue on WebKit side is that Node::remove() takes a ExceptionCode&amp; in argument and ExceptionCode is a typedef to int. Therefore, using Node::remove in HTMLSelectElement.h does not compile as calls to remove(int) become ambiguous (as HTMLSelectElement::remove(int) already exists).
&gt; 
&gt; How do you suggest to proceed?

Short term I would suggest renaming HTMLSelectElement::remove(int) to eliminate the ambiguity. Maybe removeByIndex. With a comment explaining the ambiguity.

Longer term there may be some better solution. Not sure we want to change ExceptionCode to be something other than an integer as Blink have, but maybe something like that. It could just be a class wrapping an integer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935980</commentid>
    <comment_count>6</comment_count>
      <attachid>213297</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-10-03 14:28:37 -0700</bug_when>
    <thetext>Created attachment 213297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935991</commentid>
    <comment_count>7</comment_count>
      <attachid>213297</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-03 14:48:45 -0700</bug_when>
    <thetext>Comment on attachment 213297
Patch

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

Looks fine as long as we fix GTK.

&gt; Source/WebCore/html/HTMLSelectElement.h:63
&gt; +    void removeByIndex(int);

This change broke GTK’s binding: webkit_dom_html_select_element_remove. I guess we have to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935997</commentid>
    <comment_count>8</comment_count>
      <attachid>213303</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-10-03 15:05:51 -0700</bug_when>
    <thetext>Created attachment 213303
Attempt  to fix ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936027</commentid>
    <comment_count>9</comment_count>
      <attachid>213303</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 16:37:29 -0700</bug_when>
    <thetext>Comment on attachment 213303
Attempt  to fix ews

Clearing flags on attachment: 213303

Committed r156869: &lt;http://trac.webkit.org/changeset/156869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936028</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 16:37:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213291</attachid>
            <date>2013-10-03 13:31:36 -0700</date>
            <delta_ts>2013-10-03 14:28:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121586-20131003163135.patch</filename>
            <type>text/plain</type>
            <size>6804</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjAxNmY3ZjQ2ZWFkNzhm
NGU4Njc4YjI5YzU5NTM4ZjA3Mjc3MjQwYy4uNTY5YjU1NDRkYzIzNjUwZmNiM2YwYTdkYjE2ZmFj
ZGFlYzdjZThiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTEwLTAzICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBGaXgg
dGhlIEhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZS5yZW1vdmUoKSBtZXRob2QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTU4NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0aGUgSFRNTFNlbGVj
dEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgpIG1ldGhvZCBzbyB0aGF0IGl0IGJlaGF2ZXMgbGlr
ZQorICAgICAgICBFbGVtZW50LnJlbW92ZSgpIGlmIG5vIGFyZ3VtZW50IGlzIHBhc3NlZCAoZnJv
bSBDaGlsZE5vZGUpLiBUaGlzIGJlaGF2aW9yCisgICAgICAgIGlzIGNvbnNpc3RlbnQgd2l0aCBG
aXJlZm94IGFuZCBCbGluay4KKworICAgICAgICBTZWUgaHR0cHM6Ly93d3cudzMub3JnL0J1Z3Mv
UHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMDcyMCBmb3IgbW9yZQorICAgICAgICBpbmZvcm1hdGlv
bi4KKworICAgICAgICBUZXN0czoganMvZG9tL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKToKKyAg
ICAgICAgU3RvcCBjYWxsaW5nIEpTSFRNTFNlbGVjdEVsZW1lbnQ6OnJlbW92ZSgpIGJsaW5kbHkg
YXMgaXQgaXMgZGFuZ2Vyb3VzLCBlc3BlY2lhbGx5CisgICAgICAgIG5vdyB0aGF0IGNhbGxpbmcg
aXQgd2l0aG91dCBhcmd1bWVudCBub3cgZGV0YWNoZXMgdGhlIGVsZW1lbnQuCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTSFRNTFNlbGVjdEVsZW1lbnQ6OnJlbW92ZSk6CisgICAgICAgIENhbGwgRWxlbWVu
dDo6cmVtb3ZlKCkgaWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4uCisKIDIwMTMtMTAtMDMgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgSURCRmFjdG9yeUJh
Y2tlbmQgY3JlYXRpb24gdG8gRGF0YWJhc2VTdHJhdGVneS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNw
cAppbmRleCBiZWUyZjkxOTA4NjNkYzBhNGVjNDFhZTg0ZTdhMWJkMmM3YTk2OWUyLi41ZGVkMTQ2
ZmZjZjY3MjFiMjAwZDM0MDNlZTRjYmEzODgwZjdlN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20u
Y3BwCkBAIC04Miw5ICs4MiwxNSBAQCBKU1ZhbHVlIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjph
ZGQoRXhlY1N0YXRlKiBleGVjKQogCiBKU1ZhbHVlIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpy
ZW1vdmUoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogaW1w
ID0gaW1wbCgpOwotICAgIEpTSFRNTFNlbGVjdEVsZW1lbnQqIGJhc2UgPSBqc0Nhc3Q8SlNIVE1M
U2VsZWN0RWxlbWVudCo+KGFzT2JqZWN0KHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIGltcC0+
b3duZXJOb2RlKCkpKSk7Ci0gICAgcmV0dXJuIGJhc2UtPnJlbW92ZShleGVjKTsKKyAgICBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24mIGltcCA9ICppbXBsKCk7CisKKyAgICAvLyBUaGUgYXJndW1lbnQg
Y2FuIGJlIGFuIEhUTUxPcHRpb25FbGVtZW50IG9yIGFuIGluZGV4LgorICAgIGlmIChIVE1MT3B0
aW9uRWxlbWVudCogb3B0aW9uID0gdG9IVE1MT3B0aW9uRWxlbWVudChleGVjLT5hcmd1bWVudCgw
KSkpIHsKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQmIHNlbGVjdCA9ICpzdGF0aWNfY2FzdDxI
VE1MU2VsZWN0RWxlbWVudCo+KGltcC5vd25lck5vZGUoKSk7CisgICAgICAgIHNlbGVjdC5yZW1v
dmUob3B0aW9uKTsKKyAgICB9IGVsc2UKKyAgICAgICAgaW1wLnJlbW92ZShleGVjLT5hcmd1bWVu
dCgwKS50b0ludDMyKGV4ZWMpKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVu
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVt
ZW50Q3VzdG9tLmNwcAppbmRleCBhNDkyOGIxYzE0MTBjMDZlMDQxNTVhYzRiZjcwNWRlYjU3ZGE3
ODRlLi4wNGZmZGZlNzUwYWEyYjYxYjE1OTdlNGVkYTcxZTc4ZjFlMTA3Y2NjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3Vz
dG9tLmNwcApAQCAtMzYsMTEgKzM2LDIwIEBAIEpTVmFsdWUgSlNIVE1MU2VsZWN0RWxlbWVudDo6
cmVtb3ZlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBIVE1MU2VsZWN0RWxlbWVudCYgc2VsZWN0
ID0gKmltcGwoKTsKIAotICAgIC8vIFRoZSByZW1vdmUgZnVuY3Rpb24gY2FuIHRha2UgZWl0aGVy
IGFuIG9wdGlvbiBvYmplY3Qgb3IgdGhlIGluZGV4IG9mIGFuIG9wdGlvbi4KLSAgICBpZiAoSFRN
TE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHRvSFRNTE9wdGlvbkVsZW1lbnQoZXhlYy0+YXJndW1l
bnQoMCkpKQotICAgICAgICBzZWxlY3QucmVtb3ZlKG9wdGlvbik7Ci0gICAgZWxzZQotICAgICAg
ICBzZWxlY3QucmVtb3ZlKGV4ZWMtPmFyZ3VtZW50KDApLnRvSW50MzIoZXhlYykpOworICAgIHNp
emVfdCBhcmdzQ291bnQgPSBleGVjLT5hcmd1bWVudENvdW50KCk7CisKKyAgICBpZiAoIWFyZ3ND
b3VudCkgeworICAgICAgICAvLyBXaGVuIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50LCB3ZSBzaG91
bGQgY2FsbCBFbGVtZW50OjpyZW1vdmUoKSB0byBkZXRhY2guCisgICAgICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOworICAgICAgICBzdGF0aWNfY2FzdDxFbGVtZW50Jj4oc2VsZWN0KS5yZW1vdmUo
ZWMpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIFRoZSBIVE1MU2VsZWN0RWxlbWVudDo6cmVtb3ZlKCkgZnVuY3Rpb24gY2FuIHRh
a2UgZWl0aGVyIGFuIG9wdGlvbiBvYmplY3Qgb3IgdGhlIGluZGV4IG9mIGFuIG9wdGlvbi4KKyAg
ICAgICAgaWYgKEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hUTUxPcHRpb25FbGVtZW50
KGV4ZWMtPmFyZ3VtZW50KDApKSkKKyAgICAgICAgICAgIHNlbGVjdC5yZW1vdmUob3B0aW9uKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VsZWN0LnJlbW92ZShleGVjLT5hcmd1bWVudCgw
KS50b0ludDMyKGV4ZWMpKTsKKyAgICB9CiAKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YjRhM2ZlYjczMzAyN2ZmNjJkYjcwMWI4MzQ4YjhkOTMwM2YyZTEyLi4zMzg2M2Q4
M2Y4MWJiZTIyNGUzNzc2MTY1ZjI5NWI3YjNlYjU0OTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTMtMTAtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29t
PgorCisgICAgICAgIEZpeCB0aGUgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgp
IG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIxNTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHRlc3QgdG8gbWFrZSBzdXJlIGNhbGxpbmcgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90eXBl
LnJlbW92ZSgpIGRldGFjaGVzIHRoZQorICAgICAgICBzZWxlY3QgZWxlbWVudCBmcm9tIGl0cyBw
YXJlbnQsIGFzIEVsZW1lbnQ6OnJlbW92ZSgpIHdvdWxkLgorCisgICAgICAgICoganMvZG9tL3Nl
bGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvcmVzb3VyY2Vz
L3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qczoKKwogMjAxMy0xMC0wMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgdGVzdCBleHBlY3RhdGlvbiBm
b3Igb25lIG1vcmUgdGVzdCBoYXZpbmcgY29sb3Igc3BhY2UgaXNzdWVzIGFmdGVyIHIxNTY3OTMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhw
ZWN0ZWQudHh0CmluZGV4IDRjMWFiZWY2ZGU5YmI2ZDdmOTQwNGQ4NmJkNjAzYmU5NDliMWQ4MWMu
LjNiN2YyNDc0YmJjYmU3YWZhODUxZTcyMmE0MTA2Zjk3OTgxNGViYWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0CkBA
IC03OCw2ICs3OCwxMSBAQCBQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMSkgaXMgdW5kZWZp
bmVkCiBQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMAogUEFTUyBzZWxlY3QxLnNlbGVj
dGVkSW5kZXggaXMgLTEKIAorMS4xNiBEZXRhY2ggc2VsZWN0IGVsZW1lbnQKK1BBU1Mgc2VsZWN0
MS5wYXJlbnROb2RlIGlzIG5vdCBudWxsCitQQVNTIHNlbGVjdDEucmVtb3ZlKCkgaXMgdW5kZWZp
bmVkCitQQVNTIHNlbGVjdDEucGFyZW50Tm9kZSBpcyBudWxsCisKIDIuMSBSZW1vdmUgKG9iamVj
dCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucwogUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZh
bHVlKSBpcyB1bmRlZmluZWQKIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxNQpAQCAt
MTc0LDcgKzE3OSwxMiBAQCBQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBz
ZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMAogUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUg
aXMgJ1AnCiAKKzIuMTcgRGV0YWNoIHNlbGVjdCBlbGVtZW50CitQQVNTIHNlbGVjdDIucGFyZW50
Tm9kZSBpcyBub3QgbnVsbAorUEFTUyBzZWxlY3QyLnJlbW92ZSgpIGlzIHVuZGVmaW5lZAorUEFT
UyBzZWxlY3QyLnBhcmVudE5vZGUgaXMgbnVsbAorCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
cmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qcyBiL0xheW91dFRlc3RzL2pzL3Jlc291
cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMKaW5kZXggMjUyYjczZjM4MTQyY2ZlMDM0YTdk
NGFmZmJkNGM3YjhiNzQ2NGUyZC4uZjg1Njk2ZTFiNGZmYjE1ZDg4OWQ0MWM0ZWUwZDQwOTBiNWI1
ZTc1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25z
LXJlbW92ZS5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMt
cmVtb3ZlLmpzCkBAIC0xMDIsNiArMTAyLDEyIEBAIHNob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMu
bGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsK
IGRlYnVnKCIiKTsKIAorZGVidWcoIjEuMTYgRGV0YWNoIHNlbGVjdCBlbGVtZW50Iik7CitzaG91
bGROb3RCZSgic2VsZWN0MS5wYXJlbnROb2RlIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJzZWxlY3Qx
LnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVOdWxsKCJzZWxlY3QxLnBhcmVudE5v
ZGUiKTsKK2RlYnVnKCIiKTsKKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAKIGkgPSAwOwpAQCAtMjI4LDMgKzIzNCw5IEBAIHNob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVk
SW5kZXgiLCAiMCIpOwogc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSIsICInUCci
KTsKIGRlYnVnKCIiKTsKKworZGVidWcoIjIuMTcgRGV0YWNoIHNlbGVjdCBlbGVtZW50Iik7Citz
aG91bGROb3RCZSgic2VsZWN0Mi5wYXJlbnROb2RlIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVOdWxsKCJzZWxlY3QyLnBhcmVu
dE5vZGUiKTsKK2RlYnVnKCIiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213297</attachid>
            <date>2013-10-03 14:28:37 -0700</date>
            <delta_ts>2013-10-03 15:05:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121586-20131003172836.patch</filename>
            <type>text/plain</type>
            <size>10464</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjAxNmY3ZjQ2ZWFkNzhm
NGU4Njc4YjI5YzU5NTM4ZjA3Mjc3MjQwYy4uNmNmNWE4NjRmODNkMjk0MjQzY2M2YzI1ZTVlNDc1
MDBlMTQ4N2UwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTEwLTAzICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBGaXgg
dGhlIEhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZS5yZW1vdmUoKSBtZXRob2QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTU4NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0aGUgSFRNTFNlbGVj
dEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgpIG1ldGhvZCBzbyB0aGF0IGl0IGJlaGF2ZXMgbGlr
ZQorICAgICAgICBFbGVtZW50LnJlbW92ZSgpIGlmIG5vIGFyZ3VtZW50IGlzIHBhc3NlZCAoZnJv
bSBDaGlsZE5vZGUpLiBUaGlzIGJlaGF2aW9yCisgICAgICAgIGlzIGNvbnNpc3RlbnQgd2l0aCBG
aXJlZm94IGFuZCBCbGluay4KKworICAgICAgICBTZWUgaHR0cHM6Ly93d3cudzMub3JnL0J1Z3Mv
UHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMDcyMCBmb3IgbW9yZQorICAgICAgICBpbmZvcm1hdGlv
bi4KKworICAgICAgICBUZXN0czoganMvZG9tL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKToKKyAg
ICAgICAgU3RvcCBjYWxsaW5nIEpTSFRNTFNlbGVjdEVsZW1lbnQ6OnJlbW92ZSgpIGJsaW5kbHkg
YXMgaXQgaXMgZGFuZ2Vyb3VzLCBlc3BlY2lhbGx5CisgICAgICAgIG5vdyB0aGF0IGNhbGxpbmcg
aXQgd2l0aG91dCBhcmd1bWVudCBub3cgZGV0YWNoZXMgdGhlIGVsZW1lbnQuIEluc3RlYWQsIGhh
dmUgdGhlCisgICAgICAgIGJpbmRpbmdzIGNhbGwgdGhlIGNvcnJlc3BvbmRpbmcgbWV0aG9kcyBv
biB0aGUgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIG9iamVj
dCwgYXMgaXQgc2hvdWxkLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxl
bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxTZWxlY3RFbGVtZW50Ojpy
ZW1vdmUpOgorICAgICAgICBDYWxsIEVsZW1lbnQ6OnJlbW92ZSgpIGlmIG5vIGFyZ3VtZW50IGlz
IGdpdmVuLgorCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUpOgorICAgICAgICAq
IGh0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAg
ICBSZW5hbWUgcmVtb3ZlKGludCkgdG8gcmVtb3ZlQnlJbmRleChpbnQpIHRvIGF2b2lkIGNvbmZs
aWN0IHdpdGgKKyAgICAgICAgTm9kZTo6cmVtb3ZlKEV4Y2VwdGlvbkNvZGUmKS4KKwogMjAxMy0x
MC0wMyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBJ
REJGYWN0b3J5QmFja2VuZCBjcmVhdGlvbiB0byBEYXRhYmFzZVN0cmF0ZWd5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rp
b25DdXN0b20uY3BwCmluZGV4IGJlZTJmOTE5MDg2M2RjMGE0ZWM0MWFlODRlN2ExYmQyYzdhOTY5
ZTIuLjU0YTkwN2Q0NGJkNjZkZmUxODQzNjc4ODkzYmRjNDliZTY3YmQzNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAKQEAgLTgyLDkgKzgyLDEzIEBAIEpTVmFsdWUgSlNIVE1MT3B0aW9uc0Nv
bGxlY3Rpb246OmFkZChFeGVjU3RhdGUqIGV4ZWMpCiAKIEpTVmFsdWUgSlNIVE1MT3B0aW9uc0Nv
bGxlY3Rpb246OnJlbW92ZShFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uKiBpbXAgPSBpbXBsKCk7Ci0gICAgSlNIVE1MU2VsZWN0RWxlbWVudCogYmFzZSA9IGpz
Q2FzdDxKU0hUTUxTZWxlY3RFbGVtZW50Kj4oYXNPYmplY3QodG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QoKSwgaW1wLT5vd25lck5vZGUoKSkpKTsKLSAgICByZXR1cm4gYmFzZS0+cmVtb3ZlKGV4ZWMp
OworICAgIC8vIFRoZSBhcmd1bWVudCBjYW4gYmUgYW4gSFRNTE9wdGlvbkVsZW1lbnQgb3IgYW4g
aW5kZXguCisgICAgSlNWYWx1ZSBhcmd1bWVudCA9IGV4ZWMtPmFyZ3VtZW50KDApOworICAgIGlm
IChIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gdG9IVE1MT3B0aW9uRWxlbWVudChhcmd1bWVu
dCkpCisgICAgICAgIGltcGwoKS0+cmVtb3ZlKG9wdGlvbik7CisgICAgZWxzZQorICAgICAgICBp
bXBsKCktPnJlbW92ZShhcmd1bWVudC50b0ludDMyKGV4ZWMpKTsKKyAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBhNDkyOGIxYzE0MTBjMDZlMDQx
NTVhYzRiZjcwNWRlYjU3ZGE3ODRlLi4xNDY4Y2I5NmU4YzQ3OGJmMjJkODQ4YzY2NWMwZDBiMDM3
OGRjODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxl
Y3RFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzYsMTEgKzM2LDE4IEBAIEpTVmFsdWUgSlNI
VE1MU2VsZWN0RWxlbWVudDo6cmVtb3ZlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBIVE1MU2Vs
ZWN0RWxlbWVudCYgc2VsZWN0ID0gKmltcGwoKTsKIAotICAgIC8vIFRoZSByZW1vdmUgZnVuY3Rp
b24gY2FuIHRha2UgZWl0aGVyIGFuIG9wdGlvbiBvYmplY3Qgb3IgdGhlIGluZGV4IG9mIGFuIG9w
dGlvbi4KLSAgICBpZiAoSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHRvSFRNTE9wdGlvbkVs
ZW1lbnQoZXhlYy0+YXJndW1lbnQoMCkpKQotICAgICAgICBzZWxlY3QucmVtb3ZlKG9wdGlvbik7
Ci0gICAgZWxzZQotICAgICAgICBzZWxlY3QucmVtb3ZlKGV4ZWMtPmFyZ3VtZW50KDApLnRvSW50
MzIoZXhlYykpOworICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKSB7CisgICAgICAgIC8v
IFdoZW4gY2FsbGVkIHdpdGggbm8gYXJndW1lbnQsIHdlIHNob3VsZCBjYWxsIEVsZW1lbnQ6OnJl
bW92ZSgpIHRvIGRldGFjaC4KKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAg
IHNlbGVjdC5yZW1vdmUoZWMpOworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFRoZSBIVE1MU2VsZWN0RWxlbWVudDo6cmVtb3ZlKCkg
ZnVuY3Rpb24gY2FuIHRha2UgZWl0aGVyIGFuIG9wdGlvbiBvYmplY3Qgb3IgdGhlIGluZGV4IG9m
IGFuIG9wdGlvbi4KKyAgICAgICAgaWYgKEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hU
TUxPcHRpb25FbGVtZW50KGV4ZWMtPmFyZ3VtZW50KDApKSkKKyAgICAgICAgICAgIHNlbGVjdC5y
ZW1vdmUob3B0aW9uKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VsZWN0LnJlbW92ZUJ5
SW5kZXgoZXhlYy0+YXJndW1lbnQoMCkudG9JbnQzMihleGVjKSk7CisgICAgfQogCiAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CiB9CkBAIC00OCw3ICs1NSw3IEBAIEpTVmFsdWUgSlNIVE1MU2Vs
ZWN0RWxlbWVudDo6cmVtb3ZlKEV4ZWNTdGF0ZSogZXhlYykKIHZvaWQgc2VsZWN0SW5kZXhTZXR0
ZXIoSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIGluZGV4LCBKU0M6OkpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlLmlzVW5kZWZp
bmVkT3JOdWxsKCkpCi0gICAgICAgIHNlbGVjdC0+cmVtb3ZlKGluZGV4KTsKKyAgICAgICAgc2Vs
ZWN0LT5yZW1vdmVCeUluZGV4KGluZGV4KTsKICAgICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hUTUxP
cHRpb25FbGVtZW50KHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnND
b2xsZWN0aW9uLmNwcAppbmRleCA2NTNmY2NkNzAzYzdjOWQ4ZDI5MGU2NzUwMGNhZTE3NTIyMWZm
MjQzLi43MWI2N2I5ZTZmZjk2Yzg0ZWY1MTcyYmZhNzVkOTY5MjQzMjY4M2UxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwCkBAIC03MCw3ICs3MCwx
MiBAQCB2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlv
bkVsZW1lbnQ+IGVsZW1lbnQsIGludCBpbmRleAogCiB2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6cmVtb3ZlKGludCBpbmRleCkKIHsKLSAgICB0b0hUTUxTZWxlY3RFbGVtZW50KG93bmVyTm9k
ZSgpKS0+cmVtb3ZlKGluZGV4KTsKKyAgICB0b0hUTUxTZWxlY3RFbGVtZW50KG93bmVyTm9kZSgp
KS0+cmVtb3ZlQnlJbmRleChpbmRleCk7Cit9CisKK3ZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9u
OjpyZW1vdmUoSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbikKK3sKKyAgICB0b0hUTUxTZWxlY3RF
bGVtZW50KG93bmVyTm9kZSgpKS0+cmVtb3ZlKG9wdGlvbik7CiB9CiAKIGludCBIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OnNlbGVjdGVkSW5kZXgoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKaW5kZXggZDc2NTgwZmU3MzU5NDhhNDk0NjJkZTA4OGQ0
YmZkNmQ2ZDVhNjdhNi4uODU3OTk3OTc1ODM3NmMxMDhiNGIyZTA0NDAyZTE1YzMxMTg0MjU5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCkBAIC00MCw2
ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZChQYXNzUmVmUHRyPEhUTUxPcHRpb25FbGVt
ZW50PiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgYWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlv
bkVsZW1lbnQ+LCBpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHJlbW92ZShp
bnQgaW5kZXgpOworICAgIHZvaWQgcmVtb3ZlKEhUTUxPcHRpb25FbGVtZW50Kik7CiAKICAgICBp
bnQgc2VsZWN0ZWRJbmRleCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U2VsZWN0ZWRJbmRleChpbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAppbmRleCA5ZDkyNjQy
OTA5ZTEwMTEwZWFmYjgxYTE3YmFjZWZmM2NjNWJmY2U5Li44MGI0Y2RiNDY0ZDZkZjc3YWM0ZTcw
NDBlZDljMzQwMGViMjhlZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmNwcApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmFkZChI
VE1MRWxlbWVudCogZWxlbWVudCwgSFRNTEVsZW1lbnQqIGJlZm9yZSwgRXhjZXB0aW9uCiAgICAg
c2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7CiB9CiAKLXZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJl
bW92ZShpbnQgb3B0aW9uSW5kZXgpCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZW1vdmVCeUlu
ZGV4KGludCBvcHRpb25JbmRleCkKIHsKICAgICBpbnQgbGlzdEluZGV4ID0gb3B0aW9uVG9MaXN0
SW5kZXgob3B0aW9uSW5kZXgpOwogICAgIGlmIChsaXN0SW5kZXggPCAwKQpAQCAtNDQyLDcgKzQ0
Miw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNldE9wdGlvbih1bnNpZ25lZCBpbmRleCwg
SFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiwgRXhjCiAgICAgICAgIC8vIFJlcGxhY2UgYW4gZXhp
c3RpbmcgZW50cnk/CiAgICAgfSBlbHNlIGlmIChkaWZmIDwgMCkgewogICAgICAgICBiZWZvcmUg
PSB0b0hUTUxFbGVtZW50KG9wdGlvbnMoKS0+aXRlbShpbmRleCsxKSk7Ci0gICAgICAgIHJlbW92
ZShpbmRleCk7CisgICAgICAgIHJlbW92ZUJ5SW5kZXgoaW5kZXgpOwogICAgIH0KICAgICAvLyBG
aW5hbGx5IGFkZCB0aGUgbmV3IGVsZW1lbnQuCiAgICAgaWYgKCFlYykgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IDA0OTcyYWYxMzRmYmE0ZmUxYjIyODc0ZjY1
ZTFkMDkyMTYzZTdmYjIuLjg1Mjc4OTljZDFhYTFkZDhiZWMzYjM2MWVmNTM5NTJlOGU5OTc3YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKQEAgLTU3LDcgKzU3LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIHVzZXNNZW51TGlzdCgpIGNvbnN0OwogCiAgICAgdm9pZCBh
ZGQoSFRNTEVsZW1lbnQqLCBIVE1MRWxlbWVudCogYmVmb3JlRWxlbWVudCwgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHZvaWQgcmVtb3ZlKGludCBpbmRleCk7CisKKyAgICB1c2luZyBOb2RlOjpyZW1v
dmU7CisgICAgLy8gU2hvdWxkIGJlIHJlbW92ZShpbnQpIGJ1dCBpdCBjb25mbGljdHMgd2l0aCBO
b2RlOjpyZW1vdmUoRXhjZXB0aW9uQ29kZSYpLgorICAgIHZvaWQgcmVtb3ZlQnlJbmRleChpbnQp
OwogICAgIHZvaWQgcmVtb3ZlKEhUTUxPcHRpb25FbGVtZW50Kik7CiAKICAgICBTdHJpbmcgdmFs
dWUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA1YjRhM2ZlYjczMzAyN2ZmNjJkYjcwMWI4MzQ4YjhkOTMwM2Yy
ZTEyLi4zMzg2M2Q4M2Y4MWJiZTIyNGUzNzc2MTY1ZjI5NWI3YjNlYjU0OTdhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTMtMTAtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNh
LnNhbXN1bmcuY29tPgorCisgICAgICAgIEZpeCB0aGUgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90
eXBlLnJlbW92ZSgpIG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIxNTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3QgdG8gbWFrZSBzdXJlIGNhbGxpbmcgSFRNTFNlbGVjdEVsZW1l
bnQucHJvdG90eXBlLnJlbW92ZSgpIGRldGFjaGVzIHRoZQorICAgICAgICBzZWxlY3QgZWxlbWVu
dCBmcm9tIGl0cyBwYXJlbnQsIGFzIEVsZW1lbnQ6OnJlbW92ZSgpIHdvdWxkLgorCisgICAgICAg
ICoganMvZG9tL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
anMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qczoKKwogMjAxMy0xMC0wMyAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgdGVzdCBl
eHBlY3RhdGlvbiBmb3Igb25lIG1vcmUgdGVzdCBoYXZpbmcgY29sb3Igc3BhY2UgaXNzdWVzIGFm
dGVyIHIxNTY3OTMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2VsZWN0LW9wdGlv
bnMtcmVtb3ZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9u
cy1yZW1vdmUtZXhwZWN0ZWQudHh0CmluZGV4IDRjMWFiZWY2ZGU5YmI2ZDdmOTQwNGQ4NmJkNjAz
YmU5NDliMWQ4MWMuLjNiN2YyNDc0YmJjYmU3YWZhODUxZTcyMmE0MTA2Zjk3OTgxNGViYWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhw
ZWN0ZWQudHh0CkBAIC03OCw2ICs3OCwxMSBAQCBQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUo
MSkgaXMgdW5kZWZpbmVkCiBQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMAogUEFTUyBz
ZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKIAorMS4xNiBEZXRhY2ggc2VsZWN0IGVsZW1lbnQK
K1BBU1Mgc2VsZWN0MS5wYXJlbnROb2RlIGlzIG5vdCBudWxsCitQQVNTIHNlbGVjdDEucmVtb3Zl
KCkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEucGFyZW50Tm9kZSBpcyBudWxsCisKIDIuMSBS
ZW1vdmUgKG9iamVjdCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucwogUEFTUyBzZWxlY3QyLm9wdGlv
bnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyAxNQpAQCAtMTc0LDcgKzE3OSwxMiBAQCBQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgMgogUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMAogUEFTUyBzZWxlY3QyLm9wdGlv
bnNbMV0udmFsdWUgaXMgJ1AnCiAKKzIuMTcgRGV0YWNoIHNlbGVjdCBlbGVtZW50CitQQVNTIHNl
bGVjdDIucGFyZW50Tm9kZSBpcyBub3QgbnVsbAorUEFTUyBzZWxlY3QyLnJlbW92ZSgpIGlzIHVu
ZGVmaW5lZAorUEFTUyBzZWxlY3QyLnBhcmVudE5vZGUgaXMgbnVsbAorCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLSAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qcyBiL0xheW91dFRl
c3RzL2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMKaW5kZXggMjUyYjczZjM4
MTQyY2ZlMDM0YTdkNGFmZmJkNGM3YjhiNzQ2NGUyZC4uZjg1Njk2ZTFiNGZmYjE1ZDg4OWQ0MWM0
ZWUwZDQwOTBiNWI1ZTc1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVzb3VyY2VzL3Nl
bGVjdC1vcHRpb25zLXJlbW92ZS5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9yZXNvdXJjZXMvc2Vs
ZWN0LW9wdGlvbnMtcmVtb3ZlLmpzCkBAIC0xMDIsNiArMTAyLDEyIEBAIHNob3VsZEJlKCJzZWxl
Y3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5k
ZXgiLCAiLTEiKTsKIGRlYnVnKCIiKTsKIAorZGVidWcoIjEuMTYgRGV0YWNoIHNlbGVjdCBlbGVt
ZW50Iik7CitzaG91bGROb3RCZSgic2VsZWN0MS5wYXJlbnROb2RlIiwgIm51bGwiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVOdWxsKCJzZWxl
Y3QxLnBhcmVudE5vZGUiKTsKK2RlYnVnKCIiKTsKKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGkgPSAwOwpAQCAtMjI4LDMgKzIzNCw5IEBA
IHNob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKIHNob3VsZEJlKCJzZWxl
Y3QyLnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sxXS52
YWx1ZSIsICInUCciKTsKIGRlYnVnKCIiKTsKKworZGVidWcoIjIuMTcgRGV0YWNoIHNlbGVjdCBl
bGVtZW50Iik7CitzaG91bGROb3RCZSgic2VsZWN0Mi5wYXJlbnROb2RlIiwgIm51bGwiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmVOdWxsKCJz
ZWxlY3QyLnBhcmVudE5vZGUiKTsKK2RlYnVnKCIiKTsK
</data>
<flag name="review"
          id="235641"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213303</attachid>
            <date>2013-10-03 15:05:51 -0700</date>
            <delta_ts>2013-10-03 16:37:29 -0700</delta_ts>
            <desc>Attempt  to fix ews</desc>
            <filename>121586_HTMLSelectElement_remove.patch</filename>
            <type>text/plain</type>
            <size>10315</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YjRhM2ZlLi5jNTcxNjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMTAt
MDMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAg
ICAgIEZpeCB0aGUgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgpIG1ldGhvZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTg2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHRlc3QgdG8g
bWFrZSBzdXJlIGNhbGxpbmcgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgpIGRl
dGFjaGVzIHRoZQorICAgICAgICBzZWxlY3QgZWxlbWVudCBmcm9tIGl0cyBwYXJlbnQsIGFzIEVs
ZW1lbnQ6OnJlbW92ZSgpIHdvdWxkLgorCisgICAgICAgICoganMvZG9tL3NlbGVjdC1vcHRpb25z
LXJlbW92ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvcmVzb3VyY2VzL3NlbGVjdC1vcHRp
b25zLXJlbW92ZS5qczoKKwogMjAxMy0xMC0wMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgdGVzdCBleHBlY3RhdGlvbiBmb3Igb25lIG1vcmUg
dGVzdCBoYXZpbmcgY29sb3Igc3BhY2UgaXNzdWVzIGFmdGVyIHIxNTY3OTMuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9kb20vc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2pzL2RvbS9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDRjMWFiZWYuLjNiN2YyNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2RvbS9zZWxl
Y3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9z
ZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC03OCw2ICs3OCwxMSBAQCBQQVNT
IHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMSkgaXMgdW5kZWZpbmVkCiBQQVNTIHNlbGVjdDEub3B0
aW9ucy5sZW5ndGggaXMgMAogUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKIAorMS4x
NiBEZXRhY2ggc2VsZWN0IGVsZW1lbnQKK1BBU1Mgc2VsZWN0MS5wYXJlbnROb2RlIGlzIG5vdCBu
dWxsCitQQVNTIHNlbGVjdDEucmVtb3ZlKCkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEucGFy
ZW50Tm9kZSBpcyBudWxsCisKIDIuMSBSZW1vdmUgKG9iamVjdCkgZnJvbSBub24tZW1wdHkgT3B0
aW9ucwogUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKIFBB
U1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxNQpAQCAtMTc0LDcgKzE3OSwxMiBAQCBQQVNT
IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMgogUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXgg
aXMgMAogUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJ1AnCiAKKzIuMTcgRGV0YWNo
IHNlbGVjdCBlbGVtZW50CitQQVNTIHNlbGVjdDIucGFyZW50Tm9kZSBpcyBub3QgbnVsbAorUEFT
UyBzZWxlY3QyLnJlbW92ZSgpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLnBhcmVudE5vZGUg
aXMgbnVsbAorCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKLSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRp
b25zLXJlbW92ZS5qcyBiL0xheW91dFRlc3RzL2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUuanMKaW5kZXggMjUyYjczZi4uZjg1Njk2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
anMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qcworKysgYi9MYXlvdXRUZXN0cy9q
cy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmpzCkBAIC0xMDIsNiArMTAyLDEyIEBA
IHNob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIHNob3VsZEJlKCJzZWxl
Y3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKIGRlYnVnKCIiKTsKIAorZGVidWcoIjEuMTYgRGV0
YWNoIHNlbGVjdCBlbGVtZW50Iik7CitzaG91bGROb3RCZSgic2VsZWN0MS5wYXJlbnROb2RlIiwg
Im51bGwiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOworc2hv
dWxkQmVOdWxsKCJzZWxlY3QxLnBhcmVudE5vZGUiKTsKK2RlYnVnKCIiKTsKKwogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGkgPSAwOwpAQCAt
MjI4LDMgKzIzNCw5IEBAIHNob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsK
IHNob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1sxXS52YWx1ZSIsICInUCciKTsKIGRlYnVnKCIiKTsKKworZGVidWcoIjIuMTcg
RGV0YWNoIHNlbGVjdCBlbGVtZW50Iik7CitzaG91bGROb3RCZSgic2VsZWN0Mi5wYXJlbnROb2Rl
IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnJlbW92ZSgpIiwgInVuZGVmaW5lZCIpOwor
c2hvdWxkQmVOdWxsKCJzZWxlY3QyLnBhcmVudE5vZGUiKTsKK2RlYnVnKCIiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2MDE2ZjdmLi41MWVhMDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTMt
MTAtMDMgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisg
ICAgICAgIEZpeCB0aGUgSFRNTFNlbGVjdEVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSgpIG1ldGhv
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTg2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRml4IHRoZSBI
VE1MU2VsZWN0RWxlbWVudC5wcm90b3R5cGUucmVtb3ZlKCkgbWV0aG9kIHNvIHRoYXQgaXQgYmVo
YXZlcyBsaWtlCisgICAgICAgIEVsZW1lbnQucmVtb3ZlKCkgaWYgbm8gYXJndW1lbnQgaXMgcGFz
c2VkIChmcm9tIENoaWxkTm9kZSkuIFRoaXMgYmVoYXZpb3IKKyAgICAgICAgaXMgY29uc2lzdGVu
dCB3aXRoIEZpcmVmb3ggYW5kIEJsaW5rLgorCisgICAgICAgIFNlZSBodHRwczovL3d3dy53My5v
cmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIwNzIwIGZvciBtb3JlCisgICAgICAgIGlu
Zm9ybWF0aW9uLgorCisgICAgICAgIFRlc3RzOiBqcy9kb20vc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1v
dmUpOgorICAgICAgICBTdG9wIGNhbGxpbmcgSlNIVE1MU2VsZWN0RWxlbWVudDo6cmVtb3ZlKCkg
YmxpbmRseSBhcyBpdCBpcyBkYW5nZXJvdXMsIGVzcGVjaWFsbHkKKyAgICAgICAgbm93IHRoYXQg
Y2FsbGluZyBpdCB3aXRob3V0IGFyZ3VtZW50IG5vdyBkZXRhY2hlcyB0aGUgZWxlbWVudC4gSW5z
dGVhZCwgaGF2ZSB0aGUKKyAgICAgICAgYmluZGluZ3MgY2FsbCB0aGUgY29ycmVzcG9uZGluZyBt
ZXRob2RzIG9uIHRoZSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgb2JqZWN0LCBhcyBpdCBzaG91bGQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxT
ZWxlY3RFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTFNlbGVjdEVs
ZW1lbnQ6OnJlbW92ZSk6CisgICAgICAgIENhbGwgRWxlbWVudDo6cmVtb3ZlKCkgaWYgbm8gYXJn
dW1lbnQgaXMgZ2l2ZW4uCisKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnJlbW92ZSk6Cisg
ICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6
CisgICAgICAgIFJlbmFtZSByZW1vdmUoaW50KSB0byByZW1vdmVCeUluZGV4KGludCkgdG8gYXZv
aWQgY29uZmxpY3Qgd2l0aAorICAgICAgICBOb2RlOjpyZW1vdmUoRXhjZXB0aW9uQ29kZSYpLgor
CiAyMDEzLTEwLTAzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNb3ZlIElEQkZhY3RvcnlCYWNrZW5kIGNyZWF0aW9uIHRvIERhdGFiYXNlU3RyYXRlZ3kuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25z
Q29sbGVjdGlvbkN1c3RvbS5jcHAKaW5kZXggYmVlMmY5MS4uNTRhOTA3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uQ3VzdG9tLmNwcApAQCAtODIsOSArODIsMTMgQEAgSlNWYWx1ZSBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbjo6YWRkKEV4ZWNTdGF0ZSogZXhlYykKIAogSlNWYWx1ZSBKU0hUTUxPcHRpb25zQ29s
bGVjdGlvbjo6cmVtb3ZlKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24qIGltcCA9IGltcGwoKTsKLSAgICBKU0hUTUxTZWxlY3RFbGVtZW50KiBiYXNlID0ganND
YXN0PEpTSFRNTFNlbGVjdEVsZW1lbnQqPihhc09iamVjdCh0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCgpLCBpbXAtPm93bmVyTm9kZSgpKSkpOwotICAgIHJldHVybiBiYXNlLT5yZW1vdmUoZXhlYyk7
CisgICAgLy8gVGhlIGFyZ3VtZW50IGNhbiBiZSBhbiBIVE1MT3B0aW9uRWxlbWVudCBvciBhbiBp
bmRleC4KKyAgICBKU1ZhbHVlIGFyZ3VtZW50ID0gZXhlYy0+YXJndW1lbnQoMCk7CisgICAgaWYg
KEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hUTUxPcHRpb25FbGVtZW50KGFyZ3VtZW50
KSkKKyAgICAgICAgaW1wbCgpLT5yZW1vdmUob3B0aW9uKTsKKyAgICBlbHNlCisgICAgICAgIGlt
cGwoKS0+cmVtb3ZlKGFyZ3VtZW50LnRvSW50MzIoZXhlYykpOworICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwCmluZGV4IGE0OTI4YjEuLjE0NjhjYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVs
ZW1lbnRDdXN0b20uY3BwCkBAIC0zNiwxMSArMzYsMTggQEAgSlNWYWx1ZSBKU0hUTUxTZWxlY3RF
bGVtZW50OjpyZW1vdmUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEhUTUxTZWxlY3RFbGVtZW50
JiBzZWxlY3QgPSAqaW1wbCgpOwogCi0gICAgLy8gVGhlIHJlbW92ZSBmdW5jdGlvbiBjYW4gdGFr
ZSBlaXRoZXIgYW4gb3B0aW9uIG9iamVjdCBvciB0aGUgaW5kZXggb2YgYW4gb3B0aW9uLgotICAg
IGlmIChIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gdG9IVE1MT3B0aW9uRWxlbWVudChleGVj
LT5hcmd1bWVudCgwKSkpCi0gICAgICAgIHNlbGVjdC5yZW1vdmUob3B0aW9uKTsKLSAgICBlbHNl
Ci0gICAgICAgIHNlbGVjdC5yZW1vdmUoZXhlYy0+YXJndW1lbnQoMCkudG9JbnQzMihleGVjKSk7
CisgICAgaWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpIHsKKyAgICAgICAgLy8gV2hlbiBjYWxs
ZWQgd2l0aCBubyBhcmd1bWVudCwgd2Ugc2hvdWxkIGNhbGwgRWxlbWVudDo6cmVtb3ZlKCkgdG8g
ZGV0YWNoLgorICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgc2VsZWN0LnJl
bW92ZShlYyk7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gVGhlIEhUTUxTZWxlY3RFbGVtZW50OjpyZW1vdmUoKSBmdW5jdGlvbiBj
YW4gdGFrZSBlaXRoZXIgYW4gb3B0aW9uIG9iamVjdCBvciB0aGUgaW5kZXggb2YgYW4gb3B0aW9u
LgorICAgICAgICBpZiAoSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHRvSFRNTE9wdGlvbkVs
ZW1lbnQoZXhlYy0+YXJndW1lbnQoMCkpKQorICAgICAgICAgICAgc2VsZWN0LnJlbW92ZShvcHRp
b24pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzZWxlY3QucmVtb3ZlQnlJbmRleChleGVj
LT5hcmd1bWVudCgwKS50b0ludDMyKGV4ZWMpKTsKKyAgICB9CiAKICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKIH0KQEAgLTQ4LDcgKzU1LDcgQEAgSlNWYWx1ZSBKU0hUTUxTZWxlY3RFbGVtZW50
OjpyZW1vdmUoRXhlY1N0YXRlKiBleGVjKQogdm9pZCBzZWxlY3RJbmRleFNldHRlcihIVE1MU2Vs
ZWN0RWxlbWVudCogc2VsZWN0LCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgs
IEpTQzo6SlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUuaXNVbmRlZmluZWRPck51bGwo
KSkKLSAgICAgICAgc2VsZWN0LT5yZW1vdmUoaW5kZXgpOworICAgICAgICBzZWxlY3QtPnJlbW92
ZUJ5SW5kZXgoaW5kZXgpOwogICAgIGVsc2UgewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKICAgICAgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHRvSFRNTE9wdGlvbkVsZW1l
bnQodmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0Nv
bGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
Y3BwCmluZGV4IDY1M2ZjY2QuLjcxYjY3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5jcHAKQEAgLTcwLDcgKzcwLDEyIEBAIHZvaWQgSFRNTE9wdGlv
bnNDb2xsZWN0aW9uOjphZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4gZWxlbWVudCwg
aW50IGluZGV4CiAKIHZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUoaW50IGluZGV4
KQogewotICAgIHRvSFRNTFNlbGVjdEVsZW1lbnQob3duZXJOb2RlKCkpLT5yZW1vdmUoaW5kZXgp
OworICAgIHRvSFRNTFNlbGVjdEVsZW1lbnQob3duZXJOb2RlKCkpLT5yZW1vdmVCeUluZGV4KGlu
ZGV4KTsKK30KKwordm9pZCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnJlbW92ZShIVE1MT3B0aW9u
RWxlbWVudCogb3B0aW9uKQoreworICAgIHRvSFRNTFNlbGVjdEVsZW1lbnQob3duZXJOb2RlKCkp
LT5yZW1vdmUob3B0aW9uKTsKIH0KIAogaW50IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2VsZWN0
ZWRJbmRleCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uaAppbmRleCBkNzY1ODBmLi44NTc5OTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
YWRkKFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1lbnQ+LCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBhZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVudD4sIGludCBpbmRleCwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZvaWQgcmVtb3ZlKGludCBpbmRleCk7CisgICAgdm9pZCByZW1vdmUo
SFRNTE9wdGlvbkVsZW1lbnQqKTsKIAogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRTZWxlY3RlZEluZGV4KGludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCmluZGV4IDlkOTI2NDIuLjgwYjRjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0yMjYsNyArMjI2LDcgQEAgdm9pZCBIVE1M
U2VsZWN0RWxlbWVudDo6YWRkKEhUTUxFbGVtZW50KiBlbGVtZW50LCBIVE1MRWxlbWVudCogYmVm
b3JlLCBFeGNlcHRpb24KICAgICBzZXROZWVkc1ZhbGlkaXR5Q2hlY2soKTsKIH0KIAotdm9pZCBI
VE1MU2VsZWN0RWxlbWVudDo6cmVtb3ZlKGludCBvcHRpb25JbmRleCkKK3ZvaWQgSFRNTFNlbGVj
dEVsZW1lbnQ6OnJlbW92ZUJ5SW5kZXgoaW50IG9wdGlvbkluZGV4KQogewogICAgIGludCBsaXN0
SW5kZXggPSBvcHRpb25Ub0xpc3RJbmRleChvcHRpb25JbmRleCk7CiAgICAgaWYgKGxpc3RJbmRl
eCA8IDApCkBAIC00NDIsNyArNDQyLDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2V0T3B0
aW9uKHVuc2lnbmVkIGluZGV4LCBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uLCBFeGMKICAgICAg
ICAgLy8gUmVwbGFjZSBhbiBleGlzdGluZyBlbnRyeT8KICAgICB9IGVsc2UgaWYgKGRpZmYgPCAw
KSB7CiAgICAgICAgIGJlZm9yZSA9IHRvSFRNTEVsZW1lbnQob3B0aW9ucygpLT5pdGVtKGluZGV4
KzEpKTsKLSAgICAgICAgcmVtb3ZlKGluZGV4KTsKKyAgICAgICAgcmVtb3ZlQnlJbmRleChpbmRl
eCk7CiAgICAgfQogICAgIC8vIEZpbmFsbHkgYWRkIHRoZSBuZXcgZWxlbWVudC4KICAgICBpZiAo
IWVjKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggMDQ5NzJh
Zi4uODUyNzg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAt
NTcsNyArNTcsMTAgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc01lbnVMaXN0KCkgY29uc3Q7CiAK
ICAgICB2b2lkIGFkZChIVE1MRWxlbWVudCosIEhUTUxFbGVtZW50KiBiZWZvcmVFbGVtZW50LCBF
eGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCByZW1vdmUoaW50IGluZGV4KTsKKworICAgIHVzaW5n
IE5vZGU6OnJlbW92ZTsKKyAgICAvLyBTaG91bGQgYmUgcmVtb3ZlKGludCkgYnV0IGl0IGNvbmZs
aWN0cyB3aXRoIE5vZGU6OnJlbW92ZShFeGNlcHRpb25Db2RlJikuCisgICAgdm9pZCByZW1vdmVC
eUluZGV4KGludCk7CiAgICAgdm9pZCByZW1vdmUoSFRNTE9wdGlvbkVsZW1lbnQqKTsKIAogICAg
IFN0cmluZyB2YWx1ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmlkbAppbmRleCBkMDRjNjBjLi45MmE5NmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmlkbApAQCAtNDgsNyArNDgsNyBAQAogICAgIC8vIEFzIG9mIHRoaXMg
d3JpdGluZyB0aGlzIGNhbm5vdCBiZSBhdXRvLWdlbmVyYXRlZC4KICAgICBbQ3VzdG9tXSB2b2lk
IHJlbW92ZSgvKiBpbmRleE9yT3B0aW9uICovKTsKICNlbHNlCi0gICAgdm9pZCByZW1vdmUobG9u
ZyBpbmRleCk7CisgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlQnlJbmRleF0gdm9pZCByZW1vdmUo
bG9uZyBpbmRleCk7CiAjZW5kaWYKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gc2VsZWN0ZWRPcHRpb25zOwogICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>