<?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>72983</bug_id>
          
          <creation_ts>2011-11-22 12:47:24 -0800</creation_ts>
          <short_desc>[chromium] Preserve original pageScale limits in WebViewImpl</short_desc>
          <delta_ts>2011-12-07 17:54:03 -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>
          
          <blocked>70559</blocked>
    
    <blocked>73495</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexandre Elias">aelias</reporter>
          <assigned_to name="Alexandre Elias">aelias</assigned_to>
          <cc>aelias</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>fsamuel</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>507768</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-11-22 12:47:24 -0800</bug_when>
    <thetext>[chromium] Preserve original pageScale limits in WebViewImpl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507769</commentid>
    <comment_count>1</comment_count>
      <attachid>116264</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-11-22 12:49:15 -0800</bug_when>
    <thetext>Created attachment 116264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507772</commentid>
    <comment_count>2</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-22 12:57:16 -0800</bug_when>
    <thetext>This looks fine to me. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507964</commentid>
    <comment_count>3</comment_count>
      <attachid>116324</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-11-22 23:56:07 -0800</bug_when>
    <thetext>Created attachment 116324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507965</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-11-22 23:58:22 -0800</bug_when>
    <thetext>I ended up adding a call site to the computePageScaleLimits function -- it&apos;s generally needed to call it on contents size change.  I also put in a couple more clamping fixes that turned up during debugging.  Please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508063</commentid>
    <comment_count>5</comment_count>
      <attachid>116324</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 04:17:44 -0800</bug_when>
    <thetext>Comment on attachment 116324
Patch

Attachment 116324 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10615267

New failing tests:
compositing/geometry/fixed-in-composited.html
compositing/geometry/limit-layer-bounds-clipping-ancestor.html
compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
compositing/geometry/limit-layer-bounds-fixed-positioned.html
compositing/iframes/become-composited-nested-iframes.html
compositing/geometry/vertical-scroll-composited.html
compositing/geometry/limit-layer-bounds-transformed-overflow.html
compositing/layers-inside-overflow-scroll.html
compositing/geometry/fixed-position-composited-page-scale-down.html
accessibility/dimensions-include-descendants.html
compositing/direct-image-compositing.html
compositing/flat-with-transformed-child.html
compositing/geometry/tall-page-composited.html
compositing/generated-content.html
animations/state-at-end-event.html
compositing/geometry/transfrom-origin-on-zero-size-layer.html
animations/suspend-transform-animation.html
animations/opacity-transform-animation.html
animations/missing-values-last-keyframe.html
animations/missing-values-first-keyframe.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509052</commentid>
    <comment_count>6</comment_count>
      <attachid>116586</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-11-25 02:25:15 -0800</bug_when>
    <thetext>Created attachment 116586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512562</commentid>
    <comment_count>7</comment_count>
      <attachid>117361</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-01 00:17:37 -0800</bug_when>
    <thetext>Created attachment 117361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512779</commentid>
    <comment_count>8</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-01 08:14:01 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=117361) [details]
&gt; Patch

Why do we need to force a layout when contents size changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512782</commentid>
    <comment_count>9</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-01 08:16:18 -0800</bug_when>
    <thetext>Making this block viewport upstreaming so I remember to keep an eye on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512903</commentid>
    <comment_count>10</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-01 10:57:21 -0800</bug_when>
    <thetext>&gt; Why do we need to force a layout when contents size changes?

The contents size change in the middle of FrameView::layout().  If we don&apos;t relayout after changing the page scale there, then we violate an assertion that no needs-layout flag can be set coming out of that layout function.  See http://b/issue?id=5662731</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512910</commentid>
    <comment_count>11</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-01 11:01:28 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Why do we need to force a layout when contents size changes?
&gt; 
&gt; The contents size change in the middle of FrameView::layout().  If we don&apos;t relayout after changing the page scale there, then we violate an assertion that no needs-layout flag can be set coming out of that layout function.  See http://b/issue?id=5662731

Ohh good catch! I was thinking that might&apos;ve been the case as I wrote the question. I handle this from render_view_impl.cc which is probably not the right place to put it. I prefer your solution, frankly, thanks :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513028</commentid>
    <comment_count>12</comment_count>
      <attachid>117470</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-01 13:09:40 -0800</bug_when>
    <thetext>Created attachment 117470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516723</commentid>
    <comment_count>13</comment_count>
      <attachid>117470</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-07 10:27:00 -0800</bug_when>
    <thetext>Comment on attachment 117470
Patch

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

&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:558
&gt; +    m_webView-&gt;didChangeContentsSize();

hmm, are you sure you wouldn&apos;t be better off completing your work before delegating
out to the embedder?  calling webframe-&gt;client()-&gt;didChangeContentsSize gives control
to the embedder.  they could drastically change the system in that time, potentially
destroying the WebView.  usually, it is better to do your work first, and then notify
the embedder.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2567
&gt; +    FrameView* view = mainFrameImpl()-&gt;frameView();

what kind of performance impact will this have?  it seems like this could cause
us to force layout more frequently than we would otherwise do.  could this slow
down page load?  during page load, isn&apos;t the content size rapidly changing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516773</commentid>
    <comment_count>14</comment_count>
      <attachid>118238</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-07 11:24:37 -0800</bug_when>
    <thetext>Created attachment 118238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516775</commentid>
    <comment_count>15</comment_count>
      <attachid>117470</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-07 11:25:57 -0800</bug_when>
    <thetext>Comment on attachment 117470
Patch

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

&gt;&gt; Source/WebKit/chromium/src/ChromeClientImpl.cpp:558
&gt;&gt; +    m_webView-&gt;didChangeContentsSize();
&gt; 
&gt; hmm, are you sure you wouldn&apos;t be better off completing your work before delegating
&gt; out to the embedder?  calling webframe-&gt;client()-&gt;didChangeContentsSize gives control
&gt; to the embedder.  they could drastically change the system in that time, potentially
&gt; destroying the WebView.  usually, it is better to do your work first, and then notify
&gt; the embedder.

OK, moved this call above the embedder call.

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2567
&gt;&gt; +    FrameView* view = mainFrameImpl()-&gt;frameView();
&gt; 
&gt; what kind of performance impact will this have?  it seems like this could cause
&gt; us to force layout more frequently than we would otherwise do.  could this slow
&gt; down page load?  during page load, isn&apos;t the content size rapidly changing?

Touch devices do need a few extra layouts to switch to the correct page scale on page load when the content size is determined.  I tried to minimize the force layouts to the minimum that are really needed.

computePageScaleFactorLimits will only set needsLayout if the content width changes, which in my logs happens only a few times during load.  needsLayout cannot be set for any other reason as didChangeContentsSize is called immediately after the main layout in FrameView::layout().  Also, computePageScaleFactorLimits() is a no-op on platforms which have never called setPageScaleFactorLimits().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516801</commentid>
    <comment_count>16</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-07 11:48:14 -0800</bug_when>
    <thetext>On second thought, after discussing with fsamuel, I&apos;m adding an extra early return to make sure we don&apos;t force-layout if needsLayout was set for some other unexpected reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516802</commentid>
    <comment_count>17</comment_count>
      <attachid>118246</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2011-12-07 11:49:12 -0800</bug_when>
    <thetext>Created attachment 118246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517039</commentid>
    <comment_count>18</comment_count>
      <attachid>118246</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 17:53:57 -0800</bug_when>
    <thetext>Comment on attachment 118246
Patch

Clearing flags on attachment: 118246

Committed r102292: &lt;http://trac.webkit.org/changeset/102292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517040</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 17:54:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116264</attachid>
            <date>2011-11-22 12:49:15 -0800</date>
            <delta_ts>2011-11-22 23:56:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111122124914.patch</filename>
            <type>text/plain</type>
            <size>6172</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDc0NjIwN2RkMjJhYzg2YTU5OTEzZTQ2YmEwY2Y0ZTA4NGExNjgxY2EuLjZjYmM5YzQ1NmMyYjE1
MzVhMzljN2JhYmE3ZjkzOTQ1YTJlYTcyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBOby1vcCByZWZhY3RvcmluZyB0byBwcmVz
ZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lmaWVkCisgICAgICAgIHBhZ2Ug
c2NhbGUgbGltaXRzLCBhbmQgY29tcHV0ZSB0aGUgZmluYWwgb25lcyBpbiBhIG5ldyBwcml2YXRl
CisgICAgICAgIG1ldGhvZCBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCkuICBUaGlzIHdp
bGwgbWFrZSBpdCBwb3NzaWJsZSB0bworICAgICAgICByZWFjdCBjb3JyZWN0bHkgdG8gdmlld3Bv
cnQgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1w
UGFnZVNjYWxlRmFjdG9yVG9MaW1pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2V0UGFnZVNjYWxlRmFjdG9yUHJlc2VydmluZ1Njcm9sbE9mZnNldCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3IpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKToKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OmNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMpOgorICAgICAgICAqIHNy
Yy9XZWJWaWV3SW1wbC5oOgorCiAyMDExLTExLTIxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAw
OTcwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGJm
M2Y0NDllNzQ1MGIzYTJiYjAxNTcyZjgyNjAxOWYwMmIxMjRlYWIuLjNmMTc0MGY5OTQ3NDRkODhh
MjhhYjZkM2RlZmUxZWM4NWMwMTViOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAKQEAgLTM0MSw2ICszNDEsOCBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgICwgbV96b29tTGV2ZWwoMCkKICAgICAsIG1f
bWluaW11bVpvb21MZXZlbCh6b29tRmFjdG9yVG9ab29tTGV2ZWwobWluVGV4dFNpemVNdWx0aXBs
aWVyKSkKICAgICAsIG1fbWF4aW11bVpvb21MZXZlbCh6b29tRmFjdG9yVG9ab29tTGV2ZWwobWF4
VGV4dFNpemVNdWx0aXBsaWVyKSkKKyAgICAsIG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxl
RmFjdG9yKG1pblBhZ2VTY2FsZUZhY3RvcikKKyAgICAsIG1fcGFnZURlZmluZWRNYXhpbXVtUGFn
ZVNjYWxlRmFjdG9yKG1heFBhZ2VTY2FsZUZhY3RvcikKICAgICAsIG1fbWluaW11bVBhZ2VTY2Fs
ZUZhY3RvcihtaW5QYWdlU2NhbGVGYWN0b3IpCiAgICAgLCBtX21heGltdW1QYWdlU2NhbGVGYWN0
b3IobWF4UGFnZVNjYWxlRmFjdG9yKQogICAgICwgbV9jb250ZXh0TWVudUFsbG93ZWQoZmFsc2Up
CkBAIC0xOTQzLDcgKzE5NDUsNyBAQCBmbG9hdCBXZWJWaWV3SW1wbDo6cGFnZVNjYWxlRmFjdG9y
KCkgY29uc3QKICAgICByZXR1cm4gcGFnZSgpLT5wYWdlU2NhbGVGYWN0b3IoKTsKIH0KIAotZmxv
YXQgV2ViVmlld0ltcGw6OmNvbXB1dGVQYWdlU2NhbGVGYWN0b3JXaXRoaW5MaW1pdHMoZmxvYXQg
c2NhbGVGYWN0b3IpCitmbG9hdCBXZWJWaWV3SW1wbDo6Y2xhbXBQYWdlU2NhbGVGYWN0b3JUb0xp
bWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKIHsKICAgICByZXR1cm4gbWluKG1heChzY2FsZUZhY3Rv
ciwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKSwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsK
IH0KQEAgLTE5NjgsNyArMTk3MCw3IEBAIFdlYlBvaW50IFdlYlZpZXdJbXBsOjpjbGFtcE9mZnNl
dEF0U2NhbGUoY29uc3QgV2ViUG9pbnQmIG9mZnNldCwgZmxvYXQgc2NhbGUpCiB2b2lkIFdlYlZp
ZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zmc2V0KGZsb2F0IHNj
YWxlRmFjdG9yKQogewogICAgIC8vIFBpY2sgYSBzY2FsZSBmYWN0b3IgdGhhdCBpcyB3aXRoaW4g
dGhlIGV4cGVjdGVkIGxpbWl0cwotICAgIHNjYWxlRmFjdG9yID0gY29tcHV0ZVBhZ2VTY2FsZUZh
Y3RvcldpdGhpbkxpbWl0cyhzY2FsZUZhY3Rvcik7CisgICAgc2NhbGVGYWN0b3IgPSBjbGFtcFBh
Z2VTY2FsZUZhY3RvclRvTGltaXRzKHNjYWxlRmFjdG9yKTsKICAgICBpZiAoc2NhbGVGYWN0b3Ig
PT0gcGFnZVNjYWxlRmFjdG9yKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTk4OCw3ICsxOTkw
LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFj
dG9yLCBjb25zdCBXZWJQb2ludCYgb3JpZ2luKQogICAgIGlmICghc2NhbGVGYWN0b3IpCiAgICAg
ICAgIHNjYWxlRmFjdG9yID0gMTsKIAotICAgIHNjYWxlRmFjdG9yID0gY29tcHV0ZVBhZ2VTY2Fs
ZUZhY3RvcldpdGhpbkxpbWl0cyhzY2FsZUZhY3Rvcik7CisgICAgc2NhbGVGYWN0b3IgPSBjbGFt
cFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKHNjYWxlRmFjdG9yKTsKICAgICBXZWJQb2ludCBjbGFt
cGVkT3JpZ2luID0gY2xhbXBPZmZzZXRBdFNjYWxlKG9yaWdpbiwgc2NhbGVGYWN0b3IpOwogICAg
IHBhZ2UoKS0+c2V0UGFnZVNjYWxlRmFjdG9yKHNjYWxlRmFjdG9yLCBjbGFtcGVkT3JpZ2luKTsK
IH0KQEAgLTIwNDMsOCArMjA0NSwxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVGaXhlZExh
eW91dE1vZGUoYm9vbCBlbmFibGUpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZh
Y3RvckxpbWl0cyhmbG9hdCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsZSkKIHsKLSAg
ICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1pblBhZ2VTY2FsZSwgbWluUGFn
ZVNjYWxlRmFjdG9yKSwgbWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7
Ci0gICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtYXhQYWdlU2NhbGUsIG1h
eFBhZ2VTY2FsZUZhY3RvciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3Rv
cigpOworICAgIG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNj
YWxlOworICAgIG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNj
YWxlOworICAgIGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKK30KKwordm9pZCBXZWJW
aWV3SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpCit7CisgICAgbV9taW5pbXVt
UGFnZVNjYWxlRmFjdG9yID0gbWluKG1heChtX3BhZ2VEZWZpbmVkTWluaW11bVBhZ2VTY2FsZUZh
Y3RvciwgbWluUGFnZVNjYWxlRmFjdG9yKSwgbWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNj
YWxlRmFjdG9yKCk7CisgICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtX3Bh
Z2VEZWZpbmVkTWF4aW11bVBhZ2VTY2FsZUZhY3RvciwgbWF4UGFnZVNjYWxlRmFjdG9yKSwgbWlu
UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7CiAKICAgICBpZiAobV9zaXpl
LndpZHRoICYmIG1haW5GcmFtZSgpICYmIG1haW5GcmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0
aCkgewogICAgICAgICAvLyBMaW1pdCBwYWdlIHNjYWxpbmcgZG93biB0byB0aGUgZG9jdW1lbnQg
d2lkdGguCkBAIC0yMDUyLDEzICsyMDYxLDEzIEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvckxpbWl0cyhmbG9hdCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsCiAg
ICAgICAgIGludCB1bnNjYWxlZENvbnRlbnRXaWR0aCA9IG1haW5GcmFtZSgpLT5jb250ZW50c1Np
emUoKS53aWR0aCAvIHBhZ2VTY2FsZUZhY3RvcigpOwogICAgICAgICBtX21pbmltdW1QYWdlU2Nh
bGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxmbG9h
dD4odmlld1dpZHRoKSAvIHVuc2NhbGVkQ29udGVudFdpZHRoKTsKICAgICB9Ci0gICAgQVNTRVJU
KG1pblBhZ2VTY2FsZSA8PSBtYXhQYWdlU2NhbGUpOworICAgIEFTU0VSVChtX21pbmltdW1QYWdl
U2NhbGVGYWN0b3IgPD0gbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgbV9s
YXllclRyZWVIb3N0LT5zZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMobV9taW5pbXVtUGFnZVNjYWxl
RmFjdG9yLCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogI2VuZGlmCiAKLSAgICBmbG9hdCBj
bGFtcGVkU2NhbGUgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKHBhZ2VTY2Fs
ZUZhY3RvcigpKTsKKyAgICBmbG9hdCBjbGFtcGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3Rv
clRvTGltaXRzKHBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBh
Z2VTY2FsZUZhY3RvcigpKQogICAgICAgICBzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Ny
b2xsT2Zmc2V0KGNsYW1wZWRTY2FsZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAppbmRleCA1Y2IwYTljMzUwMDRhZWUwYzc1MThkZDJlYzkxYzNjNzVkY2RiNjk2
Li45MGZjMDI5MGUxYjJhZDlhMDQyNDIzYjUwN2Q3NDQ5NmEwODFmODBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTQyOCw3ICs0MjgsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwog
CiBwcml2YXRlOgotICAgIGZsb2F0IGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JXaXRoaW5MaW1pdHMo
ZmxvYXQgc2NhbGUpOworICAgIHZvaWQgY29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpOwor
ICAgIGZsb2F0IGNsYW1wUGFnZVNjYWxlRmFjdG9yVG9MaW1pdHMoZmxvYXQgc2NhbGUpOwogICAg
IFdlYlBvaW50IGNsYW1wT2Zmc2V0QXRTY2FsZShjb25zdCBXZWJQb2ludCYgb2Zmc2V0LCBmbG9h
dCBzY2FsZSk7CiAKICAgICBmcmllbmQgY2xhc3MgV2ViVmlldzsgIC8vIFNvIFdlYlZpZXc6OkNy
ZWF0ZSBjYW4gY2FsbCBvdXIgY29uc3RydWN0b3IKQEAgLTUyNyw4ICs1MjgsOSBAQCBwcml2YXRl
OgogCiAgICAgZG91YmxlIG1fbWF4aW11bVpvb21MZXZlbDsKIAorICAgIGZsb2F0IG1fcGFnZURl
ZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yOworICAgIGZsb2F0IG1fcGFnZURlZmluZWRNYXhp
bXVtUGFnZVNjYWxlRmFjdG9yOwogICAgIGZsb2F0IG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvcjsK
LQogICAgIGZsb2F0IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcjsKIAogICAgIGJvb2wgbV9jb250
ZXh0TWVudUFsbG93ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116324</attachid>
            <date>2011-11-22 23:56:07 -0800</date>
            <delta_ts>2011-11-25 02:25:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111122235606.patch</filename>
            <type>text/plain</type>
            <size>8208</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDc0NjIwN2RkMjJhYzg2YTU5OTEzZTQ2YmEwY2Y0ZTA4NGExNjgxY2EuLjhiMjJjMTY0NjQ3ZTE5
