<?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>50113</bug_id>
          
          <creation_ts>2010-11-26 08:34:42 -0800</creation_ts>
          <short_desc>IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*</short_desc>
          <delta_ts>2022-03-01 02:30:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrei Popescu">andreip</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hans</cc>
    
    <cc>jorlow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>314034</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-11-26 08:34:42 -0800</bug_when>
    <thetext>The IndexedDatabase specification has renamed these methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314042</commentid>
    <comment_count>1</comment_count>
      <attachid>74944</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-11-26 08:51:57 -0800</bug_when>
    <thetext>Created attachment 74944
Rename remove* methods to delete*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314046</commentid>
    <comment_count>2</comment_count>
      <attachid>74944</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-26 08:54:42 -0800</bug_when>
    <thetext>Comment on attachment 74944
Rename remove* methods to delete*

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314048</commentid>
    <comment_count>3</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-11-26 09:05:37 -0800</bug_when>
    <thetext>Committed r72771</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74944</attachid>
            <date>2010-11-26 08:51:57 -0800</date>
            <delta_ts>2022-03-01 02:30:53 -0800</delta_ts>
            <desc>Rename remove* methods to delete*</desc>
            <filename>delete.patch</filename>
            <type>text/plain</type>
            <size>49849</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">Y29tbWl0IGI5YTc2MjhiMDJlYjIzOTY3NThmNTUxM2NiNDYwNzMzYTE3MTRhMmIKQXV0aG9yOiBB
