<?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>6428</bug_id>
          
          <creation_ts>2006-01-08 02:28:00 -0800</creation_ts>
          <short_desc>&lt;tspan&gt; element not implemented</short_desc>
          <delta_ts>2006-01-15 02:41:37 -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>SVG</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>27979</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-08 02:28:00 -0800</bug_when>
    <thetext>&lt;tspan&gt; element not implemented
http://www.w3.org/TR/SVG/text.html#TSpanElement

This is by far the most important piece of text left.  For better or worse it shares all of its attributes with 
&lt;text&gt;.  &lt;text&gt; in my view should have only &lt;tspan&gt; children, making implicit &lt;tspan&gt;s for any plain 
text node children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28213</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-10 19:36:11 -0800</bug_when>
    <thetext>*** Bug 6483 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28474</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-15 00:28:47 -0800</bug_when>
    <thetext>*** Bug 6477 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28477</commentid>
    <comment_count>3</comment_count>
      <attachid>5691</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-15 02:35:50 -0800</bug_when>
    <thetext>Created attachment 5691
proposed patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5691</attachid>
            <date>2006-01-15 02:35:50 -0800</date>
            <delta_ts>2006-01-15 02:35:50 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>tspan.patch</filename>
            <type>text/plain</type>
            <size>16723</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlSW1wbC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtz
dmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlSW1wbC5oCShyZXZpc2lvbiAxMjEwNykKKysrIGtzdmcy
L3N2Zy9TVkdUcmFuc2Zvcm1hYmxlSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMCArMjcs
OSBAQAogCiBjbGFzcyBRTWF0cml4OwogCi1uYW1lc3BhY2UgS0RPTQoteworbmFtZXNwYWNlIEtE
T00gewogICAgIGNsYXNzIE5vZGVJbXBsOwotICAgIGNsYXNzIERPTVN0cmluZ0ltcGw7CisgICAg
Y2xhc3MgQXRvbWljU3RyaW5nOwogICAgIGNsYXNzIEF0dHJpYnV0ZUltcGw7CiB9OwogCkBAIC01
MSw3ICs1MCw3IEBAIG5hbWVzcGFjZSBLU1ZHCiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlTG9jYWxUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdEltcGwgKmxvY2FsVHJhbnNm
b3JtcykgPSAwOwogICAgICAgICAKLSAgICAgICAgc3RhdGljIHZvaWQgcGFyc2VUcmFuc2Zvcm1B
dHRyaWJ1dGUoU1ZHVHJhbnNmb3JtTGlzdEltcGwgKmxpc3QsIEtET006OkRPTVN0cmluZ0ltcGwg
KnRyYW5zZm9ybSk7CisgICAgICAgIHN0YXRpYyB2b2lkIHBhcnNlVHJhbnNmb3JtQXR0cmlidXRl
KFNWR1RyYW5zZm9ybUxpc3RJbXBsICpsaXN0LCBjb25zdCBLRE9NOjpBdG9taWNTdHJpbmcmIHRy
YW5zZm9ybSk7CiAgICAgfTsKIH07CiAKSW5kZXg6IGtzdmcyL3N2Zy9TVkdQYXR0ZXJuRWxlbWVu
dEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudEltcGwu
Y3BwCShyZXZpc2lvbiAxMjEwNykKKysrIGtzdmcyL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudEltcGwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsMjcgKzEwOCwyMSBAQCBTVkdBbmltYXRlZFRyYW5z
Zm9ybUxpc3RJbXBsICpTVkdQYXR0ZXJuCiAKIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnRJbXBsOjpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShLRE9NOjpNYXBwZWRBdHRyaWJ1dGVJbXBsICphdHRyKQogewot
ICAgIEtET006OkRPTVN0cmluZyB2YWx1ZShhdHRyLT52YWx1ZSgpKTsKLSAgICBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyKQotICAgIHsKLSAgICAgICAgaWYo
dmFsdWUgPT0gInVzZXJTcGFjZU9uVXNlIikKKyAgICBjb25zdCBLRE9NOjpBdG9taWNTdHJpbmcg
JnZhbHVlID0gYXR0ci0+dmFsdWUoKTsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVz
OjpwYXR0ZXJuVW5pdHNBdHRyKSB7CisgICAgICAgIGlmICh2YWx1ZSA9PSAidXNlclNwYWNlT25V
c2UiKQogICAgICAgICAgICAgcGF0dGVyblVuaXRzKCktPnNldEJhc2VWYWwoU1ZHX1VOSVRfVFlQ
RV9VU0VSU1BBQ0VPTlVTRSk7Ci0gICAgICAgIGVsc2UgaWYodmFsdWUgPT0gIm9iamVjdEJvdW5k
aW5nQm94IikKKyAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gIm9iamVjdEJvdW5kaW5nQm94IikK
ICAgICAgICAgICAgIHBhdHRlcm5Vbml0cygpLT5zZXRCYXNlVmFsKFNWR19VTklUX1RZUEVfT0JK
RUNUQk9VTkRJTkdCT1gpOwotICAgIH0KLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OnBhdHRlcm5Db250ZW50VW5pdHNBdHRyKQotICAgIHsKLSAgICAgICAgaWYodmFsdWUg
PT0gInVzZXJTcGFjZU9uVXNlIikKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0dHIpIHsKKyAgICAgICAgaWYgKHZhbHVlID09ICJ1
c2VyU3BhY2VPblVzZSIpCiAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudFVuaXRzKCktPnNldEJh
c2VWYWwoU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSk7Ci0gICAgICAgIGVsc2UgaWYodmFs
dWUgPT0gIm9iamVjdEJvdW5kaW5nQm94IikKKyAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gIm9i
amVjdEJvdW5kaW5nQm94IikKICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50VW5pdHMoKS0+c2V0
QmFzZVZhbChTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKTsKLSAgICB9Ci0gICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0cikKLSAg
ICB7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnBhdHRlcm5UcmFu
c2Zvcm1BdHRyKSB7CiAgICAgICAgIFNWR1RyYW5zZm9ybUxpc3RJbXBsICpwYXR0ZXJuVHJhbnNm
b3JtcyA9IHBhdHRlcm5UcmFuc2Zvcm0oKS0+YmFzZVZhbCgpOwotICAgICAgICBTVkdUcmFuc2Zv
cm1hYmxlSW1wbDo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUocGF0dGVyblRyYW5zZm9ybXMsIHZh
bHVlLmltcGwoKSk7Ci0gICAgfQotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6eEF0dHIpCisgICAgICAgIFNWR1RyYW5zZm9ybWFibGVJbXBsOjpwYXJzZVRyYW5zZm9ybUF0
dHJpYnV0ZShwYXR0ZXJuVHJhbnNmb3JtcywgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjp4QXR0cikKICAgICAgICAgeCgpLT5iYXNlVmFsKCktPnNldFZh
bHVlQXNTdHJpbmcodmFsdWUuaW1wbCgpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
U1ZHTmFtZXM6OnlBdHRyKQogICAgICAgICB5KCktPmJhc2VWYWwoKS0+c2V0VmFsdWVBc1N0cmlu
Zyh2YWx1ZS5pbXBsKCkpOwpAQCAtMTM2LDEzICsxMzAsMTcgQEAgdm9pZCBTVkdQYXR0ZXJuRWxl
bWVudEltcGw6OnBhcnNlTWFwcGVkQQogICAgICAgICB3aWR0aCgpLT5iYXNlVmFsKCktPnNldFZh
bHVlQXNTdHJpbmcodmFsdWUuaW1wbCgpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
U1ZHTmFtZXM6OmhlaWdodEF0dHIpCiAgICAgICAgIGhlaWdodCgpLT5iYXNlVmFsKCktPnNldFZh
bHVlQXNTdHJpbmcodmFsdWUuaW1wbCgpKTsKLSAgICBlbHNlCi0gICAgewotICAgICAgICBpZihT
VkdVUklSZWZlcmVuY2VJbXBsOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwot
ICAgICAgICBpZihTVkdUZXN0c0ltcGw6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1
cm47Ci0gICAgICAgIGlmKFNWR0xhbmdTcGFjZUltcGw6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHIpKSByZXR1cm47Ci0gICAgICAgIGlmKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRJbXBs
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwotICAgICAgICBpZihTVkdGaXRU
b1ZpZXdCb3hJbXBsOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOworICAgIGVs
c2UgeworICAgICAgICBpZiAoU1ZHVVJJUmVmZXJlbmNlSW1wbDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChTVkdUZXN0c0ltcGw6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBpZiAoU1ZHTGFuZ1NwYWNlSW1wbDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
SW1wbDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGlmIChTVkdGaXRUb1ZpZXdCb3hJbXBsOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkKKyAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBTVkdTdHlsZWRFbGVtZW50SW1wbDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiAgICAgfQpJbmRleDoga3N2ZzIvc3ZnL1NWR1Rl
eHRFbGVtZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RleHRFbGVtZW50
SW1wbC5jcHAJKHJldmlzaW9uIDEyMTA3KQorKysga3N2ZzIvc3ZnL1NWR1RleHRFbGVtZW50SW1w
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDggQEAKICNpbmNsdWRlICJTVkdUZXh0
RWxlbWVudEltcGwuaCIKICNpbmNsdWRlICJTVkdUU3BhbkVsZW1lbnRJbXBsLmgiCiAjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0SW1wbC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkVHJh
bnNmb3JtTGlzdEltcGwuaCIKKyNpbmNsdWRlICJTVkdNYXRyaXhJbXBsLmgiCiAjaW5jbHVkZSAi
U1ZHUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJLQ2FudmFzUmVuZGVyaW5nU3R5bGUuaCIKICNp
bmNsdWRlIDxrZG9tL2Nzcy9SZW5kZXJTdHlsZS5oPgpAQCAtNDUsMTAgKzQ3LDQ3IEBAIFNWR1Rl
eHRFbGVtZW50SW1wbDo6flNWR1RleHRFbGVtZW50SW1wbCgKIHsKIH0KIAorU1ZHQW5pbWF0ZWRU
cmFuc2Zvcm1MaXN0SW1wbCAqU1ZHVGV4dEVsZW1lbnRJbXBsOjp0cmFuc2Zvcm0oKSBjb25zdAor
eworICAgIHJldHVybiBsYXp5X2NyZWF0ZTxTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RJbXBsPiht
X3RyYW5zZm9ybSwgdGhpcyk7Cit9CisKK1NWR01hdHJpeEltcGwgKlNWR1RleHRFbGVtZW50SW1w
bDo6bG9jYWxNYXRyaXgoKSBjb25zdAoreworICAgIHJldHVybiBsYXp5X2NyZWF0ZTxTVkdNYXRy
aXhJbXBsPihtX2xvY2FsTWF0cml4KTsKK30KKwogdm9pZCBTVkdUZXh0RWxlbWVudEltcGw6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKEtET006Ok1hcHBlZEF0dHJpYnV0ZUltcGwgKmF0dHIpCiB7Ci0g
ICAgLy9pZihTVkdUcmFuc2Zvcm1hYmxlSW1wbDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
IHJldHVybjsKLSAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50SW1wbDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoYXR0cik7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6dHJhbnNm
b3JtQXR0cikgeworICAgICAgICBTVkdUcmFuc2Zvcm1MaXN0SW1wbCAqbG9jYWxUcmFuc2Zvcm1z
ID0gdHJhbnNmb3JtKCktPmJhc2VWYWwoKTsKKyAgICAgICAgbG9jYWxUcmFuc2Zvcm1zLT5jbGVh
cigpOworICAgICAgICAKKyAgICAgICAgU1ZHVHJhbnNmb3JtYWJsZUltcGw6OnBhcnNlVHJhbnNm
b3JtQXR0cmlidXRlKGxvY2FsVHJhbnNmb3JtcywgYXR0ci0+dmFsdWUoKSk7CisgICAgICAgIHVw
ZGF0ZUxvY2FsVHJhbnNmb3JtKGxvY2FsVHJhbnNmb3Jtcyk7CisgICAgfSBlbHNlCisgICAgICAg
IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnRJbXBsOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KTsKK30KKwordm9pZCBTVkdUZXh0RWxlbWVudEltcGw6OnVwZGF0ZUxvY2FsVHJhbnNmb3JtKFNW
R1RyYW5zZm9ybUxpc3RJbXBsICpsb2NhbFRyYW5zZm9ybXMpCit7CisgICAgLy8gVXBkYXRlIGNh
Y2hlZCBsb2NhbCBtYXRyaXgKKyAgICBSZWZQdHI8U1ZHVHJhbnNmb3JtSW1wbD4gbG9jYWxUcmFu
c2Zvcm0gPSBsb2NhbFRyYW5zZm9ybXMtPmNvbmNhdGVuYXRlKCk7CisgICAgaWYobG9jYWxUcmFu
c2Zvcm0pIHsKKyAgICAgICAgbV9sb2NhbE1hdHJpeCA9IGxvY2FsVHJhbnNmb3JtLT5tYXRyaXgo
KTsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpIHsKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnNl
dExvY2FsVHJhbnNmb3JtKG1fbG9jYWxNYXRyaXgtPnFtYXRyaXgoKSk7CisgICAgICAgICAgICBy
ZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
dm9pZCBTVkdUZXh0RWxlbWVudEltcGw6OmF0dGFjaCgpCit7CisgICAgU1ZHU3R5bGVkRWxlbWVu
dEltcGw6OmF0dGFjaCgpOworCisgICAgaWYgKHJlbmRlcmVyKCkgJiYgbV9sb2NhbE1hdHJpeCkK
KyAgICAgICAgcmVuZGVyZXIoKS0+c2V0TG9jYWxUcmFuc2Zvcm0obV9sb2NhbE1hdHJpeC0+cW1h
dHJpeCgpKTsKIH0KIAogU1ZHRWxlbWVudEltcGwgKlNWR1RleHRFbGVtZW50SW1wbDo6bmVhcmVz
dFZpZXdwb3J0RWxlbWVudCgpIGNvbnN0CkBAIC04Myw3ICsxMjIsNyBAQCBraHRtbDo6UmVuZGVy
T2JqZWN0ICpTVkdUZXh0RWxlbWVudEltcGw6CiAKIGJvb2wgU1ZHVGV4dEVsZW1lbnRJbXBsOjpj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKERPTTo6Tm9kZUltcGwgKmNoaWxkKSBjb25zdAogewot
ICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpKQorICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgp
IHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykpCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IGtzdmcyL3N2Zy9TVkdUU3BhbkVs
ZW1lbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RTcGFuRWxlbWVudEltcGwu
aAkocmV2aXNpb24gMTIxMDcpCisrKyBrc3ZnMi9zdmcvU1ZHVFNwYW5FbGVtZW50SW1wbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiwxMCBAQCBuYW1lc3BhY2UgS1NWRwogICAgIHB1Ymxp
YzoKICAgICAgICAgU1ZHVFNwYW5FbGVtZW50SW1wbChjb25zdCBLRE9NOjpRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBLRE9NOjpEb2N1bWVudEltcGwgKmRvYyk7CiAgICAgICAgIHZpcnR1YWwgflNW
R1RTcGFuRWxlbWVudEltcGwoKTsKLQotICAgICAgICAvLyAnU1ZHVFNwYW5FbGVtZW50JyBmdW5j
dGlvbnMKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNO
ZWVkZWQoa2h0bWw6OlJlbmRlclN0eWxlICopIHsgcmV0dXJuIHRydWU7IH0KKyAgICAgICAgdmly
dHVhbCBraHRtbDo6UmVuZGVyT2JqZWN0ICpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJl
bmEsIGtodG1sOjpSZW5kZXJTdHlsZSAqc3R5bGUpOworICAgICAgICBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoRE9NOjpOb2RlSW1wbCAqY2hpbGQpIGNvbnN0OwogICAgIH07CiB9Owog
CkluZGV4OiBrc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2
ZzIvc3ZnL1NWR1RleHRFbGVtZW50SW1wbC5oCShyZXZpc2lvbiAxMjEwNykKKysrIGtzdmcyL3N2
Zy9TVkdUZXh0RWxlbWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTYgKzQ1LDIxIEBA
IG5hbWVzcGFjZSBLU1ZHCiAgICAgICAgIHZpcnR1YWwgU1ZHTWF0cml4SW1wbCAqZ2V0Q1RNKCkg
Y29uc3Q7CiAgICAgICAgIHZpcnR1YWwgU1ZHTWF0cml4SW1wbCAqZ2V0U2NyZWVuQ1RNKCkgY29u
c3Q7CiAgICAgICAgIHZpcnR1YWwgU1ZHTWF0cml4SW1wbCAqZ2V0VHJhbnNmb3JtVG9FbGVtZW50
KFNWR0VsZW1lbnRJbXBsICplbGVtZW50KSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgICAgIAog
CiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGtodG1sOjpSZW5kZXJTdHls
ZSAqKSB7IHJldHVybiB0cnVlOyB9CiAgICAgICAgIHZpcnR1YWwga2h0bWw6OlJlbmRlck9iamVj
dCAqY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEgKmFyZW5hLCBraHRtbDo6UmVuZGVyU3R5bGUg
KnN0eWxlKTsKICAgICAgICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIo
RE9NOjpOb2RlSW1wbCAqKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwog
Ci0gICAgICAgIHZpcnR1YWwgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0SW1wbCAqdHJhbnNmb3Jt
KCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgICAgICB2aXJ0dWFsIFNWR01hdHJpeEltcGwgKmxv
Y2FsTWF0cml4KCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgICAgICB2aXJ0dWFsIFNWR0FuaW1h
dGVkVHJhbnNmb3JtTGlzdEltcGwgKnRyYW5zZm9ybSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFs
IFNWR01hdHJpeEltcGwgKmxvY2FsTWF0cml4KCkgY29uc3Q7CisgICAgICAgIAorICAgICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlTG9jYWxUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdEltcGwgKmxv
Y2FsVHJhbnNmb3Jtcyk7CiAgICAgICAgIAotICAgICAgICAvLyBGSVhNRTogSEFDSwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlTG9jYWxUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdEltcGwg
KmxvY2FsVHJhbnNmb3JtcykgeyB9OworICAgIHByaXZhdGU6CisgICAgICAgIG11dGFibGUgUmVm
UHRyPFNWR01hdHJpeEltcGw+IG1fbG9jYWxNYXRyaXg7CisgICAgICAgIG11dGFibGUgUmVmUHRy
PFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdEltcGw+IG1fdHJhbnNmb3JtOwogICAgIH07CiB9Owog
CkluZGV4OiBrc3ZnMi9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnRJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnRJbXBs
LmNwcAkocmV2aXNpb24gMTIxMDcpCisrKyBrc3ZnMi9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJs
ZUVsZW1lbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTUgKzk0LDEzIEBAIHZvaWQg
U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnRJbXBsOjoKIAogdm9pZCBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudEltcGw6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEtET006Ok1hcHBlZEF0
dHJpYnV0ZUltcGwgKmF0dHIpCiB7Ci0gICAgaWYoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp0
cmFuc2Zvcm1BdHRyKQotICAgIHsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp0
cmFuc2Zvcm1BdHRyKSB7CiAgICAgICAgIFNWR1RyYW5zZm9ybUxpc3RJbXBsICpsb2NhbFRyYW5z
Zm9ybXMgPSB0cmFuc2Zvcm0oKS0+YmFzZVZhbCgpOwogICAgICAgICBsb2NhbFRyYW5zZm9ybXMt
PmNsZWFyKCk7CiAgICAgICAgIAotICAgICAgICBTVkdUcmFuc2Zvcm1hYmxlSW1wbDo6cGFyc2VU
cmFuc2Zvcm1BdHRyaWJ1dGUobG9jYWxUcmFuc2Zvcm1zLCBhdHRyLT52YWx1ZSgpLmltcGwoKSk7
CisgICAgICAgIFNWR1RyYW5zZm9ybWFibGVJbXBsOjpwYXJzZVRyYW5zZm9ybUF0dHJpYnV0ZShs
b2NhbFRyYW5zZm9ybXMsIGF0dHItPnZhbHVlKCkpOwogICAgICAgICB1cGRhdGVMb2NhbFRyYW5z
Zm9ybShsb2NhbFRyYW5zZm9ybXMpOwotICAgIH0KLSAgICBlbHNlCisgICAgfSBlbHNlCiAgICAg
ICAgIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnRJbXBsOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKTsKIH0KIApJbmRleDoga3N2ZzIvc3ZnL1NWR0dyYWRpZW50RWxlbWVudEltcGwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnRJbXBsLmNwcAkocmV2aXNp
b24gMTIxMDcpCisrKyBrc3ZnMi9zdmcvU1ZHR3JhZGllbnRFbGVtZW50SW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc3LDMxICs3NywyNiBAQCBTVkdBbmltYXRlZEVudW1lcmF0aW9uSW1wbCAq
U1ZHR3JhZGllbnRFCiB2b2lkIFNWR0dyYWRpZW50RWxlbWVudEltcGw6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKEtET006Ok1hcHBlZEF0dHJpYnV0ZUltcGwgKmF0dHIpCiB7CiAgICAgS0RPTTo6RE9N
U3RyaW5nIHZhbHVlKGF0dHItPnZhbHVlKCkpOwotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyKQotICAgIHsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09
IFNWR05hbWVzOjpncmFkaWVudFVuaXRzQXR0cikgewogICAgICAgICBpZih2YWx1ZSA9PSAidXNl
clNwYWNlT25Vc2UiKQogICAgICAgICAgICAgZ3JhZGllbnRVbml0cygpLT5zZXRCYXNlVmFsKFNW
R19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UpOwogICAgICAgICBlbHNlIGlmKHZhbHVlID09ICJv
YmplY3RCb3VuZGluZ0JveCIpCiAgICAgICAgICAgICBncmFkaWVudFVuaXRzKCktPnNldEJhc2VW
YWwoU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCk7Ci0gICAgfQotICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyKQotICAgIHsK
KyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zv
cm1BdHRyKSB7CiAgICAgICAgIFNWR1RyYW5zZm9ybUxpc3RJbXBsICpncmFkaWVudFRyYW5zZm9y
bXMgPSBncmFkaWVudFRyYW5zZm9ybSgpLT5iYXNlVmFsKCk7Ci0gICAgICAgIFNWR1RyYW5zZm9y
bWFibGVJbXBsOjpwYXJzZVRyYW5zZm9ybUF0dHJpYnV0ZShncmFkaWVudFRyYW5zZm9ybXMsIGF0
dHItPnZhbHVlKCkuaW1wbCgpKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09
IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyKQotICAgIHsKKyAgICAgICAgU1ZHVHJhbnNmb3Jt
YWJsZUltcGw6OnBhcnNlVHJhbnNmb3JtQXR0cmlidXRlKGdyYWRpZW50VHJhbnNmb3JtcywgYXR0
ci0+dmFsdWUoKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnNw
cmVhZE1ldGhvZEF0dHIpIHsKICAgICAgICAgaWYodmFsdWUgPT0gInJlZmxlY3QiKQogICAgICAg
ICAgICAgc3ByZWFkTWV0aG9kKCktPnNldEJhc2VWYWwoU1ZHX1NQUkVBRE1FVEhPRF9SRUZMRUNU
KTsKICAgICAgICAgZWxzZSBpZih2YWx1ZSA9PSAicmVwZWF0IikKICAgICAgICAgICAgIHNwcmVh
ZE1ldGhvZCgpLT5zZXRCYXNlVmFsKFNWR19TUFJFQURNRVRIT0RfUkVQRUFUKTsKICAgICAgICAg
ZWxzZSBpZih2YWx1ZSA9PSAicGFkIikKICAgICAgICAgICAgIHNwcmVhZE1ldGhvZCgpLT5zZXRC
YXNlVmFsKFNWR19TUFJFQURNRVRIT0RfUEFEKTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAg
ICAgICAgaWYoU1ZHVVJJUmVmZXJlbmNlSW1wbDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
IHJldHVybjsKLSAgICAgICAgaWYoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEltcGw6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1cm47CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKFNWR1VSSVJlZmVyZW5jZUltcGw6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZEltcGw6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAKICAgICAgICAgU1ZHU3R5bGVkRWxlbWVudEltcGw6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKGF0dHIpOwogICAgIH0KSW5kZXg6IGtzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlSW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGVJbXBsLmNwcAkocmV2
aXNpb24gMTIxMDcpCisrKyBrc3ZnMi9zdmcvU1ZHVHJhbnNmb3JtYWJsZUltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSwxNyArNDksMTMgQEAgU1ZHVHJhbnNmb3JtYWJsZUltcGw6On5TVkdU
cmFuc2Zvcm1hYmxlSQogewogfQogCi12b2lkIFNWR1RyYW5zZm9ybWFibGVJbXBsOjpwYXJzZVRy
YW5zZm9ybUF0dHJpYnV0ZShTVkdUcmFuc2Zvcm1MaXN0SW1wbCAqbGlzdCwgS0RPTTo6RE9NU3Ry
aW5nSW1wbCAqdHJhbnNmb3JtKQordm9pZCBTVkdUcmFuc2Zvcm1hYmxlSW1wbDo6cGFyc2VUcmFu
c2Zvcm1BdHRyaWJ1dGUoU1ZHVHJhbnNmb3JtTGlzdEltcGwgKmxpc3QsIGNvbnN0IEtET006OkF0
b21pY1N0cmluZyYgdHJhbnNmb3JtKQogewotICAgIGlmKCF0cmFuc2Zvcm0pCi0gICAgICAgIHJl
dHVybjsKLQogICAgIC8vIFNwbGl0IHN0cmluZyBmb3IgaGFuZGxpbmcgMSB0cmFuc2Zvcm0gc3Rh
dGVtZW50IGF0IGEgdGltZQotICAgIFFTdHJpbmdMaXN0IHN1YnRyYW5zZm9ybXMgPSBRU3RyaW5n
TGlzdDo6c3BsaXQoJyknLCBLRE9NOjpET01TdHJpbmcodHJhbnNmb3JtKS5xc3RyaW5nKCkuc2lt
cGxpZnlXaGl0ZVNwYWNlKCkpOworICAgIFFTdHJpbmdMaXN0IHN1YnRyYW5zZm9ybXMgPSBRU3Ry
aW5nTGlzdDo6c3BsaXQoJyknLCB0cmFuc2Zvcm0ucXN0cmluZygpLnNpbXBsaWZ5V2hpdGVTcGFj
ZSgpKTsKICAgICBRU3RyaW5nTGlzdDo6Q29uc3RJdGVyYXRvciBpdCA9IHN1YnRyYW5zZm9ybXMu
YmVnaW4oKTsKICAgICBRU3RyaW5nTGlzdDo6Q29uc3RJdGVyYXRvciBlbmQgPSBzdWJ0cmFuc2Zv
cm1zLmVuZCgpOwotICAgIGZvcig7IGl0ICE9IGVuZDsgKytpdCkKLSAgICB7CisgICAgZm9yICg7
IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBRU3RyaW5nTGlzdCBzdWJ0cmFuc2Zvcm0gPSBR
U3RyaW5nTGlzdDo6c3BsaXQoJygnLCAoKml0KSk7CiAgICAgICAgIAogICAgICAgICBpZiAoc3Vi
dHJhbnNmb3JtLmNvdW50KCkgPCAyKQpAQCAtNjcsMTYgKzYzLDE0IEBAIHZvaWQgU1ZHVHJhbnNm
b3JtYWJsZUltcGw6OnBhcnNlVHJhbnNmb3IKIAogICAgICAgICBzdWJ0cmFuc2Zvcm1bMF0gPSBz
dWJ0cmFuc2Zvcm1bMF0uc3RyaXBXaGl0ZVNwYWNlKCkubG93ZXIoKTsKICAgICAgICAgc3VidHJh
bnNmb3JtWzFdID0gc3VidHJhbnNmb3JtWzFdLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwotICAgICAg
ICBRUmVnRXhwIHJlZyhRU3RyaW5nOjpmcm9tTGF0aW4xKCIoWy1dP1xcZCpcXC4/XFxkKyg/OmVb
LV0/XFxkKyk/KSIpKTsKKyAgICAgICAgUVJlZ0V4cCByZWcoIihbLV0/XFxkKlxcLj9cXGQrKD86
ZVstXT9cXGQrKT8pIik7CiAKICAgICAgICAgaW50IHBvcyA9IDA7CiAgICAgICAgIFFTdHJpbmdM
aXN0IHBhcmFtczsKICAgICAgICAgCi0gICAgICAgIHdoaWxlKHBvcyA+PSAwKQotICAgICAgICB7
CisgICAgICAgIHdoaWxlIChwb3MgPj0gMCkgewogICAgICAgICAgICAgcG9zID0gcmVnLnNlYXJj
aChzdWJ0cmFuc2Zvcm1bMV0sIHBvcyk7Ci0gICAgICAgICAgICBpZihwb3MgIT0gLTEpCi0gICAg
ICAgICAgICB7CisgICAgICAgICAgICBpZiAocG9zICE9IC0xKSB7CiAgICAgICAgICAgICAgICAg
cGFyYW1zICs9IHJlZy5jYXAoMSk7CiAgICAgICAgICAgICAgICAgcG9zICs9IHJlZy5tYXRjaGVk
TGVuZ3RoKCk7CiAgICAgICAgICAgICB9CkBAIC04NSw0MyArNzksMzMgQEAgdm9pZCBTVkdUcmFu
c2Zvcm1hYmxlSW1wbDo6cGFyc2VUcmFuc2ZvcgogICAgICAgICBpZiAocGFyYW1zLmNvdW50KCkg
PCAxKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYoc3VidHJhbnNmb3JtWzBdLnN0
YXJ0c1dpdGgoUVN0cmluZzo6ZnJvbUxhdGluMSgiOyIpKSB8fAotICAgICAgICAgICBzdWJ0cmFu
c2Zvcm1bMF0uc3RhcnRzV2l0aChRU3RyaW5nOjpmcm9tTGF0aW4xKCIsIikpKQotICAgICAgICB7
CisgICAgICAgIGlmIChzdWJ0cmFuc2Zvcm1bMF0uc3RhcnRzV2l0aCgiOyIpIHx8IHN1YnRyYW5z
Zm9ybVswXS5zdGFydHNXaXRoKCIsIikpCiAgICAgICAgICAgICBzdWJ0cmFuc2Zvcm1bMF0gPSBz
dWJ0cmFuc2Zvcm1bMF0ucmlnaHQoc3VidHJhbnNmb3JtWzBdLmxlbmd0aCgpIC0gMSk7Ci0gICAg
ICAgIH0KIAogICAgICAgICBQYXNzUmVmUHRyPFNWR1RyYW5zZm9ybUltcGw+IHQobmV3IFNWR1Ry
YW5zZm9ybUltcGwoKSk7CiAKLSAgICAgICAgaWYoc3VidHJhbnNmb3JtWzBdID09IFFTdHJpbmc6
OmZyb21MYXRpbjEoInJvdGF0ZSIpKQotICAgICAgICB7CisgICAgICAgIGlmIChzdWJ0cmFuc2Zv
cm1bMF0gPT0gInJvdGF0ZSIpIHsKICAgICAgICAgICAgIGlmIChwYXJhbXMuY291bnQoKSA9PSAz
KQogICAgICAgICAgICAgICAgIHQtPnNldFJvdGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzFdLnRvRG91YmxlKCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMl0udG9Eb3VibGUoKSk7CiAgICAgICAgICAg
ICBlbHNlIGlmIChwYXJhbXMuY291bnQoKSA9PSAxKQogICAgICAgICAgICAgICAgIHQtPnNldFJv
dGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgMCwgMCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxz
ZSBpZihzdWJ0cmFuc2Zvcm1bMF0gPT0gUVN0cmluZzo6ZnJvbUxhdGluMSgidHJhbnNsYXRlIikp
Ci0gICAgICAgIHsKKyAgICAgICAgfSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInRyYW5z
bGF0ZSIpIHsKICAgICAgICAgICAgIGlmIChwYXJhbXMuY291bnQoKSA9PSAyKQogICAgICAgICAg
ICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzFdLnRv
RG91YmxlKCkpOwogICAgICAgICAgICAgZWxzZSBpZiAocGFyYW1zLmNvdW50KCkgPT0gMSkgLy8g
U3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAog
ICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgMCk7
Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZihzdWJ0cmFuc2Zvcm1bMF0gPT0gUVN0cmluZzo6
ZnJvbUxhdGluMSgic2NhbGUiKSkKLSAgICAgICAgeworICAgICAgICB9IGVsc2UgaWYgKHN1YnRy
YW5zZm9ybVswXSA9PSAic2NhbGUiKSB7CiAgICAgICAgICAgICBpZiAocGFyYW1zLmNvdW50KCkg
PT0gMikKICAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9Eb3VibGUoKSwg
cGFyYW1zWzFdLnRvRG91YmxlKCkpOwogICAgICAgICAgICAgZWxzZSBpZiAocGFyYW1zLmNvdW50
KCkgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSB1bmlmb3Jt
IHNjYWxpbmcKICAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9Eb3VibGUo
KSwgcGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYoc3Vi
dHJhbnNmb3JtWzBdID09IFFTdHJpbmc6OmZyb21MYXRpbjEoInNrZXd4IikgJiYgKHBhcmFtcy5j
b3VudCgpID09IDEpKQorICAgICAgICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2tl
d3giICYmIChwYXJhbXMuY291bnQoKSA9PSAxKSkKICAgICAgICAgICAgIHQtPnNldFNrZXdYKHBh
cmFtc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgZWxzZSBpZihzdWJ0cmFuc2Zvcm1bMF0gPT0g
UVN0cmluZzo6ZnJvbUxhdGluMSgic2tld3kiKSAmJiAocGFyYW1zLmNvdW50KCkgPT0gMSkpCisg
ICAgICAgIGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2tld3kiICYmIChwYXJhbXMuY291
bnQoKSA9PSAxKSkKICAgICAgICAgICAgIHQtPnNldFNrZXdZKHBhcmFtc1swXS50b0RvdWJsZSgp
KTsKLSAgICAgICAgZWxzZSBpZihzdWJ0cmFuc2Zvcm1bMF0gPT0gUVN0cmluZzo6ZnJvbUxhdGlu
MSgibWF0cml4IikgJiYgKHBhcmFtcy5jb3VudCgpID09IDYpKQotICAgICAgICB7CisgICAgICAg
IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAibWF0cml4IiAmJiAocGFyYW1zLmNvdW50KCkg
PT0gNikpIHsKICAgICAgICAgICAgIFNWR01hdHJpeEltcGwgKnJldCA9IG5ldyBTVkdNYXRyaXhJ
bXBsKHBhcmFtc1swXS50b0RvdWJsZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzFdLnRvRG91YmxlKCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMl0udG9Eb3VibGUo
KSwKSW5kZXg6IGtzdmcyL3N2Zy9TVkdUU3BhbkVsZW1lbnRJbXBsLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBrc3ZnMi9zdmcvU1ZHVFNwYW5FbGVtZW50SW1wbC5jcHAJKHJldmlzaW9uIDEyMTA3KQorKysg
a3N2ZzIvc3ZnL1NWR1RTcGFuRWxlbWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw5
ICsyMCw5IEBACiAgICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAqLwogCi0vLyNpbmNs
dWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR1RT
cGFuRWxlbWVudEltcGwuaCIKKyNpbmNsdWRlICJyZW5kZXJfaW5saW5lLmgiCiAKIHVzaW5nIG5h
bWVzcGFjZSBLU1ZHOwogCkBAIC0zNSw0ICszNSwxNiBAQCBTVkdUU3BhbkVsZW1lbnRJbXBsOjp+
U1ZHVFNwYW5FbGVtZW50SW1wCiB7CiB9CiAKK2Jvb2wgU1ZHVFNwYW5FbGVtZW50SW1wbDo6Y2hp
bGRTaG91bGRDcmVhdGVSZW5kZXJlcihET006Ok5vZGVJbXBsICpjaGlsZCkgY29uc3QKK3sKKyAg
ICBpZiAoY2hpbGQtPmlzVGV4dE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitraHRtbDo6UmVuZGVyT2JqZWN0ICpTVkdUU3BhbkVsZW1lbnRJbXBs
OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqYXJlbmEsIGtodG1sOjpSZW5kZXJTdHlsZSAq
KQoreworICAgIHJldHVybiBuZXcgKGFyZW5hKSBraHRtbDo6UmVuZGVySW5saW5lKHRoaXMpOwor
fQorCiAvLyB2aW06dHM9NDpub2V0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>