<?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>128546</bug_id>
          
          <creation_ts>2014-02-10 11:43:59 -0800</creation_ts>
          <short_desc>[MSE] Fix layering violations in MediaSource</short_desc>
          <delta_ts>2014-02-10 15:48:04 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>b.long</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978984</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-10 11:43:59 -0800</bug_when>
    <thetext>[MSE] Fix layering violations in MediaSource</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978989</commentid>
    <comment_count>1</comment_count>
      <attachid>223730</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-10 11:58:43 -0800</bug_when>
    <thetext>Created attachment 223730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978994</commentid>
    <comment_count>2</comment_count>
      <attachid>223732</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-10 12:01:16 -0800</bug_when>
    <thetext>Created attachment 223732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979011</commentid>
    <comment_count>3</comment_count>
      <attachid>223732</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-02-10 13:01:17 -0800</bug_when>
    <thetext>Comment on attachment 223732
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:395
&gt; +bool MediaPlayer::load(const URL&amp; url, const ContentType&amp; contentType, MediaSourcePrivateClient* mediaSource)
&gt;  {
&gt;      m_mediaSource = mediaSource;

Nit: I think it is worth adding an ASSERT because you now take a raw pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979043</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-10 14:04:39 -0800</bug_when>
    <thetext>Committed r163816: &lt;http://trac.webkit.org/changeset/163816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979085</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-10 15:20:03 -0800</bug_when>
    <thetext>This seems to have broken the GTK and EFL builds. Is removing HTMLMediaSource from CMakeLists.txt and GNUMakefile.list.am enough, or do we need to add any new files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979099</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-10 15:41:49 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; This seems to have broken the GTK and EFL builds. Is removing HTMLMediaSource from CMakeLists.txt and GNUMakefile.list.am enough, or do we need to add any new files?

My apologies.  No, the only new file is a non-exported header only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979103</commentid>
    <comment_count>7</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-02-10 15:48:04 -0800</bug_when>
    <thetext>No worries, fixed now:

http://trac.webkit.org/changeset/163826
http://trac.webkit.org/changeset/163828</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223730</attachid>
            <date>2014-02-10 11:58:43 -0800</date>
            <delta_ts>2014-02-10 12:01:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128546-20140210115842.patch</filename>
            <type>text/plain</type>
            <size>3485</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdiZTAxNjI0MzVlMTM4
MmE3YjNkZWFjOTE5ZTRjNWM3M2JmNzdmOS4uNzE3OGE4OTg0ZjQ0Mjc4YWU3MGI2MmMyNThiOGI5
NDYyODA0ZWY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE0LTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEZpeCBsYXllcmlu
ZyB2aW9sYXRpb25zIGluIE1lZGlhU291cmNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2RlIGluIE1vZHVsZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQg
cGFydCBvZiBodG1sLyBhbmQgc2hvdWxkIGhhdmUgdGhlCisgICAgICAgIHNhbWUgbGF5ZXJpbmcg
cHJvcGVydGllcy4gR2V0IHJpZCBvZiBIVE1MTWVkaWFTb3VyY2UgKHdoaWNoIHdhcyBpbnRlbmRl
ZAorICAgICAgICB0byBhbGxvdyBNb2R1bGVzL21lZGlhc291cmNlIHRvIGJlIGNvbnNpZGVyZWQg
cGFydCBvZiBwbGF0Zm9ybS8pIGFuZCBhZGQKKyAgICAgICAgYSBuZXcgY2xpZW50IGludGVyZmFj
ZSBhbGxvd2luZyBjb21tdW5pY2F0aW9uIGZyb20gcGxhdGZvcm0vIC0+IAorICAgICAgICBNb2R1
bGVzL21lZGlhc291cmNlLgorCisgICAgICAgIFJlcGxhY2UgSFRNTE1lZGlhU291cmNlIC0+IE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYVNvdXJjZS5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFTb3VyY2UuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ6On5NZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQpOgorCisgICAgICAgIE1vdmUgcmVnaXN0cnkgc3VwcG9ydCBm
cm9tIEhUTUxNZWRpYVNvdXJjZSAtPiBNZWRpYVNvdXJjZS4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
OjpzZXRSZWdpc3RyeSk6IE1vdmVkIGZyb20gSFRNTE1lZGlhU291cmNlLmNwcC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZTo6bG9va3VwKTogRGl0dG8uCisKKyAgICAgICAgVXBkYXRlIHJlZmVyZW5jZXMg
dG8gSFRNTE1lZGlhU291cmNlIC0+IE1lZGlhU291cmNlOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNvdXJjZVJlZ2lzdHJ5OjpNZWRpYVNvdXJjZVJlZ2lzdHJ5KTogCisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3Vy
Y2UpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorCisgICAgICAgIFVwZGF0
ZSByZWZlcmVuY2VzIHRvIEhUTUxNZWRpYVNvdXJjZSAtPiBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQ6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbE1lZGlhUGxheWVyUHJpdmF0ZTo6bG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZUdTdHJlYW1lcjo6b3Blbik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhU291cmNlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL01lZGlhUGxheWVyUHJpdmF0ZUlPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpsb2FkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Lmg6CisKIDIwMTQtMDItMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIHNwZWNjZWQgZXZlbnQgaGFuZGxlcnMgdG8gSFRNTE1lZGlh
RWxlbWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223732</attachid>
            <date>2014-02-10 12:01:16 -0800</date>
            <delta_ts>2014-02-10 13:01:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128546-20140210120115.patch</filename>
            <type>text/plain</type>
            <size>40219</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdiZTAxNjI0MzVlMTM4
MmE3YjNkZWFjOTE5ZTRjNWM3M2JmNzdmOS4uNzE3OGE4OTg0ZjQ0Mjc4YWU3MGI2MmMyNThiOGI5
NDYyODA0ZWY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE0LTAyLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEZpeCBsYXllcmlu
ZyB2aW9sYXRpb25zIGluIE1lZGlhU291cmNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2RlIGluIE1vZHVsZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQg
cGFydCBvZiBodG1sLyBhbmQgc2hvdWxkIGhhdmUgdGhlCisgICAgICAgIHNhbWUgbGF5ZXJpbmcg
cHJvcGVydGllcy4gR2V0IHJpZCBvZiBIVE1MTWVkaWFTb3VyY2UgKHdoaWNoIHdhcyBpbnRlbmRl
ZAorICAgICAgICB0byBhbGxvdyBNb2R1bGVzL21lZGlhc291cmNlIHRvIGJlIGNvbnNpZGVyZWQg
cGFydCBvZiBwbGF0Zm9ybS8pIGFuZCBhZGQKKyAgICAgICAgYSBuZXcgY2xpZW50IGludGVyZmFj
ZSBhbGxvd2luZyBjb21tdW5pY2F0aW9uIGZyb20gcGxhdGZvcm0vIC0+IAorICAgICAgICBNb2R1
bGVzL21lZGlhc291cmNlLgorCisgICAgICAgIFJlcGxhY2UgSFRNTE1lZGlhU291cmNlIC0+IE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYVNvdXJjZS5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFTb3VyY2UuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ6On5NZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQpOgorCisgICAgICAgIE1vdmUgcmVnaXN0cnkgc3VwcG9ydCBm
cm9tIEhUTUxNZWRpYVNvdXJjZSAtPiBNZWRpYVNvdXJjZS4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
OjpzZXRSZWdpc3RyeSk6IE1vdmVkIGZyb20gSFRNTE1lZGlhU291cmNlLmNwcC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZTo6bG9va3VwKTogRGl0dG8uCisKKyAgICAgICAgVXBkYXRlIHJlZmVyZW5jZXMg
dG8gSFRNTE1lZGlhU291cmNlIC0+IE1lZGlhU291cmNlOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNvdXJjZVJlZ2lzdHJ5OjpNZWRpYVNvdXJjZVJlZ2lzdHJ5KTogCisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3Vy
Y2UpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorCisgICAgICAgIFVwZGF0
ZSByZWZlcmVuY2VzIHRvIEhUTUxNZWRpYVNvdXJjZSAtPiBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQ6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TnVsbE1lZGlhUGxheWVyUHJpdmF0ZTo6bG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNvdXJjZUdTdHJlYW1lcjo6b3Blbik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhU291cmNlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL01lZGlhUGxheWVyUHJpdmF0ZUlPUy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpsb2FkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Lmg6CisKIDIwMTQtMDItMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIHNwZWNjZWQgZXZlbnQgaGFuZGxlcnMgdG8gSFRNTE1lZGlh
RWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcAppbmRleCA3YTMyOTQ2NzZlNjk4OGNiZGQ2ODM3ZjM3NTdhMzQzZDkxYjQ4ZTg2
Li41OTRhZWEyMjg4NjZmZjgxNzY4NTE0NTNhMzRlMGRkZTY3NWNkMmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApAQCAtNTgs
NiArNTgsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitVUkxSZWdpc3RyeSogTWVkaWFT
b3VyY2U6OnNfcmVnaXN0cnkgPSAwOworCit2b2lkIE1lZGlhU291cmNlOjpzZXRSZWdpc3RyeShV
UkxSZWdpc3RyeSogcmVnaXN0cnkpCit7CisgICAgQVNTRVJUKCFzX3JlZ2lzdHJ5KTsKKyAgICBz
X3JlZ2lzdHJ5ID0gcmVnaXN0cnk7Cit9CisKIFBhc3NSZWZQdHI8TWVkaWFTb3VyY2U+IE1lZGlh
U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBS
ZWZQdHI8TWVkaWFTb3VyY2U+IG1lZGlhU291cmNlKGFkb3B0UmVmKG5ldyBNZWRpYVNvdXJjZShj
b250ZXh0KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5oCmluZGV4IDEzMWI1NDlkMDQyNGIwMDQ5OTUwNmRlMzBkMDE3YTg0YzkwZmM5NDcu
LmVkMDA4NGNhOGMzYmRkNjQ4MjA4ZTFiYmVlMTU4MzFmNjgxNGY4ZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTM2LDggKzM2
LDggQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdl
dC5oIgogI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCi0jaW5jbHVkZSAiSFRNTE1lZGlh
U291cmNlLmgiCiAjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlLmgiCisjaW5jbHVkZSAiTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAj
aW5jbHVkZSAiU291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyTGlzdC5oIgpA
QCAtNTAsOCArNTAsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHZW5lcmljRXZl
bnRRdWV1ZTsKIAotY2xhc3MgTWVkaWFTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVNv
dXJjZT4sIHB1YmxpYyBIVE1MTWVkaWFTb3VyY2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsK
K2NsYXNzIE1lZGlhU291cmNlIDogcHVibGljIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBVUkxSZWdpc3RyYWJsZSB7CiBwdWJsaWM6Cisg
ICAgc3RhdGljIHZvaWQgc2V0UmVnaXN0cnkoVVJMUmVnaXN0cnkqKTsKKyAgICBzdGF0aWMgTWVk
aWFTb3VyY2UqIGxvb2t1cChjb25zdCBTdHJpbmcmIHVybCkgeyByZXR1cm4gc19yZWdpc3RyeSA/
IHN0YXRpY19jYXN0PE1lZGlhU291cmNlKj4oc19yZWdpc3RyeS0+bG9va3VwKHVybCkpIDogMDsg
fQorCiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgb3BlbktleXdvcmQoKTsKICAgICBz
dGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBjbG9zZWRLZXl3b3JkKCk7CiAgICAgc3RhdGljIGNv
bnN0IEF0b21pY1N0cmluZyYgZW5kZWRLZXl3b3JkKCk7CkBAIC02NiwxNiArNjksMTUgQEAgcHVi
bGljOgogICAgIHZvaWQgc291cmNlQnVmZmVyRGlkQ2hhbmdlQWNpdHZlU3RhdGUoU291cmNlQnVm
ZmVyKiwgYm9vbCk7CiAgICAgdm9pZCBzdHJlYW1FbmRlZFdpdGhFcnJvcihjb25zdCBBdG9taWNT
dHJpbmcmIGVycm9yLCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICAvLyBIVE1MTWVkaWFTb3VyY2UK
LSAgICB2aXJ0dWFsIGJvb2wgYXR0YWNoVG9FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKSBvdmVy
cmlkZTsKKyAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQg
c2V0UHJpdmF0ZUFuZE9wZW4oUGFzc1JlZjxNZWRpYVNvdXJjZVByaXZhdGU+KSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgaXND
bG9zZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGRvdWJsZSBkdXJhdGlvbigpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZmZXJl
ZCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZWZIVE1MTWVkaWFTb3VyY2Uo
KSBvdmVycmlkZSB7IHJlZigpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRlcmVmSFRNTE1lZGlhU291
cmNlKCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9Ci0gICAgdmlydHVhbCB2b2lkIG1vbml0b3JTb3Vy
Y2VCdWZmZXJzKCkgb3ZlcnJpZGU7CisKKyAgICBib29sIGF0dGFjaFRvRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50Kik7CisgICAgdm9pZCBjbG9zZSgpOworICAgIGJvb2wgaXNDbG9zZWQoKSBjb25z
dDsKKyAgICB2b2lkIG1vbml0b3JTb3VyY2VCdWZmZXJzKCk7CiAKICAgICB2b2lkIHNldER1cmF0
aW9uKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcmVh
ZHlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQpAQCAtMTA0LDggKzEwNiw4
IEBAIHB1YmxpYzoKICAgICAvLyBVUkxSZWdpc3RyYWJsZSBpbnRlcmZhY2UKICAgICB2aXJ0dWFs
IFVSTFJlZ2lzdHJ5JiByZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdXNpbmcgUmVm
Q291bnRlZDxNZWRpYVNvdXJjZT46OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291
cmNlPjo6ZGVyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQ+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ+
OjpkZXJlZjsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhU291cmNlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKQEAgLTExNyw2ICsxMTksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKICAgICBHZW5l
cmljRXZlbnRRdWV1ZSYgYXN5bmNFdmVudFF1ZXVlKCkgeyByZXR1cm4gbV9hc3luY0V2ZW50UXVl
dWU7IH0KIAorICAgIHN0YXRpYyBVUkxSZWdpc3RyeSogc19yZWdpc3RyeTsKKwogICAgIFJlZlB0
cjxNZWRpYVNvdXJjZVByaXZhdGU+IG1fcHJpdmF0ZTsKICAgICBSZWZQdHI8U291cmNlQnVmZmVy
TGlzdD4gbV9zb3VyY2VCdWZmZXJzOwogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBtX2Fj
dGl2ZVNvdXJjZUJ1ZmZlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcAppbmRleCBhNjUzMDg4NjAwOTkw
MTllZjkyYmFhNDVjYjc2YmQ0YjM1YTI1YmJlLi4yNDNkYTY4NzlhYmIyNTA2MzRhMmJkZTdiY2Jm
MzdlZTA4MTc3Y2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgVVJM
UmVnaXN0cmFibGUqIE1lZGlhU291cmNlUmVnaXN0cnk6Omxvb2t1cChjb25zdCBTdHJpbmcmIHVy
bCkgY29uc3QKIAogTWVkaWFTb3VyY2VSZWdpc3RyeTo6TWVkaWFTb3VyY2VSZWdpc3RyeSgpCiB7
Ci0gICAgSFRNTE1lZGlhU291cmNlOjpzZXRSZWdpc3RyeSh0aGlzKTsKKyAgICBNZWRpYVNvdXJj
ZTo6c2V0UmVnaXN0cnkodGhpcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAw
YzBlYjQ5MDIyMGI1YzJmY2RhZjE3ZmU2MDQ0OWIyMzFmMzZiN2RiLi40ZDI4YTY5YmQwMDY4YTNh
MDhhMjJiYTVkZmE1YmY3ZTZlOGUwOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDkwLDggKzU0OTAsNiBAQAogCQlDRDlE
RTE3RDE3QUFDNzVCMDBFQTM4NkQgLyogSlNTb3VyY2VCdWZmZXJMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlERTE3OTE3QUFDNzVCMDBFQTM4
NkQgLyogSlNTb3VyY2VCdWZmZXJMaXN0LmggKi87IH07CiAJCUNEOURFMTgxMTdBQUQ2QTQwMEVB
Mzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlERTE3RTE3QUFENjRFMDBFQTM4NkQgLyogRE9NVVJMTWVk
aWFTb3VyY2UuY3BwICovOyB9OwogCQlDRDlERTE4MjE3QUFENkE0MDBFQTM4NkQgLyogRE9NVVJM
TWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEOURFMTdGMTdBQUQ2NEUwMEVBMzg2RCAvKiBET01VUkxNZWRpYVNvdXJjZS5oICovOyB9
OwotCQlDRDlERTE4NTE3QUIwQ0YzMDBFQTM4NkQgLyogSFRNTE1lZGlhU291cmNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOURFMTgzMTdBQjBD
RjMwMEVBMzg2RCAvKiBIVE1MTWVkaWFTb3VyY2UuY3BwICovOyB9OwotCQlDRDlERTE4NjE3QUIw
Q0YzMDBFQTM4NkQgLyogSFRNTE1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDlERTE4NDE3QUIwQ0YzMDBFQTM4NkQgLyogSFRNTE1l
ZGlhU291cmNlLmggKi87IH07CiAJCUNEQTc5ODI0MTcwQTI1ODMwMEQ0NUM1NSAvKiBBdWRpb1Nl
c3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0RBNzk4MjMxNzBBMjU4MzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5jcHAgKi87IH07CiAJCUNE
QTc5ODI3MTcwQTI3OTEwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREE3OTgyNTE3MEEyNzkwMDBENDVD
NTUgLyogQXVkaW9TZXNzaW9uSU9TLm1tICovOyB9OwogCQlDREE3OTgyQTE3MEEzRDAwMDBENDVD
NTUgLyogQXVkaW9TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREE3OTgyMTE3MEEyMkRDMDBENDVDNTUgLyogQXVkaW9TZXNzaW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTU1MzIsNiAr
NTUzMCw3IEBACiAJCUNERDUyNUQ3MTQ1QjZERDAwMDhEMjA0RCAvKiBKU0hUTUxNZWRpYUVsZW1l
bnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RGNjVDQ0MxNDVCNkFGRTAwQzRDN0FBIC8qIEpTSFRNTE1lZGlhRWxlbWVudEN1c3RvbS5j
cHAgKi87IH07CiAJCUNERDcwODk2MTgzNTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTQxODM1
OUY2RTAwMkIzREM2IC8qIFNhbXBsZU1hcC5jcHAgKi87IH07CiAJCUNERDcwODk3MTgzNTlGNkYw
MDJCM0RDNiAvKiBTYW1wbGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENERDcwODk1MTgzNTlGNkYwMDJCM0RDNiAvKiBTYW1wbGVNYXAuaCAqLzsg
fTsKKwkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFF
NzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oICovOyB9Owog
CQlDREUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZD
RTYwMEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwogCQlDREUzQTg1NzE3
RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFM0E4NTUxN0Y2MDIwNDAwQzVC
RTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5tbSAqLzsgfTsKIAkJQ0RFM0E4NTgxN0Y2
MDIwNDAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFM0E4NTYxN0Y2MDIwNDAwQzVCRTIw
IC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oICovOyB9OwpAQCAtMTI3MjcsOCArMTI3MjYs
NiBAQAogCQlDRDlERTE3RTE3QUFENjRFMDBFQTM4NkQgLyogRE9NVVJMTWVkaWFTb3VyY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRE9NVVJMTWVkaWFTb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDlERTE3RjE3QUFENjRFMDBFQTM4NkQgLyogRE9NVVJMTWVkaWFT
b3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NVVJMTWVkaWFTb3VyY2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q5REUxODAxN0FBRDY0RTAwRUEzODZEIC8qIERPTVVSTE1lZGlh
U291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBET01VUkxNZWRpYVNvdXJjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUNEOURFMTgzMTdBQjBDRjMwMEVBMzg2RCAvKiBIVE1MTWVkaWFTb3VyY2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTE1lZGlhU291cmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQ0Q5REUxODQxN0FCMENGMzAwRUEz
ODZEIC8qIEhUTUxNZWRpYVNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVE1MTWVkaWFTb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4
MjExNzBBMjJEQzAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRp
b1Nlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNzk4MjIxNzBBMjRG
NDAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbkxpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlv
U2Vzc2lvbkxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQTc5ODIz
MTcwQTI1ODMwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEyNzk3LDYgKzEyNzk0LDcgQEAKIAkJQ0REMUU1MjUxNjdCQTU2NDAwQ0U4MjBC
IC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNERDcwODk0MTgzNTlGNkUwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2FtcGxlTWFwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTYW1wbGVNYXAuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RF
M0E4NTIxN0Y1RkNFNjAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvVHJhY2tQcml2YXRlQVZGLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTNBODU1MTdGNjAyMDQwMEM1QkUyMCAvKiBBdWRpb1Ry
YWNrUHJpdmF0ZUFWRk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMubW07IHBhdGggPSBvYmpjL0F1ZGlvVHJhY2tQ
cml2YXRlQVZGT2JqQy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFM0E4NTYx
N0Y2MDIwNDAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMuaDsgcGF0aCA9
IG9iamMvQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNzI0OSw4ICsxNzI0Nyw2IEBACiAJCQkJRTQ0NjEzOTIwQ0Q2MzMxMDAwRkFEQTc1
IC8qIEhUTUxNZWRpYUVsZW1lbnQuY3BwICovLAogCQkJCUU0NDYxMzkzMENENjMzMTAwMEZBREE3
NSAvKiBIVE1MTWVkaWFFbGVtZW50LmggKi8sCiAJCQkJRTQ0NjEzOTQwQ0Q2MzMxMDAwRkFEQTc1
IC8qIEhUTUxNZWRpYUVsZW1lbnQuaWRsICovLAotCQkJCUNEOURFMTgzMTdBQjBDRjMwMEVBMzg2
RCAvKiBIVE1MTWVkaWFTb3VyY2UuY3BwICovLAotCQkJCUNEOURFMTg0MTdBQjBDRjMwMEVBMzg2
RCAvKiBIVE1MTWVkaWFTb3VyY2UuaCAqLywKIAkJCQlBOEVBNzlFQzBBMTkxNkRGMDBBOEVGNUYg
LyogSFRNTE1lbnVFbGVtZW50LmNwcCAqLywKIAkJCQlBOEVBNzlFODBBMTkxNkRGMDBBOEVGNUYg
LyogSFRNTE1lbnVFbGVtZW50LmggKi8sCiAJCQkJMUFFMkFFNDMwQTFEMjY5RTAwQjQyQjI1IC8q
IEhUTUxNZW51RWxlbWVudC5pZGwgKi8sCkBAIC0xOTg3Myw2ICsxOTg2OSw3IEBACiAJCQkJRTRC
NDFFMEQwQ0JGOTBCRDAwQUYyRUNFIC8qIE1lZGlhUGxheWVyLmggKi8sCiAJCQkJMDc5RjVFNEIw
RjNCRUJFQTAwNUUwNzgyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZS5oICovLAogCQkJCUNENjQxRUIx
MTgxOEY1RUQwMEVFNEM0MSAvKiBNZWRpYVNvdXJjZVByaXZhdGUuaCAqLywKKwkJCQlDRERDMUU3
OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggKi8sCiAJCQkJ
NkIzNDgwOTIwRUVGNTBENDAwQUMxQjQxIC8qIE5hdGl2ZUltYWdlUHRyLmggKi8sCiAJCQkJQjI3
NTM1NTIwQjA1MzgxNDAwMkNFNjRGIC8qIFBhdGguY3BwICovLAogCQkJCUIyNzUzNTUzMEIwNTM4
MTQwMDJDRTY0RiAvKiBQYXRoLmggKi8sCkBAIC0yNDc0Niw3ICsyNDc0Myw2IEBACiAJCQkJRkRB
M0U5NUMxMzRBNDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMDAxNDYyOEIxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vz
c0VudHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTlFODlGQzE2RTJEQzA1MDBBOTA4RjggLyog
T3JpZ2luTG9jay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0Q5REUxODYxN0FCMENGMzAwRUEzODZE
IC8qIEhUTUxNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1ODFGQUYxNTIwRjkx
RjAwM0E3QTc1IC8qIE9zY2lsbGF0b3JOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkx
QjE3RDE0RDFDMDA0MjBBQTEgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNUVCNUREMEU4MUI4REQwMEIyNTk2NSAvKiBPdXRsaW5lVmFsdWUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjU0MzAsNiArMjU0MjYsNyBAQAogCQkJCTg0NUU3MkZDMEZEMjYyMzkw
MEE4N0Q3OSAvKiBTVkdGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4MUVCRjNCMEZEMzRG
NDEwMERBNzU1OSAvKiBTVkdGaWx0ZXJCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIy
N0EwQzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRmlsdGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBMEYwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
MjdBMTIwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0ZpdFRvVmlld0JveC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjIzN0M4QTgwRDM0NEQxMTAwMTNGNzA3IC8qIFNWR0ZvbnREYXRhLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4NTYzLDcgKzI4NTYwLDYgQEAKIAkJCQk5M0YxOUFFNjA4MjQ1RTU5MDAxRTlB
QkMgLyogU1NMS2V5R2VuZXJhdG9yTWFjLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDN0ZBNjJF
MEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBNUFGQjM0RjExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUNEOURFMTg1MTdBQjBDRjMwMEVBMzg2RCAvKiBIVE1MTWVkaWFTb3VyY2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFFM0Y5QzcwREEwNTlEQzAwMjUwOTExIC8qIFN0b3JhZ2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQzUxNjBFRUExMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VB
cmVhSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTEwMkVEMDBGRDlFRjhDMDBGQUZGMDQg
LyogU3RvcmFnZUFyZWFTeW5jLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYzY2MGI2NmJiYmMzYTNhNjdiYzlhOWQzN2QxNTli
MjBlM2U1MTY1Yi4uNmRlNDgwYmJlMjBlZTQ0ZjI1MThkYTVjOTEyYjFmZjNkMDJlMzEzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMjAsNyArMTIwLDcg
QEAKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCi0j
aW5jbHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKICNp
bmNsdWRlICJQZXJmb3JtYW5jZS5oIgogI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5Lmgi
CiAjZW5kaWYKQEAgLTEyMzMsMTEgKzEyMzMsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojps
b2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudFQK
ICAgICBBU1NFUlQoIW1fbWVkaWFTb3VyY2UpOwogCiAgICAgaWYgKHVybC5wcm90b2NvbElzKG1l
ZGlhU291cmNlQmxvYlByb3RvY29sKSkKLSAgICAgICAgbV9tZWRpYVNvdXJjZSA9IEhUTUxNZWRp
YVNvdXJjZTo6bG9va3VwKHVybC5zdHJpbmcoKSk7CisgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBN
ZWRpYVNvdXJjZTo6bG9va3VwKHVybC5zdHJpbmcoKSk7CiAKICAgICBpZiAobV9tZWRpYVNvdXJj
ZSkgewogICAgICAgICBpZiAobV9tZWRpYVNvdXJjZS0+YXR0YWNoVG9FbGVtZW50KHRoaXMpKQot
ICAgICAgICAgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBjb250ZW50VHlwZSwgbV9tZWRpYVNvdXJj
ZSk7CisgICAgICAgICAgICBtX3BsYXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlh
U291cmNlLmdldCgpKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAvLyBGb3JnZXQgb3Vy
IHJlZmVyZW5jZSB0byB0aGUgTWVkaWFTb3VyY2UsIHNvIHdlIGxlYXZlIGl0IGFsb25lCiAgICAg
ICAgICAgICAvLyB3aGlsZSBwcm9jZXNzaW5nIHJlbWFpbmRlciBvZiBsb2FkIGZhaWx1cmUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDY5MWZhMTQ1NzYzNmNjNDRj
YmMzMzkzOTYzMTE3MzdjNzhmZTRmNmIuLmZkYzIwMDdiN2Q0N2VmODQ0NjAzYWUxMGVmYTMwMGUy
YWM0YThhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC04MSw2
ICs4MSw3IEBAIGNsYXNzIERpc3BsYXlTbGVlcERpc2FibGVyOwogY2xhc3MgTWVkaWFLZXlzOwog
I2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK2NsYXNzIE1lZGlhU291cmNlOwogY2xh
c3MgVmlkZW9QbGF5YmFja1F1YWxpdHk7CiAjZW5kaWYKIApAQCAtNzQyLDcgKzc0Myw3IEBAIHBy
aXZhdGU6CiAgICAgaW50IG1fcHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2s7CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotICAgIFJlZlB0cjxIVE1MTWVkaWFTb3VyY2U+IG1fbWVkaWFT
b3VyY2U7CisgICAgUmVmUHRyPE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwogICAgIHVuc2ln
bmVkIGxvbmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFTb3VyY2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNWJh
MTQxNDMyZmRhZTc4ZTdhZTBhZjMxY2M5YWY0OTA4MGRmMmQyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
U291cmNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9u
LgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotVVJMUmVnaXN0cnkqIEhUTUxNZWRpYVNvdXJjZTo6c19yZWdpc3RyeSA9IDA7Ci0KLXZvaWQg
SFRNTE1lZGlhU291cmNlOjpzZXRSZWdpc3RyeShVUkxSZWdpc3RyeSogcmVnaXN0cnkpCi17Ci0g
ICAgQVNTRVJUKCFzX3JlZ2lzdHJ5KTsKLSAgICBzX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7Ci19Ci0K
LX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhU291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYVNvdXJjZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4OGJjZjU5ZjdlM2E3NWQ2NjZkNTIzM2E3Mjc5N2VhMDU4MDZjYmZlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhU291cmNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
IGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0g
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lm
bmRlZiBIVE1MTWVkaWFTb3VyY2VfaAotI2RlZmluZSBIVE1MTWVkaWFTb3VyY2VfaAotCi0jaW5j
bHVkZSAiVVJMUmVnaXN0cnkuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9NZWRpYVRpbWUuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MTWVk
aWFFbGVtZW50OwotY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOwotY2xhc3MgVGltZVJhbmdlczsK
LQotY2xhc3MgSFRNTE1lZGlhU291cmNlIDogcHVibGljIFVSTFJlZ2lzdHJhYmxlIHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgdm9pZCBzZXRSZWdpc3RyeShVUkxSZWdpc3RyeSopOwotICAgIHN0YXRp
YyBIVE1MTWVkaWFTb3VyY2UqIGxvb2t1cChjb25zdCBTdHJpbmcmIHVybCkgeyByZXR1cm4gc19y
ZWdpc3RyeSA/IHN0YXRpY19jYXN0PEhUTUxNZWRpYVNvdXJjZSo+KHNfcmVnaXN0cnktPmxvb2t1
cCh1cmwpKSA6IDA7IH0KLQotICAgIHZvaWQgcmVmKCkgeyByZWZIVE1MTWVkaWFTb3VyY2UoKTsg
fQotICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmSFRNTE1lZGlhU291cmNlKCk7IH0KLQotICAgIC8v
IENhbGxlZCB3aGVuIGFuIEhUTUxNZWRpYUVsZW1lbnQgaXMgYXR0ZW1wdGluZyB0byBhdHRhY2gg
dG8gdGhpcyBvYmplY3QsCi0gICAgLy8gYW5kIGhlbHBzIGVuZm9yY2UgYXR0YWNobWVudCB0byBh
dCBtb3N0IG9uZSBlbGVtZW50IGF0IGEgdGltZS4KLSAgICAvLyBJZiBhbHJlYWR5IGF0dGFjaGVk
LCByZXR1cm5zIGZhbHNlLiBPdGhlcndpc2UsIG11c3QgYmUgaW4KLSAgICAvLyAnY2xvc2VkJyBz
dGF0ZSwgYW5kIHJldHVybnMgdHJ1ZSB0byBpbmRpY2F0ZSBhdHRhY2htZW50IHN1Y2Nlc3MuCi0g
ICAgLy8gUmVhdHRhY2htZW50IGFsbG93ZWQgYnkgZmlyc3QgY2FsbGluZyBjbG9zZSgpIChldmVu
IGlmIGFscmVhZHkgaW4gJ2Nsb3NlZCcpLgotICAgIHZpcnR1YWwgYm9vbCBhdHRhY2hUb0VsZW1l
bnQoSFRNTE1lZGlhRWxlbWVudCopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UHJpdmF0ZUFu
ZE9wZW4oUGFzc1JlZjxNZWRpYVNvdXJjZVByaXZhdGU+KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGNsb3NlKCkgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc0Nsb3NlZCgpIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8VGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IHJlZkhUTUxNZWRpYVNvdXJjZSgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVyZWZIVE1MTWVk
aWFTb3VyY2UoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIG1vbml0b3JTb3VyY2VCdWZmZXJzKCkg
PSAwOwotCi0gICAgLy8gVVJMUmVnaXN0cmFibGUKLSAgICB2aXJ0dWFsIFVSTFJlZ2lzdHJ5JiBy
ZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICpzX3JlZ2lzdHJ5OyB9Ci0KLXByaXZh
dGU6Ci0gICAgc3RhdGljIFVSTFJlZ2lzdHJ5KiBzX3JlZ2lzdHJ5OwotfTsKLQotfQotCi0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cAppbmRleCBlYWMyNTU0MGIzZGFjYjI5MjFkMGM3YWQ4ZTA4NDExNDg0NDU5NzM1Li41M2Y5YWJi
MDUzY2RlZGZmZjE0Nzg1M2Q0YWVmMDc0MzcwOTIzOTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBACiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0jaW5jbHVkZSAiSFRNTE1lZGlhU291
cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmgiCiAjZW5kaWYKIAog
I2lmIFVTRShHU1RSRUFNRVIpCkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIHsgfQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci0gICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxIVE1MTWVk
aWFTb3VyY2U+KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKSB7IH0KICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjYW5j
ZWxMb2FkKCkgeyB9CiAKQEAgLTM5MCw3ICszOTAsNyBAQCBib29sIE1lZGlhUGxheWVyOjpsb2Fk
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0
cgogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLWJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQo
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgUGFzc1JlZlB0
cjxIVE1MTWVkaWFTb3VyY2U+IG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChj
b25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQogewogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRp
YVNvdXJjZTsKICAgICBtX2NvbnRlbnRNSU1FVHlwZSA9IGNvbnRlbnRUeXBlLnR5cGUoKS5sb3dl
cigpOwpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWRXaXRoTmV4dE1l
ZGlhRW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSogY3VycmVudCkKICAgICBpZiAobV9wcml2YXRl
KSB7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICAgICAgaWYgKG1fbWVkaWFTb3VyY2Up
Ci0gICAgICAgICAgICBtX3ByaXZhdGUtPmxvYWQobV91cmwuc3RyaW5nKCksIG1fbWVkaWFTb3Vy
Y2UpOworICAgICAgICAgICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlh
U291cmNlLmdldCgpKTsKICAgICAgICAgZWxzZQogI2VuZGlmCiAgICAgICAgIG1fcHJpdmF0ZS0+
bG9hZChtX3VybC5zdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjNjQ4MGU0YjBmZDA4ODI1MGY1NmZkYmI1ODQ3ZTc2Mzhl
NTUwNjI0Li5jNTQwMDYzMDljMDgzZDBiMjdkZmJmNThjYjI2ZDQxOTUwODYxYmFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTcxLDcg
KzcxLDcgQEAgY2xhc3MgQXVkaW9Tb3VyY2VQcm92aWRlcjsKIGNsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOwogY2xhc3MgRG9jdW1lbnQ7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLWNs
YXNzIEhUTUxNZWRpYVNvdXJjZTsKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudDsKICNl
bmRpZgogY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOwogY2xhc3MgVGV4dFRyYWNr
UmVwcmVzZW50YXRpb247CkBAIC0zMTEsNyArMzExLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBs
b2FkKGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0pOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYs
IGNvbnN0IENvbnRlbnRUeXBlJiwgUGFzc1JlZlB0cjxIVE1MTWVkaWFTb3VyY2U+KTsKKyAgICBi
b29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKTsKICNlbmRpZgogICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCkBAIC01ODMsNyAr
NTgzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAg
ICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIFJlZlB0cjxNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQ+IG1fbWVkaWFTb3VyY2U7CiAjZW5kaWYKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKaW5kZXggZmJhZmQ3MGNkOWVmMzRhMDc4MDRhMjVhNzkyOTNiODc4MjM5YjM1MC4uOGYzYTk4
ZTk3ODAxZDA3ZDQxNzFmOTA2ZGMxM2UwM2UyODQ3MmMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1
cmwpID0gMDsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2Fk
KGNvbnN0IFN0cmluZyYgdXJsLCBQYXNzUmVmUHRyPEhUTUxNZWRpYVNvdXJjZT4pID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50KikgPSAwOwogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbExvYWQoKSA9IDA7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyZTQ1NmNlMWNiZTgxOWJm
MTcxMTExNDE2MDI3NjNiOWI1YmMyZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaApAQCAtMCwwICsx
LDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnRfaAorI2Rl
ZmluZSBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnRfaAorCisjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKworI2luY2x1ZGUgIlRpbWVSYW5nZXMuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZTsKKwor
Y2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50PiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4o
UGFzc1JlZjxNZWRpYVNvdXJjZVByaXZhdGU+KSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgZHVy
YXRpb24oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IGJ1
ZmZlcmVkKCkgY29uc3QgPSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NP
VVJDRSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IGQwNzIwYzVkMWQ0YmQ2MGZjZjkwMTQwYzJlYmNj
YzYzYzE1ZDA5M2YuLjc2ZWYwZGMxMzhjYmFjZDkwZjgwYjAwZjA5ZjNhMTllZDM3ZTFjMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b24uY3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3Ry
aW5nJiwgUGFzc1JlZlB0cjxIVE1MTWVkaWFTb3VyY2U+KQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KikKIHsKICAgICBtX25ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpGb3JtYXRFcnJvcjsK
ICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDE5MmVjMzlmYjI2
ZWIwZjllYTYyZDM1NmNiNTQ2MDlmMjZhNmU3OTEuLjU4NWQxYjUwMTBjYjYzNzQ2NmIwYWQ1M2M1
YmUwOWEyZDY2MWI2Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
Ly8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAgICAgdmly
dHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCi0gICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgUGFzc1Jl
ZlB0cjxIVE1MTWVkaWFTb3VyY2U+KTsKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxMb2FkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDFmMjA2
MjE1MzJmOTljYWQ2Nzc4MjRhMGI0Zjc3MTdjN2QwNTU3ZGMuLjZkYmNlOTI3MDFiMGJjYjY4MGQx
NDQ4YWFhZjdkMmVjODRmZTZmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC03NSw3
ICs3NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRl
OwotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBQYXNzUmVmUHRyPEhU
TUxNZWRpYVNvdXJjZT4pIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIHByZXBh
cmVUb1BsYXkoKSBvdmVycmlkZTsKQEAgLTE2NCw3ICsxNjQsNyBAQCBwcml2YXRlOgogCiAgICAg
TWVkaWFQbGF5ZXIqIG1fcGxheWVyOwogICAgIFdlYWtQdHJGYWN0b3J5PE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQz4gbV93ZWFrUHRyRmFjdG9yeTsKLSAgICBSZWZQdHI8SFRN
TE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQ+IG1fbWVkaWFTb3VyY2U7CiAgICAgUmVmUHRyPE1lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakM+IG1fbWVkaWFTb3VyY2VQcml2YXRlOwogICAgIFJldGFpblB0cjxBVkFzc2V0PiBtX2Fz
c2V0OwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcj4gbV9zYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggNTIwODc5
OTIwYjI1OTM3MGFkMjQ4YWZmMGVhYTBkZjRjOGZiMjcyYS4uOGYwNGYyNzdmNzBjNDEwYWZkNDBk
MmViOGVlYzc2ODlmYWY1NTM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjgs
OCArMjgsOCBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgVVNFKEFWRk9VTkRBVElP
TikKIAotI2ltcG9ydCAiSFRNTE1lZGlhU291cmNlLmgiCiAjaW1wb3J0ICJNZWRpYVNvdXJjZVBy
aXZhdGVBVkZPYmpDLmgiCisjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCIKICNp
bXBvcnQgIk1lZGlhVGltZU1hYy5oIgogI2ltcG9ydCAiUGxhdGZvcm1DbG9ja0NNLmgiCiAjaW1w
b3J0ICJTb2Z0TGlua2luZy5oIgpAQCAtMjMyLDcgKzIzMiw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgbV9wbGF5
ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIFBhc3NSZWZQdHI8SFRN
TE1lZGlhU291cmNlPiBzb3VyY2UpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KiBzb3VyY2UpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggMTRjNTU4ZjgzMDZjM2QzNjVl
MDQwZjg4ZWI4YTkxZjIzZTE5NTFkZi4uNmY1N2E2MGQyZGZhNWQ2NjgwM2FjNjZiYjQ4ZmFmYjAx
NjRjMmEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKQEAgLTM3OCw3ICszNzgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJpbmcmIHVy
bCwgUGFzc1JlZlB0cjxIVE1MTWVkaWFTb3VyY2U+IG1lZGlhU291cmNlKQordm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgU3RyaW5nIG1lZGlhc291cmNlVXJp
ID0gU3RyaW5nOjpmb3JtYXQoIm1lZGlhc291cmNlJXMiLCB1cmwudXRmOCgpLmRhdGEoKSk7CiAg
ICAgbV9tZWRpYVNvdXJjZSA9IG1lZGlhU291cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGZjYjkzNTc2M2E5N2NhMTc2NWEyMmJkZWQ3YmNl
NDQyZTk1ZjNhMGQuLjQ3OWE3NDQwZDlkYmQwZGU5NmIzNDkwZmVhZTE4NjFhMjAzMTEyZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKTsKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwg
UGFzc1JlZlB0cjxIVE1MTWVkaWFTb3VyY2U+KTsKKyAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5n
JiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOwogI2VuZGlmCiAgICAgdm9pZCBjb21t
aXRMb2FkKCk7CiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZT4gbV9jaGFwdGVyc1RyYWNr
OwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBSZWZQdHI8SFRNTE1lZGlh
U291cmNlPiBtX21lZGlhU291cmNlOworICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQ+IG1fbWVkaWFTb3VyY2U7CiAjZW5kaWYKIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTb3VyY2VHU3RyZWFtZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU291cmNl
R1N0cmVhbWVyLmNwcAppbmRleCA1OTgyZjgwYjk2NjIzMjZkM2FiMWExZTliODAyNDk0ODk2NjNj
OTAxLi45ZjYxZjlhZTUxOGE5ZGM5OTFhMGE0NzJhMDBlM2I0N2I4N2M5NDM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTb3VyY2VH
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi12b2lkIE1lZGlhU291cmNlR1N0cmVhbWVyOjpvcGVuKFBhc3NSZWZQ
dHI8SFRNTE1lZGlhU291cmNlPiBtZWRpYVNvdXJjZSwgV2ViS2l0TWVkaWFTcmMqIHNyYykKK3Zv
aWQgTWVkaWFTb3VyY2VHU3RyZWFtZXI6Om9wZW4oTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBt
ZWRpYVNvdXJjZSwgV2ViS2l0TWVkaWFTcmMqIHNyYykKIHsKICAgICBtZWRpYVNvdXJjZS0+c2V0
UHJpdmF0ZUFuZE9wZW4oYWRvcHRSZWYoKm5ldyBNZWRpYVNvdXJjZUdTdHJlYW1lcihzcmMpKSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFTb3VyY2VHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5oCmluZGV4IGFkMjdkMzYwMmZmZjJl
NzA1YjQwZDBkNWVhMTI1YWIwOTEwYjQ0OWMuLjJiODdlOTNlZmVkZTFjZDA2ZDQ3YjA5ODNmOGU3
OTA0N2Y4NGY2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5oCkBAIC00MCw3
ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTb3VyY2VHU3RyZWFt
ZXIgZmluYWwgOiBwdWJsaWMgTWVkaWFTb3VyY2VQcml2YXRlIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgdm9pZCBvcGVuKFBhc3NSZWZQdHI8SFRNTE1lZGlhU291cmNlPiwgV2ViS2l0TWVkaWFTcmMq
KTsKKyAgICBzdGF0aWMgdm9pZCBvcGVuKE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCosIFdlYktp
dE1lZGlhU3JjKik7CiAgICAgfk1lZGlhU291cmNlR1N0cmVhbWVyKCk7CiAgICAgQWRkU3RhdHVz
IGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQ
cml2YXRlPiYpOwogICAgIGRvdWJsZSBkdXJhdGlvbigpIHsgcmV0dXJuIG1fZHVyYXRpb247IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9NZWRpYVBs
YXllclByaXZhdGVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9N
ZWRpYVBsYXllclByaXZhdGVJT1MuaAppbmRleCA4MTE2ZjgzZGRmMWI5M2Q3MzZmZjkxNmU0ODQz
ZjBiNTQ1NDgyMDAxLi4xYWM0NDA1ZGFmOWY4ZTg5MWEwMzc0NjkyYzM3NzU2MjY4ZDcyMzg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvTWVkaWFQbGF5
ZXJQcml2YXRlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L01lZGlhUGxheWVyUHJpdmF0ZUlPUy5oCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7CiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBQ
YXNzUmVmUHRyPEhUTUxNZWRpYVNvdXJjZT4pIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRl
IHsgfQogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCA5ZWE0MzhjMzlkZGRhODcyMDZkMzFjODFm
MmVjNzhmY2Y3M2Y3MDM2Li4wMTQ0YjI5ODM1OTA4NzUyNTIxZGY1NjIwMzgxZTYzMTFiMDIwZTI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtOTUsNyArOTUsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBQYXNzUmVm
UHRyPEhUTUxNZWRpYVNvdXJjZT4pOworICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmlu
ZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOwogI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxM
b2FkKCk7CiAgICAgdm9pZCBsb2FkSW50ZXJuYWwoY29uc3QgU3RyaW5nJiB1cmwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IGQ5MjJjZWQzNTc4NWU1NTM3ZGE5NDBiMzU4MTcx
YTMxYjM1MTIwYjMuLjNiODc0YmM0MzQ5MzI0YWU2NTcyOWQ1OTM4MjQ0MWE5NjQzYjE3ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXll
clByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KQEAgLTY2OSw3ICs2NjksNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpsb2FkSW50ZXJuYWwoY29uc3QgU3RyaW5nJiB1cmwpCiB9
CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtp
dDo6bG9hZChjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEhUTUxNZWRpYVNvdXJjZT4pCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopCiB7CiAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6Rm9y
bWF0RXJyb3I7CiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggZTBmYzUxYzlmMGNlM2Yw
MjU0NzA4NTJiOTBhNGExMmU0MTBmNTg2NS4uNGNhODg1ZDE1ODk1YTY0YzBjYTAzNDdkYTJlODVk
NTRjZTIxNmExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5j
cHAKQEAgLTI5LDggKzI5LDggQEAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCi0jaW5jbHVkZSAiSFRNTE1lZGlhU291cmNl
LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQuaCIKICNpbmNsdWRlICJNb2NrTWVkaWFTb3VyY2VQcml2YXRlLmgiCiAjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3Qg
U3RyaW5nJikKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPEhUTUxNZWRp
YVNvdXJjZT4gc291cmNlKQordm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChj
b25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKIHsKICAgICBt
X21lZGlhU291cmNlID0gc291cmNlOwogICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTW9ja01l
ZGlhU291cmNlUHJpdmF0ZTo6Y3JlYXRlKHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5
ZXJNZWRpYVNvdXJjZS5oCmluZGV4IGNkOGQ3OTRhYjQxMzEzMzg1NWFmZTc2Njk0NDdiZjQzNjY5
ZDI0NDEuLjNhMDYwZDRkMTM3N2ZiODYwNDFlNGVlNjRmMjg1NjVlZGUyMjk0YWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJp
dmF0ZToKIAogICAgIC8vIE1lZGlhUGxheWVyUHJpdmF0ZSBPdmVycmlkZXMKICAgICB2aXJ0dWFs
IHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lk
IGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIFBhc3NSZWZQdHI8SFRNTE1lZGlhU291cmNlPikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxMb2Fk
KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgcGF1c2UoKSBvdmVycmlkZTsKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIE1lZGlh
UGxheWVyKiBtX3BsYXllcjsKLSAgICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291
cmNlOworICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ+IG1fbWVkaWFTb3VyY2U7
CiAgICAgUmVmUHRyPE1vY2tNZWRpYVNvdXJjZVByaXZhdGU+IG1fbWVkaWFTb3VyY2VQcml2YXRl
OwogCiAgICAgTWVkaWFUaW1lIG1fY3VycmVudFRpbWU7Cg==
</data>
<flag name="review"
          id="247800"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>