<?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>140667</bug_id>
          
          <creation_ts>2015-01-20 00:40:31 -0800</creation_ts>
          <short_desc>[WinCairo] Accelerated compositing should be disabled when graphics card does not support it.</short_desc>
          <delta_ts>2020-01-27 02:35:36 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200493</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alex.christensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fujii</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1062667</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-01-20 00:40:31 -0800</bug_when>
    <thetext>When the graphics card is not able to do accelerated compositing, we should set the relevant preference, so WebCore knows that acceleration is not possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062671</commentid>
    <comment_count>1</comment_count>
      <attachid>244974</attachid>
    <who name="">peavo</who>
    <bug_when>2015-01-20 01:08:24 -0800</bug_when>
    <thetext>Created attachment 244974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068370</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-02-11 08:57:36 -0800</bug_when>
    <thetext>What happens when we try to use accelerated compositing when it&apos;s not available?  Does it not draw at all, or crash, or draw slowly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068379</commentid>
    <comment_count>3</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-02-11 09:53:36 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; What happens when we try to use accelerated compositing when it&apos;s not
&gt; available?  Does it not draw at all, or crash, or draw slowly?

It does not draw at all. When disabling accelerated compositing it will draw, but slowly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068384</commentid>
    <comment_count>4</comment_count>
      <attachid>244974</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-02-11 09:59:38 -0800</bug_when>
    <thetext>Comment on attachment 244974
Patch

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

I could see this making things a little harder to debug.  If we run into a problem in the future, we would also have to ask ourselves if it is a problem with the accelerated path or not.  Doesn&apos;t DirectX have a non-graphics-card implementation that ideally behaves the same, but slower?  Couldn&apos;t we use this through ANGLE instead of OpenGL?  If that&apos;s infeasible, then this is definitely the way to go.

&gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:248
&gt; +bool AcceleratedCompositingContext::acceleratedCompositingAvailable()

This and the declaration should probably also be inside #if USE(TEXTURE_MAPPER_GL)

&gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:263
&gt; +        DestroyWindow(testWindow);

::DestroyWindow here and elsewhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068416</commentid>
    <comment_count>5</comment_count>
      <attachid>246402</attachid>
    <who name="">peavo</who>
    <bug_when>2015-02-11 11:42:46 -0800</bug_when>
    <thetext>Created attachment 246402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068421</commentid>
    <comment_count>6</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-02-11 11:47:45 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 244974 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244974&amp;action=review
&gt; 

Thanks for reviewing :)

&gt; I could see this making things a little harder to debug.  If we run into a
&gt; problem in the future, we would also have to ask ourselves if it is a
&gt; problem with the accelerated path or not.  Doesn&apos;t DirectX have a
&gt; non-graphics-card implementation that ideally behaves the same, but slower? 
&gt; Couldn&apos;t we use this through ANGLE instead of OpenGL?  If that&apos;s infeasible,
&gt; then this is definitely the way to go.
&gt;

That might be possible, but I&apos;m not sure :)
I think ANGLE examines the presence of some capabilities, and will not create a renderer if the requirements are not met.
 
&gt; &gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:248
&gt; &gt; +bool AcceleratedCompositingContext::acceleratedCompositingAvailable()
&gt; 
&gt; This and the declaration should probably also be inside #if
&gt; USE(TEXTURE_MAPPER_GL)
&gt; 

I think the whole file is inside #if USE(TEXTURE_MAPPER_GL)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068447</commentid>
    <comment_count>7</comment_count>
      <attachid>246402</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-02-11 12:48:23 -0800</bug_when>
    <thetext>Comment on attachment 246402
Patch

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

&gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:254
&gt; +    HWND testWindow = ::CreateWindowEx(WS_EX_NOACTIVATE, defWndProcWindowClassName(), L&quot;AcceleratedCompositingTesterWindow&quot;, WS_POPUP | WS_VISIBLE | WS_DISABLED, -width, -height, width, height, 0, 0, 0, 0);

Is this visible?  Does it make a flash on the screen?  Does an invisible test work?

&gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:307
&gt; +    COLORREF pixelColor = ::GetPixel(hdc, 0, 0);

