<?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>81722</bug_id>
          
          <creation_ts>2012-03-20 16:55:17 -0700</creation_ts>
          <short_desc>compute the sign of flexibility for new flexbox</short_desc>
          <delta_ts>2012-03-21 13:00:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>hyatt</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>583618</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-20 16:55:17 -0700</bug_when>
    <thetext>compute the sign of flexibility for new flexbox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583627</commentid>
    <comment_count>1</comment_count>
      <attachid>132931</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-20 17:03:19 -0700</bug_when>
    <thetext>Created attachment 132931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583629</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-20 17:03:42 -0700</bug_when>
    <thetext>The ChangeLog links to the relevant part of the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583714</commentid>
    <comment_count>3</comment_count>
      <attachid>132931</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 19:42:56 -0700</bug_when>
    <thetext>Comment on attachment 132931
Patch

Attachment 132931 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12035169</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584281</commentid>
    <comment_count>4</comment_count>
      <attachid>133067</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-21 10:19:37 -0700</bug_when>
    <thetext>Created attachment 133067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584284</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-21 10:20:39 -0700</bug_when>
    <thetext>As discussed offline, rather than adding a new loop, we compute the min/max applied size when we&apos;re computing the not min/max applied size. This should be a bit more efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584402</commentid>
    <comment_count>6</comment_count>
      <attachid>133067</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-21 11:26:34 -0700</bug_when>
    <thetext>Comment on attachment 133067
Patch

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

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:744
&gt; +        Length maxLength = isHorizontalFlow() ? child-&gt;style()-&gt;maxWidth() : child-&gt;style()-&gt;maxHeight();
&gt; +        if (maxLength.isSpecified() &amp;&amp; childMinMaxAppliedMainAxisExtent &gt; valueForLength(maxLength, flexboxAvailableContentExtent))
&gt; +            childMinMaxAppliedMainAxisExtent = valueForLength(maxLength, flexboxAvailableContentExtent);
&gt; +        Length minLength = isHorizontalFlow() ? child-&gt;style()-&gt;minWidth() : child-&gt;style()-&gt;minHeight();
&gt; +        if (minLength.isSpecified() &amp;&amp; childMinMaxAppliedMainAxisExtent &lt; valueForLength(minLength, flexboxAvailableContentExtent))
&gt; +            childMinMaxAppliedMainAxisExtent = valueForLength(minLength, flexboxAvailableContentExtent);

As discussed in person, I&apos;m pretty sure this does the wrong thing for percentages. I think we may want to use RenderBox::computeLogicalHeightUsing and RenderBox::computeLogicalWidthInRegionUsing, but I&apos;m not sure.

In either case, I&apos;m fine with committing this now with a FIXME. Would be good to get Hyatt&apos;s thoughts on the right way to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584416</commentid>
    <comment_count>7</comment_count>
      <attachid>133084</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-21 11:36:00 -0700</bug_when>
    <thetext>Created attachment 133084
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584533</commentid>
    <comment_count>8</comment_count>
      <attachid>133084</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 13:00:39 -0700</bug_when>
    <thetext>Comment on attachment 133084
Patch for landing

Clearing flags on attachment: 133084

Committed r111596: &lt;http://trac.webkit.org/changeset/111596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584535</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 13:00:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132931</attachid>
            <date>2012-03-20 17:03:19 -0700</date>
            <delta_ts>2012-03-21 10:19:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81722-20120320170332.patch</filename>
            <type>text/plain</type>
            <size>7462</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmZkNzMxYWM4NmMzMzE4
