<?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>129140</bug_id>
          
          <creation_ts>2014-02-20 20:05:04 -0800</creation_ts>
          <short_desc>Start fixing the view states driven by the WKScrollView</short_desc>
          <delta_ts>2014-02-20 20:48:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983081</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-20 20:05:04 -0800</bug_when>
    <thetext>Start fixing the view states driven by the WKScrollView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983085</commentid>
    <comment_count>1</comment_count>
      <attachid>224826</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-20 20:14:38 -0800</bug_when>
    <thetext>Created attachment 224826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983087</commentid>
    <comment_count>2</comment_count>
      <attachid>224826</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 20:23:57 -0800</bug_when>
    <thetext>Comment on attachment 224826
Patch

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

&gt; Source/WebKit2/UIProcess/API/ios/WKViewIOS.mm:271
&gt; +- (void)_updateContentWindow

&quot;window&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983088</commentid>
    <comment_count>3</comment_count>
      <attachid>224826</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 20:24:44 -0800</bug_when>
    <thetext>Comment on attachment 224826
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        WKScrollView creates a &quot;window&quot; over WKContentview with an area that is exposed,

capital View

&gt; Source/WebKit2/ChangeLog:9
&gt; +        an area that is unobcured and a certain scale.

typo obscured

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Instead of having 3 loosely related path for updating WKContentView

path*s*

&gt; Source/WebKit2/ChangeLog:12
&gt; +        when the content &quot;window&quot; change, everything is consolidated behind the

&quot;window&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983089</commentid>
    <comment_count>4</comment_count>
      <attachid>224826</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-02-20 20:26:45 -0800</bug_when>
    <thetext>Comment on attachment 224826
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +
&gt; +

Extra space.

&gt; Source/WebKit2/ChangeLog:8
&gt; +        WKScrollView creates a &quot;window&quot; over WKContentview with an area that is exposed,

over the

&gt; Source/WebKit2/ChangeLog:9
&gt; +        an area that is unobcured and a certain scale.

unobscured and with a certain scale?

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Instead of having 3 loosely related path for updating WKContentView

paths

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:384
&gt; +- (void)_updateContentWindow

I think &quot;window&quot; is a bad term to use here; it&apos;s too overloaded.

updateViewRects: or updateVisibleRect: would be fine I think.

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:161
&gt; +    if (oldRoundedPosition != newRoundedPosition)
&gt; +        _page-&gt;scrollingCoordinatorProxy()-&gt;scrollPositionChangedViaDelegatedScrolling(_page-&gt;scrollingCoordinatorProxy()-&gt;rootScrollingNodeID(), newRoundedPosition);
&gt; +

It&apos;s probably fine to call this when the position didn&apos;t actually change?

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:165
&gt; +        exposedRect.scale(scale);
&gt; +        drawingArea-&gt;setExposedRect(exposedRect);

It&apos;s not clear why we have to scale this rect; it&apos;s already visibleRectInContentCoordinates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983095</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-20 20:48:39 -0800</bug_when>
    <thetext>Committed r164466: &lt;http://trac.webkit.org/changeset/164466&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224826</attachid>
            <date>2014-02-20 20:14:38 -0800</date>
            <delta_ts>2014-02-20 20:26:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129140-20140220201437.patch</filename>
            <type>text/plain</type>
            <size>20857</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE3ODViOTk1ZGUwZWJm
