<?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>114007</bug_id>
          
          <creation_ts>2013-04-05 00:36:29 -0700</creation_ts>
          <short_desc>Remove Chromium code from Source/WebCore/dom</short_desc>
          <delta_ts>2013-04-05 00:46:45 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>869606</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-05 00:36:29 -0700</bug_when>
    <thetext>Remove Chromium code from Source/WebCore/dom</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869607</commentid>
    <comment_count>1</comment_count>
      <attachid>196590</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-05 00:39:37 -0700</bug_when>
    <thetext>Created attachment 196590
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869608</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-05 00:46:45 -0700</bug_when>
    <thetext>Committed r147719: &lt;http://trac.webkit.org/changeset/147719&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196590</attachid>
            <date>2013-04-05 00:39:37 -0700</date>
            <delta_ts>2013-04-05 00:44:34 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-114007-20130405003925.patch</filename>
            <type>text/plain</type>
            <size>17293</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NzcxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA0LTA1ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBDaHJvbWl1bSBjb2Rl
IGZyb20gU291cmNlL1dlYkNvcmUvZG9tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTQwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmVkLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2V0Rm9jdXNlZE5vZGUpOgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydENoYW5uZWwuaDoK
KyAgICAgICAgKE1lc3NhZ2VQb3J0Q2hhbm5lbCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6U2hhZG93Um9vdCk6CisgICAgICAg
ICogZG9tL2RlZmF1bHQvY2hyb21pdW06IFJlbW92ZWQuCisgICAgICAgICogZG9tL2RlZmF1bHQv
Y2hyb21pdW0vUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWxDaHJvbWl1bS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL2RlZmF1bHQvY2hyb21pdW0vUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5u
ZWxDaHJvbWl1bS5oOiBSZW1vdmVkLgorCiAyMDEzLTA0LTA1ICBCZW5qYW1pbiBQb3VsYWluICA8
YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhlIGNocm9taXVtIGRpcmVj
dG9yaWVzIGZyb20gV2ViQ29yZS9Nb2R1bGVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDE0NzcxNSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI0NSwxMCArMjQ1LDYgQEAKICNpbmNsdWRlICJET01TZWN1cml0eVBv
bGljeS5oIgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpbmNsdWRlICJUcmFj
ZUV2ZW50LmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICNpbmNsdWRlICJD
YXB0aW9uVXNlclByZWZlcmVuY2VzLmgiCiAjZW5kaWYKQEAgLTE4MjMsMTAgKzE4MTksNiBAQCB2
b2lkIERvY3VtZW50OjpyZWNhbGNTdHlsZShTdHlsZUNoYW5nZSBjCiAgICAgaWYgKG1faW5TdHls
ZVJlY2FsYykKICAgICAgICAgcmV0dXJuOyAvLyBHdWFyZCBhZ2FpbnN0IHJlLWVudHJhbmN5LiAt
ZHdoCiAKLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBUUkFDRV9FVkVOVDAoIndlYmtpdCIs
ICJEb2N1bWVudDo6cmVjYWxjU3R5bGUiKTsKLSNlbmRpZgotCiAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCB1cGRhdGUgc3R5bGUgb24gb3VyIGFuY2VzdG9yIGNoYWluIGJlZm9yZSBwcm9jZWVkaW5n
IChlc3BlY2lhbGx5IGZvciBzZWFtbGVzcyksCiAgICAgLy8gaG93ZXZlciBkb2luZyBzbyBjdXJy
ZW50bHkgY2F1c2VzIHNldmVyYWwgdGVzdHMgdG8gY3Jhc2gsIGFzIEZyYW1lOjpzZXREb2N1bWVu
dCBjYWxscyBEb2N1bWVudDo6YXR0YWNoCiAgICAgLy8gYmVmb3JlIHNldHRpbmcgdGhlIERPTVdp
bmRvdyBvbiB0aGUgRnJhbWUsIG9yIHRoZSBTZWN1cml0eU9yaWdpbiBvbiB0aGUgZG9jdW1lbnQu
IFRoZSBhdHRhY2gsIGluIHR1cm4KQEAgLTI1MjgsNyArMjUyMCw3IEBAIHZvaWQgRG9jdW1lbnQ6
OmltcGxpY2l0Q2xvc2UoKQogCiAgICAgbV9wcm9jZXNzaW5nTG9hZEV2ZW50ID0gZmFsc2U7CiAK
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQorI2lmIFBMQVRGT1JNKE1B
QykKICAgICBpZiAoZiAmJiByZW5kZXJPYmplY3QgJiYgQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJp
bGl0eUVuYWJsZWQoKSkgewogICAgICAgICAvLyBUaGUgQVggY2FjaGUgbWF5IGhhdmUgYmVlbiBj
bGVhcmVkIGF0IHRoaXMgcG9pbnQsIGJ1dCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSBpdCBjb250YWlu
cyBhbgogICAgICAgICAvLyBBWCBvYmplY3QgdG8gc2VuZCB0aGUgbm90aWZpY2F0aW9uIHRvLiBn
ZXRPckNyZWF0ZSB3aWxsIG1ha2Ugc3VyZSB0aGF0IGFuIHZhbGlkIEFYIG9iamVjdApAQCAtMzQ5
NywxMiArMzQ4OSw2IEBAIGJvb2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NSZWZQdHIK
ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghZm9jdXNDaGFuZ2VCbG9ja2VkICYmIG1fZm9j
dXNlZE5vZGUpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBBWE9iamVjdCBjYWNoZSBpbiBhIGZv
Y3VzIGNoYW5nZSBiZWNhdXNlIENocm9taXVtIHJlbGllcyBvbiBpdC4KLSAgICAgICAgaWYgKEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUt
PmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKG9sZEZvY3VzZWROb2RlLmdldCgpLCBuZXdG
b2N1c2VkTm9kZS5nZXQoKSk7Ci0gICAgfQotCiAgICAgaWYgKCFmb2N1c0NoYW5nZUJsb2NrZWQp
CiAgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCktPmZvY3VzZWROb2RlQ2hhbmdlZChtX2ZvY3VzZWRO
b2RlLmdldCgpKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwu
aAkocmV2aXNpb24gMTQ3NzE1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hh
bm5lbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSwxNCArODUsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAgICAgfk1lc3NhZ2VQb3J0Q2hhbm5lbCgpOwogCi0jaWYgUExBVEZPUk0oQ0hS
T01JVU0pCi0gICAgICAgIC8vIENyZWF0ZXMgYSBuZXcgd3JhcHBlciBmb3IgdGhlIHBhc3NlZCBj
aGFubmVsLgotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+IGNy
ZWF0ZShQYXNzUmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPik7Ci0KLSAgICAgICAg
Ly8gRklYTUU6IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGlzIGFuIGltcGxlbWVudGF0aW9u
IGRldGFpbCwgYW5kIHNob3VsZCBub3QgYmUgZXhwb3NlZCB2aWEgYSBwdWJsaWMgZnVuY3Rpb24u
Ci0gICAgICAgIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKiBjaGFubmVsKCkgY29uc3QgeyBy
ZXR1cm4gbV9jaGFubmVsLmdldCgpOyB9Ci0jZW5kaWYKLQogICAgIHByaXZhdGU6CiAgICAgICAg
IGV4cGxpY2l0IE1lc3NhZ2VQb3J0Q2hhbm5lbChQYXNzUmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBv
cnRDaGFubmVsPik7CiAgICAgICAgIFJlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbD4g
bV9jaGFubmVsOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAkocmV2aXNpb24gMTQ3
NzE1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MywxMyArNjMsNiBAQCBTaGFkb3dSb290OjpTaGFkb3dSb290KERvY3VtZW50KiBkb2N1
bWVuCiAgICAgLCBtX3JlZ2lzdGVyZWRXaXRoUGFyZW50U2hhZG93Um9vdChmYWxzZSkKIHsKICAg
ICBBU1NFUlQoZG9jdW1lbnQpOwotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKHR5
cGUgPT0gU2hhZG93Um9vdDo6QXV0aG9yU2hhZG93Um9vdCkgewotICAgICAgICBTaGFkb3dSb290
VXNhZ2VPcmlnaW5UeXBlIHVzYWdlVHlwZSA9IGRvY3VtZW50LT51cmwoKS5wcm90b2NvbElzSW5I
VFRQRmFtaWx5KCkgPyBTaGFkb3dSb290VXNhZ2VPcmlnaW5XZWIgOiBTaGFkb3dSb290VXNhZ2VP
cmlnaW5Ob3RXZWI7Ci0gICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0
aW9uKCJXZWJDb3JlLlNoYWRvd1Jvb3QuY29uc3RydWN0b3IiLCB1c2FnZVR5cGUsIFNoYWRvd1Jv
b3RVc2FnZU9yaWdpbk1heCk7Ci0gICAgfQotI2VuZGlmCiB9CiAKIFNoYWRvd1Jvb3Q6On5TaGFk
b3dSb290KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9kZWZhdWx0L2Nocm9taXVtL1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9kZWZhdWx0L2Nocm9taXVtL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiAxNDc3MTUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVs
dC9jaHJvbWl1bS9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbENocm9taXVtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQ
bGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbENocm9taXVtLmgiCi0KLSNpbmNsdWRlICJNZXNzYWdl
UG9ydC5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlICJT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKLQotI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgot
I2luY2x1ZGUgPHB1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5uZWwuaD4KLSNpbmNsdWRlIDxwdWJs
aWMvV2ViU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFzc093blB0cjxNZXNz
YWdlUG9ydENoYW5uZWw+IE1lc3NhZ2VQb3J0Q2hhbm5lbDo6Y3JlYXRlKFBhc3NSZWZQdHI8UGxh
dGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+IGNoYW5uZWwpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBNZXNzYWdlUG9ydENoYW5uZWwoY2hhbm5lbCkpOwotfQotCi12b2lkIE1lc3NhZ2VQb3J0
Q2hhbm5lbDo6Y3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiBwb3J0MSwgUGFz
c1JlZlB0cjxNZXNzYWdlUG9ydD4gcG9ydDIpCi17Ci0gICAgUGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWw6OmNyZWF0ZUNoYW5uZWwocG9ydDEsIHBvcnQyKTsKLX0KLQotTWVzc2FnZVBvcnRDaGFu
bmVsOjpNZXNzYWdlUG9ydENoYW5uZWwoUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbD4gY2hhbm5lbCkKLSAgICA6IG1fY2hhbm5lbChjaGFubmVsKQotewotfQotCi1NZXNzYWdl
UG9ydENoYW5uZWw6On5NZXNzYWdlUG9ydENoYW5uZWwoKQotewotICAgIC8vIE1ha2Ugc3VyZSB3
ZSBjbG9zZSBvdXIgcGxhdGZvcm0gY2hhbm5lbCB3aGVuIHRoZSBiYXNlIGlzIGZyZWVkLCB0byBr
ZWVwIHRoZSBjaGFubmVsIG9iamVjdHMgZnJvbSBsZWFraW5nLgotICAgIG1fY2hhbm5lbC0+Y2xv
c2UoKTsKLX0KLQotYm9vbCBNZXNzYWdlUG9ydENoYW5uZWw6OmVudGFuZ2xlSWZPcGVuKE1lc3Nh
Z2VQb3J0KiBwb3J0KQotewotICAgIHJldHVybiBtX2NoYW5uZWwtPmVudGFuZ2xlSWZPcGVuKHBv
cnQpOwotfQotCi12b2lkIE1lc3NhZ2VQb3J0Q2hhbm5lbDo6ZGlzZW50YW5nbGUoKQotewotICAg
IG1fY2hhbm5lbC0+ZGlzZW50YW5nbGUoKTsKLX0KLQotdm9pZCBNZXNzYWdlUG9ydENoYW5uZWw6
OnBvc3RNZXNzYWdlVG9SZW1vdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1l
c3NhZ2UsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+IGNoYW5uZWxzKQotewot
ICAgIG1fY2hhbm5lbC0+cG9zdE1lc3NhZ2VUb1JlbW90ZShtZXNzYWdlLCBjaGFubmVscyk7Ci19
Ci0KLWJvb2wgTWVzc2FnZVBvcnRDaGFubmVsOjp0cnlHZXRNZXNzYWdlRnJvbVJlbW90ZShSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYgbWVzc2FnZSwgT3duUHRyPE1lc3NhZ2VQb3J0Q2hh
bm5lbEFycmF5PiYgY2hhbm5lbHMpCi17Ci0gICAgcmV0dXJuIG1fY2hhbm5lbC0+dHJ5R2V0TWVz
c2FnZUZyb21SZW1vdGUobWVzc2FnZSwgY2hhbm5lbHMpOwotfQotCi12b2lkIE1lc3NhZ2VQb3J0
Q2hhbm5lbDo6Y2xvc2UoKQotewotICAgIG1fY2hhbm5lbC0+Y2xvc2UoKTsKLX0KLQotYm9vbCBN
ZXNzYWdlUG9ydENoYW5uZWw6OmlzQ29ubmVjdGVkVG8oTWVzc2FnZVBvcnQqIHBvcnQpCi17Ci0g
ICAgcmV0dXJuIG1fY2hhbm5lbC0+aXNDb25uZWN0ZWRUbyhwb3J0KTsKLX0KLQotYm9vbCBNZXNz
YWdlUG9ydENoYW5uZWw6Omhhc1BlbmRpbmdBY3Rpdml0eSgpCi17Ci0gICAgcmV0dXJuIG1fY2hh
bm5lbC0+aGFzUGVuZGluZ0FjdGl2aXR5KCk7Ci19Ci0KLU1lc3NhZ2VQb3J0KiBNZXNzYWdlUG9y
dENoYW5uZWw6OmxvY2FsbHlFbnRhbmdsZWRQb3J0KGNvbnN0IFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCi17Ci0gICAgLy8gVGhpcyBpcyBqdXN0IGFuIG9wdGltaXphdGlvbiwgc28g
cmV0dXJuIDAgYWx3YXlzLgotICAgIHJldHVybiAwOwotfQotCi0KLVBhc3NSZWZQdHI8UGxhdGZv
cm1NZXNzYWdlUG9ydENoYW5uZWw+IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUo
KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwo
KSk7Ci19Ci0KLVBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+IFBsYXRmb3Jt
TWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUoCi0gICAgV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENo
YW5uZWwqIGNoYW5uZWwpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQbGF0Zm9ybU1lc3Nh
Z2VQb3J0Q2hhbm5lbChjaGFubmVsKSk7Ci19Ci0KLQotUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5u
ZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKCkKLSAgICA6IG1fbG9jYWxQb3J0KDApCi17
Ci0gICAgbV93ZWJDaGFubmVsID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5jcmVhdGVN
ZXNzYWdlUG9ydENoYW5uZWwoKTsKLSAgICBpZiAobV93ZWJDaGFubmVsKQotICAgICAgICBtX3dl
YkNoYW5uZWwtPnNldENsaWVudCh0aGlzKTsKLX0KLQotUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5u
ZWw6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsKFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFu
bmVsKiBjaGFubmVsKQotICAgIDogbV9sb2NhbFBvcnQoMCkKLSAgICAsIG1fd2ViQ2hhbm5lbChj
aGFubmVsKQotewotfQotCi1QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6flBsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsKCkKLXsKLSAgICBpZiAobV93ZWJDaGFubmVsKQotICAgICAgICBtX3dl
YkNoYW5uZWwtPmRlc3Ryb3koKTsKLX0KLQotdm9pZCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bDo6Y3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiBwb3J0MSwgUGFzc1JlZlB0
cjxNZXNzYWdlUG9ydD4gcG9ydDIpCi17Ci0gICAgLy8gQ3JlYXRlIHByb3hpZXMgZm9yIGVhY2gg
ZW5kcG9pbnQuCi0gICAgUmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPiBjaGFubmVs
MSA9IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUoKTsKLSAgICBSZWZQdHI8UGxh
dGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+IGNoYW5uZWwyID0gUGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWw6OmNyZWF0ZSgpOwotCi0gICAgLy8gRW50YW5nbGUgdGhlIHR3byBlbmRwb2ludHMuCi0g
ICAgY2hhbm5lbDEtPnNldEVudGFuZ2xlZENoYW5uZWwoY2hhbm5lbDIpOwotICAgIGNoYW5uZWwy
LT5zZXRFbnRhbmdsZWRDaGFubmVsKGNoYW5uZWwxKTsKLQotICAgIC8vIE5vdyBlbnRhbmdsZSB0
aGUgcHJveGllcyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBsb2NhbCBwb3J0cy4KLSAgICBwb3J0MS0+
ZW50YW5nbGUoTWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUoY2hhbm5lbDIpKTsKLSAgICBwb3J0
Mi0+ZW50YW5nbGUoTWVzc2FnZVBvcnRDaGFubmVsOjpjcmVhdGUoY2hhbm5lbDEpKTsKLX0KLQot
dm9pZCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6bWVzc2FnZUF2YWlsYWJsZSgpCi17Ci0g
ICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKLSAgICBpZiAobV9sb2NhbFBvcnQpCi0gICAg
ICAgIG1fbG9jYWxQb3J0LT5tZXNzYWdlQXZhaWxhYmxlKCk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWw6OmVudGFuZ2xlSWZPcGVuKE1lc3NhZ2VQb3J0KiBwb3J0KQotewot
ICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7Ci0gICAgbV9sb2NhbFBvcnQgPSBwb3J0Owot
ICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpk
aXNlbnRhbmdsZSgpCi17Ci0gICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKLSAgICBtX2xv
Y2FsUG9ydCA9IDA7Ci19Ci0KLXZvaWQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OnBvc3RN
ZXNzYWdlVG9SZW1vdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2Us
IFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+IGNoYW5uZWxzKQotewotICAgIGlm
ICghbV9sb2NhbFBvcnQgfHwgIW1fd2ViQ2hhbm5lbCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
V2ViS2l0OjpXZWJTdHJpbmcgbWVzc2FnZVN0cmluZyA9IG1lc3NhZ2UtPnRvV2lyZVN0cmluZygp
OwotICAgIFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkqIHdlYkNoYW5uZWxzID0g
MDsKLSAgICBpZiAoY2hhbm5lbHMgJiYgY2hhbm5lbHMtPnNpemUoKSkgewotICAgICAgICB3ZWJD
aGFubmVscyA9IG5ldyBXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5KGNoYW5uZWxz
LT5zaXplKCkpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoYW5uZWxzLT5zaXpl
KCk7ICsraSkgewotICAgICAgICAgICAgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwqIHBsYXRm
b3JtQ2hhbm5lbCA9ICgqY2hhbm5lbHMpW2ldLT5jaGFubmVsKCk7Ci0gICAgICAgICAgICAoKndl
YkNoYW5uZWxzKVtpXSA9IHBsYXRmb3JtQ2hhbm5lbC0+d2ViQ2hhbm5lbFJlbGVhc2UoKTsKLSAg
ICAgICAgICAgICgqd2ViQ2hhbm5lbHMpW2ldLT5zZXRDbGllbnQoMCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgbV93ZWJDaGFubmVsLT5wb3N0TWVzc2FnZShtZXNzYWdlU3RyaW5nLCB3ZWJDaGFu
bmVscyk7Ci19Ci0KLWJvb2wgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OnRyeUdldE1lc3Nh
Z2VGcm9tUmVtb3RlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiBzZXJpYWxpemVkTWVz
c2FnZSwgT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiYgY2hhbm5lbHMpCi17Ci0gICAg
aWYgKCFtX3dlYkNoYW5uZWwpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFdlYktpdDo6
V2ViU3RyaW5nIG1lc3NhZ2U7Ci0gICAgV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJh
eSB3ZWJDaGFubmVsczsKLSAgICBib29sIHJ2ID0gbV93ZWJDaGFubmVsLT50cnlHZXRNZXNzYWdl
KCZtZXNzYWdlLCB3ZWJDaGFubmVscyk7Ci0gICAgaWYgKHJ2KSB7Ci0gICAgICAgIGlmICh3ZWJD
aGFubmVscy5zaXplKCkpIHsKLSAgICAgICAgICAgIGNoYW5uZWxzID0gYWRvcHRQdHIobmV3IE1l
c3NhZ2VQb3J0Q2hhbm5lbEFycmF5KHdlYkNoYW5uZWxzLnNpemUoKSkpOwotICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCB3ZWJDaGFubmVscy5zaXplKCk7ICsraSkgewotICAgICAg
ICAgICAgICAgIFJlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbD4gcGxhdGZvcm1DaGFu
bmVsID0gY3JlYXRlKHdlYkNoYW5uZWxzW2ldKTsKLSAgICAgICAgICAgICAgICB3ZWJDaGFubmVs
c1tpXS0+c2V0Q2xpZW50KHBsYXRmb3JtQ2hhbm5lbC5nZXQoKSk7Ci0gICAgICAgICAgICAgICAg
KCpjaGFubmVscylbaV0gPSBNZXNzYWdlUG9ydENoYW5uZWw6OmNyZWF0ZShwbGF0Zm9ybUNoYW5u
ZWwpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHNlcmlhbGl6ZWRNZXNzYWdl
ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZShtZXNzYWdlKTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gcnY7Ci19Ci0KLXZvaWQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6
OmNsb3NlKCkKLXsKLSAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgIC8vIERpc2Vu
dGFuZ2xlIG91cnNlbHZlcyBmcm9tIHRoZSBvdGhlciBlbmQuIFdlIHN0aWxsIG1haW50YWluIGEg
cmVmZXJlbmNlIHRvIG1fd2ViQ2hhbm5lbCwKLSAgICAvLyBzaW5jZSBwcmV2aW91c2x5LWV4aXN0
aW5nIG1lc3NhZ2VzIHNob3VsZCBzdGlsbCBiZSBkZWxpdmVyZWQuCi0gICAgbV9sb2NhbFBvcnQg
PSAwOwotICAgIG1fZW50YW5nbGVkQ2hhbm5lbCA9IDA7Ci19Ci0KLWJvb2wgUGxhdGZvcm1NZXNz
YWdlUG9ydENoYW5uZWw6OmlzQ29ubmVjdGVkVG8oTWVzc2FnZVBvcnQqIHBvcnQpCi17Ci0gICAg
TXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKLSAgICByZXR1cm4gbV9lbnRhbmdsZWRDaGFubmVs
ICYmIG1fZW50YW5nbGVkQ2hhbm5lbC0+bV9sb2NhbFBvcnQgPT0gcG9ydDsKLX0KLQotYm9vbCBQ
bGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6aGFzUGVuZGluZ0FjdGl2aXR5KCkKLXsKLSAgICBN
dXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgIHJldHVybiBtX2xvY2FsUG9ydDsKLX0KLQot
dm9pZCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6c2V0RW50YW5nbGVkQ2hhbm5lbChQYXNz
UmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPiByZW1vdGUpCi17Ci0gICAgaWYgKG1f
d2ViQ2hhbm5lbCkKLSAgICAgICAgbV93ZWJDaGFubmVsLT5lbnRhbmdsZShyZW1vdGUtPm1fd2Vi
Q2hhbm5lbCk7Ci0KLSAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgIG1fZW50YW5n
bGVkQ2hhbm5lbCA9IHJlbW90ZTsKLX0KLQotV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWwq
IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjp3ZWJDaGFubmVsUmVsZWFzZSgpCi17Ci0gICAg
V2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWwqIHJ2ID0gbV93ZWJDaGFubmVsOwotICAgIG1f
d2ViQ2hhbm5lbCA9IDA7Ci0gICAgcmV0dXJuIHJ2OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVsdC9jaHJvbWl1bS9QbGF0Zm9ybU1l
c3NhZ2VQb3J0Q2hhbm5lbENocm9taXVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL2RlZmF1bHQvY2hyb21pdW0vUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWxDaHJvbWl1bS5o
CShyZXZpc2lvbiAxNDc3MTUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVsdC9jaHJvbWl1
bS9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbENocm9taXVtLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsOTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWxDaHJvbWl1bV9o
Ci0jZGVmaW5lIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsQ2hyb21pdW1faAotCi0KLSNpbmNs
dWRlICJNZXNzYWdlUG9ydENoYW5uZWwuaCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViTWVzc2FnZVBv
cnRDaGFubmVsQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViTWVzc2Fn
ZVBvcnRDaGFubmVsOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE1lc3NhZ2VQ
b3J0OwotCi0vLyBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWRlcGVu
ZGVudCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgot
Y2xhc3MgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+LAotICAgIHB1YmxpYyBXZWJLaXQ6Oldl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbENsaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3Jl
YXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9y
dD4pOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPiBj
cmVhdGUoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bD4gY3JlYXRlKFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFubmVsKik7Ci0KLSAgICAvLyBBUElz
IGRlbGVnYXRlZCBmcm9tIE1lc3NhZ2VQb3J0Q2hhbm5lbC5oCi0gICAgYm9vbCBlbnRhbmdsZUlm
T3BlbihNZXNzYWdlUG9ydCopOwotICAgIHZvaWQgZGlzZW50YW5nbGUoKTsKLSAgICB2b2lkIHBv
c3RNZXNzYWdlVG9SZW1vdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNz
T3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7Ci0gICAgYm9vbCB0cnlHZXRNZXNzYWdl
RnJvbVJlbW90ZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYsIE93blB0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4mKTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0gICAgYm9vbCBpc0Nvbm5l
Y3RlZFRvKE1lc3NhZ2VQb3J0Kik7Ci0gICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKLQot
ICAgIC8vIFJlbGVhc2VzIG93bmVyc2hpcCBvZiB0aGUgY29udGFpbmVkIHdlYiBjaGFubmVsLgot
ICAgIFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFubmVsKiB3ZWJDaGFubmVsUmVsZWFzZSgpOwot
Ci0gICAgdmlydHVhbCB+UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwoKTsKLQotcHJpdmF0ZToK
LSAgICBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCgpOwotICAgIFBsYXRmb3JtTWVzc2FnZVBv
cnRDaGFubmVsKFdlYktpdDo6V2ViTWVzc2FnZVBvcnRDaGFubmVsKik7Ci0KLSAgICB2b2lkIHNl
dEVudGFuZ2xlZENoYW5uZWwoUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbD4p
OwotCi0gICAgLy8gV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQgaW1wbGVtZW50
YXRpb24KLSAgICB2aXJ0dWFsIHZvaWQgbWVzc2FnZUF2YWlsYWJsZSgpOwotCi0gICAgLy8gTXV0
ZXggdXNlZCB0byBlbnN1cmUgZXhjbHVzaXZlIGFjY2VzcyB0byB0aGUgb2JqZWN0IGludGVybmFs
cy4KLSAgICBNdXRleCBtX211dGV4OwotCi0gICAgLy8gUG9pbnRlciB0byBvdXIgZW50YW5nbGVk
IHBhaXIgLSBjbGVhcmVkIHdoZW4gY2xvc2UoKSBpcyBjYWxsZWQuCi0gICAgUmVmUHRyPFBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsPiBtX2VudGFuZ2xlZENoYW5uZWw7Ci0KLSAgICAvLyBUaGUg
cG9ydCB3ZSBhcmUgY29ubmVjdGVkIHRvIC0gdGhpcyBpcyB0aGUgcG9ydCB0aGF0IGlzIG5vdGlm
aWVkIHdoZW4gbmV3IG1lc3NhZ2VzIGFycml2ZS4KLSAgICBNZXNzYWdlUG9ydCogbV9sb2NhbFBv
cnQ7Ci0KLSAgICBXZWJLaXQ6OldlYk1lc3NhZ2VQb3J0Q2hhbm5lbCogbV93ZWJDaGFubmVsOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gUGxhdGZvcm1NZXNzYWdl
UG9ydENoYW5uZWxDaHJvbWl1bV9oCg==
</data>
<flag name="review"
          id="218682"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>