<?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>189072</bug_id>
          
          <creation_ts>2018-08-28 19:32:39 -0700</creation_ts>
          <short_desc>[CFNetwork] Update CFNetwork SPI use to use CFNetworkSPI.h more consistently</short_desc>
          <delta_ts>2018-09-05 04:48:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=188754</see_also>
          <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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1454667</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-28 19:32:39 -0700</bug_when>
    <thetext>[CFNetwork] Update CFNetwork SPI use to use CFNetworkSPI.h more consistently</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454674</commentid>
    <comment_count>1</comment_count>
      <attachid>348380</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-28 19:42:40 -0700</bug_when>
    <thetext>Created attachment 348380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454686</commentid>
    <comment_count>2</comment_count>
      <attachid>348383</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-28 20:34:40 -0700</bug_when>
    <thetext>Created attachment 348383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454705</commentid>
    <comment_count>3</comment_count>
      <attachid>348387</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-28 21:10:53 -0700</bug_when>
    <thetext>Created attachment 348387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455119</commentid>
    <comment_count>4</comment_count>
      <attachid>348471</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-29 19:40:24 -0700</bug_when>
    <thetext>Created attachment 348471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455975</commentid>
    <comment_count>5</comment_count>
      <attachid>348716</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-09-01 13:58:55 -0700</bug_when>
    <thetext>Created attachment 348716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455988</commentid>
    <comment_count>6</comment_count>
      <attachid>348716</attachid>
    <who name="">mitz</who>
    <bug_when>2018-09-01 18:08:09 -0700</bug_when>
    <thetext>Comment on attachment 348716
Patch

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

I’d r+ but I don’t see an r?.

&gt; Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:177
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101300) || (PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 110000)

Not new to this patch, but in SPI headers we should be using the SDK version rather than the deployment target, since the goal of the header is to reflect the contents of an internal SDK header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455991</commentid>
    <comment_count>7</comment_count>
      <attachid>348716</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-09-01 19:26:31 -0700</bug_when>
    <thetext>Comment on attachment 348716
Patch

Just noticed this is finally building, so setting review? on it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455992</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-09-01 19:28:16 -0700</bug_when>
    <thetext>(In reply to mitz from comment #6)
&gt; &gt; Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h:177
&gt; &gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101300) || (PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 110000)
&gt; 
&gt; Not new to this patch, but in SPI headers we should be using the SDK version
&gt; rather than the deployment target, since the goal of the header is to
&gt; reflect the contents of an internal SDK header.

That sounds exactly right to me, but I don’t understand it well enough to know exactly what to do. I would be happy to help fix it at any time, but I don’t want to risk breaking this patch by trying it as part of this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455997</commentid>
    <comment_count>9</comment_count>
      <attachid>348716</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-01 19:55:05 -0700</bug_when>
    <thetext>Comment on attachment 348716
Patch

Clearing flags on attachment: 348716

Committed r235585: &lt;https://trac.webkit.org/changeset/235585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455998</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-01 19:55:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455999</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-01 19:56:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/44038929&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456672</commentid>
    <comment_count>12</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2018-09-05 04:48:07 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #9)
&gt; Comment on attachment 348716 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 348716
&gt; 
&gt; Committed r235585: &lt;https://trac.webkit.org/changeset/235585&gt;

Follow-up fix to remove references to WebDownloadInternal.h from the WebKitLegacy Xcode project:

Committed r235663: &lt;https://trac.webkit.org/changeset/235663&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348380</attachid>
            <date>2018-08-28 19:42:40 -0700</date>
            <delta_ts>2018-08-28 20:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189072-20180828194238.patch</filename>
            <type>text/plain</type>
            <size>17003</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc4MWE1MzU1MjZiZWE5
NWQzOGIxODVmNDU5YjNmMWQwYTgxMmI1OS4uNTkxMTAxMTQyMzMwYzhiMzJlYjBjOTdmMjRjNTYy
ZDhlMGQxYjg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUg
Q0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW06IEluY2x1ZGUgQ0ZOZXR3b3JrU1BJLmggYW5k
IHJlbW92ZSBhCisgICAgICAgIGRlY2xhcmF0aW9uIG9mICtbTlNVUkxQcm90b2NvbCBfcHJvdG9j
b2xDbGFzc0ZvclJlcXVlc3Q6XS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tOiBSZW1vdmUgYSBkZWNsYXJhdGlvbiBvZgorICAgICAgICAtW05T
VVJMQ29ubmVjdGlvbiBfaW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250
ZW50TGVuZ3RoOnN0YXJ0SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6XS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5lY3Rpb24pOiBBZGQg
aWdub3JlIG9mCisgICAgICAgICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBhcm91bmQgdXNl
IG9mIHRoZSBhYm92ZSBtZXRob2QsIHNpbmNlIGl0CisgICAgICAgIGlzIGRlcHJlY2F0ZWQuCisK
IDIwMTgtMDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBGaXggSU9TTUFDIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhOWM0YmJj
NWU3MzBlN2I4MjkwYjYwZTEwYzhhODExYTlkODA1YWZjLi4wNTVmMzQ4YTRjMTkyNTAzZDY5ZjE5
Yjg3NzljNjNmNzMwMGU3YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxOC0wOC0yOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NG
TmV0d29ya10gVXBkYXRlIENGTmV0d29yayBTUEkgdXNlIHRvIHVzZSBDRk5ldHdvcmtTUEkuaCBt
b3JlIGNvbnNpc3RlbnRseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg5MDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oOiBBZGRlZCBhIEZJWE1FIGFib3V0
IFVTRShDRk5FVFdPUktfSUdOT1JFX0hTVFMpLgorICAgICAgICBTb3J0ZWQgT2JqZWN0aXZlLUMg
Y2xhc3MgaW50ZXJmYWNlcyBhbHBoYWJldGljYWxseSBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtCisg
ICAgICAgIHJlbGF0aXZlbHkgcmFuZG9tbHkgb3JkZXJlZCBpbiB0aGUgZmlsZS4gUmVkdWNlZCB0
aGUgcGxhdGZvcm0gI2lmIHN0YXRlbWVudHMKKyAgICAgICAgc2luY2UgaXQncyBub3QgY3JpdGlj
YWwgdG8gaGF2ZSB0aGVzZSBTUElzIGRlY2xhcmVkIG9ubHkgd2hlcmUgdGhleSBhcmUKKyAgICAg
ICAgcHJlc2VudCwgYXMgbG9uZyBhcyB0aGV5IGFyZSB1c2VkIG9ubHkgd2hlbiB0aGV5IGFyZSBw
cmVzZW50LiBNb3ZlZCBzb21lCisgICAgICAgIGFkZGl0aW9uYWwgZGVjbGFyYXRpb25zIGludG8g
dGhpcyBmaWxlLgorCiAyMDE4LTA4LTI2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQXBwbGUgUGF5XSBJbnRyb2R1Y2UgbmV3IHZhbHVlcyBmb3IgLWFwcGxlLXBh
eS1idXR0b24tdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNjg5MTNiOWI1MmFhYTVmZDY2NmJhOWMwYTE5MDRk
YTk4NmRjNTdmLi5jYTdiZTA5ZmUwYTIwZmJkNTIxNDQ5ZTMxYTcxNGM5ODNhOTJkODUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA4LTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUgQ0ZOZXR3b3JrIFNQSSB1c2Ug
dG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tOiBSZW1vdmVkIE5TVVJMU2Vzc2lvblRhc2sKKyAgICAgICAg
bWV0aG9kIGRlY2xhcmF0aW9ucyBmcm9tIHRoaXMgZmlsZSwgdGhleSBhcmUgaW4gQ0ZOZXR3b3Jr
U1BJLmguCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNv
Y29hLm1tOiBSZW1vdmVkIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24KKyAgICAgICAgbWV0aG9k
IGRlY2xhcmF0aW9ucyBmcm9tIHRoaXMgZmlsZSwgdGhleSBhcmUgaW4gQ0ZOZXR3b3JrU1BJLmgu
CisKIDIwMTgtMDgtMjYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtDb2NvYV0gQWRhcHQgbW9yZSBXZWJLaXQgY29kZSB0byBiZSBBUkMtY29tcGF0aWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCAzZGMyOTUw
YWFkOGI0YWEyYWQ2YjE3ODBiOTRmN2EyNTA4MzE4ZWYzLi40OTEyN2ZkMjJhOGZjYzcxZDJjZDU4
N2YwYzYwZTdhMmQxODA0NDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jZi9DRk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaApAQCAtMzAsNiArMzAsMTAgQEAKICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZO
ZXR3b3JrLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9jZi9DRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVT
UEkuaD4KIAorLy8gRklYTUU6IFBvbGljeSBhYm91dCB3aGljaCBDRk5ldHdvcmsgZmVhdHVyZXMg
dG8gKnVzZSogaW4gV2ViS2l0IGRvZXMgbm90IGJlbG9uZyBpbiB0aGUgU1BJIGhlYWRlci4KKy8v
IFRoZSBTUEkgaGVhZGVyIHNob3VsZCBkZWZpbmUgd2hpY2ggQ0ZOZXR3b3JrIGZlYXR1cmVzICpl
eGlzdCogaW4gdGhlIHVuZGVybHlpbmcgc3lzdGVtLCBidXQgbm90CisvLyBwb2xpY3kgYWJvdXQg
d2hhdCBXZWJLaXQgc2hvdWxkIGRvLiBBY2NvcmRpbmdseSwgd2Ugc2hvdWxkIG1vdmUgdGhpcyBz
b21ld2hlcmUgZWxzZSBvciByZW5hbWUgaXQKKy8vIHRvIGJlIGFib3V0IENGTmV0d29yayBjYXBh
YmlsaXRpZXMgKEhBVkUpIHJhdGhlciB0aGFuIGFib3V0IFdlYktpdCBwb2xpY3kgKFVTRSkuCiAj
aWYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDEzMDIgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDIw
MCkgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gNDAyMDApIHx8IChQTEFURk9STShUVk9TKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDExMDIwMCkpCiAjZGVmaW5lIFVTRV9DRk5FVFdPUktfSUdOT1JFX0hTVFMgMQog
I2VuZGlmCkBAIC05MSw2ICs5NSw1MCBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3Bv
bnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiAtIChDRlVSTENhY2hl
UmVmKV9DRlVSTENhY2hlOwogQGVuZAogCitAaW50ZXJmYWNlIE5TQ2FjaGVkVVJMUmVzcG9uc2Ug
KCkKKy0gKGlkKV9pbml0V2l0aENGQ2FjaGVkVVJMUmVzcG9uc2U6KENGQ2FjaGVkVVJMUmVzcG9u
c2VSZWYpY2FjaGVkUmVzcG9uc2U7CistIChDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKV9DRkNhY2hl
ZFVSTFJlc3BvbnNlOworQGVuZAorCitAaW50ZXJmYWNlIE5TSFRUUENvb2tpZSAoKQorLSAoQ0ZI
VFRQQ29va2llUmVmKV9DRkhUVFBDb29raWU7CisrIChDRkFycmF5UmVmIF9fbnVsbGFibGUpX25z
MmNmQ29va2llczooTlNBcnJheSAqIF9fbnVsbGFibGUpbnNDb29raWVzIENGX1JFVFVSTlNfUkVU
QUlORUQ7CistIChDRkhUVFBDb29raWVSZWYgX19udWxsYWJsZSlfR2V0SW50ZXJuYWxDRkhUVFBD
b29raWU7CitAcHJvcGVydHkgKG51bGxhYmxlLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKl9z
dG9yYWdlUGFydGl0aW9uOworQGVuZAorCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKKy0g
KGlkKV9pbml0V2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0
aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9u
c2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KE5TVVJMQ29ubmVjdGlv
bkRlbGVnYXRlUHJveHkgKilwcm94eTsKKy0gKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIGRpcmVjdG9yeTooTlNTdHJpbmcg
KilkaXJlY3Rvcnk7CitAZW5kCisKK0BpbnRlcmZhY2UgTlNIVFRQQ29va2llU3RvcmFnZSAoKQor
LSAoaWQpX2luaXRXaXRoSWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIHByaXZhdGU6
KGJvb2wpaXNQcml2YXRlOworLSAodm9pZClfZ2V0Q29va2llc0ZvclVSTDooTlNVUkwgKil1cmwg
bWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwYXJ0aXRpb246KE5TU3Ry
aW5nICopcGFydGl0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNv
bXBsZXRpb25IYW5kbGVyOworLSAodm9pZClfZ2V0Q29va2llc0ZvclVSTDooTlNVUkwgKil1cmwg
bWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwYXJ0aXRpb246KE5TU3Ry
aW5nICopcGFydGl0aW9uIHBvbGljeVByb3BlcnRpZXM6KE5TRGljdGlvbmFyeSopcHJvcHMgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxldGlvbkhhbmRsZXI7Cist
ICh2b2lkKV9zZXRDb29raWVzOihOU0FycmF5ICopY29va2llcyBmb3JVUkw6KE5TVVJMICopVVJM
IG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcG9saWN5UHJvcGVydGll
czooTlNEaWN0aW9uYXJ5KikgcHJvcHM7CistICh2b2lkKXJlbW92ZUNvb2tpZXNTaW5jZURhdGU6
KE5TRGF0ZSAqKWRhdGU7CistIChpZClfaW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOihDRkhU
VFBDb29raWVTdG9yYWdlUmVmKWNmU3RvcmFnZTsKKy0gKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYp
X2Nvb2tpZVN0b3JhZ2U7CistICh2b2lkKV9zYXZlQ29va2llczsKKy0gKHZvaWQpX3NhdmVDb29r
aWVzOihkaXNwYXRjaF9ibG9ja190KSBjb21wbGV0aW9uSGFuZGxlcjsKK0BlbmQKKworQGludGVy
ZmFjZSBOU1VSTENvbm5lY3Rpb24gKCkKKy0gKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHVzZXNDYWNoZTooQk9PTCl1c2Vz
Q2FjaGVGbGFnIG1heENvbnRlbnRMZW5ndGg6KGxvbmcgbG9uZyltYXhDb250ZW50TGVuZ3RoIHN0
YXJ0SW1tZWRpYXRlbHk6KEJPT0wpc3RhcnRJbW1lZGlhdGVseSBjb25uZWN0aW9uUHJvcGVydGll
czooTlNEaWN0aW9uYXJ5ICopY29ubmVjdGlvblByb3BlcnRpZXM7CitAZW5kCisKK0BpbnRlcmZh
Y2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoKQorLSAodm9pZClzZXRDb250ZW50RGlzcG9zaXRpb25F
bmNvZGluZ0ZhbGxiYWNrQXJyYXk6KE5TQXJyYXkgKil0aGVFbmNvZGluZ0ZhbGxiYWNrQXJyYXk7
CistICh2b2lkKXNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlm
aWVyOworLSAodm9pZClfc2V0UHJldmVudEhTVFNTdG9yYWdlOihCT09MKXByZXZlbnRIU1RTU3Rv
cmFnZTsKKy0gKHZvaWQpX3NldElnbm9yZUhTVFM6KEJPT0wpaWdub3JlSFNUUzsKK0BlbmQKKwor
QGludGVyZmFjZSBOU1VSTFByb3RvY29sICgpCisrIChDbGFzcylfcHJvdG9jb2xDbGFzc0ZvclJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CitAZW5kCisKIEBpbnRlcmZhY2UgTlNVUkxS
ZXF1ZXN0ICgpCiArIChOU0FycmF5ICopYWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdDooTlNTdHJpbmcgKilob3N0OwogKyAodm9pZClzZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2Vy
dGlmaWNhdGU6KE5TQXJyYXkgKilhbGxvdyBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7CkBAIC0x
MDAsMjAgKzE0OCw5IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJMUmVzcG9uc2VDYWxsQmFj
a0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIC0gKGlkKV9pbml0V2l0aENGVVJMUmVx
dWVzdDooQ0ZVUkxSZXF1ZXN0UmVmKXJlcXVlc3Q7CiAtIChpZClfcHJvcGVydHlGb3JLZXk6KE5T
U3RyaW5nICopa2V5OwogLSAodm9pZClfc2V0UHJvcGVydHk6KGlkKXZhbHVlIGZvcktleTooTlNT
dHJpbmcgKilrZXk7Ci0jaWYgVVNFKENGTkVUV09SS19JR05PUkVfSFNUUykKIC0gKEJPT0wpX3Nj
aGVtZVdhc1VwZ3JhZGVkRHVlVG9EeW5hbWljSFNUUzsKIC0gKEJPT0wpX3ByZXZlbnRIU1RTU3Rv
cmFnZTsKIC0gKEJPT0wpX2lnbm9yZUhTVFM7Ci0jZW5kaWYKLUBlbmQKLQotQGludGVyZmFjZSBO
U011dGFibGVVUkxSZXF1ZXN0ICgpCi0tICh2b2lkKXNldENvbnRlbnREaXNwb3NpdGlvbkVuY29k
aW5nRmFsbGJhY2tBcnJheTooTlNBcnJheSAqKXRoZUVuY29kaW5nRmFsbGJhY2tBcnJheTsKLS0g
KHZvaWQpc2V0Qm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXI7
Ci0jaWYgVVNFKENGTkVUV09SS19JR05PUkVfSFNUUykKLS0gKHZvaWQpX3NldFByZXZlbnRIU1RT
U3RvcmFnZTooQk9PTClwcmV2ZW50SFNUU1N0b3JhZ2U7Ci0tICh2b2lkKV9zZXRJZ25vcmVIU1RT
OihCT09MKWlnbm9yZUhTVFM7Ci0jZW5kaWYKIEBlbmQKIAogQGludGVyZmFjZSBOU1VSTFJlc3Bv
bnNlICgpCkBAIC0xMjIsMTIgKzE1OSw2IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJMUmVz
cG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIC0gKE5TRGF0ZSAq
KV9sYXN0TW9kaWZpZWREYXRlOwogQGVuZAogCi1AaW50ZXJmYWNlIE5TSFRUUENvb2tpZSAoKQot
LSAoQ0ZIVFRQQ29va2llUmVmKV9DRkhUVFBDb29raWU7Ci0rIChDRkFycmF5UmVmIF9fbnVsbGFi
bGUpX25zMmNmQ29va2llczooTlNBcnJheSAqIF9fbnVsbGFibGUpbnNDb29raWVzIENGX1JFVFVS
TlNfUkVUQUlORUQ7Ci0tIChDRkhUVFBDb29raWVSZWYgX19udWxsYWJsZSlfR2V0SW50ZXJuYWxD
RkhUVFBDb29raWU7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlv
biAoKQogQHByb3BlcnR5IChhc3NpZ24pIF9UaW1pbmdEYXRhT3B0aW9ucyBfdGltaW5nRGF0YU9w
dGlvbnM7CiBAcHJvcGVydHkgKGNvcHkpIE5TRGF0YSAqX3NvdXJjZUFwcGxpY2F0aW9uQXVkaXRU
b2tlbkRhdGE7CkBAIC0xNDAsOCArMTcxLDE2IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJM
UmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKICNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkg
fHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTEwMDAwKQogQHByb3BlcnR5IChudWxsYWJsZSwgY29weSkgTlNTZXQgKl9zdXBwcmVzc2VkQXV0
b0FkZGVkSFRUUEhlYWRlcnM7CiAjZW5kaWYKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQotQHByb3BlcnR5IChj
b3B5KSBOU0RpY3Rpb25hcnkgKl9zb2NrZXRTdHJlYW1Qcm9wZXJ0aWVzOworQGVuZAorCitAaW50
ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKKy0gKE5TRGljdGlvbmFyeSAqKV90aW1pbmdEYXRh
OworQHByb3BlcnR5IChyZWFkd3JpdGUsIGNvcHkpIE5TU3RyaW5nICpfcGF0aFRvRG93bmxvYWRU
YXNrRmlsZTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKl9zdG9yYWdlUGFydGl0aW9uSWRl
bnRpZmllcjsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWR3cml0ZSwgcmV0YWluKSBOU1VSTCAq
X3NpdGVGb3JDb29raWVzOworQHByb3BlcnR5IChyZWFkd3JpdGUpIEJPT0wgX2lzVG9wTGV2ZWxO
YXZpZ2F0aW9uOworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWdu
KSBCT09MIF9wcmVjb25uZWN0OwogI2VuZGlmCiBAZW5kCiAKQEAgLTE1NiwyOCArMTk1LDYgQEAg
dHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVk
VVJMUmVzcG9uc2VSZWYpOwogQGVuZAogI2VuZGlmCiAKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2ll
ICgpCi1AcHJvcGVydHkgKG51bGxhYmxlLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKl9zdG9y
YWdlUGFydGl0aW9uOwotQGVuZAotCi1AaW50ZXJmYWNlIE5TSFRUUENvb2tpZVN0b3JhZ2UgKCkK
LS0gKGlkKV9pbml0V2l0aElkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBwcml2YXRl
Oihib29sKWlzUHJpdmF0ZTsKLS0gKHZvaWQpX2dldENvb2tpZXNGb3JVUkw6KE5TVVJMICopdXJs
IG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcGFydGl0aW9uOihOU1N0
cmluZyAqKXBhcnRpdGlvbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAqKSlj
b21wbGV0aW9uSGFuZGxlcjsKLS0gKHZvaWQpX2dldENvb2tpZXNGb3JVUkw6KE5TVVJMICopdXJs
IG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcGFydGl0aW9uOihOU1N0
cmluZyAqKXBhcnRpdGlvbiBwb2xpY3lQcm9wZXJ0aWVzOihOU0RpY3Rpb25hcnkqKXByb3BzIGNv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVyOwot
LSAodm9pZClfc2V0Q29va2llczooTlNBcnJheSAqKWNvb2tpZXMgZm9yVVJMOihOU1VSTCAqKVVS
TCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBvbGljeVByb3BlcnRp
ZXM6KE5TRGljdGlvbmFyeSopIHByb3BzOwotQGVuZAotCi1AaW50ZXJmYWNlIE5TVVJMU2Vzc2lv
blRhc2sgKCkKLS0gKE5TRGljdGlvbmFyeSAqKV90aW1pbmdEYXRhOwotQHByb3BlcnR5IChyZWFk
d3JpdGUsIGNvcHkpIE5TU3RyaW5nICpfcGF0aFRvRG93bmxvYWRUYXNrRmlsZTsKLUBwcm9wZXJ0
eSAoY29weSkgTlNTdHJpbmcgKl9zdG9yYWdlUGFydGl0aW9uSWRlbnRpZmllcjsKLUBwcm9wZXJ0
eSAobnVsbGFibGUsIHJlYWR3cml0ZSwgcmV0YWluKSBOU1VSTCAqX3NpdGVGb3JDb29raWVzOwot
QHByb3BlcnR5IChyZWFkd3JpdGUpIEJPT0wgX2lzVG9wTGV2ZWxOYXZpZ2F0aW9uOwotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
KSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMTAwMDApCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCT09MIF9wcmVjb25uZWN0
OwotI2VuZGlmCi1AZW5kCi0KIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IE5TVVJMQXV0aGVudGlj
YXRpb25NZXRob2RPQXV0aDsKIAogI2VuZGlmIC8vIGRlZmluZWQoX19PQkpDX18pCkBAIC0yODUs
MTEgKzMwMiw2IEBAIGVudW0gOiBOU1VJbnRlZ2VyIHsKICAgICBOU0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gPSAzLAogfTsKIAotQGludGVy
ZmFjZSBOU0NhY2hlZFVSTFJlc3BvbnNlICgpCi0tKGlkKV9pbml0V2l0aENGQ2FjaGVkVVJMUmVz
cG9uc2U6KENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpY2FjaGVkUmVzcG9uc2U7Ci0tKENGQ2FjaGVk
VVJMUmVzcG9uc2VSZWYpX0NGQ2FjaGVkVVJMUmVzcG9uc2U7Ci1AZW5kCi0KICNlbmRpZgogCiBX
VEZfRVhURVJOX0NfQkVHSU4KQEAgLTMxNCw2ICszMjYsOSBAQCBXVEZfRVhURVJOX0NfRU5ECiAK
ICNpZiBkZWZpbmVkKF9fT0JKQ19fKQogCisvLyBGSVhNRTogTW92ZSB0aGVzZSBkZWNsYXJhdGlv
bnMgdGhlIGFib3ZlIHNlY3Rpb24gdW5kZXIgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspIHdoZW4g
cG9zc2libGUgc28gdGhhdAorLy8gQXBwbGUgaW50ZXJuYWwgU0RLIGJ1aWxkcyB1c2UgaGVhZGVy
cyBpbnN0ZWFkLgorCiBAaW50ZXJmYWNlIE5TSFRUUENvb2tpZSAoKQogI2lmIFBMQVRGT1JNKE1B
QykKICsgKE5TQXJyYXkgKilfcGFyc2VkQ29va2llc1dpdGhSZXNwb25zZUhlYWRlckZpZWxkczoo
TlNEaWN0aW9uYXJ5ICopaGVhZGVyRmllbGRzIGZvclVSTDooTlNVUkwgKilhVVJMOwpAQCAtMzIx
LDE3ICszMzYsNiBAQCBXVEZfRVhURVJOX0NfRU5ECiArIChOU0FycmF5ICopX2NmMm5zQ29va2ll
czooQ0ZBcnJheVJlZiljZkNvb2tpZXM7CiBAZW5kCiAKLSNpZiAhVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llU3RvcmFnZSAoKQotLSAodm9pZClyZW1vdmVD
b29raWVzU2luY2VEYXRlOihOU0RhdGUgKilkYXRlOwotLSAoaWQpX2luaXRXaXRoQ0ZIVFRQQ29v
a2llU3RvcmFnZTooQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiljZlN0b3JhZ2U7Ci0tIChDRkhUVFBD
b29raWVTdG9yYWdlUmVmKV9jb29raWVTdG9yYWdlOwotLSAodm9pZClfc2F2ZUNvb2tpZXM7Ci0t
ICh2b2lkKV9zYXZlQ29va2llczooZGlzcGF0Y2hfYmxvY2tfdCkgY29tcGxldGlvbkhhbmRsZXI7
Ci1AZW5kCi0jZW5kaWYKLQotLy8gRklYTUU6IE1vdmUgK19zZXRTaGFyZWRIVFRQQ29va2llU3Rv
cmFnZTogaW50byB0aGUgYWJvdmUgc2VjdGlvbiB1bmRlciAhVVNFKEFQUExFX0lOVEVSTkFMX1NE
Sykgd2hlbiBwb3NzaWJsZSAoc29vbikuCiBAaW50ZXJmYWNlIE5TSFRUUENvb2tpZVN0b3JhZ2Ug
KCkKICsgKHZvaWQpX3NldFNoYXJlZEhUVFBDb29raWVTdG9yYWdlOihOU0hUVFBDb29raWVTdG9y
YWdlICopc3RvcmFnZTsKIEBlbmQKQEAgLTM0MCw0ICszNDQsMTUgQEAgV1RGX0VYVEVSTl9DX0VO
RAogLSAodm9pZClfc2V0TUlNRVR5cGU6KE5TU3RyaW5nICopdHlwZTsKIEBlbmQKIAorQGludGVy
ZmFjZSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICgpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKKy8vIEZJ
WE1FOiBSZW1vdmUgdGhpcyBvbmNlIHJkYXI6Ly9wcm9ibGVtLzQwNjUwMjQ0IGlzIGluIGEgYnVp
bGQuCitAcHJvcGVydHkgKGNvcHkpIE5TRGljdGlvbmFyeSAqX3NvY2tldFN0cmVhbVByb3BlcnRp
ZXM7CisjZW5kaWYKK0BlbmQKKworQGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrICgpCistICh2
b2lkKV9zZXRFeHBsaWNpdENvb2tpZVN0b3JhZ2U6KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpc3Rv
cmFnZTsKK0BlbmQKKwogI2VuZGlmIC8vIGRlZmluZWQoX19PQkpDX18pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQppbmRleCBlYzY0ZWE5
MWNmNzJhYTUyNTZjOWE1NmFlZTMyNjJmODJlZGIwMGZiLi5lNDVmZGFhNDNiMDBiZTBiZTE0NWFl
ZWNmN2ZjZTNlZjk3ZWY1ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgImNvbmZp
Zy5oIgogI2ltcG9ydCAiVVJMUGFyc2VyLmgiCiAjaW1wb3J0ICJXZWJDb3JlTlNVUkxFeHRyYXMu
aCIKKyNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvRnVu
Y3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbXBvcnQgPHd0Zi9PYmpjUnVu
dGltZUV4dHJhcy5oPgpAQCAtNDcsMTEgKzQ4LDYgQEAgdHlwZWRlZiB2b2lkICgqIFN0cmluZ1Jh
bmdlQXBwbGllckZ1bmN0aW9uKShOU1N0cmluZyAqc3RyaW5nLCBOU1JhbmdlIHJhbmdlLCB2b2kK
IAogc3RhdGljIHVpbnQzMl90IElETlNjcmlwdFdoaXRlTGlzdFsoVVNDUklQVF9DT0RFX0xJTUlU
ICsgMzEpIC8gMzJdOwogCi0KLUBpbnRlcmZhY2UgTlNVUkxQcm90b2NvbCAoV0tOU1VSTFByb3Rv
Y29sSW50ZXJuYWwpCi0rIChDbGFzcylfcHJvdG9jb2xDbGFzc0ZvclJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3Q7Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJv
b2wgaXNBcm1lbmlhbkxvb2thbGlrZUNoYXJhY3RlcihVQ2hhcjMyIGNvZGVQb2ludCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxl
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5k
bGVNYWMubW0KaW5kZXggMWQ3YjZlNzg3NDJlZTE3ODY2OTA3ZTU0ZDYyNTQ4MTI3NGNhOTA1NC4u
YjlmYzJhMmYxN2NkOTU3NDAwNGNiYjk3NDk5YWFiZDExNjZlMDczYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMu
bW0KQEAgLTYzLDEwICs2Myw2IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1AaW50
ZXJmYWNlIE5TVVJMQ29ubmVjdGlvbiAoKQotLShpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJl
cXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSB1c2VzQ2FjaGU6KEJPT0wpdXNl
c0NhY2hlRmxhZyBtYXhDb250ZW50TGVuZ3RoOihsb25nIGxvbmcpbWF4Q29udGVudExlbmd0aCBz
dGFydEltbWVkaWF0ZWx5OihCT09MKXN0YXJ0SW1tZWRpYXRlbHkgY29ubmVjdGlvblByb3BlcnRp
ZXM6KE5TRGljdGlvbmFyeSAqKWNvbm5lY3Rpb25Qcm9wZXJ0aWVzOwotQGVuZAotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgCiBzdGF0aWMgdm9pZCBhcHBseUJhc2ljQXV0aG9yaXphdGlvbkhl
YWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRp
YWwpCkBAIC0yMjQsNyArMjIwLDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZU5TVVJM
Q29ubmVjdGlvbihpZCBkZWxlZ2F0ZSwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsCiAgICAgLy8g
d2ViIGNvbnRlbnQgZm9yIHB1cnBvc2VzIG9mIEFwcCBUcmFuc3BvcnQgU2VjdXJpdHkuCiAgICAg
W3Byb3BlcnR5RGljdGlvbmFyeSBzZXRPYmplY3Q6QHtAIk5TQWxsb3dzQXJiaXRyYXJ5TG9hZHNJ
bldlYkNvbnRlbnQiOiBAWUVTfSBmb3JLZXk6QCJfa0NGVVJMQ29ubmVjdGlvblByb3BlcnR5QVRT
RnJhbWV3b3JrT3ZlcnJpZGVzIl07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
cyIKICAgICBkLT5tX2Nvbm5lY3Rpb24gPSBhZG9wdE5TKFtbTlNVUkxDb25uZWN0aW9uIGFsbG9j
XSBfaW5pdFdpdGhSZXF1ZXN0Om5zUmVxdWVzdCBkZWxlZ2F0ZTpkZWxlZ2F0ZSB1c2VzQ2FjaGU6
dXNlc0NhY2hlIG1heENvbnRlbnRMZW5ndGg6MCBzdGFydEltbWVkaWF0ZWx5Ok5PIGNvbm5lY3Rp
b25Qcm9wZXJ0aWVzOnByb3BlcnR5RGljdGlvbmFyeV0pOworI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAogfQogCiBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1t
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2Nv
YS5tbQppbmRleCBmYzIwOWM4ZjcxMzk3ZTE3MjhjMTUyMzc5OTM3YjI4YjlmNGMxZDJmLi5jMmQ0
NWQ2NmJkMjU4ZWI4MzJjMjU0ZmViODM1YWFkZTY3MTNlOTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW0KQEAgLTQ1LDI2ICs0NSwxMCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4K
ICNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IChQTEFURk9STShJT1Mp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKLUBpbnRlcmZh
Y2UgTlNVUkxTZXNzaW9uVGFzayAoU3RhZ2luZykKLUBwcm9wZXJ0eSAocmVhZHdyaXRlLCByZXRh
aW4pIE5TVVJMICpfc2l0ZUZvckNvb2tpZXM7Ci1AcHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBf
aXNUb3BMZXZlbE5hdmlnYXRpb247Ci1AZW5kCi0jZW5kaWYKLQogI2lmIEhBVkUoTldfQUNUSVZJ
VFkpCiAjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZOU1VSTENvbm5lY3Rpb24uaD4KICNlbmRpZgogCi0j
aWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCi0KLS8vIEZJWE1FOiBNb3Zl
IHRvIENGTmV0d29ya1NQSS5oPwotQGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrICgpCi0tICh2
b2lkKV9zZXRFeHBsaWNpdENvb2tpZVN0b3JhZ2U6KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpc3Rv
cmFnZTsKLUBlbmQKLQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWYgVVNFKENS
RURFTlRJQUxfU1RPUkFHRV9XSVRIX05FVFdPUktfU0VTU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpp
bmRleCBmYTA0NWY5ZWIwY2Q3YjRhOWExNGEzZmFhMWU0MzY2MGU3MzcwYjJlLi44MWQ3ZjhlNzJm
ZmRiZDgyYjc2YmM1NjYzYzZkY2VmOGViNTg5YzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01
NCwxNiArNTQsNiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi0jaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAw
MCkKLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbiAoV0tTdGFnaW5nKQotQHBy
b3BlcnR5IChjb3B5KSBOU1NldCAqX3N1cHByZXNzZWRBdXRvQWRkZWRIVFRQSGVhZGVyczsKLSNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTIwMDAwKQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgcmRhcjovL3Byb2JsZW0v
NDA2NTAyNDQgaXMgaW4gYSBidWlsZC4KLUBwcm9wZXJ0eSAoY29weSkgTlNEaWN0aW9uYXJ5ICpf
c29ja2V0U3RyZWFtUHJvcGVydGllczsKLSNlbmRpZgotQGVuZAotI2VuZGlmCi0KIHN0YXRpYyBO
U1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0aW9uIHRvTlNVUkxTZXNzaW9uUmVzcG9uc2VEaXNw
b3NpdGlvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gZGlzcG9zaXRpb24pCiB7CiAgICAgc3dpdGNo
IChkaXNwb3NpdGlvbikgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348383</attachid>
            <date>2018-08-28 20:34:40 -0700</date>
            <delta_ts>2018-08-28 21:10:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189072-20180828203439.patch</filename>
            <type>text/plain</type>
            <size>27079</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJlZjEwYmE0YWU3NWI2
