<?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>185861</bug_id>
          
          <creation_ts>2018-05-22 04:05:59 -0700</creation_ts>
          <short_desc>Use C++17 message-less static_assert</short_desc>
          <delta_ts>2018-05-22 07:05:58 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1426094</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-22 04:05:59 -0700</bug_when>
    <thetext>Use C++17 message-less static_assert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426095</commentid>
    <comment_count>1</comment_count>
      <attachid>340969</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-22 04:06:31 -0700</bug_when>
    <thetext>Created attachment 340969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426096</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-05-22 04:09:02 -0700</bug_when>
    <thetext>Attachment 340969 did not pass style-queue:


ERROR: 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]
ERROR: Source/JavaScriptCore/bytecode/ParseHash.cpp:45:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/bytecode/CodeBlockHash.cpp:51:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 3 in 33 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340969</attachid>
            <date>2018-05-22 04:06:31 -0700</date>
            <delta_ts>2018-05-22 07:05:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185861-20180522200630.patch</filename>
            <type>text/plain</type>
            <size>37506</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YThlNzZmODFmYjkzZDlhODE1ODU5ODVlYjRiZDliNTkyYzBhN2VmLi5jMmZiOGVkODA4MzM1YjA1
YmY3Yjk0MTRiZDk1NzNhMWU3ZGE5NzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxOC0wNS0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBVc2UgQysrMTcgbWVzc2FnZS1sZXNzIHN0YXRpY19hc3NlcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTg2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBgc3RhdGlj
X2Fzc2VydChjb25kKWAgaW5zdGVhZCBvZiBgc3RhdGljX2Fzc2VydChjb25kLCAiIilgLgorCisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQ29kZVJlZi5oOgorICAgICAgICAqIGJ5
dGVjb2RlL0NvZGVCbG9ja0hhc2guY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2tIYXNoOjpD
b2RlQmxvY2tIYXNoKToKKyAgICAgICAgKiBieXRlY29kZS9JbnN0cnVjdGlvbi5oOgorICAgICAg
ICAqIGJ5dGVjb2RlL1BhcnNlSGFzaC5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlSGFzaDo6UGFy
c2VIYXNoKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVOZXdBcnJheUJ1ZmZlcik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVXZWFrTWFwR2V0KToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUFycmF5UHVzaCk6Cisg
ICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVXZWFrTWFwR2V0KToK
KyAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX2plcV9udWxsKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2puZXFfbnVsbCk6
CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkRh
dGE6OnBlcmZvcm1Bc3NlcnRpb25zKToKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50LmNwcDoK
KyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmlucGxhY2VNdWx0aXBseUFkZCk6CisgICAgICAgIChK
U0M6OkpTQmlnSW50OjpkaWdpdERpdik6CisgICAgICAgICogcnVudGltZS9OYXRpdmVGdW5jdGlv
bi5oOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZWRBcnJheVR5cGUuaDoKKyAgICAgICAgKiBydW50
aW1lL1dlYWtNYXBJbXBsLmg6CisKIDIwMTgtMDUtMjEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5l
LnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVXNlIG1vcmUgQysrMTcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNDRkMzlmMDA1
NDQwNGMyZTEwNGI5YTFjNWZkNGUzNzE2ZWNkZDZhZS4uMjQxMjAxNjkzMTE1MTI2OGY5NmYyMTMw
ZWU2YjRhMzkxMzI4NzdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOC0wNS0yMiAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBVc2UgQysrMTcgbWVz
c2FnZS1sZXNzIHN0YXRpY19hc3NlcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4NTg2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL0Zhc3RNYWxsb2MuaDoKKyAgICAgICAgKiB3dGYvTWFsbG9j
UHRyLmg6CisgICAgICAgICogd3RmL1B0clRhZy5oOgorICAgICAgICAqIHd0Zi9TZWNvbmRzLmg6
CisgICAgICAgIChXVEY6OlNlY29uZHM6Om1pbnV0ZXNBcyBjb25zdCk6CisgICAgICAgIChXVEY6
OlNlY29uZHM6OnNlY29uZHNBcyBjb25zdCk6CisgICAgICAgIChXVEY6OlNlY29uZHM6Om1pbGxp
c2Vjb25kc0FzIGNvbnN0KToKKyAgICAgICAgKFdURjo6U2Vjb25kczo6bWljcm9zZWNvbmRzQXMg
Y29uc3QpOgorICAgICAgICAoV1RGOjpTZWNvbmRzOjpuYW5vc2Vjb25kc0FzIGNvbnN0KToKKyAg
ICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisgICAgICAgIChXVEY6OnJvdW5kVXBUb011bHRp
cGxlT2YpOgorICAgICAgICAqIHd0Zi9TeXN0ZW1GcmVlLmg6CisgICAgICAgICogd3RmL1VuaXF1
ZUFycmF5Lmg6CisgICAgICAgIChXVEY6Om1ha2VVbmlxdWVBcnJheSk6CisgICAgICAgICogd3Rm
L1dURkFzc2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9TeW1ib2xJbXBsLmg6CisKIDIwMTgtMDUtMjEgIFl1c3VrZSBTdXp1
a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVXNlIG1vcmUgQysrMTcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA1Y2I1ODUxMGFhOWZjNzU1ZTAyMDEyNTM5ZGJiZmU0YzQ5OWQyMmI4Li44MTQ5
MzViNTUyNzBhNmRjNzQxZjM5OWE0MDYxYTFmODU0MDRlNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTgtMDUtMjIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CisKKyAgICAgICAgVXNlIEMrKzE3IG1lc3NhZ2UtbGVzcyBzdGF0aWNfYXNzZXJ0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU4NjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL0tleWVkQ29kaW5nLmg6CisgICAgICAgIChX
ZWJDb3JlOjpLZXllZERlY29kZXI6OmRlY29kZUJ5dGVzKToKKwogMjAxOC0wNS0yMiAgWWFjaW5l
IEJhbmRvdSAgPHlhY2luZS5iYW5kb3VfZXh0QHNvZnRhdGhvbWUuY29tPgogCiAgICAgICAgIFtN
U0VdW0dTdHJlYW1lcl0gRml4IHRoZSBkZWFkbG9jayBjYXVzZWQgYnkgYnVnIDE4NTI0MiAocjIz
MTM1MSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMWVkM2U3NmRmZmFmOWExM2E5YWEyZDk5YzE1YmQyNzBlMzllZDll
Ny4uZGViYWVkNTc3MGEyMzYzYzUyZTY4MmRjZDVmM2U1NWFjYThmMzM5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxOC0wNS0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KKworICAgICAgICBVc2UgQysrMTcgbWVzc2FnZS1sZXNzIHN0YXRpY19hc3NlcnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTg2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FwdHVyZS9qc29uLmhwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL0xlZ2Fj
eVNlc3Npb25TdGF0ZUNvZGluZy5jcHA6CisgICAgICAgIChXZWJLaXQ6Okhpc3RvcnlFbnRyeURh
dGFFbmNvZGVyOjplbmNvZGVBcml0aG1ldGljVHlwZSk6CisgICAgICAgIChXZWJLaXQ6Okhpc3Rv
cnlFbnRyeURhdGFEZWNvZGVyOjpkZWNvZGVBcml0aG1ldGljVHlwZSk6CisKIDIwMTgtMDUtMjIg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIENy
YXNoIHdoZW4gbG9hZGluZyBhIFNWRyBpbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2Mv
Q2hhbmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDljZGIzNjU2MTYxZjE0
ZGRjZmJjYzFkOGVlNTMyZTdmMjAwNTRiY2UuLjhjODRkMjNhNTFhNmY5MzdiNjNjMjI0NjA3YzAw
NzhhMGU0NjM5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wNS0yMiAgWXVz
dWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBVc2UgQysrMTcg
bWVzc2FnZS1sZXNzIHN0YXRpY19hc3NlcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTg2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYm1hbGxvYy9BbGdvcml0aG0uaDoKKyAgICAgICAgKGJtYWxs
b2M6OmlzUG93ZXJPZlR3byk6CisgICAgICAgICogYm1hbGxvYy9HaWdhY2FnZS5oOgorCiAyMDE4
LTA1LTIyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAg
IERlZmluZSBHSUdBQ0FHRV9BTExPQ0FUSU9OX0NBTl9GQUlMIG9uIExpbnV4CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQ29kZVJlZi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYu
aAppbmRleCBmYWM4Yjg2YmMxYmM5MjY0NWViMDNlNzE4ODkwZTgxODBjYjExYzExLi40ODQzMzk1
NWE3Yjk4MmRmYzg0NzljZGM3NmUzZDg2ZjE2MjE3OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQ29kZVJlZi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKQEAgLTE2
MSw5ICsxNjEsOSBAQCBjbGFzcyBGdW5jdGlvblB0ciB7CiAgICAgdGVtcGxhdGU8UHRyVGFnPiBm
cmllbmQgY2xhc3MgRnVuY3Rpb25QdHI7CiB9OwogCi1zdGF0aWNfYXNzZXJ0KHNpemVvZihGdW5j
dGlvblB0cjxDRnVuY3Rpb25QdHJUYWc+KSA9PSBzaXplb2Yodm9pZCopLCAiIik7CitzdGF0aWNf
YXNzZXJ0KHNpemVvZihGdW5jdGlvblB0cjxDRnVuY3Rpb25QdHJUYWc+KSA9PSBzaXplb2Yodm9p
ZCopKTsKICNpZiBDT01QSUxFUl9TVVBQT1JUUyhCVUlMVElOX0lTX1RSSVZJQUxMWV9DT1BZQUJM
RSkKLXN0YXRpY19hc3NlcnQoX19pc190cml2aWFsbHlfY29weWFibGUoRnVuY3Rpb25QdHI8Q0Z1
bmN0aW9uUHRyVGFnPiksICIiKTsKK3N0YXRpY19hc3NlcnQoX19pc190cml2aWFsbHlfY29weWFi
bGUoRnVuY3Rpb25QdHI8Q0Z1bmN0aW9uUHRyVGFnPikpOwogI2VuZGlmCiAKIC8vIFJldHVybkFk
ZHJlc3NQdHI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrSGFzaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
SGFzaC5jcHAKaW5kZXggZWUxYjAzZDg2NTk3NzIzNjllODU1YTU2MTYyN2Q4YWU0YzE1Mjc1NS4u
OTZjM2RjNGM4YWIzMDEzNDg5NWQzNDMyMmE0YjlmNWFjNDdkZjhlMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0hhc2guY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tIYXNoLmNwcApAQCAtNDgsOCArNDgs
OCBAQCBDb2RlQmxvY2tIYXNoOjpDb2RlQmxvY2tIYXNoKGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZUNvZGUsIENvZGVTcGVjaWFsaXphdGlvbktpbgogCiAgICAgaWYgKG1faGFzaCA9PSAwIHx8IG1f
aGFzaCA9PSAxKQogICAgICAgICBtX2hhc2ggKz0gMHgyZDVhOTNkMDsgLy8gRW5zdXJlcyBhIG5v
bi16ZXJvIGhhc2gsIGFuZCBnZXRzIHVzICNBemVybzAgZm9yIENvZGVGb3JDYWxsIGFuZCAjQXpl
cm8xIGZvciBDb2RlRm9yQ29uc3RydWN0LgotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KENvZGVGb3JDYWxsKSA9PSAwLCAiIik7Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oQ29kZUZvckNvbnN0cnVjdCkgPT0gMSwgIiIpOworICAgIHN0YXRp
Y19hc3NlcnQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KENvZGVGb3JDYWxsKSA9PSAwKTsKKyAgICBz
dGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDb2RlRm9yQ29uc3RydWN0KSA9PSAx
KTsKICAgICBtX2hhc2ggXj0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGtpbmQpOwogICAgIEFTU0VS
VChtX2hhc2gpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rp
b24uaAppbmRleCBjMTMzNTc4YjMyNjNkMzAyOTg0NWU0ODM3OWEzNTk2MDcwNGE2ZWZkLi4zYTFi
MzM1NTkyZTA3ZWMzOWVlOTcxOTYxYjk2MzliYWZmNzA2MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0cnVj
dCBJbnN0cnVjdGlvbiB7CiAgICAgSW5zdHJ1Y3Rpb24oU3RydWN0dXJlQ2hhaW4qKTsKICAgICBJ
bnN0cnVjdGlvbihTdHJ1Y3R1cmUqKTsKIH07Ci1zdGF0aWNfYXNzZXJ0KHNpemVvZihJbnN0cnVj
dGlvbikgPT0gc2l6ZW9mKHZvaWQqKSwgIiIpOworc3RhdGljX2Fzc2VydChzaXplb2YoSW5zdHJ1
Y3Rpb24pID09IHNpemVvZih2b2lkKikpOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BhcnNlSGFzaC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUGFyc2VIYXNoLmNwcAppbmRleCBjZGUxYjA4NWNi
ODUzMjhlMjk0NTFjMmYzZTIzYjhlYmJhYTAzMjUyLi5hNDcwZTVmZDkyYzg2Nzc1ZDk0MTk0ZWJm
YTA1YmQ5MzRhM2Y4NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUGFyc2VIYXNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUGFy
c2VIYXNoLmNwcApAQCAtNDIsOCArNDIsOCBAQCBQYXJzZUhhc2g6OlBhcnNlSGFzaChjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2VDb2RlKQogCiAgICAgaWYgKGhhc2ggPT0gMCB8fCBoYXNoID09IDEp
CiAgICAgICAgIGhhc2ggKz0gMHgyZDVhOTNkMDsgLy8gRW5zdXJlcyBhIG5vbi16ZXJvIGhhc2gs
IGFuZCBnZXRzIHVzICNBemVybzAgZm9yIENvZGVGb3JDYWxsIGFuZCAjQXplcm8xIGZvciBDb2Rl
Rm9yQ29uc3RydWN0LgotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KENv
ZGVGb3JDYWxsKSA9PSAwLCAiIik7Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oQ29kZUZvckNvbnN0cnVjdCkgPT0gMSwgIiIpOworICAgIHN0YXRpY19hc3NlcnQoc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KENvZGVGb3JDYWxsKSA9PSAwKTsKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihDb2RlRm9yQ29uc3RydWN0KSA9PSAxKTsKICAgICB1bnNp
Z25lZCBoYXNoRm9yQ2FsbCA9IGhhc2ggXiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oQ29kZUZvckNh
bGwpOwogICAgIHVuc2lnbmVkIGhhc2hGb3JDb25zdHJ1Y3QgPSBoYXNoIF4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KENvZGVGb3JDb25zdHJ1Y3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCmluZGV4IDYyMzYzMDllNjJlZTVmZjUzODYwYjVkYWJiZmUyYjBiMTFkMGFmMDkuLjVkMzI2
MzJmNjA5OGQ5ZjBhNjYzZjc3MmViZTliNjEwMDMxYjdlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZS5oCkBAIC0xMTQsOCArMTE0LDggQEAgc3RydWN0IE5ld0FycmF5QnVmZmVyRGF0
YSB7CiAgICAgICAgIHVpbnQ2NF90IGFzUXVhZFdvcmQ7CiAgICAgfTsKIH07Ci1zdGF0aWNfYXNz
ZXJ0KHNpemVvZihJbmRleGluZ1R5cGUpIDw9IHNpemVvZih1bnNpZ25lZCksICIiKTsKLXN0YXRp
Y19hc3NlcnQoc2l6ZW9mKE5ld0FycmF5QnVmZmVyRGF0YSkgPT0gc2l6ZW9mKHVpbnQ2NF90KSwg
IiIpOworc3RhdGljX2Fzc2VydChzaXplb2YoSW5kZXhpbmdUeXBlKSA8PSBzaXplb2YodW5zaWdu
ZWQpKTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKE5ld0FycmF5QnVmZmVyRGF0YSkgPT0gc2l6ZW9m
KHVpbnQ2NF90KSk7CiAKIHN0cnVjdCBCcmFuY2hUYXJnZXQgewogICAgIEJyYW5jaFRhcmdldCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmlu
ZGV4IDFkNTZkNDY1N2E3ODNkZGVlYmM2MjE1OGZiMjk3ZWZhNDhmZjA4MTIuLmQwNzY1NDk3MGY5
YjU2ZDEyMTlkMjFkMWUwZWI4MThkYmZhYTA5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xMjA1Nyw3ICsxMjA1Nyw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdBcnJheUJ1ZmZlcihOb2RlKiBub2RlKQogICAg
ICAgICAgICAgICAgIHZhbHVlID0gYml0d2lzZV9jYXN0PGludDY0X3Q+KGFycmF5LT5nZXQoaW5k
ZXgpLmFzTnVtYmVyKCkpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHZhbHVl
ID0gSlNWYWx1ZTo6ZW5jb2RlKGFycmF5LT5nZXQoaW5kZXgpKTsKLSAgICAgICAgICAgIHN0YXRp
Y19hc3NlcnQoc2l6ZW9mKGRvdWJsZSkgPT0gc2l6ZW9mKEpTVmFsdWUpLCAiIik7CisgICAgICAg
ICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihkb3VibGUpID09IHNpemVvZihKU1ZhbHVlKSk7CiAg
ICAgICAgICAgICBtX2ppdC5zdG9yZTY0KEltbTY0KHZhbHVlKSwgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3Moc3RvcmFnZUdQUiwgc2l6ZW9mKEpTVmFsdWUpICogaW5kZXgpKTsKICNlbHNlCiAgICAg
ICAgICAgICB1bmlvbiB7CkBAIC0xMjA2OSw3ICsxMjA2OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVOZXdBcnJheUJ1ZmZlcihOb2RlKiBub2RlKQogICAgICAgICAgICAgICAgIHUu
ZG91YmxlVmFsdWUgPSBhcnJheS0+Z2V0KGluZGV4KS5hc051bWJlcigpOwogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIHUuZW5jb2RlZFZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGFy
cmF5LT5nZXQoaW5kZXgpKTsKLSAgICAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGRvdWJs
ZSkgPT0gc2l6ZW9mKEpTVmFsdWUpLCAiIik7CisgICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KHNp
emVvZihkb3VibGUpID09IHNpemVvZihKU1ZhbHVlKSk7CiAgICAgICAgICAgICBtX2ppdC5zdG9y
ZTMyKEltbTMyKHUuaGFsdmVzWzBdKSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZUdQ
Uiwgc2l6ZW9mKEpTVmFsdWUpICogaW5kZXgpKTsKICAgICAgICAgICAgIG1faml0LnN0b3JlMzIo
SW1tMzIodS5oYWx2ZXNbMV0pLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlR1BSLCBz
aXplb2YoSlNWYWx1ZSkgKiBpbmRleCArIHNpemVvZihpbnQzMl90KSkpOwogI2VuZGlmCkBAIC0x
MjQxNiwxMyArMTI0MTYsMTMgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVdlYWtNYXBH
ZXQoTm9kZSogbm9kZSkKICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCA9IG1faml0Lmxh
YmVsKCk7CiAgICAgbV9qaXQuYW5kMzIobWFza0dQUiwgaW5kZXhHUFIpOwogICAgIGlmIChub2Rl
LT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gV2Vha1NldE9iamVjdFVzZSkgewotICAgICAgICBzdGF0
aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5PikgPT0g
c2l6ZW9mKHZvaWQqKSwgIiIpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFw
QnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5PikgPT0gc2l6ZW9mKHZvaWQqKSk7CiAgICAgICAg
IG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGluZGV4R1BSLCBidWNrZXRHUFIpOwogICAgICAgICBt
X2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJsZXI6OkltbTMyKHNpemVvZih2b2lkKikgPT0gNCA/
IDIgOiAzKSwgYnVja2V0R1BSKTsKICAgICAgICAgbV9qaXQuYWRkUHRyKGJ1ZmZlckdQUiwgYnVj
a2V0R1BSKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQobm9kZS0+Y2hpbGQxKCkudXNl
S2luZCgpID09IFdlYWtNYXBPYmplY3RVc2UpOwotICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVv
ZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXREYXRhS2V5VmFsdWU+KSA9PSAxNiwgIiIpOwor
ICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtNYXBCdWNrZXRE
YXRhS2V5VmFsdWU+KSA9PSAxNik7CiAgICAgICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKGlu
ZGV4R1BSLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5sc2hpZnRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkltbTMyKDQpLCBidWNrZXRHUFIpOwogICAgICAgICBtX2ppdC5hZGRQdHIoYnVmZmVyR1BS
LCBidWNrZXRHUFIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCmluZGV4IDkxMWQ2MmFkNTQyN2FiMTVhM2ZjNWMzYTJkNzU0ZmJiOTg2MWExNDQuLjUy
NDE0ZjQ5ZjA2YTg3MTM3N2MxNDE3M2VlOGZkZTA3MDAwZjk4Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTQ1MjQsNyArNDUyNCw3IEBA
IGNsYXNzIExvd2VyREZHVG9CMyB7CiAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQ
YXRoLCBzZXR1cCk7CiAgICAgICAgICAgICBzaXplX3Qgc2NyYXRjaFNpemUgPSBzaXplb2YoRW5j
b2RlZEpTVmFsdWUpICogZWxlbWVudENvdW50OwotICAgICAgICAgICAgc3RhdGljX2Fzc2VydChz
aXplb2YoRW5jb2RlZEpTVmFsdWUpID09IHNpemVvZihkb3VibGUpLCAiIik7CisgICAgICAgICAg
ICBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgPT0gc2l6ZW9mKGRvdWJsZSkp
OwogICAgICAgICAgICAgQVNTRVJUKHNjcmF0Y2hTaXplKTsKICAgICAgICAgICAgIFNjcmF0Y2hC
dWZmZXIqIHNjcmF0Y2hCdWZmZXIgPSB2bSgpLnNjcmF0Y2hCdWZmZXJGb3JTaXplKHNjcmF0Y2hT
aXplKTsKICAgICAgICAgICAgIG1fb3V0LnN0b3JlUHRyKG1fb3V0LmNvbnN0SW50UHRyKHNjcmF0
Y2hTaXplKSwgbV9vdXQuYWJzb2x1dGUoc2NyYXRjaEJ1ZmZlci0+YWRkcmVzc09mQWN0aXZlTGVu
Z3RoKCkpKTsKQEAgLTk1MzAsMTAgKzk1MzAsMTAgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKIAog
ICAgICAgICBMVmFsdWUgYnVja2V0OwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VL
aW5kKCkgPT0gV2Vha01hcE9iamVjdFVzZSkgewotICAgICAgICAgICAgc3RhdGljX2Fzc2VydChz
aXplb2YoV2Vha01hcEJ1Y2tldDxXZWFrTWFwQnVja2V0RGF0YUtleVZhbHVlPikgPT0gMTYsICIi
KTsKKyAgICAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFdlYWtNYXBCdWNrZXQ8V2Vha01h
cEJ1Y2tldERhdGFLZXlWYWx1ZT4pID09IDE2KTsKICAgICAgICAgICAgIGJ1Y2tldCA9IG1fb3V0
LmFkZChidWZmZXIsIG1fb3V0LnNobChtX291dC56ZXJvRXh0KGluZGV4LCBJbnQ2NCksIG1fb3V0
LmNvbnN0SW50MzIoNCkpKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHN0YXRpY19h
c3NlcnQoc2l6ZW9mKFdlYWtNYXBCdWNrZXQ8V2Vha01hcEJ1Y2tldERhdGFLZXk+KSA9PSA4LCAi
Iik7CisgICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0PFdlYWtN
YXBCdWNrZXREYXRhS2V5PikgPT0gOCk7CiAgICAgICAgICAgICBidWNrZXQgPSBtX291dC5hZGQo
YnVmZmVyLCBtX291dC5zaGwobV9vdXQuemVyb0V4dChpbmRleCwgSW50NjQpLCBtX291dC5jb25z
dEludDMyKDMpKSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzMzJfNjQuY3BwCmluZGV4IDQ0OTU1ZTM1OWI3NDk5NzhlZGUxMmViOGU4MGY0OTAz
ZWFhOWQxMzMuLjg0ODQ2Y2I0NDYyZGU5MTYyZmE3NTA4NjNhZTA5N2M5ODIxNDU2YTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTM4Nyw3
ICszODcsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9qZXFfbnVsbChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogCiAgICAgLy8gTm93IGhhbmRsZSB0aGUgaW1tZWRpYXRlIGNhc2VzIC0g
dW5kZWZpbmVkICYgbnVsbAogICAgIGlzSW1tZWRpYXRlLmxpbmsodGhpcyk7Ci0gICAgc3RhdGlj
X2Fzc2VydCgoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnICsgMSA9PSBKU1ZhbHVlOjpOdWxsVGFnKSAm
JiAoSlNWYWx1ZTo6TnVsbFRhZyAmIDB4MSksICIiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KChKU1Zh
bHVlOjpVbmRlZmluZWRUYWcgKyAxID09IEpTVmFsdWU6Ok51bGxUYWcpICYmIChKU1ZhbHVlOjpO
dWxsVGFnICYgMHgxKSk7CiAgICAgb3IzMihUcnVzdGVkSW1tMzIoMSksIHJlZ1QxKTsKICAgICBh
ZGRKdW1wKGJyYW5jaElmTnVsbChyZWdUMSksIHRhcmdldCk7CiAKQEAgLTQxMyw3ICs0MTMsNyBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9qbmVxX251bGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICAvLyBOb3cgaGFuZGxlIHRoZSBpbW1lZGlhdGUgY2FzZXMgLSB1bmRlZmluZWQg
JiBudWxsCiAgICAgaXNJbW1lZGlhdGUubGluayh0aGlzKTsKIAotICAgIHN0YXRpY19hc3NlcnQo
KEpTVmFsdWU6OlVuZGVmaW5lZFRhZyArIDEgPT0gSlNWYWx1ZTo6TnVsbFRhZykgJiYgKEpTVmFs
dWU6Ok51bGxUYWcgJiAweDEpLCAiIik7CisgICAgc3RhdGljX2Fzc2VydCgoSlNWYWx1ZTo6VW5k
ZWZpbmVkVGFnICsgMSA9PSBKU1ZhbHVlOjpOdWxsVGFnKSAmJiAoSlNWYWx1ZTo6TnVsbFRhZyAm
IDB4MSkpOwogICAgIG9yMzIoVHJ1c3RlZEltbTMyKDEpLCByZWdUMSk7CiAgICAgYWRkSnVtcChi
cmFuY2hJZk5vdE51bGwocmVnVDEpLCB0YXJnZXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludERhdGEuY3BwCmluZGV4IGM5M2QxNWM3NGM1OGZmNWQ5NmFhMGFhZDk0MzQxM2Yw
ODVhM2Q5MmUuLmE3OTEwYjZiYjA3ZTI3Y2Y1MGUxNmE2MjBlODBmMGJlNGUzYmE1ZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCkBAIC0zOSw4ICszOSw2IEBA
CiAjaW5jbHVkZSAiU2hhZG93Q2hpY2tlbi5oIgogI2luY2x1ZGUgIldyaXRlQmFycmllci5oIgog
Ci0jZGVmaW5lIFNUQVRJQ19BU1NFUlQoY29uZCkgc3RhdGljX2Fzc2VydChjb25kLCAiTExJbnQg
YXNzdW1lcyAiICNjb25kKQotCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKIAog
SW5zdHJ1Y3Rpb24gRGF0YTo6c19leGNlcHRpb25JbnN0cnVjdGlvbnNbbWF4T3Bjb2RlTGVuZ3Ro
ICsgMV0gPSB7IH07CkBAIC04NywxOCArODUsMTggQEAgdm9pZCBEYXRhOjpwZXJmb3JtQXNzZXJ0
aW9ucyhWTSYgdm0pCiAjZW5kaWYKICAgICBjb25zdCBwdHJkaWZmX3QgU2xvdFNpemUgPSA4Owog
Ci0gICAgU1RBVElDX0FTU0VSVChzaXplb2Yodm9pZCopID09IFB0clNpemUpOwotICAgIFNUQVRJ
Q19BU1NFUlQoc2l6ZW9mKFJlZ2lzdGVyKSA9PSBTbG90U2l6ZSk7Ci0gICAgU1RBVElDX0FTU0VS
VChDYWxsRnJhbWU6OmhlYWRlclNpemVJblJlZ2lzdGVycyA9PSBDYWxsRnJhbWVIZWFkZXJTbG90
cyk7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2Yodm9pZCopID09IFB0clNpemUpOworICAgIHN0
YXRpY19hc3NlcnQoc2l6ZW9mKFJlZ2lzdGVyKSA9PSBTbG90U2l6ZSk7CisgICAgc3RhdGljX2Fz
c2VydChDYWxsRnJhbWU6OmhlYWRlclNpemVJblJlZ2lzdGVycyA9PSBDYWxsRnJhbWVIZWFkZXJT
bG90cyk7CiAKICAgICBBU1NFUlQoIUNhbGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSk7Ci0g
ICAgU1RBVElDX0FTU0VSVChDYWxsZXJGcmFtZUFuZFBDOjpzaXplSW5SZWdpc3RlcnMgPT0gKFB0
clNpemUgKiAyKSAvIFNsb3RTaXplKTsKKyAgICBzdGF0aWNfYXNzZXJ0KENhbGxlckZyYW1lQW5k
UEM6OnNpemVJblJlZ2lzdGVycyA9PSAoUHRyU2l6ZSAqIDIpIC8gU2xvdFNpemUpOwogICAgIEFT
U0VSVChDYWxsRnJhbWU6OnJldHVyblBDT2Zmc2V0KCkgPT0gQ2FsbEZyYW1lOjpjYWxsZXJGcmFt
ZU9mZnNldCgpICsgUHRyU2l6ZSk7CiAgICAgQVNTRVJUKENhbGxGcmFtZVNsb3Q6OmNvZGVCbG9j
ayAqIHNpemVvZihSZWdpc3RlcikgPT0gQ2FsbEZyYW1lOjpyZXR1cm5QQ09mZnNldCgpICsgUHRy
U2l6ZSk7Ci0gICAgU1RBVElDX0FTU0VSVChDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzaXplb2Yo
UmVnaXN0ZXIpID09IENhbGxGcmFtZVNsb3Q6OmNvZGVCbG9jayAqIHNpemVvZihSZWdpc3Rlcikg
KyBTbG90U2l6ZSk7Ci0gICAgU1RBVElDX0FTU0VSVChDYWxsRnJhbWVTbG90Ojphcmd1bWVudENv
dW50ICogc2l6ZW9mKFJlZ2lzdGVyKSA9PSBDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzaXplb2Yo
UmVnaXN0ZXIpICsgU2xvdFNpemUpOwotICAgIFNUQVRJQ19BU1NFUlQoQ2FsbEZyYW1lU2xvdDo6
dGhpc0FyZ3VtZW50ICogc2l6ZW9mKFJlZ2lzdGVyKSA9PSBDYWxsRnJhbWVTbG90Ojphcmd1bWVu
dENvdW50ICogc2l6ZW9mKFJlZ2lzdGVyKSArIFNsb3RTaXplKTsKLSAgICBTVEFUSUNfQVNTRVJU
KENhbGxGcmFtZTo6aGVhZGVyU2l6ZUluUmVnaXN0ZXJzID09IENhbGxGcmFtZVNsb3Q6OnRoaXNB
cmd1bWVudCk7CisgICAgc3RhdGljX2Fzc2VydChDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzaXpl
b2YoUmVnaXN0ZXIpID09IENhbGxGcmFtZVNsb3Q6OmNvZGVCbG9jayAqIHNpemVvZihSZWdpc3Rl
cikgKyBTbG90U2l6ZSk7CisgICAgc3RhdGljX2Fzc2VydChDYWxsRnJhbWVTbG90Ojphcmd1bWVu
dENvdW50ICogc2l6ZW9mKFJlZ2lzdGVyKSA9PSBDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzaXpl
b2YoUmVnaXN0ZXIpICsgU2xvdFNpemUpOworICAgIHN0YXRpY19hc3NlcnQoQ2FsbEZyYW1lU2xv
dDo6dGhpc0FyZ3VtZW50ICogc2l6ZW9mKFJlZ2lzdGVyKSA9PSBDYWxsRnJhbWVTbG90Ojphcmd1
bWVudENvdW50ICogc2l6ZW9mKFJlZ2lzdGVyKSArIFNsb3RTaXplKTsKKyAgICBzdGF0aWNfYXNz
ZXJ0KENhbGxGcmFtZTo6aGVhZGVyU2l6ZUluUmVnaXN0ZXJzID09IENhbGxGcmFtZVNsb3Q6OnRo
aXNBcmd1bWVudCk7CiAKICAgICBBU1NFUlQoQ2FsbEZyYW1lOjphcmd1bWVudE9mZnNldEluY2x1
ZGluZ1RoaXMoMCkgPT0gQ2FsbEZyYW1lU2xvdDo6dGhpc0FyZ3VtZW50KTsKIApAQCAtMTEwLDMy
ICsxMDgsMzIgQEAgdm9pZCBEYXRhOjpwZXJmb3JtQXNzZXJ0aW9ucyhWTSYgdm0pCiAgICAgQVNT
RVJUKE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9h
ZCkgPT0gMCk7CiAjZW5kaWYKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIFNUQVRJQ19BU1NF
UlQoSlNWYWx1ZTo6SW50MzJUYWcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC0xKSk7Ci0gICAg
U1RBVElDX0FTU0VSVChKU1ZhbHVlOjpCb29sZWFuVGFnID09IHN0YXRpY19jYXN0PHVuc2lnbmVk
PigtMikpOwotICAgIFNUQVRJQ19BU1NFUlQoSlNWYWx1ZTo6TnVsbFRhZyA9PSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oLTMpKTsKLSAgICBTVEFUSUNfQVNTRVJUKEpTVmFsdWU6OlVuZGVmaW5lZFRh
ZyA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oLTQpKTsKLSAgICBTVEFUSUNfQVNTRVJUKEpTVmFs
dWU6OkNlbGxUYWcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC01KSk7Ci0gICAgU1RBVElDX0FT
U0VSVChKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPigtNikp
OwotICAgIFNUQVRJQ19BU1NFUlQoSlNWYWx1ZTo6RGVsZXRlZFZhbHVlVGFnID09IHN0YXRpY19j
YXN0PHVuc2lnbmVkPigtNykpOwotICAgIFNUQVRJQ19BU1NFUlQoSlNWYWx1ZTo6TG93ZXN0VGFn
ID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPigtNykpOworICAgIHN0YXRpY19hc3NlcnQoSlNWYWx1
ZTo6SW50MzJUYWcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC0xKSk7CisgICAgc3RhdGljX2Fz
c2VydChKU1ZhbHVlOjpCb29sZWFuVGFnID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPigtMikpOwor
ICAgIHN0YXRpY19hc3NlcnQoSlNWYWx1ZTo6TnVsbFRhZyA9PSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oLTMpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KEpTVmFsdWU6OlVuZGVmaW5lZFRhZyA9PSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oLTQpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KEpTVmFsdWU6OkNlbGxU
YWcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KC01KSk7CisgICAgc3RhdGljX2Fzc2VydChKU1Zh
bHVlOjpFbXB0eVZhbHVlVGFnID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPigtNikpOworICAgIHN0
YXRpY19hc3NlcnQoSlNWYWx1ZTo6RGVsZXRlZFZhbHVlVGFnID09IHN0YXRpY19jYXN0PHVuc2ln
bmVkPigtNykpOworICAgIHN0YXRpY19hc3NlcnQoSlNWYWx1ZTo6TG93ZXN0VGFnID09IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPigtNykpOwogI2Vsc2UKLSAgICBTVEFUSUNfQVNTRVJUKFRhZ0JpdFR5
cGVPdGhlciA9PSAweDIpOwotICAgIFNUQVRJQ19BU1NFUlQoVGFnQml0Qm9vbCA9PSAweDQpOwot
ICAgIFNUQVRJQ19BU1NFUlQoVGFnQml0VW5kZWZpbmVkID09IDB4OCk7Ci0gICAgU1RBVElDX0FT
U0VSVChWYWx1ZUVtcHR5ID09IDB4MCk7Ci0gICAgU1RBVElDX0FTU0VSVChWYWx1ZUZhbHNlID09
IChUYWdCaXRUeXBlT3RoZXIgfCBUYWdCaXRCb29sKSk7Ci0gICAgU1RBVElDX0FTU0VSVChWYWx1
ZVRydWUgPT0gKFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdEJvb2wgfCAxKSk7Ci0gICAgU1RBVElD
X0FTU0VSVChWYWx1ZVVuZGVmaW5lZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZp
bmVkKSk7Ci0gICAgU1RBVElDX0FTU0VSVChWYWx1ZU51bGwgPT0gVGFnQml0VHlwZU90aGVyKTsK
KyAgICBzdGF0aWNfYXNzZXJ0KFRhZ0JpdFR5cGVPdGhlciA9PSAweDIpOworICAgIHN0YXRpY19h
c3NlcnQoVGFnQml0Qm9vbCA9PSAweDQpOworICAgIHN0YXRpY19hc3NlcnQoVGFnQml0VW5kZWZp
bmVkID09IDB4OCk7CisgICAgc3RhdGljX2Fzc2VydChWYWx1ZUVtcHR5ID09IDB4MCk7CisgICAg
c3RhdGljX2Fzc2VydChWYWx1ZUZhbHNlID09IChUYWdCaXRUeXBlT3RoZXIgfCBUYWdCaXRCb29s
KSk7CisgICAgc3RhdGljX2Fzc2VydChWYWx1ZVRydWUgPT0gKFRhZ0JpdFR5cGVPdGhlciB8IFRh
Z0JpdEJvb2wgfCAxKSk7CisgICAgc3RhdGljX2Fzc2VydChWYWx1ZVVuZGVmaW5lZCA9PSAoVGFn
Qml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkKSk7CisgICAgc3RhdGljX2Fzc2VydChWYWx1
ZU51bGwgPT0gVGFnQml0VHlwZU90aGVyKTsKICNlbmRpZgogI2lmIChDUFUoWDg2XzY0KSAmJiAh
T1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwgIUVOQUJMRShKSVQpCi0gICAgU1RBVElDX0FT
U0VSVCghbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpOworICAgIHN0YXRpY19hc3NlcnQo
IW1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKTsKICNlbGlmIENQVShBUk0pCi0gICAgU1RB
VElDX0FTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9PSAyNCk7CisgICAgc3Rh
dGljX2Fzc2VydChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9PSAyNCk7CiAjZWxpZiBD
UFUoWDg2KSB8fCBDUFUoTUlQUykKLSAgICBTVEFUSUNfQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsID09IDQwKTsKKyAgICBzdGF0aWNfYXNzZXJ0KG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsID09IDQwKTsKICNlbGlmIENQVShYODZfNjQpICYmIE9TKFdJTkRPV1MpCi0g
ICAgU1RBVElDX0FTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9PSA2NCk7Cisg
ICAgc3RhdGljX2Fzc2VydChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9PSA2NCk7CiAj
ZW5kaWYKIAogI2lmICFFTkFCTEUoSklUKSB8fCBVU0UoSlNWQUxVRTMyXzY0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCmluZGV4IDQ2MDc3NWQyNDhiOTk4YmMz
ZThiODI3YjhiMjI3NTdmZDlkMmRiYzguLjI0ZTAwNTJjMmRmNzg1NjJkYThiZTU4YjJmYTY1OTU2
ODczZjQ3NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmln
SW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAK
QEAgLTU0LDggKzU0LDYgQEAKICNpbmNsdWRlICJQYXJzZUludC5oIgogI2luY2x1ZGUgPGFsZ29y
aXRobT4KIAotI2RlZmluZSBTVEFUSUNfQVNTRVJUKGNvbmQpIHN0YXRpY19hc3NlcnQoY29uZCwg
IkpTQmlnSW50IGFzc3VtZXMgIiAjY29uZCkKLQogbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENs
YXNzSW5mbyBKU0JpZ0ludDo6c19pbmZvID0KQEAgLTI0NCw4ICsyNDIsOCBAQCBpbmxpbmUgYm9v
bCBKU0JpZ0ludDo6aXNaZXJvKCkKIC8vIE11bHRpcGxpZXMge3RoaXN9IHdpdGgge2ZhY3Rvcn0g
YW5kIGFkZHMge3N1bW1hbmR9IHRvIHRoZSByZXN1bHQuCiBpbmxpbmUgdm9pZCBKU0JpZ0ludDo6
aW5wbGFjZU11bHRpcGx5QWRkKHVpbnRwdHJfdCBmYWN0b3IsIHVpbnRwdHJfdCBzdW1tYW5kKQog
ewotICAgIFNUQVRJQ19BU1NFUlQoc2l6ZW9mKGZhY3RvcikgPT0gc2l6ZW9mKERpZ2l0KSk7Ci0g
ICAgU1RBVElDX0FTU0VSVChzaXplb2Yoc3VtbWFuZCkgPT0gc2l6ZW9mKERpZ2l0KSk7CisgICAg
c3RhdGljX2Fzc2VydChzaXplb2YoZmFjdG9yKSA9PSBzaXplb2YoRGlnaXQpKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KHNpemVvZihzdW1tYW5kKSA9PSBzaXplb2YoRGlnaXQpKTsKIAogICAgIGludGVy
bmFsTXVsdGlwbHlBZGQodGhpcywgZmFjdG9yLCBzdW1tYW5kLCBsZW5ndGgoKSwgdGhpcyk7CiB9
CkBAIC00NDcsNyArNDQ1LDcgQEAgaW5saW5lIEpTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGln
aXREaXYoRGlnaXQgaGlnaCwgRGlnaXQgbG93LCBEaWdpdCBkaXZpc29yLAogCiAgICAgLy8ge3N9
IGNhbiBiZSAwLiAibG93ID4+IGRpZ2l0Qml0cyA9PSBsb3ciIG9uIHg4Niwgc28gd2UgIiYiIGl0
IHdpdGgKICAgICAvLyB7c196ZXJvX21hc2t9IHdoaWNoIGlzIDAgaWYgcyA9PSAwIGFuZCBhbGwg
MS1iaXRzIG90aGVyd2lzZS4KLSAgICBTVEFUSUNfQVNTRVJUKHNpemVvZihpbnRwdHJfdCkgPT0g
c2l6ZW9mKERpZ2l0KSk7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2YoaW50cHRyX3QpID09IHNp
emVvZihEaWdpdCkpOwogICAgIERpZ2l0IHNaZXJvTWFzayA9IHN0YXRpY19jYXN0PERpZ2l0Pihz
dGF0aWNfY2FzdDxpbnRwdHJfdD4oLXMpID4+IChkaWdpdEJpdHMgLSAxKSk7CiAgICAgRGlnaXQg
dW4zMiA9IChoaWdoIDw8IHMpIHwgKChsb3cgPj4gKGRpZ2l0Qml0cyAtIHMpKSAmIHNaZXJvTWFz
ayk7CiAgICAgRGlnaXQgdW4xMCA9IGxvdyA8PCBzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUZ1bmN0aW9uLmgKaW5kZXggZDUxNDQ0M2Q2MTk1MDQ3YzJhMDEwYTAz
YzJhYmIzMjk2Y2JjYmZmMy4uZDc5ZDY2YzJiYjhjYzlhMmZkOTM5ZmUyNzM2NGM0N2Q4OTlmZWYz
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRnVuY3Rp
b24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVGdW5jdGlvbi5o
CkBAIC0xMDEsOCArMTAxLDggQEAgc3RydWN0IFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uSGFzaCB7CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVl
OwogfTsKIAotc3RhdGljX2Fzc2VydChzaXplb2YoTmF0aXZlRnVuY3Rpb24pID09IHNpemVvZih2
b2lkKiksICIiKTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uKSA9
PSBzaXplb2Yodm9pZCopLCAiIik7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihOYXRpdmVGdW5jdGlv
bikgPT0gc2l6ZW9mKHZvaWQqKSk7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihUYWdnZWROYXRpdmVG
dW5jdGlvbikgPT0gc2l6ZW9mKHZvaWQqKSk7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuaAppbmRleCA1MjMw
ZDc1OWY2NDFlMGFkYTY4YzFiNDkzY2U4ZDdjOTY5NTU4ZTc2Li44ZGQ4Njk3NzFiYmM1OGEyMTEx
MmVjMDE3ZDMzYWUwYzA5NWMwNTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlZEFycmF5VHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVkQXJyYXlUeXBlLmgKQEAgLTU1LDExICs1NSwxMSBAQCBlbnVtIFR5cGVkQXJyYXlU
eXBlIHsKIH07CiAKICNkZWZpbmUgQVNTRVJUX1RZUEVEX0FSUkFZX1RZUEUobmFtZSkgXAotICAg
IHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFR5cGUgIyMgbmFtZSkgPT0gKHN0
YXRpY19jYXN0PHVpbnQzMl90PihuYW1lICMjIEFycmF5VHlwZSkgLSBGaXJzdFR5cGVkQXJyYXlU
eXBlICsgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFR5cGVJbnQ4KSksICIiKTsKKyAgICBzdGF0aWNf
YXNzZXJ0KHN0YXRpY19jYXN0PHVpbnQzMl90PihUeXBlICMjIG5hbWUpID09IChzdGF0aWNfY2Fz
dDx1aW50MzJfdD4obmFtZSAjIyBBcnJheVR5cGUpIC0gRmlyc3RUeXBlZEFycmF5VHlwZSArIHN0
YXRpY19jYXN0PHVpbnQzMl90PihUeXBlSW50OCkpKTsKICAgICBGT1JfRUFDSF9UWVBFRF9BUlJB
WV9UWVBFX0VYQ0xVRElOR19EQVRBX1ZJRVcoQVNTRVJUX1RZUEVEX0FSUkFZX1RZUEUpCiAjdW5k
ZWYgQVNTRVJUX1RZUEVEX0FSUkFZX1RZUEUKIAotc3RhdGljX2Fzc2VydChUeXBlRGF0YVZpZXcg
PT0gKERhdGFWaWV3VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyBUeXBlSW50OCksICIiKTsK
K3N0YXRpY19hc3NlcnQoVHlwZURhdGFWaWV3ID09IChEYXRhVmlld1R5cGUgLSBGaXJzdFR5cGVk
QXJyYXlUeXBlICsgVHlwZUludDgpKTsKIAogaW5saW5lIHVuc2lnbmVkIHRvSW5kZXgoVHlwZWRB
cnJheVR5cGUgdHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtNYXBJbXBsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFw
SW1wbC5oCmluZGV4IDFiZjYzNTBiMDhjZGQxMDZjN2E4YjZhZWUxOTY1OGU1M2U4Nzk2NjMuLmI4
N2IwMWQ1YjBjNzliOGM4NzljMzViOWM5YzJlZmFiZWQ2MjZiYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBJbXBsLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcEltcGwuaApAQCAtMzgsNyArMzgsNyBAQCBzdHJ1Y3Qg
V2Vha01hcEJ1Y2tldERhdGFLZXkgewogICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGVUeXBlIFR5
cGUgPSBIYXNoVGFibGVUeXBlOjpLZXk7CiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBrZXk7
CiB9Owotc3RhdGljX2Fzc2VydChzaXplb2YoV2Vha01hcEJ1Y2tldERhdGFLZXkpID09IHNpemVv
Zih2b2lkKiksICIiKTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFdlYWtNYXBCdWNrZXREYXRhS2V5
KSA9PSBzaXplb2Yodm9pZCopKTsKIAogc3RydWN0IFdlYWtNYXBCdWNrZXREYXRhS2V5VmFsdWUg
ewogICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGVUeXBlIFR5cGUgPSBIYXNoVGFibGVUeXBlOjpL
ZXlWYWx1ZTsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RydWN0IFdlYWtNYXBCdWNrZXREYXRhS2V5VmFs
dWUgewogI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IHZhbHVlOwogfTsKLXN0YXRp
Y19hc3NlcnQoc2l6ZW9mKFdlYWtNYXBCdWNrZXREYXRhS2V5VmFsdWUpID09IDE2LCAiIik7Citz
dGF0aWNfYXNzZXJ0KHNpemVvZihXZWFrTWFwQnVja2V0RGF0YUtleVZhbHVlKSA9PSAxNik7CiAK
IEFMV0FZU19JTkxJTkUgdWludDMyX3QganNXZWFrTWFwSGFzaChKU09iamVjdCoga2V5KQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5oIGIvU291cmNlL1dURi93dGYv
RmFzdE1hbGxvYy5oCmluZGV4IDQxZWY2OWZmNzliNTVhNmVlODZhYjNjMWZlZjEyMGUxNmI3ZTYz
OWQuLjc4OGRkYjcyZjAxOGQ0YWYyYzUzZmUxM2NiZGY4YmEzNmU5NThiZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFs
bG9jLmgKQEAgLTIwNSw3ICsyMDUsNyBAQCBzdHJ1Y3QgRmFzdE1hbGxvYyB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CiBzdHJ1Y3QgRmFzdEZyZWUgewotICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPFQ+Ojp2YWx1ZSwgIiIpOworICAgIHN0YXRpY19hc3Nl
cnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPFQ+Ojp2YWx1ZSk7CiAKICAgICB2b2lk
IG9wZXJhdG9yKCkoVCogcG9pbnRlcikgY29uc3QKICAgICB7CkBAIC0yMTUsNyArMjE1LDcgQEAg
c3RydWN0IEZhc3RGcmVlIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHN0cnVjdCBGYXN0RnJl
ZTxUW10+IHsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJs
ZTxUPjo6dmFsdWUsICIiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rl
c3RydWN0aWJsZTxUPjo6dmFsdWUpOwogCiAgICAgdm9pZCBvcGVyYXRvcigpKFQqIHBvaW50ZXIp
IGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFsbG9jUHRyLmggYi9T
b3VyY2UvV1RGL3d0Zi9NYWxsb2NQdHIuaAppbmRleCA2NmYxMGFhOWJkNWJiYTA5YWM1NjExMzZh
ZDM1YmY1ZTg0ZTQ4ZmNhLi4zNzYyOTJhZjQ2MzE4ZjVjNDNjNzBmMzU4OTIwNGY5ZWU3ZDhlM2Yz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYWxsb2NQdHIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9NYWxsb2NQdHIuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIE1hbGxvYyA9IEZhc3RNYWxsb2M+IGNsYXNzIE1hbGxvY1B0ciB7CiAgICAgVCog
bV9wdHI7CiB9OwogCi1zdGF0aWNfYXNzZXJ0KHNpemVvZihNYWxsb2NQdHI8aW50PikgPT0gc2l6
ZW9mKGludCopLCAiIik7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihNYWxsb2NQdHI8aW50PikgPT0g
c2l6ZW9mKGludCopKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVT4gTWFsbG9jUHRyPFU+IGFkb3B0
TWFsbG9jUHRyKFUqIHB0cikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1B0clRhZy5o
IGIvU291cmNlL1dURi93dGYvUHRyVGFnLmgKaW5kZXggMzNlNzIwMmQ2NjVkOTNmY2I1MGQ2ZDA3
Y2JlODY3OTYxNGRlOTgxNi4uMGM2ODM5ZTcyOWI4MzAxMjFhOTZlNDFiMzU4MTcxZTVjZmIyNjdk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUHRyVGFnLmgKKysrIGIvU291cmNlL1dURi93
dGYvUHRyVGFnLmgKQEAgLTYxLDEwICs2MSwxMCBAQCBjb25zdGV4cHIgdWludHB0cl90IG1ha2VQ
dHJUYWdIYXNoKGNvbnN0IGNoYXIgKCZzdHIpW05dKQogCiAjZGVmaW5lIFdURl9ERUNMQVJFX1BU
UlRBRyh0YWcpIFwKICAgICBjb25zdGV4cHIgUHRyVGFnIHRhZyA9IHN0YXRpY19jYXN0PFB0clRh
Zz4oV1RGX1BUUlRBR19IQVNIKCN0YWcpKTsgXAotICAgIHN0YXRpY19hc3NlcnQodGFnICE9IE5v
UHRyVGFnICYmIHRhZyAhPSBDRnVuY3Rpb25QdHJUYWcsICIiKTsKKyAgICBzdGF0aWNfYXNzZXJ0
KHRhZyAhPSBOb1B0clRhZyAmJiB0YWcgIT0gQ0Z1bmN0aW9uUHRyVGFnKTsKIAotc3RhdGljX2Fz
c2VydChzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KE5vUHRyVGFnKSA9PSBzdGF0aWNfY2FzdDx1aW50
cHRyX3Q+KDApLCAiIik7Ci1zdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oQ0Z1
bmN0aW9uUHRyVGFnKSA9PSBzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpLCAiIik7CitzdGF0aWNf
YXNzZXJ0KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oTm9QdHJUYWcpID09IHN0YXRpY19jYXN0PHVp
bnRwdHJfdD4oMCkpOworc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KENGdW5j
dGlvblB0clRhZykgPT0gc3RhdGljX2Nhc3Q8dWludHB0cl90PigxKSk7CiAKICNpZiBDT01QSUxF
UihNU1ZDKQogI3ByYWdtYSB3YXJuaW5nKHB1c2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9TZWNvbmRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TZWNvbmRzLmgKaW5kZXggNjEwODZmM2U0NjMz
N2VkNzM5NDg4ZmNiNWY0ZDUzZThiNjRjMjgxMC4uMGJhYWVjZDFkYWQyYWE2ZDVmNmQ4Y2UzNDQy
YzliN2M1NjZiYTE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2Vjb25kcy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1NlY29uZHMuaApAQCAtNTQsMTEgKzU0LDExIEBAIGNsYXNzIFNlY29u
ZHMgewogICAgIGNvbnN0ZXhwciBkb3VibGUgbmFub3NlY29uZHMoKSBjb25zdCB7IHJldHVybiBt
aWNyb3NlY29uZHMoKSAqIDEwMDA7IH0KIAogICAgIC8vIEtlZXAgaW4gbWluZCB0aGF0IFNlY29u
ZHMgaXMgaGVsZCBpbiBkb3VibGUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gcmFuZ2Ugb2YgNTNi
aXQgaW50ZWdlciwgdGhlIHJlc3VsdCBtYXkgbm90IGJlIHByZWNpc2UuCi0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gVCBtaW51dGVzQXMoKSBjb25zdCB7IHN0YXRpY19hc3NlcnQoc3RkOjppc19p
bnRlZ3JhbDxUPjo6dmFsdWUsICIiKTsgcmV0dXJuIGNsYW1wVG9BY2NlcHRpbmc2NDxUPihtaW51
dGVzKCkpOyB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBzZWNvbmRzQXMoKSBjb25zdCB7
IHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbDxUPjo6dmFsdWUsICIiKTsgcmV0dXJuIGNs
YW1wVG9BY2NlcHRpbmc2NDxUPihzZWNvbmRzKCkpOyB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gVCBtaWxsaXNlY29uZHNBcygpIGNvbnN0IHsgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2ludGVn
cmFsPFQ+Ojp2YWx1ZSwgIiIpOyByZXR1cm4gY2xhbXBUb0FjY2VwdGluZzY0PFQ+KG1pbGxpc2Vj
b25kcygpKTsgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgbWljcm9zZWNvbmRzQXMoKSBj
b25zdCB7IHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbDxUPjo6dmFsdWUsICIiKTsgcmV0
dXJuIGNsYW1wVG9BY2NlcHRpbmc2NDxUPihtaWNyb3NlY29uZHMoKSk7IH0KLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBUIG5hbm9zZWNvbmRzQXMoKSBjb25zdCB7IHN0YXRpY19hc3NlcnQoc3Rk
Ojppc19pbnRlZ3JhbDxUPjo6dmFsdWUsICIiKTsgcmV0dXJuIGNsYW1wVG9BY2NlcHRpbmc2NDxU
PihuYW5vc2Vjb25kcygpKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgbWludXRlc0Fz
KCkgY29uc3QgeyBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlKTsgcmV0
dXJuIGNsYW1wVG9BY2NlcHRpbmc2NDxUPihtaW51dGVzKCkpOyB9CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gVCBzZWNvbmRzQXMoKSBjb25zdCB7IHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRl
Z3JhbDxUPjo6dmFsdWUpOyByZXR1cm4gY2xhbXBUb0FjY2VwdGluZzY0PFQ+KHNlY29uZHMoKSk7
IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIG1pbGxpc2Vjb25kc0FzKCkgY29uc3QgeyBz
dGF0aWNfYXNzZXJ0KHN0ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlKTsgcmV0dXJuIGNsYW1wVG9B
Y2NlcHRpbmc2NDxUPihtaWxsaXNlY29uZHMoKSk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBUIG1pY3Jvc2Vjb25kc0FzKCkgY29uc3QgeyBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfaW50ZWdy
YWw8VD46OnZhbHVlKTsgcmV0dXJuIGNsYW1wVG9BY2NlcHRpbmc2NDxUPihtaWNyb3NlY29uZHMo
KSk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIG5hbm9zZWNvbmRzQXMoKSBjb25zdCB7
IHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbDxUPjo6dmFsdWUpOyByZXR1cm4gY2xhbXBU
b0FjY2VwdGluZzY0PFQ+KG5hbm9zZWNvbmRzKCkpOyB9CiAgICAgCiAgICAgc3RhdGljIGNvbnN0
ZXhwciBTZWNvbmRzIGZyb21NaW51dGVzKGRvdWJsZSBtaW51dGVzKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGli
RXh0cmFzLmgKaW5kZXggNmUzYzk0ZDFhNTA1MjkyMWRkODViODA0N2ZmNWVmMDc4YmMwZWJhMC4u
OWIyY2UxYWMyYzg2YmNlYzUxNWMyMTM1NGU2YzdiMTdhYmQ0YmRiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0
cmFzLmgKQEAgLTE5OSw3ICsxOTksNyBAQCB0ZW1wbGF0ZTxzaXplX3QgZGl2aXNvcj4gaW5saW5l
IGNvbnN0ZXhwciBzaXplX3Qgcm91bmRVcFRvTXVsdGlwbGVPZihzaXplX3QgeCkKIAogdGVtcGxh
dGU8c2l6ZV90IGRpdmlzb3IsIHR5cGVuYW1lIFQ+IGlubGluZSBUKiByb3VuZFVwVG9NdWx0aXBs
ZU9mKFQqIHgpCiB7Ci0gICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCopID09IHNpemVvZihzaXpl
X3QpLCAiIik7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCopID09IHNpemVvZihzaXplX3Qp
KTsKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4ocm91bmRVcFRvTXVsdGlwbGVPZjxk
aXZpc29yPihyZWludGVycHJldF9jYXN0PHNpemVfdD4oeCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvU3lzdGVtRnJlZS5oIGIvU291cmNlL1dURi93dGYvU3lzdGVtRnJlZS5o
CmluZGV4IDczYjY5M2YwNjgzOGJjYzhjY2M4M2E0NjhkNGRiYzNhOGFiODJmODMuLjMxZGNkNDg3
NTk0ZDE1ODJhNGEzMDA1MGQ5NDJlOGE2YzcyNGUyZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1N5c3RlbUZyZWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TeXN0ZW1GcmVlLmgKQEAgLTMx
LDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdHJ1
Y3QgU3lzdGVtRnJlZSB7Ci0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0
cnVjdGlibGU8VD46OnZhbHVlLCAiIik7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZp
YWxseV9kZXN0cnVjdGlibGU8VD46OnZhbHVlKTsKIAogICAgIHZvaWQgb3BlcmF0b3IoKShUKiBw
b2ludGVyKSBjb25zdAogICAgIHsKQEAgLTQxLDcgKzQxLDcgQEAgc3RydWN0IFN5c3RlbUZyZWUg
ewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IFN5c3RlbUZyZWU8VFtdPiB7Ci0gICAg
c3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0cnVjdGlibGU8VD46OnZhbHVlLCAi
Iik7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9kZXN0cnVjdGlibGU8VD46
OnZhbHVlKTsKIAogICAgIHZvaWQgb3BlcmF0b3IoKShUKiBwb2ludGVyKSBjb25zdAogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZUFycmF5LmggYi9Tb3VyY2UvV1RGL3d0
Zi9VbmlxdWVBcnJheS5oCmluZGV4IGEyYjg1ODUzNTI5MzExZGI0NjI5ODUzNWQzMjYyYzIxMWEx
MDQyNmMuLjFjY2RjY2ViNjA5MjQxYjU2MTdlZWE1MDQ3ODg4MDRiNzU1NTllMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZUFycmF5LmgKKysrIGIvU291cmNlL1dURi93dGYvVW5p
cXVlQXJyYXkuaApAQCAtNDQsNyArNDQsNyBAQCBzdHJ1Y3QgVW5pcXVlQXJyYXlNYWtlcjx0cnVl
LCBUPiB7CiAgICAgICAgIC8vIElmIGl0IGlzIGFjY2VwdGFibGUsIHdlIGNhbiBqdXN0IHVzZSBW
ZWN0b3I8VD4gaW5zdGVhZC4gU28gdGhpcyBVbmlxdWVBcnJheTxUPiBvbmx5CiAgICAgICAgIC8v
IGFjY2VwdHMgdGhlIHR5cGUgVCB3aGljaCBoYXMgYSB0cml2aWFsIGRlc3RydWN0b3IuIFRoaXMg
YWxsb3dzIHVzIHRvIHNraXAgY2FsbGluZwogICAgICAgICAvLyBkZXN0cnVjdG9ycyBmb3IgTiBl
bGVtZW50cy4gQW5kIHRoaXMgYWxsb3dzIFVuaXF1ZUFycmF5PFQ+IG5vdCB0byBzdG9yZSBpdHMg
TiBzaXplLgotICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0
aWJsZTxUPjo6dmFsdWUsICIiKTsKKyAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZp
YWxseV9kZXN0cnVjdGlibGU8VD46OnZhbHVlKTsKIAogICAgICAgICAvLyBEbyBub3QgdXNlIHBs
YWNlbWVudCBuZXcgbGlrZSBgbmV3IChzdG9yYWdlKSBUW3NpemVdKClgLiBgbmV3IFRbc2l6ZV0o
KWAgcmVxdWlyZXMKICAgICAgICAgLy8gbGFyZ2VyIHN0b3JhZ2UgdGhhbiB0aGUgYHNpemVvZihU
KSAqIHNpemVgIHN0b3JhZ2Ugc2luY2UgaXQgd2FudCB0byBzdG9yZSBgc2l6ZWAKQEAgLTc1LDcg
Kzc1LDcgQEAgc3RydWN0IFVuaXF1ZUFycmF5TWFrZXI8ZmFsc2UsIFQ+IHsKIAogICAgICAgICBU
IHZhbHVlIHsgfTsKICAgICB9OwotICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFQpID09IHNpemVv
ZihVbmlxdWVBcnJheUVsZW1lbnQpLCAiIik7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkg
PT0gc2l6ZW9mKFVuaXF1ZUFycmF5RWxlbWVudCkpOwogCiAgICAgdXNpbmcgUmVzdWx0VHlwZSA9
IHR5cGVuYW1lIHN0ZDo6dW5pcXVlX3B0cjxUW10sIHR5cGVuYW1lIFVuaXF1ZUFycmF5RWxlbWVu
dDo6RGVsZXRlcj47CiAKQEAgLTkxLDcgKzkxLDcgQEAgdXNpbmcgVW5pcXVlQXJyYXkgPSB0eXBl
bmFtZSBVbmlxdWVBcnJheU1ha2VyPHN0ZDo6aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxUPjoK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBVbmlxdWVBcnJheTxUPiBtYWtlVW5pcXVlQXJyYXkoc2l6
ZV90IHNpemUpCiB7Ci0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3NhbWU8dHlwZW5hbWUgc3Rk
OjpyZW1vdmVfZXh0ZW50PFQ+Ojp0eXBlLCBUPjo6dmFsdWUsICIiKTsKKyAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6aXNfc2FtZTx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9leHRlbnQ8VD46OnR5cGUsIFQ+
Ojp2YWx1ZSk7CiAgICAgcmV0dXJuIFVuaXF1ZUFycmF5TWFrZXI8c3RkOjppc190cml2aWFsbHlf
ZGVzdHJ1Y3RpYmxlPFQ+Ojp2YWx1ZSwgVD46Om1ha2Uoc2l6ZSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1dURkFzc2VydGlvbnMuY3BwIGIvU291cmNlL1dURi93dGYvV1RGQXNz
ZXJ0aW9ucy5jcHAKaW5kZXggOTg3MDc2NGNmMDIxZTEyODliZWQxZDEyZDhlNWNmNzM5ODM2Zjkx
MC4uYmVkY2ZlNzg3NTA1OGZiMmM2ODI0MGRiZTQ0ODk5NDY4MTFhNjliMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvV1RGQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvV1RG
QXNzZXJ0aW9ucy5jcHAKQEAgLTM4LDIxICszOCwyMSBAQCBzdHJ1Y3QgRHVtbXlTdHJ1Y3QgeyB9
OwogdWludHB0cl90IGR1bW15UG9pc29uID0gMDsKIH0KIAotc3RhdGljX2Fzc2VydChzaXplb2Yo
QmFnPER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSwgIiIpOwotc3RhdGljX2Fzc2VydChz
aXplb2YoUG9pc29uZWRCYWc8UG9pc29uPGR1bW15UG9pc29uPiwgRHVtbXlTdHJ1Y3Q+KSA9PSBz
aXplb2Yodm9pZCopLCAiIik7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihCYWc8RHVtbXlTdHJ1Y3Q+
KSA9PSBzaXplb2Yodm9pZCopKTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFBvaXNvbmVkQmFnPFBv
aXNvbjxkdW1teVBvaXNvbj4sIER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSk7CiAKLXN0
YXRpY19hc3NlcnQoc2l6ZW9mKFJlZjxEdW1teVN0cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVj
dCopLCAiIik7Ci1zdGF0aWNfYXNzZXJ0KHNpemVvZihQb2lzb25lZFJlZjxQb2lzb248ZHVtbXlQ
b2lzb24+LCBEdW1teVN0cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVjdCopLCAiIik7CitzdGF0
aWNfYXNzZXJ0KHNpemVvZihSZWY8RHVtbXlTdHJ1Y3Q+KSA9PSBzaXplb2YoRHVtbXlTdHJ1Y3Qq
KSk7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihQb2lzb25lZFJlZjxQb2lzb248ZHVtbXlQb2lzb24+
LCBEdW1teVN0cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVjdCopKTsKIAotc3RhdGljX2Fzc2Vy
dChzaXplb2YoUmVmUHRyPER1bW15U3RydWN0PikgPT0gc2l6ZW9mKER1bW15U3RydWN0KiksICIi
KTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFBvaXNvbmVkUmVmUHRyPFBvaXNvbjxkdW1teVBvaXNv
bj4sIER1bW15U3RydWN0PikgPT0gc2l6ZW9mKER1bW15U3RydWN0KiksICIiKTsKK3N0YXRpY19h
c3NlcnQoc2l6ZW9mKFJlZlB0cjxEdW1teVN0cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVjdCop
KTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFBvaXNvbmVkUmVmUHRyPFBvaXNvbjxkdW1teVBvaXNv
bj4sIER1bW15U3RydWN0PikgPT0gc2l6ZW9mKER1bW15U3RydWN0KikpOwogCi1zdGF0aWNfYXNz
ZXJ0KHNpemVvZihQb2lzb25lZFVuaXF1ZVB0cjxQb2lzb248ZHVtbXlQb2lzb24+LCBEdW1teVN0
cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVjdCopLCAiIik7Ci1zdGF0aWNfYXNzZXJ0KHNpemVv
ZihQb2lzb25lZFVuaXF1ZVB0cjxQb2lzb248ZHVtbXlQb2lzb24+LCBpbnRbXT4pID09IHNpemVv
ZihpbnQqKSwgIiIpOwotc3RhdGljX2Fzc2VydChzaXplb2YoUG9pc29uZWRVbmlxdWVQdHI8UG9p
c29uPGR1bW15UG9pc29uPiwgRHVtbXlTdHJ1Y3RbXT4pID09IHNpemVvZihEdW1teVN0cnVjdCop
LCAiIik7CitzdGF0aWNfYXNzZXJ0KHNpemVvZihQb2lzb25lZFVuaXF1ZVB0cjxQb2lzb248ZHVt
bXlQb2lzb24+LCBEdW1teVN0cnVjdD4pID09IHNpemVvZihEdW1teVN0cnVjdCopKTsKK3N0YXRp
Y19hc3NlcnQoc2l6ZW9mKFBvaXNvbmVkVW5pcXVlUHRyPFBvaXNvbjxkdW1teVBvaXNvbj4sIGlu
dFtdPikgPT0gc2l6ZW9mKGludCopKTsKK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFBvaXNvbmVkVW5p
cXVlUHRyPFBvaXNvbjxkdW1teVBvaXNvbj4sIER1bW15U3RydWN0W10+KSA9PSBzaXplb2YoRHVt
bXlTdHJ1Y3QqKSk7CiAKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFJlZkNvdW50ZWRBcnJheTxEdW1t
eVN0cnVjdD4pID09IHNpemVvZih2b2lkKiksICIiKTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKFBv
aXNvbmVkUmVmQ291bnRlZEFycmF5PFBvaXNvbjxkdW1teVBvaXNvbj4sIER1bW15U3RydWN0Pikg
PT0gc2l6ZW9mKHZvaWQqKSwgIiIpOworc3RhdGljX2Fzc2VydChzaXplb2YoUmVmQ291bnRlZEFy
cmF5PER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSk7CitzdGF0aWNfYXNzZXJ0KHNpemVv
ZihQb2lzb25lZFJlZkNvdW50ZWRBcnJheTxQb2lzb248ZHVtbXlQb2lzb24+LCBEdW1teVN0cnVj
dD4pID09IHNpemVvZih2b2lkKikpOwogICAgIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggYWY0Y2U2YjYyYTlhNzlhYWVlMzA3NjczMDcwYzc3YWY0
YTY1ZDIyNy4uMzJjZGIxMGI0MTdiN2UzMzI5MGRkNGIwODVhNWE3N2IzNzFlYzRmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93
dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTUxNyw3ICs1MTcsNyBAQCBjbGFzcyBTdHJpbmdJbXBs
IDogcHJpdmF0ZSBTdHJpbmdJbXBsU2hhcGUgewogCiB1c2luZyBTdGF0aWNTdHJpbmdJbXBsID0g
U3RyaW5nSW1wbDo6U3RhdGljU3RyaW5nSW1wbDsKIAotc3RhdGljX2Fzc2VydChzaXplb2YoU3Ry
aW5nSW1wbCkgPT0gc2l6ZW9mKFN0YXRpY1N0cmluZ0ltcGwpLCAiIik7CitzdGF0aWNfYXNzZXJ0
KHNpemVvZihTdHJpbmdJbXBsKSA9PSBzaXplb2YoU3RhdGljU3RyaW5nSW1wbCkpOwogCiAjaWYg
IUFTU0VSVF9ESVNBQkxFRAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N5bWJv
bEltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCmluZGV4IDQyZmYwMzZm
N2ZkNTY4Mzk1ZmE3ODA4YmRlNzQ4YzQzNTNlOGUzZDEuLjBiODhkNTllZDg1OTVlOTZlN2EyZGI4
ZjhhYWI2N2JlYzA0ZWU2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9s
SW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3ltYm9sSW1wbC5oCkBAIC0xMjIsNyAr
MTIyLDcgQEAgY2xhc3MgU3ltYm9sSW1wbCA6IHB1YmxpYyBVbmlxdWVkU3RyaW5nSW1wbCB7CiAg
ICAgdW5zaWduZWQgbV9oYXNoRm9yU3ltYm9sOwogICAgIEZsYWdzIG1fZmxhZ3MgeyBzX2ZsYWdE
ZWZhdWx0IH07CiB9Owotc3RhdGljX2Fzc2VydChzaXplb2YoU3ltYm9sSW1wbCkgPT0gc2l6ZW9m
KFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwpLCAiIik7CitzdGF0aWNfYXNzZXJ0KHNpemVv
ZihTeW1ib2xJbXBsKSA9PSBzaXplb2YoU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCkpOwog
CiBjbGFzcyBQcml2YXRlU3ltYm9sSW1wbCA6IHB1YmxpYyBTeW1ib2xJbXBsIHsKIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXllZENvZGluZy5oCmluZGV4IDkxODQwMWFhNGRkMzYyMmUw
OGY0ZTE5MzA3NzEzOWYyN2MwMDI1MWQuLjhkNjk4NmQ0NzU1NzgwOTYyNjQzMGY5YTM5MTE3NWUx
ZmNkMmRkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5n
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5ZWRDb2RpbmcuaApAQCAtNTEsNyAr
NTEsNyBAQCBjbGFzcyBLZXllZERlY29kZXIgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAg
ICAgYm9vbCBkZWNvZGVCeXRlcyhjb25zdCBTdHJpbmcmIGtleSwgVmVjdG9yPFQ+JiB2ZWN0b3Ip
CiAgICAgewotICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihUKSA9PSAxLCAiIik7CisgICAg
ICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFQpID09IDEpOwogCiAgICAgICAgIHNpemVfdCBzaXpl
OwogICAgICAgICBjb25zdCB1aW50OF90KiBieXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FwdHVyZS9qc29uLmhwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FwdHVyZS9qc29uLmhwcAppbmRleCA3Yzg2OTc4N2YxOWNjNmMyM2I0MjFmOWM0
MGFhMDE1NDMzMmFlMWEyLi4yOGZiZmY3MTA4ODE0Zjk3ZWI2NjhkYjViMzRhOWRkODAyNmNlOGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhcHR1cmUvanNvbi5o
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYXB0dXJlL2pzb24uaHBwCkBA
IC0xMTI1MSw3ICsxMTI1MSw3IEBAIGNsYXNzIGJhc2ljX2pzb24KICAgICAgICAgICAgICAgICBj
b25zdCBhdXRvIHggPSBwYXJzZV9pbnRlZ3JhbCgmZW5kcHRyLCBzdGQ6OmlzX3NpZ25lZDxUPigp
KTsKIAogICAgICAgICAgICAgICAgIC8vIGNhbGxlZCByaWdodCBvdmVybG9hZD8KLSAgICAgICAg
ICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc2lnbmVkPFQ+KCkgPT0gc3RkOjppc19zaWdu
ZWQ8ZGVjbHR5cGUoeCk+KCksICIiKTsKKyAgICAgICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0
ZDo6aXNfc2lnbmVkPFQ+KCkgPT0gc3RkOjppc19zaWduZWQ8ZGVjbHR5cGUoeCk+KCkpOwogCiAg
ICAgICAgICAgICAgICAgdmFsdWUgPSBzdGF0aWNfY2FzdDxUPih4KTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0xlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNw
cAppbmRleCAxN2Y2NmI3MTc3OWMwNTQ5Y2Y2OGFlMjgxNjU4MThhNzI5ZDY2M2ZlLi4yYThlYmVj
NDc5Y2Q0ZGNmYTNjZmZjNGM2YTNjZjUyNzY3YTcxODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcApAQCAt
MjAwLDcgKzIwMCw3IEBAIGNsYXNzIEhpc3RvcnlFbnRyeURhdGFFbmNvZGVyIHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUeXBlPgogICAgIEhpc3RvcnlFbnRyeURhdGFFbmNvZGVyJiBlbmNvZGVB
cml0aG1ldGljVHlwZShUeXBlIHZhbHVlKQogICAgIHsKLSAgICAgICAgc3RhdGljX2Fzc2VydChz
dGQ6OmlzX2FyaXRobWV0aWM8VHlwZT46OnZhbHVlLCAiIik7CisgICAgICAgIHN0YXRpY19hc3Nl
cnQoc3RkOjppc19hcml0aG1ldGljPFR5cGU+Ojp2YWx1ZSk7CiAKICAgICAgICAgZW5jb2RlRml4
ZWRMZW5ndGhEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KCZ2YWx1ZSksIHNpemVvZih2
YWx1ZSksIHNpemVvZih2YWx1ZSkpOwogICAgICAgICByZXR1cm4gKnRoaXM7CkBAIC03MjYsNyAr
NzI2LDcgQEAgY2xhc3MgSGlzdG9yeUVudHJ5RGF0YURlY29kZXIgewogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFR5cGU+CiAgICAgSGlzdG9yeUVudHJ5RGF0YURlY29kZXImIGRlY29kZUFyaXRobWV0
aWNUeXBlKFR5cGUmIHZhbHVlKQogICAgIHsKLSAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X2FyaXRobWV0aWM8VHlwZT46OnZhbHVlLCAiIik7CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3Rk
Ojppc19hcml0aG1ldGljPFR5cGU+Ojp2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gVHlwZSgpOwog
CiAgICAgICAgIGRlY29kZUZpeGVkTGVuZ3RoRGF0YShyZWludGVycHJldF9jYXN0PHVpbnQ4X3Qq
PigmdmFsdWUpLCBzaXplb2YodmFsdWUpLCBzaXplb2YodmFsdWUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGhtLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0FsZ29yaXRobS5oCmluZGV4IGU0ZTUxYTUzYTNlMWEwYTk5MzYyYmJiYzgzYzhhYjViMDEwZjFm
NzcuLmZiYTgzNWE0OTMxYWU0Zjc1ZDcwNmVhMzJlNDQ4MDliZmE2N2MwZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9BbGdvcml0aG0uaApAQCAtNjcsNyArNjcsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBpbmxpbmUgY29uc3RleHByIGJvb2wgdGVzdChUIHZhbHVlLCB1aW50cHRyX3QgbWFzaykKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgogaW5saW5lIGNvbnN0ZXhwciBib29sIGlzUG93ZXJPZlR3byhU
IHNpemUpCiB7Ci0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwg
IiIpOworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19pbnRlZ3JhbDxUPjo6dmFsdWUpOwogICAg
IHJldHVybiBzaXplICYmICEoc2l6ZSAmIChzaXplIC0gMSkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0dpZ2FjYWdlLmgKaW5kZXggNzgzOWY4NmQ2MWIwN2IyNmFhNzYwYjcwOTIwOTUxNjliMTZhMjUw
NS4uNzY3MWZkZmNjOTI0NjAzODNhYTc4NzI0NTk0NzM1Njk2YjMyMmExNyAxMDA2NDQKLS0tIGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9HaWdhY2FnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvR2lnYWNhZ2UuaApAQCAtNTAsOCArNTAsOCBAQAogI2RlZmluZSBHSUdBQ0FHRV9BTExP
Q0FUSU9OX0NBTl9GQUlMIDEKICNlbmRpZgogCi1zdGF0aWNfYXNzZXJ0KGJtYWxsb2M6OmlzUG93
ZXJPZlR3byhQUklNSVRJVkVfR0lHQUNBR0VfU0laRSksICIiKTsKLXN0YXRpY19hc3NlcnQoYm1h
bGxvYzo6aXNQb3dlck9mVHdvKEpTVkFMVUVfR0lHQUNBR0VfU0laRSksICIiKTsKK3N0YXRpY19h
c3NlcnQoYm1hbGxvYzo6aXNQb3dlck9mVHdvKFBSSU1JVElWRV9HSUdBQ0FHRV9TSVpFKSk7Citz
dGF0aWNfYXNzZXJ0KGJtYWxsb2M6OmlzUG93ZXJPZlR3byhKU1ZBTFVFX0dJR0FDQUdFX1NJWkUp
KTsKIAogI2RlZmluZSBHSUdBQ0FHRV9TSVpFX1RPX01BU0soc2l6ZSkgKChzaXplKSAtIDEpCiAK
</data>
<flag name="review"
          id="359174"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>