<?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>221831</bug_id>
          
          <creation_ts>2021-02-12 10:56:54 -0800</creation_ts>
          <short_desc>Move RootMarkReason out of SlotVisitor.</short_desc>
          <delta_ts>2021-02-12 11:26:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1728663</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-02-12 10:56:54 -0800</bug_when>
    <thetext>This will lessen the amount of diff needed for GC verifier later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728676</commentid>
    <comment_count>1</comment_count>
      <attachid>420152</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-02-12 11:07:54 -0800</bug_when>
    <thetext>Created attachment 420152
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728683</commentid>
    <comment_count>2</comment_count>
      <attachid>420152</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2021-02-12 11:14:52 -0800</bug_when>
    <thetext>Comment on attachment 420152
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728689</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-02-12 11:25:54 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r272797: &lt;http://trac.webkit.org/r272797&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728690</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-12 11:26:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/74284399&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420152</attachid>
            <date>2021-02-12 11:07:54 -0800</date>
            <delta_ts>2021-02-12 11:14:52 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-221831.patch</filename>
            <type>text/plain</type>
            <size>25960</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjcyNzkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDIxLTAyLTEyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
b3ZlIFJvb3RNYXJrUmVhc29uIG91dCBvZiBTbG90VmlzaXRvci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTgzMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBsZXNzZW4gdGhlIGFtb3Vu
dCBvZiBkaWZmIG5lZWRlZCBmb3IgR0MgdmVyaWZpZXIgbGF0ZXIuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OmFk
ZENvcmVDb25zdHJhaW50cyk6CisgICAgICAgICogaGVhcC9IZWFwQW5hbHl6ZXIuaDoKKyAgICAg
ICAgKiBoZWFwL0hlYXBTbmFwc2hvdEJ1aWxkZXIuY3BwOgorICAgICAgICAoSlNDOjpIZWFwU25h
cHNob3RCdWlsZGVyOjphbmFseXplRWRnZSk6CisgICAgICAgIChKU0M6OnJvb3RUeXBlVG9TdHJp
bmcpOgorICAgICAgICAqIGhlYXAvSGVhcFNuYXBzaG90QnVpbGRlci5oOgorICAgICAgICAqIGhl
YXAvUm9vdE1hcmtSZWFzb24uaDogQWRkZWQuCisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5o
OgorICAgICAgICAoSlNDOjpTZXRSb290TWFya1JlYXNvblNjb3BlOjpTZXRSb290TWFya1JlYXNv
blNjb3BlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwOgor
CiAyMDIxLTAyLTExICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6ICJTaG93IEV4dGVuZGVkIEdyaWRsaW5lcyIgb3B0aW9uIGZv
ciBncmlkIG92ZXJsYXkgZG9lcyBub3Qgd29yawpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAkocmV2aXNpb24gMjcyNzcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02ODIsNiArNjgyLDcgQEAgc2V0KEphdmFT
Y3JpcHRDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQQogICAgIGhlYXAvUGFja2VkQ2VsbFB0ci5o
CiAgICAgaGVhcC9QcmVjaXNlQWxsb2NhdGlvbi5oCiAgICAgaGVhcC9SZWdpc3RlclN0YXRlLmgK
KyAgICBoZWFwL1Jvb3RNYXJrUmVhc29uLmgKICAgICBoZWFwL1J1bm5pbmdTY29wZS5oCiAgICAg
aGVhcC9TaW1wbGVNYXJraW5nQ29uc3RyYWludC5oCiAgICAgaGVhcC9TbG90VmlzaXRvci5oCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjcyNzcyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTE5NTEsNiArMTk1MSw3IEBACiAJCUZFM0EwNkI0MUMxMENC
OTMwMDM5MEZERCAvKiBKSVRCaXRYb3JHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFM0EwNkIwMUMxMENCNkYwMDM5MEZERCAvKiBKSVRC
aXRYb3JHZW5lcmF0b3IuaCAqLzsgfTsKIAkJRkUzQTA2QkUxQzExMDQxMjAwMzkwRkREIC8qIEpJ
VExlZnRTaGlmdEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkUzQTA2QjcxQzExMDNEOTAwMzkwRkREIC8qIEpJVExlZnRTaGlmdEdlbmVy
YXRvci5oICovOyB9OwogCQlGRTNBMDZDMDFDMTEwNDFBMDAzOTBGREQgLyogSklUUmlnaHRTaGlm
dEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkUzQTA2QjkxQzExMDNEOTAwMzkwRkREIC8qIEpJVFJpZ2h0U2hpZnRHZW5lcmF0b3IuaCAq
LzsgfTsKKwkJRkUzQjY0MkYyNUQ2RkI0RDAwMUFEREI0IC8qIFJvb3RNYXJrUmVhc29uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTNCNjQyRTI1RDZG
QjRDMDAxQUREQjQgLyogUm9vdE1hcmtSZWFzb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTQ3NkZGNDIwN0U4NUQ1MDA5M0NBMkQgLyogSklU
Q29kZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU0NzZGRjMyMDdFODVENDAwOTNDQTJEIC8qIEpJVENvZGVNYXAuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTQ4QkQ0NDIzMjQ1RTkzMDBGMTM2
RDAgLyogSlNDQ29uZmlnLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTQ4QkQ0MjIzMjQ1RTg3MDBGMTM2RDAgLyogSlNDQ29uZmlnLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkU0OEU2MzgxRUIxMThE
MjAwNUQ3QTk2IC8qIE9iamVjdEluaXRpYWxpemF0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNDhFNjM2MUVCMTE4OEYwMDVEN0E5NiAv
KiBPYmplY3RJbml0aWFsaXphdGlvblNjb3BlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUyOTAsNiArNTI5MSw3IEBACiAJCUZFM0EwNkI3MUMx
MTAzRDkwMDM5MEZERCAvKiBKSVRMZWZ0U2hpZnRHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSklUTGVmdFNoaWZ0R2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFM0EwNkI4MUMxMTAzRDkwMDM5MEZERCAvKiBKSVRSaWdodFNoaWZ0
R2VuZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFJp
Z2h0U2hpZnRHZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTNB
MDZCOTFDMTEwM0Q5MDAzOTBGREQgLyogSklUUmlnaHRTaGlmdEdlbmVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRSaWdodFNoaWZ0R2VuZXJhdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFM0I2NDJFMjVENkZCNEMwMDFBRERCNCAvKiBSb290
TWFya1JlYXNvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSb290TWFya1Jl
YXNvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTQyMzg4RjFCRTE4QzEyMDA1
MTQ3MzcgLyogSklUU3ViR2VuZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpJVFN1YkdlbmVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZFNDc2RkYzMjA3RTg1RDQwMDkzQ0EyRCAvKiBKSVRDb2RlTWFwLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVENvZGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkU0OEJENDIyMzI0NUU4NzAwRjEzNkQwIC8qIEpTQ0NvbmZpZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NDb25maWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY0MjYs
NiArNjQyOCw3IEBACiAJCQkJMEZCQjczQjYxREVGM0FBQzAwMkMwMDlFIC8qIFByZXZlbnRDb2xs
ZWN0aW9uU2NvcGUuaCAqLywKIAkJCQkwRkQwRTVFRjFFNDZCRjIzMDAwNkFCMDggLyogUmVnaXN0
ZXJTdGF0ZS5oICovLAogCQkJCTBGN0NGOTRFMURCRUVFODYwMDk4Q0MxMiAvKiBSZWxlYXNlSGVh
cEFjY2Vzc1Njb3BlLmggKi8sCisJCQkJRkUzQjY0MkUyNUQ2RkI0QzAwMUFEREI0IC8qIFJvb3RN
YXJrUmVhc29uLmggKi8sCiAJCQkJMEYyQzYzQTkxRTRGQTQyQzAwQzEzODM5IC8qIFJ1bm5pbmdT
Y29wZS5oICovLAogCQkJCTBGNEQ4Qzc2MUZDQTNDRjIwMDFEMzJBQyAvKiBTaW1wbGVNYXJraW5n
Q29uc3RyYWludC5jcHAgKi8sCiAJCQkJMEY0RDhDNzcxRkNBM0NGMzAwMUQzMkFDIC8qIFNpbXBs
ZU1hcmtpbmdDb25zdHJhaW50LmggKi8sCkBAIC0xMDU0Niw2ICsxMDU0OSw3IEBACiAJCQkJOTlE
QTAwQjExQkQ1OTk0RTAwRjQ1NzVDIC8qIFVwZGF0ZUNvbnRlbnRzLnB5IGluIEhlYWRlcnMgKi8s
CiAJCQkJMEY5NjNCMzgxM0ZDNkZFOTAwMDJEOUIyIC8qIFZhbHVlUHJvZmlsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY0MjZBNDgxNDYwQ0JCMzAwMTMxRjhGIC8qIFZhbHVlUmVjb3ZlcnkuaCBp
biBIZWFkZXJzICovLAorCQkJCUZFM0I2NDJGMjVENkZCNEQwMDFBRERCNCAvKiBSb290TWFya1Jl
YXNvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzlFRTBDMDAxQjRBRkI4NTAwMDM4NUM5IC8qIFZh
cmlhYmxlRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNkM3MzUxMUFDOUY5OUYw
MEJFMTY4MiAvKiBWYXJpYWJsZVdyaXRlRmlyZURldGFpbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZFMDUwMkQxQUE5MDk1NjAwRDMzQjMzIC8qIFZhck9mZnNldC5oIGluIEhlYWRlcnMgKi8sCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkocmV2aXNpb24gMjcyNzcyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAwMy0yMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVs
IDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI3MTgsMTIgKzI3MTgsMTIgQEAg
dm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgICAgICAgICAgICAgIGdhdGhlckpT
U3RhY2tSb290cyhjb25zZXJ2YXRpdmVSb290cyk7CiAgICAgICAgICAgICAgICAgZ2F0aGVyU2Ny
YXRjaEJ1ZmZlclJvb3RzKGNvbnNlcnZhdGl2ZVJvb3RzKTsKIAotICAgICAgICAgICAgICAgIFNl
dFJvb3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBTbG90VmlzaXRvcjo6
Um9vdE1hcmtSZWFzb246OkNvbnNlcnZhdGl2ZVNjYW4pOworICAgICAgICAgICAgICAgIFNldFJv
b3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290TWFya1JlYXNvbjo6
Q29uc2VydmF0aXZlU2Nhbik7CiAgICAgICAgICAgICAgICAgc2xvdFZpc2l0b3IuYXBwZW5kKGNv
bnNlcnZhdGl2ZVJvb3RzKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChPcHRpb25z
Ojp1c2VKSVQoKSkgewogICAgICAgICAgICAgICAgIC8vIEpJVFN0dWJSb3V0aW5lcyBtdXN0IGJl
IHZpc2l0ZWQgYWZ0ZXIgc2Nhbm5pbmcgQ29uc2VydmF0aXZlUm9vdHMgc2luY2UgSklUU3R1YlJv
dXRpbmVzIGRlcGVuZCBvbiB0aGUgaG9vayBleGVjdXRlZCBkdXJpbmcgZ2F0aGVyaW5nIENvbnNl
cnZhdGl2ZVJvb3RzLgotICAgICAgICAgICAgICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUgcm9v
dFNjb3BlKHNsb3RWaXNpdG9yLCBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246OkpJVFN0dWJS
b3V0aW5lcyk7CisgICAgICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29wZSByb290U2Nv
cGUoc2xvdFZpc2l0b3IsIFJvb3RNYXJrUmVhc29uOjpKSVRTdHViUm91dGluZXMpOwogICAgICAg
ICAgICAgICAgIG1faml0U3R1YlJvdXRpbmVzLT50cmFjZU1hcmtlZFN0dWJSb3V0aW5lcyhzbG90
VmlzaXRvcik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTI3MzksMTggKzI3Mzks
MTggQEAgdm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgICAgICAgICAgc2NhbkV4
dGVybmFsUmVtZW1iZXJlZFNldChtX3ZtLCBzbG90VmlzaXRvcik7CiAjZW5kaWYKICAgICAgICAg
ICAgIGlmIChtX3ZtLnNtYWxsU3RyaW5ncy5uZWVkc1RvQmVWaXNpdGVkKCptX2NvbGxlY3Rpb25T
Y29wZSkpIHsKLSAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29w
ZShzbG90VmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpTdHJvbmdSZWZlcmVu
Y2VzKTsKKyAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShz
bG90VmlzaXRvciwgUm9vdE1hcmtSZWFzb246OlN0cm9uZ1JlZmVyZW5jZXMpOwogICAgICAgICAg
ICAgICAgIG1fdm0uc21hbGxTdHJpbmdzLnZpc2l0U3Ryb25nUmVmZXJlbmNlcyhzbG90VmlzaXRv
cik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgU2xv
dFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpQcm90ZWN0ZWRWYWx1ZXMpOworICAgICAgICAgICAg
ICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290TWFy
a1JlYXNvbjo6UHJvdGVjdGVkVmFsdWVzKTsKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHBh
aXIgOiBtX3Byb3RlY3RlZFZhbHVlcykKICAgICAgICAgICAgICAgICAgICAgc2xvdFZpc2l0b3Iu
YXBwZW5kVW5iYXJyaWVyZWQocGFpci5rZXkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
CiAgICAgICAgICAgICBpZiAobV9tYXJrTGlzdFNldCAmJiBtX21hcmtMaXN0U2V0LT5zaXplKCkp
IHsKLSAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90
VmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpDb25zZXJ2YXRpdmVTY2FuKTsK
KyAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90Vmlz
aXRvciwgUm9vdE1hcmtSZWFzb246OkNvbnNlcnZhdGl2ZVNjYW4pOwogICAgICAgICAgICAgICAg
IE1hcmtlZEFyZ3VtZW50QnVmZmVyOjptYXJrTGlzdHMoc2xvdFZpc2l0b3IsICptX21hcmtMaXN0
U2V0KTsKICAgICAgICAgICAgIH0KIApAQCAtMjc1OSw3ICsyNzU5LDcgQEAgdm9pZCBIZWFwOjph
ZGRDb3JlQ29uc3RyYWludHMoKQogICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRv
ciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpWTUV4Y2VwdGlvbnMpOworICAgICAgICAg
ICAgICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290
TWFya1JlYXNvbjo6Vk1FeGNlcHRpb25zKTsKICAgICAgICAgICAgICAgICBzbG90VmlzaXRvci5h
cHBlbmRVbmJhcnJpZXJlZChtX3ZtLmV4Y2VwdGlvbigpKTsKICAgICAgICAgICAgICAgICBzbG90
VmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZChtX3ZtLmxhc3RFeGNlcHRpb24oKSk7CiAgICAgICAg
ICAgICB9CkBAIC0yNzY5LDcgKzI3NjksNyBAQCB2b2lkIEhlYXA6OmFkZENvcmVDb25zdHJhaW50
cygpCiAgICAgbV9jb25zdHJhaW50U2V0LT5hZGQoCiAgICAgICAgICJTaCIsICJTdHJvbmcgSGFu
ZGxlcyIsCiAgICAgICAgIFt0aGlzXSAoU2xvdFZpc2l0b3ImIHNsb3RWaXNpdG9yKSB7Ci0gICAg
ICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgU2xv
dFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpTdHJvbmdIYW5kbGVzKTsKKyAgICAgICAgICAgIFNl
dFJvb3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290TWFya1JlYXNv
bjo6U3Ryb25nSGFuZGxlcyk7CiAgICAgICAgICAgICBtX2hhbmRsZVNldC52aXNpdFN0cm9uZ0hh
bmRsZXMoc2xvdFZpc2l0b3IpOwogICAgICAgICB9LAogICAgICAgICBDb25zdHJhaW50Vm9sYXRp
bGl0eTo6R3JleWVkQnlFeGVjdXRpb24pOwpAQCAtMjc3Nyw3ICsyNzc3LDcgQEAgdm9pZCBIZWFw
OjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgIG1fY29uc3RyYWludFNldC0+YWRkKAogICAgICAg
ICAiRCIsICJEZWJ1Z2dlciIsCiAgICAgICAgIFt0aGlzXSAoU2xvdFZpc2l0b3ImIHNsb3RWaXNp
dG9yKSB7Ci0gICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90
VmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpEZWJ1Z2dlcik7CisgICAgICAg
ICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgUm9vdE1h
cmtSZWFzb246OkRlYnVnZ2VyKTsKIAogI2lmIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKICAg
ICAgICAgICAgIGlmIChTYW1wbGluZ1Byb2ZpbGVyKiBzYW1wbGluZ1Byb2ZpbGVyID0gbV92bS5z
YW1wbGluZ1Byb2ZpbGVyKCkpIHsKQEAgLTI4MDAsNyArMjgwMCw3IEBAIHZvaWQgSGVhcDo6YWRk
Q29yZUNvbnN0cmFpbnRzKCkKICAgICBtX2NvbnN0cmFpbnRTZXQtPmFkZCgKICAgICAgICAgIldz
IiwgIldlYWsgU2V0cyIsCiAgICAgICAgIFt0aGlzXSAoU2xvdFZpc2l0b3ImIHNsb3RWaXNpdG9y
KSB7Ci0gICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90Vmlz
aXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpXZWFrU2V0cyk7CisgICAgICAgICAg
ICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgUm9vdE1hcmtS
ZWFzb246OldlYWtTZXRzKTsKICAgICAgICAgICAgIG1fb2JqZWN0U3BhY2UudmlzaXRXZWFrU2V0
cyhzbG90VmlzaXRvcik7CiAgICAgICAgIH0sCiAgICAgICAgIENvbnN0cmFpbnRWb2xhdGlsaXR5
OjpHcmV5ZWRCeU1hcmtpbmcpOwpAQCAtMjgxMSw3ICsyODExLDcgQEAgdm9pZCBIZWFwOjphZGRD
b3JlQ29uc3RyYWludHMoKQogICAgICAgICAgICAgVk0mIHZtID0gc2xvdFZpc2l0b3Iudm0oKTsK
IAogICAgICAgICAgICAgYXV0byBjYWxsT3V0cHV0Q29uc3RyYWludCA9IFtdIChTbG90VmlzaXRv
ciYgc2xvdFZpc2l0b3IsIEhlYXBDZWxsKiBoZWFwQ2VsbCwgSGVhcENlbGw6OktpbmQpIHsKLSAg
ICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRv
ciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpPdXRwdXQpOworICAgICAgICAgICAgICAg
IFNldFJvb3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290TWFya1Jl
YXNvbjo6T3V0cHV0KTsKICAgICAgICAgICAgICAgICBWTSYgdm0gPSBzbG90VmlzaXRvci52bSgp
OwogICAgICAgICAgICAgICAgIEpTQ2VsbCogY2VsbCA9IHN0YXRpY19jYXN0PEpTQ2VsbCo+KGhl
YXBDZWxsKTsKICAgICAgICAgICAgICAgICBjZWxsLT5tZXRob2RUYWJsZSh2bSktPnZpc2l0T3V0
cHV0Q29uc3RyYWludHMoY2VsbCwgc2xvdFZpc2l0b3IpOwpAQCAtMjgzMyw3ICsyODMzLDcgQEAg
dm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgICAgICBtX2NvbnN0cmFpbnRTZXQt
PmFkZCgKICAgICAgICAgICAgICJEdyIsICJERkcgV29ya2xpc3RzIiwKICAgICAgICAgICAgIFt0
aGlzXSAoU2xvdFZpc2l0b3ImIHNsb3RWaXNpdG9yKSB7Ci0gICAgICAgICAgICAgICAgU2V0Um9v
dE1hcmtSZWFzb25TY29wZSByb290U2NvcGUoc2xvdFZpc2l0b3IsIFNsb3RWaXNpdG9yOjpSb290
TWFya1JlYXNvbjo6REZHV29ya0xpc3RzKTsKKyAgICAgICAgICAgICAgICBTZXRSb290TWFya1Jl
YXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgUm9vdE1hcmtSZWFzb246OkRGR1dvcmtM
aXN0cyk7CiAKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBERkc6Om51bWJlck9m
V29ya2xpc3RzKCk7IGktLTspCiAgICAgICAgICAgICAgICAgICAgIERGRzo6ZXhpc3RpbmdXb3Jr
bGlzdEZvckluZGV4KGkpLnZpc2l0V2Vha1JlZmVyZW5jZXMoc2xvdFZpc2l0b3IpOwpAQCAtMjg1
Niw3ICsyODU2LDcgQEAgdm9pZCBIZWFwOjphZGRDb3JlQ29uc3RyYWludHMoKQogICAgIG1fY29u
c3RyYWludFNldC0+YWRkKAogICAgICAgICAiQ2IiLCAiQ29kZUJsb2NrcyIsCiAgICAgICAgIFt0
aGlzXSAoU2xvdFZpc2l0b3ImIHNsb3RWaXNpdG9yKSB7Ci0gICAgICAgICAgICBTZXRSb290TWFy
a1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJr
UmVhc29uOjpDb2RlQmxvY2tzKTsKKyAgICAgICAgICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUg
cm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBSb290TWFya1JlYXNvbjo6Q29kZUJsb2Nrcyk7CiAgICAg
ICAgICAgICBpdGVyYXRlRXhlY3V0aW5nQW5kQ29tcGlsaW5nQ29kZUJsb2Nrc1dpdGhvdXRIb2xk
aW5nTG9ja3MoCiAgICAgICAgICAgICAgICAgWyZdIChDb2RlQmxvY2sqIGNvZGVCbG9jaykgewog
ICAgICAgICAgICAgICAgICAgICAvLyBWaXNpdCB0aGUgQ29kZUJsb2NrIGFzIGEgY29uc3RyYWlu
dCBvbmx5IGlmIGl0J3MgYmxhY2suCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwQW5hbHl6ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwQW5hbHl6ZXIuaAkocmV2aXNpb24gMjcyNzcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSGVhcEFuYWx5emVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2luY2x1ZGUgIlNsb3RWaXNpdG9yLmgiCisjaW5jbHVkZSAiUm9vdE1hcmtS
ZWFzb24uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgYW5hbHl6ZU5vZGUoSlNDZWxsKikgPSAwOwogCiAgICAgLy8gQSByZWZl
cmVuY2UgZnJvbSBvbmUgY2VsbCB0byBhbm90aGVyLgotICAgIHZpcnR1YWwgdm9pZCBhbmFseXpl
RWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIFNsb3RWaXNpdG9yOjpSb290TWFya1JlYXNv
bikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhbmFseXplRWRnZShKU0NlbGwqIGZyb20sIEpTQ2Vs
bCogdG8sIFJvb3RNYXJrUmVhc29uKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFuYWx5emVQcm9w
ZXJ0eU5hbWVFZGdlKEpTQ2VsbCogZnJvbSwgSlNDZWxsKiB0bywgVW5pcXVlZFN0cmluZ0ltcGwq
IHByb3BlcnR5TmFtZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhbmFseXplVmFyaWFibGVOYW1l
RWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIFVuaXF1ZWRTdHJpbmdJbXBsKiB2YXJpYWJs
ZU5hbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYW5hbHl6ZUluZGV4RWRnZShKU0NlbGwqIGZy
b20sIEpTQ2VsbCogdG8sIHVpbnQzMl90IGluZGV4KSA9IDA7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IZWFwU25hcHNob3RCdWlsZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwU25hcHNob3RCdWlsZGVyLmNwcAkocmV2aXNpb24g
MjcyNzcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcFNuYXBzaG90QnVpbGRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCi1zdGF0aWMgY29uc3QgY2hhciogcm9vdFR5cGVUb1N0cmluZyhTbG90VmlzaXRvcjo6Um9v
dE1hcmtSZWFzb24pOworc3RhdGljIGNvbnN0IGNoYXIqIHJvb3RUeXBlVG9TdHJpbmcoUm9vdE1h
cmtSZWFzb24pOwogCiBOb2RlSWRlbnRpZmllciBIZWFwU25hcHNob3RCdWlsZGVyOjpuZXh0QXZh
aWxhYmxlT2JqZWN0SWRlbnRpZmllciA9IDE7CiBOb2RlSWRlbnRpZmllciBIZWFwU25hcHNob3RC
dWlsZGVyOjpnZXROZXh0T2JqZWN0SWRlbnRpZmllcigpIHsgcmV0dXJuIG5leHRBdmFpbGFibGVP
YmplY3RJZGVudGlmaWVyKys7IH0KQEAgLTk5LDcgKzk5LDcgQEAgdm9pZCBIZWFwU25hcHNob3RC
dWlsZGVyOjphbmFseXplTm9kZShKUwogICAgIG1fc25hcHNob3QtPmFwcGVuZE5vZGUoSGVhcFNu
YXBzaG90Tm9kZShjZWxsLCBnZXROZXh0T2JqZWN0SWRlbnRpZmllcigpKSk7CiB9CiAKLXZvaWQg
SGVhcFNuYXBzaG90QnVpbGRlcjo6YW5hbHl6ZUVkZ2UoSlNDZWxsKiBmcm9tLCBKU0NlbGwqIHRv
LCBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb24gcm9vdE1hcmtSZWFzb24pCit2b2lkIEhlYXBT
bmFwc2hvdEJ1aWxkZXI6OmFuYWx5emVFZGdlKEpTQ2VsbCogZnJvbSwgSlNDZWxsKiB0bywgUm9v
dE1hcmtSZWFzb24gcm9vdE1hcmtSZWFzb24pCiB7CiAgICAgQVNTRVJUKG1fcHJvZmlsZXIuYWN0
aXZlSGVhcEFuYWx5emVyKCkgPT0gdGhpcyk7CiAgICAgQVNTRVJUKHRvKTsKQEAgLTExMSw3ICsx
MTEsNyBAQCB2b2lkIEhlYXBTbmFwc2hvdEJ1aWxkZXI6OmFuYWx5emVFZGdlKEpTCiAgICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2J1aWxkaW5nRWRnZU11dGV4KTsKIAogICAgIGlmIChtX3Nu
YXBzaG90VHlwZSA9PSBTbmFwc2hvdFR5cGU6OkdDRGVidWdnaW5nU25hcHNob3QgJiYgIWZyb20p
IHsKLSAgICAgICAgaWYgKHJvb3RNYXJrUmVhc29uID09IFNsb3RWaXNpdG9yOjpSb290TWFya1Jl
YXNvbjo6Tm9uZSAmJiBtX3NuYXBzaG90VHlwZSA9PSBTbmFwc2hvdFR5cGU6OkdDRGVidWdnaW5n
U25hcHNob3QpCisgICAgICAgIGlmIChyb290TWFya1JlYXNvbiA9PSBSb290TWFya1JlYXNvbjo6
Tm9uZSAmJiBtX3NuYXBzaG90VHlwZSA9PSBTbmFwc2hvdFR5cGU6OkdDRGVidWdnaW5nU25hcHNo
b3QpCiAgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkNlbGwgJXAgaXMgYSByb290IGJ1dCBubyBy
b290IG1hcmtpbmcgcmVhc29uIHdhcyBzdXBwbGllZCIsIHRvKTsKIAogICAgICAgICBtX3Jvb3RE
YXRhLmVuc3VyZSh0bywgW10gKCkgLT4gUm9vdERhdGEgewpAQCAtMzA1LDM2ICszMDUsMzYgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIHNuYXBzaG90VHlwZVRvU3RyaW5nKAogICAgIHJldHVybiAiSW5z
cGVjdG9yIjsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIqIHJvb3RUeXBlVG9TdHJpbmcoU2xvdFZp
c2l0b3I6OlJvb3RNYXJrUmVhc29uIHR5cGUpCitzdGF0aWMgY29uc3QgY2hhciogcm9vdFR5cGVU
b1N0cmluZyhSb290TWFya1JlYXNvbiB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewotICAg
IGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpOb25lOgorICAgIGNhc2UgUm9vdE1h
cmtSZWFzb246Ok5vbmU6CiAgICAgICAgIHJldHVybiAiTm9uZSI7Ci0gICAgY2FzZSBTbG90Vmlz
aXRvcjo6Um9vdE1hcmtSZWFzb246OkNvbnNlcnZhdGl2ZVNjYW46CisgICAgY2FzZSBSb290TWFy
a1JlYXNvbjo6Q29uc2VydmF0aXZlU2NhbjoKICAgICAgICAgcmV0dXJuICJDb25zZXJ2YXRpdmUg
c2NhbiI7Ci0gICAgY2FzZSBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246OlN0cm9uZ1JlZmVy
ZW5jZXM6CisgICAgY2FzZSBSb290TWFya1JlYXNvbjo6U3Ryb25nUmVmZXJlbmNlczoKICAgICAg
ICAgcmV0dXJuICJTdHJvbmcgcmVmZXJlbmNlcyI7Ci0gICAgY2FzZSBTbG90VmlzaXRvcjo6Um9v
dE1hcmtSZWFzb246OlByb3RlY3RlZFZhbHVlczoKKyAgICBjYXNlIFJvb3RNYXJrUmVhc29uOjpQ
cm90ZWN0ZWRWYWx1ZXM6CiAgICAgICAgIHJldHVybiAiUHJvdGVjdGVkIHZhbHVlcyI7Ci0gICAg
Y2FzZSBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246Ok1hcmtMaXN0U2V0OgorICAgIGNhc2Ug
Um9vdE1hcmtSZWFzb246Ok1hcmtMaXN0U2V0OgogICAgICAgICByZXR1cm4gIk1hcmsgbGlzdCBz
ZXQiOwotICAgIGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpWTUV4Y2VwdGlvbnM6
CisgICAgY2FzZSBSb290TWFya1JlYXNvbjo6Vk1FeGNlcHRpb25zOgogICAgICAgICByZXR1cm4g
IlZNIGV4Y2VwdGlvbnMiOwotICAgIGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpT
dHJvbmdIYW5kbGVzOgorICAgIGNhc2UgUm9vdE1hcmtSZWFzb246OlN0cm9uZ0hhbmRsZXM6CiAg
ICAgICAgIHJldHVybiAiU3Ryb25nIGhhbmRsZXMiOwotICAgIGNhc2UgU2xvdFZpc2l0b3I6OlJv
b3RNYXJrUmVhc29uOjpEZWJ1Z2dlcjoKKyAgICBjYXNlIFJvb3RNYXJrUmVhc29uOjpEZWJ1Z2dl
cjoKICAgICAgICAgcmV0dXJuICJEZWJ1Z2dlciI7Ci0gICAgY2FzZSBTbG90VmlzaXRvcjo6Um9v
dE1hcmtSZWFzb246OkpJVFN0dWJSb3V0aW5lczoKKyAgICBjYXNlIFJvb3RNYXJrUmVhc29uOjpK
SVRTdHViUm91dGluZXM6CiAgICAgICAgIHJldHVybiAiSklUIHN0dWIgcm91dGluZXMiOwotICAg
IGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpXZWFrU2V0czoKKyAgICBjYXNlIFJv
b3RNYXJrUmVhc29uOjpXZWFrU2V0czoKICAgICAgICAgcmV0dXJuICJXZWFrIHNldHMiOwotICAg
IGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpPdXRwdXQ6CisgICAgY2FzZSBSb290
TWFya1JlYXNvbjo6T3V0cHV0OgogICAgICAgICByZXR1cm4gIk91dHB1dCI7Ci0gICAgY2FzZSBT
bG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246OkRGR1dvcmtMaXN0czoKKyAgICBjYXNlIFJvb3RN
YXJrUmVhc29uOjpERkdXb3JrTGlzdHM6CiAgICAgICAgIHJldHVybiAiREZHIHdvcmsgbGlzdHMi
OwotICAgIGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpDb2RlQmxvY2tzOgorICAg
IGNhc2UgUm9vdE1hcmtSZWFzb246OkNvZGVCbG9ja3M6CiAgICAgICAgIHJldHVybiAiQ29kZSBi
bG9ja3MiOwotICAgIGNhc2UgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpET01HQ091dHB1
dDoKKyAgICBjYXNlIFJvb3RNYXJrUmVhc29uOjpET01HQ091dHB1dDoKICAgICAgICAgcmV0dXJu
ICJET00gR0Mgb3V0cHV0IjsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwU25hcHNob3RCdWlsZGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcFNuYXBzaG90QnVpbGRlci5o
CShyZXZpc2lvbiAyNzI3NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwU25h
cHNob3RCdWlsZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgYW5hbHl6ZU5vZGUoSlNDZWxsKikgZmluYWw7CiAKICAgICAvLyBBIHJlZmVy
ZW5jZSBmcm9tIG9uZSBjZWxsIHRvIGFub3RoZXIuCi0gICAgdm9pZCBhbmFseXplRWRnZShKU0Nl
bGwqIGZyb20sIEpTQ2VsbCogdG8sIFNsb3RWaXNpdG9yOjpSb290TWFya1JlYXNvbikgZmluYWw7
CisgICAgdm9pZCBhbmFseXplRWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIFJvb3RNYXJr
UmVhc29uKSBmaW5hbDsKICAgICB2b2lkIGFuYWx5emVQcm9wZXJ0eU5hbWVFZGdlKEpTQ2VsbCog
ZnJvbSwgSlNDZWxsKiB0bywgVW5pcXVlZFN0cmluZ0ltcGwqIHByb3BlcnR5TmFtZSkgZmluYWw7
CiAgICAgdm9pZCBhbmFseXplVmFyaWFibGVOYW1lRWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCog
dG8sIFVuaXF1ZWRTdHJpbmdJbXBsKiB2YXJpYWJsZU5hbWUpIGZpbmFsOwogICAgIHZvaWQgYW5h
bHl6ZUluZGV4RWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIHVpbnQzMl90IGluZGV4KSBm
aW5hbDsKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHN0cnVjdCBSb290
RGF0YSB7CiAgICAgICAgIGNvbnN0IGNoYXIqIHJlYWNoYWJpbGl0eUZyb21PcGFxdWVSb290UmVh
c29ucyB7IG51bGxwdHIgfTsKLSAgICAgICAgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uIG1h
cmtSZWFzb24geyBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246Ok5vbmUgfTsKKyAgICAgICAg
Um9vdE1hcmtSZWFzb24gbWFya1JlYXNvbiB7IFJvb3RNYXJrUmVhc29uOjpOb25lIH07CiAgICAg
fTsKICAgICAKICAgICBIZWFwUHJvZmlsZXImIG1fcHJvZmlsZXI7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9Sb290TWFya1JlYXNvbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1Jvb3RNYXJrUmVhc29uLmgJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvUm9vdE1hcmtSZWFzb24uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKK2VudW0gY2xhc3MgUm9vdE1hcmtSZWFzb24gOiB1aW50OF90
IHsKKyAgICBOb25lLAorICAgIENvbnNlcnZhdGl2ZVNjYW4sCisgICAgU3Ryb25nUmVmZXJlbmNl
cywKKyAgICBQcm90ZWN0ZWRWYWx1ZXMsCisgICAgTWFya0xpc3RTZXQsCisgICAgVk1FeGNlcHRp
b25zLAorICAgIFN0cm9uZ0hhbmRsZXMsCisgICAgRGVidWdnZXIsCisgICAgSklUU3R1YlJvdXRp
bmVzLAorICAgIFdlYWtTZXRzLAorICAgIE91dHB1dCwKKyAgICBERkdXb3JrTGlzdHMsCisgICAg
Q29kZUJsb2NrcywKKyAgICBET01HQ091dHB1dCwKK307CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9TbG90VmlzaXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgJKHJldmlzaW9uIDI3Mjc3MikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSGFuZGxlVHlwZXMuaCIKICNpbmNsdWRlICJJdGVyYXRpb25TdGF0
dXMuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKKyNpbmNsdWRlICJSb290TWFya1JlYXNvbi5o
IgogI2luY2x1ZGUgIlZpc2l0UmFjZUtleS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KQEAgLTU3LDIzICs1OCw2IEBAIGNsYXNzIFNs
b3RWaXNpdG9yIHsKICAgICBmcmllbmQgY2xhc3MgSGVhcDsKIAogcHVibGljOgotICAgIGVudW0g
Um9vdE1hcmtSZWFzb24gewotICAgICAgICBOb25lLAotICAgICAgICBDb25zZXJ2YXRpdmVTY2Fu
LAotICAgICAgICBTdHJvbmdSZWZlcmVuY2VzLAotICAgICAgICBQcm90ZWN0ZWRWYWx1ZXMsCi0g
ICAgICAgIE1hcmtMaXN0U2V0LAotICAgICAgICBWTUV4Y2VwdGlvbnMsCi0gICAgICAgIFN0cm9u
Z0hhbmRsZXMsCi0gICAgICAgIERlYnVnZ2VyLAotICAgICAgICBKSVRTdHViUm91dGluZXMsCi0g
ICAgICAgIFdlYWtTZXRzLAotICAgICAgICBPdXRwdXQsCi0gICAgICAgIERGR1dvcmtMaXN0cywK
LSAgICAgICAgQ29kZUJsb2NrcywKLSAgICAgICAgRE9NR0NPdXRwdXQsCi0gICAgfTsKLQogICAg
IFNsb3RWaXNpdG9yKEhlYXAmLCBDU3RyaW5nIGNvZGVOYW1lKTsKICAgICB+U2xvdFZpc2l0b3Io
KTsKIApAQCAtMjg5LDcgKzI3Myw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIFNldFJvb3RNYXJrUmVh
c29uU2NvcGUgewogcHVibGljOgotICAgIFNldFJvb3RNYXJrUmVhc29uU2NvcGUoU2xvdFZpc2l0
b3ImIHZpc2l0b3IsIFNsb3RWaXNpdG9yOjpSb290TWFya1JlYXNvbiByZWFzb24pCisgICAgU2V0
Um9vdE1hcmtSZWFzb25TY29wZShTbG90VmlzaXRvciYgdmlzaXRvciwgUm9vdE1hcmtSZWFzb24g
cmVhc29uKQogICAgICAgICA6IG1fdmlzaXRvcih2aXNpdG9yKQogICAgICAgICAsIG1fcHJldmlv
dXNSZWFzb24odmlzaXRvci5yb290TWFya1JlYXNvbigpKQogICAgIHsKQEAgLTMwMyw3ICsyODcs
NyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU2xvdFZpc2l0b3ImIG1fdmlzaXRvcjsKLSAg
ICBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb24gbV9wcmV2aW91c1JlYXNvbjsKKyAgICBSb290
TWFya1JlYXNvbiBtX3ByZXZpb3VzUmVhc29uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5q
ZWN0ZWRTY3JpcHRIb3N0LmNwcAkocmV2aXNpb24gMjcyNzcyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC03NTMsNyArNzUzLDcgQEAgcHVibGljOgogCiAgICAgSGFzaFNldDxKU0NlbGwqPiYgaG9s
ZGVycygpIHsgcmV0dXJuIG1faG9sZGVyczsgfQogCi0gICAgdm9pZCBhbmFseXplRWRnZShKU0Nl
bGwqIGZyb20sIEpTQ2VsbCogdG8sIFNsb3RWaXNpdG9yOjpSb290TWFya1JlYXNvbiByZWFzb24p
IGZpbmFsCisgICAgdm9pZCBhbmFseXplRWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIFJv
b3RNYXJrUmVhc29uIHJlYXNvbikgZmluYWwKICAgICB7CiAgICAgICAgIEFTU0VSVCh0byk7CiAg
ICAgICAgIEFTU0VSVCh0by0+dm0oKS5oZWFwUHJvZmlsZXIoKS0+YWN0aXZlSGVhcEFuYWx5emVy
KCkgPT0gdGhpcyk7CkBAIC03NzMsMTQgKzc3MywxNCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAg
ICAgbV9ob2xkZXJzLmFkZChmcm9tKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChyZWFzb24g
PT0gU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpEZWJ1Z2dlcikKKyAgICAgICAgaWYgKHJl
YXNvbiA9PSBSb290TWFya1JlYXNvbjo6RGVidWdnZXIpCiAgICAgICAgICAgICBtX3Jvb3RzVG9J
Z25vcmUuYWRkKHRvKTsKLSAgICAgICAgZWxzZSBpZiAoIWZyb20gfHwgcmVhc29uICE9IFNsb3RW
aXNpdG9yOjpSb290TWFya1JlYXNvbjo6Tm9uZSkKKyAgICAgICAgZWxzZSBpZiAoIWZyb20gfHwg
cmVhc29uICE9IFJvb3RNYXJrUmVhc29uOjpOb25lKQogICAgICAgICAgICAgbV9yb290c1RvSW5j
bHVkZS5hZGQodG8pOwogICAgIH0KLSAgICB2b2lkIGFuYWx5emVQcm9wZXJ0eU5hbWVFZGdlKEpT
Q2VsbCogZnJvbSwgSlNDZWxsKiB0bywgVW5pcXVlZFN0cmluZ0ltcGwqKSBmaW5hbCB7IGFuYWx5
emVFZGdlKGZyb20sIHRvLCBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246Ok5vbmUpOyB9Ci0g
ICAgdm9pZCBhbmFseXplVmFyaWFibGVOYW1lRWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8s
IFVuaXF1ZWRTdHJpbmdJbXBsKikgZmluYWwgeyBhbmFseXplRWRnZShmcm9tLCB0bywgU2xvdFZp
c2l0b3I6OlJvb3RNYXJrUmVhc29uOjpOb25lKTsgfQotICAgIHZvaWQgYW5hbHl6ZUluZGV4RWRn
ZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIHVpbnQzMl90KSBmaW5hbCB7IGFuYWx5emVFZGdl
KGZyb20sIHRvLCBTbG90VmlzaXRvcjo6Um9vdE1hcmtSZWFzb246Ok5vbmUpOyB9CisgICAgdm9p
ZCBhbmFseXplUHJvcGVydHlOYW1lRWRnZShKU0NlbGwqIGZyb20sIEpTQ2VsbCogdG8sIFVuaXF1
ZWRTdHJpbmdJbXBsKikgZmluYWwgeyBhbmFseXplRWRnZShmcm9tLCB0bywgUm9vdE1hcmtSZWFz
b246Ok5vbmUpOyB9CisgICAgdm9pZCBhbmFseXplVmFyaWFibGVOYW1lRWRnZShKU0NlbGwqIGZy
b20sIEpTQ2VsbCogdG8sIFVuaXF1ZWRTdHJpbmdJbXBsKikgZmluYWwgeyBhbmFseXplRWRnZShm
cm9tLCB0bywgUm9vdE1hcmtSZWFzb246Ok5vbmUpOyB9CisgICAgdm9pZCBhbmFseXplSW5kZXhF
ZGdlKEpTQ2VsbCogZnJvbSwgSlNDZWxsKiB0bywgdWludDMyX3QpIGZpbmFsIHsgYW5hbHl6ZUVk
Z2UoZnJvbSwgdG8sIFJvb3RNYXJrUmVhc29uOjpOb25lKTsgfQogCiAgICAgdm9pZCBhbmFseXpl
Tm9kZShKU0NlbGwqKSBmaW5hbCB7IH0KICAgICB2b2lkIHNldE9wYXF1ZVJvb3RSZWFjaGFiaWxp
dHlSZWFzb25Gb3JDZWxsKEpTQ2VsbCosIGNvbnN0IGNoYXIqKSBmaW5hbCB7IH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI3Mjc3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAyLTEyICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIFJvb3RNYXJrUmVhc29uIG91dCBvZiBTbG90
VmlzaXRvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMTgzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogYmluZGluZ3MvanMvRE9NR0NPdXRwdXRDb25zdHJhaW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTUdDT3V0cHV0Q29uc3RyYWludDo6ZXhlY3V0ZUltcGwpOgorCiAyMDIxLTAyLTExICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgZHJhd0ds
eXBocygpIHNob3VsZCB0YWtlIGEgR2x5cGgqIGFuZCBhbiBBZHZhbmNlKiBpbnN0ZWFkIG9mIGEg
R2x5cGhCdWZmZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTUdDT3V0cHV0
Q29uc3RyYWludC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
RE9NR0NPdXRwdXRDb25zdHJhaW50LmNwcAkocmV2aXNpb24gMjcyNzcyKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvRE9NR0NPdXRwdXRDb25zdHJhaW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTYxLDcgKzYxLDcgQEAgdm9pZCBET01HQ091dHB1dENvbnN0cmFpbnQ6OmV4ZWN1dGVJ
bXBsKAogICAgIG1fY2xpZW50RGF0YS5mb3JFYWNoT3V0cHV0Q29uc3RyYWludFNwYWNlKAogICAg
ICAgICBbJl0gKFN1YnNwYWNlJiBzdWJzcGFjZSkgewogICAgICAgICAgICAgYXV0byBmdW5jID0g
W10gKFNsb3RWaXNpdG9yJiB2aXNpdG9yLCBIZWFwQ2VsbCogaGVhcENlbGwsIEhlYXBDZWxsOjpL
aW5kKSB7Ci0gICAgICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29wZSByb290U2NvcGUo
dmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpET01HQ091dHB1dCk7CisgICAg
ICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29wZSByb290U2NvcGUodmlzaXRvciwgUm9v
dE1hcmtSZWFzb246OkRPTUdDT3V0cHV0KTsKICAgICAgICAgICAgICAgICBKU0NlbGwqIGNlbGwg
PSBzdGF0aWNfY2FzdDxKU0NlbGwqPihoZWFwQ2VsbCk7CiAgICAgICAgICAgICAgICAgY2VsbC0+
bWV0aG9kVGFibGUodmlzaXRvci52bSgpKS0+dmlzaXRPdXRwdXRDb25zdHJhaW50cyhjZWxsLCB2
aXNpdG9yKTsKICAgICAgICAgICAgIH07Cg==
</data>
<flag name="review"
          id="438578"
          type_id="1"
          status="+"
          setter="tzagallo"
    />
          </attachment>
      

    </bug>

</bugzilla>