ZGVjZGExNzAyYThmOTc1NDFjYzlhZTI5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgYSBjb3VwbGUgb2YgY2xhbXBpbmcgaXNzdWVzIChyZW9yZGVyIGNsYW1wTmVnYXRp
dmVUb1plcm8KKyAgICAgICAgdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xsIG9mZnNldHMsIGFuZCBm
b3JjZSBtYXggdG8gYmUgZ3JlYXRlciB0aGFuCisgICAgICAgIG1pbikuCisKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudElt
cGw6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wT2Zmc2V0QXRTY2FsZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zm
c2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rvcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3Rvckxp
bWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1Np
emUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDExLTExLTIxICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTAwOTcwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCAxNDY1ODRiZDk1NzZjNjEwMjA3NjM3MDM1MjFkNjdk
NmM1ZDk5OGViLi45ZGYwMWU5NjU0NTAyMjg4YzE0M2MxYzAzZTFhYjhiN2RjZGU5OWQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAt
NTU0LDYgKzU1NCw4IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6Y29udGVudHNTaXplQ2hhbmdl
ZChGcmFtZSogZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvCiAgICAgV2ViRnJhbWVJbXBs
KiB3ZWJmcmFtZSA9IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKTsKICAgICBpZiAod2Vi
ZnJhbWUtPmNsaWVudCgpKQogICAgICAgICB3ZWJmcmFtZS0+Y2xpZW50KCktPmRpZENoYW5nZUNv
bnRlbnRzU2l6ZSh3ZWJmcmFtZSwgc2l6ZSk7CisKKyAgICBtX3dlYlZpZXctPmRpZENoYW5nZUNv
bnRlbnRzU2l6ZSgpOwogfQogCiB2b2lkIENocm9tZUNsaWVudEltcGw6OmxheW91dFVwZGF0ZWQo
RnJhbWUqIGZyYW1lKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCmluZGV4IGJmM2Y0NDllNzQ1MGIzYTJiYjAxNTcyZjgyNjAxOWYwMmIxMjRlYWIuLjY5
ZmQxODkwNjM1NTc4Y2MyOTBlOGVhMmI2ZTY1MzgwNDU3MGQ1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTM0MSw2ICszNDEsOCBAQCBXZWJWaWV3
SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgICwgbV96b29tTGV2
ZWwoMCkKICAgICAsIG1fbWluaW11bVpvb21MZXZlbCh6b29tRmFjdG9yVG9ab29tTGV2ZWwobWlu
VGV4dFNpemVNdWx0aXBsaWVyKSkKICAgICAsIG1fbWF4aW11bVpvb21MZXZlbCh6b29tRmFjdG9y
VG9ab29tTGV2ZWwobWF4VGV4dFNpemVNdWx0aXBsaWVyKSkKKyAgICAsIG1fcGFnZURlZmluZWRN
aW5pbXVtUGFnZVNjYWxlRmFjdG9yKG1pblBhZ2VTY2FsZUZhY3RvcikKKyAgICAsIG1fcGFnZURl
ZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yKG1heFBhZ2VTY2FsZUZhY3RvcikKICAgICAsIG1f
bWluaW11bVBhZ2VTY2FsZUZhY3RvcihtaW5QYWdlU2NhbGVGYWN0b3IpCiAgICAgLCBtX21heGlt
dW1QYWdlU2NhbGVGYWN0b3IobWF4UGFnZVNjYWxlRmFjdG9yKQogICAgICwgbV9jb250ZXh0TWVu
dUFsbG93ZWQoZmFsc2UpCkBAIC0xOTQzLDcgKzE5NDUsNyBAQCBmbG9hdCBXZWJWaWV3SW1wbDo6
cGFnZVNjYWxlRmFjdG9yKCkgY29uc3QKICAgICByZXR1cm4gcGFnZSgpLT5wYWdlU2NhbGVGYWN0
b3IoKTsKIH0KIAotZmxvYXQgV2ViVmlld0ltcGw6OmNvbXB1dGVQYWdlU2NhbGVGYWN0b3JXaXRo
aW5MaW1pdHMoZmxvYXQgc2NhbGVGYWN0b3IpCitmbG9hdCBXZWJWaWV3SW1wbDo6Y2xhbXBQYWdl
U2NhbGVGYWN0b3JUb0xpbWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKIHsKICAgICByZXR1cm4gbWlu
KG1heChzY2FsZUZhY3RvciwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKSwgbV9tYXhpbXVtUGFn
ZVNjYWxlRmFjdG9yKTsKIH0KQEAgLTE5NjAsMTUgKzE5NjIsMTUgQEAgV2ViUG9pbnQgV2ViVmll
d0ltcGw6OmNsYW1wT2Zmc2V0QXRTY2FsZShjb25zdCBXZWJQb2ludCYgb2Zmc2V0LCBmbG9hdCBz
Y2FsZSkKIAogICAgIC8vIEVuZm9yY2UgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gc2Nyb2xsIHBv
c2l0aW9ucyBhdCB0aGUgbmV3IHNjYWxlLgogICAgIEludFBvaW50IGNsYW1wZWRPZmZzZXQgPSBv
ZmZzZXQ7Ci0gICAgY2xhbXBlZE9mZnNldC5jbGFtcE5lZ2F0aXZlVG9aZXJvKCk7CiAgICAgY2xh
bXBlZE9mZnNldCA9IGNsYW1wZWRPZmZzZXQuc2hydW5rVG8oSW50UG9pbnQoZG9jV2lkdGhBdE5l
d1NjYWxlIC0gdmlld1dpZHRoLCBkb2NIZWlnaHRBdE5ld1NjYWxlIC0gdmlld0hlaWdodCkpOwor
ICAgIGNsYW1wZWRPZmZzZXQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOwogICAgIHJldHVybiBjbGFt
cGVkT2Zmc2V0OwogfQogCiB2b2lkIFdlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JQcmVz
ZXJ2aW5nU2Nyb2xsT2Zmc2V0KGZsb2F0IHNjYWxlRmFjdG9yKQogewogICAgIC8vIFBpY2sgYSBz
Y2FsZSBmYWN0b3IgdGhhdCBpcyB3aXRoaW4gdGhlIGV4cGVjdGVkIGxpbWl0cwotICAgIHNjYWxl
RmFjdG9yID0gY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhzY2FsZUZhY3Rvcik7
CisgICAgc2NhbGVGYWN0b3IgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKHNjYWxlRmFj
dG9yKTsKICAgICBpZiAoc2NhbGVGYWN0b3IgPT0gcGFnZVNjYWxlRmFjdG9yKCkpCiAgICAgICAg
IHJldHVybjsKIApAQCAtMTk4OCw3ICsxOTkwLDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0UGFn
ZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yLCBjb25zdCBXZWJQb2ludCYgb3JpZ2luKQog
ICAgIGlmICghc2NhbGVGYWN0b3IpCiAgICAgICAgIHNjYWxlRmFjdG9yID0gMTsKIAotICAgIHNj
YWxlRmFjdG9yID0gY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhzY2FsZUZhY3Rv
cik7CisgICAgc2NhbGVGYWN0b3IgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKHNjYWxl
RmFjdG9yKTsKICAgICBXZWJQb2ludCBjbGFtcGVkT3JpZ2luID0gY2xhbXBPZmZzZXRBdFNjYWxl
KG9yaWdpbiwgc2NhbGVGYWN0b3IpOwogICAgIHBhZ2UoKS0+c2V0UGFnZVNjYWxlRmFjdG9yKHNj
YWxlRmFjdG9yLCBjbGFtcGVkT3JpZ2luKTsKIH0KQEAgLTIwNDMsMjIgKzIwNDUsMzAgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6ZW5hYmxlRml4ZWRMYXlvdXRNb2RlKGJvb2wgZW5hYmxlKQogCiB2b2lk
IFdlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMoZmxvYXQgbWluUGFnZVNjYWxl
LCBmbG9hdCBtYXhQYWdlU2NhbGUpCiB7Ci0gICAgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yID0g
bWluKG1heChtaW5QYWdlU2NhbGUsIG1pblBhZ2VTY2FsZUZhY3RvciksIG1heFBhZ2VTY2FsZUZh
Y3RvcikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOwotICAgIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rv
ciA9IG1heChtaW4obWF4UGFnZVNjYWxlLCBtYXhQYWdlU2NhbGVGYWN0b3IpLCBtaW5QYWdlU2Nh
bGVGYWN0b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBtX3BhZ2VEZWZpbmVkTWluaW11
bVBhZ2VTY2FsZUZhY3RvciA9IG1pblBhZ2VTY2FsZTsKKyAgICBtX3BhZ2VEZWZpbmVkTWF4aW11
bVBhZ2VTY2FsZUZhY3RvciA9IG1heFBhZ2VTY2FsZTsKKyAgICBjb21wdXRlUGFnZVNjYWxlRmFj
dG9yTGltaXRzKCk7Cit9CisKK3ZvaWQgV2ViVmlld0ltcGw6OmNvbXB1dGVQYWdlU2NhbGVGYWN0
b3JMaW1pdHMoKQoreworICAgIG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1pbihtYXgobV9w
YWdlRGVmaW5lZE1pbmltdW1QYWdlU2NhbGVGYWN0b3IsIG1pblBhZ2VTY2FsZUZhY3RvciksIG1h
eFBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOworICAgIG1fbWF4aW11bVBh
Z2VTY2FsZUZhY3RvciA9IG1heChtaW4obV9wYWdlRGVmaW5lZE1heGltdW1QYWdlU2NhbGVGYWN0
b3IsIG1heFBhZ2VTY2FsZUZhY3RvciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2Fs
ZUZhY3RvcigpOwogCiAgICAgaWYgKG1fc2l6ZS53aWR0aCAmJiBtYWluRnJhbWUoKSAmJiBtYWlu
RnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGgpIHsKICAgICAgICAgLy8gTGltaXQgcGFnZSBz
Y2FsaW5nIGRvd24gdG8gdGhlIGRvY3VtZW50IHdpZHRoLgogICAgICAgICBpbnQgdmlld1dpZHRo
ID0gbV9zaXplLndpZHRoOwogICAgICAgICBpbnQgdW5zY2FsZWRDb250ZW50V2lkdGggPSBtYWlu
RnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGggLyBwYWdlU2NhbGVGYWN0b3IoKTsKICAgICAg
ICAgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1fbWluaW11bVBhZ2VTY2FsZUZhY3Rv
ciwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZpZXdXaWR0aCkgLyB1bnNjYWxlZENvbnRlbnRXaWR0aCk7
CisgICAgICAgIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21pbmltdW1QYWdlU2Nh
bGVGYWN0b3IsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAgICAgfQotICAgIEFTU0VSVCht
aW5QYWdlU2NhbGUgPD0gbWF4UGFnZVNjYWxlKTsKKyAgICBBU1NFUlQobV9taW5pbXVtUGFnZVNj
YWxlRmFjdG9yIDw9IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCiAgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdC0+c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKG1fbWluaW11bVBhZ2VTY2FsZUZh
Y3RvciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNlbmRpZgogCi0gICAgZmxvYXQgY2xh
bXBlZFNjYWxlID0gY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhwYWdlU2NhbGVG
YWN0b3IoKSk7CisgICAgZmxvYXQgY2xhbXBlZFNjYWxlID0gY2xhbXBQYWdlU2NhbGVGYWN0b3JU
b0xpbWl0cyhwYWdlU2NhbGVGYWN0b3IoKSk7CiAgICAgaWYgKGNsYW1wZWRTY2FsZSAhPSBwYWdl
U2NhbGVGYWN0b3IoKSkKICAgICAgICAgc2V0UGFnZVNjYWxlRmFjdG9yUHJlc2VydmluZ1Njcm9s
bE9mZnNldChjbGFtcGVkU2NhbGUpOwogfQpAQCAtMjUzNCw2ICsyNTQ0LDExIEBAIHZvaWQgV2Vi
Vmlld0ltcGw6OmRpZENvbW1pdExvYWQoYm9vbCogaXNOZXdOYXZpZ2F0aW9uKQogICAgIG1fb2Jz
ZXJ2ZWROZXdOYXZpZ2F0aW9uID0gZmFsc2U7CiB9CiAKK3ZvaWQgV2ViVmlld0ltcGw6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZSgpCit7CisgICAgY29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygp
OworfQorCiBib29sIFdlYlZpZXdJbXBsOjp1c2VFeHRlcm5hbFBvcHVwTWVudXMoKQogewogICAg
IHJldHVybiBzaG91bGRVc2VFeHRlcm5hbFBvcHVwTWVudXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCA1Y2IwYTljMzUwMDRhZWUwYzc1MThkZDJlYzkxYzNj
NzVkY2RiNjk2Li4wY2FmZTBlZWM5NDYyM2FmNmZiN2FlZjdlYzY0ZGQwNTJkYTlkNjRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTMyMSw2ICszMjEsOCBA
QCBwdWJsaWM6CiAgICAgLy8gbG9hZC4KICAgICB2b2lkIGRpZENvbW1pdExvYWQoYm9vbCogaXNO
ZXdOYXZpZ2F0aW9uKTsKIAorICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKCk7CisKICAg
ICAvLyBSZXR1cm5zIHRydWUgaWYgcG9wdXAgbWVudXMgc2hvdWxkIGJlIHJlbmRlcmVkIGJ5IHRo
ZSBicm93c2VyLCBmYWxzZSBpZgogICAgIC8vIHRoZXkgc2hvdWxkIGJlIHJlbmRlcmVkIGJ5IFdl
YktpdCAod2hpY2ggaXMgdGhlIGRlZmF1bHQpLgogICAgIHN0YXRpYyBib29sIHVzZUV4dGVybmFs
UG9wdXBNZW51cygpOwpAQCAtNDI4LDcgKzQzMCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAKIHByaXZhdGU6Ci0gICAg
ZmxvYXQgY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZSk7Cisg
ICAgdm9pZCBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7CisgICAgZmxvYXQgY2xhbXBQ
YWdlU2NhbGVGYWN0b3JUb0xpbWl0cyhmbG9hdCBzY2FsZSk7CiAgICAgV2ViUG9pbnQgY2xhbXBP
ZmZzZXRBdFNjYWxlKGNvbnN0IFdlYlBvaW50JiBvZmZzZXQsIGZsb2F0IHNjYWxlKTsKIAogICAg
IGZyaWVuZCBjbGFzcyBXZWJWaWV3OyAgLy8gU28gV2ViVmlldzo6Q3JlYXRlIGNhbiBjYWxsIG91
ciBjb25zdHJ1Y3RvcgpAQCAtNTI3LDggKzUzMCw5IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUg
bV9tYXhpbXVtWm9vbUxldmVsOwogCisgICAgZmxvYXQgbV9wYWdlRGVmaW5lZE1pbmltdW1QYWdl
U2NhbGVGYWN0b3I7CisgICAgZmxvYXQgbV9wYWdlRGVmaW5lZE1heGltdW1QYWdlU2NhbGVGYWN0
b3I7CiAgICAgZmxvYXQgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yOwotCiAgICAgZmxvYXQgbV9t
YXhpbXVtUGFnZVNjYWxlRmFjdG9yOwogCiAgICAgYm9vbCBtX2NvbnRleHRNZW51QWxsb3dlZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116586</attachid>
            <date>2011-11-25 02:25:15 -0800</date>
            <delta_ts>2011-12-01 00:17:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111125022514.patch</filename>
            <type>text/plain</type>
            <size>8657</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDUyYmFmOTA4OTBjNDNlZTkzYjc1YTU5YmM4NjAzYzg3MWYwZGQwMjUuLjgwOTYzMWQzZTZlYjUx
