<?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>202215</bug_id>
          
          <creation_ts>2019-09-25 11:29:26 -0700</creation_ts>
          <short_desc>Remove duplicate WebsiteDataStoreConfiguration copying code</short_desc>
          <delta_ts>2019-09-25 12:24:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574129</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 11:29:26 -0700</bug_when>
    <thetext>Remove duplicate WebsiteDataStoreConfiguration copying code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574130</commentid>
    <comment_count>1</comment_count>
      <attachid>379564</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 11:32:41 -0700</bug_when>
    <thetext>Created attachment 379564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574138</commentid>
    <comment_count>2</comment_count>
      <attachid>379566</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 11:39:45 -0700</bug_when>
    <thetext>Created attachment 379566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574139</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-09-25 11:40:32 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574164</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 12:23:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/r250352</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574165</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-25 12:24:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/55714127&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574166</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-25 12:24:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/55714128&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379564</attachid>
            <date>2019-09-25 11:32:41 -0700</date>
            <delta_ts>2019-09-25 11:39:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202215-20190925113240.patch</filename>
            <type>text/plain</type>
            <size>20309</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTAzNDkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIGR1cGxp
Y2F0ZSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBjb3B5aW5nIGNvZGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjIxNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9y
ZSdzIF9pbml0V2l0aENvbmZpZ3VyYXRpb24gd2FzIGR1cGxpY2F0aW5nIHRoZSBmdW5jdGlvbmFs
aXR5IG9mIFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5LgorICAgICAgICBUaGUg
Zm9ybWVyIHNob3VsZCBqdXN0IGNhbGwgdGhlIGxhdHRlci4KKyAgICAgICAgVGhpcyBtb3ZlIGhh
cyB0aGUgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uJ3MgcGF0aHMgcmVhZGFibGUsIHdoaWNoIEkgdGhpbmsgaXMgZGVzaXJhYmxlIHNvIEkgYWRk
ZWQgYSB1bml0IHRlc3QgdmVyaWZ5aW5nIGl0IGlzIHNvLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwOgorICAgICAgICAo
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkNyZWF0ZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAgICAgICgtW1dLV2Vic2l0
ZURhdGFTdG9yZSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW06CisgICAgICAg
ICgtW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1b
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5pdE5vblBlcnNpc3RlbnRDb25maWd1
cmF0aW9uXSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6Om1heUhhdmVSZWdpc3RlcmVkU2VydmljZVdvcmtl
cnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6Y3JlYXRlTm9uUGVyc2lzdGVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3RvcmUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29u
ZmlndXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbjo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVh
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6aXNQ
ZXJzaXN0ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb246OnNldFBlcnNpc3RlbnQpOiBEZWxldGVkLgorCiAyMDE5LTA5LTI1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBf
V0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlIHdp
dGggX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZGF0YUNvbm5lY3Rpb25TZXJ2aWNl
VHlwZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAko
cmV2aXNpb24gMjUwMzIxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjc4LDcgKzEyNzgsNyBAQCBib29sIFdlYlByb2Nl
c3NQb29sOjptYXlIYXZlUmVnaXN0ZXJlZFNlCiAKICAgICBTdHJpbmcgc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSA9IHN0b3JlLnJlc29sdmVkU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRpcmVjdG9yeSgpOwogICAgIGlmIChzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0
b3J5LmlzRW1wdHkoKSkKLSAgICAgICAgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eSA9IFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRp
b24oKS0+c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOworICAgICAgICBzZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5ID0gV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKIAogICAgIHJldHVybiBtX21h
eUhhdmVSZWdpc3RlcmVkU2VydmljZVdvcmtlcnMuZW5zdXJlKHNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnksIFsmXSB7CiAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgY29tcHV0
YXRpb24gb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb25SZWYuY3BwCShyZXZpc2lvbiAyNTAyNTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUmVmLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzYsOCArMzYsNyBAQCBXS1R5cGVJRCBXS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uCiAKIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYgV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbkNyZWF0ZSgpCiB7Ci0gICAgYXV0byBjb25maWd1cmF0
aW9uID0gV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y3JlYXRlKCk7Ci0g
ICAgY29uZmlndXJhdGlvbi0+c2V0UGVyc2lzdGVudCh0cnVlKTsKKyAgICBhdXRvIGNvbmZpZ3Vy
YXRpb24gPSBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoSXNQ
ZXJzaXN0ZW50OjpZZXMpOwogICAgIHJldHVybiB0b0FQSSgmY29uZmlndXJhdGlvbi5sZWFrUmVm
KCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJz
aXRlRGF0YVN0b3JlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHJldmlzaW9uIDI1MDM0OSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0JKHdvcmtp
bmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKICNpbXBvcnQgIldlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oIgogI2ltcG9ydCAiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRy
eS5oIgogI2ltcG9ydCAiV2Vic2l0ZURhdGFGZXRjaE9wdGlvbi5oIgotI2ltcG9ydCAiX1dLV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCIKKyNpbXBvcnQgIl9XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1dlYnNpdGVEYXRhU3RvcmVE
ZWxlZ2F0ZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9DcmVkZW50aWFsLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmg+CkBAIC0yNDQsNzIgKzI0NCw4IEBAIC0gKGluc3Rh
bmNldHlwZSlfaW5pdFdpdGhDb25maWd1cmF0aW9uOigKICAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8gY29uZmlnID0gY29uZmln
dXJhdGlvbi5pc1BlcnNpc3RlbnQgPyBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRE
YXRhU3RvcmVDb25maWd1cmF0aW9uKCkgOiBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uOjpjcmVhdGUoKTsKLQotICAgIFJFTEVBU0VfQVNTRVJUKGNvbmZpZy0+aXNQZXJzaXN0
ZW50KCkgPT0gY29uZmlndXJhdGlvbi5pc1BlcnNpc3RlbnQpOwotCi0gICAgaWYgKGNvbmZpZ3Vy
YXRpb24uaXNQZXJzaXN0ZW50KSB7Ci0gICAgICAgIGlmIChjb25maWd1cmF0aW9uLl93ZWJTdG9y
YWdlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXRMb2NhbFN0b3JhZ2VEaXJlY3Rv
cnkoY29uZmlndXJhdGlvbi5fd2ViU3RvcmFnZURpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAgaWYg
KGNvbmZpZ3VyYXRpb24uX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29u
ZmlnLT5zZXRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeShjb25maWd1cmF0aW9uLl93ZWJTUUxEYXRh
YmFzZURpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uX2luZGV4ZWRE
QkRhdGFiYXNlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXRJbmRleGVkREJEYXRh
YmFzZURpcmVjdG9yeShjb25maWd1cmF0aW9uLl9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeS5w
YXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uX2Nvb2tpZVN0b3JhZ2VGaWxlKQotICAg
ICAgICAgICAgY29uZmlnLT5zZXRDb29raWVTdG9yYWdlRmlsZShjb25maWd1cmF0aW9uLl9jb29r
aWVTdG9yYWdlRmlsZS5wYXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uX3Jlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWctPnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5fcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uX2NhY2hlU3Rv
cmFnZURpcmVjdG9yeSkKLSAgICAgICAgICAgIGNvbmZpZy0+c2V0Q2FjaGVTdG9yYWdlRGlyZWN0
b3J5KGNvbmZpZ3VyYXRpb24uX2NhY2hlU3RvcmFnZURpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAg
aWYgKGNvbmZpZ3VyYXRpb24uX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpCi0g
ICAgICAgICAgICBjb25maWctPnNldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnko
Y29uZmlndXJhdGlvbi5fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeS5wYXRoKTsK
LSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5KQotICAgICAg
ICAgICAgY29uZmlnLT5zZXROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5uZXR3
b3JrQ2FjaGVEaXJlY3RvcnkucGF0aCk7Ci0gICAgICAgIGlmIChjb25maWd1cmF0aW9uLmRldmlj
ZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeSkKLSAgICAgICAgICAgIGNvbmZpZy0+c2V0RGV2
aWNlSWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uZGV2aWNlSWRIYXNo
U2FsdHNTdG9yYWdlRGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5h
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXRBcHBsaWNh
dGlvbkNhY2hlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eS5wYXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZUZsYXRG
aWxlU3ViZGlyZWN0b3J5TmFtZSkKLSAgICAgICAgICAgIGNvbmZpZy0+c2V0QXBwbGljYXRpb25D
YWNoZUZsYXRGaWxlU3ViZGlyZWN0b3J5TmFtZShjb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2Fj
aGVGbGF0RmlsZVN1YmRpcmVjdG9yeU5hbWUpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5t
ZWRpYUNhY2hlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXRNZWRpYUNhY2hlRGly
ZWN0b3J5KGNvbmZpZ3VyYXRpb24ubWVkaWFDYWNoZURpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAg
aWYgKGNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkKLSAgICAgICAgICAg
IGNvbmZpZy0+c2V0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShjb25maWd1cmF0aW9uLm1lZGlh
S2V5c1N0b3JhZ2VEaXJlY3RvcnkucGF0aCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUkVMRUFT
RV9BU1NFUlQoIWNvbmZpZ3VyYXRpb24uX3dlYlN0b3JhZ2VEaXJlY3RvcnkpOwotICAgICAgICBS
RUxFQVNFX0FTU0VSVCghY29uZmlndXJhdGlvbi5fd2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkpOwot
ICAgICAgICBSRUxFQVNFX0FTU0VSVCghY29uZmlndXJhdGlvbi5faW5kZXhlZERCRGF0YWJhc2VE
aXJlY3RvcnkpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVCghY29uZmlndXJhdGlvbi5fY29va2ll
U3RvcmFnZUZpbGUpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVCghY29uZmlndXJhdGlvbi5fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFj
b25maWd1cmF0aW9uLl9jYWNoZVN0b3JhZ2VEaXJlY3RvcnkpOwotICAgICAgICBSRUxFQVNFX0FT
U0VSVCghY29uZmlndXJhdGlvbi5fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSk7
Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLm5ldHdvcmtDYWNoZURpcmVj
dG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLmRldmljZUlkSGFz
aFNhbHRzU3RvcmFnZURpcmVjdG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1
cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOwotICAgICAgICBSRUxFQVNFX0FTU0VS
VCghY29uZmlndXJhdGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5KTsKLSAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIWNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSk7Ci0gICAgfQot
Ci0gICAgaWYgKGNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
KQotICAgICAgICBjb25maWctPnNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihj
b25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgaWYg
KGNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQotICAg
ICAgICBjb25maWctPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihjb25m
aWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcik7Ci0gICAgaWYg
KGNvbmZpZ3VyYXRpb24uaHR0cFByb3h5KQotICAgICAgICBjb25maWctPnNldEhUVFBQcm94eShj
b25maWd1cmF0aW9uLmh0dHBQcm94eSk7Ci0gICAgaWYgKGNvbmZpZ3VyYXRpb24uaHR0cHNQcm94
eSkKLSAgICAgICAgY29uZmlnLT5zZXRIVFRQU1Byb3h5KGNvbmZpZ3VyYXRpb24uaHR0cHNQcm94
eSk7Ci0KLSAgICBjb25maWctPnNldEFsbG93c0NlbGx1bGFyQWNjZXNzKGNvbmZpZ3VyYXRpb24u
YWxsb3dzQ2VsbHVsYXJBY2Nlc3MpOwotICAgIGNvbmZpZy0+c2V0UGVyT3JpZ2luU3RvcmFnZVF1
b3RhKGNvbmZpZ3VyYXRpb24ucGVyT3JpZ2luU3RvcmFnZVF1b3RhKTsKLSAgICBjb25maWctPnNl
dEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcihjb25maWd1cmF0aW9uLmJvdW5kSW50ZXJmYWNlSWRl
bnRpZmllcik7Ci0gICAgY29uZmlnLT5zZXRQcm94eUNvbmZpZ3VyYXRpb24oKF9fYnJpZGdlIENG
RGljdGlvbmFyeVJlZilbW2NvbmZpZ3VyYXRpb24ucHJveHlDb25maWd1cmF0aW9uIGNvcHldIGF1
dG9yZWxlYXNlXSk7Ci0gICAgY29uZmlnLT5zZXREZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25z
RW5hYmxlZChjb25maWd1cmF0aW9uLmRldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVk
KTsKLSAgICBjb25maWctPnNldEFsbExvYWRzQmxvY2tlZEJ5RGV2aWNlTWFuYWdlbWVudFJlc3Ry
aWN0aW9uc0ZvclRlc3RpbmcoY29uZmlndXJhdGlvbi5hbGxMb2Fkc0Jsb2NrZWRCeURldmljZU1h
bmFnZW1lbnRSZXN0cmljdGlvbnNGb3JUZXN0aW5nKTsKLSAgICBjb25maWctPnNldERhdGFDb25u
ZWN0aW9uU2VydmljZVR5cGUoY29uZmlndXJhdGlvbi5kYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBl
KTsKLQogICAgIGF1dG8gc2Vzc2lvbklEID0gY29uZmlndXJhdGlvbi5pc1BlcnNpc3RlbnQgPyBQ
QUw6OlNlc3Npb25JRDo6Z2VuZXJhdGVQZXJzaXN0ZW50U2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Np
b25JRDo6Z2VuZXJhdGVFcGhlbWVyYWxTZXNzaW9uSUQoKTsKLQotICAgIEFQSTo6T2JqZWN0Ojpj
b25zdHJ1Y3RJbldyYXBwZXI8V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlPihzZWxmLCBXVEZNb3Zl
KGNvbmZpZyksIHNlc3Npb25JRCk7CisgICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBl
cjxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU+KHNlbGYsIGNvbmZpZ3VyYXRpb24tPl9jb25maWd1
cmF0aW9uLT5jb3B5KCksIHNlc3Npb25JRCk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9uIDI1MDM0
OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsNyBAQCAtIChp
bnN0YW5jZXR5cGUpaW5pdAogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgIEFQSTo6T2JqZWN0Ojpjb25zdHJ1Y3RJbldyYXBwZXI8V2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbj4oc2VsZik7Ci0gICAgX2NvbmZpZ3VyYXRpb24tPnNldFBlcnNpc3Rl
bnQodHJ1ZSk7CisgICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBlcjxXZWJLaXQ6Oldl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPihzZWxmLCBXZWJLaXQ6OklzUGVyc2lzdGVudDo6
WWVzKTsKIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtNTQsOCArNTMsNyBAQCAtIChpbnN0YW5j
ZXR5cGUpaW5pdE5vblBlcnNpc3RlbnRDb25maWd1CiAgICAgaWYgKCFzZWxmKQogICAgICAgICBy
ZXR1cm4gbmlsOwogCi0gICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBlcjxXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPihzZWxmKTsKLSAgICBfY29uZmlndXJhdGlv
bi0+c2V0UGVyc2lzdGVudChmYWxzZSk7CisgICAgQVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3Jh
cHBlcjxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPihzZWxmLCBXZWJLaXQ6
OklzUGVyc2lzdGVudDo6Tm8pOwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmNwcAkocmV2aXNpb24gMjUwMjU0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg5LDcgKzg5
LDcgQEAgc3RhdGljIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIFdlYnNpdGVEYQogCiBSZWY8V2Vi
c2l0ZURhdGFTdG9yZT4gV2Vic2l0ZURhdGFTdG9yZTo6Y3JlYXRlTm9uUGVyc2lzdGVudCgpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vic2l0ZURhdGFTdG9yZShQQUw6OlNlc3Npb25J
RDo6Z2VuZXJhdGVFcGhlbWVyYWxTZXNzaW9uSUQoKSkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNyZWF0
ZShJc1BlcnNpc3RlbnQ6Ok5vKSwgUEFMOjpTZXNzaW9uSUQ6OmdlbmVyYXRlRXBoZW1lcmFsU2Vz
c2lvbklEKCkpKTsKIH0KIAogUmVmPFdlYnNpdGVEYXRhU3RvcmU+IFdlYnNpdGVEYXRhU3RvcmU6
OmNyZWF0ZShSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+JiYgY29uZmlndXJhdGlv
biwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQpAQCAtMTE4LDI2ICsxMTgsNiBAQCBXZWJzaXRl
RGF0YVN0b3JlOjpXZWJzaXRlRGF0YVN0b3JlKFJlZjxXCiAgICAgQVNTRVJUKFJ1bkxvb3A6Omlz
TWFpbigpKTsKIH0KIAotV2Vic2l0ZURhdGFTdG9yZTo6V2Vic2l0ZURhdGFTdG9yZShQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpCi0gICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCi0gICAgLCBt
X3Jlc29sdmVkQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y3Jl
YXRlKCkpCi0gICAgLCBtX2NvbmZpZ3VyYXRpb24obV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmNv
cHkoKSkKLSAgICAsIG1fZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoRGV2aWNlSWRIYXNoU2FsdFN0
b3JhZ2U6OmNyZWF0ZShpc1BlcnNpc3RlbnQoKSA/IG1fY29uZmlndXJhdGlvbi0+ZGV2aWNlSWRI
YXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkgOiBTdHJpbmcoKSkpCi0gICAgLCBtX3F1ZXVlKFdv
cmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LldlYnNpdGVEYXRhU3RvcmUiKSkKLSNp
ZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICwgbV9hdXRoZW50aWNhdG9yTWFuYWdlcihtYWtlVW5p
cXVlUmVmPEF1dGhlbnRpY2F0b3JNYW5hZ2VyPigpKQotI2VuZGlmCi0gICAgLCBtX2NsaWVudCht
YWtlVW5pcXVlUmVmPFdlYnNpdGVEYXRhU3RvcmVDbGllbnQ+KCkpCi0jaWYgSEFWRShBUFBfU1NP
KQotICAgICwgbV9zb0F1dGhvcml6YXRpb25Db29yZGluYXRvcihtYWtlVW5pcXVlUmVmPFNPQXV0
aG9yaXphdGlvbkNvb3JkaW5hdG9yPigpKQotI2VuZGlmCi17Ci0gICAgbWF5YmVSZWdpc3Rlcldp
dGhTZXNzaW9uSURNYXAoKTsKLSAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKLQotICAgIEFTU0VS
VChSdW5Mb29wOjppc01haW4oKSk7Ci19Ci0KIFdlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0
YVN0b3JlKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtMTY2LDcgKzE0
Niw3IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiBXZWJzaXRlRGF0YVN0b3JlOjoKIAogICAgIGF1
dG8mIHN0b3JlID0gZ2xvYmFsRGVmYXVsdERhdGFTdG9yZSgpOwogICAgIGlmICghc3RvcmUpCi0g
ICAgICAgIHN0b3JlID0gYWRvcHRSZWYobmV3IFdlYnNpdGVEYXRhU3RvcmUoZGVmYXVsdERhdGFT
dG9yZUNvbmZpZ3VyYXRpb24oKSwgUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSkp
OworICAgICAgICBzdG9yZSA9IGFkb3B0UmVmKG5ldyBXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoSXNQZXJzaXN0ZW50OjpZZXMpLCBQQUw6OlNl
c3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKSk7CiAKICAgICByZXR1cm4gKnN0b3JlOwogfQpA
QCAtMTgxLDMwICsxNjEsNiBAQCBib29sIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3Rv
cmVFCiAgICAgcmV0dXJuICEhZ2xvYmFsRGVmYXVsdERhdGFTdG9yZSgpOwogfQogCi1SZWY8V2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZTo6ZGVm
YXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKQotewotICAgIGF1dG8gY29uZmlndXJhdGlvbiA9
IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoKTsKLQotICAgIGNvbmZpZ3Vy
YXRpb24tPnNldFBlcnNpc3RlbnQodHJ1ZSk7Ci0KLSAgICBjb25maWd1cmF0aW9uLT5zZXRBcHBs
aWNhdGlvbkNhY2hlRGlyZWN0b3J5KGRlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkp
OwotICAgIGNvbmZpZ3VyYXRpb24tPnNldENhY2hlU3RvcmFnZURpcmVjdG9yeShkZWZhdWx0Q2Fj
aGVTdG9yYWdlRGlyZWN0b3J5KCkpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldE5ldHdvcmtDYWNo
ZURpcmVjdG9yeShkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCkpOwotICAgIGNvbmZpZ3Vy
YXRpb24tPnNldE1lZGlhQ2FjaGVEaXJlY3RvcnkoZGVmYXVsdE1lZGlhQ2FjaGVEaXJlY3Rvcnko
KSk7Ci0KLSAgICBjb25maWd1cmF0aW9uLT5zZXRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeShk
ZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+
c2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShkZWZhdWx0U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpKTsKLSAgICBjb25maWd1cmF0aW9uLT5zZXRXZWJTUUxE
YXRhYmFzZURpcmVjdG9yeShkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSk7Ci0gICAg
Y29uZmlndXJhdGlvbi0+c2V0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KGRlZmF1bHRMb2NhbFN0b3Jh
Z2VEaXJlY3RvcnkoKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0TWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeShkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpKTsKLSAgICBjb25maWd1
cmF0aW9uLT5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KGRlZmF1bHRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCkpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldERldmlj
ZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShkZWZhdWx0RGV2aWNlSWRIYXNoU2FsdHNTdG9y
YWdlRGlyZWN0b3J5KCkpOwotCi0gICAgY29uZmlndXJhdGlvbi0+c2V0SmF2YVNjcmlwdENvbmZp
Z3VyYXRpb25EaXJlY3RvcnkoZGVmYXVsdEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5
KCkpOwotCi0gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci19Ci0KIHZvaWQgV2Vic2l0ZURhdGFT
dG9yZTo6bWF5YmVSZWdpc3RlcldpdGhTZXNzaW9uSURNYXAoKQogewogICAgIGlmIChtX3Nlc3Np
b25JRCAhPSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKSB7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCShyZXZpc2lvbiAyNTAyNTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDEyICs5Nywx
MCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiBkZWZhdWx0RGF0
YVN0b3JlKCk7CiAgICAgc3RhdGljIGJvb2wgZGVmYXVsdERhdGFTdG9yZUV4aXN0cygpOwogICAg
IHN0YXRpYyB2b2lkIGRlbGV0ZURlZmF1bHREYXRhU3RvcmVGb3JUZXN0aW5nKCk7Ci0gICAgc3Rh
dGljIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gZGVmYXVsdERhdGFTdG9yZUNv
bmZpZ3VyYXRpb24oKTsKICAgICAKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNy
ZWF0ZU5vblBlcnNpc3RlbnQoKTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNy
ZWF0ZShSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+JiYsIFBBTDo6U2Vzc2lvbklE
KTsKIAotICAgIFdlYnNpdGVEYXRhU3RvcmUoUEFMOjpTZXNzaW9uSUQpOwogICAgIFdlYnNpdGVE
YXRhU3RvcmUoUmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiYmLCBQQUw6OlNlc3Np
b25JRCk7CiAgICAgfldlYnNpdGVEYXRhU3RvcmUoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjUwMzQ5KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMjggQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLVdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbigpID0gZGVmYXVsdDsKK1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihJc1BlcnNpc3RlbnQgaXNQZXJzaXN0ZW50KQor
ICAgIDogbV9pc1BlcnNpc3RlbnQoaXNQZXJzaXN0ZW50KQoreworICAgIGlmIChpc1BlcnNpc3Rl
bnQgPT0gSXNQZXJzaXN0ZW50OjpZZXMpIHsKKyAgICAgICAgc2V0QXBwbGljYXRpb25DYWNoZURp
cmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eSgpKTsKKyAgICAgICAgc2V0Q2FjaGVTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6
OmRlZmF1bHRDYWNoZVN0b3JhZ2VEaXJlY3RvcnkoKSk7CisgICAgICAgIHNldE5ldHdvcmtDYWNo
ZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5
KCkpOworICAgICAgICBzZXRNZWRpYUNhY2hlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRl
ZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCkpOworICAgICAgICBzZXRJbmRleGVkREJEYXRhYmFz
ZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJl
Y3RvcnkoKSk7CisgICAgICAgIHNldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnko
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnkoKSk7CisgICAgICAgIHNldFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKTsKKyAgICAgICAgc2V0TG9jYWxT
dG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJl
Y3RvcnkoKSk7CisgICAgICAgIHNldE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoV2Vic2l0ZURh
dGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSk7CisgICAgICAgIHNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSk7CisgICAgICAgIHNldERldmljZUlk
SGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGV2aWNl
SWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkpOworICAgICAgICBzZXRKYXZhU2NyaXB0Q29u
ZmlndXJhdGlvbkRpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SmF2YVNjcmlwdENv
bmZpZ3VyYXRpb25EaXJlY3RvcnkoKSk7CisgICAgfQorfQogCiBSZWY8V2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24+IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5KCkKIHsK
LSAgICBhdXRvIGNvcHkgPSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y3JlYXRlKCk7
Ci0KLSAgICBjb3B5LT5tX2lzUGVyc2lzdGVudCA9IHRoaXMtPm1faXNQZXJzaXN0ZW50OworICAg
IGF1dG8gY29weSA9IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUobV9pc1Bl
cnNpc3RlbnQpOwogCiAgICAgY29weS0+bV9jYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5t
X2NhY2hlU3RvcmFnZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX3Blck9yaWdpblN0b3JhZ2VRdW90
YSA9IHRoaXMtPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhOwpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyNTAzNDkpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiwxNSArMzIsMTYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
K2VudW0gY2xhc3MgSXNQZXJzaXN0ZW50IDogYm9vbCB7IE5vLCBZZXMgfTsKKwogY2xhc3MgV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6
T2JqZWN0OjpUeXBlOjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gewogcHVibGljOgot
ICAgIHN0YXRpYyBSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24pOyB9Ci0g
ICAgV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKTsKKyAgICBzdGF0aWMgUmVmPFdlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiBjcmVhdGUoSXNQZXJzaXN0ZW50IGlzUGVyc2lzdGVu
dCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihp
c1BlcnNpc3RlbnQpKTsgfQorICAgIFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKElzUGVy
c2lzdGVudCk7CiAKICAgICBSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IGNvcHko
KTsKIAotICAgIGJvb2wgaXNQZXJzaXN0ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pc1BlcnNpc3Rl
bnQ7IH0KLSAgICB2b2lkIHNldFBlcnNpc3RlbnQoYm9vbCBpc1BlcnNpc3RlbnQpIHsgbV9pc1Bl
cnNpc3RlbnQgPSBpc1BlcnNpc3RlbnQ7IH0KKyAgICBib29sIGlzUGVyc2lzdGVudCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNQZXJzaXN0ZW50ID09IElzUGVyc2lzdGVudDo6WWVzOyB9CiAKICAgICB1
aW50NjRfdCBwZXJPcmlnaW5TdG9yYWdlUXVvdGEoKSBjb25zdCB7IHJldHVybiBtX3Blck9yaWdp
blN0b3JhZ2VRdW90YTsgfQogICAgIHZvaWQgc2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKHVpbnQ2
NF90IHF1b3RhKSB7IG1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhID0gcXVvdGE7IH0KQEAgLTEyMyw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBl
KFN0cmluZyYmIHR5cGUpIHsgbV9kYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlID0gV1RGTW92ZSh0
eXBlKTsgfQogICAgIAogcHJpdmF0ZToKLSAgICBib29sIG1faXNQZXJzaXN0ZW50IHsgZmFsc2Ug
fTsKKyAgICBJc1BlcnNpc3RlbnQgbV9pc1BlcnNpc3RlbnQgeyBJc1BlcnNpc3RlbnQ6Ok5vIH07
CiAKICAgICBTdHJpbmcgbV9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgdWludDY0X3QgbV9w
ZXJPcmlnaW5TdG9yYWdlUXVvdGEgeyBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjpkZWZh
dWx0UXVvdGEoKSB9OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMzQ5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDktMjUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgZHVwbGljYXRlIFdlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGNvcHlpbmcgY29kZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjE1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5tbToKKyAgICAgICAgKFRFU1QpOgor
CiAyMDE5LTA5LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpUGFkT1NdIFtEYXRhQWN0aXZhdGlvbl0gRm9jdXMgbW92ZXMgYXdheSBhZnRlciBm
b2N1c2luZyBpbnB1dCBmaWVsZHMgb24gd3d3LmF0dC5jb20KSW5kZXg6IFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0
ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tCShyZXZpc2lvbiAyNTAyNTQpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRocy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTIzLDYgKzUyMywxMiBAQCBURVNUKFdlYktpdCwgQXBwbGlj
YXRpb25JZGVudGlmaWVycykKICAgICBFWFBFQ1RfVFJVRShbW3dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0gaXNFcXVhbFRvU3Ry
aW5nOkAidGVzdGlkZW50aWZpZXIiXSk7CiB9CiAKK1RFU1QoV2ViS2l0LCBXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvblBhdGhOdWxsKQoreworICAgIEVYUEVDVF9UUlVFKFtbW1tfV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdIF9pbmRl
eGVkREJEYXRhYmFzZURpcmVjdG9yeV0pOworICAgIEVYUEVDVF9GQUxTRShbW1tbX1dLV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXROb25QZXJzaXN0ZW50Q29uZmlndXJh
dGlvbl0gYXV0b3JlbGVhc2VdIF9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeV0pOworfQorCiBU
RVNUKFdlYktpdCwgTmV0d29ya0NhY2hlRGlyZWN0b3J5KQogewogICAgIHVzaW5nIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379566</attachid>
            <date>2019-09-25 11:39:45 -0700</date>
            <delta_ts>2019-09-25 11:42:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202215-20190925113945.patch</filename>
            <type>text/plain</type>
            <size>21235</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTAzNDkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIGR1cGxp
