<?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>225758</bug_id>
          
          <creation_ts>2021-05-13 04:51:06 -0700</creation_ts>
          <short_desc>[LFC] Move table formatting quirks to its own class</short_desc>
          <delta_ts>2021-05-15 13:23:17 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>225731</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1759637</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-05-13 04:51:06 -0700</bug_when>
    <thetext>This is part of bug 225731 activity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759667</commentid>
    <comment_count>1</comment_count>
      <attachid>428506</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-13 05:54:42 -0700</bug_when>
    <thetext>Created attachment 428506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760446</commentid>
    <comment_count>2</comment_count>
      <attachid>428738</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-15 12:54:14 -0700</bug_when>
    <thetext>Created attachment 428738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760454</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-15 13:22:44 -0700</bug_when>
    <thetext>Committed r277546 (237774@main): &lt;https://commits.webkit.org/237774@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428738.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760455</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-15 13:23:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/78062849&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428506</attachid>
            <date>2021-05-13 05:54:42 -0700</date>
            <delta_ts>2021-05-15 12:54:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225758-20210513055442.patch</filename>
            <type>text/plain</type>
            <size>20166</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE5ZDEyNDY2NTYyNDFh
MTM2ZGYzNzJjYjQxZjMyZGViNWY0MzYwNy4uZDQ3NDc4NjdiZDcyYWQ5NDJkMTNlM2JmODgyNTk1
M2QxZjBlZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA1LTEzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBNb3ZlIHRhYmxlIGZv
cm1hdHRpbmcgcXVpcmtzIHRvIGl0cyBvd24gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OnF1aXJrcyBjb25zdCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6
OlF1aXJrczo6UXVpcmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOiBSZW1vdmVkLgor
CiAyMDIxLTA1LTA1ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbTVNFXVtHU3RyZWFtZXJdIFdlYktpdE1lZGlhU3JjIHJld29yayB2MgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAppbmRleCBlYmRkOWE1NWE5NmJiNDUyMGVkNDNmYWMxNjI2MDdkMjQ0Mzg2ZDc4Li44ZWJh
M2RmNjM3ZDI5OTBkYzJjM2M4YTEwNzBhYmM3MjAzZjk3ZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAt
MTU2NCw3ICsxNTY0LDcgQEAgbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWRCb3guY3Bw
CiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKIGxheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAot
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0UXVp
cmtzLmNwcAorbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdR
dWlya3MuY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGlu
Z1N0YXRlLmNwcAogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUdyaWQuY3Bw
CiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlTGF5b3V0LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNh
YjY0MjI0Y2FmMTEwNmExNmNiNzAxNmVhM2JkZDMzYTMwZjZmZjYuLjQwZDJhM2RiYzhmYmRmZDgz
ZmUxYzM3MzE2OTI4MTdkYWVjZmU2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxMzMsNiArMjEzMyw3IEBACiAJCTZGMzYw
RTUwMjM5OTk0MjEwMDE1MTJBNyAvKiBJbmxpbmVTb2Z0TGluZUJyZWFrSXRlbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkYzNjBFNEUyMzk5OTQyMDAw
MTUxMkE3IC8qIElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkYzRkJBOTgyNTU2RTMxMzAwMzUzMEZEIC8q
IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGM0ZCQTk3MjU1NkUzMTIwMDM1MzBGRCAv
KiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY0MERBODIyNTEzMDMzQTAwRUMw
NEI3IC8qIElubGluZVJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGNDBEQTgxMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkY0OUMzRTcyNjQ3
OUIzQzAwNTE5NTNEIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY0OUMzRTYyNjQ3OUIzQjAwNTE5NTNEIC8q
IFRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTZGNjM4M0Y2MjQyN0FGNEEwMERBQkE1MyAvKiBMYXlvdXRJbml0
aWFsQ29udGFpbmluZ0Jsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RjYzODNGNDI0MjdBRjQ5MDBEQUJBNTMgLyogTGF5b3V0SW5pdGlhbENvbnRh
aW5pbmdCbG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTZGNkRGMzZGMjY0NzIyRUEwMDkzRTgzNCAvKiBCbG9ja01hcmdpbkNvbGxhcHNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjZERjM2RTI2
NDcyMkVBMDA5M0U4MzQgLyogQmxvY2tNYXJnaW5Db2xsYXBzZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZGN0NBM0M2MjA4QzI5NTcwMDJGMjlB
QiAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkY3Q0EzQzQyMDhDMjk1NjAwMkYyOUFCIC8qIExheW91dFN0YXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk5NjIsNiArOTk2
Myw3IEBACiAJCTZGM0ZCQTk2MjU1NkUzMDgwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dEludGVncmF0
aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RjNGQkE5NzI1NTZFMzEyMDAzNTMwRkQgLyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRl
Z3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZGNDBEQTgxMjUxMzAzM0EwMEVDMDRCNyAvKiBJbmxpbmVSZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZVJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNkY0OUMzRTYyNjQ3OUIzQjAwNTE5NTNEIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJr
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdRdWly
a3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY0QTVCRDUyMkY5RjE2QjAwQTgw
RjI1IC8qIExheW91dFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFBoYXNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY1QjdFQUEyMzAwQTc5RTAwNjdEOUMz
IC8qIFRhYmxlR3JpZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUYWJsZUdyaWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjYzODNGNDI0MjdBRjQ5MDBEQUJBNTMgLyogTGF5
b3V0SW5pdGlhbENvbnRhaW5pbmdCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMDAyMCw3ICsxMDAyMiw3IEBACiAJCTZGQjdEMkRBMjUwRkQ3RkMwMDAyMDdB
QSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEZsZXhGb3JtYXR0aW5nU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkZCQjg2MDUyMEI0NjRCNjAwREFEOTM4IC8qIEZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGQzNGOTQ1MjUxNjc1NjYwMEE0OUJFQSAvKiBJbmxp
bmVMaW5lUnVuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUxpbmVS
dW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkZDNTNBRUIyNEFGN0E4RTAwNjA1
OUZFIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVGFibGVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTZGQzUzQUVCMjRBRjdBOEUwMDYwNTlGRSAvKiBUYWJsZUZvcm1hdHRpbmdRdWly
a3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZDNUNBOTIyMkUzNTk5MzAwQjEzRTExIC8qIFRh
YmxlRm9ybWF0dGluZ1N0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhYmxlRm9ybWF0dGlu
Z1N0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZDNUNBOTQyMkUzNTk5
NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZGQzVDQTk1MjJFMzU5OTQwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIyNjUyLDcgKzIyNjU0LDggQEAKIAkJCQk2RkM1Q0E5NDIyRTM1OTk0
MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgKi8sCiAJCQkJNkZDNUNBOTUy
MkUzNTk5NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuaCAqLywKIAkJCQkxMUQx
OUMyRTIzMTU5QkFFMDA4RjI0RDMgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cCAqLywKLQkJCQk2RkM1M0FFQjI0QUY3QThFMDA2MDU5RkUgLyogVGFibGVGb3JtYXR0aW5nQ29u
dGV4dFF1aXJrcy5jcHAgKi8sCisJCQkJNkY0OUMzRTYyNjQ3OUIzQjAwNTE5NTNEIC8qIFRhYmxl
Rm9ybWF0dGluZ1F1aXJrcy5oICovLAorCQkJCTZGQzUzQUVCMjRBRjdBOEUwMDYwNTlGRSAvKiBU
YWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwICovLAogCQkJCTZGQzVDQTkyMjJFMzU5OTMwMEIxM0Ux
MSAvKiBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5jcHAgKi8sCiAJCQkJNkZDNUNBOTYyMkUzNTk5NTAw
QjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ1N0YXRlLmggKi8sCiAJCQkJNkY1QjdFQUEyMzAwQTc5
RTAwNjdEOUMzIC8qIFRhYmxlR3JpZC5jcHAgKi8sCkBAIC0zNDAyNyw2ICszNDAzMCw3IEBACiAJ
CQkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ0QTI4QUFDMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRoTUxFbGVtZW50RmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEJDRjgzRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TEZyYWN0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNkY0OUMzRTcyNjQ3OUIzQzAw
NTE5NTNEIC8qIFRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkFC
RTcyRjkxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk0NEEyOEFBRjEyREZCOEJGMDBBRTkyM0IgLyogTWF0aE1MTmFtZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZBNjU0QTZDMTEwOEFCRUQwMDI2MTZGMSAvKiBNYXRoTUxPcGVyYXRvckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKaW5kZXggOTAyYWY3YzVlZDg4ZDUwNGNhYzQyNWExMzUyMTAwOGI2ZTU4
YjlhYy4uOTZkZjhiYWI1ZjdlZTg3ZDIwMjdmMTE3ODIwNzEwZTYwMDUwMTZhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0zNyw2ICszNyw3
IEBACiAjaW5jbHVkZSAiTGF5b3V0Q2hpbGRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxheW91dENv
bnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmgiCisjaW5j
bHVkZSAiVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgiCiAjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5n
U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC01MTQsNiAr
NTE1LDEyIEBAIHZvaWQgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1
dGVFeHRyYVNwYWNlKExheW91dFVuaXQgYXZhaWxhYmxlCiAgICAgfQogfQogCitUYWJsZUZvcm1h
dHRpbmdRdWlya3MgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6cXVpcmtzKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gVGFibGVGb3JtYXR0aW5nUXVpcmtzKCp0aGlzKTsKK30KKworCiB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUv
VGFibGVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggMWYzMGRlMTM1
NDU2NjU1ODFlYjk0OWEyN2I4MGRmNGUxMjIyNWU2Zi4uOGZmZmUzYzRkYzg0NTk2MzMzZDdiMmJl
MjBmNjg5ODUwYzIzZWY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTM3LDYgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNl
IExheW91dCB7CiAKIGNsYXNzIEludmFsaWRhdGlvblN0YXRlOworY2xhc3MgVGFibGVGb3JtYXR0
aW5nUXVpcmtzOworCiAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgdGhlIGxheW91dCBsb2dpYyBm
b3IgdGFibGUgZm9ybWF0dGluZyBjb250ZXh0cy4KIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9D
U1MyMi90YWJsZXMuaHRtbAogY2xhc3MgVGFibGVGb3JtYXR0aW5nQ29udGV4dCBmaW5hbCA6IHB1
YmxpYyBGb3JtYXR0aW5nQ29udGV4dCB7CkBAIC00OCwyMiArNTAsNiBAQCBwdWJsaWM6CiAKICAg
ICBzdGF0aWMgVW5pcXVlUmVmPFRhYmxlR3JpZD4gZW5zdXJlVGFibGVHcmlkKGNvbnN0IENvbnRh
aW5lckJveCYgdGFibGVCb3gpOwogCi1wcml2YXRlOgotICAgIGNsYXNzIFRhYmxlTGF5b3V0IHsK
LSAgICBwdWJsaWM6Ci0gICAgICAgIFRhYmxlTGF5b3V0KGNvbnN0IFRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQmLCBjb25zdCBUYWJsZUdyaWQmKTsKLQotICAgICAgICB1c2luZyBEaXN0cmlidXRlZFNw
YWNlcyA9IFZlY3RvcjxMYXlvdXRVbml0PjsKLSAgICAgICAgRGlzdHJpYnV0ZWRTcGFjZXMgZGlz
dHJpYnV0ZWRIb3Jpem9udGFsU3BhY2UoTGF5b3V0VW5pdCBhdmFpbGFibGVIb3Jpem9udGFsU3Bh
Y2UpOwotICAgICAgICBEaXN0cmlidXRlZFNwYWNlcyBkaXN0cmlidXRlZFZlcnRpY2FsU3BhY2Uo
T3B0aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlVmVydGljYWxTcGFjZSk7Ci0KLSAgICBwcml2
YXRlOgotICAgICAgICBjb25zdCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29u
dGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybWF0dGluZ0NvbnRleHQ7IH0KLQotICAgICAgICBj
b25zdCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0JiBtX2Zvcm1hdHRpbmdDb250ZXh0OwotICAgICAg
ICBjb25zdCBUYWJsZUdyaWQmIG1fZ3JpZDsKLSAgICB9OwotCiAgICAgY2xhc3MgR2VvbWV0cnkg
OiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5IHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExheW91dFVuaXQgY2VsbEhlaWdoKGNvbnN0IENvbnRhaW5lckJveCYpIGNvbnN0OwpAQCAt
ODEsMTYgKzY3LDIzIEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBUYWJsZUZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIEdlb21ldHJ5KCp0aGlzLCBm
b3JtYXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKSk7IH0KIAotICAgIGNsYXNzIFF1aXJrcyA6IHB1
YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKK3ByaXZhdGU6CisgICAgY2xhc3MgVGFi
bGVMYXlvdXQgewogICAgIHB1YmxpYzoKLSAgICAgICAgUXVpcmtzKGNvbnN0IFRhYmxlRm9ybWF0
dGluZ0NvbnRleHQmKTsKKyAgICAgICAgVGFibGVMYXlvdXQoY29uc3QgVGFibGVGb3JtYXR0aW5n
Q29udGV4dCYsIGNvbnN0IFRhYmxlR3JpZCYpOworCisgICAgICAgIHVzaW5nIERpc3RyaWJ1dGVk
U3BhY2VzID0gVmVjdG9yPExheW91dFVuaXQ+OworICAgICAgICBEaXN0cmlidXRlZFNwYWNlcyBk
aXN0cmlidXRlZEhvcml6b250YWxTcGFjZShMYXlvdXRVbml0IGF2YWlsYWJsZUhvcml6b250YWxT
cGFjZSk7CisgICAgICAgIERpc3RyaWJ1dGVkU3BhY2VzIGRpc3RyaWJ1dGVkVmVydGljYWxTcGFj
ZShPcHRpb25hbDxMYXlvdXRVbml0PiBhdmFpbGFibGVWZXJ0aWNhbFNwYWNlKTsKIAotICAgICAg
ICBib29sIHNob3VsZElnbm9yZUNoaWxkQ29udGVudFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRh
aW5lckJveCYpIGNvbnN0OworICAgIHByaXZhdGU6CisgICAgICAgIGNvbnN0IFRhYmxlRm9ybWF0
dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9mb3JtYXR0
aW5nQ29udGV4dDsgfQogCi0gICAgICAgIGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmIGZv
cm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8VGFibGVGb3JtYXR0aW5n
Q29udGV4dD4oRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6Zm9ybWF0dGluZ0NvbnRleHQoKSk7
IH0KLSAgICAgICAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnkgZ2VvbWV0cnkoKSBj
b25zdCB7IHJldHVybiBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5KCk7IH0KKyAgICAgICAg
Y29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYgbV9mb3JtYXR0aW5nQ29udGV4dDsKKyAgICAg
ICAgY29uc3QgVGFibGVHcmlkJiBtX2dyaWQ7CiAgICAgfTsKLSAgICBUYWJsZUZvcm1hdHRpbmdD
b250ZXh0OjpRdWlya3MgcXVpcmtzKCkgY29uc3QgeyByZXR1cm4gUXVpcmtzKCp0aGlzKTsgfQor
CisgICAgVGFibGVGb3JtYXR0aW5nUXVpcmtzIHF1aXJrcygpIGNvbnN0OwogCiAgICAgVGFibGVG
b3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQgdGFibGVMYXlvdXQoKSBjb25zdCB7IHJldHVy
biBUYWJsZUxheW91dCgqdGhpcywgZm9ybWF0dGluZ1N0YXRlKCkudGFibGVHcmlkKCkpOyB9CiAK
QEAgLTExMywxMSArMTA2LDYgQEAgaW5saW5lIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpHZW9tZXRyeShjb25zdCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0JgogewogfQogCi1pbmxp
bmUgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpRdWlya3MoY29uc3QgVGFibGVGb3Jt
YXR0aW5nQ29udGV4dCYgdGFibGVGb3JtYXR0aW5nQ29udGV4dCkKLSAgICA6IEZvcm1hdHRpbmdD
b250ZXh0OjpRdWlya3ModGFibGVGb3JtYXR0aW5nQ29udGV4dCkKLXsKLX0KLQogfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxl
L1RhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY0YTYyZGZmMDcxNGFkNjhmYTc4OTY4
NWZiYmIyMTM3NGZmMTUzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1Rh
YmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmgiCi0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKLQotI2luY2x1ZGUgIkxheW91dEJveC5oIgotI2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJv
eC5oIgotI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLW5h
bWVzcGFjZSBMYXlvdXQgewotCi1ib29sIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6
c2hvdWxkSWdub3JlQ2hpbGRDb250ZW50VmVydGljYWxNYXJnaW4oY29uc3QgQ29udGFpbmVyQm94
JiBjZWxsQm94KSBjb25zdAotewotICAgIC8vIE5vcm1hbGx5IEJGQyByb290IGNvbnRlbnQgaGVp
Z2h0IHRha2VzIHRoZSBtYXJnaW4gYm94IG9mIHRoZSBjaGlsZCBjb250ZW50IGFzIHZlcnRpY2Fs
IG1hcmdpbnMgZG9uJ3QgY29sbGFwc2Ugd2l0aCBCRkMgcm9vdHMsCi0gICAgLy8gYnV0IHRhYmxl
IGNlbGwgYm94ZXMgZG8gY29sbGFwc2UgdGhlaXIgKG5vbi1leGlzdGluZykgbWFyZ2lucyB3aXRo
IGNoaWxkIHF1aXJrIG1hcmdpbnMgKHNvIG11Y2ggcXVpcmspLCBzbyBoZXJlIHdlIGNoZWNrCi0g
ICAgLy8gaWYgdGhlIGNvbnRlbnQgaGVpZ2h0IHNob3VsZCBpbmNsdWRlIG1hcmdpbnMgb3Igbm90
LgotICAgIC8vIGUuZyA8dGFibGU+PHRyPjx0ZD48cD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90
YWJsZT4gPC0gPHA+J3MgcXVpcmsgbWFyZ2luIGNvbGxhcHNlcyB3aXRoIHRoZSA8dGQ+IHNvIGl0
cyBjb250ZW50Ci0gICAgLy8gaGVpZ2h0IHNob3VsZCBub3QgaW5jbHVkZSB2ZXJ0aWNhbCBtYXJn
aW5zLgotICAgIGlmICghbGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGlmIChjZWxsQm94LmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghY2VsbEJveC5oYXNJbkZs
b3dDaGlsZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGNlbGxCb3guZmly
c3RJbkZsb3dDaGlsZCgpLT5zdHlsZSgpLmhhc01hcmdpbkJlZm9yZVF1aXJrKCkgfHwgY2VsbEJv
eC5sYXN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5oYXNNYXJnaW5BZnRlclF1aXJrKCk7Ci19Ci0K
LX0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJr
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmFmYTI2ODdlOTNhYWE5ZDhmMzM1YTA1ZGJkZjhhODU4ZjVmZGVm
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcApAQCAtMCwwICsxLDYyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRhYmxlRm9ybWF0dGlu
Z1F1aXJrcy5oIgorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNp
bmNsdWRlICJMYXlvdXRCb3guaCIKKyNpbmNsdWRlICJMYXlvdXRDb250YWluZXJCb3guaCIKKyNp
bmNsdWRlICJMYXlvdXRTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2Ug
TGF5b3V0IHsKKworVGFibGVGb3JtYXR0aW5nUXVpcmtzOjpUYWJsZUZvcm1hdHRpbmdRdWlya3Mo
Y29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYgdGFibGVGb3JtYXR0aW5nQ29udGV4dCkKKyAg
ICA6IEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3ModGFibGVGb3JtYXR0aW5nQ29udGV4dCkKK3sK
K30KKworYm9vbCBUYWJsZUZvcm1hdHRpbmdRdWlya3M6OnNob3VsZElnbm9yZUNoaWxkQ29udGVu
dFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRhaW5lckJveCYgY2VsbEJveCkgY29uc3QKK3sKKyAg
ICAvLyBOb3JtYWxseSBCRkMgcm9vdCBjb250ZW50IGhlaWdodCB0YWtlcyB0aGUgbWFyZ2luIGJv
eCBvZiB0aGUgY2hpbGQgY29udGVudCBhcyB2ZXJ0aWNhbCBtYXJnaW5zIGRvbid0IGNvbGxhcHNl
IHdpdGggQkZDIHJvb3RzLAorICAgIC8vIGJ1dCB0YWJsZSBjZWxsIGJveGVzIGRvIGNvbGxhcHNl
IHRoZWlyIChub24tZXhpc3RpbmcpIG1hcmdpbnMgd2l0aCBjaGlsZCBxdWlyayBtYXJnaW5zIChz
byBtdWNoIHF1aXJrKSwgc28gaGVyZSB3ZSBjaGVjaworICAgIC8vIGlmIHRoZSBjb250ZW50IGhl
aWdodCBzaG91bGQgaW5jbHVkZSBtYXJnaW5zIG9yIG5vdC4KKyAgICAvLyBlLmcgPHRhYmxlPjx0
cj48dGQ+PHA+dGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGFibGU+IDwtIDxwPidzIHF1aXJrIG1h
cmdpbiBjb2xsYXBzZXMgd2l0aCB0aGUgPHRkPiBzbyBpdHMgY29udGVudAorICAgIC8vIGhlaWdo
dCBzaG91bGQgbm90IGluY2x1ZGUgdmVydGljYWwgbWFyZ2lucy4KKyAgICBpZiAoIWxheW91dFN0
YXRlKCkuaW5RdWlya3NNb2RlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoY2Vs
bEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoIWNlbGxCb3guaGFzSW5GbG93Q2hpbGQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBjZWxsQm94LmZpcnN0SW5GbG93Q2hpbGQoKS0+c3R5bGUo
KS5oYXNNYXJnaW5CZWZvcmVRdWlyaygpIHx8IGNlbGxCb3gubGFzdEluRmxvd0NoaWxkKCktPnN0
eWxlKCkuaGFzTWFyZ2luQWZ0ZXJRdWlyaygpOworfQorCit9Cit9CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUZvcm1hdHRpbmdRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDU3NzZkYzgx
M2U5MDkzZmQzMTIzYmI4MmY0MjdkNGMzNjBlYzJjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5n
UXVpcmtzLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJGb3JtYXR0
aW5nQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsK
KworY2xhc3MgVGFibGVGb3JtYXR0aW5nUXVpcmtzIDogcHVibGljIEZvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3MgeworcHVibGljOgorICAgIFRhYmxlRm9ybWF0dGluZ1F1aXJrcyhjb25zdCBUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0Jik7CisKKyAgICBib29sIHNob3VsZElnbm9yZUNoaWxkQ29udGVu
dFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRhaW5lckJveCYpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29u
c3QgeyByZXR1cm4gZG93bmNhc3Q8VGFibGVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0Nv
bnRleHQ6OlF1aXJrczo6Zm9ybWF0dGluZ0NvbnRleHQoKSk7IH0KKyAgICBUYWJsZUZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIGZvcm1hdHRpbmdD
b250ZXh0KCkuZ2VvbWV0cnkoKTsgfQorfTsKKworfQorfQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428738</attachid>
            <date>2021-05-15 12:54:14 -0700</date>
            <delta_ts>2021-05-15 13:22:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225758-20210515125413.patch</filename>
            <type>text/plain</type>
            <size>20193</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0ZDdjN2M5NzI5OTJk
