<?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>75841</bug_id>
          
          <creation_ts>2012-01-09 04:00:01 -0800</creation_ts>
          <short_desc>Extend CSSValueList to allow slash separated lists.</short_desc>
          <delta_ts>2012-01-09 05:48:58 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>532080</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-09 04:00:01 -0800</bug_when>
    <thetext>Extend CSSValueList to allow slash separated lists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532081</commentid>
    <comment_count>1</comment_count>
      <attachid>121642</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-09 04:04:19 -0800</bug_when>
    <thetext>Created attachment 121642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532084</commentid>
    <comment_count>2</comment_count>
      <attachid>121643</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-09 04:07:54 -0800</bug_when>
    <thetext>Created attachment 121643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532091</commentid>
    <comment_count>3</comment_count>
      <attachid>121643</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-09 04:29:16 -0800</bug_when>
    <thetext>Comment on attachment 121643
Patch

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

Great solution to the bit shortage, just needs a bit of polish.

&gt; Source/WebCore/css/CSSInitialValue.h:51
&gt; +    bool m_isImplicit : 1;

No need for this to be a bitfield.

&gt; Source/WebCore/css/CSSValue.h:161
&gt; +        , m_valueListSeparator(CommaSeparator)

SpaceSeparator strikes me as a slightly more suitable default value here, since that would make all fields 0 in a newly constructed CSSValue.
The actual value doesn&apos;t matter anyway since all CSSValueList constructors overwrite it.

&gt; Source/WebCore/css/CSSValue.h:184
&gt; +    unsigned char m_valueListSeparator : ValueListSeparatorBits; // CSSValueList type

The &quot;// CSSValueList type&quot; comment adds nothing.

&gt; Source/WebCore/css/CSSValueList.cpp:129
&gt; -            if (isSpaceSeparated())
&gt; +            switch (m_valueListSeparator) {
&gt; +            case SpaceSeparator:
&gt;                  result += &quot; &quot;;
&gt; -            else
&gt; +                break;
&gt; +            case CommaSeparator:
&gt;                  result += &quot;, &quot;;
&gt; +                break;
&gt; +            case SlashSeparator:
&gt; +                result += &quot; / &quot;;
&gt; +                break;
&gt; +            default:
&gt; +                ASSERT_NOT_REACHED();
&gt; +            }

There&apos;s no need for this to be inside the loop. We can determine the right separator string beforehand and store it in a String.

&gt; Source/WebCore/css/CSSValueList.h:45
&gt; +    static PassRefPtr&lt;CSSValueList&gt; createSlashSeparated()
&gt; +    {
&gt; +        return adoptRef(new CSSValueList(SlashSeparator));
&gt;      }

We shouldn&apos;t add a create*() method if we&apos;re not going to use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532101</commentid>
    <comment_count>4</comment_count>
      <attachid>121646</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-09 04:48:28 -0800</bug_when>
    <thetext>Created attachment 121646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532105</commentid>
    <comment_count>5</comment_count>
      <attachid>121646</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-09 05:00:52 -0800</bug_when>
    <thetext>Comment on attachment 121646
Patch

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

r=me

&gt; Source/WebCore/css/CSSValue.h:183
&gt; +    unsigned char m_valueListSeparator : ValueListSeparatorBits; // CSSValueList type

Unnecessary comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532106</commentid>
    <comment_count>6</comment_count>
      <attachid>121648</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-09 05:06:01 -0800</bug_when>
    <thetext>Created attachment 121648
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532120</commentid>
    <comment_count>7</comment_count>
      <attachid>121648</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-09 05:48:53 -0800</bug_when>
    <thetext>Comment on attachment 121648
Patch for landing

Clearing flags on attachment: 121648

Committed r104452: &lt;http://trac.webkit.org/changeset/104452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532122</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-09 05:48:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121642</attachid>
            <date>2012-01-09 04:04:19 -0800</date>
            <delta_ts>2012-01-09 04:07:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75841-20120109090411.patch</filename>
            <type>text/plain</type>
            <size>10590</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3YWY2NjNiNGM2ZGI3
