<?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>211582</bug_id>
          
          <creation_ts>2020-05-07 10:30:08 -0700</creation_ts>
          <short_desc>Remove unused USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)</short_desc>
          <delta_ts>2020-05-11 11:24:03 -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>Platform</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=211711</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="Don Olmstead">don.olmstead</reporter>
          <assigned_to name="Don Olmstead">don.olmstead</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1650184</commentid>
    <comment_count>0</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-05-07 10:30:08 -0700</bug_when>
    <thetext>Everyone has it turned on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650188</commentid>
    <comment_count>1</comment_count>
      <attachid>398758</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-05-07 10:32:48 -0700</bug_when>
    <thetext>Created attachment 398758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650195</commentid>
    <comment_count>2</comment_count>
      <attachid>398759</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-05-07 10:37:44 -0700</bug_when>
    <thetext>Created attachment 398759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650226</commentid>
    <comment_count>3</comment_count>
      <attachid>398764</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-05-07 11:02:59 -0700</bug_when>
    <thetext>Created attachment 398764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650340</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-07 13:57:46 -0700</bug_when>
    <thetext>Committed r261333: &lt;https://trac.webkit.org/changeset/261333&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398764.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650341</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-07 13:58:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/62991887&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398758</attachid>
            <date>2020-05-07 10:32:48 -0700</date>
            <delta_ts>2020-05-07 10:37:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211582.diff</filename>
            <type>text/plain</type>
            <size>38394</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODUzMjVhYzRmNzgwLi5iMDNmOTdhN2I2ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MjAtMDUtMDcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAg
ICBSZW1vdmUgdW51c2VkIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklU
T1IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1
ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybVVzZS5oOgorCiAyMDIwLTA1LTA2ICBZb3NoaWFraSBKaXRzdWthd2EgIDx5b3No
aWFraS5qaXRzdWthd2FAc29ueS5jb20+IGFuZCBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1
amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dIEltcGxlbWVudCBEaXNwbGF5UmVmcmVzaE1v
bml0b3IgYnkgdXNpbmcgUnVuTG9vcDo6VGltZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGI2ZTE4
MjJlNTk0Ny4uYjk0ZTE0NjNiN2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTE4Nyw4ICsxODcs
NiBAQAogI2RlZmluZSBVU0VfQVZfU0FNUExFX0JVRkZFUl9ESVNQTEFZX0xBWUVSIDEKICNlbmRp
ZgogCi0jZGVmaW5lIFVTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ig
MQotCiAjaWYgIWRlZmluZWQoVVNFX1pMSUIpCiAjZGVmaW5lIFVTRV9aTElCIDEKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGUxYTQ5N2U4NDJjYy4uOTFlYzk2N2UxNmU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjAtMDUtMDcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255
LmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE1ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNyZWF0ZURpc3BsYXlS
ZWZyZXNoTW9uaXRvciBjb25zdCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9S
ZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyaW5n
VXBkYXRlU2NoZWR1bGVyOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjphZGp1c3RSZW5kZXJpbmdVcGRhdGVGcmVx
dWVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjpzY2hl
ZHVsZVRpbWVkUmVuZGVyaW5nVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmluZ1Vw
ZGF0ZVNjaGVkdWxlcjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL1Jl
bmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllclVwZGF0ZXI6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpzY2hlZHVsZVVwZGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0xheWVyVXBkYXRlcjo6c2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpkaXNwbGF5UmVmcmVzaEZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpjcmVhdGVEaXNwbGF5UmVmcmVz
aE1vbml0b3IgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXJVcGRhdGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvckd0ay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvckd0ay5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yIGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisKIDIwMjAtMDUtMDcg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhc3NlcnRpb25z
IHNlZW4gd2hlbiB0cnlpbmcgdG8gZHJhdyBhbiBhYnN1cmRseSBsYXJnZSBzaGFkb3cKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDM0M2RhMmMxMjM4NS4uMWY2OTRkMTU4YWM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTMwNSw5ICszMDUsNyBAQCBwdWJsaWM6
CiAgICAgLy8gQWxsb3dzIHBvcnRzIHRvIGN1c3RvbWl6ZSB0aGUgdHlwZSBvZiBncmFwaGljcyBs
YXllcnMgY3JlYXRlZCBieSB0aGlzIHBhZ2UuCiAgICAgdmlydHVhbCBHcmFwaGljc0xheWVyRmFj
dG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAK
LSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHZp
cnR1YWwgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hN
b25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9Ci0jZW5k
aWYKIAogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmLCBTaG91bGRBY2NlbGVyYXRlLCBTaG91bGRVc2VEaXNw
bGF5TGlzdCwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQsIENvbG9yU3BhY2UpIGNvbnN0IHsgcmV0
dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgUmVuZGVyaW5nTW9kZSwgZmxvYXQs
IENvbG9yU3BhY2UpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmlu
ZGV4IGY1YzRkMDllYTdmYi4uYmI2ZTAzYzdkYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEx
MTksOSArMTExOSw3IEBAIHZvaWQgUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3Jt
RGlzcGxheUlEIGRpc3BsYXlJRCkKICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT53aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlEKTsKICAgICB9CiAKLSNpZiBVU0UoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVk
dWxlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpOwotI2VuZGlmCiAKICAgICBz
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcAppbmRleCA3NDYzMmYwZDZmOWQuLjE4
NTNmMjU5Yjg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRh
dGVTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRl
U2NoZWR1bGVyLmNwcApAQCAtMzcsMTMgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUmVu
ZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIoUGFnZSYgcGFn
ZSkKICAgICA6IG1fcGFnZShwYWdlKQogewotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCiAgICAgd2luZG93U2NyZWVuRGlkQ2hhbmdlKHBhZ2UuY2hyb21l
KCkuZGlzcGxheUlEKCkpOwotI2VuZGlmCiB9CiAKLQotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6
c2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKEZyYW1lc1BlclNlY29uZCBwcmVmZXJyZWRGcmFt
ZXNQZXJTZWNvbmQpCiB7CiAgICAgaWYgKG1fcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID09IHBy
ZWZlcnJlZEZyYW1lc1BlclNlY29uZCkKQEAgLTY4LDEzICs2NCwxMiBAQCBib29sIFJlbmRlcmlu
Z1VwZGF0ZVNjaGVkdWxlcjo6c2NoZWR1bGVBbmltYXRpb24oRnJhbWVzUGVyU2Vjb25kIHByZWZl
cnJlZEZyYW1lcwogCiB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6YWRqdXN0UmVuZGVy
aW5nVXBkYXRlRnJlcXVlbmN5KCkKIHsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SKQogICAgIFNlY29uZHMgaW50ZXJ2YWwgPSBtX3BhZ2UucHJlZmVycmVk
UmVuZGVyaW5nVXBkYXRlSW50ZXJ2YWwoKTsKIAogICAgIC8vIFByZWZlcnJlZEZyYW1lc1BlclNl
Y29uZCBpcyBhbiBpbnRlZ2VyIGFuZCBzaG91bGQgYmUgPiAwLgogICAgIGlmIChpbnRlcnZhbCA8
PSAxX3MpCiAgICAgICAgIHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChwcmVmZXJyZWRGcmFt
ZXNQZXJTZWNvbmQoaW50ZXJ2YWwpKTsKLSNlbmRpZgorCiAgICAgaWYgKGlzU2NoZWR1bGVkKCkp
IHsKICAgICAgICAgY2xlYXJTY2hlZHVsZWQoKTsKICAgICAgICAgc2NoZWR1bGVUaW1lZFJlbmRl
cmluZ1VwZGF0ZSgpOwpAQCAtOTYsMTEgKzkxLDkgQEAgdm9pZCBSZW5kZXJpbmdVcGRhdGVTY2hl
ZHVsZXI6OnNjaGVkdWxlVGltZWRSZW5kZXJpbmdVcGRhdGUoKQogCiAgICAgU2Vjb25kcyBpbnRl
cnZhbCA9IG1fcGFnZS5wcmVmZXJyZWRSZW5kZXJpbmdVcGRhdGVJbnRlcnZhbCgpOwogCi0jaWYg
VVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICAvLyBQcmVm
ZXJyZWRGcmFtZXNQZXJTZWNvbmQgaXMgYW4gaW50ZWdlciBhbmQgc2hvdWxkIGJlID4gMC4KICAg
ICBpZiAoaW50ZXJ2YWwgPD0gMV9zKQogICAgICAgICBtX3NjaGVkdWxlZCA9IHNjaGVkdWxlQW5p
bWF0aW9uKHByZWZlcnJlZEZyYW1lc1BlclNlY29uZChpbnRlcnZhbCkpOwotI2VuZGlmCiAKICAg
ICBpZiAoIWlzU2NoZWR1bGVkKCkpCiAgICAgICAgIHN0YXJ0VGltZXIoaW50ZXJ2YWwpOwpAQCAt
MTI2LDcgKzExOSw2IEBAIHZvaWQgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjpjbGVhclNjaGVk
dWxlZCgpCiAgICAgbV9yZWZyZXNoVGltZXIgPSBudWxscHRyOwogfQogCi0jaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIFJlZlB0cjxEaXNwbGF5UmVmcmVz
aE1vbml0b3I+IFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hN
b25pdG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkgY29uc3QKIHsKICAgICBpZiAoYXV0
byBtb25pdG9yID0gbV9wYWdlLmNocm9tZSgpLmNsaWVudCgpLmNyZWF0ZURpc3BsYXlSZWZyZXNo
TW9uaXRvcihkaXNwbGF5SUQpKQpAQCAtMTM5LDcgKzEzMSw2IEBAIHZvaWQgUmVuZGVyaW5nVXBk
YXRlU2NoZWR1bGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlz
cGxheUlECiB7CiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsICp0aGlzKTsKIH0KLSNlbmRpZgog
CiB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6ZGlzcGxheVJlZnJlc2hGaXJlZCgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuaAppbmRl
eCAxMmQ2MTE4ODJiYmIuLmUwZTAxN2ViYzJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oCkBAIC0zNCwxMCArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgVGltZXI7CiAKLWNsYXNzIFJlbmRlcmluZ1Vw
ZGF0ZVNjaGVkdWxlcgotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCi0gICAgOiBwdWJsaWMgRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50Ci0jZW5kaWYK
K2NsYXNzIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlciA6IHB1YmxpYyBEaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAg
LTUzLDE5ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZUltbWVkaWF0ZVJlbmRl
cmluZ1VwZGF0ZSgpOwogICAgIHZvaWQgc2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoKTsKIAotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgdm9pZCB3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpOwotI2VuZGlmCiAKIHByaXZh
dGU6Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAg
ICB2b2lkIHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQZXJTZWNvbmQpOwogICAg
IGJvb2wgc2NoZWR1bGVBbmltYXRpb24oRnJhbWVzUGVyU2Vjb25kKTsKICAgICBSZWZQdHI8RGlz
cGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1E
aXNwbGF5SUQpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgZGlzcGxheVJlZnJlc2hGaXJlZCgpIGZp
bmFsOwotI2Vsc2UKLSAgICB2b2lkIGRpc3BsYXlSZWZyZXNoRmlyZWQoKTsKLSNlbmRpZgogCiAg
ICAgYm9vbCBpc1NjaGVkdWxlZCgpIGNvbnN0OwogICAgIHZvaWQgc3RhcnRUaW1lcihTZWNvbmRz
KTsKQEAgLTc0LDkgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBQYWdlJiBtX3BhZ2U7CiAgICAgYm9v
bCBtX3NjaGVkdWxlZCB7IGZhbHNlIH07CiAgICAgc3RkOjp1bmlxdWVfcHRyPFRpbWVyPiBtX3Jl
ZnJlc2hUaW1lcjsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05J
VE9SKQogICAgIEZyYW1lc1BlclNlY29uZCBtX3ByZWZlcnJlZEZyYW1lc1BlclNlY29uZCB7IEZ1
bGxTcGVlZEZyYW1lc1BlclNlY29uZCB9OwotI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9y
LmNwcAppbmRleCAzYzE0NTE5YWU4NGMuLmQyNDQwYjQ2OWY1OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGlz
cGxheVJlZnJlc2hNb25pdG9yLmgiCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50
LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKQEAgLTEzNSw1ICsxMzMsMyBAQCB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRv
cjo6ZGlzcGxheURpZFJlZnJlc2goKQogfQogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCAzZWU3
YjUxZjg0NzcuLmUwZGM0YTI0ZGZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTI1LDggKzI1LDYg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiQW5pbWF0aW9uRnJhbWVSYXRlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtMTAzLDYg
KzEwMSwzIEBAIHByaXZhdGU6CiB9OwogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50
LmNwcAppbmRleCBiMDhhM2E4OTgwMmIuLjYyMjViMmQ5MmVmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAKLSNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5o
IgogCkBAIC01Miw1ICs1MCwzIEBAIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50Ojpm
aXJlRGlzcGxheVJlZnJlc2hJZk5lZWRlZCgpCiB9CiAKIH0KLQotI2VuZGlmIC8vIFVTRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckNs
aWVudC5oCmluZGV4IGM2NjlkY2I0YzBmMC4uYmVlN2Q4MTYyYWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQuaApAQCAtMjUsOCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCi0KICNpbmNsdWRlICJQ
bGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CkBAIC02MCw1ICs1OCwzIEBAIHByaXZhdGU6CiB9OwogCiB9Ci0KLSNlbmRp
ZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmNwcAppbmRleCA4ZmNjMTc2NjhhMzAuLmNlMDYyOWM5Y2Nh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5h
Z2VyLmgiCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9S
KQotCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAjaW5jbHVkZSAiRGlzcGxh
eVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTM4LDUg
KzEzNiwzIEBAIERpc3BsYXlSZWZyZXNoTW9uaXRvciogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFu
YWdlcjo6bW9uaXRvckZvckRpc3BsYXlJRChQbGF0Zm9yCiB9CiAKIH0KLQotI2VuZGlmIC8vIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyLmgKaW5kZXggYmQxZDg2YjVjYWVlLi4wYWUwZmEwOWZiMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAj
aW5jbHVkZSAiQW5pbWF0aW9uRnJhbWVSYXRlLmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hN
b25pdG9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKQEAgLTc1LDUgKzczLDMgQEAg
cHJpdmF0ZToKIH07CiAKIH0KLQotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAKaW5kZXggOWJjZDIzZmZkODQ2Li43
NDkxNWY3Mzk1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAKQEAgLTMxLDE4ICszMSwxMiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKQogR3JhcGhpY3NMYXllclVwZGF0ZXI6OkdyYXBoaWNzTGF5ZXJVcGRhdGVy
KEdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50JiBjbGllbnQsIFBsYXRmb3JtRGlzcGxheUlEIGRp
c3BsYXlJRCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKIHsKICAgICBEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3Bs
YXlJRCwgKnRoaXMpOwogICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1h
bmFnZXIoKS5zY2hlZHVsZUFuaW1hdGlvbigqdGhpcyk7CiB9Ci0jZWxzZQotR3JhcGhpY3NMYXll
clVwZGF0ZXI6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyKEdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50
JiwgUGxhdGZvcm1EaXNwbGF5SUQpCi17Ci19Ci0jZW5kaWYKIAogR3JhcGhpY3NMYXllclVwZGF0
ZXI6On5HcmFwaGljc0xheWVyVXBkYXRlcigpCiB7CkBAIC01NCwzNCArNDgsMjQgQEAgdm9pZCBH
cmFwaGljc0xheWVyVXBkYXRlcjo6c2NoZWR1bGVVcGRhdGUoKQogICAgIGlmIChtX3NjaGVkdWxl
ZCkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJ
U1BMQVlfTU9OSVRPUikKICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpzaGFyZWRN
YW5hZ2VyKCkuc2NoZWR1bGVBbmltYXRpb24oKnRoaXMpOwotI2VuZGlmCiAgICAgbV9zY2hlZHVs
ZWQgPSB0cnVlOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpzY3JlZW5EaWRDaGFu
Z2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogewotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFu
YWdlcjo6c2hhcmVkTWFuYWdlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsICp0
aGlzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRpc3BsYXlJRCk7Ci0jZW5kaWYKIH0KIAot
I2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiB2b2lkIEdy
YXBoaWNzTGF5ZXJVcGRhdGVyOjpkaXNwbGF5UmVmcmVzaEZpcmVkKCkKIHsKICAgICBtX3NjaGVk
dWxlZCA9IGZhbHNlOwogICAgIG1fY2xpZW50LmZsdXNoTGF5ZXJzU29vbigqdGhpcyk7CiB9Ci0j
ZW5kaWYKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ip
CiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBHcmFwaGljc0xheWVyVXBkYXRlcjo6Y3Jl
YXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9jbGllbnQuY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKGRp
c3BsYXlJRCk7CiB9Ci0jZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllclVwZGF0ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJVcGRhdGVy
LmgKaW5kZXggOWI3MGFjOWVhMDFmLi44NWE4OTllMTFhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllclVwZGF0ZXIuaApAQCAt
MzYsMTUgKzM2LDEwIEBAIGNsYXNzIEdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50IHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVyVXBkYXRlckNsaWVudCgpID0gZGVmYXVsdDsK
ICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hMYXllcnNTb29uKEdyYXBoaWNzTGF5ZXJVcGRhdGVyJikg
PSAwOwotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAg
ICAgdmlydHVhbCBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVm
cmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0ID0gMDsKLSNlbmRpZgogfTsKIAot
Y2xhc3MgR3JhcGhpY3NMYXllclVwZGF0ZXIKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVfRElTUExBWV9NT05JVE9SKQotICAgIDogcHVibGljIERpc3BsYXlSZWZyZXNoTW9uaXRvckNs
aWVudAotI2VuZGlmCitjbGFzcyBHcmFwaGljc0xheWVyVXBkYXRlciA6IHB1YmxpYyBEaXNwbGF5
UmVmcmVzaE1vbml0b3JDbGllbnQKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKQEAgLTU0LDE1ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZVVwZGF0
ZSgpOwogICAgIHZvaWQgc2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKTsKIAotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgUmVmUHRy
PERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRm
b3JtRGlzcGxheUlEKSBjb25zdCBvdmVycmlkZTsKLSNlbmRpZgogCiBwcml2YXRlOgotI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgdm9pZCBkaXNw
bGF5UmVmcmVzaEZpcmVkKCkgb3ZlcnJpZGU7CiAgICAgR3JhcGhpY3NMYXllclVwZGF0ZXJDbGll
bnQmIG1fY2xpZW50OwotI2VuZGlmCiAgICAgYm9vbCBtX3NjaGVkdWxlZCB7IGZhbHNlIH07CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlz
cGxheVJlZnJlc2hNb25pdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuY3BwCmluZGV4IGZiNGI1NGY3NDQyNy4u
MmI3ZTBkODY3NzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmNwcApAQCAtMjYs
NyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNo
TW9uaXRvckd0ay5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlf
TU9OSVRPUikgJiYgIVVTRShHVEs0KQorI2lmICFVU0UoR1RLNCkKIAogI2luY2x1ZGUgPGd0ay9n
dGsuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtOTQsNCArOTQsNCBAQCB2b2lkIERp
c3BsYXlSZWZyZXNoTW9uaXRvckd0azo6ZGlzcGxheUxpbmtGaXJlZCgpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IpICYmICFVU0UoR1RLNCkKKyNlbmRpZiAvLyAhVVNFKEdUSzQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hN
b25pdG9yR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxh
eVJlZnJlc2hNb25pdG9yR3RrLmgKaW5kZXggZTJhMGU0YzUwZTMxLi41M2NhYjdmMWM1YjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVm
cmVzaE1vbml0b3JHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
dGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9S
KSAmJiAhVVNFKEdUSzQpCisjaWYgIVVTRShHVEs0KQogCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJl
c2hNb25pdG9yLmgiCiAKQEAgLTUzLDQgKzUzLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikgJiYgIVVTRShHVEs0KQorI2VuZGlmIC8vICFVU0UoR1RLNCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JJT1MuaAppbmRleCA3MTYzMzIzOWIzNmUuLmY5OWQ2NGU2YzBiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZy
ZXNoTW9uaXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ip
ICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lu
Y2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KQEAgLTUzLDQgKzUzLDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0
b3JJT1MubW0KaW5kZXggMThlODA5ZDJjYTJiLi5jYmNjOGYxMGRhODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaCIKIAotI2lmIFVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKElPU19GQU1JTFkp
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgog
I2ltcG9ydCA8UXVhcnR6Q29yZS9DQURpc3BsYXlMaW5rLmg+CkBAIC0xMjMsNCArMTIzLDQgQEAg
dm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlMaW5rRmlyZWQoKQogCiB9CiAK
LSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKSAm
JiBQTEFURk9STShJT1NfRkFNSUxZKQorI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCmluZGV4IDRkY2U4YjRiYTgyNy4uOTJiNjA0
NDNlYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYy5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRP
UikgJiYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1BQykKIAogI2luY2x1ZGUgPFF1YXJ0
ekNvcmUvUXVhcnR6Q29yZS5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC0xMDMsNCAr
MTAzLDQgQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWM6OmRpc3BsYXlMaW5rRmlyZWQo
KQogCiB9CiAKLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKSAmJiBQTEFURk9STShNQUMpCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4IGQ0NTg3ZmQ0NTU1Ni4uN2Q2MTBjZDM3NTQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRP
UikgJiYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1BQykKIAogI2luY2x1ZGUgIkRpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC01NSw0ICs1
NSw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKE1BQykKKyNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCmluZGV4IDZlMzVjNGRlMWQ3MC4uNDIyNmY1MGEwNWZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNDgy
Niw3ICs0ODI2LDYgQEAgR3JhcGhpY3NMYXllckZhY3RvcnkqIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogICAgIHJldHVybiBwYWdlKCkuY2hyb21l
KCkuY2xpZW50KCkuZ3JhcGhpY3NMYXllckZhY3RvcnkoKTsKIH0KIAotI2lmIFVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hN
b25pdG9yPiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRv
cihQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpIGNvbnN0CiB7CiAgICAgaWYgKGF1dG8gbW9u
aXRvciA9IHBhZ2UoKS5jaHJvbWUoKS5jbGllbnQoKS5jcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0
b3IoZGlzcGxheUlEKSkKQEAgLTQ4MzQsNyArNDgzMyw2IEBAIFJlZlB0cjxEaXNwbGF5UmVmcmVz
aE1vbml0b3I+IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25p
dG9yCiAKICAgICByZXR1cm4gRGlzcGxheVJlZnJlc2hNb25pdG9yOjpjcmVhdGVEZWZhdWx0RGlz
cGxheVJlZnJlc2hNb25pdG9yKGRpc3BsYXlJRCk7CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShD
U1NfU0NST0xMX1NOQVApCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlU2Nyb2xs
U25hcFByb3BlcnRpZXNXaXRoRnJhbWVWaWV3KGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3KSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oCmluZGV4IDdiMmJiYjVmZDFjOS4uNDJkZTNiZTBkYjkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC00NzcsOSArNDc3LDcg
QEAgcHJpdmF0ZToKICAgICBHcmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3Rv
cnkoKSBjb25zdDsKICAgICBTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IoKSBjb25zdDsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCiAgICAgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJl
ZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBvdmVycmlkZTsKLSNlbmRpZgog
CiAgICAgLy8gTm9uIGxheW91dC1kZXBlbmRlbnQKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JBbmltYXRpb24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBkYmU4NDJkYTNiNWIuLjhjNDFjYzA2Y2FmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAor
MjAyMC0wNS0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAg
ICAgIFJlbW92ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9O
SVRPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MTU4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29t
cG9zaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6VGhyZWFk
ZWRDb21wb3NpdG9yKToKKyAgICAgICAgKFdlYktpdDo6bV9kaXNwbGF5UmVmcmVzaE1vbml0b3Ip
OgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnNjZW5lVXBkYXRlRmluaXNoZWQpOgor
ICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OmRpc3BsYXlSZWZyZXNoTW9uaXRv
cik6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL1RocmVhZGVkQ29tcG9zaXRvci5oOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5j
cHA6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBjb25zdCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUNvb3Jk
aW5hdGVkR3JhcGhpY3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGlu
YXRlZEdyYXBoaWNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhv
c3Q6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3Iu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcDoKKwogMjAyMC0wNS0wNyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEF1eGlsaWFyeVByb2Nlc3NQcm94
eTo6c2VuZFdpdGhBc3luY1JlcGx5KCkgc2hvdWxkIHByZXZlbnQgYXV4aWxpYXJ5IHByb2Nlc3Mg
c3VzcGVuc2lvbiB3aGlsZSBwcm9jZXNzaW5nIHRoZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVh
ZGVkQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCmluZGV4IGI4Yzcz
MDNlNzU5Yy4uYjdjYjEyYTFmOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFk
ZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgVGhy
ZWFkZWRDb21wb3NpdG9yOjpUaHJlYWRlZENvbXBvc2l0b3IoQ2xpZW50JiBjbGllbnQsIFRocmVh
ZGVkRGlzcGxheVJlZnJlc2hNb24KICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fcGFp
bnRGbGFncyhwYWludEZsYWdzKQogICAgICwgbV9jb21wb3NpdGluZ1J1bkxvb3AobWFrZVVuaXF1
ZTxDb21wb3NpdGluZ1J1bkxvb3A+KFt0aGlzXSB7IHJlbmRlckxheWVyVHJlZSgpOyB9KSkKLSNp
ZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgICwgbV9k
aXNwbGF5UmVmcmVzaE1vbml0b3IoVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I6OmNyZWF0
ZShkaXNwbGF5SUQsIGRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCkpCi0jZW5kaWYKIHsKICAg
ICB7CiAgICAgICAgIC8vIExvY2tpbmcgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSBoZXJlLCBidXQg
aXQncyBkb25lIGZvciBjb25zaXN0ZW5jeS4KQEAgLTk1LDkgKzkzLDcgQEAgdm9pZCBUaHJlYWRl
ZENvbXBvc2l0b3I6OmludmFsaWRhdGUoKQogewogICAgIG1fc2NlbmUtPmRldGFjaCgpOwogICAg
IG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zdG9wVXBkYXRlcygpOwotI2lmIFVTRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgbV9kaXNwbGF5UmVmcmVzaE1vbml0
b3ItPmludmFsaWRhdGUoKTsKLSNlbmRpZgogICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT5wZXJm
b3JtVGFza1N5bmMoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gewogICAg
ICAgICBpZiAoIW1fY29udGV4dCB8fCAhbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKSkK
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTI0MiwyMCArMjM4LDE0IEBAIHZvaWQgVGhyZWFkZWRD
b21wb3NpdG9yOjpzY2VuZVVwZGF0ZUZpbmlzaGVkKCkKICAgICB7CiAgICAgICAgIExvY2tIb2xk
ZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKICAgICAgICAgc2hvdWxkRGlzcGF0Y2hEaXNw
bGF5UmVmcmVzaENhbGxiYWNrID0gbV9hdHRyaWJ1dGVzLmNsaWVudFJlbmRlcnNOZXh0RnJhbWUK
LSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgICAg
ICAgICAgfHwgbV9kaXNwbGF5UmVmcmVzaE1vbml0b3ItPnJlcXVpcmVzRGlzcGxheVJlZnJlc2hD
YWxsYmFjaygpOwotI2Vsc2UKLSAgICAgICAgICAgIDsKLSNlbmRpZgogICAgIH0KIAogICAgIExv
Y2tIb2xkZXIgc3RhdGVMb2NrZXIobV9jb21wb3NpdGluZ1J1bkxvb3AtPnN0YXRlTG9jaygpKTsK
IAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAg
Ly8gU2NoZWR1bGUgdGhlIERpc3BsYXlSZWZyZXNoTW9uaXRvciBjYWxsYmFjaywgaWYgbmVjZXNz
YXJ5LgogICAgIGlmIChzaG91bGREaXNwYXRjaERpc3BsYXlSZWZyZXNoQ2FsbGJhY2spCiAgICAg
ICAgIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yLT5kaXNwYXRjaERpc3BsYXlSZWZyZXNoQ2FsbGJh
Y2soKTsKLSNlbmRpZgogCiAgICAgLy8gTWFyayB0aGUgc2NlbmUgdXBkYXRlIGFzIGNvbXBsZXRl
ZC4KICAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+dXBkYXRlQ29tcGxldGVkKHN0YXRlTG9ja2Vy
KTsKQEAgLTI3MywxMiArMjYzLDEwIEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjp1cGRhdGVT
Y2VuZSgpCiAgICAgbV9jb21wb3NpdGluZ1J1bkxvb3AtPnNjaGVkdWxlVXBkYXRlKCk7CiB9CiAK
LSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogUmVmUHRy
PFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gVGhyZWFkZWRDb21wb3NpdG9yOjpkaXNw
bGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQpCiB7CiAgICAgcmV0dXJuIG1fZGlz
cGxheVJlZnJlc2hNb25pdG9yLmNvcHlSZWYoKTsKIH0KLSNlbmRpZgogCiB2b2lkIFRocmVhZGVk
Q29tcG9zaXRvcjo6ZnJhbWVDb21wbGV0ZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENv
bXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCmluZGV4IGZjZDJlNDg4ODk5OS4u
ZWQ2ZGNiOTBkOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ29t
cG9zaXRpbmdSdW5Mb29wLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgi
CisjaW5jbHVkZSAiVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR0xD
b250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CkBAIC0zOCwxMCArMzksNiBA
QAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZl
UmVmQ291bnRlZC5oPgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlf
TU9OSVRPUikKLSNpbmNsdWRlICJUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgotI2Vu
ZGlmCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU7CkBAIC03NSw5ICs3Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZm9yY2VSZXBhaW50KCk7
CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAg
IFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGRpc3BsYXlSZWZyZXNoTW9u
aXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7Ci0jZW5kaWYKIAogICAgIHZvaWQgZnJh
bWVDb21wbGV0ZSgpOwogCkBAIC0xMTYsOSArMTExLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9v
bCBjbGllbnRSZW5kZXJzTmV4dEZyYW1lIHsgZmFsc2UgfTsKICAgICB9IG1fYXR0cmlidXRlczsK
IAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAg
UmVmPFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yPiBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRv
cjsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9U
aHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZy
ZXNoTW9uaXRvci5jcHAKaW5kZXggZTU2ZjIyYjMzM2Y4Li4yMDM3YWZhYmIwMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21w
b3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRl
ZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogCi0j
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVfRElTUExBWV9NT05JVE9SKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2lu
Y2x1ZGUgIkNvbXBvc2l0aW5nUnVuTG9vcC5oIgogI2luY2x1ZGUgIlRocmVhZGVkQ29tcG9zaXRv
ci5oIgpAQCAtMTI0LDQgKzEyNCw0IEBAIHZvaWQgVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0
b3I6OmRpc3BsYXlSZWZyZXNoQ2FsbGJhY2soKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAot
I2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgJiYgVVNFKFJFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCA4OTE0YWU3YmFiZjMuLmE1
OWU4ZWEwMGU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVk
Y29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oCkBAIC0yNyw3ICsyNyw3
IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oPgogCi0jaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICNpbmNsdWRl
IDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTY0LDQgKzY0LDQgQEAg
cHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpICYmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCisjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCA1NmFhMTM2YWM0YTMuLjEzMjQyMjliZjZkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKQEAgLTg5MCwxNCArODkwLDEyIEBAIEdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBXZWJD
aHJvbWVDbGllbnQ6OmdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgY29uc3QKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklU
T1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpIGNvbnN0
CiB7CiAgICAgaWYgKGF1dG8qIGRyYXdpbmdBcmVhID0gbV9wYWdlLmRyYXdpbmdBcmVhKCkpCiAg
ICAgICAgIHJldHVybiBkcmF3aW5nQXJlYS0+Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKGRp
c3BsYXlJRCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDJhZGVkMTMzMDg4OC4uOTJjZWRl
NjdiYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMzAsOSArMjMwLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIEFYRmluaXNoRnJhbWVMb2FkKCkgZmluYWwgeyB9CiAjZW5kaWYKIAotI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgUmVmUHRyPFdl
YkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9y
KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBmaW5hbDsKLSNlbmRpZgogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQmIGVuc3VyZVJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGlu
YXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNwcAppbmRleCBl
ZjFjOGNkYmJhZDIuLjI4MTg5YzgyZGE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMzcw
LDE0ICszNzAsMTIgQEAgdm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmxheWVy
SG9zdERpZEZsdXNoTGF5ZXJzKCkKIH0KICNlbmRpZgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+
IERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25p
dG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKICAgICBpZiAoIW1fbGF5ZXJUcmVl
SG9zdCB8fCBtX3dhbnRzVG9FeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUgfHwgZXhpdEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICByZXR1cm4gbV9sYXllclRyZWVIb3N0LT5jcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0
b3IoZGlzcGxheUlEKTsKIH0KLSNlbmRpZgogCiB2b2lkIERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRH
cmFwaGljczo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShPcHRpb25TZXQ8QWN0aXZpdHlTdGF0ZTo6
RmxhZz4gY2hhbmdlZCwgQWN0aXZpdHlTdGF0ZUNoYW5nZUlELCBjb25zdCBWZWN0b3I8Q2FsbGJh
Y2tJRD4mKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2lu
Z0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKaW5kZXggNTA3OGVjNDZkYzU3Li5lNzBjZDYxNGM1
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJl
YUNvb3JkaW5hdGVkR3JhcGhpY3MuaApAQCAtNzYsOSArNzYsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgbGF5ZXJIb3N0RGlkRmx1c2hMYXllcnMoKSBvdmVycmlkZTsKICNlbmRpZgogICAgIAotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgUmVmUHRy
PFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25p
dG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsKLSNlbmRpZgogCiAgICAg
dm9pZCBhY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlOjpGbGFnPiwgQWN0aXZpdHlTdGF0ZUNoYW5nZUlELCBjb25zdCBWZWN0b3I8Q2FsbGJhY2tJ
RD4mIC8qIGNhbGxiYWNrSURzICovKSBvdmVycmlkZTsKICAgICB2b2lkIGF0dGFjaFZpZXdPdmVy
bGF5R3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcAppbmRleCAwNjg5OGZhZTFmMTQu
LjM2ODkzZmJlZjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3Qu
Y3BwCkBAIC0zMzgsMTIgKzMzOCwxMCBAQCB2b2lkIExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCiAgICAgbV9jb21wb3NpdG9yLT5zZXRTY2FsZUZhY3Rvciht
X3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSAqIG1fdmlld3BvcnRDb250cm9sbGVyLnBhZ2VT
Y2FsZUZhY3RvcigpKTsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBMYXllclRyZWVIb3N0
OjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlE
KQogewogICAgIHJldHVybiBtX2NvbXBvc2l0b3ItPmRpc3BsYXlSZWZyZXNoTW9uaXRvcihkaXNw
bGF5SUQpOwogfQotI2VuZGlmCiAKIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZGlkRmx1c2hSb290TGF5
ZXIoY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3QpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDViYzM2OTQ3ZDY3Mi4uNGE1ZTIxYTJlMzVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaApAQCAtOTEsOSArOTEs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgp
OwogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAg
ICBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVm
cmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpOwotI2VuZGlmCiAKICAgICBX
ZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCB7IHJldHVybiBtX2Rp
c3BsYXlJRDsgfQogCkBAIC0yMjEsOSArMjE5LDcgQEAgaW5saW5lIHZvaWQgTGF5ZXJUcmVlSG9z
dDo6Y29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CiBpbmxp
bmUgdm9pZCBMYXllclRyZWVIb3N0OjpkaWRDaGFuZ2VWaWV3cG9ydEF0dHJpYnV0ZXMoV2ViQ29y
ZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiYpIHsgfQogaW5saW5lIHZvaWQgTGF5ZXJUcmVlSG9zdDo6
c2V0SXNEaXNjYXJkYWJsZShib29sKSB7IH0KIGlubGluZSB2b2lkIExheWVyVHJlZUhvc3Q6OmRl
dmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpIHsgfQotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBpbmxpbmUgUmVmUHRyPFdlYkNvcmU6OkRpc3Bs
YXlSZWZyZXNoTW9uaXRvcj4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25p
dG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5k
aWYKLSNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAppbmRleCA1MzU4Y2Q2ODYzYjMuLjk3
NDI5ZTk3NjlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIERyYXdpbmdBcmVhOjpkaXNwYXRj
aEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oV1RGOjpGdW5jdGlvbjx2b2lkCiAg
ICAgZnVuY3Rpb24oKTsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IpICYmICEoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5E
T1dTRVJWRVJfQkxPQ0tJTkcpKQorI2lmICEoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJP
Q0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpKQogUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZy
ZXNoTW9uaXRvcj4gRHJhd2luZ0FyZWE6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0
Zm9ybURpc3BsYXlJRCkKIHsKICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDExNzVhNzc2MjM1Ny4uY2U3
NzU4ZDBiOTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmgKQEAgLTExNiw5ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNj
aGVkdWxlUmVuZGVyaW5nVXBkYXRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUlt
bWVkaWF0ZVJlbmRlcmluZ1VwZGF0ZSgpID0gMDsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6RGlz
cGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoV2ViQ29yZTo6
UGxhdGZvcm1EaXNwbGF5SUQpOwotI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hB
ZnRlckVuc3VyaW5nVXBkYXRlZFNjcm9sbFBvc2l0aW9uKFdURjo6RnVuY3Rpb248dm9pZCAoKT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRy
ZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCBiOTdmMWY0ZTg3OGQuLjc2ZGJjYmUwNTE3
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRy
ZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaApAQCAtMjUsOCArMjUsNiBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCi0K
ICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvQW5pbWF0aW9uRnJhbWVSYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5UmVmcmVz
aE1vbml0b3IuaD4KQEAgLTU1LDUgKzUzLDMgQEAgcHJpdmF0ZToKIH07CiAKIH0KLQotI2VuZGlm
IC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZy
ZXNoTW9uaXRvci5tbQppbmRleCA2YjI5NWJkZTQ2NzkuLjU2ZjJiZDNhZTY1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJl
ZnJlc2hNb25pdG9yLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogCi0jaWYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQogbmFtZXNwYWNlIFdl
YktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNzksNSArNzcsMyBAQCB2b2lk
IFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcjo6dXBkYXRlRHJhd2luZ0FyZWEo
UmVtb3RlTGF5ZXJUcmVlRHJhdwogfQogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EcmF3aW5nQXJlYU1hYy5jcHAKaW5kZXggMDZmY2M0NzE1
OTNlLi5lNDNlYTNkOTNlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9EcmF3aW5nQXJlYU1hYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcApAQCAtMzYsNyArMzYsNyBAQAogbmFt
ZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotI2lmIFVTRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIEVOQUJMRShXRUJQUk9DRVNT
X1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJW
RVJfQkxPQ0tJTkcpCiAKIGNsYXNzIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYyA6IHB1YmxpYyBE
aXNwbGF5UmVmcmVzaE1vbml0b3IgewogcHVibGljOgpAQCAtMTA5LDYgKzEwOSw2IEBAIFJlZlB0
cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IERyYXdpbmdBcmVhOjpjcmVhdGVEaXNw
bGF5UmVmcmVzaE1vbml0b3IoCiB7CiAgICAgcmV0dXJuIERpc3BsYXlSZWZyZXNoTW9uaXRvck1h
Yzo6Y3JlYXRlKGRpc3BsYXlJRCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoV0VCUFJP
Q0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398759</attachid>
            <date>2020-05-07 10:37:44 -0700</date>
            <delta_ts>2020-05-07 11:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211582.diff</filename>
            <type>text/plain</type>
            <size>38637</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODUzMjVhYzRmNzgwLi44NWVlOGFlODFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjAtMDUtMDcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAg
ICBSZW1vdmUgdW51c2VkIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklU
T1IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1
ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRl
ciByMjYxMjY0IGFsbCBwb3J0cyBpbXBsZW1lbnRlZCBVU0VfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVfRElTUExBWV9NT05JVE9SLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIw
MjAtMDUtMDYgIFlvc2hpYWtpIEppdHN1a2F3YSAgPHlvc2hpYWtpLmppdHN1a2F3YUBzb255LmNv
bT4gYW5kIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW1dpbl0gSW1wbGVtZW50IERpc3BsYXlSZWZyZXNoTW9uaXRvciBieSB1c2luZyBSdW5Mb29w
OjpUaW1lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggYjZlMTgyMmU1OTQ3Li5iOTRlMTQ2M2I3ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1Vc2UuaApAQCAtMTg3LDggKzE4Nyw2IEBACiAjZGVmaW5lIFVTRV9BVl9T
QU1QTEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIgMQogI2VuZGlmCiAKLSNkZWZpbmUgVVNFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0KICNpZiAhZGVmaW5lZChVU0Vf
WkxJQikKICNkZWZpbmUgVVNFX1pMSUIgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFhNDk3ZTg0
MmNjLi4yOWRiYmE3ZmU2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMC0wNS0w
NyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92
ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTU4MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHIyNjEy
NjQgYWxsIHBvcnRzIGltcGxlbWVudGVkIFVTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IgY29uc3Qp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp3aW5k
b3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6UmVu
ZGVyaW5nVXBkYXRlU2NoZWR1bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlcjo6YWRqdXN0UmVuZGVyaW5nVXBkYXRlRnJlcXVlbmN5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6c2NoZWR1bGVUaW1lZFJlbmRlcmluZ1Vw
ZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OndpbmRv
d1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVs
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVu
dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9y
Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXJVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJVcGRhdGVy
OjpHcmFwaGljc0xheWVyVXBkYXRlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
VXBkYXRlcjo6c2NoZWR1bGVVcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
clVwZGF0ZXI6OnNjcmVlbkRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyVXBkYXRlcjo6ZGlzcGxheVJlZnJlc2hGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyVXBkYXRlcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9y
SU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvcklPUy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxh
eVJlZnJlc2hNb25pdG9yTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNy
ZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDIwLTA1LTA3ICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYXNzZXJ0aW9ucyBzZWVuIHdoZW4gdHJ5aW5nIHRv
IGRyYXcgYW4gYWJzdXJkbHkgbGFyZ2Ugc2hhZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAppbmRleCAzNDNkYTJjMTIzODUuLjFmNjk0ZDE1OGFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCkBAIC0zMDUsOSArMzA1LDcgQEAgcHVibGljOgogICAgIC8vIEFsbG93cyBwb3J0
cyB0byBjdXN0b21pemUgdGhlIHR5cGUgb2YgZ3JhcGhpY3MgbGF5ZXJzIGNyZWF0ZWQgYnkgdGhp
cyBwYWdlLgogICAgIHZpcnR1YWwgR3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJG
YWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICB2aXJ0dWFsIFJlZlB0cjxEaXNwbGF5
UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3Bs
YXlJRCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQotI2VuZGlmCiAKICAgICB2aXJ0dWFsIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRT
aXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1
cnBvc2UsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAgICAg
dmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7
IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBmNWM0ZDA5ZWE3ZmIuLmJi
NmUwM2M3ZGEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMTE5LDkgKzExMTksNyBAQCB2b2lk
IFBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQp
CiAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRp
c3BsYXlJRCk7CiAgICAgfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKICAgICByZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIoKS53aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoZGlzcGxheUlEKTsKLSNlbmRpZgogCiAgICAgc2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmlu
Z1VwZGF0ZVNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlci5jcHAKaW5kZXggNzQ2MzJmMGQ2ZjlkLi4xODUzZjI1OWI4NmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5jcHAKQEAgLTM3
LDEzICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxl
cjo6UmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyKFBhZ2UmIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFn
ZSkKIHsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQog
ICAgIHdpbmRvd1NjcmVlbkRpZENoYW5nZShwYWdlLmNocm9tZSgpLmRpc3BsYXlJRCgpKTsKLSNl
bmRpZgogfQogCi0KLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05J
VE9SKQogdm9pZCBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OnNldFByZWZlcnJlZEZyYW1lc1Bl
clNlY29uZChGcmFtZXNQZXJTZWNvbmQgcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKQogewogICAg
IGlmIChtX3ByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9PSBwcmVmZXJyZWRGcmFtZXNQZXJTZWNv
bmQpCkBAIC02OCwxMyArNjQsMTIgQEAgYm9vbCBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OnNj
aGVkdWxlQW5pbWF0aW9uKEZyYW1lc1BlclNlY29uZCBwcmVmZXJyZWRGcmFtZXMKIAogdm9pZCBS
ZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OmFkanVzdFJlbmRlcmluZ1VwZGF0ZUZyZXF1ZW5jeSgp
CiB7Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAg
ICBTZWNvbmRzIGludGVydmFsID0gbV9wYWdlLnByZWZlcnJlZFJlbmRlcmluZ1VwZGF0ZUludGVy
dmFsKCk7CiAKICAgICAvLyBQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgaXMgYW4gaW50ZWdlciBh
bmQgc2hvdWxkIGJlID4gMC4KICAgICBpZiAoaW50ZXJ2YWwgPD0gMV9zKQogICAgICAgICBzZXRQ
cmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQocHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKGludGVydmFs
KSk7Ci0jZW5kaWYKKwogICAgIGlmIChpc1NjaGVkdWxlZCgpKSB7CiAgICAgICAgIGNsZWFyU2No
ZWR1bGVkKCk7CiAgICAgICAgIHNjaGVkdWxlVGltZWRSZW5kZXJpbmdVcGRhdGUoKTsKQEAgLTk2
LDExICs5MSw5IEBAIHZvaWQgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjpzY2hlZHVsZVRpbWVk
UmVuZGVyaW5nVXBkYXRlKCkKIAogICAgIFNlY29uZHMgaW50ZXJ2YWwgPSBtX3BhZ2UucHJlZmVy
cmVkUmVuZGVyaW5nVXBkYXRlSW50ZXJ2YWwoKTsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgLy8gUHJlZmVycmVkRnJhbWVzUGVyU2Vjb25k
IGlzIGFuIGludGVnZXIgYW5kIHNob3VsZCBiZSA+IDAuCiAgICAgaWYgKGludGVydmFsIDw9IDFf
cykKICAgICAgICAgbV9zY2hlZHVsZWQgPSBzY2hlZHVsZUFuaW1hdGlvbihwcmVmZXJyZWRGcmFt
ZXNQZXJTZWNvbmQoaW50ZXJ2YWwpKTsKLSNlbmRpZgogCiAgICAgaWYgKCFpc1NjaGVkdWxlZCgp
KQogICAgICAgICBzdGFydFRpbWVyKGludGVydmFsKTsKQEAgLTEyNiw3ICsxMTksNiBAQCB2b2lk
IFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6Y2xlYXJTY2hlZHVsZWQoKQogICAgIG1fcmVmcmVz
aFRpbWVyID0gbnVsbHB0cjsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9E
SVNQTEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBSZW5kZXJpbmdV
cGRhdGVTY2hlZHVsZXI6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3Bs
YXlJRCBkaXNwbGF5SUQpIGNvbnN0CiB7CiAgICAgaWYgKGF1dG8gbW9uaXRvciA9IG1fcGFnZS5j
aHJvbWUoKS5jbGllbnQoKS5jcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoZGlzcGxheUlEKSkK
QEAgLTEzOSw3ICsxMzEsNiBAQCB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6d2luZG93
U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRAogewogICAgIERpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS53aW5kb3dTY3JlZW5EaWRD
aGFuZ2UoZGlzcGxheUlELCAqdGhpcyk7CiB9Ci0jZW5kaWYKIAogdm9pZCBSZW5kZXJpbmdVcGRh
dGVTY2hlZHVsZXI6OmRpc3BsYXlSZWZyZXNoRmlyZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmgKaW5kZXggMTJkNjExODgyYmJiLi5lMGUw
MTdlYmMyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRl
U2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hl
ZHVsZXIuaApAQCAtMzQsMTAgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFn
ZTsKIGNsYXNzIFRpbWVyOwogCi1jbGFzcyBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIKLSNpZiBV
U0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotICAgIDogcHVibGlj
IERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudAotI2VuZGlmCitjbGFzcyBSZW5kZXJpbmdVcGRh
dGVTY2hlZHVsZXIgOiBwdWJsaWMgRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50CiB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC01MywxOSArNTAsMTMgQEAgcHVi
bGljOgogICAgIHZvaWQgc2NoZWR1bGVJbW1lZGlhdGVSZW5kZXJpbmdVcGRhdGUoKTsKICAgICB2
b2lkIHNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCk7CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdl
KFBsYXRmb3JtRGlzcGxheUlEKTsKLSNlbmRpZgogCiBwcml2YXRlOgotI2lmIFVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgdm9pZCBzZXRQcmVmZXJyZWRG
cmFtZXNQZXJTZWNvbmQoRnJhbWVzUGVyU2Vjb25kKTsKICAgICBib29sIHNjaGVkdWxlQW5pbWF0
aW9uKEZyYW1lc1BlclNlY29uZCk7CiAgICAgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4g
Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBmaW5h
bDsKICAgICB2b2lkIGRpc3BsYXlSZWZyZXNoRmlyZWQoKSBmaW5hbDsKLSNlbHNlCi0gICAgdm9p
ZCBkaXNwbGF5UmVmcmVzaEZpcmVkKCk7Ci0jZW5kaWYKIAogICAgIGJvb2wgaXNTY2hlZHVsZWQo
KSBjb25zdDsKICAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyk7CkBAIC03NCw5ICs2NSw3IEBA
IHByaXZhdGU6CiAgICAgUGFnZSYgbV9wYWdlOwogICAgIGJvb2wgbV9zY2hlZHVsZWQgeyBmYWxz
ZSB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxUaW1lcj4gbV9yZWZyZXNoVGltZXI7Ci0jaWYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBGcmFtZXNQZXJT
ZWNvbmQgbV9wcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgeyBGdWxsU3BlZWRGcmFtZXNQZXJTZWNv
bmQgfTsKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggM2MxNDUxOWFl
ODRjLi5kMjQ0MGI0NjlmNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMjYsOCArMjYsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5o
IgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQog
I2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkRpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xMzUs
NSArMTMzLDMgQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlEaWRSZWZyZXNo
KCkKIH0KIAogfQotCi0jZW5kaWYgLy8gVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKaW5kZXggM2VlN2I1MWY4NDc3Li5lMGRjNGEyNGRm
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvci5oCkBAIC0yNSw4ICsyNSw2IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQogI2lu
Y2x1ZGUgIkFuaW1hdGlvbkZyYW1lUmF0ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTEwMyw2ICsxMDEsMyBAQCBwcml2YXRlOgog
fTsKIAogfQotCi0jZW5kaWYgLy8gVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlf
TU9OSVRPUikKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5jcHAKaW5kZXggYjA4YTNhODk4
MDJiLi42MjI1YjJkOTJlZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmNwcApAQCAt
MjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZy
ZXNoTW9uaXRvckNsaWVudC5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJ
U1BMQVlfTU9OSVRPUikKLQogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2lu
Y2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaCIKIApAQCAtNTIsNSArNTAsMyBA
QCB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudDo6ZmlyZURpc3BsYXlSZWZyZXNoSWZO
ZWVkZWQoKQogfQogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaAppbmRleCBjNjY5ZGNi
NGMwZjAuLmJlZTdkODE2MmFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgKQEAgLTI1
LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNjAs
NSArNTgsMyBAQCBwcml2YXRlOgogfTsKIAogfQotCi0jZW5kaWYgLy8gVVNFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdl
ci5jcHAKaW5kZXggOGZjYzE3NjY4YTMwLi5jZTA2MjljOWNjYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvck1hbmFnZXIuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIgogCi0jaWYgVVNFKFJF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQogI2luY2x1ZGUgIkRpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVu
dC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTEzOCw1ICsxMzYsMyBAQCBEaXNwbGF5UmVm
cmVzaE1vbml0b3IqIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6Om1vbml0b3JGb3JEaXNw
bGF5SUQoUGxhdGZvcgogfQogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oCmluZGV4
IGJkMWQ4NmI1Y2FlZS4uMGFlMGZhMDlmYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdl
ci5oCkBAIC0yNSw4ICsyNSw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgVVNFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQogI2luY2x1ZGUgIkFuaW1hdGlvbkZy
YW1lUmF0ZS5oIgogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtU2NyZWVuLmgiCkBAIC03NSw1ICs3MywzIEBAIHByaXZhdGU6CiB9OwogCiB9Ci0K
LSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
clVwZGF0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllclVwZGF0ZXIuY3BwCmluZGV4IDliY2QyM2ZmZDg0Ni4uNzQ5MTVmNzM5NTVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
clVwZGF0ZXIuY3BwCkBAIC0zMSwxOCArMzEsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIEdyYXBo
aWNzTGF5ZXJVcGRhdGVyOjpHcmFwaGljc0xheWVyVXBkYXRlcihHcmFwaGljc0xheWVyVXBkYXRl
ckNsaWVudCYgY2xpZW50LCBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCiAgICAgOiBtX2Ns
aWVudChjbGllbnQpCiB7CiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsICp0aGlzKTsKICAgICBE
aXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc2NoZWR1bGVBbmlt
YXRpb24oKnRoaXMpOwogfQotI2Vsc2UKLUdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpHcmFwaGljc0xh
eWVyVXBkYXRlcihHcmFwaGljc0xheWVyVXBkYXRlckNsaWVudCYsIFBsYXRmb3JtRGlzcGxheUlE
KQotewotfQotI2VuZGlmCiAKIEdyYXBoaWNzTGF5ZXJVcGRhdGVyOjp+R3JhcGhpY3NMYXllclVw
ZGF0ZXIoKQogewpAQCAtNTQsMzQgKzQ4LDI0IEBAIHZvaWQgR3JhcGhpY3NMYXllclVwZGF0ZXI6
OnNjaGVkdWxlVXBkYXRlKCkKICAgICBpZiAobV9zY2hlZHVsZWQpCiAgICAgICAgIHJldHVybjsK
IAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAg
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnNjaGVkdWxlQW5p
bWF0aW9uKCp0aGlzKTsKLSNlbmRpZgogICAgIG1fc2NoZWR1bGVkID0gdHJ1ZTsKIH0KIAogdm9p
ZCBHcmFwaGljc0xheWVyVXBkYXRlcjo6c2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlE
IGRpc3BsYXlJRCkKIHsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQogICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIo
KS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCAqdGhpcyk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShkaXNwbGF5SUQpOwotI2VuZGlmCiB9CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogdm9pZCBHcmFwaGljc0xheWVyVXBkYXRlcjo6
ZGlzcGxheVJlZnJlc2hGaXJlZCgpCiB7CiAgICAgbV9zY2hlZHVsZWQgPSBmYWxzZTsKICAgICBt
X2NsaWVudC5mbHVzaExheWVyc1Nvb24oKnRoaXMpOwogfQotI2VuZGlmCiAKLSNpZiBVU0UoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogUmVmUHRyPERpc3BsYXlSZWZy
ZXNoTW9uaXRvcj4gR3JhcGhpY3NMYXllclVwZGF0ZXI6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9u
aXRvcihQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
Y2xpZW50LmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihkaXNwbGF5SUQpOwogfQotI2VuZGlm
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5oCmluZGV4IDliNzBhYzllYTAx
Zi4uODVhODk5ZTExYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmgKQEAgLTM2LDE1ICszNiwxMCBAQCBjbGFz
cyBHcmFwaGljc0xheWVyVXBkYXRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllclVwZGF0ZXJDbGllbnQoKSA9IGRlZmF1bHQ7CiAgICAgdmlydHVhbCB2b2lkIGZs
dXNoTGF5ZXJzU29vbihHcmFwaGljc0xheWVyVXBkYXRlciYpID0gMDsKLSNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHZpcnR1YWwgUmVmUHRyPERp
c3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3Jt
RGlzcGxheUlEKSBjb25zdCA9IDA7Ci0jZW5kaWYKIH07CiAKLWNsYXNzIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikK
LSAgICA6IHB1YmxpYyBEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQKLSNlbmRpZgorY2xhc3Mg
R3JhcGhpY3NMYXllclVwZGF0ZXIgOiBwdWJsaWMgRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50
CiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC01NCwxNSArNDks
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVVcGRhdGUoKTsKICAgICB2b2lkIHNjcmVl
bkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0
b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCkgY29uc3Qg
b3ZlcnJpZGU7Ci0jZW5kaWYKIAogcHJpdmF0ZToKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIHZvaWQgZGlzcGxheVJlZnJlc2hGaXJlZCgpIG92
ZXJyaWRlOwogICAgIEdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50JiBtX2NsaWVudDsKLSNlbmRp
ZgogICAgIGJvb2wgbV9zY2hlZHVsZWQgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckd0
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJl
c2hNb25pdG9yR3RrLmNwcAppbmRleCBmYjRiNTRmNzQ0MjcuLjJiN2UwZDg2NzczZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3Rr
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvckd0ay5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuaCIKIAotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmICFVU0UoR1RL
NCkKKyNpZiAhVVNFKEdUSzQpCiAKICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8d3Rm
L1J1bkxvb3AuaD4KQEAgLTk0LDQgKzk0LDQgQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JH
dGs6OmRpc3BsYXlMaW5rRmlyZWQoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKSAmJiAhVVNF
KEdUSzQpCisjZW5kaWYgLy8gIVVTRShHVEs0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckd0ay5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckd0ay5o
CmluZGV4IGUyYTBlNGM1MGUzMS4uNTNjYWI3ZjFjNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvckd0ay5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgVVNFKFJF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgIVVTRShHVEs0KQorI2lm
ICFVU0UoR1RLNCkKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogCkBAIC01
Myw0ICs1Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlm
IC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmICFVU0Uo
R1RLNCkKKyNlbmRpZiAvLyAhVVNFKEdUSzQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgK
aW5kZXggNzE2MzMyMzliMzZlLi5mOTlkNjRlNmMwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25p
dG9ySU9TLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKQorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVz
aE1vbml0b3IuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC01Myw0ICs1Myw0IEBA
IHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9E
SVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCmluZGV4IDE4ZTgw
OWQyY2EyYi4uY2JjYzhmMTBkYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0K
QEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRGlzcGxheVJl
ZnJlc2hNb25pdG9ySU9TLmgiCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKICNpbXBvcnQgIldlYkNvcmVUaHJlYWQuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUv
Q0FEaXNwbGF5TGluay5oPgpAQCAtMTIzLDQgKzEyMyw0IEBAIHZvaWQgRGlzcGxheVJlZnJlc2hN
b25pdG9ySU9TOjpkaXNwbGF5TGlua0ZpcmVkKCkKIAogfQogCi0jZW5kaWYgLy8gVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25p
dG9yTWFjLmNwcAppbmRleCA0ZGNlOGI0YmE4MjcuLjkyYjYwNDQzZWE0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hYy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCIKIAotI2lmIFVTRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKE1BQykK
KyNpZiBQTEFURk9STShNQUMpCiAKICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
ICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtMTAzLDQgKzEwMyw0IEBAIHZvaWQgRGlzcGxh
eVJlZnJlc2hNb25pdG9yTWFjOjpkaXNwbGF5TGlua0ZpcmVkKCkKIAogfQogCi0jZW5kaWYgLy8g
VVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgUExBVEZPUk0o
TUFDKQorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMu
aAppbmRleCBkNDU4N2ZkNDU1NTYuLjdkNjEwY2QzNzU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JNYWMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVTRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKE1BQykK
KyNpZiBQTEFURk9STShNQUMpCiAKICNpbmNsdWRlICJEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNTUsNCArNTUsNCBAQCBwcml2YXRlOgogCiB9
CiAKLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9S
KSAmJiBQTEFURk9STShNQUMpCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA2ZTM1
YzRkZTFkNzAuLjQyMjZmNTBhMDVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQ4MjYsNyArNDgyNiw2IEBAIEdyYXBo
aWNzTGF5ZXJGYWN0b3J5KiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmdyYXBoaWNzTGF5ZXJGYWN0
b3J5KCkgY29uc3QKICAgICByZXR1cm4gcGFnZSgpLmNocm9tZSgpLmNsaWVudCgpLmdyYXBoaWNz
TGF5ZXJGYWN0b3J5KCk7CiB9CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKQogUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQg
ZGlzcGxheUlEKSBjb25zdAogewogICAgIGlmIChhdXRvIG1vbml0b3IgPSBwYWdlKCkuY2hyb21l
KCkuY2xpZW50KCkuY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKGRpc3BsYXlJRCkpCkBAIC00
ODM0LDcgKzQ4MzMsNiBAQCBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcgogCiAgICAgcmV0dXJuIERp
c3BsYXlSZWZyZXNoTW9uaXRvcjo6Y3JlYXRlRGVmYXVsdERpc3BsYXlSZWZyZXNoTW9uaXRvcihk
aXNwbGF5SUQpOwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZVNjcm9sbFNuYXBQcm9wZXJ0aWVzV2l0aEZy
YW1lVmlldyhjb25zdCBGcmFtZVZpZXcmIGZyYW1lVmlldykgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCA3YjJiYmI1ZmQx
YzkuLjQyZGUzYmUwZGI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuaApAQCAtNDc3LDkgKzQ3Nyw3IEBAIHByaXZhdGU6CiAgICAgR3Jh
cGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgY29uc3Q7CiAgICAgU2Ny
b2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkgY29uc3Q7CiAKLSNpZiBV
U0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIFJlZlB0cjxE
aXNwbGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9y
bURpc3BsYXlJRCkgY29uc3Qgb3ZlcnJpZGU7Ci0jZW5kaWYKIAogICAgIC8vIE5vbiBsYXlvdXQt
ZGVwZW5kZW50CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKFJlbmRl
ckxheWVyTW9kZWxPYmplY3QmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZGJlODQyZGEzYjViLi5kMDQx
NmVlNmYwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDUtMDcgIERvbiBPbG1z
dGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1ODIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRlciByMjYxMjY0IGFsbCBwb3J0
cyBpbXBsZW1lbnRlZCBVU0VfUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9S
LgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29t
cG9zaXRvcjo6VGhyZWFkZWRDb21wb3NpdG9yKToKKyAgICAgICAgKFdlYktpdDo6bV9kaXNwbGF5
UmVmcmVzaE1vbml0b3IpOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6Omlu
dmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnNjZW5lVXBk
YXRlRmluaXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OmRpc3Bs
YXlSZWZyZXNoTW9uaXRvcik6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
dGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oOgorICAgICAgICAqIFNoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlS
ZWZyZXNoTW9uaXRvci5jcHA6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
dGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRv
ciBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRv
cik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJh
d2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5o
OgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2FsZUZhY3Rv
ckNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5
UmVmcmVzaE1vbml0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcDoKKwogMjAyMC0wNS0w
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEF1eGls
aWFyeVByb2Nlc3NQcm94eTo6c2VuZFdpdGhBc3luY1JlcGx5KCkgc2hvdWxkIHByZXZlbnQgYXV4
aWxpYXJ5IHByb2Nlc3Mgc3VzcGVuc2lvbiB3aGlsZSBwcm9jZXNzaW5nIHRoZSBJUEMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRj
b21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3Iu
Y3BwCmluZGV4IGI4YzczMDNlNzU5Yy4uYjdjYjEyYTFmOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJl
YWRlZENvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKQEAgLTU0
LDkgKzU0LDcgQEAgVGhyZWFkZWRDb21wb3NpdG9yOjpUaHJlYWRlZENvbXBvc2l0b3IoQ2xpZW50
JiBjbGllbnQsIFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb24KICAgICA6IG1fY2xpZW50KGNsaWVu
dCkKICAgICAsIG1fcGFpbnRGbGFncyhwYWludEZsYWdzKQogICAgICwgbV9jb21wb3NpdGluZ1J1
bkxvb3AobWFrZVVuaXF1ZTxDb21wb3NpdGluZ1J1bkxvb3A+KFt0aGlzXSB7IHJlbmRlckxheWVy
VHJlZSgpOyB9KSkKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05J
VE9SKQogICAgICwgbV9kaXNwbGF5UmVmcmVzaE1vbml0b3IoVGhyZWFkZWREaXNwbGF5UmVmcmVz
aE1vbml0b3I6OmNyZWF0ZShkaXNwbGF5SUQsIGRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCkp
Ci0jZW5kaWYKIHsKICAgICB7CiAgICAgICAgIC8vIExvY2tpbmcgaXNuJ3QgcmVhbGx5IG5lY2Vz
c2FyeSBoZXJlLCBidXQgaXQncyBkb25lIGZvciBjb25zaXN0ZW5jeS4KQEAgLTk1LDkgKzkzLDcg
QEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OmludmFsaWRhdGUoKQogewogICAgIG1fc2NlbmUt
PmRldGFjaCgpOwogICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zdG9wVXBkYXRlcygpOwotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgbV9kaXNw
bGF5UmVmcmVzaE1vbml0b3ItPmludmFsaWRhdGUoKTsKLSNlbmRpZgogICAgIG1fY29tcG9zaXRp
bmdSdW5Mb29wLT5wZXJmb3JtVGFza1N5bmMoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKV0gewogICAgICAgICBpZiAoIW1fY29udGV4dCB8fCAhbV9jb250ZXh0LT5tYWtlQ29u
dGV4dEN1cnJlbnQoKSkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI0MiwyMCArMjM4LDE0IEBA
IHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpzY2VuZVVwZGF0ZUZpbmlzaGVkKCkKICAgICB7CiAg
ICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKICAgICAgICAgc2hv
dWxkRGlzcGF0Y2hEaXNwbGF5UmVmcmVzaENhbGxiYWNrID0gbV9hdHRyaWJ1dGVzLmNsaWVudFJl
bmRlcnNOZXh0RnJhbWUKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQogICAgICAgICAgICAgfHwgbV9kaXNwbGF5UmVmcmVzaE1vbml0b3ItPnJlcXVpcmVz
RGlzcGxheVJlZnJlc2hDYWxsYmFjaygpOwotI2Vsc2UKLSAgICAgICAgICAgIDsKLSNlbmRpZgog
ICAgIH0KIAogICAgIExvY2tIb2xkZXIgc3RhdGVMb2NrZXIobV9jb21wb3NpdGluZ1J1bkxvb3At
PnN0YXRlTG9jaygpKTsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZ
X01PTklUT1IpCiAgICAgLy8gU2NoZWR1bGUgdGhlIERpc3BsYXlSZWZyZXNoTW9uaXRvciBjYWxs
YmFjaywgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChzaG91bGREaXNwYXRjaERpc3BsYXlSZWZyZXNo
Q2FsbGJhY2spCiAgICAgICAgIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yLT5kaXNwYXRjaERpc3Bs
YXlSZWZyZXNoQ2FsbGJhY2soKTsKLSNlbmRpZgogCiAgICAgLy8gTWFyayB0aGUgc2NlbmUgdXBk
YXRlIGFzIGNvbXBsZXRlZC4KICAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+dXBkYXRlQ29tcGxl
dGVkKHN0YXRlTG9ja2VyKTsKQEAgLTI3MywxMiArMjYzLDEwIEBAIHZvaWQgVGhyZWFkZWRDb21w
b3NpdG9yOjp1cGRhdGVTY2VuZSgpCiAgICAgbV9jb21wb3NpdGluZ1J1bkxvb3AtPnNjaGVkdWxl
VXBkYXRlKCk7CiB9CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQogUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gVGhyZWFkZWRD
b21wb3NpdG9yOjpkaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQpCiB7CiAg
ICAgcmV0dXJuIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yLmNvcHlSZWYoKTsKIH0KLSNlbmRpZgog
CiB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6ZnJhbWVDb21wbGV0ZSgpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9z
aXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCmluZGV4
IGZjZDJlNDg4ODk5OS4uZWQ2ZGNiOTBkOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBv
c2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaApAQCAtMjksNiArMjksNyBAQAog
CiAjaW5jbHVkZSAiQ29tcG9zaXRpbmdSdW5Mb29wLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lLmgiCisjaW5jbHVkZSAiVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3Iu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR0xDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CkBA
IC0zOCwxMCArMzksNiBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLSNpbmNsdWRlICJUaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU7CkBAIC03NSw5ICs3Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
Zm9yY2VSZXBhaW50KCk7CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExB
WV9NT05JVE9SKQogICAgIFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGRp
c3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7Ci0jZW5kaWYK
IAogICAgIHZvaWQgZnJhbWVDb21wbGV0ZSgpOwogCkBAIC0xMTYsOSArMTExLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgYm9vbCBjbGllbnRSZW5kZXJzTmV4dEZyYW1lIHsgZmFsc2UgfTsKICAgICB9
IG1fYXR0cmlidXRlczsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZ
X01PTklUT1IpCiAgICAgUmVmPFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yPiBtX2Rpc3Bs
YXlSZWZyZXNoTW9uaXRvcjsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVh
ZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJl
YWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggZTU2ZjIyYjMzM2Y4Li4yMDM3YWZh
YmIwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvci5oIgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQorI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDUykKIAogI2luY2x1ZGUgIkNvbXBvc2l0aW5nUnVuTG9vcC5oIgogI2luY2x1ZGUgIlRo
cmVhZGVkQ29tcG9zaXRvci5oIgpAQCAtMTI0LDQgKzEyNCw0IEBAIHZvaWQgVGhyZWFkZWREaXNw
bGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlSZWZyZXNoQ2FsbGJhY2soKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgJiYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKKyNlbmRpZiAvLyBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZy
ZXNoTW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90
aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCA4
OTE0YWU3YmFiZjMuLmE1OWU4ZWEwMGU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5
UmVmcmVzaE1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5o
CkBAIC0yNyw3ICsyNyw3IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvci5oPgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBVU0UoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTY0LDQgKzY0LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRp
ZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpICYmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRV9ESVNQTEFZX01PTklUT1IpCisjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA1NmFhMTM2YWM0YTMuLjEzMjQyMjliZjZkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTg5MCwxNCArODkwLDEyIEBAIEdyYXBoaWNzTGF5
ZXJGYWN0b3J5KiBXZWJDaHJvbWVDbGllbnQ6OmdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgY29uc3QK
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBXZWJDaHJv
bWVDbGllbnQ6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCBk
aXNwbGF5SUQpIGNvbnN0CiB7CiAgICAgaWYgKGF1dG8qIGRyYXdpbmdBcmVhID0gbV9wYWdlLmRy
YXdpbmdBcmVhKCkpCiAgICAgICAgIHJldHVybiBkcmF3aW5nQXJlYS0+Y3JlYXRlRGlzcGxheVJl
ZnJlc2hNb25pdG9yKGRpc3BsYXlJRCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9Ci0jZW5kaWYK
IAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDJhZGVk
MTMzMDg4OC4uOTJjZWRlNjdiYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMzAsOSArMjMw
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIEFYRmluaXNoRnJhbWVMb2FkKCkgZmluYWwgeyB9CiAj
ZW5kaWYKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ip
CiAgICAgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxh
eVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBmaW5hbDsK
LSNlbmRpZgogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQmIGVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJh
d2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBo
aWNzLmNwcAppbmRleCBlZjFjOGNkYmJhZDIuLjI4MTg5YzgyZGE2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5n
QXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBo
aWNzLmNwcApAQCAtMzcwLDE0ICszNzAsMTIgQEAgdm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVk
R3JhcGhpY3M6OmxheWVySG9zdERpZEZsdXNoTGF5ZXJzKCkKIH0KICNlbmRpZgogCi0jaWYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIFJlZlB0cjxEaXNwbGF5
UmVmcmVzaE1vbml0b3I+IERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6Y3JlYXRlRGlz
cGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKICAgICBp
ZiAoIW1fbGF5ZXJUcmVlSG9zdCB8fCBtX3dhbnRzVG9FeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z01vZGUgfHwgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gbV9sYXllclRyZWVIb3N0LT5jcmVhdGVEaXNw
bGF5UmVmcmVzaE1vbml0b3IoZGlzcGxheUlEKTsKIH0KLSNlbmRpZgogCiB2b2lkIERyYXdpbmdB
cmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShPcHRpb25TZXQ8
QWN0aXZpdHlTdGF0ZTo6RmxhZz4gY2hhbmdlZCwgQWN0aXZpdHlTdGF0ZUNoYW5nZUlELCBjb25z
dCBWZWN0b3I8Q2FsbGJhY2tJRD4mKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVk
R3JhcGhpY3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKaW5kZXggNTA3OGVjNDZk
YzU3Li5lNzBjZDYxNGM1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNz
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaApAQCAtNzYsOSArNzYsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgbGF5ZXJIb3N0RGlkRmx1c2hMYXllcnMoKSBvdmVycmlkZTsKICNl
bmRpZgogICAgIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklU
T1IpCiAgICAgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlz
cGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsK
LSNlbmRpZgogCiAgICAgdm9pZCBhY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKE9wdGlvblNldDxXZWJD
b3JlOjpBY3Rpdml0eVN0YXRlOjpGbGFnPiwgQWN0aXZpdHlTdGF0ZUNoYW5nZUlELCBjb25zdCBW
ZWN0b3I8Q2FsbGJhY2tJRD4mIC8qIGNhbGxiYWNrSURzICovKSBvdmVycmlkZTsKICAgICB2b2lk
IGF0dGFjaFZpZXdPdmVybGF5R3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcAppbmRl
eCAwNjg5OGZhZTFmMTQuLjM2ODkzZmJlZjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZUhvc3QuY3BwCkBAIC0zMzgsMTIgKzMzOCwxMCBAQCB2b2lkIExheWVyVHJlZUhv
c3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCiAgICAgbV9jb21wb3NpdG9yLT5z
ZXRTY2FsZUZhY3RvcihtX3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSAqIG1fdmlld3BvcnRD
b250cm9sbGVyLnBhZ2VTY2FsZUZhY3RvcigpKTsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9y
PiBMYXllclRyZWVIb3N0OjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNw
bGF5SUQgZGlzcGxheUlEKQogewogICAgIHJldHVybiBtX2NvbXBvc2l0b3ItPmRpc3BsYXlSZWZy
ZXNoTW9uaXRvcihkaXNwbGF5SUQpOwogfQotI2VuZGlmCiAKIHZvaWQgTGF5ZXJUcmVlSG9zdDo6
ZGlkRmx1c2hSb290TGF5ZXIoY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3QpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDViYzM2OTQ3ZDY3
Mi4uNGE1ZTIxYTJlMzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3Qu
aApAQCAtOTEsOSArOTEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxl
RmFjdG9yQ2hhbmdlZCgpOwogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKICAgICBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBj
cmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpOwot
I2VuZGlmCiAKICAgICBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25z
dCB7IHJldHVybiBtX2Rpc3BsYXlJRDsgfQogCkBAIC0yMjEsOSArMjE5LDcgQEAgaW5saW5lIHZv
aWQgTGF5ZXJUcmVlSG9zdDo6Y29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRT
aXplJikgeyB9CiBpbmxpbmUgdm9pZCBMYXllclRyZWVIb3N0OjpkaWRDaGFuZ2VWaWV3cG9ydEF0
dHJpYnV0ZXMoV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJiYpIHsgfQogaW5saW5lIHZvaWQg
TGF5ZXJUcmVlSG9zdDo6c2V0SXNEaXNjYXJkYWJsZShib29sKSB7IH0KIGlubGluZSB2b2lkIExh
eWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpIHsgfQotI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBpbmxpbmUgUmVmUHRy
PFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlRGlz
cGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSB7IHJldHVybiBu
dWxscHRyOyB9CiAjZW5kaWYKLSNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAppbmRleCA1
MzU4Y2Q2ODYzYjMuLjk3NDI5ZTk3NjlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIERyYXdp
bmdBcmVhOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oV1RGOjpG
dW5jdGlvbjx2b2lkCiAgICAgZnVuY3Rpb24oKTsKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmICEoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUo
V0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpKQorI2lmICEoUExBVEZPUk0oTUFDKSAm
JiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpKQogUmVmUHRyPFdlYkNv
cmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gRHJhd2luZ0FyZWE6OmNyZWF0ZURpc3BsYXlSZWZy
ZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCkKIHsKICAgICByZXR1cm4gbnVsbHB0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDEx
NzVhNzc2MjM1Ny4uY2U3NzU4ZDBiOTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTExNiw5ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzY2hlZHVsZUltbWVkaWF0ZVJlbmRlcmluZ1VwZGF0ZSgpID0gMDsKIAotI2lmIFVTRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgdmlydHVhbCBSZWZQ
dHI8V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1v
bml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpOwotI2VuZGlmCiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nVXBkYXRlZFNjcm9sbFBvc2l0aW9uKFdURjo6RnVu
Y3Rpb248dm9pZCAoKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1v
bml0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCBiOTdmMWY0ZTg3
OGQuLjc2ZGJjYmUwNTE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IuaApAQCAtMjUsOCArMjUsNiBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IpCi0KICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uRnJhbWVSYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9EaXNwbGF5UmVmcmVzaE1vbml0b3IuaD4KQEAgLTU1LDUgKzUzLDMgQEAgcHJpdmF0ZToKIH07
CiAKIH0KLQotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
VHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbQppbmRleCA2YjI5NWJkZTQ2NzkuLjU2ZjJiZDNh
ZTY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikK
LQogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNzks
NSArNzcsMyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcjo6dXBk
YXRlRHJhd2luZ0FyZWEoUmVtb3RlTGF5ZXJUcmVlRHJhdwogfQogCiB9Ci0KLSNlbmRpZiAvLyBV
U0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EcmF3aW5nQXJlYU1hYy5jcHAK
aW5kZXggMDZmY2M0NzE1OTNlLi5lNDNlYTNkOTNlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9EcmF3aW5nQXJlYU1hYy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcApAQCAtMzYs
NyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIEVO
QUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyNpZiBFTkFCTEUoV0VCUFJP
Q0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAKIGNsYXNzIERpc3BsYXlSZWZyZXNoTW9uaXRv
ck1hYyA6IHB1YmxpYyBEaXNwbGF5UmVmcmVzaE1vbml0b3IgewogcHVibGljOgpAQCAtMTA5LDYg
KzEwOSw2IEBAIFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IERyYXdpbmdB
cmVhOjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoCiB7CiAgICAgcmV0dXJuIERpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYzo6Y3JlYXRlKGRpc3BsYXlJRCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398764</attachid>
            <date>2020-05-07 11:02:59 -0700</date>
            <delta_ts>2020-05-07 13:57:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211582.diff</filename>
            <type>text/plain</type>
            <size>38792</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODUzMjVhYzRmNzgwLi44NWVlOGFlODFkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjAtMDUtMDcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAg
ICBSZW1vdmUgdW51c2VkIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklU
T1IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1
ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZnRl
ciByMjYxMjY0IGFsbCBwb3J0cyBpbXBsZW1lbnRlZCBVU0VfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVfRElTUExBWV9NT05JVE9SLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIw
MjAtMDUtMDYgIFlvc2hpYWtpIEppdHN1a2F3YSAgPHlvc2hpYWtpLmppdHN1a2F3YUBzb255LmNv
bT4gYW5kIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW1dpbl0gSW1wbGVtZW50IERpc3BsYXlSZWZyZXNoTW9uaXRvciBieSB1c2luZyBSdW5Mb29w
OjpUaW1lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggYjZlMTgyMmU1OTQ3Li5iOTRlMTQ2M2I3ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1Vc2UuaApAQCAtMTg3LDggKzE4Nyw2IEBACiAjZGVmaW5lIFVTRV9BVl9T
QU1QTEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIgMQogI2VuZGlmCiAKLSNkZWZpbmUgVVNFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0KICNpZiAhZGVmaW5lZChVU0Vf
WkxJQikKICNkZWZpbmUgVVNFX1pMSUIgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFhNDk3ZTg0
MmNjLi4yOWRiYmE3ZmU2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMC0wNS0w
NyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92
ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTU4MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHIyNjEy
NjQgYWxsIHBvcnRzIGltcGxlbWVudGVkIFVTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IuCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IgY29uc3Qp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp3aW5k
b3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6UmVu
ZGVyaW5nVXBkYXRlU2NoZWR1bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlcjo6YWRqdXN0UmVuZGVyaW5nVXBkYXRlRnJlcXVlbmN5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6c2NoZWR1bGVUaW1lZFJlbmRlcmluZ1Vw
ZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OndpbmRv
d1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVs
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVu
dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9y
Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXJVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJVcGRhdGVy
OjpHcmFwaGljc0xheWVyVXBkYXRlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
VXBkYXRlcjo6c2NoZWR1bGVVcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
clVwZGF0ZXI6OnNjcmVlbkRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyVXBkYXRlcjo6ZGlzcGxheVJlZnJlc2hGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyVXBkYXRlcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9y
SU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvcklPUy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFjLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxh
eVJlZnJlc2hNb25pdG9yTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNy
ZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDIwLTA1LTA3ICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYXNzZXJ0aW9ucyBzZWVuIHdoZW4gdHJ5aW5nIHRv
IGRyYXcgYW4gYWJzdXJkbHkgbGFyZ2Ugc2hhZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAppbmRleCAzNDNkYTJjMTIzODUuLjFmNjk0ZDE1OGFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCkBAIC0zMDUsOSArMzA1LDcgQEAgcHVibGljOgogICAgIC8vIEFsbG93cyBwb3J0
cyB0byBjdXN0b21pemUgdGhlIHR5cGUgb2YgZ3JhcGhpY3MgbGF5ZXJzIGNyZWF0ZWQgYnkgdGhp
cyBwYWdlLgogICAgIHZpcnR1YWwgR3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJG
YWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICB2aXJ0dWFsIFJlZlB0cjxEaXNwbGF5
UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3Bs
YXlJRCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQotI2VuZGlmCiAKICAgICB2aXJ0dWFsIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRT
aXplJiwgU2hvdWxkQWNjZWxlcmF0ZSwgU2hvdWxkVXNlRGlzcGxheUxpc3QsIFJlbmRlcmluZ1B1
cnBvc2UsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAgICAg
dmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIGZsb2F0LCBDb2xvclNwYWNlKSBjb25zdCB7
IHJldHVybiBudWxscHRyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBmNWM0ZDA5ZWE3ZmIuLmJi
NmUwM2M3ZGEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMTE5LDkgKzExMTksNyBAQCB2b2lk
IFBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQp
CiAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+d2luZG93U2NyZWVuRGlkQ2hhbmdlKGRp
c3BsYXlJRCk7CiAgICAgfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKICAgICByZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIoKS53aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoZGlzcGxheUlEKTsKLSNlbmRpZgogCiAgICAgc2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmlu
Z1VwZGF0ZVNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlci5jcHAKaW5kZXggNzQ2MzJmMGQ2ZjlkLi5mYTdjYzc3MzQ0ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5jcHAKQEAgLTM3
LDEzICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxl
cjo6UmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyKFBhZ2UmIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFn
ZSkKIHsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQog
ICAgIHdpbmRvd1NjcmVlbkRpZENoYW5nZShwYWdlLmNocm9tZSgpLmRpc3BsYXlJRCgpKTsKLSNl
bmRpZgogfQogCi0KLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05J
VE9SKQogdm9pZCBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OnNldFByZWZlcnJlZEZyYW1lc1Bl
clNlY29uZChGcmFtZXNQZXJTZWNvbmQgcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKQogewogICAg
IGlmIChtX3ByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9PSBwcmVmZXJyZWRGcmFtZXNQZXJTZWNv
bmQpCkBAIC02NCwxNyArNjAsMTUgQEAgYm9vbCBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OnNj
aGVkdWxlQW5pbWF0aW9uKEZyYW1lc1BlclNlY29uZCBwcmVmZXJyZWRGcmFtZXMKICAgICBzZXRQ
cmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQocHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKTsKICAgICBy
ZXR1cm4gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnNjaGVk
dWxlQW5pbWF0aW9uKCp0aGlzKTsKIH0KLSNlbmRpZgogCiB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNj
aGVkdWxlcjo6YWRqdXN0UmVuZGVyaW5nVXBkYXRlRnJlcXVlbmN5KCkKIHsKLSNpZiBVU0UoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIFNlY29uZHMgaW50ZXJ2
YWwgPSBtX3BhZ2UucHJlZmVycmVkUmVuZGVyaW5nVXBkYXRlSW50ZXJ2YWwoKTsKIAogICAgIC8v
IFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCBpcyBhbiBpbnRlZ2VyIGFuZCBzaG91bGQgYmUgPiAw
LgogICAgIGlmIChpbnRlcnZhbCA8PSAxX3MpCiAgICAgICAgIHNldFByZWZlcnJlZEZyYW1lc1Bl
clNlY29uZChwcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoaW50ZXJ2YWwpKTsKLSNlbmRpZgorCiAg
ICAgaWYgKGlzU2NoZWR1bGVkKCkpIHsKICAgICAgICAgY2xlYXJTY2hlZHVsZWQoKTsKICAgICAg
ICAgc2NoZWR1bGVUaW1lZFJlbmRlcmluZ1VwZGF0ZSgpOwpAQCAtOTYsMTEgKzkwLDkgQEAgdm9p
ZCBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OnNjaGVkdWxlVGltZWRSZW5kZXJpbmdVcGRhdGUo
KQogCiAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IG1fcGFnZS5wcmVmZXJyZWRSZW5kZXJpbmdVcGRh
dGVJbnRlcnZhbCgpOwogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlf
TU9OSVRPUikKICAgICAvLyBQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgaXMgYW4gaW50ZWdlciBh
bmQgc2hvdWxkIGJlID4gMC4KICAgICBpZiAoaW50ZXJ2YWwgPD0gMV9zKQogICAgICAgICBtX3Nj
aGVkdWxlZCA9IHNjaGVkdWxlQW5pbWF0aW9uKHByZWZlcnJlZEZyYW1lc1BlclNlY29uZChpbnRl
cnZhbCkpOwotI2VuZGlmCiAKICAgICBpZiAoIWlzU2NoZWR1bGVkKCkpCiAgICAgICAgIHN0YXJ0
VGltZXIoaW50ZXJ2YWwpOwpAQCAtMTI2LDcgKzExOCw2IEBAIHZvaWQgUmVuZGVyaW5nVXBkYXRl
U2NoZWR1bGVyOjpjbGVhclNjaGVkdWxlZCgpCiAgICAgbV9yZWZyZXNoVGltZXIgPSBudWxscHRy
OwogfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikK
IFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+IFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6
Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkg
Y29uc3QKIHsKICAgICBpZiAoYXV0byBtb25pdG9yID0gbV9wYWdlLmNocm9tZSgpLmNsaWVudCgp
LmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihkaXNwbGF5SUQpKQpAQCAtMTM5LDcgKzEzMCw2
IEBAIHZvaWQgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2Uo
UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlECiB7CiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQs
ICp0aGlzKTsKIH0KLSNlbmRpZgogCiB2b2lkIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcjo6ZGlz
cGxheVJlZnJlc2hGaXJlZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jl
bmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdV
cGRhdGVTY2hlZHVsZXIuaAppbmRleCAxMmQ2MTE4ODJiYmIuLmUwZTAxN2ViYzJmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5oCkBAIC0zNCwx
MCArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgVGltZXI7
CiAKLWNsYXNzIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcgotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCi0gICAgOiBwdWJsaWMgRGlzcGxheVJlZnJlc2hN
b25pdG9yQ2xpZW50Ci0jZW5kaWYKK2NsYXNzIFJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlciA6IHB1
YmxpYyBEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKQEAgLTUzLDE5ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
Y2hlZHVsZUltbWVkaWF0ZVJlbmRlcmluZ1VwZGF0ZSgpOwogICAgIHZvaWQgc2NoZWR1bGVSZW5k
ZXJpbmdVcGRhdGUoKTsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZ
X01PTklUT1IpCiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5
SUQpOwotI2VuZGlmCiAKIHByaXZhdGU6Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
X0RJU1BMQVlfTU9OSVRPUikKICAgICB2b2lkIHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChG
cmFtZXNQZXJTZWNvbmQpOwogICAgIGJvb2wgc2NoZWR1bGVBbmltYXRpb24oRnJhbWVzUGVyU2Vj
b25kKTsKICAgICBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVm
cmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgZGlz
cGxheVJlZnJlc2hGaXJlZCgpIGZpbmFsOwotI2Vsc2UKLSAgICB2b2lkIGRpc3BsYXlSZWZyZXNo
RmlyZWQoKTsKLSNlbmRpZgogCiAgICAgYm9vbCBpc1NjaGVkdWxlZCgpIGNvbnN0OwogICAgIHZv
aWQgc3RhcnRUaW1lcihTZWNvbmRzKTsKQEAgLTc0LDkgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBQ
YWdlJiBtX3BhZ2U7CiAgICAgYm9vbCBtX3NjaGVkdWxlZCB7IGZhbHNlIH07CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFRpbWVyPiBtX3JlZnJlc2hUaW1lcjsKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAgIEZyYW1lc1BlclNlY29uZCBtX3ByZWZlcnJl
ZEZyYW1lc1BlclNlY29uZCB7IEZ1bGxTcGVlZEZyYW1lc1BlclNlY29uZCB9OwotI2VuZGlmCiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcAppbmRleCAzYzE0NTE5YWU4NGMuLmQyNDQwYjQ2OWY1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAKLSNpZiBVU0UoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiRGlzcGxh
eVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFuYWdlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTEzNSw1ICsxMzMsMyBAQCB2b2lk
IERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlzcGxheURpZFJlZnJlc2goKQogfQogCiB9Ci0KLSNl
bmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hN
b25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVz
aE1vbml0b3IuaAppbmRleCAzZWU3YjUxZjg0NzcuLmUwZGM0YTI0ZGZjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yLmgKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiQW5pbWF0aW9u
RnJhbWVSYXRlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgpAQCAtMTAzLDYgKzEwMSwzIEBAIHByaXZhdGU6CiB9OwogCiB9Ci0KLSNlbmRp
ZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxh
eVJlZnJlc2hNb25pdG9yQ2xpZW50LmNwcAppbmRleCBiMDhhM2E4OTgwMmIuLjYyMjViMmQ5MmVm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50
LmgiCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQot
CiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAjaW5jbHVkZSAiRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlci5oIgogCkBAIC01Miw1ICs1MCwzIEBAIHZvaWQgRGlzcGxheVJl
ZnJlc2hNb25pdG9yQ2xpZW50OjpmaXJlRGlzcGxheVJlZnJlc2hJZk5lZWRlZCgpCiB9CiAKIH0K
LQotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVm
cmVzaE1vbml0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rp
c3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5oCmluZGV4IGM2NjlkY2I0YzBmMC4uYmVlN2Q4MTYy
YWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaApAQCAtMjUsOCArMjUsNiBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCi0KICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CkBAIC02MCw1ICs1OCwzIEBAIHByaXZh
dGU6CiB9OwogCiB9Ci0KLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElT
UExBWV9NT05JVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmNwcAppbmRleCA4ZmNj
MTc2NjhhMzAuLmNlMDYyOWM5Y2NhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5j
cHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgiCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9y
LmgiCiAjaW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgpAQCAtMTM4LDUgKzEzNiwzIEBAIERpc3BsYXlSZWZyZXNoTW9uaXRvciogRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bW9uaXRvckZvckRpc3BsYXlJRChQbGF0Zm9yCiB9
CiAKIH0KLQotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgKaW5kZXggYmQxZDg2YjVjYWVlLi4w
YWUwZmEwOWZiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmgKQEAgLTI1LDggKzI1
LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVf
RElTUExBWV9NT05JVE9SKQotCiAjaW5jbHVkZSAiQW5pbWF0aW9uRnJhbWVSYXRlLmgiCiAjaW5j
bHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4u
aCIKQEAgLTc1LDUgKzczLDMgQEAgcHJpdmF0ZToKIH07CiAKIH0KLQotI2VuZGlmIC8vIFVTRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAK
aW5kZXggOWJjZDIzZmZkODQ2Li43NDkxNWY3Mzk1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyVXBkYXRlci5jcHAKQEAg
LTMxLDE4ICszMSwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogR3JhcGhpY3NMYXllclVwZGF0ZXI6
OkdyYXBoaWNzTGF5ZXJVcGRhdGVyKEdyYXBoaWNzTGF5ZXJVcGRhdGVyQ2xpZW50JiBjbGllbnQs
IFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKIHsK
ICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkud2luZG93
U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCwgKnRoaXMpOwogICAgIERpc3BsYXlSZWZyZXNoTW9u
aXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5zY2hlZHVsZUFuaW1hdGlvbigqdGhpcyk7CiB9
Ci0jZWxzZQotR3JhcGhpY3NMYXllclVwZGF0ZXI6OkdyYXBoaWNzTGF5ZXJVcGRhdGVyKEdyYXBo
aWNzTGF5ZXJVcGRhdGVyQ2xpZW50JiwgUGxhdGZvcm1EaXNwbGF5SUQpCi17Ci19Ci0jZW5kaWYK
IAogR3JhcGhpY3NMYXllclVwZGF0ZXI6On5HcmFwaGljc0xheWVyVXBkYXRlcigpCiB7CkBAIC01
NCwzNCArNDgsMjQgQEAgdm9pZCBHcmFwaGljc0xheWVyVXBkYXRlcjo6c2NoZWR1bGVVcGRhdGUo
KQogICAgIGlmIChtX3NjaGVkdWxlZCkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc2NoZWR1bGVBbmltYXRpb24oKnRoaXMpOwot
I2VuZGlmCiAgICAgbV9zY2hlZHVsZWQgPSB0cnVlOwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyOjpzY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogewot
I2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLndpbmRvd1NjcmVlbkRp
ZENoYW5nZShkaXNwbGF5SUQsICp0aGlzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRpc3Bs
YXlJRCk7Ci0jZW5kaWYKIH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQ
TEFZX01PTklUT1IpCiB2b2lkIEdyYXBoaWNzTGF5ZXJVcGRhdGVyOjpkaXNwbGF5UmVmcmVzaEZp
cmVkKCkKIHsKICAgICBtX3NjaGVkdWxlZCA9IGZhbHNlOwogICAgIG1fY2xpZW50LmZsdXNoTGF5
ZXJzU29vbigqdGhpcyk7CiB9Ci0jZW5kaWYKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRV9ESVNQTEFZX01PTklUT1IpCiBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBHcmFw
aGljc0xheWVyVXBkYXRlcjo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9jbGllbnQuY3JlYXRlRGlz
cGxheVJlZnJlc2hNb25pdG9yKGRpc3BsYXlJRCk7CiB9Ci0jZW5kaWYKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllclVwZGF0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXJVcGRhdGVyLmgKaW5kZXggOWI3MGFjOWVhMDFmLi44NWE4OTllMTFhMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXJVcGRhdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllclVwZGF0ZXIuaApAQCAtMzYsMTUgKzM2LDEwIEBAIGNsYXNzIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5HcmFwaGljc0xheWVyVXBkYXRl
ckNsaWVudCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hMYXllcnNTb29uKEdy
YXBoaWNzTGF5ZXJVcGRhdGVyJikgPSAwOwotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCiAgICAgdmlydHVhbCBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25p
dG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoUGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0
ID0gMDsKLSNlbmRpZgogfTsKIAotY2xhc3MgR3JhcGhpY3NMYXllclVwZGF0ZXIKLSNpZiBVU0Uo
UkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotICAgIDogcHVibGljIERp
c3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudAotI2VuZGlmCitjbGFzcyBHcmFwaGljc0xheWVyVXBk
YXRlciA6IHB1YmxpYyBEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQKIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTU0LDE1ICs0OSwxMSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzY2hlZHVsZVVwZGF0ZSgpOwogICAgIHZvaWQgc2NyZWVuRGlkQ2hhbmdlKFBsYXRm
b3JtRGlzcGxheUlEKTsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZ
X01PTklUT1IpCiAgICAgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxh
eVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCBvdmVycmlkZTsKLSNlbmRp
ZgogCiBwcml2YXRlOgotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01P
TklUT1IpCiAgICAgdm9pZCBkaXNwbGF5UmVmcmVzaEZpcmVkKCkgb3ZlcnJpZGU7CiAgICAgR3Jh
cGhpY3NMYXllclVwZGF0ZXJDbGllbnQmIG1fY2xpZW50OwotI2VuZGlmCiAgICAgYm9vbCBtX3Nj
aGVkdWxlZCB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuY3Bw
CmluZGV4IGZiNGI1NGY3NDQyNy4uMmI3ZTBkODY3NzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hN
b25pdG9yR3RrLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvckd0ay5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgIVVTRShHVEs0KQorI2lmICFVU0UoR1RL
NCkKIAogI2luY2x1ZGUgPGd0ay9ndGsuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAt
OTQsNCArOTQsNCBAQCB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvckd0azo6ZGlzcGxheUxpbmtG
aXJlZCgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmICFVU0UoR1RLNCkKKyNlbmRpZiAv
LyAhVVNFKEdUSzQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmgKaW5kZXggZTJhMGU0YzUw
ZTMxLi41M2NhYjdmMWM1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2d0ay9EaXNwbGF5UmVmcmVzaE1vbml0b3JHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvRGlzcGxheVJlZnJlc2hNb25pdG9yR3RrLmgKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUVfRElTUExBWV9NT05JVE9SKSAmJiAhVVNFKEdUSzQpCisjaWYgIVVTRShHVEs0KQogCiAj
aW5jbHVkZSAiRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAKQEAgLTUzLDQgKzUzLDQgQEAgcHJp
dmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgIVVTRShHVEs0KQorI2VuZGlmIC8v
ICFVU0UoR1RLNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaAppbmRleCA3MTYzMzIzOWIz
NmUuLmY5OWQ2NGU2YzBiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaApAQCAtMjUs
NyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTUzLDQgKzUzLDQgQEAgcHJpdmF0ZToKIAogfQog
Ci0jZW5kaWYgLy8gVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikg
JiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0KaW5kZXggMThlODA5ZDJjYTJiLi5jYmNjOGYx
MGRhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbQpAQCAtMjYsNyArMjYsNyBA
QAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1Mu
aCIKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2ltcG9y
dCAiV2ViQ29yZVRocmVhZC5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQURpc3BsYXlMaW5rLmg+
CkBAIC0xMjMsNCArMTIzLDQgQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3Bs
YXlMaW5rRmlyZWQoKQogCiB9CiAKLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUVfRElTUExBWV9NT05JVE9SKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorI2VuZGlmIC8vIFBM
QVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCmluZGV4
IDRkY2U4YjRiYTgyNy4uOTJiNjA0NDNlYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9y
TWFjLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIgogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1B
QykKIAogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2luY2x1ZGUgPHd0Zi9S
dW5Mb29wLmg+CkBAIC0xMDMsNCArMTAzLDQgQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JN
YWM6OmRpc3BsYXlMaW5rRmlyZWQoKQogCiB9CiAKLSNlbmRpZiAvLyBVU0UoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKSAmJiBQTEFURk9STShNQUMpCisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCmluZGV4IGQ0NTg3ZmQ0
NTU1Ni4uN2Q2MTBjZDM3NTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1B
QykKIAogI2luY2x1ZGUgIkRpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CkBAIC01NSw0ICs1NSw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpICYmIFBMQVRGT1JNKE1B
QykKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDZlMzVjNGRlMWQ3MC4uNDIyNmY1
MGEwNWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcApAQCAtNDgyNiw3ICs0ODI2LDYgQEAgR3JhcGhpY3NMYXllckZhY3Rvcnkq
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogICAg
IHJldHVybiBwYWdlKCkuY2hyb21lKCkuY2xpZW50KCkuZ3JhcGhpY3NMYXllckZhY3RvcnkoKTsK
IH0KIAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBS
ZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNyZWF0
ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpIGNvbnN0
CiB7CiAgICAgaWYgKGF1dG8gbW9uaXRvciA9IHBhZ2UoKS5jaHJvbWUoKS5jbGllbnQoKS5jcmVh
dGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoZGlzcGxheUlEKSkKQEAgLTQ4MzQsNyArNDgzMyw2IEBA
IFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y3Jl
YXRlRGlzcGxheVJlZnJlc2hNb25pdG9yCiAKICAgICByZXR1cm4gRGlzcGxheVJlZnJlc2hNb25p
dG9yOjpjcmVhdGVEZWZhdWx0RGlzcGxheVJlZnJlc2hNb25pdG9yKGRpc3BsYXlJRCk7CiB9Ci0j
ZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiB2b2lkIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6dXBkYXRlU2Nyb2xsU25hcFByb3BlcnRpZXNXaXRoRnJhbWVWaWV3KGNvbnN0IEZy
YW1lVmlldyYgZnJhbWVWaWV3KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDdiMmJiYjVmZDFjOS4uNDJkZTNiZTBkYjkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oCkBAIC00NzcsOSArNDc3LDcgQEAgcHJpdmF0ZToKICAgICBHcmFwaGljc0xheWVyRmFjdG9y
eSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdDsKICAgICBTY3JvbGxpbmdDb29yZGluYXRv
ciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSBjb25zdDsKIAotI2lmIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9u
aXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKSBjb25z
dCBvdmVycmlkZTsKLSNlbmRpZgogCiAgICAgLy8gTm9uIGxheW91dC1kZXBlbmRlbnQKICAgICBi
b29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24oUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYmU4NDJkYTNiNWIuLmQwNDE2ZWU2ZjBjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNyBAQAorMjAyMC0wNS0wNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0
ZWFkQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgVVNFKFJFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMTU4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFmdGVyIHIyNjEyNjQgYWxsIHBvcnRzIGltcGxlbWVudGVkIFVT
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IuCisKKyAgICAgICAgKiBT
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21w
b3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWRDb21wb3NpdG9yOjpUaHJlYWRl
ZENvbXBvc2l0b3IpOgorICAgICAgICAoV2ViS2l0OjptX2Rpc3BsYXlSZWZyZXNoTW9uaXRvcik6
CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6aW52YWxpZGF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6c2NlbmVVcGRhdGVGaW5pc2hlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6ZGlzcGxheVJlZnJlc2hNb25pdG9y
KToKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvVGhyZWFkZWRDb21wb3NpdG9yLmg6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmNw
cDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yIGNvbnN0KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29v
cmRpbmF0ZWRHcmFwaGljcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhQ29vcmRp
bmF0ZWRHcmFwaGljczo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5h
dGVkR3JhcGhpY3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvRHJhd2luZ0FyZWFNYWMuY3BwOgorCiAyMDIwLTA1LTA3ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5
OjpzZW5kV2l0aEFzeW5jUmVwbHkoKSBzaG91bGQgcHJldmVudCBhdXhpbGlhcnkgcHJvY2VzcyBz
dXNwZW5zaW9uIHdoaWxlIHByb2Nlc3NpbmcgdGhlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFk
ZWRDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKaW5kZXggYjhjNzMw
M2U3NTljLi5iN2NiMTJhMWY4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcApAQCAtNTQsOSArNTQsNyBAQCBUaHJl
YWRlZENvbXBvc2l0b3I6OlRocmVhZGVkQ29tcG9zaXRvcihDbGllbnQmIGNsaWVudCwgVGhyZWFk
ZWREaXNwbGF5UmVmcmVzaE1vbgogICAgIDogbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9wYWlu
dEZsYWdzKHBhaW50RmxhZ3MpCiAgICAgLCBtX2NvbXBvc2l0aW5nUnVuTG9vcChtYWtlVW5pcXVl
PENvbXBvc2l0aW5nUnVuTG9vcD4oW3RoaXNdIHsgcmVuZGVyTGF5ZXJUcmVlKCk7IH0pKQotI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgLCBtX2Rp
c3BsYXlSZWZyZXNoTW9uaXRvcihUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6Y3JlYXRl
KGRpc3BsYXlJRCwgZGlzcGxheVJlZnJlc2hNb25pdG9yQ2xpZW50KSkKLSNlbmRpZgogewogICAg
IHsKICAgICAgICAgLy8gTG9ja2luZyBpc24ndCByZWFsbHkgbmVjZXNzYXJ5IGhlcmUsIGJ1dCBp
dCdzIGRvbmUgZm9yIGNvbnNpc3RlbmN5LgpAQCAtOTUsOSArOTMsNyBAQCB2b2lkIFRocmVhZGVk
Q29tcG9zaXRvcjo6aW52YWxpZGF0ZSgpCiB7CiAgICAgbV9zY2VuZS0+ZGV0YWNoKCk7CiAgICAg
bV9jb21wb3NpdGluZ1J1bkxvb3AtPnN0b3BVcGRhdGVzKCk7Ci0jaWYgVVNFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRv
ci0+aW52YWxpZGF0ZSgpOwotI2VuZGlmCiAgICAgbV9jb21wb3NpdGluZ1J1bkxvb3AtPnBlcmZv
cm1UYXNrU3luYyhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSB7CiAgICAg
ICAgIGlmICghbV9jb250ZXh0IHx8ICFtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpKQog
ICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjQyLDIwICsyMzgsMTQgQEAgdm9pZCBUaHJlYWRlZENv
bXBvc2l0b3I6OnNjZW5lVXBkYXRlRmluaXNoZWQoKQogICAgIHsKICAgICAgICAgTG9ja0hvbGRl
ciBsb2NrZXIobV9hdHRyaWJ1dGVzLmxvY2spOwogICAgICAgICBzaG91bGREaXNwYXRjaERpc3Bs
YXlSZWZyZXNoQ2FsbGJhY2sgPSBtX2F0dHJpYnV0ZXMuY2xpZW50UmVuZGVyc05leHRGcmFtZQot
I2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAgICAg
ICAgICB8fCBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRvci0+cmVxdWlyZXNEaXNwbGF5UmVmcmVzaENh
bGxiYWNrKCk7Ci0jZWxzZQotICAgICAgICAgICAgOwotI2VuZGlmCiAgICAgfQogCiAgICAgTG9j
a0hvbGRlciBzdGF0ZUxvY2tlcihtX2NvbXBvc2l0aW5nUnVuTG9vcC0+c3RhdGVMb2NrKCkpOwog
Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICAv
LyBTY2hlZHVsZSB0aGUgRGlzcGxheVJlZnJlc2hNb25pdG9yIGNhbGxiYWNrLCBpZiBuZWNlc3Nh
cnkuCiAgICAgaWYgKHNob3VsZERpc3BhdGNoRGlzcGxheVJlZnJlc2hDYWxsYmFjaykKICAgICAg
ICAgbV9kaXNwbGF5UmVmcmVzaE1vbml0b3ItPmRpc3BhdGNoRGlzcGxheVJlZnJlc2hDYWxsYmFj
aygpOwotI2VuZGlmCiAKICAgICAvLyBNYXJrIHRoZSBzY2VuZSB1cGRhdGUgYXMgY29tcGxldGVk
LgogICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT51cGRhdGVDb21wbGV0ZWQoc3RhdGVMb2NrZXIp
OwpAQCAtMjczLDEyICsyNjMsMTAgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnVwZGF0ZVNj
ZW5lKCkKICAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+c2NoZWR1bGVVcGRhdGUoKTsKIH0KIAot
I2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBSZWZQdHI8
V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBUaHJlYWRlZENvbXBvc2l0b3I6OmRpc3Bs
YXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCkKIHsKICAgICByZXR1cm4gbV9kaXNw
bGF5UmVmcmVzaE1vbml0b3IuY29weVJlZigpOwogfQotI2VuZGlmCiAKIHZvaWQgVGhyZWFkZWRD
b21wb3NpdG9yOjpmcmFtZUNvbXBsZXRlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJl
YWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmgKaW5kZXggZmNkMmU0ODg4OTk5Li5l
ZDZkY2I5MGQ4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9y
L1RocmVhZGVkQ29tcG9zaXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb21w
b3NpdGluZ1J1bkxvb3AuaCIKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCIK
KyNpbmNsdWRlICJUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HTENv
bnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUuaD4KQEAgLTM4LDEwICszOSw2IEBA
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQotI2luY2x1ZGUgIlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCi0jZW5k
aWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZTsKQEAgLTc1LDkgKzcyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBmb3JjZVJlcGFpbnQoKTsK
IAotI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiAgICAg
UmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gZGlzcGxheVJlZnJlc2hNb25p
dG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKTsKLSNlbmRpZgogCiAgICAgdm9pZCBmcmFt
ZUNvbXBsZXRlKCk7CiAKQEAgLTExNiw5ICsxMTEsNyBAQCBwcml2YXRlOgogICAgICAgICBib29s
IGNsaWVudFJlbmRlcnNOZXh0RnJhbWUgeyBmYWxzZSB9OwogICAgIH0gbV9hdHRyaWJ1dGVzOwog
Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBS
ZWY8VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I+IG1fZGlzcGxheVJlZnJlc2hNb25pdG9y
OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1Ro
cmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJl
c2hNb25pdG9yLmNwcAppbmRleCBlNTZmMjJiMzMzZjguLjIwMzdhZmFiYjAwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBv
c2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVk
RGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAKLSNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpICYmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5j
bHVkZSAiQ29tcG9zaXRpbmdSdW5Mb29wLmgiCiAjaW5jbHVkZSAiVGhyZWFkZWRDb21wb3NpdG9y
LmgiCkBAIC0xMjQsNCArMTI0LDQgQEAgdm9pZCBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRv
cjo6ZGlzcGxheVJlZnJlc2hDYWxsYmFjaygpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0j
ZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfRElTUExBWV9NT05JVE9SKQorI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oCmluZGV4IDg5MTRhZTdiYWJmMy4uYTU5
ZThlYTAwZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRj
b21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTI3LDcgKzI3LDcg
QEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheVJlZnJlc2hNb25pdG9yLmg+CiAKLSNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpICYmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9E
SVNQTEFZX01PTklUT1IpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogI2luY2x1ZGUg
PHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjQsNCArNjQsNCBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykgJiYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9O
SVRPUikKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCmluZGV4IDU2YWExMzZhYzRhMy4uMTMyNDIyOWJmNmRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtODkwLDE0ICs4OTAsMTIgQEAgR3JhcGhpY3NMYXllckZhY3RvcnkqIFdlYkNo
cm9tZUNsaWVudDo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKSBjb25zdAogICAgIHJldHVybiBudWxs
cHRyOwogfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRP
UikKIFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRl
RGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkgY29uc3QK
IHsKICAgICBpZiAoYXV0byogZHJhd2luZ0FyZWEgPSBtX3BhZ2UuZHJhd2luZ0FyZWEoKSkKICAg
ICAgICAgcmV0dXJuIGRyYXdpbmdBcmVhLT5jcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IoZGlz
cGxheUlEKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KLSNlbmRpZgogCiAjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmFkZWQxMzMwODg4Li45MmNlZGU2
N2JiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTIzMCw5ICsyMzAsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgQVhGaW5pc2hGcmFtZUxvYWQoKSBmaW5hbCB7IH0KICNlbmRpZgogCi0jaWYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBSZWZQdHI8V2Vi
Q29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3Io
V2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IGZpbmFsOwotI2VuZGlmCiAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCiAgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYgZW5zdXJlUmVt
b3RlUmVuZGVyaW5nQmFja2VuZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5h
dGVkR3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IGVm
MWM4Y2RiYmFkMi4uMjgxODljODJkYTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRH
cmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0zNzAs
MTQgKzM3MCwxMiBAQCB2b2lkIERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6bGF5ZXJI
b3N0RGlkRmx1c2hMYXllcnMoKQogfQogI2VuZGlmCiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRvcj4g
RHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0
b3IoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogewogICAgIGlmICghbV9sYXllclRyZWVI
b3N0IHx8IG1fd2FudHNUb0V4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSB8fCBleGl0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIHJldHVybiBtX2xheWVyVHJlZUhvc3QtPmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRv
cihkaXNwbGF5SUQpOwogfQotI2VuZGlmCiAKIHZvaWQgRHJhd2luZ0FyZWFDb29yZGluYXRlZEdy
YXBoaWNzOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKE9wdGlvblNldDxBY3Rpdml0eVN0YXRlOjpG
bGFnPiBjaGFuZ2VkLCBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQsIGNvbnN0IFZlY3RvcjxDYWxsYmFj
a0lEPiYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5n
QXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaAppbmRleCA1MDc4ZWM0NmRjNTcuLmU3MGNkNjE0YzVh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVh
Q29vcmRpbmF0ZWRHcmFwaGljcy5oCkBAIC03Niw5ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBsYXllckhvc3REaWRGbHVzaExheWVycygpIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgCi0jaWYg
VVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBSZWZQdHI8
V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0
b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpIG92ZXJyaWRlOwotI2VuZGlmCiAKICAgICB2
b2lkIGFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OkZsYWc+LCBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQsIGNvbnN0IFZlY3RvcjxDYWxsYmFja0lE
PiYgLyogY2FsbGJhY2tJRHMgKi8pIG92ZXJyaWRlOwogICAgIHZvaWQgYXR0YWNoVmlld092ZXJs
YXlHcmFwaGljc0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IDA2ODk4ZmFlMWYxNC4u
MzY4OTNmYmVmOWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5j
cHAKQEAgLTMzOCwxMiArMzM4LDEwIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKCkKICAgICBtX2NvbXBvc2l0b3ItPnNldFNjYWxlRmFjdG9yKG1f
d2ViUGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpICogbV92aWV3cG9ydENvbnRyb2xsZXIucGFnZVNj
YWxlRmFjdG9yKCkpOwogfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikKIFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+IExheWVyVHJlZUhvc3Q6
OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQp
CiB7CiAgICAgcmV0dXJuIG1fY29tcG9zaXRvci0+ZGlzcGxheVJlZnJlc2hNb25pdG9yKGRpc3Bs
YXlJRCk7CiB9Ci0jZW5kaWYKIAogdm9pZCBMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXll
cihjb25zdCBGbG9hdFJlY3QmIHZpc2libGVDb250ZW50UmVjdCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlSG9zdC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVIb3N0LmgKaW5kZXggNWJjMzY5NDdkNjcyLi40YTVlMjFhMmUzNWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCkBAIC05MSw5ICs5MSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7
CiAKLSNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQogICAg
IFJlZlB0cjxXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZy
ZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7Ci0jZW5kaWYKIAogICAgIFdl
YkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlz
cGxheUlEOyB9CiAKQEAgLTIyMSw5ICsyMTksNyBAQCBpbmxpbmUgdm9pZCBMYXllclRyZWVIb3N0
Ojpjb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7IH0KIGlubGlu
ZSB2b2lkIExheWVyVHJlZUhvc3Q6OmRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhXZWJDb3Jl
OjpWaWV3cG9ydEF0dHJpYnV0ZXMmJikgeyB9CiBpbmxpbmUgdm9pZCBMYXllclRyZWVIb3N0Ojpz
ZXRJc0Rpc2NhcmRhYmxlKGJvb2wpIHsgfQogaW5saW5lIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZGV2
aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgeyB9Ci0jaWYgVVNFKFJFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIGlubGluZSBSZWZQdHI8V2ViQ29yZTo6RGlzcGxh
eVJlZnJlc2hNb25pdG9yPiBMYXllclRyZWVIb3N0OjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0
b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpIHsgcmV0dXJuIG51bGxwdHI7IH0KICNlbmRp
ZgotI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IDUzNThjZDY4NjNiMy4uOTc0
MjllOTc2OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgRHJhd2luZ0FyZWE6OmRpc3BhdGNo
QWZ0ZXJFbnN1cmluZ1VwZGF0ZWRTY3JvbGxQb3NpdGlvbihXVEY6OkZ1bmN0aW9uPHZvaWQKICAg
ICBmdW5jdGlvbigpOwogfQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BM
QVlfTU9OSVRPUikgJiYgIShQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRP
V1NFUlZFUl9CTE9DS0lORykpCisjaWYgIShQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9D
RVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykpCiBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJl
c2hNb25pdG9yPiBEcmF3aW5nQXJlYTo6Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRm
b3JtRGlzcGxheUlEKQogewogICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggMTE3NWE3NzYyMzU3Li5jZTc3
NThkMGI5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEuaApAQCAtMTE2LDkgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVSZW5kZXJpbmdVcGRhdGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlSW1t
ZWRpYXRlUmVuZGVyaW5nVXBkYXRlKCkgPSAwOwogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpEaXNw
bGF5UmVmcmVzaE1vbml0b3I+IGNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQ
bGF0Zm9ybURpc3BsYXlJRCk7Ci0jZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEFm
dGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oV1RGOjpGdW5jdGlvbjx2b2lkICgpPiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oCmluZGV4IGI5N2YxZjRlODc4ZC4uNzZkYmNiZTA1MTdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oCkBAIC0yNSw4ICsyNSw2IEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKLQog
I2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9BbmltYXRpb25GcmFtZVJhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvci5oPgpAQCAtNTUsNSArNTMsMyBAQCBwcml2YXRlOgogfTsKIAogfQotCi0jZW5kaWYg
Ly8gVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJl
c2hNb25pdG9yLm1tCmluZGV4IDZiMjk1YmRlNDY3OS4uNTZmMmJkM2FlNjU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVm
cmVzaE1vbml0b3IubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLmgiCiAKLSNpZiBVU0Uo
UkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9SKQotCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC03OSw1ICs3NywzIEBAIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yOjp1cGRhdGVEcmF3aW5nQXJlYShS
ZW1vdGVMYXllclRyZWVEcmF3CiB9CiAKIH0KLQotI2VuZGlmIC8vIFVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvRHJhd2luZ0FyZWFNYWMuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcAppbmRleCAwNmZjYzQ3MTU5
M2UuLmU0M2VhM2Q5M2UwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL0RyYXdpbmdBcmVhTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvRHJhd2luZ0FyZWFNYWMuY3BwCkBAIC0zNiw3ICszNiw3IEBACiBuYW1l
c3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikgJiYgRU5BQkxFKFdFQlBST0NFU1Nf
V0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2lmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZF
Ul9CTE9DS0lORykKIAogY2xhc3MgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjIDogcHVibGljIERp
c3BsYXlSZWZyZXNoTW9uaXRvciB7CiBwdWJsaWM6CkBAIC0xMDksNiArMTA5LDYgQEAgUmVmUHRy
PFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gRHJhd2luZ0FyZWE6OmNyZWF0ZURpc3Bs
YXlSZWZyZXNoTW9uaXRvcigKIHsKICAgICByZXR1cm4gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
OjpjcmVhdGUoZGlzcGxheUlEKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShXRUJQUk9D
RVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>