<?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>49058</bug_id>
          
          <creation_ts>2010-11-05 00:45:33 -0700</creation_ts>
          <short_desc>CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with &apos;important&apos; priority</short_desc>
          <delta_ts>2012-02-01 13:48:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Xianzhu Wang">phnixwxz</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>ap</cc>
    
    <cc>jnd</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>max.hong.shen</cc>
    
    <cc>menard</cc>
    
    <cc>tony</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>305167</commentid>
    <comment_count>0</comment_count>
      <attachid>73040</attachid>
    <who name="Xianzhu Wang">phnixwxz</who>
    <bug_when>2010-11-05 00:45:33 -0700</bug_when>
    <thetext>Created attachment 73040
Test case

For a style rule containing a declaration of a shorthand property (e.g. &apos;background&apos;):
  background: yellow !important;
rule.getPropertyPriority(&apos;background&apos;) returns &apos;&apos;.
Firefox returns &apos;important&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308302</commentid>
    <comment_count>1</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-11-11 17:37:42 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Created an attachment (id=73040) [details]
&gt; Test case
&gt; 
&gt; For a style rule containing a declaration of a shorthand property (e.g. &apos;background&apos;):
&gt;   background: yellow !important;
&gt; rule.getPropertyPriority(&apos;background&apos;) returns &apos;&apos;.
&gt; Firefox returns &apos;important&apos;.

Is there any specification for this? If yes, I can try work on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547035</commentid>
    <comment_count>2</comment_count>
      <attachid>124937</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 05:52:47 -0800</bug_when>
    <thetext>Created attachment 124937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547040</commentid>
    <comment_count>3</comment_count>
      <attachid>124940</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 06:09:05 -0800</bug_when>
    <thetext>Created attachment 124940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547046</commentid>
    <comment_count>4</comment_count>
      <attachid>124940</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-01 06:21:33 -0800</bug_when>
    <thetext>Comment on attachment 124940
Patch

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

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.h:147
&gt; +    bool getCommonPriority(const int* properties, size_t) const;

Please don&apos;t use get* naming. Follow the normal WebKit style instead (I know this class has existing cases).

The internal priority functions should either return enum or be named differently (bool hasImportantCommonPriority() or similar)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547047</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-01 06:22:00 -0800</bug_when>
    <thetext>It would be good to understand what other engines do in these cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547068</commentid>
    <comment_count>6</comment_count>
      <attachid>124948</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 07:07:05 -0800</bug_when>
    <thetext>Created attachment 124948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547139</commentid>
    <comment_count>7</comment_count>
      <attachid>124948</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-01 09:50:21 -0800</bug_when>
    <thetext>Comment on attachment 124948
Patch

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

&gt; Source/WebCore/ChangeLog:31
&gt; +2012-02-01  Alexis Menard  &lt;alexis.menard@openbossa.org&gt;

Double ChangeLog.

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.cpp:661
&gt; +bool CSSMutableStyleDeclaration::hasPropertyImportantPriority(int propertyID) const

I like propertyIsImportant(int propertyID) better.

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.cpp:689
&gt; +// Only returns true if all properties have the same priority false otherwise.
&gt; +bool CSSMutableStyleDeclaration::hasImportantCommonPriority(const int* properties, size_t size) const
&gt; +{
&gt; +    bool res = hasPropertyImportantPriority(properties[0]);
&gt; +    // The first longhand doesn&apos;t have priority, we can assume the others have equal priority.
&gt; +    // If not it doesn&apos;t matter as we can&apos;t anyway resolve the priority of the shorthand.
&gt; +    if (!res)
&gt; +        return false;
&gt; +
&gt; +    for (size_t i = 1; i &lt; size; ++i) {
&gt; +        bool priority = hasPropertyImportantPriority(properties[i]);
&gt; +        if (res != priority)
&gt; +            return false;
&gt; +    }
&gt; +    return res;
&gt;  }

This function doesn&apos;t do what its name implies. It only checks that all properties return true for hasPropertyImportantPriority() (since you return early if !res)

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.h:147
&gt; +    bool hasImportantCommonPriority(const int* properties, size_t) const;

Should be static as it doesn&apos;t require an object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547226</commentid>
    <comment_count>8</comment_count>
      <attachid>124978</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 11:20:01 -0800</bug_when>
    <thetext>Created attachment 124978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547245</commentid>
    <comment_count>9</comment_count>
      <attachid>124978</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-01 11:41:19 -0800</bug_when>
    <thetext>Comment on attachment 124978
Patch

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

&gt; Source/WebKit/qt/ChangeLog:8
&gt; +        Update the code as getPropertyPriority has been renamed to hasPropertyImportantPriority.

