<?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>90617</bug_id>
          
          <creation_ts>2012-07-05 09:58:22 -0700</creation_ts>
          <short_desc>Radio button name is case sensitive</short_desc>
          <delta_ts>2016-10-24 09:38:04 -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>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bryan">bugzilla</reporter>
          <assigned_to name="Pablo Flouret">pf</assigned_to>
          <cc>annevk</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>d</cc>
    
    <cc>ian</cc>
    
    <cc>jonlee</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pf</cc>
    
    <cc>tkent</cc>
    
    <cc>vivekgalatage</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>663597</commentid>
    <comment_count>0</comment_count>
    <who name="Bryan">bugzilla</who>
    <bug_when>2012-07-05 09:58:22 -0700</bug_when>
    <thetext>Condition: A set of radio buttons with the *same* name but different capitalization

 - Checking one should un-check the others. 
 - Instead, they are treated as separate sets of radio buttons.

     IE 9                    : OK 
     Firefox 13              : OK
     Chrome 22.0.1195.0      : Fail  
     Chrome 20.0.1132.47 m   : Fail

Here&apos;s an example in jsFiddle: http://jsfiddle.net/rNdLu/ . It works fine in IE and FF. 

W3C guide to HTML5 3.2.3: &quot;...In HTML, attribute names are case insensitive...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663991</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-06 03:49:19 -0700</bug_when>
    <thetext>JSFiddle is not working for me now. Can you please attach a test case here?

&gt; W3C guide to HTML5 3.2.3: &quot;...In HTML, attribute names are case insensitive...&quot;

This is unrelated, this bug is about attribute values, not names. Attribute name for the button name is &quot;name&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664460</commentid>
    <comment_count>2</comment_count>
      <attachid>151158</attachid>
    <who name="Bryan">bugzilla</who>
    <bug_when>2012-07-07 23:14:29 -0700</bug_when>
    <thetext>Created attachment 151158
Three radio buttons in two different sets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665498</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-09 23:10:00 -0700</bug_when>
    <thetext>Spec:

http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#radio-button-group
&gt; They both have a name attribute, their name attributes are not empty, and the value of a&apos;s name attribute is a compatibility caseless match for the value of b&apos;s name attribute.

http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#compatibility-caseless
&gt; Comparing two strings in a compatibility caseless manner means using the Unicode compatibility caseless match operation to compare the two strings. [UNICODE]

According to Unicode 6.1 Chapter 3, Compatibility caseless match for a string X and a stringY is:
   NFKD(toCaseFold(NFKD(toCasefold(NFD(X))))) = NFKD(toCaseFold(NFKD(toCasefold(NFD(Y)))))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667142</commentid>
    <comment_count>4</comment_count>
      <attachid>151804</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-07-11 15:34:46 -0700</bug_when>
    <thetext>Created attachment 151804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667296</commentid>
    <comment_count>5</comment_count>
      <attachid>151804</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-11 18:29:33 -0700</bug_when>
    <thetext>Comment on attachment 151804
Patch

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

&gt; Source/WebCore/dom/CheckedRadioButtons.cpp:188
&gt; -    OwnPtr&lt;RadioButtonGroup&gt;&amp; group = m_nameToGroupMap-&gt;add(element-&gt;name().impl(), PassOwnPtr&lt;RadioButtonGroup&gt;()).iterator-&gt;second;
&gt; +    OwnPtr&lt;RadioButtonGroup&gt;&amp; group = m_nameToGroupMap-&gt;add(element-&gt;name().lower().impl(), PassOwnPtr&lt;RadioButtonGroup&gt;()).iterator-&gt;second;

I agree that lower() is enough even though the specification asks &quot;compatibility caseless match.&quot;  However we should add a comment about it.

Would you make a function like
  AtomicStringImpl* normalizeName(const AtomicString&amp; name)
  {
      // FIXME: The specification asks compatibility ... blah blah
      return name.lower().impl();
  }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667526</commentid>
    <comment_count>6</comment_count>
      <attachid>151804</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-12 01:49:11 -0700</bug_when>
    <thetext>Comment on attachment 151804
Patch

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

&gt; LayoutTests/fast/forms/radio/radio-group-name-case-expected.txt:19
&gt; +form.elements[0].name = &apos;radio&apos;;
&gt; +form.elements[1].name = &apos;rAdIO&apos;;
&gt; +form.elements[2].name = &apos;RADIO&apos;;
&gt; +PASS form.elements[0].checked is false
&gt; +PASS form.elements[1].checked is false
&gt; +PASS form.elements[2].checked is true
&gt; +
&gt; +form.elements[0].name = &apos;\u00F1&apos;;
&gt; +form.elements[1].name = &apos;\u00F1&apos;;
&gt; +form.elements[2].name = &apos;\u00D1&apos;;

Please test for something beyond 8 bits, and ideally beyond BMP too (e.g. Deseret). Also, something with non-trivial case changing behavior (e.g. Straße/STRASSE). I think that the latter test will fail with proposed implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668023</commentid>
    <comment_count>7</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-07-12 11:26:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 151804 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151804&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/radio/radio-group-name-case-expected.txt:19
&gt; &gt; +form.elements[0].name = &apos;radio&apos;;
&gt; &gt; +form.elements[1].name = &apos;rAdIO&apos;;
&gt; &gt; +form.elements[2].name = &apos;RADIO&apos;;
&gt; &gt; +PASS form.elements[0].checked is false
&gt; &gt; +PASS form.elements[1].checked is false
&gt; &gt; +PASS form.elements[2].checked is true
&gt; &gt; +
&gt; &gt; +form.elements[0].name = &apos;\u00F1&apos;;
&gt; &gt; +form.elements[1].name = &apos;\u00F1&apos;;
&gt; &gt; +form.elements[2].name = &apos;\u00D1&apos;;
&gt; 
&gt; Please test for something beyond 8 bits, and ideally beyond BMP too (e.g. Deseret). Also, something with non-trivial case changing behavior (e.g. Straße/STRASSE). I think that the latter test will fail with proposed implementation.

Deseret works fine, but straße fails, as you suggested. I can use upper() instead of lower(), which i suppose would fix that specific one, but i imagine there must be examples of the opposite version of that in unicode...

Did you have a solution in mind or should i just make it explicit in the test and go with the FIXME?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668102</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-12 12:48:09 -0700</bug_when>
    <thetext>&gt; there must be examples of the opposite version of that in unicode...

Non-trivial examples of case conversion are collected here: &lt;http://unicode.org/Public/UNIDATA/SpecialCasing.txt&gt;.

&gt; Did you have a solution in mind or should i just make it explicit in the test and go with the FIXME?

I think that uppercasing is correct in more cases than lowercasing, but you need to compare two strings to get it right in all cases.

Also, at first I didn&apos;t realize that the spec called for compatibility caseless matching. This is weird, and there is an open spec open issue about this: &lt;http://www.w3.org/International/track/issues/105&gt;. At the very least, you need to also add tests that check the difference between compatibility and canonical caseless matching. Ideally, you could figure out what other browsers do, and advise spec authors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668416</commentid>
    <comment_count>9</comment_count>
      <attachid>152102</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-07-12 17:05:37 -0700</bug_when>
    <thetext>Created attachment 152102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668417</commentid>
    <comment_count>10</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-07-12 17:06:21 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=152102) [details]
&gt; Patch

I made the change Kent suggested, and improved the test slightly.