Y2F0ZSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBjb3B5aW5nIGNvZGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjIxNQorCisgICAgICAg
IFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlJ3Mg
X2luaXRXaXRoQ29uZmlndXJhdGlvbiB3YXMgZHVwbGljYXRpbmcgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YgV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNvcHkuCisgICAgICAgIFRoZSBmb3Jt
ZXIgc2hvdWxkIGp1c3QgY2FsbCB0aGUgbGF0dGVyLgorICAgICAgICBUaGlzIG1vdmUgaGFzIHRo
ZSBzaWRlIGVmZmVjdCBvZiBtYWtpbmcgX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24n
cyBwYXRocyByZWFkYWJsZSwgd2hpY2ggSSB0aGluayBpcyBkZXNpcmFibGUgc28gSSBhZGRlZCBh
IHVuaXQgdGVzdCB2ZXJpZnlpbmcgaXQgaXMgc28uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHA6CisgICAgICAgIChXS1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uQ3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0
YVN0b3JlIF9pbml0V2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1b
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAgICAoLVtfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBpbml0Tm9uUGVyc2lzdGVudENvbmZpZ3VyYXRp
b25dKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bWF5SGF2ZVJlZ2lzdGVyZWRTZXJ2aWNlV29ya2Vycyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpjcmVhdGVOb25QZXJzaXN0ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3RvcmVDb25maWd1
cmF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uOjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoK
KyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjppc1BlcnNp
c3RlbnQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbjo6c2V0UGVyc2lzdGVudCk6IERlbGV0ZWQuCisKIDIwMTktMDktMjUgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXBsYWNlIF9XS1By
b2Nlc3NQb29sQ29uZmlndXJhdGlvbi5DVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUgd2l0aCBf
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5kYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBl
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZp
c2lvbiAyNTAzMjEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNzgsNyArMTI3OCw3IEBAIGJvb2wgV2ViUHJvY2Vzc1Bv
b2w6Om1heUhhdmVSZWdpc3RlcmVkU2UKIAogICAgIFN0cmluZyBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5ID0gc3RvcmUucmVzb2x2ZWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5KCk7CiAgICAgaWYgKHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnku
aXNFbXB0eSgpKQotICAgICAgICBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5ID0g
V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29uZmlndXJhdGlvbigp
LT5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCk7CisgICAgICAgIHNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOwogCiAgICAgcmV0dXJuIG1fbWF5SGF2
ZVJlZ2lzdGVyZWRTZXJ2aWNlV29ya2Vycy5lbnN1cmUoc2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRpcmVjdG9yeSwgWyZdIHsKICAgICAgICAgLy8gRklYTUU6IE1ha2UgdGhpcyBjb21wdXRhdGlv
biBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvblJlZi5jcHAJKHJldmlzaW9uIDI1MDI1NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiw4ICszNiw3IEBAIFdLVHlwZUlEIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb24KIAogV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZiBXS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uQ3JlYXRlKCkKIHsKLSAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoKTsKLSAgICBj
b25maWd1cmF0aW9uLT5zZXRQZXJzaXN0ZW50KHRydWUpOworICAgIGF1dG8gY29uZmlndXJhdGlv
biA9IFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNyZWF0ZShJc1BlcnNp
c3RlbnQ6Olllcyk7CiAgICAgcmV0dXJuIHRvQVBJKCZjb25maWd1cmF0aW9uLmxlYWtSZWYoKSk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQkocmV2aXNpb24gMjUwMzQ5KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzgsNyArMzgsNyBAQAogI2ltcG9ydCAiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmgiCiAjaW1wb3J0ICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5Lmgi
CiAjaW1wb3J0ICJXZWJzaXRlRGF0YUZldGNoT3B0aW9uLmgiCi0jaW1wb3J0ICJfV0tXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oIgorI2ltcG9ydCAiX1dLV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLV2Vic2l0ZURhdGFTdG9yZURlbGVn
YXRlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVnaXN0cmF0aW9uRGF0YWJhc2UuaD4KQEAgLTI0NCw3MiArMjQ0LDggQEAgLSAoaW5zdGFuY2V0
eXBlKV9pbml0V2l0aENvbmZpZ3VyYXRpb246KAogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5p
dF0pKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgYXV0byBjb25maWcgPSBjb25maWd1cmF0
aW9uLmlzUGVyc2lzdGVudCA/IFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFT
dG9yZUNvbmZpZ3VyYXRpb24oKSA6IFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b246OmNyZWF0ZSgpOwotCi0gICAgUkVMRUFTRV9BU1NFUlQoY29uZmlnLT5pc1BlcnNpc3RlbnQo
KSA9PSBjb25maWd1cmF0aW9uLmlzUGVyc2lzdGVudCk7Ci0KLSAgICBpZiAoY29uZmlndXJhdGlv
bi5pc1BlcnNpc3RlbnQpIHsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uX3dlYlN0b3JhZ2VE
aXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWctPnNldExvY2FsU3RvcmFnZURpcmVjdG9yeShj
b25maWd1cmF0aW9uLl93ZWJTdG9yYWdlRGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAoY29u
ZmlndXJhdGlvbi5fd2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWct
PnNldFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uX3dlYlNRTERhdGFiYXNl
RGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5faW5kZXhlZERCRGF0
YWJhc2VEaXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWctPnNldEluZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5LnBhdGgp
OwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5fY29va2llU3RvcmFnZUZpbGUpCi0gICAgICAg
ICAgICBjb25maWctPnNldENvb2tpZVN0b3JhZ2VGaWxlKGNvbmZpZ3VyYXRpb24uX2Nvb2tpZVN0
b3JhZ2VGaWxlLnBhdGgpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5fcmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeSkKLSAgICAgICAgICAgIGNvbmZpZy0+c2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeShjb25maWd1cmF0aW9uLl9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5fY2FjaGVTdG9yYWdl
RGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXRDYWNoZVN0b3JhZ2VEaXJlY3Rvcnko
Y29uZmlndXJhdGlvbi5fY2FjaGVTdG9yYWdlRGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAo
Y29uZmlndXJhdGlvbi5fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSkKLSAgICAg
ICAgICAgIGNvbmZpZy0+c2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShjb25m
aWd1cmF0aW9uLl9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5LnBhdGgpOwotICAg
ICAgICBpZiAoY29uZmlndXJhdGlvbi5uZXR3b3JrQ2FjaGVEaXJlY3RvcnkpCi0gICAgICAgICAg
ICBjb25maWctPnNldE5ldHdvcmtDYWNoZURpcmVjdG9yeShjb25maWd1cmF0aW9uLm5ldHdvcmtD
YWNoZURpcmVjdG9yeS5wYXRoKTsKLSAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uZGV2aWNlSWRI
YXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29uZmlnLT5zZXREZXZpY2VJ
ZEhhc2hTYWx0c1N0b3JhZ2VEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5kZXZpY2VJZEhhc2hTYWx0
c1N0b3JhZ2VEaXJlY3RvcnkucGF0aCk7Ci0gICAgICAgIGlmIChjb25maWd1cmF0aW9uLmFwcGxp
Y2F0aW9uQ2FjaGVEaXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWctPnNldEFwcGxpY2F0aW9u
Q2FjaGVEaXJlY3RvcnkoY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LnBh
dGgpOwotICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRmxhdEZpbGVT
dWJkaXJlY3RvcnlOYW1lKQotICAgICAgICAgICAgY29uZmlnLT5zZXRBcHBsaWNhdGlvbkNhY2hl
RmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1lKGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZUZs
YXRGaWxlU3ViZGlyZWN0b3J5TmFtZSk7Ci0gICAgICAgIGlmIChjb25maWd1cmF0aW9uLm1lZGlh
Q2FjaGVEaXJlY3RvcnkpCi0gICAgICAgICAgICBjb25maWctPnNldE1lZGlhQ2FjaGVEaXJlY3Rv
cnkoY29uZmlndXJhdGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5LnBhdGgpOwotICAgICAgICBpZiAo
Y29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KQotICAgICAgICAgICAgY29u
ZmlnLT5zZXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24ubWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeS5wYXRoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FT
U0VSVCghY29uZmlndXJhdGlvbi5fd2ViU3RvcmFnZURpcmVjdG9yeSk7Ci0gICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLl93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeSk7Ci0gICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLl9pbmRleGVkREJEYXRhYmFzZURpcmVj
dG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLl9jb29raWVTdG9y
YWdlRmlsZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb25maWd1cmF0aW9uLl9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWNvbmZp
Z3VyYXRpb24uX2NhY2hlU3RvcmFnZURpcmVjdG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJU
KCFjb25maWd1cmF0aW9uLl9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KTsKLSAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoIWNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5
KTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWNvbmZpZ3VyYXRpb24uZGV2aWNlSWRIYXNoU2Fs
dHNTdG9yYWdlRGlyZWN0b3J5KTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWNvbmZpZ3VyYXRp
b24uYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFj
b25maWd1cmF0aW9uLm1lZGlhQ2FjaGVEaXJlY3RvcnkpOwotICAgICAgICBSRUxFQVNFX0FTU0VS
VCghY29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KTsKLSAgICB9Ci0KLSAg
ICBpZiAoY29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpCi0g
ICAgICAgIGNvbmZpZy0+c2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbmZp
Z3VyYXRpb24uc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTsKLSAgICBpZiAoY29u
ZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpCi0gICAgICAg
IGNvbmZpZy0+c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKGNvbmZpZ3Vy
YXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKTsKLSAgICBpZiAoY29u
ZmlndXJhdGlvbi5odHRwUHJveHkpCi0gICAgICAgIGNvbmZpZy0+c2V0SFRUUFByb3h5KGNvbmZp
Z3VyYXRpb24uaHR0cFByb3h5KTsKLSAgICBpZiAoY29uZmlndXJhdGlvbi5odHRwc1Byb3h5KQot
ICAgICAgICBjb25maWctPnNldEhUVFBTUHJveHkoY29uZmlndXJhdGlvbi5odHRwc1Byb3h5KTsK
LQotICAgIGNvbmZpZy0+c2V0QWxsb3dzQ2VsbHVsYXJBY2Nlc3MoY29uZmlndXJhdGlvbi5hbGxv
d3NDZWxsdWxhckFjY2Vzcyk7Ci0gICAgY29uZmlnLT5zZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEo
Y29uZmlndXJhdGlvbi5wZXJPcmlnaW5TdG9yYWdlUXVvdGEpOwotICAgIGNvbmZpZy0+c2V0Qm91
bmRJbnRlcmZhY2VJZGVudGlmaWVyKGNvbmZpZ3VyYXRpb24uYm91bmRJbnRlcmZhY2VJZGVudGlm
aWVyKTsKLSAgICBjb25maWctPnNldFByb3h5Q29uZmlndXJhdGlvbigoX19icmlkZ2UgQ0ZEaWN0
aW9uYXJ5UmVmKVtbY29uZmlndXJhdGlvbi5wcm94eUNvbmZpZ3VyYXRpb24gY29weV0gYXV0b3Jl
bGVhc2VdKTsKLSAgICBjb25maWctPnNldERldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFi
bGVkKGNvbmZpZ3VyYXRpb24uZGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQpOwot
ICAgIGNvbmZpZy0+c2V0QWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rp
b25zRm9yVGVzdGluZyhjb25maWd1cmF0aW9uLmFsbExvYWRzQmxvY2tlZEJ5RGV2aWNlTWFuYWdl
bWVudFJlc3RyaWN0aW9uc0ZvclRlc3RpbmcpOwotICAgIGNvbmZpZy0+c2V0RGF0YUNvbm5lY3Rp
b25TZXJ2aWNlVHlwZShjb25maWd1cmF0aW9uLmRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpOwot
CiAgICAgYXV0byBzZXNzaW9uSUQgPSBjb25maWd1cmF0aW9uLmlzUGVyc2lzdGVudCA/IFBBTDo6
U2Vzc2lvbklEOjpnZW5lcmF0ZVBlcnNpc3RlbnRTZXNzaW9uSUQoKSA6IFBBTDo6U2Vzc2lvbklE
OjpnZW5lcmF0ZUVwaGVtZXJhbFNlc3Npb25JRCgpOwotCi0gICAgQVBJOjpPYmplY3Q6OmNvbnN0
cnVjdEluV3JhcHBlcjxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU+KHNlbGYsIFdURk1vdmUoY29u
ZmlnKSwgc2Vzc2lvbklEKTsKKyAgICBBUEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVyPFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZT4oc2VsZiwgY29uZmlndXJhdGlvbi0+X2NvbmZpZ3VyYXRp
b24tPmNvcHkoKSwgc2Vzc2lvbklEKTsKIAogICAgIHJldHVybiBzZWxmOwogfQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbQkocmV2aXNpb24gMjUwMzQ5KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw3IEBAIC0gKGluc3Rh
bmNldHlwZSlpbml0CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAg
QVBJOjpPYmplY3Q6OmNvbnN0cnVjdEluV3JhcHBlcjxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uPihzZWxmKTsKLSAgICBfY29uZmlndXJhdGlvbi0+c2V0UGVyc2lzdGVudCh0
cnVlKTsKKyAgICBBUEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVyPFdlYktpdDo6V2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+KHNlbGYsIFdlYktpdDo6SXNQZXJzaXN0ZW50OjpZZXMp
OwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC01NCw4ICs1Myw3IEBAIC0gKGluc3RhbmNldHlw
ZSlpbml0Tm9uUGVyc2lzdGVudENvbmZpZ3UKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVy
biBuaWw7CiAKLSAgICBBUEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVyPFdlYktpdDo6V2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+KHNlbGYpOwotICAgIF9jb25maWd1cmF0aW9uLT5z
ZXRQZXJzaXN0ZW50KGZhbHNlKTsKKyAgICBBUEk6Ok9iamVjdDo6Y29uc3RydWN0SW5XcmFwcGVy
PFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+KHNlbGYsIFdlYktpdDo6SXNQ
ZXJzaXN0ZW50OjpObyk7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURh
dGFNYW5hZ2VyLmNwcAkocmV2aXNpb24gMjUwMjU0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzg1LDcgKzM4NSw3IEBAIFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZSYgd2Via2l0V2Vic2l0
ZUQKIHsKICAgICBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXJQcml2YXRlKiBwcml2ID0gbWFuYWdl
ci0+cHJpdjsKICAgICBpZiAoIXByaXYtPndlYnNpdGVEYXRhU3RvcmUpIHsKLSAgICAgICAgYXV0
byBjb25maWd1cmF0aW9uID0gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSgp
OworICAgICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbjo6Y3JlYXRlKElzUGVyc2lzdGVudDo6WWVzKTsKICAgICAgICAgY29uZmlndXJhdGlvbi0+
c2V0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCFwcml2LT5sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPwog
ICAgICAgICAgICAgV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdl
RGlyZWN0b3J5KCkgOiBGaWxlU3lzdGVtOjpzdHJpbmdGcm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0
aW9uKHByaXYtPmxvY2FsU3RvcmFnZURpcmVjdG9yeS5nZXQoKSkpOwogICAgICAgICBjb25maWd1
cmF0aW9uLT5zZXROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoIXByaXYtPmRpc2tDYWNoZURpcmVjdG9y
eSA/CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAkocmV2aXNpb24gMjUwMjU0KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg5LDcgKzg5LDcgQEAgc3RhdGljIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIFdl
YnNpdGVEYQogCiBSZWY8V2Vic2l0ZURhdGFTdG9yZT4gV2Vic2l0ZURhdGFTdG9yZTo6Y3JlYXRl
Tm9uUGVyc2lzdGVudCgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vic2l0ZURhdGFT
dG9yZShQQUw6OlNlc3Npb25JRDo6Z2VuZXJhdGVFcGhlbWVyYWxTZXNzaW9uSUQoKSkpOworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb246OmNyZWF0ZShJc1BlcnNpc3RlbnQ6Ok5vKSwgUEFMOjpTZXNzaW9uSUQ6Omdl
bmVyYXRlRXBoZW1lcmFsU2Vzc2lvbklEKCkpKTsKIH0KIAogUmVmPFdlYnNpdGVEYXRhU3RvcmU+
IFdlYnNpdGVEYXRhU3RvcmU6OmNyZWF0ZShSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24+JiYgY29uZmlndXJhdGlvbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQpAQCAtMTE4LDI2
ICsxMTgsNiBAQCBXZWJzaXRlRGF0YVN0b3JlOjpXZWJzaXRlRGF0YVN0b3JlKFJlZjxXCiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIH0KIAotV2Vic2l0ZURhdGFTdG9yZTo6V2Vic2l0
ZURhdGFTdG9yZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCi0gICAgOiBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCi0gICAgLCBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbjo6Y3JlYXRlKCkpCi0gICAgLCBtX2NvbmZpZ3VyYXRpb24obV9yZXNvbHZl
ZENvbmZpZ3VyYXRpb24tPmNvcHkoKSkKLSAgICAsIG1fZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2Uo
RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2U6OmNyZWF0ZShpc1BlcnNpc3RlbnQoKSA/IG1fY29uZmln
dXJhdGlvbi0+ZGV2aWNlSWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkgOiBTdHJpbmcoKSkp
Ci0gICAgLCBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LldlYnNp
dGVEYXRhU3RvcmUiKSkKLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgICwgbV9hdXRoZW50aWNh
dG9yTWFuYWdlcihtYWtlVW5pcXVlUmVmPEF1dGhlbnRpY2F0b3JNYW5hZ2VyPigpKQotI2VuZGlm
Ci0gICAgLCBtX2NsaWVudChtYWtlVW5pcXVlUmVmPFdlYnNpdGVEYXRhU3RvcmVDbGllbnQ+KCkp
Ci0jaWYgSEFWRShBUFBfU1NPKQotICAgICwgbV9zb0F1dGhvcml6YXRpb25Db29yZGluYXRvciht
YWtlVW5pcXVlUmVmPFNPQXV0aG9yaXphdGlvbkNvb3JkaW5hdG9yPigpKQotI2VuZGlmCi17Ci0g
ICAgbWF5YmVSZWdpc3RlcldpdGhTZXNzaW9uSURNYXAoKTsKLSAgICBwbGF0Zm9ybUluaXRpYWxp
emUoKTsKLQotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci19Ci0KIFdlYnNpdGVEYXRh
U3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOwpAQCAtMTY2LDcgKzE0Niw3IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiBXZWJzaXRlRGF0
YVN0b3JlOjoKIAogICAgIGF1dG8mIHN0b3JlID0gZ2xvYmFsRGVmYXVsdERhdGFTdG9yZSgpOwog
ICAgIGlmICghc3RvcmUpCi0gICAgICAgIHN0b3JlID0gYWRvcHRSZWYobmV3IFdlYnNpdGVEYXRh
U3RvcmUoZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKSwgUEFMOjpTZXNzaW9uSUQ6OmRl
ZmF1bHRTZXNzaW9uSUQoKSkpOworICAgICAgICBzdG9yZSA9IGFkb3B0UmVmKG5ldyBXZWJzaXRl
RGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoSXNQZXJzaXN0
ZW50OjpZZXMpLCBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKSk7CiAKICAgICBy
ZXR1cm4gKnN0b3JlOwogfQpAQCAtMTgxLDMwICsxNjEsNiBAQCBib29sIFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHREYXRhU3RvcmVFCiAgICAgcmV0dXJuICEhZ2xvYmFsRGVmYXVsdERhdGFTdG9y
ZSgpOwogfQogCi1SZWY8V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vi
c2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKQotewotICAgIGF1
dG8gY29uZmlndXJhdGlvbiA9IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUo
KTsKLQotICAgIGNvbmZpZ3VyYXRpb24tPnNldFBlcnNpc3RlbnQodHJ1ZSk7Ci0KLSAgICBjb25m
aWd1cmF0aW9uLT5zZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KGRlZmF1bHRBcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KCkpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldENhY2hlU3RvcmFnZURp
cmVjdG9yeShkZWZhdWx0Q2FjaGVTdG9yYWdlRGlyZWN0b3J5KCkpOwotICAgIGNvbmZpZ3VyYXRp
b24tPnNldE5ldHdvcmtDYWNoZURpcmVjdG9yeShkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5
KCkpOwotICAgIGNvbmZpZ3VyYXRpb24tPnNldE1lZGlhQ2FjaGVEaXJlY3RvcnkoZGVmYXVsdE1l
ZGlhQ2FjaGVEaXJlY3RvcnkoKSk7Ci0KLSAgICBjb25maWd1cmF0aW9uLT5zZXRJbmRleGVkREJE
YXRhYmFzZURpcmVjdG9yeShkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKSk7Ci0g
ICAgY29uZmlndXJhdGlvbi0+c2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShk
ZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpKTsKLSAgICBjb25maWd1
cmF0aW9uLT5zZXRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeShkZWZhdWx0V2ViU1FMRGF0YWJhc2VE
aXJlY3RvcnkoKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0TG9jYWxTdG9yYWdlRGlyZWN0b3J5
KGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSk7Ci0gICAgY29uZmlndXJhdGlvbi0+c2V0
TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eSgpKTsKLSAgICBjb25maWd1cmF0aW9uLT5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0
b3J5KGRlZmF1bHRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCkpOwotICAgIGNvbmZp
Z3VyYXRpb24tPnNldERldmljZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShkZWZhdWx0RGV2
aWNlSWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkpOwotCi0gICAgY29uZmlndXJhdGlvbi0+
c2V0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoZGVmYXVsdEphdmFTY3JpcHRDb25m
aWd1cmF0aW9uRGlyZWN0b3J5KCkpOwotCi0gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci19Ci0K
IHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6bWF5YmVSZWdpc3RlcldpdGhTZXNzaW9uSURNYXAoKQog
ewogICAgIGlmIChtX3Nlc3Npb25JRCAhPSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25J
RCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCShyZXZpc2lvbiAyNTAyNTQpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk3LDEyICs5NywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJzaXRlRGF0
YVN0b3JlPiBkZWZhdWx0RGF0YVN0b3JlKCk7CiAgICAgc3RhdGljIGJvb2wgZGVmYXVsdERhdGFT
dG9yZUV4aXN0cygpOwogICAgIHN0YXRpYyB2b2lkIGRlbGV0ZURlZmF1bHREYXRhU3RvcmVGb3JU
ZXN0aW5nKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4g
ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKTsKICAgICAKICAgICBzdGF0aWMgUmVmPFdl
YnNpdGVEYXRhU3RvcmU+IGNyZWF0ZU5vblBlcnNpc3RlbnQoKTsKICAgICBzdGF0aWMgUmVmPFdl
YnNpdGVEYXRhU3RvcmU+IGNyZWF0ZShSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+
JiYsIFBBTDo6U2Vzc2lvbklEKTsKIAotICAgIFdlYnNpdGVEYXRhU3RvcmUoUEFMOjpTZXNzaW9u
SUQpOwogICAgIFdlYnNpdGVEYXRhU3RvcmUoUmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uPiYmLCBQQUw6OlNlc3Npb25JRCk7CiAgICAgfldlYnNpdGVEYXRhU3RvcmUoKTsKIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjUw
MzQ5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMjggQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbigpID0gZGVmYXVsdDsKK1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uOjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihJc1BlcnNpc3Rl
bnQgaXNQZXJzaXN0ZW50KQorICAgIDogbV9pc1BlcnNpc3RlbnQoaXNQZXJzaXN0ZW50KQorewor
ICAgIGlmIChpc1BlcnNpc3RlbnQgPT0gSXNQZXJzaXN0ZW50OjpZZXMpIHsKKyAgICAgICAgc2V0
QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0QXBwbGlj
YXRpb25DYWNoZURpcmVjdG9yeSgpKTsKKyAgICAgICAgc2V0Q2FjaGVTdG9yYWdlRGlyZWN0b3J5
KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRDYWNoZVN0b3JhZ2VEaXJlY3RvcnkoKSk7CisgICAg
ICAgIHNldE5ldHdvcmtDYWNoZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0
d29ya0NhY2hlRGlyZWN0b3J5KCkpOworICAgICAgICBzZXRNZWRpYUNhY2hlRGlyZWN0b3J5KFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCkpOworICAgICAgICBz
ZXRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SW5k
ZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKSk7CisgICAgICAgIHNldFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EaXJlY3RvcnkoKSk7CisgICAgICAgIHNldFdlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKTsK
KyAgICAgICAgc2V0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1
bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSk7CisgICAgICAgIHNldE1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkoKSk7CisgICAgICAgIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoV2Vic2l0
ZURhdGFTdG9yZTo6ZGVmYXVsdFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSk7Cisg
ICAgICAgIHNldERldmljZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0
b3JlOjpkZWZhdWx0RGV2aWNlSWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkpOworICAgICAg
ICBzZXRKYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpk
ZWZhdWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKSk7CisgICAgfQorfQogCiBS
ZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24+IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uOjpjb3B5KCkKIHsKLSAgICBhdXRvIGNvcHkgPSBXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbjo6Y3JlYXRlKCk7Ci0KLSAgICBjb3B5LT5tX2lzUGVyc2lzdGVudCA9IHRoaXMtPm1f
aXNQZXJzaXN0ZW50OworICAgIGF1dG8gY29weSA9IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uOjpjcmVhdGUobV9pc1BlcnNpc3RlbnQpOwogCiAgICAgY29weS0+bV9jYWNoZVN0b3JhZ2VE
aXJlY3RvcnkgPSB0aGlzLT5tX2NhY2hlU3RvcmFnZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX3Bl
ck9yaWdpblN0b3JhZ2VRdW90YSA9IHRoaXMtPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyNTAzNDkp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxNSArMzIsMTYgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK2VudW0gY2xhc3MgSXNQZXJzaXN0ZW50IDogYm9vbCB7IE5vLCBZ
ZXMgfTsKKwogY2xhc3MgV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gOiBwdWJsaWMgQVBJ
OjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbj4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24pOyB9Ci0gICAgV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKTsKKyAg
ICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiBjcmVhdGUoSXNQZXJz
aXN0ZW50IGlzUGVyc2lzdGVudCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbihpc1BlcnNpc3RlbnQpKTsgfQorICAgIFdlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uKElzUGVyc2lzdGVudCk7CiAKICAgICBSZWY8V2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24+IGNvcHkoKTsKIAotICAgIGJvb2wgaXNQZXJzaXN0ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BlcnNpc3RlbnQ7IH0KLSAgICB2b2lkIHNldFBlcnNpc3RlbnQoYm9vbCBpc1Bl
cnNpc3RlbnQpIHsgbV9pc1BlcnNpc3RlbnQgPSBpc1BlcnNpc3RlbnQ7IH0KKyAgICBib29sIGlz
UGVyc2lzdGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQZXJzaXN0ZW50ID09IElzUGVyc2lzdGVu
dDo6WWVzOyB9CiAKICAgICB1aW50NjRfdCBwZXJPcmlnaW5TdG9yYWdlUXVvdGEoKSBjb25zdCB7
IHJldHVybiBtX3Blck9yaWdpblN0b3JhZ2VRdW90YTsgfQogICAgIHZvaWQgc2V0UGVyT3JpZ2lu
U3RvcmFnZVF1b3RhKHVpbnQ2NF90IHF1b3RhKSB7IG1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhID0g
cXVvdGE7IH0KQEAgLTEyMyw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREYXRhQ29u
bmVjdGlvblNlcnZpY2VUeXBlKFN0cmluZyYmIHR5cGUpIHsgbV9kYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gV1RGTW92ZSh0eXBlKTsgfQogICAgIAogcHJpdmF0ZToKLSAgICBib29sIG1faXNQ
ZXJzaXN0ZW50IHsgZmFsc2UgfTsKKyAgICBJc1BlcnNpc3RlbnQgbV9pc1BlcnNpc3RlbnQgeyBJ
c1BlcnNpc3RlbnQ6Ok5vIH07CiAKICAgICBTdHJpbmcgbV9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnk7
CiAgICAgdWludDY0X3QgbV9wZXJPcmlnaW5TdG9yYWdlUXVvdGEgeyBXZWJDb3JlOjpTdG9yYWdl
UXVvdGFNYW5hZ2VyOjpkZWZhdWx0UXVvdGEoKSB9OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMzQ5KQorKysgVG9vbHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDktMjUgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1v
dmUgZHVwbGljYXRlIFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGNvcHlpbmcgY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjE1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tOgorICAg
ICAgICAoVEVTVCk6CisKIDIwMTktMDktMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lQYWRPU10gW0RhdGFBY3RpdmF0aW9uXSBGb2N1cyBtb3Zl
cyBhd2F5IGFmdGVyIGZvY3VzaW5nIGlucHV0IGZpZWxkcyBvbiB3d3cuYXR0LmNvbQpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3Vz
dG9tUGF0aHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMubW0JKHJldmlzaW9uIDI1MDI1NCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZURhdGFTdG9y
ZUN1c3RvbVBhdGhzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MjMsNiArNTIzLDEyIEBAIFRFU1Qo
V2ViS2l0LCBBcHBsaWNhdGlvbklkZW50aWZpZXJzKQogICAgIEVYUEVDVF9UUlVFKFtbd2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
XSBpc0VxdWFsVG9TdHJpbmc6QCJ0ZXN0aWRlbnRpZmllciJdKTsKIH0KIAorVEVTVChXZWJLaXQs
IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uUGF0aE51bGwpCit7CisgICAgRVhQRUNUX1RS
VUUoW1tbW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSBhdXRv
cmVsZWFzZV0gX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5XSk7CisgICAgRVhQRUNUX0ZBTFNF
KFtbW1tfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdE5vblBlcnNp
c3RlbnRDb25maWd1cmF0aW9uXSBhdXRvcmVsZWFzZV0gX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5XSk7Cit9CisKIFRFU1QoV2ViS2l0LCBOZXR3b3JrQ2FjaGVEaXJlY3RvcnkpCiB7CiAgICAg
dXNpbmcgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>