ZTljZTZlNWQwYjM4NGJjYWMyM2VlYjBjMy4uMTJmODFkMDMxOWU4YmU0MjZjMDhkYmE2MDc0ZWQy
YjhjOGI5YWNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAxLTA5ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEV4dGVu
ZCBDU1NWYWx1ZUxpc3QgdG8gYWxsb3cgc2xhc2ggc2VwYXJhdGVkIGxpc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNdWx0aXBsZSBDU1MgcHJvcGVy
dGllcyBhcmUgdXNpbmcgc2xhc2ggdG8gc2VwYXJhdGUKKyAgICAgICAgdmFyaW91cyBwYXJ0cyAo
ZS5nLiBib3JkZXItcmFkaXVzKSBzbyBoYXZpbmcgdGhpcworICAgICAgICBmZWF0dXJlIGF2YWls
YWJsZSBpbiBDU1NWYWx1ZUxpc3Qgd2lsbCBtYWtlIGl0IGVhc2llcgorICAgICAgICBpbiB0aGUg
ZnV0dXJlIHRvIHN1cHBvcnQgdGhlc2UgcHJvcGVydGllcy4KKworICAgICAgICBObyBuZXcgdGVz
dHMgOiBleGlzdGluZyBvbmUgc2hvdWxkIGNvdmVyIHRoZSByZWZhY3Rvci4KKworICAgICAgICAq
IGNzcy9DU1NJbml0aWFsVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0luaXRpYWxWYWx1
ZTo6aXNJbXBsaWNpdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbml0aWFsVmFsdWU6OkNTU0lu
aXRpYWxWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlOjppc0ltcGxpY2l0SW5pdGlhbFZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWUuaDoKKyAgICAgICAgSW4gb3JkZXIgZm9yIENTU1ZhbHVlIHRvIG5vdCBncm93IEkgbW92
ZWQgbV9pc0ltcGxpY2l0SW5pdGlhbFZhbHVlCisgICAgICAgIGJhY2sgdG8gQ1NTSW5pdGlhbFZh
bHVlIGFzIHRoaXMgb2JqZWN0IGlzIHVzZWQgb25seSBpbiBDU1NWYWx1ZVBvb2wKKyAgICAgICAg
YW5kIGlzIGFsbG9jYXRlZCBvbmx5IHR3aWNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OkNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlTGlzdDo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OmN1c3Rv
bUNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNsYXNoU2VwYXJhdGVkKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVy
VmFsdWU6OldlYktpdENTU0ZpbHRlclZhbHVlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWU6OldlYktpdENTU1RyYW5zZm9ybVZhbHVlKToKKwogMjAxMi0wMS0wOSAgTWFyaW8gU2FuY2hl
eiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0d0a10gUmVncmVzc2lv
bjogdGV4dC1pbnNlcnRlZCBldmVudHMgbGFjayB0ZXh0IGluc2VydGVkIGFuZCBjdXJyZW50IGxp
bmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaAppbmRleCBmNTg4ODkwM2IxNmEyMDk3
YjI4NWFiODAwNGY4NjBmMmFmOThlMDVmLi41NTJmY2M5MTgxNTI1ZmZkZjRmMmUzZjJhNWFlNjli
NzQ2ODIxYWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oCkBAIC0zOSwxMiAr
MzksMTYgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKIAor
ICAgIGJvb2wgaXNJbXBsaWNpdCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbXBsaWNpdDsgfQorCiBw
cml2YXRlOgogICAgIENTU0luaXRpYWxWYWx1ZShib29sIGltcGxpY2l0KQogICAgICAgICA6IENT
U1ZhbHVlKEluaXRpYWxDbGFzcykKKyAgICAgICAgLCBtX2lzSW1wbGljaXQoaW1wbGljaXQpCiAg
ICAgewotICAgICAgICBtX2lzSW1wbGljaXRJbml0aWFsVmFsdWUgPSBpbXBsaWNpdDsKICAgICB9
CisKKyAgICBib29sIG1faXNJbXBsaWNpdCA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAwZTgzYzA4MThlYzFkMzA3M2EwZjUzZmI5
Y2JkOTEwMGNlZDkzMDM3Li43MTFlNGM1ZWRhOGRmNzQ1NWFiYTAwMzBhMjYzNzNjMGE4ZWVhNmYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTY1LDYgKzY1LDExIEBAIGNsYXNzIFNhbWVT
aXplQXNDU1NWYWx1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNhbWVTaXplQXNDU1NWYWx1ZT4gewog
CiBDT01QSUxFX0FTU0VSVChzaXplb2YoQ1NTVmFsdWUpID09IHNpemVvZihTYW1lU2l6ZUFzQ1NT
VmFsdWUpLCBDU1NfdmFsdWVfc2hvdWxkX3N0YXlfc21hbGwpOwogCitib29sIENTU1ZhbHVlOjpp
c0ltcGxpY2l0SW5pdGlhbFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jbGFzc1R5cGUg
PT0gSW5pdGlhbENsYXNzICYmIHN0YXRpY19jYXN0PGNvbnN0IENTU0luaXRpYWxWYWx1ZSo+KHRo
aXMpLT5pc0ltcGxpY2l0KCk7Cit9CisKIENTU1ZhbHVlOjpUeXBlIENTU1ZhbHVlOjpjc3NWYWx1
ZVR5cGUoKSBjb25zdAogewogICAgIGlmIChpc0luaGVyaXRlZFZhbHVlKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oCmluZGV4IGNlOTUzNjlhYmMwZDU2NTdmYmUxYzAxNzk4NDhkYzYxN2RjNjllMmIuLjQz
ODdlYzU0ZGQ1NTA2ZjM3NWY3MTBmOTQ5ZTU0OTM3Y2U2NmY2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9udFZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9CiAgICAgYm9vbCBpc0ltYWdl
R2VuZXJhdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBDYW52YXNDbGFz
cyAmJiBtX2NsYXNzVHlwZSA8PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CiAgICAgYm9vbCBpc0lt
YWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBJbWFnZUNsYXNzIHx8IG1f
Y2xhc3NUeXBlID09IEN1cnNvckltYWdlQ2xhc3M7IH0KLSAgICBib29sIGlzSW1wbGljaXRJbml0
aWFsVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBJbml0aWFsQ2xhc3MgJiYg
bV9pc0ltcGxpY2l0SW5pdGlhbFZhbHVlOyB9CisgICAgYm9vbCBpc0ltcGxpY2l0SW5pdGlhbFZh
bHVlKCkgY29uc3Q7CiAgICAgYm9vbCBpc0luaGVyaXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gSW5oZXJpdGVkQ2xhc3M7IH0KICAgICBib29sIGlzSW5pdGlhbFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW5pdGlhbENsYXNzOyB9CiAgICAgYm9v
bCBpc1JlZmxlY3RWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFJlZmxlY3RD
bGFzczsgfQpAQCAtMTQ1LDE0ICsxNDUsMjAgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyBEbyBu
b3QgYXBwZW5kIG5vbi1saXN0IGNsYXNzIHR5cGVzIGhlcmUuCiAgICAgfTsKIAorICAgIHN0YXRp
YyBjb25zdCBzaXplX3QgVmFsdWVMaXN0U2VwYXJhdG9yQml0cyA9IDI7CisgICAgZW51bSBWYWx1
ZUxpc3RTZXBhcmF0b3IgeworICAgICAgICBTcGFjZVNlcGFyYXRvciwKKyAgICAgICAgQ29tbWFT
ZXBhcmF0b3IsCisgICAgICAgIFNsYXNoU2VwYXJhdG9yCisgICAgfTsKKwogICAgIENsYXNzVHlw
ZSBjbGFzc1R5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDbGFzc1R5cGU+KG1fY2xh
c3NUeXBlKTsgfQogCiAgICAgZXhwbGljaXQgQ1NTVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlwZSkK
ICAgICAgICAgOiBtX3ByaW1pdGl2ZVVuaXRUeXBlKDApCiAgICAgICAgICwgbV9oYXNDYWNoZWRD
U1NUZXh0KGZhbHNlKQogICAgICAgICAsIG1faXNRdWlya1ZhbHVlKGZhbHNlKQotICAgICAgICAs
IG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZShmYWxzZSkKLSAgICAgICAgLCBtX2lzU3BhY2VTZXBh
cmF0ZWRWYWx1ZUxpc3QoZmFsc2UpCisgICAgICAgICwgbV92YWx1ZUxpc3RTZXBhcmF0b3IoQ29t
bWFTZXBhcmF0b3IpCiAgICAgICAgICwgbV9jbGFzc1R5cGUoY2xhc3NUeXBlKQogICAgIHsKICAg
ICB9CkBAIC0xNzQsMTEgKzE4MCw4IEBAIHByb3RlY3RlZDoKICAgICBtdXRhYmxlIGJvb2wgbV9o
YXNDYWNoZWRDU1NUZXh0IDogMTsKICAgICBib29sIG1faXNRdWlya1ZhbHVlIDogMTsKIAotICAg
IC8vIENTU0luaXRpYWxWYWx1ZSBiaXRzOgotICAgIGJvb2wgbV9pc0ltcGxpY2l0SW5pdGlhbFZh
bHVlIDogMTsKLQogICAgIC8vIENTU1ZhbHVlTGlzdCBiaXRzOgotICAgIGJvb2wgbV9pc1NwYWNl
U2VwYXJhdGVkVmFsdWVMaXN0IDogMTsKKyAgICB1bnNpZ25lZCBjaGFyIG1fdmFsdWVMaXN0U2Vw
YXJhdG9yIDogVmFsdWVMaXN0U2VwYXJhdG9yQml0czsgLy8gQ1NTVmFsdWVMaXN0IHR5cGUKIAog
cHJpdmF0ZToKICAgICB1bnNpZ25lZCBjaGFyIG1fY2xhc3NUeXBlIDogQ2xhc3NUeXBlQml0czsg
Ly8gQ2xhc3NUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCmluZGV4IDY2MWUxODNh
NzY0OTUxMDQwNDlkOWQzZGFmZjBhZjcxNTVkNGUyOTcuLmRiMTlhYWMwODViYTlmOGQxYjNlYWMx
ZmY4MjFlNTFjODRkNDE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCkBAIC0y
NywyMiArMjcsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DU1NWYWx1ZUxpc3Q6OkNT
U1ZhbHVlTGlzdChDbGFzc1R5cGUgY2xhc3NUeXBlLCBib29sIGlzU3BhY2VTZXBhcmF0ZWQpCitD
U1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdChDbGFzc1R5cGUgY2xhc3NUeXBlLCBWYWx1ZUxpc3RT
ZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKIHsKLSAg
ICBtX2lzU3BhY2VTZXBhcmF0ZWRWYWx1ZUxpc3QgPSBpc1NwYWNlU2VwYXJhdGVkOworICAgIG1f
dmFsdWVMaXN0U2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKIH0KIAotQ1NTVmFsdWVMaXN0OjpD
U1NWYWx1ZUxpc3QoYm9vbCBpc1NwYWNlU2VwYXJhdGVkKQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1
ZUxpc3QoVmFsdWVMaXN0U2VwYXJhdG9yIGxpc3RTZXBhcmF0b3IpCiAgICAgOiBDU1NWYWx1ZShW
YWx1ZUxpc3RDbGFzcykKIHsKLSAgICBtX2lzU3BhY2VTZXBhcmF0ZWRWYWx1ZUxpc3QgPSBpc1Nw
YWNlU2VwYXJhdGVkOworICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsK
IH0KIAogQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiBsaXN0
KQogICAgIDogQ1NTVmFsdWUoVmFsdWVMaXN0Q2xhc3MpCiB7Ci0gICAgbV9pc1NwYWNlU2VwYXJh
dGVkVmFsdWVMaXN0ID0gdHJ1ZTsKKyAgICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IFNwYWNlU2Vw
YXJhdG9yOwogICAgIGlmIChsaXN0KSB7CiAgICAgICAgIHNpemVfdCBzaXplID0gbGlzdC0+c2l6
ZSgpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQpAQCAtODgs
MTAgKzg4LDIzIEBAIGJvb2wgQ1NTVmFsdWVMaXN0OjpoYXNWYWx1ZShDU1NWYWx1ZSogdmFsKSBj
b25zdAogCiBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKIHsK
LSAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gbmV3TGlzdCA9IGlzU3BhY2VTZXBhcmF0ZWQo
KSA/IGNyZWF0ZVNwYWNlU2VwYXJhdGVkKCkgOiBjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAg
IFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG5ld0xpc3Q7CisgICAgc3dpdGNoIChtX3ZhbHVlTGlzdFNl
cGFyYXRvcikgeworICAgIGNhc2UgU3BhY2VTZXBhcmF0b3I6CisgICAgICAgIG5ld0xpc3QgPSBj
cmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbW1hU2Vw
YXJhdG9yOgorICAgICAgICBuZXdMaXN0ID0gY3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKKyAgICAgICAgbmV3TGlzdCA9IGNy
ZWF0ZVNsYXNoU2VwYXJhdGVkKCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KICAgICBmb3IgKHNpemVfdCBpbmRleCA9
IDA7IGluZGV4IDwgbV92YWx1ZXMuc2l6ZSgpOyBpbmRleCsrKQogICAgICAgICBuZXdMaXN0LT5h
cHBlbmQobV92YWx1ZXNbaW5kZXhdKTsKLSAgICByZXR1cm4gbmV3TGlzdDsKKyAgICByZXR1cm4g
bmV3TGlzdC5yZWxlYXNlKCk7CiB9CiAKIFN0cmluZyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNzc1Rl
eHQoKSBjb25zdApAQCAtMTAxLDEwICsxMTQsMTkgQEAgU3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0CiAgICAgdW5zaWduZWQgc2l6ZSA9IG1fdmFsdWVzLnNpemUoKTsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CiAgICAgICAgIGlmICgh
cmVzdWx0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaWYgKGlzU3BhY2VTZXBhcmF0ZWQoKSkK
KyAgICAgICAgICAgIHN3aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0b3IpIHsKKyAgICAgICAgICAg
IGNhc2UgU3BhY2VTZXBhcmF0b3I6CiAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICIgIjsKLSAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
Q29tbWFTZXBhcmF0b3I6CiAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICIsICI7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNsYXNoU2VwYXJhdG9yOgorICAgICAg
ICAgICAgICAgIHJlc3VsdCArPSAiIC8gIjsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmVzdWx0ICs9IG1fdmFsdWVzW2ldLT5j
c3NUZXh0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCmluZGV4IGM2MjI2MmE5
ZTI2ODE0N2E5MTk2ZTc2NDBjMWJiNWRlYmEwMDNkMjAuLjE2ZDE5NWIwZDVjNGExNGEyYWRkYzBi
MzRmMjQ4MzRkYTRkODE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKQEAgLTMzLDEx
ICszMywxNSBAQCBjbGFzcyBDU1NWYWx1ZUxpc3QgOiBwdWJsaWMgQ1NTVmFsdWUgewogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3JlYXRlQ29tbWFTZXBhcmF0
ZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoZmFs
c2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoQ29tbWFTZXBh
cmF0b3IpKTsKICAgICB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjcmVh
dGVTcGFjZVNlcGFyYXRlZCgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENT
U1ZhbHVlTGlzdCh0cnVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFsdWVM
aXN0KFNwYWNlU2VwYXJhdG9yKSk7CisgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1Zh
bHVlTGlzdD4gY3JlYXRlU2xhc2hTZXBhcmF0ZWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoU2xhc2hTZXBhcmF0b3IpKTsKICAgICB9CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENT
U1BhcnNlclZhbHVlTGlzdCogbGlzdCkKICAgICB7CkBAIC01OSwxNCArNjMsMTIgQEAgcHVibGlj
OgogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mLCBj
b25zdCBDU1NTdHlsZVNoZWV0Kik7CiAKIHByb3RlY3RlZDoKLSAgICBDU1NWYWx1ZUxpc3QoQ2xh
c3NUeXBlLCBib29sIGlzU3BhY2VTZXBhcmF0ZWQpOworICAgIENTU1ZhbHVlTGlzdChDbGFzc1R5
cGUsIFZhbHVlTGlzdFNlcGFyYXRvcik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ1NTVmFs
dWVMaXN0KGJvb2wgaXNTcGFjZVNlcGFyYXRlZCk7CisgICAgZXhwbGljaXQgQ1NTVmFsdWVMaXN0
KFZhbHVlTGlzdFNlcGFyYXRvcik7CiAgICAgZXhwbGljaXQgQ1NTVmFsdWVMaXN0KENTU1BhcnNl
clZhbHVlTGlzdCopOwogCi0gICAgYm9vbCBpc1NwYWNlU2VwYXJhdGVkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0OyB9Ci0KICAgICBWZWN0b3I8UmVmUHRyPENT
U1ZhbHVlPiA+IG1fdmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5jcHAKaW5kZXggYjhlMzk5MzNhMDYyNjAxYzA5NDlkYThhM2IzMWMxNDYzNTY2
YjQ1Zi4uOTNhZTQxMDk3NTlmYjdkOWNiYjljM2U4MGI1ZWQzNWJlZjVlNjQzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCkBAIC0zNSw3ICszNSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJLaXRDU1NG
aWx0ZXJWYWx1ZShGaWx0ZXJPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUpCi0gICAgOiBDU1NW
YWx1ZUxpc3QoV2ViS2l0Q1NTRmlsdGVyQ2xhc3MsIHR5cGVVc2VzU3BhY2VTZXBhcmF0b3Iob3Bl
cmF0aW9uVHlwZSkpCisgICAgOiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NTRmlsdGVyQ2xhc3MsIHR5
cGVVc2VzU3BhY2VTZXBhcmF0b3Iob3BlcmF0aW9uVHlwZSkgPyBTcGFjZVNlcGFyYXRvciA6IENv
bW1hU2VwYXJhdG9yKQogICAgICwgbV90eXBlKG9wZXJhdGlvblR5cGUpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAppbmRleCA2YTM5MWFj
ODU3OTVhNzAyNjg3YjRlZDkxNTg1OTI5MDI3NTk3NDg4Li4zZTJmOWU2MGRiMDc5ZTk4ZjdkN2I0
NTI2NDhhNmZjMDYxN2EyNGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OldlYktpdENTU1RyYW5zZm9ybVZhbHVlKFRyYW5z
Zm9ybU9wZXJhdGlvblR5cGUgb3ApCi0gICAgOiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NTVHJhbnNm
b3JtQ2xhc3MsIGZhbHNlKQorICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENTU1RyYW5zZm9ybUNs
YXNzLCBDb21tYVNlcGFyYXRvcikKICAgICAsIG1fdHlwZShvcCkKIHsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121643</attachid>
            <date>2012-01-09 04:07:54 -0800</date>
            <delta_ts>2012-01-09 04:48:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75841-20120109090746.patch</filename>
            <type>text/plain</type>
            <size>10591</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3YWY2NjNiNGM2ZGI3
