<?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>220504</bug_id>
          
          <creation_ts>2021-01-11 03:25:44 -0800</creation_ts>
          <short_desc>Two pages in the same process should not be able to play media stream backed video elements at the same time</short_desc>
          <delta_ts>2021-01-20 13:27:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local 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>199661</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718648</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-11 03:25:44 -0800</bug_when>
    <thetext>Two pages in the same process should not be able to play media stream backed video elements at the same time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718685</commentid>
    <comment_count>1</comment_count>
      <attachid>417379</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-11 08:21:42 -0800</bug_when>
    <thetext>Created attachment 417379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718811</commentid>
    <comment_count>2</comment_count>
      <attachid>417379</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-11 13:55:02 -0800</bug_when>
    <thetext>Comment on attachment 417379
Patch

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

&gt; Source/WebCore/platform/audio/PlatformMediaSession.h:30
&gt; +#include &quot;PageIdentifier.h&quot;

This is a layering violation. Please don&apos;t use concepts like PageIdentifier (that live outside of platform)  in the platform/ directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718973</commentid>
    <comment_count>3</comment_count>
      <attachid>417449</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-12 05:39:44 -0800</bug_when>
    <thetext>Created attachment 417449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718981</commentid>
    <comment_count>4</comment_count>
      <attachid>417451</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-12 06:20:01 -0800</bug_when>
    <thetext>Created attachment 417451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718983</commentid>
    <comment_count>5</comment_count>
      <attachid>417452</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-12 06:29:00 -0800</bug_when>
    <thetext>Created attachment 417452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719086</commentid>
    <comment_count>6</comment_count>
      <attachid>417452</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-01-12 12:22:15 -0800</bug_when>
    <thetext>Comment on attachment 417452
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.h:201
&gt; +    Optional&lt;PageIdentifier&gt; hostingPageIdentifier() const final {return document().pageID(); }

nit: missing a space before return.

&gt; Source/WebCore/platform/PageIdentifier.h:2
&gt; + * Copyright (C) 2019 Apple Inc. All rights reserved.

2021?

&gt; Source/WebCore/platform/audio/PlatformMediaSession.cpp:353
&gt; +    return mediaType == MediaElementSession::MediaType::VideoAudio || mediaType == MediaElementSession::MediaType::Audio;

Does this need to consider WebAudio at all?

&gt; Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:-248
&gt; -                &amp;&amp; oneSession.mediaType() == sessionType

I am curious about why this can be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719126</commentid>
    <comment_count>7</comment_count>
      <attachid>417452</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-12 13:58:47 -0800</bug_when>
    <thetext>Comment on attachment 417452
Patch

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

&gt; Source/WebCore/platform/PageIdentifier.h:33
&gt; +enum PageIdentifierType { };
&gt; +using PageIdentifier = ObjectIdentifier&lt;PageIdentifierType&gt;;

This is still a layering violation. Moving the concept of PageIdentifer to platform really doesn&apos;t make any sense. Page is a WebCore concept, platforms don&apos;t have such a concept.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719287</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-13 08:01:50 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #7)
&gt; Comment on attachment 417452 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417452&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/PageIdentifier.h:33
&gt; &gt; +enum PageIdentifierType { };
&gt; &gt; +using PageIdentifier = ObjectIdentifier&lt;PageIdentifierType&gt;;
&gt; 
&gt; This is still a layering violation. Moving the concept of PageIdentifer to
&gt; platform really doesn&apos;t make any sense. Page is a WebCore concept, platforms
&gt; don&apos;t have such a concept.

PlatformMediaSession and PlatformMediaSessionManager have been using the concept of a Document since a long time, as a way to group media sessions.
It is unclear why a Document would be fine but not a a Page.
Or maybe PlatformMediaSession/Manager should be refactored to move some code out of platform.

