<?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>223635</bug_id>
          
          <creation_ts>2021-03-23 07:53:46 -0700</creation_ts>
          <short_desc>Implement cachedPropertyValue for WebXR [SameObject] attributes</short_desc>
          <delta_ts>2021-03-26 09:42:15 -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>WebXR</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208988</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Imanol Fernandez">ifernandez</reporter>
          <assigned_to name="Imanol Fernandez">ifernandez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742786</commentid>
    <comment_count>0</comment_count>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-23 07:53:46 -0700</bug_when>
    <thetext>[SameObject] is not currently implemented in WebKit. We need to implement custom getters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742800</commentid>
    <comment_count>1</comment_count>
      <attachid>424019</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-23 08:30:14 -0700</bug_when>
    <thetext>Created attachment 424019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742809</commentid>
    <comment_count>2</comment_count>
      <attachid>424019</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 08:46:51 -0700</bug_when>
    <thetext>Comment on attachment 424019
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.idl:38
&gt; +    [CustomGetter] readonly attribute Float32Array matrix;

Same issue as below.

&gt; Source/WebCore/Modules/webxr/WebXRViewerPose.idl:35
&gt; +    [CustomGetter, SameObject] readonly attribute FrozenArray&lt;WebXRView&gt; views;

You also need [JSCustomMarkFunction] on the interface and custom bindings code for visitAdditionalChildren() which visits cachedViews() on the impl object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742814</commentid>
    <comment_count>3</comment_count>
      <attachid>424019</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 08:53:32 -0700</bug_when>
    <thetext>Comment on attachment 424019
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.idl:36
&gt;      [SameObject] readonly attribute DOMPointReadOnly position;

Note that SameObject does nothing besides documenting. You don&apos;t have to do it in this change since it does not seem needed for WPT tests. That said, I suggest you add a new test that does:
transfer.position.foo = 1;
gc();
setTimeout(() =&gt; {
  gc();
  shouldBe(&quot;transfer.position.foo&quot;, &quot;1&quot;);
}, 0);

I suspect this will fail because we don&apos;t guarantee we are returning the same object after GC. You can see how JSDOMQuad::visitAdditionalChildren() visits its internal DOMPoint attributes to keep them alive. You&apos;ll likely need to do the exact same thing as JSDOMQuad::visitAdditionalChildren() for position &amp; orientation attributes here. The inverse attribute will likely be an issue too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742839</commentid>
    <comment_count>4</comment_count>
      <attachid>424025</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-23 09:25:59 -0700</bug_when>
    <thetext>Created attachment 424025
Patch

Add JSCustomMarkFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742842</commentid>
    <comment_count>5</comment_count>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-23 09:27:25 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 424019 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424019&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.idl:36
&gt; &gt;      [SameObject] readonly attribute DOMPointReadOnly position;
&gt; 
&gt; Note that SameObject does nothing besides documenting. You don&apos;t have to do
&gt; it in this change since it does not seem needed for WPT tests. That said, I
&gt; suggest you add a new test that does:
&gt; transfer.position.foo = 1;
&gt; gc();
&gt; setTimeout(() =&gt; {
&gt;   gc();
&gt;   shouldBe(&quot;transfer.position.foo&quot;, &quot;1&quot;);
&gt; }, 0);
&gt; 
&gt; I suspect this will fail because we don&apos;t guarantee we are returning the
&gt; same object after GC. You can see how JSDOMQuad::visitAdditionalChildren()
&gt; visits its internal DOMPoint attributes to keep them alive. You&apos;ll likely
&gt; need to do the exact same thing as JSDOMQuad::visitAdditionalChildren() for
&gt; position &amp; orientation attributes here. The inverse attribute will likely be
&gt; an issue too.

Thanks for the info. I&apos;ll test that and add the additional visitAdditionalChildren and test if required</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742879</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-23 10:03:58 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 424019 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424019&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.idl:38
&gt; &gt; +    [CustomGetter] readonly attribute Float32Array matrix;
&gt; 
&gt; Same issue as below.
&gt; 
&gt; &gt; Source/WebCore/Modules/webxr/WebXRViewerPose.idl:35
&gt; &gt; +    [CustomGetter, SameObject] readonly attribute FrozenArray&lt;WebXRView&gt; views;
&gt; 
&gt; You also need [JSCustomMarkFunction] on the interface and custom bindings
&gt; code for visitAdditionalChildren() which visits cachedViews() on the impl
&gt; object.

Could something like:

[CachedAttribute, SameObject] readonly attribute FrozenArray&lt;WebXRView&gt; views;

be used instead for a case like this (it&apos;s been a while since I looked into this, so I can never quire remember).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743036</commentid>
    <comment_count>7</comment_count>
      <attachid>424025</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-23 15:27:57 -0700</bug_when>
    <thetext>Comment on attachment 424025
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRViewerPose.idl:36
&gt; +    [CustomGetter, SameObject] readonly attribute FrozenArray&lt;WebXRView&gt; views;

I suggest you try [CachedAttribute, SameObject] for this FrozenArray, as Sam suggested. If it works, then you won&apos;t need custom bindings for this one, which would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744195</commentid>
    <comment_count>8</comment_count>
      <attachid>424025</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-26 09:10:23 -0700</bug_when>
    <thetext>Comment on attachment 424025
Patch

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

&gt;&gt; Source/WebCore/Modules/webxr/WebXRViewerPose.idl:36
&gt;&gt; +    [CustomGetter, SameObject] readonly attribute FrozenArray&lt;WebXRView&gt; views;
&gt; 
&gt; I suggest you try [CachedAttribute, SameObject] for this FrozenArray, as Sam suggested. If it works, then you won&apos;t need custom bindings for this one, which would be nice.

It works, thanks for the suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744197</commentid>
    <comment_count>9</comment_count>
      <attachid>424363</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-03-26 09:13:38 -0700</bug_when>
    <thetext>Created attachment 424363
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744210</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-26 09:41:33 -0700</bug_when>
    <thetext>Committed r275102: &lt;https://commits.webkit.org/r275102&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744211</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-26 09:42:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/75889305&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424019</attachid>
            <date>2021-03-23 08:30:14 -0700</date>
            <delta_ts>2021-03-23 09:25:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223635-20210323163013.patch</filename>
            <type>text/plain</type>
            <size>22469</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI1NDRjNmM3NjMxMTk0