NTFiMzQyYzQxM2UwZTNiNDcwZmNjZjM4MC4uZjAyYjM1YmVjZmRhODZhMjg0MTdmN2U3OTEyZWYx
NDRjODMzNWYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUg
Q0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW06IEluY2x1ZGUgQ0ZOZXR3b3JrU1BJLmggYW5k
IHJlbW92ZSBhCisgICAgICAgIGRlY2xhcmF0aW9uIG9mICtbTlNVUkxQcm90b2NvbCBfcHJvdG9j
b2xDbGFzc0ZvclJlcXVlc3Q6XS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tOiBSZW1vdmUgYSBkZWNsYXJhdGlvbiBvZgorICAgICAgICAtW05T
VVJMQ29ubmVjdGlvbiBfaW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250
ZW50TGVuZ3RoOnN0YXJ0SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6XS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5lY3Rpb24pOiBBZGQg
aWdub3JlIG9mCisgICAgICAgICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBhcm91bmQgdXNl
IG9mIHRoZSBhYm92ZSBtZXRob2QsIHNpbmNlIGl0CisgICAgICAgIGlzIGRlcHJlY2F0ZWQuCisK
IDIwMTgtMDgtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgV29yayB0b3dhcmRzOiBbaU9TXSBDb25zb2xpZGF0ZSB0aGUgaW1wbGVtZW50YXRpb25z
IG9mIHJlYWRTdHJpbmcsIHN0cmluZ0ZvclR5cGUsIGFuZCByZWFkVVJMIGluIFBsYXRmb3JtUGFz
dGVib2FyZElPUy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNDI4MjVkM2JhZjZlYzRjMjEwYmFm
NTQzMjMyNTcwYThhNzQxNWM0Zi4uMzI0NjE5MTM0ZTcyYTliNTI0OTQ4YjUyZmU3NDFhOThhNjAz
YTEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDgtMjggIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0
ZSBDRk5ldHdvcmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50
bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaDogQWRkZWQgYSBGSVhNRSBhYm91dCBVU0UoQ0ZORVRXT1JL
X0lHTk9SRV9IU1RTKS4KKyAgICAgICAgU29ydGVkIE9iamVjdGl2ZS1DIGNsYXNzIGludGVyZmFj
ZXMgYWxwaGFiZXRpY2FsbHkgaW5zdGVhZCBvZiBoYXZpbmcgdGhlbQorICAgICAgICByZWxhdGl2
ZWx5IHJhbmRvbWx5IG9yZGVyZWQgaW4gdGhlIGZpbGUuIFJlZHVjZWQgdGhlIHBsYXRmb3JtICNp
ZiBzdGF0ZW1lbnRzCisgICAgICAgIHNpbmNlIGl0J3Mgbm90IGNyaXRpY2FsIHRvIGhhdmUgdGhl
c2UgU1BJcyBkZWNsYXJlZCBvbmx5IHdoZXJlIHRoZXkgYXJlCisgICAgICAgIHByZXNlbnQsIGFz
IGxvbmcgYXMgdGhleSBhcmUgdXNlZCBvbmx5IHdoZW4gdGhleSBhcmUgcHJlc2VudC4gTW92ZWQg
c29tZQorICAgICAgICBhZGRpdGlvbmFsIGRlY2xhcmF0aW9ucyBpbnRvIHRoaXMgZmlsZS4KKwor
ICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oOiBBZGRlZCBtb3JlIE5T
VVJMRG93bmxvYWQgbWV0aG9kcy4KKwogMjAxOC0wOC0yNyAgS2VpdGggUm9sbGluICA8a3JvbGxp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggLS0gZGlzYWJsZSBM
VE8gZm9yIHByb2R1Y3Rpb24gYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjN2M2YzczMWMzYmYwNzVlNWIz
Nzg3NzY2OGJmODg5Yzk5YzNlNjIuLjgyOTYxZWJhZTEzYTYzYjE4OGM3YmZjZWQ5NGI5N2UyM2Fm
MzY1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdv
cmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA3MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06IFJlbW92ZWQgTlNVUkxTZXNzaW9uVGFz
aworICAgICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhpcyBmaWxlLCB0aGV5IGFyZSBp
biBDRk5ldHdvcmtTUEkuaC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW06IFJlbW92ZWQgTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbgorICAg
ICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhpcyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5l
dHdvcmtTUEkuaC4KKwogMjAxOC0wOC0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBXb3JrIHRvd2FyZHM6IFtpT1NdIENvbnNvbGlkYXRlIHRoZSBp
bXBsZW1lbnRhdGlvbnMgb2YgcmVhZFN0cmluZywgc3RyaW5nRm9yVHlwZSwgYW5kIHJlYWRVUkwg
aW4gUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggZDhhNGU0YzUwNjg2MTFjYWY0OTAzYzNjNzdjNzU2YmE0Y2I2NGE1Yy4uYTQwNzM1OGFiNzAy
M2QwNjRmMjE1YTc1NWJiMjg5YWZkZTg2ZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA4LTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUgQ0ZOZXR3b3JrIFNQSSB1c2UgdG8g
dXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaXNjL1dlYkRvd25sb2FkLm1tOiBSZW1vdmVk
IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgTlNVUkxDb25uZWN0aW9uRGVsZWdhdGVQcm94eQorICAg
ICAgICBhbmQgZGVjbGFyYXRpb25zIGZvciBOU1VSTERvd25sb2FkIGluaXQgbWV0aG9kcy4KKwor
ICAgICAgICAqIE1pc2MvV2ViRG93bmxvYWRJbnRlcm5hbC5oOiBSZW1vdmVkLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06IFJlbW92ZWQgaW5jbHVk
ZSBvZiBXZWJEb3dubG9hZEludGVybmFsLmguCisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVu
dDo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKTogSWdub3JlCisgICAgICAgICIt
V2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBiZWNhdXNlIHRoZSBtZXRob2QgdXNlZCBoZXJlIGlz
IGRlcHJlY2F0ZWQuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgt
W1dlYlZpZXcgX2Rvd25sb2FkVVJMOl0pOiBJZ25vcmUgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlv
bnMiIGJlY2F1c2UgdGhlIG1ldGhvZAorICAgICAgICB1c2VkIGhlcmUgaXMgZGVwcmVjYXRlZC4K
KwogMjAxOC0wOC0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXb3JrIHRvd2FyZHM6IFtpT1NdIENvbnNvbGlkYXRlIHRoZSBpbXBsZW1lbnRhdGlv
bnMgb2YgcmVhZFN0cmluZywgc3RyaW5nRm9yVHlwZSwgYW5kIHJlYWRVUkwgaW4gUGxhdGZvcm1Q
YXN0ZWJvYXJkSU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29y
a1NQSS5oCmluZGV4IDNkYzI5NTBhYWQ4YjRhYTJhZDZiMTc4MGI5NGY3YTI1MDgzMThlZjMuLmNm
MTQ4MWUxNTYxYmU3YjkzYzY4MmFhODMxNWYwOGYzYzk1NzQ3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCkBAIC0zMCw2ICszMCwxMCBAQAogI2lu
Y2x1ZGUgPENGTmV0d29yay9DRk5ldHdvcmsuaD4KICNpbmNsdWRlIDxwYWwvc3BpL2NmL0NGTmV0
d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oPgogCisvLyBGSVhNRTogUG9saWN5IGFib3V0IHdoaWNo
IENGTmV0d29yayBmZWF0dXJlcyB0byAqdXNlKiBpbiBXZWJLaXQgZG9lcyBub3QgYmVsb25nIGlu
IHRoZSBTUEkgaGVhZGVyLgorLy8gVGhlIFNQSSBoZWFkZXIgc2hvdWxkIGRlZmluZSB3aGljaCBD
Rk5ldHdvcmsgZmVhdHVyZXMgKmV4aXN0KiBpbiB0aGUgdW5kZXJseWluZyBzeXN0ZW0sIGJ1dCBu
b3QKKy8vIHBvbGljeSBhYm91dCB3aGF0IFdlYktpdCBzaG91bGQgZG8uIEFjY29yZGluZ2x5LCB3
ZSBzaG91bGQgbW92ZSB0aGlzIHNvbWV3aGVyZSBlbHNlIG9yIHJlbmFtZSBpdAorLy8gdG8gYmUg
YWJvdXQgQ0ZOZXR3b3JrIGNhcGFiaWxpdGllcyAoSEFWRSkgcmF0aGVyIHRoYW4gYWJvdXQgV2Vi
S2l0IHBvbGljeSAoVVNFKS4KICNpZiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEID49IDEwMTMwMiAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMjAwKSB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA0MDIwMCkgfHwgKFBMQVRGT1JNKFRWT1MpICYmIF9f
VFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMjAwKSkKICNkZWZpbmUgVVNFX0NGTkVU
V09SS19JR05PUkVfSFNUUyAxCiAjZW5kaWYKQEAgLTg3LDEwICs5MSw1MSBAQCB0eXBlZGVmIHZv
aWQgKF5DRkNhY2hlZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25z
ZVJlZik7CiAKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQogCitAY2xhc3MgTlNVUkxDb25uZWN0aW9u
RGVsZWdhdGVQcm94eTsKKwogQGludGVyZmFjZSBOU1VSTENhY2hlICgpCiAtIChDRlVSTENhY2hl
UmVmKV9DRlVSTENhY2hlOwogQGVuZAogCitAaW50ZXJmYWNlIE5TQ2FjaGVkVVJMUmVzcG9uc2Ug
KCkKKy0gKGlkKV9pbml0V2l0aENGQ2FjaGVkVVJMUmVzcG9uc2U6KENGQ2FjaGVkVVJMUmVzcG9u
c2VSZWYpY2FjaGVkUmVzcG9uc2U7CistIChDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKV9DRkNhY2hl
ZFVSTFJlc3BvbnNlOworQGVuZAorCitAaW50ZXJmYWNlIE5TSFRUUENvb2tpZSAoKQorLSAoQ0ZI
VFRQQ29va2llUmVmKV9DRkhUVFBDb29raWU7CisrIChDRkFycmF5UmVmIF9fbnVsbGFibGUpX25z
MmNmQ29va2llczooTlNBcnJheSAqIF9fbnVsbGFibGUpbnNDb29raWVzIENGX1JFVFVSTlNfUkVU
QUlORUQ7CistIChDRkhUVFBDb29raWVSZWYgX19udWxsYWJsZSlfR2V0SW50ZXJuYWxDRkhUVFBD
b29raWU7CitAcHJvcGVydHkgKG51bGxhYmxlLCByZWFkb25seSwgY29weSkgTlNTdHJpbmcgKl9z
dG9yYWdlUGFydGl0aW9uOworQGVuZAorCitAaW50ZXJmYWNlIE5TSFRUUENvb2tpZVN0b3JhZ2Ug
KCkKKy0gKGlkKV9pbml0V2l0aElkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBwcml2
YXRlOihib29sKWlzUHJpdmF0ZTsKKy0gKHZvaWQpX2dldENvb2tpZXNGb3JVUkw6KE5TVVJMICop
dXJsIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcGFydGl0aW9uOihO
U1N0cmluZyAqKXBhcnRpdGlvbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAq
KSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQpX2dldENvb2tpZXNGb3JVUkw6KE5TVVJMICop
dXJsIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcGFydGl0aW9uOihO
U1N0cmluZyAqKXBhcnRpdGlvbiBwb2xpY3lQcm9wZXJ0aWVzOihOU0RpY3Rpb25hcnkqKXByb3Bz
IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVy
OworLSAodm9pZClfc2V0Q29va2llczooTlNBcnJheSAqKWNvb2tpZXMgZm9yVVJMOihOU1VSTCAq
KVVSTCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBvbGljeVByb3Bl
cnRpZXM6KE5TRGljdGlvbmFyeSopIHByb3BzOworLSAodm9pZClyZW1vdmVDb29raWVzU2luY2VE
YXRlOihOU0RhdGUgKilkYXRlOworLSAoaWQpX2luaXRXaXRoQ0ZIVFRQQ29va2llU3RvcmFnZToo
Q0ZIVFRQQ29va2llU3RvcmFnZVJlZiljZlN0b3JhZ2U7CistIChDRkhUVFBDb29raWVTdG9yYWdl
UmVmKV9jb29raWVTdG9yYWdlOworLSAodm9pZClfc2F2ZUNvb2tpZXM7CistICh2b2lkKV9zYXZl
Q29va2llczooZGlzcGF0Y2hfYmxvY2tfdCkgY29tcGxldGlvbkhhbmRsZXI7CitAZW5kCisKK0Bp
bnRlcmZhY2UgTlNVUkxDb25uZWN0aW9uICgpCistIChpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VS
TFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSB1c2VzQ2FjaGU6KEJPT0wp
dXNlc0NhY2hlRmxhZyBtYXhDb250ZW50TGVuZ3RoOihsb25nIGxvbmcpbWF4Q29udGVudExlbmd0
aCBzdGFydEltbWVkaWF0ZWx5OihCT09MKXN0YXJ0SW1tZWRpYXRlbHkgY29ubmVjdGlvblByb3Bl
cnRpZXM6KE5TRGljdGlvbmFyeSAqKWNvbm5lY3Rpb25Qcm9wZXJ0aWVzOworQGVuZAorCitAaW50
ZXJmYWNlIE5TTXV0YWJsZVVSTFJlcXVlc3QgKCkKKy0gKHZvaWQpc2V0Q29udGVudERpc3Bvc2l0
aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5OihOU0FycmF5ICopdGhlRW5jb2RpbmdGYWxsYmFja0Fy
cmF5OworLSAodm9pZClzZXRCb3VuZEludGVyZmFjZUlkZW50aWZpZXI6KE5TU3RyaW5nICopaWRl
bnRpZmllcjsKKy0gKHZvaWQpX3NldFByZXZlbnRIU1RTU3RvcmFnZTooQk9PTClwcmV2ZW50SFNU
U1N0b3JhZ2U7CistICh2b2lkKV9zZXRJZ25vcmVIU1RTOihCT09MKWlnbm9yZUhTVFM7CitAZW5k
CisKK0BpbnRlcmZhY2UgTlNVUkxQcm90b2NvbCAoKQorKyAoQ2xhc3MpX3Byb3RvY29sQ2xhc3NG
b3JSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworQGVuZAorCiBAaW50ZXJmYWNlIE5T
VVJMUmVxdWVzdCAoKQogKyAoTlNBcnJheSAqKWFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3Q6KE5TU3RyaW5nICopaG9zdDsKICsgKHZvaWQpc2V0QWxsb3dzU3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlOihOU0FycmF5ICopYWxsb3cgZm9ySG9zdDooTlNTdHJpbmcgKilob3N0OwpA
QCAtMTAwLDIwICsxNDUsOSBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3BvbnNlQ2Fs
bEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiAtIChpZClfaW5pdFdpdGhDRlVS
TFJlcXVlc3Q6KENGVVJMUmVxdWVzdFJlZilyZXF1ZXN0OwogLSAoaWQpX3Byb3BlcnR5Rm9yS2V5
OihOU1N0cmluZyAqKWtleTsKIC0gKHZvaWQpX3NldFByb3BlcnR5OihpZCl2YWx1ZSBmb3JLZXk6
KE5TU3RyaW5nICopa2V5OwotI2lmIFVTRShDRk5FVFdPUktfSUdOT1JFX0hTVFMpCiAtIChCT09M
KV9zY2hlbWVXYXNVcGdyYWRlZER1ZVRvRHluYW1pY0hTVFM7CiAtIChCT09MKV9wcmV2ZW50SFNU
U1N0b3JhZ2U7CiAtIChCT09MKV9pZ25vcmVIU1RTOwotI2VuZGlmCi1AZW5kCi0KLUBpbnRlcmZh
Y2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoKQotLSAodm9pZClzZXRDb250ZW50RGlzcG9zaXRpb25F
bmNvZGluZ0ZhbGxiYWNrQXJyYXk6KE5TQXJyYXkgKil0aGVFbmNvZGluZ0ZhbGxiYWNrQXJyYXk7
Ci0tICh2b2lkKXNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlm
aWVyOwotI2lmIFVTRShDRk5FVFdPUktfSUdOT1JFX0hTVFMpCi0tICh2b2lkKV9zZXRQcmV2ZW50
SFNUU1N0b3JhZ2U6KEJPT0wpcHJldmVudEhTVFNTdG9yYWdlOwotLSAodm9pZClfc2V0SWdub3Jl
SFNUUzooQk9PTClpZ25vcmVIU1RTOwotI2VuZGlmCiBAZW5kCiAKIEBpbnRlcmZhY2UgTlNVUkxS
ZXNwb25zZSAoKQpAQCAtMTIyLDEyICsxNTYsNiBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVS
TFJlc3BvbnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiAtIChOU0Rh
dGUgKilfbGFzdE1vZGlmaWVkRGF0ZTsKIEBlbmQKIAotQGludGVyZmFjZSBOU0hUVFBDb29raWUg
KCkKLS0gKENGSFRUUENvb2tpZVJlZilfQ0ZIVFRQQ29va2llOwotKyAoQ0ZBcnJheVJlZiBfX251
bGxhYmxlKV9uczJjZkNvb2tpZXM6KE5TQXJyYXkgKiBfX251bGxhYmxlKW5zQ29va2llcyBDRl9S
RVRVUk5TX1JFVEFJTkVEOwotLSAoQ0ZIVFRQQ29va2llUmVmIF9fbnVsbGFibGUpX0dldEludGVy
bmFsQ0ZIVFRQQ29va2llOwotQGVuZAotCiBAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvbkNvbmZpZ3Vy
YXRpb24gKCkKIEBwcm9wZXJ0eSAoYXNzaWduKSBfVGltaW5nRGF0YU9wdGlvbnMgX3RpbWluZ0Rh
dGFPcHRpb25zOwogQHByb3BlcnR5IChjb3B5KSBOU0RhdGEgKl9zb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0VG9rZW5EYXRhOwpAQCAtMTQwLDggKzE2OCwxNiBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hl
ZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiAjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEz
MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMCkKIEBwcm9wZXJ0eSAobnVsbGFibGUsIGNvcHkpIE5TU2V0ICpfc3VwcHJlc3Nl
ZEF1dG9BZGRlZEhUVFBIZWFkZXJzOwogI2VuZGlmCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IChQTEFURk9STShJT1Mp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKLUBwcm9wZXJ0
eSAoY29weSkgTlNEaWN0aW9uYXJ5ICpfc29ja2V0U3RyZWFtUHJvcGVydGllczsKK0BlbmQKKwor
QGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrICgpCistIChOU0RpY3Rpb25hcnkgKilfdGltaW5n
RGF0YTsKK0Bwcm9wZXJ0eSAocmVhZHdyaXRlLCBjb3B5KSBOU1N0cmluZyAqX3BhdGhUb0Rvd25s
b2FkVGFza0ZpbGU7CitAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpfc3RvcmFnZVBhcnRpdGlv
bklkZW50aWZpZXI7CitAcHJvcGVydHkgKG51bGxhYmxlLCByZWFkd3JpdGUsIHJldGFpbikgTlNV
UkwgKl9zaXRlRm9yQ29va2llczsKK0Bwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIF9pc1RvcExl
dmVsTmF2aWdhdGlvbjsKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQorQHByb3BlcnR5IChub25hdG9taWMsIGFz
c2lnbikgQk9PTCBfcHJlY29ubmVjdDsKICNlbmRpZgogQGVuZAogCkBAIC0xNTYsMjggKzE5Miw2
IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNh
Y2hlZFVSTFJlc3BvbnNlUmVmKTsKIEBlbmQKICNlbmRpZgogCi1AaW50ZXJmYWNlIE5TSFRUUENv
b2tpZSAoKQotQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpf
c3RvcmFnZVBhcnRpdGlvbjsKLUBlbmQKLQotQGludGVyZmFjZSBOU0hUVFBDb29raWVTdG9yYWdl
ICgpCi0tIChpZClfaW5pdFdpdGhJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgcHJp
dmF0ZTooYm9vbClpc1ByaXZhdGU7Ci0tICh2b2lkKV9nZXRDb29raWVzRm9yVVJMOihOU1VSTCAq
KXVybCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBhcnRpdGlvbjoo
TlNTdHJpbmcgKilwYXJ0aXRpb24gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkg
KikpY29tcGxldGlvbkhhbmRsZXI7Ci0tICh2b2lkKV9nZXRDb29raWVzRm9yVVJMOihOU1VSTCAq
KXVybCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBhcnRpdGlvbjoo
TlNTdHJpbmcgKilwYXJ0aXRpb24gcG9saWN5UHJvcGVydGllczooTlNEaWN0aW9uYXJ5Kilwcm9w
cyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAqKSljb21wbGV0aW9uSGFuZGxl
cjsKLS0gKHZvaWQpX3NldENvb2tpZXM6KE5TQXJyYXkgKiljb29raWVzIGZvclVSTDooTlNVUkwg
KilVUkwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwb2xpY3lQcm9w
ZXJ0aWVzOihOU0RpY3Rpb25hcnkqKSBwcm9wczsKLUBlbmQKLQotQGludGVyZmFjZSBOU1VSTFNl
c3Npb25UYXNrICgpCi0tIChOU0RpY3Rpb25hcnkgKilfdGltaW5nRGF0YTsKLUBwcm9wZXJ0eSAo
cmVhZHdyaXRlLCBjb3B5KSBOU1N0cmluZyAqX3BhdGhUb0Rvd25sb2FkVGFza0ZpbGU7Ci1AcHJv
cGVydHkgKGNvcHkpIE5TU3RyaW5nICpfc3RvcmFnZVBhcnRpdGlvbklkZW50aWZpZXI7Ci1AcHJv
cGVydHkgKG51bGxhYmxlLCByZWFkd3JpdGUsIHJldGFpbikgTlNVUkwgKl9zaXRlRm9yQ29va2ll
czsKLUBwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIF9pc1RvcExldmVsTmF2aWdhdGlvbjsKLSNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTEwMDAwKQotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQk9PTCBfcHJlY29u
bmVjdDsKLSNlbmRpZgotQGVuZAotCiBleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBOU1VSTEF1dGhl
bnRpY2F0aW9uTWV0aG9kT0F1dGg7CiAKICNlbmRpZiAvLyBkZWZpbmVkKF9fT0JKQ19fKQpAQCAt
Mjg1LDExICsyOTksNiBAQCBlbnVtIDogTlNVSW50ZWdlciB7CiAgICAgTlNIVFRQQ29va2llQWNj
ZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMywKIH07CiAKLUBp
bnRlcmZhY2UgTlNDYWNoZWRVUkxSZXNwb25zZSAoKQotLShpZClfaW5pdFdpdGhDRkNhY2hlZFVS
TFJlc3BvbnNlOihDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKWNhY2hlZFJlc3BvbnNlOwotLShDRkNh
Y2hlZFVSTFJlc3BvbnNlUmVmKV9DRkNhY2hlZFVSTFJlc3BvbnNlOwotQGVuZAotCiAjZW5kaWYK
IAogV1RGX0VYVEVSTl9DX0JFR0lOCkBAIC0zMTQsNiArMzIzLDkgQEAgV1RGX0VYVEVSTl9DX0VO
RAogCiAjaWYgZGVmaW5lZChfX09CSkNfXykKIAorLy8gRklYTUU6IE1vdmUgdGhlc2UgZGVjbGFy
YXRpb25zIHRoZSBhYm92ZSBzZWN0aW9uIHVuZGVyICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB3
aGVuIHBvc3NpYmxlIHNvIHRoYXQKKy8vIEFwcGxlIGludGVybmFsIFNESyBidWlsZHMgdXNlIGhl
YWRlcnMgaW5zdGVhZC4KKwogQGludGVyZmFjZSBOU0hUVFBDb29raWUgKCkKICNpZiBQTEFURk9S
TShNQUMpCiArIChOU0FycmF5ICopX3BhcnNlZENvb2tpZXNXaXRoUmVzcG9uc2VIZWFkZXJGaWVs
ZHM6KE5TRGljdGlvbmFyeSAqKWhlYWRlckZpZWxkcyBmb3JVUkw6KE5TVVJMICopYVVSTDsKQEAg
LTMyMSwxNyArMzMzLDYgQEAgV1RGX0VYVEVSTl9DX0VORAogKyAoTlNBcnJheSAqKV9jZjJuc0Nv
b2tpZXM6KENGQXJyYXlSZWYpY2ZDb29raWVzOwogQGVuZAogCi0jaWYgIVVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCi1AaW50ZXJmYWNlIE5TSFRUUENvb2tpZVN0b3JhZ2UgKCkKLS0gKHZvaWQpcmVt
b3ZlQ29va2llc1NpbmNlRGF0ZTooTlNEYXRlICopZGF0ZTsKLS0gKGlkKV9pbml0V2l0aENGSFRU
UENvb2tpZVN0b3JhZ2U6KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpY2ZTdG9yYWdlOwotLSAoQ0ZI
VFRQQ29va2llU3RvcmFnZVJlZilfY29va2llU3RvcmFnZTsKLS0gKHZvaWQpX3NhdmVDb29raWVz
OwotLSAodm9pZClfc2F2ZUNvb2tpZXM6KGRpc3BhdGNoX2Jsb2NrX3QpIGNvbXBsZXRpb25IYW5k
bGVyOwotQGVuZAotI2VuZGlmCi0KLS8vIEZJWE1FOiBNb3ZlICtfc2V0U2hhcmVkSFRUUENvb2tp
ZVN0b3JhZ2U6IGludG8gdGhlIGFib3ZlIHNlY3Rpb24gdW5kZXIgIVVTRShBUFBMRV9JTlRFUk5B
TF9TREspIHdoZW4gcG9zc2libGUgKHNvb24pLgogQGludGVyZmFjZSBOU0hUVFBDb29raWVTdG9y
YWdlICgpCiArICh2b2lkKV9zZXRTaGFyZWRIVFRQQ29va2llU3RvcmFnZTooTlNIVFRQQ29va2ll
U3RvcmFnZSAqKXN0b3JhZ2U7CiBAZW5kCkBAIC0zNDAsNCArMzQxLDE1IEBAIFdURl9FWFRFUk5f
Q19FTkQKIC0gKHZvaWQpX3NldE1JTUVUeXBlOihOU1N0cmluZyAqKXR5cGU7CiBAZW5kCiAKK0Bp
bnRlcmZhY2UgTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbiAoKQorI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApCisv
LyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSByZGFyOi8vcHJvYmxlbS80MDY1MDI0NCBpcyBpbiBh
IGJ1aWxkLgorQHByb3BlcnR5IChjb3B5KSBOU0RpY3Rpb25hcnkgKl9zb2NrZXRTdHJlYW1Qcm9w
ZXJ0aWVzOworI2VuZGlmCitAZW5kCisKK0BpbnRlcmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoKQor
LSAodm9pZClfc2V0RXhwbGljaXRDb29raWVTdG9yYWdlOihDRkhUVFBDb29raWVTdG9yYWdlUmVm
KXN0b3JhZ2U7CitAZW5kCisKICNlbmRpZiAvLyBkZWZpbmVkKF9fT0JKQ19fKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCmluZGV4
IGJhZDgyZGUwMjE0MzBlMDgwNGI1MGUxOTk5ZDIwNjJhMzIyNDQ5ZWIuLjVhZWRmMDQ1N2JjMzEw
NDE1YTIxZTU3YjhmYzY3Nzc5OTRhOWMwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKQEAgLTI1LDE4ICsyNSwxMiBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU09iamVjdC5oPgotCiAjaWYg
UExBVEZPUk0oTUFDKSB8fCBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxGb3Vu
ZGF0aW9uL05TVVJMRG93bmxvYWQuaD4KIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAj
aW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMRG93bmxvYWRQcml2YXRlLmg+Ci0jZWxzZQotQGludGVy
ZmFjZSBOU1VSTERvd25sb2FkICgpCi0rKGlkKV9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlv
bjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKily
ZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UgZGVsZWdhdGU6KGlkKWRl
bGVnYXRlIHByb3h5OihpZClwcm94eTsKLUBlbmQKICNlbmRpZgogCiAjZWxzZQpAQCAtNDgsNiAr
NDIsMTIgQEAKIEBjbGFzcyBOU1VSTFJlcXVlc3Q7CiBAY2xhc3MgTlNVUkxSZXNwb25zZTsKIAor
I2lmbmRlZiBXZWJEb3dubG9hZF9oCisvKiBBbHNvIGRlZmluZWQgaW4gPFdlYktpdC9XZWJEb3du
bG9hZC5oPi4gKi8KK0BpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCA6IE5TT2JqZWN0CitAZW5kCisj
ZW5kaWYKKwogQHByb3RvY29sIE5TVVJMRG93bmxvYWREZWxlZ2F0ZSA8TlNPYmplY3Q+CiBAb3B0
aW9uYWwKIC0gKHZvaWQpZG93bmxvYWREaWRCZWdpbjooTlNVUkxEb3dubG9hZCAqKWRvd25sb2Fk
OwpAQCAtNjUsMTIgKzY1LDYgQEAKIC0gKHZvaWQpZG93bmxvYWQ6KE5TVVJMRG93bmxvYWQgKilk
b3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3I7CiBAZW5kCiAKLSNpZm5k
ZWYgV2ViRG93bmxvYWRfaAotLyogQWxzbyBkZWZpbmVkIGluIDxXZWJLaXQvV2ViRG93bmxvYWQu
aD4uICovCi1AaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgOiBOU09iamVjdAotQGVuZAotI2VuZGlm
Ci0KIEBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoKQogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRo
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxv
YWREZWxlZ2F0ZT4pZGVsZWdhdGU7CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXN1bWVEYXRh
OihOU0RhdGEgKilyZXN1bWVEYXRhIGRlbGVnYXRlOihpZCA8TlNVUkxEb3dubG9hZERlbGVnYXRl
PilkZWxlZ2F0ZSBwYXRoOihOU1N0cmluZyAqKXBhdGg7CkBAIC03OSw4ICs3MywxNyBAQAogQHBy
b3BlcnR5IChyZWFkb25seSwgY29weSkgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0OwogQHByb3BlcnR5
IChyZWFkb25seSwgY29weSkgTlNEYXRhICpyZXN1bWVEYXRhOwogQHByb3BlcnR5IEJPT0wgZGVs
ZXRlc0ZpbGVVcG9uRmFpbHVyZTsKK0BlbmQKKworI2VuZGlmCiAKLSsoaWQpX2Rvd25sb2FkV2l0
aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25z
ZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworI2lmICFVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKKysgKGlkKV9kb3du
bG9hZFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZClkZWxl
Z2F0ZSBkaXJlY3Rvcnk6KE5TU3RyaW5nICopZGlyZWN0b3J5OworKyAoaWQpX2Rvd25sb2FkV2l0
aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25z
ZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworLSAoaWQpX2luaXRXaXRo
TG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNl
IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooTlNVUkxDb25uZWN0aW9uRGVsZWdhdGVQcm94
eSAqKXByb3h5OworLSAoaWQpX2luaXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dCBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsK
IEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViQ29yZU5TVVJMRXh0cmFzLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNv
cmVOU1VSTEV4dHJhcy5tbQppbmRleCBlYzY0ZWE5MWNmNzJhYTUyNTZjOWE1NmFlZTMyNjJmODJl
ZGIwMGZiLi5lNDVmZGFhNDNiMDBiZTBiZTE0NWFlZWNmN2ZjZTNlZjk3ZWY1ZWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAg
LTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVVJMUGFyc2VyLmgi
CiAjaW1wb3J0ICJXZWJDb3JlTlNVUkxFeHRyYXMuaCIKKyNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IZXhO
dW1iZXIuaD4KICNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgpAQCAtNDcsMTEgKzQ4
LDYgQEAgdHlwZWRlZiB2b2lkICgqIFN0cmluZ1JhbmdlQXBwbGllckZ1bmN0aW9uKShOU1N0cmlu
ZyAqc3RyaW5nLCBOU1JhbmdlIHJhbmdlLCB2b2kKIAogc3RhdGljIHVpbnQzMl90IElETlNjcmlw
dFdoaXRlTGlzdFsoVVNDUklQVF9DT0RFX0xJTUlUICsgMzEpIC8gMzJdOwogCi0KLUBpbnRlcmZh
Y2UgTlNVUkxQcm90b2NvbCAoV0tOU1VSTFByb3RvY29sSW50ZXJuYWwpCi0rIChDbGFzcylfcHJv
dG9jb2xDbGFzc0ZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7Ci1AZW5kCi0KIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgaXNBcm1lbmlhbkxvb2thbGlrZUNoYXJh
Y3RlcihVQ2hhcjMyIGNvZGVQb2ludCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggMWQ3YjZlNzg3NDJl
ZTE3ODY2OTA3ZTU0ZDYyNTQ4MTI3NGNhOTA1NC4uYjlmYzJhMmYxN2NkOTU3NDAwNGNiYjk3NDk5
YWFiZDExNjZlMDczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTYzLDEwICs2Myw2IEBACiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1AaW50ZXJmYWNlIE5TVVJMQ29ubmVjdGlvbiAoKQot
LShpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihp
ZClkZWxlZ2F0ZSB1c2VzQ2FjaGU6KEJPT0wpdXNlc0NhY2hlRmxhZyBtYXhDb250ZW50TGVuZ3Ro
Oihsb25nIGxvbmcpbWF4Q29udGVudExlbmd0aCBzdGFydEltbWVkaWF0ZWx5OihCT09MKXN0YXJ0
SW1tZWRpYXRlbHkgY29ubmVjdGlvblByb3BlcnRpZXM6KE5TRGljdGlvbmFyeSAqKWNvbm5lY3Rp
b25Qcm9wZXJ0aWVzOwotQGVuZAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBzdGF0aWMg
dm9pZCBhcHBseUJhc2ljQXV0aG9yaXphdGlvbkhlYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCkBAIC0yMjQsNyArMjIwLDEwIEBAIHZv
aWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZU5TVVJMQ29ubmVjdGlvbihpZCBkZWxlZ2F0ZSwgYm9v
bCBzaG91bGRVc2VDcmVkZW50aWFsCiAgICAgLy8gd2ViIGNvbnRlbnQgZm9yIHB1cnBvc2VzIG9m
IEFwcCBUcmFuc3BvcnQgU2VjdXJpdHkuCiAgICAgW3Byb3BlcnR5RGljdGlvbmFyeSBzZXRPYmpl
Y3Q6QHtAIk5TQWxsb3dzQXJiaXRyYXJ5TG9hZHNJbldlYkNvbnRlbnQiOiBAWUVTfSBmb3JLZXk6
QCJfa0NGVVJMQ29ubmVjdGlvblByb3BlcnR5QVRTRnJhbWV3b3JrT3ZlcnJpZGVzIl07CiAKKyNw
cmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdu
b3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICBkLT5tX2Nvbm5lY3Rpb24gPSBh
ZG9wdE5TKFtbTlNVUkxDb25uZWN0aW9uIGFsbG9jXSBfaW5pdFdpdGhSZXF1ZXN0Om5zUmVxdWVz
dCBkZWxlZ2F0ZTpkZWxlZ2F0ZSB1c2VzQ2FjaGU6dXNlc0NhY2hlIG1heENvbnRlbnRMZW5ndGg6
MCBzdGFydEltbWVkaWF0ZWx5Ok5PIGNvbm5lY3Rpb25Qcm9wZXJ0aWVzOnByb3BlcnR5RGljdGlv
bmFyeV0pOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogfQogCiBib29sIFJlc291cmNl
SGFuZGxlOjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCBmYzIwOWM4ZjcxMzk3ZTE3
MjhjMTUyMzc5OTM3YjI4YjlmNGMxZDJmLi5jMmQ0NWQ2NmJkMjU4ZWI4MzJjMjU0ZmViODM1YWFk
ZTY3MTNlOTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTQ1LDI2ICs0NSwxMCBAQAogI2lt
cG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5o
PgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE0MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEyMDAwMCkKLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoU3RhZ2lu
ZykKLUBwcm9wZXJ0eSAocmVhZHdyaXRlLCByZXRhaW4pIE5TVVJMICpfc2l0ZUZvckNvb2tpZXM7
Ci1AcHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBfaXNUb3BMZXZlbE5hdmlnYXRpb247Ci1AZW5k
Ci0jZW5kaWYKLQogI2lmIEhBVkUoTldfQUNUSVZJVFkpCiAjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZO
U1VSTENvbm5lY3Rpb24uaD4KICNlbmRpZgogCi0jaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9Q
QVJUSVRJT05JTkcpCi0KLS8vIEZJWE1FOiBNb3ZlIHRvIENGTmV0d29ya1NQSS5oPwotQGludGVy
ZmFjZSBOU1VSTFNlc3Npb25UYXNrICgpCi0tICh2b2lkKV9zZXRFeHBsaWNpdENvb2tpZVN0b3Jh
Z2U6KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpc3RvcmFnZTsKLUBlbmQKLQotI2VuZGlmCi0KIG5h
bWVzcGFjZSBXZWJLaXQgewogCiAjaWYgVVNFKENSRURFTlRJQUxfU1RPUkFHRV9XSVRIX05FVFdP
UktfU0VTU0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBmYTA0NWY5ZWIwY2Q3YjRhOWExNGEz
ZmFhMWU0MzY2MGU3MzcwYjJlLi44MWQ3ZjhlNzJmZmRiZDgyYjc2YmM1NjYzYzZkY2VmOGViNTg5
YzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NCwxNiArNTQsNiBAQAogCiB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9u
Q29uZmlndXJhdGlvbiAoV0tTdGFnaW5nKQotQHByb3BlcnR5IChjb3B5KSBOU1NldCAqX3N1cHBy
ZXNzZWRBdXRvQWRkZWRIVFRQSGVhZGVyczsKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQotLy8gRklYTUU6IFJl
bW92ZSB0aGlzIG9uY2UgcmRhcjovL3Byb2JsZW0vNDA2NTAyNDQgaXMgaW4gYSBidWlsZC4KLUBw
cm9wZXJ0eSAoY29weSkgTlNEaWN0aW9uYXJ5ICpfc29ja2V0U3RyZWFtUHJvcGVydGllczsKLSNl
bmRpZgotQGVuZAotI2VuZGlmCi0KIHN0YXRpYyBOU1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0
aW9uIHRvTlNVUkxTZXNzaW9uUmVzcG9uc2VEaXNwb3NpdGlvbihXZWJDb3JlOjpQb2xpY3lBY3Rp
b24gZGlzcG9zaXRpb24pCiB7CiAgICAgc3dpdGNoIChkaXNwb3NpdGlvbikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRG93bmxvYWQubW0KaW5kZXggOThjN2NjYWJlMjE5NmZm
ZmZhYjkwYzFlMTY0MWU0ODhiYTE3NjhkOS4uOGM2YWZkMmNhMzZlOGM0OTdmYTNmMDJhZTk1MDM4
OTBkZmM1YTgyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJE
b3dubG9hZC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2Fk
Lm1tCkBAIC00MSwzMCArNDEsMTAgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLUBj
bGFzcyBOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5OwotCi0vLyBGSVhNRTogVGhlIGZvbGxv
d2luZyBhcmUgTlNVUkxEb3dubG9hZCBTUEkgLSBpdCB3b3VsZCBiZSBuaWNlIHRvIG5vdCBoYXZl
IHRvIG92ZXJyaWRlIHRoZW0gYXQgCi0vLyBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUKLUBpbnRl
cmZhY2UgTlNVUkxEb3dubG9hZCAoV2ViRG93bmxvYWRDYXBhYmlsaXR5KQotLSAoaWQpX2luaXRX
aXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KLSAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAg
ICAgICAgICAgICAgICAgICAgICByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCi0g
ICAgICAgICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHByb3h5OihOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5ICopcHJv
eHk7Ci0tIChpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAg
ICAgICAgICAgIGRlbGVnYXRlOihpZClkZWxlZ2F0ZQotICAgICAgICAgICAgIGRpcmVjdG9yeToo
TlNTdHJpbmcgKilkaXJlY3Rvcnk7Ci0KLUBlbmQKLQotQGludGVyZmFjZSBXZWJEb3dubG9hZElu
dGVybmFsIDogTlNPYmplY3QgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4KLXsKLUBwdWJsaWMKK0Bp
bnRlcmZhY2UgV2ViRG93bmxvYWRJbnRlcm5hbCA6IE5TT2JqZWN0IDxOU1VSTERvd25sb2FkRGVs
ZWdhdGU+IHsKICAgICBpZCByZWFsRGVsZWdhdGU7CiB9Ci0KLS0gKHZvaWQpc2V0UmVhbERlbGVn
YXRlOihpZClyZDsKLQorLSAodm9pZClzZXRSZWFsRGVsZWdhdGU6KGlkKXJlYWxEZWxlZ2F0ZTsK
IEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkRvd25sb2FkSW50ZXJuYWwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRG93bmxvYWRJbnRlcm5hbC5oIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzM2NlOTA4YzVjOThjYmQ5YjQ4NGRkMDJjOTk1ODA3ZjYz
YjQyY2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmgKKysrIC9kZXYv
bnVsbApAQCAtMSwzNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotKi8KLSAKLSNpbXBvcnQgPFdlYktpdExlZ2FjeS9XZWJEb3dubG9hZC5oPgotIAot
QGludGVyZmFjZSBXZWJEb3dubG9hZCAoV2ViRG93bmxvYWRDcmVhdGlvbikKLSsoaWQpX2Rvd25s
b2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKily
IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7Ci0KLSsoaWQpX2Rvd25sb2Fk
V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRl
IGRpcmVjdG9yeTooTlNTdHJpbmcgKilkaXJlY3Rvcnk7Ci0KLUBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQubW0KaW5kZXggODZiZTZlNGUzNjcyYjdkMWJlOGU4N2U1NjQ1Y2Q3YmMwNmM1ZmU4
Zi4uYzA3NzZjM2U4Mzc5ZWI2OWQ0MzNiYzcxYzljZmEyMzBjNzliZGM2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQubW0KQEAgLTM5LDcgKzM5LDcgQEAKICNpbXBvcnQgIldlYkRlbGVnYXRl
SW1wbGVtZW50YXRpb25DYWNoaW5nLmgiCiAjaW1wb3J0ICJXZWJEb2N1bWVudEludGVybmFsLmgi
CiAjaW1wb3J0ICJXZWJEb2N1bWVudExvYWRlck1hYy5oIgotI2ltcG9ydCAiV2ViRG93bmxvYWRJ
bnRlcm5hbC5oIgorI2ltcG9ydCAiV2ViRG93bmxvYWQuaCIKICNpbXBvcnQgIldlYkR5bmFtaWNT
Y3JvbGxCYXJzVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJFbGVtZW50RGljdGlvbmFyeS5o
IgogI2ltcG9ydCAiV2ViRm9ybURlbGVnYXRlLmgiCkBAIC0zMTgsNyArMzE4LDEwIEBAIHZvaWQg
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZChE
b2N1bWVudExvYWRlciogZG9jCiAKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gbWFpblJl
c291cmNlTG9hZGVyLT5oYW5kbGUoKTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gK
KyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRp
b25zIgogICAgIFtXZWJEb3dubG9hZCBfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246aGFu
ZGxlLT5jb25uZWN0aW9uKCkgcmVxdWVzdDpyZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVw
ZGF0ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkpIHJlc3BvbnNlOnJlc3BvbnNlLm5zVVJMUmVzcG9u
c2UoKSBkZWxlZ2F0ZTpbd2ViVmlldyBkb3dubG9hZERlbGVnYXRlXSBwcm94eTpuaWxdOworI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogfQogCiBib29sIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciog
bG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBpbnQgbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IGI4OTI3MzRjYWZmMzY1ZGQ3ODU0OWQ4N2VjMGEwMzk0OTc2
YjY2NjYuLmY2ZGM5NTI2N2FhNjAxM2ViNTJlNTExMWM0NWVmMWE3MjM5ZjVlYmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTU4LDcgKzU4LDYgQEAK
ICNpbXBvcnQgIldlYkRvY3VtZW50LmgiCiAjaW1wb3J0ICJXZWJEb2N1bWVudEludGVybmFsLmgi
CiAjaW1wb3J0ICJXZWJEb3dubG9hZC5oIgotI2ltcG9ydCAiV2ViRG93bmxvYWRJbnRlcm5hbC5o
IgogI2ltcG9ydCAiV2ViRHJhZ0NsaWVudC5oIgogI2ltcG9ydCAiV2ViRHluYW1pY1Njcm9sbEJh
cnNWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkVkaXRpbmdEZWxlZ2F0ZS5oIgpAQCAtMjQ1
MCwxMSArMjQ0OSwxMiBAQCAtIChXZWJEb3dubG9hZCAqKV9kb3dubG9hZFVSTDooTlNVUkwgKilV
UkwKICAgICBBU1NFUlQoVVJMKTsKICAgICAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBb
W05TVVJMUmVxdWVzdCBhbGxvY10gaW5pdFdpdGhVUkw6VVJMXTsKLSAgICBXZWJEb3dubG9hZCAq
ZG93bmxvYWQgPSBbV2ViRG93bmxvYWQgX2Rvd25sb2FkV2l0aFJlcXVlc3Q6cmVxdWVzdAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxlZ2F0
ZTpfcHJpdmF0ZS0+ZG93bmxvYWREZWxlZ2F0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTpuaWxdOworI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zIgorICAgIFdlYkRvd25sb2FkICpkb3dubG9hZCA9IFtXZWJEb3du
bG9hZCBfZG93bmxvYWRXaXRoUmVxdWVzdDpyZXF1ZXN0IGRlbGVnYXRlOl9wcml2YXRlLT5kb3du
bG9hZERlbGVnYXRlIGRpcmVjdG9yeTpuaWxdOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBv
cAogICAgIFtyZXF1ZXN0IHJlbGVhc2VdOwotICAgIAorCiAgICAgcmV0dXJuIGRvd25sb2FkOwog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348387</attachid>
            <date>2018-08-28 21:10:53 -0700</date>
            <delta_ts>2018-08-29 19:40:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189072-20180828211052.patch</filename>
            <type>text/plain</type>
            <size>26845</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBiMmMzYTA1ZmY4NTE3