I can continue using DocumentIdentifier as a first step, this should be functionally an improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719331</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-13 10:05:07 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; (In reply to Sam Weinig from comment #7)
&gt; &gt; Comment on attachment 417452 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=417452&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/PageIdentifier.h:33
&gt; &gt; &gt; +enum PageIdentifierType { };
&gt; &gt; &gt; +using PageIdentifier = ObjectIdentifier&lt;PageIdentifierType&gt;;
&gt; &gt; 
&gt; &gt; This is still a layering violation. Moving the concept of PageIdentifer to
&gt; &gt; platform really doesn&apos;t make any sense. Page is a WebCore concept, platforms
&gt; &gt; don&apos;t have such a concept.
&gt; 
&gt; PlatformMediaSession and PlatformMediaSessionManager have been using the
&gt; concept of a Document since a long time, as a way to group media sessions.
&gt; It is unclear why a Document would be fine but not a a Page.
&gt; Or maybe PlatformMediaSession/Manager should be refactored to move some code
&gt; out of platform.
&gt; 
&gt; I can continue using DocumentIdentifier as a first step, this should be
&gt; functionally an improvement.

DocumentIdentifer is also not ok to use in platform code. That should definitely be resolved as well. Why is a concept like document or page needed? Surely the underlying platform code doesn&apos;t know about such things, so what is it being used for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719348</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-13 10:51:39 -0800</bug_when>
    <thetext>&gt; DocumentIdentifer is also not ok to use in platform code. That should
&gt; definitely be resolved as well. Why is a concept like document or page
&gt; needed? Surely the underlying platform code doesn&apos;t know about such things,
&gt; so what is it being used for?

To do processing on the group of sessions owned by a Document.
We can try to remove some of the uses by having the Document owning the group of sessions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719415</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-13 13:39:45 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #10)
&gt; &gt; DocumentIdentifer is also not ok to use in platform code. That should
&gt; &gt; definitely be resolved as well. Why is a concept like document or page
&gt; &gt; needed? Surely the underlying platform code doesn&apos;t know about such things,
&gt; &gt; so what is it being used for?
&gt; 
&gt; To do processing on the group of sessions owned by a Document.
&gt; We can try to remove some of the uses by having the Document owning the
&gt; group of sessions.

Another pattern that can work is to expose a new type, that represents the group and have Document and/or Page implement that type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719599</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-14 08:23:34 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #11)
&gt; (In reply to youenn fablet from comment #10)
&gt; &gt; &gt; DocumentIdentifer is also not ok to use in platform code. That should
&gt; &gt; &gt; definitely be resolved as well. Why is a concept like document or page
&gt; &gt; &gt; needed? Surely the underlying platform code doesn&apos;t know about such things,
&gt; &gt; &gt; so what is it being used for?
&gt; &gt; 
&gt; &gt; To do processing on the group of sessions owned by a Document.
&gt; &gt; We can try to remove some of the uses by having the Document owning the
&gt; &gt; group of sessions.
&gt; 
&gt; Another pattern that can work is to expose a new type, that represents the
&gt; group and have Document and/or Page implement that type.

Looking through the use of DocumentIdentifier, it seems the pattern is mostly (essentially) to go from the Page to all its document and fo each document to all its sessions.
We might be able to do some simplification here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720299</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-18 01:55:51 -0800</bug_when>
    <thetext>&gt; Looking through the use of DocumentIdentifier, it seems the pattern is
&gt; mostly (essentially) to go from the Page to all its document and fo each
&gt; document to all its sessions.
&gt; We might be able to do some simplification here.

Continuing work at https://bugs.webkit.org/show_bug.cgi?id=220706</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720324</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-18 03:26:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/73318054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720847</commentid>
    <comment_count>15</comment_count>
      <attachid>417957</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 02:41:01 -0800</bug_when>
    <thetext>Created attachment 417957
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720849</commentid>
    <comment_count>16</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 02:43:32 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/platform/audio/PlatformMediaSession.cpp:353
&gt; &gt; +    return mediaType == MediaElementSession::MediaType::VideoAudio || mediaType == MediaElementSession::MediaType::Audio;
&gt; 
&gt; Does this need to consider WebAudio at all?

This check replaces the oneSession.mediaType() == sessionType.
It is more lax in the sense that a video element that is audio only should probably be able to interrupt a video element that is audio/video.
For track-based media elements, this can change very dynamically.

&gt; &gt; Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:-248
&gt; &gt; -                &amp;&amp; oneSession.mediaType() == sessionType
&gt; 
&gt; I am curious about why this can be removed.

Replaced by the new session type related check in canPlayConcurrently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720907</commentid>
    <comment_count>17</comment_count>
      <attachid>417957</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-01-20 09:22:54 -0800</bug_when>
    <thetext>Comment on attachment 417957
Rebasing

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Add hostingPageIdentifier getter for that purpose.

This comment should be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720963</commentid>
    <comment_count>18</comment_count>
      <attachid>417988</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-20 12:47:17 -0800</bug_when>
    <thetext>Created attachment 417988
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720978</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-20 13:27:12 -0800</bug_when>
    <thetext>Committed r271670: &lt;https://trac.webkit.org/changeset/271670&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417988.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417379</attachid>
            <date>2021-01-11 08:21:42 -0800</date>
            <delta_ts>2021-01-12 05:39:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220504-20210111172140.patch</filename>
            <type>text/plain</type>
            <size>15036</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYyMWM2MzAxMWJkYjNh
NmIwNzdhZWU5YWEyMzdiZGRiZDk0OTM4ZS4uZjlmZmNhYTdjN2JhYzUyMmVkMWY0ODVjODk5ZGNk
YWMzN2RjYjFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTAxLTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNhc2Ugb2YgQ29uY3VycmVudFBsYXliYWNr
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9ucywgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IG1lZGlh
IGVsZW1lbnRzIGZyb20gZGlmZmVyZW50IHBhZ2VzIGRvIG5vdCBwbGF5IGNvbmN1cnJlbnRseS4K
KyAgICAgICAgQWRkIGhvc3RpbmdQYWdlSWRlbnRpZmllciBnZXR0ZXIgZm9yIHRoYXQgcHVycG9z
ZS4KKyAgICAgICAgV2Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgYSBWaWRlb0F1ZGlvIGFu
ZCBBdWRpbyBzZXNzaW9ucyBjYW4gYWxzbyBwYXVzZSBlYWNoIG90aGVyLgorICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpob3N0aW5nUGFnZUlkZW50
aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNQbGF5
aW5nQXVkaW8pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmNhblBs
YXlDb25jdXJyZW50bHkgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKToKKwogMjAyMS0wMS0xMCAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTWFrZSAiaW5s
aW5lIGxldmVsIGJveCBhZmZlY3RzIGxpbmUgYm94IGdlb21ldHJ5IiBsb2dpYyBtb3JlIGV4cGxp
Y2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAKaW5kZXggMmQxYjg5MGZhMGM1YmJiOTk4ZjNlMDYxMjhiNDNlMGU5YjAxM2YxNS4uNWUwNzRj
NjdiNjQwY2E4YzhlNzNmMWQ2OWQ3ZGI1NmNmOWJiMDgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDYxLDYgKzQ2MSwxMiBA
QCBEb2N1bWVudElkZW50aWZpZXIgQXVkaW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJZGVudGlm
aWVyKCkgY29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQgPyBkb2N1bWVudC0+aWRlbnRpZmllcigp
IDogRG9jdW1lbnRJZGVudGlmaWVyIHsgfTsKIH0KIAorT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+
IEF1ZGlvQ29udGV4dDo6aG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBhdXRv
KiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OworICAgIHJldHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdlSUQoKSA6IFdURjo6bnVsbG9w
dDsKK30KKwogYm9vbCBBdWRpb0NvbnRleHQ6OmlzU3VzcGVuZGVkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gIWRvY3VtZW50KCkgfHwgZG9jdW1lbnQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN1c3Bl
bmRlZCgpIHx8IGRvY3VtZW50KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRleCAxZTc5
YWZiN2ZhMmM4NDM0YTI2YmUyOTc0ZTFkYjE3YTBmNDA2NGFlLi44NjZkMmM1NTVkM2QyMjJiOTUz
MDg5OGFhNTg0ODMwMDM2NjUwZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTEyMSw2ICsxMjEsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJv
b2wgaXNTdXNwZW5kZWQoKSBjb25zdCBmaW5hbDsKICAgICBEb2N1bWVudElkZW50aWZpZXIgaG9z
dGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworICAgIE9wdGlvbmFsPFBhZ2VJ
ZGVudGlmaWVyPiBob3N0aW5nUGFnZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogICAgIC8v
IE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci4KICAgICB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQm
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggZGU5
ZDVmODA3ZTE5OTVhY2NlYjQ2NDQxNzkyNDMyNThhNWVhNGNlMS4uNzk4YmY5MDAxN2I2ZmI4MzY3
NWM1MmRmMTlmZGYwMzA4NTEwYTkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbkFjdGl2ZURvY3Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9CiAKICAgICBEb2N1bWVu
dElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIGRvY3VtZW50KCkuaWRlbnRpZmllcigpOyB9CisgICAgT3B0aW9uYWw8UGFnZUlkZW50aWZp
ZXI+IGhvc3RpbmdQYWdlSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHtyZXR1cm4gZG9jdW1lbnQo
KS5wYWdlSUQoKTsgfQogCiAvLyBET00gQVBJCiAvLyBlcnJvciBzdGF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmlu
ZGV4IDMwM2RmNWFjMzI3NDU1YzFiNzA1MjQwNjU3YTUyZDFmNjQ2MTIyZDAuLmI5NzYwNjc4YmYw
OWI4ZDllZWFlOTAwMzJhYTViN2M5NTI4MDYxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0OCw4ICsz
NDgsMjMgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50Q2hhcmFjdGVyaXN0aWNz
Q2hhbmdlZCgpCiAgICAgbV9tYW5hZ2VyLT5jbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCp0
aGlzKTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzUGxheWluZ0F1ZGlvKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKQoreworICAgIHJldHVybiBtZWRpYVR5cGUg
PT0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6TWVkaWFUeXBlOjpWaWRlb0F1ZGlvIHx8IG1lZGlhVHlw
ZSA9PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpNZWRpYVR5cGU6OkF1ZGlvOworfQorCiBib29sIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpjYW5QbGF5Q29uY3VycmVudGx5KGNvbnN0IFBsYXRmb3JtTWVk
aWFTZXNzaW9uJiBvdGhlclNlc3Npb24pIGNvbnN0CiB7CisgICAgYXV0byBtZWRpYVR5cGUgPSB0
aGlzLT5tZWRpYVR5cGUoKTsKKyAgICBhdXRvIG90aGVyTWVkaWFUeXBlID0gb3RoZXJTZXNzaW9u
Lm1lZGlhVHlwZSgpOworICAgIGlmIChvdGhlck1lZGlhVHlwZSAhPSBtZWRpYVR5cGUgJiYgKCFp
c1BsYXlpbmdBdWRpbyhtZWRpYVR5cGUpIHx8ICFpc1BsYXlpbmdBdWRpbyhvdGhlck1lZGlhVHlw
ZSkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gcGFnZUlEID0gY2xpZW50KCku
aG9zdGluZ1BhZ2VJZGVudGlmaWVyKCk7CisgICAgYXV0byBvdGhlclBhZ2VJRCA9IG90aGVyU2Vz
c2lvbi5jbGllbnQoKS5ob3N0aW5nUGFnZUlkZW50aWZpZXIoKTsKKyAgICBpZiAoIXBhZ2VJRCB8
fCAhb3RoZXJQYWdlSUQgfHwgKnBhZ2VJRCAhPSAqb3RoZXJQYWdlSUQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIHJldHVybiBtX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNvdXJjZSgpICYm
IG90aGVyU2Vzc2lvbi5tX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNvdXJjZSgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
aAppbmRleCA3OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1Li45N2U3YTQw
NzBkZDFmMTIzZjkwMzI4YWE4ZTJhM2RjMDlkYTM3MDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIk1lZGlh
U2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJQYWdlSWRlbnRpZmllci5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMjUzLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgaXNQbGF5aW5nT25TZWNvbmRTY3JlZW4oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CiAgICAgdmlydHVhbCBEb2N1bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmll
cigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBob3N0
aW5nUGFnZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzTWVk
aWFTdHJlYW1Tb3VyY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmNwcAppbmRleCAwMDgwMTkwNGMwYzIyNjE4M2M0YzRhMDlmN2FjYjU5NDdmODYwYzNm
Li4yN2Y2NjYxMTUyOWFkODcyNjFhODNkZjNhMzFiNjAyMjE2MTJhMzg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5jcHAKQEAgLTI0Myw5ICsyNDMsOCBAQCBib29sIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNzaW9u
JgogICAgICAgICBlbmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246Ok5vRmxhZ3Mp
OwogCiAgICAgaWYgKHJlc3RyaWN0aW9ucyAmIENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRl
ZCkgewotICAgICAgICBmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKFsmc2Vzc2lvbiwgc2Vzc2lvblR5
cGVdKGF1dG8mIG9uZVNlc3Npb24pIHsKKyAgICAgICAgZm9yRWFjaE1hdGNoaW5nU2Vzc2lvbihb
JnNlc3Npb25dKGF1dG8mIG9uZVNlc3Npb24pIHsKICAgICAgICAgICAgIHJldHVybiAmb25lU2Vz
c2lvbiAhPSAmc2Vzc2lvbgotICAgICAgICAgICAgICAgICYmIG9uZVNlc3Npb24ubWVkaWFUeXBl
KCkgPT0gc2Vzc2lvblR5cGUKICAgICAgICAgICAgICAgICAmJiBvbmVTZXNzaW9uLnN0YXRlKCkg
PT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcKICAgICAgICAgICAgICAgICAmJiAhb25l
U2Vzc2lvbi5jYW5QbGF5Q29uY3VycmVudGx5KHNlc3Npb24pOwogICAgICAgICB9LCBbXShhdXRv
JiBvbmVTZXNzaW9uKSB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggMTdmN2VmZjE0NDFiODYxYjJhNWNhY2YzZTcwZTVkMzI1YTg3ZTQ1YS4uYTkw
YjhlMGI2MjI0NTNkOWZmM2Y0YjA2Njc0ZDIwZDk5YThjOWYxMyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAx
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFn
ZXMgaW4gdGhlIHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBz
dHJlYW0gYmFja2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1l
ZGlhMi5odG1sOiBBZGRlZC4KKwogMjAyMS0wMS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRl
eHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyBzaG91bGQgbWFrZSBzdXJlIHRvIHJlbW92ZSB0
aGUgc2VsZWN0ZWQgcHJvY2VzcyBmcm9tIHRoZSBjYWNoZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA0MDgwNzE2ODcxNTEyZDZkOGJhMGNmYzE3YTAyYjIxMzgyZGIwYTI4Li4wNGU0MmIzMzZm
ZGY1YjdkYjQyNGVlODNiZTVkNjg3YmM5ZTRjZjA4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTEsNiArNTEsNyBAQAogCQkwNzQ5MkIzQjFERjhCMTRDMDA2MzNERTEgLyogRW51bWVyYXRl
TWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3NDkyQjNBMURGOEFFMkQwMDYzM0RFMSAvKiBFbnVtZXJhdGVNZWRpYURldmljZXMu
Y3BwICovOyB9OwogCQkwNzQ5MkIzQzFERjhCODY2MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFE
ZXZpY2VzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDc0OTJCMzkxREY4QURBNDAwNjMzREUxIC8qIGVudW1lcmF0ZU1lZGlhRGV2aWNl
cy5odG1sICovOyB9OwogCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlh
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI1IC8qIGdldFVzZXJNZWRpYS5odG1sICovOyB9Owor
CQkwNzQ5OTQ1MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhMi5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkFGNEUyMjVB
QzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVB
NTAzNEIwMDBEQTQ0RiAvKiBvbmRldmljZWNoYW5nZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFC
NiAvKiBvbmRldmljZWNoYW5nZS5odG1sICovOyB9OwogCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0
NUUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEY0RDE5QUY3QkVGMDAy
RUJBQzUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUuaHRtbCAqLzsgfTsKIAkJMDc2
RTUwN0YxRjQ1MTNENjAwNkU5RjVBIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RTUwN0UxRjQ1MDMxRTAwNkU5RjVBIC8qIExv
Z2dpbmcuY3BwICovOyB9OwpAQCAtMTQzOCw2ICsxNDM5LDcgQEAKIAkJCQk0NjdDNTY1MzIxQjVF
RDEzMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTQxNjYxQzY2MjM1NUU4NUUwMEQzM0MyNyAvKiBnZXRVc2VyTWVkaWEtd2ViYXVkaW8u
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NEUg
LyogZ2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJMDc0OTk0NTIx
RUE1MDM0QjAwMERBNDRFIC8qIGdldFVzZXJNZWRpYTIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NUUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRl
b0NhcHR1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDZBMDk1QjFFRDhBNkU2
MDBENEFBNTUgLyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNTczMjU1QTUyMjEzOUJDNzAwMzk2QUU4IC8qIGhlbGxvd29ybGQud2ViYXJjaGl2ZSBp
biBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE5NzksNiArMTk4MSw3IEBACiAJCTQxODQ4RjQzMjQ4
OTE4MTUwMDBFMjU4OCAvKiBvcGVuLXdpbmRvdy13aXRoLWZpbGUtdXJsLXdpdGgtaG9zdC5odG1s
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm9wZW4td2luZG93LXdpdGgtZmlsZS11cmwt
d2l0aC1ob3N0Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg4MkYwMjIx
MDEwQTcwMDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1pbmcubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcm9jZXNzUHJlV2FybWluZy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE5NzNCNUMxQUYyMjg3NTAwNkM3QjM2IC8qIFNoYXJlZEJ1ZmZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRCdWZmZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUJBRjRFMjI1QUM5REI4MDBEODJG
MzIgLyogZ2V0VXNlck1lZGlhMi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZ2V0
VXNlck1lZGlhMi5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDA3N0JCMDIz
MTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQyQkJGNjgxQzkxQ0FEOTAwMTcwODdGIC8qIFJlZkxv
Z2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZMb2dnZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDMzQTM5NTIwODA0NDEzMDA5MUVE
NTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQzNzIsNiArNDM3NSw3IEBACiAJCQkJMjZGNTJFQjExODI4OEYw
RjAwMjNENDEyIC8qIGdlb2xvY2F0aW9uV2F0Y2hQb3NpdGlvbldpdGhIaWdoQWNjdXJhY3kuaHRt
bCAqLywKIAkJCQk0MTY2MUM2NTIzNTVEOThCMDBEMzNDMjcgLyogZ2V0VXNlck1lZGlhLXdlYmF1
ZGlvLmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI1IC8qIGdldFVzZXJNZWRp
YS5odG1sICovLAorCQkJCTQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEy
Lmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUM1IC8qIGdldFVzZXJNZWRpYUF1
ZGlvVmlkZW9DYXB0dXJlLmh0bWwgKi8sCiAJCQkJQkNCRDM3MkUxMjVBQkJFNjAwRDJDMjlGIC8q
IGljb24ucG5nICovLAogCQkJCTFDQzgwQ0U5MjQ3NEYxRjcwMDREQzQ4OSAvKiBpZGVtcG90ZW50
LW1vZGUtYXV0b3NpemluZy1vbmx5LWhvbm9ycy1wZXJjZW50YWdlcy5odG1sICovLApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCmluZGV4IGE0
ZTIxODk0MDcyZmU2MWVjYzU3MWYzZGZlZGVlZTQxZTIzYWYzZDguLjk0OWVhOGJhODdiODc2NWM5
YzdjNTQ2NDcyMjgzNTFlNjc4NzBhMGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KQEAgLTI3MSw2ICsyNzEsNDYgQEAgVEVTVChXZWJL
aXQyLCBHZXRDYXBhYmlsaXRpZXMpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKIH0KIAorVEVTVChXZWJLaXQsIEludGVycnVwdGlvbkJldHdlZW5TYW1lUHJvY2Vzc1BhZ2Vz
KQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1
cmF0aW9uIGFsbG9jXSBpbml0XSk7CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFtj
b25maWd1cmF0aW9uIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2s6WUVTXTsKKyNlbmRpZgor
CisgICAgYXV0byBwcmVmZXJlbmNlcyA9IFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXTsKKyAg
ICBwcmVmZXJlbmNlcy5fbWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uID0gTk87
CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fbWVkaWFDYXB0dXJlRW5hYmxlZCA9IFlFUzsKKyAg
ICBwcmVmZXJlbmNlcy5fbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCA9IFlFUzsKKworICAgIGF1
dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbR1VNTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGlu
aXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3Jp
cHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAiZ3VtIl07CisKKyAg
ICBkb25lID0gZmFsc2U7CisgICAgYXV0byB3ZWJWaWV3MSA9IGFkb3B0TlMoW1tUZXN0V0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW0dldFVzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CisgICAgd2ViVmlldzEuZ2V0KCkuVUlEZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgp
OworICAgIFt3ZWJWaWV3MSBsb2FkVGVzdFBhZ2VOYW1lZDpAImdldFVzZXJNZWRpYTIiXTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgY29uZmlndXJhdGlvbi5n
ZXQoKS5fcmVsYXRlZFdlYlZpZXcgPSB3ZWJWaWV3MS5nZXQoKTsKKworICAgIGRvbmUgPSBmYWxz
ZTsKKyAgICBhdXRvIHdlYlZpZXcyID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25m
aWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIHdlYlZpZXcyLmdldCgpLlVJ
RGVsZWdhdGUgPSBkZWxlZ2F0ZS5nZXQoKTsKKyAgICBbd2ViVmlldzIgbG9hZFRlc3RQYWdlTmFt
ZWQ6QCJnZXRVc2VyTWVkaWEyIl07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyNpZiBQTEFURk9STShJT1MpCisgICAgW3dlYlZpZXcx
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja0lzTm90UGxheWluZygpIl07Cisj
ZWxzZQorICAgIFt3ZWJWaWV3MSBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2hlY2tJ
c1BsYXlpbmcoKSJdOworI2VuZGlmCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKK30KKwogI2lmIFdLX0hBVkVfQ19TUEkKIFRFU1QoV2ViS2l0LCBXZWJBdWRpb0FuZEdldFVz
ZXJNZWRpYSkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L2dldFVzZXJNZWRpYTIuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dl
dFVzZXJNZWRpYTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTVlZWNjZmM1YmE5NjFhOGY2Mzg5ZWQ3MmFj
ZDgxZWMzZWIyNGRjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvZ2V0VXNlck1lZGlhMi5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBm
dW5jdGlvbiBzdGFydENhcHR1cmUoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG5h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUsIHZpZGVvOiB0
cnVlIH0pLnRoZW4oYXN5bmMgKHMpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8uc3Jj
T2JqZWN0ID0gczsKKyAgICAgICAgICAgICAgICAgICAgYXdhaXQgdmlkZW8ucGxheSgpOworICAg
ICAgICAgICAgICAgICAgICB3aGlsZSAodmlkZW8udmlkZW9XaWR0aCAhPSA2NDApCisgICAgICAg
ICAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQo
cmVzb2x2ZSwgNTApKTsKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tJc1BsYXlpbmcoKTsKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
Y2hlY2tJc05vdFBsYXlpbmcoKSB7CisgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNz
YWdlSGFuZGxlcnMuZ3VtLnBvc3RNZXNzYWdlKHZpZGVvLnBhdXNlZCA/ICJQQVNTIiA6ICJGQUlM
Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrSXNQbGF5aW5n
KCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmd1bS5w
b3N0TWVzc2FnZSh2aWRlby5wYXVzZWQgPyAiRkFJTCIgOiAiUEFTUyIpOworICAgICAgICAgICAg
fQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8aGVhZD4KKworICAgIDxib2R5IG9ubG9hZD0ic3Rh
cnRDYXB0dXJlKCkiPgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBjb250cm9scyBwbGF5c2lu
bGluZSBhdXRvcGxheT48L3ZpZGVvPgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417449</attachid>
            <date>2021-01-12 05:39:44 -0800</date>
            <delta_ts>2021-01-12 07:00:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220504-20210112143943.patch</filename>
            <type>text/plain</type>
            <size>26420</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzNhNjNkZmIyMjY5N2Rj
MDViZGEyODU0MmE4Y2Q5ODY0YmQ1Yzg4Yi4uMmI0NTUxZWI1NjJiZmZlNjI1ODAxMTJkNzlkNzQx
ZWQzMWU2ZDE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTAxLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNhc2Ugb2YgQ29uY3VycmVudFBsYXliYWNr
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9ucywgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IG1lZGlh
IGVsZW1lbnRzIGZyb20gZGlmZmVyZW50IHBhZ2VzIGRvIG5vdCBwbGF5IGNvbmN1cnJlbnRseS4K
KyAgICAgICAgQWRkIGhvc3RpbmdQYWdlSWRlbnRpZmllciBnZXR0ZXIgZm9yIHRoYXQgcHVycG9z
ZS4KKyAgICAgICAgV2Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgYSBWaWRlb0F1ZGlvIGFu
ZCBBdWRpbyBzZXNzaW9ucyBjYW4gYWxzbyBwYXVzZSBlYWNoIG90aGVyLgorICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpob3N0aW5nUGFnZUlkZW50
aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzUGxheWluZ0F1ZGlvKToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjYW5QbGF5Q29uY3VycmVu
dGx5IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNl
c3Npb25XaWxsQmVnaW5QbGF5YmFjayk6CisgICAgICAgICogcGxhdGZvcm0vUGFnZUlkZW50aWZp
ZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUlkZW50aWZpZXIuaC4K
KwogMjAyMS0wMS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5tdXRpbmcgYSB0cmFjayBpbiBjYXNlIG9mIGVuZCBvZiBpbnRlcnJ1cHRpb24gYnkgYW5v
dGhlciB3ZWIgcHJvY2VzcyB0YWIgaXMgbm90IHdvcmtpbmcgd2VsbCB3aXRoIGNhcHR1cmUgbXV0
aW5nIGljb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKaW5kZXggMmQxYjg5MGZhMGM1YmJiOTk4ZjNlMDYxMjhiNDNlMGU5YjAxM2YxNS4u
NWUwNzRjNjdiNjQwY2E4YzhlNzNmMWQ2OWQ3ZGI1NmNmOWJiMDgwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDYxLDYgKzQ2
MSwxMiBAQCBEb2N1bWVudElkZW50aWZpZXIgQXVkaW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJ
ZGVudGlmaWVyKCkgY29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQgPyBkb2N1bWVudC0+aWRlbnRp
ZmllcigpIDogRG9jdW1lbnRJZGVudGlmaWVyIHsgfTsKIH0KIAorT3B0aW9uYWw8UGFnZUlkZW50
aWZpZXI+IEF1ZGlvQ29udGV4dDo6aG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAg
ICBhdXRvKiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpOworICAgIHJldHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdlSUQoKSA6IFdURjo6
bnVsbG9wdDsKK30KKwogYm9vbCBBdWRpb0NvbnRleHQ6OmlzU3VzcGVuZGVkKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gIWRvY3VtZW50KCkgfHwgZG9jdW1lbnQoKS0+YWN0aXZlRE9NT2JqZWN0c0Fy
ZVN1c3BlbmRlZCgpIHx8IGRvY3VtZW50KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRl
eCAxZTc5YWZiN2ZhMmM4NDM0YTI2YmUyOTc0ZTFkYjE3YTBmNDA2NGFlLi44NjZkMmM1NTVkM2Qy
MjJiOTUzMDg5OGFhNTg0ODMwMDM2NjUwZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTEyMSw2ICsxMjEsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCBmaW5hbDsKICAgICBEb2N1bWVudElkZW50aWZp
ZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworICAgIE9wdGlvbmFs
PFBhZ2VJZGVudGlmaWVyPiBob3N0aW5nUGFnZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAog
ICAgIC8vIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci4KICAgICB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9j
dW1lbnQmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA0MTlhMDkxMTg0MzFiM2JmYmVmNWYwMDY2YzAxMzA0MjJm
MDQ3ZWNmLi43ZGQwNzVhZjY3NjFlMzNjMmNkZTBhYzNlYzVhZWI5MDQyYjZiOGZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MTM2LDYgKzExMzYsNyBAQAogCQk0MUIyOEIzRDFGODYwRUYzMDBGQjUyQUMgLyogTGliV2ViUlRD
UHJvdmlkZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFCMjhCMzYxRjg2MEJEMDAwRkI1MkFDIC8qIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2Eu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUIy
QTYyNjFFRjFCRjZEMDAyQjlEN0EgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCMkE2MjUxRUYxQkY2MDAw
MkI5RDdBIC8qIFdlYkF1ZGlvU291cmNlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUI4Nzc2MjIzREUxMDQ1MDAzNjM4QjggLyog
UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjg3NzYwMjNERTEwNDIwMDM2MzhCOCAvKiBSZWFsdGlt
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTQxQkFGNEVBMjVBRERDNkYwMEQ4MkYzMiAvKiBQYWdlSWRlbnRp
Zmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFC
QUY0RTgyNUFEREM2RTAwRDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFCQkE4NjYyNTdFMzczQjAwQUM3
RjZEIC8qIFNGcmFtZVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTIwOUUyNDI1N0EyRkJCMDAxMjBBQ0EgLyogU0ZyYW1lVXRpbHMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUJGMjA0OTIy
QkE3QkU4MDAwNEY4MTIgLyogUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCRjIwNDAyMkI5NDcxNjAwMDRGODEyIC8q
IFJlYWx0aW1lVmlkZW9Tb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MUM3NjBCMTBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzc2MEIw
MEVERTAzRDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjUyLDcgKzEyNTMsNiBAQAogCQk0NjgyRDIw
MDFGNzk3ODMwMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJEMUZGMUY3OTc4MjMwMEM4
NjNEQiAvKiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBE
T01SZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY4MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZCNjNGNkMxQzZFOEQxOTAw
MkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAvKiBKU0V2ZW50
VGFyZ2V0Q3VzdG9tLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJNDZCNjUwREQyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI2NTBEQjIyOTYy
NjI3MDBGRDhBQTQgLyogUGFnZUlkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkI5NTE5NTIwN0Q2MzM0MDBBN0QyREQgLyogQWJz
dHJhY3RET01XaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2Qjk1MThBMjA3RDYzMjgwMEE3RDJERCAvKiBBYnN0cmFjdERPTVdpbmRvdy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Qjk1MTk2
MjA3RDYzM0EwMEE3RDJERCAvKiBBYnN0cmFjdEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE4RjIwN0Q2MzJCMDBBN0QyREQgLyogQWJz
dHJhY3RGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQ2Qjk1MTk3MjA3RDYzNDAwMEE3RDJERCAvKiBHbG9iYWxXaW5kb3dJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE5
MDIwN0Q2MzJDMDBBN0QyREQgLyogR2xvYmFsV2luZG93SWRlbnRpZmllci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03ODgyLDYgKzc4ODIsNyBA
QAogCQk0MUI4Nzc2MDIzREUxMDQyMDAzNjM4QjggLyogUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNv
dXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCOTEzNzYy
MzU4NEQwRTAwMjVCRkEzIC8qIE1vY2tBdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUI5MTM3ODIzNTg0RDBGMDAyNUJGQTMgLyogTW9j
a0F1ZGlvRGVzdGluYXRpb25Db2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNb2NrQXVkaW9EZXN0aW5hdGlvbkNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDFCQUY0RTgyNUFEREM2RTAwRDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VJZGVudGlmaWVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkYyMDQwMjJCOTQ3MTYwMDA0RjgxMiAvKiBSZWFs
dGltZVZpZGVvU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWx0aW1lVmlkZW9Tb3VyY2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCRjIwNDIyMkI5NDcxNzAwMDRGODEyIC8q
IFJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhbHRpbWVWaWRl
b1NvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQzc2MEIwMEVERTAz
RDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JpcHRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODE2Niw3
ICs4MTY3LDYgQEAKIAkJNDY4MzQ0REQxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVJlY3RMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDY4MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVJlY3RMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXRDdXN0b20uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDZCNjUwREIyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2Qjk1MThBMjA3RDYzMjgwMEE3
RDJERCAvKiBBYnN0cmFjdERPTVdpbmRvdy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBYnN0cmFjdERPTVdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NkI5NTE4QzIwN0Q2MzI5MDBBN0QyREQgLyogUmVtb3RlRnJhbWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkI5NTE4RDIwN0Q2MzJBMDBBN0QyREQgLyogUmVtb3RlRE9NV2luZG93
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZURPTVdpbmRv
dy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjExOSw3ICsyMjExOSw2IEBA
CiAJCQkJOTMwMkIwQkUwRDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5oICovLAogCQkJCTdB
Njc0QkQ5MEY5RUJGNEUwMDZDRjA5OSAvKiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwICovLAog
CQkJCTdBNjc0QkRBMEY5RUJGNEUwMDZDRjA5OSAvKiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCAq
LywKLQkJCQk0NkI2NTBEQjIyOTYyNjI3MDBGRDhBQTQgLyogUGFnZUlkZW50aWZpZXIuaCAqLywK
IAkJCQkyRDVDOUNGQjE5QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92ZXJsYXkuY3BwICovLAogCQkJ
CTJENUM5Q0ZDMTlDN0I1MkUwMEIzQzVDMSAvKiBQYWdlT3ZlcmxheS5oICovLAogCQkJCTJENUM5
Q0ZEMTlDN0I1MkUwMEIzQzVDMSAvKiBQYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwICovLApAQCAt
Mjc1ODIsNiArMjc1ODEsNyBAQAogCQkJCTQxNzhFRjE2MjQxMjVCNkMwMDE5M0M3NCAvKiBOb3dQ
bGF5aW5nTWFuYWdlci5jcHAgKi8sCiAJCQkJNDE3OEVGMTQyNDEyNUI2QzAwMTkzQzc0IC8qIE5v
d1BsYXlpbmdNYW5hZ2VyLmggKi8sCiAJCQkJNDE4NEY1MTUxRUFGMDU5ODAwRjE4QkYwIC8qIE9y
aWVudGF0aW9uTm90aWZpZXIuaCAqLywKKwkJCQk0MUJBRjRFODI1QUREQzZFMDBEODJGMzIgLyog
UGFnZUlkZW50aWZpZXIuaCAqLywKIAkJCQkyRUUwMkExRTFGNzMyNDI4MDAwNkFGNzIgLyogUGFz
dGVib2FyZC5jcHAgKi8sCiAJCQkJNEIyNzA4QzUwQUYxOUVFNDAwNjUxMjdGIC8qIFBhc3RlYm9h
cmQuaCAqLywKIAkJCQlGNEZCMzRGQjIzNTBDODVEMDBGMDA5NEEgLyogUGFzdGVib2FyZEN1c3Rv
bURhdGEuY3BwICovLApAQCAtMzM5MDcsNyArMzM5MDcsNiBAQAogCQkJCTkzMDJCMEJGMEQ3OUY4
MkMwMEM3RUU4MyAvKiBQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNjc0QkRDMEY5
RUJGNEUwMDZDRjA5OSAvKiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1QjgxQ0M0MUZBQTQ0QkMwMDM3RDFFNiAvKiBQYWdlSGVhcEFnZW50LmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0NkI2NTBERDIyOTYyNjI3MDBGRDhBQTQgLyogUGFnZUlkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1Q0IwNTI0MUZCNTFGMzMwMDA4OUI5NyAvKiBQYWdlTmV0d29y
a0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDVDOUQwMDE5QzdCNTJFMDBCM0M1QzEgLyog
UGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENUM5RDAyMTlDN0I1MkUwMEIzQzVD
MSAvKiBQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzQ1MzUsNiAr
MzQ1MzQsNyBAQAogCQkJCUUxOERGMzM1MThBQUYxMkMwMDc3M0U1OSAvKiBTZXJpYWxpemVkQ3J5
cHRvS2V5V3JhcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYx
IC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3N0FG
MTQzMThGNEIxQkIwMDAxRUQ2MSAvKiBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlTWFjLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MUJBRjRFQTI1QUREQzZGMDBEODJGMzIgLyogUGFnZUlkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NkQxQzFGMjNGNkVCNUIwMEQ5NUIwNiAvKiBTZXJp
YWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NUU0OTc2
MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNkY3RjZEMUMzMUUzOUEwMEYxMTFEQyAvKiBTZXJ2ZXJPcGVuREJSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
ZGU5ZDVmODA3ZTE5OTVhY2NlYjQ2NDQxNzkyNDMyNThhNWVhNGNlMS4uNzk4YmY5MDAxN2I2ZmI4
MzY3NWM1MmRmMTlmZGYwMzA4NTEwYTkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbkFjdGl2ZURv
Y3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9CiAKICAgICBEb2N1
bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIGRvY3VtZW50KCkuaWRlbnRpZmllcigpOyB9CisgICAgT3B0aW9uYWw8UGFnZUlkZW50
aWZpZXI+IGhvc3RpbmdQYWdlSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHtyZXR1cm4gZG9jdW1l
bnQoKS5wYWdlSUQoKTsgfQogCiAvLyBET00gQVBJCiAvLyBlcnJvciBzdGF0ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlSWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlSWRlbnRpZmllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGQ1
ZjhkMjk3NTYzZWUwMjljNDEzZTljZGE3NDk0YzVmYTRkOGFlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUlkZW50
aWZpZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotZW51bSBQYWdlSWRlbnRpZmllclR5cGUgeyB9OwotdXNpbmcgUGFnZUlk
ZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFBhZ2VJZGVudGlmaWVyVHlwZT47Ci0KLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BhZ2VJZGVudGlmaWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYWdlSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZDVmOGQy
OTc1NjNlZTAyOWM0MTNlOWNkYTc0OTRjNWZhNGQ4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYWdlSWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBQYWdlSWRlbnRpZmllclR5cGUgeyB9
OwordXNpbmcgUGFnZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFBhZ2VJZGVudGlmaWVy
VHlwZT47CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAzMDNkZjVhYzMyNzQ1NWMxYjcwNTI0MDY1N2E1
MmQxZjY0NjEyMmQwLi5iOTc2MDY3OGJmMDliOGQ5ZWVhZTkwMDMyYWE1YjdjOTUyODA2MTRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb24uY3BwCkBAIC0zNDgsOCArMzQ4LDIzIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Np
b246OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKQogICAgIG1fbWFuYWdlci0+Y2xpZW50
Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgqdGhpcyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBp
c1BsYXlpbmdBdWRpbyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlhVHlwZSkK
K3sKKyAgICByZXR1cm4gbWVkaWFUeXBlID09IE1lZGlhRWxlbWVudFNlc3Npb246Ok1lZGlhVHlw
ZTo6VmlkZW9BdWRpbyB8fCBtZWRpYVR5cGUgPT0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6TWVkaWFU
eXBlOjpBdWRpbzsKK30KKwogYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUGxheUNvbmN1
cnJlbnRseShjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgb3RoZXJTZXNzaW9uKSBjb25zdAog
eworICAgIGF1dG8gbWVkaWFUeXBlID0gdGhpcy0+bWVkaWFUeXBlKCk7CisgICAgYXV0byBvdGhl
ck1lZGlhVHlwZSA9IG90aGVyU2Vzc2lvbi5tZWRpYVR5cGUoKTsKKyAgICBpZiAob3RoZXJNZWRp
YVR5cGUgIT0gbWVkaWFUeXBlICYmICghaXNQbGF5aW5nQXVkaW8obWVkaWFUeXBlKSB8fCAhaXNQ
bGF5aW5nQXVkaW8ob3RoZXJNZWRpYVR5cGUpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBhdXRvIHBhZ2VJRCA9IGNsaWVudCgpLmhvc3RpbmdQYWdlSWRlbnRpZmllcigpOworICAgIGF1
dG8gb3RoZXJQYWdlSUQgPSBvdGhlclNlc3Npb24uY2xpZW50KCkuaG9zdGluZ1BhZ2VJZGVudGlm
aWVyKCk7CisgICAgaWYgKCFwYWdlSUQgfHwgIW90aGVyUGFnZUlEIHx8ICpwYWdlSUQgIT0gKm90
aGVyUGFnZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gbV9jbGllbnQu
aGFzTWVkaWFTdHJlYW1Tb3VyY2UoKSAmJiBvdGhlclNlc3Npb24ubV9jbGllbnQuaGFzTWVkaWFT
dHJlYW1Tb3VyY2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKaW5kZXggNzk1ZThkZGQzOTMxNjI0YWQyYTVjYzMz
MGM5MjViZTdkZWZjMzg5NS4uOTdlN2E0MDcwZGQxZjEyM2Y5MDMyOGFhOGUyYTNkYzA5ZGEzNzA1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudElkZW50
aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
UGFnZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dn
ZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTI1Myw2ICsyNTQs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ09uU2Vjb25kU2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgRG9jdW1lbnRJZGVudGlmaWVy
IGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBPcHRp
b25hbDxQYWdlSWRlbnRpZmllcj4gaG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCBib29sIGhhc01lZGlhU3RyZWFtU291cmNlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggMDA4MDE5MDRjMGMyMjYx
ODNjNGM0YTA5ZjdhY2I1OTQ3Zjg2MGMzZi4uMjdmNjY2MTE1MjlhZDg3MjYxYTgzZGYzYTMxYjYw
MjIxNjEyYTM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0yNDMsOSArMjQzLDgg
QEAgYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25XaWxsQmVnaW5QbGF5
YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYKICAgICAgICAgZW5kSW50ZXJydXB0aW9uKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpOb0ZsYWdzKTsKIAogICAgIGlmIChyZXN0cmljdGlvbnMgJiBDb25j
dXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQpIHsKLSAgICAgICAgZm9yRWFjaE1hdGNoaW5nU2Vz
c2lvbihbJnNlc3Npb24sIHNlc3Npb25UeXBlXShhdXRvJiBvbmVTZXNzaW9uKSB7CisgICAgICAg
IGZvckVhY2hNYXRjaGluZ1Nlc3Npb24oWyZzZXNzaW9uXShhdXRvJiBvbmVTZXNzaW9uKSB7CiAg
ICAgICAgICAgICByZXR1cm4gJm9uZVNlc3Npb24gIT0gJnNlc3Npb24KLSAgICAgICAgICAgICAg
ICAmJiBvbmVTZXNzaW9uLm1lZGlhVHlwZSgpID09IHNlc3Npb25UeXBlCiAgICAgICAgICAgICAg
ICAgJiYgb25lU2Vzc2lvbi5zdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5aW5n
CiAgICAgICAgICAgICAgICAgJiYgIW9uZVNlc3Npb24uY2FuUGxheUNvbmN1cnJlbnRseShzZXNz
aW9uKTsKICAgICAgICAgfSwgW10oYXV0byYgb25lU2Vzc2lvbikgewpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQyNTllMzAxZTI3OTY0ZTQ3YzE2
YTIzYjdmZTI3OTIzZjBiOWY5NWYuLjUzOTkxM2U4NjI1M2U4M2UwYjc5NDViZDJhOWY3YTYyYjMw
YjNjMjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgVHdvIHBhZ2VzIGluIHRoZSBzYW1lIHByb2Nlc3Mgc2hvdWxkIG5v
dCBiZSBhYmxlIHRvIHBsYXkgbWVkaWEgc3RyZWFtIGJhY2tlZCB2aWRlbyBlbGVtZW50cyBhdCB0
aGUgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjA1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5t
bToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L2dldFVzZXJNZWRpYTIuaHRtbDogQWRkZWQuCisKIDIwMjEtMDEtMTEg
IExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gR2FyZGVu
aW5nIEFQSSB0ZXN0IGNyYXNoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQwODA3MTY4NzE1
MTJkNmQ4YmEwY2ZjMTdhMDJiMjEzODJkYjBhMjguLjA0ZTQyYjMzNmZkZjViN2RiNDI0ZWU4M2Jl
NWQ2ODdiYzllNGNmMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MSw2ICs1MSw3IEBA
CiAJCTA3NDkyQjNCMURGOEIxNEMwMDYzM0RFMSAvKiBFbnVtZXJhdGVNZWRpYURldmljZXMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0OTJCM0Ex
REY4QUUyRDAwNjMzREUxIC8qIEVudW1lcmF0ZU1lZGlhRGV2aWNlcy5jcHAgKi87IH07CiAJCTA3
NDkyQjNDMURGOEI4NjYwMDYzM0RFMSAvKiBlbnVtZXJhdGVNZWRpYURldmljZXMuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzQ5MkIz
OTFERjhBREE0MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFEZXZpY2VzLmh0bWwgKi87IH07CiAJ
CTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEY0RDE5QUY3
QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi87IH07CisJCTA3NDk5NDUyMUVBNTAz
NEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUY0RTIyNUFDOURCODAwRDgyRjMyIC8q
IGdldFVzZXJNZWRpYTIuaHRtbCAqLzsgfTsKIAkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDRGIC8q
IG9uZGV2aWNlY2hhbmdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI2IC8qIG9uZGV2aWNlY2hh
bmdlLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1RSAvKiBnZXRVc2VyTWVk
aWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFDNSAvKiBnZXRVc2Vy
TWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sICovOyB9OwogCQkwNzZFNTA3RjFGNDUxM0Q2MDA2
RTlGNUEgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzZFNTA3RTFGNDUwMzFFMDA2RTlGNUEgLyogTG9nZ2luZy5jcHAgKi87IH07
CkBAIC0xNDM4LDYgKzE0MzksNyBAQAogCQkJCTQ2N0M1NjUzMjFCNUVEMTMwMDU3NTE2RCAvKiBH
ZXRTZXNzaW9uQ29va2llLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNDE2NjFDNjYy
MzU1RTg1RTAwRDMzQzI3IC8qIGdldFVzZXJNZWRpYS13ZWJhdWRpby5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQkwNzQ5OTQ1MjFFQTUwMzRCMDAwREE0NEUg
LyogZ2V0VXNlck1lZGlhMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3NDk5NDQy
MUVBNTAzNEIwMDBEQTQ1RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0NkEwOTVCMUVEOEE2RTYwMEQ0QUE1NSAvKiBnaWYt
YW5kLWZpbGUtaW5wdXQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzMyNTVBNTIy
MTM5QkM3MDAzOTZBRTggLyogaGVsbG93b3JsZC53ZWJhcmNoaXZlIGluIENvcHkgUmVzb3VyY2Vz
ICovLApAQCAtMTk3OSw2ICsxOTgxLDcgQEAKIAkJNDE4NDhGNDMyNDg5MTgxNTAwMEUyNTg4IC8q
IG9wZW4td2luZG93LXdpdGgtZmlsZS11cmwtd2l0aC1ob3N0Lmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAib3Blbi13aW5kb3ctd2l0aC1maWxlLXVybC13aXRoLWhvc3QuaHRtbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODgyRjAyMjEwMTBBNzAwMDJGRjI4OCAv
KiBQcm9jZXNzUHJlV2FybWluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFByb2Nlc3NQcmVXYXJtaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTk3M0I1QzFBRjIyODc1MDA2QzdCMzYgLyogU2hhcmVkQnVmZmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVk
aWEyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBnZXRVc2VyTWVkaWEyLmh0bWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAv
KiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVmTG9nZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91
c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNDM3Miw2ICs0Mzc1LDcgQEAKIAkJCQkyNkY1MkVCMTE4Mjg4RjBGMDAyM0Q0MTIgLyogZ2Vv
bG9jYXRpb25XYXRjaFBvc2l0aW9uV2l0aEhpZ2hBY2N1cmFjeS5odG1sICovLAogCQkJCTQxNjYx
QzY1MjM1NUQ5OEIwMEQzM0MyNyAvKiBnZXRVc2VyTWVkaWEtd2ViYXVkaW8uaHRtbCAqLywKIAkJ
CQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi8sCisJCQkJ
NDFCQUY0RTIyNUFDOURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLywKIAkJCQk0
QTQxMEY0RDE5QUY3QkVGMDAyRUJBQzUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUu
aHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyogaWNvbi5wbmcgKi8sCiAJ
CQkJMUNDODBDRTkyNDc0RjFGNzAwNERDNDg5IC8qIGlkZW1wb3RlbnQtbW9kZS1hdXRvc2l6aW5n
LW9ubHktaG9ub3JzLXBlcmNlbnRhZ2VzLmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KaW5kZXggYTRlMjE4OTQwNzJmZTYxZWNj
NTcxZjNkZmVkZWVlNDFlMjNhZjNkOC4uOTQ5ZWE4YmE4N2I4NzY1YzljN2M1NDY0NzIyODM1MWU2
Nzg3MGEwZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0
VXNlck1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVz
ZXJNZWRpYS5tbQpAQCAtMjcxLDYgKzI3MSw0NiBAQCBURVNUKFdlYktpdDIsIEdldENhcGFiaWxp
dGllcykKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQogCitURVNUKFdl
YktpdCwgSW50ZXJydXB0aW9uQmV0d2VlblNhbWVQcm9jZXNzUGFnZXMpCit7CisgICAgYXV0byBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW2NvbmZpZ3VyYXRpb24gc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazpZRVNdOworI2VuZGlmCisKKyAgICBhdXRvIHByZWZl
cmVuY2VzID0gW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdOworICAgIHByZWZlcmVuY2VzLl9t
ZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24gPSBOTzsKKyAgICBjb25maWd1cmF0
aW9uLmdldCgpLl9tZWRpYUNhcHR1cmVFbmFibGVkID0gWUVTOworICAgIHByZWZlcmVuY2VzLl9t
b2NrQ2FwdHVyZURldmljZXNFbmFibGVkID0gWUVTOworCisgICAgYXV0byBtZXNzYWdlSGFuZGxl
ciA9IGFkb3B0TlMoW1tHVU1NZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtbY29u
ZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVy
Om1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJndW0iXTsKKworICAgIGRvbmUgPSBmYWxzZTsK
KyAgICBhdXRvIHdlYlZpZXcxID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtbR2V0VXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICB3
ZWJWaWV3MS5nZXQoKS5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisgICAgW3dlYlZpZXcx
IGxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhMiJdOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLl9yZWxhdGVkV2Vi
VmlldyA9IHdlYlZpZXcxLmdldCgpOworCisgICAgZG9uZSA9IGZhbHNlOworICAgIGF1dG8gd2Vi
VmlldzIgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01h
a2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkg
YWRkVG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmlldzIuZ2V0KCkuVUlEZWxlZ2F0ZSA9IGRlbGVn
YXRlLmdldCgpOworICAgIFt3ZWJWaWV3MiBsb2FkVGVzdFBhZ2VOYW1lZDpAImdldFVzZXJNZWRp
YTIiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgZG9uZSA9
IGZhbHNlOworI2lmIFBMQVRGT1JNKElPUykKKyAgICBbd2ViVmlldzEgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImNoZWNrSXNOb3RQbGF5aW5nKCkiXTsKKyNlbHNlCisgICAgW3dlYlZp
ZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja0lzUGxheWluZygpIl07Cisj
ZW5kaWYKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCiAjaWYgV0tf
SEFWRV9DX1NQSQogVEVTVChXZWJLaXQsIFdlYkF1ZGlvQW5kR2V0VXNlck1lZGlhKQogewpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1lZGlhMi5o
dG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1lZGlhMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI1NWVlY2NmYzViYTk2MWE4ZjYzODllZDcyYWNkODFlYzNlYjI0ZGMKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXRVc2Vy
TWVkaWEyLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0Q2Fw
dHVyZSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IHRydWUgfSkudGhlbihhc3lu
YyAocykgPT4geworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmNPYmplY3QgPSBzOworICAg
ICAgICAgICAgICAgICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisgICAgICAgICAgICAgICAgICAg
IHdoaWxlICh2aWRlby52aWRlb1dpZHRoICE9IDY0MCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOwor
ICAgICAgICAgICAgICAgICAgICBjaGVja0lzUGxheWluZygpOworICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja0lzTm90UGxheWlu
ZygpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5ndW0u
cG9zdE1lc3NhZ2UodmlkZW8ucGF1c2VkID8gIlBBU1MiIDogIkZBSUwiKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tJc1BsYXlpbmcoKSB7CisgICAgICAgICAg
ICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZ3VtLnBvc3RNZXNzYWdlKHZpZGVv
LnBhdXNlZCA/ICJGQUlMIiA6ICJQQVNTIik7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorICAgIDxoZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzdGFydENhcHR1cmUoKSI+Cisg
ICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGNvbnRyb2xzIHBsYXlzaW5saW5lIGF1dG9wbGF5Pjwv
dmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="435168"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417451</attachid>
            <date>2021-01-12 06:20:01 -0800</date>
            <delta_ts>2021-01-12 07:19:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220504-20210112151959.patch</filename>
            <type>text/plain</type>
            <size>27487</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzNhNjNkZmIyMjY5N2Rj
MDViZGEyODU0MmE4Y2Q5ODY0YmQ1Yzg4Yi4uODUxYTBjZTM4OWE4MGE5MmRjYzVjNDY0NzM2ZGYy
NDUzNWY4OTA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAxLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNhc2Ugb2YgQ29uY3VycmVudFBsYXliYWNr
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9ucywgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IG1lZGlh
IGVsZW1lbnRzIGZyb20gZGlmZmVyZW50IHBhZ2VzIGRvIG5vdCBwbGF5IGNvbmN1cnJlbnRseS4K
KyAgICAgICAgQWRkIGhvc3RpbmdQYWdlSWRlbnRpZmllciBnZXR0ZXIgZm9yIHRoYXQgcHVycG9z
ZS4KKyAgICAgICAgV2Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgYSBWaWRlb0F1ZGlvIGFu
ZCBBdWRpbyBzZXNzaW9ucyBjYW4gYWxzbyBwYXVzZSBlYWNoIG90aGVyLgorICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpob3N0aW5nUGFnZUlkZW50
aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogV2ViQ29yZS9IZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc1BsYXlpbmdBdWRpbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUGxheUNvbmN1cnJlbnRseSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2sp
OgorICAgICAgICAqIHBsYXRmb3JtL1BhZ2VJZGVudGlmaWVyLmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VJZGVudGlmaWVyLmguCisKIDIwMjEtMDEtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVubXV0aW5nIGEgdHJhY2sgaW4g
Y2FzZSBvZiBlbmQgb2YgaW50ZXJydXB0aW9uIGJ5IGFub3RoZXIgd2ViIHByb2Nlc3MgdGFiIGlz
IG5vdCB3b3JraW5nIHdlbGwgd2l0aCBjYXB0dXJlIG11dGluZyBpY29ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggYWRlNWM2OTAyNDI5NzYyNWM3MGRhYjc5MGE1YzJjNWE4Nzc3ZWM2MS4uMGZkMjkx
OTI5Y2FlMDkxMzQxMzQwNTgwMzI4YjZkY2NlMjIxYzNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC0xMDMwLDYgKzEwMzAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJT
CiAgICAgcGxhdGZvcm0vUE9ESW50ZXJ2YWwuaAogICAgIHBsYXRmb3JtL1BPREludGVydmFsVHJl
ZS5oCiAgICAgcGxhdGZvcm0vUE9EUmVkQmxhY2tUcmVlLmgKKyAgICBwbGF0Zm9ybS9QYWdlSWRl
bnRpZmllci5oCiAgICAgcGxhdGZvcm0vUGFzdGVib2FyZC5oCiAgICAgcGxhdGZvcm0vUGFzdGVi
b2FyZEN1c3RvbURhdGEuaAogICAgIHBsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXgg
MmQxYjg5MGZhMGM1YmJiOTk4ZjNlMDYxMjhiNDNlMGU5YjAxM2YxNS4uNWUwNzRjNjdiNjQwY2E4
YzhlNzNmMWQ2OWQ3ZGI1NmNmOWJiMDgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDYxLDYgKzQ2MSwxMiBAQCBEb2N1bWVu
dElkZW50aWZpZXIgQXVkaW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgY29u
c3QKICAgICByZXR1cm4gZG9jdW1lbnQgPyBkb2N1bWVudC0+aWRlbnRpZmllcigpIDogRG9jdW1l
bnRJZGVudGlmaWVyIHsgfTsKIH0KIAorT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+IEF1ZGlvQ29u
dGV4dDo6aG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICBhdXRvKiBkb2N1bWVu
dCA9IGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworICAgIHJl
dHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdlSUQoKSA6IFdURjo6bnVsbG9wdDsKK30KKwog
Ym9vbCBBdWRpb0NvbnRleHQ6OmlzU3VzcGVuZGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIWRv
Y3VtZW50KCkgfHwgZG9jdW1lbnQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpIHx8
IGRvY3VtZW50KCktPmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRleCAxZTc5YWZiN2ZhMmM4
NDM0YTI2YmUyOTc0ZTFkYjE3YTBmNDA2NGFlLi44NjZkMmM1NTVkM2QyMjJiOTUzMDg5OGFhNTg0
ODMwMDM2NjUwZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmgKQEAgLTEyMSw2ICsxMjEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuUHJv
ZHVjZUF1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgaXNTdXNw
ZW5kZWQoKSBjb25zdCBmaW5hbDsKICAgICBEb2N1bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3Vt
ZW50SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOworICAgIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVy
PiBob3N0aW5nUGFnZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogICAgIC8vIE1lZGlhQ2Fu
U3RhcnRMaXN0ZW5lci4KICAgICB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9jdW1lbnQmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA0MTlhMDkxMTg0MzFiM2JmYmVmNWYwMDY2YzAxMzA0MjJmMDQ3ZWNmLi41ZWNhNDdh
MTYyZGI1ODdiYzA1ZWFjM2NkYWE1OGE5MzA1MjFhZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTM2LDYgKzExMzYsNyBA
QAogCQk0MUIyOEIzRDFGODYwRUYzMDBGQjUyQUMgLyogTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCMjhCMzYx
Rjg2MEJEMDAwRkI1MkFDIC8qIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUIyQTYyNjFFRjFCRjZEMDAy
QjlEN0EgLyogV2ViQXVkaW9Tb3VyY2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCMkE2MjUxRUYxQkY2MDAwMkI5RDdBIC8qIFdlYkF1
ZGlvU291cmNlUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MUI4Nzc2MjIzREUxMDQ1MDAzNjM4QjggLyogUmVhbHRpbWVNZWRpYVNv
dXJjZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxQjg3NzYwMjNERTEwNDIwMDM2MzhCOCAvKiBSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTQxQkFGNEVBMjVBRERDNkYwMEQ4MkYzMiAvKiBQYWdlSWRlbnRpZmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUY0RTgyNUFEREM2RTAw
RDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFCQkE4NjYyNTdFMzczQjAwQUM3RjZEIC8qIFNGcmFtZVV0
aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTIw
OUUyNDI1N0EyRkJCMDAxMjBBQ0EgLyogU0ZyYW1lVXRpbHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUJGMjA0OTIyQkE3QkU4MDAwNEY4MTIg
LyogUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFCRjIwNDAyMkI5NDcxNjAwMDRGODEyIC8qIFJlYWx0aW1lVmlkZW9T
b3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUM3NjBCMTBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzc2MEIwMEVERTAzRDMwMEMxNjU1
RiAvKiBTY3JpcHRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xMjUyLDcgKzEyNTMsNiBAQAogCQk0NjgyRDIwMDFGNzk3ODMwMDBDODYz
REIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRD
cmVkZW50aWFsc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ2ODM0NEUwMUVEREZBQUEwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4MzQ0REUxRURE
RkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZCNjNGNkMxQzZFOEQxOTAwMkU5MTRCIC8qIEpTRXZl
bnRUYXJnZXRDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2QjYzRjZCMUM2RThDREYwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDZCNjUw
REQyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI2NTBEQjIyOTYyNjI3MDBGRDhBQTQgLyog
UGFnZUlkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NkI5NTE5NTIwN0Q2MzM0MDBBN0QyREQgLyogQWJzdHJhY3RET01XaW5kb3cu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Qjk1MThB
MjA3RDYzMjgwMEE3RDJERCAvKiBBYnN0cmFjdERPTVdpbmRvdy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Qjk1MTk2MjA3RDYzM0EwMEE3RDJE
RCAvKiBBYnN0cmFjdEZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkI5NTE4RjIwN0Q2MzJCMDBBN0QyREQgLyogQWJzdHJhY3RGcmFtZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Qjk1MTk3
MjA3RDYzNDAwMEE3RDJERCAvKiBHbG9iYWxXaW5kb3dJZGVudGlmaWVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE5MDIwN0Q2MzJDMDBBN0Qy
REQgLyogR2xvYmFsV2luZG93SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03ODgyLDYgKzc4ODIsNyBAQAogCQk0MUI4Nzc2MDIz
REUxMDQyMDAzNjM4QjggLyogUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCOTEzNzYyMzU4NEQwRTAwMjVCRkEz
IC8qIE1vY2tBdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTW9ja0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUI5MTM3ODIzNTg0RDBGMDAyNUJGQTMgLyogTW9ja0F1ZGlvRGVzdGluYXRp
b25Db2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQXVk
aW9EZXN0aW5hdGlvbkNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFC
QUY0RTgyNUFEREM2RTAwRDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxQkYyMDQwMjJCOTQ3MTYwMDA0RjgxMiAvKiBSZWFsdGltZVZpZGVvU291cmNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWx0aW1lVmlkZW9Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFCRjIwNDIyMkI5NDcxNzAwMDRGODEyIC8qIFJlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQzc2MEIwMEVERTAzRDMwMEMxNjU1RiAvKiBT
Y3JpcHRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRTdGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODE2Niw3ICs4MTY3LDYgQEAKIAkJ
NDY4MzQ0REQxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERPTVJlY3RMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY4
MzQ0REUxRURERkE1RjAwQjc3OTVCIC8qIERPTVJlY3RMaXN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVJlY3RMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QjYzRjZCMUM2RThD
REYwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRXZlbnRUYXJnZXRDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDZCNjUwREIyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2Qjk1MThBMjA3RDYzMjgwMEE3RDJERCAvKiBBYnN0cmFj
dERPTVdpbmRvdy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdERP
TVdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkI5NTE4QzIwN0Q2MzI5
MDBBN0QyREQgLyogUmVtb3RlRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVtb3RlRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NkI5NTE4RDIwN0Q2MzJBMDBBN0QyREQgLyogUmVtb3RlRE9NV2luZG93LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZURPTVdpbmRvdy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjExOSw3ICsyMjExOSw2IEBACiAJCQkJOTMwMkIwQkUw
RDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5oICovLAogCQkJCTdBNjc0QkQ5MEY5RUJGNEUw
MDZDRjA5OSAvKiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwICovLAogCQkJCTdBNjc0QkRBMEY5
RUJGNEUwMDZDRjA5OSAvKiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCAqLywKLQkJCQk0NkI2NTBE
QjIyOTYyNjI3MDBGRDhBQTQgLyogUGFnZUlkZW50aWZpZXIuaCAqLywKIAkJCQkyRDVDOUNGQjE5
QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92ZXJsYXkuY3BwICovLAogCQkJCTJENUM5Q0ZDMTlDN0I1
MkUwMEIzQzVDMSAvKiBQYWdlT3ZlcmxheS5oICovLAogCQkJCTJENUM5Q0ZEMTlDN0I1MkUwMEIz
QzVDMSAvKiBQYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwICovLApAQCAtMjc1ODIsNiArMjc1ODEs
NyBAQAogCQkJCTQxNzhFRjE2MjQxMjVCNkMwMDE5M0M3NCAvKiBOb3dQbGF5aW5nTWFuYWdlci5j
cHAgKi8sCiAJCQkJNDE3OEVGMTQyNDEyNUI2QzAwMTkzQzc0IC8qIE5vd1BsYXlpbmdNYW5hZ2Vy
LmggKi8sCiAJCQkJNDE4NEY1MTUxRUFGMDU5ODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZp
ZXIuaCAqLywKKwkJCQk0MUJBRjRFODI1QUREQzZFMDBEODJGMzIgLyogUGFnZUlkZW50aWZpZXIu
aCAqLywKIAkJCQkyRUUwMkExRTFGNzMyNDI4MDAwNkFGNzIgLyogUGFzdGVib2FyZC5jcHAgKi8s
CiAJCQkJNEIyNzA4QzUwQUYxOUVFNDAwNjUxMjdGIC8qIFBhc3RlYm9hcmQuaCAqLywKIAkJCQlG
NEZCMzRGQjIzNTBDODVEMDBGMDA5NEEgLyogUGFzdGVib2FyZEN1c3RvbURhdGEuY3BwICovLApA
QCAtMzMwNDYsNyArMzMwNDYsNiBAQAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZBREE3NSAvKiBK
U01lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjc1NkEzMjE1QzI5RTkwMEVGQ0I1
MCAvKiBKU01lZGlhS2V5RW5jcnlwdGlvblNjaGVtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5
QkY3MjgxREJGREIwRDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUU0NDBGRDUzMjVBNEFGREYwMEY3Qzg0OSAvKiBNYXJrZWRUZXh0U3R5bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJEOUJGNzI5MURCRkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ5QkY3MkExREJGREIxMzAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREY0QjcxRTFFMDFFMTFBMDBF
MjM1QTIgLyogSlNNZWRpYUtleVNlc3Npb25UeXBlLmggaW4gSGVhZGVycyAqLywKQEAgLTMzNjEz
LDYgKzMzNjEyLDcgQEAKIAkJCQk3QUU2QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVh
ZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDUxQzYzMjIzOTQwMzFBMDA5OTMx
OTAgLyogTWFyZ2luVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTg2NjQ1MUY3MkU1QjQw
MEEwQ0FCNiAvKiBNYXJrZWRUZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDQwRkQ1MzI1QTRB
RkRGMDBGN0M4NDkgLyogTWFya2VkVGV4dFN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMw
OURGODA5OUU2NDkyMDA1NkU1ODEgLyogbWFya3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzI4
QzMxNDEyNjhFNDM5MDA0MUU4OUIgLyogTWFya3VwQWNjdW11bGF0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTAwQzYwRTNGMTNENzZEN0UwMDkyQTI3NSAvKiBNYXJrdXBUb2tlbml6ZXJJbmxpbmVz
LmggaW4gSGVhZGVycyAqLywKQEAgLTMzOTA3LDcgKzMzOTA3LDcgQEAKIAkJCQk5MzAyQjBCRjBE
NzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTY3NEJE
QzBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERlZmVycmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNUI4MUNDNDFGQUE0NEJDMDAzN0QxRTYgLyogUGFnZUhlYXBBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNDZCNjUwREQyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUJBRjRFQTI1QUREQzZGMDBEODJGMzIgLyogUGFnZUlk
ZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1Q0IwNTI0MUZCNTFGMzMwMDA4OUI5NyAv
KiBQYWdlTmV0d29ya0FnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDVDOUQwMDE5QzdCNTJF
MDBCM0M1QzEgLyogUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENUM5RDAyMTlD
N0I1MkUwMEIzQzVDMSAvKiBQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBkZTlkNWY4MDdlMTk5NWFj
Y2ViNDY0NDE3OTI0MzI1OGE1ZWE0Y2UxLi43OThiZjkwMDE3YjZmYjgzNjc1YzUyZGYxOWZkZjAz
MDg1MTBhOTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMTk4
LDYgKzE5OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGluQWN0aXZlRG9jdW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX2luQWN0aXZlRG9jdW1lbnQ7IH0KIAogICAgIERvY3VtZW50SWRlbnRpZmllciBo
b3N0aW5nRG9jdW1lbnRJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZG9jdW1lbnQo
KS5pZGVudGlmaWVyKCk7IH0KKyAgICBPcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gaG9zdGluZ1Bh
Z2VJZGVudGlmaWVyKCkgY29uc3QgZmluYWwge3JldHVybiBkb2N1bWVudCgpLnBhZ2VJRCgpOyB9
CiAKIC8vIERPTSBBUEkKIC8vIGVycm9yIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VJZGVudGlm
aWVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0ZDVmOGQyOTc1NjNlZTAyOWM0
MTNlOWNkYTc0OTRjNWZhNGQ4YWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlSWRlbnRpZmllci5oCisrKyAvZGV2
L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5j
bHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1l
bnVtIFBhZ2VJZGVudGlmaWVyVHlwZSB7IH07Ci11c2luZyBQYWdlSWRlbnRpZmllciA9IE9iamVj
dElkZW50aWZpZXI8UGFnZUlkZW50aWZpZXJUeXBlPjsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGFnZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BhZ2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRkNWY4ZDI5NzU2M2VlMDI5YzQxM2U5
Y2RhNzQ5NGM1ZmE0ZDhhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BhZ2VJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIFBhZ2VJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBQYWdlSWRl
bnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8UGFnZUlkZW50aWZpZXJUeXBlPjsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b24uY3BwCmluZGV4IDMwM2RmNWFjMzI3NDU1YzFiNzA1MjQwNjU3YTUyZDFmNjQ2MTIyZDAuLmI5
NzYwNjc4YmYwOWI4ZDllZWFlOTAwMzJhYTViN2M5NTI4MDYxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAg
LTM0OCw4ICszNDgsMjMgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50Q2hhcmFj
dGVyaXN0aWNzQ2hhbmdlZCgpCiAgICAgbV9tYW5hZ2VyLT5jbGllbnRDaGFyYWN0ZXJpc3RpY3ND
aGFuZ2VkKCp0aGlzKTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzUGxheWluZ0F1ZGlvKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKQoreworICAgIHJldHVybiBt
ZWRpYVR5cGUgPT0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6TWVkaWFUeXBlOjpWaWRlb0F1ZGlvIHx8
IG1lZGlhVHlwZSA9PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpNZWRpYVR5cGU6OkF1ZGlvOworfQor
CiBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjYW5QbGF5Q29uY3VycmVudGx5KGNvbnN0IFBs
YXRmb3JtTWVkaWFTZXNzaW9uJiBvdGhlclNlc3Npb24pIGNvbnN0CiB7CisgICAgYXV0byBtZWRp
YVR5cGUgPSB0aGlzLT5tZWRpYVR5cGUoKTsKKyAgICBhdXRvIG90aGVyTWVkaWFUeXBlID0gb3Ro
ZXJTZXNzaW9uLm1lZGlhVHlwZSgpOworICAgIGlmIChvdGhlck1lZGlhVHlwZSAhPSBtZWRpYVR5
cGUgJiYgKCFpc1BsYXlpbmdBdWRpbyhtZWRpYVR5cGUpIHx8ICFpc1BsYXlpbmdBdWRpbyhvdGhl
ck1lZGlhVHlwZSkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gcGFnZUlEID0g
Y2xpZW50KCkuaG9zdGluZ1BhZ2VJZGVudGlmaWVyKCk7CisgICAgYXV0byBvdGhlclBhZ2VJRCA9
IG90aGVyU2Vzc2lvbi5jbGllbnQoKS5ob3N0aW5nUGFnZUlkZW50aWZpZXIoKTsKKyAgICBpZiAo
IXBhZ2VJRCB8fCAhb3RoZXJQYWdlSUQgfHwgKnBhZ2VJRCAhPSAqb3RoZXJQYWdlSUQpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiBtX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNv
dXJjZSgpICYmIG90aGVyU2Vzc2lvbi5tX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNvdXJjZSgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb24uaAppbmRleCA3OTVlOGRkZDM5MzE2MjRhZDJhNWNjMzMwYzkyNWJlN2RlZmMzODk1
Li45N2U3YTQwNzBkZDFmMTIzZjkwMzI4YWE4ZTJhM2RjMDlkYTM3MDVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAg
LTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgogI2luY2x1
ZGUgIk1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJQYWdlSWRlbnRpZmllci5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMjUzLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgaXNQbGF5aW5nT25TZWNvbmRTY3JlZW4oKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCiAgICAgdmlydHVhbCBEb2N1bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50
SWRlbnRpZmllcigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIE9wdGlvbmFsPFBhZ2VJZGVudGlm
aWVyPiBob3N0aW5nUGFnZUlkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIGJv
b2wgaGFzTWVkaWFTdHJlYW1Tb3VyY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCAwMDgwMTkwNGMwYzIyNjE4M2M0YzRhMDlmN2FjYjU5
NDdmODYwYzNmLi4yN2Y2NjYxMTUyOWFkODcyNjFhODNkZjNhMzFiNjAyMjE2MTJhMzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKQEAgLTI0Myw5ICsyNDMsOCBAQCBib29sIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3JtTWVk
aWFTZXNzaW9uJgogICAgICAgICBlbmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246
Ok5vRmxhZ3MpOwogCiAgICAgaWYgKHJlc3RyaWN0aW9ucyAmIENvbmN1cnJlbnRQbGF5YmFja05v
dFBlcm1pdHRlZCkgewotICAgICAgICBmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKFsmc2Vzc2lvbiwg
c2Vzc2lvblR5cGVdKGF1dG8mIG9uZVNlc3Npb24pIHsKKyAgICAgICAgZm9yRWFjaE1hdGNoaW5n
U2Vzc2lvbihbJnNlc3Npb25dKGF1dG8mIG9uZVNlc3Npb24pIHsKICAgICAgICAgICAgIHJldHVy
biAmb25lU2Vzc2lvbiAhPSAmc2Vzc2lvbgotICAgICAgICAgICAgICAgICYmIG9uZVNlc3Npb24u
bWVkaWFUeXBlKCkgPT0gc2Vzc2lvblR5cGUKICAgICAgICAgICAgICAgICAmJiBvbmVTZXNzaW9u
LnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcKICAgICAgICAgICAgICAg
ICAmJiAhb25lU2Vzc2lvbi5jYW5QbGF5Q29uY3VycmVudGx5KHNlc3Npb24pOwogICAgICAgICB9
LCBbXShhdXRvJiBvbmVTZXNzaW9uKSB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggZDI1OWUzMDFlMjc5NjRlNDdjMTZhMjNiN2ZlMjc5MjNmMGI5
Zjk1Zi4uNTM5OTEzZTg2MjUzZTgzZTBiNzk0NWJkMmE5ZjdhNjJiMzBiM2MyMyAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTAxLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBUd28gcGFnZXMgaW4gdGhlIHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxh
eSBtZWRpYSBzdHJlYW0gYmFja2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
Z2V0VXNlck1lZGlhMi5odG1sOiBBZGRlZC4KKwogMjAyMS0wMS0xMSAgTGF1cm8gTW91cmEgIDxs
bW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBHYXJkZW5pbmcgQVBJIHRlc3QgY3Jh
c2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDA4MDcxNjg3MTUxMmQ2ZDhiYTBjZmMxN2Ew
MmIyMTM4MmRiMGEyOC4uMDRlNDJiMzM2ZmRmNWI3ZGI0MjRlZTgzYmU1ZDY4N2JjOWU0Y2YwOCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxLDYgKzUxLDcgQEAKIAkJMDc0OTJCM0IxREY4
QjE0QzAwNjMzREUxIC8qIEVudW1lcmF0ZU1lZGlhRGV2aWNlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzQ5MkIzQTFERjhBRTJEMDA2MzNERTEg
LyogRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcCAqLzsgfTsKIAkJMDc0OTJCM0MxREY4Qjg2NjAw
NjMzREUxIC8qIGVudW1lcmF0ZU1lZGlhRGV2aWNlcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NDkyQjM5MURGOEFEQTQwMDYzM0RF
MSAvKiBlbnVtZXJhdGVNZWRpYURldmljZXMuaHRtbCAqLzsgfTsKIAkJMDc0OTk0NDIxRUE1MDM0
QjAwMERBNDRFIC8qIGdldFVzZXJNZWRpYS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFCNSAvKiBn
ZXRVc2VyTWVkaWEuaHRtbCAqLzsgfTsKKwkJMDc0OTk0NTIxRUE1MDM0QjAwMERBNDRFIC8qIGdl
dFVzZXJNZWRpYTIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUJBRjRFMjI1QUM5REI4MDBEODJGMzIgLyogZ2V0VXNlck1lZGlhMi5o
dG1sICovOyB9OwogCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NEYgLyogb25kZXZpY2VjaGFuZ2Uu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjYgLyogb25kZXZpY2VjaGFuZ2UuaHRtbCAqLzsgfTsK
IAkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDVFIC8qIGdldFVzZXJNZWRpYUF1ZGlvVmlkZW9DYXB0
dXJlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUM1IC8qIGdldFVzZXJNZWRpYUF1ZGlvVmlkZW9D
YXB0dXJlLmh0bWwgKi87IH07CiAJCTA3NkU1MDdGMUY0NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5n
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NkU1
MDdFMUY0NTAzMUUwMDZFOUY1QSAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKQEAgLTE0MzgsNiArMTQz
OSw3IEBACiAJCQkJNDY3QzU2NTMyMUI1RUQxMzAwNTc1MTZEIC8qIEdldFNlc3Npb25Db29raWUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk0MTY2MUM2NjIzNTVFODVFMDBEMzNDMjcg
LyogZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
MDc0OTk0NDIxRUE1MDM0QjAwMERBNDRFIC8qIGdldFVzZXJNZWRpYS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAorCQkJCTA3NDk5NDUyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEy
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDVF
IC8qIGdldFVzZXJNZWRpYUF1ZGlvVmlkZW9DYXB0dXJlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJRjQ2QTA5NUIxRUQ4QTZFNjAwRDRBQTU1IC8qIGdpZi1hbmQtZmlsZS1pbnB1dC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3MzI1NUE1MjIxMzlCQzcwMDM5NkFFOCAv
KiBoZWxsb3dvcmxkLndlYmFyY2hpdmUgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xOTc5LDYg
KzE5ODEsNyBAQAogCQk0MTg0OEY0MzI0ODkxODE1MDAwRTI1ODggLyogb3Blbi13aW5kb3ctd2l0
aC1maWxlLXVybC13aXRoLWhvc3QuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJv
cGVuLXdpbmRvdy13aXRoLWZpbGUtdXJsLXdpdGgtaG9zdC5odG1sIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE4ODJGMDIyMTAxMEE3MDAwMkZGMjg4IC8qIFByb2Nlc3NQcmVXYXJt
aW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJvY2Vzc1By
ZVdhcm1pbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTczQjVDMUFGMjI4
NzUwMDZDN0IzNiAvKiBTaGFyZWRCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2hhcmVkQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDFCQUY0RTIyNUFDOURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9IGdldFVzZXJNZWRpYTIuaHRtbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDQwNzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNU
ZXN0SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YURl
dGVjdG9yc1Rlc3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MkJCRjY4
MUM5MUNBRDkwMDE3MDg3RiAvKiBSZWZMb2dnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVmTG9nZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzM0EzOTUyMDgwNDQxMzAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3luY2hyb25vdXNUaW1l
b3V0VGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzcyLDYgKzQzNzUs
NyBAQAogCQkJCTI2RjUyRUIxMTgyODhGMEYwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbldhdGNoUG9z
aXRpb25XaXRoSGlnaEFjY3VyYWN5Lmh0bWwgKi8sCiAJCQkJNDE2NjFDNjUyMzU1RDk4QjAwRDMz
QzI3IC8qIGdldFVzZXJNZWRpYS13ZWJhdWRpby5odG1sICovLAogCQkJCTRBNDEwRjREMTlBRjdC
RUYwMDJFQkFCNSAvKiBnZXRVc2VyTWVkaWEuaHRtbCAqLywKKwkJCQk0MUJBRjRFMjI1QUM5REI4
MDBEODJGMzIgLyogZ2V0VXNlck1lZGlhMi5odG1sICovLAogCQkJCTRBNDEwRjREMTlBRjdCRUYw
MDJFQkFDNSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sICovLAogCQkJCUJD
QkQzNzJFMTI1QUJCRTYwMEQyQzI5RiAvKiBpY29uLnBuZyAqLywKIAkJCQkxQ0M4MENFOTI0NzRG
MUY3MDA0REM0ODkgLyogaWRlbXBvdGVudC1tb2RlLWF1dG9zaXppbmctb25seS1ob25vcnMtcGVy
Y2VudGFnZXMuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0dldFVzZXJNZWRpYS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0dldFVzZXJNZWRpYS5tbQppbmRleCBhNGUyMTg5NDA3MmZlNjFlY2M1NzFmM2RmZWRlZWU0MWUy
M2FmM2Q4Li45NDllYThiYTg3Yjg3NjVjOWM3YzU0NjQ3MjI4MzUxZTY3ODcwYTBkIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCkBAIC0y
NzEsNiArMjcxLDQ2IEBAIFRFU1QoV2ViS2l0MiwgR2V0Q2FwYWJpbGl0aWVzKQogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiB9CiAKK1RFU1QoV2ViS2l0LCBJbnRlcnJ1cHRp
b25CZXR3ZWVuU2FtZVByb2Nlc3NQYWdlcykKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworCisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBbY29uZmlndXJhdGlvbiBzZXRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrOllFU107CisjZW5kaWYKKworICAgIGF1dG8gcHJlZmVyZW5jZXMgPSBbY29uZmln
dXJhdGlvbiBwcmVmZXJlbmNlc107CisgICAgcHJlZmVyZW5jZXMuX21lZGlhQ2FwdHVyZVJlcXVp
cmVzU2VjdXJlQ29ubmVjdGlvbiA9IE5POworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlh
Q2FwdHVyZUVuYWJsZWQgPSBZRVM7CisgICAgcHJlZmVyZW5jZXMuX21vY2tDYXB0dXJlRGV2aWNl
c0VuYWJsZWQgPSBZRVM7CisKKyAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW0dV
TU1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgW1tjb25maWd1cmF0aW9uIHVzZXJD
b250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIu
Z2V0KCkgbmFtZTpAImd1bSJdOworCisgICAgZG9uZSA9IGZhbHNlOworICAgIGF1dG8gd2ViVmll
dzEgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRk
VG9XaW5kb3c6WUVTXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tHZXRVc2VyTWVk
aWFDYXB0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIHdlYlZpZXcxLmdldCgpLlVJ
RGVsZWdhdGUgPSBkZWxlZ2F0ZS5nZXQoKTsKKyAgICBbd2ViVmlldzEgbG9hZFRlc3RQYWdlTmFt
ZWQ6QCJnZXRVc2VyTWVkaWEyIl07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX3JlbGF0ZWRXZWJWaWV3ID0gd2ViVmlldzEu
Z2V0KCk7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgYXV0byB3ZWJWaWV3MiA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAw
LCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNd
KTsKKyAgICB3ZWJWaWV3Mi5nZXQoKS5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisgICAg
W3dlYlZpZXcyIGxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhMiJdOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBkb25lID0gZmFsc2U7CisjaWYgUExB
VEZPUk0oSU9TKQorICAgIFt3ZWJWaWV3MSBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
Y2hlY2tJc05vdFBsYXlpbmcoKSJdOworI2Vsc2UKKyAgICBbd2ViVmlldzEgc3RyaW5nQnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAImNoZWNrSXNQbGF5aW5nKCkiXTsKKyNlbmRpZgorICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKICNpZiBXS19IQVZFX0NfU1BJCiBURVNU
KFdlYktpdCwgV2ViQXVkaW9BbmRHZXRVc2VyTWVkaWEpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXRVc2VyTWVkaWEyLmh0bWwgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXRVc2VyTWVkaWEyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU1
ZWVjY2ZjNWJhOTYxYThmNjM4OWVkNzJhY2Q4MWVjM2ViMjRkYwotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVzZXJNZWRpYTIuaHRtbApAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnRDYXB0dXJlKCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRp
YSh7IGF1ZGlvOiB0cnVlLCB2aWRlbzogdHJ1ZSB9KS50aGVuKGFzeW5jIChzKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIHZpZGVvLnNyY09iamVjdCA9IHM7CisgICAgICAgICAgICAgICAgICAg
IGF3YWl0IHZpZGVvLnBsYXkoKTsKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHZpZGVvLnZp
ZGVvV2lkdGggIT0gNjQwKQorICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CisgICAgICAgICAgICAgICAg
ICAgIGNoZWNrSXNQbGF5aW5nKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrSXNOb3RQbGF5aW5nKCkgeworICAgICAgICAg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmd1bS5wb3N0TWVzc2FnZSh2aWRl
by5wYXVzZWQgPyAiUEFTUyIgOiAiRkFJTCIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBjaGVja0lzUGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cud2Vi
a2l0Lm1lc3NhZ2VIYW5kbGVycy5ndW0ucG9zdE1lc3NhZ2UodmlkZW8ucGF1c2VkID8gIkZBSUwi
IDogIlBBU1MiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPGhlYWQ+
CisKKyAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0Q2FwdHVyZSgpIj4KKyAgICAgICAgPHZpZGVvIGlk
PSJ2aWRlbyIgY29udHJvbHMgcGxheXNpbmxpbmUgYXV0b3BsYXk+PC92aWRlbz4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="435171"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417452</attachid>
            <date>2021-01-12 06:29:00 -0800</date>
            <delta_ts>2021-01-20 02:40:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220504-20210112152859.patch</filename>
            <type>text/plain</type>
            <size>27743</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzNhNjNkZmIyMjY5N2Rj
MDViZGEyODU0MmE4Y2Q5ODY0YmQ1Yzg4Yi4uODUxYTBjZTM4OWE4MGE5MmRjYzVjNDY0NzM2ZGYy
NDUzNWY4OTA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAxLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNhc2Ugb2YgQ29uY3VycmVudFBsYXliYWNr
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9ucywgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IG1lZGlh
IGVsZW1lbnRzIGZyb20gZGlmZmVyZW50IHBhZ2VzIGRvIG5vdCBwbGF5IGNvbmN1cnJlbnRseS4K
KyAgICAgICAgQWRkIGhvc3RpbmdQYWdlSWRlbnRpZmllciBnZXR0ZXIgZm9yIHRoYXQgcHVycG9z
ZS4KKyAgICAgICAgV2Ugc2hvdWxkIGFsc28gbWFrZSBzdXJlIHRoYXQgYSBWaWRlb0F1ZGlvIGFu
ZCBBdWRpbyBzZXNzaW9ucyBjYW4gYWxzbyBwYXVzZSBlYWNoIG90aGVyLgorICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0Ojpob3N0aW5nUGFnZUlkZW50
aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogV2ViQ29yZS9IZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc1BsYXlpbmdBdWRpbyk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUGxheUNvbmN1cnJlbnRseSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2sp
OgorICAgICAgICAqIHBsYXRmb3JtL1BhZ2VJZGVudGlmaWVyLmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VJZGVudGlmaWVyLmguCisKIDIwMjEtMDEtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVubXV0aW5nIGEgdHJhY2sgaW4g
Y2FzZSBvZiBlbmQgb2YgaW50ZXJydXB0aW9uIGJ5IGFub3RoZXIgd2ViIHByb2Nlc3MgdGFiIGlz
IG5vdCB3b3JraW5nIHdlbGwgd2l0aCBjYXB0dXJlIG11dGluZyBpY29ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggYWRlNWM2OTAyNDI5NzYyNWM3MGRhYjc5MGE1YzJjNWE4Nzc3ZWM2MS4uOTg0MmEy
MjU5OWFhYzA3MDg0YWE0YmQ1NTE2NWZhN2U2OGI2NjliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC04ODMsNyArODgzLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAogICAgIHBhZ2UvUGFnZUNvbnNvbGVDbGllbnQu
aAogICAgIHBhZ2UvUGFnZUdyb3VwLmgKLSAgICBwYWdlL1BhZ2VJZGVudGlmaWVyLmgKICAgICBw
YWdlL1BhZ2VPdmVybGF5LmgKICAgICBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuaApAQCAtMTAzMCw2ICsxMDI5LDcgQEAgc2V0KFdlYkNv
cmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL1BPREludGVydmFsLmgK
ICAgICBwbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaAogICAgIHBsYXRmb3JtL1BPRFJlZEJsYWNr
VHJlZS5oCisgICAgcGxhdGZvcm0vUGFnZUlkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL1Bhc3Rl
Ym9hcmQuaAogICAgIHBsYXRmb3JtL1Bhc3RlYm9hcmRDdXN0b21EYXRhLmgKICAgICBwbGF0Zm9y
bS9QYXN0ZWJvYXJkSXRlbUluZm8uaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDJkMWI4OTBmYTBjNWJiYjk5OGYzZTA2MTI4YjQz
ZTBlOWIwMTNmMTUuLjVlMDc0YzY3YjY0MGNhOGM4ZTczZjFkNjlkN2RiNTZjZjliYjA4MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAK
QEAgLTQ2MSw2ICs0NjEsMTIgQEAgRG9jdW1lbnRJZGVudGlmaWVyIEF1ZGlvQ29udGV4dDo6aG9z
dGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIGRvY3VtZW50ID8gZG9j
dW1lbnQtPmlkZW50aWZpZXIoKSA6IERvY3VtZW50SWRlbnRpZmllciB7IH07CiB9CiAKK09wdGlv
bmFsPFBhZ2VJZGVudGlmaWVyPiBBdWRpb0NvbnRleHQ6Omhvc3RpbmdQYWdlSWRlbnRpZmllcigp
IGNvbnN0Cit7CisgICAgYXV0byogZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4obV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKKyAgICByZXR1cm4gZG9jdW1lbnQgPyBkb2N1bWVudC0+cGFn
ZUlEKCkgOiBXVEY6Om51bGxvcHQ7Cit9CisKIGJvb2wgQXVkaW9Db250ZXh0Ojppc1N1c3BlbmRl
ZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFkb2N1bWVudCgpIHx8IGRvY3VtZW50KCktPmFjdGl2
ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKSB8fCBkb2N1bWVudCgpLT5hY3RpdmVET01PYmplY3Rz
QXJlU3RvcHBlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKaW5kZXggMWU3OWFmYjdmYTJjODQzNGEyNmJlMjk3NGUxZGIxN2EwZjQwNjRhZS4u
ODY2ZDJjNTU1ZDNkMjIyYjk1MzA4OThhYTU4NDgzMDAzNjY1MGU5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0xMjEsNiArMTIxLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGNhblByb2R1Y2VBdWRpbygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3QgZmluYWw7CiAgICAgRG9j
dW1lbnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsK
KyAgICBPcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gaG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkgY29u
c3QgZmluYWw7CiAKICAgICAvLyBNZWRpYUNhblN0YXJ0TGlzdGVuZXIuCiAgICAgdm9pZCBtZWRp
YUNhblN0YXJ0KERvY3VtZW50Jikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDE5YTA5MTE4NDMxYjNiZmJlZjVm
MDA2NmMwMTMwNDIyZjA0N2VjZi4uNWVjYTQ3YTE2MmRiNTg3YmMwNWVhYzNjZGFhNThhOTMwNTIx
YWQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTEzNiw2ICsxMTM2LDcgQEAKIAkJNDFCMjhCM0QxRjg2MEVGMzAwRkI1MkFD
IC8qIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjI4QjM2MUY4NjBCRDAwMEZCNTJBQyAvKiBMaWJXZWJSVENQ
cm92aWRlckNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDFCMkE2MjYxRUYxQkY2RDAwMkI5RDdBIC8qIFdlYkF1ZGlvU291cmNlUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjJB
NjI1MUVGMUJGNjAwMDJCOUQ3QSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFCODc3NjIyM0RFMTA0
NTAwMzYzOEI4IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUI4Nzc2MDIzREUxMDQyMDAzNjM4
QjggLyogUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MUJBRjRFQTI1QUREQzZGMDBEODJGMzIg
LyogUGFnZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxQkFGNEU4MjVBRERDNkUwMEQ4MkYzMiAvKiBQYWdlSWRlbnRpZmllci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxQkJBODY2
MjU3RTM3M0IwMEFDN0Y2RCAvKiBTRnJhbWVVdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyMDlFMjQyNTdBMkZCQjAwMTIwQUNBIC8qIFNGcmFt
ZVV0aWxzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDFCRjIwNDkyMkJBN0JFODAwMDRGODEyIC8qIFJlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkYyMDQwMjJCOTQ3
MTYwMDA0RjgxMiAvKiBSZWFsdGltZVZpZGVvU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFDNzYwQjEwRURFMDNEMzAwQzE2NTVGIC8q
IFNjcmlwdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI1Miw3ICsxMjUzLDYg
QEAKIAkJNDY4MkQyMDAxRjc5NzgzMDAwQzg2M0RCIC8qIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjgyRDFG
RjFGNzk3ODIzMDBDODYzREIgLyogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjgzNDRFMDFFRERGQUFB
MDBCNzc5NUIgLyogRE9NUmVjdExpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2ODM0NERFMUVEREZBNUYwMEI3Nzk1QiAvKiBET01SZWN0TGlzdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2QjYz
RjZDMUM2RThEMTkwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkx
NEIgLyogSlNFdmVudFRhcmdldEN1c3RvbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQ2QjY1MEREMjI5NjI2MjcwMEZEOEFBNCAvKiBQYWdlSWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZCNjUwREIyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVudGlmaWVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZCOTUxOTUyMDdENjMzNDAw
QTdEMkREIC8qIEFic3RyYWN0RE9NV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE4QTIwN0Q2MzI4MDBBN0QyREQgLyogQWJzdHJhY3RE
T01XaW5kb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0NkI5NTE5NjIwN0Q2MzNBMDBBN0QyREQgLyogQWJzdHJhY3RGcmFtZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCOTUxOEYyMDdENjMyQjAw
QTdEMkREIC8qIEFic3RyYWN0RnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NkI5NTE5NzIwN0Q2MzQwMDBBN0QyREQgLyogR2xvYmFsV2lu
ZG93SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDZCOTUxOTAyMDdENjMyQzAwQTdEMkREIC8qIEdsb2JhbFdpbmRvd0lkZW50aWZpZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzg4
Miw2ICs3ODgyLDcgQEAKIAkJNDFCODc3NjAyM0RFMTA0MjAwMzYzOEI4IC8qIFJlYWx0aW1lTWVk
aWFTb3VyY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
YWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxQjkxMzc2MjM1ODREMEUwMDI1QkZBMyAvKiBNb2NrQXVkaW9EZXN0aW5hdGlvbkNvY29h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tBdWRpb0Rlc3RpbmF0aW9u
Q29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCOTEzNzgyMzU4NEQwRjAw
MjVCRkEzIC8qIE1vY2tBdWRpb0Rlc3RpbmF0aW9uQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja0F1ZGlvRGVzdGluYXRpb25Db2NvYS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxQkFGNEU4MjVBRERDNkUwMEQ4MkYzMiAvKiBQYWdl
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlSWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUJGMjA0MDIyQjk0NzE2MDAw
NEY4MTIgLyogUmVhbHRpbWVWaWRlb1NvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFsdGltZVZp
ZGVvU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkYyMDQyMjJCOTQ3
MTcwMDA0RjgxMiAvKiBSZWFsdGltZVZpZGVvU291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTgxNjYsNyArODE2Nyw2IEBACiAJCTQ2ODM0NEREMUVEREZBNUYwMEI3Nzk1QiAvKiBE
T01SZWN0TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01SZWN0TGlzdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2ODM0NERFMUVEREZBNUYwMEI3Nzk1QiAvKiBET01S
ZWN0TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01SZWN0TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkI2M0Y2QjFDNkU4Q0RGMDAyRTkxNEIgLyogSlNFdmVudFRhcmdldEN1
c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Q3Vz
dG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2QjY1MERCMjI5NjI2MjcwMEZE
OEFBNCAvKiBQYWdlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYWdlSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkI5NTE4
QTIwN0Q2MzI4MDBBN0QyREQgLyogQWJzdHJhY3RET01XaW5kb3cuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RET01XaW5kb3cuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDZCOTUxOEMyMDdENjMyOTAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZUZyYW1lLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCOTUxOEQyMDdENjMyQTAwQTdEMkREIC8qIFJl
bW90ZURPTVdpbmRvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdGVET01XaW5kb3cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjIxMTks
NyArMjIxMTksNiBAQAogCQkJCTkzMDJCMEJFMEQ3OUY4MkMwMEM3RUU4MyAvKiBQYWdlR3JvdXAu
aCAqLywKIAkJCQk3QTY3NEJEOTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERlZmVy
cmVyLmNwcCAqLywKIAkJCQk3QTY3NEJEQTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmggKi8sCi0JCQkJNDZCNjUwREIyMjk2MjYyNzAwRkQ4QUE0IC8qIFBhZ2VJZGVu
dGlmaWVyLmggKi8sCiAJCQkJMkQ1QzlDRkIxOUM3QjUyRTAwQjNDNUMxIC8qIFBhZ2VPdmVybGF5
LmNwcCAqLywKIAkJCQkyRDVDOUNGQzE5QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92ZXJsYXkuaCAq
LywKIAkJCQkyRDVDOUNGRDE5QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92ZXJsYXlDb250cm9sbGVy
LmNwcCAqLywKQEAgLTI3NTgyLDYgKzI3NTgxLDcgQEAKIAkJCQk0MTc4RUYxNjI0MTI1QjZDMDAx
OTNDNzQgLyogTm93UGxheWluZ01hbmFnZXIuY3BwICovLAogCQkJCTQxNzhFRjE0MjQxMjVCNkMw
MDE5M0M3NCAvKiBOb3dQbGF5aW5nTWFuYWdlci5oICovLAogCQkJCTQxODRGNTE1MUVBRjA1OTgw
MEYxOEJGMCAvKiBPcmllbnRhdGlvbk5vdGlmaWVyLmggKi8sCisJCQkJNDFCQUY0RTgyNUFEREM2
RTAwRDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmggKi8sCiAJCQkJMkVFMDJBMUUxRjczMjQyODAw
MDZBRjcyIC8qIFBhc3RlYm9hcmQuY3BwICovLAogCQkJCTRCMjcwOEM1MEFGMTlFRTQwMDY1MTI3
RiAvKiBQYXN0ZWJvYXJkLmggKi8sCiAJCQkJRjRGQjM0RkIyMzUwQzg1RDAwRjAwOTRBIC8qIFBh
c3RlYm9hcmRDdXN0b21EYXRhLmNwcCAqLywKQEAgLTMzMDQ2LDcgKzMzMDQ2LDYgQEAKIAkJCQlF
NDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREY3NTZBMzIxNUMyOUU5MDBFRkNCNTAgLyogSlNNZWRpYUtleUVuY3J5cHRpb25TY2hl
bWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOUJGNzI4MURCRkRCMEQwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5TWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDQwRkQ1MzI1QTRBRkRG
MDBGN0M4NDkgLyogTWFya2VkVGV4dFN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDlCRjcy
OTFEQkZEQjEwMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
OUJGNzJBMURCRkRCMTMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0RGNEI3MUUxRTAxRTExQTAwRTIzNUEyIC8qIEpTTWVkaWFLZXlTZXNzaW9uVHlw
ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzYxMyw2ICszMzYxMiw3IEBACiAJCQkJN0FFNkM5M0Mx
QkUwQzYwMTAwRTE5RTAzIC8qIE1haW5UaHJlYWRTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDRTE4NjY0NTFGNzJFNUI0MDBBMENBQjYgLyogTWFya2VkVGV4dC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRTQ0MEZENTMyNUE0QUZERjAwRjdDODQ5IC8qIE1hcmtlZFRleHRTdHls
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERjgwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1
cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcyOEMzMTQxMjY4RTQzOTAwNDFFODlCIC8qIE1hcmt1
cEFjY3VtdWxhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMEM2MEUzRjEzRDc2RDdFMDA5MkEy
NzUgLyogTWFya3VwVG9rZW5pemVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzkwNyw3
ICszMzkwNyw3IEBACiAJCQkJOTMwMkIwQkYwRDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0E2NzRCREMwRjlFQkY0RTAwNkNGMDk5IC8qIFBhZ2VHcm91
cExvYWREZWZlcnJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQzQxRkFBNDRCQzAwMzdE
MUU2IC8qIFBhZ2VIZWFwQWdlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2QjY1MEREMjI5NjI2
MjcwMEZEOEFBNCAvKiBQYWdlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFCQUY0
RUEyNUFEREM2RjAwRDgyRjMyIC8qIFBhZ2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNUNCMDUyNDFGQjUxRjMzMDAwODlCOTcgLyogUGFnZU5ldHdvcmtBZ2VudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkQ1QzlEMDAxOUM3QjUyRTAwQjNDNUMxIC8qIFBhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDVDOUQwMjE5QzdCNTJFMDBCM0M1QzEgLyogUGFnZU92ZXJsYXlD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKaW5kZXggZGU5ZDVmODA3ZTE5OTVhY2NlYjQ2NDQxNzkyNDMyNThhNWVhNGNlMS4uNzk4
YmY5MDAxN2I2ZmI4MzY3NWM1MmRmMTlmZGYwMzA4NTEwYTkwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTE5OCw2ICsxOTgsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpbkFjdGl2ZURvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9
CiAKICAgICBEb2N1bWVudElkZW50aWZpZXIgaG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIGRvY3VtZW50KCkuaWRlbnRpZmllcigpOyB9CisgICAgT3B0aW9u
YWw8UGFnZUlkZW50aWZpZXI+IGhvc3RpbmdQYWdlSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHty
ZXR1cm4gZG9jdW1lbnQoKS5wYWdlSUQoKTsgfQogCiAvLyBET00gQVBJCiAvLyBlcnJvciBzdGF0
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlSWRlbnRpZmllci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlSWRlbnRpZmllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0NGQ1ZjhkMjk3NTYzZWUwMjljNDEzZTljZGE3NDk0YzVmYTRkOGFlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUlkZW50aWZpZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBQYWdlSWRlbnRpZmllclR5cGUgeyB9Owot
dXNpbmcgUGFnZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFBhZ2VJZGVudGlmaWVyVHlw
ZT47Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BhZ2VJZGVudGlm
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYWdlSWRlbnRpZmllci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ0ZDVmOGQyOTc1NjNlZTAyOWM0MTNlOWNkYTc0OTRjNWZhNGQ4YWUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYWdlSWRlbnRpZmllci5oCkBAIC0wLDAg
KzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9PYmpl
Y3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBQYWdlSWRlbnRp
ZmllclR5cGUgeyB9OwordXNpbmcgUGFnZUlkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFBh
Z2VJZGVudGlmaWVyVHlwZT47CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAzMDNkZjVhYzMyNzQ1NWMx
YjcwNTI0MDY1N2E1MmQxZjY0NjEyMmQwLi5iOTc2MDY3OGJmMDliOGQ5ZWVhZTkwMDMyYWE1Yjdj
OTUyODA2MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNDgsOCArMzQ4LDIzIEBAIHZvaWQgUGxhdGZv
cm1NZWRpYVNlc3Npb246OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKQogICAgIG1fbWFu
YWdlci0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgqdGhpcyk7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc1BsYXlpbmdBdWRpbyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBl
IG1lZGlhVHlwZSkKK3sKKyAgICByZXR1cm4gbWVkaWFUeXBlID09IE1lZGlhRWxlbWVudFNlc3Np
b246Ok1lZGlhVHlwZTo6VmlkZW9BdWRpbyB8fCBtZWRpYVR5cGUgPT0gTWVkaWFFbGVtZW50U2Vz
c2lvbjo6TWVkaWFUeXBlOjpBdWRpbzsKK30KKwogYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
Y2FuUGxheUNvbmN1cnJlbnRseShjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgb3RoZXJTZXNz
aW9uKSBjb25zdAogeworICAgIGF1dG8gbWVkaWFUeXBlID0gdGhpcy0+bWVkaWFUeXBlKCk7Cisg
ICAgYXV0byBvdGhlck1lZGlhVHlwZSA9IG90aGVyU2Vzc2lvbi5tZWRpYVR5cGUoKTsKKyAgICBp
ZiAob3RoZXJNZWRpYVR5cGUgIT0gbWVkaWFUeXBlICYmICghaXNQbGF5aW5nQXVkaW8obWVkaWFU
eXBlKSB8fCAhaXNQbGF5aW5nQXVkaW8ob3RoZXJNZWRpYVR5cGUpKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBhdXRvIHBhZ2VJRCA9IGNsaWVudCgpLmhvc3RpbmdQYWdlSWRlbnRpZmll
cigpOworICAgIGF1dG8gb3RoZXJQYWdlSUQgPSBvdGhlclNlc3Npb24uY2xpZW50KCkuaG9zdGlu
Z1BhZ2VJZGVudGlmaWVyKCk7CisgICAgaWYgKCFwYWdlSUQgfHwgIW90aGVyUGFnZUlEIHx8ICpw
YWdlSUQgIT0gKm90aGVyUGFnZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1
cm4gbV9jbGllbnQuaGFzTWVkaWFTdHJlYW1Tb3VyY2UoKSAmJiBvdGhlclNlc3Npb24ubV9jbGll
bnQuaGFzTWVkaWFTdHJlYW1Tb3VyY2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKaW5kZXggNzk1ZThkZGQzOTMx
NjI0YWQyYTVjYzMzMGM5MjViZTdkZWZjMzg5NS4uOTdlN2E0MDcwZGQxZjEyM2Y5MDMyOGFhOGUy
YTNkYzA5ZGEzNzA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJE
b2N1bWVudElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVudGlmaWVyLmgi
CisjaW5jbHVkZSAiUGFnZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAg
LTI1Myw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ09uU2Vj
b25kU2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgRG9jdW1l
bnRJZGVudGlmaWVyIGhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAg
dmlydHVhbCBPcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gaG9zdGluZ1BhZ2VJZGVudGlmaWVyKCkg
Y29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc01lZGlhU3RyZWFtU291cmNlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXggMDA4
MDE5MDRjMGMyMjYxODNjNGM0YTA5ZjdhY2I1OTQ3Zjg2MGMzZi4uMjdmNjY2MTE1MjlhZDg3MjYx
YTgzZGYzYTMxYjYwMjIxNjEyYTM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0y
NDMsOSArMjQzLDggQEAgYm9vbCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25X
aWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYKICAgICAgICAgZW5kSW50ZXJy
dXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpOb0ZsYWdzKTsKIAogICAgIGlmIChyZXN0cmlj
dGlvbnMgJiBDb25jdXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQpIHsKLSAgICAgICAgZm9yRWFj
aE1hdGNoaW5nU2Vzc2lvbihbJnNlc3Npb24sIHNlc3Npb25UeXBlXShhdXRvJiBvbmVTZXNzaW9u
KSB7CisgICAgICAgIGZvckVhY2hNYXRjaGluZ1Nlc3Npb24oWyZzZXNzaW9uXShhdXRvJiBvbmVT
ZXNzaW9uKSB7CiAgICAgICAgICAgICByZXR1cm4gJm9uZVNlc3Npb24gIT0gJnNlc3Npb24KLSAg
ICAgICAgICAgICAgICAmJiBvbmVTZXNzaW9uLm1lZGlhVHlwZSgpID09IHNlc3Npb25UeXBlCiAg
ICAgICAgICAgICAgICAgJiYgb25lU2Vzc2lvbi5zdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpQbGF5aW5nCiAgICAgICAgICAgICAgICAgJiYgIW9uZVNlc3Npb24uY2FuUGxheUNvbmN1
cnJlbnRseShzZXNzaW9uKTsKICAgICAgICAgfSwgW10oYXV0byYgb25lU2Vzc2lvbikgewpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQyNTllMzAx
ZTI3OTY0ZTQ3YzE2YTIzYjdmZTI3OTIzZjBiOWY5NWYuLjUzOTkxM2U4NjI1M2U4M2UwYjc5NDVi
ZDJhOWY3YTYyYjMwYjNjMjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0xMiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdvIHBhZ2VzIGluIHRoZSBzYW1lIHByb2Nl
c3Mgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHBsYXkgbWVkaWEgc3RyZWFtIGJhY2tlZCB2aWRlbyBl
bGVtZW50cyBhdCB0aGUgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjA1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dl
dFVzZXJNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVzZXJNZWRpYTIuaHRtbDogQWRkZWQuCisK
IDIwMjEtMDEtMTEgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W1dQRV0gR2FyZGVuaW5nIEFQSSB0ZXN0IGNyYXNoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDQwODA3MTY4NzE1MTJkNmQ4YmEwY2ZjMTdhMDJiMjEzODJkYjBhMjguLjA0ZTQyYjMzNmZkZjVi
N2RiNDI0ZWU4M2JlNWQ2ODdiYzllNGNmMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MSw2ICs1MSw3IEBACiAJCTA3NDkyQjNCMURGOEIxNEMwMDYzM0RFMSAvKiBFbnVtZXJhdGVNZWRp
YURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc0OTJCM0ExREY4QUUyRDAwNjMzREUxIC8qIEVudW1lcmF0ZU1lZGlhRGV2aWNlcy5jcHAg
Ki87IH07CiAJCTA3NDkyQjNDMURGOEI4NjYwMDYzM0RFMSAvKiBlbnVtZXJhdGVNZWRpYURldmlj
ZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzQ5MkIzOTFERjhBREE0MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFEZXZpY2VzLmh0
bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi87IH07CisJCTA3
NDk5NDUyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUY0RTIyNUFDOURC
ODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLzsgfTsKIAkJMDc0OTk0NDIxRUE1MDM0
QjAwMERBNDRGIC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI2IC8q
IG9uZGV2aWNlY2hhbmdlLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1RSAv
KiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFD
NSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sICovOyB9OwogCQkwNzZFNTA3
RjFGNDUxM0Q2MDA2RTlGNUEgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzZFNTA3RTFGNDUwMzFFMDA2RTlGNUEgLyogTG9nZ2lu
Zy5jcHAgKi87IH07CkBAIC0xNDM4LDYgKzE0MzksNyBAQAogCQkJCTQ2N0M1NjUzMjFCNUVEMTMw
MDU3NTE2RCAvKiBHZXRTZXNzaW9uQ29va2llLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJNDE2NjFDNjYyMzU1RTg1RTAwRDMzQzI3IC8qIGdldFVzZXJNZWRpYS13ZWJhdWRpby5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBn
ZXRVc2VyTWVkaWEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQkwNzQ5OTQ1MjFFQTUw
MzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2Fw
dHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0NkEwOTVCMUVEOEE2RTYwMEQ0
QUE1NSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQk1NzMyNTVBNTIyMTM5QkM3MDAzOTZBRTggLyogaGVsbG93b3JsZC53ZWJhcmNoaXZlIGluIENv
cHkgUmVzb3VyY2VzICovLApAQCAtMTk3OSw2ICsxOTgxLDcgQEAKIAkJNDE4NDhGNDMyNDg5MTgx
NTAwMEUyNTg4IC8qIG9wZW4td2luZG93LXdpdGgtZmlsZS11cmwtd2l0aC1ob3N0Lmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAib3Blbi13aW5kb3ctd2l0aC1maWxlLXVybC13aXRo
LWhvc3QuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODgyRjAyMjEwMTBB
NzAwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NQcmVXYXJtaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTk3M0I1QzFBRjIyODc1MDA2QzdCMzYgLyogU2hhcmVkQnVmZmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEJ1ZmZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYzMiAv
KiBnZXRVc2VyTWVkaWEyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBnZXRVc2Vy
TWVkaWEyLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MDc3QkIwMjMxNDQ5
RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVmTG9nZ2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAv
KiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDM3Miw2ICs0Mzc1LDcgQEAKIAkJCQkyNkY1MkVCMTE4Mjg4RjBGMDAy
M0Q0MTIgLyogZ2VvbG9jYXRpb25XYXRjaFBvc2l0aW9uV2l0aEhpZ2hBY2N1cmFjeS5odG1sICov
LAogCQkJCTQxNjYxQzY1MjM1NUQ5OEIwMEQzM0MyNyAvKiBnZXRVc2VyTWVkaWEtd2ViYXVkaW8u
aHRtbCAqLywKIAkJCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0
bWwgKi8sCisJCQkJNDFCQUY0RTIyNUFDOURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRt
bCAqLywKIAkJCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQzUgLyogZ2V0VXNlck1lZGlhQXVkaW9W
aWRlb0NhcHR1cmUuaHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyogaWNv
bi5wbmcgKi8sCiAJCQkJMUNDODBDRTkyNDc0RjFGNzAwNERDNDg5IC8qIGlkZW1wb3RlbnQtbW9k
ZS1hdXRvc2l6aW5nLW9ubHktaG9ub3JzLXBlcmNlbnRhZ2VzLmh0bWwgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KaW5kZXggYTRlMjE4
OTQwNzJmZTYxZWNjNTcxZjNkZmVkZWVlNDFlMjNhZjNkOC4uOTQ5ZWE4YmE4N2I4NzY1YzljN2M1
NDY0NzIyODM1MWU2Nzg3MGEwZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0dldFVzZXJNZWRpYS5tbQpAQCAtMjcxLDYgKzI3MSw0NiBAQCBURVNUKFdlYktpdDIs
IEdldENhcGFiaWxpdGllcykKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwog
fQogCitURVNUKFdlYktpdCwgSW50ZXJydXB0aW9uQmV0d2VlblNhbWVQcm9jZXNzUGFnZXMpCit7
CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gYWxsb2NdIGluaXRdKTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW2NvbmZp
Z3VyYXRpb24gc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazpZRVNdOworI2VuZGlmCisKKyAg
ICBhdXRvIHByZWZlcmVuY2VzID0gW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdOworICAgIHBy
ZWZlcmVuY2VzLl9tZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24gPSBOTzsKKyAg
ICBjb25maWd1cmF0aW9uLmdldCgpLl9tZWRpYUNhcHR1cmVFbmFibGVkID0gWUVTOworICAgIHBy
ZWZlcmVuY2VzLl9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkID0gWUVTOworCisgICAgYXV0byBt
ZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tHVU1NZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0p
OworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1l
c3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJndW0iXTsKKworICAgIGRv
bmUgPSBmYWxzZTsKKyAgICBhdXRvIHdlYlZpZXcxID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbR2V0VXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICB3ZWJWaWV3MS5nZXQoKS5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7Cisg
ICAgW3dlYlZpZXcxIGxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhMiJdOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBjb25maWd1cmF0aW9uLmdldCgp
Ll9yZWxhdGVkV2ViVmlldyA9IHdlYlZpZXcxLmdldCgpOworCisgICAgZG9uZSA9IGZhbHNlOwor
ICAgIGF1dG8gd2ViVmlldzIgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmlldzIuZ2V0KCkuVUlEZWxl
Z2F0ZSA9IGRlbGVnYXRlLmdldCgpOworICAgIFt3ZWJWaWV3MiBsb2FkVGVzdFBhZ2VOYW1lZDpA
ImdldFVzZXJNZWRpYTIiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
CisgICAgZG9uZSA9IGZhbHNlOworI2lmIFBMQVRGT1JNKElPUykKKyAgICBbd2ViVmlldzEgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNoZWNrSXNOb3RQbGF5aW5nKCkiXTsKKyNlbHNl
CisgICAgW3dlYlZpZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja0lzUGxh
eWluZygpIl07CisjZW5kaWYKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
fQorCiAjaWYgV0tfSEFWRV9DX1NQSQogVEVTVChXZWJLaXQsIFdlYkF1ZGlvQW5kR2V0VXNlck1l
ZGlhKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0
VXNlck1lZGlhMi5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNl
ck1lZGlhMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NWVlY2NmYzViYTk2MWE4ZjYzODllZDcyYWNkODFl
YzNlYjI0ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9nZXRVc2VyTWVkaWEyLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0
aW9uIHN0YXJ0Q2FwdHVyZSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IHRydWUg
fSkudGhlbihhc3luYyAocykgPT4geworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmNPYmpl
Y3QgPSBzOworICAgICAgICAgICAgICAgICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisgICAgICAg
ICAgICAgICAgICAgIHdoaWxlICh2aWRlby52aWRlb1dpZHRoICE9IDY0MCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNv
bHZlLCA1MCkpOworICAgICAgICAgICAgICAgICAgICBjaGVja0lzUGxheWluZygpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVj
a0lzTm90UGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VI
YW5kbGVycy5ndW0ucG9zdE1lc3NhZ2UodmlkZW8ucGF1c2VkID8gIlBBU1MiIDogIkZBSUwiKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tJc1BsYXlpbmcoKSB7
CisgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZ3VtLnBvc3RN
ZXNzYWdlKHZpZGVvLnBhdXNlZCA/ICJGQUlMIiA6ICJQQVNTIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgIDxoZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzdGFydENh
cHR1cmUoKSI+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGNvbnRyb2xzIHBsYXlzaW5saW5l
IGF1dG9wbGF5PjwvdmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417957</attachid>
            <date>2021-01-20 02:41:01 -0800</date>
            <delta_ts>2021-01-20 12:47:11 -0800</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-220504-20210120114059.patch</filename>
            <type>text/plain</type>
            <size>11982</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVlOTA4MjdhMjg1YzMw
N2VhOWY3Y2EzNDEwMWE4Yzg0NmYwMzg1OS4uYTM4NThlNjlkZmJhYWI3ZjJlNWE3YjZiYWQ5ZGI5
Njc3MjFiNWVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNhc2Ugb2YgQ29uY3VycmVudFBsYXliYWNr
Tm90UGVybWl0dGVkIHJlc3RyaWN0aW9ucywgd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IG1lZGlh
IGVsZW1lbnRzIGZyb20gZGlmZmVyZW50IHBhZ2VzIGRvIG5vdCBwbGF5IGNvbmN1cnJlbnRseS4K
KyAgICAgICAgQWRkIGhvc3RpbmdQYWdlSWRlbnRpZmllciBnZXR0ZXIgZm9yIHRoYXQgcHVycG9z
ZS4KKworICAgICAgICBXZSBzaG91bGQgYWxzbyBtYWtlIHN1cmUgdGhhdCBhIFZpZGVvQXVkaW8g
YW5kIEF1ZGlvIHNlc3Npb25zIGNhbiBhbHNvIHBhdXNlIGVhY2ggb3RoZXIuCisgICAgICAgIFdl
IHJlbGF4IHRoZSBjaGVjayBmb3Igc2FtZSBtZWRpYSBzZXNzaW9uIHR5cGUgYWNjb3JkaW5nbHku
CisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdC4KKworICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzUGxheWlu
Z0F1ZGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjYW5QbGF5
Q29uY3VycmVudGx5IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzZXNzaW9uV2lsbEJlZ2luUGxheWJhY2spOgorCiAyMDIxLTAxLTIwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
MjcxNDg4KTogQVNTRVJUSU9OIEZBSUxFRDogbV9wcml2YXRlLT50eXBlKCkgIT0gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8gfHwgIVBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcigpLmhhc0F1ZGlvQ2FwdHVyZVNvdXJjZSgqdGhpcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApp
bmRleCAzMDNkZjVhYzMyNzQ1NWMxYjcwNTI0MDY1N2E1MmQxZjY0NjEyMmQwLi5lZDIxMjcxMWMw
OWQ3YzMxMTdlNGU5YmQ4YWQ2MTMzYmE2OTY0MDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNDgsOCAr
MzQ4LDIzIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNsaWVudENoYXJhY3RlcmlzdGlj
c0NoYW5nZWQoKQogICAgIG1fbWFuYWdlci0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgq
dGhpcyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1BsYXlpbmdBdWRpbyhQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlhVHlwZSkKK3sKKyAgICByZXR1cm4gbWVkaWFUeXBl
ID09IE1lZGlhRWxlbWVudFNlc3Npb246Ok1lZGlhVHlwZTo6VmlkZW9BdWRpbyB8fCBtZWRpYVR5
cGUgPT0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6TWVkaWFUeXBlOjpBdWRpbzsKK30KKwogYm9vbCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUGxheUNvbmN1cnJlbnRseShjb25zdCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbiYgb3RoZXJTZXNzaW9uKSBjb25zdAogeworICAgIGF1dG8gbWVkaWFUeXBlID0g
dGhpcy0+bWVkaWFUeXBlKCk7CisgICAgYXV0byBvdGhlck1lZGlhVHlwZSA9IG90aGVyU2Vzc2lv
bi5tZWRpYVR5cGUoKTsKKyAgICBpZiAob3RoZXJNZWRpYVR5cGUgIT0gbWVkaWFUeXBlICYmICgh
aXNQbGF5aW5nQXVkaW8obWVkaWFUeXBlKSB8fCAhaXNQbGF5aW5nQXVkaW8ob3RoZXJNZWRpYVR5
cGUpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvIGdyb3VwSUQgPSBjbGllbnQo
KS5tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKTsKKyAgICBhdXRvIG90aGVyR3JvdXBJRCA9
IG90aGVyU2Vzc2lvbi5jbGllbnQoKS5tZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIoKTsKKyAg
ICBpZiAoIWdyb3VwSUQgfHwgIW90aGVyR3JvdXBJRCB8fCBncm91cElEICE9IG90aGVyR3JvdXBJ
RCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIG1fY2xpZW50Lmhhc01lZGlh
U3RyZWFtU291cmNlKCkgJiYgb3RoZXJTZXNzaW9uLm1fY2xpZW50Lmhhc01lZGlhU3RyZWFtU291
cmNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IGU4ZDM3OGZmNjUyZDI3
MGM3NWI3YjM1OWE0ZDJkNTkyNGI0ZTYyMWQuLmY3ZmQ1NzM3ZWM4ODJkOWI5NjY5NGQyY2FhMTM4
MmVkNDhhMzlkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMjQzLDkgKzI0Myw4
IEBAIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uV2lsbEJlZ2luUGxh
eWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mCiAgICAgICAgIGVuZEludGVycnVwdGlvbihQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9GbGFncyk7CiAKICAgICBpZiAocmVzdHJpY3Rpb25zICYgQ29u
Y3VycmVudFBsYXliYWNrTm90UGVybWl0dGVkKSB7Ci0gICAgICAgIGZvckVhY2hNYXRjaGluZ1Nl
c3Npb24oWyZzZXNzaW9uLCBzZXNzaW9uVHlwZV0oYXV0byYgb25lU2Vzc2lvbikgeworICAgICAg
ICBmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKFsmc2Vzc2lvbl0oYXV0byYgb25lU2Vzc2lvbikgewog
ICAgICAgICAgICAgcmV0dXJuICZvbmVTZXNzaW9uICE9ICZzZXNzaW9uCi0gICAgICAgICAgICAg
ICAgJiYgb25lU2Vzc2lvbi5tZWRpYVR5cGUoKSA9PSBzZXNzaW9uVHlwZQogICAgICAgICAgICAg
ICAgICYmIG9uZVNlc3Npb24uc3RhdGUoKSA9PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheWlu
ZwogICAgICAgICAgICAgICAgICYmICFvbmVTZXNzaW9uLmNhblBsYXlDb25jdXJyZW50bHkoc2Vz
c2lvbik7CiAgICAgICAgIH0sIFtdKGF1dG8mIG9uZVNlc3Npb24pIHsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3Yzc3Nzg3MjllM2I0OTQ3MmRh
ZmU1MjM0MDJkZGQ3ZDMzNzI3NTMxLi45NjM3Yjc5OGZjMWZjMjBjMTU3NjY2ZjBiODJiNDM5MGVi
NWExNTIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFR3byBwYWdlcyBpbiB0aGUgc2FtZSBwcm9jZXNzIHNob3VsZCBu
b3QgYmUgYWJsZSB0byBwbGF5IG1lZGlhIHN0cmVhbSBiYWNrZWQgdmlkZW8gZWxlbWVudHMgYXQg
dGhlIHNhbWUgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIwNTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEu
bW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9nZXRVc2VyTWVkaWEyLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAxLTIw
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBIERPTVdpbmRv
dyBzaG91bGQgbm90IGJlIHJldXNlZCBpZiBpdHMgSlNET01XaW5kb3cgaGFzIGJlZW4gY3JlYXRl
ZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1Y2FlZDQyNzMyMjNiNzM0MjBmOTgxMWZlMmRk
MzNjN2FkMTJlMjM4Li41NWMxMDZmNDI4YTM0ZjM1MWM2MzYwODU2NmEwNTRlNjE2NTJiZGExIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTEsNiArNTEsNyBAQAogCQkwNzQ5MkIzQjFERjhC
MTRDMDA2MzNERTEgLyogRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NDkyQjNBMURGOEFFMkQwMDYzM0RFMSAv
KiBFbnVtZXJhdGVNZWRpYURldmljZXMuY3BwICovOyB9OwogCQkwNzQ5MkIzQzFERjhCODY2MDA2
MzNERTEgLyogZW51bWVyYXRlTWVkaWFEZXZpY2VzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0OTJCMzkxREY4QURBNDAwNjMzREUx
IC8qIGVudW1lcmF0ZU1lZGlhRGV2aWNlcy5odG1sICovOyB9OwogCQkwNzQ5OTQ0MjFFQTUwMzRC
MDAwREE0NEUgLyogZ2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI1IC8qIGdl
dFVzZXJNZWRpYS5odG1sICovOyB9OworCQkwNzQ5OTQ1MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0
VXNlck1lZGlhMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0
bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RiAvKiBvbmRldmljZWNoYW5nZS5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDRBNDEwRjREMTlBRjdCRUYwMDJFQkFCNiAvKiBvbmRldmljZWNoYW5nZS5odG1sICovOyB9Owog
CQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NUUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1
cmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQzUgLyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0Nh
cHR1cmUuaHRtbCAqLzsgfTsKIAkJMDc2RTUwN0YxRjQ1MTNENjAwNkU5RjVBIC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RTUw
N0UxRjQ1MDMxRTAwNkU5RjVBIC8qIExvZ2dpbmcuY3BwICovOyB9OwpAQCAtMTQ0MSw2ICsxNDQy
LDcgQEAKIAkJCQk0NjdDNTY1MzIxQjVFRDEzMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTQxNjYxQzY2MjM1NUU4NUUwMEQzM0MyNyAv
KiBnZXRVc2VyTWVkaWEtd2ViYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkw
NzQ5OTQ0MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCisJCQkJMDc0OTk0NTIxRUE1MDM0QjAwMERBNDRFIC8qIGdldFVzZXJNZWRpYTIu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkwNzQ5OTQ0MjFFQTUwMzRCMDAwREE0NUUg
LyogZ2V0VXNlck1lZGlhQXVkaW9WaWRlb0NhcHR1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQlGNDZBMDk1QjFFRDhBNkU2MDBENEFBNTUgLyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTczMjU1QTUyMjEzOUJDNzAwMzk2QUU4IC8q
IGhlbGxvd29ybGQud2ViYXJjaGl2ZSBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE5ODIsNiAr
MTk4NCw3IEBACiAJCTQxODQ4RjQzMjQ4OTE4MTUwMDBFMjU4OCAvKiBvcGVuLXdpbmRvdy13aXRo
LWZpbGUtdXJsLXdpdGgtaG9zdC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm9w
ZW4td2luZG93LXdpdGgtZmlsZS11cmwtd2l0aC1ob3N0Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTg4MkYwMjIxMDEwQTcwMDAyRkYyODggLyogUHJvY2Vzc1ByZVdhcm1p
bmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcm9jZXNzUHJl
V2FybWluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5NzNCNUMxQUYyMjg3
NTAwNkM3QjM2IC8qIFNoYXJlZEJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTaGFyZWRCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUJBRjRFMjI1QUM5REI4MDBEODJGMzIgLyogZ2V0VXNlck1lZGlhMi5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gZ2V0VXNlck1lZGlhMi5odG1sOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rl
c3RJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0
ZWN0b3JzVGVzdElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQyQkJGNjgx
QzkxQ0FEOTAwMTcwODdGIC8qIFJlZkxvZ2dlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZWZMb2dnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDMzQTM5NTIwODA0NDEzMDA5MUVENTcgLyogU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeW5jaHJvbm91c1RpbWVv
dXRUZXN0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzODAsNiArNDM4Myw3
IEBACiAJCQkJMjZGNTJFQjExODI4OEYwRjAwMjNENDEyIC8qIGdlb2xvY2F0aW9uV2F0Y2hQb3Np
dGlvbldpdGhIaWdoQWNjdXJhY3kuaHRtbCAqLywKIAkJCQk0MTY2MUM2NTIzNTVEOThCMDBEMzND
MjcgLyogZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JF
RjAwMkVCQUI1IC8qIGdldFVzZXJNZWRpYS5odG1sICovLAorCQkJCTQxQkFGNEUyMjVBQzlEQjgw
MEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JFRjAw
MkVCQUM1IC8qIGdldFVzZXJNZWRpYUF1ZGlvVmlkZW9DYXB0dXJlLmh0bWwgKi8sCiAJCQkJQkNC
RDM3MkUxMjVBQkJFNjAwRDJDMjlGIC8qIGljb24ucG5nICovLAogCQkJCTFDQzgwQ0U5MjQ3NEYx
RjcwMDREQzQ4OSAvKiBpZGVtcG90ZW50LW1vZGUtYXV0b3NpemluZy1vbmx5LWhvbm9ycy1wZXJj
ZW50YWdlcy5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvR2V0VXNlck1lZGlhLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
R2V0VXNlck1lZGlhLm1tCmluZGV4IGE0ZTIxODk0MDcyZmU2MWVjYzU3MWYzZGZlZGVlZTQxZTIz
YWYzZDguLjk0OWVhOGJhODdiODc2NWM5YzdjNTQ2NDcyMjgzNTFlNjc4NzBhMGQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KQEAgLTI3
MSw2ICsyNzEsNDYgQEAgVEVTVChXZWJLaXQyLCBHZXRDYXBhYmlsaXRpZXMpCiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKIH0KIAorVEVTVChXZWJLaXQsIEludGVycnVwdGlv
bkJldHdlZW5TYW1lUHJvY2Vzc1BhZ2VzKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIFtjb25maWd1cmF0aW9uIHNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2s6WUVTXTsKKyNlbmRpZgorCisgICAgYXV0byBwcmVmZXJlbmNlcyA9IFtjb25maWd1
cmF0aW9uIHByZWZlcmVuY2VzXTsKKyAgICBwcmVmZXJlbmNlcy5fbWVkaWFDYXB0dXJlUmVxdWly
ZXNTZWN1cmVDb25uZWN0aW9uID0gTk87CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fbWVkaWFD
YXB0dXJlRW5hYmxlZCA9IFlFUzsKKyAgICBwcmVmZXJlbmNlcy5fbW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZCA9IFlFUzsKKworICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbR1VN
TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNv
bnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5n
ZXQoKSBuYW1lOkAiZ3VtIl07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgYXV0byB3ZWJWaWV3
MSA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRU
b1dpbmRvdzpZRVNdKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0dldFVzZXJNZWRp
YUNhcHR1cmVVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgd2ViVmlldzEuZ2V0KCkuVUlE
ZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgpOworICAgIFt3ZWJWaWV3MSBsb2FkVGVzdFBhZ2VOYW1l
ZDpAImdldFVzZXJNZWRpYTIiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworCisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fcmVsYXRlZFdlYlZpZXcgPSB3ZWJWaWV3MS5n
ZXQoKTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBhdXRvIHdlYlZpZXcyID0gYWRvcHROUyhb
W1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAs
IDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10p
OworICAgIHdlYlZpZXcyLmdldCgpLlVJRGVsZWdhdGUgPSBkZWxlZ2F0ZS5nZXQoKTsKKyAgICBb
d2ViVmlldzIgbG9hZFRlc3RQYWdlTmFtZWQ6QCJnZXRVc2VyTWVkaWEyIl07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyNpZiBQTEFU
Rk9STShJT1MpCisgICAgW3dlYlZpZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJj
aGVja0lzTm90UGxheWluZygpIl07CisjZWxzZQorICAgIFt3ZWJWaWV3MSBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAiY2hlY2tJc1BsYXlpbmcoKSJdOworI2VuZGlmCisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30KKwogI2lmIFdLX0hBVkVfQ19TUEkKIFRFU1Qo
V2ViS2l0LCBXZWJBdWRpb0FuZEdldFVzZXJNZWRpYSkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVzZXJNZWRpYTIuaHRtbCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVzZXJNZWRpYTIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTVl
ZWNjZmM1YmE5NjFhOGY2Mzg5ZWQ3MmFjZDgxZWMzZWIyNGRjCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0VXNlck1lZGlhMi5odG1sCkBAIC0w
LDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBzdGFydENhcHR1cmUoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
KHsgYXVkaW86IHRydWUsIHZpZGVvOiB0cnVlIH0pLnRoZW4oYXN5bmMgKHMpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgdmlkZW8uc3JjT2JqZWN0ID0gczsKKyAgICAgICAgICAgICAgICAgICAg
YXdhaXQgdmlkZW8ucGxheSgpOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAodmlkZW8udmlk
ZW9XaWR0aCAhPSA2NDApCisgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKyAgICAgICAgICAgICAgICAg
ICAgY2hlY2tJc1BsYXlpbmcoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tJc05vdFBsYXlpbmcoKSB7CisgICAgICAgICAg
ICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZ3VtLnBvc3RNZXNzYWdlKHZpZGVv
LnBhdXNlZCA/ICJQQVNTIiA6ICJGQUlMIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGNoZWNrSXNQbGF5aW5nKCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJr
aXQubWVzc2FnZUhhbmRsZXJzLmd1bS5wb3N0TWVzc2FnZSh2aWRlby5wYXVzZWQgPyAiRkFJTCIg
OiAiUEFTUyIpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8aGVhZD4K
KworICAgIDxib2R5IG9ubG9hZD0ic3RhcnRDYXB0dXJlKCkiPgorICAgICAgICA8dmlkZW8gaWQ9
InZpZGVvIiBjb250cm9scyBwbGF5c2lubGluZSBhdXRvcGxheT48L3ZpZGVvPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417988</attachid>
            <date>2021-01-20 12:47:17 -0800</date>
            <delta_ts>2021-01-20 13:27:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220504-20210120214715.patch</filename>
            <type>text/plain</type>
            <size>11900</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVlOTA4MjdhMjg1YzMw
N2VhOWY3Y2EzNDEwMWE4Yzg0NmYwMzg1OS4uY2EwNTZlNzY2ODhmODU3NzgxOTY4NDc2N2FkYTM3
YWQ0ZWUwOWEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTAxLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28gcGFnZXMgaW4gdGhl
IHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRpYSBzdHJlYW0gYmFj
a2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbiBjYXNlIG9mIENvbmN1cnJlbnRQbGF5YmFja05v
dFBlcm1pdHRlZCByZXN0cmljdGlvbnMsIHdlIG5vdyBtYWtlIHN1cmUgdGhhdCBtZWRpYSBlbGVt
ZW50cyBmcm9tIGRpZmZlcmVudCBwYWdlcyBkbyBub3QgcGxheSBjb25jdXJyZW50bHkuCisgICAg
ICAgIFdlIGFsc28gbWFrZSBzdXJlIHRoYXQgYSBWaWRlb0F1ZGlvIGFuZCBBdWRpbyBzZXNzaW9u
cyBjYW4gYWxzbyBwYXVzZSBlYWNoIG90aGVyIHNvIHdlIHVwZGF0ZSB0aGUgY2hlY2sgZm9yIHNh
bWUgbWVkaWEgc2Vzc2lvbiB0eXBlIGFjY29yZGluZ2x5LgorCisgICAgICAgIENvdmVyZWQgYnkg
QVBJIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1BsYXlpbmdBdWRpbyk6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUGxheUNvbmN1cnJlbnRseSBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldp
bGxCZWdpblBsYXliYWNrKToKKwogMjAyMS0wMS0yMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3MTQ4OCk6IEFTU0VSVElPTiBGQUlM
RUQ6IG1fcHJpdmF0ZS0+dHlwZSgpICE9IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlv
IHx8ICFQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5oYXNBdWRp
b0NhcHR1cmVTb3VyY2UoKnRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggMzAzZGY1YWMzMjc0NTVjMWI3
MDUyNDA2NTdhNTJkMWY2NDYxMjJkMC4uZWQyMTI3MTFjMDlkN2MzMTE3ZTRlOWJkOGFkNjEzM2Jh
Njk2NDA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMzQ4LDggKzM0OCwyMyBAQCB2b2lkIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCkKICAgICBtX21hbmFn
ZXItPmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKnRoaXMpOwogfQogCitzdGF0aWMgaW5s
aW5lIGJvb2wgaXNQbGF5aW5nQXVkaW8oUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBt
ZWRpYVR5cGUpCit7CisgICAgcmV0dXJuIG1lZGlhVHlwZSA9PSBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpNZWRpYVR5cGU6OlZpZGVvQXVkaW8gfHwgbWVkaWFUeXBlID09IE1lZGlhRWxlbWVudFNlc3Np
b246Ok1lZGlhVHlwZTo6QXVkaW87Cit9CisKIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNh
blBsYXlDb25jdXJyZW50bHkoY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24mIG90aGVyU2Vzc2lv
bikgY29uc3QKIHsKKyAgICBhdXRvIG1lZGlhVHlwZSA9IHRoaXMtPm1lZGlhVHlwZSgpOworICAg
IGF1dG8gb3RoZXJNZWRpYVR5cGUgPSBvdGhlclNlc3Npb24ubWVkaWFUeXBlKCk7CisgICAgaWYg
KG90aGVyTWVkaWFUeXBlICE9IG1lZGlhVHlwZSAmJiAoIWlzUGxheWluZ0F1ZGlvKG1lZGlhVHlw
ZSkgfHwgIWlzUGxheWluZ0F1ZGlvKG90aGVyTWVkaWFUeXBlKSkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgYXV0byBncm91cElEID0gY2xpZW50KCkubWVkaWFTZXNzaW9uR3JvdXBJZGVu
dGlmaWVyKCk7CisgICAgYXV0byBvdGhlckdyb3VwSUQgPSBvdGhlclNlc3Npb24uY2xpZW50KCku
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCk7CisgICAgaWYgKCFncm91cElEIHx8ICFvdGhl
ckdyb3VwSUQgfHwgZ3JvdXBJRCAhPSBvdGhlckdyb3VwSUQpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKwogICAgIHJldHVybiBtX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNvdXJjZSgpICYmIG90aGVy
U2Vzc2lvbi5tX2NsaWVudC5oYXNNZWRpYVN0cmVhbVNvdXJjZSgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLmNwcAppbmRleCBlOGQzNzhmZjY1MmQyNzBjNzViN2IzNTlhNGQyZDU5MjRiNGU2
MjFkLi5mN2ZkNTczN2VjODgyZDliOTY2OTRkMmNhYTEzODJlZDQ4YTM5ZGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAKQEAgLTI0Myw5ICsyNDMsOCBAQCBib29sIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNz
aW9uJgogICAgICAgICBlbmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246Ok5vRmxh
Z3MpOwogCiAgICAgaWYgKHJlc3RyaWN0aW9ucyAmIENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1p
dHRlZCkgewotICAgICAgICBmb3JFYWNoTWF0Y2hpbmdTZXNzaW9uKFsmc2Vzc2lvbiwgc2Vzc2lv
blR5cGVdKGF1dG8mIG9uZVNlc3Npb24pIHsKKyAgICAgICAgZm9yRWFjaE1hdGNoaW5nU2Vzc2lv
bihbJnNlc3Npb25dKGF1dG8mIG9uZVNlc3Npb24pIHsKICAgICAgICAgICAgIHJldHVybiAmb25l
U2Vzc2lvbiAhPSAmc2Vzc2lvbgotICAgICAgICAgICAgICAgICYmIG9uZVNlc3Npb24ubWVkaWFU
eXBlKCkgPT0gc2Vzc2lvblR5cGUKICAgICAgICAgICAgICAgICAmJiBvbmVTZXNzaW9uLnN0YXRl
KCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcKICAgICAgICAgICAgICAgICAmJiAh
b25lU2Vzc2lvbi5jYW5QbGF5Q29uY3VycmVudGx5KHNlc3Npb24pOwogICAgICAgICB9LCBbXShh
dXRvJiBvbmVTZXNzaW9uKSB7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggN2M3Nzc4NzI5ZTNiNDk0NzJkYWZlNTIzNDAyZGRkN2QzMzcyNzUzMS4u
MWQzOTY2NzJjYzNmZWI3OWMwN2JkYWYwNzU2Y2I3ZDhhODA3NTdjYyAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTAxLTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUd28g
cGFnZXMgaW4gdGhlIHNhbWUgcHJvY2VzcyBzaG91bGQgbm90IGJlIGFibGUgdG8gcGxheSBtZWRp
YSBzdHJlYW0gYmFja2VkIHZpZGVvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDUwNAorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldFVzZXJN
ZWRpYTIuaHRtbDogQWRkZWQuCisKIDIwMjEtMDEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIEEgRE9NV2luZG93IHNob3VsZCBub3QgYmUgcmV1c2VkIGlm
IGl0cyBKU0RPTVdpbmRvdyBoYXMgYmVlbiBjcmVhdGVkCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDVjYWVkNDI3MzIyM2I3MzQyMGY5ODExZmUyZGQzM2M3YWQxMmUyMzguLjU1YzEwNmY0Mjhh
MzRmMzUxYzYzNjA4NTY2YTA1NGU2MTY1MmJkYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC01MSw2ICs1MSw3IEBACiAJCTA3NDkyQjNCMURGOEIxNEMwMDYzM0RFMSAvKiBFbnVtZXJhdGVN
ZWRpYURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDc0OTJCM0ExREY4QUUyRDAwNjMzREUxIC8qIEVudW1lcmF0ZU1lZGlhRGV2aWNlcy5j
cHAgKi87IH07CiAJCTA3NDkyQjNDMURGOEI4NjYwMDYzM0RFMSAvKiBlbnVtZXJhdGVNZWRpYURl
dmljZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzQ5MkIzOTFERjhBREE0MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFEZXZpY2Vz
Lmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi87IH07CisJ
CTA3NDk5NDUyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUY0RTIyNUFD
OURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLzsgfTsKIAkJMDc0OTk0NDIxRUE1
MDM0QjAwMERBNDRGIC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI2
IC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1
RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdCRUYwMDJF
QkFDNSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sICovOyB9OwogCQkwNzZF
NTA3RjFGNDUxM0Q2MDA2RTlGNUEgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzZFNTA3RTFGNDUwMzFFMDA2RTlGNUEgLyogTG9n
Z2luZy5jcHAgKi87IH07CkBAIC0xNDQxLDYgKzE0NDIsNyBAQAogCQkJCTQ2N0M1NjUzMjFCNUVE
MTMwMDU3NTE2RCAvKiBHZXRTZXNzaW9uQ29va2llLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNDE2NjFDNjYyMzU1RTg1RTAwRDMzQzI3IC8qIGdldFVzZXJNZWRpYS13ZWJhdWRpby5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAv
KiBnZXRVc2VyTWVkaWEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQkwNzQ5OTQ1MjFF
QTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ1RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVv
Q2FwdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0NkEwOTVCMUVEOEE2RTYw
MEQ0QUE1NSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQk1NzMyNTVBNTIyMTM5QkM3MDAzOTZBRTggLyogaGVsbG93b3JsZC53ZWJhcmNoaXZlIGlu
IENvcHkgUmVzb3VyY2VzICovLApAQCAtMTk4Miw2ICsxOTg0LDcgQEAKIAkJNDE4NDhGNDMyNDg5
MTgxNTAwMEUyNTg4IC8qIG9wZW4td2luZG93LXdpdGgtZmlsZS11cmwtd2l0aC1ob3N0Lmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAib3Blbi13aW5kb3ctd2l0aC1maWxlLXVybC13
aXRoLWhvc3QuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODgyRjAyMjEw
MTBBNzAwMDJGRjI4OCAvKiBQcm9jZXNzUHJlV2FybWluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb2Nlc3NQcmVXYXJtaW5nLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTk3M0I1QzFBRjIyODc1MDA2QzdCMzYgLyogU2hhcmVkQnVmZmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEJ1ZmZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxQkFGNEUyMjVBQzlEQjgwMEQ4MkYz
MiAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBnZXRV
c2VyTWVkaWEyLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MDc3QkIwMjMx
NDQ5RDIwMDE3OUUyRCAvKiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVmTG9n
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1
NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDM4MCw2ICs0MzgzLDcgQEAKIAkJCQkyNkY1MkVCMTE4Mjg4RjBG
MDAyM0Q0MTIgLyogZ2VvbG9jYXRpb25XYXRjaFBvc2l0aW9uV2l0aEhpZ2hBY2N1cmFjeS5odG1s
ICovLAogCQkJCTQxNjYxQzY1MjM1NUQ5OEIwMEQzM0MyNyAvKiBnZXRVc2VyTWVkaWEtd2ViYXVk
aW8uaHRtbCAqLywKIAkJCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlh
Lmh0bWwgKi8sCisJCQkJNDFCQUY0RTIyNUFDOURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIu
aHRtbCAqLywKIAkJCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQzUgLyogZ2V0VXNlck1lZGlhQXVk
aW9WaWRlb0NhcHR1cmUuaHRtbCAqLywKIAkJCQlCQ0JEMzcyRTEyNUFCQkU2MDBEMkMyOUYgLyog
aWNvbi5wbmcgKi8sCiAJCQkJMUNDODBDRTkyNDc0RjFGNzAwNERDNDg5IC8qIGlkZW1wb3RlbnQt
bW9kZS1hdXRvc2l6aW5nLW9ubHktaG9ub3JzLXBlcmNlbnRhZ2VzLmh0bWwgKi8sCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KaW5kZXggYTRl
MjE4OTQwNzJmZTYxZWNjNTcxZjNkZmVkZWVlNDFlMjNhZjNkOC4uOTQ5ZWE4YmE4N2I4NzY1Yzlj
N2M1NDY0NzIyODM1MWU2Nzg3MGEwZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQpAQCAtMjcxLDYgKzI3MSw0NiBAQCBURVNUKFdlYktp
dDIsIEdldENhcGFiaWxpdGllcykKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OwogfQogCitURVNUKFdlYktpdCwgSW50ZXJydXB0aW9uQmV0d2VlblNhbWVQcm9jZXNzUGFnZXMp
Cit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gYWxsb2NdIGluaXRdKTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgW2Nv
bmZpZ3VyYXRpb24gc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazpZRVNdOworI2VuZGlmCisK
KyAgICBhdXRvIHByZWZlcmVuY2VzID0gW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdOworICAg
IHByZWZlcmVuY2VzLl9tZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb24gPSBOTzsK
KyAgICBjb25maWd1cmF0aW9uLmdldCgpLl9tZWRpYUNhcHR1cmVFbmFibGVkID0gWUVTOworICAg
IHByZWZlcmVuY2VzLl9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkID0gWUVTOworCisgICAgYXV0
byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tHVU1NZXNzYWdlSGFuZGxlciBhbGxvY10gaW5p
dF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlw
dE1lc3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJndW0iXTsKKworICAg
IGRvbmUgPSBmYWxzZTsKKyAgICBhdXRvIHdlYlZpZXcxID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbR2V0VXNlck1lZGlhQ2FwdHVyZVVJRGVsZWdhdGUgYWxsb2Nd
IGluaXRdKTsKKyAgICB3ZWJWaWV3MS5nZXQoKS5VSURlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7
CisgICAgW3dlYlZpZXcxIGxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0VXNlck1lZGlhMiJdOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBjb25maWd1cmF0aW9uLmdl
dCgpLl9yZWxhdGVkV2ViVmlldyA9IHdlYlZpZXcxLmdldCgpOworCisgICAgZG9uZSA9IGZhbHNl
OworICAgIGF1dG8gd2ViVmlldzIgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmlldzIuZ2V0KCkuVUlE
ZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgpOworICAgIFt3ZWJWaWV3MiBsb2FkVGVzdFBhZ2VOYW1l
ZDpAImdldFVzZXJNZWRpYTIiXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworCisgICAgZG9uZSA9IGZhbHNlOworI2lmIFBMQVRGT1JNKElPUykKKyAgICBbd2ViVmlldzEg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNoZWNrSXNOb3RQbGF5aW5nKCkiXTsKKyNl
bHNlCisgICAgW3dlYlZpZXcxIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjaGVja0lz
UGxheWluZygpIl07CisjZW5kaWYKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworfQorCiAjaWYgV0tfSEFWRV9DX1NQSQogVEVTVChXZWJLaXQsIFdlYkF1ZGlvQW5kR2V0VXNl
ck1lZGlhKQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
Z2V0VXNlck1lZGlhMi5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvZ2V0
VXNlck1lZGlhMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NWVlY2NmYzViYTk2MWE4ZjYzODllZDcyYWNk
ODFlYzNlYjI0ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9nZXRVc2VyTWVkaWEyLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0YXJ0Q2FwdHVyZSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IHRy
dWUgfSkudGhlbihhc3luYyAocykgPT4geworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmNP
YmplY3QgPSBzOworICAgICAgICAgICAgICAgICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisgICAg
ICAgICAgICAgICAgICAgIHdoaWxlICh2aWRlby52aWRlb1dpZHRoICE9IDY0MCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChy
ZXNvbHZlLCA1MCkpOworICAgICAgICAgICAgICAgICAgICBjaGVja0lzUGxheWluZygpOworICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBj
aGVja0lzTm90UGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3Nh
Z2VIYW5kbGVycy5ndW0ucG9zdE1lc3NhZ2UodmlkZW8ucGF1c2VkID8gIlBBU1MiIDogIkZBSUwi
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tJc1BsYXlpbmco
KSB7CisgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuZ3VtLnBv
c3RNZXNzYWdlKHZpZGVvLnBhdXNlZCA/ICJGQUlMIiA6ICJQQVNTIik7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDxoZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzdGFy
dENhcHR1cmUoKSI+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGNvbnRyb2xzIHBsYXlzaW5s
aW5lIGF1dG9wbGF5PjwvdmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>