<?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>191906</bug_id>
          
          <creation_ts>2018-11-22 05:58:58 -0800</creation_ts>
          <short_desc>[WPE] Use new view state API from libwpe</short_desc>
          <delta_ts>2018-12-14 04:57:40 -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>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/WebPlatformForEmbedded/libwpe/pull/36</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>
          
          <blocked>192224</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1480948</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-22 05:58:58 -0800</bug_when>
    <thetext>[WPE] Use new view state API from libwpe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480949</commentid>
    <comment_count>1</comment_count>
      <attachid>355469</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-22 06:06:33 -0800</bug_when>
    <thetext>Created attachment 355469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481134</commentid>
    <comment_count>2</comment_count>
      <attachid>355469</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-23 09:01:57 -0800</bug_when>
    <thetext>Comment on attachment 355469
Patch

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

&gt; Source/WebKit/UIProcess/API/wpe/WPEView.cpp:48
&gt; +#if !defined(WPE_BACKEND_CHECK_VERSION) || !WPE_BACKEND_CHECK_VERSION(1, 1, 0)

It should be renamed to LIBWPE_CHECK_VERSION.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481869</commentid>
    <comment_count>3</comment_count>
      <attachid>355719</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-27 03:05:27 -0800</bug_when>
    <thetext>Created attachment 355719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481871</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-27 03:19:55 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; Comment on attachment 355469 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=355469&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/WPEView.cpp:48
&gt; &gt; +#if !defined(WPE_BACKEND_CHECK_VERSION) || !WPE_BACKEND_CHECK_VERSION(1, 1, 0)
&gt; 
&gt; It should be renamed to LIBWPE_CHECK_VERSION.

https://github.com/WebPlatformForEmbedded/libwpe/pull/38</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481901</commentid>
    <comment_count>5</comment_count>
      <attachid>355719</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-27 07:14:29 -0800</bug_when>
    <thetext>Comment on attachment 355719
Patch

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

&gt; Source/WebKit/UIProcess/API/C/wpe/WKView.h:49
&gt; +// Deprecated: Use wpe_view_backend_add_activity_state instead.
&gt;  WK_EXPORT void WKViewSetViewState(WKViewRef, WKViewState);

I don&apos;t understand this. This API is not public, so it should be removed, not deprecated, right? And I can see it&apos;s not used anywhere, so that should be trivial.

&gt; Source/WebKit/UIProcess/API/wpe/WPEView.cpp:48
&gt; +#if !defined(WPE_BACKEND_CHECK_VERSION) || !WPE_BACKEND_CHECK_VERSION(1, 1, 0)

Again, it should be renamed to WPE_CHECK_VERSION (or LIBWPE_CHECK_VERSION) and instead of checking whether it&apos;s defined or not, we should just require that version to build in order to avoid the extra check. It&apos;s not appropriate for the macro to be named WPE_BACKEND_CHECK_VERSION because it checks the version of libwpe, not the version of the WPE backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481909</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-27 08:00:00 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; Comment on attachment 355719 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=355719&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/C/wpe/WKView.h:49
&gt; &gt; +// Deprecated: Use wpe_view_backend_add_activity_state instead.
&gt; &gt;  WK_EXPORT void WKViewSetViewState(WKViewRef, WKViewState);
&gt; 
&gt; I don&apos;t understand this. This API is not public, so it should be removed,
&gt; not deprecated, right? And I can see it&apos;s not used anywhere, so that should
&gt; be trivial.

It&apos;s public C API. It&apos;s not used inside WebKit itself, but used by applications. I agree we can just remove it, but once we bump the libwpe requirement.

&gt; &gt; Source/WebKit/UIProcess/API/wpe/WPEView.cpp:48
&gt; &gt; +#if !defined(WPE_BACKEND_CHECK_VERSION) || !WPE_BACKEND_CHECK_VERSION(1, 1, 0)
&gt; 
&gt; Again, it should be renamed to WPE_CHECK_VERSION (or LIBWPE_CHECK_VERSION)
&gt; and instead of checking whether it&apos;s defined or not, we should just require
&gt; that version to build in order to avoid the extra check. It&apos;s not
&gt; appropriate for the macro to be named WPE_BACKEND_CHECK_VERSION because it
&gt; checks the version of libwpe, not the version of the WPE backend.

wpe backend was renamed as libwpe, is the same thing. I find it weird the lib prefix, the same way there&apos;s no LIBGTK_CHECK_VERSION nor LIBSOUP_CHECK_VERSION. The prefix used in all public APIs in libwpe is wpe, not libwpe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481928</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-27 09:04:30 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6) 
&gt; It&apos;s public C API. It&apos;s not used inside WebKit itself, but used by
&gt; applications. I agree we can just remove it, but once we bump the libwpe
&gt; requirement.

No it&apos;s not. That header is not installed, and the symbols are not exported, so it&apos;s impossible for applications to use it. I know it&apos;s still available in the downstream port, but this is upstream.

&gt; wpe backend was renamed as libwpe, is the same thing. I find it weird the
&gt; lib prefix, the same way there&apos;s no LIBGTK_CHECK_VERSION nor
&gt; LIBSOUP_CHECK_VERSION. The prefix used in all public APIs in libwpe is wpe,
&gt; not libwpe.