NThiMDhmNjg5ODdjZDVmYjI1ZTk0MTIxYy4uYjcyZjk1MGFiMmExNWFjYWM4YTI4MGViZTNkYjVh
ZWYzNjEzZTA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA1LTE1ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBNb3ZlIHRhYmxlIGZv
cm1hdHRpbmcgcXVpcmtzIHRvIGl0cyBvd24gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc1OAorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OnF1aXJrcyBjb25zdCk6CisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6
OlF1aXJrczo6UXVpcmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwOiBSZW1vdmVkLgor
CiAyMDIxLTA1LTE1ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXSBNb3ZlIGlubGluZSBmb3JtYXR0aW5nIHF1aXJrcyB0byBpdHMgb3duIGNsYXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGU1Y2I3ODA2YTlkNjdjOTNlOTkyMjNkZjNhZjhhOTQzMGZkMDExZTIuLjQz
ZGVlNDM5OTc3NGJjMzBiOTg1M2QxZmFmNDI3YWU1MWNlMWQyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0xNTYzLDcgKzE1NjMsNyBAQCBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZEJveC5j
cHAKIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAogbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
Ci1sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRR
dWlya3MuY3BwCitsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGlu
Z1F1aXJrcy5jcHAKIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0
aW5nU3RhdGUuY3BwCiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlR3JpZC5j
cHAKIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVMYXlvdXQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
Njc4NGFlN2RlNjZjZGQxNWRiOGY4NWNmNjIyYzYyZDBlNjRhYTc1OC4uZWFhMmYxNjVjMGNlMzhi
OWQwY2RhZTI4MTIxMjdhOTM2NDJlNTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjEzNSw2ICsyMTM1LDcgQEAKIAkJNkYz
NjBFNTAyMzk5OTQyMTAwMTUxMkE3IC8qIElubGluZVNvZnRMaW5lQnJlYWtJdGVtLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjM2MEU0RTIzOTk5NDIw
MDAxNTEyQTcgLyogSW5saW5lU29mdExpbmVCcmVha0l0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjNGQkE5ODI1NTZFMzEzMDAzNTMwRkQg
LyogTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkYzRkJBOTcyNTU2RTMxMjAwMzUzMEZE
IC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RjQwREE4MjI1MTMwMzNBMDBF
QzA0QjcgLyogSW5saW5lUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNkY0MERBODEyNTEzMDMzQTAwRUMwNEI3IC8qIElubGluZVJlY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RjQ5QzNFNzI2
NDc5QjNDMDA1MTk1M0QgLyogVGFibGVGb3JtYXR0aW5nUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RjQ5QzNFNjI2NDc5QjNCMDA1MTk1M0Qg
LyogVGFibGVGb3JtYXR0aW5nUXVpcmtzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY2MzgzRjYyNDI3QUY0QTAwREFCQTUzIC8qIExheW91dElu
aXRpYWxDb250YWluaW5nQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZGNjM4M0Y0MjQyN0FGNDkwMERBQkE1MyAvKiBMYXlvdXRJbml0aWFsQ29u
dGFpbmluZ0Jsb2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNkY2REYzNkYyNjQ3MjJFQTAwOTNFODM0IC8qIEJsb2NrTWFyZ2luQ29sbGFwc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNkRGMzZF
MjY0NzIyRUEwMDkzRTgzNCAvKiBCbG9ja01hcmdpbkNvbGxhcHNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkY3Q0EzQzYyMDhDMjk1NzAwMkYy
OUFCIC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RjdDQTNDNDIwOEMyOTU2MDAyRjI5QUIgLyogTGF5b3V0U3RhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTk2NCw2ICs5
OTY1LDcgQEAKIAkJNkYzRkJBOTYyNTU2RTMwODAwMzUzMEZEIC8qIExheW91dEludGVncmF0aW9u
SW5saW5lQ29udGVudEJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0SW50ZWdy
YXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZGM0ZCQTk3MjU1NkUzMTIwMDM1MzBGRCAvKiBMYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnRCdWlsZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkY0MERBODEyNTEzMDMzQTAwRUMwNEI3IC8qIElubGluZVJlY3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lUmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk2RjQ5QzNFNjI2NDc5QjNCMDA1MTk1M0QgLyogVGFibGVGb3JtYXR0aW5nUXVp
cmtzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRhYmxlRm9ybWF0dGluZ1F1
aXJrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjRBNUJENTIyRjlGMTZCMDBB
ODBGMjUgLyogTGF5b3V0UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0UGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjVCN0VBQTIzMDBBNzlFMDA2N0Q5
QzMgLyogVGFibGVHcmlkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhYmxlR3JpZC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGNjM4M0Y0MjQyN0FGNDkwMERBQkE1MyAvKiBM
YXlvdXRJbml0aWFsQ29udGFpbmluZ0Jsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IExheW91dEluaXRpYWxDb250YWluaW5nQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEwMDIxLDcgKzEwMDIzLDcgQEAKIAkJNkZCN0QyREEyNTBGRDdGQzAwMDIw
N0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRmxleEZvcm1hdHRpbmdTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RkJCODYwNTIwQjQ2NEI2MDBEQUQ5MzggLyogRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZDM0Y5NDUyNTE2NzU2NjAwQTQ5QkVBIC8qIElu
bGluZUxpbmVSdW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lTGlu
ZVJ1bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2RkM1M0FFQjI0QUY3QThFMDA2
MDU5RkUgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNkZDNTNBRUIyNEFGN0E4RTAwNjA1OUZFIC8qIFRhYmxlRm9ybWF0dGluZ1F1
aXJrcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkM1Q0E5MjIyRTM1OTkzMDBCMTNFMTEgLyog
VGFibGVGb3JtYXR0aW5nU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGFibGVGb3JtYXR0
aW5nU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkM1Q0E5NDIyRTM1
OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkZDNUNBOTUyMkUzNTk5NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjI2NjYsNyArMjI2NjgsOCBAQAogCQkJCTZGQzVDQTk0MjJFMzU5
OTQwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLywKIAkJCQk2RkM1Q0E5
NTIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oICovLAogCQkJCTEx
RDE5QzJFMjMxNTlCQUUwMDhGMjREMyAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnku
Y3BwICovLAotCQkJCTZGQzUzQUVCMjRBRjdBOEUwMDYwNTlGRSAvKiBUYWJsZUZvcm1hdHRpbmdD
b250ZXh0UXVpcmtzLmNwcCAqLywKKwkJCQk2RkM1M0FFQjI0QUY3QThFMDA2MDU5RkUgLyogVGFi
bGVGb3JtYXR0aW5nUXVpcmtzLmNwcCAqLywKKwkJCQk2RjQ5QzNFNjI2NDc5QjNCMDA1MTk1M0Qg
LyogVGFibGVGb3JtYXR0aW5nUXVpcmtzLmggKi8sCiAJCQkJNkZDNUNBOTIyMkUzNTk5MzAwQjEz
RTExIC8qIFRhYmxlRm9ybWF0dGluZ1N0YXRlLmNwcCAqLywKIAkJCQk2RkM1Q0E5NjIyRTM1OTk1
MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nU3RhdGUuaCAqLywKIAkJCQk2RjVCN0VBQTIzMDBB
NzlFMDA2N0Q5QzMgLyogVGFibGVHcmlkLmNwcCAqLywKQEAgLTM1NDQ2LDYgKzM1NDQ5LDcgQEAK
IAkJCQlFM0MwNDEzODI1NENCMzBEMDAyMUQwRTYgLyogU3lzdGVtU291bmREZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTNDMDQxMkYyNTRDQTI5QjAwMjFEMEU2IC8qIFN5c3RlbVNvdW5k
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ1OTc1QjMxOTYzNUYxMTAwRDAwODc4IC8q
IFN5c3RlbVZlcnNpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTZGNDlDM0U3MjY0NzlCM0MwMDUx
OTUzRCAvKiBUYWJsZUZvcm1hdHRpbmdRdWlya3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZG
MDUxMEExNTRGMDkwMDBBNDIzNCAvKiBUYWJsZUxheW91dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkYxNzI2NEYyNDcwQzYwQjAwNTE4Qzk2IC8qIFRhYmxlV3JhcHBlckJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGMTU1MjIxMjY0NzZCNUMwMEUzNTNDNiAvKiBU
YWJsZVdyYXBwZXJCbG9ja0Zvcm1hdHRpbmdRdWlya3MuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggOTAyYWY3YzVl
ZDg4ZDUwNGNhYzQyNWExMzUyMTAwOGI2ZTU4YjlhYy4uOTZkZjhiYWI1ZjdlZTg3ZDIwMjdmMTE3
ODIwNzEwZTYwMDUwMTZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGlu
Z0NvbnRleHQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiTGF5b3V0Q2hpbGRJdGVy
YXRvci5oIgogI2luY2x1ZGUgIkxheW91dENvbnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXRJbml0
aWFsQ29udGFpbmluZ0Jsb2NrLmgiCisjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgi
CiAjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgogCkBAIC01MTQsNiArNTE1LDEyIEBAIHZvaWQgVGFibGVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUFuZERpc3RyaWJ1dGVFeHRyYVNwYWNlKExheW91dFVuaXQgYXZhaWxh
YmxlCiAgICAgfQogfQogCitUYWJsZUZvcm1hdHRpbmdRdWlya3MgVGFibGVGb3JtYXR0aW5nQ29u
dGV4dDo6cXVpcmtzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gVGFibGVGb3JtYXR0aW5nUXVpcmtz
KCp0aGlzKTsKK30KKworCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRp
bmdDb250ZXh0LmgKaW5kZXggMWYzMGRlMTM1NDU2NjU1ODFlYjk0OWEyN2I4MGRmNGUxMjIyNWU2
Zi4uOGZmZmUzYzRkYzg0NTk2MzMzZDdiMmJlMjBmNjg5ODUwYzIzZWY2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1h
dHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTM3LDYgKzM3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKIGNsYXNzIEludmFsaWRhdGlv
blN0YXRlOworY2xhc3MgVGFibGVGb3JtYXR0aW5nUXVpcmtzOworCiAvLyBUaGlzIGNsYXNzIGlt
cGxlbWVudHMgdGhlIGxheW91dCBsb2dpYyBmb3IgdGFibGUgZm9ybWF0dGluZyBjb250ZXh0cy4K
IC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9DU1MyMi90YWJsZXMuaHRtbAogY2xhc3MgVGFibGVG
b3JtYXR0aW5nQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dCB7CkBAIC00
OCwyMiArNTAsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgVW5pcXVlUmVmPFRhYmxlR3JpZD4g
ZW5zdXJlVGFibGVHcmlkKGNvbnN0IENvbnRhaW5lckJveCYgdGFibGVCb3gpOwogCi1wcml2YXRl
OgotICAgIGNsYXNzIFRhYmxlTGF5b3V0IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFRhYmxlTGF5
b3V0KGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBUYWJsZUdyaWQmKTsKLQot
ICAgICAgICB1c2luZyBEaXN0cmlidXRlZFNwYWNlcyA9IFZlY3RvcjxMYXlvdXRVbml0PjsKLSAg
ICAgICAgRGlzdHJpYnV0ZWRTcGFjZXMgZGlzdHJpYnV0ZWRIb3Jpem9udGFsU3BhY2UoTGF5b3V0
VW5pdCBhdmFpbGFibGVIb3Jpem9udGFsU3BhY2UpOwotICAgICAgICBEaXN0cmlidXRlZFNwYWNl
cyBkaXN0cmlidXRlZFZlcnRpY2FsU3BhY2UoT3B0aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxl
VmVydGljYWxTcGFjZSk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBjb25zdCBUYWJsZUZvcm1h
dHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybWF0
dGluZ0NvbnRleHQ7IH0KLQotICAgICAgICBjb25zdCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0JiBt
X2Zvcm1hdHRpbmdDb250ZXh0OwotICAgICAgICBjb25zdCBUYWJsZUdyaWQmIG1fZ3JpZDsKLSAg
ICB9OwotCiAgICAgY2xhc3MgR2VvbWV0cnkgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5IHsKICAgICBwdWJsaWM6CiAgICAgICAgIExheW91dFVuaXQgY2VsbEhlaWdoKGNvbnN0
IENvbnRhaW5lckJveCYpIGNvbnN0OwpAQCAtODEsMTYgKzY3LDIzIEBAIHByaXZhdGU6CiAgICAg
fTsKICAgICBUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgpIGNvbnN0
IHsgcmV0dXJuIEdlb21ldHJ5KCp0aGlzLCBmb3JtYXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKSk7
IH0KIAotICAgIGNsYXNzIFF1aXJrcyA6IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtz
IHsKK3ByaXZhdGU6CisgICAgY2xhc3MgVGFibGVMYXlvdXQgewogICAgIHB1YmxpYzoKLSAgICAg
ICAgUXVpcmtzKGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmKTsKKyAgICAgICAgVGFibGVM
YXlvdXQoY29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYsIGNvbnN0IFRhYmxlR3JpZCYpOwor
CisgICAgICAgIHVzaW5nIERpc3RyaWJ1dGVkU3BhY2VzID0gVmVjdG9yPExheW91dFVuaXQ+Owor
ICAgICAgICBEaXN0cmlidXRlZFNwYWNlcyBkaXN0cmlidXRlZEhvcml6b250YWxTcGFjZShMYXlv
dXRVbml0IGF2YWlsYWJsZUhvcml6b250YWxTcGFjZSk7CisgICAgICAgIERpc3RyaWJ1dGVkU3Bh
Y2VzIGRpc3RyaWJ1dGVkVmVydGljYWxTcGFjZShPcHRpb25hbDxMYXlvdXRVbml0PiBhdmFpbGFi
bGVWZXJ0aWNhbFNwYWNlKTsKIAotICAgICAgICBib29sIHNob3VsZElnbm9yZUNoaWxkQ29udGVu
dFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRhaW5lckJveCYpIGNvbnN0OworICAgIHByaXZhdGU6
CisgICAgICAgIGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gbV9mb3JtYXR0aW5nQ29udGV4dDsgfQogCi0gICAgICAgIGNvbnN0
IFRhYmxlRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1
cm4gZG93bmNhc3Q8VGFibGVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0NvbnRleHQ6OlF1
aXJrczo6Zm9ybWF0dGluZ0NvbnRleHQoKSk7IH0KLSAgICAgICAgVGFibGVGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnkgZ2VvbWV0cnkoKSBjb25zdCB7IHJldHVybiBmb3JtYXR0aW5nQ29udGV4
dCgpLmdlb21ldHJ5KCk7IH0KKyAgICAgICAgY29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYg
bV9mb3JtYXR0aW5nQ29udGV4dDsKKyAgICAgICAgY29uc3QgVGFibGVHcmlkJiBtX2dyaWQ7CiAg
ICAgfTsKLSAgICBUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3MgcXVpcmtzKCkgY29uc3Qg
eyByZXR1cm4gUXVpcmtzKCp0aGlzKTsgfQorCisgICAgVGFibGVGb3JtYXR0aW5nUXVpcmtzIHF1
aXJrcygpIGNvbnN0OwogCiAgICAgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6VGFibGVMYXlvdXQg
dGFibGVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBUYWJsZUxheW91dCgqdGhpcywgZm9ybWF0dGlu
Z1N0YXRlKCkudGFibGVHcmlkKCkpOyB9CiAKQEAgLTExMywxMSArMTA2LDYgQEAgaW5saW5lIFRh
YmxlRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpHZW9tZXRyeShjb25zdCBUYWJsZUZvcm1h
dHRpbmdDb250ZXh0JgogewogfQogCi1pbmxpbmUgVGFibGVGb3JtYXR0aW5nQ29udGV4dDo6UXVp
cmtzOjpRdWlya3MoY29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYgdGFibGVGb3JtYXR0aW5n
Q29udGV4dCkKLSAgICA6IEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3ModGFibGVGb3JtYXR0aW5n
Q29udGV4dCkKLXsKLX0KLQogfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjY0YTYyZGZmMDcxNGFkNjhmYTc4OTY4NWZiYmIyMTM3NGZmMTUzMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmgiCi0KLSNpZiBFTkFC
TEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLQotI2luY2x1ZGUgIkxheW91dEJveC5oIgot
I2luY2x1ZGUgIkxheW91dENvbnRhaW5lckJveC5oIgotI2luY2x1ZGUgIkxheW91dFN0YXRlLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLW5hbWVzcGFjZSBMYXlvdXQgewotCi1ib29sIFRhYmxl
Rm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c2hvdWxkSWdub3JlQ2hpbGRDb250ZW50VmVydGlj
YWxNYXJnaW4oY29uc3QgQ29udGFpbmVyQm94JiBjZWxsQm94KSBjb25zdAotewotICAgIC8vIE5v
cm1hbGx5IEJGQyByb290IGNvbnRlbnQgaGVpZ2h0IHRha2VzIHRoZSBtYXJnaW4gYm94IG9mIHRo
ZSBjaGlsZCBjb250ZW50IGFzIHZlcnRpY2FsIG1hcmdpbnMgZG9uJ3QgY29sbGFwc2Ugd2l0aCBC
RkMgcm9vdHMsCi0gICAgLy8gYnV0IHRhYmxlIGNlbGwgYm94ZXMgZG8gY29sbGFwc2UgdGhlaXIg
KG5vbi1leGlzdGluZykgbWFyZ2lucyB3aXRoIGNoaWxkIHF1aXJrIG1hcmdpbnMgKHNvIG11Y2gg
cXVpcmspLCBzbyBoZXJlIHdlIGNoZWNrCi0gICAgLy8gaWYgdGhlIGNvbnRlbnQgaGVpZ2h0IHNo
b3VsZCBpbmNsdWRlIG1hcmdpbnMgb3Igbm90LgotICAgIC8vIGUuZyA8dGFibGU+PHRyPjx0ZD48
cD50ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT4gPC0gPHA+J3MgcXVpcmsgbWFyZ2luIGNv
bGxhcHNlcyB3aXRoIHRoZSA8dGQ+IHNvIGl0cyBjb250ZW50Ci0gICAgLy8gaGVpZ2h0IHNob3Vs
ZCBub3QgaW5jbHVkZSB2ZXJ0aWNhbCBtYXJnaW5zLgotICAgIGlmICghbGF5b3V0U3RhdGUoKS5p
blF1aXJrc01vZGUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChjZWxsQm94LmVz
dGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGlmICghY2VsbEJveC5oYXNJbkZsb3dDaGlsZCgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgcmV0dXJuIGNlbGxCb3guZmlyc3RJbkZsb3dDaGlsZCgpLT5zdHlsZSgpLmhhc01h
cmdpbkJlZm9yZVF1aXJrKCkgfHwgY2VsbEJveC5sYXN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5o
YXNNYXJnaW5BZnRlclF1aXJrKCk7Ci19Ci0KLX0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0
dGluZ1F1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFmYTI2ODdlOTNh
YWE5ZDhmMzM1YTA1ZGJkZjhhODU4ZjVmZGVmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVp
cmtzLmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlRhYmxlRm9ybWF0dGluZ1F1aXJrcy5oIgorCisjaWYgRU5BQkxFKExBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRlICJMYXlvdXRCb3guaCIKKyNpbmNsdWRl
ICJMYXlvdXRDb250YWluZXJCb3guaCIKKyNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworVGFibGVGb3JtYXR0aW5nUXVp
cmtzOjpUYWJsZUZvcm1hdHRpbmdRdWlya3MoY29uc3QgVGFibGVGb3JtYXR0aW5nQ29udGV4dCYg
dGFibGVGb3JtYXR0aW5nQ29udGV4dCkKKyAgICA6IEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3Mo
dGFibGVGb3JtYXR0aW5nQ29udGV4dCkKK3sKK30KKworYm9vbCBUYWJsZUZvcm1hdHRpbmdRdWly
a3M6OnNob3VsZElnbm9yZUNoaWxkQ29udGVudFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRhaW5l
ckJveCYgY2VsbEJveCkgY29uc3QKK3sKKyAgICAvLyBOb3JtYWxseSBCRkMgcm9vdCBjb250ZW50
IGhlaWdodCB0YWtlcyB0aGUgbWFyZ2luIGJveCBvZiB0aGUgY2hpbGQgY29udGVudCBhcyB2ZXJ0
aWNhbCBtYXJnaW5zIGRvbid0IGNvbGxhcHNlIHdpdGggQkZDIHJvb3RzLAorICAgIC8vIGJ1dCB0
YWJsZSBjZWxsIGJveGVzIGRvIGNvbGxhcHNlIHRoZWlyIChub24tZXhpc3RpbmcpIG1hcmdpbnMg
d2l0aCBjaGlsZCBxdWlyayBtYXJnaW5zIChzbyBtdWNoIHF1aXJrKSwgc28gaGVyZSB3ZSBjaGVj
aworICAgIC8vIGlmIHRoZSBjb250ZW50IGhlaWdodCBzaG91bGQgaW5jbHVkZSBtYXJnaW5zIG9y
IG5vdC4KKyAgICAvLyBlLmcgPHRhYmxlPjx0cj48dGQ+PHA+dGV4dCBjb250ZW50PC90ZD48L3Ry
PjwvdGFibGU+IDwtIDxwPidzIHF1aXJrIG1hcmdpbiBjb2xsYXBzZXMgd2l0aCB0aGUgPHRkPiBz
byBpdHMgY29udGVudAorICAgIC8vIGhlaWdodCBzaG91bGQgbm90IGluY2x1ZGUgdmVydGljYWwg
bWFyZ2lucy4KKyAgICBpZiAoIWxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoY2VsbEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRp
bmdDb250ZXh0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWNlbGxCb3guaGFz
SW5GbG93Q2hpbGQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBjZWxsQm94
LmZpcnN0SW5GbG93Q2hpbGQoKS0+c3R5bGUoKS5oYXNNYXJnaW5CZWZvcmVRdWlyaygpIHx8IGNl
bGxCb3gubGFzdEluRmxvd0NoaWxkKCktPnN0eWxlKCkuaGFzTWFyZ2luQWZ0ZXJRdWlyaygpOwor
fQorCit9Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVp
cmtzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDU3NzZkYzgxM2U5MDkzZmQzMTIzYmI4MmY0MjdkNGMzNjBlYzJj
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmgKQEAgLTAsMCArMSw0OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCisKKyNpbmNsdWRlICJGb3JtYXR0aW5nQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworY2xhc3MgVGFibGVGb3JtYXR0aW5nUXVpcmtz
IDogcHVibGljIEZvcm1hdHRpbmdDb250ZXh0OjpRdWlya3MgeworcHVibGljOgorICAgIFRhYmxl
Rm9ybWF0dGluZ1F1aXJrcyhjb25zdCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Jik7CisKKyAgICBi
b29sIHNob3VsZElnbm9yZUNoaWxkQ29udGVudFZlcnRpY2FsTWFyZ2luKGNvbnN0IENvbnRhaW5l
ckJveCYpIGNvbnN0OworCitwcml2YXRlOgorICAgIGNvbnN0IFRhYmxlRm9ybWF0dGluZ0NvbnRl
eHQmIGZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8VGFibGVGb3Jt
YXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6Zm9ybWF0dGluZ0NvbnRl
eHQoKSk7IH0KKyAgICBUYWJsZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeSBnZW9tZXRyeSgp
IGNvbnN0IHsgcmV0dXJuIGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnkoKTsgfQorfTsKKwor
fQorfQorCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>