<?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>140486</bug_id>
          
          <creation_ts>2015-01-14 19:19:32 -0800</creation_ts>
          <short_desc>[WK2] Wire diagnostic logging messages through the UIProcess</short_desc>
          <delta_ts>2015-01-15 17:07:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>
          
          <blocked>140410</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061455</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-14 19:19:32 -0800</bug_when>
    <thetext>Wire diagnostic logging messages through the UIProcess instead of using an injected bundle API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061483</commentid>
    <comment_count>1</comment_count>
      <attachid>244680</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-14 21:41:15 -0800</bug_when>
    <thetext>Created attachment 244680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061712</commentid>
    <comment_count>2</comment_count>
      <attachid>244680</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-15 17:07:38 -0800</bug_when>
    <thetext>Comment on attachment 244680
Patch

Clearing flags on attachment: 244680

Committed r178545: &lt;http://trac.webkit.org/changeset/178545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061714</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-15 17:07:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244680</attachid>
            <date>2015-01-14 21:41:15 -0800</date>
            <delta_ts>2015-01-15 17:07:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140486-20150114214121.patch</filename>
            <type>text/plain</type>
            <size>52982</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUzOTg4OTE5MmU4MzFm
ZTc5MWFjMjgyYzZmZDk5NDkwZDliNTFmMC4uNzI1MWYzOGQ4ZThiYjUzOGY1MzA4YTAxOWM5Yzkx
YTU4ZWYzNmI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTAxLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gV2lyZSBkaWFnbm9z
dGljIGxvZ2dpbmcgbWVzc2FnZXMgdGhyb3VnaCB0aGUgVUlQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0ODYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXJlIGRpYWdub3N0aWMgbG9nZ2lu
ZyBtZXNzYWdlcyB0aHJvdWdoIHRoZSBVSVByb2Nlc3MuCisgICAgICAgIEV2ZW50dWFsbHksIHRo
ZSBjb3JyZXNwb25kaW5nIGJ1bmRsZSBBUEkgc2hvdWxkIGdvIGF3YXkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgQWRkIHBhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlLmggdG8gV2luZG93cyBwcm9qZWN0LgorCisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgcGFnZS9EaWFnbm9zdGlj
TG9nZ2luZ1Jlc3VsdFR5cGUuaCB0byBYQ29kZSBwcm9qZWN0LgorCisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6Cisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oLgorICAgICAgICBVc2UgbmV3IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSBl
bnVtIGluc3RlYWQgb2Ygb2xkCisgICAgICAgIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpMb2dU
eXBlIG9uZS4KKwogMjAxNS0wMS0xNCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNTQ3NjkpOiBXcm9uZyA8dGl0bGU+
IHRha2VuIGFzIGEgdG9vbHRpcCBmb3IgU1ZHIGVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjIyYzQ1
MmQyMzY0MzAxYTI0ZTgxMTFkMmYwNTEyNmEzYjgxNzA5YS4uODJmODEzYWFhMmYxYzBmZjJkZTlh
ODk0ZGJiOGFiMTAwODFmYmQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTAx
LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gV2ly
ZSBkaWFnbm9zdGljIGxvZ2dpbmcgbWVzc2FnZXMgdGhyb3VnaCB0aGUgVUlQcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0ODYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXJlIGRpYWdub3N0
aWMgbG9nZ2luZyBtZXNzYWdlcyB0aHJvdWdoIHRoZSBVSVByb2Nlc3MuCisgICAgICAgIEV2ZW50
dWFsbHksIHRoZSBjb3JyZXNwb25kaW5nIGJ1bmRsZSBBUEkgc2hvdWxkIGdvIGF3YXkuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgQWRkIFVJUHJvY2Vzcy9XZWJQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIHRvIENNYWtlLgorCisgICAgICAgICogU2hhcmVkL0FQ
SS9jL1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg6CisgICAgICAgIEV4dHJhY3QgV0tE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgZW51bWVyYXRpb24gZnJvbQorICAgICAgICBXS0J1
bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGludG8gaXRzIG93biBoZWFkZXIgc28g
dGhhdAorICAgICAgICBpdCBjYW4gYmUgc2hhcmVkIHdpdGggdGhlIG5ldyBXS1BhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OnRvRGlh
Z25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKToKKyAgICAgICAgQWRkIFdlYkNvcmU6OkRpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSA8LT4gV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUKKyAg
ICAgICAgY2FzdGluZyBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgorICAgICAgICBBZGQgV0tQYWdl
IEFQSSBzbyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW4gc2V0IHRoZSBEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgTmV3IFdLMiBkaWFnbm9zdGljIGxvZ2dpbmcg
Y2xpZW50IHRoYXQgd2lsbCBldmVudHVhbGx5IHJlcGxhY2UgdGhlIGV4aXN0aW5nCisgICAgICAg
IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW5qZWN0ZWQgYnVuZGxlIGNs
aWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIEhhbmRsZSBuZXcgSVBDIG1lc3NhZ2VzIGZvciBsb2dnaW5n
IGRpYWdub3N0aWMgbWVzc2FnZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICBBZGQgMyBJUEMgbWVzc2FnZXMgZm9yIGxvZ2dpbmcgZGlh
Z25vc3RpYyBtZXNzYWdlcy4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcyB0byBYQ29kZSBwcm9qZWN0LgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAgICBSZW1vdmUgV0tEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUgZW51bSBhcyBpdCB3YXMgbW92ZWQgdG8gaXRzIG93bgorICAgICAgICBoZWFkZXIu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6Cisg
ICAgICAgIFVzZSBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgZW51bSB0eXBl
IGluc3RlYWQgb2YKKyAgICAgICAgV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgYW5kIGNh
bGwgdG9BUEkoKSB0byBjb252ZXJ0IHRvCisgICAgICAgIFdLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1
bHRUeXBlIHR5cGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3Vs
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgIFNlbmQgSVBDIHRvIFdlYlBhZ2VQcm94
eSBpbiBhZGRpdGlvbiB0byBjYWxsaW5nIHRoZSBpbmplY3RlZCBidW5kbGUgY2xpZW50LgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oOgorICAgICAgICBVc2UgbmV3IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSBlbnVt
IGluc3RlYWQgb2YgdGhlIG9sZCBMb2dUeXBlIG9uZS4KKwogMjAxNS0wMS0xNCAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgV2Vic2l0ZURhdGFT
dG9yZSBhIFdlYlByb2Nlc3NMaWZldGltZU9ic2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA5NDkzNzVlMmExNWUzMmIxMDc2MWFm
OTQyNDQ1MWM1MjlkOGM0ZTEzLi5kY2JlZTYwYWFhZjFhM2RiMGI1ZWU5MDFlMTE2MzYyYTdkZTk1
NGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE5MDY4LDYgKzE5MDY4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBh
Z2VcRGV2aWNlQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXERl
dmljZUNvbnRyb2xsZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdl
XERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGFnZVxET01TZWxlY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcRE9NVGltZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9N
V2luZG93LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMDIxMGM5NzhmZDQ4ZWM1YzVjNTEzOGM0MjFl
YTA0NjZhZjQzN2ZhZi4uZmJmNWY1MWU4NmNjOWUzM2QxNzdlYmQ2MmNkOTY5YzkzZjYyZTA4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwpAQCAtNzU4Nyw2ICs3NTg3LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBhZ2VcRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgiPgogICAgICAgPEZpbHRlcj5wYWdl
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
YWdlXERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oIj4KKyAgICAgIDxGaWx0ZXI+cGFnZTwv
RmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFn
ZVxET01TZWxlY3Rpb24uaCI+CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAzZDE0MDRlZmZlODk4NDY0YzA1YjJlZWZjYmZjMzc3YWMzZjE5NmE3Li4w
NTcwYTVkZDM3ODAyYmM5NjBkMWUxYmJlMzZiZTI5YmM1ZDY5MmY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTQ3LDYgKzI1
NDcsNyBAQAogCQk4MzVEMzYzNzE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9t
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVEMzYz
NjE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmggKi87IH07CiAJCTgzNkZC
Q0VBMTc4QzExMzIwMEIyMUExNSAvKiBTVkdBbmltYXRlZFR5cGVBbmltYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFOTE3OEMxMTMy
MDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuY3BwICovOyB9OwogCQk4MzZGQkNF
QzE3OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFQjE3OEMxMTdGMDBCMjFB
MTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgKi87IH07CisJCTgzNzJEQjMxMUE2NzgwQTgw
MEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzJEQjMwMUE2NzgwQTgwMEM2OTdDNSAv
KiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4Mzg2QTk2RDE5RjYxQjJFMDBFMUVDNEEgLyogU3R5
bGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4Mzg2QTk2QzE5RjYxQjJFMDBFMUVDNEEgLyogU3R5bGVCdWlsZGVyLmggKi87IH07CiAJCTgz
ODZBOTcwMTlGNjFFNEYwMEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4NkE5NkUxOUY2MUU0RjAwRTFFQzRB
IC8qIFN0eWxlQnVpbGRlci5jcHAgKi87IH07CiAJCTgzOUFBRkVDMUEwQzBDOEQwMDYwNUY5OSAv
KiBIVE1MV0JSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MzlBQUZFQTFBMEMwQzhEMDA2MDVGOTkgLyogSFRNTFdCUkVsZW1lbnQuY3Bw
ICovOyB9OwpAQCAtOTcxMSw2ICs5NzEyLDcgQEAKIAkJODM1RDM2MzYxOUZGNjE5MzAwNEM5M0FC
IC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTdHlsZUJ1aWxkZXJDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2
RkJDRTkxNzhDMTEzMjAwQjIxQTE1IC8qIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RkJDRUIxNzhDMTE3RjAwQjIx
QTE1IC8qIFNWR0FuaW1hdGVkUHJvcGVydHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTgzNzJEQjMwMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzODZBOTZD
MTlGNjFCMkUwMEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3R5bGVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTgzODZBOTZFMTlGNjFFNEYwMEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODM5QUFGRUExQTBDMEM4RDAwNjA1Rjk5IC8qIEhUTUxXQlJFbGVt
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxXQlJFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTY5LDYgKzE2NTcxLDcg
QEAKIAkJCQlDQ0MyQjUxMjE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5oICov
LAogCQkJCUNEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMu
Y3BwICovLAogCQkJCUNEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2lu
Z0tleXMuaCAqLywKKwkJCQk4MzcyREIzMDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlLmggKi8sCiAJCQkJMkQ5QTI0NkExNUI5QkJERDAwRDM0NTI3IC8qIERP
TVNlY3VyaXR5UG9saWN5LmNwcCAqLywKIAkJCQkyRDlBMjQ2QjE1QjlCQkREMDBEMzQ1MjcgLyog
RE9NU2VjdXJpdHlQb2xpY3kuaCAqLywKIAkJCQlCQzVBODY4MTBDMzM2NzYwMDBFRUE2NDkgLyog
RE9NU2VsZWN0aW9uLmNwcCAqLywKQEAgLTI2MDY0LDYgKzI2MDY3LDcgQEAKIAkJCQlCQzdGQTYy
RDBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1QUZCMzUwMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQzJEODQ1MTcxNzM0QTEwMDY1MkZDMCAvKiBTdG9yYWdlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4MzcyREIzMTFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRU
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUJFMzdFMDBEQUVFMDBFMDAxMDg1RkMgLyogU3Rv
cmFnZUFyZWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTBCQUJCMERBNTU0NzEwMEE5RTQxNyAv
KiBTdG9yYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RUJERDg0MTA1RURERUMwMDU2
ODE2RiAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk0NTAwYzNhZDJmZDQ2Yjk5MmUz
MWVlNDUxMWI5NjMxZjE1OWZiYTMuLjFiNWY2N2QyYjgzYmZhMTgzZWY1OWI5Yjk0OTRiZTY2MGJl
YzVkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTgz
Nyw3ICsxODM3LDcgQEAgc3RhdGljIHZvaWQgbG9nTWVkaWFMb2FkUmVxdWVzdChQYWdlKiBwYWdl
LCBjb25zdCBTdHJpbmcmIG1lZGlhRW5naW5lLCBjb25zdCBTdHIKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKCFzdWNjZWVkZWQpIHsKLSAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQt
PmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1l
ZGlhTG9hZGluZ0ZhaWxlZEtleSgpLCBlcnJvck1lc3NhZ2UsIERpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50OjpGYWlsKTsKKyAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQtPmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFJlc3VsdChEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1lZGlhTG9hZGluZ0Zh
aWxlZEtleSgpLCBlcnJvck1lc3NhZ2UsIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApp
bmRleCA1Nzk3MWM1OWM0MjBhZmIwYjllYWI5YTI1YTgwMGJhOGMzYWU0NmUxLi45ZWZhMzk4Njc1
NjQ4ODkxZjIxNWY1NWE5ZDc0ODJlOTZjNmFjYzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCkBAIC02MzUsNyArNjM1LDcgQEAgY2xhc3MgRW1wdHlQcm9ncmVzc1RyYWNrZXJD
bGllbnQgOiBwdWJsaWMgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50IHsKIAogY2xhc3MgRW1wdHlEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCA6IHB1YmxpYyBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7CiAg
ICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlIHsgfQotICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhSZXN1bHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgTG9nUmVzdWx0VHlw
ZSkgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFJlc3VsdChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUpIG92ZXJyaWRlIHsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KSBvdmVycmlkZSB7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmlu
ZGV4IDRiZTcxZWNiNzk1NDgwNzNkYjZiNzVkYTY4Yjk5YWQ3NmMwZTI5YjYuLjkyZTg0NDY1N2Jh
OTU1ZWRmZTE3YTJhMGMxMjQ2MGYwM2U2NjQ3NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMjI5Nyw3ICsyMjk3LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hlY2tM
b2FkQ29tcGxldGVGb3JUaGlzRnJhbWUoKQogICAgICAgICAgICAgaWYgKCFkaWFnbm9zdGljTG9n
Z2luZ0NsaWVudCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpwYWdlTG9hZGVkS2V5KCksIGVtcHR5U3RyaW5nKCksIGVycm9yLmlz
TnVsbCgpID8gRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlBhc3MgOiBEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudDo6RmFpbCk7CisgICAgICAgICAgICBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+bG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUxv
YWRlZEtleSgpLCBlbXB0eVN0cmluZygpLCBlcnJvci5pc051bGwoKSA/IERpYWdub3N0aWNMb2dn
aW5nUmVzdWx0UGFzcyA6IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCk7CiAKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oCmluZGV4IDM0MTM5MzQ1MTk5ZWJhNWQyODgxM2QyOTkyMzQ5NjVjNjAx
MDAwMWUuLmNmMmYxODkyNDM1ZmZhNmUyZmU1NmVlZDliYWFiNDliMWQxZWJiNzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaAogI2RlZmluZSBEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudF9oCiAKKyNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5
cGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0zMywxMyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNz
YWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgeyBV
TlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7IH0KLQotICAg
IGVudW0gTG9nUmVzdWx0VHlwZSB7Ci0gICAgICAgIFBhc3MsCi0gICAgICAgIEZhaWwsCi0gICAg
ICAgIE5vb3AsCi0gICAgfTsKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgTG9nUmVzdWx0VHlwZSkgeyBVTlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNFRF9QQVJBTShk
ZXNjcmlwdGlvbik7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
UmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKSB7IFVOVVNFRF9QQVJBTShtZXNzYWdlKTsgVU5V
U0VEX1BBUkFNKGRlc2NyaXB0aW9uKTsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVz
Y3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBV
TlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyBVTlVTRURfUEFSQU0odmFsdWUpOyB9CiAKIHByb3Rl
Y3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdS
ZXN1bHRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNjYjJkNjNjYjk5ZjE5ZTk1ZGNmNzgzYmE4MGNmZDAwZGViMWJl
MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dn
aW5nUmVzdWx0VHlwZS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERp
YWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZV9oCisjZGVmaW5lIERpYWdub3N0aWNMb2dnaW5nUmVz
dWx0VHlwZV9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdFR5cGUgeworICAgIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFzcywKKyAgICBEaWFn
bm9zdGljTG9nZ2luZ1Jlc3VsdEZhaWwsCisgICAgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHROb29w
LAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlX2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA5MWY1MWExMGUzZjVk
ODJhZjRiOWFhMzFiMWE5MDMyMGU5MjVkN2M2Li4xNzE3ZjAyZmJhOGFjZjliZjcwODIyYTE4Y2Vj
NDM5YTY4YjliMzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMzUwLDYgKzM1MCw3IEBAIHNl
dChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVu
ZXJQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1hbmFnZXJQcm94eS5jcHAK
ICAgICBVSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcAorICAgIFVJUHJvY2Vz
cy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCiAgICAgVUlQcm9jZXNzL1dlYlBh
Z2VHcm91cC5jcHAKICAgICBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAogICAgIFVJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4MWM3NGY5NjE1NzUzNmVjZTE1YTg3NDlkNTU4YzAzY2Y2NWJiOGIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGUuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0Rp
YWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZV9oCisjZGVmaW5lIFdLRGlhZ25vc3RpY0xvZ2dpbmdS
ZXN1bHRUeXBlX2gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgor
CitlbnVtIHsKKyAgICBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFBhc3MgPSAwLAorICAgIGtX
S0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCA9IDEsCisgICAga1dLRGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHROb29wID0gMiwKK307Cit0eXBlZGVmIHVpbnQzMl90IFdLRGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHRUeXBlOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYg
LyogV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGVfaCAqLworCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKaW5kZXggNTU1YzVkZjVlZWE5MjkzYjU5
ZmI4NzI5YTVlZmFlZTAxOWY5ZTg2OC4uN2JjOWZhOGVmM2IzOGZlOTVjM2Q0NmJhMmUyODg4Yzk0
OTMxODNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVk
QVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlNhbWVEb2N1bWVudE5hdmlnYXRpb25U
eXBlLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW1U
eXBlcy5oIgorI2luY2x1ZGUgIldLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmgiCiAjaW5j
bHVkZSAiV0tFdmVudC5oIgogI2luY2x1ZGUgIldLRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlICJX
S0dlb21ldHJ5LmgiCkBAIC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNp
bmNsdWRlICJXZWJGaW5kT3B0aW9ucy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnVJ
dGVtLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVM
b2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgpAQCAtODI1LDYgKzgy
Nyw0NCBAQCBpbmxpbmUgU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUgdG9TYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uVHlwZShXS1NhbWVEb2N1bWVudE5hdgogICAgIHJldHVybiB0eXBlOwogfQogCitp
bmxpbmUgV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgdG9BUEkoV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHR5cGUpCit7CisgICAgV0tEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUgd2tUeXBlOworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBXZWJDb3Jl
OjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFBhc3M6CisgICAgICAgIHdrVHlwZSA9IGtXS0RpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0UGFzczsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3Jl
OjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdEZhaWw6CisgICAgICAgIHdrVHlwZSA9IGtXS0RpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0RmFpbDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3Jl
OjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdE5vb3A6CisgICAgICAgIHdrVHlwZSA9IGtXS0RpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0Tm9vcDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0
dXJuIHdrVHlwZTsKK30KKworaW5saW5lIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZSB0b0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZShXS0RpYWdub3N0aWNMb2dnaW5nUmVz
dWx0VHlwZSB3a1R5cGUpCit7CisgICAgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRU
eXBlIHR5cGU7CisKKyAgICBzd2l0Y2ggKHdrVHlwZSkgeworICAgIGNhc2Uga1dLRGlhZ25vc3Rp
Y0xvZ2dpbmdSZXN1bHRQYXNzOgorICAgICAgICB0eXBlID0gV2ViQ29yZTo6RGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRQYXNzOworICAgICAgICBicmVhazsKKyAgICBjYXNlIGtXS0RpYWdub3N0aWNM
b2dnaW5nUmVzdWx0RmFpbDoKKyAgICAgICAgdHlwZSA9IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dn
aW5nUmVzdWx0RmFpbDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBrV0tEaWFnbm9zdGljTG9n
Z2luZ1Jlc3VsdE5vb3A6CisgICAgICAgIHR5cGUgPSBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdE5vb3A7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiB0eXBlOwor
fQorCiBpbmxpbmUgV0tMYXlvdXRNaWxlc3RvbmVzIHRvV0tMYXlvdXRNaWxlc3RvbmVzKFdlYkNv
cmU6OkxheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcykKIHsKICAgICB1bnNpZ25lZCB3a01pbGVz
dG9uZXMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRl
eCAwMTNmMmZjNmJlM2NiNGY1ODg1YWY3ZTM4NzgzZjBmZWZhNmI0YjY0Li5hOWYwYmY4MWZlNTdk
ZjgzYTdiOGZkNzJmNTQ3Zjc5ZTc1OTIxZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcApAQCAtNzI3LDYgKzcyNywxMSBAQCB2b2lkIFdLUGFnZVNldFBhZ2VD
b250ZXh0TWVudUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlQ29udGV4dE1l
bnVDbAogI2VuZGlmCiB9CiAKK3ZvaWQgV0tQYWdlU2V0UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dEJhc2UqIHdrQ2xpZW50KQoreworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50KHdrQ2xpZW50KTsKK30KKwogdm9pZCBXS1BhZ2VTZXRQYWdlRmlu
ZENsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlRmluZENsaWVudEJhc2UqIHdr
Q2xpZW50KQogewogICAgIGNsYXNzIEZpbmRDbGllbnQgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tQ
YWdlRmluZENsaWVudEJhc2U+LCBwdWJsaWMgQVBJOjpGaW5kQ2xpZW50IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaAppbmRleCA4YmFjOGQ0NzUxMDIzZmJhOTIwYmUyMDg0
NTZkZmU4NmJiZmFjYWI4Li5lYjA4ODlkMGZlYjc1OTYwZTlkMTU3Mzg0MTU0NWVkMGM0ZmJmYTk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tO
YXRpdmVFdmVudC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VDb250ZXh0TWVudUNsaWVudC5o
PgorI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oPgogI2lu
Y2x1ZGUgPFdlYktpdC9XS1BhZ2VGaW5kQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUGFn
ZUZpbmRNYXRjaGVzQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLUGFnZUZvcm1DbGllbnQu
aD4KQEAgLTIwNyw2ICsyMDgsNyBAQCBXS19FWFBPUlQgdm9pZCBXS1BhZ2VHZXRJbWFnZUZvckZp
bmRNYXRjaChXS1BhZ2VSZWYgcGFnZSwgaW50MzJfdCBtYXRjaEluZGV4KTsKIFdLX0VYUE9SVCB2
b2lkIFdLUGFnZVNlbGVjdEZpbmRNYXRjaChXS1BhZ2VSZWYgcGFnZSwgaW50MzJfdCBtYXRjaElu
ZGV4KTsKIAogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFnZUNvbnRleHRNZW51Q2xpZW50KFdL
UGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudEJhc2UqIGNsaWVudCk7
CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoV0tQ
YWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50QmFzZSogY2xp
ZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KFdLUGFnZVJlZiBw
YWdlLCBjb25zdCBXS1BhZ2VGaW5kQ2xpZW50QmFzZSogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lk
IFdLUGFnZVNldFBhZ2VGaW5kTWF0Y2hlc0NsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3QgV0tQ
YWdlRmluZE1hdGNoZXNDbGllbnRCYXNlKiBjbGllbnQpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdl
U2V0UGFnZUZvcm1DbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUZvcm1DbGllbnRC
YXNlKiBjbGllbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODAx
M2U3MDJhOTFlZDBiYzk0NjBmNTg4OTc3N2RlMDczZmVjNWIyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnRfaAorI2RlZmluZSBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dF9oCisKKyNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLRGlh
Z25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJu
ICJDIiB7CisjZW5kaWYKKwordHlwZWRlZiB2b2lkICgqV0tQYWdlTG9nRGlhZ25vc3RpY01lc3Nh
Z2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLU3RyaW5n
UmVmIGRlc2NyaXB0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAo
KldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdENhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRpb24sIFdLRGlh
Z25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUNhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVz
Y3JpcHRpb24sIFdLU3RyaW5nUmVmIHZhbHVlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKwor
dHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlIHsKKyAgICBp
bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKK30gV0tQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlOworCit0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudFYwIHsKKyAgICBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJh
c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKKworICAgIC8vIFZlcnNp
b24gMC4KKyAgICBXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2U7CisgICAgV0tQYWdlTG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdDsKKyAgICBXS1BhZ2VMb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgbG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoVmFsdWU7Cit9IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjA7
CisKK2VudW0geyBrV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRDdXJyZW50VmVyc2lvbiBX
S19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFk
IikgPSAwIH07Cit0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7
CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKKwor
ICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlOwor
ICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OworICAgIFdLUGFn
ZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU7Cit9IFdLUGFnZURpYWdub3N0aWNM
b2dnaW5nQ2xpZW50IFdLX0NfREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb25lZCBz
dHJ1Y3QgaW5zdGVhZCIpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5k
aWYgLy8gV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYjQ4MzcxMWE3ZDYwMzI5ZjVlNDI2MmNmZjA1N2MwZmFiYzQ2NmIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5jcHAKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
aCIKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dm9pZCBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdl
KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uKQoreworICAgIGlmICghbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2Up
CisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlKHRv
QVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlc2NyaXB0aW9uLmltcGwo
KSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Cit9CisKK3ZvaWQgV2ViUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoV2ViUGFnZVBy
b3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRp
b24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSByZXN1bHQpCit7CisgICAg
aWYgKCFtX2NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh0b0FQ
SShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZXNjcmlwdGlvbi5pbXBsKCkp
LCB0b0FQSShyZXN1bHQpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworfQorCit2b2lkIFdl
YlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWUoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFtX2NsaWVu
dC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodG9BUEkocGFnZSksIHRvQVBJ
KG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVzY3JpcHRpb24uaW1wbCgpKSwgdG9BUEkodmFsdWUu
aW1wbCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI0ZWFiNzE3NzVmMzE4MGFlM2Zj
YTNjZjg3MWZmNDlhNDYzNWY1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtMCwwICsxLDU1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaAor
I2RlZmluZSBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaAorCisjaW5jbHVkZSAiQVBJ
Q2xpZW50LmgiCisjaW5jbHVkZSAiV0tQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9z
dGljTG9nZ2luZ1Jlc3VsdFR5cGUuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1l
c3BhY2UgQVBJIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZT4geworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudFYwPiBWZXJzaW9uczsKK307CisKK30gLy8gbmFtZXNwYWNl
IEFQSQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZVByb3h5OworCitjbGFz
cyBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlPiB7CitwdWJsaWM6CisgICAgdm9pZCBsb2dE
aWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24pOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoUmVzdWx0KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKTsK
KyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdl
YlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IGYwYTY5OWY2NzQxNzhiODFlMDNhNmFjM2M4MDc0M2Y4NzM0
NjMzYWUuLjVlZWQ5ZWY4MWQ0NWYyY2E1ZDhhZTQzZTZiMjkyZThhMTUxMjg2MTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01NDksNiArNTQ5LDExIEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojppbml0aWFsaXplRmluZE1hdGNoZXNDbGllbnQoY29uc3QgV0tQ
YWdlRmluZE1hdGNoZXNDbGllbnRCYXNlCiAgICAgbV9maW5kTWF0Y2hlc0NsaWVudC5pbml0aWFs
aXplKGNsaWVudCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojppbml0aWFsaXplRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQoY29uc3QgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlKiBj
bGllbnQpCit7CisgICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5pbml0aWFsaXplKGNsaWVu
dCk7Cit9CisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIHZvaWQgV2ViUGFnZVByb3h5Ojpp
bml0aWFsaXplQ29udGV4dE1lbnVDbGllbnQoY29uc3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnRC
YXNlKiBjbGllbnQpCiB7CkBAIC03MDAsMTIgKzcwNSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2xvc2UoKQogICAgIG1fZm9ybUNsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpGb3JtQ2xp
ZW50PigpOwogICAgIG1fdWlDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6VUlDbGllbnQ+
KCk7CiAjaWYgUExBVEZPUk0oRUZMKQotICAgIG1fdWlQb3B1cE1lbnVDbGllbnQuaW5pdGlhbGl6
ZSgwKTsKKyAgICBtX3VpUG9wdXBNZW51Q2xpZW50LmluaXRpYWxpemUobnVsbHB0cik7CiAjZW5k
aWYKICAgICBtX2ZpbmRDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6RmluZENsaWVudD4o
KTsKLSAgICBtX2ZpbmRNYXRjaGVzQ2xpZW50LmluaXRpYWxpemUoMCk7CisgICAgbV9maW5kTWF0
Y2hlc0NsaWVudC5pbml0aWFsaXplKG51bGxwdHIpOworICAgIG1fZGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaW5pdGlhbGl6ZShudWxscHRyKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAg
ICBtX2NvbnRleHRNZW51Q2xpZW50LmluaXRpYWxpemUoMCk7CisgICAgbV9jb250ZXh0TWVudUNs
aWVudC5pbml0aWFsaXplKG51bGxwdHIpOwogI2VuZGlmCiAKICAgICBtX3dlYlByb2Nlc3NMaWZl
dGltZVRyYWNrZXIucGFnZVdhc0ludmFsaWRhdGVkKCk7CkBAIC00MzY2LDYgKzQzNzIsMjEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmVkaXRpbmdSYW5nZUNhbGxiYWNrKGNvbnN0IEVkaXRpbmdSYW5n
ZSYgcmFuZ2UsIHVpbnQ2NF90IGNhbGwKICAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0
aFJldHVyblZhbHVlKHJhbmdlKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
bikKK3sKKyAgICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdl
KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6Omxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCkKK3sKKyAgICBtX2RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh0aGlzLCBtZXNz
YWdlLCBkZXNjcmlwdGlvbiwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdS
ZXN1bHRUeXBlPihyZXN1bHQpKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2RpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKHRoaXMsIG1lc3NhZ2UsIGRl
c2NyaXB0aW9uLCB2YWx1ZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZWN0Rm9yQ2hhcmFj
dGVyUmFuZ2VDYWxsYmFjayhjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBFZGl0aW5nUmFuZ2Um
IGFjdHVhbFJhbmdlLCB1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIE1FU1NBR0VfQ0hFQ0so
YWN0dWFsUmFuZ2UuaXNWYWxpZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCAwNTAyZmFlOTE2M2Y1Y2U3NTA1MjYxMzlhMzdmMjUxZTI1YTJhOTQ0Li4zNWM1
MmUxNzRjNTJmMWUxYzVkYmVkMjEzMjQ1NGYzMDRkMmRhY2VmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVkZSAiV2ViRnJh
bWVQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1
ZGUgIldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJXZWJQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+IC8vIEZJWE1FOiBOZWVkZWQgYnkg
V2ViUGFnZVByb3h5TWVzc2FnZXMuaCBmb3IgRElDVEFUSU9OX0FMVEVSTkFUSVZFUy4KICNpbmNs
dWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgpAQCAtMzA5LDYgKzMxMCw3IEBAIHB1YmxpYzoK
ICAgICBBUEk6OkZpbmRDbGllbnQmIGZpbmRDbGllbnQoKSB7IHJldHVybiAqbV9maW5kQ2xpZW50
OyB9CiAgICAgdm9pZCBzZXRGaW5kQ2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkZpbmRDbGll
bnQ+KTsKICAgICB2b2lkIGluaXRpYWxpemVGaW5kTWF0Y2hlc0NsaWVudChjb25zdCBXS1BhZ2VG
aW5kTWF0Y2hlc0NsaWVudEJhc2UqKTsKKyAgICB2b2lkIGluaXRpYWxpemVEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudChjb25zdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2UqKTsKICAg
ICB2b2lkIHNldEZvcm1DbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6Rm9ybUNsaWVudD4pOwog
ICAgIHZvaWQgc2V0TG9hZGVyQ2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkxvYWRlckNsaWVu
dD4pOwogICAgIHZvaWQgc2V0UG9saWN5Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OlBvbGlj
eUNsaWVudD4pOwpAQCAtMTIxNSw2ICsxMjE3LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRD
dXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7CiAgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5V
bnRpbE1vdXNlTW92ZXMoYm9vbCk7CiAKKyAgICAvLyBEaWFnbm9zdGljIG1lc3NhZ2VzIGxvZ2dp
bmcuCisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgdWludDMyX3QgcmVzdWx0KTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSk7CisKICAgICB2b2lkIGRpZFJlY2VpdmVFdmVudCh1aW50MzJf
dCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpOwogICAgIHZvaWQgc3RvcFJlc3BvbnNpdmVuZXNz
VGltZXIoKTsKIApAQCAtMTM1Niw2ICsxMzYzLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxBUEk6OkZpbmRDbGllbnQ+IG1fZmluZENsaWVudDsKICAgICBXZWJGaW5k
TWF0Y2hlc0NsaWVudCBtX2ZpbmRNYXRjaGVzQ2xpZW50OworICAgIFdlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudCBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50OwogI2lmIEVOQUJMRShDT05U
RVhUX01FTlVTKQogICAgIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudCBtX2NvbnRleHRNZW51Q2xp
ZW50OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCBiZjlkZGFlNmFlMGJiNjlmYjc1Yzk5MmQ1M2U4MzEzZjcyMDQ3
OTkyLi5mOGUwODAzYjIwZjcwMTlkZTljNzEwMzI4ZGRiMDU4MmEyODUwYzhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTIy
Miw2ICsyMjIsMTEgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBDYW5VbmRvUmVk
byh1aW50MzJfdCBhY3Rpb24pIC0+IChib29sIHJlc3VsdCkKICAgICBFeGVjdXRlVW5kb1JlZG8o
dWludDMyX3QgYWN0aW9uKSAtPiAoYm9vbCByZXN1bHQpCiAKKyAgICAjIERpYWdub3N0aWMgbWVz
c2FnZXMgbG9nZ2luZworICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlKFN0cmluZyBtZXNzYWdlLCBT
dHJpbmcgZGVzY3JpcHRpb24pCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFN0
cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCkKKyAgICBM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2Ny
aXB0aW9uLCBTdHJpbmcgdmFsdWUpCisKICAgICAjIEVkaXRvciBub3RpZmljYXRpb25zCiAgICAg
RWRpdG9yU3RhdGVDaGFuZ2VkKHN0cnVjdCBXZWJLaXQ6OkVkaXRvclN0YXRlIGVkaXRvclN0YXRl
KQogICAgIENvbXBvc2l0aW9uV2FzQ2FuY2VsZWQoc3RydWN0IFdlYktpdDo6RWRpdG9yU3RhdGUg
ZWRpdG9yU3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNTliMmY4N2U2MWYwMTE3ZDM2YzY4YTMxNTNkMDA3NDE0ZjY2YmI5
OS4uNWY5ZWFjM2I2NDhhZDVmZjY5NTI0ZWFiMDYwMjIxYzFhYzZlY2YxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTEwNSw2
ICsxMTA1LDEwIEBACiAJCTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VC
YW5uZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0Y0N0ZGQzE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tICov
OyB9OwogCQk3Q0Y0N0ZGRjE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZG
RDE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VDNEYwRkIxOEU0QUNCQjAw
ODA1NkFGIC8qIE5ldHdvcmtQcm9jZXNzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUM0RjBGOTE4RTRBOTQ1MDA4MDU2QUYgLyogTmV0d29y
a1Byb2Nlc3NDb2NvYS5tbSAqLzsgfTsKKwkJODM3MkRCMjUxQTY3NEM4RjAwQzY5N0M1IC8qIFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcyREIyNDFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk4MzcyREIyODFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNzJEQjI2MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuY3BwICovOyB9OworCQk4MzcyREIyOTFBNjc1NjI4MDBDNjk3QzUgLyog
V2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcyREIyNzFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi87IH07CisJCTgzNzJEQjJGMUE2NzdENEEwMEM2
OTdDNSAvKiBXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3MkRCMkUxQTY3N0Q0QTAwQzY5N0M1IC8q
IFdLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JCIC8qIElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovOyB9OwogCQk4NjgxNjBEMDE4
NzY0NTU3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2ODE2MENGMTg3NjQ1MzcwMDIxRTc5
RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tICovOyB9OwogCQk4NkU2N0EyNTE5MTBCOUQx
MDAwMDRBQjcgLyogUHJvY2Vzc1Rocm90dGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZFNjdBMjExOTBGNDExODAwMDA0QUI3IC8qIFByb2Nlc3NU
aHJvdHRsZXIuaCAqLzsgfTsKQEAgLTMyMTMsNiArMzIxNywxMCBAQAogCQk3Q0Y0N0ZGQzE3Mjc2
QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0Y0N0ZGRDE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5k
bGVQYWdlQmFubmVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVu
ZGxlUGFnZUJhbm5lck1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RUM0RjBG
OTE4RTRBOTQ1MDA4MDU2QUYgLyogTmV0d29ya1Byb2Nlc3NDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29jb2EubW07IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4MzcyREIyNDFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM3MkRCMjYxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4MzcyREIyNzFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzcyREIyRTFB
Njc3RDRBMDBDNjk3QzUgLyogV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY4MTYwQ0QxODc2M0Q0QjAwMjFFNzlE
IC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93U2VydmVy
Q29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjgxNjBDRjE4NzY0
NTM3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC02MDAxLDYgKzYwMDksOCBAQAogCQkJCTc1NTQyMkMwMTgwNjJCRTQwMDQ2RjZBOCAv
KiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCTUxNTM1NjlB
MTI5MUIxRDIwMDA3NDlEQyAvKiBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwICovLAogCQkJ
CTUxNTM1NjlCMTI5MUIxRDIwMDA3NDlEQyAvKiBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaCAq
LywKKwkJCQk4MzcyREIyNjFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmNwcCAqLywKKwkJCQk4MzcyREIyNzFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8sCiAJCQkJQkM3QjYyMDUxMjlBMEE2NzAwRDE3
NEE0IC8qIFdlYlBhZ2VHcm91cC5jcHAgKi8sCiAJCQkJQkM3QjYyMDQxMjlBMEE2NzAwRDE3NEE0
IC8qIFdlYlBhZ2VHcm91cC5oICovLAogCQkJCUJDMTExQjBCMTEyRjVFNEYwMDMzN0JBQiAvKiBX
ZWJQYWdlUHJveHkuY3BwICovLApAQCAtNjEzOCw2ICs2MTQ4LDcgQEAKIAkJCQlCQ0Q1OTdENDEx
MkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmNwcCAqLywKIAkJCQlCQ0Q1OTdENTExMkI1NkRDMDBF
QzhDMjMgLyogV0tQYWdlLmggKi8sCiAJCQkJMUFCOEExRjcxODQwMEJCODAwRTlBRTY5IC8qIFdL
UGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCisJCQkJODM3MkRCMjQxQTY3NEM4RjAwQzY5N0M1
IC8qIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8sCiAJCQkJMUFCOEExRjMxODQw
MEI4RjAwRTlBRTY5IC8qIFdLUGFnZUZpbmRDbGllbnQuaCAqLywKIAkJCQkxQUI4QTFGNTE4NDAw
QjlEMDBFOUFFNjkgLyogV0tQYWdlRmluZE1hdGNoZXNDbGllbnQuaCAqLywKIAkJCQkxQUI4QTFF
RjE4NDAwQjAwMDBFOUFFNjkgLyogV0tQYWdlRm9ybUNsaWVudC5oICovLApAQCAtNjg0NCw2ICs2
ODU1LDcgQEAKIAkJCQlCQzQwNzVEQzEyNEZGMDI3MDA2OEYyMEEgLyogV0tEYXRhLmggKi8sCiAJ
CQkJMzc3RUFENDQxN0UyQzUxQTAwMkQxOTNEIC8qIFdLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgg
Ki8sCiAJCQkJMUFGRjQ4RkUxODMzREU3ODAwOUFCMTVBIC8qIFdLRGVwcmVjYXRlZEZ1bmN0aW9u
cy5jcHAgKi8sCisJCQkJODM3MkRCMkUxQTY3N0Q0QTAwQzY5N0M1IC8qIFdLRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlLmggKi8sCiAJCQkJQkM0MDc1REQxMjRGRjAyNzAwNjhGMjBBIC8qIFdL
RGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJQkM0MDc1REUxMjRGRjAyNzAwNjhGMjBBIC8qIFdLRGlj
dGlvbmFyeS5oICovLAogCQkJCUJDNDA3NURGMTI0RkYwMjcwMDY4RjIwQSAvKiBXS0Vycm9yUmVm
LmNwcCAqLywKQEAgLTczNzUsNiArNzM4Nyw3IEBACiAJCQkJQkNFODFEOTkxMzFBRTAyMTAwMjQx
OTEwIC8qIERpY3Rpb25hcnlQb3B1cEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEU4RjA4
MTZCMjA5MzcwMEU5MTQyOSAvKiBEb3dubG9hZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThG
MEExNkIyMDkzNzAwRTkxNDI5IC8qIERvd25sb2FkQXV0aGVudGljYXRpb25DbGllbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTgzNzJEQjI5MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY2MzEzMThFMEI3Qzgw
MDNBM0UyQSAvKiBEb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThGMEMx
NkIyMDkzNzAwRTkxNDI5IC8qIERvd25sb2FkTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFCN0Q0Q0ExMjg4QUFBNzAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHkuaCBpbiBIZWFkZXJzICov
LApAQCAtNzU3Myw2ICs3NTg2LDcgQEAKIAkJCQkzMzE1Mjk3NjEzMEQwQ0IyMDBFRDI0ODMgLyog
U2VjdXJpdHlPcmlnaW5EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTREOUY1NzE5MTE5RDM1
MDAwMDYzQTcgLyogU2VydmljZXNDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUZE
RTY1QTE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4MzcyREIyNTFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNz
aW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4
ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2NDIwRTUxMkRD
RTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5oIGluIEhlYWRlcnMgKi8sCkBAIC03ODQy
LDYgKzc4NTYsNyBAQAogCQkJCUJDMjA1MjgxMTFDOTQyODQwMDhGMzM3NSAvKiBXS0J1bmRsZVBh
Z2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRjQ3RkY3MTcyNzVCNzEwMDhBQ0I5MSAvKiBXS0J1
bmRsZVBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRjQ3RkZGMTcyNzZBRTMwMDhB
Q0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzNzJE
QjJGMUE2NzdENEEwMEM2OTdDNSAvKiBXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RTQxODRENDQ5ODAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFODE4NEQ0NEQw
MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQjQ3NEUwMTg0RDQ0NkEwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VFZGl0
b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODk5MSw2ICs5MDA2LDcgQEAKIAkJCQlBMTE1
REM3MTE5MUQ4MkQ3MDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkQzNTNCMTIxOUY4MzA1RDAwMEVFQUNEIC8qIEFjdGlvbk1lbnVIaXRU
ZXN0UmVzdWx0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdENzkyRDYxNzY3Q0I2RTAwODgxQ0JF
IC8qIEFjdGl2aXR5QXNzZXJ0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNzJEQjI4MUE2
NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM2NDY5NkYxMURCRTYwMzAwNjQ1NUIwIC8qIEFQSUFycmF5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBQUIwMzdDMTg1Rjk5RDgwMEVERjUwMSAvKiBBUElEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBMUVGMTk5MUExRDVCNDIwMDIzMjAwQSAvKiBBUElEYXRh
Q29jb2EubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCA0YjAyOTlkMzdkY2Jk
ZGNmZjU2OTExYTVjNjFlNDJkZDUyZTA3YTQ2Li40Njc5MmQ1ODJkOTMwMDhhYjBmNTg4NzlmZmY3
MjNkYTcwNGIwNTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC0yNywxMyArMjcsNyBAQAogI2RlZmlu
ZSBXS0J1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudF9oCiAKICNpbmNsdWRlIDxXZWJL
aXQvV0tCYXNlLmg+Ci0KLWVudW0gewotICAgIGtXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFz
cyA9IDAsCi0gICAga1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsID0gMSwKLSAgICBrV0tE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdE5vb3AgPSAyLAotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGU7CisjaW5jbHVkZSA8V2ViS2l0L1dLRGlhZ25vc3Rp
Y0xvZ2dpbmdSZXN1bHRUeXBlLmg+CiAKIHR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBt
ZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tTdHJpbmdSZWYgc3VjY2VzcywgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VMb2dEaWFn
bm9zdGljTWVzc2FnZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
bWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmNwcAppbmRleCBlYjYxNmVlZjBhNGI3M2M1NjZmZTIxOWEwNWZiNDYw
MmE3NDE3MDJkLi40NDNmMGM2YjI0ODVjZGRiYjU3YTllMmEzYWYzNTFkNDZiMDcwZjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKFdlYlBhZ2Uq
IHBhCiAgICAgbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2UodG9BUEkocGFnZSksIHRvQVBJ
KG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVzY3JpcHRpb24uaW1wbCgpKSwgbV9jbGllbnQuYmFz
ZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2UqIHBhZ2Us
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV0tEaWFn
bm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgcmVzdWx0KQordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdl
YlBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCkKIHsKICAg
ICBpZiAoIW1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCkKICAgICAgICAg
cmV0dXJuOwotICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh0b0FQ
SShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZXNjcmlwdGlvbi5pbXBsKCkp
LCByZXN1bHQsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQubG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwo
KSksIHRvQVBJKGRlc2NyaXB0aW9uLmltcGwoKSksIHRvQVBJKHJlc3VsdCksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2UqIHBhZ2Us
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCBiYjZlYWVmNWUwYjg5ZWM2NGNkNmIy
YWQyN2JjNGViMzUyOGU3MjJhLi45ZWRhYTdjNzY4M2Q2YjE1YzQ3NjViMzA0NmMwZWE1NmRmOWU1
Y2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQVBJQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVQYWdlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNCYXNlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5
cGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgQVBJIHsKQEAgLTQ3
LDcgKzQ4LDcgQEAgY2xhc3MgSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tCdW5kbGVQYWcKIHB1YmxpYzoKICAgICB2b2lkIGxv
Z0RpYWdub3N0aWNNZXNzYWdlRGVwcmVjYXRlZChXZWJQYWdlKiwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN1Y2Nlc3MpOwog
ICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoV2ViUGFnZSosIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbik7Ci0gICAgdm9pZCBsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhSZXN1bHQoV2ViUGFnZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBkZXNjcmlwdGlvbiwgV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUpOworICAg
IHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2UqLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZShXZWJQYWdlKiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKaW5kZXggN2U3YzliOTM4MWU3ZmY3MjliNzE5MWM0NDM3
MjY0MzllMDFjYWI2Mi4uOGJlMTZmM2NjNjZkM2JkMzcwODUyN2ViNDI0MWJjOTU4MTEwNzYyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbmNsdWRlICJXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogCiAjaW5j
bHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ1LDE1
ICs0NiwxOSBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbgogICAgIGlmICghbV9wYWdlLmNvcmVQ
YWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBpbmplY3RlZCBidW5kbGUgQVBJLgog
ICAgIG1fcGFnZS5pbmplY3RlZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlh
Z25vc3RpY01lc3NhZ2UoJm1fcGFnZSwgbWVzc2FnZSwgZGVzY3JpcHRpb24pOworICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlKG1lc3Nh
Z2UsIGRlc2NyaXB0aW9uKSk7CiB9CiAKLXZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6
OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
OjpMb2dSZXN1bHRUeXBlIHJlc3VsdCkKK3ZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6
OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZSByZXN1bHQpCiB7CiAgICAgaWYgKCFtX3BhZ2UuY29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5k
aWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gRklY
TUU6IFJlbW92ZSB0aGlzIGluamVjdGVkIGJ1bmRsZSBBUEkuCiAgICAgbV9wYWdlLmluamVjdGVk
QnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhS
ZXN1bHQoJm1fcGFnZSwgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHJlc3VsdCk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCByZXN1bHQpKTsKIH0KIAogdm9pZCBXZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZh
bHVlKQpAQCAtNjEsNyArNjYsOSBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lcwogICAgIGlmICgh
bV9wYWdlLmNvcmVQYWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBpbmplY3RlZCBi
dW5kbGUgQVBJLgogICAgIG1fcGFnZS5pbmplY3RlZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoJm1fcGFnZSwgbWVzc2FnZSwgZGVz
Y3JpcHRpb24sIHZhbHVlKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFs
dWUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggMWFiMTAxNjJhZmYyM2M3YjRhNGZiZjA1YTA5NWYxNTZm
NzEyMzIzYS4uNDZlZTY5OGI1NzQ4MGE1ZjNjYzJlZDRlODMxMDg0MzJjNmViMTJjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDAsNyArNDAsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdl
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIExvZ1Jlc3VsdFR5
cGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhS
ZXN1bHQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpIG92ZXJy
aWRlOwogCiAgICAgV2ViUGFnZSYgbV9wYWdlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>