<?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>106956</bug_id>
          
          <creation_ts>2013-01-15 16:11:21 -0800</creation_ts>
          <short_desc>RenderListMarker::computePreferredLogicalWidth should not be public</short_desc>
          <delta_ts>2013-01-16 10:04:18 -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="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>leviw</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807797</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-15 16:11:21 -0800</bug_when>
    <thetext>RenderListMarker::computePreferredLogicalWidth should not be public</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807809</commentid>
    <comment_count>1</comment_count>
      <attachid>182869</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-15 16:22:25 -0800</bug_when>
    <thetext>Created attachment 182869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807830</commentid>
    <comment_count>2</comment_count>
      <attachid>182869</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-15 17:02:38 -0800</bug_when>
    <thetext>Comment on attachment 182869
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        The isImage() codepath never calls computePreferredLogicalWidths, so we need to make
&gt; +        sure the content and margins are updated.

Why doesn&apos;t the isImage() codepath call computePreferredLogicalWidth? It looks like computePreferredLogicalWidth has an isImage() branch.

&gt; Source/WebCore/rendering/RenderListMarker.cpp:1371
&gt; +        return;

font and fontMetrics could be moved into the isImage() branch.

&gt; Source/WebCore/rendering/RenderListMarker.cpp:1383
&gt; +    default:

We normally enumerate all the enum values in a switch.  I guess this is OK...

&gt; Source/WebCore/rendering/RenderListMarker.h:48
&gt; +    void updateMarginsAndContent() { updateContent(); updateMargins(); }

I would move the implementation to the cpp file unless it needs to be inlined. If it needs to be inlined, then I would split it to multiple lines.

&gt; Source/WebCore/rendering/RenderListMarker.h:52
&gt; +    virtual void computePreferredLogicalWidths();

OVERRIDE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807896</commentid>
    <comment_count>3</comment_count>
      <attachid>182869</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-15 18:24:51 -0800</bug_when>
    <thetext>Comment on attachment 182869
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:17
&gt;&gt; +        sure the content and margins are updated.
&gt; 
&gt; Why doesn&apos;t the isImage() codepath call computePreferredLogicalWidth? It looks like computePreferredLogicalWidth has an isImage() branch.

It doesn&apos;t use the min or max preferred widths, so there&apos;s no need to.

&gt;&gt; Source/WebCore/rendering/RenderListMarker.cpp:1383
&gt;&gt; +    default:
&gt; 
&gt; We normally enumerate all the enum values in a switch.  I guess this is OK...

Sure. It was a long list, so I went with this, but that&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807897</commentid>
    <comment_count>4</comment_count>
      <attachid>182893</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-15 18:25:36 -0800</bug_when>
    <thetext>Created attachment 182893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808446</commentid>
    <comment_count>5</comment_count>
      <attachid>182893</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-16 09:48:06 -0800</bug_when>
    <thetext>Comment on attachment 182893
Patch

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

&gt; Source/WebCore/rendering/RenderListMarker.cpp:1365
&gt; +    // FIXME: This if-statement is just a performance optimization, but it&apos;s messy to use the preferredLogicalWidths dirty bit for this.
&gt; +    // It&apos;s unclear if this is a premature optimization.
&gt; +    if (!preferredLogicalWidthsDirty())
&gt; +        return;

It seems like it would be possible for preferredLogicalWidthsDirty to be false and the content changed, but I guess that means we would have a bug where changing the content didn&apos;t set preferredLogicalWidthsDirty to true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808464</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-16 09:58:46 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 182893 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182893&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderListMarker.cpp:1365
&gt; &gt; +    // FIXME: This if-statement is just a performance optimization, but it&apos;s messy to use the preferredLogicalWidths dirty bit for this.
&gt; &gt; +    // It&apos;s unclear if this is a premature optimization.
&gt; &gt; +    if (!preferredLogicalWidthsDirty())
&gt; &gt; +        return;
&gt; 
&gt; It seems like it would be possible for preferredLogicalWidthsDirty to be false and the content changed, but I guess that means we would have a bug where changing the content didn&apos;t set preferredLogicalWidthsDirty to true?