(In reply to comment #8)
&gt; Also, at first I didn&apos;t realize that the spec called for compatibility caseless matching. This is weird, and there is an open spec open issue about this: &lt;http://www.w3.org/International/track/issues/105&gt;. At the very least, you need to also add tests that check the difference between compatibility and canonical caseless matching. Ideally, you could figure out what other browsers do, and advise spec authors.

The results of the test are:
WebKit: Pass all.
IE9: Fail test 5
Gecko: Fail test 4 and 6.
Presto: Fail test 4, 5 and 6.

Can&apos;t say i&apos;m sure what everyone&apos;s doing.

I tried to find how to test the difference between compatibility and canonical matching, but unicode makes my brain hurt, i&apos;ll take suggestions on how to improve the tests if anyone is willing to give them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668521</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-12 19:24:51 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; The results of the test are:
&gt; WebKit: Pass all.
&gt; IE9: Fail test 5
&gt; Gecko: Fail test 4 and 6.
&gt; Presto: Fail test 4, 5 and 6.

Oh, this is really hard situation.
In such case, we should follow the IE behavior IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668663</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-13 00:05:50 -0700</bug_when>
    <thetext>Test 5 is Deseret, and Windows is notoriously bad at non-BMP Unicode. It&apos;s probably not important to match its bugs here.

Perhaps we need more detailed testing, not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811409</commentid>
    <comment_count>13</comment_count>
      <attachid>152102</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-19 08:20:14 -0800</bug_when>
    <thetext>Comment on attachment 152102
Patch

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

&gt; Source/WebCore/dom/CheckedRadioButtons.cpp:175
&gt; +    return name.upper().impl();

We have a function called foldCase() that I think is better than upper() for this sort of thing.

&gt; Source/WebCore/dom/CheckedRadioButtons.h:48
&gt; +    typedef HashMap&lt;RefPtr&lt;AtomicStringImpl&gt;, OwnPtr&lt;RadioButtonGroup&gt; &gt; NameToGroupMap;

AtomicString objects themselves work fine as hash keys, so there is no need to use RefPtr&lt;AtomicStringImpl&gt;.

But also, we have hash tables that ignore case that will do just as well as upper() or foldCase() without requiring that we make copies of every key, so you could leave the type alone and just change the hash function. The hash for this is called CaseFoldingHash and you can find quite a few examples that use it. You would just do this:

    typedef HashMap&lt;AtomicStringImpl*, OwnPtr&lt;RadioButtonGroup&gt;, CaseFoldingHash&gt; NameToGroupMap;

And maybe we’d need some fixes in StringHash.h to make it work. But then you wouldn’t need any changes at all to CheckedRadioButtons.cpp to fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811410</commentid>
    <comment_count>14</comment_count>
      <attachid>152102</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-19 08:20:54 -0800</bug_when>
    <thetext>Comment on attachment 152102
Patch

Please use the CaseFoldingHash approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811411</commentid>
    <comment_count>15</comment_count>
      <attachid>152102</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-19 08:21:30 -0800</bug_when>
    <thetext>Comment on attachment 152102
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        Accomplish this by using an uppercased version of the radio button&apos;s
&gt; +        name. This raises the need for the NameToGroupMap to keep the string
&gt; +        alive, so the key type needs to change to RefPtr&lt;AtomicStringImpl&gt;.
&gt; +
&gt; +        Tangentially, this is useful to get rid of a FIXME claiming there
&gt; +        shouldn&apos;t be a need to remove empty RadioButtonGroups from the hash when
&gt; +        they become empty (i.e. potentially trade off a bit of memory for the
&gt; +        decreased performance when the group&apos;s size goes from 0 to 1 and back
&gt; +        and forth).

If you want to deal with this tangential issue, please do it in a separate patch, because CaseFoldingHash lets you deal with the case issue without doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811417</commentid>
    <comment_count>16</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2013-01-19 09:03:56 -0800</bug_when>
    <thetext>Please also test U+0130 (LATIN CAPITAL LETTER I WITH DOT ABOVE) and U+0131 (LATIN SMALL LETTER DOTLESS I).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827904</commentid>
    <comment_count>17</comment_count>
      <attachid>187180</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-02-07 14:46:14 -0800</bug_when>
    <thetext>Created attachment 187180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827907</commentid>
    <comment_count>18</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-02-07 14:48:31 -0800</bug_when>
    <thetext>I added the two tests Ms2ger suggested. With the CaseFoldingHash solution things would look like:

WebKit: Fail test 4, 5, 7, 8.
IE9: Fail test 5 (couldn&apos;t check 7 and 8, virtualbox is not cooperating today)
Gecko: Fail test 4, 6, 8.
Presto: Fail test 4, 5, 6, 7, 8.

Can&apos;t really say if this is an improvement or not :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828039</commentid>
    <comment_count>19</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-07 17:19:14 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; I added the two tests Ms2ger suggested. With the CaseFoldingHash solution things would look like:
&gt; 
&gt; WebKit: Fail test 4, 5, 7, 8.
&gt; IE9: Fail test 5 (couldn&apos;t check 7 and 8, virtualbox is not cooperating today)
&gt; Gecko: Fail test 4, 6, 8.
&gt; Presto: Fail test 4, 5, 6, 7, 8.
&gt; 
&gt; Can&apos;t really say if this is an improvement or not :P

Using CaseFoldingHash is very consistent in WebKit. I think the patch is ok as the first step.
We had better add FIXME comment and/or file a bug for this incompatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913034</commentid>
    <comment_count>20</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-07-30 14:52:59 -0700</bug_when>
    <thetext>I&apos;m surprised that this bug has no duplicates. Maybe we should change the spec to be case-sensitive instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243711</commentid>
    <comment_count>21</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2016-10-24 08:40:10 -0700</bug_when>
    <thetext>In https://github.com/whatwg/html/commit/6acdb2122298d2bb7bb839c0a61b4e1f9b0f9bc9 we have updated the spec to match WebKit&apos;s current behavior and use case-sensitive matching for radio button groups. So this bug can be closed.

I will open a separate bug for the usemap cases which also changed in that commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243731</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-24 09:38:04 -0700</bug_when>
    <thetext>Closing based on Domenic&apos;s comment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>151158</attachid>
            <date>2012-07-07 23:14:29 -0700</date>
            <delta_ts>2012-07-07 23:14:29 -0700</delta_ts>
            <desc>Three radio buttons in two different sets.</desc>
            <filename>testcase90617.html</filename>
            <type>text/html</type>
            <size>114</size>
            <attacher name="Bryan">bugzilla</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImEiIC8+DQo8aW5wdXQgdHlwZT0icmFk
aW8iIG5hbWU9IkEiIC8+DQo8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImEiIC8+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151804</attachid>
            <date>2012-07-11 15:34:46 -0700</date>
            <delta_ts>2012-07-12 17:05:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90617-20120711153446.patch</filename>
            <type>text/plain</type>
            <size>9714</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIwZjc5OTdhZDczZjJm
ODc3ZmUxZTJmZDg1MWRiOTlmNmY3MjU3ZC4uYjIzNzU1MDgwOGM3YWEwMzc1MDg4NzMyOWRmY2Vh
NzY3YzliMDA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTExICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSYWRpbyBidXR0b25z
IHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGJlIGluIHRoZSBz
YW1lIHJhZGlvIGdyb3VwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTA2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBY2NvbXBsaXNoIHRoaXMgYnkgdXNpbmcgYSBsb3dlcmNhc2VkIHZlcnNpb24gb2Yg
dGhlIHJhZGlvIGJ1dHRvbidzCisgICAgICAgIG5hbWUuIFRoaXMgcmFpc2VzIHRoZSBuZWVkIGZv
ciB0aGUgTmFtZVRvR3JvdXBNYXAgdG8ga2VlcCB0aGUgc3RyaW5nCisgICAgICAgIGFsaXZlLCBz
byB0aGUga2V5IHR5cGUgbmVlZHMgdG8gY2hhbmdlIHRvIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBs
Pi4KKworICAgICAgICBUYW5nZW50aWFsbHksIHRoaXMgaXMgdXNlZnVsIHRvIGdldCByaWQgb2Yg
YSBGSVhNRSBjbGFpbWluZyB0aGVyZQorICAgICAgICBzaG91bGRuJ3QgYmUgYSBuZWVkIHRvIHJl
bW92ZSBlbXB0eSBSYWRpb0J1dHRvbkdyb3VwcyBmcm9tIHRoZSBoYXNoIHdoZW4KKyAgICAgICAg
dGhleSBiZWNvbWUgZW1wdHkgKGkuZS4gcG90ZW50aWFsbHkgdHJhZGUgb2ZmIGEgYml0IG9mIG1l
bW9yeSBmb3IgdGhlCisgICAgICAgIGRlY3JlYXNlZCBwZXJmb3JtYW5jZSB3aGVuIHRoZSBncm91
cCdzIHNpemUgZ29lcyBmcm9tIDAgdG8gMSBhbmQgYmFjaworICAgICAgICBhbmQgZm9ydGgpLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLmh0
bWwKKworICAgICAgICAqIGRvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNoZWNrZWRSYWRpb0J1dHRvbnM6OmFkZEJ1dHRvbik6CisgICAgICAgIChXZWJDb3Jl
OjpDaGVja2VkUmFkaW9CdXR0b25zOjp1cGRhdGVDaGVja2VkU3RhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hlY2tlZFJhZGlvQnV0dG9uczo6cmVxdWlyZWRBdHRyaWJ1dGVDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNoZWNrZWRSYWRpb0J1dHRvbnM6OmNoZWNrZWRCdXR0b25Gb3JHcm91
cCk6CisgICAgICAgIChXZWJDb3JlOjpDaGVja2VkUmFkaW9CdXR0b25zOjppc1JlcXVpcmVkR3Jv
dXApOgorICAgICAgICAgICAgRG8gdGhlIGhhc2ggYWRkaW5nL2xvb2t1cCB3aXRoIGEgbG93ZXJj
YXNlIHZlcnNpb24gb2YgdGhlIHJhZGlvCisgICAgICAgICAgICBidXR0b24ncyBuYW1lLgorCisg
ICAgICAgIChXZWJDb3JlOjpDaGVja2VkUmFkaW9CdXR0b25zOjpyZW1vdmVCdXR0b24pOgorICAg
ICAgICAgICAgRGl0dG8sIGFuZCByZW1vdmUgdGhlIGNvZGUgdGhhdCBkZWFsbG9jYXRlcyBlbXB0
eSBSYWRpb0J1dHRvbkdyb3Vwcy4KKworICAgICAgICAqIGRvbS9DaGVja2VkUmFkaW9CdXR0b25z
Lmg6CisgICAgICAgIChDaGVja2VkUmFkaW9CdXR0b25zKToKKyAgICAgICAgICAgIENoYW5nZSBO
YW1lVG9Hcm91cE1hcCdzIGtleSB0eXBlIGZyb20gQXRvbWljU3RyaW5nSW1wbCogdG8KKyAgICAg
ICAgICAgIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPi4KKwogMjAxMi0wNi0yMiAgQnJpYW4gU2Fs
b21vbiAgPGJzYWxvbW9uQGdvb2dsZS5jb20+CiAKICAgICAgICAgSW5jcmVhc2UgdGhlIEdyQ29u
dGV4dCB0ZXh0dXJlIGNhY2hlIGNvdW50IGNhcCB0byAySwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0No
ZWNrZWRSYWRpb0J1dHRvbnMuY3BwCmluZGV4IGU2NzIzMjlhZjhkZTM3OGJlZmRmYzE0ZjhhY2Jk
MGYyZWMwYzc0MDUuLjcyNzU2MDM0YjVlYWUzNTViYjllYzNhZmQ0MDg5NjNhYWQxN2I5NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHAKQEAgLTE4NSw3ICsx
ODUsNyBAQCB2b2lkIENoZWNrZWRSYWRpb0J1dHRvbnM6OmFkZEJ1dHRvbihIVE1MSW5wdXRFbGVt
ZW50KiBlbGVtZW50KQogICAgIGlmICghbV9uYW1lVG9Hcm91cE1hcCkKICAgICAgICAgbV9uYW1l
VG9Hcm91cE1hcCA9IGFkb3B0UHRyKG5ldyBOYW1lVG9Hcm91cE1hcCk7CiAKLSAgICBPd25QdHI8
UmFkaW9CdXR0b25Hcm91cD4mIGdyb3VwID0gbV9uYW1lVG9Hcm91cE1hcC0+YWRkKGVsZW1lbnQt
Pm5hbWUoKS5pbXBsKCksIFBhc3NPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4oKSkuaXRlcmF0b3It
PnNlY29uZDsKKyAgICBPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4mIGdyb3VwID0gbV9uYW1lVG9H
cm91cE1hcC0+YWRkKGVsZW1lbnQtPm5hbWUoKS5sb3dlcigpLmltcGwoKSwgUGFzc093blB0cjxS
YWRpb0J1dHRvbkdyb3VwPigpKS5pdGVyYXRvci0+c2Vjb25kOwogICAgIGlmICghZ3JvdXApCiAg
ICAgICAgIGdyb3VwID0gUmFkaW9CdXR0b25Hcm91cDo6Y3JlYXRlKCk7CiAgICAgZ3JvdXAtPmFk
ZChlbGVtZW50KTsKQEAgLTE5OSw3ICsxOTksNyBAQCB2b2lkIENoZWNrZWRSYWRpb0J1dHRvbnM6
OnVwZGF0ZUNoZWNrZWRTdGF0ZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIEFTU0VS
VChtX25hbWVUb0dyb3VwTWFwKTsKICAgICBpZiAoIW1fbmFtZVRvR3JvdXBNYXApCiAgICAgICAg
IHJldHVybjsKLSAgICBSYWRpb0J1dHRvbkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3JvdXBNYXAt
PmdldChlbGVtZW50LT5uYW1lKCkuaW1wbCgpKTsKKyAgICBSYWRpb0J1dHRvbkdyb3VwKiBncm91
cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmdldChlbGVtZW50LT5uYW1lKCkubG93ZXIoKS5pbXBsKCkp
OwogICAgIEFTU0VSVChncm91cCk7CiAgICAgZ3JvdXAtPnVwZGF0ZUNoZWNrZWRTdGF0ZShlbGVt
ZW50KTsKIH0KQEAgLTIxMiw3ICsyMTIsNyBAQCB2b2lkIENoZWNrZWRSYWRpb0J1dHRvbnM6OnJl
cXVpcmVkQXR0cmlidXRlQ2hhbmdlZChIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIEFT
U0VSVChtX25hbWVUb0dyb3VwTWFwKTsKICAgICBpZiAoIW1fbmFtZVRvR3JvdXBNYXApCiAgICAg
ICAgIHJldHVybjsKLSAgICBSYWRpb0J1dHRvbkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3JvdXBN
YXAtPmdldChlbGVtZW50LT5uYW1lKCkuaW1wbCgpKTsKKyAgICBSYWRpb0J1dHRvbkdyb3VwKiBn
cm91cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmdldChlbGVtZW50LT5uYW1lKCkubG93ZXIoKS5pbXBs
KCkpOwogICAgIEFTU0VSVChncm91cCk7CiAgICAgZ3JvdXAtPnJlcXVpcmVkQXR0cmlidXRlQ2hh
bmdlZChlbGVtZW50KTsKIH0KQEAgLTIyMSw4ICsyMjEsNyBAQCBIVE1MSW5wdXRFbGVtZW50KiBD
aGVja2VkUmFkaW9CdXR0b25zOjpjaGVja2VkQnV0dG9uRm9yR3JvdXAoY29uc3QgQXRvbWljU3Ry
aW5nJgogewogICAgIGlmICghbV9uYW1lVG9Hcm91cE1hcCkKICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgbV9uYW1lVG9Hcm91cE1hcC0+Y2hlY2tDb25zaXN0ZW5jeSgpOwotICAgIFJhZGlvQnV0dG9u
R3JvdXAqIGdyb3VwID0gbV9uYW1lVG9Hcm91cE1hcC0+Z2V0KG5hbWUuaW1wbCgpKTsKKyAgICBS
YWRpb0J1dHRvbkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmdldChuYW1lLmxvd2Vy
KCkuaW1wbCgpKTsKICAgICByZXR1cm4gZ3JvdXAgPyBncm91cC0+Y2hlY2tlZEJ1dHRvbigpIDog
MDsKIH0KIApAQCAtMjMwLDcgKzIyOSw3IEBAIGJvb2wgQ2hlY2tlZFJhZGlvQnV0dG9uczo6aXNS
ZXF1aXJlZEdyb3VwKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKIHsKICAgICBpZiAo
IW1fbmFtZVRvR3JvdXBNYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBSYWRpb0J1dHRv
bkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmdldChuYW1lLmltcGwoKSk7CisgICAg
UmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFwLT5nZXQobmFtZS5sb3dl
cigpLmltcGwoKSk7CiAgICAgcmV0dXJuIGdyb3VwICYmIGdyb3VwLT5pc1JlcXVpcmVkKCk7CiB9
CiAKQEAgLTI0MiwxOSArMjQxLDEwIEBAIHZvaWQgQ2hlY2tlZFJhZGlvQnV0dG9uczo6cmVtb3Zl
QnV0dG9uKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgaWYgKCFtX25hbWVUb0dyb3Vw
TWFwKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX25hbWVUb0dyb3VwTWFwLT5jaGVja0NvbnNp
c3RlbmN5KCk7Ci0gICAgTmFtZVRvR3JvdXBNYXA6Oml0ZXJhdG9yIGl0ID0gbV9uYW1lVG9Hcm91
cE1hcC0+ZmluZChlbGVtZW50LT5uYW1lKCkuaW1wbCgpKTsKKyAgICBOYW1lVG9Hcm91cE1hcDo6
aXRlcmF0b3IgaXQgPSBtX25hbWVUb0dyb3VwTWFwLT5maW5kKGVsZW1lbnQtPm5hbWUoKS5sb3dl
cigpLmltcGwoKSk7CiAgICAgaWYgKGl0ID09IG1fbmFtZVRvR3JvdXBNYXAtPmVuZCgpKQogICAg
ICAgICByZXR1cm47CiAgICAgaXQtPnNlY29uZC0+cmVtb3ZlKGVsZW1lbnQpOwotICAgIGlmIChp
dC0+c2Vjb25kLT5pc0VtcHR5KCkpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIG1heSBza2lwIGRl
YWxsb2NhdGluZyB0aGUgZW1wdHkgUmFkaW9CdXR0b25Hcm91cCBmb3IKLSAgICAgICAgLy8gcGVy
Zm9ybWFuY2UgaW1wcm92ZW1lbnQuIElmIHdlIGRvIHNvLCB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUg
a2V5IHR5cGUKLSAgICAgICAgLy8gb2YgbV9uYW1lVG9Hcm91cE1hcCBmcm9tIEF0b21pY1N0cmlu
Z0ltcGwqIHRvIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPi4KLSAgICAgICAgbV9uYW1lVG9Hcm91
cE1hcC0+cmVtb3ZlKGl0KTsKLSAgICAgICAgaWYgKG1fbmFtZVRvR3JvdXBNYXAtPmlzRW1wdHko
KSkKLSAgICAgICAgICAgIG1fbmFtZVRvR3JvdXBNYXAuY2xlYXIoKTsKLSAgICB9CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlv
QnV0dG9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaAppbmRl
eCAyYWY5ZThlZGQzMzhkMzNmYWUyMDIyZjBmNDdjYjQ3OTMwOTZhMDI1Li5mOThkMDcwNjc2ZTBi
ODM5Y2QzMWU4NWQwMjFkMzhhY2Q1MGUwYTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2Vk
UmFkaW9CdXR0b25zLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3ICs0
NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVxdWlyZWRHcm91cChjb25zdCBBdG9taWNTdHJp
bmcmIGdyb3VwTmFtZSkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdHlwZWRlZiBIYXNoTWFwPEF0
b21pY1N0cmluZ0ltcGwqLCBPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4gPiBOYW1lVG9Hcm91cE1h
cDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+LCBPd25QdHI8
UmFkaW9CdXR0b25Hcm91cD4gPiBOYW1lVG9Hcm91cE1hcDsKICAgICBPd25QdHI8TmFtZVRvR3Jv
dXBNYXA+IG1fbmFtZVRvR3JvdXBNYXA7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWUzNGIyY2Y1YmI3Y2ZkZWRi
ODVmOGYyYmFiN2NlMjk3NTE0YWExMC4uN2RmNjVmOTE1ZDI5YjAzNWEyNjU3MzZjMzgyOTU0OGUw
YzQwZjM4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA3LTExICBQYWJsbyBGbG91cmV0
ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSYWRpbyBidXR0b25zIHdpdGggdGhl
IHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGJlIGluIHRoZSBzYW1lIHJhZGlv
IGdyb3VwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTA2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1ncm91cC1uYW1lLWNhc2UuaHRt
bDogQWRkZWQuCisKIDIwMTItMDYtMjIgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEFkanVzdCB0aGUgZGlzcGxheWVkIGVsZW1l
bnRzIG9mIHRoZSBuZXcgQ2hyb21lIG1lZGlhIGNvbnRyb2xzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1ncm91cC1uYW1lLWNhc2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1ncm91cC1uYW1lLWNhc2UtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MjNhZTM0MTgzNWYzZWY3MDE5MDViZDk3MGE1ZjZlMWQy
OGI0ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3Jh
ZGlvLWdyb3VwLW5hbWUtY2FzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorQ2FzZSBz
aG91bGRuJ3QgbWF0dGVyIHdoZW4gaXQgY29tZXMgdG8gcmFkaW8gZ3JvdXAgbmFtZXMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZm9ybS5lbGVtZW50c1swXS5jaGVja2Vk
IGlzIGZhbHNlCitQQVNTIGZvcm0uZWxlbWVudHNbMV0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBm
b3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgaXMgdHJ1ZQorCitmb3JtLmVsZW1lbnRzWzBdLm5hbWUg
PSAncmFkaW8nOworZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ3JBZElPJzsKK2Zvcm0uZWxlbWVu
dHNbMl0ubmFtZSA9ICdSQURJTyc7CitQQVNTIGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBm
YWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzFdLmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgZm9ybS5l
bGVtZW50c1syXS5jaGVja2VkIGlzIHRydWUKKworZm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1x1
MDBGMSc7Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAnXHUwMEYxJzsKK2Zvcm0uZWxlbWVudHNb
Ml0ubmFtZSA9ICdcdTAwRDEnOworUEFTUyBmb3JtLmVsZW1lbnRzWzBdLmNoZWNrZWQgaXMgZmFs
c2UKK1BBU1MgZm9ybS5lbGVtZW50c1sxXS5jaGVja2VkIGlzIGZhbHNlCitQQVNTIGZvcm0uZWxl
bWVudHNbMl0uY2hlY2tlZCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKyAgICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvcmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZWFiYTNm
Mjg3YjMwNjY4M2ExZTVhMTE5OWIzY2RhN2VkNDhlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS5odG1sCkBAIC0w
LDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGZvcm0+CisgICAgPGlu
cHV0IHR5cGU9cmFkaW8gbmFtZT1yPgorICAgIDxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9cj4KKyAg
ICA8aW5wdXQgdHlwZT1yYWRpbyBuYW1lPVI+Cis8L2Zvcm0+CisKKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiQ2FzZSBzaG91bGRuJ3QgbWF0dGVyIHdoZW4gaXQgY29tZXMgdG8gcmFkaW8gZ3JvdXAg
bmFtZXMiKTsKKwordmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKKworZm9ybS5lbGVtZW50
c1swXS5jaGVja2VkID0gdHJ1ZTsKK2Zvcm0uZWxlbWVudHNbMV0uY2hlY2tlZCA9IHRydWU7Citm
b3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgPSB0cnVlOworc2hvdWxkQmVGYWxzZSgiZm9ybS5lbGVt
ZW50c1swXS5jaGVja2VkIik7CitzaG91bGRCZUZhbHNlKCJmb3JtLmVsZW1lbnRzWzFdLmNoZWNr
ZWQiKTsKK3Nob3VsZEJlVHJ1ZSgiZm9ybS5lbGVtZW50c1syXS5jaGVja2VkIik7CisKK2RlYnVn
KCIiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdyYWRpbyc7IikKK2V2
YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdyQWRJTyc7IikKK2V2YWxBbmRMb2co
ImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdSQURJTyc7IikKKworZm9ybS5lbGVtZW50c1syXS5j
aGVja2VkID0gZmFsc2U7Citmb3JtLmVsZW1lbnRzWzBdLmNoZWNrZWQgPSB0cnVlOworZm9ybS5l
bGVtZW50c1sxXS5jaGVja2VkID0gdHJ1ZTsKK2Zvcm0uZWxlbWVudHNbMl0uY2hlY2tlZCA9IHRy
dWU7CitzaG91bGRCZUZhbHNlKCJmb3JtLmVsZW1lbnRzWzBdLmNoZWNrZWQiKTsKK3Nob3VsZEJl
RmFsc2UoImZvcm0uZWxlbWVudHNbMV0uY2hlY2tlZCIpOworc2hvdWxkQmVUcnVlKCJmb3JtLmVs
ZW1lbnRzWzJdLmNoZWNrZWQiKTsKKworZGVidWcoIiIpOworZXZhbEFuZExvZygiZm9ybS5lbGVt
ZW50c1swXS5uYW1lID0gJ1xcdTAwRjEnOyIpCitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzFd
Lm5hbWUgPSAnXFx1MDBGMSc7IikKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9
ICdcXHUwMEQxJzsiKQorCitmb3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgPSBmYWxzZTsKK2Zvcm0u
ZWxlbWVudHNbMF0uY2hlY2tlZCA9IHRydWU7Citmb3JtLmVsZW1lbnRzWzFdLmNoZWNrZWQgPSB0
cnVlOworZm9ybS5lbGVtZW50c1syXS5jaGVja2VkID0gdHJ1ZTsKK3Nob3VsZEJlRmFsc2UoImZv
cm0uZWxlbWVudHNbMF0uY2hlY2tlZCIpOworc2hvdWxkQmVGYWxzZSgiZm9ybS5lbGVtZW50c1sx
XS5jaGVja2VkIik7CitzaG91bGRCZVRydWUoImZvcm0uZWxlbWVudHNbMl0uY2hlY2tlZCIpOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152102</attachid>
            <date>2012-07-12 17:05:37 -0700</date>
            <delta_ts>2013-02-07 14:46:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90617-20120712170536.patch</filename>
            <type>text/plain</type>
            <size>12620</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIwZjc5OTdhZDczZjJm
ODc3ZmUxZTJmZDg1MWRiOTlmNmY3MjU3ZC4uNTc5YmJhYjc4OWE0NTI1MTU0N2MxNWVmMjY5NDBl
NjVjZmE1ZTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA3LTExICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSYWRpbyBidXR0b25z
IHdpdGggdGhlIHNhbWUgbmFtZSBidXQgZGlmZmVyZW50IGNhc2Ugc2hvdWxkIGJlIGluIHRoZSBz
YW1lIHJhZGlvIGdyb3VwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTA2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBY2NvbXBsaXNoIHRoaXMgYnkgdXNpbmcgYW4gdXBwZXJjYXNlZCB2ZXJzaW9uIG9m
IHRoZSByYWRpbyBidXR0b24ncworICAgICAgICBuYW1lLiBUaGlzIHJhaXNlcyB0aGUgbmVlZCBm
b3IgdGhlIE5hbWVUb0dyb3VwTWFwIHRvIGtlZXAgdGhlIHN0cmluZworICAgICAgICBhbGl2ZSwg
c28gdGhlIGtleSB0eXBlIG5lZWRzIHRvIGNoYW5nZSB0byBSZWZQdHI8QXRvbWljU3RyaW5nSW1w
bD4uCisKKyAgICAgICAgVGFuZ2VudGlhbGx5LCB0aGlzIGlzIHVzZWZ1bCB0byBnZXQgcmlkIG9m
IGEgRklYTUUgY2xhaW1pbmcgdGhlcmUKKyAgICAgICAgc2hvdWxkbid0IGJlIGEgbmVlZCB0byBy
ZW1vdmUgZW1wdHkgUmFkaW9CdXR0b25Hcm91cHMgZnJvbSB0aGUgaGFzaCB3aGVuCisgICAgICAg
IHRoZXkgYmVjb21lIGVtcHR5IChpLmUuIHBvdGVudGlhbGx5IHRyYWRlIG9mZiBhIGJpdCBvZiBt
ZW1vcnkgZm9yIHRoZQorICAgICAgICBkZWNyZWFzZWQgcGVyZm9ybWFuY2Ugd2hlbiB0aGUgZ3Jv
dXAncyBzaXplIGdvZXMgZnJvbSAwIHRvIDEgYW5kIGJhY2sKKyAgICAgICAgYW5kIGZvcnRoKS4K
KworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS5o
dG1sCisKKyAgICAgICAgKiBkb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpub3JtYWxpemVOYW1lKToKKworICAgICAgICAoV2ViQ29yZTo6Q2hlY2tlZFJhZGlv
QnV0dG9uczo6YWRkQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNoZWNrZWRSYWRpb0J1dHRv
bnM6OnVwZGF0ZUNoZWNrZWRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaGVja2VkUmFkaW9C
dXR0b25zOjpyZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2hl
Y2tlZFJhZGlvQnV0dG9uczo6Y2hlY2tlZEJ1dHRvbkZvckdyb3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OkNoZWNrZWRSYWRpb0J1dHRvbnM6OmlzUmVxdWlyZWRHcm91cCk6CisgICAgICAgICAgICBE
byB0aGUgaGFzaCBhZGRpbmcvbG9va3VwIHdpdGggYW4gdXBwZXJjYXNlIHZlcnNpb24gb2YgdGhl
IHJhZGlvCisgICAgICAgICAgICBidXR0b24ncyBuYW1lLgorCisgICAgICAgIChXZWJDb3JlOjpD
aGVja2VkUmFkaW9CdXR0b25zOjpyZW1vdmVCdXR0b24pOgorICAgICAgICAgICAgRGl0dG8sIGFu
ZCByZW1vdmUgdGhlIGNvZGUgdGhhdCBkZWFsbG9jYXRlcyBlbXB0eSBSYWRpb0J1dHRvbkdyb3Vw
cy4KKworICAgICAgICAqIGRvbS9DaGVja2VkUmFkaW9CdXR0b25zLmg6CisgICAgICAgIChDaGVj
a2VkUmFkaW9CdXR0b25zKToKKyAgICAgICAgICAgIENoYW5nZSBOYW1lVG9Hcm91cE1hcCdzIGtl
eSB0eXBlIGZyb20gQXRvbWljU3RyaW5nSW1wbCogdG8KKyAgICAgICAgICAgIFJlZlB0cjxBdG9t
aWNTdHJpbmdJbXBsPi4KKwogMjAxMi0wNi0yMiAgQnJpYW4gU2Fsb21vbiAgPGJzYWxvbW9uQGdv
b2dsZS5jb20+CiAKICAgICAgICAgSW5jcmVhc2UgdGhlIEdyQ29udGV4dCB0ZXh0dXJlIGNhY2hl
IGNvdW50IGNhcCB0byAySwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRS
YWRpb0J1dHRvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMu
Y3BwCmluZGV4IGU2NzIzMjlhZjhkZTM3OGJlZmRmYzE0ZjhhY2JkMGYyZWMwYzc0MDUuLjlhYTY1
NDBmOGM0OTRlNzNhYjliYjVhZWE5MTFiMjRhZDBkODQyMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5jcHAKQEAgLTE2NSw2ICsxNjUsMTYgQEAgdm9pZCBSYWRp
b0J1dHRvbkdyb3VwOjpzZXROZWVkc1ZhbGlkaXR5Q2hlY2tGb3JBbGxCdXR0b25zKCkKIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCitzdGF0aWMgUGFzc1JlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBub3JtYWxpemVO
YW1lKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICAvLyBGSVhNRTogVGhlIHNwZWMg
c2F5cyB1bmljb2RlIGNhc2VsZXNzIGNvbXBhdGliaWxpdHkgbWF0Y2hpbmcgc2hvdWxkIGJlCisg
ICAgLy8gdXNlZCB0byBjb21wYXJlIHJhZGlvIGJ1dHRvbiBuYW1lcy4gRXhwbGljaXQgY29tcGFy
aXNvbnMgYXJlIG5vdCByZWFsbHkKKyAgICAvLyBkb25lIHNpbmNlIGEgaGFzaCB3aXRoIEF0b21p
Y1N0cmluZ0ltcGwga2V5cyBpcyB1c2VkLiBGb3Igc2ltcGxpY2l0eSwKKyAgICAvLyBub3JtYWxp
emUgdGhlIG5hbWVzIHRvIHVwcGVyY2FzZSBpbnN0ZWFkLCBhbHRob3VnaCBpdCdzIG5vdCBmdWxs
eQorICAgIC8vIGNvcnJlY3QuCisgICAgcmV0dXJuIG5hbWUudXBwZXIoKS5pbXBsKCk7Cit9CisK
IC8vIEV4cGxpY2l0eSBkZWZpbmUgZW1wdHkgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IgaW4g
b3JkZXIgdG8gcHJldmVudCB0aGUKIC8vIGNvbXBpbGVyIGZyb20gZ2VuZXJhdGluZyB0aGVtIGFz
IGlubGluZXMuIFNvIHdlIGRvbid0IG5lZWQgdG8gdG8gZGVmaW5lCiAvLyBSYWRpb0J1dHRvbkdy
b3VwIGluIHRoZSBoZWFkZXIuCkBAIC0xODUsNyArMTk1LDcgQEAgdm9pZCBDaGVja2VkUmFkaW9C
dXR0b25zOjphZGRCdXR0b24oSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICBpZiAoIW1f
bmFtZVRvR3JvdXBNYXApCiAgICAgICAgIG1fbmFtZVRvR3JvdXBNYXAgPSBhZG9wdFB0cihuZXcg
TmFtZVRvR3JvdXBNYXApOwogCi0gICAgT3duUHRyPFJhZGlvQnV0dG9uR3JvdXA+JiBncm91cCA9
IG1fbmFtZVRvR3JvdXBNYXAtPmFkZChlbGVtZW50LT5uYW1lKCkuaW1wbCgpLCBQYXNzT3duUHRy
PFJhZGlvQnV0dG9uR3JvdXA+KCkpLml0ZXJhdG9yLT5zZWNvbmQ7CisgICAgT3duUHRyPFJhZGlv
QnV0dG9uR3JvdXA+JiBncm91cCA9IG1fbmFtZVRvR3JvdXBNYXAtPmFkZChub3JtYWxpemVOYW1l
KGVsZW1lbnQtPm5hbWUoKSksIFBhc3NPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4oKSkuaXRlcmF0
b3ItPnNlY29uZDsKICAgICBpZiAoIWdyb3VwKQogICAgICAgICBncm91cCA9IFJhZGlvQnV0dG9u
R3JvdXA6OmNyZWF0ZSgpOwogICAgIGdyb3VwLT5hZGQoZWxlbWVudCk7CkBAIC0xOTksNyArMjA5
LDcgQEAgdm9pZCBDaGVja2VkUmFkaW9CdXR0b25zOjp1cGRhdGVDaGVja2VkU3RhdGUoSFRNTElu
cHV0RWxlbWVudCogZWxlbWVudCkKICAgICBBU1NFUlQobV9uYW1lVG9Hcm91cE1hcCk7CiAgICAg
aWYgKCFtX25hbWVUb0dyb3VwTWFwKQogICAgICAgICByZXR1cm47Ci0gICAgUmFkaW9CdXR0b25H
cm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFwLT5nZXQoZWxlbWVudC0+bmFtZSgpLmltcGwo
KSk7CisgICAgUmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFwLT5nZXQo
bm9ybWFsaXplTmFtZShlbGVtZW50LT5uYW1lKCkpKTsKICAgICBBU1NFUlQoZ3JvdXApOwogICAg
IGdyb3VwLT51cGRhdGVDaGVja2VkU3RhdGUoZWxlbWVudCk7CiB9CkBAIC0yMTIsNyArMjIyLDcg
QEAgdm9pZCBDaGVja2VkUmFkaW9CdXR0b25zOjpyZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICBBU1NFUlQobV9uYW1lVG9Hcm91cE1hcCk7CiAg
ICAgaWYgKCFtX25hbWVUb0dyb3VwTWFwKQogICAgICAgICByZXR1cm47Ci0gICAgUmFkaW9CdXR0
b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFwLT5nZXQoZWxlbWVudC0+bmFtZSgpLmlt
cGwoKSk7CisgICAgUmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dyb3VwTWFwLT5n
ZXQobm9ybWFsaXplTmFtZShlbGVtZW50LT5uYW1lKCkpKTsKICAgICBBU1NFUlQoZ3JvdXApOwog
ICAgIGdyb3VwLT5yZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoZWxlbWVudCk7CiB9CkBAIC0yMjEs
OCArMjMxLDcgQEAgSFRNTElucHV0RWxlbWVudCogQ2hlY2tlZFJhZGlvQnV0dG9uczo6Y2hlY2tl
ZEJ1dHRvbkZvckdyb3VwKGNvbnN0IEF0b21pY1N0cmluZyYKIHsKICAgICBpZiAoIW1fbmFtZVRv
R3JvdXBNYXApCiAgICAgICAgIHJldHVybiAwOwotICAgIG1fbmFtZVRvR3JvdXBNYXAtPmNoZWNr
Q29uc2lzdGVuY3koKTsKLSAgICBSYWRpb0J1dHRvbkdyb3VwKiBncm91cCA9IG1fbmFtZVRvR3Jv
dXBNYXAtPmdldChuYW1lLmltcGwoKSk7CisgICAgUmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBt
X25hbWVUb0dyb3VwTWFwLT5nZXQobm9ybWFsaXplTmFtZShuYW1lKSk7CiAgICAgcmV0dXJuIGdy
b3VwID8gZ3JvdXAtPmNoZWNrZWRCdXR0b24oKSA6IDA7CiB9CiAKQEAgLTIzMCw3ICsyMzksNyBA
QCBib29sIENoZWNrZWRSYWRpb0J1dHRvbnM6OmlzUmVxdWlyZWRHcm91cChjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUpIGNvbnN0CiB7CiAgICAgaWYgKCFtX25hbWVUb0dyb3VwTWFwKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgUmFkaW9CdXR0b25Hcm91cCogZ3JvdXAgPSBtX25hbWVUb0dy
b3VwTWFwLT5nZXQobmFtZS5pbXBsKCkpOworICAgIFJhZGlvQnV0dG9uR3JvdXAqIGdyb3VwID0g
bV9uYW1lVG9Hcm91cE1hcC0+Z2V0KG5vcm1hbGl6ZU5hbWUobmFtZSkpOwogICAgIHJldHVybiBn
cm91cCAmJiBncm91cC0+aXNSZXF1aXJlZCgpOwogfQogCkBAIC0yNDIsMTkgKzI1MSwxMCBAQCB2
b2lkIENoZWNrZWRSYWRpb0J1dHRvbnM6OnJlbW92ZUJ1dHRvbihIVE1MSW5wdXRFbGVtZW50KiBl
bGVtZW50KQogICAgIGlmICghbV9uYW1lVG9Hcm91cE1hcCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9uYW1lVG9Hcm91cE1hcC0+Y2hlY2tDb25zaXN0ZW5jeSgpOwotICAgIE5hbWVUb0dyb3Vw
TWFwOjppdGVyYXRvciBpdCA9IG1fbmFtZVRvR3JvdXBNYXAtPmZpbmQoZWxlbWVudC0+bmFtZSgp
LmltcGwoKSk7CisgICAgTmFtZVRvR3JvdXBNYXA6Oml0ZXJhdG9yIGl0ID0gbV9uYW1lVG9Hcm91
cE1hcC0+ZmluZChub3JtYWxpemVOYW1lKGVsZW1lbnQtPm5hbWUoKSkpOwogICAgIGlmIChpdCA9
PSBtX25hbWVUb0dyb3VwTWFwLT5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGl0LT5zZWNv
bmQtPnJlbW92ZShlbGVtZW50KTsKLSAgICBpZiAoaXQtPnNlY29uZC0+aXNFbXB0eSgpKSB7Ci0g
ICAgICAgIC8vIEZJWE1FOiBXZSBtYXkgc2tpcCBkZWFsbG9jYXRpbmcgdGhlIGVtcHR5IFJhZGlv
QnV0dG9uR3JvdXAgZm9yCi0gICAgICAgIC8vIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LiBJZiB3
ZSBkbyBzbywgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIGtleSB0eXBlCi0gICAgICAgIC8vIG9mIG1f
bmFtZVRvR3JvdXBNYXAgZnJvbSBBdG9taWNTdHJpbmdJbXBsKiB0byBSZWZQdHI8QXRvbWljU3Ry
aW5nSW1wbD4uCi0gICAgICAgIG1fbmFtZVRvR3JvdXBNYXAtPnJlbW92ZShpdCk7Ci0gICAgICAg
IGlmIChtX25hbWVUb0dyb3VwTWFwLT5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX25hbWVUb0dy
b3VwTWFwLmNsZWFyKCk7Ci0gICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmgKaW5kZXggMmFmOWU4ZWRkMzM4ZDMzZmFlMjAyMmYw
ZjQ3Y2I0NzkzMDk2YTAyNS4uZjk4ZDA3MDY3NmUwYjgzOWNkMzFlODVkMDIxZDM4YWNkNTBlMGE1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hlY2tlZFJhZGlvQnV0dG9ucy5oCkBAIC0yNCw2ICsy
NCw3IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDQsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c1JlcXVpcmVkR3JvdXAoY29uc3QgQXRvbWljU3RyaW5nJiBncm91cE5hbWUpIGNvbnN0OwogCiBw
cml2YXRlOgotICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgT3duUHRyPFJh
ZGlvQnV0dG9uR3JvdXA+ID4gTmFtZVRvR3JvdXBNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxBdG9taWNTdHJpbmdJbXBsPiwgT3duUHRyPFJhZGlvQnV0dG9uR3JvdXA+ID4gTmFtZVRv
R3JvdXBNYXA7CiAgICAgT3duUHRyPE5hbWVUb0dyb3VwTWFwPiBtX25hbWVUb0dyb3VwTWFwOwog
fTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDFlMzRiMmNmNWJiN2NmZGVkYjg1ZjhmMmJhYjdjZTI5NzUxNGFhMTAuLjdk
ZjY1ZjkxNWQyOWIwMzVhMjY1NzM2YzM4Mjk1NDhlMGM0MGYzOGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wNy0xMSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CisK
KyAgICAgICAgUmFkaW8gYnV0dG9ucyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0IGRpZmZlcmVudCBj
YXNlIHNob3VsZCBiZSBpbiB0aGUgc2FtZSByYWRpbyBncm91cC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjE3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdy
b3VwLW5hbWUtY2FzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
cmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTIyICBT
aWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBBZGp1c3QgdGhlIGRpc3BsYXllZCBlbGVtZW50cyBvZiB0aGUgbmV3IENocm9tZSBtZWRp
YSBjb250cm9scy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFk
aW8tZ3JvdXAtbmFtZS1jYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODJj
MjA4ODdkMTdmOWQ3YzAwZjViNDQ2ZDdhOTQxYzI3ZmFiMGU3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1ncm91cC1uYW1lLWNhc2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNTYgQEAKK0Nhc2Ugc2hvdWxkbid0IG1hdHRlciB3aGVuIGl0IGNv
bWVzIHRvIHJhZGlvIGdyb3VwIG5hbWVzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitUZXN0IDEKK2Zvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdyJzsKK2Zvcm0uZWxlbWVudHNbMV0u
bmFtZSA9ICdyJzsKK2Zvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdSJzsKK1BBU1MgZm9ybS5lbGVt
ZW50c1swXS5jaGVja2VkIGlzIGZhbHNlCitQQVNTIGZvcm0uZWxlbWVudHNbMV0uY2hlY2tlZCBp
cyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgaXMgdHJ1ZQorCitUZXN0IDIK
K2Zvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdyYWRpbyc7Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUg
PSAnckFkSU8nOworZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1JBRElPJzsKK1BBU1MgZm9ybS5l
bGVtZW50c1swXS5jaGVja2VkIGlzIGZhbHNlCitQQVNTIGZvcm0uZWxlbWVudHNbMV0uY2hlY2tl
ZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgaXMgdHJ1ZQorCitUZXN0
IDMgKExBVElOIFNNQUxMIExFVFRFUiBOIFdJVEggVElMREUgLyBMQVRJTiBDQVBJVEFMIExFVFRF
UiBOIFdJVEggVElMREUpCitmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAnXHUwMEYxJzsKK2Zvcm0u
ZWxlbWVudHNbMV0ubmFtZSA9ICdcdTAwRjEnOworZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1x1
MDBEMSc7CitQQVNTIGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3Jt
LmVsZW1lbnRzWzFdLmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVj
a2VkIGlzIHRydWUKKworVGVzdCA0IChMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUyAvIFNTKQor
Zm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1x1MDBERic7Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUg
PSAnXHUwMERGJzsKK2Zvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdTUyc7CitQQVNTIGZvcm0uZWxl
bWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzFdLmNoZWNrZWQg
aXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVja2VkIGlzIHRydWUKKworVGVzdCA1
IChERVNFUkVUIFNNQUxMIExFVFRFUiBMT05HIEkgLyBERVNFUkVUIENBUElUQUwgTEVUVEVSIExP
TkcgSSkKK2Zvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdcdUQ4MDFcdURDMjgnOworZm9ybS5lbGVt
ZW50c1sxXS5uYW1lID0gJ1x1RDgwMVx1REMyOCc7Citmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAn
XHVEODAxXHVEQzAwJzsKK1BBU1MgZm9ybS5lbGVtZW50c1swXS5jaGVja2VkIGlzIGZhbHNlCitQ
QVNTIGZvcm0uZWxlbWVudHNbMV0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRz
WzJdLmNoZWNrZWQgaXMgdHJ1ZQorCitUZXN0IDYgKEdSRUVLIFNNQUxMIExFVFRFUiBGSU5BTCBT
SUdNQSAvIEdSRUVLIFNNQUxMIExFVFRFUiBTSUdNQSAvIEdSRUVLIENBUElUQUwgTEVUVEVSIFNJ
R01BCitmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAnXHUwM0MyJzsKK2Zvcm0uZWxlbWVudHNbMV0u
bmFtZSA9ICdcdTAzQzMnOworZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1x1MDNBMyc7CitQQVNT
IGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzFd
LmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVja2VkIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAgIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby9yYWRpby1ncm91cC1uYW1l
LWNhc2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAtbmFt
ZS1jYXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQzOTRhYjZhNGZmNGU5OWYzZjMxOWFiZmZmOWRlZDM4
NWNiY2Y1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8v
cmFkaW8tZ3JvdXAtbmFtZS1jYXNlLmh0bWwKQEAgLTAsMCArMSw3NSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorCis8Zm9ybT4KKyAgICA8aW5wdXQgdHlwZT1yYWRpbz4KKyAgICA8aW5w
dXQgdHlwZT1yYWRpbz4KKyAgICA8aW5wdXQgdHlwZT1yYWRpbz4KKzwvZm9ybT4KKworPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJDYXNlIHNob3VsZG4ndCBtYXR0ZXIgd2hlbiBpdCBjb21lcyB0byBy
YWRpbyBncm91cCBuYW1lcyIpOworCitmdW5jdGlvbiBjaGVja0FsbFJhZGlvQnV0dG9uc0luT3Jk
ZXIoKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JtLmVsZW1lbnRzLmxlbmd0aDsgaSsr
KQorICAgICAgICBmb3JtLmVsZW1lbnRzW2ldLmNoZWNrZWQgPSBmYWxzZTsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGZvcm0uZWxlbWVudHMubGVuZ3RoOyBpKyspCisgICAgICAgIGZvcm0uZWxl
bWVudHNbaV0uY2hlY2tlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDaGVja2VkQ29ycmVj
dG5lc3MoKSB7CisgICAgdmFyIGk7CisgICAgZm9yIChpID0gMDsgaSA8IChmb3JtLmVsZW1lbnRz
Lmxlbmd0aCAtIDEpOyBpKyspIHsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgiZm9ybS5lbGVtZW50
c1siICsgaSArICJdLmNoZWNrZWQiKTsKKyAgICB9CisgICAgc2hvdWxkQmVUcnVlKCJmb3JtLmVs
ZW1lbnRzWyIgKyBpICsgIl0uY2hlY2tlZCIpOworfQorCitmb3JtID0gZG9jdW1lbnQuZm9ybXNb
MF07CisKK2RlYnVnKCJUZXN0IDEiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMF0ubmFt
ZSA9ICdyJzsiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdyJzsiKTsK
K2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdSJzsiKTsKK2NoZWNrQWxsUmFk
aW9CdXR0b25zSW5PcmRlcigpOwordGVzdENoZWNrZWRDb3JyZWN0bmVzcygpOworCitkZWJ1Zygi
XG5UZXN0IDIiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdyYWRpbyc7
Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAnckFkSU8nOyIpOworZXZh
bEFuZExvZygiZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1JBRElPJzsiKTsKK2NoZWNrQWxsUmFk
aW9CdXR0b25zSW5PcmRlcigpOwordGVzdENoZWNrZWRDb3JyZWN0bmVzcygpOworCitkZWJ1Zygi
XG5UZXN0IDMgKExBVElOIFNNQUxMIExFVFRFUiBOIFdJVEggVElMREUgLyBMQVRJTiBDQVBJVEFM
IExFVFRFUiBOIFdJVEggVElMREUpIik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzBdLm5h
bWUgPSAnXFx1MDBGMSc7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAn
XFx1MDBGMSc7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAnXFx1MDBE
MSc7Iik7CitjaGVja0FsbFJhZGlvQnV0dG9uc0luT3JkZXIoKTsKK3Rlc3RDaGVja2VkQ29ycmVj
dG5lc3MoKTsKKworZGVidWcoIlxuVGVzdCA0IChMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUyAv
IFNTKSIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1xcdTAwREYnOyIp
OworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ1xcdTAwREYnOyIpOworZXZh
bEFuZExvZygiZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1NTJzsiKQorY2hlY2tBbGxSYWRpb0J1
dHRvbnNJbk9yZGVyKCk7Cit0ZXN0Q2hlY2tlZENvcnJlY3RuZXNzKCk7CisKK2RlYnVnKCJcblRl
c3QgNSAoREVTRVJFVCBTTUFMTCBMRVRURVIgTE9ORyBJIC8gREVTRVJFVCBDQVBJVEFMIExFVFRF
UiBMT05HIEkpIik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAnXFx1RDgw
MVxcdURDMjgnOyIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ1xcdUQ4
MDFcXHVEQzI4JzsiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdcXHVE
ODAxXFx1REMwMCc7Iik7CitjaGVja0FsbFJhZGlvQnV0dG9uc0luT3JkZXIoKTsKK3Rlc3RDaGVj
a2VkQ29ycmVjdG5lc3MoKTsKKworZGVidWcoIlxuVGVzdCA2IChHUkVFSyBTTUFMTCBMRVRURVIg
RklOQUwgU0lHTUEgLyBHUkVFSyBTTUFMTCBMRVRURVIgU0lHTUEgLyBHUkVFSyBDQVBJVEFMIExF
VFRFUiBTSUdNQSIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1xcdTAz
QzInOyIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ1xcdTAzQzMnOyIp
OworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1xcdTAzQTMnOyIpOworY2hl
Y2tBbGxSYWRpb0J1dHRvbnNJbk9yZGVyKCk7Cit0ZXN0Q2hlY2tlZENvcnJlY3RuZXNzKCk7Cis8
L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187180</attachid>
            <date>2013-02-07 14:46:14 -0800</date>
            <delta_ts>2013-02-07 14:46:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90617-20130207144250.patch</filename>
            <type>text/plain</type>
            <size>8547</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRjMzc5NmU0NmJmMjU3
MjNhZDFlMWRmZjc4YzQzNjU4MmI0YzYyZi4uYWJjNzJlN2JiNmNhMDJjMTVhMjIzNjQ3OWNmZmFk
YzAxMTM0Nzc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA3ICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSYWRpbyBidXR0b24g
bmFtZSBpcyBjYXNlIHNlbnNpdGl2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgYSBDYXNlRm9sZGluZ0hhc2ggaGFzaCBmdW5jdGlvbiBpbiB0aGUg
TmFtZVRvR3JvdXBNYXAgc28gdGhhdCByYWRpbworICAgICAgICBidXR0b24gZ3JvdXAgbmFtZXMg
YXJlIHRyZWF0ZWQgYXMgY2FzZSBpbnNlbnNpdGl2ZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Zv
cm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS5odG1sCisKKyAgICAgICAgKiBkb20vQ2hl
Y2tlZFJhZGlvQnV0dG9ucy5oOgorICAgICAgICAoQ2hlY2tlZFJhZGlvQnV0dG9ucyk6CisKIDIw
MTMtMDItMDUgIEFudG9uIFZheXZvZCAgPGF2YXl2b2RAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFRleHRBdXRvc2l6aW5nOiBhZGp1c3QgdGhlIG1heGltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIGNs
dXN0ZXIgdGV4dCB3aWR0aCBhbmQgaXRzIGRlc2NlbmRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hl
Y2tlZFJhZGlvQnV0dG9ucy5oCmluZGV4IGYwNTBmYWE0OGMxNjI0NGM5NzQ1ZTMwMTkwNzJhZjYx
NzFmNDk0NzIuLmIyMjA4MTMxMTYwNDRhYmJlYmFjNTZmMTFmM2I5MjEyNTNiMmExOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGVja2VkUmFkaW9CdXR0b25zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0NoZWNrZWRSYWRpb0J1dHRvbnMuaApAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNJblJlcXVpcmVkR3JvdXAoSFRNTElucHV0RWxlbWVudCopIGNvbnN0OwogCiBwcml2YXRlOgot
ICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgT3duUHRyPFJhZGlvQnV0dG9u
R3JvdXA+ID4gTmFtZVRvR3JvdXBNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPEF0b21pY1N0cmlu
Z0ltcGwqLCBPd25QdHI8UmFkaW9CdXR0b25Hcm91cD4sIENhc2VGb2xkaW5nSGFzaD4gTmFtZVRv
R3JvdXBNYXA7CiAgICAgT3duUHRyPE5hbWVUb0dyb3VwTWFwPiBtX25hbWVUb0dyb3VwTWFwOwog
fTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDQwMDgxNmM3MzI2ZmRkYjM5NzUyYmVkYzUzNzhmNDE3MjkzNzM0NzcuLmZh
MmZjYmNmN2NjODRiMTBkYmM1MDNjNjQ0ZTA0ZGJmMWQxZDQ2M2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMy0wMi0wNyAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CisK
KyAgICAgICAgUmFkaW8gYnV0dG9uIG5hbWUgaXMgY2FzZSBzZW5zaXRpdmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvL3Jh
ZGlvLWdyb3VwLW5hbWUtY2FzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAtbmFtZS1jYXNlLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAy
LTA1ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXh0
QXV0b3NpemluZzogYWRqdXN0IHRoZSBtYXhpbXVtIGRpZmZlcmVuY2UgYmV0d2VlbiBjbHVzdGVy
IHRleHQgd2lkdGggYW5kIGl0cyBkZXNjZW5kYW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzMyZDUxZTFhM2M2ODZjMmZiOGJhNjI5ZmM3NjNlNmQ3NmJjNDM3YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3Jv
dXAtbmFtZS1jYXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcyIEBACitDYXNlIHNob3VsZG4n
dCBtYXR0ZXIgd2hlbiBpdCBjb21lcyB0byByYWRpbyBncm91cCBuYW1lcworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworVGVzdCAxCitmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAncic7
Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAncic7Citmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAn
Uic7CitQQVNTIGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVs
ZW1lbnRzWzFdLmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVja2Vk
IGlzIHRydWUKKworVGVzdCAyCitmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAncmFkaW8nOworZm9y
bS5lbGVtZW50c1sxXS5uYW1lID0gJ3JBZElPJzsKK2Zvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdS
QURJTyc7CitQQVNTIGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3Jt
LmVsZW1lbnRzWzFdLmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVj
a2VkIGlzIHRydWUKKworVGVzdCAzIChMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFIC8g
TEFUSU4gQ0FQSVRBTCBMRVRURVIgTiBXSVRIIFRJTERFKQorZm9ybS5lbGVtZW50c1swXS5uYW1l
ID0gJ1x1MDBGMSc7Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAnXHUwMEYxJzsKK2Zvcm0uZWxl
bWVudHNbMl0ubmFtZSA9ICdcdTAwRDEnOworUEFTUyBmb3JtLmVsZW1lbnRzWzBdLmNoZWNrZWQg
aXMgZmFsc2UKK1BBU1MgZm9ybS5lbGVtZW50c1sxXS5jaGVja2VkIGlzIGZhbHNlCitQQVNTIGZv
cm0uZWxlbWVudHNbMl0uY2hlY2tlZCBpcyB0cnVlCisKK1Rlc3QgNCAoTEFUSU4gU01BTEwgTEVU
VEVSIFNIQVJQIFMgLyBTUykKK2Zvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdcdTAwREYnOworZm9y
bS5lbGVtZW50c1sxXS5uYW1lID0gJ1x1MDBERic7Citmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAn
U1MnOworUEFTUyBmb3JtLmVsZW1lbnRzWzBdLmNoZWNrZWQgaXMgZmFsc2UKK0ZBSUwgZm9ybS5l
bGVtZW50c1sxXS5jaGVja2VkIHNob3VsZCBiZSBmYWxzZS4gV2FzIHRydWUuCitQQVNTIGZvcm0u
ZWxlbWVudHNbMl0uY2hlY2tlZCBpcyB0cnVlCisKK1Rlc3QgNSAoREVTRVJFVCBTTUFMTCBMRVRU
RVIgTE9ORyBJIC8gREVTRVJFVCBDQVBJVEFMIExFVFRFUiBMT05HIEkpCitmb3JtLmVsZW1lbnRz
WzBdLm5hbWUgPSAnXHVEODAxXHVEQzI4JzsKK2Zvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdcdUQ4
MDFcdURDMjgnOworZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1x1RDgwMVx1REMwMCc7CitQQVNT
IGZvcm0uZWxlbWVudHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorRkFJTCBmb3JtLmVsZW1lbnRzWzFd
LmNoZWNrZWQgc2hvdWxkIGJlIGZhbHNlLiBXYXMgdHJ1ZS4KK1BBU1MgZm9ybS5lbGVtZW50c1sy
XS5jaGVja2VkIGlzIHRydWUKKworVGVzdCA2IChHUkVFSyBTTUFMTCBMRVRURVIgRklOQUwgU0lH
TUEgLyBHUkVFSyBTTUFMTCBMRVRURVIgU0lHTUEgLyBHUkVFSyBDQVBJVEFMIExFVFRFUiBTSUdN
QSkKK2Zvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdcdTAzQzInOworZm9ybS5lbGVtZW50c1sxXS5u
YW1lID0gJ1x1MDNDMyc7Citmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAnXHUwM0EzJzsKK1BBU1Mg
Zm9ybS5lbGVtZW50c1swXS5jaGVja2VkIGlzIGZhbHNlCitQQVNTIGZvcm0uZWxlbWVudHNbMV0u
Y2hlY2tlZCBpcyBmYWxzZQorUEFTUyBmb3JtLmVsZW1lbnRzWzJdLmNoZWNrZWQgaXMgdHJ1ZQor
CitUZXN0IDcgKExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBET1QgQUJPVkUpCitmb3JtLmVs
ZW1lbnRzWzBdLm5hbWUgPSAnXHUwMTMwJzsKK2Zvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdcdTAw
NjknOworZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1x1MDEzMCc7CitQQVNTIGZvcm0uZWxlbWVu
dHNbMF0uY2hlY2tlZCBpcyBmYWxzZQorRkFJTCBmb3JtLmVsZW1lbnRzWzFdLmNoZWNrZWQgc2hv
dWxkIGJlIGZhbHNlLiBXYXMgdHJ1ZS4KK1BBU1MgZm9ybS5lbGVtZW50c1syXS5jaGVja2VkIGlz
IHRydWUKKworVGVzdCA4IChMQVRJTiBTTUFMTCBMRVRURVIgRE9UTEVTUyBJKQorZm9ybS5lbGVt
ZW50c1swXS5uYW1lID0gJ1x1MDEzMSc7Citmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAnXHUwMDQ5
JzsKK2Zvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdcdTAxMzEnOworUEFTUyBmb3JtLmVsZW1lbnRz
WzBdLmNoZWNrZWQgaXMgZmFsc2UKK0ZBSUwgZm9ybS5lbGVtZW50c1sxXS5jaGVja2VkIHNob3Vs
ZCBiZSBmYWxzZS4gV2FzIHRydWUuCitQQVNTIGZvcm0uZWxlbWVudHNbMl0uY2hlY2tlZCBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAg
ICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8vcmFkaW8tZ3JvdXAt
bmFtZS1jYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvL3JhZGlvLWdyb3Vw
LW5hbWUtY2FzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MzA0NWM2MDM4OTcyNGE3Y2ZjNzk2MTRkYzEz
ZjU4YmMxZDRkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jh
ZGlvL3JhZGlvLWdyb3VwLW5hbWUtY2FzZS5odG1sCkBAIC0wLDAgKzEsODkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKworPGZvcm0+CisgICAgPGlucHV0IHR5cGU9cmFkaW8+CisgICAg
PGlucHV0IHR5cGU9cmFkaW8+CisgICAgPGlucHV0IHR5cGU9cmFkaW8+Cis8L2Zvcm0+CisKKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiQ2FzZSBzaG91bGRuJ3QgbWF0dGVyIHdoZW4gaXQgY29tZXMg
dG8gcmFkaW8gZ3JvdXAgbmFtZXMiKTsKKworZnVuY3Rpb24gY2hlY2tBbGxSYWRpb0J1dHRvbnNJ
bk9yZGVyKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybS5lbGVtZW50cy5sZW5ndGg7
IGkrKykKKyAgICAgICAgZm9ybS5lbGVtZW50c1tpXS5jaGVja2VkID0gZmFsc2U7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBmb3JtLmVsZW1lbnRzLmxlbmd0aDsgaSsrKQorICAgICAgICBmb3Jt
LmVsZW1lbnRzW2ldLmNoZWNrZWQgPSB0cnVlOworfQorCitmdW5jdGlvbiB0ZXN0Q2hlY2tlZENv
cnJlY3RuZXNzKCkgeworICAgIHZhciBpOworICAgIGZvciAoaSA9IDA7IGkgPCAoZm9ybS5lbGVt
ZW50cy5sZW5ndGggLSAxKTsgaSsrKSB7CisgICAgICAgIHNob3VsZEJlRmFsc2UoImZvcm0uZWxl
bWVudHNbIiArIGkgKyAiXS5jaGVja2VkIik7CisgICAgfQorICAgIHNob3VsZEJlVHJ1ZSgiZm9y
bS5lbGVtZW50c1siICsgaSArICJdLmNoZWNrZWQiKTsKK30KKworZm9ybSA9IGRvY3VtZW50LmZv
cm1zWzBdOworCitkZWJ1ZygiVGVzdCAxIik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzBd
Lm5hbWUgPSAncic7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAncic7
Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAnUic7Iik7CitjaGVja0Fs
bFJhZGlvQnV0dG9uc0luT3JkZXIoKTsKK3Rlc3RDaGVja2VkQ29ycmVjdG5lc3MoKTsKKworZGVi
dWcoIlxuVGVzdCAyIik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAncmFk
aW8nOyIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ3JBZElPJzsiKTsK
K2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdSQURJTyc7Iik7CitjaGVja0Fs
bFJhZGlvQnV0dG9uc0luT3JkZXIoKTsKK3Rlc3RDaGVja2VkQ29ycmVjdG5lc3MoKTsKKworZGVi
dWcoIlxuVGVzdCAzIChMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFIC8gTEFUSU4gQ0FQ
SVRBTCBMRVRURVIgTiBXSVRIIFRJTERFKSIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sw
XS5uYW1lID0gJ1xcdTAwRjEnOyIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1l
ID0gJ1xcdTAwRjEnOyIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1xc
dTAwRDEnOyIpOworY2hlY2tBbGxSYWRpb0J1dHRvbnNJbk9yZGVyKCk7Cit0ZXN0Q2hlY2tlZENv
cnJlY3RuZXNzKCk7CisKK2RlYnVnKCJcblRlc3QgNCAoTEFUSU4gU01BTEwgTEVUVEVSIFNIQVJQ
IFMgLyBTUykiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdcXHUwMERG
JzsiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdcXHUwMERGJzsiKTsK
K2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMl0ubmFtZSA9ICdTUyc7IikKK2NoZWNrQWxsUmFk
aW9CdXR0b25zSW5PcmRlcigpOwordGVzdENoZWNrZWRDb3JyZWN0bmVzcygpOworCitkZWJ1Zygi
XG5UZXN0IDUgKERFU0VSRVQgU01BTEwgTEVUVEVSIExPTkcgSSAvIERFU0VSRVQgQ0FQSVRBTCBM
RVRURVIgTE9ORyBJKSIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1xc
dUQ4MDFcXHVEQzI4JzsiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVudHNbMV0ubmFtZSA9ICdc
XHVEODAxXFx1REMyOCc7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAn
XFx1RDgwMVxcdURDMDAnOyIpOworY2hlY2tBbGxSYWRpb0J1dHRvbnNJbk9yZGVyKCk7Cit0ZXN0
Q2hlY2tlZENvcnJlY3RuZXNzKCk7CisKK2RlYnVnKCJcblRlc3QgNiAoR1JFRUsgU01BTEwgTEVU
VEVSIEZJTkFMIFNJR01BIC8gR1JFRUsgU01BTEwgTEVUVEVSIFNJR01BIC8gR1JFRUsgQ0FQSVRB
TCBMRVRURVIgU0lHTUEpIik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzBdLm5hbWUgPSAn
XFx1MDNDMic7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzFdLm5hbWUgPSAnXFx1MDND
Myc7Iik7CitldmFsQW5kTG9nKCJmb3JtLmVsZW1lbnRzWzJdLm5hbWUgPSAnXFx1MDNBMyc7Iik7
CitjaGVja0FsbFJhZGlvQnV0dG9uc0luT3JkZXIoKTsKK3Rlc3RDaGVja2VkQ29ycmVjdG5lc3Mo
KTsKKworZGVidWcoIlxuVGVzdCA3IChMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggRE9UIEFC
T1ZFKSIpOworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1swXS5uYW1lID0gJ1xcdTAxMzAnOyIp
OworZXZhbEFuZExvZygiZm9ybS5lbGVtZW50c1sxXS5uYW1lID0gJ1xcdTAwNjknOyIpOworZXZh
bEFuZExvZygiZm9ybS5lbGVtZW50c1syXS5uYW1lID0gJ1xcdTAxMzAnOyIpOworY2hlY2tBbGxS
YWRpb0J1dHRvbnNJbk9yZGVyKCk7Cit0ZXN0Q2hlY2tlZENvcnJlY3RuZXNzKCk7CisKK2RlYnVn
KCJcblRlc3QgOCAoTEFUSU4gU01BTEwgTEVUVEVSIERPVExFU1MgSSkiKTsKK2V2YWxBbmRMb2co
ImZvcm0uZWxlbWVudHNbMF0ubmFtZSA9ICdcXHUwMTMxJzsiKTsKK2V2YWxBbmRMb2coImZvcm0u
ZWxlbWVudHNbMV0ubmFtZSA9ICdcXHUwMDQ5JzsiKTsKK2V2YWxBbmRMb2coImZvcm0uZWxlbWVu
dHNbMl0ubmFtZSA9ICdcXHUwMTMxJzsiKTsKK2NoZWNrQWxsUmFkaW9CdXR0b25zSW5PcmRlcigp
OwordGVzdENoZWNrZWRDb3JyZWN0bmVzcygpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>