<?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>221255</bug_id>
          
          <creation_ts>2021-02-02 05:50:33 -0800</creation_ts>
          <short_desc>Add a loader for &lt;model&gt; resources</short_desc>
          <delta_ts>2021-02-03 12:00:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>philipj</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>1724627</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 05:50:33 -0800</bug_when>
    <thetext>Add a loader for &lt;model&gt; resources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724628</commentid>
    <comment_count>1</comment_count>
      <attachid>418986</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 05:52:26 -0800</bug_when>
    <thetext>Created attachment 418986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724633</commentid>
    <comment_count>2</comment_count>
      <attachid>418986</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-02 06:11:04 -0800</bug_when>
    <thetext>Comment on attachment 418986
Patch

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

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:46
&gt; +    , m_document(makeWeakPtr(document))

I am not sure m_document is needed, ContextDestructionObserver should allow you to get it as a scriptExecutionContext.

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:48
&gt; +    , m_crossOriginMode(crossOriginMode)

Maybe String&amp;&amp; crossOriginMode

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:61
&gt; +    m_modelElement = nullptr;

Can the model element be bound to another document during its lifetime?

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:100
&gt; +    auto resource = m_document-&gt;cachedResourceLoader().requestModel(WTFMove(cachedRequest)).value_or(nullptr);

What would be the destination of this request?
This is visible from service worker for instance. I guess we might need a new one? Or use Image maybe?

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:102
&gt; +        return nullptr;

I would try to do like DocumentThreadableLoader and log the error to the console in case of error.

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:104
&gt; +    Ref&lt;ModelResource&gt; modelResource = ModelResource::create(*this, resource);

auto.
You can also probably move resource here.

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:105
&gt; +    m_resources.add(modelResource.ptr());

Can we use a WeakHashSet?

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:116
&gt; +Ref&lt;ModelResource&gt; ModelResource::create(ModelResourceLoader&amp; loader, CachedResourceHandle&lt;CachedRawResource&gt; resource)

CachedResourceHandle&lt;CachedRawResource&gt;&amp;&amp;

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:118
&gt; +    return adoptRef(*new ModelResource(loader, resource));

WTFMove(resource)

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:121
&gt; +ModelResource::ModelResource(ModelResourceLoader&amp; loader, CachedResourceHandle&lt;CachedRawResource&gt; resource)

CachedResourceHandle&lt;CachedRawResource&gt;&amp;&amp;

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:122
&gt; +    : m_loader(loader)

This is dangerous, ModelResource is refable so there is a possibility it will be live longer than its ModelResourceLoader.
I would use a WeakPtr for loader.

&gt; Source/WebCore/Modules/model-element/ModelResourceLoader.cpp:144
&gt; +void ModelResource::responseReceived(CachedResource&amp; resource, const ResourceResponse&amp; response, CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)

This is sharing a lot of code with MediaResource::responseReceived.
How about trying to add a method to MediaResourceLoader called requestModelResource and rename MediaResourceLoader::requestResource as MediaResourceLoader::requestAudioVideoResource?

It seems ModelResource and MediaResource have a lot in common.
Maybe we could update MediaResource to take a type member so that the differences between model and media resources would be handled within MediaResource thanks to this type member?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:135
&gt; +    case CachedResource::Type::ModelResource:

Unclear how much ModelResource differs from MediaResource.
Might be worth it for logging though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724646</commentid>
    <comment_count>3</comment_count>
      <attachid>418993</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 07:03:46 -0800</bug_when>
    <thetext>Created attachment 418993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724647</commentid>
    <comment_count>4</comment_count>
      <attachid>418994</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 07:09:03 -0800</bug_when>
    <thetext>Created attachment 418994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724650</commentid>
    <comment_count>5</comment_count>
      <attachid>418996</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 07:18:49 -0800</bug_when>
    <thetext>Created attachment 418996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724652</commentid>
    <comment_count>6</comment_count>
      <attachid>418996</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-02 07:23:35 -0800</bug_when>
    <thetext>Comment on attachment 418996
Patch

Seems good overall.
I am wondering whether we should not add a service worker test to validate the destination is model for model loads.
Not sure whether we are ready for this though.

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

&gt; Source/WebCore/loader/FetchOptions.h:40
&gt; +#if ENABLE(MODEL_ELEMENT)

Probably not needed.

&gt; Source/WebCore/platform/network/ResourceRequestBase.h:418
&gt; +#if ENABLE(MODEL_ELEMENT)

Remove it or add it in enum class Requester : uint8_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724673</commentid>
    <comment_count>7</comment_count>
      <attachid>419003</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 08:36:22 -0800</bug_when>
    <thetext>Created attachment 419003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724678</commentid>
    <comment_count>8</comment_count>
      <attachid>419003</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-02 08:54:46 -0800</bug_when>
    <thetext>Comment on attachment 419003
Patch

r=me once bots are happy.
Can you file a bug to keep track of adding a service worker destination test for model?

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

&gt; Source/WebCore/loader/MediaResourceLoader.h:71
&gt; +    FetchOptions::Destination m_destination;

Might need FetchOptions.h include for non unified builds.

&gt; Source/WebCore/loader/cache/CachedResource.h:184
&gt; +    bool isMainOrMediaOrIconOrRawResource() const

Sounds good. Ideally we would move the definition to an inline method in the header:
class {
    bool isMainOrMediaOrIconOrRawResource() const;
};

inline bool CachedResource::isMainOrMediaOrIconOrRawResource() const
{
    return ...
}

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:326
&gt; +    CachedResource::Type resourceType = CachedResource::Type::ModelResource;

auto.
And should probably MediaResource here instead of ModelResource.

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:397
&gt; +            return ResourceLoadInfo::Type::Other;

Media might be better than Other here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724696</commentid>
    <comment_count>9</comment_count>
      <attachid>419011</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-02 09:37:14 -0800</bug_when>
    <thetext>Created attachment 419011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724779</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-02 11:23:48 -0800</bug_when>
    <thetext>Out of interest, what is the reasoning behind reusing MediaResourceLoader for this? Not saying it is wrong, just that the ChangeLog doesn&apos;t say. 

What features of the MediaResourceLoader are being used that say, just using CachedRawResource doesn&apos;t get you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725051</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-03 00:29:52 -0800</bug_when>
    <thetext>&gt; What features of the MediaResourceLoader are being used that say, just using
&gt; CachedRawResource doesn&apos;t get you?

MediaResourceLoader is handling media subresource loads, it handles things like CORS, CSP, contrary to CachedRawResource which is more flexible.
As a first approximation, it seems ok to design model loading similarly to media loading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725094</commentid>
    <comment_count>12</comment_count>
      <attachid>419125</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-03 05:33:52 -0800</bug_when>
    <thetext>Created attachment 419125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725126</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-02-03 07:08:47 -0800</bug_when>
    <thetext>Committed r272313: &lt;https://trac.webkit.org/changeset/272313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725127</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-03 07:09:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/73930776&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725251</commentid>
    <comment_count>15</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-03 11:51:58 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #11)
&gt; &gt; What features of the MediaResourceLoader are being used that say, just using
&gt; &gt; CachedRawResource doesn&apos;t get you?
&gt; 
&gt; MediaResourceLoader is handling media subresource loads, it handles things
&gt; like CORS, CSP, contrary to CachedRawResource which is more flexible.
&gt; As a first approximation, it seems ok to design model loading similarly to
&gt; media loading.

Does &lt;model&gt; want the media behavior for CORS and CSP? Do we want the behavior of PlatformMediaResourceLoader for this? Really feels like using MediaResourceLoader isn&apos;t the right call for this right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725259</commentid>
    <comment_count>16</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-03 12:00:39 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #15)
