<?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>239372</bug_id>
          
          <creation_ts>2022-04-14 20:15:02 -0700</creation_ts>
          <short_desc>Use the ProcessTerminationReason enum for all the process types</short_desc>
          <delta_ts>2022-04-15 11:53:10 -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>WebKit Process Model</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1861706</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-14 20:15:02 -0700</bug_when>
    <thetext>Use the ProcessTerminationReason enum for all the process types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861708</commentid>
    <comment_count>1</comment_count>
      <attachid>457670</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-14 20:16:48 -0700</bug_when>
    <thetext>Created attachment 457670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861710</commentid>
    <comment_count>2</comment_count>
      <attachid>457670</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-14 20:23:57 -0700</bug_when>
    <thetext>Comment on attachment 457670
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=457670&amp;action=review

&gt; Source/WebKit/Shared/ProcessTerminationReason.cpp:55
&gt; +

ASSERT_NOT_REACHED() ?

&gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:429
&gt; +        RELEASE_LOG_ERROR(Process, &quot;%p - GPUProcessProxy::gpuProcessExited: reason=%s&quot;, this, processTerminationReasonToString(reason));

Needs to be %{public}s or we won&apos;t see the reason on production builds.

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:476
&gt; +    WEBPROCESSPOOL_RELEASE_LOG(Process, &quot;gpuProcessDidExit: PID=%d, reason=%s&quot;, identifier, processTerminationReasonToString(reason));

Needs to be %{public}s or we won&apos;t see the reason on production builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861839</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-15 10:24:01 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/292912/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861840</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-15 10:24:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/91814862&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861864</commentid>
    <comment_count>5</comment_count>
      <attachid>457670</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-04-15 11:53:10 -0700</bug_when>
    <thetext>Comment on attachment 457670
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=457670&amp;action=review

&gt; Source/WebKit/Shared/ProcessTerminationReason.cpp:56
&gt; +    return &quot;&quot;;

&quot;Invalid&quot;?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457670</attachid>
            <date>2022-04-14 20:16:48 -0700</date>
            <delta_ts>2022-04-14 20:23:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239372-20220414201647.patch</filename>
            <type>text/plain</type>
            <size>27820</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM3M2VhNzFiZjRkNTkxODgz