YTZlMzJlMDc5ZDk2ZWQ3NjAyOTkxOGZjMi4uNjFjNTM4OWFlMTZjOGFlZGI5OTUwY2JmNmI3NTYz
M2FiOGE5MGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAzLTIzICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBjYWNoZWRQcm9wZXJ0eVZhbHVlIGZvciBXZWJYUiBbU2FtZU9iamVjdF0gYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1NhbWVPYmpl
Y3RdIGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgaW4gV2ViS2l0LiBXZSBuZWVkIHRvIGlt
cGxlbWVudCBjdXN0b20gZ2V0dGVycy4KKworICAgICAgICBUZXN0ZWQgYnkgV2ViWFIgV1BULgor
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAg
IChXZWJDb3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjYWNoZWRNYXRyaXgpOgorICAgICAgICAq
IE1vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGw6CisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSVmlldzo6Y2FjaGVk
UHJvamVjdGlvbk1hdHJpeCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUlZpZXdlclBvc2U6OmNhY2hlZFZpZXdzKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSVmlld2VyUG9zZS5pZGw6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpKU1dlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCBjb25zdCk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkpTV2ViWFJWaWV3Ojpwcm9qZWN0aW9uTWF0cml4IGNvbnN0KToKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SlNXZWJYUlZpZXdlclBvc2U6OnZpZXdzIGNvbnN0KToKKwogMjAy
MS0wMy0yMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gWDExIGJ1aWxkIGZpeGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCmluZGV4IDc4Y2IyN2U3NzYyYTk5MmYwM2Q0NmVh
ZTU1MDk4YmMxMjVkYjI4NjcuLjA0YmJmYWM0MGI4MGNmYWY5MDRmZDExYzg3NmM0MjgzZDU4YmNj
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRy
YW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRy
YW5zZm9ybS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CkBAIC01Myw2ICs1
NCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBpbnZlcnNlKCk7
CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHJhd1RyYW5zZm9ybSgpIGNvbnN0Owog
CisgICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCYgY2FjaGVkTWF0cml4KCkgeyByZXR1cm4gbV9j
YWNoZWRNYXRyaXg7IH0KKwogcHJpdmF0ZToKICAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0
IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYpOwogICAgIFdlYlhSUmlnaWRUcmFu
c2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKQEAgLTYzLDYgKzY2LDcgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX21hdHJpeDsKICAgICBSZWZQdHI8V2Vi
WFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNlOwogICAgIFdlYWtQdHI8V2ViWFJSaWdpZFRyYW5z
Zm9ybT4gbV9wYXJlbnRJbnZlcnNlOworICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jYWNo
ZWRNYXRyaXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAppbmRleCAzMzQ0
MTQ4NGFmODRlYTgwMTVlNzIwM2UxMjliNGVhOTJiNzA5NDhiLi5hNzI4Y2Y3YmJlM2M4MjEwYjk4
MjdmYTM0MjNmNDY1NGFmNWU3MWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGwKQEAgLTM1LDYgKzM1LDYgQEAKIAogICAg
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBwb3NpdGlv
bjsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkg
b3JpZW50YXRpb247Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRyaXg7
CisgICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRy
aXg7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUlJpZ2lkVHJhbnNm
b3JtIGludmVyc2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmgK
aW5kZXggZWYzNDFmMTZlZmZlMjdiYzg1YjcwNGVkOTExYjU0NWY0ZjE1MjU1OS4uMTk2NGU4ODUz
YzA4MTA5ZGE1MDM0MGMxOWE3YTY3OTNjOTJiZTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSVmlldy5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCWFIp
CiAKKyNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViWFJS
aWdpZFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlhSRXllLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvRmxvYXQzMkFycmF5Lmg+CkBAIC01OSw2ICs2MCw4IEBAIHB1YmxpYzoKICAgICBib29s
IGlzVmlld3BvcnRNb2RpZmlhYmxlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydE1vZGlmaWFi
bGU7IH0KICAgICB2b2lkIHNldFZpZXdwb3J0TW9kaWZpYWJsZShib29sIG1vZGlmaWFibGUpIHsg
bV92aWV3cG9ydE1vZGlmaWFibGUgPSBtb2RpZmlhYmxlOyB9CiAKKyAgICBKU1ZhbHVlSW5XcmFw
cGVkT2JqZWN0JiBjYWNoZWRQcm9qZWN0aW9uTWF0cml4KCkgeyByZXR1cm4gbV9jYWNoZWRQcm9q
ZWN0aW9uTWF0cml4OyB9CisKIHByaXZhdGU6CiAgICAgV2ViWFJWaWV3KFJlZjxXZWJYUkZyYW1l
PiYmLCBYUkV5ZSwgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIFJlZjxGbG9hdDMyQXJyYXk+
JiYpOwogCkBAIC02OCw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPEZsb2F0MzJBcnJheT4g
bV9wcm9qZWN0aW9uOwogICAgIGJvb2wgbV92aWV3cG9ydE1vZGlmaWFibGUgeyBmYWxzZSB9Owog
ICAgIGRvdWJsZSBtX3JlcXVlc3RlZFZpZXdwb3J0U2NhbGUgeyAxLjAgfTsKLQorICAgIEpTVmFs
dWVJbldyYXBwZWRPYmplY3QgbV9jYWNoZWRQcm9qZWN0aW9uTWF0cml4OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlZpZXcuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcu
aWRsCmluZGV4IGE4Njk1MDQ4MGFjMTQzZjczNDdjNzNjNmZmMTkxMjA1MjVkZWE5YmQuLjdlMTU4
ODIxMDAwYjJkMDU2YjQxNDYwZWM1MjE4ZjBmMDYwOWJlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSVmlldy5pZGwKQEAgLTMyLDcgKzMyLDcgQEAKICAgICBJbnRlcmZh
Y2VOYW1lPVhSVmlldwogXSBpbnRlcmZhY2UgV2ViWFJWaWV3IHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgWFJFeWUgZXllOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGbG9hdDMyQXJyYXkgcHJv
amVjdGlvbk1hdHJpeDsKKyAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRmxv
YXQzMkFycmF5IHByb2plY3Rpb25NYXRyaXg7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHRyYW5zZm9ybTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlPyByZWNvbW1lbmRlZFZpZXdwb3J0U2NhbGU7CiAgICAgdW5kZWZpbmVkIHJl
cXVlc3RWaWV3cG9ydFNjYWxlKGRvdWJsZT8gc2NhbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmgKaW5kZXggZTlmMGEzOWQ4NWI3ZWFjZTcwMTNj
YTE4NDI5ZDJiM2NiYjgwZGNhZS4uOWJkODFlZTJmYjNkYjg3MTE0YjVjM2E1MmFjYmZmZjhlMjg4
NDYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdl
clBvc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlld2VyUG9z
ZS5oCkBAIC00NSwxMiArNDUsMTUgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxSZWY8V2Vi
WFJWaWV3Pj4mIHZpZXdzKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRWaWV3cyhWZWN0b3I8UmVmPFdl
YlhSVmlldz4+JiYpOwogCisgICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCYgY2FjaGVkVmlld3Mo
KSB7IHJldHVybiBtX2NhY2hlZFZpZXdzOyB9CisKIHByaXZhdGU6CiAgICAgV2ViWFJWaWV3ZXJQ
b3NlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVkUG9zaXRpb24pOwog
CiAgICAgYm9vbCBpc1ZpZXdlclBvc2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICBWZWN0b3I8UmVmPFdlYlhSVmlldz4+IG1fdmlld3M7CisgICAgSlNWYWx1ZUluV3JhcHBl
ZE9iamVjdCBtX2NhY2hlZFZpZXdzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaWRsCmluZGV4
IDZhNzZkZTg0MzU0OWZiZjA2M2QwYmE1ZDQxMTNhMDE1Mjk1MGIyZTQuLjQ2ODEyYTgzNWNkZjRm
MzUxMGM4ZGQwMzMzNzE5NmVjN2RmMDA0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSVmlld2VyUG9zZS5pZGwKQEAgLTMyLDUgKzMyLDUgQEAKICAgICBKU0dl
bmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgSW50ZXJmYWNlTmFtZT1YUlZpZXdlclBvc2UKIF0g
aW50ZXJmYWNlIFdlYlhSVmlld2VyUG9zZSA6IFdlYlhSUG9zZSB7Ci0gICAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxXZWJYUlZpZXc+IHZpZXdzOworICAgIFtD
dXN0b21HZXR0ZXIsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxX
ZWJYUlZpZXc+IHZpZXdzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzAwYWE4MDdkMWYwYTIwODY3
YjU2MTdiZGI5ZGNiODgxNDg2ZGU0Ny4uY2E2MWRjZmFlZDgwY2YwYjJiMWE0YWNhMDlkMjM5OTg5
ZTBiYjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYyMyw3ICs2MjMsMTAgQEAgYmluZGluZ3MvanMv
SlNXZWJBbmltYXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3Rv
bS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViWFJSZWZlcmVuY2VTcGFjZUN1c3RvbS5jcHAKK2JpbmRp
bmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2Vi
WFJTcGFjZUN1c3RvbS5jcHAKK2JpbmRpbmdzL2pzL0pTV2ViWFJWaWV3Q3VzdG9tLmNwcAorYmlu
ZGluZ3MvanMvSlNXZWJYUlZpZXdlclBvc2VDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dpbmRv
d1Byb3h5LmNwcAogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCiBiaW5k
aW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBiODU5ZjNhNDJiMDkw
NDkzMGIwNmZlMjFmOGNkM2ExNzE5YTM2MTEuLjcwMzE5MjE0Y2U2ZTM4ZTc2MzAwYTQ2ZmNhMjMx
Mjk0OTk1ZjFmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTYzMjksNiArNjMyOSw5IEBACiAJCTExNUNGQTk2MjA4Qjk1MkIw
MDFFNjk5MSAvKiBMYXlvdXRCb3guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0Qm94LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTE2M0Y4MjEyNEU1RDU5QjAwMEFCOTYw
IC8qIFJlbmRlclRyZWVNdXRhdGlvbkRpc2FsbG93ZWRTY29wZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW5kZXJUcmVlTXV0YXRpb25EaXNhbGxvd2VkU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTE2M0Y4MjMyNEU1RDU5QjAwMEFCOTYwIC8qIFJlbmRlclRyZWVNdXRhdGlvbkRp
c2FsbG93ZWRTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUcmVlTXV0YXRpb25E
aXNhbGxvd2VkU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMTY0OEI0
MTI2MEEzRjZDMDA0QUYxRjIgLyogSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViWFJSaWdpZFRyYW5zZm9ybUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTExNjQ4QjQzMjYwQTNGNkMw
MDRBRjFGMiAvKiBKU1dlYlhSVmlld0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1dlYlhSVmlld0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTExNjQ4QjQ0MjYwQTNGNkQwMDRBRjFGMiAvKiBKU1dlYlhSVmlld2VyUG9zZUN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYlhSVmll
d2VyUG9zZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIwNjg2
MjVFNDFFNTEwMDcwQkU0QiAvKiBPcGVuWFJFeHRlbnNpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wZW5YUkV4dGVuc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxMThCMDY4ODI1RTQxRTUyMDA3MEJFNEIgLyogT3BlblhSRXh0ZW5z
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcGVuWFJFeHRlbnNpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIwNjg5MjVFNDFFNTIwMDcwQkU0
QiAvKiBPcGVuWFJJbnN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBPcGVuWFJJbnN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MzAzNSw2ICsyMzAzOCw5IEBACiAJCQkJQTE2NzdFMjQyMTQ0NTMyODAwQTA4QzM0IC8qIEpTUGF5
bWVudE1ldGhvZENoYW5nZUV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBMTBENkU5NDIxNDRDOTk4
MDBGREQxNEQgLyogSlNQYXltZW50UmVzcG9uc2VDdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4
MTQzMDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAorCQkJCTEx
NjQ4QjQxMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSUmlnaWRUcmFuc2Zvcm1DdXN0b20uY3Bw
ICovLAorCQkJCTExNjQ4QjQzMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSVmlld0N1c3RvbS5j
cHAgKi8sCisJCQkJMTE2NDhCNDQyNjBBM0Y2RDAwNEFGMUYyIC8qIEpTV2ViWFJWaWV3ZXJQb3Nl
Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzM0OEJCRDBEQjdGNTMxMDA0QUJBQjkgLyogSlNYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHAgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJDYWNoZWQgQXR0cmlidXRl
cyB3LyBJbnZhbGlkYXRpb24iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFhMGRi
ZjQ5NmI2OWUwOThiMDJiNmM2YWNmMjUyMDg2ZDBiMWVlNwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAK
QEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpCisjaW5jbHVk
ZSAiSlNXZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisKKyNpbmNsdWRlICJXZWJYUlJpZ2lkVHJhbnNm
b3JtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK0pT
Qzo6SlNWYWx1ZSBKU1dlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeChKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSBjb25zdAoreworICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUobGV4aWNhbEdsb2JhbE9iamVjdC52bSgpKTsKKyAgICByZXR1
cm4gY2FjaGVkUHJvcGVydHlWYWx1ZShsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpcywgd3JhcHBl
ZCgpLmNhY2hlZE1hdHJpeCgpLCBbJl0geworICAgICAgICBKU0M6OkpTVmFsdWUgbWF0cml4ID0g
dG9KUzxJRExGbG9hdDMyQXJyYXk+KGxleGljYWxHbG9iYWxPYmplY3QsICpnbG9iYWxPYmplY3Qo
KSwgdGhyb3dTY29wZSwgd3JhcHBlZCgpLm1hdHJpeCgpKTsKKyAgICAgICAgcmV0dXJuIG1hdHJp
eDsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQlhSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJY
UlZpZXdDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJYUlZpZXdD
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmOTA2YzU4MmQxZmM5MmFlMThmNjE1NGUyOWRiZmMyZmJi
MWIzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YlhSVmlld0N1c3RvbS5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoV0VCWFIpCisjaW5jbHVkZSAiSlNXZWJYUlZpZXcuaCIKKworI2luY2x1ZGUgIldlYlhSVmll
dy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU0M6
OkpTVmFsdWUgSlNXZWJYUlZpZXc6OnByb2plY3Rpb25NYXRyaXgoSlNDOjpKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCkgY29uc3QKK3sKKyAgICBhdXRvIHRocm93U2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7CisgICAgcmV0dXJu
IGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdyYXBwZWQo
KS5jYWNoZWRQcm9qZWN0aW9uTWF0cml4KCksIFsmXSB7CisgICAgICAgIEpTQzo6SlNWYWx1ZSBt
YXRyaXggPSB0b0pTPElETEZsb2F0MzJBcnJheT4obGV4aWNhbEdsb2JhbE9iamVjdCwgKmdsb2Jh
bE9iamVjdCgpLCB0aHJvd1Njb3BlLCB3cmFwcGVkKCkucHJvamVjdGlvbk1hdHJpeCgpKTsKKyAg
ICAgICAgcmV0dXJuIG1hdHJpeDsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQlhSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJYUlZpZXdlclBvc2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJYUlZpZXdlclBvc2VDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmY2Mz
NzgxODc0ODAzMTBlOTYyOGRiNWUxYjFlZTU3MDAzZjgyZmMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5jcHAKQEAg
LTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpCisjaW5jbHVkZSAi
SlNXZWJYUlZpZXdlclBvc2UuaCIKKworI2luY2x1ZGUgIldlYlhSVmlld2VyUG9zZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU0M6OkpTVmFsdWUg
SlNXZWJYUlZpZXdlclBvc2U6OnZpZXdzKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QpIGNvbnN0Cit7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRShsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCkpOworICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0
eVZhbHVlKGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzLCB3cmFwcGVkKCkuY2FjaGVkVmlld3Mo
KSwgWyZdIHsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIHZpZXdzID0gdG9KUzxJRExGcm96ZW5BcnJh
eTxJRExJbnRlcmZhY2U8V2ViWFJWaWV3Pj4+KGxleGljYWxHbG9iYWxPYmplY3QsICpnbG9iYWxP
YmplY3QoKSwgdGhyb3dTY29wZSwgd3JhcHBlZCgpLnZpZXdzKCkpOworICAgICAgICByZXR1cm4g
dmlld3M7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNDFlZWE2N2MxY2E0YWMzYTQ2MGJiOTkyNWM3NTA1MjQ0
YTQyOWU1Li4zYTViMWNlY2EzMjE0YTUzNmRlMzU4M2VkNTFlNzJlYzU0NDE4NGEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMjMgIEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6
QGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGNhY2hlZFByb3BlcnR5VmFsdWUgZm9y
IFdlYlhSIFtTYW1lT2JqZWN0XSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV2ViWFIgW1NhbWVPYmplY3RdIHJlbGF0ZWQg
dGVzdCBleHBlY3RhdGlvbnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMS0wMy0yMyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR0xJQl0gR2FyZGVuaW5nIGh0dHAvdGVzdHMvaW1hZ2VzL21wNC1wYXJ0aWFsLWxv
YWQuaHRtbCBmbGFreSBjcmFzaGVzIGFmdGVyIHIyNzQzNTgKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGI2YmVlZGJmZDFmNWNmZDBlZTQxMDQ3MjkzYmIzYTM5ZWY4NzRhYTAuLjY3
OGIwOWY3NzJkMWM2ZjE5OWZiOGQwYmJhOTg2NTFjYmJkZGJmMDMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTIzICBJbWFub2wgRmVybmFu
ZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBjYWNoZWRQ
cm9wZXJ0eVZhbHVlIGZvciBXZWJYUiBbU2FtZU9iamVjdF0gYXR0cmlidXRlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFdlYlhSIFtTYW1l
T2JqZWN0XSByZWxhdGVkIHRlc3QgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fc2FtZU9iamVjdC5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Np
b25fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdlclBvc2Vf
dmlld3Nfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTAzLTIz
ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgV1BUIGh0
bWwvY2FudmFzL29mZnNjcmVlbi9tYW51YWwvZHJhdy1nZW5lcmljLWZhbWlseSB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clJpZ2lkVHJhbnNmb3JtX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNm
b3JtX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNWU3MTg5M2Qx
OWIwN2JhNzEyYTE3OTUxZjBlYjgzYmUwZGY5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zv
cm1fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
WFJSaWdpZFRyYW5zZm9ybSBwb3NpdGlvbiBhbmQgb3JpZW50YXRpb24gbWVldCBbU2FtZU9iamVj
dF0gcmVxdWlyZW1lbnRzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clNlc3Npb25fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU0
ZGY5M2RjMGVlNmQ0MGRlNjU3OTIyY2Q5ZGUyMTkyNjAyOTM4ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNz
aW9uX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IFhSU2Vzc2lvbiBhdHRyaWJ1dGVzIG1lZXQgW1NhbWVPYmplY3RdIHJlcXVpcmVtZW50CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJWaWV3X3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdfc2FtZU9iamVjdC5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlmNTBjYjhhNmM4NzhlZTgxZDY2ZGE5NDNhMjRh
MGUzZjE5OGU2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3X3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFhSVmlldyBhdHRyaWJ1dGVzIG1lZXQgW1NhbWVP
YmplY3RdIHJlcXVpcmVtZW50CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3ZXJQb3NlX3ZpZXdzX3NhbWVPYmplY3Qu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clZpZXdlclBvc2Vfdmlld3Nfc2FtZU9iamVjdC5odHRwcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjE1NGU4ZDFkY2VjNTQ4MTVjZDM4YjBlMGM4ZDA1MjA1NjVhNmM0
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIveHJWaWV3ZXJQb3NlX3ZpZXdzX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFhSVmlld2VyUG9zZS52aWV3cyBtZWV0cyBb
U2FtZU9iamVjdF0gcmVxdWlyZW1lbnQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBhMjJlZTg4NGFjN2NlMDQzNDM2NDBiZGQ4NWUxNGQwNDBlNDI2ZmFh
Li40ZWRmNjI5MDk0MjBhZjExZGVkMTMxNTQ2YTVmNzY4NDMxNmQwYWU1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjU4LDYgKzY1OCw3IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSZWZlcmVuY2VTcGFjZV9yZWxhdGlv
bnNoaXBzLmh0dHBzLmh0bWwKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJSaWdpZFRyYW5zZm9ybV9jb25zdHJ1Y3Rvci5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5o
dHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9zYW1lT2JqZWN0Lmh0
dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJTZXNzaW9uX2NhbmNlbEFuaW1hdGlvbkZyYW1lLmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX2NhbmNlbEFuaW1hdGlv
bkZyYW1lX2ludmFsaWRoYW5kbGUuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fZW5kLmh0dHBzLmh0bWwgWyBQYXNzIF0K
QEAgLTY2OSw3ICs2NzAsMTAgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clNlc3Npb25fcmVxdWVzdEFuaW1hdGlvbkZyYW1lX2dldFZpZXdlclAKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX3JlcXVlc3RBbmltYXRpb25GcmFt
ZV90aW1lc3RhbXAuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcmVxdWVzdFJlZmVyZW5jZVNwYWNlLmh0dHBzLmh0bWwg
WyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9u
X3JlcXVlc3RSZWZlcmVuY2VTcGFjZV9mZWF0dXJlcy5odHRwcy5odG1sIFsgUGFzcyBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9zYW1lT2JqZWN0Lmh0
dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJTZXNzaW9uX3ZpZXdlcl9yZWZlcmVuY2VTcGFjZS5odHRwcy5odG1sIFsgUGFzcyBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld19zYW1lT2JqZWN0Lmh0dHBz
Lmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJW
aWV3ZXJQb3NlX3ZpZXdzX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdwb3J0X3ZhbGlkLmh0dHBzLmh0bWwg
WyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJXZWJHTExh
eWVyX2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIveHJXZWJHTExheWVyX2ZyYW1lYnVmZmVyX2RyYXcuaHR0cHMuaHRt
bCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424025</attachid>
            <date>2021-03-23 09:25:59 -0700</date>
            <delta_ts>2021-03-26 09:13:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223635-20210323172557.patch</filename>
            <type>text/plain</type>
            <size>23548</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI1NDRjNmM3NjMxMTk0