MDRiYWZiYmMxODEyOWI5M2E1YjY4YzcyNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgYSBjb3VwbGUgb2YgY2xhbXBpbmcgaXNzdWVzIChyZW9yZGVyIGNsYW1wTmVnYXRp
dmVUb1plcm8KKyAgICAgICAgdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xsIG9mZnNldHMsIGFuZCBm
b3JjZSBtYXggdG8gYmUgZ3JlYXRlciB0aGFuCisgICAgICAgIG1pbikuCisKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudElt
cGw6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wT2Zmc2V0QXRTY2FsZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zm
c2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rvcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3Rvckxp
bWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1Np
emUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDExLTExLTI0ICBGYWR5IFNh
bXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmVtb3Zl
ZCBvYnNvbGV0ZSB0b3VjaHVpIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggMTQ2NTg0YmQ5NTc2YzYxMDIwNzYzNzAzNTIxZDY3
ZDZjNWQ5OThlYi4uOWRmMDFlOTY1NDUwMjI4OGMxNDNjMWMwM2UxYWI4YjdkY2RlOTlkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAg
LTU1NCw2ICs1NTQsOCBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZUNoYW5n
ZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjbwogICAgIFdlYkZyYW1lSW1w
bCogd2ViZnJhbWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7CiAgICAgaWYgKHdl
YmZyYW1lLT5jbGllbnQoKSkKICAgICAgICAgd2ViZnJhbWUtPmNsaWVudCgpLT5kaWRDaGFuZ2VD
b250ZW50c1NpemUod2ViZnJhbWUsIHNpemUpOworCisgICAgbV93ZWJWaWV3LT5kaWRDaGFuZ2VD
b250ZW50c1NpemUoKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpsYXlvdXRVcGRhdGVk
KEZyYW1lKiBmcmFtZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAppbmRleCA3NzcyZDk4M2FlMGM4M2U5ODRmMGNiYWNhMjA2YWQ0MGVjZjIyZGZlLi4x
MmEzOTU0MjdjOTEzNzE3M2UyNWMyYjBkNGIyOTY4N2U5ZTJlMjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNDEsNiArMzQxLDggQEAgV2ViVmll
d0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fem9vbUxl
dmVsKDApCiAgICAgLCBtX21pbmltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVsKG1p
blRleHRTaXplTXVsdGlwbGllcikpCiAgICAgLCBtX21heGltdW1ab29tTGV2ZWwoem9vbUZhY3Rv
clRvWm9vbUxldmVsKG1heFRleHRTaXplTXVsdGlwbGllcikpCisgICAgLCBtX3BhZ2VEZWZpbmVk
TWluaW11bVBhZ2VTY2FsZUZhY3RvcigtMSkKKyAgICAsIG1fcGFnZURlZmluZWRNYXhpbXVtUGFn
ZVNjYWxlRmFjdG9yKC0xKQogICAgICwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKG1pblBhZ2VT
Y2FsZUZhY3RvcikKICAgICAsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcihtYXhQYWdlU2NhbGVG
YWN0b3IpCiAgICAgLCBtX2NvbnRleHRNZW51QWxsb3dlZChmYWxzZSkKQEAgLTE5NDksNyArMTk1
MSw3IEBAIGZsb2F0IFdlYlZpZXdJbXBsOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25zdAogICAgIHJl
dHVybiBwYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCi1mbG9hdCBXZWJWaWV3SW1wbDo6
Y29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKK2Zs
b2F0IFdlYlZpZXdJbXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKGZsb2F0IHNjYWxl
RmFjdG9yKQogewogICAgIHJldHVybiBtaW4obWF4KHNjYWxlRmFjdG9yLCBtX21pbmltdW1QYWdl
U2NhbGVGYWN0b3IpLCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogfQpAQCAtMTk2NiwxNSAr
MTk2OCwxNSBAQCBXZWJQb2ludCBXZWJWaWV3SW1wbDo6Y2xhbXBPZmZzZXRBdFNjYWxlKGNvbnN0
IFdlYlBvaW50JiBvZmZzZXQsIGZsb2F0IHNjYWxlKQogCiAgICAgLy8gRW5mb3JjZSB0aGUgbWF4
aW11bSBhbmQgbWluaW11bSBzY3JvbGwgcG9zaXRpb25zIGF0IHRoZSBuZXcgc2NhbGUuCiAgICAg
SW50UG9pbnQgY2xhbXBlZE9mZnNldCA9IG9mZnNldDsKLSAgICBjbGFtcGVkT2Zmc2V0LmNsYW1w
TmVnYXRpdmVUb1plcm8oKTsKICAgICBjbGFtcGVkT2Zmc2V0ID0gY2xhbXBlZE9mZnNldC5zaHJ1
bmtUbyhJbnRQb2ludChkb2NXaWR0aEF0TmV3U2NhbGUgLSB2aWV3V2lkdGgsIGRvY0hlaWdodEF0
TmV3U2NhbGUgLSB2aWV3SGVpZ2h0KSk7CisgICAgY2xhbXBlZE9mZnNldC5jbGFtcE5lZ2F0aXZl
VG9aZXJvKCk7CiAgICAgcmV0dXJuIGNsYW1wZWRPZmZzZXQ7CiB9CiAKIHZvaWQgV2ViVmlld0lt
cGw6OnNldFBhZ2VTY2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoZmxvYXQgc2NhbGVG
YWN0b3IpCiB7CiAgICAgLy8gUGljayBhIHNjYWxlIGZhY3RvciB0aGF0IGlzIHdpdGhpbiB0aGUg
ZXhwZWN0ZWQgbGltaXRzCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
V2l0aGluTGltaXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNj
YWxlRmFjdG9yVG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIGlmIChzY2FsZUZhY3RvciA9PSBw
YWdlU2NhbGVGYWN0b3IoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTk0LDcgKzE5OTYsNyBA
QCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3Is
IGNvbnN0IFdlYlBvaW50JiBvcmlnaW4pCiAgICAgaWYgKCFzY2FsZUZhY3RvcikKICAgICAgICAg
c2NhbGVGYWN0b3IgPSAxOwogCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFj
dG9yV2l0aGluTGltaXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFn
ZVNjYWxlRmFjdG9yVG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIFdlYlBvaW50IGNsYW1wZWRP
cmlnaW4gPSBjbGFtcE9mZnNldEF0U2NhbGUob3JpZ2luLCBzY2FsZUZhY3Rvcik7CiAgICAgcGFn
ZSgpLT5zZXRQYWdlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IsIGNsYW1wZWRPcmlnaW4pOwogfQpA
QCAtMjA0OSwyMiArMjA1MSwzNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVGaXhlZExheW91
dE1vZGUoYm9vbCBlbmFibGUpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rv
ckxpbWl0cyhmbG9hdCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsZSkKIHsKLSAgICBt
X21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1pblBhZ2VTY2FsZSwgbWluUGFnZVNj
YWxlRmFjdG9yKSwgbWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7Ci0g
ICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtYXhQYWdlU2NhbGUsIG1heFBh
Z2VTY2FsZUZhY3RvciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3Rvcigp
OworICAgIG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNjYWxl
OworICAgIG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNjYWxl
OworICAgIGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKK30KKwordm9pZCBXZWJWaWV3
SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpCit7CisgICAgaWYgKG1fcGFnZURl
ZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID09IC0xIHx8IG1fcGFnZURlZmluZWRNYXhpbXVt
UGFnZVNjYWxlRmFjdG9yID09IC0xKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9zaXpl
LndpZHRoICYmIG1haW5GcmFtZSgpICYmIG1haW5GcmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0
aCkgeworICAgIGlmICghbWFpbkZyYW1lKCkgfHwgIXBhZ2UoKSB8fCAhcGFnZSgpLT5tYWluRnJh
bWUoKSB8fCAhcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1fcGFnZURlZmluZWRNaW5p
bXVtUGFnZVNjYWxlRmFjdG9yLCBtaW5QYWdlU2NhbGVGYWN0b3IpLCBtYXhQYWdlU2NhbGVGYWN0
b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBtX21heGltdW1QYWdlU2NhbGVGYWN0b3Ig
PSBtYXgobWluKG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yLCBtYXhQYWdlU2Nh
bGVGYWN0b3IpLCBtaW5QYWdlU2NhbGVGYWN0b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKwor
ICAgIGludCB2aWV3V2lkdGggPSBwYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnZpc2libGVD
b250ZW50UmVjdChmYWxzZSkud2lkdGgoKTsKKyAgICBpbnQgY29udGVudHNXaWR0aCA9IG1haW5G
cmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0aDsKKyAgICBpZiAodmlld1dpZHRoICYmIGNvbnRl
bnRzV2lkdGgpIHsKICAgICAgICAgLy8gTGltaXQgcGFnZSBzY2FsaW5nIGRvd24gdG8gdGhlIGRv
Y3VtZW50IHdpZHRoLgotICAgICAgICBpbnQgdmlld1dpZHRoID0gbV9zaXplLndpZHRoOwotICAg
ICAgICBpbnQgdW5zY2FsZWRDb250ZW50V2lkdGggPSBtYWluRnJhbWUoKS0+Y29udGVudHNTaXpl
KCkud2lkdGggLyBwYWdlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgaW50IHVuc2NhbGVkQ29udGVu
dFdpZHRoID0gY29udGVudHNXaWR0aCAvIHBhZ2VTY2FsZUZhY3RvcigpOwogICAgICAgICBtX21p
bmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0
aWNfY2FzdDxmbG9hdD4odmlld1dpZHRoKSAvIHVuc2NhbGVkQ29udGVudFdpZHRoKTsKKyAgICAg
ICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1fbWluaW11bVBhZ2VTY2FsZUZhY3Rv
ciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICAgICB9Ci0gICAgQVNTRVJUKG1pblBhZ2VT
Y2FsZSA8PSBtYXhQYWdlU2NhbGUpOworICAgIEFTU0VSVChtX21pbmltdW1QYWdlU2NhbGVGYWN0
b3IgPD0gbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgbV9sYXllclRyZWVI
b3N0LT5zZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBt
X21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogI2VuZGlmCiAKLSAgICBmbG9hdCBjbGFtcGVkU2Nh
bGUgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKHBhZ2VTY2FsZUZhY3Rvcigp
KTsKKyAgICBmbG9hdCBjbGFtcGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRz
KHBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBhZ2VTY2FsZUZh
Y3RvcigpKQogICAgICAgICBzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zmc2V0
KGNsYW1wZWRTY2FsZSk7CiB9CkBAIC0yNTQwLDYgKzI1NTcsMTEgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6ZGlkQ29tbWl0TG9hZChib29sKiBpc05ld05hdmlnYXRpb24pCiAgICAgbV9vYnNlcnZlZE5l
d05hdmlnYXRpb24gPSBmYWxzZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ2hhbmdlQ29u
dGVudHNTaXplKCkKK3sKKyAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7Cit9CisK
IGJvb2wgV2ViVmlld0ltcGw6OnVzZUV4dGVybmFsUG9wdXBNZW51cygpCiB7CiAgICAgcmV0dXJu
IHNob3VsZFVzZUV4dGVybmFsUG9wdXBNZW51czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oCmluZGV4IDZlZDc1YjNjYjFmMTk3ZDhiMjUzYWRmZGYyOGMxMGVkM2UwNDM5
M2YuLjJmNDI5YTVhY2MwOWQ3ZDIwZTljYTk1ZjlkYjczYjJiYTRiMWYyODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzIzLDYgKzMyMyw4IEBAIHB1Ymxp
YzoKICAgICAvLyBsb2FkLgogICAgIHZvaWQgZGlkQ29tbWl0TG9hZChib29sKiBpc05ld05hdmln
YXRpb24pOwogCisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoKTsKKwogICAgIC8vIFJl
dHVybnMgdHJ1ZSBpZiBwb3B1cCBtZW51cyBzaG91bGQgYmUgcmVuZGVyZWQgYnkgdGhlIGJyb3dz
ZXIsIGZhbHNlIGlmCiAgICAgLy8gdGhleSBzaG91bGQgYmUgcmVuZGVyZWQgYnkgV2ViS2l0ICh3
aGljaCBpcyB0aGUgZGVmYXVsdCkuCiAgICAgc3RhdGljIGJvb2wgdXNlRXh0ZXJuYWxQb3B1cE1l
bnVzKCk7CkBAIC00MzAsNyArNDMyLDggQEAgcHVibGljOgogICAgIHZvaWQgZXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqKTsKIAogcHJpdmF0ZToKLSAgICBmbG9hdCBj
b21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKGZsb2F0IHNjYWxlKTsKKyAgICB2b2lk
IGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKKyAgICBmbG9hdCBjbGFtcFBhZ2VTY2Fs
ZUZhY3RvclRvTGltaXRzKGZsb2F0IHNjYWxlKTsKICAgICBXZWJQb2ludCBjbGFtcE9mZnNldEF0
U2NhbGUoY29uc3QgV2ViUG9pbnQmIG9mZnNldCwgZmxvYXQgc2NhbGUpOwogCiAgICAgZnJpZW5k
IGNsYXNzIFdlYlZpZXc7ICAvLyBTbyBXZWJWaWV3OjpDcmVhdGUgY2FuIGNhbGwgb3VyIGNvbnN0
cnVjdG9yCkBAIC01MjksOCArNTMyLDkgQEAgcHJpdmF0ZToKIAogICAgIGRvdWJsZSBtX21heGlt
dW1ab29tTGV2ZWw7CiAKKyAgICBmbG9hdCBtX3BhZ2VEZWZpbmVkTWluaW11bVBhZ2VTY2FsZUZh
Y3RvcjsKKyAgICBmbG9hdCBtX3BhZ2VEZWZpbmVkTWF4aW11bVBhZ2VTY2FsZUZhY3RvcjsKICAg
ICBmbG9hdCBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3I7Ci0KICAgICBmbG9hdCBtX21heGltdW1Q
YWdlU2NhbGVGYWN0b3I7CiAKICAgICBib29sIG1fY29udGV4dE1lbnVBbGxvd2VkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117361</attachid>
            <date>2011-12-01 00:17:37 -0800</date>
            <delta_ts>2011-12-01 13:09:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111201001736.patch</filename>
            <type>text/plain</type>
            <size>8821</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDUyYmFmOTA4OTBjNDNlZTkzYjc1YTU5YmM4NjAzYzg3MWYwZGQwMjUuLjgwOTYzMWQzZTZlYjUx