We should probably call ::SetPixel to red, swapBuffers with colorComponent as green, and then check to see if pixelColor is green.  It is unclear what the pixel would be if the test fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068475</commentid>
    <comment_count>8</comment_count>
      <attachid>246413</attachid>
    <who name="">peavo</who>
    <bug_when>2015-02-11 13:58:47 -0800</bug_when>
    <thetext>Created attachment 246413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068479</commentid>
    <comment_count>9</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-02-11 14:01:17 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 246402 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=246402&amp;action=review
&gt; 

Thanks for the review :)

&gt; &gt; Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp:254
&gt; &gt; +    HWND testWindow = ::CreateWindowEx(WS_EX_NOACTIVATE, defWndProcWindowClassName(), L&quot;AcceleratedCompositingTesterWindow&quot;, WS_POPUP | WS_VISIBLE | WS_DISABLED, -width, -height, width, height, 0, 0, 0, 0);
&gt; 
&gt; Is this visible?  Does it make a flash on the screen?  Does an invisible
&gt; test work?
&gt; 

It&apos;s not visible. I&apos;m not sure how it would be with multiple monitors, though. I tested with an invisible window, but that didn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068494</commentid>
    <comment_count>10</comment_count>
      <attachid>246413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-11 14:48:33 -0800</bug_when>
    <thetext>Comment on attachment 246413
Patch

Clearing flags on attachment: 246413

Committed r179962: &lt;http://trac.webkit.org/changeset/179962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068495</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-11 14:48:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562890</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-08-19 19:00:39 -0700</bug_when>
    <thetext>Reverted r179962 in r248885 for Bug 200493 and Bug 200563. Reopened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611344</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-27 02:35:36 -0800</bug_when>
    <thetext>Chrome has Software rendering list and Driver bug list.

