<?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>118585</bug_id>
          
          <creation_ts>2013-07-11 23:55:17 -0700</creation_ts>
          <short_desc>[WK2] Share Qt port&apos;s codes to find zoomable area with CoordinatedGraphics.</short_desc>
          <delta_ts>2013-07-18 19:10:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>118588</dependson>
          <blocked>107631</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eunmi Lee">enmi.lee</reporter>
          <assigned_to name="Eunmi Lee">enmi.lee</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gmak</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>luiz</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>907833</commentid>
    <comment_count>0</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-11 23:55:17 -0700</bug_when>
    <thetext>The codes to find zoomable area will be used in the coordinated graphics, so modify codes for Qt port to share with coordinated graphics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907835</commentid>
    <comment_count>1</comment_count>
      <attachid>206509</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 00:11:08 -0700</bug_when>
    <thetext>Created attachment 206509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907850</commentid>
    <comment_count>2</comment_count>
      <attachid>206509</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-12 01:07:43 -0700</bug_when>
    <thetext>Comment on attachment 206509
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2952
&gt; +#if PLATFORM(QT) || USE(COORDINATED_GRAPHICS)

No need for #if PLATFORM(QT) here
Qt already uses coordinated graphics.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2953
&gt; +void WebPageProxy::findZoomableAreaForPoint(const IntPoint&amp; point, const IntSize&amp; area)

Maybe we can put this in a new file (WebPageProxyCoordinatedGraphics)?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3221
&gt; +    IntRect zoomableArea = node-&gt;pixelSnappedBoundingBox();

This seems like a separate fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907852</commentid>
    <comment_count>3</comment_count>
      <attachid>206509</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 01:16:42 -0700</bug_when>
    <thetext>Comment on attachment 206509
Patch

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

Thank you for comments :)

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2952
&gt;&gt; +#if PLATFORM(QT) || USE(COORDINATED_GRAPHICS)
&gt; 
&gt; No need for #if PLATFORM(QT) here
&gt; Qt already uses coordinated graphics.

That&apos;s good, I will modify all &quot;PLATFORM(QT) || USE(COORDINATED_GRAPHICS)&quot;.

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2953
&gt;&gt; +void WebPageProxy::findZoomableAreaForPoint(const IntPoint&amp; point, const IntSize&amp; area)
&gt; 
&gt; Maybe we can put this in a new file (WebPageProxyCoordinatedGraphics)?

OK. I will add WebPageProxyCoordinatedGraphics.cpp.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3221
&gt;&gt; +    IntRect zoomableArea = node-&gt;pixelSnappedBoundingBox();
&gt; 
&gt; This seems like a separate fix

Right. I will make separate patch for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907921</commentid>
    <comment_count>4</comment_count>
      <attachid>206529</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-12 05:57:03 -0700</bug_when>
    <thetext>Created attachment 206529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909560</commentid>
    <comment_count>5</comment_count>
      <attachid>206529</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-17 19:21:07 -0700</bug_when>
    <thetext>Comment on attachment 206529
Patch

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

I&apos;m ok with the change in general, but the Changelog needs to be rewritten and it needs owner approval since it touches WebPage.*.

&gt; Source/WebKit2/ChangeLog:13
&gt; +        The codes to find zoomable area will be used in the coordinated graphics,
&gt; +        so modify codes to be able to be used not only in the Qt port but also
&gt; +        coordinated graphics.
&gt; +
&gt; +        Additionally, Add the WKViewFindZoomableAreaForRect API and didFindZoomableArea
&gt; +        callback for coordinated graphics and they will be used in the EFL port.

Please use correct English.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909661</commentid>
    <comment_count>6</comment_count>
      <attachid>206529</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-18 01:47:11 -0700</bug_when>
    <thetext>Comment on attachment 206529
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:13
&gt;&gt; +        callback for coordinated graphics and they will be used in the EFL port.
&gt; 
&gt; Please use correct English.

OK, I will re-write the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909675</commentid>
    <comment_count>7</comment_count>
      <attachid>206972</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-18 02:29:36 -0700</bug_when>
    <thetext>Created attachment 206972
Patch

Update changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909678</commentid>
    <comment_count>8</comment_count>
      <attachid>206972</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-18 02:38:18 -0700</bug_when>
    <thetext>Comment on attachment 206972
Patch

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

I&apos;m ok with this, but it touches PageClient.h so please ask for WK2 owner review.

&gt; Source/WebKit2/ChangeLog:11
&gt; +        to use that fuction, so extend codes for Qt port to be usable in the
&gt; +        CoordinatedGraphics and add API and callback to use that.

extend codes for Qt port -&gt; extract the code from the Qt port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909705</commentid>
    <comment_count>9</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-18 04:52:57 -0700</bug_when>
    <thetext>OK, thanks for review!

