<?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>109499</bug_id>
          
          <creation_ts>2013-02-11 15:14:19 -0800</creation_ts>
          <short_desc>Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass</short_desc>
          <delta_ts>2013-02-11 15:54:21 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>107522</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830190</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-11 15:14:19 -0800</bug_when>
    <thetext>Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830194</commentid>
    <comment_count>1</comment_count>
      <attachid>187693</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-11 15:16:50 -0800</bug_when>
    <thetext>Created attachment 187693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830258</commentid>
    <comment_count>2</comment_count>
      <attachid>187693</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 15:54:18 -0800</bug_when>
    <thetext>Comment on attachment 187693
Patch

Clearing flags on attachment: 187693

Committed r142535: &lt;http://trac.webkit.org/changeset/142535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830259</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 15:54:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187693</attachid>
            <date>2013-02-11 15:16:50 -0800</date>
            <delta_ts>2013-02-11 15:54:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109499-20130211151321.patch</filename>
            <type>text/plain</type>
            <size>19669</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFjMTBkNjkzODRiOWQw
Y2M5MmEyYTU0Zjc0ZWY5MGQ3MDRkNWFhOC4uOTRjMjFiYzJkYWExY2ZiMDJmY2U5YzZjOGZhZGIw
M2JmNmRhZDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDEzLTAyLTExICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAorICAgICAgICBGb2xkIE1hcmt1cFRva2VuaXpl
ckJhc2UgaW50byBIVE1MVG9rZW5pemVyIG5vdyB0aGF0IGl0IGlzIHRoZSBvbmx5IHN1YmNsYXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk0OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgZ3Jl
YXQganVzdGljZS4gIEFuZCBzYW5pdHkuCisgICAgICAgIEVwaWMgYW1vdW50IG9mIHRlbXBsYXRl
IGNvZGUgZGVsZXRlZC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcik6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5oOgorICAgICAgICAoSFRNTFRva2VuaXplcik6CisgICAgICAgIChDaGVja3Bv
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OnN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OnNldFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUb2tlbml6ZXI6OnNob3VsZFNraXBOdWxsQ2hhcmFjdGVycyk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVG9rZW5pemVyOjpidWZmZXJDaGFyYWN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRva2VuaXplcjo6ZW1pdEFuZFJlc3VtZUluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tl
bml6ZXI6OmVtaXRBbmRSZWNvbnN1bWVJbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5p
emVyOjplbWl0RW5kT2ZGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6Omhh
dmVCdWZmZXJlZENoYXJhY3RlclRva2VuKToKKyAgICAgICAgKiB4bWwvcGFyc2VyL01hcmt1cFRv
a2VuaXplckJhc2UuaDogUmVtb3ZlZC4KKworMjAxMy0wMi0xMSAgRXJpYyBTZWlkZWwgIDxlcmlj
QHdlYmtpdC5vcmc+CisKICAgICAgICAgRm9sZCBNYXJrdXBUb2tlbkJhc2UgaW50byBIVE1MVG9r
ZW4gbm93IHRoYXQgaXQgaGFzIG5vIG90aGVyIHN1YmNsYXNzZXMKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTQ4MwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCA5NDY5YTIxYWE5M2MyZGJkMzJkOTBkODQ1NjJmNDI4YTk3NmFjNzlh
Li4yYjliMWJlM2Q0Yjc0N2E1OGY2Y2IwMzIzMmRhYWI1YzQ4YTc2ZTBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ3MDksNyArNDcwOSw2IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL0NoYXJhY3RlclJlZmVyZW5jZVBhcnNlcklubGluZXMuaCBcCi0JU291cmNlL1dlYkNvcmUv
eG1sL3BhcnNlci9NYXJrdXBUb2tlbml6ZXJCYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvTWFya3VwVG9rZW5pemVySW5saW5lcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9Y
TUxEb2N1bWVudFBhcnNlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDRlMDY4ZTJiYTM2ZDU0OTA2OGYw
NzZmNWUzYzViNDA2Mzg5NmQ3NTMuLjlhYWUxNmM3MDdlMmUxYmIxZTJjMDFkYjdmZjA0OTJjMWVh
NjkwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjg1MCw3ICsyODUwLDYgQEAgSEVBREVSUyArPSBcCiAg
ICAgd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBcCiAgICAgd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaCBcCiAgICAgeG1sL3BhcnNlci9DaGFyYWN0ZXJSZWZlcmVuY2VQYXJzZXJJbmxpbmVzLmgg
XAotICAgIHhtbC9wYXJzZXIvTWFya3VwVG9rZW5pemVyQmFzZS5oIFwKICAgICB4bWwvcGFyc2Vy
L01hcmt1cFRva2VuaXplcklubGluZXMuaCBcCiAgICAgeG1sL3BhcnNlci9YTUxEb2N1bWVudFBh
cnNlci5oIFwKICAgICB4bWwvRE9NUGFyc2VyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDU1Y2Nh
ZTFlNDdkNDUyNTVkYmQyNmNkMDgyZTgyMjc2NDlmNDIwNzAuLjU1Y2YyZWM5MjY3OWZmNDg3MWI3
MDY5ZGUzMzNiZjEwYjhiNTNlNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI2NzAsNyArMjY3MCw2
IEBACiAgICAgICAgICAgICAnd29ya2Vycy9jaHJvbWl1bS9Xb3JrZXJDb250ZXh0UHJveHlDaHJv
bWl1bS5jcHAnLAogICAgICAgICAgICAgJ3dvcmtlcnMvY2hyb21pdW0vV29ya2VyQ29udGV4dFBy
b3h5Q2hyb21pdW0uaCcsCiAgICAgICAgICAgICAneG1sL3BhcnNlci9DaGFyYWN0ZXJSZWZlcmVu
Y2VQYXJzZXJJbmxpbmVzLmgnLAotICAgICAgICAgICAgJ3htbC9wYXJzZXIvTWFya3VwVG9rZW5p
emVyQmFzZS5oJywKICAgICAgICAgICAgICd4bWwvcGFyc2VyL01hcmt1cFRva2VuaXplcklubGlu
ZXMuaCcsCiAgICAgICAgICAgICAneG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAnLAog
ICAgICAgICAgICAgJ3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDM1M2FlYjgzYTA4YWYy
YzNkN2YyODdjZDhlYzNmNThkYjk0N2ZjNDYuLjk2Y2VkN2RjOWUyZDllNmZjMzA2MThmZWI3MzJl
ODU5NmI0ZDY1NzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC00OTA5MCwxMCArNDkwOTAsNiBAQAogCQkJCU5hbWU9InBhcnNlciIKIAkJCQk+
CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlx4bWxccGFyc2VyXE1hcmt1cFRva2Vu
aXplckJhc2UuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHhtbFxwYXJzZXJcTWFya3VwVG9rZW5pemVySW5saW5lcy5oIgogCQkJCQk+CiAJ
CQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKaW5kZXggNzNlMTUwMzI5YzhmZGQ3OTcwNWQ4ZDQ3OWZlY2Q3YjVkYTU5MjVmZC4uMjE0
MTIzMjFmZTU1OTA1ZTBlYmQ1MjRiY2ZiZGUwZTYyMmIxNDdkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03NTEzLDcgKzc1MTMsNiBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ceG1sXFhTTFRFeHRlbnNpb25zLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx4bWxcWFNMVFByb2Nlc3Nvci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ceG1sXFhTTFRVbmljb2RlU29ydC5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ceG1sXHBhcnNlclxNYXJrdXBUb2tlbml6ZXJCYXNlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx4bWxccGFyc2VyXE1hcmt1cFRva2VuaXplcklubGlu
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHhtbFxwYXJzZXJcWE1MRG9jdW1l
bnRQYXJzZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHhtbFxwYXJzZXJcWE1M
RG9jdW1lbnRQYXJzZXJTY29wZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGM3OTJhZTAxNDA3ZjNk
OWZiNTY0NmI2NzdmZWE3MDYxNjIzMjQxZTYuLmI2NzJjN2M4ZmM0Y2M1ZmZjN2VmZjE4OTA2Y2Zi
Nzg1ZDI3NzM3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTExMzEzLDkgKzExMzEzLDYgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHhtbFxYU0xUVW5pY29kZVNvcnQuaCI+CiAgICAgICA8Rmls
dGVyPnhtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ceG1sXHBhcnNlclxNYXJrdXBUb2tlbml6ZXJCYXNlLmgiPgotICAgICAgPEZpbHRlcj54
bWxccGFyc2VyPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlx4bWxccGFyc2VyXE1hcmt1cFRva2VuaXplcklubGluZXMuaCI+CiAgICAgICA8Rmls
dGVyPnhtbFxwYXJzZXI8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwN2VlMTZkMDZk
ODU4MzdlZjU4MzgzZjM3OGJkNGQ4MTNjOTBlNzgwLi44Y2Q5MDNjZTA4NDNiZDkxNjE1ZGVkZjdh
NzUyNDk0MjUwNjk5OTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NCw3ICs1NCw2IEBACiAJCTAwQjkzMThCMTNCQThEQzkw
MDM1QTk0OCAvKiBYTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDAwQjkzMTg1MTNCQTg2N0YwMDM1QTk0OCAvKiBY
TUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcCAqLzsgfTsKIAkJMDBCOTMxOEMxM0JBOERDQzAwMzVB
OTQ4IC8qIFhNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDAwQjkzMTg2MTNCQTg2N0YwMDM1QTk0OCAvKiBYTUxEb2N1
bWVudFBhcnNlclNjb3BlLmggKi87IH07CiAJCTAwQzYwRTNGMTNENzZEN0UwMDkyQTI3NSAvKiBN
YXJrdXBUb2tlbml6ZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwMEM2MEUzRTEzRDc2RDdFMDA5MkEyNzUgLyogTWFya3VwVG9rZW5pemVy
SW5saW5lcy5oICovOyB9OwotCQkwMEM2MEU0MjEzRDc5N0FFMDA5MkEyNzUgLyogTWFya3VwVG9r
ZW5pemVyQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDBDNjBFNDExM0Q3OTdBRTAwOTJBMjc1IC8qIE1hcmt1cFRva2VuaXplckJhc2UuaCAqLzsg
fTsKIAkJMDFEM0NGODIxNEJEMEEzMDAwRkU5OTcwIC8qIFdlYkdMQ29udGV4dEdyb3VwLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDAxRDNDRjdDMTRC
RDBBMzAwMEZFOTk3MCAvKiBXZWJHTENvbnRleHRHcm91cC5jcHAgKi87IH07CiAJCTAxRDNDRjgz
MTRCRDBBMzAwMEZFOTk3MCAvKiBXZWJHTENvbnRleHRHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDFEM0NGN0QxNEJEMEEzMDAwRkU5OTcwIC8q
IFdlYkdMQ29udGV4dEdyb3VwLmggKi87IH07CiAJCTAxRDNDRjg0MTRCRDBBMzAwMEZFOTk3MCAv
KiBXZWJHTENvbnRleHRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDFEM0NGN0UxNEJEMEEzMDAwRkU5OTcwIC8qIFdlYkdMQ29udGV4dE9i
amVjdC5jcHAgKi87IH07CkBAIC03Mjk5LDcgKzcyOTgsNiBAQAogCQkwMEI5MzE4NTEzQkE4NjdG
MDAzNUE5NDggLyogWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBYTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDBCOTMxODYxM0JBODY3RjAwMzVBOTQ4IC8qIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MRG9j
dW1lbnRQYXJzZXJTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwMEM2MEUz
RTEzRDc2RDdFMDA5MkEyNzUgLyogTWFya3VwVG9rZW5pemVySW5saW5lcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJrdXBUb2tlbml6ZXJJbmxpbmVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTAwQzYwRTQxMTNENzk3QUUwMDkyQTI3NSAvKiBNYXJrdXBU
b2tlbml6ZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hcmt1cFRv
a2VuaXplckJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDFEM0NGN0MxNEJE
MEEzMDAwRkU5OTcwIC8qIFdlYkdMQ29udGV4dEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkdMQ29udGV4dEdyb3VwLmNwcDsgcGF0aCA9IGNhbnZhcy9X
ZWJHTENvbnRleHRHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTAxRDND
RjdEMTRCRDBBMzAwMEZFOTk3MCAvKiBXZWJHTENvbnRleHRHcm91cC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJHTENvbnRleHRHcm91cC5oOyBwYXRoID0gY2FudmFzL1dl
YkdMQ29udGV4dEdyb3VwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTAxRDNDRjdF
MTRCRDBBMzAwMEZFOTk3MCAvKiBXZWJHTENvbnRleHRPYmplY3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViR0xDb250ZXh0T2JqZWN0LmNwcDsgcGF0aCA9IGNh
bnZhcy9XZWJHTENvbnRleHRPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTQ1NjksNyArMTQ1NjcsNiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKIAkJCQk5N0I4RkZDRjE2QUU3RjkyMDAzODM4OEQgLyogQ2hhcmFjdGVyUmVmZXJlbmNlUGFy
c2VySW5saW5lcy5oICovLAotCQkJCTAwQzYwRTQxMTNENzk3QUUwMDkyQTI3NSAvKiBNYXJrdXBU
b2tlbml6ZXJCYXNlLmggKi8sCiAJCQkJMDBDNjBFM0UxM0Q3NkQ3RTAwOTJBMjc1IC8qIE1hcmt1
cFRva2VuaXplcklubGluZXMuaCAqLywKIAkJCQkwMEI5MzE4MTEzQkE4NjdGMDAzNUE5NDggLyog
WE1MRG9jdW1lbnRQYXJzZXIuY3BwICovLAogCQkJCTAwQjkzMTgyMTNCQTg2N0YwMDM1QTk0OCAv
KiBYTUxEb2N1bWVudFBhcnNlci5oICovLApAQCAtMjUyOTksNyArMjUyOTYsNiBAQAogCQkJCTFB
OEY2QkM2MERCNTVDREMwMDFEQjc5NCAvKiBNYW5pZmVzdFBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTMzMDlERjgwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1cC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTcyOEMzMTQxMjY4RTQzOTAwNDFFODlCIC8qIE1hcmt1cEFjY3VtdWxhdG9yLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwMEM2MEU0MjEzRDc5N0FFMDA5MkEyNzUgLyogTWFya3VwVG9rZW5p
emVyQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDBDNjBFM0YxM0Q3NkQ3RTAwOTJBMjc1IC8q
IE1hcmt1cFRva2VuaXplcklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZBQkU3MkY1MTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NEEy
OEFBQzEyREZCOEFDMDBBRTkyM0IgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXpl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAppbmRl
eCAzYzZjNDRjYjY5MWEwMzY5OWQzYThhYzQ1NGNlNzcxZGI3MzgwMGU0Li5lODQ2OWRmMDVjZmU3
Mzk1NGI4YWI3MmUyOWM4MGNjOWVjM2ZhYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVG9rZW5pemVyLmNwcApAQCAtMTA1LDcgKzEwNSw4IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6U3RhdGUgc3Rh
dGUpCiAjZGVmaW5lIEhUTUxfU1dJVENIX1RPKHN0YXRlTmFtZSkgU1dJVENIX1RPKEhUTUxUb2tl
bml6ZXJTdGF0ZSwgc3RhdGVOYW1lKQogCiBIVE1MVG9rZW5pemVyOjpIVE1MVG9rZW5pemVyKGNv
bnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zKQotICAgIDogbV9vcHRpb25zKG9wdGlvbnMp
CisgICAgOiBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yKHRoaXMpCisgICAgLCBtX29wdGlvbnMo
b3B0aW9ucykKIHsKICAgICByZXNldCgpOwogfQpAQCAtMTE0LDE2ICsxMTUsNiBAQCBIVE1MVG9r
ZW5pemVyOjp+SFRNTFRva2VuaXplcigpCiB7CiB9CiAKLXRlbXBsYXRlPD4KLWlubGluZSBib29s
IE1hcmt1cFRva2VuaXplckJhc2U8SFRNTFRva2VuLCBIVE1MVG9rZW5pemVyU3RhdGU+OjpzaG91
bGRTa2lwTnVsbENoYXJhY3RlcnMoKSBjb25zdAotewotICAgIHJldHVybiAhbV9mb3JjZU51bGxD
aGFyYWN0ZXJSZXBsYWNlbWVudAotICAgICAgICAmJiAobV9zdGF0ZSA9PSBIVE1MVG9rZW5pemVy
U3RhdGU6OkRhdGFTdGF0ZQotICAgICAgICAgICAgfHwgbV9zdGF0ZSA9PSBIVE1MVG9rZW5pemVy
U3RhdGU6OlJDREFUQVN0YXRlCi0gICAgICAgICAgICB8fCBtX3N0YXRlID09IEhUTUxUb2tlbml6
ZXJTdGF0ZTo6UkFXVEVYVFN0YXRlKTsKLX0KLQotCiB2b2lkIEhUTUxUb2tlbml6ZXI6OnJlc2V0
KCkKIHsKICAgICBtX3N0YXRlID0gSFRNTFRva2VuaXplclN0YXRlOjpEYXRhU3RhdGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggYmU1ZDU3ZThjYTk1
ZDk3YWIwMmYzNWY3OTU4ZjAxOWVmNjI5NGIyOC4uNWIxMTcwNzhiNGZmZjY0NmU5MGE2NGQ0MTcz
MjQ2NTM1ZDViMTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6
ZXIuaApAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiSFRNTFBhcnNlck9wdGlvbnMuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKLSNpbmNsdWRlICJNYXJrdXBUb2tlbml6ZXJCYXNlLmgi
CisjaW5jbHVkZSAiSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IuaCIKICNpbmNsdWRlICJTZWdtZW50
ZWRTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTE1LDcgKzExNSw3IEBAIHB1
YmxpYzoKICAgICB9OwogfTsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBNYXJrdXBU
b2tlbml6ZXJCYXNlPEhUTUxUb2tlbiwgSFRNTFRva2VuaXplclN0YXRlPiB7CitjbGFzcyBIVE1M
VG9rZW5pemVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTEyNCwxMSArMTI0LDE0IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgcmVzZXQoKTsKIAorICAgIC8vIEZJWE1FOiBIVE1MVG9rZW5p
emVyU3RhdGU6OlN0YXRlIHNob3VsZCBqdXN0IGJlIG1vdmVkIGJhY2sgaW50byB0aGlzIGNsYXNz
LgorICAgIHR5cGVkZWYgSFRNTFRva2VuaXplclN0YXRlOjpTdGF0ZSBTdGF0ZTsKKwogI2lmIEVO
QUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikKIAogICAgIHN0cnVjdCBDaGVja3BvaW50IHsKICAg
ICAgICAgSFRNTFBhcnNlck9wdGlvbnMgb3B0aW9uczsKLSAgICAgICAgSFRNTFRva2VuaXplclN0
YXRlOjpTdGF0ZSBzdGF0ZTsKKyAgICAgICAgU3RhdGUgc3RhdGU7CiAgICAgICAgIFVDaGFyIGFk
ZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyOwogICAgICAgICBib29sIHNraXBOZXh0TmV3TGluZTsK
ICAgICAgICAgYm9vbCBmb3JjZU51bGxDaGFyYWN0ZXJSZXBsYWNlbWVudDsKQEAgLTE5MSwyNiAr
MTk0LDU4IEBAIHB1YmxpYzoKICAgICBib29sIHNob3VsZEFsbG93Q0RBVEEoKSBjb25zdCB7IHJl
dHVybiBtX3Nob3VsZEFsbG93Q0RBVEE7IH0KICAgICB2b2lkIHNldFNob3VsZEFsbG93Q0RBVEEo
Ym9vbCB2YWx1ZSkgeyBtX3Nob3VsZEFsbG93Q0RBVEEgPSB2YWx1ZTsgfQogCisgICAgU3RhdGUg
c3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgdm9pZCBzZXRTdGF0ZShTdGF0
ZSBzdGF0ZSkgeyBtX3N0YXRlID0gc3RhdGU7IH0KKworICAgIGlubGluZSBib29sIHNob3VsZFNr
aXBOdWxsQ2hhcmFjdGVycygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fZm9yY2VO
dWxsQ2hhcmFjdGVyUmVwbGFjZW1lbnQKKyAgICAgICAgICAgICYmIChtX3N0YXRlID09IEhUTUxU
b2tlbml6ZXJTdGF0ZTo6RGF0YVN0YXRlCisgICAgICAgICAgICAgICAgfHwgbV9zdGF0ZSA9PSBI
VE1MVG9rZW5pemVyU3RhdGU6OlJDREFUQVN0YXRlCisgICAgICAgICAgICAgICAgfHwgbV9zdGF0
ZSA9PSBIVE1MVG9rZW5pemVyU3RhdGU6OlJBV1RFWFRTdGF0ZSk7CisgICAgfQorCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IEhUTUxUb2tlbml6ZXIoY29uc3QgSFRNTFBhcnNlck9wdGlvbnMmKTsK
IAogICAgIGlubGluZSBib29sIHByb2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5nJik7CiAKICAg
ICBpbmxpbmUgdm9pZCBwYXJzZUVycm9yKCk7Ci0gICAgCi0gICAgaW5saW5lIGJvb2wgZW1pdEFu
ZFJlc3VtZUluKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MVG9rZW5pemVyU3RhdGU6OlN0
YXRlIHN0YXRlKQorCisgICAgaW5saW5lIHZvaWQgYnVmZmVyQ2hhcmFjdGVyKFVDaGFyIGNoYXJh
Y3RlcikKKyAgICB7CisgICAgICAgIEFTU0VSVChjaGFyYWN0ZXIgIT0ga0VuZE9mRmlsZU1hcmtl
cik7CisgICAgICAgIG1fdG9rZW4tPmVuc3VyZUlzQ2hhcmFjdGVyVG9rZW4oKTsKKyAgICAgICAg
bV90b2tlbi0+YXBwZW5kVG9DaGFyYWN0ZXIoY2hhcmFjdGVyKTsKKyAgICB9CisKKyAgICBpbmxp
bmUgYm9vbCBlbWl0QW5kUmVzdW1lSW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIFN0YXRlIHN0
YXRlKQogICAgIHsKICAgICAgICAgc2F2ZUVuZFRhZ05hbWVJZk5lZWRlZCgpOwotICAgICAgICBy
ZXR1cm4gTWFya3VwVG9rZW5pemVyQmFzZTxIVE1MVG9rZW4sIEhUTUxUb2tlbml6ZXJTdGF0ZT46
OmVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIHN0YXRlKTsKKyAgICAgICAgbV9zdGF0ZSA9IHN0YXRl
OworICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogICAgIAotICAgIGlubGluZSBib29sIGVtaXRBbmRSZWNvbnN1
bWVJbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTFRva2VuaXplclN0YXRlOjpTdGF0ZSBz
dGF0ZSkKKyAgICBpbmxpbmUgYm9vbCBlbWl0QW5kUmVjb25zdW1lSW4oU2VnbWVudGVkU3RyaW5n
JiBzb3VyY2UsIFN0YXRlIHN0YXRlKQogICAgIHsKICAgICAgICAgc2F2ZUVuZFRhZ05hbWVJZk5l
ZWRlZCgpOwotICAgICAgICByZXR1cm4gTWFya3VwVG9rZW5pemVyQmFzZTxIVE1MVG9rZW4sIEhU
TUxUb2tlbml6ZXJTdGF0ZT46OmVtaXRBbmRSZWNvbnN1bWVJbihzb3VyY2UsIHN0YXRlKTsKKyAg
ICAgICAgbV9zdGF0ZSA9IHN0YXRlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICBpbmxpbmUgYm9vbCBlbWl0RW5kT2ZGaWxlKFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQorICAg
IHsKKyAgICAgICAgaWYgKGhhdmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCkpCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgbV9zdGF0ZSA9IEhUTUxUb2tlbml6ZXJTdGF0ZTo6RGF0
YVN0YXRlOworICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKKyAg
ICAgICAgbV90b2tlbi0+Y2xlYXIoKTsKKyAgICAgICAgbV90b2tlbi0+bWFrZUVuZE9mRmlsZSgp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBpbmxpbmUgYm9vbCBmbHVzaEVt
aXRBbmRSZXN1bWVJbihTZWdtZW50ZWRTdHJpbmcmLCBIVE1MVG9rZW5pemVyU3RhdGU6OlN0YXRl
KTsKKyAgICBpbmxpbmUgYm9vbCBmbHVzaEVtaXRBbmRSZXN1bWVJbihTZWdtZW50ZWRTdHJpbmcm
LCBTdGF0ZSk7CiAKICAgICAvLyBSZXR1cm4gd2hldGhlciB3ZSBuZWVkIHRvIGVtaXQgYSBjaGFy
YWN0ZXIgdG9rZW4gYmVmb3JlIGRlYWxpbmcgd2l0aAogICAgIC8vIHRoZSBidWZmZXJlZCBlbmQg
dGFnLgpAQCAtMjMwLDEwICsyNjUsMjggQEAgcHJpdmF0ZToKICAgICB9CiAgICAgaW5saW5lIGJv
b2wgaXNBcHByb3ByaWF0ZUVuZFRhZygpOwogCi0gICAgVmVjdG9yPFVDaGFyLCAzMj4gbV9hcHBy
b3ByaWF0ZUVuZFRhZ05hbWU7CiAKKyAgICBpbmxpbmUgYm9vbCBoYXZlQnVmZmVyZWRDaGFyYWN0
ZXJUb2tlbigpCisgICAgeworICAgICAgICByZXR1cm4gbV90b2tlbi0+dHlwZSgpID09IEhUTUxU
b2tlbjo6VHlwZTo6Q2hhcmFjdGVyOworICAgIH0KKworICAgIFN0YXRlIG1fc3RhdGU7CisgICAg
Ym9vbCBtX2ZvcmNlTnVsbENoYXJhY3RlclJlcGxhY2VtZW50OwogICAgIGJvb2wgbV9zaG91bGRB
bGxvd0NEQVRBOwogCisgICAgLy8gbV90b2tlbiBpcyBvd25lZCBieSB0aGUgY2FsbGVyLiBJZiBu
ZXh0VG9rZW4gaXMgbm90IG9uIHRoZSBzdGFjaywKKyAgICAvLyB0aGlzIG1lbWJlciBtaWdodCBi
ZSBwb2ludGluZyB0byB1bmFsbG9jYXRlZCBtZW1vcnkuCisgICAgSFRNTFRva2VuKiBtX3Rva2Vu
OworCisgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay8jYWRkaXRpb25hbC1hbGxvd2VkLWNoYXJhY3RlcgorICAgIFVDaGFyIG1fYWRkaXRpb25h
bEFsbG93ZWRDaGFyYWN0ZXI7CisKKyAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KKyAg
ICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcjxIVE1MVG9rZW5pemVyPiBtX2lucHV0U3RyZWFtUHJl
cHJvY2Vzc29yOworCisgICAgVmVjdG9yPFVDaGFyLCAzMj4gbV9hcHByb3ByaWF0ZUVuZFRhZ05h
bWU7CisKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrLyN0ZW1wb3JhcnktYnVmZmVyCiAgICAgVmVjdG9yPExDaGFyLCAzMj4gbV90ZW1wb3Jh
cnlCdWZmZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvTWFya3Vw
VG9rZW5pemVyQmFzZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJrdXBUb2tlbml6
ZXJCYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NzdkOWEzZjMyNTExMDQ5
YjY0Yzk0YzhkNTQxODA0ZGU5NzIxZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJrdXBUb2tlbml6ZXJC
YXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLwotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIE1hcmt1cFRv
a2VuaXplckJhc2VfaAotI2RlZmluZSBNYXJrdXBUb2tlbml6ZXJCYXNlX2gKLQotI2luY2x1ZGUg
IklucHV0U3RyZWFtUHJlcHJvY2Vzc29yLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotLy8gTmV2ZXIgdXNlIHRoaXMgdHlwZSBmb3IgYSB2YXJpYWJsZSwgYXMgaXQgY29u
dGFpbnMgc2V2ZXJhbCBub24tdmlydHVhbCBmdW5jdGlvbnMuCi10ZW1wbGF0ZTx0eXBlbmFtZSBU
b2tlbiwgdHlwZW5hbWUgU3RhdGU+Ci1jbGFzcyBNYXJrdXBUb2tlbml6ZXJCYXNlIHsKLSAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNYXJrdXBUb2tlbml6ZXJCYXNlKTsKLSAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5NYXJrdXBUb2tlbml6ZXJCYXNl
KCkgeyB9Ci0KLSAgICB0eXBlbmFtZSBTdGF0ZTo6U3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVy
biBtX3N0YXRlOyB9Ci0gICAgdm9pZCBzZXRTdGF0ZSh0eXBlbmFtZSBTdGF0ZTo6U3RhdGUgc3Rh
dGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9Ci0KLSAgICBib29sIGZvcmNlTnVsbENoYXJhY3RlclJl
cGxhY2VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9mb3JjZU51bGxDaGFyYWN0ZXJSZXBsYWNlbWVu
dDsgfQotICAgIHZvaWQgc2V0Rm9yY2VOdWxsQ2hhcmFjdGVyUmVwbGFjZW1lbnQoYm9vbCB2YWx1
ZSkgeyBtX2ZvcmNlTnVsbENoYXJhY3RlclJlcGxhY2VtZW50ID0gdmFsdWU7IH0KLQotICAgIC8v
IFRoaXMgbWV0aG9kIG5lZWRzIHRvIGJlIGRlZmluZWQgaW4gYSB0ZW1wbGF0ZSBzcGVjaWFsaXph
dGlvbiB3aGVuIHN1YmNsYXNzaW5nIHRoaXMgdGVtcGxhdGUKLSAgICBpbmxpbmUgYm9vbCBzaG91
bGRTa2lwTnVsbENoYXJhY3RlcnMoKSBjb25zdDsKLQotcHJvdGVjdGVkOgotICAgIE1hcmt1cFRv
a2VuaXplckJhc2UoKSA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IodGhpcykgeyByZXNldCgp
OyB9Ci0KLSAgICBpbmxpbmUgdm9pZCBidWZmZXJDaGFyYWN0ZXIoVUNoYXIgY2hhcmFjdGVyKQot
ICAgIHsKLSAgICAgICAgQVNTRVJUKGNoYXJhY3RlciAhPSBrRW5kT2ZGaWxlTWFya2VyKTsKLSAg
ICAgICAgbV90b2tlbi0+ZW5zdXJlSXNDaGFyYWN0ZXJUb2tlbigpOwotICAgICAgICBtX3Rva2Vu
LT5hcHBlbmRUb0NoYXJhY3RlcihjaGFyYWN0ZXIpOwotICAgIH0KLQotICAgIGlubGluZSB2b2lk
IGJ1ZmZlckNvZGVQb2ludCh1bnNpZ25lZCk7Ci0KLSAgICAvLyBUaGlzIG1ldGhvZCBjYW4gZ2V0
IGhpZGRlbiBpbiBzdWJjbGFzc2VzCi0gICAgaW5saW5lIGJvb2wgZW1pdEFuZFJlc3VtZUluKFNl
Z21lbnRlZFN0cmluZyYgc291cmNlLCB0eXBlbmFtZSBTdGF0ZTo6U3RhdGUgc3RhdGUpCi0gICAg
ewotICAgICAgICBtX3N0YXRlID0gc3RhdGU7Ci0gICAgICAgIHNvdXJjZS5hZHZhbmNlQW5kVXBk
YXRlTGluZU51bWJlcigpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0gICAg
Ly8gVGhpcyBtZXRob2QgY2FuIGdldCBoaWRkZW4gaW4gc3ViY2xhc3NlcwotICAgIGlubGluZSBi
b29sIGVtaXRBbmRSZWNvbnN1bWVJbihTZWdtZW50ZWRTdHJpbmcmLCB0eXBlbmFtZSBTdGF0ZTo6
U3RhdGUgc3RhdGUpCi0gICAgewotICAgICAgICBtX3N0YXRlID0gc3RhdGU7Ci0gICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLQotICAgIGlubGluZSBib29sIGVtaXRFbmRPZkZpbGUoU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UpCi0gICAgewotICAgICAgICBpZiAoaGF2ZUJ1ZmZlcmVkQ2hhcmFj
dGVyVG9rZW4oKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBtX3N0YXRlID0g
U3RhdGU6OkRhdGFTdGF0ZTsKLSAgICAgICAgc291cmNlLmFkdmFuY2VBbmRVcGRhdGVMaW5lTnVt
YmVyKCk7Ci0gICAgICAgIG1fdG9rZW4tPmNsZWFyKCk7Ci0gICAgICAgIG1fdG9rZW4tPm1ha2VF
bmRPZkZpbGUoKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgdm9pZCByZXNl
dCgpCi0gICAgewotICAgICAgICBtX3N0YXRlID0gU3RhdGU6OkRhdGFTdGF0ZTsKLSAgICAgICAg
bV90b2tlbiA9IDA7Ci0gICAgfQotCi0gICAgaW5saW5lIGJvb2wgaGF2ZUJ1ZmZlcmVkQ2hhcmFj
dGVyVG9rZW4oKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9PSBUb2tl
bjo6VHlwZTo6Q2hhcmFjdGVyOwotICAgIH0KLSAgICAKLSAgICB0eXBlbmFtZSBTdGF0ZTo6U3Rh
dGUgbV9zdGF0ZTsKLQotICAgIC8vIG1fdG9rZW4gaXMgb3duZWQgYnkgdGhlIGNhbGxlci4gSWYg
bmV4dFRva2VuIGlzIG5vdCBvbiB0aGUgc3RhY2ssCi0gICAgLy8gdGhpcyBtZW1iZXIgbWlnaHQg
YmUgcG9pbnRpbmcgdG8gdW5hbGxvY2F0ZWQgbWVtb3J5LgotICAgIFRva2VuKiBtX3Rva2VuOwot
Ci0gICAgYm9vbCBtX2ZvcmNlTnVsbENoYXJhY3RlclJlcGxhY2VtZW50OwotCi0gICAgLy8gaHR0
cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jYWRkaXRpb25h
bC1hbGxvd2VkLWNoYXJhY3RlcgotICAgIFVDaGFyIG1fYWRkaXRpb25hbEFsbG93ZWRDaGFyYWN0
ZXI7Ci0KLSAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBJbnB1dFN0cmVhbVBy
ZXByb2Nlc3NvcjxNYXJrdXBUb2tlbml6ZXJCYXNlPFRva2VuLCBTdGF0ZT4gPiBtX2lucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yOwotfTsKLQotfQotCi0jZW5kaWYgLy8gTWFya3VwVG9rZW5pemVyQmFz
ZV9oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>