M2FiMDczNTRhMzliZjhmM2I0NTg3YzY4Zi4uOGRjYzllZmM5YzZhMzc5NmRkZTZjYTc2ZGQ5MWNk
Yzg1ZjE0Zjg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTIwICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY29tcHV0ZSB0aGUgc2lnbiBv
ZiBmbGV4aWJpbGl0eSBmb3IgbmV3IGZsZXhib3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNzIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIHRoZSBjb21wdXRhdGlvbiBvZiB0
aGUgc2lnbiBvZiBmbGV4aWJpbGl0eSB1c2VkIGJ5IHRoZQorICAgICAgICBuZXcgZmxleGluZyBh
bGdvcml0aG0uCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtZmxleGJveC8j
cmVzb2x2ZS10aGUtZmxleGlibGUtbGVuZ3RocworCisgICAgICAgIE5vIG5ldyB0ZXN0cywgd2Ug
ZG9uJ3QgdXNlIHRoZSBzaWduIG9mIGZsZXhpYmlsaXR5IHlldC4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4
aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKTogQ29kZSBjbGVhbnVwLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmRldGVybWluZVNpZ25PZkZsZXhpYmlsaXR5KTogSW1w
bGVtZW50CisgICAgICAgIHBlciB0aGUgc3BlYy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0aHMpOiBS
ZW5hbWUgbWV0aG9kIHRvCisgICAgICAgIG1hdGNoIHRoZSBzcGVjIGJldHRlci4gUGFzcyBpbiB0
aGUgZmxleHNpZ24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94Lmg6IEFk
ZCBGbGV4U2lnbiBlbnVtLgorCiAyMDEyLTAzLTIwICBBZGVsZSBQZXRlcnNvbiAgPGFkZWxlQGFw
cGxlLmNvbT4KIAogICAgICAgICAiQXR0ZW1wdCB0byBpbnNlcnQgbmlsIHZhbHVlICIgZXhjZXB0
aW9uIHdoZW4gY2FsbGluZyBhdHRyaWJ1dGVkIHN0cmluZyBBUElzIG9uIGNvbnRlbnQgd2l0aCBh
IGN1c3RvbSBmb250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcAppbmRleCBmYjYxOWFiZGFkYjQxNjYyMWE4MTU0MGM4MmE3ZWViYzQxOWU2YmNmLi40
MGEzZWIzYjFkODU3NWRlMjQ3NjFkMDUzODNiZWU0MDUxODFhMDQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTYxNSw5ICs2MTUsMTAg
QEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlvdXRD
aGlsZHJlbikKICAgICBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCA9IGZsb3dBd2FyZUJvcmRl
ckJlZm9yZSgpICsgZmxvd0F3YXJlUGFkZGluZ0JlZm9yZSgpOwogICAgIHdoaWxlIChjb21wdXRl
TmV4dEZsZXhMaW5lKGZsZXhJdGVyYXRvciwgb3JkZXJlZENoaWxkcmVuLCBwcmVmZXJyZWRNYWlu
QXhpc0V4dGVudCwgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCB0b3RhbE5lZ2F0aXZlRmxleGli
aWxpdHkpKSB7CiAgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlID0gY29tcHV0
ZUF2YWlsYWJsZUZyZWVTcGFjZShwcmVmZXJyZWRNYWluQXhpc0V4dGVudCk7CisgICAgICAgIEZs
ZXhTaWduIGZsZXhTaWduID0gZGV0ZXJtaW5lU2lnbk9mRmxleGliaWxpdHkob3JkZXJlZENoaWxk
cmVuLCBhdmFpbGFibGVGcmVlU3BhY2UpOwogICAgICAgICBJbmZsZXhpYmxlRmxleEl0ZW1TaXpl
IGluZmxleGlibGVJdGVtczsKICAgICAgICAgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4gY2hpbGRT
aXplczsKLSAgICAgICAgd2hpbGUgKCFydW5GcmVlU3BhY2VBbGxvY2F0aW9uQWxnb3JpdGhtKG9y
ZGVyZWRDaGlsZHJlbiwgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbFBvc2l0aXZlRmxleGliaWxp
dHksIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgaW5mbGV4aWJsZUl0ZW1zLCBjaGlsZFNpemVz
KSkgeworICAgICAgICB3aGlsZSAoIXJlc29sdmVGbGV4aWJsZUxlbmd0aHMoZmxleFNpZ24sIG9y
ZGVyZWRDaGlsZHJlbiwgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbFBvc2l0aXZlRmxleGliaWxp
dHksIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgaW5mbGV4aWJsZUl0ZW1zLCBjaGlsZFNpemVz
KSkgewogICAgICAgICAgICAgQVNTRVJUKHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSA+PSAwICYm
IHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSA+PSAwKTsKICAgICAgICAgICAgIEFTU0VSVChpbmZs
ZXhpYmxlSXRlbXMuc2l6ZSgpID4gMCk7CiAgICAgICAgIH0KQEAgLTcyMSwxMCArNzIyLDcgQEAg
Ym9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRGbGV4TGluZShGbGV4T3JkZXJJdGVy
YXRvciYgaXRlcmF0b3IsIE9yZGVyZWQKICAgICAgICAgfQogCiAgICAgICAgIExheW91dFVuaXQg
Y2hpbGRNYWluQXhpc0V4dGVudCA9IG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNo
aWxkKGNoaWxkKSArIHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKGNoaWxk
KTsKLSAgICAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAgICAgIGNoaWxkTWFp
bkF4aXNFeHRlbnQgKz0gY2hpbGQtPm1hcmdpbldpZHRoKCk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIGNoaWxkTWFpbkF4aXNFeHRlbnQgKz0gY2hpbGQtPm1hcmdpbkhlaWdodCgpOworICAg
ICAgICBjaGlsZE1haW5BeGlzRXh0ZW50ICs9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5t
YXJnaW5XaWR0aCgpIDogY2hpbGQtPm1hcmdpbkhlaWdodCgpOwogCiAgICAgICAgIGlmIChpc011
bHRpbGluZSgpICYmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ICsgY2hpbGRNYWluQXhpc0V4dGVu
dCA+IGxpbmVCcmVhayAmJiBvcmRlcmVkQ2hpbGRyZW4uc2l6ZSgpID4gMCkKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtNzM2LDggKzczNCwzNCBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21w
dXRlTmV4dEZsZXhMaW5lKEZsZXhPcmRlckl0ZXJhdG9yJiBpdGVyYXRvciwgT3JkZXJlZAogICAg
IHJldHVybiB0cnVlOwogfQogCitSZW5kZXJGbGV4aWJsZUJveDo6RmxleFNpZ24gUmVuZGVyRmxl
eGlibGVCb3g6OmRldGVybWluZVNpZ25PZkZsZXhpYmlsaXR5KGNvbnN0IE9yZGVyZWRGbGV4SXRl
bUxpc3QmIGNoaWxkcmVuLCBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSkKK3sKKyAgICBM
YXlvdXRVbml0IGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50ID0gbWFpbkF4aXNDb250ZW50
RXh0ZW50KCk7CisgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRTaXplc1N1bSA9IDA7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5zaXplKCk7ICsraSkgeworICAgICAgICBSZW5k
ZXJCb3gqIGNoaWxkID0gY2hpbGRyZW5baV07CisgICAgICAgIGlmIChjaGlsZC0+aXNQb3NpdGlv
bmVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBMYXlvdXRVbml0IGNoaWxk
U2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKGNoaWxkKTsKKwor
ICAgICAgICBMZW5ndGggbWF4U2l6ZSA9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHls
ZSgpLT5tYXhXaWR0aCgpIDogY2hpbGQtPnN0eWxlKCktPm1heEhlaWdodCgpOworICAgICAgICBp
ZiAobWF4U2l6ZS5pc1NwZWNpZmllZCgpICYmIGNoaWxkU2l6ZSA+IHZhbHVlRm9yTGVuZ3RoKG1h
eFNpemUsIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KSkKKyAgICAgICAgICAgIGNoaWxk
U2l6ZSA9IHZhbHVlRm9yTGVuZ3RoKG1heFNpemUsIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0
ZW50KTsKKyAgICAgICAgTGVuZ3RoIG1pblNpemUgPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGls
ZC0+c3R5bGUoKS0+bWluV2lkdGgoKSA6IGNoaWxkLT5zdHlsZSgpLT5taW5IZWlnaHQoKTsKKyAg
ICAgICAgaWYgKG1pblNpemUuaXNTcGVjaWZpZWQoKSAmJiBjaGlsZFNpemUgPCB2YWx1ZUZvckxl
bmd0aChtaW5TaXplLCBmbGV4Ym94QXZhaWxhYmxlQ29udGVudEV4dGVudCkpCisgICAgICAgICAg
ICBjaGlsZFNpemUgPSB2YWx1ZUZvckxlbmd0aChtaW5TaXplLCBmbGV4Ym94QXZhaWxhYmxlQ29u
dGVudEV4dGVudCk7CisKKyAgICAgICAgY2hpbGRTaXplICs9IG1haW5BeGlzQm9yZGVyQW5kUGFk
ZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgY2hpbGRTaXplICs9IGlzSG9yaXpv
bnRhbEZsb3coKSA/IGNoaWxkLT5tYXJnaW5XaWR0aCgpIDogY2hpbGQtPm1hcmdpbkhlaWdodCgp
OworCisgICAgICAgIHByZWZlcnJlZFNpemVzU3VtICs9IGNoaWxkU2l6ZTsKKyAgICB9CisgICAg
cmV0dXJuIChwcmVmZXJyZWRTaXplc1N1bSA8IGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50
KSA/IFBvc2l0aXZlRmxleGliaWxpdHkgOiBOZWdhdGl2ZUZsZXhpYmlsaXR5OworfQorCiAvLyBS
ZXR1cm5zIHRydWUgaWYgd2Ugc3VjY2Vzc2Z1bGx5IHJhbiB0aGUgYWxnb3JpdGhtIGFuZCBzaXpl
ZCB0aGUgZmxleCBpdGVtcy4KLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJ1bkZyZWVTcGFjZUFs
bG9jYXRpb25BbGdvcml0aG0oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYgY2hpbGRyZW4sIExh
eW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJp
bGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVt
U2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hpbGRTaXpl
cykKK2Jvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0aHMoRmxleFNp
Z24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmIGNoaWxkcmVuLCBMYXlvdXRVbml0JiBhdmFp
bGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIGZsb2F0JiB0
b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGlibGVGbGV4SXRlbVNpemUmIGluZmxleGli
bGVJdGVtcywgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMpCiB7CiAgICAgY2hp
bGRTaXplcy5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5oCmluZGV4IDgzNGUzODJiYzk2MjM3MjNlNmE5NTU5N2MyY2JkNGMzMGY0M2E3YWQu
LmM5NThhNjRjMGI2MGI1ZWM1ZWVhMTkwOTdhNTgwYWE0NTY4YmVlZmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCkBAIC00OSw2ICs0OSwxMSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpc0hvcml6b250YWxGbG93KCkgY29uc3Q7CiAKIHByaXZhdGU6Cisg
ICAgZW51bSBGbGV4U2lnbiB7CisgICAgICAgIFBvc2l0aXZlRmxleGliaWxpdHksCisgICAgICAg
IE5lZ2F0aXZlRmxleGliaWxpdHksCisgICAgfTsKKwogICAgIHN0cnVjdCBGbGV4T3JkZXJIYXNo
VHJhaXRzOwogICAgIHR5cGVkZWYgSGFzaFNldDxpbnQsIERlZmF1bHRIYXNoPGludD46Okhhc2gs
IEZsZXhPcmRlckhhc2hUcmFpdHM+IEZsZXhPcmRlckhhc2hTZXQ7CiAKQEAgLTEwNiw3ICsxMTEs
MTAgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IGxpbmVCcmVha0xlbmd0aCgpOwogICAgIGJv
b2wgY29tcHV0ZU5leHRGbGV4TGluZShGbGV4T3JkZXJJdGVyYXRvciYsIE9yZGVyZWRGbGV4SXRl
bUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRl
bnQsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZl
RmxleGliaWxpdHkpOwogICAgIExheW91dFVuaXQgY29tcHV0ZUF2YWlsYWJsZUZyZWVTcGFjZShM
YXlvdXRVbml0IHByZWZlcnJlZE1haW5BeGlzRXh0ZW50KTsKLSAgICBib29sIHJ1bkZyZWVTcGFj
ZUFsbG9jYXRpb25BbGdvcml0aG0oY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIExheW91dFVu
aXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwg
ZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYs
IFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKTsKKworICAgIEZsZXhTaWduIGRl
dGVybWluZVNpZ25PZkZsZXhpYmlsaXR5KGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlv
dXRVbml0IGF2YWlsYWJsZVNwYWNlKTsKKyAgICBib29sIHJlc29sdmVGbGV4aWJsZUxlbmd0aHMo
RmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlvdXRVbml0JiBhdmFpbGFi
bGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIGZsb2F0JiB0b3Rh
bE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGlibGVGbGV4SXRlbVNpemUmLCBXVEY6OlZlY3Rv
cjxMYXlvdXRVbml0PiYgY2hpbGRTaXplcyk7CisKICAgICB2b2lkIHNldExvZ2ljYWxPdmVycmlk
ZVNpemUoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBjaGlsZFByZWZlcnJlZFNpemUpOwog
ICAgIHZvaWQgcHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dChSZW5kZXJCb3gqIGNoaWxk
LCBMYXlvdXRVbml0IG1haW5BeGlzT2Zmc2V0LCBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCk7
CiAgICAgdm9pZCBsYXlvdXRBbmRQbGFjZUNoaWxkcmVuKExheW91dFVuaXQmIGNyb3NzQXhpc09m
ZnNldCwgY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIGNvbnN0IFdURjo6VmVjdG9yPExheW91
dFVuaXQ+JiBjaGlsZFNpemVzLCBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133067</attachid>
            <date>2012-03-21 10:19:37 -0700</date>
            <delta_ts>2012-03-21 11:35:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81722-20120321101950.patch</filename>
            <type>text/plain</type>
            <size>9369</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk4MTQ5ZmY5ZmYxNDE0