ZTljZTZlNWQwYjM4NGJjYWMyM2VlYjBjMy4uOTlkOGE3NjNkODNhNWM1MzM0OGY3ODg0MmE4YWNj
OGEzNzM2M2YxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAxLTA5ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEV4dGVu
ZCBDU1NWYWx1ZUxpc3QgdG8gYWxsb3cgc2xhc2ggc2VwYXJhdGVkIGxpc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNdWx0aXBsZSBDU1MgcHJvcGVy
dGllcyBhcmUgdXNpbmcgc2xhc2ggdG8gc2VwYXJhdGUKKyAgICAgICAgdmFyaW91cyBwYXJ0cyAo
ZS5nLiBib3JkZXItcmFkaXVzKSBzbyBoYXZpbmcgdGhpcworICAgICAgICBmZWF0dXJlIGF2YWls
YWJsZSBpbiBDU1NWYWx1ZUxpc3Qgd2lsbCBtYWtlIGl0IGVhc2llcgorICAgICAgICBpbiB0aGUg
ZnV0dXJlIHRvIHN1cHBvcnQgdGhlc2UgcHJvcGVydGllcy4KKworICAgICAgICBObyBuZXcgdGVz
dHMgOiBleGlzdGluZyBvbmVzIHNob3VsZCBjb3ZlciB0aGUgcmVmYWN0b3IuCisKKyAgICAgICAg
KiBjc3MvQ1NTSW5pdGlhbFZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbml0aWFsVmFs
dWU6OmlzSW1wbGljaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW5pdGlhbFZhbHVlOjpDU1NJ
bml0aWFsVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSk6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmg6CisgICAgICAgIEluIG9yZGVyIGZvciBDU1NWYWx1ZSB0byBub3QgZ3JvdyBJIG1v
dmVkIG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZQorICAgICAgICBiYWNrIHRvIENTU0luaXRpYWxW
YWx1ZSBhcyB0aGlzIG9iamVjdCBpcyB1c2VkIG9ubHkgaW4gQ1NTVmFsdWVQb29sCisgICAgICAg
IGFuZCBpcyBhbGxvY2F0ZWQgb25seSB0d2ljZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVl
OjpDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NWYWx1ZUxpc3Q6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpjdXN0
b21Dc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWVMaXN0OjpjcmVhdGVTbGFzaFNlcGFyYXRlZCk6CisgICAgICAgICogY3NzL1dl
YktpdENTU0ZpbHRlclZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRl
clZhbHVlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZSk6CisgICAgICAgICogY3NzL1dlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1RyYW5zZm9ybVZh
bHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSk6CisKIDIwMTItMDEtMDkgIE1hcmlvIFNhbmNo
ZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHdGtdIFJlZ3Jlc3Np
b246IHRleHQtaW5zZXJ0ZWQgZXZlbnRzIGxhY2sgdGV4dCBpbnNlcnRlZCBhbmQgY3VycmVudCBs
aW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmgKaW5kZXggZjU4ODg5MDNiMTZhMjA5
N2IyODVhYjgwMDRmODYwZjJhZjk4ZTA1Zi4uNTUyZmNjOTE4MTUyNWZmZGY0ZjJlM2YyYTVhZTY5
Yjc0NjgyMWFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaApAQCAtMzksMTIg
KzM5LDE2IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CiAK
KyAgICBib29sIGlzSW1wbGljaXQoKSBjb25zdCB7IHJldHVybiBtX2lzSW1wbGljaXQ7IH0KKwog
cHJpdmF0ZToKICAgICBDU1NJbml0aWFsVmFsdWUoYm9vbCBpbXBsaWNpdCkKICAgICAgICAgOiBD
U1NWYWx1ZShJbml0aWFsQ2xhc3MpCisgICAgICAgICwgbV9pc0ltcGxpY2l0KGltcGxpY2l0KQog
ICAgIHsKLSAgICAgICAgbV9pc0ltcGxpY2l0SW5pdGlhbFZhbHVlID0gaW1wbGljaXQ7CiAgICAg
fQorCisgICAgYm9vbCBtX2lzSW1wbGljaXQgOiAxOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggMGU4M2MwODE4ZWMxZDMwNzNhMGY1M2Zi
OWNiZDkxMDBjZWQ5MzAzNy4uNzExZTRjNWVkYThkZjc0NTVhYmEwMDMwYTI2MzczYzBhOGVlYTZm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC02NSw2ICs2NSwxMSBAQCBjbGFzcyBTYW1l
U2l6ZUFzQ1NTVmFsdWUgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6ZUFzQ1NTVmFsdWU+IHsK
IAogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKENTU1ZhbHVlKSA9PSBzaXplb2YoU2FtZVNpemVBc0NT
U1ZhbHVlKSwgQ1NTX3ZhbHVlX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAorYm9vbCBDU1NWYWx1ZTo6
aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IEluaXRpYWxDbGFzcyAmJiBzdGF0aWNfY2FzdDxjb25zdCBDU1NJbml0aWFsVmFsdWUqPih0
aGlzKS0+aXNJbXBsaWNpdCgpOworfQorCiBDU1NWYWx1ZTo6VHlwZSBDU1NWYWx1ZTo6Y3NzVmFs
dWVUeXBlKCkgY29uc3QKIHsKICAgICBpZiAoaXNJbmhlcml0ZWRWYWx1ZSgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuaAppbmRleCBjZTk1MzY5YWJjMGQ1NjU3ZmJlMWMwMTc5ODQ4ZGM2MTdkYzY5ZTJiLi40
Mzg3ZWM1NGRkNTUwNmYzNzVmNzEwZjk0OWU1NDkzN2NlNjZmNjQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNJbWFn
ZUdlbmVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gQ2FudmFzQ2xh
c3MgJiYgbV9jbGFzc1R5cGUgPD0gUmFkaWFsR3JhZGllbnRDbGFzczsgfQogICAgIGJvb2wgaXNJ
bWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW1hZ2VDbGFzcyB8fCBt
X2NsYXNzVHlwZSA9PSBDdXJzb3JJbWFnZUNsYXNzOyB9Ci0gICAgYm9vbCBpc0ltcGxpY2l0SW5p
dGlhbFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW5pdGlhbENsYXNzICYm
IG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZTsgfQorICAgIGJvb2wgaXNJbXBsaWNpdEluaXRpYWxW
YWx1ZSgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmhlcml0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEluaGVyaXRlZENsYXNzOyB9CiAgICAgYm9vbCBpc0luaXRpYWxWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEluaXRpYWxDbGFzczsgfQogICAgIGJv
b2wgaXNSZWZsZWN0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBSZWZsZWN0
Q2xhc3M7IH0KQEAgLTE0NSwxNCArMTQ1LDIwIEBAIHByb3RlY3RlZDoKICAgICAgICAgLy8gRG8g
bm90IGFwcGVuZCBub24tbGlzdCBjbGFzcyB0eXBlcyBoZXJlLgogICAgIH07CiAKKyAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IFZhbHVlTGlzdFNlcGFyYXRvckJpdHMgPSAyOworICAgIGVudW0gVmFs
dWVMaXN0U2VwYXJhdG9yIHsKKyAgICAgICAgU3BhY2VTZXBhcmF0b3IsCisgICAgICAgIENvbW1h
U2VwYXJhdG9yLAorICAgICAgICBTbGFzaFNlcGFyYXRvcgorICAgIH07CisKICAgICBDbGFzc1R5
cGUgY2xhc3NUeXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q2xhc3NUeXBlPihtX2Ns
YXNzVHlwZSk7IH0KIAogICAgIGV4cGxpY2l0IENTU1ZhbHVlKENsYXNzVHlwZSBjbGFzc1R5cGUp
CiAgICAgICAgIDogbV9wcmltaXRpdmVVbml0VHlwZSgwKQogICAgICAgICAsIG1faGFzQ2FjaGVk
Q1NTVGV4dChmYWxzZSkKICAgICAgICAgLCBtX2lzUXVpcmtWYWx1ZShmYWxzZSkKLSAgICAgICAg
LCBtX2lzSW1wbGljaXRJbml0aWFsVmFsdWUoZmFsc2UpCi0gICAgICAgICwgbV9pc1NwYWNlU2Vw
YXJhdGVkVmFsdWVMaXN0KGZhbHNlKQorICAgICAgICAsIG1fdmFsdWVMaXN0U2VwYXJhdG9yKENv
bW1hU2VwYXJhdG9yKQogICAgICAgICAsIG1fY2xhc3NUeXBlKGNsYXNzVHlwZSkKICAgICB7CiAg
ICAgfQpAQCAtMTc0LDExICsxODAsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgbXV0YWJsZSBib29sIG1f
aGFzQ2FjaGVkQ1NTVGV4dCA6IDE7CiAgICAgYm9vbCBtX2lzUXVpcmtWYWx1ZSA6IDE7CiAKLSAg
ICAvLyBDU1NJbml0aWFsVmFsdWUgYml0czoKLSAgICBib29sIG1faXNJbXBsaWNpdEluaXRpYWxW
YWx1ZSA6IDE7Ci0KICAgICAvLyBDU1NWYWx1ZUxpc3QgYml0czoKLSAgICBib29sIG1faXNTcGFj
ZVNlcGFyYXRlZFZhbHVlTGlzdCA6IDE7CisgICAgdW5zaWduZWQgY2hhciBtX3ZhbHVlTGlzdFNl
cGFyYXRvciA6IFZhbHVlTGlzdFNlcGFyYXRvckJpdHM7IC8vIENTU1ZhbHVlTGlzdCB0eXBlCiAK
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgY2hhciBtX2NsYXNzVHlwZSA6IENsYXNzVHlwZUJpdHM7
IC8vIENsYXNzVHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAppbmRleCA2NjFlMTgz
YTc2NDk1MTA0MDQ5ZDlkM2RhZmYwYWY3MTU1ZDRlMjk3Li5kYjE5YWFjMDg1YmE5ZjhkMWIzZWFj
MWZmODIxZTUxYzg0ZDQxNTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcApAQCAt
MjcsMjIgKzI3LDIyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTVmFsdWVMaXN0OjpD
U1NWYWx1ZUxpc3QoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgYm9vbCBpc1NwYWNlU2VwYXJhdGVkKQor
Q1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgVmFsdWVMaXN0
U2VwYXJhdG9yIGxpc3RTZXBhcmF0b3IpCiAgICAgOiBDU1NWYWx1ZShjbGFzc1R5cGUpCiB7Ci0g
ICAgbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0ID0gaXNTcGFjZVNlcGFyYXRlZDsKKyAgICBt
X3ZhbHVlTGlzdFNlcGFyYXRvciA9IGxpc3RTZXBhcmF0b3I7CiB9CiAKLUNTU1ZhbHVlTGlzdDo6
Q1NTVmFsdWVMaXN0KGJvb2wgaXNTcGFjZVNlcGFyYXRlZCkKK0NTU1ZhbHVlTGlzdDo6Q1NTVmFs
dWVMaXN0KFZhbHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9yKQogICAgIDogQ1NTVmFsdWUo
VmFsdWVMaXN0Q2xhc3MpCiB7Ci0gICAgbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0ID0gaXNT
cGFjZVNlcGFyYXRlZDsKKyAgICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IGxpc3RTZXBhcmF0b3I7
CiB9CiAKIENTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCogbGlz
dCkKICAgICA6IENTU1ZhbHVlKFZhbHVlTGlzdENsYXNzKQogewotICAgIG1faXNTcGFjZVNlcGFy
YXRlZFZhbHVlTGlzdCA9IHRydWU7CisgICAgbV92YWx1ZUxpc3RTZXBhcmF0b3IgPSBTcGFjZVNl
cGFyYXRvcjsKICAgICBpZiAobGlzdCkgewogICAgICAgICBzaXplX3Qgc2l6ZSA9IGxpc3QtPnNp
emUoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKQEAgLTg4
LDEwICs4OCwyMyBAQCBib29sIENTU1ZhbHVlTGlzdDo6aGFzVmFsdWUoQ1NTVmFsdWUqIHZhbCkg
Y29uc3QKIAogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1ZhbHVlTGlzdDo6Y29weSgpCiB7
Ci0gICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IG5ld0xpc3QgPSBpc1NwYWNlU2VwYXJhdGVk
KCkgPyBjcmVhdGVTcGFjZVNlcGFyYXRlZCgpIDogY3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAg
ICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBuZXdMaXN0OworICAgIHN3aXRjaCAobV92YWx1ZUxpc3RT
ZXBhcmF0b3IpIHsKKyAgICBjYXNlIFNwYWNlU2VwYXJhdG9yOgorICAgICAgICBuZXdMaXN0ID0g
Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb21tYVNl
cGFyYXRvcjoKKyAgICAgICAgbmV3TGlzdCA9IGNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgU2xhc2hTZXBhcmF0b3I6CisgICAgICAgIG5ld0xpc3QgPSBj
cmVhdGVTbGFzaFNlcGFyYXRlZCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CiAgICAgZm9yIChzaXplX3QgaW5kZXgg
PSAwOyBpbmRleCA8IG1fdmFsdWVzLnNpemUoKTsgaW5kZXgrKykKICAgICAgICAgbmV3TGlzdC0+
YXBwZW5kKG1fdmFsdWVzW2luZGV4XSk7Ci0gICAgcmV0dXJuIG5ld0xpc3Q7CisgICAgcmV0dXJu
IG5ld0xpc3QucmVsZWFzZSgpOwogfQogCiBTdHJpbmcgQ1NTVmFsdWVMaXN0OjpjdXN0b21Dc3NU
ZXh0KCkgY29uc3QKQEAgLTEwMSwxMCArMTE0LDE5IEBAIFN0cmluZyBDU1NWYWx1ZUxpc3Q6OmN1
c3RvbUNzc1RleHQoKSBjb25zdAogICAgIHVuc2lnbmVkIHNpemUgPSBtX3ZhbHVlcy5zaXplKCk7
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICBpZiAo
IXJlc3VsdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGlmIChpc1NwYWNlU2VwYXJhdGVkKCkp
CisgICAgICAgICAgICBzd2l0Y2ggKG1fdmFsdWVMaXN0U2VwYXJhdG9yKSB7CisgICAgICAgICAg
ICBjYXNlIFNwYWNlU2VwYXJhdG9yOgogICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiICI7Ci0g
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IENvbW1hU2VwYXJhdG9yOgogICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiLCAiOworICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKKyAgICAg
ICAgICAgICAgICByZXN1bHQgKz0gIiAvICI7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIHJlc3VsdCArPSBtX3ZhbHVlc1tpXS0+
Y3NzVGV4dCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaAppbmRleCBjNjIyNjJh
OWUyNjgxNDdhOTE5NmU3NjQwYzFiYjVkZWJhMDAzZDIwLi4xNmQxOTViMGQ1YzRhMTRhMmFkZGMw
YjM0ZjI0ODM0ZGE0ZDgxNDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCkBAIC0zMywx
MSArMzMsMTUgQEAgY2xhc3MgQ1NTVmFsdWVMaXN0IDogcHVibGljIENTU1ZhbHVlIHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNyZWF0ZUNvbW1hU2VwYXJh
dGVkKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFsdWVMaXN0KGZh
bHNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFsdWVMaXN0KENvbW1hU2Vw
YXJhdG9yKSk7CiAgICAgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3Jl
YXRlU3BhY2VTZXBhcmF0ZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBD
U1NWYWx1ZUxpc3QodHJ1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU1ZhbHVl
TGlzdChTcGFjZVNlcGFyYXRvcikpOworICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NW
YWx1ZUxpc3Q+IGNyZWF0ZVNsYXNoU2VwYXJhdGVkKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTVmFsdWVMaXN0KFNsYXNoU2VwYXJhdG9yKSk7CiAgICAgfQogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdChD
U1NQYXJzZXJWYWx1ZUxpc3QqIGxpc3QpCiAgICAgewpAQCAtNTksMTQgKzYzLDEyIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+Jiwg
Y29uc3QgQ1NTU3R5bGVTaGVldCopOwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTVmFsdWVMaXN0KENs
YXNzVHlwZSwgYm9vbCBpc1NwYWNlU2VwYXJhdGVkKTsKKyAgICBDU1NWYWx1ZUxpc3QoQ2xhc3NU
eXBlLCBWYWx1ZUxpc3RTZXBhcmF0b3IpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1Zh
bHVlTGlzdChib29sIGlzU3BhY2VTZXBhcmF0ZWQpOworICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlz
dChWYWx1ZUxpc3RTZXBhcmF0b3IpOwogICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChDU1NQYXJz
ZXJWYWx1ZUxpc3QqKTsKIAotICAgIGJvb2wgaXNTcGFjZVNlcGFyYXRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNTcGFjZVNlcGFyYXRlZFZhbHVlTGlzdDsgfQotCiAgICAgVmVjdG9yPFJlZlB0cjxD
U1NWYWx1ZT4gPiBtX3ZhbHVlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuY3BwCmluZGV4IGI4ZTM5OTMzYTA2MjYwMWMwOTQ5ZGE4YTNiMzFjMTQ2MzU2
NmI0NWYuLjkzYWU0MTA5NzU5ZmI3ZDljYmI5YzNlODBiNWVkMzViZWY1ZTY0M2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcApAQCAtMzUsNyArMzUsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NT
RmlsdGVyVmFsdWUoRmlsdGVyT3BlcmF0aW9uVHlwZSBvcGVyYXRpb25UeXBlKQotICAgIDogQ1NT
VmFsdWVMaXN0KFdlYktpdENTU0ZpbHRlckNsYXNzLCB0eXBlVXNlc1NwYWNlU2VwYXJhdG9yKG9w
ZXJhdGlvblR5cGUpKQorICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENTU0ZpbHRlckNsYXNzLCB0
eXBlVXNlc1NwYWNlU2VwYXJhdG9yKG9wZXJhdGlvblR5cGUpID8gU3BhY2VTZXBhcmF0b3IgOiBD
b21tYVNlcGFyYXRvcikKICAgICAsIG1fdHlwZShvcGVyYXRpb25UeXBlKQogewogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKaW5kZXggNmEzOTFh
Yzg1Nzk1YTcwMjY4N2I0ZWQ5MTU4NTkyOTAyNzU5NzQ4OC4uM2UyZjllNjBkYjA3OWU5OGY3ZDdi
NDUyNjQ4YTZmYzA2MTdhMjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZShUcmFu
c2Zvcm1PcGVyYXRpb25UeXBlIG9wKQotICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENTU1RyYW5z
Zm9ybUNsYXNzLCBmYWxzZSkKKyAgICA6IENTU1ZhbHVlTGlzdChXZWJLaXRDU1NUcmFuc2Zvcm1D
bGFzcywgQ29tbWFTZXBhcmF0b3IpCiAgICAgLCBtX3R5cGUob3ApCiB7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121646</attachid>
            <date>2012-01-09 04:48:28 -0800</date>
            <delta_ts>2012-01-09 05:05:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75841-20120109094820.patch</filename>
            <type>text/plain</type>
            <size>11052</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3YWY2NjNiNGM2ZGI3