YTZlMzJlMDc5ZDk2ZWQ3NjAyOTkxOGZjMi4uNjFjNTM4OWFlMTZjOGFlZGI5OTUwY2JmNmI3NTYz
M2FiOGE5MGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAzLTIzICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBjYWNoZWRQcm9wZXJ0eVZhbHVlIGZvciBXZWJYUiBbU2FtZU9iamVjdF0gYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1NhbWVPYmpl
Y3RdIGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgaW4gV2ViS2l0LiBXZSBuZWVkIHRvIGlt
cGxlbWVudCBjdXN0b20gZ2V0dGVycy4KKworICAgICAgICBUZXN0ZWQgYnkgV2ViWFIgV1BULgor
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAg
IChXZWJDb3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjYWNoZWRNYXRyaXgpOgorICAgICAgICAq
IE1vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGw6CisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSVmlldzo6Y2FjaGVk
UHJvamVjdGlvbk1hdHJpeCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUlZpZXdlclBvc2U6OmNhY2hlZFZpZXdzKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSVmlld2VyUG9zZS5pZGw6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpKU1dlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCBjb25zdCk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkpTV2ViWFJWaWV3Ojpwcm9qZWN0aW9uTWF0cml4IGNvbnN0KToKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SlNXZWJYUlZpZXdlclBvc2U6OnZpZXdzIGNvbnN0KToKKwogMjAy
MS0wMy0yMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gWDExIGJ1aWxkIGZpeGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCmluZGV4IDc4Y2IyN2U3NzYyYTk5MmYwM2Q0NmVh
ZTU1MDk4YmMxMjVkYjI4NjcuLjA0YmJmYWM0MGI4MGNmYWY5MDRmZDExYzg3NmM0MjgzZDU4YmNj
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRy
YW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRy
YW5zZm9ybS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CkBAIC01Myw2ICs1
NCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBpbnZlcnNlKCk7
CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHJhd1RyYW5zZm9ybSgpIGNvbnN0Owog
CisgICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCYgY2FjaGVkTWF0cml4KCkgeyByZXR1cm4gbV9j
YWNoZWRNYXRyaXg7IH0KKwogcHJpdmF0ZToKICAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0
IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYpOwogICAgIFdlYlhSUmlnaWRUcmFu
c2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKQEAgLTYzLDYgKzY2LDcgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX21hdHJpeDsKICAgICBSZWZQdHI8V2Vi
WFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNlOwogICAgIFdlYWtQdHI8V2ViWFJSaWdpZFRyYW5z
Zm9ybT4gbV9wYXJlbnRJbnZlcnNlOworICAgIEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jYWNo
ZWRNYXRyaXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAppbmRleCAzMzQ0
MTQ4NGFmODRlYTgwMTVlNzIwM2UxMjliNGVhOTJiNzA5NDhiLi5hNjM3MDFmOTg1OGU1ZDVjNmM0
YzA3YWJjOWYzNTExYzA5YWU1ZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGwKQEAgLTI4LDYgKzI4LDcgQEAKICAgICBD
b25kaXRpb25hbD1XRUJYUiwKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9V2luZG93
LAorICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCiAgICAgSW50ZXJmYWNlTmFtZT1YUlJpZ2lkVHJhbnNmb3JtCiBdIGludGVyZmFjZSBXZWJY
UlJpZ2lkVHJhbnNmb3JtIHsKQEAgLTM1LDYgKzM2LDYgQEAKIAogICAgIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBwb3NpdGlvbjsKICAgICBbU2FtZU9i
amVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkgb3JpZW50YXRpb247Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRyaXg7CisgICAgW0N1c3RvbUdl
dHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRyaXg7CiAgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIGludmVyc2U7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmgKaW5kZXggZWYzNDFmMTZl
ZmZlMjdiYzg1YjcwNGVkOTExYjU0NWY0ZjE1MjU1OS4uMTk2NGU4ODUzYzA4MTA5ZGE1MDM0MGMx
OWE3YTY3OTNjOTJiZTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmll
dy5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCWFIpCiAKKyNpbmNsdWRlICJK
U1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViWFJSaWdpZFRyYW5zZm9ybS5o
IgogI2luY2x1ZGUgIlhSRXllLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFy
cmF5Lmg+CkBAIC01OSw2ICs2MCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzVmlld3BvcnRNb2Rp
ZmlhYmxlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydE1vZGlmaWFibGU7IH0KICAgICB2b2lk
IHNldFZpZXdwb3J0TW9kaWZpYWJsZShib29sIG1vZGlmaWFibGUpIHsgbV92aWV3cG9ydE1vZGlm
aWFibGUgPSBtb2RpZmlhYmxlOyB9CiAKKyAgICBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0JiBjYWNo
ZWRQcm9qZWN0aW9uTWF0cml4KCkgeyByZXR1cm4gbV9jYWNoZWRQcm9qZWN0aW9uTWF0cml4OyB9
CisKIHByaXZhdGU6CiAgICAgV2ViWFJWaWV3KFJlZjxXZWJYUkZyYW1lPiYmLCBYUkV5ZSwgUmVm
PFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIFJlZjxGbG9hdDMyQXJyYXk+JiYpOwogCkBAIC02OCw3
ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPEZsb2F0MzJBcnJheT4gbV9wcm9qZWN0aW9uOwog
ICAgIGJvb2wgbV92aWV3cG9ydE1vZGlmaWFibGUgeyBmYWxzZSB9OwogICAgIGRvdWJsZSBtX3Jl
cXVlc3RlZFZpZXdwb3J0U2NhbGUgeyAxLjAgfTsKLQorICAgIEpTVmFsdWVJbldyYXBwZWRPYmpl
Y3QgbV9jYWNoZWRQcm9qZWN0aW9uTWF0cml4OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRsCmluZGV4IGE4Njk1
MDQ4MGFjMTQzZjczNDdjNzNjNmZmMTkxMjA1MjVkZWE5YmQuLjRlYzA2NjBmNTUwMzllMzAxMjJm
NTJiNzI3M2I5MzMxNWY5OGM0OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJWaWV3LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhSVmlldy5pZGwKQEAgLTI4LDExICsyOCwxMiBAQAogICAgIENvbmRpdGlvbmFsPVdFQlhSLAog
ICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSlNDdXN0b21NYXJr
RnVuY3Rpb24sCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VO
YW1lPVhSVmlldwogXSBpbnRlcmZhY2UgV2ViWFJWaWV3IHsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgWFJFeWUgZXllOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGbG9hdDMyQXJyYXkgcHJvamVj
dGlvbk1hdHJpeDsKKyAgICBbQ3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgRmxvYXQz
MkFycmF5IHByb2plY3Rpb25NYXRyaXg7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHRyYW5zZm9ybTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlPyByZWNvbW1lbmRlZFZpZXdwb3J0U2NhbGU7CiAgICAgdW5kZWZpbmVkIHJlcXVl
c3RWaWV3cG9ydFNjYWxlKGRvdWJsZT8gc2NhbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmgKaW5kZXggZTlmMGEzOWQ4NWI3ZWFjZTcwMTNjYTE4
NDI5ZDJiM2NiYjgwZGNhZS4uOWJkODFlZTJmYjNkYjg3MTE0YjVjM2E1MmFjYmZmZjhlMjg4NDYw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBv
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlld2VyUG9zZS5o
CkBAIC00NSwxMiArNDUsMTUgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxSZWY8V2ViWFJW
aWV3Pj4mIHZpZXdzKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRWaWV3cyhWZWN0b3I8UmVmPFdlYlhS
Vmlldz4+JiYpOwogCisgICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCYgY2FjaGVkVmlld3MoKSB7
IHJldHVybiBtX2NhY2hlZFZpZXdzOyB9CisKIHByaXZhdGU6CiAgICAgV2ViWFJWaWV3ZXJQb3Nl
KFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVkUG9zaXRpb24pOwogCiAg
ICAgYm9vbCBpc1ZpZXdlclBvc2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICBWZWN0b3I8UmVmPFdlYlhSVmlldz4+IG1fdmlld3M7CisgICAgSlNWYWx1ZUluV3JhcHBlZE9i
amVjdCBtX2NhY2hlZFZpZXdzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaWRsCmluZGV4IDZh
NzZkZTg0MzU0OWZiZjA2M2QwYmE1ZDQxMTNhMDE1Mjk1MGIyZTQuLjM3MTkxMDcyM2ViMmFiZTI4
NmEzYzcxM2M3MTRlNGFiODNmNjAyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSVmlld2VyUG9zZS5pZGwKQEAgLTI4LDkgKzI4LDEwIEBACiAgICAgQ29uZGl0
aW9uYWw9V0VCWFIsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPVdpbmRvdywKKyAg
ICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBK
U0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgSW50ZXJmYWNlTmFtZT1YUlZpZXdlclBvc2UK
IF0gaW50ZXJmYWNlIFdlYlhSVmlld2VyUG9zZSA6IFdlYlhSUG9zZSB7Ci0gICAgW1NhbWVPYmpl
Y3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxXZWJYUlZpZXc+IHZpZXdzOworICAg
IFtDdXN0b21HZXR0ZXIsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJh
eTxXZWJYUlZpZXc+IHZpZXdzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzAwYWE4MDdkMWYwYTIw
ODY3YjU2MTdiZGI5ZGNiODgxNDg2ZGU0Ny4uY2E2MWRjZmFlZDgwY2YwYjJiMWE0YWNhMDlkMjM5
OTg5ZTBiYjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYyMyw3ICs2MjMsMTAgQEAgYmluZGluZ3Mv
anMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMMlJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViWFJSZWZlcmVuY2VTcGFjZUN1c3RvbS5jcHAKK2Jp
bmRpbmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pT
V2ViWFJTcGFjZUN1c3RvbS5jcHAKK2JpbmRpbmdzL2pzL0pTV2ViWFJWaWV3Q3VzdG9tLmNwcAor
YmluZGluZ3MvanMvSlNXZWJYUlZpZXdlclBvc2VDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dp
bmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCiBi
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBiODU5ZjNhNDJi
MDkwNDkzMGIwNmZlMjFmOGNkM2ExNzE5YTM2MTEuLjcwMzE5MjE0Y2U2ZTM4ZTc2MzAwYTQ2ZmNh
MjMxMjk0OTk1ZjFmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTYzMjksNiArNjMyOSw5IEBACiAJCTExNUNGQTk2MjA4Qjk1
MkIwMDFFNjk5MSAvKiBMYXlvdXRCb3guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0Qm94
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTE2M0Y4MjEyNEU1RDU5QjAwMEFC
OTYwIC8qIFJlbmRlclRyZWVNdXRhdGlvbkRpc2FsbG93ZWRTY29wZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJUcmVlTXV0YXRpb25EaXNhbGxvd2VkU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMTE2M0Y4MjMyNEU1RDU5QjAwMEFCOTYwIC8qIFJlbmRlclRyZWVNdXRhdGlv
bkRpc2FsbG93ZWRTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUcmVlTXV0YXRp
b25EaXNhbGxvd2VkU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMTY0
OEI0MTI2MEEzRjZDMDA0QUYxRjIgLyogSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViWFJSaWdpZFRyYW5zZm9y
bUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTExNjQ4QjQzMjYwQTNG
NkMwMDRBRjFGMiAvKiBKU1dlYlhSVmlld0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYlhSVmlld0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTExNjQ4QjQ0MjYwQTNGNkQwMDRBRjFGMiAvKiBKU1dlYlhSVmlld2VyUG9z
ZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYlhS
Vmlld2VyUG9zZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIw
Njg2MjVFNDFFNTEwMDcwQkU0QiAvKiBPcGVuWFJFeHRlbnNpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wZW5YUkV4dGVuc2lvbnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxMThCMDY4ODI1RTQxRTUyMDA3MEJFNEIgLyogT3BlblhSRXh0
ZW5zaW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcGVuWFJFeHRlbnNp
b25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIwNjg5MjVFNDFFNTIwMDcw
QkU0QiAvKiBPcGVuWFJJbnN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBPcGVuWFJJbnN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMzAzNSw2ICsyMzAzOCw5IEBACiAJCQkJQTE2NzdFMjQyMTQ0NTMyODAwQTA4QzM0IC8qIEpT
UGF5bWVudE1ldGhvZENoYW5nZUV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBMTBENkU5NDIxNDRD
OTk4MDBGREQxNEQgLyogSlNQYXltZW50UmVzcG9uc2VDdXN0b20uY3BwICovLAogCQkJCUE4NUYy
MjA4MTQzMDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAorCQkJ
CTExNjQ4QjQxMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSUmlnaWRUcmFuc2Zvcm1DdXN0b20u
Y3BwICovLAorCQkJCTExNjQ4QjQzMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSVmlld0N1c3Rv
bS5jcHAgKi8sCisJCQkJMTE2NDhCNDQyNjBBM0Y2RDAwNEFGMUYyIC8qIEpTV2ViWFJWaWV3ZXJQ
b3NlQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzM0OEJCRDBEQjdGNTMxMDA0QUJBQjkgLyogSlNYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHAgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJDYWNoZWQgQXR0cmli
dXRlcyB3LyBJbnZhbGlkYXRpb24iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE0
M2E5OTk2OWNmODc2MzA0ZmQ2ZTczYmZmODA3ODFmMzViMDlkYgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5j
cHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5M
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpCisjaW5j
bHVkZSAiSlNXZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisKKyNpbmNsdWRlICJXZWJYUlJpZ2lkVHJh
bnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisK
K0pTQzo6SlNWYWx1ZSBKU1dlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeChKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSBjb25zdAoreworICAgIGF1dG8gdGhyb3dTY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUobGV4aWNhbEdsb2JhbE9iamVjdC52bSgpKTsKKyAgICBy
ZXR1cm4gY2FjaGVkUHJvcGVydHlWYWx1ZShsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpcywgd3Jh
cHBlZCgpLmNhY2hlZE1hdHJpeCgpLCBbJl0geworICAgICAgICBKU0M6OkpTVmFsdWUgbWF0cml4
ID0gdG9KUzxJRExGbG9hdDMyQXJyYXk+KGxleGljYWxHbG9iYWxPYmplY3QsICpnbG9iYWxPYmpl
Y3QoKSwgdGhyb3dTY29wZSwgd3JhcHBlZCgpLm1hdHJpeCgpKTsKKyAgICAgICAgcmV0dXJuIG1h
dHJpeDsKKyAgICB9KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4KK3ZvaWQgSlNX
ZWJYUlJpZ2lkVHJhbnNmb3JtOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihWaXNpdG9yJiB2aXNp
dG9yKQoreworICAgIHdyYXBwZWQoKS5jYWNoZWRNYXRyaXgoKS52aXNpdCh2aXNpdG9yKTsKK30K
KworREVGSU5FX1ZJU0lUX0FERElUSU9OQUxfQ0hJTERSRU4oSlNXZWJYUlJpZ2lkVHJhbnNmb3Jt
KTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQlhSKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFhZjRmOGQ2NDMzOTkxY2RmZWEyMDFlZDEwYzliNzhhNWRiZGNjMDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSVmlld0N1c3Rv
bS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpCisj
aW5jbHVkZSAiSlNXZWJYUlZpZXcuaCIKKworI2luY2x1ZGUgIldlYlhSVmlldy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU0M6OkpTVmFsdWUgSlNX
ZWJYUlZpZXc6OnByb2plY3Rpb25NYXRyaXgoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCkgY29uc3QKK3sKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7CisgICAgcmV0dXJuIGNhY2hlZFByb3Bl
cnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdyYXBwZWQoKS5jYWNoZWRQcm9q
ZWN0aW9uTWF0cml4KCksIFsmXSB7CisgICAgICAgIEpTQzo6SlNWYWx1ZSBtYXRyaXggPSB0b0pT
PElETEZsb2F0MzJBcnJheT4obGV4aWNhbEdsb2JhbE9iamVjdCwgKmdsb2JhbE9iamVjdCgpLCB0
aHJvd1Njb3BlLCB3cmFwcGVkKCkucHJvamVjdGlvbk1hdHJpeCgpKTsKKyAgICAgICAgcmV0dXJu
IG1hdHJpeDsKKyAgICB9KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4KK3ZvaWQg
SlNXZWJYUlZpZXc6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKFZpc2l0b3ImIHZpc2l0b3IpCit7
CisgICAgd3JhcHBlZCgpLmNhY2hlZFByb2plY3Rpb25NYXRyaXgoKS52aXNpdCh2aXNpdG9yKTsK
K30KKworREVGSU5FX1ZJU0lUX0FERElUSU9OQUxfQ0hJTERSRU4oSlNXZWJYUlZpZXcpOworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCWFIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjZiZmU1ZGFiY2JhNDgwMWU1YzRiNTk0MzU1MzM5MWZhZmY4ZTcyZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJWaWV3
ZXJQb3NlQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJM
RShXRUJYUikKKyNpbmNsdWRlICJKU1dlYlhSVmlld2VyUG9zZS5oIgorCisjaW5jbHVkZSAiV2Vi
WFJWaWV3ZXJQb3NlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK3VzaW5nIG5hbWVzcGFjZSBK
U0M7CisKK0pTQzo6SlNWYWx1ZSBKU1dlYlhSVmlld2VyUG9zZTo6dmlld3MoSlNDOjpKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCkgY29uc3QKK3sKKyAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7CisgICAg
cmV0dXJuIGNhY2hlZFByb3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdy
YXBwZWQoKS5jYWNoZWRWaWV3cygpLCBbJl0geworICAgICAgICBKU0M6OkpTVmFsdWUgdmlld3Mg
PSB0b0pTPElETEZyb3plbkFycmF5PElETEludGVyZmFjZTxXZWJYUlZpZXc+Pj4obGV4aWNhbEds
b2JhbE9iamVjdCwgKmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCB3cmFwcGVkKCkudmlld3Mo
KSk7CisgICAgICAgIHJldHVybiB2aWV3czsKKyAgICB9KTsKK30KKwordGVtcGxhdGU8dHlwZW5h
bWUgVmlzaXRvcj4KK3ZvaWQgSlNXZWJYUlZpZXdlclBvc2U6OnZpc2l0QWRkaXRpb25hbENoaWxk
cmVuKFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgd3JhcHBlZCgpLmNhY2hlZFZpZXdzKCkudmlz
aXQodmlzaXRvcik7Cit9CisKK0RFRklORV9WSVNJVF9BRERJVElPTkFMX0NISUxEUkVOKEpTV2Vi
WFJWaWV3ZXJQb3NlKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQlhSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGI0MWVlYTY3YzFjYTRhYzNhNDYwYmI5OTI1Yzc1MDUyNDRhNDI5
ZTUuLjNhNWIxY2VjYTMyMTRhNTM2ZGUzNTgzZWQ1MWU3MmVjNTQ0MTg0YTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0wMy0yMyAgSW1hbm9sIEZlcm5hbmRleiAgPGlmZXJuYW5kZXpAaWdh
bGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY2FjaGVkUHJvcGVydHlWYWx1ZSBmb3IgV2Vi
WFIgW1NhbWVPYmplY3RdIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMzYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXZWJYUiBbU2FtZU9iamVjdF0gcmVsYXRlZCB0ZXN0
IGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25z
OgorCiAyMDIxLTAzLTIzICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHTElCXSBHYXJkZW5pbmcgaHR0cC90ZXN0cy9pbWFnZXMvbXA0LXBhcnRpYWwtbG9hZC5o
dG1sIGZsYWt5IGNyYXNoZXMgYWZ0ZXIgcjI3NDM1OApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggYjZiZWVkYmZkMWY1Y2ZkMGVlNDEwNDcyOTNiYjNhMzllZjg3NGFhMC4uNjc4YjA5
Zjc3MmQxYzZmMTk5ZmI4ZDBiYmE5ODY1MWNiYmRkYmYwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDMtMjMgIEltYW5vbCBGZXJuYW5kZXog
IDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGNhY2hlZFByb3Bl
cnR5VmFsdWUgZm9yIFdlYlhSIFtTYW1lT2JqZWN0XSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2MzUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV2ViWFIgW1NhbWVPYmpl
Y3RdIHJlbGF0ZWQgdGVzdCBleHBlY3RhdGlvbnMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9z
YW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnhyL3hyVmlld19zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld2VyUG9zZV92aWV3
c19zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMjEtMDMtMjMgIENo
cmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgaHRtbC9j
YW52YXMvb2Zmc2NyZWVuL21hbnVhbC9kcmF3LWdlbmVyaWMtZmFtaWx5IHRlc3RzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
UmlnaWRUcmFuc2Zvcm1fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1f
c2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE1ZTcxODkzZDE5YjA3
YmE3MTJhMTc5NTFmMGViODNiZTBkZjliOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9z
YW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlJp
Z2lkVHJhbnNmb3JtIHBvc2l0aW9uIGFuZCBvcmllbnRhdGlvbiBtZWV0IFtTYW1lT2JqZWN0XSBy
ZXF1aXJlbWVudHMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
U2Vzc2lvbl9zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTRkZjkz
ZGMwZWU2ZDQwZGU2NTc5MjJjZDlkZTIxOTI2MDI5MzhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25f
c2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJT
ZXNzaW9uIGF0dHJpYnV0ZXMgbWVldCBbU2FtZU9iamVjdF0gcmVxdWlyZW1lbnQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94
clZpZXdfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld19zYW1lT2JqZWN0Lmh0dHBzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWY1MGNiOGE2Yzg3OGVlODFkNjZkYTk0M2EyNGEwZTNm
MTk4ZTY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJWaWV3IGF0dHJpYnV0ZXMgbWVldCBbU2FtZU9iamVj
dF0gcmVxdWlyZW1lbnQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdlclBvc2Vfdmlld3Nfc2FtZU9iamVjdC5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyVmlld2VyUG9zZV92aWV3c19zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMTU0ZThkMWRjZWM1NDgxNWNkMzhiMGUwYzhkMDUyMDU2NWE2YzRjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clZpZXdlclBvc2Vfdmlld3Nfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJWaWV3ZXJQb3NlLnZpZXdzIG1lZXRzIFtTYW1l
T2JqZWN0XSByZXF1aXJlbWVudAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGEyMmVlODg0YWM3Y2UwNDM0MzY0MGJkZDg1ZTE0ZDA0MGU0MjZmYWEuLjRl
ZGY2MjkwOTQyMGFmMTFkZWQxMzE1NDZhNWY3Njg0MzE2ZDBhZTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC02NTgsNiArNjU4LDcgQEAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJlZmVyZW5jZVNwYWNlX3JlbGF0aW9uc2hp
cHMuaHR0cHMuaHRtbAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJp
Z2lkVHJhbnNmb3JtX2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBz
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJS
aWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMuaHRtbCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX3NhbWVPYmplY3QuaHR0cHMu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNl
c3Npb25fY2FuY2VsQW5pbWF0aW9uRnJhbWUuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fY2FuY2VsQW5pbWF0aW9uRnJh
bWVfaW52YWxpZGhhbmRsZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9lbmQuaHR0cHMuaHRtbCBbIFBhc3MgXQpAQCAt
NjY5LDcgKzY3MCwxMCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
U2Vzc2lvbl9yZXF1ZXN0QW5pbWF0aW9uRnJhbWVfZ2V0Vmlld2VyUAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcmVxdWVzdEFuaW1hdGlvbkZyYW1lX3Rp
bWVzdGFtcC5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyU2Vzc2lvbl9yZXF1ZXN0UmVmZXJlbmNlU3BhY2UuaHR0cHMuaHRtbCBbIFBh
c3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcmVx
dWVzdFJlZmVyZW5jZVNwYWNlX2ZlYXR1cmVzLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNl
c3Npb25fdmlld2VyX3JlZmVyZW5jZVNwYWNlLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3X3NhbWVPYmplY3QuaHR0cHMuaHRt
bCBbIFBhc3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdl
clBvc2Vfdmlld3Nfc2FtZU9iamVjdC5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld3BvcnRfdmFsaWQuaHR0cHMuaHRtbCBbIFBh
c3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJf
Y29uc3RydWN0b3IuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJhbWVidWZmZXJfZHJhdy5odHRwcy5odG1sIFsg
UGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424363</attachid>
            <date>2021-03-26 09:13:38 -0700</date>
            <delta_ts>2021-03-26 09:41:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223635-20210326171336.patch</filename>
            <type>text/plain</type>
            <size>20541</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE1MWY2Nzg5ZjBhMDgz
