<?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>219857</bug_id>
          
          <creation_ts>2020-12-14 09:29:47 -0800</creation_ts>
          <short_desc>[Media in GPU Process][MSE] WebM source buffer parser is not enabled</short_desc>
          <delta_ts>2020-12-14 15:05:33 -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>Media</component>
          <version>Other</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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1714460</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-14 09:29:47 -0800</bug_when>
    <thetext>Function isWebmParserAvailable() in SourceBufferParserWebM always returns false in GPU Process because it uses a RuntimeEnabledFeature flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714462</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-14 09:30:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/72300659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714500</commentid>
    <comment_count>2</comment_count>
      <attachid>416175</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-14 11:05:48 -0800</bug_when>
    <thetext>Created attachment 416175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714510</commentid>
    <comment_count>3</comment_count>
      <attachid>416175</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-14 11:27:12 -0800</bug_when>
    <thetext>Comment on attachment 416175
Patch

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

&gt; Source/WebCore/platform/graphics/MediaSourcePrivate.h:57
&gt; +    virtual AddStatus addSourceBuffer(const ContentType&amp;, bool webMParserEnabled, RefPtr&lt;SourceBufferPrivate&gt;&amp;) = 0;

Nit: the parameter name isn&apos;t necessary.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:69
&gt; +    AddStatus addSourceBuffer(const ContentType&amp;, bool webMParserEnabled, RefPtr&lt;SourceBufferPrivate&gt;&amp;) override;

Ditto.

&gt; Source/WebCore/platform/graphics/cocoa/SourceBufferParser.h:49
&gt; +    static RefPtr&lt;SourceBufferParser&gt; create(const ContentType&amp;, bool webMParserEnabled);

Ditto