So then rename it to WPE_CHECK_VERSION. WPE_BACKEND_CHECK_VERSION is too legacy, too confusing. I know it requires another libwpe API version bump, but the cost of that is very low right now. It will only get harder in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482378</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-28 00:21:50 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; (In reply to Carlos Garcia Campos from comment #6) 
&gt; &gt; It&apos;s public C API. It&apos;s not used inside WebKit itself, but used by
&gt; &gt; applications. I agree we can just remove it, but once we bump the libwpe
&gt; &gt; requirement.
&gt; 
&gt; No it&apos;s not. That header is not installed, and the symbols are not exported,
&gt; so it&apos;s impossible for applications to use it. I know it&apos;s still available
&gt; in the downstream port, but this is upstream.

Ok, I&apos;ll remove it then.

&gt; &gt; wpe backend was renamed as libwpe, is the same thing. I find it weird the
&gt; &gt; lib prefix, the same way there&apos;s no LIBGTK_CHECK_VERSION nor
&gt; &gt; LIBSOUP_CHECK_VERSION. The prefix used in all public APIs in libwpe is wpe,
&gt; &gt; not libwpe.
&gt; 
&gt; So then rename it to WPE_CHECK_VERSION. WPE_BACKEND_CHECK_VERSION is too
&gt; legacy, too confusing. I know it requires another libwpe API version bump,
&gt; but the cost of that is very low right now. It will only get harder in the
&gt; future.

That&apos;s exactly what I did, I guess you didn&apos;t click the link in comment #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482384</commentid>
    <comment_count>9</comment_count>
      <attachid>355859</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-28 02:13:42 -0800</bug_when>
    <thetext>Created attachment 355859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482505</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-28 10:19:34 -0800</bug_when>
    <thetext>OK, looks fine to me. I guess Zan will probably want to review it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487875</commentid>
    <comment_count>11</comment_count>
      <attachid>357307</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-14 01:18:49 -0800</bug_when>
    <thetext>Created attachment 357307
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487888</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-14 04:57:40 -0800</bug_when>
    <thetext>Committed r239203: &lt;https://trac.webkit.org/changeset/239203&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355469</attachid>
            <date>2018-11-22 06:06:33 -0800</date>
            <delta_ts>2018-11-27 03:05:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-view-state.diff</filename>
            <type>text/plain</type>
            <size>13163</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNmRlMjVjNjNkYWQuLmM1NjZkMzgyMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE4LTExLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBVc2UgbmV3IHZpZXcgc3RhdGUgQVBJIGZyb20gbGlid3Bl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwOgorICAgICAgICAoV0tXUEU6OlZpZXc6OlZpZXcpOiBB
ZGQgaW1wbGVtZW50YXRpb24gZm9yIHN0YXRlX2NoYW5nZWQgdmZ1bmMgb2YgdGhlIHZpZXcgYmFj
a2VuZCBjbGllbnQuCisgICAgICAgIChXS1dQRTo6Vmlldzo6c2V0Vmlld1N0YXRlKTogVXNlIGVt
cHR5IGRlZmF1bHQgZmxhZ3Mgd2hlbiB1c2luZyBhIG5ld2VyIHZlcnNpb24gb2YgbGlid3BlLgor
CiAyMDE4LTExLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBm
b3IgMi4yMy4xIHJlbGVhc2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dQRVZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVW
aWV3LmNwcAppbmRleCBmZmZjYjExZmVlNC4uYmY1ZTBkNjY0MTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcApAQCAtNDUsNyArNDUsOSBAQCBWaWV3OjpW
aWV3KHN0cnVjdCB3cGVfdmlld19iYWNrZW5kKiBiYWNrZW5kLCBjb25zdCBBUEk6OlBhZ2VDb25m
aWd1cmF0aW9uJiBiYXNlQwogICAgIDogbV9jbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxBUEk6OlZp
ZXdDbGllbnQ+KCkpCiAgICAgLCBtX3BhZ2VDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ2xp
ZW50SW1wbD4oKnRoaXMpKQogICAgICwgbV9zaXplIHsgODAwLCA2MDAgfQorI2lmICFkZWZpbmVk
KFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pIHx8ICFXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9O
KDEsIDEsIDApCiAgICAgLCBtX3ZpZXdTdGF0ZUZsYWdzIHsgV2ViQ29yZTo6QWN0aXZpdHlTdGF0
ZTo6V2luZG93SXNBY3RpdmUsIFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCwgV2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlLCBXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpJ
c0luV2luZG93IH0KKyNlbmRpZgogICAgICwgbV9jb21wb3NpdGluZ01hbmFnZXJQcm94eSgqdGhp
cykKICAgICAsIG1fYmFja2VuZChiYWNrZW5kKQogewpAQCAtODgsOCArOTAsMjYgQEAgVmlldzo6
VmlldyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCogYmFja2VuZCwgY29uc3QgQVBJOjpQYWdlQ29u
ZmlndXJhdGlvbiYgYmFzZUMKICAgICAgICAgICAgIGF1dG8mIHZpZXcgPSAqcmVpbnRlcnByZXRf
Y2FzdDxWaWV3Kj4oZGF0YSk7CiAgICAgICAgICAgICB2aWV3LmZyYW1lRGlzcGxheWVkKCk7CiAg
ICAgICAgIH0sCi0gICAgICAgIC8vIHBhZGRpbmcKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NI
RUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAg
ICAgLy8gc3RhdGVfY2hhbmdlZAorICAgICAgICBbXSh2b2lkKiBkYXRhLCB1aW50MzJfdCBzdGF0
ZSkKKyAgICAgICAgeworICAgICAgICAgICAgYXV0byYgdmlldyA9ICpyZWludGVycHJldF9jYXN0
PFZpZXcqPihkYXRhKTsKKyAgICAgICAgICAgIE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlOjpGbGFnPiBmbGFnczsKKyAgICAgICAgICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3X3N0YXRl
X3Zpc2libGUpCisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OklzVmlzaWJsZSk7CisgICAgICAgICAgICBpZiAoc3RhdGUgJiB3cGVfdmlld19zdGF0ZV9m
b2N1c2VkKSB7CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OklzRm9jdXNlZCk7CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
IChzdGF0ZSAmIHdwZV92aWV3X3N0YXRlX2luX3dpbmRvdykKKyAgICAgICAgICAgICAgICBmbGFn
cy5hZGQoV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdyk7CisgICAgICAgICAgICB2
aWV3LnNldFZpZXdTdGF0ZShmbGFncyk7CisgICAgICAgIH0sCisjZWxzZQogICAgICAgICBudWxs
cHRyLAorI2VuZGlmCisgICAgICAgIC8vIHBhZGRpbmcKICAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0cgpAQCAtMTc0LDcgKzE5NCwxMSBAQCB2b2lkIFZp
ZXc6OnNldFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKIAogdm9pZCBWaWV3Ojpz
ZXRWaWV3U3RhdGUoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGZsYWdz
KQogeworI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tF
TkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQorICAgIHN0YXRpYyBjb25zdCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZGVmYXVsdEZsYWdzOworI2Vsc2UKICAgICBzdGF0
aWMgY29uc3QgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGRlZmF1bHRG
bGFncyB7IFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlLCBXZWJDb3JlOjpB
Y3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQgfTsKKyNlbmRpZgogCiAgICAgYXV0byBjaGFuZ2VkRmxh
Z3MgPSBtX3ZpZXdTdGF0ZUZsYWdzIF4gKGRlZmF1bHRGbGFncyB8IGZsYWdzKTsKICAgICBtX3Zp
ZXdTdGF0ZUZsYWdzID0gZGVmYXVsdEZsYWdzIHwgZmxhZ3M7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODMzMmMwOTY2MGQuLjc1NDk0MjQzNzk3
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTgtMTEtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgdmlldyBzdGF0ZSBBUEkgZnJvbSBs
aWJ3cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MTkwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKGJlZm9yZUFsbCk6IEVuYWJsZSAvd2Via2l0L1dlYktpdFdlYlZpZXcvcGFnZS12aXNp
YmlsaXR5IGluIFdQRS4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9U
ZXN0TWFpbi5oOgorICAgICAgICAoVGVzdDo6Y3JlYXRlV2ViVmlld0JhY2tlbmQpOiBNYWtlIHRo
ZSB2aWV3IGluaXRpYWxseSBoaWRkZW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQ
RS5jcHA6CisgICAgICAgIChXZWJWaWV3VGVzdDo6c2hvd0luV2luZG93KTogQWRkIHdwZV92aWV3
X3N0YXRlX3Zpc2libGUsIHdwZV92aWV3X3N0YXRlX2luX3dpbmRvdyBhbmQgd3BlX3ZpZXdfc3Rh
dGVfZm9jdXNlZCBzdGF0ZSBmbGFncy4KKyAgICAgICAgKFdlYlZpZXdUZXN0OjpoaWRlVmlldyk6
IFJlbW92ZSB3cGVfdmlld19zdGF0ZV92aXNpYmxlIGFuZCB3cGVfdmlld19zdGF0ZV9mb2N1c2Vk
IHN0YXRlIGZsYWdzLgorICAgICAgICAqIHdwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5k
LmNwcDoKKyAgICAgICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3QmFja2VuZDo6
SGVhZGxlc3NWaWV3QmFja2VuZCk6IEFzc3VtZSB2aWV3IGlzIGFsd2F5cyB2aXNpYmxlLCBmb2N1
c2VkIGFuZCBpbiB3aW5kb3cuCisgICAgICAgICogd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNr
ZW5kLmNwcDoKKyAgICAgICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6V2luZG93Vmlld0JhY2tlbmQ6
OldpbmRvd1ZpZXdCYWNrZW5kKTogVXBkYXRlIHRoZSB2aWV3IHN0YXRlIGZsYWdzIGRlcGVuZGlu
ZyBvbiBzdGF0ZQorICAgICAgICByZWNlaXZlZCBpbiBjb25maWd1cmUgY2FsbGJhY2suCisKIDIw
MTgtMTEtMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBbV2ViS2l0Ml0gQWRkIHN1cHBvcnQgZm9yIHJlcGxhY2luZyBmaW5kLWluLXBh
Z2UgdGV4dCBtYXRjaGVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcAppbmRleCBiYTkxMDI0MzMyOC4uNDVl
YzFlNWE4YWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xp
Yi9UZXN0V2ViS2l0V2ViVmlldy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcApAQCAtNzE0LDcgKzcxNCw2IEBAIHN0YXRp
YyB2b2lkIHRlc3RXZWJWaWV3U2F2ZShTYXZlV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50
ZXIpCiAgICAgZ19hc3NlcnRfY21waW50KGdfZmlsZV9pbmZvX2dldF9zaXplKGZpbGVJbmZvLmdl
dCgpKSwgPT0sIHRvdGFsQnl0ZXNGcm9tU3RyZWFtKTsKIH0KIAotI2lmIFBMQVRGT1JNKEdUSykK
IC8vIFRvIHRlc3QgcGFnZSB2aXNpYmlsaXR5IEFQSS4gQ3VycmVudGx5IG9ubHkgJ3Zpc2libGUn
LCAnaGlkZGVuJyBhbmQgJ3ByZXJlbmRlcicgc3RhdGVzIGFyZSBpbXBsZW1lbnRlZCBmdWxseSBp
biBXZWJDb3JlLgogLy8gU2VlIGFsc28gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9XRC1wYWdl
LXZpc2liaWxpdHktMjAxMTA2MDIvIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9j
aHJvbWUvd2hpdGVwYXBlcnMvcGFnZXZpc2liaWxpdHkKIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3
UGFnZVZpc2liaWxpdHkoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCkBAIC03NzYs
NiArNzc1LDcgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdQYWdlVmlzaWJpbGl0eShXZWJWaWV3
VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydChXZWJWaWV3VGVzdDo6amF2
YXNjcmlwdFJlc3VsdFRvQm9vbGVhbihqYXZhc2NyaXB0UmVzdWx0KSk7CiB9CiAKKyNpZiBQTEFU
Rk9STShHVEspCiBjbGFzcyBTbmFwc2hvdFdlYlZpZXdUZXN0OiBwdWJsaWMgV2ViVmlld1Rlc3Qg
ewogcHVibGljOgogICAgIE1BS0VfR0xJQl9URVNUX0ZJWFRVUkUoU25hcHNob3RXZWJWaWV3VGVz
dCk7CkBAIC0xMjYxLDggKzEyNjEsOCBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgLy8gRklYTUU6
IFZpZXcgaXMgaW5pdGlhbGx5IHZpc2libGUgaW4gV1BFIGFuZCBoYXMgYSBmaXhlZCBoYXJkY29k
ZWQgc2l6ZS4KICNpZiBQTEFURk9STShHVEspCiAgICAgU25hcHNob3RXZWJWaWV3VGVzdDo6YWRk
KCJXZWJLaXRXZWJWaWV3IiwgInNuYXBzaG90IiwgdGVzdFdlYlZpZXdTbmFwc2hvdCk7Ci0gICAg
V2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJwYWdlLXZpc2liaWxpdHkiLCB0ZXN0
V2ViVmlld1BhZ2VWaXNpYmlsaXR5KTsKICNlbmRpZgorICAgIFdlYlZpZXdUZXN0OjphZGQoIldl
YktpdFdlYlZpZXciLCAicGFnZS12aXNpYmlsaXR5IiwgdGVzdFdlYlZpZXdQYWdlVmlzaWJpbGl0
eSk7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uV2ViVmlld1Rl
c3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJub3RpZmljYXRpb24iLCB0ZXN0V2ViVmlld05vdGlm
aWNhdGlvbik7CiAgICAgTm90aWZpY2F0aW9uV2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmll
dyIsICJub3RpZmljYXRpb24taW5pdGlhbC1wZXJtaXNzaW9uLWFsbG93ZWQiLCB0ZXN0V2ViVmll
d05vdGlmaWNhdGlvbkluaXRpYWxQZXJtaXNzaW9uQWxsb3dlZCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5oIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1dlYktpdEdMaWIvVGVzdE1haW4uaAppbmRleCAxM2JhMjhlMjQ0ZC4uMWVh
MTc3NTI1MGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGli
L1Rlc3RNYWluLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvVGVz
dE1haW4uaApAQCAtMTQzLDYgKzE0MywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFdlYktpdFdl
YlZpZXdCYWNrZW5kKiBjcmVhdGVXZWJWaWV3QmFja2VuZCgpCiAgICAgewogICAgICAgICBhdXRv
KiBoZWFkbGVzc0JhY2tlbmQgPSBuZXcgV1BFVG9vbGluZ0JhY2tlbmRzOjpIZWFkbGVzc1ZpZXdC
YWNrZW5kKDgwMCwgNjAwKTsKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04p
ICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAgLy8gTWFrZSB0
aGUgdmlldyBpbml0aWFsbHkgaGlkZGVuIGZvciBjb25zaXN0ZW5jeSB3aXRoIEdUSysgdGVzdHMu
CisgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfcmVtb3ZlX3N0YXRlKGhlYWRsZXNzQmFja2VuZC0+
YmFja2VuZCgpLCB3cGVfdmlld19zdGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfc3RhdGVfZm9jdXNl
ZCk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHdlYmtpdF93ZWJfdmlld19iYWNrZW5kX25ldyho
ZWFkbGVzc0JhY2tlbmQtPmJhY2tlbmQoKSwgW10oZ3BvaW50ZXIgdXNlckRhdGEpIHsKICAgICAg
ICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXUEVUb29saW5nQmFja2VuZHM6OkhlYWRsZXNzVmll
d0JhY2tlbmQqPih1c2VyRGF0YSk7CiAgICAgICAgIH0sIGhlYWRsZXNzQmFja2VuZCk7CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5o
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViVmlld1Rlc3QuaAppbmRl
eCAyZDJiMzFmNzhiNy4uM2Q0ZDUxMWJjODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9nbGliL1dlYktpdEdMaWIvV2ViVmlld1Rlc3QuaApAQCAtNjksNiArNjksMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgZW1pdFBvcHVwTWVudVNpZ25hbCgpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShXUEUpCisgICAgdm9pZCBzaG93SW5XaW5kb3coKTsKKyNlbmRpZgorCiAgICAgV2ViS2l0SmF2
YXNjcmlwdFJlc3VsdCogcnVuSmF2YVNjcmlwdEFuZFdhaXRVbnRpbEZpbmlzaGVkKGNvbnN0IGNo
YXIqIGphdmFzY3JpcHQsIEdFcnJvcioqKTsKICAgICBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBy
dW5KYXZhU2NyaXB0RnJvbUdSZXNvdXJjZUFuZFdhaXRVbnRpbEZpbmlzaGVkKGNvbnN0IGNoYXIq
IHJlc291cmNlLCBHRXJyb3IqKik7CiAgICAgV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCogcnVuSmF2
YVNjcmlwdEluV29ybGRBbmRXYWl0VW50aWxGaW5pc2hlZChjb25zdCBjaGFyKiBqYXZhc2NyaXB0
LCBjb25zdCBjaGFyKiB3b3JsZCwgR0Vycm9yKiopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHAKaW5kZXgg
Y2NmMTVjMjEzNzUuLmQ4MWFiMTM3MWI1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2dsaWIvV2ViS2l0R0xpYi93cGUvV2ViVmlld1Rlc3RXUEUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHAKQEAgLTIwLDYg
KzIwLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJWaWV3VGVzdC5oIgog
CisjaW5jbHVkZSA8d3BlL3dwZS5oPgorCiB2b2lkIFdlYlZpZXdUZXN0OjpwbGF0Zm9ybURlc3Ry
b3koKQogewogfQpAQCAtMzksOSArNDEsMjAgQEAgdm9pZCBXZWJWaWV3VGVzdDo6cmVzaXplVmll
dyhpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudC4KIH0KIAor
dm9pZCBXZWJWaWV3VGVzdDo6c2hvd0luV2luZG93KCkKK3sKKyNpZiBkZWZpbmVkKFdQRV9CQUNL
RU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkK
KyAgICBhdXRvKiBiYWNrZW5kID0gd2Via2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3dwZV9iYWNr
ZW5kKHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2VuZChtX3dlYlZpZXcpKTsKKyAgICB3cGVfdmll
d19iYWNrZW5kX2FkZF9zdGF0ZShiYWNrZW5kLCB3cGVfdmlld19zdGF0ZV92aXNpYmxlIHwgd3Bl
X3ZpZXdfc3RhdGVfaW5fd2luZG93IHwgd3BlX3ZpZXdfc3RhdGVfZm9jdXNlZCk7CisjZW5kaWYK
K30KKwogdm9pZCBXZWJWaWV3VGVzdDo6aGlkZVZpZXcoKQogewotICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQuCisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFD
S0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgYXV0byogYmFja2VuZCA9IHdlYmtpdF93
ZWJfdmlld19iYWNrZW5kX2dldF93cGVfYmFja2VuZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tl
bmQobV93ZWJWaWV3KSk7CisgICAgd3BlX3ZpZXdfYmFja2VuZF9yZW1vdmVfc3RhdGUoYmFja2Vu
ZCwgd3BlX3ZpZXdfc3RhdGVfdmlzaWJsZSB8IHdwZV92aWV3X3N0YXRlX2ZvY3VzZWQpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV2ViVmlld1Rlc3Q6Om1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSwgdW5z
aWduZWQgbW91c2VNb2RpZmllcnMpCmRpZmYgLS1naXQgYS9Ub29scy93cGUvYmFja2VuZHMvSGVh
ZGxlc3NWaWV3QmFja2VuZC5jcHAgYi9Ub29scy93cGUvYmFja2VuZHMvSGVhZGxlc3NWaWV3QmFj
a2VuZC5jcHAKaW5kZXggZWQxYWRhNDM5YmEuLmI2ZWYzMTk4MWU0IDEwMDY0NAotLS0gYS9Ub29s
cy93cGUvYmFja2VuZHMvSGVhZGxlc3NWaWV3QmFja2VuZC5jcHAKKysrIGIvVG9vbHMvd3BlL2Jh
Y2tlbmRzL0hlYWRsZXNzVmlld0JhY2tlbmQuY3BwCkBAIC03Miw2ICs3MiwxMCBAQCBIZWFkbGVz
c1ZpZXdCYWNrZW5kOjpIZWFkbGVzc1ZpZXdCYWNrZW5kKHVpbnQzMl90IHdpZHRoLCB1aW50MzJf
dCBoZWlnaHQpCiAgICAgaWYgKCFpbml0aWFsaXplKCkpCiAgICAgICAgIHJldHVybjsKIAorI2lm
IGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tf
VkVSU0lPTigxLCAxLCAwKQorICAgIHdwZV92aWV3X2JhY2tlbmRfYWRkX3N0YXRlKGJhY2tlbmQo
KSwgd3BlX3ZpZXdfc3RhdGVfdmlzaWJsZSB8IHdwZV92aWV3X3N0YXRlX2ZvY3VzZWQgfCB3cGVf
dmlld19zdGF0ZV9pbl93aW5kb3cpOworI2VuZGlmCisKICAgICBpZiAoIWVnbE1ha2VDdXJyZW50
KG1fZWdsRGlzcGxheSwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJGQUNFLCBtX2VnbENvbnRl
eHQpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9iYWNrZW5kcy9X
aW5kb3dWaWV3QmFja2VuZC5jcHAgYi9Ub29scy93cGUvYmFja2VuZHMvV2luZG93Vmlld0JhY2tl
bmQuY3BwCmluZGV4IDY1MjIxZTFkYjE2Li45OGM0MDI5NzJjYyAxMDA2NDQKLS0tIGEvVG9vbHMv
d3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5kLmNwcAorKysgYi9Ub29scy93cGUvYmFja2Vu
ZHMvV2luZG93Vmlld0JhY2tlbmQuY3BwCkBAIC00MzQsMTIgKzQzNCw0OCBAQCBjb25zdCBzdHJ1
Y3QgenhkZ19zdXJmYWNlX3Y2X2xpc3RlbmVyIFdpbmRvd1ZpZXdCYWNrZW5kOjpzX3hkZ1N1cmZh
Y2VMaXN0ZW5lciA9CiAKIGNvbnN0IHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2X2xpc3RlbmVyIFdp
bmRvd1ZpZXdCYWNrZW5kOjpzX3hkZ1RvcGxldmVsTGlzdGVuZXIgPSB7CiAgICAgLy8gY29uZmln
dXJlCi0gICAgW10odm9pZCosIHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2KiwgaW50MzJfdCAvKndp
ZHRoKi8sIGludDMyX3QgLypoZWlnaHQqLywgc3RydWN0IHdsX2FycmF5KikKKyAgICBbXSh2b2lk
KiBkYXRhLCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiosIGludDMyX3Qgd2lkdGgsIGludDMyX3Qg
aGVpZ2h0LCBzdHJ1Y3Qgd2xfYXJyYXkqIHN0YXRlcykKICAgICB7Ci0gICAgICAgIC8vIEZJWE1F
OiBkaXNwYXRjaCB0aGUgc2l6ZSBhZ2FpbnN0IHdwZV92aWV3X2JhY2tlbmQuCisgICAgICAgIGF1
dG8mIHdpbmRvdyA9ICpzdGF0aWNfY2FzdDxXaW5kb3dWaWV3QmFja2VuZCo+KGRhdGEpOworICAg
ICAgICB3cGVfdmlld19iYWNrZW5kX2Rpc3BhdGNoX3NldF9zaXplKHdpbmRvdy5iYWNrZW5kKCks
IHdpZHRoLCBoZWlnaHQpOworCisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9O
KSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgICAgIGJvb2wgaXNG
b2N1c2VkID0gZmFsc2U7CisgICAgICAgIHZvaWQqIHA7CisgICAgICAgIHdsX2FycmF5X2Zvcl9l
YWNoKHAsIHN0YXRlcykKKyAgICAgICAgeworICAgICAgICAgICAgdWludDMyX3Qgc3RhdGUgPSAq
c3RhdGljX2Nhc3Q8dWludDMyX3QqPihwKTsKKworICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkg
eworICAgICAgICAgICAgY2FzZSBaWERHX1RPUExFVkVMX1Y2X1NUQVRFX0FDVElWQVRFRDoKKyAg
ICAgICAgICAgICAgICBpc0ZvY3VzZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgY2FzZSBaWERHX1RPUExFVkVMX1Y2X1NUQVRFX0ZVTExTQ1JFRU46CisgICAg
ICAgICAgICBjYXNlIFpYREdfVE9QTEVWRUxfVjZfU1RBVEVfTUFYSU1JWkVEOgorICAgICAgICAg
ICAgY2FzZSBaWERHX1RPUExFVkVMX1Y2X1NUQVRFX1JFU0laSU5HOgorICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
CisgICAgICAgIGlmIChpc0ZvY3VzZWQpCisgICAgICAgICAgICB3cGVfdmlld19iYWNrZW5kX2Fk
ZF9zdGF0ZSh3aW5kb3cuYmFja2VuZCgpLCB3cGVfdmlld19zdGF0ZV9mb2N1c2VkKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgd3BlX3ZpZXdfYmFja2VuZF9yZW1vdmVfc3RhdGUod2luZG93
LmJhY2tlbmQoKSwgd3BlX3ZpZXdfc3RhdGVfZm9jdXNlZCk7CisjZWxzZQorICAgICAgICAodm9p
ZClzdGF0ZXM7CisjZW5kaWYKICAgICB9LAogICAgIC8vIGNsb3NlCi0gICAgW10odm9pZCosIHN0
cnVjdCB6eGRnX3RvcGxldmVsX3Y2KikgeyB9LAorICAgIFtdKHZvaWQqIGRhdGEsIHN0cnVjdCB6
eGRnX3RvcGxldmVsX3Y2KikKKyAgICB7CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19W
RVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgICAgIGF1
dG8mIHdpbmRvdyA9ICpzdGF0aWNfY2FzdDxXaW5kb3dWaWV3QmFja2VuZCo+KGRhdGEpOworICAg
ICAgICB3cGVfdmlld19iYWNrZW5kX3JlbW92ZV9zdGF0ZSh3aW5kb3cuYmFja2VuZCgpLCB3cGVf
dmlld19zdGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfc3RhdGVfZm9jdXNlZCB8IHdwZV92aWV3X3N0
YXRlX2luX3dpbmRvdyk7CisjZWxzZQorICAgICAgICAodm9pZClkYXRhOworI2VuZGlmCisgICAg
fSwKIH07CiAKIFdpbmRvd1ZpZXdCYWNrZW5kOjpXaW5kb3dWaWV3QmFja2VuZCh1aW50MzJfdCB3
aWR0aCwgdWludDMyX3QgaGVpZ2h0KQpAQCAtNDg2LDkgKzUyMiwxMiBAQCBXaW5kb3dWaWV3QmFj
a2VuZDo6V2luZG93Vmlld0JhY2tlbmQodWludDMyX3Qgd2lkdGgsIHVpbnQzMl90IGhlaWdodCkK
ICAgICAgICAgenhkZ19zdXJmYWNlX3Y2X2FkZF9saXN0ZW5lcihtX3hkZ1N1cmZhY2UsICZzX3hk
Z1N1cmZhY2VMaXN0ZW5lciwgbnVsbHB0cik7CiAgICAgICAgIG1feGRnVG9wbGV2ZWwgPSB6eGRn
X3N1cmZhY2VfdjZfZ2V0X3RvcGxldmVsKG1feGRnU3VyZmFjZSk7CiAgICAgICAgIGlmIChtX3hk
Z1RvcGxldmVsKSB7Ci0gICAgICAgICAgICB6eGRnX3RvcGxldmVsX3Y2X2FkZF9saXN0ZW5lciht
X3hkZ1RvcGxldmVsLCAmc194ZGdUb3BsZXZlbExpc3RlbmVyLCBudWxscHRyKTsKKyAgICAgICAg
ICAgIHp4ZGdfdG9wbGV2ZWxfdjZfYWRkX2xpc3RlbmVyKG1feGRnVG9wbGV2ZWwsICZzX3hkZ1Rv
cGxldmVsTGlzdGVuZXIsIHRoaXMpOwogICAgICAgICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRf
dGl0bGUobV94ZGdUb3BsZXZlbCwgIldQRSIpOwogICAgICAgICAgICAgd2xfc3VyZmFjZV9jb21t
aXQobV9zdXJmYWNlKTsKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYm
IFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAgICAgIHdwZV92aWV3
X2JhY2tlbmRfYWRkX3N0YXRlKGJhY2tlbmQoKSwgd3BlX3ZpZXdfc3RhdGVfdmlzaWJsZSB8IHdw
ZV92aWV3X3N0YXRlX2luX3dpbmRvdyk7CisjZW5kaWYKICAgICAgICAgfQogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355719</attachid>
            <date>2018-11-27 03:05:27 -0800</date>
            <delta_ts>2018-11-28 02:13:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-view-state.diff</filename>
            <type>text/plain</type>
            <size>13987</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNzdiY2FkODI5ODkuLjY0OTc2MzNjYzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE4LTExLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBVc2UgbmV3IHZpZXcgc3RhdGUgQVBJIGZyb20gbGlid3Bl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwOgorICAgICAgICAoV0tXUEU6OlZpZXc6OlZpZXcpOiBB
ZGQgaW1wbGVtZW50YXRpb24gZm9yIGFjdGl2aXR5X3N0YXRlX2NoYW5nZWQgdmZ1bmMgb2YgdGhl
IHZpZXcgYmFja2VuZCBjbGllbnQuCisgICAgICAgIChXS1dQRTo6Vmlldzo6c2V0Vmlld1N0YXRl
KTogVXNlIGVtcHR5IGRlZmF1bHQgZmxhZ3Mgd2hlbiB1c2luZyBhIG5ld2VyIHZlcnNpb24gb2Yg
bGlid3BlLgorCiAyMDE4LTExLTI2ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEluc2VydCA8YXR0YWNobWVudD4gZWxlbWVudHMgdW5kZXIgZWRpdGFi
bGUgaW1hZ2VzIHRvIG1ha2UgdGhlaXIgYmFja2luZyBkYXRhIGFjY2Vzc2libGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuaAppbmRleCAxMTE1YTBlYWRkMi4uN2Nk
MTUwOGQ0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9X
S1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy93cGUvV0tWaWV3LmgK
QEAgLTQ1LDYgKzQ1LDcgQEAgZW51bSB7CiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS1ZpZXdTdGF0
ZTsKIAorLy8gRGVwcmVjYXRlZDogVXNlIHdwZV92aWV3X2JhY2tlbmRfYWRkX2FjdGl2aXR5X3N0
YXRlIGluc3RlYWQuCiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRWaWV3U3RhdGUoV0tWaWV3UmVm
LCBXS1ZpZXdTdGF0ZSk7CiAKIHR5cGVkZWYgdm9pZCAoKldLVmlld0ZyYW1lRGlzcGxheWVkKShX
S1ZpZXdSZWYgdmlldywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcAppbmRleCBmZmZjYjExZmVlNC4uNGRkMTVmNTUz
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcApAQCAt
NDUsNyArNDUsOSBAQCBWaWV3OjpWaWV3KHN0cnVjdCB3cGVfdmlld19iYWNrZW5kKiBiYWNrZW5k
LCBjb25zdCBBUEk6OlBhZ2VDb25maWd1cmF0aW9uJiBiYXNlQwogICAgIDogbV9jbGllbnQoc3Rk
OjptYWtlX3VuaXF1ZTxBUEk6OlZpZXdDbGllbnQ+KCkpCiAgICAgLCBtX3BhZ2VDbGllbnQoc3Rk
OjptYWtlX3VuaXF1ZTxQYWdlQ2xpZW50SW1wbD4oKnRoaXMpKQogICAgICwgbV9zaXplIHsgODAw
LCA2MDAgfQorI2lmICFkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pIHx8ICFXUEVf
QkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCiAgICAgLCBtX3ZpZXdTdGF0ZUZsYWdzIHsg
V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3RpdmUsIFdlYkNvcmU6OkFjdGl2aXR5
U3RhdGU6OklzRm9jdXNlZCwgV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlLCBXZWJD
b3JlOjpBY3Rpdml0eVN0YXRlOjpJc0luV2luZG93IH0KKyNlbmRpZgogICAgICwgbV9jb21wb3Np
dGluZ01hbmFnZXJQcm94eSgqdGhpcykKICAgICAsIG1fYmFja2VuZChiYWNrZW5kKQogewpAQCAt
ODgsOCArOTAsMjYgQEAgVmlldzo6VmlldyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCogYmFja2Vu
ZCwgY29uc3QgQVBJOjpQYWdlQ29uZmlndXJhdGlvbiYgYmFzZUMKICAgICAgICAgICAgIGF1dG8m
IHZpZXcgPSAqcmVpbnRlcnByZXRfY2FzdDxWaWV3Kj4oZGF0YSk7CiAgICAgICAgICAgICB2aWV3
LmZyYW1lRGlzcGxheWVkKCk7CiAgICAgICAgIH0sCi0gICAgICAgIC8vIHBhZGRpbmcKKyNpZiBk
ZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZF
UlNJT04oMSwgMSwgMCkKKyAgICAgICAgLy8gYWN0aXZpdHlfc3RhdGVfY2hhbmdlZAorICAgICAg
ICBbXSh2b2lkKiBkYXRhLCB1aW50MzJfdCBzdGF0ZSkKKyAgICAgICAgeworICAgICAgICAgICAg
YXV0byYgdmlldyA9ICpyZWludGVycHJldF9jYXN0PFZpZXcqPihkYXRhKTsKKyAgICAgICAgICAg
IE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpGbGFnPiBmbGFnczsKKyAgICAgICAg
ICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUpCisgICAgICAg
ICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSk7Cisg
ICAgICAgICAgICBpZiAoc3RhdGUgJiB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKSB7
CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9j
dXNlZCk7CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6
OldpbmRvd0lzQWN0aXZlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzdGF0ZSAm
IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRvdykKKyAgICAgICAgICAgICAgICBmbGFn
cy5hZGQoV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdyk7CisgICAgICAgICAgICB2
aWV3LnNldFZpZXdTdGF0ZShmbGFncyk7CisgICAgICAgIH0sCisjZWxzZQogICAgICAgICBudWxs
cHRyLAorI2VuZGlmCisgICAgICAgIC8vIHBhZGRpbmcKICAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0cgpAQCAtMTc0LDcgKzE5NCwxMSBAQCB2b2lkIFZp
ZXc6OnNldFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKIAogdm9pZCBWaWV3Ojpz
ZXRWaWV3U3RhdGUoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGZsYWdz
KQogeworI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tF
TkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQorICAgIHN0YXRpYyBjb25zdCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZGVmYXVsdEZsYWdzOworI2Vsc2UKICAgICBzdGF0
aWMgY29uc3QgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGRlZmF1bHRG
bGFncyB7IFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlLCBXZWJDb3JlOjpB
Y3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQgfTsKKyNlbmRpZgogCiAgICAgYXV0byBjaGFuZ2VkRmxh
Z3MgPSBtX3ZpZXdTdGF0ZUZsYWdzIF4gKGRlZmF1bHRGbGFncyB8IGZsYWdzKTsKICAgICBtX3Zp
ZXdTdGF0ZUZsYWdzID0gZGVmYXVsdEZsYWdzIHwgZmxhZ3M7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmI5NWRmZmFhZTMuLjYzMGY1MmYyMmU2
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTgtMTEtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgdmlldyBzdGF0ZSBBUEkgZnJvbSBs
aWJ3cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MTkwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKGJlZm9yZUFsbCk6IEVuYWJsZSAvd2Via2l0L1dlYktpdFdlYlZpZXcvcGFnZS12aXNp
YmlsaXR5IGluIFdQRS4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9U
ZXN0TWFpbi5oOgorICAgICAgICAoVGVzdDo6Y3JlYXRlV2ViVmlld0JhY2tlbmQpOiBNYWtlIHRo
ZSB2aWV3IGluaXRpYWxseSBoaWRkZW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQ
RS5jcHA6CisgICAgICAgIChXZWJWaWV3VGVzdDo6c2hvd0luV2luZG93KTogQWRkIHdwZV92aWV3
X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUsIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRv
dyBhbmQgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCBzdGF0ZSBmbGFncy4KKyAgICAg
ICAgKFdlYlZpZXdUZXN0OjpoaWRlVmlldyk6IFJlbW92ZSB3cGVfdmlld19hY3Rpdml0eV9zdGF0
ZV92aXNpYmxlIGFuZCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHN0YXRlIGZsYWdz
LgorICAgICAgICAqIHdwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcDoKKyAgICAg
ICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3QmFja2VuZDo6SGVhZGxlc3NWaWV3
QmFja2VuZCk6IEFzc3VtZSB2aWV3IGlzIGFsd2F5cyB2aXNpYmxlLCBmb2N1c2VkIGFuZCBpbiB3
aW5kb3cuCisgICAgICAgICogd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5kLmNwcDoKKyAg
ICAgICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6V2luZG93Vmlld0JhY2tlbmQ6OldpbmRvd1ZpZXdC
YWNrZW5kKTogVXBkYXRlIHRoZSB2aWV3IHN0YXRlIGZsYWdzIGRlcGVuZGluZyBvbiBzdGF0ZQor
ICAgICAgICByZWNlaXZlZCBpbiBjb25maWd1cmUgY2FsbGJhY2suCisKIDIwMTgtMTEtMjYgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW0NNYWtl
XSBSZW1vdmUgRU5BQkxFX0FDQ0VTU0lCSUxJVFkgQ01ha2UgdmFyaWFibGUKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmlldy5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZp
ZXcuY3BwCmluZGV4IGJhOTEwMjQzMzI4Li40NWVjMWU1YThhYSAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcu
Y3BwCkBAIC03MTQsNyArNzE0LDYgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdTYXZlKFNhdmVX
ZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9jbXBpbnQoZ19m
aWxlX2luZm9fZ2V0X3NpemUoZmlsZUluZm8uZ2V0KCkpLCA9PSwgdG90YWxCeXRlc0Zyb21TdHJl
YW0pOwogfQogCi0jaWYgUExBVEZPUk0oR1RLKQogLy8gVG8gdGVzdCBwYWdlIHZpc2liaWxpdHkg
QVBJLiBDdXJyZW50bHkgb25seSAndmlzaWJsZScsICdoaWRkZW4nIGFuZCAncHJlcmVuZGVyJyBz
dGF0ZXMgYXJlIGltcGxlbWVudGVkIGZ1bGx5IGluIFdlYkNvcmUuCiAvLyBTZWUgYWxzbyBodHRw
Oi8vd3d3LnczLm9yZy9UUi8yMDExL1dELXBhZ2UtdmlzaWJpbGl0eS0yMDExMDYwMi8gYW5kIGh0
dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Nocm9tZS93aGl0ZXBhcGVycy9wYWdldmlzaWJp
bGl0eQogc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdQYWdlVmlzaWJpbGl0eShXZWJWaWV3VGVzdCog
dGVzdCwgZ2NvbnN0cG9pbnRlcikKQEAgLTc3Niw2ICs3NzUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0
V2ViVmlld1BhZ2VWaXNpYmlsaXR5KFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQog
ICAgIGdfYXNzZXJ0KFdlYlZpZXdUZXN0OjpqYXZhc2NyaXB0UmVzdWx0VG9Cb29sZWFuKGphdmFz
Y3JpcHRSZXN1bHQpKTsKIH0KIAorI2lmIFBMQVRGT1JNKEdUSykKIGNsYXNzIFNuYXBzaG90V2Vi
Vmlld1Rlc3Q6IHB1YmxpYyBXZWJWaWV3VGVzdCB7CiBwdWJsaWM6CiAgICAgTUFLRV9HTElCX1RF
U1RfRklYVFVSRShTbmFwc2hvdFdlYlZpZXdUZXN0KTsKQEAgLTEyNjEsOCArMTI2MSw4IEBAIHZv
aWQgYmVmb3JlQWxsKCkKICAgICAvLyBGSVhNRTogVmlldyBpcyBpbml0aWFsbHkgdmlzaWJsZSBp
biBXUEUgYW5kIGhhcyBhIGZpeGVkIGhhcmRjb2RlZCBzaXplLgogI2lmIFBMQVRGT1JNKEdUSykK
ICAgICBTbmFwc2hvdFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAic25hcHNob3Qi
LCB0ZXN0V2ViVmlld1NuYXBzaG90KTsKLSAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJW
aWV3IiwgInBhZ2UtdmlzaWJpbGl0eSIsIHRlc3RXZWJWaWV3UGFnZVZpc2liaWxpdHkpOwogI2Vu
ZGlmCisgICAgV2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJwYWdlLXZpc2liaWxp
dHkiLCB0ZXN0V2ViVmlld1BhZ2VWaXNpYmlsaXR5KTsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBOb3RpZmljYXRpb25XZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgIm5v
dGlmaWNhdGlvbiIsIHRlc3RXZWJWaWV3Tm90aWZpY2F0aW9uKTsKICAgICBOb3RpZmljYXRpb25X
ZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgIm5vdGlmaWNhdGlvbi1pbml0aWFsLXBl
cm1pc3Npb24tYWxsb3dlZCIsIHRlc3RXZWJWaWV3Tm90aWZpY2F0aW9uSW5pdGlhbFBlcm1pc3Np
b25BbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRH
TGliL1Rlc3RNYWluLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0
TWFpbi5oCmluZGV4IDEzYmEyOGUyNDRkLi5mNTgxOTBmYjQxMCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvVGVzdE1haW4uaAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5oCkBAIC0xNDMsNiArMTQzLDEwIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgV2ViS2l0V2ViVmlld0JhY2tlbmQqIGNyZWF0ZVdlYlZpZXdC
YWNrZW5kKCkKICAgICB7CiAgICAgICAgIGF1dG8qIGhlYWRsZXNzQmFja2VuZCA9IG5ldyBXUEVU
b29saW5nQmFja2VuZHM6OkhlYWRsZXNzVmlld0JhY2tlbmQoODAwLCA2MDApOworI2lmIGRlZmlu
ZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lP
TigxLCAxLCAwKQorICAgICAgICAvLyBNYWtlIHRoZSB2aWV3IGluaXRpYWxseSBoaWRkZW4gZm9y
IGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4KKyAgICAgICAgd3BlX3ZpZXdfYmFja2VuZF9y
ZW1vdmVfYWN0aXZpdHlfc3RhdGUoaGVhZGxlc3NCYWNrZW5kLT5iYWNrZW5kKCksIHdwZV92aWV3
X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2Vk
KTsKKyNlbmRpZgogICAgICAgICByZXR1cm4gd2Via2l0X3dlYl92aWV3X2JhY2tlbmRfbmV3KGhl
YWRsZXNzQmFja2VuZC0+YmFja2VuZCgpLCBbXShncG9pbnRlciB1c2VyRGF0YSkgewogICAgICAg
ICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdQRVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3
QmFja2VuZCo+KHVzZXJEYXRhKTsKICAgICAgICAgfSwgaGVhZGxlc3NCYWNrZW5kKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0Lmgg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCmluZGV4
IDJkMmIzMWY3OGI3Li4zZDRkNTExYmM4NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9nbGliL1dlYktpdEdMaWIvV2ViVmlld1Rlc3QuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCkBAIC02OSw2ICs2OSwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBlbWl0UG9wdXBNZW51U2lnbmFsKCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KFdQRSkKKyAgICB2b2lkIHNob3dJbldpbmRvdygpOworI2VuZGlmCisKICAgICBXZWJLaXRKYXZh
c2NyaXB0UmVzdWx0KiBydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoY29uc3QgY2hh
ciogamF2YXNjcmlwdCwgR0Vycm9yKiopOwogICAgIFdlYktpdEphdmFzY3JpcHRSZXN1bHQqIHJ1
bkphdmFTY3JpcHRGcm9tR1Jlc291cmNlQW5kV2FpdFVudGlsRmluaXNoZWQoY29uc3QgY2hhciog
cmVzb3VyY2UsIEdFcnJvcioqKTsKICAgICBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBydW5KYXZh
U2NyaXB0SW5Xb3JsZEFuZFdhaXRVbnRpbEZpbmlzaGVkKGNvbnN0IGNoYXIqIGphdmFzY3JpcHQs
IGNvbnN0IGNoYXIqIHdvcmxkLCBHRXJyb3IqKik7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL2dsaWIvV2ViS2l0R0xpYi93cGUvV2ViVmlld1Rlc3RXUEUuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcAppbmRleCBj
Y2YxNWMyMTM3NS4uNjQ5NDE4NmE4N2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcApAQCAtMjAsNiAr
MjAsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlZpZXdUZXN0LmgiCiAK
KyNpbmNsdWRlIDx3cGUvd3BlLmg+CisKIHZvaWQgV2ViVmlld1Rlc3Q6OnBsYXRmb3JtRGVzdHJv
eSgpCiB7CiB9CkBAIC0zOSw5ICs0MSwyMCBAQCB2b2lkIFdlYlZpZXdUZXN0OjpyZXNpemVWaWV3
KGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgICAvLyBGSVhNRTogaW1wbGVtZW50LgogfQogCit2
b2lkIFdlYlZpZXdUZXN0OjpzaG93SW5XaW5kb3coKQoreworI2lmIGRlZmluZWQoV1BFX0JBQ0tF
TkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQor
ICAgIGF1dG8qIGJhY2tlbmQgPSB3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfd3BlX2JhY2tl
bmQod2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kKG1fd2ViVmlldykpOworICAgIHdwZV92aWV3
X2JhY2tlbmRfYWRkX2FjdGl2aXR5X3N0YXRlKGJhY2tlbmQsIHdwZV92aWV3X2FjdGl2aXR5X3N0
YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9pbl93aW5kb3cgfCB3cGVfdmll
d19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKTsKKyNlbmRpZgorfQorCiB2b2lkIFdlYlZpZXdUZXN0
OjpoaWRlVmlldygpCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudC4KKyNpZiBkZWZpbmVkKFdQ
RV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwg
MSwgMCkKKyAgICBhdXRvKiBiYWNrZW5kID0gd2Via2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3dw
ZV9iYWNrZW5kKHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2VuZChtX3dlYlZpZXcpKTsKKyAgICB3
cGVfdmlld19iYWNrZW5kX3JlbW92ZV9hY3Rpdml0eV9zdGF0ZShiYWNrZW5kLCB3cGVfdmlld19h
Y3Rpdml0eV9zdGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCk7
CisjZW5kaWYKIH0KIAogdm9pZCBXZWJWaWV3VGVzdDo6bW91c2VNb3ZlVG8oaW50IHgsIGludCB5
LCB1bnNpZ25lZCBtb3VzZU1vZGlmaWVycykKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9iYWNrZW5k
cy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcCBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9IZWFkbGVzc1Zp
ZXdCYWNrZW5kLmNwcAppbmRleCBlZDFhZGE0MzliYS4uOGUxMmVlNmNlODkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL3dwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcAorKysgYi9Ub29scy93
cGUvYmFja2VuZHMvSGVhZGxlc3NWaWV3QmFja2VuZC5jcHAKQEAgLTcyLDYgKzcyLDEwIEBAIEhl
YWRsZXNzVmlld0JhY2tlbmQ6OkhlYWRsZXNzVmlld0JhY2tlbmQodWludDMyX3Qgd2lkdGgsIHVp
bnQzMl90IGhlaWdodCkKICAgICBpZiAoIWluaXRpYWxpemUoKSkKICAgICAgICAgcmV0dXJuOwog
CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFDS0VORF9D
SEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgd3BlX3ZpZXdfYmFja2VuZF9hZGRfYWN0aXZpdHlf
c3RhdGUoYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV92aXNpYmxlIHwgd3BlX3Zp
ZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCB8IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dp
bmRvdyk7CisjZW5kaWYKKwogICAgIGlmICghZWdsTWFrZUN1cnJlbnQobV9lZ2xEaXNwbGF5LCBF
R0xfTk9fU1VSRkFDRSwgRUdMX05PX1NVUkZBQ0UsIG1fZWdsQ29udGV4dCkpCiAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5k
LmNwcCBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9XaW5kb3dWaWV3QmFja2VuZC5jcHAKaW5kZXggNjUy
MjFlMWRiMTYuLjIwZjAzYjgwYmFiIDEwMDY0NAotLS0gYS9Ub29scy93cGUvYmFja2VuZHMvV2lu
ZG93Vmlld0JhY2tlbmQuY3BwCisrKyBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9XaW5kb3dWaWV3QmFj
a2VuZC5jcHAKQEAgLTQzNCwxMiArNDM0LDQ4IEBAIGNvbnN0IHN0cnVjdCB6eGRnX3N1cmZhY2Vf
djZfbGlzdGVuZXIgV2luZG93Vmlld0JhY2tlbmQ6OnNfeGRnU3VyZmFjZUxpc3RlbmVyID0KIAog
Y29uc3Qgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjZfbGlzdGVuZXIgV2luZG93Vmlld0JhY2tlbmQ6
OnNfeGRnVG9wbGV2ZWxMaXN0ZW5lciA9IHsKICAgICAvLyBjb25maWd1cmUKLSAgICBbXSh2b2lk
Kiwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqLCBpbnQzMl90IC8qd2lkdGgqLywgaW50MzJfdCAv
KmhlaWdodCovLCBzdHJ1Y3Qgd2xfYXJyYXkqKQorICAgIFtdKHZvaWQqIGRhdGEsIHN0cnVjdCB6
eGRnX3RvcGxldmVsX3Y2KiwgaW50MzJfdCB3aWR0aCwgaW50MzJfdCBoZWlnaHQsIHN0cnVjdCB3
bF9hcnJheSogc3RhdGVzKQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IGRpc3BhdGNoIHRoZSBz
aXplIGFnYWluc3Qgd3BlX3ZpZXdfYmFja2VuZC4KKyAgICAgICAgYXV0byYgd2luZG93ID0gKnN0
YXRpY19jYXN0PFdpbmRvd1ZpZXdCYWNrZW5kKj4oZGF0YSk7CisgICAgICAgIHdwZV92aWV3X2Jh
Y2tlbmRfZGlzcGF0Y2hfc2V0X3NpemUod2luZG93LmJhY2tlbmQoKSwgd2lkdGgsIGhlaWdodCk7
CisKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5E
X0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAgYm9vbCBpc0ZvY3VzZWQgPSBmYWxzZTsK
KyAgICAgICAgdm9pZCogcDsKKyAgICAgICAgd2xfYXJyYXlfZm9yX2VhY2gocCwgc3RhdGVzKQor
ICAgICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBzdGF0ZSA9ICpzdGF0aWNfY2FzdDx1aW50
MzJfdCo+KHApOworCisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBj
YXNlIFpYREdfVE9QTEVWRUxfVjZfU1RBVEVfQUNUSVZBVEVEOgorICAgICAgICAgICAgICAgIGlz
Rm9jdXNlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFpYREdfVE9QTEVWRUxfVjZfU1RBVEVfRlVMTFNDUkVFTjoKKyAgICAgICAgICAgIGNhc2UgWlhE
R19UT1BMRVZFTF9WNl9TVEFURV9NQVhJTUlaRUQ6CisgICAgICAgICAgICBjYXNlIFpYREdfVE9Q
TEVWRUxfVjZfU1RBVEVfUkVTSVpJTkc6CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKGlz
Rm9jdXNlZCkKKyAgICAgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfYWRkX2FjdGl2aXR5X3N0YXRl
KHdpbmRvdy5iYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB3cGVfdmlld19iYWNrZW5kX3JlbW92ZV9hY3Rpdml0eV9z
dGF0ZSh3aW5kb3cuYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKTsK
KyNlbHNlCisgICAgICAgICh2b2lkKXN0YXRlczsKKyNlbmRpZgogICAgIH0sCiAgICAgLy8gY2xv
c2UKLSAgICBbXSh2b2lkKiwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqKSB7IH0sCisgICAgW10o
dm9pZCogZGF0YSwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqKQorICAgIHsKKyNpZiBkZWZpbmVk
KFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04o
MSwgMSwgMCkKKyAgICAgICAgYXV0byYgd2luZG93ID0gKnN0YXRpY19jYXN0PFdpbmRvd1ZpZXdC
YWNrZW5kKj4oZGF0YSk7CisgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfcmVtb3ZlX2FjdGl2aXR5
X3N0YXRlKHdpbmRvdy5iYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUg
fCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3Rh
dGVfaW5fd2luZG93KTsKKyNlbHNlCisgICAgICAgICh2b2lkKWRhdGE7CisjZW5kaWYKKyAgICB9
LAogfTsKIAogV2luZG93Vmlld0JhY2tlbmQ6OldpbmRvd1ZpZXdCYWNrZW5kKHVpbnQzMl90IHdp
ZHRoLCB1aW50MzJfdCBoZWlnaHQpCkBAIC00ODYsOSArNTIyLDEyIEBAIFdpbmRvd1ZpZXdCYWNr
ZW5kOjpXaW5kb3dWaWV3QmFja2VuZCh1aW50MzJfdCB3aWR0aCwgdWludDMyX3QgaGVpZ2h0KQog
ICAgICAgICB6eGRnX3N1cmZhY2VfdjZfYWRkX2xpc3RlbmVyKG1feGRnU3VyZmFjZSwgJnNfeGRn
U3VyZmFjZUxpc3RlbmVyLCBudWxscHRyKTsKICAgICAgICAgbV94ZGdUb3BsZXZlbCA9IHp4ZGdf
c3VyZmFjZV92Nl9nZXRfdG9wbGV2ZWwobV94ZGdTdXJmYWNlKTsKICAgICAgICAgaWYgKG1feGRn
VG9wbGV2ZWwpIHsKLSAgICAgICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfYWRkX2xpc3RlbmVyKG1f
eGRnVG9wbGV2ZWwsICZzX3hkZ1RvcGxldmVsTGlzdGVuZXIsIG51bGxwdHIpOworICAgICAgICAg
ICAgenhkZ190b3BsZXZlbF92Nl9hZGRfbGlzdGVuZXIobV94ZGdUb3BsZXZlbCwgJnNfeGRnVG9w
bGV2ZWxMaXN0ZW5lciwgdGhpcyk7CiAgICAgICAgICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF90
aXRsZShtX3hkZ1RvcGxldmVsLCAiV1BFIik7CiAgICAgICAgICAgICB3bF9zdXJmYWNlX2NvbW1p
dChtX3N1cmZhY2UpOworI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYg
V1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQorICAgICAgICAgICAgd3BlX3ZpZXdf
YmFja2VuZF9hZGRfYWN0aXZpdHlfc3RhdGUoYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9z
dGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfaW5fd2luZG93KTsKKyNlbmRp
ZgogICAgICAgICB9CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355859</attachid>
            <date>2018-11-28 02:13:42 -0800</date>
            <delta_ts>2018-12-14 01:18:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-view-state.diff</filename>
            <type>text/plain</type>
            <size>16837</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYjAxYmYxNWZhOTQuLjQyMzIwMTE0YTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDE4LTExLTI4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBVc2UgbmV3IHZpZXcgc3RhdGUgQVBJIGZyb20gbGlid3Bl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MDYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUg
V0tWaWV3U2V0Vmlld1N0YXRlIGZyb20gdGhlIEMgQVBJLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL3dwZS9XS0FQSUNhc3RXUEUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mvd3Bl
L1dLVmlldy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcDoKKyAgICAgICAgKFdLV1BFOjpW
aWV3OjpWaWV3KTogQWRkIGltcGxlbWVudGF0aW9uIGZvciBhY3Rpdml0eV9zdGF0ZV9jaGFuZ2Vk
IHZmdW5jIG9mIHRoZSB2aWV3IGJhY2tlbmQgY2xpZW50Lik6CisgICAgICAgIChXS1dQRTo6Vmll
dzo6c2V0Vmlld1N0YXRlKTogUmVtb3ZlIHRoZSBkZWZhdWx0IGZsYWdzLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuaDoKKyAgICAgICAgKFdLV1BFOjpWaWV3OjpzZXRWaWV3
U3RhdGUgY29uc3QpOiBNYWtlIGl0IHByaXZhdGUuCisKIDIwMTgtMTEtMjcgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9O
UyBzaG91bGQgYmUgZmFsc2UgZm9yIGlvc21hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL3dwZS9XS0FQSUNhc3RXUEUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL3dwZS9XS0FQSUNhc3RXUEUuaAppbmRleCA0YmZlNmNjNjhiYy4uMWU2Nzg0MDAw
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9XS0FQSUNh
c3RXUEUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy93cGUvV0tBUElDYXN0
V1BFLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIldLVmlldy5oIgogI2luY2x1ZGUg
IldlYkdyYW1tYXJEZXRhaWwuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4K
IAogbmFtZXNwYWNlIFdLV1BFIHsKIGNsYXNzIFZpZXc7CkBAIC00OCwxOCArNDcsNiBAQCBpbmxp
bmUgUHJveHlpbmdSZWZQdHI8V2ViR3JhbW1hckRldGFpbD4gdG9BUEkoY29uc3QgV2ViQ29yZTo6
R3JhbW1hckRldGFpbCYgZ3JhbQogICAgIHJldHVybiBQcm94eWluZ1JlZlB0cjxXZWJHcmFtbWFy
RGV0YWlsPihXZWJHcmFtbWFyRGV0YWlsOjpjcmVhdGUoZ3JhbW1hckRldGFpbCkpOwogfQogCi1p
bmxpbmUgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IHRvVmlld1N0YXRl
RmxhZ3MoV0tWaWV3U3RhdGUgd2tWaWV3U3RhdGUpCi17Ci0gICAgT3B0aW9uU2V0PFdlYkNvcmU6
OkFjdGl2aXR5U3RhdGU6OkZsYWc+IHZpZXdTdGF0ZUZsYWdzOwotCi0gICAgaWYgKHdrVmlld1N0
YXRlICYga1dLVmlld1N0YXRlSXNJbldpbmRvdykKLSAgICAgICAgdmlld1N0YXRlRmxhZ3MuYWRk
KFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwotICAgIGlmICh3a1ZpZXdTdGF0
ZSAmIGtXS1ZpZXdTdGF0ZUlzVmlzaWJsZSkKLSAgICAgICAgdmlld1N0YXRlRmxhZ3MuYWRkKFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSk7Ci0KLSAgICByZXR1cm4gdmlld1N0YXRl
RmxhZ3M7Ci19Ci0KIH0KIAogI2VuZGlmIC8vIFdLQVBJQ2FzdFdQRV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy93cGUvV0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuY3BwCmluZGV4IDUwMTQ5ZmZlNDg3Li43OGJi
YTM5NjdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dL
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5j
cHAKQEAgLTUwLDExICs1MCw2IEBAIFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZiB2
aWV3KQogICAgIHJldHVybiB0b0FQSSgmdG9JbXBsKHZpZXcpLT5wYWdlKCkpOwogfQogCi12b2lk
IFdLVmlld1NldFZpZXdTdGF0ZShXS1ZpZXdSZWYgdmlldywgV0tWaWV3U3RhdGUgdmlld1N0YXRl
KQotewotICAgIHRvSW1wbCh2aWV3KS0+c2V0Vmlld1N0YXRlKHRvVmlld1N0YXRlRmxhZ3Modmll
d1N0YXRlKSk7Ci19Ci0KIHZvaWQgV0tWaWV3U2V0Vmlld0NsaWVudChXS1ZpZXdSZWYgdmlldywg
Y29uc3QgV0tWaWV3Q2xpZW50QmFzZSogY2xpZW50KQogewogICAgIGNsYXNzIFZpZXdDbGllbnQg
ZmluYWwgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tWaWV3Q2xpZW50QmFzZT4sIHB1YmxpYyBBUEk6
OlZpZXdDbGllbnQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
d3BlL1dLVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5o
CmluZGV4IDExMTVhMGVhZGQyLi44ZmI5ODM5NWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL3dwZS9XS1ZpZXcuaApAQCAtMzksMTQgKzM5LDYgQEAgV0tfRVhQT1JUIFdLVmll
d1JlZiBXS1ZpZXdDcmVhdGUoc3RydWN0IHdwZV92aWV3X2JhY2tlbmQqLCBXS1BhZ2VDb25maWd1
cmF0aW9uUmUKIAogV0tfRVhQT1JUIFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZik7
CiAKLWVudW0gewotICAgIGtXS1ZpZXdTdGF0ZUlzSW5XaW5kb3cgPSAxIDw8IDAsCi0gICAga1dL
Vmlld1N0YXRlSXNWaXNpYmxlID0gMSA8PCAxLAotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tWaWV3
U3RhdGU7Ci0KLVdLX0VYUE9SVCB2b2lkIFdLVmlld1NldFZpZXdTdGF0ZShXS1ZpZXdSZWYsIFdL
Vmlld1N0YXRlKTsKLQogdHlwZWRlZiB2b2lkICgqV0tWaWV3RnJhbWVEaXNwbGF5ZWQpKFdLVmll
d1JlZiB2aWV3LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0tW
aWV3Q2xpZW50QmFzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL1dQRVZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3
LmNwcAppbmRleCBmZmZjYjExZmVlNC4uYWZkYmQwN2RmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcApAQCAtNDUsNyArNDUsOSBAQCBWaWV3OjpWaWV3
KHN0cnVjdCB3cGVfdmlld19iYWNrZW5kKiBiYWNrZW5kLCBjb25zdCBBUEk6OlBhZ2VDb25maWd1
cmF0aW9uJiBiYXNlQwogICAgIDogbV9jbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxBUEk6OlZpZXdD
bGllbnQ+KCkpCiAgICAgLCBtX3BhZ2VDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ2xpZW50
SW1wbD4oKnRoaXMpKQogICAgICwgbV9zaXplIHsgODAwLCA2MDAgfQorI2lmICFkZWZpbmVkKFdQ
RV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pIHx8ICFXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEs
IDEsIDApCiAgICAgLCBtX3ZpZXdTdGF0ZUZsYWdzIHsgV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6
V2luZG93SXNBY3RpdmUsIFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCwgV2ViQ29y
ZTo6QWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlLCBXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpJc0lu
V2luZG93IH0KKyNlbmRpZgogICAgICwgbV9jb21wb3NpdGluZ01hbmFnZXJQcm94eSgqdGhpcykK
ICAgICAsIG1fYmFja2VuZChiYWNrZW5kKQogewpAQCAtODgsOCArOTAsMjYgQEAgVmlldzo6Vmll
dyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCogYmFja2VuZCwgY29uc3QgQVBJOjpQYWdlQ29uZmln
dXJhdGlvbiYgYmFzZUMKICAgICAgICAgICAgIGF1dG8mIHZpZXcgPSAqcmVpbnRlcnByZXRfY2Fz
dDxWaWV3Kj4oZGF0YSk7CiAgICAgICAgICAgICB2aWV3LmZyYW1lRGlzcGxheWVkKCk7CiAgICAg
ICAgIH0sCi0gICAgICAgIC8vIHBhZGRpbmcKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNL
X1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAg
Ly8gYWN0aXZpdHlfc3RhdGVfY2hhbmdlZAorICAgICAgICBbXSh2b2lkKiBkYXRhLCB1aW50MzJf
dCBzdGF0ZSkKKyAgICAgICAgeworICAgICAgICAgICAgYXV0byYgdmlldyA9ICpyZWludGVycHJl
dF9jYXN0PFZpZXcqPihkYXRhKTsKKyAgICAgICAgICAgIE9wdGlvblNldDxXZWJDb3JlOjpBY3Rp
dml0eVN0YXRlOjpGbGFnPiBmbGFnczsKKyAgICAgICAgICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3
X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUpCisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNv
cmU6OkFjdGl2aXR5U3RhdGU6OklzVmlzaWJsZSk7CisgICAgICAgICAgICBpZiAoc3RhdGUgJiB3
cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKSB7CisgICAgICAgICAgICAgICAgZmxhZ3Mu
YWRkKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCk7CisgICAgICAgICAgICAgICAg
ZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRl
X2luX3dpbmRvdykKKyAgICAgICAgICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6QWN0aXZpdHlT
dGF0ZTo6SXNJbldpbmRvdyk7CisgICAgICAgICAgICB2aWV3LnNldFZpZXdTdGF0ZShmbGFncyk7
CisgICAgICAgIH0sCisjZWxzZQogICAgICAgICBudWxscHRyLAorI2VuZGlmCisgICAgICAgIC8v
IHBhZGRpbmcKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVs
bHB0cgpAQCAtMTc0LDEwICsxOTQsOCBAQCB2b2lkIFZpZXc6OnNldFNpemUoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgc2l6ZSkKIAogdm9pZCBWaWV3OjpzZXRWaWV3U3RhdGUoT3B0aW9uU2V0PFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGZsYWdzKQogewotICAgIHN0YXRpYyBjb25zdCBP
cHRpb25TZXQ8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZGVmYXVsdEZsYWdzIHsgV2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3RpdmUsIFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OklzRm9jdXNlZCB9OwotCi0gICAgYXV0byBjaGFuZ2VkRmxhZ3MgPSBtX3ZpZXdTdGF0ZUZs
YWdzIF4gKGRlZmF1bHRGbGFncyB8IGZsYWdzKTsKLSAgICBtX3ZpZXdTdGF0ZUZsYWdzID0gZGVm
YXVsdEZsYWdzIHwgZmxhZ3M7CisgICAgYXV0byBjaGFuZ2VkRmxhZ3MgPSBtX3ZpZXdTdGF0ZUZs
YWdzIF4gZmxhZ3M7CisgICAgbV92aWV3U3RhdGVGbGFncyA9IGZsYWdzOwogCiAgICAgaWYgKGNo
YW5nZWRGbGFncykKICAgICAgICAgbV9wYWdlUHJveHktPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2Uo
Y2hhbmdlZEZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvV1BFVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmgK
aW5kZXggMmFiNDg1MzBlYTEuLjk5YmYyNzg5NzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL1dQRVZpZXcuaApAQCAtNjksNyArNjksNiBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogCiAgICAg
T3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IHZpZXdTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdmlld1N0YXRlRmxhZ3M7IH0KLSAgICB2b2lkIHNldFZpZXdTdGF0ZShPcHRp
b25TZXQ8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4pOwogCiAgICAgdm9pZCBjbG9zZSgp
OwogCkBAIC04Miw2ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgVmlldyhzdHJ1Y3Qgd3BlX3ZpZXdf
YmFja2VuZCosIGNvbnN0IEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24mKTsKIAogICAgIHZvaWQgc2V0
U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisgICAgdm9pZCBzZXRWaWV3U3RhdGUoT3B0
aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+KTsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxBUEk6OlZpZXdDbGllbnQ+IG1fY2xpZW50OwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjExNWYyOThlYzguLmYzN2RkMDM2OWNkIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMTgtMTEtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgdmlldyBzdGF0ZSBBUEkgZnJvbSBsaWJ3
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTkw
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAg
ICAgKGJlZm9yZUFsbCk6IEVuYWJsZSAvd2Via2l0L1dlYktpdFdlYlZpZXcvcGFnZS12aXNpYmls
aXR5IGluIFdQRS4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0
TWFpbi5oOgorICAgICAgICAoVGVzdDo6Y3JlYXRlV2ViVmlld0JhY2tlbmQpOiBNYWtlIHRoZSB2
aWV3IGluaXRpYWxseSBoaWRkZW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5j
cHA6CisgICAgICAgIChXZWJWaWV3VGVzdDo6c2hvd0luV2luZG93KTogQWRkIHdwZV92aWV3X2Fj
dGl2aXR5X3N0YXRlX3Zpc2libGUsIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRvdyBh
bmQKKyAgICAgICAgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCBzdGF0ZSBmbGFncy4K
KyAgICAgICAgKFdlYlZpZXdUZXN0OjpoaWRlVmlldyk6IFJlbW92ZSB3cGVfdmlld19hY3Rpdml0
eV9zdGF0ZV92aXNpYmxlIGFuZCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHN0YXRl
IGZsYWdzLgorICAgICAgICAqIHdwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcDoK
KyAgICAgICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3QmFja2VuZDo6SGVhZGxl
c3NWaWV3QmFja2VuZCk6IEFzc3VtZSB2aWV3IGlzIGFsd2F5cyB2aXNpYmxlLCBmb2N1c2VkIGFu
ZCBpbiB3aW5kb3cuCisgICAgICAgICogd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5kLmNw
cDoKKyAgICAgICAgKFdQRVRvb2xpbmdCYWNrZW5kczo6V2luZG93Vmlld0JhY2tlbmQ6OldpbmRv
d1ZpZXdCYWNrZW5kKTogVXBkYXRlIHRoZSB2aWV3IHN0YXRlIGZsYWdzIGRlcGVuZGluZyBvbiBz
dGF0ZQorICAgICAgICByZWNlaXZlZCBpbiBjb25maWd1cmUgY2FsbGJhY2suCisKIDIwMTgtMTEt
MjcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEVOQUJMRV9GQVNU
X0pJVF9QRVJNSVNTSU9OUyBzaG91bGQgYmUgZmFsc2UgZm9yIGlvc21hYy4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmlldy5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZp
ZXcuY3BwCmluZGV4IGJhOTEwMjQzMzI4Li40NWVjMWU1YThhYSAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcu
Y3BwCkBAIC03MTQsNyArNzE0LDYgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdTYXZlKFNhdmVX
ZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9jbXBpbnQoZ19m
aWxlX2luZm9fZ2V0X3NpemUoZmlsZUluZm8uZ2V0KCkpLCA9PSwgdG90YWxCeXRlc0Zyb21TdHJl
YW0pOwogfQogCi0jaWYgUExBVEZPUk0oR1RLKQogLy8gVG8gdGVzdCBwYWdlIHZpc2liaWxpdHkg
QVBJLiBDdXJyZW50bHkgb25seSAndmlzaWJsZScsICdoaWRkZW4nIGFuZCAncHJlcmVuZGVyJyBz
dGF0ZXMgYXJlIGltcGxlbWVudGVkIGZ1bGx5IGluIFdlYkNvcmUuCiAvLyBTZWUgYWxzbyBodHRw
Oi8vd3d3LnczLm9yZy9UUi8yMDExL1dELXBhZ2UtdmlzaWJpbGl0eS0yMDExMDYwMi8gYW5kIGh0
dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Nocm9tZS93aGl0ZXBhcGVycy9wYWdldmlzaWJp
bGl0eQogc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdQYWdlVmlzaWJpbGl0eShXZWJWaWV3VGVzdCog
dGVzdCwgZ2NvbnN0cG9pbnRlcikKQEAgLTc3Niw2ICs3NzUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0
V2ViVmlld1BhZ2VWaXNpYmlsaXR5KFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQog
ICAgIGdfYXNzZXJ0KFdlYlZpZXdUZXN0OjpqYXZhc2NyaXB0UmVzdWx0VG9Cb29sZWFuKGphdmFz
Y3JpcHRSZXN1bHQpKTsKIH0KIAorI2lmIFBMQVRGT1JNKEdUSykKIGNsYXNzIFNuYXBzaG90V2Vi
Vmlld1Rlc3Q6IHB1YmxpYyBXZWJWaWV3VGVzdCB7CiBwdWJsaWM6CiAgICAgTUFLRV9HTElCX1RF
U1RfRklYVFVSRShTbmFwc2hvdFdlYlZpZXdUZXN0KTsKQEAgLTEyNjEsOCArMTI2MSw4IEBAIHZv
aWQgYmVmb3JlQWxsKCkKICAgICAvLyBGSVhNRTogVmlldyBpcyBpbml0aWFsbHkgdmlzaWJsZSBp
biBXUEUgYW5kIGhhcyBhIGZpeGVkIGhhcmRjb2RlZCBzaXplLgogI2lmIFBMQVRGT1JNKEdUSykK
ICAgICBTbmFwc2hvdFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAic25hcHNob3Qi
LCB0ZXN0V2ViVmlld1NuYXBzaG90KTsKLSAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJW
aWV3IiwgInBhZ2UtdmlzaWJpbGl0eSIsIHRlc3RXZWJWaWV3UGFnZVZpc2liaWxpdHkpOwogI2Vu
ZGlmCisgICAgV2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJwYWdlLXZpc2liaWxp
dHkiLCB0ZXN0V2ViVmlld1BhZ2VWaXNpYmlsaXR5KTsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKICAgICBOb3RpZmljYXRpb25XZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgIm5v
dGlmaWNhdGlvbiIsIHRlc3RXZWJWaWV3Tm90aWZpY2F0aW9uKTsKICAgICBOb3RpZmljYXRpb25X
ZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgIm5vdGlmaWNhdGlvbi1pbml0aWFsLXBl
cm1pc3Npb24tYWxsb3dlZCIsIHRlc3RXZWJWaWV3Tm90aWZpY2F0aW9uSW5pdGlhbFBlcm1pc3Np
b25BbGxvd2VkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRH
TGliL1Rlc3RNYWluLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0
TWFpbi5oCmluZGV4IDEzYmEyOGUyNDRkLi5mNTgxOTBmYjQxMCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvVGVzdE1haW4uaAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5oCkBAIC0xNDMsNiArMTQzLDEwIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgV2ViS2l0V2ViVmlld0JhY2tlbmQqIGNyZWF0ZVdlYlZpZXdC
YWNrZW5kKCkKICAgICB7CiAgICAgICAgIGF1dG8qIGhlYWRsZXNzQmFja2VuZCA9IG5ldyBXUEVU
b29saW5nQmFja2VuZHM6OkhlYWRsZXNzVmlld0JhY2tlbmQoODAwLCA2MDApOworI2lmIGRlZmlu
ZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lP
TigxLCAxLCAwKQorICAgICAgICAvLyBNYWtlIHRoZSB2aWV3IGluaXRpYWxseSBoaWRkZW4gZm9y
IGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4KKyAgICAgICAgd3BlX3ZpZXdfYmFja2VuZF9y
ZW1vdmVfYWN0aXZpdHlfc3RhdGUoaGVhZGxlc3NCYWNrZW5kLT5iYWNrZW5kKCksIHdwZV92aWV3
X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2Vk
KTsKKyNlbmRpZgogICAgICAgICByZXR1cm4gd2Via2l0X3dlYl92aWV3X2JhY2tlbmRfbmV3KGhl
YWRsZXNzQmFja2VuZC0+YmFja2VuZCgpLCBbXShncG9pbnRlciB1c2VyRGF0YSkgewogICAgICAg
ICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdQRVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3
QmFja2VuZCo+KHVzZXJEYXRhKTsKICAgICAgICAgfSwgaGVhZGxlc3NCYWNrZW5kKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0Lmgg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCmluZGV4
IDJkMmIzMWY3OGI3Li4zZDRkNTExYmM4NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9nbGliL1dlYktpdEdMaWIvV2ViVmlld1Rlc3QuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCkBAIC02OSw2ICs2OSwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBlbWl0UG9wdXBNZW51U2lnbmFsKCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KFdQRSkKKyAgICB2b2lkIHNob3dJbldpbmRvdygpOworI2VuZGlmCisKICAgICBXZWJLaXRKYXZh
c2NyaXB0UmVzdWx0KiBydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoY29uc3QgY2hh
ciogamF2YXNjcmlwdCwgR0Vycm9yKiopOwogICAgIFdlYktpdEphdmFzY3JpcHRSZXN1bHQqIHJ1
bkphdmFTY3JpcHRGcm9tR1Jlc291cmNlQW5kV2FpdFVudGlsRmluaXNoZWQoY29uc3QgY2hhciog
cmVzb3VyY2UsIEdFcnJvcioqKTsKICAgICBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBydW5KYXZh
U2NyaXB0SW5Xb3JsZEFuZFdhaXRVbnRpbEZpbmlzaGVkKGNvbnN0IGNoYXIqIGphdmFzY3JpcHQs
IGNvbnN0IGNoYXIqIHdvcmxkLCBHRXJyb3IqKik7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL2dsaWIvV2ViS2l0R0xpYi93cGUvV2ViVmlld1Rlc3RXUEUuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcAppbmRleCBj
Y2YxNWMyMTM3NS4uNjQ5NDE4NmE4N2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcApAQCAtMjAsNiAr
MjAsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlZpZXdUZXN0LmgiCiAK
KyNpbmNsdWRlIDx3cGUvd3BlLmg+CisKIHZvaWQgV2ViVmlld1Rlc3Q6OnBsYXRmb3JtRGVzdHJv
eSgpCiB7CiB9CkBAIC0zOSw5ICs0MSwyMCBAQCB2b2lkIFdlYlZpZXdUZXN0OjpyZXNpemVWaWV3
KGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgICAvLyBGSVhNRTogaW1wbGVtZW50LgogfQogCit2
b2lkIFdlYlZpZXdUZXN0OjpzaG93SW5XaW5kb3coKQoreworI2lmIGRlZmluZWQoV1BFX0JBQ0tF
TkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQor
ICAgIGF1dG8qIGJhY2tlbmQgPSB3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfd3BlX2JhY2tl
bmQod2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kKG1fd2ViVmlldykpOworICAgIHdwZV92aWV3
X2JhY2tlbmRfYWRkX2FjdGl2aXR5X3N0YXRlKGJhY2tlbmQsIHdwZV92aWV3X2FjdGl2aXR5X3N0
YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9pbl93aW5kb3cgfCB3cGVfdmll
d19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKTsKKyNlbmRpZgorfQorCiB2b2lkIFdlYlZpZXdUZXN0
OjpoaWRlVmlldygpCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudC4KKyNpZiBkZWZpbmVkKFdQ
RV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwg
MSwgMCkKKyAgICBhdXRvKiBiYWNrZW5kID0gd2Via2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3dw
ZV9iYWNrZW5kKHdlYmtpdF93ZWJfdmlld19nZXRfYmFja2VuZChtX3dlYlZpZXcpKTsKKyAgICB3
cGVfdmlld19iYWNrZW5kX3JlbW92ZV9hY3Rpdml0eV9zdGF0ZShiYWNrZW5kLCB3cGVfdmlld19h
Y3Rpdml0eV9zdGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCk7
CisjZW5kaWYKIH0KIAogdm9pZCBXZWJWaWV3VGVzdDo6bW91c2VNb3ZlVG8oaW50IHgsIGludCB5
LCB1bnNpZ25lZCBtb3VzZU1vZGlmaWVycykKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9iYWNrZW5k
cy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcCBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9IZWFkbGVzc1Zp
ZXdCYWNrZW5kLmNwcAppbmRleCBlZDFhZGE0MzliYS4uOGUxMmVlNmNlODkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL3dwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcAorKysgYi9Ub29scy93
cGUvYmFja2VuZHMvSGVhZGxlc3NWaWV3QmFja2VuZC5jcHAKQEAgLTcyLDYgKzcyLDEwIEBAIEhl
YWRsZXNzVmlld0JhY2tlbmQ6OkhlYWRsZXNzVmlld0JhY2tlbmQodWludDMyX3Qgd2lkdGgsIHVp
bnQzMl90IGhlaWdodCkKICAgICBpZiAoIWluaXRpYWxpemUoKSkKICAgICAgICAgcmV0dXJuOwog
CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFDS0VORF9D
SEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgd3BlX3ZpZXdfYmFja2VuZF9hZGRfYWN0aXZpdHlf
c3RhdGUoYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV92aXNpYmxlIHwgd3BlX3Zp
ZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCB8IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dp
bmRvdyk7CisjZW5kaWYKKwogICAgIGlmICghZWdsTWFrZUN1cnJlbnQobV9lZ2xEaXNwbGF5LCBF
R0xfTk9fU1VSRkFDRSwgRUdMX05PX1NVUkZBQ0UsIG1fZWdsQ29udGV4dCkpCiAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5k
LmNwcCBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9XaW5kb3dWaWV3QmFja2VuZC5jcHAKaW5kZXggNjUy
MjFlMWRiMTYuLjIwZjAzYjgwYmFiIDEwMDY0NAotLS0gYS9Ub29scy93cGUvYmFja2VuZHMvV2lu
ZG93Vmlld0JhY2tlbmQuY3BwCisrKyBiL1Rvb2xzL3dwZS9iYWNrZW5kcy9XaW5kb3dWaWV3QmFj
a2VuZC5jcHAKQEAgLTQzNCwxMiArNDM0LDQ4IEBAIGNvbnN0IHN0cnVjdCB6eGRnX3N1cmZhY2Vf
djZfbGlzdGVuZXIgV2luZG93Vmlld0JhY2tlbmQ6OnNfeGRnU3VyZmFjZUxpc3RlbmVyID0KIAog
Y29uc3Qgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjZfbGlzdGVuZXIgV2luZG93Vmlld0JhY2tlbmQ6
OnNfeGRnVG9wbGV2ZWxMaXN0ZW5lciA9IHsKICAgICAvLyBjb25maWd1cmUKLSAgICBbXSh2b2lk
Kiwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqLCBpbnQzMl90IC8qd2lkdGgqLywgaW50MzJfdCAv
KmhlaWdodCovLCBzdHJ1Y3Qgd2xfYXJyYXkqKQorICAgIFtdKHZvaWQqIGRhdGEsIHN0cnVjdCB6
eGRnX3RvcGxldmVsX3Y2KiwgaW50MzJfdCB3aWR0aCwgaW50MzJfdCBoZWlnaHQsIHN0cnVjdCB3
bF9hcnJheSogc3RhdGVzKQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IGRpc3BhdGNoIHRoZSBz
aXplIGFnYWluc3Qgd3BlX3ZpZXdfYmFja2VuZC4KKyAgICAgICAgYXV0byYgd2luZG93ID0gKnN0
YXRpY19jYXN0PFdpbmRvd1ZpZXdCYWNrZW5kKj4oZGF0YSk7CisgICAgICAgIHdwZV92aWV3X2Jh
Y2tlbmRfZGlzcGF0Y2hfc2V0X3NpemUod2luZG93LmJhY2tlbmQoKSwgd2lkdGgsIGhlaWdodCk7
CisKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5E
X0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAgYm9vbCBpc0ZvY3VzZWQgPSBmYWxzZTsK
KyAgICAgICAgdm9pZCogcDsKKyAgICAgICAgd2xfYXJyYXlfZm9yX2VhY2gocCwgc3RhdGVzKQor
ICAgICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBzdGF0ZSA9ICpzdGF0aWNfY2FzdDx1aW50
MzJfdCo+KHApOworCisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBj
YXNlIFpYREdfVE9QTEVWRUxfVjZfU1RBVEVfQUNUSVZBVEVEOgorICAgICAgICAgICAgICAgIGlz
Rm9jdXNlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFpYREdfVE9QTEVWRUxfVjZfU1RBVEVfRlVMTFNDUkVFTjoKKyAgICAgICAgICAgIGNhc2UgWlhE
R19UT1BMRVZFTF9WNl9TVEFURV9NQVhJTUlaRUQ6CisgICAgICAgICAgICBjYXNlIFpYREdfVE9Q
TEVWRUxfVjZfU1RBVEVfUkVTSVpJTkc6CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKGlz
Rm9jdXNlZCkKKyAgICAgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfYWRkX2FjdGl2aXR5X3N0YXRl
KHdpbmRvdy5iYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB3cGVfdmlld19iYWNrZW5kX3JlbW92ZV9hY3Rpdml0eV9z
dGF0ZSh3aW5kb3cuYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKTsK
KyNlbHNlCisgICAgICAgICh2b2lkKXN0YXRlczsKKyNlbmRpZgogICAgIH0sCiAgICAgLy8gY2xv
c2UKLSAgICBbXSh2b2lkKiwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqKSB7IH0sCisgICAgW10o
dm9pZCogZGF0YSwgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqKQorICAgIHsKKyNpZiBkZWZpbmVk
KFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04o
MSwgMSwgMCkKKyAgICAgICAgYXV0byYgd2luZG93ID0gKnN0YXRpY19jYXN0PFdpbmRvd1ZpZXdC
YWNrZW5kKj4oZGF0YSk7CisgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfcmVtb3ZlX2FjdGl2aXR5
X3N0YXRlKHdpbmRvdy5iYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUg
fCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3Rh
dGVfaW5fd2luZG93KTsKKyNlbHNlCisgICAgICAgICh2b2lkKWRhdGE7CisjZW5kaWYKKyAgICB9
LAogfTsKIAogV2luZG93Vmlld0JhY2tlbmQ6OldpbmRvd1ZpZXdCYWNrZW5kKHVpbnQzMl90IHdp
ZHRoLCB1aW50MzJfdCBoZWlnaHQpCkBAIC00ODYsOSArNTIyLDEyIEBAIFdpbmRvd1ZpZXdCYWNr
ZW5kOjpXaW5kb3dWaWV3QmFja2VuZCh1aW50MzJfdCB3aWR0aCwgdWludDMyX3QgaGVpZ2h0KQog
ICAgICAgICB6eGRnX3N1cmZhY2VfdjZfYWRkX2xpc3RlbmVyKG1feGRnU3VyZmFjZSwgJnNfeGRn
U3VyZmFjZUxpc3RlbmVyLCBudWxscHRyKTsKICAgICAgICAgbV94ZGdUb3BsZXZlbCA9IHp4ZGdf
c3VyZmFjZV92Nl9nZXRfdG9wbGV2ZWwobV94ZGdTdXJmYWNlKTsKICAgICAgICAgaWYgKG1feGRn
VG9wbGV2ZWwpIHsKLSAgICAgICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfYWRkX2xpc3RlbmVyKG1f
eGRnVG9wbGV2ZWwsICZzX3hkZ1RvcGxldmVsTGlzdGVuZXIsIG51bGxwdHIpOworICAgICAgICAg
ICAgenhkZ190b3BsZXZlbF92Nl9hZGRfbGlzdGVuZXIobV94ZGdUb3BsZXZlbCwgJnNfeGRnVG9w
bGV2ZWxMaXN0ZW5lciwgdGhpcyk7CiAgICAgICAgICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF90
aXRsZShtX3hkZ1RvcGxldmVsLCAiV1BFIik7CiAgICAgICAgICAgICB3bF9zdXJmYWNlX2NvbW1p
dChtX3N1cmZhY2UpOworI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYg
V1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigxLCAxLCAwKQorICAgICAgICAgICAgd3BlX3ZpZXdf
YmFja2VuZF9hZGRfYWN0aXZpdHlfc3RhdGUoYmFja2VuZCgpLCB3cGVfdmlld19hY3Rpdml0eV9z
dGF0ZV92aXNpYmxlIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfaW5fd2luZG93KTsKKyNlbmRp
ZgogICAgICAgICB9CiAgICAgfQogCg==
</data>
<flag name="review"
          id="372924"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357307</attachid>
            <date>2018-12-14 01:18:49 -0800</date>
            <delta_ts>2018-12-14 01:18:49 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wpe-view-state.diff</filename>
            <type>text/plain</type>
            <size>17629</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggOWZiYWJlYTFlMmYuLjViNzUwN2EwZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDE4LTEyLTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbV1BFXSBVc2UgbmV3IHZpZXcgc3RhdGUgQVBJIGZyb20gbGlid3Bl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MDYK
KworICAgICAgICBSZXZpZXdlZCBieSDFvWFuIERvYmVyxaFlay4KKworICAgICAgICBSZW1vdmUg
V0tWaWV3U2V0Vmlld1N0YXRlIGZyb20gdGhlIEMgQVBJLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL3dwZS9XS0FQSUNhc3RXUEUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mvd3Bl
L1dLVmlldy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL3dwZS9XS1ZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcDoKKyAgICAgICAgKFdLV1BFOjpW
aWV3OjpWaWV3KTogQWRkIGltcGxlbWVudGF0aW9uIGZvciBhY3Rpdml0eV9zdGF0ZV9jaGFuZ2Vk
IHZmdW5jIG9mIHRoZSB2aWV3IGJhY2tlbmQgY2xpZW50Lik6CisgICAgICAgIChXS1dQRTo6Vmll
dzo6c2V0Vmlld1N0YXRlKTogUmVtb3ZlIHRoZSBkZWZhdWx0IGZsYWdzLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuaDoKKyAgICAgICAgKFdLV1BFOjpWaWV3OjpzZXRWaWV3
U3RhdGUgY29uc3QpOiBNYWtlIGl0IHByaXZhdGUuCisKIDIwMTgtMTItMTMgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBXZWIgSW5zcGVjdG9y
OiBPY2Nhc2lvbmFsIFVJUHJvY2VzcyBjcmFzaGVzIHVuZGVyIFdlYlBhZ2VQcm94eTo6c2hvd0lu
c3BlY3RvckluZGljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL3dwZS9XS0FQSUNhc3RXUEUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dw
ZS9XS0FQSUNhc3RXUEUuaAppbmRleCA0YmZlNmNjNjhiYy4uMWU2Nzg0MDAwZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dwZS9XS0FQSUNhc3RXUEUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy93cGUvV0tBUElDYXN0V1BFLmgKQEAgLTMy
LDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIldLVmlldy5oIgogI2luY2x1ZGUgIldlYkdyYW1tYXJE
ZXRhaWwuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4KIAogbmFtZXNwYWNl
IFdLV1BFIHsKIGNsYXNzIFZpZXc7CkBAIC00OCwxOCArNDcsNiBAQCBpbmxpbmUgUHJveHlpbmdS
ZWZQdHI8V2ViR3JhbW1hckRldGFpbD4gdG9BUEkoY29uc3QgV2ViQ29yZTo6R3JhbW1hckRldGFp
bCYgZ3JhbQogICAgIHJldHVybiBQcm94eWluZ1JlZlB0cjxXZWJHcmFtbWFyRGV0YWlsPihXZWJH
cmFtbWFyRGV0YWlsOjpjcmVhdGUoZ3JhbW1hckRldGFpbCkpOwogfQogCi1pbmxpbmUgT3B0aW9u
U2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IHRvVmlld1N0YXRlRmxhZ3MoV0tWaWV3
U3RhdGUgd2tWaWV3U3RhdGUpCi17Ci0gICAgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OkZsYWc+IHZpZXdTdGF0ZUZsYWdzOwotCi0gICAgaWYgKHdrVmlld1N0YXRlICYga1dLVmll
d1N0YXRlSXNJbldpbmRvdykKLSAgICAgICAgdmlld1N0YXRlRmxhZ3MuYWRkKFdlYkNvcmU6OkFj
dGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwotICAgIGlmICh3a1ZpZXdTdGF0ZSAmIGtXS1ZpZXdT
dGF0ZUlzVmlzaWJsZSkKLSAgICAgICAgdmlld1N0YXRlRmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGU6OklzVmlzaWJsZSk7Ci0KLSAgICByZXR1cm4gdmlld1N0YXRlRmxhZ3M7Ci19Ci0K
IH0KIAogI2VuZGlmIC8vIFdLQVBJQ2FzdFdQRV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy93cGUvV0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL3dwZS9XS1ZpZXcuY3BwCmluZGV4IDUwMTQ5ZmZlNDg3Li43OGJiYTM5NjdiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5jcHAKQEAgLTUwLDEx
ICs1MCw2IEBAIFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZiB2aWV3KQogICAgIHJl
dHVybiB0b0FQSSgmdG9JbXBsKHZpZXcpLT5wYWdlKCkpOwogfQogCi12b2lkIFdLVmlld1NldFZp
ZXdTdGF0ZShXS1ZpZXdSZWYgdmlldywgV0tWaWV3U3RhdGUgdmlld1N0YXRlKQotewotICAgIHRv
SW1wbCh2aWV3KS0+c2V0Vmlld1N0YXRlKHRvVmlld1N0YXRlRmxhZ3Modmlld1N0YXRlKSk7Ci19
Ci0KIHZvaWQgV0tWaWV3U2V0Vmlld0NsaWVudChXS1ZpZXdSZWYgdmlldywgY29uc3QgV0tWaWV3
Q2xpZW50QmFzZSogY2xpZW50KQogewogICAgIGNsYXNzIFZpZXdDbGllbnQgZmluYWwgOiBwdWJs
aWMgQVBJOjpDbGllbnQ8V0tWaWV3Q2xpZW50QmFzZT4sIHB1YmxpYyBBUEk6OlZpZXdDbGllbnQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mvd3BlL1dLVmlldy5oCmluZGV4IDExMTVh
MGVhZGQyLi44ZmI5ODM5NWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0Mvd3BlL1dLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL3dw
ZS9XS1ZpZXcuaApAQCAtMzksMTQgKzM5LDYgQEAgV0tfRVhQT1JUIFdLVmlld1JlZiBXS1ZpZXdD
cmVhdGUoc3RydWN0IHdwZV92aWV3X2JhY2tlbmQqLCBXS1BhZ2VDb25maWd1cmF0aW9uUmUKIAog
V0tfRVhQT1JUIFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZik7CiAKLWVudW0gewot
ICAgIGtXS1ZpZXdTdGF0ZUlzSW5XaW5kb3cgPSAxIDw8IDAsCi0gICAga1dLVmlld1N0YXRlSXNW
aXNpYmxlID0gMSA8PCAxLAotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tWaWV3U3RhdGU7Ci0KLVdL
X0VYUE9SVCB2b2lkIFdLVmlld1NldFZpZXdTdGF0ZShXS1ZpZXdSZWYsIFdLVmlld1N0YXRlKTsK
LQogdHlwZWRlZiB2b2lkICgqV0tWaWV3RnJhbWVEaXNwbGF5ZWQpKFdLVmlld1JlZiB2aWV3LCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0tWaWV3Q2xpZW50QmFz
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcAppbmRleCBm
ZmZjYjExZmVlNC4uYWZkYmQwN2RmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XUEVWaWV3LmNwcApAQCAtNDUsNyArNDUsOSBAQCBWaWV3OjpWaWV3KHN0cnVjdCB3cGVf
dmlld19iYWNrZW5kKiBiYWNrZW5kLCBjb25zdCBBUEk6OlBhZ2VDb25maWd1cmF0aW9uJiBiYXNl
QwogICAgIDogbV9jbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxBUEk6OlZpZXdDbGllbnQ+KCkpCiAg
ICAgLCBtX3BhZ2VDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ2xpZW50SW1wbD4oKnRoaXMp
KQogICAgICwgbV9zaXplIHsgODAwLCA2MDAgfQorI2lmICFkZWZpbmVkKFdQRV9CQUNLRU5EX0NI
RUNLX1ZFUlNJT04pIHx8ICFXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCiAgICAg
LCBtX3ZpZXdTdGF0ZUZsYWdzIHsgV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6V2luZG93SXNBY3Rp
dmUsIFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCwgV2ViQ29yZTo6QWN0aXZpdHlT
dGF0ZTo6SXNWaXNpYmxlLCBXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpJc0luV2luZG93IH0KKyNl
bmRpZgogICAgICwgbV9jb21wb3NpdGluZ01hbmFnZXJQcm94eSgqdGhpcykKICAgICAsIG1fYmFj
a2VuZChiYWNrZW5kKQogewpAQCAtODgsOCArOTAsMjYgQEAgVmlldzo6VmlldyhzdHJ1Y3Qgd3Bl
X3ZpZXdfYmFja2VuZCogYmFja2VuZCwgY29uc3QgQVBJOjpQYWdlQ29uZmlndXJhdGlvbiYgYmFz
ZUMKICAgICAgICAgICAgIGF1dG8mIHZpZXcgPSAqcmVpbnRlcnByZXRfY2FzdDxWaWV3Kj4oZGF0
YSk7CiAgICAgICAgICAgICB2aWV3LmZyYW1lRGlzcGxheWVkKCk7CiAgICAgICAgIH0sCi0gICAg
ICAgIC8vIHBhZGRpbmcKKyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYm
IFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICAgICAgLy8gYWN0aXZpdHlf
c3RhdGVfY2hhbmdlZAorICAgICAgICBbXSh2b2lkKiBkYXRhLCB1aW50MzJfdCBzdGF0ZSkKKyAg
ICAgICAgeworICAgICAgICAgICAgYXV0byYgdmlldyA9ICpyZWludGVycHJldF9jYXN0PFZpZXcq
PihkYXRhKTsKKyAgICAgICAgICAgIE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpG
bGFnPiBmbGFnczsKKyAgICAgICAgICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3X2FjdGl2aXR5X3N0
YXRlX3Zpc2libGUpCisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkFjdGl2aXR5
U3RhdGU6OklzVmlzaWJsZSk7CisgICAgICAgICAgICBpZiAoc3RhdGUgJiB3cGVfdmlld19hY3Rp
dml0eV9zdGF0ZV9mb2N1c2VkKSB7CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6
OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCk7CisgICAgICAgICAgICAgICAgZmxhZ3MuYWRkKFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OldpbmRvd0lzQWN0aXZlKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmIChzdGF0ZSAmIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRvdykK
KyAgICAgICAgICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldp
bmRvdyk7CisgICAgICAgICAgICB2aWV3LnNldFZpZXdTdGF0ZShmbGFncyk7CisgICAgICAgIH0s
CisjZWxzZQogICAgICAgICBudWxscHRyLAorI2VuZGlmCisgICAgICAgIC8vIHBhZGRpbmcKICAg
ICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0cgpAQCAtMTc0
LDEwICsxOTQsOCBAQCB2b2lkIFZpZXc6OnNldFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2l6ZSkKIAogdm9pZCBWaWV3OjpzZXRWaWV3U3RhdGUoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGU6OkZsYWc+IGZsYWdzKQogewotICAgIHN0YXRpYyBjb25zdCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZGVmYXVsdEZsYWdzIHsgV2ViQ29yZTo6QWN0aXZp
dHlTdGF0ZTo6V2luZG93SXNBY3RpdmUsIFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9jdXNl
ZCB9OwotCi0gICAgYXV0byBjaGFuZ2VkRmxhZ3MgPSBtX3ZpZXdTdGF0ZUZsYWdzIF4gKGRlZmF1
bHRGbGFncyB8IGZsYWdzKTsKLSAgICBtX3ZpZXdTdGF0ZUZsYWdzID0gZGVmYXVsdEZsYWdzIHwg
ZmxhZ3M7CisgICAgYXV0byBjaGFuZ2VkRmxhZ3MgPSBtX3ZpZXdTdGF0ZUZsYWdzIF4gZmxhZ3M7
CisgICAgbV92aWV3U3RhdGVGbGFncyA9IGZsYWdzOwogCiAgICAgaWYgKGNoYW5nZWRGbGFncykK
ICAgICAgICAgbV9wYWdlUHJveHktPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoY2hhbmdlZEZsYWdz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmgKaW5kZXggMmFiNDg1
MzBlYTEuLjk5YmYyNzg5NzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dQRVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQ
RVZpZXcuaApAQCAtNjksNyArNjksNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogCiAgICAgT3B0aW9uU2V0PFdl
YkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IHZpZXdTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmlld1N0YXRlRmxhZ3M7IH0KLSAgICB2b2lkIHNldFZpZXdTdGF0ZShPcHRpb25TZXQ8V2ViQ29y
ZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4pOwogCiAgICAgdm9pZCBjbG9zZSgpOwogCkBAIC04Miw2
ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgVmlldyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCosIGNv
bnN0IEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24mKTsKIAogICAgIHZvaWQgc2V0U2l6ZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJik7CisgICAgdm9pZCBzZXRWaWV3U3RhdGUoT3B0aW9uU2V0PFdlYkNv
cmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+KTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBUEk6OlZp
ZXdDbGllbnQ+IG1fY2xpZW50OwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNTM1NjdjZGRiNjAuLjgwMWVkNDQxMDQ0IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTgtMTItMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtXUEVdIFVzZSBuZXcgdmlldyBzdGF0ZSBBUEkgZnJvbSBsaWJ3cGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTkwNgorCisgICAgICAg
IFJldmlld2VkIGJ5IMW9YW4gRG9iZXLFoWVrLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKGJlZm9yZUFs
bCk6IEVuYWJsZSAvd2Via2l0L1dlYktpdFdlYlZpZXcvcGFnZS12aXNpYmlsaXR5IGluIFdQRS4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5oOgorICAg
ICAgICAoVGVzdDo6Y3JlYXRlV2ViVmlld0JhY2tlbmQpOiBNYWtlIHRoZSB2aWV3IGluaXRpYWxs
eSBoaWRkZW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggR1RLKyB0ZXN0cy4KKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHA6CisgICAgICAg
IChXZWJWaWV3VGVzdDo6c2hvd0luV2luZG93KTogQWRkIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRl
X3Zpc2libGUsIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRvdyBhbmQKKyAgICAgICAg
d3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCBzdGF0ZSBmbGFncy4KKyAgICAgICAgKFdl
YlZpZXdUZXN0OjpoaWRlVmlldyk6IFJlbW92ZSB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV92aXNp
YmxlIGFuZCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHN0YXRlIGZsYWdzLgorICAg
ICAgICAqIHdwZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdQ
RVRvb2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3QmFja2VuZDo6SGVhZGxlc3NWaWV3QmFja2Vu
ZCk6IEFzc3VtZSB2aWV3IGlzIGFsd2F5cyB2aXNpYmxlLCBmb2N1c2VkIGFuZCBpbiB3aW5kb3cu
CisgICAgICAgICogd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5kLmNwcDoKKyAgICAgICAg
KFdQRVRvb2xpbmdCYWNrZW5kczo6V2luZG93Vmlld0JhY2tlbmQ6OldpbmRvd1ZpZXdCYWNrZW5k
KTogVXBkYXRlIHRoZSB2aWV3IHN0YXRlIGZsYWdzIGRlcGVuZGluZyBvbiBzdGF0ZQorICAgICAg
ICByZWNlaXZlZCBpbiBjb25maWd1cmUgY2FsbGJhY2suCisgICAgICAgICogd3BlL2poYnVpbGQu
bW9kdWxlczogQnVtcCBsaWJ3cGUgdG8gMS4xLjAKKwogMjAxOC0xMi0xMyAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dW0NsYW5n
XSBETExMYXVuY2hlck1haW4uY3BwOiB3YXJuaW5nOiB1bnVzZWQgZnVuY3Rpb24gJ3ByZXBlbmRQ
YXRoJyBhbmQgJ2FwcGxlQXBwbGljYXRpb25TdXBwb3J0RGlyZWN0b3J5JwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJWaWV3LmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmll
dy5jcHAKaW5kZXggYmE5MTAyNDMzMjguLjQ1ZWMxZTVhOGFhIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYlZpZXcuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0V2ViVmlldy5j
cHAKQEAgLTcxNCw3ICs3MTQsNiBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1NhdmUoU2F2ZVdl
YlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdfYXNzZXJ0X2NtcGludChnX2Zp
bGVfaW5mb19nZXRfc2l6ZShmaWxlSW5mby5nZXQoKSksID09LCB0b3RhbEJ5dGVzRnJvbVN0cmVh
bSk7CiB9CiAKLSNpZiBQTEFURk9STShHVEspCiAvLyBUbyB0ZXN0IHBhZ2UgdmlzaWJpbGl0eSBB
UEkuIEN1cnJlbnRseSBvbmx5ICd2aXNpYmxlJywgJ2hpZGRlbicgYW5kICdwcmVyZW5kZXInIHN0
YXRlcyBhcmUgaW1wbGVtZW50ZWQgZnVsbHkgaW4gV2ViQ29yZS4KIC8vIFNlZSBhbHNvIGh0dHA6
Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtcGFnZS12aXNpYmlsaXR5LTIwMTEwNjAyLyBhbmQgaHR0
cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vY2hyb21lL3doaXRlcGFwZXJzL3BhZ2V2aXNpYmls
aXR5CiBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1BhZ2VWaXNpYmlsaXR5KFdlYlZpZXdUZXN0KiB0
ZXN0LCBnY29uc3Rwb2ludGVyKQpAQCAtNzc2LDYgKzc3NSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RX
ZWJWaWV3UGFnZVZpc2liaWxpdHkoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAg
ICAgZ19hc3NlcnQoV2ViVmlld1Rlc3Q6OmphdmFzY3JpcHRSZXN1bHRUb0Jvb2xlYW4oamF2YXNj
cmlwdFJlc3VsdCkpOwogfQogCisjaWYgUExBVEZPUk0oR1RLKQogY2xhc3MgU25hcHNob3RXZWJW
aWV3VGVzdDogcHVibGljIFdlYlZpZXdUZXN0IHsKIHB1YmxpYzoKICAgICBNQUtFX0dMSUJfVEVT
VF9GSVhUVVJFKFNuYXBzaG90V2ViVmlld1Rlc3QpOwpAQCAtMTI2MSw4ICsxMjYxLDggQEAgdm9p
ZCBiZWZvcmVBbGwoKQogICAgIC8vIEZJWE1FOiBWaWV3IGlzIGluaXRpYWxseSB2aXNpYmxlIGlu
IFdQRSBhbmQgaGFzIGEgZml4ZWQgaGFyZGNvZGVkIHNpemUuCiAjaWYgUExBVEZPUk0oR1RLKQog
ICAgIFNuYXBzaG90V2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJzbmFwc2hvdCIs
IHRlc3RXZWJWaWV3U25hcHNob3QpOwotICAgIFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZp
ZXciLCAicGFnZS12aXNpYmlsaXR5IiwgdGVzdFdlYlZpZXdQYWdlVmlzaWJpbGl0eSk7CiAjZW5k
aWYKKyAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInBhZ2UtdmlzaWJpbGl0
eSIsIHRlc3RXZWJWaWV3UGFnZVZpc2liaWxpdHkpOwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQogICAgIE5vdGlmaWNhdGlvbldlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAibm90
aWZpY2F0aW9uIiwgdGVzdFdlYlZpZXdOb3RpZmljYXRpb24pOwogICAgIE5vdGlmaWNhdGlvbldl
YlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAibm90aWZpY2F0aW9uLWluaXRpYWwtcGVy
bWlzc2lvbi1hbGxvd2VkIiwgdGVzdFdlYlZpZXdOb3RpZmljYXRpb25Jbml0aWFsUGVybWlzc2lv
bkFsbG93ZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdM
aWIvVGVzdE1haW4uaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1Rlc3RN
YWluLmgKaW5kZXggNTdhMmQyMDIzNjQuLjMxM2YyMTc3MWJjIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9UZXN0TWFpbi5oCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1Rlc3RNYWluLmgKQEAgLTE0Myw2ICsxNDMsMTAgQEAg
cHVibGljOgogICAgIHN0YXRpYyBXZWJLaXRXZWJWaWV3QmFja2VuZCogY3JlYXRlV2ViVmlld0Jh
Y2tlbmQoKQogICAgIHsKICAgICAgICAgYXV0byogaGVhZGxlc3NCYWNrZW5kID0gbmV3IFdQRVRv
b2xpbmdCYWNrZW5kczo6SGVhZGxlc3NWaWV3QmFja2VuZCg4MDAsIDYwMCk7CisjaWYgZGVmaW5l
ZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9O
KDEsIDEsIDApCisgICAgICAgIC8vIE1ha2UgdGhlIHZpZXcgaW5pdGlhbGx5IGhpZGRlbiBmb3Ig
Y29uc2lzdGVuY3kgd2l0aCBHVEsrIHRlc3RzLgorICAgICAgICB3cGVfdmlld19iYWNrZW5kX3Jl
bW92ZV9hY3Rpdml0eV9zdGF0ZShoZWFkbGVzc0JhY2tlbmQtPmJhY2tlbmQoKSwgd3BlX3ZpZXdf
YWN0aXZpdHlfc3RhdGVfdmlzaWJsZSB8IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQp
OworI2VuZGlmCiAgICAgICAgIHJldHVybiB3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9uZXcoaGVh
ZGxlc3NCYWNrZW5kLT5iYWNrZW5kKCksIFtdKGdwb2ludGVyIHVzZXJEYXRhKSB7CiAgICAgICAg
ICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V1BFVG9vbGluZ0JhY2tlbmRzOjpIZWFkbGVzc1ZpZXdC
YWNrZW5kKj4odXNlckRhdGEpOwogICAgICAgICB9LCBoZWFkbGVzc0JhY2tlbmQpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViVmlld1Rlc3QuaCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmgKaW5kZXgg
MmQyYjMxZjc4YjcuLjNkNGQ1MTFiYzg3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGVtaXRQb3B1cE1lbnVTaWduYWwoKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0o
V1BFKQorICAgIHZvaWQgc2hvd0luV2luZG93KCk7CisjZW5kaWYKKwogICAgIFdlYktpdEphdmFz
Y3JpcHRSZXN1bHQqIHJ1bkphdmFTY3JpcHRBbmRXYWl0VW50aWxGaW5pc2hlZChjb25zdCBjaGFy
KiBqYXZhc2NyaXB0LCBHRXJyb3IqKik7CiAgICAgV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCogcnVu
SmF2YVNjcmlwdEZyb21HUmVzb3VyY2VBbmRXYWl0VW50aWxGaW5pc2hlZChjb25zdCBjaGFyKiBy
ZXNvdXJjZSwgR0Vycm9yKiopOwogICAgIFdlYktpdEphdmFzY3JpcHRSZXN1bHQqIHJ1bkphdmFT
Y3JpcHRJbldvcmxkQW5kV2FpdFVudGlsRmluaXNoZWQoY29uc3QgY2hhciogamF2YXNjcmlwdCwg
Y29uc3QgY2hhciogd29ybGQsIEdFcnJvcioqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvZ2xpYi9XZWJLaXRHTGliL3dwZS9XZWJWaWV3VGVzdFdQRS5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi93cGUvV2ViVmlld1Rlc3RXUEUuY3BwCmluZGV4IGNj
ZjE1YzIxMzc1Li42NDk0MTg2YTg3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9n
bGliL1dlYktpdEdMaWIvd3BlL1dlYlZpZXdUZXN0V1BFLmNwcAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2dsaWIvV2ViS2l0R0xpYi93cGUvV2ViVmlld1Rlc3RXUEUuY3BwCkBAIC0yMCw2ICsy
MCw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViVmlld1Rlc3QuaCIKIAor
I2luY2x1ZGUgPHdwZS93cGUuaD4KKwogdm9pZCBXZWJWaWV3VGVzdDo6cGxhdGZvcm1EZXN0cm95
KCkKIHsKIH0KQEAgLTM5LDkgKzQxLDIwIEBAIHZvaWQgV2ViVmlld1Rlc3Q6OnJlc2l6ZVZpZXco
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCiB9CiAKK3Zv
aWQgV2ViVmlld1Rlc3Q6OnNob3dJbldpbmRvdygpCit7CisjaWYgZGVmaW5lZChXUEVfQkFDS0VO
RF9DSEVDS19WRVJTSU9OKSAmJiBXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCisg
ICAgYXV0byogYmFja2VuZCA9IHdlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF93cGVfYmFja2Vu
ZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tlbmQobV93ZWJWaWV3KSk7CisgICAgd3BlX3ZpZXdf
YmFja2VuZF9hZGRfYWN0aXZpdHlfc3RhdGUoYmFja2VuZCwgd3BlX3ZpZXdfYWN0aXZpdHlfc3Rh
dGVfdmlzaWJsZSB8IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2luX3dpbmRvdyB8IHdwZV92aWV3
X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQpOworI2VuZGlmCit9CisKIHZvaWQgV2ViVmlld1Rlc3Q6
OmhpZGVWaWV3KCkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50LgorI2lmIGRlZmluZWQoV1BF
X0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigxLCAx
LCAwKQorICAgIGF1dG8qIGJhY2tlbmQgPSB3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfd3Bl
X2JhY2tlbmQod2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kKG1fd2ViVmlldykpOworICAgIHdw
ZV92aWV3X2JhY2tlbmRfcmVtb3ZlX2FjdGl2aXR5X3N0YXRlKGJhY2tlbmQsIHdwZV92aWV3X2Fj
dGl2aXR5X3N0YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkKTsK
KyNlbmRpZgogfQogCiB2b2lkIFdlYlZpZXdUZXN0Ojptb3VzZU1vdmVUbyhpbnQgeCwgaW50IHks
IHVuc2lnbmVkIG1vdXNlTW9kaWZpZXJzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2JhY2tlbmRz
L0hlYWRsZXNzVmlld0JhY2tlbmQuY3BwIGIvVG9vbHMvd3BlL2JhY2tlbmRzL0hlYWRsZXNzVmll
d0JhY2tlbmQuY3BwCmluZGV4IGVkMWFkYTQzOWJhLi44ZTEyZWU2Y2U4OSAxMDA2NDQKLS0tIGEv
VG9vbHMvd3BlL2JhY2tlbmRzL0hlYWRsZXNzVmlld0JhY2tlbmQuY3BwCisrKyBiL1Rvb2xzL3dw
ZS9iYWNrZW5kcy9IZWFkbGVzc1ZpZXdCYWNrZW5kLmNwcApAQCAtNzIsNiArNzIsMTAgQEAgSGVh
ZGxlc3NWaWV3QmFja2VuZDo6SGVhZGxlc3NWaWV3QmFja2VuZCh1aW50MzJfdCB3aWR0aCwgdWlu
dDMyX3QgaGVpZ2h0KQogICAgIGlmICghaW5pdGlhbGl6ZSgpKQogICAgICAgICByZXR1cm47CiAK
KyNpZiBkZWZpbmVkKFdQRV9CQUNLRU5EX0NIRUNLX1ZFUlNJT04pICYmIFdQRV9CQUNLRU5EX0NI
RUNLX1ZFUlNJT04oMSwgMSwgMCkKKyAgICB3cGVfdmlld19iYWNrZW5kX2FkZF9hY3Rpdml0eV9z
dGF0ZShiYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX3Zpc2libGUgfCB3cGVfdmll
d19hY3Rpdml0eV9zdGF0ZV9mb2N1c2VkIHwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfaW5fd2lu
ZG93KTsKKyNlbmRpZgorCiAgICAgaWYgKCFlZ2xNYWtlQ3VycmVudChtX2VnbERpc3BsYXksIEVH
TF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgbV9lZ2xDb250ZXh0KSkKICAgICAgICAgcmV0
dXJuOwogCmRpZmYgLS1naXQgYS9Ub29scy93cGUvYmFja2VuZHMvV2luZG93Vmlld0JhY2tlbmQu
Y3BwIGIvVG9vbHMvd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNrZW5kLmNwcAppbmRleCA2NTIy
MWUxZGIxNi4uMjBmMDNiODBiYWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3dwZS9iYWNrZW5kcy9XaW5k
b3dWaWV3QmFja2VuZC5jcHAKKysrIGIvVG9vbHMvd3BlL2JhY2tlbmRzL1dpbmRvd1ZpZXdCYWNr
ZW5kLmNwcApAQCAtNDM0LDEyICs0MzQsNDggQEAgY29uc3Qgc3RydWN0IHp4ZGdfc3VyZmFjZV92
Nl9saXN0ZW5lciBXaW5kb3dWaWV3QmFja2VuZDo6c194ZGdTdXJmYWNlTGlzdGVuZXIgPQogCiBj
b25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Nl9saXN0ZW5lciBXaW5kb3dWaWV3QmFja2VuZDo6
c194ZGdUb3BsZXZlbExpc3RlbmVyID0gewogICAgIC8vIGNvbmZpZ3VyZQotICAgIFtdKHZvaWQq
LCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiosIGludDMyX3QgLyp3aWR0aCovLCBpbnQzMl90IC8q
aGVpZ2h0Ki8sIHN0cnVjdCB3bF9hcnJheSopCisgICAgW10odm9pZCogZGF0YSwgc3RydWN0IHp4
ZGdfdG9wbGV2ZWxfdjYqLCBpbnQzMl90IHdpZHRoLCBpbnQzMl90IGhlaWdodCwgc3RydWN0IHds
X2FycmF5KiBzdGF0ZXMpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogZGlzcGF0Y2ggdGhlIHNp
emUgYWdhaW5zdCB3cGVfdmlld19iYWNrZW5kLgorICAgICAgICBhdXRvJiB3aW5kb3cgPSAqc3Rh
dGljX2Nhc3Q8V2luZG93Vmlld0JhY2tlbmQqPihkYXRhKTsKKyAgICAgICAgd3BlX3ZpZXdfYmFj
a2VuZF9kaXNwYXRjaF9zZXRfc2l6ZSh3aW5kb3cuYmFja2VuZCgpLCB3aWR0aCwgaGVpZ2h0KTsK
KworI2lmIGRlZmluZWQoV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRf
Q0hFQ0tfVkVSU0lPTigxLCAxLCAwKQorICAgICAgICBib29sIGlzRm9jdXNlZCA9IGZhbHNlOwor
ICAgICAgICB2b2lkKiBwOworICAgICAgICB3bF9hcnJheV9mb3JfZWFjaChwLCBzdGF0ZXMpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQzMl90IHN0YXRlID0gKnN0YXRpY19jYXN0PHVpbnQz
Ml90Kj4ocCk7CisKKyAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICAgICAgICAgIGNh
c2UgWlhER19UT1BMRVZFTF9WNl9TVEFURV9BQ1RJVkFURUQ6CisgICAgICAgICAgICAgICAgaXNG
b2N1c2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
WlhER19UT1BMRVZFTF9WNl9TVEFURV9GVUxMU0NSRUVOOgorICAgICAgICAgICAgY2FzZSBaWERH
X1RPUExFVkVMX1Y2X1NUQVRFX01BWElNSVpFRDoKKyAgICAgICAgICAgIGNhc2UgWlhER19UT1BM
RVZFTF9WNl9TVEFURV9SRVNJWklORzoKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoaXNG
b2N1c2VkKQorICAgICAgICAgICAgd3BlX3ZpZXdfYmFja2VuZF9hZGRfYWN0aXZpdHlfc3RhdGUo
d2luZG93LmJhY2tlbmQoKSwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfZm9jdXNlZCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHdwZV92aWV3X2JhY2tlbmRfcmVtb3ZlX2FjdGl2aXR5X3N0
YXRlKHdpbmRvdy5iYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQpOwor
I2Vsc2UKKyAgICAgICAgKHZvaWQpc3RhdGVzOworI2VuZGlmCiAgICAgfSwKICAgICAvLyBjbG9z
ZQotICAgIFtdKHZvaWQqLCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiopIHsgfSwKKyAgICBbXSh2
b2lkKiBkYXRhLCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiopCisgICAgeworI2lmIGRlZmluZWQo
V1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTikgJiYgV1BFX0JBQ0tFTkRfQ0hFQ0tfVkVSU0lPTigx
LCAxLCAwKQorICAgICAgICBhdXRvJiB3aW5kb3cgPSAqc3RhdGljX2Nhc3Q8V2luZG93Vmlld0Jh
Y2tlbmQqPihkYXRhKTsKKyAgICAgICAgd3BlX3ZpZXdfYmFja2VuZF9yZW1vdmVfYWN0aXZpdHlf
c3RhdGUod2luZG93LmJhY2tlbmQoKSwgd3BlX3ZpZXdfYWN0aXZpdHlfc3RhdGVfdmlzaWJsZSB8
IHdwZV92aWV3X2FjdGl2aXR5X3N0YXRlX2ZvY3VzZWQgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0
ZV9pbl93aW5kb3cpOworI2Vsc2UKKyAgICAgICAgKHZvaWQpZGF0YTsKKyNlbmRpZgorICAgIH0s
CiB9OwogCiBXaW5kb3dWaWV3QmFja2VuZDo6V2luZG93Vmlld0JhY2tlbmQodWludDMyX3Qgd2lk
dGgsIHVpbnQzMl90IGhlaWdodCkKQEAgLTQ4Niw5ICs1MjIsMTIgQEAgV2luZG93Vmlld0JhY2tl
bmQ6OldpbmRvd1ZpZXdCYWNrZW5kKHVpbnQzMl90IHdpZHRoLCB1aW50MzJfdCBoZWlnaHQpCiAg
ICAgICAgIHp4ZGdfc3VyZmFjZV92Nl9hZGRfbGlzdGVuZXIobV94ZGdTdXJmYWNlLCAmc194ZGdT
dXJmYWNlTGlzdGVuZXIsIG51bGxwdHIpOwogICAgICAgICBtX3hkZ1RvcGxldmVsID0genhkZ19z
dXJmYWNlX3Y2X2dldF90b3BsZXZlbChtX3hkZ1N1cmZhY2UpOwogICAgICAgICBpZiAobV94ZGdU
b3BsZXZlbCkgewotICAgICAgICAgICAgenhkZ190b3BsZXZlbF92Nl9hZGRfbGlzdGVuZXIobV94
ZGdUb3BsZXZlbCwgJnNfeGRnVG9wbGV2ZWxMaXN0ZW5lciwgbnVsbHB0cik7CisgICAgICAgICAg
ICB6eGRnX3RvcGxldmVsX3Y2X2FkZF9saXN0ZW5lcihtX3hkZ1RvcGxldmVsLCAmc194ZGdUb3Bs
ZXZlbExpc3RlbmVyLCB0aGlzKTsKICAgICAgICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3Rp
dGxlKG1feGRnVG9wbGV2ZWwsICJXUEUiKTsKICAgICAgICAgICAgIHdsX3N1cmZhY2VfY29tbWl0
KG1fc3VyZmFjZSk7CisjaWYgZGVmaW5lZChXUEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKSAmJiBX
UEVfQkFDS0VORF9DSEVDS19WRVJTSU9OKDEsIDEsIDApCisgICAgICAgICAgICB3cGVfdmlld19i
YWNrZW5kX2FkZF9hY3Rpdml0eV9zdGF0ZShiYWNrZW5kKCksIHdwZV92aWV3X2FjdGl2aXR5X3N0
YXRlX3Zpc2libGUgfCB3cGVfdmlld19hY3Rpdml0eV9zdGF0ZV9pbl93aW5kb3cpOworI2VuZGlm
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9qaGJ1aWxkLm1vZHVs
ZXMgYi9Ub29scy93cGUvamhidWlsZC5tb2R1bGVzCmluZGV4IGVkYzI2Y2Q2YjEzLi44NWI2MzI4
ODBlZiAxMDA2NDQKLS0tIGEvVG9vbHMvd3BlL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy93
cGUvamhidWlsZC5tb2R1bGVzCkBAIC0xNjYsOCArMTY2LDggQEAKICAgPC9hdXRvdG9vbHM+CiAK
ICAgPGNtYWtlIGlkPSJsaWJ3cGUiPgotICAgICAgPGJyYW5jaCByZXBvPSJ3cGV3ZWJraXQiIG1v
ZHVsZT0ibGlid3BlLTEuMC4wLnRhci54eiIgdmVyc2lvbj0iMS4wLjAiCi0gICAgICAgICAgICAg
IGhhc2g9InNoYTI1NjphZmYxMTYxMjEyM2Y5YWI4NWE4YjlhNGJjZGZiM2E3NTAzZWJhMGEwZDJk
OTZmMmNkZWNkMzBlOTExMDkxNzE5IiAvPgorICAgICAgPGJyYW5jaCByZXBvPSJ3cGV3ZWJraXQi
IG1vZHVsZT0ibGlid3BlLTEuMS4wLnRhci54eiIgdmVyc2lvbj0iMS4xLjAiCisgICAgICAgICAg
ICAgIGhhc2g9InNoYTI1Njo3MmUzNGFkNzU0YmUxMWFiZDFhNDM4Y2ZlMTk1ZDhkNjQ0YzUyMTA1
YWIyYjFjM2IzOWRlYzYyMjhiYzc3NmNlIi8+CiAgIDwvY21ha2U+CiAKICAgPGNtYWtlIGlkPSJ3
cGViYWNrZW5kLWZkbyI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>