Right. That was my thinking. I went down the path of adding a bit to explicitly track this and it was a bit silly because I had to set the dirty bit everywhere that the preferredLogicalWidthsDirty bit was set. That, combined with the extra memory usage, made me decide on the current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808474</commentid>
    <comment_count>7</comment_count>
      <attachid>182893</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 10:04:13 -0800</bug_when>
    <thetext>Comment on attachment 182893
Patch

Clearing flags on attachment: 182893

Committed r139891: &lt;http://trac.webkit.org/changeset/139891&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808475</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 10:04:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182869</attachid>
            <date>2013-01-15 16:22:25 -0800</date>
            <delta_ts>2013-01-15 18:25:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106956-20130115161927.patch</filename>
            <type>text/plain</type>
            <size>7119</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY5NzFiNzViZWJkNDRi
OWJlYmNhNGRkMThhOWVjNGQ5ZWExOWU2Ny4uYTVhMTQyZTFlYWQ2MDExMjI1YTQ3M2VjMGMzZDlj
YTYxY2I2YmQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTE1ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aCBzaG91bGQgbm90IGJlIHB1YmxpYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuZGVyTGlzdEl0ZW0g
d2FzIGNhbGxpbmcgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMgZm9yIHRoZSBzaWRlCisg
ICAgICAgIGVmZmVjdHMgb2YgdXBkYXRpbmcgdGhlIG1hcmtlciBjb250ZW50IGFuZCBtYXJnaW5z
LiBJbnN0ZWFkLCBjYWxsCisgICAgICAgIHVwZGF0ZU1hcmdpbnNBbmRDb250ZW50IGRpcmVjdGx5
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RJdGVtOjp1cGRhdGVNYXJrZXJMb2NhdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGlzdE1hcmtlcjo6bGF5b3V0KToKKyAgICAgICAgVGhlIGlzSW1hZ2UoKSBjb2RlcGF0aCBuZXZl
ciBjYWxscyBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocywgc28gd2UgbmVlZCB0byBtYWtl
CisgICAgICAgIHN1cmUgdGhlIGNvbnRlbnQgYW5kIG1hcmdpbnMgYXJlIHVwZGF0ZWQuCisKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2luc0Fu
ZENvbnRlbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisKIDIw
MTMtMDEtMTUgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBnbWFpbC5jb20+CiAKICAgICAgICAg
SFRNTCBwYXJzZXIgc2hvdWxkIHF1ZXVlIE11dGF0aW9uUmVjb3JkcyBmb3IgaXRzIG9wZXJhdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCmluZGV4IDY0
ODNlZmQwZWNhNmU0MTNiMmYwOWUxMTZhMjFkNmY4N2MyNzE2ZWMuLmVjYWM1Njg2MDQxNjVmMzdj
YTE1NTdlMmVhY2ZiMmNhYjZjOTI3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RJdGVtLmNwcApAQCAtMjY1LDggKzI2NSw3IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06
OnVwZGF0ZU1hcmtlckxvY2F0aW9uKCkKICAgICAgICAgICAgIGlmICghbGluZUJveFBhcmVudCkK
ICAgICAgICAgICAgICAgICBsaW5lQm94UGFyZW50ID0gdGhpczsKICAgICAgICAgICAgIGxpbmVC
b3hQYXJlbnQtPmFkZENoaWxkKG1fbWFya2VyLCBmaXJzdE5vbk1hcmtlckNoaWxkKGxpbmVCb3hQ
YXJlbnQpKTsKLSAgICAgICAgICAgIGlmIChtX21hcmtlci0+cHJlZmVycmVkTG9naWNhbFdpZHRo
c0RpcnR5KCkpCi0gICAgICAgICAgICAgICAgbV9tYXJrZXItPmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKCk7CisgICAgICAgICAgICBtX21hcmtlci0+dXBkYXRlTWFyZ2luc0FuZENvbnRl
bnQoKTsKICAgICAgICAgICAgIC8vIElmIG1hcmtlclBhciBpcyBhbiBhbm9ueW1vdXMgYmxvY2sg
dGhhdCBoYXMgbG9zdCBhbGwgaXRzIGNoaWxkcmVuLCBkZXN0cm95IGl0LgogICAgICAgICAgICAg
aWYgKG1hcmtlclBhciAmJiBtYXJrZXJQYXItPmlzQW5vbnltb3VzQmxvY2soKSAmJiAhbWFya2Vy
UGFyLT5maXJzdENoaWxkKCkgJiYgIXRvUmVuZGVyQmxvY2sobWFya2VyUGFyKS0+Y29udGludWF0
aW9uKCkpCiAgICAgICAgICAgICAgICAgbWFya2VyUGFyLT5kZXN0cm95KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggZWY2YjZlZGM3NDkx
NTNhMTk3MzA2OTIzYTQ4MDEwMzM4NzY4MTFlMS4uMWI0ZmNjODYwNmYwMTEwNzMzODc1YzIxMDI5
YmM3ZGFiODgxZTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcApAQCAtMTMxOCw2ICsxMzE4LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjps
YXlvdXQoKQogICAgIEFTU0VSVChuZWVkc0xheW91dCgpKTsKICAKICAgICBpZiAoaXNJbWFnZSgp
KSB7CisgICAgICAgIHVwZGF0ZU1hcmdpbnNBbmRDb250ZW50KCk7CiAgICAgICAgIHNldFdpZHRo
KG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLndpZHRo
KCkpOwogICAgICAgICBzZXRIZWlnaHQobV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkt
PmVmZmVjdGl2ZVpvb20oKSkuaGVpZ2h0KCkpOwogICAgIH0gZWxzZSB7CkBAIC0xMzUwLDkgKzEz
NTEsMTIgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdl
UHRyIG8sIGNvbnN0IEludFJlY3QqKQogICAgICAgICByZXBhaW50KCk7CiB9CiAKLXZvaWQgUmVu
ZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQordm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjp1cGRhdGVDb250ZW50KCkKIHsKLSAgICBBU1NFUlQocHJlZmVycmVkTG9n
aWNhbFdpZHRoc0RpcnR5KCkpOworICAgIC8vIEZJWE1FOiBUaGlzIGlmLXN0YXRlbWVudCBpcyBq
dXN0IGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBidXQgaXQncyBtZXNzeSB0byB1c2UgdGhl
IHByZWZlcnJlZExvZ2ljYWxXaWR0aHMgZGlydHkgYml0IGZvciB0aGlzLgorICAgIC8vIEl0J3Mg
dW5jbGVhciBpZiB0aGlzIGlzIGEgcHJlbWF0dXJlIG9wdGltaXphdGlvbi4KKyAgICBpZiAoIXBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQorICAgICAgICByZXR1cm47CiAKICAgICBtX3Rl
eHQgPSAiIjsKIApAQCAtMTM2NCw2ICsxMzY4LDMwIEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgICAgICAvLyB1bnRpbCB3ZSBzdXBw
b3J0IHRoZSBDU1MzIG1hcmtlciBwc2V1ZG9jbGFzcyB0byBhbGxvdyBjb250cm9sIG92ZXIgdGhl
IHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIG1hcmtlciBib3guCiAgICAgICAgIGludCBidWxsZXRX
aWR0aCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC8gMjsKICAgICAgICAgbV9pbWFnZS0+c2V0Q29u
dGFpbmVyU2l6ZUZvclJlbmRlcmVyKHRoaXMsIEludFNpemUoYnVsbGV0V2lkdGgsIGJ1bGxldFdp
ZHRoKSwgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIEVMaXN0U3R5bGVUeXBlIHR5cGUgPSBzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCk7Cisg
ICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBOb25lTGlzdFN0eWxlOgorICAgICAgICBicmVh
azsKKyAgICBjYXNlIENpcmNsZToKKyAgICBjYXNlIERpc2M6CisgICAgY2FzZSBTcXVhcmU6Cisg
ICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIDApOyAvLyB2YWx1ZSBpcyBpZ25v
cmVkIGZvciB0aGVzZSB0eXBlcworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgfQorfQorCit2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKK3sKKyAgICBBU1NFUlQocHJlZmVycmVkTG9naWNhbFdp
ZHRoc0RpcnR5KCkpOworICAgIHVwZGF0ZUNvbnRlbnQoKTsKKworICAgIGlmIChpc0ltYWdlKCkp
IHsKICAgICAgICAgTGF5b3V0U2l6ZSBpbWFnZVNpemUgPSBtX2ltYWdlLT5pbWFnZVNpemUodGhp
cywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBpbWFnZVNpemUud2lkdGgoKSA6IGltYWdlU2l6ZS5oZWlnaHQo
KTsKICAgICAgICAgc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKQEAgLTEz
NzEsNiArMTM5OSw4IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgY29uc3QgRm9udCYg
Zm9udCA9IHN0eWxlKCktPmZvbnQoKTsKKwogICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoID0g
MDsKICAgICBFTGlzdFN0eWxlVHlwZSB0eXBlID0gc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpOwog
ICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTM3OCwxNCArMTQwOCwxMiBAQCB2b2lkIFJlbmRlckxp
c3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIEFzdGVyaXNrczoKICAgICAgICAgY2FzZSBGb290bm90ZXM6Ci0g
ICAgICAgICAgICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1
ZSgpKTsKICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IGZvbnQud2lkdGgobV90ZXh0KTsgLy8g
bm8gc3VmZml4IGZvciB0aGVzZSB0eXBlcwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ2lyY2xlOgogICAgICAgICBjYXNlIERpc2M6CiAgICAgICAgIGNhc2UgU3F1YXJlOgotICAg
ICAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwgMCk7IC8vIHZhbHVlIGlzIGln
bm9yZWQgZm9yIHRoZXNlIHR5cGVzCi0gICAgICAgICAgICBsb2dpY2FsV2lkdGggPSAoZm9udE1l
dHJpY3MuYXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CisgICAgICAgICAgICBsb2dpY2Fs
V2lkdGggPSAoZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIgKyAy
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQWZhcjoKICAgICAgICAgY2FzZSBB
bWhhcmljOgpAQCAtMTQ2Miw3ICsxNDkwLDYgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgICAgIGNhc2UgVXBwZXJOb3J3ZWdpYW46
CiAgICAgICAgIGNhc2UgVXBwZXJSb21hbjoKICAgICAgICAgY2FzZSBVcmR1OgotICAgICAgICAg
ICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSk7CiAg
ICAgICAgICAgICBpZiAobV90ZXh0LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBsb2dpY2Fs
V2lkdGggPSAwOwogICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuaAppbmRleCA4OGRhYjdkYjUzYTkwMWUwN2I3NGQ0YjIwODcxZDNj
MmQzNGM1OTQ0Li44MmYwNGVjM2NiMWRhMGEwMmY3ZDg2YzgwZWI5MTMyYjc2MzAyZTBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKQEAgLTM4LDggKzM4
LDYgQEAgcHVibGljOgogICAgIFJlbmRlckxpc3RNYXJrZXIoUmVuZGVyTGlzdEl0ZW0qKTsKICAg
ICB2aXJ0dWFsIH5SZW5kZXJMaXN0TWFya2VyKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKLQogICAgIGNvbnN0IFN0cmluZyYgdGV4dCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGV4dDsgfQogICAgIFN0cmluZyBzdWZmaXgoKSBjb25zdDsKIApAQCAt
NDcsOCArNDUsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKIAorICAgIHZvaWQgdXBkYXRl
TWFyZ2luc0FuZENvbnRlbnQoKSB7IHVwZGF0ZUNvbnRlbnQoKTsgdXBkYXRlTWFyZ2lucygpOyB9
CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qg
eyByZXR1cm4gIlJlbmRlckxpc3RNYXJrZXIiOyB9CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0TWFya2Vy
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCkBAIC03MSw2ICs3Miw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBib29sIGNhbkJlU2VsZWN0aW9uTGVhZigpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KIAogICAgIHZvaWQgdXBkYXRlTWFyZ2lucygpOworICAgIHZvaWQgdXBkYXRlQ29udGVudCgp
OwogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNv
bnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182893</attachid>
            <date>2013-01-15 18:25:36 -0800</date>
            <delta_ts>2013-01-16 10:04:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106956-20130116022238.patch</filename>
            <type>text/plain</type>
            <size>9247</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY5NzFiNzViZWJkNDRi