ZjRhMjhjMzk5YzliYjA2ZWVkZGIzYWE0Ny4uY2VlY2MzYzhmNGVmNWJmMTU2Yjc1M2RhYzQzOTg2
NWUyYjY5Yzk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTIwICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFN0YXJ0IGZpeGlu
ZyB0aGUgdmlldyBzdGF0ZXMgZHJpdmVuIGJ5IHRoZSBXS1Njcm9sbFZpZXcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTE0MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJv
bGxlcjo6c2NhbGVkRXhwb3NlZFJlY3QpOgorICAgICAgICBUaGF0IGNvbW1lbnQgd2FzIG1vcmUg
Y29uZnVzaW5nIHRoYW4gaGVscGluZy4gRnJhbWVWaWV3LXJlbGF0aXZlIGNvb3JkaW5hdGVzIHNo
b3VsZCBub3QgbmVlZAorICAgICAgICBzY2FsaW5nLgorCiAyMDE0LTAyLTE5ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIERlYnVnIGJ1aWxkIGZpeCBhZnRlciBy
MTY0NDAxLiBSZW1vdmVkIGEgYm9ndXMgYXNzZXJ0aW9uIGluIGNvbXBhcmVQb3NpdGlvbnMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMmY0ODE5NzZhMTI2NmNlNDcyMDhkYzZjM2E3ZWI1ODU5OTA4Mjg1OC4uYzBj
ZmUwMjAwNTcyMjNlNTZkMzIwNGY5NjM5Yjk1MmIyNjQzMmViMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDYwIEBACisyMDE0LTAyLTIwICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFN0YXJ0IGZpeGluZyB0aGUgdmlldyBzdGF0ZXMgZHJpdmVuIGJ5IHRo
ZSBXS1Njcm9sbFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyOTE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdLU2Nyb2xsVmlldyBjcmVhdGVzIGEgIndpbmRvdyIgb3ZlciBXS0NvbnRlbnR2aWV3
IHdpdGggYW4gYXJlYSB0aGF0IGlzIGV4cG9zZWQsCisgICAgICAgIGFuIGFyZWEgdGhhdCBpcyB1
bm9iY3VyZWQgYW5kIGEgY2VydGFpbiBzY2FsZS4KKworICAgICAgICBJbnN0ZWFkIG9mIGhhdmlu
ZyAzIGxvb3NlbHkgcmVsYXRlZCBwYXRoIGZvciB1cGRhdGluZyBXS0NvbnRlbnRWaWV3CisgICAg
ICAgIHdoZW4gdGhlIGNvbnRlbnQgIndpbmRvdyIgY2hhbmdlLCBldmVyeXRoaW5nIGlzIGNvbnNv
bGlkYXRlZCBiZWhpbmQgdGhlCisgICAgICAgIHNpbmdsZSBBUEkgLVtXS0NvbnRlbnRWaWV3IGRp
ZFVwZGF0ZVZpc2libGVSZWN0OnVub2JzY3VyZWRSZWN0OnNjYWxlOl0uCisKKyAgICAgICAgVGhp
cyBwYXRjaCBvbmx5IGZpeGVzIHRoZSBjb250ZW50IHVwZGF0ZXMgZnJvbSB0aGUgVUkgcHJvY2Vz
cyBzaWRlIHRvIGtlZXAgdGhpbmdzIHNpbXBsZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZEZpbmlzaFNjcm9s
bGluZ10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld0RpZEVuZERyYWdnaW5nOndp
bGxEZWNlbGVyYXRlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld0RpZEVuZERl
Y2VsZXJhdGluZzpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNjcm9sbFZpZXdEaWRTY3JvbGxU
b1RvcDpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNjcm9sbFZpZXdEaWRTY3JvbGw6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBzY3JvbGxWaWV3RGlkRW5kWm9vbWluZzp3aXRoVmlldzphdFNj
YWxlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2ZyYW1lT3JCb3VuZHNDaGFuZ2VkXSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlQ29udGVudFdpbmRvd10pOgorICAgICAgICAoLVtX
S1dlYlZpZXcgX3NldE9ic2N1cmVkSW5zZXRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
aW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZFVwZGF0ZVZpc2libGVSZWN0
OnVub2JzY3VyZWRSZWN0OnNjYWxlOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRh
dGVGaXhlZFBvc2l0aW9uUmVjdF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZEZpbmlz
aFNjcm9sbGluZ10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZFpvb21Ub1NjYWxlOl0p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5tbToKKyAgICAgICAgKC1b
V0tWaWV3IGNvbnRlbnRWaWV3OmRpZENvbW1pdExheWVyVHJlZTpdKToKKyAgICAgICAgKC1bV0tW
aWV3IF9kaWRGaW5pc2hTY3JvbGxpbmddKToKKyAgICAgICAgKC1bV0tWaWV3IHNjcm9sbFZpZXdE
aWRFbmREcmFnZ2luZzp3aWxsRGVjZWxlcmF0ZTpdKToKKyAgICAgICAgKC1bV0tWaWV3IHNjcm9s
bFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6XSk6CisgICAgICAgICgtW1dLVmlldyBzY3JvbGxWaWV3
RGlkU2Nyb2xsVG9Ub3A6XSk6CisgICAgICAgICgtW1dLVmlldyBzY3JvbGxWaWV3RGlkU2Nyb2xs
Ol0pOgorICAgICAgICAoLVtXS1ZpZXcgc2Nyb2xsVmlld0RpZEVuZFpvb21pbmc6d2l0aFZpZXc6
YXRTY2FsZTpdKToKKyAgICAgICAgU2Nyb2xsaW5nIGlzIG1vZGlmaWVkIHRvIHRha2UgaW50byBh
Y2NvdW50IHRoZSB2aWV3IHBvc2l0aW9uIGFuZCB0aGUgb2JjdXJlZCBjb250ZW50LgorICAgICAg
ICBJbnN0ZWFkIG9mIGRyaXZpbmcgdGhlIHNjcm9sbGluZyBwb3NpdGlvbiBmcm9tIHRoZSBVSVNj
cm9sbFZpZXcgZGVsZWdhdGUgY2FsbGJhY2tzLAorICAgICAgICB3ZSB1c2UgY2hhbmdlcyBpbiB1
bm9ic2N1cmVkIHJlY3QgdG8gZmluZCBjaGFuZ2VzIGluICJjb250ZW50IHZpc2libGUgc2Nyb2xs
IHBvc2l0aW9uIi4KKworICAgICAgICBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaFNjcm9sbGluZygp
IGlzIHJlbW92ZWQuIEFsbCB0aGUgc2Nyb2xsT2Zmc2V0IHVwZGF0ZXMgbm93IGdvIHRocm91Z2gK
KyAgICAgICAgdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLgorCisgICAgICAgICgtW1dLVmlldyBf
ZnJhbWVPckJvdW5kc0NoYW5nZWRdKToKKyAgICAgICAgKC1bV0tWaWV3IF91cGRhdGVDb250ZW50
V2luZG93XSk6CisgICAgICAgICgtW1dLVmlldyBfc2V0T2JzY3VyZWRJbnNldHM6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVub2Jz
Y3VyZWRDb250ZW50UmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0VW5v
YnNjdXJlZENvbnRlbnRSZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW06CisKIDIwMTQtMDItMTkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIC1bV0tDb250ZW50VmlldyBzZXRWaWV3cG9ydFNpemU6XQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1Rp
bGVDb250cm9sbGVyLm1tCmluZGV4IDZkNDUzM2RlY2IyNzE1MDY0YmYwNzNmYzc1ODFmNzhlZjI1
YmNhODAuLjExYWY1N2I0YzRjYTNmYWJkZDY5ODVlODEwZDU4NDIxMjAzZjYyOGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNv
bnRyb2xsZXIubW0KQEAgLTMxOSw3ICszMTksNiBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRF
eHBvc2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4cG9zZWRSZWN0KQogCiBGbG9hdFJlY3QgVGls
ZUNvbnRyb2xsZXI6OnNjYWxlZEV4cG9zZWRSZWN0KCkgY29uc3QKIHsKLSAgICAvLyBTaW5jZSB0
aGUgZXhwb3NlZFJlY3QgaXMgaW4gRnJhbWVWaWV3LXJlbGF0aXZlIGNvb3JkaW5hdGVzLCB3ZSBu
ZWVkIHRvIHNjYWxlIGludG8gZG9jdW1lbnQgc3BhY2UuCiAgICAgRmxvYXRSZWN0IHNjYWxlZEV4
cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKICAgICBzY2FsZWRFeHBvc2VkUmVjdC5zY2FsZSgx
IC8gbV9zY2FsZSk7CiAgICAgcmV0dXJuIHNjYWxlZEV4cG9zZWRSZWN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAyZDE1MzgyODQ1
YzkzYWJjNjA1MjBlZTQ5NjY2ODVlNjBkNzU5Yzc1Li40ZGYyOGYwOGE1Nzc5OGVmZWUyN2I0YThh
YmNiOTUyOWQxY2Q1NzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQpAQCAtMzM1LDM4ICszMzUsMzggQEAKICAgICBbX2NvbnRlbnRWaWV3
IHdpbGxTdGFydFpvb21PclNjcm9sbF07CiB9CiAKLS0gKHZvaWQpX2RpZEZpbmlzaFNjcm9sbAor
LSAodm9pZClfZGlkRmluaXNoU2Nyb2xsaW5nCiB7Ci0gICAgQ0dQb2ludCBwb3NpdGlvbiA9IFtf
c2Nyb2xsVmlldyBjb252ZXJ0UG9pbnQ6W19zY3JvbGxWaWV3IGNvbnRlbnRPZmZzZXRdIHRvVmll
dzpfY29udGVudFZpZXcuZ2V0KCldOwotICAgIFtfY29udGVudFZpZXcgZGlkRmluaXNoU2Nyb2xs
VG86cG9zaXRpb25dOworICAgIFtzZWxmIF91cGRhdGVDb250ZW50V2luZG93XTsKKyAgICBbX2Nv
bnRlbnRWaWV3IGRpZEZpbmlzaFNjcm9sbGluZ107CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmlld0Rp
ZEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpbGxEZWNlbGVyYXRlOihC
T09MKWRlY2VsZXJhdGUKIHsKICAgICAvLyBJZiB3ZSdyZSBkZWNlbGVyYXRpbmcsIHNjcm9sbCBv
ZmZzZXQgd2lsbCBiZSB1cGRhdGVkIHdoZW4gc2Nyb2xsVmlld0RpZEZpbmlzaERlY2VsZXJhdGlu
ZzogaXMgY2FsbGVkLgogICAgIGlmICghZGVjZWxlcmF0ZSkKLSAgICAgICAgW3NlbGYgX2RpZEZp
bmlzaFNjcm9sbF07CisgICAgICAgIFtzZWxmIF9kaWRGaW5pc2hTY3JvbGxpbmddOwogfQogCiAt
ICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREZWNlbGVyYXRpbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcKIHsKLSAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xsXTsKKyAgICBbc2VsZiBfZGlkRmlu
aXNoU2Nyb2xsaW5nXTsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3RGlkU2Nyb2xsVG9Ub3A6KFVJ
U2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIHsKLSAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xsXTsK
KyAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xsaW5nXTsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3
RGlkU2Nyb2xsOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiB7Ci0gICAgQ0dQb2ludCBwb3Np
dGlvbiA9IFtfc2Nyb2xsVmlldyBjb252ZXJ0UG9pbnQ6W19zY3JvbGxWaWV3IGNvbnRlbnRPZmZz
ZXRdIHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwotICAgIFtfY29udGVudFZpZXcgZGlkU2Ny
b2xsVG86cG9zaXRpb25dOworICAgIFtzZWxmIF91cGRhdGVDb250ZW50V2luZG93XTsKIH0KIAog
LSAodm9pZClzY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmll
dyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlCiB7CiAgICAg
QVNTRVJUKHNjcm9sbFZpZXcgPT0gX3Njcm9sbFZpZXcpOworICAgIFtzZWxmIF91cGRhdGVDb250
ZW50V2luZG93XTsKICAgICBbX2NvbnRlbnRWaWV3IGRpZFpvb21Ub1NjYWxlOnNjYWxlXTsKIH0K
IApAQCAtMzc4LDE3ICszNzgsMjAgQEAKICAgICAgICAgW19jb250ZW50VmlldyBzZXRNaW5pbXVt
TGF5b3V0U2l6ZTpib3VuZHMuc2l6ZV07CiAgICAgW19zY3JvbGxWaWV3IHNldEZyYW1lOmJvdW5k
c107CiAgICAgW19jb250ZW50VmlldyBzZXRNaW5pbXVtU2l6ZTpib3VuZHMuc2l6ZV07CisgICAg
W3NlbGYgX3VwZGF0ZUNvbnRlbnRXaW5kb3ddOwogfQogCi0tICh2b2lkKV9zZXREb2N1bWVudFNj
YWxlOihDR0Zsb2F0KW5ld1NjYWxlCistICh2b2lkKV91cGRhdGVDb250ZW50V2luZG93CiB7Ci0g
ICAgQ0dQb2ludCBjb250ZW50T2Zmc2V0SW5Eb2N1bWVudENvb3JkaW5hdGVzID0gW19zY3JvbGxW
aWV3IGNvbnZlcnRQb2ludDpbX3Njcm9sbFZpZXcgY29udGVudE9mZnNldF0gdG9WaWV3Ol9jb250
ZW50Vmlldy5nZXQoKV07CisgICAgQ0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOwor
ICAgIENHUmVjdCB2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVy
dFJlY3Q6ZnVsbFZpZXdSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwogCi0gICAgW19z
Y3JvbGxWaWV3IHNldFpvb21TY2FsZTpuZXdTY2FsZV07Ci0gICAgW19jb250ZW50VmlldyBkaWRa
b29tVG9TY2FsZTpuZXdTY2FsZV07CisgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0ID0gVUlFZGdl
SW5zZXRzSW5zZXRSZWN0KGZ1bGxWaWV3UmVjdCwgX29ic2N1cmVkSW5zZXRzKTsKKyAgICBDR1Jl
Y3QgdW5vYnNjdXJlZFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IFtzZWxmIGNvbnZlcnRSZWN0
OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwogCi0gICAgQ0dQb2lu
dCBjb250ZW50T2Zmc2V0ID0gW19zY3JvbGxWaWV3IGNvbnZlcnRQb2ludDpjb250ZW50T2Zmc2V0
SW5Eb2N1bWVudENvb3JkaW5hdGVzIGZyb21WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07Ci0gICAg
W19zY3JvbGxWaWV3IHNldENvbnRlbnRPZmZzZXQ6Y29udGVudE9mZnNldF07CisgICAgQ0dGbG9h
dCBzY2FsZUZhY3RvciA9IFtfc2Nyb2xsVmlldyB6b29tU2NhbGVdOworCisgICAgW19jb250ZW50
VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVz
IHVub2JzY3VyZWRSZWN0OnVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMgc2NhbGU6
c2NhbGVGYWN0b3JdOwogfQogCiAtICh2b2lkKV9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzooTlNE
aWN0aW9uYXJ5ICopa2V5Ym9hcmRJbmZvIGFkanVzdFNjcm9sbFZpZXc6KEJPT0wpYWRqdXN0U2Ny
b2xsVmlldwpAQCAtNTk0LDYgKzU5Nyw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViQ29yZTo6TGF5b3V0
TWlsZXN0b25lcyBsYXlvdXRNaWxlc3RvbmVzKF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlCiAgICAg
QVNTRVJUKG9ic2N1cmVkSW5zZXRzLmJvdHRvbSA+PSAwKTsKICAgICBBU1NFUlQob2JzY3VyZWRJ
bnNldHMucmlnaHQgPj0gMCk7CiAgICAgX29ic2N1cmVkSW5zZXRzID0gb2JzY3VyZWRJbnNldHM7
CisgICAgW3NlbGYgX3VwZGF0ZUNvbnRlbnRXaW5kb3ddOwogfQogCiAtIChVSUNvbG9yICopcGFn
ZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2lvcy9XS0NvbnRlbnRWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXggYTNiMzdjNWM3Yjg0ODVkNzNhODBiY2QxNDZk
YjY5YzJkYWZhODQ4Yy4uMDc1ZmFkZDY4NWY0ZDU1ZjRjMjRiYjM2OTg5ZGMwMzIwZWU3ZmEyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmll
dy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXcu
aApAQCAtNjIsOSArNjIsOSBAQCBXS19BUElfQ0xBU1MKIAogLSAodm9pZClzZXRNaW5pbXVtU2l6
ZTooQ0dTaXplKXNpemU7CiAtICh2b2lkKXNldE1pbmltdW1MYXlvdXRTaXplOihDR1NpemUpc2l6
ZTsKKy0gKHZvaWQpZGlkVXBkYXRlVmlzaWJsZVJlY3Q6KENHUmVjdCl2aXNpYmxlUmVjdCB1bm9i
c2N1cmVkUmVjdDooQ0dSZWN0KXVub2JzY3VyZWRSZWN0IHNjYWxlOihDR0Zsb2F0KXNjYWxlOwog
Ci0tICh2b2lkKWRpZEZpbmlzaFNjcm9sbFRvOihDR1BvaW50KWNvbnRlbnRPZmZzZXQ7Ci0tICh2
b2lkKWRpZFNjcm9sbFRvOihDR1BvaW50KWNvbnRlbnRPZmZzZXQ7CistICh2b2lkKWRpZEZpbmlz
aFNjcm9sbGluZzsKIC0gKHZvaWQpZGlkWm9vbVRvU2NhbGU6KENHRmxvYXQpc2NhbGU7CiAtICh2
b2lkKXdpbGxTdGFydFpvb21PclNjcm9sbDsKIC0gKHZvaWQpd2lsbFN0YXJ0VXNlclRyaWdnZXJl
ZFpvb207CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50
Vmlldy5tbQppbmRleCBlYjE1ZTAxMmQ4NjcwYWYzMGYwMTYyYjNlNjhiYjhmNWMzN2Y0YTM1Li5k
YzcyMGFmNzUxMDllYmNjMzc0ZWM0YTIzNTJhZTRkZjUzZjkwYmU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTY4LDggKzY4
LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogICAgIFJldGFpblB0cjxVSVZpZXc+IF9y
b290Q29udGVudFZpZXc7CiAgICAgUmV0YWluUHRyPFdLSW50ZXJhY3Rpb25WaWV3PiBfaW50ZXJh
Y3Rpb25WaWV3OwotCi0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBfY3VycmVudEV4cG9zZWRSZWN0
UG9zaXRpb247CiB9CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJh
bWUgY29udGV4dDooV2ViS2l0OjpXZWJDb250ZXh0Jiljb250ZXh0IGNvbmZpZ3VyYXRpb246KFdl
YktpdDo6V2ViUGFnZUNvbmZpZ3VyYXRpb24pd2ViUGFnZUNvbmZpZ3VyYXRpb24KQEAgLTE1MCw2
ICsxNDgsMjYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICByZXR1cm4gW19pbnRlcmFj
dGlvblZpZXcgaXNFZGl0YWJsZV07CiB9CiAKKy0gKHZvaWQpZGlkVXBkYXRlVmlzaWJsZVJlY3Q6
KENHUmVjdCl2aXNpYmxlUmVjdCB1bm9ic2N1cmVkUmVjdDooQ0dSZWN0KXVub2JzY3VyZWRSZWN0
IHNjYWxlOihDR0Zsb2F0KXNjYWxlCit7CisgICAgRmxvYXRSZWN0IG9sZFVub2JzY3VyZWRDb250
ZW50UmVjdCA9IF9wYWdlLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKTsKKyAgICBfcGFnZS0+c2V0
VW5vYnNjdXJlZENvbnRlbnRSZWN0KHVub2JzY3VyZWRSZWN0KTsKKworICAgIEludFBvaW50IG9s
ZFJvdW5kZWRQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2ludChvbGRVbm9ic2N1cmVkQ29udGVudFJl
Y3QubG9jYXRpb24oKSk7CisgICAgSW50UG9pbnQgbmV3Um91bmRlZFBvc2l0aW9uID0gcm91bmRl
ZEludFBvaW50KHVub2JzY3VyZWRSZWN0Lm9yaWdpbik7CisKKyAgICBpZiAob2xkUm91bmRlZFBv
c2l0aW9uICE9IG5ld1JvdW5kZWRQb3NpdGlvbikKKyAgICAgICAgX3BhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkoKS0+c2Nyb2xsUG9zaXRpb25DaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xs
aW5nKF9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnJvb3RTY3JvbGxpbmdOb2Rl
SUQoKSwgbmV3Um91bmRlZFBvc2l0aW9uKTsKKworICAgIGlmIChhdXRvIGRyYXdpbmdBcmVhID0g
X3BhZ2UtPmRyYXdpbmdBcmVhKCkpIHsKKyAgICAgICAgRmxvYXRSZWN0IGV4cG9zZWRSZWN0ID0g
dmlzaWJsZVJlY3Q7CisgICAgICAgIGV4cG9zZWRSZWN0LnNjYWxlKHNjYWxlKTsKKyAgICAgICAg
ZHJhd2luZ0FyZWEtPnNldEV4cG9zZWRSZWN0KGV4cG9zZWRSZWN0KTsKKyAgICB9CisKKyAgICBb
c2VsZiBfdXBkYXRlRml4ZWRQb3NpdGlvblJlY3RdOworfQorCiAtICh2b2lkKXNldE1pbmltdW1T
aXplOihDR1NpemUpc2l6ZQogewogICAgIF9wYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKElu
dFNpemUoc2l6ZSksIEludFNpemUoKSwgSW50U2l6ZSgpKTsKQEAgLTE2MiwyMiArMTgwLDEyIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgcmV0dXJuIGV4cG9zZWRSZWN0OwogfQogCi0t
ICh2b2lkKV91cGRhdGVWaWV3RXhwb3NlZFJlY3QKLXsKLSAgICBGbG9hdFBvaW50IGV4cG9zZWRS
ZWN0UG9zaXRpb24gPSBfY3VycmVudEV4cG9zZWRSZWN0UG9zaXRpb247Ci0gICAgZXhwb3NlZFJl
Y3RQb3NpdGlvbi5zY2FsZShfcGFnZS0+cGFnZVNjYWxlRmFjdG9yKCksIF9wYWdlLT5wYWdlU2Nh
bGVGYWN0b3IoKSk7Ci0KLSAgICBpZiAoYXV0byBkcmF3aW5nQXJlYSA9IF9wYWdlLT5kcmF3aW5n
QXJlYSgpKQotICAgICAgICBkcmF3aW5nQXJlYS0+c2V0RXhwb3NlZFJlY3QoRmxvYXRSZWN0KGV4
cG9zZWRSZWN0UG9zaXRpb24sIF9wYWdlLT5kcmF3aW5nQXJlYSgpLT5zaXplKCkpKTsKLX0KLQog
LSAodm9pZClfdXBkYXRlRml4ZWRQb3NpdGlvblJlY3QKIHsKICAgICBhdXRvIGRyYXdpbmdBcmVh
ID0gX3BhZ2UtPmRyYXdpbmdBcmVhKCk7CiAgICAgaWYgKCFkcmF3aW5nQXJlYSkKICAgICAgICAg
cmV0dXJuOwotICAgIEZsb2F0UmVjdCBleHBvc2VkUmVjdChfY3VycmVudEV4cG9zZWRSZWN0UG9z
aXRpb24sIGRyYXdpbmdBcmVhLT5zaXplKCkpOwotICAgIEZsb2F0UmVjdCBmaXhlZFBvc1JlY3Qg
PSBbc2VsZiBmaXhlZFBvc2l0aW9uUmVjdEZyb21FeHBvc2VkUmVjdDpleHBvc2VkUmVjdCBzY2Fs
ZTpfcGFnZS0+cGFnZVNjYWxlRmFjdG9yKCldOworICAgIEZsb2F0UmVjdCBmaXhlZFBvc1JlY3Qg
PSBbc2VsZiBmaXhlZFBvc2l0aW9uUmVjdEZyb21FeHBvc2VkUmVjdDpfcGFnZS0+dW5vYnNjdXJl
ZENvbnRlbnRSZWN0KCkgc2NhbGU6X3BhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpXTsKICAgICBkcmF3
aW5nQXJlYS0+c2V0Q3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoZml4ZWRQb3NSZWN0KTsKIH0KIApA
QCAtMTg2LDIzICsxOTQsMTIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBfcGFnZS0+
c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUoSW50U2l6ZShDR0NlaWxp
bmcoc2l6ZS53aWR0aCksIENHQ2VpbGluZyhzaXplLmhlaWdodCkpKTsKIH0KIAotLSAodm9pZClk
aWRGaW5pc2hTY3JvbGxUbzooQ0dQb2ludCljb250ZW50T2Zmc2V0CistICh2b2lkKWRpZEZpbmlz
aFNjcm9sbGluZwogewotICAgIF9jdXJyZW50RXhwb3NlZFJlY3RQb3NpdGlvbiA9IGNvbnRlbnRP
ZmZzZXQ7Ci0gICAgX3BhZ2UtPmRpZEZpbmlzaFNjcm9sbGluZyhjb250ZW50T2Zmc2V0KTsKLSAg
ICBbc2VsZiBfdXBkYXRlVmlld0V4cG9zZWRSZWN0XTsKICAgICBbc2VsZiBfdXBkYXRlRml4ZWRQ
b3NpdGlvblJlY3RdOwogICAgIFtfaW50ZXJhY3Rpb25WaWV3IF9kaWRFbmRTY3JvbGxpbmdPclpv
b21pbmddOwogfQogCi0tICh2b2lkKWRpZFNjcm9sbFRvOihDR1BvaW50KWNvbnRlbnRPZmZzZXQK
LXsKLSAgICBfY3VycmVudEV4cG9zZWRSZWN0UG9zaXRpb24gPSBjb250ZW50T2Zmc2V0OwotICAg
IFtzZWxmIF91cGRhdGVWaWV3RXhwb3NlZFJlY3RdOwotCi0gICAgX3BhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkoKS0+c2Nyb2xsUG9zaXRpb25DaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xs
aW5nKF9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnJvb3RTY3JvbGxpbmdOb2Rl
SUQoKSwgcm91bmRlZEludFBvaW50KGNvbnRlbnRPZmZzZXQpKTsKLX0KLQogLSAodm9pZCl3aWxs
U3RhcnRab29tT3JTY3JvbGwKIHsKICAgICBbX2ludGVyYWN0aW9uVmlldyBfd2lsbFN0YXJ0U2Ny
b2xsaW5nT3Jab29taW5nXTsKQEAgLTIxNiw4ICsyMTMsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogLSAodm9pZClkaWRab29tVG9TY2FsZTooQ0dGbG9hdClzY2FsZQogewogICAgIF9wYWdl
LT5kaWRGaW5pc2hab29taW5nKHNjYWxlKTsKLSAgICBbc2VsZiBfdXBkYXRlVmlld0V4cG9zZWRS
ZWN0XTsKLSAgICBbc2VsZiBfdXBkYXRlRml4ZWRQb3NpdGlvblJlY3RdOwogICAgIFtfaW50ZXJh
Y3Rpb25WaWV3IF9kaWRFbmRTY3JvbGxpbmdPclpvb21pbmddOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0KaW5kZXggMTI2ZjUyOTBjNTRmNzBl
MGVlNzU1MDljNGVkN2UzMGE5NGM3NjVlYy4uN2Q2NzUwNjNjNjRjNTU2ZDhlMGY3YmI0ZjAzMDU4
MjlkMTU4MmU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3Mv
V0tWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmll
d0lPUy5tbQpAQCAtNDQsNyArNDQsNiBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGlu
dGVyZmFjZSBXS1ZpZXcgKCkgPFVJU2Nyb2xsVmlld0RlbGVnYXRlLCBXS0NvbnRlbnRWaWV3RGVs
ZWdhdGU+Ci0tICh2b2lkKV9zZXREb2N1bWVudFNjYWxlOihDR0Zsb2F0KW5ld1NjYWxlOwogQGVu
ZAogCiBAaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoVUlTY3JvbGxWaWV3SW50ZXJuYWwpCkBAIC0x
NjYsNyArMTY1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICAgICAgW19zY3JvbGxW
aWV3IHNldENvbnRlbnRPZmZzZXQ6Q0dQb2ludE1ha2UoLWluc2V0LmxlZnQsIC1pbnNldC50b3Ap
XTsKICAgICAgICAgX2lzV2FpdGluZ0Zvck5ld0xheWVyVHJlZUFmdGVyRGlkQ29tbWl0TG9hZCA9
IE5POwogICAgIH0KLQorICAgIFtzZWxmIF91cGRhdGVDb250ZW50V2luZG93XTsKIH0KIAogI3By
YWdtYSBtYXJrIC0gVUlTY3JvbGxWaWV3RGVsZWdhdGUKQEAgLTE4OSwzOCArMTg4LDM4IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgW19jb250ZW50VmlldyB3aWxsU3RhcnRab29tT3JT
Y3JvbGxdOwogfQogCi0tICh2b2lkKV9kaWRGaW5pc2hTY3JvbGwKKy0gKHZvaWQpX2RpZEZpbmlz
aFNjcm9sbGluZwogewotICAgIENHUG9pbnQgcG9zaXRpb24gPSBbX3Njcm9sbFZpZXcgY29udmVy
dFBvaW50Oltfc2Nyb2xsVmlldyBjb250ZW50T2Zmc2V0XSB0b1ZpZXc6X2NvbnRlbnRWaWV3Lmdl
dCgpXTsKLSAgICBbX2NvbnRlbnRWaWV3IGRpZEZpbmlzaFNjcm9sbFRvOnBvc2l0aW9uXTsKKyAg
ICBbc2VsZiBfdXBkYXRlQ29udGVudFdpbmRvd107CisgICAgW19jb250ZW50VmlldyBkaWRGaW5p
c2hTY3JvbGxpbmddOwogfQogCiAtICh2b2lkKXNjcm9sbFZpZXdEaWRFbmREcmFnZ2luZzooVUlT
Y3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aWxsRGVjZWxlcmF0ZTooQk9PTClkZWNlbGVyYXRlCiB7
CiAgICAgLy8gSWYgd2UncmUgZGVjZWxlcmF0aW5nLCBzY3JvbGwgb2Zmc2V0IHdpbGwgYmUgdXBk
YXRlZCB3aGVuIHNjcm9sbFZpZXdEaWRGaW5pc2hEZWNlbGVyYXRpbmc6IGlzIGNhbGxlZC4KICAg
ICBpZiAoIWRlY2VsZXJhdGUpCi0gICAgICAgIFtzZWxmIF9kaWRGaW5pc2hTY3JvbGxdOworICAg
ICAgICBbc2VsZiBfZGlkRmluaXNoU2Nyb2xsaW5nXTsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3
RGlkRW5kRGVjZWxlcmF0aW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiB7Ci0gICAgW3Nl
bGYgX2RpZEZpbmlzaFNjcm9sbF07CisgICAgW3NlbGYgX2RpZEZpbmlzaFNjcm9sbGluZ107CiB9
CiAKIC0gKHZvaWQpc2Nyb2xsVmlld0RpZFNjcm9sbFRvVG9wOihVSVNjcm9sbFZpZXcgKilzY3Jv
bGxWaWV3CiB7Ci0gICAgW3NlbGYgX2RpZEZpbmlzaFNjcm9sbF07CisgICAgW3NlbGYgX2RpZEZp
bmlzaFNjcm9sbGluZ107CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3Jv
bGxWaWV3ICopc2Nyb2xsVmlldwogewotICAgIENHUG9pbnQgcG9zaXRpb24gPSBbX3Njcm9sbFZp
ZXcgY29udmVydFBvaW50Oltfc2Nyb2xsVmlldyBjb250ZW50T2Zmc2V0XSB0b1ZpZXc6X2NvbnRl
bnRWaWV3LmdldCgpXTsKLSAgICBbX2NvbnRlbnRWaWV3IGRpZFNjcm9sbFRvOnBvc2l0aW9uXTsK
KyAgICBbc2VsZiBfdXBkYXRlQ29udGVudFdpbmRvd107CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmll
d0RpZEVuZFpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmll
dyAqKXZpZXcgYXRTY2FsZTooQ0dGbG9hdClzY2FsZQogewogICAgIEFTU0VSVChzY3JvbGxWaWV3
ID09IF9zY3JvbGxWaWV3KTsKKyAgICBbc2VsZiBfdXBkYXRlQ29udGVudFdpbmRvd107CiAgICAg
W19jb250ZW50VmlldyBkaWRab29tVG9TY2FsZTpzY2FsZV07CiB9CiAKQEAgLTI2NiwxOSArMjY1
LDIxIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAgICAgICAgIFtfY29udGVudFZpZXcgc2V0
TWluaW11bUxheW91dFNpemU6Ym91bmRzLnNpemVdOwogICAgIFtfc2Nyb2xsVmlldyBzZXRGcmFt
ZTpib3VuZHNdOwogICAgIFtfY29udGVudFZpZXcgc2V0TWluaW11bVNpemU6Ym91bmRzLnNpemVd
OworICAgIFtzZWxmIF91cGRhdGVDb250ZW50V2luZG93XTsKIH0KIAotLSAodm9pZClfc2V0RG9j
dW1lbnRTY2FsZTooQ0dGbG9hdCluZXdTY2FsZQorLSAodm9pZClfdXBkYXRlQ29udGVudFdpbmRv
dwogewotICAgIENHUG9pbnQgY29udGVudE9mZnNldEluRG9jdW1lbnRDb29yZGluYXRlcyA9IFtf
c2Nyb2xsVmlldyBjb252ZXJ0UG9pbnQ6W19zY3JvbGxWaWV3IGNvbnRlbnRPZmZzZXRdIHRvVmll
dzpfY29udGVudFZpZXcuZ2V0KCldOworICAgIENHUmVjdCBmdWxsVmlld1JlY3QgPSBzZWxmLmJv
dW5kczsKKyAgICBDR1JlY3QgdmlzaWJsZVJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IFtzZWxm
IGNvbnZlcnRSZWN0OmZ1bGxWaWV3UmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKIAot
ICAgIFtfc2Nyb2xsVmlldyBzZXRab29tU2NhbGU6bmV3U2NhbGVdOwotICAgIFtfY29udGVudFZp
ZXcgZGlkWm9vbVRvU2NhbGU6bmV3U2NhbGVdOworICAgIENHUmVjdCB1bm9ic2N1cmVkUmVjdCA9
IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIF9vYnNjdXJlZEluc2V0cyk7Cisg
ICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMgPSBbc2VsZiBjb252
ZXJ0UmVjdDp1bm9ic2N1cmVkUmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKIAotICAg
IENHUG9pbnQgY29udGVudE9mZnNldCA9IFtfc2Nyb2xsVmlldyBjb252ZXJ0UG9pbnQ6Y29udGVu
dE9mZnNldEluRG9jdW1lbnRDb29yZGluYXRlcyBmcm9tVmlldzpfY29udGVudFZpZXcuZ2V0KCld
OwotICAgIFtfc2Nyb2xsVmlldyBzZXRDb250ZW50T2Zmc2V0OmNvbnRlbnRPZmZzZXRdOwotfQor
ICAgIENHRmxvYXQgc2NhbGVGYWN0b3IgPSBbX3Njcm9sbFZpZXcgem9vbVNjYWxlXTsKIAorICAg
IFtfY29udGVudFZpZXcgZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dmlzaWJsZVJlY3RJbkNvbnRlbnRD
b29yZGluYXRlcyB1bm9ic2N1cmVkUmVjdDp1bm9ic2N1cmVkUmVjdEluQ29udGVudENvb3JkaW5h
dGVzIHNjYWxlOnNjYWxlRmFjdG9yXTsKK30KIAogLSAoUmV0YWluUHRyPENHSW1hZ2VSZWY+KXRh
a2VWaWV3U25hcHNob3RGb3JDb250ZW50VmlldzooV0tDb250ZW50VmlldyAqKWNvbnRlbnRWaWV3
CiB7CkBAIC0zNzMsNiArMzc0LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKICAgICBBU1NF
UlQob2JzY3VyZWRJbnNldHMuYm90dG9tID49IDApOwogICAgIEFTU0VSVChvYnNjdXJlZEluc2V0
cy5yaWdodCA+PSAwKTsKICAgICBfb2JzY3VyZWRJbnNldHMgPSBvYnNjdXJlZEluc2V0czsKKyAg
ICBbc2VsZiBfdXBkYXRlQ29udGVudFdpbmRvd107CiB9CiAKIC0gKHZvaWQpX2JlZ2luSW50ZXJh
Y3RpdmVPYnNjdXJlZEluc2V0c0NoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDk5NDViNjI3ODZkZDY0Y2ZjMGYyNGQwNDRhZDcyZmNjOGExYzliMmEuLjgy
YTc3NmVmZjYxMjBiZTRhMDQzNjc1Mjg0YmQwY2ZhNDU1NjQzOGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQ1Myw4ICs0NTMsMTEgQEAgcHVibGljOgogICAg
IHZvaWQgZXhlY3V0ZUVkaXRDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpOwogICAg
IHZvaWQgdmFsaWRhdGVDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIFBhc3NSZWZQ
dHI8VmFsaWRhdGVDb21tYW5kQ2FsbGJhY2s+KTsKICNpZiBQTEFURk9STShJT1MpCisgICAgY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29udGVudFJlY3QoKSBjb25zdDsKKyAg
ICB2b2lkIHNldFVub2JzY3VyZWRDb250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHVub2JzY3VyZWRSZWN0KTsKICAgICB2b2lkIHNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmlt
dW1MYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAgICB2b2lkIGRpZENvbW1p
dExheWVyVHJlZShjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJik7CisK
ICAgICB2b2lkIHNlbGVjdFdpdGhHZXN0dXJlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50LCBXZWJD
b3JlOjpUZXh0R3JhbnVsYXJpdHksIHVpbnQzMl90IGdlc3R1cmVUeXBlLCB1aW50MzJfdCBnZXN0
dXJlU3RhdGUsIFBhc3NSZWZQdHI8R2VzdHVyZUNhbGxiYWNrPik7CiAgICAgdm9pZCB1cGRhdGVT
ZWxlY3Rpb25XaXRoVG91Y2hlcyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCwgdWludDMyX3QgdG91
Y2hlcywgYm9vbCBiYXNlSXNTdGFydCwgUGFzc1JlZlB0cjxUb3VjaGVzQ2FsbGJhY2s+KTsKICAg
ICB2b2lkIHNlbGVjdFdpdGhUd29Ub3VjaGVzKGNvbnN0IFdlYkNvcmU6OkludFBvaW50IGZyb20s
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50IHRvLCB1aW50MzJfdCBnZXN0dXJlVHlwZSwgdWludDMy
X3QgZ2VzdHVyZVN0YXRlLCBQYXNzUmVmUHRyPEdlc3R1cmVDYWxsYmFjaz4pOwpAQCAtODQ0LDcg
Kzg0Nyw2IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIHdpbGxTdGFy
dFVzZXJUcmlnZ2VyZWRab29taW5nKCk7Ci0gICAgdm9pZCBkaWRGaW5pc2hTY3JvbGxpbmcoY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgY29udGVudE9mZnNldCk7CiAgICAgdm9pZCBkaWRGaW5p
c2hab29taW5nKGZsb2F0IG5ld1NjYWxlKTsKIAogICAgIHZvaWQgdGFwSGlnaGxpZ2h0QXRQb3Np
dGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgdWludDY0X3QmIHJlcXVlc3RJRCk7CkBA
IC0xMjM3LDYgKzEyMzksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk+IG1fdmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlcjsKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV91bm9ic2N1cmVkUmVjdDsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFZJQlJBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggMDA2MzhhNGFkNzJlYzI4ZjdiNmU4Zjgx
MzcwOWQyZTYzOWVhZjFhOC4uNTMzZGY0MzI2YjQ1MmU5NzMwNDY1ZWRhNzUwZTBiMzU3ZmFkMmRl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KQEAgLTIyOSw2ICsyMjksMTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmF1dG9jb3JyZWN0aW9u
Q29udGV4dENhbGxiYWNrKGNvbnN0IFN0cmluZyYgYmVmb3JlVGV4dCwgY29uc3QKICAgICBjYWxs
YmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKGJlZm9yZVRleHQsIG1hcmtlZFRl
eHQsIHNlbGVjdGVkVGV4dCwgYWZ0ZXJUZXh0LCBsb2NhdGlvbiwgbGVuZ3RoKTsKIH0KIAorY29u
c3QgRmxvYXRSZWN0JiBXZWJQYWdlUHJveHk6OnVub2JzY3VyZWRDb250ZW50UmVjdCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fdW5vYnNjdXJlZFJlY3Q7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5
OjpzZXRVbm9ic2N1cmVkQ29udGVudFJlY3QoY29uc3QgRmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVj
dCkKK3sKKyAgICBtX3Vub2JzY3VyZWRSZWN0ID0gdW5vYnNjdXJlZFJlY3Q7Cit9CisKIHZvaWQg
V2ViUGFnZVByb3h5OjpzZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUo
c2l6ZSksIG1fcGFnZUlEKTsKQEAgLTQzMiwxMSArNDQyLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OndpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6V2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKSwgbV9wYWdlSUQp
OwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoU2Nyb2xsaW5nKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIGNvbnRlbnRPZmZzZXQpCi17Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkRpZEZpbmlzaFNjcm9sbGluZyhjb250ZW50T2Zmc2V0KSwgbV9wYWdl
SUQpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoWm9vbWluZyhmbG9hdCBuZXdT
Y2FsZSkKIHsKICAgICBtX3BhZ2VTY2FsZUZhY3RvciA9IG5ld1NjYWxlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRl
eCAwYzJiYjRlOWMwNjc3NTY2NDljMjM1MmE3NTQ5MjkwMTcxYzVlNTY5Li44OTdkNjc5ODhhZWIz
MGMwNDM3OWMyMzdlNzkxYjkwODdhOTU1YmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMzE0LDcgKzMxNCw2
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgIFdpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCk7Ci0gICAgRGlkRmluaXNo
U2Nyb2xsaW5nKFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZnNldCk7CiAgICAgRGlkRmlu
aXNoWm9vbWluZyhmbG9hdCBzY2FsZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDEzNTgyY2Q0ZDc1
NzBkMDk0NDdmYjgxZmM4OWJkNTA0MTk3ODRkZTEuLjE0YjZjYjk1MDZiZmY4MDg3YzQ5MWQxYzE1
MTAxYzQ5NTAxYTA0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTEwODAsMTEgKzEwODAsNiBAQCB2b2lkIFdlYlBh
Z2U6OndpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCkKICAgICBtX3VzZXJIYXNDaGFuZ2Vk
UGFnZVNjYWxlRmFjdG9yID0gdHJ1ZTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hTY3Jv
bGxpbmcoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgY29udGVudE9mZnNldCkKLXsKLSAgICBt
X3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+c2V0U2Nyb2xsT2Zmc2V0KFdlYkNvcmU6OkludFBv
aW50KGNvbnRlbnRPZmZzZXQpKTsKLX0KLQogdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hab29taW5n
KGZsb2F0IG5ld1NjYWxlKQogewogICAgIG1fcGFnZS0+c2V0UGFnZVNjYWxlRmFjdG9yKG5ld1Nj
YWxlLCBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+c2Nyb2xsUG9zaXRpb24oKSk7Cg==
</data>
<flag name="review"
          id="248940"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>