&gt; (In reply to youenn fablet from comment #11)
&gt; &gt; &gt; What features of the MediaResourceLoader are being used that say, just using
&gt; &gt; &gt; CachedRawResource doesn&apos;t get you?
&gt; &gt; 
&gt; &gt; MediaResourceLoader is handling media subresource loads, it handles things
&gt; &gt; like CORS, CSP, contrary to CachedRawResource which is more flexible.
&gt; &gt; As a first approximation, it seems ok to design model loading similarly to
&gt; &gt; media loading.
&gt; 
&gt; Does &lt;model&gt; want the media behavior for CORS and CSP? Do we want the
&gt; behavior of PlatformMediaResourceLoader for this? Really feels like using
&gt; MediaResourceLoader isn&apos;t the right call for this right now.

Also, I&apos;m pretty sure all cached resources support CORS and CSP, including CachedRawResource. 

For CORS, CachedResourceLoader should follow CORS rules due based on the ResourceLoaderOptions/FetchOptions passed in. 

For CSP, most of seems to be via CachedResourceLoader::allowedByContentSecurityPolicy(), where you can add a resource type for specific policy differences.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418986</attachid>
            <date>2021-02-02 05:52:26 -0800</date>
            <delta_ts>2021-02-02 07:03:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202145224.patch</filename>
            <type>text/plain</type>
            <size>40122</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uZWI3MmY3OTJiMWIxMTI1MzY2NmRlYTIzMWVlNzI5
YjhhMzYzMzkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBNb2RlbFJlc291cmNlTG9hZGVyIGNsYXNzLCBtb2RlbGVk
IGFmdGVyIE1lZGlhUmVzb3VyY2VMb2FkZXIsIGFuZCBhIG5ldyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdE1vZGVsKCkgbWV0aG9kLgorCisgICAgICAgICogTW9kdWxlcy9tb2RlbC1lbGVt
ZW50L01vZGVsUmVzb3VyY2VMb2FkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1v
ZGVsUmVzb3VyY2VMb2FkZXI6Ok1vZGVsUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TW9kZWxSZXNvdXJjZUxvYWRlcjo6fk1vZGVsUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TW9kZWxSZXNvdXJjZUxvYWRlcjo6Y29udGV4dERlc3Ryb3llZCk6CisgICAgICAg
IChXZWJDb3JlOjpNb2RlbFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9kZWxSZXNvdXJjZUxvYWRlcjo6cmVtb3ZlUmVzb3VyY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9kZWxSZXNvdXJjZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
ZGVsUmVzb3VyY2U6Ok1vZGVsUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6TW9kZWxSZXNv
dXJjZTo6fk1vZGVsUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6TW9kZWxSZXNvdXJjZTo6
c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpNb2RlbFJlc291cmNlOjpyZXNwb25zZVJlY2VpdmVk
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vZGVsUmVzb3VyY2U6OnNob3VsZENhY2hlUmVzcG9uc2Up
OgorICAgICAgICAoV2ViQ29yZTo6TW9kZWxSZXNvdXJjZTo6cmVkaXJlY3RSZWNlaXZlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2RlbFJlc291cmNlOjpkYXRhU2VudCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2RlbFJlc291cmNlOjpkYXRhUmVjZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9k
ZWxSZXNvdXJjZTo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFJlc291cmNlTG9hZGVyLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9QbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybU1vZGVsUmVzb3VyY2VDbGllbnQ6OnJlc3BvbnNlUmVjZWl2ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb2RlbFJlc291cmNlQ2xpZW50OjpyZWRpcmVj
dFJlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW9kZWxSZXNvdXJjZUNsaWVu
dDo6c2hvdWxkQ2FjaGVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1vZGVs
UmVzb3VyY2VDbGllbnQ6OmRhdGFTZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW9k
ZWxSZXNvdXJjZUNsaWVudDo6ZGF0YVJlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtTW9kZWxSZXNvdXJjZUNsaWVudDo6YWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtTW9kZWxSZXNvdXJjZUNsaWVudDo6bG9hZEZhaWxlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1vZGVsUmVzb3VyY2VDbGllbnQ6OmxvYWRGaW5pc2hl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1vZGVsUmVzb3VyY2U6OnN0b3ApOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Nb2RlbFJlc291cmNlOjpkaWRQYXNzQWNjZXNzQ29udHJv
bENoZWNrIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW9kZWxSZXNvdXJjZTo6
c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW9kZWxSZXNvdXJjZTo6Y2xp
ZW50KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dEV4dGVuc2lvbnM6OnRvUmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nUmVzb3VyY2VMb2FkZWQpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlOjppc01haW5Pck1lZGlhT3JJY29uT3JSYXdSZXNvdXJjZSBjb25zdCk6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0TW9kZWwpOgorICAgICAgICAoV2ViQ29yZTo6Y29udGVudFR5cGVG
cm9tUmVzb3VyY2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVy
OjpjaGVja0luc2VjdXJlQ29udGVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OmRlc3RpbmF0aW9uRm9yVHlwZSk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisKIDIwMjEtMDItMDEgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQW5pbWF0aW9uIG9mICJyb3RhdGUiIG9yICJzY2Fs
ZSIgcHJvcGVydHkgZG9lcyBub3QgY29ycmVjdGx5IGFjY291bnQgZm9yIHN0YXRpYyAidHJhbnNs
YXRlIiBwcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiOTMwNDlkMjM2MWJhYzY1OWI4NTBiZTk0ZWYxYmE3
OWY2Yjg2NmI1Li4zZDhiNTA2MDNlZjczNTFjMmFhNjI4OTczNDc5MzgyOGY2NDkyY2Q3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAyLTAyICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0
c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBmb3IgPG1vZGVsPiByZXNvdXJj
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
bWF4aW11bUJ1ZmZlcmluZ1RpbWUpOgorCiAyMDIxLTAyLTAyICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFdLQVNDQXV0aG9yaXphdGlvblByZXNlbnRlckRl
bGVnYXRlIG5lZWRzIHRvIGltcG9ydCBSdW5Mb29wLmggYW5kIEJsb2NrUHRyLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFJlc291cmNlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFJlc291
cmNlTG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDYwYzNiMjJjZjM5OTRiNGUyNDgyNTAzN2VjZjI0
MTI0NTY2ODg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L01vZGVsUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0wLDAgKzEsMjI5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1vZGVsUmVzb3VyY2VMb2FkZXIuaCIKKworI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UKQorCisjaW5jbHVkZSAiQ2FjaGVkUmF3UmVzb3VyY2UuaCIKKyNpbmNsdWRlICJD
YWNoZWRSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5o
IgorI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJIVE1MTW9k
ZWxFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNb2RlbFJlc291cmNlTG9hZGVyOjpNb2RlbFJlc291
cmNlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwgSFRNTE1vZGVsRWxlbWVudCYgbW9kZWxFbGVt
ZW50LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSkKKyAgICA6IENvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyKCZkb2N1bWVudCkKKyAgICAsIG1fZG9jdW1lbnQobWFrZVdlYWtQdHIoZG9j
dW1lbnQpKQorICAgICwgbV9tb2RlbEVsZW1lbnQobWFrZVdlYWtQdHIobW9kZWxFbGVtZW50KSkK
KyAgICAsIG1fY3Jvc3NPcmlnaW5Nb2RlKGNyb3NzT3JpZ2luTW9kZSkKK3sKK30KKworTW9kZWxS
ZXNvdXJjZUxvYWRlcjo6fk1vZGVsUmVzb3VyY2VMb2FkZXIoKQoreworICAgIEFTU0VSVChtX3Jl
c291cmNlcy5pc0VtcHR5KCkpOworfQorCit2b2lkIE1vZGVsUmVzb3VyY2VMb2FkZXI6OmNvbnRl
eHREZXN0cm95ZWQoKQoreworICAgIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjpjb250ZXh0
RGVzdHJveWVkKCk7CisgICAgbV9kb2N1bWVudCA9IG51bGxwdHI7CisgICAgbV9tb2RlbEVsZW1l
bnQgPSBudWxscHRyOworfQorCitSZWZQdHI8UGxhdGZvcm1Nb2RlbFJlc291cmNlPiBNb2RlbFJl
c291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwg
TG9hZE9wdGlvbnMgb3B0aW9ucykKK3sKKyAgICBpZiAoIW1fZG9jdW1lbnQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworCisgICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBidWZmZXJpbmdQb2xpY3kg
PSBvcHRpb25zICYgTG9hZE9wdGlvbjo6QnVmZmVyRGF0YSA/IERhdGFCdWZmZXJpbmdQb2xpY3k6
OkJ1ZmZlckRhdGEgOiBEYXRhQnVmZmVyaW5nUG9saWN5OjpEb05vdEJ1ZmZlckRhdGE7CisgICAg
YXV0byBjYWNoaW5nUG9saWN5ID0gb3B0aW9ucyAmIExvYWRPcHRpb246OkRpc2FsbG93Q2FjaGlu
ZyA/IENhY2hpbmdQb2xpY3k6OkRpc2FsbG93Q2FjaGluZyA6IENhY2hpbmdQb2xpY3k6OkFsbG93
Q2FjaGluZzsKKworICAgIHJlcXVlc3Quc2V0UmVxdWVzdGVyKFJlc291cmNlUmVxdWVzdDo6UmVx
dWVzdGVyOjpNb2RlbCk7CisKKyAgICBpZiAobV9tb2RlbEVsZW1lbnQpCisgICAgICAgIHJlcXVl
c3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9yTm9kZUlkZW50aWZpZXIoSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjppZGVudGlmaWVyRm9yTm9kZSgqbV9tb2RlbEVsZW1lbnQpKTsKKworI2lmIFBMQVRG
T1JNKE1BQykKKyAgICAvLyBGSVhNRTogV29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzI2
MDcxNjA3Pi4gV2UgYXJlIG5vdCBhYmxlIHRvIGRvIENPUlMgY2hlY2tpbmcgb24gMzA0IHJlc3Bv
bnNlcyBiZWNhdXNlIHRoZXkgYXJlIHVzdWFsbHkgbWlzc2luZyB0aGUgaGVhZGVycyB3ZSBuZWVk
LgorICAgIHJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKKyNlbmRpZgorCisgICAgQ29udGVu
dFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9u
ID0gbV9tb2RlbEVsZW1lbnQgJiYgbV9tb2RlbEVsZW1lbnQtPmlzSW5Vc2VyQWdlbnRTaGFkb3dU
cmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9saWN5Q2hlY2sg
OiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNrOworICAgIFJl
c291cmNlTG9hZGVyT3B0aW9ucyBsb2FkZXJPcHRpb25zIHsKKyAgICAgICAgU2VuZENhbGxiYWNr
UG9saWN5OjpTZW5kQ2FsbGJhY2tzLAorICAgICAgICBDb250ZW50U25pZmZpbmdQb2xpY3k6OkRv
Tm90U25pZmZDb250ZW50LAorICAgICAgICBidWZmZXJpbmdQb2xpY3ksCisgICAgICAgIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsCisgICAgICAgIENsaWVudENyZWRlbnRpYWxQb2xpY3k6
Ok1heUFza0NsaWVudEZvckNyZWRlbnRpYWxzLAorICAgICAgICBGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzOjpJbmNsdWRlLAorICAgICAgICBTZWN1cml0eUNoZWNrUG9saWN5OjpEb1NlY3VyaXR5
Q2hlY2ssCisgICAgICAgIEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzLAorICAgICAgICBDZXJ0
aWZpY2F0ZUluZm9Qb2xpY3k6OkRvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbywKKyAgICAgICAg
Y29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiwKKyAgICAgICAgRGVmZXJzTG9hZGluZ1Bv
bGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nLAorICAgICAgICBjYWNoaW5nUG9saWN5IH07CisgICAg
YXV0byBjYWNoZWRSZXF1ZXN0ID0gY3JlYXRlUG90ZW50aWFsQWNjZXNzQ29udHJvbFJlcXVlc3Qo
V1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShsb2FkZXJPcHRpb25zKSwgKm1fZG9jdW1lbnQsIG1f
Y3Jvc3NPcmlnaW5Nb2RlKTsKKyAgICBpZiAobV9tb2RlbEVsZW1lbnQpCisgICAgICAgIGNhY2hl
ZFJlcXVlc3Quc2V0SW5pdGlhdG9yKCptX21vZGVsRWxlbWVudCk7CisKKyAgICBhdXRvIHJlc291
cmNlID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5yZXF1ZXN0TW9kZWwoV1RG
TW92ZShjYWNoZWRSZXF1ZXN0KSkudmFsdWVfb3IobnVsbHB0cik7CisgICAgaWYgKCFyZXNvdXJj
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBSZWY8TW9kZWxSZXNvdXJjZT4gbW9k
ZWxSZXNvdXJjZSA9IE1vZGVsUmVzb3VyY2U6OmNyZWF0ZSgqdGhpcywgcmVzb3VyY2UpOworICAg
IG1fcmVzb3VyY2VzLmFkZChtb2RlbFJlc291cmNlLnB0cigpKTsKKworICAgIHJldHVybiBtb2Rl
bFJlc291cmNlOworfQorCit2b2lkIE1vZGVsUmVzb3VyY2VMb2FkZXI6OnJlbW92ZVJlc291cmNl
KE1vZGVsUmVzb3VyY2UmIG1vZGVsUmVzb3VyY2UpCit7CisgICAgQVNTRVJUKG1fcmVzb3VyY2Vz
LmNvbnRhaW5zKCZtb2RlbFJlc291cmNlKSk7CisgICAgbV9yZXNvdXJjZXMucmVtb3ZlKCZtb2Rl
bFJlc291cmNlKTsKK30KKworUmVmPE1vZGVsUmVzb3VyY2U+IE1vZGVsUmVzb3VyY2U6OmNyZWF0
ZShNb2RlbFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJhd1Jlc291cmNlPiByZXNvdXJjZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb2Rl
bFJlc291cmNlKGxvYWRlciwgcmVzb3VyY2UpKTsKK30KKworTW9kZWxSZXNvdXJjZTo6TW9kZWxS
ZXNvdXJjZShNb2RlbFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJhd1Jlc291cmNlPiByZXNvdXJjZSkKKyAgICA6IG1fbG9hZGVyKGxvYWRlcikKKyAg
ICAsIG1fcmVzb3VyY2UocmVzb3VyY2UpCit7CisgICAgQVNTRVJUKHJlc291cmNlKTsKKyAgICBy
ZXNvdXJjZS0+YWRkQ2xpZW50KCp0aGlzKTsKK30KKworTW9kZWxSZXNvdXJjZTo6fk1vZGVsUmVz
b3VyY2UoKQoreworICAgIHN0b3AoKTsKKyAgICBtX2xvYWRlci0+cmVtb3ZlUmVzb3VyY2UoKnRo
aXMpOworfQorCit2b2lkIE1vZGVsUmVzb3VyY2U6OnN0b3AoKQoreworICAgIGlmICghbV9yZXNv
dXJjZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9yZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KCp0
aGlzKTsKKyAgICBtX3Jlc291cmNlID0gbnVsbHB0cjsKK30KKwordm9pZCBNb2RlbFJlc291cmNl
OjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0g
bV9yZXNvdXJjZSk7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgY29tcGxldGlv
bkhhbmRsZXJDYWxsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworCisgICAgaWYgKCFt
X2xvYWRlci0+ZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPE1vZGVs
UmVzb3VyY2U+IHByb3RlY3RlZFRoaXModGhpcyk7CisgICAgaWYgKG1fcmVzb3VyY2UtPnJlc291
cmNlRXJyb3IoKS5pc0FjY2Vzc0NvbnRyb2woKSkgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8Y29uc3QgU3RyaW5nPiBjb25zb2xlTWVzc2FnZSgiQ3Jvc3Mtb3JpZ2luIG1vZGVsIHJl
c291cmNlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iKTsKKyAgICAgICAgbV9sb2FkZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBjb25zb2xlTWVzc2Fn
ZS5nZXQoKSk7CisgICAgICAgIG1fZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjayA9IGZhbHNlOwor
ICAgICAgICBpZiAobV9jbGllbnQpCisgICAgICAgICAgICBtX2NsaWVudC0+YWNjZXNzQ29udHJv
bENoZWNrRmFpbGVkKCp0aGlzLCBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluV2ViS2l0SW50ZXJu
YWwsIDAsIHJlc3BvbnNlLnVybCgpLCBjb25zb2xlTWVzc2FnZS5nZXQoKSkpOworICAgICAgICBz
dG9wKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2RpZFBhc3NBY2Nlc3NDb250
cm9sQ2hlY2sgPSBtX3Jlc291cmNlLT5vcHRpb25zKCkubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1v
ZGU6OkNvcnM7CisgICAgaWYgKG1fY2xpZW50KSB7CisgICAgICAgIG1fY2xpZW50LT5yZXNwb25z
ZVJlY2VpdmVkKCp0aGlzLCByZXNwb25zZSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBjb21wbGV0aW9uSGFuZGxlckNhbGxlci5yZWxl
YXNlKCldIChhdXRvIHNob3VsZENvbnRpbnVlKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmIChj
b21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwor
ICAgICAgICAgICAgaWYgKHNob3VsZENvbnRpbnVlID09IFNob3VsZENvbnRpbnVlUG9saWN5Q2hl
Y2s6Ok5vKQorICAgICAgICAgICAgICAgIHN0b3AoKTsKKyAgICAgICAgfSk7CisgICAgfQorfQor
Citib29sIE1vZGVsUmVzb3VyY2U6OnNob3VsZENhY2hlUmVzcG9uc2UoQ2FjaGVkUmVzb3VyY2Um
IHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gbV9yZXNvdXJjZSk7CisKKyAgICBSZWZQ
dHI8TW9kZWxSZXNvdXJjZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKKyAgICBpZiAobV9jbGllbnQp
CisgICAgICAgIHJldHVybiBtX2NsaWVudC0+c2hvdWxkQ2FjaGVSZXNwb25zZSgqdGhpcywgcmVz
cG9uc2UpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIE1vZGVsUmVzb3VyY2U6OnJlZGly
ZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChSZXNvdXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAg
QVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IG1fcmVzb3VyY2UpOworCisgICAg
UmVmUHRyPE1vZGVsUmVzb3VyY2U+IHByb3RlY3RlZFRoaXModGhpcyk7CisgICAgaWYgKG1fY2xp
ZW50KQorICAgICAgICBtX2NsaWVudC0+cmVkaXJlY3RSZWNlaXZlZCgqdGhpcywgV1RGTW92ZShy
ZXF1ZXN0KSwgcmVzcG9uc2UsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICBlbHNl
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUocmVxdWVzdCkpOworfQorCit2b2lk
IE1vZGVsUmVzb3VyY2U6OmRhdGFTZW50KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgdW5zaWdu
ZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0Jl
U2VudCkKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gbV9yZXNv
dXJjZSk7CisKKyAgICBSZWZQdHI8TW9kZWxSZXNvdXJjZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsK
KyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5kYXRhU2VudCgqdGhpcywgYnl0
ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOworfQorCit2b2lkIE1vZGVsUmVzb3VyY2U6OmRh
dGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IGNoYXIqIGRhdGEsIGlu
dCBkYXRhTGVuZ3RoKQoreworICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsICZyZXNvdXJjZSA9
PSBtX3Jlc291cmNlKTsKKworICAgIFJlZlB0cjxNb2RlbFJlc291cmNlPiBwcm90ZWN0ZWRUaGlz
KHRoaXMpOworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPmRhdGFSZWNlaXZl
ZCgqdGhpcywgZGF0YSwgZGF0YUxlbmd0aCk7Cit9CisKK3ZvaWQgTW9kZWxSZXNvdXJjZTo6bm90
aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBOZXR3b3JrTG9hZE1l
dHJpY3MmIG1ldHJpY3MpCit7CisgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNl
ID09IG1fcmVzb3VyY2UpOworCisgICAgUmVmUHRyPE1vZGVsUmVzb3VyY2U+IHByb3RlY3RlZFRo
aXModGhpcyk7CisgICAgaWYgKG1fY2xpZW50KSB7CisgICAgICAgIGlmIChtX3Jlc291cmNlLT5s
b2FkRmFpbGVkT3JDYW5jZWxlZCgpKQorICAgICAgICAgICAgbV9jbGllbnQtPmxvYWRGYWlsZWQo
KnRoaXMsIG1fcmVzb3VyY2UtPnJlc291cmNlRXJyb3IoKSk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIG1fY2xpZW50LT5sb2FkRmluaXNoZWQoKnRoaXMsIG1ldHJpY3MpOworICAgIH0KKyAg
ICBzdG9wKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L01vZGVsUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9Nb2RlbFJlc291cmNlTG9hZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZkMTQwMjI5
ZDUzYTg3MGVhNGIzZjdiODlhMDg5MWFkZjJkMzU2NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFJlc291cmNlTG9hZGVyLmgKQEAg
LTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisKKyNpbmNsdWRl
ICJDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFu
ZGxlLmgiCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRl
ICJQbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3Bv
bnNlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRSYXdSZXNvdXJjZTsKK2NsYXNz
IERvY3VtZW50OworY2xhc3MgSFRNTE1vZGVsRWxlbWVudDsKK2NsYXNzIE1vZGVsUmVzb3VyY2U7
CisKK2NsYXNzIE1vZGVsUmVzb3VyY2VMb2FkZXIgZmluYWwgOiBwdWJsaWMgUGxhdGZvcm1Nb2Rl
bFJlc291cmNlTG9hZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TW9kZWxSZXNvdXJjZUxvYWRl
cj4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgV0VC
Q09SRV9FWFBPUlQgTW9kZWxSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEhUTUxNb2RlbEVsZW1l
bnQmLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSk7CisgICAgV0VCQ09SRV9FWFBPUlQg
dmlydHVhbCB+TW9kZWxSZXNvdXJjZUxvYWRlcigpOworCisgICAgUmVmUHRyPFBsYXRmb3JtTW9k
ZWxSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFJlc291cmNlUmVxdWVzdCYmLCBMb2FkT3B0aW9u
cykgZmluYWw7CisgICAgdm9pZCByZW1vdmVSZXNvdXJjZShNb2RlbFJlc291cmNlJik7CisKKyAg
ICBEb2N1bWVudCogZG9jdW1lbnQoKSB7IHJldHVybiBtX2RvY3VtZW50LmdldCgpOyB9CisgICAg
Y29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUoKSBjb25zdCB7IHJldHVybiBtX2Nyb3NzT3Jp
Z2luTW9kZTsgfQorCitwcml2YXRlOgorICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIG92ZXJy
aWRlOworCisgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKKyAgICBXZWFrUHRyPEhU
TUxNb2RlbEVsZW1lbnQ+IG1fbW9kZWxFbGVtZW50OworICAgIFN0cmluZyBtX2Nyb3NzT3JpZ2lu
TW9kZTsKKyAgICBIYXNoU2V0PE1vZGVsUmVzb3VyY2UqPiBtX3Jlc291cmNlczsKK307CisKK2Ns
YXNzIE1vZGVsUmVzb3VyY2UgOiBwdWJsaWMgUGxhdGZvcm1Nb2RlbFJlc291cmNlLCBwdWJsaWMg
Q2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TW9kZWxS
ZXNvdXJjZT4gY3JlYXRlKE1vZGVsUmVzb3VyY2VMb2FkZXImLCBDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSYXdSZXNvdXJjZT4pOworICAgIHZpcnR1YWwgfk1vZGVsUmVzb3VyY2UoKTsKKwor
ICAgIC8vIFBsYXRmb3JtTW9kZWxSZXNvdXJjZQorICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwor
ICAgIGJvb2wgZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjaygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fZGlkUGFzc0FjY2Vzc0NvbnRyb2xDaGVjazsgfQorCisgICAgLy8gQ2FjaGVkUmF3UmVz
b3VyY2VDbGllbnQKKyAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmLCBSZXNvdXJj
ZVJlcXVlc3QmJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmKSBvdmVycmlkZTsKKyAgICBib29sIHNob3VsZENhY2hl
UmVzcG9uc2UoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBkYXRhU2VudChDYWNoZWRSZXNvdXJjZSYsIHVuc2lnbmVkIGxvbmcgbG9u
ZywgdW5zaWduZWQgbG9uZyBsb25nKSBvdmVycmlkZTsKKyAgICB2b2lkIGRhdGFSZWNlaXZlZChD
YWNoZWRSZXNvdXJjZSYsIGNvbnN0IGNoYXIqLCBpbnQpIG92ZXJyaWRlOworICAgIHZvaWQgbm90
aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBv
dmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBNb2RlbFJlc291cmNlKE1vZGVsUmVzb3VyY2VMb2Fk
ZXImLCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4pOworICAgIFJlZjxN
b2RlbFJlc291cmNlTG9hZGVyPiBtX2xvYWRlcjsKKyAgICBib29sIG1fZGlkUGFzc0FjY2Vzc0Nv
bnRyb2xDaGVjayB7IGZhbHNlIH07CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3
UmVzb3VyY2U+IG1fcmVzb3VyY2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9QbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9QbGF0Zm9ybU1vZGVsUmVzb3VyY2VM
b2FkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNzVkOTJhZDNkMzc0YzMxOTgzMjhkNzY2MjUzNmRkZmE3Y2Yz
MmE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVt
ZW50L1BsYXRmb3JtTW9kZWxSZXNvdXJjZUxvYWRlci5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorCisjaW5jbHVkZSAiUG9saWN5Q2hlY2tlci5oIgor
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9FeHBlY3Rl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgUGxhdGZvcm1Nb2RlbFJlc291cmNlOworY2xhc3MgUmVzb3Vy
Y2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7
CisKK2NsYXNzIFBsYXRmb3JtTW9kZWxSZXNvdXJjZUNsaWVudCB7CitwdWJsaWM6CisgICAgdmly
dHVhbCB+UGxhdGZvcm1Nb2RlbFJlc291cmNlQ2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdmly
dHVhbCB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoUGxhdGZvcm1Nb2RlbFJlc291cmNlJiwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2hvdWxkQ29udGludWVQ
b2xpY3lDaGVjayk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoU2hv
dWxkQ29udGludWVQb2xpY3lDaGVjazo6WWVzKTsgfQorICAgIHZpcnR1YWwgdm9pZCByZWRpcmVj
dFJlY2VpdmVkKFBsYXRmb3JtTW9kZWxSZXNvdXJjZSYsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291
cmNlUmVxdWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihX
VEZNb3ZlKHJlcXVlc3QpKTsgfQorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNl
KFBsYXRmb3JtTW9kZWxSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCB2b2lkIGRhdGFTZW50KFBsYXRmb3JtTW9kZWxSZXNvdXJj
ZSYsIHVuc2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZGF0YVJlY2VpdmVkKFBsYXRmb3JtTW9kZWxSZXNvdXJjZSYsIGNvbnN0IGNoYXIq
LCBpbnQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NDb250cm9sQ2hlY2tGYWlsZWQoUGxh
dGZvcm1Nb2RlbFJlc291cmNlJiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBsb2FkRmFpbGVkKFBsYXRmb3JtTW9kZWxSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNl
RXJyb3ImKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3JtTW9kZWxS
ZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIHsgfQorfTsKKworY2xhc3MgUGxh
dGZvcm1Nb2RlbFJlc291cmNlTG9hZGVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBs
YXRmb3JtTW9kZWxSZXNvdXJjZUxvYWRlciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtTW9kZWxSZXNvdXJjZUxvYWRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGVudW0gTG9hZE9wdGlvbiB7
CisgICAgICAgIEJ1ZmZlckRhdGEgPSAxIDw8IDAsCisgICAgICAgIERpc2FsbG93Q2FjaGluZyA9
IDEgPDwgMSwKKyAgICB9OworICAgIHR5cGVkZWYgdW5zaWduZWQgTG9hZE9wdGlvbnM7CisKKyAg
ICB2aXJ0dWFsIH5QbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIoKSA9IGRlZmF1bHQ7CisKKyAg
ICB2aXJ0dWFsIFJlZlB0cjxQbGF0Zm9ybU1vZGVsUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShS
ZXNvdXJjZVJlcXVlc3QmJiwgTG9hZE9wdGlvbnMpID0gMDsKKworcHJvdGVjdGVkOgorICAgIFBs
YXRmb3JtTW9kZWxSZXNvdXJjZUxvYWRlcigpID0gZGVmYXVsdDsKK307CisKK2NsYXNzIFBsYXRm
b3JtTW9kZWxSZXNvdXJjZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxQbGF0Zm9ybU1v
ZGVsUmVzb3VyY2UsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbGF0Zm9ybU1vZGVsUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybU1vZGVsUmVzb3VyY2UoKSA9IGRlZmF1bHQ7Cisg
ICAgdmlydHVhbCB+UGxhdGZvcm1Nb2RlbFJlc291cmNlKCkgPSBkZWZhdWx0OworICAgIHZpcnR1
YWwgdm9pZCBzdG9wKCkgeyB9CisgICAgdmlydHVhbCBib29sIGRpZFBhc3NBY2Nlc3NDb250cm9s
Q2hlY2soKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgdm9pZCBzZXRDbGllbnQoUGxh
dGZvcm1Nb2RlbFJlc291cmNlQ2xpZW50KiBjbGllbnQpIHsgbV9jbGllbnQgPSBjbGllbnQ7IH0K
KyAgICBQbGF0Zm9ybU1vZGVsUmVzb3VyY2VDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xp
ZW50OyB9CisKK3Byb3RlY3RlZDoKKyAgICBQbGF0Zm9ybU1vZGVsUmVzb3VyY2VDbGllbnQqIG1f
Y2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1PREVMX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDg5OGE5MDdkODRjZmFhYTQ5NWIwMjQ5
ODBiYjMxNjJiZThkMDFhNDUuLjQ0ZGM4NGU4Yjk1YzI3NWFhZTRmNWI2YWE1OWJjYmU1NDA1NTU1
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xODcsNiArMTg3LDcgQEAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3Bw
CiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWUuY3BwCiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKK01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFJlc291cmNlTG9hZGVyLmNwcAogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlk
YXRpb25FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA4MGU1OTFkODdjMzljMTYyN2MwNWVlZmRjMGQ3MTE0NWMxZTg2
YTI2Li41MjhkOTVhMmU5MjQzMTg0NzI5ODFhZmJiOTY5NjNlMzA3ZmI5MjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTU1
LDYgKzIxNTUsOCBAQAogCQk3MTM5MjJCRTI1MThBQjc3MDA1REIzQzIgLyogU3R5bGVhYmxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTM5MjJCQzI1
MThBQjcwMDA1REIzQzIgLyogU3R5bGVhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzEzRjFENUEyM0RGMUQ4RDAwM0Y1RUZBIC8qIEdldEFu
aW1hdGlvbnNPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MTNGMUQ1OTIzREYxRDdEMDAzRjVFRkEgLyogR2V0QW5pbWF0aW9uc09wdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MTNG
MUQ1RDIzREYyNTgyMDAzRjVFRkEgLyogSlNHZXRBbmltYXRpb25zT3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEzRjFENUIyM0RGMjU2MDAw
M0Y1RUZBIC8qIEpTR2V0QW5pbWF0aW9uc09wdGlvbnMuaCAqLzsgfTsKKwkJNzE0OENBMEEyNTY2
QjUyNTAwRjU0RkUwIC8qIE1vZGVsUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNDhDQTA3MjU2NkI1MUQwMEY1NEZFMCAvKiBN
b2RlbFJlc291cmNlTG9hZGVyLmggKi87IH07CisJCTcxNDhDQTBEMjU2NkJENjYwMEY1NEZFMCAv
KiBQbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNDhDQTBDMjU2NkJENUEwMEY1NEZFMCAvKiBQbGF0Zm9y
bU1vZGVsUmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3MTQ5NUREQjIwMkIwNkYxMDBBREZEMzQgLyogSlNFZmZlY3RUaW1p
bmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNDk1
RERBMjAyQjA2REUwMEFERkQzNCAvKiBKU0VmZmVjdFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxNEM3QzY2MUZEQUQyQTEwMEYyQkVF
MSAvKiBBbmltYXRpb25QbGF5YmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MTRDN0M2NTFGREFEMjdCMDBGMkJFRTEgLyogQW5pbWF0aW9u
UGxheWJhY2tFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTcxNEM3QzY3MUZEQUQyQTkwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2
ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzE0QzdDNjIxRkRBRDI3QTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk5Nzgs
NiArOTk4MCw5IEBACiAJCTcxNDEzMTQ4MURDOUQ2RUYwMDMzNjEwNyAvKiBqcy1maWxlcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSAianMtZmlsZXMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MTQ2REY4QjFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVsLmNzcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuY3NzOyBwYXRoID0gInRyYWNrcy1wYW5lbC5jc3MiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3MTQ2REY4QzFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVsLmpz
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInRyYWNrcy1wYW5lbC5q
cyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNDhDQTA3MjU2NkI1MUQwMEY1NEZF
MCAvKiBNb2RlbFJlc291cmNlTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1vZGVsUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzE0OENBMDkyNTY2QjUxRDAwRjU0RkUwIC8qIE1vZGVsUmVzb3VyY2VMb2FkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9kZWxSZXNvdXJjZUxvYWRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNDhDQTBDMjU2NkJENUEwMEY1NEZFMCAv
KiBQbGF0Zm9ybU1vZGVsUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGxhdGZvcm1Nb2RlbFJlc291cmNlTG9hZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTcxNDk1REQ4MjAyQjA2REMwMEFERkQzNCAvKiBKU0VmZmVjdFRpbWluZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0VmZmVjdFRpbWluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNDk1RERBMjAyQjA2REUwMEFERkQz
NCAvKiBKU0VmZmVjdFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0VmZmVjdFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTRDN0M2MDFG
REFEMjc5MDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBbmltYXRpb25QbGF5YmFja0V2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNjQ5LDYgKzIyNjU0LDkgQEAKIAkJCQk3MUEz
RDE4MDI1NjJCODI1MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8sCiAJCQkJNzFB
M0QxN0QyNTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCAqLywKIAkJCQk3MUEz
RDE3RjI1NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5pZGwgKi8sCisJCQkJNzE0
OENBMDkyNTY2QjUxRDAwRjU0RkUwIC8qIE1vZGVsUmVzb3VyY2VMb2FkZXIuY3BwICovLAorCQkJ
CTcxNDhDQTA3MjU2NkI1MUQwMEY1NEZFMCAvKiBNb2RlbFJlc291cmNlTG9hZGVyLmggKi8sCisJ
CQkJNzE0OENBMEMyNTY2QkQ1QTAwRjU0RkUwIC8qIFBsYXRmb3JtTW9kZWxSZXNvdXJjZUxvYWRl
ci5oICovLAogCQkJKTsKIAkJCXBhdGggPSAibW9kZWwtZWxlbWVudCI7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtMzE1NzYsNyArMzE1ODQsNiBAQAogCQkJCTc3RDUxMDE3MUVENjAy
MjIwMERBNEM4NyAvKiBDcmVkZW50aWFsc0NvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFBMDUyMzMxMDU4Nzc0RjAwQ0M5RTk1IC8qIENyZWRlbnRpYWxTdG9yYWdlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDQ4MUYwMjE0NkI1QzU1MDBBQTc4MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVk
SW1hZ2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0OEI3RDUzMjVDMzQxRTYwMDlFNzVERCAvKiBJ
bWFnZUV4dHJhY3Rpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzQxNjEyMEY2NTYy
RkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxQUJFNjdCMUQwNTgwREIwMDZEODYyRCAvKiBDcm9zc09yaWdpblByZWZsaWdodENoZWNr
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzQxNURBMEY2NTVENkYwMDkyRDJGQiAvKiBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTMyNTI3LDYg
KzMyNTM0LDcgQEAKIAkJCQlDRDE5RkVBRTFGNTc0QjZEMDAwQzQyRkIgLyogSW1hZ2VEZWNvZGVy
QVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTU1Qjg3RUQxQ0FBRjBBQjAwMzQ5NDI1IC8q
IEltYWdlRGVjb2RlckNHLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzIwNUFCNjEyMzkyOTEwMDBC
MTczODAgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ4QjdENTMyNUMz
NDFFNjAwOUU3NUREIC8qIEltYWdlRXh0cmFjdGlvblJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTU3NkE1NjUxRDg4QTcwODAwQ0NDMDRDIC8qIEltYWdlRnJhbWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY1NUIzREMyMTI1MUYxMkQwMDNFRjI2OSAvKiBJbWFnZUlucHV0VHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMzODA5LDYgKzMzODE3LDcgQEAKIAkJCQlDREYyQjAxNzE4MjA1
NDA3MDBGMkI0MjQgLyogTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNERjJCMDE5MTgyMDU0MDcwMEYyQjQyNCAvKiBNb2NrVHJhY2tzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NzE1NjEwQzIzNEMxQ0ExMDA4RkM3QUIgLyogTW9ja1dlYkF1dGhlbnRpY2F0aW9u
Q29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzE0OENBMEEyNTY2QjUyNTAwRjU0
RkUwIC8qIE1vZGVsUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RDc0QUQ1
MDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTcwOUEwMUZFMUUzRDBCREQwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVL
aW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9k
dWxlRmV0Y2hQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTM0MDY3LDYgKzM0MDc2LDcg
QEAKIAkJCQlDRUVGQ0Q3QzE5REIzM0RDMDAzODc2RDcgLyogUGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzBFMDkxOTE4NzVFRUZDMDAzQTFEM0MgLyog
UGxhdGZvcm1NZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3Rjk0NDE2MTg2NEQw
NDYwMDVEMzFDQiAvKiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCTcxNDhDQTBEMjU2NkJENjYwMEY1NEZFMCAvKiBQbGF0Zm9ybU1vZGVsUmVzb3VyY2VM
b2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUM0NzY5MDlBQzRENDMwMEE2QUFCNCAvKiBQ
bGF0Zm9ybU1vdXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1OTg5MDU4MTRFOUMyOTkw
MEU4RDE4QiAvKiBQbGF0Zm9ybVBhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUMw
MUQ3MEMyNzRFQjQwMDlGNEVDOSAvKiBQbGF0Zm9ybVNjcmVlbi5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXggYjkyOTcxNGQ1OWEzYmY4Y2I5MmJi
MWNiYTkyMGY1ODBlNGM1OTAyZS4uOTAwMzgyMjA3YTA1MWY1ZTQzYTRhZGE0ZGRmN2FmYmEyMjQ0
NWRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApAQCAtMTY2LDYgKzE2Niw5
IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudD4gY3Jl
YXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6TGlua1ByZWZldGNoOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgorI2VuZGlmCisj
aWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAgICAgICAvLyBOb25lIG9mIHRoZXNlIHZhbHVlcyBp
cyBjdXJyZW50bHkgc3VwcG9ydGVkIGFzIGFuIGBhc2AgdmFsdWUuCiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZEluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3Bw
CmluZGV4IDk0NDVhYWI3MGRkYzdlOGI1MWE2NzczNDQzN2Y2OTcyZTNkZTE0NDcuLmZiY2M2YmM1
YzdjOTliZTgzM2JlMGUyZjExMGMwMGRiYmY3ZDFlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkSW5mby5jcHAKQEAgLTY0LDYgKzY0LDkgQEAgUmVzb3VyY2VUeXBlIHRv
UmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29u
OgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgorI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVz
b3VyY2U6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6UmF3OwogCiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMDBlNmQ5MTk1NTZhNWFj
MmE2ZDcwZGI1YmVhZmRhY2VhYWMyNWM1Li43ZGM0ZGQxNzhjZTMzNGRjNDBlZjExNjUyNjczYjBl
YjQ1MWI2MzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTU4MCw2ICs1ODAsOSBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZUxvYWRlZChGcmFt
ZSogZnJhbWUsIENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6QmVhY29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJl
c291cmNlOgorI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICAgICAgcmVzb3Vy
Y2VUeXBlID0gRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpyYXdLZXkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDY1YTk3M2ZhZDliMzdh
ZTNlODBkYmJhOWUyN2I0Y2I0MWY5NTA4YWEuLjJkMDEwZWY3M2JjZDIyZTdhOWU2NTBiY2JlZjkz
YzVlY2QxZmE5YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcApAQCAtMTA1LDYgKzEwNSwxMCBAQCBSZXNvdXJjZUxvYWRQcmlvcml0eSBDYWNo
ZWRSZXNvdXJjZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKFR5cGUgdHlwZSkKICAg
ICBjYXNlIFR5cGU6OlRleHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VM
b2FkUHJpb3JpdHk6OkxvdzsKICNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAg
IGNhc2UgVHlwZTo6TW9kZWxSZXNvdXJjZToKKyAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFBy
aW9yaXR5OjpNZWRpdW07CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1Qp
CiAgICAgY2FzZSBUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgogICAgICAgICByZXR1cm4gUmVz
b3VyY2VMb2FkUHJpb3JpdHk6OkxvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmgKaW5kZXggY2VlMGVkMDQ2MzVjOTUyOGQ0YzczYTFmNjEwZThmMWNjNTJi
MmZmZC4uZGM0NTgwYjIyYjhiYzgxZjZjYTJjNmZkOGU4ZTZkMjMyNmQ5YzJhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTczLDYgKzczLDkg
QEAgcHVibGljOgogICAgICAgICBGb250UmVzb3VyY2UsCiAgICAgICAgIFNWR0ZvbnRSZXNvdXJj
ZSwKICAgICAgICAgTWVkaWFSZXNvdXJjZSwKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAg
ICAgICAgTW9kZWxSZXNvdXJjZSwKKyNlbmRpZgogICAgICAgICBSYXdSZXNvdXJjZSwKICAgICAg
ICAgSWNvbiwKICAgICAgICAgQmVhY29uLApAQCAtMTc4LDcgKzE4MSwxOCBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGlzSW1hZ2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6SW1hZ2VS
ZXNvdXJjZTsgfQogICAgIC8vIEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJjZSBjb3VsZCBiZSBhIG1h
aW4gcmVzb3VyY2UsIGFuIGF1ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBhIHJhdyBYSFIvaWNvbiBy
ZXNvdXJjZS4KLSAgICBib29sIGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlw
ZTo6TWVkaWFSZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8fCB0eXBlKCkgPT0gVHlw
ZTo6UmF3UmVzb3VyY2UgfHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbiB8fCB0eXBlKCkgPT0gVHlw
ZTo6UGluZzsgfQorICAgIGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2UoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UK
KyAgICAgICAgICAgIHx8IHR5cGUoKSA9PSBUeXBlOjpNZWRpYVJlc291cmNlCisjaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlQpCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6TW9kZWxSZXNv
dXJjZQorI2VuZGlmCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbgorICAgICAg
ICAgICAgfHwgdHlwZSgpID09IFR5cGU6OlJhd1Jlc291cmNlCisgICAgICAgICAgICB8fCB0eXBl
KCkgPT0gVHlwZTo6QmVhY29uCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsK
KyAgICB9CiAKICAgICAvLyBXaGV0aGVyIHRoaXMgcmVxdWVzdCBzaG91bGQgaW1wYWN0IHJlcXVl
c3QgY291bnRpbmcgYW5kIGRlbGF5IHdpbmRvdy5vbmxvYWQuCiAgICAgYm9vbCBpZ25vcmVGb3JS
ZXF1ZXN0Q291bnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjJjOGQyYjQxNDEzYWU0ZTdjYTcxMDVh
MzdmZmQ5YzU0ZGFlZTZhOS4uMThhYTk4MmViN2JjZTNkNWRiYjVkZDliNjRhMTA4OWJlOTc2OGFi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC0xMzEsNiArMTMxLDkgQEAgc3RhdGljIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJlc291cmNlPiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlh
UmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Oklj
b246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgpAQCAtMTcz
LDYgKzE3Niw5IEBAIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4g
Y3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
SWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2U6CisjaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9k
ZWxSZXNvdXJjZToKKyNlbmRpZgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJhd1Jlc291cmNl
KFdURk1vdmUocmVxdWVzdCksIHJlc291cmNlLnR5cGUoKSwgcmVzb3VyY2Uuc2Vzc2lvbklEKCks
IHJlc291cmNlLmNvb2tpZUphcigpKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpYU0xTdHlsZVNoZWV0OgpAQCAtMzIxLDYgKzMyNywxMyBAQCBSZXNv
dXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+PiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cgogICAgIHJldHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNo
ZWRSYXdSZXNvdXJjZT4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRp
YVJlc291cmNlLCBXVEZNb3ZlKHJlcXVlc3QpKSk7CiB9CiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxF
TUVOVCkKK1Jlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNv
dXJjZT4+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0TW9kZWwoQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCkKK3sKKyAgICByZXR1cm4gY2FzdENhY2hlZFJlc291cmNlVG88Q2Fj
aGVkUmF3UmVzb3VyY2U+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9k
ZWxSZXNvdXJjZSwgV1RGTW92ZShyZXF1ZXN0KSkpOworfQorI2VuZGlmCisKIFJlc291cmNlRXJy
b3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4+IENhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0SWNvbihDYWNoZWRSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQog
ewogICAgIHJldHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdSZXNvdXJjZT4ocmVx
dWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uLCBXVEZNb3ZlKHJlcXVlc3Qp
KSk7CkBAIC0zNjMsNyArMzc2LDEwIEBAIHN0YXRpYyBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250
ZW50VHlwZSBjb250ZW50VHlwZUZyb21SZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyCiAgICAgLy8g
My4xLiBPcHRpb25hbGx5LWJsb2NrYWJsZSBDb250ZW50CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpN
ZWRpYVJlc291cmNlOgotICAgICAgICAgICAgcmV0dXJuIE1peGVkQ29udGVudENoZWNrZXI6OkNv
bnRlbnRUeXBlOjpBY3RpdmVDYW5XYXJuOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKKyAgICAg
ICAgcmV0dXJuIE1peGVkQ29udGVudENoZWNrZXI6OkNvbnRlbnRUeXBlOjpBY3RpdmVDYW5XYXJu
OwogCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDoKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTY3JpcHQ6CkBAIC00MjUsNiArNDQxLDkgQEAgYm9v
bCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFZJREVPKQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlRleHRUcmFja1Jlc291cmNlOgorI2VuZGlm
CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3Vy
Y2U6CkBAIC00OTYsNiArNTE1LDkgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dl
ZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hlZFJlc291cmNlOjpUeXBlIHQKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpCZWFjb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToK
KyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpNb2RlbFJlc291cmNlOgorI2VuZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwogI2lmIEVOQUJM
RShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0OgpAQCAtNzkzLDYgKzgxNSw5IEBAIHN0YXRpYyBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uRm9yVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0
eXBlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkxpbmtQcmVmZXRjaDoKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQor
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAg
ICAgICAgLy8gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3Igc2V0dGluZyB0aGUgYXBwcm9w
cmlhdGUgZGVzdGluYXRpb24uCiAgICAgICAgIHJldHVybiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpFbXB0eVN0cmluZzsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDYwMjk3MDc0ODdlYThmYzYzODRmMTZh
NjQyMzUzZTRlYzlkMTYwNGIuLjViOWFjMjEyODcxYjFhMTk4MTNkOTVkOTExYzFkNGZjOWFkMDkx
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oCkBAIC04OCw2ICs4OCw5IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZUVycm9yT3I8
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0Pj4gcmVxdWVzdFNjcmlwdChDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QmJik7CiAgICAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZEZvbnQ+PiByZXF1ZXN0Rm9udChDYWNoZWRSZXNvdXJjZVJlcXVlc3QmJiwgYm9v
bCBpc1NWRyk7CiAgICAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZFJhd1Jlc291cmNlPj4gcmVxdWVzdE1lZGlhKENhY2hlZFJlc291cmNlUmVxdWVzdCYmKTsKKyNp
ZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+PiByZXF1ZXN0TW9kZWwoQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0JiYpOworI2VuZGlmCiAgICAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJhd1Jlc291cmNlPj4gcmVxdWVzdEljb24oQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
JiYpOwogICAgIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdS
ZXNvdXJjZT4+IHJlcXVlc3RCZWFjb25SZXNvdXJjZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QmJik7
CiAgICAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291
cmNlPj4gcmVxdWVzdFBpbmdSZXNvdXJjZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QmJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCmluZGV4IDZjOWNlNWNjY2VmZTUxY2E0NGJiYWZkZTAwMTU4ZDZiNzlkNzQ2MjQuLjcwNmRl
NTBmOWYwOTI5YmJhMDEzNGFmZDNkZDczYjgyYWU3YTFlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0xNjUs
NyArMTY1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGlkZGVuRnJvbUluc3BlY3RvcigpIGNvbnN0
IHsgcmV0dXJuIG1faGlkZGVuRnJvbUluc3BlY3RvcjsgfQogICAgIHZvaWQgc2V0SGlkZGVuRnJv
bUluc3BlY3Rvcihib29sIGhpZGRlbkZyb21JbnNwZWN0b3IpIHsgbV9oaWRkZW5Gcm9tSW5zcGVj
dG9yID0gaGlkZGVuRnJvbUluc3BlY3RvcjsgfQogCi0gICAgZW51bSBjbGFzcyBSZXF1ZXN0ZXIg
OiB1aW50OF90IHsgVW5zcGVjaWZpZWQsIE1haW4sIFhIUiwgRmV0Y2gsIE1lZGlhLCBJbXBvcnRT
Y3JpcHRzLCBQaW5nLCBCZWFjb24gfTsKKyAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciA6IHVpbnQ4
X3QgeyBVbnNwZWNpZmllZCwgTWFpbiwgWEhSLCBGZXRjaCwgTWVkaWEsIE1vZGVsLCBJbXBvcnRT
Y3JpcHRzLCBQaW5nLCBCZWFjb24gfTsKICAgICBSZXF1ZXN0ZXIgcmVxdWVzdGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXF1ZXN0ZXI7IH0KICAgICB2b2lkIHNldFJlcXVlc3RlcihSZXF1ZXN0ZXIg
cmVxdWVzdGVyKSB7IG1fcmVxdWVzdGVyID0gcmVxdWVzdGVyOyB9CiAKQEAgLTQxNSw2ICs0MTUs
OSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OlJlcXVlc3Rlcj4gewogICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
OjpSZXF1ZXN0ZXI6OlhIUiwKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6
UmVxdWVzdGVyOjpGZXRjaCwKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6
UmVxdWVzdGVyOjpNZWRpYSwKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICAgICAgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpNb2RlbCwKKyNlbmRpZgogICAg
ICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OkltcG9ydFNjcmlw
dHMsCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6UGlu
ZywKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpCZWFj
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRl
clN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRl
clN0cmF0ZWd5LmNwcAppbmRleCA3ZDNkOWUzMTI5N2M4MmQ0ZTViNWI4NTI5YjYzYTk0MDNjOTky
NTFlLi40OGIzYTIyNWRmYjZiMzBkYTBjNWQxZmZlYTlmZWM3NjVlMTNiOTY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3ku
Y3BwCkBAIC0xMzksNiArMTM5LDkgQEAgc3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1Rp
bWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6OkZvbnRSZXNvdXJjZToKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKKyNlbmRpZgor
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1vZGVsUmVzb3VyY2U6CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5
KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418993</attachid>
            <date>2021-02-02 07:03:46 -0800</date>
            <delta_ts>2021-02-02 07:12:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202160345.patch</filename>
            <type>text/plain</type>
            <size>23085</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uMTYyNWU2NzI3YzhhZjk0MGU2NDE1MDg1OTVjYTA4
MDQxZDU1OTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIHBhcmFtZXRl
ciB3aGVuIGNyZWF0aW5nIGEgTWVkaWFSZXNvdXJjZUxvYWRlciB0byBhbGxvdworICAgICAgICBs
b2FkaW5nIG9mIDxtb2RlbD4gcmVzb3VyY2VzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNyZWF0ZVJlc291
cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25zLmg6CisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTGlua1ByZWxv
YWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJj
ZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNlTG9hZGVyOjpjb250ZXh0
RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6dG9SZXNvdXJjZVR5cGUpOgorICAgICAgICAqIGxvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dSZXNvdXJjZUxvYWRlZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlIGNvbnN0
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50
VHlwZUZyb21SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6ZGVzdGluYXRpb25Gb3JUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKwogMjAyMS0wMi0wMSAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbmltYXRpb24gb2YgInJv
dGF0ZSIgb3IgInNjYWxlIiBwcm9wZXJ0eSBkb2VzIG5vdCBjb3JyZWN0bHkgYWNjb3VudCBmb3Ig
c3RhdGljICJ0cmFuc2xhdGUiIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI5MzA0OWQyMzYxYmFjNjU5
Yjg1MGJlOTRlZjFiYTc5ZjZiODY2YjUuLjNkOGI1MDYwM2VmNzM1MWMyYWE2Mjg5NzM0NzkzODI4
ZjY0OTJjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDItMDIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8
bW9kZWw+IHJlc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAg
ICAgICAoV2ViS2l0OjptYXhpbXVtQnVmZmVyaW5nVGltZSk6CisKIDIwMjEtMDItMDIgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tBU0NBdXRob3JpemF0
aW9uUHJlc2VudGVyRGVsZWdhdGUgbmVlZHMgdG8gaW1wb3J0IFJ1bkxvb3AuaCBhbmQgQmxvY2tQ
dHIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCmlu
ZGV4IDQwOTJlMjM5YzYwZThiNzUyOTRhMDg2NTg4NzM2NzMxNWI1NTJjNjEuLjA5ODVlMmE1OGEw
YjEzYjAxYWExOTEzMjZjMDY3ZmZlYzZhN2JkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotZW51bSBGZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAiYXVkaW8iLCAi
YXVkaW93b3JrbGV0IiwgImRvY3VtZW50IiwgImVtYmVkIiwgImZvbnQiLCAiaW1hZ2UiLCAibWFu
aWZlc3QiLCAib2JqZWN0IiwgInBhaW50d29ya2xldCIsICJyZXBvcnQiLCAic2NyaXB0IiwgInNl
cnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIiwgInN0eWxlIiwgInRyYWNrIiwgInZpZGVvIiwg
IndvcmtlciIsICJ4c2x0IiB9OworZW51bSBGZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAi
YXVkaW8iLCAiYXVkaW93b3JrbGV0IiwgImRvY3VtZW50IiwgImVtYmVkIiwgImZvbnQiLCAiaW1h
Z2UiLCAibWFuaWZlc3QiLCAibW9kZWwiLCAib2JqZWN0IiwgInBhaW50d29ya2xldCIsICJyZXBv
cnQiLCAic2NyaXB0IiwgInNlcnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIiwgInN0eWxlIiwg
InRyYWNrIiwgInZpZGVvIiwgIndvcmtlciIsICJ4c2x0IiB9OwogCiB0eXBlZGVmIChGZXRjaFJl
cXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMzE0NjJjNGY4NGU0OTZjMTRiMTI5OThhMDY1NTUxNDI5
NTkzMjljNi4uY2E4NGUwZTljOWY3NGY4YmE4MWYwNzA2Y2RkZTZhYWY1YzA3MDJjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC02OTQxLDcgKzY5NDEsOCBA
QCBDYWNoZWRSZXNvdXJjZUxvYWRlciogSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDYWNo
ZWRSZXNvdXJjZUxvYWRlcigpCiAKIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI+
IEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ3JlYXRlUmVzb3VyY2VMb2FkZXIoKQogewot
ICAgIGF1dG8gbWVkaWFSZXNvdXJjZUxvYWRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZXNvdXJj
ZUxvYWRlcihkb2N1bWVudCgpLCAqdGhpcywgY3Jvc3NPcmlnaW4oKSkpOworICAgIGF1dG8gZGVz
dGluYXRpb24gPSBpc1ZpZGVvKCkgPyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpWaWRlbyA6
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlvOworICAgIGF1dG8gbWVkaWFSZXNvdXJj
ZUxvYWRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZXNvdXJjZUxvYWRlcihkb2N1bWVudCgpLCAq
dGhpcywgY3Jvc3NPcmlnaW4oKSwgZGVzdGluYXRpb24pKTsKIAogICAgIG1fbGFzdE1lZGlhUmVz
b3VyY2VMb2FkZXJGb3JUZXN0aW5nID0gbWFrZVdlYWtQdHIobWVkaWFSZXNvdXJjZUxvYWRlci5n
ZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAppbmRleCAzMzU2NmIyNDJh
YjY2OGE0YjcwYTQ2M2U2ZGZiOWY0ZTY3MDUzMjNjLi5iNjEyMzViOTc2Yzk3YWE2MWRiYjk3YzZk
ODA1OTY4ZTM2ODliNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hP
cHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCkBAIC0z
Niw3ICszNiwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRmV0Y2hPcHRpb25z
IHsKLSAgICBlbnVtIGNsYXNzIERlc3RpbmF0aW9uIDogdWludDhfdCB7IEVtcHR5U3RyaW5nLCBB
dWRpbywgQXVkaW93b3JrbGV0LCBEb2N1bWVudCwgRW1iZWQsIEZvbnQsIEltYWdlLCBNYW5pZmVz
dCwgT2JqZWN0LCBQYWludHdvcmtsZXQsIFJlcG9ydCwgU2NyaXB0LCBTZXJ2aWNld29ya2VyLCBT
aGFyZWR3b3JrZXIsIFN0eWxlLCBUcmFjaywgVmlkZW8sIFdvcmtlciwgWHNsdCB9OworICAgIGVu
dW0gY2xhc3MgRGVzdGluYXRpb24gOiB1aW50OF90IHsgRW1wdHlTdHJpbmcsIEF1ZGlvLCBBdWRp
b3dvcmtsZXQsIERvY3VtZW50LCBFbWJlZCwgRm9udCwgSW1hZ2UsIE1hbmlmZXN0LAorI2lmIEVO
QUJMRShNT0RFTF9FTEVNRU5UKQorICAgICAgICBNb2RlbCwKKyNlbmRpZgorICAgICAgICBPYmpl
Y3QsIFBhaW50d29ya2xldCwgUmVwb3J0LCBTY3JpcHQsIFNlcnZpY2V3b3JrZXIsIFNoYXJlZHdv
cmtlciwgU3R5bGUsIFRyYWNrLCBWaWRlbywgV29ya2VyLCBYc2x0IH07CiAgICAgZW51bSBjbGFz
cyBNb2RlIDogdWludDhfdCB7IE5hdmlnYXRlLCBTYW1lT3JpZ2luLCBOb0NvcnMsIENvcnMgfTsK
ICAgICBlbnVtIGNsYXNzIENyZWRlbnRpYWxzIDogdWludDhfdCB7IE9taXQsIFNhbWVPcmlnaW4s
IEluY2x1ZGUgfTsKICAgICBlbnVtIGNsYXNzIENhY2hlIDogdWludDhfdCB7IERlZmF1bHQsIE5v
U3RvcmUsIFJlbG9hZCwgTm9DYWNoZSwgRm9yY2VDYWNoZSwgT25seUlmQ2FjaGVkIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXggYjkyOTcxNGQ1OWEzYmY4Y2I5MmJiMWNi
YTkyMGY1ODBlNGM1OTAyZS4uOTAwMzgyMjA3YTA1MWY1ZTQzYTRhZGE0ZGRmN2FmYmEyMjQ0NWRl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApAQCAtMTY2LDYgKzE2Niw5IEBA
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudD4gY3JlYXRl
TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TGlua1ByZWZldGNoOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgorI2VuZGlmCisjaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9k
ZWxSZXNvdXJjZToKICNlbmRpZgogICAgICAgICAvLyBOb25lIG9mIHRoZXNlIHZhbHVlcyBpcyBj
dXJyZW50bHkgc3VwcG9ydGVkIGFzIGFuIGBhc2AgdmFsdWUuCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3Vy
Y2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGMzZjFkMjAxNWI5YjdiNWEwNzZhOGNkMmRhYmYyMDhmZjZjNTgzNGEuLjkzOGQ1
Y2RjYzFmMmQ4NmJjZTgxNWZhYjljZWQ0YTNiOWJkODllY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIK
ICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1l
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtNDks
MTEgKzQ5LDEyIEBAIHZvaWQgTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVjb3JkUmVzcG9uc2VzRm9y
VGVzdGluZygpCiAgICAgc2hvdWxkUmVjb3JkUmVzcG9uc2VzRm9yVGVzdGluZyA9IHRydWU7CiB9
CiAKLU1lZGlhUmVzb3VyY2VMb2FkZXI6Ok1lZGlhUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQmIGRv
Y3VtZW50LCBIVE1MTWVkaWFFbGVtZW50JiBtZWRpYUVsZW1lbnQsIGNvbnN0IFN0cmluZyYgY3Jv
c3NPcmlnaW5Nb2RlKQorTWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJjZUxvYWRlcihE
b2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgY3Jvc3NP
cmlnaW5Nb2RlLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKQogICAgIDog
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmRvY3VtZW50KQogICAgICwgbV9kb2N1bWVudCht
YWtlV2Vha1B0cihkb2N1bWVudCkpCi0gICAgLCBtX21lZGlhRWxlbWVudChtYWtlV2Vha1B0ciht
ZWRpYUVsZW1lbnQpKQorICAgICwgbV9lbGVtZW50KG1ha2VXZWFrUHRyKGVsZW1lbnQpKQogICAg
ICwgbV9jcm9zc09yaWdpbk1vZGUoY3Jvc3NPcmlnaW5Nb2RlKQorICAgICwgbV9kZXN0aW5hdGlv
bihkZXN0aW5hdGlvbikKIHsKIH0KIApAQCAtNjYsNyArNjcsNyBAQCB2b2lkIE1lZGlhUmVzb3Vy
Y2VMb2FkZXI6OmNvbnRleHREZXN0cm95ZWQoKQogewogICAgIENvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyOjpjb250ZXh0RGVzdHJveWVkKCk7CiAgICAgbV9kb2N1bWVudCA9IG51bGxwdHI7Ci0g
ICAgbV9tZWRpYUVsZW1lbnQgPSBudWxscHRyOworICAgIG1fZWxlbWVudCA9IG51bGxwdHI7CiB9
CiAKIHZvaWQgTWVkaWFSZXNvdXJjZUxvYWRlcjo6c2VuZEgyUGluZyhjb25zdCBVUkwmIHVybCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxTZWNvbmRzLCBSZXNvdXJjZUVycm9yPiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTg4LDggKzg5LDggQEAgUmVmUHRyPFBsYXRmb3Jt
TWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKFJlc291
cmNlUmVxdWUKIAogICAgIHJlcXVlc3Quc2V0UmVxdWVzdGVyKFJlc291cmNlUmVxdWVzdDo6UmVx
dWVzdGVyOjpNZWRpYSk7CiAKLSAgICBpZiAobV9tZWRpYUVsZW1lbnQpCi0gICAgICAgIHJlcXVl
c3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9yTm9kZUlkZW50aWZpZXIoSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjppZGVudGlmaWVyRm9yTm9kZSgqbV9tZWRpYUVsZW1lbnQpKTsKKyAgICBpZiAobV9l
bGVtZW50KQorICAgICAgICByZXF1ZXN0LnNldEluc3BlY3RvckluaXRpYXRvck5vZGVJZGVudGlm
aWVyKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aWRlbnRpZmllckZvck5vZGUoKm1fZWxlbWVu
dCkpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vIEZJWE1FOiBXb3JrYXJvdW5kIGZvciA8
cmRhcjovL3Byb2JsZW0vMjYwNzE2MDc+LiBXZSBhcmUgbm90IGFibGUgdG8gZG8gQ09SUyBjaGVj
a2luZyBvbiAzMDQgcmVzcG9uc2VzIGJlY2F1c2UgdGhleSBhcmUgdXN1YWxseSBtaXNzaW5nIHRo
ZSBoZWFkZXJzIHdlIG5lZWQuCkBAIC05Nyw3ICs5OCw3IEBAIFJlZlB0cjxQbGF0Zm9ybU1lZGlh
UmVzb3VyY2U+IE1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShSZXNvdXJjZVJl
cXVlCiAgICAgICAgIHJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKICNlbmRpZgogCi0gICAg
Q29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJpdHlQb2xpY3lJbXBv
c2l0aW9uID0gbV9tZWRpYUVsZW1lbnQgJiYgbV9tZWRpYUVsZW1lbnQtPmlzSW5Vc2VyQWdlbnRT
aGFkb3dUcmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9saWN5
Q2hlY2sgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNrOwor
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb24gY29udGVudFNlY3VyaXR5UG9saWN5
SW1wb3NpdGlvbiA9IG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmlzSW5Vc2VyQWdlbnRTaGFkb3dU
cmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9saWN5Q2hlY2sg
OiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNrOwogICAgIFJl
c291cmNlTG9hZGVyT3B0aW9ucyBsb2FkZXJPcHRpb25zIHsKICAgICAgICAgU2VuZENhbGxiYWNr
UG9saWN5OjpTZW5kQ2FsbGJhY2tzLAogICAgICAgICBDb250ZW50U25pZmZpbmdQb2xpY3k6OkRv
Tm90U25pZmZDb250ZW50LApAQCAtMTExLDEwICsxMTIsMTAgQEAgUmVmUHRyPFBsYXRmb3JtTWVk
aWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKFJlc291cmNl
UmVxdWUKICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiwKICAgICAgICAg
RGVmZXJzTG9hZGluZ1BvbGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nLAogICAgICAgICBjYWNoaW5n
UG9saWN5IH07Ci0gICAgbG9hZGVyT3B0aW9ucy5kZXN0aW5hdGlvbiA9IG1fbWVkaWFFbGVtZW50
ICYmICFtX21lZGlhRWxlbWVudC0+aXNWaWRlbygpID8gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6QXVkaW8gOiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpWaWRlbzsKKyAgICBsb2FkZXJP
cHRpb25zLmRlc3RpbmF0aW9uID0gbV9kZXN0aW5hdGlvbjsKICAgICBhdXRvIGNhY2hlZFJlcXVl
c3QgPSBjcmVhdGVQb3RlbnRpYWxBY2Nlc3NDb250cm9sUmVxdWVzdChXVEZNb3ZlKHJlcXVlc3Qp
LCBXVEZNb3ZlKGxvYWRlck9wdGlvbnMpLCAqbV9kb2N1bWVudCwgbV9jcm9zc09yaWdpbk1vZGUp
OwotICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAgICAgICAgY2FjaGVkUmVxdWVzdC5zZXRJbml0
aWF0b3IoKm1fbWVkaWFFbGVtZW50KTsKKyAgICBpZiAobV9lbGVtZW50KQorICAgICAgICBjYWNo
ZWRSZXF1ZXN0LnNldEluaXRpYXRvcigqbV9lbGVtZW50KTsKIAogICAgIGF1dG8gcmVzb3VyY2Ug
PSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLnJlcXVlc3RNZWRpYShXVEZNb3Zl
KGNhY2hlZFJlcXVlc3QpKS52YWx1ZV9vcihudWxscHRyKTsKICAgICBpZiAoIXJlc291cmNlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKaW5kZXggYTJmNGI2
YjUxMzBkYzExNDYyOGFmMWNkNjYwNGQ0NDMxNjRlNzdlNC4uOTdhYTliMDY2YzU5OTkzZjM4Zjlm
NGY1NjYyNThhMDkzYzRkOTIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01l
ZGlhUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNv
dXJjZUxvYWRlci5oCkBAIC00MSwxMiArNDEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBDYWNoZWRSYXdSZXNvdXJjZTsKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgSFRNTE1lZGlh
RWxlbWVudDsKK2NsYXNzIEVsZW1lbnQ7CiBjbGFzcyBNZWRpYVJlc291cmNlOwogCiBjbGFzcyBN
ZWRpYVJlc291cmNlTG9hZGVyIGZpbmFsIDogcHVibGljIFBsYXRmb3JtTWVkaWFSZXNvdXJjZUxv
YWRlciwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMg
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JU
IE1lZGlhUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQmLCBIVE1MTWVkaWFFbGVtZW50JiwgY29uc3Qg
U3RyaW5nJiBjcm9zc09yaWdpbk1vZGUpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVzb3Vy
Y2VMb2FkZXIoRG9jdW1lbnQmLCBFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1v
ZGUsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgfk1lZGlhUmVzb3VyY2VMb2FkZXIoKTsKIAogICAgIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVz
b3VyY2U+IHJlcXVlc3RSZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmJiwgTG9hZE9wdGlvbnMpIGZp
bmFsOwpAQCAtNjQsMTAgKzY0LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb250ZXh0RGVzdHJv
eWVkKCkgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwotICAg
IFdlYWtQdHI8SFRNTE1lZGlhRWxlbWVudD4gbV9tZWRpYUVsZW1lbnQ7CisgICAgV2Vha1B0cjxF
bGVtZW50PiBtX2VsZW1lbnQ7CiAgICAgU3RyaW5nIG1fY3Jvc3NPcmlnaW5Nb2RlOwogICAgIEhh
c2hTZXQ8TWVkaWFSZXNvdXJjZSo+IG1fcmVzb3VyY2VzOwogICAgIFZlY3RvcjxSZXNvdXJjZVJl
c3BvbnNlPiBtX3Jlc3BvbnNlc0ZvclRlc3Rpbmc7CisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbiBtX2Rlc3RpbmF0aW9uOwogfTsKIAogY2xhc3MgTWVkaWFSZXNvdXJjZSA6IHB1YmxpYyBQ
bGF0Zm9ybU1lZGlhUmVzb3VyY2UsIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcAppbmRleCA5NDQ1YWFiNzBkZGM3ZThi
NTFhNjc3MzQ0MzdmNjk3MmUzZGUxNDQ3Li5mYmNjNmJjNWM3Yzk5YmU4MzNiZTBlMmYxMTBjMDBk
YmJmN2QxZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
SW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3Bw
CkBAIC02NCw2ICs2NCw5IEBAIFJlc291cmNlVHlwZSB0b1Jlc291cmNlVHlwZShDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlmCiAgICAgICAg
IHJldHVybiBSZXNvdXJjZVR5cGU6OlJhdzsKIAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6OlRleHRUcmFja1Jlc291cmNlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggMjAwZTZkOTE5NTU2YTVhYzJhNmQ3MGRiNWJlYWZkYWNlYWFjMjVj
NS4uN2RjNGRkMTc4Y2UzMzRkYzQwZWYxMTY1MjY3M2IwZWI0NTFiNjMzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01ODAsNiArNTgwLDkgQEAg
c3RhdGljIHZvaWQgbG9nUmVzb3VyY2VMb2FkZWQoRnJhbWUqIGZyYW1lLCBDYWNoZWRSZXNvdXJj
ZTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6UmF3UmVzb3VyY2U6CiAgICAgICAgIHJlc291cmNlVHlwZSA9IERpYWdub3N0aWNMb2dn
aW5nS2V5czo6cmF3S2V5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcAppbmRleCA2NWE5NzNmYWQ5YjM3YWUzZTgwZGJiYTllMjdiNGNiNDFmOTUw
OGFhLi4yZDAxMGVmNzNiY2QyMmU3YTllNjUwYmNiZWY5M2M1ZWNkMWZhOWEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTEwNSw2ICsx
MDUsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgQ2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlv
cml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlOjpUZXh0VHJhY2tS
ZXNvdXJjZToKICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIFR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CisgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRQcmlvcml0eTo6TWVkaXVtOworI2VuZGlm
CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgVHlwZTo6QXBwbGlj
YXRpb25NYW5pZmVzdDoKICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IGNl
ZTBlZDA0NjM1Yzk1MjhkNGM3M2ExZjYxMGU4ZjFjYzUyYjJmZmQuLmRjNDU4MGIyMmI4YmM4MWY2
Y2EyYzZmZDhlOGU2ZDIzMjZkOWMyYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC03Myw2ICs3Myw5IEBAIHB1YmxpYzoKICAgICAgICAgRm9u
dFJlc291cmNlLAogICAgICAgICBTVkdGb250UmVzb3VyY2UsCiAgICAgICAgIE1lZGlhUmVzb3Vy
Y2UsCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIE1vZGVsUmVzb3VyY2UsCisj
ZW5kaWYKICAgICAgICAgUmF3UmVzb3VyY2UsCiAgICAgICAgIEljb24sCiAgICAgICAgIEJlYWNv
biwKQEAgLTE3OCw3ICsxODEsMTggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0ltYWdlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkltYWdlUmVzb3VyY2U7IH0KICAgICAvLyBGSVhN
RTogQ2FjaGVkUmF3UmVzb3VyY2UgY291bGQgYmUgYSBtYWluIHJlc291cmNlLCBhbiBhdWRpby92
aWRlbyByZXNvdXJjZSwgb3IgYSByYXcgWEhSL2ljb24gcmVzb3VyY2UuCi0gICAgYm9vbCBpc01h
aW5Pck1lZGlhT3JJY29uT3JSYXdSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpNYWluUmVzb3VyY2UgfHwgdHlwZSgpID09IFR5cGU6Ok1lZGlhUmVzb3VyY2UgfHwgdHlw
ZSgpID09IFR5cGU6Okljb24gfHwgdHlwZSgpID09IFR5cGU6OlJhd1Jlc291cmNlIHx8IHR5cGUo
KSA9PSBUeXBlOjpCZWFjb24gfHwgdHlwZSgpID09IFR5cGU6OlBpbmc7IH0KKyAgICBib29sIGlz
TWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiB0eXBlKCkgPT0gVHlwZTo6TWFpblJlc291cmNlCisgICAgICAgICAgICB8fCB0eXBlKCkg
PT0gVHlwZTo6TWVkaWFSZXNvdXJjZQorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgICAg
ICAgICAgfHwgdHlwZSgpID09IFR5cGU6Ok1vZGVsUmVzb3VyY2UKKyNlbmRpZgorICAgICAgICAg
ICAgfHwgdHlwZSgpID09IFR5cGU6Okljb24KKyAgICAgICAgICAgIHx8IHR5cGUoKSA9PSBUeXBl
OjpSYXdSZXNvdXJjZQorICAgICAgICAgICAgfHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbgorICAg
ICAgICAgICAgfHwgdHlwZSgpID09IFR5cGU6OlBpbmc7CisgICAgfQogCiAgICAgLy8gV2hldGhl
ciB0aGlzIHJlcXVlc3Qgc2hvdWxkIGltcGFjdCByZXF1ZXN0IGNvdW50aW5nIGFuZCBkZWxheSB3
aW5kb3cub25sb2FkLgogICAgIGJvb2wgaWdub3JlRm9yUmVxdWVzdENvdW50KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDIyYzhkMmI0MTQxM2FlNGU3Y2E3MTA1YTM3ZmZkOWM1NGRhZWU2YTkuLjhmNWQ3
NDQ3MzBiZjUxNjhhNTZiZTBhYzJhM2I3ZmFhMGU0MjExNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTMxLDYg
KzEzMSw5IEBAIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gY3Jl
YXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpCZWFjb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UGluZzoKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgorI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CisjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6Ok1haW5SZXNvdXJjZToKQEAgLTE3Myw2ICsxNzYsOSBAQCBzdGF0aWMgQ2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGNyZWF0ZVJlc291cmNlKENhY2hlZFJl
c291cmNlUmVxdWVzdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNl
OgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQor
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuIG5ldyBDYWNoZWRSYXdSZXNvdXJjZShXVEZNb3ZlKHJlcXVlc3QpLCByZXNv
dXJjZS50eXBlKCksIHJlc291cmNlLnNlc3Npb25JRCgpLCByZXNvdXJjZS5jb29raWVKYXIoKSk7
CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6WFNMU3R5
bGVTaGVldDoKQEAgLTMxNyw4ICszMjMsMjIgQEAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXUKIAog
UmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPj4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYShDYWNoZWRSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0KQogewotICAgIC8vIEZJWE1FOiBBc3NlcnQgcmVxdWVzdC5vcHRpb25zKCkuZGVz
dGluYXRpb24gaXMgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6e0F1ZGlvLCBWaWRlb30uCi0g
ICAgcmV0dXJuIGNhc3RDYWNoZWRSZXNvdXJjZVRvPENhY2hlZFJhd1Jlc291cmNlPihyZXF1ZXN0
UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2UsIFdURk1vdmUocmVx
dWVzdCkpKTsKKyAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGU7CisgICAgc3dp
dGNoIChyZXF1ZXN0Lm9wdGlvbnMoKS5kZXN0aW5hdGlvbikgeworICAgIGNhc2UgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6QXVkaW86CisgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpWaWRlbzoKKyAgICAgICAgcmVzb3VyY2VUeXBlID0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U7CisgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9kZWw6CisgICAgICAgIHJl
c291cmNlVHlwZSA9IENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgICAg
ICBicmVhazsKKyNlbmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIH0KKworICAgIHJldHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdS
ZXNvdXJjZT4ocmVxdWVzdFJlc291cmNlKHJlc291cmNlVHlwZSwgV1RGTW92ZShyZXF1ZXN0KSkp
OwogfQogCiBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEljb24oQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVxdWVzdCkKQEAgLTM2Myw3ICszODMsMTAgQEAgc3RhdGljIE1peGVkQ29udGVu
dENoZWNrZXI6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlRnJvbVJlc291cmNlVHlwZShDYWNoZWRS
ZXNvdXIKICAgICAvLyAzLjEuIE9wdGlvbmFsbHktYmxvY2thYmxlIENvbnRlbnQKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgICAgICByZXR1cm4gTWl4ZWRDb250
ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6OkFjdGl2ZUNhbldhcm47CisjaWYgRU5BQkxFKE1PREVM
X0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToK
KyNlbmRpZgorICAgICAgICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6
OkFjdGl2ZUNhbldhcm47CiAKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHls
ZVNoZWV0OgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKQEAgLTQyNSw2
ICs0NDgsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVu
dChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdAogICAgICAgICBicmVhazsKICNpZiBF
TkFCTEUoVklERU8pCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVz
b3VyY2U6CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpSYXdSZXNvdXJjZToKQEAgLTQ5Niw2ICs1MjIsOSBAQCBib29sIENhY2hlZFJlc291cmNl
TG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OlJhd1Jlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CkBAIC03OTMsNiArODIyLDkgQEAgc3Rh
dGljIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb25Gb3JUeXBlKENhY2hlZFJl
c291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1By
ZWZldGNoOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1P
REVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJj
ZToKKyNlbmRpZgogICAgICAgICAvLyBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0
aW5nIHRoZSBhcHByb3ByaWF0ZSBkZXN0aW5hdGlvbi4KICAgICAgICAgcmV0dXJuIEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb246OkVtcHR5U3RyaW5nOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNmM5
Y2U1Y2NjZWZlNTFjYTQ0YmJhZmRlMDAxNThkNmI3OWQ3NDYyNC4uNzA2ZGU1MGY5ZjA5MjliYmEw
MTM0YWZkM2RkNzNiODJhZTdhMWUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9o
aWRkZW5Gcm9tSW5zcGVjdG9yOyB9CiAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJv
b2wgaGlkZGVuRnJvbUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5G
cm9tSW5zcGVjdG9yOyB9CiAKLSAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciA6IHVpbnQ4X3QgeyBV
bnNwZWNpZmllZCwgTWFpbiwgWEhSLCBGZXRjaCwgTWVkaWEsIEltcG9ydFNjcmlwdHMsIFBpbmcs
IEJlYWNvbiB9OworICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIDogdWludDhfdCB7IFVuc3BlY2lm
aWVkLCBNYWluLCBYSFIsIEZldGNoLCBNZWRpYSwgTW9kZWwsIEltcG9ydFNjcmlwdHMsIFBpbmcs
IEJlYWNvbiB9OwogICAgIFJlcXVlc3RlciByZXF1ZXN0ZXIoKSBjb25zdCB7IHJldHVybiBtX3Jl
cXVlc3RlcjsgfQogICAgIHZvaWQgc2V0UmVxdWVzdGVyKFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsg
bV9yZXF1ZXN0ZXIgPSByZXF1ZXN0ZXI7IH0KIApAQCAtNDE1LDYgKzQxNSw5IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVz
dGVyPiB7CiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6
WEhSLAogICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OkZl
dGNoLAogICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6Ok1l
ZGlhLAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6Ok1vZGVsLAorI2VuZGlmCiAgICAgICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6SW1wb3J0U2NyaXB0cywKICAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpQaW5nLAogICAgICAgICBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OkJlYWNvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
CmluZGV4IDdkM2Q5ZTMxMjk3YzgyZDRlNWI1Yjg1MjliNjNhOTQwM2M5OTI1MWUuLjQ4YjNhMjI1
ZGZiNmIzMGRhMGM1ZDFmZmVhOWZlYzc2NWUxM2I5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTEzOSw2
ICsxMzksOSBAQCBzdGF0aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNv
dXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291
cmNlOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgorI2VuZGlmCisjaWYgRU5BQkxFKE1P
REVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJj
ZToKICNlbmRpZgogICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY2YjlkMmVhYzMwMzNlM2Y4ODk4M2Zi
YzVhZjAwNDI0MjVhN2FiNTUuLmI5N2M4MGNlZDFkZjZjMjNmZTJhNjkxYmExOTExOGYxYTljODk3
MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAyMS0wMi0wMiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KKworICAgICAgICBBZGQgYSBsb2FkZXIgZm9yIDxtb2RlbD4gcmVzb3VyY2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEyNTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6V2ViQ29yZU5TVVJMU2Vzc2lvblRlc3Q6OlNldFVwKToKKwogMjAyMS0w
Mi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVjb3Zl
ciBXZWJSVEMgY29kZWNzIGluIGNhc2Ugb2YgR1BVUHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Np
b24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5T
VVJMU2Vzc2lvbi5tbQppbmRleCA3MzIyNzhmOWU4MWVjNGM1ZTllYjQzOTcwMmFiYzM4NzQyOWNm
MWE4Li5hMTgwOWU3NmU4ZTMxZDkzMjAxZDdkY2U2NGFhNWVmZTkyODAyMDZkIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2Vi
Q29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtMTI2LDcgKzEyNiw3IEBAIHB1YmxpYzoKICAgICAgICAg
ZGVsZWdhdGUgPSBbW1Rlc3ROU1VSTFNlc3Npb25EYXRhRGVsZWdhdGUgYWxsb2NdIGluaXRdOwog
ICAgICAgICBmcmFtZSA9IFt2aWV3IF9tYWluQ29yZUZyYW1lXTsKICAgICAgICAgbWVkaWFFbGVt
ZW50ID0gSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRlKCpmcmFtZS0+ZG9jdW1lbnQoKSk7Ci0gICAg
ICAgIGxvYWRlciA9IGFkb3B0UmVmKG5ldyBNZWRpYVJlc291cmNlTG9hZGVyKCpmcmFtZS0+ZG9j
dW1lbnQoKSwgKm1lZGlhRWxlbWVudC5nZXQoKSwgZW1wdHlTdHJpbmcoKSkpOworICAgICAgICBs
b2FkZXIgPSBhZG9wdFJlZihuZXcgTWVkaWFSZXNvdXJjZUxvYWRlcigqZnJhbWUtPmRvY3VtZW50
KCksICptZWRpYUVsZW1lbnQuZ2V0KCksIGVtcHR5U3RyaW5nKCksIEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OlZpZGVvKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkK
</data>
<flag name="commit-queue"
          id="437114"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418994</attachid>
            <date>2021-02-02 07:09:03 -0800</date>
            <delta_ts>2021-02-02 07:19:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202160902.patch</filename>
            <type>text/plain</type>
            <size>25016</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uMTYyNWU2NzI3YzhhZjk0MGU2NDE1MDg1OTVjYTA4
MDQxZDU1OTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIHBhcmFtZXRl
ciB3aGVuIGNyZWF0aW5nIGEgTWVkaWFSZXNvdXJjZUxvYWRlciB0byBhbGxvdworICAgICAgICBs
b2FkaW5nIG9mIDxtb2RlbD4gcmVzb3VyY2VzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNyZWF0ZVJlc291
cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25zLmg6CisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTGlua1ByZWxv
YWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJj
ZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNlTG9hZGVyOjpjb250ZXh0
RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6dG9SZXNvdXJjZVR5cGUpOgorICAgICAgICAqIGxvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dSZXNvdXJjZUxvYWRlZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlIGNvbnN0
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50
VHlwZUZyb21SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6ZGVzdGluYXRpb25Gb3JUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKwogMjAyMS0wMi0wMSAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbmltYXRpb24gb2YgInJv
dGF0ZSIgb3IgInNjYWxlIiBwcm9wZXJ0eSBkb2VzIG5vdCBjb3JyZWN0bHkgYWNjb3VudCBmb3Ig
c3RhdGljICJ0cmFuc2xhdGUiIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI5MzA0OWQyMzYxYmFjNjU5
Yjg1MGJlOTRlZjFiYTc5ZjZiODY2YjUuLjkwZWRhY2ExOGQ4M2IwMzIzN2M1MGQ2NDQ5NTFjOTVh
NDU1NzUyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDItMDIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8
bW9kZWw+IHJlc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlTG9h
ZEluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKwogMjAyMS0wMi0w
MiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBXS0FTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZSBuZWVkcyB0byBpbXBvcnQgUnVuTG9vcC5oIGFu
ZCBCbG9ja1B0ci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dC5pZGwKaW5kZXggNDA5MmUyMzljNjBlOGI3NTI5NGEwODY1ODg3MzY3MzE1YjU1MmM2MS4uMDk4
NWUyYTU4YTBiMTNiMDFhYTE5MTMyNmMwNjdmZmVjNmE3YmQ3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbApAQCAtMjYsNyArMjYsNyBAQAogICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi1lbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9uIHsgIiIsICJh
dWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9udCIsICJpbWFn
ZSIsICJtYW5pZmVzdCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0IiwgInJlcG9ydCIsICJzY3Jp
cHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAic3R5bGUiLCAidHJhY2siLCAi
dmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CitlbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9u
IHsgIiIsICJhdWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9u
dCIsICJpbWFnZSIsICJtYW5pZmVzdCIsICJtb2RlbCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0
IiwgInJlcG9ydCIsICJzY3JpcHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAi
c3R5bGUiLCAidHJhY2siLCAidmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CiAKIHR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzMTQ2MmM0Zjg0ZTQ5NmMxNGIxMjk5OGEw
NjU1NTE0Mjk1OTMyOWM2Li5jYTg0ZTBlOWM5Zjc0ZjhiYTgxZjA3MDZjZGRlNmFhZjVjMDcwMmM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5NDEsNyAr
Njk0MSw4IEBAIENhY2hlZFJlc291cmNlTG9hZGVyKiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckNhY2hlZFJlc291cmNlTG9hZGVyKCkKIAogUmVmUHRyPFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZUxvYWRlcj4gSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRl
cigpCiB7Ci0gICAgYXV0byBtZWRpYVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlc291cmNlTG9hZGVyKGRvY3VtZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpKSk7CisgICAg
YXV0byBkZXN0aW5hdGlvbiA9IGlzVmlkZW8oKSA/IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlZpZGVvIDogRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW87CisgICAgYXV0byBtZWRp
YVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRpYVJlc291cmNlTG9hZGVyKGRvY3Vt
ZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpLCBkZXN0aW5hdGlvbikpOwogCiAgICAgbV9sYXN0
TWVkaWFSZXNvdXJjZUxvYWRlckZvclRlc3RpbmcgPSBtYWtlV2Vha1B0cihtZWRpYVJlc291cmNl
TG9hZGVyLmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNo
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCmluZGV4IDMz
NTY2YjI0MmFiNjY4YTRiNzBhNDYzZTZkZmI5ZjRlNjcwNTMyM2MuLmI2MTIzNWI5NzZjOTdhYTYx
ZGJiOTdjNmQ4MDU5NjhlMzY4OWI2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GZXRjaE9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25z
LmgKQEAgLTM2LDcgKzM2LDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGZXRj
aE9wdGlvbnMgewotICAgIGVudW0gY2xhc3MgRGVzdGluYXRpb24gOiB1aW50OF90IHsgRW1wdHlT
dHJpbmcsIEF1ZGlvLCBBdWRpb3dvcmtsZXQsIERvY3VtZW50LCBFbWJlZCwgRm9udCwgSW1hZ2Us
IE1hbmlmZXN0LCBPYmplY3QsIFBhaW50d29ya2xldCwgUmVwb3J0LCBTY3JpcHQsIFNlcnZpY2V3
b3JrZXIsIFNoYXJlZHdvcmtlciwgU3R5bGUsIFRyYWNrLCBWaWRlbywgV29ya2VyLCBYc2x0IH07
CisgICAgZW51bSBjbGFzcyBEZXN0aW5hdGlvbiA6IHVpbnQ4X3QgeyBFbXB0eVN0cmluZywgQXVk
aW8sIEF1ZGlvd29ya2xldCwgRG9jdW1lbnQsIEVtYmVkLCBGb250LCBJbWFnZSwgTWFuaWZlc3Qs
CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIE1vZGVsLAorI2VuZGlmCisgICAg
ICAgIE9iamVjdCwgUGFpbnR3b3JrbGV0LCBSZXBvcnQsIFNjcmlwdCwgU2VydmljZXdvcmtlciwg
U2hhcmVkd29ya2VyLCBTdHlsZSwgVHJhY2ssIFZpZGVvLCBXb3JrZXIsIFhzbHQgfTsKICAgICBl
bnVtIGNsYXNzIE1vZGUgOiB1aW50OF90IHsgTmF2aWdhdGUsIFNhbWVPcmlnaW4sIE5vQ29ycywg
Q29ycyB9OwogICAgIGVudW0gY2xhc3MgQ3JlZGVudGlhbHMgOiB1aW50OF90IHsgT21pdCwgU2Ft
ZU9yaWdpbiwgSW5jbHVkZSB9OwogICAgIGVudW0gY2xhc3MgQ2FjaGUgOiB1aW50OF90IHsgRGVm
YXVsdCwgTm9TdG9yZSwgUmVsb2FkLCBOb0NhY2hlLCBGb3JjZUNhY2hlLCBPbmx5SWZDYWNoZWQg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAppbmRleCBiOTI5NzE0ZDU5YTNiZjhj
YjkyYmIxY2JhOTIwZjU4MGU0YzU5MDJlLi45MDAzODIyMDdhMDUxZjVlNDNhNGFkYTRkZGY3YWZi
YTIyNDQ1ZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCkBAIC0xNjYsNiAr
MTY2LDkgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50
PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpMaW5rUHJlZmV0Y2g6CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CisjZW5k
aWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgICAgIC8vIE5vbmUgb2YgdGhlc2UgdmFs
dWVzIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgYXMgYW4gYGFzYCB2YWx1ZS4KICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVk
aWFSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggYzNmMWQyMDE1YjliN2I1YTA3NmE4Y2QyZGFiZjIwOGZmNmM1ODM0
YS4uOTM4ZDVjZGNjMWYyZDg2YmNlODE1ZmFiOWNlZDRhM2I5YmQ4OWVjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcApAQCAtMzQsOCArMzQsOCBA
QAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNyb3NzT3Jp
Z2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxl
bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CkBAIC00OSwxMSArNDksMTIgQEAgdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpyZWNvcmRSZXNw
b25zZXNGb3JUZXN0aW5nKCkKICAgICBzaG91bGRSZWNvcmRSZXNwb25zZXNGb3JUZXN0aW5nID0g
dHJ1ZTsKIH0KIAotTWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1
bWVudCYgZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCwgY29uc3QgU3Ry
aW5nJiBjcm9zc09yaWdpbk1vZGUpCitNZWRpYVJlc291cmNlTG9hZGVyOjpNZWRpYVJlc291cmNl
TG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5n
JiBjcm9zc09yaWdpbk1vZGUsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24p
CiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmZG9jdW1lbnQpCiAgICAgLCBtX2Rv
Y3VtZW50KG1ha2VXZWFrUHRyKGRvY3VtZW50KSkKLSAgICAsIG1fbWVkaWFFbGVtZW50KG1ha2VX
ZWFrUHRyKG1lZGlhRWxlbWVudCkpCisgICAgLCBtX2VsZW1lbnQobWFrZVdlYWtQdHIoZWxlbWVu
dCkpCiAgICAgLCBtX2Nyb3NzT3JpZ2luTW9kZShjcm9zc09yaWdpbk1vZGUpCisgICAgLCBtX2Rl
c3RpbmF0aW9uKGRlc3RpbmF0aW9uKQogewogfQogCkBAIC02Niw3ICs2Nyw3IEBAIHZvaWQgTWVk
aWFSZXNvdXJjZUxvYWRlcjo6Y29udGV4dERlc3Ryb3llZCgpCiB7CiAgICAgQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXI6OmNvbnRleHREZXN0cm95ZWQoKTsKICAgICBtX2RvY3VtZW50ID0gbnVs
bHB0cjsKLSAgICBtX21lZGlhRWxlbWVudCA9IG51bGxwdHI7CisgICAgbV9lbGVtZW50ID0gbnVs
bHB0cjsKIH0KIAogdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpzZW5kSDJQaW5nKGNvbnN0IFVS
TCYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29uZHMsIFJlc291cmNl
RXJyb3I+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtODgsOCArODksOCBAQCBSZWZQdHI8
UGxhdGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UoUmVzb3VyY2VSZXF1ZQogCiAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0ZXIoUmVzb3VyY2VSZXF1
ZXN0OjpSZXF1ZXN0ZXI6Ok1lZGlhKTsKIAotICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAgICAg
ICAgcmVxdWVzdC5zZXRJbnNwZWN0b3JJbml0aWF0b3JOb2RlSWRlbnRpZmllcihJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmlkZW50aWZpZXJGb3JOb2RlKCptX21lZGlhRWxlbWVudCkpOworICAg
IGlmIChtX2VsZW1lbnQpCisgICAgICAgIHJlcXVlc3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9yTm9k
ZUlkZW50aWZpZXIoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppZGVudGlmaWVyRm9yTm9kZSgq
bV9lbGVtZW50KSk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gRklYTUU6IFdvcmthcm91
bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS8yNjA3MTYwNz4uIFdlIGFyZSBub3QgYWJsZSB0byBkbyBD
T1JTIGNoZWNraW5nIG9uIDMwNCByZXNwb25zZXMgYmVjYXVzZSB0aGV5IGFyZSB1c3VhbGx5IG1p
c3NpbmcgdGhlIGhlYWRlcnMgd2UgbmVlZC4KQEAgLTk3LDcgKzk4LDcgQEAgUmVmUHRyPFBsYXRm
b3JtTWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKFJl
c291cmNlUmVxdWUKICAgICAgICAgcmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwogI2VuZGlm
CiAKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIGNvbnRlbnRTZWN1cml0eVBv
bGljeUltcG9zaXRpb24gPSBtX21lZGlhRWxlbWVudCAmJiBtX21lZGlhRWxlbWVudC0+aXNJblVz
ZXJBZ2VudFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNr
aXBQb2xpY3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5
Q2hlY2s7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJp
dHlQb2xpY3lJbXBvc2l0aW9uID0gbV9lbGVtZW50ICYmIG1fZWxlbWVudC0+aXNJblVzZXJBZ2Vu
dFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNraXBQb2xp
Y3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5Q2hlY2s7
CiAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGxvYWRlck9wdGlvbnMgewogICAgICAgICBTZW5k
Q2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3MsCiAgICAgICAgIENvbnRlbnRTbmlmZmluZ1Bv
bGljeTo6RG9Ob3RTbmlmZkNvbnRlbnQsCkBAIC0xMTEsMTAgKzExMiwxMCBAQCBSZWZQdHI8UGxh
dGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2Uo
UmVzb3VyY2VSZXF1ZQogICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uLAog
ICAgICAgICBEZWZlcnNMb2FkaW5nUG9saWN5OjpBbGxvd0RlZmVyc0xvYWRpbmcsCiAgICAgICAg
IGNhY2hpbmdQb2xpY3kgfTsKLSAgICBsb2FkZXJPcHRpb25zLmRlc3RpbmF0aW9uID0gbV9tZWRp
YUVsZW1lbnQgJiYgIW1fbWVkaWFFbGVtZW50LT5pc1ZpZGVvKCkgPyBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpBdWRpbyA6IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvOworICAg
IGxvYWRlck9wdGlvbnMuZGVzdGluYXRpb24gPSBtX2Rlc3RpbmF0aW9uOwogICAgIGF1dG8gY2Fj
aGVkUmVxdWVzdCA9IGNyZWF0ZVBvdGVudGlhbEFjY2Vzc0NvbnRyb2xSZXF1ZXN0KFdURk1vdmUo
cmVxdWVzdCksIFdURk1vdmUobG9hZGVyT3B0aW9ucyksICptX2RvY3VtZW50LCBtX2Nyb3NzT3Jp
Z2luTW9kZSk7Ci0gICAgaWYgKG1fbWVkaWFFbGVtZW50KQotICAgICAgICBjYWNoZWRSZXF1ZXN0
LnNldEluaXRpYXRvcigqbV9tZWRpYUVsZW1lbnQpOworICAgIGlmIChtX2VsZW1lbnQpCisgICAg
ICAgIGNhY2hlZFJlcXVlc3Quc2V0SW5pdGlhdG9yKCptX2VsZW1lbnQpOwogCiAgICAgYXV0byBy
ZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkucmVxdWVzdE1lZGlh
KFdURk1vdmUoY2FjaGVkUmVxdWVzdCkpLnZhbHVlX29yKG51bGxwdHIpOwogICAgIGlmICghcmVz
b3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCBhMmY0YjZiNTEzMGRjMTE0NjI4YWYxY2Q2NjA0ZDQ0MzE2NGU3N2U0Li45N2FhOWIwNjZjNTk5
OTNmMzhmOWY0ZjU2NjI1OGEwOTNjNGQ5MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9N
ZWRpYVJlc291cmNlTG9hZGVyLmgKQEAgLTQxLDEyICs0MSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIENhY2hlZFJhd1Jlc291cmNlOwogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBI
VE1MTWVkaWFFbGVtZW50OworY2xhc3MgRWxlbWVudDsKIGNsYXNzIE1lZGlhUmVzb3VyY2U7CiAK
IGNsYXNzIE1lZGlhUmVzb3VyY2VMb2FkZXIgZmluYWwgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVJl
c291cmNlTG9hZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFSZXNvdXJjZUxvYWRlcj4s
IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgV0VCQ09S
RV9FWFBPUlQgTWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEhUTUxNZWRpYUVsZW1lbnQm
LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGNyb3Nz
T3JpZ2luTW9kZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdmlydHVhbCB+TWVkaWFSZXNvdXJjZUxvYWRlcigpOwogCiAgICAgUmVmUHRyPFBsYXRmb3Jt
TWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFJlc291cmNlUmVxdWVzdCYmLCBMb2FkT3B0
aW9ucykgZmluYWw7CkBAIC02NCwxMCArNjQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnRl
eHREZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1l
bnQ7Ci0gICAgV2Vha1B0cjxIVE1MTWVkaWFFbGVtZW50PiBtX21lZGlhRWxlbWVudDsKKyAgICBX
ZWFrUHRyPEVsZW1lbnQ+IG1fZWxlbWVudDsKICAgICBTdHJpbmcgbV9jcm9zc09yaWdpbk1vZGU7
CiAgICAgSGFzaFNldDxNZWRpYVJlc291cmNlKj4gbV9yZXNvdXJjZXM7CiAgICAgVmVjdG9yPFJl
c291cmNlUmVzcG9uc2U+IG1fcmVzcG9uc2VzRm9yVGVzdGluZzsKKyAgICBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uIG1fZGVzdGluYXRpb247CiB9OwogCiBjbGFzcyBNZWRpYVJlc291cmNlIDog
cHVibGljIFBsYXRmb3JtTWVkaWFSZXNvdXJjZSwgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCmluZGV4IDk0NDVhYWI3
MGRkYzdlOGI1MWE2NzczNDQzN2Y2OTcyZTNkZTE0NDcuLmZiY2M2YmM1YzdjOTliZTgzM2JlMGUy
ZjExMGMwMGRiYmY3ZDFlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
SW5mby5jcHAKQEAgLTY0LDYgKzY0LDkgQEAgUmVzb3VyY2VUeXBlIHRvUmVzb3VyY2VUeXBlKENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNhc2UgQ2Fj
aGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYK
ICAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6UmF3OwogCiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMDBlNmQ5MTk1NTZhNWFjMmE2ZDcwZGI1YmVhZmRh
Y2VhYWMyNWM1Li43ZGM0ZGQxNzhjZTMzNGRjNDBlZjExNjUyNjczYjBlYjQ1MWI2MzNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU4MCw2ICs1
ODAsOSBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZUxvYWRlZChGcmFtZSogZnJhbWUsIENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QmVh
Y29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlm
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICAgICAgcmVzb3VyY2VUeXBlID0gRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpyYXdLZXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDY1YTk3M2ZhZDliMzdhZTNlODBkYmJhOWUyN2I0
Y2I0MWY5NTA4YWEuLjJkMDEwZWY3M2JjZDIyZTdhOWU2NTBiY2JlZjkzYzVlY2QxZmE5YTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAt
MTA1LDYgKzEwNSwxMCBAQCBSZXNvdXJjZUxvYWRQcmlvcml0eSBDYWNoZWRSZXNvdXJjZTo6ZGVm
YXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKFR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGU6OlRl
eHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxv
dzsKICNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgVHlwZTo6TW9k
ZWxSZXNvdXJjZToKKyAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpNZWRpdW07
CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBUeXBl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3Jp
dHk6OkxvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgK
aW5kZXggY2VlMGVkMDQ2MzVjOTUyOGQ0YzczYTFmNjEwZThmMWNjNTJiMmZmZC4uZGM0NTgwYjIy
YjhiYzgxZjZjYTJjNmZkOGU4ZTZkMjMyNmQ5YzJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTczLDYgKzczLDkgQEAgcHVibGljOgogICAg
ICAgICBGb250UmVzb3VyY2UsCiAgICAgICAgIFNWR0ZvbnRSZXNvdXJjZSwKICAgICAgICAgTWVk
aWFSZXNvdXJjZSwKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICAgICAgTW9kZWxSZXNv
dXJjZSwKKyNlbmRpZgogICAgICAgICBSYXdSZXNvdXJjZSwKICAgICAgICAgSWNvbiwKICAgICAg
ICAgQmVhY29uLApAQCAtMTc4LDcgKzE4MSwxOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzSW1h
Z2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6SW1hZ2VSZXNvdXJjZTsgfQogICAg
IC8vIEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJjZSBjb3VsZCBiZSBhIG1haW4gcmVzb3VyY2UsIGFu
IGF1ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBhIHJhdyBYSFIvaWNvbiByZXNvdXJjZS4KLSAgICBi
b29sIGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6TWVkaWFSZXNvdXJj
ZSB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3VyY2Ug
fHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsgfQorICAg
IGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2UoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UKKyAgICAgICAgICAgIHx8
IHR5cGUoKSA9PSBUeXBlOjpNZWRpYVJlc291cmNlCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6TW9kZWxSZXNvdXJjZQorI2VuZGlmCisg
ICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbgorICAgICAgICAgICAgfHwgdHlwZSgp
ID09IFR5cGU6OlJhd1Jlc291cmNlCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6QmVh
Y29uCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsKKyAgICB9CiAKICAgICAv
LyBXaGV0aGVyIHRoaXMgcmVxdWVzdCBzaG91bGQgaW1wYWN0IHJlcXVlc3QgY291bnRpbmcgYW5k
IGRlbGF5IHdpbmRvdy5vbmxvYWQuCiAgICAgYm9vbCBpZ25vcmVGb3JSZXF1ZXN0Q291bnQoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggMjJjOGQyYjQxNDEzYWU0ZTdjYTcxMDVhMzdmZmQ5YzU0ZGFlZTZh
OS4uOGY1ZDc0NDczMGJmNTE2OGE1NmJlMGFjMmEzYjdmYWEwZTQyMTE1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0xMzEsNiArMTMxLDkgQEAgc3RhdGljIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZQogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQ
aW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9k
ZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jl
c291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgpAQCAtMTczLDYgKzE3Niw5IEBAIHN0
YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gY3JlYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3
UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VM
RU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNl
bmRpZgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJhd1Jlc291cmNlKFdURk1vdmUocmVxdWVz
dCksIHJlc291cmNlLnR5cGUoKSwgcmVzb3VyY2Uuc2Vzc2lvbklEKCksIHJlc291cmNlLmNvb2tp
ZUphcigpKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpYU0xTdHlsZVNoZWV0OgpAQCAtMzE3LDggKzMyMywyMiBAQCBSZXNvdXJjZUVycm9yT3I8Q2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVxdQogCiBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdE1lZGlhKENhY2hlZFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QpCiB7Ci0gICAgLy8gRklYTUU6IEFzc2VydCByZXF1ZXN0Lm9wdGlv
bnMoKS5kZXN0aW5hdGlvbiBpcyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjp7QXVkaW8sIFZp
ZGVvfS4KLSAgICByZXR1cm4gY2FzdENhY2hlZFJlc291cmNlVG88Q2FjaGVkUmF3UmVzb3VyY2U+
KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZSwgV1RG
TW92ZShyZXF1ZXN0KSkpOworICAgIENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlwZTsK
KyAgICBzd2l0Y2ggKHJlcXVlc3Qub3B0aW9ucygpLmRlc3RpbmF0aW9uKSB7CisgICAgY2FzZSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpBdWRpbzoKKyAgICBjYXNlIEZldGNoT3B0aW9uczo6
RGVzdGluYXRpb246OlZpZGVvOgorICAgICAgICByZXNvdXJjZVR5cGUgPSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6TWVkaWFSZXNvdXJjZTsKKyAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKE1PREVM
X0VMRU1FTlQpCisgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKKyAg
ICAgICAgcmVzb3VyY2VUeXBlID0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgfQorCisgICAgcmV0dXJuIGNhc3RDYWNoZWRSZXNvdXJjZVRvPENh
Y2hlZFJhd1Jlc291cmNlPihyZXF1ZXN0UmVzb3VyY2UocmVzb3VyY2VUeXBlLCBXVEZNb3ZlKHJl
cXVlc3QpKSk7CiB9CiAKIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSYXdSZXNvdXJjZT4+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0SWNvbihDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQpAQCAtMzYzLDcgKzM4MywxMCBAQCBzdGF0aWMgTWl4
ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGUgY29udGVudFR5cGVGcm9tUmVzb3VyY2VUeXBl
KENhY2hlZFJlc291cgogICAgIC8vIDMuMS4gT3B0aW9uYWxseS1ibG9ja2FibGUgQ29udGVudAog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKLSAgICAgICAgICAgIHJldHVybiBN
aXhlZENvbnRlbnRDaGVja2VyOjpDb250ZW50VHlwZTo6QWN0aXZlQ2FuV2FybjsKKyNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJl
c291cmNlOgorI2VuZGlmCisgICAgICAgIHJldHVybiBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250
ZW50VHlwZTo6QWN0aXZlQ2FuV2FybjsKIAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OkNTU1N0eWxlU2hlZXQ6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6U2NyaXB0OgpA
QCAtNDI1LDYgKzQ0OCw5IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1
cmVDb250ZW50KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0CiAgICAgICAgIGJyZWFr
OwogI2lmIEVOQUJMRShWSURFTykKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0
VHJhY2tSZXNvdXJjZToKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgpAQCAtNDk2LDYgKzUyMiw5IEBAIGJvb2wgQ2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeShDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QmVhY29uOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6UmF3UmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKQEAgLTc5Myw2ICs4MjIs
OSBAQCBzdGF0aWMgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbkZvclR5cGUo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpMaW5rUHJlZmV0Y2g6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3Vy
Y2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2Rl
bFJlc291cmNlOgorI2VuZGlmCiAgICAgICAgIC8vIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUg
Zm9yIHNldHRpbmcgdGhlIGFwcHJvcHJpYXRlIGRlc3RpbmF0aW9uLgogICAgICAgICByZXR1cm4g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6RW1wdHlTdHJpbmc7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApp
bmRleCA2YzljZTVjY2NlZmU1MWNhNDRiYmFmZGUwMDE1OGQ2Yjc5ZDc0NjI0Li43MDZkZTUwZjlm
MDkyOWJiYTAxMzRhZmQzZGQ3M2I4MmFlN2ExZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMTY1LDcgKzE2
NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGhpZGRlbkZyb21JbnNwZWN0b3IoKSBjb25zdCB7IHJl
dHVybiBtX2hpZGRlbkZyb21JbnNwZWN0b3I7IH0KICAgICB2b2lkIHNldEhpZGRlbkZyb21JbnNw
ZWN0b3IoYm9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKSB7IG1faGlkZGVuRnJvbUluc3BlY3RvciA9
IGhpZGRlbkZyb21JbnNwZWN0b3I7IH0KIAotICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIDogdWlu
dDhfdCB7IFVuc3BlY2lmaWVkLCBNYWluLCBYSFIsIEZldGNoLCBNZWRpYSwgSW1wb3J0U2NyaXB0
cywgUGluZywgQmVhY29uIH07CisgICAgZW51bSBjbGFzcyBSZXF1ZXN0ZXIgOiB1aW50OF90IHsg
VW5zcGVjaWZpZWQsIE1haW4sIFhIUiwgRmV0Y2gsIE1lZGlhLCBNb2RlbCwgSW1wb3J0U2NyaXB0
cywgUGluZywgQmVhY29uIH07CiAgICAgUmVxdWVzdGVyIHJlcXVlc3RlcigpIGNvbnN0IHsgcmV0
dXJuIG1fcmVxdWVzdGVyOyB9CiAgICAgdm9pZCBzZXRSZXF1ZXN0ZXIoUmVxdWVzdGVyIHJlcXVl
c3RlcikgeyBtX3JlcXVlc3RlciA9IHJlcXVlc3RlcjsgfQogCkBAIC00MTUsNiArNDE1LDkgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
OjpSZXF1ZXN0ZXI+IHsKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVx
dWVzdGVyOjpYSFIsCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVl
c3Rlcjo6RmV0Y2gsCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVl
c3Rlcjo6TWVkaWEsCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6TW9kZWwsCisjZW5kaWYKICAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpJbXBvcnRTY3JpcHRzLAog
ICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OlBpbmcsCiAg
ICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6QmVhY29uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5j
cHAKaW5kZXggNzdhMTBhYWE4ZjYzY2EyNWQ3NWNlYjAyOGI4OTkxZmIxNWI3NmI0My4uODI5ZDVk
MDY5YTk4YWY4NTkzYWQ4YzgzYTFkZDQ1YWMxYThiMjk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcApAQCAtMzI3LDYgKzMy
Nyw5IEBAIGJvb2wgTmV0d29ya0xvYWRDaGVja2VyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0
eVBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmCiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpGb250OgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6SW1h
Z2U6CiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNYW5pZmVzdDoKKyNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
Ok1vZGVsOgorI2VuZGlmCiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpPYmpl
Y3Q6CiAgICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpSZXBvcnQ6CiAgICAgY2Fz
ZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTdHlsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBjZjc5
M2E2OTVlMTVlYThjY2E0ZWM3Y2E3NWIzYWVhZmU3NmEwNTMxLi43NjAxZTMxZGQ0NjNmYjYyMTZl
YTI1NmI0MzgxNGUyYmM1YTIzMWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOTIsNiArMzkyLDEwIEBA
IFJlc291cmNlTG9hZEluZm8gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUxvYWRJbmZv
KCkKICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBlOjpJbWFnZTsKICAg
ICAgICAgY2FzZSBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNYW5pZmVzdDoK
ICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBlOjpBcHBsaWNhdGlvbk1h
bmlmZXN0OworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgICAgICBjYXNlIFdlYkNvcmU6
OkZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Ok1vZGVsOgorICAgICAgICAgICAgcmV0dXJuIFJl
c291cmNlTG9hZEluZm86OlR5cGU6Ok90aGVyOworI2VuZGlmCiAgICAgICAgIGNhc2UgV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6T2JqZWN0OgogICAgICAgICAgICAgcmV0dXJu
IFJlc291cmNlTG9hZEluZm86OlR5cGU6Ok9iamVjdDsKICAgICAgICAgY2FzZSBXZWJDb3JlOjpG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpQYWludHdvcmtsZXQ6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXgg
N2QzZDllMzEyOTdjODJkNGU1YjViODUyOWI2M2E5NDAzYzk5MjUxZS4uNDhiM2EyMjVkZmI2YjMw
ZGEwYzVkMWZmZWE5ZmVjNzY1ZTEzYjk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtMTM5LDYgKzEzOSw5
IEBAIHN0YXRpYyBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpGb250UmVzb3VyY2U6CiAj
aWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxF
TUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgogI2Vu
ZGlmCiAgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjZiOWQyZWFjMzAzM2UzZjg4OTgzZmJjNWFmMDA0
MjQyNWE3YWI1NS4uYjk3YzgwY2VkMWRmNmMyM2ZlMmE2OTFiYTE5MTE4ZjFhOWM4OTczMSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIxLTAyLTAyICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIEFkZCBhIGxvYWRlciBmb3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW06CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpXZWJDb3JlTlNVUkxTZXNzaW9uVGVzdDo6U2V0VXApOgorCiAyMDIxLTAyLTAyICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWNvdmVyIFdlYlJU
QyBjb2RlY3MgaW4gY2FzZSBvZiBHUFVQcm9jZXNzIGNyYXNoCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNz
aW9uLm1tCmluZGV4IDczMjI3OGY5ZTgxZWM0YzVlOWViNDM5NzAyYWJjMzg3NDI5Y2YxYTguLmEx
ODA5ZTc2ZThlMzFkOTMyMDFkN2RjZTY0YWE1ZWZlOTI4MDIwNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNV
UkxTZXNzaW9uLm1tCkBAIC0xMjYsNyArMTI2LDcgQEAgcHVibGljOgogICAgICAgICBkZWxlZ2F0
ZSA9IFtbVGVzdE5TVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZSBhbGxvY10gaW5pdF07CiAgICAgICAg
IGZyYW1lID0gW3ZpZXcgX21haW5Db3JlRnJhbWVdOwogICAgICAgICBtZWRpYUVsZW1lbnQgPSBI
VE1MVmlkZW9FbGVtZW50OjpjcmVhdGUoKmZyYW1lLT5kb2N1bWVudCgpKTsKLSAgICAgICAgbG9h
ZGVyID0gYWRvcHRSZWYobmV3IE1lZGlhUmVzb3VyY2VMb2FkZXIoKmZyYW1lLT5kb2N1bWVudCgp
LCAqbWVkaWFFbGVtZW50LmdldCgpLCBlbXB0eVN0cmluZygpKSk7CisgICAgICAgIGxvYWRlciA9
IGFkb3B0UmVmKG5ldyBNZWRpYVJlc291cmNlTG9hZGVyKCpmcmFtZS0+ZG9jdW1lbnQoKSwgKm1l
ZGlhRWxlbWVudC5nZXQoKSwgZW1wdHlTdHJpbmcoKSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6VmlkZW8pKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKQo=
</data>
<flag name="commit-queue"
          id="437117"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418996</attachid>
            <date>2021-02-02 07:18:49 -0800</date>
            <delta_ts>2021-02-02 08:37:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202161847.patch</filename>
            <type>text/plain</type>
            <size>24993</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uMTYyNWU2NzI3YzhhZjk0MGU2NDE1MDg1OTVjYTA4
MDQxZDU1OTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIHBhcmFtZXRl
ciB3aGVuIGNyZWF0aW5nIGEgTWVkaWFSZXNvdXJjZUxvYWRlciB0byBhbGxvdworICAgICAgICBs
b2FkaW5nIG9mIDxtb2RlbD4gcmVzb3VyY2VzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNyZWF0ZVJlc291
cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25zLmg6CisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTGlua1ByZWxv
YWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJj
ZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNlTG9hZGVyOjpjb250ZXh0
RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6dG9SZXNvdXJjZVR5cGUpOgorICAgICAgICAqIGxvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dSZXNvdXJjZUxvYWRlZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlIGNvbnN0
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50
VHlwZUZyb21SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6ZGVzdGluYXRpb25Gb3JUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKwogMjAyMS0wMi0wMSAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbmltYXRpb24gb2YgInJv
dGF0ZSIgb3IgInNjYWxlIiBwcm9wZXJ0eSBkb2VzIG5vdCBjb3JyZWN0bHkgYWNjb3VudCBmb3Ig
c3RhdGljICJ0cmFuc2xhdGUiIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI5MzA0OWQyMzYxYmFjNjU5
Yjg1MGJlOTRlZjFiYTc5ZjZiODY2YjUuLjkwZWRhY2ExOGQ4M2IwMzIzN2M1MGQ2NDQ5NTFjOTVh
NDU1NzUyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDItMDIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8
bW9kZWw+IHJlc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlTG9h
ZEluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKwogMjAyMS0wMi0w
MiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBXS0FTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZSBuZWVkcyB0byBpbXBvcnQgUnVuTG9vcC5oIGFu
ZCBCbG9ja1B0ci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dC5pZGwKaW5kZXggNDA5MmUyMzljNjBlOGI3NTI5NGEwODY1ODg3MzY3MzE1YjU1MmM2MS4uMDk4
NWUyYTU4YTBiMTNiMDFhYTE5MTMyNmMwNjdmZmVjNmE3YmQ3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbApAQCAtMjYsNyArMjYsNyBAQAogICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi1lbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9uIHsgIiIsICJh
dWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9udCIsICJpbWFn
ZSIsICJtYW5pZmVzdCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0IiwgInJlcG9ydCIsICJzY3Jp
cHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAic3R5bGUiLCAidHJhY2siLCAi
dmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CitlbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9u
IHsgIiIsICJhdWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9u
dCIsICJpbWFnZSIsICJtYW5pZmVzdCIsICJtb2RlbCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0
IiwgInJlcG9ydCIsICJzY3JpcHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAi
c3R5bGUiLCAidHJhY2siLCAidmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CiAKIHR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzMTQ2MmM0Zjg0ZTQ5NmMxNGIxMjk5OGEw
NjU1NTE0Mjk1OTMyOWM2Li5jYTg0ZTBlOWM5Zjc0ZjhiYTgxZjA3MDZjZGRlNmFhZjVjMDcwMmM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5NDEsNyAr
Njk0MSw4IEBAIENhY2hlZFJlc291cmNlTG9hZGVyKiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckNhY2hlZFJlc291cmNlTG9hZGVyKCkKIAogUmVmUHRyPFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZUxvYWRlcj4gSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRl
cigpCiB7Ci0gICAgYXV0byBtZWRpYVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlc291cmNlTG9hZGVyKGRvY3VtZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpKSk7CisgICAg
YXV0byBkZXN0aW5hdGlvbiA9IGlzVmlkZW8oKSA/IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlZpZGVvIDogRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW87CisgICAgYXV0byBtZWRp
YVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRpYVJlc291cmNlTG9hZGVyKGRvY3Vt
ZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpLCBkZXN0aW5hdGlvbikpOwogCiAgICAgbV9sYXN0
TWVkaWFSZXNvdXJjZUxvYWRlckZvclRlc3RpbmcgPSBtYWtlV2Vha1B0cihtZWRpYVJlc291cmNl
TG9hZGVyLmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNo
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCmluZGV4IDMz
NTY2YjI0MmFiNjY4YTRiNzBhNDYzZTZkZmI5ZjRlNjcwNTMyM2MuLmI2MTIzNWI5NzZjOTdhYTYx
ZGJiOTdjNmQ4MDU5NjhlMzY4OWI2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GZXRjaE9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25z
LmgKQEAgLTM2LDcgKzM2LDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGZXRj
aE9wdGlvbnMgewotICAgIGVudW0gY2xhc3MgRGVzdGluYXRpb24gOiB1aW50OF90IHsgRW1wdHlT
dHJpbmcsIEF1ZGlvLCBBdWRpb3dvcmtsZXQsIERvY3VtZW50LCBFbWJlZCwgRm9udCwgSW1hZ2Us
IE1hbmlmZXN0LCBPYmplY3QsIFBhaW50d29ya2xldCwgUmVwb3J0LCBTY3JpcHQsIFNlcnZpY2V3
b3JrZXIsIFNoYXJlZHdvcmtlciwgU3R5bGUsIFRyYWNrLCBWaWRlbywgV29ya2VyLCBYc2x0IH07
CisgICAgZW51bSBjbGFzcyBEZXN0aW5hdGlvbiA6IHVpbnQ4X3QgeyBFbXB0eVN0cmluZywgQXVk
aW8sIEF1ZGlvd29ya2xldCwgRG9jdW1lbnQsIEVtYmVkLCBGb250LCBJbWFnZSwgTWFuaWZlc3Qs
CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIE1vZGVsLAorI2VuZGlmCisgICAg
ICAgIE9iamVjdCwgUGFpbnR3b3JrbGV0LCBSZXBvcnQsIFNjcmlwdCwgU2VydmljZXdvcmtlciwg
U2hhcmVkd29ya2VyLCBTdHlsZSwgVHJhY2ssIFZpZGVvLCBXb3JrZXIsIFhzbHQgfTsKICAgICBl
bnVtIGNsYXNzIE1vZGUgOiB1aW50OF90IHsgTmF2aWdhdGUsIFNhbWVPcmlnaW4sIE5vQ29ycywg
Q29ycyB9OwogICAgIGVudW0gY2xhc3MgQ3JlZGVudGlhbHMgOiB1aW50OF90IHsgT21pdCwgU2Ft
ZU9yaWdpbiwgSW5jbHVkZSB9OwogICAgIGVudW0gY2xhc3MgQ2FjaGUgOiB1aW50OF90IHsgRGVm
YXVsdCwgTm9TdG9yZSwgUmVsb2FkLCBOb0NhY2hlLCBGb3JjZUNhY2hlLCBPbmx5SWZDYWNoZWQg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAppbmRleCBiOTI5NzE0ZDU5YTNiZjhj
YjkyYmIxY2JhOTIwZjU4MGU0YzU5MDJlLi45MDAzODIyMDdhMDUxZjVlNDNhNGFkYTRkZGY3YWZi
YTIyNDQ1ZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCkBAIC0xNjYsNiAr
MTY2LDkgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW50
PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpMaW5rUHJlZmV0Y2g6CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CisjZW5k
aWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgICAgIC8vIE5vbmUgb2YgdGhlc2UgdmFs
dWVzIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgYXMgYW4gYGFzYCB2YWx1ZS4KICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVk
aWFSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggYzNmMWQyMDE1YjliN2I1YTA3NmE4Y2QyZGFiZjIwOGZmNmM1ODM0
YS4uOTM4ZDVjZGNjMWYyZDg2YmNlODE1ZmFiOWNlZDRhM2I5YmQ4OWVjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcApAQCAtMzQsOCArMzQsOCBA
QAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNyb3NzT3Jp
Z2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxl
bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CkBAIC00OSwxMSArNDksMTIgQEAgdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpyZWNvcmRSZXNw
b25zZXNGb3JUZXN0aW5nKCkKICAgICBzaG91bGRSZWNvcmRSZXNwb25zZXNGb3JUZXN0aW5nID0g
dHJ1ZTsKIH0KIAotTWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1
bWVudCYgZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCwgY29uc3QgU3Ry
aW5nJiBjcm9zc09yaWdpbk1vZGUpCitNZWRpYVJlc291cmNlTG9hZGVyOjpNZWRpYVJlc291cmNl
TG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5n
JiBjcm9zc09yaWdpbk1vZGUsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24p
CiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmZG9jdW1lbnQpCiAgICAgLCBtX2Rv
Y3VtZW50KG1ha2VXZWFrUHRyKGRvY3VtZW50KSkKLSAgICAsIG1fbWVkaWFFbGVtZW50KG1ha2VX
ZWFrUHRyKG1lZGlhRWxlbWVudCkpCisgICAgLCBtX2VsZW1lbnQobWFrZVdlYWtQdHIoZWxlbWVu
dCkpCiAgICAgLCBtX2Nyb3NzT3JpZ2luTW9kZShjcm9zc09yaWdpbk1vZGUpCisgICAgLCBtX2Rl
c3RpbmF0aW9uKGRlc3RpbmF0aW9uKQogewogfQogCkBAIC02Niw3ICs2Nyw3IEBAIHZvaWQgTWVk
aWFSZXNvdXJjZUxvYWRlcjo6Y29udGV4dERlc3Ryb3llZCgpCiB7CiAgICAgQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXI6OmNvbnRleHREZXN0cm95ZWQoKTsKICAgICBtX2RvY3VtZW50ID0gbnVs
bHB0cjsKLSAgICBtX21lZGlhRWxlbWVudCA9IG51bGxwdHI7CisgICAgbV9lbGVtZW50ID0gbnVs
bHB0cjsKIH0KIAogdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpzZW5kSDJQaW5nKGNvbnN0IFVS
TCYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29uZHMsIFJlc291cmNl
RXJyb3I+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtODgsOCArODksOCBAQCBSZWZQdHI8
UGxhdGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UoUmVzb3VyY2VSZXF1ZQogCiAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0ZXIoUmVzb3VyY2VSZXF1
ZXN0OjpSZXF1ZXN0ZXI6Ok1lZGlhKTsKIAotICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAgICAg
ICAgcmVxdWVzdC5zZXRJbnNwZWN0b3JJbml0aWF0b3JOb2RlSWRlbnRpZmllcihJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmlkZW50aWZpZXJGb3JOb2RlKCptX21lZGlhRWxlbWVudCkpOworICAg
IGlmIChtX2VsZW1lbnQpCisgICAgICAgIHJlcXVlc3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9yTm9k
ZUlkZW50aWZpZXIoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppZGVudGlmaWVyRm9yTm9kZSgq
bV9lbGVtZW50KSk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gRklYTUU6IFdvcmthcm91
bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS8yNjA3MTYwNz4uIFdlIGFyZSBub3QgYWJsZSB0byBkbyBD
T1JTIGNoZWNraW5nIG9uIDMwNCByZXNwb25zZXMgYmVjYXVzZSB0aGV5IGFyZSB1c3VhbGx5IG1p
c3NpbmcgdGhlIGhlYWRlcnMgd2UgbmVlZC4KQEAgLTk3LDcgKzk4LDcgQEAgUmVmUHRyPFBsYXRm
b3JtTWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKFJl
c291cmNlUmVxdWUKICAgICAgICAgcmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwogI2VuZGlm
CiAKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIGNvbnRlbnRTZWN1cml0eVBv
bGljeUltcG9zaXRpb24gPSBtX21lZGlhRWxlbWVudCAmJiBtX21lZGlhRWxlbWVudC0+aXNJblVz
ZXJBZ2VudFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNr
aXBQb2xpY3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5
Q2hlY2s7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJp
dHlQb2xpY3lJbXBvc2l0aW9uID0gbV9lbGVtZW50ICYmIG1fZWxlbWVudC0+aXNJblVzZXJBZ2Vu
dFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNraXBQb2xp
Y3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5Q2hlY2s7
CiAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGxvYWRlck9wdGlvbnMgewogICAgICAgICBTZW5k
Q2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3MsCiAgICAgICAgIENvbnRlbnRTbmlmZmluZ1Bv
bGljeTo6RG9Ob3RTbmlmZkNvbnRlbnQsCkBAIC0xMTEsMTAgKzExMiwxMCBAQCBSZWZQdHI8UGxh
dGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2Uo
UmVzb3VyY2VSZXF1ZQogICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uLAog
ICAgICAgICBEZWZlcnNMb2FkaW5nUG9saWN5OjpBbGxvd0RlZmVyc0xvYWRpbmcsCiAgICAgICAg
IGNhY2hpbmdQb2xpY3kgfTsKLSAgICBsb2FkZXJPcHRpb25zLmRlc3RpbmF0aW9uID0gbV9tZWRp
YUVsZW1lbnQgJiYgIW1fbWVkaWFFbGVtZW50LT5pc1ZpZGVvKCkgPyBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpBdWRpbyA6IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvOworICAg
IGxvYWRlck9wdGlvbnMuZGVzdGluYXRpb24gPSBtX2Rlc3RpbmF0aW9uOwogICAgIGF1dG8gY2Fj
aGVkUmVxdWVzdCA9IGNyZWF0ZVBvdGVudGlhbEFjY2Vzc0NvbnRyb2xSZXF1ZXN0KFdURk1vdmUo
cmVxdWVzdCksIFdURk1vdmUobG9hZGVyT3B0aW9ucyksICptX2RvY3VtZW50LCBtX2Nyb3NzT3Jp
Z2luTW9kZSk7Ci0gICAgaWYgKG1fbWVkaWFFbGVtZW50KQotICAgICAgICBjYWNoZWRSZXF1ZXN0
LnNldEluaXRpYXRvcigqbV9tZWRpYUVsZW1lbnQpOworICAgIGlmIChtX2VsZW1lbnQpCisgICAg
ICAgIGNhY2hlZFJlcXVlc3Quc2V0SW5pdGlhdG9yKCptX2VsZW1lbnQpOwogCiAgICAgYXV0byBy
ZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkucmVxdWVzdE1lZGlh
KFdURk1vdmUoY2FjaGVkUmVxdWVzdCkpLnZhbHVlX29yKG51bGxwdHIpOwogICAgIGlmICghcmVz
b3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCBhMmY0YjZiNTEzMGRjMTE0NjI4YWYxY2Q2NjA0ZDQ0MzE2NGU3N2U0Li45N2FhOWIwNjZjNTk5
OTNmMzhmOWY0ZjU2NjI1OGEwOTNjNGQ5MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9N
ZWRpYVJlc291cmNlTG9hZGVyLmgKQEAgLTQxLDEyICs0MSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIENhY2hlZFJhd1Jlc291cmNlOwogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBI
VE1MTWVkaWFFbGVtZW50OworY2xhc3MgRWxlbWVudDsKIGNsYXNzIE1lZGlhUmVzb3VyY2U7CiAK
IGNsYXNzIE1lZGlhUmVzb3VyY2VMb2FkZXIgZmluYWwgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVJl
c291cmNlTG9hZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFSZXNvdXJjZUxvYWRlcj4s
IHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgV0VCQ09S
RV9FWFBPUlQgTWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEhUTUxNZWRpYUVsZW1lbnQm
LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgTWVk
aWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGNyb3Nz
T3JpZ2luTW9kZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdmlydHVhbCB+TWVkaWFSZXNvdXJjZUxvYWRlcigpOwogCiAgICAgUmVmUHRyPFBsYXRmb3Jt
TWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFJlc291cmNlUmVxdWVzdCYmLCBMb2FkT3B0
aW9ucykgZmluYWw7CkBAIC02NCwxMCArNjQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnRl
eHREZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1l
bnQ7Ci0gICAgV2Vha1B0cjxIVE1MTWVkaWFFbGVtZW50PiBtX21lZGlhRWxlbWVudDsKKyAgICBX
ZWFrUHRyPEVsZW1lbnQ+IG1fZWxlbWVudDsKICAgICBTdHJpbmcgbV9jcm9zc09yaWdpbk1vZGU7
CiAgICAgSGFzaFNldDxNZWRpYVJlc291cmNlKj4gbV9yZXNvdXJjZXM7CiAgICAgVmVjdG9yPFJl
c291cmNlUmVzcG9uc2U+IG1fcmVzcG9uc2VzRm9yVGVzdGluZzsKKyAgICBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uIG1fZGVzdGluYXRpb247CiB9OwogCiBjbGFzcyBNZWRpYVJlc291cmNlIDog
cHVibGljIFBsYXRmb3JtTWVkaWFSZXNvdXJjZSwgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCmluZGV4IDk0NDVhYWI3
MGRkYzdlOGI1MWE2NzczNDQzN2Y2OTcyZTNkZTE0NDcuLmZiY2M2YmM1YzdjOTliZTgzM2JlMGUy
ZjExMGMwMGRiYmY3ZDFlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
SW5mby5jcHAKQEAgLTY0LDYgKzY0LDkgQEAgUmVzb3VyY2VUeXBlIHRvUmVzb3VyY2VUeXBlKENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNhc2UgQ2Fj
aGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYK
ICAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6UmF3OwogCiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMDBlNmQ5MTk1NTZhNWFjMmE2ZDcwZGI1YmVhZmRh
Y2VhYWMyNWM1Li43ZGM0ZGQxNzhjZTMzNGRjNDBlZjExNjUyNjczYjBlYjQ1MWI2MzNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU4MCw2ICs1
ODAsOSBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZUxvYWRlZChGcmFtZSogZnJhbWUsIENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QmVh
Y29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlm
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICAgICAgcmVzb3VyY2VUeXBlID0gRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpyYXdLZXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDY1YTk3M2ZhZDliMzdhZTNlODBkYmJhOWUyN2I0
Y2I0MWY5NTA4YWEuLjJkMDEwZWY3M2JjZDIyZTdhOWU2NTBiY2JlZjkzYzVlY2QxZmE5YTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAt
MTA1LDYgKzEwNSwxMCBAQCBSZXNvdXJjZUxvYWRQcmlvcml0eSBDYWNoZWRSZXNvdXJjZTo6ZGVm
YXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKFR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGU6OlRl
eHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHk6Okxv
dzsKICNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgVHlwZTo6TW9k
ZWxSZXNvdXJjZToKKyAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpNZWRpdW07
CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBUeXBl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3Jp
dHk6OkxvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgK
aW5kZXggY2VlMGVkMDQ2MzVjOTUyOGQ0YzczYTFmNjEwZThmMWNjNTJiMmZmZC4uZGM0NTgwYjIy
YjhiYzgxZjZjYTJjNmZkOGU4ZTZkMjMyNmQ5YzJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTczLDYgKzczLDkgQEAgcHVibGljOgogICAg
ICAgICBGb250UmVzb3VyY2UsCiAgICAgICAgIFNWR0ZvbnRSZXNvdXJjZSwKICAgICAgICAgTWVk
aWFSZXNvdXJjZSwKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICAgICAgTW9kZWxSZXNv
dXJjZSwKKyNlbmRpZgogICAgICAgICBSYXdSZXNvdXJjZSwKICAgICAgICAgSWNvbiwKICAgICAg
ICAgQmVhY29uLApAQCAtMTc4LDcgKzE4MSwxOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzSW1h
Z2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6SW1hZ2VSZXNvdXJjZTsgfQogICAg
IC8vIEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJjZSBjb3VsZCBiZSBhIG1haW4gcmVzb3VyY2UsIGFu
IGF1ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBhIHJhdyBYSFIvaWNvbiByZXNvdXJjZS4KLSAgICBi
b29sIGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6TWVkaWFSZXNvdXJj
ZSB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3VyY2Ug
fHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsgfQorICAg
IGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2UoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UKKyAgICAgICAgICAgIHx8
IHR5cGUoKSA9PSBUeXBlOjpNZWRpYVJlc291cmNlCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6TW9kZWxSZXNvdXJjZQorI2VuZGlmCisg
ICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbgorICAgICAgICAgICAgfHwgdHlwZSgp
ID09IFR5cGU6OlJhd1Jlc291cmNlCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6QmVh
Y29uCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsKKyAgICB9CiAKICAgICAv
LyBXaGV0aGVyIHRoaXMgcmVxdWVzdCBzaG91bGQgaW1wYWN0IHJlcXVlc3QgY291bnRpbmcgYW5k
IGRlbGF5IHdpbmRvdy5vbmxvYWQuCiAgICAgYm9vbCBpZ25vcmVGb3JSZXF1ZXN0Q291bnQoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggMjJjOGQyYjQxNDEzYWU0ZTdjYTcxMDVhMzdmZmQ5YzU0ZGFlZTZh
OS4uYjMxMzQ5NmUxMWQ1MzRhYzQ1YTIyY2NjYzQ0YWNiZWIyOTY0MzdjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0xMzEsNiArMTMxLDkgQEAgc3RhdGljIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZQogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQ
aW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9k
ZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jl
c291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgpAQCAtMTczLDYgKzE3Niw5IEBAIHN0
YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gY3JlYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3
UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VM
RU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNl
bmRpZgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJhd1Jlc291cmNlKFdURk1vdmUocmVxdWVz
dCksIHJlc291cmNlLnR5cGUoKSwgcmVzb3VyY2Uuc2Vzc2lvbklEKCksIHJlc291cmNlLmNvb2tp
ZUphcigpKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpYU0xTdHlsZVNoZWV0OgpAQCAtMzE3LDggKzMyMywyMSBAQCBSZXNvdXJjZUVycm9yT3I8Q2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVxdQogCiBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdE1lZGlhKENhY2hlZFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QpCiB7Ci0gICAgLy8gRklYTUU6IEFzc2VydCByZXF1ZXN0Lm9wdGlv
bnMoKS5kZXN0aW5hdGlvbiBpcyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjp7QXVkaW8sIFZp
ZGVvfS4KLSAgICByZXR1cm4gY2FzdENhY2hlZFJlc291cmNlVG88Q2FjaGVkUmF3UmVzb3VyY2U+
KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZSwgV1RG
TW92ZShyZXF1ZXN0KSkpOworICAgIENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlwZSA9
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgIHN3aXRjaCAocmVxdWVz
dC5vcHRpb25zKCkuZGVzdGluYXRpb24pIHsKKyAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OkF1ZGlvOgorICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6VmlkZW86
CisgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9kZWw6CisgICAgICAgIHJlc291cmNlVHlwZSA9IENh
Y2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgICAgICBicmVhazsKKyNlbmRp
ZgorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKwor
ICAgIHJldHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdSZXNvdXJjZT4ocmVxdWVz
dFJlc291cmNlKHJlc291cmNlVHlwZSwgV1RGTW92ZShyZXF1ZXN0KSkpOwogfQogCiBSZXNvdXJj
ZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+PiBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEljb24oQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCkKQEAgLTM2Myw3ICszODIsMTAgQEAgc3RhdGljIE1peGVkQ29udGVudENoZWNrZXI6OkNvbnRl
bnRUeXBlIGNvbnRlbnRUeXBlRnJvbVJlc291cmNlVHlwZShDYWNoZWRSZXNvdXIKICAgICAvLyAz
LjEuIE9wdGlvbmFsbHktYmxvY2thYmxlIENvbnRlbnQKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpJbWFnZVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1l
ZGlhUmVzb3VyY2U6Ci0gICAgICAgICAgICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29u
dGVudFR5cGU6OkFjdGl2ZUNhbldhcm47CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgorICAgICAg
ICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6OkFjdGl2ZUNhbldhcm47
CiAKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKQEAgLTQyNSw2ICs0NDcsOSBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudChDYWNoZWRSZXNvdXJj
ZTo6VHlwZSB0eXBlLCBjb25zdAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoVklERU8pCiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CisjZW5kaWYK
KyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TWVkaWFSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJj
ZToKQEAgLTQ5Niw2ICs1MjEsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgor
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYgRU5BQkxF
KEFQUExJQ0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q6CkBAIC03OTMsNiArODIxLDkgQEAgc3RhdGljIEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb24gZGVzdGluYXRpb25Gb3JUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1ByZWZldGNoOgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAg
ICAgICAvLyBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHRoZSBhcHByb3By
aWF0ZSBkZXN0aW5hdGlvbi4KICAgICAgICAgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OkVtcHR5U3RyaW5nOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNmM5Y2U1Y2NjZWZlNTFjYTQ0
YmJhZmRlMDAxNThkNmI3OWQ3NDYyNC4uNzA2ZGU1MGY5ZjA5MjliYmEwMTM0YWZkM2RkNzNiODJh
ZTdhMWUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoaWRkZW5Gcm9tSW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5Gcm9tSW5zcGVj
dG9yOyB9CiAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJvb2wgaGlkZGVuRnJvbUlu
c3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5Gcm9tSW5zcGVjdG9yOyB9
CiAKLSAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciA6IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwgTWFp
biwgWEhSLCBGZXRjaCwgTWVkaWEsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9OworICAg
IGVudW0gY2xhc3MgUmVxdWVzdGVyIDogdWludDhfdCB7IFVuc3BlY2lmaWVkLCBNYWluLCBYSFIs
IEZldGNoLCBNZWRpYSwgTW9kZWwsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9OwogICAg
IFJlcXVlc3RlciByZXF1ZXN0ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RlcjsgfQogICAg
IHZvaWQgc2V0UmVxdWVzdGVyKFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsgbV9yZXF1ZXN0ZXIgPSBy
ZXF1ZXN0ZXI7IH0KIApAQCAtNDE1LDYgKzQxNSw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyPiB7CiAgICAgICAg
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6WEhSLAogICAgICAgICBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OkZldGNoLAogICAgICAgICBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6Ok1lZGlhLAorI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpS
ZXF1ZXN0ZXI6Ok1vZGVsLAorI2VuZGlmCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OlJlcXVlc3Rlcjo6SW1wb3J0U2NyaXB0cywKICAgICAgICAgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpQaW5nLAogICAgICAgICBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OkJlYWNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCmluZGV4IDc3YTEwYWFhOGY2M2Nh
MjVkNzVjZWIwMjhiODk5MWZiMTViNzZiNDMuLjgyOWQ1ZDA2OWE5OGFmODU5M2FkOGM4M2ExZGQ0
NWFjMWE4YjI5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtMb2FkQ2hlY2tlci5jcHAKQEAgLTMyNyw2ICszMjcsOSBAQCBib29sIE5ldHdvcmtMb2Fk
Q2hlY2tlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6Rm9udDoKICAgICBj
YXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkltYWdlOgogICAgIGNhc2UgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6TWFuaWZlc3Q6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisg
ICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKKyNlbmRpZgogICAgIGNh
c2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6T2JqZWN0OgogICAgIGNhc2UgRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6UmVwb3J0OgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6U3R5bGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggY2Y3OTNhNjk1ZTE1ZWE4Y2NhNGVjN2NhNzVi
M2FlYWZlNzZhMDUzMS4uNzYwMWUzMWRkNDYzZmI2MjE2ZWEyNTZiNDM4MTRlMmJjNWEyMzFiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMzkyLDYgKzM5MiwxMCBAQCBSZXNvdXJjZUxvYWRJbmZvIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VMb2FkSW5mbygpCiAgICAgICAgICAgICByZXR1cm4g
UmVzb3VyY2VMb2FkSW5mbzo6VHlwZTo6SW1hZ2U7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TWFuaWZlc3Q6CiAgICAgICAgICAgICByZXR1cm4gUmVz
b3VyY2VMb2FkSW5mbzo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDsKKyNpZiBFTkFCTEUoTU9E
RUxfRUxFTUVOVCkKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpNb2RlbDoKKyAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBlOjpP
dGhlcjsKKyNlbmRpZgogICAgICAgICBjYXNlIFdlYkNvcmU6OkZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246Ok9iamVjdDoKICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBl
OjpPYmplY3Q7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6UGFpbnR3b3JrbGV0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IDdkM2Q5ZTMxMjk3YzgyZDRlNWI1Yjg1
MjliNjNhOTQwM2M5OTI1MWUuLjQ4YjNhMjI1ZGZiNmIzMGRhMGM1ZDFmZmVhOWZlYzc2NWUxM2I5
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRl
clN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHAKQEAgLTEzOSw2ICsxMzksOSBAQCBzdGF0aWMgU2Vjb25kcyBtYXhp
bXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNlOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9N
QU5JRkVTVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlm
ZXN0OgorI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAgICAgICByZXR1cm4gU2Vj
b25kczo6aW5maW5pdHkoKTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJl
c291cmNlOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDY2YjlkMmVhYzMwMzNlM2Y4ODk4M2ZiYzVhZjAwNDI0MjVhN2FiNTUuLmI5N2M4MGNlZDFk
ZjZjMjNmZTJhNjkxYmExOTExOGYxYTljODk3MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMi0wMiAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgYSBsb2FkZXIg
Zm9yIDxtb2RlbD4gcmVzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjEyNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3Jl
TlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ViQ29yZU5TVVJMU2Vz
c2lvblRlc3Q6OlNldFVwKToKKwogMjAyMS0wMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVjb3ZlciBXZWJSVEMgY29kZWNzIGluIGNhc2Ugb2YgR1BV
UHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQppbmRleCA3MzIyNzhmOWU4
MWVjNGM1ZTllYjQzOTcwMmFiYzM4NzQyOWNmMWE4Li5hMTgwOWU3NmU4ZTMxZDkzMjAxZDdkY2U2
NGFhNWVmZTkyODAyMDZkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtMTI2LDcg
KzEyNiw3IEBAIHB1YmxpYzoKICAgICAgICAgZGVsZWdhdGUgPSBbW1Rlc3ROU1VSTFNlc3Npb25E
YXRhRGVsZWdhdGUgYWxsb2NdIGluaXRdOwogICAgICAgICBmcmFtZSA9IFt2aWV3IF9tYWluQ29y
ZUZyYW1lXTsKICAgICAgICAgbWVkaWFFbGVtZW50ID0gSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRl
KCpmcmFtZS0+ZG9jdW1lbnQoKSk7Ci0gICAgICAgIGxvYWRlciA9IGFkb3B0UmVmKG5ldyBNZWRp
YVJlc291cmNlTG9hZGVyKCpmcmFtZS0+ZG9jdW1lbnQoKSwgKm1lZGlhRWxlbWVudC5nZXQoKSwg
ZW1wdHlTdHJpbmcoKSkpOworICAgICAgICBsb2FkZXIgPSBhZG9wdFJlZihuZXcgTWVkaWFSZXNv
dXJjZUxvYWRlcigqZnJhbWUtPmRvY3VtZW50KCksICptZWRpYUVsZW1lbnQuZ2V0KCksIGVtcHR5
U3RyaW5nKCksIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvKSk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkK
</data>
<flag name="commit-queue"
          id="437127"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419003</attachid>
            <date>2021-02-02 08:36:22 -0800</date>
            <delta_ts>2021-02-02 10:36:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202173621.patch</filename>
            <type>text/plain</type>
            <size>24408</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uMTYyNWU2NzI3YzhhZjk0MGU2NDE1MDg1OTVjYTA4
MDQxZDU1OTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIHBhcmFtZXRl
ciB3aGVuIGNyZWF0aW5nIGEgTWVkaWFSZXNvdXJjZUxvYWRlciB0byBhbGxvdworICAgICAgICBs
b2FkaW5nIG9mIDxtb2RlbD4gcmVzb3VyY2VzLgorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckNyZWF0ZVJlc291
cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25zLmg6CisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTGlua1ByZWxv
YWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJj
ZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNlTG9hZGVyOjpjb250ZXh0
RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVl
c3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6dG9SZXNvdXJjZVR5cGUpOgorICAgICAgICAqIGxvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dSZXNvdXJjZUxvYWRlZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2U6OmlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlIGNvbnN0
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50
VHlwZUZyb21SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6ZGVzdGluYXRpb25Gb3JUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKwogMjAyMS0wMi0wMSAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbmltYXRpb24gb2YgInJv
dGF0ZSIgb3IgInNjYWxlIiBwcm9wZXJ0eSBkb2VzIG5vdCBjb3JyZWN0bHkgYWNjb3VudCBmb3Ig
c3RhdGljICJ0cmFuc2xhdGUiIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI5MzA0OWQyMzYxYmFjNjU5
Yjg1MGJlOTRlZjFiYTc5ZjZiODY2YjUuLjkwZWRhY2ExOGQ4M2IwMzIzN2M1MGQ2NDQ5NTFjOTVh
NDU1NzUyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDItMDIgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8
bW9kZWw+IHJlc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmlzQWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5
UG9saWN5KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlTG9h
ZEluZm8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKwogMjAyMS0wMi0w
MiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBXS0FTQ0F1
dGhvcml6YXRpb25QcmVzZW50ZXJEZWxlZ2F0ZSBuZWVkcyB0byBpbXBvcnQgUnVuTG9vcC5oIGFu
ZCBCbG9ja1B0ci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dC5pZGwKaW5kZXggNDA5MmUyMzljNjBlOGI3NTI5NGEwODY1ODg3MzY3MzE1YjU1MmM2MS4uMDk4
NWUyYTU4YTBiMTNiMDFhYTE5MTMyNmMwNjdmZmVjNmE3YmQ3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbApAQCAtMjYsNyArMjYsNyBAQAogICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi1lbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9uIHsgIiIsICJh
dWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9udCIsICJpbWFn
ZSIsICJtYW5pZmVzdCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0IiwgInJlcG9ydCIsICJzY3Jp
cHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAic3R5bGUiLCAidHJhY2siLCAi
dmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CitlbnVtIEZldGNoUmVxdWVzdERlc3RpbmF0aW9u
IHsgIiIsICJhdWRpbyIsICJhdWRpb3dvcmtsZXQiLCAiZG9jdW1lbnQiLCAiZW1iZWQiLCAiZm9u
dCIsICJpbWFnZSIsICJtYW5pZmVzdCIsICJtb2RlbCIsICJvYmplY3QiLCAicGFpbnR3b3JrbGV0
IiwgInJlcG9ydCIsICJzY3JpcHQiLCAic2VydmljZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAi
c3R5bGUiLCAidHJhY2siLCAidmlkZW8iLCAid29ya2VyIiwgInhzbHQiIH07CiAKIHR5cGVkZWYg
KEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzMTQ2MmM0Zjg0ZTQ5NmMxNGIxMjk5OGEw
NjU1NTE0Mjk1OTMyOWM2Li5jYTg0ZTBlOWM5Zjc0ZjhiYTgxZjA3MDZjZGRlNmFhZjVjMDcwMmM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5NDEsNyAr
Njk0MSw4IEBAIENhY2hlZFJlc291cmNlTG9hZGVyKiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckNhY2hlZFJlc291cmNlTG9hZGVyKCkKIAogUmVmUHRyPFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZUxvYWRlcj4gSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRl
cigpCiB7Ci0gICAgYXV0byBtZWRpYVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlc291cmNlTG9hZGVyKGRvY3VtZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpKSk7CisgICAg
YXV0byBkZXN0aW5hdGlvbiA9IGlzVmlkZW8oKSA/IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlZpZGVvIDogRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6QXVkaW87CisgICAgYXV0byBtZWRp
YVJlc291cmNlTG9hZGVyID0gYWRvcHRSZWYoKm5ldyBNZWRpYVJlc291cmNlTG9hZGVyKGRvY3Vt
ZW50KCksICp0aGlzLCBjcm9zc09yaWdpbigpLCBkZXN0aW5hdGlvbikpOwogCiAgICAgbV9sYXN0
TWVkaWFSZXNvdXJjZUxvYWRlckZvclRlc3RpbmcgPSBtYWtlV2Vha1B0cihtZWRpYVJlc291cmNl
TG9hZGVyLmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNo
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCmluZGV4IDMz
NTY2YjI0MmFiNjY4YTRiNzBhNDYzZTZkZmI5ZjRlNjcwNTMyM2MuLjhiZjg5MDlmYTIzZDk2MjNk
NjkyMGIxYWNlZGNmZjM4NzllNjM3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GZXRjaE9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25z
LmgKQEAgLTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEZldGNo
T3B0aW9ucyB7Ci0gICAgZW51bSBjbGFzcyBEZXN0aW5hdGlvbiA6IHVpbnQ4X3QgeyBFbXB0eVN0
cmluZywgQXVkaW8sIEF1ZGlvd29ya2xldCwgRG9jdW1lbnQsIEVtYmVkLCBGb250LCBJbWFnZSwg
TWFuaWZlc3QsIE9iamVjdCwgUGFpbnR3b3JrbGV0LCBSZXBvcnQsIFNjcmlwdCwgU2VydmljZXdv
cmtlciwgU2hhcmVkd29ya2VyLCBTdHlsZSwgVHJhY2ssIFZpZGVvLCBXb3JrZXIsIFhzbHQgfTsK
KyAgICBlbnVtIGNsYXNzIERlc3RpbmF0aW9uIDogdWludDhfdCB7IEVtcHR5U3RyaW5nLCBBdWRp
bywgQXVkaW93b3JrbGV0LCBEb2N1bWVudCwgRW1iZWQsIEZvbnQsIEltYWdlLCBNYW5pZmVzdCwg
TW9kZWwsIE9iamVjdCwgUGFpbnR3b3JrbGV0LCBSZXBvcnQsIFNjcmlwdCwgU2VydmljZXdvcmtl
ciwgU2hhcmVkd29ya2VyLCBTdHlsZSwgVHJhY2ssIFZpZGVvLCBXb3JrZXIsIFhzbHQgfTsKICAg
ICBlbnVtIGNsYXNzIE1vZGUgOiB1aW50OF90IHsgTmF2aWdhdGUsIFNhbWVPcmlnaW4sIE5vQ29y
cywgQ29ycyB9OwogICAgIGVudW0gY2xhc3MgQ3JlZGVudGlhbHMgOiB1aW50OF90IHsgT21pdCwg
U2FtZU9yaWdpbiwgSW5jbHVkZSB9OwogICAgIGVudW0gY2xhc3MgQ2FjaGUgOiB1aW50OF90IHsg
RGVmYXVsdCwgTm9TdG9yZSwgUmVsb2FkLCBOb0NhY2hlLCBGb3JjZUNhY2hlLCBPbmx5SWZDYWNo
ZWQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAppbmRleCBiOTI5NzE0ZDU5YTNi
ZjhjYjkyYmIxY2JhOTIwZjU4MGU0YzU5MDJlLi45MDAzODIyMDdhMDUxZjVlNDNhNGFkYTRkZGY3
YWZiYTIyNDQ1ZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCkBAIC0xNjYs
NiArMTY2LDkgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMaW5rUHJlbG9hZFJlc291cmNlQ2xp
ZW50PiBjcmVhdGVMaW5rUHJlbG9hZFJlc291cmNlQ2xpZW4KICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpMaW5rUHJlZmV0Y2g6CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgICAgIC8vIE5vbmUgb2YgdGhlc2Ug
dmFsdWVzIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgYXMgYW4gYGFzYCB2YWx1ZS4KICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWVkaWFSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggYzNmMWQyMDE1YjliN2I1YTA3NmE4Y2QyZGFiZjIwOGZmNmM1
ODM0YS4uOTM4ZDVjZGNjMWYyZDg2YmNlODE1ZmFiOWNlZDRhM2I5YmQ4OWVjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcApAQCAtMzQsOCArMzQs
OCBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIkNyb3Nz
T3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiSFRN
TE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CkBAIC00OSwxMSArNDksMTIgQEAgdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpyZWNvcmRS
ZXNwb25zZXNGb3JUZXN0aW5nKCkKICAgICBzaG91bGRSZWNvcmRSZXNwb25zZXNGb3JUZXN0aW5n
ID0gdHJ1ZTsKIH0KIAotTWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJjZUxvYWRlcihE
b2N1bWVudCYgZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQmIG1lZGlhRWxlbWVudCwgY29uc3Qg
U3RyaW5nJiBjcm9zc09yaWdpbk1vZGUpCitNZWRpYVJlc291cmNlTG9hZGVyOjpNZWRpYVJlc291
cmNlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3Ry
aW5nJiBjcm9zc09yaWdpbk1vZGUsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRp
b24pCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmZG9jdW1lbnQpCiAgICAgLCBt
X2RvY3VtZW50KG1ha2VXZWFrUHRyKGRvY3VtZW50KSkKLSAgICAsIG1fbWVkaWFFbGVtZW50KG1h
a2VXZWFrUHRyKG1lZGlhRWxlbWVudCkpCisgICAgLCBtX2VsZW1lbnQobWFrZVdlYWtQdHIoZWxl
bWVudCkpCiAgICAgLCBtX2Nyb3NzT3JpZ2luTW9kZShjcm9zc09yaWdpbk1vZGUpCisgICAgLCBt
X2Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKQogewogfQogCkBAIC02Niw3ICs2Nyw3IEBAIHZvaWQg
TWVkaWFSZXNvdXJjZUxvYWRlcjo6Y29udGV4dERlc3Ryb3llZCgpCiB7CiAgICAgQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXI6OmNvbnRleHREZXN0cm95ZWQoKTsKICAgICBtX2RvY3VtZW50ID0g
bnVsbHB0cjsKLSAgICBtX21lZGlhRWxlbWVudCA9IG51bGxwdHI7CisgICAgbV9lbGVtZW50ID0g
bnVsbHB0cjsKIH0KIAogdm9pZCBNZWRpYVJlc291cmNlTG9hZGVyOjpzZW5kSDJQaW5nKGNvbnN0
IFVSTCYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29uZHMsIFJlc291
cmNlRXJyb3I+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtODgsOCArODksOCBAQCBSZWZQ
dHI8UGxhdGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVz
b3VyY2UoUmVzb3VyY2VSZXF1ZQogCiAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0ZXIoUmVzb3VyY2VS
ZXF1ZXN0OjpSZXF1ZXN0ZXI6Ok1lZGlhKTsKIAotICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAg
ICAgICAgcmVxdWVzdC5zZXRJbnNwZWN0b3JJbml0aWF0b3JOb2RlSWRlbnRpZmllcihJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmlkZW50aWZpZXJGb3JOb2RlKCptX21lZGlhRWxlbWVudCkpOwor
ICAgIGlmIChtX2VsZW1lbnQpCisgICAgICAgIHJlcXVlc3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9y
Tm9kZUlkZW50aWZpZXIoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppZGVudGlmaWVyRm9yTm9k
ZSgqbV9lbGVtZW50KSk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gRklYTUU6IFdvcmth
cm91bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS8yNjA3MTYwNz4uIFdlIGFyZSBub3QgYWJsZSB0byBk
byBDT1JTIGNoZWNraW5nIG9uIDMwNCByZXNwb25zZXMgYmVjYXVzZSB0aGV5IGFyZSB1c3VhbGx5
IG1pc3NpbmcgdGhlIGhlYWRlcnMgd2UgbmVlZC4KQEAgLTk3LDcgKzk4LDcgQEAgUmVmUHRyPFBs
YXRmb3JtTWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNl
KFJlc291cmNlUmVxdWUKICAgICAgICAgcmVxdWVzdC5tYWtlVW5jb25kaXRpb25hbCgpOwogI2Vu
ZGlmCiAKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIGNvbnRlbnRTZWN1cml0
eVBvbGljeUltcG9zaXRpb24gPSBtX21lZGlhRWxlbWVudCAmJiBtX21lZGlhRWxlbWVudC0+aXNJ
blVzZXJBZ2VudFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246
OlNraXBQb2xpY3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9s
aWN5Q2hlY2s7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2Vj
dXJpdHlQb2xpY3lJbXBvc2l0aW9uID0gbV9lbGVtZW50ICYmIG1fZWxlbWVudC0+aXNJblVzZXJB
Z2VudFNoYWRvd1RyZWUoKSA/IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OlNraXBQ
b2xpY3lDaGVjayA6IENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb246OkRvUG9saWN5Q2hl
Y2s7CiAgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGxvYWRlck9wdGlvbnMgewogICAgICAgICBT
ZW5kQ2FsbGJhY2tQb2xpY3k6OlNlbmRDYWxsYmFja3MsCiAgICAgICAgIENvbnRlbnRTbmlmZmlu
Z1BvbGljeTo6RG9Ob3RTbmlmZkNvbnRlbnQsCkBAIC0xMTEsMTAgKzExMiwxMCBAQCBSZWZQdHI8
UGxhdGZvcm1NZWRpYVJlc291cmNlPiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UoUmVzb3VyY2VSZXF1ZQogICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9u
LAogICAgICAgICBEZWZlcnNMb2FkaW5nUG9saWN5OjpBbGxvd0RlZmVyc0xvYWRpbmcsCiAgICAg
ICAgIGNhY2hpbmdQb2xpY3kgfTsKLSAgICBsb2FkZXJPcHRpb25zLmRlc3RpbmF0aW9uID0gbV9t
ZWRpYUVsZW1lbnQgJiYgIW1fbWVkaWFFbGVtZW50LT5pc1ZpZGVvKCkgPyBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpBdWRpbyA6IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvOwor
ICAgIGxvYWRlck9wdGlvbnMuZGVzdGluYXRpb24gPSBtX2Rlc3RpbmF0aW9uOwogICAgIGF1dG8g
Y2FjaGVkUmVxdWVzdCA9IGNyZWF0ZVBvdGVudGlhbEFjY2Vzc0NvbnRyb2xSZXF1ZXN0KFdURk1v
dmUocmVxdWVzdCksIFdURk1vdmUobG9hZGVyT3B0aW9ucyksICptX2RvY3VtZW50LCBtX2Nyb3Nz
T3JpZ2luTW9kZSk7Ci0gICAgaWYgKG1fbWVkaWFFbGVtZW50KQotICAgICAgICBjYWNoZWRSZXF1
ZXN0LnNldEluaXRpYXRvcigqbV9tZWRpYUVsZW1lbnQpOworICAgIGlmIChtX2VsZW1lbnQpCisg
ICAgICAgIGNhY2hlZFJlcXVlc3Quc2V0SW5pdGlhdG9yKCptX2VsZW1lbnQpOwogCiAgICAgYXV0
byByZXNvdXJjZSA9IG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkucmVxdWVzdE1l
ZGlhKFdURk1vdmUoY2FjaGVkUmVxdWVzdCkpLnZhbHVlX29yKG51bGxwdHIpOwogICAgIGlmICgh
cmVzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJj
ZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaApp
bmRleCBhMmY0YjZiNTEzMGRjMTE0NjI4YWYxY2Q2NjA0ZDQ0MzE2NGU3N2U0Li45N2FhOWIwNjZj
NTk5OTNmMzhmOWY0ZjU2NjI1OGEwOTNjNGQ5MjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NZWRpYVJlc291cmNlTG9hZGVyLmgKQEAgLTQxLDEyICs0MSwxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENhY2hlZFJhd1Jlc291cmNlOwogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFz
cyBIVE1MTWVkaWFFbGVtZW50OworY2xhc3MgRWxlbWVudDsKIGNsYXNzIE1lZGlhUmVzb3VyY2U7
CiAKIGNsYXNzIE1lZGlhUmVzb3VyY2VMb2FkZXIgZmluYWwgOiBwdWJsaWMgUGxhdGZvcm1NZWRp
YVJlc291cmNlTG9hZGVyLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFSZXNvdXJjZUxvYWRl
cj4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CiBwdWJsaWM6Ci0gICAgV0VC
Q09SRV9FWFBPUlQgTWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEhUTUxNZWRpYUVsZW1l
bnQmLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSk7CisgICAgV0VCQ09SRV9FWFBPUlQg
TWVkaWFSZXNvdXJjZUxvYWRlcihEb2N1bWVudCYsIEVsZW1lbnQmLCBjb25zdCBTdHJpbmcmIGNy
b3NzT3JpZ2luTW9kZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB+TWVkaWFSZXNvdXJjZUxvYWRlcigpOwogCiAgICAgUmVmUHRyPFBsYXRm
b3JtTWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFJlc291cmNlUmVxdWVzdCYmLCBMb2Fk
T3B0aW9ucykgZmluYWw7CkBAIC02NCwxMCArNjQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNv
bnRleHREZXN0cm95ZWQoKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9j
dW1lbnQ7Ci0gICAgV2Vha1B0cjxIVE1MTWVkaWFFbGVtZW50PiBtX21lZGlhRWxlbWVudDsKKyAg
ICBXZWFrUHRyPEVsZW1lbnQ+IG1fZWxlbWVudDsKICAgICBTdHJpbmcgbV9jcm9zc09yaWdpbk1v
ZGU7CiAgICAgSGFzaFNldDxNZWRpYVJlc291cmNlKj4gbV9yZXNvdXJjZXM7CiAgICAgVmVjdG9y
PFJlc291cmNlUmVzcG9uc2U+IG1fcmVzcG9uc2VzRm9yVGVzdGluZzsKKyAgICBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uIG1fZGVzdGluYXRpb247CiB9OwogCiBjbGFzcyBNZWRpYVJlc291cmNl
IDogcHVibGljIFBsYXRmb3JtTWVkaWFSZXNvdXJjZSwgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCmluZGV4IDk0NDVh
YWI3MGRkYzdlOGI1MWE2NzczNDQzN2Y2OTcyZTNkZTE0NDcuLmZiY2M2YmM1YzdjOTliZTgzM2Jl
MGUyZjExMGMwMGRiYmY3ZDFlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkSW5mby5jcHAKQEAgLTY0LDYgKzY0LDkgQEAgUmVzb3VyY2VUeXBlIHRvUmVzb3VyY2VUeXBl
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgorI2lmIEVOQUJMRShNT0RFTF9FTEVN
RU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5k
aWYKICAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6UmF3OwogCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyMDBlNmQ5MTk1NTZhNWFjMmE2ZDcwZGI1YmVh
ZmRhY2VhYWMyNWM1Li43ZGM0ZGQxNzhjZTMzNGRjNDBlZjExNjUyNjczYjBlYjQ1MWI2MzNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU4MCw2
ICs1ODAsOSBAQCBzdGF0aWMgdm9pZCBsb2dSZXNvdXJjZUxvYWRlZChGcmFtZSogZnJhbWUsIENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
QmVhY29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxF
TUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2Vu
ZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAgICAgICAgcmVzb3VyY2VUeXBlID0gRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjpyYXdLZXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDY1YTk3M2ZhZDliMzdhZTNlODBkYmJhOWUy
N2I0Y2I0MWY5NTA4YWEuLjJkMDEwZWY3M2JjZDIyZTdhOWU2NTBiY2JlZjkzYzVlY2QxZmE5YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApA
QCAtMTA1LDYgKzEwNSwxMCBAQCBSZXNvdXJjZUxvYWRQcmlvcml0eSBDYWNoZWRSZXNvdXJjZTo6
ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKFR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGU6
OlRleHRUcmFja1Jlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHk6
OkxvdzsKICNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgVHlwZTo6
TW9kZWxSZXNvdXJjZToKKyAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpNZWRp
dW07CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBU
eXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgogICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJp
b3JpdHk6OkxvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggY2VlMGVkMDQ2MzVjOTUyOGQ0YzczYTFmNjEwZThmMWNjNTJiMmZmZC4uZGM0NTgw
YjIyYjhiYzgxZjZjYTJjNmZkOGU4ZTZkMjMyNmQ5YzJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTczLDYgKzczLDkgQEAgcHVibGljOgog
ICAgICAgICBGb250UmVzb3VyY2UsCiAgICAgICAgIFNWR0ZvbnRSZXNvdXJjZSwKICAgICAgICAg
TWVkaWFSZXNvdXJjZSwKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICAgICAgTW9kZWxS
ZXNvdXJjZSwKKyNlbmRpZgogICAgICAgICBSYXdSZXNvdXJjZSwKICAgICAgICAgSWNvbiwKICAg
ICAgICAgQmVhY29uLApAQCAtMTc4LDcgKzE4MSwxOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlz
SW1hZ2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6SW1hZ2VSZXNvdXJjZTsgfQog
ICAgIC8vIEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJjZSBjb3VsZCBiZSBhIG1haW4gcmVzb3VyY2Us
IGFuIGF1ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBhIHJhdyBYSFIvaWNvbiByZXNvdXJjZS4KLSAg
ICBib29sIGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6TWVkaWFSZXNv
dXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3Vy
Y2UgfHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbiB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsgfQor
ICAgIGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2UoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UKKyAgICAgICAgICAg
IHx8IHR5cGUoKSA9PSBUeXBlOjpNZWRpYVJlc291cmNlCisjaWYgRU5BQkxFKE1PREVMX0VMRU1F
TlQpCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6TW9kZWxSZXNvdXJjZQorI2VuZGlm
CisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbgorICAgICAgICAgICAgfHwgdHlw
ZSgpID09IFR5cGU6OlJhd1Jlc291cmNlCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6
QmVhY29uCisgICAgICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsKKyAgICB9CiAKICAg
ICAvLyBXaGV0aGVyIHRoaXMgcmVxdWVzdCBzaG91bGQgaW1wYWN0IHJlcXVlc3QgY291bnRpbmcg
YW5kIGRlbGF5IHdpbmRvdy5vbmxvYWQuCiAgICAgYm9vbCBpZ25vcmVGb3JSZXF1ZXN0Q291bnQo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMjJjOGQyYjQxNDEzYWU0ZTdjYTcxMDVhMzdmZmQ5YzU0ZGFl
ZTZhOS4uYjMxMzQ5NmUxMWQ1MzRhYzQ1YTIyY2NjYzQ0YWNiZWIyOTY0MzdjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0xMzEsNiArMTMxLDkgQEAgc3RhdGljIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJl
c291cmNlPiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZQogICAgIGNhc2UgQ2Fj
aGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6Cisj
aWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJh
d1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgpAQCAtMTczLDYgKzE3Niw5IEBA
IHN0YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gY3JlYXRlUmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
UmF3UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVM
X0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToK
KyNlbmRpZgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJhd1Jlc291cmNlKFdURk1vdmUocmVx
dWVzdCksIHJlc291cmNlLnR5cGUoKSwgcmVzb3VyY2Uuc2Vzc2lvbklEKCksIHJlc291cmNlLmNv
b2tpZUphcigpKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpYU0xTdHlsZVNoZWV0OgpAQCAtMzE3LDggKzMyMywyMSBAQCBSZXNvdXJjZUVycm9yT3I8
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdQogCiBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3
UmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdE1lZGlhKENhY2hlZFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QpCiB7Ci0gICAgLy8gRklYTUU6IEFzc2VydCByZXF1ZXN0Lm9w
dGlvbnMoKS5kZXN0aW5hdGlvbiBpcyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjp7QXVkaW8s
IFZpZGVvfS4KLSAgICByZXR1cm4gY2FzdENhY2hlZFJlc291cmNlVG88Q2FjaGVkUmF3UmVzb3Vy
Y2U+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZSwg
V1RGTW92ZShyZXF1ZXN0KSkpOworICAgIENhY2hlZFJlc291cmNlOjpUeXBlIHJlc291cmNlVHlw
ZSA9IENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgIHN3aXRjaCAocmVx
dWVzdC5vcHRpb25zKCkuZGVzdGluYXRpb24pIHsKKyAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OkF1ZGlvOgorICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6Vmlk
ZW86CisgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2Ug
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9kZWw6CisgICAgICAgIHJlc291cmNlVHlwZSA9
IENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgICAgICBicmVhazsKKyNl
bmRpZgorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0K
KworICAgIHJldHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdSZXNvdXJjZT4ocmVx
dWVzdFJlc291cmNlKHJlc291cmNlVHlwZSwgV1RGTW92ZShyZXF1ZXN0KSkpOwogfQogCiBSZXNv
dXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+PiBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEljb24oQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCkKQEAgLTM2Myw3ICszODIsMTAgQEAgc3RhdGljIE1peGVkQ29udGVudENoZWNrZXI6OkNv
bnRlbnRUeXBlIGNvbnRlbnRUeXBlRnJvbVJlc291cmNlVHlwZShDYWNoZWRSZXNvdXIKICAgICAv
LyAzLjEuIE9wdGlvbmFsbHktYmxvY2thYmxlIENvbnRlbnQKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U6Ci0gICAgICAgICAgICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6
Q29udGVudFR5cGU6OkFjdGl2ZUNhbldhcm47CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgorICAg
ICAgICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6OkFjdGl2ZUNhbldh
cm47CiAKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKQEAgLTQyNSw2ICs0NDcsOSBAQCBi
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudChDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlLCBjb25zdAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoVklERU8p
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CisjZW5k
aWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpU
eXBlOjpNb2RlbFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6TWVkaWFSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNv
dXJjZToKQEAgLTQ5Niw2ICs1MjEsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxv
d2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNl
OgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYgRU5B
QkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CkBAIC03OTMsNiArODIxLDkgQEAgc3RhdGljIEZldGNoT3B0
aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb25Gb3JUeXBlKENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1ByZWZldGNoOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgog
ICAgICAgICAvLyBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHRoZSBhcHBy
b3ByaWF0ZSBkZXN0aW5hdGlvbi4KICAgICAgICAgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OkVtcHR5U3RyaW5nOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNmM5Y2U1Y2NjZWZlNTFj
YTQ0YmJhZmRlMDAxNThkNmI3OWQ3NDYyNC4uN2QzYzg2MzNlMmJlMTFjZGIyYmRhNWY3ZjY3ZTAy
YzRjNzYzZjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5Gcm9tSW5z
cGVjdG9yOyB9CiAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJvb2wgaGlkZGVuRnJv
bUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5Gcm9tSW5zcGVjdG9y
OyB9CiAKLSAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciA6IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwg
TWFpbiwgWEhSLCBGZXRjaCwgTWVkaWEsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9Owor
ICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIDogdWludDhfdCB7IFVuc3BlY2lmaWVkLCBNYWluLCBY
SFIsIEZldGNoLCBNZWRpYSwgTW9kZWwsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9Owog
ICAgIFJlcXVlc3RlciByZXF1ZXN0ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RlcjsgfQog
ICAgIHZvaWQgc2V0UmVxdWVzdGVyKFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsgbV9yZXF1ZXN0ZXIg
PSByZXF1ZXN0ZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZENoZWNrZXIuY3BwCmluZGV4IDc3YTEwYWFhOGY2M2NhMjVkNzVjZWIwMjhiODk5
MWZiMTViNzZiNDMuLjgyOWQ1ZDA2OWE5OGFmODU5M2FkOGM4M2ExZGQ0NWFjMWE4YjI5NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tl
ci5jcHAKQEAgLTMyNyw2ICszMjcsOSBAQCBib29sIE5ldHdvcmtMb2FkQ2hlY2tlcjo6aXNBbGxv
d2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JgogICAgIGNh
c2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6Rm9udDoKICAgICBjYXNlIEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OkltYWdlOgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6TWFuaWZlc3Q6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKKyNlbmRpZgogICAgIGNhc2UgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6T2JqZWN0OgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6UmVwb3J0OgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U3R5bGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggY2Y3OTNhNjk1ZTE1ZWE4Y2NhNGVjN2NhNzViM2FlYWZlNzZhMDUzMS4u
NzYwMWUzMWRkNDYzZmI2MjE2ZWEyNTZiNDM4MTRlMmJjNWEyMzFiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApA
QCAtMzkyLDYgKzM5MiwxMCBAQCBSZXNvdXJjZUxvYWRJbmZvIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6cmVzb3VyY2VMb2FkSW5mbygpCiAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkSW5m
bzo6VHlwZTo6SW1hZ2U7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6TWFuaWZlc3Q6CiAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkSW5mbzo6
VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDsKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKKyAg
ICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBlOjpPdGhlcjsKKyNlbmRpZgog
ICAgICAgICBjYXNlIFdlYkNvcmU6OkZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Ok9iamVjdDoK
ICAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRJbmZvOjpUeXBlOjpPYmplY3Q7CiAgICAg
ICAgIGNhc2UgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6UGFpbnR3b3JrbGV0
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVy
U3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVy
U3RyYXRlZ3kuY3BwCmluZGV4IDdkM2Q5ZTMxMjk3YzgyZDRlNWI1Yjg1MjliNjNhOTQwM2M5OTI1
MWUuLjQ4YjNhMjI1ZGZiNmIzMGRhMGM1ZDFmZmVhOWZlYzc2NWUxM2I5NjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5j
cHAKQEAgLTEzOSw2ICsxMzksOSBAQCBzdGF0aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGlt
ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6Rm9udFJlc291cmNlOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgorI2VuZGlmCisj
aWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHko
KTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY2YjlkMmVhYzMw
MzNlM2Y4ODk4M2ZiYzVhZjAwNDI0MjVhN2FiNTUuLmI5N2M4MGNlZDFkZjZjMjNmZTJhNjkxYmEx
OTExOGYxYTljODk3MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMi0wMiAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgYSBsb2FkZXIgZm9yIDxtb2RlbD4gcmVz
b3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjEyNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1t
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ViQ29yZU5TVVJMU2Vzc2lvblRlc3Q6OlNldFVw
KToKKwogMjAyMS0wMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVjb3ZlciBXZWJSVEMgY29kZWNzIGluIGNhc2Ugb2YgR1BVUHJvY2VzcyBjcmFzaApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1dlYkNv
cmVOU1VSTFNlc3Npb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQppbmRleCA3MzIyNzhmOWU4MWVjNGM1ZTllYjQzOTcw
MmFiYzM4NzQyOWNmMWE4Li5hMTgwOWU3NmU4ZTMxZDkzMjAxZDdkY2U2NGFhNWVmZTkyODAyMDZk
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2Vi
Q29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtMTI2LDcgKzEyNiw3IEBAIHB1Ymxp
YzoKICAgICAgICAgZGVsZWdhdGUgPSBbW1Rlc3ROU1VSTFNlc3Npb25EYXRhRGVsZWdhdGUgYWxs
b2NdIGluaXRdOwogICAgICAgICBmcmFtZSA9IFt2aWV3IF9tYWluQ29yZUZyYW1lXTsKICAgICAg
ICAgbWVkaWFFbGVtZW50ID0gSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRlKCpmcmFtZS0+ZG9jdW1l
bnQoKSk7Ci0gICAgICAgIGxvYWRlciA9IGFkb3B0UmVmKG5ldyBNZWRpYVJlc291cmNlTG9hZGVy
KCpmcmFtZS0+ZG9jdW1lbnQoKSwgKm1lZGlhRWxlbWVudC5nZXQoKSwgZW1wdHlTdHJpbmcoKSkp
OworICAgICAgICBsb2FkZXIgPSBhZG9wdFJlZihuZXcgTWVkaWFSZXNvdXJjZUxvYWRlcigqZnJh
bWUtPmRvY3VtZW50KCksICptZWRpYUVsZW1lbnQuZ2V0KCksIGVtcHR5U3RyaW5nKCksIEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lk
IFRlYXJEb3duKCkK
</data>
<flag name="commit-queue"
          id="437167"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419011</attachid>
            <date>2021-02-02 09:37:14 -0800</date>
            <delta_ts>2021-02-03 05:33:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210202183712.patch</filename>
            <type>text/plain</type>
            <size>24813</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZlMGI1ZTU3MTBlZjgz
Y2Q0ZjhmOGE3NjEyYmE0ZDEzOTFmNzYxNi4uYWEwMWIyYTA4ZjdlY2EwYTBmZGRjY2Q0ZWJkYzVi
NTAwMzFkMTFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAyLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgQWRkIGEgbmV3IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gcGFyYW1ldGVy
IHdoZW4gY3JlYXRpbmcgYSBNZWRpYVJlc291cmNlTG9hZGVyIHRvIGFsbG93CisgICAgICAgIGxv
YWRpbmcgb2YgPG1vZGVsPiByZXNvdXJjZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ3JlYXRlUmVzb3Vy
Y2VMb2FkZXIpOgorICAgICAgICAqIGxvYWRlci9GZXRjaE9wdGlvbnMuaDoKKyAgICAgICAgKiBs
b2FkZXIvTGlua0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVMaW5rUHJlbG9h
ZFJlc291cmNlQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNlTG9hZGVyOjpNZWRpYVJlc291cmNl
TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3VyY2VMb2FkZXI6OmNvbnRleHRE
ZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFJlc291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oOgorICAg
ICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRFeHRlbnNpb25zOjp0b1Jlc291cmNlVHlwZSk6CisgICAgICAgICogbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ1Jlc291cmNlTG9hZGVkKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZSk6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6aXNNYWluT3JNZWRpYU9ySWNvbk9yUmF3UmVzb3VyY2UgY29uc3Qp
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVxdWVzdE1lZGlhKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRlbnRU
eXBlRnJvbVJlc291cmNlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6Y2hlY2tJbnNlY3VyZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpkZXN0aW5hdGlvbkZvclR5cGUpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDIxLTAyLTAxICBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIEFuaW1hdGlvbiBvZiAicm90
YXRlIiBvciAic2NhbGUiIHByb3BlcnR5IGRvZXMgbm90IGNvcnJlY3RseSBhY2NvdW50IGZvciBz
dGF0aWMgInRyYW5zbGF0ZSIgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjkzMDQ5ZDIzNjFiYWM2NTli
ODUwYmU5NGVmMWJhNzlmNmI4NjZiNS4uOTljYTA0NTY4NjA2MmVlMDM3MzNmNWUwYzZlMDllZDgy
OTYzZTBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMi0wMiAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgYSBsb2FkZXIgZm9yIDxt
b2RlbD4gcmVzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjEyNTUKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0xvYWRDaGVja2VyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBv
bGljeSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUxvYWRJ
bmZvKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
OgorICAgICAgICAoV2ViS2l0OjptYXhpbXVtQnVmZmVyaW5nVGltZSk6CisKIDIwMjEtMDItMDIg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tBU0NBdXRo
b3JpemF0aW9uUHJlc2VudGVyRGVsZWdhdGUgbmVlZHMgdG8gaW1wb3J0IFJ1bkxvb3AuaCBhbmQg
QmxvY2tQdHIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
aWRsCmluZGV4IDQwOTJlMjM5YzYwZThiNzUyOTRhMDg2NTg4NzM2NzMxNWI1NTJjNjEuLjA5ODVl
MmE1OGEwYjEzYjAxYWExOTEzMjZjMDY3ZmZlYzZhN2JkNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKICAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAotZW51bSBGZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7ICIiLCAiYXVk
aW8iLCAiYXVkaW93b3JrbGV0IiwgImRvY3VtZW50IiwgImVtYmVkIiwgImZvbnQiLCAiaW1hZ2Ui
LCAibWFuaWZlc3QiLCAib2JqZWN0IiwgInBhaW50d29ya2xldCIsICJyZXBvcnQiLCAic2NyaXB0
IiwgInNlcnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIiwgInN0eWxlIiwgInRyYWNrIiwgInZp
ZGVvIiwgIndvcmtlciIsICJ4c2x0IiB9OworZW51bSBGZXRjaFJlcXVlc3REZXN0aW5hdGlvbiB7
ICIiLCAiYXVkaW8iLCAiYXVkaW93b3JrbGV0IiwgImRvY3VtZW50IiwgImVtYmVkIiwgImZvbnQi
LCAiaW1hZ2UiLCAibWFuaWZlc3QiLCAibW9kZWwiLCAib2JqZWN0IiwgInBhaW50d29ya2xldCIs
ICJyZXBvcnQiLCAic2NyaXB0IiwgInNlcnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIiwgInN0
eWxlIiwgInRyYWNrIiwgInZpZGVvIiwgIndvcmtlciIsICJ4c2x0IiB9OwogCiB0eXBlZGVmIChG
ZXRjaFJlcXVlc3Qgb3IgVVNWU3RyaW5nKSBSZXF1ZXN0SW5mbzsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMzE0NjJjNGY4NGU0OTZjMTRiMTI5OThhMDY1
NTUxNDI5NTkzMjljNi4uY2E4NGUwZTljOWY3NGY4YmE4MWYwNzA2Y2RkZTZhYWY1YzA3MDJjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC02OTQxLDcgKzY5
NDEsOCBAQCBDYWNoZWRSZXNvdXJjZUxvYWRlciogSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJDYWNoZWRSZXNvdXJjZUxvYWRlcigpCiAKIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVzb3VyY2VM
b2FkZXI+IEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ3JlYXRlUmVzb3VyY2VMb2FkZXIo
KQogewotICAgIGF1dG8gbWVkaWFSZXNvdXJjZUxvYWRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFS
ZXNvdXJjZUxvYWRlcihkb2N1bWVudCgpLCAqdGhpcywgY3Jvc3NPcmlnaW4oKSkpOworICAgIGF1
dG8gZGVzdGluYXRpb24gPSBpc1ZpZGVvKCkgPyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpW
aWRlbyA6IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlvOworICAgIGF1dG8gbWVkaWFS
ZXNvdXJjZUxvYWRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZXNvdXJjZUxvYWRlcihkb2N1bWVu
dCgpLCAqdGhpcywgY3Jvc3NPcmlnaW4oKSwgZGVzdGluYXRpb24pKTsKIAogICAgIG1fbGFzdE1l
ZGlhUmVzb3VyY2VMb2FkZXJGb3JUZXN0aW5nID0gbWFrZVdlYWtQdHIobWVkaWFSZXNvdXJjZUxv
YWRlci5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9w
dGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAppbmRleCAzMzU2
NmIyNDJhYjY2OGE0YjcwYTQ2M2U2ZGZiOWY0ZTY3MDUzMjNjLi44YmY4OTA5ZmEyM2Q5NjIzZDY5
MjBiMWFjZWRjZmYzODc5ZTYzN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RmV0Y2hPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5o
CkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGZXRjaE9w
dGlvbnMgewotICAgIGVudW0gY2xhc3MgRGVzdGluYXRpb24gOiB1aW50OF90IHsgRW1wdHlTdHJp
bmcsIEF1ZGlvLCBBdWRpb3dvcmtsZXQsIERvY3VtZW50LCBFbWJlZCwgRm9udCwgSW1hZ2UsIE1h
bmlmZXN0LCBPYmplY3QsIFBhaW50d29ya2xldCwgUmVwb3J0LCBTY3JpcHQsIFNlcnZpY2V3b3Jr
ZXIsIFNoYXJlZHdvcmtlciwgU3R5bGUsIFRyYWNrLCBWaWRlbywgV29ya2VyLCBYc2x0IH07Cisg
ICAgZW51bSBjbGFzcyBEZXN0aW5hdGlvbiA6IHVpbnQ4X3QgeyBFbXB0eVN0cmluZywgQXVkaW8s
IEF1ZGlvd29ya2xldCwgRG9jdW1lbnQsIEVtYmVkLCBGb250LCBJbWFnZSwgTWFuaWZlc3QsIE1v
ZGVsLCBPYmplY3QsIFBhaW50d29ya2xldCwgUmVwb3J0LCBTY3JpcHQsIFNlcnZpY2V3b3JrZXIs
IFNoYXJlZHdvcmtlciwgU3R5bGUsIFRyYWNrLCBWaWRlbywgV29ya2VyLCBYc2x0IH07CiAgICAg
ZW51bSBjbGFzcyBNb2RlIDogdWludDhfdCB7IE5hdmlnYXRlLCBTYW1lT3JpZ2luLCBOb0NvcnMs
IENvcnMgfTsKICAgICBlbnVtIGNsYXNzIENyZWRlbnRpYWxzIDogdWludDhfdCB7IE9taXQsIFNh
bWVPcmlnaW4sIEluY2x1ZGUgfTsKICAgICBlbnVtIGNsYXNzIENhY2hlIDogdWludDhfdCB7IERl
ZmF1bHQsIE5vU3RvcmUsIFJlbG9hZCwgTm9DYWNoZSwgRm9yY2VDYWNoZSwgT25seUlmQ2FjaGVk
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKaW5kZXggYjkyOTcxNGQ1OWEzYmY4
Y2I5MmJiMWNiYTkyMGY1ODBlNGM1OTAyZS4uOTAwMzgyMjA3YTA1MWY1ZTQzYTRhZGE0ZGRmN2Fm
YmEyMjQ0NWRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcApAQCAtMTY2LDYg
KzE2Niw5IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGlua1ByZWxvYWRSZXNvdXJjZUNsaWVu
dD4gY3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVuCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6TGlua1ByZWZldGNoOgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgorI2Vu
ZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAgICAgICAvLyBOb25lIG9mIHRoZXNlIHZh
bHVlcyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIGFzIGFuIGBhc2AgdmFsdWUuCiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01l
ZGlhUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IGMzZjFkMjAxNWI5YjdiNWEwNzZhOGNkMmRhYmYyMDhmZjZjNTgz
NGEuLjkzOGQ1Y2RjYzFmMmQ4NmJjZTgxNWZhYjljZWQ0YTNiOWJkODllY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM0LDggKzM0LDgg
QEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJDcm9zc09y
aWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkVs
ZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgotI2luY2x1ZGUgIkhUTUxN
ZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgpAQCAtNDksMTEgKzQ5LDEyIEBAIHZvaWQgTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVjb3JkUmVz
cG9uc2VzRm9yVGVzdGluZygpCiAgICAgc2hvdWxkUmVjb3JkUmVzcG9uc2VzRm9yVGVzdGluZyA9
IHRydWU7CiB9CiAKLU1lZGlhUmVzb3VyY2VMb2FkZXI6Ok1lZGlhUmVzb3VyY2VMb2FkZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBIVE1MTWVkaWFFbGVtZW50JiBtZWRpYUVsZW1lbnQsIGNvbnN0IFN0
cmluZyYgY3Jvc3NPcmlnaW5Nb2RlKQorTWVkaWFSZXNvdXJjZUxvYWRlcjo6TWVkaWFSZXNvdXJj
ZUxvYWRlcihEb2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0cmlu
ZyYgY3Jvc3NPcmlnaW5Nb2RlLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmRvY3VtZW50KQogICAgICwgbV9k
b2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCi0gICAgLCBtX21lZGlhRWxlbWVudChtYWtl
V2Vha1B0cihtZWRpYUVsZW1lbnQpKQorICAgICwgbV9lbGVtZW50KG1ha2VXZWFrUHRyKGVsZW1l
bnQpKQogICAgICwgbV9jcm9zc09yaWdpbk1vZGUoY3Jvc3NPcmlnaW5Nb2RlKQorICAgICwgbV9k
ZXN0aW5hdGlvbihkZXN0aW5hdGlvbikKIHsKIH0KIApAQCAtNjYsNyArNjcsNyBAQCB2b2lkIE1l
ZGlhUmVzb3VyY2VMb2FkZXI6OmNvbnRleHREZXN0cm95ZWQoKQogewogICAgIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyOjpjb250ZXh0RGVzdHJveWVkKCk7CiAgICAgbV9kb2N1bWVudCA9IG51
bGxwdHI7Ci0gICAgbV9tZWRpYUVsZW1lbnQgPSBudWxscHRyOworICAgIG1fZWxlbWVudCA9IG51
bGxwdHI7CiB9CiAKIHZvaWQgTWVkaWFSZXNvdXJjZUxvYWRlcjo6c2VuZEgyUGluZyhjb25zdCBV
UkwmIHVybCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxTZWNvbmRzLCBSZXNvdXJj
ZUVycm9yPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTg4LDggKzg5LDggQEAgUmVmUHRy
PFBsYXRmb3JtTWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291
cmNlKFJlc291cmNlUmVxdWUKIAogICAgIHJlcXVlc3Quc2V0UmVxdWVzdGVyKFJlc291cmNlUmVx
dWVzdDo6UmVxdWVzdGVyOjpNZWRpYSk7CiAKLSAgICBpZiAobV9tZWRpYUVsZW1lbnQpCi0gICAg
ICAgIHJlcXVlc3Quc2V0SW5zcGVjdG9ySW5pdGlhdG9yTm9kZUlkZW50aWZpZXIoSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjppZGVudGlmaWVyRm9yTm9kZSgqbV9tZWRpYUVsZW1lbnQpKTsKKyAg
ICBpZiAobV9lbGVtZW50KQorICAgICAgICByZXF1ZXN0LnNldEluc3BlY3RvckluaXRpYXRvck5v
ZGVJZGVudGlmaWVyKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aWRlbnRpZmllckZvck5vZGUo
Km1fZWxlbWVudCkpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vIEZJWE1FOiBXb3JrYXJv
dW5kIGZvciA8cmRhcjovL3Byb2JsZW0vMjYwNzE2MDc+LiBXZSBhcmUgbm90IGFibGUgdG8gZG8g
Q09SUyBjaGVja2luZyBvbiAzMDQgcmVzcG9uc2VzIGJlY2F1c2UgdGhleSBhcmUgdXN1YWxseSBt
aXNzaW5nIHRoZSBoZWFkZXJzIHdlIG5lZWQuCkBAIC05Nyw3ICs5OCw3IEBAIFJlZlB0cjxQbGF0
Zm9ybU1lZGlhUmVzb3VyY2U+IE1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShS
ZXNvdXJjZVJlcXVlCiAgICAgICAgIHJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKICNlbmRp
ZgogCi0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lJbXBvc2l0aW9uID0gbV9tZWRpYUVsZW1lbnQgJiYgbV9tZWRpYUVsZW1lbnQtPmlzSW5V
c2VyQWdlbnRTaGFkb3dUcmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpT
a2lwUG9saWN5Q2hlY2sgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGlj
eUNoZWNrOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb24gY29udGVudFNlY3Vy
aXR5UG9saWN5SW1wb3NpdGlvbiA9IG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmlzSW5Vc2VyQWdl
bnRTaGFkb3dUcmVlKCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpTa2lwUG9s
aWN5Q2hlY2sgOiBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNoZWNr
OwogICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyBsb2FkZXJPcHRpb25zIHsKICAgICAgICAgU2Vu
ZENhbGxiYWNrUG9saWN5OjpTZW5kQ2FsbGJhY2tzLAogICAgICAgICBDb250ZW50U25pZmZpbmdQ
b2xpY3k6OkRvTm90U25pZmZDb250ZW50LApAQCAtMTExLDEwICsxMTIsMTAgQEAgUmVmUHRyPFBs
YXRmb3JtTWVkaWFSZXNvdXJjZT4gTWVkaWFSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNl
KFJlc291cmNlUmVxdWUKICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiwK
ICAgICAgICAgRGVmZXJzTG9hZGluZ1BvbGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nLAogICAgICAg
ICBjYWNoaW5nUG9saWN5IH07Ci0gICAgbG9hZGVyT3B0aW9ucy5kZXN0aW5hdGlvbiA9IG1fbWVk
aWFFbGVtZW50ICYmICFtX21lZGlhRWxlbWVudC0+aXNWaWRlbygpID8gRmV0Y2hPcHRpb25zOjpE
ZXN0aW5hdGlvbjo6QXVkaW8gOiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpWaWRlbzsKKyAg
ICBsb2FkZXJPcHRpb25zLmRlc3RpbmF0aW9uID0gbV9kZXN0aW5hdGlvbjsKICAgICBhdXRvIGNh
Y2hlZFJlcXVlc3QgPSBjcmVhdGVQb3RlbnRpYWxBY2Nlc3NDb250cm9sUmVxdWVzdChXVEZNb3Zl
KHJlcXVlc3QpLCBXVEZNb3ZlKGxvYWRlck9wdGlvbnMpLCAqbV9kb2N1bWVudCwgbV9jcm9zc09y
aWdpbk1vZGUpOwotICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAgICAgICAgY2FjaGVkUmVxdWVz
dC5zZXRJbml0aWF0b3IoKm1fbWVkaWFFbGVtZW50KTsKKyAgICBpZiAobV9lbGVtZW50KQorICAg
ICAgICBjYWNoZWRSZXF1ZXN0LnNldEluaXRpYXRvcigqbV9lbGVtZW50KTsKIAogICAgIGF1dG8g
cmVzb3VyY2UgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLnJlcXVlc3RNZWRp
YShXVEZNb3ZlKGNhY2hlZFJlcXVlc3QpKS52YWx1ZV9vcihudWxscHRyKTsKICAgICBpZiAoIXJl
c291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VM
b2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmgKaW5k
ZXggYTJmNGI2YjUxMzBkYzExNDYyOGFmMWNkNjYwNGQ0NDMxNjRlNzdlNC4uOTRhNjg0MmU0ODkw
NDRiODU1YjBjMzI2ZDIyY2MxZDM0NGIyY2YyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL01lZGlhUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWVkaWFSZXNvdXJjZUxvYWRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVk
UmF3UmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgog
I2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiRmV0Y2hP
cHRpb25zLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC00
MSwxMiArNDIsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRSYXdSZXNv
dXJjZTsKIGNsYXNzIERvY3VtZW50OwotY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKK2NsYXNzIEVs
ZW1lbnQ7CiBjbGFzcyBNZWRpYVJlc291cmNlOwogCiBjbGFzcyBNZWRpYVJlc291cmNlTG9hZGVy
IGZpbmFsIDogcHVibGljIFBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlciwgcHVibGljIENhbk1h
a2VXZWFrUHRyPE1lZGlhUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXIgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVzb3VyY2VMb2Fk
ZXIoRG9jdW1lbnQmLCBIVE1MTWVkaWFFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdp
bk1vZGUpOworICAgIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQm
LCBFbGVtZW50JiwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIEZldGNoT3B0aW9uczo6
RGVzdGluYXRpb24pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfk1lZGlhUmVzb3VyY2VM
b2FkZXIoKTsKIAogICAgIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVzb3VyY2U+IHJlcXVlc3RSZXNv
dXJjZShSZXNvdXJjZVJlcXVlc3QmJiwgTG9hZE9wdGlvbnMpIGZpbmFsOwpAQCAtNjQsMTAgKzY1
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb250ZXh0RGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAK
ICAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwotICAgIFdlYWtQdHI8SFRNTE1lZGlh
RWxlbWVudD4gbV9tZWRpYUVsZW1lbnQ7CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX2VsZW1lbnQ7
CiAgICAgU3RyaW5nIG1fY3Jvc3NPcmlnaW5Nb2RlOwogICAgIEhhc2hTZXQ8TWVkaWFSZXNvdXJj
ZSo+IG1fcmVzb3VyY2VzOwogICAgIFZlY3RvcjxSZXNvdXJjZVJlc3BvbnNlPiBtX3Jlc3BvbnNl
c0ZvclRlc3Rpbmc7CisgICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBtX2Rlc3RpbmF0aW9u
OwogfTsKIAogY2xhc3MgTWVkaWFSZXNvdXJjZSA6IHB1YmxpYyBQbGF0Zm9ybU1lZGlhUmVzb3Vy
Y2UsIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRJbmZvLmNwcAppbmRleCA5NDQ1YWFiNzBkZGM3ZThiNTFhNjc3MzQ0MzdmNjk3MmUz
ZGUxNDQ3Li5mYmNjNmJjNWM3Yzk5YmU4MzNiZTBlMmYxMTBjMDBkYmJmN2QxZTIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCkBAIC02NCw2ICs2NCw5IEBA
IFJlc291cmNlVHlwZSB0b1Jlc291cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNv
dXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBSZXNvdXJjZVR5
cGU6OlJhdzsKIAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlRleHRUcmFja1Jlc291
cmNlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
MjAwZTZkOTE5NTU2YTVhYzJhNmQ3MGRiNWJlYWZkYWNlYWFjMjVjNS4uN2RjNGRkMTc4Y2UzMzRk
YzQwZWYxMTY1MjY3M2IwZWI0NTFiNjMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01ODAsNiArNTgwLDkgQEAgc3RhdGljIHZvaWQgbG9nUmVz
b3VyY2VMb2FkZWQoRnJhbWUqIGZyYW1lLCBDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVz
b3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6Okljb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6
CiAgICAgICAgIHJlc291cmNlVHlwZSA9IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cmF3S2V5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRl
eCA2NWE5NzNmYWQ5YjM3YWUzZTgwZGJiYTllMjdiNGNiNDFmOTUwOGFhLi4yZDAxMGVmNzNiY2Qy
MmU3YTllNjUwYmNiZWY5M2M1ZWNkMWZhOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTEwNSw2ICsxMDUsMTAgQEAgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgQ2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlw
ZShUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKICAgICAgICAg
cmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTU9E
RUxfRUxFTUVOVCkKKyAgICBjYXNlIFR5cGU6Ok1vZGVsUmVzb3VyY2U6CisgICAgICAgIHJldHVy
biBSZXNvdXJjZUxvYWRQcmlvcml0eTo6TWVkaXVtOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExJ
Q0FUSU9OX01BTklGRVNUKQogICAgIGNhc2UgVHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKICAg
ICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IGNlZTBlZDA0NjM1Yzk1MjhkNGM3
M2ExZjYxMGU4ZjFjYzUyYjJmZmQuLjdjNmI2MzA0MWViMmM3NTM2NzViMzJkOTY4M2I3YjIwNDRh
NTZhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5o
CkBAIC03Myw2ICs3Myw5IEBAIHB1YmxpYzoKICAgICAgICAgRm9udFJlc291cmNlLAogICAgICAg
ICBTVkdGb250UmVzb3VyY2UsCiAgICAgICAgIE1lZGlhUmVzb3VyY2UsCisjaWYgRU5BQkxFKE1P
REVMX0VMRU1FTlQpCisgICAgICAgIE1vZGVsUmVzb3VyY2UsCisjZW5kaWYKICAgICAgICAgUmF3
UmVzb3VyY2UsCiAgICAgICAgIEljb24sCiAgICAgICAgIEJlYWNvbiwKQEAgLTE3OCw3ICsxODEs
NyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzSW1hZ2UoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gVHlwZTo6SW1hZ2VSZXNvdXJjZTsgfQogICAgIC8vIEZJWE1FOiBDYWNoZWRSYXdSZXNvdXJj
ZSBjb3VsZCBiZSBhIG1haW4gcmVzb3VyY2UsIGFuIGF1ZGlvL3ZpZGVvIHJlc291cmNlLCBvciBh
IHJhdyBYSFIvaWNvbiByZXNvdXJjZS4KLSAgICBib29sIGlzTWFpbk9yTWVkaWFPckljb25PclJh
d1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1haW5SZXNvdXJjZSB8
fCB0eXBlKCkgPT0gVHlwZTo6TWVkaWFSZXNvdXJjZSB8fCB0eXBlKCkgPT0gVHlwZTo6SWNvbiB8
fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3VyY2UgfHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbiB8
fCB0eXBlKCkgPT0gVHlwZTo6UGluZzsgfQorICAgIGJvb2wgaXNNYWluT3JNZWRpYU9ySWNvbk9y
UmF3UmVzb3VyY2UoKSBjb25zdDsKIAogICAgIC8vIFdoZXRoZXIgdGhpcyByZXF1ZXN0IHNob3Vs
ZCBpbXBhY3QgcmVxdWVzdCBjb3VudGluZyBhbmQgZGVsYXkgd2luZG93Lm9ubG9hZC4KICAgICBi
b29sIGlnbm9yZUZvclJlcXVlc3RDb3VudCgpIGNvbnN0CkBAIC00MDYsNiArNDA5LDE5IEBAIHBy
aXZhdGU6CiAgICAgVGltZXIgbV90aW1lcjsKIH07CiAKK2lubGluZSBib29sIENhY2hlZFJlc291
cmNlOjppc01haW5Pck1lZGlhT3JJY29uT3JSYXdSZXNvdXJjZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UKKyAgICAgICAgfHwgdHlwZSgpID09IFR5
cGU6Ok1lZGlhUmVzb3VyY2UKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICAgICAgfHwg
dHlwZSgpID09IFR5cGU6Ok1vZGVsUmVzb3VyY2UKKyNlbmRpZgorICAgICAgICB8fCB0eXBlKCkg
PT0gVHlwZTo6SWNvbgorICAgICAgICB8fCB0eXBlKCkgPT0gVHlwZTo6UmF3UmVzb3VyY2UKKyAg
ICAgICAgfHwgdHlwZSgpID09IFR5cGU6OkJlYWNvbgorICAgICAgICB8fCB0eXBlKCkgPT0gVHlw
ZTo6UGluZzsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZGVmaW5lIFNQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQ0FDSEVEX1JFU09VUkNFKFRvQ2xhc3NOYW1lLCBDYWNoZWRSZXNvdXJj
ZVR5cGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDIyYzhkMmI0MTQxM2FlNGU3Y2E3MTA1YTM3ZmZkOWM1NGRh
ZWU2YTkuLjFmZmYwMDMwOTZmYzViYjY4MmJkOGI4MmQyYWRjNzFhOTk3OWI2NzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cApAQCAtMTMxLDYgKzEzMSw5IEBAIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRS
ZXNvdXJjZT4gY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpUeXBlOjpCZWFjb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgor
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpS
YXdSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1haW5SZXNvdXJjZToKQEAgLTE3Myw2ICsxNzYsOSBA
QCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGNyZWF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlUmVxdWVzdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OlJhd1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246CiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgorI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3VyY2U6
CisjZW5kaWYKICAgICAgICAgcmV0dXJuIG5ldyBDYWNoZWRSYXdSZXNvdXJjZShXVEZNb3ZlKHJl
cXVlc3QpLCByZXNvdXJjZS50eXBlKCksIHJlc291cmNlLnNlc3Npb25JRCgpLCByZXNvdXJjZS5j
b29raWVKYXIoKSk7CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6WFNMU3R5bGVTaGVldDoKQEAgLTMxNyw4ICszMjMsMjEgQEAgUmVzb3VyY2VFcnJvck9y
PENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcXUKIAogUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJh
d1Jlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYShDYWNoZWRSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogewotICAgIC8vIEZJWE1FOiBBc3NlcnQgcmVxdWVzdC5v
cHRpb25zKCkuZGVzdGluYXRpb24gaXMgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6e0F1ZGlv
LCBWaWRlb30uCi0gICAgcmV0dXJuIGNhc3RDYWNoZWRSZXNvdXJjZVRvPENhY2hlZFJhd1Jlc291
cmNlPihyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2Us
IFdURk1vdmUocmVxdWVzdCkpKTsKKyAgICBhdXRvIHJlc291cmNlVHlwZSA9IENhY2hlZFJlc291
cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOworICAgIHN3aXRjaCAocmVxdWVzdC5vcHRpb25zKCku
ZGVzdGluYXRpb24pIHsKKyAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlv
OgorICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6VmlkZW86CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9kZWw6CisjaWYgRU5B
QkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIHJlc291cmNlVHlwZSA9IENhY2hlZFJlc291cmNl
OjpUeXBlOjpNb2RlbFJlc291cmNlOworICAgICAgICBicmVhazsKKyNlbmRpZgorICAgIGRlZmF1
bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHJldHVybiBj
YXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdSZXNvdXJjZT4ocmVxdWVzdFJlc291cmNlKHJl
c291cmNlVHlwZSwgV1RGTW92ZShyZXF1ZXN0KSkpOwogfQogCiBSZXNvdXJjZUVycm9yT3I8Q2Fj
aGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6cmVxdWVzdEljb24oQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkKQEAgLTM2Myw3
ICszODIsMTAgQEAgc3RhdGljIE1peGVkQ29udGVudENoZWNrZXI6OkNvbnRlbnRUeXBlIGNvbnRl
bnRUeXBlRnJvbVJlc291cmNlVHlwZShDYWNoZWRSZXNvdXIKICAgICAvLyAzLjEuIE9wdGlvbmFs
bHktYmxvY2thYmxlIENvbnRlbnQKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFn
ZVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6
Ci0gICAgICAgICAgICByZXR1cm4gTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6OkFj
dGl2ZUNhbldhcm47CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgorICAgICAgICByZXR1cm4gTWl4
ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVudFR5cGU6OkFjdGl2ZUNhbldhcm47CiAKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OlNjcmlwdDoKQEAgLTQyNSw2ICs0NDcsOSBAQCBib29sIENhY2hlZFJlc291
cmNlTG9hZGVyOjpjaGVja0luc2VjdXJlQ29udGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBl
LCBjb25zdAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CisjZW5kaWYKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291
cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJj
ZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKQEAgLTQ5Niw2
ICs1MjEsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2Vj
dXJpdHlQb2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkJlYWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpQaW5nOgog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgorI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFu
aWZlc3Q6CkBAIC03OTMsNiArODIxLDkgQEAgc3RhdGljIEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b24gZGVzdGluYXRpb25Gb3JUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TGlua1ByZWZldGNoOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1lZGlhUmVzb3VyY2U6CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKKyNlbmRpZgogICAgICAgICAvLyBUaGUg
Y2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBkZXN0aW5h
dGlvbi4KICAgICAgICAgcmV0dXJuIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkVtcHR5U3Ry
aW5nOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNmM5Y2U1Y2NjZWZlNTFjYTQ0YmJhZmRlMDAxNThk
NmI3OWQ3NDYyNC4uN2QzYzg2MzNlMmJlMTFjZGIyYmRhNWY3ZjY3ZTAyYzRjNzYzZjE2NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmgKQEAgLTE2NSw3ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoaWRkZW5Gcm9t
SW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5Gcm9tSW5zcGVjdG9yOyB9CiAgICAg
dm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJvb2wgaGlkZGVuRnJvbUluc3BlY3RvcikgeyBt
X2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5Gcm9tSW5zcGVjdG9yOyB9CiAKLSAgICBlbnVt
IGNsYXNzIFJlcXVlc3RlciA6IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwgTWFpbiwgWEhSLCBGZXRj
aCwgTWVkaWEsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9OworICAgIGVudW0gY2xhc3Mg
UmVxdWVzdGVyIDogdWludDhfdCB7IFVuc3BlY2lmaWVkLCBNYWluLCBYSFIsIEZldGNoLCBNZWRp
YSwgTW9kZWwsIEltcG9ydFNjcmlwdHMsIFBpbmcsIEJlYWNvbiB9OwogICAgIFJlcXVlc3RlciBy
ZXF1ZXN0ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RlcjsgfQogICAgIHZvaWQgc2V0UmVx
dWVzdGVyKFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsgbV9yZXF1ZXN0ZXIgPSByZXF1ZXN0ZXI7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENo
ZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuY3BwCmluZGV4IDc3YTEwYWFhOGY2M2NhMjVkNzVjZWIwMjhiODk5MWZiMTViNzZiNDMuLmFm
MWFlZGQ1NTIwMWQ3YTViMzY4YjMwMmRhZmY5ODc2Y2I5MDJmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKQEAgLTMyNyw2
ICszMjcsNyBAQCBib29sIE5ldHdvcmtMb2FkQ2hlY2tlcjo6aXNBbGxvd2VkQnlDb250ZW50U2Vj
dXJpdHlQb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JgogICAgIGNhc2UgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6Rm9udDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OkltYWdlOgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TWFuaWZlc3Q6Cisg
ICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKICAgICBjYXNlIEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246Ok9iamVjdDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OlJlcG9ydDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlN0
eWxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGNmNzkzYTY5NWUxNWVhOGNjYTRlYzdjYTc1YjNhZWFmZTc2
YTA1MzEuLmYwZWJkM2I1ZjI3ZGY4MjBmMjUzYjRlNjljMjVjOGM3NWI1MDM2MzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTM5Miw2ICszOTIsMTAgQEAgUmVzb3VyY2VMb2FkSW5mbyBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OnJlc291cmNlTG9hZEluZm8oKQogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNl
TG9hZEluZm86OlR5cGU6OkltYWdlOwogICAgICAgICBjYXNlIFdlYkNvcmU6OkZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246Ok1hbmlmZXN0OgogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9h
ZEluZm86OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q7CisjaWYgRU5BQkxFKE1PREVMX0VMRU1F
TlQpCisgICAgICAgIGNhc2UgV2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9k
ZWw6CisgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkSW5mbzo6VHlwZTo6TWVkaWE7Cisj
ZW5kaWYKICAgICAgICAgY2FzZSBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpP
YmplY3Q6CiAgICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkSW5mbzo6VHlwZTo6T2JqZWN0
OwogICAgICAgICBjYXNlIFdlYkNvcmU6OkZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlBhaW50
d29ya2xldDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCA3ZDNkOWUzMTI5N2M4MmQ0ZTViNWI4NTI5YjYzYTk0
MDNjOTkyNTFlLi40OGIzYTIyNWRmYjZiMzBkYTBjNWQxZmZlYTlmZWM3NjVlMTNiOTY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVn
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3Ry
YXRlZ3kuY3BwCkBAIC0xMzksNiArMTM5LDkgQEAgc3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZl
cmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6OkZvbnRSZXNvdXJjZToKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1Qp
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKKyNl
bmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6Ok1vZGVsUmVzb3VyY2U6CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIFNlY29uZHM6Omlu
ZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NmI5
ZDJlYWMzMDMzZTNmODg5ODNmYmM1YWYwMDQyNDI1YTdhYjU1Li5mZDU5YTk1OGFhNGZkM2EzNjhl
OTc0ZThkZWQ5MDBlNWVmYmZjOGY5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDItMDIgIEFudG9pbmUgUXVp
bnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8bW9k
ZWw+IHJlc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIxMjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNz
aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ViQ29yZU5TVVJMU2Vzc2lvblRlc3Q6
OlNldFVwKToKKwogMjAyMS0wMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVjb3ZlciBXZWJSVEMgY29kZWNzIGluIGNhc2Ugb2YgR1BVUHJvY2VzcyBj
cmFzaApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29h
L1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQppbmRleCA3MzIyNzhmOWU4MWVjNGM1ZTll
YjQzOTcwMmFiYzM4NzQyOWNmMWE4Li5hMTgwOWU3NmU4ZTMxZDkzMjAxZDdkY2U2NGFhNWVmZTky
ODAyMDZkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtMTI2LDcgKzEyNiw3IEBA
IHB1YmxpYzoKICAgICAgICAgZGVsZWdhdGUgPSBbW1Rlc3ROU1VSTFNlc3Npb25EYXRhRGVsZWdh
dGUgYWxsb2NdIGluaXRdOwogICAgICAgICBmcmFtZSA9IFt2aWV3IF9tYWluQ29yZUZyYW1lXTsK
ICAgICAgICAgbWVkaWFFbGVtZW50ID0gSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRlKCpmcmFtZS0+
ZG9jdW1lbnQoKSk7Ci0gICAgICAgIGxvYWRlciA9IGFkb3B0UmVmKG5ldyBNZWRpYVJlc291cmNl
TG9hZGVyKCpmcmFtZS0+ZG9jdW1lbnQoKSwgKm1lZGlhRWxlbWVudC5nZXQoKSwgZW1wdHlTdHJp
bmcoKSkpOworICAgICAgICBsb2FkZXIgPSBhZG9wdFJlZihuZXcgTWVkaWFSZXNvdXJjZUxvYWRl
cigqZnJhbWUtPmRvY3VtZW50KCksICptZWRpYUVsZW1lbnQuZ2V0KCksIGVtcHR5U3RyaW5nKCks
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvKSk7CiAgICAgfQogCiAgICAgdmlydHVh
bCB2b2lkIFRlYXJEb3duKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419125</attachid>
            <date>2021-02-03 05:33:52 -0800</date>
            <delta_ts>2021-02-03 05:33:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221255-20210203143350.patch</filename>
            <type>text/plain</type>
            <size>26886</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDk4Y2UxOGYxMTVlOGU5
OWM3NDY5YzlhNTRjYjBiNjc0OGZmZTkwMi4uM2YxOWMyZGQ1YzQxZGYwNDVlMGU0ZDk0YzM4Y2I0
Nzk4ZTQ4Yjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTAyLTAzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxvYWRlciBm
b3IgPG1vZGVsPiByZXNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMTI1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gbG9hZCA8bW9kZWw+IHJlc291cmNlcywgd2UgbWFrZSB0
aGUgTWVkaWFSZXNvdXJjZUxvYWRlciBjb25zdHJ1Y3RvciB0YWtlCisgICAgICAgIGEgRmV0Y2hP
cHRpb25zOjpEZXN0aW5hdGlvbiB0byBkZXRlcm1pbmUgdGhlIHR5cGUgb2YgcmVzb3VyY2UgbG9h
ZGVkLiBXZSBwaWdneWJhY2sgb24KKyAgICAgICAgdGhlIG1lZGlhIGxvYWRpbmcgY29kZSBmb3Ig
PG1vZGVsPiByZXNvdXJjZXMgc2luY2UgaXQgaGFuZGxlcyB0aGluZ3MgbGlrZSBDT1JTIGFuZCBD
U1AsCisgICAgICAgIGNvbnRyYXJ5IHRvIENhY2hlZFJhd1Jlc291cmNlLgorCisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckNyZWF0ZVJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25z
Lmg6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlTGlua1ByZWxvYWRSZXNvdXJjZUNsaWVudCk6CisgICAgICAgICogbG9hZGVyL01lZGlh
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZXNvdXJjZUxvYWRl
cjo6TWVkaWFSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlc291cmNl
TG9hZGVyOjpjb250ZXh0RGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL01lZGlhUmVzb3Vy
Y2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6dG9SZXNvdXJjZVR5cGUpOgorICAgICAg
ICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dS
ZXNvdXJjZUxvYWRlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JS
ZXNvdXJjZVR5cGUpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmlzTWFpbk9yTWVkaWFPckljb25PclJh
d1Jlc291cmNlIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlUmVzb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSk6CisgICAgICAgIChX
ZWJDb3JlOjpjb250ZW50VHlwZUZyb21SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNoZWNrSW5zZWN1cmVDb250ZW50IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJp
dHlQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6ZGVzdGluYXRpb25Gb3JUeXBlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZG
UmVzb3VyY2VMb2FkZXIubW06CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZU1lZGlh
TG9hZGVyOjpjcmVhdGUpOiBFeHBsaWNpdGx5IHNldCB0aGUgZGVzdGluYXRpb24sIHdoaWNoIHVz
ZWQgdG8KKyAgICAgICAgZGVmYXVsdCB0byBFbXB0eVN0cmluZywgdG8gZW5zdXJlIHdlIGRvbid0
IGhpdCB0aGUgQVNTRVJUX05PVF9SRUFDSEVEKCkgYWRkZWQgdG8KKyAgICAgICAgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI6OnJlcXVlc3RNZWRpYSgpLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDIxLTAyLTAxICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIEFuaW1hdGlvbiBvZiAicm90YXRlIiBvciAic2Nh
bGUiIHByb3BlcnR5IGRvZXMgbm90IGNvcnJlY3RseSBhY2NvdW50IGZvciBzdGF0aWMgInRyYW5z
bGF0ZSIgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzUxYWIzYWMzMzliMWE0ZGMxYjA4ODI5YmMwYzNl
ZDc1ZTI4NDU2OC4uYzhiZjM1ZmIzNWFhZmFmYzY3ZWVlZjM2YTE2NTg3ODkzODU1ZTZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMi0wMyAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgYSBsb2FkZXIgZm9yIDxtb2RlbD4gcmVzb3Vy
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEy
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0xvYWRDaGVja2VyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXNvdXJjZUxvYWRJbmZvKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAo
V2ViS2l0OjptYXhpbXVtQnVmZmVyaW5nVGltZSk6CisKIDIwMjEtMDItMDMgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gUmVk
dWNlIHRoZSB1c2Ugb2YgU291cFVSSSBpbiBwcmVwYXJhdGlvbiBmb3IgbGlic291cDMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAppbmRleCA0MDkyZTIz
OWM2MGU4Yjc1Mjk0YTA4NjU4ODczNjczMTViNTUyYzYxLi4wOTg1ZTJhNThhMGIxM2IwMWFhMTkx
MzI2YzA2N2ZmZWM2YTdiZDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlcXVlc3QuaWRsCkBAIC0yNiw3ICsyNiw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWVudW0gRmV0Y2hSZXF1ZXN0RGVzdGluYXRpb24geyAiIiwgImF1ZGlvIiwgImF1ZGlvd29ya2xl
dCIsICJkb2N1bWVudCIsICJlbWJlZCIsICJmb250IiwgImltYWdlIiwgIm1hbmlmZXN0IiwgIm9i
amVjdCIsICJwYWludHdvcmtsZXQiLCAicmVwb3J0IiwgInNjcmlwdCIsICJzZXJ2aWNld29ya2Vy
IiwgInNoYXJlZHdvcmtlciIsICJzdHlsZSIsICJ0cmFjayIsICJ2aWRlbyIsICJ3b3JrZXIiLCAi
eHNsdCIgfTsKK2VudW0gRmV0Y2hSZXF1ZXN0RGVzdGluYXRpb24geyAiIiwgImF1ZGlvIiwgImF1
ZGlvd29ya2xldCIsICJkb2N1bWVudCIsICJlbWJlZCIsICJmb250IiwgImltYWdlIiwgIm1hbmlm
ZXN0IiwgIm1vZGVsIiwgIm9iamVjdCIsICJwYWludHdvcmtsZXQiLCAicmVwb3J0IiwgInNjcmlw
dCIsICJzZXJ2aWNld29ya2VyIiwgInNoYXJlZHdvcmtlciIsICJzdHlsZSIsICJ0cmFjayIsICJ2
aWRlbyIsICJ3b3JrZXIiLCAieHNsdCIgfTsKIAogdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVT
VlN0cmluZykgUmVxdWVzdEluZm87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IDMxNDYyYzRmODRlNDk2YzE0YjEyOTk4YTA2NTU1MTQyOTU5MzI5YzYuLmNh
ODRlMGU5YzlmNzRmOGJhODFmMDcwNmNkZGU2YWFmNWMwNzAyYzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNjk0MSw3ICs2OTQxLDggQEAgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VM
b2FkZXIoKQogCiBSZWZQdHI8UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYVBsYXllckNyZWF0ZVJlc291cmNlTG9hZGVyKCkKIHsKLSAgICBhdXRvIG1l
ZGlhUmVzb3VyY2VMb2FkZXIgPSBhZG9wdFJlZigqbmV3IE1lZGlhUmVzb3VyY2VMb2FkZXIoZG9j
dW1lbnQoKSwgKnRoaXMsIGNyb3NzT3JpZ2luKCkpKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9uID0g
aXNWaWRlbygpID8gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6VmlkZW8gOiBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpBdWRpbzsKKyAgICBhdXRvIG1lZGlhUmVzb3VyY2VMb2FkZXIgPSBh
ZG9wdFJlZigqbmV3IE1lZGlhUmVzb3VyY2VMb2FkZXIoZG9jdW1lbnQoKSwgKnRoaXMsIGNyb3Nz
T3JpZ2luKCksIGRlc3RpbmF0aW9uKSk7CiAKICAgICBtX2xhc3RNZWRpYVJlc291cmNlTG9hZGVy
Rm9yVGVzdGluZyA9IG1ha2VXZWFrUHRyKG1lZGlhUmVzb3VyY2VMb2FkZXIuZ2V0KCkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgKaW5kZXggMzM1NjZiMjQyYWI2NjhhNGI3MGE0
NjNlNmRmYjlmNGU2NzA1MzIzYy4uOGJmODkwOWZhMjNkOTYyM2Q2OTIwYjFhY2VkY2ZmMzg3OWU2
MzdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaApAQCAtMzYsNyArMzYsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRmV0Y2hPcHRpb25zIHsKLSAgICBlbnVt
IGNsYXNzIERlc3RpbmF0aW9uIDogdWludDhfdCB7IEVtcHR5U3RyaW5nLCBBdWRpbywgQXVkaW93
b3JrbGV0LCBEb2N1bWVudCwgRW1iZWQsIEZvbnQsIEltYWdlLCBNYW5pZmVzdCwgT2JqZWN0LCBQ
YWludHdvcmtsZXQsIFJlcG9ydCwgU2NyaXB0LCBTZXJ2aWNld29ya2VyLCBTaGFyZWR3b3JrZXIs
IFN0eWxlLCBUcmFjaywgVmlkZW8sIFdvcmtlciwgWHNsdCB9OworICAgIGVudW0gY2xhc3MgRGVz
dGluYXRpb24gOiB1aW50OF90IHsgRW1wdHlTdHJpbmcsIEF1ZGlvLCBBdWRpb3dvcmtsZXQsIERv
Y3VtZW50LCBFbWJlZCwgRm9udCwgSW1hZ2UsIE1hbmlmZXN0LCBNb2RlbCwgT2JqZWN0LCBQYWlu
dHdvcmtsZXQsIFJlcG9ydCwgU2NyaXB0LCBTZXJ2aWNld29ya2VyLCBTaGFyZWR3b3JrZXIsIFN0
eWxlLCBUcmFjaywgVmlkZW8sIFdvcmtlciwgWHNsdCB9OwogICAgIGVudW0gY2xhc3MgTW9kZSA6
IHVpbnQ4X3QgeyBOYXZpZ2F0ZSwgU2FtZU9yaWdpbiwgTm9Db3JzLCBDb3JzIH07CiAgICAgZW51
bSBjbGFzcyBDcmVkZW50aWFscyA6IHVpbnQ4X3QgeyBPbWl0LCBTYW1lT3JpZ2luLCBJbmNsdWRl
IH07CiAgICAgZW51bSBjbGFzcyBDYWNoZSA6IHVpbnQ4X3QgeyBEZWZhdWx0LCBOb1N0b3JlLCBS
ZWxvYWQsIE5vQ2FjaGUsIEZvcmNlQ2FjaGUsIE9ubHlJZkNhY2hlZCB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0xpbmtMb2FkZXIuY3BwCmluZGV4IGI5Mjk3MTRkNTlhM2JmOGNiOTJiYjFjYmE5MjBmNTgw
ZTRjNTkwMmUuLjkwMDM4MjIwN2EwNTFmNWU0M2E0YWRhNGRkZjdhZmJhMjI0NDVkZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKQEAgLTE2Niw2ICsxNjYsOSBAQCBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPExpbmtQcmVsb2FkUmVzb3VyY2VDbGllbnQ+IGNyZWF0ZUxpbmtQcmVs
b2FkUmVzb3VyY2VDbGllbgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkxpbmtQcmVm
ZXRjaDoKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKKyNlbmRpZgorI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CiAjZW5kaWYKICAgICAgICAgLy8gTm9uZSBvZiB0aGVzZSB2YWx1ZXMgaXMgY3VycmVudGx5
IHN1cHBvcnRlZCBhcyBhbiBgYXNgIHZhbHVlLgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCBjM2YxZDIwMTViOWI3YjVhMDc2YThjZDJkYWJmMjA4ZmY2YzU4MzRhLi45MzhkNWNkY2MxZjJk
ODZiY2U4MTVmYWI5Y2VkNGEzYjliZDg5ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01lZGlhUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9s
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTQ5LDExICs0OSwx
MiBAQCB2b2lkIE1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlY29yZFJlc3BvbnNlc0ZvclRlc3Rpbmco
KQogICAgIHNob3VsZFJlY29yZFJlc3BvbnNlc0ZvclRlc3RpbmcgPSB0cnVlOwogfQogCi1NZWRp
YVJlc291cmNlTG9hZGVyOjpNZWRpYVJlc291cmNlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwg
SFRNTE1lZGlhRWxlbWVudCYgbWVkaWFFbGVtZW50LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2lu
TW9kZSkKK01lZGlhUmVzb3VyY2VMb2FkZXI6Ok1lZGlhUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnQm
IGRvY3VtZW50LCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9k
ZSwgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbikKICAgICA6IENvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKICAgICAsIG1fZG9jdW1lbnQobWFrZVdlYWtQ
dHIoZG9jdW1lbnQpKQotICAgICwgbV9tZWRpYUVsZW1lbnQobWFrZVdlYWtQdHIobWVkaWFFbGVt
ZW50KSkKKyAgICAsIG1fZWxlbWVudChtYWtlV2Vha1B0cihlbGVtZW50KSkKICAgICAsIG1fY3Jv
c3NPcmlnaW5Nb2RlKGNyb3NzT3JpZ2luTW9kZSkKKyAgICAsIG1fZGVzdGluYXRpb24oZGVzdGlu
YXRpb24pCiB7CiB9CiAKQEAgLTY2LDcgKzY3LDcgQEAgdm9pZCBNZWRpYVJlc291cmNlTG9hZGVy
Ojpjb250ZXh0RGVzdHJveWVkKCkKIHsKICAgICBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6
Y29udGV4dERlc3Ryb3llZCgpOwogICAgIG1fZG9jdW1lbnQgPSBudWxscHRyOwotICAgIG1fbWVk
aWFFbGVtZW50ID0gbnVsbHB0cjsKKyAgICBtX2VsZW1lbnQgPSBudWxscHRyOwogfQogCiB2b2lk
IE1lZGlhUmVzb3VyY2VMb2FkZXI6OnNlbmRIMlBpbmcoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8U2Vjb25kcywgUmVzb3VyY2VFcnJvcj4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCkBAIC04OCw4ICs4OSw4IEBAIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVz
b3VyY2U+IE1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShSZXNvdXJjZVJlcXVl
CiAKICAgICByZXF1ZXN0LnNldFJlcXVlc3RlcihSZXNvdXJjZVJlcXVlc3Q6OlJlcXVlc3Rlcjo6
TWVkaWEpOwogCi0gICAgaWYgKG1fbWVkaWFFbGVtZW50KQotICAgICAgICByZXF1ZXN0LnNldElu
c3BlY3RvckluaXRpYXRvck5vZGVJZGVudGlmaWVyKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
aWRlbnRpZmllckZvck5vZGUoKm1fbWVkaWFFbGVtZW50KSk7CisgICAgaWYgKG1fZWxlbWVudCkK
KyAgICAgICAgcmVxdWVzdC5zZXRJbnNwZWN0b3JJbml0aWF0b3JOb2RlSWRlbnRpZmllcihJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmlkZW50aWZpZXJGb3JOb2RlKCptX2VsZW1lbnQpKTsKIAog
I2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBGSVhNRTogV29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9w
cm9ibGVtLzI2MDcxNjA3Pi4gV2UgYXJlIG5vdCBhYmxlIHRvIGRvIENPUlMgY2hlY2tpbmcgb24g
MzA0IHJlc3BvbnNlcyBiZWNhdXNlIHRoZXkgYXJlIHVzdWFsbHkgbWlzc2luZyB0aGUgaGVhZGVy
cyB3ZSBuZWVkLgpAQCAtOTcsNyArOTgsNyBAQCBSZWZQdHI8UGxhdGZvcm1NZWRpYVJlc291cmNl
PiBNZWRpYVJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoUmVzb3VyY2VSZXF1ZQogICAg
ICAgICByZXF1ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CiAjZW5kaWYKIAotICAgIENvbnRlbnRT
ZWN1cml0eVBvbGljeUltcG9zaXRpb24gY29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiA9
IG1fbWVkaWFFbGVtZW50ICYmIG1fbWVkaWFFbGVtZW50LT5pc0luVXNlckFnZW50U2hhZG93VHJl
ZSgpID8gQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNoZWNrIDog
Q29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjazsKKyAgICBDb250
ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIGNvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRp
b24gPSBtX2VsZW1lbnQgJiYgbV9lbGVtZW50LT5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpID8g
Q29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6U2tpcFBvbGljeUNoZWNrIDogQ29udGVu
dFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjazsKICAgICBSZXNvdXJjZUxv
YWRlck9wdGlvbnMgbG9hZGVyT3B0aW9ucyB7CiAgICAgICAgIFNlbmRDYWxsYmFja1BvbGljeTo6
U2VuZENhbGxiYWNrcywKICAgICAgICAgQ29udGVudFNuaWZmaW5nUG9saWN5OjpEb05vdFNuaWZm
Q29udGVudCwKQEAgLTExMSwxMCArMTEyLDEwIEBAIFJlZlB0cjxQbGF0Zm9ybU1lZGlhUmVzb3Vy
Y2U+IE1lZGlhUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShSZXNvdXJjZVJlcXVlCiAg
ICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeUltcG9zaXRpb24sCiAgICAgICAgIERlZmVyc0xv
YWRpbmdQb2xpY3k6OkFsbG93RGVmZXJzTG9hZGluZywKICAgICAgICAgY2FjaGluZ1BvbGljeSB9
OwotICAgIGxvYWRlck9wdGlvbnMuZGVzdGluYXRpb24gPSBtX21lZGlhRWxlbWVudCAmJiAhbV9t
ZWRpYUVsZW1lbnQtPmlzVmlkZW8oKSA/IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkF1ZGlv
IDogRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6VmlkZW87CisgICAgbG9hZGVyT3B0aW9ucy5k
ZXN0aW5hdGlvbiA9IG1fZGVzdGluYXRpb247CiAgICAgYXV0byBjYWNoZWRSZXF1ZXN0ID0gY3Jl
YXRlUG90ZW50aWFsQWNjZXNzQ29udHJvbFJlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92
ZShsb2FkZXJPcHRpb25zKSwgKm1fZG9jdW1lbnQsIG1fY3Jvc3NPcmlnaW5Nb2RlKTsKLSAgICBp
ZiAobV9tZWRpYUVsZW1lbnQpCi0gICAgICAgIGNhY2hlZFJlcXVlc3Quc2V0SW5pdGlhdG9yKCpt
X21lZGlhRWxlbWVudCk7CisgICAgaWYgKG1fZWxlbWVudCkKKyAgICAgICAgY2FjaGVkUmVxdWVz
dC5zZXRJbml0aWF0b3IoKm1fZWxlbWVudCk7CiAKICAgICBhdXRvIHJlc291cmNlID0gbV9kb2N1
bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5yZXF1ZXN0TWVkaWEoV1RGTW92ZShjYWNoZWRS
ZXF1ZXN0KSkudmFsdWVfb3IobnVsbHB0cik7CiAgICAgaWYgKCFyZXNvdXJjZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWVkaWFSZXNvdXJjZUxvYWRlci5oCmluZGV4IGEyZjRiNmI1MTMwZGMx
MTQ2MjhhZjFjZDY2MDRkNDQzMTY0ZTc3ZTQuLjk0YTY4NDJlNDg5MDQ0Yjg1NWIwYzMyNmQyMmNj
MWQzNDRiMmNmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NZWRpYVJlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01lZGlhUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJDb250ZXh0
RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVz
cG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtNDEsMTIgKzQyLDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkUmF3UmVzb3VyY2U7CiBjbGFzcyBEb2N1
bWVudDsKLWNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CitjbGFzcyBFbGVtZW50OwogY2xhc3MgTWVk
aWFSZXNvdXJjZTsKIAogY2xhc3MgTWVkaWFSZXNvdXJjZUxvYWRlciBmaW5hbCA6IHB1YmxpYyBQ
bGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVJl
c291cmNlTG9hZGVyPiwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKIHB1Ymxp
YzoKLSAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVJlc291cmNlTG9hZGVyKERvY3VtZW50JiwgSFRN
TE1lZGlhRWxlbWVudCYsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBNZWRpYVJlc291cmNlTG9hZGVyKERvY3VtZW50JiwgRWxlbWVudCYsIGNvbnN0
IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5NZWRpYVJlc291cmNlTG9hZGVyKCk7CiAKICAgICBS
ZWZQdHI8UGxhdGZvcm1NZWRpYVJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoUmVzb3VyY2VSZXF1
ZXN0JiYsIExvYWRPcHRpb25zKSBmaW5hbDsKQEAgLTY0LDEwICs2NSwxMSBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxEb2N1
bWVudD4gbV9kb2N1bWVudDsKLSAgICBXZWFrUHRyPEhUTUxNZWRpYUVsZW1lbnQ+IG1fbWVkaWFF
bGVtZW50OworICAgIFdlYWtQdHI8RWxlbWVudD4gbV9lbGVtZW50OwogICAgIFN0cmluZyBtX2Ny
b3NzT3JpZ2luTW9kZTsKICAgICBIYXNoU2V0PE1lZGlhUmVzb3VyY2UqPiBtX3Jlc291cmNlczsK
ICAgICBWZWN0b3I8UmVzb3VyY2VSZXNwb25zZT4gbV9yZXNwb25zZXNGb3JUZXN0aW5nOworICAg
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gbV9kZXN0aW5hdGlvbjsKIH07CiAKIGNsYXNzIE1l
ZGlhUmVzb3VyY2UgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVJlc291cmNlLCBDYWNoZWRSYXdSZXNv
dXJjZUNsaWVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHAK
aW5kZXggOTQ0NWFhYjcwZGRjN2U4YjUxYTY3NzM0NDM3ZjY5NzJlM2RlMTQ0Ny4uZmJjYzZiYzVj
N2M5OWJlODMzYmUwZTJmMTEwYzAwZGJiZjdkMWUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRJbmZvLmNwcApAQCAtNjQsNiArNjQsOSBAQCBSZXNvdXJjZVR5cGUgdG9S
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpQaW5nOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Okljb246
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CisjaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlQpCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNv
dXJjZToKKyNlbmRpZgogICAgICAgICByZXR1cm4gUmVzb3VyY2VUeXBlOjpSYXc7CiAKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDIwMGU2ZDkxOTU1NmE1YWMy
YTZkNzBkYjViZWFmZGFjZWFhYzI1YzUuLjdkYzRkZDE3OGNlMzM0ZGM0MGVmMTE2NTI2NzNiMGVi
NDUxYjYzM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cApAQCAtNTgwLDYgKzU4MCw5IEBAIHN0YXRpYyB2b2lkIGxvZ1Jlc291cmNlTG9hZGVkKEZyYW1l
KiBmcmFtZSwgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpUeXBlOjpCZWFjb246CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UGluZzoK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgorI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVz
b3VyY2U6CisjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogICAgICAgICByZXNvdXJj
ZVR5cGUgPSBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnJhd0tleSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggNjVhOTczZmFkOWIzN2Fl
M2U4MGRiYmE5ZTI3YjRjYjQxZjk1MDhhYS4uMmQwMTBlZjczYmNkMjJlN2E5ZTY1MGJjYmVmOTNj
NWVjZDFmYTlhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwCkBAIC0xMDUsNiArMTA1LDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hl
ZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAg
IGNhc2UgVHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZUxv
YWRQcmlvcml0eTo6TG93OwogI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAg
Y2FzZSBUeXBlOjpNb2RlbFJlc291cmNlOgorICAgICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJp
b3JpdHk6Ok1lZGl1bTsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkK
ICAgICBjYXNlIFR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6CiAgICAgICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaAppbmRleCBjZWUwZWQwNDYzNWM5NTI4ZDRjNzNhMWY2MTBlOGYxY2M1MmIy
ZmZkLi43YzZiNjMwNDFlYjJjNzUzNjc1YjMyZDk2ODNiN2IyMDQ0YTU2YWQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNzMsNiArNzMsOSBA
QCBwdWJsaWM6CiAgICAgICAgIEZvbnRSZXNvdXJjZSwKICAgICAgICAgU1ZHRm9udFJlc291cmNl
LAogICAgICAgICBNZWRpYVJlc291cmNlLAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAg
ICAgICBNb2RlbFJlc291cmNlLAorI2VuZGlmCiAgICAgICAgIFJhd1Jlc291cmNlLAogICAgICAg
ICBJY29uLAogICAgICAgICBCZWFjb24sCkBAIC0xNzgsNyArMTgxLDcgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBpc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkltYWdlUmVz
b3VyY2U7IH0KICAgICAvLyBGSVhNRTogQ2FjaGVkUmF3UmVzb3VyY2UgY291bGQgYmUgYSBtYWlu
IHJlc291cmNlLCBhbiBhdWRpby92aWRlbyByZXNvdXJjZSwgb3IgYSByYXcgWEhSL2ljb24gcmVz
b3VyY2UuCi0gICAgYm9vbCBpc01haW5Pck1lZGlhT3JJY29uT3JSYXdSZXNvdXJjZSgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYWluUmVzb3VyY2UgfHwgdHlwZSgpID09IFR5cGU6
Ok1lZGlhUmVzb3VyY2UgfHwgdHlwZSgpID09IFR5cGU6Okljb24gfHwgdHlwZSgpID09IFR5cGU6
OlJhd1Jlc291cmNlIHx8IHR5cGUoKSA9PSBUeXBlOjpCZWFjb24gfHwgdHlwZSgpID09IFR5cGU6
OlBpbmc7IH0KKyAgICBib29sIGlzTWFpbk9yTWVkaWFPckljb25PclJhd1Jlc291cmNlKCkgY29u
c3Q7CiAKICAgICAvLyBXaGV0aGVyIHRoaXMgcmVxdWVzdCBzaG91bGQgaW1wYWN0IHJlcXVlc3Qg
Y291bnRpbmcgYW5kIGRlbGF5IHdpbmRvdy5vbmxvYWQuCiAgICAgYm9vbCBpZ25vcmVGb3JSZXF1
ZXN0Q291bnQoKSBjb25zdApAQCAtNDA2LDYgKzQwOSwxOSBAQCBwcml2YXRlOgogICAgIFRpbWVy
IG1fdGltZXI7CiB9OwogCitpbmxpbmUgYm9vbCBDYWNoZWRSZXNvdXJjZTo6aXNNYWluT3JNZWRp
YU9ySWNvbk9yUmF3UmVzb3VyY2UoKSBjb25zdAoreworICAgIHJldHVybiB0eXBlKCkgPT0gVHlw
ZTo6TWFpblJlc291cmNlCisgICAgICAgIHx8IHR5cGUoKSA9PSBUeXBlOjpNZWRpYVJlc291cmNl
CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIHx8IHR5cGUoKSA9PSBUeXBlOjpN
b2RlbFJlc291cmNlCisjZW5kaWYKKyAgICAgICAgfHwgdHlwZSgpID09IFR5cGU6Okljb24KKyAg
ICAgICAgfHwgdHlwZSgpID09IFR5cGU6OlJhd1Jlc291cmNlCisgICAgICAgIHx8IHR5cGUoKSA9
PSBUeXBlOjpCZWFjb24KKyAgICAgICAgfHwgdHlwZSgpID09IFR5cGU6OlBpbmc7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2RlZmluZSBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NB
Q0hFRF9SRVNPVVJDRShUb0NsYXNzTmFtZSwgQ2FjaGVkUmVzb3VyY2VUeXBlKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApp
bmRleCAyMmM4ZDJiNDE0MTNhZTRlN2NhNzEwNWEzN2ZmZDljNTRkYWVlNmE5Li4xZmZmMDAzMDk2
ZmM1YmI2ODJiZDhiODJkMmFkYzcxYTk5NzliNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEzMSw2ICsxMzEs
OSBAQCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IGNyZWF0ZVJl
c291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6QmVhY29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlBpbmc6CiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxf
RUxFTUVOVCkKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgor
I2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SWNvbjoKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpNYWluUmVzb3VyY2U6CkBAIC0xNzMsNiArMTc2LDkgQEAgc3RhdGljIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGU6Ok1haW5SZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlmCiAgICAgICAg
IHJldHVybiBuZXcgQ2FjaGVkUmF3UmVzb3VyY2UoV1RGTW92ZShyZXF1ZXN0KSwgcmVzb3VyY2Uu
dHlwZSgpLCByZXNvdXJjZS5zZXNzaW9uSUQoKSwgcmVzb3VyY2UuY29va2llSmFyKCkpOwogI2lm
IEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlhTTFN0eWxlU2hl
ZXQ6CkBAIC0zMTcsOCArMzIzLDIxIEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1CiAKIFJlc291
cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0TWVkaWEoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCkKIHsKLSAgICAvLyBGSVhNRTogQXNzZXJ0IHJlcXVlc3Qub3B0aW9ucygpLmRlc3RpbmF0
aW9uIGlzIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OntBdWRpbywgVmlkZW99LgotICAgIHJl
dHVybiBjYXN0Q2FjaGVkUmVzb3VyY2VUbzxDYWNoZWRSYXdSZXNvdXJjZT4ocmVxdWVzdFJlc291
cmNlKENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlLCBXVEZNb3ZlKHJlcXVlc3Qp
KSk7CisgICAgYXV0byByZXNvdXJjZVR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWVkaWFS
ZXNvdXJjZTsKKyAgICBzd2l0Y2ggKHJlcXVlc3Qub3B0aW9ucygpLmRlc3RpbmF0aW9uKSB7Cisg
ICAgY2FzZSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpBdWRpbzoKKyAgICBjYXNlIEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246Ok1vZGVsOgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorICAgICAgICByZXNvdXJjZVR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNv
dXJjZTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gY2FzdENhY2hlZFJlc291cmNl
VG88Q2FjaGVkUmF3UmVzb3VyY2U+KHJlcXVlc3RSZXNvdXJjZShyZXNvdXJjZVR5cGUsIFdURk1v
dmUocmVxdWVzdCkpKTsKIH0KIAogUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJhd1Jlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RJY29uKENh
Y2hlZFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpCkBAIC0zNjMsNyArMzgyLDEwIEBAIHN0YXRp
YyBNaXhlZENvbnRlbnRDaGVja2VyOjpDb250ZW50VHlwZSBjb250ZW50VHlwZUZyb21SZXNvdXJj
ZVR5cGUoQ2FjaGVkUmVzb3VyCiAgICAgLy8gMy4xLiBPcHRpb25hbGx5LWJsb2NrYWJsZSBDb250
ZW50CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAgICAgICAgICAgcmV0
dXJuIE1peGVkQ29udGVudENoZWNrZXI6OkNvbnRlbnRUeXBlOjpBY3RpdmVDYW5XYXJuOworI2lm
IEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1v
ZGVsUmVzb3VyY2U6CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIE1peGVkQ29udGVudENoZWNrZXI6
OkNvbnRlbnRUeXBlOjpBY3RpdmVDYW5XYXJuOwogCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6Q1NTU3R5bGVTaGVldDoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTY3Jp
cHQ6CkBAIC00MjUsNiArNDQ3LDkgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2hlY2tJ
bnNlY3VyZUNvbnRlbnQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QKICAgICAgICAg
YnJlYWs7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OlRleHRUcmFja1Jlc291cmNlOgorI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TW9kZWxSZXNvdXJjZToKICNlbmRpZgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVzb3VyY2U6CkBAIC00OTYsNiArNTIxLDkgQEAgYm9vbCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6YWxsb3dlZEJ5Q29udGVudFNlY3VyaXR5UG9saWN5KENhY2hl
ZFJlc291cmNlOjpUeXBlIHQKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpCZWFjb246
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpUeXBlOjpSYXdSZXNvdXJjZToKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNb2RlbFJlc291cmNlOgorI2VuZGlmCiAgICAg
ICAgIHJldHVybiB0cnVlOwogI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OgpAQCAtNzkzLDYg
KzgyMSw5IEBAIHN0YXRpYyBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uRm9y
VHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OlR5cGU6OkxpbmtQcmVmZXRjaDoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpSYXdS
ZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgor
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1vZGVsUmVzb3VyY2U6CisjZW5kaWYKICAgICAgICAgLy8gVGhlIGNhbGxlciBpcyByZXNwb25z
aWJsZSBmb3Igc2V0dGluZyB0aGUgYXBwcm9wcmlhdGUgZGVzdGluYXRpb24uCiAgICAgICAgIHJl
dHVybiBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpFbXB0eVN0cmluZzsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0KaW5k
ZXggZWQ5MWQwZWZlNWJkOTk2ZDEwM2Y1ODE2MWQwM2U2ZGMwOWQwNjI3NS4uYzg1NWRlMDg4YjZk
OTQ0ZGE2ZmM0NTUyMmZmYmIyZjUwMjhjNjIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9h
ZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbQpAQCAtNzIsNyArNzIsNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8Q2FjaGVkUmVzb3VyY2VNZWRpYUxvYWRlcj4gQ2FjaGVkUmVzb3VyY2VNZWRp
YUxvYWRlcjo6Y3JlYXRlKFdlYgogewogICAgIC8vIEZJWE1FOiBTa2lwIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IGNoZWNrIGlmIHRoZSBlbGVtZW50IHRoYXQgaW5pdGl0YXRlZCB0aGlzIHJlcXVl
c3QKICAgICAvLyBpcyBpbiBhIHVzZXItYWdlbnQgc2hhZG93IHRyZWUuIFNlZSA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzQ5OD4uCi0gICAgQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0IHJlcXVlc3QoV1RGTW92ZShyZXNvdXJjZVJlcXVlc3QpLCBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMoCisgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zIGxvYWRlck9wdGlvbnMoCiAgICAg
ICAgIFNlbmRDYWxsYmFja1BvbGljeTo6U2VuZENhbGxiYWNrcywKICAgICAgICAgQ29udGVudFNu
aWZmaW5nUG9saWN5OjpEb05vdFNuaWZmQ29udGVudCwKICAgICAgICAgRGF0YUJ1ZmZlcmluZ1Bv
bGljeTo6QnVmZmVyRGF0YSwKQEAgLTg0LDcgKzg0LDEwIEBAIHN0ZDo6dW5pcXVlX3B0cjxDYWNo
ZWRSZXNvdXJjZU1lZGlhTG9hZGVyPiBDYWNoZWRSZXNvdXJjZU1lZGlhTG9hZGVyOjpjcmVhdGUo
V2ViCiAgICAgICAgIENlcnRpZmljYXRlSW5mb1BvbGljeTo6RG9Ob3RJbmNsdWRlQ2VydGlmaWNh
dGVJbmZvLAogICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGlj
eUNoZWNrLAogICAgICAgICBEZWZlcnNMb2FkaW5nUG9saWN5OjpBbGxvd0RlZmVyc0xvYWRpbmcs
Ci0gICAgICAgIENhY2hpbmdQb2xpY3k6OkRpc2FsbG93Q2FjaGluZykpOworICAgICAgICBDYWNo
aW5nUG9saWN5OjpEaXNhbGxvd0NhY2hpbmcKKyAgICApOworICAgIGxvYWRlck9wdGlvbnMuZGVz
dGluYXRpb24gPSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpWaWRlbzsKKyAgICBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChXVEZNb3ZlKHJlc291cmNlUmVxdWVzdCksIGxvYWRlck9w
dGlvbnMpOwogCiAgICAgYXV0byByZXNvdXJjZSA9IGxvYWRlci5yZXF1ZXN0TWVkaWEoV1RGTW92
ZShyZXF1ZXN0KSkudmFsdWVfb3IobnVsbHB0cik7CiAgICAgaWYgKCFyZXNvdXJjZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmgKaW5kZXggNmM5Y2U1Y2NjZWZlNTFjYTQ0YmJhZmRlMDAxNThkNmI3OWQ3NDYyNC4uN2QzYzg2
MzNlMmJlMTFjZGIyYmRhNWY3ZjY3ZTAyYzRjNzYzZjE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTE2NSw3
ICsxNjUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9oaWRkZW5Gcm9tSW5zcGVjdG9yOyB9CiAgICAgdm9pZCBzZXRIaWRkZW5Gcm9t
SW5zcGVjdG9yKGJvb2wgaGlkZGVuRnJvbUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0
b3IgPSBoaWRkZW5Gcm9tSW5zcGVjdG9yOyB9CiAKLSAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciA6
IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwgTWFpbiwgWEhSLCBGZXRjaCwgTWVkaWEsIEltcG9ydFNj
cmlwdHMsIFBpbmcsIEJlYWNvbiB9OworICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIDogdWludDhf
dCB7IFVuc3BlY2lmaWVkLCBNYWluLCBYSFIsIEZldGNoLCBNZWRpYSwgTW9kZWwsIEltcG9ydFNj
cmlwdHMsIFBpbmcsIEJlYWNvbiB9OwogICAgIFJlcXVlc3RlciByZXF1ZXN0ZXIoKSBjb25zdCB7
IHJldHVybiBtX3JlcXVlc3RlcjsgfQogICAgIHZvaWQgc2V0UmVxdWVzdGVyKFJlcXVlc3RlciBy
ZXF1ZXN0ZXIpIHsgbV9yZXF1ZXN0ZXIgPSByZXF1ZXN0ZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwCmluZGV4IDc3YTEw
YWFhOGY2M2NhMjVkNzVjZWIwMjhiODk5MWZiMTViNzZiNDMuLmFmMWFlZGQ1NTIwMWQ3YTViMzY4
YjMwMmRhZmY5ODc2Y2I5MDJmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKQEAgLTMyNyw2ICszMjcsNyBAQCBib29sIE5l
dHdvcmtMb2FkQ2hlY2tlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JgogICAgIGNhc2UgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6Rm9u
dDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OkltYWdlOgogICAgIGNhc2Ug
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TWFuaWZlc3Q6CisgICAgY2FzZSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpNb2RlbDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246Ok9iamVjdDoKICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlJlcG9ydDoK
ICAgICBjYXNlIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlN0eWxlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGNmNzkzYTY5NWUxNWVhOGNjYTRlYzdjYTc1YjNhZWFmZTc2YTA1MzEuLmYwZWJkM2I1ZjI3
ZGY4MjBmMjUzYjRlNjljMjVjOGM3NWI1MDM2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM5Miw2ICsz
OTIsMTAgQEAgUmVzb3VyY2VMb2FkSW5mbyBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNl
TG9hZEluZm8oKQogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZEluZm86OlR5cGU6Oklt
YWdlOwogICAgICAgICBjYXNlIFdlYkNvcmU6OkZldGNoT3B0aW9uczo6RGVzdGluYXRpb246Ok1h
bmlmZXN0OgogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZEluZm86OlR5cGU6OkFwcGxp
Y2F0aW9uTWFuaWZlc3Q7CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6TW9kZWw6CisgICAgICAgICAgICBy
ZXR1cm4gUmVzb3VyY2VMb2FkSW5mbzo6VHlwZTo6TWVkaWE7CisjZW5kaWYKICAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpPYmplY3Q6CiAgICAgICAgICAg
ICByZXR1cm4gUmVzb3VyY2VMb2FkSW5mbzo6VHlwZTo6T2JqZWN0OwogICAgICAgICBjYXNlIFdl
YkNvcmU6OkZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlBhaW50d29ya2xldDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cAppbmRleCA3ZDNkOWUzMTI5N2M4MmQ0ZTViNWI4NTI5YjYzYTk0MDNjOTkyNTFlLi40OGIzYTIy
NWRmYjZiMzBkYTBjNWQxZmZlYTlmZWM3NjVlMTNiOTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC0xMzks
NiArMTM5LDkgQEAgc3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkZvbnRSZXNv
dXJjZToKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6QXBwbGljYXRpb25NYW5pZmVzdDoKKyNlbmRpZgorI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UKQorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6SW1hZ2VSZXNvdXJjZToKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4NmRlM2EzNjAxNzQxYmQwM2QwMjAx
NmI0NTkxYzA4MTA1YTlhY2EzLi42Zjk0NzkzZGZlMjlmM2VjYmNiNDBjZTM5OWRkMjljZGJiZDkz
ZTc0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjEtMDItMDMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQWRkIGEgbG9hZGVyIGZvciA8bW9kZWw+IHJlc291cmNlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6V2ViQ29yZU5TVVJMU2Vzc2lvblRlc3Q6OlNldFVwKToKKwogMjAyMS0w
Mi0wMiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgVGVzdDI2MiBib3QgdG8gQmlnIFN1cgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQppbmRl
eCA3MzIyNzhmOWU4MWVjNGM1ZTllYjQzOTcwMmFiYzM4NzQyOWNmMWE4Li5hMTgwOWU3NmU4ZTMx
ZDkzMjAxZDdkY2U2NGFhNWVmZTkyODAyMDZkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5t
bQpAQCAtMTI2LDcgKzEyNiw3IEBAIHB1YmxpYzoKICAgICAgICAgZGVsZWdhdGUgPSBbW1Rlc3RO
U1VSTFNlc3Npb25EYXRhRGVsZWdhdGUgYWxsb2NdIGluaXRdOwogICAgICAgICBmcmFtZSA9IFt2
aWV3IF9tYWluQ29yZUZyYW1lXTsKICAgICAgICAgbWVkaWFFbGVtZW50ID0gSFRNTFZpZGVvRWxl
bWVudDo6Y3JlYXRlKCpmcmFtZS0+ZG9jdW1lbnQoKSk7Ci0gICAgICAgIGxvYWRlciA9IGFkb3B0
UmVmKG5ldyBNZWRpYVJlc291cmNlTG9hZGVyKCpmcmFtZS0+ZG9jdW1lbnQoKSwgKm1lZGlhRWxl
bWVudC5nZXQoKSwgZW1wdHlTdHJpbmcoKSkpOworICAgICAgICBsb2FkZXIgPSBhZG9wdFJlZihu
ZXcgTWVkaWFSZXNvdXJjZUxvYWRlcigqZnJhbWUtPmRvY3VtZW50KCksICptZWRpYUVsZW1lbnQu
Z2V0KCksIGVtcHR5U3RyaW5nKCksIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlZpZGVvKSk7
CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>