https://chromium.googlesource.com/chromium/src/+/refs/heads/master/gpu/config/gpu_driver_bug_list.json
https://chromium.googlesource.com/chromium/src/+/refs/heads/master/gpu/config/software_rendering_list.json</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244974</attachid>
            <date>2015-01-20 01:08:24 -0800</date>
            <delta_ts>2015-02-11 11:42:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140667-20150120100823.patch</filename>
            <type>text/plain</type>
            <size>5228</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODcwMCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTIw
ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5D
YWlyb10gQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gZ3Jh
cGhpY3MgY2FyZCBkb2VzIG5vdCBzdXBwb3J0IGl0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKToKKyAgICAgICAgKEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjphY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxNS0wMS0xOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2luXSBQZXJpb2RpYyBmYWlsdXJlIGluIER1bXBSZW5kZXJUcmVlIHJl
bGF0ZWQgdG8gV2ViQWN0aW9uUHJvcGVydHlCYWc6OlJlYWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCShyZXZpc2lvbiAxNzgyNTMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAxOCw2ICs1MDE4LDEwIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBociA9IHByZWZzUHJpdmF0ZS0+YWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAg
ICByZXR1cm4gaHI7CisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQorICAgIHN0YXRpYyBib29s
IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGUgPSBBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dDo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWlsYWJsZSgpOworICAgIGVuYWJsZWQg
PSBlbmFibGVkICYmIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGU7CisjZW5kaWYKICAg
ICBzZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChlbmFibGVkKTsKIAog
ICAgIGhyID0gcHJlZnNQcml2YXRlLT5zaG93RGVidWdCb3JkZXJzKCZlbmFibGVkKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAJKHJldmlzaW9uIDE3ODI1MykKKysr
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksMTAgKzI5LDEyIEBACiAKICNpbmNsdWRl
ICJXZWJWaWV3LmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0RlZlduZFByb2NXaW5kb3dDbGFzcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1l
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IV25kREMuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KQEAgLTI0Myw2ICsyNDUsNzIgQEAgdm9p
ZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NybwogICAgIHNjaGVkdWxlTGF5ZXJG
bHVzaCgpOwogfQogCitib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjphY2NlbGVy
YXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlKCkKK3sKKyAgICBjb25zdCBpbnQgd2lkdGggPSAxMDsK
KyAgICBjb25zdCBpbnQgaGVpZ2h0ID0gMTA7CisKKyAgICAvLyBDcmVhdGUgdGVzdCB3aW5kb3cg
dG8gcmVuZGVyIHRleHR1cmUgaW4uCisgICAgSFdORCB0ZXN0V2luZG93ID0gOjpDcmVhdGVXaW5k
b3dFeChXU19FWF9OT0FDVElWQVRFLCBkZWZXbmRQcm9jV2luZG93Q2xhc3NOYW1lKCksIEwiQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ1Rlc3RlcldpbmRvdyIsIFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8
IFdTX0RJU0FCTEVELCAtd2lkdGgsIC1oZWlnaHQsIHdpZHRoLCBoZWlnaHQsIDAsIDAsIDAsIDAp
OworCisgICAgaWYgKCF0ZXN0V2luZG93KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAv
LyBDcmVhdGUgR0wgY29udGV4dC4KKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R0xDb250
ZXh0PiBjb250ZXh0ID0gR0xDb250ZXh0OjpjcmVhdGVDb250ZXh0Rm9yV2luZG93KHRlc3RXaW5k
b3csIEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKSk7CisKKyAgICBpZiAoIWNvbnRleHQpIHsK
KyAgICAgICAgRGVzdHJveVdpbmRvdyh0ZXN0V2luZG93KTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIGNvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOworCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXI+IHRleHR1cmVNYXBwZXIgPSBUZXh0
dXJlTWFwcGVyR0w6OmNyZWF0ZShUZXh0dXJlTWFwcGVyOjpPcGVuR0xNb2RlKTsKKworICAgIGlm
ICghdGV4dHVyZU1hcHBlcikgeworICAgICAgICBEZXN0cm95V2luZG93KHRlc3RXaW5kb3cpOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gQ3JlYXRlIHRleHR1cmUuCisg
ICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRleHR1cmUgPSB0ZXh0dXJlTWFwcGVyLT5jcmVhdGVU
ZXh0dXJlKCk7CisKKyAgICBpZiAoIXRleHR1cmUpIHsKKyAgICAgICAgRGVzdHJveVdpbmRvdyh0
ZXN0V2luZG93KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHRleHR1cmUt
PnJlc2V0KEludFNpemUod2lkdGgsIGhlaWdodCkpOworCisgICAgLy8gQ29weSBiaXRtYXAgZGF0
YSB0byB0ZXh0dXJlLgorICAgIGNvbnN0IGludCBiaXRtYXBTaXplID0gd2lkdGggKiBoZWlnaHQg
KiA0OworICAgIGNoYXIgZGF0YVtiaXRtYXBTaXplXTsKKyAgICBjb25zdCBpbnQgY29sb3JDb21w
b25lbnQgPSAxMjc7CisgICAgbWVtc2V0KGRhdGEsIGNvbG9yQ29tcG9uZW50LCBiaXRtYXBTaXpl
KTsKKyAgICBJbnRSZWN0IHRhcmdldFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgSW50
UG9pbnQgb2Zmc2V0KDAsIDApOworICAgIGludCBieXRlc1BlckxpbmUgPSB3aWR0aCAqIDQ7Cisg
ICAgQml0bWFwVGV4dHVyZTo6VXBkYXRlQ29udGVudHNGbGFnIGZsYWdzID0gQml0bWFwVGV4dHVy
ZTo6VXBkYXRlQ2FuTW9kaWZ5T3JpZ2luYWxJbWFnZURhdGE7CisgICAgdGV4dHVyZS0+dXBkYXRl
Q29udGVudHMoZGF0YSwgdGFyZ2V0UmVjdCwgb2Zmc2V0LCBieXRlc1BlckxpbmUsIGZsYWdzKTsK
KworICAgIC8vIFJlbmRlciB0ZXh0dXJlLgorICAgIHRleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRp
bmcoKTsKKyAgICBGbG9hdFJlY3QgcmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICB0ZXh0
dXJlTWFwcGVyLT5kcmF3VGV4dHVyZSgqdGV4dHVyZSwgcmVjdCk7CisgICAgdGV4dHVyZU1hcHBl
ci0+ZW5kUGFpbnRpbmcoKTsKKworICAgIGNvbnRleHQtPnN3YXBCdWZmZXJzKCk7CisKKyAgICAv
LyBDaGVjayBpZiBwaXhlbCBoYXMgZXhwZWN0ZWQgY29sb3IuCisgICAgSFduZERDIGhkYyh0ZXN0
V2luZG93KTsKKyAgICBDT0xPUlJFRiBwaXhlbENvbG9yID0gOjpHZXRQaXhlbChoZGMsIDAsIDAp
OworCisgICAgRGVzdHJveVdpbmRvdyh0ZXN0V2luZG93KTsKKworICAgIHJldHVybiBwaXhlbENv
bG9yID09IFJHQihjb2xvckNvbXBvbmVudCwgY29sb3JDb21wb25lbnQsIGNvbG9yQ29tcG9uZW50
KTsKK30KKwogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXll
ckZsdXNoKCkKIHsKICAgICBpZiAoIWVuYWJsZWQoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuaAkocmV2aXNpb24gMTc4MjUzKQorKysgU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAkod29ya2luZyBjb3B5
KQpAQCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBmbHVzaFBlbmRpbmdMYXllckNo
YW5nZXNTb29uKCk7CiAgICAgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Ny
b2xsT2Zmc2V0KTsKIAorICAgIHN0YXRpYyBib29sIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFp
bGFibGUoKTsKKwogcHJpdmF0ZToKICAgICBXZWJWaWV3JiBtX3dlYlZpZXc7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OkdMQ29udGV4dD4gbV9jb250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246402</attachid>
            <date>2015-02-11 11:42:46 -0800</date>
            <delta_ts>2015-02-11 13:58:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140667-20150211204216.patch</filename>
            <type>text/plain</type>
            <size>5216</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkzOCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAyLTEx
ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5D
YWlyb10gQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gZ3Jh
cGhpY3MgY2FyZCBkb2VzIG5vdCBzdXBwb3J0IGl0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKToKKyAgICAgICAgKEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjphY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxNS0wMi0wOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogW1dpbl0gT0JKSURfQ0xJRU5UIGNvbXBhcmlzb25zIGJyb2tlbiBp
biA2NC1iaXQgYnVpbGRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTc5OTMy
KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
NTEsNiArNTA1MSwxMCBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
CiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCZl
bmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOworI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKKyAgICBzdGF0aWMgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nQXZhaWxhYmxlID0gQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdBdmFpbGFibGUoKTsKKyAgICBlbmFibGVkID0gZW5hYmxlZCAmJiBhY2NlbGVy
YXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlOworI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0
ZS0+c2hvd0RlYnVnQm9yZGVycygmZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiAxNzk5MzIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDEwICsyOSwxMiBAQAogCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCisjaW5j
bHVkZSA8V2ViQ29yZS9EZWZXbmRQcm9jV2luZG93Q2xhc3MuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFduZERDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9N
YWluRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NldHRpbmdzLmg+CkBAIC0yNDMsNiArMjQ1LDcyIEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ6OnNjcm8KICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAorYm9vbCBB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWls
YWJsZSgpCit7CisgICAgY29uc3QgaW50IHdpZHRoID0gMTA7CisgICAgY29uc3QgaW50IGhlaWdo
dCA9IDEwOworCisgICAgLy8gQ3JlYXRlIHRlc3Qgd2luZG93IHRvIHJlbmRlciB0ZXh0dXJlIGlu
LgorICAgIEhXTkQgdGVzdFdpbmRvdyA9IDo6Q3JlYXRlV2luZG93RXgoV1NfRVhfTk9BQ1RJVkFU
RSwgZGVmV25kUHJvY1dpbmRvd0NsYXNzTmFtZSgpLCBMIkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdU
ZXN0ZXJXaW5kb3ciLCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19ESVNBQkxFRCwgLXdpZHRo
LCAtaGVpZ2h0LCB3aWR0aCwgaGVpZ2h0LCAwLCAwLCAwLCAwKTsKKworICAgIGlmICghdGVzdFdp
bmRvdykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gQ3JlYXRlIEdMIGNvbnRleHQu
CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdMQ29udGV4dD4gY29udGV4dCA9IEdMQ29u
dGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyh0ZXN0V2luZG93LCBHTENvbnRleHQ6OnNoYXJp
bmdDb250ZXh0KCkpOworCisgICAgaWYgKCFjb250ZXh0KSB7CisgICAgICAgIDo6RGVzdHJveVdp
bmRvdyh0ZXN0V2luZG93KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNv
bnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlRleHR1cmVNYXBwZXI+IHRleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyR0w6OmNyZWF0
ZShUZXh0dXJlTWFwcGVyOjpPcGVuR0xNb2RlKTsKKworICAgIGlmICghdGV4dHVyZU1hcHBlcikg
eworICAgICAgICA6OkRlc3Ryb3lXaW5kb3codGVzdFdpbmRvdyk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyBDcmVhdGUgdGV4dHVyZS4KKyAgICBSZWZQdHI8Qml0bWFw
VGV4dHVyZT4gdGV4dHVyZSA9IHRleHR1cmVNYXBwZXItPmNyZWF0ZVRleHR1cmUoKTsKKworICAg
IGlmICghdGV4dHVyZSkgeworICAgICAgICA6OkRlc3Ryb3lXaW5kb3codGVzdFdpbmRvdyk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB0ZXh0dXJlLT5yZXNldChJbnRTaXpl
KHdpZHRoLCBoZWlnaHQpKTsKKworICAgIC8vIENvcHkgYml0bWFwIGRhdGEgdG8gdGV4dHVyZS4K
KyAgICBjb25zdCBpbnQgYml0bWFwU2l6ZSA9IHdpZHRoICogaGVpZ2h0ICogNDsKKyAgICBjaGFy
IGRhdGFbYml0bWFwU2l6ZV07CisgICAgY29uc3QgaW50IGNvbG9yQ29tcG9uZW50ID0gMTI3Owor
ICAgIG1lbXNldChkYXRhLCBjb2xvckNvbXBvbmVudCwgYml0bWFwU2l6ZSk7CisgICAgSW50UmVj
dCB0YXJnZXRSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworICAgIEludFBvaW50IG9mZnNldCgw
LCAwKTsKKyAgICBpbnQgYnl0ZXNQZXJMaW5lID0gd2lkdGggKiA0OworICAgIEJpdG1hcFRleHR1
cmU6OlVwZGF0ZUNvbnRlbnRzRmxhZyBmbGFncyA9IEJpdG1hcFRleHR1cmU6OlVwZGF0ZUNhbk1v
ZGlmeU9yaWdpbmFsSW1hZ2VEYXRhOworICAgIHRleHR1cmUtPnVwZGF0ZUNvbnRlbnRzKGRhdGEs
IHRhcmdldFJlY3QsIG9mZnNldCwgYnl0ZXNQZXJMaW5lLCBmbGFncyk7CisKKyAgICAvLyBSZW5k
ZXIgdGV4dHVyZS4KKyAgICB0ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5nKCk7CisgICAgRmxv
YXRSZWN0IHJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgdGV4dHVyZU1hcHBlci0+ZHJh
d1RleHR1cmUoKnRleHR1cmUsIHJlY3QpOworICAgIHRleHR1cmVNYXBwZXItPmVuZFBhaW50aW5n
KCk7CisKKyAgICBjb250ZXh0LT5zd2FwQnVmZmVycygpOworCisgICAgLy8gQ2hlY2sgaWYgcGl4
ZWwgaGFzIGV4cGVjdGVkIGNvbG9yLgorICAgIEhXbmREQyBoZGModGVzdFdpbmRvdyk7CisgICAg
Q09MT1JSRUYgcGl4ZWxDb2xvciA9IDo6R2V0UGl4ZWwoaGRjLCAwLCAwKTsKKworICAgIDo6RGVz
dHJveVdpbmRvdyh0ZXN0V2luZG93KTsKKworICAgIHJldHVybiBwaXhlbENvbG9yID09IFJHQihj
b2xvckNvbXBvbmVudCwgY29sb3JDb21wb25lbnQsIGNvbG9yQ29tcG9uZW50KTsKK30KKwogdm9p
ZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKIHsK
ICAgICBpZiAoIWVuYWJsZWQoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQu
aAkocmV2aXNpb24gMTc5OTMyKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiAr
NjUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXNTb29uKCk7
CiAgICAgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsK
IAorICAgIHN0YXRpYyBib29sIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGUoKTsKKwog
cHJpdmF0ZToKICAgICBXZWJWaWV3JiBtX3dlYlZpZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OkdMQ29udGV4dD4gbV9jb250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246413</attachid>
            <date>2015-02-11 13:58:47 -0800</date>
            <delta_ts>2015-02-11 14:48:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140667-20150211225813.patch</filename>
            <type>text/plain</type>
            <size>5396</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkzOCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAyLTEx
ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5D
YWlyb10gQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gZ3Jh
cGhpY3MgY2FyZCBkb2VzIG5vdCBzdXBwb3J0IGl0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKToKKyAgICAgICAgKEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjphY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxNS0wMi0wOSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogW1dpbl0gT0JKSURfQ0xJRU5UIGNvbXBhcmlzb25zIGJyb2tlbiBp
biA2NC1iaXQgYnVpbGRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTc5OTMy
KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
NTEsNiArNTA1MSwxMCBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
CiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCZl
bmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOworI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKKyAgICBzdGF0aWMgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nQXZhaWxhYmxlID0gQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdBdmFpbGFibGUoKTsKKyAgICBlbmFibGVkID0gZW5hYmxlZCAmJiBhY2NlbGVy
YXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlOworI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlZCk7CiAKICAgICBociA9IHByZWZzUHJpdmF0
ZS0+c2hvd0RlYnVnQm9yZGVycygmZW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiAxNzk5MzIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDEwICsyOSwxMiBAQAogCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCisjaW5j
bHVkZSA8V2ViQ29yZS9EZWZXbmRQcm9jV2luZG93Q2xhc3MuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0RvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFduZERDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9N
YWluRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NldHRpbmdzLmg+CkBAIC0yNDMsNiArMjQ1LDc3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ6OnNjcm8KICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAorYm9vbCBB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWls
YWJsZSgpCit7CisgICAgY29uc3QgaW50IHdpZHRoID0gMTA7CisgICAgY29uc3QgaW50IGhlaWdo
dCA9IDEwOworCisgICAgLy8gQ3JlYXRlIHRlc3Qgd2luZG93IHRvIHJlbmRlciB0ZXh0dXJlIGlu
LgorICAgIEhXTkQgdGVzdFdpbmRvdyA9IDo6Q3JlYXRlV2luZG93RXgoV1NfRVhfTk9BQ1RJVkFU
RSwgZGVmV25kUHJvY1dpbmRvd0NsYXNzTmFtZSgpLCBMIkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdU
ZXN0ZXJXaW5kb3ciLCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19ESVNBQkxFRCwgLXdpZHRo
LCAtaGVpZ2h0LCB3aWR0aCwgaGVpZ2h0LCAwLCAwLCAwLCAwKTsKKworICAgIGlmICghdGVzdFdp
bmRvdykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gQ3JlYXRlIEdMIGNvbnRleHQu
CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdMQ29udGV4dD4gY29udGV4dCA9IEdMQ29u
dGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyh0ZXN0V2luZG93LCBHTENvbnRleHQ6OnNoYXJp
bmdDb250ZXh0KCkpOworCisgICAgaWYgKCFjb250ZXh0KSB7CisgICAgICAgIDo6RGVzdHJveVdp
bmRvdyh0ZXN0V2luZG93KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNv
bnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlRleHR1cmVNYXBwZXI+IHRleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyR0w6OmNyZWF0
ZShUZXh0dXJlTWFwcGVyOjpPcGVuR0xNb2RlKTsKKworICAgIGlmICghdGV4dHVyZU1hcHBlcikg
eworICAgICAgICA6OkRlc3Ryb3lXaW5kb3codGVzdFdpbmRvdyk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyBDcmVhdGUgdGV4dHVyZS4KKyAgICBSZWZQdHI8Qml0bWFw
VGV4dHVyZT4gdGV4dHVyZSA9IHRleHR1cmVNYXBwZXItPmNyZWF0ZVRleHR1cmUoKTsKKworICAg
IGlmICghdGV4dHVyZSkgeworICAgICAgICA6OkRlc3Ryb3lXaW5kb3codGVzdFdpbmRvdyk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB0ZXh0dXJlLT5yZXNldChJbnRTaXpl
KHdpZHRoLCBoZWlnaHQpKTsKKworICAgIC8vIENvcHkgYml0bWFwIGRhdGEgdG8gdGV4dHVyZS4K
KyAgICBjb25zdCBpbnQgYml0bWFwU2l6ZSA9IHdpZHRoICogaGVpZ2h0OworICAgIGludCBkYXRh
W2JpdG1hcFNpemVdOworICAgIGNvbnN0IENPTE9SUkVGIGNvbG9yUmVkID0gUkdCKDI1NSwgMCwg
MCk7CisgICAgY29uc3QgQ09MT1JSRUYgY29sb3JHcmVlbiA9IFJHQigwLCAyNTUsIDApOworICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgYml0bWFwU2l6ZTsgaSsrKQorICAgICAgICBkYXRhW2ldID0g
Y29sb3JHcmVlbjsKKyAgICBJbnRSZWN0IHRhcmdldFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7
CisgICAgSW50UG9pbnQgb2Zmc2V0KDAsIDApOworICAgIGludCBieXRlc1BlckxpbmUgPSB3aWR0
aCAqIDQ7CisgICAgQml0bWFwVGV4dHVyZTo6VXBkYXRlQ29udGVudHNGbGFnIGZsYWdzID0gQml0
bWFwVGV4dHVyZTo6VXBkYXRlQ2FuTW9kaWZ5T3JpZ2luYWxJbWFnZURhdGE7CisgICAgdGV4dHVy
ZS0+dXBkYXRlQ29udGVudHMoZGF0YSwgdGFyZ2V0UmVjdCwgb2Zmc2V0LCBieXRlc1BlckxpbmUs
IGZsYWdzKTsKKworICAgIC8vIFJlbmRlciB0ZXh0dXJlLgorICAgIHRleHR1cmVNYXBwZXItPmJl
Z2luUGFpbnRpbmcoKTsKKyAgICBGbG9hdFJlY3QgcmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3VGV4dHVyZSgqdGV4dHVyZSwgcmVjdCk7CisgICAgdGV4
dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKKworICAgIC8vIFNldCBjb2xvciBvZiBwaXhlbCAo
MCwgMCkgdG8gcmVkLCB0byBtYWtlIHN1cmUgaXQgaXMgZGlmZmVyZW50IGZyb20gdGhlIGJpdG1h
cCBjb2xvci4KKyAgICBIV25kREMgaGRjKHRlc3RXaW5kb3cpOworICAgIDo6U2V0UGl4ZWwoaGRj
LCAwLCAwLCBjb2xvclJlZCk7CisKKyAgICBjb250ZXh0LT5zd2FwQnVmZmVycygpOworCisgICAg
Ly8gQ2hlY2sgaWYgcGl4ZWwgKDAsIDApIGhhcyBleHBlY3RlZCBjb2xvci4KKyAgICBDT0xPUlJF
RiBwaXhlbENvbG9yID0gOjpHZXRQaXhlbChoZGMsIDAsIDApOworCisgICAgOjpEZXN0cm95V2lu
ZG93KHRlc3RXaW5kb3cpOworCisgICAgcmV0dXJuIHBpeGVsQ29sb3IgPT0gY29sb3JHcmVlbjsK
K30KKwogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZs
dXNoKCkKIHsKICAgICBpZiAoIWVuYWJsZWQoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQuaAkocmV2aXNpb24gMTc5OTMyKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXNTb29uKCk7CiAgICAgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xs
T2Zmc2V0KTsKIAorICAgIHN0YXRpYyBib29sIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFi
bGUoKTsKKwogcHJpdmF0ZToKICAgICBXZWJWaWV3JiBtX3dlYlZpZXc7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OkdMQ29udGV4dD4gbV9jb250ZXh0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>