MDRiYWZiYmMxODEyOWI5M2E1YjY4YzcyNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgYSBjb3VwbGUgb2YgY2xhbXBpbmcgaXNzdWVzIChyZW9yZGVyIGNsYW1wTmVnYXRp
dmVUb1plcm8KKyAgICAgICAgdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xsIG9mZnNldHMsIGFuZCBm
b3JjZSBtYXggdG8gYmUgZ3JlYXRlciB0aGFuCisgICAgICAgIG1pbikuCisKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudElt
cGw6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wT2Zmc2V0QXRTY2FsZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zm
c2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rvcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3Rvckxp
bWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1Np
emUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDExLTExLTI0ICBGYWR5IFNh
bXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmVtb3Zl
ZCBvYnNvbGV0ZSB0b3VjaHVpIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggMTQ2NTg0YmQ5NTc2YzYxMDIwNzYzNzAzNTIxZDY3
ZDZjNWQ5OThlYi4uOWRmMDFlOTY1NDUwMjI4OGMxNDNjMWMwM2UxYWI4YjdkY2RlOTlkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAg
LTU1NCw2ICs1NTQsOCBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZUNoYW5n
ZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjbwogICAgIFdlYkZyYW1lSW1w
bCogd2ViZnJhbWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7CiAgICAgaWYgKHdl
YmZyYW1lLT5jbGllbnQoKSkKICAgICAgICAgd2ViZnJhbWUtPmNsaWVudCgpLT5kaWRDaGFuZ2VD
b250ZW50c1NpemUod2ViZnJhbWUsIHNpemUpOworCisgICAgbV93ZWJWaWV3LT5kaWRDaGFuZ2VD
b250ZW50c1NpemUoKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpsYXlvdXRVcGRhdGVk
KEZyYW1lKiBmcmFtZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcAppbmRleCA3NzcyZDk4M2FlMGM4M2U5ODRmMGNiYWNhMjA2YWQ0MGVjZjIyZGZlLi4y
ZjQyNWMxZTI1OGMzZmYzZjA3ZmQ4ODA0YTYwMjk4N2U5Y2EwNzIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNDEsNiArMzQxLDggQEAgV2ViVmll
d0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fem9vbUxl
dmVsKDApCiAgICAgLCBtX21pbmltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVsKG1p
blRleHRTaXplTXVsdGlwbGllcikpCiAgICAgLCBtX21heGltdW1ab29tTGV2ZWwoem9vbUZhY3Rv
clRvWm9vbUxldmVsKG1heFRleHRTaXplTXVsdGlwbGllcikpCisgICAgLCBtX3BhZ2VEZWZpbmVk
TWluaW11bVBhZ2VTY2FsZUZhY3RvcigtMSkKKyAgICAsIG1fcGFnZURlZmluZWRNYXhpbXVtUGFn
ZVNjYWxlRmFjdG9yKC0xKQogICAgICwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKG1pblBhZ2VT
Y2FsZUZhY3RvcikKICAgICAsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcihtYXhQYWdlU2NhbGVG
YWN0b3IpCiAgICAgLCBtX2NvbnRleHRNZW51QWxsb3dlZChmYWxzZSkKQEAgLTE5NDksNyArMTk1
MSw3IEBAIGZsb2F0IFdlYlZpZXdJbXBsOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25zdAogICAgIHJl
dHVybiBwYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCi1mbG9hdCBXZWJWaWV3SW1wbDo6
Y29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKK2Zs
b2F0IFdlYlZpZXdJbXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKGZsb2F0IHNjYWxl
RmFjdG9yKQogewogICAgIHJldHVybiBtaW4obWF4KHNjYWxlRmFjdG9yLCBtX21pbmltdW1QYWdl
U2NhbGVGYWN0b3IpLCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogfQpAQCAtMTk2NiwxNSAr
MTk2OCwxNSBAQCBXZWJQb2ludCBXZWJWaWV3SW1wbDo6Y2xhbXBPZmZzZXRBdFNjYWxlKGNvbnN0
IFdlYlBvaW50JiBvZmZzZXQsIGZsb2F0IHNjYWxlKQogCiAgICAgLy8gRW5mb3JjZSB0aGUgbWF4
aW11bSBhbmQgbWluaW11bSBzY3JvbGwgcG9zaXRpb25zIGF0IHRoZSBuZXcgc2NhbGUuCiAgICAg
SW50UG9pbnQgY2xhbXBlZE9mZnNldCA9IG9mZnNldDsKLSAgICBjbGFtcGVkT2Zmc2V0LmNsYW1w
TmVnYXRpdmVUb1plcm8oKTsKICAgICBjbGFtcGVkT2Zmc2V0ID0gY2xhbXBlZE9mZnNldC5zaHJ1
bmtUbyhJbnRQb2ludChkb2NXaWR0aEF0TmV3U2NhbGUgLSB2aWV3V2lkdGgsIGRvY0hlaWdodEF0
TmV3U2NhbGUgLSB2aWV3SGVpZ2h0KSk7CisgICAgY2xhbXBlZE9mZnNldC5jbGFtcE5lZ2F0aXZl
VG9aZXJvKCk7CiAgICAgcmV0dXJuIGNsYW1wZWRPZmZzZXQ7CiB9CiAKIHZvaWQgV2ViVmlld0lt
cGw6OnNldFBhZ2VTY2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoZmxvYXQgc2NhbGVG
YWN0b3IpCiB7CiAgICAgLy8gUGljayBhIHNjYWxlIGZhY3RvciB0aGF0IGlzIHdpdGhpbiB0aGUg
ZXhwZWN0ZWQgbGltaXRzCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
V2l0aGluTGltaXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNj
YWxlRmFjdG9yVG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIGlmIChzY2FsZUZhY3RvciA9PSBw
YWdlU2NhbGVGYWN0b3IoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTk0LDcgKzE5OTYsNyBA
QCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3Is
IGNvbnN0IFdlYlBvaW50JiBvcmlnaW4pCiAgICAgaWYgKCFzY2FsZUZhY3RvcikKICAgICAgICAg
c2NhbGVGYWN0b3IgPSAxOwogCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFj
dG9yV2l0aGluTGltaXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFn
ZVNjYWxlRmFjdG9yVG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIFdlYlBvaW50IGNsYW1wZWRP
cmlnaW4gPSBjbGFtcE9mZnNldEF0U2NhbGUob3JpZ2luLCBzY2FsZUZhY3Rvcik7CiAgICAgcGFn
ZSgpLT5zZXRQYWdlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IsIGNsYW1wZWRPcmlnaW4pOwogfQpA
QCAtMjA0OSwyMiArMjA1MSwzNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVGaXhlZExheW91
dE1vZGUoYm9vbCBlbmFibGUpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3Rv
ckxpbWl0cyhmbG9hdCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsZSkKIHsKLSAgICBt
X21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1pblBhZ2VTY2FsZSwgbWluUGFnZVNj
YWxlRmFjdG9yKSwgbWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7Ci0g
ICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtYXhQYWdlU2NhbGUsIG1heFBh
Z2VTY2FsZUZhY3RvciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3Rvcigp
OworICAgIG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNjYWxl
OworICAgIG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNjYWxl
OworICAgIGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKK30KKwordm9pZCBXZWJWaWV3
SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpCit7CisgICAgaWYgKG1fcGFnZURl
ZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID09IC0xIHx8IG1fcGFnZURlZmluZWRNYXhpbXVt
UGFnZVNjYWxlRmFjdG9yID09IC0xKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1haW5G
cmFtZSgpIHx8ICFwYWdlKCkgfHwgIXBhZ2UoKS0+bWFpbkZyYW1lKCkgfHwgIXBhZ2UoKS0+bWFp
bkZyYW1lKCktPnZpZXcoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fc2l6ZS53aWR0
aCAmJiBtYWluRnJhbWUoKSAmJiBtYWluRnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGgpIHsK
KyAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1fcGFnZURlZmluZWRNaW5p
bXVtUGFnZVNjYWxlRmFjdG9yLCBtaW5QYWdlU2NhbGVGYWN0b3IpLCBtYXhQYWdlU2NhbGVGYWN0
b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBtX21heGltdW1QYWdlU2NhbGVGYWN0b3Ig
PSBtYXgobWluKG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yLCBtYXhQYWdlU2Nh
bGVGYWN0b3IpLCBtaW5QYWdlU2NhbGVGYWN0b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKwor
ICAgIGludCB2aWV3V2lkdGggPSBwYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnZpc2libGVD
b250ZW50UmVjdChmYWxzZSkud2lkdGgoKTsKKyAgICBpbnQgY29udGVudHNXaWR0aCA9IG1haW5G
cmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0aDsKKyAgICBpZiAodmlld1dpZHRoICYmIGNvbnRl
bnRzV2lkdGgpIHsKICAgICAgICAgLy8gTGltaXQgcGFnZSBzY2FsaW5nIGRvd24gdG8gdGhlIGRv
Y3VtZW50IHdpZHRoLgotICAgICAgICBpbnQgdmlld1dpZHRoID0gbV9zaXplLndpZHRoOwotICAg
ICAgICBpbnQgdW5zY2FsZWRDb250ZW50V2lkdGggPSBtYWluRnJhbWUoKS0+Y29udGVudHNTaXpl
KCkud2lkdGggLyBwYWdlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgaW50IHVuc2NhbGVkQ29udGVu
dFdpZHRoID0gY29udGVudHNXaWR0aCAvIHBhZ2VTY2FsZUZhY3RvcigpOwogICAgICAgICBtX21p
bmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0
aWNfY2FzdDxmbG9hdD4odmlld1dpZHRoKSAvIHVuc2NhbGVkQ29udGVudFdpZHRoKTsKKyAgICAg
ICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1fbWluaW11bVBhZ2VTY2FsZUZhY3Rv
ciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICAgICB9Ci0gICAgQVNTRVJUKG1pblBhZ2VT
Y2FsZSA8PSBtYXhQYWdlU2NhbGUpOworICAgIEFTU0VSVChtX21pbmltdW1QYWdlU2NhbGVGYWN0
b3IgPD0gbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgbV9sYXllclRyZWVI
b3N0LT5zZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBt
X21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogI2VuZGlmCiAKLSAgICBmbG9hdCBjbGFtcGVkU2Nh
bGUgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKHBhZ2VTY2FsZUZhY3Rvcigp
KTsKKyAgICBmbG9hdCBjbGFtcGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRz
KHBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBhZ2VTY2FsZUZh
Y3RvcigpKQogICAgICAgICBzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zmc2V0
KGNsYW1wZWRTY2FsZSk7CiB9CkBAIC0yNTQwLDYgKzI1NTcsMTggQEAgdm9pZCBXZWJWaWV3SW1w
bDo6ZGlkQ29tbWl0TG9hZChib29sKiBpc05ld05hdmlnYXRpb24pCiAgICAgbV9vYnNlcnZlZE5l
d05hdmlnYXRpb24gPSBmYWxzZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ2hhbmdlQ29u
dGVudHNTaXplKCkKK3sKKyAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7CisKKyAg
ICBpZiAoIW1haW5GcmFtZUltcGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWVWaWV3
KiB2aWV3ID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKTsKKyAgICBpZiAodmlldyAmJiB2
aWV3LT5uZWVkc0xheW91dCgpKQorICAgICAgICB2aWV3LT5sYXlvdXQoKTsKK30KKwogYm9vbCBX
ZWJWaWV3SW1wbDo6dXNlRXh0ZXJuYWxQb3B1cE1lbnVzKCkKIHsKICAgICByZXR1cm4gc2hvdWxk
VXNlRXh0ZXJuYWxQb3B1cE1lbnVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKaW5kZXggNmVkNzViM2NiMWYxOTdkOGIyNTNhZGZkZjI4YzEwZWQzZTA0MzkzZi4uMmY0
MjlhNWFjYzA5ZDdkMjBlOWNhOTVmOWRiNzNiMmJhNGIxZjI4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVibGljOgogICAg
IC8vIGxvYWQuCiAgICAgdm9pZCBkaWRDb21taXRMb2FkKGJvb2wqIGlzTmV3TmF2aWdhdGlvbik7
CiAKKyAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZSgpOworCiAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIHBvcHVwIG1lbnVzIHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgYnJvd3NlciwgZmFs
c2UgaWYKICAgICAvLyB0aGV5IHNob3VsZCBiZSByZW5kZXJlZCBieSBXZWJLaXQgKHdoaWNoIGlz
IHRoZSBkZWZhdWx0KS4KICAgICBzdGF0aWMgYm9vbCB1c2VFeHRlcm5hbFBvcHVwTWVudXMoKTsK
QEAgLTQzMCw3ICs0MzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwogCiBwcml2YXRlOgotICAgIGZsb2F0IGNvbXB1dGVQ
YWdlU2NhbGVGYWN0b3JXaXRoaW5MaW1pdHMoZmxvYXQgc2NhbGUpOworICAgIHZvaWQgY29tcHV0
ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpOworICAgIGZsb2F0IGNsYW1wUGFnZVNjYWxlRmFjdG9y
VG9MaW1pdHMoZmxvYXQgc2NhbGUpOwogICAgIFdlYlBvaW50IGNsYW1wT2Zmc2V0QXRTY2FsZShj
b25zdCBXZWJQb2ludCYgb2Zmc2V0LCBmbG9hdCBzY2FsZSk7CiAKICAgICBmcmllbmQgY2xhc3Mg
V2ViVmlldzsgIC8vIFNvIFdlYlZpZXc6OkNyZWF0ZSBjYW4gY2FsbCBvdXIgY29uc3RydWN0b3IK
QEAgLTUyOSw4ICs1MzIsOSBAQCBwcml2YXRlOgogCiAgICAgZG91YmxlIG1fbWF4aW11bVpvb21M
ZXZlbDsKIAorICAgIGZsb2F0IG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yOwor
ICAgIGZsb2F0IG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yOwogICAgIGZsb2F0
IG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvcjsKLQogICAgIGZsb2F0IG1fbWF4aW11bVBhZ2VTY2Fs
ZUZhY3RvcjsKIAogICAgIGJvb2wgbV9jb250ZXh0TWVudUFsbG93ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117470</attachid>
            <date>2011-12-01 13:09:40 -0800</date>
            <delta_ts>2011-12-07 11:25:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111201130939.patch</filename>
            <type>text/plain</type>
            <size>9094</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDUyYmFmOTA4OTBjNDNlZTkzYjc1YTU5YmM4NjAzYzg3MWYwZGQwMjUuLjcwN2E0Y2QxODY5OTQy