OWIzMTFhZjlkYjJmN2UwMjkwZTc1NDQuLmRkMjZmMjA0NDI0YWFhZDdiM2M0MTAzNjNkNjM4MzBm
ODc4ODFjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjItMDQtMTQgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHRoZSBQcm9jZXNz
VGVybWluYXRpb25SZWFzb24gZW51bSBmb3IgYWxsIHRoZSBwcm9jZXNzIHR5cGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkzNzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJQcm9jZXNzLCBOZXR3
b3JrUHJvY2VzcyBhbmQgR1BVUHJvY2VzcyBhbGwgaGFkIHRoZWlyIG93biAidGVybWluYXRpb24g
cmVhc29ucyIgZW51bXMuCisgICAgICAgIFVzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb24gZm9y
IGFsbCBvZiB0aGVtIChub3RpbmcgdmFsdWVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgd2ViIHBy
b2Nlc3MpLgorICAgICAgICBBbHNvIHByb3ZpZGUgYSBoZWxwZXIgZnVuY3Rpb24gdG8gdHVybiB0
aGUgcmVhc29ucyBpbnRvIGEgc3RyaW5nLgorCisgICAgICAgICogU2hhcmVkL1Byb2Nlc3NUZXJt
aW5hdGlvblJlYXNvbi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nl
c3NUZXJtaW5hdGlvblJlYXNvbi5oLgorICAgICAgICAoV2ViS2l0Ojpwcm9jZXNzVGVybWluYXRp
b25SZWFzb25Ub1N0cmluZyk6CisgICAgICAgICogU2hhcmVkL1Byb2Nlc3NUZXJtaW5hdGlvblJl
YXNvbi5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS0FQSUNhc3QuaDoKKyAgICAgICAgKFdlYktpdDo6dG9BUEkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJLaXQ6OndrUHJvY2Vz
c1Rlcm1pbmF0aW9uUmVhc29uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4
aXRlZCk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cHJvY2Vzc0lzUmVhZHlU
b0V4aXQpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmRpZENsb3NlKToKKyAg
ICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcpOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmRpZEJlY29tZVVucmVzcG9uc2l2ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NQcm94eTo6dGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5hdGUpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEV4Y2VlZE1lbW9yeUxpbWl0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnNob3VsZFJlbG9hZEFmdGVy
UHJvY2Vzc1Rlcm1pbmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpncHVQ
cm9jZXNzRXhpdGVkKToKKyAgICAgICAgKFdlYktpdDo6cHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
VG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5hdGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0V4aXRlZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4
aXRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAq
IFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIyLTA0LTEzICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtjc3Mtc2Nyb2xsLXNu
YXBdIHNjcm9sbEludG9WaWV3IGZhaWxzIHdpdGggc2Nyb2xsLXNuYXAtdHlwZSBvbiA6cm9vdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjgxNjFkZWU0Zjc2NTc2YzFhNjE1YTZjNThhNGRhZjk1ZjZjMDNkNAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nlc3NUZXJtaW5hdGlvblJl
YXNvbi5jcHAKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NvbnN0IGNoYXIqIHByb2Nlc3NUZXJtaW5hdGlvblJlYXNvblRvU3RyaW5nKFBy
b2Nlc3NUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCit7CisgICAgc3dpdGNoIChyZWFzb24pIHsK
KyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRNZW1vcnlMaW1pdDoK
KyAgICAgICAgcmV0dXJuICJFeGNlZWRlZE1lbW9yeUxpbWl0IjsKKyAgICBjYXNlIFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRDUFVMaW1pdDoKKyAgICAgICAgcmV0dXJuICJFeGNl
ZWRlZENQVUxpbWl0IjsKKyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVz
dGVkQnlDbGllbnQ6CisgICAgICAgIHJldHVybiAiUmVxdWVzdGVkQnlDbGllbnQiOworICAgIGNh
c2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpJZGxlRXhpdDoKKyAgICAgICAgcmV0dXJuICJJ
ZGxlRXhpdCI7CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OlVucmVzcG9uc2l2
ZToKKyAgICAgICAgcmV0dXJuICJVbnJlc3BvbnNpdmUiOworICAgIGNhc2UgUHJvY2Vzc1Rlcm1p
bmF0aW9uUmVhc29uOjpDcmFzaDoKKyAgICAgICAgcmV0dXJuICJDcmFzaCI7CisgICAgY2FzZSBQ
cm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkUHJvY2Vzc0NvdW50TGltaXQ6CisgICAg
ICAgIHJldHVybiAiRXhjZWVkZWRQcm9jZXNzQ291bnRMaW1pdCI7CisgICAgY2FzZSBQcm9jZXNz
VGVybWluYXRpb25SZWFzb246Ok5hdmlnYXRpb25Td2FwOgorICAgICAgICByZXR1cm4gIk5hdmln
YXRpb25Td2FwIjsKKyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVzdGVk
QnlOZXR3b3JrUHJvY2VzczoKKyAgICAgICAgcmV0dXJuICJSZXF1ZXN0ZWRCeU5ldHdvcmtQcm9j
ZXNzIjsKKyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVzdGVkQnlHUFVQ
cm9jZXNzOgorICAgICAgICByZXR1cm4gIlJlcXVlc3RlZEJ5R1BVUHJvY2VzcyI7CisgICAgfQor
CisgICAgcmV0dXJuICIiOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Qcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nl
c3NUZXJtaW5hdGlvblJlYXNvbi5oCmluZGV4IGVkMjg3Njk4MzI0OTJlYTk2NjA1ODkyMDhlM2Uw
MmFmZWRkZjQzODIuLmNjZGVjYWVkNzBjMTVmNzlmOTI4NDEwOWY4MGJjMDAwOWY2MTJjYzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oCkBA
IC0zMCwxOCArMzAsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBlbnVtIGNsYXNzIFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbiB7CiAgICAgRXhjZWVkZWRNZW1vcnlMaW1pdCwKICAgICBFeGNlZWRl
ZENQVUxpbWl0LAotICAgIEV4Y2VlZGVkUHJvY2Vzc0NvdW50TGltaXQsCiAgICAgUmVxdWVzdGVk
QnlDbGllbnQsCisgICAgSWRsZUV4aXQsCisgICAgVW5yZXNwb25zaXZlLAogICAgIENyYXNoLAor
ICAgIC8vIFRob3NlIGJlbG93IG9ubHkgcmVsZXZhbnQgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MuCisgICAgRXhjZWVkZWRQcm9jZXNzQ291bnRMaW1pdCwKICAgICBOYXZpZ2F0aW9uU3dhcCwK
ICAgICBSZXF1ZXN0ZWRCeU5ldHdvcmtQcm9jZXNzLAogICAgIFJlcXVlc3RlZEJ5R1BVUHJvY2Vz
cwogfTsKIAotZW51bSBjbGFzcyBHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb24gewotICAgIENy
YXNoLAotICAgIElkbGVFeGl0LAotICAgIFVucmVzcG9uc2l2ZQotfTsKK2NvbnN0IGNoYXIqIHBy
b2Nlc3NUZXJtaW5hdGlvblJlYXNvblRvU3RyaW5nKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbik7
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0CmluZGV4IDNkZGIwNjMxZTEwMjE5MWM3NzUzOTBiNTIzN2Q3OGJjMGQw
MjMyMmUuLjUzYmI4MThmMGEyNWI3MmM2OTM5YjcyNTJlOTM2MjQ3NTM1NDY5ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dApAQCAtMjM1LDYgKzIzNSw3IEBAIFNoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAK
IFNoYXJlZC9QZXJzaXN0ZW5jeVV0aWxzLmNwcAogU2hhcmVkL1BsYXRmb3JtUG9wdXBNZW51RGF0
YS5jcHAKIFNoYXJlZC9QcmludEluZm8uY3BwCitTaGFyZWQvUHJvY2Vzc1Rlcm1pbmF0aW9uUmVh
c29uLmNwcAogU2hhcmVkL1JUQ05ldHdvcmsuY3BwCiBTaGFyZWQvUlRDUGFja2V0T3B0aW9ucy5j
cHAKIFNoYXJlZC9SZW1vdGVXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4IDhiOWI2MGEwMDJjNTBjYWVhMmMx
ZDQwNzdjYmViNjJkOTZmOTE4YjEuLmNlMmYwMDY3MGU2YTUwNTY4YWJkNzQyYTNmZGJiNjY2NzI3
MzRjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC0y
MzgsNiArMjM4LDcgQEAgaW5saW5lIFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHRvQVBJKFBy
b2Nlc3NUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCiAgICAgICAgIHJldHVybiBrV0tQcm9jZXNz
VGVybWluYXRpb25SZWFzb25FeGNlZWRlZE1lbW9yeUxpbWl0OwogICAgIGNhc2UgUHJvY2Vzc1Rl
cm1pbmF0aW9uUmVhc29uOjpFeGNlZWRlZENQVUxpbWl0OgogICAgICAgICByZXR1cm4ga1dLUHJv
Y2Vzc1Rlcm1pbmF0aW9uUmVhc29uRXhjZWVkZWRDUFVMaW1pdDsKKyAgICBjYXNlIFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbjo6SWRsZUV4aXQ6CiAgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246Ok5hdmlnYXRpb25Td2FwOgogICAgICAgICAvLyBXZSBwcm9iYWJseSBzaG91bGRuJ3Qg
Ym90aGVyIGNvbWluZyB1cCB3aXRoIGEgbmV3IEMtQVBJIHR5cGUgZm9yIHByb2Nlc3Mtc3dhcHBp
bmcuCiAgICAgICAgIC8vICJSZXF1ZXN0ZWQgYnkgY2xpZW50IiBzZWVtcyBsaWtlIHRoZSBiZXN0
IG1hdGNoIGZvciBleGlzdGluZyB0eXBlcy4KQEAgLTI0NSw2ICsyNDYsNyBAQCBpbmxpbmUgV0tQ
cm9jZXNzVGVybWluYXRpb25SZWFzb24gdG9BUEkoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHJl
YXNvbikKICAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVzdGVkQnlDbGll
bnQ6CiAgICAgICAgIHJldHVybiBrV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb25SZXF1ZXN0ZWRC
eUNsaWVudDsKICAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRQcm9j
ZXNzQ291bnRMaW1pdDoKKyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6VW5yZXNw
b25zaXZlOgogICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0ZWRCeU5l
dHdvcmtQcm9jZXNzOgogICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0
ZWRCeUdQVVByb2Nlc3M6CiAgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkNyYXNo
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0
YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1t
CmluZGV4IDcyNDNlYWJmMTZhY2NmMjllY2E0YmJiNTRkZjRhMTVlODU5YjZiNzcuLjViNDEwNDBi
OTc1YmVmYmExMjBjNjg2MzA5NTk0NWRkMmZjZTAzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTEwNTcsMTIgKzEwNTcsMTQg
QEAgc3RhdGljIF9XS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiB3a1Byb2Nlc3NUZXJtaW5hdGlv
blJlYXNvbihQcm9jZXNzVGVybWluYXRpb24KICAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJl
YXNvbjo6RXhjZWVkZWRDUFVMaW1pdDoKICAgICAgICAgcmV0dXJuIF9XS1Byb2Nlc3NUZXJtaW5h
dGlvblJlYXNvbkV4Y2VlZGVkQ1BVTGltaXQ7CiAgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246Ok5hdmlnYXRpb25Td2FwOgorICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
OjpJZGxlRXhpdDoKICAgICAgICAgLy8gV2UgcHJvYmFibHkgc2hvdWxkbid0IGJvdGhlciBjb21p
bmcgdXAgd2l0aCBhIG5ldyBBUEkgdHlwZSBmb3IgcHJvY2Vzcy1zd2FwcGluZy4KICAgICAgICAg
Ly8gIlJlcXVlc3RlZCBieSBjbGllbnQiIHNlZW1zIGxpa2UgdGhlIGJlc3QgbWF0Y2ggZm9yIGV4
aXN0aW5nIHR5cGVzLgogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIFByb2Nlc3NUZXJt
aW5hdGlvblJlYXNvbjo6UmVxdWVzdGVkQnlDbGllbnQ6CiAgICAgICAgIHJldHVybiBfV0tQcm9j
ZXNzVGVybWluYXRpb25SZWFzb25SZXF1ZXN0ZWRCeUNsaWVudDsKICAgICBjYXNlIFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbjo6RXhjZWVkZWRQcm9jZXNzQ291bnRMaW1pdDoKKyAgICBjYXNlIFBy
b2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6VW5yZXNwb25zaXZlOgogICAgIGNhc2UgUHJvY2Vzc1Rl
cm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0ZWRCeU5ldHdvcmtQcm9jZXNzOgogICAgIGNhc2UgUHJv
Y2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0ZWRCeUdQVVByb2Nlc3M6CiAgICAgY2FzZSBQ
cm9jZXNzVGVybWluYXRpb25SZWFzb246OkNyYXNoOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA4M2FmMWU1NWRkZjc0ODgyMzlmODY5
MTkyNzcyMGFiNmE4NjMxOTdkLi40MmI1MzJiZGVmZjZjOTA4NDA4MDZmMzJmNjlkYWY1OGY0OWNm
NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcApAQCAtNDE1LDE5ICs0MTUsMjQgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVBy
b2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LAogICAgIH0s
IDAsIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3lu
Y1JlcGx5KTsKIH0KIAotdm9pZCBHUFVQcm9jZXNzUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQoR1BV
UHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHJlYXNvbikKK3ZvaWQgR1BVUHJvY2Vzc1Byb3h5Ojpn
cHVQcm9jZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCiB7CiAgICAg
UmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCiAgICAgc3dpdGNoIChyZWFzb24pIHsKLSAg
ICBjYXNlIEdQVVByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2g6Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFByb2Nlc3MsICIlcCAtIEdQVVByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0V4
aXRlZDogcmVhc29uPWNyYXNoIiwgdGhpcyk7CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246OkV4Y2VlZGVkTWVtb3J5TGltaXQ6CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246OkV4Y2VlZGVkQ1BVTGltaXQ6CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFz
b246OlJlcXVlc3RlZEJ5Q2xpZW50OgorICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
OjpJZGxlRXhpdDoKKyAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6VW5yZXNwb25z
aXZlOgorICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpDcmFzaDoKKyAgICAgICAg
UkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIiVwIC0gR1BVUHJvY2Vzc1Byb3h5OjpncHVQcm9j
ZXNzRXhpdGVkOiByZWFzb249JXMiLCB0aGlzLCBwcm9jZXNzVGVybWluYXRpb25SZWFzb25Ub1N0
cmluZyhyZWFzb24pKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHUFVQcm9jZXNzVGVybWlu
YXRpb25SZWFzb246OklkbGVFeGl0OgotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiJXAg
LSBHUFVQcm9jZXNzUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQ6IHJlYXNvbj1pZGxlLWV4aXQiLCB0
aGlzKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHUFVQcm9jZXNzVGVybWluYXRpb25SZWFz
b246OlVucmVzcG9uc2l2ZToKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gR1BV
UHJvY2Vzc1Byb3h5OjpncHVQcm9jZXNzRXhpdGVkOiByZWFzb249dW5yZXNwb25zaXZlIiwgdGhp
cyk7CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkUHJvY2Vzc0Nv
dW50TGltaXQ6CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246Ok5hdmlnYXRpb25T
d2FwOgorICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0ZWRCeU5ldHdv
cmtQcm9jZXNzOgorICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpSZXF1ZXN0ZWRC
eUdQVVByb2Nlc3M6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVh
azsKICAgICB9CiAKQEAgLTQ0Miw3ICs0NDcsNyBAQCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6cHJv
Y2Vzc0lzUmVhZHlUb0V4aXQoKQogewogICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICIlcCAtIEdQ
VVByb2Nlc3NQcm94eTo6cHJvY2Vzc0lzUmVhZHlUb0V4aXQ6IiwgdGhpcyk7CiAgICAgdGVybWlu
YXRlKCk7Ci0gICAgZ3B1UHJvY2Vzc0V4aXRlZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb246
OklkbGVFeGl0KTsgLy8gTWF5IGNhdXNlIHx0aGlzfCB0byBnZXQgZGVsZXRlZC4KKyAgICBncHVQ
cm9jZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6SWRsZUV4aXQpOyAvLyBNYXkg
Y2F1c2UgfHRoaXN8IHRvIGdldCBkZWxldGVkLgogfQogCiB2b2lkIEdQVVByb2Nlc3NQcm94eTo6
dGVybWluYXRlRm9yVGVzdGluZygpCkBAIC00NTgsNyArNDYzLDcgQEAgdm9pZCBHUFVQcm9jZXNz
UHJveHk6OndlYlByb2Nlc3NDb25uZWN0aW9uQ291bnRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rpb24m
KQogewogICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICIlcCAtIEdQVVByb2Nlc3NQcm94
eTo6ZGlkQ2xvc2U6IiwgdGhpcyk7Ci0gICAgZ3B1UHJvY2Vzc0V4aXRlZChHUFVQcm9jZXNzVGVy
bWluYXRpb25SZWFzb246OkNyYXNoKTsgLy8gTWF5IGNhdXNlIHx0aGlzfCB0byBnZXQgZGVsZXRl
ZC4KKyAgICBncHVQcm9jZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2gp
OyAvLyBNYXkgY2F1c2UgfHRoaXN8IHRvIGdldCBkZWxldGVkLgogfQogCiB2b2lkIEdQVVByb2Nl
c3NQcm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDOjpNZXNzYWdlTmFtZSBtZXNzYWdlTmFtZSkKQEAgLTQ4MCw3ICs0ODUsNyBAQCB2
b2lkIEdQVVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NMYXVuY2hlciog
bGF1bmNoZXIsIElQQzo6Q29ubmVjdAogICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmlu
aXNoTGF1bmNoaW5nKGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CiAKICAgICBpZiAo
IUlQQzo6Q29ubmVjdGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbklkZW50aWZpZXIp
KSB7Ci0gICAgICAgIGdwdVByb2Nlc3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
OjpDcmFzaCk7CisgICAgICAgIGdwdVByb2Nlc3NFeGl0ZWQoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVh
c29uOjpDcmFzaCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC03MDcsNyArNzEy
LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmRpZEJlY29tZVVucmVzcG9uc2l2ZSgpCiB7CiAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkdQVVByb2Nlc3NQcm94eTo6ZGlkQmVjb21l
VW5yZXNwb25zaXZlOiBHUFVQcm9jZXNzIHdpdGggUElEICVkIGJlY2FtZSB1bnJlc3BvbnNpdmUs
IHRlcm1pbmF0aW5nIGl0IiwgcHJvY2Vzc0lkZW50aWZpZXIoKSk7CiAgICAgdGVybWluYXRlKCk7
Ci0gICAgZ3B1UHJvY2Vzc0V4aXRlZChHUFVQcm9jZXNzVGVybWluYXRpb25SZWFzb246OlVucmVz
cG9uc2l2ZSk7CisgICAgZ3B1UHJvY2Vzc0V4aXRlZChQcm9jZXNzVGVybWluYXRpb25SZWFzb246
OlVucmVzcG9uc2l2ZSk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKaW5kZXggMmI0Nzg4N2I4NDFlMThi
MGExNmEzMDU3NGRmMDFiMTlkYjYxYzVjYS4uMGIwZjMwZjBjZjgxYjgxY2RhZmNkY2YxM2MxMGY3
MDg3MThiZTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuaApAQCAtMTIyLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25uZWN0aW9u
V2lsbE9wZW4oSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcm9jZXNzV2ls
bFNodXREb3duKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBncHVQcm9j
ZXNzRXhpdGVkKEdQVVByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbik7CisgICAgdm9pZCBncHVQcm9j
ZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbik7CiAKICAgICAvLyBQcm9jZXNzVGhy
b3R0bGVyQ2xpZW50CiAgICAgQVNDSUlMaXRlcmFsIGNsaWVudE5hbWUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiAiR1BVUHJvY2VzcyJfczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggODFmNjRiOGIwNzdh
Y2ZiNGJmNDM0MzNkZGQ2ZWEwYmRjNTAxMTg5OS4uZTJhYzkwYzNhNDZiZTdkNjk3MTAwYTU3YWIz
ZTI5OTZiNjc1NWJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5Ojp0ZXJtaW5hdGUoKQogICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94
eTo6dGVybWluYXRlKCk7CiAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSB0aGlzLT5jb25uZWN0
aW9uKCkpCiAgICAgICAgIGNvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKLSAgICBuZXR3b3JrUHJv
Y2Vzc0RpZFRlcm1pbmF0ZShUZXJtaW5hdGlvblJlYXNvbjo6UmVxdWVzdGVkQnlDbGllbnQpOwor
ICAgIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6
UmVxdWVzdGVkQnlDbGllbnQpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEJl
Y29tZVVucmVzcG9uc2l2ZSgpCkBAIC00MTIsNyArNDEyLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5Ojp3ZWJzaXRlRGF0YU9yaWdpbkRpcmVjdG9yeUZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQgc2UKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpX
ZWJzaXRlRGF0YU9yaWdpbkRpcmVjdG9yeUZvclRlc3Rpbmcoc2Vzc2lvbklELCBXVEZNb3ZlKG9y
aWdpbiksIFdURk1vdmUodG9wT3JpZ2luKSwgdHlwZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpuZXR3b3JrUHJvY2Vzc0RpZFRl
cm1pbmF0ZShUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJv
eHk6Om5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiBy
ZWFzb24pCiB7CiAgICAgUmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCkBAIC00NjEsNyAr
NDYxLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRDbG9zZShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24pCiAjZW5kaWYKIAogICAgIC8vIFRoaXMgd2lsbCBjYXVzZSB1cyB0byBi
ZSBkZWxldGVkLgotICAgIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0aW9uUmVh
c29uOjpDcmFzaCk7CisgICAgbmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5hdGUoUHJvY2Vzc1Rlcm1p
bmF0aW9uUmVhc29uOjpDcmFzaCk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlk
UmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpN
ZXNzYWdlTmFtZSBtZXNzYWdlTmFtZSkKQEAgLTU1MSw3ICs1NTEsNyBAQCB2b2lkIE5ldHdvcmtQ
cm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVy
LCBJUEM6OkNvbgogICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5n
KGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CiAKICAgICBpZiAoIUlQQzo6Q29ubmVj
dGlvbjo6aWRlbnRpZmllcklzVmFsaWQoY29ubmVjdGlvbklkZW50aWZpZXIpKSB7Ci0gICAgICAg
IG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0aW9uUmVhc29uOjpDcmFzaCk7Cisg
ICAgICAgIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNv
bjo6Q3Jhc2gpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIApAQCAtMTc0Miw3ICsxNzQy
LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRFeGNlZWRNZW1vcnlMaW1pdCgpCiAg
ICAgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5Ojp0ZXJtaW5hdGUoKTsKICAgICBpZiAoYXV0byogY29u
bmVjdGlvbiA9IHRoaXMtPmNvbm5lY3Rpb24oKSkKICAgICAgICAgY29ubmVjdGlvbi0+aW52YWxp
ZGF0ZSgpOwotICAgIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0aW9uUmVhc29u
OjpFeGNlZWRlZE1lbW9yeUxpbWl0KTsKKyAgICBuZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZShQ
cm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkTWVtb3J5TGltaXQpOwogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmgKaW5kZXggNmQ5NmQwMjNmOTM5NDhlZGRhNWM2YWRjNzI0MzJkZDZkYzQ1NGU0
ZC4uODdhNGFmMzY4NzI1OThhNmVhYjUwMTFmNDU0ZTg0YjFlM2MyOTIxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgK
QEAgLTkxLDYgKzkxLDcgQEAgY2xhc3MgV2ViQ29va2llTWFuYWdlclByb3h5OwogY2xhc3MgV2Vi
UGFnZVByb3h5OwogY2xhc3MgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHk7CiAKK2VudW0g
Y2xhc3MgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOwogZW51bSBjbGFzcyBSZW1vdGVXb3JrZXJU
eXBlIDogYm9vbDsKIGVudW0gY2xhc3MgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0aWNzIDogYm9v
bDsKIGVudW0gY2xhc3MgU3RvcmFnZUFjY2Vzc1N0YXR1cyA6IHVpbnQ4X3Q7CkBAIC0yNDgsOCAr
MjQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJTY2hlbWVGb3JMZWdhY3lDdXN0b21Q
cm90b2NvbChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHVucmVnaXN0ZXJTY2hlbWVGb3JMZWdh
Y3lDdXN0b21Qcm90b2NvbChjb25zdCBTdHJpbmcmKTsKIAotICAgIGVudW0gY2xhc3MgVGVybWlu
YXRpb25SZWFzb24geyBSZXF1ZXN0ZWRCeUNsaWVudCwgQ3Jhc2gsIEV4Y2VlZGVkTWVtb3J5TGlt
aXQgfTsKLSAgICB2b2lkIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFRlcm1pbmF0aW9uUmVh
c29uKTsKKyAgICB2b2lkIG5ldHdvcmtQcm9jZXNzRGlkVGVybWluYXRlKFByb2Nlc3NUZXJtaW5h
dGlvblJlYXNvbik7CiAgICAgCiAgICAgdm9pZCByZXNldFF1b3RhKFBBTDo6U2Vzc2lvbklELCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgY2xlYXJTdG9yYWdlKFBBTDo6
U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTY4YjU5MjJhNzhkYmZkMGY3YWE1NjQwNTZj
ZDMxMGQzNDQzM2QwNy4uNTAwOWY0NGQzMmU0YmM5OGViNzVjZTJlNWJlMjVhYjNjZTllMmZiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03OTUwLDM4ICs3
OTUwLDE3IEBAIHN0YXRpYyBib29sIHNob3VsZFJlbG9hZEFmdGVyUHJvY2Vzc1Rlcm1pbmF0aW9u
KFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCiAgICAgY2FzZSBQcm9jZXNzVGVybWlu
YXRpb25SZWFzb246OlJlcXVlc3RlZEJ5TmV0d29ya1Byb2Nlc3M6CiAgICAgY2FzZSBQcm9jZXNz
VGVybWluYXRpb25SZWFzb246OlJlcXVlc3RlZEJ5R1BVUHJvY2VzczoKICAgICBjYXNlIFByb2Nl
c3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2g6CisgICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246OlVucmVzcG9uc2l2ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBQcm9j
ZXNzVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkUHJvY2Vzc0NvdW50TGltaXQ6CiAgICAgY2Fz
ZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246Ok5hdmlnYXRpb25Td2FwOgorICAgIGNhc2UgUHJv
Y2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpJZGxlRXhpdDoKICAgICBjYXNlIFByb2Nlc3NUZXJtaW5h
dGlvblJlYXNvbjo6UmVxdWVzdGVkQnlDbGllbnQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyKiBwcm9jZXNzVGVybWluYXRp
b25SZWFzb25Ub1N0cmluZyhQcm9jZXNzVGVybWluYXRpb25SZWFzb24gcmVhc29uKQotewotICAg
IHN3aXRjaCAocmVhc29uKSB7Ci0gICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4
Y2VlZGVkTWVtb3J5TGltaXQ6Ci0gICAgICAgIHJldHVybiAiRXhjZWVkZWRNZW1vcnlMaW1pdCI7
Ci0gICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkQ1BVTGltaXQ6Ci0g
ICAgICAgIHJldHVybiAiRXhjZWVkZWRDUFVMaW1pdCI7Ci0gICAgY2FzZSBQcm9jZXNzVGVybWlu
YXRpb25SZWFzb246OlJlcXVlc3RlZEJ5TmV0d29ya1Byb2Nlc3M6Ci0gICAgICAgIHJldHVybiAi
UmVxdWVzdGVkQnlOZXR3b3JrUHJvY2VzcyI7Ci0gICAgY2FzZSBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb246OlJlcXVlc3RlZEJ5R1BVUHJvY2VzczoKLSAgICAgICAgcmV0dXJuICJSZXF1ZXN0ZWRC
eUdQVVByb2Nlc3MiOwotICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpFeGNlZWRl
ZFByb2Nlc3NDb3VudExpbWl0OgotICAgICAgICByZXR1cm4gIkV4Y2VlZGVkUHJvY2Vzc0NvdW50
TGltaXQiOwotICAgIGNhc2UgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpOYXZpZ2F0aW9uU3dh
cDoKLSAgICAgICAgcmV0dXJuICJOYXZpZ2F0aW9uU3dhcCI7Ci0gICAgY2FzZSBQcm9jZXNzVGVy
bWluYXRpb25SZWFzb246OlJlcXVlc3RlZEJ5Q2xpZW50OgotICAgICAgICByZXR1cm4gIlJlcXVl
c3RlZEJ5Q2xpZW50IjsKLSAgICBjYXNlIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2g6
Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gIkNyYXNoIjsKLX0KLQogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpc3BhdGNoUHJvY2Vzc0RpZFRlcm1pbmF0ZShQcm9jZXNzVGVybWluYXRp
b25SZWFzb24gcmVhc29uKQogewogICAgIFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPR19FUlJPUihM
b2FkaW5nLCAiZGlzcGF0Y2hQcm9jZXNzRGlkVGVybWluYXRlOiByZWFzb249JXtwdWJsaWN9cyIs
IHByb2Nlc3NUZXJtaW5hdGlvblJlYXNvblRvU3RyaW5nKHJlYXNvbikpOwpAQCAtMTEwMjAsNyAr
MTA5OTksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z3B1UHJvY2Vzc0RpZEZpbmlzaExhdW5jaGlu
ZygpCiAgICAgcGFnZUNsaWVudCgpLmdwdVByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0
aW9uUmVhc29uKQordm9pZCBXZWJQYWdlUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQoUHJvY2Vzc1Rl
cm1pbmF0aW9uUmVhc29uKQogewogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVX
KQogICAgIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uSW5HUFVQcm9jZXNzID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDNmMTdmMjZlOTU2
ZjBhNjJlMWRkZGY5MTk3YjUwOTlmNzYwN2ZkYi4uNzkyNDYwNTAwYThhODlhMDUxMTBhNDY1MWM4
MDc5ODhjZjBmNzhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTEzMzAsNyArMTMzMCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAg
ICB2b2lkIGdwdVByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoKTsKLSAgICB2b2lkIGdwdVByb2Nl
c3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uKTsKKyAgICB2b2lkIGdwdVByb2Nl
c3NFeGl0ZWQoUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uKTsKICNlbmRpZgogCiAgICAgdmlydHVh
bCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29u
dGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4
IGRlNWQyMWQ1M2M2N2RlMGM1MDA5MDZmYTM0YzQ1OGQ0ZGIyZTU2OTIuLjM4MWM0MjBmNmI1NTRm
MjcxYjk5ZDNiOGU0MWMyYTgyZTQwNmY5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTQzMyw5ICs0MzMsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpzY3JlZW5Qcm9wZXJ0aWVzU3RhdGVDaGFuZ2VkKCkKICNlbmRpZgogfQogCi12b2lkIFdlYlBy
b2Nlc3NQb29sOjpuZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZShOZXR3b3JrUHJvY2Vzc1Byb3h5
JiBuZXR3b3JrUHJvY2Vzc1Byb3h5LCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpUZXJtaW5hdGlvblJl
YXNvbiByZWFzb24pCit2b2lkIFdlYlByb2Nlc3NQb29sOjpuZXR3b3JrUHJvY2Vzc0RpZFRlcm1p
bmF0ZShOZXR3b3JrUHJvY2Vzc1Byb3h5JiBuZXR3b3JrUHJvY2Vzc1Byb3h5LCBQcm9jZXNzVGVy
bWluYXRpb25SZWFzb24gcmVhc29uKQogewotICAgIGlmIChyZWFzb24gPT0gTmV0d29ya1Byb2Nl
c3NQcm94eTo6VGVybWluYXRpb25SZWFzb246OkNyYXNoKQorICAgIGlmIChyZWFzb24gPT0gUHJv
Y2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpDcmFzaCkKICAgICAgICAgbV9jbGllbnQubmV0d29ya1By
b2Nlc3NEaWRDcmFzaCh0aGlzKTsKIAogICAgIGlmIChtX2F1dG9tYXRpb25TZXNzaW9uKQpAQCAt
NDcxLDE5ICs0NzEsMTkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0RpZEZpbmlz
aExhdW5jaGluZyhQcm9jZXNzSUQpCiAgICAgICAgIHByb2Nlc3MtPmdwdVByb2Nlc3NEaWRGaW5p
c2hMYXVuY2hpbmcoKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0V4aXRl
ZChQcm9jZXNzSUQgaWRlbnRpZmllciwgR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHJlYXNv
bikKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nlc3NFeGl0ZWQoUHJvY2Vzc0lEIGlkZW50
aWZpZXIsIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCiB7Ci0gICAgV0VCUFJPQ0VT
U1BPT0xfUkVMRUFTRV9MT0coUHJvY2VzcywgImdwdVByb2Nlc3NEaWRFeGl0OiBQSUQ9JWQsIHJl
YXNvbj0ldSIsIGlkZW50aWZpZXIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZWFzb24pKTsKKyAg
ICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPRyhQcm9jZXNzLCAiZ3B1UHJvY2Vzc0RpZEV4aXQ6
IFBJRD0lZCwgcmVhc29uPSVzIiwgaWRlbnRpZmllciwgcHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
VG9TdHJpbmcocmVhc29uKSk7CiAgICAgbV9ncHVQcm9jZXNzID0gbnVsbHB0cjsKIAotICAgIGlm
IChyZWFzb24gPT0gR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpDcmFzaCB8fCByZWFzb24g
PT0gR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpVbnJlc3BvbnNpdmUpCisgICAgaWYgKHJl
YXNvbiA9PSBQcm9jZXNzVGVybWluYXRpb25SZWFzb246OkNyYXNoIHx8IHJlYXNvbiA9PSBQcm9j
ZXNzVGVybWluYXRpb25SZWFzb246OlVucmVzcG9uc2l2ZSkKICAgICAgICAgbV9jbGllbnQuZ3B1
UHJvY2Vzc0RpZENyYXNoKHRoaXMsIGlkZW50aWZpZXIpOwogCiAgICAgVmVjdG9yPFJlZjxXZWJQ
cm9jZXNzUHJveHk+PiBwcm9jZXNzZXMgPSBtX3Byb2Nlc3NlczsKICAgICBmb3IgKGF1dG8mIHBy
b2Nlc3MgOiBwcm9jZXNzZXMpCiAgICAgICAgIHByb2Nlc3MtPmdwdVByb2Nlc3NFeGl0ZWQocmVh
c29uKTsKIAotICAgIGlmIChyZWFzb24gPT0gR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpD
cmFzaCB8fCByZWFzb24gPT0gR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uOjpVbnJlc3BvbnNp
dmUpIHsKKyAgICBpZiAocmVhc29uID09IFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6Q3Jhc2gg
fHwgcmVhc29uID09IFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbjo6VW5yZXNwb25zaXZlKSB7CiAg
ICAgICAgIGlmICgrK21fcmVjZW50R1BVUHJvY2Vzc0NyYXNoQ291bnQgPiBtYXhpbXVtR1BVUHJv
Y2Vzc1JlbGF1bmNoQXR0ZW1wdHNCZWZvcmVLaWxsaW5nV2ViUHJvY2Vzc2VzKSB7CiAgICAgICAg
ICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZ3B1UHJvY2Vz
c0RpZEV4aXQ6IEdQVSBQcm9jZXNzIGhhcyBjcmFzaGVkIG1vcmUgdGhhbiAldSB0aW1lcyBpbiB0
aGUgbGFzdCAlZyBzZWNvbmRzLCB0ZXJtaW5hdGluZyBhbGwgV2ViUHJvY2Vzc2VzIiwgbWF4aW11
bUdQVVByb2Nlc3NSZWxhdW5jaEF0dGVtcHRzQmVmb3JlS2lsbGluZ1dlYlByb2Nlc3NlcywgcmVz
ZXRHUFVQcm9jZXNzQ3Jhc2hDb3VudERlbGF5LnNlY29uZHMoKSk7CiAgICAgICAgICAgICBtX3Jl
c2V0R1BVUHJvY2Vzc0NyYXNoQ291bnRUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA0MDlhNzliNTFiNzA1MGQxMDhiZTEzMTBmZTJmMGEy
YzBmNzU1N2U3Li40YmY4ZmRlZTMzY2VkNjU2YjMxN2QyOGJjYTZjMGNlM2UzZTZmY2I4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTM2MSw3ICszNjEsNyBA
QCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgdm9pZCBncHVQcm9jZXNz
RGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NJRCk7Ci0gICAgdm9pZCBncHVQcm9jZXNzRXhpdGVk
KFByb2Nlc3NJRCwgR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uKTsKKyAgICB2b2lkIGdwdVBy
b2Nlc3NFeGl0ZWQoUHJvY2Vzc0lELCBQcm9jZXNzVGVybWluYXRpb25SZWFzb24pOwogCiAgICAg
dm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmLCBHUFVQcm9jZXNz
Q29ubmVjdGlvblBhcmFtZXRlcnMmJiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BV
UHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CiAKQEAgLTM3NCw3ICszNzQsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIC8vIE5ldHdvcmsgUHJvY2VzcyBNYW5hZ2VtZW50Ci0gICAg
dm9pZCBuZXR3b3JrUHJvY2Vzc0RpZFRlcm1pbmF0ZShOZXR3b3JrUHJvY2Vzc1Byb3h5JiwgTmV0
d29ya1Byb2Nlc3NQcm94eTo6VGVybWluYXRpb25SZWFzb24pOworICAgIHZvaWQgbmV0d29ya1By
b2Nlc3NEaWRUZXJtaW5hdGUoTmV0d29ya1Byb2Nlc3NQcm94eSYsIFByb2Nlc3NUZXJtaW5hdGlv
blJlYXNvbik7CiAKICAgICBib29sIGlzU2VydmljZVdvcmtlclBhZ2VJRChXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyKSBjb25zdDsKICAgICB2b2lkIHJlbW92ZUZyb21SZW1vdGVXb3JrZXJQcm9jZXNz
ZXMoV2ViUHJvY2Vzc1Byb3h5Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAppbmRleCA0MzgyMTU1MzE0NGQ2ZjMyNmIwOTRjYTI0Y2QzZjU1MWM3ZTMxMjA1
Li4yMGM1MDY1YWI2ZmNhNTAwYjJhNzFhOTcwYmQyNjJjODYzMDM4YWI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTgzMCw5ICs4MzAsOSBAQCB2
b2lkIFdlYlByb2Nlc3NQcm94eTo6Z3B1UHJvY2Vzc0RpZEZpbmlzaExhdW5jaGluZygpCiAgICAg
ICAgIHBhZ2UtPmdwdVByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoKTsKIH0KIAotdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmdwdVByb2Nlc3NFeGl0ZWQoR1BVUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29u
IHJlYXNvbikKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9jZXNzRXhpdGVkKFByb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbiByZWFzb24pCiB7Ci0gICAgaWYgKHJlYXNvbiA9PSBHUFVQcm9jZXNz
VGVybWluYXRpb25SZWFzb246OklkbGVFeGl0KQorICAgIGlmIChyZWFzb24gPT0gUHJvY2Vzc1Rl
cm1pbmF0aW9uUmVhc29uOjpJZGxlRXhpdCkKICAgICAgICAgV0VCUFJPQ0VTU1BST1hZX1JFTEVB
U0VfTE9HKFByb2Nlc3MsICJncHVQcm9jZXNzRXhpdGVkOiByZWFzb249aWRsZS1leGl0Iik7CiAg
ICAgZWxzZQogICAgICAgICBXRUJQUk9DRVNTUFJPWFlfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vz
cywgImdwdVByb2Nlc3NFeGl0ZWQ6IHJlYXNvbj0ldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihy
ZWFzb24pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXgg
MDU1NWQzZDU3NjM0NWJiMjQ5NjEwODU4ZDY5NDY2ZTQ5MTU5ZjFhYy4uZTViYzA0ZTk5MDA5ZGQy
NGU5ZmQxMWZjMGExMGFlMGI3OGY4ZmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKQEAgLTM4Myw3ICszODMsNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpCiAgICAgdm9pZCBncHVQcm9jZXNzRGlkRmluaXNoTGF1bmNoaW5nKCk7Ci0g
ICAgdm9pZCBncHVQcm9jZXNzRXhpdGVkKEdQVVByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbik7Cisg
ICAgdm9pZCBncHVQcm9jZXNzRXhpdGVkKFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbik7CiAjZW5k
aWYKIAogICAgIGJvb2wgaGFzU2xlZXBEaXNhYmxlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2VlZTgwNmJlZmMyMTg3
NTIzMmI0NGYyNDgxYWIwZGFmNDRmMDFmOS4uMDBlZmU2YTc0YTYyYzU1OGRjNjE5ODU3NWEwNTA3
Y2I5ZjIyMzE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yOTczLDYgKzI5NzMsNyBAQAogCQkwRkRDRDdGNjFENDdFOTJBMDA5RjA4
QkMgLyogTG9nSW5pdGlhbGl6YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTG9nSW5pdGlhbGl6YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZF
MjdGQUUyNzE0RkMxNTAwMDNBQUFFIC8qIFRpbGVkQ29yZUFuaW1hdGlvblNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbGVkQ29yZUFuaW1hdGlvblNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRTI3RkFGMjcxNEZDMTUw
MDAzQUFBRSAvKiBUaWxlZENvcmVBbmltYXRpb25TY3JvbGxpbmdDb29yZGluYXRvci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFRpbGVkQ29yZUFuaW1hdGlvblNjcm9sbGluZ0Nvb3JkaW5hdG9y
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkVDNkUwNTI4MDkxNUNGMDA4MDgy
QUMgLyogUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBy
b2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGRjI0QTJCMTg3OUU0QkMwMDNBQkYwQyAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBw
YXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwogCQkwRkYyNEEyQjE4NzlFNEJDMDAzQUJGMEQgLyogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0g
RGVyaXZlZFNvdXJjZXMvV2ViS2l0L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMEZGMjRB
MkMxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNz
YWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdC9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTc5NDMsNiArNzk0NCw3IEBACiAJCQkJRTE4QzkyRjMx
MkRCOUU3MTAwQ0YyQUVCIC8qIFByaW50SW5mby5jcHAgKi8sCiAJCQkJRTFDQzFCOEUxMkQ3RUFE
RjAwNjI1ODM4IC8qIFByaW50SW5mby5oICovLAogCQkJCTVDMDVGREYyMjdBQjRGQTUwMDNBMjQ4
NyAvKiBQcml2YXRlUmVsYXllZC5oICovLAorCQkJCTBGRUM2RTA1MjgwOTE1Q0YwMDgwODJBQyAv
KiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uY3BwICovLAogCQkJCTQ2M0ZENDgxMUVCOTRFQUQw
MEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLywKIAkJCQk1MTdCNUY5NDI3
NUVCQTYyMDAyREMyMkQgLyogUHVzaE1lc3NhZ2VGb3JUZXN0aW5nLmggKi8sCiAJCQkJOUIxMjI5
RDAyM0ZGMkE1RTAwOENBNzUxIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyLmgg
Ki8sCg==
</data>
<flag name="review"
          id="486347"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="486349"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>