YjFjNzc1MjliYTBhNjk1MmFlN2IyNzZmZC4uZTdjMzVlMDdjNDAwM2NiZDU2ZTJkODEyYjRiMGI2
MDRkNzVhN2Y5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTIxICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY29tcHV0ZSB0aGUgc2lnbiBv
ZiBmbGV4aWJpbGl0eSBmb3IgbmV3IGZsZXhib3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNzIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIHRoZSBjb21wdXRhdGlvbiBvZiB0
aGUgc2lnbiBvZiBmbGV4aWJpbGl0eSB1c2VkIGJ5IHRoZQorICAgICAgICBuZXcgZmxleGluZyBh
bGdvcml0aG0uCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtZmxleGJveC8j
cmVzb2x2ZS10aGUtZmxleGlibGUtbGVuZ3RocworCisgICAgICAgIE5vIG5ldyB0ZXN0cywgd2Ug
ZG9uJ3QgdXNlIHRoZSBzaWduIG9mIGZsZXhpYmlsaXR5IHlldC4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4
aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhp
YmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKTogQ29tcHV0ZSB0aGUgc2l6ZQorICAgICAgICBh
ZGp1c3RlZCBmb3IgbWluL21heCBhcyB3ZWxsIGFzIG5vdCBhZGp1c3RlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKTogUmVuYW1l
ZCB0byBtYXRjaAorICAgICAgICBzcGVjIHRleHQgYmV0dGVyLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGbGV4aWJsZUJveC5oOiBBZGRlZCBlbnVtIGZvciBmbGV4IHNpZ24uCisKIDIwMTIt
MDMtMjEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAog
ICAgICAgICBUaWxlZEJhY2tpbmdTdG9yZTogQ3JlYXRlIHRoZSBmaXJzdCByb3VuZCBvZiB0aWxl
cyBzeW5jaHJvbm91c2x5IGFmdGVyIHNldHRpbmcgdGhlIHZpc2libGUgcmVjdC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGZiNjE5YWJk
YWRiNDE2NjIxYTgxNTQwYzgyYTdlZWJjNDE5ZTZiY2YuLjExNzc2NzZkZWUxOWFkMDUzZDYxYjEz
ODMwYzQyODBmMDVmYTkxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcApAQCAtNjA2LDYgKzYwNiw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVC
b3g6OmxheW91dEZsZXhJdGVtcyhib29sIHJlbGF5b3V0Q2hpbGRyZW4pCiAgICAgTGF5b3V0VW5p
dCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudDsKICAgICBmbG9hdCB0b3RhbFBvc2l0aXZlRmxleGli
aWxpdHk7CiAgICAgZmxvYXQgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5OworICAgIExheW91dFVu
aXQgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50OwogICAgIEZsZXhPcmRlckl0ZXJhdG9yIGZs
ZXhJdGVyYXRvcih0aGlzLCBmbGV4T3JkZXJWYWx1ZXMpOwogCiAgICAgLy8gRm9yIHdyYXAtcmV2
ZXJzZSwgd2UgbmVlZCB0byBsYXlvdXQgYXMgd3JhcCwgdGhlbiByZXZlcnNlIHRoZSBsaW5lcy4g
VGhlIG5leHQgdHdvIGFycmF5cwpAQCAtNjEzLDExICs2MTQsMTIgQEAgdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICBXcmFw
UmV2ZXJzZUNvbnRleHQgd3JhcFJldmVyc2VDb250ZXh0KHN0eWxlKCktPmZsZXhXcmFwKCkpOwog
CiAgICAgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZzZXQgPSBmbG93QXdhcmVCb3JkZXJCZWZvcmUo
KSArIGZsb3dBd2FyZVBhZGRpbmdCZWZvcmUoKTsKLSAgICB3aGlsZSAoY29tcHV0ZU5leHRGbGV4
TGluZShmbGV4SXRlcmF0b3IsIG9yZGVyZWRDaGlsZHJlbiwgcHJlZmVycmVkTWFpbkF4aXNFeHRl
bnQsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5KSkg
eworICAgIHdoaWxlIChjb21wdXRlTmV4dEZsZXhMaW5lKGZsZXhJdGVyYXRvciwgb3JkZXJlZENo
aWxkcmVuLCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5
LCB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCkp
IHsKICAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UgPSBjb21wdXRlQXZhaWxh
YmxlRnJlZVNwYWNlKHByZWZlcnJlZE1haW5BeGlzRXh0ZW50KTsKKyAgICAgICAgRmxleFNpZ24g
ZmxleFNpZ24gPSAobWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50IDwgcHJlZmVycmVkTWFpbkF4
aXNFeHRlbnQgKyBhdmFpbGFibGVGcmVlU3BhY2UpID8gUG9zaXRpdmVGbGV4aWJpbGl0eSA6IE5l
Z2F0aXZlRmxleGliaWxpdHk7CiAgICAgICAgIEluZmxleGlibGVGbGV4SXRlbVNpemUgaW5mbGV4
aWJsZUl0ZW1zOwogICAgICAgICBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiBjaGlsZFNpemVzOwot
ICAgICAgICB3aGlsZSAoIXJ1bkZyZWVTcGFjZUFsbG9jYXRpb25BbGdvcml0aG0ob3JkZXJlZENo
aWxkcmVuLCBhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90
YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxkU2l6ZXMpKSB7Cisg
ICAgICAgIHdoaWxlICghcmVzb2x2ZUZsZXhpYmxlTGVuZ3RocyhmbGV4U2lnbiwgb3JkZXJlZENo
aWxkcmVuLCBhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgdG90
YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxkU2l6ZXMpKSB7CiAg
ICAgICAgICAgICBBU1NFUlQodG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ID49IDAgJiYgdG90YWxO
ZWdhdGl2ZUZsZXhpYmlsaXR5ID49IDApOwogICAgICAgICAgICAgQVNTRVJUKGluZmxleGlibGVJ
dGVtcy5zaXplKCkgPiAwKTsKICAgICAgICAgfQpAQCAtNzAzLDE1ICs3MDUsMTcgQEAgTGF5b3V0
VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6bGluZUJyZWFrTGVuZ3RoKCkKICAgICByZXR1cm4gaGVp
Z2h0OwogfQogCi1ib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKEZs
ZXhPcmRlckl0ZXJhdG9yJiBpdGVyYXRvciwgT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENo
aWxkcmVuLCBMYXlvdXRVbml0JiBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgZmxvYXQmIHRvdGFs
UG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSkKK2Jv
b2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleExpbmUoRmxleE9yZGVySXRlcmF0
b3ImIGl0ZXJhdG9yLCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91
dFVuaXQmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBmbG9hdCYgdG90YWxQb3NpdGl2ZUZsZXhp
YmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBMYXlvdXRVbml0JiBtaW5N
YXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQpCiB7CiAgICAgb3JkZXJlZENoaWxkcmVuLmNsZWFyKCk7
CiAgICAgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgPSAwOwogICAgIHRvdGFsUG9zaXRpdmVGbGV4
aWJpbGl0eSA9IHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSA9IDA7CisgICAgbWluTWF4QXBwbGll
ZE1haW5BeGlzRXh0ZW50ID0gMDsKIAogICAgIGlmICghaXRlcmF0b3IuY3VycmVudENoaWxkKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIExheW91dFVuaXQgZmxleGJveEF2YWlsYWJs
ZUNvbnRlbnRFeHRlbnQgPSBtYWluQXhpc0NvbnRlbnRFeHRlbnQoKTsKICAgICBMYXlvdXRVbml0
IGxpbmVCcmVhayA9IGxpbmVCcmVha0xlbmd0aCgpOwogCiAgICAgZm9yIChSZW5kZXJCb3gqIGNo
aWxkID0gaXRlcmF0b3IuY3VycmVudENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5l
eHQoKSkgewpAQCAtNzIwLDI0ICs3MjQsMzEgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y29t
cHV0ZU5leHRGbGV4TGluZShGbGV4T3JkZXJJdGVyYXRvciYgaXRlcmF0b3IsIE9yZGVyZWQKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgTGF5b3V0VW5pdCBjaGls
ZE1haW5BeGlzRXh0ZW50ID0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQo
Y2hpbGQpICsgcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQpOwot
ICAgICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICAgICAgY2hpbGRNYWluQXhp
c0V4dGVudCArPSBjaGlsZC0+bWFyZ2luV2lkdGgoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgY2hpbGRNYWluQXhpc0V4dGVudCArPSBjaGlsZC0+bWFyZ2luSGVpZ2h0KCk7CisgICAgICAg
IExheW91dFVuaXQgY2hpbGRNYWluQXhpc0V4dGVudCA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVu
dEV4dGVudEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBjaGlsZE1haW5BeGlz
TWFyZ2luQm94RXh0ZW50ID0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQo
Y2hpbGQpICsgY2hpbGRNYWluQXhpc0V4dGVudDsKKyAgICAgICAgY2hpbGRNYWluQXhpc01hcmdp
bkJveEV4dGVudCArPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC0+bWFyZ2luV2lkdGgoKSA6
IGNoaWxkLT5tYXJnaW5IZWlnaHQoKTsKIAotICAgICAgICBpZiAoaXNNdWx0aWxpbmUoKSAmJiBw
cmVmZXJyZWRNYWluQXhpc0V4dGVudCArIGNoaWxkTWFpbkF4aXNFeHRlbnQgPiBsaW5lQnJlYWsg
JiYgb3JkZXJlZENoaWxkcmVuLnNpemUoKSA+IDApCisgICAgICAgIGlmIChpc011bHRpbGluZSgp
ICYmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ICsgY2hpbGRNYWluQXhpc01hcmdpbkJveEV4dGVu
dCA+IGxpbmVCcmVhayAmJiBvcmRlcmVkQ2hpbGRyZW4uc2l6ZSgpID4gMCkKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBvcmRlcmVkQ2hpbGRyZW4uYXBwZW5kKGNoaWxkKTsKLSAgICAgICAg
cHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgKz0gY2hpbGRNYWluQXhpc0V4dGVudDsKKyAgICAgICAg
cHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgKz0gY2hpbGRNYWluQXhpc01hcmdpbkJveEV4dGVudDsK
ICAgICAgICAgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5ICs9IHBvc2l0aXZlRmxleEZvckNoaWxk
KGNoaWxkKTsKICAgICAgICAgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5ICs9IG5lZ2F0aXZlRmxl
eEZvckNoaWxkKGNoaWxkKTsKKworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWluTWF4QXBwbGll
ZE1haW5BeGlzRXh0ZW50ID0gY2hpbGRNYWluQXhpc0V4dGVudDsKKyAgICAgICAgTGVuZ3RoIG1h
eExlbmd0aCA9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgpLT5tYXhXaWR0aCgp
IDogY2hpbGQtPnN0eWxlKCktPm1heEhlaWdodCgpOworICAgICAgICBpZiAobWF4TGVuZ3RoLmlz
U3BlY2lmaWVkKCkgJiYgY2hpbGRNaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQgPiB2YWx1ZUZv
ckxlbmd0aChtYXhMZW5ndGgsIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KSkKKyAgICAg
ICAgICAgIGNoaWxkTWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50ID0gdmFsdWVGb3JMZW5ndGgo
bWF4TGVuZ3RoLCBmbGV4Ym94QXZhaWxhYmxlQ29udGVudEV4dGVudCk7CisgICAgICAgIExlbmd0
aCBtaW5MZW5ndGggPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC0+c3R5bGUoKS0+bWluV2lk
dGgoKSA6IGNoaWxkLT5zdHlsZSgpLT5taW5IZWlnaHQoKTsKKyAgICAgICAgaWYgKG1pbkxlbmd0
aC5pc1NwZWNpZmllZCgpICYmIGNoaWxkTWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50IDwgdmFs
dWVGb3JMZW5ndGgobWluTGVuZ3RoLCBmbGV4Ym94QXZhaWxhYmxlQ29udGVudEV4dGVudCkpCisg
ICAgICAgICAgICBjaGlsZE1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCA9IHZhbHVlRm9yTGVu
Z3RoKG1pbkxlbmd0aCwgZmxleGJveEF2YWlsYWJsZUNvbnRlbnRFeHRlbnQpOworICAgICAgICBt
aW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQgKz0gY2hpbGRNaW5NYXhBcHBsaWVkTWFpbkF4aXNF
eHRlbnQgLSBjaGlsZE1haW5BeGlzRXh0ZW50ICsgY2hpbGRNYWluQXhpc01hcmdpbkJveEV4dGVu
dDsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIC8vIFJldHVybnMgdHJ1ZSBpZiB3ZSBz
dWNjZXNzZnVsbHkgcmFuIHRoZSBhbGdvcml0aG0gYW5kIHNpemVkIHRoZSBmbGV4IGl0ZW1zLgot
Ym9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cnVuRnJlZVNwYWNlQWxsb2NhdGlvbkFsZ29yaXRobShj
b25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxl
RnJlZVNwYWNlLCBmbG9hdCYgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxO
ZWdhdGl2ZUZsZXhpYmlsaXR5LCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJiBpbmZsZXhpYmxlSXRl
bXMsIFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKQorYm9vbCBSZW5kZXJGbGV4
aWJsZUJveDo6cmVzb2x2ZUZsZXhpYmxlTGVuZ3RocyhGbGV4U2lnbiwgY29uc3QgT3JkZXJlZEZs
ZXhJdGVtTGlzdCYgY2hpbGRyZW4sIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZmxv
YXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJp
bGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBXVEY6OlZlY3Rv
cjxMYXlvdXRVbml0PiYgY2hpbGRTaXplcykKIHsKICAgICBjaGlsZFNpemVzLmNsZWFyKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXggODM0
ZTM4MmJjOTYyMzcyM2U2YTk1NTk3YzJjYmQ0YzMwZjQzYTdhZC4uMmE2MzAyMWYxNDJmNDNiMTc0
YjBlNjdiODZmZmM1YjgyNGVmYTE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHB1YmxpYzoKICAgICBib29sIGlz
SG9yaXpvbnRhbEZsb3coKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICBlbnVtIEZsZXhTaWduIHsK
KyAgICAgICAgUG9zaXRpdmVGbGV4aWJpbGl0eSwKKyAgICAgICAgTmVnYXRpdmVGbGV4aWJpbGl0
eSwKKyAgICB9OworCiAgICAgc3RydWN0IEZsZXhPcmRlckhhc2hUcmFpdHM7CiAgICAgdHlwZWRl
ZiBIYXNoU2V0PGludCwgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwgRmxleE9yZGVySGFzaFRyYWl0
cz4gRmxleE9yZGVySGFzaFNldDsKIApAQCAtMTA0LDkgKzEwOSw5IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGNvbXB1dGVNYWluQXhpc1ByZWZlcnJlZFNpemVzKGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgRmxleE9yZGVySGFzaFNldCYpOwogICAgIExheW91dFVuaXQgbGluZUJyZWFrTGVuZ3RoKCk7
Ci0gICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKEZsZXhPcmRlckl0ZXJhdG9yJiwgT3JkZXJl
ZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENoaWxkcmVuLCBMYXlvdXRVbml0JiBwcmVmZXJyZWRNYWlu
QXhpc0V4dGVudCwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFs
TmVnYXRpdmVGbGV4aWJpbGl0eSk7CisgICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKEZsZXhP
cmRlckl0ZXJhdG9yJiwgT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENoaWxkcmVuLCBMYXlv
dXRVbml0JiBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4
aWJpbGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgTGF5b3V0VW5pdCYgbWlu
TWF4QXBwbGllZE1haW5BeGlzRXh0ZW50KTsKICAgICBMYXlvdXRVbml0IGNvbXB1dGVBdmFpbGFi
bGVGcmVlU3BhY2UoTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCk7Ci0gICAgYm9v
bCBydW5GcmVlU3BhY2VBbGxvY2F0aW9uQWxnb3JpdGhtKGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxp
c3QmLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0aXZl
RmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGlibGVG
bGV4SXRlbVNpemUmLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hpbGRTaXplcyk7CisgICAg
Ym9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0
ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBmbG9hdCYgdG90YWxQb3Np
dGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBJbmZsZXhp
YmxlRmxleEl0ZW1TaXplJiwgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMpOwog
ICAgIHZvaWQgc2V0TG9naWNhbE92ZXJyaWRlU2l6ZShSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRV
bml0IGNoaWxkUHJlZmVycmVkU2l6ZSk7CiAgICAgdm9pZCBwcmVwYXJlQ2hpbGRGb3JQb3NpdGlv
bmVkTGF5b3V0KFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbWFpbkF4aXNPZmZzZXQsIExh
eW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICB2b2lkIGxheW91dEFuZFBsYWNlQ2hpbGRy
ZW4oTGF5b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0
JiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIExheW91dFVuaXQg
YXZhaWxhYmxlRnJlZVNwYWNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133084</attachid>
            <date>2012-03-21 11:36:00 -0700</date>
            <delta_ts>2012-03-21 13:00:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81722-20120321113613.patch</filename>
            <type>text/plain</type>
            <size>9555</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk4MTQ5ZmY5ZmYxNDE0