MDU1MTk3ODZjZDYzMmM5NjVlMmFmMDNjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgc2V2ZXJhbCBtaW5vciBidWdzLCBuYW1lbHkgY2xhbXBpbmcgaXNzdWVzIChyZW9y
ZGVyCisgICAgICAgIGNsYW1wTmVnYXRpdmVUb1plcm8gdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xs
IG9mZnNldHMsIGFuZCBmb3JjZSBtYXggdG8KKyAgICAgICAgYmUgZ3JlYXRlciB0aGFuIG1pbiks
IGFuZCBpbmNvcnJlY3QgYmVoYXZpb3IgaW4gdGhlIHByZXNlbmNlIG9mCisgICAgICAgICJzb2xp
ZCIgc2Nyb2xsYmFycy4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6Y29udGVudHNTaXplQ2hhbmdlZCk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wUGFn
ZVNjYWxlRmFjdG9yVG9MaW1pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y2xh
bXBPZmZzZXRBdFNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmg6CisKIDIwMTEtMTEtMjQgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1vdmVkIG9ic29sZXRlIHRvdWNodWkgZmxhZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCAx
NDY1ODRiZDk1NzZjNjEwMjA3NjM3MDM1MjFkNjdkNmM1ZDk5OGViLi45ZGYwMWU5NjU0NTAyMjg4
YzE0M2MxYzAzZTFhYjhiN2RjZGU5OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtNTU0LDYgKzU1NCw4IEBAIHZvaWQgQ2hyb21l
Q2xpZW50SW1wbDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSogZnJhbWUsIGNvbnN0IEludFNp
emUmIHNpemUpIGNvCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9IFdlYkZyYW1lSW1wbDo6
ZnJvbUZyYW1lKGZyYW1lKTsKICAgICBpZiAod2ViZnJhbWUtPmNsaWVudCgpKQogICAgICAgICB3
ZWJmcmFtZS0+Y2xpZW50KCktPmRpZENoYW5nZUNvbnRlbnRzU2l6ZSh3ZWJmcmFtZSwgc2l6ZSk7
CisKKyAgICBtX3dlYlZpZXctPmRpZENoYW5nZUNvbnRlbnRzU2l6ZSgpOwogfQogCiB2b2lkIENo
cm9tZUNsaWVudEltcGw6OmxheW91dFVwZGF0ZWQoRnJhbWUqIGZyYW1lKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDc3NzJkOTgzYWUwYzgz
ZTk4NGYwY2JhY2EyMDZhZDQwZWNmMjJkZmUuLmE5YjkyZDE3YjE5NzY2OTFkNGE2ODdhNjNhOGM1
NTc0M2RiNjViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKQEAgLTM0MSw2ICszNDEsOCBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0Ns
aWVudCogY2xpZW50KQogICAgICwgbV96b29tTGV2ZWwoMCkKICAgICAsIG1fbWluaW11bVpvb21M
ZXZlbCh6b29tRmFjdG9yVG9ab29tTGV2ZWwobWluVGV4dFNpemVNdWx0aXBsaWVyKSkKICAgICAs
IG1fbWF4aW11bVpvb21MZXZlbCh6b29tRmFjdG9yVG9ab29tTGV2ZWwobWF4VGV4dFNpemVNdWx0
aXBsaWVyKSkKKyAgICAsIG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yKC0xKQor
ICAgICwgbV9wYWdlRGVmaW5lZE1heGltdW1QYWdlU2NhbGVGYWN0b3IoLTEpCiAgICAgLCBtX21p
bmltdW1QYWdlU2NhbGVGYWN0b3IobWluUGFnZVNjYWxlRmFjdG9yKQogICAgICwgbV9tYXhpbXVt
UGFnZVNjYWxlRmFjdG9yKG1heFBhZ2VTY2FsZUZhY3RvcikKICAgICAsIG1fY29udGV4dE1lbnVB
bGxvd2VkKGZhbHNlKQpAQCAtMTk0OSw3ICsxOTUxLDcgQEAgZmxvYXQgV2ViVmlld0ltcGw6OnBh
Z2VTY2FsZUZhY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UoKS0+cGFnZVNjYWxlRmFjdG9y
KCk7CiB9CiAKLWZsb2F0IFdlYlZpZXdJbXBsOjpjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGlu
TGltaXRzKGZsb2F0IHNjYWxlRmFjdG9yKQorZmxvYXQgV2ViVmlld0ltcGw6OmNsYW1wUGFnZVNj
YWxlRmFjdG9yVG9MaW1pdHMoZmxvYXQgc2NhbGVGYWN0b3IpCiB7CiAgICAgcmV0dXJuIG1pbiht
YXgoc2NhbGVGYWN0b3IsIG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciksIG1fbWF4aW11bVBhZ2VT
Y2FsZUZhY3Rvcik7CiB9CkBAIC0xOTY2LDE1ICsxOTY4LDE1IEBAIFdlYlBvaW50IFdlYlZpZXdJ
bXBsOjpjbGFtcE9mZnNldEF0U2NhbGUoY29uc3QgV2ViUG9pbnQmIG9mZnNldCwgZmxvYXQgc2Nh
bGUpCiAKICAgICAvLyBFbmZvcmNlIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHNjcm9sbCBwb3Np
dGlvbnMgYXQgdGhlIG5ldyBzY2FsZS4KICAgICBJbnRQb2ludCBjbGFtcGVkT2Zmc2V0ID0gb2Zm
c2V0OwotICAgIGNsYW1wZWRPZmZzZXQuY2xhbXBOZWdhdGl2ZVRvWmVybygpOwogICAgIGNsYW1w
ZWRPZmZzZXQgPSBjbGFtcGVkT2Zmc2V0LnNocnVua1RvKEludFBvaW50KGRvY1dpZHRoQXROZXdT
Y2FsZSAtIHZpZXdXaWR0aCwgZG9jSGVpZ2h0QXROZXdTY2FsZSAtIHZpZXdIZWlnaHQpKTsKKyAg
ICBjbGFtcGVkT2Zmc2V0LmNsYW1wTmVnYXRpdmVUb1plcm8oKTsKICAgICByZXR1cm4gY2xhbXBl
ZE9mZnNldDsKIH0KIAogdm9pZCBXZWJWaWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yUHJlc2Vy
dmluZ1Njcm9sbE9mZnNldChmbG9hdCBzY2FsZUZhY3RvcikKIHsKICAgICAvLyBQaWNrIGEgc2Nh
bGUgZmFjdG9yIHRoYXQgaXMgd2l0aGluIHRoZSBleHBlY3RlZCBsaW1pdHMKLSAgICBzY2FsZUZh
Y3RvciA9IGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JXaXRoaW5MaW1pdHMoc2NhbGVGYWN0b3IpOwor
ICAgIHNjYWxlRmFjdG9yID0gY2xhbXBQYWdlU2NhbGVGYWN0b3JUb0xpbWl0cyhzY2FsZUZhY3Rv
cik7CiAgICAgaWYgKHNjYWxlRmFjdG9yID09IHBhZ2VTY2FsZUZhY3RvcigpKQogICAgICAgICBy
ZXR1cm47CiAKQEAgLTE5OTQsNyArMTk5Niw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvciwgY29uc3QgV2ViUG9pbnQmIG9yaWdpbikKICAg
ICBpZiAoIXNjYWxlRmFjdG9yKQogICAgICAgICBzY2FsZUZhY3RvciA9IDE7CiAKLSAgICBzY2Fs
ZUZhY3RvciA9IGNvbXB1dGVQYWdlU2NhbGVGYWN0b3JXaXRoaW5MaW1pdHMoc2NhbGVGYWN0b3Ip
OworICAgIHNjYWxlRmFjdG9yID0gY2xhbXBQYWdlU2NhbGVGYWN0b3JUb0xpbWl0cyhzY2FsZUZh
Y3Rvcik7CiAgICAgV2ViUG9pbnQgY2xhbXBlZE9yaWdpbiA9IGNsYW1wT2Zmc2V0QXRTY2FsZShv
cmlnaW4sIHNjYWxlRmFjdG9yKTsKICAgICBwYWdlKCktPnNldFBhZ2VTY2FsZUZhY3RvcihzY2Fs
ZUZhY3RvciwgY2xhbXBlZE9yaWdpbik7CiB9CkBAIC0yMDQ5LDIyICsyMDUxLDM3IEBAIHZvaWQg
V2ViVmlld0ltcGw6OmVuYWJsZUZpeGVkTGF5b3V0TW9kZShib29sIGVuYWJsZSkKIAogdm9pZCBX
ZWJWaWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKGZsb2F0IG1pblBhZ2VTY2FsZSwg
ZmxvYXQgbWF4UGFnZVNjYWxlKQogewotICAgIG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1p
bihtYXgobWluUGFnZVNjYWxlLCBtaW5QYWdlU2NhbGVGYWN0b3IpLCBtYXhQYWdlU2NhbGVGYWN0
b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKLSAgICBtX21heGltdW1QYWdlU2NhbGVGYWN0b3Ig
PSBtYXgobWluKG1heFBhZ2VTY2FsZSwgbWF4UGFnZVNjYWxlRmFjdG9yKSwgbWluUGFnZVNjYWxl
RmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgbV9wYWdlRGVmaW5lZE1pbmltdW1Q
YWdlU2NhbGVGYWN0b3IgPSBtaW5QYWdlU2NhbGU7CisgICAgbV9wYWdlRGVmaW5lZE1heGltdW1Q
YWdlU2NhbGVGYWN0b3IgPSBtYXhQYWdlU2NhbGU7CisgICAgY29tcHV0ZVBhZ2VTY2FsZUZhY3Rv
ckxpbWl0cygpOworfQorCit2b2lkIFdlYlZpZXdJbXBsOjpjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkKK3sKKyAgICBpZiAobV9wYWdlRGVmaW5lZE1pbmltdW1QYWdlU2NhbGVGYWN0b3Ig
PT0gLTEgfHwgbV9wYWdlRGVmaW5lZE1heGltdW1QYWdlU2NhbGVGYWN0b3IgPT0gLTEpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghbWFpbkZyYW1lKCkgfHwgIXBhZ2UoKSB8fCAhcGFnZSgp
LT5tYWluRnJhbWUoKSB8fCAhcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpKQorICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAobV9zaXplLndpZHRoICYmIG1haW5GcmFtZSgpICYmIG1haW5GcmFt
ZSgpLT5jb250ZW50c1NpemUoKS53aWR0aCkgeworICAgIG1fbWluaW11bVBhZ2VTY2FsZUZhY3Rv
ciA9IG1pbihtYXgobV9wYWdlRGVmaW5lZE1pbmltdW1QYWdlU2NhbGVGYWN0b3IsIG1pblBhZ2VT
Y2FsZUZhY3RvciksIG1heFBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOwor
ICAgIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtaW4obV9wYWdlRGVmaW5lZE1heGlt
dW1QYWdlU2NhbGVGYWN0b3IsIG1heFBhZ2VTY2FsZUZhY3RvciksIG1pblBhZ2VTY2FsZUZhY3Rv
cikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOworCisgICAgaW50IHZpZXdXaWR0aE5vdEluY2x1ZGlu
Z1Njcm9sbGJhcnMgPSBwYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnZpc2libGVDb250ZW50
UmVjdChmYWxzZSkud2lkdGgoKTsKKyAgICBpbnQgY29udGVudHNXaWR0aCA9IG1haW5GcmFtZSgp
LT5jb250ZW50c1NpemUoKS53aWR0aDsKKyAgICBpZiAodmlld1dpZHRoTm90SW5jbHVkaW5nU2Ny
b2xsYmFycyAmJiBjb250ZW50c1dpZHRoKSB7CiAgICAgICAgIC8vIExpbWl0IHBhZ2Ugc2NhbGlu
ZyBkb3duIHRvIHRoZSBkb2N1bWVudCB3aWR0aC4KLSAgICAgICAgaW50IHZpZXdXaWR0aCA9IG1f
c2l6ZS53aWR0aDsKLSAgICAgICAgaW50IHVuc2NhbGVkQ29udGVudFdpZHRoID0gbWFpbkZyYW1l
KCktPmNvbnRlbnRzU2l6ZSgpLndpZHRoIC8gcGFnZVNjYWxlRmFjdG9yKCk7Ci0gICAgICAgIG1f
bWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IsIHN0
YXRpY19jYXN0PGZsb2F0Pih2aWV3V2lkdGgpIC8gdW5zY2FsZWRDb250ZW50V2lkdGgpOworICAg
ICAgICBpbnQgdW5zY2FsZWRDb250ZW50V2lkdGggPSBjb250ZW50c1dpZHRoIC8gcGFnZVNjYWxl
RmFjdG9yKCk7CisgICAgICAgIG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21pbmlt
dW1QYWdlU2NhbGVGYWN0b3IsIHN0YXRpY19jYXN0PGZsb2F0Pih2aWV3V2lkdGhOb3RJbmNsdWRp
bmdTY3JvbGxiYXJzKSAvIHVuc2NhbGVkQ29udGVudFdpZHRoKTsKKyAgICAgICAgbV9tYXhpbXVt
UGFnZVNjYWxlRmFjdG9yID0gbWF4KG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciwgbV9tYXhpbXVt
UGFnZVNjYWxlRmFjdG9yKTsKICAgICB9Ci0gICAgQVNTRVJUKG1pblBhZ2VTY2FsZSA8PSBtYXhQ
YWdlU2NhbGUpOworICAgIEFTU0VSVChtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPD0gbV9tYXhp
bXVtUGFnZVNjYWxlRmFjdG9yKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAg
ICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXRQYWdl
U2NhbGVGYWN0b3JMaW1pdHMobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBtX21heGltdW1QYWdl
U2NhbGVGYWN0b3IpOwogI2VuZGlmCiAKLSAgICBmbG9hdCBjbGFtcGVkU2NhbGUgPSBjb21wdXRl
UGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKHBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICBmbG9h
dCBjbGFtcGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKHBhZ2VTY2FsZUZh
Y3RvcigpKTsKICAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBhZ2VTY2FsZUZhY3RvcigpKQogICAg
ICAgICBzZXRQYWdlU2NhbGVGYWN0b3JQcmVzZXJ2aW5nU2Nyb2xsT2Zmc2V0KGNsYW1wZWRTY2Fs
ZSk7CiB9CkBAIC0yNTQwLDYgKzI1NTcsMTggQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ29tbWl0
TG9hZChib29sKiBpc05ld05hdmlnYXRpb24pCiAgICAgbV9vYnNlcnZlZE5ld05hdmlnYXRpb24g
PSBmYWxzZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKCkK
K3sKKyAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7CisKKyAgICBpZiAoIW1haW5G
cmFtZUltcGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWVWaWV3KiB2aWV3ID0gbWFp
bkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKTsKKyAgICBpZiAodmlldyAmJiB2aWV3LT5uZWVkc0xh
eW91dCgpKQorICAgICAgICB2aWV3LT5sYXlvdXQoKTsKK30KKwogYm9vbCBXZWJWaWV3SW1wbDo6
dXNlRXh0ZXJuYWxQb3B1cE1lbnVzKCkKIHsKICAgICByZXR1cm4gc2hvdWxkVXNlRXh0ZXJuYWxQ
b3B1cE1lbnVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXgg
NmVkNzViM2NiMWYxOTdkOGIyNTNhZGZkZjI4YzEwZWQzZTA0MzkzZi4uMmY0MjlhNWFjYzA5ZDdk
MjBlOWNhOTVmOWRiNzNiMmJhNGIxZjI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVibGljOgogICAgIC8vIGxvYWQuCiAg
ICAgdm9pZCBkaWRDb21taXRMb2FkKGJvb2wqIGlzTmV3TmF2aWdhdGlvbik7CiAKKyAgICB2b2lk
IGRpZENoYW5nZUNvbnRlbnRzU2l6ZSgpOworCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHBvcHVw
IG1lbnVzIHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgYnJvd3NlciwgZmFsc2UgaWYKICAgICAv
LyB0aGV5IHNob3VsZCBiZSByZW5kZXJlZCBieSBXZWJLaXQgKHdoaWNoIGlzIHRoZSBkZWZhdWx0
KS4KICAgICBzdGF0aWMgYm9vbCB1c2VFeHRlcm5hbFBvcHVwTWVudXMoKTsKQEAgLTQzMCw3ICs0
MzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29y
ZTo6RWxlbWVudCopOwogCiBwcml2YXRlOgotICAgIGZsb2F0IGNvbXB1dGVQYWdlU2NhbGVGYWN0
b3JXaXRoaW5MaW1pdHMoZmxvYXQgc2NhbGUpOworICAgIHZvaWQgY29tcHV0ZVBhZ2VTY2FsZUZh
Y3RvckxpbWl0cygpOworICAgIGZsb2F0IGNsYW1wUGFnZVNjYWxlRmFjdG9yVG9MaW1pdHMoZmxv
YXQgc2NhbGUpOwogICAgIFdlYlBvaW50IGNsYW1wT2Zmc2V0QXRTY2FsZShjb25zdCBXZWJQb2lu
dCYgb2Zmc2V0LCBmbG9hdCBzY2FsZSk7CiAKICAgICBmcmllbmQgY2xhc3MgV2ViVmlldzsgIC8v
IFNvIFdlYlZpZXc6OkNyZWF0ZSBjYW4gY2FsbCBvdXIgY29uc3RydWN0b3IKQEAgLTUyOSw4ICs1
MzIsOSBAQCBwcml2YXRlOgogCiAgICAgZG91YmxlIG1fbWF4aW11bVpvb21MZXZlbDsKIAorICAg
IGZsb2F0IG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yOworICAgIGZsb2F0IG1f
cGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yOwogICAgIGZsb2F0IG1fbWluaW11bVBh
Z2VTY2FsZUZhY3RvcjsKLQogICAgIGZsb2F0IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcjsKIAog
ICAgIGJvb2wgbV9jb250ZXh0TWVudUFsbG93ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118238</attachid>
            <date>2011-12-07 11:24:37 -0800</date>
            <delta_ts>2011-12-07 11:49:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111207112436.patch</filename>
            <type>text/plain</type>
            <size>9110</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDUyYmFmOTA4OTBjNDNlZTkzYjc1YTU5YmM4NjAzYzg3MWYwZGQwMjUuLjcwN2E0Y2QxODY5OTQy
