<?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>37858</bug_id>
          
          <creation_ts>2010-04-20 07:16:34 -0700</creation_ts>
          <short_desc>[Qt] PageClientQt specific implementation for QWidget</short_desc>
          <delta_ts>2010-05-07 08:02:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>37856</blocked>
    
    <blocked>37866</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesus Sanchez-Palencia">jesus</reporter>
          <assigned_to name="Jesus Sanchez-Palencia">jesus</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>214642</commentid>
    <comment_count>0</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-04-20 07:16:34 -0700</bug_when>
    <thetext>[Qt] PageClientQt specific implementation for QWidget</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214655</commentid>
    <comment_count>1</comment_count>
      <attachid>53817</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-04-20 07:44:07 -0700</bug_when>
    <thetext>Created attachment 53817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214659</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-04-20 07:52:04 -0700</bug_when>
    <thetext>Attachment 53817 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/1728111</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214671</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-04-20 08:09:59 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=53817) [details]
&gt; Patch

hi jeez!

could you please explain why it is QWiget/QWebView only, or if it is just a incremental part of the whole thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214675</commentid>
    <comment_count>4</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-04-20 08:22:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; could you please explain why it is QWiget/QWebView only, or if it is just a
&gt; incremental part of the whole thing?

Yes! This is the first patch. The next one will bring QGraphicsWidget specific implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214683</commentid>
    <comment_count>5</comment_count>
      <attachid>53825</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-04-20 08:33:16 -0700</bug_when>
    <thetext>Created attachment 53825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214747</commentid>
    <comment_count>6</comment_count>
      <attachid>53825</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-20 10:30:12 -0700</bug_when>
    <thetext>Comment on attachment 53825
Patch

Rejecting patch 53825 from commit-queue.

jesus@webkit.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  Due to bug 30084 the commit-queue will require a restart after your change.  Please contact eseidel@chromium.org to request a commit-queue restart.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215239</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-21 04:15:23 -0700</bug_when>
    <thetext>I restarted the bot. It should recognize jesus now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215641</commentid>
    <comment_count>8</comment_count>
      <attachid>53825</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 18:56:36 -0700</bug_when>
    <thetext>Comment on attachment 53825
Patch

Clearing flags on attachment: 53825

Committed r58038: &lt;http://trac.webkit.org/changeset/58038&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215642</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 18:56:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216961</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-26 03:23:08 -0700</bug_when>
    <thetext>The main reason for cherry-picking this change into the release branch is to simplify future cherry-picks?

We&apos;re a few weeks away from the release, and I&apos;d like to get a better understanding about why we integrate certain changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217020</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-26 05:25:02 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; The main reason for cherry-picking this change into the release branch is to
&gt; simplify future cherry-picks?
&gt; 
&gt; We&apos;re a few weeks away from the release, and I&apos;d like to get a better
&gt; understanding about why we integrate certain changes.

There is a follow up patch that fixes the KDE bugs, where it is impossible to implement a custom view and have plugins, cursors etc working correctly. Think Plasma.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217078</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-26 07:06:28 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; The main reason for cherry-picking this change into the release branch is to
&gt; &gt; simplify future cherry-picks?
&gt; &gt; 
&gt; &gt; We&apos;re a few weeks away from the release, and I&apos;d like to get a better
&gt; &gt; understanding about why we integrate certain changes.
&gt; 
&gt; There is a follow up patch that fixes the KDE bugs, where it is impossible to
&gt; implement a custom view and have plugins, cursors etc working correctly. Think
&gt; Plasma.

This is crash fix for a use-case that is currently not supported. It would be better if KDE used QGraphicsWebView for now.

This appears like an easy thing to fix. However if you take into account that for things like the tiled backing store and the accelerated compositing a deep integration into the item hierarchy is necessary (see rootlayer and overlay items), then this does not appear like a simple refactoring anymore.

QWebView use to be a thin layer on top of QWebPage, and so _was_ QGraphicsWebView. It isn&apos;t anymore and perhaps therefore we should reconsider if this is a valid use-case in the first place.

That said, the refactoring is certainly a nice code cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217196</commentid>
    <comment_count>13</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-04-26 11:11:32 -0700</bug_when>
    <thetext>&gt; This is crash fix for a use-case that is currently not supported. It would be
&gt; better if KDE used QGraphicsWebView for now.

Agreed, but since they didn&apos;t I used this as a chance for having the PageClient refactoring done.


&gt; This appears like an easy thing to fix. However if you take into account that
&gt; for things like the tiled backing store and the accelerated compositing a deep
&gt; integration into the item hierarchy is necessary (see rootlayer and overlay
&gt; items), then this does not appear like a simple refactoring anymore.

