<?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>238676</bug_id>
          
          <creation_ts>2022-04-01 11:46:50 -0700</creation_ts>
          <short_desc>IPC::StreamServerConnectionBase has only one subclass, they should be merged</short_desc>
          <delta_ts>2022-04-26 05:41:24 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237674</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1857342</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-01 11:46:50 -0700</bug_when>
    <thetext>IPC::StreamServerConnectionBase has only one subclass, it should be removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857344</commentid>
    <comment_count>1</comment_count>
      <attachid>456382</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-01 11:52:02 -0700</bug_when>
    <thetext>Created attachment 456382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857347</commentid>
    <comment_count>2</comment_count>
      <attachid>456384</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-01 11:52:58 -0700</bug_when>
    <thetext>Created attachment 456384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857751</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-04 00:30:54 -0700</bug_when>
    <thetext>Committed r292280 (249178@main): &lt;https://commits.webkit.org/249178@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456384.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857752</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-04 00:31:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/91227322&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456382</attachid>
            <date>2022-04-01 11:52:02 -0700</date>
            <delta_ts>2022-04-01 11:52:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238676-20220401215200.patch</filename>
            <type>text/plain</type>
            <size>42998</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRjYzBkODIyMmFlYzM2ZDA3
ODdlOWY0YTg0ZjgxYWJlOGZkMGJhMTAuLjMyOTI3MTYxYzI2N2IwZjVhOTk3MzNkMGQ4NTY2Yzcz
ZGE1Y2I2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMjItMDQtMDEgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJUEM6OlN0cmVhbVNlcnZl
ckNvbm5lY3Rpb25CYXNlIGhhcyBvbmx5IG9uZSBzdWJjbGFzcywgaXQgc2hvdWxkIGJlIHJlbW92
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdl
IElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UgYW5kIElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbi4KKyAgICAgICAgVGhlIGJhc2Ugd2FzIHVzZWZ1bCB3aGVuIHRoZSBjb25jcmV0ZSBj
bGFzc2VzIHdlcmUgdGVtcGxhdGVzIHBlciBtZXNzYWdlIHJlY2VpdmVyLgorICAgICAgICBUaGUg
Y29uY3JldGUgY2xhc3Mgd2FzIGNoYW5nZWQgdG8gdXNlIG11bHRpcGxlIG1lc3NhZ2UgcmVjZWl2
ZXJzLCBhbmQgdGhlIHRlbXBsYXRpbmcKKyAgICAgICAgd2FzIHJlcGxhY2VkIHdpdGggaWQgbG9v
a3VwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0b3IuCisKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQWRhcHRlci5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cC5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRCdWZmZXIuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5j
b2Rlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1
dGVQaXBlbGluZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZURldmljZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4
dGVybmFsVGV4dHVyZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUdQVS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVBp
cGVsaW5lTGF5b3V0Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlUXVlcnlTZXQuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVRdWV1ZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlckJ1bmRsZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVJlbmRlckJ1bmRsZUVuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBpcGVsaW5lLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlU2FtcGxlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNoYWRlck1vZHVsZS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJlVmlldy5oOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9IYW5kbGVNZXNzYWdlLmg6CisgICAgICAgIChJUEM6OmhhbmRsZU1lc3NhZ2VTeW5jaHJv
bm91cyk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUu
Y3BwOgorICAgICAgICAoSVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1D
b25uZWN0aW9uKToKKyAgICAgICAgKElQQzo6U3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6cmVt
b3ZlU3RyZWFtQ29ubmVjdGlvbik6CisgICAgICAgIChJUEM6OlN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWU6OnByb2Nlc3NTdHJlYW1zKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFtQ29u
bmVjdGlvbldvcmtRdWV1ZS5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9TdHJlYW1NZXNzYWdl
UmVjZWl2ZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb246OlN0cmVhbVNlcnZl
ckNvbm5lY3Rpb24pOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdGFy
dFJlY2VpdmluZ01lc3NhZ2VzKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbjo6ZW5xdWV1ZU1lc3NhZ2UpOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uOjp0cnlBY3F1aXJlKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bjo6YWNxdWlyZUFsbCk6CisgICAgICAgIChJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnJl
bGVhc2UpOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpyZWxlYXNlQWxs
KToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6YWxpZ25lZFNwYW4pOgor
ICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzaXplKToKKyAgICAgICAgKElQ
Qzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6Y2xhbXBlZExpbWl0IGNvbnN0KToKKyAgICAgICAg
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6ZGlzcGF0Y2hTdHJlYW1NZXNzYWdlcyk6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAg
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6c2VuZFN5bmNSZXBseSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChnZW5lcmF0ZV9tZXNzYWdlX2hh
bmRsZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGVzdFdpdGhTdHJlYW06OmRpZFJl
Y2VpdmVTdHJlYW1NZXNzYWdlKToKKyAgICAgICAgKiBTaGFyZWQvSVBDU3RyZWFtVGVzdGVyLmg6
CisKIDIwMjItMDQtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uZ2V0Tm90aWZpY2F0aW9ucyBzaG91bGQgbGlz
dCBhbGwgcGVyc2lzdGVudCBub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuaApp
bmRleCAzYmJhZjc2NWQwNWY0NGFiZjRkOTYxZTc2NmNlNjU0Njk4ZWRlMjk0Li5jNTliNjJkNTU1
YTc3YTMyN2E4M2JlNzFiZmFmOTU4MWMyNjcyZGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVy
LmgKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHZvaWQgc3RhcnRM
aXN0ZW5pbmdGb3JJUEMoKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2
b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgV2Vha1B0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZl
cj4gbV9pbWFnZUJ1ZmZlcjsKICAgICBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIgbV9pbWFnZUJ1ZmZlcklkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IDMy
MzUwNTJiMWJiMDZiZWE2ZjUyNjUzN2ZlNGZhODIzMjBmZTI2NGUuLmZmZjVlNzFjMzViMzIxMzg3
N2E5NjU2OTk0MWE2ZjViOGQ5ZjM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCkBAIC04Miw3
ICs4Miw3IEBAIHB1YmxpYzoKICAgICB+UmVtb3RlR3JhcGhpY3NDb250ZXh0R0woKSBvdmVycmlk
ZTsKICAgICB2b2lkIHN0b3BMaXN0ZW5pbmdGb3JJUEMoUmVmPFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMPiYmIHJlZkZyb21Db25uZWN0aW9uKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZp
bmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IHZvaWQgZGlzcGxheVdhc1JlY29uZmlndXJlZCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
aAppbmRleCAyYzI5MDk1ZGE4NWMyNWMzYTVlZDVlN2YxZWU1Njg5ZWZmNjcxYTI4Li5kMTUwYzU2
ZTc1YTg0ZDE4NjU3ZDhkMjA4ODkxMTkzNGM0MTM4ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgK
QEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgUmVtb3RlUmVzb3VyY2VDYWNoZSYgcmVt
b3RlUmVzb3VyY2VDYWNoZSgpIHsgcmV0dXJuIG1fcmVtb3RlUmVzb3VyY2VDYWNoZTsgfQogCi0g
ICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rp
b25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFt
TWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5h
bDsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHNlbnQuCiAgICAgdm9pZCBkaWRDcmVhdGVJbWFn
ZUJ1ZmZlckJhY2tlbmQoSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlLCBRdWFsaWZpZWRSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXIsIFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXImKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQWRh
cHRlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVB
ZGFwdGVyLmgKaW5kZXggOWY3MzRlMDliNDY3MzViNDhiYjcyZDAzY2M0YzllZWQ4ZmI0NjIyYy4u
N2NhZDA3MGU0MmFmYWIwMDM0NzIzYzQ2ZWNmMmFmNWIxMzg0MjJlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVBZGFwdGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVBZGFwdGVy
LmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpBZGFwdGVy
JiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVT
dHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29k
ZXImKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCByZXF1
ZXN0RGV2aWNlKGNvbnN0IFdlYkdQVTo6RGV2aWNlRGVzY3JpcHRvciYsIFdlYkdQVUlkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViR1BVOjpTdXBwb3J0ZWRGZWF0dXJlcyYmLCBX
ZWJHUFU6OlN1cHBvcnRlZExpbWl0cyYmKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cC5oCmluZGV4
IDhiMmJiOGU3NWZhYjI1YjMyNjMxNDRjYTcxYzUyYWFlOGU0NGQxYmMuLjQxZDExMjI0NjczYWU1
NjQ2MTAwMjVmZDc2MGUyMmJlZTg4YzBkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCaW5kR3JvdXAuaApAQCAtNzAs
NyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OkJpbmRHcm91cCYgYmFja2lu
ZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVz
c2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3Ry
aW5nJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCaW5kR3JvdXBMYXlvdXQuaAppbmRleCAwZDFmNGNiNjk1
YjkwNjVmMDM3ZjcxMWNhODg3YTk2ZjliODI5MDBiLi44M2JhZDIwYTAyMjNlM2M2YWVlYzA2NmNm
ZWQyMjBmNTRmMWE1MWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwTGF5b3V0LmgKQEAgLTcw
LDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpCaW5kR3JvdXBMYXlvdXQm
IGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0
cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2Rl
ciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNldExh
YmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgKaW5kZXggYzcwMjdiYzllOTdhOTJiYzlmZjZj
M2VjY2M3ZWYyMWIzOTBkODA3My4uY2ZiMDBiY2FmYTZkOTk1NmJjODhjZTdiNWIwZTI1YWI0YmNi
N2I3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJ1ZmZlci5oCkBAIC03NSw3ICs3NSw3IEBAIHByaXZhdGU6CiAKICAgICBQ
QUw6OldlYkdQVTo6QnVmZmVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAg
ICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1N
ZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OwogCiAgICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBQQUw6Oldl
YkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBz
aXplRm9yTWFwLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVp
bnQ4X3Q+PiYmKT4mJik7CiAgICAgdm9pZCB1bm1hcChWZWN0b3I8dWludDhfdD4mJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEJ1ZmZlci5oCmluZGV4IDdjMTA0MjZkMTZlMGY5OGViYjYyMmQxNzBlZGZl
MmE4ZThkMjFkMTUuLjMzZjQ2YjFmNTg3ZjI5MThlZDE2NWU2NjI0ZmZmODgxNzI0YzM5MTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tbWFuZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEJ1ZmZlci5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAK
ICAgICBQQUw6OldlYkdQVTo6Q29tbWFuZEJ1ZmZlciYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFj
a2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNl
cnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRS
ZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbW1hbmRFbmNvZGVyLmgKaW5kZXggOWE0N2M2MzkyMjliNGRjNDA1ZmVlMjlkZTljNmU3
YWMwZDJlNjZiNi4uYzEyMjI0MWRkOWZkMzU4YWZkYWM1MTUxMzg2MmVjZjg5OWMxZmI4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgog
CiAgICAgUEFMOjpXZWJHUFU6OkNvbW1hbmRFbmNvZGVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9i
YWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBiZWdpblJlbmRlclBhc3MoY29uc3QgV2ViR1BV
OjpSZW5kZXJQYXNzRGVzY3JpcHRvciYsIFdlYkdQVUlkZW50aWZpZXIpOwogICAgIHZvaWQgYmVn
aW5Db21wdXRlUGFzcyhjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkdQVTo6Q29tcHV0ZVBhc3NEZXNj
cmlwdG9yPiYsIFdlYkdQVUlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyLmgKaW5kZXggODIxYTUwYTY0ODRmNjFhZGI5NmZjZDNmMjc0NmFlMTFiMjEzM2M0Mi4u
ZTVjYmM0MzQ0M2IzYWI0Y2NmNjYwN2E4ZWRlODAxMTIxZjE4ZWIwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAKICAg
ICBQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9i
YWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJHUFVJZGVudGlmaWVy
KTsKICAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRY
LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpT
aXplMzIgd29ya2dyb3VwQ291bnRaID0gMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQaXBlbGluZS5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGlwZWxpbmUu
aAppbmRleCA4OWU5ODI5MDEzMTlhYjRlZDA2NDhmMmE5OGIyZjFlYjdhOWU3NzgxLi45MDM4MjZk
NGU0MGNkM2RhMGZiN2Y5MzBjZGQ0NTNjMTliMmIxNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQaXBlbGluZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0
ZVBpcGVsaW5lLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BV
OjpDb21wdXRlUGlwZWxpbmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiAKICAgICB2b2lkIGdldEJpbmRHcm91cExheW91dCh1aW50MzJfdCBpbmRleCwgV2ViR1BVSWRl
bnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlRGV2aWNlLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZURldmljZS5oCmluZGV4IDI2Njc4ZjQ4MDA2Nzk0MWZmZjJhN2FiNmE3
M2NiY2ViM2Y4NGFkMzYuLjc1M2M2YjEzMWI2Y2FjYWU4MTg2NWYzNGYxM2U5Y2NiNmQ5N2Y5YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVEZXZpY2UuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpX
ZWJHUFU6OkRldmljZSYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9p
ZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNl
JiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2Fn
ZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAog
ICAgIHZvaWQgZGVzdHJveSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4dGVybmFsVGV4dHVyZS5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVFeHRlcm5hbFRleHR1cmUuaAppbmRl
eCA3YmRjZTdiZmFmMzZiZjM4OTMwZTlhYjdiNWI4Mjc1MDFiZjI2YjkzLi5hNTUwODI0ZmRiYzc4
N2UzMjI1YjYwMmVmMTkxZTE0YjliNGZjODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4dGVybmFsVGV4dHVyZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlRXh0ZXJuYWxUZXh0
dXJlLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpFeHRl
cm5hbFRleHR1cmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQg
ZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2Uo
SVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAg
ICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVLmgKaW5kZXggNzIxNzRiNWVmYTQ2YzM0
ZTYzNTlmZjBkOWUzZmRlODJiOGI0ZjA0My4uMTcwNDFiZmVkNTUyNjYxYzYzYmUxYjVkZTRlZjA3
ZDA0ODJhYzI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVHUFUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZUdQVS5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1fc3RyZWFtQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoV1RGTW92ZSht
ZXNzYWdlKSwgbV9pZGVudGlmaWVyKTsKICAgICB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJl
YW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCByZXF1ZXN0
QWRhcHRlcihjb25zdCBXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucyYsIFdlYkdQVUlkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxSZXF1ZXN0QWRhcHRl
clJlc3BvbnNlPiYmKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUGlwZWxpbmVMYXlvdXQuaAppbmRleCA0
YzUwYjU2OGIxODdjNzIyYTM2NzA3M2QxOWJmYWVhMzY0NDQ0M2NhLi5mNmE5ZWI1ZjgzNzAzN2Fi
ODg2ZThjNjVhOWFmNWRlNDM4NzE4Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVBpcGVsaW5lTGF5b3V0LmgKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVQaXBlbGluZUxheW91dC5o
CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAKICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVM
YXlvdXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVj
ZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lk
IHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWVyeVNldC5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWVyeVNldC5oCmluZGV4IDRmYmY5OGY5NmI1
ZjBhNDFkMzY2ZTc1YjUyY2Y3MmZmZGVjOWJhNDcuLjg2OTMzOGM3NDFiMDFkYThlNjNmNTMzYWZi
MjUzNDE4Zjg5MGQ0MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUXVlcnlTZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXJ5U2V0LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJp
dmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpRdWVyeVNldCYgYmFja2luZygpIHsgcmV0dXJuIG1f
YmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVh
bVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBk
aWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgZGVzdHJveSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlLmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlLmgKaW5k
ZXggMjhkOTMxMmZiMzIyNTFhZDQ2NDdlZjJlMGViYjlhYjc2ZGYxYjVmNi4uMWVhZjk3Zjc5Y2Uw
ZjA0NWMwZTJiMTJmOWRlZTcwM2I2OWIyMWM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWUuaApAQCAtNzksNyArNzks
NyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlF1ZXVlJiBiYWNraW5nKCkgeyByZXR1
cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2
b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzdWJtaXQoVmVjdG9yPFdlYkdQVUlk
ZW50aWZpZXI+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJCdW5kbGUuaAppbmRleCBkNThhY2QwZTk4
ZDhlNDZkNTAyMmY3YjBlNWFkNjE2Mzc0Y2UxODVlLi42ODg4MjEyNTMyMzI0NTlhNGUyYTExOTAy
ZjEyMjcwZWNiNjM0YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyQnVuZGxlLmgKQEAgLTcwLDcgKzcw
LDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGUmIGJhY2tpbmco
KSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3Nh
Z2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNldExhYmVsKFN0cmlu
ZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJCdW5kbGVFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVuY29kZXIuaAppbmRleCBkYWUw
NzA1YTQ0NDJmMDczMTIxMzc2MDkxZWViNTI2MDVjYjY1YjVmLi5hMmNjNDA3NzhiMzg5NmI3NWEz
NWIyZWQxNWJkNjI1MDhiOGRhMzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVu
Y29kZXIuaApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlJl
bmRlckJ1bmRsZUVuY29kZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKFdlYkdQVUlkZW50aWZpZXIpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBh
c3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggZmY5Y2VlMWNkMTY4ZGI1ODk3YTc1ZDE2NmIy
NWRlNTM1ZmRhMjIwOC4uNWU2NzJkYmJiNDQ2MzJkN2Y5ZDZmOTc1ZTg5ZjVhMzk3NTdlYjIyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtNzMsNyArNzMsNyBAQCBw
cml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVyJiBiYWNraW5nKCkg
eyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdl
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
KyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJH
UFVJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQaXBlbGluZS5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQaXBlbGluZS5oCmluZGV4IDViNzBl
MGJmZGZlMmY1MWMyMWU1MzI3MmJkNzFiOWMzZDA3NjBmYjAuLjlhZTJhYmU3MzdkY2ZkNzA3MGFk
ZmMzYzVjYTQ4M2NjNDk1ZjZlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGlwZWxpbmUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBpcGVsaW5lLmgKQEAg
LTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJQaXBlbGlu
ZSYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZl
U3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNv
ZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVh
bVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgZ2V0
QmluZEdyb3VwTGF5b3V0KHVpbnQzMl90IGluZGV4LCBXZWJHUFVJZGVudGlmaWVyKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVT
YW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVNhbXBsZXIuaAppbmRleCA0NDIzZDk3MDdmZDZiY2ZmZGQwMGIyMTIxYTNjZWM2N2U0YmZmM2Uz
Li41Y2I4ZDU3OWMxMDZhNjRhMjQ1ODdhYmE0Y2I1MTUyODI1YjJmYjViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNhbXBsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNhbXBs
ZXIuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlNhbXBs
ZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2
ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVj
b2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJl
YW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNl
dExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVTaGFkZXJNb2R1bGUuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlU2hhZGVyTW9kdWxlLmgKaW5kZXggYTJhODNi
NGFhNTI3MjQyYTU0NDY0MDk3ZWI0NDg2ODE5MzBlYzBkNC4uYWFlODQ4YjJhNmEyZTE1OGM1ZDZl
MWU2OTU1NTM1MmIyMmVmMGNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVTaGFkZXJNb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNoYWRlck1vZHVsZS5oCkBAIC03Myw3
ICs3Myw3IEBAIHByaXZhdGU6CiAKICAgICBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlJiBiYWNr
aW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1N
ZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBm
aW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVy
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBjb21waWxhdGlv
bkluZm8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViR1BVOjpDb21waWxhdGlvbk1l
c3NhZ2U+JiYpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaAppbmRleCA3OGVmZDcwNWJlYTI0OGEyNGU2
OTAwNWViYzBkMTQxMTdkN2IzZTE2Li5jODUzMTU1NDFkNTZjMDA0YThmZmVmZjM1MGFjMTI4NTYw
OGFmYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZVRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaApAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogCiAg
ICAgUEFMOjpXZWJHUFU6OlRleHR1cmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0K
IAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0
cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikg
ZmluYWw7CiAKICAgICB2b2lkIGNyZWF0ZVZpZXcoY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJHUFU6
OlRleHR1cmVWaWV3RGVzY3JpcHRvcj4mLCBXZWJHUFVJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJl
Vmlldy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVU
ZXh0dXJlVmlldy5oCmluZGV4IDViZmE1MWQyYTJmMWIyYjgwNjkxMDRiZGQxNjU0ODQyYzU5MWYz
NTEuLjViYzI3ZmRiY2YxODQzZTMzM2U4YjY3ZDkxZDZiYTZiNDJkZjZlM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlVGV4dHVyZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVRleHR1cmVWaWV3LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlVmlldyYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAg
dm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVz
c2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
IAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9IYW5kbGVNZXNzYWdlLmgKaW5kZXggN2IxMjljYmM3ZWEwNzgyZDAzOTFhODFlODU1YTk3
Y2Y2NGQyZWEyOS4uNjNiOGZhODY3ZWYxNWE5ZjMwYTAyZmFlY2YwOWY4OGU3YjVhZTcxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaApAQCAtMjQwLDcgKzI0
MCw3IEBAIGJvb2wgaGFuZGxlTWVzc2FnZVN5bmNocm9ub3VzV2FudHNDb25uZWN0aW9uKENvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIERlY29kZXImIGRlCiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GPgotdm9pZCBoYW5kbGVNZXNzYWdlU3luY2hyb25vdXMo
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmIGNvbm5lY3Rpb24sIERlY29kZXImIGRlY29kZXIs
IEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit2b2lkIGhhbmRsZU1lc3NhZ2VTeW5jaHJvbm91cyhT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBEZWNvZGVyJiBkZWNvZGVyLCBDKiBv
YmplY3QsIE1GIGZ1bmN0aW9uKQogewogICAgIENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3lu
Y1JlcXVlc3RJRDsKICAgICBpZiAoVU5MSUtFTFkoIWRlY29kZXIuZGVjb2RlKHN5bmNSZXF1ZXN0
SUQpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5l
Y3Rpb25Xb3JrUXVldWUuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29u
bmVjdGlvbldvcmtRdWV1ZS5jcHAKaW5kZXggNjNlNTVlMTNlOWU0NzJiOWNkMjMwYjcxODAzMTNh
Y2YyZjE3Y2YxNy4uOTNmZGQ3MTBmMzI5MTZiNjc0NzdmMmU3MDkzZjQ2NjBmZTYyZWRmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtR
dWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlv
bldvcmtRdWV1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBTdHJlYW1Db25uZWN0aW9uV29y
a1F1ZXVlOjpkaXNwYXRjaChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB3
YWtlVXAoKTsKIH0KIAotdm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1D
b25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiBjb25uZWN0aW9uKQordm9pZCBT
dHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgewogICAgICAgICBMb2NrZXIgbG9ja2Vy
IHsgbV9sb2NrIH07CkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgU3RyZWFtQ29ubmVjdGlvbldvcmtR
dWV1ZTo6YWRkU3RyZWFtQ29ubmVjdGlvbihTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYKICAg
ICB3YWtlVXAoKTsKIH0KIAotdm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpyZW1vdmVT
dHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiBjb25uZWN0aW9uKQor
dm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpyZW1vdmVTdHJlYW1Db25uZWN0aW9uKFN0
cmVhbVNlcnZlckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgewogICAgICAgICBMb2Nr
ZXIgbG9ja2VyIHsgbV9sb2NrIH07CkBAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBTdHJlYW1Db25u
ZWN0aW9uV29ya1F1ZXVlOjpwcm9jZXNzU3RyZWFtcygpCiAgICAgYm9vbCBoYXNNb3JlVG9Qcm9j
ZXNzID0gZmFsc2U7CiAgICAgZG8gewogICAgICAgICBEZXF1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4+IGZ1bmN0aW9uczsKLSAgICAgICAgVmVjdG9yPFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZT4+IGNvbm5lY3Rpb25zOworICAgICAgICBWZWN0b3I8UmVmPFN0cmVhbVNlcnZlckNvbm5l
Y3Rpb24+PiBjb25uZWN0aW9uczsKICAgICAgICAgewogICAgICAgICAgICAgTG9ja2VyIGxvY2tl
ciB7IG1fbG9jayB9OwogICAgICAgICAgICAgZnVuY3Rpb25zLnN3YXAobV9mdW5jdGlvbnMpOwpA
QCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6cHJvY2Vz
c1N0cmVhbXMoKQogCiAgICAgICAgIGhhc01vcmVUb1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAg
Zm9yIChhdXRvJiBjb25uZWN0aW9uIDogY29ubmVjdGlvbnMpCi0gICAgICAgICAgICBoYXNNb3Jl
VG9Qcm9jZXNzIHw9IGNvbm5lY3Rpb24tPmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoZGVmYXVsdE1l
c3NhZ2VMaW1pdCkgPT0gU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6Okhhc01vcmVNZXNzYWdl
czsKKyAgICAgICAgICAgIGhhc01vcmVUb1Byb2Nlc3MgfD0gY29ubmVjdGlvbi0+ZGlzcGF0Y2hT
dHJlYW1NZXNzYWdlcyhkZWZhdWx0TWVzc2FnZUxpbWl0KSA9PSBTdHJlYW1TZXJ2ZXJDb25uZWN0
aW9uOjpIYXNNb3JlTWVzc2FnZXM7CiAgICAgfSB3aGlsZSAoaGFzTW9yZVRvUHJvY2Vzcyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWUuaAppbmRleCAyZWIyMDFlZjhmM2UyYTYxZDZkMTVjZWMyZmIwNjkxMWNhZWNj
Y2JkLi42NzE0ZGRiZjAwZjgwOWY3ZTc5ZDBhMDJhMmNlZDIyNDNhYTg5YWNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmgK
KysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1
ZS5oCkBAIC00NSw4ICs0NSw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWUoY29uc3QgY2hhciopOwogICAgIH5TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlKCk7Ci0g
ICAgdm9pZCBhZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJik7
Ci0gICAgdm9pZCByZW1vdmVTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlJik7CisgICAgdm9pZCBhZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rp
b24mKTsKKyAgICB2b2lkIHJlbW92ZVN0cmVhbUNvbm5lY3Rpb24oU3RyZWFtU2VydmVyQ29ubmVj
dGlvbiYpOwogCiAgICAgdm9pZCBkaXNwYXRjaChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmlu
YWw7CiAgICAgdm9pZCBzdG9wQW5kV2FpdEZvckNvbXBsZXRpb24oKTsKQEAgLTY5LDcgKzY5LDcg
QEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIExvY2sgbV9sb2NrOwogICAgIFJlZlB0cjxUaHJlYWQ+
IG1fcHJvY2Vzc2luZ1RocmVhZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgRGVx
dWU8RnVuY3Rpb248dm9pZCgpPj4gbV9mdW5jdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOwotICAgIEhhc2hDb3VudGVkU2V0PFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZT4+
IG1fY29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOworICAgIEhhc2hDb3Vu
dGVkU2V0PFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uPj4gbV9jb25uZWN0aW9ucyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgZnJpZW5kIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNv
bnN0IFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbU1lc3NhZ2VSZWNlaXZlci5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKaW5kZXggNGU2NDhiZTk4
ODUyM2FiNDA1YTEwY2U3NTEzMWNkZTg1MGUzNjlhNi4uNjk1YzBkYzRiZTcwYzkxN2U2Y2Q3MjU4
NjI3MGMwYjQwMzY3NTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKQEAgLTI5LDE0ICsyOSwxNCBAQAogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotY2xhc3MgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U7CitjbGFzcyBTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKIAogY2xhc3MgU3RyZWFtTWVzc2FnZVJl
Y2VpdmVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN0cmVhbU1lc3NhZ2VSZWNlaXZl
cj4gewogcHVibGljOgogICAgIHZpcnR1YWwgflN0cmVhbU1lc3NhZ2VSZWNlaXZlcigpIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlJiwgRGVjb2RlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVN0cmVhbU1lc3NhZ2UoU3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIERlY29kZXImKSA9IDA7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL1N0cmVhbVNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggOTZhM2VhZjZhN2Q4ZjFmZDVk
ZThlYWJmOTA1MDEzZmU0OTFkYTFjNC4uNDExOGIyMWY5YjBkODk0YmIzZTM5MzRiNzg5ODE0NjRh
ODUwN2NjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFt
U2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTMxLDE1ICszMSwyMiBAQAogCiBuYW1lc3BhY2UgSVBD
IHsKIAotU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFN0cmVhbUNvbm5lY3Rpb25CdWZmZXImJiBzdHJl
YW0sIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmIHdvcmtRdWV1ZSkKK1N0cmVhbVNlcnZlckNv
bm5lY3Rpb246OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciYmIHN0cmVhbSwgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1
ZSYgd29ya1F1ZXVlKQogICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCiAgICAgLCBtX3dv
cmtRdWV1ZSh3b3JrUXVldWUpCiAgICAgLCBtX2J1ZmZlcihXVEZNb3ZlKHN0cmVhbSkpCiB7CiB9
CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2Fn
ZXNJbXBsKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQp
Cit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXMoU3Ry
ZWFtTWVzc2FnZVJlY2VpdmVyJiByZWNlaXZlciwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwg
dWludDY0X3QgZGVzdGluYXRpb25JRCkKIHsKKyAgICB7CisgICAgICAgIGF1dG8ga2V5ID0gc3Rk
OjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1lKSwgZGVzdGluYXRp
b25JRCk7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlY2VpdmVyc0xvY2sgfTsKKyAgICAg
ICAgQVNTRVJUKCFtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKKyAgICAgICAgbV9yZWNlaXZl
cnMuYWRkKGtleSwgcmVjZWl2ZXIpOworICAgIH0KKwogICAgIC8vIEZJWE1FOiBDYW4gd2UgYXZv
aWQgc3luY2hyb25vdXMgZGlzcGF0Y2ggaGVyZSBieSBhZGp1c3RpbmcgdGhlIGFzc2VydGlvbiBp
biBgQ29ubmVjdGlvbjo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXNUb01lc3NhZ2VSZWNlaXZlUXVl
dWVgPwogICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChbJl0gewogICAgICAgICBtX2Nvbm5l
Y3Rpb24tPmFkZE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2VpdmVyTmFtZSwgZGVzdGlu
YXRpb25JRCk7CkBAIC00Nyw3ICs1NCw3IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJh
c2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKFJlY2VpdmVyTmFtZSByZWNlaXZlCiAgICAg
bV93b3JrUXVldWUuYWRkU3RyZWFtQ29ubmVjdGlvbigqdGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKFJlY2VpdmVy
TmFtZSByZWNlaXZlck5hbWUpCit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVj
ZWl2aW5nTWVzc2FnZXMoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSkKIHsKICAgICBjYWxsT25N
YWluUnVuTG9vcEFuZFdhaXQoWyZdIHsKICAgICAgICAgbV9jb25uZWN0aW9uLT5hZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCp0aGlzLCByZWNlaXZlck5hbWUpOwpAQCAtNTUsMTkgKzYyLDI0IEBAIHZv
aWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBs
KFJlY2VpdmVyTmFtZSByZWNlaXZlCiAgICAgbV93b3JrUXVldWUuYWRkU3RyZWFtQ29ubmVjdGlv
bigqdGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNl
aXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSkKK3ZvaWQgU3RyZWFt
U2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKFJlY2VpdmVyTmFtZSByZWNl
aXZlck5hbWUpCiB7CiAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmVNZXNzYWdlUmVjZWl2ZVF1ZXVl
KHJlY2VpdmVyTmFtZSk7CiAgICAgbV93b3JrUXVldWUucmVtb3ZlU3RyZWFtQ29ubmVjdGlvbigq
dGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNlaXZp
bmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKK3ZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3Nh
Z2VzKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7
CiAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlKHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCk7CiAgICAgbV93b3JrUXVldWUucmVtb3ZlU3RyZWFtQ29ubmVjdGlv
bigqdGhpcyk7CisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0YXRpY19jYXN0PHVp
bnQ4X3Q+KHJlY2VpdmVyTmFtZSksIGRlc3RpbmF0aW9uSUQpOworICAgIExvY2tlciBsb2NrZXIg
eyBtX3JlY2VpdmVyc0xvY2sgfTsKKyAgICBBU1NFUlQobV9yZWNlaXZlcnMuY29udGFpbnMoa2V5
KSk7CisgICAgbV9yZWNlaXZlcnMucmVtb3ZlKGtleSk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVy
Q29ubmVjdGlvbkJhc2U6OmVucXVldWVNZXNzYWdlKENvbm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9w
dHI8RGVjb2Rlcj4mJiBtZXNzYWdlKQordm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjplbnF1
ZXVlTWVzc2FnZShDb25uZWN0aW9uJiwgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiYgbWVzc2Fn
ZSkKIHsKICAgICB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX291dE9mU3RyZWFtTWVzc2Fn
ZXNMb2NrIH07CkBAIC03Niw3ICs4OCw3IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJh
c2U6OmVucXVldWVNZXNzYWdlKENvbm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9wdHI8RGVjCiAgICAg
bV93b3JrUXVldWUud2FrZVVwKCk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8U3RyZWFtU2VydmVyQ29u
bmVjdGlvbkJhc2U6OlNwYW4+IFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlOjp0cnlBY3F1aXJl
KCkKK3N0ZDo6b3B0aW9uYWw8U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6U3Bhbj4gU3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbjo6dHJ5QWNxdWlyZSgpCiB7CiAgICAgU2VydmVyTGltaXQgc2VydmVyTGlt
aXQgPSBzaGFyZWRTZXJ2ZXJMaW1pdCgpLmxvYWQoc3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSk7
CiAgICAgaWYgKHNlcnZlckxpbWl0ID09IFNlcnZlckxpbWl0OjpzZXJ2ZXJJc1NsZWVwaW5nVGFn
KQpAQCAtOTQsMTIgKzEwNiwxMiBAQCBzdGQ6Om9wdGlvbmFsPFN0cmVhbVNlcnZlckNvbm5lY3Rp
b25CYXNlOjpTcGFuPiBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6dHJ5QQogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLVN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlOjpTcGFuIFN0cmVhbVNl
cnZlckNvbm5lY3Rpb25CYXNlOjphY3F1aXJlQWxsKCkKK1N0cmVhbVNlcnZlckNvbm5lY3Rpb246
OlNwYW4gU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6YWNxdWlyZUFsbCgpCiB7CiAgICAgcmV0dXJu
IGFsaWduZWRTcGFuKDAsIGRhdGFTaXplKCkgLSAxKTsKIH0KIAotdm9pZCBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uQmFzZTo6cmVsZWFzZShzaXplX3QgcmVhZFNpemUpCit2b2lkIFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb246OnJlbGVhc2Uoc2l6ZV90IHJlYWRTaXplKQogewogICAgIEFTU0VSVChyZWFk
U2l6ZSk7CiAgICAgcmVhZFNpemUgPSBzdGQ6Om1heChyZWFkU2l6ZSwgbWluaW11bU1lc3NhZ2VT
aXplKTsKQEAgLTExNSw3ICsxMjcsNyBAQCB2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNl
OjpyZWxlYXNlKHNpemVfdCByZWFkU2l6ZSkKICAgICBtX3NlcnZlck9mZnNldCA9IHNlcnZlck9m
ZnNldDsKIH0KIAotdm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6cmVsZWFzZUFsbCgp
Cit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnJlbGVhc2VBbGwoKQogewogICAgIHNoYXJl
ZFNlcnZlckxpbWl0KCkuc3RvcmUoc3RhdGljX2Nhc3Q8U2VydmVyTGltaXQ+KDApLCBzdGQ6Om1l
bW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICBTZXJ2ZXJPZmZzZXQgb2xkU2VydmVyT2Zmc2V0ID0g
c2hhcmVkU2VydmVyT2Zmc2V0KCkuZXhjaGFuZ2Uoc3RhdGljX2Nhc3Q8U2VydmVyT2Zmc2V0Pigw
KSwgc3RkOjptZW1vcnlfb3JkZXJfYWNxX3JlbCk7CkBAIC0xMjcsNyArMTM5LDcgQEAgdm9pZCBT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6cmVsZWFzZUFsbCgpCiAgICAgbV9zZXJ2ZXJPZmZz
ZXQgPSAwOwogfQogCi1TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6U3BhbiBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uQmFzZTo6YWxpZ25lZFNwYW4oc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxpbWl0
KQorU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6U3BhbiBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjph
bGlnbmVkU3BhbihzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGltaXQpCiB7CiAgICAgQVNTRVJUKG9m
ZnNldCA8IGRhdGFTaXplKCkpOwogICAgIEFTU0VSVChsaW1pdCA8IGRhdGFTaXplKCkpOwpAQCAt
MTQzLDE0ICsxNTUsMTQgQEAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OlNwYW4gU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2U6OmFsaWduZWRTcGFuKHNpemVfdAogICAgIHJldHVybiB7IGRh
dGEoKSArIGFsaWduZWQsIHJlc3VsdFNpemUgfTsKIH0KIAotc2l6ZV90IFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlOjpzaXplKHNpemVfdCBvZmZzZXQsIHNpemVfdCBsaW1pdCkKK3NpemVfdCBT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzaXplKHNpemVfdCBvZmZzZXQsIHNpemVfdCBsaW1pdCkK
IHsKICAgICBpZiAob2Zmc2V0IDw9IGxpbWl0KQogICAgICAgICByZXR1cm4gbGltaXQgLSBvZmZz
ZXQ7CiAgICAgcmV0dXJuIGRhdGFTaXplKCkgLSBvZmZzZXQ7CiB9CiAKLXNpemVfdCBTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uQmFzZTo6Y2xhbXBlZExpbWl0KFNlcnZlckxpbWl0IHNlcnZlckxpbWl0
KSBjb25zdAorc2l6ZV90IFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OmNsYW1wZWRMaW1pdChTZXJ2
ZXJMaW1pdCBzZXJ2ZXJMaW1pdCkgY29uc3QKIHsKICAgICBBU1NFUlQoIShzZXJ2ZXJMaW1pdCAm
IFNlcnZlckxpbWl0OjpzZXJ2ZXJJc1NsZWVwaW5nVGFnKSk7CiAgICAgc2l6ZV90IGxpbWl0ID0g
c3RhdGljX2Nhc3Q8c2l6ZV90PihzZXJ2ZXJMaW1pdCk7CkBAIC0xNTgsMjcgKzE3MCw3IEBAIHNp
emVfdCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6Y2xhbXBlZExpbWl0KFNlcnZlckxpbWl0
IHNlcnZlckxpbWl0KSBjb25zdAogICAgIHJldHVybiBzdGQ6Om1pbihsaW1pdCwgZGF0YVNpemUo
KSAtIDEpOwogfQogCi12b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVjZWl2aW5n
TWVzc2FnZXMoU3RyZWFtTWVzc2FnZVJlY2VpdmVyJiByZWNlaXZlciwgUmVjZWl2ZXJOYW1lIHJl
Y2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKLXsKLSAgICB7Ci0gICAgICAgIGF1
dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1l
KSwgZGVzdGluYXRpb25JRCk7Ci0gICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlY2VpdmVyc0xv
Y2sgfTsKLSAgICAgICAgQVNTRVJUKCFtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKLSAgICAg
ICAgbV9yZWNlaXZlcnMuYWRkKGtleSwgcmVjZWl2ZXIpOwotICAgIH0KLSAgICBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uQmFzZTo6c3RhcnRSZWNlaXZpbmdNZXNzYWdlc0ltcGwocmVjZWl2ZXJOYW1l
LCBkZXN0aW5hdGlvbklEKTsKLX0KLQotdm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdG9w
UmVjZWl2aW5nTWVzc2FnZXMoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCkKLXsKLSAgICBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6c3RvcFJlY2Vp
dmluZ01lc3NhZ2VzSW1wbChyZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQpOwotICAgIGF1dG8g
a2V5ID0gc3RkOjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1lKSwg
ZGVzdGluYXRpb25JRCk7Ci0gICAgTG9ja2VyIGxvY2tlciB7IG1fcmVjZWl2ZXJzTG9jayB9Owot
ICAgIEFTU0VSVChtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKLSAgICBtX3JlY2VpdmVycy5y
ZW1vdmUoa2V5KTsKLX0KLQotU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OkRpc3BhdGNoUmVz
dWx0IFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90
IG1lc3NhZ2VMaW1pdCkKK1N0cmVhbVNlcnZlckNvbm5lY3Rpb246OkRpc3BhdGNoUmVzdWx0IFN0
cmVhbVNlcnZlckNvbm5lY3Rpb246OmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90IG1lc3Nh
Z2VMaW1pdCkKIHsKICAgICBSZWZQdHI8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPiBjdXJyZW50UmVj
ZWl2ZXI7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBXVEY6OmlzVmFsaWQoUmVjZWl2ZXJOYW1l
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNv
bm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5l
Y3Rpb24uaAppbmRleCBlNmE0MjUxNGY0Y2U3MDg1ZTdjN2NkMTJiMTc2MTNlNjQ4NmQyNmQ3Li5h
YmVmNGVjZmUzZTkzNzhjMTdmYWJlMzRkM2MyNDgzZDE0MDc0N2JkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5oCkBAIC00MCwx
MCArNDAsMzEgQEAgbmFtZXNwYWNlIElQQyB7CiAKIGNsYXNzIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWU7CiAKLWNsYXNzIFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlPiwgcHJvdGVjdGVkIE1l
c3NhZ2VSZWNlaXZlUXVldWUgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb25CYXNlKTsKKy8vIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gcmVwcmVzZW50cyB0
aGUgY29ubmVjdGlvbiBiZXR3ZWVuIHN0cmVhbSBjbGllbnQgYW5kIHNlcnZlciwgYXMgdXNlZCBi
eSB0aGUgc2VydmVyLgorLy8KKy8vIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246CisvLyAgKiBIb2xk
cyB0aGUgbWVzc2FnZXMgdG93YXJkcyB0aGUgc2VydmVyLgorLy8gICogU2VuZHMgdGhlIHJlcGxp
ZXMgYmFjayB0byB0aGUgY2xpZW50IHZpYSB0aGUgc3RyZWFtIG9yIG5vcm1hbCBDb25uZWN0aW9u
IGZhbGxiYWNrLgorLy8KKy8vIFJlY2VpdmVyIHRlbXBsYXRlIGNvbnRyYWN0OgorLy8gICB2b2lk
IGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKFN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBEZWNvZGVy
Jik7CisvLworLy8gVGhlIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gZG9lcyBub3QgdHJ1c3QgdGhl
IFN0cmVhbUNsaWVudENvbm5lY3Rpb24uCitjbGFzcyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uIGZp
bmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN0cmVhbVNlcnZlckNvbm5lY3Rpb24+
LCBwcml2YXRlIE1lc3NhZ2VSZWNlaXZlUXVldWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmVhbVNlcnZlckNvbm5lY3Rpb24pOwogcHVibGljOgotICAgIH5TdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uQmFzZSgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgUmVmPFN0cmVhbVNl
cnZlckNvbm5lY3Rpb24+IGNyZWF0ZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJlYW1Db25u
ZWN0aW9uQnVmZmVyJiYgc3RyZWFtQnVmZmVyLCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlJiB3
b3JrUXVldWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb24sIFdURk1vdmUoc3RyZWFtQnVmZmVyKSwgd29ya1F1ZXVl
KSk7CisgICAgfQorICAgIH5TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uKCkgZmluYWwgPSBkZWZhdWx0
OworCisgICAgdm9pZCBzdGFydFJlY2VpdmluZ01lc3NhZ2VzKFN0cmVhbU1lc3NhZ2VSZWNlaXZl
ciYsIFJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCk7CisgICAgLy8gU3RvcHMg
dGhlIG1lc3NhZ2UgcmVjZWlwdC4gTm90ZTogYWxyZWFkeSByZWNlaXZlZCBtZXNzYWdlcyBtaWdo
dCBzdGlsbCBiZSBkZWxpdmVyZWQuCisgICAgdm9pZCBzdG9wUmVjZWl2aW5nTWVzc2FnZXMoUmVj
ZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKKworICAgIHZvaWQgc3RhcnRSZWNl
aXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOworICAgIHZvaWQgc3RvcFJlY2VpdmluZ01lc3Nh
Z2VzKFJlY2VpdmVyTmFtZSk7CiAKICAgICBDb25uZWN0aW9uJiBjb25uZWN0aW9uKCkgeyByZXR1
cm4gbV9jb25uZWN0aW9uOyB9CiAKQEAgLTUxLDE5ICs3MiwxMyBAQCBwdWJsaWM6CiAgICAgICAg
IEhhc05vTWVzc2FnZXMsCiAgICAgICAgIEhhc01vcmVNZXNzYWdlcwogICAgIH07Ci0gICAgdmly
dHVhbCBEaXNwYXRjaFJlc3VsdCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2VzKHNpemVfdCBtZXNzYWdl
TGltaXQpID0gMDsKKyAgICBEaXNwYXRjaFJlc3VsdCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2VzKHNp
emVfdCBtZXNzYWdlTGltaXQpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUu
Li4gQXJndW1lbnRzPgogICAgIHZvaWQgc2VuZFN5bmNSZXBseShDb25uZWN0aW9uOjpTeW5jUmVx
dWVzdElELCBBcmd1bWVudHMmJi4uLik7CiAKLXByb3RlY3RlZDoKLSAgICBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uQmFzZShJUEM6OkNvbm5lY3Rpb24mLCBTdHJlYW1Db25uZWN0aW9uQnVmZmVyJiYs
IFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsKLQotICAgIHZvaWQgc3RhcnRSZWNlaXZpbmdN
ZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKLSAgICB2
b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0
aW5hdGlvbklEKTsKLQotICAgIHZvaWQgc3RhcnRSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2
ZXJOYW1lKTsKLSAgICB2b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1l
KTsKK3ByaXZhdGU6CisgICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24m
LCBTdHJlYW1Db25uZWN0aW9uQnVmZmVyJiYsIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsK
IAogICAgIC8vIE1lc3NhZ2VSZWNlaXZlUXVldWUKICAgICB2b2lkIGVucXVldWVNZXNzYWdlKENv
bm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4mJikgZmluYWw7CkBAIC05MCw2ICsx
MDUsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgc2l6ZV90IGNsYW1wZWRMaW1pdChTZXJ2ZXJMaW1pdCkg
Y29uc3Q7CiAgICAgdWludDhfdCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGEo
KTsgfQogICAgIHNpemVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGFT
aXplKCk7IH0KKyAgICBib29sIHByb2Nlc3NTZXRTdHJlYW1EZXN0aW5hdGlvbklEKERlY29kZXIm
JiwgUmVmUHRyPFN0cmVhbU1lc3NhZ2VSZWNlaXZlcj4mIGN1cnJlbnRSZWNlaXZlcik7CisgICAg
Ym9vbCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmLCBTdHJlYW1NZXNzYWdlUmVjZWl2
ZXImKTsKKyAgICBib29sIGRpc3BhdGNoT3V0T2ZTdHJlYW1NZXNzYWdlKERlY29kZXImJik7CiAK
ICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgU3RyZWFtQ29ubmVj
dGlvbldvcmtRdWV1ZSYgbV93b3JrUXVldWU7CkBAIC0xMDEsMTIgKzExOSwxNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+PiBtX291dE9mU3RyZWFtTWVz
c2FnZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX291dE9mU3RyZWFtTWVzc2FnZXNMb2NrKTsKIAog
ICAgIGJvb2wgbV9pc0Rpc3BhdGNoaW5nU3RyZWFtTWVzc2FnZSB7IGZhbHNlIH07CisgICAgTG9j
ayBtX3JlY2VpdmVyc0xvY2s7CisgICAgdXNpbmcgUmVjZWl2ZXJzTWFwID0gSGFzaE1hcDxzdGQ6
OnBhaXI8dWludDhfdCwgdWludDY0X3Q+LCBSZWY8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPj47Cisg
ICAgUmVjZWl2ZXJzTWFwIG1fcmVjZWl2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWNlaXZl
cnNMb2NrKTsKKyAgICB1aW50NjRfdCBtX2N1cnJlbnREZXN0aW5hdGlvbklEIHsgMCB9OwogCiAg
ICAgZnJpZW5kIGNsYXNzIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWU7CiB9OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci12b2lkIFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlOjpzZW5kU3luY1JlcGx5KENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3lu
Y1JlcXVlc3RJRCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQordm9pZCBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uOjpzZW5kU3luY1JlcGx5KENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3luY1Jl
cXVlc3RJRCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQogewogICAgIGlmIGNvbnN0ZXhwcihU
Ojppc1JlcGx5U3RyZWFtRW5jb2RhYmxlKSB7CiAgICAgICAgIGlmIChtX2lzRGlzcGF0Y2hpbmdT
dHJlYW1NZXNzYWdlKSB7CkBAIC0xMjUsNTYgKzE0Nyw0IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29u
bmVjdGlvbkJhc2U6OnNlbmRTeW5jUmVwbHkoQ29ubmVjdGlvbjo6U3luY1JlcXVlc3RJRCBzeW5j
UmVxCiAgICAgbV9jb25uZWN0aW9uLT5zZW5kU3luY1JlcGx5KFdURk1vdmUoZW5jb2RlcikpOwog
fQogCi0vLyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uIHJlcHJlc2VudHMgdGhlIGNvbm5lY3Rpb24g
YmV0d2VlbiBzdHJlYW0gY2xpZW50IGFuZCBzZXJ2ZXIsIGFzIHVzZWQgYnkgdGhlIHNlcnZlci4K
LS8vCi0vLyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOgotLy8gICogSG9sZHMgdGhlIG1lc3NhZ2Vz
IHRvd2FyZHMgdGhlIHNlcnZlci4KLS8vICAqIFNlbmRzIHRoZSByZXBsaWVzIGJhY2sgdG8gdGhl
IGNsaWVudCB2aWEgdGhlIHN0cmVhbSBvciBub3JtYWwgQ29ubmVjdGlvbiBmYWxsYmFjay4KLS8v
Ci0vLyBSZWNlaXZlciB0ZW1wbGF0ZSBjb250cmFjdDoKLS8vICAgdm9pZCBkaWRSZWNlaXZlU3Ry
ZWFtTWVzc2FnZShTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIERlY29kZXImKTsKLS8vCi0v
LyBUaGUgU3RyZWFtU2VydmVyQ29ubmVjdGlvbiBkb2VzIG5vdCB0cnVzdCB0aGUgU3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbi4KLWNsYXNzIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gZmluYWwgOiBwdWJs
aWMgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8
U3RyZWFtU2VydmVyQ29ubmVjdGlvbj4gY3JlYXRlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFN0
cmVhbUNvbm5lY3Rpb25CdWZmZXImJiBzdHJlYW1CdWZmZXIsIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWUmIHdvcmtRdWV1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0
cmVhbVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbiwgV1RGTW92ZShzdHJlYW1CdWZmZXIpLCB3
b3JrUXVldWUpKTsKLSAgICB9Ci0gICAgflN0cmVhbVNlcnZlckNvbm5lY3Rpb24oKSBmaW5hbCA9
IGRlZmF1bHQ7Ci0KLSAgICB2b2lkIHN0YXJ0UmVjZWl2aW5nTWVzc2FnZXMoU3RyZWFtTWVzc2Fn
ZVJlY2VpdmVyJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKLSAgICAv
LyBTdG9wcyB0aGUgbWVzc2FnZSByZWNlaXB0LiBOb3RlOiBhbHJlYWR5IHJlY2VpdmVkIG1lc3Nh
Z2VzIG1pZ2h0IHN0aWxsIGJlIGRlbGl2ZXJlZC4KLSAgICB2b2lkIHN0b3BSZWNlaXZpbmdNZXNz
YWdlcyhSZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpOwotCi0gICAgaW5saW5l
IHZvaWQgc3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOwotICAgIGlubGluZSB2
b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOwotCi0gICAgLy8gU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2Ugb3ZlcnJpZGVzLgotICAgIERpc3BhdGNoUmVzdWx0IGRpc3Bh
dGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90IG1lc3NhZ2VMaW1pdCkgZmluYWw7Ci0KLXByaXZhdGU6
Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJl
YW1Db25uZWN0aW9uQnVmZmVyJiYgc3RyZWFtQnVmZmVyLCBTdHJlYW1Db25uZWN0aW9uV29ya1F1
ZXVlJiB3b3JrUXVldWUpCi0gICAgICAgIDogU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UoY29u
bmVjdGlvbiwgV1RGTW92ZShzdHJlYW1CdWZmZXIpLCB3b3JrUXVldWUpCi0gICAgewotICAgIH0K
LSAgICBib29sIHByb2Nlc3NTZXRTdHJlYW1EZXN0aW5hdGlvbklEKERlY29kZXImJiwgUmVmUHRy
PFN0cmVhbU1lc3NhZ2VSZWNlaXZlcj4mIGN1cnJlbnRSZWNlaXZlcik7Ci0gICAgYm9vbCBkaXNw
YXRjaFN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmLCBTdHJlYW1NZXNzYWdlUmVjZWl2ZXImKTsKLSAg
ICBib29sIGRpc3BhdGNoT3V0T2ZTdHJlYW1NZXNzYWdlKERlY29kZXImJik7Ci0gICAgTG9jayBt
X3JlY2VpdmVyc0xvY2s7Ci0gICAgdXNpbmcgUmVjZWl2ZXJzTWFwID0gSGFzaE1hcDxzdGQ6OnBh
aXI8dWludDhfdCwgdWludDY0X3Q+LCBSZWY8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPj47Ci0gICAg
UmVjZWl2ZXJzTWFwIG1fcmVjZWl2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWNlaXZlcnNM
b2NrKTsKLSAgICB1aW50NjRfdCBtX2N1cnJlbnREZXN0aW5hdGlvbklEIHsgMCB9OwotfTsKLQot
dm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdGFydFJlY2VpdmluZ01lc3NhZ2VzKFJlY2Vp
dmVyTmFtZSByZWNlaXZlck5hbWUpCi17Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6
OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKHJlY2VpdmVyTmFtZSk7Ci19Ci0KLXZvaWQgU3Ry
ZWFtU2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKFJlY2VpdmVyTmFtZSBy
ZWNlaXZlck5hbWUpCi17Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNl
aXZpbmdNZXNzYWdlc0ltcGwocmVjZWl2ZXJOYW1lKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggZjA4NTdhZWM3ZTE1MzUzMzM5NDUxNzdiZDU2
MjViZDY2ODc1NTRkOC4uNDdiN2JkNWIyNTk5YzQ3YTg0OTFiNjUwYWEzMDEwY2IwNWQ1YjhlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0xMTMzLDcgKzEx
MzMsNyBAQCBkZWYgZ2VuZXJhdGVfbWVzc2FnZV9oYW5kbGVyKHJlY2VpdmVyKToKICAgICAgICAg
ICAgIGFzeW5jX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKQogCiAgICAgaWYgcmVjZWl2ZXIuaGFz
X2F0dHJpYnV0ZShTVFJFQU1fQVRUUklCVVRFKToKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgndm9p
ZCAlczo6ZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKVxuJyAlIChyZWNlaXZlci5u
YW1lKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgndm9pZCAlczo6ZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29k
ZXImIGRlY29kZXIpXG4nICUgKHJlY2VpdmVyLm5hbWUpKQogICAgICAgICByZXN1bHQuYXBwZW5k
KCd7XG4nKQogICAgICAgICBhc3NlcnQocmVjZWl2ZXIuaGFzX2F0dHJpYnV0ZShOT1RfUkVGQ09V
TlRFRF9SRUNFSVZFUl9BVFRSSUJVVEUpKQogICAgICAgICBhc3NlcnQobm90IHJlY2VpdmVyLmhh
c19hdHRyaWJ1dGUoV0FOVFNfRElTUEFUQ0hfTUVTU0FHRV9BVFRSSUJVVEUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RX
aXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCAxM2M3MTgwODFkOWNlOTAzZjlmNWY3
OTNkZWM3OWE2ZmIzNDE0NTRjLi42Nzg2NWU4OWZiODk0MmM2ZGM4ODc5ZDQzNmU5OTUwNjk3MTBi
OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RX
aXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtNDAsNyAr
NDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBUZXN0V2l0aFN0cmVhbTo6ZGlk
UmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYgY29u
bmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBUZXN0V2l0aFN0cmVhbTo6ZGlk
UmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZU5h
bWUoKSA9PSBNZXNzYWdlczo6VGVzdFdpdGhTdHJlYW06OlNlbmRTdHJpbmc6Om5hbWUoKSkKICAg
ICAgICAgcmV0dXJuIElQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6VGVzdFdpdGhTdHJlYW06
OlNlbmRTdHJpbmc+KGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLCBkZWNvZGVyLCB0aGlzLCAmVGVz
dFdpdGhTdHJlYW06OnNlbmRTdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvSVBDU3RyZWFtVGVzdGVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9JUENTdHJlYW1UZXN0
ZXIuaAppbmRleCA1YTU5YTJmMjQyZjdhYjk4ZmQ3MzE3MWE0ODc4MGQ5ZmIyNzg1YzVhLi4wNDQw
OGRkYzM4ZTdiMGYyNDdhOTJlNmYyMjUzN2Q4YzJhOTllZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9JUENTdHJlYW1UZXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9JUENTdHJlYW1UZXN0ZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
dG9wTGlzdGVuaW5nRm9ySVBDKFJlZjxJUENTdHJlYW1UZXN0ZXI+JiYgcmVmRnJvbUNvbm5lY3Rp
b24pOwogCiAgICAgLy8gSVBDOjpTdHJlYW1NZXNzYWdlUmVjZWl2ZXIgb3ZlcnJpZGVzLgotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiBwcml2YXRlOgogICAgIElQQ1N0cmVhbVRlc3RlcihJUEM6OkNvbm5lY3Rpb24mLCBJUENTdHJl
YW1UZXN0ZXJJZGVudGlmaWVyLCBJUEM6OlN0cmVhbUNvbm5lY3Rpb25CdWZmZXImJik7CiAgICAg
fklQQ1N0cmVhbVRlc3RlcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456384</attachid>
            <date>2022-04-01 11:52:58 -0700</date>
            <delta_ts>2022-04-04 00:30:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238676-20220401215256.patch</filename>
            <type>text/plain</type>
            <size>42998</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRjYzBkODIyMmFlYzM2ZDA3