NGExZGJjYjI3NDljNzUxMTBkMWY4ODA2YS4uNmRjMjQwOTg4Mjc4N2E2MGJjZmRhYTM4YzE3Njcx
NTlkNjhlNzg2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAzLTIzICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBjYWNoZWRQcm9wZXJ0eVZhbHVlIGZvciBXZWJYUiBbU2FtZU9iamVjdF0gYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgW1NhbWVPYmplY3Rd
IGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgaW4gV2ViS2l0LiBXZSBuZWVkIHRvIGltcGxl
bWVudCBjdXN0b20gZ2V0dGVycy4KKworICAgICAgICBUZXN0ZWQgYnkgV2ViWFIgV1BULgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjYWNoZWRNYXRyaXgpOgorICAgICAgICAqIE1v
ZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9XZWJYUlZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSVmlldzo6Y2FjaGVkUHJv
amVjdGlvbk1hdHJpeCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmg6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUlZpZXdlclBvc2U6OmNhY2hlZFZpZXdzKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnhyL1dlYlhSVmlld2VyUG9zZS5pZGw6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpKU1dlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCBjb25zdCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkpTV2ViWFJWaWV3Ojpwcm9qZWN0aW9uTWF0cml4IGNvbnN0KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dlYlhSVmlld2VyUG9zZUN1c3RvbS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SlNXZWJYUlZpZXdlclBvc2U6OnZpZXdzIGNvbnN0KToKKwogMjAyMS0w
My0yNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBGaXgg
aW50ZXJwb2xhdGlvbiBvZiB0aGUgY2FyZXQtY29sb3IgQ1NTIHByb3BlcnR5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCmluZGV4IDc4
Y2IyN2U3NzYyYTk5MmYwM2Q0NmVhZTU1MDk4YmMxMjVkYjI4NjcuLjA0YmJmYWM0MGI4MGNmYWY5
MDRmZDExYzg3NmM0MjgzZDU4YmNjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5B
QkxFKFdFQlhSKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU1ZhbHVl
SW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSXNv
TWFsbG9jLmg+CkBAIC01Myw2ICs1NCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBXZWJYUlJpZ2lk
VHJhbnNmb3JtJiBpbnZlcnNlKCk7CiAgICAgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHJh
d1RyYW5zZm9ybSgpIGNvbnN0OwogCisgICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCYgY2FjaGVk
TWF0cml4KCkgeyByZXR1cm4gbV9jYWNoZWRNYXRyaXg7IH0KKwogcHJpdmF0ZToKICAgICBXZWJY
UlJpZ2lkVHJhbnNmb3JtKGNvbnN0IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYp
OwogICAgIFdlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsK
QEAgLTYzLDYgKzY2LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX21h
dHJpeDsKICAgICBSZWZQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNlOwogICAgIFdl
YWtQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9wYXJlbnRJbnZlcnNlOworICAgIEpTVmFsdWVJ
bldyYXBwZWRPYmplY3QgbV9jYWNoZWRNYXRyaXg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRU
cmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJh
bnNmb3JtLmlkbAppbmRleCAzMzQ0MTQ4NGFmODRlYTgwMTVlNzIwM2UxMjliNGVhOTJiNzA5NDhi
Li5hNjM3MDFmOTg1OGU1ZDVjNmM0YzA3YWJjOWYzNTExYzA5YWU1ZDEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5pZGwKQEAg
LTI4LDYgKzI4LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJYUiwKICAgICBTZWN1cmVDb250ZXh0
LAogICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1YUlJpZ2lkVHJhbnNm
b3JtCiBdIGludGVyZmFjZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHsKQEAgLTM1LDYgKzM2LDYgQEAK
IAogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBw
b3NpdGlvbjsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50UmVh
ZE9ubHkgb3JpZW50YXRpb247Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBt
YXRyaXg7CisgICAgW0N1c3RvbUdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJh
eSBtYXRyaXg7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUlJpZ2lk
VHJhbnNmb3JtIGludmVyc2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJW
aWV3LmgKaW5kZXggZWYzNDFmMTZlZmZlMjdiYzg1YjcwNGVkOTExYjU0NWY0ZjE1MjU1OS4uMTk2
NGU4ODUzYzA4MTA5ZGE1MDM0MGMxOWE3YTY3OTNjOTJiZTExOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSVmlldy5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUo
V0VCWFIpCiAKKyNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAi
V2ViWFJSaWdpZFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlhSRXllLmgiCiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+CkBAIC01OSw2ICs2MCw4IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzVmlld3BvcnRNb2RpZmlhYmxlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydE1v
ZGlmaWFibGU7IH0KICAgICB2b2lkIHNldFZpZXdwb3J0TW9kaWZpYWJsZShib29sIG1vZGlmaWFi
bGUpIHsgbV92aWV3cG9ydE1vZGlmaWFibGUgPSBtb2RpZmlhYmxlOyB9CiAKKyAgICBKU1ZhbHVl
SW5XcmFwcGVkT2JqZWN0JiBjYWNoZWRQcm9qZWN0aW9uTWF0cml4KCkgeyByZXR1cm4gbV9jYWNo
ZWRQcm9qZWN0aW9uTWF0cml4OyB9CisKIHByaXZhdGU6CiAgICAgV2ViWFJWaWV3KFJlZjxXZWJY
UkZyYW1lPiYmLCBYUkV5ZSwgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIFJlZjxGbG9hdDMy
QXJyYXk+JiYpOwogCkBAIC02OCw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgUmVmPEZsb2F0MzJB
cnJheT4gbV9wcm9qZWN0aW9uOwogICAgIGJvb2wgbV92aWV3cG9ydE1vZGlmaWFibGUgeyBmYWxz
ZSB9OwogICAgIGRvdWJsZSBtX3JlcXVlc3RlZFZpZXdwb3J0U2NhbGUgeyAxLjAgfTsKLQorICAg
IEpTVmFsdWVJbldyYXBwZWRPYmplY3QgbV9jYWNoZWRQcm9qZWN0aW9uTWF0cml4OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXcuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UlZpZXcuaWRsCmluZGV4IGE4Njk1MDQ4MGFjMTQzZjczNDdjNzNjNmZmMTkxMjA1MjVkZWE5YmQu
LjRlYzA2NjBmNTUwMzllMzAxMjJmNTJiNzI3M2I5MzMxNWY5OGM0OGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlldy5pZGwKQEAgLTI4LDExICsyOCwxMiBAQAogICAg
IENvbmRpdGlvbmFsPVdFQlhSLAogICAgIFNlY3VyZUNvbnRleHQsCiAgICAgRXhwb3NlZD1XaW5k
b3csCisgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZU
YWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSVmlldwogXSBpbnRlcmZhY2UgV2ViWFJWaWV3IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgWFJFeWUgZXllOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBGbG9hdDMyQXJyYXkgcHJvamVjdGlvbk1hdHJpeDsKKyAgICBbQ3VzdG9tR2V0dGVyXSByZWFk
b25seSBhdHRyaWJ1dGUgRmxvYXQzMkFycmF5IHByb2plY3Rpb25NYXRyaXg7CiAgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHRyYW5zZm9ybTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyByZWNvbW1lbmRlZFZpZXdwb3J0U2NhbGU7
CiAgICAgdW5kZWZpbmVkIHJlcXVlc3RWaWV3cG9ydFNjYWxlKGRvdWJsZT8gc2NhbGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmgKaW5kZXggZTlm
MGEzOWQ4NWI3ZWFjZTcwMTNjYTE4NDI5ZDJiM2NiYjgwZGNhZS4uOWJkODFlZTJmYjNkYjg3MTE0
YjVjM2E1MmFjYmZmZjhlMjg4NDYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlZpZXdlclBvc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSVmlld2VyUG9zZS5oCkBAIC00NSwxMiArNDUsMTUgQEAgcHVibGljOgogICAgIGNv
bnN0IFZlY3RvcjxSZWY8V2ViWFJWaWV3Pj4mIHZpZXdzKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRW
aWV3cyhWZWN0b3I8UmVmPFdlYlhSVmlldz4+JiYpOwogCisgICAgSlNWYWx1ZUluV3JhcHBlZE9i
amVjdCYgY2FjaGVkVmlld3MoKSB7IHJldHVybiBtX2NhY2hlZFZpZXdzOyB9CisKIHByaXZhdGU6
CiAgICAgV2ViWFJWaWV3ZXJQb3NlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVt
dWxhdGVkUG9zaXRpb24pOwogCiAgICAgYm9vbCBpc1ZpZXdlclBvc2UoKSBjb25zdCBmaW5hbCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICBWZWN0b3I8UmVmPFdlYlhSVmlldz4+IG1fdmlld3M7Cisg
ICAgSlNWYWx1ZUluV3JhcHBlZE9iamVjdCBtX2NhY2hlZFZpZXdzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlZpZXdlclBvc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlZp
ZXdlclBvc2UuaWRsCmluZGV4IDZhNzZkZTg0MzU0OWZiZjA2M2QwYmE1ZDQxMTNhMDE1Mjk1MGIy
ZTQuLmE2MmQ1ZjFkMjM0ZDdjZDcwZTQzNmJmMDkyYjI4OWQwYTVmOWE0NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJWaWV3ZXJQb3NlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSVmlld2VyUG9zZS5pZGwKQEAgLTMyLDUg
KzMyLDUgQEAKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgSW50ZXJmYWNlTmFt
ZT1YUlZpZXdlclBvc2UKIF0gaW50ZXJmYWNlIFdlYlhSVmlld2VyUG9zZSA6IFdlYlhSUG9zZSB7
Ci0gICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxXZWJYUlZp
ZXc+IHZpZXdzOworICAgIFtDYWNoZWRBdHRyaWJ1dGUsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxXZWJYUlZpZXc+IHZpZXdzOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggYTc1YTJmMzM1ZGRhNTU3MzI4NDNkYWIwMGE2MzE4OTg0Yjg0NGE2Yy4uZjY4NDQ5MDJkZGM1
ZjM2Mjc5MDhlZWUyMjg0YWIxZjU5ZWJhOTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTYyNCw3ICs2
MjQsOSBAQCBiaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3RvbS5jcHAKIGJpbmRpbmdzL2pz
L0pTV2ViR0wyUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJlZmVyZW5jZVNw
YWNlQ3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNw
cAogYmluZGluZ3MvanMvSlNXZWJYUlNwYWNlQ3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNXZWJY
UlZpZXdDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3Mv
anMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2Jh
bFNjb3BlQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGYzNjg1Zjk1NmI2ZWIwMjYxZjQ5ZDUyMjQ1MWJjZDY5ODg3
M2YwZDUuLjgwZmVkYzM3Zjc4ZjAzYTdiN2NiMWViYzYyM2RhMDAyZDcyNjBkYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYz
NDksNiArNjM0OSw4IEBACiAJCTExNUNGQTk2MjA4Qjk1MkIwMDFFNjk5MSAvKiBMYXlvdXRCb3gu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0Qm94LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMTE2M0Y4MjEyNEU1RDU5QjAwMEFCOTYwIC8qIFJlbmRlclRyZWVNdXRhdGlv
bkRpc2FsbG93ZWRTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlTXV0YXRpb25EaXNh
bGxvd2VkU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTE2M0Y4MjMyNEU1
RDU5QjAwMEFCOTYwIC8qIFJlbmRlclRyZWVNdXRhdGlvbkRpc2FsbG93ZWRTY29wZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUcmVlTXV0YXRpb25EaXNhbGxvd2VkU2NvcGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxMTY0OEI0MTI2MEEzRjZDMDA0QUYxRjIgLyog
SlNXZWJYUlJpZ2lkVHJhbnNmb3JtQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTV2ViWFJSaWdpZFRyYW5zZm9ybUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTExNjQ4QjQzMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSVmll
d0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYlhS
Vmlld0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIwNjg2MjVF
NDFFNTEwMDcwQkU0QiAvKiBPcGVuWFJFeHRlbnNpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE9wZW5YUkV4dGVuc2lvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxMThCMDY4ODI1RTQxRTUyMDA3MEJFNEIgLyogT3BlblhSRXh0ZW5zaW9u
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcGVuWFJFeHRlbnNpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOEIwNjg5MjVFNDFFNTIwMDcwQkU0QiAv
KiBPcGVuWFJJbnN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBPcGVuWFJJbnN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzA2
NSw2ICsyMzA2Nyw4IEBACiAJCQkJQTE2NzdFMjQyMTQ0NTMyODAwQTA4QzM0IC8qIEpTUGF5bWVu
dE1ldGhvZENoYW5nZUV2ZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlBMTBENkU5NDIxNDRDOTk4MDBG
REQxNEQgLyogSlNQYXltZW50UmVzcG9uc2VDdXN0b20uY3BwICovLAogCQkJCUE4NUYyMjA4MTQz
MDM3N0QwMDdDQzg4NCAvKiBKU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwICovLAorCQkJCTExNjQ4
QjQxMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSUmlnaWRUcmFuc2Zvcm1DdXN0b20uY3BwICov
LAorCQkJCTExNjQ4QjQzMjYwQTNGNkMwMDRBRjFGMiAvKiBKU1dlYlhSVmlld0N1c3RvbS5jcHAg
Ki8sCiAJCQkJQkMzNDhCQkQwREI3RjUzMTAwNEFCQUI5IC8qIEpTWE1MSHR0cFJlcXVlc3RDdXN0
b20uY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSAiQ2FjaGVkIEF0dHJpYnV0ZXMgdy8gSW52YWxp
ZGF0aW9uIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJS
aWdpZFRyYW5zZm9ybUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YlhSUmlnaWRUcmFuc2Zvcm1DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDNhOTk5NjljZjg3NjMw
NGZkNmU3M2JmZjgwNzgxZjM1YjA5ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dlYlhSUmlnaWRUcmFuc2Zvcm1DdXN0b20uY3BwCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQlhSKQorI2luY2x1ZGUgIkpTV2ViWFJS
aWdpZFRyYW5zZm9ybS5oIgorCisjaW5jbHVkZSAiV2ViWFJSaWdpZFRyYW5zZm9ybS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU0M6OkpTVmFsdWUg
SlNXZWJYUlJpZ2lkVHJhbnNmb3JtOjptYXRyaXgoSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCkgY29uc3QKK3sKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKGxleGljYWxHbG9iYWxPYmplY3Qudm0oKSk7CisgICAgcmV0dXJuIGNhY2hlZFBy
b3BlcnR5VmFsdWUobGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXMsIHdyYXBwZWQoKS5jYWNoZWRN
YXRyaXgoKSwgWyZdIHsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIG1hdHJpeCA9IHRvSlM8SURMRmxv
YXQzMkFycmF5PihsZXhpY2FsR2xvYmFsT2JqZWN0LCAqZ2xvYmFsT2JqZWN0KCksIHRocm93U2Nv
cGUsIHdyYXBwZWQoKS5tYXRyaXgoKSk7CisgICAgICAgIHJldHVybiBtYXRyaXg7CisgICAgfSk7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+Cit2b2lkIEpTV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oVmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICB3
cmFwcGVkKCkuY2FjaGVkTWF0cml4KCkudmlzaXQodmlzaXRvcik7Cit9CisKK0RFRklORV9WSVNJ
VF9BRERJVElPTkFMX0NISUxEUkVOKEpTV2ViWFJSaWdpZFRyYW5zZm9ybSk7CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJWaWV3Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJWaWV3Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWY0
ZjhkNjQzMzk5MWNkZmVhMjAxZWQxMGM5Yjc4YTVkYmRjYzAwCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJYUlZpZXdDdXN0b20uY3BwCkBAIC0wLDAg
KzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQlhSKQorI2luY2x1ZGUgIkpTV2Vi
WFJWaWV3LmgiCisKKyNpbmNsdWRlICJXZWJYUlZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
ewordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworSlNDOjpKU1ZhbHVlIEpTV2ViWFJWaWV3Ojpwcm9q
ZWN0aW9uTWF0cml4KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpIGNv
bnN0Cit7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShsZXhpY2Fs
R2xvYmFsT2JqZWN0LnZtKCkpOworICAgIHJldHVybiBjYWNoZWRQcm9wZXJ0eVZhbHVlKGxleGlj
YWxHbG9iYWxPYmplY3QsICp0aGlzLCB3cmFwcGVkKCkuY2FjaGVkUHJvamVjdGlvbk1hdHJpeCgp
LCBbJl0geworICAgICAgICBKU0M6OkpTVmFsdWUgbWF0cml4ID0gdG9KUzxJRExGbG9hdDMyQXJy
YXk+KGxleGljYWxHbG9iYWxPYmplY3QsICpnbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgd3Jh
cHBlZCgpLnByb2plY3Rpb25NYXRyaXgoKSk7CisgICAgICAgIHJldHVybiBtYXRyaXg7CisgICAg
fSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+Cit2b2lkIEpTV2ViWFJWaWV3Ojp2
aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHdyYXBwZWQo
KS5jYWNoZWRQcm9qZWN0aW9uTWF0cml4KCkudmlzaXQodmlzaXRvcik7Cit9CisKK0RFRklORV9W
SVNJVF9BRERJVElPTkFMX0NISUxEUkVOKEpTV2ViWFJWaWV3KTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQlhSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY1NmRlMTIwM2JmZmM0
NTIxOGI0M2E0NzIwOTY1NTNlZDcwZjgzNjIuLjI2MTE5OWYxNDVmNTQ5ZmQ1OTU3NjljMzE0MTY5
NzMzZTY1M2JlNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yMyAgSW1hbm9sIEZl
cm5hbmRleiAgPGlmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY2Fj
aGVkUHJvcGVydHlWYWx1ZSBmb3IgV2ViWFIgW1NhbWVPYmplY3RdIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzYzNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFVwZGF0ZSBXZWJYUiBbU2Ft
ZU9iamVjdF0gcmVsYXRlZCB0ZXN0IGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3Jt
L3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAzLTI2ICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgTWV0YWwgQU5HTEUgYmFja2VuZCBmb3IgV2Vi
R0wKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU3YTgxMzgxZTIzNjMzZjM0Nzgx
MzZjMTFkMjUxODhiNGE5MjMwOTcuLmIxODViZGZjMDAzYWJhZmVkNmEyZTE4NzI3ZTJlOWQzOGE5
YmQwMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDIxLTAzLTIzICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBjYWNoZWRQcm9wZXJ0eVZhbHVlIGZvciBXZWJYUiBbU2FtZU9iamVj
dF0gYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzNjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAg
ICAgVXBkYXRlIFdlYlhSIFtTYW1lT2JqZWN0XSByZWxhdGVkIHRlc3QgZXhwZWN0YXRpb25zLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fc2Ft
ZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clNlc3Npb25fc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdfc2FtZU9iamVj
dC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ4ci94clZpZXdlclBvc2Vfdmlld3Nfc2FtZU9iamVjdC5odHRwcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorCiAyMDIxLTAzLTI1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBpbnRlcnBvbGF0aW9uIG9mIHRoZSBjYXJldC1jb2xvciBDU1MgcHJv
cGVydHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJS
aWdpZFRyYW5zZm9ybV9zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTVlNzE4OTNkMTliMDdiYTcxMmExNzk1MWYwZWI4M2JlMGRmOWI5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJp
Z2lkVHJhbnNmb3JtX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIFhSUmlnaWRUcmFuc2Zvcm0gcG9zaXRpb24gYW5kIG9yaWVudGF0aW9uIG1lZXQg
W1NhbWVPYmplY3RdIHJlcXVpcmVtZW50cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9zYW1lT2JqZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJTZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRlNGRmOTNkYzBlZTZkNDBkZTY1NzkyMmNkOWRlMjE5MjYwMjkzOGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL3hyU2Vzc2lvbl9zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBYUlNlc3Npb24gYXR0cmlidXRlcyBtZWV0IFtTYW1lT2JqZWN0XSByZXF1aXJl
bWVudAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3hyVmlld19zYW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3X3NhbWVP
YmplY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZjUwY2I4YTZjODc4ZWU4MWQ2
NmRhOTQzYTI0YTBlM2YxOThlNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld19zYW1lT2JqZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlZpZXcgYXR0cmlidXRlcyBt
ZWV0IFtTYW1lT2JqZWN0XSByZXF1aXJlbWVudAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld2VyUG9zZV92aWV3c19z
YW1lT2JqZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3ZXJQb3NlX3ZpZXdzX3NhbWVPYmplY3QuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxNTRlOGQxZGNlYzU0ODE1Y2QzOGIwZTBjOGQw
NTIwNTY1YTZjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyVmlld2VyUG9zZV92aWV3c19zYW1lT2JqZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlZpZXdlclBvc2Uudmll
d3MgbWVldHMgW1NhbWVPYmplY3RdIHJlcXVpcmVtZW50CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGQzZGM5ZWZkYzM0ZTg0OTBhNjFhMmZmODU3MWI4
MWE3NDQ5NjBkMy4uM2QyYTkxYmE1YzgzZjUyZDBmMGUyZjJmNGNjMzgxYTI5ODBmNDQ2MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY2NSw2ICs2NjUs
NyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmVmZXJlbmNlU3Bh
Y2VfcmVsYXRpb25zaGlwcy5odHRwcy5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fY29uc3RydWN0b3IuaHR0cHMuaHRtbCBbIFBhc3Mg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3Jt
X2ludmVyc2UuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy5odG1sIFsgUGFzcyBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fc2Ft
ZU9iamVjdC5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyU2Vzc2lvbl9jYW5jZWxBbmltYXRpb25GcmFtZS5odHRwcy5odG1sIFsgUGFz
cyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9jYW5j
ZWxBbmltYXRpb25GcmFtZV9pbnZhbGlkaGFuZGxlLmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX2VuZC5odHRwcy5odG1s
IFsgUGFzcyBdCkBAIC02NzYsNyArNjc3LDEwIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJTZXNzaW9uX3JlcXVlc3RBbmltYXRpb25GcmFtZV9nZXRWaWV3ZXJQCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyU2Vzc2lvbl9yZXF1ZXN0QW5p
bWF0aW9uRnJhbWVfdGltZXN0YW1wLmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX3JlcXVlc3RSZWZlcmVuY2VTcGFjZS5o
dHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L3hyU2Vzc2lvbl9yZXF1ZXN0UmVmZXJlbmNlU3BhY2VfZmVhdHVyZXMuaHR0cHMuaHRtbCBbIFBh
c3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fc2Ft
ZU9iamVjdC5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyU2Vzc2lvbl92aWV3ZXJfcmVmZXJlbmNlU3BhY2UuaHR0cHMuaHRtbCBbIFBh
c3MgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clZpZXdfc2FtZU9i
amVjdC5odHRwcy5odG1sIFsgUGFzcyBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyVmlld2VyUG9zZV92aWV3c19zYW1lT2JqZWN0Lmh0dHBzLmh0bWwgWyBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJWaWV3cG9ydF92YWxpZC5o
dHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L3hyV2ViR0xMYXllcl9jb25zdHJ1Y3Rvci5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyV2ViR0xMYXllcl9mcmFtZWJ1ZmZlcl9kcmF3
Lmh0dHBzLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>