Yes, that is true! I have this other patch (https://bugs.webkit.org/show_bug.cgi?id=37866) that deal with the QGraphicsWebView side, but it&apos;s still pending for review. It would be awesome if you could review it, Simon.


&gt; QWebView use to be a thin layer on top of QWebPage, and so _was_
&gt; QGraphicsWebView. It isn&apos;t anymore and perhaps therefore we should reconsider
&gt; if this is a valid use-case in the first place.
&gt; 
&gt; That said, the refactoring is certainly a nice code cleanup.

I see... Do you think that we shouldn&apos;t cherry-pick this for QtWebKit 2.0 and maybe leave it for QtWebKit 2.1? Or don&apos;t you want this at all for now?


Thanks for the comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217239</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-26 13:17:35 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; This is crash fix for a use-case that is currently not supported. It would be
&gt; &gt; better if KDE used QGraphicsWebView for now.

Actually, with our API, it seems that we support people creating custom views around the QWebPage, but so far that has been a half-true and a pitfall that some of our users have fallen into. This patch makes it possible to implement a QGraphicsWidget based view using a QWebPage, just as we support implementing a QWidget based view using a QWebPage.

True, we might move away for this in the future, especially with the new WebKit2 API etc, but as KDE will not abandon their Plasme::WebView due to ABI/API compatibility this will help them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217266</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-26 14:07:12 -0700</bug_when>
    <thetext>&gt; This patch makes it possible to implement a
&gt; QGraphicsWidget based view using a QWebPage, just as we support implementing a
&gt; QWidget based view using a QWebPage.

I guess I confused this one with the follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222368</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-07 08:02:52 -0700</bug_when>
    <thetext>Removing this from the blockers, as the refactoring doesn&apos;t really fix anything in the release branch :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53817</attachid>
            <date>2010-04-20 07:44:07 -0700</date>
            <delta_ts>2010-04-20 08:33:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37858-20100420114633.patch</filename>
            <type>text/plain</type>
            <size>11565</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDQ0NmQxYy4uYWMyZmZmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNC0yMCAgSmVzdXMgU2FuY2hl
ei1QYWxlbmNpYSAgPGplc3VzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBhZ2VDbGllbnRRdCBmaWxlcy4KKworICAgICAg
ICBbUXRdIFBhZ2VDbGllbnRRdCBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBmb3IgUVdpZGdldAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc4NTgKKwor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorCiAyMDEwLTA0LTIwICBFdmFuIFN0YWRlICA8ZXN0YWRl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDkx
MmYwYjEuLjE3NWE5YmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtMjAzNCw2ICsyMDM0LDcgQEAgSEVBREVSUyArPSBcCiAgICAg
JCRQV0QvLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oIFwK
ICAgICAkJFBXRC8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5oIFwKICAgICAkJFBXRC8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuaCBcCisgICAgJCRQV0QvLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1BhZ2VDbGllbnRRdC5oIFwKICAgICAkJFBXRC9wbGF0Zm9ybS9uZXR3b3JrL3F0L0Ruc1By
ZWZldGNoSGVscGVyLmgKIAogU09VUkNFUyArPSBcCkBAIC0yMTIyLDYgKzIxMjMsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHAgXAogICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5jcHAgXAogICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5jcHAgXAorICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Q
YWdlQ2xpZW50UXQuY3BwIFwKICAgICAuLi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAgXAog
ICAgIC4uL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgXAogICAgIC4uL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggMGUxMWMxNS4uYzczNWIz
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAKICNpbmNsdWRlICJydW50aW1lL0lu
aXRpYWxpemVUaHJlYWRpbmcuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oIgotI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50
LmgiCisjaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgi
CiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CkBAIC0xMzEsMTE1ICsxMzEsNiBAQCB2b2lkIFFX
RUJLSVRfRVhQT1JUIHF0X3dydF9zZXRWaWV3TW9kZShRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0
cmluZyYgbW9kZSkKIAogYm9vbCBRV2ViUGFnZVByaXZhdGU6OmRydFJ1biA9IGZhbHNlOwogCi1j
bGFzcyBRV2ViUGFnZVdpZGdldENsaWVudCA6IHB1YmxpYyBRV2ViUGFnZUNsaWVudCB7Ci1wdWJs
aWM6Ci0gICAgUVdlYlBhZ2VXaWRnZXRDbGllbnQoUVdpZGdldCogdmlldykKLSAgICAgICAgOiB2
aWV3KHZpZXcpCi0gICAgewotICAgICAgICBRX0FTU0VSVCh2aWV3KTsKLSAgICB9Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgaXNRV2lkZ2V0Q2xpZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCi0g
ICAgdmlydHVhbCB2b2lkIHNjcm9sbChpbnQgZHgsIGludCBkeSwgY29uc3QgUVJlY3QmKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlKGNvbnN0IFFSZWN0JiBkaXJ0eVJlY3QpOwotICAgIHZpcnR1
YWwgdm9pZCBzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUpOwotICAgIHZpcnR1YWwg
Ym9vbCBpbnB1dE1ldGhvZEVuYWJsZWQoKSBjb25zdDsKLSNpZiBRVF9WRVJTSU9OID49IDB4MDQw
NjAwCi0gICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kSGludChRdDo6SW5wdXRNZXRob2RI
aW50IGhpbnQsIGJvb2wgZW5hYmxlKTsKLSNlbmRpZgotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgot
ICAgIHZpcnR1YWwgUUN1cnNvciBjdXJzb3IoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlQ3Vyc29yKGNvbnN0IFFDdXJzb3ImIGN1cnNvcik7Ci0jZW5kaWYKLQotICAgIHZpcnR1YWwg
UVBhbGV0dGUgcGFsZXR0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHNjcmVlbk51bWJlcigp
IGNvbnN0OwotICAgIHZpcnR1YWwgUVdpZGdldCogb3duZXJXaWRnZXQoKSBjb25zdDsKLSAgICB2
aXJ0dWFsIFFSZWN0IGdlb21ldHJ5UmVsYXRpdmVUb093bmVyV2lkZ2V0KCkgY29uc3Q7Ci0KLSAg
ICB2aXJ0dWFsIFFPYmplY3QqIHBsdWdpblBhcmVudCgpIGNvbnN0OwotCi0gICAgdmlydHVhbCBR
U3R5bGUqIHN0eWxlKCkgY29uc3Q7Ci0KLSAgICBRV2lkZ2V0KiB2aWV3OwotfTsKLQotdm9pZCBR
V2ViUGFnZVdpZGdldENsaWVudDo6c2Nyb2xsKGludCBkeCwgaW50IGR5LCBjb25zdCBRUmVjdCYg
cmVjdFRvU2Nyb2xsKQotewotICAgIHZpZXctPnNjcm9sbChxcmVhbChkeCksIHFyZWFsKGR5KSwg
cmVjdFRvU2Nyb2xsKTsKLX0KLQotdm9pZCBRV2ViUGFnZVdpZGdldENsaWVudDo6dXBkYXRlKGNv
bnN0IFFSZWN0ICYgZGlydHlSZWN0KQotewotICAgIHZpZXctPnVwZGF0ZShkaXJ0eVJlY3QpOwot
fQotCi12b2lkIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9v
bCBlbmFibGUpCi17Ci0gICAgdmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVu
YWJsZWQsIGVuYWJsZSk7Ci19Ci0KLWJvb2wgUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OmlucHV0TWV0
aG9kRW5hYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZpZXctPnRlc3RBdHRyaWJ1dGUoUXQ6
OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7Ci19Ci0KLSNpZiBRVF9WRVJTSU9OID49IDB4MDQwNjAw
Ci12b2lkIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzZXRJbnB1dE1ldGhvZEhpbnQoUXQ6OklucHV0
TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSkKLXsKLSAgICBpZiAoZW5hYmxlKQotICAgICAg
ICB2aWV3LT5zZXRJbnB1dE1ldGhvZEhpbnRzKHZpZXctPmlucHV0TWV0aG9kSGludHMoKSB8IGhp
bnQpOwotICAgIGVsc2UKLSAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyh2aWV3LT5p
bnB1dE1ldGhvZEhpbnRzKCkgJiB+aGludCk7Ci19Ci0jZW5kaWYKLSNpZm5kZWYgUVRfTk9fQ1VS
U09SCi1RQ3Vyc29yIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpjdXJzb3IoKSBjb25zdAotewotICAg
IHJldHVybiB2aWV3LT5jdXJzb3IoKTsKLX0KLQotdm9pZCBRV2ViUGFnZVdpZGdldENsaWVudDo6
dXBkYXRlQ3Vyc29yKGNvbnN0IFFDdXJzb3ImIGN1cnNvcikKLXsKLSAgICB2aWV3LT5zZXRDdXJz
b3IoY3Vyc29yKTsKLX0KLSNlbmRpZgotCi1RUGFsZXR0ZSBRV2ViUGFnZVdpZGdldENsaWVudDo6
cGFsZXR0ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZpZXctPnBhbGV0dGUoKTsKLX0KLQotaW50
IFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzY3JlZW5OdW1iZXIoKSBjb25zdAotewotI2lmIGRlZmlu
ZWQoUV9XU19YMTEpCi0gICAgcmV0dXJuIHZpZXctPngxMUluZm8oKS5zY3JlZW4oKTsKLSNlbmRp
ZgotICAgIHJldHVybiAwOwotfQotCi1RV2lkZ2V0KiBRV2ViUGFnZVdpZGdldENsaWVudDo6b3du
ZXJXaWRnZXQoKSBjb25zdAotewotICAgIHJldHVybiB2aWV3OwotfQotCi1RUmVjdCBRV2ViUGFn
ZVdpZGdldENsaWVudDo6Z2VvbWV0cnlSZWxhdGl2ZVRvT3duZXJXaWRnZXQoKSBjb25zdAotewot
ICAgIHJldHVybiB2aWV3LT5nZW9tZXRyeSgpOwotfQotCi1RT2JqZWN0KiBRV2ViUGFnZVdpZGdl
dENsaWVudDo6cGx1Z2luUGFyZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gdmlldzsKLX0KLQot
UVN0eWxlKiBRV2ViUGFnZVdpZGdldENsaWVudDo6c3R5bGUoKSBjb25zdAotewotICAgIHJldHVy
biB2aWV3LT5zdHlsZSgpOwotfQotCiAvLyBMb29rdXAgdGFibGUgbWFwcGluZyBRV2ViUGFnZTo6
V2ViQWN0aW9ucyB0byB0aGUgYXNzb2NpYXRlZCBFZGl0b3IgY29tbWFuZHMKIHN0YXRpYyBjb25z
dCBjaGFyKiBlZGl0b3JDb21tYW5kV2ViQWN0aW9uc1tdID0KIHsKQEAgLTE4NTQsMTIgKzE3NDUs
MTIgQEAgdm9pZCBRV2ViUGFnZTo6c2V0VmlldyhRV2lkZ2V0KiB2aWV3KQogCiAgICAgaWYgKGQt
PmNsaWVudCkgewogICAgICAgICBpZiAoZC0+Y2xpZW50LT5pc1FXaWRnZXRDbGllbnQoKSkKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFFXZWJQYWdlV2lkZ2V0Q2xpZW50Kj4oZC0+Y2xpZW50KS0+
dmlldyA9IHZpZXc7CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UVdpZGdldCo+
KGQtPmNsaWVudCktPnZpZXcgPSB2aWV3OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKHZpZXcpCi0gICAgICAgIGQtPmNsaWVudCA9IG5ldyBRV2ViUGFnZVdpZGdldENsaWVudCh2
aWV3KTsKKyAgICAgICAgZC0+Y2xpZW50ID0gbmV3IFBhZ2VDbGllbnRRV2lkZ2V0KHZpZXcpOwog
fQogCiAvKiEKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDYxZTg4YTIuLmQ2NWIxODkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEwLTA0
LTIwICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgUGFnZUNsaWVudFFX
aWRnZXQgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gdGhlIG9sZAorICAgICAgICBRV2ViUGFnZVdp
ZGdldENsaWVudCB0byBQYWdlQ2xpZW50UXQgZmlsZXMuIEFsc28gZml4CisgICAgICAgIFFXZWJQ
YWdlOjpzZXRWaWV3KCkgdG8gdXNlIFBhZ2VDbGllbnRRV2lkZ2V0LgorCisgICAgICAgIFtRdF0g
UGFnZUNsaWVudFF0IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGZvciBRV2lkZ2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg1OAorCisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpzZXRWaWV3KToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2VDbGllbnRRV2lkZ2V0OjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNsaWVudFFXaWRnZXQ6OnVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UVdp
ZGdldDo6c2V0SW5wdXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGll
bnRRV2lkZ2V0OjppbnB1dE1ldGhvZEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNs
aWVudFFXaWRnZXQ6OnNldElucHV0TWV0aG9kSGludCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q2xpZW50UVdpZGdldDo6Y3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRRV2lk
Z2V0Ojp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6
OnBhbGV0dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OnNjcmVlbk51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UVdpZGdldDo6b3duZXJXaWRnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6Omdlb21ldHJ5UmVsYXRpdmVU
b093bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRRV2lkZ2V0OjpwbHVn
aW5QYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OnN0eWxlKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpQYWdlQ2xpZW50UVdpZGdldDo6UGFnZUNsaWVudFFXaWRnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OmlzUVdpZGdldENsaWVudCk6CisKIDIwMTAt
MDQtMTkgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1BhZ2VDbGllbnRRdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NTQ2OWJjZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdl
Q2xpZW50UXQuY3BwCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKwordm9pZCBQYWdlQ2xpZW50UVdpZGdldDo6c2Nyb2xsKGludCBkeCwgaW50IGR5
LCBjb25zdCBRUmVjdCYgcmVjdFRvU2Nyb2xsKQoreworICAgIHZpZXctPnNjcm9sbChxcmVhbChk
eCksIHFyZWFsKGR5KSwgcmVjdFRvU2Nyb2xsKTsKK30KKwordm9pZCBQYWdlQ2xpZW50UVdpZGdl
dDo6dXBkYXRlKGNvbnN0IFFSZWN0ICYgZGlydHlSZWN0KQoreworICAgIHZpZXctPnVwZGF0ZShk
aXJ0eVJlY3QpOworfQorCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEVu
YWJsZWQoYm9vbCBlbmFibGUpCit7CisgICAgdmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9JbnB1
dE1ldGhvZEVuYWJsZWQsIGVuYWJsZSk7Cit9CisKK2Jvb2wgUGFnZUNsaWVudFFXaWRnZXQ6Omlu
cHV0TWV0aG9kRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXctPnRlc3RBdHRyaWJ1
dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7Cit9CisKKyNpZiBRVF9WRVJTSU9OID49IDB4
MDQwNjAwCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEhpbnQoUXQ6Oklu
cHV0TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAg
ICAgICB2aWV3LT5zZXRJbnB1dE1ldGhvZEhpbnRzKHZpZXctPmlucHV0TWV0aG9kSGludHMoKSB8
IGhpbnQpOworICAgIGVsc2UKKyAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyh2aWV3
LT5pbnB1dE1ldGhvZEhpbnRzKCkgJiB+aGludCk7Cit9CisjZW5kaWYKKworI2lmbmRlZiBRVF9O
T19DVVJTT1IKK1FDdXJzb3IgUGFnZUNsaWVudFFXaWRnZXQ6OmN1cnNvcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHZpZXctPmN1cnNvcigpOworfQorCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0Ojp1
cGRhdGVDdXJzb3IoY29uc3QgUUN1cnNvciYgY3Vyc29yKQoreworICAgIHZpZXctPnNldEN1cnNv
cihjdXJzb3IpOworfQorI2VuZGlmCisKK1FQYWxldHRlIFBhZ2VDbGllbnRRV2lkZ2V0OjpwYWxl
dHRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmlldy0+cGFsZXR0ZSgpOworfQorCitpbnQgUGFn
ZUNsaWVudFFXaWRnZXQ6OnNjcmVlbk51bWJlcigpIGNvbnN0Cit7CisjaWYgZGVmaW5lZChRX1dT
X1gxMSkKKyAgICByZXR1cm4gdmlldy0+eDExSW5mbygpLnNjcmVlbigpOworI2VuZGlmCisgICAg
cmV0dXJuIDA7Cit9CisKK1FXaWRnZXQqIFBhZ2VDbGllbnRRV2lkZ2V0Ojpvd25lcldpZGdldCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXc7Cit9CisKK1FSZWN0IFBhZ2VDbGllbnRRV2lkZ2V0
OjpnZW9tZXRyeVJlbGF0aXZlVG9Pd25lcldpZGdldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZp
ZXctPmdlb21ldHJ5KCk7Cit9CisKK1FPYmplY3QqIFBhZ2VDbGllbnRRV2lkZ2V0OjpwbHVnaW5Q
YXJlbnQoKSBjb25zdAoreworICAgIHJldHVybiB2aWV3OworfQorCitRU3R5bGUqIFBhZ2VDbGll
bnRRV2lkZ2V0OjpzdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXctPnN0eWxlKCk7Cit9
CisKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQu
aCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjA5NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRp
YXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICoKKyAqLworCisjaWZuZGVmIFBhZ2VDbGllbnRRdF9oCisjZGVmaW5lIFBhZ2VDbGllbnRR
dF9oCisKKyNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgorCisjaW5jbHVkZSA8UXRHdWkvcXdp
ZGdldC5oPgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZUNsaWVudFFXaWRn
ZXQgOiBwdWJsaWMgUVdlYlBhZ2VDbGllbnQgeworcHVibGljOgorICAgIFBhZ2VDbGllbnRRV2lk
Z2V0KFFXaWRnZXQqIHZpZXcpCisgICAgICAgIDogdmlldyh2aWV3KQorICAgIHsKKyAgICAgICAg
UV9BU1NFUlQodmlldyk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzUVdpZGdldENsaWVu
dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoaW50
IGR4LCBpbnQgZHksIGNvbnN0IFFSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShjb25z
dCBRUmVjdCYgZGlydHlSZWN0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RFbmFi
bGVkKGJvb2wgZW5hYmxlKTsKKyAgICB2aXJ0dWFsIGJvb2wgaW5wdXRNZXRob2RFbmFibGVkKCkg
Y29uc3Q7CisjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDYwMAorICAgIHZpcnR1YWwgdm9pZCBzZXRJ
bnB1dE1ldGhvZEhpbnQoUXQ6OklucHV0TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSk7Cisj
ZW5kaWYKKworI2lmbmRlZiBRVF9OT19DVVJTT1IKKyAgICB2aXJ0dWFsIFFDdXJzb3IgY3Vyc29y
KCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUN1cnNvcihjb25zdCBRQ3Vyc29yJiBj
dXJzb3IpOworI2VuZGlmCisKKyAgICB2aXJ0dWFsIFFQYWxldHRlIHBhbGV0dGUoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGludCBzY3JlZW5OdW1iZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFFXaWRn
ZXQqIG93bmVyV2lkZ2V0KCkgY29uc3Q7CisgICAgdmlydHVhbCBRUmVjdCBnZW9tZXRyeVJlbGF0
aXZlVG9Pd25lcldpZGdldCgpIGNvbnN0OworCisgICAgdmlydHVhbCBRT2JqZWN0KiBwbHVnaW5Q
YXJlbnQoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUVN0eWxlKiBzdHlsZSgpIGNvbnN0OworCisg
ICAgUVdpZGdldCogdmlldzsKK307CisKK30KKyNlbmRpZiAvLyBQYWdlQ2xpZW50UXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53825</attachid>
            <date>2010-04-20 08:33:16 -0700</date>
            <delta_ts>2010-04-21 18:56:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37858-20100420123542.patch</filename>
            <type>text/plain</type>
            <size>11619</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDQ0NmQxYy4uYWMyZmZmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNC0yMCAgSmVzdXMgU2FuY2hl
ei1QYWxlbmNpYSAgPGplc3VzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBhZ2VDbGllbnRRdCBmaWxlcy4KKworICAgICAg
ICBbUXRdIFBhZ2VDbGllbnRRdCBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBmb3IgUVdpZGdldAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc4NTgKKwor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorCiAyMDEwLTA0LTIwICBFdmFuIFN0YWRlICA8ZXN0YWRl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDkx
MmYwYjEuLjE3NWE5YmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtMjAzNCw2ICsyMDM0LDcgQEAgSEVBREVSUyArPSBcCiAgICAg
JCRQV0QvLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oIFwK
ICAgICAkJFBXRC8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5oIFwKICAgICAkJFBXRC8uLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuaCBcCisgICAgJCRQV0QvLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1BhZ2VDbGllbnRRdC5oIFwKICAgICAkJFBXRC9wbGF0Zm9ybS9uZXR3b3JrL3F0L0Ruc1By
ZWZldGNoSGVscGVyLmgKIAogU09VUkNFUyArPSBcCkBAIC0yMTIyLDYgKzIxMjMsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHAgXAogICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5jcHAgXAogICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5jcHAgXAorICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Q
YWdlQ2xpZW50UXQuY3BwIFwKICAgICAuLi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAgXAog
ICAgIC4uL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgXAogICAgIC4uL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggMGUxMWMxNS4uYzczNWIz
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKQEAgLTgxLDcgKzgxLDcgQEAKICNpbmNsdWRlICJydW50aW1lL0lu
aXRpYWxpemVUaHJlYWRpbmcuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oIgotI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50
LmgiCisjaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgi
CiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CkBAIC0xMzEsMTE1ICsxMzEsNiBAQCB2b2lkIFFX
RUJLSVRfRVhQT1JUIHF0X3dydF9zZXRWaWV3TW9kZShRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0
cmluZyYgbW9kZSkKIAogYm9vbCBRV2ViUGFnZVByaXZhdGU6OmRydFJ1biA9IGZhbHNlOwogCi1j
bGFzcyBRV2ViUGFnZVdpZGdldENsaWVudCA6IHB1YmxpYyBRV2ViUGFnZUNsaWVudCB7Ci1wdWJs
aWM6Ci0gICAgUVdlYlBhZ2VXaWRnZXRDbGllbnQoUVdpZGdldCogdmlldykKLSAgICAgICAgOiB2
aWV3KHZpZXcpCi0gICAgewotICAgICAgICBRX0FTU0VSVCh2aWV3KTsKLSAgICB9Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgaXNRV2lkZ2V0Q2xpZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCi0g
ICAgdmlydHVhbCB2b2lkIHNjcm9sbChpbnQgZHgsIGludCBkeSwgY29uc3QgUVJlY3QmKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlKGNvbnN0IFFSZWN0JiBkaXJ0eVJlY3QpOwotICAgIHZpcnR1
YWwgdm9pZCBzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUpOwotICAgIHZpcnR1YWwg
Ym9vbCBpbnB1dE1ldGhvZEVuYWJsZWQoKSBjb25zdDsKLSNpZiBRVF9WRVJTSU9OID49IDB4MDQw
NjAwCi0gICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kSGludChRdDo6SW5wdXRNZXRob2RI
aW50IGhpbnQsIGJvb2wgZW5hYmxlKTsKLSNlbmRpZgotCi0jaWZuZGVmIFFUX05PX0NVUlNPUgot
ICAgIHZpcnR1YWwgUUN1cnNvciBjdXJzb3IoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlQ3Vyc29yKGNvbnN0IFFDdXJzb3ImIGN1cnNvcik7Ci0jZW5kaWYKLQotICAgIHZpcnR1YWwg
UVBhbGV0dGUgcGFsZXR0ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHNjcmVlbk51bWJlcigp
IGNvbnN0OwotICAgIHZpcnR1YWwgUVdpZGdldCogb3duZXJXaWRnZXQoKSBjb25zdDsKLSAgICB2
aXJ0dWFsIFFSZWN0IGdlb21ldHJ5UmVsYXRpdmVUb093bmVyV2lkZ2V0KCkgY29uc3Q7Ci0KLSAg
ICB2aXJ0dWFsIFFPYmplY3QqIHBsdWdpblBhcmVudCgpIGNvbnN0OwotCi0gICAgdmlydHVhbCBR
U3R5bGUqIHN0eWxlKCkgY29uc3Q7Ci0KLSAgICBRV2lkZ2V0KiB2aWV3OwotfTsKLQotdm9pZCBR
V2ViUGFnZVdpZGdldENsaWVudDo6c2Nyb2xsKGludCBkeCwgaW50IGR5LCBjb25zdCBRUmVjdCYg
cmVjdFRvU2Nyb2xsKQotewotICAgIHZpZXctPnNjcm9sbChxcmVhbChkeCksIHFyZWFsKGR5KSwg
cmVjdFRvU2Nyb2xsKTsKLX0KLQotdm9pZCBRV2ViUGFnZVdpZGdldENsaWVudDo6dXBkYXRlKGNv
bnN0IFFSZWN0ICYgZGlydHlSZWN0KQotewotICAgIHZpZXctPnVwZGF0ZShkaXJ0eVJlY3QpOwot
fQotCi12b2lkIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9v
bCBlbmFibGUpCi17Ci0gICAgdmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVu
YWJsZWQsIGVuYWJsZSk7Ci19Ci0KLWJvb2wgUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OmlucHV0TWV0
aG9kRW5hYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZpZXctPnRlc3RBdHRyaWJ1dGUoUXQ6
OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7Ci19Ci0KLSNpZiBRVF9WRVJTSU9OID49IDB4MDQwNjAw
Ci12b2lkIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzZXRJbnB1dE1ldGhvZEhpbnQoUXQ6OklucHV0
TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSkKLXsKLSAgICBpZiAoZW5hYmxlKQotICAgICAg
ICB2aWV3LT5zZXRJbnB1dE1ldGhvZEhpbnRzKHZpZXctPmlucHV0TWV0aG9kSGludHMoKSB8IGhp
bnQpOwotICAgIGVsc2UKLSAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyh2aWV3LT5p
bnB1dE1ldGhvZEhpbnRzKCkgJiB+aGludCk7Ci19Ci0jZW5kaWYKLSNpZm5kZWYgUVRfTk9fQ1VS
U09SCi1RQ3Vyc29yIFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpjdXJzb3IoKSBjb25zdAotewotICAg
IHJldHVybiB2aWV3LT5jdXJzb3IoKTsKLX0KLQotdm9pZCBRV2ViUGFnZVdpZGdldENsaWVudDo6
dXBkYXRlQ3Vyc29yKGNvbnN0IFFDdXJzb3ImIGN1cnNvcikKLXsKLSAgICB2aWV3LT5zZXRDdXJz
b3IoY3Vyc29yKTsKLX0KLSNlbmRpZgotCi1RUGFsZXR0ZSBRV2ViUGFnZVdpZGdldENsaWVudDo6
cGFsZXR0ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZpZXctPnBhbGV0dGUoKTsKLX0KLQotaW50
IFFXZWJQYWdlV2lkZ2V0Q2xpZW50OjpzY3JlZW5OdW1iZXIoKSBjb25zdAotewotI2lmIGRlZmlu
ZWQoUV9XU19YMTEpCi0gICAgcmV0dXJuIHZpZXctPngxMUluZm8oKS5zY3JlZW4oKTsKLSNlbmRp
ZgotICAgIHJldHVybiAwOwotfQotCi1RV2lkZ2V0KiBRV2ViUGFnZVdpZGdldENsaWVudDo6b3du
ZXJXaWRnZXQoKSBjb25zdAotewotICAgIHJldHVybiB2aWV3OwotfQotCi1RUmVjdCBRV2ViUGFn
ZVdpZGdldENsaWVudDo6Z2VvbWV0cnlSZWxhdGl2ZVRvT3duZXJXaWRnZXQoKSBjb25zdAotewot
ICAgIHJldHVybiB2aWV3LT5nZW9tZXRyeSgpOwotfQotCi1RT2JqZWN0KiBRV2ViUGFnZVdpZGdl
dENsaWVudDo6cGx1Z2luUGFyZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gdmlldzsKLX0KLQot
UVN0eWxlKiBRV2ViUGFnZVdpZGdldENsaWVudDo6c3R5bGUoKSBjb25zdAotewotICAgIHJldHVy
biB2aWV3LT5zdHlsZSgpOwotfQotCiAvLyBMb29rdXAgdGFibGUgbWFwcGluZyBRV2ViUGFnZTo6
V2ViQWN0aW9ucyB0byB0aGUgYXNzb2NpYXRlZCBFZGl0b3IgY29tbWFuZHMKIHN0YXRpYyBjb25z
dCBjaGFyKiBlZGl0b3JDb21tYW5kV2ViQWN0aW9uc1tdID0KIHsKQEAgLTE4NTQsMTIgKzE3NDUs
MTIgQEAgdm9pZCBRV2ViUGFnZTo6c2V0VmlldyhRV2lkZ2V0KiB2aWV3KQogCiAgICAgaWYgKGQt
PmNsaWVudCkgewogICAgICAgICBpZiAoZC0+Y2xpZW50LT5pc1FXaWRnZXRDbGllbnQoKSkKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFFXZWJQYWdlV2lkZ2V0Q2xpZW50Kj4oZC0+Y2xpZW50KS0+
dmlldyA9IHZpZXc7CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UVdpZGdldCo+
KGQtPmNsaWVudCktPnZpZXcgPSB2aWV3OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKHZpZXcpCi0gICAgICAgIGQtPmNsaWVudCA9IG5ldyBRV2ViUGFnZVdpZGdldENsaWVudCh2
aWV3KTsKKyAgICAgICAgZC0+Y2xpZW50ID0gbmV3IFBhZ2VDbGllbnRRV2lkZ2V0KHZpZXcpOwog
fQogCiAvKiEKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hh
bmdlTG9nCmluZGV4IDYxZTg4YTIuLmQ2NWIxODkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEwLTA0
LTIwICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgUGFnZUNsaWVudFFX
aWRnZXQgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gdGhlIG9sZAorICAgICAgICBRV2ViUGFnZVdp
ZGdldENsaWVudCB0byBQYWdlQ2xpZW50UXQgZmlsZXMuIEFsc28gZml4CisgICAgICAgIFFXZWJQ
YWdlOjpzZXRWaWV3KCkgdG8gdXNlIFBhZ2VDbGllbnRRV2lkZ2V0LgorCisgICAgICAgIFtRdF0g
UGFnZUNsaWVudFF0IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGZvciBRV2lkZ2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg1OAorCisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpzZXRWaWV3KToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2VDbGllbnRRV2lkZ2V0OjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNsaWVudFFXaWRnZXQ6OnVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UVdp
ZGdldDo6c2V0SW5wdXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGll
bnRRV2lkZ2V0OjppbnB1dE1ldGhvZEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNs
aWVudFFXaWRnZXQ6OnNldElucHV0TWV0aG9kSGludCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q2xpZW50UVdpZGdldDo6Y3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRRV2lk
Z2V0Ojp1cGRhdGVDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6
OnBhbGV0dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OnNjcmVlbk51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UVdpZGdldDo6b3duZXJXaWRnZXQp
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6Omdlb21ldHJ5UmVsYXRpdmVU
b093bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRRV2lkZ2V0OjpwbHVn
aW5QYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OnN0eWxlKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpQYWdlQ2xpZW50UVdpZGdldDo6UGFnZUNsaWVudFFXaWRnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OmlzUVdpZGdldENsaWVudCk6CisKIDIwMTAt
MDQtMTkgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1BhZ2VDbGllbnRRdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjExYmFiNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdl
Q2xpZW50UXQuY3BwCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCisKKyNpZiBkZWZpbmVk
KFFfV1NfWDExKQorI2luY2x1ZGUgPFFYMTFJbmZvPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordm9pZCBQYWdlQ2xpZW50UVdpZGdldDo6c2Nyb2xsKGludCBkeCwgaW50IGR5LCBj
b25zdCBRUmVjdCYgcmVjdFRvU2Nyb2xsKQoreworICAgIHZpZXctPnNjcm9sbChxcmVhbChkeCks
IHFyZWFsKGR5KSwgcmVjdFRvU2Nyb2xsKTsKK30KKwordm9pZCBQYWdlQ2xpZW50UVdpZGdldDo6
dXBkYXRlKGNvbnN0IFFSZWN0ICYgZGlydHlSZWN0KQoreworICAgIHZpZXctPnVwZGF0ZShkaXJ0
eVJlY3QpOworfQorCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEVuYWJs
ZWQoYm9vbCBlbmFibGUpCit7CisgICAgdmlldy0+c2V0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1l
dGhvZEVuYWJsZWQsIGVuYWJsZSk7Cit9CisKK2Jvb2wgUGFnZUNsaWVudFFXaWRnZXQ6OmlucHV0
TWV0aG9kRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXctPnRlc3RBdHRyaWJ1dGUo
UXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7Cit9CisKKyNpZiBRVF9WRVJTSU9OID49IDB4MDQw
NjAwCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEhpbnQoUXQ6OklucHV0
TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSkKK3sKKyAgICBpZiAoZW5hYmxlKQorICAgICAg
ICB2aWV3LT5zZXRJbnB1dE1ldGhvZEhpbnRzKHZpZXctPmlucHV0TWV0aG9kSGludHMoKSB8IGhp
bnQpOworICAgIGVsc2UKKyAgICAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyh2aWV3LT5p
bnB1dE1ldGhvZEhpbnRzKCkgJiB+aGludCk7Cit9CisjZW5kaWYKKworI2lmbmRlZiBRVF9OT19D
VVJTT1IKK1FDdXJzb3IgUGFnZUNsaWVudFFXaWRnZXQ6OmN1cnNvcigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHZpZXctPmN1cnNvcigpOworfQorCit2b2lkIFBhZ2VDbGllbnRRV2lkZ2V0Ojp1cGRh
dGVDdXJzb3IoY29uc3QgUUN1cnNvciYgY3Vyc29yKQoreworICAgIHZpZXctPnNldEN1cnNvcihj
dXJzb3IpOworfQorI2VuZGlmCisKK1FQYWxldHRlIFBhZ2VDbGllbnRRV2lkZ2V0OjpwYWxldHRl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmlldy0+cGFsZXR0ZSgpOworfQorCitpbnQgUGFnZUNs
aWVudFFXaWRnZXQ6OnNjcmVlbk51bWJlcigpIGNvbnN0Cit7CisjaWYgZGVmaW5lZChRX1dTX1gx
MSkKKyAgICByZXR1cm4gdmlldy0+eDExSW5mbygpLnNjcmVlbigpOworI2VuZGlmCisgICAgcmV0
dXJuIDA7Cit9CisKK1FXaWRnZXQqIFBhZ2VDbGllbnRRV2lkZ2V0Ojpvd25lcldpZGdldCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHZpZXc7Cit9CisKK1FSZWN0IFBhZ2VDbGllbnRRV2lkZ2V0Ojpn
ZW9tZXRyeVJlbGF0aXZlVG9Pd25lcldpZGdldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXct
Pmdlb21ldHJ5KCk7Cit9CisKK1FPYmplY3QqIFBhZ2VDbGllbnRRV2lkZ2V0OjpwbHVnaW5QYXJl
bnQoKSBjb25zdAoreworICAgIHJldHVybiB2aWV3OworfQorCitRU3R5bGUqIFBhZ2VDbGllbnRR
V2lkZ2V0OjpzdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZpZXctPnN0eWxlKCk7Cit9CisK
K30KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaCBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4zZjA5NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICoKKyAqLworCisjaWZuZGVmIFBhZ2VDbGllbnRRdF9oCisjZGVmaW5lIFBhZ2VDbGllbnRRdF9o
CisKKyNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgorCisjaW5jbHVkZSA8UXRHdWkvcXdpZGdl
dC5oPgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUGFnZUNsaWVudFFXaWRnZXQg
OiBwdWJsaWMgUVdlYlBhZ2VDbGllbnQgeworcHVibGljOgorICAgIFBhZ2VDbGllbnRRV2lkZ2V0
KFFXaWRnZXQqIHZpZXcpCisgICAgICAgIDogdmlldyh2aWV3KQorICAgIHsKKyAgICAgICAgUV9B
U1NFUlQodmlldyk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzUVdpZGdldENsaWVudCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGwoaW50IGR4
LCBpbnQgZHksIGNvbnN0IFFSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShjb25zdCBR
UmVjdCYgZGlydHlSZWN0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RFbmFibGVk
KGJvb2wgZW5hYmxlKTsKKyAgICB2aXJ0dWFsIGJvb2wgaW5wdXRNZXRob2RFbmFibGVkKCkgY29u
c3Q7CisjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDYwMAorICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1
dE1ldGhvZEhpbnQoUXQ6OklucHV0TWV0aG9kSGludCBoaW50LCBib29sIGVuYWJsZSk7CisjZW5k
aWYKKworI2lmbmRlZiBRVF9OT19DVVJTT1IKKyAgICB2aXJ0dWFsIFFDdXJzb3IgY3Vyc29yKCkg
Y29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUN1cnNvcihjb25zdCBRQ3Vyc29yJiBjdXJz
b3IpOworI2VuZGlmCisKKyAgICB2aXJ0dWFsIFFQYWxldHRlIHBhbGV0dGUoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIGludCBzY3JlZW5OdW1iZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFFXaWRnZXQq
IG93bmVyV2lkZ2V0KCkgY29uc3Q7CisgICAgdmlydHVhbCBRUmVjdCBnZW9tZXRyeVJlbGF0aXZl
VG9Pd25lcldpZGdldCgpIGNvbnN0OworCisgICAgdmlydHVhbCBRT2JqZWN0KiBwbHVnaW5QYXJl
bnQoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUVN0eWxlKiBzdHlsZSgpIGNvbnN0OworCisgICAg
UVdpZGdldCogdmlldzsKK307CisKK30KKyNlbmRpZiAvLyBQYWdlQ2xpZW50UXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>