bmRyZWkgUG9wZXNjdSA8YW5kcmVpcEBnb29nbGUuY29tPgpEYXRlOiAgIEZyaSBOb3YgMjYgMTY6
NDc6MzUgMjAxMCArMDAwMAoKICAgIDIwMTAtMTEtMjYgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVp
cEBnb29nbGUuY29tPgogICAgCiAgICAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgogICAgCiAgICAgICAgICAgIElEQkRhdGFiYXNlIGFuZCBJREJPYmplY3RTdG9yZSByZW1vdmUq
IG1ldGhvZHMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gZGVsZXRlKgogICAgICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAxMTMKICAgIAogICAgICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CiAgICAg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6CiAgICAg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUt
ZXhwZWN0ZWQudHh0OgogICAgICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LXJlbW92ZW9iamVjdHN0b3JlLmh0bWw6CiAgICAgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL3NoYXJlZC5qczoKICAgICAgICAgICAgKGRlbGV0ZUFsbE9iamVjdFN0b3Jlcyk6
CiAgICAgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVj
dGVkLnR4dDoKICAgICAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MuaHRtbDoKICAgIAogICAgMjAxMC0xMS0yNiAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdv
b2dsZS5jb20+CiAgICAKICAgICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAg
ICAKICAgICAgICAgICAgSURCRGF0YWJhc2UgYW5kIElEQk9iamVjdFN0b3JlIHJlbW92ZSogbWV0
aG9kcyBzaG91bGQgYmUgcmVuYW1lZCB0byBkZWxldGUqCiAgICAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDExMwogICAgCiAgICAgICAgICAgIE1vZGlm
aWVkIGV4aXNpdGluZyBsYXlvdXQgdGVzdHMgdG8gY292ZXIgdGhpcyBjaGFuZ2UuCiAgICAKICAg
ICAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKICAgICAgICAgICAgKFdlYkNvcmU6
OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6CiAgICAgICAgICAgICogc3RvcmFnZS9J
REJEYXRhYmFzZS5oOgogICAgICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgogICAg
ICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHA6CiAgICAgICAgICAg
IChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVPYmplY3RTdG9yZSk6CiAg
ICAgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVPYmplY3RT
dG9yZUludGVybmFsKToKICAgICAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZElt
cGwuaDoKICAgICAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5o
OgogICAgICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmUuY3BwOgogICAgICAgICAgICAo
V2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmRlbGV0ZUZ1bmN0aW9uKToKICAgICAgICAgICAgKFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlOjpkZWxldGVJbmRleCk6CiAgICAgICAgICAgICogc3RvcmFn
ZS9JREJPYmplY3RTdG9yZS5oOgogICAgICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmUu
aWRsOgogICAgICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6
CiAgICAgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpkZWxldGVG
dW5jdGlvbik6CiAgICAgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
OjpkZWxldGVJbnRlcm5hbCk6CiAgICAgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsOjpkZWxldGVJbmRleCk6CiAgICAgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsOjpkZWxldGVJbmRleEludGVybmFsKToKICAgICAgICAgICAgKiBzdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaDoKICAgICAgICAgICAgKiBzdG9yYWdlL0lE
Qk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oOgogICAgCiAgICAyMDEwLTExLTI2ICBBbmRy
ZWkgUG9wZXNjdSAgPGFuZHJlaXBAZ29vZ2xlLmNvbT4KICAgIAogICAgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAogICAgICAgICAgICBJREJEYXRhYmFzZSBhbmQgSURC
T2JqZWN0U3RvcmUgcmVtb3ZlKiBtZXRob2RzIHNob3VsZCBiZSByZW5hbWVkIHRvIGRlbGV0ZSoK
ICAgICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMTEz
CiAgICAKICAgICAgICAgICAgKiBwdWJsaWMvV2ViSURCRGF0YWJhc2UuaDoKICAgICAgICAgICAg
KFdlYktpdDo6V2ViSURCRGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKToKICAgICAgICAgICAg
KFdlYktpdDo6V2ViSURCRGF0YWJhc2U6OnJlbW92ZU9iamVjdFN0b3JlKToKICAgICAgICAgICAg
KiBwdWJsaWMvV2ViSURCT2JqZWN0U3RvcmUuaDoKICAgICAgICAgICAgKFdlYktpdDo6V2ViSURC
T2JqZWN0U3RvcmU6OnJlbW92ZSk6CiAgICAgICAgICAgIChXZWJLaXQ6OldlYklEQk9iamVjdFN0
b3JlOjpkZWxldGVGdW5jdGlvbik6CiAgICAgICAgICAgIChXZWJLaXQ6OldlYklEQk9iamVjdFN0
b3JlOjpkZWxldGVJbmRleCk6CiAgICAgICAgICAgICogc3JjL0lEQkRhdGFiYXNlUHJveHkuY3Bw
OgogICAgICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VQcm94eTo6ZGVsZXRlT2JqZWN0U3Rv
cmUpOgogICAgICAgICAgICAqIHNyYy9JREJEYXRhYmFzZVByb3h5Lmg6CiAgICAgICAgICAgICog
c3JjL0lEQk9iamVjdFN0b3JlUHJveHkuY3BwOgogICAgICAgICAgICAoV2ViQ29yZTo6SURCT2Jq
ZWN0U3RvcmVQcm94eTo6ZGVsZXRlRnVuY3Rpb24pOgogICAgICAgICAgICAoV2ViQ29yZTo6SURC
T2JqZWN0U3RvcmVQcm94eTo6ZGVsZXRlSW5kZXgpOgogICAgICAgICAgICAqIHNyYy9JREJPYmpl
Y3RTdG9yZVByb3h5Lmg6CiAgICAgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHA6
CiAgICAgICAgICAgIChXZWJLaXQ6OldlYklEQkRhdGFiYXNlSW1wbDo6ZGVsZXRlT2JqZWN0U3Rv
cmUpOgogICAgICAgICAgICAqIHNyYy9XZWJJREJEYXRhYmFzZUltcGwuaDoKICAgICAgICAgICAg
KiBzcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmNwcDoKICAgICAgICAgICAgKFdlYktpdDo6V2Vi
SURCT2JqZWN0U3RvcmVJbXBsOjpkZWxldGVGdW5jdGlvbik6CiAgICAgICAgICAgIChXZWJLaXQ6
OldlYklEQk9iamVjdFN0b3JlSW1wbDo6ZGVsZXRlSW5kZXgpOgogICAgICAgICAgICAqIHNyYy9X
ZWJJREJPYmplY3RTdG9yZUltcGwuaDoKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGNiYmNhOC4uYWFmNTUxYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTExLTI2ICBBbmRyZWkgUG9wZXNjdSAgPGFuZHJlaXBAZ29v
Z2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJREJEYXRhYmFzZSBhbmQgSURCT2JqZWN0U3RvcmUgcmVtb3ZlKiBtZXRob2RzIHNob3VsZCBi
ZSByZW5hbWVkIHRvIGRlbGV0ZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUwMTEzCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29i
amVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanM6CisgICAgICAgIChkZWxldGVB
bGxPYmplY3RTdG9yZXMpOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYmFzaWNzLmh0bWw6CisKIDIwMTAtMTEtMjYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZml4IGZvciBjaHJvbWl1bSB0
ZXN0IGV4cGVjdGF0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGE0NGUyMGUu
LjhjN2RiMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtMjEwLDcgKzIxMCw3IEBA
IFBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKIAogUEFT
UyBldmVudC5yZXN1bHQueCBpcyAidmFsdWUiCiBzdG9yZSA9IGV2ZW50LnNvdXJjZQotc3RvcmUu
cmVtb3ZlKCdrZXknKQorc3RvcmUuZGVsZXRlKCdrZXknKQogUEFTUyAnb25zdWNjZXNzJyBpbiBy
ZXN1bHQgaXMgdHJ1ZQogUEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKIFBBU1MgJ3Jl
YWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCkBAIC0yMzIsNyArMjMyLDcgQEAgUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAogc3RvcmUgPSBldmVudC5zb3VyY2UKIFBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBzdG9yZS5nZXQoKS4KIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5
IGludG8gc3RvcmUucmVtb3ZlKCkuCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUu
ZGVsZXRlKCkuCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBUWVBFX01JU01BVENIX0VS
UjogRE9NIEV4Y2VwdGlvbiAxNwogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmFk
ZCgpLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERP
TSBFeGNlcHRpb24gMTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggZjI2MmFkZC4uNWIyYmY3OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0
bWwKQEAgLTI1MSw3ICsyNTEsNyBAQCBmdW5jdGlvbiBnZXRTdWNjZXNzKCkKICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImV2ZW50LnJlc3VsdC54IiwgInZhbHVlIik7CiAgICAgdmFyIHN0b3Jl
ID0gZXZhbEFuZExvZygic3RvcmUgPSBldmVudC5zb3VyY2UiKTsKIAotICAgIHJlc3VsdCA9IGV2
YWxBbmRMb2coInN0b3JlLnJlbW92ZSgna2V5JykiKTsKKyAgICByZXN1bHQgPSBldmFsQW5kTG9n
KCJzdG9yZS5kZWxldGUoJ2tleScpIik7CiAgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CiAgICAg
cmVzdWx0Lm9uc3VjY2VzcyA9IHJlbW92ZVN1Y2Nlc3M7CiAgICAgcmVzdWx0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTI3Myw4ICsyNzMsOCBAQCBmdW5jdGlvbiByZW1v
dmVTdWNjZXNzKCkKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLnJlbW92ZSgpLiIpOwotICAgICAgICBzdG9yZS5yZW1v
dmUoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3Jl
LmRlbGV0ZSgpLiIpOworICAgICAgICBzdG9yZS5kZWxldGUoW10pOwogICAgICAgICB0ZXN0RmFp
bGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0
ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVj
dHN0b3JlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dAppbmRleCA4MGVkZDlkLi40ZTVl
NTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1yZW1vdmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAotVGVzdCBJbmRleGVkREIncyB3ZWJraXRJREJPYmplY3RTdG9yZS5yZW1v
dmVPYmplY3RTdG9yZSgpLgorVGVzdCBJbmRleGVkREIncyB3ZWJraXRJREJPYmplY3RTdG9yZS5k
ZWxldGVPYmplY3RTdG9yZSgpLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKQEAgLTEw
MCw3ICsxMDAsNyBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdl
dC5ET05FCiAKIHRyYW5zID0gZXZlbnQucmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRy
dWUKLWRiLnJlbW92ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQorZGIuZGVsZXRlT2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkK
IGRiLnRyYW5zYWN0aW9uKCkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAppbmRleCA4ZDY2ZTBkLi41ZjYx
N2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAK
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdD4KIAotZGVzY3JpcHRpb24oIlRlc3Qg
SW5kZXhlZERCJ3Mgd2Via2l0SURCT2JqZWN0U3RvcmUucmVtb3ZlT2JqZWN0U3RvcmUoKS4iKTsK
K2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIHdlYmtpdElEQk9iamVjdFN0b3JlLmRlbGV0
ZU9iamVjdFN0b3JlKCkuIik7CiBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAKQEAgLTc2LDE4ICs3Niwx
OCBAQCBmdW5jdGlvbiBhZGRJbmRleCgpCiAKICAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJkYi5z
ZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7Ci0g
ICAgcmVzdWx0Lm9uc3VjY2VzcyA9IHJlbW92ZU9iamVjdFN0b3JlOworICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSBkZWxldGVPYmplY3RTdG9yZTsKICAgICByZXN1bHQub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogfQogCi1mdW5jdGlvbiByZW1vdmVPYmplY3RTdG9yZSgpCitmdW5j
dGlvbiBkZWxldGVPYmplY3RTdG9yZSgpCiB7CiAgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50
KTsKICAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnJlc3VsdCIp
OwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0
ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKLSAgICBldmFsQW5kTG9nKCJkYi5yZW1vdmVP
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5kZWxldGVPYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKICAgICBjcmVhdGVPYmplY3RTdG9yZUFnYWluKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9z
aGFyZWQuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVk
LmpzCmluZGV4IDcxYWJmNDQuLjM1YzdjYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qcwpAQCAtOTEsNyArOTEsNyBAQCBmdW5jdGlv
biB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjaygpCiBmdW5jdGlvbiBkZWxldGVBbGxPYmplY3RT
dG9yZXMoZGIsIG9uZmluaXNoZWQpCiB7CiAgICAgd2hpbGUgKGRiLm9iamVjdFN0b3JlTmFtZXMu
bGVuZ3RoKQotICAgICAgICBkYi5yZW1vdmVPYmplY3RTdG9yZShkYi5vYmplY3RTdG9yZU5hbWVz
Lml0ZW0oMCkpOworICAgICAgICBkYi5kZWxldGVPYmplY3RTdG9yZShkYi5vYmplY3RTdG9yZU5h
bWVzLml0ZW0oMCkpOwogCiAgICAgZGVidWcoIkRlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuIik7
CiAgICAgb25maW5pc2hlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggOTg1NWU2
MC4uYTNiZDkwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC02NSw4ICs2NSw4IEBA
IHRyYW5zID0gZXZlbnQucmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIHN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9IHN0b3Jl
LmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcsIGZhbHNlKQotZGIucmVtb3ZlT2JqZWN0U3Rv
cmUoJ3N0b3JlRmFpbCcpCi1zdG9yZS5yZW1vdmVJbmRleCgnaW5kZXhGYWlsJykKK2RiLmRlbGV0
ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKQorc3RvcmUuZGVsZXRlSW5kZXgoJ2luZGV4RmFpbCcp
CiBQQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHdpbmRvdy5kYi5v
YmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCiBQQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5h
bWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQpAQCAtOTIsOCArOTIsOCBAQCB0cmFu
cyA9IGV2ZW50LnJlc3VsdAogUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiBzdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBudWxsKQogaW5kZXggPSBzdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXhGYWlsJywgJ3gnLCBmYWxzZSkKLWRiLnJlbW92ZU9iamVjdFN0b3JlKCdz
dG9yZUZhaWwnKQotc3RvcmUucmVtb3ZlSW5kZXgoJ2luZGV4RmFpbCcpCitkYi5kZWxldGVPYmpl
Y3RTdG9yZSgnc3RvcmVGYWlsJykKK3N0b3JlLmRlbGV0ZUluZGV4KCdpbmRleEZhaWwnKQogc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3Rv
cmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpCiBQQVNTIHdpbmRvdy5kYi5v
YmplY3RTdG9yZU5hbWVzIGlzIFtdCkBAIC0xNDUsOCArMTQ1LDggQEAgUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQogdHJhbnMgPSBldmVudC5yZXN1bHQK
IFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgn
c3RvcmVGYWlsJykKLXN0b3JlLnJlbW92ZUluZGV4KCdpbmRleEZhaWwnKQotZGIucmVtb3ZlT2Jq
ZWN0U3RvcmUoJ3N0b3JlRmFpbCcpCitzdG9yZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykKK2Ri
LmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVz
IGlzIFsnc3RvcmVGYWlsJ10KIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQog
UEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyB0cnVlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2lj
cy5odG1sCmluZGV4IGM2ODYzMGYuLmNkNDI0MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC02MSw4ICs2MSw4
IEBAIGZ1bmN0aW9uIGFkZFJlbW92ZUlEQk9iamVjdHMoKQogICAgIHZhciBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpIik7
DQogICAgIHZhciBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4RmFpbCcsICd4JywgZmFsc2UpIik7DQogDQotICAgIGV2YWxBbmRMb2coImRiLnJlbW92
ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKSIpOw0KLSAgICBldmFsQW5kTG9nKCJzdG9yZS5yZW1v
dmVJbmRleCgnaW5kZXhGYWlsJykiKTsNCisgICAgZXZhbEFuZExvZygiZGIuZGVsZXRlT2JqZWN0
U3RvcmUoJ3N0b3JlRmFpbCcpIik7DQorICAgIGV2YWxBbmRMb2coInN0b3JlLmRlbGV0ZUluZGV4
KCdpbmRleEZhaWwnKSIpOw0KIA0KICAgICB0cmFucy5hYm9ydCgpOw0KIH0NCkBAIC04Niw4ICs4
Niw4IEBAIGZ1bmN0aW9uIGFkZFJlbW92ZUFkZElEQk9iamVjdHMoKQogICAgIHZhciBzdG9yZSA9
IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51
bGwpIik7DQogICAgIHZhciBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gc3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4RmFpbCcsICd4JywgZmFsc2UpIik7DQogDQotICAgIGV2YWxBbmRMb2coImRi
LnJlbW92ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKSIpOw0KLSAgICBldmFsQW5kTG9nKCJzdG9y
ZS5yZW1vdmVJbmRleCgnaW5kZXhGYWlsJykiKTsNCisgICAgZXZhbEFuZExvZygiZGIuZGVsZXRl
T2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcpIik7DQorICAgIGV2YWxBbmRMb2coInN0b3JlLmRlbGV0
ZUluZGV4KCdpbmRleEZhaWwnKSIpOw0KIA0KICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBudWxsKSIpOw0KICAgICB2
YXIgaW5kZXggPSBldmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZh
aWwnLCAneCcsIGZhbHNlKSIpOw0KQEAgLTE2MCw4ICsxNjAsOCBAQCBmdW5jdGlvbiByZW1vdmVJ
REJPYmplY3RzKCkKICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2Fs
bGJhY2s7DQogDQogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlRmFpbCcpIik7DQotICAgIGV2YWxBbmRMb2coInN0b3JlLnJlbW92ZUlu
ZGV4KCdpbmRleEZhaWwnKSIpOw0KLSAgICBldmFsQW5kTG9nKCJkYi5yZW1vdmVPYmplY3RTdG9y
ZSgnc3RvcmVGYWlsJykiKTsNCisgICAgZXZhbEFuZExvZygic3RvcmUuZGVsZXRlSW5kZXgoJ2lu
ZGV4RmFpbCcpIik7DQorICAgIGV2YWxBbmRMb2coImRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9y
ZUZhaWwnKSIpOw0KIA0KICAgICB0cmFucy5hYm9ydCgpOw0KIH0NCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU0YzdhYjMuLmNiZDU2NDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMTEtMjYgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElEQkRhdGFiYXNlIGFuZCBJREJPYmplY3RTdG9yZSByZW1vdmUqIG1ldGhvZHMgc2hvdWxkIGJl
IHJlbmFtZWQgdG8gZGVsZXRlKgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTAxMTMKKworICAgICAgICBNb2RpZmllZCBleGlzaXRpbmcgbGF5b3V0IHRl
c3RzIHRvIGNvdmVyIHRoaXMgY2hhbmdlLgorCisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUp
OgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lE
QkRhdGFiYXNlLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlT2Jq
ZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVs
ZXRlT2JqZWN0U3RvcmVJbnRlcm5hbCk6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJh
Y2tlbmRJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgpOgorICAgICAgICAqIHN0b3JhZ2UvSURCT2Jq
ZWN0U3RvcmUuaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlLmlkbDoKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlRnVuY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW50ZXJuYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW5kZXgp
OgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW5k
ZXhJbnRlcm5hbCk6CisgICAgICAgICogc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
Lmg6CisgICAgICAgICogc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2UuaDoK
KwogMjAxMC0xMS0yNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAK
aW5kZXggOWE4NzI3Zi4uYTdkZmViMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRh
dGFiYXNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCkBAIC04Mywx
NCArODMsMTQgQEAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6OmNyZWF0
ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY28KICAgICByZXR1cm4gSURCT2JqZWN0
U3RvcmU6OmNyZWF0ZShvYmplY3RTdG9yZS5yZWxlYXNlKCksIG1fc2V0VmVyc2lvblRyYW5zYWN0
aW9uLmdldCgpKTsKIH0KIAotdm9pZCBJREJEYXRhYmFzZTo6cmVtb3ZlT2JqZWN0U3RvcmUoY29u
c3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgSURCRGF0YWJhc2U6OmRl
bGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgaWYgKCFtX3NldFZlcnNpb25UcmFuc2FjdGlvbikgewogICAgICAgICBlYyA9IElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBtX2JhY2tlbmQtPnJlbW92ZU9iamVjdFN0b3JlKG5hbWUsIG1fc2V0VmVyc2lvblRy
YW5zYWN0aW9uLmdldCgpLCBlYyk7CisgICAgbV9iYWNrZW5kLT5kZWxldGVPYmplY3RTdG9yZShu
YW1lLCBtX3NldFZlcnNpb25UcmFuc2FjdGlvbi5nZXQoKSwgZWMpOwogfQogCiBQYXNzUmVmUHRy
PElEQlJlcXVlc3Q+IElEQkRhdGFiYXNlOjpzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9JREJEYXRhYmFzZS5oCmluZGV4IDc3ZmE1ZDAuLmE2YTFkOGIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFz
ZS5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBET01TdHJp
bmdMaXN0KiBzdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJiBl
YykgeyByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwgc3RvcmVOYW1lcywgbW9kZSwgMCwgZWMp
OyB9IC8vIEZJWE1FOiB3aGF0IHNob3VsZCB0aGUgZGVmYXVsdCB0aW1lb3V0IGJlPwogCiAgICAg
UGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBPcHRpb25zT2JqZWN0JiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQg
cmVtb3ZlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IHNldFZlcnNpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBET01TdHJpbmdMaXN0KiwgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9u
ZyB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5pZGwKaW5kZXggNzBkMDBhMC4uMWU1NzE5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmlkbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2Uu
aWRsCkBAIC0zNCw3ICszNCw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgICAgICBJREJPYmpl
Y3RTdG9yZSBjcmVhdGVPYmplY3RTdG9yZShpbiBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFs
XSBPcHRpb25zT2JqZWN0IG9wdGlvbnMpCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNl
RXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCByZW1vdmVPYmplY3RTdG9yZShpbiBET01TdHJpbmcg
bmFtZSkKKyAgICAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9yZShpbiBET01TdHJpbmcgbmFtZSkK
ICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwogICAgICAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCUmVxdWVzdCBzZXRWZXJzaW9uKGluIERP
TVN0cmluZyB2ZXJzaW9uKQogICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlv
bik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggNTJi
NWIzMC4uODYwMmEyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmNwcApAQCAtMTgyLDcgKzE4Miw3IEBAIHN0YXRpYyB2b2lkIGRvRGVsZXRlKFNRTGl0ZURhdGFi
YXNlJiBkYiwgY29uc3QgY2hhciogc3FsLCBpbnQ2NF90IGlkKQogICAgIEFTU0VSVF9VTlVTRUQo
b2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KIH0KIAotdm9pZCBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpyZW1vdmVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUs
IElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb25QdHIsIEV4Y2VwdGlv
bkNvZGUmIGVjKQordm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVPYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJh
bnNhY3Rpb25QdHIsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSA9IG1fb2JqZWN0U3RvcmVzLmdldChuYW1lKTsK
ICAgICBpZiAoIW9iamVjdFN0b3JlKSB7CkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBJREJEYXRh
YmFzZUJhY2tlbmRJbXBsOjpyZW1vdmVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIElE
QlRyYW5zYWN0aW8KICAgICB9CiAgICAgUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRh
dGFiYXNlID0gdGhpczsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
PiB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uUHRyOwotICAgIGlmICghdHJhbnNhY3Rpb24tPnNj
aGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJl
bW92ZU9iamVjdFN0b3JlSW50ZXJuYWwsIGRhdGFiYXNlLCBvYmplY3RTdG9yZSwgdHJhbnNhY3Rp
b24pLAorICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rh
c2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OmRlbGV0ZU9iamVjdFN0b3JlSW50ZXJuYWwsIGRh
dGFiYXNlLCBvYmplY3RTdG9yZSwgdHJhbnNhY3Rpb24pLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6
OmFkZE9iamVjdFN0b3JlVG9NYXAsIGRhdGFiYXNlLCBvYmplY3RTdG9yZSkpKSB7CiAgICAgICAg
IGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKICAgICAgICAgcmV0
dXJuOwpAQCAtMTk5LDcgKzE5OSw3IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cmVt
b3ZlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvCiAgICAgbV9v
YmplY3RTdG9yZXMucmVtb3ZlKG5hbWUpOwogfQogCi12b2lkIElEQkRhdGFiYXNlQmFja2VuZElt
cGw6OnJlbW92ZU9iamVjdFN0b3JlSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UsIFBhc3NSZWZQdHI8SURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbikKK3ZvaWQgSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6ZGVsZXRlT2JqZWN0U3RvcmVJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiBkYXRhYmFzZSwgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQogewogICAgIGRvRGVsZXRl
KGRhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLCAiREVMRVRFIEZST00gT2JqZWN0U3RvcmVzIFdI
RVJFIGlkID0gPyIsIG9iamVjdFN0b3JlLT5pZCgpKTsKICAgICBkb0RlbGV0ZShkYXRhYmFzZS0+
c3FsaXRlRGF0YWJhc2UoKSwgIkRFTEVURSBGUk9NIE9iamVjdFN0b3JlRGF0YSBXSEVSRSBvYmpl
Y3RTdG9yZUlkID0gPyIsIG9iamVjdFN0b3JlLT5pZCgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0
YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IDhiOWEyN2IuLjU3MGY2YTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IG9iamVjdFN0b3JlTmFtZXMoKSBj
b25zdDsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRl
cmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlT2JqZWN0U3Rv
cmUoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBF
eGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0
IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lv
biwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24o
RE9NU3RyaW5nTGlzdCogb2JqZWN0U3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5z
aWduZWQgbG9uZyB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlKCk7CkBAIC03Myw3ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2FkT2JqZWN0U3Rv
cmVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCBjcmVhdGVPYmplY3RTdG9yZUludGVybmFsKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+LCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZT4pOwotICAgIHN0YXRpYyB2b2lkIHJlbW92ZU9iamVjdFN0
b3JlSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJh
c2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4sIFBh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7CisgICAgc3RhdGljIHZv
aWQgZGVsZXRlT2JqZWN0U3RvcmVJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+
KTsKICAgICBzdGF0aWMgdm9pZCBzZXRWZXJzaW9uSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIGNvbnN0IFN0cmluZyYg
dmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZT4pOwogCiAgICAgLy8gVGhlc2UgYXJlIHVzZWQgYXMgc2V0VmVy
c2lvbiB0cmFuc2FjdGlvbiBhYm9ydCB0YXNrcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRh
YmFzZUJhY2tlbmRJbnRlcmZhY2UuaAppbmRleCBmYTg2MjIwLi4wZGM1OWIxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCkBAIC01NSw3ICs1NSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gb2JqZWN0
U3RvcmVOYW1lcygpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIGF1dG9JbmNyZW1lbnQsIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
LCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFt
ZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCwgRXhjZXB0aW9u
Q29kZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0lEQk9i
amVjdFN0b3JlLmNwcAppbmRleCBjMzAyNDNlLi43OGY1YmFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmpl
Y3RTdG9yZS5jcHAKQEAgLTkxLDEwICs5MSwxMCBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElE
Qk9iamVjdFN0b3JlOjpwdXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzcwog
ICAgIHJldHVybiByZXF1ZXN0OwogfQogCi1QYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVj
dFN0b3JlOjpyZW1vdmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxJREJLZXk+IGtleSwgRXhjZXB0aW9uQ29kZSYgZWMpCitQYXNzUmVmUHRyPElEQlJlcXVlc3Q+
IElEQk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAg
ICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0ZShjb250ZXh0
LCBJREJBbnk6OmNyZWF0ZSh0aGlzKSwgbV90cmFuc2FjdGlvbi5nZXQoKSk7Ci0gICAgbV9vYmpl
Y3RTdG9yZS0+cmVtb3ZlKGtleSwgcmVxdWVzdCwgbV90cmFuc2FjdGlvbi5nZXQoKSwgZWMpOwor
ICAgIG1fb2JqZWN0U3RvcmUtPmRlbGV0ZUZ1bmN0aW9uKGtleSwgcmVxdWVzdCwgbV90cmFuc2Fj
dGlvbi5nZXQoKSwgZWMpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0
dXJuIHJlcXVlc3Q7CkBAIC0xMTgsOSArMTE4LDkgQEAgUGFzc1JlZlB0cjxJREJJbmRleD4gSURC
T2JqZWN0U3RvcmU6OmluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMK
ICAgICByZXR1cm4gSURCSW5kZXg6OmNyZWF0ZShpbmRleC5yZWxlYXNlKCksIG1fdHJhbnNhY3Rp
b24uZ2V0KCkpOwogfQogCi12b2lkIElEQk9iamVjdFN0b3JlOjpyZW1vdmVJbmRleChjb25zdCBT
dHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBJREJPYmplY3RTdG9yZTo6ZGVs
ZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBt
X29iamVjdFN0b3JlLT5yZW1vdmVJbmRleChuYW1lLCBtX3RyYW5zYWN0aW9uLmdldCgpLCBlYyk7
CisgICAgbV9vYmplY3RTdG9yZS0+ZGVsZXRlSW5kZXgobmFtZSwgbV90cmFuc2FjdGlvbi5nZXQo
KSwgZWMpOwogfQogCiBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpvcGVu
Q3Vyc29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCS2V5
UmFuZ2U+IHJhbmdlLCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVj
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlLmggYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuaAppbmRleCBkYzkyMjMzLi4wZmRmOTliIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCT2JqZWN0U3RvcmUuaApAQCAtNjgsMTEgKzY4LDExIEBAIHB1YmxpYzoKICAgICBQYXNz
UmVmUHRyPElEQlJlcXVlc3Q+IGdldChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxJREJLZXk+LCBFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBh
ZGQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0
cjxJREJSZXF1ZXN0PiBwdXQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBFeGNlcHRpb25Db2RlJik7
Ci0gICAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiByZW1vdmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVm
UHRyPElEQlJlcXVlc3Q+IGRlbGV0ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQktleT4ga2V5LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBQYXNzUmVmUHRy
PElEQkluZGV4PiBjcmVhdGVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
a2V5UGF0aCwgYm9vbCB1bmlxdWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPElE
QkluZGV4PiBpbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2
b2lkIHJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CiAK
ICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IG9wZW5DdXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24s
IEV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVj
dFN0b3JlLmlkbCBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZS5pZGwKaW5kZXggMzFl
Yjg2NS4uMDg5N2NkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3Jl
LmlkbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmUuaWRsCkBAIC0zNiw3ICsz
Niw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VF
eGNlcHRpb24pOwogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURC
UmVxdWVzdCBhZGQoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIHZhbHVlLCBpbiBbT3B0aW9uYWxd
IElEQktleSBrZXkpCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsK
LSAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlJlcXVlc3QgcmVt
b3ZlKGluIElEQktleSBrZXkpCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uPWRlbGV0ZUZ1bmN0aW9uXSBJREJSZXF1ZXN0IGRl
bGV0ZShpbiBJREJLZXkga2V5KQogICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2Vw
dGlvbik7CiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJSZXF1
ZXN0IGdldChpbiBJREJLZXkga2V5KQogICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4
Y2VwdGlvbik7CkBAIC00Niw3ICs0Niw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgICAg
IHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwogICAgICAgICBJREJJbmRleCBpbmRleChp
biBET01TdHJpbmcgbmFtZSkKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRp
b24pOwotICAgICAgICB2b2lkIHJlbW92ZUluZGV4KGluIERPTVN0cmluZyBuYW1lKQorICAgICAg
ICB2b2lkIGRlbGV0ZUluZGV4KGluIERPTVN0cmluZyBuYW1lKQogICAgICAgICAgICAgcmFpc2Vz
IChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9J
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCA3ZmM0Zjk4Li5iZThhNjg3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCkBAIC0yNzUs
MTYgKzI3NSwxNiBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnB1dEludGVybmFs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPAogICAgIGNhbGxiYWNrcy0+b25T
dWNjZXNzKGtleS5nZXQoKSk7CiB9CiAKLXZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6
cmVtb3ZlKFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBwcnBDYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rp
b24sIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpk
ZWxldGVGdW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5LCBQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRy
YW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8SURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUgPSB0aGlzOwogICAgIFJlZlB0cjxJREJLZXk+IGtl
eSA9IHBycEtleTsKICAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MgPSBwcnBDYWxs
YmFja3M7Ci0gICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNr
VGFzaygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cmVtb3ZlSW50ZXJuYWwsIG9iamVjdFN0
b3JlLCBrZXksIGNhbGxiYWNrcykpKQorICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFz
ayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUlu
dGVybmFsLCBvYmplY3RTdG9yZSwga2V5LCBjYWxsYmFja3MpKSkKICAgICAgICAgZWMgPSBJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0FMTE9XRURfRVJSOwogfQogCi12b2lkIElEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw6OnJlbW92ZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+IG9iamVjdFN0b3JlLCBQYXNzUmVm
UHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQordm9p
ZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpkZWxldGVJbnRlcm5hbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RT
dG9yZSwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNh
bGxiYWNrcykKIHsKICAgICBTUUxpdGVTdGF0ZW1lbnQgcXVlcnkob2JqZWN0U3RvcmUtPnNxbGl0
ZURhdGFiYXNlKCksICJERUxFVEUgRlJPTSBPYmplY3RTdG9yZURhdGEgIiArIHdoZXJlQ2xhdXNl
KGtleS5nZXQoKSkpOwogICAgIGJvb2wgb2sgPSBxdWVyeS5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0
T2s7CkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIHZvaWQgZG9EZWxldGUoU1FMaXRlRGF0YWJh
c2UmIGRiLCBjb25zdCBjaGFyKiBzcWwsIGludDY0X3QgaWQpCiAgICAgQVNTRVJUX1VOVVNFRChv
aywgb2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nLgogfQogCi12b2lkIElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw6OnJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmRlbGV0ZUluZGV4KGNvbnN0IFN0
cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+IGlu
ZGV4ID0gbV9pbmRleGVzLmdldChuYW1lKTsKICAgICBpZiAoIWluZGV4KSB7CkBAIC0zNzUsNyAr
Mzc1LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpyZW1vdmVJbmRleChjb25z
dCBTdHJpbmcmIG5hbWUsIElEQlRyYW5zYWN0aW9uQmEKIAogICAgIFJlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSA9IHRoaXM7CiAgICAgUmVmUHRyPElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25QdHIgPSB0cmFuc2FjdGlvbjsKLSAg
ICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsOjpyZW1vdmVJbmRleEludGVybmFsLCBvYmplY3RTdG9yZSwg
aW5kZXgsIHRyYW5zYWN0aW9uUHRyKSwKKyAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRh
c2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpkZWxldGVJ
bmRleEludGVybmFsLCBvYmplY3RTdG9yZSwgaW5kZXgsIHRyYW5zYWN0aW9uUHRyKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsOjphZGRJbmRleFRvTWFwLCBvYmplY3RTdG9yZSwgaW5kZXgpKSkg
ewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfQUxMT1dFRF9FUlI7CiAg
ICAgICAgIHJldHVybjsKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGw6OnJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25C
YQogICAgIG1faW5kZXhlcy5yZW1vdmUobmFtZSk7CiB9CiAKLXZvaWQgSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbDo6cmVtb3ZlSW5kZXhJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1Jl
ZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKQordm9pZCBJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOjpkZWxldGVJbmRleEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNz
UmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+IG9iamVjdFN0b3JlLCBQYXNzUmVmUHRy
PElEQkluZGV4QmFja2VuZEltcGw+IGluZGV4LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24pCiB7CiAgICAgZG9EZWxldGUob2JqZWN0U3RvcmUt
PnNxbGl0ZURhdGFiYXNlKCksICJERUxFVEUgRlJPTSBJbmRleGVzIFdIRVJFIGlkID0gPyIsIGlu
ZGV4LT5pZCgpKTsKICAgICBkb0RlbGV0ZShvYmplY3RTdG9yZS0+c3FsaXRlRGF0YWJhc2UoKSwg
IkRFTEVURSBGUk9NIEluZGV4RGF0YSBXSEVSRSBpbmRleElkID0gPyIsIGluZGV4LT5pZCgpKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oCmluZGV4IGFkZDg0
OWIuLjJhYjQyZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZElt
cGwuaApAQCAtNjgsMTEgKzY4LDExIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBnZXQo
UGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2
b2lkIHB1dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIFBhc3NSZWZQ
dHI8SURCS2V5PiBrZXksIGJvb2wgYWRkT25seSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+IGtl
eSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCSW5kZXhC
YWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFj
ZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNr
ZW5kSW50ZXJmYWNlPiBpbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2
b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJz
b3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlv
biwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJik7CiAKQEAgLTg1LDkgKzg1LDkgQEAgcHJpdmF0ZToKIAogICAg
IHN0YXRpYyB2b2lkIGdldEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHN0YXRpYyB2b2lkIHB1dEludGVybmFsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZElt
cGw+LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIFBhc3NSZWZQdHI8
SURCS2V5PiBrZXksIGJvb2wgYWRkT25seSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4pOwotICAgIHN0YXRpYyB2b2lk
IHJlbW92ZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4pOworICAgIHN0YXRpYyB2b2lkIGRlbGV0ZUludGVybmFsKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQ
YXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHN0
YXRpYyB2b2lkIGNyZWF0ZUluZGV4SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCSW5kZXhC
YWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7
Ci0gICAgc3RhdGljIHZvaWQgcmVtb3ZlSW5kZXhJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJ
REJJbmRleEJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2U+KTsKKyAgICBzdGF0aWMgdm9pZCBkZWxldGVJbmRleEludGVybmFsKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNz
UmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4pOwogICAgIHN0YXRpYyB2b2lkIG9wZW5DdXJzb3JJbnRlcm5hbChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
PiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlv
biwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4pOwogCiAgICAgLy8gVGhlc2UgYXJlIHVzZWQgYXMgc2V0VmVyc2lvbiB0
cmFuc2FjdGlvbiBhYm9ydCB0YXNrcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJP
YmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RT
dG9yZUJhY2tlbmRJbnRlcmZhY2UuaAppbmRleCA4NzYzZDkwLi4wMmNlYjI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oCkBAIC01Miwx
MSArNTIsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGdldChQYXNzUmVmUHRyPElE
QktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcHV0KFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBib29sIGFk
ZE9ubHksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKFBh
c3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBkZWxldGVGdW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJh
Y2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0g
MDsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IGNy
ZWF0ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29s
IHVuaXF1ZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYp
ID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBp
bmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIHJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3Io
UGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlvbiwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNl
cHRpb25Db2RlJikgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDk3YzVhMWIuLjcxMjc5NmIgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEwLTExLTI2ICBBbmRyZWkgUG9wZXNjdSAg
PGFuZHJlaXBAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJREJEYXRhYmFzZSBhbmQgSURCT2JqZWN0U3RvcmUgcmVtb3ZlKiBtZXRo
b2RzIHNob3VsZCBiZSByZW5hbWVkIHRvIGRlbGV0ZSoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMTEzCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSURC
RGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRGF0YWJhc2U6OmRlbGV0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRGF0YWJhc2U6OnJlbW92ZU9iamVjdFN0
b3JlKToKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCT2JqZWN0U3RvcmU6OnJlbW92ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklE
Qk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQk9i
amVjdFN0b3JlOjpkZWxldGVJbmRleCk6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlUHJveHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VQcm94eTo6ZGVsZXRlT2JqZWN0U3Rv
cmUpOgorICAgICAgICAqIHNyYy9JREJEYXRhYmFzZVByb3h5Lmg6CisgICAgICAgICogc3JjL0lE
Qk9iamVjdFN0b3JlUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVQ
cm94eTo6ZGVsZXRlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmVQ
cm94eTo6ZGVsZXRlSW5kZXgpOgorICAgICAgICAqIHNyYy9JREJPYmplY3RTdG9yZVByb3h5Lmg6
CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYklEQkRhdGFiYXNlSW1wbDo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAqIHNyYy9X
ZWJJREJEYXRhYmFzZUltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCT2JqZWN0U3RvcmVJbXBsOjpkZWxldGVGdW5j
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQk9iamVjdFN0b3JlSW1wbDo6ZGVsZXRlSW5k
ZXgpOgorICAgICAgICAqIHNyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuaDoKKwogMjAxMC0xMS0y
NiAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEplcmVteSBPcmxvdy4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
SURCRGF0YWJhc2UuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaApp
bmRleCA4NTc5YTJlLi4xNTg4ZTIzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklEQkRhdGFiYXNlLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJEYXRh
YmFzZS5oCkBAIC02NCw3ICs2NCw5IEBAIHB1YmxpYzoKICAgICAgICAgV0VCS0lUX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgdmlydHVhbCB2b2lk
IHJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJh
bnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViU3RyaW5n
JiBuYW1lLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlv
bkNvZGUmIGVjKSB7IHJlbW92ZU9iamVjdFN0b3JlKG5hbWUsIHRyYW5zYWN0aW9uLCBlYyk7IH0K
KyAgICAvLyBGSVhNRTogcmVtb3ZlIGFmdGVyIHJvbGwuCisgICAgdmlydHVhbCB2b2lkIHJlbW92
ZU9iamVjdFN0b3JlKGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rp
b24mIHRyYW5zYWN0aW9uLCBXZWJFeGNlcHRpb25Db2RlJiBlYykgeyBkZWxldGVPYmplY3RTdG9y
ZShuYW1lLCB0cmFuc2FjdGlvbiwgZWMpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnNpb24o
Y29uc3QgV2ViU3RyaW5nJiB2ZXJzaW9uLCBXZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcywgV2Vi
RXhjZXB0aW9uQ29kZSYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgLy8g
VHJhbnNmZXJzIG93bmVyc2hpcCBvZiB0aGUgV2ViSURCVHJhbnNhY3Rpb24gdG8gdGhlIGNhbGxl
ci4KICAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbihjb25zdCBXZWJE
T01TdHJpbmdMaXN0JiBuYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0
aW1lb3V0LCBXZWJFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSURCT2JqZWN0U3RvcmUuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURC
T2JqZWN0U3RvcmUuaAppbmRleCBmMzFiNjU4Li4xNzU2MmNhIDEwMDc1NQotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklEQk9iamVjdFN0b3JlLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJJREJPYmplY3RTdG9yZS5oCkBAIC02MSw3ICs2MSw5IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBnZXQoY29uc3QgV2ViSURCS2V5JiwgV2ViSURCQ2FsbGJhY2tzKiwg
Y29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJikgeyBXRUJLSVRfQVNT
RVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcHV0KGNvbnN0IFdlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSYsIGNvbnN0IFdlYklEQktleSYsIGJvb2wgYWRkT25seSwgV2ViSURC
Q2FsbGJhY2tzKiwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
KGNvbnN0IFdlYklEQktleSYsIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYklEQlRyYW5zYWN0
aW9uJiwgV2ViRXhjZXB0aW9uQ29kZSYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
CisgICAgLy8gRklYTUU6IFJlbW92ZSBhZnRlciByb2xsLgorICAgIHZpcnR1YWwgdm9pZCByZW1v
dmUoY29uc3QgV2ViSURCS2V5JiBrZXksIFdlYklEQkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjb25z
dCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKSB7
IGRlbGV0ZUZ1bmN0aW9uKGtleSwgY2FsbGJhY2tzLCB0cmFuc2FjdGlvbiwgZWMpOyB9CisgICAg
dmlydHVhbCB2b2lkIGRlbGV0ZUZ1bmN0aW9uKGNvbnN0IFdlYklEQktleSYga2V5LCBXZWJJREJD
YWxsYmFja3MqIGNhbGxiYWNrcywgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9u
LCBXZWJFeGNlcHRpb25Db2RlJiBlYykgeyByZW1vdmUoa2V5LCBjYWxsYmFja3MsIHRyYW5zYWN0
aW9uLCBlYyk7IH0KICAgICB2aXJ0dWFsIFdlYklEQkluZGV4KiBjcmVhdGVJbmRleChjb25zdCBX
ZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYga2V5UGF0aCwgYm9vbCB1bmlxdWUsIGNv
bnN0IFdlYklEQlRyYW5zYWN0aW9uJiwgV2ViRXhjZXB0aW9uQ29kZSYpCiAgICAgewogICAgICAg
ICBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC03Myw3ICs3NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsK
ICAgICB9Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFt
ZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJikgeyBXRUJLSVRf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlSW5kZXgoY29u
c3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYsIFdlYkV4Y2VwdGlv
bkNvZGUmKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBvcGVuQ3Vyc29yKGNvbnN0IFdlYklEQktleVJhbmdlJiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0
aW9uLCBXZWJJREJDYWxsYmFja3MqLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYsIFdlYkV4Y2Vw
dGlvbkNvZGUmKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCiBwcm90ZWN0ZWQ6
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuY3BwIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcAppbmRleCBmOGZlMWZhLi45
MDRiZjdlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHku
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5jcHAKQEAgLTg3
LDEyICs4NywxMiBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4g
SURCRGF0YWJhc2VQcm94eTo6Y3JlYXRlT2JqZWN0U3RvcmUoYwogICAgIHJldHVybiBJREJPYmpl
Y3RTdG9yZVByb3h5OjpjcmVhdGUob2JqZWN0U3RvcmUpOwogfQogCi12b2lkIElEQkRhdGFiYXNl
UHJveHk6OnJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lk
IElEQkRhdGFiYXNlUHJveHk6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwg
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgLy8gVGhlIHRyYW5zYWN0aW9uIHBvaW50ZXIgaXMgZ3VhcmFudGVlZCB0
byBiZSBhIHBvaW50ZXIgdG8gYSBwcm94eSBvYmplY3QgYXMsIGluIHRoZSByZW5kZXJlciwKICAg
ICAvLyBhbGwgaW1wbGVtZW50YXRpb25zIG9mIElEQiBpbnRlcmZhY2VzIGFyZSBwcm94eSBvYmpl
Y3RzLgogICAgIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5KiB0cmFuc2FjdGlvblByb3h5ID0g
c3RhdGljX2Nhc3Q8SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkqPih0cmFuc2FjdGlvbik7Ci0g
ICAgbV93ZWJJREJEYXRhYmFzZS0+cmVtb3ZlT2JqZWN0U3RvcmUobmFtZSwgKnRyYW5zYWN0aW9u
UHJveHktPmdldFdlYklEQlRyYW5zYWN0aW9uKCksIGVjKTsKKyAgICBtX3dlYklEQkRhdGFiYXNl
LT5kZWxldGVPYmplY3RTdG9yZShuYW1lLCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJh
bnNhY3Rpb24oKSwgZWMpOwogfQogCiB2b2lkIElEQkRhdGFiYXNlUHJveHk6OnNldFZlcnNpb24o
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tz
LCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURC
RGF0YWJhc2VQcm94eS5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmgK
aW5kZXggOGJiNGQyZi4uODQ2OTNmMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9J
REJEYXRhYmFzZVByb3h5LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVBy
b3h5LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxE
T01TdHJpbmdMaXN0PiBvYmplY3RTdG9yZU5hbWVzKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgYm9vbCBhdXRvSW5j
cmVtZW50LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7
Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwg
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZp
cnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJh
Y2tzPiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFt
ZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9JREJPYmplY3RTdG9yZVByb3h5LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
SURCT2JqZWN0U3RvcmVQcm94eS5jcHAKaW5kZXggZTUzNzcxOC4uZTAzY2RjOCAxMDA3NTUKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJPYmplY3RTdG9yZVByb3h5LmNwcAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0lEQk9iamVjdFN0b3JlUHJveHkuY3BwCkBAIC04OCwxMiArODgsMTIg
QEAgdm9pZCBJREJPYmplY3RTdG9yZVByb3h5OjpwdXQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+IHZhbHVlLCBQYXNzUmVmUHQKICAgICBtX3dlYklEQk9iamVjdFN0b3JlLT5wdXQo
dmFsdWUsIGtleSwgYWRkT25seSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzKSwg
KnRyYW5zYWN0aW9uUHJveHktPmdldFdlYklEQlRyYW5zYWN0aW9uKCksIGVjKTsKIH0KIAotdm9p
ZCBJREJPYmplY3RTdG9yZVByb3h5OjpyZW1vdmUoUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFz
c1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIElEQk9iamVjdFN0
b3JlUHJveHk6OmRlbGV0ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFj
ZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIFRoZSB0cmFuc2Fj
dGlvbiBwb2ludGVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBwb2ludGVyIHRvIGEgcHJveHkgb2Jq
ZWN0IGFzLCBpbiB0aGUgcmVuZGVyZXIsCiAgICAgLy8gYWxsIGltcGxlbWVudGF0aW9ucyBvZiBJ
REIgaW50ZXJmYWNlcyBhcmUgcHJveHkgb2JqZWN0cy4KICAgICBJREJUcmFuc2FjdGlvbkJhY2tl
bmRQcm94eSogdHJhbnNhY3Rpb25Qcm94eSA9IHN0YXRpY19jYXN0PElEQlRyYW5zYWN0aW9uQmFj
a2VuZFByb3h5Kj4odHJhbnNhY3Rpb24pOwotICAgIG1fd2ViSURCT2JqZWN0U3RvcmUtPnJlbW92
ZShrZXksIG5ldyBXZWJJREJDYWxsYmFja3NJbXBsKGNhbGxiYWNrcyksICp0cmFuc2FjdGlvblBy
b3h5LT5nZXRXZWJJREJUcmFuc2FjdGlvbigpLCBlYyk7CisgICAgbV93ZWJJREJPYmplY3RTdG9y
ZS0+ZGVsZXRlRnVuY3Rpb24oa2V5LCBuZXcgV2ViSURCQ2FsbGJhY2tzSW1wbChjYWxsYmFja3Mp
LCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJhbnNhY3Rpb24oKSwgZWMpOwogfQogCiBQ
YXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gSURCT2JqZWN0U3RvcmVQcm94eTo6
Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJv
b2wgdW5pcXVlLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBF
eGNlcHRpb25Db2RlJiBlYykKQEAgLTExNSwxMiArMTE1LDEyIEBAIFBhc3NSZWZQdHI8SURCSW5k
ZXhCYWNrZW5kSW50ZXJmYWNlPiBJREJPYmplY3RTdG9yZVByb3h5OjppbmRleChjb25zdCBTdHJp
bmcmIG5hCiAgICAgcmV0dXJuIElEQkluZGV4QmFja2VuZFByb3h5OjpjcmVhdGUoaW5kZXgpOwog
fQogCi12b2lkIElEQk9iamVjdFN0b3JlUHJveHk6OnJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYg
bmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCit2b2lkIElEQk9iamVjdFN0b3JlUHJveHk6OmRlbGV0ZUluZGV4KGNvbnN0
IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlv
biwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgLy8gVGhlIHRyYW5zYWN0aW9uIHBvaW50ZXIg
aXMgZ3VhcmFudGVlZCB0byBiZSBhIHBvaW50ZXIgdG8gYSBwcm94eSBvYmplY3QgYXMsIGluIHRo
ZSByZW5kZXJlciwKICAgICAvLyBhbGwgaW1wbGVtZW50YXRpb25zIG9mIElEQiBpbnRlcmZhY2Vz
IGFyZSBwcm94eSBvYmplY3RzLgogICAgIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5KiB0cmFu
c2FjdGlvblByb3h5ID0gc3RhdGljX2Nhc3Q8SURCVHJhbnNhY3Rpb25CYWNrZW5kUHJveHkqPih0
cmFuc2FjdGlvbik7Ci0gICAgbV93ZWJJREJPYmplY3RTdG9yZS0+cmVtb3ZlSW5kZXgobmFtZSwg
KnRyYW5zYWN0aW9uUHJveHktPmdldFdlYklEQlRyYW5zYWN0aW9uKCksIGVjKTsKKyAgICBtX3dl
YklEQk9iamVjdFN0b3JlLT5kZWxldGVJbmRleChuYW1lLCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0
V2ViSURCVHJhbnNhY3Rpb24oKSwgZWMpOwogfQogCiB2b2lkIElEQk9iamVjdFN0b3JlUHJveHk6
Om9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIHVuc2lnbmVkIHNob3J0
IGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQk9iamVjdFN0b3JlUHJveHkuaCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVQcm94eS5oCmluZGV4IDFlMTkyNzkuLjM0
OGM3OTQgMTAwNzU1Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVQcm94
eS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCT2JqZWN0U3RvcmVQcm94eS5oCkBAIC00
OCwxMSArNDgsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGdldChQYXNzUmVmUHRy
PElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBwdXQoUGFzc1Jl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQktleT4sIGJvb2wgYWRk
T25seSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZShQYXNzUmVm
UHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBkZWxldGVG
dW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgUGFz
c1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZUluZGV4KGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8SURC
SW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBpbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICB2b2lkIHJlbW92ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZGVs
ZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkN1cnNvcihQYXNz
UmVmUHRyPElEQktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uLCBQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlv
bkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFz
ZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwCmlu
ZGV4IDk3MjQ3NTIuLjE0MTk0M2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SURCRGF0YWJhc2VJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFi
YXNlSW1wbC5jcHAKQEAgLTcyLDkgKzcyLDkgQEAgV2ViSURCT2JqZWN0U3RvcmUqIFdlYklEQkRh
dGFiYXNlSW1wbDo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAg
IHJldHVybiBuZXcgV2ViSURCT2JqZWN0U3RvcmVJbXBsKG9iamVjdFN0b3JlKTsKIH0KIAotdm9p
ZCBXZWJJREJEYXRhYmFzZUltcGw6OnJlbW92ZU9iamVjdFN0b3JlKGNvbnN0IFdlYlN0cmluZyYg
bmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBXZWJFeGNlcHRpb25D
b2RlJiBlYykKK3ZvaWQgV2ViSURCRGF0YWJhc2VJbXBsOjpkZWxldGVPYmplY3RTdG9yZShjb25z
dCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwg
V2ViRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgbV9kYXRhYmFzZUJhY2tlbmQtPnJlbW92ZU9i
amVjdFN0b3JlKG5hbWUsIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSgpLCBlYyk7CisgICAgbV9kYXRhYmFzZUJhY2tlbmQtPmRlbGV0ZU9iamVjdFN0b3JlKG5h
bWUsIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSgpLCBlYyk7
CiB9CiAKIHZvaWQgV2ViSURCRGF0YWJhc2VJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFdlYlN0cmlu
ZyYgdmVyc2lvbiwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MsIFdlYkV4Y2VwdGlvbkNvZGUm
IGVjKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwu
aCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmgKaW5kZXggZmIyYThi
ZS4uNjRlMGIyZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFz
ZUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCkBA
IC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkRPTVN0cmluZ0xpc3Qgb2Jq
ZWN0U3RvcmVOYW1lcygpIGNvbnN0OwogCiAgICAgdmlydHVhbCBXZWJJREJPYmplY3RTdG9yZSog
Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcm
IGtleVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBX
ZWJFeGNlcHRpb25Db2RlJik7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZU9iamVjdFN0b3JlKGNv
bnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRp
b25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdlYlN0
cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7
CiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnNpb24oY29uc3QgV2ViU3RyaW5nJiB2ZXJzaW9uLCBX
ZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcywgV2ViRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1
YWwgV2ViSURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0IFdlYkRPTVN0cmluZ0xpc3Qm
IG5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIFdlYkV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmNwcCBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmNwcAppbmRleCA1ZGQyNjUyLi4wNTAzZWRl
IDEwMDc1NQotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5j
cHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuY3BwCkBA
IC03Niw5ICs3Niw5IEBAIHZvaWQgV2ViSURCT2JqZWN0U3RvcmVJbXBsOjpwdXQoY29uc3QgV2Vi
U2VyaWFsaXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgV2ViCiAgICAgbV9vYmplY3RTdG9y
ZS0+cHV0KHZhbHVlLCBrZXksIGFkZE9ubHksIElEQkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoY2Fs
bGJhY2tzKSwgdHJhbnNhY3Rpb24uZ2V0SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCks
IGVjKTsKIH0KIAotdm9pZCBXZWJJREJPYmplY3RTdG9yZUltcGw6OnJlbW92ZShjb25zdCBXZWJJ
REJLZXkmIGtleSwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MsIGNvbnN0IFdlYklEQlRyYW5z
YWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYklEQk9i
amVjdFN0b3JlSW1wbDo6ZGVsZXRlRnVuY3Rpb24oY29uc3QgV2ViSURCS2V5JiBrZXksIFdlYklE
QkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIG1fb2JqZWN0U3RvcmUtPnJlbW92ZShr
ZXksIElEQkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoY2FsbGJhY2tzKSwgdHJhbnNhY3Rpb24uZ2V0
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCksIGVjKTsKKyAgICBtX29iamVjdFN0b3Jl
LT5kZWxldGVGdW5jdGlvbihrZXksIElEQkNhbGxiYWNrc1Byb3h5OjpjcmVhdGUoY2FsbGJhY2tz
KSwgdHJhbnNhY3Rpb24uZ2V0SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCksIGVjKTsK
IH0KIAogV2ViSURCSW5kZXgqIFdlYklEQk9iamVjdFN0b3JlSW1wbDo6Y3JlYXRlSW5kZXgoY29u
c3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIGtleVBhdGgsIGJvb2wgdW5pcXVl
LCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUm
IGVjKQpAQCAtOTcsOSArOTcsOSBAQCBXZWJJREJJbmRleCogV2ViSURCT2JqZWN0U3RvcmVJbXBs
OjppbmRleChjb25zdCBXZWJTdHJpbmcmIG5hbWUsIFdlYkV4Y2VwdGlvbkNvZAogICAgIHJldHVy
biBuZXcgV2ViSURCSW5kZXhJbXBsKGluZGV4KTsKIH0KIAotdm9pZCBXZWJJREJPYmplY3RTdG9y
ZUltcGw6OnJlbW92ZUluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJh
bnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBXZWJFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgV2ViSURC
T2JqZWN0U3RvcmVJbXBsOjpkZWxldGVJbmRleChjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0
IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCiB7
Ci0gICAgbV9vYmplY3RTdG9yZS0+cmVtb3ZlSW5kZXgobmFtZSwgdHJhbnNhY3Rpb24uZ2V0SURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCksIGVjKTsKKyAgICBtX29iamVjdFN0b3JlLT5k
ZWxldGVJbmRleChuYW1lLCB0cmFuc2FjdGlvbi5nZXRJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UoKSwgZWMpOwogfQogCiB2b2lkIFdlYklEQk9iamVjdFN0b3JlSW1wbDo6b3BlbkN1cnNv
cihjb25zdCBXZWJJREJLZXlSYW5nZSYga2V5UmFuZ2UsIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlv
biwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0
cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJREJPYmplY3RTdG9yZUltcGwuaAppbmRleCA5MTQ4MTE4Li5mOWNkNzc2IDEwMDc1NQotLS0g
YS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5oCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0U3RvcmVJbXBsLmgKQEAgLTQ5LDExICs0OSwxMSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGdldChjb25zdCBXZWJJREJLZXkmIGtleSwgV2ViSURCQ2Fs
bGJhY2tzKiwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBwdXQoY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiwgY29uc3QgV2ViSURC
S2V5JiBrZXksIGJvb2wgYWRkT25seSwgV2ViSURCQ2FsbGJhY2tzKiwgY29uc3QgV2ViSURCVHJh
bnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCByZW1vdmUoY29uc3QgV2Vi
SURCS2V5JiBrZXksIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiwg
V2ViRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZGVsZXRlRnVuY3Rpb24oY29uc3QgV2ViSURC
S2V5JiBrZXksIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiwgV2Vi
RXhjZXB0aW9uQ29kZSYpOwogCiAgICAgV2ViSURCSW5kZXgqIGNyZWF0ZUluZGV4KGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBrZXlQYXRoLCBib29sIHVuaXF1ZSwgY29u
c3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7CiAgICAgV2ViSURCSW5k
ZXgqIGluZGV4KGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgV2ViRXhjZXB0aW9uQ29kZSYpOwotICAg
IHZvaWQgcmVtb3ZlSW5kZXgoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJJREJUcmFu
c2FjdGlvbiYsIFdlYkV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0
IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25D
b2RlJik7CiAKICAgICB2b2lkIG9wZW5DdXJzb3IoY29uc3QgV2ViSURCS2V5UmFuZ2UmLCB1bnNp
Z25lZCBzaG9ydCBkaXJlY3Rpb24sIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYklEQlRyYW5z
YWN0aW9uJiwgV2ViRXhjZXB0aW9uQ29kZSYpOwogCg==
</data>
<flag name="review"
          id="65657"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>