MDU1MTk3ODZjZDYzMmM5NjVlMmFmMDNjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgc2V2ZXJhbCBtaW5vciBidWdzLCBuYW1lbHkgY2xhbXBpbmcgaXNzdWVzIChyZW9y
ZGVyCisgICAgICAgIGNsYW1wTmVnYXRpdmVUb1plcm8gdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xs
IG9mZnNldHMsIGFuZCBmb3JjZSBtYXggdG8KKyAgICAgICAgYmUgZ3JlYXRlciB0aGFuIG1pbiks
IGFuZCBpbmNvcnJlY3QgYmVoYXZpb3IgaW4gdGhlIHByZXNlbmNlIG9mCisgICAgICAgICJzb2xp
ZCIgc2Nyb2xsYmFycy4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6Y29udGVudHNTaXplQ2hhbmdlZCk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wUGFn
ZVNjYWxlRmFjdG9yVG9MaW1pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y2xh
bXBPZmZzZXRBdFNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmg6CisKIDIwMTEtMTEtMjQgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1vdmVkIG9ic29sZXRlIHRvdWNodWkgZmxhZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCAx
NDY1ODRiZDk1NzZjNjEwMjA3NjM3MDM1MjFkNjdkNmM1ZDk5OGViLi44ZGJiMjVhZDdjZTEwYTU5
ZjFhYjRiZjJhMGYzZGQxYmZlOGU1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtNTUxLDYgKzU1MSw4IEBAIEludFJlY3QgQ2hy
b21lQ2xpZW50SW1wbDo6cm9vdFZpZXdUb1NjcmVlbihjb25zdCBJbnRSZWN0JiByZWN0KSBjb25z
dAogCiB2b2lkIENocm9tZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUqIGZy
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogeworICAgIG1fd2ViVmlldy0+ZGlkQ2hh
bmdlQ29udGVudHNTaXplKCk7CisKICAgICBXZWJGcmFtZUltcGwqIHdlYmZyYW1lID0gV2ViRnJh
bWVJbXBsOjpmcm9tRnJhbWUoZnJhbWUpOwogICAgIGlmICh3ZWJmcmFtZS0+Y2xpZW50KCkpCiAg
ICAgICAgIHdlYmZyYW1lLT5jbGllbnQoKS0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHdlYmZyYW1l
LCBzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCA3NzcyZDk4M2FlMGM4M2U5ODRmMGNiYWNhMjA2YWQ0MGVjZjIyZGZlLi5hOWI5MmQxN2IxOTc2
NjkxZDRhNjg3YTYzYThjNTU3NDNkYjY1YmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNDEsNiArMzQxLDggQEAgV2ViVmlld0ltcGw6OldlYlZp
ZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fem9vbUxldmVsKDApCiAgICAg
LCBtX21pbmltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVsKG1pblRleHRTaXplTXVs
dGlwbGllcikpCiAgICAgLCBtX21heGltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVs
KG1heFRleHRTaXplTXVsdGlwbGllcikpCisgICAgLCBtX3BhZ2VEZWZpbmVkTWluaW11bVBhZ2VT
Y2FsZUZhY3RvcigtMSkKKyAgICAsIG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9y
KC0xKQogICAgICwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKG1pblBhZ2VTY2FsZUZhY3RvcikK
ICAgICAsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcihtYXhQYWdlU2NhbGVGYWN0b3IpCiAgICAg
LCBtX2NvbnRleHRNZW51QWxsb3dlZChmYWxzZSkKQEAgLTE5NDksNyArMTk1MSw3IEBAIGZsb2F0
IFdlYlZpZXdJbXBsOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25zdAogICAgIHJldHVybiBwYWdlKCkt
PnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCi1mbG9hdCBXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VT
Y2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKK2Zsb2F0IFdlYlZpZXdJ
bXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKGZsb2F0IHNjYWxlRmFjdG9yKQogewog
ICAgIHJldHVybiBtaW4obWF4KHNjYWxlRmFjdG9yLCBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3Ip
LCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogfQpAQCAtMTk2NiwxNSArMTk2OCwxNSBAQCBX
ZWJQb2ludCBXZWJWaWV3SW1wbDo6Y2xhbXBPZmZzZXRBdFNjYWxlKGNvbnN0IFdlYlBvaW50JiBv
ZmZzZXQsIGZsb2F0IHNjYWxlKQogCiAgICAgLy8gRW5mb3JjZSB0aGUgbWF4aW11bSBhbmQgbWlu
aW11bSBzY3JvbGwgcG9zaXRpb25zIGF0IHRoZSBuZXcgc2NhbGUuCiAgICAgSW50UG9pbnQgY2xh
bXBlZE9mZnNldCA9IG9mZnNldDsKLSAgICBjbGFtcGVkT2Zmc2V0LmNsYW1wTmVnYXRpdmVUb1pl
cm8oKTsKICAgICBjbGFtcGVkT2Zmc2V0ID0gY2xhbXBlZE9mZnNldC5zaHJ1bmtUbyhJbnRQb2lu
dChkb2NXaWR0aEF0TmV3U2NhbGUgLSB2aWV3V2lkdGgsIGRvY0hlaWdodEF0TmV3U2NhbGUgLSB2
aWV3SGVpZ2h0KSk7CisgICAgY2xhbXBlZE9mZnNldC5jbGFtcE5lZ2F0aXZlVG9aZXJvKCk7CiAg
ICAgcmV0dXJuIGNsYW1wZWRPZmZzZXQ7CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoZmxvYXQgc2NhbGVGYWN0b3IpCiB7CiAg
ICAgLy8gUGljayBhIHNjYWxlIGZhY3RvciB0aGF0IGlzIHdpdGhpbiB0aGUgZXhwZWN0ZWQgbGlt
aXRzCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRz
KHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNjYWxlRmFjdG9yVG9M
aW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIGlmIChzY2FsZUZhY3RvciA9PSBwYWdlU2NhbGVGYWN0
b3IoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTk0LDcgKzE5OTYsNyBAQCB2b2lkIFdlYlZp
ZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IsIGNvbnN0IFdlYlBv
aW50JiBvcmlnaW4pCiAgICAgaWYgKCFzY2FsZUZhY3RvcikKICAgICAgICAgc2NhbGVGYWN0b3Ig
PSAxOwogCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGlt
aXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNjYWxlRmFjdG9y
VG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIFdlYlBvaW50IGNsYW1wZWRPcmlnaW4gPSBjbGFt
cE9mZnNldEF0U2NhbGUob3JpZ2luLCBzY2FsZUZhY3Rvcik7CiAgICAgcGFnZSgpLT5zZXRQYWdl
U2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IsIGNsYW1wZWRPcmlnaW4pOwogfQpAQCAtMjA0OSwyMiAr
MjA1MSwzNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVGaXhlZExheW91dE1vZGUoYm9vbCBl
bmFibGUpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyhmbG9h
dCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsZSkKIHsKLSAgICBtX21pbmltdW1QYWdl
U2NhbGVGYWN0b3IgPSBtaW4obWF4KG1pblBhZ2VTY2FsZSwgbWluUGFnZVNjYWxlRmFjdG9yKSwg
bWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgbV9tYXhpbXVt
UGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtYXhQYWdlU2NhbGUsIG1heFBhZ2VTY2FsZUZhY3Rv
ciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOworICAgIG1fcGFn
ZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNjYWxlOworICAgIG1fcGFn
ZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNjYWxlOworICAgIGNvbXB1
dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6Y29tcHV0
ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpCit7CisgICAgaWYgKG1fcGFnZURlZmluZWRNaW5pbXVt
UGFnZVNjYWxlRmFjdG9yID09IC0xIHx8IG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFj
dG9yID09IC0xKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1haW5GcmFtZSgpIHx8ICFw
YWdlKCkgfHwgIXBhZ2UoKS0+bWFpbkZyYW1lKCkgfHwgIXBhZ2UoKS0+bWFpbkZyYW1lKCktPnZp
ZXcoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fc2l6ZS53aWR0aCAmJiBtYWluRnJh
bWUoKSAmJiBtYWluRnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGgpIHsKKyAgICBtX21pbmlt
dW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxl
RmFjdG9yLCBtaW5QYWdlU2NhbGVGYWN0b3IpLCBtYXhQYWdlU2NhbGVGYWN0b3IpICogZGV2aWNl
U2NhbGVGYWN0b3IoKTsKKyAgICBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobWluKG1f
cGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yLCBtYXhQYWdlU2NhbGVGYWN0b3IpLCBt
aW5QYWdlU2NhbGVGYWN0b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKworICAgIGludCB2aWV3
V2lkdGhOb3RJbmNsdWRpbmdTY3JvbGxiYXJzID0gcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygp
LT52aXNpYmxlQ29udGVudFJlY3QoZmFsc2UpLndpZHRoKCk7CisgICAgaW50IGNvbnRlbnRzV2lk
dGggPSBtYWluRnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGg7CisgICAgaWYgKHZpZXdXaWR0
aE5vdEluY2x1ZGluZ1Njcm9sbGJhcnMgJiYgY29udGVudHNXaWR0aCkgewogICAgICAgICAvLyBM
aW1pdCBwYWdlIHNjYWxpbmcgZG93biB0byB0aGUgZG9jdW1lbnQgd2lkdGguCi0gICAgICAgIGlu
dCB2aWV3V2lkdGggPSBtX3NpemUud2lkdGg7Ci0gICAgICAgIGludCB1bnNjYWxlZENvbnRlbnRX
aWR0aCA9IG1haW5GcmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0aCAvIHBhZ2VTY2FsZUZhY3Rv
cigpOwotICAgICAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFn
ZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxmbG9hdD4odmlld1dpZHRoKSAvIHVuc2NhbGVkQ29u
dGVudFdpZHRoKTsKKyAgICAgICAgaW50IHVuc2NhbGVkQ29udGVudFdpZHRoID0gY29udGVudHNX
aWR0aCAvIHBhZ2VTY2FsZUZhY3RvcigpOworICAgICAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0
b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxmbG9hdD4odmll
d1dpZHRoTm90SW5jbHVkaW5nU2Nyb2xsYmFycykgLyB1bnNjYWxlZENvbnRlbnRXaWR0aCk7Cisg
ICAgICAgIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21pbmltdW1QYWdlU2NhbGVG
YWN0b3IsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAgICAgfQotICAgIEFTU0VSVChtaW5Q
YWdlU2NhbGUgPD0gbWF4UGFnZVNjYWxlKTsKKyAgICBBU1NFUlQobV9taW5pbXVtUGFnZVNjYWxl
RmFjdG9yIDw9IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCiAgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdC0+c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKG1fbWluaW11bVBhZ2VTY2FsZUZhY3Rv
ciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNlbmRpZgogCi0gICAgZmxvYXQgY2xhbXBl
ZFNjYWxlID0gY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhwYWdlU2NhbGVGYWN0
b3IoKSk7CisgICAgZmxvYXQgY2xhbXBlZFNjYWxlID0gY2xhbXBQYWdlU2NhbGVGYWN0b3JUb0xp
bWl0cyhwYWdlU2NhbGVGYWN0b3IoKSk7CiAgICAgaWYgKGNsYW1wZWRTY2FsZSAhPSBwYWdlU2Nh
bGVGYWN0b3IoKSkKICAgICAgICAgc2V0UGFnZVNjYWxlRmFjdG9yUHJlc2VydmluZ1Njcm9sbE9m
ZnNldChjbGFtcGVkU2NhbGUpOwogfQpAQCAtMjU0MCw2ICsyNTU3LDE4IEBAIHZvaWQgV2ViVmll
d0ltcGw6OmRpZENvbW1pdExvYWQoYm9vbCogaXNOZXdOYXZpZ2F0aW9uKQogICAgIG1fb2JzZXJ2
ZWROZXdOYXZpZ2F0aW9uID0gZmFsc2U7CiB9CiAKK3ZvaWQgV2ViVmlld0ltcGw6OmRpZENoYW5n
ZUNvbnRlbnRzU2l6ZSgpCit7CisgICAgY29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpOwor
CisgICAgaWYgKCFtYWluRnJhbWVJbXBsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1l
VmlldyogdmlldyA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCk7CisgICAgaWYgKHZpZXcg
JiYgdmlldy0+bmVlZHNMYXlvdXQoKSkKKyAgICAgICAgdmlldy0+bGF5b3V0KCk7Cit9CisKIGJv
b2wgV2ViVmlld0ltcGw6OnVzZUV4dGVybmFsUG9wdXBNZW51cygpCiB7CiAgICAgcmV0dXJuIHNo
b3VsZFVzZUV4dGVybmFsUG9wdXBNZW51czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCmluZGV4IDZlZDc1YjNjYjFmMTk3ZDhiMjUzYWRmZGYyOGMxMGVkM2UwNDM5M2Yu
LjJmNDI5YTVhY2MwOWQ3ZDIwZTljYTk1ZjlkYjczYjJiYTRiMWYyODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzIzLDYgKzMyMyw4IEBAIHB1YmxpYzoK
ICAgICAvLyBsb2FkLgogICAgIHZvaWQgZGlkQ29tbWl0TG9hZChib29sKiBpc05ld05hdmlnYXRp
b24pOwogCisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoKTsKKwogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiBwb3B1cCBtZW51cyBzaG91bGQgYmUgcmVuZGVyZWQgYnkgdGhlIGJyb3dzZXIs
IGZhbHNlIGlmCiAgICAgLy8gdGhleSBzaG91bGQgYmUgcmVuZGVyZWQgYnkgV2ViS2l0ICh3aGlj
aCBpcyB0aGUgZGVmYXVsdCkuCiAgICAgc3RhdGljIGJvb2wgdXNlRXh0ZXJuYWxQb3B1cE1lbnVz
KCk7CkBAIC00MzAsNyArNDMyLDggQEAgcHVibGljOgogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqKTsKIAogcHJpdmF0ZToKLSAgICBmbG9hdCBjb21w
dXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRzKGZsb2F0IHNjYWxlKTsKKyAgICB2b2lkIGNv
bXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKKyAgICBmbG9hdCBjbGFtcFBhZ2VTY2FsZUZh
Y3RvclRvTGltaXRzKGZsb2F0IHNjYWxlKTsKICAgICBXZWJQb2ludCBjbGFtcE9mZnNldEF0U2Nh
bGUoY29uc3QgV2ViUG9pbnQmIG9mZnNldCwgZmxvYXQgc2NhbGUpOwogCiAgICAgZnJpZW5kIGNs
YXNzIFdlYlZpZXc7ICAvLyBTbyBXZWJWaWV3OjpDcmVhdGUgY2FuIGNhbGwgb3VyIGNvbnN0cnVj
dG9yCkBAIC01MjksOCArNTMyLDkgQEAgcHJpdmF0ZToKIAogICAgIGRvdWJsZSBtX21heGltdW1a
b29tTGV2ZWw7CiAKKyAgICBmbG9hdCBtX3BhZ2VEZWZpbmVkTWluaW11bVBhZ2VTY2FsZUZhY3Rv
cjsKKyAgICBmbG9hdCBtX3BhZ2VEZWZpbmVkTWF4aW11bVBhZ2VTY2FsZUZhY3RvcjsKICAgICBm
bG9hdCBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3I7Ci0KICAgICBmbG9hdCBtX21heGltdW1QYWdl
U2NhbGVGYWN0b3I7CiAKICAgICBib29sIG1fY29udGV4dE1lbnVBbGxvd2VkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118246</attachid>
            <date>2011-12-07 11:49:12 -0800</date>
            <delta_ts>2011-12-07 17:53:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72983-20111207114911.patch</filename>
            <type>text/plain</type>
            <size>9336</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDUyYmFmOTA4OTBjNDNlZTkzYjc1YTU5YmM4NjAzYzg3MWYwZGQwMjUuLjcwN2E0Y2QxODY5OTQy