hasPropertyImportantPriority -&gt; propertyIsImportant

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.cpp:663
&gt; +    for (size_t i = 0; i &lt; longhands.length(); ++i) {

longhands.length() returns unsigned so &apos;i&apos; should be unsigned as well.

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.cpp:680
&gt; +    return containsOnlyImportantProperties(longhands);

I think we can fold containsOnlyImportantProperties() into the propertyIsImportant() here, no need for it to be a separate function.

&gt; LayoutTests/fast/css/shorthand-priority.html:10
&gt; +description(&quot;Tests that query the priority for a shorthand works.&quot;);

query -&gt; querying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547249</commentid>
    <comment_count>10</comment_count>
      <attachid>124980</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 11:52:04 -0800</bug_when>
    <thetext>Created attachment 124980
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547256</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 11:56:01 -0800</bug_when>
    <thetext>Attachment 124980 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547260</commentid>
    <comment_count>12</comment_count>
      <attachid>124982</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 12:02:30 -0800</bug_when>
    <thetext>Created attachment 124982
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547264</commentid>
    <comment_count>13</comment_count>
      <attachid>124983</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-01 12:08:56 -0800</bug_when>
    <thetext>Created attachment 124983
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547340</commentid>
    <comment_count>14</comment_count>
      <attachid>124983</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 13:48:41 -0800</bug_when>
    <thetext>Comment on attachment 124983
Patch for landing

Clearing flags on attachment: 124983

Committed r106490: &lt;http://trac.webkit.org/changeset/106490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547341</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 13:48:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>73040</attachid>
            <date>2010-11-05 00:45:33 -0700</date>
            <delta_ts>2010-11-05 00:45:33 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>testimportant.html</filename>
            <type>text/html</type>
            <size>664</size>
            <attacher name="Xianzhu Wang">phnixwxz</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSdkMScg
c3R5bGU9J2JhY2tncm91bmQ6IHllbGxvdyAhaW1wb3J0YW50Jz5kMTogSFRNTCBpbmxpbmUgc3R5
bGU8L2Rpdj4KPGRpdiBpZD0nZDInPmQyOiBEeW5hbWljIHN0eWxlPC9kaXY+ClRoZSBmb2xsb3dp
bmcgdmFsdWVzIHNob3VsZCBiZSBhbGwgJ2ltcG9ydGFudCcuPGJyPgo8c2NyaXB0PgpmdW5jdGlv
biBEKHMpIHsKICBkb2N1bWVudC53cml0ZShzICsgJyA9ICInICsgZXZhbChzKSArICciPGJyPicp
Owp9Cgp2YXIgZDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZDEnKTsKdmFyIGQyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QyJyk7CgpEKCdkMS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9y
aXR5KCJiYWNrZ3JvdW5kIiknKTsKRCgnZDEuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgiYmFj
a2dyb3VuZC1jb2xvciIpJyk7CgpkMi5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZCcsICdn
cmVlbicsICdpbXBvcnRhbnQnKTsKRCgnZDIuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgiYmFj
a2dyb3VuZCIpJyk7CkQoJ2QyLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoImJhY2tncm91bmQt
Y29sb3IiKScpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124937</attachid>
            <date>2012-02-01 05:52:47 -0800</date>
            <delta_ts>2012-02-01 06:08:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49058-20120201105234.patch</filename>
            <type>text/plain</type>
            <size>6972</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzOWI2Y2E2NTY5MWQ5
N2EwODQ4OWZkNTVhOWNkNjViYmI2M2M2ZC4uZjQ3MDA1MDE2M2E5NzUxMmI0YzNhYzVjMjBkYTM4
Y2EzOTJhNWJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFuZHMgcHJvcGVy
bHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0
IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMgd2hpY2ggYXJl
IHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhlIGxvbmdoYW5k
cyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMga25vd24uCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwKKworICAgICAg
ICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uOjpnZXRDb21tb25Qcmlvcml0eSk6CisgICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmg6CisgICAgICAgIChDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6CisKIDIw
MTItMDItMDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogW0luc3BlY3RvckluZGV4ZWREQl0gQWRkIHRlc3RzIGZvciBkYXRh
YmFzZSBuYW1lcyBhbmQgZGF0YWJhc2Ugc3RydWN0dXJlIHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYzhkOGJi
YmQ5Nzc4M2VjYjdlMDI0YzUwN2RjZTllMGVhMTBkNmZjYi4uNmUwNzhmN2I1NDI0MWZiZTM2NGYz
Y2UxYmMzODlhYjkyNjNhNmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC02NjEsNyArNjYxLDMxIEBAIHZvaWQgQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb246OnNldE5lZWRzU3R5bGVSZWNhbGMoKQogYm9vbCBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkg
Y29uc3QKIHsKICAgICBjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydHkgPSBmaW5kUHJvcGVydHlX
aXRoSWQocHJvcGVydHlJRCk7Ci0gICAgcmV0dXJuIHByb3BlcnR5ID8gcHJvcGVydHktPmlzSW1w
b3J0YW50KCkgOiBmYWxzZTsKKyAgICBpZiAocHJvcGVydHkpCisgICAgICAgIHJldHVybiBwcm9w
ZXJ0eS0+aXNJbXBvcnRhbnQoKTsKKworICAgIENTU1Byb3BlcnR5TG9uZ2hhbmQgbG9uZ2hhbmRz
ID0gbG9uZ2hhbmRGb3JQcm9wZXJ0eShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoIWxvbmdoYW5kcy5s
ZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGdldENvbW1vblBy
aW9yaXR5KGxvbmdoYW5kcy5wcm9wZXJ0aWVzKCksIGxvbmdoYW5kcy5sZW5ndGgoKSk7Cit9CisK
Ky8vIE9ubHkgcmV0dXJucyB0cnVlIGlmIGFsbCBwcm9wZXJ0aWVzIGhhdmUgdGhlIHNhbWUgcHJp
b3JpdHkgZmFsc2Ugb3RoZXJ3aXNlLgorYm9vbCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0Q29tbW9uUHJpb3JpdHkoY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBzaXplX3Qgc2l6ZSkgY29u
c3QKK3sKKyAgICBib29sIHJlcyA9IGdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydGllc1swXSk7
CisgICAgLy8gVGhlIGZpcnN0IGxvbmdoYW5kIGRvZXNuJ3QgaGF2ZSBwcmlvcml0eSwgd2UgY2Fu
IGFzc3VtZSB0aGUgb3RoZXJzIGhhdmUgZXF1YWwgcHJpb3JpdHkuCisgICAgLy8gSWYgbm90IGl0
IGRvZXNuJ3QgbWF0dGVyIGFzIHdlIGNhbid0IGFueXdheSByZXNvbHZlIHRoZSBwcmlvcml0eSBv
ZiB0aGUgc2hvcnRoYW5kLgorICAgIGlmICghcmVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBib29sIHBy
aW9yaXR5ID0gZ2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0aWVzW2ldKTsKKyAgICAgICAgaWYg
KHJlcyAhPSBwcmlvcml0eSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
cmV0dXJuIHJlczsKIH0KIAogaW50IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9w
ZXJ0eVNob3J0aGFuZChpbnQgcHJvcGVydHlJRCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggMDg5ZGU2YzQwYjRhYWRkOWJl
NzUzMjExMDM5YTNjNTM3MTAzZGNiMS4uOTU1YjQ0YTAzMmFhOTY1MjczMDMwMzIxMTE5NjZmMTY1
YWI3ZDAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uLmgKQEAgLTE0NCw2ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBib3JkZXJT
cGFjaW5nVmFsdWUoY29uc3QgaW50IHByb3BlcnRpZXNbMl0pIGNvbnN0OwogICAgIFN0cmluZyBm
b250VmFsdWUoKSBjb25zdDsKICAgICBib29sIGFwcGVuZEZvbnRMb25naGFuZFZhbHVlSWZFeHBs
aWNpdChpbnQgcHJvcGVydHlJRCwgU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdDsKKyAgICBi
b29sIGdldENvbW1vblByaW9yaXR5KGNvbnN0IGludCogcHJvcGVydGllcywgc2l6ZV90KSBjb25z
dDsKIAogICAgIHRlbXBsYXRlPHNpemVfdCBzaXplPiBTdHJpbmcgZ2V0U2hvcnRoYW5kVmFsdWUo
Y29uc3QgaW50ICgmcHJvcGVydGllcylbc2l6ZV0pIGNvbnN0IHsgcmV0dXJuIGdldFNob3J0aGFu
ZFZhbHVlKHByb3BlcnRpZXMsIHNpemUpOyB9CiAgICAgdGVtcGxhdGU8c2l6ZV90IHNpemU+IFN0
cmluZyBnZXRDb21tb25WYWx1ZShjb25zdCBpbnQgKCZwcm9wZXJ0aWVzKVtzaXplXSkgY29uc3Qg
eyByZXR1cm4gZ2V0Q29tbW9uVmFsdWUocHJvcGVydGllcywgc2l6ZSk7IH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2Yzlk
MGFmZDc5NjViNDBlZjI2YTkyMjliZjE5ZDhiMDZiMzY3YWUwLi5lYjU3ZmRlNmMwOGY4OWFmMjQy
MTlkYTcxYTc0NGI0NzBlOTlmMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDEg
IEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAg
Q1NTU3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVByaW9yaXR5KCkgZmFpbHMgZm9yIENTUyBz
aG9ydGhhbmQgcHJvcGVydGllcyB3aXRoICdpbXBvcnRhbnQnIHByaW9yaXR5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTA1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc2hvcnRoYW5k
LXByaW9yaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc2hvcnRo
YW5kLXByaW9yaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTAxICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtJbnNwZWN0
b3JJbmRleGVkREJdIEFkZCB0ZXN0cyBmb3IgZGF0YWJhc2UgbmFtZXMgYW5kIGRhdGFiYXNlIHN0
cnVjdHVyZSByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0
aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhh
bmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YmU3NjliNTVlNTU5MTQyMjY1
NjdhNTYyODliMjE3N2MxYzAyMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rl
c3RzIHRoYXQgcXVlcnkgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0aGFuZCB3b3Jrcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCdib3JkZXItYm90dG9tJykgaXMgJzIwcHggc29saWQgZ3JlZW4nCitQQVNTIGUuc3R5bGUuZ2V0
UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyLWJvdHRvbScpIGlzICdpbXBvcnRhbnQnCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykgaXMgJzIwcHggc29saWQgZ3JlZW4nCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykgaXMgJycKK1BBU1MgZS5z
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXInKSBpcyAnMjBweCBzb2xpZCBncmVlbicKK1BB
U1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSBpcyAnaW1wb3J0YW50Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBm
MjhmYjNhMDRkN2FlNmZkMTAwN2MzMGQ5YjhiZjE1MWJmYmNiZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sCkBAIC0wLDAgKzEs
MzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdHMgdGhh
dCBxdWVyeSB0aGUgcHJpb3JpdHkgZm9yIGEgc2hvcnRoYW5kIHdvcmtzLiIpOworCit2YXIgdGVz
dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwg
PSAnPGRpdiBpZD0idGVzdCI+aGVsbG88L2Rpdj4nOworCitlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QnKTsKKworLy8gU2FuaXR5IGNoZWNrLgorZS5zdHlsZS5zZXRQcm9wZXJ0eSgi
Ym9yZGVyLWJvdHRvbSIsICIyMHB4IHNvbGlkIGdyZWVuIiwgIiFpbXBvcnRhbnQiKTsKK3Nob3Vs
ZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1ib3R0b20nKSIsICInMjBweCBz
b2xpZCBncmVlbiciKTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2Jv
cmRlci1ib3R0b20nKSIsICInaW1wb3J0YW50JyIpOworCitlLnN0eWxlLmJvcmRlckJvdHRvbSA9
ICIiOworZS5zdHlsZS5ib3JkZXIgPSAiMjBweCBzb2xpZCBncmVlbiI7CitzaG91bGRCZSgiZS5z
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXInKSIsICInMjBweCBzb2xpZCBncmVlbiciKTsK
K3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlcicpIiwgIicnIik7
CisKK2Uuc3R5bGUuYm9yZGVyID0gIiI7CitlLnN0eWxlLnNldFByb3BlcnR5KCJib3JkZXIiLCAi
MjBweCBzb2xpZCBncmVlbiIsICIhaW1wb3J0YW50Iik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCdib3JkZXInKSIsICInMjBweCBzb2xpZCBncmVlbiciKTsKK3Nob3VsZEJl
KCJlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlcicpIiwgIidpbXBvcnRhbnQnIik7
CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124940</attachid>
            <date>2012-02-01 06:09:05 -0800</date>
            <delta_ts>2012-02-01 07:06:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49058-20120201110853.patch</filename>
            <type>text/plain</type>
            <size>6974</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzOWI2Y2E2NTY5MWQ5
N2EwODQ4OWZkNTVhOWNkNjViYmI2M2M2ZC4uZjQ3MDA1MDE2M2E5NzUxMmI0YzNhYzVjMjBkYTM4
Y2EzOTJhNWJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFuZHMgcHJvcGVy
bHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0
IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMgd2hpY2ggYXJl
IHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhlIGxvbmdoYW5k
cyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMga25vd24uCisK
KyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwKKworICAgICAg
ICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uOjpnZXRDb21tb25Qcmlvcml0eSk6CisgICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmg6CisgICAgICAgIChDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6CisKIDIw
MTItMDItMDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogW0luc3BlY3RvckluZGV4ZWREQl0gQWRkIHRlc3RzIGZvciBkYXRh
YmFzZSBuYW1lcyBhbmQgZGF0YWJhc2Ugc3RydWN0dXJlIHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYzhkOGJi
YmQ5Nzc4M2VjYjdlMDI0YzUwN2RjZTllMGVhMTBkNmZjYi4uNmUwNzhmN2I1NDI0MWZiZTM2NGYz
Y2UxYmMzODlhYjkyNjNhNmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC02NjEsNyArNjYxLDMxIEBAIHZvaWQgQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb246OnNldE5lZWRzU3R5bGVSZWNhbGMoKQogYm9vbCBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkg
Y29uc3QKIHsKICAgICBjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydHkgPSBmaW5kUHJvcGVydHlX
aXRoSWQocHJvcGVydHlJRCk7Ci0gICAgcmV0dXJuIHByb3BlcnR5ID8gcHJvcGVydHktPmlzSW1w
b3J0YW50KCkgOiBmYWxzZTsKKyAgICBpZiAocHJvcGVydHkpCisgICAgICAgIHJldHVybiBwcm9w
ZXJ0eS0+aXNJbXBvcnRhbnQoKTsKKworICAgIENTU1Byb3BlcnR5TG9uZ2hhbmQgbG9uZ2hhbmRz
ID0gbG9uZ2hhbmRGb3JQcm9wZXJ0eShwcm9wZXJ0eUlEKTsKKyAgICBpZiAoIWxvbmdoYW5kcy5s
ZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGdldENvbW1vblBy
aW9yaXR5KGxvbmdoYW5kcy5wcm9wZXJ0aWVzKCksIGxvbmdoYW5kcy5sZW5ndGgoKSk7Cit9CisK
Ky8vIE9ubHkgcmV0dXJucyB0cnVlIGlmIGFsbCBwcm9wZXJ0aWVzIGhhdmUgdGhlIHNhbWUgcHJp
b3JpdHkgZmFsc2Ugb3RoZXJ3aXNlLgorYm9vbCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0Q29tbW9uUHJpb3JpdHkoY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBzaXplX3Qgc2l6ZSkgY29u
c3QKK3sKKyAgICBib29sIHJlcyA9IGdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydGllc1swXSk7
CisgICAgLy8gVGhlIGZpcnN0IGxvbmdoYW5kIGRvZXNuJ3QgaGF2ZSBwcmlvcml0eSwgd2UgY2Fu
IGFzc3VtZSB0aGUgb3RoZXJzIGhhdmUgZXF1YWwgcHJpb3JpdHkuCisgICAgLy8gSWYgbm90IGl0
IGRvZXNuJ3QgbWF0dGVyIGFzIHdlIGNhbid0IGFueXdheSByZXNvbHZlIHRoZSBwcmlvcml0eSBv
ZiB0aGUgc2hvcnRoYW5kLgorICAgIGlmICghcmVzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IHNpemU7ICsraSkgeworICAgICAgICBib29sIHBy
aW9yaXR5ID0gZ2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0aWVzW2ldKTsKKyAgICAgICAgaWYg
KHJlcyAhPSBwcmlvcml0eSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
cmV0dXJuIHJlczsKIH0KIAogaW50IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9w
ZXJ0eVNob3J0aGFuZChpbnQgcHJvcGVydHlJRCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggMDg5ZGU2YzQwYjRhYWRkOWJl
NzUzMjExMDM5YTNjNTM3MTAzZGNiMS4uOTU1YjQ0YTAzMmFhOTY1MjczMDMwMzIxMTE5NjZmMTY1
YWI3ZDAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uLmgKQEAgLTE0NCw2ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBib3JkZXJT
cGFjaW5nVmFsdWUoY29uc3QgaW50IHByb3BlcnRpZXNbMl0pIGNvbnN0OwogICAgIFN0cmluZyBm
b250VmFsdWUoKSBjb25zdDsKICAgICBib29sIGFwcGVuZEZvbnRMb25naGFuZFZhbHVlSWZFeHBs
aWNpdChpbnQgcHJvcGVydHlJRCwgU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdDsKKyAgICBi
b29sIGdldENvbW1vblByaW9yaXR5KGNvbnN0IGludCogcHJvcGVydGllcywgc2l6ZV90KSBjb25z
dDsKIAogICAgIHRlbXBsYXRlPHNpemVfdCBzaXplPiBTdHJpbmcgZ2V0U2hvcnRoYW5kVmFsdWUo
Y29uc3QgaW50ICgmcHJvcGVydGllcylbc2l6ZV0pIGNvbnN0IHsgcmV0dXJuIGdldFNob3J0aGFu
ZFZhbHVlKHByb3BlcnRpZXMsIHNpemUpOyB9CiAgICAgdGVtcGxhdGU8c2l6ZV90IHNpemU+IFN0
cmluZyBnZXRDb21tb25WYWx1ZShjb25zdCBpbnQgKCZwcm9wZXJ0aWVzKVtzaXplXSkgY29uc3Qg
eyByZXR1cm4gZ2V0Q29tbW9uVmFsdWUocHJvcGVydGllcywgc2l6ZSk7IH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2Yzlk
MGFmZDc5NjViNDBlZjI2YTkyMjliZjE5ZDhiMDZiMzY3YWUwLi5lYjU3ZmRlNmMwOGY4OWFmMjQy
MTlkYTcxYTc0NGI0NzBlOTlmMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDEg
IEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAg
Q1NTU3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVByaW9yaXR5KCkgZmFpbHMgZm9yIENTUyBz
aG9ydGhhbmQgcHJvcGVydGllcyB3aXRoICdpbXBvcnRhbnQnIHByaW9yaXR5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTA1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc2hvcnRoYW5k
LXByaW9yaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc2hvcnRo
YW5kLXByaW9yaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTAxICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtJbnNwZWN0
b3JJbmRleGVkREJdIEFkZCB0ZXN0cyBmb3IgZGF0YWJhc2UgbmFtZXMgYW5kIGRhdGFiYXNlIHN0
cnVjdHVyZSByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0
aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhh
bmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNDI3MzlmMTRjY2RiOTYyMzA1
NDk3YzNiYmRlZWI2ZTZhNzEzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rl
c3RzIHRoYXQgcXVlcnkgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0aGFuZCB3b3Jrcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCdib3JkZXItYm90dG9tLXN0eWxlJykgaXMgJ3NvbGlkJworUEFTUyBlLnN0eWxlLmdldFByb3Bl
cnR5UHJpb3JpdHkoJ2JvcmRlci1ib3R0b20tc3R5bGUnKSBpcyAnaW1wb3J0YW50JworUEFTUyBl
LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIGlzICcyMHB4IHNvbGlkIGdyZWVuJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlcicpIGlzICcnCitQQVNTIGUu
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykgaXMgJzIwcHggc29saWQgZ3JlZW4nCitQ
QVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykgaXMgJ2ltcG9ydGFudCcK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHkuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZm
OWZkZWRlYTI4ZDk2NDg0MjI3MjBjYWIyYjgwMmJkNWIwY2ZjZmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHkuaHRtbApAQCAtMCwwICsx
LDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgcXVlcnkgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0aGFuZCB3b3Jrcy4iKTsKKwordmFyIHRl
c3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5uZXJIVE1M
ID0gJzxkaXYgaWQ9InRlc3QiPmhlbGxvPC9kaXY+JzsKKworZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0Jyk7CisKKy8vIFNhbml0eSBjaGVjay4KK2Uuc3R5bGUuc2V0UHJvcGVydHko
ImJvcmRlci1ib3R0b20tc3R5bGUiLCAic29saWQiLCAiIWltcG9ydGFudCIpOworc2hvdWxkQmUo
ImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIiwgIidzb2xp
ZCciKTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlci1ib3R0
b20tc3R5bGUnKSIsICInaW1wb3J0YW50JyIpOworCitlLnN0eWxlLmJvcmRlckJvdHRvbVN0eWxl
ID0gIiI7CitlLnN0eWxlLmJvcmRlciA9ICIyMHB4IHNvbGlkIGdyZWVuIjsKK3Nob3VsZEJlKCJl
LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIiwgIicyMHB4IHNvbGlkIGdyZWVuJyIp
Oworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykiLCAiJyci
KTsKKworZS5zdHlsZS5ib3JkZXIgPSAiIjsKK2Uuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlciIs
ICIyMHB4IHNvbGlkIGdyZWVuIiwgIiFpbXBvcnRhbnQiKTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIiwgIicyMHB4IHNvbGlkIGdyZWVuJyIpOworc2hvdWxk
QmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykiLCAiJ2ltcG9ydGFudCci
KTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124948</attachid>
            <date>2012-02-01 07:07:05 -0800</date>
            <delta_ts>2012-02-01 11:19:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49058-20120201120653.patch</filename>
            <type>text/plain</type>
            <size>17107</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzOWI2Y2E2NTY5MWQ5
N2EwODQ4OWZkNTVhOWNkNjViYmI2M2M2ZC4uNzk1NTMxMDhjNTUzNjk1NGU1OTJlN2FkYTgyNzE5
ZDYyNzZiZjFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFuZHMgcHJvcGVy
bHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0
IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMgd2hpY2ggYXJl
IHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhlIGxvbmdoYW5k
cyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMga25vd24uIEkg
YWxzbyByZW5hbWVkCisgICAgICAgIGdldFByb3BlcnR5UHJpb3JpdHkgKG5vdCB0aGUgQ1NTT00g
ZXhwb3NlZCBtZXRob2QpIHRvIHNvbWV0aGluZyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBXZWJLaXQg
bmFtaW5nIGd1aWRlbGluZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXBy
aW9yaXR5Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6aGFzUHJv
cGVydHlJbXBvcnRhbnRQcmlvcml0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpoYXNJbXBvcnRhbnRDb21tb25Qcmlv
cml0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6YWRk
UGFyc2VkUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbi5oOgorICAgICAgICAoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24pOgor
ICAgICAgICAqIGVkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVk
aXRpbmdTdHlsZTo6ZXh0cmFjdEFuZFJlbW92ZVRleHREaXJlY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdGluZ1N0eWxlOjpjb2xsYXBzZVRleHREZWNvcmF0aW9uUHJvcGVydGllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9m
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpzZXRUZXh0RGVjb3JhdGlvblByb3BlcnR5KToK
KyAgICAgICAgKiBlZGl0aW5nL1JlbW92ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQ6OmRvQXBwbHkpOgorCisyMDEyLTAy
LTAxICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAg
ICAgIENTU1N0eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBD
U1Mgc2hvcnRoYW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFu
ZHMgcHJvcGVybHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9w
ZXJ0eSBsaXN0IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMg
d2hpY2ggYXJlIHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhl
IGxvbmdoYW5kcyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMg
a25vd24uCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0
eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uOjpnZXRDb21tb25Qcmlvcml0eSk6CisgICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bik6CisKIDIwMTItMDItMDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0luc3BlY3RvckluZGV4ZWREQl0gQWRkIHRlc3Rz
IGZvciBkYXRhYmFzZSBuYW1lcyBhbmQgZGF0YWJhc2Ugc3RydWN0dXJlIHJlcXVlc3RzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZwppbmRleCBjY2Q5ZjZhOTNiOTM0YmM3ZWJlNmE3ZjEyZmVlOTY4ODM4NzA5MTkxLi5j
MjRlNmJlZTVhOWZkOTQ5MzNmZmU2MDg5OGE3YWQyNWQxYWY1NDk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTAxICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFy
ZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVy
dHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRoYW5kIHByb3BlcnRpZXMgd2l0aCAnaW1w
b3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVcGRhdGUgdGhlIGNvZGUgYXMgZ2V0UHJvcGVydHlQcmlvcml0eSBoYXMgYmVlbiBy
ZW5hbWVkIHRvIGhhc1Byb3BlcnR5SW1wb3J0YW50UHJpb3JpdHkuCisKKyAgICAgICAgKiBBcGkv
cXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnN0eWxlUHJvcGVydHkpOgor
CiAyMDEyLTAxLTMxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcnkgdG8gZml4IFF0IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYzhkOGJiYmQ5Nzc4M2VjYjdlMDI0YzUwN2Rj
ZTllMGVhMTBkNmZjYi4uZmZmMmQ2MGQ4OGQwZjA1NTdmY2UyZDc3NDk0NGJkZjUyN2E4ZTMwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24u
Y3BwCkBAIC02NTgsMTAgKzY1OCwzNCBAQCB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
OjpzZXROZWVkc1N0eWxlUmVjYWxjKCkKICAgICB9CiB9CiAKLWJvb2wgQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkoaW50IHByb3BlcnR5SUQpIGNvbnN0Citi
b29sIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpoYXNQcm9wZXJ0eUltcG9ydGFudFByaW9y
aXR5KGludCBwcm9wZXJ0eUlEKSBjb25zdAogewogICAgIGNvbnN0IENTU1Byb3BlcnR5KiBwcm9w
ZXJ0eSA9IGZpbmRQcm9wZXJ0eVdpdGhJZChwcm9wZXJ0eUlEKTsKLSAgICByZXR1cm4gcHJvcGVy
dHkgPyBwcm9wZXJ0eS0+aXNJbXBvcnRhbnQoKSA6IGZhbHNlOworICAgIGlmIChwcm9wZXJ0eSkK
KyAgICAgICAgcmV0dXJuIHByb3BlcnR5LT5pc0ltcG9ydGFudCgpOworCisgICAgQ1NTUHJvcGVy
dHlMb25naGFuZCBsb25naGFuZHMgPSBsb25naGFuZEZvclByb3BlcnR5KHByb3BlcnR5SUQpOwor
ICAgIGlmICghbG9uZ2hhbmRzLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICByZXR1cm4gaGFzSW1wb3J0YW50Q29tbW9uUHJpb3JpdHkobG9uZ2hhbmRzLnByb3BlcnRpZXMo
KSwgbG9uZ2hhbmRzLmxlbmd0aCgpKTsKK30KKworLy8gT25seSByZXR1cm5zIHRydWUgaWYgYWxs
IHByb3BlcnRpZXMgaGF2ZSB0aGUgc2FtZSBwcmlvcml0eSBmYWxzZSBvdGhlcndpc2UuCitib29s
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpoYXNJbXBvcnRhbnRDb21tb25Qcmlvcml0eShj
b25zdCBpbnQqIHByb3BlcnRpZXMsIHNpemVfdCBzaXplKSBjb25zdAoreworICAgIGJvb2wgcmVz
ID0gaGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShwcm9wZXJ0aWVzWzBdKTsKKyAgICAvLyBU
aGUgZmlyc3QgbG9uZ2hhbmQgZG9lc24ndCBoYXZlIHByaW9yaXR5LCB3ZSBjYW4gYXNzdW1lIHRo
ZSBvdGhlcnMgaGF2ZSBlcXVhbCBwcmlvcml0eS4KKyAgICAvLyBJZiBub3QgaXQgZG9lc24ndCBt
YXR0ZXIgYXMgd2UgY2FuJ3QgYW55d2F5IHJlc29sdmUgdGhlIHByaW9yaXR5IG9mIHRoZSBzaG9y
dGhhbmQuCisgICAgaWYgKCFyZXMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAo
c2l6ZV90IGkgPSAxOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIGJvb2wgcHJpb3JpdHkgPSBo
YXNQcm9wZXJ0eUltcG9ydGFudFByaW9yaXR5KHByb3BlcnRpZXNbaV0pOworICAgICAgICBpZiAo
cmVzICE9IHByaW9yaXR5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBy
ZXR1cm4gcmVzOwogfQogCiBpbnQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5U2hvcnRoYW5kKGludCBwcm9wZXJ0eUlEKSBjb25zdApAQCAtNzg4LDcgKzgxMiw3IEBAIHZv
aWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmFkZFBhcnNlZFByb3BlcnR5KGNvbnN0IENT
U1Byb3BlcnR5JiBwcm9wZXJ0eSkKICNlbmRpZgogCiAgICAgLy8gT25seSBhZGQgcHJvcGVydGll
cyB0aGF0IGhhdmUgbm8gIWltcG9ydGFudCBjb3VudGVycGFydCBwcmVzZW50Ci0gICAgaWYgKCFn
ZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5LmlkKCkpIHx8IHByb3BlcnR5LmlzSW1wb3J0YW50
KCkpIHsKKyAgICBpZiAoIWhhc1Byb3BlcnR5SW1wb3J0YW50UHJpb3JpdHkocHJvcGVydHkuaWQo
KSkgfHwgcHJvcGVydHkuaXNJbXBvcnRhbnQoKSkgewogICAgICAgICByZW1vdmVQcm9wZXJ0eShw
cm9wZXJ0eS5pZCgpLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICBtX3Byb3BlcnRpZXMuYXBwZW5k
KHByb3BlcnR5KTsKICAgICB9CkBAIC0xMDQ2LDcgKzEwNzAsNyBAQCBTdHJpbmcgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkoY29uc3QgU3RyaW5nJiBwcm9w
ZXJ0eU5hbQogICAgIGludCBwcm9wZXJ0eUlEID0gY3NzUHJvcGVydHlJRChwcm9wZXJ0eU5hbWUp
OwogICAgIGlmICghcHJvcGVydHlJRCkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJl
dHVybiBnZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpID8gImltcG9ydGFudCIgOiAiIjsK
KyAgICByZXR1cm4gaGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShwcm9wZXJ0eUlEKSA/ICJp
bXBvcnRhbnQiIDogIiI7CiB9CiAKIFN0cmluZyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0UHJvcGVydHlTaG9ydGhhbmQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IDA4OWRl
NmM0MGI0YWFkZDliZTc1MzIxMTAzOWEzYzUzNzEwM2RjYjEuLjRjYzA1ZjU1ZjVmYzljYmExZTVi
YzQzNWQ2NmMzMmE2ZjIzYWVlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IGdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcnR5SUQpIGNv
bnN0OwogICAgIFN0cmluZyBnZXRQcm9wZXJ0eVZhbHVlKGludCBwcm9wZXJ0eUlEKSBjb25zdDsK
LSAgICBib29sIGdldFByb3BlcnR5UHJpb3JpdHkoaW50IHByb3BlcnR5SUQpIGNvbnN0OworICAg
IGJvb2wgaGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShpbnQgcHJvcGVydHlJRCkgY29uc3Q7
CiAgICAgaW50IGdldFByb3BlcnR5U2hvcnRoYW5kKGludCBwcm9wZXJ0eUlEKSBjb25zdDsKICAg
ICBib29sIGlzUHJvcGVydHlJbXBsaWNpdChpbnQgcHJvcGVydHlJRCkgY29uc3Q7CiAKQEAgLTE0
NCw2ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBib3JkZXJTcGFjaW5nVmFsdWUoY29u
c3QgaW50IHByb3BlcnRpZXNbMl0pIGNvbnN0OwogICAgIFN0cmluZyBmb250VmFsdWUoKSBjb25z
dDsKICAgICBib29sIGFwcGVuZEZvbnRMb25naGFuZFZhbHVlSWZFeHBsaWNpdChpbnQgcHJvcGVy
dHlJRCwgU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdDsKKyAgICBib29sIGhhc0ltcG9ydGFu
dENvbW1vblByaW9yaXR5KGNvbnN0IGludCogcHJvcGVydGllcywgc2l6ZV90KSBjb25zdDsKIAog
ICAgIHRlbXBsYXRlPHNpemVfdCBzaXplPiBTdHJpbmcgZ2V0U2hvcnRoYW5kVmFsdWUoY29uc3Qg
aW50ICgmcHJvcGVydGllcylbc2l6ZV0pIGNvbnN0IHsgcmV0dXJuIGdldFNob3J0aGFuZFZhbHVl
KHByb3BlcnRpZXMsIHNpemUpOyB9CiAgICAgdGVtcGxhdGU8c2l6ZV90IHNpemU+IFN0cmluZyBn
ZXRDb21tb25WYWx1ZShjb25zdCBpbnQgKCZwcm9wZXJ0aWVzKVtzaXplXSkgY29uc3QgeyByZXR1
cm4gZ2V0Q29tbW9uVmFsdWUocHJvcGVydGllcywgc2l6ZSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ1N0eWxlLmNwcAppbmRleCAxYmNkNjljZDUzMDBhOGY4OGJkMWQyMmU5MzI2YmQ2
NTMwMTVhOGVmLi4zNzQ4NmMxNTM1Y2QzNThmMWYxODg2NDZmMzM4NDQ1MmExNmRiZGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCkBAIC01MjEsOSArNTIxLDkgQEAg
UGFzc1JlZlB0cjxFZGl0aW5nU3R5bGU+IEVkaXRpbmdTdHlsZTo6ZXh0cmFjdEFuZFJlbW92ZVRl
eHREaXJlY3Rpb24oKQogewogICAgIFJlZlB0cjxFZGl0aW5nU3R5bGU+IHRleHREaXJlY3Rpb24g
PSBFZGl0aW5nU3R5bGU6OmNyZWF0ZSgpOwogICAgIHRleHREaXJlY3Rpb24tPm1fbXV0YWJsZVN0
eWxlID0gQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNyZWF0ZSgpOwotICAgIHRleHREaXJl
Y3Rpb24tPm1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRp
LCBDU1NWYWx1ZUVtYmVkLCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShDU1NQ
cm9wZXJ0eVVuaWNvZGVCaWRpKSk7CisgICAgdGV4dERpcmVjdGlvbi0+bV9tdXRhYmxlU3R5bGUt
PnNldFByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIENTU1ZhbHVlRW1iZWQsIG1fbXV0
YWJsZVN0eWxlLT5oYXNQcm9wZXJ0eUltcG9ydGFudFByaW9yaXR5KENTU1Byb3BlcnR5VW5pY29k
ZUJpZGkpKTsKICAgICB0ZXh0RGlyZWN0aW9uLT5tX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHko
Q1NTUHJvcGVydHlEaXJlY3Rpb24sIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKENT
U1Byb3BlcnR5RGlyZWN0aW9uKSwKLSAgICAgICAgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5
UHJpb3JpdHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24pKTsKKyAgICAgICAgbV9tdXRhYmxlU3R5bGUt
Pmhhc1Byb3BlcnR5SW1wb3J0YW50UHJpb3JpdHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24pKTsKIAog
ICAgIG1fbXV0YWJsZVN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRp
KTsKICAgICBtX211dGFibGVTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rp
b24pOwpAQCAtNTc5LDcgKzU3OSw3IEBAIHZvaWQgRWRpdGluZ1N0eWxlOjpjb2xsYXBzZVRleHRE
ZWNvcmF0aW9uUHJvcGVydGllcygpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICh0ZXh0RGVj
b3JhdGlvbnNJbkVmZmVjdC0+aXNWYWx1ZUxpc3QoKSkKLSAgICAgICAgbV9tdXRhYmxlU3R5bGUt
PnNldFByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24sIHRleHREZWNvcmF0aW9uc0lu
RWZmZWN0LT5jc3NUZXh0KCksIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKKyAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnNldFBy
b3BlcnR5KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24sIHRleHREZWNvcmF0aW9uc0luRWZmZWN0
LT5jc3NUZXh0KCksIG1fbXV0YWJsZVN0eWxlLT5oYXNQcm9wZXJ0eUltcG9ydGFudFByaW9yaXR5
KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKICAgICBlbHNlCiAgICAgICAgIG1fbXV0YWJs
ZVN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKTsKICAgICBt
X211dGFibGVTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3Jh
dGlvbnNJbkVmZmVjdCk7CkBAIC02NjUsNyArNjY1LDcgQEAgYm9vbCBFZGl0aW5nU3R5bGU6OmNv
bmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudChTdHlsZWRFbGVtZW50KiBlbGVtZW50LCBF
ZGkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGNvbmZsaWN0aW5n
UHJvcGVydGllcy0+YXBwZW5kKENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pOwogICAgICAgICAg
ICAgaWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5z
ZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uLCBpbmxpbmVTdHlsZS0+Z2V0UHJv
cGVydHlWYWx1ZShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKSwgaW5saW5lU3R5bGUtPmdldFBy
b3BlcnR5UHJpb3JpdHkoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbikpOworICAgICAgICAgICAg
ICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
LCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
KSwgaW5saW5lU3R5bGUtPmhhc1Byb3BlcnR5SW1wb3J0YW50UHJpb3JpdHkoQ1NTUHJvcGVydHlU
ZXh0RGVjb3JhdGlvbikpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIApAQCAt
Njc3LDcgKzY3Nyw3IEBAIGJvb2wgRWRpdGluZ1N0eWxlOjpjb25mbGljdHNXaXRoSW5saW5lU3R5
bGVPZkVsZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCwgRWRpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFwcGVuZChD
U1NQcm9wZXJ0eURpcmVjdGlvbik7CiAgICAgICAgICAgICBpZiAoZXh0cmFjdGVkU3R5bGUpCi0g
ICAgICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGlu
bGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5SUQpLCBpbmxpbmVTdHlsZS0+Z2V0
UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgICAgICAgICAgZXh0cmFjdGVk
U3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZh
bHVlKHByb3BlcnR5SUQpLCBpbmxpbmVTdHlsZS0+aGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0
eShwcm9wZXJ0eUlEKSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIWNvbmZsaWN0aW5nUHJv
cGVydGllcykKQEAgLTY4Niw3ICs2ODYsNyBAQCBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxpY3Rz
V2l0aElubGluZVN0eWxlT2ZFbGVtZW50KFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQsIEVkaQogICAg
ICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFwcGVuZChwcm9wZXJ0eUlEKTsKIAogICAgICAg
ICBpZiAoZXh0cmFjdGVkU3R5bGUpCi0gICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJv
cGVydHkocHJvcGVydHlJRCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJ
RCksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpKTsKKyAgICAg
ICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVTdHls
ZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPmhhc1Byb3BlcnR5
SW1wb3J0YW50UHJpb3JpdHkocHJvcGVydHlJRCkpOwogICAgIH0KIAogICAgIHJldHVybiBjb25m
bGljdGluZ1Byb3BlcnRpZXMgJiYgIWNvbmZsaWN0aW5nUHJvcGVydGllcy0+aXNFbXB0eSgpOwpA
QCAtMTIyMSwxMCArMTIyMSwxMCBAQCBTdHlsZUNoYW5nZTo6U3R5bGVDaGFuZ2UoRWRpdGluZ1N0
eWxlKiBzdHlsZSwgY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQogc3RhdGljIHZvaWQgc2V0VGV4
dERlY29yYXRpb25Qcm9wZXJ0eShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUsIGNv
bnN0IENTU1ZhbHVlTGlzdCogbmV3VGV4dERlY29yYXRpb24sIGludCBwcm9wZXJ0eUlEKQogewog
ICAgIGlmIChuZXdUZXh0RGVjb3JhdGlvbi0+bGVuZ3RoKCkpCi0gICAgICAgIHN0eWxlLT5zZXRQ
cm9wZXJ0eShwcm9wZXJ0eUlELCBuZXdUZXh0RGVjb3JhdGlvbi0+Y3NzVGV4dCgpLCBzdHlsZS0+
Z2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgIHN0eWxlLT5zZXRQcm9w
ZXJ0eShwcm9wZXJ0eUlELCBuZXdUZXh0RGVjb3JhdGlvbi0+Y3NzVGV4dCgpLCBzdHlsZS0+aGFz
UHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShwcm9wZXJ0eUlEKSk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZSBpcyByZWR1bmRhbnQgc2luY2UgaXQgZG9lcyBu
b3QgcmVtb3ZlIGFueSB0ZXh0IGRlY29yYXRpb25zLgotICAgICAgICBBU1NFUlQoIXN0eWxlLT5n
ZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpKTsKKyAgICAgICAgQVNTRVJUKCFzdHlsZS0+
aGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShwcm9wZXJ0eUlEKSk7CiAgICAgICAgIHN0eWxl
LT5yZW1vdmVQcm9wZXJ0eShwcm9wZXJ0eUlEKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1JlbW92ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlbW92ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHAKaW5kZXggYjFiODhh
MjA2NWYyYzliODZhMjFjNjQwYmE1MGFlMmNmYWE1NjA3OS4uODI5OWZjMTlhZTBlZGIxODJhMjIy
MDFiODkwZjA1Y2VhYmVlZDk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9S
ZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcApAQCAtNDQsNyArNDQsNyBAQCB2b2lkIFJlbW92
ZUNTU1Byb3BlcnR5Q29tbWFuZDo6ZG9BcHBseSgpCiB7CiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb24qIHN0eWxlID0gbV9lbGVtZW50LT5pbmxpbmVTdHlsZURlY2woKTsKICAgICBtX29s
ZFZhbHVlID0gc3R5bGUtPmdldFByb3BlcnR5VmFsdWUobV9wcm9wZXJ0eSk7Ci0gICAgbV9pbXBv
cnRhbnQgPSBzdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShtX3Byb3BlcnR5KTsKKyAgICBtX2lt
cG9ydGFudCA9IHN0eWxlLT5oYXNQcm9wZXJ0eUltcG9ydGFudFByaW9yaXR5KG1fcHJvcGVydHkp
OwogICAgIHN0eWxlLT5yZW1vdmVQcm9wZXJ0eShtX3Byb3BlcnR5KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYmVsZW1lbnQuY3BwCmluZGV4IDZiMTg5OTQ2NjYzMTJkYjBkYzNhMGNiMTYwYTBl
MDZhOTBjNWMxMDQuLjBmNmYyN2YwMmIzODFhZGJmNzI3N2JlMDA2M2Q1NWI3NTMwZDQyMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKQEAgLTg1MCw3ICs4NTAsNyBAQCBRU3Ry
aW5nIFFXZWJFbGVtZW50OjpzdHlsZVByb3BlcnR5KGNvbnN0IFFTdHJpbmcgJm5hbWUsIFN0eWxl
UmVzb2x2ZVN0cmF0ZWd5IHN0cgogICAgICAgICByZXR1cm4gc3R5bGUtPmdldFByb3BlcnR5VmFs
dWUocHJvcElEKTsKIAogICAgIGlmIChzdHJhdGVneSA9PSBDYXNjYWRlZFN0eWxlKSB7Ci0gICAg
ICAgIGlmIChzdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShwcm9wSUQpKQorICAgICAgICBpZiAo
c3R5bGUtPmhhc1Byb3BlcnR5SW1wb3J0YW50UHJpb3JpdHkocHJvcElEKSkKICAgICAgICAgICAg
IHJldHVybiBzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpOwogCiAgICAgICAgIC8vIFdl
IGFyZSBnb2luZyB0byByZXNvbHZlIHRoZSBzdHlsZSBwcm9wZXJ0eSBieSB3YWxraW5nIHRocm91
Z2ggdGhlCkBAIC04NjYsNyArODY2LDcgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6c3R5bGVQcm9w
ZXJ0eShjb25zdCBRU3RyaW5nICZuYW1lLCBTdHlsZVJlc29sdmVTdHJhdGVneSBzdHIKICAgICAg
ICAgICAgIGZvciAoaW50IGkgPSBydWxlcy0+bGVuZ3RoKCk7IGkgPiAwOyAtLWkpIHsKICAgICAg
ICAgICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUgPSBzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUq
PihydWxlcy0+aXRlbShpIC0gMSkpOwogCi0gICAgICAgICAgICAgICAgaWYgKHJ1bGUtPmRlY2xh
cmF0aW9uKCktPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcElEKSkKKyAgICAgICAgICAgICAgICBp
ZiAocnVsZS0+ZGVjbGFyYXRpb24oKS0+aGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eShwcm9w
SUQpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcnVsZS0+ZGVjbGFyYXRpb24oKS0+Z2V0
UHJvcGVydHlWYWx1ZShwcm9wSUQpOwogCiAgICAgICAgICAgICAgICAgaWYgKHN0eWxlLT5nZXRQ
cm9wZXJ0eVZhbHVlKHByb3BJRCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZjOWQwYWZkNzk2NWI0MGVm
MjZhOTIyOWJmMTlkOGIwNmIzNjdhZTAuLmViNTdmZGU2YzA4Zjg5YWYyNDIxOWRhNzFhNzQ0YjQ3
MGU5OWYyMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0wMSAgQWxleGlzIE1lbmFy
ZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDU1NTdHlsZURlY2xh
cmF0aW9uLmdldFByb3BlcnR5UHJpb3JpdHkoKSBmYWlscyBmb3IgQ1NTIHNob3J0aGFuZCBwcm9w
ZXJ0aWVzIHdpdGggJ2ltcG9ydGFudCcgcHJpb3JpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHku
aHRtbDogQWRkZWQuCisKIDIwMTItMDItMDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0luc3BlY3RvckluZGV4ZWREQl0g
QWRkIHRlc3RzIGZvciBkYXRhYmFzZSBuYW1lcyBhbmQgZGF0YWJhc2Ugc3RydWN0dXJlIHJlcXVl
c3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE0MjczOWYxNGNjZGI5NjIzMDU0OTdjM2JiZGVlYjZl
NmE3MTM5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFu
ZC1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdHMgdGhhdCBxdWVy
eSB0aGUgcHJpb3JpdHkgZm9yIGEgc2hvcnRoYW5kIHdvcmtzLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1ib3R0
b20tc3R5bGUnKSBpcyAnc29saWQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgn
Ym9yZGVyLWJvdHRvbS1zdHlsZScpIGlzICdpbXBvcnRhbnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnYm9yZGVyJykgaXMgJzIwcHggc29saWQgZ3JlZW4nCitQQVNTIGUuc3R5bGUu
Z2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykgaXMgJycKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCdib3JkZXInKSBpcyAnMjBweCBzb2xpZCBncmVlbicKK1BBU1MgZS5zdHlsZS5n
ZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSBpcyAnaW1wb3J0YW50JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY5ZmRlZGVhMjhkOTY0
ODQyMjcyMGNhYjJiODAyYmQ1YjBjZmNmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBxdWVyeSB0aGUg
cHJpb3JpdHkgZm9yIGEgc2hvcnRoYW5kIHdvcmtzLiIpOworCit2YXIgdGVzdENvbnRhaW5lciA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh0ZXN0Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0i
dGVzdCI+aGVsbG88L2Rpdj4nOworCitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qn
KTsKKworLy8gU2FuaXR5IGNoZWNrLgorZS5zdHlsZS5zZXRQcm9wZXJ0eSgiYm9yZGVyLWJvdHRv
bS1zdHlsZSIsICJzb2xpZCIsICIhaW1wb3J0YW50Iik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tLXN0eWxlJykiLCAiJ3NvbGlkJyIpOworc2hvdWxk
QmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIiwg
IidpbXBvcnRhbnQnIik7CisKK2Uuc3R5bGUuYm9yZGVyQm90dG9tU3R5bGUgPSAiIjsKK2Uuc3R5
bGUuYm9yZGVyID0gIjIwcHggc29saWQgZ3JlZW4iOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgnYm9yZGVyJykiLCAiJzIwcHggc29saWQgZ3JlZW4nIik7CitzaG91bGRCZSgi
ZS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSIsICInJyIpOworCitlLnN0eWxl
LmJvcmRlciA9ICIiOworZS5zdHlsZS5zZXRQcm9wZXJ0eSgiYm9yZGVyIiwgIjIwcHggc29saWQg
Z3JlZW4iLCAiIWltcG9ydGFudCIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgnYm9yZGVyJykiLCAiJzIwcHggc29saWQgZ3JlZW4nIik7CitzaG91bGRCZSgiZS5zdHlsZS5n
ZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSIsICInaW1wb3J0YW50JyIpOworCitkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124978</attachid>
            <date>2012-02-01 11:20:01 -0800</date>
            <delta_ts>2012-02-01 11:51:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49058-20120201161948.patch</filename>
            <type>text/plain</type>
            <size>15812</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzOWI2Y2E2NTY5MWQ5
N2EwODQ4OWZkNTVhOWNkNjViYmI2M2M2ZC4uYmViOTY1MWE5ZTlhODc3ZDZiNThjYTcyM2Q4NTc4
M2JkYjA1MDEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFuZHMgcHJvcGVy
bHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0
IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMgd2hpY2ggYXJl
IHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhlIGxvbmdoYW5k
cyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMga25vd24uIEkg
YWxzbyByZW5hbWVkCisgICAgICAgIGdldFByb3BlcnR5UHJpb3JpdHkgKG5vdCB0aGUgQ1NTT00g
ZXhwb3NlZCBtZXRob2QpIHRvIHNvbWV0aGluZyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBXZWJLaXQg
bmFtaW5nIGd1aWRlbGluZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXBy
aW9yaXR5Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y29udGFp
bnNPbmx5SW1wb3J0YW50UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpwcm9wZXJ0eUlzSW1wb3J0YW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjphZGRQYXJz
ZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSk6CisgICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmV4dHJhY3RBbmRSZW1vdmVUZXh0RGlyZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHlsZTo6Y29sbGFwc2VUZXh0RGVjb3JhdGlv
blByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ1N0eWxlOjpjb25mbGljdHNX
aXRoSW5saW5lU3R5bGVPZkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6c2V0VGV4dERlY29y
YXRpb25Qcm9wZXJ0eSk6CisgICAgICAgICogZWRpdGluZy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1h
bmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kOjpkb0Fw
cGx5KToKKwogMjAxMi0wMi0wMSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbSW5zcGVjdG9ySW5kZXhlZERCXSBBZGQgdGVz
dHMgZm9yIGRhdGFiYXNlIG5hbWVzIGFuZCBkYXRhYmFzZSBzdHJ1Y3R1cmUgcmVxdWVzdHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IGNjZDlmNmE5M2I5MzRiYzdlYmU2YTdmMTJmZWU5Njg4Mzg3MDkxOTEu
LmMyNGU2YmVlNWE5ZmQ5NDkzM2ZmZTYwODk4YTdhZDI1ZDFhZjU0OTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDItMDEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVu
YXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9w
ZXJ0eVByaW9yaXR5KCkgZmFpbHMgZm9yIENTUyBzaG9ydGhhbmQgcHJvcGVydGllcyB3aXRoICdp
bXBvcnRhbnQnIHByaW9yaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTA1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSB0aGUgY29kZSBhcyBnZXRQcm9wZXJ0eVByaW9yaXR5IGhhcyBiZWVu
IHJlbmFtZWQgdG8gaGFzUHJvcGVydHlJbXBvcnRhbnRQcmlvcml0eS4KKworICAgICAgICAqIEFw
aS9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6c3R5bGVQcm9wZXJ0eSk6
CisKIDIwMTItMDEtMzEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFRyeSB0byBmaXggUXQgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBjOGQ4YmJiZDk3NzgzZWNiN2UwMjRjNTA3
ZGNlOWUwZWExMGQ2ZmNiLi5jMmYyZjAxOGQ3YjMzZTE2YmNhMGZhODdmYzg2MThmMTU4MzE0NzI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTY1OCwxMCArNjU4LDI2IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b246OnNldE5lZWRzU3R5bGVSZWNhbGMoKQogICAgIH0KIH0KIAotYm9vbCBDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkgY29uc3QK
K2Jvb2wgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNvbnRhaW5zT25seUltcG9ydGFudFBy
b3BlcnRpZXMoY29uc3QgQ1NTUHJvcGVydHlMb25naGFuZCYgbG9uZ2hhbmRzKSBjb25zdAorewor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aCgpOyArK2kpIHsKKyAg
ICAgICAgaWYgKCFwcm9wZXJ0eUlzSW1wb3J0YW50KGxvbmdoYW5kcy5wcm9wZXJ0aWVzKClbaV0p
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworYm9vbCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6cHJvcGVydHlJc0ltcG9ydGFudChp
bnQgcHJvcGVydHlJRCkgY29uc3QKIHsKICAgICBjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydHkg
PSBmaW5kUHJvcGVydHlXaXRoSWQocHJvcGVydHlJRCk7Ci0gICAgcmV0dXJuIHByb3BlcnR5ID8g
cHJvcGVydHktPmlzSW1wb3J0YW50KCkgOiBmYWxzZTsKKyAgICBpZiAocHJvcGVydHkpCisgICAg
ICAgIHJldHVybiBwcm9wZXJ0eS0+aXNJbXBvcnRhbnQoKTsKKworICAgIENTU1Byb3BlcnR5TG9u
Z2hhbmQgbG9uZ2hhbmRzID0gbG9uZ2hhbmRGb3JQcm9wZXJ0eShwcm9wZXJ0eUlEKTsKKyAgICBp
ZiAoIWxvbmdoYW5kcy5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0
dXJuIGNvbnRhaW5zT25seUltcG9ydGFudFByb3BlcnRpZXMobG9uZ2hhbmRzKTsKIH0KIAogaW50
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVNob3J0aGFuZChpbnQgcHJv
cGVydHlJRCkgY29uc3QKQEAgLTc4OCw3ICs4MDQsNyBAQCB2b2lkIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uOjphZGRQYXJzZWRQcm9wZXJ0eShjb25zdCBDU1NQcm9wZXJ0eSYgcHJvcGVydHkp
CiAjZW5kaWYKIAogICAgIC8vIE9ubHkgYWRkIHByb3BlcnRpZXMgdGhhdCBoYXZlIG5vICFpbXBv
cnRhbnQgY291bnRlcnBhcnQgcHJlc2VudAotICAgIGlmICghZ2V0UHJvcGVydHlQcmlvcml0eShw
cm9wZXJ0eS5pZCgpKSB8fCBwcm9wZXJ0eS5pc0ltcG9ydGFudCgpKSB7CisgICAgaWYgKCFwcm9w
ZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5LmlkKCkpIHx8IHByb3BlcnR5LmlzSW1wb3J0YW50KCkp
IHsKICAgICAgICAgcmVtb3ZlUHJvcGVydHkocHJvcGVydHkuaWQoKSwgZmFsc2UsIGZhbHNlKTsK
ICAgICAgICAgbV9wcm9wZXJ0aWVzLmFwcGVuZChwcm9wZXJ0eSk7CiAgICAgfQpAQCAtMTA0Niw3
ICsxMDYyLDcgQEAgU3RyaW5nIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0
eVByaW9yaXR5KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW0KICAgICBpbnQgcHJvcGVydHlJRCA9
IGNzc1Byb3BlcnR5SUQocHJvcGVydHlOYW1lKTsKICAgICBpZiAoIXByb3BlcnR5SUQpCiAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlQcmlvcml0eShwcm9w
ZXJ0eUlEKSA/ICJpbXBvcnRhbnQiIDogIiI7CisgICAgcmV0dXJuIHByb3BlcnR5SXNJbXBvcnRh
bnQocHJvcGVydHlJRCkgPyAiaW1wb3J0YW50IiA6ICIiOwogfQogCiBTdHJpbmcgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IFN0cmluZyYgcHJv
cGVydHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uaAppbmRleCAwODlkZTZjNDBiNGFhZGQ5YmU3NTMyMTEwMzlhM2M1MzcxMDNkY2IxLi5k
YjJjZWZmNzM2YWYzYTY5MTY3NzhhNjYyYTFkNWMyYWM3MWIyMmUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaApAQCAtMzEsNiArMzEsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENTU1Byb3BlcnR5TG9uZ2hhbmQ7CiBj
bGFzcyBTdHlsZWRFbGVtZW50OwogCiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiA6
IHB1YmxpYyBDU1NTdHlsZURlY2xhcmF0aW9uIHsKQEAgLTY0LDcgKzY1LDcgQEAgcHVibGljOgog
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gZ2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVy
dHlJRCkgY29uc3Q7CiAgICAgU3RyaW5nIGdldFByb3BlcnR5VmFsdWUoaW50IHByb3BlcnR5SUQp
IGNvbnN0OwotICAgIGJvb2wgZ2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkgY29u
c3Q7CisgICAgYm9vbCBwcm9wZXJ0eUlzSW1wb3J0YW50KGludCBwcm9wZXJ0eUlEKSBjb25zdDsK
ICAgICBpbnQgZ2V0UHJvcGVydHlTaG9ydGhhbmQoaW50IHByb3BlcnR5SUQpIGNvbnN0OwogICAg
IGJvb2wgaXNQcm9wZXJ0eUltcGxpY2l0KGludCBwcm9wZXJ0eUlEKSBjb25zdDsKIApAQCAtMTQ0
LDYgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGJvcmRlclNwYWNpbmdWYWx1ZShjb25z
dCBpbnQgcHJvcGVydGllc1syXSkgY29uc3Q7CiAgICAgU3RyaW5nIGZvbnRWYWx1ZSgpIGNvbnN0
OwogICAgIGJvb2wgYXBwZW5kRm9udExvbmdoYW5kVmFsdWVJZkV4cGxpY2l0KGludCBwcm9wZXJ0
eUlELCBTdHJpbmdCdWlsZGVyJiByZXN1bHQpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnNPbmx5
SW1wb3J0YW50UHJvcGVydGllcyhjb25zdCBDU1NQcm9wZXJ0eUxvbmdoYW5kJikgY29uc3Q7CiAK
ICAgICB0ZW1wbGF0ZTxzaXplX3Qgc2l6ZT4gU3RyaW5nIGdldFNob3J0aGFuZFZhbHVlKGNvbnN0
IGludCAoJnByb3BlcnRpZXMpW3NpemVdKSBjb25zdCB7IHJldHVybiBnZXRTaG9ydGhhbmRWYWx1
ZShwcm9wZXJ0aWVzLCBzaXplKTsgfQogICAgIHRlbXBsYXRlPHNpemVfdCBzaXplPiBTdHJpbmcg
Z2V0Q29tbW9uVmFsdWUoY29uc3QgaW50ICgmcHJvcGVydGllcylbc2l6ZV0pIGNvbnN0IHsgcmV0
dXJuIGdldENvbW1vblZhbHVlKHByb3BlcnRpZXMsIHNpemUpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdTdHlsZS5jcHAKaW5kZXggMWJjZDY5Y2Q1MzAwYThmODhiZDFkMjJlOTMyNmJk
NjUzMDE1YThlZi4uN2U1NDQxZDNiNThiMDc4ZmU1NjIxYzljYTNmNTJkMjYzYzVkYmNkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApAQCAtNTIxLDkgKzUyMSw5IEBA
IFBhc3NSZWZQdHI8RWRpdGluZ1N0eWxlPiBFZGl0aW5nU3R5bGU6OmV4dHJhY3RBbmRSZW1vdmVU
ZXh0RGlyZWN0aW9uKCkKIHsKICAgICBSZWZQdHI8RWRpdGluZ1N0eWxlPiB0ZXh0RGlyZWN0aW9u
ID0gRWRpdGluZ1N0eWxlOjpjcmVhdGUoKTsKICAgICB0ZXh0RGlyZWN0aW9uLT5tX211dGFibGVT
dHlsZSA9IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUoKTsKLSAgICB0ZXh0RGly
ZWN0aW9uLT5tX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2RlQmlk
aSwgQ1NTVmFsdWVFbWJlZCwgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkoQ1NT
UHJvcGVydHlVbmljb2RlQmlkaSkpOworICAgIHRleHREaXJlY3Rpb24tPm1fbXV0YWJsZVN0eWxl
LT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpLCBDU1NWYWx1ZUVtYmVkLCBtX211
dGFibGVTdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpKSk7
CiAgICAgdGV4dERpcmVjdGlvbi0+bV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3Bl
cnR5RGlyZWN0aW9uLCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0
eURpcmVjdGlvbiksCi0gICAgICAgIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5
KENTU1Byb3BlcnR5RGlyZWN0aW9uKSk7CisgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5wcm9wZXJ0
eUlzSW1wb3J0YW50KENTU1Byb3BlcnR5RGlyZWN0aW9uKSk7CiAKICAgICBtX211dGFibGVTdHls
ZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2RlQmlkaSk7CiAgICAgbV9tdXRhYmxl
U3R5bGUtPnJlbW92ZVByb3BlcnR5KENTU1Byb3BlcnR5RGlyZWN0aW9uKTsKQEAgLTU3OSw3ICs1
NzksNyBAQCB2b2lkIEVkaXRpbmdTdHlsZTo6Y29sbGFwc2VUZXh0RGVjb3JhdGlvblByb3BlcnRp
ZXMoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodGV4dERlY29yYXRpb25zSW5FZmZlY3Qt
PmlzVmFsdWVMaXN0KCkpCi0gICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVRleHREZWNvcmF0aW9uLCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+Y3NzVGV4dCgp
LCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShDU1NQcm9wZXJ0eVRleHREZWNv
cmF0aW9uKSk7CisgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0
eVRleHREZWNvcmF0aW9uLCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+Y3NzVGV4dCgpLCBtX211
dGFibGVTdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
KSk7CiAgICAgZWxzZQogICAgICAgICBtX211dGFibGVTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CiAgICAgbV9tdXRhYmxlU3R5bGUtPnJlbW92ZVByb3Bl
cnR5KENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QpOwpAQCAtNjY1LDcg
KzY2NSw3IEBAIGJvb2wgRWRpdGluZ1N0eWxlOjpjb25mbGljdHNXaXRoSW5saW5lU3R5bGVPZkVs
ZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCwgRWRpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFwcGVuZChDU1NQcm9w
ZXJ0eVRleHREZWNvcmF0aW9uKTsKICAgICAgICAgICAgIGlmIChleHRyYWN0ZWRTdHlsZSkKLSAg
ICAgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlUZXh0
RGVjb3JhdGlvbiwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlUZXh0
RGVjb3JhdGlvbiksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KENTU1Byb3BlcnR5
VGV4dERlY29yYXRpb24pKTsKKyAgICAgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJv
cGVydHkoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5
VmFsdWUoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiksIGlubGluZVN0eWxlLT5wcm9wZXJ0eUlz
SW1wb3J0YW50KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CiAKQEAgLTY3Nyw3ICs2NzcsNyBAQCBib29sIEVkaXRpbmdTdHlsZTo6
Y29uZmxpY3RzV2l0aElubGluZVN0eWxlT2ZFbGVtZW50KFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQs
IEVkaQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgY29uZmxpY3Rp
bmdQcm9wZXJ0aWVzLT5hcHBlbmQoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwogICAgICAgICAgICAg
aWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQ
cm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0
eUlEKSwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydHlJRCkpOworICAg
ICAgICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxp
bmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPnByb3Bl
cnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFj
b25mbGljdGluZ1Byb3BlcnRpZXMpCkBAIC02ODYsNyArNjg2LDcgQEAgYm9vbCBFZGl0aW5nU3R5
bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudChTdHlsZWRFbGVtZW50KiBlbGVt
ZW50LCBFZGkKICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5hcHBlbmQocHJvcGVydHlJ
RCk7CiAKICAgICAgICAgaWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAgICAgZXh0cmFjdGVk
U3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZh
bHVlKHByb3BlcnR5SUQpLCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0
eUlEKSk7CisgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJ
RCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJRCksIGlubGluZVN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5SUQpKTsKICAgICB9CiAKICAgICByZXR1cm4g
Y29uZmxpY3RpbmdQcm9wZXJ0aWVzICYmICFjb25mbGljdGluZ1Byb3BlcnRpZXMtPmlzRW1wdHko
KTsKQEAgLTEyMjEsMTAgKzEyMjEsMTAgQEAgU3R5bGVDaGFuZ2U6OlN0eWxlQ2hhbmdlKEVkaXRp
bmdTdHlsZSogc3R5bGUsIGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKIHN0YXRpYyB2b2lkIHNl
dFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxl
LCBjb25zdCBDU1NWYWx1ZUxpc3QqIG5ld1RleHREZWNvcmF0aW9uLCBpbnQgcHJvcGVydHlJRCkK
IHsKICAgICBpZiAobmV3VGV4dERlY29yYXRpb24tPmxlbmd0aCgpKQotICAgICAgICBzdHlsZS0+
c2V0UHJvcGVydHkocHJvcGVydHlJRCwgbmV3VGV4dERlY29yYXRpb24tPmNzc1RleHQoKSwgc3R5
bGUtPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydHlJRCkpOworICAgICAgICBzdHlsZS0+c2V0
UHJvcGVydHkocHJvcGVydHlJRCwgbmV3VGV4dERlY29yYXRpb24tPmNzc1RleHQoKSwgc3R5bGUt
PnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgIGVsc2UgewogICAgICAgICAv
LyB0ZXh0LWRlY29yYXRpb246IG5vbmUgaXMgcmVkdW5kYW50IHNpbmNlIGl0IGRvZXMgbm90IHJl
bW92ZSBhbnkgdGV4dCBkZWNvcmF0aW9ucy4KLSAgICAgICAgQVNTRVJUKCFzdHlsZS0+Z2V0UHJv
cGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgIEFTU0VSVCghc3R5bGUtPnByb3Bl
cnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgICAgICBzdHlsZS0+cmVtb3ZlUHJvcGVy
dHkocHJvcGVydHlJRCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwCmluZGV4IGIxYjg4YTIwNjVmMmM5Yjg2YTIx
YzY0MGJhNTBhZTJjZmFhNTYwNzkuLjU0MDhlMzlkYWExNzU4YjgxZTI3ZTM5MzNlNmNiMWZkMTE3
N2Y2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVtb3ZlQ1NTUHJvcGVy
dHlDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbW92ZUNTU1Byb3Bl
cnR5Q29tbWFuZC5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgdm9pZCBSZW1vdmVDU1NQcm9wZXJ0eUNv
bW1hbmQ6OmRvQXBwbHkoKQogewogICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBzdHls
ZSA9IG1fZWxlbWVudC0+aW5saW5lU3R5bGVEZWNsKCk7CiAgICAgbV9vbGRWYWx1ZSA9IHN0eWxl
LT5nZXRQcm9wZXJ0eVZhbHVlKG1fcHJvcGVydHkpOwotICAgIG1faW1wb3J0YW50ID0gc3R5bGUt
PmdldFByb3BlcnR5UHJpb3JpdHkobV9wcm9wZXJ0eSk7CisgICAgbV9pbXBvcnRhbnQgPSBzdHls
ZS0+cHJvcGVydHlJc0ltcG9ydGFudChtX3Byb3BlcnR5KTsKICAgICBzdHlsZS0+cmVtb3ZlUHJv
cGVydHkobV9wcm9wZXJ0eSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcApp
bmRleCA2YjE4OTk0NjY2MzEyZGIwZGMzYTBjYjE2MGEwZTA2YTkwYzVjMTA0Li5kNTI3ZmY5OGFm
ODA3ODFlNTJhZDJiMDU1YTQ0NDg4MjM1ZmYxYzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVs
ZW1lbnQuY3BwCkBAIC04NTAsNyArODUwLDcgQEAgUVN0cmluZyBRV2ViRWxlbWVudDo6c3R5bGVQ
cm9wZXJ0eShjb25zdCBRU3RyaW5nICZuYW1lLCBTdHlsZVJlc29sdmVTdHJhdGVneSBzdHIKICAg
ICAgICAgcmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BJRCk7CiAKICAgICBpZiAo
c3RyYXRlZ3kgPT0gQ2FzY2FkZWRTdHlsZSkgewotICAgICAgICBpZiAoc3R5bGUtPmdldFByb3Bl
cnR5UHJpb3JpdHkocHJvcElEKSkKKyAgICAgICAgaWYgKHN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0
YW50KHByb3BJRCkpCiAgICAgICAgICAgICByZXR1cm4gc3R5bGUtPmdldFByb3BlcnR5VmFsdWUo
cHJvcElEKTsKIAogICAgICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gcmVzb2x2ZSB0aGUgc3R5bGUg
cHJvcGVydHkgYnkgd2Fsa2luZyB0aHJvdWdoIHRoZQpAQCAtODY2LDcgKzg2Niw3IEBAIFFTdHJp
bmcgUVdlYkVsZW1lbnQ6OnN0eWxlUHJvcGVydHkoY29uc3QgUVN0cmluZyAmbmFtZSwgU3R5bGVS
ZXNvbHZlU3RyYXRlZ3kgc3RyCiAgICAgICAgICAgICBmb3IgKGludCBpID0gcnVsZXMtPmxlbmd0
aCgpOyBpID4gMDsgLS1pKSB7CiAgICAgICAgICAgICAgICAgQ1NTU3R5bGVSdWxlKiBydWxlID0g
c3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4ocnVsZXMtPml0ZW0oaSAtIDEpKTsKIAotICAgICAg
ICAgICAgICAgIGlmIChydWxlLT5kZWNsYXJhdGlvbigpLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHBy
b3BJRCkpCisgICAgICAgICAgICAgICAgaWYgKHJ1bGUtPmRlY2xhcmF0aW9uKCktPnByb3BlcnR5
SXNJbXBvcnRhbnQocHJvcElEKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJ1bGUtPmRl
Y2xhcmF0aW9uKCktPmdldFByb3BlcnR5VmFsdWUocHJvcElEKTsKIAogICAgICAgICAgICAgICAg
IGlmIChzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpLmlzRW1wdHkoKSkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2
YzlkMGFmZDc5NjViNDBlZjI2YTkyMjliZjE5ZDhiMDZiMzY3YWUwLi5lYjU3ZmRlNmMwOGY4OWFm
MjQyMTlkYTcxYTc0NGI0NzBlOTlmMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDIt
MDEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgQ1NTU3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVByaW9yaXR5KCkgZmFpbHMgZm9yIENT
UyBzaG9ydGhhbmQgcHJvcGVydGllcyB3aXRoICdpbXBvcnRhbnQnIHByaW9yaXR5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTA1OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc2hvcnRo
YW5kLXByaW9yaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc2hv
cnRoYW5kLXByaW9yaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTAxICBWc2V2b2xvZCBWbGFz
b3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtJbnNw
ZWN0b3JJbmRleGVkREJdIEFkZCB0ZXN0cyBmb3IgZGF0YWJhc2UgbmFtZXMgYW5kIGRhdGFiYXNl
IHN0cnVjdHVyZSByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3No
b3J0aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9y
dGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNDI3MzlmMTRjY2RiOTYy
MzA1NDk3YzNiYmRlZWI2ZTZhNzEzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K1Rlc3RzIHRoYXQgcXVlcnkgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0aGFuZCB3b3Jrcy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCdib3JkZXItYm90dG9tLXN0eWxlJykgaXMgJ3NvbGlkJworUEFTUyBlLnN0eWxlLmdldFBy
b3BlcnR5UHJpb3JpdHkoJ2JvcmRlci1ib3R0b20tc3R5bGUnKSBpcyAnaW1wb3J0YW50JworUEFT
UyBlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIGlzICcyMHB4IHNvbGlkIGdyZWVu
JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlcicpIGlzICcnCitQQVNT
IGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykgaXMgJzIwcHggc29saWQgZ3JlZW4n
CitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykgaXMgJ2ltcG9ydGFu
dCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZmOWZkZWRlYTI4ZDk2NDg0MjI3MjBjYWIyYjgwMmJkNWIwY2ZjZmYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHkuaHRtbApAQCAtMCww
ICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgcXVlcnkgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0aGFuZCB3b3Jrcy4iKTsKKwordmFy
IHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3Rlc3RDb250YWluZXIuaW5uZXJI
VE1MID0gJzxkaXYgaWQ9InRlc3QiPmhlbGxvPC9kaXY+JzsKKworZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0Jyk7CisKKy8vIFNhbml0eSBjaGVjay4KK2Uuc3R5bGUuc2V0UHJvcGVy
dHkoImJvcmRlci1ib3R0b20tc3R5bGUiLCAic29saWQiLCAiIWltcG9ydGFudCIpOworc2hvdWxk
QmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIiwgIidz
b2xpZCciKTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlci1i
b3R0b20tc3R5bGUnKSIsICInaW1wb3J0YW50JyIpOworCitlLnN0eWxlLmJvcmRlckJvdHRvbVN0
eWxlID0gIiI7CitlLnN0eWxlLmJvcmRlciA9ICIyMHB4IHNvbGlkIGdyZWVuIjsKK3Nob3VsZEJl
KCJlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIiwgIicyMHB4IHNvbGlkIGdyZWVu
JyIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykiLCAi
JyciKTsKKworZS5zdHlsZS5ib3JkZXIgPSAiIjsKK2Uuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRl
ciIsICIyMHB4IHNvbGlkIGdyZWVuIiwgIiFpbXBvcnRhbnQiKTsKK3Nob3VsZEJlKCJlLnN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIiwgIicyMHB4IHNvbGlkIGdyZWVuJyIpOworc2hv
dWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyJykiLCAiJ2ltcG9ydGFu
dCciKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124980</attachid>
            <date>2012-02-01 11:52:04 -0800</date>
            <delta_ts>2012-02-01 12:02:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-49058-20120201165151.patch</filename>
            <type>text/plain</type>
            <size>14860</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEzOWI2Y2E2NTY5MWQ5
N2EwODQ4OWZkNTVhOWNkNjViYmI2M2M2ZC4uZDkzOGEzNDJmODYzMmU1YTFlMTAyMTFjNmQwZThh
YzU2YmI0OTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIE5lZWQg
YSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQW5kcmVhcyBLbGluZy4KKworICAgICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlQcmlvcml0eSB3YXMgbm90IGhhbmRsaW5nIHNob3J0aGFuZHMgcHJvcGVy
bHkuIFNob3J0aGFuZHMgYXJlCisgICAgICAgIG5vdCBwYXJ0IG9mIHRoZSBwcm9wZXJ0eSBsaXN0
IG9mIHRoZSBzdHlsZSBzbyB3ZSBuZWVkIHRvIHF1ZXJ5IHRoZSBsb25naGFuZHMgd2hpY2ggYXJl
IHRoZSBvbmUgYWRkZWQKKyAgICAgICAgaW4gdGhlIGxpc3QuIE9ubHkgaWYgdGhlIGxvbmdoYW5k
cyBoYXZlIGVxdWFsIHByaW9yaXR5IHRoZSBzaG9ydGhhbmQgcHJpb3JpdHkgaXMga25vd24uIEkg
YWxzbyByZW5hbWVkCisgICAgICAgIGdldFByb3BlcnR5UHJpb3JpdHkgKG5vdCB0aGUgQ1NTT00g
ZXhwb3NlZCBtZXRob2QpIHRvIHNvbWV0aGluZyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBXZWJLaXQg
bmFtaW5nIGd1aWRlbGluZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mvc2hvcnRoYW5kLXBy
aW9yaXR5Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6cHJvcGVy
dHlJc0ltcG9ydGFudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbjo6YWRkUGFyc2VkUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkpOgorICAgICAgICAqIGNzcy9DU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ1N0eWxlOjpleHRyYWN0QW5kUmVtb3Zl
VGV4dERpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmNvbGxhcHNl
VGV4dERlY29yYXRpb25Qcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHls
ZTo6Y29uZmxpY3RzV2l0aElubGluZVN0eWxlT2ZFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OnNldFRleHREZWNvcmF0aW9uUHJvcGVydHkpOgorICAgICAgICAqIGVkaXRpbmcvUmVtb3ZlQ1NT
UHJvcGVydHlDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbW92ZUNTU1Byb3BlcnR5
Q29tbWFuZDo6ZG9BcHBseSk6CisKIDIwMTItMDItMDEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0luc3BlY3RvckluZGV4
ZWREQl0gQWRkIHRlc3RzIGZvciBkYXRhYmFzZSBuYW1lcyBhbmQgZGF0YWJhc2Ugc3RydWN0dXJl
IHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBjY2Q5ZjZhOTNiOTM0YmM3ZWJlNmE3ZjEyZmVl
OTY4ODM4NzA5MTkxLi41NTQzZTYwMWJlYjFjNjI1NzhkODBmNzcyMmJmZDk1MzU0MmI4MDUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTAxICBBbGV4aXMgTWVuYXJk
ICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0eWxlRGVjbGFy
YXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRoYW5kIHByb3Bl
cnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRy
ZWFzIEtsaW5nLgorCisgICAgICAgIFVwZGF0ZSB0aGUgY29kZSBhcyBnZXRQcm9wZXJ0eVByaW9y
aXR5IGhhcyBiZWVuIHJlbmFtZWQgdG8gcHJvcGVydHlJc0ltcG9ydGFudC4KKworICAgICAgICAq
IEFwaS9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgIChRV2ViRWxlbWVudDo6c3R5bGVQcm9wZXJ0
eSk6CisKIDIwMTItMDEtMzEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFRyeSB0byBmaXggUXQgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBjOGQ4YmJiZDk3NzgzZWNiN2UwMjRj
NTA3ZGNlOWUwZWExMGQ2ZmNiLi5jNzFiNTdhODk3MjE3YTBkZjIyNjQ4ZDAwMTcyM2EyYTIyYzRk
YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAKQEAgLTY1OCwxMCArNjU4LDIxIEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb246OnNldE5lZWRzU3R5bGVSZWNhbGMoKQogICAgIH0KIH0KIAotYm9vbCBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkgY29u
c3QKK2Jvb2wgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OnByb3BlcnR5SXNJbXBvcnRhbnQo
aW50IHByb3BlcnR5SUQpIGNvbnN0CiB7CiAgICAgY29uc3QgQ1NTUHJvcGVydHkqIHByb3BlcnR5
ID0gZmluZFByb3BlcnR5V2l0aElkKHByb3BlcnR5SUQpOwotICAgIHJldHVybiBwcm9wZXJ0eSA/
IHByb3BlcnR5LT5pc0ltcG9ydGFudCgpIDogZmFsc2U7CisgICAgaWYgKHByb3BlcnR5KQorICAg
ICAgICByZXR1cm4gcHJvcGVydHktPmlzSW1wb3J0YW50KCk7CisKKyAgICBDU1NQcm9wZXJ0eUxv
bmdoYW5kIGxvbmdoYW5kcyA9IGxvbmdoYW5kRm9yUHJvcGVydHkocHJvcGVydHlJRCk7CisgICAg
aWYgKCFsb25naGFuZHMubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBsb25naGFuZHMubGVuZ3RoKCk7ICsraSkgeworICAgICAg
ICBpZiAoIXByb3BlcnR5SXNJbXBvcnRhbnQobG9uZ2hhbmRzLnByb3BlcnRpZXMoKVtpXSkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOwogfQogCiBp
bnQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5U2hvcnRoYW5kKGludCBw
cm9wZXJ0eUlEKSBjb25zdApAQCAtNzg4LDcgKzc5OSw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmFkZFBhcnNlZFByb3BlcnR5KGNvbnN0IENTU1Byb3BlcnR5JiBwcm9wZXJ0
eSkKICNlbmRpZgogCiAgICAgLy8gT25seSBhZGQgcHJvcGVydGllcyB0aGF0IGhhdmUgbm8gIWlt
cG9ydGFudCBjb3VudGVycGFydCBwcmVzZW50Ci0gICAgaWYgKCFnZXRQcm9wZXJ0eVByaW9yaXR5
KHByb3BlcnR5LmlkKCkpIHx8IHByb3BlcnR5LmlzSW1wb3J0YW50KCkpIHsKKyAgICBpZiAoIXBy
b3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHkuaWQoKSkgfHwgcHJvcGVydHkuaXNJbXBvcnRhbnQo
KSkgewogICAgICAgICByZW1vdmVQcm9wZXJ0eShwcm9wZXJ0eS5pZCgpLCBmYWxzZSwgZmFsc2Up
OwogICAgICAgICBtX3Byb3BlcnRpZXMuYXBwZW5kKHByb3BlcnR5KTsKICAgICB9CkBAIC0xMDQ2
LDcgKzEwNTcsNyBAQCBTdHJpbmcgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5UHJpb3JpdHkoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbQogICAgIGludCBwcm9wZXJ0eUlE
ID0gY3NzUHJvcGVydHlJRChwcm9wZXJ0eU5hbWUpOwogICAgIGlmICghcHJvcGVydHlJRCkKICAg
ICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBnZXRQcm9wZXJ0eVByaW9yaXR5KHBy
b3BlcnR5SUQpID8gImltcG9ydGFudCIgOiAiIjsKKyAgICByZXR1cm4gcHJvcGVydHlJc0ltcG9y
dGFudChwcm9wZXJ0eUlEKSA/ICJpbXBvcnRhbnQiIDogIiI7CiB9CiAKIFN0cmluZyBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlTaG9ydGhhbmQoY29uc3QgU3RyaW5nJiBw
cm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbi5oCmluZGV4IDA4OWRlNmM0MGI0YWFkZDliZTc1MzIxMTAzOWEzYzUzNzEwM2RjYjEu
Ljk2ZWUyZDllMjMyZDEwOTEzMWVmODg0NWI5Nzg4ZmM4ZjEyZDQxZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCkBAIC0zMSw2ICszMSw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ1NTUHJvcGVydHlMb25naGFuZDsK
IGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiAKIGNsYXNzIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
IDogcHVibGljIENTU1N0eWxlRGVjbGFyYXRpb24gewpAQCAtNjQsNyArNjUsNyBAQCBwdWJsaWM6
CiAKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9w
ZXJ0eUlEKSBjb25zdDsKICAgICBTdHJpbmcgZ2V0UHJvcGVydHlWYWx1ZShpbnQgcHJvcGVydHlJ
RCkgY29uc3Q7Ci0gICAgYm9vbCBnZXRQcm9wZXJ0eVByaW9yaXR5KGludCBwcm9wZXJ0eUlEKSBj
b25zdDsKKyAgICBib29sIHByb3BlcnR5SXNJbXBvcnRhbnQoaW50IHByb3BlcnR5SUQpIGNvbnN0
OwogICAgIGludCBnZXRQcm9wZXJ0eVNob3J0aGFuZChpbnQgcHJvcGVydHlJRCkgY29uc3Q7CiAg
ICAgYm9vbCBpc1Byb3BlcnR5SW1wbGljaXQoaW50IHByb3BlcnR5SUQpIGNvbnN0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKaW5kZXggMWJjZDY5Y2Q1MzAwYThmODhi
ZDFkMjJlOTMyNmJkNjUzMDE1YThlZi4uN2U1NDQxZDNiNThiMDc4ZmU1NjIxYzljYTNmNTJkMjYz
YzVkYmNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcApAQCAtNTIx
LDkgKzUyMSw5IEBAIFBhc3NSZWZQdHI8RWRpdGluZ1N0eWxlPiBFZGl0aW5nU3R5bGU6OmV4dHJh
Y3RBbmRSZW1vdmVUZXh0RGlyZWN0aW9uKCkKIHsKICAgICBSZWZQdHI8RWRpdGluZ1N0eWxlPiB0
ZXh0RGlyZWN0aW9uID0gRWRpdGluZ1N0eWxlOjpjcmVhdGUoKTsKICAgICB0ZXh0RGlyZWN0aW9u
LT5tX211dGFibGVTdHlsZSA9IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUoKTsK
LSAgICB0ZXh0RGlyZWN0aW9uLT5tX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVy
dHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVFbWJlZCwgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5
UHJpb3JpdHkoQ1NTUHJvcGVydHlVbmljb2RlQmlkaSkpOworICAgIHRleHREaXJlY3Rpb24tPm1f
bXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpLCBDU1NWYWx1
ZUVtYmVkLCBtX211dGFibGVTdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eVVu
aWNvZGVCaWRpKSk7CiAgICAgdGV4dERpcmVjdGlvbi0+bV9tdXRhYmxlU3R5bGUtPnNldFByb3Bl
cnR5KENTU1Byb3BlcnR5RGlyZWN0aW9uLCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eURpcmVjdGlvbiksCi0gICAgICAgIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9w
ZXJ0eVByaW9yaXR5KENTU1Byb3BlcnR5RGlyZWN0aW9uKSk7CisgICAgICAgIG1fbXV0YWJsZVN0
eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KENTU1Byb3BlcnR5RGlyZWN0aW9uKSk7CiAKICAgICBt
X211dGFibGVTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2RlQmlkaSk7CiAg
ICAgbV9tdXRhYmxlU3R5bGUtPnJlbW92ZVByb3BlcnR5KENTU1Byb3BlcnR5RGlyZWN0aW9uKTsK
QEAgLTU3OSw3ICs1NzksNyBAQCB2b2lkIEVkaXRpbmdTdHlsZTo6Y29sbGFwc2VUZXh0RGVjb3Jh
dGlvblByb3BlcnRpZXMoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodGV4dERlY29yYXRp
b25zSW5FZmZlY3QtPmlzVmFsdWVMaXN0KCkpCi0gICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uLCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVj
dC0+Y3NzVGV4dCgpLCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShDU1NQcm9w
ZXJ0eVRleHREZWNvcmF0aW9uKSk7CisgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uLCB0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+Y3Nz
VGV4dCgpLCBtX211dGFibGVTdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eVRl
eHREZWNvcmF0aW9uKSk7CiAgICAgZWxzZQogICAgICAgICBtX211dGFibGVTdHlsZS0+cmVtb3Zl
UHJvcGVydHkoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CiAgICAgbV9tdXRhYmxlU3R5bGUt
PnJlbW92ZVByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Qp
OwpAQCAtNjY1LDcgKzY2NSw3IEBAIGJvb2wgRWRpdGluZ1N0eWxlOjpjb25mbGljdHNXaXRoSW5s
aW5lU3R5bGVPZkVsZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCwgRWRpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFw
cGVuZChDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKTsKICAgICAgICAgICAgIGlmIChleHRyYWN0
ZWRTdHlsZSkKLSAgICAgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJvcGVydHkoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbiksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5
KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKKyAgICAgICAgICAgICAgICBleHRyYWN0ZWRT
dHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgaW5saW5lU3R5bGUt
PmdldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiksIGlubGluZVN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTY3Nyw3ICs2NzcsNyBAQCBib29sIEVk
aXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aElubGluZVN0eWxlT2ZFbGVtZW50KFN0eWxlZEVsZW1l
bnQqIGVsZW1lbnQsIEVkaQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAg
ICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5hcHBlbmQoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwog
ICAgICAgICAgICAgaWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAgICAgICAgIGV4dHJhY3Rl
ZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlW
YWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVy
dHlJRCkpOworICAgICAgICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9w
ZXJ0eUlELCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5l
U3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKCFjb25mbGljdGluZ1Byb3BlcnRpZXMpCkBAIC02ODYsNyArNjg2LDcgQEAgYm9v
bCBFZGl0aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudChTdHlsZWRF
bGVtZW50KiBlbGVtZW50LCBFZGkKICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5hcHBl
bmQocHJvcGVydHlJRCk7CiAKICAgICAgICAgaWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAg
ICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGlubGluZVN0eWxlLT5n
ZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5SUQpLCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlQcmlv
cml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJvcGVy
dHkocHJvcGVydHlJRCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJRCks
IGlubGluZVN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5SUQpKTsKICAgICB9CiAK
ICAgICByZXR1cm4gY29uZmxpY3RpbmdQcm9wZXJ0aWVzICYmICFjb25mbGljdGluZ1Byb3BlcnRp
ZXMtPmlzRW1wdHkoKTsKQEAgLTEyMjEsMTAgKzEyMjEsMTAgQEAgU3R5bGVDaGFuZ2U6OlN0eWxl
Q2hhbmdlKEVkaXRpbmdTdHlsZSogc3R5bGUsIGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKIHN0
YXRpYyB2b2lkIHNldFRleHREZWNvcmF0aW9uUHJvcGVydHkoQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24qIHN0eWxlLCBjb25zdCBDU1NWYWx1ZUxpc3QqIG5ld1RleHREZWNvcmF0aW9uLCBpbnQg
cHJvcGVydHlJRCkKIHsKICAgICBpZiAobmV3VGV4dERlY29yYXRpb24tPmxlbmd0aCgpKQotICAg
ICAgICBzdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJRCwgbmV3VGV4dERlY29yYXRpb24tPmNz
c1RleHQoKSwgc3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydHlJRCkpOworICAgICAg
ICBzdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJRCwgbmV3VGV4dERlY29yYXRpb24tPmNzc1Rl
eHQoKSwgc3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgIGVsc2Ug
ewogICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmUgaXMgcmVkdW5kYW50IHNpbmNlIGl0
IGRvZXMgbm90IHJlbW92ZSBhbnkgdGV4dCBkZWNvcmF0aW9ucy4KLSAgICAgICAgQVNTRVJUKCFz
dHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgIEFTU0VSVCgh
c3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgICAgICBzdHlsZS0+
cmVtb3ZlUHJvcGVydHkocHJvcGVydHlJRCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwCmluZGV4IGIxYjg4YTIw
NjVmMmM5Yjg2YTIxYzY0MGJhNTBhZTJjZmFhNTYwNzkuLjU0MDhlMzlkYWExNzU4YjgxZTI3ZTM5
MzNlNmNiMWZkMTE3N2Y2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVt
b3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
bW92ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgdm9pZCBSZW1vdmVD
U1NQcm9wZXJ0eUNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uKiBzdHlsZSA9IG1fZWxlbWVudC0+aW5saW5lU3R5bGVEZWNsKCk7CiAgICAgbV9vbGRW
YWx1ZSA9IHN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKG1fcHJvcGVydHkpOwotICAgIG1faW1wb3J0
YW50ID0gc3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkobV9wcm9wZXJ0eSk7CisgICAgbV9pbXBv
cnRhbnQgPSBzdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChtX3Byb3BlcnR5KTsKICAgICBzdHls
ZS0+cmVtb3ZlUHJvcGVydHkobV9wcm9wZXJ0eSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJl
bGVtZW50LmNwcAppbmRleCA2YjE4OTk0NjY2MzEyZGIwZGMzYTBjYjE2MGEwZTA2YTkwYzVjMTA0
Li5kNTI3ZmY5OGFmODA3ODFlNTJhZDJiMDU1YTQ0NDg4MjM1ZmYxYzNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYmVsZW1lbnQuY3BwCkBAIC04NTAsNyArODUwLDcgQEAgUVN0cmluZyBRV2ViRWxl
bWVudDo6c3R5bGVQcm9wZXJ0eShjb25zdCBRU3RyaW5nICZuYW1lLCBTdHlsZVJlc29sdmVTdHJh
dGVneSBzdHIKICAgICAgICAgcmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BJRCk7
CiAKICAgICBpZiAoc3RyYXRlZ3kgPT0gQ2FzY2FkZWRTdHlsZSkgewotICAgICAgICBpZiAoc3R5
bGUtPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcElEKSkKKyAgICAgICAgaWYgKHN0eWxlLT5wcm9w
ZXJ0eUlzSW1wb3J0YW50KHByb3BJRCkpCiAgICAgICAgICAgICByZXR1cm4gc3R5bGUtPmdldFBy
b3BlcnR5VmFsdWUocHJvcElEKTsKIAogICAgICAgICAvLyBXZSBhcmUgZ29pbmcgdG8gcmVzb2x2
ZSB0aGUgc3R5bGUgcHJvcGVydHkgYnkgd2Fsa2luZyB0aHJvdWdoIHRoZQpAQCAtODY2LDcgKzg2
Niw3IEBAIFFTdHJpbmcgUVdlYkVsZW1lbnQ6OnN0eWxlUHJvcGVydHkoY29uc3QgUVN0cmluZyAm
bmFtZSwgU3R5bGVSZXNvbHZlU3RyYXRlZ3kgc3RyCiAgICAgICAgICAgICBmb3IgKGludCBpID0g
cnVsZXMtPmxlbmd0aCgpOyBpID4gMDsgLS1pKSB7CiAgICAgICAgICAgICAgICAgQ1NTU3R5bGVS
dWxlKiBydWxlID0gc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4ocnVsZXMtPml0ZW0oaSAtIDEp
KTsKIAotICAgICAgICAgICAgICAgIGlmIChydWxlLT5kZWNsYXJhdGlvbigpLT5nZXRQcm9wZXJ0
eVByaW9yaXR5KHByb3BJRCkpCisgICAgICAgICAgICAgICAgaWYgKHJ1bGUtPmRlY2xhcmF0aW9u
KCktPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcElEKSkKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHJ1bGUtPmRlY2xhcmF0aW9uKCktPmdldFByb3BlcnR5VmFsdWUocHJvcElEKTsKIAogICAg
ICAgICAgICAgICAgIGlmIChzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpLmlzRW1wdHko
KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2YzlkMGFmZDc5NjViNDBlZjI2YTkyMjliZjE5ZDhiMDZiMzY3YWUwLi5iYWNk
ZWNmOGU5NGExODljMWQxZDNjMmVlZThiNmI2OGE4ODcxMGE4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDItMDEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5v
cmc+CisKKyAgICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVByaW9yaXR5KCkg
ZmFpbHMgZm9yIENTUyBzaG9ydGhhbmQgcHJvcGVydGllcyB3aXRoICdpbXBvcnRhbnQnIHByaW9y
aXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTA1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgKiBmYXN0
L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHkuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMDEgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogW0luc3BlY3RvckluZGV4ZWREQl0gQWRkIHRlc3RzIGZvciBkYXRhYmFzZSBuYW1lcyBh
bmQgZGF0YWJhc2Ugc3RydWN0dXJlIHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmUzNjZk
YWMwMzg4OGY1ZDA4OWU3MjY4ZjNlNDBmY2Y4MjdiOTM1NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNSBAQAorVGVzdHMgdGhhdCBxdWVyeWluZyB0aGUgcHJpb3JpdHkgZm9yIGEgc2hvcnRo
YW5kIHdvcmtzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBlLnN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1ib3R0b20tc3R5bGUnKSBpcyAnc29saWQnCitQQVNT
IGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIGlzICdp
bXBvcnRhbnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykgaXMgJzIw
cHggc29saWQgZ3JlZW4nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVy
JykgaXMgJycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXInKSBpcyAnMjBw
eCBzb2xpZCBncmVlbicKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXIn
KSBpcyAnaW1wb3J0YW50JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1w
cmlvcml0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjYzOTgzNWViMmE0NTVhYjM1NWU0MTU3NGFlMmVlMjNhNDIwY2NjZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0
eS5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBxdWVyeWluZyB0aGUgcHJpb3JpdHkgZm9yIGEgc2hvcnRoYW5k
IHdvcmtzLiIpOworCit2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVyKTsKKwordGVz
dENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVzdCI+aGVsbG88L2Rpdj4nOworCitl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKKworLy8gU2FuaXR5IGNoZWNrLgor
ZS5zdHlsZS5zZXRQcm9wZXJ0eSgiYm9yZGVyLWJvdHRvbS1zdHlsZSIsICJzb2xpZCIsICIhaW1w
b3J0YW50Iik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90
dG9tLXN0eWxlJykiLCAiJ3NvbGlkJyIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQ
cmlvcml0eSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIiwgIidpbXBvcnRhbnQnIik7CisKK2Uuc3R5
bGUuYm9yZGVyQm90dG9tU3R5bGUgPSAiIjsKK2Uuc3R5bGUuYm9yZGVyID0gIjIwcHggc29saWQg
Z3JlZW4iOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykiLCAi
JzIwcHggc29saWQgZ3JlZW4nIik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9y
aXR5KCdib3JkZXInKSIsICInJyIpOworCitlLnN0eWxlLmJvcmRlciA9ICIiOworZS5zdHlsZS5z
ZXRQcm9wZXJ0eSgiYm9yZGVyIiwgIjIwcHggc29saWQgZ3JlZW4iLCAiIWltcG9ydGFudCIpOwor
c2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykiLCAiJzIwcHggc29s
aWQgZ3JlZW4nIik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KCdib3Jk
ZXInKSIsICInaW1wb3J0YW50JyIpOworCitkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RD
b250YWluZXIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124982</attachid>
            <date>2012-02-01 12:02:30 -0800</date>
            <delta_ts>2012-02-01 12:08:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-49058-20120201170218.patch</filename>
            <type>text/plain</type>
            <size>14938</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY3MWYzZGJmNTJhZGQy
MTJiOTNlOThhNTMyNDAwMjNmNDY5NjczYS4uOThmYzE5YmQwMGUwOTAxZDg5YWE5Y2M0OWExYmMy
ZGY0MzU5ZTYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKyAgICAgICAgCisgICAgICAg
IFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCisKKyAgICAgICAgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkgd2FzIG5vdCBoYW5kbGluZyBzaG9ydGhhbmRz
IHByb3Blcmx5LiBTaG9ydGhhbmRzIGFyZQorICAgICAgICBub3QgcGFydCBvZiB0aGUgcHJvcGVy
dHkgbGlzdCBvZiB0aGUgc3R5bGUgc28gd2UgbmVlZCB0byBxdWVyeSB0aGUgbG9uZ2hhbmRzIHdo
aWNoIGFyZSB0aGUgb25lIGFkZGVkCisgICAgICAgIGluIHRoZSBsaXN0LiBPbmx5IGlmIHRoZSBs
b25naGFuZHMgaGF2ZSBlcXVhbCBwcmlvcml0eSB0aGUgc2hvcnRoYW5kIHByaW9yaXR5IGlzIGtu
b3duLiBJIGFsc28gcmVuYW1lZAorICAgICAgICBnZXRQcm9wZXJ0eVByaW9yaXR5IChub3QgdGhl
IENTU09NIGV4cG9zZWQgbWV0aG9kKSB0byBzb21ldGhpbmcgbW9yZSBjb25zaXN0ZW50IHdpdGgg
V2ViS2l0IG5hbWluZyBndWlkZWxpbmVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL3Nob3J0
aGFuZC1wcmlvcml0eS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246
OnByb3BlcnR5SXNJbXBvcnRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmFkZFBhcnNlZFByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVByaW9yaXR5KToKKyAgICAgICAgKiBj
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvRWRp
dGluZ1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHlsZTo6ZXh0cmFjdEFu
ZFJlbW92ZVRleHREaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ1N0eWxlOjpj
b2xsYXBzZVRleHREZWNvcmF0aW9uUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRUZXh0RGVjb3JhdGlvblByb3BlcnR5KToKKyAgICAgICAgKiBlZGl0aW5nL1Jl
bW92ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdmVDU1NQ
cm9wZXJ0eUNvbW1hbmQ6OmRvQXBwbHkpOgorCiAyMDEyLTAyLTAxICBNYXggVnVqb3ZpYyAgPG12
dWpvdmljQGFkb2JlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZml4ZWQgYW5kIHBl
cmNlbnQgbWluLXdpZHRoIG9uIHRoZSB0YWJsZSBlbGVtZW50IGZvciB0YWJsZS1sYXlvdXQ6IGF1
dG8gdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggY2NkOWY2YTkzYjkzNGJjN2ViZTZhN2YxMmZlZTk2ODgz
ODcwOTE5MS4uNTU0M2U2MDFiZWIxYzYyNTc4ZDgwZjc3MjJiZmQ5NTM1NDJiODA1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMi0wMSAgQWxleGlzIE1lbmFyZCAgPGFs
ZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDU1NTdHlsZURlY2xhcmF0aW9u
LmdldFByb3BlcnR5UHJpb3JpdHkoKSBmYWlscyBmb3IgQ1NTIHNob3J0aGFuZCBwcm9wZXJ0aWVz
IHdpdGggJ2ltcG9ydGFudCcgcHJpb3JpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5MDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBL
bGluZy4KKworICAgICAgICBVcGRhdGUgdGhlIGNvZGUgYXMgZ2V0UHJvcGVydHlQcmlvcml0eSBo
YXMgYmVlbiByZW5hbWVkIHRvIHByb3BlcnR5SXNJbXBvcnRhbnQuCisKKyAgICAgICAgKiBBcGkv
cXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnN0eWxlUHJvcGVydHkpOgor
CiAyMDEyLTAxLTMxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcnkgdG8gZml4IFF0IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMTUxMTAxNGZjZWQwZjM2YzllNzBiOGJjYjll
MWE4MGZkYzMxZTlhNS4uYzdkNWQwNmY2YWM2ZjRkNWViNDJlMWMzNjBmN2ZmMjRlZDFlZmVjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24u
Y3BwCkBAIC02NTgsMTAgKzY1OCwyMSBAQCB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
OjpzZXROZWVkc1N0eWxlUmVjYWxjKCkKICAgICB9CiB9CiAKLWJvb2wgQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkoaW50IHByb3BlcnR5SUQpIGNvbnN0Citi
b29sIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpwcm9wZXJ0eUlzSW1wb3J0YW50KGludCBw
cm9wZXJ0eUlEKSBjb25zdAogewogICAgIGNvbnN0IENTU1Byb3BlcnR5KiBwcm9wZXJ0eSA9IGZp
bmRQcm9wZXJ0eVdpdGhJZChwcm9wZXJ0eUlEKTsKLSAgICByZXR1cm4gcHJvcGVydHkgPyBwcm9w
ZXJ0eS0+aXNJbXBvcnRhbnQoKSA6IGZhbHNlOworICAgIGlmIChwcm9wZXJ0eSkKKyAgICAgICAg
cmV0dXJuIHByb3BlcnR5LT5pc0ltcG9ydGFudCgpOworCisgICAgQ1NTUHJvcGVydHlMb25naGFu
ZCBsb25naGFuZHMgPSBsb25naGFuZEZvclByb3BlcnR5KHByb3BlcnR5SUQpOworICAgIGlmICgh
bG9uZ2hhbmRzLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbG9uZ2hhbmRzLmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgaWYg
KCFwcm9wZXJ0eUlzSW1wb3J0YW50KGxvbmdoYW5kcy5wcm9wZXJ0aWVzKClbaV0pKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogaW50IENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVNob3J0aGFuZChpbnQgcHJvcGVy
dHlJRCkgY29uc3QKQEAgLTc4OCw3ICs3OTksNyBAQCB2b2lkIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uOjphZGRQYXJzZWRQcm9wZXJ0eShjb25zdCBDU1NQcm9wZXJ0eSYgcHJvcGVydHkpCiAj
ZW5kaWYKIAogICAgIC8vIE9ubHkgYWRkIHByb3BlcnRpZXMgdGhhdCBoYXZlIG5vICFpbXBvcnRh
bnQgY291bnRlcnBhcnQgcHJlc2VudAotICAgIGlmICghZ2V0UHJvcGVydHlQcmlvcml0eShwcm9w
ZXJ0eS5pZCgpKSB8fCBwcm9wZXJ0eS5pc0ltcG9ydGFudCgpKSB7CisgICAgaWYgKCFwcm9wZXJ0
eUlzSW1wb3J0YW50KHByb3BlcnR5LmlkKCkpIHx8IHByb3BlcnR5LmlzSW1wb3J0YW50KCkpIHsK
ICAgICAgICAgcmVtb3ZlUHJvcGVydHkocHJvcGVydHkuaWQoKSwgZmFsc2UsIGZhbHNlKTsKICAg
ICAgICAgbV9wcm9wZXJ0aWVzLmFwcGVuZChwcm9wZXJ0eSk7CiAgICAgfQpAQCAtMTA0Niw3ICsx
MDU3LDcgQEAgU3RyaW5nIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVBy
aW9yaXR5KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW0KICAgICBpbnQgcHJvcGVydHlJRCA9IGNz
c1Byb3BlcnR5SUQocHJvcGVydHlOYW1lKTsKICAgICBpZiAoIXByb3BlcnR5SUQpCiAgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0
eUlEKSA/ICJpbXBvcnRhbnQiIDogIiI7CisgICAgcmV0dXJuIHByb3BlcnR5SXNJbXBvcnRhbnQo
cHJvcGVydHlJRCkgPyAiaW1wb3J0YW50IiA6ICIiOwogfQogCiBTdHJpbmcgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IFN0cmluZyYgcHJvcGVy
dHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uaAppbmRleCBiNTBkNTUxNjg2NWJjMWUzZTI0NDY3ZWMxOWFhYzEzMGVjZjdjODEyLi4yNTI0
NzIyZDRmNmRmMjMzNTFiNzBkZDVlMjE5YjA3MWMwYzg5NmNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaApAQCAtMzEsNiArMzEsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENTU1Byb3BlcnR5TG9uZ2hhbmQ7CiBjbGFz
cyBTdHlsZWRFbGVtZW50OwogCiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiA6IHB1
YmxpYyBDU1NTdHlsZURlY2xhcmF0aW9uIHsKQEAgLTY0LDcgKzY1LDcgQEAgcHVibGljOgogCiAg
ICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gZ2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVydHlJ
RCkgY29uc3Q7CiAgICAgU3RyaW5nIGdldFByb3BlcnR5VmFsdWUoaW50IHByb3BlcnR5SUQpIGNv
bnN0OwotICAgIGJvb2wgZ2V0UHJvcGVydHlQcmlvcml0eShpbnQgcHJvcGVydHlJRCkgY29uc3Q7
CisgICAgYm9vbCBwcm9wZXJ0eUlzSW1wb3J0YW50KGludCBwcm9wZXJ0eUlEKSBjb25zdDsKICAg
ICBpbnQgZ2V0UHJvcGVydHlTaG9ydGhhbmQoaW50IHByb3BlcnR5SUQpIGNvbnN0OwogICAgIGJv
b2wgaXNQcm9wZXJ0eUltcGxpY2l0KGludCBwcm9wZXJ0eUlEKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCmluZGV4IDFiY2Q2OWNkNTMwMGE4Zjg4YmQxZDIy
ZTkzMjZiZDY1MzAxNWE4ZWYuLjdlNTQ0MWQzYjU4YjA3OGZlNTYyMWM5Y2EzZjUyZDI2M2M1ZGJj
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKQEAgLTUyMSw5ICs1
MjEsOSBAQCBQYXNzUmVmUHRyPEVkaXRpbmdTdHlsZT4gRWRpdGluZ1N0eWxlOjpleHRyYWN0QW5k
UmVtb3ZlVGV4dERpcmVjdGlvbigpCiB7CiAgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gdGV4dERp
cmVjdGlvbiA9IEVkaXRpbmdTdHlsZTo6Y3JlYXRlKCk7CiAgICAgdGV4dERpcmVjdGlvbi0+bV9t
dXRhYmxlU3R5bGUgPSBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKCk7Ci0gICAg
dGV4dERpcmVjdGlvbi0+bV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VW5p
Y29kZUJpZGksIENTU1ZhbHVlRW1iZWQsIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9y
aXR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGkpKTsKKyAgICB0ZXh0RGlyZWN0aW9uLT5tX211dGFi
bGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2RlQmlkaSwgQ1NTVmFsdWVFbWJl
ZCwgbV9tdXRhYmxlU3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQoQ1NTUHJvcGVydHlVbmljb2Rl
QmlkaSkpOwogICAgIHRleHREaXJlY3Rpb24tPm1fbXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShD
U1NQcm9wZXJ0eURpcmVjdGlvbiwgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlEaXJlY3Rpb24pLAotICAgICAgICBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlQ
cmlvcml0eShDU1NQcm9wZXJ0eURpcmVjdGlvbikpOworICAgICAgICBtX211dGFibGVTdHlsZS0+
cHJvcGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eURpcmVjdGlvbikpOwogCiAgICAgbV9tdXRh
YmxlU3R5bGUtPnJlbW92ZVByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGkpOwogICAgIG1f
bXV0YWJsZVN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpcmVjdGlvbik7CkBAIC01
NzksNyArNTc5LDcgQEAgdm9pZCBFZGl0aW5nU3R5bGU6OmNvbGxhcHNlVGV4dERlY29yYXRpb25Q
cm9wZXJ0aWVzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHRleHREZWNvcmF0aW9uc0lu
RWZmZWN0LT5pc1ZhbHVlTGlzdCgpKQotICAgICAgICBtX211dGFibGVTdHlsZS0+c2V0UHJvcGVy
dHkoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgdGV4dERlY29yYXRpb25zSW5FZmZlY3QtPmNz
c1RleHQoKSwgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkoQ1NTUHJvcGVydHlU
ZXh0RGVjb3JhdGlvbikpOworICAgICAgICBtX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NT
UHJvcGVydHlUZXh0RGVjb3JhdGlvbiwgdGV4dERlY29yYXRpb25zSW5FZmZlY3QtPmNzc1RleHQo
KSwgbV9tdXRhYmxlU3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQoQ1NTUHJvcGVydHlUZXh0RGVj
b3JhdGlvbikpOwogICAgIGVsc2UKICAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnJlbW92ZVByb3Bl
cnR5KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pOwogICAgIG1fbXV0YWJsZVN0eWxlLT5yZW1v
dmVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KTsKQEAg
LTY2NSw3ICs2NjUsNyBAQCBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aElubGluZVN0
eWxlT2ZFbGVtZW50KFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQsIEVkaQogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5hcHBlbmQo
Q1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CiAgICAgICAgICAgICBpZiAoZXh0cmFjdGVkU3R5
bGUpCi0gICAgICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3Bl
cnR5VGV4dERlY29yYXRpb24sIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3Bl
cnR5VGV4dERlY29yYXRpb24pLCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShDU1NQ
cm9wZXJ0eVRleHREZWNvcmF0aW9uKSk7CisgICAgICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUt
PnNldFByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24sIGlubGluZVN0eWxlLT5nZXRQ
cm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pLCBpbmxpbmVTdHlsZS0+cHJv
cGVydHlJc0ltcG9ydGFudChDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKSk7CiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgfQogCkBAIC02NzcsNyArNjc3LDcgQEAgYm9vbCBFZGl0aW5n
U3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudChTdHlsZWRFbGVtZW50KiBl
bGVtZW50LCBFZGkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGNv
bmZsaWN0aW5nUHJvcGVydGllcy0+YXBwZW5kKENTU1Byb3BlcnR5RGlyZWN0aW9uKTsKICAgICAg
ICAgICAgIGlmIChleHRyYWN0ZWRTdHlsZSkKLSAgICAgICAgICAgICAgICBleHRyYWN0ZWRTdHls
ZS0+c2V0UHJvcGVydHkocHJvcGVydHlJRCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUo
cHJvcGVydHlJRCksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQp
KTsKKyAgICAgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJvcGVydHkocHJvcGVydHlJ
RCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJRCksIGlubGluZVN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5SUQpKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmICghY29uZmxpY3RpbmdQcm9wZXJ0aWVzKQpAQCAtNjg2LDcgKzY4Niw3IEBAIGJvb2wgRWRp
dGluZ1N0eWxlOjpjb25mbGljdHNXaXRoSW5saW5lU3R5bGVPZkVsZW1lbnQoU3R5bGVkRWxlbWVu
dCogZWxlbWVudCwgRWRpCiAgICAgICAgIGNvbmZsaWN0aW5nUHJvcGVydGllcy0+YXBwZW5kKHBy
b3BlcnR5SUQpOwogCiAgICAgICAgIGlmIChleHRyYWN0ZWRTdHlsZSkKLSAgICAgICAgICAgIGV4
dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVTdHlsZS0+Z2V0UHJv
cGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHko
cHJvcGVydHlJRCkpOworICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KHBy
b3BlcnR5SUQsIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5SUQpLCBpbmxp
bmVTdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChwcm9wZXJ0eUlEKSk7CiAgICAgfQogCiAgICAg
cmV0dXJuIGNvbmZsaWN0aW5nUHJvcGVydGllcyAmJiAhY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5p
c0VtcHR5KCk7CkBAIC0xMjIxLDEwICsxMjIxLDEwIEBAIFN0eWxlQ2hhbmdlOjpTdHlsZUNoYW5n
ZShFZGl0aW5nU3R5bGUqIHN0eWxlLCBjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCiBzdGF0aWMg
dm9pZCBzZXRUZXh0RGVjb3JhdGlvblByb3BlcnR5KENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KiBzdHlsZSwgY29uc3QgQ1NTVmFsdWVMaXN0KiBuZXdUZXh0RGVjb3JhdGlvbiwgaW50IHByb3Bl
cnR5SUQpCiB7CiAgICAgaWYgKG5ld1RleHREZWNvcmF0aW9uLT5sZW5ndGgoKSkKLSAgICAgICAg
c3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIG5ld1RleHREZWNvcmF0aW9uLT5jc3NUZXh0
KCksIHN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpKTsKKyAgICAgICAgc3R5
bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIG5ld1RleHREZWNvcmF0aW9uLT5jc3NUZXh0KCks
IHN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5SUQpKTsKICAgICBlbHNlIHsKICAg
ICAgICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lIGlzIHJlZHVuZGFudCBzaW5jZSBpdCBkb2Vz
IG5vdCByZW1vdmUgYW55IHRleHQgZGVjb3JhdGlvbnMuCi0gICAgICAgIEFTU0VSVCghc3R5bGUt
PmdldFByb3BlcnR5UHJpb3JpdHkocHJvcGVydHlJRCkpOworICAgICAgICBBU1NFUlQoIXN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5SUQpKTsKICAgICAgICAgc3R5bGUtPnJlbW92
ZVByb3BlcnR5KHByb3BlcnR5SUQpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvUmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvUmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcAppbmRleCBiMWI4OGEyMDY1ZjJj
OWI4NmEyMWM2NDBiYTUwYWUyY2ZhYTU2MDc5Li41NDA4ZTM5ZGFhMTc1OGI4MWUyN2UzOTMzZTZj
YjFmZDExNzdmNmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbW92ZUNT
U1Byb3BlcnR5Q29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW1vdmVD
U1NQcm9wZXJ0eUNvbW1hbmQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHZvaWQgUmVtb3ZlQ1NTUHJv
cGVydHlDb21tYW5kOjpkb0FwcGx5KCkKIHsKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
biogc3R5bGUgPSBtX2VsZW1lbnQtPmlubGluZVN0eWxlRGVjbCgpOwogICAgIG1fb2xkVmFsdWUg
PSBzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShtX3Byb3BlcnR5KTsKLSAgICBtX2ltcG9ydGFudCA9
IHN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KG1fcHJvcGVydHkpOworICAgIG1faW1wb3J0YW50
ID0gc3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQobV9wcm9wZXJ0eSk7CiAgICAgc3R5bGUtPnJl
bW92ZVByb3BlcnR5KG1fcHJvcGVydHkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVu
dC5jcHAKaW5kZXggNmIxODk5NDY2NjMxMmRiMGRjM2EwY2IxNjBhMGUwNmE5MGM1YzEwNC4uZDUy
N2ZmOThhZjgwNzgxZTUyYWQyYjA1NWE0NDQ4ODIzNWZmMWMzYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJlbGVtZW50LmNwcApAQCAtODUwLDcgKzg1MCw3IEBAIFFTdHJpbmcgUVdlYkVsZW1lbnQ6
OnN0eWxlUHJvcGVydHkoY29uc3QgUVN0cmluZyAmbmFtZSwgU3R5bGVSZXNvbHZlU3RyYXRlZ3kg
c3RyCiAgICAgICAgIHJldHVybiBzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpOwogCiAg
ICAgaWYgKHN0cmF0ZWd5ID09IENhc2NhZGVkU3R5bGUpIHsKLSAgICAgICAgaWYgKHN0eWxlLT5n
ZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BJRCkpCisgICAgICAgIGlmIChzdHlsZS0+cHJvcGVydHlJ
c0ltcG9ydGFudChwcm9wSUQpKQogICAgICAgICAgICAgcmV0dXJuIHN0eWxlLT5nZXRQcm9wZXJ0
eVZhbHVlKHByb3BJRCk7CiAKICAgICAgICAgLy8gV2UgYXJlIGdvaW5nIHRvIHJlc29sdmUgdGhl
IHN0eWxlIHByb3BlcnR5IGJ5IHdhbGtpbmcgdGhyb3VnaCB0aGUKQEAgLTg2Niw3ICs4NjYsNyBA
QCBRU3RyaW5nIFFXZWJFbGVtZW50OjpzdHlsZVByb3BlcnR5KGNvbnN0IFFTdHJpbmcgJm5hbWUs
IFN0eWxlUmVzb2x2ZVN0cmF0ZWd5IHN0cgogICAgICAgICAgICAgZm9yIChpbnQgaSA9IHJ1bGVz
LT5sZW5ndGgoKTsgaSA+IDA7IC0taSkgewogICAgICAgICAgICAgICAgIENTU1N0eWxlUnVsZSog
cnVsZSA9IHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KHJ1bGVzLT5pdGVtKGkgLSAxKSk7CiAK
LSAgICAgICAgICAgICAgICBpZiAocnVsZS0+ZGVjbGFyYXRpb24oKS0+Z2V0UHJvcGVydHlQcmlv
cml0eShwcm9wSUQpKQorICAgICAgICAgICAgICAgIGlmIChydWxlLT5kZWNsYXJhdGlvbigpLT5w
cm9wZXJ0eUlzSW1wb3J0YW50KHByb3BJRCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBy
dWxlLT5kZWNsYXJhdGlvbigpLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BJRCk7CiAKICAgICAgICAg
ICAgICAgICBpZiAoc3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcElEKS5pc0VtcHR5KCkpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZjAwMzMwMjc1MTRjMDdjYTEwMWEyMjY5NjEyMDhiZDVmYTE5NjEzNi4uOWU4NDBmZmUz
MWY3Njk5YWE3MDQxODEwMWZkY2FjYTFmNjc5NmFhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAyLTAxICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxz
IGZvciBDU1Mgc2hvcnRoYW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgICogZmFzdC9jc3Mv
c2hvcnRoYW5kLXByaW9yaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9j
c3Mvc2hvcnRoYW5kLXByaW9yaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTAxICBTemlsYXJk
IExlZGFuICA8TGVkYW4tTXVudGVhbi5TemlsYXJkQHN0dWQudS1zemVnZWQuaHU+CiAKICAgICAg
ICAgRml4ZWQgc29tZSBsaW5lcyBpbiB0aGUgZGF0ZS1jb25zdHJ1Y3Rvci5qcyB0ZXN0LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hvcnRoYW5kLXByaW9yaXR5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmUzNjZkYWMwMzg4OGY1ZDA4OWU3MjY4ZjNlNDBmY2Y4MjdiOTM1Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0
eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdHMgdGhhdCBxdWVyeWluZyB0aGUg
cHJpb3JpdHkgZm9yIGEgc2hvcnRoYW5kIHdvcmtzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1ib3R0b20tc3R5
bGUnKSBpcyAnc29saWQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVy
LWJvdHRvbS1zdHlsZScpIGlzICdpbXBvcnRhbnQnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnYm9yZGVyJykgaXMgJzIwcHggc29saWQgZ3JlZW4nCitQQVNTIGUuc3R5bGUuZ2V0UHJv
cGVydHlQcmlvcml0eSgnYm9yZGVyJykgaXMgJycKK1BBU1MgZS5zdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCdib3JkZXInKSBpcyAnMjBweCBzb2xpZCBncmVlbicKK1BBU1MgZS5zdHlsZS5nZXRQcm9w
ZXJ0eVByaW9yaXR5KCdib3JkZXInKSBpcyAnaW1wb3J0YW50JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c2hvcnRoYW5kLXByaW9yaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYzOTgzNWViMmE0NTVhYjM1NWU0
MTU3NGFlMmVlMjNhNDIwY2NjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3Nob3J0aGFuZC1wcmlvcml0eS5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBxdWVyeWluZyB0aGUgcHJp
b3JpdHkgZm9yIGEgc2hvcnRoYW5kIHdvcmtzLiIpOworCit2YXIgdGVzdENvbnRhaW5lciA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0
ZXN0Q29udGFpbmVyKTsKKwordGVzdENvbnRhaW5lci5pbm5lckhUTUwgPSAnPGRpdiBpZD0idGVz
dCI+aGVsbG88L2Rpdj4nOworCitlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsK
KworLy8gU2FuaXR5IGNoZWNrLgorZS5zdHlsZS5zZXRQcm9wZXJ0eSgiYm9yZGVyLWJvdHRvbS1z
dHlsZSIsICJzb2xpZCIsICIhaW1wb3J0YW50Iik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tLXN0eWxlJykiLCAiJ3NvbGlkJyIpOworc2hvdWxkQmUo
ImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9yZGVyLWJvdHRvbS1zdHlsZScpIiwgIidp
bXBvcnRhbnQnIik7CisKK2Uuc3R5bGUuYm9yZGVyQm90dG9tU3R5bGUgPSAiIjsKK2Uuc3R5bGUu
Ym9yZGVyID0gIjIwcHggc29saWQgZ3JlZW4iOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnYm9yZGVyJykiLCAiJzIwcHggc29saWQgZ3JlZW4nIik7CitzaG91bGRCZSgiZS5z
dHlsZS5nZXRQcm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSIsICInJyIpOworCitlLnN0eWxlLmJv
cmRlciA9ICIiOworZS5zdHlsZS5zZXRQcm9wZXJ0eSgiYm9yZGVyIiwgIjIwcHggc29saWQgZ3Jl
ZW4iLCAiIWltcG9ydGFudCIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
Ym9yZGVyJykiLCAiJzIwcHggc29saWQgZ3JlZW4nIik7CitzaG91bGRCZSgiZS5zdHlsZS5nZXRQ
cm9wZXJ0eVByaW9yaXR5KCdib3JkZXInKSIsICInaW1wb3J0YW50JyIpOworCitkb2N1bWVudC5i
b2R5LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124983</attachid>
            <date>2012-02-01 12:08:56 -0800</date>
            <delta_ts>2012-02-01 13:48:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-49058-20120201170844.patch</filename>
            <type>text/plain</type>
            <size>14750</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY3MWYzZGJmNTJhZGQy
MTJiOTNlOThhNTMyNDAwMjNmNDY5NjczYS4uYTA3NjRiODlkZTlmYzY5YjQyYWVmZWY3YTBjODRi
ZDBkOWRjYTUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIENTU1N0
eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxzIGZvciBDU1Mgc2hvcnRo
YW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
OjpnZXRQcm9wZXJ0eVByaW9yaXR5IHdhcyBub3QgaGFuZGxpbmcgc2hvcnRoYW5kcyBwcm9wZXJs
eS4gU2hvcnRoYW5kcyBhcmUKKyAgICAgICAgbm90IHBhcnQgb2YgdGhlIHByb3BlcnR5IGxpc3Qg
b2YgdGhlIHN0eWxlIHNvIHdlIG5lZWQgdG8gcXVlcnkgdGhlIGxvbmdoYW5kcyB3aGljaCBhcmUg
dGhlIG9uZSBhZGRlZAorICAgICAgICBpbiB0aGUgbGlzdC4gT25seSBpZiB0aGUgbG9uZ2hhbmRz
IGhhdmUgZXF1YWwgcHJpb3JpdHkgdGhlIHNob3J0aGFuZCBwcmlvcml0eSBpcyBrbm93bi4gSSBh
bHNvIHJlbmFtZWQKKyAgICAgICAgZ2V0UHJvcGVydHlQcmlvcml0eSAobm90IHRoZSBDU1NPTSBl
eHBvc2VkIG1ldGhvZCkgdG8gc29tZXRoaW5nIG1vcmUgY29uc2lzdGVudCB3aXRoIFdlYktpdCBu
YW1pbmcgZ3VpZGVsaW5lcy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zaG9ydGhhbmQtcHJp
b3JpdHkuaHRtbAorCisgICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpwcm9wZXJ0
eUlzSW1wb3J0YW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uOjphZGRQYXJzZWRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlvcml0eSk6CisgICAgICAgICogY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbik6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWRpdGluZ1N0eWxlOjpleHRyYWN0QW5kUmVtb3ZlVGV4dERpcmVjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0aW5nU3R5bGU6OmNvbGxhcHNlVGV4dERlY29yYXRpb25Qcm9wZXJ0
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aElubGlu
ZVN0eWxlT2ZFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnNldFRleHREZWNvcmF0aW9uUHJv
cGVydHkpOgorICAgICAgICAqIGVkaXRpbmcvUmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbW92ZUNTU1Byb3BlcnR5Q29tbWFuZDo6ZG9BcHBseSk6CisK
IDIwMTItMDItMDEgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgogCiAgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBmaXhlZCBhbmQgcGVyY2VudCBtaW4td2lkdGggb24gdGhlIHRhYmxl
IGVsZW1lbnQgZm9yIHRhYmxlLWxheW91dDogYXV0byB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBjY2Q5
ZjZhOTNiOTM0YmM3ZWJlNmE3ZjEyZmVlOTY4ODM4NzA5MTkxLi41NTQzZTYwMWJlYjFjNjI1Nzhk
ODBmNzcyMmJmZDk1MzU0MmI4MDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEyLTAyLTAxICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb24uZ2V0UHJvcGVydHlQcmlvcml0eSgpIGZhaWxz
IGZvciBDU1Mgc2hvcnRoYW5kIHByb3BlcnRpZXMgd2l0aCAnaW1wb3J0YW50JyBwcmlvcml0eQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDkwNTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIFVwZGF0ZSB0aGUg
Y29kZSBhcyBnZXRQcm9wZXJ0eVByaW9yaXR5IGhhcyBiZWVuIHJlbmFtZWQgdG8gcHJvcGVydHlJ
c0ltcG9ydGFudC4KKworICAgICAgICAqIEFwaS9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgIChR
V2ViRWxlbWVudDo6c3R5bGVQcm9wZXJ0eSk6CisKIDIwMTItMDEtMzEgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggUXQgYnVpbGQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRl
eCAxNTExMDE0ZmNlZDBmMzZjOWU3MGI4YmNiOWUxYTgwZmRjMzFlOWE1Li5jN2Q1ZDA2ZjZhYzZm
NGQ1ZWI0MmUxYzM2MGY3ZmYyNGVkMWVmZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTY1OCwxMCArNjU4LDIxIEBAIHZv
aWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OnNldE5lZWRzU3R5bGVSZWNhbGMoKQogICAg
IH0KIH0KIAotYm9vbCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlQcmlv
cml0eShpbnQgcHJvcGVydHlJRCkgY29uc3QKK2Jvb2wgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b246OnByb3BlcnR5SXNJbXBvcnRhbnQoaW50IHByb3BlcnR5SUQpIGNvbnN0CiB7CiAgICAgY29u
c3QgQ1NTUHJvcGVydHkqIHByb3BlcnR5ID0gZmluZFByb3BlcnR5V2l0aElkKHByb3BlcnR5SUQp
OwotICAgIHJldHVybiBwcm9wZXJ0eSA/IHByb3BlcnR5LT5pc0ltcG9ydGFudCgpIDogZmFsc2U7
CisgICAgaWYgKHByb3BlcnR5KQorICAgICAgICByZXR1cm4gcHJvcGVydHktPmlzSW1wb3J0YW50
KCk7CisKKyAgICBDU1NQcm9wZXJ0eUxvbmdoYW5kIGxvbmdoYW5kcyA9IGxvbmdoYW5kRm9yUHJv
cGVydHkocHJvcGVydHlJRCk7CisgICAgaWYgKCFsb25naGFuZHMubGVuZ3RoKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsb25naGFuZHMu
bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBpZiAoIXByb3BlcnR5SXNJbXBvcnRhbnQobG9uZ2hh
bmRzLnByb3BlcnRpZXMoKVtpXSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
ICAgIHJldHVybiB0cnVlOwogfQogCiBpbnQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5U2hvcnRoYW5kKGludCBwcm9wZXJ0eUlEKSBjb25zdApAQCAtNzg4LDcgKzc5OSw3
IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmFkZFBhcnNlZFByb3BlcnR5KGNv
bnN0IENTU1Byb3BlcnR5JiBwcm9wZXJ0eSkKICNlbmRpZgogCiAgICAgLy8gT25seSBhZGQgcHJv
cGVydGllcyB0aGF0IGhhdmUgbm8gIWltcG9ydGFudCBjb3VudGVycGFydCBwcmVzZW50Ci0gICAg
aWYgKCFnZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5LmlkKCkpIHx8IHByb3BlcnR5LmlzSW1w
b3J0YW50KCkpIHsKKyAgICBpZiAoIXByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHkuaWQoKSkg
fHwgcHJvcGVydHkuaXNJbXBvcnRhbnQoKSkgewogICAgICAgICByZW1vdmVQcm9wZXJ0eShwcm9w
ZXJ0eS5pZCgpLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICBtX3Byb3BlcnRpZXMuYXBwZW5kKHBy
b3BlcnR5KTsKICAgICB9CkBAIC0xMDQ2LDcgKzEwNTcsNyBAQCBTdHJpbmcgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5UHJpb3JpdHkoY29uc3QgU3RyaW5nJiBwcm9wZXJ0
eU5hbQogICAgIGludCBwcm9wZXJ0eUlEID0gY3NzUHJvcGVydHlJRChwcm9wZXJ0eU5hbWUpOwog
ICAgIGlmICghcHJvcGVydHlJRCkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVy
biBnZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpID8gImltcG9ydGFudCIgOiAiIjsKKyAg
ICByZXR1cm4gcHJvcGVydHlJc0ltcG9ydGFudChwcm9wZXJ0eUlEKSA/ICJpbXBvcnRhbnQiIDog
IiI7CiB9CiAKIFN0cmluZyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlT
aG9ydGhhbmQoY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IGI1MGQ1NTE2ODY1YmMxZTNl
MjQ0NjdlYzE5YWFjMTMwZWNmN2M4MTIuLjczYWY0OWYyZWEyYmVmZGIwZjA1YzBkY2I2ZTE1NDc0
ZmU5NGVhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IGdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcnR5SUQpIGNvbnN0OwogICAgIFN0
cmluZyBnZXRQcm9wZXJ0eVZhbHVlKGludCBwcm9wZXJ0eUlEKSBjb25zdDsKLSAgICBib29sIGdl
dFByb3BlcnR5UHJpb3JpdHkoaW50IHByb3BlcnR5SUQpIGNvbnN0OworICAgIGJvb2wgcHJvcGVy
dHlJc0ltcG9ydGFudChpbnQgcHJvcGVydHlJRCkgY29uc3Q7CiAgICAgaW50IGdldFByb3BlcnR5
U2hvcnRoYW5kKGludCBwcm9wZXJ0eUlEKSBjb25zdDsKICAgICBib29sIGlzUHJvcGVydHlJbXBs
aWNpdChpbnQgcHJvcGVydHlJRCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGlu
Z1N0eWxlLmNwcAppbmRleCAxYmNkNjljZDUzMDBhOGY4OGJkMWQyMmU5MzI2YmQ2NTMwMTVhOGVm
Li43ZTU0NDFkM2I1OGIwNzhmZTU2MjFjOWNhM2Y1MmQyNjNjNWRiY2QyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCkBAIC01MjEsOSArNTIxLDkgQEAgUGFzc1JlZlB0
cjxFZGl0aW5nU3R5bGU+IEVkaXRpbmdTdHlsZTo6ZXh0cmFjdEFuZFJlbW92ZVRleHREaXJlY3Rp
b24oKQogewogICAgIFJlZlB0cjxFZGl0aW5nU3R5bGU+IHRleHREaXJlY3Rpb24gPSBFZGl0aW5n
U3R5bGU6OmNyZWF0ZSgpOwogICAgIHRleHREaXJlY3Rpb24tPm1fbXV0YWJsZVN0eWxlID0gQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNyZWF0ZSgpOwotICAgIHRleHREaXJlY3Rpb24tPm1f
bXV0YWJsZVN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpLCBDU1NWYWx1
ZUVtYmVkLCBtX211dGFibGVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShDU1NQcm9wZXJ0eVVu
aWNvZGVCaWRpKSk7CisgICAgdGV4dERpcmVjdGlvbi0+bV9tdXRhYmxlU3R5bGUtPnNldFByb3Bl
cnR5KENTU1Byb3BlcnR5VW5pY29kZUJpZGksIENTU1ZhbHVlRW1iZWQsIG1fbXV0YWJsZVN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KENTU1Byb3BlcnR5VW5pY29kZUJpZGkpKTsKICAgICB0ZXh0
RGlyZWN0aW9uLT5tX211dGFibGVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rp
b24sIG1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5RGlyZWN0aW9u
KSwKLSAgICAgICAgbV9tdXRhYmxlU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkoQ1NTUHJvcGVy
dHlEaXJlY3Rpb24pKTsKKyAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnByb3BlcnR5SXNJbXBvcnRh
bnQoQ1NTUHJvcGVydHlEaXJlY3Rpb24pKTsKIAogICAgIG1fbXV0YWJsZVN0eWxlLT5yZW1vdmVQ
cm9wZXJ0eShDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpKTsKICAgICBtX211dGFibGVTdHlsZS0+cmVt
b3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwpAQCAtNTc5LDcgKzU3OSw3IEBAIHZv
aWQgRWRpdGluZ1N0eWxlOjpjb2xsYXBzZVRleHREZWNvcmF0aW9uUHJvcGVydGllcygpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmICh0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdC0+aXNWYWx1ZUxp
c3QoKSkKLSAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VGV4
dERlY29yYXRpb24sIHRleHREZWNvcmF0aW9uc0luRWZmZWN0LT5jc3NUZXh0KCksIG1fbXV0YWJs
ZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsK
KyAgICAgICAgbV9tdXRhYmxlU3R5bGUtPnNldFByb3BlcnR5KENTU1Byb3BlcnR5VGV4dERlY29y
YXRpb24sIHRleHREZWNvcmF0aW9uc0luRWZmZWN0LT5jc3NUZXh0KCksIG1fbXV0YWJsZVN0eWxl
LT5wcm9wZXJ0eUlzSW1wb3J0YW50KENTU1Byb3BlcnR5VGV4dERlY29yYXRpb24pKTsKICAgICBl
bHNlCiAgICAgICAgIG1fbXV0YWJsZVN0eWxlLT5yZW1vdmVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRl
eHREZWNvcmF0aW9uKTsKICAgICBtX211dGFibGVTdHlsZS0+cmVtb3ZlUHJvcGVydHkoQ1NTUHJv
cGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCk7CkBAIC02NjUsNyArNjY1LDcgQEAg
Ym9vbCBFZGl0aW5nU3R5bGU6OmNvbmZsaWN0c1dpdGhJbmxpbmVTdHlsZU9mRWxlbWVudChTdHls
ZWRFbGVtZW50KiBlbGVtZW50LCBFZGkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIGNvbmZsaWN0aW5nUHJvcGVydGllcy0+YXBwZW5kKENTU1Byb3BlcnR5VGV4dERl
Y29yYXRpb24pOwogICAgICAgICAgICAgaWYgKGV4dHJhY3RlZFN0eWxlKQotICAgICAgICAgICAg
ICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
LCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9u
KSwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5UHJpb3JpdHkoQ1NTUHJvcGVydHlUZXh0RGVjb3Jh
dGlvbikpOworICAgICAgICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVRleHREZWNvcmF0aW9uLCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQ
cm9wZXJ0eVRleHREZWNvcmF0aW9uKSwgaW5saW5lU3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQo
Q1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbikpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KIApAQCAtNjc3LDcgKzY3Nyw3IEBAIGJvb2wgRWRpdGluZ1N0eWxlOjpjb25mbGljdHNX
aXRoSW5saW5lU3R5bGVPZkVsZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCwgRWRpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBjb25mbGljdGluZ1Byb3BlcnRp
ZXMtPmFwcGVuZChDU1NQcm9wZXJ0eURpcmVjdGlvbik7CiAgICAgICAgICAgICBpZiAoZXh0cmFj
dGVkU3R5bGUpCi0gICAgICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KHBy
b3BlcnR5SUQsIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5SUQpLCBpbmxp
bmVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgICAgICAg
ICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KHByb3BlcnR5SUQsIGlubGluZVN0eWxlLT5n
ZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5SUQpLCBpbmxpbmVTdHlsZS0+cHJvcGVydHlJc0ltcG9y
dGFudChwcm9wZXJ0eUlEKSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIWNvbmZsaWN0aW5n
UHJvcGVydGllcykKQEAgLTY4Niw3ICs2ODYsNyBAQCBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxp
Y3RzV2l0aElubGluZVN0eWxlT2ZFbGVtZW50KFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQsIEVkaQog
ICAgICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFwcGVuZChwcm9wZXJ0eUlEKTsKIAogICAg
ICAgICBpZiAoZXh0cmFjdGVkU3R5bGUpCi0gICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0
UHJvcGVydHkocHJvcGVydHlJRCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVy
dHlJRCksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpKTsKKyAg
ICAgICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVT
dHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPnByb3BlcnR5
SXNJbXBvcnRhbnQocHJvcGVydHlJRCkpOwogICAgIH0KIAogICAgIHJldHVybiBjb25mbGljdGlu
Z1Byb3BlcnRpZXMgJiYgIWNvbmZsaWN0aW5nUHJvcGVydGllcy0+aXNFbXB0eSgpOwpAQCAtMTIy
MSwxMCArMTIyMSwxMCBAQCBTdHlsZUNoYW5nZTo6U3R5bGVDaGFuZ2UoRWRpdGluZ1N0eWxlKiBz
dHlsZSwgY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKQogc3RhdGljIHZvaWQgc2V0VGV4dERlY29y
YXRpb25Qcm9wZXJ0eShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUsIGNvbnN0IENT
U1ZhbHVlTGlzdCogbmV3VGV4dERlY29yYXRpb24sIGludCBwcm9wZXJ0eUlEKQogewogICAgIGlm
IChuZXdUZXh0RGVjb3JhdGlvbi0+bGVuZ3RoKCkpCi0gICAgICAgIHN0eWxlLT5zZXRQcm9wZXJ0
eShwcm9wZXJ0eUlELCBuZXdUZXh0RGVjb3JhdGlvbi0+Y3NzVGV4dCgpLCBzdHlsZS0+Z2V0UHJv
cGVydHlQcmlvcml0eShwcm9wZXJ0eUlEKSk7CisgICAgICAgIHN0eWxlLT5zZXRQcm9wZXJ0eShw
cm9wZXJ0eUlELCBuZXdUZXh0RGVjb3JhdGlvbi0+Y3NzVGV4dCgpLCBzdHlsZS0+cHJvcGVydHlJ
c0ltcG9ydGFudChwcm9wZXJ0eUlEKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIHRleHQtZGVj
b3JhdGlvbjogbm9uZSBpcyByZWR1bmRhbnQgc2luY2UgaXQgZG9lcyBub3QgcmVtb3ZlIGFueSB0
ZXh0IGRlY29yYXRpb25zLgotICAgICAgICBBU1NFUlQoIXN0eWxlLT5nZXRQcm9wZXJ0eVByaW9y
aXR5KHByb3BlcnR5SUQpKTsKKyAgICAgICAgQVNTRVJUKCFzdHlsZS0+cHJvcGVydHlJc0ltcG9y
dGFudChwcm9wZXJ0eUlEKSk7CiAgICAgICAgIHN0eWxlLT5yZW1vdmVQcm9wZXJ0eShwcm9wZXJ0
eUlEKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbW92
ZUNTU1Byb3BlcnR5Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlbW92ZUNT
U1Byb3BlcnR5Q29tbWFuZC5jcHAKaW5kZXggYjFiODhhMjA2NWYyYzliODZhMjFjNjQwYmE1MGFl
MmNmYWE1NjA3OS4uNTQwOGUzOWRhYTE3NThiODFlMjdlMzkzM2U2Y2IxZmQxMTc3ZjZiYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5k
LmNwcApAQCAtNDQsNyArNDQsNyBAQCB2b2lkIFJlbW92ZUNTU1Byb3BlcnR5Q29tbWFuZDo6ZG9B
cHBseSgpCiB7CiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlID0gbV9lbGVt
ZW50LT5pbmxpbmVTdHlsZURlY2woKTsKICAgICBtX29sZFZhbHVlID0gc3R5bGUtPmdldFByb3Bl
cnR5VmFsdWUobV9wcm9wZXJ0eSk7Ci0gICAgbV9pbXBvcnRhbnQgPSBzdHlsZS0+Z2V0UHJvcGVy
dHlQcmlvcml0eShtX3Byb3BlcnR5KTsKKyAgICBtX2ltcG9ydGFudCA9IHN0eWxlLT5wcm9wZXJ0
eUlzSW1wb3J0YW50KG1fcHJvcGVydHkpOwogICAgIHN0eWxlLT5yZW1vdmVQcm9wZXJ0eShtX3By
b3BlcnR5KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCmluZGV4IDZiMTg5
OTQ2NjYzMTJkYjBkYzNhMGNiMTYwYTBlMDZhOTBjNWMxMDQuLmQ1MjdmZjk4YWY4MDc4MWU1MmFk
MmIwNTVhNDQ0ODgyMzVmZjFjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJlbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAK
QEAgLTg1MCw3ICs4NTAsNyBAQCBRU3RyaW5nIFFXZWJFbGVtZW50OjpzdHlsZVByb3BlcnR5KGNv
bnN0IFFTdHJpbmcgJm5hbWUsIFN0eWxlUmVzb2x2ZVN0cmF0ZWd5IHN0cgogICAgICAgICByZXR1
cm4gc3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcElEKTsKIAogICAgIGlmIChzdHJhdGVneSA9
PSBDYXNjYWRlZFN0eWxlKSB7Ci0gICAgICAgIGlmIChzdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0
eShwcm9wSUQpKQorICAgICAgICBpZiAoc3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcElE
KSkKICAgICAgICAgICAgIHJldHVybiBzdHlsZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpOwog
CiAgICAgICAgIC8vIFdlIGFyZSBnb2luZyB0byByZXNvbHZlIHRoZSBzdHlsZSBwcm9wZXJ0eSBi
eSB3YWxraW5nIHRocm91Z2ggdGhlCkBAIC04NjYsNyArODY2LDcgQEAgUVN0cmluZyBRV2ViRWxl
bWVudDo6c3R5bGVQcm9wZXJ0eShjb25zdCBRU3RyaW5nICZuYW1lLCBTdHlsZVJlc29sdmVTdHJh
dGVneSBzdHIKICAgICAgICAgICAgIGZvciAoaW50IGkgPSBydWxlcy0+bGVuZ3RoKCk7IGkgPiAw
OyAtLWkpIHsKICAgICAgICAgICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUgPSBzdGF0aWNfY2Fz
dDxDU1NTdHlsZVJ1bGUqPihydWxlcy0+aXRlbShpIC0gMSkpOwogCi0gICAgICAgICAgICAgICAg
aWYgKHJ1bGUtPmRlY2xhcmF0aW9uKCktPmdldFByb3BlcnR5UHJpb3JpdHkocHJvcElEKSkKKyAg
ICAgICAgICAgICAgICBpZiAocnVsZS0+ZGVjbGFyYXRpb24oKS0+cHJvcGVydHlJc0ltcG9ydGFu
dChwcm9wSUQpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcnVsZS0+ZGVjbGFyYXRpb24o
KS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wSUQpOwogCiAgICAgICAgICAgICAgICAgaWYgKHN0eWxl
LT5nZXRQcm9wZXJ0eVZhbHVlKHByb3BJRCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYwMDMzMDI3NTE0
YzA3Y2ExMDFhMjI2OTYxMjA4YmQ1ZmExOTYxMzYuLjllODQwZmZlMzFmNzY5OWFhNzA0MTgxMDFm
ZGNhY2ExZjY3OTZhYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0wMSAgQWxleGlz
IE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDU1NTdHls
ZURlY2xhcmF0aW9uLmdldFByb3BlcnR5UHJpb3JpdHkoKSBmYWlscyBmb3IgQ1NTIHNob3J0aGFu
ZCBwcm9wZXJ0aWVzIHdpdGggJ2ltcG9ydGFudCcgcHJpb3JpdHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MDU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQW5kcmVhcyBLbGluZy4KKworICAgICAgICAqIGZhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Nob3J0aGFuZC1wcmlv
cml0eS5odG1sOiBBZGRlZC4KKwogMjAxMi0wMi0wMSAgU3ppbGFyZCBMZWRhbiAgPExlZGFuLU11
bnRlYW4uU3ppbGFyZEBzdHVkLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIEZpeGVkIHNvbWUgbGlu
ZXMgaW4gdGhlIGRhdGUtY29uc3RydWN0b3IuanMgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJl
MzY2ZGFjMDM4ODhmNWQwODllNzI2OGYzZTQwZmNmODI3YjkzNTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJpb3JpdHktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTUgQEAKK1Rlc3RzIHRoYXQgcXVlcnlpbmcgdGhlIHByaW9yaXR5IGZvciBhIHNo
b3J0aGFuZCB3b3Jrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZS5z
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tLXN0eWxlJykgaXMgJ3NvbGlkJwor
UEFTUyBlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2JvcmRlci1ib3R0b20tc3R5bGUnKSBp
cyAnaW1wb3J0YW50JworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIGlz
ICcyMHB4IHNvbGlkIGdyZWVuJworUEFTUyBlLnN0eWxlLmdldFByb3BlcnR5UHJpb3JpdHkoJ2Jv
cmRlcicpIGlzICcnCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykgaXMg
JzIwcHggc29saWQgZ3JlZW4nCitQQVNTIGUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYm9y
ZGVyJykgaXMgJ2ltcG9ydGFudCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhh
bmQtcHJpb3JpdHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Nob3J0aGFuZC1wcmlvcml0
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI2Mzk4MzVlYjJhNDU1YWIzNTVlNDE1NzRhZTJlZTIzYTQyMGNj
Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaG9ydGhhbmQtcHJp
b3JpdHkuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKwor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcXVlcnlpbmcgdGhlIHByaW9yaXR5IGZvciBhIHNob3J0
aGFuZCB3b3Jrcy4iKTsKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisK
K3Rlc3RDb250YWluZXIuaW5uZXJIVE1MID0gJzxkaXYgaWQ9InRlc3QiPmhlbGxvPC9kaXY+JzsK
KworZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisKKy8vIFNhbml0eSBjaGVj
ay4KK2Uuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1ib3R0b20tc3R5bGUiLCAic29saWQiLCAi
IWltcG9ydGFudCIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVy
LWJvdHRvbS1zdHlsZScpIiwgIidzb2xpZCciKTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3Bl
cnR5UHJpb3JpdHkoJ2JvcmRlci1ib3R0b20tc3R5bGUnKSIsICInaW1wb3J0YW50JyIpOworCitl
LnN0eWxlLmJvcmRlckJvdHRvbVN0eWxlID0gIiI7CitlLnN0eWxlLmJvcmRlciA9ICIyMHB4IHNv
bGlkIGdyZWVuIjsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicp
IiwgIicyMHB4IHNvbGlkIGdyZWVuJyIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQ
cmlvcml0eSgnYm9yZGVyJykiLCAiJyciKTsKKworZS5zdHlsZS5ib3JkZXIgPSAiIjsKK2Uuc3R5
bGUuc2V0UHJvcGVydHkoImJvcmRlciIsICIyMHB4IHNvbGlkIGdyZWVuIiwgIiFpbXBvcnRhbnQi
KTsKK3Nob3VsZEJlKCJlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlcicpIiwgIicyMHB4
IHNvbGlkIGdyZWVuJyIpOworc2hvdWxkQmUoImUuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgn
Ym9yZGVyJykiLCAiJ2ltcG9ydGFudCciKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
ZXN0Q29udGFpbmVyKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>