<?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>58729</bug_id>
          
          <creation_ts>2011-04-16 04:17:38 -0700</creation_ts>
          <short_desc>Rename PLATFORM(CG) to USE(CG)</short_desc>
          <delta_ts>2011-04-17 03:05:13 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>58728</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387250</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-16 04:17:38 -0700</bug_when>
    <thetext>Rename PLATFORM(CG) to USE(CG)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387251</commentid>
    <comment_count>1</comment_count>
      <attachid>89924</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-16 04:20:15 -0700</bug_when>
    <thetext>Created attachment 89924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387334</commentid>
    <comment_count>2</comment_count>
      <attachid>89924</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-17 01:29:40 -0700</bug_when>
    <thetext>Comment on attachment 89924
Patch

Seems right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387341</commentid>
    <comment_count>3</comment_count>
      <attachid>89924</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-17 03:05:10 -0700</bug_when>
    <thetext>Comment on attachment 89924
Patch

Clearing flags on attachment: 89924

Committed r84101: &lt;http://trac.webkit.org/changeset/84101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387342</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-17 03:05:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89924</attachid>
            <date>2011-04-16 04:20:15 -0700</date>
            <delta_ts>2011-04-17 03:05:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58729-20110416132010.patch</filename>
            <type>text/plain</type>
            <size>94923</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcw
NmI3M2ViNzI2Y2FkNzg4OWNkZGEyNDJiM2U3NDBlM2NjZWQ3M2MuLjAyNWQzZDQzNWZkYjFkYmFh
NWUyNGIwMDc1OWU5M2MxM2YzYzQwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDE0IEBACiAyMDExLTA0LTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bmFtZSBQTEFURk9STShDRykgdG8gVVNFKENHKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg3MjkKKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CisyMDExLTA0LTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCiAgICAgICAgIFJlbmFtZSBQTEFURk9S
TShDQUlSTykgdG8gVVNFKENBSVJPKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmlu
ZGV4IGI2YWRhMjJjMjdkOTA2NGE1YjA5NTI3ZWVlZDk5NzczMWU4NzFiNzMuLjg4ZDAyYjRkZjk4
OGQ4NmVhYzY3MWRkYTc5MjEyMTkzY2Q2ZGEwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKQEAgLTUzOSwxOCArNTM5LDE4IEBACiAKIC8qIEdyYXBoaWNzIGVuZ2luZXMgKi8K
IAotLyogUExBVEZPUk0oQ0cpIGFuZCBQTEFURk9STShDSSkgKi8KKy8qIFVTRShDRykgYW5kIFBM
QVRGT1JNKENJKSAqLwogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKQotI2RlZmlu
ZSBXVEZfUExBVEZPUk1fQ0cgMQorI2RlZmluZSBXVEZfVVNFX0NHIDEKICNlbmRpZgotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBQTEFURk9S
TShDRykpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShX
SU4pICYmIFVTRShDRykpCiAjZGVmaW5lIFdURl9QTEFURk9STV9DQSAxCiAjZW5kaWYKIAogLyog
VVNFKFNLSUEpIGZvciBXaW4vTGludXgsIENHIGZvciBNYWMgKi8KICNpZiBQTEFURk9STShDSFJP
TUlVTSkKICNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRyAxCisjZGVmaW5l
IFdURl9VU0VfQ0cgMQogI2RlZmluZSBXVEZfVVNFX0FUU1VJIDEKICNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQogI2RlZmluZSBXVEZfVVNFX0lDQ0pQRUcgMQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU4NjYw
ZTM0ZmIxOTIyNDM2YjgzYWI1MTZhNmQ3YjZiNGY5MjFkODguLmM1NGY4NzMwNmRiMTk4NDIzMjY4
M2M4ZWQwOWI3ZmI4Y2EzOWYwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxMTEgQEAKIDIwMTEt
MDQtMTYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENH
KSB0byBVU0UoQ0cpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODcyOQorCisgICAgICAgICogY29uZmlnLmg6CisgICAgICAgICogaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6dG9E
YXRhVVJMKToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6CisgICAgICAgICog
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U2hhZG93KToKKyAgICAgICAgKFdlYkNv
cmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzU3R5bGU6
OmFwcGx5U3Ryb2tlQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzU3R5bGU6OmFwcGx5
RmlsbENvbG9yKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZEltYWdlOjpjcmVhdGVJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vRmxvYXRDb252ZXJz
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppbml0aWFsaXplU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMpOgorICAgICAgICAo
V2ViQ29yZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EYXNo
QXJyYXkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRTaXplLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBs
YXRmb3JtRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6R2x5cGhCdWZmZXI6OmFkdmFuY2VBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1
ZmZlcjo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpleHBhbmRMYXN0QWR2
YW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRMZWdhY3lTaGFkb3cpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0U3RhdGU6OkdyYXBoaWNzQ29udGV4dFN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyRGF0YS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BhdGguaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9QYXR0ZXJuLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xv
ckNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVjdENHLmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW50UG9pbnRDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENH
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXplQ0cuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL1RyYW5zZm9ybWF0aW9uTWF0cml4Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUGxhdGZvcm1DYW52YXMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DYW52YXM6OnJlc2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybUNhbnZhczo6QXV0b0xvY2tlcjo6QXV0b0xvY2tlcik6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUNhbnZhczo6UGFpbnRlcjo6UGFpbnRlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vUGxhdGZvcm1DYW52YXMuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtSW1hZ2U6OnVwZGF0ZUZyb21JbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVVdGlsaXRpZXMuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9ESUJQaXhlbERhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRD
YWNoZTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUdESUZvbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bldpbmRvdy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnRE
YXRhV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29k
ZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNv
dXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6ZHJhd0NvbnRlbnRJ
bnRvTWFza0ltYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
UGF0dGVybi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46
OmFwcGx5UmVzb3VyY2UpOgorCisyMDExLTA0LTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUB3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCiAgICAg
ICAgIFJlbmFtZSBQTEFURk9STShDQUlSTykgdG8gVVNFKENBSVJPKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY29uZmlnLmggYi9Tb3VyY2UvV2ViQ29yZS9jb25maWcuaAppbmRleCBjYjM4
YmE2YzY0ZjhkNDZmYjhhNzU3ZDMzODMyZTgzOGQ5N2FlZWRmLi5kNjE3NDk3YjMzNGRhNDM5OGU3
YjkzYzY5ZjQyZmIzOTc5NWZhNjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jb25maWcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb25maWcuaApAQCAtMTc3LDE0ICsxNzcsMTQgQEAKIAog
I2lmIFBMQVRGT1JNKFdJTikKICNpZiBkZWZpbmVkKFdJTl9DQUlSTykKLSN1bmRlZiBXVEZfUExB
VEZPUk1fQ0cKKyN1bmRlZiBXVEZfVVNFX0NHCiAjZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQogI2Rl
ZmluZSBXVEZfVVNFX0NVUkwgMQogI2lmbmRlZiBfV0lOU09DS0FQSV8KICNkZWZpbmUgX1dJTlNP
Q0tBUElfIC8vIFByZXZlbnQgaW5jbHVzaW9uIG9mIHdpbnNvY2suaCBpbiB3aW5kb3dzLmgKICNl
bmRpZgogI2VsaWYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0cgMQorI2RlZmlu
ZSBXVEZfVVNFX0NHIDEKICN1bmRlZiBXVEZfVVNFX0NBSVJPCiAjdW5kZWYgV1RGX1VTRV9DVVJM
CiAjZW5kaWYKQEAgLTIyNyw3ICsyMjcsNyBAQAogI2RlZmluZSBXVEZfVVNFX0pTQyAhV1RGX1VT
RV9WOAogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaWZuZGVmIENH
RkxPQVRfREVGSU5FRAogI2lmZGVmIF9fTFA2NF9fCiB0eXBlZGVmIGRvdWJsZSBDR0Zsb2F0OwpA
QCAtMjM2LDE5ICsyMzYsMTkgQEAgdHlwZWRlZiBmbG9hdCBDR0Zsb2F0OwogI2VuZGlmCiAjZGVm
aW5lIENHRkxPQVRfREVGSU5FRCAxCiAjZW5kaWYKLSNlbmRpZiAvKiBQTEFURk9STShDRykgKi8K
KyNlbmRpZiAvKiBVU0UoQ0cpICovCiAKICNpZmRlZiBCVUlMRElOR19PTl9USUdFUgogI3VuZGVm
IEVOQUJMRV9GVFBESVIKICNkZWZpbmUgRU5BQkxFX0ZUUERJUiAwCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0cpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cp
CiAjZGVmaW5lIFdURl9VU0VfU0FGQVJJX1RIRU1FIDEKICNlbmRpZgogCiAvLyBDb3JlQW5pbWF0
aW9uIGlzIGF2YWlsYWJsZSB0byBJT1MsIE1hYyBhbmQgV2luZG93cyBpZiB1c2luZyBDRwotI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBQTEFU
Rk9STShDRykpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IChQTEFURk9S
TShXSU4pICYmIFVTRShDRykpCiAjZGVmaW5lIFdURl9QTEFURk9STV9DQSAxCiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAppbmRleCAxOWMwZDA4YzEx
ZTM5OGJkMzJhZjhhNWYyZGIwNWViMDZjMTg1YWJjLi45NmNkMmE5MzRhZmQyOGUxZDlhMzIwNjk0
YWYyMjViOWZlN2Q2OTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52
YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIFN0cmluZyBIVE1MQ2FudmFzRWxlbWVudDo6dG9EYXRh
VVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0CiAgICAgaWYg
KG1pbWVUeXBlLmlzTnVsbCgpIHx8ICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdl
TUlNRVR5cGVGb3JFbmNvZGluZyhsb3dlcmNhc2VNaW1lVHlwZSkpCiAgICAgICAgIGxvd2VyY2Fz
ZU1pbWVUeXBlID0gImltYWdlL3BuZyI7CiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUEp
CisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQSkKICAgICAvLyBUcnkgdG8gZ2V0IEltYWdlRGF0YSBm
aXJzdCwgYXMgdGhhdCBtYXkgYXZvaWQgbG9zc3kgY29udmVyc2lvbnMuCiAgICAgUmVmUHRyPElt
YWdlRGF0YT4gaW1hZ2VEYXRhID0gZ2V0SW1hZ2VEYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuaAppbmRleCBjYjhlZGMyMGVhNGJmMWI1OWJiNjhjN2U5OGVhODBl
MGNiY2ZmMjQzLi4yMDdjMzg0MjVmNjAwYmFjZjIwNTA5OWJlZTg5MDQ2OWU4OTU3NmYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCkBAIC0zNCw3ICszNCw3IEBACiAK
ICNpZiBQTEFURk9STShDSFJPTUlVTSkgfHwgUExBVEZPUk0oUVQpCiAjZGVmaW5lIERlZmF1bHRJ
bnRlcnBvbGF0aW9uUXVhbGl0eSBJbnRlcnBvbGF0aW9uTWVkaXVtCi0jZWxpZiBQTEFURk9STShD
RykKKyNlbGlmIFVTRShDRykKICNkZWZpbmUgRGVmYXVsdEludGVycG9sYXRpb25RdWFsaXR5IElu
dGVycG9sYXRpb25Mb3cKICNlbHNlCiAjZGVmaW5lIERlZmF1bHRJbnRlcnBvbGF0aW9uUXVhbGl0
eSBJbnRlcnBvbGF0aW9uRGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggMDUwZGZhMDg5YzQ0ODFi
YmVkMDRiOTdjMGI2NmQ4Yzk0ODY2OGQ0MC4uYWI2NDI3ZTdhYzljODk0MjlkOTdhN2ViNTA1N2Iw
M2Q3YjQwMjVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC0xMDQ2LDcgKzEwNDYsNyBAQCB2b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9h
dCB3aWR0aCwgZmxvYXQgaAogICAgIGRpZERyYXcoYm91bmRpbmdSZWN0KTsKIH0KIAotI2lmIFBM
QVRGT1JNKENHKQorI2lmIFVTRShDRykKIHN0YXRpYyBpbmxpbmUgQ0dTaXplIGFkanVzdGVkU2hh
ZG93U2l6ZShDR0Zsb2F0IHdpZHRoLCBDR0Zsb2F0IGhlaWdodCkKIHsKICAgICAvLyBXb3JrIGFy
b3VuZCA8cmRhcjovL3Byb2JsZW0vNTUzOTM4OD4gYnkgZW5zdXJpbmcgdGhhdCBzaGFkb3cgb2Zm
c2V0cyB3aWxsIGdldCB0cnVuY2F0ZWQKQEAgLTExNTAsNyArMTE1MCw3IEBAIHZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTaGFkb3coZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwg
ZmxvYXQgYmx1ciwKICAgICBHcmFwaGljc0NvbnRleHQqIGRjID0gZHJhd2luZ0NvbnRleHQoKTsK
ICAgICBpZiAoIWRjKQogICAgICAgICByZXR1cm47Ci0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNF
KENHKQogICAgIGNvbnN0IENHRmxvYXQgY29tcG9uZW50c1s1XSA9IHsgYywgbSwgeSwgaywgYSB9
OwogICAgIENHQ29sb3JTcGFjZVJlZiBjb2xvclNwYWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlRGV2
aWNlQ01ZSygpOwogICAgIENHQ29sb3JSZWYgc2hhZG93Q29sb3IgPSBDR0NvbG9yQ3JlYXRlKGNv
bG9yU3BhY2UsIGNvbXBvbmVudHMpOwpAQCAtMTg5MSw3ICsxODkxLDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SW50ZXJuYWwoY29uc3QgU3RyaW5nJiB0ZXh0LCBm
bG9hdCB4LCBmbG8KICAgICBpZiAoIWZpbGwpCiAgICAgICAgIHRleHRSZWN0LmluZmxhdGUoYy0+
c3Ryb2tlVGhpY2tuZXNzKCkgLyAyKTsKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykK
ICAgICBDYW52YXNTdHlsZSogZHJhd1N0eWxlID0gZmlsbCA/IHN0YXRlKCkubV9maWxsU3R5bGUu
Z2V0KCkgOiBzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUuZ2V0KCk7CiAgICAgaWYgKGRyYXdTdHlsZS0+
Y2FudmFzR3JhZGllbnQoKSB8fCBkcmF3U3R5bGUtPmNhbnZhc1BhdHRlcm4oKSkgewogICAgICAg
ICAvLyBGSVhNRTogVGhlIHJlY3QgaXMgbm90IGJpZyBlbm91Z2ggZm9yIG1pdGVycyBvbiBzdHJv
a2VkIHRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IGJiZjI2MTdiMWFhNmM2MWZlOTRjZTBhMWU1NTVkODY3
ZTYwMzE4ZjIuLmZiYWVjOWU0MDFlNDQzNWEwMzZjMzkwZTVjY2ZmNWUyNTFkNWRjMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oCkBAIC0zNyw3ICszNyw3IEBACiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNl
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzU3R5bGUuY3BwCmluZGV4IGVlODU2N2M4YWEwMWRiMzlkOWMwNTk5ZDdiM2Fj
ZWVmZjFhNmM1OGIuLjNhZWU2ZThmMWY2ZjU1OWVjZGFmZWNjNTYxMjc2MGFlMjkwYmE3MGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKQEAgLTM4LDcgKzM4
LDcgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29yZUdy
YXBoaWNzL0NHQ29udGV4dC5oPgogI2VuZGlmCiAKQEAgLTIzOCw3ICsyMzgsNyBAQCB2b2lkIENh
bnZhc1N0eWxlOjphcHBseVN0cm9rZUNvbG9yKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCkKICAg
ICBjYXNlIENNWUtBOiB7CiAgICAgICAgIC8vIEZJWE1FOiBEbyB0aGlzIHRocm91Z2ggcGxhdGZv
cm0taW5kZXBlbmRlbnQgR3JhcGhpY3NDb250ZXh0IEFQSS4KICAgICAgICAgLy8gV2UnbGwgbmVl
ZCBhIGZhbmNpZXIgQ29sb3IgYWJzdHJhY3Rpb24gdG8gc3VwcG9ydCBDTVlLQSBjb3JyZWN0bHkK
LSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgICAgIENHQ29udGV4dFNldENNWUtT
dHJva2VDb2xvcihjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgbV9jbXlrYS5jLCBtX2NteWth
Lm0sIG1fY215a2EueSwgbV9jbXlrYS5rLCBtX2NteWthLmEpOwogI2VsaWYgUExBVEZPUk0oUVQp
CiAgICAgICAgIFFQZW4gY3VycmVudFBlbiA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5w
ZW4oKTsKQEAgLTI3NSw3ICsyNzUsNyBAQCB2b2lkIENhbnZhc1N0eWxlOjphcHBseUZpbGxDb2xv
cihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiAgICAgY2FzZSBDTVlLQTogewogICAgICAgICAv
LyBGSVhNRTogRG8gdGhpcyB0aHJvdWdoIHBsYXRmb3JtLWluZGVwZW5kZW50IEdyYXBoaWNzQ29u
dGV4dCBBUEkuCiAgICAgICAgIC8vIFdlJ2xsIG5lZWQgYSBmYW5jaWVyIENvbG9yIGFic3RyYWN0
aW9uIHRvIHN1cHBvcnQgQ01ZS0EgY29ycmVjdGx5Ci0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNF
KENHKQogICAgICAgICBDR0NvbnRleHRTZXRDTVlLRmlsbENvbG9yKGNvbnRleHQtPnBsYXRmb3Jt
Q29udGV4dCgpLCBtX2NteWthLmMsIG1fY215a2EubSwgbV9jbXlrYS55LCBtX2NteWthLmssIG1f
Y215a2EuYSk7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICAgICAgUUJydXNoIGN1cnJlbnRCcnVz
aCA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5icnVzaCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCmluZGV4IGFlOWExZDdjMTgyM2E4YjRlNTlhNWFj
MTk3NzZiMDU0MDg5NzI2Y2QuLjYwZjBkNmNjYWMyMDliZjM1MzEwOWVmZjViZjk4YzNmNThiZmMz
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKQEAgLTI4
LDcgKzI4LDcgQEAKICNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAKIC8vIEZJWE1FOiBUaGlzIHNo
b3VsZCByZWFsbHkgYmUgYSBibGFja2xpc3QgaW5zdGVhZCBvZiBhIHdoaXRlbGlzdAotI2lmIFBM
QVRGT1JNKENHKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCAoUExBVEZPUk0o
Q0hST01JVU0pICYmIChPUyhXSU5ET1dTKSB8fCBPUyhMSU5VWCkgfHwgT1MoRlJFRUJTRCkgfHwg
VVNFKFNLSUFfTUFDX09OX0NIUk9NRSkpKSB8fCBQTEFURk9STShIQUlLVSkgfHwgT1MoV0lOQ0Up
IHx8IFBMQVRGT1JNKEFORFJPSUQpIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNpZiBVU0UoQ0cpIHx8
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYg
KE9TKFdJTkRPV1MpIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSB8fCBVU0UoU0tJQV9NQUNf
T05fQ0hST01FKSkpIHx8IFBMQVRGT1JNKEhBSUtVKSB8fCBPUyhXSU5DRSkgfHwgUExBVEZPUk0o
QU5EUk9JRCkgfHwgUExBVEZPUk0oQlJFV01QKQogI2RlZmluZSBTVE9SRV9GT05UX0NVU1RPTV9Q
TEFURk9STV9EQVRBCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5jcHAKaW5kZXggOTkxYTUxNDY2M2UxYzg1NWU4MGYwYjJhOTRlMDFmNzRhYjIxZGZh
ZC4uNjgzZTQwMjQ1NjNjNzhmZmNhNTA3YTk3MDRhOTlhMGVkODZjNTUwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAot
I2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICNpbmNsdWRlICJQREZEb2N1bWVudEltYWdl
LmgiCiAjZW5kaWYKIApAQCAtMjQwLDcgKzI0MCw3IEBAIGlubGluZSB2b2lkIENhY2hlZEltYWdl
OjpjcmVhdGVJbWFnZSgpCiAgICAgLy8gQ3JlYXRlIHRoZSBpbWFnZSBpZiBpdCBkb2Vzbid0IHll
dCBleGlzdC4KICAgICBpZiAobV9pbWFnZSkKICAgICAgICAgcmV0dXJuOwotI2lmIFBMQVRGT1JN
KENHKSAmJiAhVVNFKFdFQktJVF9JTUFHRV9ERUNPREVSUykKKyNpZiBVU0UoQ0cpICYmICFVU0Uo
V0VCS0lUX0lNQUdFX0RFQ09ERVJTKQogICAgIGlmIChtX3Jlc3BvbnNlLm1pbWVUeXBlKCkgPT0g
ImFwcGxpY2F0aW9uL3BkZiIpIHsKICAgICAgICAgbV9pbWFnZSA9IFBERkRvY3VtZW50SW1hZ2U6
OmNyZWF0ZSgpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GbG9hdENvbnZlcnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zsb2F0
Q29udmVyc2lvbi5oCmluZGV4IDY1NWFiNDQ4ZTllZmNjN2VkNTg3NDY3NTliYjQ5OTUxYjc3Zjlj
OTIuLmZiNzY4MzM3MmNiOGVlNzQ5YmI2MTYyMmUzYTUwNjYxNmZkMTU2ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zsb2F0Q29udmVyc2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0Zsb2F0Q29udmVyc2lvbi5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZu
ZGVmIEZsb2F0Q29udmVyc2lvbl9oCiAjZGVmaW5lIEZsb2F0Q29udmVyc2lvbl9oCiAKLSNpZiBQ
TEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQmFzZS5o
PgogI2VuZGlmCiAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG51bWJlcik7CiAgICAgfQogCi0jaWYgUExBVEZP
Uk0oQ0cpCisjaWYgVVNFKENHKQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgQ0dGbG9h
dCBuYXJyb3dQcmVjaXNpb25Ub0NHRmxvYXQoVCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKaW5kZXggNGMzM2JjYWIxMGVlOGU5Zjg5OWY1Mjc3ZTVh
MmQ5MWUwOWFlYjBlNy4uZDM1OGJjZjkwMjZmNGYwOTI0OGNmMmFkN2Q5NGU5MzdjZjk0NjczOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKQEAgLTMz
LDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogI2lu
Y2x1ZGUgIkltYWdlU291cmNlQ0cuaCIKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0Fw
cGxpY2F0aW9uU2VydmljZXMuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC02MSw3
ICs2MSw3IEBAIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+KiwgQ2FzZUZv
bGRpbmdIYXNoPiBNZWRpYU1JTUVUeXBlTWFwOwogICAgIAogc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZVN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCkKIHsKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0Uo
Q0cpCiAgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHN1cHBvcnRlZFR5cGVzKEFkb3B0Q0YsIENH
SW1hZ2VTb3VyY2VDb3B5VHlwZUlkZW50aWZpZXJzKCkpOwogICAgIENGSW5kZXggY291bnQgPSBD
RkFycmF5R2V0Q291bnQoc3VwcG9ydGVkVHlwZXMuZ2V0KCkpOwogICAgIGZvciAoQ0ZJbmRleCBp
ID0gMDsgaSA8IGNvdW50OyBpKyspIHsKQEAgLTEzNCw3ICsxMzQsNyBAQCBzdGF0aWMgdm9pZCBp
bml0aWFsaXplU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygpCiB7CiAgICAgc3Vw
cG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZyA9IG5ldyBIYXNoU2V0PFN0cmluZz47CiAK
LSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBzdXBwb3J0ZWRUeXBlcyhBZG9wdENGLCBDR0ltYWdlRGVzdGlu
YXRpb25Db3B5VHlwZUlkZW50aWZpZXJzKCkpOwogICAgIENGSW5kZXggY291bnQgPSBDRkFycmF5
R2V0Q291bnQoc3VwcG9ydGVkVHlwZXMuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggMWQxY2QyOWVhYzY5OTk1NDQ0OTkyMDBi
MDljYmIxMjNmZmMzNjAyOC4uMzg2N2RiNTBjNzhmMjg2MDYzZjg0YzQ3NDAzNzQ5YThmYWM0NzNm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC0xMzksNyArMTM5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ0ZEYXRhUmVmIGdldFRJ
RkZSZXByZXNlbnRhdGlvbigpOwogI2VuZGlmCiAgICAgCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYg
VVNFKENHKQogICAgIHZpcnR1YWwgQ0dJbWFnZVJlZiBnZXRDR0ltYWdlUmVmKCk7CiAgICAgdmly
dHVhbCBDR0ltYWdlUmVmIGdldEZpcnN0Q0dJbWFnZVJlZk9mU2l6ZShjb25zdCBJbnRTaXplJik7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCmluZGV4IDky
OTljZTQ4ODQ4YTJmOGIxMzNhNWU4MzZhZjlmNzc2MDM5ODNkODguLjUyNDk0NWIxZWZlN2FlZGY0
MmIwOGZkNDc0YmZkZTAxZWY0NTgyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3IuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYg
VVNFKENHKQogI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKIHR5cGVkZWYgc3RydWN0IENHQ29sb3Iq
IENHQ29sb3JSZWY7CiAjZW5kaWYKQEAgLTE0Myw3ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgb3Bl
cmF0b3Igd3hDb2xvdXIoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYg
VVNFKENHKQogICAgIENvbG9yKENHQ29sb3JSZWYpOwogI2VuZGlmCiAKQEAgLTE4MCw3ICsxODAs
NyBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IENvbG9yJiBhLCBjb25zdCBDb2xvciYg
YikKIENvbG9yIGNvbG9yRnJvbVByZW11bHRpcGxpZWRBUkdCKHVuc2lnbmVkKTsKIHVuc2lnbmVk
IHByZW11bHRpcGxpZWRBUkdCRnJvbUNvbG9yKGNvbnN0IENvbG9yJik7CiAKLSNpZiBQTEFURk9S
TShDRykKKyNpZiBVU0UoQ0cpCiBDR0NvbG9yUmVmIGNhY2hlZENHQ29sb3IoY29uc3QgQ29sb3Im
LCBDb2xvclNwYWNlKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9EYXNoQXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Rhc2hBcnJheS5oCmluZGV4IDEyZGY0YTMzMzg4MGQ5ZGI2MGQxMWU0YzlhODIyZGNlZTU5
MjQ4ZWEuLjA1MTY1ODRhZWY0NjNjN2IzYTI4NjY4ZjcxNWM1YmY5MTE0NmUxMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rhc2hBcnJheS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rhc2hBcnJheS5oCkBAIC0yOCw3ICsyOCw3
IEBACiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBV
U0UoQ0cpCiB0eXBlZGVmIFZlY3RvcjxDR0Zsb2F0PiBEYXNoQXJyYXk7CiAjZWxpZiBVU0UoQ0FJ
Uk8pCiB0eXBlZGVmIFZlY3Rvcjxkb3VibGU+IERhc2hBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAppbmRleCAxMzJlNzMzZDVkZTljZjU0ZmQy
ZmVlZjQwMzBkNjY2MTVkODEzZmQ4Li5lN2E0MGNjZGNjYzJmNDczYzA5NTkzMTViY2VmMTJmYjhl
OTgzY2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2lu
dC5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19D
SFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogdHlwZWRlZiBz
dHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlmCiAKQEAgLTEwOSw3ICsxMDksNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtX3ggKiBtX3ggKyBtX3kgKiBtX3k7CiAgICAgfQogCi0jaWYg
UExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgIEZsb2F0UG9pbnQoY29uc3QgQ0dQb2ludCYpOwog
ICAgIG9wZXJhdG9yIENHUG9pbnQoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCAzNWFjNjFkM2FjYmZmMDMzOWU4ODFi
NjY4MWVjOGQxNjEzZTNiYTJmLi40OTNjMDY4MjlhZmNiZmRjMDIwMWM3MjM1YjlkYWUzZDUyYWJk
NmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaApA
QCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogCi0jaWYgUExBVEZP
Uk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJ
QV9PTl9NQUNfQ0hST01FKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKICNlbmRpZgog
CkBAIC0xMzcsNyArMTM3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZml0VG9Qb2ludHMoY29uc3Qg
RmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBw
Mik7CiAgICAgdm9pZCBmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxv
YXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBwMyk7
CiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAgICAgRmxvYXRSZWN0KGNvbnN0IENHUmVj
dCYpOwogICAgIG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IGViOWNmZDkxMmRmNjRiMTUw
YjQ4MWI2ODhmOTFiNDEyNTQ3ODc3YmEuLjE0ODVjNzFjMTg4YTk4MmQ4OWQ2ZTM5NGM3MTA2ODli
YWJmMmVjZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zs
b2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBP
UyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBM
QVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogdHlw
ZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRpZgogCkBAIC04OSw3ICs4OSw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIG1fd2lkdGggKiBtX3dpZHRoICsgbV9oZWlnaHQgKiBtX2hl
aWdodDsKICAgICB9CiAKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhE
QVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRG
T1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgIGV4
cGxpY2l0IEZsb2F0U2l6ZShjb25zdCBDR1NpemUmKTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBsaWNp
dGx5IHNpbmNlIGl0J3MgbG9zc3kKICAgICBvcGVyYXRvciBDR1NpemUoKSBjb25zdDsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRm
b3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3Jt
RGF0YS5oCmluZGV4IDk2YWYxZGQyZDA4YzIxMjE3NTBkYzJkOTM0NDJiZTRjNmM5NGE2ZWMuLmVi
YjAxYWExMWY2ODU4ZDY2ZDYwNmNkMDA1ZTJiZjE4MmZiYTM5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTg0LDcg
Kzg0LDcgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DVEZvbnQqIENURm9udFJlZjsKIHR5cGVk
ZWYgc3RydWN0IEhGT05UX18qIEhGT05UOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykgfHwg
VVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19D
SFJPTUUpCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKICNpZiBPUyhEQVJXSU4p
CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCkBAIC0xMTcsNyArMTE3LDcgQEAgcHVibGljOgog
I2VsaWYgT1MoREFSV0lOKQogICAgICAgICAsIG1fZm9udChoYXNoVGFibGVEZWxldGVkRm9udFZh
bHVlKCkpCiAjZW5kaWYKLSNpZiBQTEFURk9STShDRykgJiYgKGRlZmluZWQoQlVJTERJTkdfT05f
VElHRVIpIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgVVNFKENHKSAmJiAoZGVmaW5lZChCVUlMRElO
R19PTl9USUdFUikgfHwgUExBVEZPUk0oV0lOKSkKICAgICAgICAgLCBtX2NnRm9udCgwKQogI2Vs
aWYgVVNFKENBSVJPKQogICAgICAgICAsIG1fc2NhbGVkRm9udChoYXNoVGFibGVEZWxldGVkRm9u
dFZhbHVlKCkpCkBAIC0xMzksNyArMTM5LDcgQEAgcHVibGljOgogI2lmIE9TKERBUldJTikKICAg
ICAgICAgLCBtX2ZvbnQoMCkKICNlbmRpZgotI2lmIFBMQVRGT1JNKENHKSAmJiAoZGVmaW5lZChC
VUlMRElOR19PTl9USUdFUikgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiBVU0UoQ0cpICYmIChkZWZp
bmVkKEJVSUxESU5HX09OX1RJR0VSKSB8fCBQTEFURk9STShXSU4pKQogICAgICAgICAsIG1fY2dG
b250KDApCiAjZWxpZiBVU0UoQ0FJUk8pCiAgICAgICAgICwgbV9zY2FsZWRGb250KDApCkBAIC0x
NjQsNyArMTY0LDcgQEAgcHVibGljOgogI2lmIE9TKERBUldJTikKICAgICAgICAgLCBtX2ZvbnQo
MCkKICNlbmRpZgotI2lmIFBMQVRGT1JNKENHKSAmJiAoZGVmaW5lZChCVUlMRElOR19PTl9USUdF
UikgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiBVU0UoQ0cpICYmIChkZWZpbmVkKEJVSUxESU5HX09O
X1RJR0VSKSB8fCBQTEFURk9STShXSU4pKQogICAgICAgICAsIG1fY2dGb250KDApCiAjZWxpZiBV
U0UoQ0FJUk8pCiAgICAgICAgICwgbV9zY2FsZWRGb250KDApCkBAIC0xNzksNyArMTc5LDcgQEAg
cHVibGljOgogI2lmIE9TKERBUldJTikKICAgICBGb250UGxhdGZvcm1EYXRhKE5TRm9udCosIGZs
b2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCA9IGZhbHNlLCBib29sIHN5bnRoZXRpY09ibGlx
dWUgPSBmYWxzZSwgRm9udE9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCwKICAgICAgICAgICAgICAg
ICAgICAgIFRleHRPcmllbnRhdGlvbiA9IFRleHRPcmllbnRhdGlvblZlcnRpY2FsUmlnaHQsIEZv
bnRXaWR0aFZhcmlhbnQgPSBSZWd1bGFyV2lkdGgpOwotI2lmIFBMQVRGT1JNKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9N
RSkKICAgICBGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJv
b2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICBUZXh0T3JpZW50YXRpb24gdGV4dE9y
aWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCkKICAgICAgICAgOiBtX3N5
bnRoZXRpY0JvbGQoc3ludGhldGljQm9sZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShIRk9OVCwgZmxv
YXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wg
dXNlR0RJKTsKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgRm9udFBsYXRmb3Jt
RGF0YShIRk9OVCwgQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwogI2VuZGlmCiAjZW5kaWYKQEAgLTIx
NSw3ICsyMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb250KE5TRm9udCopOwogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0Uo
Q0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAjaWYgT1MoREFSV0lOKQogI2lmbmRlZiBC
VUlMRElOR19PTl9USUdFUgogICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25zdCB7IHJldHVybiBt
X2NnRm9udC5nZXQoKTsgfQpAQCAtMjUyLDcgKzI1Miw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9S
TShXSU4pICYmICFVU0UoQ0FJUk8pCiAgICAgICAgIHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmhh
c2goKSA6IDA7CiAjZWxpZiBPUyhEQVJXSU4pCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQog
ICAgICAgICBBU1NFUlQobV9mb250IHx8ICFtX2NnRm9udCk7CiAjZW5kaWYKICAgICAgICAgdWlu
dHB0cl90IGhhc2hDb2Rlc1szXSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50
LCBtX3RleHRPcmllbnRhdGlvbiA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAyIHwgbV9zeW50aGV0
aWNCb2xkIDw8IDEgfCBtX3N5bnRoZXRpY09ibGlxdWUgfTsKQEAgLTMyOCw3ICszMjgsNyBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxSZWZDb3VudGVkR0RJSGFuZGxlPEhGT05UPiA+IG1fZm9udDsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisj
aWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogI2lmIFBMQVRGT1JNKFdJTikK
ICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbHNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaAppbmRleCBjOTJkNGZhYmVlMzdm
N2I5YWY1NmQ3ZmFkODc3MDRiM2NhZTYyMDY5Li5mNTIxNmE5YjUyYjI5Zjg5ZTE0ODZlNDAxMmMy
OTJhZjg3M2JmZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ds
eXBoQnVmZmVyLmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0u
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRG
T1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVT
RShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNf
Q0hST01FKQogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNl
cy5oPgogI2VuZGlmCiAKQEAgLTU4LDcgKzU4LDcgQEAgdHlwZWRlZiBHbHlwaCBHbHlwaEJ1ZmZl
ckdseXBoOwogCiAvLyBDRyB1c2VzIENHU2l6ZSBpbnN0ZWFkIG9mIEZsb2F0U2l6ZSBzbyB0aGF0
IHRoZSByZXN1bHQgb2YgYWR2YW5jZXMoKQogLy8gY2FuIGJlIHBhc3NlZCBkaXJlY3RseSB0byBD
R0NvbnRleHRTaG93R2x5cGhzV2l0aEFkdmFuY2VzIGluIEZvbnRNYWMubW0KLSNpZiBQTEFURk9S
TShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNf
Q0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQogdHlwZWRlZiBDR1NpemUgR2x5cGhCdWZmZXJBZHZhbmNl
OwogI2VsaWYgT1MoV0lOQ0UpCiAvLyBUaGVyZSBpcyBubyBjcm9zcy1wbGF0Zm9ybSBjb2RlIHRo
YXQgdXNlcyB0aGUgaGVpZ2h0IG9mIEdseXBoQnVmZmVyQWR2YW5jZSwKQEAgLTEyMiw3ICsxMjIs
NyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBhZHZhbmNlQXQoaW50IGluZGV4KSBjb25zdAogICAg
IHsKLSNpZiBQTEFURk9STShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBPUyhEQVJXSU4pKSB8fCBV
U0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwgKFBMQVRGT1JNKFdYKSAmJiBP
UyhEQVJXSU4pKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgICAgICByZXR1cm4gbV9h
ZHZhbmNlc1tpbmRleF0ud2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgcmV0dXJuIG1f
YWR2YW5jZXNbaW5kZXhdOwpAQCAtMTUzLDcgKzE1Myw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9n
bHlwaHMuYXBwZW5kKGdseXBoKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFU
Rk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBV
U0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFD
X0NIUk9NRSkKICAgICAgICAgQ0dTaXplIGFkdmFuY2UgPSB7IHdpZHRoLCAwIH07CiAgICAgICAg
IG1fYWR2YW5jZXMuYXBwZW5kKGFkdmFuY2UpOwogI2VsaWYgT1MoV0lOQ0UpCkBAIC0xOTIsNyAr
MTkyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOwogICAg
ICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UmIGxhc3RBZHZhbmNlID0gbV9hZHZhbmNlcy5sYXN0KCk7
Ci0jaWYgUExBVEZPUk0oQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1MoREFSV0lOKSkgfHwgVVNF
KFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IChQTEFURk9STShXWCkgJiYgT1Mo
REFSV0lOKSkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKICAgICAgICAgbGFzdEFkdmFuY2Uu
d2lkdGggKz0gd2lkdGg7CiAjZWxpZiBPUyhXSU5DRSkKICAgICAgICAgbGFzdEFkdmFuY2UgKz0g
d2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFk
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaAppbmRl
eCA3NjUwOWZmZjMzYzAwODVmZmI0Yjg3NDE2ZWFjMzA0ZDc3ZTQ0MDU1Li5lYzIyZWZlNmE5MTky
ZmNhOGYxOTExNjE3NDNmYzc0OGU5MTYzNTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYWRpZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKENHKQor
I2lmIFVTRShDRykKIAogdHlwZWRlZiBzdHJ1Y3QgQ0dDb250ZXh0KiBDR0NvbnRleHRSZWY7CiAK
QEAgLTEzOCw3ICsxMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBz
ZXRQbGF0Zm9ybUdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBn
cmFkaWVudFNwYWNlVHJhbnNmb3JtYXRpb24pOwogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNF
KENHKQogICAgICAgICB2b2lkIHBhaW50KENHQ29udGV4dFJlZik7CiAgICAgICAgIHZvaWQgcGFp
bnQoR3JhcGhpY3NDb250ZXh0Kik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCmluZGV4IGI3ZWM2MjhlMGJkNmU1
YzBmYjI3NjYwMzkyZDViMGIxYzg2NWI5MWMuLjIxOGFiNDZkNDNjZjhiMDVmODhhZTlmZmIzYTI2
YmY5ODAyMDkwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmNwcApAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpzZXRMZWdhY3lTaGFkb3coY29uc3QgRmxvYXRTaXplJiBvZmZzZXQsIGZsb2F0IGJs
dXIsIGNvbnN0CiAgICAgbV9zdGF0ZS5zaGFkb3dCbHVyID0gYmx1cjsKICAgICBtX3N0YXRlLnNo
YWRvd0NvbG9yID0gY29sb3I7CiAgICAgbV9zdGF0ZS5zaGFkb3dDb2xvclNwYWNlID0gY29sb3JT
cGFjZTsKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgbV9zdGF0ZS5zaGFkb3dz
VXNlTGVnYWN5UmFkaXVzID0gdHJ1ZTsKICNlbmRpZgogICAgIHNldFBsYXRmb3JtU2hhZG93KG9m
ZnNldCwgYmx1ciwgY29sb3IsIGNvbG9yU3BhY2UpOwpAQCAtNTg4LDcgKzU4OCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciogYnVmZmVyLCBj
b25zdCBGbG9hdFJlY3QmIHJlCiAgICAgYnVmZmVyLT5jbGlwKHRoaXMsIHJlY3QpOwogfQogCi0j
aWYgIVBMQVRGT1JNKENHKQorI2lmICFVU0UoQ0cpCiBJbnRSZWN0IEdyYXBoaWNzQ29udGV4dDo6
Y2xpcEJvdW5kcygpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC02MjEs
NyArNjIxLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxSb3VuZGVkUmVjdChjb25zdCBS
b3VuZGVkSW50UmVjdCYgcmVjdCwgY29uc3QgQ29sb3ImIGMKICAgICBmaWxsUm91bmRlZFJlY3Qo
cmVjdC5yZWN0KCksIHJlY3QucmFkaWkoKS50b3BMZWZ0KCksIHJlY3QucmFkaWkoKS50b3BSaWdo
dCgpLCByZWN0LnJhZGlpKCkuYm90dG9tTGVmdCgpLCByZWN0LnJhZGlpKCkuYm90dG9tUmlnaHQo
KSwgY29sb3IsIGNvbG9yU3BhY2UpOwogfQogCi0jaWYgIVBMQVRGT1JNKENHKQorI2lmICFVU0Uo
Q0cpCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJlY3RXaXRoUm91bmRlZEhvbGUoY29uc3Qg
SW50UmVjdCYgcmVjdCwgY29uc3QgUm91bmRlZEludFJlY3QmIHJvdW5kZWRIb2xlUmVjdCwgY29u
c3QgQ29sb3ImIGNvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpCiB7CiAgICAgaWYgKHBhaW50
aW5nRGlzYWJsZWQoKSkKQEAgLTY3OCw3ICs2NzgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
c2V0UGxhdGZvcm1TdHJva2VQYXR0ZXJuKFBhdHRlcm4qKQogfQogI2VuZGlmCiAKLSNpZiAhUExB
VEZPUk0oQ0cpICYmICFVU0UoU0tJQSkKKyNpZiAhVVNFKENHKSAmJiAhVVNFKFNLSUEpCiAvLyBJ
bXBsZW1lbnQgdGhpcyBpZiB5b3Ugd2FudCB0byBnbyBhaGVhZCBhbmQgcHVzaCB0aGUgZHJhd2lu
ZyBtb2RlIGludG8geW91ciBuYXRpdmUgY29udGV4dAogLy8gaW1tZWRpYXRlbHkuCiB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1UZXh0RHJhd2luZ01vZGUoVGV4dERyYXdpbmdNb2Rl
RmxhZ3MgbW9kZSkKQEAgLTY5Miw3ICs2OTIsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0
UGxhdGZvcm1TdHJva2VTdHlsZShTdHJva2VTdHlsZSkKIH0KICNlbmRpZgogCi0jaWYgIVBMQVRG
T1JNKENHKQorI2lmICFVU0UoQ0cpCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1T
aG91bGRTbW9vdGhGb250cyhib29sKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBiMDc3OTVkOTBlNmE5Y2ZhMTU4
NjFkNjJhYWFlODFjNzAyZDdhYjJlLi42NDg2MGJjNmU3MGQ4OWVmOTQzMjZhMWJjZmRhYWVlZmM1
OTZjMTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNp
ZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBDR0NvbnRleHQgUGxhdGZvcm1HcmFwaGljc0NvbnRl
eHQ7CiAjZWxpZiBVU0UoQ0FJUk8pCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC05Myw3ICs5Myw3
IEBAIHR5cGVkZWYgdm9pZCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNpZiBQTEFURk9STShX
SU4pCiAjaW5jbHVkZSAiRElCUGl4ZWxEYXRhLmgiCiB0eXBlZGVmIHN0cnVjdCBIRENfXyogSERD
OwotI2lmICFQTEFURk9STShDRykKKyNpZiAhVVNFKENHKQogLy8gVUludDggaXMgZGVmaW5lZCBp
biBDb3JlRm91bmRhdGlvbi9DRkJhc2UuaAogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIFVJbnQ4Owog
I2VuZGlmCkBAIC0xNzAsNyArMTcwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgLCBzaG91bGRTbW9vdGhGb250cyh0cnVlKQogICAgICAgICAgICAgLCBwYWludGluZ0Rpc2Fi
bGVkKGZhbHNlKQogICAgICAgICAgICAgLCBzaGFkb3dzSWdub3JlVHJhbnNmb3JtcyhmYWxzZSkK
LSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgICAgICAgICAvLyBDb3JlIEdyYXBo
aWNzIGluY29ycmVjdGx5IHJlbmRlcnMgc2hhZG93cyB3aXRoIHJhZGl1cyA+IDhweCAoPHJkYXI6
Ly9wcm9ibGVtLzgxMDM0NDI+KSwKICAgICAgICAgICAgIC8vIGJ1dCB3ZSBuZWVkIHRvIHByZXNl
cnZlIHRoaXMgYnVnZ3kgYmVoYXZpb3IgZm9yIGNhbnZhcyBhbmQgLXdlYmtpdC1ib3gtc2hhZG93
LgogICAgICAgICAgICAgLCBzaGFkb3dzVXNlTGVnYWN5UmFkaXVzKGZhbHNlKQpAQCAtMjExLDcg
KzIxMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBzaG91bGRTbW9vdGhG
b250cyA6IDE7CiAgICAgICAgIGJvb2wgcGFpbnRpbmdEaXNhYmxlZCA6IDE7CiAgICAgICAgIGJv
b2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMgOiAxOwotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVT
RShDRykKICAgICAgICAgYm9vbCBzaGFkb3dzVXNlTGVnYWN5UmFkaXVzIDogMTsKICNlbmRpZgog
ICAgIH07CkBAIC0yNjMsNyArMjYzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSgpIGNvbnN0OwogCi0jaWYgUExBVEZP
Uk0oQ0cpCisjaWYgVVNFKENHKQogICAgICAgICB2b2lkIGFwcGx5U3Ryb2tlUGF0dGVybigpOwog
ICAgICAgICB2b2lkIGFwcGx5RmlsbFBhdHRlcm4oKTsKICAgICAgICAgdm9pZCBkcmF3UGF0aChj
b25zdCBQYXRoJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA4ZGMyZjhmNjBmOTdjZjE1ZTZkMzE4MDNiMzMwOTRj
ZjBjMDNmNjgxLi44MDIyNmNmZTk4MzA5ZGM3Y2YzODkyMWJhM2IxOTI2MDExMDYyMGRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTc2LDcgKzc2LDcgQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUdyYXBoaWNzQ29u
dGV4dDNEOwogY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBOdWxsUGxhdGZvcm1HcmFw
aGljc0NvbnRleHQzRCA9IDA7CiBjb25zdCBQbGF0Zm9ybTNET2JqZWN0IE51bGxQbGF0Zm9ybTNE
T2JqZWN0ID0gMDsKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICNpbmNsdWRlIDxD
b3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+CiAjZW5kaWYKIApAQCAtNzYyLDcgKzc2Miw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogCi0jaWYg
UExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgIHZvaWQgcGFpbnRUb0NhbnZhcyhjb25zdCB1
bnNpZ25lZCBjaGFyKiBpbWFnZVBpeGVscywgaW50IGltYWdlV2lkdGgsIGludCBpbWFnZUhlaWdo
dCwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNhbnZhc1dpZHRoLCBpbnQgY2FudmFzSGVp
Z2h0LCBDR0NvbnRleHRSZWYgY29udGV4dCk7CiAjZWxpZiBQTEFURk9STShHVEspCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKaW5kZXggMzA5NjY4MDcyZDVjMWQ5
MDgzY2E4ZDdhZjk1NTVjOTc1N2Y1YWI1NS4uMTFkYTBhYjgyMDE5NTY5MGE5NDAyOWI0ZDQwNDZm
NmFmMjM4NGQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNw
cApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8
Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRleCA5OTAwYTQ3YmEwNzRmMjc2MWU1MmQzYWY1
MTNlYmUyMjM5OWI5ZmU4Li41YTY0MDVhMjhiYjY0OWYxYzI2ZmNmNWJhZjZkNjZiOWJjZGYyN2I5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKQEAgLTQ1LDcgKzQ1
LDcgQEAgY2xhc3MgTlNJbWFnZTsKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykK
KyNpZiBVU0UoQ0cpCiBzdHJ1Y3QgQ0dDb250ZXh0OwogI2VuZGlmCiAKQEAgLTEzNiw3ICsxMzYs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDRkRhdGFSZWYgZ2V0VElGRlJlcHJlc2VudGF0aW9u
KCkgeyByZXR1cm4gMDsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cp
CiAgICAgdmlydHVhbCBDR0ltYWdlUmVmIGdldENHSW1hZ2VSZWYoKSB7IHJldHVybiAwOyB9CiAg
ICAgdmlydHVhbCBDR0ltYWdlUmVmIGdldEZpcnN0Q0dJbWFnZVJlZk9mU2l6ZShjb25zdCBJbnRT
aXplJikgeyByZXR1cm4gMDsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAKaW5kZXggNGE3NmJlNDM0NjdlM2M5NWIwN2NjMjlk
N2VmNjk4NDc0OWQyYjhhZi4uMjNiOTI1YWNiOWNmMjgwMTM4NTFkNmEzYWM4YWE2ZTJmZGMwOTZk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVy
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCiAKLSNpZiAhUExBVEZPUk0oQ0cpCisjaWYgIVVTRShDRykKIAogI2luY2x1
ZGUgPG1hdGguaD4KIApAQCAtNjksNCArNjksNCBAQCB2b2lkIEltYWdlQnVmZmVyOjp0cmFuc2Zv
cm1Db2xvclNwYWNlKENvbG9yU3BhY2Ugc3JjQ29sb3JTcGFjZSwgQ29sb3JTcGFjZSBkc3RDbwog
CiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA4YWZkNWU0
MjBkNDhkMjE0MGE0ZDYxMzI3YWFiMTI4ODgwZDdmZjBhLi5jMTg0YmJlYjAxMTFhMDFjYmIxYTMx
ZGM4MjBlNzRlNzY1NTFmOTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmgKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHB1dFByZW11bHRpcGxpZWRJbWFnZURhdGEoQnl0ZUFycmF5KiwgY29uc3Qg
SW50U2l6ZSYgc291cmNlU2l6ZSwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29uc3QgSW50
UG9pbnQmIGRlc3RQb2ludCk7CiAgICAgICAgIAogICAgICAgICBTdHJpbmcgdG9EYXRhVVJMKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSA9IDApIGNvbnN0Owot
I2lmICFQTEFURk9STShDRykKKyNpZiAhVVNFKENHKQogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
YmFzZVRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgpOyB9CiAgICAg
ICAgIHZvaWQgdHJhbnNmb3JtQ29sb3JTcGFjZShDb2xvclNwYWNlIHNyY0NvbG9yU3BhY2UsIENv
bG9yU3BhY2UgZHN0Q29sb3JTcGFjZSk7CiAgICAgICAgIHZvaWQgcGxhdGZvcm1UcmFuc2Zvcm1D
b2xvclNwYWNlKGNvbnN0IFZlY3RvcjxpbnQ+Jik7CkBAIC0xMTksNyArMTE5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fYWNjZWxlcmF0ZVJlbmRlcmluZzsKICAgICAg
ICAgT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gbV9jb250ZXh0OwogCi0jaWYgIVBMQVRGT1JNKENH
KQorI2lmICFVU0UoQ0cpCiAgICAgICAgIFZlY3RvcjxpbnQ+IG1fbGluZWFyUmdiTFVUOwogICAg
ICAgICBWZWN0b3I8aW50PiBtX2RldmljZVJnYkxVVDsKICNlbmRpZgpAQCAtMTI5LDcgKzEyOSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6
ZSYsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBi
b29sJiBzdWNjZXNzKTsKICAgICB9OwogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBKQor
I2lmIFVTRShDRykgfHwgVVNFKFNLSUEpCiAgICAgU3RyaW5nIEltYWdlRGF0YVRvRGF0YVVSTChj
b25zdCBJbWFnZURhdGEmIGlucHV0LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBkb3Vi
bGUqIHF1YWxpdHkpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VCdWZmZXJEYXRhLmgKaW5kZXggZWEzNjJmZDg4MDM0ZmQ5OThjMGRmNDcy
NjM0ZmFjMDBmMjQ3ODhhMC4uNjcwYTEwZmViNzc2NmE5ODI0YWQxM2UxN2Q3MDg0YTM0YmM2NTgz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXJEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZm
ZXJEYXRhLmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZiBQ
TEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXJEYXRhQ0cuaCIK
ICNlbGlmIFVTRShDQUlSTykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckRhdGFDYWlyby5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggNGY0
MDNkZjc3NTYxZWEwNzVkNzQ3Y2ZkZmUxNTk5ZmExN2JjNWQxZS4uOTllNGZjNGNmN2I3ZDczZDU5
N2RkZTIyZWVlOTlhY2VhZjk2NTg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0zNCw3ICszNCw3IEBACiAjaWYgUExBVEZPUk0oV1gp
CiBjbGFzcyB3eEJpdG1hcDsKIGNsYXNzIHd4R3JhcGhpY3NCaXRtYXA7Ci0jZWxpZiBQTEFURk9S
TShDRykKKyNlbGlmIFVTRShDRykKIHR5cGVkZWYgc3RydWN0IENHSW1hZ2VTb3VyY2UqIENHSW1h
Z2VTb3VyY2VSZWY7CiB0eXBlZGVmIHN0cnVjdCBDR0ltYWdlKiBDR0ltYWdlUmVmOwogdHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEqIENGRGF0YVJlZjsKQEAgLTYyLDcgKzYyLDcgQEAgY2xh
c3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0jaWYg
UExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogI2lmIFVTRShXRUJLSVRfSU1BR0VfREVDT0RFUlMp
CiBjbGFzcyBJbWFnZURlY29kZXI7CiB0eXBlZGVmIEltYWdlRGVjb2RlciogTmF0aXZlSW1hZ2VT
b3VyY2VQdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaApp
bmRleCBkOWZiZjgzODEyNzdjNmQxNjNiNmE2OGMzNWZiNjZhYjczYTZjYmRmLi40NmQ0OWViMzE0
NGM2YTU2YTZiZjhmMzk1N2NiM2NmODcyYWY1MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDxRRGF0
YVN0cmVhbT4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19D
SFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogdHlwZWRlZiBz
dHJ1Y3QgQ0dQb2ludCBDR1BvaW50OwogI2VuZGlmCiAKQEAgLTExNCw3ICsxMTQsNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBJbnRQb2ludChtX3ksIG1feCk7CiAgICAgfQogCi0jaWYgUExB
VEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQogICAgIGV4cGxpY2l0IEludFBvaW50KGNvbnN0IENHUG9pbnQm
KTsgLy8gZG9uJ3QgZG8gdGhpcyBpbXBsaWNpdGx5IHNpbmNlIGl0J3MgbG9zc3kKICAgICBvcGVy
YXRvciBDR1BvaW50KCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFJlY3QuaAppbmRleCA5M2NkNTY5YmZmYWM2ZDM2NDc2OTBlY2Y1NmY4ODNiZmMz
NjA2Mjk4Li5lYjY4OGRhMWQ1ZTUzYjE1YTE1OWUwNTg1NGQ5Mjk2ZmNiZjYwMzQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQ
TEFURk9STShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVT
RShTS0lBX09OX01BQ19DSFJPTUUpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwogI2Vu
ZGlmCiAKQEAgLTE4Myw3ICsxODMsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgRWluYV9SZWN0
YW5nbGUoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09O
X01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAg
IG9wZXJhdG9yIENHUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKQEAgLTIyOSw3ICsyMjksNyBAQCBp
bmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIp
CiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSAhPSBiLmxvY2F0aW9uKCkgfHwgYS5zaXplKCkgIT0g
Yi5zaXplKCk7CiB9CiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9N
RSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiBJbnRSZWN0IGVuY2xv
c2luZ0ludFJlY3QoY29uc3QgQ0dSZWN0Jik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCmluZGV4IGY5NTI2MjYxMTQwNDFjNTJmMWNmZWRhYTc4
NzEzNWY2OTRjNTNmZmYuLjhjZmFiZjUxM2M4NmI2NTlkYmZmMDdhNjUyNGE3ZDQ2YjkyNDk2ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgSW50U2l6ZV9oCiAjZGVmaW5lIEludFNpemVfaAogCi0jaWYgUExB
VEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0Uo
U0tJQV9PTl9NQUNfQ0hST01FKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKICNlbmRp
ZgogCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gSW50U2l6ZSht
X2hlaWdodCwgbV93aWR0aCk7CiAgICAgfQogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQog
ICAgIGV4cGxpY2l0IEludFNpemUoY29uc3QgQ0dTaXplJik7IC8vIGRvbid0IGRvIHRoaXMgaW1w
bGljaXRseSBzaW5jZSBpdCdzIGxvc3N5CiAgICAgb3BlcmF0b3IgQ0dTaXplKCkgY29uc3Q7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGgu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCBkYjc0ZmNi
OTQ1YzQxNzFjM2QzZjM3ZjI2ODljN2Y1Nzg0NGYwNGZkLi44ZjY5YjQxYThmYjE1Y2UwZTU1Zjkz
YzM0YmNlYTVmYTkwNmUzNjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0
aC5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQog
dHlwZWRlZiBzdHJ1Y3QgQ0dQYXRoIFBsYXRmb3JtUGF0aDsKICNlbGlmIFBMQVRGT1JNKE9QRU5W
RykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BhdHRlcm4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdHRlcm4uaAppbmRleCBlZGNmNDM4OWEyZmQ5MjI3YjJhYzA1M2M1Y2JlZWUwNTQxYWQ4Mjc2
Li4xZDBiMGY4MWY1MjNjMTViNGIyMGEyYmRkZjJjNTU3ZmMwZGY0MDNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXR0ZXJuLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oCkBAIC0zNSw3ICszNSw3IEBACiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBQ
TEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBDR1BhdHRlcm4qIENHUGF0
dGVyblJlZjsKIHR5cGVkZWYgQ0dQYXR0ZXJuUmVmIFBsYXRmb3JtUGF0dGVyblB0cjsKICNlbGlm
IFVTRShDQUlSTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NpbXBsZUZvbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oCmluZGV4IGUxMDUyZGY1YmVkYzZkN2I5Mjk4YWRhMmQzZjJjZmJkNWZhMjRh
ZTUuLjY3ZTg2NGFiYjAyMTkwNjdmOGExZGVkMmY2MDNjZjY4YzVhMjAzNzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMTE1
LDcgKzExNSw3IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX3NwYWNlV2lkdGg7IH0KIAotI2lmIFBMQVRGT1JNKENHKSB8fCBVU0UoQ0FJUk8pIHx8
IFBMQVRGT1JNKFdYKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykgfHwg
VVNFKENBSVJPKSB8fCBQTEFURk9STShXWCkgfHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKICAg
ICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNC
b2xkT2Zmc2V0OyB9CiAjZW5kaWYKIApAQCAtMjUyLDcgKzI1Miw3IEBAIHByaXZhdGU6CiAKICAg
ICBtdXRhYmxlIE93blB0cjxEZXJpdmVkRm9udERhdGE+IG1fZGVyaXZlZEZvbnREYXRhOwogCi0j
aWYgUExBVEZPUk0oQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZPUk0oV1gpIHx8IFVTRShTS0lB
X09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFdY
KSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogICAgIGZsb2F0IG1fc3ludGhldGljQm9sZE9m
ZnNldDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9Db2xvckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0NvbG9yQ0cuY3BwCmluZGV4IGM5YjA1ZGFjOTQ1NzgyNjdkOWJkYzI1NzNhNzMwODM5MThlNDI1
MTcuLjU1YTMwMTcxNzBkMjZiZmQxNDBlMTk4ZmIzNTE1OGIyOWVhOTVmMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKIAotI2lmIFBM
QVRGT1JNKENHKQorI2lmIFVTRShDRykKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENHLmgi
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTE0Niw0ICsxNDYsNCBAQCBDR0NvbG9y
UmVmIGNhY2hlZENHQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3Bh
Y2UpCiAKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKENHKQorI2VuZGlmIC8vIFVTRShDRykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UG9pbnRD
Ry5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFBvaW50Q0cu
Y3BwCmluZGV4IGI1YjA1NDlkYjhhY2ViNThhYjA0MDg2MzkwOTk2OWJhN2QxNGZhMGEuLjVlN2Fh
YjNlNDg4ZWI1MjEyY2I3YTljZGRiNzJmYmVkMjBmMzU2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UG9pbnRDRy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRQb2ludENHLmNwcApAQCAtMjcsNyAr
MjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKIAot
I2lmIFBMQVRGT1JNKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQorI2lmIFVTRShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKIAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2Vydmlj
ZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogCkBAIC00NCw0ICs0NCw0IEBAIEZsb2F0UG9pbnQ6
Om9wZXJhdG9yIENHUG9pbnQoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykK
KyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9GbG9hdFJlY3RDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9GbG9hdFJlY3RDRy5jcHAKaW5kZXggMTI0Y2JlZmVjYWMyYmJkMDcxNTQ4ODFiOGI5
ZDM3ZTQ4YmM4ZjhmMy4uMTMxYjdhY2FhNWYwOTA2ZTdjYTU3MDBlN2ZhYTI3NGQ4MWIyY2U3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvRmxvYXRSZWN0
Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Zsb2F0UmVj
dENHLmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJP
TUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogCiAjaW5jbHVkZSA8
QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKQEAgLTQ0LDQgKzQ0
LDQgQEAgRmxvYXRSZWN0OjpvcGVyYXRvciBDR1JlY3QoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAv
LyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9GbG9hdFNpemVDRy5jcHAKaW5kZXggM2JkNjliZTQyYTJj
ZGQ5MjA3M2IzNTU4Nzc0MWUwZGIzOGNiNjQyNi4uYTAzNWM3YWVkNTRmMjFiM2E3NzcyOTBjZmI2
Zjc4ODliN2Q2YjExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvRmxvYXRTaXplQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0Zsb2F0U2l6ZUNHLmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShT
S0lBX09OX01BQ19DSFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01F
KQogCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+
CiAKQEAgLTQ0LDQgKzQ0LDQgQEAgRmxvYXRTaXplOjpvcGVyYXRvciBDR1NpemUoKSBjb25zdAog
CiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUNHLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCmluZGV4IGUwMTRi
NWYzMThjYmZmZTMwMTA1NmIzNjQzZDY4ZDU2ZDlkMDcxZDAuLjI0YjcyNzVmNGUwYTgxNzFmMWU4
MjUxYTg1YzExNGViY2VjOGM3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQ0cuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVT
RShDRykKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkZsb2F0Q29u
dmVyc2lvbi5oIgpAQCAtMzU5LDQgKzM1OSw0IEBAIHZvaWQgSW1hZ2U6OmRyYXdQYXR0ZXJuKEdy
YXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxvYXRSZWN0JiB0aWxlUmVjdCwgY29uc3QKIAog
fQogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ0cpCisjZW5kaWYgLy8gVVNFKENHKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcApp
bmRleCAwNjhlYTViNmI0YTg0ZjRjZTEyZDQyMzk1MmEzMzg2OGIwYWUxODVmLi4xYTYzMGQ0ODFl
MDg4ZGExNmE4N2M2ODIxYTMxYTRmODgxYWNkZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlU291cmNlLmgiCiAKLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSAiSW1hZ2VTb3VyY2VDRy5oIgog
CiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKQEAgLTM1Niw0ICszNTYsNCBAQCBib29sIEltYWdlU291
cmNlOjpmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QpCiAKIH0KIAotI2VuZGlmIC8vIFBMQVRG
T1JNKENHKQorI2VuZGlmIC8vIFVTRShDRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ludFBvaW50Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSW50UG9pbnRDRy5jcHAKaW5kZXggOTkyMzJjOTA2NjFjNzg4MTg2ZGM4
MDkzNTc2ZmZiZDE2YTNkMjEzOC4uNGExMDk2YjFjMWM1Y2Y1OWQxMGE1NDY1NzVlYWM2NTllMGU3
OWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
UG9pbnRDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50
UG9pbnRDRy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbnRQb2ludC5oIgogCi0jaWYgUExBVEZPUk0oQ0cpIHx8IFVTRShTS0lBX09OX01BQ19D
SFJPTUUpCisjaWYgVVNFKENHKSB8fCBVU0UoU0tJQV9PTl9NQUNfQ0hST01FKQogCiAjaW5jbHVk
ZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAKQEAgLTQzLDQg
KzQzLDQgQEAgSW50UG9pbnQ6Om9wZXJhdG9yIENHUG9pbnQoKSBjb25zdAogCiB9CiAKLSNlbmRp
ZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRSZWN0Q0cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50UmVjdENHLmNwcAppbmRleCAzMWM1MzJhNjU1ODM3
ZGFjZGVlY2IxMjgyOGFiNWUzMDY5OGUxNTk3Li4xOGVkZWIwZmMwYWU3MzgxMjk4YTZhZDAwNTky
MzY5NzhiZDExOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JbnRSZWN0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ludFJlY3RDRy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKFNLSUFfT05f
TUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUUpCiAKICNp
bmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApAQCAt
NDgsNCArNDgsNCBAQCBJbnRSZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3QgQ0dSZWN0JiByZWN0
KQogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXplQ0cuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW50U2l6ZUNHLmNwcAppbmRl
eCBiYmRmNDU5OTE0YTU0MTVkOWNmODA3ZjU1Y2Q2OGMyMmIwMmMzYWY1Li5jODQ0Y2JjNWNiMTA3
ODFkNDc4NDIxYmJmNjhiOGE0YTY4ODAzNjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbnRTaXplQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ludFNpemVDRy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAKLSNpZiBQTEFURk9STShDRykg
fHwgVVNFKFNLSUFfT05fTUFDX0NIUk9NRSkKKyNpZiBVU0UoQ0cpIHx8IFVTRShTS0lBX09OX01B
Q19DSFJPTUUpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuaD4KIApAQCAtNDMsNCArNDMsNCBAQCBJbnRTaXplOjpvcGVyYXRvciBDR1NpemUoKSBj
b25zdAogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVu
dEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3Vt
ZW50SW1hZ2UuY3BwCmluZGV4IDhiZjA0ZjFkZjZhYjNkZjczMjg1NGE4MmU5ZWE2YjNiZGMzMTNi
YzguLmE3ZDQ2NWZhN2NkMzM1ZDRjOWM5ZGNhYjNmMzQ1YWExYjFjMTI3ZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1h
Z2UuY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
UERGRG9jdW1lbnRJbWFnZS5oIgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogCiAj
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgpA
QCAtMTg4LDQgKzE4OCw0IEBAIHZvaWQgUERGRG9jdW1lbnRJbWFnZTo6ZHJhdyhHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwKIAogfQogCi0jZW5kaWYg
Ly8gUExBVEZPUk0oQ0cpCisjZW5kaWYgLy8gVVNFKENHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5oCmluZGV4IGVjZDU3
YmVmYjcxNmUxNmNmNTk3MzcxY2E2YzAwNDk1OWY4ZGI0ZGEuLmM2OWEyMjI0OTNmMWE1ZjI3Y2Yy
N2ZiYmVjNGUxNmViY2I5ZTllYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNp
bmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCiAKLSNpZiBQ
TEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2Vz
L0FwcGxpY2F0aW9uU2VydmljZXMuaD4KIApAQCAtNzgsNiArNzgsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKENHKQorI2VuZGlmIC8vIFVTRShDRykK
IAogI2VuZGlmIC8vIFBERkRvY3VtZW50SW1hZ2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5jcHAKaW5kZXggYjhmYzdkNDk1MThiNTk0YTA4MGZkOTI4
N2ZlOGY2ZTQzZDliYmUyZS4uM2I5NzI1YTVkNGNiZDlhNDZkNmJkNzZjY2U5N2IyZWE3ODc1ZDQ5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENH
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cuY3Bw
CkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGF0aC5o
IgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogCiAjaW5jbHVkZSAiQWZmaW5lVHJh
bnNmb3JtLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCkBAIC0zMDksNCArMzA5LDQgQEAgdm9p
ZCBQYXRoOjp0cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCiAKIH0K
IAotI2VuZGlmIC8vIFBMQVRGT1JNKENHKQorI2VuZGlmIC8vIFVTRShDRykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1RyYW5zZm9ybWF0aW9uTWF0cml4
Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNmb3JtYXRp
b25NYXRyaXhDRy5jcHAKaW5kZXggZWM0MDgzNmZkNTM5NGJkZGI0MmFlZjEwNzcxNWZmMzZkMWMw
MDNjYy4uYjQ5YTJhYjM4NDBjMDVkM2I0MmU5MzJjMGUxMTFkNjgwZGU4MmI1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNmb3JtYXRpb25NYXRy
aXhDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVHJhbnNm
b3JtYXRpb25NYXRyaXhDRy5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJBZmZpbmVU
cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogCi0jaWYgUExB
VEZPUk0oQ0cpCisjaWYgVVNFKENHKQogCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5l
VHJhbnNmb3JtLmg+CiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCkBAIC02Niw0ICs2Niw0
IEBAIEFmZmluZVRyYW5zZm9ybTo6b3BlcmF0b3IgQ0dBZmZpbmVUcmFuc2Zvcm0oKSBjb25zdAog
CiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRykKKyNlbmRpZiAvLyBVU0UoQ0cpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVy
Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0lt
YWdlTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDZlODY0OTkwZDc2Y2Q3MTJmNTkxYWUzOTBkMTdiMjAz
Y2VlYTI1ZDAuLjhhYjc2YThiNjk3MmE2NzU4ZDA5N2MyNWY0MzEwNzY0NzE1MWE1MjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5
ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5oCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSAiQ29u
dGVudExheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJQbGF0Zm9ybUltYWdlLmgiCiAKLSNpZiBQ
TEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDlkODZjZDBh
Y2Q1ZjFhMTRjMjMzMjRjM2VhYTVmOTFmNzEyMzdjMGIuLjI3YTY3ZTkwMjg5NjU2N2MzNDkzYWZm
NDk5YTc0Njk2NTVlNzAzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cApAQCAtNTAsNyArNTAsNyBAQAogI2lmIFVTRShTS0lBKQogI2luY2x1ZGUgIk5hdGl2ZUltYWdl
U2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNlbGlmIFBMQVRGT1JN
KENHKQorI2VsaWYgVVNFKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0JpdG1hcENvbnRl
eHQuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IGM5
ODFlNjViOTRiMTBjMGU0NjAxZWExZmM4ZWE2MTI0ZDk3MGRjYjIuLjgxM2ViNDZlMGJhYTM2NTEz
ZDYwNzhkYTI1YTQyNWQ0NDVhZWJlZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5oCkBAIC01Miw3ICs1Miw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KICNlbmRpZgpAQCAtMTkwLDcgKzE5MCw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFNrQ2Fu
dmFzPiBtX3Jvb3RMYXllckNhbnZhczsKICAgICBPd25QdHI8UGxhdGZvcm1Db250ZXh0U2tpYT4g
bV9yb290TGF5ZXJTa2lhQ29udGV4dDsKICAgICBPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBtX3Jv
b3RMYXllckdyYXBoaWNzQ29udGV4dDsKLSNlbGlmIFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENH
KQogICAgIFZlY3Rvcjx1aW50OF90PiBtX3Jvb3RMYXllckJhY2tpbmdTdG9yZTsKICAgICBSZXRh
aW5QdHI8Q0dDb250ZXh0UmVmPiBtX3Jvb3RMYXllckNHQ29udGV4dDsKICAgICBPd25QdHI8R3Jh
cGhpY3NDb250ZXh0PiBtX3Jvb3RMYXllckdyYXBoaWNzQ29udGV4dDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1BsYXRmb3JtQ2FudmFzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1BsYXRmb3JtQ2Fu
dmFzLmNwcAppbmRleCBlODIxYTNiZGFjNDdiNTYwNGFmNzk3M2EyNTQ4NzA4NTAxNjBiZGI3Li5h
ZmFhNmY3NzQ1M2IxZTE0NTE4ODg4YzUxNmM0NGFkNDQ4MjYzMTJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUNhbnZhcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUGxhdGZvcm1D
YW52YXMuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tp
YS5oIgogI2luY2x1ZGUgIlNrQ29sb3JQcml2LmgiCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZv
cm1fY2FudmFzLmgiCi0jZWxpZiBQTEFURk9STShDRykKKyNlbGlmIFVTRShDRykKICNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0Lmg+CiAjZW5kaWYKIApAQCAtNTMsNyArNTMs
NyBAQCB2b2lkIFBsYXRmb3JtQ2FudmFzOjpyZXNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAg
ICBtX3NpemUgPSBzaXplOwogI2lmIFVTRShTS0lBKQogICAgIG1fc2tpYUNhbnZhcyA9IHNraWE6
OkNyZWF0ZUJpdG1hcENhbnZhcyhzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIGZhbHNlKTsK
LSNlbGlmIFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENHKQogICAgIHNpemVfdCBidWZmZXJTaXpl
ID0gc2l6ZS53aWR0aCgpICogc2l6ZS5oZWlnaHQoKSAqIDQ7CiAgICAgbV9waXhlbERhdGEgPSBh
ZG9wdEFycmF5UHRyKG5ldyB1aW50OF90W2J1ZmZlclNpemVdKTsKICAgICBtZW1zZXQobV9waXhl
bERhdGEuZ2V0KCksIDAsIGJ1ZmZlclNpemUpOwpAQCAtNzMsNyArNzMsNyBAQCBQbGF0Zm9ybUNh
bnZhczo6QXV0b0xvY2tlcjo6QXV0b0xvY2tlcihQbGF0Zm9ybUNhbnZhcyogY2FudmFzKQogICAg
ICAgICAgICAgbV9waXhlbHMgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4obV9iaXRtYXAtPmdldFBp
eGVscygpKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9iaXRtYXAgPSAwOwotI2VsaWYgUExBVEZP
Uk0oQ0cpCisjZWxpZiBVU0UoQ0cpCiAgICAgaWYgKGNhbnZhcy0+bV9waXhlbERhdGEpCiAgICAg
ICAgIG1fcGl4ZWxzID0gJmNhbnZhcy0+bV9waXhlbERhdGFbMF07CiAjZW5kaWYKQEAgLTk1LDcg
Kzk1LDcgQEAgUGxhdGZvcm1DYW52YXM6OlBhaW50ZXI6OlBhaW50ZXIoUGxhdGZvcm1DYW52YXMq
IGNhbnZhcywgUGxhdGZvcm1DYW52YXM6OlBhaW50ZXIKICAgICBtX3NraWFDb250ZXh0LT5zZXRE
cmF3aW5nVG9JbWFnZUJ1ZmZlcihvcHRpb24gPT0gR3JheXNjYWxlVGV4dCk7CiAKICAgICBtX2Nv
bnRleHQgPSBhZG9wdFB0cihuZXcgR3JhcGhpY3NDb250ZXh0KHJlaW50ZXJwcmV0X2Nhc3Q8UGxh
dGZvcm1HcmFwaGljc0NvbnRleHQqPihtX3NraWFDb250ZXh0LmdldCgpKSkpOwotI2VsaWYgUExB
VEZPUk0oQ0cpCisjZWxpZiBVU0UoQ0cpCiAKICAgICBtX2NvbG9yU3BhY2UgPSBDR0NvbG9yU3Bh
Y2VDcmVhdGVEZXZpY2VSR0IoKTsKICAgICBzaXplX3Qgcm93Qnl0ZXMgPSBjYW52YXMtPnNpemUo
KS53aWR0aCgpICogNDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1BsYXRmb3JtQ2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUNhbnZhcy5oCmluZGV4IDQwN2JmM2QwYjljYTQ3ZmEx
YmI2ZjA5N2Q0ZDMzMTgxMjUyMmVjMDUuLmIwMDJkMjY0MTljYzQwNTcxNTMyYzJiMDE3ZGZmNGU3
MzFmNzJhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1BsYXRmb3JtQ2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vUGxhdGZvcm1DYW52YXMuaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIFBM
QVRGT1JNKENHKQorI2lmIFVTRShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb2xvclNw
YWNlLmg+CiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dC5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25BcnJheVB0ci5oPgpAQCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAgICAgIE93blB0
cjxHcmFwaGljc0NvbnRleHQ+IG1fY29udGV4dDsKICNpZiBVU0UoU0tJQSkKICAgICAgICAgT3du
UHRyPFBsYXRmb3JtQ29udGV4dFNraWE+IG1fc2tpYUNvbnRleHQ7Ci0jZWxpZiBQTEFURk9STShD
RykKKyNlbGlmIFVTRShDRykKICAgICAgICAgUmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gbV9j
b2xvclNwYWNlOwogICAgICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX2NvbnRleHRDRzsK
ICNlbmRpZgpAQCAtMTAwLDcgKzEwMCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAjaWYgVVNFKFNL
SUEpCiAgICAgT3duUHRyPFNrQ2FudmFzPiBtX3NraWFDYW52YXM7Ci0jZWxpZiBQTEFURk9STShD
RykKKyNlbGlmIFVTRShDRykKICAgICBPd25BcnJheVB0cjx1aW50OF90PiBtX3BpeGVsRGF0YTsK
ICNlbmRpZgogICAgIEludFNpemUgbV9zaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUGxhdGZvcm1JbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUltYWdlLmNwcAppbmRleCA2
MmNmNGY4ZmViNzNmMGY3OGJhZmRhOTIxMDYyZmM1M2U3MTA4MTJlLi5jMzFiMjljNGI0MDMxMGY1
OGE4MDJkNzRlOTViMmI3ZGFiMDA0NWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9QbGF0Zm9ybUltYWdlLmNwcApAQCAtMzAs
NyArMzAsNyBAQAogI2lmIFVTRShTS0lBKQogI2luY2x1ZGUgIk5hdGl2ZUltYWdlU2tpYS5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNlbGlmIFBMQVRGT1JNKENHKQorI2Vs
aWYgVVNFKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0JpdG1hcENvbnRleHQuaD4KICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+CiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNz
L0NHSW1hZ2UuaD4KQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBQbGF0Zm9ybUltYWdlOjp1cGRhdGVG
cm9tSW1hZ2UoTmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1hZ2UpCiAKICAgICBJbnRTaXplIGJpdG1h
cFNpemUoc2tpYUJpdG1hcC0+d2lkdGgoKSwgc2tpYUJpdG1hcC0+aGVpZ2h0KCkpOwogICAgIEFT
U0VSVChza2lhQml0bWFwKTsKLSNlbGlmIFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENHKQogICAg
IC8vIE5hdGl2ZUltYWdlUHRyIGlzIGEgQ0dJbWFnZVJlZiBvbiBNYWMgT1MgWC4KICAgICBpbnQg
d2lkdGggPSBDR0ltYWdlR2V0V2lkdGgobmF0aXZlSW1hZ2UpOwogICAgIGludCBoZWlnaHQgPSBD
R0ltYWdlR2V0SGVpZ2h0KG5hdGl2ZUltYWdlKTsKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBQbGF0
Zm9ybUltYWdlOjp1cGRhdGVGcm9tSW1hZ2UoTmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1hZ2UpCiAg
ICAgLy8gRklYTUU6IGRvIHdlIG5lZWQgdG8gc3VwcG9ydCBtb3JlIGltYWdlIGNvbmZpZ3VyYXRp
b25zPwogICAgIEFTU0VSVChza2lhQml0bWFwLT5jb25maWcoKT09IFNrQml0bWFwOjprQVJHQl84
ODg4X0NvbmZpZyk7CiAgICAgc2tpYUJpdG1hcC0+Y29weVBpeGVsc1RvKG1fcGl4ZWxEYXRhLmdl
dCgpLCBidWZmZXJTaXplKTsKLSNlbGlmIFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENHKQogICAg
IC8vIEZJWE1FOiB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGlzIHRlbXBvcmFyeSBjb3B5IHdoZXJl
IHBvc3NpYmxlLgogICAgIGludCB0ZW1wUm93Qnl0ZXMgPSB3aWR0aCAqIDQ7CiAgICAgLy8gTm90
ZSB3ZSBkbyBub3QgemVybyB0aGlzIHZlY3RvciBzaW5jZSB3ZSBhcmUgZ29pbmcgdG8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
VXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBl
L09wZW5UeXBlVXRpbGl0aWVzLmNwcAppbmRleCA3ZjQ1NDdkZDRiYTc4NjAwMWQwZGVjZjc5ZDE2
OWNiZGZmM2RiMDVkLi42YWZlM2Q5MTQzM2U1MTQ0NmIyZDQzZDI3YTg1ZDQzYTY0NzdhNDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVu
VHlwZVV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVVdGlsaXRpZXMuY3BwCkBAIC03MCw3ICs3MCw3IEBAIHN0cnVjdCBU
YWJsZURpcmVjdG9yeUVudHJ5IHsKICAgICBCaWdFbmRpYW5VTG9uZyBsZW5ndGg7CiB9OwogCi0j
aWYgIVBMQVRGT1JNKENHKSB8fCAhZGVmaW5lZChDT1JFR1JBUEhJQ1NfSU5DTFVERVNfQ09SRVNF
UlZJQ0VTX0hFQURFUikKKyNpZiAhVVNFKENHKSB8fCAhZGVmaW5lZChDT1JFR1JBUEhJQ1NfSU5D
TFVERVNfQ09SRVNFUlZJQ0VTX0hFQURFUikKIC8vIEZpeGVkIHR5cGUgaXMgbm90IGRlZmluZWQg
b24gbm9uLUNHIGFuZCBXaW5kb3dzIHBsYXRmb3Jtcy4gfHZlcnNpb258IGluIHNmbnRIZWFkZXIK
IC8vIGFuZCBoZWFkVGFibGUgYW5kIHxmb250UmV2aXNpb258IGluIGhlYWRUYWJsZSBhcmUgb2Yg
Rml4ZWQsIGJ1dCB0aGV5J3JlCiAvLyBub3QgYWN0dWFsbHkgcmVmZXJlZCB0byBhbnl3aGVyZS4g
VGhlcmVmb3JlLCB3ZSBqdXN0IGhhdmUgdG8gbWF0Y2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CmluZGV4IDY5MjZkYTA2NTQ5ZDM4ZjViNTliOGNlYTIwNjhhMTEyZWExNzc1ZjMuLjE3NmM0MWVm
MzE3N2U2OWY4YzQzZDQ1MDkxZDRhZDY4NDA4MmM1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHN0cmluZy5oPiAvLyBmb3IgbWVtY3B5
CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAotI2lmIFBMQVRGT1JNKENHKQorI2lm
IFVTRShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KICNl
bGlmIFVTRShDQUlSTykKICNpbmNsdWRlIDxjYWlyby5oPgpAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSNpZiBQTEFURk9STShDRykK
KyNpZiBVU0UoQ0cpCiAgICAgb3BlcmF0b3IgQ0dBZmZpbmVUcmFuc2Zvcm0oKSBjb25zdDsKICNl
bGlmIFVTRShDQUlSTykKICAgICBvcGVyYXRvciBjYWlyb19tYXRyaXhfdCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IGMzOWU1YmQxY2JhZWYzM2JhMDg2
NTNmMWE4ODQ4NDgzYjZlZGE3YWIuLjk2OGQ2ZDM2NGEwZjNhYWUzMmIxZjU5NGUzY2FmMTg5OWNj
ODVlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKQEAgLTM0LDcgKzM0
LDcgQEAKICNpZiBQTEFURk9STShDQSkKIHR5cGVkZWYgc3RydWN0IENBVHJhbnNmb3JtM0QgQ0FU
cmFuc2Zvcm0zRDsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKIHR5cGVk
ZWYgc3RydWN0IENHQWZmaW5lVHJhbnNmb3JtIENHQWZmaW5lVHJhbnNmb3JtOwogI2VsaWYgVVNF
KENBSVJPKQogI2luY2x1ZGUgPGNhaXJvLmg+CkBAIC0zMTIsNyArMzEyLDcgQEAgcHVibGljOgog
ICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4KGNvbnN0IENBVHJhbnNmb3JtM0QmKTsKICAgICBvcGVy
YXRvciBDQVRyYW5zZm9ybTNEKCkgY29uc3Q7CiAjZW5kaWYKLSNpZiBQTEFURk9STShDRykKKyNp
ZiBVU0UoQ0cpCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQ0dBZmZpbmVUcmFuc2Zv
cm0mKTsKICAgICBvcGVyYXRvciBDR0FmZmluZVRyYW5zZm9ybSgpIGNvbnN0OwogI2VsaWYgVVNF
KENBSVJPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0RJQlBpeGVsRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RJ
QlBpeGVsRGF0YS5oCmluZGV4IGQ0YjI4NTI2ZjZmOTM1OThmNDYzYmMxZDkzYmU0YTRlOGJlMGIw
NDIuLjhlN2QxYTY4ZDU2MGZjOTUwZWI1YWQ0OTM3ZWMwZjk2ODQ2ZDk5YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9ESUJQaXhlbERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRElCUGl4ZWxEYXRhLmgKQEAg
LTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSA8d2luZG93cy5o
PgogCi0jaWYgIVBMQVRGT1JNKENHKQorI2lmICFVU0UoQ0cpCiAvLyBVSW50OCBpcyBkZWZpbmVk
IGluIENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oCiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgVUludDg7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q2FjaGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDYWNoZVdpbi5jcHAKaW5kZXggNzkwMjk0OTdhYjNhNzhmNzk4ZTRjYTUzNmIxOThmYTYz
OWQ1YTY3MS4uNDZmNmYxMTk0NzU5ZTBlYjcxOWVlZWQ0YTgzNmZhMjU3ZjY4NWE3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdp
bi5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNl
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNl
L1dlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlmCkBAIC00OCw3ICs0OCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlCiAKIHZvaWQgRm9udENhY2hlOjpwbGF0Zm9ybUluaXQoKQogewotI2lmIFBM
QVRGT1JNKENHKQorI2lmIFVTRShDRykKICAgICB3a1NldFVwRm9udENhY2hlKDE1MzYgKiAxMDI0
ICogNCk7IC8vIFRoaXMgc2l6ZSBtYXRjaGVzIE1hYy4KICNlbmRpZgogfQpAQCAtNDcxLDcgKzQ3
MSw3IEBAIHN0YXRpYyBIRk9OVCBjcmVhdGVHRElGb250KGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5LCBMT05HIGRlc2lyZWRXZWlnaHQsIGJvb2wKICAgICBtYXRjaERhdGEubV9jaG9zZW4ubGZV
bmRlcmxpbmUgPSBmYWxzZTsKICAgICBtYXRjaERhdGEubV9jaG9zZW4ubGZTdHJpa2VPdXQgPSBm
YWxzZTsKICAgICBtYXRjaERhdGEubV9jaG9zZW4ubGZDaGFyU2V0ID0gREVGQVVMVF9DSEFSU0VU
OwotI2lmIFBMQVRGT1JNKENHKSB8fCBVU0UoQ0FJUk8pCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJ
Uk8pCiAgICAgbWF0Y2hEYXRhLm1fY2hvc2VuLmxmT3V0UHJlY2lzaW9uID0gT1VUX1RUX09OTFlf
UFJFQ0lTOwogI2Vsc2UKICAgICBtYXRjaERhdGEubV9jaG9zZW4ubGZPdXRQcmVjaXNpb24gPSBP
VVRfVFRfUFJFQ0lTOwpAQCAtNTgxLDcgKzU4MSw3IEBAIEZvbnRQbGF0Zm9ybURhdGEqIEZvbnRD
YWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiByZXN1bHQgPSBuZXcgRm9udFBsYXRmb3JtRGF0YSho
Zm9udCwgZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCksIHN5bnRoZXNpemVCb2xk
LCBzeW50aGVzaXplSXRhbGljLCB1c2VHREkpOwogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNF
KENHKQogICAgIGJvb2wgZm9udENyZWF0aW9uRmFpbGVkID0gIXJlc3VsdC0+Y2dGb250KCk7CiAj
ZWxpZiBVU0UoQ0FJUk8pCiAgICAgYm9vbCBmb250Q3JlYXRpb25GYWlsZWQgPSAhcmVzdWx0LT5z
Y2FsZWRGb250KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKaW5kZXggZTI1MDc0NjQzMmQzZTk0
OTUyY2NjNTM3NGNjOTZmY2E5OTBlMzYzNy4uZDBiMzdiZGEzZTVmNmYzODZhZmVkNzU1NGQyOTc4
MTA3YTM5NjVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcApAQCAtNDEsNyArNDEsNyBAQCBG
b250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0IHNpemUs
IGJvb2wgYm9sZCwgYm9vbCBvYmxpcQogICAgICwgbV9vcmllbnRhdGlvbihIb3Jpem9udGFsKQog
ICAgICwgbV90ZXh0T3JpZW50YXRpb24oVGV4dE9yaWVudGF0aW9uVmVydGljYWxSaWdodCkKICAg
ICAsIG1fd2lkdGhWYXJpYW50KFJlZ3VsYXJXaWR0aCkKLSNpZiBQTEFURk9STShDRykKKyNpZiBV
U0UoQ0cpCiAgICAgLCBtX2NnRm9udCgwKQogI2VsaWYgVVNFKENBSVJPKQogICAgICwgbV9zY2Fs
ZWRGb250KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3BwCmluZGV4IDVkNTJjYzA4YmYyODA5MWVhOGI3
NTlmN2YwMjgyZDg1YjBjYjAzMzcuLjI4Y2U1NWEzMGM1M2UyMTYyMmFmNDgwMzMwNzkwYTk2OTcw
MTZmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9H
cmFwaGljc0NvbnRleHRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAKLSNpZiBQTEFURk9S
TShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlQ0cuaCIKICNlbGlmIFVTRShDQUlSTykKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGVDYWlyby5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZUZ1bGxz
Y3JlZW5XaW5kb3cuY3BwCmluZGV4IGRkM2NkMzIwYmI3OGE0MTQ3N2I5OTUwOTg5ZWQyZDhmMDNj
YjhjOTcuLjU4ODE0NmFhNDVhNjkwY2YzMDhlZDhlNjY4MWU0NGZjYTI3ODQxMjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZh
dGVGdWxsc2NyZWVuV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbldpbmRvdy5jcHAKQEAgLTMwLDcg
KzMwLDcgQEAKICNpbmNsdWRlICJXZWJDb3JlSW5zdGFuY2VIYW5kbGUuaCIKICNpbmNsdWRlIDx3
aW5kb3dzLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NHQ29sb3IuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAppbmRleCAz
MjNmZjczM2U5ZWY4MTRjMmNlMDZlZjQzNTk2NGI5NzZmODg4MThmLi5kYjczMGNhYzM1ZmM5ZDJk
MmZkZjYyMTkyM2RhYjgxZGEyMDM5M2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKQEAgLTM5LDcg
KzM5LDcgQEAKICNpbmNsdWRlIDx3aW5zb2NrMi5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8QXBwbGljYXRp
b25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlL1dlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmNwcApp
bmRleCAyMmU3YTRmMTNjODJjMThmOWIwMGFhMTVmYTg5MGQ5M2QzMDUzYjI3Li45MzlkZGRiYjVj
ZWE2Y2VjYTNjNzFjMTBkZDk1Zjk1MTIzZGI0NGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5jcHAKQEAgLTE2Nyw3
ICsxNjcsNyBAQCB2b2lkIEltYWdlRnJhbWU6Onplcm9GaWxsUGl4ZWxEYXRhKCkKICAgICBtX2hh
c0FscGhhID0gdHJ1ZTsKIH0KIAotI2lmICFQTEFURk9STShDRykKKyNpZiAhVVNFKENHKQogCiB2
b2lkIEltYWdlRnJhbWU6OmNvcHlSZWZlcmVuY2VUb0JpdG1hcERhdGEoY29uc3QgSW1hZ2VGcmFt
ZSYgb3RoZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4IDM4YjRjOTc1ZjBlYWMyZGI3MzBjOWE4MTNjY2Zm
NGM1ZDc4NjU3YTQuLmNlOGIyN2NlZDVhMzRjMDVlYTcyYTAwN2VmNmIwNTZlMGMzY2NhNzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdl
RGVjb2Rlci5oCkBAIC0xNDIsNyArMTQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAKICAgICBwcml2YXRlOgotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICAgICAgICAg
dHlwZWRlZiBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGF0YVJlZj4gTmF0aXZlQmFja2luZ1N0b3JlOwog
I2Vsc2UKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8UGl4ZWxEYXRhPiBOYXRpdmVCYWNraW5nU3Rv
cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZGQzMTNhYzk1
Zjc4MGI2YzZiMGRlODFlYjYzYzM0NTAxZDRlNDRjMy4uMzA5NjU2OTMyZDU5M2FiN2ZjNjBjZDQ5
N2QwZjBlZGUzMDU4ZGNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAj
aW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKLSNpZiBQTEFURk9STShDRykgfHwgVVNFKENB
SVJPKSB8fCBQTEFURk9STShRVCkKKyNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZP
Uk0oUVQpCiAjZGVmaW5lIEhBVkVfUEFUSF9CQVNFRF9CT1JERVJfUkFESVVTX0RSQVdJTkcgMQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKaW5kZXggOTY1MTRhZmNjZGZiNmZiYzQzMmM5ODY5ODE4
ODFmMWRmZDBlNDBlYi4uMDkxOTVmNTdjNjRhZjgzMmM1ZWJhZTU3MzgxNzk5M2U1NDQzODYxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlci5jcHAKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgR3JhcGhp
Y3NDbwogCiAgICAgICAgIGNvbnRleHQgPSBmaWx0ZXJEYXRhLT5zYXZlZENvbnRleHQ7CiAgICAg
ICAgIGZpbHRlckRhdGEtPnNhdmVkQ29udGV4dCA9IDA7Ci0jaWYgIVBMQVRGT1JNKENHKQorI2lm
ICFVU0UoQ0cpCiAgICAgICAgIGlmIChmaWx0ZXJEYXRhLT5zb3VyY2VHcmFwaGljQnVmZmVyKQog
ICAgICAgICAgICAgZmlsdGVyRGF0YS0+c291cmNlR3JhcGhpY0J1ZmZlci0+dHJhbnNmb3JtQ29s
b3JTcGFjZShDb2xvclNwYWNlRGV2aWNlUkdCLCBDb2xvclNwYWNlTGluZWFyUkdCKTsKICNlbmRp
ZgpAQCAtMjk2LDcgKzI5Niw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RB
cHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvCiAgICAgICAgIC8v
IEFsd2F5cyB0cnVlIGlmIGZpbHRlckRhdGEgaXMganVzdCBidWlsdCAoZmlsdGVyRGF0YS0+YnVp
bGRlZCBpcyBmYWxzZSkuCiAgICAgICAgIGlmICghbGFzdEVmZmVjdC0+aGFzUmVzdWx0KCkpIHsK
ICAgICAgICAgICAgIGxhc3RFZmZlY3QtPmFwcGx5KCk7Ci0jaWYgIVBMQVRGT1JNKENHKQorI2lm
ICFVU0UoQ0cpCiAgICAgICAgICAgICBJbWFnZUJ1ZmZlciogcmVzdWx0SW1hZ2UgPSBsYXN0RWZm
ZWN0LT5hc0ltYWdlQnVmZmVyKCk7CiAgICAgICAgICAgICBpZiAocmVzdWx0SW1hZ2UpCiAgICAg
ICAgICAgICAgICAgcmVzdWx0SW1hZ2UtPnRyYW5zZm9ybUNvbG9yU3BhY2UoQ29sb3JTcGFjZUxp
bmVhclJHQiwgQ29sb3JTcGFjZURldmljZVJHQik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAppbmRleCA5
ZjJiYjhkNWEwNWEwYTcxNzUyNTk1YmVhYTc3ODNlZDQ0MjhhZGRmLi5hNDJhMjI3ZmFjZGY0MzNh
YzM2NmYxNjAwNmE3YjZiODMwNWNmNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6
UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudChTVkdHcmFkaWVudEVsZW1lbnQqIG5vZGUpCiAgICAg
OiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogICAgICwgbV9zaG91bGRDb2xsZWN0
R3JhZGllbnRBdHRyaWJ1dGVzKHRydWUpCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQog
ICAgICwgbV9zYXZlZENvbnRleHQoMCkKICNlbmRpZgogewpAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OnJlbW92ZUNsaWVudEZyb21DYWNoZShSZW5kZXJP
YmplY3QqIGNsaWVudCwgYm9vbAogICAgIG1hcmtDbGllbnRGb3JJbnZhbGlkYXRpb24oY2xpZW50
LCBtYXJrRm9ySW52YWxpZGF0aW9uID8gUmVwYWludEludmFsaWRhdGlvbiA6IFBhcmVudE9ubHlJ
bnZhbGlkYXRpb24pOwogfQogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogc3RhdGlj
IGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRHcmFkaWVudChHcmFw
aGljc0NvbnRleHQqJiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQqJiBzYXZlZENvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdlQnVmZmVyLApAQCAtMTc4LDcgKzE3OCw3IEBA
IGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqCiAgICAgICAgIC8vIENHIHBsYXRmb3JtcyB3aWxsIGhh
bmRsZSB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIGZvciB0ZXh0IGFmdGVyIGFwcGx5aW5n
IHRoZQogICAgICAgICAvLyByZXNvdXJjZSwgc28gZG9uJ3QgYXBwbHkgaXQgaGVyZS4gRm9yIG5v
bi1DRyBwbGF0Zm9ybXMsIHdlIHdhbnQgdGhlIHRleHQgYm91bmRpbmcKICAgICAgICAgLy8gYm94
IGFwcGxpZWQgdG8gdGhlIGdyYWRpZW50IHNwYWNlIHRyYW5zZm9ybSBub3csIHNvIHRoZSBncmFk
aWVudCBzaGFkZXIgY2FuIHVzZSBpdC4KLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAg
ICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSAmJiAhb2JqZWN0Qm91bmRpbmdCb3guaXNFbXB0
eSgpICYmICFpc1BhaW50aW5nVGV4dCkgewogI2Vsc2UKICAgICAgICAgaWYgKGJvdW5kaW5nQm94
TW9kZSgpICYmICFvYmplY3RCb3VuZGluZ0JveC5pc0VtcHR5KCkpIHsKQEAgLTIwMSw3ICsyMDEs
NyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmFwcGx5UmVzb3VyY2UoUmVuZGVy
T2JqZWN0KiBvYmplY3QsIFJlbmRlclN0eWxlKgogICAgIGNvbnRleHQtPnNhdmUoKTsKIAogICAg
IGlmIChpc1BhaW50aW5nVGV4dCkgewotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICAg
ICAgICAgaWYgKCFjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoY29udGV4
dCwgbV9zYXZlZENvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCkpIHsKICAgICAgICAgICAg
IGNvbnRleHQtPnJlc3RvcmUoKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIzNSw3
ICsyMzUsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OnBvc3RBcHBseVJlc291
cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljcwogICAgIEFTU0VSVChyZXNvdXJjZU1v
ZGUgIT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsKIAogICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBs
eVRvVGV4dE1vZGUpIHsKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgICAgIC8v
IENHIHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGdyYWRpZW50IG9uIHRleHQKICAgICAg
ICAgaWYgKG1fc2F2ZWRDb250ZXh0ICYmIG1fZ3JhZGllbnQuY29udGFpbnMob2JqZWN0KSkgewog
ICAgICAgICAgICAgR3JhZGllbnREYXRhKiBncmFkaWVudERhdGEgPSBtX2dyYWRpZW50LmdldChv
YmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlR3JhZGllbnQuaAppbmRleCBhZDQwYjUzZjNlNWQyMjQwYzQzMDQxOGM0N2Ri
OWMzNDBhZjA0ZWRmLi5hNzFiNmM1ZDVkYzBlMzFhZDI4NTM0MTc3OGQ4MjVlN2YxM2Q5MmMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlR3JhZGllbnQuaApAQCAtNjUsNyArNjUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9z
aG91bGRDb2xsZWN0R3JhZGllbnRBdHRyaWJ1dGVzIDogMTsKICAgICBIYXNoTWFwPFJlbmRlck9i
amVjdCosIEdyYWRpZW50RGF0YSo+IG1fZ3JhZGllbnQ7CiAKLSNpZiBQTEFURk9STShDRykKKyNp
ZiBVU0UoQ0cpCiAgICAgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsKICAgICBPd25Q
dHI8SW1hZ2VCdWZmZXI+IG1faW1hZ2VCdWZmZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKaW5k
ZXggN2IyNDI0OGU0OGE0NDdhYmVjMzJkMWU3MDk4ZTMwNzlkYWU2OTA4ZC4uZGMwZGYwODNmMTE5
OWM0YWYyMWUxZTM1ZWY3YTA3Mjg4MTIzZTVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKQEAgLTE1NCw3
ICsxNTQsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29udGVudEludG9N
YXNrSW1hZ2UoTWFza2VyRGF0YSogbWFza2VyRGF0YSwgYwogCiAgICAgbWFza0ltYWdlQ29udGV4
dC0+cmVzdG9yZSgpOwogCi0jaWYgIVBMQVRGT1JNKENHKQorI2lmICFVU0UoQ0cpCiAgICAgbWFz
a2VyRGF0YS0+bWFza0ltYWdlLT50cmFuc2Zvcm1Db2xvclNwYWNlKENvbG9yU3BhY2VEZXZpY2VS
R0IsIENvbG9yU3BhY2VMaW5lYXJSR0IpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAppbmRl
eCBiODJiZTFiYzUzZjY2YTBjMGUyNmM1MDhhZjk0MjU0YmU1ODM3ZmRhLi5mYzI2OTc4ZDQyZGM0
MGYyZmE4YWI5ZDM2YjE0YmEzYzhkMTJmOWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCkBAIC0xNjYs
MTMgKzE2NiwxMyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6YXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqCiAgICAgICAgIGlmIChyZXNvdXJj
ZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFRleHRE
cmF3aW5nTW9kZShUZXh0TW9kZUZpbGwpOwogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENH
KQogICAgICAgICAgICAgY29udGV4dC0+YXBwbHlGaWxsUGF0dGVybigpOwogI2VuZGlmCiAgICAg
ICAgIH0gZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKICAgICAg
ICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShUZXh0TW9kZVN0cm9rZSk7CiAKLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgICAgICAgICBjb250ZXh0LT5hcHBseVN0
cm9rZVBhdHRlcm4oKTsKICNlbmRpZgogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDI4MTZhNmZhNGU5OWY4MjkyZTNlNWE2MmIyODU5Y2MwZGRmM2FjMTMuLjQ1NWExM2Vl
ZWE5MzY5NmIwOTJmZGM0OWFkNjI1YzcyOGJlMzQyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDQtMTYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFy
b2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENHKSB0byBVU0UoQ0cpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODcyOQorCisgICAgICAgICogc3JjL0dy
YXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbDo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjp+R3JhcGhpY3NDb250ZXh0M0RJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpwYWlu
dFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzREludGVybmFsOjpyZXNoYXBlKToKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0
M0RJbnRlcm5hbC5oOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybUJyaWRnZS5jcHA6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmRv
UGl4ZWxSZWFkYmFja1RvQ2FudmFzKToKKwogMjAxMS0wNC0xNSAgSm9obiBCYXRlcyAgPGpiYXRl
c0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hy
b21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RD
aHJvbWl1bS5jcHAKaW5kZXggYjZjOTNjOTgyMTllODJlMGU1MWRhODk4MjRmNzQ0MDYwZWZlMmZk
MS4uNjExMTAzYzUxOGZiNGVhYTJiMWZmYTEzOTE2ZTVmNzE2ODc1MWZiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1
bS5jcHAKQEAgLTU0LDcgKzU0LDcgQEAKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShD
RykKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaCIKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+CkBAIC04NCw3
ICs4NCw3IEBAIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNESW50
ZXJuYWwoKQogICAgICwgbV9pbml0aWFsaXplZEF2YWlsYWJsZUV4dGVuc2lvbnMoZmFsc2UpCiAg
ICAgLCBtX2xheWVyQ29tcG9zaXRlZChmYWxzZSkKICNpZiBVU0UoU0tJQSkKLSNlbGlmIFBMQVRG
T1JNKENHKQorI2VsaWYgVVNFKENHKQogICAgICwgbV9yZW5kZXJPdXRwdXQoMCkKICNlbHNlCiAj
ZXJyb3IgTXVzdCBwb3J0IHRvIHlvdXIgcGxhdGZvcm0KQEAgLTk0LDcgKzk0LDcgQEAgR3JhcGhp
Y3NDb250ZXh0M0RJbnRlcm5hbDo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbCgpCiAKIEdyYXBo
aWNzQ29udGV4dDNESW50ZXJuYWw6On5HcmFwaGljc0NvbnRleHQzREludGVybmFsKCkKIHsKLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgaWYgKG1fcmVuZGVyT3V0cHV0KQogICAg
ICAgICBkZWxldGVbXSBtX3JlbmRlck91dHB1dDsKICNlbmRpZgpAQCAtMjEwLDcgKzIxMCw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9D
YW52YXMoQ2FudmFzUmVuZGVyaW5nQ29uCiAgICAgLy8gUmVhZCBiYWNrIHRoZSBmcmFtZSBidWZm
ZXIuCiAgICAgU2tBdXRvTG9ja1BpeGVscyBiaXRtYXBMb2NrKCpyZWFkYmFja0JpdG1hcCk7CiAg
ICAgcGl4ZWxzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KHJlYWRiYWNrQml0bWFwLT5n
ZXRQaXhlbHMoKSk7Ci0jZWxpZiBQTEFURk9STShDRykKKyNlbGlmIFVTRShDRykKICAgICBpZiAo
bV9yZW5kZXJPdXRwdXQpCiAgICAgICAgIHBpeGVscyA9IG1fcmVuZGVyT3V0cHV0OwogI2Vsc2UK
QEAgLTIzOCw3ICsyMzgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OnBhaW50
UmVuZGVyaW5nUmVzdWx0c1RvQ2FudmFzKENhbnZhc1JlbmRlcmluZ0NvbgogICAgICAgICBkc3Qu
c2V0KFNrSW50VG9TY2FsYXIoMCksIFNrSW50VG9TY2FsYXIoMCksIFNrSW50VG9TY2FsYXIoY2Fu
dmFzQml0bWFwLT53aWR0aCgpKSwgU2tJbnRUb1NjYWxhcihjYW52YXNCaXRtYXAtPmhlaWdodCgp
KSk7CiAgICAgICAgIGNhbnZhcy5kcmF3Qml0bWFwUmVjdChtX3Jlc2l6aW5nQml0bWFwLCAwLCBk
c3QpOwogICAgIH0KLSNlbGlmIFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENHKQogICAgIGlmICht
X3JlbmRlck91dHB1dCAmJiBjb250ZXh0LT5pczNkKCkpIHsKICAgICAgICAgV2ViR0xSZW5kZXJp
bmdDb250ZXh0KiB3ZWJHTENvbnRleHQgPSBzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqPihjb250ZXh0KTsKICAgICAgICAgd2ViR0xDb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgp
LT5wYWludFRvQ2FudmFzKG1fcmVuZGVyT3V0cHV0LCBtX2ltcGwtPndpZHRoKCksIG1faW1wbC0+
aGVpZ2h0KCksIGNhbnZhcy0+d2lkdGgoKSwgY2FudmFzLT5oZWlnaHQoKSwgaW1hZ2VCdWZmZXIt
PmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCkpOwpAQCAtMjc4LDcgKzI3OCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQp
CiAKICAgICBtX2ltcGwtPnJlc2hhcGUod2lkdGgsIGhlaWdodCk7CiAKLSNpZiBQTEFURk9STShD
RykKKyNpZiBVU0UoQ0cpCiAgICAgLy8gTmVlZCB0byByZWFsbG9jYXRlIHRoZSBjbGllbnQtc2lk
ZSBiYWNraW5nIHN0b3JlLgogICAgIC8vIEZJWE1FOiBtYWtlIHRoaXMgbW9yZSBlZmZpY2llbnQu
CiAgICAgaWYgKG1fcmVuZGVyT3V0cHV0KSB7CkBAIC0yODcsNyArMjg3LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQzREludGVybmFsOjpyZXNoYXBlKGludCB3aWR0aCwgaW50IGhlaWdodCkKICAg
ICB9CiAgICAgaW50IHJvd0J5dGVzID0gd2lkdGggKiA0OwogICAgIG1fcmVuZGVyT3V0cHV0ID0g
bmV3IHVuc2lnbmVkIGNoYXJbaGVpZ2h0ICogcm93Qnl0ZXNdOwotI2VuZGlmIC8vIFBMQVRGT1JN
KENHKQorI2VuZGlmIC8vIFVTRShDRykKIH0KIAogSW50U2l6ZSBHcmFwaGljc0NvbnRleHQzRElu
dGVybmFsOjpnZXRJbnRlcm5hbEZyYW1lYnVmZmVyU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgKaW5kZXggOWQz
MGI5NjEzODgyZTIyYTI2NjgwYzUyNmIzYjA1MzFmZWU5NTM4Ni4uYzAyNDkxY2RjZjMzNDdjMzAy
MTQzNmJkMTVlYWFjOTQ2YTlmODQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwuaApAQCAtMjk4LDcgKzI5OCw3IEBA
IHByaXZhdGU6CiAgICAgU2tCaXRtYXAgbV9yZXNpemluZ0JpdG1hcDsKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgIHVuc2lnbmVkIGNoYXIqIG1fcmVuZGVyT3V0
cHV0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bs
YXRmb3JtQnJpZGdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJp
ZGdlLmNwcAppbmRleCAzOTA0YjBjN2ZhNzY2NmM3N2M3NzEzNzQ3MWY4NGQwMjRjY2IyMjBjLi5i
YmVkMWJhNDQyZTllNWI1MTQwMDllZTVlZTc2OGJjNzIzMjcwZWI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwCkBAIC02MSw3ICs2MSw3IEBACiAj
aW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlICJXZWJXb3JrZXJDbGllbnRJbXBsLmgi
CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNz
L0NHQ29udGV4dC5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAppbmRleCBlODlkMTA0NTkxZTJiODAxMjZiMjQ1MTRiYjM2YmM3NGNkZTJmYzMy
Li4yNDM4YTk0ODFkMDE3MGM1NmIzNjMyYTBmYjAxZDZjM2QwMTg3YjhkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMjYsNyArMTI2LDcgQEAKICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNp
ZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQml0
bWFwQ29udGV4dC5oPgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHQuaD4KICNlbmRp
ZgpAQCAtMTAzOSw3ICsxMDM5LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZG9QaXhlbFJlYWRiYWNr
VG9DYW52YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIHJlY3QKICAgICAvLyBQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dCBpcyBhY3R1YWxseSBhIHBvaW50ZXIgdG8gUGxhdGZvcm1D
b250ZXh0U2tpYQogICAgIEdyYXBoaWNzQ29udGV4dCBnYyhyZWludGVycHJldF9jYXN0PFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0Kj4oJmNvbnRleHQpKTsKICAgICBpbnQgYml0bWFwSGVpZ2h0ID0g
Y2FudmFzLT5nZXREZXZpY2UoKS0+YWNjZXNzQml0bWFwKGZhbHNlKS5oZWlnaHQoKTsKLSNlbGlm
IFBMQVRGT1JNKENHKQorI2VsaWYgVVNFKENHKQogICAgIEdyYXBoaWNzQ29udGV4dCBnYyhjYW52
YXMpOwogICAgIGludCBiaXRtYXBIZWlnaHQgPSBDR0JpdG1hcENvbnRleHRHZXRIZWlnaHQocmVp
bnRlcnByZXRfY2FzdDxDR0NvbnRleHRSZWY+KGNhbnZhcykpOwogI2Vsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCA3NjYxZjc1NmY2NTIyNzIwY2RiNDQ0ZmYxMzA5MDYxMjAyNWRlZWE0Li4zOWJkYmUx
MzljYTgzOGVmODg5ODJkYzVkZTU4MmJkYWU5Mzk2NDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMjEgQEAKIDIwMTEtMDQtMTYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVuYW1lIFBMQVRGT1JNKENHKSB0byBVU0UoQ0cpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODcyOQorCisgICAgICAgICogV2ViRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViRnJhbWU6OnNwb29sUGFnZXMpOgorICAgICAgICAqIFdlYkZyYW1lLmg6Cisg
ICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNl
dEZvbnRTbW9vdGhpbmcpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldEZvbnRTbW9vdGhp
bmdDb250cmFzdCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChzeXN0ZW1QYXJh
bWV0ZXJDaGFuZ2VkKToKKworMjAxMS0wNC0xNiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIAogICAgICAg
ICBSZW5hbWUgUExBVEZPUk0oQ0FJUk8pIHRvIFVTRShDQUlSTykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNw
cAppbmRleCBjMGUxM2FmMGYzN2VjOWE1YmFhYjI4ODhiN2ViOWNkYzY3NGVlNTQ1Li4xZjZiNmVi
ZjA4MmEzYmYxNGJlYWUxMGQwNjgxMTRlMGRkY2EzYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3Bw
CkBAIC0xMDQsMTQgKzEwNCwxNCBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTVmFsdWUu
aD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYg
VVNFKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNlbGlmIFVT
RShDQUlSTykKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgPGNh
aXJvLXdpbjMyLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKIC8v
IENHIFNQSSB1c2VkIGZvciBwcmludGluZwogZXh0ZXJuICJDIiB7CiAgICAgQ0dBZmZpbmVUcmFu
c2Zvcm0gQ0dDb250ZXh0R2V0QmFzZUNUTShDR0NvbnRleHRSZWYgYyk7IApAQCAtMjExMyw3ICsy
MTEzLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJGcmFtZTo6Z2V0UHJpbnRlZFBh
Z2VDb3VudCgKICAgICByZXR1cm4gU19PSzsKIH0KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVT
RShDRykKIHZvaWQgV2ViRnJhbWU6OmRyYXdIZWFkZXIoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQq
IHBjdHgsIElXZWJVSURlbGVnYXRlKiB1aSwgY29uc3QgSW50UmVjdCYgcGFnZVJlY3QsIGZsb2F0
IGhlYWRlckhlaWdodCkKIHsKICAgICBpbnQgeCA9IHBhZ2VSZWN0LngoKTsKQEAgLTIzMjAsNyAr
MjMyMCw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6OnNwb29sUGFnZXMo
CiAgICAgLyogW2luXSAqLyBVSU5UIGVuZFBhZ2UsCiAgICAgLyogW3JldHZhbF1bb3V0XSAqLyB2
b2lkKiBjdHgpCiB7Ci0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgIGlmICghcHJp
bnREQyB8fCAhY3R4KSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBy
ZXR1cm4gRV9QT0lOVEVSOwpAQCAtMjM2OSw3ICsyMzY5LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJGcmFtZTo6c3Bvb2xQYWdlcygKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKIAog
ICAgIFVJTlQgcGFnZUNvdW50ID0gKFVJTlQpIG1fcGFnZVJlY3RzLnNpemUoKTsKLSNpZiBQTEFU
Rk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBjdHgg
PSAoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKWN0eDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUu
aAppbmRleCBhMzZjOTk1MjUxNmJmNTE4YzM3YTk3NDMxZTljNWU3OTdmMGY2ODJlLi45NWYyODc1
YTc1MjY0ZTdhYzBkMjZkNDQyYzczZDMzOGJmODllMDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKQEAg
LTU5LDcgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlSlNDb250ZXh0KiBKU0NvbnRleHRSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVKU1Zh
bHVlKiBKU09iamVjdFJlZjsKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKIHR5cGVk
ZWYgc3RydWN0IENHQ29udGV4dCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNlbGlmIFVTRShD
QUlSTykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNw
cAppbmRleCA5YzZiMTJjNjczMjBkYjJlNWZjMDEyNmQyMWUxNTRmZDMzZmExNjE2Li43MjM2NjRl
NzQ5M2U2MjgwNTdjNTI0YjQxYzdiYTczNDdmY2RiMDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuY3BwCkBAIC00Niw3ICs0Niw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAotI2lmIFBMQVRGT1JNKENH
KQorI2lmIFVTRShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAj
aW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUludGVyZmFjZS5oPgog
I2VuZGlmCkBAIC0xMTAwLDcgKzExMDAsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdl
YlByZWZlcmVuY2VzOjpzZXRGb250U21vb3RoaW5nKAogICAgIHNldEludGVnZXJWYWx1ZShDRlNU
UihXZWJLaXRGb250U21vb3RoaW5nVHlwZVByZWZlcmVuY2VLZXkpLCBzbW9vdGhpbmdUeXBlKTsK
ICAgICBpZiAoc21vb3RoaW5nVHlwZSA9PSBGb250U21vb3RoaW5nVHlwZVdpbmRvd3MpCiAgICAg
ICAgIHNtb290aGluZ1R5cGUgPSBGb250U21vb3RoaW5nVHlwZU1lZGl1bTsKLSNpZiBQTEFURk9S
TShDRykKKyNpZiBVU0UoQ0cpCiAgICAgd2tTZXRGb250U21vb3RoaW5nTGV2ZWwoKGludClzbW9v
dGhpbmdUeXBlKTsKICNlbmRpZgogICAgIHJldHVybiBTX09LOwpAQCAtMTExNyw3ICsxMTE3LDcg
QEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNtb290
aGluZ0NvbnRyYXN0KAogICAgIC8qIFtpbl0gKi8gZmxvYXQgY29udHJhc3QpCiB7CiAgICAgc2V0
RmxvYXRWYWx1ZShDRlNUUihXZWJLaXRGb250U21vb3RoaW5nQ29udHJhc3RQcmVmZXJlbmNlS2V5
KSwgY29udHJhc3QpOwotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICAgICB3a1NldEZv
bnRTbW9vdGhpbmdDb250cmFzdChjb250cmFzdCk7CiAjZW5kaWYKICAgICByZXR1cm4gU19PSzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dC93aW4vV2ViVmlldy5jcHAKaW5kZXggMjIzOTY1ODg2N2RhYTM3MThjNDlmYzdkMGNhNTJiZDc1
NmY0ODQyNC4uYzlmMDg2YmRkODUyYzAxMmQyZmEyZmExZjMwZWU0MGVhZTdhMDAwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvR2Vv
bG9jYXRpb25FcnJvci5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cp
CiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dC5oPgogI2VuZGlmCiAKQEAgLTMxOTUs
NyArMzE5NSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6cHJlZmVyZW5j
ZXNJZGVudGlmaWVyKAogCiBzdGF0aWMgdm9pZCBzeXN0ZW1QYXJhbWV0ZXJDaGFuZ2VkKFdQQVJB
TSBwYXJhbWV0ZXIpCiB7Ci0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgIGlmIChw
YXJhbWV0ZXIgPT0gU1BJX1NFVEZPTlRTTU9PVEhJTkcgfHwgcGFyYW1ldGVyID09IFNQSV9TRVRG
T05UU01PT1RISU5HVFlQRSB8fCBwYXJhbWV0ZXIgPT0gU1BJX1NFVEZPTlRTTU9PVEhJTkdDT05U
UkFTVCB8fCBwYXJhbWV0ZXIgPT0gU1BJX1NFVEZPTlRTTU9PVEhJTkdPUklFTlRBVElPTikKICAg
ICAgICAgd2tTeXN0ZW1Gb250U21vb3RoaW5nQ2hhbmdlZCgpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggMTY4YjUwNDk3ZDQ2N2NmN2NkZmU5ZWM0Zjg1ODcxNzk0MzBkMDZmMC4uYjc3MThmNjk3Zjlk
ZTQ0NjcxOWQ5Njc1NTlmMmNiMTBjMmI5ZmUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDExLTA0LTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFU
Rk9STShDRykgdG8gVVNFKENHKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTg3MjkKKworICAgICAgICAqIFNoYXJlZC9TaGFyZWFibGVCaXRtYXAuaDoK
KyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL1dlYkdyYXBo
aWNzQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdyYXBoaWNzQ29udGV4dDo6V2Vi
R3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViR3JhcGhpY3NDb250ZXh0Lmg6
CisgICAgICAgICogU2hhcmVkL3dpbi9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlldzo6c2V0RmluZEluZGljYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkcmF3UmVjdFRv
UERGKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZHJhd1BhZ2VzVG9QREYpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICAqIGNv
bmZpZy5oOgorCiAyMDExLTA0LTE1ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgUXQgTGludXggUmVsZWFzZSBidWlsZCBhZnRl
ciBjaGFuZ2VzZXQgODQwNjQgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzg0MDY0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oCmluZGV4IGZlN2ZhMGFiODUz
ZTljOGRlYTVjNzhhYzRhMTdkZWEwNzE3MjU3MjkuLmQ2NDdhMTJlNjVjMjE0NDRhNzlmOGFhMzNh
ZDZkMzNhZTQ5YTY3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFi
bGVCaXRtYXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgK
QEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGlzQmFja2VkQnlTaGFyZWRNZW1vcnkoKSBjb25zdCB7IHJldHVybiBtX3NoYXJl
ZE1lbW9yeTsgfQogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgIC8vIFRoaXMg
Y3JlYXRlcyBhIGNvcGllZCBDR0ltYWdlUmVmIChtb3N0IGxpa2VseSBhIGNvcHktb24td3JpdGUp
IG9mIHRoZSBzaGFyZWFibGUgYml0bWFwLgogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBtYWtl
Q0dJbWFnZUNvcHkoKTsKIApAQCAtMTEzLDcgKzExMyw3IEBAIHByaXZhdGU6CiAKICAgICBzdGF0
aWMgc2l6ZV90IG51bUJ5dGVzRm9yU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKSB7
IHJldHVybiBzaXplLndpZHRoKCkgKiBzaXplLmhlaWdodCgpICogNDsgfQogCi0jaWYgUExBVEZP
Uk0oQ0cpCisjaWYgVVNFKENHKQogICAgIHN0YXRpYyB2b2lkIHJlbGVhc2VCaXRtYXBDb250ZXh0
RGF0YSh2b2lkKiB0eXBlbGVzc0JpdG1hcCwgdm9pZCogdHlwZWxlc3NEYXRhKTsKICAgICBzdGF0
aWMgdm9pZCByZWxlYXNlRGF0YVByb3ZpZGVyRGF0YSh2b2lkKiB0eXBlbGVzc0JpdG1hcCwgY29u
c3Qgdm9pZCogdHlwZWxlc3NEYXRhLCBzaXplX3QpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDk5YjNjMDBkZmY4NWQz
NDI2ZDMyMzNlNmNkYTY4MTkwNDhlY2VhYjcuLmUwMTVkNjQwMTQ0MzE5ODE2MzY1MTY0NTdhMjNk
MGE1M2M5MmY3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKIAogLy8g
Rm9yIG5vdywgdGhlc2UgYXJlIENHLW9ubHkuIE9uY2Ugb3RoZXIgcGxhdGZvcm1zIGhhdmUgY3Jl
YXRlSW1hZ2UgZnVuY3Rpb25zLAogLy8gd2UgY2FuIGNvbXBpbGUgdGhlc2UgZm9yIG5vbi1DRyBi
dWlsZHMuCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogCiB2b2lkIGVuY29kZUltYWdl
KEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgSW1hZ2UqIGltYWdlKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDUzOTRjMjU5OTM0ZGI2
NzY3ZWZmM2UyN2VkMWQ2NWU1NDhjMDRmOWIuLjFiOWI0ZjU4MGVkM2UyMjRhZDdiMjMwN2I1MjE3
ZTk3OGViNWNhYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKQEAgLTE5NCw3ICsxOTQsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkN1cnNvcj4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vyc29yKQogICAgIHsKICAg
ICAgICAgV2ViQ29yZTo6Q3Vyc29yOjpUeXBlIHR5cGUgPSBjdXJzb3IudHlwZSgpOwotI2lmICFQ
TEFURk9STShDRykKKyNpZiAhVVNFKENHKQogICAgICAgICAvLyBGSVhNRTogQ3VycmVudGx5IHdl
IG9ubHkgaGF2ZSB0aGUgY3JlYXRlSW1hZ2UgZnVuY3Rpb24gaW1wbGVtZW50ZWQgZm9yIENHLgog
ICAgICAgICAvLyBPbmNlIHdlIGltcGxlbWVudCBpdCBmb3Igb3RoZXIgcGxhdGZvcm1zIHdlIGNh
biByZW1vdmUgdGhpcyBjb25kaXRpb25hbCwKICAgICAgICAgLy8gYW5kIHRoZSBvdGhlciBjb25k
aXRpb25hbHMgYmVsb3cgYW5kIGluIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAuCkBAIC0yMDIs
NyArMjAyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDdXJz
b3I+IHsKICAgICAgICAgICAgIHR5cGUgPSBXZWJDb3JlOjpDdXJzb3I6OlBvaW50ZXI7CiAjZW5k
aWYKICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQzMl90Pih0eXBlKSk7
Ci0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQogICAgICAgICBpZiAodHlwZSAhPSBXZWJD
b3JlOjpDdXJzb3I6OkN1c3RvbSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMjI1LDcgKzIy
NSw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Q3Vyc29yPiB7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCi0jaWYgIVBMQVRGT1JNKENH
KQorI2lmICFVU0UoQ0cpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbHNlCiAgICAgICAgIFJl
ZlB0cjxXZWJDb3JlOjpJbWFnZT4gaW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJH
cmFwaGljc0NvbnRleHQuY3BwCmluZGV4IDU0NWQ0NDg5MDIzZGVhZmIzNjljMDAyNzIxMWEzYzgy
ODQ4NmY2YmQuLjcyMjIwYjMxOTA0NTEzNzc1YTZkMjI3NGU3MTcwZGJiODkyMjJkYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJHcmFwaGljc0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJHcmFwaGljc0NvbnRleHQuY3BwCkBAIC0zNSw3ICsz
NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdl
YkdyYXBoaWNzQ29udGV4dDo6V2ViR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3Jh
cGhpY3NDb250ZXh0KQotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICAgICA6IG1fcGxh
dGZvcm1Db250ZXh0KGdyYXBoaWNzQ29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkpCiAjZWxpZiBQ
TEFURk9STShHVEspCiAgICAgOiBtX3BsYXRmb3JtQ29udGV4dChncmFwaGljc0NvbnRleHQtPnBs
YXRmb3JtQ29udGV4dCgpLT5jcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkdyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkdyYXBoaWNz
Q29udGV4dC5oCmluZGV4IGRkYjJlMzQ4MzZmZWVhYjM1NjIzNjI2Yjg2MGM2YzBiMDAzZTI2MWUu
LjVmNzJhYWUwM2VkYmQwMWE0ZjcxZjM5OGM0NDVhMmRiYTBmOGRhYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJHcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViR3JhcGhpY3NDb250ZXh0LmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogI2VsaWYgUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCkBA
IC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJH
cmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KSk7CiAgICAgfQogCi0jaWYgUExBVEZPUk0o
Q0cpCisjaWYgVVNFKENHKQogICAgIENHQ29udGV4dFJlZiBwbGF0Zm9ybUNvbnRleHQoKSB7IHJl
dHVybiBtX3BsYXRmb3JtQ29udGV4dC5nZXQoKTsgfQogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IGNhaXJvX3QqIHBsYXRmb3JtQ29udGV4dCgpIHsgcmV0dXJuIG1fcGxhdGZvcm1Db250ZXh0Lmdl
dCgpOyB9CkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVT
RShDRykKICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX3BsYXRmb3JtQ29udGV4dDsKICNl
bGlmIFBMQVRGT1JNKEdUSykKICAgICBSZWZQdHI8Y2Fpcm9fdD4gbV9wbGF0Zm9ybUNvbnRleHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uY3BwCmluZGV4IDBkMWNhMzY5NmRiN2Y0NmEzMTljMTg1NjZlODYyNzFhMDQ0MTg4ZTYu
LjY3NzBmMjE1YTdhODFlNTBhNTIyYWFjNTk5N2VkMjYyYmZiZDI5NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCkBA
IC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0Uo
Q0cpCiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktpdFN5c3RlbUludGVyZmFj
ZS5oPgogI2VuZGlmCiAKQEAgLTQ4LDcgKzQ4LDcgQEAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnMK
ICAgICBpZiAoIWNmUmVzcG9uc2UpCiAgICAgICAgIHJldHVybjsKIAotI2lmIFBMQVRGT1JNKENH
KQorI2lmIFVTRShDRykKICAgICBDRkRpY3Rpb25hcnlSZWYgY2VydGlmaWNhdGVJbmZvID0gd2tH
ZXRTU0xDZXJ0aWZpY2F0ZUluZm8oY2ZSZXNwb25zZSk7CiAgICAgaWYgKCFjZXJ0aWZpY2F0ZUlu
Zm8pCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcu
Y3BwCmluZGV4IGNhNmVlOGZlMDFlMmYwMWU5MDJmOTdiZDZkZThmMTdhNzA0YzA2MDYuLjM4YWU0
M2VkOTk4ZTVkOGU0Zjk0ZTk0YTcyODhjMTdhNGFiOWU4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtNDUsNyArNDUsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvQml0bWFwSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Vyc29yLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GbG9hdFJlY3QuaD4KLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAjaW5j
bHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHRDRy5oPgogI2VuZGlmCiAjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+CkBAIC0xNDA2LDcgKzE0MDYsNyBAQCB2b2lkIFdlYlZpZXc6OnNldEZp
bmRJbmRpY2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiBwcnBGaW5kSW5kaWNhdG9yLCBi
b29sCiAKICAgICAgICAgICAgIGhibXAgPSBDcmVhdGVESUJTZWN0aW9uKDAsICZiaXRtYXBJbmZv
LCBESUJfUkdCX0NPTE9SUywgc3RhdGljX2Nhc3Q8dm9pZCoqPigmYml0cyksIDAsIDApOwogICAg
ICAgICAgICAgSEJJVE1BUCBoYm1wT2xkID0gc3RhdGljX2Nhc3Q8SEJJVE1BUD4oU2VsZWN0T2Jq
ZWN0KGhkYywgaGJtcCkpOwotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICAgICAgICAg
ICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRDRiwgQ0dCaXRtYXBDb250
ZXh0Q3JlYXRlKGJpdHMsIHdpZHRoLCBoZWlnaHQsCiAgICAgICAgICAgICAgICAgOCwgd2lkdGgg
KiBzaXplb2YoUkdCUVVBRCksIGRldmljZVJHQkNvbG9yU3BhY2VSZWYoKSwga0NHQml0bWFwQnl0
ZU9yZGVyMzJMaXR0bGUgfCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0KSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5YWQz
NjhkYTYyODBlYzRiZmYxOWE0ZjVlOTUxNTY2YzU2ZTAzMjY0Li5lYmJkYTc4OWFlNjNiNWMwOGM0
NzIxODZlMmM3ZGNmZGYzZjc4MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yMTAyLDcgKzIxMDIsNyBAQCB2b2lkIFdlYlBhZ2U6OmRy
YXdSZWN0VG9QREYodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVj
dCwgdWludAogICAgIGlmIChjb3JlRnJhbWUpIHsKICAgICAgICAgQVNTRVJUKGNvcmVGcmFtZS0+
ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cp
CiAgICAgICAgIC8vIEZJWE1FOiBVc2UgQ0dEYXRhQ29uc3VtZXJDcmVhdGUgd2l0aCBjYWxsYmFj
a3MgdG8gYXZvaWQgY29weWluZyB0aGUgZGF0YS4KICAgICAgICAgUmV0YWluUHRyPENHRGF0YUNv
bnN1bWVyUmVmPiBwZGZEYXRhQ29uc3VtZXIoQWRvcHRDRiwgQ0dEYXRhQ29uc3VtZXJDcmVhdGVX
aXRoQ0ZEYXRhKHBkZlBhZ2VEYXRhLmdldCgpKSk7CiAKQEAgLTIxMzQsNyArMjEzNCw3IEBAIHZv
aWQgV2ViUGFnZTo6ZHJhd1BhZ2VzVG9QREYodWludDY0X3QgZnJhbWVJRCwgdWludDMyX3QgZmly
c3QsIHVpbnQzMl90IGNvdW50LCB1CiAgICAgaWYgKGNvcmVGcmFtZSkgewogICAgICAgICBBU1NF
UlQoY29yZUZyYW1lLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKIAotI2lmIFBMQVRGT1JNKENH
KQorI2lmIFVTRShDRykKICAgICAgICAgLy8gRklYTUU6IFVzZSBDR0RhdGFDb25zdW1lckNyZWF0
ZSB3aXRoIGNhbGxiYWNrcyB0byBhdm9pZCBjb3B5aW5nIHRoZSBkYXRhLgogICAgICAgICBSZXRh
aW5QdHI8Q0dEYXRhQ29uc3VtZXJSZWY+IHBkZkRhdGFDb25zdW1lcihBZG9wdENGLCBDR0RhdGFD
b25zdW1lckNyZWF0ZVdpdGhDRkRhdGEocGRmUGFnZURhdGEuZ2V0KCkpKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAKaW5k
ZXggODY2ZTc0MzJmZDE2NTkxNTMxNmZmYzFmZjUyMjQzZWFkYzVlYzIyMy4uOWM3MjA2YTkyZDRj
ZDJmYzUwMGNmODZiMjI3OTY4NTQ2MDEzYTRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCkBAIC00Myw3ICs0Myw3IEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KLSNpZiBQTEFURk9S
TShDRykKKyNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlL1dlYktp
dFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlmCiAjaW5jbHVkZSA8V2luVXNlci5oPgpAQCAtNjcs
NyArNjcsNyBAQCB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29u
c3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiB7CiAgICAgRm9udFNtb290aGluZ0xldmVs
IGZvbnRTbW9vdGhpbmdMZXZlbCA9IHN0YXRpY19jYXN0PEZvbnRTbW9vdGhpbmdMZXZlbD4oc3Rv
cmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvbnRTbW9vdGhpbmdM
ZXZlbEtleSgpKSk7CiAKLSNpZiBQTEFURk9STShDRykKKyNpZiBVU0UoQ0cpCiAgICAgRm9udFNt
b290aGluZ0xldmVsIGFkanVzdGVkTGV2ZWwgPSBmb250U21vb3RoaW5nTGV2ZWw7CiAgICAgaWYg
KGFkanVzdGVkTGV2ZWwgPT0gRm9udFNtb290aGluZ0xldmVsV2luZG93cykKICAgICAgICAgYWRq
dXN0ZWRMZXZlbCA9IEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL2NvbmZpZy5oIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKaW5kZXggMGQyNDk1
N2ViNDQ4MmRhZGE1ZWE2MTUzODZkMGIyNzA5NmYzMjZlNC4uODI1MDg5MTg3MTdjNjQyNmMyNzY4
MWVlZjUxMTZkMzgwZWEyMjM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvY29uZmlnLmgK
KysrIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMg
Y29uc3QgdHlwZSYgbmFtZSgpIFwKICNpbmNsdWRlIDxXZWJDb3JlL2NvbmZpZy5oPgogI2luY2x1
ZGUgPHdpbmRvd3MuaD4KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShDRykKICNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA0YTdhOGQyM2M5MzY5ZjQ5Nzg1
NjRjZDBlMjU3NGVhYWQ0OTMxYzQuLmNkMmU1YjNmNTM4MmViYWExNDIyY2I4ZTFiNzYxMzA5Y2M2
OTM3ZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwyMiBAQAogMjAxMS0wNC0xNiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW5hbWUgUExBVEZPUk0oQ0cpIHRvIFVTRShDRykKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NzI5CisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9QaXhlbER1bXBTdXBwb3J0LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cGFpbnRSZWN0KToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jb25maWcuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHA6CisgICAgICAgIChjcmVhdGVCaXRtYXBD
b250ZXh0RnJvbVdlYlZpZXcpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1XZWJW
aWV3Lmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb25maWcuaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0SW52b2NhdGlvbldpbi5jcHA6CisKKzIwMTEtMDQtMTYg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCiAKICAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENBSVJPKSB0byBV
U0UoQ0FJUk8pCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9QaXhlbER1bXBTdXBw
b3J0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1BpeGVsRHVtcFN1cHBvcnQuY3BwCmluZGV4
IDk5YTRiMDM0YTFiNDczYjRlNGI0NWUzMTQ3ZTM5ZjE5OGZmY2QxNjQuLjI0ZmJmNGI0ZmE4OTg5
MzYyODRiMzQ1YjZlNjJjMjkyNDYxNjk4NmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1BpeGVsRHVtcFN1cHBvcnQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1BpeGVs
RHVtcFN1cHBvcnQuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShD
RykKICNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q0cuaCIKICNlbGlmIFVTRShDQUlSTykKICNp
bmNsdWRlICJQaXhlbER1bXBTdXBwb3J0Q2Fpcm8uaCIKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCA4MTNlMjBmNzhjZjNiNTBjNzMyNTk0NjA4
MWZjOWNmN2YyMzJmNmRmLi4yZTdiMTY5NzRjNTU1ZDI4ZmY2ZTU2NTk1ZWE5MGZlNmRiNzExZTMy
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCkBA
IC0xNDY5LDcgKzE0NjksNyBAQCB2b2lkIFdlYlZpZXdIb3N0OjpwYWludFJlY3QoY29uc3QgV2Vi
UmVjdCYgcmVjdCkKICAgICBBU1NFUlQoIW1faXNQYWludGluZyk7CiAgICAgQVNTRVJUKGNhbnZh
cygpKTsKICAgICBtX2lzUGFpbnRpbmcgPSB0cnVlOwotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVT
RShDRykKICAgICB3ZWJXaWRnZXQoKS0+cGFpbnQoc2tpYTo6QmVnaW5QbGF0Zm9ybVBhaW50KGNh
bnZhcygpKSwgcmVjdCk7CiAgICAgc2tpYTo6RW5kUGxhdGZvcm1QYWludChjYW52YXMoKSk7CiAj
ZWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jb25maWcuaAppbmRleCAxMGY0ZDk0MWZhZWRlNjVhYmMwNGI3Njg5YmFl
ODU3MzRjYWQ3NTg2Li5iZGUwY2M4YTI3ODQ0Y2I4MDY3MTUwMWNlNTQzMjE5NDkyZDU1ZWI5IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jb25maWcuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jb25maWcuaApAQCAtNzcsNyArNzcsNyBAQAogI2RlZmluZSBXVEZfVVNFX0NB
SVJPIDEKICNkZWZpbmUgV1RGX1VTRV9DVVJMIDEKICNlbHNlCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9DRyAxCisjZGVmaW5lIFdURl9VU0VfQ0cgMQogI2RlZmluZSBXVEZfVVNFX0NGTkVUV09SSyAx
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVt
cFN1cHBvcnRXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1BpeGVsRHVtcFN1cHBv
cnRXaW4uY3BwCmluZGV4IDYyNzJjODc0YjQzOTg4MzAwODUxNGY3ZTg2MzU2ZjAyOGMwODQxNDku
LmY3YTk1ZDM2ZTc4MWM5MGJiYmZkOWI4MzUzNDk2NWQxZTdiMGNhZDcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAKQEAgLTI4LDcgKzI4
LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNF
KENHKQogI2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDRy5oIgogI2VsaWYgVVNFKENBSVJPKQog
I2luY2x1ZGUgIlBpeGVsRHVtcFN1cHBvcnRDYWlyby5oIgpAQCAtMzYsNyArMzYsNyBAQAogCiAj
aW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCIKIAotI2lmIFBMQVRGT1JNKENHKQorI2lmIFVTRShD
RykKIC8vIE5vdGU6IE11c3QgYmUgaW5jbHVkZWQgKmFmdGVyKiBEdW1wUmVuZGVyVHJlZS5oIHRv
IGF2b2lkIGNvbXBpbGUgZXJyb3IuCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQml0bWFwQ29u
dGV4dC5oPgogI2VuZGlmCkBAIC03MCw3ICs3MCw3IEBAIFBhc3NSZWZQdHI8Qml0bWFwQ29udGV4
dD4gY3JlYXRlQml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJvb2wgb25zY3JlZW4sIGJvb2wgaW5j
CiAgICAgR2V0T2JqZWN0KGJpdG1hcCwgc2l6ZW9mKGluZm8pLCAmaW5mbyk7CiAgICAgQVNTRVJU
KGluZm8uYm1CaXRzUGl4ZWwgPT0gMzIpOwogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENH
KQogICAgIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbG9yU3BhY2UoQWRvcHRDRiwgQ0dD
b2xvclNwYWNlQ3JlYXRlRGV2aWNlUkdCKCkpOwogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0g
Q0dCaXRtYXBDb250ZXh0Q3JlYXRlKGluZm8uYm1CaXRzLCBpbmZvLmJtV2lkdGgsIGluZm8uYm1I
ZWlnaHQsIDgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmZvLmJtV2lkdGhCeXRlcywgY29sb3JTcGFjZS5nZXQoKSwga0NHQml0bWFwQnl0ZU9yZGVy
MzJIb3N0IHwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRGaXJzdCk7CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2ViVmlldy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybVdlYlZpZXcuaAppbmRleCA1N2RlOWI3ODI2ZmM1ODM1ZWEzOWEzMTY4NjgxMzBm
NmU2MjlhNGJjLi42YTliYzI3YjgwNzM2OGI1MjFkMTg4Zjc2NmE0ODQ5YjcyOTE1OWYwIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XZWJWaWV3LmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgUExBVEZPUk0oQ0cpCisjaWYgVVNFKENHKQog
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0dlb21ldHJ5Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb25maWcuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29uZmlnLmgKaW5kZXggOGU0ZWYyOWZiZGI2YTg5MjY1OWE4ODc0NzVkZTE4YzhlNjJlODI2
Mi4uMzg1NjhhZTI1Y2FhZWI2OTRiMWRhMzgyYWViZmJmNjBjZTJmNjZmOCAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb25maWcuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2NvbmZpZy5oCkBAIC02MCw3ICs2MCw3IEBACiAjZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQog
I2RlZmluZSBXVEZfVVNFX0NVUkwgMQogI2Vsc2UKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NHIDEK
KyNkZWZpbmUgV1RGX1VTRV9DRyAxCiAjZGVmaW5lIFdURl9VU0VfQ0ZORVRXT1JLIDEKICNlbmRp
ZgogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0SW52
b2NhdGlvbldpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0SW52b2NhdGlv
bldpbi5jcHAKaW5kZXggN2M3OWZmNTA5YjYxOWZjN2UzZmIzZjFkZjA3ZWFmNTk1MmRjZGM2Ni4u
ZTJlNGU2MmRmOTI1NWJlMTkyMGU1NmE1ZDJkMTRjZjg1MjBjZjJmOSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdEludm9jYXRpb25XaW4uY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvd2luL1Rlc3RJbnZvY2F0aW9uV2luLmNwcApAQCAtMjgsNyArMjgs
NyBAQAogCiBuYW1lc3BhY2UgV1RSIHsKIAotI2lmICFQTEFURk9STShDRykKKyNpZiAhVVNFKENH
KQogdm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQo
V0tJbWFnZVJlZikKIHsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>