ODdlOWY0YTg0ZjgxYWJlOGZkMGJhMTAuLjMyOTI3MTYxYzI2N2IwZjVhOTk3MzNkMGQ4NTY2Yzcz
ZGE1Y2I2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMjItMDQtMDEgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJUEM6OlN0cmVhbVNlcnZl
ckNvbm5lY3Rpb25CYXNlIGhhcyBvbmx5IG9uZSBzdWJjbGFzcywgaXQgc2hvdWxkIGJlIHJlbW92
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lcmdl
IElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UgYW5kIElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbi4KKyAgICAgICAgVGhlIGJhc2Ugd2FzIHVzZWZ1bCB3aGVuIHRoZSBjb25jcmV0ZSBj
bGFzc2VzIHdlcmUgdGVtcGxhdGVzIHBlciBtZXNzYWdlIHJlY2VpdmVyLgorICAgICAgICBUaGUg
Y29uY3JldGUgY2xhc3Mgd2FzIGNoYW5nZWQgdG8gdXNlIG11bHRpcGxlIG1lc3NhZ2UgcmVjZWl2
ZXJzLCBhbmQgdGhlIHRlbXBsYXRpbmcKKyAgICAgICAgd2FzIHJlcGxhY2VkIHdpdGggaWQgbG9v
a3VwLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0b3IuCisKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuaDoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQWRhcHRlci5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cC5oOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRCdWZmZXIuaDoKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5j
b2Rlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1
dGVQaXBlbGluZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZURldmljZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4
dGVybmFsVGV4dHVyZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUdQVS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVBp
cGVsaW5lTGF5b3V0Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlUXVlcnlTZXQuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVRdWV1ZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlckJ1bmRsZS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVJlbmRlckJ1bmRsZUVuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBpcGVsaW5lLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlU2FtcGxlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNoYWRlck1vZHVsZS5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJlVmlldy5oOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9IYW5kbGVNZXNzYWdlLmg6CisgICAgICAgIChJUEM6OmhhbmRsZU1lc3NhZ2VTeW5jaHJv
bm91cyk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUu
Y3BwOgorICAgICAgICAoSVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1D
b25uZWN0aW9uKToKKyAgICAgICAgKElQQzo6U3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6cmVt
b3ZlU3RyZWFtQ29ubmVjdGlvbik6CisgICAgICAgIChJUEM6OlN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWU6OnByb2Nlc3NTdHJlYW1zKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFtQ29u
bmVjdGlvbldvcmtRdWV1ZS5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9TdHJlYW1NZXNzYWdl
UmVjZWl2ZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb246OlN0cmVhbVNlcnZl
ckNvbm5lY3Rpb24pOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdGFy
dFJlY2VpdmluZ01lc3NhZ2VzKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29u
bmVjdGlvbjo6ZW5xdWV1ZU1lc3NhZ2UpOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uOjp0cnlBY3F1aXJlKToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bjo6YWNxdWlyZUFsbCk6CisgICAgICAgIChJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnJl
bGVhc2UpOgorICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpyZWxlYXNlQWxs
KToKKyAgICAgICAgKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6YWxpZ25lZFNwYW4pOgor
ICAgICAgICAoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzaXplKToKKyAgICAgICAgKElQ
Qzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6Y2xhbXBlZExpbWl0IGNvbnN0KToKKyAgICAgICAg
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6ZGlzcGF0Y2hTdHJlYW1NZXNzYWdlcyk6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAg
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6c2VuZFN5bmNSZXBseSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChnZW5lcmF0ZV9tZXNzYWdlX2hh
bmRsZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGVzdFdpdGhTdHJlYW06OmRpZFJl
Y2VpdmVTdHJlYW1NZXNzYWdlKToKKyAgICAgICAgKiBTaGFyZWQvSVBDU3RyZWFtVGVzdGVyLmg6
CisKIDIwMjItMDQtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uZ2V0Tm90aWZpY2F0aW9ucyBzaG91bGQgbGlz
dCBhbGwgcGVyc2lzdGVudCBub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIuaApp
bmRleCAzYmJhZjc2NWQwNWY0NGFiZjRkOTYxZTc2NmNlNjU0Njk4ZWRlMjk0Li5jNTliNjJkNTU1
YTc3YTMyN2E4M2JlNzFiZmFmOTU4MWMyNjcyZGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVy
LmgKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHZvaWQgc3RhcnRM
aXN0ZW5pbmdGb3JJUEMoKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2
b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgV2Vha1B0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZl
cj4gbV9pbWFnZUJ1ZmZlcjsKICAgICBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIgbV9pbWFnZUJ1ZmZlcklkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IDMy
MzUwNTJiMWJiMDZiZWE2ZjUyNjUzN2ZlNGZhODIzMjBmZTI2NGUuLmZmZjVlNzFjMzViMzIxMzg3
N2E5NjU2OTk0MWE2ZjViOGQ5ZjM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCkBAIC04Miw3
ICs4Miw3IEBAIHB1YmxpYzoKICAgICB+UmVtb3RlR3JhcGhpY3NDb250ZXh0R0woKSBvdmVycmlk
ZTsKICAgICB2b2lkIHN0b3BMaXN0ZW5pbmdGb3JJUEMoUmVmPFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMPiYmIHJlZkZyb21Db25uZWN0aW9uKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZp
bmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IHZvaWQgZGlzcGxheVdhc1JlY29uZmlndXJlZCgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
aAppbmRleCAyYzI5MDk1ZGE4NWMyNWMzYTVlZDVlN2YxZWU1Njg5ZWZmNjcxYTI4Li5kMTUwYzU2
ZTc1YTg0ZDE4NjU3ZDhkMjA4ODkxMTkzNGM0MTM4ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgK
QEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogCiAgICAgUmVtb3RlUmVzb3VyY2VDYWNoZSYgcmVt
b3RlUmVzb3VyY2VDYWNoZSgpIHsgcmV0dXJuIG1fcmVtb3RlUmVzb3VyY2VDYWNoZTsgfQogCi0g
ICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rp
b25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFt
TWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5h
bDsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIGJlIHNlbnQuCiAgICAgdm9pZCBkaWRDcmVhdGVJbWFn
ZUJ1ZmZlckJhY2tlbmQoSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlLCBRdWFsaWZpZWRSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXIsIFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXImKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQWRh
cHRlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVB
ZGFwdGVyLmgKaW5kZXggOWY3MzRlMDliNDY3MzViNDhiYjcyZDAzY2M0YzllZWQ4ZmI0NjIyYy4u
N2NhZDA3MGU0MmFmYWIwMDM0NzIzYzQ2ZWNmMmFmNWIxMzg0MjJlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVBZGFwdGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVBZGFwdGVy
LmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpBZGFwdGVy
JiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVT
dHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29k
ZXImKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCByZXF1
ZXN0RGV2aWNlKGNvbnN0IFdlYkdQVTo6RGV2aWNlRGVzY3JpcHRvciYsIFdlYkdQVUlkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViR1BVOjpTdXBwb3J0ZWRGZWF0dXJlcyYmLCBX
ZWJHUFU6OlN1cHBvcnRlZExpbWl0cyYmKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cC5oCmluZGV4
IDhiMmJiOGU3NWZhYjI1YjMyNjMxNDRjYTcxYzUyYWFlOGU0NGQxYmMuLjQxZDExMjI0NjczYWU1
NjQ2MTAwMjVmZDc2MGUyMmJlZTg4YzBkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwLmgKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCaW5kR3JvdXAuaApAQCAtNzAs
NyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OkJpbmRHcm91cCYgYmFja2lu
ZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVz
c2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3Ry
aW5nJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCaW5kR3JvdXBMYXlvdXQuaAppbmRleCAwZDFmNGNiNjk1
YjkwNjVmMDM3ZjcxMWNhODg3YTk2ZjliODI5MDBiLi44M2JhZDIwYTAyMjNlM2M2YWVlYzA2NmNm
ZWQyMjBmNTRmMWE1MWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUJpbmRHcm91cExheW91dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQmluZEdyb3VwTGF5b3V0LmgKQEAgLTcw
LDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpCaW5kR3JvdXBMYXlvdXQm
IGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0
cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2Rl
ciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNldExh
YmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgKaW5kZXggYzcwMjdiYzllOTdhOTJiYzlmZjZj
M2VjY2M3ZWYyMWIzOTBkODA3My4uY2ZiMDBiY2FmYTZkOTk1NmJjODhjZTdiNWIwZTI1YWI0YmNi
N2I3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJ1ZmZlci5oCkBAIC03NSw3ICs3NSw3IEBAIHByaXZhdGU6CiAKICAgICBQ
QUw6OldlYkdQVTo6QnVmZmVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAg
ICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlv
bkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1N
ZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OwogCiAgICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBQQUw6Oldl
YkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBz
aXplRm9yTWFwLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVp
bnQ4X3Q+PiYmKT4mJik7CiAgICAgdm9pZCB1bm1hcChWZWN0b3I8dWludDhfdD4mJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEJ1ZmZlci5oCmluZGV4IDdjMTA0MjZkMTZlMGY5OGViYjYyMmQxNzBlZGZl
MmE4ZThkMjFkMTUuLjMzZjQ2YjFmNTg3ZjI5MThlZDE2NWU2NjI0ZmZmODgxNzI0YzM5MTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tbWFuZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEJ1ZmZlci5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAK
ICAgICBQQUw6OldlYkdQVTo6Q29tbWFuZEJ1ZmZlciYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFj
a2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNl
cnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRS
ZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbW1hbmRFbmNvZGVyLmgKaW5kZXggOWE0N2M2MzkyMjliNGRjNDA1ZmVlMjlkZTljNmU3
YWMwZDJlNjZiNi4uYzEyMjI0MWRkOWZkMzU4YWZkYWM1MTUxMzg2MmVjZjg5OWMxZmI4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgog
CiAgICAgUEFMOjpXZWJHUFU6OkNvbW1hbmRFbmNvZGVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9i
YWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBiZWdpblJlbmRlclBhc3MoY29uc3QgV2ViR1BV
OjpSZW5kZXJQYXNzRGVzY3JpcHRvciYsIFdlYkdQVUlkZW50aWZpZXIpOwogICAgIHZvaWQgYmVn
aW5Db21wdXRlUGFzcyhjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkdQVTo6Q29tcHV0ZVBhc3NEZXNj
cmlwdG9yPiYsIFdlYkdQVUlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyLmgKaW5kZXggODIxYTUwYTY0ODRmNjFhZGI5NmZjZDNmMjc0NmFlMTFiMjEzM2M0Mi4u
ZTVjYmM0MzQ0M2IzYWI0Y2NmNjYwN2E4ZWRlODAxMTIxZjE4ZWIwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAKICAg
ICBQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9i
YWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJHUFVJZGVudGlmaWVy
KTsKICAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRY
LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpT
aXplMzIgd29ya2dyb3VwQ291bnRaID0gMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQaXBlbGluZS5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGlwZWxpbmUu
aAppbmRleCA4OWU5ODI5MDEzMTlhYjRlZDA2NDhmMmE5OGIyZjFlYjdhOWU3NzgxLi45MDM4MjZk
NGU0MGNkM2RhMGZiN2Y5MzBjZGQ0NTNjMTliMmIxNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQaXBlbGluZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0
ZVBpcGVsaW5lLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BV
OjpDb21wdXRlUGlwZWxpbmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiAKICAgICB2b2lkIGdldEJpbmRHcm91cExheW91dCh1aW50MzJfdCBpbmRleCwgV2ViR1BVSWRl
bnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlRGV2aWNlLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZURldmljZS5oCmluZGV4IDI2Njc4ZjQ4MDA2Nzk0MWZmZjJhN2FiNmE3
M2NiY2ViM2Y4NGFkMzYuLjc1M2M2YjEzMWI2Y2FjYWU4MTg2NWYzNGYxM2U5Y2NiNmQ5N2Y5YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVEZXZpY2UuaApAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpX
ZWJHUFU6OkRldmljZSYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9p
ZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNl
JiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2Fn
ZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAog
ICAgIHZvaWQgZGVzdHJveSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4dGVybmFsVGV4dHVyZS5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVFeHRlcm5hbFRleHR1cmUuaAppbmRl
eCA3YmRjZTdiZmFmMzZiZjM4OTMwZTlhYjdiNWI4Mjc1MDFiZjI2YjkzLi5hNTUwODI0ZmRiYzc4
N2UzMjI1YjYwMmVmMTkxZTE0YjliNGZjODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUV4dGVybmFsVGV4dHVyZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlRXh0ZXJuYWxUZXh0
dXJlLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpFeHRl
cm5hbFRleHR1cmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQg
ZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2Uo
SVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAg
ICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVLmgKaW5kZXggNzIxNzRiNWVmYTQ2YzM0
ZTYzNTlmZjBkOWUzZmRlODJiOGI0ZjA0My4uMTcwNDFiZmVkNTUyNjYxYzYzYmUxYjVkZTRlZjA3
ZDA0ODJhYzI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVHUFUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZUdQVS5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1fc3RyZWFtQ29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoV1RGTW92ZSht
ZXNzYWdlKSwgbV9pZGVudGlmaWVyKTsKICAgICB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJl
YW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCByZXF1ZXN0
QWRhcHRlcihjb25zdCBXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucyYsIFdlYkdQVUlkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxSZXF1ZXN0QWRhcHRl
clJlc3BvbnNlPiYmKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUGlwZWxpbmVMYXlvdXQuaAppbmRleCA0
YzUwYjU2OGIxODdjNzIyYTM2NzA3M2QxOWJmYWVhMzY0NDQ0M2NhLi5mNmE5ZWI1ZjgzNzAzN2Fi
ODg2ZThjNjVhOWFmNWRlNDM4NzE4Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVBpcGVsaW5lTGF5b3V0LmgKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVQaXBlbGluZUxheW91dC5o
CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAKICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVM
YXlvdXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVj
ZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lk
IHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWVyeVNldC5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWVyeVNldC5oCmluZGV4IDRmYmY5OGY5NmI1
ZjBhNDFkMzY2ZTc1YjUyY2Y3MmZmZGVjOWJhNDcuLjg2OTMzOGM3NDFiMDFkYThlNjNmNTMzYWZi
MjUzNDE4Zjg5MGQ0MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUXVlcnlTZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXJ5U2V0LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJp
dmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpRdWVyeVNldCYgYmFja2luZygpIHsgcmV0dXJuIG1f
YmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVh
bVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBk
aWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgZGVzdHJveSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlLmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlLmgKaW5k
ZXggMjhkOTMxMmZiMzIyNTFhZDQ2NDdlZjJlMGViYjlhYjc2ZGYxYjVmNi4uMWVhZjk3Zjc5Y2Uw
ZjA0NWMwZTJiMTJmOWRlZTcwM2I2OWIyMWM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWUuaApAQCAtNzksNyArNzks
NyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlF1ZXVlJiBiYWNraW5nKCkgeyByZXR1
cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2
b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzdWJtaXQoVmVjdG9yPFdlYkdQVUlk
ZW50aWZpZXI+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJCdW5kbGUuaAppbmRleCBkNThhY2QwZTk4
ZDhlNDZkNTAyMmY3YjBlNWFkNjE2Mzc0Y2UxODVlLi42ODg4MjEyNTMyMzI0NTlhNGUyYTExOTAy
ZjEyMjcwZWNiNjM0YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyQnVuZGxlLmgKQEAgLTcwLDcgKzcw
LDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGUmIGJhY2tpbmco
KSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3Nh
Z2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNldExhYmVsKFN0cmlu
ZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJCdW5kbGVFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVuY29kZXIuaAppbmRleCBkYWUw
NzA1YTQ0NDJmMDczMTIxMzc2MDkxZWViNTI2MDVjYjY1YjVmLi5hMmNjNDA3NzhiMzg5NmI3NWEz
NWIyZWQxNWJkNjI1MDhiOGRhMzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlckJ1bmRsZUVu
Y29kZXIuaApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlJl
bmRlckJ1bmRsZUVuY29kZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKFdlYkdQVUlkZW50aWZpZXIpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBh
c3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggZmY5Y2VlMWNkMTY4ZGI1ODk3YTc1ZDE2NmIy
NWRlNTM1ZmRhMjIwOC4uNWU2NzJkYmJiNDQ2MzJkN2Y5ZDZmOTc1ZTg5ZjVhMzk3NTdlYjIyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtNzMsNyArNzMsNyBAQCBw
cml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVyJiBiYWNraW5nKCkg
eyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdl
KElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
KyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJH
UFVJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQaXBlbGluZS5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQaXBlbGluZS5oCmluZGV4IDViNzBl
MGJmZGZlMmY1MWMyMWU1MzI3MmJkNzFiOWMzZDA3NjBmYjAuLjlhZTJhYmU3MzdkY2ZkNzA3MGFk
ZmMzYzVjYTQ4M2NjNDk1ZjZlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGlwZWxpbmUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBpcGVsaW5lLmgKQEAg
LTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJQaXBlbGlu
ZSYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAgdm9pZCBkaWRSZWNlaXZl
U3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNv
ZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVh
bVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgZ2V0
QmluZEdyb3VwTGF5b3V0KHVpbnQzMl90IGluZGV4LCBXZWJHUFVJZGVudGlmaWVyKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVT
YW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVNhbXBsZXIuaAppbmRleCA0NDIzZDk3MDdmZDZiY2ZmZGQwMGIyMTIxYTNjZWM2N2U0YmZmM2Uz
Li41Y2I4ZDU3OWMxMDZhNjRhMjQ1ODdhYmE0Y2I1MTUyODI1YjJmYjViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNhbXBsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNhbXBs
ZXIuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgUEFMOjpXZWJHUFU6OlNhbXBs
ZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAotICAgIHZvaWQgZGlkUmVjZWl2
ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVj
b2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJl
YW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNl
dExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVTaGFkZXJNb2R1bGUuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlU2hhZGVyTW9kdWxlLmgKaW5kZXggYTJhODNi
NGFhNTI3MjQyYTU0NDY0MDk3ZWI0NDg2ODE5MzBlYzBkNC4uYWFlODQ4YjJhNmEyZTE1OGM1ZDZl
MWU2OTU1NTM1MmIyMmVmMGNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVTaGFkZXJNb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVNoYWRlck1vZHVsZS5oCkBAIC03Myw3
ICs3Myw3IEBAIHByaXZhdGU6CiAKICAgICBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlJiBiYWNr
aW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1N
ZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBm
aW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVy
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBjb21waWxhdGlv
bkluZm8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2ViR1BVOjpDb21waWxhdGlvbk1l
c3NhZ2U+JiYpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaAppbmRleCA3OGVmZDcwNWJlYTI0OGEyNGU2
OTAwNWViYzBkMTQxMTdkN2IzZTE2Li5jODUzMTU1NDFkNTZjMDA0YThmZmVmZjM1MGFjMTI4NTYw
OGFmYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZVRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVRleHR1cmUuaApAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogCiAg
ICAgUEFMOjpXZWJHUFU6OlRleHR1cmUmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0K
IAotICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0
cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikg
ZmluYWw7CiAKICAgICB2b2lkIGNyZWF0ZVZpZXcoY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJHUFU6
OlRleHR1cmVWaWV3RGVzY3JpcHRvcj4mLCBXZWJHUFVJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVUZXh0dXJl
Vmlldy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVU
ZXh0dXJlVmlldy5oCmluZGV4IDViZmE1MWQyYTJmMWIyYjgwNjkxMDRiZGQxNjU0ODQyYzU5MWYz
NTEuLjViYzI3ZmRiY2YxODQzZTMzM2U4YjY3ZDkxZDZiYTZiNDJkZjZlM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlVGV4dHVyZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVRleHR1cmVWaWV3LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlVmlldyYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogCi0gICAg
dm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVz
c2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
IAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9IYW5kbGVNZXNzYWdlLmgKaW5kZXggN2IxMjljYmM3ZWEwNzgyZDAzOTFhODFlODU1YTk3
Y2Y2NGQyZWEyOS4uNjNiOGZhODY3ZWYxNWE5ZjMwYTAyZmFlY2YwOWY4OGU3YjVhZTcxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaApAQCAtMjQwLDcgKzI0
MCw3IEBAIGJvb2wgaGFuZGxlTWVzc2FnZVN5bmNocm9ub3VzV2FudHNDb25uZWN0aW9uKENvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIERlY29kZXImIGRlCiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GPgotdm9pZCBoYW5kbGVNZXNzYWdlU3luY2hyb25vdXMo
U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UmIGNvbm5lY3Rpb24sIERlY29kZXImIGRlY29kZXIs
IEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit2b2lkIGhhbmRsZU1lc3NhZ2VTeW5jaHJvbm91cyhT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBEZWNvZGVyJiBkZWNvZGVyLCBDKiBv
YmplY3QsIE1GIGZ1bmN0aW9uKQogewogICAgIENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3lu
Y1JlcXVlc3RJRDsKICAgICBpZiAoVU5MSUtFTFkoIWRlY29kZXIuZGVjb2RlKHN5bmNSZXF1ZXN0
SUQpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5l
Y3Rpb25Xb3JrUXVldWUuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29u
bmVjdGlvbldvcmtRdWV1ZS5jcHAKaW5kZXggNjNlNTVlMTNlOWU0NzJiOWNkMjMwYjcxODAzMTNh
Y2YyZjE3Y2YxNy4uOTNmZGQ3MTBmMzI5MTZiNjc0NzdmMmU3MDkzZjQ2NjBmZTYyZWRmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtR
dWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlv
bldvcmtRdWV1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBTdHJlYW1Db25uZWN0aW9uV29y
a1F1ZXVlOjpkaXNwYXRjaChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB3
YWtlVXAoKTsKIH0KIAotdm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1D
b25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiBjb25uZWN0aW9uKQordm9pZCBT
dHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjphZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgewogICAgICAgICBMb2NrZXIgbG9ja2Vy
IHsgbV9sb2NrIH07CkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgU3RyZWFtQ29ubmVjdGlvbldvcmtR
dWV1ZTo6YWRkU3RyZWFtQ29ubmVjdGlvbihTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYKICAg
ICB3YWtlVXAoKTsKIH0KIAotdm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpyZW1vdmVT
dHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiBjb25uZWN0aW9uKQor
dm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpyZW1vdmVTdHJlYW1Db25uZWN0aW9uKFN0
cmVhbVNlcnZlckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAgICAgewogICAgICAgICBMb2Nr
ZXIgbG9ja2VyIHsgbV9sb2NrIH07CkBAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBTdHJlYW1Db25u
ZWN0aW9uV29ya1F1ZXVlOjpwcm9jZXNzU3RyZWFtcygpCiAgICAgYm9vbCBoYXNNb3JlVG9Qcm9j
ZXNzID0gZmFsc2U7CiAgICAgZG8gewogICAgICAgICBEZXF1ZTxXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4+IGZ1bmN0aW9uczsKLSAgICAgICAgVmVjdG9yPFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZT4+IGNvbm5lY3Rpb25zOworICAgICAgICBWZWN0b3I8UmVmPFN0cmVhbVNlcnZlckNvbm5l
Y3Rpb24+PiBjb25uZWN0aW9uczsKICAgICAgICAgewogICAgICAgICAgICAgTG9ja2VyIGxvY2tl
ciB7IG1fbG9jayB9OwogICAgICAgICAgICAgZnVuY3Rpb25zLnN3YXAobV9mdW5jdGlvbnMpOwpA
QCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6cHJvY2Vz
c1N0cmVhbXMoKQogCiAgICAgICAgIGhhc01vcmVUb1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAg
Zm9yIChhdXRvJiBjb25uZWN0aW9uIDogY29ubmVjdGlvbnMpCi0gICAgICAgICAgICBoYXNNb3Jl
VG9Qcm9jZXNzIHw9IGNvbm5lY3Rpb24tPmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoZGVmYXVsdE1l
c3NhZ2VMaW1pdCkgPT0gU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6Okhhc01vcmVNZXNzYWdl
czsKKyAgICAgICAgICAgIGhhc01vcmVUb1Byb2Nlc3MgfD0gY29ubmVjdGlvbi0+ZGlzcGF0Y2hT
dHJlYW1NZXNzYWdlcyhkZWZhdWx0TWVzc2FnZUxpbWl0KSA9PSBTdHJlYW1TZXJ2ZXJDb25uZWN0
aW9uOjpIYXNNb3JlTWVzc2FnZXM7CiAgICAgfSB3aGlsZSAoaGFzTW9yZVRvUHJvY2Vzcyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWUuaAppbmRleCAyZWIyMDFlZjhmM2UyYTYxZDZkMTVjZWMyZmIwNjkxMWNhZWNj
Y2JkLi42NzE0ZGRiZjAwZjgwOWY3ZTc5ZDBhMDJhMmNlZDIyNDNhYTg5YWNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmgK
KysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1
ZS5oCkBAIC00NSw4ICs0NSw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWUoY29uc3QgY2hhciopOwogICAgIH5TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlKCk7Ci0g
ICAgdm9pZCBhZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJik7
Ci0gICAgdm9pZCByZW1vdmVTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlJik7CisgICAgdm9pZCBhZGRTdHJlYW1Db25uZWN0aW9uKFN0cmVhbVNlcnZlckNvbm5lY3Rp
b24mKTsKKyAgICB2b2lkIHJlbW92ZVN0cmVhbUNvbm5lY3Rpb24oU3RyZWFtU2VydmVyQ29ubmVj
dGlvbiYpOwogCiAgICAgdm9pZCBkaXNwYXRjaChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmlu
YWw7CiAgICAgdm9pZCBzdG9wQW5kV2FpdEZvckNvbXBsZXRpb24oKTsKQEAgLTY5LDcgKzY5LDcg
QEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIExvY2sgbV9sb2NrOwogICAgIFJlZlB0cjxUaHJlYWQ+
IG1fcHJvY2Vzc2luZ1RocmVhZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgRGVx
dWU8RnVuY3Rpb248dm9pZCgpPj4gbV9mdW5jdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOwotICAgIEhhc2hDb3VudGVkU2V0PFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZT4+
IG1fY29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOworICAgIEhhc2hDb3Vu
dGVkU2V0PFJlZjxTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uPj4gbV9jb25uZWN0aW9ucyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgZnJpZW5kIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNv
bnN0IFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbU1lc3NhZ2VSZWNlaXZlci5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKaW5kZXggNGU2NDhiZTk4
ODUyM2FiNDA1YTEwY2U3NTEzMWNkZTg1MGUzNjlhNi4uNjk1YzBkYzRiZTcwYzkxN2U2Y2Q3MjU4
NjI3MGMwYjQwMzY3NTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmgKQEAgLTI5LDE0ICsyOSwxNCBAQAogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotY2xhc3MgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U7CitjbGFzcyBTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uOwogY2xhc3MgRGVjb2RlcjsKIAogY2xhc3MgU3RyZWFtTWVzc2FnZVJl
Y2VpdmVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN0cmVhbU1lc3NhZ2VSZWNlaXZl
cj4gewogcHVibGljOgogICAgIHZpcnR1YWwgflN0cmVhbU1lc3NhZ2VSZWNlaXZlcigpIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlJiwgRGVjb2RlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVN0cmVhbU1lc3NhZ2UoU3RyZWFtU2VydmVyQ29ubmVjdGlvbiYsIERlY29kZXImKSA9IDA7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL1N0cmVhbVNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggOTZhM2VhZjZhN2Q4ZjFmZDVk
ZThlYWJmOTA1MDEzZmU0OTFkYTFjNC4uNDExOGIyMWY5YjBkODk0YmIzZTM5MzRiNzg5ODE0NjRh
ODUwN2NjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFt
U2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTMxLDE1ICszMSwyMiBAQAogCiBuYW1lc3BhY2UgSVBD
IHsKIAotU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25C
YXNlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFN0cmVhbUNvbm5lY3Rpb25CdWZmZXImJiBzdHJl
YW0sIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmIHdvcmtRdWV1ZSkKK1N0cmVhbVNlcnZlckNv
bm5lY3Rpb246OlN0cmVhbVNlcnZlckNvbm5lY3Rpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciYmIHN0cmVhbSwgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1
ZSYgd29ya1F1ZXVlKQogICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCiAgICAgLCBtX3dv
cmtRdWV1ZSh3b3JrUXVldWUpCiAgICAgLCBtX2J1ZmZlcihXVEZNb3ZlKHN0cmVhbSkpCiB7CiB9
CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2Fn
ZXNJbXBsKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQp
Cit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXMoU3Ry
ZWFtTWVzc2FnZVJlY2VpdmVyJiByZWNlaXZlciwgUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwg
dWludDY0X3QgZGVzdGluYXRpb25JRCkKIHsKKyAgICB7CisgICAgICAgIGF1dG8ga2V5ID0gc3Rk
OjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1lKSwgZGVzdGluYXRp
b25JRCk7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlY2VpdmVyc0xvY2sgfTsKKyAgICAg
ICAgQVNTRVJUKCFtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKKyAgICAgICAgbV9yZWNlaXZl
cnMuYWRkKGtleSwgcmVjZWl2ZXIpOworICAgIH0KKwogICAgIC8vIEZJWE1FOiBDYW4gd2UgYXZv
aWQgc3luY2hyb25vdXMgZGlzcGF0Y2ggaGVyZSBieSBhZGp1c3RpbmcgdGhlIGFzc2VydGlvbiBp
biBgQ29ubmVjdGlvbjo6ZW5xdWV1ZU1hdGNoaW5nTWVzc2FnZXNUb01lc3NhZ2VSZWNlaXZlUXVl
dWVgPwogICAgIGNhbGxPbk1haW5SdW5Mb29wQW5kV2FpdChbJl0gewogICAgICAgICBtX2Nvbm5l
Y3Rpb24tPmFkZE1lc3NhZ2VSZWNlaXZlUXVldWUoKnRoaXMsIHJlY2VpdmVyTmFtZSwgZGVzdGlu
YXRpb25JRCk7CkBAIC00Nyw3ICs1NCw3IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJh
c2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKFJlY2VpdmVyTmFtZSByZWNlaXZlCiAgICAg
bV93b3JrUXVldWUuYWRkU3RyZWFtQ29ubmVjdGlvbigqdGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKFJlY2VpdmVy
TmFtZSByZWNlaXZlck5hbWUpCit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVj
ZWl2aW5nTWVzc2FnZXMoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSkKIHsKICAgICBjYWxsT25N
YWluUnVuTG9vcEFuZFdhaXQoWyZdIHsKICAgICAgICAgbV9jb25uZWN0aW9uLT5hZGRNZXNzYWdl
UmVjZWl2ZVF1ZXVlKCp0aGlzLCByZWNlaXZlck5hbWUpOwpAQCAtNTUsMTkgKzYyLDI0IEBAIHZv
aWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBs
KFJlY2VpdmVyTmFtZSByZWNlaXZlCiAgICAgbV93b3JrUXVldWUuYWRkU3RyZWFtQ29ubmVjdGlv
bigqdGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNl
aXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSkKK3ZvaWQgU3RyZWFt
U2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKFJlY2VpdmVyTmFtZSByZWNl
aXZlck5hbWUpCiB7CiAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmVNZXNzYWdlUmVjZWl2ZVF1ZXVl
KHJlY2VpdmVyTmFtZSk7CiAgICAgbV93b3JrUXVldWUucmVtb3ZlU3RyZWFtQ29ubmVjdGlvbigq
dGhpcyk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNlaXZp
bmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCkKK3ZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3Nh
Z2VzKFJlY2VpdmVyTmFtZSByZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpCiB7
CiAgICAgbV9jb25uZWN0aW9uLT5yZW1vdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlKHJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCk7CiAgICAgbV93b3JrUXVldWUucmVtb3ZlU3RyZWFtQ29ubmVjdGlv
bigqdGhpcyk7CisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0YXRpY19jYXN0PHVp
bnQ4X3Q+KHJlY2VpdmVyTmFtZSksIGRlc3RpbmF0aW9uSUQpOworICAgIExvY2tlciBsb2NrZXIg
eyBtX3JlY2VpdmVyc0xvY2sgfTsKKyAgICBBU1NFUlQobV9yZWNlaXZlcnMuY29udGFpbnMoa2V5
KSk7CisgICAgbV9yZWNlaXZlcnMucmVtb3ZlKGtleSk7CiB9CiAKLXZvaWQgU3RyZWFtU2VydmVy
Q29ubmVjdGlvbkJhc2U6OmVucXVldWVNZXNzYWdlKENvbm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9w
dHI8RGVjb2Rlcj4mJiBtZXNzYWdlKQordm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjplbnF1
ZXVlTWVzc2FnZShDb25uZWN0aW9uJiwgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+JiYgbWVzc2Fn
ZSkKIHsKICAgICB7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX291dE9mU3RyZWFtTWVzc2Fn
ZXNMb2NrIH07CkBAIC03Niw3ICs4OCw3IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJh
c2U6OmVucXVldWVNZXNzYWdlKENvbm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9wdHI8RGVjCiAgICAg
bV93b3JrUXVldWUud2FrZVVwKCk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8U3RyZWFtU2VydmVyQ29u
bmVjdGlvbkJhc2U6OlNwYW4+IFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlOjp0cnlBY3F1aXJl
KCkKK3N0ZDo6b3B0aW9uYWw8U3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6U3Bhbj4gU3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbjo6dHJ5QWNxdWlyZSgpCiB7CiAgICAgU2VydmVyTGltaXQgc2VydmVyTGlt
aXQgPSBzaGFyZWRTZXJ2ZXJMaW1pdCgpLmxvYWQoc3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSk7
CiAgICAgaWYgKHNlcnZlckxpbWl0ID09IFNlcnZlckxpbWl0OjpzZXJ2ZXJJc1NsZWVwaW5nVGFn
KQpAQCAtOTQsMTIgKzEwNiwxMiBAQCBzdGQ6Om9wdGlvbmFsPFN0cmVhbVNlcnZlckNvbm5lY3Rp
b25CYXNlOjpTcGFuPiBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6dHJ5QQogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKLVN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlOjpTcGFuIFN0cmVhbVNl
cnZlckNvbm5lY3Rpb25CYXNlOjphY3F1aXJlQWxsKCkKK1N0cmVhbVNlcnZlckNvbm5lY3Rpb246
OlNwYW4gU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6YWNxdWlyZUFsbCgpCiB7CiAgICAgcmV0dXJu
IGFsaWduZWRTcGFuKDAsIGRhdGFTaXplKCkgLSAxKTsKIH0KIAotdm9pZCBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uQmFzZTo6cmVsZWFzZShzaXplX3QgcmVhZFNpemUpCit2b2lkIFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb246OnJlbGVhc2Uoc2l6ZV90IHJlYWRTaXplKQogewogICAgIEFTU0VSVChyZWFk
U2l6ZSk7CiAgICAgcmVhZFNpemUgPSBzdGQ6Om1heChyZWFkU2l6ZSwgbWluaW11bU1lc3NhZ2VT
aXplKTsKQEAgLTExNSw3ICsxMjcsNyBAQCB2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNl
OjpyZWxlYXNlKHNpemVfdCByZWFkU2l6ZSkKICAgICBtX3NlcnZlck9mZnNldCA9IHNlcnZlck9m
ZnNldDsKIH0KIAotdm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6cmVsZWFzZUFsbCgp
Cit2b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnJlbGVhc2VBbGwoKQogewogICAgIHNoYXJl
ZFNlcnZlckxpbWl0KCkuc3RvcmUoc3RhdGljX2Nhc3Q8U2VydmVyTGltaXQ+KDApLCBzdGQ6Om1l
bW9yeV9vcmRlcl9yZWxlYXNlKTsKICAgICBTZXJ2ZXJPZmZzZXQgb2xkU2VydmVyT2Zmc2V0ID0g
c2hhcmVkU2VydmVyT2Zmc2V0KCkuZXhjaGFuZ2Uoc3RhdGljX2Nhc3Q8U2VydmVyT2Zmc2V0Pigw
KSwgc3RkOjptZW1vcnlfb3JkZXJfYWNxX3JlbCk7CkBAIC0xMjcsNyArMTM5LDcgQEAgdm9pZCBT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6cmVsZWFzZUFsbCgpCiAgICAgbV9zZXJ2ZXJPZmZz
ZXQgPSAwOwogfQogCi1TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6U3BhbiBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uQmFzZTo6YWxpZ25lZFNwYW4oc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxpbWl0
KQorU3RyZWFtU2VydmVyQ29ubmVjdGlvbjo6U3BhbiBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjph
bGlnbmVkU3BhbihzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGltaXQpCiB7CiAgICAgQVNTRVJUKG9m
ZnNldCA8IGRhdGFTaXplKCkpOwogICAgIEFTU0VSVChsaW1pdCA8IGRhdGFTaXplKCkpOwpAQCAt
MTQzLDE0ICsxNTUsMTQgQEAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OlNwYW4gU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2U6OmFsaWduZWRTcGFuKHNpemVfdAogICAgIHJldHVybiB7IGRh
dGEoKSArIGFsaWduZWQsIHJlc3VsdFNpemUgfTsKIH0KIAotc2l6ZV90IFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlOjpzaXplKHNpemVfdCBvZmZzZXQsIHNpemVfdCBsaW1pdCkKK3NpemVfdCBT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzaXplKHNpemVfdCBvZmZzZXQsIHNpemVfdCBsaW1pdCkK
IHsKICAgICBpZiAob2Zmc2V0IDw9IGxpbWl0KQogICAgICAgICByZXR1cm4gbGltaXQgLSBvZmZz
ZXQ7CiAgICAgcmV0dXJuIGRhdGFTaXplKCkgLSBvZmZzZXQ7CiB9CiAKLXNpemVfdCBTdHJlYW1T
ZXJ2ZXJDb25uZWN0aW9uQmFzZTo6Y2xhbXBlZExpbWl0KFNlcnZlckxpbWl0IHNlcnZlckxpbWl0
KSBjb25zdAorc2l6ZV90IFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OmNsYW1wZWRMaW1pdChTZXJ2
ZXJMaW1pdCBzZXJ2ZXJMaW1pdCkgY29uc3QKIHsKICAgICBBU1NFUlQoIShzZXJ2ZXJMaW1pdCAm
IFNlcnZlckxpbWl0OjpzZXJ2ZXJJc1NsZWVwaW5nVGFnKSk7CiAgICAgc2l6ZV90IGxpbWl0ID0g
c3RhdGljX2Nhc3Q8c2l6ZV90PihzZXJ2ZXJMaW1pdCk7CkBAIC0xNTgsMjcgKzE3MCw3IEBAIHNp
emVfdCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6Y2xhbXBlZExpbWl0KFNlcnZlckxpbWl0
IHNlcnZlckxpbWl0KSBjb25zdAogICAgIHJldHVybiBzdGQ6Om1pbihsaW1pdCwgZGF0YVNpemUo
KSAtIDEpOwogfQogCi12b2lkIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OnN0YXJ0UmVjZWl2aW5n
TWVzc2FnZXMoU3RyZWFtTWVzc2FnZVJlY2VpdmVyJiByZWNlaXZlciwgUmVjZWl2ZXJOYW1lIHJl
Y2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKLXsKLSAgICB7Ci0gICAgICAgIGF1
dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1l
KSwgZGVzdGluYXRpb25JRCk7Ci0gICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlY2VpdmVyc0xv
Y2sgfTsKLSAgICAgICAgQVNTRVJUKCFtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKLSAgICAg
ICAgbV9yZWNlaXZlcnMuYWRkKGtleSwgcmVjZWl2ZXIpOwotICAgIH0KLSAgICBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uQmFzZTo6c3RhcnRSZWNlaXZpbmdNZXNzYWdlc0ltcGwocmVjZWl2ZXJOYW1l
LCBkZXN0aW5hdGlvbklEKTsKLX0KLQotdm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdG9w
UmVjZWl2aW5nTWVzc2FnZXMoUmVjZWl2ZXJOYW1lIHJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVz
dGluYXRpb25JRCkKLXsKLSAgICBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZTo6c3RvcFJlY2Vp
dmluZ01lc3NhZ2VzSW1wbChyZWNlaXZlck5hbWUsIGRlc3RpbmF0aW9uSUQpOwotICAgIGF1dG8g
a2V5ID0gc3RkOjptYWtlX3BhaXIoc3RhdGljX2Nhc3Q8dWludDhfdD4ocmVjZWl2ZXJOYW1lKSwg
ZGVzdGluYXRpb25JRCk7Ci0gICAgTG9ja2VyIGxvY2tlciB7IG1fcmVjZWl2ZXJzTG9jayB9Owot
ICAgIEFTU0VSVChtX3JlY2VpdmVycy5jb250YWlucyhrZXkpKTsKLSAgICBtX3JlY2VpdmVycy5y
ZW1vdmUoa2V5KTsKLX0KLQotU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OkRpc3BhdGNoUmVz
dWx0IFN0cmVhbVNlcnZlckNvbm5lY3Rpb246OmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90
IG1lc3NhZ2VMaW1pdCkKK1N0cmVhbVNlcnZlckNvbm5lY3Rpb246OkRpc3BhdGNoUmVzdWx0IFN0
cmVhbVNlcnZlckNvbm5lY3Rpb246OmRpc3BhdGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90IG1lc3Nh
Z2VMaW1pdCkKIHsKICAgICBSZWZQdHI8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPiBjdXJyZW50UmVj
ZWl2ZXI7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBXVEY6OmlzVmFsaWQoUmVjZWl2ZXJOYW1l
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNv
bm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5l
Y3Rpb24uaAppbmRleCBlNmE0MjUxNGY0Y2U3MDg1ZTdjN2NkMTJiMTc2MTNlNjQ4NmQyNmQ3Li5h
YmVmNGVjZmUzZTkzNzhjMTdmYWJlMzRkM2MyNDgzZDE0MDc0N2JkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5oCkBAIC00MCwx
MCArNDAsMzEgQEAgbmFtZXNwYWNlIElQQyB7CiAKIGNsYXNzIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWU7CiAKLWNsYXNzIFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPFN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlPiwgcHJvdGVjdGVkIE1l
c3NhZ2VSZWNlaXZlUXVldWUgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbVNlcnZl
ckNvbm5lY3Rpb25CYXNlKTsKKy8vIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gcmVwcmVzZW50cyB0
aGUgY29ubmVjdGlvbiBiZXR3ZWVuIHN0cmVhbSBjbGllbnQgYW5kIHNlcnZlciwgYXMgdXNlZCBi
eSB0aGUgc2VydmVyLgorLy8KKy8vIFN0cmVhbVNlcnZlckNvbm5lY3Rpb246CisvLyAgKiBIb2xk
cyB0aGUgbWVzc2FnZXMgdG93YXJkcyB0aGUgc2VydmVyLgorLy8gICogU2VuZHMgdGhlIHJlcGxp
ZXMgYmFjayB0byB0aGUgY2xpZW50IHZpYSB0aGUgc3RyZWFtIG9yIG5vcm1hbCBDb25uZWN0aW9u
IGZhbGxiYWNrLgorLy8KKy8vIFJlY2VpdmVyIHRlbXBsYXRlIGNvbnRyYWN0OgorLy8gICB2b2lk
IGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKFN0cmVhbVNlcnZlckNvbm5lY3Rpb24mLCBEZWNvZGVy
Jik7CisvLworLy8gVGhlIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gZG9lcyBub3QgdHJ1c3QgdGhl
IFN0cmVhbUNsaWVudENvbm5lY3Rpb24uCitjbGFzcyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uIGZp
bmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFN0cmVhbVNlcnZlckNvbm5lY3Rpb24+
LCBwcml2YXRlIE1lc3NhZ2VSZWNlaXZlUXVldWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmVhbVNlcnZlckNvbm5lY3Rpb24pOwogcHVibGljOgotICAgIH5TdHJlYW1TZXJ2ZXJDb25u
ZWN0aW9uQmFzZSgpIG92ZXJyaWRlID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgUmVmPFN0cmVhbVNl
cnZlckNvbm5lY3Rpb24+IGNyZWF0ZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJlYW1Db25u
ZWN0aW9uQnVmZmVyJiYgc3RyZWFtQnVmZmVyLCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlJiB3
b3JrUXVldWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHJlYW1TZXJ2
ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb24sIFdURk1vdmUoc3RyZWFtQnVmZmVyKSwgd29ya1F1ZXVl
KSk7CisgICAgfQorICAgIH5TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uKCkgZmluYWwgPSBkZWZhdWx0
OworCisgICAgdm9pZCBzdGFydFJlY2VpdmluZ01lc3NhZ2VzKFN0cmVhbU1lc3NhZ2VSZWNlaXZl
ciYsIFJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCk7CisgICAgLy8gU3RvcHMg
dGhlIG1lc3NhZ2UgcmVjZWlwdC4gTm90ZTogYWxyZWFkeSByZWNlaXZlZCBtZXNzYWdlcyBtaWdo
dCBzdGlsbCBiZSBkZWxpdmVyZWQuCisgICAgdm9pZCBzdG9wUmVjZWl2aW5nTWVzc2FnZXMoUmVj
ZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKKworICAgIHZvaWQgc3RhcnRSZWNl
aXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOworICAgIHZvaWQgc3RvcFJlY2VpdmluZ01lc3Nh
Z2VzKFJlY2VpdmVyTmFtZSk7CiAKICAgICBDb25uZWN0aW9uJiBjb25uZWN0aW9uKCkgeyByZXR1
cm4gbV9jb25uZWN0aW9uOyB9CiAKQEAgLTUxLDE5ICs3MiwxMyBAQCBwdWJsaWM6CiAgICAgICAg
IEhhc05vTWVzc2FnZXMsCiAgICAgICAgIEhhc01vcmVNZXNzYWdlcwogICAgIH07Ci0gICAgdmly
dHVhbCBEaXNwYXRjaFJlc3VsdCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2VzKHNpemVfdCBtZXNzYWdl
TGltaXQpID0gMDsKKyAgICBEaXNwYXRjaFJlc3VsdCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2VzKHNp
emVfdCBtZXNzYWdlTGltaXQpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUu
Li4gQXJndW1lbnRzPgogICAgIHZvaWQgc2VuZFN5bmNSZXBseShDb25uZWN0aW9uOjpTeW5jUmVx
dWVzdElELCBBcmd1bWVudHMmJi4uLik7CiAKLXByb3RlY3RlZDoKLSAgICBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uQmFzZShJUEM6OkNvbm5lY3Rpb24mLCBTdHJlYW1Db25uZWN0aW9uQnVmZmVyJiYs
IFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsKLQotICAgIHZvaWQgc3RhcnRSZWNlaXZpbmdN
ZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKLSAgICB2
b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0
aW5hdGlvbklEKTsKLQotICAgIHZvaWQgc3RhcnRSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2
ZXJOYW1lKTsKLSAgICB2b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlc0ltcGwoUmVjZWl2ZXJOYW1l
KTsKK3ByaXZhdGU6CisgICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24m
LCBTdHJlYW1Db25uZWN0aW9uQnVmZmVyJiYsIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUmKTsK
IAogICAgIC8vIE1lc3NhZ2VSZWNlaXZlUXVldWUKICAgICB2b2lkIGVucXVldWVNZXNzYWdlKENv
bm5lY3Rpb24mLCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4mJikgZmluYWw7CkBAIC05MCw2ICsx
MDUsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgc2l6ZV90IGNsYW1wZWRMaW1pdChTZXJ2ZXJMaW1pdCkg
Y29uc3Q7CiAgICAgdWludDhfdCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGEo
KTsgfQogICAgIHNpemVfdCBkYXRhU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGFT
aXplKCk7IH0KKyAgICBib29sIHByb2Nlc3NTZXRTdHJlYW1EZXN0aW5hdGlvbklEKERlY29kZXIm
JiwgUmVmUHRyPFN0cmVhbU1lc3NhZ2VSZWNlaXZlcj4mIGN1cnJlbnRSZWNlaXZlcik7CisgICAg
Ym9vbCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmLCBTdHJlYW1NZXNzYWdlUmVjZWl2
ZXImKTsKKyAgICBib29sIGRpc3BhdGNoT3V0T2ZTdHJlYW1NZXNzYWdlKERlY29kZXImJik7CiAK
ICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgU3RyZWFtQ29ubmVj
dGlvbldvcmtRdWV1ZSYgbV93b3JrUXVldWU7CkBAIC0xMDEsMTIgKzExOSwxNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+PiBtX291dE9mU3RyZWFtTWVz
c2FnZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX291dE9mU3RyZWFtTWVzc2FnZXNMb2NrKTsKIAog
ICAgIGJvb2wgbV9pc0Rpc3BhdGNoaW5nU3RyZWFtTWVzc2FnZSB7IGZhbHNlIH07CisgICAgTG9j
ayBtX3JlY2VpdmVyc0xvY2s7CisgICAgdXNpbmcgUmVjZWl2ZXJzTWFwID0gSGFzaE1hcDxzdGQ6
OnBhaXI8dWludDhfdCwgdWludDY0X3Q+LCBSZWY8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPj47Cisg
ICAgUmVjZWl2ZXJzTWFwIG1fcmVjZWl2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWNlaXZl
cnNMb2NrKTsKKyAgICB1aW50NjRfdCBtX2N1cnJlbnREZXN0aW5hdGlvbklEIHsgMCB9OwogCiAg
ICAgZnJpZW5kIGNsYXNzIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWU7CiB9OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+Ci12b2lkIFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlOjpzZW5kU3luY1JlcGx5KENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3lu
Y1JlcXVlc3RJRCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQordm9pZCBTdHJlYW1TZXJ2ZXJD
b25uZWN0aW9uOjpzZW5kU3luY1JlcGx5KENvbm5lY3Rpb246OlN5bmNSZXF1ZXN0SUQgc3luY1Jl
cXVlc3RJRCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQogewogICAgIGlmIGNvbnN0ZXhwcihU
Ojppc1JlcGx5U3RyZWFtRW5jb2RhYmxlKSB7CiAgICAgICAgIGlmIChtX2lzRGlzcGF0Y2hpbmdT
dHJlYW1NZXNzYWdlKSB7CkBAIC0xMjUsNTYgKzE0Nyw0IEBAIHZvaWQgU3RyZWFtU2VydmVyQ29u
bmVjdGlvbkJhc2U6OnNlbmRTeW5jUmVwbHkoQ29ubmVjdGlvbjo6U3luY1JlcXVlc3RJRCBzeW5j
UmVxCiAgICAgbV9jb25uZWN0aW9uLT5zZW5kU3luY1JlcGx5KFdURk1vdmUoZW5jb2RlcikpOwog
fQogCi0vLyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uIHJlcHJlc2VudHMgdGhlIGNvbm5lY3Rpb24g
YmV0d2VlbiBzdHJlYW0gY2xpZW50IGFuZCBzZXJ2ZXIsIGFzIHVzZWQgYnkgdGhlIHNlcnZlci4K
LS8vCi0vLyBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOgotLy8gICogSG9sZHMgdGhlIG1lc3NhZ2Vz
IHRvd2FyZHMgdGhlIHNlcnZlci4KLS8vICAqIFNlbmRzIHRoZSByZXBsaWVzIGJhY2sgdG8gdGhl
IGNsaWVudCB2aWEgdGhlIHN0cmVhbSBvciBub3JtYWwgQ29ubmVjdGlvbiBmYWxsYmFjay4KLS8v
Ci0vLyBSZWNlaXZlciB0ZW1wbGF0ZSBjb250cmFjdDoKLS8vICAgdm9pZCBkaWRSZWNlaXZlU3Ry
ZWFtTWVzc2FnZShTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIERlY29kZXImKTsKLS8vCi0v
LyBUaGUgU3RyZWFtU2VydmVyQ29ubmVjdGlvbiBkb2VzIG5vdCB0cnVzdCB0aGUgU3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbi4KLWNsYXNzIFN0cmVhbVNlcnZlckNvbm5lY3Rpb24gZmluYWwgOiBwdWJs
aWMgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8
U3RyZWFtU2VydmVyQ29ubmVjdGlvbj4gY3JlYXRlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFN0
cmVhbUNvbm5lY3Rpb25CdWZmZXImJiBzdHJlYW1CdWZmZXIsIFN0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWUmIHdvcmtRdWV1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0
cmVhbVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbiwgV1RGTW92ZShzdHJlYW1CdWZmZXIpLCB3
b3JrUXVldWUpKTsKLSAgICB9Ci0gICAgflN0cmVhbVNlcnZlckNvbm5lY3Rpb24oKSBmaW5hbCA9
IGRlZmF1bHQ7Ci0KLSAgICB2b2lkIHN0YXJ0UmVjZWl2aW5nTWVzc2FnZXMoU3RyZWFtTWVzc2Fn
ZVJlY2VpdmVyJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKLSAgICAv
LyBTdG9wcyB0aGUgbWVzc2FnZSByZWNlaXB0LiBOb3RlOiBhbHJlYWR5IHJlY2VpdmVkIG1lc3Nh
Z2VzIG1pZ2h0IHN0aWxsIGJlIGRlbGl2ZXJlZC4KLSAgICB2b2lkIHN0b3BSZWNlaXZpbmdNZXNz
YWdlcyhSZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpOwotCi0gICAgaW5saW5l
IHZvaWQgc3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOwotICAgIGlubGluZSB2
b2lkIHN0b3BSZWNlaXZpbmdNZXNzYWdlcyhSZWNlaXZlck5hbWUpOwotCi0gICAgLy8gU3RyZWFt
U2VydmVyQ29ubmVjdGlvbkJhc2Ugb3ZlcnJpZGVzLgotICAgIERpc3BhdGNoUmVzdWx0IGRpc3Bh
dGNoU3RyZWFtTWVzc2FnZXMoc2l6ZV90IG1lc3NhZ2VMaW1pdCkgZmluYWw7Ci0KLXByaXZhdGU6
Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJl
YW1Db25uZWN0aW9uQnVmZmVyJiYgc3RyZWFtQnVmZmVyLCBTdHJlYW1Db25uZWN0aW9uV29ya1F1
ZXVlJiB3b3JrUXVldWUpCi0gICAgICAgIDogU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2UoY29u
bmVjdGlvbiwgV1RGTW92ZShzdHJlYW1CdWZmZXIpLCB3b3JrUXVldWUpCi0gICAgewotICAgIH0K
LSAgICBib29sIHByb2Nlc3NTZXRTdHJlYW1EZXN0aW5hdGlvbklEKERlY29kZXImJiwgUmVmUHRy
PFN0cmVhbU1lc3NhZ2VSZWNlaXZlcj4mIGN1cnJlbnRSZWNlaXZlcik7Ci0gICAgYm9vbCBkaXNw
YXRjaFN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmLCBTdHJlYW1NZXNzYWdlUmVjZWl2ZXImKTsKLSAg
ICBib29sIGRpc3BhdGNoT3V0T2ZTdHJlYW1NZXNzYWdlKERlY29kZXImJik7Ci0gICAgTG9jayBt
X3JlY2VpdmVyc0xvY2s7Ci0gICAgdXNpbmcgUmVjZWl2ZXJzTWFwID0gSGFzaE1hcDxzdGQ6OnBh
aXI8dWludDhfdCwgdWludDY0X3Q+LCBSZWY8U3RyZWFtTWVzc2FnZVJlY2VpdmVyPj47Ci0gICAg
UmVjZWl2ZXJzTWFwIG1fcmVjZWl2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWNlaXZlcnNM
b2NrKTsKLSAgICB1aW50NjRfdCBtX2N1cnJlbnREZXN0aW5hdGlvbklEIHsgMCB9OwotfTsKLQot
dm9pZCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uOjpzdGFydFJlY2VpdmluZ01lc3NhZ2VzKFJlY2Vp
dmVyTmFtZSByZWNlaXZlck5hbWUpCi17Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6
OnN0YXJ0UmVjZWl2aW5nTWVzc2FnZXNJbXBsKHJlY2VpdmVyTmFtZSk7Ci19Ci0KLXZvaWQgU3Ry
ZWFtU2VydmVyQ29ubmVjdGlvbjo6c3RvcFJlY2VpdmluZ01lc3NhZ2VzKFJlY2VpdmVyTmFtZSBy
ZWNlaXZlck5hbWUpCi17Ci0gICAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U6OnN0b3BSZWNl
aXZpbmdNZXNzYWdlc0ltcGwocmVjZWl2ZXJOYW1lKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggZjA4NTdhZWM3ZTE1MzUzMzM5NDUxNzdiZDU2
MjViZDY2ODc1NTRkOC4uNDdiN2JkNWIyNTk5YzQ3YTg0OTFiNjUwYWEzMDEwY2IwNWQ1YjhlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0xMTMzLDcgKzEx
MzMsNyBAQCBkZWYgZ2VuZXJhdGVfbWVzc2FnZV9oYW5kbGVyKHJlY2VpdmVyKToKICAgICAgICAg
ICAgIGFzeW5jX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKQogCiAgICAgaWYgcmVjZWl2ZXIuaGFz
X2F0dHJpYnV0ZShTVFJFQU1fQVRUUklCVVRFKToKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgndm9p
ZCAlczo6ZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKVxuJyAlIChyZWNlaXZlci5u
YW1lKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgndm9pZCAlczo6ZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29k
ZXImIGRlY29kZXIpXG4nICUgKHJlY2VpdmVyLm5hbWUpKQogICAgICAgICByZXN1bHQuYXBwZW5k
KCd7XG4nKQogICAgICAgICBhc3NlcnQocmVjZWl2ZXIuaGFzX2F0dHJpYnV0ZShOT1RfUkVGQ09V
TlRFRF9SRUNFSVZFUl9BVFRSSUJVVEUpKQogICAgICAgICBhc3NlcnQobm90IHJlY2VpdmVyLmhh
c19hdHRyaWJ1dGUoV0FOVFNfRElTUEFUQ0hfTUVTU0FHRV9BVFRSSUJVVEUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RX
aXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCAxM2M3MTgwODFkOWNlOTAzZjlmNWY3
OTNkZWM3OWE2ZmIzNDE0NTRjLi42Nzg2NWU4OWZiODk0MmM2ZGM4ODc5ZDQzNmU5OTUwNjk3MTBi
OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RX
aXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L3Rlc3RzL1Rlc3RXaXRoU3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtNDAsNyAr
NDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBUZXN0V2l0aFN0cmVhbTo6ZGlk
UmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYgY29u
bmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBUZXN0V2l0aFN0cmVhbTo6ZGlk
UmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZU5h
bWUoKSA9PSBNZXNzYWdlczo6VGVzdFdpdGhTdHJlYW06OlNlbmRTdHJpbmc6Om5hbWUoKSkKICAg
ICAgICAgcmV0dXJuIElQQzo6aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6VGVzdFdpdGhTdHJlYW06
OlNlbmRTdHJpbmc+KGNvbm5lY3Rpb24uY29ubmVjdGlvbigpLCBkZWNvZGVyLCB0aGlzLCAmVGVz
dFdpdGhTdHJlYW06OnNlbmRTdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvSVBDU3RyZWFtVGVzdGVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9JUENTdHJlYW1UZXN0
ZXIuaAppbmRleCA1YTU5YTJmMjQyZjdhYjk4ZmQ3MzE3MWE0ODc4MGQ5ZmIyNzg1YzVhLi4wNDQw
OGRkYzM4ZTdiMGYyNDdhOTJlNmYyMjUzN2Q4YzJhOTllZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9JUENTdHJlYW1UZXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9JUENTdHJlYW1UZXN0ZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
dG9wTGlzdGVuaW5nRm9ySVBDKFJlZjxJUENTdHJlYW1UZXN0ZXI+JiYgcmVmRnJvbUNvbm5lY3Rp
b24pOwogCiAgICAgLy8gSVBDOjpTdHJlYW1NZXNzYWdlUmVjZWl2ZXIgb3ZlcnJpZGVzLgotICAg
IHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9u
QmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiBwcml2YXRlOgogICAgIElQQ1N0cmVhbVRlc3RlcihJUEM6OkNvbm5lY3Rpb24mLCBJUENTdHJl
YW1UZXN0ZXJJZGVudGlmaWVyLCBJUEM6OlN0cmVhbUNvbm5lY3Rpb25CdWZmZXImJik7CiAgICAg
fklQQ1N0cmVhbVRlc3RlcigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>