MDU1MTk3ODZjZDYzMmM5NjVlMmFmMDNjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTEtMTEtMjIgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJlc2VydmUgb3JpZ2luYWwgcGFnZVNjYWxl
IGxpbWl0cyBpbiBXZWJWaWV3SW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWxseSB2aWV3cG9ydC10YWcgc3BlY2lm
aWVkIHBhZ2Ugc2NhbGUgbGltaXRzLCBhbmQKKyAgICAgICAgY29tcHV0ZSB0aGUgZmluYWwgb25l
cyBpbiBhIG5ldyBwcml2YXRlIG1ldGhvZAorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCkuICBUaGlzIGlzIHRoZW4gY2FsbGVkIHdoZW4gY29udGVudHMKKyAgICAgICAgc2l6
ZSBjaGFuZ2UgKHdoaWNoIGNhbiBhZmZlY3QgdGhlIG1pbmltdW0pLgorCisgICAgICAgIEFsc28g
Y2xlYW4gdXAgc2V2ZXJhbCBtaW5vciBidWdzLCBuYW1lbHkgY2xhbXBpbmcgaXNzdWVzIChyZW9y
ZGVyCisgICAgICAgIGNsYW1wTmVnYXRpdmVUb1plcm8gdG8gYXZvaWQgbmVnYXRpdmUgc2Nyb2xs
IG9mZnNldHMsIGFuZCBmb3JjZSBtYXggdG8KKyAgICAgICAgYmUgZ3JlYXRlciB0aGFuIG1pbiks
IGFuZCBpbmNvcnJlY3QgYmVoYXZpb3IgaW4gdGhlIHByZXNlbmNlIG9mCisgICAgICAgICJzb2xp
ZCIgc2Nyb2xsYmFycy4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6Y29udGVudHNTaXplQ2hhbmdlZCk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNsYW1wUGFn
ZVNjYWxlRmFjdG9yVG9MaW1pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y2xh
bXBPZmZzZXRBdFNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0UGFnZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmg6CisKIDIwMTEtMTEtMjQgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1vdmVkIG9ic29sZXRlIHRvdWNodWkgZmxhZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCAx
NDY1ODRiZDk1NzZjNjEwMjA3NjM3MDM1MjFkNjdkNmM1ZDk5OGViLi44ZGJiMjVhZDdjZTEwYTU5
ZjFhYjRiZjJhMGYzZGQxYmZlOGU1OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtNTUxLDYgKzU1MSw4IEBAIEludFJlY3QgQ2hy
b21lQ2xpZW50SW1wbDo6cm9vdFZpZXdUb1NjcmVlbihjb25zdCBJbnRSZWN0JiByZWN0KSBjb25z
dAogCiB2b2lkIENocm9tZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUqIGZy
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogeworICAgIG1fd2ViVmlldy0+ZGlkQ2hh
bmdlQ29udGVudHNTaXplKCk7CisKICAgICBXZWJGcmFtZUltcGwqIHdlYmZyYW1lID0gV2ViRnJh
bWVJbXBsOjpmcm9tRnJhbWUoZnJhbWUpOwogICAgIGlmICh3ZWJmcmFtZS0+Y2xpZW50KCkpCiAg
ICAgICAgIHdlYmZyYW1lLT5jbGllbnQoKS0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHdlYmZyYW1l
LCBzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCA3NzcyZDk4M2FlMGM4M2U5ODRmMGNiYWNhMjA2YWQ0MGVjZjIyZGZlLi5lMmNlY2JjYTkwNWNh
NGY4ZTAzYzdkNzNhOGQ1NmY0NjVkNzE1OTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNDEsNiArMzQxLDggQEAgV2ViVmlld0ltcGw6OldlYlZp
ZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fem9vbUxldmVsKDApCiAgICAg
LCBtX21pbmltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVsKG1pblRleHRTaXplTXVs
dGlwbGllcikpCiAgICAgLCBtX21heGltdW1ab29tTGV2ZWwoem9vbUZhY3RvclRvWm9vbUxldmVs
KG1heFRleHRTaXplTXVsdGlwbGllcikpCisgICAgLCBtX3BhZ2VEZWZpbmVkTWluaW11bVBhZ2VT
Y2FsZUZhY3RvcigtMSkKKyAgICAsIG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9y
KC0xKQogICAgICwgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yKG1pblBhZ2VTY2FsZUZhY3RvcikK
ICAgICAsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcihtYXhQYWdlU2NhbGVGYWN0b3IpCiAgICAg
LCBtX2NvbnRleHRNZW51QWxsb3dlZChmYWxzZSkKQEAgLTE5NDksNyArMTk1MSw3IEBAIGZsb2F0
IFdlYlZpZXdJbXBsOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25zdAogICAgIHJldHVybiBwYWdlKCkt
PnBhZ2VTY2FsZUZhY3RvcigpOwogfQogCi1mbG9hdCBXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VT
Y2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZUZhY3RvcikKK2Zsb2F0IFdlYlZpZXdJ
bXBsOjpjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKGZsb2F0IHNjYWxlRmFjdG9yKQogewog
ICAgIHJldHVybiBtaW4obWF4KHNjYWxlRmFjdG9yLCBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3Ip
LCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3IpOwogfQpAQCAtMTk2NiwxNSArMTk2OCwxNSBAQCBX
ZWJQb2ludCBXZWJWaWV3SW1wbDo6Y2xhbXBPZmZzZXRBdFNjYWxlKGNvbnN0IFdlYlBvaW50JiBv
ZmZzZXQsIGZsb2F0IHNjYWxlKQogCiAgICAgLy8gRW5mb3JjZSB0aGUgbWF4aW11bSBhbmQgbWlu
aW11bSBzY3JvbGwgcG9zaXRpb25zIGF0IHRoZSBuZXcgc2NhbGUuCiAgICAgSW50UG9pbnQgY2xh
bXBlZE9mZnNldCA9IG9mZnNldDsKLSAgICBjbGFtcGVkT2Zmc2V0LmNsYW1wTmVnYXRpdmVUb1pl
cm8oKTsKICAgICBjbGFtcGVkT2Zmc2V0ID0gY2xhbXBlZE9mZnNldC5zaHJ1bmtUbyhJbnRQb2lu
dChkb2NXaWR0aEF0TmV3U2NhbGUgLSB2aWV3V2lkdGgsIGRvY0hlaWdodEF0TmV3U2NhbGUgLSB2
aWV3SGVpZ2h0KSk7CisgICAgY2xhbXBlZE9mZnNldC5jbGFtcE5lZ2F0aXZlVG9aZXJvKCk7CiAg
ICAgcmV0dXJuIGNsYW1wZWRPZmZzZXQ7CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoZmxvYXQgc2NhbGVGYWN0b3IpCiB7CiAg
ICAgLy8gUGljayBhIHNjYWxlIGZhY3RvciB0aGF0IGlzIHdpdGhpbiB0aGUgZXhwZWN0ZWQgbGlt
aXRzCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGltaXRz
KHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNjYWxlRmFjdG9yVG9M
aW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIGlmIChzY2FsZUZhY3RvciA9PSBwYWdlU2NhbGVGYWN0
b3IoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTk0LDcgKzE5OTYsNyBAQCB2b2lkIFdlYlZp
ZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IsIGNvbnN0IFdlYlBv
aW50JiBvcmlnaW4pCiAgICAgaWYgKCFzY2FsZUZhY3RvcikKICAgICAgICAgc2NhbGVGYWN0b3Ig
PSAxOwogCi0gICAgc2NhbGVGYWN0b3IgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9yV2l0aGluTGlt
aXRzKHNjYWxlRmFjdG9yKTsKKyAgICBzY2FsZUZhY3RvciA9IGNsYW1wUGFnZVNjYWxlRmFjdG9y
VG9MaW1pdHMoc2NhbGVGYWN0b3IpOwogICAgIFdlYlBvaW50IGNsYW1wZWRPcmlnaW4gPSBjbGFt
cE9mZnNldEF0U2NhbGUob3JpZ2luLCBzY2FsZUZhY3Rvcik7CiAgICAgcGFnZSgpLT5zZXRQYWdl
U2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3IsIGNsYW1wZWRPcmlnaW4pOwogfQpAQCAtMjA0OSwyNCAr
MjA1MSw0MyBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVGaXhlZExheW91dE1vZGUoYm9vbCBl
bmFibGUpCiAKIHZvaWQgV2ViVmlld0ltcGw6OnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyhmbG9h
dCBtaW5QYWdlU2NhbGUsIGZsb2F0IG1heFBhZ2VTY2FsZSkKIHsKLSAgICBtX21pbmltdW1QYWdl
U2NhbGVGYWN0b3IgPSBtaW4obWF4KG1pblBhZ2VTY2FsZSwgbWluUGFnZVNjYWxlRmFjdG9yKSwg
bWF4UGFnZVNjYWxlRmFjdG9yKSAqIGRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgbV9tYXhpbXVt
UGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtYXhQYWdlU2NhbGUsIG1heFBhZ2VTY2FsZUZhY3Rv
ciksIG1pblBhZ2VTY2FsZUZhY3RvcikgKiBkZXZpY2VTY2FsZUZhY3RvcigpOworICAgIG1fcGFn
ZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNjYWxlOworICAgIG1fcGFn
ZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNjYWxlOworICAgIGNvbXB1
dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMoKTsKK30KKworYm9vbCBXZWJWaWV3SW1wbDo6Y29tcHV0
ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpCit7CisgICAgaWYgKG1fcGFnZURlZmluZWRNaW5pbXVt
UGFnZVNjYWxlRmFjdG9yID09IC0xIHx8IG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFj
dG9yID09IC0xKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobV9zaXplLndpZHRo
ICYmIG1haW5GcmFtZSgpICYmIG1haW5GcmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0aCkgewor
ICAgIGlmICghbWFpbkZyYW1lKCkgfHwgIXBhZ2UoKSB8fCAhcGFnZSgpLT5tYWluRnJhbWUoKSB8
fCAhcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtaW4obWF4KG1fcGFnZURlZmluZWRNaW5p
bXVtUGFnZVNjYWxlRmFjdG9yLCBtaW5QYWdlU2NhbGVGYWN0b3IpLCBtYXhQYWdlU2NhbGVGYWN0
b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBtX21heGltdW1QYWdlU2NhbGVGYWN0b3Ig
PSBtYXgobWluKG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yLCBtYXhQYWdlU2Nh
bGVGYWN0b3IpLCBtaW5QYWdlU2NhbGVGYWN0b3IpICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKKwor
ICAgIGludCB2aWV3V2lkdGhOb3RJbmNsdWRpbmdTY3JvbGxiYXJzID0gcGFnZSgpLT5tYWluRnJh
bWUoKS0+dmlldygpLT52aXNpYmxlQ29udGVudFJlY3QoZmFsc2UpLndpZHRoKCk7CisgICAgaW50
IGNvbnRlbnRzV2lkdGggPSBtYWluRnJhbWUoKS0+Y29udGVudHNTaXplKCkud2lkdGg7CisgICAg
aWYgKHZpZXdXaWR0aE5vdEluY2x1ZGluZ1Njcm9sbGJhcnMgJiYgY29udGVudHNXaWR0aCkgewog
ICAgICAgICAvLyBMaW1pdCBwYWdlIHNjYWxpbmcgZG93biB0byB0aGUgZG9jdW1lbnQgd2lkdGgu
Ci0gICAgICAgIGludCB2aWV3V2lkdGggPSBtX3NpemUud2lkdGg7Ci0gICAgICAgIGludCB1bnNj
YWxlZENvbnRlbnRXaWR0aCA9IG1haW5GcmFtZSgpLT5jb250ZW50c1NpemUoKS53aWR0aCAvIHBh
Z2VTY2FsZUZhY3RvcigpOwotICAgICAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgo
bV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxmbG9hdD4odmlld1dpZHRoKSAv
IHVuc2NhbGVkQ29udGVudFdpZHRoKTsKKyAgICAgICAgaW50IHVuc2NhbGVkQ29udGVudFdpZHRo
ID0gY29udGVudHNXaWR0aCAvIHBhZ2VTY2FsZUZhY3RvcigpOworICAgICAgICBtX21pbmltdW1Q
YWdlU2NhbGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2Fz
dDxmbG9hdD4odmlld1dpZHRoTm90SW5jbHVkaW5nU2Nyb2xsYmFycykgLyB1bnNjYWxlZENvbnRl
bnRXaWR0aCk7CisgICAgICAgIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21pbmlt
dW1QYWdlU2NhbGVGYWN0b3IsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAgICAgfQotICAg
IEFTU0VSVChtaW5QYWdlU2NhbGUgPD0gbWF4UGFnZVNjYWxlKTsKKyAgICBBU1NFUlQobV9taW5p
bXVtUGFnZVNjYWxlRmFjdG9yIDw9IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCiAgICAg
ICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKG1fbWluaW11bVBh
Z2VTY2FsZUZhY3RvciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKICNlbmRpZgogCi0gICAg
ZmxvYXQgY2xhbXBlZFNjYWxlID0gY29tcHV0ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhw
YWdlU2NhbGVGYWN0b3IoKSk7Ci0gICAgaWYgKGNsYW1wZWRTY2FsZSAhPSBwYWdlU2NhbGVGYWN0
b3IoKSkKKyAgICBmbG9hdCBjbGFtcGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGlt
aXRzKHBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBhZ2VTY2Fs
ZUZhY3RvcigpKSB7CiAgICAgICAgIHNldFBhZ2VTY2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxP
ZmZzZXQoY2xhbXBlZFNjYWxlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOwogfQogCiBmbG9hdCBXZWJWaWV3SW1wbDo6bWluaW11bVBhZ2VTY2FsZUZh
Y3RvcigpIGNvbnN0CkBAIC0yNTQwLDYgKzI1NjEsMjEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZGlk
Q29tbWl0TG9hZChib29sKiBpc05ld05hdmlnYXRpb24pCiAgICAgbV9vYnNlcnZlZE5ld05hdmln
YXRpb24gPSBmYWxzZTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ2hhbmdlQ29udGVudHNT
aXplKCkKK3sKKyAgICBib29sIGRpZENsYW1wU2NhbGUgPSBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCk7CisKKyAgICBpZiAoIWRpZENsYW1wU2NhbGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbWFpbkZyYW1lSW1wbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBGcmFtZVZp
ZXcqIHZpZXcgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpOworICAgIGlmICh2aWV3ICYm
IHZpZXctPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHZpZXctPmxheW91dCgpOworfQorCiBib29s
IFdlYlZpZXdJbXBsOjp1c2VFeHRlcm5hbFBvcHVwTWVudXMoKQogewogICAgIHJldHVybiBzaG91
bGRVc2VFeHRlcm5hbFBvcHVwTWVudXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAppbmRleCA2ZWQ3NWIzY2IxZjE5N2Q4YjI1M2FkZmRmMjhjMTBlZDNlMDQzOTNmLi5i
NDZkMTQxNjRmYjcyNjBlN2M1NzZjMDdjMjljZDMwOTc1OGIxNGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTMyMyw2ICszMjMsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gbG9hZC4KICAgICB2b2lkIGRpZENvbW1pdExvYWQoYm9vbCogaXNOZXdOYXZpZ2F0aW9u
KTsKIAorICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKCk7CisKICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgcG9wdXAgbWVudXMgc2hvdWxkIGJlIHJlbmRlcmVkIGJ5IHRoZSBicm93c2VyLCBm
YWxzZSBpZgogICAgIC8vIHRoZXkgc2hvdWxkIGJlIHJlbmRlcmVkIGJ5IFdlYktpdCAod2hpY2gg
aXMgdGhlIGRlZmF1bHQpLgogICAgIHN0YXRpYyBib29sIHVzZUV4dGVybmFsUG9wdXBNZW51cygp
OwpAQCAtNDMwLDcgKzQzMiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgZmxvYXQgY29tcHV0
ZVBhZ2VTY2FsZUZhY3RvcldpdGhpbkxpbWl0cyhmbG9hdCBzY2FsZSk7CisgICAgYm9vbCBjb21w
dXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7CisgICAgZmxvYXQgY2xhbXBQYWdlU2NhbGVGYWN0
b3JUb0xpbWl0cyhmbG9hdCBzY2FsZSk7CiAgICAgV2ViUG9pbnQgY2xhbXBPZmZzZXRBdFNjYWxl
KGNvbnN0IFdlYlBvaW50JiBvZmZzZXQsIGZsb2F0IHNjYWxlKTsKIAogICAgIGZyaWVuZCBjbGFz
cyBXZWJWaWV3OyAgLy8gU28gV2ViVmlldzo6Q3JlYXRlIGNhbiBjYWxsIG91ciBjb25zdHJ1Y3Rv
cgpAQCAtNTI5LDggKzUzMiw5IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUgbV9tYXhpbXVtWm9v
bUxldmVsOwogCisgICAgZmxvYXQgbV9wYWdlRGVmaW5lZE1pbmltdW1QYWdlU2NhbGVGYWN0b3I7
CisgICAgZmxvYXQgbV9wYWdlRGVmaW5lZE1heGltdW1QYWdlU2NhbGVGYWN0b3I7CiAgICAgZmxv
YXQgbV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yOwotCiAgICAgZmxvYXQgbV9tYXhpbXVtUGFnZVNj
YWxlRmFjdG9yOwogCiAgICAgYm9vbCBtX2NvbnRleHRNZW51QWxsb3dlZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>