YmNiZmYxNDZiNTcyZjhhOWY4NDE1NGY2My4uNmUxYTM5YzY2NmM3YzVmODY1YTkyMTk0NWViOTdl
OWExZjExNWVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUg
Q0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW06IEluY2x1ZGUgQ0ZOZXR3b3JrU1BJLmggYW5k
IHJlbW92ZSBhCisgICAgICAgIGRlY2xhcmF0aW9uIG9mICtbTlNVUkxQcm90b2NvbCBfcHJvdG9j
b2xDbGFzc0ZvclJlcXVlc3Q6XS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tOiBSZW1vdmUgYSBkZWNsYXJhdGlvbiBvZgorICAgICAgICAtW05T
VVJMQ29ubmVjdGlvbiBfaW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250
ZW50TGVuZ3RoOnN0YXJ0SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6XS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5lY3Rpb24pOiBBZGQg
aWdub3JlIG9mCisgICAgICAgICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBhcm91bmQgdXNl
IG9mIHRoZSBhYm92ZSBtZXRob2QsIHNpbmNlIGl0CisgICAgICAgIGlzIGRlcHJlY2F0ZWQuCisK
IDIwMTgtMDgtMjggIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAg
ICAgICBbQ01ha2VdIFVzZSBDTWFrZSdzIEZpbmRGcmVldHlwZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5k
ZXggNDI4MjVkM2JhZjZlYzRjMjEwYmFmNTQzMjMyNTcwYThhNzQxNWM0Zi4uMzI0NjE5MTM0ZTcy
YTliNTI0OTQ4YjUyZmU3NDFhOThhNjAzYTEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3
b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4OTA3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaDogQWRkZWQgYSBG
SVhNRSBhYm91dCBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKS4KKyAgICAgICAgU29ydGVkIE9i
amVjdGl2ZS1DIGNsYXNzIGludGVyZmFjZXMgYWxwaGFiZXRpY2FsbHkgaW5zdGVhZCBvZiBoYXZp
bmcgdGhlbQorICAgICAgICByZWxhdGl2ZWx5IHJhbmRvbWx5IG9yZGVyZWQgaW4gdGhlIGZpbGUu
IFJlZHVjZWQgdGhlIHBsYXRmb3JtICNpZiBzdGF0ZW1lbnRzCisgICAgICAgIHNpbmNlIGl0J3Mg
bm90IGNyaXRpY2FsIHRvIGhhdmUgdGhlc2UgU1BJcyBkZWNsYXJlZCBvbmx5IHdoZXJlIHRoZXkg
YXJlCisgICAgICAgIHByZXNlbnQsIGFzIGxvbmcgYXMgdGhleSBhcmUgdXNlZCBvbmx5IHdoZW4g
dGhleSBhcmUgcHJlc2VudC4gTW92ZWQgc29tZQorICAgICAgICBhZGRpdGlvbmFsIGRlY2xhcmF0
aW9ucyBpbnRvIHRoaXMgZmlsZS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNVUkxEb3du
bG9hZFNQSS5oOiBBZGRlZCBtb3JlIE5TVVJMRG93bmxvYWQgbWV0aG9kcy4KKwogMjAxOC0wOC0y
NyAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBidWlsZCBmaXggLS0gZGlzYWJsZSBMVE8gZm9yIHByb2R1Y3Rpb24gYnVpbGRzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGJmMmE4YmFlMTAzZDhjYjAxMzE1YWQxYTc4ODlhNTRlNDU1ZThhNjEuLmUyNDU5ZmVhMWRl
MGZmOWNmMWMyNTc3NGI4YTAwY2EzNmNlZjU1YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTgtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtD
Rk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmgg
bW9yZSBjb25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4OTA3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06
IFJlbW92ZWQgTlNVUkxTZXNzaW9uVGFzaworICAgICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZy
b20gdGhpcyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5ldHdvcmtTUEkuaC4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06IFJlbW92ZWQgTlNVUkxT
ZXNzaW9uQ29uZmlndXJhdGlvbgorICAgICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhp
cyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5ldHdvcmtTUEkuaC4KKwogMjAxOC0wOC0yOCAgRG9uIE9s
bXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFrZV0gVXNlIENN
YWtlJ3MgRmluZEZyZWV0eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZDhhNGU0
YzUwNjg2MTFjYWY0OTAzYzNjNzdjNzU2YmE0Y2I2NGE1Yy4uYTQwNzM1OGFiNzAyM2QwNjRmMjE1
YTc1NWJiMjg5YWZkZTg2ZTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIyIEBACisyMDE4LTA4LTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUgQ0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0
d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBNaXNjL1dlYkRvd25sb2FkLm1tOiBSZW1vdmVkIGZvcndhcmQg
ZGVjbGFyYXRpb24gb2YgTlNVUkxDb25uZWN0aW9uRGVsZWdhdGVQcm94eQorICAgICAgICBhbmQg
ZGVjbGFyYXRpb25zIGZvciBOU1VSTERvd25sb2FkIGluaXQgbWV0aG9kcy4KKworICAgICAgICAq
IE1pc2MvV2ViRG93bmxvYWRJbnRlcm5hbC5oOiBSZW1vdmVkLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06IFJlbW92ZWQgaW5jbHVkZSBvZiBXZWJE
b3dubG9hZEludGVybmFsLmguCisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6Y29udmVy
dE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKTogSWdub3JlCisgICAgICAgICItV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zIiBiZWNhdXNlIHRoZSBtZXRob2QgdXNlZCBoZXJlIGlzIGRlcHJlY2F0
ZWQuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcg
X2Rvd25sb2FkVVJMOl0pOiBJZ25vcmUgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiIGJlY2F1
c2UgdGhlIG1ldGhvZAorICAgICAgICB1c2VkIGhlcmUgaXMgZGVwcmVjYXRlZC4KKwogMjAxOC0w
OC0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBX
b3JrIHRvd2FyZHM6IFtpT1NdIENvbnNvbGlkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgcmVh
ZFN0cmluZywgc3RyaW5nRm9yVHlwZSwgYW5kIHJlYWRVUkwgaW4gUGxhdGZvcm1QYXN0ZWJvYXJk
SU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCmlu
ZGV4IDNkYzI5NTBhYWQ4YjRhYTJhZDZiMTc4MGI5NGY3YTI1MDgzMThlZjMuLjE3YzEzZjM0NmZi
YTUyNDlmNTEwZDRhZThjNThlMmJjY2IzYTIzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCkBAIC0zMCw2ICszMCwxMCBAQAogI2luY2x1ZGUgPENG
TmV0d29yay9DRk5ldHdvcmsuaD4KICNpbmNsdWRlIDxwYWwvc3BpL2NmL0NGTmV0d29ya0Nvbm5l
Y3Rpb25DYWNoZVNQSS5oPgogCisvLyBGSVhNRTogUG9saWN5IGFib3V0IHdoaWNoIENGTmV0d29y
ayBmZWF0dXJlcyB0byAqdXNlKiBpbiBXZWJLaXQgZG9lcyBub3QgYmVsb25nIGluIHRoZSBTUEkg
aGVhZGVyLgorLy8gVGhlIFNQSSBoZWFkZXIgc2hvdWxkIGRlZmluZSB3aGljaCBDRk5ldHdvcmsg
ZmVhdHVyZXMgKmV4aXN0KiBpbiB0aGUgdW5kZXJseWluZyBzeXN0ZW0sIGJ1dCBub3QKKy8vIHBv
bGljeSBhYm91dCB3aGF0IFdlYktpdCBzaG91bGQgZG8uIEFjY29yZGluZ2x5LCB3ZSBzaG91bGQg
bW92ZSB0aGlzIHNvbWV3aGVyZSBlbHNlIG9yIHJlbmFtZSBpdAorLy8gdG8gYmUgYWJvdXQgQ0ZO
ZXR3b3JrIGNhcGFiaWxpdGllcyAoSEFWRSkgcmF0aGVyIHRoYW4gYWJvdXQgV2ViS2l0IHBvbGlj
eSAoVVNFKS4KICNpZiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTMwMiAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTEwMjAwKSB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSA0MDIwMCkgfHwgKFBMQVRGT1JNKFRWT1MpICYmIF9fVFZfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMjAwKSkKICNkZWZpbmUgVVNFX0NGTkVUV09SS19JR05P
UkVfSFNUUyAxCiAjZW5kaWYKQEAgLTkxLDYgKzk1LDQ1IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2Fj
aGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIC0g
KENGVVJMQ2FjaGVSZWYpX0NGVVJMQ2FjaGU7CiBAZW5kCiAKK0BpbnRlcmZhY2UgTlNDYWNoZWRV
UkxSZXNwb25zZSAoKQorLSAoaWQpX2luaXRXaXRoQ0ZDYWNoZWRVUkxSZXNwb25zZTooQ0ZDYWNo
ZWRVUkxSZXNwb25zZVJlZiljYWNoZWRSZXNwb25zZTsKKy0gKENGQ2FjaGVkVVJMUmVzcG9uc2VS
ZWYpX0NGQ2FjaGVkVVJMUmVzcG9uc2U7CitAZW5kCisKK0BpbnRlcmZhY2UgTlNIVFRQQ29va2ll
ICgpCistIChDRkhUVFBDb29raWVSZWYpX0NGSFRUUENvb2tpZTsKKysgKENGQXJyYXlSZWYgX19u
dWxsYWJsZSlfbnMyY2ZDb29raWVzOihOU0FycmF5ICogX19udWxsYWJsZSluc0Nvb2tpZXMgQ0Zf
UkVUVVJOU19SRVRBSU5FRDsKKy0gKENGSFRUUENvb2tpZVJlZiBfX251bGxhYmxlKV9HZXRJbnRl
cm5hbENGSFRUUENvb2tpZTsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqX3N0b3JhZ2VQYXJ0aXRpb247CitAZW5kCisKK0BpbnRlcmZhY2UgTlNIVFRQQ29v
a2llU3RvcmFnZSAoKQorLSAoaWQpX2luaXRXaXRoSWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVu
dGlmaWVyIHByaXZhdGU6KGJvb2wpaXNQcml2YXRlOworLSAodm9pZClfZ2V0Q29va2llc0ZvclVS
TDooTlNVUkwgKil1cmwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBw
YXJ0aXRpb246KE5TU3RyaW5nICopcGFydGl0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZClfZ2V0Q29va2llc0ZvclVS
TDooTlNVUkwgKil1cmwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBw
YXJ0aXRpb246KE5TU3RyaW5nICopcGFydGl0aW9uIHBvbGljeVByb3BlcnRpZXM6KE5TRGljdGlv
bmFyeSopcHJvcHMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxl
dGlvbkhhbmRsZXI7CistICh2b2lkKV9zZXRDb29raWVzOihOU0FycmF5ICopY29va2llcyBmb3JV
Ukw6KE5TVVJMICopVVJMIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwg
cG9saWN5UHJvcGVydGllczooTlNEaWN0aW9uYXJ5KikgcHJvcHM7CistICh2b2lkKXJlbW92ZUNv
b2tpZXNTaW5jZURhdGU6KE5TRGF0ZSAqKWRhdGU7CistIChpZClfaW5pdFdpdGhDRkhUVFBDb29r
aWVTdG9yYWdlOihDRkhUVFBDb29raWVTdG9yYWdlUmVmKWNmU3RvcmFnZTsKKy0gKENGSFRUUENv
b2tpZVN0b3JhZ2VSZWYpX2Nvb2tpZVN0b3JhZ2U7CistICh2b2lkKV9zYXZlQ29va2llczsKKy0g
KHZvaWQpX3NhdmVDb29raWVzOihkaXNwYXRjaF9ibG9ja190KSBjb21wbGV0aW9uSGFuZGxlcjsK
K0BlbmQKKworQGludGVyZmFjZSBOU1VSTENvbm5lY3Rpb24gKCkKKy0gKGlkKV9pbml0V2l0aFJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHVzZXND
YWNoZTooQk9PTCl1c2VzQ2FjaGVGbGFnIG1heENvbnRlbnRMZW5ndGg6KGxvbmcgbG9uZyltYXhD
b250ZW50TGVuZ3RoIHN0YXJ0SW1tZWRpYXRlbHk6KEJPT0wpc3RhcnRJbW1lZGlhdGVseSBjb25u
ZWN0aW9uUHJvcGVydGllczooTlNEaWN0aW9uYXJ5ICopY29ubmVjdGlvblByb3BlcnRpZXM7CitA
ZW5kCisKK0BpbnRlcmZhY2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoKQorLSAodm9pZClzZXRDb250
ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXk6KE5TQXJyYXkgKil0aGVFbmNvZGlu
Z0ZhbGxiYWNrQXJyYXk7CistICh2b2lkKXNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjooTlNT
dHJpbmcgKilpZGVudGlmaWVyOworLSAodm9pZClfc2V0UHJldmVudEhTVFNTdG9yYWdlOihCT09M
KXByZXZlbnRIU1RTU3RvcmFnZTsKKy0gKHZvaWQpX3NldElnbm9yZUhTVFM6KEJPT0wpaWdub3Jl
SFNUUzsKK0BlbmQKKworQGludGVyZmFjZSBOU1VSTFByb3RvY29sICgpCisrIChDbGFzcylfcHJv
dG9jb2xDbGFzc0ZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CitAZW5kCisKIEBp
bnRlcmZhY2UgTlNVUkxSZXF1ZXN0ICgpCiArIChOU0FycmF5ICopYWxsb3dzU3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdDooTlNTdHJpbmcgKilob3N0OwogKyAodm9pZClzZXRBbGxvd3NT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKilhbGxvdyBmb3JIb3N0OihOU1N0cmlu
ZyAqKWhvc3Q7CkBAIC0xMDAsMjAgKzE0Myw5IEBAIHR5cGVkZWYgdm9pZCAoXkNGQ2FjaGVkVVJM
UmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKTsKIC0gKGlkKV9p
bml0V2l0aENGVVJMUmVxdWVzdDooQ0ZVUkxSZXF1ZXN0UmVmKXJlcXVlc3Q7CiAtIChpZClfcHJv
cGVydHlGb3JLZXk6KE5TU3RyaW5nICopa2V5OwogLSAodm9pZClfc2V0UHJvcGVydHk6KGlkKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXk7Ci0jaWYgVVNFKENGTkVUV09SS19JR05PUkVfSFNU
UykKIC0gKEJPT0wpX3NjaGVtZVdhc1VwZ3JhZGVkRHVlVG9EeW5hbWljSFNUUzsKIC0gKEJPT0wp
X3ByZXZlbnRIU1RTU3RvcmFnZTsKIC0gKEJPT0wpX2lnbm9yZUhTVFM7Ci0jZW5kaWYKLUBlbmQK
LQotQGludGVyZmFjZSBOU011dGFibGVVUkxSZXF1ZXN0ICgpCi0tICh2b2lkKXNldENvbnRlbnRE
aXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheTooTlNBcnJheSAqKXRoZUVuY29kaW5nRmFs
bGJhY2tBcnJheTsKLS0gKHZvaWQpc2V0Qm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOihOU1N0cmlu
ZyAqKWlkZW50aWZpZXI7Ci0jaWYgVVNFKENGTkVUV09SS19JR05PUkVfSFNUUykKLS0gKHZvaWQp
X3NldFByZXZlbnRIU1RTU3RvcmFnZTooQk9PTClwcmV2ZW50SFNUU1N0b3JhZ2U7Ci0tICh2b2lk
KV9zZXRJZ25vcmVIU1RTOihCT09MKWlnbm9yZUhTVFM7Ci0jZW5kaWYKIEBlbmQKIAogQGludGVy
ZmFjZSBOU1VSTFJlc3BvbnNlICgpCkBAIC0xMjIsMTIgKzE1NCw2IEBAIHR5cGVkZWYgdm9pZCAo
XkNGQ2FjaGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNlUmVm
KTsKIC0gKE5TRGF0ZSAqKV9sYXN0TW9kaWZpZWREYXRlOwogQGVuZAogCi1AaW50ZXJmYWNlIE5T
SFRUUENvb2tpZSAoKQotLSAoQ0ZIVFRQQ29va2llUmVmKV9DRkhUVFBDb29raWU7Ci0rIChDRkFy
cmF5UmVmIF9fbnVsbGFibGUpX25zMmNmQ29va2llczooTlNBcnJheSAqIF9fbnVsbGFibGUpbnND
b29raWVzIENGX1JFVFVSTlNfUkVUQUlORUQ7Ci0tIChDRkhUVFBDb29raWVSZWYgX19udWxsYWJs
ZSlfR2V0SW50ZXJuYWxDRkhUVFBDb29raWU7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgTlNVUkxTZXNz
aW9uQ29uZmlndXJhdGlvbiAoKQogQHByb3BlcnR5IChhc3NpZ24pIF9UaW1pbmdEYXRhT3B0aW9u
cyBfdGltaW5nRGF0YU9wdGlvbnM7CiBAcHJvcGVydHkgKGNvcHkpIE5TRGF0YSAqX3NvdXJjZUFw
cGxpY2F0aW9uQXVkaXRUb2tlbkRhdGE7CkBAIC0xNDAsOCArMTY2LDE2IEBAIHR5cGVkZWYgdm9p
ZCAoXkNGQ2FjaGVkVVJMUmVzcG9uc2VDYWxsQmFja0Jsb2NrKShDRkNhY2hlZFVSTFJlc3BvbnNl
UmVmKTsKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMDAwKQogQHByb3BlcnR5IChudWxsYWJsZSwgY29weSkgTlNTZXQg
Kl9zdXBwcmVzc2VkQXV0b0FkZGVkSFRUUEhlYWRlcnM7CiAjZW5kaWYKLSNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBM
QVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAw
KQotQHByb3BlcnR5IChjb3B5KSBOU0RpY3Rpb25hcnkgKl9zb2NrZXRTdHJlYW1Qcm9wZXJ0aWVz
OworQGVuZAorCitAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKKy0gKE5TRGljdGlvbmFy
eSAqKV90aW1pbmdEYXRhOworQHByb3BlcnR5IChyZWFkd3JpdGUsIGNvcHkpIE5TU3RyaW5nICpf
cGF0aFRvRG93bmxvYWRUYXNrRmlsZTsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKl9zdG9y
YWdlUGFydGl0aW9uSWRlbnRpZmllcjsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWR3cml0ZSwg
cmV0YWluKSBOU1VSTCAqX3NpdGVGb3JDb29raWVzOworQHByb3BlcnR5IChyZWFkd3JpdGUpIEJP
T0wgX2lzVG9wTGV2ZWxOYXZpZ2F0aW9uOworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBCT09MIF9wcmVjb25uZWN0OwogI2VuZGlmCiBAZW5kCiAKQEAgLTE1
NiwyOCArMTkwLDYgQEAgdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNr
QmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogQGVuZAogI2VuZGlmCiAKLUBpbnRlcmZh
Y2UgTlNIVFRQQ29va2llICgpCi1AcHJvcGVydHkgKG51bGxhYmxlLCByZWFkb25seSwgY29weSkg
TlNTdHJpbmcgKl9zdG9yYWdlUGFydGl0aW9uOwotQGVuZAotCi1AaW50ZXJmYWNlIE5TSFRUUENv
b2tpZVN0b3JhZ2UgKCkKLS0gKGlkKV9pbml0V2l0aElkZW50aWZpZXI6KE5TU3RyaW5nICopaWRl
bnRpZmllciBwcml2YXRlOihib29sKWlzUHJpdmF0ZTsKLS0gKHZvaWQpX2dldENvb2tpZXNGb3JV
Ukw6KE5TVVJMICopdXJsIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwg
cGFydGl0aW9uOihOU1N0cmluZyAqKXBhcnRpdGlvbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoTlNBcnJheSAqKSljb21wbGV0aW9uSGFuZGxlcjsKLS0gKHZvaWQpX2dldENvb2tpZXNGb3JV
Ukw6KE5TVVJMICopdXJsIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwg
cGFydGl0aW9uOihOU1N0cmluZyAqKXBhcnRpdGlvbiBwb2xpY3lQcm9wZXJ0aWVzOihOU0RpY3Rp
b25hcnkqKXByb3BzIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNvbXBs
ZXRpb25IYW5kbGVyOwotLSAodm9pZClfc2V0Q29va2llczooTlNBcnJheSAqKWNvb2tpZXMgZm9y
VVJMOihOU1VSTCAqKVVSTCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJM
IHBvbGljeVByb3BlcnRpZXM6KE5TRGljdGlvbmFyeSopIHByb3BzOwotQGVuZAotCi1AaW50ZXJm
YWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKLS0gKE5TRGljdGlvbmFyeSAqKV90aW1pbmdEYXRhOwot
QHByb3BlcnR5IChyZWFkd3JpdGUsIGNvcHkpIE5TU3RyaW5nICpfcGF0aFRvRG93bmxvYWRUYXNr
RmlsZTsKLUBwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKl9zdG9yYWdlUGFydGl0aW9uSWRlbnRp
ZmllcjsKLUBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWR3cml0ZSwgcmV0YWluKSBOU1VSTCAqX3Np
dGVGb3JDb29raWVzOwotQHByb3BlcnR5IChyZWFkd3JpdGUpIEJPT0wgX2lzVG9wTGV2ZWxOYXZp
Z2F0aW9uOwotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBC
T09MIF9wcmVjb25uZWN0OwotI2VuZGlmCi1AZW5kCi0KIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0
IE5TVVJMQXV0aGVudGljYXRpb25NZXRob2RPQXV0aDsKIAogI2VuZGlmIC8vIGRlZmluZWQoX19P
QkpDX18pCkBAIC0yODUsMTEgKzI5Nyw2IEBAIGVudW0gOiBOU1VJbnRlZ2VyIHsKICAgICBOU0hU
VFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gPSAz
LAogfTsKIAotQGludGVyZmFjZSBOU0NhY2hlZFVSTFJlc3BvbnNlICgpCi0tKGlkKV9pbml0V2l0
aENGQ2FjaGVkVVJMUmVzcG9uc2U6KENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpY2FjaGVkUmVzcG9u
c2U7Ci0tKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpX0NGQ2FjaGVkVVJMUmVzcG9uc2U7Ci1AZW5k
Ci0KICNlbmRpZgogCiBXVEZfRVhURVJOX0NfQkVHSU4KQEAgLTMxNCw2ICszMjEsOSBAQCBXVEZf
RVhURVJOX0NfRU5ECiAKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQogCisvLyBGSVhNRTogTW92ZSB0
aGVzZSBkZWNsYXJhdGlvbnMgdGhlIGFib3ZlIHNlY3Rpb24gdW5kZXIgIVVTRShBUFBMRV9JTlRF
Uk5BTF9TREspIHdoZW4gcG9zc2libGUgc28gdGhhdAorLy8gQXBwbGUgaW50ZXJuYWwgU0RLIGJ1
aWxkcyB1c2UgaGVhZGVycyBpbnN0ZWFkLgorCiBAaW50ZXJmYWNlIE5TSFRUUENvb2tpZSAoKQog
I2lmIFBMQVRGT1JNKE1BQykKICsgKE5TQXJyYXkgKilfcGFyc2VkQ29va2llc1dpdGhSZXNwb25z
ZUhlYWRlckZpZWxkczooTlNEaWN0aW9uYXJ5ICopaGVhZGVyRmllbGRzIGZvclVSTDooTlNVUkwg
KilhVVJMOwpAQCAtMzIxLDE3ICszMzEsNiBAQCBXVEZfRVhURVJOX0NfRU5ECiArIChOU0FycmF5
ICopX2NmMm5zQ29va2llczooQ0ZBcnJheVJlZiljZkNvb2tpZXM7CiBAZW5kCiAKLSNpZiAhVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llU3RvcmFnZSAoKQot
LSAodm9pZClyZW1vdmVDb29raWVzU2luY2VEYXRlOihOU0RhdGUgKilkYXRlOwotLSAoaWQpX2lu
aXRXaXRoQ0ZIVFRQQ29va2llU3RvcmFnZTooQ0ZIVFRQQ29va2llU3RvcmFnZVJlZiljZlN0b3Jh
Z2U7Ci0tIChDRkhUVFBDb29raWVTdG9yYWdlUmVmKV9jb29raWVTdG9yYWdlOwotLSAodm9pZClf
c2F2ZUNvb2tpZXM7Ci0tICh2b2lkKV9zYXZlQ29va2llczooZGlzcGF0Y2hfYmxvY2tfdCkgY29t
cGxldGlvbkhhbmRsZXI7Ci1AZW5kCi0jZW5kaWYKLQotLy8gRklYTUU6IE1vdmUgK19zZXRTaGFy
ZWRIVFRQQ29va2llU3RvcmFnZTogaW50byB0aGUgYWJvdmUgc2VjdGlvbiB1bmRlciAhVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykgd2hlbiBwb3NzaWJsZSAoc29vbikuCiBAaW50ZXJmYWNlIE5TSFRU
UENvb2tpZVN0b3JhZ2UgKCkKICsgKHZvaWQpX3NldFNoYXJlZEhUVFBDb29raWVTdG9yYWdlOihO
U0hUVFBDb29raWVTdG9yYWdlICopc3RvcmFnZTsKIEBlbmQKQEAgLTM0MCw0ICszMzksMTUgQEAg
V1RGX0VYVEVSTl9DX0VORAogLSAodm9pZClfc2V0TUlNRVR5cGU6KE5TU3RyaW5nICopdHlwZTsK
IEBlbmQKIAorQGludGVyZmFjZSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICgpCisjaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAp
IHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEyMDAwMCkKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHJkYXI6Ly9wcm9ibGVtLzQwNjUw
MjQ0IGlzIGluIGEgYnVpbGQuCitAcHJvcGVydHkgKGNvcHkpIE5TRGljdGlvbmFyeSAqX3NvY2tl
dFN0cmVhbVByb3BlcnRpZXM7CisjZW5kaWYKK0BlbmQKKworQGludGVyZmFjZSBOU1VSTFNlc3Np
b25UYXNrICgpCistICh2b2lkKV9zZXRFeHBsaWNpdENvb2tpZVN0b3JhZ2U6KENGSFRUUENvb2tp
ZVN0b3JhZ2VSZWYpc3RvcmFnZTsKK0BlbmQKKwogI2VuZGlmIC8vIGRlZmluZWQoX19PQkpDX18p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9OU1VSTERvd25s
b2FkU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9OU1VSTERvd25sb2Fk
U1BJLmgKaW5kZXggYmFkODJkZTAyMTQzMGUwODA0YjUwZTE5OTlkMjA2MmEzMjI0NDllYi4uN2Jj
MjdlN2I3OGNlMDBjNjBiMGY3NjRlNjE1MzQ1ODBmNTg4NjU0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaApAQCAtMjUsMTgg
KzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TT2JqZWN0
Lmg+Ci0KICNpZiBQTEFURk9STShNQUMpIHx8IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNp
bXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZC5oPgogCiAjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxEb3dubG9hZFByaXZhdGUuaD4KLSNl
bHNlCi1AaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKLSsoaWQpX2Rvd25sb2FkV2l0aExvYWRp
bmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJM
UmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxl
Z2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OwotQGVuZAogI2VuZGlmCiAKICNlbHNl
CkBAIC00OCw2ICs0MiwxMiBAQAogQGNsYXNzIE5TVVJMUmVxdWVzdDsKIEBjbGFzcyBOU1VSTFJl
c3BvbnNlOwogCisjaWZuZGVmIFdlYkRvd25sb2FkX2gKKy8qIEFsc28gZGVmaW5lZCBpbiA8V2Vi
S2l0L1dlYkRvd25sb2FkLmg+LiAqLworQGludGVyZmFjZSBOU1VSTERvd25sb2FkIDogTlNPYmpl
Y3QKK0BlbmQKKyNlbmRpZgorCiBAcHJvdG9jb2wgTlNVUkxEb3dubG9hZERlbGVnYXRlIDxOU09i
amVjdD4KIEBvcHRpb25hbAogLSAodm9pZClkb3dubG9hZERpZEJlZ2luOihOU1VSTERvd25sb2Fk
ICopZG93bmxvYWQ7CkBAIC02NSwxMiArNjUsNiBAQAogLSAodm9pZClkb3dubG9hZDooTlNVUkxE
b3dubG9hZCAqKWRvd25sb2FkIGRpZEZhaWxXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcjsKIEBl
bmQKIAotI2lmbmRlZiBXZWJEb3dubG9hZF9oCi0vKiBBbHNvIGRlZmluZWQgaW4gPFdlYktpdC9X
ZWJEb3dubG9hZC5oPi4gKi8KLUBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCA6IE5TT2JqZWN0Ci1A
ZW5kCi0jZW5kaWYKLQogQGludGVyZmFjZSBOU1VSTERvd25sb2FkICgpCiAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZCA8
TlNVUkxEb3dubG9hZERlbGVnYXRlPilkZWxlZ2F0ZTsKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0
aFJlc3VtZURhdGE6KE5TRGF0YSAqKXJlc3VtZURhdGEgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25s
b2FkRGVsZWdhdGU+KWRlbGVnYXRlIHBhdGg6KE5TU3RyaW5nICopcGF0aDsKQEAgLTc5LDggKzcz
LDE5IEBACiBAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU1VSTFJlcXVlc3QgKnJlcXVlc3Q7
CiBAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU0RhdGEgKnJlc3VtZURhdGE7CiBAcHJvcGVy
dHkgQk9PTCBkZWxldGVzRmlsZVVwb25GYWlsdXJlOworQGVuZAogCi0rKGlkKV9kb3dubG9hZFdp
dGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9u
c2UgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsKKyNlbmRpZgorCisjaWYg
IVVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK0BjbGFzcyBOU1VSTENvbm5lY3Rpb25EZWxlZ2F0
ZVByb3h5OworCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKKysgKGlkKV9kb3dubG9hZFdp
dGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBk
aXJlY3Rvcnk6KE5TU3RyaW5nICopZGlyZWN0b3J5OworKyAoaWQpX2Rvd25sb2FkV2l0aExvYWRp
bmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJM
UmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxl
Z2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworLSAoaWQpX2luaXRXaXRoTG9hZGlu
Z0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVzdDooTlNVUkxS
ZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIGRlbGVn
YXRlOihpZClkZWxlZ2F0ZSBwcm94eTooTlNVUkxDb25uZWN0aW9uRGVsZWdhdGVQcm94eSAqKXBy
b3h5OworLSAoaWQpX2luaXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxl
Z2F0ZTooaWQpZGVsZWdhdGUgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKIEBlbmQK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29y
ZU5TVVJMRXh0cmFzLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VS
TEV4dHJhcy5tbQppbmRleCBlYzY0ZWE5MWNmNzJhYTUyNTZjOWE1NmFlZTMyNjJmODJlZGIwMGZi
Li5lNDVmZGFhNDNiMDBiZTBiZTE0NWFlZWNmN2ZjZTNlZjk3ZWY1ZWNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0KQEAgLTI5LDYg
KzI5LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVVJMUGFyc2VyLmgiCiAjaW1w
b3J0ICJXZWJDb3JlTlNVUkxFeHRyYXMuaCIKKyNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IZXhOdW1iZXIu
aD4KICNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgpAQCAtNDcsMTEgKzQ4LDYgQEAg
dHlwZWRlZiB2b2lkICgqIFN0cmluZ1JhbmdlQXBwbGllckZ1bmN0aW9uKShOU1N0cmluZyAqc3Ry
aW5nLCBOU1JhbmdlIHJhbmdlLCB2b2kKIAogc3RhdGljIHVpbnQzMl90IElETlNjcmlwdFdoaXRl
TGlzdFsoVVNDUklQVF9DT0RFX0xJTUlUICsgMzEpIC8gMzJdOwogCi0KLUBpbnRlcmZhY2UgTlNV
UkxQcm90b2NvbCAoV0tOU1VSTFByb3RvY29sSW50ZXJuYWwpCi0rIChDbGFzcylfcHJvdG9jb2xD
bGFzc0ZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7Ci1AZW5kCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgaXNBcm1lbmlhbkxvb2thbGlrZUNoYXJhY3RlcihV
Q2hhcjMyIGNvZGVQb2ludCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggMWQ3YjZlNzg3NDJlZTE3ODY2
OTA3ZTU0ZDYyNTQ4MTI3NGNhOTA1NC4uYjlmYzJhMmYxN2NkOTU3NDAwNGNiYjk3NDk5YWFiZDEx
NjZlMDczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTYzLDEwICs2Myw2IEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCi1AaW50ZXJmYWNlIE5TVVJMQ29ubmVjdGlvbiAoKQotLShpZClf
aW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGRlbGVnYXRlOihpZClkZWxl
Z2F0ZSB1c2VzQ2FjaGU6KEJPT0wpdXNlc0NhY2hlRmxhZyBtYXhDb250ZW50TGVuZ3RoOihsb25n
IGxvbmcpbWF4Q29udGVudExlbmd0aCBzdGFydEltbWVkaWF0ZWx5OihCT09MKXN0YXJ0SW1tZWRp
YXRlbHkgY29ubmVjdGlvblByb3BlcnRpZXM6KE5TRGljdGlvbmFyeSAqKWNvbm5lY3Rpb25Qcm9w
ZXJ0aWVzOwotQGVuZAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBzdGF0aWMgdm9pZCBh
cHBseUJhc2ljQXV0aG9yaXphdGlvbkhlYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCkBAIC0yMjQsNyArMjIwLDEwIEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmNyZWF0ZU5TVVJMQ29ubmVjdGlvbihpZCBkZWxlZ2F0ZSwgYm9vbCBzaG91
bGRVc2VDcmVkZW50aWFsCiAgICAgLy8gd2ViIGNvbnRlbnQgZm9yIHB1cnBvc2VzIG9mIEFwcCBU
cmFuc3BvcnQgU2VjdXJpdHkuCiAgICAgW3Byb3BlcnR5RGljdGlvbmFyeSBzZXRPYmplY3Q6QHtA
Ik5TQWxsb3dzQXJiaXRyYXJ5TG9hZHNJbldlYkNvbnRlbnQiOiBAWUVTfSBmb3JLZXk6QCJfa0NG
VVJMQ29ubmVjdGlvblByb3BlcnR5QVRTRnJhbWV3b3JrT3ZlcnJpZGVzIl07CiAKKyNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAi
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAgICBkLT5tX2Nvbm5lY3Rpb24gPSBhZG9wdE5T
KFtbTlNVUkxDb25uZWN0aW9uIGFsbG9jXSBfaW5pdFdpdGhSZXF1ZXN0Om5zUmVxdWVzdCBkZWxl
Z2F0ZTpkZWxlZ2F0ZSB1c2VzQ2FjaGU6dXNlc0NhY2hlIG1heENvbnRlbnRMZW5ndGg6MCBzdGFy
dEltbWVkaWF0ZWx5Ok5PIGNvbm5lY3Rpb25Qcm9wZXJ0aWVzOnByb3BlcnR5RGljdGlvbmFyeV0p
OworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogfQogCiBib29sIFJlc291cmNlSGFuZGxl
OjpzdGFydCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCBmYzIwOWM4ZjcxMzk3ZTE3MjhjMTUy
Mzc5OTM3YjI4YjlmNGMxZDJmLi5jMmQ0NWQ2NmJkMjU4ZWI4MzJjMjU0ZmViODM1YWFkZTY3MTNl
OTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTQ1LDI2ICs0NSwxMCBAQAogI2ltcG9ydCA8
d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEyMDAwMCkKLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoU3RhZ2luZykKLUBw
cm9wZXJ0eSAocmVhZHdyaXRlLCByZXRhaW4pIE5TVVJMICpfc2l0ZUZvckNvb2tpZXM7Ci1AcHJv
cGVydHkgKHJlYWR3cml0ZSkgQk9PTCBfaXNUb3BMZXZlbE5hdmlnYXRpb247Ci1AZW5kCi0jZW5k
aWYKLQogI2lmIEhBVkUoTldfQUNUSVZJVFkpCiAjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZOU1VSTENv
bm5lY3Rpb24uaD4KICNlbmRpZgogCi0jaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJ
T05JTkcpCi0KLS8vIEZJWE1FOiBNb3ZlIHRvIENGTmV0d29ya1NQSS5oPwotQGludGVyZmFjZSBO
U1VSTFNlc3Npb25UYXNrICgpCi0tICh2b2lkKV9zZXRFeHBsaWNpdENvb2tpZVN0b3JhZ2U6KENG
SFRUUENvb2tpZVN0b3JhZ2VSZWYpc3RvcmFnZTsKLUBlbmQKLQotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAjaWYgVVNFKENSRURFTlRJQUxfU1RPUkFHRV9XSVRIX05FVFdPUktfU0VT
U0lPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBmYTA0NWY5ZWIwY2Q3YjRhOWExNGEzZmFhMWU0
MzY2MGU3MzcwYjJlLi44MWQ3ZjhlNzJmZmRiZDgyYjc2YmM1NjYzYzZkY2VmOGViNTg5YzE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NCwxNiArNTQsNiBAQAogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uQ29uZmln
dXJhdGlvbiAoV0tTdGFnaW5nKQotQHByb3BlcnR5IChjb3B5KSBOU1NldCAqX3N1cHByZXNzZWRB
dXRvQWRkZWRIVFRQSGVhZGVyczsKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQotLy8gRklYTUU6IFJlbW92ZSB0
aGlzIG9uY2UgcmRhcjovL3Byb2JsZW0vNDA2NTAyNDQgaXMgaW4gYSBidWlsZC4KLUBwcm9wZXJ0
eSAoY29weSkgTlNEaWN0aW9uYXJ5ICpfc29ja2V0U3RyZWFtUHJvcGVydGllczsKLSNlbmRpZgot
QGVuZAotI2VuZGlmCi0KIHN0YXRpYyBOU1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0aW9uIHRv
TlNVUkxTZXNzaW9uUmVzcG9uc2VEaXNwb3NpdGlvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gZGlz
cG9zaXRpb24pCiB7CiAgICAgc3dpdGNoIChkaXNwb3NpdGlvbikgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZC5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL01pc2MvV2ViRG93bmxvYWQubW0KaW5kZXggOThjN2NjYWJlMjE5NmZmZmZhYjkw
YzFlMTY0MWU0ODhiYTE3NjhkOS4uOGM2YWZkMmNhMzZlOGM0OTdmYTNmMDJhZTk1MDM4OTBkZmM1
YTgyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9h
ZC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkLm1tCkBA
IC00MSwzMCArNDEsMTAgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLUBjbGFzcyBO
U1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5OwotCi0vLyBGSVhNRTogVGhlIGZvbGxvd2luZyBh
cmUgTlNVUkxEb3dubG9hZCBTUEkgLSBpdCB3b3VsZCBiZSBuaWNlIHRvIG5vdCBoYXZlIHRvIG92
ZXJyaWRlIHRoZW0gYXQgCi0vLyBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUKLUBpbnRlcmZhY2Ug
TlNVUkxEb3dubG9hZCAoV2ViRG93bmxvYWRDYXBhYmlsaXR5KQotLSAoaWQpX2luaXRXaXRoTG9h
ZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KLSAgICAgICAgICAg
ICAgICAgICAgICAgICByZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAgICAgICAg
ICAgICAgICAgICAgICByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByb3h5OihOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVByb3h5ICopcHJveHk7Ci0t
IChpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0Ci0gICAgICAgICAg
ICAgIGRlbGVnYXRlOihpZClkZWxlZ2F0ZQotICAgICAgICAgICAgIGRpcmVjdG9yeTooTlNTdHJp
bmcgKilkaXJlY3Rvcnk7Ci0KLUBlbmQKLQotQGludGVyZmFjZSBXZWJEb3dubG9hZEludGVybmFs
IDogTlNPYmplY3QgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4KLXsKLUBwdWJsaWMKK0BpbnRlcmZh
Y2UgV2ViRG93bmxvYWRJbnRlcm5hbCA6IE5TT2JqZWN0IDxOU1VSTERvd25sb2FkRGVsZWdhdGU+
IHsKICAgICBpZCByZWFsRGVsZWdhdGU7CiB9Ci0KLS0gKHZvaWQpc2V0UmVhbERlbGVnYXRlOihp
ZClyZDsKLQorLSAodm9pZClzZXRSZWFsRGVsZWdhdGU6KGlkKXJlYWxEZWxlZ2F0ZTsKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdlYkRvd25sb2FkSW50ZXJuYWwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRG93bmxvYWRJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGEzM2NlOTA4YzVjOThjYmQ5YjQ4NGRkMDJjOTk1ODA3ZjYzYjQyY2Qu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmgKKysrIC9kZXYvbnVsbApA
QCAtMSwzNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBp
dHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotKi8KLSAKLSNpbXBvcnQgPFdlYktpdExlZ2FjeS9XZWJEb3dubG9hZC5oPgotIAotQGludGVy
ZmFjZSBXZWJEb3dubG9hZCAoV2ViRG93bmxvYWRDcmVhdGlvbikKLSsoaWQpX2Rvd25sb2FkV2l0
aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyIGRlbGVn
YXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7Ci0KLSsoaWQpX2Rvd25sb2FkV2l0aFJl
cXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIGRpcmVj
dG9yeTooTlNTdHJpbmcgKilkaXJlY3Rvcnk7Ci0KLUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW0KaW5kZXggODZiZTZlNGUzNjcyYjdkMWJlOGU4N2U1NjQ1Y2Q3YmMwNmM1ZmU4Zi4uYzA3
NzZjM2U4Mzc5ZWI2OWQ0MzNiYzcxYzljZmEyMzBjNzliZGM2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQubW0KQEAgLTM5LDcgKzM5LDcgQEAKICNpbXBvcnQgIldlYkRlbGVnYXRlSW1wbGVt
ZW50YXRpb25DYWNoaW5nLmgiCiAjaW1wb3J0ICJXZWJEb2N1bWVudEludGVybmFsLmgiCiAjaW1w
b3J0ICJXZWJEb2N1bWVudExvYWRlck1hYy5oIgotI2ltcG9ydCAiV2ViRG93bmxvYWRJbnRlcm5h
bC5oIgorI2ltcG9ydCAiV2ViRG93bmxvYWQuaCIKICNpbXBvcnQgIldlYkR5bmFtaWNTY3JvbGxC
YXJzVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJFbGVtZW50RGljdGlvbmFyeS5oIgogI2lt
cG9ydCAiV2ViRm9ybURlbGVnYXRlLmgiCkBAIC0zMTgsNyArMzE4LDEwIEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZChEb2N1bWVu
dExvYWRlciogZG9jCiAKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gbWFpblJlc291cmNl
TG9hZGVyLT5oYW5kbGUoKTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgog
ICAgIFtXZWJEb3dubG9hZCBfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246aGFuZGxlLT5j
b25uZWN0aW9uKCkgcmVxdWVzdDpyZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBv
bGljeTo6VXBkYXRlSFRUUEJvZHkpIHJlc3BvbnNlOnJlc3BvbnNlLm5zVVJMUmVzcG9uc2UoKSBk
ZWxlZ2F0ZTpbd2ViVmlldyBkb3dubG9hZERlbGVnYXRlXSBwcm94eTpuaWxdOworI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHBvcAogfQogCiBib29sIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNw
YXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciogbG9hZGVy
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBpbnQgbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGI4OTI3MzRjYWZmMzY1ZGQ3ODU0OWQ4N2VjMGEwMzk0OTc2YjY2NjYu
LmY2ZGM5NTI2N2FhNjAxM2ViNTJlNTExMWM0NWVmMWE3MjM5ZjVlYmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTU4LDcgKzU4LDYgQEAKICNpbXBv
cnQgIldlYkRvY3VtZW50LmgiCiAjaW1wb3J0ICJXZWJEb2N1bWVudEludGVybmFsLmgiCiAjaW1w
b3J0ICJXZWJEb3dubG9hZC5oIgotI2ltcG9ydCAiV2ViRG93bmxvYWRJbnRlcm5hbC5oIgogI2lt
cG9ydCAiV2ViRHJhZ0NsaWVudC5oIgogI2ltcG9ydCAiV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkVkaXRpbmdEZWxlZ2F0ZS5oIgpAQCAtMjQ1MCwxMSAr
MjQ0OSwxMiBAQCAtIChXZWJEb3dubG9hZCAqKV9kb3dubG9hZFVSTDooTlNVUkwgKilVUkwKICAg
ICBBU1NFUlQoVVJMKTsKICAgICAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbW05TVVJM
UmVxdWVzdCBhbGxvY10gaW5pdFdpdGhVUkw6VVJMXTsKLSAgICBXZWJEb3dubG9hZCAqZG93bmxv
YWQgPSBbV2ViRG93bmxvYWQgX2Rvd25sb2FkV2l0aFJlcXVlc3Q6cmVxdWVzdAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTpfcHJp
dmF0ZS0+ZG93bmxvYWREZWxlZ2F0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTpuaWxdOworI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zIgorICAgIFdlYkRvd25sb2FkICpkb3dubG9hZCA9IFtXZWJEb3dubG9hZCBf
ZG93bmxvYWRXaXRoUmVxdWVzdDpyZXF1ZXN0IGRlbGVnYXRlOl9wcml2YXRlLT5kb3dubG9hZERl
bGVnYXRlIGRpcmVjdG9yeTpuaWxdOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogICAg
IFtyZXF1ZXN0IHJlbGVhc2VdOwotICAgIAorCiAgICAgcmV0dXJuIGRvd25sb2FkOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348471</attachid>
            <date>2018-08-29 19:40:24 -0700</date>
            <delta_ts>2018-09-01 13:58:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189072-20180829194023.patch</filename>
            <type>text/plain</type>
            <size>26811</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNlYTUyZDAyYjI0MjA2
MmNiZDM4MjM2YjRiYjRmZGI1ZjgxNGMzMC4uNzI4Mzc2NjcxZjRkZDBhMjI1ZDA5NDJiZmNlNjJm
ZDk5ZGQwNmQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUg
Q0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW06IEluY2x1ZGUgQ0ZOZXR3b3JrU1BJLmggYW5k
IHJlbW92ZSBhCisgICAgICAgIGRlY2xhcmF0aW9uIG9mICtbTlNVUkxQcm90b2NvbCBfcHJvdG9j
b2xDbGFzc0ZvclJlcXVlc3Q6XS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tOiBSZW1vdmUgYSBkZWNsYXJhdGlvbiBvZgorICAgICAgICAtW05T
VVJMQ29ubmVjdGlvbiBfaW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250
ZW50TGVuZ3RoOnN0YXJ0SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6XS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5lY3Rpb24pOiBBZGQg
aWdub3JlIG9mCisgICAgICAgICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBhcm91bmQgdXNl
IG9mIHRoZSBhYm92ZSBtZXRob2QsIHNpbmNlIGl0CisgICAgICAgIGlzIGRlcHJlY2F0ZWQuCisK
IDIwMTgtMDgtMjkgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZHJlc3NlZCBhZGRpdGlvbmFsIHJldmlldyBmZWVkYmFjayBhZnRlciByMjM1MzQyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKaW5kZXggN2NjNWY2MzNkYWQzZThlZWNkNWVkODYzOGM4OWMwMDliZmM4ODExMC4u
YTA1MTNmMWQ1MTMwNjYxNDhkMWZmYzE2OThmZWY0MDFiYmY2MThmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJIHVzZSB0
byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA3MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEku
aDogQWRkZWQgYSBGSVhNRSBhYm91dCBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKS4KKyAgICAg
ICAgU29ydGVkIE9iamVjdGl2ZS1DIGNsYXNzIGludGVyZmFjZXMgYWxwaGFiZXRpY2FsbHkgaW5z
dGVhZCBvZiBoYXZpbmcgdGhlbQorICAgICAgICByZWxhdGl2ZWx5IHJhbmRvbWx5IG9yZGVyZWQg
aW4gdGhlIGZpbGUuIFJlZHVjZWQgdGhlIHBsYXRmb3JtICNpZiBzdGF0ZW1lbnRzCisgICAgICAg
IHNpbmNlIGl0J3Mgbm90IGNyaXRpY2FsIHRvIGhhdmUgdGhlc2UgU1BJcyBkZWNsYXJlZCBvbmx5
IHdoZXJlIHRoZXkgYXJlCisgICAgICAgIHByZXNlbnQsIGFzIGxvbmcgYXMgdGhleSBhcmUgdXNl
ZCBvbmx5IHdoZW4gdGhleSBhcmUgcHJlc2VudC4gTW92ZWQgc29tZQorICAgICAgICBhZGRpdGlv
bmFsIGRlY2xhcmF0aW9ucyBpbnRvIHRoaXMgZmlsZS4KKworICAgICAgICAqIHBhbC9zcGkvY29j
b2EvTlNVUkxEb3dubG9hZFNQSS5oOiBBZGRlZCBtb3JlIE5TVVJMRG93bmxvYWQgbWV0aG9kcy4K
KwogMjAxOC0wOC0yOSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNdXRlZCBlbGVtZW50cyBkbyBub3QgaGF2ZSB0aGVpciBOb3cgUGxheWluZyBzdGF0dXMgdXBk
YXRlZCB3aGVuIHVubXV0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQzY2NjNGE2Nzk3NTU3YTQwMWIxNjU5MGIz
NGFmMzY4YmM0ZjdmMWUuLjk2MWQwM2YzYTNkN2FiMGFlODJjNmJlMTc2ZDI2NDM4M2QxOWNkYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJ
IHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA3MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06IFJlbW92ZWQgTlNVUkxTZXNzaW9uVGFzaworICAg
ICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhpcyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5l
dHdvcmtTUEkuaC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06IFJlbW92ZWQgTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbgorICAgICAgICBt
ZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhpcyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5ldHdvcmtT
UEkuaC4KKwogMjAxOC0wOC0yOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmVydCBzb21lIG9mIHIyMzUzOTgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCA5OWI2NGMwOTg4NmZjNDJjNTJkOWRiYjZjZjk4OWQ3ZGY0MWRiMWYx
Li5hOGVhMTM3Yjc3NjRiZDdkYTcyYmQ5YTY4YzA0ZDI5ZTIxM2VmYThmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdv
cmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA3MgorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pc2MvV2ViRG93bmxv
YWQubW06IFJlbW92ZWQgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBOU1VSTENvbm5lY3Rpb25EZWxl
Z2F0ZVByb3h5CisgICAgICAgIGFuZCBkZWNsYXJhdGlvbnMgZm9yIE5TVVJMRG93bmxvYWQgaW5p
dCBtZXRob2RzLgorCisgICAgICAgICogTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmg6IFJlbW92
ZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbTog
UmVtb3ZlZCBpbmNsdWRlIG9mIFdlYkRvd25sb2FkSW50ZXJuYWwuaC4KKyAgICAgICAgKFdlYkZy
YW1lTG9hZGVyQ2xpZW50Ojpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQpOiBJZ25v
cmUKKyAgICAgICAgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiIGJlY2F1c2UgdGhlIG1ldGhv
ZCB1c2VkIGhlcmUgaXMgZGVwcmVjYXRlZC4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfZG93bmxvYWRVUkw6XSk6IElnbm9yZSAiLVdkZXByZWNh
dGVkLWRlY2xhcmF0aW9ucyIgYmVjYXVzZSB0aGUgbWV0aG9kCisgICAgICAgIHVzZWQgaGVyZSBp
cyBkZXByZWNhdGVkLgorCiAyMDE4LTA4LTI5ICBPbGl2aWEgQmFybmV0dCAgPG9iYXJuZXR0QGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgdGhlIFdlYiBTaGFyZSBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggM2RjMjk1MGFhZDhi
NGFhMmFkNmIxNzgwYjk0ZjdhMjUwODMxOGVmMy4uMTdjMTNmMzQ2ZmJhNTI0OWY1MTBkNGFlOGM1
OGUyYmNjYjNhMjM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2Yv
Q0ZOZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmgKQEAgLTMwLDYgKzMwLDEwIEBACiAjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NGTmV0d29y
ay5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg+
CiAKKy8vIEZJWE1FOiBQb2xpY3kgYWJvdXQgd2hpY2ggQ0ZOZXR3b3JrIGZlYXR1cmVzIHRvICp1
c2UqIGluIFdlYktpdCBkb2VzIG5vdCBiZWxvbmcgaW4gdGhlIFNQSSBoZWFkZXIuCisvLyBUaGUg
U1BJIGhlYWRlciBzaG91bGQgZGVmaW5lIHdoaWNoIENGTmV0d29yayBmZWF0dXJlcyAqZXhpc3Qq
IGluIHRoZSB1bmRlcmx5aW5nIHN5c3RlbSwgYnV0IG5vdAorLy8gcG9saWN5IGFib3V0IHdoYXQg
V2ViS2l0IHNob3VsZCBkby4gQWNjb3JkaW5nbHksIHdlIHNob3VsZCBtb3ZlIHRoaXMgc29tZXdo
ZXJlIGVsc2Ugb3IgcmVuYW1lIGl0CisvLyB0byBiZSBhYm91dCBDRk5ldHdvcmsgY2FwYWJpbGl0
aWVzIChIQVZFKSByYXRoZXIgdGhhbiBhYm91dCBXZWJLaXQgcG9saWN5IChVU0UpLgogI2lmICgo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAy
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAyMDApIHx8
IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDQwMjAwKSB8fCAoUExBVEZPUk0oVFZPUykgJiYgX19UVl9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAyMDApKQogI2RlZmluZSBVU0VfQ0ZORVRXT1JLX0lHTk9SRV9IU1RTIDEKICNlbmRp
ZgpAQCAtOTEsNiArOTUsNDUgQEAgdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNh
bGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogLSAoQ0ZVUkxDYWNoZVJlZilf
Q0ZVUkxDYWNoZTsKIEBlbmQKIAorQGludGVyZmFjZSBOU0NhY2hlZFVSTFJlc3BvbnNlICgpCist
IChpZClfaW5pdFdpdGhDRkNhY2hlZFVSTFJlc3BvbnNlOihDRkNhY2hlZFVSTFJlc3BvbnNlUmVm
KWNhY2hlZFJlc3BvbnNlOworLSAoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZilfQ0ZDYWNoZWRVUkxS
ZXNwb25zZTsKK0BlbmQKKworQGludGVyZmFjZSBOU0hUVFBDb29raWUgKCkKKy0gKENGSFRUUENv
b2tpZVJlZilfQ0ZIVFRQQ29va2llOworKyAoQ0ZBcnJheVJlZiBfX251bGxhYmxlKV9uczJjZkNv
b2tpZXM6KE5TQXJyYXkgKiBfX251bGxhYmxlKW5zQ29va2llcyBDRl9SRVRVUk5TX1JFVEFJTkVE
OworLSAoQ0ZIVFRQQ29va2llUmVmIF9fbnVsbGFibGUpX0dldEludGVybmFsQ0ZIVFRQQ29va2ll
OworQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpfc3RvcmFn
ZVBhcnRpdGlvbjsKK0BlbmQKKworQGludGVyZmFjZSBOU0hUVFBDb29raWVTdG9yYWdlICgpCist
IChpZClfaW5pdFdpdGhJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgcHJpdmF0ZToo
Ym9vbClpc1ByaXZhdGU7CistICh2b2lkKV9nZXRDb29raWVzRm9yVVJMOihOU1VSTCAqKXVybCBt
YWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBhcnRpdGlvbjooTlNTdHJp
bmcgKilwYXJ0aXRpb24gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29t
cGxldGlvbkhhbmRsZXI7CistICh2b2lkKV9nZXRDb29raWVzRm9yVVJMOihOU1VSTCAqKXVybCBt
YWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3VtZW50VVJMIHBhcnRpdGlvbjooTlNTdHJp
bmcgKilwYXJ0aXRpb24gcG9saWN5UHJvcGVydGllczooTlNEaWN0aW9uYXJ5Kilwcm9wcyBjb21w
bGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAqKSljb21wbGV0aW9uSGFuZGxlcjsKKy0g
KHZvaWQpX3NldENvb2tpZXM6KE5TQXJyYXkgKiljb29raWVzIGZvclVSTDooTlNVUkwgKilVUkwg
bWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwb2xpY3lQcm9wZXJ0aWVz
OihOU0RpY3Rpb25hcnkqKSBwcm9wczsKKy0gKHZvaWQpcmVtb3ZlQ29va2llc1NpbmNlRGF0ZToo
TlNEYXRlICopZGF0ZTsKKy0gKGlkKV9pbml0V2l0aENGSFRUUENvb2tpZVN0b3JhZ2U6KENGSFRU
UENvb2tpZVN0b3JhZ2VSZWYpY2ZTdG9yYWdlOworLSAoQ0ZIVFRQQ29va2llU3RvcmFnZVJlZilf
Y29va2llU3RvcmFnZTsKKy0gKHZvaWQpX3NhdmVDb29raWVzOworLSAodm9pZClfc2F2ZUNvb2tp
ZXM6KGRpc3BhdGNoX2Jsb2NrX3QpIGNvbXBsZXRpb25IYW5kbGVyOworQGVuZAorCitAaW50ZXJm
YWNlIE5TVVJMQ29ubmVjdGlvbiAoKQorLSAoaWQpX2luaXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1
ZXN0ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgdXNlc0NhY2hlOihCT09MKXVzZXND
YWNoZUZsYWcgbWF4Q29udGVudExlbmd0aDoobG9uZyBsb25nKW1heENvbnRlbnRMZW5ndGggc3Rh
cnRJbW1lZGlhdGVseTooQk9PTClzdGFydEltbWVkaWF0ZWx5IGNvbm5lY3Rpb25Qcm9wZXJ0aWVz
OihOU0RpY3Rpb25hcnkgKiljb25uZWN0aW9uUHJvcGVydGllczsKK0BlbmQKKworQGludGVyZmFj
ZSBOU011dGFibGVVUkxSZXF1ZXN0ICgpCistICh2b2lkKXNldENvbnRlbnREaXNwb3NpdGlvbkVu
Y29kaW5nRmFsbGJhY2tBcnJheTooTlNBcnJheSAqKXRoZUVuY29kaW5nRmFsbGJhY2tBcnJheTsK
Ky0gKHZvaWQpc2V0Qm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZp
ZXI7CistICh2b2lkKV9zZXRQcmV2ZW50SFNUU1N0b3JhZ2U6KEJPT0wpcHJldmVudEhTVFNTdG9y
YWdlOworLSAodm9pZClfc2V0SWdub3JlSFNUUzooQk9PTClpZ25vcmVIU1RTOworQGVuZAorCitA
aW50ZXJmYWNlIE5TVVJMUHJvdG9jb2wgKCkKKysgKENsYXNzKV9wcm90b2NvbENsYXNzRm9yUmVx
dWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKK0BlbmQKKwogQGludGVyZmFjZSBOU1VSTFJl
cXVlc3QgKCkKICsgKE5TQXJyYXkgKilhbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0OihOU1N0cmluZyAqKWhvc3Q7CiArICh2b2lkKXNldEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZTooTlNBcnJheSAqKWFsbG93IGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdDsKQEAgLTEw
MCwyMCArMTQzLDkgQEAgdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNr
QmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogLSAoaWQpX2luaXRXaXRoQ0ZVUkxSZXF1
ZXN0OihDRlVSTFJlcXVlc3RSZWYpcmVxdWVzdDsKIC0gKGlkKV9wcm9wZXJ0eUZvcktleTooTlNT
dHJpbmcgKilrZXk7CiAtICh2b2lkKV9zZXRQcm9wZXJ0eTooaWQpdmFsdWUgZm9yS2V5OihOU1N0
cmluZyAqKWtleTsKLSNpZiBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKQogLSAoQk9PTClfc2No
ZW1lV2FzVXBncmFkZWREdWVUb0R5bmFtaWNIU1RTOwogLSAoQk9PTClfcHJldmVudEhTVFNTdG9y
YWdlOwogLSAoQk9PTClfaWdub3JlSFNUUzsKLSNlbmRpZgotQGVuZAotCi1AaW50ZXJmYWNlIE5T
TXV0YWJsZVVSTFJlcXVlc3QgKCkKLS0gKHZvaWQpc2V0Q29udGVudERpc3Bvc2l0aW9uRW5jb2Rp
bmdGYWxsYmFja0FycmF5OihOU0FycmF5ICopdGhlRW5jb2RpbmdGYWxsYmFja0FycmF5OwotLSAo
dm9pZClzZXRCb3VuZEludGVyZmFjZUlkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcjsK
LSNpZiBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKQotLSAodm9pZClfc2V0UHJldmVudEhTVFNT
dG9yYWdlOihCT09MKXByZXZlbnRIU1RTU3RvcmFnZTsKLS0gKHZvaWQpX3NldElnbm9yZUhTVFM6
KEJPT0wpaWdub3JlSFNUUzsKLSNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TVVJMUmVzcG9u
c2UgKCkKQEAgLTEyMiwxMiArMTU0LDYgQEAgdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNw
b25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogLSAoTlNEYXRlICop
X2xhc3RNb2RpZmllZERhdGU7CiBAZW5kCiAKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llICgpCi0t
IChDRkhUVFBDb29raWVSZWYpX0NGSFRUUENvb2tpZTsKLSsgKENGQXJyYXlSZWYgX19udWxsYWJs
ZSlfbnMyY2ZDb29raWVzOihOU0FycmF5ICogX19udWxsYWJsZSluc0Nvb2tpZXMgQ0ZfUkVUVVJO
U19SRVRBSU5FRDsKLS0gKENGSFRUUENvb2tpZVJlZiBfX251bGxhYmxlKV9HZXRJbnRlcm5hbENG
SFRUUENvb2tpZTsKLUBlbmQKLQogQGludGVyZmFjZSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9u
ICgpCiBAcHJvcGVydHkgKGFzc2lnbikgX1RpbWluZ0RhdGFPcHRpb25zIF90aW1pbmdEYXRhT3B0
aW9uczsKIEBwcm9wZXJ0eSAoY29weSkgTlNEYXRhICpfc291cmNlQXBwbGljYXRpb25BdWRpdFRv
a2VuRGF0YTsKQEAgLTE0MCw4ICsxNjYsMTYgQEAgdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxS
ZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApCiBAcHJvcGVydHkgKG51bGxhYmxlLCBjb3B5KSBOU1NldCAqX3N1cHByZXNzZWRBdXRv
QWRkZWRIVFRQSGVhZGVyczsKICNlbmRpZgotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApCi1AcHJvcGVydHkgKGNv
cHkpIE5TRGljdGlvbmFyeSAqX3NvY2tldFN0cmVhbVByb3BlcnRpZXM7CitAZW5kCisKK0BpbnRl
cmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoKQorLSAoTlNEaWN0aW9uYXJ5ICopX3RpbWluZ0RhdGE7
CitAcHJvcGVydHkgKHJlYWR3cml0ZSwgY29weSkgTlNTdHJpbmcgKl9wYXRoVG9Eb3dubG9hZFRh
c2tGaWxlOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqX3N0b3JhZ2VQYXJ0aXRpb25JZGVu
dGlmaWVyOworQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZHdyaXRlLCByZXRhaW4pIE5TVVJMICpf
c2l0ZUZvckNvb2tpZXM7CitAcHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBfaXNUb3BMZXZlbE5h
dmlnYXRpb247CisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24p
IEJPT0wgX3ByZWNvbm5lY3Q7CiAjZW5kaWYKIEBlbmQKIApAQCAtMTU2LDI4ICsxOTAsNiBAQCB0
eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3BvbnNlQ2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRV
UkxSZXNwb25zZVJlZik7CiBAZW5kCiAjZW5kaWYKIAotQGludGVyZmFjZSBOU0hUVFBDb29raWUg
KCkKLUBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqX3N0b3Jh
Z2VQYXJ0aXRpb247Ci1AZW5kCi0KLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llU3RvcmFnZSAoKQot
LSAoaWQpX2luaXRXaXRoSWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIHByaXZhdGU6
KGJvb2wpaXNQcml2YXRlOwotLSAodm9pZClfZ2V0Q29va2llc0ZvclVSTDooTlNVUkwgKil1cmwg
bWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwYXJ0aXRpb246KE5TU3Ry
aW5nICopcGFydGl0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNv
bXBsZXRpb25IYW5kbGVyOwotLSAodm9pZClfZ2V0Q29va2llc0ZvclVSTDooTlNVUkwgKil1cmwg
bWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1bWVudFVSTCBwYXJ0aXRpb246KE5TU3Ry
aW5nICopcGFydGl0aW9uIHBvbGljeVByb3BlcnRpZXM6KE5TRGljdGlvbmFyeSopcHJvcHMgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxldGlvbkhhbmRsZXI7Ci0t
ICh2b2lkKV9zZXRDb29raWVzOihOU0FycmF5ICopY29va2llcyBmb3JVUkw6KE5TVVJMICopVVJM
IG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9jdW1lbnRVUkwgcG9saWN5UHJvcGVydGll
czooTlNEaWN0aW9uYXJ5KikgcHJvcHM7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9u
VGFzayAoKQotLSAoTlNEaWN0aW9uYXJ5ICopX3RpbWluZ0RhdGE7Ci1AcHJvcGVydHkgKHJlYWR3
cml0ZSwgY29weSkgTlNTdHJpbmcgKl9wYXRoVG9Eb3dubG9hZFRhc2tGaWxlOwotQHByb3BlcnR5
IChjb3B5KSBOU1N0cmluZyAqX3N0b3JhZ2VQYXJ0aXRpb25JZGVudGlmaWVyOwotQHByb3BlcnR5
IChudWxsYWJsZSwgcmVhZHdyaXRlLCByZXRhaW4pIE5TVVJMICpfc2l0ZUZvckNvb2tpZXM7Ci1A
cHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBfaXNUb3BMZXZlbE5hdmlnYXRpb247Ci0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAp
IHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDExMDAwMCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgX3ByZWNvbm5lY3Q7
Ci0jZW5kaWYKLUBlbmQKLQogZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgTlNVUkxBdXRoZW50aWNh
dGlvbk1ldGhvZE9BdXRoOwogCiAjZW5kaWYgLy8gZGVmaW5lZChfX09CSkNfXykKQEAgLTI4NSwx
MSArMjk3LDYgQEAgZW51bSA6IE5TVUludGVnZXIgewogICAgIE5TSFRUUENvb2tpZUFjY2VwdFBv
bGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDMsCiB9OwogCi1AaW50ZXJm
YWNlIE5TQ2FjaGVkVVJMUmVzcG9uc2UgKCkKLS0oaWQpX2luaXRXaXRoQ0ZDYWNoZWRVUkxSZXNw
b25zZTooQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZiljYWNoZWRSZXNwb25zZTsKLS0oQ0ZDYWNoZWRV
UkxSZXNwb25zZVJlZilfQ0ZDYWNoZWRVUkxSZXNwb25zZTsKLUBlbmQKLQogI2VuZGlmCiAKIFdU
Rl9FWFRFUk5fQ19CRUdJTgpAQCAtMzE0LDYgKzMyMSw5IEBAIFdURl9FWFRFUk5fQ19FTkQKIAog
I2lmIGRlZmluZWQoX19PQkpDX18pCiAKKy8vIEZJWE1FOiBNb3ZlIHRoZXNlIGRlY2xhcmF0aW9u
cyB0aGUgYWJvdmUgc2VjdGlvbiB1bmRlciAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykgd2hlbiBw
b3NzaWJsZSBzbyB0aGF0CisvLyBBcHBsZSBpbnRlcm5hbCBTREsgYnVpbGRzIHVzZSBoZWFkZXJz
IGluc3RlYWQuCisKIEBpbnRlcmZhY2UgTlNIVFRQQ29va2llICgpCiAjaWYgUExBVEZPUk0oTUFD
KQogKyAoTlNBcnJheSAqKV9wYXJzZWRDb29raWVzV2l0aFJlc3BvbnNlSGVhZGVyRmllbGRzOihO
U0RpY3Rpb25hcnkgKiloZWFkZXJGaWVsZHMgZm9yVVJMOihOU1VSTCAqKWFVUkw7CkBAIC0zMjEs
MTcgKzMzMSw2IEBAIFdURl9FWFRFUk5fQ19FTkQKICsgKE5TQXJyYXkgKilfY2YybnNDb29raWVz
OihDRkFycmF5UmVmKWNmQ29va2llczsKIEBlbmQKIAotI2lmICFVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQotQGludGVyZmFjZSBOU0hUVFBDb29raWVTdG9yYWdlICgpCi0tICh2b2lkKXJlbW92ZUNv
b2tpZXNTaW5jZURhdGU6KE5TRGF0ZSAqKWRhdGU7Ci0tIChpZClfaW5pdFdpdGhDRkhUVFBDb29r
aWVTdG9yYWdlOihDRkhUVFBDb29raWVTdG9yYWdlUmVmKWNmU3RvcmFnZTsKLS0gKENGSFRUUENv
b2tpZVN0b3JhZ2VSZWYpX2Nvb2tpZVN0b3JhZ2U7Ci0tICh2b2lkKV9zYXZlQ29va2llczsKLS0g
KHZvaWQpX3NhdmVDb29raWVzOihkaXNwYXRjaF9ibG9ja190KSBjb21wbGV0aW9uSGFuZGxlcjsK
LUBlbmQKLSNlbmRpZgotCi0vLyBGSVhNRTogTW92ZSArX3NldFNoYXJlZEhUVFBDb29raWVTdG9y
YWdlOiBpbnRvIHRoZSBhYm92ZSBzZWN0aW9uIHVuZGVyICFVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KSB3aGVuIHBvc3NpYmxlIChzb29uKS4KIEBpbnRlcmZhY2UgTlNIVFRQQ29va2llU3RvcmFnZSAo
KQogKyAodm9pZClfc2V0U2hhcmVkSFRUUENvb2tpZVN0b3JhZ2U6KE5TSFRUUENvb2tpZVN0b3Jh
Z2UgKilzdG9yYWdlOwogQGVuZApAQCAtMzQwLDQgKzMzOSwxNSBAQCBXVEZfRVhURVJOX0NfRU5E
CiAtICh2b2lkKV9zZXRNSU1FVHlwZTooTlNTdHJpbmcgKil0eXBlOwogQGVuZAogCitAaW50ZXJm
YWNlIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKCkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElP
UykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQorLy8gRklY
TUU6IFJlbW92ZSB0aGlzIG9uY2UgcmRhcjovL3Byb2JsZW0vNDA2NTAyNDQgaXMgaW4gYSBidWls
ZC4KK0Bwcm9wZXJ0eSAoY29weSkgTlNEaWN0aW9uYXJ5ICpfc29ja2V0U3RyZWFtUHJvcGVydGll
czsKKyNlbmRpZgorQGVuZAorCitAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKKy0gKHZv
aWQpX3NldEV4cGxpY2l0Q29va2llU3RvcmFnZTooQ0ZIVFRQQ29va2llU3RvcmFnZVJlZilzdG9y
YWdlOworQGVuZAorCiAjZW5kaWYgLy8gZGVmaW5lZChfX09CSkNfXykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVJMRG93bmxvYWRTUEkuaAppbmRleCBiYWQ4
MmRlMDIxNDMwZTA4MDRiNTBlMTk5OWQyMDYyYTMyMjQ0OWViLi5hMjExYTAwMGEwODRhMmMwOTVm
ZTgzNzI3NzFjNmI5NDU4ODQ0NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCkBAIC0yNSwxOCArMjUsMTIgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNPYmplY3QuaD4KLQogI2lmIFBMQVRG
T1JNKE1BQykgfHwgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8Rm91bmRhdGlv
bi9OU1VSTERvd25sb2FkLmg+CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9y
dCA8Rm91bmRhdGlvbi9OU1VSTERvd25sb2FkUHJpdmF0ZS5oPgotI2Vsc2UKLUBpbnRlcmZhY2Ug
TlNVUkxEb3dubG9hZCAoKQotKyhpZClfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5T
VVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0
ZSBwcm94eTooaWQpcHJveHk7Ci1AZW5kCiAjZW5kaWYKIAogI2Vsc2UKQEAgLTQ4LDYgKzQyLDEy
IEBACiBAY2xhc3MgTlNVUkxSZXF1ZXN0OwogQGNsYXNzIE5TVVJMUmVzcG9uc2U7CiAKKyNpZm5k
ZWYgV2ViRG93bmxvYWRfaAorLyogQWxzbyBkZWZpbmVkIGluIDxXZWJLaXQvV2ViRG93bmxvYWQu
aD4uICovCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgOiBOU09iamVjdAorQGVuZAorI2VuZGlm
CisKIEBwcm90b2NvbCBOU1VSTERvd25sb2FkRGVsZWdhdGUgPE5TT2JqZWN0PgogQG9wdGlvbmFs
CiAtICh2b2lkKWRvd25sb2FkRGlkQmVnaW46KE5TVVJMRG93bmxvYWQgKilkb3dubG9hZDsKQEAg
LTY1LDEyICs2NSw2IEBACiAtICh2b2lkKWRvd25sb2FkOihOU1VSTERvd25sb2FkICopZG93bmxv
YWQgZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yOwogQGVuZAogCi0jaWZuZGVmIFdl
YkRvd25sb2FkX2gKLS8qIEFsc28gZGVmaW5lZCBpbiA8V2ViS2l0L1dlYkRvd25sb2FkLmg+LiAq
LwotQGludGVyZmFjZSBOU1VSTERvd25sb2FkIDogTlNPYmplY3QKLUBlbmQKLSNlbmRpZgotCiBA
aW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkIDxOU1VSTERvd25sb2FkRGVs
ZWdhdGU+KWRlbGVnYXRlOwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVzdW1lRGF0YTooTlNE
YXRhICopcmVzdW1lRGF0YSBkZWxlZ2F0ZTooaWQgPE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4pZGVs
ZWdhdGUgcGF0aDooTlNTdHJpbmcgKilwYXRoOwpAQCAtNzksOCArNzMsMjMgQEAKIEBwcm9wZXJ0
eSAocmVhZG9ubHksIGNvcHkpIE5TVVJMUmVxdWVzdCAqcmVxdWVzdDsKIEBwcm9wZXJ0eSAocmVh
ZG9ubHksIGNvcHkpIE5TRGF0YSAqcmVzdW1lRGF0YTsKIEBwcm9wZXJ0eSBCT09MIGRlbGV0ZXNG
aWxlVXBvbkZhaWx1cmU7CitAZW5kCisKKyNlbmRpZgorCisjaWYgIVVTRShBUFBMRV9JTlRFUk5B
TF9TREspCiAKLSsoaWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5l
Y3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9u
c2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6
KGlkKXByb3h5OworQGNsYXNzIE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlUHJveHk7CisKK0BpbnRl
cmZhY2UgTlNVUkxEb3dubG9hZCAoKQorKyAoaWQpX2Rvd25sb2FkV2l0aExvYWRpbmdDb25uZWN0
aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBkZWxlZ2F0ZTooaWQp
ZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworLSAoaWQpX2luaXRXaXRoTG9hZGluZ0Nvbm5lY3Rp
b246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
cmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIGRlbGVnYXRlOihpZClk
ZWxlZ2F0ZSBwcm94eTooTlNVUkxDb25uZWN0aW9uRGVsZWdhdGVQcm94eSAqKXByb3h5OworLSAo
aWQpX2luaXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQp
ZGVsZWdhdGUgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKIEBlbmQKIAogI2VuZGlm
CisKK0BpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoKQorKyAoaWQpX2Rvd25sb2FkV2l0aFJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIGRpcmVjdG9y
eTooTlNTdHJpbmcgKilkaXJlY3Rvcnk7CitAZW5kCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvV2ViQ29yZU5TVVJMRXh0cmFzLm1tCmluZGV4IGVjNjRlYTkxY2Y3MmFhNTI1
NmM5YTU2YWVlMzI2MmY4MmVkYjAwZmIuLmU0NWZkYWE0M2IwMGJlMGJlMTQ1YWVlY2Y3ZmNlM2Vm
OTdlZjVlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3Jl
TlNVUkxFeHRyYXMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVO
U1VSTEV4dHJhcy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJVUkxQYXJzZXIuaCIKICNpbXBvcnQgIldlYkNvcmVOU1VSTEV4dHJhcy5oIgorI2ltcG9y
dCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgog
I2ltcG9ydCA8d3RmL0hleE51bWJlci5oPgogI2ltcG9ydCA8d3RmL09iamNSdW50aW1lRXh0cmFz
Lmg+CkBAIC00NywxMSArNDgsNiBAQCB0eXBlZGVmIHZvaWQgKCogU3RyaW5nUmFuZ2VBcHBsaWVy
RnVuY3Rpb24pKE5TU3RyaW5nICpzdHJpbmcsIE5TUmFuZ2UgcmFuZ2UsIHZvaQogCiBzdGF0aWMg
dWludDMyX3QgSUROU2NyaXB0V2hpdGVMaXN0WyhVU0NSSVBUX0NPREVfTElNSVQgKyAzMSkgLyAz
Ml07CiAKLQotQGludGVyZmFjZSBOU1VSTFByb3RvY29sIChXS05TVVJMUHJvdG9jb2xJbnRlcm5h
bCkKLSsgKENsYXNzKV9wcm90b2NvbENsYXNzRm9yUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVx
dWVzdDsKLUBlbmQKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBpc0FybWVu
aWFuTG9va2FsaWtlQ2hhcmFjdGVyKFVDaGFyMzIgY29kZVBvaW50KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpp
bmRleCAxZDdiNmU3ODc0MmVlMTc4NjY5MDdlNTRkNjI1NDgxMjc0Y2E5MDU0Li5iOWZjMmEyZjE3
Y2Q5NTc0MDA0Y2JiOTc0OTlhYWJkMTE2NmUwNzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtNjMs
MTAgKzYzLDYgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLUBpbnRlcmZhY2UgTlNV
UkxDb25uZWN0aW9uICgpCi0tKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJl
cXVlc3QgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHVzZXNDYWNoZTooQk9PTCl1c2VzQ2FjaGVGbGFn
IG1heENvbnRlbnRMZW5ndGg6KGxvbmcgbG9uZyltYXhDb250ZW50TGVuZ3RoIHN0YXJ0SW1tZWRp
YXRlbHk6KEJPT0wpc3RhcnRJbW1lZGlhdGVseSBjb25uZWN0aW9uUHJvcGVydGllczooTlNEaWN0
aW9uYXJ5ICopY29ubmVjdGlvblByb3BlcnRpZXM7Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAKIHN0YXRpYyB2b2lkIGFwcGx5QmFzaWNBdXRob3JpemF0aW9uSGVhZGVyKFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkKQEAgLTIy
NCw3ICsyMjAsMTAgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlTlNVUkxDb25uZWN0aW9u
KGlkIGRlbGVnYXRlLCBib29sIHNob3VsZFVzZUNyZWRlbnRpYWwKICAgICAvLyB3ZWIgY29udGVu
dCBmb3IgcHVycG9zZXMgb2YgQXBwIFRyYW5zcG9ydCBTZWN1cml0eS4KICAgICBbcHJvcGVydHlE
aWN0aW9uYXJ5IHNldE9iamVjdDpAe0AiTlNBbGxvd3NBcmJpdHJhcnlMb2Fkc0luV2ViQ29udGVu
dCI6IEBZRVN9IGZvcktleTpAIl9rQ0ZVUkxDb25uZWN0aW9uUHJvcGVydHlBVFNGcmFtZXdvcmtP
dmVycmlkZXMiXTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAgIGQt
Pm1fY29ubmVjdGlvbiA9IGFkb3B0TlMoW1tOU1VSTENvbm5lY3Rpb24gYWxsb2NdIF9pbml0V2l0
aFJlcXVlc3Q6bnNSZXF1ZXN0IGRlbGVnYXRlOmRlbGVnYXRlIHVzZXNDYWNoZTp1c2VzQ2FjaGUg
bWF4Q29udGVudExlbmd0aDowIHN0YXJ0SW1tZWRpYXRlbHk6Tk8gY29ubmVjdGlvblByb3BlcnRp
ZXM6cHJvcGVydHlEaWN0aW9uYXJ5XSk7CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiB9
CiAKIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4
IGZjMjA5YzhmNzEzOTdlMTcyOGMxNTIzNzk5MzdiMjhiOWY0YzFkMmYuLmMyZDQ1ZDY2YmQyNThl
YjgzMmMyNTRmZWI4MzVhYWRlNjcxM2U5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtNDUs
MjYgKzQ1LDEwIEBACiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8
d3RmL3RleHQvQmFzZTY0Lmg+CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQotQGludGVyZmFjZSBOU1VSTFNl
c3Npb25UYXNrIChTdGFnaW5nKQotQHByb3BlcnR5IChyZWFkd3JpdGUsIHJldGFpbikgTlNVUkwg
Kl9zaXRlRm9yQ29va2llczsKLUBwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIF9pc1RvcExldmVs
TmF2aWdhdGlvbjsKLUBlbmQKLSNlbmRpZgotCiAjaWYgSEFWRShOV19BQ1RJVklUWSkKICNpbXBv
cnQgPENGTmV0d29yay9DRk5TVVJMQ29ubmVjdGlvbi5oPgogI2VuZGlmCiAKLSNpZiBIQVZFKENG
TkVUV09SS19TVE9SQUdFX1BBUlRJVElPTklORykKLQotLy8gRklYTUU6IE1vdmUgdG8gQ0ZOZXR3
b3JrU1BJLmg/Ci1AaW50ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKLS0gKHZvaWQpX3NldEV4
cGxpY2l0Q29va2llU3RvcmFnZTooQ0ZIVFRQQ29va2llU3RvcmFnZVJlZilzdG9yYWdlOwotQGVu
ZAotCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBVU0UoQ1JFREVOVElBTF9T
VE9SQUdFX1dJVEhfTkVUV09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCmluZGV4IGZhMDQ1
ZjllYjBjZDdiNGE5YTE0YTNmYWExZTQzNjYwZTczNzBiMmUuLjgxZDdmOGU3MmZmZGJkODJiNzZi
YzU2NjNjNmRjZWY4ZWI1ODljMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAgLTU0LDE2ICs1NCw2
IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElP
UykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQotQGludGVy
ZmFjZSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uIChXS1N0YWdpbmcpCi1AcHJvcGVydHkgKGNv
cHkpIE5TU2V0ICpfc3VwcHJlc3NlZEF1dG9BZGRlZEhUVFBIZWFkZXJzOwotI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAo
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAw
MDApCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSByZGFyOi8vcHJvYmxlbS80MDY1MDI0NCBp
cyBpbiBhIGJ1aWxkLgotQHByb3BlcnR5IChjb3B5KSBOU0RpY3Rpb25hcnkgKl9zb2NrZXRTdHJl
YW1Qcm9wZXJ0aWVzOwotI2VuZGlmCi1AZW5kCi0jZW5kaWYKLQogc3RhdGljIE5TVVJMU2Vzc2lv
blJlc3BvbnNlRGlzcG9zaXRpb24gdG9OU1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0aW9uKFdl
YkNvcmU6OlBvbGljeUFjdGlvbiBkaXNwb3NpdGlvbikKIHsKICAgICBzd2l0Y2ggKGRpc3Bvc2l0
aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25s
b2FkLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZC5tbQppbmRl
eCA5OGM3Y2NhYmUyMTk2ZmZmZmFiOTBjMWUxNjQxZTQ4OGJhMTc2OGQ5Li44YzZhZmQyY2EzNmU4
YzQ5N2ZhM2YwMmFlOTUwMzg5MGRmYzVhODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9NaXNjL1dlYkRvd25sb2FkLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L01pc2MvV2ViRG93bmxvYWQubW0KQEAgLTQxLDMwICs0MSwxMCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotQGNsYXNzIE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlUHJveHk7Ci0KLS8v
IEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBOU1VSTERvd25sb2FkIFNQSSAtIGl0IHdvdWxkIGJl
IG5pY2UgdG8gbm90IGhhdmUgdG8gb3ZlcnJpZGUgdGhlbSBhdCAKLS8vIHNvbWUgcG9pbnQgaW4g
dGhlIGZ1dHVyZQotQGludGVyZmFjZSBOU1VSTERvd25sb2FkIChXZWJEb3dubG9hZENhcGFiaWxp
dHkpCi0tIChpZClfaW5pdFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICop
Y29ubmVjdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6KE5TVVJMUmVxdWVz
dCAqKXJlcXVlc3QKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOihOU1VSTFJlc3Bv
bnNlICopcmVzcG9uc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlOihpZClkZWxl
Z2F0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJveHk6KE5TVVJMQ29ubmVjdGlvbkRl
bGVnYXRlUHJveHkgKilwcm94eTsKLS0gKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVz
dCAqKXJlcXVlc3QKLSAgICAgICAgICAgICAgZGVsZWdhdGU6KGlkKWRlbGVnYXRlCi0gICAgICAg
ICAgICAgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKLQotQGVuZAotCi1AaW50ZXJm
YWNlIFdlYkRvd25sb2FkSW50ZXJuYWwgOiBOU09iamVjdCA8TlNVUkxEb3dubG9hZERlbGVnYXRl
PgotewotQHB1YmxpYworQGludGVyZmFjZSBXZWJEb3dubG9hZEludGVybmFsIDogTlNPYmplY3Qg
PE5TVVJMRG93bmxvYWREZWxlZ2F0ZT4gewogICAgIGlkIHJlYWxEZWxlZ2F0ZTsKIH0KLQotLSAo
dm9pZClzZXRSZWFsRGVsZWdhdGU6KGlkKXJkOwotCistICh2b2lkKXNldFJlYWxEZWxlZ2F0ZToo
aWQpcmVhbERlbGVnYXRlOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRG93bmxvYWRJbnRl
cm5hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9h
ZEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkSW50
ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTMzY2U5MDhjNWM5OGNiZDli
NDg0ZGQwMmM5OTU4MDdmNjNiNDJjZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkSW50
ZXJuYWwuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCi0qIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0qLwotIAotI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dl
YkRvd25sb2FkLmg+Ci0gCi1AaW50ZXJmYWNlIFdlYkRvd25sb2FkIChXZWJEb3dubG9hZENyZWF0
aW9uKQotKyhpZClfZG93bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlv
biAqKWNvbm5lY3Rpb24gcmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZToo
TlNVUkxSZXNwb25zZSAqKXIgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsK
LQotKyhpZClfZG93bmxvYWRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxl
Z2F0ZTooaWQpZGVsZWdhdGUgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKLQotQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCA4NmJlNmU0ZTM2NzJiN2QxYmU4ZTg3
ZTU2NDVjZDdiYzA2YzVmZThmLi5jMDc3NmMzZTgzNzllYjY5ZDQzM2JjNzFjOWNmYTIzMGM3OWJk
YzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMzksNyArMzksNyBAQAogI2lt
cG9ydCAiV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaCIKICNpbXBvcnQgIldlYkRv
Y3VtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkRvY3VtZW50TG9hZGVyTWFjLmgiCi0jaW1w
b3J0ICJXZWJEb3dubG9hZEludGVybmFsLmgiCisjaW1wb3J0ICJXZWJEb3dubG9hZC5oIgogI2lt
cG9ydCAiV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkVs
ZW1lbnREaWN0aW9uYXJ5LmgiCiAjaW1wb3J0ICJXZWJGb3JtRGVsZWdhdGUuaCIKQEAgLTMxOCw3
ICszMTgsMTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y29udmVydE1haW5SZXNvdXJj
ZUxvYWRUb0Rvd25sb2FkKERvY3VtZW50TG9hZGVyKiBkb2MKIAogICAgIFJlc291cmNlSGFuZGxl
KiBoYW5kbGUgPSBtYWluUmVzb3VyY2VMb2FkZXItPmhhbmRsZSgpOwogCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgW1dlYkRvd25sb2FkIF9kb3dubG9hZFdpdGhMb2Fk
aW5nQ29ubmVjdGlvbjpoYW5kbGUtPmNvbm5lY3Rpb24oKSByZXF1ZXN0OnJlcXVlc3QubnNVUkxS
ZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpVcGRhdGVIVFRQQm9keSkgcmVzcG9uc2U6cmVz
cG9uc2UubnNVUkxSZXNwb25zZSgpIGRlbGVnYXRlOlt3ZWJWaWV3IGRvd25sb2FkRGVsZWdhdGVd
IHByb3h5Om5pbF07CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiB9CiAKIGJvb2wgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hl
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGludCBsZW5ndGgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMDEyMWIwODRmNjM0YjhmYWVl
Y2RmOGVjMjUyMWU4NWQwM2I3ZWE1Yi4uNDc2ZTA2MDdiNWI5MTYyMmU2M2ExM2FjNmQ5NGE4OTll
ZmZkNmM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtNTgsNyArNTgsNiBAQAogI2ltcG9ydCAiV2ViRG9jdW1lbnQuaCIKICNpbXBvcnQgIldlYkRv
Y3VtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkRvd25sb2FkLmgiCi0jaW1wb3J0ICJXZWJE
b3dubG9hZEludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJEcmFnQ2xpZW50LmgiCiAjaW1wb3J0ICJX
ZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViRWRpdGluZ0Rl
bGVnYXRlLmgiCkBAIC0yNDUwLDExICsyNDQ5LDEyIEBAIC0gKFdlYkRvd25sb2FkICopX2Rvd25s
b2FkVVJMOihOU1VSTCAqKVVSTAogICAgIEFTU0VSVChVUkwpOwogICAgIAogICAgIE5TVVJMUmVx
dWVzdCAqcmVxdWVzdCA9IFtbTlNVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDpVUkxdOwot
ICAgIFdlYkRvd25sb2FkICpkb3dubG9hZCA9IFtXZWJEb3dubG9hZCBfZG93bmxvYWRXaXRoUmVx
dWVzdDpyZXF1ZXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRlbGVnYXRlOl9wcml2YXRlLT5kb3dubG9hZERlbGVnYXRlCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5Om5pbF07
CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCisgICAgV2ViRG93bmxvYWQgKmRv
d25sb2FkID0gW1dlYkRvd25sb2FkIF9kb3dubG9hZFdpdGhSZXF1ZXN0OnJlcXVlc3QgZGVsZWdh
dGU6X3ByaXZhdGUtPmRvd25sb2FkRGVsZWdhdGUgZGlyZWN0b3J5Om5pbF07CisjcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgcG9wCiAgICAgW3JlcXVlc3QgcmVsZWFzZV07Ci0gICAgCisKICAgICBy
ZXR1cm4gZG93bmxvYWQ7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348716</attachid>
            <date>2018-09-01 13:58:55 -0700</date>
            <delta_ts>2018-09-01 19:55:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189072-20180901135854.patch</filename>
            <type>text/plain</type>
            <size>27112</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU2NDAzOTY3ZDA3MGUz