ZTljZTZlNWQwYjM4NGJjYWMyM2VlYjBjMy4uZTg0NGIwN2M5NzgzZmViMWEwODQwZjk5YjZiMTNm
MDcxNzEyMmNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTAxLTA5ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEV4dGVu
ZCBDU1NWYWx1ZUxpc3QgdG8gYWxsb3cgc2xhc2ggc2VwYXJhdGVkIGxpc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNdWx0aXBsZSBDU1MgcHJvcGVy
dGllcyBhcmUgdXNpbmcgc2xhc2ggdG8gc2VwYXJhdGUKKyAgICAgICAgdmFyaW91cyBwYXJ0cyAo
ZS5nLiBib3JkZXItcmFkaXVzKSBzbyBoYXZpbmcgdGhpcworICAgICAgICBmZWF0dXJlIGF2YWls
YWJsZSBpbiBDU1NWYWx1ZUxpc3Qgd2lsbCBtYWtlIGl0IGVhc2llcgorICAgICAgICBpbiB0aGUg
ZnV0dXJlIHRvIHN1cHBvcnQgdGhlc2UgcHJvcGVydGllcy4KKworICAgICAgICBObyBuZXcgdGVz
dHMgOiBleGlzdGluZyBvbmVzIHNob3VsZCBjb3ZlciB0aGUgcmVmYWN0b3IuCisKKyAgICAgICAg
KiBjc3MvQ1NTSW5pdGlhbFZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbml0aWFsVmFs
dWU6OmlzSW1wbGljaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW5pdGlhbFZhbHVlOjpDU1NJ
bml0aWFsVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZTo6aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSk6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmg6CisgICAgICAgIEluIG9yZGVyIGZvciBDU1NWYWx1ZSB0byBub3QgZ3JvdyBJIG1v
dmVkIG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZQorICAgICAgICBiYWNrIHRvIENTU0luaXRpYWxW
YWx1ZSBhcyB0aGlzIG9iamVjdCBpcyB1c2VkIG9ubHkgaW4gQ1NTVmFsdWVQb29sCisgICAgICAg
IGFuZCBpcyBhbGxvY2F0ZWQgb25seSB0d2ljZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVl
OjpDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NWYWx1ZUxpc3Q6OmNvcHkpOgorICAgICAgICBGaXggYWxzbyB1c2FnZSBvZiBQYXNzUmVmUHRy
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgUmVmYWN0b3IgdG8gdXNlIFN0cmluZ0J1aWxkZXIuCisgICAgICAgICogY3NzL0NTU1ZhbHVl
TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFy
YXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJh
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdDo6Y3JlYXRlU2xhc2hTZXBhcmF0
ZWQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUpOgorICAg
ICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUpOgorCiAy
MDEyLTAxLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR3RrXSBSZWdyZXNzaW9uOiB0ZXh0LWluc2VydGVkIGV2ZW50cyBsYWNrIHRleHQg
aW5zZXJ0ZWQgYW5kIGN1cnJlbnQgbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0luaXRpYWxWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5o
CmluZGV4IGY1ODg4OTAzYjE2YTIwOTdiMjg1YWI4MDA0Zjg2MGYyYWY5OGUwNWYuLmRkODZkODQy
NDFhNjZmZjJmNzM3YWU5YTAyMWE0YmJhYzgwOGI2MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5p
dGlhbFZhbHVlLmgKQEAgLTM5LDEyICszOSwxNiBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgY3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0OwogCisgICAgYm9vbCBpc0ltcGxpY2l0KCkgY29uc3QgeyByZXR1
cm4gbV9pc0ltcGxpY2l0OyB9CisKIHByaXZhdGU6CiAgICAgQ1NTSW5pdGlhbFZhbHVlKGJvb2wg
aW1wbGljaXQpCiAgICAgICAgIDogQ1NTVmFsdWUoSW5pdGlhbENsYXNzKQorICAgICAgICAsIG1f
aXNJbXBsaWNpdChpbXBsaWNpdCkKICAgICB7Ci0gICAgICAgIG1faXNJbXBsaWNpdEluaXRpYWxW
YWx1ZSA9IGltcGxpY2l0OwogICAgIH0KKworICAgIGJvb2wgbV9pc0ltcGxpY2l0OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggMGU4M2Mw
ODE4ZWMxZDMwNzNhMGY1M2ZiOWNiZDkxMDBjZWQ5MzAzNy4uNzExZTRjNWVkYThkZjc0NTVhYmEw
MDMwYTI2MzczYzBhOGVlYTZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC02NSw2ICs2
NSwxMSBAQCBjbGFzcyBTYW1lU2l6ZUFzQ1NTVmFsdWUgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1l
U2l6ZUFzQ1NTVmFsdWU+IHsKIAogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKENTU1ZhbHVlKSA9PSBz
aXplb2YoU2FtZVNpemVBc0NTU1ZhbHVlKSwgQ1NTX3ZhbHVlX3Nob3VsZF9zdGF5X3NtYWxsKTsK
IAorYm9vbCBDU1NWYWx1ZTo6aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fY2xhc3NUeXBlID09IEluaXRpYWxDbGFzcyAmJiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NJbml0aWFsVmFsdWUqPih0aGlzKS0+aXNJbXBsaWNpdCgpOworfQorCiBDU1NWYWx1ZTo6VHlw
ZSBDU1NWYWx1ZTo6Y3NzVmFsdWVUeXBlKCkgY29uc3QKIHsKICAgICBpZiAoaXNJbmhlcml0ZWRW
YWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBjZTk1MzY5YWJjMGQ1NjU3ZmJlMWMwMTc5
ODQ4ZGM2MTdkYzY5ZTJiLi43NTQ1MDNkMWM3MjYxMTJkNWRlMjZjMDU1NWFjNzBlNzE4ZTk1YWFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFzczsg
fQogICAgIGJvb2wgaXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPj0gQ2FudmFzQ2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0gUmFkaWFsR3JhZGllbnRDbGFz
czsgfQogICAgIGJvb2wgaXNJbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUg
PT0gSW1hZ2VDbGFzcyB8fCBtX2NsYXNzVHlwZSA9PSBDdXJzb3JJbWFnZUNsYXNzOyB9Ci0gICAg
Ym9vbCBpc0ltcGxpY2l0SW5pdGlhbFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUg
PT0gSW5pdGlhbENsYXNzICYmIG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZTsgfQorICAgIGJvb2wg
aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmhlcml0ZWRWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEluaGVyaXRlZENsYXNzOyB9CiAgICAg
Ym9vbCBpc0luaXRpYWxWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEluaXRp
YWxDbGFzczsgfQogICAgIGJvb2wgaXNSZWZsZWN0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBSZWZsZWN0Q2xhc3M7IH0KQEAgLTE0NSwxNCArMTQ1LDIwIEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgLy8gRG8gbm90IGFwcGVuZCBub24tbGlzdCBjbGFzcyB0eXBlcyBoZXJlLgog
ICAgIH07CiAKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IFZhbHVlTGlzdFNlcGFyYXRvckJpdHMg
PSAyOworICAgIGVudW0gVmFsdWVMaXN0U2VwYXJhdG9yIHsKKyAgICAgICAgU3BhY2VTZXBhcmF0
b3IsCisgICAgICAgIENvbW1hU2VwYXJhdG9yLAorICAgICAgICBTbGFzaFNlcGFyYXRvcgorICAg
IH07CisKICAgICBDbGFzc1R5cGUgY2xhc3NUeXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Q2xhc3NUeXBlPihtX2NsYXNzVHlwZSk7IH0KIAogICAgIGV4cGxpY2l0IENTU1ZhbHVlKENs
YXNzVHlwZSBjbGFzc1R5cGUpCiAgICAgICAgIDogbV9wcmltaXRpdmVVbml0VHlwZSgwKQogICAg
ICAgICAsIG1faGFzQ2FjaGVkQ1NTVGV4dChmYWxzZSkKICAgICAgICAgLCBtX2lzUXVpcmtWYWx1
ZShmYWxzZSkKLSAgICAgICAgLCBtX2lzSW1wbGljaXRJbml0aWFsVmFsdWUoZmFsc2UpCi0gICAg
ICAgICwgbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0KGZhbHNlKQorICAgICAgICAsIG1fdmFs
dWVMaXN0U2VwYXJhdG9yKFNwYWNlU2VwYXJhdG9yKQogICAgICAgICAsIG1fY2xhc3NUeXBlKGNs
YXNzVHlwZSkKICAgICB7CiAgICAgfQpAQCAtMTc0LDExICsxODAsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgbXV0YWJsZSBib29sIG1faGFzQ2FjaGVkQ1NTVGV4dCA6IDE7CiAgICAgYm9vbCBtX2lzUXVp
cmtWYWx1ZSA6IDE7CiAKLSAgICAvLyBDU1NJbml0aWFsVmFsdWUgYml0czoKLSAgICBib29sIG1f
aXNJbXBsaWNpdEluaXRpYWxWYWx1ZSA6IDE7Ci0KLSAgICAvLyBDU1NWYWx1ZUxpc3QgYml0czoK
LSAgICBib29sIG1faXNTcGFjZVNlcGFyYXRlZFZhbHVlTGlzdCA6IDE7CisgICAgdW5zaWduZWQg
Y2hhciBtX3ZhbHVlTGlzdFNlcGFyYXRvciA6IFZhbHVlTGlzdFNlcGFyYXRvckJpdHM7IC8vIENT
U1ZhbHVlTGlzdCB0eXBlCiAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgY2hhciBtX2NsYXNzVHlw
ZSA6IENsYXNzVHlwZUJpdHM7IC8vIENsYXNzVHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcAppbmRleCA2NjFlMTgzYTc2NDk1MTA0MDQ5ZDlkM2RhZmYwYWY3MTU1ZDRlMjk3Li4wN2Fh
Nzg5YjBlZGZiNzk1Nzc3YzA0NTVjMWEwOTQ1OGQ5ZGE5ZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVMaXN0LmNwcApAQCAtMjQsMjUgKzI0LDI2IEBACiAjaW5jbHVkZSAiQ1NTUGFyc2VyVmFs
dWVzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1DU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdChDbGFzc1R5cGUgY2xhc3NU
eXBlLCBib29sIGlzU3BhY2VTZXBhcmF0ZWQpCitDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdChD
bGFzc1R5cGUgY2xhc3NUeXBlLCBWYWx1ZUxpc3RTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAg
ICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKIHsKLSAgICBtX2lzU3BhY2VTZXBhcmF0ZWRWYWx1ZUxp
c3QgPSBpc1NwYWNlU2VwYXJhdGVkOworICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0gbGlzdFNl
cGFyYXRvcjsKIH0KIAotQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoYm9vbCBpc1NwYWNlU2Vw
YXJhdGVkKQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoVmFsdWVMaXN0U2VwYXJhdG9yIGxp
c3RTZXBhcmF0b3IpCiAgICAgOiBDU1NWYWx1ZShWYWx1ZUxpc3RDbGFzcykKIHsKLSAgICBtX2lz
U3BhY2VTZXBhcmF0ZWRWYWx1ZUxpc3QgPSBpc1NwYWNlU2VwYXJhdGVkOworICAgIG1fdmFsdWVM
aXN0U2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKIH0KIAogQ1NTVmFsdWVMaXN0OjpDU1NWYWx1
ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiBsaXN0KQogICAgIDogQ1NTVmFsdWUoVmFsdWVMaXN0
Q2xhc3MpCiB7Ci0gICAgbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0ID0gdHJ1ZTsKKyAgICBt
X3ZhbHVlTGlzdFNlcGFyYXRvciA9IFNwYWNlU2VwYXJhdG9yOwogICAgIGlmIChsaXN0KSB7CiAg
ICAgICAgIHNpemVfdCBzaXplID0gbGlzdC0+c2l6ZSgpOwogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQpAQCAtODgsMjggKzg5LDUxIEBAIGJvb2wgQ1NTVmFsdWVM
aXN0OjpoYXNWYWx1ZShDU1NWYWx1ZSogdmFsKSBjb25zdAogCiBQYXNzUmVmUHRyPENTU1ZhbHVl
TGlzdD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKIHsKLSAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlz
dD4gbmV3TGlzdCA9IGlzU3BhY2VTZXBhcmF0ZWQoKSA/IGNyZWF0ZVNwYWNlU2VwYXJhdGVkKCkg
OiBjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG5ld0xp
c3Q7CisgICAgc3dpdGNoIChtX3ZhbHVlTGlzdFNlcGFyYXRvcikgeworICAgIGNhc2UgU3BhY2VT
ZXBhcmF0b3I6CisgICAgICAgIG5ld0xpc3QgPSBjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIENvbW1hU2VwYXJhdG9yOgorICAgICAgICBuZXdMaXN0ID0g
Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTbGFzaFNl
cGFyYXRvcjoKKyAgICAgICAgbmV3TGlzdCA9IGNyZWF0ZVNsYXNoU2VwYXJhdGVkKCk7CisgICAg
ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIH0KICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbV92YWx1ZXMuc2l6ZSgp
OyBpbmRleCsrKQogICAgICAgICBuZXdMaXN0LT5hcHBlbmQobV92YWx1ZXNbaW5kZXhdKTsKLSAg
ICByZXR1cm4gbmV3TGlzdDsKKyAgICByZXR1cm4gbmV3TGlzdC5yZWxlYXNlKCk7CiB9CiAKIFN0
cmluZyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogewotICAgIFN0cmluZyBy
ZXN1bHQgPSAiIjsKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICBTdHJpbmcgc2VwYXJh
dG9yOworICAgIHN3aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0b3IpIHsKKyAgICBjYXNlIFNwYWNl
U2VwYXJhdG9yOgorICAgICAgICBzZXBhcmF0b3IgPSAiICI7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ29tbWFTZXBhcmF0b3I6CisgICAgICAgIHNlcGFyYXRvciA9ICIsICI7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgU2xhc2hTZXBhcmF0b3I6CisgICAgICAgIHNlcGFyYXRvciA9ICIg
LyAiOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICB9CiAKICAgICB1bnNpZ25lZCBzaXplID0gbV92YWx1ZXMuc2l6ZSgpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgaWYgKCFy
ZXN1bHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBpZiAoaXNTcGFjZVNlcGFyYXRlZCgpKQot
ICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiICI7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgcmVzdWx0ICs9ICIsICI7Ci0gICAgICAgIH0KLSAgICAgICAgcmVzdWx0ICs9IG1f
dmFsdWVzW2ldLT5jc3NUZXh0KCk7CisgICAgICAgIGlmICghcmVzdWx0LmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJlc3VsdC5hcHBlbmQoc2VwYXJhdG9yKTsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZChtX3ZhbHVlc1tpXS0+Y3NzVGV4dCgpKTsKICAgICB9CiAKLSAgICByZXR1cm4gcmVzdWx0Owor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAogdm9pZCBDU1NWYWx1ZUxpc3Q6OmFk
ZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBDU1NT
dHlsZVNoZWV0KiBzdHlsZVNoZWV0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCmluZGV4IGM2
MjI2MmE5ZTI2ODE0N2E5MTk2ZTc2NDBjMWJiNWRlYmEwMDNkMjAuLjE2ZDE5NWIwZDVjNGExNGEy
YWRkYzBiMzRmMjQ4MzRkYTRkODE0OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKQEAg
LTMzLDExICszMywxNSBAQCBjbGFzcyBDU1NWYWx1ZUxpc3QgOiBwdWJsaWMgQ1NTVmFsdWUgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3JlYXRlQ29tbWFT
ZXBhcmF0ZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxp
c3QoZmFsc2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoQ29t
bWFTZXBhcmF0b3IpKTsKICAgICB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0
PiBjcmVhdGVTcGFjZVNlcGFyYXRlZCgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENTU1ZhbHVlTGlzdCh0cnVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
VmFsdWVMaXN0KFNwYWNlU2VwYXJhdG9yKSk7CisgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENTU1ZhbHVlTGlzdD4gY3JlYXRlU2xhc2hTZXBhcmF0ZWQoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoU2xhc2hTZXBhcmF0b3IpKTsKICAgICB9CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVM
aXN0KENTU1BhcnNlclZhbHVlTGlzdCogbGlzdCkKICAgICB7CkBAIC01OSwxNCArNjMsMTIgQEAg
cHVibGljOgogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VS
TD4mLCBjb25zdCBDU1NTdHlsZVNoZWV0Kik7CiAKIHByb3RlY3RlZDoKLSAgICBDU1NWYWx1ZUxp
c3QoQ2xhc3NUeXBlLCBib29sIGlzU3BhY2VTZXBhcmF0ZWQpOworICAgIENTU1ZhbHVlTGlzdChD
bGFzc1R5cGUsIFZhbHVlTGlzdFNlcGFyYXRvcik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQg
Q1NTVmFsdWVMaXN0KGJvb2wgaXNTcGFjZVNlcGFyYXRlZCk7CisgICAgZXhwbGljaXQgQ1NTVmFs
dWVMaXN0KFZhbHVlTGlzdFNlcGFyYXRvcik7CiAgICAgZXhwbGljaXQgQ1NTVmFsdWVMaXN0KENT
U1BhcnNlclZhbHVlTGlzdCopOwogCi0gICAgYm9vbCBpc1NwYWNlU2VwYXJhdGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0OyB9Ci0KICAgICBWZWN0b3I8UmVm
UHRyPENTU1ZhbHVlPiA+IG1fdmFsdWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5jcHAKaW5kZXggYjhlMzk5MzNhMDYyNjAxYzA5NDlkYThhM2IzMWMx
NDYzNTY2YjQ1Zi4uOTNhZTQxMDk3NTlmYjdkOWNiYjljM2U4MGI1ZWQzNWJlZjVlNjQzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCkBAIC0zNSw3ICsz
NSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJL
aXRDU1NGaWx0ZXJWYWx1ZShGaWx0ZXJPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUpCi0gICAg
OiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NTRmlsdGVyQ2xhc3MsIHR5cGVVc2VzU3BhY2VTZXBhcmF0
b3Iob3BlcmF0aW9uVHlwZSkpCisgICAgOiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NTRmlsdGVyQ2xh
c3MsIHR5cGVVc2VzU3BhY2VTZXBhcmF0b3Iob3BlcmF0aW9uVHlwZSkgPyBTcGFjZVNlcGFyYXRv
ciA6IENvbW1hU2VwYXJhdG9yKQogICAgICwgbV90eXBlKG9wZXJhdGlvblR5cGUpCiB7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAppbmRleCA2
YTM5MWFjODU3OTVhNzAyNjg3YjRlZDkxNTg1OTI5MDI3NTk3NDg4Li4zZTJmOWU2MGRiMDc5ZTk4
ZjdkN2I0NTI2NDhhNmZjMDYxN2EyNGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OldlYktpdENTU1RyYW5zZm9ybVZhbHVl
KFRyYW5zZm9ybU9wZXJhdGlvblR5cGUgb3ApCi0gICAgOiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NT
VHJhbnNmb3JtQ2xhc3MsIGZhbHNlKQorICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENTU1RyYW5z
Zm9ybUNsYXNzLCBDb21tYVNlcGFyYXRvcikKICAgICAsIG1fdHlwZShvcCkKIHsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121648</attachid>
            <date>2012-01-09 05:06:01 -0800</date>
            <delta_ts>2012-01-09 05:48:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-75841-20120109100553.patch</filename>
            <type>text/plain</type>
            <size>11030</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3YWY2NjNiNGM2ZGI3