YjFjNzc1MjliYTBhNjk1MmFlN2IyNzZmZC4uNDEzMWMxNmQyYmNlMmZkNjFlYTgzNzdhYjRkNjVi
MmM1ZjhmYmRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTIxICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY29tcHV0ZSB0aGUgc2lnbiBv
ZiBmbGV4aWJpbGl0eSBmb3IgbmV3IGZsZXhib3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNzIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBW
YWZhaS4KKworICAgICAgICBUaGlzIGltcGxlbWVudHMgdGhlIGNvbXB1dGF0aW9uIG9mIHRoZSBz
aWduIG9mIGZsZXhpYmlsaXR5IHVzZWQgYnkgdGhlCisgICAgICAgIG5ldyBmbGV4aW5nIGFsZ29y
aXRobS4KKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1mbGV4Ym94LyNyZXNv
bHZlLXRoZS1mbGV4aWJsZS1sZW5ndGhzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3ZSBkb24n
dCB1c2UgdGhlIHNpZ24gb2YgZmxleGliaWxpdHkgeWV0LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxl
Qm94OjpsYXlvdXRGbGV4SXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVC
b3g6OmNvbXB1dGVOZXh0RmxleExpbmUpOiBDb21wdXRlIHRoZSBzaXplCisgICAgICAgIGFkanVz
dGVkIGZvciBtaW4vbWF4IGFzIHdlbGwgYXMgbm90IGFkanVzdGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0aHMpOiBSZW5hbWVkIHRv
IG1hdGNoCisgICAgICAgIHNwZWMgdGV4dCBiZXR0ZXIuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94Lmg6IEFkZGVkIGVudW0gZm9yIGZsZXggc2lnbi4KKwogMjAxMi0wMy0y
MSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAg
ICAgIFRpbGVkQmFja2luZ1N0b3JlOiBDcmVhdGUgdGhlIGZpcnN0IHJvdW5kIG9mIHRpbGVzIHN5
bmNocm9ub3VzbHkgYWZ0ZXIgc2V0dGluZyB0aGUgdmlzaWJsZSByZWN0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggZmI2MTlhYmRhZGI0
MTY2MjFhODE1NDBjODJhN2VlYmM0MTllNmJjZi4uYWE1M2MxNGZkODM4OThlZjdhMjBhNmYxY2M0
MTkyY2Q5MzM3Mzc0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCkBAIC02MDYsNiArNjA2LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6
bGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKICAgICBMYXlvdXRVbml0IHBy
ZWZlcnJlZE1haW5BeGlzRXh0ZW50OwogICAgIGZsb2F0IHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0
eTsKICAgICBmbG9hdCB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHk7CisgICAgTGF5b3V0VW5pdCBt
aW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQ7CiAgICAgRmxleE9yZGVySXRlcmF0b3IgZmxleEl0
ZXJhdG9yKHRoaXMsIGZsZXhPcmRlclZhbHVlcyk7CiAKICAgICAvLyBGb3Igd3JhcC1yZXZlcnNl
LCB3ZSBuZWVkIHRvIGxheW91dCBhcyB3cmFwLCB0aGVuIHJldmVyc2UgdGhlIGxpbmVzLiBUaGUg
bmV4dCB0d28gYXJyYXlzCkBAIC02MTMsMTEgKzYxNCwxMiBAQCB2b2lkIFJlbmRlckZsZXhpYmxl
Qm94OjpsYXlvdXRGbGV4SXRlbXMoYm9vbCByZWxheW91dENoaWxkcmVuKQogICAgIFdyYXBSZXZl
cnNlQ29udGV4dCB3cmFwUmV2ZXJzZUNvbnRleHQoc3R5bGUoKS0+ZmxleFdyYXAoKSk7CiAKICAg
ICBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCA9IGZsb3dBd2FyZUJvcmRlckJlZm9yZSgpICsg
Zmxvd0F3YXJlUGFkZGluZ0JlZm9yZSgpOwotICAgIHdoaWxlIChjb21wdXRlTmV4dEZsZXhMaW5l
KGZsZXhJdGVyYXRvciwgb3JkZXJlZENoaWxkcmVuLCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwg
dG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkpKSB7Cisg
ICAgd2hpbGUgKGNvbXB1dGVOZXh0RmxleExpbmUoZmxleEl0ZXJhdG9yLCBvcmRlcmVkQ2hpbGRy
ZW4sIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIHRv
dGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50KSkgewog
ICAgICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUZyZWVTcGFjZSA9IGNvbXB1dGVBdmFpbGFibGVG
cmVlU3BhY2UocHJlZmVycmVkTWFpbkF4aXNFeHRlbnQpOworICAgICAgICBGbGV4U2lnbiBmbGV4
U2lnbiA9IChtaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQgPCBwcmVmZXJyZWRNYWluQXhpc0V4
dGVudCArIGF2YWlsYWJsZUZyZWVTcGFjZSkgPyBQb3NpdGl2ZUZsZXhpYmlsaXR5IDogTmVnYXRp
dmVGbGV4aWJpbGl0eTsKICAgICAgICAgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSBpbmZsZXhpYmxl
SXRlbXM7CiAgICAgICAgIFdURjo6VmVjdG9yPExheW91dFVuaXQ+IGNoaWxkU2l6ZXM7Ci0gICAg
ICAgIHdoaWxlICghcnVuRnJlZVNwYWNlQWxsb2NhdGlvbkFsZ29yaXRobShvcmRlcmVkQ2hpbGRy
ZW4sIGF2YWlsYWJsZUZyZWVTcGFjZSwgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCB0b3RhbE5l
Z2F0aXZlRmxleGliaWxpdHksIGluZmxleGlibGVJdGVtcywgY2hpbGRTaXplcykpIHsKKyAgICAg
ICAgd2hpbGUgKCFyZXNvbHZlRmxleGlibGVMZW5ndGhzKGZsZXhTaWduLCBvcmRlcmVkQ2hpbGRy
ZW4sIGF2YWlsYWJsZUZyZWVTcGFjZSwgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCB0b3RhbE5l
Z2F0aXZlRmxleGliaWxpdHksIGluZmxleGlibGVJdGVtcywgY2hpbGRTaXplcykpIHsKICAgICAg
ICAgICAgIEFTU0VSVCh0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkgPj0gMCAmJiB0b3RhbE5lZ2F0
aXZlRmxleGliaWxpdHkgPj0gMCk7CiAgICAgICAgICAgICBBU1NFUlQoaW5mbGV4aWJsZUl0ZW1z
LnNpemUoKSA+IDApOwogICAgICAgICB9CkBAIC03MDMsMTUgKzcwNSwxNyBAQCBMYXlvdXRVbml0
IFJlbmRlckZsZXhpYmxlQm94OjpsaW5lQnJlYWtMZW5ndGgoKQogICAgIHJldHVybiBoZWlnaHQ7
CiB9CiAKLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleExpbmUoRmxleE9y
ZGVySXRlcmF0b3ImIGl0ZXJhdG9yLCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRy
ZW4sIExheW91dFVuaXQmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBmbG9hdCYgdG90YWxQb3Np
dGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5KQorYm9vbCBS
ZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRGbGV4TGluZShGbGV4T3JkZXJJdGVyYXRvciYg
aXRlcmF0b3IsIE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5p
dCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxp
dHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIExheW91dFVuaXQmIG1pbk1heEFw
cGxpZWRNYWluQXhpc0V4dGVudCkKIHsKICAgICBvcmRlcmVkQ2hpbGRyZW4uY2xlYXIoKTsKICAg
ICBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCA9IDA7CiAgICAgdG90YWxQb3NpdGl2ZUZsZXhpYmls
aXR5ID0gdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5ID0gMDsKKyAgICBtaW5NYXhBcHBsaWVkTWFp
bkF4aXNFeHRlbnQgPSAwOwogCiAgICAgaWYgKCFpdGVyYXRvci5jdXJyZW50Q2hpbGQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgTGF5b3V0VW5pdCBmbGV4Ym94QXZhaWxhYmxlQ29u
dGVudEV4dGVudCA9IG1haW5BeGlzQ29udGVudEV4dGVudCgpOwogICAgIExheW91dFVuaXQgbGlu
ZUJyZWFrID0gbGluZUJyZWFrTGVuZ3RoKCk7CiAKICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQg
PSBpdGVyYXRvci5jdXJyZW50Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gaXRlcmF0b3IubmV4dCgp
KSB7CkBAIC03MjAsMjQgKzcyNCwzMyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRl
TmV4dEZsZXhMaW5lKEZsZXhPcmRlckl0ZXJhdG9yJiBpdGVyYXRvciwgT3JkZXJlZAogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWFp
bkF4aXNFeHRlbnQgPSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGls
ZCkgKyBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCk7Ci0gICAg
ICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAgICAgICAgICBjaGlsZE1haW5BeGlzRXh0
ZW50ICs9IGNoaWxkLT5tYXJnaW5XaWR0aCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBj
aGlsZE1haW5BeGlzRXh0ZW50ICs9IGNoaWxkLT5tYXJnaW5IZWlnaHQoKTsKKyAgICAgICAgTGF5
b3V0VW5pdCBjaGlsZE1haW5BeGlzRXh0ZW50ID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0
ZW50Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWFpbkF4aXNNYXJn
aW5Cb3hFeHRlbnQgPSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGls
ZCkgKyBjaGlsZE1haW5BeGlzRXh0ZW50OworICAgICAgICBjaGlsZE1haW5BeGlzTWFyZ2luQm94
RXh0ZW50ICs9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5tYXJnaW5XaWR0aCgpIDogY2hp
bGQtPm1hcmdpbkhlaWdodCgpOwogCi0gICAgICAgIGlmIChpc011bHRpbGluZSgpICYmIHByZWZl
cnJlZE1haW5BeGlzRXh0ZW50ICsgY2hpbGRNYWluQXhpc0V4dGVudCA+IGxpbmVCcmVhayAmJiBv
cmRlcmVkQ2hpbGRyZW4uc2l6ZSgpID4gMCkKKyAgICAgICAgaWYgKGlzTXVsdGlsaW5lKCkgJiYg
cHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgKyBjaGlsZE1haW5BeGlzTWFyZ2luQm94RXh0ZW50ID4g
bGluZUJyZWFrICYmIG9yZGVyZWRDaGlsZHJlbi5zaXplKCkgPiAwKQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIG9yZGVyZWRDaGlsZHJlbi5hcHBlbmQoY2hpbGQpOwotICAgICAgICBwcmVm
ZXJyZWRNYWluQXhpc0V4dGVudCArPSBjaGlsZE1haW5BeGlzRXh0ZW50OworICAgICAgICBwcmVm
ZXJyZWRNYWluQXhpc0V4dGVudCArPSBjaGlsZE1haW5BeGlzTWFyZ2luQm94RXh0ZW50OwogICAg
ICAgICB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHkgKz0gcG9zaXRpdmVGbGV4Rm9yQ2hpbGQoY2hp
bGQpOwogICAgICAgICB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHkgKz0gbmVnYXRpdmVGbGV4Rm9y
Q2hpbGQoY2hpbGQpOworCisgICAgICAgIExheW91dFVuaXQgY2hpbGRNaW5NYXhBcHBsaWVkTWFp
bkF4aXNFeHRlbnQgPSBjaGlsZE1haW5BeGlzRXh0ZW50OworICAgICAgICAvLyBGSVhNRTogdmFs
dWVGb3JMZW5ndGggaXNuJ3QgcXVpdGUgcmlnaHQgaW4gcXVpcmtzIG1vZGU6IHBlcmNlbnRhZ2Ug
aGVpZ2h0cyBzaG91bGQgY2hlY2sgcGFyZW50cyB1bnRpbCBhIHZhbHVlIGlzIGZvdW5kLgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE4MDkKKyAg
ICAgICAgTGVuZ3RoIG1heExlbmd0aCA9IGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHls
ZSgpLT5tYXhXaWR0aCgpIDogY2hpbGQtPnN0eWxlKCktPm1heEhlaWdodCgpOworICAgICAgICBp
ZiAobWF4TGVuZ3RoLmlzU3BlY2lmaWVkKCkgJiYgY2hpbGRNaW5NYXhBcHBsaWVkTWFpbkF4aXNF
eHRlbnQgPiB2YWx1ZUZvckxlbmd0aChtYXhMZW5ndGgsIGZsZXhib3hBdmFpbGFibGVDb250ZW50
RXh0ZW50KSkKKyAgICAgICAgICAgIGNoaWxkTWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50ID0g
dmFsdWVGb3JMZW5ndGgobWF4TGVuZ3RoLCBmbGV4Ym94QXZhaWxhYmxlQ29udGVudEV4dGVudCk7
CisgICAgICAgIExlbmd0aCBtaW5MZW5ndGggPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC0+
c3R5bGUoKS0+bWluV2lkdGgoKSA6IGNoaWxkLT5zdHlsZSgpLT5taW5IZWlnaHQoKTsKKyAgICAg
ICAgaWYgKG1pbkxlbmd0aC5pc1NwZWNpZmllZCgpICYmIGNoaWxkTWluTWF4QXBwbGllZE1haW5B
eGlzRXh0ZW50IDwgdmFsdWVGb3JMZW5ndGgobWluTGVuZ3RoLCBmbGV4Ym94QXZhaWxhYmxlQ29u
dGVudEV4dGVudCkpCisgICAgICAgICAgICBjaGlsZE1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVu
dCA9IHZhbHVlRm9yTGVuZ3RoKG1pbkxlbmd0aCwgZmxleGJveEF2YWlsYWJsZUNvbnRlbnRFeHRl
bnQpOworICAgICAgICBtaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQgKz0gY2hpbGRNaW5NYXhB
cHBsaWVkTWFpbkF4aXNFeHRlbnQgLSBjaGlsZE1haW5BeGlzRXh0ZW50ICsgY2hpbGRNYWluQXhp
c01hcmdpbkJveEV4dGVudDsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIC8vIFJldHVy
bnMgdHJ1ZSBpZiB3ZSBzdWNjZXNzZnVsbHkgcmFuIHRoZSBhbGdvcml0aG0gYW5kIHNpemVkIHRo
ZSBmbGV4IGl0ZW1zLgotYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cnVuRnJlZVNwYWNlQWxsb2Nh
dGlvbkFsZ29yaXRobShjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgTGF5b3V0
VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBmbG9hdCYgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5
LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhpYmlsaXR5LCBJbmZsZXhpYmxlRmxleEl0ZW1TaXpl
JiBpbmZsZXhpYmxlSXRlbXMsIFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzKQor
Ym9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhpYmxlTGVuZ3RocyhGbGV4U2lnbiwg
Y29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYgY2hpbGRyZW4sIExheW91dFVuaXQmIGF2YWlsYWJs
ZUZyZWVTcGFjZSwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFs
TmVnYXRpdmVGbGV4aWJpbGl0eSwgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0
ZW1zLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hpbGRTaXplcykKIHsKICAgICBjaGlsZFNp
emVzLmNsZWFyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmgKaW5kZXggODM0ZTM4MmJjOTYyMzcyM2U2YTk1NTk3YzJjYmQ0YzMwZjQzYTdhZC4uMmE2
MzAyMWYxNDJmNDNiMTc0YjBlNjdiODZmZmM1YjgyNGVmYTE3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHB1Ymxp
YzoKICAgICBib29sIGlzSG9yaXpvbnRhbEZsb3coKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICBl
bnVtIEZsZXhTaWduIHsKKyAgICAgICAgUG9zaXRpdmVGbGV4aWJpbGl0eSwKKyAgICAgICAgTmVn
YXRpdmVGbGV4aWJpbGl0eSwKKyAgICB9OworCiAgICAgc3RydWN0IEZsZXhPcmRlckhhc2hUcmFp
dHM7CiAgICAgdHlwZWRlZiBIYXNoU2V0PGludCwgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwgRmxl
eE9yZGVySGFzaFRyYWl0cz4gRmxleE9yZGVySGFzaFNldDsKIApAQCAtMTA0LDkgKzEwOSw5IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIGNvbXB1dGVNYWluQXhpc1ByZWZlcnJlZFNpemVzKGJvb2wg
cmVsYXlvdXRDaGlsZHJlbiwgRmxleE9yZGVySGFzaFNldCYpOwogICAgIExheW91dFVuaXQgbGlu
ZUJyZWFrTGVuZ3RoKCk7Ci0gICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKEZsZXhPcmRlckl0
ZXJhdG9yJiwgT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENoaWxkcmVuLCBMYXlvdXRVbml0
JiBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgZmxvYXQmIHRvdGFsUG9zaXRpdmVGbGV4aWJpbGl0
eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSk7CisgICAgYm9vbCBjb21wdXRlTmV4
dEZsZXhMaW5lKEZsZXhPcmRlckl0ZXJhdG9yJiwgT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJl
ZENoaWxkcmVuLCBMYXlvdXRVbml0JiBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgZmxvYXQmIHRv
dGFsUG9zaXRpdmVGbGV4aWJpbGl0eSwgZmxvYXQmIHRvdGFsTmVnYXRpdmVGbGV4aWJpbGl0eSwg
TGF5b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50KTsKICAgICBMYXlvdXRVbml0
IGNvbXB1dGVBdmFpbGFibGVGcmVlU3BhY2UoTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0V4
dGVudCk7Ci0gICAgYm9vbCBydW5GcmVlU3BhY2VBbGxvY2F0aW9uQWxnb3JpdGhtKGNvbnN0IE9y
ZGVyZWRGbGV4SXRlbUxpc3QmLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0
JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxp
dHksIEluZmxleGlibGVGbGV4SXRlbVNpemUmLCBXVEY6OlZlY3RvcjxMYXlvdXRVbml0PiYgY2hp
bGRTaXplcyk7CisgICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25z
dCBPcmRlcmVkRmxleEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBm
bG9hdCYgdG90YWxQb3NpdGl2ZUZsZXhpYmlsaXR5LCBmbG9hdCYgdG90YWxOZWdhdGl2ZUZsZXhp
YmlsaXR5LCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJiwgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4m
IGNoaWxkU2l6ZXMpOwogICAgIHZvaWQgc2V0TG9naWNhbE92ZXJyaWRlU2l6ZShSZW5kZXJCb3gq
IGNoaWxkLCBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZSk7CiAgICAgdm9pZCBwcmVwYXJl
Q2hpbGRGb3JQb3NpdGlvbmVkTGF5b3V0KFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbWFp
bkF4aXNPZmZzZXQsIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICB2b2lkIGxheW91
dEFuZFBsYWNlQ2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRl
cmVkRmxleEl0ZW1MaXN0JiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6
ZXMsIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>