MTVhNzRiYTQzMjA0NmI2ZmRhNDczNDc5Mi4uN2E3NDU2YmQ3ZDU1MjIyYzlhNzNmNTFiNTI5ZDgy
ZjJjMGUyZjU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA4LTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ0ZOZXR3b3JrXSBVcGRhdGUg
Q0ZOZXR3b3JrIFNQSSB1c2UgdG8gdXNlIENGTmV0d29ya1NQSS5oIG1vcmUgY29uc2lzdGVudGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkwNzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW06IEluY2x1ZGUgQ0ZOZXR3b3JrU1BJLmggYW5k
IHJlbW92ZSBhCisgICAgICAgIGRlY2xhcmF0aW9uIG9mICtbTlNVUkxQcm90b2NvbCBfcHJvdG9j
b2xDbGFzc0ZvclJlcXVlc3Q6XS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlSGFuZGxlTWFjLm1tOiBSZW1vdmUgYSBkZWNsYXJhdGlvbiBvZgorICAgICAgICAtW05T
VVJMQ29ubmVjdGlvbiBfaW5pdFdpdGhSZXF1ZXN0OmRlbGVnYXRlOnVzZXNDYWNoZTptYXhDb250
ZW50TGVuZ3RoOnN0YXJ0SW1tZWRpYXRlbHk6Y29ubmVjdGlvblByb3BlcnRpZXM6XS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVOU1VSTENvbm5lY3Rpb24pOiBBZGQg
aWdub3JlIG9mCisgICAgICAgICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiBhcm91bmQgdXNl
IG9mIHRoZSBhYm92ZSBtZXRob2QsIHNpbmNlIGl0CisgICAgICAgIGlzIGRlcHJlY2F0ZWQuCisK
IDIwMTgtMDktMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIHNvbWUgbW9yZSBmaWx0ZXIgbG9nZ2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
ZTY5NWY3YTU5NDk5MGM0M2UwYmZiNTZkYzgwNjY3MGYyZjZlYjRiZC4uYzJjODlmNzcyYjFkNWM0
MGE1YTA1ZTYyZTg1ZDMyNDBkYmI2MTFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTgtMDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFtDRk5ldHdvcmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3Jr
U1BJLmggbW9yZSBjb25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4OTA3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaDogQWRkZWQgYSBGSVhN
RSBhYm91dCBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKS4KKyAgICAgICAgU29ydGVkIE9iamVj
dGl2ZS1DIGNsYXNzIGludGVyZmFjZXMgYWxwaGFiZXRpY2FsbHkgaW5zdGVhZCBvZiBoYXZpbmcg
dGhlbQorICAgICAgICByZWxhdGl2ZWx5IHJhbmRvbWx5IG9yZGVyZWQgaW4gdGhlIGZpbGUuIFJl
ZHVjZWQgdGhlIHBsYXRmb3JtICNpZiBzdGF0ZW1lbnRzCisgICAgICAgIHNpbmNlIGl0J3Mgbm90
IGNyaXRpY2FsIHRvIGhhdmUgdGhlc2UgU1BJcyBkZWNsYXJlZCBvbmx5IHdoZXJlIHRoZXkgYXJl
CisgICAgICAgIHByZXNlbnQsIGFzIGxvbmcgYXMgdGhleSBhcmUgdXNlZCBvbmx5IHdoZW4gdGhl
eSBhcmUgcHJlc2VudC4gTW92ZWQgc29tZQorICAgICAgICBhZGRpdGlvbmFsIGRlY2xhcmF0aW9u
cyBpbnRvIHRoaXMgZmlsZS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9h
ZFNQSS5oOiBBZGRlZCBtb3JlIE5TVVJMRG93bmxvYWQgbWV0aG9kcy4KKwogMjAxOC0wOC0zMCAg
RG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFrZV0g
UmVwbGFjZSBBVkZvdW5kYXRpb25TdXBwb3J0LnB5IHVzaW5nIENNYWtlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZj
MDNhNTY1MWMyNjBjYWNmMDAwOTNhOTljNWEyYWM4ZjBjNzUzNDMuLmI5Yjk2NDgyMWYzMWMxZjM1
ZDZlOTY3Nzc4OGI3OGEyNjNhMTU0NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgt
MDgtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDRk5ldHdv
cmtdIFVwZGF0ZSBDRk5ldHdvcmsgU1BJIHVzZSB0byB1c2UgQ0ZOZXR3b3JrU1BJLmggbW9yZSBj
b25zaXN0ZW50bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTA3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06IFJlbW92
ZWQgTlNVUkxTZXNzaW9uVGFzaworICAgICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhp
cyBmaWxlLCB0aGV5IGFyZSBpbiBDRk5ldHdvcmtTUEkuaC4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06IFJlbW92ZWQgTlNVUkxTZXNzaW9u
Q29uZmlndXJhdGlvbgorICAgICAgICBtZXRob2QgZGVjbGFyYXRpb25zIGZyb20gdGhpcyBmaWxl
LCB0aGV5IGFyZSBpbiBDRk5ldHdvcmtTUEkuaC4KKwogMjAxOC0wOC0zMSAgSm9obiBXaWxhbmRl
ciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9yYWdlIEFjY2VzcyBBUEk6IE1h
aW50YWluIGFjY2VzcyB0aHJvdWdoIHNhbWUtc2l0ZSBuYXZpZ2F0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCmluZGV4IDliMWQ1NzkwNzY4ZWFhMGFhZDcxODYxY2Q2NWY3N2Q0ZTQ4MmEy
ODUuLmY2ZWY1ZjY5YThiZGVkMTM0ZjVmNDIxOTg2Yjc1NjJkZDYxMWU5YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0wOC0yOCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NGTmV0d29ya10gVXBkYXRlIENGTmV0
d29yayBTUEkgdXNlIHRvIHVzZSBDRk5ldHdvcmtTUEkuaCBtb3JlIGNvbnNpc3RlbnRseQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MDcyCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJEb3du
bG9hZC5tbTogUmVtb3ZlZCBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mIE5TVVJMQ29ubmVjdGlvbkRl
bGVnYXRlUHJveHkKKyAgICAgICAgYW5kIGRlY2xhcmF0aW9ucyBmb3IgTlNVUkxEb3dubG9hZCBp
bml0IG1ldGhvZHMuCisKKyAgICAgICAgKiBNaXNjL1dlYkRvd25sb2FkSW50ZXJuYWwuaDogUmVt
b3ZlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1t
OiBSZW1vdmVkIGluY2x1ZGUgb2YgV2ViRG93bmxvYWRJbnRlcm5hbC5oLgorICAgICAgICAoV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCk6IEln
bm9yZQorICAgICAgICAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIgYmVjYXVzZSB0aGUgbWV0
aG9kIHVzZWQgaGVyZSBpcyBkZXByZWNhdGVkLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9kb3dubG9hZFVSTDpdKTogSWdub3JlICItV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zIiBiZWNhdXNlIHRoZSBtZXRob2QKKyAgICAgICAgdXNlZCBoZXJl
IGlzIGRlcHJlY2F0ZWQuCisKIDIwMTgtMDgtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBBc3NlcnRpb24gaGl0IGluIH5Db21wbGV0aW9uSGFuZGxlcigpIGZy
b20gfldlYkZyYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nm
L0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmgKaW5kZXggM2RjMjk1MGFhZDhiNGFhMmFkNmIxNzgwYjk0ZjdhMjUwODMxOGVmMy4uMTdj
MTNmMzQ2ZmJhNTI0OWY1MTBkNGFlOGM1OGUyYmNjYjNhMjM2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKQEAgLTMwLDYgKzMwLDEwIEBACiAjaW5j
bHVkZSA8Q0ZOZXR3b3JrL0NGTmV0d29yay5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2YvQ0ZOZXR3
b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg+CiAKKy8vIEZJWE1FOiBQb2xpY3kgYWJvdXQgd2hpY2gg
Q0ZOZXR3b3JrIGZlYXR1cmVzIHRvICp1c2UqIGluIFdlYktpdCBkb2VzIG5vdCBiZWxvbmcgaW4g
dGhlIFNQSSBoZWFkZXIuCisvLyBUaGUgU1BJIGhlYWRlciBzaG91bGQgZGVmaW5lIHdoaWNoIENG
TmV0d29yayBmZWF0dXJlcyAqZXhpc3QqIGluIHRoZSB1bmRlcmx5aW5nIHN5c3RlbSwgYnV0IG5v
dAorLy8gcG9saWN5IGFib3V0IHdoYXQgV2ViS2l0IHNob3VsZCBkby4gQWNjb3JkaW5nbHksIHdl
IHNob3VsZCBtb3ZlIHRoaXMgc29tZXdoZXJlIGVsc2Ugb3IgcmVuYW1lIGl0CisvLyB0byBiZSBh
Ym91dCBDRk5ldHdvcmsgY2FwYWJpbGl0aWVzIChIQVZFKSByYXRoZXIgdGhhbiBhYm91dCBXZWJL
aXQgcG9saWN5IChVU0UpLgogI2lmICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gMTAxMzAyICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMTAyMDApIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDQwMjAwKSB8fCAoUExBVEZPUk0oVFZPUykgJiYgX19U
Vl9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAyMDApKQogI2RlZmluZSBVU0VfQ0ZORVRX
T1JLX0lHTk9SRV9IU1RTIDEKICNlbmRpZgpAQCAtOTEsNiArOTUsNDUgQEAgdHlwZWRlZiB2b2lk
ICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VS
ZWYpOwogLSAoQ0ZVUkxDYWNoZVJlZilfQ0ZVUkxDYWNoZTsKIEBlbmQKIAorQGludGVyZmFjZSBO
U0NhY2hlZFVSTFJlc3BvbnNlICgpCistIChpZClfaW5pdFdpdGhDRkNhY2hlZFVSTFJlc3BvbnNl
OihDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKWNhY2hlZFJlc3BvbnNlOworLSAoQ0ZDYWNoZWRVUkxS
ZXNwb25zZVJlZilfQ0ZDYWNoZWRVUkxSZXNwb25zZTsKK0BlbmQKKworQGludGVyZmFjZSBOU0hU
VFBDb29raWUgKCkKKy0gKENGSFRUUENvb2tpZVJlZilfQ0ZIVFRQQ29va2llOworKyAoQ0ZBcnJh
eVJlZiBfX251bGxhYmxlKV9uczJjZkNvb2tpZXM6KE5TQXJyYXkgKiBfX251bGxhYmxlKW5zQ29v
a2llcyBDRl9SRVRVUk5TX1JFVEFJTkVEOworLSAoQ0ZIVFRQQ29va2llUmVmIF9fbnVsbGFibGUp
X0dldEludGVybmFsQ0ZIVFRQQ29va2llOworQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZG9ubHks
IGNvcHkpIE5TU3RyaW5nICpfc3RvcmFnZVBhcnRpdGlvbjsKK0BlbmQKKworQGludGVyZmFjZSBO
U0hUVFBDb29raWVTdG9yYWdlICgpCistIChpZClfaW5pdFdpdGhJZGVudGlmaWVyOihOU1N0cmlu
ZyAqKWlkZW50aWZpZXIgcHJpdmF0ZTooYm9vbClpc1ByaXZhdGU7CistICh2b2lkKV9nZXRDb29r
aWVzRm9yVVJMOihOU1VSTCAqKXVybCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3Vt
ZW50VVJMIHBhcnRpdGlvbjooTlNTdHJpbmcgKilwYXJ0aXRpb24gY29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKV9nZXRDb29r
aWVzRm9yVVJMOihOU1VSTCAqKXVybCBtYWluRG9jdW1lbnRVUkw6KE5TVVJMICopbWFpbkRvY3Vt
ZW50VVJMIHBhcnRpdGlvbjooTlNTdHJpbmcgKilwYXJ0aXRpb24gcG9saWN5UHJvcGVydGllczoo
TlNEaWN0aW9uYXJ5Kilwcm9wcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAq
KSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQpX3NldENvb2tpZXM6KE5TQXJyYXkgKiljb29r
aWVzIGZvclVSTDooTlNVUkwgKilVUkwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1
bWVudFVSTCBwb2xpY3lQcm9wZXJ0aWVzOihOU0RpY3Rpb25hcnkqKSBwcm9wczsKKy0gKHZvaWQp
cmVtb3ZlQ29va2llc1NpbmNlRGF0ZTooTlNEYXRlICopZGF0ZTsKKy0gKGlkKV9pbml0V2l0aENG
SFRUUENvb2tpZVN0b3JhZ2U6KENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpY2ZTdG9yYWdlOworLSAo
Q0ZIVFRQQ29va2llU3RvcmFnZVJlZilfY29va2llU3RvcmFnZTsKKy0gKHZvaWQpX3NhdmVDb29r
aWVzOworLSAodm9pZClfc2F2ZUNvb2tpZXM6KGRpc3BhdGNoX2Jsb2NrX3QpIGNvbXBsZXRpb25I
YW5kbGVyOworQGVuZAorCitAaW50ZXJmYWNlIE5TVVJMQ29ubmVjdGlvbiAoKQorLSAoaWQpX2lu
aXRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQpZGVsZWdh
dGUgdXNlc0NhY2hlOihCT09MKXVzZXNDYWNoZUZsYWcgbWF4Q29udGVudExlbmd0aDoobG9uZyBs
b25nKW1heENvbnRlbnRMZW5ndGggc3RhcnRJbW1lZGlhdGVseTooQk9PTClzdGFydEltbWVkaWF0
ZWx5IGNvbm5lY3Rpb25Qcm9wZXJ0aWVzOihOU0RpY3Rpb25hcnkgKiljb25uZWN0aW9uUHJvcGVy
dGllczsKK0BlbmQKKworQGludGVyZmFjZSBOU011dGFibGVVUkxSZXF1ZXN0ICgpCistICh2b2lk
KXNldENvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheTooTlNBcnJheSAqKXRo
ZUVuY29kaW5nRmFsbGJhY2tBcnJheTsKKy0gKHZvaWQpc2V0Qm91bmRJbnRlcmZhY2VJZGVudGlm
aWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXI7CistICh2b2lkKV9zZXRQcmV2ZW50SFNUU1N0b3Jh
Z2U6KEJPT0wpcHJldmVudEhTVFNTdG9yYWdlOworLSAodm9pZClfc2V0SWdub3JlSFNUUzooQk9P
TClpZ25vcmVIU1RTOworQGVuZAorCitAaW50ZXJmYWNlIE5TVVJMUHJvdG9jb2wgKCkKKysgKENs
YXNzKV9wcm90b2NvbENsYXNzRm9yUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKK0Bl
bmQKKwogQGludGVyZmFjZSBOU1VSTFJlcXVlc3QgKCkKICsgKE5TQXJyYXkgKilhbGxvd3NTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7CiArICh2b2lkKXNl
dEFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZTooTlNBcnJheSAqKWFsbG93IGZvckhvc3Q6
KE5TU3RyaW5nICopaG9zdDsKQEAgLTEwMCwyMCArMTQzLDkgQEAgdHlwZWRlZiB2b2lkICheQ0ZD
YWNoZWRVUkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwog
LSAoaWQpX2luaXRXaXRoQ0ZVUkxSZXF1ZXN0OihDRlVSTFJlcXVlc3RSZWYpcmVxdWVzdDsKIC0g
KGlkKV9wcm9wZXJ0eUZvcktleTooTlNTdHJpbmcgKilrZXk7CiAtICh2b2lkKV9zZXRQcm9wZXJ0
eTooaWQpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKLSNpZiBVU0UoQ0ZORVRXT1JLX0lH
Tk9SRV9IU1RTKQogLSAoQk9PTClfc2NoZW1lV2FzVXBncmFkZWREdWVUb0R5bmFtaWNIU1RTOwog
LSAoQk9PTClfcHJldmVudEhTVFNTdG9yYWdlOwogLSAoQk9PTClfaWdub3JlSFNUUzsKLSNlbmRp
ZgotQGVuZAotCi1AaW50ZXJmYWNlIE5TTXV0YWJsZVVSTFJlcXVlc3QgKCkKLS0gKHZvaWQpc2V0
Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5OihOU0FycmF5ICopdGhlRW5j
b2RpbmdGYWxsYmFja0FycmF5OwotLSAodm9pZClzZXRCb3VuZEludGVyZmFjZUlkZW50aWZpZXI6
KE5TU3RyaW5nICopaWRlbnRpZmllcjsKLSNpZiBVU0UoQ0ZORVRXT1JLX0lHTk9SRV9IU1RTKQot
LSAodm9pZClfc2V0UHJldmVudEhTVFNTdG9yYWdlOihCT09MKXByZXZlbnRIU1RTU3RvcmFnZTsK
LS0gKHZvaWQpX3NldElnbm9yZUhTVFM6KEJPT0wpaWdub3JlSFNUUzsKLSNlbmRpZgogQGVuZAog
CiBAaW50ZXJmYWNlIE5TVVJMUmVzcG9uc2UgKCkKQEAgLTEyMiwxMiArMTU0LDYgQEAgdHlwZWRl
ZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVz
cG9uc2VSZWYpOwogLSAoTlNEYXRlICopX2xhc3RNb2RpZmllZERhdGU7CiBAZW5kCiAKLUBpbnRl
cmZhY2UgTlNIVFRQQ29va2llICgpCi0tIChDRkhUVFBDb29raWVSZWYpX0NGSFRUUENvb2tpZTsK
LSsgKENGQXJyYXlSZWYgX19udWxsYWJsZSlfbnMyY2ZDb29raWVzOihOU0FycmF5ICogX19udWxs
YWJsZSluc0Nvb2tpZXMgQ0ZfUkVUVVJOU19SRVRBSU5FRDsKLS0gKENGSFRUUENvb2tpZVJlZiBf
X251bGxhYmxlKV9HZXRJbnRlcm5hbENGSFRUUENvb2tpZTsKLUBlbmQKLQogQGludGVyZmFjZSBO
U1VSTFNlc3Npb25Db25maWd1cmF0aW9uICgpCiBAcHJvcGVydHkgKGFzc2lnbikgX1RpbWluZ0Rh
dGFPcHRpb25zIF90aW1pbmdEYXRhT3B0aW9uczsKIEBwcm9wZXJ0eSAoY29weSkgTlNEYXRhICpf
c291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsKQEAgLTE0MCw4ICsxNjYsMTYgQEAgdHlw
ZWRlZiB2b2lkICheQ0ZDYWNoZWRVUkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJM
UmVzcG9uc2VSZWYpOwogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCiBAcHJvcGVydHkgKG51bGxhYmxlLCBjb3B5
KSBOU1NldCAqX3N1cHByZXNzZWRBdXRvQWRkZWRIVFRQSGVhZGVyczsKICNlbmRpZgotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMjAwMDApCi1AcHJvcGVydHkgKGNvcHkpIE5TRGljdGlvbmFyeSAqX3NvY2tldFN0cmVhbVBy
b3BlcnRpZXM7CitAZW5kCisKK0BpbnRlcmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoKQorLSAoTlNE
aWN0aW9uYXJ5ICopX3RpbWluZ0RhdGE7CitAcHJvcGVydHkgKHJlYWR3cml0ZSwgY29weSkgTlNT
dHJpbmcgKl9wYXRoVG9Eb3dubG9hZFRhc2tGaWxlOworQHByb3BlcnR5IChjb3B5KSBOU1N0cmlu
ZyAqX3N0b3JhZ2VQYXJ0aXRpb25JZGVudGlmaWVyOworQHByb3BlcnR5IChudWxsYWJsZSwgcmVh
ZHdyaXRlLCByZXRhaW4pIE5TVVJMICpfc2l0ZUZvckNvb2tpZXM7CitAcHJvcGVydHkgKHJlYWR3
cml0ZSkgQk9PTCBfaXNUb3BMZXZlbE5hdmlnYXRpb247CisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgX3ByZWNvbm5lY3Q7CiAjZW5kaWYKIEBlbmQK
IApAQCAtMTU2LDI4ICsxOTAsNiBAQCB0eXBlZGVmIHZvaWQgKF5DRkNhY2hlZFVSTFJlc3BvbnNl
Q2FsbEJhY2tCbG9jaykoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZik7CiBAZW5kCiAjZW5kaWYKIAot
QGludGVyZmFjZSBOU0hUVFBDb29raWUgKCkKLUBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5
LCBjb3B5KSBOU1N0cmluZyAqX3N0b3JhZ2VQYXJ0aXRpb247Ci1AZW5kCi0KLUBpbnRlcmZhY2Ug
TlNIVFRQQ29va2llU3RvcmFnZSAoKQotLSAoaWQpX2luaXRXaXRoSWRlbnRpZmllcjooTlNTdHJp
bmcgKilpZGVudGlmaWVyIHByaXZhdGU6KGJvb2wpaXNQcml2YXRlOwotLSAodm9pZClfZ2V0Q29v
a2llc0ZvclVSTDooTlNVUkwgKil1cmwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1
bWVudFVSTCBwYXJ0aXRpb246KE5TU3RyaW5nICopcGFydGl0aW9uIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVyOwotLSAodm9pZClfZ2V0Q29v
a2llc0ZvclVSTDooTlNVUkwgKil1cmwgbWFpbkRvY3VtZW50VVJMOihOU1VSTCAqKW1haW5Eb2N1
bWVudFVSTCBwYXJ0aXRpb246KE5TU3RyaW5nICopcGFydGl0aW9uIHBvbGljeVByb3BlcnRpZXM6
KE5TRGljdGlvbmFyeSopcHJvcHMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkg
KikpY29tcGxldGlvbkhhbmRsZXI7Ci0tICh2b2lkKV9zZXRDb29raWVzOihOU0FycmF5ICopY29v
a2llcyBmb3JVUkw6KE5TVVJMICopVVJMIG1haW5Eb2N1bWVudFVSTDooTlNVUkwgKiltYWluRG9j
dW1lbnRVUkwgcG9saWN5UHJvcGVydGllczooTlNEaWN0aW9uYXJ5KikgcHJvcHM7Ci1AZW5kCi0K
LUBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uVGFzayAoKQotLSAoTlNEaWN0aW9uYXJ5ICopX3RpbWlu
Z0RhdGE7Ci1AcHJvcGVydHkgKHJlYWR3cml0ZSwgY29weSkgTlNTdHJpbmcgKl9wYXRoVG9Eb3du
bG9hZFRhc2tGaWxlOwotQHByb3BlcnR5IChjb3B5KSBOU1N0cmluZyAqX3N0b3JhZ2VQYXJ0aXRp
b25JZGVudGlmaWVyOwotQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZHdyaXRlLCByZXRhaW4pIE5T
VVJMICpfc2l0ZUZvckNvb2tpZXM7Ci1AcHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBfaXNUb3BM
ZXZlbE5hdmlnYXRpb247Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIEJPT0wgX3ByZWNvbm5lY3Q7Ci0jZW5kaWYKLUBlbmQKLQogZXh0ZXJuIE5TU3RyaW5n
ICogY29uc3QgTlNVUkxBdXRoZW50aWNhdGlvbk1ldGhvZE9BdXRoOwogCiAjZW5kaWYgLy8gZGVm
aW5lZChfX09CSkNfXykKQEAgLTI4NSwxMSArMjk3LDYgQEAgZW51bSA6IE5TVUludGVnZXIgewog
ICAgIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbiA9IDMsCiB9OwogCi1AaW50ZXJmYWNlIE5TQ2FjaGVkVVJMUmVzcG9uc2UgKCkKLS0oaWQp
X2luaXRXaXRoQ0ZDYWNoZWRVUkxSZXNwb25zZTooQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZiljYWNo
ZWRSZXNwb25zZTsKLS0oQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZilfQ0ZDYWNoZWRVUkxSZXNwb25z
ZTsKLUBlbmQKLQogI2VuZGlmCiAKIFdURl9FWFRFUk5fQ19CRUdJTgpAQCAtMzE0LDYgKzMyMSw5
IEBAIFdURl9FWFRFUk5fQ19FTkQKIAogI2lmIGRlZmluZWQoX19PQkpDX18pCiAKKy8vIEZJWE1F
OiBNb3ZlIHRoZXNlIGRlY2xhcmF0aW9ucyB0aGUgYWJvdmUgc2VjdGlvbiB1bmRlciAhVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykgd2hlbiBwb3NzaWJsZSBzbyB0aGF0CisvLyBBcHBsZSBpbnRlcm5h
bCBTREsgYnVpbGRzIHVzZSBoZWFkZXJzIGluc3RlYWQuCisKIEBpbnRlcmZhY2UgTlNIVFRQQ29v
a2llICgpCiAjaWYgUExBVEZPUk0oTUFDKQogKyAoTlNBcnJheSAqKV9wYXJzZWRDb29raWVzV2l0
aFJlc3BvbnNlSGVhZGVyRmllbGRzOihOU0RpY3Rpb25hcnkgKiloZWFkZXJGaWVsZHMgZm9yVVJM
OihOU1VSTCAqKWFVUkw7CkBAIC0zMjEsMTcgKzMzMSw2IEBAIFdURl9FWFRFUk5fQ19FTkQKICsg
KE5TQXJyYXkgKilfY2YybnNDb29raWVzOihDRkFycmF5UmVmKWNmQ29va2llczsKIEBlbmQKIAot
I2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotQGludGVyZmFjZSBOU0hUVFBDb29raWVTdG9y
YWdlICgpCi0tICh2b2lkKXJlbW92ZUNvb2tpZXNTaW5jZURhdGU6KE5TRGF0ZSAqKWRhdGU7Ci0t
IChpZClfaW5pdFdpdGhDRkhUVFBDb29raWVTdG9yYWdlOihDRkhUVFBDb29raWVTdG9yYWdlUmVm
KWNmU3RvcmFnZTsKLS0gKENGSFRUUENvb2tpZVN0b3JhZ2VSZWYpX2Nvb2tpZVN0b3JhZ2U7Ci0t
ICh2b2lkKV9zYXZlQ29va2llczsKLS0gKHZvaWQpX3NhdmVDb29raWVzOihkaXNwYXRjaF9ibG9j
a190KSBjb21wbGV0aW9uSGFuZGxlcjsKLUBlbmQKLSNlbmRpZgotCi0vLyBGSVhNRTogTW92ZSAr
X3NldFNoYXJlZEhUVFBDb29raWVTdG9yYWdlOiBpbnRvIHRoZSBhYm92ZSBzZWN0aW9uIHVuZGVy
ICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB3aGVuIHBvc3NpYmxlIChzb29uKS4KIEBpbnRlcmZh
Y2UgTlNIVFRQQ29va2llU3RvcmFnZSAoKQogKyAodm9pZClfc2V0U2hhcmVkSFRUUENvb2tpZVN0
b3JhZ2U6KE5TSFRUUENvb2tpZVN0b3JhZ2UgKilzdG9yYWdlOwogQGVuZApAQCAtMzQwLDQgKzMz
OSwxNSBAQCBXVEZfRVhURVJOX0NfRU5ECiAtICh2b2lkKV9zZXRNSU1FVHlwZTooTlNTdHJpbmcg
Kil0eXBlOwogQGVuZAogCitAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKCkK
KyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTIwMDAwKQorLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgcmRhcjovL3Byb2Js
ZW0vNDA2NTAyNDQgaXMgaW4gYSBidWlsZC4KK0Bwcm9wZXJ0eSAoY29weSkgTlNEaWN0aW9uYXJ5
ICpfc29ja2V0U3RyZWFtUHJvcGVydGllczsKKyNlbmRpZgorQGVuZAorCitAaW50ZXJmYWNlIE5T
VVJMU2Vzc2lvblRhc2sgKCkKKy0gKHZvaWQpX3NldEV4cGxpY2l0Q29va2llU3RvcmFnZTooQ0ZI
VFRQQ29va2llU3RvcmFnZVJlZilzdG9yYWdlOworQGVuZAorCiAjZW5kaWYgLy8gZGVmaW5lZChf
X09CSkNfXykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05T
VVJMRG93bmxvYWRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVJM
RG93bmxvYWRTUEkuaAppbmRleCBiYWQ4MmRlMDIxNDMwZTA4MDRiNTBlMTk5OWQyMDYyYTMyMjQ0
OWViLi43YmMyN2U3Yjc4Y2UwMGM2MGIwZjc2NGU2MTUzNDU4MGY1ODg2NTQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQSS5oCkBA
IC0yNSwxOCArMjUsMTIgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbXBvcnQgPEZvdW5kYXRpb24v
TlNPYmplY3QuaD4KLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERvd25sb2FkLmg+CiAKICNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTERvd25sb2FkUHJpdmF0
ZS5oPgotI2Vsc2UKLUBpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoKQotKyhpZClfZG93bmxvYWRX
aXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7Ci1AZW5kCiAjZW5kaWYK
IAogI2Vsc2UKQEAgLTQ4LDYgKzQyLDEyIEBACiBAY2xhc3MgTlNVUkxSZXF1ZXN0OwogQGNsYXNz
IE5TVVJMUmVzcG9uc2U7CiAKKyNpZm5kZWYgV2ViRG93bmxvYWRfaAorLyogQWxzbyBkZWZpbmVk
IGluIDxXZWJLaXQvV2ViRG93bmxvYWQuaD4uICovCitAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQg
OiBOU09iamVjdAorQGVuZAorI2VuZGlmCisKIEBwcm90b2NvbCBOU1VSTERvd25sb2FkRGVsZWdh
dGUgPE5TT2JqZWN0PgogQG9wdGlvbmFsCiAtICh2b2lkKWRvd25sb2FkRGlkQmVnaW46KE5TVVJM
RG93bmxvYWQgKilkb3dubG9hZDsKQEAgLTY1LDEyICs2NSw2IEBACiAtICh2b2lkKWRvd25sb2Fk
OihOU1VSTERvd25sb2FkICopZG93bmxvYWQgZGlkRmFpbFdpdGhFcnJvcjooTlNFcnJvciAqKWVy
cm9yOwogQGVuZAogCi0jaWZuZGVmIFdlYkRvd25sb2FkX2gKLS8qIEFsc28gZGVmaW5lZCBpbiA8
V2ViS2l0L1dlYkRvd25sb2FkLmg+LiAqLwotQGludGVyZmFjZSBOU1VSTERvd25sb2FkIDogTlNP
YmplY3QKLUBlbmQKLSNlbmRpZgotCiBAaW50ZXJmYWNlIE5TVVJMRG93bmxvYWQgKCkKIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdh
dGU6KGlkIDxOU1VSTERvd25sb2FkRGVsZWdhdGU+KWRlbGVnYXRlOwogLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoUmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1lRGF0YSBkZWxlZ2F0ZTooaWQgPE5T
VVJMRG93bmxvYWREZWxlZ2F0ZT4pZGVsZWdhdGUgcGF0aDooTlNTdHJpbmcgKilwYXRoOwpAQCAt
NzksOCArNzMsMTkgQEAKIEBwcm9wZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TVVJMUmVxdWVzdCAq
cmVxdWVzdDsKIEBwcm9wZXJ0eSAocmVhZG9ubHksIGNvcHkpIE5TRGF0YSAqcmVzdW1lRGF0YTsK
IEBwcm9wZXJ0eSBCT09MIGRlbGV0ZXNGaWxlVXBvbkZhaWx1cmU7CitAZW5kCiAKLSsoaWQpX2Rv
d25sb2FkV2l0aExvYWRpbmdDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9u
IHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2Ug
KilyZXNwb25zZSBkZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcHJveHk6KGlkKXByb3h5OworI2VuZGlm
CisKKyNpZiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGNsYXNzIE5TVVJMQ29ubmVjdGlv
bkRlbGVnYXRlUHJveHk7CisKK0BpbnRlcmZhY2UgTlNVUkxEb3dubG9hZCAoKQorKyAoaWQpX2Rv
d25sb2FkV2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6KGlkKWRl
bGVnYXRlIGRpcmVjdG9yeTooTlNTdHJpbmcgKilkaXJlY3Rvcnk7CisrIChpZClfZG93bmxvYWRX
aXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gcmVxdWVz
dDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBwcm94eTooaWQpcHJveHk7CistIChpZClfaW5pdFdp
dGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiByZXF1ZXN0
OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9u
c2UgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZVBy
b3h5ICopcHJveHk7CistIChpZClfaW5pdFdpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0IGRlbGVnYXRlOihpZClkZWxlZ2F0ZSBkaXJlY3Rvcnk6KE5TU3RyaW5nICopZGlyZWN0b3J5
OwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJDb3JlTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZU5TVVJMRXh0cmFzLm1tCmluZGV4IGVjNjRlYTkxY2Y3MmFhNTI1NmM5YTU2YWVlMzI2MmY4
MmVkYjAwZmIuLmU0NWZkYWE0M2IwMGJlMGJlMTQ1YWVlY2Y3ZmNlM2VmOTdlZjVlY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlTlNVUkxFeHRyYXMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVOU1VSTEV4dHJhcy5tbQpA
QCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJVUkxQYXJzZXIu
aCIKICNpbXBvcnQgIldlYkNvcmVOU1VSTEV4dHJhcy5oIgorI2ltcG9ydCA8cGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgogI2ltcG9ydCA8d3RmL0hl
eE51bWJlci5oPgogI2ltcG9ydCA8d3RmL09iamNSdW50aW1lRXh0cmFzLmg+CkBAIC00NywxMSAr
NDgsNiBAQCB0eXBlZGVmIHZvaWQgKCogU3RyaW5nUmFuZ2VBcHBsaWVyRnVuY3Rpb24pKE5TU3Ry
aW5nICpzdHJpbmcsIE5TUmFuZ2UgcmFuZ2UsIHZvaQogCiBzdGF0aWMgdWludDMyX3QgSUROU2Ny
aXB0V2hpdGVMaXN0WyhVU0NSSVBUX0NPREVfTElNSVQgKyAzMSkgLyAzMl07CiAKLQotQGludGVy
ZmFjZSBOU1VSTFByb3RvY29sIChXS05TVVJMUHJvdG9jb2xJbnRlcm5hbCkKLSsgKENsYXNzKV9w
cm90b2NvbENsYXNzRm9yUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKLUBlbmQKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCBpc0FybWVuaWFuTG9va2FsaWtlQ2hh
cmFjdGVyKFVDaGFyMzIgY29kZVBvaW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCAxZDdiNmU3ODc0
MmVlMTc4NjY5MDdlNTRkNjI1NDgxMjc0Y2E5MDU0Li5iOWZjMmEyZjE3Y2Q5NTc0MDA0Y2JiOTc0
OTlhYWJkMTE2NmUwNzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtNjMsMTAgKzYzLDYgQEAKIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLUBpbnRlcmZhY2UgTlNVUkxDb25uZWN0aW9uICgp
Ci0tKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgZGVsZWdhdGU6
KGlkKWRlbGVnYXRlIHVzZXNDYWNoZTooQk9PTCl1c2VzQ2FjaGVGbGFnIG1heENvbnRlbnRMZW5n
dGg6KGxvbmcgbG9uZyltYXhDb250ZW50TGVuZ3RoIHN0YXJ0SW1tZWRpYXRlbHk6KEJPT0wpc3Rh
cnRJbW1lZGlhdGVseSBjb25uZWN0aW9uUHJvcGVydGllczooTlNEaWN0aW9uYXJ5ICopY29ubmVj
dGlvblByb3BlcnRpZXM7Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIHN0YXRp
YyB2b2lkIGFwcGx5QmFzaWNBdXRob3JpemF0aW9uSGVhZGVyKFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkKQEAgLTIyNCw3ICsyMjAsMTAgQEAg
dm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlTlNVUkxDb25uZWN0aW9uKGlkIGRlbGVnYXRlLCBi
b29sIHNob3VsZFVzZUNyZWRlbnRpYWwKICAgICAvLyB3ZWIgY29udGVudCBmb3IgcHVycG9zZXMg
b2YgQXBwIFRyYW5zcG9ydCBTZWN1cml0eS4KICAgICBbcHJvcGVydHlEaWN0aW9uYXJ5IHNldE9i
amVjdDpAe0AiTlNBbGxvd3NBcmJpdHJhcnlMb2Fkc0luV2ViQ29udGVudCI6IEBZRVN9IGZvcktl
eTpAIl9rQ0ZVUkxDb25uZWN0aW9uUHJvcGVydHlBVFNGcmFtZXdvcmtPdmVycmlkZXMiXTsKIAor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAgIGQtPm1fY29ubmVjdGlvbiA9
IGFkb3B0TlMoW1tOU1VSTENvbm5lY3Rpb24gYWxsb2NdIF9pbml0V2l0aFJlcXVlc3Q6bnNSZXF1
ZXN0IGRlbGVnYXRlOmRlbGVnYXRlIHVzZXNDYWNoZTp1c2VzQ2FjaGUgbWF4Q29udGVudExlbmd0
aDowIHN0YXJ0SW1tZWRpYXRlbHk6Tk8gY29ubmVjdGlvblByb3BlcnRpZXM6cHJvcGVydHlEaWN0
aW9uYXJ5XSk7CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiB9CiAKIGJvb2wgUmVzb3Vy
Y2VIYW5kbGU6OnN0YXJ0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGZjMjA5YzhmNzEzOTdl
MTcyOGMxNTIzNzk5MzdiMjhiOWY0YzFkMmYuLmMyZDQ1ZDY2YmQyNThlYjgzMmMyNTRmZWI4MzVh
YWRlNjcxM2U5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtNDUsMjYgKzQ1LDEwIEBACiAj
aW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL3RleHQvQmFzZTY0
Lmg+CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTIwMDAwKQotQGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrIChTdGFn
aW5nKQotQHByb3BlcnR5IChyZWFkd3JpdGUsIHJldGFpbikgTlNVUkwgKl9zaXRlRm9yQ29va2ll
czsKLUBwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIF9pc1RvcExldmVsTmF2aWdhdGlvbjsKLUBl
bmQKLSNlbmRpZgotCiAjaWYgSEFWRShOV19BQ1RJVklUWSkKICNpbXBvcnQgPENGTmV0d29yay9D
Rk5TVVJMQ29ubmVjdGlvbi5oPgogI2VuZGlmCiAKLSNpZiBIQVZFKENGTkVUV09SS19TVE9SQUdF
X1BBUlRJVElPTklORykKLQotLy8gRklYTUU6IE1vdmUgdG8gQ0ZOZXR3b3JrU1BJLmg/Ci1AaW50
ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2sgKCkKLS0gKHZvaWQpX3NldEV4cGxpY2l0Q29va2llU3Rv
cmFnZTooQ0ZIVFRQQ29va2llU3RvcmFnZVJlZilzdG9yYWdlOwotQGVuZAotCi0jZW5kaWYKLQog
bmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBVU0UoQ1JFREVOVElBTF9TVE9SQUdFX1dJVEhfTkVU
V09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCmluZGV4IGZhMDQ1ZjllYjBjZDdiNGE5YTE0
YTNmYWExZTQzNjYwZTczNzBiMmUuLjgxZDdmOGU3MmZmZGJkODJiNzZiYzU2NjNjNmRjZWY4ZWI1
ODljMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAgLTU0LDE2ICs1NCw2IEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQotQGludGVyZmFjZSBOU1VSTFNlc3Np
b25Db25maWd1cmF0aW9uIChXS1N0YWdpbmcpCi1AcHJvcGVydHkgKGNvcHkpIE5TU2V0ICpfc3Vw
cHJlc3NlZEF1dG9BZGRlZEhUVFBIZWFkZXJzOwotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApCi0vLyBGSVhNRTog
UmVtb3ZlIHRoaXMgb25jZSByZGFyOi8vcHJvYmxlbS80MDY1MDI0NCBpcyBpbiBhIGJ1aWxkLgot
QHByb3BlcnR5IChjb3B5KSBOU0RpY3Rpb25hcnkgKl9zb2NrZXRTdHJlYW1Qcm9wZXJ0aWVzOwot
I2VuZGlmCi1AZW5kCi0jZW5kaWYKLQogc3RhdGljIE5TVVJMU2Vzc2lvblJlc3BvbnNlRGlzcG9z
aXRpb24gdG9OU1VSTFNlc3Npb25SZXNwb25zZURpc3Bvc2l0aW9uKFdlYkNvcmU6OlBvbGljeUFj
dGlvbiBkaXNwb3NpdGlvbikKIHsKICAgICBzd2l0Y2ggKGRpc3Bvc2l0aW9uKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkLm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZC5tbQppbmRleCA5OGM3Y2NhYmUyMTk2
ZmZmZmFiOTBjMWUxNjQxZTQ4OGJhMTc2OGQ5Li44YzZhZmQyY2EzNmU4YzQ5N2ZhM2YwMmFlOTUw
Mzg5MGRmYzVhODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dl
YkRvd25sb2FkLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRG93bmxv
YWQubW0KQEAgLTQxLDMwICs0MSwxMCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAot
QGNsYXNzIE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlUHJveHk7Ci0KLS8vIEZJWE1FOiBUaGUgZm9s
bG93aW5nIGFyZSBOU1VSTERvd25sb2FkIFNQSSAtIGl0IHdvdWxkIGJlIG5pY2UgdG8gbm90IGhh
dmUgdG8gb3ZlcnJpZGUgdGhlbSBhdCAKLS8vIHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZQotQGlu
dGVyZmFjZSBOU1VSTERvd25sb2FkIChXZWJEb3dubG9hZENhcGFiaWxpdHkpCi0tIChpZClfaW5p
dFdpdGhMb2FkaW5nQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgotICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVzcG9uc2UK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlOihpZClkZWxlZ2F0ZQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHJveHk6KE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlUHJveHkgKilw
cm94eTsKLS0gKGlkKV9pbml0V2l0aFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QKLSAg
ICAgICAgICAgICAgZGVsZWdhdGU6KGlkKWRlbGVnYXRlCi0gICAgICAgICAgICAgZGlyZWN0b3J5
OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKLQotQGVuZAotCi1AaW50ZXJmYWNlIFdlYkRvd25sb2Fk
SW50ZXJuYWwgOiBOU09iamVjdCA8TlNVUkxEb3dubG9hZERlbGVnYXRlPgotewotQHB1YmxpYwor
QGludGVyZmFjZSBXZWJEb3dubG9hZEludGVybmFsIDogTlNPYmplY3QgPE5TVVJMRG93bmxvYWRE
ZWxlZ2F0ZT4gewogICAgIGlkIHJlYWxEZWxlZ2F0ZTsKIH0KLQotLSAodm9pZClzZXRSZWFsRGVs
ZWdhdGU6KGlkKXJkOwotCistICh2b2lkKXNldFJlYWxEZWxlZ2F0ZTooaWQpcmVhbERlbGVnYXRl
OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViRG93bmxvYWRJbnRlcm5hbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3dubG9hZEludGVybmFsLmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkSW50ZXJuYWwuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTMzY2U5MDhjNWM5OGNiZDliNDg0ZGQwMmM5OTU4MDdm
NjNiNDJjZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkSW50ZXJuYWwuaAorKysgL2Rl
di9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgot
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
Ci0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0q
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0qLwotIAotI2ltcG9ydCA8V2ViS2l0TGVnYWN5L1dlYkRvd25sb2FkLmg+Ci0g
Ci1AaW50ZXJmYWNlIFdlYkRvd25sb2FkIChXZWJEb3dubG9hZENyZWF0aW9uKQotKyhpZClfZG93
bmxvYWRXaXRoTG9hZGluZ0Nvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24g
cmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAq
KXIgZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHByb3h5OihpZClwcm94eTsKLQotKyhpZClfZG93bmxv
YWRXaXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBkZWxlZ2F0ZTooaWQpZGVsZWdh
dGUgZGlyZWN0b3J5OihOU1N0cmluZyAqKWRpcmVjdG9yeTsKLQotQGVuZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5tbQppbmRleCA4ZmNlN2VmZGU1N2RmNTE3Zjc2NTkyN2ZlMGVlNTE0NzRjNzNj
OWFhLi45YjkxMDdkZmYyODRmODljNTg3MjA0ZDZiMTYzZWUzOGQ0ZGNlZWI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMzksNyArMzksNyBAQAogI2ltcG9ydCAiV2ViRGVsZWdh
dGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaCIKICNpbXBvcnQgIldlYkRvY3VtZW50SW50ZXJuYWwu
aCIKICNpbXBvcnQgIldlYkRvY3VtZW50TG9hZGVyTWFjLmgiCi0jaW1wb3J0ICJXZWJEb3dubG9h
ZEludGVybmFsLmgiCisjaW1wb3J0ICJXZWJEb3dubG9hZC5oIgogI2ltcG9ydCAiV2ViRHluYW1p
Y1Njcm9sbEJhcnNWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYkVsZW1lbnREaWN0aW9uYXJ5
LmgiCiAjaW1wb3J0ICJXZWJGb3JtRGVsZWdhdGUuaCIKQEAgLTMxOCw3ICszMTgsMTAgQEAgdm9p
ZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2Fk
KERvY3VtZW50TG9hZGVyKiBkb2MKIAogICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUgPSBtYWlu
UmVzb3VyY2VMb2FkZXItPmhhbmRsZSgpOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVz
aAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnMiCiAgICAgW1dlYkRvd25sb2FkIF9kb3dubG9hZFdpdGhMb2FkaW5nQ29ubmVjdGlvbjpo
YW5kbGUtPmNvbm5lY3Rpb24oKSByZXF1ZXN0OnJlcXVlc3QubnNVUkxSZXF1ZXN0KEhUVFBCb2R5
VXBkYXRlUG9saWN5OjpVcGRhdGVIVFRQQm9keSkgcmVzcG9uc2U6cmVzcG9uc2UubnNVUkxSZXNw
b25zZSgpIGRlbGVnYXRlOlt3ZWJWaWV3IGRvd25sb2FkRGVsZWdhdGVdIHByb3h5Om5pbF07Cisj
cHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiB9CiAKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVy
KiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UsIGludCBsZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMTk2MTlhYWZmZDEwZDJmYTQwMjMyMGI0ZWJjOGYzODg0
ZDA4NGYwYy4uOTE0MTBhODlkNzMyNTQ1MzI1NTFmMzAyYmZjZTk4Mzc0MGM5YmIxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNTgsNyArNTgsNiBA
QAogI2ltcG9ydCAiV2ViRG9jdW1lbnQuaCIKICNpbXBvcnQgIldlYkRvY3VtZW50SW50ZXJuYWwu
aCIKICNpbXBvcnQgIldlYkRvd25sb2FkLmgiCi0jaW1wb3J0ICJXZWJEb3dubG9hZEludGVybmFs
LmgiCiAjaW1wb3J0ICJXZWJEcmFnQ2xpZW50LmgiCiAjaW1wb3J0ICJXZWJEeW5hbWljU2Nyb2xs
QmFyc1ZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViRWRpdGluZ0RlbGVnYXRlLmgiCkBAIC0y
MTksNiArMjE4LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29h
L05TVG91Y2hCYXJTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNVUkxEb3dubG9hZFNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TUmVzcG9uZGVyU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU1NwZWxsQ2hlY2tlclNQSS5oPgpAQCAtMjQ1MCwxMSArMjQ1MCwxMiBAQCAtIChXZWJE
b3dubG9hZCAqKV9kb3dubG9hZFVSTDooTlNVUkwgKilVUkwKICAgICBBU1NFUlQoVVJMKTsKICAg
ICAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbW05TVVJMUmVxdWVzdCBhbGxvY10gaW5p
dFdpdGhVUkw6VVJMXTsKLSAgICBXZWJEb3dubG9hZCAqZG93bmxvYWQgPSBbV2ViRG93bmxvYWQg
X2Rvd25sb2FkV2l0aFJlcXVlc3Q6cmVxdWVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTpfcHJpdmF0ZS0+ZG93bmxvYWREZWxl
Z2F0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpcmVjdG9yeTpuaWxdOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgorICAg
IFdlYkRvd25sb2FkICpkb3dubG9hZCA9IFtXZWJEb3dubG9hZCBfZG93bmxvYWRXaXRoUmVxdWVz
dDpyZXF1ZXN0IGRlbGVnYXRlOl9wcml2YXRlLT5kb3dubG9hZERlbGVnYXRlIGRpcmVjdG9yeTpu
aWxdOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogICAgIFtyZXF1ZXN0IHJlbGVhc2Vd
OwotICAgIAorCiAgICAgcmV0dXJuIGRvd25sb2FkOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>