&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:67
&gt; +MediaSourcePrivate::AddStatus MockMediaSourcePrivate::addSourceBuffer(const ContentType&amp; contentType, bool webMParserEnabled, RefPtr&lt;SourceBufferPrivate&gt;&amp; outPrivate)
&gt;  {
&gt; +    UNUSED_PARAM(webMParserEnabled);

Ditto, and you don&apos;t need the UNUSED_PARAM without it.

&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.h:82
&gt; +    AddStatus addSourceBuffer(const ContentType&amp;, bool webMParserEnabled, RefPtr&lt;SourceBufferPrivate&gt;&amp;) override;

Ditto.

&gt; Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h:60
&gt; +    RemoteMediaSourceProxy(GPUConnectionToWebProcess&amp;, RemoteMediaSourceIdentifier, bool webMParserEnabled, RemoteMediaPlayerProxy&amp;);

Ditto.

&gt; Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h:65
&gt; +    AddStatus addSourceBuffer(const WebCore::ContentType&amp;, bool webMParserEnabled, RefPtr&lt;WebCore::SourceBufferPrivate&gt;&amp;) final;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714566</commentid>
    <comment_count>4</comment_count>
      <attachid>416189</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-14 13:06:51 -0800</bug_when>
    <thetext>Created attachment 416189
Rebase the patch and update it based on Eric&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714585</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-14 14:55:51 -0800</bug_when>
    <thetext>Committed r270805: &lt;https://trac.webkit.org/changeset/270805&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416189.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714590</commentid>
    <comment_count>6</comment_count>
      <attachid>416175</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-14 15:05:33 -0800</bug_when>
    <thetext>Comment on attachment 416175
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/MediaSourcePrivate.h:57
&gt;&gt; +    virtual AddStatus addSourceBuffer(const ContentType&amp;, bool webMParserEnabled, RefPtr&lt;SourceBufferPrivate&gt;&amp;) = 0;
&gt; 
&gt; Nit: the parameter name isn&apos;t necessary.

Right, but I would like to keep it because a bool argument&apos;s purpose is not obvious in this case for a reader.

&gt;&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:67
&gt;&gt; +    UNUSED_PARAM(webMParserEnabled);
&gt; 
&gt; Ditto, and you don&apos;t need the UNUSED_PARAM without it.

Right, fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416175</attachid>
            <date>2020-12-14 11:05:48 -0800</date>
            <delta_ts>2020-12-14 11:27:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219857-20201214110547.patch</filename>
            <type>text/plain</type>
            <size>23578</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI0MTRjYTg1YzJlNWQ3
OTk2YjZiMGEwNTc4ZjMxY2VmNDk3MTMyNC4uMTg5MWJlZTg3Nzg2YTVhMjFkYjQ3MDQ4YzhkNjIw
NTE4ZmU3ZTQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTEyLTE0ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXVtNU0VdIFdlYk0gc291cmNlIGJ1ZmZlciBwYXJzZXIgaXMgbm90IGVuYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTg1NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZ1bmN0aW9uIGBpc1dl
Ym1QYXJzZXJBdmFpbGFibGUoKWAgYWx3YXlzIHJldHVybiBmYWxzZSB3aGVuIGBTb3VyY2VCdWZm
ZXJQYXJzZXJXZWJNYAorICAgICAgICBydW5zIGluIHRoZSBHUFUgcHJvY2VzcyBiZWNhdXNlIGBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1QYXJzZXJFbmFibGVk
KClgCisgICAgICAgIGFsd2F5cyByZXR1cm5zIGZhbHNlIGluIHRoZSBHUFUgcHJvY2Vzcy4gVGhl
cmVmb3JlLCBgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ2Agd2lsbCBub3QKKyAgICAgICAgZW5h
YmxlIHRoZSBWUDkgc3VwcG9ydCB3aGVuIG1lZGlhIGluIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQu
CisKKyAgICAgICAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgY2FsbCBvZiBgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNUGFyc2VyRW5hYmxlZCgpYAorICAgICAgICB0
byBgTWVkaWFTb3VyY2VgLCB3aGljaCBhbHdheXMgcnVucyBpbiB0aGUgd2ViIHByb2Nlc3MgYW5k
IHdpbGwgZ2V0IHRoZSBjb3JyZWN0IHZhbHVlLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3Jl
YXRlU291cmNlQnVmZmVyUHJpdmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjphZGRTb3VyY2VC
dWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2Vi
TS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1dlYm1QYXJzZXJBdmFpbGFibGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUGFyc2VyV2ViTTo6Y3JlYXRlKToKKyAgICAgICAgRGVs
ZXRlIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCBpcyBub3QgdXNlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmg6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFkZFNvdXJjZUJ1ZmZlcik6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2
YXRlLmg6CisKIDIwMjAtMTItMTEgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTWVkaWEgaW4gR1BVIFByb2Nlc3NdW01TRV0gSW1wbGVtZW50IFNvdXJjZUJ1ZmZl
cjo6cmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1ZmQxYTdjNjUzY2Fm
MjkxZjM0ODRkMDAzNzkxZjA3YTViY2JlZTBhLi4wYzQ0OWIwOTVlZDUzM2EyMDIwZWRmMGQ0MjY5
MmEzMDU5NWRmYmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTEyLTE0ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXVtNU0VdIFdlYk0gc291cmNlIGJ1ZmZlciBwYXJzZXIgaXMgbm90IGVuYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTg1NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoYXJlIHRoZSB2YWx1
ZSBvZiBgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNUGFyc2Vy
RW5hYmxlZCgpYAorICAgICAgICB3aXRoIHRoZSBHUFUgcHJvY2VzcyAoYFJlbW90ZU1lZGlhU291
cmNlUHJveHlgKSB3aGVuIGBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVgCisgICAgICAgIHRyaWVz
IHRvIGxvYWQgYSBtZWRpYSBzb3VyY2UuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5KToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaDoKKwog
MjAyMC0xMi0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtN
ZWRpYSBpbiBHUFUgUHJvY2Vzc11bTVNFXSBJbXBsZW1lbnQgU291cmNlQnVmZmVyOjpyZXBvcnRF
eHRyYU1lbW9yeUFsbG9jYXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmluZGV4IGFkZjdiMTk1YWJiYjAzYzAxMGYyMDgyN2Vl
MGFjZGZmZmUwNGE1MzcuLjUzOTE4ZmQ5YTk2YjY3MjU0OWNkODc4MzY5OTgxOTQ1OWM4MDEzZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlLmgi
CiAjaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlF1aXJrcy5oIgor
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgogI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlckxpc3Qu
aCIKQEAgLTEwODgsNyArMTA4OSw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxTb3VyY2VCdWZmZXJQcml2
YXRlPj4gTWVkaWFTb3VyY2U6OmNyZWF0ZVNvdXJjZUJ1ZmZlclByaXZhdGUoY29uCiAgICAgICAg
IHR5cGUgPSBhZGRWUDlGdWxsUmFuZ2VWaWRlb0ZsYWdUb0NvbnRlbnRUeXBlKGluY29taW5nVHlw
ZSk7CiAKICAgICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0
ZTsKLSAgICBzd2l0Y2ggKG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKHR5cGUsIHNvdXJjZUJ1
ZmZlclByaXZhdGUpKSB7CisgICAgc3dpdGNoIChtX3ByaXZhdGUtPmFkZFNvdXJjZUJ1ZmZlcih0
eXBlLCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1QYXJzZXJF
bmFibGVkKCksIHNvdXJjZUJ1ZmZlclByaXZhdGUpKSB7CiAgICAgY2FzZSBNZWRpYVNvdXJjZVBy
aXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZmZXJQcml2YXRl
LnJlbGVhc2VOb25OdWxsKCk7CiAgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6Tm90U3VwcG9ydGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCAyOTMyODg2M2IxNGYyNmRjYjljYzExYzAy
MzY2MGQ1MjAzYjg5MGZjLi5jZDE4ZjIwOGRkM2U3YmU1MGZlMjU4NTBlMjMzM2Q1NGVhYWZkYmYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJj
ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNv
dXJjZVByaXZhdGUuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgICAgIE5vdFN1cHBv
cnRlZCwKICAgICAgICAgUmVhY2hlZElkTGltaXQKICAgICB9OwotICAgIHZpcnR1YWwgQWRkU3Rh
dHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZm
ZXJQcml2YXRlPiYpID0gMDsKKyAgICB2aXJ0dWFsIEFkZFN0YXR1cyBhZGRTb3VyY2VCdWZmZXIo
Y29uc3QgQ29udGVudFR5cGUmLCBib29sIHdlYk1QYXJzZXJFbmFibGVkLCBSZWZQdHI8U291cmNl
QnVmZmVyUHJpdmF0ZT4mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGR1cmF0aW9uQ2hhbmdlZChj
b25zdCBNZWRpYVRpbWUmKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05v
RXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKICAgICB2aXJ0dWFsIHZv
aWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKaW5kZXggNjhjZmQ1
MjM0NmI5YzM1OGNkM2QxNzUwOTNjNTdkYzhkNzk3OGJhNi4uMGQ3NzhlMmFiMjE5MTZmYzEyYmM0
NDQ3NjFkNGExOGRlMDg2YWJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQz4+JiBzb3VyY2VC
dWZmZXJzKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VCdWZmZXJzOyB9CiAgICAgY29uc3QgVmVj
dG9yPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKj4mIGFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKSBj
b25zdCB7IHJldHVybiBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnM7IH0KIAotICAgIEFkZFN0YXR1cyBh
ZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmLCBSZWZQdHI8U291cmNlQnVmZmVyUHJp
dmF0ZT4mKSBvdmVycmlkZTsKKyAgICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENv
bnRlbnRUeXBlJiwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVmUHRyPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoY29uc3QgTWVkaWFU
aW1lJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0
dXMpIG92ZXJyaWRlOwogICAgIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1t
CmluZGV4IDU2ZmQ4OTUxOWM0YTJiYmZlOTk4MWRmOGRkMmZkMjUwOTM5YWE1Y2UuLmJlNjBlMzRj
MzA0N2RkZDg5ZTJhZDlmNTIwMzhjNzc3N2E1Y2UzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtNzYsNyArNzYsNyBA
QCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjp+TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQygp
CiAgICAgICAgICgqaXQpLT5jbGVhck1lZGlhU291cmNlKCk7CiB9CiAKLU1lZGlhU291cmNlUHJp
dmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZl
cihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2
YXRlPiYgb3V0UHJpdmF0ZSkKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291
cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29u
dGVudFR5cGUsIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2
YXRlPiYgb3V0UHJpdmF0ZSkKIHsKICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVu
dFR5cGUpOwogCkBAIC04Niw3ICs4Niw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVz
IE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDCiAgICAg
aWYgKE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlQW5k
Q29kZWNzKHBhcmFtZXRlcnMpID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3Vw
cG9ydGVkKQogICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKLSAgICBh
dXRvIHBhcnNlciA9IFNvdXJjZUJ1ZmZlclBhcnNlcjo6Y3JlYXRlKGNvbnRlbnRUeXBlKTsKKyAg
ICBhdXRvIHBhcnNlciA9IFNvdXJjZUJ1ZmZlclBhcnNlcjo6Y3JlYXRlKGNvbnRlbnRUeXBlLCB3
ZWJNUGFyc2VyRW5hYmxlZCk7CiAgICAgaWYgKCFwYXJzZXIpCiAgICAgICAgIHJldHVybiBBZGRT
dGF0dXM6Ok5vdFN1cHBvcnRlZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlci5jcHAKaW5kZXggNjNh
NTM1YWY5Y2U3MGMwODQ4ZTMyMDgzOTk3ZDA2N2IwY2ZmNTU1My4uZTQwYjhjM2JiOGYxZTUzZDdm
M2FlMjE4MDAwMjUzMTQyM2EzMjVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXIuY3BwCkBAIC00
Myw5ICs0Myw5IEBAIE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZSBTb3VyY2VCdWZmZXJQ
YXJzZXI6OmlzQ29udGVudFR5cGVTdXBwb3J0ZWQoY29uc3QKICAgICByZXR1cm4gc3VwcG9ydHM7
CiB9CiAKLVJlZlB0cjxTb3VyY2VCdWZmZXJQYXJzZXI+IFNvdXJjZUJ1ZmZlclBhcnNlcjo6Y3Jl
YXRlKGNvbnN0IENvbnRlbnRUeXBlJiB0eXBlKQorUmVmUHRyPFNvdXJjZUJ1ZmZlclBhcnNlcj4g
U291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUoY29uc3QgQ29udGVudFR5cGUmIHR5cGUsIGJvb2wg
d2ViTVBhcnNlckVuYWJsZWQpCiB7Ci0gICAgaWYgKFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06Omlz
Q29udGVudFR5cGVTdXBwb3J0ZWQodHlwZSkgIT0gTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNU
eXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICBpZiAoU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6aXND
b250ZW50VHlwZVN1cHBvcnRlZCh0eXBlKSAhPSBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5
cGU6OklzTm90U3VwcG9ydGVkICYmIHdlYk1QYXJzZXJFbmFibGVkKQogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7CiAKICAgICBpZiAoU291cmNl
QnVmZmVyUGFyc2VyQVZGT2JqQzo6aXNDb250ZW50VHlwZVN1cHBvcnRlZCh0eXBlKSAhPSBNZWRp
YVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQ
YXJzZXIuaAppbmRleCAzNmVhMTMxZTE3ODUwODI5OGYxMGI2ZjY4NjNlMzRlNWYyZmFmNGFlLi42
NTdlMDUzNWY5NmQ4NmM2YzY1MDMxNzZmYWQ1M2Y4OGUyNTVmZDliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQ
YXJzZXIuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTb3VyY2VCdWZm
ZXJQYXJzZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U291cmNlQnVmZgogcHVibGlj
OgogICAgIHN0YXRpYyBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGUgaXNDb250ZW50VHlw
ZVN1cHBvcnRlZChjb25zdCBDb250ZW50VHlwZSYpOwogCi0gICAgc3RhdGljIFJlZlB0cjxTb3Vy
Y2VCdWZmZXJQYXJzZXI+IGNyZWF0ZShjb25zdCBDb250ZW50VHlwZSYpOworICAgIHN0YXRpYyBS
ZWZQdHI8U291cmNlQnVmZmVyUGFyc2VyPiBjcmVhdGUoY29uc3QgQ29udGVudFR5cGUmLCBib29s
IHdlYk1QYXJzZXJFbmFibGVkKTsKICAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQYXJzZXIoKSA9
IGRlZmF1bHQ7CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgOiB1aW50OF90IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNl
cldlYk0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNl
QnVmZmVyUGFyc2VyV2ViTS5jcHAKaW5kZXggMDYwN2UzMzQ3YWQ2ZmExYmEzMDRlY2M0ZTA3MzQ1
MzM2Yjg1ZmQ2Ni4uOGVmYTUxYTJkMjIzNWJhOTE5MDQ2YmM3NDRmYjcxNjZjOGRhNmFmMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVm
ZmVyUGFyc2VyV2ViTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNs
dWRlICJNZWRpYURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFTYW1wbGVBVkZPYmpDLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVlA5VXRpbGl0
aWVzQ29jb2EuaCIKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZVdlYk0uaCIKQEAgLTI1Miw3
ICsyNTEsNyBAQCBjb25zdGV4cHIgQ01WaWRlb0NvZGVjVHlwZSBrQ01WaWRlb0NvZGVjVHlwZV9W
UDkgeyAndnAwOScgfTsKIAogc3RhdGljIGJvb2wgaXNXZWJtUGFyc2VyQXZhaWxhYmxlKCkKIHsK
LSAgICByZXR1cm4gISF3ZWJtOjpzd2FwICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkud2ViTVBhcnNlckVuYWJsZWQoKTsKKyAgICByZXR1cm4gISF3ZWJtOjpzd2Fw
OwogfQogCiB1c2luZyBuYW1lc3BhY2Ugd2VibTsKQEAgLTUwNywxMyArNTA2LDYgQEAgTWVkaWFQ
bGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OmlzQ29udGVu
dFR5cGVTdXBwb3J0ZWQoY28KICNlbmRpZiAvLyBFTkFCTEUoVlA5KSB8fCBFTkFCTEUoVk9SQklT
KSB8fCBFTkFCTEUoT1BVUykKIH0KIAotUmVmUHRyPFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0+IFNv
dXJjZUJ1ZmZlclBhcnNlcldlYk06OmNyZWF0ZShjb25zdCBDb250ZW50VHlwZSYgdHlwZSkKLXsK
LSAgICBpZiAoaXNDb250ZW50VHlwZVN1cHBvcnRlZCh0eXBlKSAhPSBNZWRpYVBsYXllckVudW1z
OjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKSk7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0K
IFNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OlNvdXJjZUJ1ZmZlclBhcnNlcldlYk0oKQogICAgIDog
bV9yZWFkZXIoV1RGOjptYWtlVW5pcXVlUmVmPFN0cmVhbWluZ1ZlY3RvclJlYWRlcj4oKSkKICAg
ICAsIG1faW5pdGlhbGl6YXRpb25TZWdtZW50SXNIYW5kbGVkU2VtYXBob3JlKEJveDxCaW5hcnlT
ZW1hcGhvcmU+OjpjcmVhdGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaAppbmRleCAy
MDMwMWJjYTlmMmYyMjdkNWY4OTk2NzVkZDczZDViNzk2ZGY4YzgzLi42YTJmODYzZjcwZTI0NGNi
MWViZTU1NmM2YmZjYjhiYTc1MTI3NGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5o
CkBAIC02MCw3ICs2MCw2IEBAIHB1YmxpYzoKICAgICBjbGFzcyBTdHJlYW1pbmdWZWN0b3JSZWFk
ZXI7CiAKICAgICBzdGF0aWMgTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIGlzQ29udGVu
dFR5cGVTdXBwb3J0ZWQoY29uc3QgQ29udGVudFR5cGUmKTsKLSAgICBzdGF0aWMgUmVmUHRyPFNv
dXJjZUJ1ZmZlclBhcnNlcldlYk0+IGNyZWF0ZShjb25zdCBDb250ZW50VHlwZSYpOwogCiAgICAg
U291cmNlQnVmZmVyUGFyc2VyV2ViTSgpOwogICAgIH5Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAppbmRleCA5NzlhODFkM2I5MGNi
NjYwYWU3N2JhYWIyOGRhMGVjOTZjYjM5MjAwLi5iNjVlNjVkODY3NzRiMmJiMDRhZWNkMmE0OWQ3
NDU0ODc5M2M3MmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKQEAg
LTYyLDggKzYyLDkgQEAgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6fk1vY2tNZWRpYVNvdXJjZVBy
aXZhdGUoKQogICAgICAgICBidWZmZXItPmNsZWFyTWVkaWFTb3VyY2UoKTsKIH0KIAotTWVkaWFT
b3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291cmNl
QnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZl
clByaXZhdGU+JiBvdXRQcml2YXRlKQorTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9j
a01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBj
b250ZW50VHlwZSwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVmUHRyPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+JiBvdXRQcml2YXRlKQogeworICAgIFVOVVNFRF9QQVJBTSh3ZWJNUGFyc2VyRW5hYmxl
ZCk7CiAgICAgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzOwogICAgIHBh
cmFtZXRlcnMuaXNNZWRpYVNvdXJjZSA9IHRydWU7CiAgICAgcGFyYW1ldGVycy50eXBlID0gY29u
dGVudFR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUzZDk4MDdj
NmIxNTIxZmM5YjA0ZTY0YjE2OWY1ZWVkZDQ2NDUxOTguLjEyM2I2ODM4ZGNmNWU0ZWZkNWE1NTM0
NGFiYTNmMWFmYzQyOTMzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oCkBA
IC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgTW9ja01lZGlhU291cmNlUHJpdmF0ZShNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCYpOwogCiAg
ICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIE92ZXJyaWRlcwotICAgIEFkZFN0YXR1cyBhZGRTb3Vy
Y2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4m
KSBvdmVycmlkZTsKKyAgICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRU
eXBlJiwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpIG92
ZXJyaWRlOwogICAgIGJvb2wgaXNFbmRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNF
bmRlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IDY2MWYxMWJiMjBlZDIyYTQ1ZWI2MGZkOGZj
MmEzYWE4MGEzNzM2ZDUuLmFmNzc5MGQyYTNkY2NhZDMzNDc0NzE1ZDcwMmQwNTg4ZjFmZTYzZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGU+JgogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bG9hZE1lZGlhU291cmNlKFVSTCYmIHVybCwgY29uc3QgV2ViQ29yZTo6Q29u
dGVudFR5cGUmIGNvbnRlbnRUeXBlLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbWVkaWFT
b3VyY2VJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bG9hZE1lZGlhU291cmNlKFVSTCYmIHVybCwgY29uc3QgV2ViQ29yZTo6Q29u
dGVudFR5cGUmIGNvbnRlbnRUeXBlLCBib29sIHdlYk1QYXJzZXJFbmFibGVkLCBSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIgbWVkaWFTb3VyY2VJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9wdFJlZigqbmV3IFJlbW90ZU1l
ZGlhU291cmNlUHJveHkobV9tYW5hZ2VyLmdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKSwgbWVk
aWFTb3VyY2VJZGVudGlmaWVyLCAqdGhpcykpOworICAgIG1fbWVkaWFTb3VyY2VQcm94eSA9IGFk
b3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShtX21hbmFnZXIuZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2VzcygpLCBtZWRpYVNvdXJjZUlkZW50aWZpZXIsIHdlYk1QYXJzZXJFbmFibGVk
LCAqdGhpcykpOwogICAgIG1fcGxheWVyLT5sb2FkKHVybCwgY29udGVudFR5cGUsIG1fbWVkaWFT
b3VyY2VQcm94eS5nZXQoKSk7CiAKICAgICBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IGQ1ODNkZDMxZmRlNDU0ZTQwNDM0MGVm
ZTIyMmNkYmY4MzUwYTc1YzEuLmM2YzMzZTE2MTc5OTFkNTE0NGE5NzgwNTEyZDQwN2ViOWYwOGQ1
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgbG9hZChVUkwmJiwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25z
dCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmKTsKICNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZE1lZGlhU291cmNlKFVSTCYmLCBjb25zdCBXZWJD
b3JlOjpDb250ZW50VHlwZSYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mJik+JiYpOworICAg
IHZvaWQgbG9hZE1lZGlhU291cmNlKFVSTCYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYs
IGJvb2wgd2ViTVBhcnNlckVuYWJsZWQsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mJik+JiYp
OwogI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggMmNkZTA4MDQ5YWRlZGI0YzYxNjk1Njk0YjBiODliNWVmMGZhMTAz
OC4uZDc5YzNmYzRhNmU0NmMzZWExOTI3NDQ3OGNhODFiMWI2OGYwNmM5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4LDcgKzI4LDcgQEAgbWVzc2FnZXMgLT4gUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKIAogICAgIExvYWQoVVJMIHVybCwg
T3B0aW9uYWw8V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNp
b24sIFdlYkNvcmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlLCBTdHJpbmcga2V5U3lzdGVtKSAt
PiAoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNv
bmZpZ3VyYXRpb24pIEFzeW5jCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBMb2FkTWVk
aWFTb3VyY2UoVVJMIHVybCwgV2ViQ29yZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUsIFdlYktp
dDo6UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlhU291cmNlSWRlbnRpZmllcikgLT4g
KHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiBwbGF5ZXJDb25m
aWd1cmF0aW9uKSBBc3luYworICAgIExvYWRNZWRpYVNvdXJjZShVUkwgdXJsLCBXZWJDb3JlOjpD
b250ZW50VHlwZSBjb250ZW50VHlwZSwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgV2ViS2l0OjpS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbWVkaWFTb3VyY2VJZGVudGlmaWVyKSAtPiAoc3Ry
dWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3Vy
YXRpb24pIEFzeW5jCiAjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3Bw
CmluZGV4IDEzM2NkY2NlMDFhODk4YzQ0MGU4YjY4YTA2OGIxZjdkZmNmNzZiYjAuLmQ1MTJhMDA5
YmUzNWI3Nzg3YTE4MTc5NmFiMTU0NjU5Njc3ODExZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAg
LTQxLDkgKzQxLDEwIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSYg
cmVtb3RlTWVkaWFQbGF5ZXJQcm94eSkKK1JlbW90ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1l
ZGlhU291cmNlUHJveHkoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2Vi
UHJvY2VzcywgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIGJvb2wgd2Vi
TVBhcnNlckVuYWJsZWQsIFJlbW90ZU1lZGlhUGxheWVyUHJveHkmIHJlbW90ZU1lZGlhUGxheWVy
UHJveHkpCiAgICAgOiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVjdGlvblRvV2ViUHJv
Y2VzcykKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV93ZWJNUGFyc2Vy
RW5hYmxlZCh3ZWJNUGFyc2VyRW5hYmxlZCkKICAgICAsIG1fcmVtb3RlTWVkaWFQbGF5ZXJQcm94
eShtYWtlV2Vha1B0cihyZW1vdGVNZWRpYVBsYXllclByb3h5KSkKIHsKICAgICBtX2Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
aWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7CkBAIC05OSw3ICsxMDAsNyBAQCB2b2lkIFJl
bW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250
ZW50VHlwZSYgY29udGVudAogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8U291cmNlQnVm
ZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZTsKLSAgICBNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1cyBzdGF0dXMgPSBtX3ByaXZhdGUtPmFkZFNvdXJjZUJ1ZmZlcihjb250ZW50VHlw
ZSwgc291cmNlQnVmZmVyUHJpdmF0ZSk7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMgc3RhdHVzID0gbV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIG1fd2Vi
TVBhcnNlckVuYWJsZWQsIHNvdXJjZUJ1ZmZlclByaXZhdGUpOwogCiAgICAgT3B0aW9uYWw8UmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlSWRlbnRpZmllcjsKICAgICBp
ZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPaykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVBy
b3h5LmgKaW5kZXggNjg4MWZlMTIyYzY0MTI1ZWI4M2Q2NDM1ZWFlMmZmNTRlMDU2MTEzNy4uMTk1
ZDYwZTE4ZDM5NGQ5N2MxNTUzZGVkNzA4ZmUzMWIwMWU0YzkwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCkBA
IC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHkgZmluYWwKICAgICAs
IHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIFJlbW90ZU1lZGlhU291cmNlUHJveHkoR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eSYpOworICAgIFJlbW90ZU1lZGlhU291cmNlUHJveHkoR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgYm9vbCB3ZWJNUGFyc2VyRW5h
YmxlZCwgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSYpOwogICAgIHZpcnR1YWwgflJlbW90ZU1lZGlh
U291cmNlUHJveHkoKTsKIAogICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCBvdmVycmlk
ZXMKQEAgLTg3LDYgKzg3LDcgQEAgcHJpdmF0ZToKIAogICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKICAgICBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIGJvb2wgbV93ZWJNUGFyc2VyRW5hYmxlZCB7IGZh
bHNlIH07CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4gbV9wcml2YXRl
OwogICAgIFdlYWtQdHI8UmVtb3RlTWVkaWFQbGF5ZXJQcm94eT4gbV9yZW1vdGVNZWRpYVBsYXll
clByb3h5OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggOTcyM2UwODk3ZTg0
OTE1YmM5MGQ5NDg4YzE0OGMxYWZiYzc2MDFmOS4uODc4OGYyZmE3MjM0NTEzNGIxMDBlYTJjOTcw
MTU1YjM5YzMxYjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNDcsNiAr
NDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1MYXllci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1UaW1lUmFuZ2VzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVy
cm9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvVmlkZW9MYXllck1hbmFnZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNjM5
LDcgKzY0MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5CiB7CiAgICAgaWYgKG1fcmVtb3Rl
RW5naW5lSWRlbnRpZmllciA9PSBNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZp
ZXI6OkFWRm91bmRhdGlvbk1TRSkgewogICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXI6OmdlbmVyYXRlKCk7Ci0gICAgICAgIGNvbm5lY3Rpb24oKS5z
ZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkxvYWRN
ZWRpYVNvdXJjZSh1cmwsIGNvbnRlbnRUeXBlLCBpZGVudGlmaWVyKSwgW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIoKnRoaXMpXShhdXRvJiYgY29uZmlndXJhdGlvbikgeworICAgICAgICBjb25uZWN0
aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBjb250ZW50VHlwZSwgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNUGFyc2VyRW5hYmxlZCgpLCBpZGVudGlmaWVyKSwgW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvJiYgY29uZmlndXJhdGlvbikgewogICAg
ICAgICAgICAgaWYgKHdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NvbmZp
Z3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pOwogICAgICAgICB9LCBtX2lkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcAppbmRleCA5MGU4YTI0ZmMxM2ExZWIzYzMwMTk0MWM1
OTA0YjA5MTFmMzhiMjU1Li5hNzc3OTUwOTg2MmU0N2UyYzAxZTY4NWY2NGJiNmIwMmFhYjYzNWU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZTo6fk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpCiAgICAgICAg
ICgqaXQpLT5jbGVhck1lZGlhU291cmNlKCk7CiB9CiAKLU1lZGlhU291cmNlUHJpdmF0ZTo6QWRk
U3RhdHVzIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENv
bnRlbnRUeXBlJiBjb250ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQ
cml2YXRlKQorTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBi
b29sLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mIG91dFByaXZhdGUpCiB7CiAgICAgREVC
VUdfTE9HKExPR0lERU5USUZJRVIsIGNvbnRlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlLmgKaW5kZXggNTRlMmVjOTdhYjE5ZmZiM2MxNWFiYmMxNzBkZDc1YjczOWM0OWE3YS4uM2Rj
NTBjZTkwZDEyMTMwZDdiODQ4YzdlMTdkMjJiMGZiMTNhMTEwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUoKTsKIAogICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBvdmVycmlk
ZXMKLSAgICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRU
eXBlJiwgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7CisgICAg
QWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGJv
b2wgd2ViTVBhcnNlckVuYWJsZWQsIFJlZlB0cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRl
PiYpIGZpbmFsOwogICAgIHZvaWQgZHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpIGZp
bmFsOwogICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5hbDsK
ICAgICB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7Cg==
</data>
<flag name="review"
          id="433613"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="433618"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416189</attachid>
            <date>2020-12-14 13:06:51 -0800</date>
            <delta_ts>2020-12-14 14:55:52 -0800</delta_ts>
            <desc>Rebase the patch and update it based on Eric&apos;s comments</desc>
            <filename>bug-219857-20201214130651.patch</filename>
            <type>text/plain</type>
            <size>26575</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQyZDAwMjdkYTY1MWY1
YjliMDAxNzBhYmYyNDYwY2YzY2JmODM0OC4uNzI0OTlmMzYzYzJmZTgyYTI3NTViMGVlNGQwNzYx
YWIzMjg3ZTNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTEyLTE0ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXVtNU0VdIFdlYk0gc291cmNlIGJ1ZmZlciBwYXJzZXIgaXMgbm90IGVuYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTg1NworCisgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBGdW5jdGlvbiBgaXNXZWJt
UGFyc2VyQXZhaWxhYmxlKClgIGFsd2F5cyByZXR1cm4gZmFsc2Ugd2hlbiBgU291cmNlQnVmZmVy
UGFyc2VyV2ViTWAKKyAgICAgICAgcnVucyBpbiB0aGUgR1BVIHByb2Nlc3MgYmVjYXVzZSBgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNUGFyc2VyRW5hYmxlZCgp
YAorICAgICAgICBhbHdheXMgcmV0dXJucyBmYWxzZSBpbiB0aGUgR1BVIHByb2Nlc3MuIFRoZXJl
Zm9yZSwgYE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNgIHdpbGwgbm90CisgICAgICAgIGVuYWJs
ZSB0aGUgVlA5IHN1cHBvcnQgd2hlbiBtZWRpYSBpbiBHUFUgcHJvY2VzcyBpcyBlbmFibGVkLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlIGNhbGwgb2YgYFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVBhcnNlckVuYWJsZWQoKWAKKyAgICAgICAgdG8g
YE1lZGlhU291cmNlYCwgd2hpY2ggYWx3YXlzIHJ1bnMgaW4gdGhlIHdlYiBwcm9jZXNzIGFuZCB3
aWxsIGdldCB0aGUgY29ycmVjdCB2YWx1ZS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmNyZWF0
ZVNvdXJjZUJ1ZmZlclByaXZhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVm
ZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJz
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlcldlYk0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNXZWJtUGFyc2VyQXZhaWxhYmxlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBhcnNlcldlYk06OmNyZWF0ZSk6CisgICAgICAgIERlbGV0
ZSB0aGlzIGZ1bmN0aW9uIGJlY2F1c2UgaXQgaXMgbm90IHVzZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6YWRk
U291cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L01lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorCiAyMDIw
LTEyLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IEdQVSBwcm9jZXNzIHNvbWV0aW1lcyBoYW5ncyBkdXJpbmcgTW90aW9uTWFyayBGb2N1cyB3aGVu
IGVuYWJsaW5nIEdQVSBQcm9jZXNzIGZvciBET00KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjJjOGNlZGYwZTFjYjE3
MWU0NTEwZGNlMzVmYThiYTE1YjBjOTM3MC4uYTVmZmI0NzZjZWNlYWM2MWI0ODgyOWRjYjEwY2Q5
ODg1ZGI2NjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMC0xMi0xNCAgUGVuZyBM
aXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBpbiBHUFUgUHJvY2Vz
c11bTVNFXSBXZWJNIHNvdXJjZSBidWZmZXIgcGFyc2VyIGlzIG5vdCBlbmFibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4NTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgU2hhcmUgdGhlIHZhbHVlIG9m
IGBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1QYXJzZXJFbmFi
bGVkKClgCisgICAgICAgIHdpdGggdGhlIEdQVSBwcm9jZXNzIChgUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eWApIHdoZW4gYE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZWAKKyAgICAgICAgdHJpZXMgdG8g
bG9hZCBhIG1lZGlhIHNvdXJjZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWRNZWRpYVNvdXJjZSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
U291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5OjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oOgorICAgICAgICAqIFNoYXJlZC9t
YWMvTWVkaWFGb3JtYXRSZWFkZXIvRm9ybWF0UmVhZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Rm9ybWF0UmVhZGVyOjpwYXJzZUJ5dGVTb3VyY2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oOgorCiAyMDIwLTEyLTE0
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEdQVSBw
cm9jZXNzIHNvbWV0aW1lcyBoYW5ncyBkdXJpbmcgTW90aW9uTWFyayBGb2N1cyB3aGVuIGVuYWJs
aW5nIEdQVSBQcm9jZXNzIGZvciBET00KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggYWRmN2IxOTVhYmJiMDNjMDEwZjIwODI3
ZWUwYWNkZmZmZTA0YTUzNy4uNTM5MThmZDlhOTZiNjcyNTQ5Y2Q4NzgzNjk5ODE5NDU5YzgwMTNk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGUu
aCIKICNpbmNsdWRlICJNZWRpYVNvdXJjZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUXVpcmtzLmgi
CisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyTGlz
dC5oIgpAQCAtMTA4OCw3ICsxMDg5LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KICAgICAg
ICAgdHlwZSA9IGFkZFZQOUZ1bGxSYW5nZVZpZGVvRmxhZ1RvQ29udGVudFR5cGUoaW5jb21pbmdU
eXBlKTsKIAogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2
YXRlOwotICAgIHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNl
QnVmZmVyUHJpdmF0ZSkpIHsKKyAgICBzd2l0Y2ggKG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVy
KHR5cGUsIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTVBhcnNl
ckVuYWJsZWQoKSwgc291cmNlQnVmZmVyUHJpdmF0ZSkpIHsKICAgICBjYXNlIE1lZGlhU291cmNl
UHJpdmF0ZTo6QWRkU3RhdHVzOjpPazoKICAgICAgICAgcmV0dXJuIHNvdXJjZUJ1ZmZlclByaXZh
dGUucmVsZWFzZU5vbk51bGwoKTsKICAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpOb3RTdXBwb3J0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IDI5MzI4ODYzYjE0ZjI2ZGNiOWNjMTFj
MDIzNjYwZDUyMDNiODkwZmMuLmNkMThmMjA4ZGQzZTdiZTUwZmUyNTg1MGUyMzMzZDU0ZWFhZmRi
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291
cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICAgICAgTm90U3Vw
cG9ydGVkLAogICAgICAgICBSZWFjaGVkSWRMaW1pdAogICAgIH07Ci0gICAgdmlydHVhbCBBZGRT
dGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGU+JikgPSAwOworICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZl
cihjb25zdCBDb250ZW50VHlwZSYsIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQsIFJlZlB0cjxTb3Vy
Y2VCdWZmZXJQcml2YXRlPiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZHVyYXRpb25DaGFuZ2Vk
KGNvbnN0IE1lZGlhVGltZSYpID0gMDsKICAgICBlbnVtIEVuZE9mU3RyZWFtU3RhdHVzIHsgRW9z
Tm9FcnJvciwgRW9zTmV0d29ya0Vycm9yLCBFb3NEZWNvZGVFcnJvciB9OwogICAgIHZpcnR1YWwg
dm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAppbmRleCA2OGNm
ZDUyMzQ2YjljMzU4Y2QzZDE3NTA5M2M1N2RjOGQ3OTc4YmE2Li4wZDc3OGUyYWIyMTkxNmZjMTJi
YzQ0NDc2MWQ0YTE4ZGUwODZhYmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDPj4mIHNvdXJj
ZUJ1ZmZlcnMoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUJ1ZmZlcnM7IH0KICAgICBjb25zdCBW
ZWN0b3I8U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqPiYgYWN0aXZlU291cmNlQnVmZmVycygp
IGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlU291cmNlQnVmZmVyczsgfQogCi0gICAgQWRkU3RhdHVz
IGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQ
cml2YXRlPiYpIG92ZXJyaWRlOworICAgIEFkZFN0YXR1cyBhZGRTb3VyY2VCdWZmZXIoY29uc3Qg
Q29udGVudFR5cGUmLCBib29sIHdlYk1QYXJzZXJFbmFibGVkLCBSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZT4mKSBvdmVycmlkZTsKICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZChjb25zdCBNZWRp
YVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0
YXR1cykgb3ZlcnJpZGU7CiAgICAgdm9pZCB1bm1hcmtFbmRPZlN0cmVhbSgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMu
bW0KaW5kZXggNTZmZDg5NTE5YzRhMmJiZmU5OTgxZGY4ZGQyZmQyNTA5MzlhYTVjZS4uYmU2MGUz
NGMzMDQ3ZGRkODllMmFkOWY1MjAzOGM3Nzc3YTVjZTM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2
YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC03Niw3ICs3Niw3
IEBAIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6On5NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
KCkKICAgICAgICAgKCppdCktPmNsZWFyTWVkaWFTb3VyY2UoKTsKIH0KIAotTWVkaWFTb3VyY2VQ
cml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVm
ZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+JiBvdXRQcml2YXRlKQorTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBj
b250ZW50VHlwZSwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVmUHRyPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+JiBvdXRQcml2YXRlKQogewogICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCBjb250
ZW50VHlwZSk7CiAKQEAgLTg2LDcgKzg2LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAg
ICBpZiAoTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGVB
bmRDb2RlY3MocGFyYW1ldGVycykgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RT
dXBwb3J0ZWQpCiAgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAotICAg
IGF1dG8gcGFyc2VyID0gU291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUoY29udGVudFR5cGUpOwor
ICAgIGF1dG8gcGFyc2VyID0gU291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUoY29udGVudFR5cGUs
IHdlYk1QYXJzZXJFbmFibGVkKTsKICAgICBpZiAoIXBhcnNlcikKICAgICAgICAgcmV0dXJuIEFk
ZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyLmNwcAppbmRleCAy
OGFjNjlmNTc5MzAzZDQyYzQ1NTE4ODYzYWIzZGY4OWJjN2ZiNzJlLi5kYjU5MzEyYjhlZmE5MzQ3
ZjA4N2M4ZDhhMjY2YWMxNWE1OTRmZTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlci5jcHAKQEAg
LTQ0LDkgKzQ0LDkgQEAgTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIFNvdXJjZUJ1ZmZl
clBhcnNlcjo6aXNDb250ZW50VHlwZVN1cHBvcnRlZChjb25zdAogICAgIHJldHVybiBzdXBwb3J0
czsKIH0KIAotUmVmUHRyPFNvdXJjZUJ1ZmZlclBhcnNlcj4gU291cmNlQnVmZmVyUGFyc2VyOjpj
cmVhdGUoY29uc3QgQ29udGVudFR5cGUmIHR5cGUpCitSZWZQdHI8U291cmNlQnVmZmVyUGFyc2Vy
PiBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb25zdCBDb250ZW50VHlwZSYgdHlwZSwgYm9v
bCB3ZWJNUGFyc2VyRW5hYmxlZCkKIHsKLSAgICBpZiAoU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6
aXNDb250ZW50VHlwZVN1cHBvcnRlZCh0eXBlKSAhPSBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0
c1R5cGU6OklzTm90U3VwcG9ydGVkKQorICAgIGlmIChTb3VyY2VCdWZmZXJQYXJzZXJXZWJNOjpp
c0NvbnRlbnRUeXBlU3VwcG9ydGVkKHR5cGUpICE9IE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRz
VHlwZTo6SXNOb3RTdXBwb3J0ZWQgJiYgd2ViTVBhcnNlckVuYWJsZWQpCiAgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSgpKTsKIAogICAgIGlmIChTb3Vy
Y2VCdWZmZXJQYXJzZXJBVkZPYmpDOjppc0NvbnRlbnRUeXBlU3VwcG9ydGVkKHR5cGUpICE9IE1l
ZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZl
clBhcnNlci5oCmluZGV4IDBlMTBjMGM4ZmJmNmYwOTFhYzY2YjA2ZGQ5NTBkNDg2ODYzMGQ2ODAu
LjM0ODI5MzQ5MzI0NDIxYzU3ZTc2ZDZhYzkwZmFjOTljYjU2NmY3MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZl
clBhcnNlci5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIFNvdXJjZUJ1
ZmZlclBhcnNlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTb3VyY2VCdWZmCiBwdWJs
aWM6CiAgICAgc3RhdGljIE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZSBpc0NvbnRlbnRU
eXBlU3VwcG9ydGVkKGNvbnN0IENvbnRlbnRUeXBlJik7CiAKLSAgICBzdGF0aWMgUmVmUHRyPFNv
dXJjZUJ1ZmZlclBhcnNlcj4gY3JlYXRlKGNvbnN0IENvbnRlbnRUeXBlJik7CisgICAgc3RhdGlj
IFJlZlB0cjxTb3VyY2VCdWZmZXJQYXJzZXI+IGNyZWF0ZShjb25zdCBDb250ZW50VHlwZSYsIGJv
b2wgd2ViTVBhcnNlckVuYWJsZWQpOwogICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclBhcnNlcigp
ID0gZGVmYXVsdDsKIAogICAgIGVudW0gY2xhc3MgVHlwZSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFy
c2VyV2ViTS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3Vy
Y2VCdWZmZXJQYXJzZXJXZWJNLmNwcAppbmRleCAwNzVmNDI0NGVlODc0MjQ5OGViYTVmNDlkMTg5
NjNlYzFkZDE0YWVkLi44OWZlMzJmOGVkYmEwZTBiYTNiOWNiYzM1ZjFiM2MzYWQ0YTMzNTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VC
dWZmZXJQYXJzZXJXZWJNLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJNLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2lu
Y2x1ZGUgIk1lZGlhRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJWUDlVdGls
aXRpZXNDb2NvYS5oIgogI2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2YXRlV2ViTS5oIgpAQCAtMjUy
LDcgKzI1MSw3IEBAIGNvbnN0ZXhwciBDTVZpZGVvQ29kZWNUeXBlIGtDTVZpZGVvQ29kZWNUeXBl
X1ZQOSB7ICd2cDA5JyB9OwogCiBzdGF0aWMgYm9vbCBpc1dlYm1QYXJzZXJBdmFpbGFibGUoKQog
ewotICAgIHJldHVybiAhIXdlYm06OnN3YXAgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS53ZWJNUGFyc2VyRW5hYmxlZCgpOworICAgIHJldHVybiAhIXdlYm06OnN3
YXA7CiB9CiAKIHVzaW5nIG5hbWVzcGFjZSB3ZWJtOwpAQCAtNTMwLDEzICs1MjksNiBAQCBNZWRp
YVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGUgU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6aXNDb250
ZW50VHlwZVN1cHBvcnRlZChjbwogI2VuZGlmIC8vIEVOQUJMRShWUDkpIHx8IEVOQUJMRShWT1JC
SVMpIHx8IEVOQUJMRShPUFVTKQogfQogCi1SZWZQdHI8U291cmNlQnVmZmVyUGFyc2VyV2ViTT4g
U291cmNlQnVmZmVyUGFyc2VyV2ViTTo6Y3JlYXRlKGNvbnN0IENvbnRlbnRUeXBlJiB0eXBlKQot
ewotICAgIGlmIChpc0NvbnRlbnRUeXBlU3VwcG9ydGVkKHR5cGUpICE9IE1lZGlhUGxheWVyRW51
bXM6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCi0gICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU291cmNlQnVmZmVyUGFyc2VyV2ViTSgpKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0K
LQogU291cmNlQnVmZmVyUGFyc2VyV2ViTTo6U291cmNlQnVmZmVyUGFyc2VyV2ViTSgpCiAgICAg
OiBtX3JlYWRlcihXVEY6Om1ha2VVbmlxdWVSZWY8U3RyZWFtaW5nVmVjdG9yUmVhZGVyPigpKQog
ICAgICwgbV9pbml0aWFsaXphdGlvblNlZ21lbnRJc0hhbmRsZWRTZW1hcGhvcmUoQm94PEJpbmFy
eVNlbWFwaG9yZT46OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oCmluZGV4
IGZjMjRkOGM3M2NhYmIxMGNmNWIyN2YxYmQyMGFkMzRiMjY2ZGM2YzAuLjY1ZGU2NThjZDMyZmU5
ZDcxODc1OGY3MTUxZDFkNDc0ZDA0MmYxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1NvdXJjZUJ1ZmZlclBhcnNlcldlYk0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJN
LmgKQEAgLTYxLDcgKzYxLDYgQEAgcHVibGljOgogICAgIGNsYXNzIFN0cmVhbWluZ1ZlY3RvclJl
YWRlcjsKIAogICAgIHN0YXRpYyBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGUgaXNDb250
ZW50VHlwZVN1cHBvcnRlZChjb25zdCBDb250ZW50VHlwZSYpOwotICAgIHN0YXRpYyBSZWZQdHI8
U291cmNlQnVmZmVyUGFyc2VyV2ViTT4gY3JlYXRlKGNvbnN0IENvbnRlbnRUeXBlJik7CiAKICAg
ICBTb3VyY2VCdWZmZXJQYXJzZXJXZWJNKCk7CiAgICAgflNvdXJjZUJ1ZmZlclBhcnNlcldlYk0o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
LmNwcAppbmRleCBlZmVmN2JhM2MyODJlZTY1MzA4ZTA1NGUzMzc2YjRlNWEyZWRiMzVmLi4zNDBk
ODQzYTg2YTZlMjRlYjE2MWNiYTBiODA4ZTI3Y2MxNjFjN2M2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0
ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC03NCw3ICs3NCw3
IEBAIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhU291cmNlUHJpdmF0ZUdTdHJl
YW1lcigpCiAgICAgICAgIHNvdXJjZUJ1ZmZlclByaXZhdGUtPmNsZWFyTWVkaWFTb3VyY2UoKTsK
IH0KIAotTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQ
cml2YXRlR1N0cmVhbWVyOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmIGNvbnRl
bnRUeXBlLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mIHNvdXJjZUJ1ZmZlclByaXZhdGUp
CitNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZVByaXZh
dGVHU3RyZWFtZXI6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5
cGUsIGJvb2wsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgc291cmNlQnVmZmVyUHJpdmF0
ZSkKIHsKICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVudFR5cGUpOwogICAgIHNv
dXJjZUJ1ZmZlclByaXZhdGUgPSBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUo
dGhpcywgY29udGVudFR5cGUsIG1fcGxheWVyUHJpdmF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0
ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuaAppbmRleCAzNGNmNzBiNzIzZDdkYWU4
MWMwZGQ3NGMwNTJkMjdjZTZmNGJlNTI0Li41N2FhOWM4ZTRmZjhiZTA0ZmZkNjc2ZjllN2ZjMTdj
MDFjM2IzYzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRl
R1N0cmVhbWVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIG9w
ZW4oTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50JiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFJik7CiAgICAgdmlydHVhbCB+TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKCk7CiAKLSAg
ICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNv
dXJjZUJ1ZmZlclByaXZhdGU+Jikgb3ZlcnJpZGU7CisgICAgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1
ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIGJvb2wsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRl
PiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclBy
aXZhdGUqKTsKIAogICAgIHZvaWQgZHVyYXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpIG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggOTc5YTgx
ZDNiOTBjYjY2MGFlNzdiYWFiMjhkYTBlYzk2Y2IzOTIwMC4uNzQyODAyYzZjNTlkZDMxNDJjNDA2
ZjljNzJmYzdmNzhiOGFjODdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUu
Y3BwCkBAIC02Miw3ICs2Miw3IEBAIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6On5Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlKCkKICAgICAgICAgYnVmZmVyLT5jbGVhck1lZGlhU291cmNlKCk7CiB9CiAK
LU1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFk
ZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIFJlZlB0cjxTb3Vy
Y2VCdWZmZXJQcml2YXRlPiYgb3V0UHJpdmF0ZSkKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50
VHlwZSYgY29udGVudFR5cGUsIGJvb2wsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgb3V0
UHJpdmF0ZSkKIHsKICAgICBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7
CiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmgKaW5kZXggZTNkOTgwN2M2YjE1MjFmYzliMDRlNjRiMTY5ZjVlZWRkNDY0
NTE5OC4uMTIzYjY4MzhkY2Y1ZTRlZmQ1YTU1MzQ0YWJhM2YxYWZjNDI5MzMwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAg
ICBNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50Jik7CiAKICAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGUgT3Zl
cnJpZGVzCi0gICAgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYs
IFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpIG92ZXJyaWRlOworICAgIEFkZFN0YXR1cyBh
ZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmLCBib29sIHdlYk1QYXJzZXJFbmFibGVk
LCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mKSBvdmVycmlkZTsKICAgICB2b2lkIGR1cmF0
aW9uQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2b2lkIG1hcmtFbmRP
ZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc0VuZGVkKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pc0VuZGVkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKaW5k
ZXggNjYxZjExYmIyMGVkMjJhNDVlYjYwZmQ4ZmMyYTNhYTgwYTM3MzZkNS4uYWY3NzkwZDJhM2Rj
Y2FkMzM0NzQ3MTVkNzAyZDA1ODhmMWZlNjNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApAQCAtMTM0
LDkgKzEzNCw5IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZChVUkwmJiB1cmws
IE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mCiB9CiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2Uo
VVJMJiYgdXJsLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIFJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlkZW50aWZpZXIsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2Uo
VVJMJiYgdXJsLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGJvb2wg
d2ViTVBhcnNlckVuYWJsZWQsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJj
ZUlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25m
aWd1cmF0aW9uJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIG1fbWVkaWFTb3VyY2VQ
cm94eSA9IGFkb3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShtX21hbmFnZXIuZ3B1
Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpLCBtZWRpYVNvdXJjZUlkZW50aWZpZXIsICp0aGlzKSk7
CisgICAgbV9tZWRpYVNvdXJjZVByb3h5ID0gYWRvcHRSZWYoKm5ldyBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5KG1fbWFuYWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCksIG1lZGlhU291cmNl
SWRlbnRpZmllciwgd2ViTVBhcnNlckVuYWJsZWQsICp0aGlzKSk7CiAgICAgbV9wbGF5ZXItPmxv
YWQodXJsLCBjb250ZW50VHlwZSwgbV9tZWRpYVNvdXJjZVByb3h5LmdldCgpKTsKIAogICAgIFJl
bW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgK
aW5kZXggZDU4M2RkMzFmZGU0NTRlNDA0MzQwZWZlMjIyY2RiZjgzNTBhNzVjMS4uYzZjMzNlMTYx
Nzk5MWQ1MTQ0YTk3ODA1MTJkNDA3ZWI5ZjA4ZDU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0xMTUs
NyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkKFVSTCYmLCBPcHRpb25hbDxTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgY29u
c3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZp
Z3VyYXRpb24mJik+JiYpOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2Fk
TWVkaWFTb3VyY2UoVVJMJiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxh
eWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CisgICAgdm9pZCBsb2FkTWVkaWFTb3VyY2UoVVJMJiYs
IGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1l
ZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKT4mJik7CiAjZW5kaWYKICAgICB2b2lkIGNhbmNlbExv
YWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCAyY2RlMDgwNDlh
ZGVkYjRjNjE2OTU2OTRiMGI4OWI1ZWYwZmExMDM4Li5kNzljM2ZjNGE2ZTQ2YzNlYTE5Mjc0NDc4
Y2E4MWIxYjY4ZjA2Yzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MjgsNyArMjgsNyBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNv
dW50ZWQgewogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRpb25hbDxXZWJLaXQ6OlNhbmRib3hFeHRl
bnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwgV2ViQ29yZTo6Q29udGVudFR5cGUgY29u
dGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlvbikgQXN5bmMKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQotICAgIExvYWRNZWRpYVNvdXJjZShVUkwgdXJsLCBXZWJDb3JlOjpD
b250ZW50VHlwZSBjb250ZW50VHlwZSwgV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgbWVkaWFTb3VyY2VJZGVudGlmaWVyKSAtPiAoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRpb24pIEFzeW5jCisgICAgTG9hZE1l
ZGlhU291cmNlKFVSTCB1cmwsIFdlYkNvcmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlLCBib29s
IHdlYk1QYXJzZXJFbmFibGVkLCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBt
ZWRpYVNvdXJjZUlkZW50aWZpZXIpIC0+IChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlvbikgQXN5bmMKICNlbmRpZgogICAgIENh
bmNlbExvYWQoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKaW5kZXggMTMzY2RjY2UwMWE4OThjNDQwZThi
NjhhMDY4YjFmN2RmY2Y3NmJiMC4uZDUxMmEwMDliZTM1Yjc3ODdhMTgxNzk2YWIxNTQ2NTk2Nzc4
MTFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhU291cmNlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcApAQCAtNDEsOSArNDEsMTAgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZW1vdGVNZWRpYVNvdXJjZVBy
b3h5OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlm
aWVyLCBSZW1vdGVNZWRpYVBsYXllclByb3h5JiByZW1vdGVNZWRpYVBsYXllclByb3h5KQorUmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgYm9vbCB3ZWJNUGFyc2VyRW5hYmxlZCwgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eSYgcmVtb3RlTWVkaWFQbGF5ZXJQcm94eSkKICAgICA6IG1fY29ubmVjdGlvblRv
V2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQogICAgICwgbV9pZGVudGlmaWVyKGlk
ZW50aWZpZXIpCisgICAgLCBtX3dlYk1QYXJzZXJFbmFibGVkKHdlYk1QYXJzZXJFbmFibGVkKQog
ICAgICwgbV9yZW1vdGVNZWRpYVBsYXllclByb3h5KG1ha2VXZWFrUHRyKHJlbW90ZU1lZGlhUGxh
eWVyUHJveHkpKQogewogICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2
ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJv
eHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlz
KTsKQEAgLTk5LDcgKzEwMCw3IEBAIHZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291
cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiBjb250ZW50CiAgICAgICAgIHJl
dHVybjsKIAogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2
YXRlOwotICAgIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cyA9IG1fcHJpdmF0
ZS0+YWRkU291cmNlQnVmZmVyKGNvbnRlbnRUeXBlLCBzb3VyY2VCdWZmZXJQcml2YXRlKTsKKyAg
ICBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBzdGF0dXMgPSBtX3ByaXZhdGUtPmFkZFNv
dXJjZUJ1ZmZlcihjb250ZW50VHlwZSwgbV93ZWJNUGFyc2VyRW5hYmxlZCwgc291cmNlQnVmZmVy
UHJpdmF0ZSk7CiAKICAgICBPcHRpb25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiBy
ZW1vdGVTb3VyY2VJZGVudGlmaWVyOwogICAgIGlmIChzdGF0dXMgPT0gTWVkaWFTb3VyY2VQcml2
YXRlOjpBZGRTdGF0dXM6Ok9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaAppbmRleCA2ODgxZmUxMjJjNjQxMjVl
YjgzZDY0MzVlYWUyZmY1NGUwNTYxMTM3Li4xOTVkNjBlMThkMzk0ZDk3YzE1NTNkZWQ3MDhmZTMx
YjAxZTRjOTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eSBmaW5hbAogICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZl
ciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUmVtb3RlTWVk
aWFTb3VyY2VQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyLCBSZW1vdGVNZWRpYVBsYXllclByb3h5Jik7CisgICAgUmVtb3RlTWVkaWFT
b3VyY2VQcm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBib29sIHdlYk1QYXJzZXJFbmFibGVkLCBSZW1vdGVNZWRpYVBsYXllclByb3h5
Jik7CiAgICAgdmlydHVhbCB+UmVtb3RlTWVkaWFTb3VyY2VQcm94eSgpOwogCiAgICAgLy8gTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50IG92ZXJyaWRlcwpAQCAtODcsNiArODcsNyBAQCBwcml2YXRl
OgogCiAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogICAgIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAg
Ym9vbCBtX3dlYk1QYXJzZXJFbmFibGVkIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8V2ViQ29yZTo6
TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CiAgICAgV2Vha1B0cjxSZW1vdGVNZWRpYVBs
YXllclByb3h5PiBtX3JlbW90ZU1lZGlhUGxheWVyUHJveHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9Gb3JtYXRSZWFkZXIuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL0Zvcm1hdFJlYWRlci5j
cHAKaW5kZXggNzllZDEwMzQ0ODU5YWZlMzNjOGEzNDRjYTQ2YjNjMGVlMzJlMGY3NS4uNjhkNDBi
OTFhNGZiMmEyYWFhMWYzYzI3OWNjNzM5ZjA5YzIyNmQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL0Zvcm1hdFJlYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL0Zvcm1hdFJlYWRlci5j
cHAKQEAgLTg3LDcgKzg3LDcgQEAgdm9pZCBGb3JtYXRSZWFkZXI6OnBhcnNlQnl0ZVNvdXJjZShS
ZXRhaW5QdHI8TVRQbHVnaW5CeXRlU291cmNlUmVmPiYmIGJ5dGVTb3VyY2UKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwogCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPENvbnRlbnRUeXBl
PiBjb250ZW50VHlwZSgidmlkZW8vd2VibSJfcyk7Ci0gICAgYXV0byBwYXJzZXIgPSBTb3VyY2VC
dWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlwZSk7CisgICAgYXV0byBwYXJzZXIgPSBTb3Vy
Y2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlwZSwgdHJ1ZSk7CiAgICAgaWYgKCFwYXJz
ZXIpIHsKICAgICAgICAgbV9wYXJzZVRyYWNrc1N0YXR1cyA9IGtNVFBsdWdpbkZvcm1hdFJlYWRl
ckVycm9yX0FsbG9jYXRpb25GYWlsdXJlOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5jcHAKaW5kZXggOTcyM2UwODk3ZTg0OTE1YmM5MGQ5NDg4YzE0OGMxYWZiYzc2
MDFmOS4uODc4OGYyZmE3MjM0NTEzNGIxMDBlYTJjOTcwMTU1YjM5YzMxYjE3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1MYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1UaW1lUmFuZ2Vz
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9MYXllck1hbmFnZXIuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNjM5LDcgKzY0MCw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlw
ZSYgY29udGVudFR5CiB7CiAgICAgaWYgKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciA9PSBNZWRp
YVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkgewog
ICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXI6Omdl
bmVyYXRlKCk7Ci0gICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkxvYWRNZWRpYVNvdXJjZSh1cmwsIGNvbnRlbnRU
eXBlLCBpZGVudGlmaWVyKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShhdXRvJiYg
Y29uZmlndXJhdGlvbikgeworICAgICAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5
KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBj
b250ZW50VHlwZSwgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJN
UGFyc2VyRW5hYmxlZCgpLCBpZGVudGlmaWVyKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRo
aXMpXShhdXRvJiYgY29uZmlndXJhdGlvbikgewogICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQog
ICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pOwogICAgICAgICB9LCBtX2lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNw
cAppbmRleCA5MGU4YTI0ZmMxM2ExZWIzYzMwMTk0MWM1OTA0YjA5MTFmMzhiMjU1Li5hNzc3OTUw
OTg2MmU0N2UyYzAxZTY4NWY2NGJiNmIwMmFhYjYzNWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6fk1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpCiAgICAgICAgICgqaXQpLT5jbGVhck1lZGlhU291cmNl
KCk7CiB9CiAKLU1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwg
UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQorTWVkaWFTb3VyY2VQcml2
YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIo
Y29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBib29sLCBSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZT4mIG91dFByaXZhdGUpCiB7CiAgICAgREVCVUdfTE9HKExPR0lERU5USUZJRVIsIGNv
bnRlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKaW5kZXggNTRlMmVjOTdhYjE5
ZmZiM2MxNWFiYmMxNzBkZDc1YjczOWM0OWE3YS4uM2RjNTBjZTkwZDEyMTMwZDdiODQ4YzdlMTdk
MjJiMGZiMTNhMTEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCkBAIC02Miw3ICs2Miw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoKTsKIAog
ICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBvdmVycmlkZXMKLSAgICBBZGRTdGF0dXMgYWRkU291
cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgUmVmUHRyPFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7CisgICAgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZl
cihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGJvb2wgd2ViTVBhcnNlckVuYWJsZWQsIFJl
ZlB0cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYpIGZpbmFsOwogICAgIHZvaWQgZHVy
YXRpb25DaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOwogICAgIHZvaWQgbWFya0VuZE9m
U3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5hbDsKICAgICB2b2lkIHVubWFya0VuZE9mU3Ry
ZWFtKCkgZmluYWw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>