ZTljZTZlNWQwYjM4NGJjYWMyM2VlYjBjMy4uYTE3Y2VjOWE2ZmVmZjE3MjNmYzJjYTkzMWI1ZDk4
ZmY3YjMyMzQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTAxLTA5ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEV4dGVu
ZCBDU1NWYWx1ZUxpc3QgdG8gYWxsb3cgc2xhc2ggc2VwYXJhdGVkIGxpc3RzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIE11bHRpcGxlIENTUyBwcm9wZXJ0
aWVzIGFyZSB1c2luZyBzbGFzaCB0byBzZXBhcmF0ZQorICAgICAgICB2YXJpb3VzIHBhcnRzIChl
LmcuIGJvcmRlci1yYWRpdXMpIHNvIGhhdmluZyB0aGlzCisgICAgICAgIGZlYXR1cmUgYXZhaWxh
YmxlIGluIENTU1ZhbHVlTGlzdCB3aWxsIG1ha2UgaXQgZWFzaWVyCisgICAgICAgIGluIHRoZSBm
dXR1cmUgdG8gc3VwcG9ydCB0aGVzZSBwcm9wZXJ0aWVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyA6IGV4aXN0aW5nIG9uZXMgc2hvdWxkIGNvdmVyIHRoZSByZWZhY3Rvci4KKworICAgICAgICAq
IGNzcy9DU1NJbml0aWFsVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0luaXRpYWxWYWx1
ZTo6aXNJbXBsaWNpdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbml0aWFsVmFsdWU6OkNTU0lu
aXRpYWxWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlOjppc0ltcGxpY2l0SW5pdGlhbFZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWUuaDoKKyAgICAgICAgSW4gb3JkZXIgZm9yIENTU1ZhbHVlIHRvIG5vdCBncm93IEkgbW92
ZWQgbV9pc0ltcGxpY2l0SW5pdGlhbFZhbHVlCisgICAgICAgIGJhY2sgdG8gQ1NTSW5pdGlhbFZh
bHVlIGFzIHRoaXMgb2JqZWN0IGlzIHVzZWQgb25seSBpbiBDU1NWYWx1ZVBvb2wKKyAgICAgICAg
YW5kIGlzIGFsbG9jYXRlZCBvbmx5IHR3aWNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OkNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlTGlzdDo6Y29weSk6CisgICAgICAgIEZpeCBhbHNvIHVzYWdlIG9mIFBhc3NSZWZQdHIu
CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNzc1RleHQpOgorICAgICAg
ICBSZWZhY3RvciB0byB1c2UgU3RyaW5nQnVpbGRlci4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVM
aXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJh
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpjcmVhdGVTbGFzaFNlcGFyYXRl
ZCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZSk6CisgICAg
ICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSk6CisKIDIw
MTItMDEtMDkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHdGtdIFJlZ3Jlc3Npb246IHRleHQtaW5zZXJ0ZWQgZXZlbnRzIGxhY2sgdGV4dCBp
bnNlcnRlZCBhbmQgY3VycmVudCBsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW5pdGlhbFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmgK
aW5kZXggZjU4ODg5MDNiMTZhMjA5N2IyODVhYjgwMDRmODYwZjJhZjk4ZTA1Zi4uZGQ4NmQ4NDI0
MWE2NmZmMmY3MzdhZTlhMDIxYTRiYmFjODA4YjYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0
aWFsVmFsdWUuaApAQCAtMzksMTIgKzM5LDE2IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBjdXN0
b21Dc3NUZXh0KCkgY29uc3Q7CiAKKyAgICBib29sIGlzSW1wbGljaXQoKSBjb25zdCB7IHJldHVy
biBtX2lzSW1wbGljaXQ7IH0KKwogcHJpdmF0ZToKICAgICBDU1NJbml0aWFsVmFsdWUoYm9vbCBp
bXBsaWNpdCkKICAgICAgICAgOiBDU1NWYWx1ZShJbml0aWFsQ2xhc3MpCisgICAgICAgICwgbV9p
c0ltcGxpY2l0KGltcGxpY2l0KQogICAgIHsKLSAgICAgICAgbV9pc0ltcGxpY2l0SW5pdGlhbFZh
bHVlID0gaW1wbGljaXQ7CiAgICAgfQorCisgICAgYm9vbCBtX2lzSW1wbGljaXQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAwZTgzYzA4
MThlYzFkMzA3M2EwZjUzZmI5Y2JkOTEwMGNlZDkzMDM3Li43MTFlNGM1ZWRhOGRmNzQ1NWFiYTAw
MzBhMjYzNzNjMGE4ZWVhNmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTY1LDYgKzY1
LDExIEBAIGNsYXNzIFNhbWVTaXplQXNDU1NWYWx1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNhbWVT
aXplQXNDU1NWYWx1ZT4gewogCiBDT01QSUxFX0FTU0VSVChzaXplb2YoQ1NTVmFsdWUpID09IHNp
emVvZihTYW1lU2l6ZUFzQ1NTVmFsdWUpLCBDU1NfdmFsdWVfc2hvdWxkX3N0YXlfc21hbGwpOwog
Citib29sIENTU1ZhbHVlOjppc0ltcGxpY2l0SW5pdGlhbFZhbHVlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW5pdGlhbENsYXNzICYmIHN0YXRpY19jYXN0PGNvbnN0IENT
U0luaXRpYWxWYWx1ZSo+KHRoaXMpLT5pc0ltcGxpY2l0KCk7Cit9CisKIENTU1ZhbHVlOjpUeXBl
IENTU1ZhbHVlOjpjc3NWYWx1ZVR5cGUoKSBjb25zdAogewogICAgIGlmIChpc0luaGVyaXRlZFZh
bHVlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGNlOTUzNjlhYmMwZDU2NTdmYmUxYzAxNzk4
NDhkYzYxN2RjNjllMmIuLmZkNWU2ZjUyMDhhNGYzNGU1Y2MxY2UwMDkzZjA3MGY3ZjhhYjRkNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzRm9udFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9
CiAgICAgYm9vbCBpc0ltYWdlR2VuZXJhdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNz
VHlwZSA+PSBDYW52YXNDbGFzcyAmJiBtX2NsYXNzVHlwZSA8PSBSYWRpYWxHcmFkaWVudENsYXNz
OyB9CiAgICAgYm9vbCBpc0ltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBJbWFnZUNsYXNzIHx8IG1fY2xhc3NUeXBlID09IEN1cnNvckltYWdlQ2xhc3M7IH0KLSAgICBi
b29sIGlzSW1wbGljaXRJbml0aWFsVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBJbml0aWFsQ2xhc3MgJiYgbV9pc0ltcGxpY2l0SW5pdGlhbFZhbHVlOyB9CisgICAgYm9vbCBp
c0ltcGxpY2l0SW5pdGlhbFZhbHVlKCkgY29uc3Q7CiAgICAgYm9vbCBpc0luaGVyaXRlZFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW5oZXJpdGVkQ2xhc3M7IH0KICAgICBi
b29sIGlzSW5pdGlhbFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gSW5pdGlh
bENsYXNzOyB9CiAgICAgYm9vbCBpc1JlZmxlY3RWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xh
c3NUeXBlID09IFJlZmxlY3RDbGFzczsgfQpAQCAtMTQ1LDE0ICsxNDUsMjAgQEAgcHJvdGVjdGVk
OgogICAgICAgICAvLyBEbyBub3QgYXBwZW5kIG5vbi1saXN0IGNsYXNzIHR5cGVzIGhlcmUuCiAg
ICAgfTsKIAorICAgIHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVMaXN0U2VwYXJhdG9yQml0cyA9
IDI7CisgICAgZW51bSBWYWx1ZUxpc3RTZXBhcmF0b3IgeworICAgICAgICBTcGFjZVNlcGFyYXRv
ciwKKyAgICAgICAgQ29tbWFTZXBhcmF0b3IsCisgICAgICAgIFNsYXNoU2VwYXJhdG9yCisgICAg
fTsKKwogICAgIENsYXNzVHlwZSBjbGFzc1R5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxDbGFzc1R5cGU+KG1fY2xhc3NUeXBlKTsgfQogCiAgICAgZXhwbGljaXQgQ1NTVmFsdWUoQ2xh
c3NUeXBlIGNsYXNzVHlwZSkKICAgICAgICAgOiBtX3ByaW1pdGl2ZVVuaXRUeXBlKDApCiAgICAg
ICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0KGZhbHNlKQogICAgICAgICAsIG1faXNRdWlya1ZhbHVl
KGZhbHNlKQotICAgICAgICAsIG1faXNJbXBsaWNpdEluaXRpYWxWYWx1ZShmYWxzZSkKLSAgICAg
ICAgLCBtX2lzU3BhY2VTZXBhcmF0ZWRWYWx1ZUxpc3QoZmFsc2UpCisgICAgICAgICwgbV92YWx1
ZUxpc3RTZXBhcmF0b3IoU3BhY2VTZXBhcmF0b3IpCiAgICAgICAgICwgbV9jbGFzc1R5cGUoY2xh
c3NUeXBlKQogICAgIHsKICAgICB9CkBAIC0xNzQsMTEgKzE4MCw3IEBAIHByb3RlY3RlZDoKICAg
ICBtdXRhYmxlIGJvb2wgbV9oYXNDYWNoZWRDU1NUZXh0IDogMTsKICAgICBib29sIG1faXNRdWly
a1ZhbHVlIDogMTsKIAotICAgIC8vIENTU0luaXRpYWxWYWx1ZSBiaXRzOgotICAgIGJvb2wgbV9p
c0ltcGxpY2l0SW5pdGlhbFZhbHVlIDogMTsKLQotICAgIC8vIENTU1ZhbHVlTGlzdCBiaXRzOgot
ICAgIGJvb2wgbV9pc1NwYWNlU2VwYXJhdGVkVmFsdWVMaXN0IDogMTsKKyAgICB1bnNpZ25lZCBj
aGFyIG1fdmFsdWVMaXN0U2VwYXJhdG9yIDogVmFsdWVMaXN0U2VwYXJhdG9yQml0czsKIAogcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBjaGFyIG1fY2xhc3NUeXBlIDogQ2xhc3NUeXBlQml0czsgLy8g
Q2xhc3NUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCmluZGV4IDY2MWUxODNhNzY0
OTUxMDQwNDlkOWQzZGFmZjBhZjcxNTVkNGUyOTcuLjA3YWE3ODliMGVkZmI3OTU3NzdjMDQ1NWMx
YTA5NDU4ZDlkYTllMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxp
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCkBAIC0yNCwy
NSArMjQsMjYgQEAKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1ZhbHVl
TGlzdDo6Q1NTVmFsdWVMaXN0KENsYXNzVHlwZSBjbGFzc1R5cGUsIGJvb2wgaXNTcGFjZVNlcGFy
YXRlZCkKK0NTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KENsYXNzVHlwZSBjbGFzc1R5cGUsIFZh
bHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9yKQogICAgIDogQ1NTVmFsdWUoY2xhc3NUeXBl
KQogewotICAgIG1faXNTcGFjZVNlcGFyYXRlZFZhbHVlTGlzdCA9IGlzU3BhY2VTZXBhcmF0ZWQ7
CisgICAgbV92YWx1ZUxpc3RTZXBhcmF0b3IgPSBsaXN0U2VwYXJhdG9yOwogfQogCi1DU1NWYWx1
ZUxpc3Q6OkNTU1ZhbHVlTGlzdChib29sIGlzU3BhY2VTZXBhcmF0ZWQpCitDU1NWYWx1ZUxpc3Q6
OkNTU1ZhbHVlTGlzdChWYWx1ZUxpc3RTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENT
U1ZhbHVlKFZhbHVlTGlzdENsYXNzKQogewotICAgIG1faXNTcGFjZVNlcGFyYXRlZFZhbHVlTGlz
dCA9IGlzU3BhY2VTZXBhcmF0ZWQ7CisgICAgbV92YWx1ZUxpc3RTZXBhcmF0b3IgPSBsaXN0U2Vw
YXJhdG9yOwogfQogCiBDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdChDU1NQYXJzZXJWYWx1ZUxp
c3QqIGxpc3QpCiAgICAgOiBDU1NWYWx1ZShWYWx1ZUxpc3RDbGFzcykKIHsKLSAgICBtX2lzU3Bh
Y2VTZXBhcmF0ZWRWYWx1ZUxpc3QgPSB0cnVlOworICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0g
U3BhY2VTZXBhcmF0b3I7CiAgICAgaWYgKGxpc3QpIHsKICAgICAgICAgc2l6ZV90IHNpemUgPSBs
aXN0LT5zaXplKCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kp
CkBAIC04OCwyOCArODksNTEgQEAgYm9vbCBDU1NWYWx1ZUxpc3Q6Omhhc1ZhbHVlKENTU1ZhbHVl
KiB2YWwpIGNvbnN0CiAKIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxpc3Q6OmNv
cHkoKQogewotICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBuZXdMaXN0ID0gaXNTcGFjZVNl
cGFyYXRlZCgpID8gY3JlYXRlU3BhY2VTZXBhcmF0ZWQoKSA6IGNyZWF0ZUNvbW1hU2VwYXJhdGVk
KCk7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbmV3TGlzdDsKKyAgICBzd2l0Y2ggKG1fdmFs
dWVMaXN0U2VwYXJhdG9yKSB7CisgICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoKKyAgICAgICAgbmV3
TGlzdCA9IGNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Q29tbWFTZXBhcmF0b3I6CisgICAgICAgIG5ld0xpc3QgPSBjcmVhdGVDb21tYVNlcGFyYXRlZCgp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNsYXNoU2VwYXJhdG9yOgorICAgICAgICBuZXdM
aXN0ID0gY3JlYXRlU2xhc2hTZXBhcmF0ZWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBtX3ZhbHVlcy5zaXplKCk7IGluZGV4KyspCiAgICAgICAgIG5l
d0xpc3QtPmFwcGVuZChtX3ZhbHVlc1tpbmRleF0pOwotICAgIHJldHVybiBuZXdMaXN0OworICAg
IHJldHVybiBuZXdMaXN0LnJlbGVhc2UoKTsKIH0KIAogU3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nIHJlc3VsdCA9ICIiOworICAgIFN0cmlu
Z0J1aWxkZXIgcmVzdWx0OworICAgIFN0cmluZyBzZXBhcmF0b3I7CisgICAgc3dpdGNoIChtX3Zh
bHVlTGlzdFNlcGFyYXRvcikgeworICAgIGNhc2UgU3BhY2VTZXBhcmF0b3I6CisgICAgICAgIHNl
cGFyYXRvciA9ICIgIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb21tYVNlcGFyYXRvcjoK
KyAgICAgICAgc2VwYXJhdG9yID0gIiwgIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTbGFz
aFNlcGFyYXRvcjoKKyAgICAgICAgc2VwYXJhdG9yID0gIiAvICI7CisgICAgICAgIGJyZWFrOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KIAogICAg
IHVuc2lnbmVkIHNpemUgPSBtX3ZhbHVlcy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICBpZiAoIXJlc3VsdC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgICAgIGlmIChpc1NwYWNlU2VwYXJhdGVkKCkpCi0gICAgICAgICAgICAgICAgcmVzdWx0
ICs9ICIgIjsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gIiwg
IjsKLSAgICAgICAgfQotICAgICAgICByZXN1bHQgKz0gbV92YWx1ZXNbaV0tPmNzc1RleHQoKTsK
KyAgICAgICAgaWYgKCFyZXN1bHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZChzZXBhcmF0b3IpOworICAgICAgICByZXN1bHQuYXBwZW5kKG1fdmFsdWVzW2ldLT5jc3NUZXh0
KCkpOwogICAgIH0KIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0
cmluZygpOwogfQogCiB2b2lkIENTU1ZhbHVlTGlzdDo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMo
TGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMsIGNvbnN0IENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXggYzYyMjYyYTllMjY4MTQ3YTkxOTZlNzY0
MGMxYmI1ZGViYTAwM2QyMC4uMTZkMTk1YjBkNWM0YTE0YTJhZGRjMGIzNGYyNDgzNGRhNGQ4MTQ5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApAQCAtMzMsMTEgKzMzLDE1IEBAIGNsYXNz
IENTU1ZhbHVlTGlzdCA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjcmVhdGVDb21tYVNlcGFyYXRlZCgpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU1ZhbHVlTGlzdChmYWxzZSkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU1ZhbHVlTGlzdChDb21tYVNlcGFyYXRvcikpOwogICAgIH0K
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNyZWF0ZVNwYWNlU2VwYXJhdGVk
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFsdWVMaXN0KHRydWUp
KTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NWYWx1ZUxpc3QoU3BhY2VTZXBhcmF0
b3IpKTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjcmVhdGVT
bGFzaFNlcGFyYXRlZCgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU1Zh
bHVlTGlzdChTbGFzaFNlcGFyYXRvcikpOwogICAgIH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NWYWx1ZUxpc3Q+IGNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0
KiBsaXN0KQogICAgIHsKQEAgLTU5LDE0ICs2MywxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRT
dWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYsIGNvbnN0IENTU1N0eWxlU2hl
ZXQqKTsKIAogcHJvdGVjdGVkOgotICAgIENTU1ZhbHVlTGlzdChDbGFzc1R5cGUsIGJvb2wgaXNT
cGFjZVNlcGFyYXRlZCk7CisgICAgQ1NTVmFsdWVMaXN0KENsYXNzVHlwZSwgVmFsdWVMaXN0U2Vw
YXJhdG9yKTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDU1NWYWx1ZUxpc3QoYm9vbCBpc1Nw
YWNlU2VwYXJhdGVkKTsKKyAgICBleHBsaWNpdCBDU1NWYWx1ZUxpc3QoVmFsdWVMaXN0U2VwYXJh
dG9yKTsKICAgICBleHBsaWNpdCBDU1NWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0Kik7CiAK
LSAgICBib29sIGlzU3BhY2VTZXBhcmF0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU3BhY2VTZXBh
cmF0ZWRWYWx1ZUxpc3Q7IH0KLQogICAgIFZlY3RvcjxSZWZQdHI8Q1NTVmFsdWU+ID4gbV92YWx1
ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVy
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcApp
bmRleCBiOGUzOTkzM2EwNjI2MDFjMDk0OWRhOGEzYjMxYzE0NjM1NjZiNDVmLi45M2FlNDEwOTc1
OWZiN2Q5Y2JiOWMzZTgwYjVlZDM1YmVmNWU2NDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OldlYktpdENTU0ZpbHRlclZhbHVlKEZpbHRl
ck9wZXJhdGlvblR5cGUgb3BlcmF0aW9uVHlwZSkKLSAgICA6IENTU1ZhbHVlTGlzdChXZWJLaXRD
U1NGaWx0ZXJDbGFzcywgdHlwZVVzZXNTcGFjZVNlcGFyYXRvcihvcGVyYXRpb25UeXBlKSkKKyAg
ICA6IENTU1ZhbHVlTGlzdChXZWJLaXRDU1NGaWx0ZXJDbGFzcywgdHlwZVVzZXNTcGFjZVNlcGFy
YXRvcihvcGVyYXRpb25UeXBlKSA/IFNwYWNlU2VwYXJhdG9yIDogQ29tbWFTZXBhcmF0b3IpCiAg
ICAgLCBtX3R5cGUob3BlcmF0aW9uVHlwZSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCmluZGV4IDZhMzkxYWM4NTc5NWE3MDI2ODdiNGVk
OTE1ODU5MjkwMjc1OTc0ODguLjNlMmY5ZTYwZGIwNzllOThmN2Q3YjQ1MjY0OGE2ZmMwNjE3YTI0
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cApAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZTo6V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoVHJhbnNmb3JtT3BlcmF0aW9uVHlw
ZSBvcCkKLSAgICA6IENTU1ZhbHVlTGlzdChXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzcywgZmFsc2Up
CisgICAgOiBDU1NWYWx1ZUxpc3QoV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3MsIENvbW1hU2VwYXJh
dG9yKQogICAgICwgbV90eXBlKG9wKQogewogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>