<?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>87955</bug_id>
          
          <creation_ts>2012-05-31 04:51:54 -0700</creation_ts>
          <short_desc>[Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)</short_desc>
          <delta_ts>2012-05-31 07:01:15 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Tor Arne Vestbø">vestbo</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638240</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 04:51:54 -0700</bug_when>
    <thetext>[Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638242</commentid>
    <comment_count>1</comment_count>
      <attachid>145051</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 04:53:39 -0700</bug_when>
    <thetext>Created attachment 145051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638245</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-31 04:56:21 -0700</bug_when>
    <thetext>Attachment 145051 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/qt...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 49 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638252</commentid>
    <comment_count>3</comment_count>
      <attachid>145051</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-31 05:06:27 -0700</bug_when>
    <thetext>Comment on attachment 145051
Patch

Attachment 145051 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12866198</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638255</commentid>
    <comment_count>4</comment_count>
      <attachid>145051</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-31 05:09:21 -0700</bug_when>
    <thetext>Comment on attachment 145051
Patch

Attachment 145051 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12859322</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638291</commentid>
    <comment_count>5</comment_count>
      <attachid>145065</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 05:55:43 -0700</bug_when>
    <thetext>Created attachment 145065
Patch

Fixed missing config.h includes and use of HAVE macro in moc&apos;ed headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638315</commentid>
    <comment_count>6</comment_count>
      <attachid>145073</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 06:17:46 -0700</bug_when>
    <thetext>Created attachment 145073
Patch

Fix one last missing moc&apos;ed header</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638366</commentid>
    <comment_count>7</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 07:01:15 -0700</bug_when>
    <thetext>Committed r119098: &lt;http://trac.webkit.org/changeset/119098&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145051</attachid>
            <date>2012-05-31 04:53:39 -0700</date>
            <delta_ts>2012-05-31 05:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87955-20120531135336.patch</filename>
            <type>text/plain</type>
            <size>41441</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4OTIyCmRpZmYgLS1naXQgYy9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyB3L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNjM4NTkyN2I2NjM3Y2IzNWVjNjZh
MjBmYzEyNjI1N2Q1ODUwYTMuLjAwMWQ1MDA0YzdiNjJmZGI3MmU0OWFlNTMwZGM2MTdkNzBlYjlm
ZjkgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyB3L1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0
b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVS
U0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRyb2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvcXQvVXRpbHNRdC5oOgor
CiAyMDEyLTA1LTMwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEJ1aWxkIGZpeCBmb3IgV2luQ0UgYWZ0ZXIgcjExODYwMy4KZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyB3L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBl
MmIwYjIwYTcwZjc5MmFkZjhkNzQyNTdjMzgzYzY2NWVlOWIxNGFmLi41MmYyNmIxMmE5YzFhNWMw
MjZiNzcwNWU4OTdhYjk4YmMxOTM5MTk1IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIHcvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIw
MTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgor
CisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRy
b2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRf
Y2xhc3MuY3BwOgorICAgICAgICAqIGJyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHA6CisgICAgICAg
ICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKyAgICAgICAgKiBwYWdlL3F0L0V2ZW50SGFuZGxl
clF0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2luZG93UHJpdmF0ZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2luZG93UXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5oOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L0tVUkxRdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvUGxhdGZvcm1TY3JlZW5RdC5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBw
bHVnaW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHA6CisgICAgICAgICogcGx1Z2lucy9xdC9QbHVn
aW5WaWV3UXQuY3BwOgorCiAyMDEyLTA1LTMwICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgdHJhY2UoKSBtZXRob2Qg
dG8gdGhlIFdvcmtlckNvbnNvbGUKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIHcvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZTgyNzQwZjk0N2M4ZTEyMDlk
MzBhZjljZTUyMWYxNzljY2VkMjBhZC4uMWU0YzRiODM0NDVkYzBiZDg3ZmYzY2M2MGZjMWUwYjAy
MGFjYzg1MCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIHcvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wNS0zMSAgVG9y
IEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0
XSBTaW1wbGlmeSBRVF9WRVJTSU9OX0NIRUNLUyBmb3IgUXQ1IGJ5IGludHJvZHVjaW5nIEhBVkUo
UVQ1KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFw
aS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiBBcGkvcWdyYXBoaWNzd2Vidmlldy5o
OgorICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgorICAgICAgICAqIEFwaS9xd2ViZnJhbWVf
cC5oOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgICogQXBpL3F3ZWJwYWdl
Lmg6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgICogQXBpL3F3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9H
ZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudFF0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNw
cDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3BwOgorICAg
ICAgICAqIGRlY2xhcmF0aXZlL3BsdWdpbi5jcHA6CisgICAgICAgICogdGVzdHMvcXdlYmZyYW1l
L3RzdF9xd2ViZnJhbWUuY3BwOgorICAgICAgICAqIHRlc3RzL3V0aWwuaDoKKwogMjAxMi0wNS0y
OSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAg
ICAgW1F0XSBTeW5jIHVwIGZhdmljb24taW1wbGVtZW50YXRpb24gd2l0aCBXZWJWaWV3IHVybCBj
aGFuZ2VzIGluIHIxMTgxNTgKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyB3
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMGE4OGEwNzE0MzUxY2I4ODZkZmFmOGJj
MTdmOTI1MDdmNWQzZDVmLi5iMDcxZTQ0ZTljOGViYmZmYTQxZDUwYTgxMzA0Y2M0Y2U4ZGFmOGNj
IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIHcvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMzEgIFRvciBBcm5lIFZlc3Ri
w7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFtRdF0gU2ltcGxpZnkg
UVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRyb2R1Y2luZyBIQVZFKFFUNSkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBpLmNwcDoKKwogMjAxMi0wNS0zMCAgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W1F0XSBEbyByZW5hbWVzIGluIFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUgYXMgYWdyZWVkIHVw
b24KZGlmZiAtLWdpdCBjL1NvdXJjZS9XVEYvd3RmL3F0L1V0aWxzUXQuaCB3L1NvdXJjZS9XVEYv
d3RmL3F0L1V0aWxzUXQuaAppbmRleCA3NDA2N2E4ZWViNGU2YTQ0OWQxOWE3MTMzZjdlNmIzZjk1
YTVkZTYwLi42MWM5ZTMyYzE1NjRhMjcyZmRlOTNiYzJkYTc5YzMxOTA3YTVmMzQ4IDEwMDY0NAot
LS0gYy9Tb3VyY2UvV1RGL3d0Zi9xdC9VdGlsc1F0LmgKKysrIHcvU291cmNlL1dURi93dGYvcXQv
VXRpbHNRdC5oCkBAIC0yMSwxMyArMjEsMTMgQEAKICNkZWZpbmUgV1RGX1V0aWxzUXRfaAogCiAj
aW5jbHVkZSA8UVN0cmluZz4KLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAw
LCAwKQorI2lmICFIQVZFKFFUNSkKICNpbmNsdWRlIDxRVGV4dERvY3VtZW50PgogI2VuZGlmCiAK
IGlubGluZSBRU3RyaW5nIGVzY2FwZUh0bWwoY29uc3QgUVN0cmluZyYgc3RyaW5nKQogewotI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQog
ICAgIHJldHVybiBzdHJpbmcudG9IdG1sRXNjYXBlZCgpOwogI2Vsc2UKICAgICByZXR1cm4gUXQ6
OmVzY2FwZShzdHJpbmcpOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0
X2NsYXNzLmNwcCB3L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9jbGFzcy5jcHAKaW5kZXgg
MTA1ODk4ZTQ3N2E0YjYyYTJjZGRiN2ZlMWJmYjJmMGM5OWVjNzQ3NC4uMzgwM2Q0Nzg3YzQ5Mjlm
YjY4Y2QwYTk4NjJjZjI5YjhiNDNiNTJkMSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3F0L3F0X2NsYXNzLmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfY2xh
c3MuY3BwCkBAIC05OSw3ICs5OSw3IEBAIEpTVmFsdWUgUXRDbGFzczo6ZmFsbGJhY2tPYmplY3Qo
RXhlY1N0YXRlKiBleGVjLCBJbnN0YW5jZSogaW5zdCwgUHJvcGVydHlOYW1lIGlkCiAgICAgICAg
IGlmIChtLmFjY2VzcygpID09IFFNZXRhTWV0aG9kOjpQcml2YXRlKQogICAgICAgICAgICAgY29u
dGludWU7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lm
ICFIQVZFKFFUNSkKICAgICAgICAgaW50IGl0ZXIgPSAwOwogICAgICAgICBjb25zdCBjaGFyKiBz
aWduYXR1cmUgPSBtLnNpZ25hdHVyZSgpOwogICAgICAgICB3aGlsZSAoc2lnbmF0dXJlW2l0ZXJd
ICYmIHNpZ25hdHVyZVtpdGVyXSAhPSAnKCcpCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIHcvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2lu
c3RhbmNlLmNwcAppbmRleCBkNDk4OTIxMTFjNWE3MDgxOTRkZDA2MzQwYjc1ZmViMzhjOThmNGZm
Li5jNzkwOTZkNWE2MmFkZjc1NWNhYTM2M2NjNjY5MTIyZDM3OTNiOWE4IDEwMDY0NAotLS0gYy9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwCisrKyB3L1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lkIFF0
SW5zdGFuY2U6OmdldFByb3BlcnR5TmFtZXMoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVB
cnJheSYgYXJyYXkpCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBtZXRob2RDb3VudDsgaSsrKSB7
CiAgICAgICAgICAgICBRTWV0YU1ldGhvZCBtZXRob2QgPSBtZXRhLT5tZXRob2QoaSk7CiAgICAg
ICAgICAgICBpZiAobWV0aG9kLmFjY2VzcygpICE9IFFNZXRhTWV0aG9kOjpQcml2YXRlKSB7Ci0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUp
CiAgICAgICAgICAgICAgICAgUVN0cmluZyBzaWcgPSBRU3RyaW5nOjpmcm9tTGF0aW4xKG1ldGhv
ZC5tZXRob2RTaWduYXR1cmUoKSk7CiAgICAgICAgICAgICAgICAgYXJyYXkuYWRkKElkZW50aWZp
ZXIoZXhlYywgVVN0cmluZyhzaWcudXRmMTYoKSwgc2lnLmxlbmd0aCgpKSkpOwogI2Vsc2UKQEAg
LTI4OSw3ICsyODksNyBAQCBKU1ZhbHVlIFF0SW5zdGFuY2U6OnN0cmluZ1ZhbHVlKEV4ZWNTdGF0
ZSogZXhlYykgY29uc3QKICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBob3cgbXVjaCB3ZSBj
YW4gY2FsbCBpdAogICAgICAgICAgICAgaWYgKG0uYWNjZXNzKCkgIT0gUU1ldGFNZXRob2Q6OlBy
aXZhdGUKICAgICAgICAgICAgICAgICAmJiBtLm1ldGhvZFR5cGUoKSAhPSBRTWV0YU1ldGhvZDo6
U2lnbmFsCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
SEFWRShRVDUpCiAgICAgICAgICAgICAgICAgJiYgbS5wYXJhbWV0ZXJDb3VudCgpID09IDAKICAg
ICAgICAgICAgICAgICAmJiBtLnJldHVyblR5cGUoKSAhPSBRTWV0YVR5cGU6OlZvaWQpIHsKICAg
ICAgICAgICAgICAgICBRVmFyaWFudCByZXQobS5yZXR1cm5UeXBlKCksICh2b2lkKikwKTsKQEAg
LTQwMyw3ICs0MDMsNyBAQCB2b2lkIFF0RmllbGQ6OnNldFZhbHVlVG9JbnN0YW5jZShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEluc3RhbmNlKiBpbnN0LCBKU1ZhbHVlCiAgICAgaWYgKG9iaikgewog
ICAgICAgICBRTWV0YVR5cGU6OlR5cGUgYXJndHlwZSA9IFFNZXRhVHlwZTo6Vm9pZDsKICAgICAg
ICAgaWYgKG1fdHlwZSA9PSBNZXRhUHJvcGVydHkpCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICBhcmd0eXBlID0g
KFFNZXRhVHlwZTo6VHlwZSkgbV9wcm9wZXJ0eS51c2VyVHlwZSgpOwogI2Vsc2UKICAgICAgICAg
ICAgIGFyZ3R5cGUgPSAoUU1ldGFUeXBlOjpUeXBlKSBRTWV0YVR5cGU6OnR5cGUobV9wcm9wZXJ0
eS50eXBlTmFtZSgpKTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9y
dW50aW1lLmggdy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCmluZGV4IDcz
NzI0N2FjZDUwNzExYmMzNGRhYWY0OWZjYjMzOGEyNmIxMmFkYjMuLjRkOWFmYTQ0MzI0MTg4MzYx
ZmVlNDIxMTlhZjY4Yzc2ZWYxMjlmODQgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9ydW50aW1lLmgKKysrIHcvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRp
bWUuaApAQCAtMjM4LDE0ICsyMzgsMTQgQEAgcHJpdmF0ZToKIC8vIHdpdGggdGhlIGFwcHJvcHJp
YXRlIHNpZ25hbCBvZiAnc2VuZGVyJy4gV2hlbiBleGVjdXRlKCkgaXMgY2FsbGVkLCBpdCB3aWxs
IGNhbGwgSlMgJ3JlY2VpdmVyRnVuY3Rpb24nLgogY2xhc3MgUXRDb25uZWN0aW9uT2JqZWN0IDog
cHVibGljIFFPYmplY3QKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwg
MCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBRX09CSkVDVF9GQUtFCiAjZW5kaWYKIHB1YmxpYzoK
ICAgICBRdENvbm5lY3Rpb25PYmplY3QoSlNDb250ZXh0UmVmLCBQYXNzUmVmUHRyPFF0SW5zdGFu
Y2U+IHNlbmRlckluc3RhbmNlLCBpbnQgc2lnbmFsSW5kZXgsIEpTT2JqZWN0UmVmIHJlY2VpdmVy
LCBKU09iamVjdFJlZiByZWNlaXZlckZ1bmN0aW9uKTsKICAgICB+UXRDb25uZWN0aW9uT2JqZWN0
KCk7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFI
QVZFKFFUNSkKICAgICAvLyBFeHBsaWNpdGx5IGRlZmluZSB0aGVzZSBiZWNhdXNlIHdhbnQgYSBj
dXN0b20gcXRfbWV0YWNhbGwoKSwgc28gd2UgY2FuJ3QgdXNlIFFfT0JKRUNUIG1hY3JvLgogICAg
IHN0YXRpYyBjb25zdCBRTWV0YU9iamVjdCBzdGF0aWNNZXRhT2JqZWN0OwogICAgIHZpcnR1YWwg
Y29uc3QgUU1ldGFPYmplY3QgKm1ldGFPYmplY3QoKSBjb25zdDsKZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvcXQvRXZlbnRIYW5kbGVyUXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGFn
ZS9xdC9FdmVudEhhbmRsZXJRdC5jcHAKaW5kZXggOGFlYmI5YzlhOTc2MWJkNjEwMWJkMmQ4NTE2
NmU1MWQ2NWEzYWU2Mi4uZDUyMjIyOTUwMGFjMTVlMzhhNjQxODYzMWU4NmVlY2U4ZTc4MzdhNiAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhhbmRsZXJRdC5jcHAKKysr
IHcvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhhbmRsZXJRdC5jcHAKQEAgLTUwLDcgKzUw
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIK
IAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUo
UVQ1KQogUVRfQkVHSU5fTkFNRVNQQUNFCiBRX0dVSV9FWFBPUlQgZXh0ZXJuIGJvb2wgcXRfdGFi
X2FsbF93aWRnZXRzOyAvLyBmcm9tIHFhcHBsaWNhdGlvbi5jcHAKIFFUX0VORF9OQU1FU1BBQ0UK
QEAgLTY2LDcgKzY2LDcgQEAgY29uc3QgZG91YmxlIEV2ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxh
eSA9IDAuMDsKIAogYm9vbCBFdmVudEhhbmRsZXI6OnRhYnNUb0FsbEZvcm1Db250cm9scyhLZXli
b2FyZEV2ZW50KiBldmVudCkgY29uc3QKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05f
Q0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICByZXR1cm4gIWlzS2V5Ym9hcmRPcHRp
b25UYWIoZXZlbnQpOwogI2Vsc2UKICAgICByZXR1cm4gKGlzS2V5Ym9hcmRPcHRpb25UYWIoZXZl
bnQpID8gIXF0X3RhYl9hbGxfd2lkZ2V0cyA6IHF0X3RhYl9hbGxfd2lkZ2V0cyk7CmRpZmYgLS1n
aXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5o
IHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApp
bmRleCA2OTJkYTU2YTUzN2EyYTZkYTVlNWUyMzFjNjA1ODQ1NGFlNTBkNDljLi5iMGJjNWMwMDk0
ZmI5ZWIyOWRlNDhiZjE1ZTMyMzU1ZTYzN2JjZjVjIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyB3L1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTY4LDcgKzY4LDcg
QEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgR0x1aW50OwogI2lmIFBMQVRGT1JNKE1BQykKIHR5cGVk
ZWYgQ0dMQ29udGV4dE9iaiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwogI2VsaWYgUExBVEZP
Uk0oUVQpCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
SEFWRShRVDUpCiB0eXBlZGVmIFFPcGVuR0xDb250ZXh0KiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEOwogdHlwZWRlZiBRU3VyZmFjZSogUGxhdGZvcm1HcmFwaGljc1N1cmZhY2UzRDsKICNlbHNl
CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGlt
cy5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAK
aW5kZXggZjU5ZjI2YzYwMjVjNzI5NWZiMzI4OWMzNGU4NDc3NzA3OTM1YWI3OC4uYTIzZGM2ODk1
MmRiODBkNzJiYTNlNzZmNmZjNTBiYjU2Zjg4ZTI1OCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcApAQCAtNDIsNyArNDIsNyBAQCBPcGVu
R0xGdW5jdGlvblRhYmxlKiBvcGVuR0xGdW5jdGlvblRhYmxlKCkKICNpZiBQTEFURk9STShRVCkK
IHN0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKIHsKLSNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkK
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUU9wZW5HTENvbnRleHQ6OmN1cnJl
bnRDb250ZXh0KCktPmdldFByb2NBZGRyZXNzKHByb2NOYW1lKSk7CiAjZWxzZQogICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PHZvaWQqPihRR0xDb250ZXh0OjpjdXJyZW50Q29udGV4dCgpLT5n
ZXRQcm9jQWRkcmVzcyhRU3RyaW5nOjpmcm9tTGF0aW4xKHByb2NOYW1lKSkpOwpkaWZmIC0tZ2l0
IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuaCB3L1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmgKaW5kZXggMWQ1ZjM3ZDll
NThhYzJjYWFkY2Y4NTE3YjY2OWY1M2U1N2IwODE0Zi4uNzA2ZjE3ZDliYTY3YzE2OTZmNWZiNzI3
M2I5NTYyODdlNzdkNWViYyAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvT3BlbkdMU2hpbXMuaAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9PcGVuR0xTaGltcy5oCkBAIC0yMiw3ICsyMiw3IEBACiAKICNpZiBQTEFURk9STShRVCkKICNp
bmNsdWRlIDxxZ2xvYmFsLmg+Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUs
IDAsIDApCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8cW9wZW5nbGZ1bmN0aW9ucy5oPgogI2lu
Y2x1ZGUgPFFPcGVuR0xDb250ZXh0PgogI2luY2x1ZGUgPFFTdXJmYWNlPgpkaWZmIC0tZ2l0IGMv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9X
aW5kb3dQcml2YXRlLmggdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaAppbmRleCAzMzYwMGY2OTZkNjRmMGVjMDUy
MWZhMjI5NjNkODIzMTliNWUzYjU2Li41ZTA1NmFjN2I3YTY5NTNjZGNkMjQ2Nzc3MjI0OGU1ZjQ0
YTNkZjRlIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaAorKysgdy9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaApA
QCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgPFFFdmVudD4KICNpbmNsdWRlIDxRVGltZXI+CiAK
LSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFU
NSkKICNpbmNsdWRlIDxRV2luZG93PgogI2Vsc2UKICNpbmNsdWRlIDxRV2lkZ2V0PgpAQCAtMzMs
NyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7
CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZF
KFFUNSkKIHR5cGVkZWYgUVdpbmRvdyBCYXNlOwogI2Vsc2UKIHR5cGVkZWYgUVdpZGdldCBCYXNl
OwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1BsYXRmb3JtVmlkZW9XaW5kb3dRdC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1F0LmNwcAppbmRleCA1MDZhNTlkMWZj
ZDBmNDRjNTUyMWIzZjVmZDM4OWQzNGNiYmJmNDc1Li4zZTQzMWYyNDE3YzkzNmQ3OTNmMzA4YmVh
MzAzZjQzYzJmYmU0NDc3IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1F0LmNwcAorKysgdy9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1F0LmNw
cApAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgY29uc3QgaW50IGdIaWRlTW91c2VDdXJzb3JEZWxh
eSA9IDMwMDA7CiBGdWxsU2NyZWVuVmlkZW9XaW5kb3c6OkZ1bGxTY3JlZW5WaWRlb1dpbmRvdygp
CiAgICAgOiBtX21lZGlhRWxlbWVudCgwKQogewotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9O
X0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAgIHNldEF0dHJpYnV0ZShRdDo6V0Ff
TmF0aXZlV2luZG93KTsKICAgICBzZXRBdHRyaWJ1dGUoUXQ6OldBX05vU3lzdGVtQmFja2dyb3Vu
ZCwgdHJ1ZSk7CiAgICAgc2V0QXR0cmlidXRlKFF0OjpXQV9QYWludE9uU2NyZWVuLCB0cnVlKTsK
QEAgLTgzLDcgKzgzLDcgQEAgYm9vbCBGdWxsU2NyZWVuVmlkZW9XaW5kb3c6OmV2ZW50KFFFdmVu
dCogZXYpCiAjaWZuZGVmIFFUX05PX0NVUlNPUgogICAgICAgICBtX2N1cnNvclRpbWVyLnN0b3Ao
KTsKICNlbmRpZgotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisj
aWYgIUhBVkUoUVQ1KQogICAgICAgICBzZXRNb3VzZVRyYWNraW5nKGZhbHNlKTsKICAgICAgICAg
cmVsZWFzZU1vdXNlKCk7CiAjZW5kaWYKQEAgLTEwMCwxMSArMTAwLDExIEBAIGJvb2wgRnVsbFNj
cmVlblZpZGVvV2luZG93OjpldmVudChRRXZlbnQqIGV2KQogdm9pZCBGdWxsU2NyZWVuVmlkZW9X
aW5kb3c6OnNob3dGdWxsU2NyZWVuKCkKIHsKICAgICBCYXNlOjpzaG93RnVsbFNjcmVlbigpOwot
I2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1
KQogICAgIHNldE1vdXNlVHJhY2tpbmcodHJ1ZSk7CiAjZW5kaWYKICAgICByYWlzZSgpOwotI2lm
IFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQog
ICAgIHNldEZvY3VzKCk7CiAjZW5kaWYKICAgICBoaWRlQ3Vyc29yKCk7CkBAIC0xMzIsNyArMTMy
LDcgQEAgUGxhdGZvcm1WaWRlb1dpbmRvdzo6UGxhdGZvcm1WaWRlb1dpbmRvdygpCiAgICAgbV93
aW5kb3cgPSB3aW47CiAgICAgd2luLT5zZXRXaW5kb3dGbGFncyh3aW4tPndpbmRvd0ZsYWdzKCkg
fCBRdDo6RnJhbWVsZXNzV2luZG93SGludCk7CiAgICAgLy8gRklYTUU6IFBvcnQgdG8gUXQgNS4K
LSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFU
NSkKICAgICBRUGFsZXR0ZSBwOwogICAgIHAuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIFF0Ojpi
bGFjayk7CiAgICAgcC5zZXRDb2xvcihRUGFsZXR0ZTo6V2luZG93LCBRdDo6YmxhY2spOwpkaWZm
IC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGlj
c0NvbnRleHQzRFF0LmNwcAppbmRleCBjMDg5ZWI5MmVlODg0NTY3MWFjMzljYTIzZTMzM2IwMjk2
YmI1ZjFiLi5mM2E3ZWE4YWJjMTM5ODlkY2FkM2IzNzZiNjJlZWRlZDU0MmIyN2NiIDEwMDY0NAot
LS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQz
RFF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGlj
c0NvbnRleHQzRFF0LmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlOjpibGl0TXVsdGlzYW1wbGVGcmFtZWJ1ZmZlckFuZFJlc3RvcmVDb250ZXh0KCkg
Y29uCiAgICAgaWYgKCFtX2NvbnRleHQtPm1fYXR0cnMuYW50aWFsaWFzKQogICAgICAgICByZXR1
cm47CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBI
QVZFKFFUNSkKICAgICBjb25zdCBRT3BlbkdMQ29udGV4dCogY3VycmVudENvbnRleHQgPSBRT3Bl
bkdMQ29udGV4dDo6Y3VycmVudENvbnRleHQoKTsKICAgICBRU3VyZmFjZSogY3VycmVudFN1cmZh
Y2UgPSAwOwogICAgIGlmIChjdXJyZW50Q29udGV4dCAhPSBtX3BsYXRmb3JtQ29udGV4dCkgewpA
QCAtMjIwLDcgKzIyMCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpibGl0TXVs
dGlzYW1wbGVGcmFtZWJ1ZmZlckFuZFJlc3RvcmVDb250ZXh0KCkgY29uCiAKIGJvb2wgR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjptYWtlQ3VycmVudElmTmVlZGVkKCkgY29uc3QKIHsKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICBjb25zdCBRT3BlbkdMQ29udGV4dCogY3VycmVudENvbnRleHQgPSBRT3BlbkdMQ29udGV4dDo6
Y3VycmVudENvbnRleHQoKTsKICAgICBpZiAoY3VycmVudENvbnRleHQgPT0gbV9wbGF0Zm9ybUNv
bnRleHQpCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAgdy9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAppbmRleCAxYmNkNmMw
NWJjMTNmYWQ5NjJhYzhhY2I5NGZkOTNhY2Q2ODEzZGEwLi40YzAxZjFkYWNhODhhMGNkNThhMjc0
MmU5YWM3OTY5YmQzMDE5MTkzIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcApAQCAtMTQ4LDcgKzE0OCw3IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgZmxvYXQgc3BhY2VXaWR0
aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwogI2VuZGlmCiAKLSNpZiBRVF9WRVJTSU9O
IDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAvLyBRdCBz
dWJ0cmFjdHMgMSBmcm9tIHRoZSBkZXNjZW50IHRvIGFjY291bnQgZm9yIHRoZSBiYXNlbGluZSwK
ICAgICAvLyB3ZSBhZGQgaXQgYmFjayBoZXJlIHRvIGdldCBjb3JyZWN0IG1ldHJpY3MgZm9yIFdl
YktpdC4KICAgICBkZXNjZW50ICs9IDE7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oIHcvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAppbmRleCAyOTA3ZDFhYzhlMTVm
NDg3ODE3YmZiMGI0MjJmYWE2MWFlNWE2NzFlLi4xMjQ5OGVjYzMyMDQ0OGY2YTZiZTYzOGZhOTcx
M2VmYzdhYjA0OTA5IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKICNpZiBQTEFU
Rk9STShRVCkKICNpbmNsdWRlIDxxZ2xvYmFsLmg+CiAKLSNpZiBkZWZpbmVkKFFUX09QRU5HTF9M
SUIpIHx8IChRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkpCisjaWYgZGVm
aW5lZChRVF9PUEVOR0xfTElCKSB8fCBIQVZFKFFUNSkKICAgICAjaWYgZGVmaW5lZChRVF9PUEVO
R0xfRVNfMikgJiYgIWRlZmluZWQoVEVYTUFQX09QRU5HTF9FU18yKQogICAgICAgICAjZGVmaW5l
IFRFWE1BUF9PUEVOR0xfRVNfMgogICAgICNlbmRpZgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgdy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRl
eCAwZjc2NTJjZDRmZDYwZDkzM2E0NDllOWRlYTAwYzA2ZTMyY2QwNmI1Li42NjAzMzRhNjc2ODEx
ZGFlYTIxNjViYzVlN2JlYTk1NWYwYzU4NTNjIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAt
NTA1LDcgKzUwNSw3IEBAIHZvaWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhJbWFn
ZSogaW1hZ2UsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGNvCiAKICNpZiBQTEFURk9STShR
VCkKICAgICBRSW1hZ2UgcXRJbWFnZTsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAvLyBXaXRoIFFQQSwgd2UgY2FuIGF2b2lk
IGEgZGVlcCBjb3B5LgogICAgIHF0SW1hZ2UgPSAqZnJhbWVJbWFnZS0+aGFuZGxlKCktPmJ1ZmZl
cigpOwogI2Vsc2UKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0Rldmlj
ZU1vdGlvblByb3ZpZGVyUXQuaCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0RldmljZU1v
dGlvblByb3ZpZGVyUXQuaAppbmRleCBjZjNkNTg5ZTQ4NDI1NDIyOTQzMjY1NzVlZDk0N2EzNzAy
YWMwNzczLi4xODQzN2M2MjYyODk1MWUyZjA5MGNiMjZlOGUwNzc0ZTQzZjA2OGEyIDEwMDY0NAot
LS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0LmgK
KysrIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5o
CkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSA8UUFjY2VsZXJvbWV0ZXJGaWx0ZXI+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiB1c2luZyBRVE1fTkFNRVNQQUNFOjpRQWNjZWxlcm9t
ZXRlcjsKIHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFBY2NlbGVyb21ldGVyRmlsdGVyOwogdXNpbmcg
UVRNX05BTUVTUEFDRTo6UUFjY2VsZXJvbWV0ZXJSZWFkaW5nOwpkaWZmIC0tZ2l0IGMvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Lmggdy9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaAppbmRl
eCA2ZDNlMTk5MDI4MGYzMTMzM2M4NmJmZjQzNTZhMzNiOTNhYzI3OTJjLi5jN2Y2ZDIzMzdjYThl
NzRjODRiNWIwZDNlMTI0MGJjMGVlOTU1ZDNhIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaAorKysgdy9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaApAQCAtMjUsNyAr
MjUsNyBAQAogI2luY2x1ZGUgPFFSb3RhdGlvbkZpbHRlcj4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFI
QVZFKFFUNSkKIHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFSb3RhdGlvbkZpbHRlcjsKIHVzaW5nIFFU
TV9OQU1FU1BBQ0U6OlFSb3RhdGlvblJlYWRpbmc7CiB1c2luZyBRVE1fTkFNRVNQQUNFOjpRUm90
YXRpb25TZW5zb3I7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0LmNwcAppbmRleCAyZTc1
Nzc0Zjg4MzljYjVmYjNmZTE1ZDYwMmE4NjQxMjI0ZTJhYzI4Li44NmU0YWI3YjYyY2YyYTBjZTZi
YmIwMTQyMjA4NzdiYWE5ODdkZDJlIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9xdC9LVVJMUXQuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tVUkxRdC5j
cHAKQEAgLTM0LDcgKzM0LDcgQEAgS1VSTDo6S1VSTChjb25zdCBRVXJsJiB1cmwpCiAKIEtVUkw6
Om9wZXJhdG9yIFFVcmwoKSBjb25zdAogewotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NI
RUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAgIFFTdHJpbmcgc3RyID0gUVN0cmluZzo6
ZnJvbVJhd0RhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCBRQ2hhcio+KG1fc3RyaW5nLmNoYXJh
Y3RlcnMoKSksIG1fc3RyaW5nLmxlbmd0aCgpKTsKICAgICBRQnl0ZUFycmF5IGJhID0gc3RyLnRv
VXRmOCgpOwogCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9y
bVNjcmVlblF0LmNwcCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVu
UXQuY3BwCmluZGV4IDYyZGNmNTAxZjJiNjQyZDA2MDBhODkyNjcyZmU3YzQ0OTZiMDMyNzMuLjhi
ZmJmMjYyNTc3ZjZmZTIyN2NjMjAzZDg2MTkwODAxNTM3MDYzZDcgMTAwNjQ0Ci0tLSBjL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCisrKyB3L1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCkBAIC0zOCw3ICszOCw3IEBA
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNs
dWRlICJRV2ViUGFnZUNsaWVudC5oIgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVD
Syg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFFHdWlBcHBsaWNhdGlvbj4KICNp
bmNsdWRlIDxRU2NyZWVuPgogI2Vsc2UKQEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIGludCBzY3Jl
ZW5OdW1iZXIoV2lkZ2V0KiB3KQogCiBpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3KQogewotI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQog
ICAgIHJldHVybiBRR3VpQXBwbGljYXRpb246OnNjcmVlbnMoKS52YWx1ZShzY3JlZW5OdW1iZXIo
dykpLT5kZXB0aCgpOwogI2Vsc2UKICAgICByZXR1cm4gUUFwcGxpY2F0aW9uOjpkZXNrdG9wKCkt
PnNjcmVlbihzY3JlZW5OdW1iZXIodykpLT5kZXB0aCgpOwpAQCAtODAsNyArODAsNyBAQCBpbnQg
c2NyZWVuRGVwdGgoV2lkZ2V0KiB3KQogCiBpbnQgc2NyZWVuRGVwdGhQZXJDb21wb25lbnQoV2lk
Z2V0KiB3KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2lmIEhBVkUoUVQ1KQogICAgIGludCBkZXB0aCA9IFFHdWlBcHBsaWNhdGlvbjo6cHJpbWFyeVNj
cmVlbigpLT5kZXB0aCgpOwogICAgIC8vIEZJWE1FOiBVc2Ugd2lkZ2V0J3Mgc2NyZWVuCiAgICAg
UV9VTlVTRUQodyk7CkBAIC0xMTQsNyArMTE0LDcgQEAgaW50IHNjcmVlbkRlcHRoUGVyQ29tcG9u
ZW50KFdpZGdldCogdykKIAogYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUoV2lkZ2V0KiB3KQogewot
I2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1
KQogICAgIFFfVU5VU0VEKHcpOwogICAgIC8vIEZJWE1FOiBJbiBRdCA1IGNvbG9yQ291bnQoKSBp
c24ndCBldmVuIGltcGxlbWVudGVkIGJleW9uZCByZXR1cm5pbmcgMjU2IDopCiAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMTI1LDcgKzEyNSw3IEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdl
dCogdykKIAogRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7Ci0jaWYgUVRf
VkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAg
UVJlY3QgciA9IFFHdWlBcHBsaWNhdGlvbjo6c2NyZWVucygpLnZhbHVlKHNjcmVlbk51bWJlcih3
aWRnZXQpKS0+Z2VvbWV0cnkoKTsKICNlbHNlCiAgICAgUVJlY3QgciA9IFFBcHBsaWNhdGlvbjo6
ZGVza3RvcCgpLT5zY3JlZW5HZW9tZXRyeShzY3JlZW5OdW1iZXIod2lkZ2V0KSk7CkBAIC0xMzUs
NyArMTM1LDcgQEAgRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiAKIEZsb2F0
UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewotI2lmIFFUX1ZFUlNJ
T04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIFFSZWN0
IHIgPSBRR3VpQXBwbGljYXRpb246OnNjcmVlbnMoKS52YWx1ZShzY3JlZW5OdW1iZXIod2lkZ2V0
KSktPmF2YWlsYWJsZUdlb21ldHJ5KCk7CiAjZWxzZQogICAgIFFSZWN0IHIgPSBRQXBwbGljYXRp
b246OmRlc2t0b3AoKS0+YXZhaWxhYmxlR2VvbWV0cnkoc2NyZWVuTnVtYmVyKHdpZGdldCkpOwpk
aWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaCB3
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmgKaW5kZXggOTU0MWM2
NGUyMmZhMDVkZWIxOGUwMTkxZjU0NTc3MWI0YjU3ZGMzOS4uNmM5YTFhZTZjYzFiZmZmMzEzZjgz
ZWU3MzY1MWQ1Mzk5NTJlM2E4YiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvUVdlYlBhZ2VDbGllbnQuaAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2Vi
UGFnZUNsaWVudC5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBjcmVhdGVQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
M0QqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBs
YXRmb3JtR3JhcGhpY3NTdXJmYWNlM0QqKSA9IDA7CiAjZW5kaWYKLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICB2aXJ0dWFsIFFX
aW5kb3cqIG93bmVyV2luZG93KCkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGMvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwIHcvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwCmluZGV4IGI5ODI0ZmFlMGM2NjUyMDUyODAz
NTU3YzFmMWRjZWVkZGFlYjkwNmMuLmZiYWM1MjlhYzVlYjBmMGU2MjU1NDk3ZTlhYjA2OGFjNTlk
Y2E3MzEgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2Fn
ZVF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblBhY2thZ2VRdC5j
cHAKQEAgLTEzMiw3ICsxMzIsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplR3RrKFFMaWJyYXJ5
KiBtb2R1bGUgPSAwKQogCiBib29sIFBsdWdpblBhY2thZ2U6OmlzUGx1Z2luQmxhY2tsaXN0ZWQo
KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhB
VkUoUVQ1KQogICAgIC8vIFRPRE86IGVudW1lcmF0ZSBhbGwgcGx1Z2lucyB0aGF0IGFyZSBpbmNv
bXBhdGlibGUgd2l0aCBRdDUuCiAgICAgY29uc3QgUUxhdGluMVN0cmluZyBwbHVnaW5CbGFja2xp
c3RbXSA9IHsKICAgICAgICAgUUxhdGluMVN0cmluZygic2t5cGVidXR0b25zIikKZGlmZiAtLWdp
dCBjL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcCB3L1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcAppbmRleCAzMjNjNTUxNTZkM2I1YmZk
ZGI2ZjA5ZmI4YzJjODlkZGU4ZjYyNjljLi5lZGEwNTA0YzIxMmJhNThiNDliZmE1ZjM1YWU5Yjc3
MjViZTJmNDZkIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZp
ZXdRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3Bw
CkBAIC03OSw4ICs3OSw2IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRl
IDxydW50aW1lL0pTVmFsdWUuaD4KIAotI2RlZmluZSBIQVZFX1FUNSAoUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApKQotCiAjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSAiUXRY
MTFJbWFnZUNvbnZlcnNpb24uaCIKICNpbmNsdWRlIDxRR3VpQXBwbGljYXRpb24+CmRpZmYgLS1n
aXQgYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcCB3L1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDNmNmZlMTQ3MWM2OGE3NGU3
NWRkNTFhM2IzZGRlZmMyZmUxMTc5NTMuLmQxOTRmOWZjMzA4Yzg3YzQ2NmM2YjQ4Y2NhMGM4Nzky
OTM3OWI4NzQgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZp
ZXcuY3BwCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCkBA
IC0zMTMsNyArMzEzLDcgQEAgYm9vbCBRR3JhcGhpY3NXZWJWaWV3OjpzY2VuZUV2ZW50KFFFdmVu
dCogZXZlbnQpCiAgICAgaWYgKGQtPnBhZ2UgJiYgKGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpU
b3VjaEJlZ2luCiAgICAgICAgICAgICAgICAgfHwgZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OlRv
dWNoRW5kCiAgICAgICAgICAgICAgICAgfHwgZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNo
VXBkYXRlCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
SEFWRShRVDUpCiAgICAgICAgICAgICAgICAgfHwgZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OlRv
dWNoQ2FuY2VsCiAjZW5kaWYKICAgICAgICApKSB7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhp
Y3N3ZWJ2aWV3LmgKaW5kZXggMTVmZTA4N2Q2MTk3MGExYWJiMTNjNjRiMjQ3ZjhjNWE5OTcxNTRh
MC4uNDY1NTc2ODY2OTcyMTg5YjFkNThlYjY5YTI5NmM1ZWIxZDg3NDVkNyAxMDA2NDQKLS0tIGMv
U291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5oCisrKyB3L1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaApAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUg
InF3ZWJraXRnbG9iYWwuaCIKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUgPFF0Q29y
ZS9xdXJsLmg+Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisj
aWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8UXRXaWRnZXRzL3FncmFwaGljc3dpZGdldC5oPgogI2Vs
c2UKICNpbmNsdWRlIDxRdEd1aS9xZ3JhcGhpY3N3aWRnZXQuaD4KZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
ZnJhbWUuY3BwCmluZGV4IGYwOWE4YTgwZGZjMTNkZjc2NmY2MzBiNjlmMjQ1YzEwNTBjNDgzYzMu
LmFiYTU4ZGIwY2Q2YzczYWQ1YjcwNGRkN2M1MzZmZjBlNzFmOWY3MjUgMTAwNjQ0Ci0tLSBjL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYmZyYW1lLmNwcApAQCAtMTE2LDcgKzExNiw3IEBACiAjaW5jbHVkZSA8cXJlZ2lvbi5o
PgogI2luY2x1ZGUgPHFuZXR3b3JrcmVxdWVzdC5oPgogCi0jaWYgRU5BQkxFKE9SSUVOVEFUSU9O
X0VWRU5UUykgJiYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBF
TkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKSAmJiAhSEFWRShRVDUpCiBRVE1fVVNFX05BTUVTUEFD
RQogI2VuZGlmCiAKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9w
Lmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCmluZGV4IDRhYjdiOTcwMGVk
NTM3MzliNzkwZjIyNGJhY2QwMzVkNTRjYTQ5MmQuLmVkOGFiYWUwMGNiZjJhNDk0ODE5MmFlODc3
MmYxNmMyZjFkYjhiYjYgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFt
ZV9wLmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaApAQCAtMzAsOSAr
MzAsOSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaWYgRU5BQkxFKE9SSUVOVEFU
SU9OX0VWRU5UUykKICNpbmNsdWRlICJxb3JpZW50YXRpb25zZW5zb3IuaCIKLSNpZiBRVF9WRVJT
SU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKIHVzaW5nIFFU
TV9OQU1FU1BBQ0U6OlFPcmllbnRhdGlvblNlbnNvcjsKLSNlbmRpZiAvLyBRVF9WRVJTSU9OIDwg
UVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKS4KKyNlbmRpZiAvLyAhSEFWRShRVDUpLgogI2VuZGlm
IC8vIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpLgogI2luY2x1ZGUgInF3ZWJlbGVtZW50Lmgi
CiAjaW5jbHVkZSAid3RmL1JlZlB0ci5oIgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4
IGQ5YjAwNzczYjBmYzFmMzU0NDA1YzcwYzkyZDAxNTllYWE5ZWFkYzMuLjhmYjMxOWRkNDI0ZmZk
ZjlmNTZlNzU4Y2Y5YjgyZmNiMWJmNmUwNzggMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJwYWdlLmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
QEAgLTMxNTEsNyArMzE1MSw3IEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVudCAqZXYpCiAg
ICAgY2FzZSBRRXZlbnQ6OlRvdWNoQmVnaW46CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoVXBkYXRl
OgogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBjYXNlIFFFdmVudDo6VG91Y2hD
YW5jZWw6CiAjZW5kaWYKICAgICAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIGRlZmF1bHQgYWN0
aW9uIHdhcyBjYW5jZWxsZWQgaW4gdGhlIEpTIGV2ZW50IGhhbmRsZXIKZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5oCmluZGV4IDBiZjM1ZTI0NzFmMWNjM2JkNDQ3YzEzY2IwZjg4OGE1MmY0ZDRhMTguLmE2
N2YxYTA5NjZiMzE3NDNjMmU3YmFhNzM1YmNhNWMwZThiMmI5MzIgMTAwNjQ0Ci0tLSBjL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuaApAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSA8UXRDb3JlL3FvYmplY3QuaD4K
ICNpbmNsdWRlIDxRdENvcmUvcXVybC5oPgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFF0V2lkZ2V0cy9xd2lkZ2V0
Lmg+CiAjZWxzZQogI2luY2x1ZGUgPFF0R3VpL3F3aWRnZXQuaD4KZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuY3BwCmluZGV4IDRlMDE4MzZmNzc4NGM3OWFhMmZhYTA4MTdkZTcyYmYyNTQw
YWI1MzUuLjU0MjVhOTI3MDZhMzNmMzk2ZTUwNzQ4MWQ0OWNjYmIzNmZjMDUwMmIgMTAwNjQ0Ci0t
LSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIHcvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDYsNyArNDYsNyBAQAogI2luY2x1ZGUg
IkZpbGVTeXN0ZW0uaCIKIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KLSNpZiBRVF9WRVJTSU9O
ID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxR
U3RhbmRhcmRQYXRocz4KICNlbHNlCiAjaW5jbHVkZSA8UURlc2t0b3BTZXJ2aWNlcz4KQEAgLTEx
NTEsNyArMTE1MSw3IEBAIHZvaWQgUVdlYlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmFn
ZShjb25zdCBRU3RyaW5nJiBwYXRoKQogCiAgICAgaWYgKHBhdGguaXNFbXB0eSgpKSB7CiAKLSNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkK
ICAgICAgICAgc3RvcmFnZVBhdGggPSBRU3RhbmRhcmRQYXRoczo6d3JpdGFibGVMb2NhdGlvbihR
U3RhbmRhcmRQYXRoczo6RGF0YUxvY2F0aW9uKTsKICNlbHNlCiAgICAgICAgIHN0b3JhZ2VQYXRo
ID0gUURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkRh
dGFMb2NhdGlvbik7CkBAIC0xMTc0LDcgKzExNzQsNyBAQCB2b2lkIFFXZWJTZXR0aW5nczo6ZW5h
YmxlUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgUVN0cmluZyYgcGF0aCkKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQogICAgIC8vIEFsbCBhcHBsaWNhdGlvbnMgY2Fu
IHNoYXJlIHRoZSBjb21tb24gUXRXZWJraXQgY2FjaGUgZmlsZShzKS4KICAgICAvLyBQYXRoIGlz
IG5vdCBjb25maWd1cmFibGUgYW5kIHVzZXMgUURlc2t0b3BTZXJ2aWNlczo6Q2FjaGVMb2NhdGlv
biBieSBkZWZhdWx0LgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAw
KQorI2lmIEhBVkUoUVQ1KQogICAgIFFTdHJpbmcgY2FjaGVQYXRoID0gUVN0YW5kYXJkUGF0aHM6
OndyaXRhYmxlTG9jYXRpb24oUVN0YW5kYXJkUGF0aHM6OkNhY2hlTG9jYXRpb24pOwogI2Vsc2UK
ICAgICBRU3RyaW5nIGNhY2hlUGF0aCA9IFFEZXNrdG9wU2VydmljZXM6OnN0b3JhZ2VMb2NhdGlv
bihRRGVza3RvcFNlcnZpY2VzOjpDYWNoZUxvY2F0aW9uKTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3
LmNwcAppbmRleCA5MzdkM2JkY2FmYzlkMmRjZmI1NjNmNWNlOGI1NWNhY2ZiMDcyZmFmLi43NmJm
MzkyNzc4YTkwOTE4NzM3YmE5ZTNlOTAyNmJiY2YwMzExYjFlIDEwMDY0NAotLS0gYy9Tb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnZpZXcuY3BwCkBAIC03MDQsNyArNzA0LDcgQEAgYm9vbCBRV2ViVmlldzo6ZXZlbnQoUUV2ZW50
ICplKQogICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNoQmVnaW4g
CiAgICAgICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hFbmQgCiAg
ICAgICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hVcGRhdGUKLSNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkK
ICAgICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaENhbmNlbAog
I2VuZGlmCiAgICAgICAgICAgICAgICAgICApIHsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJ2aWV3Lmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5oCmluZGV4
IDkwZDBhOGUzYjIwNzE0ZWNlYjFlMTgyMzJiOTQwMGFkYzQzNTczNDAuLmNmMDA0NDI2NjM5MzI3
NWFkMDk5ZmY0OWRkNTY1YmIxNzA2NGI4NzYgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJ2aWV3LmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaApAQCAt
MjMsNyArMjMsNyBAQAogCiAjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgogI2luY2x1ZGUgInF3
ZWJwYWdlLmgiCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisj
aWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8UXRXaWRnZXRzL3F3aWRnZXQuaD4KICNlbHNlCiAjaW5j
bHVkZSA8UXRHdWkvcXdpZGdldC5oPgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggZTgxNmI5ZjIxYjM4MTk4
MDQ4OGM3ZDFiZTkyNTM4NzhmMzc4NGU0NC4uMDk3ZDdkODg5MmExMmE0MjY2NDBhZWIwZWEwODBm
OWNjYzVhYWY5OCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFF0LmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC0xNjAzLDcgKzE2MDMsNyBAQCBQYXNzUmVm
UHRyPFdpZGdldD4gRnJhbWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNp
emUmIHBsdWdpblNpemUsCiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHBhcmFtcyA9IHBhcmFtTmFt
ZXM7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHZhbHVlcyA9IHBhcmFtVmFsdWVzOwogICAgICAg
ICBpZiAobWltZVR5cGUgPT0gImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIikgewotI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQog
ICAgICAgICAgICAgY29uc3QgYm9vbCBzaG91bGRJbmplY3RXbW9kZSA9IHRydWU7CiAjZWxzZQog
ICAgICAgICAgICAgLy8gSW5qZWN0IHdtb2RlPW9wYXF1ZSB3aGVuIHRoZXJlIGlzIG5vIGNsaWVu
dCBvciB0aGUgY2xpZW50IGlzIG5vdCBhIFFXZWJWaWV3LgpkaWZmIC0tZ2l0IGMvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcCB3L1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKaW5kZXggODU1
MWNmOTA2NjMyZDE0NjE2MDEyNmE0NWUwZmZkMzNjNTk1OWRjZC4uZWM0ZDFiYjllOWFmYzNmN2Ew
OTA5ZGM1ZTQ4ZTUxODdhY2YxNzI0YiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCkBAIC0zNyw5ICszNyw5IEBA
CiAjaW5jbHVkZSAicXdlYnBhZ2UuaCIKICNpbmNsdWRlICJxd2VicGFnZV9wLmgiCiAKLSNpZiBR
VF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICNp
bmNsdWRlIDxRR2VvUG9zaXRpb25JbmZvU291cmNlPgotI2VsaWYgUVRfVkVSU0lPTiA+PSBRVF9W
RVJTSU9OX0NIRUNLKDUsIDAsIDApCisjZWxpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRdExvY2F0
aW9uL1FHZW9Qb3NpdGlvbkluZm9Tb3VyY2U+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGMvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0Lmggdy9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuaAppbmRleCA5ZDA3
YTkxNTViMmUwZWNkOTA4OWFiYTcxMGI3Mjk0NzViMzYxM2ZhLi45NGIwZjY1MzFmZmQ1NDk5YzIx
MjMzMjkxYzk3YzY3Y2IzZmE5OWM1IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuaAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAj
aW5jbHVkZSA8UU9iamVjdD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBRVF9WRVJT
SU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICNpbmNsdWRl
IDxRR2VvUG9zaXRpb25JbmZvPgogbmFtZXNwYWNlIFF0TW9iaWxpdHkgewogY2xhc3MgUUdlb1Bv
c2l0aW9uSW5mb1NvdXJjZTsKIH07CiB1c2luZyBuYW1lc3BhY2UgUXRNb2JpbGl0eTsKLSNlbGlm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2VsaWYgSEFWRShRVDUp
CiAjaW5jbHVkZSA8UXRMb2NhdGlvbi9RR2VvUG9zaXRpb25JbmZvPgogY2xhc3MgUUdlb1Bvc2l0
aW9uSW5mb1NvdXJjZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9QYWdlQ2xpZW50UXQuY3BwCmluZGV4IGVkNjFkMWY5NmE4MGNhYzQyZjgxYTkzMjA4NGI0
NTRiM2Q1N2FlYjguLjkzYmU1YTVlMmViZDRjMjAwMTA1ZWRiZjczNmM0OGEwOWVlM2FlNzEgMTAw
NjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNw
cAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAK
QEAgLTMwLDcgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VCR0wpCiAjaW5jbHVkZSA8UUdMV2lkZ2V0
PgogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFW
RShRVDUpCiAjaW5jbHVkZSA8UVdpbmRvdz4KICNlbmRpZgogCkBAIC01MCw3ICs1MCw3IEBAIHN0
YXRpYyB2b2lkIGNyZWF0ZVBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0RGcm9tV2lkZ2V0KFFXaWRn
ZXQqIHdpZGdldCwgUGxhdGZvcm1HCiAgICAgaWYgKGdsV2lkZ2V0LT5pc1ZhbGlkKCkpIHsKICAg
ICAgICAgLy8gR2VvbWV0cnkgY2FuIGJlIHNldCB0byB6ZXJvIGJlY2F1c2UgbV9nbFdpZGdldCBp
cyB1c2VkIG9ubHkgZm9yIGl0cyBRR0xDb250ZXh0LgogICAgICAgICBnbFdpZGdldC0+c2V0R2Vv
bWV0cnkoMCwgMCwgMCwgMCk7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUs
IDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICpzdXJmYWNlID0gZ2xXaWRnZXQtPndpbmRv
d0hhbmRsZSgpOwogICAgICAgICAqY29udGV4dCA9IGdsV2lkZ2V0LT5jb250ZXh0KCktPmNvbnRl
eHRIYW5kbGUoKTsKICNlbHNlCkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZVBs
YXRmb3JtR3JhcGhpY3NDb250ZXh0M0RGcm9tV2lkZ2V0KFFXaWRnZXQqIHdpZGdldCwgUGxhdGZv
cm1HCiAjaW5jbHVkZSAidGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oIgogI2VuZGlmCiAKLSNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkK
IFFXaW5kb3cqIFFXZWJQYWdlQ2xpZW50Ojpvd25lcldpbmRvdygpIGNvbnN0CiB7CiAgICAgUVdp
ZGdldCogd2lkZ2V0ID0gb3duZXJXaWRnZXQoKTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCB3L1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAppbmRleCBkNDVmOGNlMzFm
ZmEyNzI4MWI2NjgyMzZlMmJiMmZiMjE1MjI0OTVlLi4wYjczMmE0Y2VkMWRmNGZiNDlhOTIxZTky
Y2Q0Yzg4MTI2ZGZhMzIwIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgV2ViS2l0
UGxhdGZvcm1Ub3VjaEV2ZW50OjpXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQoUVRvdWNoRXZlbnQq
IGV2ZW50KQogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKICAgICAgICAgbV90eXBlID0gUGxh
dGZvcm1FdmVudDo6VG91Y2hFbmQ7CiAgICAgICAgIGJyZWFrOwotI2lmIFFUX1ZFUlNJT04gPj0g
UVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIGNhc2UgUUV2ZW50
OjpUb3VjaENhbmNlbDoKICAgICAgICAgbV90eXBlID0gUGxhdGZvcm1FdmVudDo6VG91Y2hDYW5j
ZWw7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9kZWNsYXJh
dGl2ZS9wbHVnaW4uY3BwIHcvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wbHVnaW4uY3Bw
CmluZGV4IGIxOGE3YmI2MGE0OGMwOGUwZTNjMWFhMDc0ZDBlZmEzMWI0OTZmYzkuLjk4OGIzNmUw
ZTJkNjAzNmQ1M2M3Y2EyYzlmNTlhMGNjNGE1MWJhNDggMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJL
aXQvcXQvZGVjbGFyYXRpdmUvcGx1Z2luLmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xh
cmF0aXZlL3BsdWdpbi5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlICJxZGVjbGFyYXRp
dmV3ZWJ2aWV3X3AuaCIKICNlbmRpZgogCi0jaWYgKFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg1LCAwLCAwKSkKKyNpZiAoSEFWRShRVDUpKQogI2luY2x1ZGUgPFF0UW1sL3FxbWwuaD4K
ICNpbmNsdWRlIDxRdFFtbC9xcW1sZXh0ZW5zaW9ucGx1Z2luLmg+CiAjZWxzZQpkaWZmIC0tZ2l0
IGMvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAgdy9T
b3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcAppbmRleCAy
YzI4YWVmMWY0ZGUxZmFmMDdlMjVlNGI1YmNkNDViYmEwZWU3NDMxLi5lYTgyYmI4ZWExZmU1MmZl
NWFkMzhjN2VkNDdiYTBiNzE5ODI5YjQ4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcApAQCAtMjAzMyw3ICsyMDMzLDcgQEAgdm9p
ZCB0c3RfUVdlYkZyYW1lOjplbnVtZXJhdGVfZGF0YSgpCiAgICAgICAgIDw8ICJkcDEiIDw8ICJk
cDIiIDw8ICJkcDMiCiAgICAgICAgIC8vIGluaGVyaXRlZCBzaWduYWxzIGFuZCBzbG90cwogICAg
ICAgICA8PCAiZGVzdHJveWVkKFFPYmplY3QqKSIgPDwgImRlc3Ryb3llZCgpIgotI2lmIFFUX1ZF
UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgICAg
ICA8PCAib2JqZWN0TmFtZUNoYW5nZWQoUVN0cmluZykiCiAjZW5kaWYKICAgICAgICAgPDwgImRl
bGV0ZUxhdGVyKCkiCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3V0aWwuaCB3
L1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCmluZGV4IDIyMTkyYmFkMmY5M2RlOGQ3OWY3
YzdjMmRlNWE2OGFhZWUwM2MwYmUuLmE4YTc1MjExN2I4YjMwMDFkZDNhNGFiZjJiOTVkZGExNWY1
Y2QzZWIgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCisrKyB3L1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyBib29s
IHdhaXRGb3JTaWduYWwoUU9iamVjdCogb2JqLCBjb25zdCBjaGFyKiBzaWduYWwsIGludCB0aW1l
b3V0ID0gMTAwMDApCiAgICAgcmV0dXJuIHRpbWVvdXRTcHkuaXNFbXB0eSgpOwogfQogCi0jaWYg
UVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiAv
LyBXaWxsIHRyeSB0byB3YWl0IGZvciB0aGUgY29uZGl0aW9uIHdoaWxlIGFsbG93aW5nIGV2ZW50
IHByb2Nlc3NpbmcKICNkZWZpbmUgUVRSWV9WRVJJRlkoX19leHByKSBcCiAgICAgZG8geyBcCmRp
ZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2Fw
aS90c3RfcHVibGljYXBpLmNwcCB3L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcHVibGljYXBpL3RzdF9wdWJsaWNhcGkuY3BwCmluZGV4IDZjMGNiNGI2MjkwNDMyYTkwOWI1
ZTY3MDZhM2VlODllZmQ0N2ZiYTEuLjVkNWIzMjQ0NTU2N2I0MzI4N2JhMTdlYzI5ODhkNTkxYzNi
N2I0ZDggMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cHVibGljYXBpL3RzdF9wdWJsaWNhcGkuY3BwCisrKyB3L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvdGVzdHMvcHVibGljYXBpL3RzdF9wdWJsaWNhcGkuY3BwCkBAIC0xNDIsNyArMTQy
LDcgQEAgc3RhdGljIHZvaWQgZ2F0aGVyQVBJKGNvbnN0IFFTdHJpbmcmIHByZWZpeCwgY29uc3Qg
UU1ldGFNZXRob2QmIG1ldGhvZCwgUVN0cmluZ0wKIHsKICAgICBpZiAobWV0aG9kLmFjY2Vzcygp
ICE9IFFNZXRhTWV0aG9kOjpQcml2YXRlKSB7CiAgICAgICAgIGNvbnN0IGNoYXIqIG1ldGhvZFR5
cGVOYW1lID0gISFzdHJsZW4obWV0aG9kLnR5cGVOYW1lKCkpID8gbWV0aG9kLnR5cGVOYW1lKCkg
OiAidm9pZCI7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisj
aWYgSEFWRShRVDUpCiAgICAgICAgICpvdXRwdXQgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiJTEl
MiAtLT4gJTMiKS5hcmcocHJlZml4KS5hcmcoUVN0cmluZzo6ZnJvbUxhdGluMShtZXRob2QubWV0
aG9kU2lnbmF0dXJlKCkpKS5hcmcoUVN0cmluZzo6ZnJvbUxhdGluMShtZXRob2RUeXBlTmFtZSkp
OwogI2Vsc2UKICAgICAgICAgKm91dHB1dCA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIlMSUyIC0t
PiAlMyIpLmFyZyhwcmVmaXgpLmFyZyhtZXRob2Quc2lnbmF0dXJlKCkpLmFyZyhtZXRob2RUeXBl
TmFtZSk7CmRpZmYgLS1naXQgYy9Ub29scy9DaGFuZ2VMb2cgdy9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggNjQ5ZTE3NTI1ODhlYzZlMDIwOTY0NGExYTRiNzQ4YzEzODMwYWZiZC4uMDI1MmVlY2RjNTk0
NjE2ZmRmMmQ3ZTcwNGE2Nzg5Y2RmZTM2ZDE4MyAxMDA2NDQKLS0tIGMvVG9vbHMvQ2hhbmdlTG9n
CisrKyB3L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA1LTMxICBUb3Ig
QXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
IFNpbXBsaWZ5IFFUX1ZFUlNJT05fQ0hFQ0tTIGZvciBRdDUgYnkgaW50cm9kdWNpbmcgSEFWRShR
VDUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
UXRJbml0aWFsaXplVGVzdEZvbnRzLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9t
YWluLmNwcDoKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL2Nvb2tpZWphci5jcHA6CisgICAgICAg
ICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHA6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAg
ICAgICAgKiBxbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2RlZmF1bHRfcG9zdC5wcmY6CisKIDIwMTIt
MDUtMzAgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+
CiAKICAgICAgICAgW0VGTF1bRFJUXSBFRkwncyBEUlQgbmVlZHMgInBvc3RQcm9ncmVzc0Zpbmlz
aGVkTm90aWZpY2F0aW9uIiBtZXNzYWdlCmRpZmYgLS1naXQgYy9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB3L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwCmluZGV4IGE5ZjI3YmYzYmU5NGU1NTYzNTVkM2RhNGExODg2ZjBlZmQw
N2E2ZDguLmRmNzBlMDhhNjJkMzY4ZDU0NmVkZDc0OWU1NDIzYjJhNDEwY2VjZTkgMTAwNjQ0Ci0t
LSBjL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyB3L1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC02MjAsOSArNjIw
LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6b3Blbihjb25zdCBRVXJsJiB1cmwpCiAgICAgbV9w
YWdlLT5ldmVudCgmZXYpOwogCiAgICAgUVdlYlNldHRpbmdzOjpjbGVhck1lbW9yeUNhY2hlcygp
OwotI2lmICEoUVRfVkVSU0lPTiA8PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDIpKQogICAgIFFG
b250RGF0YWJhc2U6OnJlbW92ZUFsbEFwcGxpY2F0aW9uRm9udHMoKTsKLSNlbmRpZgogICAgIFdl
YktpdDo6aW5pdGlhbGl6ZVRlc3RGb250cygpOwogCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQ6OmR1bXBGcmFtZUxvYWRlcih1cmwudG9TdHJpbmcoKS5jb250YWlucygibG9hZGluZy8iKSk7
CmRpZmYgLS1naXQgYy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcCB3
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCmluZGV4IDRhM2IyNDVh
YmVhNjUzMTgyZGU2YmM5NGFjYWQwNDE2N2VmYzE4ZjAuLmMwNTA2ZWZlMmRlMzFhZDBlZGY5YzJk
Yzg5MGI2NDZmYTY4NjZkZWIgMTAwNjQ0Ci0tLSBjL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2
ZW50U2VuZGVyUXQuY3BwCisrKyB3L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVy
UXQuY3BwCkBAIC01MTEsNyArNTExLDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6Y2FuY2VsVG91Y2hQ
b2ludChpbnQgaW5kZXgpCiAKIHZvaWQgRXZlbnRTZW5kZXI6OnNlbmRUb3VjaEV2ZW50KFFFdmVu
dDo6VHlwZSB0eXBlKQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAw
LCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIHN0YXRpYyBRVG91Y2hEZXZpY2UqIGRldmljZSA9IDA7
CiAgICAgaWYgKCFkZXZpY2UpIHsKICAgICAgICAgZGV2aWNlID0gbmV3IFFUb3VjaERldmljZTsK
ZGlmZiAtLWdpdCBjL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1F0SW5pdGlhbGl6ZVRlc3RGb250
cy5jcHAgdy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9RdEluaXRpYWxpemVUZXN0Rm9udHMuY3Bw
CmluZGV4IGNhNmI2NmM0OTY2NWMxMTEyOWVjYzhiMTRhYTU4NGYwY2QyZTQ4MDYuLjdhZTVlMjJh
MzdhZjIwZGYxNjFkYmEyZDM2ZmI0ZDkwZGU3YTk4MmEgMTAwNjQ0Ci0tLSBjL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L1F0SW5pdGlhbGl6ZVRlc3RGb250cy5jcHAKKysrIHcvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvUXRJbml0aWFsaXplVGVzdEZvbnRzLmNwcApAQCAtNjcsNyArNjcsNyBAQCB2
b2lkIGluaXRpYWxpemVUZXN0Rm9udHMoKQogICAgIC8vIFRoZSByZXNvbHZpbmcgb2YgZGVmYXVs
dCBmb250IGZhbWlsaWVzIHdhcyBhbHRlcmVkIGluIFF0NSB3aXRoIDJjYzU0NDIgKHF0YmFzZSks
CiAgICAgLy8gd2UgdXNlIHRoaXMgaGFjayB0byBrZWVwIHJlc29sdmluZyB0byB0aGUgc2FtZSBm
b250IFF0NCBkaWQgZm9yIHNlcmlmIHdoaWxlCiAgICAgLy8gc3VwcG9ydGluZyBib3RoIHZlcnNp
b25zLgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhB
VkUoUVQ1KQogICAgIGNvbmZpZ0ZpbGUgPSBmb250RGlyICsgIi9mb250cy1xdDUtd2sxLmNvbmYi
OwogICAgIGlmICghRmNDb25maWdQYXJzZUFuZExvYWQoY29uZmlnLCByZWludGVycHJldF9jYXN0
PGNvbnN0IEZjQ2hhcjgqPihjb25maWdGaWxlLmNvbnN0RGF0YSgpKSwgRmNUcnVlKSkKICAgICAg
ICAgcUZhdGFsKCJDb3VsZG4ndCBsb2FkIGZvbnQgY29uZmlndXJhdGlvbiBmaWxlIik7CmRpZmYg
LS1naXQgYy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcCB3L1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L21haW4uY3BwCmluZGV4IDE3NjMzNjc3MDZmMWFiMjdlOGExNjNjYzVlNTQ1ZmZi
N2E4NWYwMGUuLjMxMjVkNjFiYzNkN2Y2NDJlMjFjZTVkMWMyN2I1MWU2ZWU5OGFhZDYgMTAwNjQ0
Ci0tLSBjL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCisrKyB3L1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L21haW4uY3BwCkBAIC0xNTIsNyArMTUyLDkgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBRQXBwbGljYXRpb24gYXBwKGFyZ2MsIGFyZ3YpOwogICAg
IGFwcC5zZXRRdWl0T25MYXN0V2luZG93Q2xvc2VkKGZhbHNlKTsKIAotI2lmIFFUX1ZFUlNJT04g
PD0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQorICAgIFFDb3JlQXBw
bGljYXRpb246OnNldEF0dHJpYnV0ZShRdDo6QUFfVXNlOTZEcGksIHRydWUpOworI2Vsc2UKICNp
ZmRlZiBRX1dTX1gxMQogICAgIFFYMTFJbmZvOjpzZXRBcHBEcGlZKDAsIDk2KTsKICAgICBRWDEx
SW5mbzo6c2V0QXBwRHBpWCgwLCA5Nik7CkBAIC0xNzAsOCArMTcyLDYgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAqIGRlZmF1bHQgZm9udCwgYnV0IHdpdGggdGhlIGNv
cnJlY3QgcGFpbnQtZGV2aWNlIERQSS4KICAgICovCiAgICAgUUFwcGxpY2F0aW9uOjpzZXRGb250
KFFXaWRnZXQoKS5mb250KCkpOwotI2Vsc2UKLSAgICBRQ29yZUFwcGxpY2F0aW9uOjpzZXRBdHRy
aWJ1dGUoUXQ6OkFBX1VzZTk2RHBpLCB0cnVlKTsKICNlbmRpZgogCiAjaWYgSEFWRShTSUdOQUxf
SCkKZGlmZiAtLWdpdCBjL1Rvb2xzL1F0VGVzdEJyb3dzZXIvY29va2llamFyLmNwcCB3L1Rvb2xz
L1F0VGVzdEJyb3dzZXIvY29va2llamFyLmNwcAppbmRleCAyMmE4ZDE3YTJkNjA4ZWQ5NDU4YmMy
YzhjMTcxMzUwZTFkMTcyMTdlLi5iMjc2NmRlZWYxNTA2NmM2MTk4NzQ3MTU1NGY4Mjk0YzQ5NzE4
NDgzIDEwMDY0NAotLS0gYy9Ub29scy9RdFRlc3RCcm93c2VyL2Nvb2tpZWphci5jcHAKKysrIHcv
VG9vbHMvUXRUZXN0QnJvd3Nlci9jb29raWVqYXIuY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAKICNp
bmNsdWRlICJjb29raWVqYXIuaCIKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVD
Syg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFFTdGFuZGFyZFBhdGhzPgogI2Vs
c2UKICNpbmNsdWRlIDxRRGVza3RvcFNlcnZpY2VzPgpAQCAtNDYsNyArNDYsNyBAQCBUZXN0QnJv
d3NlckNvb2tpZUphcjo6VGVzdEJyb3dzZXJDb29raWVKYXIoUU9iamVjdCogcGFyZW50KQogICAg
IGNvbm5lY3QoJm1fdGltZXIsIFNJR05BTCh0aW1lb3V0KCkpLCB0aGlzLCBTTE9UKHNhdmVUb0Rp
c2soKSkpOwogCiAjaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUwotI2lmIFFUX1ZFUlNJT04g
Pj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIFFTdHJpbmcg
cGF0aCA9IFFTdGFuZGFyZFBhdGhzOjp3cml0YWJsZUxvY2F0aW9uKFFTdGFuZGFyZFBhdGhzOjpD
YWNoZUxvY2F0aW9uKTsKICNlbHNlCiAgICAgUVN0cmluZyBwYXRoID0gUURlc2t0b3BTZXJ2aWNl
czo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkNhY2hlTG9jYXRpb24pOwpkaWZm
IC0tZ2l0IGMvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAgdy9Ub29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAppbmRleCA2MjNhN2VmYTE3NDIxNGE1YWEz
MGVhYzU5Mzk5YTFiN2M5MjUwYTc4Li5kNWQ5NTQ2ZGU2YjYwNmVkMTc2MmY0Y2NlNjM3MmU2OTM5
ZmIzYTM0IDEwMDY0NAotLS0gYy9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNw
cAorKysgdy9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcApAQCAtNjQsNyAr
NjQsNyBAQAogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChRVF9OT19ORVRXT1JLRElTS0NBQ0hFKSAm
JiAhZGVmaW5lZChRVF9OT19ERVNLVE9QU0VSVklDRVMpCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9W
RVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8UVN0YW5kYXJk
UGF0aHM+CiAjZWxzZQogI2luY2x1ZGUgPFFEZXNrdG9wU2VydmljZXM+CkBAIC04MDYsNyArODA2
LDcgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6c2V0RGlza0NhY2hlKGJvb2wgZW5hYmxlKQogICAg
IFFOZXR3b3JrRGlza0NhY2hlKiBjYWNoZSA9IDA7CiAgICAgaWYgKGVuYWJsZSkgewogICAgICAg
ICBjYWNoZSA9IG5ldyBRTmV0d29ya0Rpc2tDYWNoZSgpOwotI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgICAgICBRU3RyaW5nIGNh
Y2hlTG9jYXRpb24gPSBRU3RhbmRhcmRQYXRoczo6d3JpdGFibGVMb2NhdGlvbihRU3RhbmRhcmRQ
YXRoczo6Q2FjaGVMb2NhdGlvbik7CiAjZWxzZQogICAgICAgICBRU3RyaW5nIGNhY2hlTG9jYXRp
b24gPSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNlczo6
Q2FjaGVMb2NhdGlvbik7CmRpZmYgLS1naXQgYy9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIHcvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAppbmRl
eCA3MmQwNDg3OGE5YTg3YjVjYmMwMDgxOTZhOTMxOTliZTI1ZGRhNTNmLi41ZGU4YWU3MWE1OWZi
MjA0YjI2ZDFiMDNmNjdkOWMzMzRhYzE5MmY1IDEwMDY0NAotLS0gYy9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyB3
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5jcHAKQEAgLTY0LDkgKzY0LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICAvLyB3aGljaCBtYWtlcyB0aGUgdXNlIG9mIFFGb250
RGF0YWJhc2UgdW5uZWNlc3NhcnkuCiAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzQyNwogICAgIFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1vcnlDYWNo
ZXMoKTsKLSNpZiAhKFFUX1ZFUlNJT04gPD0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAyKSkKICAg
ICBRRm9udERhdGFiYXNlOjpyZW1vdmVBbGxBcHBsaWNhdGlvbkZvbnRzKCk7Ci0jZW5kaWYKICAg
ICBhY3RpdmF0ZUZvbnRzKCk7CiAgICAgUU9iamVjdDo6Y29ubmVjdCgmbV93YWl0VG9EdW1wV2F0
Y2hkb2dUaW1lciwgU0lHTkFMKHRpbWVvdXQoKSksIFdhdGNoZG9nVGltZXJIZWxwZXI6Omluc3Rh
bmNlKCksIFNMT1QodGltZXJGaXJlZCgpKSk7CiB9CmRpZmYgLS1naXQgYy9Ub29scy9xbWFrZS9t
a3NwZWNzL2ZlYXR1cmVzL2RlZmF1bHRfcG9zdC5wcmYgdy9Ub29scy9xbWFrZS9ta3NwZWNzL2Zl
YXR1cmVzL2RlZmF1bHRfcG9zdC5wcmYKaW5kZXggYzM3ZDcxYjYyZDk1MTM1M2U2ZTNlYTUyNTMw
OGIwZjE3NTUzMDhhYy4uNzdkN2NiNmVkM2E5MTEzOTAzM2ZjMGUxNjc2YzA1YmIxZDAzZWIxZSAx
MDA2NDQKLS0tIGMvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9kZWZhdWx0X3Bvc3QucHJm
CisrKyB3L1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZGVmYXVsdF9wb3N0LnByZgpAQCAt
MjEsNiArMjEsOCBAQCBpc0VtcHR5KE9CSkVDVFNfRElSKTogT0JKRUNUU19ESVIgPSBvYmovJCRh
Y3RpdmVCdWlsZENvbmZpZygpCiBERUZJTkVTICs9IFwKICAgICBCVUlMRElOR19RVF9fPTEKIAor
aGF2ZVF0KDUpOiBERUZJTkVTICs9IEhBVkVfUVQ1CisKIENPTkZJRyhyZWxlYXNlLCBkZWJ1Z3xy
ZWxlYXNlKTogREVGSU5FUyAqPSBOREVCVUcKIAogQ09ORklHICs9IGRlcGVuZF9pbmNsdWRlcGF0
aAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145065</attachid>
            <date>2012-05-31 05:55:43 -0700</date>
            <delta_ts>2012-05-31 06:17:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87955-20120531145541.patch</filename>
            <type>text/plain</type>
            <size>42533</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4OTIyCmRpZmYgLS1naXQgYy9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyB3L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNjM4NTkyN2I2NjM3Y2IzNWVjNjZh
MjBmYzEyNjI1N2Q1ODUwYTMuLjAwMWQ1MDA0YzdiNjJmZGI3MmU0OWFlNTMwZGM2MTdkNzBlYjlm
ZjkgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyB3L1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0
b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVS
U0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRyb2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvcXQvVXRpbHNRdC5oOgor
CiAyMDEyLTA1LTMwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEJ1aWxkIGZpeCBmb3IgV2luQ0UgYWZ0ZXIgcjExODYwMy4KZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyB3L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBl
MmIwYjIwYTcwZjc5MmFkZjhkNzQyNTdjMzgzYzY2NWVlOWIxNGFmLi5jOGFlMzg2OTEwNGQyMGE3
YWE3Y2YxZjgzOWE0OGFhMDZiOTY4NDI1IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIHcvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIw
MTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgor
CisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRy
b2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBicmlkZ2UvcXQvcXRfY2xhc3MuY3BwOgorICAgICAgICAqIGJyaWRnZS9xdC9x
dF9pbnN0YW5jZS5jcHA6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKyAgICAg
ICAgKiBwYWdlL3F0L0V2ZW50SGFuZGxlclF0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL09w
ZW5HTFNoaW1zLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2lu
ZG93UHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0
Zm9ybVZpZGVvV2luZG93UXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dDNEUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1Np
bXBsZUZvbnREYXRhUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvRGV2aWNlTW90aW9uUHJvdmlk
ZXJRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dC5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0tVUkxRdC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUGxhdGZvcm1TY3JlZW5RdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvUVdlYlBh
Z2VDbGllbnQuaDoKKyAgICAgICAgKiBwbHVnaW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHA6Cisg
ICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorCiAyMDEyLTA1LTMwICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBBZGQgdHJhY2UoKSBtZXRob2QgdG8gdGhlIFdvcmtlckNvbnNvbGUKZGlmZiAtLWdpdCBj
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIHcvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
aW5kZXggZTgyNzQwZjk0N2M4ZTEyMDlkMzBhZjljZTUyMWYxNzljY2VkMjBhZC4uMWU0YzRiODM0
NDVkYzBiZDg3ZmYzY2M2MGZjMWUwYjAyMGFjYzg1MCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKKysrIHcvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxMi0wNS0zMSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bu
b2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBTaW1wbGlmeSBRVF9WRVJTSU9OX0NIRUNLUyBmb3Ig
UXQ1IGJ5IGludHJvZHVjaW5nIEhBVkUoUVQ1KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAg
KiBBcGkvcWdyYXBoaWNzd2Vidmlldy5oOgorICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgor
ICAgICAgICAqIEFwaS9xd2ViZnJhbWVfcC5oOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5j
cHA6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJF
dmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAqIGRlY2xhcmF0aXZlL3BsdWdpbi5jcHA6Cisg
ICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorICAgICAgICAqIHRl
c3RzL3V0aWwuaDoKKwogMjAxMi0wNS0yOSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZl
c3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBTeW5jIHVwIGZhdmljb24taW1wbGVtZW50
YXRpb24gd2l0aCBXZWJWaWV3IHVybCBjaGFuZ2VzIGluIHIxMTgxNTgKZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyB3L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBl
MGE4OGEwNzE0MzUxY2I4ODZkZmFmOGJjMTdmOTI1MDdmNWQzZDVmLi5iMDcxZTQ0ZTljOGViYmZm
YTQxZDUwYTgxMzA0Y2M0Y2U4ZGFmOGNjIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIHcvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgor
CisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRy
b2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBp
LmNwcDoKKwogMjAxMi0wNS0zMCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBEbyByZW5hbWVzIGluIFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUgYXMgYWdyZWVkIHVwb24KZGlmZiAtLWdpdCBjL1NvdXJjZS9XVEYvd3RmL3F0
L1V0aWxzUXQuaCB3L1NvdXJjZS9XVEYvd3RmL3F0L1V0aWxzUXQuaAppbmRleCA3NDA2N2E4ZWVi
NGU2YTQ0OWQxOWE3MTMzZjdlNmIzZjk1YTVkZTYwLi42MWM5ZTMyYzE1NjRhMjcyZmRlOTNiYzJk
YTc5YzMxOTA3YTVmMzQ4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV1RGL3d0Zi9xdC9VdGlsc1F0LmgK
KysrIHcvU291cmNlL1dURi93dGYvcXQvVXRpbHNRdC5oCkBAIC0yMSwxMyArMjEsMTMgQEAKICNk
ZWZpbmUgV1RGX1V0aWxzUXRfaAogCiAjaW5jbHVkZSA8UVN0cmluZz4KLSNpZiBRVF9WRVJTSU9O
IDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICNpbmNsdWRlIDxR
VGV4dERvY3VtZW50PgogI2VuZGlmCiAKIGlubGluZSBRU3RyaW5nIGVzY2FwZUh0bWwoY29uc3Qg
UVN0cmluZyYgc3RyaW5nKQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIHJldHVybiBzdHJpbmcudG9IdG1sRXNjYXBlZCgp
OwogI2Vsc2UKICAgICByZXR1cm4gUXQ6OmVzY2FwZShzdHJpbmcpOwpkaWZmIC0tZ2l0IGMvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2NsYXNzLmNwcCB3L1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9jbGFzcy5jcHAKaW5kZXggMTA1ODk4ZTQ3N2E0YjYyYTJjZGRiN2ZlMWJmYjJmMGM5
OWVjNzQ3NC4uMzgwM2Q0Nzg3YzQ5MjlmYjY4Y2QwYTk4NjJjZjI5YjhiNDNiNTJkMSAxMDA2NDQK
LS0tIGMvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2NsYXNzLmNwcAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfY2xhc3MuY3BwCkBAIC05OSw3ICs5OSw3IEBAIEpTVmFsdWUg
UXRDbGFzczo6ZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBJbnN0YW5jZSogaW5zdCwg
UHJvcGVydHlOYW1lIGlkCiAgICAgICAgIGlmIChtLmFjY2VzcygpID09IFFNZXRhTWV0aG9kOjpQ
cml2YXRlKQogICAgICAgICAgICAgY29udGludWU7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAgICAgaW50IGl0ZXIgPSAw
OwogICAgICAgICBjb25zdCBjaGFyKiBzaWduYXR1cmUgPSBtLnNpZ25hdHVyZSgpOwogICAgICAg
ICB3aGlsZSAoc2lnbmF0dXJlW2l0ZXJdICYmIHNpZ25hdHVyZVtpdGVyXSAhPSAnKCcpCmRpZmYg
LS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIHcvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAppbmRleCBkNDk4OTIxMTFjNWE3MDgx
OTRkZDA2MzQwYjc1ZmViMzhjOThmNGZmLi5jNzkwOTZkNWE2MmFkZjc1NWNhYTM2M2NjNjY5MTIy
ZDM3OTNiOWE4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFu
Y2UuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAg
LTIzNyw3ICsyMzcsNyBAQCB2b2lkIFF0SW5zdGFuY2U6OmdldFByb3BlcnR5TmFtZXMoRXhlY1N0
YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgYXJyYXkpCiAgICAgICAgIGZvciAoaSA9IDA7
IGkgPCBtZXRob2RDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICBRTWV0YU1ldGhvZCBtZXRob2Qg
PSBtZXRhLT5tZXRob2QoaSk7CiAgICAgICAgICAgICBpZiAobWV0aG9kLmFjY2VzcygpICE9IFFN
ZXRhTWV0aG9kOjpQcml2YXRlKSB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICAgICAgUVN0cmluZyBzaWcgPSBR
U3RyaW5nOjpmcm9tTGF0aW4xKG1ldGhvZC5tZXRob2RTaWduYXR1cmUoKSk7CiAgICAgICAgICAg
ICAgICAgYXJyYXkuYWRkKElkZW50aWZpZXIoZXhlYywgVVN0cmluZyhzaWcudXRmMTYoKSwgc2ln
Lmxlbmd0aCgpKSkpOwogI2Vsc2UKQEAgLTI4OSw3ICsyODksNyBAQCBKU1ZhbHVlIFF0SW5zdGFu
Y2U6OnN0cmluZ1ZhbHVlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICAgICAgICAgIC8vIENo
ZWNrIHRvIHNlZSBob3cgbXVjaCB3ZSBjYW4gY2FsbCBpdAogICAgICAgICAgICAgaWYgKG0uYWNj
ZXNzKCkgIT0gUU1ldGFNZXRob2Q6OlByaXZhdGUKICAgICAgICAgICAgICAgICAmJiBtLm1ldGhv
ZFR5cGUoKSAhPSBRTWV0YU1ldGhvZDo6U2lnbmFsCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICAgICAgJiYgbS5w
YXJhbWV0ZXJDb3VudCgpID09IDAKICAgICAgICAgICAgICAgICAmJiBtLnJldHVyblR5cGUoKSAh
PSBRTWV0YVR5cGU6OlZvaWQpIHsKICAgICAgICAgICAgICAgICBRVmFyaWFudCByZXQobS5yZXR1
cm5UeXBlKCksICh2b2lkKikwKTsKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFF0RmllbGQ6OnNl
dFZhbHVlVG9JbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RhbmNlKiBpbnN0LCBK
U1ZhbHVlCiAgICAgaWYgKG9iaikgewogICAgICAgICBRTWV0YVR5cGU6OlR5cGUgYXJndHlwZSA9
IFFNZXRhVHlwZTo6Vm9pZDsKICAgICAgICAgaWYgKG1fdHlwZSA9PSBNZXRhUHJvcGVydHkpCi0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUp
CiAgICAgICAgICAgICBhcmd0eXBlID0gKFFNZXRhVHlwZTo6VHlwZSkgbV9wcm9wZXJ0eS51c2Vy
VHlwZSgpOwogI2Vsc2UKICAgICAgICAgICAgIGFyZ3R5cGUgPSAoUU1ldGFUeXBlOjpUeXBlKSBR
TWV0YVR5cGU6OnR5cGUobV9wcm9wZXJ0eS50eXBlTmFtZSgpKTsKZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmggdy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cXQvcXRfcnVudGltZS5oCmluZGV4IDczNzI0N2FjZDUwNzExYmMzNGRhYWY0OWZjYjMzOGEyNmIx
MmFkYjMuLjRkOWFmYTQ0MzI0MTg4MzYxZmVlNDIxMTlhZjY4Yzc2ZWYxMjlmODQgMTAwNjQ0Ci0t
LSBjL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKKysrIHcvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaApAQCAtMjM4LDE0ICsyMzgsMTQgQEAgcHJpdmF0
ZToKIC8vIHdpdGggdGhlIGFwcHJvcHJpYXRlIHNpZ25hbCBvZiAnc2VuZGVyJy4gV2hlbiBleGVj
dXRlKCkgaXMgY2FsbGVkLCBpdCB3aWxsIGNhbGwgSlMgJ3JlY2VpdmVyRnVuY3Rpb24nLgogY2xh
c3MgUXRDb25uZWN0aW9uT2JqZWN0IDogcHVibGljIFFPYmplY3QKIHsKLSNpZiBRVF9WRVJTSU9O
ID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBRX09CSkVD
VF9GQUtFCiAjZW5kaWYKIHB1YmxpYzoKICAgICBRdENvbm5lY3Rpb25PYmplY3QoSlNDb250ZXh0
UmVmLCBQYXNzUmVmUHRyPFF0SW5zdGFuY2U+IHNlbmRlckluc3RhbmNlLCBpbnQgc2lnbmFsSW5k
ZXgsIEpTT2JqZWN0UmVmIHJlY2VpdmVyLCBKU09iamVjdFJlZiByZWNlaXZlckZ1bmN0aW9uKTsK
ICAgICB+UXRDb25uZWN0aW9uT2JqZWN0KCk7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lP
Tl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAvLyBFeHBsaWNpdGx5IGRlZmlu
ZSB0aGVzZSBiZWNhdXNlIHdhbnQgYSBjdXN0b20gcXRfbWV0YWNhbGwoKSwgc28gd2UgY2FuJ3Qg
dXNlIFFfT0JKRUNUIG1hY3JvLgogICAgIHN0YXRpYyBjb25zdCBRTWV0YU9iamVjdCBzdGF0aWNN
ZXRhT2JqZWN0OwogICAgIHZpcnR1YWwgY29uc3QgUU1ldGFPYmplY3QgKm1ldGFPYmplY3QoKSBj
b25zdDsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BhZ2UvcXQvRXZlbnRIYW5kbGVyUXQu
Y3BwIHcvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhhbmRsZXJRdC5jcHAKaW5kZXggOGFl
YmI5YzlhOTc2MWJkNjEwMWJkMmQ4NTE2NmU1MWQ2NWEzYWU2Mi4uZDUyMjIyOTUwMGFjMTVlMzhh
NjQxODYzMWU4NmVlY2U4ZTc4MzdhNiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGFnZS9x
dC9FdmVudEhhbmRsZXJRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhh
bmRsZXJRdC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIK
ICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NI
RUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogUVRfQkVHSU5fTkFNRVNQQUNFCiBRX0dVSV9F
WFBPUlQgZXh0ZXJuIGJvb2wgcXRfdGFiX2FsbF93aWRnZXRzOyAvLyBmcm9tIHFhcHBsaWNhdGlv
bi5jcHAKIFFUX0VORF9OQU1FU1BBQ0UKQEAgLTY2LDcgKzY2LDcgQEAgY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMDsKIAogYm9vbCBFdmVudEhhbmRsZXI6OnRh
YnNUb0FsbEZvcm1Db250cm9scyhLZXlib2FyZEV2ZW50KiBldmVudCkgY29uc3QKIHsKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICByZXR1cm4gIWlzS2V5Ym9hcmRPcHRpb25UYWIoZXZlbnQpOwogI2Vsc2UKICAgICByZXR1cm4g
KGlzS2V5Ym9hcmRPcHRpb25UYWIoZXZlbnQpID8gIXF0X3RhYl9hbGxfd2lkZ2V0cyA6IHF0X3Rh
Yl9hbGxfd2lkZ2V0cyk7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA2OTJkYTU2YTUzN2EyYTZkYTVlNWUyMzFjNjA1
ODQ1NGFlNTBkNDljLi5iMGJjNWMwMDk0ZmI5ZWIyOWRlNDhiZjE1ZTMyMzU1ZTYzN2JjZjVjIDEw
MDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKQEAgLTY4LDcgKzY4LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgR0x1aW50Owog
I2lmIFBMQVRGT1JNKE1BQykKIHR5cGVkZWYgQ0dMQ29udGV4dE9iaiBQbGF0Zm9ybUdyYXBoaWNz
Q29udGV4dDNEOwogI2VsaWYgUExBVEZPUk0oUVQpCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiB0eXBlZGVmIFFPcGVuR0xDb250ZXh0
KiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwogdHlwZWRlZiBRU3VyZmFjZSogUGxhdGZvcm1H
cmFwaGljc1N1cmZhY2UzRDsKICNlbHNlCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9PcGVuR0xTaGltcy5jcHAKaW5kZXggZjU5ZjI2YzYwMjVjNzI5NWZiMzI4OWMzNGU4
NDc3NzA3OTM1YWI3OC4uYTIzZGM2ODk1MmRiODBkNzJiYTNlNzZmNmZjNTBiYjU2Zjg4ZTI1OCAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMu
Y3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNw
cApAQCAtNDIsNyArNDIsNyBAQCBPcGVuR0xGdW5jdGlvblRhYmxlKiBvcGVuR0xGdW5jdGlvblRh
YmxlKCkKICNpZiBQTEFURk9STShRVCkKIHN0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25z
dCBjaGFyKiBwcm9jTmFtZSkKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oUU9wZW5HTENvbnRleHQ6OmN1cnJlbnRDb250ZXh0KCktPmdldFByb2NBZGRyZXNzKHByb2NO
YW1lKSk7CiAjZWxzZQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihRR0xDb250
ZXh0OjpjdXJyZW50Q29udGV4dCgpLT5nZXRQcm9jQWRkcmVzcyhRU3RyaW5nOjpmcm9tTGF0aW4x
KHByb2NOYW1lKSkpOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvT3BlbkdMU2hpbXMuaCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5H
TFNoaW1zLmgKaW5kZXggMWQ1ZjM3ZDllNThhYzJjYWFkY2Y4NTE3YjY2OWY1M2U1N2IwODE0Zi4u
NzA2ZjE3ZDliYTY3YzE2OTZmNWZiNzI3M2I5NTYyODdlNzdkNWViYyAxMDA2NDQKLS0tIGMvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuaAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCkBAIC0yMiw3ICsyMiw3IEBA
CiAKICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxxZ2xvYmFsLmg+Ci0jaWYgUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8
cW9wZW5nbGZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFFPcGVuR0xDb250ZXh0PgogI2luY2x1ZGUg
PFFTdXJmYWNlPgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5kb3dQcml2YXRlLmggdy9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaApp
bmRleCAzMzYwMGY2OTZkNjRmMGVjMDUyMWZhMjI5NjNkODIzMTliNWUzYjU2Li41ZTA1NmFjN2I3
YTY5NTNjZGNkMjQ2Nzc3MjI0OGU1ZjQ0YTNkZjRlIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUu
aAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZv
cm1WaWRlb1dpbmRvd1ByaXZhdGUuaApAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgPFFFdmVu
dD4KICNpbmNsdWRlIDxRVGltZXI+CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRV2luZG93PgogI2Vsc2UKICNp
bmNsdWRlIDxRV2lkZ2V0PgpAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05f
Q0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKIHR5cGVkZWYgUVdpbmRvdyBCYXNlOwogI2Vs
c2UKIHR5cGVkZWYgUVdpZGdldCBCYXNlOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5kb3dRdC5jcHAgdy9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRv
d1F0LmNwcAppbmRleCA1MDZhNTlkMWZjZDBmNDRjNTUyMWIzZjVmZDM4OWQzNGNiYmJmNDc1Li4z
ZTQzMWYyNDE3YzkzNmQ3OTNmMzA4YmVhMzAzZjQzYzJmYmU0NDc3IDEwMDY0NAotLS0gYy9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRv
d1F0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
UGxhdGZvcm1WaWRlb1dpbmRvd1F0LmNwcApAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgY29uc3Qg
aW50IGdIaWRlTW91c2VDdXJzb3JEZWxheSA9IDMwMDA7CiBGdWxsU2NyZWVuVmlkZW9XaW5kb3c6
OkZ1bGxTY3JlZW5WaWRlb1dpbmRvdygpCiAgICAgOiBtX21lZGlhRWxlbWVudCgwKQogewotI2lm
IFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQog
ICAgIHNldEF0dHJpYnV0ZShRdDo6V0FfTmF0aXZlV2luZG93KTsKICAgICBzZXRBdHRyaWJ1dGUo
UXQ6OldBX05vU3lzdGVtQmFja2dyb3VuZCwgdHJ1ZSk7CiAgICAgc2V0QXR0cmlidXRlKFF0OjpX
QV9QYWludE9uU2NyZWVuLCB0cnVlKTsKQEAgLTgzLDcgKzgzLDcgQEAgYm9vbCBGdWxsU2NyZWVu
VmlkZW9XaW5kb3c6OmV2ZW50KFFFdmVudCogZXYpCiAjaWZuZGVmIFFUX05PX0NVUlNPUgogICAg
ICAgICBtX2N1cnNvclRpbWVyLnN0b3AoKTsKICNlbmRpZgotI2lmIFFUX1ZFUlNJT04gPCBRVF9W
RVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAgICAgICBzZXRNb3VzZVRy
YWNraW5nKGZhbHNlKTsKICAgICAgICAgcmVsZWFzZU1vdXNlKCk7CiAjZW5kaWYKQEAgLTEwMCwx
MSArMTAwLDExIEBAIGJvb2wgRnVsbFNjcmVlblZpZGVvV2luZG93OjpldmVudChRRXZlbnQqIGV2
KQogdm9pZCBGdWxsU2NyZWVuVmlkZW9XaW5kb3c6OnNob3dGdWxsU2NyZWVuKCkKIHsKICAgICBC
YXNlOjpzaG93RnVsbFNjcmVlbigpOwotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNL
KDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAgIHNldE1vdXNlVHJhY2tpbmcodHJ1ZSk7CiAj
ZW5kaWYKICAgICByYWlzZSgpOwotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUs
IDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAgIHNldEZvY3VzKCk7CiAjZW5kaWYKICAgICBoaWRl
Q3Vyc29yKCk7CkBAIC0xMzIsNyArMTMyLDcgQEAgUGxhdGZvcm1WaWRlb1dpbmRvdzo6UGxhdGZv
cm1WaWRlb1dpbmRvdygpCiAgICAgbV93aW5kb3cgPSB3aW47CiAgICAgd2luLT5zZXRXaW5kb3dG
bGFncyh3aW4tPndpbmRvd0ZsYWdzKCkgfCBRdDo6RnJhbWVsZXNzV2luZG93SGludCk7CiAgICAg
Ly8gRklYTUU6IFBvcnQgdG8gUXQgNS4KLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVD
Syg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICBRUGFsZXR0ZSBwOwogICAgIHAuc2V0Q29s
b3IoUVBhbGV0dGU6OkJhc2UsIFF0OjpibGFjayk7CiAgICAgcC5zZXRDb2xvcihRUGFsZXR0ZTo6
V2luZG93LCBRdDo6YmxhY2spOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCBjMDg5ZWI5MmVl
ODg0NTY3MWFjMzljYTIzZTMzM2IwMjk2YmI1ZjFiLi5mM2E3ZWE4YWJjMTM5ODlkY2FkM2IzNzZi
NjJlZWRlZDU0MmIyN2NiIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTk0LDcgKzE5NCw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpibGl0TXVsdGlzYW1wbGVGcmFtZWJ1
ZmZlckFuZFJlc3RvcmVDb250ZXh0KCkgY29uCiAgICAgaWYgKCFtX2NvbnRleHQtPm1fYXR0cnMu
YW50aWFsaWFzKQogICAgICAgICByZXR1cm47CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBjb25zdCBRT3BlbkdMQ29udGV4
dCogY3VycmVudENvbnRleHQgPSBRT3BlbkdMQ29udGV4dDo6Y3VycmVudENvbnRleHQoKTsKICAg
ICBRU3VyZmFjZSogY3VycmVudFN1cmZhY2UgPSAwOwogICAgIGlmIChjdXJyZW50Q29udGV4dCAh
PSBtX3BsYXRmb3JtQ29udGV4dCkgewpAQCAtMjIwLDcgKzIyMCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlOjpibGl0TXVsdGlzYW1wbGVGcmFtZWJ1ZmZlckFuZFJlc3RvcmVDb250
ZXh0KCkgY29uCiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjptYWtlQ3VycmVudElm
TmVlZGVkKCkgY29uc3QKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwg
MCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBjb25zdCBRT3BlbkdMQ29udGV4dCogY3VycmVudENv
bnRleHQgPSBRT3BlbkdMQ29udGV4dDo6Y3VycmVudENvbnRleHQoKTsKICAgICBpZiAoY3VycmVu
dENvbnRleHQgPT0gbV9wbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZm
IC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERh
dGFRdC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250
RGF0YVF0LmNwcAppbmRleCAxYmNkNmMwNWJjMTNmYWQ5NjJhYzhhY2I5NGZkOTNhY2Q2ODEzZGEw
Li40YzAxZjFkYWNhODhhMGNkNThhMjc0MmU5YWM3OTY5YmQzMDE5MTkzIDEwMDY0NAotLS0gYy9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAor
Kysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0
LmNwcApAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwog
I2VuZGlmCiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lm
ICFIQVZFKFFUNSkKICAgICAvLyBRdCBzdWJ0cmFjdHMgMSBmcm9tIHRoZSBkZXNjZW50IHRvIGFj
Y291bnQgZm9yIHRoZSBiYXNlbGluZSwKICAgICAvLyB3ZSBhZGQgaXQgYmFjayBoZXJlIHRvIGdl
dCBjb3JyZWN0IG1ldHJpY3MgZm9yIFdlYktpdC4KICAgICBkZXNjZW50ICs9IDE7CmRpZmYgLS1n
aXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ci5oIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXIuaAppbmRleCAyOTA3ZDFhYzhlMTVmNDg3ODE3YmZiMGI0MjJmYWE2MWFlNWE2NzFlLi4xMjQ5
OGVjYzMyMDQ0OGY2YTZiZTYzOGZhOTcxM2VmYzdhYjA0OTA5IDEwMDY0NAotLS0gYy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyB3L1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAg
LTI1LDcgKzI1LDcgQEAKICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxxZ2xvYmFsLmg+CiAK
LSNpZiBkZWZpbmVkKFFUX09QRU5HTF9MSUIpIHx8IChRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05f
Q0hFQ0soNSwgMCwgMCkpCisjaWYgZGVmaW5lZChRVF9PUEVOR0xfTElCKSB8fCBIQVZFKFFUNSkK
ICAgICAjaWYgZGVmaW5lZChRVF9PUEVOR0xfRVNfMikgJiYgIWRlZmluZWQoVEVYTUFQX09QRU5H
TF9FU18yKQogICAgICAgICAjZGVmaW5lIFRFWE1BUF9PUEVOR0xfRVNfMgogICAgICNlbmRpZgpk
aWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCAwZjc2NTJjZDRmZDYwZDkzM2E0NDllOWRlYTAwYzA2
ZTMyY2QwNmI1Li42NjAzMzRhNjc2ODExZGFlYTIxNjViYzVlN2JlYTk1NWYwYzU4NTNjIDEwMDY0
NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckdMLmNwcApAQCAtNTA1LDcgKzUwNSw3IEBAIHZvaWQgQml0bWFwVGV4dHVy
ZUdMOjp1cGRhdGVDb250ZW50cyhJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QmIHRhcmdldFJl
Y3QsIGNvCiAKICNpZiBQTEFURk9STShRVCkKICAgICBRSW1hZ2UgcXRJbWFnZTsKLSNpZiBRVF9W
RVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAv
LyBXaXRoIFFQQSwgd2UgY2FuIGF2b2lkIGEgZGVlcCBjb3B5LgogICAgIHF0SW1hZ2UgPSAqZnJh
bWVJbWFnZS0+aGFuZGxlKCktPmJ1ZmZlcigpOwogI2Vsc2UKZGlmZiAtLWdpdCBjL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L0RldmljZU1vdGlvblByb3ZpZGVyUXQuaCB3L1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L0RldmljZU1vdGlvblByb3ZpZGVyUXQuaAppbmRleCBjZjNkNTg5ZTQ4
NDI1NDIyOTQzMjY1NzVlZDk0N2EzNzAyYWMwNzczLi4xODQzN2M2MjYyODk1MWUyZjA5MGNiMjZl
OGUwNzc0ZTQzZjA2OGEyIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9E
ZXZpY2VNb3Rpb25Qcm92aWRlclF0LmgKKysrIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
RGV2aWNlTW90aW9uUHJvdmlkZXJRdC5oCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSA8UUFj
Y2VsZXJvbWV0ZXJGaWx0ZXI+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgUVRfVkVS
U0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiB1c2luZyBR
VE1fTkFNRVNQQUNFOjpRQWNjZWxlcm9tZXRlcjsKIHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFBY2Nl
bGVyb21ldGVyRmlsdGVyOwogdXNpbmcgUVRNX05BTUVTUEFDRTo6UUFjY2VsZXJvbWV0ZXJSZWFk
aW5nOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0Lmggdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQuaAppbmRleCA2ZDNlMTk5MDI4MGYzMTMzM2M4NmJmZjQzNTZhMzNi
OTNhYzI3OTJjLi5jN2Y2ZDIzMzdjYThlNzRjODRiNWIwZDNlMTI0MGJjMGVlOTU1ZDNhIDEwMDY0
NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VPcmllbnRhdGlvblByb3Zp
ZGVyUXQuaAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9EZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgPFFSb3RhdGlvbkZpbHRl
cj4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lP
Tl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKIHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFS
b3RhdGlvbkZpbHRlcjsKIHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFSb3RhdGlvblJlYWRpbmc7CiB1
c2luZyBRVE1fTkFNRVNQQUNFOjpRUm90YXRpb25TZW5zb3I7CmRpZmYgLS1naXQgYy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJMUXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvS1VSTFF0LmNwcAppbmRleCAyZTc1Nzc0Zjg4MzljYjVmYjNmZTE1ZDYwMmE4NjQxMjI0ZTJh
YzI4Li44NmU0YWI3YjYyY2YyYTBjZTZiYmIwMTQyMjA4NzdiYWE5ODdkZDJlIDEwMDY0NAotLS0g
Yy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJMUXQuY3BwCisrKyB3L1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgS1VSTDo6S1VSTChj
b25zdCBRVXJsJiB1cmwpCiAKIEtVUkw6Om9wZXJhdG9yIFFVcmwoKSBjb25zdAogewotI2lmIFFU
X1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogICAg
IFFTdHJpbmcgc3RyID0gUVN0cmluZzo6ZnJvbVJhd0RhdGEocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBRQ2hhcio+KG1fc3RyaW5nLmNoYXJhY3RlcnMoKSksIG1fc3RyaW5nLmxlbmd0aCgpKTsKICAg
ICBRQnl0ZUFycmF5IGJhID0gc3RyLnRvVXRmOCgpOwogCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcCB3L1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVuUXQuY3BwCmluZGV4IDYyZGNmNTAxZjJiNjQyZDA2MDBh
ODkyNjcyZmU3YzQ0OTZiMDMyNzMuLjhiZmJmMjYyNTc3ZjZmZTIyN2NjMjAzZDg2MTkwODAxNTM3
MDYzZDcgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2Ny
ZWVuUXQuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtU2NyZWVu
UXQuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgotI2lmIFFUX1ZF
UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1
ZGUgPFFHdWlBcHBsaWNhdGlvbj4KICNpbmNsdWRlIDxRU2NyZWVuPgogI2Vsc2UKQEAgLTcxLDcg
KzcxLDcgQEAgc3RhdGljIGludCBzY3JlZW5OdW1iZXIoV2lkZ2V0KiB3KQogCiBpbnQgc2NyZWVu
RGVwdGgoV2lkZ2V0KiB3KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIHJldHVybiBRR3VpQXBwbGljYXRpb246OnNjcmVl
bnMoKS52YWx1ZShzY3JlZW5OdW1iZXIodykpLT5kZXB0aCgpOwogI2Vsc2UKICAgICByZXR1cm4g
UUFwcGxpY2F0aW9uOjpkZXNrdG9wKCktPnNjcmVlbihzY3JlZW5OdW1iZXIodykpLT5kZXB0aCgp
OwpAQCAtODAsNyArODAsNyBAQCBpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KiB3KQogCiBpbnQgc2Ny
ZWVuRGVwdGhQZXJDb21wb25lbnQoV2lkZ2V0KiB3KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIGludCBkZXB0aCA9IFFH
dWlBcHBsaWNhdGlvbjo6cHJpbWFyeVNjcmVlbigpLT5kZXB0aCgpOwogICAgIC8vIEZJWE1FOiBV
c2Ugd2lkZ2V0J3Mgc2NyZWVuCiAgICAgUV9VTlVTRUQodyk7CkBAIC0xMTQsNyArMTE0LDcgQEAg
aW50IHNjcmVlbkRlcHRoUGVyQ29tcG9uZW50KFdpZGdldCogdykKIAogYm9vbCBzY3JlZW5Jc01v
bm9jaHJvbWUoV2lkZ2V0KiB3KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVD
Syg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIFFfVU5VU0VEKHcpOwogICAgIC8vIEZJWE1F
OiBJbiBRdCA1IGNvbG9yQ291bnQoKSBpc24ndCBldmVuIGltcGxlbWVudGVkIGJleW9uZCByZXR1
cm5pbmcgMjU2IDopCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTI1LDcgKzEyNSw3IEBAIGJvb2wg
c2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCogdykKIAogRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lk
Z2V0KiB3aWRnZXQpCiB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAs
IDApCisjaWYgSEFWRShRVDUpCiAgICAgUVJlY3QgciA9IFFHdWlBcHBsaWNhdGlvbjo6c2NyZWVu
cygpLnZhbHVlKHNjcmVlbk51bWJlcih3aWRnZXQpKS0+Z2VvbWV0cnkoKTsKICNlbHNlCiAgICAg
UVJlY3QgciA9IFFBcHBsaWNhdGlvbjo6ZGVza3RvcCgpLT5zY3JlZW5HZW9tZXRyeShzY3JlZW5O
dW1iZXIod2lkZ2V0KSk7CkBAIC0xMzUsNyArMTM1LDcgQEAgRmxvYXRSZWN0IHNjcmVlblJlY3Qo
V2lkZ2V0KiB3aWRnZXQpCiAKIEZsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCog
d2lkZ2V0KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2lmIEhBVkUoUVQ1KQogICAgIFFSZWN0IHIgPSBRR3VpQXBwbGljYXRpb246OnNjcmVlbnMoKS52
YWx1ZShzY3JlZW5OdW1iZXIod2lkZ2V0KSktPmF2YWlsYWJsZUdlb21ldHJ5KCk7CiAjZWxzZQog
ICAgIFFSZWN0IHIgPSBRQXBwbGljYXRpb246OmRlc2t0b3AoKS0+YXZhaWxhYmxlR2VvbWV0cnko
c2NyZWVuTnVtYmVyKHdpZGdldCkpOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUVdlYlBhZ2VDbGllbnQuaCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQ
YWdlQ2xpZW50LmgKaW5kZXggOTU0MWM2NGUyMmZhMDVkZWIxOGUwMTkxZjU0NTc3MWI0YjU3ZGMz
OS4uNmM5YTFhZTZjYzFiZmZmMzEzZjgzZWU3MzY1MWQ1Mzk5NTJlM2E4YiAxMDA2NDQKLS0tIGMv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCkBAIC0xMTAsNyArMTEwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNE
KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtR3JhcGhpY3NTdXJmYWNlM0QqKSA9IDA7CiAj
ZW5kaWYKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBI
QVZFKFFUNSkKICAgICB2aXJ0dWFsIFFXaW5kb3cqIG93bmVyV2luZG93KCkgY29uc3Q7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdl
UXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwCmlu
ZGV4IGI5ODI0ZmFlMGM2NjUyMDUyODAzNTU3YzFmMWRjZWVkZGFlYjkwNmMuLmZiYWM1MjlhYzVl
YjBmMGU2MjU1NDk3ZTlhYjA2OGFjNTlkY2E3MzEgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCBzdGF0aWMgdm9p
ZCBpbml0aWFsaXplR3RrKFFMaWJyYXJ5KiBtb2R1bGUgPSAwKQogCiBib29sIFBsdWdpblBhY2th
Z2U6OmlzUGx1Z2luQmxhY2tsaXN0ZWQoKQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lP
Tl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIC8vIFRPRE86IGVudW1lcmF0ZSBh
bGwgcGx1Z2lucyB0aGF0IGFyZSBpbmNvbXBhdGlibGUgd2l0aCBRdDUuCiAgICAgY29uc3QgUUxh
dGluMVN0cmluZyBwbHVnaW5CbGFja2xpc3RbXSA9IHsKICAgICAgICAgUUxhdGluMVN0cmluZygi
c2t5cGVidXR0b25zIikKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1
Z2luVmlld1F0LmNwcCB3L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNw
cAppbmRleCAzMjNjNTUxNTZkM2I1YmZkZGI2ZjA5ZmI4YzJjODlkZGU4ZjYyNjljLi5lZGEwNTA0
YzIxMmJhNThiNDliZmE1ZjM1YWU5Yjc3MjViZTJmNDZkIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2Vi
Q29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCkBAIC03OSw4ICs3OSw2IEBACiAjaW5jbHVkZSA8cnVu
dGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDxydW50aW1lL0pTVmFsdWUuaD4KIAotI2RlZmluZSBI
QVZFX1FUNSAoUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApKQotCiAjaWYg
SEFWRShRVDUpCiAjaW5jbHVkZSAiUXRYMTFJbWFnZUNvbnZlcnNpb24uaCIKICNpbmNsdWRlIDxR
R3VpQXBwbGljYXRpb24+CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhp
Y3N3ZWJ2aWV3LmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3Bw
CmluZGV4IDNmNmZlMTQ3MWM2OGE3NGU3NWRkNTFhM2IzZGRlZmMyZmUxMTc5NTMuLmQxOTRmOWZj
MzA4Yzg3YzQ2NmM2YjQ4Y2NhMGM4NzkyOTM3OWI4NzQgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3FncmFwaGljc3dlYnZpZXcuY3BwCkBAIC0zMTMsNyArMzEzLDcgQEAgYm9vbCBRR3JhcGhpY3NX
ZWJWaWV3OjpzY2VuZUV2ZW50KFFFdmVudCogZXZlbnQpCiAgICAgaWYgKGQtPnBhZ2UgJiYgKGV2
ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaEJlZ2luCiAgICAgICAgICAgICAgICAgfHwgZXZl
bnQtPnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNoRW5kCiAgICAgICAgICAgICAgICAgfHwgZXZlbnQt
PnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNoVXBkYXRlCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICAgICAgfHwgZXZl
bnQtPnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNoQ2FuY2VsCiAjZW5kaWYKICAgICAgICApKSB7CmRp
ZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmggdy9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmgKaW5kZXggMTVmZTA4N2Q2MTk3MGEx
YWJiMTNjNjRiMjQ3ZjhjNWE5OTcxNTRhMC4uYzdjYTQ0YWFkMTkxNTExYjMyNzEzODUxYTExNTNl
ZmUxOWQyMmI5YyAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vi
dmlldy5oCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaApAQCAt
MjMsNyArMjMsNyBAQAogI2luY2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKICNpbmNsdWRlICJxd2Vi
cGFnZS5oIgogI2luY2x1ZGUgPFF0Q29yZS9xdXJsLmg+Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9W
RVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgZGVmaW5lZChIQVZFX1FUNSkgJiYgSEFWRV9RVDUK
ICNpbmNsdWRlIDxRdFdpZGdldHMvcWdyYXBoaWNzd2lkZ2V0Lmg+CiAjZWxzZQogI2luY2x1ZGUg
PFF0R3VpL3FncmFwaGljc3dpZGdldC5oPgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYmZyYW1lLmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKaW5k
ZXggZjA5YThhODBkZmMxM2RmNzY2ZjYzMGI2OWYyNDVjMTA1MGM0ODNjMy4uYWJhNThkYjBjZDZj
NzNhZDViNzA0ZGQ3YzUzNmZmMGU3MWY5ZjcyNSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYmZyYW1lLmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
Y3BwCkBAIC0xMTYsNyArMTE2LDcgQEAKICNpbmNsdWRlIDxxcmVnaW9uLmg+CiAjaW5jbHVkZSA8
cW5ldHdvcmtyZXF1ZXN0Lmg+CiAKLSNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKSAmJiBR
VF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEVOQUJMRShPUklFTlRB
VElPTl9FVkVOVFMpICYmICFIQVZFKFFUNSkKIFFUTV9VU0VfTkFNRVNQQUNFCiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaCB3L1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgKaW5kZXggNGFiN2I5NzAwZWQ1MzczOWI3OTBmMjI0
YmFjZDAzNWQ1NGNhNDkyZC4uODJmZDkyMDMzNTY5YjM1MWVmN2JkZmJhZmYyYTE0MzY5MmQ1OWJl
ZiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaAorKysgdy9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCkBAIC0zMCw5ICszMCw5IEBACiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQog
I2luY2x1ZGUgInFvcmllbnRhdGlvbnNlbnNvci5oIgotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIShkZWZpbmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNSkK
IHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFPcmllbnRhdGlvblNlbnNvcjsKLSNlbmRpZiAvLyBRVF9W
RVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKS4KKyNlbmRpZgogI2VuZGlmIC8vIEVO
QUJMRShPUklFTlRBVElPTl9FVkVOVFMpLgogI2luY2x1ZGUgInF3ZWJlbGVtZW50LmgiCiAjaW5j
bHVkZSAid3RmL1JlZlB0ci5oIgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGQ5YjAw
NzczYjBmYzFmMzU0NDA1YzcwYzkyZDAxNTllYWE5ZWFkYzMuLjhmYjMxOWRkNDI0ZmZkZjlmNTZl
NzU4Y2Y5YjgyZmNiMWJmNmUwNzggMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTMx
NTEsNyArMzE1MSw3IEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVudCAqZXYpCiAgICAgY2Fz
ZSBRRXZlbnQ6OlRvdWNoQmVnaW46CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoVXBkYXRlOgogICAg
IGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBjYXNlIFFFdmVudDo6VG91Y2hDYW5jZWw6
CiAjZW5kaWYKICAgICAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIGRlZmF1bHQgYWN0aW9uIHdh
cyBjYW5jZWxsZWQgaW4gdGhlIEpTIGV2ZW50IGhhbmRsZXIKZGlmZiAtLWdpdCBjL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5o
CmluZGV4IDBiZjM1ZTI0NzFmMWNjM2JkNDQ3YzEzY2IwZjg4OGE1MmY0ZDRhMTguLmZjZTY4YThj
NDEwM2YwYzM2MmUzMGE2ZTdlYjM1MzA5MWQ3MGFmNjYgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aApAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSA8UXRDb3JlL3FvYmplY3QuaD4KICNpbmNs
dWRlIDxRdENvcmUvcXVybC5oPgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQorI2lmIGRlZmluZWQoSEFWRV9RVDUpICYmIEhBVkVfUVQ1CiAjaW5jbHVkZSA8UXRX
aWRnZXRzL3F3aWRnZXQuaD4KICNlbHNlCiAjaW5jbHVkZSA8UXRHdWkvcXdpZGdldC5oPgpkaWZm
IC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcCB3L1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggNGUwMTgzNmY3Nzg0Yzc5YWEyZmFh
MDgxN2RlNzJiZjI1NDBhYjUzNS4uNTQyNWE5MjcwNmEzM2YzOTZlNTA3NDgxZDQ5Y2NiYjM2ZmMw
NTAyYiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAor
Kysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCkBAIC00Niw3ICs0Niw3
IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgot
I2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1
KQogI2luY2x1ZGUgPFFTdGFuZGFyZFBhdGhzPgogI2Vsc2UKICNpbmNsdWRlIDxRRGVza3RvcFNl
cnZpY2VzPgpAQCAtMTE1MSw3ICsxMTUxLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OmVuYWJsZVBl
cnNpc3RlbnRTdG9yYWdlKGNvbnN0IFFTdHJpbmcmIHBhdGgpCiAKICAgICBpZiAocGF0aC5pc0Vt
cHR5KCkpIHsKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2lmIEhBVkUoUVQ1KQogICAgICAgICBzdG9yYWdlUGF0aCA9IFFTdGFuZGFyZFBhdGhzOjp3cml0
YWJsZUxvY2F0aW9uKFFTdGFuZGFyZFBhdGhzOjpEYXRhTG9jYXRpb24pOwogI2Vsc2UKICAgICAg
ICAgc3RvcmFnZVBhdGggPSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0
b3BTZXJ2aWNlczo6RGF0YUxvY2F0aW9uKTsKQEAgLTExNzQsNyArMTE3NCw3IEBAIHZvaWQgUVdl
YlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBRU3RyaW5nJiBwYXRoKQog
I2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCiAgICAgLy8gQWxsIGFw
cGxpY2F0aW9ucyBjYW4gc2hhcmUgdGhlIGNvbW1vbiBRdFdlYmtpdCBjYWNoZSBmaWxlKHMpLgog
ICAgIC8vIFBhdGggaXMgbm90IGNvbmZpZ3VyYWJsZSBhbmQgdXNlcyBRRGVza3RvcFNlcnZpY2Vz
OjpDYWNoZUxvY2F0aW9uIGJ5IGRlZmF1bHQuCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9O
X0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgUVN0cmluZyBjYWNoZVBhdGggPSBR
U3RhbmRhcmRQYXRoczo6d3JpdGFibGVMb2NhdGlvbihRU3RhbmRhcmRQYXRoczo6Q2FjaGVMb2Nh
dGlvbik7CiAjZWxzZQogICAgIFFTdHJpbmcgY2FjaGVQYXRoID0gUURlc2t0b3BTZXJ2aWNlczo6
c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkNhY2hlTG9jYXRpb24pOwpkaWZmIC0t
Z2l0IGMvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIHcvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IDkzN2QzYmRjYWZjOWQyZGNmYjU2M2Y1Y2U4YjU1Y2Fj
ZmIwNzJmYWYuLjc2YmYzOTI3NzhhOTA5MTg3MzdiYTllM2U5MDI2YmJjZjAzMTFiMWUgMTAwNjQ0
Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysgdy9Tb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTcwNCw3ICs3MDQsNyBAQCBib29sIFFXZWJWaWV3
OjpldmVudChRRXZlbnQgKmUpCiAgICAgICAgIH0gZWxzZSBpZiAoZS0+dHlwZSgpID09IFFFdmVu
dDo6VG91Y2hCZWdpbiAKICAgICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50
OjpUb3VjaEVuZCAKICAgICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50OjpU
b3VjaFVwZGF0ZQotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2lmIEhBVkUoUVQ1KQogICAgICAgICAgICAgICAgICAgIHx8IGUtPnR5cGUoKSA9PSBRRXZlbnQ6
OlRvdWNoQ2FuY2VsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICkgewpkaWZmIC0tZ2l0IGMv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaCB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJ2aWV3LmgKaW5kZXggOTBkMGE4ZTNiMjA3MTRlY2ViMWUxODIzMmI5NDAwYWRjNDM1NzM0MC4u
YzMxYWEzNTViYzdmZjk0YmUzNzIyNjRlOTQwZTczZGY5MjQ2MDljNiAxMDA2NDQKLS0tIGMvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2Vidmlldy5oCkBAIC0yMyw3ICsyMyw3IEBACiAKICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgi
CiAjaW5jbHVkZSAicXdlYnBhZ2UuaCIKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBkZWZpbmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNQogI2luY2x1ZGUg
PFF0V2lkZ2V0cy9xd2lkZ2V0Lmg+CiAjZWxzZQogI2luY2x1ZGUgPFF0R3VpL3F3aWRnZXQuaD4K
ZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRRdC5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50UXQuY3BwCmluZGV4IGU4MTZiOWYyMWIzODE5ODA0ODhjN2QxYmU5MjUzODc4ZjM3ODRl
NDQuLjA5N2Q3ZDg4OTJhMTJhNDI2NjQwYWViMGVhMDgwZjljY2M1YWFmOTggMTAwNjQ0Ci0tLSBj
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAK
KysrIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcApAQCAtMTYwMyw3ICsxNjAzLDcgQEAgUGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVy
Q2xpZW50UXQ6OmNyZWF0ZVBsdWdpbihjb25zdCBJbnRTaXplJiBwbHVnaW5TaXplLAogICAgICAg
ICBWZWN0b3I8U3RyaW5nPiBwYXJhbXMgPSBwYXJhbU5hbWVzOwogICAgICAgICBWZWN0b3I8U3Ry
aW5nPiB2YWx1ZXMgPSBwYXJhbVZhbHVlczsKICAgICAgICAgaWYgKG1pbWVUeXBlID09ICJhcHBs
aWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAgICAgICAgIGNvbnN0IGJvb2wg
c2hvdWxkSW5qZWN0V21vZGUgPSB0cnVlOwogI2Vsc2UKICAgICAgICAgICAgIC8vIEluamVjdCB3
bW9kZT1vcGFxdWUgd2hlbiB0aGVyZSBpcyBubyBjbGllbnQgb3IgdGhlIGNsaWVudCBpcyBub3Qg
YSBRV2ViVmlldy4KZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
R2VvbG9jYXRpb25DbGllbnRRdC5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCmluZGV4IDg1NTFjZjkwNjYzMmQxNDYxNjAxMjZhNDVl
MGZmZDMzYzU5NTlkY2QuLmVjNGQxYmI5ZTlhZmMzZjdhMDkwOWRjNWU0OGU1MTg3YWNmMTcyNGIg
MTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25D
bGllbnRRdC5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudFF0LmNwcApAQCAtMzcsOSArMzcsOSBAQAogI2luY2x1ZGUgInF3ZWJwYWdlLmgi
CiAjaW5jbHVkZSAicXdlYnBhZ2VfcC5oIgogCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05f
Q0hFQ0soNSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiAjaW5jbHVkZSA8UUdlb1Bvc2l0aW9uSW5m
b1NvdXJjZT4KLSNlbGlmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2VsaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8UXRMb2NhdGlvbi9RR2VvUG9zaXRpb25JbmZvU291
cmNlPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvR2VvbG9jYXRpb25DbGllbnRRdC5oIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9HZW9sb2NhdGlvbkNsaWVudFF0LmgKaW5kZXggOWQwN2E5MTU1YjJlMGVjZDkwODlhYmE3MTBi
NzI5NDc1YjM2MTNmYS4uOTRiMGY2NTMxZmZkNTQ5OWMyMTIzMzI5MWM5N2M2N2NiM2ZhOTljNSAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNs
aWVudFF0LmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlv
bkNsaWVudFF0LmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1ZGUgPFFPYmplY3Q+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiAjaW5jbHVkZSA8UUdlb1Bvc2l0aW9uSW5mbz4KIG5h
bWVzcGFjZSBRdE1vYmlsaXR5IHsKIGNsYXNzIFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U7CiB9Owog
dXNpbmcgbmFtZXNwYWNlIFF0TW9iaWxpdHk7Ci0jZWxpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkKKyNlbGlmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFF0TG9jYXRpb24v
UUdlb1Bvc2l0aW9uSW5mbz4KIGNsYXNzIFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0
LmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcApp
bmRleCBlZDYxZDFmOTZhODBjYWM0MmY4MWE5MzIwODRiNDU0YjNkNTdhZWI4Li45M2JlNWE1ZTJl
YmQ0YzIwMDEwNWVkYmY3MzZjNDhhMDllZTNhZTcxIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKKysrIHcvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwCkBAIC0zMCw3ICszMCw3IEBACiAjaWYg
RU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgPFFHTFdpZGdldD4KIAotI2lmIFFUX1ZFUlNJT04gPj0g
UVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFFXaW5k
b3c+CiAjZW5kaWYKIApAQCAtNTAsNyArNTAsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVQbGF0Zm9y
bUdyYXBoaWNzQ29udGV4dDNERnJvbVdpZGdldChRV2lkZ2V0KiB3aWRnZXQsIFBsYXRmb3JtRwog
ICAgIGlmIChnbFdpZGdldC0+aXNWYWxpZCgpKSB7CiAgICAgICAgIC8vIEdlb21ldHJ5IGNhbiBi
ZSBzZXQgdG8gemVybyBiZWNhdXNlIG1fZ2xXaWRnZXQgaXMgdXNlZCBvbmx5IGZvciBpdHMgUUdM
Q29udGV4dC4KICAgICAgICAgZ2xXaWRnZXQtPnNldEdlb21ldHJ5KDAsIDAsIDAsIDApOwotI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQog
ICAgICAgICAqc3VyZmFjZSA9IGdsV2lkZ2V0LT53aW5kb3dIYW5kbGUoKTsKICAgICAgICAgKmNv
bnRleHQgPSBnbFdpZGdldC0+Y29udGV4dCgpLT5jb250ZXh0SGFuZGxlKCk7CiAjZWxzZQpAQCAt
NjksNyArNjksNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNE
RnJvbVdpZGdldChRV2lkZ2V0KiB3aWRnZXQsIFBsYXRmb3JtRwogI2luY2x1ZGUgInRleG1hcC9U
ZXh0dXJlTWFwcGVyTGF5ZXIuaCIKICNlbmRpZgogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiBRV2luZG93KiBRV2ViUGFnZUNsaWVu
dDo6b3duZXJXaW5kb3coKSBjb25zdAogewogICAgIFFXaWRnZXQqIHdpZGdldCA9IG93bmVyV2lk
Z2V0KCk7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2
ZW50Q29udmVyc2lvbi5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2
ZW50Q29udmVyc2lvbi5jcHAKaW5kZXggZDQ1ZjhjZTMxZmZhMjcyODFiNjY4MjM2ZTJiYjJmYjIx
NTIyNDk1ZS4uMGI3MzJhNGNlZDFkZjRmYjQ5YTkyMWU5MmNkNGM4ODEyNmRmYTMyMCAxMDA2NDQK
LS0tIGMvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24u
Y3BwCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJz
aW9uLmNwcApAQCAtMjQzLDcgKzI0Myw3IEBAIFdlYktpdFBsYXRmb3JtVG91Y2hFdmVudDo6V2Vi
S2l0UGxhdGZvcm1Ub3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKICAgICBjYXNlIFFFdmVu
dDo6VG91Y2hFbmQ6CiAgICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlRvdWNoRW5kOwog
ICAgICAgICBicmVhazsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwg
MCkKKyNpZiBIQVZFKFFUNSkKICAgICBjYXNlIFFFdmVudDo6VG91Y2hDYW5jZWw6CiAgICAgICAg
IG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlRvdWNoQ2FuY2VsOwogICAgICAgICBicmVhazsKZGlm
ZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcGx1Z2luLmNwcCB3L1NvdXJj
ZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcGx1Z2luLmNwcAppbmRleCBiMThhN2JiNjBhNDhjMDhl
MGUzYzFhYTA3NGQwZWZhMzFiNDk2ZmM5Li45ODhiMzZlMGUyZDYwMzZkNTNjN2NhMmM5ZjU5YTBj
YzRhNTFiYTQ4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xhcmF0aXZlL3BsdWdp
bi5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wbHVnaW4uY3BwCkBAIC0y
NSw3ICsyNSw3IEBACiAjaW5jbHVkZSAicWRlY2xhcmF0aXZld2Vidmlld19wLmgiCiAjZW5kaWYK
IAotI2lmIChRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkpCisjaWYgKEhB
VkUoUVQ1KSkKICNpbmNsdWRlIDxRdFFtbC9xcW1sLmg+CiAjaW5jbHVkZSA8UXRRbWwvcXFtbGV4
dGVuc2lvbnBsdWdpbi5oPgogI2Vsc2UKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIHcvU291cmNlL1dlYktpdC9xdC90ZXN0cy9x
d2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5kZXggMmMyOGFlZjFmNGRlMWZhZjA3ZTI1ZTRi
NWJjZDQ1YmJhMGVlNzQzMS4uM2Q4YTJiM2NlNTM1MjYxZjM5MDFkZjI4MGE0NTNmNzMwNzFhOGMz
YyAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJm
cmFtZS5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJm
cmFtZS5jcHAKQEAgLTIwMzMsNyArMjAzMyw3IEBAIHZvaWQgdHN0X1FXZWJGcmFtZTo6ZW51bWVy
YXRlX2RhdGEoKQogICAgICAgICA8PCAiZHAxIiA8PCAiZHAyIiA8PCAiZHAzIgogICAgICAgICAv
LyBpbmhlcml0ZWQgc2lnbmFscyBhbmQgc2xvdHMKICAgICAgICAgPDwgImRlc3Ryb3llZChRT2Jq
ZWN0KikiIDw8ICJkZXN0cm95ZWQoKSIKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBkZWZpbmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNQogICAgICAgICA8
PCAib2JqZWN0TmFtZUNoYW5nZWQoUVN0cmluZykiCiAjZW5kaWYKICAgICAgICAgPDwgImRlbGV0
ZUxhdGVyKCkiCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3V0aWwuaCB3L1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCmluZGV4IDIyMTkyYmFkMmY5M2RlOGQ3OWY3Yzdj
MmRlNWE2OGFhZWUwM2MwYmUuLjJmYjU5ZTA2N2JhODIwYmQ2M2JlMjVlNjVkYTg4NThiNGU5NTli
ODYgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCisrKyB3L1NvdXJj
ZS9XZWJLaXQvcXQvdGVzdHMvdXRpbC5oCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyBib29sIHdh
aXRGb3JTaWduYWwoUU9iamVjdCogb2JqLCBjb25zdCBjaGFyKiBzaWduYWwsIGludCB0aW1lb3V0
ID0gMTAwMDApCiAgICAgcmV0dXJuIHRpbWVvdXRTcHkuaXNFbXB0eSgpOwogfQogCi0jaWYgUVRf
VkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiAhKGRlZmluZWQoSEFWRV9R
VDUpICYmIEhBVkVfUVQ1KQogLy8gV2lsbCB0cnkgdG8gd2FpdCBmb3IgdGhlIGNvbmRpdGlvbiB3
aGlsZSBhbGxvd2luZyBldmVudCBwcm9jZXNzaW5nCiAjZGVmaW5lIFFUUllfVkVSSUZZKF9fZXhw
cikgXAogICAgIGRvIHsgXApkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9wdWJsaWNhcGkvdHN0X3B1YmxpY2FwaS5jcHAgdy9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBpLmNwcAppbmRleCA2
YzBjYjRiNjI5MDQzMmE5MDliNWU2NzA2YTNlZTg5ZWZkNDdmYmExLi4wZTNiMzNjZjcwMDlkYmVh
ZGYyNTU0YWM0MTRhNDBjMDA1NWUwYjQ1IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBpLmNwcAorKysgdy9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBp
LmNwcApAQCAtMTcsNiArMTcsOCBAQAogICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
Ki8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaW5jbHVkZSA8UU1ldGFFbnVtPgogI2luY2x1
ZGUgPFFNZXRhTWV0aG9kPgogI2luY2x1ZGUgPFFNZXRhT2JqZWN0PgpAQCAtMTQyLDcgKzE0NCw3
IEBAIHN0YXRpYyB2b2lkIGdhdGhlckFQSShjb25zdCBRU3RyaW5nJiBwcmVmaXgsIGNvbnN0IFFN
ZXRhTWV0aG9kJiBtZXRob2QsIFFTdHJpbmdMCiB7CiAgICAgaWYgKG1ldGhvZC5hY2Nlc3MoKSAh
PSBRTWV0YU1ldGhvZDo6UHJpdmF0ZSkgewogICAgICAgICBjb25zdCBjaGFyKiBtZXRob2RUeXBl
TmFtZSA9ICEhc3RybGVuKG1ldGhvZC50eXBlTmFtZSgpKSA/IG1ldGhvZC50eXBlTmFtZSgpIDog
InZvaWQiOwotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lm
IEhBVkUoUVQ1KQogICAgICAgICAqb3V0cHV0IDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIiUxJTIg
LS0+ICUzIikuYXJnKHByZWZpeCkuYXJnKFFTdHJpbmc6OmZyb21MYXRpbjEobWV0aG9kLm1ldGhv
ZFNpZ25hdHVyZSgpKSkuYXJnKFFTdHJpbmc6OmZyb21MYXRpbjEobWV0aG9kVHlwZU5hbWUpKTsK
ICNlbHNlCiAgICAgICAgICpvdXRwdXQgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiJTElMiAtLT4g
JTMiKS5hcmcocHJlZml4KS5hcmcobWV0aG9kLnNpZ25hdHVyZSgpKS5hcmcobWV0aG9kVHlwZU5h
bWUpOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy90
ZXN0cy5wcmkgdy9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnBy
aQppbmRleCAzNThhMjMyOGNiOTkzYmNhYWRkYzk4MzQ4YTczNWM5OTE5ZjRhMTE5Li4yNzA0ZWZl
NGFjMjJkYzU4NWEyZmU4YTg3ZmM4ZDM4NWRhOGIyYjlmIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnByaQorKysgdy9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnByaQpAQCAtMTEsNiArMTEsNyBAQCBTT1VS
Q0VTICs9IC4uL3V0aWwuY3BwIFwKIElOQ0xVREVQQVRIICs9ICQkUFdECiAKIFFUICs9IHRlc3Rs
aWIgcW1sIHF1aWNrIHF1aWNrLXByaXZhdGUgd2Via2l0CitXRUJLSVQgKz0gd3RmICMgRm9yIHBs
YXRmb3JtIG1hY3JvcwogCiBERUZJTkVTICs9IFRFU1RTX1NPVVJDRV9ESVI9XFxcIiQkUFdEXFxc
IiBcCiAgICAgICAgICAgIFFXUF9QQVRIPVxcXCIkJHtST09UX0JVSUxEX0RJUn0vYmluXFxcIgpk
aWZmIC0tZ2l0IGMvVG9vbHMvQ2hhbmdlTG9nIHcvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY0OWUx
NzUyNTg4ZWM2ZTAyMDk2NDRhMWE0Yjc0OGMxMzgzMGFmYmQuLjAyNTJlZWNkYzU5NDYxNmZkZjJk
N2U3MDRhNjc4OWNkZmUzNmQxODMgMTAwNjQ0Ci0tLSBjL1Rvb2xzL0NoYW5nZUxvZworKysgdy9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNS0zMSAgVG9yIEFybmUgVmVz
dGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBTaW1wbGlm
eSBRVF9WRVJTSU9OX0NIRUNLUyBmb3IgUXQ1IGJ5IGludHJvZHVjaW5nIEhBVkUoUVQ1KQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5NTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L0V2ZW50U2VuZGVyUXQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1F0SW5pdGlh
bGl6ZVRlc3RGb250cy5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHA6
CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9jb29raWVqYXIuY3BwOgorICAgICAgICAqIFF0VGVz
dEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgICog
cW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9kZWZhdWx0X3Bvc3QucHJmOgorCiAyMDEyLTA1LTMwICBN
aWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdW0RSVF0gRUZMJ3MgRFJUIG5lZWRzICJwb3N0UHJvZ3Jlc3NGaW5pc2hlZE5vdGlm
aWNhdGlvbiIgbWVzc2FnZQpkaWZmIC0tZ2l0IGMvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5jcHAgdy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmNwcAppbmRleCBhOWYyN2JmM2JlOTRlNTU2MzU1ZDNkYTRhMTg4NmYwZWZkMDdhNmQ4Li5k
ZjcwZTA4YTYyZDM2OGQ1NDZlZGQ3NDllNTQyM2IyYTQxMGNlY2U5IDEwMDY0NAotLS0gYy9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgdy9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNjIwLDkgKzYyMCw3IEBAIHZv
aWQgRHVtcFJlbmRlclRyZWU6Om9wZW4oY29uc3QgUVVybCYgdXJsKQogICAgIG1fcGFnZS0+ZXZl
bnQoJmV2KTsKIAogICAgIFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1vcnlDYWNoZXMoKTsKLSNpZiAh
KFFUX1ZFUlNJT04gPD0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAyKSkKICAgICBRRm9udERhdGFi
YXNlOjpyZW1vdmVBbGxBcHBsaWNhdGlvbkZvbnRzKCk7Ci0jZW5kaWYKICAgICBXZWJLaXQ6Omlu
aXRpYWxpemVUZXN0Rm9udHMoKTsKIAogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1w
RnJhbWVMb2FkZXIodXJsLnRvU3RyaW5nKCkuY29udGFpbnMoImxvYWRpbmcvIikpOwpkaWZmIC0t
Z2l0IGMvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHAgdy9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcAppbmRleCA0YTNiMjQ1YWJlYTY1MzE4
MmRlNmJjOTRhY2FkMDQxNjdlZmMxOGYwLi5jMDUwNmVmZTJkZTMxYWQwZWRmOWMyZGM4OTBiNjQ2
ZmE2ODY2ZGViIDEwMDY0NAotLS0gYy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRl
clF0LmNwcAorKysgdy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcApA
QCAtNTExLDcgKzUxMSw3IEBAIHZvaWQgRXZlbnRTZW5kZXI6OmNhbmNlbFRvdWNoUG9pbnQoaW50
IGluZGV4KQogCiB2b2lkIEV2ZW50U2VuZGVyOjpzZW5kVG91Y2hFdmVudChRRXZlbnQ6OlR5cGUg
dHlwZSkKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNp
ZiBIQVZFKFFUNSkKICAgICBzdGF0aWMgUVRvdWNoRGV2aWNlKiBkZXZpY2UgPSAwOwogICAgIGlm
ICghZGV2aWNlKSB7CiAgICAgICAgIGRldmljZSA9IG5ldyBRVG91Y2hEZXZpY2U7CmRpZmYgLS1n
aXQgYy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9RdEluaXRpYWxpemVUZXN0Rm9udHMuY3BwIHcv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvUXRJbml0aWFsaXplVGVzdEZvbnRzLmNwcAppbmRleCBj
YTZiNjZjNDk2NjVjMTExMjllY2M4YjE0YWE1ODRmMGNkMmU0ODA2Li43YWU1ZTIyYTM3YWYyMGRm
MTYxZGJhMmQzNmZiNGQ5MGRlN2E5ODJhIDEwMDY0NAotLS0gYy9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9RdEluaXRpYWxpemVUZXN0Rm9udHMuY3BwCisrKyB3L1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L1F0SW5pdGlhbGl6ZVRlc3RGb250cy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBpbml0
aWFsaXplVGVzdEZvbnRzKCkKICAgICAvLyBUaGUgcmVzb2x2aW5nIG9mIGRlZmF1bHQgZm9udCBm
YW1pbGllcyB3YXMgYWx0ZXJlZCBpbiBRdDUgd2l0aCAyY2M1NDQyIChxdGJhc2UpLAogICAgIC8v
IHdlIHVzZSB0aGlzIGhhY2sgdG8ga2VlcCByZXNvbHZpbmcgdG8gdGhlIHNhbWUgZm9udCBRdDQg
ZGlkIGZvciBzZXJpZiB3aGlsZQogICAgIC8vIHN1cHBvcnRpbmcgYm90aCB2ZXJzaW9ucy4KLSNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkK
ICAgICBjb25maWdGaWxlID0gZm9udERpciArICIvZm9udHMtcXQ1LXdrMS5jb25mIjsKICAgICBp
ZiAoIUZjQ29uZmlnUGFyc2VBbmRMb2FkKGNvbmZpZywgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBG
Y0NoYXI4Kj4oY29uZmlnRmlsZS5jb25zdERhdGEoKSksIEZjVHJ1ZSkpCiAgICAgICAgIHFGYXRh
bCgiQ291bGRuJ3QgbG9hZCBmb250IGNvbmZpZ3VyYXRpb24gZmlsZSIpOwpkaWZmIC0tZ2l0IGMv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHAgdy9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9tYWluLmNwcAppbmRleCAxNzYzMzY3NzA2ZjFhYjI3ZThhMTYzY2M1ZTU0NWZmYjdhODVmMDBl
Li4zMTI1ZDYxYmMzZDdmNjQyZTIxY2U1ZDFjMjdiNTFlNmVlOThhYWQ2IDEwMDY0NAotLS0gYy9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcAorKysgdy9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9tYWluLmNwcApAQCAtMTUyLDcgKzE1Miw5IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy
KiBhcmd2W10pCiAgICAgUUFwcGxpY2F0aW9uIGFwcChhcmdjLCBhcmd2KTsKICAgICBhcHAuc2V0
UXVpdE9uTGFzdFdpbmRvd0Nsb3NlZChmYWxzZSk7CiAKLSNpZiBRVF9WRVJTSU9OIDw9IFFUX1ZF
UlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKKyAgICBRQ29yZUFwcGxpY2F0aW9u
OjpzZXRBdHRyaWJ1dGUoUXQ6OkFBX1VzZTk2RHBpLCB0cnVlKTsKKyNlbHNlCiAjaWZkZWYgUV9X
U19YMTEKICAgICBRWDExSW5mbzo6c2V0QXBwRHBpWSgwLCA5Nik7CiAgICAgUVgxMUluZm86OnNl
dEFwcERwaVgoMCwgOTYpOwpAQCAtMTcwLDggKzE3Miw2IEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiBhcmd2W10pCiAgICAgKiBkZWZhdWx0IGZvbnQsIGJ1dCB3aXRoIHRoZSBjb3JyZWN0IHBh
aW50LWRldmljZSBEUEkuCiAgICAqLwogICAgIFFBcHBsaWNhdGlvbjo6c2V0Rm9udChRV2lkZ2V0
KCkuZm9udCgpKTsKLSNlbHNlCi0gICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0QXR0cmlidXRlKFF0
OjpBQV9Vc2U5NkRwaSwgdHJ1ZSk7CiAjZW5kaWYKIAogI2lmIEhBVkUoU0lHTkFMX0gpCmRpZmYg
LS1naXQgYy9Ub29scy9RdFRlc3RCcm93c2VyL2Nvb2tpZWphci5jcHAgdy9Ub29scy9RdFRlc3RC
cm93c2VyL2Nvb2tpZWphci5jcHAKaW5kZXggMjJhOGQxN2EyZDYwOGVkOTQ1OGJjMmM4YzE3MTM1
MGUxZDE3MjE3ZS4uYjhlZDdkMDAzOWRhMTRjMThjMzEwOTZiMTk1NzU1NTMzYzAyMGFlNCAxMDA2
NDQKLS0tIGMvVG9vbHMvUXRUZXN0QnJvd3Nlci9jb29raWVqYXIuY3BwCisrKyB3L1Rvb2xzL1F0
VGVzdEJyb3dzZXIvY29va2llamFyLmNwcApAQCAtMjUsOSArMjUsMTEgQEAKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaW5jbHVkZSAiY29va2llamFyLmgi
CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZF
KFFUNSkKICNpbmNsdWRlIDxRU3RhbmRhcmRQYXRocz4KICNlbHNlCiAjaW5jbHVkZSA8UURlc2t0
b3BTZXJ2aWNlcz4KQEAgLTQ2LDcgKzQ4LDcgQEAgVGVzdEJyb3dzZXJDb29raWVKYXI6OlRlc3RC
cm93c2VyQ29va2llSmFyKFFPYmplY3QqIHBhcmVudCkKICAgICBjb25uZWN0KCZtX3RpbWVyLCBT
SUdOQUwodGltZW91dCgpKSwgdGhpcywgU0xPVChzYXZlVG9EaXNrKCkpKTsKIAogI2lmbmRlZiBR
VF9OT19ERVNLVE9QU0VSVklDRVMKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBRU3RyaW5nIHBhdGggPSBRU3RhbmRhcmRQYXRo
czo6d3JpdGFibGVMb2NhdGlvbihRU3RhbmRhcmRQYXRoczo6Q2FjaGVMb2NhdGlvbik7CiAjZWxz
ZQogICAgIFFTdHJpbmcgcGF0aCA9IFFEZXNrdG9wU2VydmljZXM6OnN0b3JhZ2VMb2NhdGlvbihR
RGVza3RvcFNlcnZpY2VzOjpDYWNoZUxvY2F0aW9uKTsKZGlmZiAtLWdpdCBjL1Rvb2xzL1F0VGVz
dEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwIHcvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hl
cndpbmRvdy5jcHAKaW5kZXggNjIzYTdlZmExNzQyMTRhNWFhMzBlYWM1OTM5OWExYjdjOTI1MGE3
OC4uZTRhZTQ1NmRiYzA0OGU3MDAzZjk3YjgwMmZhZjJlYTg4YmQ0OGIwMCAxMDA2NDQKLS0tIGMv
VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKKysrIHcvVG9vbHMvUXRUZXN0
QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKQEAgLTMyLDYgKzMyLDggQEAKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaW5jbHVkZSAibGF1bmNoZXJ3aW5k
b3cuaCIKICNpbmNsdWRlICJjb29raWVqYXIuaCIKICNpbmNsdWRlICJ1cmxsb2FkZXIuaCIKQEAg
LTY0LDcgKzY2LDcgQEAKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoUVRfTk9fTkVUV09SS0RJU0tD
QUNIRSkgJiYgIWRlZmluZWQoUVRfTk9fREVTS1RPUFNFUlZJQ0VTKQotI2lmIFFUX1ZFUlNJT04g
Pj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogI2luY2x1ZGUgPFFT
dGFuZGFyZFBhdGhzPgogI2Vsc2UKICNpbmNsdWRlIDxRRGVza3RvcFNlcnZpY2VzPgpAQCAtODA2
LDcgKzgwOCw3IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnNldERpc2tDYWNoZShib29sIGVuYWJs
ZSkKICAgICBRTmV0d29ya0Rpc2tDYWNoZSogY2FjaGUgPSAwOwogICAgIGlmIChlbmFibGUpIHsK
ICAgICAgICAgY2FjaGUgPSBuZXcgUU5ldHdvcmtEaXNrQ2FjaGUoKTsKLSNpZiBRVF9WRVJTSU9O
ID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAgICAgUVN0
cmluZyBjYWNoZUxvY2F0aW9uID0gUVN0YW5kYXJkUGF0aHM6OndyaXRhYmxlTG9jYXRpb24oUVN0
YW5kYXJkUGF0aHM6OkNhY2hlTG9jYXRpb24pOwogI2Vsc2UKICAgICAgICAgUVN0cmluZyBjYWNo
ZUxvY2F0aW9uID0gUURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2Vy
dmljZXM6OkNhY2hlTG9jYXRpb24pOwpkaWZmIC0tZ2l0IGMvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCB3L1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHAKaW5kZXggNzJkMDQ4NzhhOWE4N2I1Y2JjMDA4MTk2YTkzMTk5YmUyNWRkYTUzZi4uNWRlOGFl
NzFhNTlmYjIwNGIyNmQxYjAzZjY3ZDljMzM0YWMxOTJmNSAxMDA2NDQKLS0tIGMvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cAorKysgdy9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0xheW91dFRl
c3RDb250cm9sbGVyUXQuY3BwCkBAIC02NCw5ICs2NCw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAgICAgLy8gd2hpY2ggbWFrZXMgdGhlIHVzZSBv
ZiBRRm9udERhdGFiYXNlIHVubmVjZXNzYXJ5LgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0MjcKICAgICBRV2ViU2V0dGluZ3M6OmNsZWFyTWVt
b3J5Q2FjaGVzKCk7Ci0jaWYgIShRVF9WRVJTSU9OIDw9IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwg
MikpCiAgICAgUUZvbnREYXRhYmFzZTo6cmVtb3ZlQWxsQXBwbGljYXRpb25Gb250cygpOwotI2Vu
ZGlmCiAgICAgYWN0aXZhdGVGb250cygpOwogICAgIFFPYmplY3Q6OmNvbm5lY3QoJm1fd2FpdFRv
RHVtcFdhdGNoZG9nVGltZXIsIFNJR05BTCh0aW1lb3V0KCkpLCBXYXRjaGRvZ1RpbWVySGVscGVy
OjppbnN0YW5jZSgpLCBTTE9UKHRpbWVyRmlyZWQoKSkpOwogfQpkaWZmIC0tZ2l0IGMvVG9vbHMv
cW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9kZWZhdWx0X3Bvc3QucHJmIHcvVG9vbHMvcW1ha2UvbWtz
cGVjcy9mZWF0dXJlcy9kZWZhdWx0X3Bvc3QucHJmCmluZGV4IGMzN2Q3MWI2MmQ5NTEzNTNlNmUz
ZWE1MjUzMDhiMGYxNzU1MzA4YWMuLjc4YzkzZDdjMDY3OGY5Mjg0Y2FkOWE4OGEyOTU0NzQ1ODc2
NTdjMDAgMTAwNjQ0Ci0tLSBjL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZGVmYXVsdF9w
b3N0LnByZgorKysgdy9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2RlZmF1bHRfcG9zdC5w
cmYKQEAgLTIxLDYgKzIxLDggQEAgaXNFbXB0eShPQkpFQ1RTX0RJUik6IE9CSkVDVFNfRElSID0g
b2JqLyQkYWN0aXZlQnVpbGRDb25maWcoKQogREVGSU5FUyArPSBcCiAgICAgQlVJTERJTkdfUVRf
Xz0xCiAKK2hhdmVRdCg1KTogREVGSU5FUyArPSBIQVZFX1FUNT0xCisKIENPTkZJRyhyZWxlYXNl
LCBkZWJ1Z3xyZWxlYXNlKTogREVGSU5FUyAqPSBOREVCVUcKIAogQ09ORklHICs9IGRlcGVuZF9p
bmNsdWRlcGF0aAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145073</attachid>
            <date>2012-05-31 06:17:46 -0700</date>
            <delta_ts>2012-05-31 06:39:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87955-20120531151743.patch</filename>
            <type>text/plain</type>
            <size>42573</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4OTIyCmRpZmYgLS1naXQgYy9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyB3L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNjM4NTkyN2I2NjM3Y2IzNWVjNjZh
MjBmYzEyNjI1N2Q1ODUwYTMuLjAwMWQ1MDA0YzdiNjJmZGI3MmU0OWFlNTMwZGM2MTdkNzBlYjlm
ZjkgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyB3L1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0
b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVS
U0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRyb2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvcXQvVXRpbHNRdC5oOgor
CiAyMDEyLTA1LTMwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEJ1aWxkIGZpeCBmb3IgV2luQ0UgYWZ0ZXIgcjExODYwMy4KZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyB3L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBl
MmIwYjIwYTcwZjc5MmFkZjhkNzQyNTdjMzgzYzY2NWVlOWIxNGFmLi5jOGFlMzg2OTEwNGQyMGE3
YWE3Y2YxZjgzOWE0OGFhMDZiOTY4NDI1IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIHcvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIw
MTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgor
CisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRy
b2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBicmlkZ2UvcXQvcXRfY2xhc3MuY3BwOgorICAgICAgICAqIGJyaWRnZS9xdC9x
dF9pbnN0YW5jZS5jcHA6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuaDoKKyAgICAg
ICAgKiBwYWdlL3F0L0V2ZW50SGFuZGxlclF0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL09w
ZW5HTFNoaW1zLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2lu
ZG93UHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9QbGF0
Zm9ybVZpZGVvV2luZG93UXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dDNEUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1Np
bXBsZUZvbnREYXRhUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvRGV2aWNlTW90aW9uUHJvdmlk
ZXJRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dC5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0tVUkxRdC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUGxhdGZvcm1TY3JlZW5RdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvUVdlYlBh
Z2VDbGllbnQuaDoKKyAgICAgICAgKiBwbHVnaW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHA6Cisg
ICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwOgorCiAyMDEyLTA1LTMwICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBBZGQgdHJhY2UoKSBtZXRob2QgdG8gdGhlIFdvcmtlckNvbnNvbGUKZGlmZiAtLWdpdCBj
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIHcvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
aW5kZXggZTgyNzQwZjk0N2M4ZTEyMDlkMzBhZjljZTUyMWYxNzljY2VkMjBhZC4uMWU0YzRiODM0
NDVkYzBiZDg3ZmYzY2M2MGZjMWUwYjAyMGFjYzg1MCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKKysrIHcvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxMi0wNS0zMSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bu
b2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBTaW1wbGlmeSBRVF9WRVJTSU9OX0NIRUNLUyBmb3Ig
UXQ1IGJ5IGludHJvZHVjaW5nIEhBVkUoUVQ1KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAg
KiBBcGkvcWdyYXBoaWNzd2Vidmlldy5oOgorICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgor
ICAgICAgICAqIEFwaS9xd2ViZnJhbWVfcC5oOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5j
cHA6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJF
dmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAqIGRlY2xhcmF0aXZlL3BsdWdpbi5jcHA6Cisg
ICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorICAgICAgICAqIHRl
c3RzL3V0aWwuaDoKKwogMjAxMi0wNS0yOSAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZl
c3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBTeW5jIHVwIGZhdmljb24taW1wbGVtZW50
YXRpb24gd2l0aCBXZWJWaWV3IHVybCBjaGFuZ2VzIGluIHIxMTgxNTgKZGlmZiAtLWdpdCBjL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyB3L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBl
MGE4OGEwNzE0MzUxY2I4ODZkZmFmOGJjMTdmOTI1MDdmNWQzZDVmLi5iMDcxZTQ0ZTljOGViYmZm
YTQxZDUwYTgxMzA0Y2M0Y2U4ZGFmOGNjIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIHcvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgor
CisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVDS1MgZm9yIFF0NSBieSBpbnRy
b2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3B1YmxpY2FwaS90c3RfcHVibGljYXBp
LmNwcDoKKwogMjAxMi0wNS0zMCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBEbyByZW5hbWVzIGluIFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUgYXMgYWdyZWVkIHVwb24KZGlmZiAtLWdpdCBjL1NvdXJjZS9XVEYvd3RmL3F0
L1V0aWxzUXQuaCB3L1NvdXJjZS9XVEYvd3RmL3F0L1V0aWxzUXQuaAppbmRleCA3NDA2N2E4ZWVi
NGU2YTQ0OWQxOWE3MTMzZjdlNmIzZjk1YTVkZTYwLi42MWM5ZTMyYzE1NjRhMjcyZmRlOTNiYzJk
YTc5YzMxOTA3YTVmMzQ4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV1RGL3d0Zi9xdC9VdGlsc1F0LmgK
KysrIHcvU291cmNlL1dURi93dGYvcXQvVXRpbHNRdC5oCkBAIC0yMSwxMyArMjEsMTMgQEAKICNk
ZWZpbmUgV1RGX1V0aWxzUXRfaAogCiAjaW5jbHVkZSA8UVN0cmluZz4KLSNpZiBRVF9WRVJTSU9O
IDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICNpbmNsdWRlIDxR
VGV4dERvY3VtZW50PgogI2VuZGlmCiAKIGlubGluZSBRU3RyaW5nIGVzY2FwZUh0bWwoY29uc3Qg
UVN0cmluZyYgc3RyaW5nKQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQorI2lmIEhBVkUoUVQ1KQogICAgIHJldHVybiBzdHJpbmcudG9IdG1sRXNjYXBlZCgp
OwogI2Vsc2UKICAgICByZXR1cm4gUXQ6OmVzY2FwZShzdHJpbmcpOwpkaWZmIC0tZ2l0IGMvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2NsYXNzLmNwcCB3L1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9xdC9xdF9jbGFzcy5jcHAKaW5kZXggMTA1ODk4ZTQ3N2E0YjYyYTJjZGRiN2ZlMWJmYjJmMGM5
OWVjNzQ3NC4uMzgwM2Q0Nzg3YzQ5MjlmYjY4Y2QwYTk4NjJjZjI5YjhiNDNiNTJkMSAxMDA2NDQK
LS0tIGMvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X2NsYXNzLmNwcAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfY2xhc3MuY3BwCkBAIC05OSw3ICs5OSw3IEBAIEpTVmFsdWUg
UXRDbGFzczo6ZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBJbnN0YW5jZSogaW5zdCwg
UHJvcGVydHlOYW1lIGlkCiAgICAgICAgIGlmIChtLmFjY2VzcygpID09IFFNZXRhTWV0aG9kOjpQ
cml2YXRlKQogICAgICAgICAgICAgY29udGludWU7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAgICAgaW50IGl0ZXIgPSAw
OwogICAgICAgICBjb25zdCBjaGFyKiBzaWduYXR1cmUgPSBtLnNpZ25hdHVyZSgpOwogICAgICAg
ICB3aGlsZSAoc2lnbmF0dXJlW2l0ZXJdICYmIHNpZ25hdHVyZVtpdGVyXSAhPSAnKCcpCmRpZmYg
LS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFuY2UuY3BwIHcvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcAppbmRleCBkNDk4OTIxMTFjNWE3MDgx
OTRkZDA2MzQwYjc1ZmViMzhjOThmNGZmLi5jNzkwOTZkNWE2MmFkZjc1NWNhYTM2M2NjNjY5MTIy
ZDM3OTNiOWE4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5zdGFu
Y2UuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKQEAg
LTIzNyw3ICsyMzcsNyBAQCB2b2lkIFF0SW5zdGFuY2U6OmdldFByb3BlcnR5TmFtZXMoRXhlY1N0
YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgYXJyYXkpCiAgICAgICAgIGZvciAoaSA9IDA7
IGkgPCBtZXRob2RDb3VudDsgaSsrKSB7CiAgICAgICAgICAgICBRTWV0YU1ldGhvZCBtZXRob2Qg
PSBtZXRhLT5tZXRob2QoaSk7CiAgICAgICAgICAgICBpZiAobWV0aG9kLmFjY2VzcygpICE9IFFN
ZXRhTWV0aG9kOjpQcml2YXRlKSB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICAgICAgUVN0cmluZyBzaWcgPSBR
U3RyaW5nOjpmcm9tTGF0aW4xKG1ldGhvZC5tZXRob2RTaWduYXR1cmUoKSk7CiAgICAgICAgICAg
ICAgICAgYXJyYXkuYWRkKElkZW50aWZpZXIoZXhlYywgVVN0cmluZyhzaWcudXRmMTYoKSwgc2ln
Lmxlbmd0aCgpKSkpOwogI2Vsc2UKQEAgLTI4OSw3ICsyODksNyBAQCBKU1ZhbHVlIFF0SW5zdGFu
Y2U6OnN0cmluZ1ZhbHVlKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKICAgICAgICAgICAgIC8vIENo
ZWNrIHRvIHNlZSBob3cgbXVjaCB3ZSBjYW4gY2FsbCBpdAogICAgICAgICAgICAgaWYgKG0uYWNj
ZXNzKCkgIT0gUU1ldGFNZXRob2Q6OlByaXZhdGUKICAgICAgICAgICAgICAgICAmJiBtLm1ldGhv
ZFR5cGUoKSAhPSBRTWV0YU1ldGhvZDo6U2lnbmFsCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICAgICAgJiYgbS5w
YXJhbWV0ZXJDb3VudCgpID09IDAKICAgICAgICAgICAgICAgICAmJiBtLnJldHVyblR5cGUoKSAh
PSBRTWV0YVR5cGU6OlZvaWQpIHsKICAgICAgICAgICAgICAgICBRVmFyaWFudCByZXQobS5yZXR1
cm5UeXBlKCksICh2b2lkKikwKTsKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFF0RmllbGQ6OnNl
dFZhbHVlVG9JbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RhbmNlKiBpbnN0LCBK
U1ZhbHVlCiAgICAgaWYgKG9iaikgewogICAgICAgICBRTWV0YVR5cGU6OlR5cGUgYXJndHlwZSA9
IFFNZXRhVHlwZTo6Vm9pZDsKICAgICAgICAgaWYgKG1fdHlwZSA9PSBNZXRhUHJvcGVydHkpCi0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUp
CiAgICAgICAgICAgICBhcmd0eXBlID0gKFFNZXRhVHlwZTo6VHlwZSkgbV9wcm9wZXJ0eS51c2Vy
VHlwZSgpOwogI2Vsc2UKICAgICAgICAgICAgIGFyZ3R5cGUgPSAoUU1ldGFUeXBlOjpUeXBlKSBR
TWV0YVR5cGU6OnR5cGUobV9wcm9wZXJ0eS50eXBlTmFtZSgpKTsKZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmggdy9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cXQvcXRfcnVudGltZS5oCmluZGV4IDczNzI0N2FjZDUwNzExYmMzNGRhYWY0OWZjYjMzOGEyNmIx
MmFkYjMuLjRkOWFmYTQ0MzI0MTg4MzYxZmVlNDIxMTlhZjY4Yzc2ZWYxMjlmODQgMTAwNjQ0Ci0t
LSBjL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmgKKysrIHcvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaApAQCAtMjM4LDE0ICsyMzgsMTQgQEAgcHJpdmF0
ZToKIC8vIHdpdGggdGhlIGFwcHJvcHJpYXRlIHNpZ25hbCBvZiAnc2VuZGVyJy4gV2hlbiBleGVj
dXRlKCkgaXMgY2FsbGVkLCBpdCB3aWxsIGNhbGwgSlMgJ3JlY2VpdmVyRnVuY3Rpb24nLgogY2xh
c3MgUXRDb25uZWN0aW9uT2JqZWN0IDogcHVibGljIFFPYmplY3QKIHsKLSNpZiBRVF9WRVJTSU9O
ID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBRX09CSkVD
VF9GQUtFCiAjZW5kaWYKIHB1YmxpYzoKICAgICBRdENvbm5lY3Rpb25PYmplY3QoSlNDb250ZXh0
UmVmLCBQYXNzUmVmUHRyPFF0SW5zdGFuY2U+IHNlbmRlckluc3RhbmNlLCBpbnQgc2lnbmFsSW5k
ZXgsIEpTT2JqZWN0UmVmIHJlY2VpdmVyLCBKU09iamVjdFJlZiByZWNlaXZlckZ1bmN0aW9uKTsK
ICAgICB+UXRDb25uZWN0aW9uT2JqZWN0KCk7CiAKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lP
Tl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAvLyBFeHBsaWNpdGx5IGRlZmlu
ZSB0aGVzZSBiZWNhdXNlIHdhbnQgYSBjdXN0b20gcXRfbWV0YWNhbGwoKSwgc28gd2UgY2FuJ3Qg
dXNlIFFfT0JKRUNUIG1hY3JvLgogICAgIHN0YXRpYyBjb25zdCBRTWV0YU9iamVjdCBzdGF0aWNN
ZXRhT2JqZWN0OwogICAgIHZpcnR1YWwgY29uc3QgUU1ldGFPYmplY3QgKm1ldGFPYmplY3QoKSBj
b25zdDsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BhZ2UvcXQvRXZlbnRIYW5kbGVyUXQu
Y3BwIHcvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhhbmRsZXJRdC5jcHAKaW5kZXggOGFl
YmI5YzlhOTc2MWJkNjEwMWJkMmQ4NTE2NmU1MWQ2NWEzYWU2Mi4uZDUyMjIyOTUwMGFjMTVlMzhh
NjQxODYzMWU4NmVlY2U4ZTc4MzdhNiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGFnZS9x
dC9FdmVudEhhbmRsZXJRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGFnZS9xdC9FdmVudEhh
bmRsZXJRdC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIK
ICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NI
RUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogUVRfQkVHSU5fTkFNRVNQQUNFCiBRX0dVSV9F
WFBPUlQgZXh0ZXJuIGJvb2wgcXRfdGFiX2FsbF93aWRnZXRzOyAvLyBmcm9tIHFhcHBsaWNhdGlv
bi5jcHAKIFFUX0VORF9OQU1FU1BBQ0UKQEAgLTY2LDcgKzY2LDcgQEAgY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMDsKIAogYm9vbCBFdmVudEhhbmRsZXI6OnRh
YnNUb0FsbEZvcm1Db250cm9scyhLZXlib2FyZEV2ZW50KiBldmVudCkgY29uc3QKIHsKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICByZXR1cm4gIWlzS2V5Ym9hcmRPcHRpb25UYWIoZXZlbnQpOwogI2Vsc2UKICAgICByZXR1cm4g
KGlzS2V5Ym9hcmRPcHRpb25UYWIoZXZlbnQpID8gIXF0X3RhYl9hbGxfd2lkZ2V0cyA6IHF0X3Rh
Yl9hbGxfd2lkZ2V0cyk7CmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA2OTJkYTU2YTUzN2EyYTZkYTVlNWUyMzFjNjA1
ODQ1NGFlNTBkNDljLi5iMGJjNWMwMDk0ZmI5ZWIyOWRlNDhiZjE1ZTMyMzU1ZTYzN2JjZjVjIDEw
MDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKQEAgLTY4LDcgKzY4LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgR0x1aW50Owog
I2lmIFBMQVRGT1JNKE1BQykKIHR5cGVkZWYgQ0dMQ29udGV4dE9iaiBQbGF0Zm9ybUdyYXBoaWNz
Q29udGV4dDNEOwogI2VsaWYgUExBVEZPUk0oUVQpCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiB0eXBlZGVmIFFPcGVuR0xDb250ZXh0
KiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwogdHlwZWRlZiBRU3VyZmFjZSogUGxhdGZvcm1H
cmFwaGljc1N1cmZhY2UzRDsKICNlbHNlCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9PcGVuR0xTaGltcy5jcHAKaW5kZXggZjU5ZjI2YzYwMjVjNzI5NWZiMzI4OWMzNGU4
NDc3NzA3OTM1YWI3OC4uYTIzZGM2ODk1MmRiODBkNzJiYTNlNzZmNmZjNTBiYjU2Zjg4ZTI1OCAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMu
Y3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNw
cApAQCAtNDIsNyArNDIsNyBAQCBPcGVuR0xGdW5jdGlvblRhYmxlKiBvcGVuR0xGdW5jdGlvblRh
YmxlKCkKICNpZiBQTEFURk9STShRVCkKIHN0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25z
dCBjaGFyKiBwcm9jTmFtZSkKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oUU9wZW5HTENvbnRleHQ6OmN1cnJlbnRDb250ZXh0KCktPmdldFByb2NBZGRyZXNzKHByb2NO
YW1lKSk7CiAjZWxzZQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihRR0xDb250
ZXh0OjpjdXJyZW50Q29udGV4dCgpLT5nZXRQcm9jQWRkcmVzcyhRU3RyaW5nOjpmcm9tTGF0aW4x
KHByb2NOYW1lKSkpOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvT3BlbkdMU2hpbXMuaCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5H
TFNoaW1zLmgKaW5kZXggMWQ1ZjM3ZDllNThhYzJjYWFkY2Y4NTE3YjY2OWY1M2U1N2IwODE0Zi4u
NzA2ZjE3ZDliYTY3YzE2OTZmNWZiNzI3M2I5NTYyODdlNzdkNWViYyAxMDA2NDQKLS0tIGMvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuaAorKysgdy9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCkBAIC0yMiw3ICsyMiw3IEBA
CiAKICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxxZ2xvYmFsLmg+Ci0jaWYgUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8
cW9wZW5nbGZ1bmN0aW9ucy5oPgogI2luY2x1ZGUgPFFPcGVuR0xDb250ZXh0PgogI2luY2x1ZGUg
PFFTdXJmYWNlPgpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5kb3dQcml2YXRlLmggdy9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaApp
bmRleCAzMzYwMGY2OTZkNjRmMGVjMDUyMWZhMjI5NjNkODIzMTliNWUzYjU2Li5iOTI5ZTkwZTQ5
ZjQxMDBjNGY5N2ZjZTk3NjM3YmJlMDFhYWY0MDllIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUu
aAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvUGxhdGZv
cm1WaWRlb1dpbmRvd1ByaXZhdGUuaApAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgPFFFdmVu
dD4KICNpbmNsdWRlIDxRVGltZXI+CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBkZWZpbmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNQogI2luY2x1ZGUg
PFFXaW5kb3c+CiAjZWxzZQogI2luY2x1ZGUgPFFXaWRnZXQ+CkBAIC0zMyw3ICszMyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIAotI2lmIFFUX1ZF
UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIGRlZmluZWQoSEFWRV9RVDUp
ICYmIEhBVkVfUVQ1CiB0eXBlZGVmIFFXaW5kb3cgQmFzZTsKICNlbHNlCiB0eXBlZGVmIFFXaWRn
ZXQgQmFzZTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9QbGF0Zm9ybVZpZGVvV2luZG93UXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5kb3dRdC5jcHAKaW5kZXggNTA2
YTU5ZDFmY2QwZjQ0YzU1MjFiM2Y1ZmQzODlkMzRjYmJiZjQ3NS4uM2U0MzFmMjQxN2M5MzZkNzkz
ZjMwOGJlYTMwM2Y0M2MyZmJlNDQ3NyAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5kb3dRdC5jcHAKKysrIHcvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1BsYXRmb3JtVmlkZW9XaW5k
b3dRdC5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnSGlkZU1vdXNlQ3Vy
c29yRGVsYXkgPSAzMDAwOwogRnVsbFNjcmVlblZpZGVvV2luZG93OjpGdWxsU2NyZWVuVmlkZW9X
aW5kb3coKQogICAgIDogbV9tZWRpYUVsZW1lbnQoMCkKIHsKLSNpZiBRVF9WRVJTSU9OIDwgUVRf
VkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICBzZXRBdHRyaWJ1dGUo
UXQ6OldBX05hdGl2ZVdpbmRvdyk7CiAgICAgc2V0QXR0cmlidXRlKFF0OjpXQV9Ob1N5c3RlbUJh
Y2tncm91bmQsIHRydWUpOwogICAgIHNldEF0dHJpYnV0ZShRdDo6V0FfUGFpbnRPblNjcmVlbiwg
dHJ1ZSk7CkBAIC04Myw3ICs4Myw3IEBAIGJvb2wgRnVsbFNjcmVlblZpZGVvV2luZG93OjpldmVu
dChRRXZlbnQqIGV2KQogI2lmbmRlZiBRVF9OT19DVVJTT1IKICAgICAgICAgbV9jdXJzb3JUaW1l
ci5zdG9wKCk7CiAjZW5kaWYKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAw
LCAwKQorI2lmICFIQVZFKFFUNSkKICAgICAgICAgc2V0TW91c2VUcmFja2luZyhmYWxzZSk7CiAg
ICAgICAgIHJlbGVhc2VNb3VzZSgpOwogI2VuZGlmCkBAIC0xMDAsMTEgKzEwMCwxMSBAQCBib29s
IEZ1bGxTY3JlZW5WaWRlb1dpbmRvdzo6ZXZlbnQoUUV2ZW50KiBldikKIHZvaWQgRnVsbFNjcmVl
blZpZGVvV2luZG93OjpzaG93RnVsbFNjcmVlbigpCiB7CiAgICAgQmFzZTo6c2hvd0Z1bGxTY3Jl
ZW4oKTsKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFI
QVZFKFFUNSkKICAgICBzZXRNb3VzZVRyYWNraW5nKHRydWUpOwogI2VuZGlmCiAgICAgcmFpc2Uo
KTsKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZF
KFFUNSkKICAgICBzZXRGb2N1cygpOwogI2VuZGlmCiAgICAgaGlkZUN1cnNvcigpOwpAQCAtMTMy
LDcgKzEzMiw3IEBAIFBsYXRmb3JtVmlkZW9XaW5kb3c6OlBsYXRmb3JtVmlkZW9XaW5kb3coKQog
ICAgIG1fd2luZG93ID0gd2luOwogICAgIHdpbi0+c2V0V2luZG93RmxhZ3Mod2luLT53aW5kb3dG
bGFncygpIHwgUXQ6OkZyYW1lbGVzc1dpbmRvd0hpbnQpOwogICAgIC8vIEZJWE1FOiBQb3J0IHRv
IFF0IDUuCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiAh
SEFWRShRVDUpCiAgICAgUVBhbGV0dGUgcDsKICAgICBwLnNldENvbG9yKFFQYWxldHRlOjpCYXNl
LCBRdDo6YmxhY2spOwogICAgIHAuc2V0Q29sb3IoUVBhbGV0dGU6OldpbmRvdywgUXQ6OmJsYWNr
KTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dDNEUXQuY3BwIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggYzA4OWViOTJlZTg4NDU2NzFhYzM5Y2EyM2Uz
MzNiMDI5NmJiNWYxYi4uZjNhN2VhOGFiYzEzOTg5ZGNhZDNiMzc2YjYyZWVkZWQ1NDJiMjdjYiAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3ND
b250ZXh0M0RRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZTo6YmxpdE11bHRpc2FtcGxlRnJhbWVidWZmZXJBbmRSZXN0b3JlQ29u
dGV4dCgpIGNvbgogICAgIGlmICghbV9jb250ZXh0LT5tX2F0dHJzLmFudGlhbGlhcykKICAgICAg
ICAgcmV0dXJuOwogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDAp
CisjaWYgSEFWRShRVDUpCiAgICAgY29uc3QgUU9wZW5HTENvbnRleHQqIGN1cnJlbnRDb250ZXh0
ID0gUU9wZW5HTENvbnRleHQ6OmN1cnJlbnRDb250ZXh0KCk7CiAgICAgUVN1cmZhY2UqIGN1cnJl
bnRTdXJmYWNlID0gMDsKICAgICBpZiAoY3VycmVudENvbnRleHQgIT0gbV9wbGF0Zm9ybUNvbnRl
eHQpIHsKQEAgLTIyMCw3ICsyMjAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
YmxpdE11bHRpc2FtcGxlRnJhbWVidWZmZXJBbmRSZXN0b3JlQ29udGV4dCgpIGNvbgogCiBib29s
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6bWFrZUN1cnJlbnRJZk5lZWRlZCgpIGNvbnN0CiB7
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShR
VDUpCiAgICAgY29uc3QgUU9wZW5HTENvbnRleHQqIGN1cnJlbnRDb250ZXh0ID0gUU9wZW5HTENv
bnRleHQ6OmN1cnJlbnRDb250ZXh0KCk7CiAgICAgaWYgKGN1cnJlbnRDb250ZXh0ID09IG1fcGxh
dGZvcm1Db250ZXh0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwIHcvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAKaW5kZXgg
MWJjZDZjMDViYzEzZmFkOTYyYWM4YWNiOTRmZDkzYWNkNjgxM2RhMC4uNGMwMWYxZGFjYTg4YTBj
ZDU4YTI3NDJlOWFjNzk2OWJkMzAxOTE5MyAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAKKysrIHcvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAKQEAgLTE0OCw3ICsx
NDgsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGZsb2F0IHNw
YWNlV2lkdGggPSBmbS53aWR0aChRTGF0aW4xQ2hhcignICcpKTsKICNlbmRpZgogCi0jaWYgUVRf
VkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiAhSEFWRShRVDUpCiAgICAg
Ly8gUXQgc3VidHJhY3RzIDEgZnJvbSB0aGUgZGVzY2VudCB0byBhY2NvdW50IGZvciB0aGUgYmFz
ZWxpbmUsCiAgICAgLy8gd2UgYWRkIGl0IGJhY2sgaGVyZSB0byBnZXQgY29ycmVjdCBtZXRyaWNz
IGZvciBXZWJLaXQuCiAgICAgZGVzY2VudCArPSAxOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCB3L1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5kZXggMjkwN2Qx
YWM4ZTE1ZjQ4NzgxN2JmYjBiNDIyZmFhNjFhZTVhNjcxZS4uMTI0OThlY2MzMjA0NDhmNmE2YmU2
MzhmYTk3MTNlZmM3YWIwNDkwOSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAj
aWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8cWdsb2JhbC5oPgogCi0jaWYgZGVmaW5lZChRVF9P
UEVOR0xfTElCKSB8fCAoUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApKQor
I2lmIGRlZmluZWQoUVRfT1BFTkdMX0xJQikgfHwgSEFWRShRVDUpCiAgICAgI2lmIGRlZmluZWQo
UVRfT1BFTkdMX0VTXzIpICYmICFkZWZpbmVkKFRFWE1BUF9PUEVOR0xfRVNfMikKICAgICAgICAg
I2RlZmluZSBURVhNQVBfT1BFTkdMX0VTXzIKICAgICAjZW5kaWYKZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIHcv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAKaW5kZXggMGY3NjUyY2Q0ZmQ2MGQ5MzNhNDQ5ZTlkZWEwMGMwNmUzMmNkMDZiNS4uNjYwMzM0
YTY3NjgxMWRhZWEyMTY1YmM1ZTdiZWE5NTVmMGM1ODUzYyAxMDA2NDQKLS0tIGMvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKKysrIHcv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAKQEAgLTUwNSw3ICs1MDUsNyBAQCB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVu
dHMoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjbwogCiAjaWYgUExB
VEZPUk0oUVQpCiAgICAgUUltYWdlIHF0SW1hZ2U7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgLy8gV2l0aCBRUEEsIHdlIGNh
biBhdm9pZCBhIGRlZXAgY29weS4KICAgICBxdEltYWdlID0gKmZyYW1lSW1hZ2UtPmhhbmRsZSgp
LT5idWZmZXIoKTsKICNlbHNlCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0Lmggdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9E
ZXZpY2VNb3Rpb25Qcm92aWRlclF0LmgKaW5kZXggY2YzZDU4OWU0ODQyNTQyMjk0MzI2NTc1ZWQ5
NDdhMzcwMmFjMDc3My4uMTg0MzdjNjI2Mjg5NTFlMmYwOTBjYjI2ZThlMDc3NGU0M2YwNjhhMiAx
MDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlTW90aW9uUHJvdmlk
ZXJRdC5oCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0RldmljZU1vdGlvblByb3Zp
ZGVyUXQuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgPFFBY2NlbGVyb21ldGVyRmlsdGVy
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9O
X0NIRUNLKDUsIDAsIDApCisjaWYgIUhBVkUoUVQ1KQogdXNpbmcgUVRNX05BTUVTUEFDRTo6UUFj
Y2VsZXJvbWV0ZXI7CiB1c2luZyBRVE1fTkFNRVNQQUNFOjpRQWNjZWxlcm9tZXRlckZpbHRlcjsK
IHVzaW5nIFFUTV9OQU1FU1BBQ0U6OlFBY2NlbGVyb21ldGVyUmVhZGluZzsKZGlmZiAtLWdpdCBj
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5o
IHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0
LmgKaW5kZXggNmQzZTE5OTAyODBmMzEzMzNjODZiZmY0MzU2YTMzYjkzYWMyNzkyYy4uYzdmNmQy
MzM3Y2E4ZTc0Yzg0YjViMGQzZTEyNDBiYzBlZTk1NWQzYSAxMDA2NDQKLS0tIGMvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmgKKysrIHcvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmgKQEAg
LTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxRUm90YXRpb25GaWx0ZXI+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkK
KyNpZiAhSEFWRShRVDUpCiB1c2luZyBRVE1fTkFNRVNQQUNFOjpRUm90YXRpb25GaWx0ZXI7CiB1
c2luZyBRVE1fTkFNRVNQQUNFOjpRUm90YXRpb25SZWFkaW5nOwogdXNpbmcgUVRNX05BTUVTUEFD
RTo6UVJvdGF0aW9uU2Vuc29yOwpkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvS1VSTFF0LmNwcCB3L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKaW5k
ZXggMmU3NTc3NGY4ODM5Y2I1ZmIzZmUxNWQ2MDJhODY0MTIyNGUyYWMyOC4uODZlNGFiN2I2MmNm
MmEwY2U2YmJiMDE0MjIwODc3YmFhOTg3ZGQyZSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvS1VSTFF0LmNwcAorKysgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9L
VVJMUXQuY3BwCkBAIC0zNCw3ICszNCw3IEBAIEtVUkw6OktVUkwoY29uc3QgUVVybCYgdXJsKQog
CiBLVVJMOjpvcGVyYXRvciBRVXJsKCkgY29uc3QKIHsKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmICFIQVZFKFFUNSkKICAgICBRU3RyaW5nIHN0ciA9IFFT
dHJpbmc6OmZyb21SYXdEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIqPihtX3N0cmlu
Zy5jaGFyYWN0ZXJzKCkpLCBtX3N0cmluZy5sZW5ndGgoKSk7CiAgICAgUUJ5dGVBcnJheSBiYSA9
IHN0ci50b1V0ZjgoKTsKIApkaWZmIC0tZ2l0IGMvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
UGxhdGZvcm1TY3JlZW5RdC5jcHAgdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9y
bVNjcmVlblF0LmNwcAppbmRleCA2MmRjZjUwMWYyYjY0MmQwNjAwYTg5MjY3MmZlN2M0NDk2YjAz
MjczLi44YmZiZjI2MjU3N2Y2ZmUyMjdjYzIwM2Q4NjE5MDgwMTUzNzA2M2Q3IDEwMDY0NAotLS0g
Yy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcAorKysgdy9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVNjcmVlblF0LmNwcApAQCAtMzgsNyAr
MzgsNyBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV2lkZ2V0Lmgi
CiAjaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRR3VpQXBwbGljYXRp
b24+CiAjaW5jbHVkZSA8UVNjcmVlbj4KICNlbHNlCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBp
bnQgc2NyZWVuTnVtYmVyKFdpZGdldCogdykKIAogaW50IHNjcmVlbkRlcHRoKFdpZGdldCogdykK
IHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZF
KFFUNSkKICAgICByZXR1cm4gUUd1aUFwcGxpY2F0aW9uOjpzY3JlZW5zKCkudmFsdWUoc2NyZWVu
TnVtYmVyKHcpKS0+ZGVwdGgoKTsKICNlbHNlCiAgICAgcmV0dXJuIFFBcHBsaWNhdGlvbjo6ZGVz
a3RvcCgpLT5zY3JlZW4oc2NyZWVuTnVtYmVyKHcpKS0+ZGVwdGgoKTsKQEAgLTgwLDcgKzgwLDcg
QEAgaW50IHNjcmVlbkRlcHRoKFdpZGdldCogdykKIAogaW50IHNjcmVlbkRlcHRoUGVyQ29tcG9u
ZW50KFdpZGdldCogdykKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwg
MCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICBpbnQgZGVwdGggPSBRR3VpQXBwbGljYXRpb246OnBy
aW1hcnlTY3JlZW4oKS0+ZGVwdGgoKTsKICAgICAvLyBGSVhNRTogVXNlIHdpZGdldCdzIHNjcmVl
bgogICAgIFFfVU5VU0VEKHcpOwpAQCAtMTE0LDcgKzExNCw3IEBAIGludCBzY3JlZW5EZXB0aFBl
ckNvbXBvbmVudChXaWRnZXQqIHcpCiAKIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdldCog
dykKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBI
QVZFKFFUNSkKICAgICBRX1VOVVNFRCh3KTsKICAgICAvLyBGSVhNRTogSW4gUXQgNSBjb2xvckNv
dW50KCkgaXNuJ3QgZXZlbiBpbXBsZW1lbnRlZCBiZXlvbmQgcmV0dXJuaW5nIDI1NiA6KQogICAg
IHJldHVybiBmYWxzZTsKQEAgLTEyNSw3ICsxMjUsNyBAQCBib29sIHNjcmVlbklzTW9ub2Nocm9t
ZShXaWRnZXQqIHcpCiAKIEZsb2F0UmVjdCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQogewot
I2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2lmIEhBVkUoUVQ1
KQogICAgIFFSZWN0IHIgPSBRR3VpQXBwbGljYXRpb246OnNjcmVlbnMoKS52YWx1ZShzY3JlZW5O
dW1iZXIod2lkZ2V0KSktPmdlb21ldHJ5KCk7CiAjZWxzZQogICAgIFFSZWN0IHIgPSBRQXBwbGlj
YXRpb246OmRlc2t0b3AoKS0+c2NyZWVuR2VvbWV0cnkoc2NyZWVuTnVtYmVyKHdpZGdldCkpOwpA
QCAtMTM1LDcgKzEzNSw3IEBAIEZsb2F0UmVjdCBzY3JlZW5SZWN0KFdpZGdldCogd2lkZ2V0KQog
CiBGbG9hdFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICBRUmVjdCByID0gUUd1aUFwcGxpY2F0aW9uOjpzY3JlZW5zKCkudmFsdWUoc2NyZWVuTnVtYmVy
KHdpZGdldCkpLT5hdmFpbGFibGVHZW9tZXRyeSgpOwogI2Vsc2UKICAgICBRUmVjdCByID0gUUFw
cGxpY2F0aW9uOjpkZXNrdG9wKCktPmF2YWlsYWJsZUdlb21ldHJ5KHNjcmVlbk51bWJlcih3aWRn
ZXQpKTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xp
ZW50Lmggdy9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCmluZGV4
IDk1NDFjNjRlMjJmYTA1ZGViMThlMDE5MWY1NDU3NzFiNGI1N2RjMzkuLjZjOWExYWU2Y2MxYmZm
ZjMxM2Y4M2VlNzM2NTFkNTM5OTUyZTNhOGIgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmgKKysrIHcvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvUVdlYlBhZ2VDbGllbnQuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgY3JlYXRlUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRChQbGF0Zm9ybUdyYXBoaWNz
Q29udGV4dDNEKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQbGF0Zm9ybUdyYXBoaWNzU3VyZmFjZTNEKikgPSAwOwogI2VuZGlmCi0jaWYgUVRfVkVS
U0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgdmly
dHVhbCBRV2luZG93KiBvd25lcldpbmRvdygpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBj
L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcCB3L1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAppbmRleCBiOTgyNGZhZTBjNjY1
MjA1MjgwMzU1N2MxZjFkY2VlZGRhZWI5MDZjLi5mYmFjNTI5YWM1ZWIwZjBlNjI1NTQ5N2U5YWIw
NjhhYzU5ZGNhNzMxIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdp
blBhY2thZ2VRdC5jcHAKKysrIHcvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5QYWNr
YWdlUXQuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUd0ayhR
TGlicmFyeSogbW9kdWxlID0gMCkKIAogYm9vbCBQbHVnaW5QYWNrYWdlOjppc1BsdWdpbkJsYWNr
bGlzdGVkKCkKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkK
KyNpZiBIQVZFKFFUNSkKICAgICAvLyBUT0RPOiBlbnVtZXJhdGUgYWxsIHBsdWdpbnMgdGhhdCBh
cmUgaW5jb21wYXRpYmxlIHdpdGggUXQ1LgogICAgIGNvbnN0IFFMYXRpbjFTdHJpbmcgcGx1Z2lu
QmxhY2tsaXN0W10gPSB7CiAgICAgICAgIFFMYXRpbjFTdHJpbmcoInNreXBlYnV0dG9ucyIpCmRp
ZmYgLS1naXQgYy9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAgdy9T
b3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKaW5kZXggMzIzYzU1MTU2
ZDNiNWJmZGRiNmYwOWZiOGMyYzg5ZGRlOGY2MjY5Yy4uZWRhMDUwNGMyMTJiYTU4YjQ5YmZhNWYz
NWFlOWI3NzI1YmUyZjQ2ZCAxMDA2NDQKLS0tIGMvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9Q
bHVnaW5WaWV3UXQuY3BwCisrKyB3L1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmll
d1F0LmNwcApAQCAtNzksOCArNzksNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAj
aW5jbHVkZSA8cnVudGltZS9KU1ZhbHVlLmg+CiAKLSNkZWZpbmUgSEFWRV9RVDUgKFFUX1ZFUlNJ
T04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKSkKLQogI2lmIEhBVkUoUVQ1KQogI2luY2x1
ZGUgIlF0WDExSW1hZ2VDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSA8UUd1aUFwcGxpY2F0aW9uPgpk
aWZmIC0tZ2l0IGMvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgdy9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAppbmRleCAzZjZmZTE0NzFj
NjhhNzRlNzVkZDUxYTNiM2RkZWZjMmZlMTE3OTUzLi5kMTk0ZjlmYzMwOGM4N2M0NjZjNmI0OGNj
YTBjODc5MjkzNzliODc0IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhp
Y3N3ZWJ2aWV3LmNwcAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3
LmNwcApAQCAtMzEzLDcgKzMxMyw3IEBAIGJvb2wgUUdyYXBoaWNzV2ViVmlldzo6c2NlbmVFdmVu
dChRRXZlbnQqIGV2ZW50KQogICAgIGlmIChkLT5wYWdlICYmIChldmVudC0+dHlwZSgpID09IFFF
dmVudDo6VG91Y2hCZWdpbgogICAgICAgICAgICAgICAgIHx8IGV2ZW50LT50eXBlKCkgPT0gUUV2
ZW50OjpUb3VjaEVuZAogICAgICAgICAgICAgICAgIHx8IGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50
OjpUb3VjaFVwZGF0ZQotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAw
KQorI2lmIEhBVkUoUVQ1KQogICAgICAgICAgICAgICAgIHx8IGV2ZW50LT50eXBlKCkgPT0gUUV2
ZW50OjpUb3VjaENhbmNlbAogI2VuZGlmCiAgICAgICAgKSkgewpkaWZmIC0tZ2l0IGMvU291cmNl
L1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5oIHcvU291cmNlL1dlYktpdC9xdC9BcGkv
cWdyYXBoaWNzd2Vidmlldy5oCmluZGV4IDE1ZmUwODdkNjE5NzBhMWFiYjEzYzY0YjI0N2Y4YzVh
OTk3MTU0YTAuLmM3Y2E0NGFhZDE5MTUxMWIzMjcxMzg1MWExMTUzZWZlMTlkMjJiOWMgMTAwNjQ0
Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaAorKysgdy9Tb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmgKQEAgLTIzLDcgKzIzLDcgQEAKICNp
bmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2UuaCIKICNpbmNsdWRl
IDxRdENvcmUvcXVybC5oPgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAw
LCAwKQorI2lmIGRlZmluZWQoSEFWRV9RVDUpICYmIEhBVkVfUVQ1CiAjaW5jbHVkZSA8UXRXaWRn
ZXRzL3FncmFwaGljc3dpZGdldC5oPgogI2Vsc2UKICNpbmNsdWRlIDxRdEd1aS9xZ3JhcGhpY3N3
aWRnZXQuaD4KZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAg
dy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4IGYwOWE4YTgwZGZjMTNk
Zjc2NmY2MzBiNjlmMjQ1YzEwNTBjNDgzYzMuLmFiYTU4ZGIwY2Q2YzczYWQ1YjcwNGRkN2M1MzZm
ZjBlNzFmOWY3MjUgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5j
cHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcApAQCAtMTE2LDcgKzEx
Niw3IEBACiAjaW5jbHVkZSA8cXJlZ2lvbi5oPgogI2luY2x1ZGUgPHFuZXR3b3JrcmVxdWVzdC5o
PgogCi0jaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykgJiYgUVRfVkVSU0lPTiA8IFFUX1ZF
UlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKSAmJiAh
SEFWRShRVDUpCiBRVE1fVVNFX05BTUVTUEFDRQogI2VuZGlmCiAKZGlmZiAtLWdpdCBjL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
ZnJhbWVfcC5oCmluZGV4IDRhYjdiOTcwMGVkNTM3MzliNzkwZjIyNGJhY2QwMzVkNTRjYTQ5MmQu
LjgyZmQ5MjAzMzU2OWIzNTFlZjdiZGZiYWZmMmExNDM2OTJkNTliZWYgMTAwNjQ0Ci0tLSBjL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYmZyYW1lX3AuaApAQCAtMzAsOSArMzAsOSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKICNpbmNsdWRlICJxb3JpZW50
YXRpb25zZW5zb3IuaCIKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAw
KQorI2lmICEoZGVmaW5lZChIQVZFX1FUNSkgJiYgSEFWRV9RVDUpCiB1c2luZyBRVE1fTkFNRVNQ
QUNFOjpRT3JpZW50YXRpb25TZW5zb3I7Ci0jZW5kaWYgLy8gUVRfVkVSU0lPTiA8IFFUX1ZFUlNJ
T05fQ0hFQ0soNSwgMCwgMCkuCisjZW5kaWYKICNlbmRpZiAvLyBFTkFCTEUoT1JJRU5UQVRJT05f
RVZFTlRTKS4KICNpbmNsdWRlICJxd2ViZWxlbWVudC5oIgogI2luY2x1ZGUgInd0Zi9SZWZQdHIu
aCIKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCB3L1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBkOWIwMDc3M2IwZmMxZjM1NDQwNWM3
MGM5MmQwMTU5ZWFhOWVhZGMzLi44ZmIzMTlkZDQyNGZmZGY5ZjU2ZTc1OGNmOWI4MmZjYjFiZjZl
MDc4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIHcv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0zMTUxLDcgKzMxNTEsNyBAQCBi
b29sIFFXZWJQYWdlOjpldmVudChRRXZlbnQgKmV2KQogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEJl
Z2luOgogICAgIGNhc2UgUUV2ZW50OjpUb3VjaFVwZGF0ZToKICAgICBjYXNlIFFFdmVudDo6VG91
Y2hFbmQ6Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
SEFWRShRVDUpCiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoQ2FuY2VsOgogI2VuZGlmCiAgICAgICAg
IC8vIFJldHVybiB3aGV0aGVyIHRoZSBkZWZhdWx0IGFjdGlvbiB3YXMgY2FuY2VsbGVkIGluIHRo
ZSBKUyBldmVudCBoYW5kbGVyCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5oIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCAwYmYzNWUyNDcx
ZjFjYzNiZDQ0N2MxM2NiMGY4ODhhNTJmNGQ0YTE4Li5mY2U2OGE4YzQxMDNmMGMzNjJlMzBhNmU3
ZWIzNTMwOTFkNzBhZjY2IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5oCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKQEAgLTI2LDcgKzI2LDcg
QEAKIAogI2luY2x1ZGUgPFF0Q29yZS9xb2JqZWN0Lmg+CiAjaW5jbHVkZSA8UXRDb3JlL3F1cmwu
aD4KLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBkZWZp
bmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNQogI2luY2x1ZGUgPFF0V2lkZ2V0cy9xd2lkZ2V0Lmg+
CiAjZWxzZQogI2luY2x1ZGUgPFF0R3VpL3F3aWRnZXQuaD4KZGlmZiAtLWdpdCBjL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwCmluZGV4IDRlMDE4MzZmNzc4NGM3OWFhMmZhYTA4MTdkZTcyYmYyNTQwYWI1
MzUuLjU0MjVhOTI3MDZhMzNmMzk2ZTUwNzQ4MWQ0OWNjYmIzNmZjMDUwMmIgMTAwNjQ0Ci0tLSBj
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIHcvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDYsNyArNDYsNyBAQAogI2luY2x1ZGUgIkZp
bGVTeXN0ZW0uaCIKIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRU3Rh
bmRhcmRQYXRocz4KICNlbHNlCiAjaW5jbHVkZSA8UURlc2t0b3BTZXJ2aWNlcz4KQEAgLTExNTEs
NyArMTE1MSw3IEBAIHZvaWQgUVdlYlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmFnZShj
b25zdCBRU3RyaW5nJiBwYXRoKQogCiAgICAgaWYgKHBhdGguaXNFbXB0eSgpKSB7CiAKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICAgICAgc3RvcmFnZVBhdGggPSBRU3RhbmRhcmRQYXRoczo6d3JpdGFibGVMb2NhdGlvbihRU3Rh
bmRhcmRQYXRoczo6RGF0YUxvY2F0aW9uKTsKICNlbHNlCiAgICAgICAgIHN0b3JhZ2VQYXRoID0g
UURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkRhdGFM
b2NhdGlvbik7CkBAIC0xMTc0LDcgKzExNzQsNyBAQCB2b2lkIFFXZWJTZXR0aW5nczo6ZW5hYmxl
UGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgUVN0cmluZyYgcGF0aCkKICNpZiBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQogICAgIC8vIEFsbCBhcHBsaWNhdGlvbnMgY2FuIHNo
YXJlIHRoZSBjb21tb24gUXRXZWJraXQgY2FjaGUgZmlsZShzKS4KICAgICAvLyBQYXRoIGlzIG5v
dCBjb25maWd1cmFibGUgYW5kIHVzZXMgUURlc2t0b3BTZXJ2aWNlczo6Q2FjaGVMb2NhdGlvbiBi
eSBkZWZhdWx0LgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQor
I2lmIEhBVkUoUVQ1KQogICAgIFFTdHJpbmcgY2FjaGVQYXRoID0gUVN0YW5kYXJkUGF0aHM6Ondy
aXRhYmxlTG9jYXRpb24oUVN0YW5kYXJkUGF0aHM6OkNhY2hlTG9jYXRpb24pOwogI2Vsc2UKICAg
ICBRU3RyaW5nIGNhY2hlUGF0aCA9IFFEZXNrdG9wU2VydmljZXM6OnN0b3JhZ2VMb2NhdGlvbihR
RGVza3RvcFNlcnZpY2VzOjpDYWNoZUxvY2F0aW9uKTsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNw
cAppbmRleCA5MzdkM2JkY2FmYzlkMmRjZmI1NjNmNWNlOGI1NWNhY2ZiMDcyZmFmLi43NmJmMzky
Nzc4YTkwOTE4NzM3YmE5ZTNlOTAyNmJiY2YwMzExYjFlIDEwMDY0NAotLS0gYy9Tb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZp
ZXcuY3BwCkBAIC03MDQsNyArNzA0LDcgQEAgYm9vbCBRV2ViVmlldzo6ZXZlbnQoUUV2ZW50ICpl
KQogICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUoKSA9PSBRRXZlbnQ6OlRvdWNoQmVnaW4gCiAg
ICAgICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hFbmQgCiAgICAg
ICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hVcGRhdGUKLSNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAg
ICAgICAgICAgICAgICAgICB8fCBlLT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaENhbmNlbAogI2Vu
ZGlmCiAgICAgICAgICAgICAgICAgICApIHsKZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQvcXQv
QXBpL3F3ZWJ2aWV3Lmggdy9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5oCmluZGV4IDkw
ZDBhOGUzYjIwNzE0ZWNlYjFlMTgyMzJiOTQwMGFkYzQzNTczNDAuLmMzMWFhMzU1YmM3ZmY5NGJl
MzcyMjY0ZTk0MGU3M2RmOTI0NjA5YzYgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJ2aWV3LmgKKysrIHcvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuaApAQCAtMjMs
NyArMjMsNyBAQAogCiAjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgogI2luY2x1ZGUgInF3ZWJw
YWdlLmgiCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
ZGVmaW5lZChIQVZFX1FUNSkgJiYgSEFWRV9RVDUKICNpbmNsdWRlIDxRdFdpZGdldHMvcXdpZGdl
dC5oPgogI2Vsc2UKICNpbmNsdWRlIDxRdEd1aS9xd2lkZ2V0Lmg+CmRpZmYgLS1naXQgYy9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwIHcvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRl
eCBlODE2YjlmMjFiMzgxOTgwNDg4YzdkMWJlOTI1Mzg3OGYzNzg0ZTQ0Li4wOTdkN2Q4ODkyYTEy
YTQyNjY0MGFlYjBlYTA4MGY5Y2NjNWFhZjk4IDEwMDY0NAotLS0gYy9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyB3L1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTE2MDMsNyAr
MTYwMyw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFtZUxvYWRlckNsaWVudFF0OjpjcmVhdGVQ
bHVnaW4oY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwKICAgICAgICAgVmVjdG9yPFN0cmluZz4g
cGFyYW1zID0gcGFyYW1OYW1lczsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWVzID0gcGFy
YW1WYWx1ZXM7CiAgICAgICAgIGlmIChtaW1lVHlwZSA9PSAiYXBwbGljYXRpb24veC1zaG9ja3dh
dmUtZmxhc2giKSB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDAp
CisjaWYgSEFWRShRVDUpCiAgICAgICAgICAgICBjb25zdCBib29sIHNob3VsZEluamVjdFdtb2Rl
ID0gdHJ1ZTsKICNlbHNlCiAgICAgICAgICAgICAvLyBJbmplY3Qgd21vZGU9b3BhcXVlIHdoZW4g
dGhlcmUgaXMgbm8gY2xpZW50IG9yIHRoZSBjbGllbnQgaXMgbm90IGEgUVdlYlZpZXcuCmRpZmYg
LS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50
UXQuY3BwIHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVu
dFF0LmNwcAppbmRleCA4NTUxY2Y5MDY2MzJkMTQ2MTYwMTI2YTQ1ZTBmZmQzM2M1OTU5ZGNkLi5l
YzRkMWJiOWU5YWZjM2Y3YTA5MDlkYzVlNDhlNTE4N2FjZjE3MjRiIDEwMDY0NAotLS0gYy9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCisrKyB3
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAK
QEAgLTM3LDkgKzM3LDkgQEAKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUgInF3ZWJw
YWdlX3AuaCIKIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisj
aWYgIUhBVkUoUVQ1KQogI2luY2x1ZGUgPFFHZW9Qb3NpdGlvbkluZm9Tb3VyY2U+Ci0jZWxpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNlbGlmIEhBVkUoUVQ1KQog
I2luY2x1ZGUgPFF0TG9jYXRpb24vUUdlb1Bvc2l0aW9uSW5mb1NvdXJjZT4KICNlbmRpZgogCmRp
ZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xp
ZW50UXQuaCB3L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGll
bnRRdC5oCmluZGV4IDlkMDdhOTE1NWIyZTBlY2Q5MDg5YWJhNzEwYjcyOTQ3NWIzNjEzZmEuLjk0
YjBmNjUzMWZmZDU0OTljMjEyMzMyOTFjOTdjNjdjYjNmYTk5YzUgMTAwNjQ0Ci0tLSBjL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oCisrKyB3L1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oCkBAIC0z
MSwxMyArMzEsMTMgQEAKICNpbmNsdWRlIDxRT2JqZWN0PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIUhB
VkUoUVQ1KQogI2luY2x1ZGUgPFFHZW9Qb3NpdGlvbkluZm8+CiBuYW1lc3BhY2UgUXRNb2JpbGl0
eSB7CiBjbGFzcyBRR2VvUG9zaXRpb25JbmZvU291cmNlOwogfTsKIHVzaW5nIG5hbWVzcGFjZSBR
dE1vYmlsaXR5OwotI2VsaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDAp
CisjZWxpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRdExvY2F0aW9uL1FHZW9Qb3NpdGlvbkluZm8+
CiBjbGFzcyBRR2VvUG9zaXRpb25JbmZvU291cmNlOwogI2VuZGlmCmRpZmYgLS1naXQgYy9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAgdy9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKaW5kZXggZWQ2MWQxZjk2YTgw
Y2FjNDJmODFhOTMyMDg0YjQ1NGIzZDU3YWViOC4uOTNiZTVhNWUyZWJkNGMyMDAxMDVlZGJmNzM2
YzQ4YTA5ZWUzYWU3MSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9QYWdlQ2xpZW50UXQuY3BwCisrKyB3L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
UGFnZUNsaWVudFF0LmNwcApAQCAtMzAsNyArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJHTCkKICNp
bmNsdWRlIDxRR0xXaWRnZXQ+CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRV2luZG93PgogI2VuZGlmCiAKQEAg
LTUwLDcgKzUwLDcgQEAgc3RhdGljIHZvaWQgY3JlYXRlUGxhdGZvcm1HcmFwaGljc0NvbnRleHQz
REZyb21XaWRnZXQoUVdpZGdldCogd2lkZ2V0LCBQbGF0Zm9ybUcKICAgICBpZiAoZ2xXaWRnZXQt
PmlzVmFsaWQoKSkgewogICAgICAgICAvLyBHZW9tZXRyeSBjYW4gYmUgc2V0IHRvIHplcm8gYmVj
YXVzZSBtX2dsV2lkZ2V0IGlzIHVzZWQgb25seSBmb3IgaXRzIFFHTENvbnRleHQuCiAgICAgICAg
IGdsV2lkZ2V0LT5zZXRHZW9tZXRyeSgwLCAwLCAwLCAwKTsKLSNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAgICAgKnN1cmZhY2Ug
PSBnbFdpZGdldC0+d2luZG93SGFuZGxlKCk7CiAgICAgICAgICpjb250ZXh0ID0gZ2xXaWRnZXQt
PmNvbnRleHQoKS0+Y29udGV4dEhhbmRsZSgpOwogI2Vsc2UKQEAgLTY5LDcgKzY5LDcgQEAgc3Rh
dGljIHZvaWQgY3JlYXRlUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzREZyb21XaWRnZXQoUVdpZGdl
dCogd2lkZ2V0LCBQbGF0Zm9ybUcKICNpbmNsdWRlICJ0ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVy
LmgiCiAjZW5kaWYKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAw
KQorI2lmIEhBVkUoUVQ1KQogUVdpbmRvdyogUVdlYlBhZ2VDbGllbnQ6Om93bmVyV2luZG93KCkg
Y29uc3QKIHsKICAgICBRV2lkZ2V0KiB3aWRnZXQgPSBvd25lcldpZGdldCgpOwpkaWZmIC0tZ2l0
IGMvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3Bw
IHcvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9XZWJFdmVudENvbnZlcnNpb24uY3Bw
CmluZGV4IGQ0NWY4Y2UzMWZmYTI3MjgxYjY2ODIzNmUyYmIyZmIyMTUyMjQ5NWUuLjBiNzMyYTRj
ZWQxZGY0ZmI0OWE5MjFlOTJjZDRjODgxMjZkZmEzMjAgMTAwNjQ0Ci0tLSBjL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAorKysgdy9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKQEAgLTI0Myw3
ICsyNDMsNyBAQCBXZWJLaXRQbGF0Zm9ybVRvdWNoRXZlbnQ6OldlYktpdFBsYXRmb3JtVG91Y2hF
dmVudChRVG91Y2hFdmVudCogZXZlbnQpCiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoRW5kOgogICAg
ICAgICBtX3R5cGUgPSBQbGF0Zm9ybUV2ZW50OjpUb3VjaEVuZDsKICAgICAgICAgYnJlYWs7Ci0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUp
CiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoQ2FuY2VsOgogICAgICAgICBtX3R5cGUgPSBQbGF0Zm9y
bUV2ZW50OjpUb3VjaENhbmNlbDsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYy9Tb3VyY2Uv
V2ViS2l0L3F0L2RlY2xhcmF0aXZlL3BsdWdpbi5jcHAgdy9Tb3VyY2UvV2ViS2l0L3F0L2RlY2xh
cmF0aXZlL3BsdWdpbi5jcHAKaW5kZXggYjE4YTdiYjYwYTQ4YzA4ZTBlM2MxYWEwNzRkMGVmYTMx
YjQ5NmZjOS4uOTg4YjM2ZTBlMmQ2MDM2ZDUzYzdjYTJjOWY1OWEwY2M0YTUxYmE0OCAxMDA2NDQK
LS0tIGMvU291cmNlL1dlYktpdC9xdC9kZWNsYXJhdGl2ZS9wbHVnaW4uY3BwCisrKyB3L1NvdXJj
ZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvcGx1Z2luLmNwcApAQCAtMjUsNyArMjUsNyBAQAogI2lu
Y2x1ZGUgInFkZWNsYXJhdGl2ZXdlYnZpZXdfcC5oIgogI2VuZGlmCiAKLSNpZiAoUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApKQorI2lmIChIQVZFKFFUNSkpCiAjaW5jbHVk
ZSA8UXRRbWwvcXFtbC5oPgogI2luY2x1ZGUgPFF0UW1sL3FxbWxleHRlbnNpb25wbHVnaW4uaD4K
ICNlbHNlCmRpZmYgLS1naXQgYy9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3Rf
cXdlYmZyYW1lLmNwcCB3L1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2Vi
ZnJhbWUuY3BwCmluZGV4IDJjMjhhZWYxZjRkZTFmYWYwN2UyNWU0YjViY2Q0NWJiYTBlZTc0MzEu
LjNkOGEyYjNjZTUzNTI2MWYzOTAxZGYyODBhNDUzZjczMDcxYThjM2MgMTAwNjQ0Ci0tLSBjL1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyB3L1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC0yMDMz
LDcgKzIwMzMsNyBAQCB2b2lkIHRzdF9RV2ViRnJhbWU6OmVudW1lcmF0ZV9kYXRhKCkKICAgICAg
ICAgPDwgImRwMSIgPDwgImRwMiIgPDwgImRwMyIKICAgICAgICAgLy8gaW5oZXJpdGVkIHNpZ25h
bHMgYW5kIHNsb3RzCiAgICAgICAgIDw8ICJkZXN0cm95ZWQoUU9iamVjdCopIiA8PCAiZGVzdHJv
eWVkKCkiCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYg
ZGVmaW5lZChIQVZFX1FUNSkgJiYgSEFWRV9RVDUKICAgICAgICAgPDwgIm9iamVjdE5hbWVDaGFu
Z2VkKFFTdHJpbmcpIgogI2VuZGlmCiAgICAgICAgIDw8ICJkZWxldGVMYXRlcigpIgpkaWZmIC0t
Z2l0IGMvU291cmNlL1dlYktpdC9xdC90ZXN0cy91dGlsLmggdy9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3V0aWwuaAppbmRleCAyMjE5MmJhZDJmOTNkZThkNzlmN2M3YzJkZTVhNjhhYWVlMDNjMGJl
Li4yZmI1OWUwNjdiYTgyMGJkNjNiZTI1ZTY1ZGE4ODU4YjRlOTU5Yjg2IDEwMDY0NAotLS0gYy9T
b3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3V0aWwuaAorKysgdy9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3Rz
L3V0aWwuaApAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgYm9vbCB3YWl0Rm9yU2lnbmFsKFFPYmpl
Y3QqIG9iaiwgY29uc3QgY2hhciogc2lnbmFsLCBpbnQgdGltZW91dCA9IDEwMDAwKQogICAgIHJl
dHVybiB0aW1lb3V0U3B5LmlzRW1wdHkoKTsKIH0KIAotI2lmIFFUX1ZFUlNJT04gPCBRVF9WRVJT
SU9OX0NIRUNLKDUsIDAsIDApCisjaWYgIShkZWZpbmVkKEhBVkVfUVQ1KSAmJiBIQVZFX1FUNSkK
IC8vIFdpbGwgdHJ5IHRvIHdhaXQgZm9yIHRoZSBjb25kaXRpb24gd2hpbGUgYWxsb3dpbmcgZXZl
bnQgcHJvY2Vzc2luZwogI2RlZmluZSBRVFJZX1ZFUklGWShfX2V4cHIpIFwKICAgICBkbyB7IFwK
ZGlmZiAtLWdpdCBjL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcHVibGlj
YXBpL3RzdF9wdWJsaWNhcGkuY3BwIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9wdWJsaWNhcGkvdHN0X3B1YmxpY2FwaS5jcHAKaW5kZXggNmMwY2I0YjYyOTA0MzJhOTA5
YjVlNjcwNmEzZWU4OWVmZDQ3ZmJhMS4uMGUzYjMzY2Y3MDA5ZGJlYWRmMjU1NGFjNDE0YTQwYzAw
NTVlMGI0NSAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0
cy9wdWJsaWNhcGkvdHN0X3B1YmxpY2FwaS5jcHAKKysrIHcvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9wdWJsaWNhcGkvdHN0X3B1YmxpY2FwaS5jcHAKQEAgLTE3LDYgKzE3
LDggQEAKICAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICovCiAKKyNpbmNsdWRlICJj
b25maWcuaCIKKwogI2luY2x1ZGUgPFFNZXRhRW51bT4KICNpbmNsdWRlIDxRTWV0YU1ldGhvZD4K
ICNpbmNsdWRlIDxRTWV0YU9iamVjdD4KQEAgLTE0Miw3ICsxNDQsNyBAQCBzdGF0aWMgdm9pZCBn
YXRoZXJBUEkoY29uc3QgUVN0cmluZyYgcHJlZml4LCBjb25zdCBRTWV0YU1ldGhvZCYgbWV0aG9k
LCBRU3RyaW5nTAogewogICAgIGlmIChtZXRob2QuYWNjZXNzKCkgIT0gUU1ldGFNZXRob2Q6OlBy
aXZhdGUpIHsKICAgICAgICAgY29uc3QgY2hhciogbWV0aG9kVHlwZU5hbWUgPSAhIXN0cmxlbiht
ZXRob2QudHlwZU5hbWUoKSkgPyBtZXRob2QudHlwZU5hbWUoKSA6ICJ2b2lkIjsKLSNpZiBRVF9W
RVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICAgICAg
ICAgKm91dHB1dCA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIlMSUyIC0tPiAlMyIpLmFyZyhwcmVm
aXgpLmFyZyhRU3RyaW5nOjpmcm9tTGF0aW4xKG1ldGhvZC5tZXRob2RTaWduYXR1cmUoKSkpLmFy
ZyhRU3RyaW5nOjpmcm9tTGF0aW4xKG1ldGhvZFR5cGVOYW1lKSk7CiAjZWxzZQogICAgICAgICAq
b3V0cHV0IDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIiUxJTIgLS0+ICUzIikuYXJnKHByZWZpeCku
YXJnKG1ldGhvZC5zaWduYXR1cmUoKSkuYXJnKG1ldGhvZFR5cGVOYW1lKTsKZGlmZiAtLWdpdCBj
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvdGVzdHMucHJpIHcvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy90ZXN0cy5wcmkKaW5kZXggMzU4YTIzMjhj
Yjk5M2JjYWFkZGM5ODM0OGE3MzVjOTkxOWY0YTExOS4uMjcwNGVmZTRhYzIyZGM1ODVhMmZlOGE4
N2ZjOGQzODVkYThiMmI5ZiAxMDA2NDQKLS0tIGMvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy90ZXN0cy5wcmkKKysrIHcvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy90ZXN0cy5wcmkKQEAgLTExLDYgKzExLDcgQEAgU09VUkNFUyArPSAuLi91dGlsLmNw
cCBcCiBJTkNMVURFUEFUSCArPSAkJFBXRAogCiBRVCArPSB0ZXN0bGliIHFtbCBxdWljayBxdWlj
ay1wcml2YXRlIHdlYmtpdAorV0VCS0lUICs9IHd0ZiAjIEZvciBwbGF0Zm9ybSBtYWNyb3MKIAog
REVGSU5FUyArPSBURVNUU19TT1VSQ0VfRElSPVxcXCIkJFBXRFxcXCIgXAogICAgICAgICAgICBR
V1BfUEFUSD1cXFwiJCR7Uk9PVF9CVUlMRF9ESVJ9L2JpblxcXCIKZGlmZiAtLWdpdCBjL1Rvb2xz
L0NoYW5nZUxvZyB3L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NDllMTc1MjU4OGVjNmUwMjA5NjQ0
YTFhNGI3NDhjMTM4MzBhZmJkLi4wMjUyZWVjZGM1OTQ2MTZmZGYyZDdlNzA0YTY3ODljZGZlMzZk
MTgzIDEwMDY0NAotLS0gYy9Ub29scy9DaGFuZ2VMb2cKKysrIHcvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTItMDUtMzEgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52
ZXN0Ym9Abm9raWEuY29tPgorCisgICAgICAgIFtRdF0gU2ltcGxpZnkgUVRfVkVSU0lPTl9DSEVD
S1MgZm9yIFF0NSBieSBpbnRyb2R1Y2luZyBIQVZFKFFUNSkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNw
cDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9RdEluaXRpYWxpemVUZXN0Rm9udHMuY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwOgorICAgICAgICAqIFF0VGVz
dEJyb3dzZXIvY29va2llamFyLmNwcDoKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL2xhdW5jaGVy
d2luZG93LmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAqIHFtYWtlL21rc3BlY3MvZmVh
dHVyZXMvZGVmYXVsdF9wb3N0LnByZjoKKwogMjAxMi0wNS0zMCAgTWlraGFpbCBQb3pkbnlha292
ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtEUlRdIEVG
TCdzIERSVCBuZWVkcyAicG9zdFByb2dyZXNzRmluaXNoZWROb3RpZmljYXRpb24iIG1lc3NhZ2UK
ZGlmZiAtLWdpdCBjL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
IHcvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggYTlm
MjdiZjNiZTk0ZTU1NjM1NWQzZGE0YTE4ODZmMGVmZDA3YTZkOC4uZGY3MGUwOGE2MmQzNjhkNTQ2
ZWRkNzQ5ZTU0MjNiMmE0MTBjZWNlOSAxMDA2NDQKLS0tIGMvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIHcvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5jcHAKQEAgLTYyMCw5ICs2MjAsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVl
OjpvcGVuKGNvbnN0IFFVcmwmIHVybCkKICAgICBtX3BhZ2UtPmV2ZW50KCZldik7CiAKICAgICBR
V2ViU2V0dGluZ3M6OmNsZWFyTWVtb3J5Q2FjaGVzKCk7Ci0jaWYgIShRVF9WRVJTSU9OIDw9IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNiwgMikpCiAgICAgUUZvbnREYXRhYmFzZTo6cmVtb3ZlQWxsQXBw
bGljYXRpb25Gb250cygpOwotI2VuZGlmCiAgICAgV2ViS2l0Ojppbml0aWFsaXplVGVzdEZvbnRz
KCk7CiAKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcEZyYW1lTG9hZGVyKHVybC50
b1N0cmluZygpLmNvbnRhaW5zKCJsb2FkaW5nLyIpKTsKZGlmZiAtLWdpdCBjL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwIHcvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RXZlbnRTZW5kZXJRdC5jcHAKaW5kZXggNGEzYjI0NWFiZWE2NTMxODJkZTZiYzk0YWNhZDA0MTY3
ZWZjMThmMC4uYzA1MDZlZmUyZGUzMWFkMGVkZjljMmRjODkwYjY0NmZhNjg2NmRlYiAxMDA2NDQK
LS0tIGMvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHAKKysrIHcvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHAKQEAgLTUxMSw3ICs1MTEsNyBA
QCB2b2lkIEV2ZW50U2VuZGVyOjpjYW5jZWxUb3VjaFBvaW50KGludCBpbmRleCkKIAogdm9pZCBF
dmVudFNlbmRlcjo6c2VuZFRvdWNoRXZlbnQoUUV2ZW50OjpUeXBlIHR5cGUpCiB7Ci0jaWYgUVRf
VkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAg
c3RhdGljIFFUb3VjaERldmljZSogZGV2aWNlID0gMDsKICAgICBpZiAoIWRldmljZSkgewogICAg
ICAgICBkZXZpY2UgPSBuZXcgUVRvdWNoRGV2aWNlOwpkaWZmIC0tZ2l0IGMvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvUXRJbml0aWFsaXplVGVzdEZvbnRzLmNwcCB3L1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L1F0SW5pdGlhbGl6ZVRlc3RGb250cy5jcHAKaW5kZXggY2E2YjY2YzQ5NjY1YzExMTI5
ZWNjOGIxNGFhNTg0ZjBjZDJlNDgwNi4uN2FlNWUyMmEzN2FmMjBkZjE2MWRiYTJkMzZmYjRkOTBk
ZTdhOTgyYSAxMDA2NDQKLS0tIGMvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvUXRJbml0aWFsaXpl
VGVzdEZvbnRzLmNwcAorKysgdy9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9RdEluaXRpYWxpemVU
ZXN0Rm9udHMuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgaW5pdGlhbGl6ZVRlc3RGb250cygp
CiAgICAgLy8gVGhlIHJlc29sdmluZyBvZiBkZWZhdWx0IGZvbnQgZmFtaWxpZXMgd2FzIGFsdGVy
ZWQgaW4gUXQ1IHdpdGggMmNjNTQ0MiAocXRiYXNlKSwKICAgICAvLyB3ZSB1c2UgdGhpcyBoYWNr
IHRvIGtlZXAgcmVzb2x2aW5nIHRvIHRoZSBzYW1lIGZvbnQgUXQ0IGRpZCBmb3Igc2VyaWYgd2hp
bGUKICAgICAvLyBzdXBwb3J0aW5nIGJvdGggdmVyc2lvbnMuCi0jaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgY29uZmlnRmlsZSA9
IGZvbnREaXIgKyAiL2ZvbnRzLXF0NS13azEuY29uZiI7CiAgICAgaWYgKCFGY0NvbmZpZ1BhcnNl
QW5kTG9hZChjb25maWcsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgRmNDaGFyOCo+KGNvbmZpZ0Zp
bGUuY29uc3REYXRhKCkpLCBGY1RydWUpKQogICAgICAgICBxRmF0YWwoIkNvdWxkbid0IGxvYWQg
Zm9udCBjb25maWd1cmF0aW9uIGZpbGUiKTsKZGlmZiAtLWdpdCBjL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L21haW4uY3BwIHcvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHAKaW5kZXgg
MTc2MzM2NzcwNmYxYWIyN2U4YTE2M2NjNWU1NDVmZmI3YTg1ZjAwZS4uMzEyNWQ2MWJjM2Q3ZjY0
MmUyMWNlNWQxYzI3YjUxZTZlZTk4YWFkNiAxMDA2NDQKLS0tIGMvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvbWFpbi5jcHAKKysrIHcvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvbWFpbi5jcHAKQEAg
LTE1Miw3ICsxNTIsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIFFB
cHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7CiAgICAgYXBwLnNldFF1aXRPbkxhc3RXaW5kb3dD
bG9zZWQoZmFsc2UpOwogCi0jaWYgUVRfVkVSU0lPTiA8PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAs
IDApCisjaWYgSEFWRShRVDUpCisgICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0QXR0cmlidXRlKFF0
OjpBQV9Vc2U5NkRwaSwgdHJ1ZSk7CisjZWxzZQogI2lmZGVmIFFfV1NfWDExCiAgICAgUVgxMUlu
Zm86OnNldEFwcERwaVkoMCwgOTYpOwogICAgIFFYMTFJbmZvOjpzZXRBcHBEcGlYKDAsIDk2KTsK
QEAgLTE3MCw4ICsxNzIsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAg
ICogZGVmYXVsdCBmb250LCBidXQgd2l0aCB0aGUgY29ycmVjdCBwYWludC1kZXZpY2UgRFBJLgog
ICAgKi8KICAgICBRQXBwbGljYXRpb246OnNldEZvbnQoUVdpZGdldCgpLmZvbnQoKSk7Ci0jZWxz
ZQotICAgIFFDb3JlQXBwbGljYXRpb246OnNldEF0dHJpYnV0ZShRdDo6QUFfVXNlOTZEcGksIHRy
dWUpOwogI2VuZGlmCiAKICNpZiBIQVZFKFNJR05BTF9IKQpkaWZmIC0tZ2l0IGMvVG9vbHMvUXRU
ZXN0QnJvd3Nlci9jb29raWVqYXIuY3BwIHcvVG9vbHMvUXRUZXN0QnJvd3Nlci9jb29raWVqYXIu
Y3BwCmluZGV4IDIyYThkMTdhMmQ2MDhlZDk0NThiYzJjOGMxNzEzNTBlMWQxNzIxN2UuLmI4ZWQ3
ZDAwMzlkYTE0YzE4YzMxMDk2YjE5NTc1NTUzM2MwMjBhZTQgMTAwNjQ0Ci0tLSBjL1Rvb2xzL1F0
VGVzdEJyb3dzZXIvY29va2llamFyLmNwcAorKysgdy9Ub29scy9RdFRlc3RCcm93c2VyL2Nvb2tp
ZWphci5jcHAKQEAgLTI1LDkgKzI1LDExIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNs
dWRlICJjb25maWcuaCIKKwogI2luY2x1ZGUgImNvb2tpZWphci5oIgogCi0jaWYgUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8
UVN0YW5kYXJkUGF0aHM+CiAjZWxzZQogI2luY2x1ZGUgPFFEZXNrdG9wU2VydmljZXM+CkBAIC00
Niw3ICs0OCw3IEBAIFRlc3RCcm93c2VyQ29va2llSmFyOjpUZXN0QnJvd3NlckNvb2tpZUphcihR
T2JqZWN0KiBwYXJlbnQpCiAgICAgY29ubmVjdCgmbV90aW1lciwgU0lHTkFMKHRpbWVvdXQoKSks
IHRoaXMsIFNMT1Qoc2F2ZVRvRGlzaygpKSk7CiAKICNpZm5kZWYgUVRfTk9fREVTS1RPUFNFUlZJ
Q0VTCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCisjaWYgSEFW
RShRVDUpCiAgICAgUVN0cmluZyBwYXRoID0gUVN0YW5kYXJkUGF0aHM6OndyaXRhYmxlTG9jYXRp
b24oUVN0YW5kYXJkUGF0aHM6OkNhY2hlTG9jYXRpb24pOwogI2Vsc2UKICAgICBRU3RyaW5nIHBh
dGggPSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNlczo6
Q2FjaGVMb2NhdGlvbik7CmRpZmYgLS1naXQgYy9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVy
d2luZG93LmNwcCB3L1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCmluZGV4
IDYyM2E3ZWZhMTc0MjE0YTVhYTMwZWFjNTkzOTlhMWI3YzkyNTBhNzguLmU0YWU0NTZkYmMwNDhl
NzAwM2Y5N2I4MDJmYWYyZWE4OGJkNDhiMDAgMTAwNjQ0Ci0tLSBjL1Rvb2xzL1F0VGVzdEJyb3dz
ZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCisrKyB3L1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3
aW5kb3cuY3BwCkBAIC0zMiw2ICszMiw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNs
dWRlICJjb25maWcuaCIKKwogI2luY2x1ZGUgImxhdW5jaGVyd2luZG93LmgiCiAjaW5jbHVkZSAi
Y29va2llamFyLmgiCiAjaW5jbHVkZSAidXJsbG9hZGVyLmgiCkBAIC02NCw3ICs2Niw3IEBACiAj
ZW5kaWYKIAogI2lmICFkZWZpbmVkKFFUX05PX05FVFdPUktESVNLQ0FDSEUpICYmICFkZWZpbmVk
KFFUX05PX0RFU0tUT1BTRVJWSUNFUykKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hF
Q0soNSwgMCwgMCkKKyNpZiBIQVZFKFFUNSkKICNpbmNsdWRlIDxRU3RhbmRhcmRQYXRocz4KICNl
bHNlCiAjaW5jbHVkZSA8UURlc2t0b3BTZXJ2aWNlcz4KQEAgLTgwNiw3ICs4MDgsNyBAQCB2b2lk
IExhdW5jaGVyV2luZG93OjpzZXREaXNrQ2FjaGUoYm9vbCBlbmFibGUpCiAgICAgUU5ldHdvcmtE
aXNrQ2FjaGUqIGNhY2hlID0gMDsKICAgICBpZiAoZW5hYmxlKSB7CiAgICAgICAgIGNhY2hlID0g
bmV3IFFOZXR3b3JrRGlza0NhY2hlKCk7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NI
RUNLKDUsIDAsIDApCisjaWYgSEFWRShRVDUpCiAgICAgICAgIFFTdHJpbmcgY2FjaGVMb2NhdGlv
biA9IFFTdGFuZGFyZFBhdGhzOjp3cml0YWJsZUxvY2F0aW9uKFFTdGFuZGFyZFBhdGhzOjpDYWNo
ZUxvY2F0aW9uKTsKICNlbHNlCiAgICAgICAgIFFTdHJpbmcgY2FjaGVMb2NhdGlvbiA9IFFEZXNr
dG9wU2VydmljZXM6OnN0b3JhZ2VMb2NhdGlvbihRRGVza3RvcFNlcnZpY2VzOjpDYWNoZUxvY2F0
aW9uKTsKZGlmZiAtLWdpdCBjL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgdy9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDcyZDA0ODc4
YTlhODdiNWNiYzAwODE5NmE5MzE5OWJlMjVkZGE1M2YuLjVkZThhZTcxYTU5ZmIyMDRiMjZkMWIw
M2Y2N2Q5YzMzNGFjMTkyZjUgMTAwNjQ0Ci0tLSBjL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIHcvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cApAQCAtNjQsOSArNjQsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUlu
aXRpYWxpemUoKQogICAgIC8vIHdoaWNoIG1ha2VzIHRoZSB1c2Ugb2YgUUZvbnREYXRhYmFzZSB1
bm5lY2Vzc2FyeS4KICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUzNDI3CiAgICAgUVdlYlNldHRpbmdzOjpjbGVhck1lbW9yeUNhY2hlcygpOwotI2lm
ICEoUVRfVkVSU0lPTiA8PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDIpKQogICAgIFFGb250RGF0
YWJhc2U6OnJlbW92ZUFsbEFwcGxpY2F0aW9uRm9udHMoKTsKLSNlbmRpZgogICAgIGFjdGl2YXRl
Rm9udHMoKTsKICAgICBRT2JqZWN0Ojpjb25uZWN0KCZtX3dhaXRUb0R1bXBXYXRjaGRvZ1RpbWVy
LCBTSUdOQUwodGltZW91dCgpKSwgV2F0Y2hkb2dUaW1lckhlbHBlcjo6aW5zdGFuY2UoKSwgU0xP
VCh0aW1lckZpcmVkKCkpKTsKIH0KZGlmZiAtLWdpdCBjL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVh
dHVyZXMvZGVmYXVsdF9wb3N0LnByZiB3L1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZGVm
YXVsdF9wb3N0LnByZgppbmRleCBjMzdkNzFiNjJkOTUxMzUzZTZlM2VhNTI1MzA4YjBmMTc1NTMw
OGFjLi43OGM5M2Q3YzA2NzhmOTI4NGNhZDlhODhhMjk1NDc0NTg3NjU3YzAwIDEwMDY0NAotLS0g
Yy9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2RlZmF1bHRfcG9zdC5wcmYKKysrIHcvVG9v
bHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9kZWZhdWx0X3Bvc3QucHJmCkBAIC0yMSw2ICsyMSw4
IEBAIGlzRW1wdHkoT0JKRUNUU19ESVIpOiBPQkpFQ1RTX0RJUiA9IG9iai8kJGFjdGl2ZUJ1aWxk
Q29uZmlnKCkKIERFRklORVMgKz0gXAogICAgIEJVSUxESU5HX1FUX189MQogCitoYXZlUXQoNSk6
IERFRklORVMgKz0gSEFWRV9RVDU9MQorCiBDT05GSUcocmVsZWFzZSwgZGVidWd8cmVsZWFzZSk6
IERFRklORVMgKj0gTkRFQlVHCiAKIENPTkZJRyArPSBkZXBlbmRfaW5jbHVkZXBhdGgK
</data>
<flag name="review"
          id="152111"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>