(In reply to comment #8)
&gt; (From update of attachment 206972 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206972&amp;action=review
&gt; 
&gt; I&apos;m ok with this, but it touches PageClient.h so please ask for WK2 owner review.
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        to use that fuction, so extend codes for Qt port to be usable in the
&gt; &gt; +        CoordinatedGraphics and add API and callback to use that.
&gt; 
&gt; extend codes for Qt port -&gt; extract the code from the Qt port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909708</commentid>
    <comment_count>10</comment_count>
      <attachid>206982</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2013-07-18 05:02:23 -0700</bug_when>
    <thetext>Created attachment 206982
Patch

Update changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909709</commentid>
    <comment_count>11</comment_count>
      <attachid>206982</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-18 05:08:36 -0700</bug_when>
    <thetext>Comment on attachment 206982
Patch

LGTM, requires owner approval.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909958</commentid>
    <comment_count>12</comment_count>
      <attachid>206982</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-18 19:10:54 -0700</bug_when>
    <thetext>Comment on attachment 206982
Patch

Clearing flags on attachment: 206982

Committed r152878: &lt;http://trac.webkit.org/changeset/152878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909959</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-18 19:10:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206509</attachid>
            <date>2013-07-12 00:11:08 -0700</date>
            <delta_ts>2013-07-12 05:56:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118585-20130712160851.patch</filename>
            <type>text/plain</type>
            <size>19791</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM2ZjMwYmExMDgyYTEy
MTI3YWQ3OTcyYTFkZThiY2I0MjM5YjYxNS4uZjU2ODlkZmUwNDVhOTE5ZTY4YjU1NjMzOWE1NDE2
ZTUzMjM5M2M4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA3LTExICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBTaGFyZSBRdCBwb3J0
J3MgY29kZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpdGggY29vcmRpbmF0ZWQgZ3JhcGhpY3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1ODUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29k
ZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpbGwgYmUgdXNlZCBpbiB0aGUgY29vcmRpbmF0ZWQg
Z3JhcGhpY3MsCisgICAgICAgIHNvIG1vZGlmeSBjb2RlcyB0byBiZSBhYmxlIHRvIGJlIHVzZWQg
bm90IG9ubHkgaW4gdGhlIFF0IHBvcnQgYnV0IGFsc28KKyAgICAgICAgY29vcmRpbmF0ZWQgZ3Jh
cGhpY3MuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBBZGQgdGhlIFdLVmlld0ZpbmRab29tYWJs
ZUFyZWFGb3JSZWN0IEFQSSBhbmQgZGlkRmluZFpvb21hYmxlQXJlYQorICAgICAgICBjYWxsYmFj
ayBmb3IgY29vcmRpbmF0ZWQgZ3JhcGhpY3MgYW5kIHRoZXkgd2lsbCBiZSB1c2VkIGluIHRoZSBF
RkwgcG9ydC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5jcHA6CisgICAgICAgIChXS1ZpZXdGaW5kWm9vbWFibGVBcmVhRm9yUmVjdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3
OjpkaWRGaW5kWm9vbWFibGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZEZpbmRab29tYWJsZUFyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3OjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlld0NsaWVudDo6ZGlkRmluZFpvb21hYmxlQXJlYSk6CisgICAgICAgICog
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZmluZFpvb21hYmxlQXJlYUZv
clBvaW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRGaW5kWm9vbWFibGVB
cmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZs
L1ZpZXdDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRG
aW5kWm9vbWFibGVBcmVhKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0Ns
aWVudEVmbCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmZpbmRa
b29tYWJsZUFyZWFGb3JQb2ludCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoK
KwogMjAxMy0wNy0xMCAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFBsdWdpbnMgdGhhdCBkb24ndCBzdXBwb3J0IHNuYXBzaG90dGluZyBzaG91bGQgbm90IGFs
bCBhdXRvc3RhcnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcAppbmRleCA0NjczNjVmNTE5Njg2
YWU3OTk4NDA2MDJjZDg3ZTRmNzNiYWVmY2QzLi4yZWQ3NGQzNzZlN2RlMWRiMTc5ZTg3YjRiMWRj
YTEyMGVlMWQyMDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHAKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tWaWV3UmVm
IFdLVmlld0NyZWF0ZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwUmVmKQpAQCAtMTg4LDQgKzE4OSwxMCBAQCBkb3VibGUgV0tWaWV3T3BhY2l0eShXS1Zp
ZXdSZWYgdmlldykKICAgICByZXR1cm4gdG9JbXBsKHZpZXcpLT5vcGFjaXR5KCk7CiB9CiAKK3Zv
aWQgV0tWaWV3RmluZFpvb21hYmxlQXJlYUZvclJlY3QoV0tWaWV3UmVmIHZpZXdSZWYsIFdLUmVj
dCB3a1JlY3QpCit7CisgICAgSW50UmVjdCByZWN0ID0gdG9JbnRSZWN0KHdrUmVjdCk7CisgICAg
dG9JbXBsKHZpZXdSZWYpLT5maW5kWm9vbWFibGVBcmVhRm9yUG9pbnQocmVjdC5jZW50ZXIoKSwg
cmVjdC5zaXplKCkpOworfQorCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XS1ZpZXcuaAppbmRleCBjZDMwZTQ4YWNhMjllMTkwOTIxYzYyNDM3MjNlYTEw
MmIwNzg3OTcwLi5kOGJjNzgxYjliMTllNWVmNDdmYmJiNzJjMzVkN2FlOGJhMjMxNDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XS1ZpZXcuaApAQCAtMzYsNiArMzYsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS1Zp
ZXdQYWdlRGlkQ2hhbmdlQ29udGVudHNQb3NpdGlvbkNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywg
V0tQbwogdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZFJlbmRlckZyYW1lQ2FsbGJhY2spKFdL
Vmlld1JlZiB2aWV3LCBXS1NpemUgY29udGVudHNTaXplLCBXS1JlY3QgY292ZXJlZFJlY3QsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5n
ZVZpZXdwb3J0QXR0cmlidXRlc0NhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tWaWV3cG9ydEF0
dHJpYnV0ZXNSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tW
aWV3UGFnZURpZENoYW5nZVRvb2x0aXBDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLU3RyaW5n
UmVmIG5ld1Rvb2x0aXAsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tWaWV3RGlkRmluZFpvb21hYmxlQXJlYUNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tQb2lu
dCBwb2ludCwgV0tSZWN0IGFyZWEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiBzdHJ1Y3Qg
V0tWaWV3Q2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmVyc2lvbjsKQEAgLTUxLDYgKzUyLDcgQEAgc3RydWN0IFdLVmlld0NsaWVu
dCB7CiAgICAgV0tWaWV3Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZENvbXBsZXRlUGFnZVRyYW5zaXRpb247CiAgICAgV0tWaWV3UGFnZURpZENoYW5nZVZpZXdw
b3J0QXR0cmlidXRlc0NhbGxiYWNrICAgIGRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlczsKICAg
ICBXS1ZpZXdQYWdlRGlkQ2hhbmdlVG9vbHRpcENhbGxiYWNrICAgICAgICAgICAgICAgZGlkQ2hh
bmdlVG9vbHRpcDsKKyAgICBXS1ZpZXdEaWRGaW5kWm9vbWFibGVBcmVhQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgZGlkRmluZFpvb21hYmxlQXJlYTsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS1ZpZXdD
bGllbnQgV0tWaWV3Q2xpZW50OwogCkBAIC0xMDMsNiArMTA1LDggQEAgV0tfRVhQT1JUIGJvb2wg
V0tWaWV3RXhpdEZ1bGxTY3JlZW4oV0tWaWV3UmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLVmlld1Nl
dE9wYWNpdHkoV0tWaWV3UmVmIHZpZXcsIGRvdWJsZSBvcGFjaXR5KTsKIFdLX0VYUE9SVCBkb3Vi
bGUgV0tWaWV3T3BhY2l0eShXS1ZpZXdSZWYgdmlldyk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLVmll
d0ZpbmRab29tYWJsZUFyZWFGb3JSZWN0KFdLVmlld1JlZiwgV0tSZWN0KTsKKwogI2lmZGVmIF9f
Y3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5jcHAKaW5kZXggYjMzNjExMDExNjM3ODhjY2ZjMjM5MzMyNDViODdmZGE2NmM4N2Zl
MS4uMDY4MWQ4OGE4MTNlMDg4OTY4YTNmNTg2MDc2ZDI3ZDVkOTRkZjVlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2Vi
TW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKKyNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2VMb2FkQ2xpZW50RWZsLmgiCiAjaW5j
bHVkZSAiUGFnZVBvbGljeUNsaWVudEVmbC5oIgogI2luY2x1ZGUgIlBhZ2VVSUNsaWVudEVmbC5o
IgpAQCAtMTM3NCw2ICsxMzc1LDExIEBAIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tW
aWV3Ojp0YWtlU25hcHNob3QoKQogICAgIHJldHVybiBzbmFwc2hvdC5yZWxlYXNlKCk7CiB9CiAK
K3ZvaWQgRXdrVmlldzo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXS1BvaW50JiBwb2ludCwg
Y29uc3QgV0tSZWN0JiBhcmVhKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIEV2YXNf
U21hcnRfQ2xhc3MgRXdrVmlldzo6cGFyZW50U21hcnRDbGFzcyA9IEVWQVNfU01BUlRfQ0xBU1Nf
SU5JVF9OVUxMOwogCiAvLyBGcmVlIEV3ayBWaWV3IGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCAwNDMxN2E2YTY2NWE1Mzk5Y2QzM2Zh
YzRmZmVkNmI3NjIwZWYyZjU1Li42N2E0NjhkNDE4M2NiOTBmMzNiZTc0MGFiOWVmYTE0MzNkMzJl
YWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCkBAIC0y
MDEsNiArMjAxLDggQEAgcHVibGljOgogCiAgICAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IHRha2VTbmFwc2hvdCgpOwogCisgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdL
UG9pbnQmLCBjb25zdCBXS1JlY3QmKTsKKwogcHJpdmF0ZToKICAgICBFd2tWaWV3KFdLVmlld1Jl
ZiwgRXZhc19PYmplY3QqKTsKICAgICB+RXdrVmlldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAppbmRleCBl
MWI0NGUwZTY0ZjM3NTJmNmEwOWJmMGYxMjJlMzk3NzUxNDY3NGRmLi43Y2MwOTNmNTI1MmQ0ZjQ5
NGRhMjk5NWY3Y2VlY2JjMTcyNmYyZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcApAQCAtMjA3LDYgKzIw
NywxMSBAQCB2b2lkIFdlYlZpZXc6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiBzaXplKQogICAgIHVwZGF0ZVZpZXdwb3J0U2l6ZSgpOwogfQogCit2b2lkIFdl
YlZpZXc6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHRhcmdl
dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgYXJlYSkKK3sKKyAgICBtX2NsaWVudC5kaWRGaW5k
Wm9vbWFibGVBcmVhKHRoaXMsIHRhcmdldCwgYXJlYSk7Cit9CisKIEFmZmluZVRyYW5zZm9ybSBX
ZWJWaWV3Ojp0cmFuc2Zvcm1Gcm9tU2NlbmUoKSBjb25zdAogewogICAgIHJldHVybiB0cmFuc2Zv
cm1Ub1NjZW5lKCkuaW52ZXJzZSgpOwpAQCAtNTMwLDYgKzUzNSwxMSBAQCB2b2lkIFdlYlZpZXc6
OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCiAgICAgbV9jbGllbnQuZGlkQ29tcGxldGVQ
YWdlVHJhbnNpdGlvbih0aGlzKTsKIH0KIAordm9pZCBXZWJWaWV3OjpmaW5kWm9vbWFibGVBcmVh
Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBzaXplKQorewor
ICAgIG1fcGFnZS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KHRyYW5zZm9ybUZyb21TY2VuZSgp
Lm1hcFBvaW50KHBvaW50KSwgdHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwU2l6ZShzaXplKSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5oCmluZGV4IDdjYTNjNjI1MDkyNWNkMzkyMDI0NDQxN2RhZjg2YzBh
OGI2NGM4YmQuLmJlNmMyOTQ4ZjVkMWNiNTA1MWNjZjE2MDE2N2QwMjkwYzRmMWFmNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3LmgKQEAgLTkzLDYgKzkzLDggQEAgcHVibGljOgogICAgIGJvb2wgZXhpdEZ1bGxTY3Jl
ZW4oKTsKICNlbmRpZgogCisgICAgdm9pZCBmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisKICAgICAvLyBW
aWV3IGNsaWVudC4KICAgICB2b2lkIGluaXRpYWxpemVDbGllbnQoY29uc3QgV0tWaWV3Q2xpZW50
Kik7CiAKQEAgLTEwMSw2ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDaGFuZ2VDb250
ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIGNvbnRlbnRzU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNTaXplOyB9CiAg
ICAgV2ViQ29yZTo6RmxvYXRTaXplIHZpc2libGVDb250ZW50c1NpemUoKSBjb25zdDsKKyAgICB2
b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0Jik7CiAKICAgICAvLyBGSVhNRTogU2hvdWxkIGJlY29tZSBwcml2YXRl
IHdoZW4gV2ViIEV2ZW50cyBjcmVhdGlvbiBpcyBtb3ZlZCB0byBXZWJWaWV3LgogICAgIFdlYkNv
cmU6OkFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm1Gcm9tU2NlbmUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlld0NsaWVudC5jcHAKaW5kZXggY2NjNDM1ZmFlMGJmMjkxNGJhMjVjM2EzN2Q0NmIyMWFk
ZjBjZmYzYi4uYzFlYWQzNjBmNGY5YWVhMTJiODIxOGUyYTYyMjJiOTZkMmNiN2M0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
d0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViVmlld0NsaWVudC5jcHAKQEAgLTExMSw2ICsxMTEsMTQgQEAgdm9pZCBXZWJWaWV3
Q2xpZW50OjpkaWRDaGFuZ2VUb29sdGlwKFdlYlZpZXcqIHZpZXcsIGNvbnN0IFN0cmluZyYgdG9v
bHRpcCkKICAgICBtX2NsaWVudC5kaWRDaGFuZ2VUb29sdGlwKHRvQVBJKHZpZXcpLCBhZG9wdFdL
KHRvQ29waWVkQVBJKHRvb2x0aXApKS5nZXQoKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAK
K3ZvaWQgV2ViVmlld0NsaWVudDo6ZGlkRmluZFpvb21hYmxlQXJlYShXZWJWaWV3KiB2aWV3LCBj
b25zdCBJbnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQoreworICAgIGlmICgh
bV9jbGllbnQuZGlkRmluZFpvb21hYmxlQXJlYSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9j
bGllbnQuZGlkRmluZFpvb21hYmxlQXJlYSh0b0FQSSh2aWV3KSwgdG9BUEkodGFyZ2V0KSwgdG9B
UEkoYXJlYSksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuaAppbmRleCA0NGJmNGRkZDczMGY4MTk5MTdhOTViNjAyNTAxZWU3NmVkNGEzZmM0Li42
MjIyMzI5NWI4MjRiZGIyMTk3OWQ1MzI1NWRiNjk5ZTdmNzc1M2U4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
d0NsaWVudC5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENvbXBsZXRl
UGFnZVRyYW5zaXRpb24oV2ViVmlldyopOwogICAgIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRy
aWJ1dGVzKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsKICAg
ICB2b2lkIGRpZENoYW5nZVRvb2x0aXAoV2ViVmlldyosIGNvbnN0IFN0cmluZyYgdG9vbHRpcCk7
CisgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggOTVmNjY5NjNh
YzgzMGZjNmUwNzRmYjBiNzA2N2UyN2E1OWJlNTIyMC4uZmZlMjQ2NGJlMmNkYWU2Yjk3Y2FlNzMw
ZDEwMWI0NjYyNzViYzg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBA
IC0xMjEsOCArMTIxLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVuZGVyRnJh
bWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBjb3ZlcmVkUmVjdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlv
blZpZXdwb3J0UmVhZHkoKSA9IDA7CiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFU
Rk9STShRVCkgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZpcnR1YWwgdm9pZCBk
aWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpID0gMDsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKFFUKQogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhv
c3RuYW1lLCBjb25zdCBTdHJpbmcmIHJlYWxtLCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJu
YW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBTdHJpbmcm
IGhvc3RuYW1lLCBib29sJiBpZ25vcmVFcnJvcnMpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFu
ZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3Ru
YW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJp
bmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDc0MGRmOTExYjgwMDViZjg5ZWU4NTc5MmIwZThk
YTBiN2NkYzViMjAuLjI3ODQ0MDlhNmQ3ODUwMTgwMzUzMTZkMGE5MzU0YzdmNjJlNDMxZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yOTQ5LDYgKzI5
NDksMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9h
ZFByb3h5KiBkb3dubG9hZCkKIH0KICNlbmRpZiAvLyBQTEFURk9STShRVCkgfHwgUExBVEZPUk0o
RUZMKSB8fCBQTEFURk9STShHVEspCiAKKyNpZiBQTEFURk9STShRVCkgfHwgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTKQordm9pZCBXZWJQYWdlUHJveHk6OmZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCit7CisgICAgaWYg
KCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RmluZFpvb21hYmxlQXJlYUZvclBvaW50KHBvaW50LCBhcmVhKSwgbV9w
YWdlSUQpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25z
dCBJbnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQoreworICAgIG1fcGFnZUNs
aWVudC0+ZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOworfQorI2VuZGlmCisKICNp
ZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQogdm9pZCBXZWJQYWdlUHJveHk6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGY1N2I2NTM3N2E1YmFmM2Q3MDQyMjFhNzhkYTkz
OTMwZWYyNzk1MDEuLjMxNTFhNjg3NDRhZDgzNThiMmJjZGY3ZDkwYzRkYjM2ZTFhNzJhZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY2Miw3ICs2NjIsNyBA
QCBwdWJsaWM6CiAKICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1l
dGVycygpIGNvbnN0OwogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICNl
bmRpZgogCkBAIC04ODcsMTAgKzg4Nyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWdlRGlkUmVx
dWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHZvaWQgcGFnZVRyYW5z
aXRpb25WaWV3cG9ydFJlYWR5KCk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFU
Rk9STShRVCkgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZvaWQgZGlkRmluZFpv
b21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKICNlbmRpZgotCiAjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKICAgICB2
b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IGZjMmZjM2U1NzUwYWNjOTAxNTExYTQ5YTNjZjU4MmI5NjNhZTJmNjguLjI1YzBm
NDRiNDExNTE1ODdkYTdlMjg2YzUxM2I3ZjE3N2YwOTM3MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzcsOCArNzcsMTAg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQYWdlRGlkUmVxdWVzdFNjcm9sbChX
ZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKICAgICBQYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHko
KQogI2VuZGlmCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBv
aW50IHRhcmdldCwgV2ViQ29yZTo6SW50UmVjdCBhcmVhKQorI2VuZGlmCisjaWYgUExBVEZPUk0o
UVQpCiAgICAgQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5h
bWUsIFdURjo6U3RyaW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4g
KFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZp
Y2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGln
bm9yZUVycm9ycykKICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6
U3RyaW5nIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2Vy
bmFtZSkgLT4gKFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IDBl
NjZlYWI0NjgxZWU4MmY4MzZiMTMzM2YxMGM3ZGMwNGQ4Y2MxN2EuLmYxMjg5MTA3ZjE5YWQxZDdk
ZGNlNDMzNjcyNGEyMzhiMDQxMGNmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtMTU0LDYgKzE1NCwxMSBAQCB2b2lkIFZpZXdDbGll
bnRFZmw6OmRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiB0b29sdGlwLCBj
b25zdCB2b2lkKgogICAgICAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPnNtYXJ0Q2FsbGJhY2s8
VG9vbHRpcFRleHRTZXQ+KCkuY2FsbChXS0VpbmFTaGFyZWRTdHJpbmcodG9vbHRpcCkpOwogfQog
Cit2b2lkIFZpZXdDbGllbnRFZmw6OmRpZEZpbmRab29tYWJsZUFyZWEoV0tWaWV3UmVmLCBXS1Bv
aW50IHBvaW50LCBXS1JlY3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICB0
b0V3a1ZpZXcoY2xpZW50SW5mbyktPmRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIGFyZWEpOwor
fQorCiBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBt
X3ZpZXcodmlldykKIHsKQEAgLTE2NCw2ICsxNjksNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xp
ZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0Ns
aWVudEN1cnJlbnRWZXJzaW9uOwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAg
ICAgdmlld0NsaWVudC5kaWRDaGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1Np
emU7CisgICAgdmlld0NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhID0gZGlkRmluZFpvb21hYmxl
QXJlYTsKICAgICB2aWV3Q2xpZW50LnZpZXdOZWVkc0Rpc3BsYXkgPSB2aWV3TmVlZHNEaXNwbGF5
OwogICAgIHZpZXdDbGllbnQud2ViUHJvY2Vzc0NyYXNoZWQgPSB3ZWJQcm9jZXNzQ3Jhc2hlZDsK
ICAgICB2aWV3Q2xpZW50LndlYlByb2Nlc3NEaWRSZWxhdW5jaCA9IHdlYlByb2Nlc3NEaWRSZWxh
dW5jaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVu
dEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5k
ZXggM2YxOGJlYTUzMjdlN2FiNjgwNjJhYjNhZTI4ODRlNzQ3MTY0OThjZi4uMWJlZTM2OTM5NmU4
YzljZThhZjU3NGNhYjZmNDUyY2JmZDIzZWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKQEAgLTU2LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKFdLVmlld1JlZiwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1
dGVzKFdLVmlld1JlZiwgV0tWaWV3cG9ydEF0dHJpYnV0ZXNSZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0
cmluZ1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkRmlu
ZFpvb21hYmxlQXJlYShXS1ZpZXdSZWYsIFdLUG9pbnQsIFdLUmVjdCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7CiAKICAgICBFd2tWaWV3KiBtX3ZpZXc7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlRdC5jcHAKaW5kZXggNGYyNmQ2NWUwOTBiMDEzZjdl
M2I0ZmU2OThkMmJkZDU5YWE5MjI4Yi4uYTg5NzgyNTA2M2VmOWI3MzhlZDY2ZDgxYWM0YzRlMGNh
ODFlMjNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQ
cm94eVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFnZVByb3h5
UXQuY3BwCkBAIC04NiwxOSArODYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2VuZEFwcGxpY2F0
aW9uU2NoZW1lUmVwbHkoY29uc3QgUVF1aWNrTmV0d29ya1JlcGx5KiByZXBseSkKICNlbmRpZgog
fQogCi12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2lu
dCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlk
RmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwotfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6
ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50
U2l6ZSYgYXJlYSkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpGaW5kWm9vbWFibGVBcmVhRm9y
UG9pbnQocG9pbnQsIGFyZWEpLCBtX3BhZ2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5Ojph
dXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBjb25z
dCBTdHJpbmcmIHJlYWxtLCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcm
IHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKQogewogICAgIG1fcGFnZUNsaWVudC0+aGFuZGxl
QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoaG9zdG5hbWUsIHJlYWxtLCBwcmVmaWxsZWRV
c2VybmFtZSwgdXNlcm5hbWUsIHBhc3N3b3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBhOTA0MTVjNTgwNjEzOWU2ZTBkMWUxNWUwNmUz
Yjc0MDhkMGI5NTY0Li4yYmIwMDc5MjJmNzcyY2E0MzgxYTIxZjhmNzhkZmM5MDkyYzQzMGMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0z
MTg3LDcgKzMxODcsNyBAQCBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdCogV2ViUGFnZTo6
YmFja0ZvcndhcmRMaXN0KCkKICAgICByZXR1cm4gbV9iYWNrRm9yd2FyZExpc3QuZ2V0KCk7CiB9
CiAKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkgfHwgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQogdm9pZCBXZWJQYWdlOjpm
aW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBhcmVhKQogewpAQCAtMzIxOCw3ICszMjE4LDcgQEAgdm9p
ZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIHBvaW50LCBjb25zdCBXZWIKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFJlY3Qgem9vbWFibGVBcmVhID0gbm9kZS0+Z2V0UmVjdCgpOworICAgIEludFJlY3Qg
em9vbWFibGVBcmVhID0gbm9kZS0+cGl4ZWxTbmFwcGVkQm91bmRpbmdCb3goKTsKIAogICAgIHdo
aWxlICh0cnVlKSB7CiAgICAgICAgIGJvb2wgZm91bmQgPSAhbm9kZS0+aXNUZXh0Tm9kZSgpICYm
ICFub2RlLT5pc1NoYWRvd1Jvb3QoKTsKQEAgLTMyMzQsNyArMzIzNCw3IEBAIHZvaWQgV2ViUGFn
ZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2lu
dCwgY29uc3QgV2ViCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBub2RlID0gbm9kZS0+
cGFyZW50Tm9kZSgpOwotICAgICAgICB6b29tYWJsZUFyZWEudW5pdGUobm9kZS0+Z2V0UmVjdCgp
KTsKKyAgICAgICAgem9vbWFibGVBcmVhLnVuaXRlKG5vZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5n
Qm94KCkpOwogICAgIH0KIAogICAgIGlmIChub2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRvY3Vt
ZW50KCktPmZyYW1lKCkgJiYgbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBlZjU5ZmY5
OWZmYjYxNGI1OWFmMzk4MjZhYmY0MzMwMDEzMDY3ZmQxLi41ODI5ZWQ0YjQ5MDNjM2NmMDliM2I5
ZjZmOTllYjUxYzJhZmI0YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTc5Nyw3ICs3OTcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaGlkZUZp
bmRVSSgpOwogICAgIHZvaWQgY291bnRTdHJpbmdNYXRjaGVzKGNvbnN0IFN0cmluZyYsIHVpbnQz
Ml90IGZpbmRPcHRpb25zLCB1aW50MzJfdCBtYXhNYXRjaENvdW50KTsKIAotI2lmIFBMQVRGT1JN
KFFUKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAg
dm9pZCBmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBhcmVhKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDQ5
ZDNjNDAzMTQwMjY5YjEzODk5MzQ3Yzc3YTY0NzdhMjFmMmJmYTIuLjRlZDM5Y2RjMTYzMDY4NDY1
YzRlODE4ZWI1MDJkZDhjMDFjNjM4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yOTcsNyArMjk3LDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0Q29tcG9zaXRpb24o
V1RGOjpTdHJpbmcgY29tcG9zaXRpb25TdHJpbmcsIFdURjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBv
c2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBjdXJzb3JQb3NpdGlvbikKICAg
ICBDYW5jZWxDb21wb3NpdGlvbigpCiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFU
Rk9STShRVCkgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIEZpbmRab29tYWJsZUFy
ZWFGb3JQb2ludChXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgV2ViQ29yZTo6SW50U2l6ZSBhcmVh
KQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206529</attachid>
            <date>2013-07-12 05:57:03 -0700</date>
            <delta_ts>2013-07-18 02:29:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118585-20130712215445.patch</filename>
            <type>text/plain</type>
            <size>29178</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2U4OTlmMmY5YTQ5YWFl
MGY0N2MyYmNhZDAzYmVkMjc1NDA2NmEzMy4uNWQ4OGE3YmExN2NlZjAwOWIyN2I2Yzk0ZjY3N2M0
ZmQ0YjMwYjEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDEzLTA3LTEyICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBTaGFyZSBRdCBwb3J0
J3MgY29kZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpdGggY29vcmRpbmF0ZWQgZ3JhcGhpY3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1ODUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29k
ZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpbGwgYmUgdXNlZCBpbiB0aGUgY29vcmRpbmF0ZWQg
Z3JhcGhpY3MsCisgICAgICAgIHNvIG1vZGlmeSBjb2RlcyB0byBiZSBhYmxlIHRvIGJlIHVzZWQg
bm90IG9ubHkgaW4gdGhlIFF0IHBvcnQgYnV0IGFsc28KKyAgICAgICAgY29vcmRpbmF0ZWQgZ3Jh
cGhpY3MuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBBZGQgdGhlIFdLVmlld0ZpbmRab29tYWJs
ZUFyZWFGb3JSZWN0IEFQSSBhbmQgZGlkRmluZFpvb21hYmxlQXJlYQorICAgICAgICBjYWxsYmFj
ayBmb3IgY29vcmRpbmF0ZWQgZ3JhcGhpY3MgYW5kIHRoZXkgd2lsbCBiZSB1c2VkIGluIHRoZSBF
RkwgcG9ydC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3
LmNwcDoKKyAgICAgICAgKFdLVmlld0ZpbmRab29tYWJsZUFyZWFGb3JSZWN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OmRpZEZp
bmRab29tYWJsZUFyZWEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRGaW5kWm9vbWFibGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6ZGlkRmlu
ZFpvb21hYmxlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmZpbmRab29tYWJsZUFy
ZWFGb3JQb2ludCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRGaW5kWm9vbWFi
bGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRGaW5kWm9vbWFibGVBcmVhKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0
L1dlYlBhZ2VQcm94eVF0LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluOgorCisyMDEzLTA3LTEyICBFdW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1z
dW5nLmNvbT4KKwogICAgICAgICBSZXBsYWNlIGdldFJlY3QoKSB0byBwaXhlbFNuYXBwZWRCb3Vu
ZGluZ0JveCgpLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE4NTg4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYTVlMmIwMzg4N2ZmNTRmYzk3MTFj
Yzk5Nzg2ZTZmZTU4MDE3OTZhMC4uNzZkYzdkYWE4NjZjYjdiYzMxNzRkZDNiZDRjNDc3MTA2NGY1
NmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTM2Niw2ICszNjYsNyBAQCBzZXQoV2ViS2l0
Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYlByb3RlY3Rpb25TcGFj
ZS5jcHAKIAogICAgIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5LmNwcAorICAgIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCiAKICAgICBVSVByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFBy
b3h5TWFwLmNwcApAQCAtNTE5LDYgKzUyMCw3IEBAIHNldChXZWJLaXQyX1NPVVJDRVMKICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVW5kb1N0ZXAuY3BwCiAKICAgICBXZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisgICAg
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCiApCiAKIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnBy
aQppbmRleCBmZTYzMzZhMTAxNTYzZjFiZTE2ZDViMGQ4MTczNDhkNTdlNTVkNDM3Li45ODc0YmM3
ZmFiYjJjMmQyZWFlOTI5MDFhMmNkYzY2YTI5MTc3YWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAgLTU2NSw2
ICs1NjUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQmFja2luZ1N0b3JlLmNwcCBc
CiAgICAgVUlQcm9jZXNzL3F0L0JhY2tpbmdTdG9yZVF0LmNwcCBcCiAgICAgVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIFwKKyAg
ICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29yZGluYXRlZEdy
YXBoaWNzLmNwcCBcCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAgXAog
ICAgIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHAgXApAQCAtNzQ4LDYgKzc0OSw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwIFwK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwIFwKICAgICBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwIFwKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdl
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdo
bGlnaHRDb250cm9sbGVyLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhv
c3QuY3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZUJhbm5lci5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdy
YXBoaWNzL1dLVmlldy5jcHAKaW5kZXggNDY3MzY1ZjUxOTY4NmFlNzk5ODQwNjAyY2Q4N2U0Zjcz
YmFlZmNkMy4uMmVkNzRkMzc2ZTdkZTFkYjE3OWU4N2I0YjFkY2ExMjBlZTFkMjAzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V0tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVmlld1JlZiBXS1ZpZXdDcmVhdGUoV0tDb250
ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKQEAgLTE4OCw0
ICsxODksMTAgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tWaWV3UmVmIHZpZXcpCiAgICAgcmV0
dXJuIHRvSW1wbCh2aWV3KS0+b3BhY2l0eSgpOwogfQogCit2b2lkIFdLVmlld0ZpbmRab29tYWJs
ZUFyZWFGb3JSZWN0KFdLVmlld1JlZiB2aWV3UmVmLCBXS1JlY3Qgd2tSZWN0KQoreworICAgIElu
dFJlY3QgcmVjdCA9IHRvSW50UmVjdCh3a1JlY3QpOworICAgIHRvSW1wbCh2aWV3UmVmKS0+Zmlu
ZFpvb21hYmxlQXJlYUZvclBvaW50KHJlY3QuY2VudGVyKCksIHJlY3Quc2l6ZSgpKTsKK30KKwog
I2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmgK
aW5kZXggY2QzMGU0OGFjYTI5ZTE5MDkyMWM2MjQzNzIzZWExMDJiMDc4Nzk3MC4uZDhiYzc4MWI5
YjE5ZTVlZjQ3ZmJiYjcyYzM1ZDdhZThiYTIzMTQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmgK
QEAgLTM2LDYgKzM2LDcgQEAgdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5nZUNvbnRl
bnRzUG9zaXRpb25DYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG8KIHR5cGVkZWYgdm9pZCAo
KldLVmlld1BhZ2VEaWRSZW5kZXJGcmFtZUNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywgV0tTaXpl
IGNvbnRlbnRzU2l6ZSwgV0tSZWN0IGNvdmVyZWRSZWN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXND
YWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VUb29s
dGlwQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1N0cmluZ1JlZiBuZXdUb29sdGlwLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0RpZEZpbmRab29tYWJs
ZUFyZWFDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG9pbnQgcG9pbnQsIFdLUmVjdCBhcmVh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7CiAgICAg
aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247
CkBAIC01MSw2ICs1Miw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmlld0NhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21wbGV0ZVBhZ2VUcmFu
c2l0aW9uOwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXNDYWxsYmFj
ayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tWaWV3UGFnZURpZENoYW5n
ZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRvb2x0aXA7CisgICAgV0tW
aWV3RGlkRmluZFpvb21hYmxlQXJlYUNhbGxiYWNrICAgICAgICAgICAgICAgIGRpZEZpbmRab29t
YWJsZUFyZWE7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tWaWV3Q2xpZW50IFdLVmlld0NsaWVudDsK
IApAQCAtMTAzLDYgKzEwNSw4IEBAIFdLX0VYUE9SVCBib29sIFdLVmlld0V4aXRGdWxsU2NyZWVu
KFdLVmlld1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRPcGFjaXR5KFdLVmlld1JlZiB2
aWV3LCBkb3VibGUgb3BhY2l0eSk7CiBXS19FWFBPUlQgZG91YmxlIFdLVmlld09wYWNpdHkoV0tW
aWV3UmVmIHZpZXcpOwogCitXS19FWFBPUlQgdm9pZCBXS1ZpZXdGaW5kWm9vbWFibGVBcmVhRm9y
UmVjdChXS1ZpZXdSZWYsIFdLUmVjdCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGIz
MzYxMTAxMTYzNzg4Y2NmYzIzOTMzMjQ1Yjg3ZmRhNjZjODdmZTEuLjA2ODFkODhhODEzZTA4ODk2
OGEzZjU4NjA3NmQyN2Q1ZDk0ZGY1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJQYWdlTG9hZENsaWVudEVmbC5oIgogI2luY2x1ZGUgIlBhZ2VQb2xpY3lDbGll
bnRFZmwuaCIKICNpbmNsdWRlICJQYWdlVUlDbGllbnRFZmwuaCIKQEAgLTEzNzQsNiArMTM3NSwx
MSBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gRXdrVmlldzo6dGFrZVNuYXBzaG90KCkK
ICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgpOwogfQogCit2b2lkIEV3a1ZpZXc6OmRpZEZp
bmRab29tYWJsZUFyZWEoY29uc3QgV0tQb2ludCYgcG9pbnQsIGNvbnN0IFdLUmVjdCYgYXJlYSkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBFdmFzX1NtYXJ0X0NsYXNzIEV3a1ZpZXc6
OnBhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRfTlVMTDsKIAogLy8gRnJl
ZSBFd2sgVmlldyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmgKaW5kZXggMDQzMTdhNmE2NjVhNTM5OWNkMzNmYWM0ZmZlZDZiNzYyMGVmMmY1NS4u
NjdhNDY4ZDQxODNjYjkwZjMzYmU3NDBhYjllZmExNDMzZDMyZWFhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjAxLDYgKzIwMSw4IEBAIHB1Ymxp
YzoKIAogICAgIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiB0YWtlU25hcHNob3QoKTsKIAor
ICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXS1BvaW50JiwgY29uc3QgV0tSZWN0
Jik7CisKIHByaXZhdGU6CiAgICAgRXdrVmlldyhXS1ZpZXdSZWYsIEV2YXNfT2JqZWN0Kik7CiAg
ICAgfkV3a1ZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZVByb3h5Q29v
cmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM0YTliMzM4ZjdjZDEzM2ZkOTZjMDU5
ODg4MWI2Y2U4N2JkMWQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCisjaW5jbHVkZSAiUGFnZUNsaWVudC5oIgorI2luY2x1
ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgorCit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50
LCBjb25zdCBJbnRTaXplJiBhcmVhKQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkZpbmRab29t
YWJsZUFyZWFGb3JQb2ludChwb2ludCwgYXJlYSksIG1fcGFnZUlEKTsKK30KKwordm9pZCBXZWJQ
YWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwgY29u
c3QgSW50UmVjdCYgYXJlYSkKK3sKKyAgICBtX3BhZ2VDbGllbnQtPmRpZEZpbmRab29tYWJsZUFy
ZWEodGFyZ2V0LCBhcmVhKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4IGUxYjQ0ZTBl
NjRmMzc1MmY2YTA5YmYwZjEyMmUzOTc3NTE0Njc0ZGYuLjdjYzA5M2Y1MjUyZDRmNDk0ZGEyOTk1
ZjdjZWVjYmMxNzI2ZjJlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC0yMDcsNiArMjA3LDExIEBA
IHZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmIHNpemUpCiAgICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAKK3ZvaWQgV2ViVmlldzo6
ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgdGFyZ2V0LCBjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBhcmVhKQoreworICAgIG1fY2xpZW50LmRpZEZpbmRab29tYWJs
ZUFyZWEodGhpcywgdGFyZ2V0LCBhcmVhKTsKK30KKwogQWZmaW5lVHJhbnNmb3JtIFdlYlZpZXc6
OnRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRyYW5zZm9ybVRvU2Nl
bmUoKS5pbnZlcnNlKCk7CkBAIC01MzAsNiArNTM1LDExIEBAIHZvaWQgV2ViVmlldzo6cGFnZVRy
YW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKICAgICBtX2NsaWVudC5kaWRDb21wbGV0ZVBhZ2VUcmFu
c2l0aW9uKHRoaXMpOwogfQogCit2b2lkIFdlYlZpZXc6OmZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgbV9w
YWdlLT5maW5kWm9vbWFibGVBcmVhRm9yUG9pbnQodHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwUG9p
bnQocG9pbnQpLCB0cmFuc2Zvcm1Gcm9tU2NlbmUoKS5tYXBTaXplKHNpemUpKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3LmgKaW5kZXggN2NhM2M2MjUwOTI1Y2QzOTIwMjQ0NDE3ZGFmODZjMGE4YjY0Yzhi
ZC4uYmU2YzI5NDhmNWQxY2I1MDUxY2NmMTYwMTY3ZDAyOTBjNGYxYWY0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcu
aApAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleGl0RnVsbFNjcmVlbigpOwog
I2VuZGlmCiAKKyAgICB2b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogICAgIC8vIFZpZXcgY2xp
ZW50LgogICAgIHZvaWQgaW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS1ZpZXdDbGllbnQqKTsKIApA
QCAtMTAxLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
Y29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1NpemU7IH0KICAgICBXZWJD
b3JlOjpGbG9hdFNpemUgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpIGNvbnN0OworICAgIHZvaWQgZGlk
RmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmKTsKIAogICAgIC8vIEZJWE1FOiBTaG91bGQgYmVjb21lIHByaXZhdGUgd2hlbiBX
ZWIgRXZlbnRzIGNyZWF0aW9uIGlzIG1vdmVkIHRvIFdlYlZpZXcuCiAgICAgV2ViQ29yZTo6QWZm
aW5lVHJhbnNmb3JtIHRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50LmNwcAppbmRleCBjY2M0MzVmYWUwYmYyOTE0YmEyNWMzYTM3ZDQ2YjIxYWRmMGNmZjNi
Li5jMWVhZDM2MGY0ZjlhZWExMmI4MjE4ZTJhNjIyMmI5NmQyY2I3YzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3Q2xpZW50LmNwcApAQCAtMTExLDYgKzExMSwxNCBAQCB2b2lkIFdlYlZpZXdDbGllbnQ6
OmRpZENoYW5nZVRvb2x0aXAoV2ViVmlldyogdmlldywgY29uc3QgU3RyaW5nJiB0b29sdGlwKQog
ICAgIG1fY2xpZW50LmRpZENoYW5nZVRvb2x0aXAodG9BUEkodmlldyksIGFkb3B0V0sodG9Db3Bp
ZWRBUEkodG9vbHRpcCkpLmdldCgpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBX
ZWJWaWV3Q2xpZW50OjpkaWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcqIHZpZXcsIGNvbnN0IElu
dFBvaW50JiB0YXJnZXQsIGNvbnN0IEludFJlY3QmIGFyZWEpCit7CisgICAgaWYgKCFtX2NsaWVu
dC5kaWRGaW5kWm9vbWFibGVBcmVhKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC5k
aWRGaW5kWm9vbWFibGVBcmVhKHRvQVBJKHZpZXcpLCB0b0FQSSh0YXJnZXQpLCB0b0FQSShhcmVh
KSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAj
ZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5o
CmluZGV4IDQ0YmY0ZGRkNzMwZjgxOTkxN2E5NWI2MDI1MDFlZTc2ZWQ0YTNmYzQuLjYyMjIzMjk1
YjgyNGJkYjIxOTc5ZDUzMjU1ZGI2OTllN2Y3NzUzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50
LmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ29tcGxldGVQYWdlVHJh
bnNpdGlvbihXZWJWaWV3Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMo
V2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOwogICAgIHZvaWQg
ZGlkQ2hhbmdlVG9vbHRpcChXZWJWaWV3KiwgY29uc3QgU3RyaW5nJiB0b29sdGlwKTsKKyAgICB2
b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA5NWY2Njk2M2FjODMwZmM2
ZTA3NGZiMGI3MDY3ZTI3YTU5YmU1MjIwLi45NWVmYTMxNzJmZjI2MWYwOTI2YWY5YWI2YmQzNmMy
NjE5ZmEwMGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTEyMSw4
ICsxMjEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGNvdmVyZWRSZWN0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VUcmFuc2l0aW9uVmlld3Bv
cnRSZWFkeSgpID0gMDsKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CisjZW5k
aWYKKyNpZiBQTEFURk9STShRVCkKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVudGljYXRp
b25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3RyaW5nJiBy
ZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwg
U3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZpY2F0
ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3Jl
RXJyb3JzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZVByb3h5QXV0aGVudGljYXRpb25S
ZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29u
c3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBw
YXNzd29yZCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGY1N2I2NTM3N2E1YmFmM2Q3MDQyMjFhNzhkYTkzOTMwZWYyNzk1MDEuLjRjMjMzMWI3ZjdiYTUz
ZmJiMWJhMWRkNjJhOGQ2YmRlODUyYjUwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTY2Miw3ICs2NjIsNyBAQCBwdWJsaWM6CiAKICAgICBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycygpIGNvbnN0OwogCi0jaWYgUExBVEZP
Uk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZvaWQgZmluZFpvb21h
YmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpOwogI2VuZGlmCiAKQEAgLTg4NywxMCArODg3LDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAgICAg
dm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKTsKICNlbmRpZgotI2lmIFBMQVRGT1JN
KFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGRpZEZpbmRab29t
YWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
Jik7CiAjZW5kaWYKLQogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAgICAgdm9p
ZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCBmYzJmYzNlNTc1MGFjYzkwMTUxMWE0OWEzY2Y1ODJiOTYzYWUyZjY4Li44MTk2NmQ3
MGE3YjlhYjcwNmY2ZWY0ZjY1ZTA5MjYxYjMwMzc5OTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTc3LDggKzc3LDEwIEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJlcXVlc3RTY3JvbGwoV2Vi
Q29yZTo6SW50UG9pbnQgcG9pbnQpCiAgICAgUGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkK
ICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBvaW50IHRhcmdldCwgV2ViQ29y
ZTo6SW50UmVjdCBhcmVhKQorI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCiAgICAgQXV0aGVudGlj
YXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUsIFdURjo6U3RyaW5nIHJl
YWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdURjo6U3RyaW5nIHVzZXJu
YW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJl
cXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGlnbm9yZUVycm9ycykKICAgICBQ
cm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lLCB1
aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdURjo6U3Ry
aW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IDBlNjZlYWI0NjgxZWU4MmY4MzZi
MTMzM2YxMGM3ZGMwNGQ4Y2MxN2EuLmYxMjg5MTA3ZjE5YWQxZDdkZGNlNDMzNjcyNGEyMzhiMDQx
MGNmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVu
dEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZs
LmNwcApAQCAtMTU0LDYgKzE1NCwxMSBAQCB2b2lkIFZpZXdDbGllbnRFZmw6OmRpZENoYW5nZVRv
b2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiB0b29sdGlwLCBjb25zdCB2b2lkKgogICAgICAg
ICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPnNtYXJ0Q2FsbGJhY2s8VG9vbHRpcFRleHRTZXQ+KCku
Y2FsbChXS0VpbmFTaGFyZWRTdHJpbmcodG9vbHRpcCkpOwogfQogCit2b2lkIFZpZXdDbGllbnRF
Zmw6OmRpZEZpbmRab29tYWJsZUFyZWEoV0tWaWV3UmVmLCBXS1BvaW50IHBvaW50LCBXS1JlY3Qg
YXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICB0b0V3a1ZpZXcoY2xpZW50SW5m
byktPmRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIGFyZWEpOworfQorCiBWaWV3Q2xpZW50RWZs
OjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmlldykKIHsKQEAg
LTE2NCw2ICsxNjksNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZp
ZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVudEN1cnJlbnRWZXJzaW9u
OwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgdmlld0NsaWVudC5kaWRD
aGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7CisgICAgdmlld0NsaWVu
dC5kaWRGaW5kWm9vbWFibGVBcmVhID0gZGlkRmluZFpvb21hYmxlQXJlYTsKICAgICB2aWV3Q2xp
ZW50LnZpZXdOZWVkc0Rpc3BsYXkgPSB2aWV3TmVlZHNEaXNwbGF5OwogICAgIHZpZXdDbGllbnQu
d2ViUHJvY2Vzc0NyYXNoZWQgPSB3ZWJQcm9jZXNzQ3Jhc2hlZDsKICAgICB2aWV3Q2xpZW50Lndl
YlByb2Nlc3NEaWRSZWxhdW5jaCA9IHdlYlByb2Nlc3NEaWRSZWxhdW5jaDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5kZXggM2YxOGJlYTUzMjdlN2Fi
NjgwNjJhYjNhZTI4ODRlNzQ3MTY0OThjZi4uMWJlZTM2OTM5NmU4YzljZThhZjU3NGNhYjZmNDUy
Y2JmZDIzZWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3
Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50
RWZsLmgKQEAgLTU2LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRDb21w
bGV0ZVBhZ2VUcmFuc2l0aW9uKFdLVmlld1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAg
ICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKFdLVmlld1JlZiwgV0tW
aWV3cG9ydEF0dHJpYnV0ZXNSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRp
YyB2b2lkIGRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShXS1Zp
ZXdSZWYsIFdLUG9pbnQsIFdLUmVjdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKICAgICBF
d2tWaWV3KiBtX3ZpZXc7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1dlYlBhZ2VQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQ
YWdlUHJveHlRdC5jcHAKaW5kZXggNGYyNmQ2NWUwOTBiMDEzZjdlM2I0ZmU2OThkMmJkZDU5YWE5
MjI4Yi4uYTg5NzgyNTA2M2VmOWI3MzhlZDY2ZDgxYWM0YzRlMGNhODFlMjNhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFnZVByb3h5UXQuY3BwCkBAIC04NiwxOSAr
ODYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2VuZEFwcGxpY2F0aW9uU2NoZW1lUmVwbHkoY29u
c3QgUVF1aWNrTmV0d29ya1JlcGx5KiByZXBseSkKICNlbmRpZgogfQogCi12b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJ
bnRSZWN0JiBhcmVhKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkRmluZFpvb21hYmxlQXJlYSh0
YXJnZXQsIGFyZWEpOwotfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFpvb21hYmxlQXJlYUZv
clBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJlYSkKLXsKLSAg
ICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9jZXNzLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpGaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQocG9pbnQsIGFyZWEp
LCBtX3BhZ2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjphdXRoZW50aWNhdGlvblJlcXVp
cmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBTdHJpbmcmIHJlYWxtLCBj
b25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcm
IHBhc3N3b3JkKQogewogICAgIG1fcGFnZUNsaWVudC0+aGFuZGxlQXV0aGVudGljYXRpb25SZXF1
aXJlZFJlcXVlc3QoaG9zdG5hbWUsIHJlYWxtLCBwcmVmaWxsZWRVc2VybmFtZSwgdXNlcm5hbWUs
IHBhc3N3b3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBh
Z2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUwMDU5YjMwMWFhZGE3MmI0
Mjk0MjZkNTcxNjliNzMzMGY1ZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJp
Z2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisKKyNpbmNsdWRlICJIaXRUZXN0UmVzdWx0Lmgi
CisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUu
aCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
RXZlbnRIYW5kbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvRnJhbWVWaWV3Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxWaWV3Lmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIEVOQUJM
RShUT1VDSF9BREpVU1RNRU5UKQordm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9p
bnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmVhKQoreworICAgIE5v
ZGUqIG5vZGUgPSAwOworICAgIEludFJlY3Qgem9vbWFibGVBcmVhOworICAgIGJvb2wgZm91bmRB
cmVhRm9yVG91Y2hQb2ludCA9IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+ZXZlbnRIYW5kbGVy
KCktPmJlc3Rab29tYWJsZUFyZWFGb3JUb3VjaFBvaW50KHBvaW50LCBJbnRTaXplKGFyZWEud2lk
dGgoKSAvIDIsIGFyZWEuaGVpZ2h0KCkgLyAyKSwgem9vbWFibGVBcmVhLCBub2RlKTsKKworICAg
IGlmICghZm91bmRBcmVhRm9yVG91Y2hQb2ludCkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNT
RVJUKG5vZGUpOworCisgICAgaWYgKG5vZGUtPmRvY3VtZW50KCkgJiYgbm9kZS0+ZG9jdW1lbnQo
KS0+dmlldygpKQorICAgICAgICB6b29tYWJsZUFyZWEgPSBub2RlLT5kb2N1bWVudCgpLT52aWV3
KCktPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKworICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwgem9vbWFibGVBcmVhKSk7
Cit9CisKKyNlbHNlCit2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25z
dCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCit7CisgICAgVU5VU0VEX1BB
UkFNKGFyZWEpOworICAgIEZyYW1lKiBtYWluZnJhbWUgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1l
KCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtYWluZnJhbWUtPmV2ZW50SGFuZGxlcigp
LT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50
cyhwb2ludCksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3Rp
dmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcgfCBIaXRUZXN0UmVxdWVzdDo6RGlz
YWxsb3dTaGFkb3dDb250ZW50KTsKKworICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2Rl
KCk7CisKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIEludFJlY3Qgem9v
bWFibGVBcmVhID0gbm9kZS0+cGl4ZWxTbmFwcGVkQm91bmRpbmdCb3goKTsKKworICAgIHdoaWxl
ICh0cnVlKSB7CisgICAgICAgIGJvb2wgZm91bmQgPSAhbm9kZS0+aXNUZXh0Tm9kZSgpICYmICFu
b2RlLT5pc1NoYWRvd1Jvb3QoKTsKKworICAgICAgICAvLyBObyBjYW5kaWRhdGUgZm91bmQsIGJh
aWwgb3V0LgorICAgICAgICBpZiAoIWZvdW5kICYmICFub2RlLT5wYXJlbnROb2RlKCkpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FuZGlkYXRlIGZvdW5kLCBhbmQgaXQgaXMg
YSBiZXR0ZXIgY2FuZGlkYXRlIHRoYW4gaXRzIHBhcmVudC4KKyAgICAgICAgLy8gTkI6IEEgcGFy
ZW50IGlzIGNvbnNpZGVyZWQgYSBiZXR0ZXIgY2FuZGlkYXRlIGlmZiB0aGUgbm9kZSBpcworICAg
ICAgICAvLyBjb250YWluZWQgYnkgaXQgYW5kIGl0IGlzIHRoZSBvbmx5IGNoaWxkLgorICAgICAg
ICBpZiAoZm91bmQgJiYgKCFub2RlLT5wYXJlbnROb2RlKCkgfHwgbm9kZS0+cGFyZW50Tm9kZSgp
LT5jaGlsZE5vZGVDb3VudCgpICE9IDEpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
bm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICAgICAgem9vbWFibGVBcmVhLnVuaXRlKG5v
ZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5nQm94KCkpOworICAgIH0KKworICAgIGlmIChub2RlLT5k
b2N1bWVudCgpICYmIG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCkgJiYgbm9kZS0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKS0+dmlldygpKSB7CisgICAgICAgIGNvbnN0IFNjcm9sbFZpZXcqIHZpZXcgPSBu
b2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT52aWV3KCk7CisgICAgICAgIHpvb21hYmxlQXJlYSA9
IHZpZXctPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKyAgICB9CisKKyAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIHpvb21h
YmxlQXJlYSkpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDljYTM2YmI1ZGM5ZmViOTFmYTcwYjg4NjQ2MDA0
ODczODY2ZTNmMzYuLmFmNTkxNjZlOWUwYWUyZDIwMTA0NmIzYjVkMTcyZDA2NTQ0Zjg5ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMx
ODcsNjYgKzMxODcsNiBAQCBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdCogV2ViUGFnZTo6
YmFja0ZvcndhcmRMaXN0KCkKICAgICByZXR1cm4gbV9iYWNrRm9yd2FyZExpc3QuZ2V0KCk7CiB9
CiAKLSNpZiBQTEFURk9STShRVCkKLSNpZiBFTkFCTEUoVE9VQ0hfQURKVVNUTUVOVCkKLXZvaWQg
V2ViUGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb2ludCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSkKLXsKLSAgICBOb2RlKiBub2Rl
ID0gMDsKLSAgICBJbnRSZWN0IHpvb21hYmxlQXJlYTsKLSAgICBib29sIGZvdW5kQXJlYUZvclRv
dWNoUG9pbnQgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5iZXN0
Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2ludChwb2ludCwgSW50U2l6ZShhcmVhLndpZHRoKCkgLyAy
LCBhcmVhLmhlaWdodCgpIC8gMiksIHpvb21hYmxlQXJlYSwgbm9kZSk7Ci0KLSAgICBpZiAoIWZv
dW5kQXJlYUZvclRvdWNoUG9pbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVChub2Rl
KTsKLQotICAgIGlmIChub2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRvY3VtZW50KCktPnZpZXco
KSkKLSAgICAgICAgem9vbWFibGVBcmVhID0gbm9kZS0+ZG9jdW1lbnQoKS0+dmlldygpLT5jb250
ZW50c1RvV2luZG93KHpvb21hYmxlQXJlYSk7Ci0KLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIHpvb21hYmxlQXJlYSkpOwotfQotCi0j
ZWxzZQotdm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBvaW50LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBhcmVhKQotewotICAg
IFVOVVNFRF9QQVJBTShhcmVhKTsKLSAgICBGcmFtZSogbWFpbmZyYW1lID0gbV9tYWluRnJhbWUt
PmNvcmVGcmFtZSgpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbWFpbmZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFpbmZyYW1lLT52aWV3KCktPndpbmRv
d1RvQ29udGVudHMocG9pbnQpLCBIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVx
dWVzdDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6Oklnbm9yZUNsaXBwaW5nIHwgSGl0VGVzdFJl
cXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0KLSAgICBOb2RlKiBub2RlID0gcmVzdWx0
LmlubmVyTm9kZSgpOwotCi0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBJ
bnRSZWN0IHpvb21hYmxlQXJlYSA9IG5vZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5nQm94KCk7Ci0K
LSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBib29sIGZvdW5kID0gIW5vZGUtPmlzVGV4dE5v
ZGUoKSAmJiAhbm9kZS0+aXNTaGFkb3dSb290KCk7Ci0KLSAgICAgICAgLy8gTm8gY2FuZGlkYXRl
IGZvdW5kLCBiYWlsIG91dC4KLSAgICAgICAgaWYgKCFmb3VuZCAmJiAhbm9kZS0+cGFyZW50Tm9k
ZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIC8vIENhbmRpZGF0ZSBmb3VuZCwg
YW5kIGl0IGlzIGEgYmV0dGVyIGNhbmRpZGF0ZSB0aGFuIGl0cyBwYXJlbnQuCi0gICAgICAgIC8v
IE5COiBBIHBhcmVudCBpcyBjb25zaWRlcmVkIGEgYmV0dGVyIGNhbmRpZGF0ZSBpZmYgdGhlIG5v
ZGUgaXMKLSAgICAgICAgLy8gY29udGFpbmVkIGJ5IGl0IGFuZCBpdCBpcyB0aGUgb25seSBjaGls
ZC4KLSAgICAgICAgaWYgKGZvdW5kICYmICghbm9kZS0+cGFyZW50Tm9kZSgpIHx8IG5vZGUtPnBh
cmVudE5vZGUoKS0+Y2hpbGROb2RlQ291bnQoKSAhPSAxKSkKLSAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7Ci0gICAgICAgIHpvb21hYmxlQXJl
YS51bml0ZShub2RlLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveCgpKTsKLSAgICB9Ci0KLSAgICBp
ZiAobm9kZS0+ZG9jdW1lbnQoKSAmJiBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpICYmIG5vZGUt
PmRvY3VtZW50KCktPmZyYW1lKCktPnZpZXcoKSkgewotICAgICAgICBjb25zdCBTY3JvbGxWaWV3
KiB2aWV3ID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpOwotICAgICAgICB6b29t
YWJsZUFyZWEgPSB2aWV3LT5jb250ZW50c1RvV2luZG93KHpvb21hYmxlQXJlYSk7Ci0gICAgfQot
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5kWm9vbWFibGVBcmVhKHBv
aW50LCB6b29tYWJsZUFyZWEpKTsKLX0KLSNlbmRpZgotI2VuZGlmCi0KIFdlYlBhZ2U6OlNhbmRi
b3hFeHRlbnNpb25UcmFja2VyOjp+U2FuZGJveEV4dGVuc2lvblRyYWNrZXIoKQogewogICAgIGlu
dmFsaWRhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IGVmNTlmZjk5ZmZiNjE0YjU5YWYzOTgyNmFiZjQzMzAwMTMwNjdmZDEuLmFiZWVkYjc0
NDc0NDQ0YjQxZjEyYTUxNzY3M2UzY2NkYjIwNGViYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzk3LDcgKzc5Nyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBoaWRlRmluZFVJKCk7CiAgICAgdm9pZCBjb3VudFN0cmluZ01hdGNoZXMoY29uc3Qg
U3RyaW5nJiwgdWludDMyX3QgZmluZE9wdGlvbnMsIHVpbnQzMl90IG1heE1hdGNoQ291bnQpOwog
Ci0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZv
aWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA0OWQz
YzQwMzE0MDI2OWIxMzg5OTM0N2M3N2E2NDc3YTIxZjJiZmEyLi44YTZiNTc0OWU4ZDNkOTFjZThm
ODZkMTA1NWI2ZGYxODQxYTI3ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjk3LDcgKzI5Nyw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldENvbXBvc2l0aW9uKFdU
Rjo6U3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nLCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb21wb3Np
dGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3QgY3Vyc29yUG9zaXRpb24pCiAgICAg
Q2FuY2VsQ29tcG9zaXRpb24oKQogI2VuZGlmCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogICAgIEZpbmRab29tYWJsZUFyZWFGb3JQb2ludChXZWJDb3Jl
OjpJbnRQb2ludCBwb2ludCwgV2ViQ29yZTo6SW50U2l6ZSBhcmVhKQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206972</attachid>
            <date>2013-07-18 02:29:36 -0700</date>
            <delta_ts>2013-07-18 05:02:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118585-20130718182935.patch</filename>
            <type>text/plain</type>
            <size>29127</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWUxNzIzNmNiZDYzOTJh
M2U0Yjg4NDMzNmE3ZGQ3NjkxMTNmNWNjNi4uMDhkNzgxMzZjMTUwZjA3MDEzNDM0MzIyMmYwOTQ0
ZTA0ZGQ2MjY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDEzLTA3LTE4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbV0syXSBTaGFyZSBR
dCBwb3J0J3MgY29kZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpdGggQ29vcmRpbmF0ZWRHcmFw
aGljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
ODU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBmdW5jdGlvbiB0byBmaW5kIHpvb21hYmxlIGFyZWEgaXMgbmVlZGVkIGluIG9yZGVyIHRvIGlt
cGxlbWVudCB0aGUKKyAgICAgICAgZmVhdHVyZSB0byBzY2FsZSBmb3IgZG91YmxlLXRhcCBnZXN0
dXJlLiBUaGUgV0syIEVGTCBhbmQgTklYIHBvcnQgd2FudAorICAgICAgICB0byB1c2UgdGhhdCBm
dWN0aW9uLCBzbyBleHRlbmQgY29kZXMgZm9yIFF0IHBvcnQgdG8gYmUgdXNhYmxlIGluIHRoZQor
ICAgICAgICBDb29yZGluYXRlZEdyYXBoaWNzIGFuZCBhZGQgQVBJIGFuZCBjYWxsYmFjayB0byB1
c2UgdGhhdC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3
LmNwcDoKKyAgICAgICAgKFdLVmlld0ZpbmRab29tYWJsZUFyZWFGb3JSZWN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OmRpZEZp
bmRab29tYWJsZUFyZWEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkaWRGaW5kWm9vbWFibGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6ZGlkRmlu
ZFpvb21hYmxlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmZpbmRab29tYWJsZUFy
ZWFGb3JQb2ludCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRGaW5kWm9vbWFi
bGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpWaWV3Q2xpZW50RWZsOjpkaWRGaW5kWm9vbWFibGVBcmVhKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6Vmlld0NsaWVudEVmbCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0
L1dlYlBhZ2VQcm94eVF0LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluOgorCisyMDEzLTA3LTE4ICBFdW5taSBMZWUgIDxldW5taTE1LmxlZUBzYW1z
dW5nLmNvbT4KKwogICAgICAgICBbV0syXSBSZXBsYWNlIGdldFJlY3QoKSB0byBwaXhlbFNuYXBw
ZWRCb3VuZGluZ0JveCgpLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4NTg4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzIxNDRjMDNjNTZiOGQx
ZjMyZjRmNjQ4OTRkYjVjNTZiMTY3MGU0Ny4uZGJhYWM1MjU3Mzk4ZDUzMzFmMTRkMTI1ZmZlZmNm
NjExMDgwMTE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTM2Niw2ICszNjYsNyBAQCBzZXQo
V2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYlByb3RlY3Rp
b25TcGFjZS5jcHAKIAogICAgIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorICAgIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCiAKICAgICBVSVByb2Nlc3Mv
RG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZFByb3h5TWFwLmNwcApAQCAtNTE5LDYgKzUyMCw3IEBAIHNldChXZWJLaXQyX1NPVVJDRVMK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVW5kb1N0ZXAuY3BwCiAKICAgICBXZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3Bw
CisgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCiApCiAKIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQppbmRleCBmZTYzMzZhMTAxNTYzZjFiZTE2ZDViMGQ4MTczNDhkNTdlNTVkNDM3Li45
ODc0YmM3ZmFiYjJjMmQyZWFlOTI5MDFhMmNkYzY2YTI5MTc3YWMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKQEAg
LTU2NSw2ICs1NjUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQmFja2luZ1N0b3Jl
LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L0JhY2tpbmdTdG9yZVF0LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3Bw
IFwKKyAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJveHlDb29yZGlu
YXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5j
cHAgXAogICAgIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAgXAogICAgIFVJ
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHAgXApAQCAtNzQ4LDYgKzc0OSw3
IEBAIFNPVVJDRVMgKz0gXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIu
Y3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwIFwKICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwIFwKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9U
YXBIaWdobGlnaHRDb250cm9sbGVyLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUhvc3QuY3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZUJhbm5lci5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dLVmlldy5jcHAKaW5kZXggNDY3MzY1ZjUxOTY4NmFlNzk5ODQwNjAyY2Q4
N2U0ZjczYmFlZmNkMy4uMmVkNzRkMzc2ZTdkZTFkYjE3OWU4N2I0YjFkY2ExMjBlZTFkMjAzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAi
V0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVmlld1JlZiBXS1ZpZXdDcmVhdGUo
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKQEAg
LTE4OCw0ICsxODksMTAgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tWaWV3UmVmIHZpZXcpCiAg
ICAgcmV0dXJuIHRvSW1wbCh2aWV3KS0+b3BhY2l0eSgpOwogfQogCit2b2lkIFdLVmlld0ZpbmRa
b29tYWJsZUFyZWFGb3JSZWN0KFdLVmlld1JlZiB2aWV3UmVmLCBXS1JlY3Qgd2tSZWN0KQorewor
ICAgIEludFJlY3QgcmVjdCA9IHRvSW50UmVjdCh3a1JlY3QpOworICAgIHRvSW1wbCh2aWV3UmVm
KS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KHJlY3QuY2VudGVyKCksIHJlY3Quc2l6ZSgpKTsK
K30KKwogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmgKaW5kZXggY2QzMGU0OGFjYTI5ZTE5MDkyMWM2MjQzNzIzZWExMDJiMDc4Nzk3MC4uZDhi
Yzc4MWI5YjE5ZTVlZjQ3ZmJiYjcyYzM1ZDdhZThiYTIzMTQ0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmgKQEAgLTM2LDYgKzM2LDcgQEAgdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFnZURpZENoYW5n
ZUNvbnRlbnRzUG9zaXRpb25DYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG8KIHR5cGVkZWYg
dm9pZCAoKldLVmlld1BhZ2VEaWRSZW5kZXJGcmFtZUNhbGxiYWNrKShXS1ZpZXdSZWYgdmlldywg
V0tTaXplIGNvbnRlbnRzU2l6ZSwgV0tSZWN0IGNvdmVyZWRSZWN0LCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJp
YnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLVmlld3BvcnRBdHRyaWJ1dGVzUmVmLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFu
Z2VUb29sdGlwQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1N0cmluZ1JlZiBuZXdUb29sdGlw
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVmlld0RpZEZpbmRa
b29tYWJsZUFyZWFDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG9pbnQgcG9pbnQsIFdLUmVj
dCBhcmVhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmlld0NsaWVudCB7
CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZl
cnNpb247CkBAIC01MSw2ICs1Miw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewogICAgIFdLVmll
d0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDb21wbGV0ZVBh
Z2VUcmFuc2l0aW9uOwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXND
YWxsYmFjayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tWaWV3UGFnZURp
ZENoYW5nZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRvb2x0aXA7Cisg
ICAgV0tWaWV3RGlkRmluZFpvb21hYmxlQXJlYUNhbGxiYWNrICAgICAgICAgICAgICAgIGRpZEZp
bmRab29tYWJsZUFyZWE7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tWaWV3Q2xpZW50IFdLVmlld0Ns
aWVudDsKIApAQCAtMTAzLDYgKzEwNSw4IEBAIFdLX0VYUE9SVCBib29sIFdLVmlld0V4aXRGdWxs
U2NyZWVuKFdLVmlld1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRPcGFjaXR5KFdLVmll
d1JlZiB2aWV3LCBkb3VibGUgb3BhY2l0eSk7CiBXS19FWFBPUlQgZG91YmxlIFdLVmlld09wYWNp
dHkoV0tWaWV3UmVmIHZpZXcpOwogCitXS19FWFBPUlQgdm9pZCBXS1ZpZXdGaW5kWm9vbWFibGVB
cmVhRm9yUmVjdChXS1ZpZXdSZWYsIFdLUmVjdCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmlu
ZGV4IGIzMzYxMTAxMTYzNzg4Y2NmYzIzOTMzMjQ1Yjg3ZmRhNjZjODdmZTEuLjA2ODFkODhhODEz
ZTA4ODk2OGEzZjU4NjA3NmQyN2Q1ZDk0ZGY1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKICNpbmNsdWRlICJQYWdlTG9hZENsaWVudEVmbC5oIgogI2luY2x1ZGUgIlBhZ2VQb2xp
Y3lDbGllbnRFZmwuaCIKICNpbmNsdWRlICJQYWdlVUlDbGllbnRFZmwuaCIKQEAgLTEzNzQsNiAr
MTM3NSwxMSBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gRXdrVmlldzo6dGFrZVNuYXBz
aG90KCkKICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgpOwogfQogCit2b2lkIEV3a1ZpZXc6
OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV0tQb2ludCYgcG9pbnQsIGNvbnN0IFdLUmVjdCYg
YXJlYSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBFdmFzX1NtYXJ0X0NsYXNzIEV3
a1ZpZXc6OnBhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRfTlVMTDsKIAog
Ly8gRnJlZSBFd2sgVmlldyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmgKaW5kZXggMDQzMTdhNmE2NjVhNTM5OWNkMzNmYWM0ZmZlZDZiNzYyMGVm
MmY1NS4uNjdhNDY4ZDQxODNjYjkwZjMzYmU3NDBhYjllZmExNDMzZDMyZWFhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjAxLDYgKzIwMSw4IEBA
IHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiB0YWtlU25hcHNob3Qo
KTsKIAorICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXS1BvaW50JiwgY29uc3Qg
V0tSZWN0Jik7CisKIHByaXZhdGU6CiAgICAgRXdrVmlldyhXS1ZpZXdSZWYsIEV2YXNfT2JqZWN0
Kik7CiAgICAgfkV3a1ZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZVBy
b3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM0YTliMzM4ZjdjZDEzM2Zk
OTZjMDU5ODg4MWI2Y2U4N2JkMWQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3Jh
cGhpY3MuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
KworI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCisjaW5jbHVkZSAiUGFnZUNsaWVudC5oIgor
I2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3Zv
aWQgV2ViUGFnZVByb3h5OjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgSW50UG9pbnQm
IHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmVhKQoreworICAgIGlmICghaXNWYWxpZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkZp
bmRab29tYWJsZUFyZWFGb3JQb2ludChwb2ludCwgYXJlYSksIG1fcGFnZUlEKTsKK30KKwordm9p
ZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdl
dCwgY29uc3QgSW50UmVjdCYgYXJlYSkKK3sKKyAgICBtX3BhZ2VDbGllbnQtPmRpZEZpbmRab29t
YWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4IGUx
YjQ0ZTBlNjRmMzc1MmY2YTA5YmYwZjEyMmUzOTc3NTE0Njc0ZGYuLjdjYzA5M2Y1MjUyZDRmNDk0
ZGEyOTk1ZjdjZWVjYmMxNzI2ZjJlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC0yMDcsNiArMjA3
LDExIEBAIHZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmIHNpemUpCiAgICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAKK3ZvaWQgV2Vi
Vmlldzo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgdGFyZ2V0
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBhcmVhKQoreworICAgIG1fY2xpZW50LmRpZEZpbmRa
b29tYWJsZUFyZWEodGhpcywgdGFyZ2V0LCBhcmVhKTsKK30KKwogQWZmaW5lVHJhbnNmb3JtIFdl
YlZpZXc6OnRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRyYW5zZm9y
bVRvU2NlbmUoKS5pbnZlcnNlKCk7CkBAIC01MzAsNiArNTM1LDExIEBAIHZvaWQgV2ViVmlldzo6
cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKICAgICBtX2NsaWVudC5kaWRDb21wbGV0ZVBh
Z2VUcmFuc2l0aW9uKHRoaXMpOwogfQogCit2b2lkIFdlYlZpZXc6OmZpbmRab29tYWJsZUFyZWFG
b3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNpemUpCit7Cisg
ICAgbV9wYWdlLT5maW5kWm9vbWFibGVBcmVhRm9yUG9pbnQodHJhbnNmb3JtRnJvbVNjZW5lKCku
bWFwUG9pbnQocG9pbnQpLCB0cmFuc2Zvcm1Gcm9tU2NlbmUoKS5tYXBTaXplKHNpemUpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmgKaW5kZXggN2NhM2M2MjUwOTI1Y2QzOTIwMjQ0NDE3ZGFmODZjMGE4
YjY0YzhiZC4uYmU2YzI5NDhmNWQxY2I1MDUxY2NmMTYwMTY3ZDAyOTBjNGYxYWY0MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlZpZXcuaApAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleGl0RnVsbFNjcmVl
bigpOwogI2VuZGlmCiAKKyAgICB2b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2ludChjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogICAgIC8vIFZp
ZXcgY2xpZW50LgogICAgIHZvaWQgaW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS1ZpZXdDbGllbnQq
KTsKIApAQCAtMTAxLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENoYW5nZUNvbnRl
bnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgY29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1NpemU7IH0KICAg
ICBXZWJDb3JlOjpGbG9hdFNpemUgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpIGNvbnN0OworICAgIHZv
aWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmKTsKIAogICAgIC8vIEZJWE1FOiBTaG91bGQgYmVjb21lIHByaXZhdGUg
d2hlbiBXZWIgRXZlbnRzIGNyZWF0aW9uIGlzIG1vdmVkIHRvIFdlYlZpZXcuCiAgICAgV2ViQ29y
ZTo6QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0Ns
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3Q2xpZW50LmNwcAppbmRleCBjY2M0MzVmYWUwYmYyOTE0YmEyNWMzYTM3ZDQ2YjIxYWRm
MGNmZjNiLi5jMWVhZDM2MGY0ZjlhZWExMmI4MjE4ZTJhNjIyMmI5NmQyY2I3YzQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3Q2xpZW50LmNwcApAQCAtMTExLDYgKzExMSwxNCBAQCB2b2lkIFdlYlZpZXdD
bGllbnQ6OmRpZENoYW5nZVRvb2x0aXAoV2ViVmlldyogdmlldywgY29uc3QgU3RyaW5nJiB0b29s
dGlwKQogICAgIG1fY2xpZW50LmRpZENoYW5nZVRvb2x0aXAodG9BUEkodmlldyksIGFkb3B0V0so
dG9Db3BpZWRBUEkodG9vbHRpcCkpLmdldCgpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAor
dm9pZCBXZWJWaWV3Q2xpZW50OjpkaWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcqIHZpZXcsIGNv
bnN0IEludFBvaW50JiB0YXJnZXQsIGNvbnN0IEludFJlY3QmIGFyZWEpCit7CisgICAgaWYgKCFt
X2NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Ns
aWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKHRvQVBJKHZpZXcpLCB0b0FQSSh0YXJnZXQpLCB0b0FQ
SShhcmVhKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0Ns
aWVudC5oCmluZGV4IDQ0YmY0ZGRkNzMwZjgxOTkxN2E5NWI2MDI1MDFlZTc2ZWQ0YTNmYzQuLjYy
MjIzMjk1YjgyNGJkYjIxOTc5ZDUzMjU1ZGI2OTllN2Y3NzUzZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50LmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ29tcGxldGVQ
YWdlVHJhbnNpdGlvbihXZWJWaWV3Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJp
YnV0ZXMoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOwogICAg
IHZvaWQgZGlkQ2hhbmdlVG9vbHRpcChXZWJWaWV3KiwgY29uc3QgU3RyaW5nJiB0b29sdGlwKTsK
KyAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA5NWY2Njk2M2Fj
ODMwZmM2ZTA3NGZiMGI3MDY3ZTI3YTU5YmU1MjIwLi45NWVmYTMxNzJmZjI2MWYwOTI2YWY5YWI2
YmQzNmMyNjE5ZmEwMGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAg
LTEyMSw4ICsxMjEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFt
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIGNvdmVyZWRSZWN0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VUcmFuc2l0aW9u
Vmlld3BvcnRSZWFkeSgpID0gMDsKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJl
YShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7
CisjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVu
dGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3Ry
aW5nJiByZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2Vy
bmFtZSwgU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYg
aWdub3JlRXJyb3JzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZVByb3h5QXV0aGVudGlj
YXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9y
dCwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3Ry
aW5nJiBwYXNzd29yZCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDdlZTkzOWVhNzY3MDEwMGQ1ZjBhOTI2ZjlkMWQwMjZjNjZlNjcyNzMuLmVjZTI2NWM0
N2IxYjVkNjYxODExNzMxYzI0MmQxZDZjNWU3MmI3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTY2Miw3ICs2NjIsNyBAQCBwdWJsaWM6CiAKICAgICBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycygpIGNvbnN0OwogCi0jaWYg
UExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZvaWQgZmlu
ZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpOwogI2VuZGlmCiAKQEAgLTg4NywxMCArODg3LDkgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7
CiAgICAgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKTsKICNlbmRpZgotI2lmIFBM
QVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2b2lkIGRpZEZp
bmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0Jik7CiAjZW5kaWYKLQogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAg
ICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgppbmRleCAxZDg2OTlmZTlhMjQzZmU0NmRmN2IxMzZlNGIzZDA2NWJiNTNjZDc2Li5i
ZWU3MGMwNzZhNjkxMzVlY2UxOWRlNmU3Yzg2MDAyNjIzOGZkNjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTc3LDggKzc3
LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJlcXVlc3RTY3Jv
bGwoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCiAgICAgUGFnZVRyYW5zaXRpb25WaWV3cG9ydFJl
YWR5KCkKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBvaW50IHRhcmdldCwg
V2ViQ29yZTo6SW50UmVjdCBhcmVhKQorI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCiAgICAgQXV0
aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUsIFdURjo6U3Ry
aW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdURjo6U3RyaW5n
IHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZpY2F0ZVZlcmlmaWNh
dGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGlnbm9yZUVycm9ycykK
ICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3Ru
YW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdU
Rjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IDBlNjZlYWI0NjgxZWU4
MmY4MzZiMTMzM2YxMGM3ZGMwNGQ4Y2MxN2EuLmYxMjg5MTA3ZjE5YWQxZDdkZGNlNDMzNjcyNGEy
MzhiMDQxMGNmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmll
d0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xp
ZW50RWZsLmNwcApAQCAtMTU0LDYgKzE1NCwxMSBAQCB2b2lkIFZpZXdDbGllbnRFZmw6OmRpZENo
YW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiB0b29sdGlwLCBjb25zdCB2b2lkKgog
ICAgICAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPnNtYXJ0Q2FsbGJhY2s8VG9vbHRpcFRleHRT
ZXQ+KCkuY2FsbChXS0VpbmFTaGFyZWRTdHJpbmcodG9vbHRpcCkpOwogfQogCit2b2lkIFZpZXdD
bGllbnRFZmw6OmRpZEZpbmRab29tYWJsZUFyZWEoV0tWaWV3UmVmLCBXS1BvaW50IHBvaW50LCBX
S1JlY3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICB0b0V3a1ZpZXcoY2xp
ZW50SW5mbyktPmRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIGFyZWEpOworfQorCiBWaWV3Q2xp
ZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmlldykK
IHsKQEAgLTE2NCw2ICsxNjksNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1Zp
ZXcqIHZpZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVudEN1cnJlbnRW
ZXJzaW9uOwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgdmlld0NsaWVu
dC5kaWRDaGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7CisgICAgdmll
d0NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhID0gZGlkRmluZFpvb21hYmxlQXJlYTsKICAgICB2
aWV3Q2xpZW50LnZpZXdOZWVkc0Rpc3BsYXkgPSB2aWV3TmVlZHNEaXNwbGF5OwogICAgIHZpZXdD
bGllbnQud2ViUHJvY2Vzc0NyYXNoZWQgPSB3ZWJQcm9jZXNzQ3Jhc2hlZDsKICAgICB2aWV3Q2xp
ZW50LndlYlByb2Nlc3NEaWRSZWxhdW5jaCA9IHdlYlByb2Nlc3NEaWRSZWxhdW5jaDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5kZXggM2YxOGJlYTUz
MjdlN2FiNjgwNjJhYjNhZTI4ODRlNzQ3MTY0OThjZi4uMWJlZTM2OTM5NmU4YzljZThhZjU3NGNh
YjZmNDUyY2JmZDIzZWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9WaWV3Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3
Q2xpZW50RWZsLmgKQEAgLTU2LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBk
aWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKFdLVmlld1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKFdLVmlld1Jl
ZiwgV0tWaWV3cG9ydEF0dHJpYnV0ZXNSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAg
IHN0YXRpYyB2b2lkIGRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkRmluZFpvb21hYmxlQXJl
YShXS1ZpZXdSZWYsIFdLUG9pbnQsIFdLUmVjdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAK
ICAgICBFd2tWaWV3KiBtX3ZpZXc7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9XZWJQYWdlUHJveHlRdC5jcHAKaW5kZXggNGYyNmQ2NWUwOTBiMDEzZjdlM2I0ZmU2OThkMmJk
ZDU5YWE5MjI4Yi4uYTg5NzgyNTA2M2VmOWI3MzhlZDY2ZDgxYWM0YzRlMGNhODFlMjNhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFnZVByb3h5UXQuY3BwCkBAIC04
NiwxOSArODYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2VuZEFwcGxpY2F0aW9uU2NoZW1lUmVw
bHkoY29uc3QgUVF1aWNrTmV0d29ya1JlcGx5KiByZXBseSkKICNlbmRpZgogfQogCi12b2lkIFdl
YlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2ludCYgdGFyZ2V0LCBj
b25zdCBJbnRSZWN0JiBhcmVhKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkRmluZFpvb21hYmxl
QXJlYSh0YXJnZXQsIGFyZWEpOwotfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFpvb21hYmxl
QXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6ZSYgYXJlYSkK
LXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpGaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQocG9pbnQs
IGFyZWEpLCBtX3BhZ2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjphdXRoZW50aWNhdGlv
blJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBTdHJpbmcmIHJl
YWxtLCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBT
dHJpbmcmIHBhc3N3b3JkKQogewogICAgIG1fcGFnZUNsaWVudC0+aGFuZGxlQXV0aGVudGljYXRp
b25SZXF1aXJlZFJlcXVlc3QoaG9zdG5hbWUsIHJlYWxtLCBwcmVmaWxsZWRVc2VybmFtZSwgdXNl
cm5hbWUsIHBhc3N3b3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUwMDU5YjMwMWFh
ZGE3MmI0Mjk0MjZkNTcxNjliNzMzMGY1ZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICog
Q29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisKKyNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiV2Vi
RnJhbWUuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvRXZlbnRIYW5kbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxWaWV3Lmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lm
IEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQordm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVh
Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmVhKQorewor
ICAgIE5vZGUqIG5vZGUgPSAwOworICAgIEludFJlY3Qgem9vbWFibGVBcmVhOworICAgIGJvb2wg
Zm91bmRBcmVhRm9yVG91Y2hQb2ludCA9IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+ZXZlbnRI
YW5kbGVyKCktPmJlc3Rab29tYWJsZUFyZWFGb3JUb3VjaFBvaW50KHBvaW50LCBJbnRTaXplKGFy
ZWEud2lkdGgoKSAvIDIsIGFyZWEuaGVpZ2h0KCkgLyAyKSwgem9vbWFibGVBcmVhLCBub2RlKTsK
KworICAgIGlmICghZm91bmRBcmVhRm9yVG91Y2hQb2ludCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgQVNTRVJUKG5vZGUpOworCisgICAgaWYgKG5vZGUtPmRvY3VtZW50KCkgJiYgbm9kZS0+ZG9j
dW1lbnQoKS0+dmlldygpKQorICAgICAgICB6b29tYWJsZUFyZWEgPSBub2RlLT5kb2N1bWVudCgp
LT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwgem9vbWFibGVB
cmVhKSk7Cit9CisKKyNlbHNlCit2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCit7CisgICAgVU5V
U0VEX1BBUkFNKGFyZWEpOworICAgIEZyYW1lKiBtYWluZnJhbWUgPSBtX21haW5GcmFtZS0+Y29y
ZUZyYW1lKCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtYWluZnJhbWUtPmV2ZW50SGFu
ZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluZnJhbWUtPnZpZXcoKS0+d2luZG93VG9D
b250ZW50cyhwb2ludCksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0
OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcgfCBIaXRUZXN0UmVxdWVz
dDo6RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKKworICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5u
ZXJOb2RlKCk7CisKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIEludFJl
Y3Qgem9vbWFibGVBcmVhID0gbm9kZS0+cGl4ZWxTbmFwcGVkQm91bmRpbmdCb3goKTsKKworICAg
IHdoaWxlICh0cnVlKSB7CisgICAgICAgIGJvb2wgZm91bmQgPSAhbm9kZS0+aXNUZXh0Tm9kZSgp
ICYmICFub2RlLT5pc1NoYWRvd1Jvb3QoKTsKKworICAgICAgICAvLyBObyBjYW5kaWRhdGUgZm91
bmQsIGJhaWwgb3V0LgorICAgICAgICBpZiAoIWZvdW5kICYmICFub2RlLT5wYXJlbnROb2RlKCkp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FuZGlkYXRlIGZvdW5kLCBhbmQg
aXQgaXMgYSBiZXR0ZXIgY2FuZGlkYXRlIHRoYW4gaXRzIHBhcmVudC4KKyAgICAgICAgLy8gTkI6
IEEgcGFyZW50IGlzIGNvbnNpZGVyZWQgYSBiZXR0ZXIgY2FuZGlkYXRlIGlmZiB0aGUgbm9kZSBp
cworICAgICAgICAvLyBjb250YWluZWQgYnkgaXQgYW5kIGl0IGlzIHRoZSBvbmx5IGNoaWxkLgor
ICAgICAgICBpZiAoZm91bmQgJiYgKCFub2RlLT5wYXJlbnROb2RlKCkgfHwgbm9kZS0+cGFyZW50
Tm9kZSgpLT5jaGlsZE5vZGVDb3VudCgpICE9IDEpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICAgICAgem9vbWFibGVBcmVhLnVu
aXRlKG5vZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5nQm94KCkpOworICAgIH0KKworICAgIGlmIChu
b2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCkgJiYgbm9kZS0+ZG9j
dW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpKSB7CisgICAgICAgIGNvbnN0IFNjcm9sbFZpZXcqIHZp
ZXcgPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT52aWV3KCk7CisgICAgICAgIHpvb21hYmxl
QXJlYSA9IHZpZXctPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKyAgICB9CisKKyAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQs
IHpvb21hYmxlQXJlYSkpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGFhN2JmZmEzNTc2YWVhMDkxOTFjMzk5
ODBlYmEzOGE1YWZjZDg5MjQuLmQ4ZDg0MDc4NjE5NDUxM2RjNTNlNjllYWJlODk2NzQxODRiNzUz
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTMxODgsNjYgKzMxODgsNiBAQCBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdCogV2Vi
UGFnZTo6YmFja0ZvcndhcmRMaXN0KCkKICAgICByZXR1cm4gbV9iYWNrRm9yd2FyZExpc3QuZ2V0
KCk7CiB9CiAKLSNpZiBQTEFURk9STShRVCkKLSNpZiBFTkFCTEUoVE9VQ0hfQURKVVNUTUVOVCkK
LXZvaWQgV2ViUGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb2ludCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSkKLXsKLSAgICBOb2Rl
KiBub2RlID0gMDsKLSAgICBJbnRSZWN0IHpvb21hYmxlQXJlYTsKLSAgICBib29sIGZvdW5kQXJl
YUZvclRvdWNoUG9pbnQgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmV2ZW50SGFuZGxlcigp
LT5iZXN0Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2ludChwb2ludCwgSW50U2l6ZShhcmVhLndpZHRo
KCkgLyAyLCBhcmVhLmhlaWdodCgpIC8gMiksIHpvb21hYmxlQXJlYSwgbm9kZSk7Ci0KLSAgICBp
ZiAoIWZvdW5kQXJlYUZvclRvdWNoUG9pbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VS
VChub2RlKTsKLQotICAgIGlmIChub2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRvY3VtZW50KCkt
PnZpZXcoKSkKLSAgICAgICAgem9vbWFibGVBcmVhID0gbm9kZS0+ZG9jdW1lbnQoKS0+dmlldygp
LT5jb250ZW50c1RvV2luZG93KHpvb21hYmxlQXJlYSk7Ci0KLSAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIHpvb21hYmxlQXJlYSkpOwot
fQotCi0jZWxzZQotdm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBhcmVhKQot
ewotICAgIFVOVVNFRF9QQVJBTShhcmVhKTsKLSAgICBGcmFtZSogbWFpbmZyYW1lID0gbV9tYWlu
RnJhbWUtPmNvcmVGcmFtZSgpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbWFpbmZyYW1l
LT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFpbmZyYW1lLT52aWV3KCkt
PndpbmRvd1RvQ29udGVudHMocG9pbnQpLCBIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRU
ZXN0UmVxdWVzdDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6Oklnbm9yZUNsaXBwaW5nIHwgSGl0
VGVzdFJlcXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0KLSAgICBOb2RlKiBub2RlID0g
cmVzdWx0LmlubmVyTm9kZSgpOwotCi0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBJbnRSZWN0IHpvb21hYmxlQXJlYSA9IG5vZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5nQm94
KCk7Ci0KLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBib29sIGZvdW5kID0gIW5vZGUtPmlz
VGV4dE5vZGUoKSAmJiAhbm9kZS0+aXNTaGFkb3dSb290KCk7Ci0KLSAgICAgICAgLy8gTm8gY2Fu
ZGlkYXRlIGZvdW5kLCBiYWlsIG91dC4KLSAgICAgICAgaWYgKCFmb3VuZCAmJiAhbm9kZS0+cGFy
ZW50Tm9kZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIC8vIENhbmRpZGF0ZSBm
b3VuZCwgYW5kIGl0IGlzIGEgYmV0dGVyIGNhbmRpZGF0ZSB0aGFuIGl0cyBwYXJlbnQuCi0gICAg
ICAgIC8vIE5COiBBIHBhcmVudCBpcyBjb25zaWRlcmVkIGEgYmV0dGVyIGNhbmRpZGF0ZSBpZmYg
dGhlIG5vZGUgaXMKLSAgICAgICAgLy8gY29udGFpbmVkIGJ5IGl0IGFuZCBpdCBpcyB0aGUgb25s
eSBjaGlsZC4KLSAgICAgICAgaWYgKGZvdW5kICYmICghbm9kZS0+cGFyZW50Tm9kZSgpIHx8IG5v
ZGUtPnBhcmVudE5vZGUoKS0+Y2hpbGROb2RlQ291bnQoKSAhPSAxKSkKLSAgICAgICAgICAgIGJy
ZWFrOwotCi0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7Ci0gICAgICAgIHpvb21h
YmxlQXJlYS51bml0ZShub2RlLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveCgpKTsKLSAgICB9Ci0K
LSAgICBpZiAobm9kZS0+ZG9jdW1lbnQoKSAmJiBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpICYm
IG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCktPnZpZXcoKSkgewotICAgICAgICBjb25zdCBTY3Jv
bGxWaWV3KiB2aWV3ID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpOwotICAgICAg
ICB6b29tYWJsZUFyZWEgPSB2aWV3LT5jb250ZW50c1RvV2luZG93KHpvb21hYmxlQXJlYSk7Ci0g
ICAgfQotCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5kWm9vbWFibGVB
cmVhKHBvaW50LCB6b29tYWJsZUFyZWEpKTsKLX0KLSNlbmRpZgotI2VuZGlmCi0KIFdlYlBhZ2U6
OlNhbmRib3hFeHRlbnNpb25UcmFja2VyOjp+U2FuZGJveEV4dGVuc2lvblRyYWNrZXIoKQogewog
ICAgIGludmFsaWRhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCmluZGV4IGVmNTlmZjk5ZmZiNjE0YjU5YWYzOTgyNmFiZjQzMzAwMTMwNjdmZDEuLmFi
ZWVkYjc0NDc0NDQ0YjQxZjEyYTUxNzY3M2UzY2NkYjIwNGViYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzk3LDcgKzc5Nyw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBoaWRlRmluZFVJKCk7CiAgICAgdm9pZCBjb3VudFN0cmluZ01hdGNoZXMo
Y29uc3QgU3RyaW5nJiwgdWludDMyX3QgZmluZE9wdGlvbnMsIHVpbnQzMl90IG1heE1hdGNoQ291
bnQpOwogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQog
ICAgIHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRl
eCA0OWQzYzQwMzE0MDI2OWIxMzg5OTM0N2M3N2E2NDc3YTIxZjJiZmEyLi44YTZiNTc0OWU4ZDNk
OTFjZThmODZkMTA1NWI2ZGYxODQxYTI3ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjk3LDcgKzI5Nyw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldENvbXBvc2l0
aW9uKFdURjo6U3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nLCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpD
b21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3QgY3Vyc29yUG9zaXRpb24p
CiAgICAgQ2FuY2VsQ29tcG9zaXRpb24oKQogI2VuZGlmCi0jaWYgUExBVEZPUk0oUVQpCisjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIEZpbmRab29tYWJsZUFyZWFGb3JQb2ludChX
ZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgV2ViQ29yZTo6SW50U2l6ZSBhcmVhKQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206982</attachid>
            <date>2013-07-18 05:02:23 -0700</date>
            <delta_ts>2013-07-18 19:10:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118585-20130718210222.patch</filename>
            <type>text/plain</type>
            <size>29079</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjQyOTY5OWY2NzYzOTgx
OTlmZjVmODlhNmQ5NWQ1YWRiYTA3YWIyMS4uMzhmOGRlYTQxNjUyMGQzNWI1YjY0MDZmMDFiNjQz
NmM1NTA4NGQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTA3LTE4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXSBTaGFyZSBR
dCBwb3J0J3MgY29kZXMgdG8gZmluZCB6b29tYWJsZSBhcmVhIHdpdGggQ29vcmRpbmF0ZWRHcmFw
aGljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
ODU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBmdW5jdGlvbiB0byBmaW5kIHpvb21hYmxlIGFyZWEgaXMgbmVlZGVkIGluIG9yZGVyIHRvIGlt
cGxlbWVudCB0aGUKKyAgICAgICAgZmVhdHVyZSB0byBzY2FsZSBmb3IgZG91YmxlLXRhcCBnZXN0
dXJlLiBUaGUgV0syIEVGTCBhbmQgTklYIHBvcnQgd2FudAorICAgICAgICB0byB1c2UgdGhhdCBm
dW5jdGlvbiwgc28gZXh0cmFjdCB0aGUgY29kZSBmcm9tIHRoZSBRdCBwb3J0LCBtYWtlIGl0Cisg
ICAgICAgIHVzYWJsZSBpbiB0aGUgQ29vcmRpbmF0ZWRHcmFwaGljcyBhbmQgYWRkIEFQSSBhbmQg
Y2FsbGJhY2suCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmll
dy5jcHA6CisgICAgICAgIChXS1ZpZXdGaW5kWm9vbWFibGVBcmVhRm9yUmVjdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tWaWV3Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpkaWRG
aW5kWm9vbWFibGVBcmVhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViUGFnZVByb3h5Q29v
cmRpbmF0ZWRHcmFwaGljcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmZpbmRab29tYWJsZUFyZWFGb3JQb2ludCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZEZp
bmRab29tYWJsZUFyZWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpmaW5kWm9vbWFibGVB
cmVhRm9yUG9pbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6ZGlkRmluZFpvb21h
YmxlQXJlYSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
d0NsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVudEVmbDo6ZGlkRmluZFpvb21hYmxlQXJlYSk6
CisgICAgICAgIChXZWJLaXQ6OlZpZXdDbGllbnRFZmw6OlZpZXdDbGllbnRFZmwpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9x
dC9XZWJQYWdlUHJveHlRdC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViUGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbjoKKwogMjAxMy0wNy0xOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgUERGVmlld0NvbnRyb2xsZXIgYW5kIFdLVmll
dyAiY3VzdG9tIHJlcHJlc2VudGF0aW9ucyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggYzIxNDRj
MDNjNTZiOGQxZjMyZjRmNjQ4OTRkYjVjNTZiMTY3MGU0Ny4uZGJhYWM1MjU3Mzk4ZDUzMzFmMTRk
MTI1ZmZlZmNmNjExMDgwMTE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTM2Niw2ICszNjYs
NyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dl
YlByb3RlY3Rpb25TcGFjZS5jcHAKIAogICAgIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorICAgIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCiAKICAgICBV
SVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZFByb3h5TWFwLmNwcApAQCAtNTE5LDYgKzUyMCw3IEBAIHNldChXZWJLaXQy
X1NPVVJDRVMKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViVW5kb1N0ZXAuY3BwCiAKICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwCisgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
UGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCiApCiAKIHNldChXZWJLaXQyX01FU1NBR0VTX0lO
X0ZJTEVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dl
YktpdDIvVGFyZ2V0LnByaQppbmRleCBmZTYzMzZhMTAxNTYzZjFiZTE2ZDViMGQ4MTczNDhkNTdl
NTVkNDM3Li45ODc0YmM3ZmFiYjJjMmQyZWFlOTI5MDFhMmNkYzY2YTI5MTc3YWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Rhcmdl
dC5wcmkKQEAgLTU2NSw2ICs1NjUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvQmFj
a2luZ1N0b3JlLmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L0JhY2tpbmdTdG9yZVF0LmNwcCBcCiAg
ICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkuY3BwIFwKKyAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJQYWdlUHJv
eHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgVUlQcm9jZXNzL0RlZmF1bHRVbmRvQ29u
dHJvbGxlci5jcHAgXAogICAgIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAg
XAogICAgIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eU1hcC5jcHAgXApAQCAtNzQ4
LDYgKzc0OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERp
c3BhdGNoZXIuY3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3Bw
IFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwIFwKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJQYWdlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgXAogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuY3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZUJhbm5l
ci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9Db29yZGluYXRlZEdyYXBoaWNzL1dLVmlldy5jcHAKaW5kZXggNDY3MzY1ZjUxOTY4NmFlNzk5
ODQwNjAyY2Q4N2U0ZjczYmFlZmNkMy4uMmVkNzRkMzc2ZTdkZTFkYjE3OWU4N2I0YjFkY2ExMjBl
ZTFkMjAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV0tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVmlld1JlZiBXS1Zp
ZXdDcmVhdGUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91
cFJlZikKQEAgLTE4OCw0ICsxODksMTAgQEAgZG91YmxlIFdLVmlld09wYWNpdHkoV0tWaWV3UmVm
IHZpZXcpCiAgICAgcmV0dXJuIHRvSW1wbCh2aWV3KS0+b3BhY2l0eSgpOwogfQogCit2b2lkIFdL
Vmlld0ZpbmRab29tYWJsZUFyZWFGb3JSZWN0KFdLVmlld1JlZiB2aWV3UmVmLCBXS1JlY3Qgd2tS
ZWN0KQoreworICAgIEludFJlY3QgcmVjdCA9IHRvSW50UmVjdCh3a1JlY3QpOworICAgIHRvSW1w
bCh2aWV3UmVmKS0+ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KHJlY3QuY2VudGVyKCksIHJlY3Qu
c2l6ZSgpKTsKK30KKwogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9Db29yZGluYXRlZEdyYXBoaWNz
L1dLVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmgKaW5kZXggY2QzMGU0OGFjYTI5ZTE5MDkyMWM2MjQzNzIzZWExMDJiMDc4
Nzk3MC4uZDhiYzc4MWI5YjE5ZTVlZjQ3ZmJiYjcyYzM1ZDdhZThiYTIzMTQ0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tW
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV0tWaWV3LmgKQEAgLTM2LDYgKzM2LDcgQEAgdHlwZWRlZiB2b2lkICgqV0tWaWV3UGFn
ZURpZENoYW5nZUNvbnRlbnRzUG9zaXRpb25DYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG8K
IHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRSZW5kZXJGcmFtZUNhbGxiYWNrKShXS1ZpZXdS
ZWYgdmlldywgV0tTaXplIGNvbnRlbnRzU2l6ZSwgV0tSZWN0IGNvdmVyZWRSZWN0LCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3
cG9ydEF0dHJpYnV0ZXNDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLVmlld3BvcnRBdHRyaWJ1
dGVzUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVmlld1Bh
Z2VEaWRDaGFuZ2VUb29sdGlwQ2FsbGJhY2spKFdLVmlld1JlZiB2aWV3LCBXS1N0cmluZ1JlZiBu
ZXdUb29sdGlwLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVmll
d0RpZEZpbmRab29tYWJsZUFyZWFDYWxsYmFjaykoV0tWaWV3UmVmIHZpZXcsIFdLUG9pbnQgcG9p
bnQsIFdLUmVjdCBhcmVhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogc3RydWN0IFdLVmll
d0NsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlcnNpb247CkBAIC01MSw2ICs1Miw3IEBAIHN0cnVjdCBXS1ZpZXdDbGllbnQgewog
ICAgIFdLVmlld0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRD
b21wbGV0ZVBhZ2VUcmFuc2l0aW9uOwogICAgIFdLVmlld1BhZ2VEaWRDaGFuZ2VWaWV3cG9ydEF0
dHJpYnV0ZXNDYWxsYmFjayAgICBkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXM7CiAgICAgV0tW
aWV3UGFnZURpZENoYW5nZVRvb2x0aXBDYWxsYmFjayAgICAgICAgICAgICAgIGRpZENoYW5nZVRv
b2x0aXA7CisgICAgV0tWaWV3RGlkRmluZFpvb21hYmxlQXJlYUNhbGxiYWNrICAgICAgICAgICAg
ICAgIGRpZEZpbmRab29tYWJsZUFyZWE7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tWaWV3Q2xpZW50
IFdLVmlld0NsaWVudDsKIApAQCAtMTAzLDYgKzEwNSw4IEBAIFdLX0VYUE9SVCBib29sIFdLVmll
d0V4aXRGdWxsU2NyZWVuKFdLVmlld1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ZpZXdTZXRPcGFj
aXR5KFdLVmlld1JlZiB2aWV3LCBkb3VibGUgb3BhY2l0eSk7CiBXS19FWFBPUlQgZG91YmxlIFdL
Vmlld09wYWNpdHkoV0tWaWV3UmVmIHZpZXcpOwogCitXS19FWFBPUlQgdm9pZCBXS1ZpZXdGaW5k
Wm9vbWFibGVBcmVhRm9yUmVjdChXS1ZpZXdSZWYsIFdLUmVjdCk7CisKICNpZmRlZiBfX2NwbHVz
cGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXcuY3BwCmluZGV4IGIzMzYxMTAxMTYzNzg4Y2NmYzIzOTMzMjQ1Yjg3ZmRhNjZjODdmZTEuLjA2
ODFkODhhODEzZTA4ODk2OGEzZjU4NjA3NmQyN2Q1ZDk0ZGY1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNl
RXZlbnQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlTG9hZENsaWVudEVmbC5oIgogI2luY2x1ZGUg
IlBhZ2VQb2xpY3lDbGllbnRFZmwuaCIKICNpbmNsdWRlICJQYWdlVUlDbGllbnRFZmwuaCIKQEAg
LTEzNzQsNiArMTM3NSwxMSBAQCBQYXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gRXdrVmlldzo6
dGFrZVNuYXBzaG90KCkKICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgpOwogfQogCit2b2lk
IEV3a1ZpZXc6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV0tQb2ludCYgcG9pbnQsIGNvbnN0
IFdLUmVjdCYgYXJlYSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBFdmFzX1NtYXJ0
X0NsYXNzIEV3a1ZpZXc6OnBhcmVudFNtYXJ0Q2xhc3MgPSBFVkFTX1NNQVJUX0NMQVNTX0lOSVRf
TlVMTDsKIAogLy8gRnJlZSBFd2sgVmlldyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggMDQzMTdhNmE2NjVhNTM5OWNkMzNmYWM0ZmZl
ZDZiNzYyMGVmMmY1NS4uNjdhNDY4ZDQxODNjYjkwZjMzYmU3NDBhYjllZmExNDMzZDMyZWFhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtMjAxLDYg
KzIwMSw4IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiB0YWtl
U25hcHNob3QoKTsKIAorICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXS1BvaW50
JiwgY29uc3QgV0tSZWN0Jik7CisKIHByaXZhdGU6CiAgICAgRXdrVmlldyhXS1ZpZXdSZWYsIEV2
YXNfT2JqZWN0Kik7CiAgICAgfkV3a1ZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3Jh
cGhpY3MuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViUGFnZVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM0YTliMzM4
ZjdjZDEzM2ZkOTZjMDU5ODg4MWI2Y2U4N2JkMWQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDUykKKworI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCisjaW5jbHVkZSAiUGFnZUNs
aWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nl
c3NQcm94eS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBhcmVhKQoreworICAgIGlmICghaXNWYWxp
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OkZpbmRab29tYWJsZUFyZWFGb3JQb2ludChwb2ludCwgYXJlYSksIG1fcGFnZUlEKTsK
K30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9p
bnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXJlYSkKK3sKKyAgICBtX3BhZ2VDbGllbnQtPmRp
ZEZpbmRab29tYWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3Bw
CmluZGV4IDA0MGNlMWI5MTFiYzU0YTVkMzYyYWZmNWY5YTdmMTQ0ZDFjMzkwYzEuLjY2ODM0N2U4
NjdiODE1Y2VkNGVlM2JhNDBkMWIyZTk1ODAwZjc2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC0y
MDcsNiArMjA3LDExIEBAIHZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIHNpemUpCiAgICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAK
K3ZvaWQgV2ViVmlldzo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgdGFyZ2V0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBhcmVhKQoreworICAgIG1fY2xpZW50
LmRpZEZpbmRab29tYWJsZUFyZWEodGhpcywgdGFyZ2V0LCBhcmVhKTsKK30KKwogQWZmaW5lVHJh
bnNmb3JtIFdlYlZpZXc6OnRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IHRyYW5zZm9ybVRvU2NlbmUoKS5pbnZlcnNlKCk7CkBAIC00OTksNiArNTA0LDExIEBAIHZvaWQg
V2ViVmlldzo6cGFnZVRyYW5zaXRpb25WaWV3cG9ydFJlYWR5KCkKICAgICBtX2NsaWVudC5kaWRD
b21wbGV0ZVBhZ2VUcmFuc2l0aW9uKHRoaXMpOwogfQogCit2b2lkIFdlYlZpZXc6OmZpbmRab29t
YWJsZUFyZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIHNp
emUpCit7CisgICAgbV9wYWdlLT5maW5kWm9vbWFibGVBcmVhRm9yUG9pbnQodHJhbnNmb3JtRnJv
bVNjZW5lKCkubWFwUG9pbnQocG9pbnQpLCB0cmFuc2Zvcm1Gcm9tU2NlbmUoKS5tYXBTaXplKHNp
emUpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgKaW5kZXggYmI1ZTcyZGU2MDk1MTllY2QzNWY4YzJl
Y2IwZWFiOGEwZDI5MmNlZC4uMGYwNDYyMzFhZDc4OTdkNjMyM2E3MDI0ZmRmNDJiYjBkODAwYmRi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYlZpZXcuaApAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleGl0
RnVsbFNjcmVlbigpOwogI2VuZGlmCiAKKyAgICB2b2lkIGZpbmRab29tYWJsZUFyZWFGb3JQb2lu
dChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwog
ICAgIC8vIFZpZXcgY2xpZW50LgogICAgIHZvaWQgaW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS1Zp
ZXdDbGllbnQqKTsKIApAQCAtMTAxLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZENo
YW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1Np
emU7IH0KICAgICBXZWJDb3JlOjpGbG9hdFNpemUgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpIGNvbnN0
OworICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKIAogICAgIC8vIEZJWE1FOiBTaG91bGQgYmVjb21l
IHByaXZhdGUgd2hlbiBXZWIgRXZlbnRzIGNyZWF0aW9uIGlzIG1vdmVkIHRvIFdlYlZpZXcuCiAg
ICAgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybUZyb21TY2VuZSgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlld0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcAppbmRleCBjY2M0MzVmYWUwYmYyOTE0YmEyNWMzYTM3
ZDQ2YjIxYWRmMGNmZjNiLi5jMWVhZDM2MGY0ZjlhZWExMmI4MjE4ZTJhNjIyMmI5NmQyY2I3YzQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmNwcApAQCAtMTExLDYgKzExMSwxNCBAQCB2b2lk
IFdlYlZpZXdDbGllbnQ6OmRpZENoYW5nZVRvb2x0aXAoV2ViVmlldyogdmlldywgY29uc3QgU3Ry
aW5nJiB0b29sdGlwKQogICAgIG1fY2xpZW50LmRpZENoYW5nZVRvb2x0aXAodG9BUEkodmlldyks
IGFkb3B0V0sodG9Db3BpZWRBUEkodG9vbHRpcCkpLmdldCgpLCBtX2NsaWVudC5jbGllbnRJbmZv
KTsKIH0KIAordm9pZCBXZWJWaWV3Q2xpZW50OjpkaWRGaW5kWm9vbWFibGVBcmVhKFdlYlZpZXcq
IHZpZXcsIGNvbnN0IEludFBvaW50JiB0YXJnZXQsIGNvbnN0IEludFJlY3QmIGFyZWEpCit7Cisg
ICAgaWYgKCFtX2NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX2NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhKHRvQVBJKHZpZXcpLCB0b0FQSSh0YXJn
ZXQpLCB0b0FQSShhcmVhKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
d0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlld0NsaWVudC5oCmluZGV4IDQ0YmY0ZGRkNzMwZjgxOTkxN2E5NWI2MDI1MDFlZTc2ZWQ0
YTNmYzQuLjYyMjIzMjk1YjgyNGJkYjIxOTc5ZDUzMjU1ZGI2OTllN2Y3NzUzZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XZWJWaWV3Q2xpZW50LmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlk
Q29tcGxldGVQYWdlVHJhbnNpdGlvbihXZWJWaWV3Kik7CiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3
cG9ydEF0dHJpYnV0ZXMoV2ViVmlldyosIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRl
cyYpOwogICAgIHZvaWQgZGlkQ2hhbmdlVG9vbHRpcChXZWJWaWV3KiwgY29uc3QgU3RyaW5nJiB0
b29sdGlwKTsKKyAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoV2ViVmlldyosIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBm
ODZmMWRlZjcwNzZlMmE2MjQ1YTQ4NDA5NDkyOWQzZDZmNGM3Y2U5Li4wZGYyYzIwZWYwY2RmNzZj
OTZjMzQzMmY3NGFhZDIwMzQzMmVlMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTEyMSw4ICsxMjEsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VU
cmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpID0gMDsKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQor
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpv
b21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSA9IDA7CisjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKICAgICB2aXJ0dWFsIHZvaWQgaGFu
ZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwg
Y29uc3QgU3RyaW5nJiByZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3Ry
aW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSwgYm9vbCYgaWdub3JlRXJyb3JzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZVByb3h5
QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWlu
dDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2Vy
bmFtZSwgU3RyaW5nJiBwYXNzd29yZCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDI2MTk5YzFhYTVkOTk5NDExZDA5MjA5ZDM1MDY5NmNiYmZiY2Y4YmYu
LjU1YTdhNjk0NGU3ODczZjBlMjNkOGVjM2JiOWExNTFjNThjNDE5ZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY2Miw3ICs2NjIsNyBAQCBwdWJsaWM6CiAK
ICAgICBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGNyZWF0aW9uUGFyYW1ldGVycygpIGNvbnN0
OwogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAg
IHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jiwg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogI2VuZGlmCiAKQEAgLTg4NywxMCArODg3LDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50Jik7CiAgICAgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVhZHkoKTsKICNlbmRp
ZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2
b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0Jik7CiAjZW5kaWYKLQogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShFRkwpCiAgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCA4YTExZGQ3MDZmYzk2NTVhMGYwMjgyZDRhZDUxYzg1YTcz
YWU4Mjg1Li42YzE1Mzg1ZTY5NDUwMmQ1ZjY2NTJiMWZjZTE2ZjU4MDQwMjRhNTBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTc3LDggKzc3LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJl
cXVlc3RTY3JvbGwoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCiAgICAgUGFnZVRyYW5zaXRpb25W
aWV3cG9ydFJlYWR5KCkKICNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBvaW50
IHRhcmdldCwgV2ViQ29yZTo6SW50UmVjdCBhcmVhKQorI2VuZGlmCisjaWYgUExBVEZPUk0oUVQp
CiAgICAgQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUs
IFdURjo6U3RyaW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdU
Rjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZpY2F0
ZVZlcmlmaWNhdGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGlnbm9y
ZUVycm9ycykKICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3Ry
aW5nIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFt
ZSkgLT4gKFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCmluZGV4IDBlNjZl
YWI0NjgxZWU4MmY4MzZiMTMzM2YxMGM3ZGMwNGQ4Y2MxN2EuLmYxMjg5MTA3ZjE5YWQxZDdkZGNl
NDMzNjcyNGEyMzhiMDQxMGNmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVmlld0NsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9WaWV3Q2xpZW50RWZsLmNwcApAQCAtMTU0LDYgKzE1NCwxMSBAQCB2b2lkIFZpZXdDbGllbnRF
Zmw6OmRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmluZ1JlZiB0b29sdGlwLCBjb25z
dCB2b2lkKgogICAgICAgICB0b0V3a1ZpZXcoY2xpZW50SW5mbyktPnNtYXJ0Q2FsbGJhY2s8VG9v
bHRpcFRleHRTZXQ+KCkuY2FsbChXS0VpbmFTaGFyZWRTdHJpbmcodG9vbHRpcCkpOwogfQogCit2
b2lkIFZpZXdDbGllbnRFZmw6OmRpZEZpbmRab29tYWJsZUFyZWEoV0tWaWV3UmVmLCBXS1BvaW50
IHBvaW50LCBXS1JlY3QgYXJlYSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICB0b0V3
a1ZpZXcoY2xpZW50SW5mbyktPmRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIGFyZWEpOworfQor
CiBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3Zp
ZXcodmlldykKIHsKQEAgLTE2NCw2ICsxNjksNyBAQCBWaWV3Q2xpZW50RWZsOjpWaWV3Q2xpZW50
RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgdmlld0NsaWVudC52ZXJzaW9uID0ga1dLVmlld0NsaWVu
dEN1cnJlbnRWZXJzaW9uOwogICAgIHZpZXdDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAg
dmlld0NsaWVudC5kaWRDaGFuZ2VDb250ZW50c1NpemUgPSBkaWRDaGFuZ2VDb250ZW50c1NpemU7
CisgICAgdmlld0NsaWVudC5kaWRGaW5kWm9vbWFibGVBcmVhID0gZGlkRmluZFpvb21hYmxlQXJl
YTsKICAgICB2aWV3Q2xpZW50LnZpZXdOZWVkc0Rpc3BsYXkgPSB2aWV3TmVlZHNEaXNwbGF5Owog
ICAgIHZpZXdDbGllbnQud2ViUHJvY2Vzc0NyYXNoZWQgPSB3ZWJQcm9jZXNzQ3Jhc2hlZDsKICAg
ICB2aWV3Q2xpZW50LndlYlByb2Nlc3NEaWRSZWxhdW5jaCA9IHdlYlByb2Nlc3NEaWRSZWxhdW5j
aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVm
bC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKaW5kZXgg
M2YxOGJlYTUzMjdlN2FiNjgwNjJhYjNhZTI4ODRlNzQ3MTY0OThjZi4uMWJlZTM2OTM5NmU4Yzlj
ZThhZjU3NGNhYjZmNDUyY2JmZDIzZWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9WaWV3Q2xpZW50RWZsLmgKQEAgLTU2LDYgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCBkaWRDb21wbGV0ZVBhZ2VUcmFuc2l0aW9uKFdLVmlld1JlZiwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVz
KFdLVmlld1JlZiwgV0tWaWV3cG9ydEF0dHJpYnV0ZXNSZWYsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZENoYW5nZVRvb2x0aXAoV0tWaWV3UmVmLCBXS1N0cmlu
Z1JlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkRmluZFpv
b21hYmxlQXJlYShXS1ZpZXdSZWYsIFdLUG9pbnQsIFdLUmVjdCwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiAKICAgICBFd2tWaWV3KiBtX3ZpZXc7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlRdC5jcHAKaW5kZXggNGYyNmQ2NWUwOTBiMDEzZjdlM2I0
ZmU2OThkMmJkZDU5YWE5MjI4Yi4uYTg5NzgyNTA2M2VmOWI3MzhlZDY2ZDgxYWM0YzRlMGNhODFl
MjNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94
eVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUGFnZVByb3h5UXQu
Y3BwCkBAIC04NiwxOSArODYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2VuZEFwcGxpY2F0aW9u
U2NoZW1lUmVwbHkoY29uc3QgUVF1aWNrTmV0d29ya1JlcGx5KiByZXBseSkKICNlbmRpZgogfQog
Ci12b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2ludCYg
dGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkRmlu
ZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwotfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6Zmlu
ZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50U2l6
ZSYgYXJlYSkKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpGaW5kWm9vbWFibGVBcmVhRm9yUG9p
bnQocG9pbnQsIGFyZWEpLCBtX3BhZ2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjphdXRo
ZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBT
dHJpbmcmIHJlYWxtLCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVz
ZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKQogewogICAgIG1fcGFnZUNsaWVudC0+aGFuZGxlQXV0
aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoaG9zdG5hbWUsIHJlYWxtLCBwcmVmaWxsZWRVc2Vy
bmFtZSwgdXNlcm5hbWUsIHBhc3N3b3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdy
YXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUw
MDU5YjMwMWFhZGE3MmI0Mjk0MjZkNTcxNjliNzMzMGY1ZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
UGFnZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisKKyNpbmNsdWRlICJI
aXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5j
bHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvRXZlbnRIYW5kbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3Jv
bGxWaWV3Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQordm9pZCBXZWJQYWdlOjpmaW5kWm9v
bWFibGVBcmVhRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXplJiBh
cmVhKQoreworICAgIE5vZGUqIG5vZGUgPSAwOworICAgIEludFJlY3Qgem9vbWFibGVBcmVhOwor
ICAgIGJvb2wgZm91bmRBcmVhRm9yVG91Y2hQb2ludCA9IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUo
KS0+ZXZlbnRIYW5kbGVyKCktPmJlc3Rab29tYWJsZUFyZWFGb3JUb3VjaFBvaW50KHBvaW50LCBJ
bnRTaXplKGFyZWEud2lkdGgoKSAvIDIsIGFyZWEuaGVpZ2h0KCkgLyAyKSwgem9vbWFibGVBcmVh
LCBub2RlKTsKKworICAgIGlmICghZm91bmRBcmVhRm9yVG91Y2hQb2ludCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgQVNTRVJUKG5vZGUpOworCisgICAgaWYgKG5vZGUtPmRvY3VtZW50KCkgJiYg
bm9kZS0+ZG9jdW1lbnQoKS0+dmlldygpKQorICAgICAgICB6b29tYWJsZUFyZWEgPSBub2RlLT5k
b2N1bWVudCgpLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluZFpvb21hYmxlQXJlYShwb2ludCwg
em9vbWFibGVBcmVhKSk7Cit9CisKKyNlbHNlCit2b2lkIFdlYlBhZ2U6OmZpbmRab29tYWJsZUFy
ZWFGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFNpemUmIGFyZWEpCit7
CisgICAgVU5VU0VEX1BBUkFNKGFyZWEpOworICAgIEZyYW1lKiBtYWluZnJhbWUgPSBtX21haW5G
cmFtZS0+Y29yZUZyYW1lKCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtYWluZnJhbWUt
PmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluZnJhbWUtPnZpZXcoKS0+
d2luZG93VG9Db250ZW50cyhwb2ludCksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRl
c3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcgfCBIaXRU
ZXN0UmVxdWVzdDo6RGlzYWxsb3dTaGFkb3dDb250ZW50KTsKKworICAgIE5vZGUqIG5vZGUgPSBy
ZXN1bHQuaW5uZXJOb2RlKCk7CisKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEludFJlY3Qgem9vbWFibGVBcmVhID0gbm9kZS0+cGl4ZWxTbmFwcGVkQm91bmRpbmdCb3go
KTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIGJvb2wgZm91bmQgPSAhbm9kZS0+aXNU
ZXh0Tm9kZSgpICYmICFub2RlLT5pc1NoYWRvd1Jvb3QoKTsKKworICAgICAgICAvLyBObyBjYW5k
aWRhdGUgZm91bmQsIGJhaWwgb3V0LgorICAgICAgICBpZiAoIWZvdW5kICYmICFub2RlLT5wYXJl
bnROb2RlKCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gQ2FuZGlkYXRlIGZv
dW5kLCBhbmQgaXQgaXMgYSBiZXR0ZXIgY2FuZGlkYXRlIHRoYW4gaXRzIHBhcmVudC4KKyAgICAg
ICAgLy8gTkI6IEEgcGFyZW50IGlzIGNvbnNpZGVyZWQgYSBiZXR0ZXIgY2FuZGlkYXRlIGlmZiB0
aGUgbm9kZSBpcworICAgICAgICAvLyBjb250YWluZWQgYnkgaXQgYW5kIGl0IGlzIHRoZSBvbmx5
IGNoaWxkLgorICAgICAgICBpZiAoZm91bmQgJiYgKCFub2RlLT5wYXJlbnROb2RlKCkgfHwgbm9k
ZS0+cGFyZW50Tm9kZSgpLT5jaGlsZE5vZGVDb3VudCgpICE9IDEpKQorICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICAgICAgem9vbWFi
bGVBcmVhLnVuaXRlKG5vZGUtPnBpeGVsU25hcHBlZEJvdW5kaW5nQm94KCkpOworICAgIH0KKwor
ICAgIGlmIChub2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCkgJiYg
bm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygpKSB7CisgICAgICAgIGNvbnN0IFNjcm9s
bFZpZXcqIHZpZXcgPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT52aWV3KCk7CisgICAgICAg
IHpvb21hYmxlQXJlYSA9IHZpZXctPmNvbnRlbnRzVG9XaW5kb3coem9vbWFibGVBcmVhKTsKKyAg
ICB9CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmRab29tYWJsZUFy
ZWEocG9pbnQsIHpvb21hYmxlQXJlYSkpOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDEyN2RiOTg1ZTExMDMw
ZjU5N2RiMWNlYTQyNTg0YjY2MmQzNjRlOWYuLmVkM2VhYzBmMDJjNmI1NDMyZTI5OTQ0OGZjMGY3
MTgyMTg0ZTNjNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTMxNzcsNjYgKzMxNzcsNiBAQCBJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJk
TGlzdCogV2ViUGFnZTo6YmFja0ZvcndhcmRMaXN0KCkKICAgICByZXR1cm4gbV9iYWNrRm9yd2Fy
ZExpc3QuZ2V0KCk7CiB9CiAKLSNpZiBQTEFURk9STShRVCkKLSNpZiBFTkFCTEUoVE9VQ0hfQURK
VVNUTUVOVCkKLXZvaWQgV2ViUGFnZTo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb2ludCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSkKLXsK
LSAgICBOb2RlKiBub2RlID0gMDsKLSAgICBJbnRSZWN0IHpvb21hYmxlQXJlYTsKLSAgICBib29s
IGZvdW5kQXJlYUZvclRvdWNoUG9pbnQgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCktPmV2ZW50
SGFuZGxlcigpLT5iZXN0Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2ludChwb2ludCwgSW50U2l6ZShh
cmVhLndpZHRoKCkgLyAyLCBhcmVhLmhlaWdodCgpIC8gMiksIHpvb21hYmxlQXJlYSwgbm9kZSk7
Ci0KLSAgICBpZiAoIWZvdW5kQXJlYUZvclRvdWNoUG9pbnQpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIEFTU0VSVChub2RlKTsKLQotICAgIGlmIChub2RlLT5kb2N1bWVudCgpICYmIG5vZGUtPmRv
Y3VtZW50KCktPnZpZXcoKSkKLSAgICAgICAgem9vbWFibGVBcmVhID0gbm9kZS0+ZG9jdW1lbnQo
KS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KHpvb21hYmxlQXJlYSk7Ci0KLSAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmRab29tYWJsZUFyZWEocG9pbnQsIHpvb21hYmxl
QXJlYSkpOwotfQotCi0jZWxzZQotdm9pZCBXZWJQYWdlOjpmaW5kWm9vbWFibGVBcmVhRm9yUG9p
bnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBhcmVhKQotewotICAgIFVOVVNFRF9QQVJBTShhcmVhKTsKLSAgICBGcmFtZSogbWFpbmZyYW1l
ID0gbV9tYWluRnJhbWUtPmNvcmVGcmFtZSgpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0g
bWFpbmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFpbmZyYW1l
LT52aWV3KCktPndpbmRvd1RvQ29udGVudHMocG9pbnQpLCBIaXRUZXN0UmVxdWVzdDo6UmVhZE9u
bHkgfCBIaXRUZXN0UmVxdWVzdDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6Oklnbm9yZUNsaXBw
aW5nIHwgSGl0VGVzdFJlcXVlc3Q6OkRpc2FsbG93U2hhZG93Q29udGVudCk7Ci0KLSAgICBOb2Rl
KiBub2RlID0gcmVzdWx0LmlubmVyTm9kZSgpOwotCi0gICAgaWYgKCFub2RlKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBJbnRSZWN0IHpvb21hYmxlQXJlYSA9IG5vZGUtPnBpeGVsU25hcHBlZEJv
dW5kaW5nQm94KCk7Ci0KLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBib29sIGZvdW5kID0g
IW5vZGUtPmlzVGV4dE5vZGUoKSAmJiAhbm9kZS0+aXNTaGFkb3dSb290KCk7Ci0KLSAgICAgICAg
Ly8gTm8gY2FuZGlkYXRlIGZvdW5kLCBiYWlsIG91dC4KLSAgICAgICAgaWYgKCFmb3VuZCAmJiAh
bm9kZS0+cGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIC8vIENh
bmRpZGF0ZSBmb3VuZCwgYW5kIGl0IGlzIGEgYmV0dGVyIGNhbmRpZGF0ZSB0aGFuIGl0cyBwYXJl
bnQuCi0gICAgICAgIC8vIE5COiBBIHBhcmVudCBpcyBjb25zaWRlcmVkIGEgYmV0dGVyIGNhbmRp
ZGF0ZSBpZmYgdGhlIG5vZGUgaXMKLSAgICAgICAgLy8gY29udGFpbmVkIGJ5IGl0IGFuZCBpdCBp
cyB0aGUgb25seSBjaGlsZC4KLSAgICAgICAgaWYgKGZvdW5kICYmICghbm9kZS0+cGFyZW50Tm9k
ZSgpIHx8IG5vZGUtPnBhcmVudE5vZGUoKS0+Y2hpbGROb2RlQ291bnQoKSAhPSAxKSkKLSAgICAg
ICAgICAgIGJyZWFrOwotCi0gICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7Ci0gICAg
ICAgIHpvb21hYmxlQXJlYS51bml0ZShub2RlLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveCgpKTsK
LSAgICB9Ci0KLSAgICBpZiAobm9kZS0+ZG9jdW1lbnQoKSAmJiBub2RlLT5kb2N1bWVudCgpLT5m
cmFtZSgpICYmIG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCktPnZpZXcoKSkgewotICAgICAgICBj
b25zdCBTY3JvbGxWaWV3KiB2aWV3ID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+dmlldygp
OwotICAgICAgICB6b29tYWJsZUFyZWEgPSB2aWV3LT5jb250ZW50c1RvV2luZG93KHpvb21hYmxl
QXJlYSk7Ci0gICAgfQotCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5k
Wm9vbWFibGVBcmVhKHBvaW50LCB6b29tYWJsZUFyZWEpKTsKLX0KLSNlbmRpZgotI2VuZGlmCi0K
IFdlYlBhZ2U6OlNhbmRib3hFeHRlbnNpb25UcmFja2VyOjp+U2FuZGJveEV4dGVuc2lvblRyYWNr
ZXIoKQogewogICAgIGludmFsaWRhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IDlkOTRhMmQyMzE3ZjRhYzFlNDA3MjdkNTI2NDM1NDNkMDI3
NDBkMTcuLjNhMjVjYTE4NjgwMGM4ZGUxMDM2NDlhYTM0MTc0YTQyZTA2OTQzOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzk0LDcgKzc5NCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRlRmluZFVJKCk7CiAgICAgdm9pZCBjb3VudFN0cmlu
Z01hdGNoZXMoY29uc3QgU3RyaW5nJiwgdWludDMyX3QgZmluZE9wdGlvbnMsIHVpbnQzMl90IG1h
eE1hdGNoQ291bnQpOwogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogICAgIHZvaWQgZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYXJlYSk7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbgppbmRleCA0OWQzYzQwMzE0MDI2OWIxMzg5OTM0N2M3N2E2NDc3YTIxZjJiZmEyLi44YTZi
NTc0OWU4ZDNkOTFjZThmODZkMTA1NWI2ZGYxODQxYTI3ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMjk3
LDcgKzI5Nyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNl
dENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nLCBXVEY6OlZlY3RvcjxX
ZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3QgY3Vyc29y
UG9zaXRpb24pCiAgICAgQ2FuY2VsQ29tcG9zaXRpb24oKQogI2VuZGlmCi0jaWYgUExBVEZPUk0o
UVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIEZpbmRab29tYWJsZUFyZWFG
b3JQb2ludChXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgV2ViQ29yZTo6SW50U2l6ZSBhcmVhKQog
I2VuZGlmCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>