OWJlYmNhNGRkMThhOWVjNGQ5ZWExOWU2Ny4uYTVhMTQyZTFlYWQ2MDExMjI1YTQ3M2VjMGMzZDlj
YTYxY2I2YmQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTE1ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aCBzaG91bGQgbm90IGJlIHB1YmxpYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuZGVyTGlzdEl0ZW0g
d2FzIGNhbGxpbmcgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMgZm9yIHRoZSBzaWRlCisg
ICAgICAgIGVmZmVjdHMgb2YgdXBkYXRpbmcgdGhlIG1hcmtlciBjb250ZW50IGFuZCBtYXJnaW5z
LiBJbnN0ZWFkLCBjYWxsCisgICAgICAgIHVwZGF0ZU1hcmdpbnNBbmRDb250ZW50IGRpcmVjdGx5
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RJdGVtOjp1cGRhdGVNYXJrZXJMb2NhdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGlzdE1hcmtlcjo6bGF5b3V0KToKKyAgICAgICAgVGhlIGlzSW1hZ2UoKSBjb2RlcGF0aCBuZXZl
ciBjYWxscyBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocywgc28gd2UgbmVlZCB0byBtYWtl
CisgICAgICAgIHN1cmUgdGhlIGNvbnRlbnQgYW5kIG1hcmdpbnMgYXJlIHVwZGF0ZWQuCisKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2luc0Fu
ZENvbnRlbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6CisKIDIw
MTMtMDEtMTUgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBnbWFpbC5jb20+CiAKICAgICAgICAg
SFRNTCBwYXJzZXIgc2hvdWxkIHF1ZXVlIE11dGF0aW9uUmVjb3JkcyBmb3IgaXRzIG9wZXJhdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCmluZGV4IDY0
ODNlZmQwZWNhNmU0MTNiMmYwOWUxMTZhMjFkNmY4N2MyNzE2ZWMuLmVjYWM1Njg2MDQxNjVmMzdj
YTE1NTdlMmVhY2ZiMmNhYjZjOTI3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RJdGVtLmNwcApAQCAtMjY1LDggKzI2NSw3IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06
OnVwZGF0ZU1hcmtlckxvY2F0aW9uKCkKICAgICAgICAgICAgIGlmICghbGluZUJveFBhcmVudCkK
ICAgICAgICAgICAgICAgICBsaW5lQm94UGFyZW50ID0gdGhpczsKICAgICAgICAgICAgIGxpbmVC
b3hQYXJlbnQtPmFkZENoaWxkKG1fbWFya2VyLCBmaXJzdE5vbk1hcmtlckNoaWxkKGxpbmVCb3hQ
YXJlbnQpKTsKLSAgICAgICAgICAgIGlmIChtX21hcmtlci0+cHJlZmVycmVkTG9naWNhbFdpZHRo
c0RpcnR5KCkpCi0gICAgICAgICAgICAgICAgbV9tYXJrZXItPmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKCk7CisgICAgICAgICAgICBtX21hcmtlci0+dXBkYXRlTWFyZ2luc0FuZENvbnRl
bnQoKTsKICAgICAgICAgICAgIC8vIElmIG1hcmtlclBhciBpcyBhbiBhbm9ueW1vdXMgYmxvY2sg
dGhhdCBoYXMgbG9zdCBhbGwgaXRzIGNoaWxkcmVuLCBkZXN0cm95IGl0LgogICAgICAgICAgICAg
aWYgKG1hcmtlclBhciAmJiBtYXJrZXJQYXItPmlzQW5vbnltb3VzQmxvY2soKSAmJiAhbWFya2Vy
UGFyLT5maXJzdENoaWxkKCkgJiYgIXRvUmVuZGVyQmxvY2sobWFya2VyUGFyKS0+Y29udGludWF0
aW9uKCkpCiAgICAgICAgICAgICAgICAgbWFya2VyUGFyLT5kZXN0cm95KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggZWY2YjZlZGM3NDkx
NTNhMTk3MzA2OTIzYTQ4MDEwMzM4NzY4MTFlMS4uMmNkODgyYmEyNmI1ZDUzNGRlZWY1ZDk1ZDQ1
NTNmYTA5MTkzNGRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcApAQCAtMTMxOCw2ICsxMzE4LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjps
YXlvdXQoKQogICAgIEFTU0VSVChuZWVkc0xheW91dCgpKTsKICAKICAgICBpZiAoaXNJbWFnZSgp
KSB7CisgICAgICAgIHVwZGF0ZU1hcmdpbnNBbmRDb250ZW50KCk7CiAgICAgICAgIHNldFdpZHRo
KG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLndpZHRo
KCkpOwogICAgICAgICBzZXRIZWlnaHQobV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkt
PmVmZmVjdGl2ZVpvb20oKSkuaGVpZ2h0KCkpOwogICAgIH0gZWxzZSB7CkBAIC0xMzUwLDIwICsx
MzUxLDEyNiBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1h
Z2VQdHIgbywgY29uc3QgSW50UmVjdCopCiAgICAgICAgIHJlcGFpbnQoKTsKIH0KIAotdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCit2b2lkIFJl
bmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnNBbmRDb250ZW50KCkKIHsKLSAgICBBU1NFUlQo
cHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpOworICAgIHVwZGF0ZUNvbnRlbnQoKTsKKyAg
ICB1cGRhdGVNYXJnaW5zKCk7Cit9CiAKLSAgICBtX3RleHQgPSAiIjsKK3ZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6dXBkYXRlQ29udGVudCgpCit7CisgICAgLy8gRklYTUU6IFRoaXMgaWYtc3RhdGVt
ZW50IGlzIGp1c3QgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGJ1dCBpdCdzIG1lc3N5IHRv
IHVzZSB0aGUgcHJlZmVycmVkTG9naWNhbFdpZHRocyBkaXJ0eSBiaXQgZm9yIHRoaXMuCisgICAg
Ly8gSXQncyB1bmNsZWFyIGlmIHRoaXMgaXMgYSBwcmVtYXR1cmUgb3B0aW1pemF0aW9uLgorICAg
IGlmICghcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCisgICAgICAgIHJldHVybjsKIAot
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOworICAgIG1fdGV4dCA9ICIi
OwogCiAgICAgaWYgKGlzSW1hZ2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNv
bWV3aGF0IGFyYml0cmFyeSB3aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVh
bGx5IHdvbid0IGJlY29tZSBwYXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdl
IHN1cHBvcnQgdGhlIENTUzMgbWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3Zl
ciB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgbWFya2VyIGJveC4KLSAgICAgICAgaW50IGJ1
bGxldFdpZHRoID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOworICAgICAgICBpbnQgYnVsbGV0
V2lkdGggPSBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpIC8gMjsKICAgICAgICAgbV9p
bWFnZS0+c2V0Q29udGFpbmVyU2l6ZUZvclJlbmRlcmVyKHRoaXMsIEludFNpemUoYnVsbGV0V2lk
dGgsIGJ1bGxldFdpZHRoKSwgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIEVMaXN0U3R5bGVUeXBlIHR5cGUgPSBzdHlsZSgpLT5saXN0U3R5
bGVUeXBlKCk7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBOb25lTGlzdFN0eWxlOgor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIENpcmNsZToKKyAgICBjYXNlIERpc2M6CisgICAgY2Fz
ZSBTcXVhcmU6CisgICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIDApOyAvLyB2
YWx1ZSBpcyBpZ25vcmVkIGZvciB0aGVzZSB0eXBlcworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFzdGVyaXNrczoKKyAgICBjYXNlIEZvb3Rub3RlczoKKyAgICBjYXNlIEFmYXI6CisgICAgY2Fz
ZSBBbWhhcmljOgorICAgIGNhc2UgQW1oYXJpY0FiZWdlZGU6CisgICAgY2FzZSBBcmFiaWNJbmRp
YzoKKyAgICBjYXNlIEFybWVuaWFuOgorICAgIGNhc2UgQmluYXJ5TGlzdFN0eWxlOgorICAgIGNh
c2UgQmVuZ2FsaToKKyAgICBjYXNlIENhbWJvZGlhbjoKKyAgICBjYXNlIENKS0lkZW9ncmFwaGlj
OgorICAgIGNhc2UgQ2prRWFydGhseUJyYW5jaDoKKyAgICBjYXNlIENqa0hlYXZlbmx5U3RlbToK
KyAgICBjYXNlIERlY2ltYWxMZWFkaW5nWmVybzoKKyAgICBjYXNlIERlY2ltYWxMaXN0U3R5bGU6
CisgICAgY2FzZSBEZXZhbmFnYXJpOgorICAgIGNhc2UgRXRoaW9waWM6CisgICAgY2FzZSBFdGhp
b3BpY0FiZWdlZGU6CisgICAgY2FzZSBFdGhpb3BpY0FiZWdlZGVBbUV0OgorICAgIGNhc2UgRXRo
aW9waWNBYmVnZWRlR2V6OgorICAgIGNhc2UgRXRoaW9waWNBYmVnZWRlVGlFcjoKKyAgICBjYXNl
IEV0aGlvcGljQWJlZ2VkZVRpRXQ6CisgICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lQWFFcjoKKyAg
ICBjYXNlIEV0aGlvcGljSGFsZWhhbWVBYUV0OgorICAgIGNhc2UgRXRoaW9waWNIYWxlaGFtZUFt
RXQ6CisgICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lR2V6OgorICAgIGNhc2UgRXRoaW9waWNIYWxl
aGFtZU9tRXQ6CisgICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lU2lkRXQ6CisgICAgY2FzZSBFdGhp
b3BpY0hhbGVoYW1lU29FdDoKKyAgICBjYXNlIEV0aGlvcGljSGFsZWhhbWVUaUVyOgorICAgIGNh
c2UgRXRoaW9waWNIYWxlaGFtZVRpRXQ6CisgICAgY2FzZSBFdGhpb3BpY0hhbGVoYW1lVGlnOgor
ICAgIGNhc2UgR2VvcmdpYW46CisgICAgY2FzZSBHdWphcmF0aToKKyAgICBjYXNlIEd1cm11a2hp
OgorICAgIGNhc2UgSGFuZ3VsOgorICAgIGNhc2UgSGFuZ3VsQ29uc29uYW50OgorICAgIGNhc2Ug
SGVicmV3OgorICAgIGNhc2UgSGlyYWdhbmE6CisgICAgY2FzZSBIaXJhZ2FuYUlyb2hhOgorICAg
IGNhc2UgS2FubmFkYToKKyAgICBjYXNlIEthdGFrYW5hOgorICAgIGNhc2UgS2F0YWthbmFJcm9o
YToKKyAgICBjYXNlIEtobWVyOgorICAgIGNhc2UgTGFvOgorICAgIGNhc2UgTG93ZXJBbHBoYToK
KyAgICBjYXNlIExvd2VyQXJtZW5pYW46CisgICAgY2FzZSBMb3dlckdyZWVrOgorICAgIGNhc2Ug
TG93ZXJIZXhhZGVjaW1hbDoKKyAgICBjYXNlIExvd2VyTGF0aW46CisgICAgY2FzZSBMb3dlck5v
cndlZ2lhbjoKKyAgICBjYXNlIExvd2VyUm9tYW46CisgICAgY2FzZSBNYWxheWFsYW06CisgICAg
Y2FzZSBNb25nb2xpYW46CisgICAgY2FzZSBNeWFubWFyOgorICAgIGNhc2UgT2N0YWw6CisgICAg
Y2FzZSBPcml5YToKKyAgICBjYXNlIE9yb21vOgorICAgIGNhc2UgUGVyc2lhbjoKKyAgICBjYXNl
IFNpZGFtYToKKyAgICBjYXNlIFNvbWFsaToKKyAgICBjYXNlIFRlbHVndToKKyAgICBjYXNlIFRo
YWk6CisgICAgY2FzZSBUaWJldGFuOgorICAgIGNhc2UgVGlncmU6CisgICAgY2FzZSBUaWdyaW55
YUVyOgorICAgIGNhc2UgVGlncmlueWFFckFiZWdlZGU6CisgICAgY2FzZSBUaWdyaW55YUV0Ogor
ICAgIGNhc2UgVGlncmlueWFFdEFiZWdlZGU6CisgICAgY2FzZSBVcHBlckFscGhhOgorICAgIGNh
c2UgVXBwZXJBcm1lbmlhbjoKKyAgICBjYXNlIFVwcGVyR3JlZWs6CisgICAgY2FzZSBVcHBlckhl
eGFkZWNpbWFsOgorICAgIGNhc2UgVXBwZXJMYXRpbjoKKyAgICBjYXNlIFVwcGVyTm9yd2VnaWFu
OgorICAgIGNhc2UgVXBwZXJSb21hbjoKKyAgICBjYXNlIFVyZHU6CisgICAgICAgIG1fdGV4dCA9
IGxpc3RNYXJrZXJUZXh0KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpOworICAgICAgICBicmVh
azsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoKQoreworICAgIEFTU0VSVChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHko
KSk7CisgICAgdXBkYXRlQ29udGVudCgpOworCisgICAgaWYgKGlzSW1hZ2UoKSkgewogICAgICAg
ICBMYXlvdXRTaXplIGltYWdlU2l6ZSA9IG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgp
LT5lZmZlY3RpdmVab29tKCkpOwogICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IGltYWdlU2l6ZS53aWR0aCgpIDogaW1hZ2VTaXplLmhlaWdodCgpOwogICAgICAg
ICBzZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOwpAQCAtMTM3MSw2ICsxNDc4
LDggQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBjb25zdCBGb250JiBmb250ID0gc3R5
bGUoKS0+Zm9udCgpOworCiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGggPSAwOwogICAgIEVM
aXN0U3R5bGVUeXBlIHR5cGUgPSBzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCk7CiAgICAgc3dpdGNo
ICh0eXBlKSB7CkBAIC0xMzc4LDE0ICsxNDg3LDEyIEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQXN0ZXJpc2tzOgogICAgICAgICBjYXNlIEZvb3Rub3RlczoKLSAgICAgICAgICAg
IG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpOwogICAg
ICAgICAgICAgbG9naWNhbFdpZHRoID0gZm9udC53aWR0aChtX3RleHQpOyAvLyBubyBzdWZmaXgg
Zm9yIHRoZXNlIHR5cGVzCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDaXJjbGU6
CiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgY2FzZSBTcXVhcmU6Ci0gICAgICAgICAgICBt
X3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBlLCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3Ig
dGhlc2UgdHlwZXMKLSAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChmb250TWV0cmljcy5hc2Nl
bnQoKSAqIDIgLyAzICsgMSkgLyAyICsgMjsKKyAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChm
b250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBBZmFyOgogICAgICAgICBjYXNlIEFtaGFyaWM6CkBA
IC0xNDYyLDcgKzE1NjksNiBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKCkKICAgICAgICAgY2FzZSBVcHBlck5vcndlZ2lhbjoKICAgICAgICAg
Y2FzZSBVcHBlclJvbWFuOgogICAgICAgICBjYXNlIFVyZHU6Ci0gICAgICAgICAgICBtX3RleHQg
PSBsaXN0TWFya2VyVGV4dCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKTsKICAgICAgICAgICAg
IGlmIChtX3RleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IDA7
CiAgICAgICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0TWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dE1hcmtlci5oCmluZGV4IDg4ZGFiN2RiNTNhOTAxZTA3Yjc0ZDRiMjA4NzFkM2MyZDM0YzU5NDQu
LmZkZTI4MDc0ZTkzZmU3MzJiOTZjMzY5ODhiM2U5OTI5NGY0NDY0ZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaApAQCAtMzgsOCArMzgsNiBAQCBwdWJs
aWM6CiAgICAgUmVuZGVyTGlzdE1hcmtlcihSZW5kZXJMaXN0SXRlbSopOwogICAgIHZpcnR1YWwg
flJlbmRlckxpc3RNYXJrZXIoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocygpOwotCiAgICAgY29uc3QgU3RyaW5nJiB0ZXh0KCkgY29uc3QgeyByZXR1
cm4gbV90ZXh0OyB9CiAgICAgU3RyaW5nIHN1ZmZpeCgpIGNvbnN0OwogCkBAIC00Nyw4ICs0NSwx
MSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOwogCisgICAgdm9pZCB1cGRhdGVNYXJnaW5zQW5k
Q29udGVudCgpOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJMaXN0TWFya2VyIjsgfQorICAgIHZpcnR1YWwgdm9p
ZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIE9WRVJSSURFOwogCiAgICAgdmlydHVh
bCBib29sIGlzTGlzdE1hcmtlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApAQCAtNzEsNiAr
NzIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHVwZGF0ZU1hcmdpbnMoKTsKKyAgICB2
b2lkIHVwZGF0ZUNvbnRlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1
YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>