<?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>100643</bug_id>
          
          <creation_ts>2012-10-29 02:33:50 -0700</creation_ts>
          <short_desc>[Chromium] Rename LocalizedDateICUTest.cpp to LocaleICUTest.cpp</short_desc>
          <delta_ts>2012-10-29 03:14:26 -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>Tools / Tests</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>100648</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>753191</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-29 02:33:50 -0700</bug_when>
    <thetext>LocalizedDateICU was removed some months ago, and LocaleICU has the same role now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753196</commentid>
    <comment_count>1</comment_count>
      <attachid>171184</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-29 02:38:13 -0700</bug_when>
    <thetext>Created attachment 171184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753201</commentid>
    <comment_count>2</comment_count>
      <attachid>171184</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-29 02:41:02 -0700</bug_when>
    <thetext>Comment on attachment 171184
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753203</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-29 02:44:50 -0700</bug_when>
    <thetext>Committed r132778: &lt;http://trac.webkit.org/changeset/132778&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171184</attachid>
            <date>2012-10-29 02:38:13 -0700</date>
            <delta_ts>2012-10-29 02:41:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100643-20121029183640.patch</filename>
            <type>text/plain</type>
            <size>19933</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDA2MGVhYTM2OGZjNzNkNjZkODM1YjhkMGRjMTNiZTY1NDgzZTgxMTguLmY1OWI4ZDRjZjA3MTg1
ODEzZGQxNzE4MTViZmIxMTcxZjRjMDhkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjAgQEAKIDIwMTItMTAtMjkgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgogCisgICAgICAgIFtDaHJvbWl1bV0gUmVuYW1lIExvY2FsaXplZERhdGVJQ1VUZXN0LmNw
cCB0byBMb2NhbGVJQ1VUZXN0LmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAwNjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTG9jYWxpemVkRGF0ZUlDVSB3YXMgcmVtb3ZlZCBzb21lIG1vbnRocyBh
Z28sIGFuZCBMb2NhbGl6ZWREYXRlSUNVVGVzdAorICAgICAgICBhY3R1YWxseSBoYWQgdGVzdHMg
Zm9yIExvY2FsZUlDVS4KKworICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHRlc3Rz
L0xvY2FsZUlDVVRlc3QuY3BwOgorICAgICAgICAtIFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0xvY2FsaXplZERhdGVJQ1VUZXN0LmNwcC4KKyAgICAgICAgLSBSZW5h
bWUgTG9jYWxpemVkRGF0ZUlDVVRlc3QgY2xhc3MgdG8gTG9jYWxlSUNVVGVzdC4KKworMjAxMi0x
MC0yOSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgW0Nocm9t
aXVtLWxpbnV4XSBGaXggYnVpbGQuCiAKICAgICAgICAgKiB0ZXN0cy9Mb2NhbGl6ZWROdW1iZXJJ
Q1VUZXN0LmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCmluZGV4IDM2OTdmY2ZlMzNk
YWU1MzIwOWJjNzU4ZGVlMTEzN2Y5OGQ2Y2M3YjUuLjI3NjRkN2Y1ZDZjYzg3ZmFlNzA2MzY5NjQy
MzQ0MzRiMTk2MGM5MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQpAQCAtMTQ2LDcg
KzE0Niw3IEBACiAgICAgICAgICAgICB9XSwKICAgICAgICAgICAgIFsnb3NfcG9zaXg9PTEgYW5k
IE9TIT0ibWFjIicsIHsKICAgICAgICAgICAgICAgICAnd2Via2l0X3VuaXR0ZXN0X2ZpbGVzJzog
WwotICAgICAgICAgICAgICAgICAgICAndGVzdHMvTG9jYWxpemVkRGF0ZUlDVVRlc3QuY3BwJywK
KyAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0xvY2FsZUlDVVRlc3QuY3BwJywKICAgICAgICAg
ICAgICAgICAgICAgJ3Rlc3RzL0xvY2FsaXplZE51bWJlcklDVVRlc3QuY3BwJywKICAgICAgICAg
ICAgICAgICBdLAogICAgICAgICAgICAgfV0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0xvY2FsZUlDVVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9Mb2NhbGVJQ1VUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDllYTgzOGFjZDk3MjE4NzI1NjU4
YmVhOTcwMjExMGEzNTJmMGNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9Mb2NhbGVJQ1VUZXN0LmNwcApAQCAtMCwwICsxLDIyNSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2luY2x1ZGUg
IkxvY2FsZUlDVS5oIgorCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwordXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK2NsYXNzIExvY2FsZUlDVVRlc3QgOiBwdWJsaWMgOjp0
ZXN0aW5nOjpUZXN0IHsKK3B1YmxpYzoKKyAgICAvLyBMYWJlbHMgY2xhc3MgaXMgdXNlZCBmb3Ig
cHJpbnRpbmcgcmVzdWx0cyBpbiBFWFBFQ1RfRVEgbWFjcm8uCisgICAgY2xhc3MgTGFiZWxzIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIExhYmVscyhjb25zdCBWZWN0b3I8U3RyaW5nPiBsYWJlbHMp
CisgICAgICAgICAgICA6IG1fbGFiZWxzKGxhYmVscykKKyAgICAgICAgeworICAgICAgICB9CisK
KyAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgVmVjdG9yPFQ+OjpvcGVyYXRvcj09KCkg
aWYgaXQgd29ya3MuCisgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBMYWJlbHMmIG90aGVy
KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAobV9sYWJlbHMuc2l6ZSgpICE9IG90
aGVyLm1fbGFiZWxzLnNpemUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBtX2xhYmVscy5zaXplKCk7
ICsraW5kZXgpCisgICAgICAgICAgICAgICAgaWYgKG1fbGFiZWxzW2luZGV4XSAhPSBvdGhlci5t
X2xhYmVsc1tpbmRleF0pCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIHRvU3RyaW5n
KCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwor
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImxhYmVscygiKTsKKyAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IG1fbGFiZWxzLnNpemUoKTsgKytpbmRleCkgewor
ICAgICAgICAgICAgICAgIGlmIChpbmRleCkKKyAgICAgICAgICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQoIiwgIik7CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyInKTsKKyAgICAg
ICAgICAgICAgICBidWlsZGVyLmFwcGVuZChtX2xhYmVsc1tpbmRleF0pOworICAgICAgICAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKCciJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBidWls
ZGVyLmFwcGVuZCgnKScpOworICAgICAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsK
KyAgICAgICAgfQorCisgICAgcHJpdmF0ZToKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gbV9sYWJl
bHM7CisgICAgfTsKKworcHJvdGVjdGVkOgorICAgIExhYmVscyBsYWJlbHMoY29uc3QgU3RyaW5n
JiBlbGVtZW50MSwgY29uc3QgU3RyaW5nJiBlbGVtZW50MikKKyAgICB7CisgICAgICAgIFZlY3Rv
cjxTdHJpbmc+IGxhYmVscyA9IFZlY3RvcjxTdHJpbmc+KCk7CisgICAgICAgIGxhYmVscy5hcHBl
bmQoZWxlbWVudDEpOworICAgICAgICBsYWJlbHMuYXBwZW5kKGVsZW1lbnQyKTsKKyAgICAgICAg
cmV0dXJuIExhYmVscyhsYWJlbHMpOworICAgIH0KKworICAgIFN0cmluZyBtb250aEZvcm1hdChj
b25zdCBjaGFyKiBsb2NhbGVTdHJpbmcpCisgICAgeworICAgICAgICBPd25QdHI8TG9jYWxlSUNV
PiBsb2NhbGUgPSBMb2NhbGVJQ1U6OmNyZWF0ZShsb2NhbGVTdHJpbmcpOworICAgICAgICByZXR1
cm4gbG9jYWxlLT5tb250aEZvcm1hdCgpOworICAgIH0KKworICAgIFN0cmluZyBsb2NhbGl6ZWRE
YXRlRm9ybWF0VGV4dChjb25zdCBjaGFyKiBsb2NhbGVTdHJpbmcpCisgICAgeworICAgICAgICBP
d25QdHI8TG9jYWxlSUNVPiBsb2NhbGUgPSBMb2NhbGVJQ1U6OmNyZWF0ZShsb2NhbGVTdHJpbmcp
OworICAgICAgICByZXR1cm4gbG9jYWxlLT50aW1lRm9ybWF0KCk7CisgICAgfQorCisgICAgU3Ry
aW5nIGxvY2FsaXplZFNob3J0RGF0ZUZvcm1hdFRleHQoY29uc3QgY2hhciogbG9jYWxlU3RyaW5n
KQorICAgIHsKKyAgICAgICAgT3duUHRyPExvY2FsZUlDVT4gbG9jYWxlID0gTG9jYWxlSUNVOjpj
cmVhdGUobG9jYWxlU3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIGxvY2FsZS0+c2hvcnRUaW1lRm9y
bWF0KCk7CisgICAgfQorCisgICAgU3RyaW5nIHNob3J0TW9udGhMYWJlbChjb25zdCBjaGFyKiBs
b2NhbGVTdHJpbmcsIHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgT3duUHRyPExvY2Fs
ZUlDVT4gbG9jYWxlID0gTG9jYWxlSUNVOjpjcmVhdGUobG9jYWxlU3RyaW5nKTsKKyAgICAgICAg
cmV0dXJuIGxvY2FsZS0+c2hvcnRNb250aExhYmVscygpW2luZGV4XTsKKyAgICB9CisKKyAgICBT
dHJpbmcgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbChjb25zdCBjaGFyKiBsb2NhbGVTdHJpbmcs
IHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgT3duUHRyPExvY2FsZUlDVT4gbG9jYWxl
ID0gTG9jYWxlSUNVOjpjcmVhdGUobG9jYWxlU3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIGxvY2Fs
ZS0+c2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKVtpbmRleF07CisgICAgfQorCisgICAgU3Ry
aW5nIHN0YW5kQWxvbmVNb250aExhYmVsKGNvbnN0IGNoYXIqIGxvY2FsZVN0cmluZywgdW5zaWdu
ZWQgaW5kZXgpCisgICAgeworICAgICAgICBPd25QdHI8TG9jYWxlSUNVPiBsb2NhbGUgPSBMb2Nh
bGVJQ1U6OmNyZWF0ZShsb2NhbGVTdHJpbmcpOworICAgICAgICByZXR1cm4gbG9jYWxlLT5zdGFu
ZEFsb25lTW9udGhMYWJlbHMoKVtpbmRleF07CisgICAgfQorCisgICAgTGFiZWxzIHRpbWVBTVBN
TGFiZWxzKGNvbnN0IGNoYXIqIGxvY2FsZVN0cmluZykKKyAgICB7CisgICAgICAgIE93blB0cjxM
b2NhbGVJQ1U+IGxvY2FsZSA9IExvY2FsZUlDVTo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7CisgICAg
ICAgIHJldHVybiBMYWJlbHMobG9jYWxlLT50aW1lQU1QTUxhYmVscygpKTsKKyAgICB9CisKKyAg
ICBib29sIGlzUlRMKGNvbnN0IGNoYXIqIGxvY2FsZVN0cmluZykKKyAgICB7CisgICAgICAgIE93
blB0cjxMb2NhbGVJQ1U+IGxvY2FsZSA9IExvY2FsZUlDVTo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7
CisgICAgICAgIHJldHVybiBsb2NhbGUtPmlzUlRMKCk7CisgICAgfQorfTsKKworc3RkOjpvc3Ry
ZWFtJiBvcGVyYXRvcjw8KHN0ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IExvY2FsZUlDVVRlc3Q6Okxh
YmVscyYgbGFiZWxzKQoreworICAgIHJldHVybiBvcyA8PCBsYWJlbHMudG9TdHJpbmcoKS51dGY4
KCkuZGF0YSgpOworfQorCitURVNUX0YoTG9jYWxlSUNVVGVzdCwgaXNSVEwpCit7CisgICAgRVhQ
RUNUX1RSVUUoaXNSVEwoImFyLUVHIikpOworICAgIEVYUEVDVF9GQUxTRShpc1JUTCgiZW4tdXMi
KSk7CisgICAgRVhQRUNUX0ZBTFNFKGlzUlRMKCJqYS1qcCIpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
aXNSVEwoIioqaW52YWxpZCoqIikpOworfQorCitURVNUX0YoTG9jYWxlSUNVVGVzdCwgbW9udGhG
b3JtYXQpCit7CisgICAgRVhQRUNUX1NUUkVRKCJNTU1NIHl5eXkiLCBtb250aEZvcm1hdCgiZW5f
VVMiKS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIk1NTU0geXl5eSIsIG1vbnRo
Rm9ybWF0KCJmciIpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgieXl5eVx4RTVc
eEI5XHhCNE1ceEU2XHg5Q1x4ODgiLCBtb250aEZvcm1hdCgiamEiKS51dGY4KCkuZGF0YSgpKTsK
K30KKworVEVTVF9GKExvY2FsZUlDVVRlc3QsIGxvY2FsaXplZERhdGVGb3JtYXRUZXh0KQorewor
ICAgIC8vIE5vdGU6IEVYUEVDVF9FUShTdHJpbmcsIFN0cmluZykgZG9lc24ndCBwcmludCByZXN1
bHQgYXMgc3RyaW5nLgorICAgIEVYUEVDVF9TVFJFUSgiaDptbTpzcyBhIiwgbG9jYWxpemVkRGF0
ZUZvcm1hdFRleHQoImVuX1VTIikudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJI
SDptbTpzcyIsIGxvY2FsaXplZERhdGVGb3JtYXRUZXh0KCJmciIpLnV0ZjgoKS5kYXRhKCkpOwor
ICAgIEVYUEVDVF9TVFJFUSgiSDptbTpzcyIsIGxvY2FsaXplZERhdGVGb3JtYXRUZXh0KCJqYSIp
LnV0ZjgoKS5kYXRhKCkpOworfQorCitURVNUX0YoTG9jYWxlSUNVVGVzdCwgbG9jYWxpemVkU2hv
cnREYXRlRm9ybWF0VGV4dCkKK3sKKyAgICBFWFBFQ1RfU1RSRVEoImg6bW0gYSIsIGxvY2FsaXpl
ZFNob3J0RGF0ZUZvcm1hdFRleHQoImVuX1VTIikudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNU
X1NUUkVRKCJISDptbSIsIGxvY2FsaXplZFNob3J0RGF0ZUZvcm1hdFRleHQoImZyIikudXRmOCgp
LmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJIOm1tIiwgbG9jYWxpemVkU2hvcnREYXRlRm9y
bWF0VGV4dCgiamEiKS51dGY4KCkuZGF0YSgpKTsKK30KKworVEVTVF9GKExvY2FsZUlDVVRlc3Qs
IHN0YW5kQWxvbmVNb250aExhYmVscykKK3sKKyAgICBFWFBFQ1RfU1RSRVEoIkphbnVhcnkiLCBz
dGFuZEFsb25lTW9udGhMYWJlbCgiZW5fVVMiLCAwKS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBF
Q1RfU1RSRVEoIkp1bmUiLCBzdGFuZEFsb25lTW9udGhMYWJlbCgiZW5fVVMiLCA1KS51dGY4KCku
ZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIkRlY2VtYmVyIiwgc3RhbmRBbG9uZU1vbnRoTGFi
ZWwoImVuX1VTIiwgMTEpLnV0ZjgoKS5kYXRhKCkpOworCisgICAgRVhQRUNUX1NUUkVRKCJqYW52
aWVyIiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwoImZyX0ZSIiwgMCkudXRmOCgpLmRhdGEoKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCJqdWluIiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwoImZyX0ZSIiwgNSku
dXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJkXHhDM1x4QTkiICJjZW1icmUiLCBz
dGFuZEFsb25lTW9udGhMYWJlbCgiZnJfRlIiLCAxMSkudXRmOCgpLmRhdGEoKSk7CisKKyAgICBF
WFBFQ1RfU1RSRVEoIjFceEU2XHg5Q1x4ODgiLCBzdGFuZEFsb25lTW9udGhMYWJlbCgiamFfSlAi
LCAwKS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjZceEU2XHg5Q1x4ODgiLCBz
dGFuZEFsb25lTW9udGhMYWJlbCgiamFfSlAiLCA1KS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBF
Q1RfU1RSRVEoIjEyXHhFNlx4OUNceDg4Iiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwoImphX0pQIiwg
MTEpLnV0ZjgoKS5kYXRhKCkpOworCisgICAgRVhQRUNUX1NUUkVRKCJceEQwXHg5Q1x4RDBceEIw
XHhEMVx4ODBceEQxXHg4MiIsIHN0YW5kQWxvbmVNb250aExhYmVsKCJydV9SVSIsIDIpLnV0Zjgo
KS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiXHhEMFx4OUNceEQwXHhCMFx4RDBceEI5Iiwg
c3RhbmRBbG9uZU1vbnRoTGFiZWwoInJ1X1JVIiwgNCkudXRmOCgpLmRhdGEoKSk7Cit9CisKK1RF
U1RfRihMb2NhbGVJQ1VUZXN0LCBzaG9ydE1vbnRoTGFiZWxzKQoreworICAgIEVYUEVDVF9TVFJF
USgiSmFuIiwgc2hvcnRNb250aExhYmVsKCJlbl9VUyIsIDApLnV0ZjgoKS5kYXRhKCkpOworICAg
IEVYUEVDVF9TVFJFUSgiSmFuIiwgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbCgiZW5fVVMiLCAw
KS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIkRlYyIsIHNob3J0TW9udGhMYWJl
bCgiZW5fVVMiLCAxMSkudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJEZWMiLCBz
aG9ydFN0YW5kQWxvbmVNb250aExhYmVsKCJlbl9VUyIsIDExKS51dGY4KCkuZGF0YSgpKTsKKwor
ICAgIEVYUEVDVF9TVFJFUSgiamFudi4iLCBzaG9ydE1vbnRoTGFiZWwoImZyX0ZSIiwgMCkudXRm
OCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJqYW52LiIsIHNob3J0U3RhbmRBbG9uZU1v
bnRoTGFiZWwoImZyX0ZSIiwgMCkudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJk
XHhDM1x4QTkiICJjLiIsIHNob3J0TW9udGhMYWJlbCgiZnJfRlIiLCAxMSkudXRmOCgpLmRhdGEo
KSk7CisgICAgRVhQRUNUX1NUUkVRKCJkXHhDM1x4QTkiICJjLiIsIHNob3J0U3RhbmRBbG9uZU1v
bnRoTGFiZWwoImZyX0ZSIiwgMTEpLnV0ZjgoKS5kYXRhKCkpOworCisgICAgRVhQRUNUX1NUUkVR
KCIxXHhFNlx4OUNceDg4Iiwgc2hvcnRNb250aExhYmVsKCJqYV9KUCIsIDApLnV0ZjgoKS5kYXRh
KCkpOworICAgIEVYUEVDVF9TVFJFUSgiMVx4RTZceDlDXHg4OCIsIHNob3J0U3RhbmRBbG9uZU1v
bnRoTGFiZWwoImphX0pQIiwgMCkudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIx
Mlx4RTZceDlDXHg4OCIsIHNob3J0TW9udGhMYWJlbCgiamFfSlAiLCAxMSkudXRmOCgpLmRhdGEo
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIxMlx4RTZceDlDXHg4OCIsIHNob3J0U3RhbmRBbG9uZU1v
bnRoTGFiZWwoImphX0pQIiwgMTEpLnV0ZjgoKS5kYXRhKCkpOworCisgICAgRVhQRUNUX1NUUkVR
KCJceEQwXHhCQ1x4RDBceEIwXHhEMVx4ODBceEQxXHg4Mlx4RDBceEIwIiwgc2hvcnRNb250aExh
YmVsKCJydV9SVSIsIDIpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiXHhEMFx4
QkNceEQwXHhCMFx4RDFceDgwXHhEMVx4ODIiLCBzaG9ydFN0YW5kQWxvbmVNb250aExhYmVsKCJy
dV9SVSIsIDIpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiXHhEMFx4QkNceEQw
XHhCMFx4RDFceDhGIiwgc2hvcnRNb250aExhYmVsKCJydV9SVSIsIDQpLnV0ZjgoKS5kYXRhKCkp
OworICAgIEVYUEVDVF9TVFJFUSgiXHhEMFx4QkNceEQwXHhCMFx4RDBceEI5Iiwgc2hvcnRTdGFu
ZEFsb25lTW9udGhMYWJlbCgicnVfUlUiLCA0KS51dGY4KCkuZGF0YSgpKTsKK30KKworVEVTVF9G
KExvY2FsZUlDVVRlc3QsIHRpbWVBTVBNTGFiZWxzKQoreworICAgIEVYUEVDVF9FUShsYWJlbHMo
IkFNIiwgIlBNIiksIHRpbWVBTVBNTGFiZWxzKCJlbl9VUyIpKTsKKyAgICBFWFBFQ1RfRVEobGFi
ZWxzKCJBTSIsICJQTSIpLCB0aW1lQU1QTUxhYmVscygiZnIiKSk7CisKKyAgICBVQ2hhciBqYUFN
WzNdID0geyAweDUzNDgsIDB4NTI0ZCwgMCB9OworICAgIFVDaGFyIGphUE1bM10gPSB7IDB4NTM0
OCwgMHg1RjhDLCAwIH07CisgICAgRVhQRUNUX0VRKGxhYmVscyhTdHJpbmcoamFBTSksIFN0cmlu
ZyhqYVBNKSksIHRpbWVBTVBNTGFiZWxzKCJqYSIpKTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsaXplZERhdGVJQ1VUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxpemVkRGF0ZUlDVVRlc3QuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwM2QwZTEzNDAxM2I1ZjM0MGQxOThhOTkzMDY0
YTdlYTk0MzExZDhkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxpemVkRGF0ZUlDVVRlc3QuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMjI2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
ZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotCi0jaW5jbHVkZSAiTG9jYWxlSUNV
LmgiCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KLQotdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7Ci0KLWNsYXNzIExvY2FsaXplZERhdGVJQ1VUZXN0IDogcHVibGljIDo6dGVzdGlu
Zzo6VGVzdCB7Ci1wdWJsaWM6Ci0gICAgLy8gTGFiZWxzIGNsYXNzIGlzIHVzZWQgZm9yIHByaW50
aW5nIHJlc3VsdHMgaW4gRVhQRUNUX0VRIG1hY3JvLgotICAgIGNsYXNzIExhYmVscyB7Ci0gICAg
cHVibGljOgotICAgICAgICBMYWJlbHMoY29uc3QgVmVjdG9yPFN0cmluZz4gbGFiZWxzKQotICAg
ICAgICAgICAgOiBtX2xhYmVscyhsYWJlbHMpCi0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIFZlY3RvcjxUPjo6b3BlcmF0b3I9PSgpIGlmIGl0
IHdvcmtzLgotICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGFiZWxzJiBvdGhlcikgY29u
c3QKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKG1fbGFiZWxzLnNpemUoKSAhPSBvdGhlci5t
X2xhYmVscy5zaXplKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgbV9sYWJlbHMuc2l6ZSgpOyArK2lu
ZGV4KQotICAgICAgICAgICAgICAgIGlmIChtX2xhYmVsc1tpbmRleF0gIT0gb3RoZXIubV9sYWJl
bHNbaW5kZXhdKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cmluZyB0b1N0cmluZygpIGNv
bnN0Ci0gICAgICAgIHsKLSAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJsYWJlbHMoIik7Ci0gICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGluZGV4ID0gMDsgaW5kZXggPCBtX2xhYmVscy5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoaW5kZXgpCi0gICAgICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCIsICIpOwotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCciJyk7Ci0gICAgICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQobV9sYWJlbHNbaW5kZXhdKTsKLSAgICAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnIicpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnVpbGRlci5h
cHBlbmQoJyknKTsKLSAgICAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAg
ICAgIH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IG1fbGFiZWxzOwot
ICAgIH07Ci0KLXByb3RlY3RlZDoKLSAgICBMYWJlbHMgbGFiZWxzKGNvbnN0IFN0cmluZyYgZWxl
bWVudDEsIGNvbnN0IFN0cmluZyYgZWxlbWVudDIpCi0gICAgewotICAgICAgICBWZWN0b3I8U3Ry
aW5nPiBsYWJlbHMgPSBWZWN0b3I8U3RyaW5nPigpOwotICAgICAgICBsYWJlbHMuYXBwZW5kKGVs
ZW1lbnQxKTsKLSAgICAgICAgbGFiZWxzLmFwcGVuZChlbGVtZW50Mik7Ci0gICAgICAgIHJldHVy
biBMYWJlbHMobGFiZWxzKTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgbW9udGhGb3JtYXQoY29uc3Qg
Y2hhciogbG9jYWxlU3RyaW5nKQotICAgIHsKLSAgICAgICAgT3duUHRyPExvY2FsZUlDVT4gbG9j
YWxlID0gTG9jYWxlSUNVOjpjcmVhdGUobG9jYWxlU3RyaW5nKTsKLSAgICAgICAgcmV0dXJuIGxv
Y2FsZS0+bW9udGhGb3JtYXQoKTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgbG9jYWxpemVkRGF0ZUZv
cm1hdFRleHQoY29uc3QgY2hhciogbG9jYWxlU3RyaW5nKQotICAgIHsKLSAgICAgICAgT3duUHRy
PExvY2FsZUlDVT4gbG9jYWxlID0gTG9jYWxlSUNVOjpjcmVhdGUobG9jYWxlU3RyaW5nKTsKLSAg
ICAgICAgcmV0dXJuIGxvY2FsZS0+dGltZUZvcm1hdCgpOwotICAgIH0KLQotICAgIFN0cmluZyBs
b2NhbGl6ZWRTaG9ydERhdGVGb3JtYXRUZXh0KGNvbnN0IGNoYXIqIGxvY2FsZVN0cmluZykKLSAg
ICB7Ci0gICAgICAgIE93blB0cjxMb2NhbGVJQ1U+IGxvY2FsZSA9IExvY2FsZUlDVTo6Y3JlYXRl
KGxvY2FsZVN0cmluZyk7Ci0gICAgICAgIHJldHVybiBsb2NhbGUtPnNob3J0VGltZUZvcm1hdCgp
OwotICAgIH0KLQotICAgIFN0cmluZyBzaG9ydE1vbnRoTGFiZWwoY29uc3QgY2hhciogbG9jYWxl
U3RyaW5nLCB1bnNpZ25lZCBpbmRleCkKLSAgICB7Ci0gICAgICAgIE93blB0cjxMb2NhbGVJQ1U+
IGxvY2FsZSA9IExvY2FsZUlDVTo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7Ci0gICAgICAgIHJldHVy
biBsb2NhbGUtPnNob3J0TW9udGhMYWJlbHMoKVtpbmRleF07Ci0gICAgfQotCi0gICAgU3RyaW5n
IHNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWwoY29uc3QgY2hhciogbG9jYWxlU3RyaW5nLCB1bnNp
Z25lZCBpbmRleCkKLSAgICB7Ci0gICAgICAgIE93blB0cjxMb2NhbGVJQ1U+IGxvY2FsZSA9IExv
Y2FsZUlDVTo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7Ci0gICAgICAgIHJldHVybiBsb2NhbGUtPnNo
b3J0U3RhbmRBbG9uZU1vbnRoTGFiZWxzKClbaW5kZXhdOwotICAgIH0KLQotICAgIFN0cmluZyBz
dGFuZEFsb25lTW9udGhMYWJlbChjb25zdCBjaGFyKiBsb2NhbGVTdHJpbmcsIHVuc2lnbmVkIGlu
ZGV4KQotICAgIHsKLSAgICAgICAgT3duUHRyPExvY2FsZUlDVT4gbG9jYWxlID0gTG9jYWxlSUNV
OjpjcmVhdGUobG9jYWxlU3RyaW5nKTsKLSAgICAgICAgcmV0dXJuIGxvY2FsZS0+c3RhbmRBbG9u
ZU1vbnRoTGFiZWxzKClbaW5kZXhdOwotICAgIH0KLQotICAgIExhYmVscyB0aW1lQU1QTUxhYmVs
cyhjb25zdCBjaGFyKiBsb2NhbGVTdHJpbmcpCi0gICAgewotICAgICAgICBPd25QdHI8TG9jYWxl
SUNVPiBsb2NhbGUgPSBMb2NhbGVJQ1U6OmNyZWF0ZShsb2NhbGVTdHJpbmcpOwotICAgICAgICBy
ZXR1cm4gTGFiZWxzKGxvY2FsZS0+dGltZUFNUE1MYWJlbHMoKSk7Ci0gICAgfQotCi0gICAgYm9v
bCBpc1JUTChjb25zdCBjaGFyKiBsb2NhbGVTdHJpbmcpCi0gICAgewotICAgICAgICBPd25QdHI8
TG9jYWxlSUNVPiBsb2NhbGUgPSBMb2NhbGVJQ1U6OmNyZWF0ZShsb2NhbGVTdHJpbmcpOwotICAg
ICAgICByZXR1cm4gbG9jYWxlLT5pc1JUTCgpOwotICAgIH0KLX07Ci0KLXN0ZDo6b3N0cmVhbSYg
b3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mIG9zLCBjb25zdCBMb2NhbGl6ZWREYXRlSUNVVGVzdDo6
TGFiZWxzJiBsYWJlbHMpCi17Ci0gICAgcmV0dXJuIG9zIDw8IGxhYmVscy50b1N0cmluZygpLnV0
ZjgoKS5kYXRhKCk7Ci19Ci0KLVRFU1RfRihMb2NhbGl6ZWREYXRlSUNVVGVzdCwgaXNSVEwpCi17
Ci0gICAgRVhQRUNUX1RSVUUoaXNSVEwoImFyLUVHIikpOwotICAgIEVYUEVDVF9GQUxTRShpc1JU
TCgiZW4tdXMiKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGlzUlRMKCJqYS1qcCIpKTsKLSAgICBFWFBF
Q1RfRkFMU0UoaXNSVEwoIioqaW52YWxpZCoqIikpOwotfQotCi1URVNUX0YoTG9jYWxpemVkRGF0
ZUlDVVRlc3QsIG1vbnRoRm9ybWF0KQotewotICAgIEVYUEVDVF9TVFJFUSgiTU1NTSB5eXl5Iiwg
bW9udGhGb3JtYXQoImVuX1VTIikudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJN
TU1NIHl5eXkiLCBtb250aEZvcm1hdCgiZnIiKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1Rf
U1RSRVEoInl5eXlceEU1XHhCOVx4QjRNXHhFNlx4OUNceDg4IiwgbW9udGhGb3JtYXQoImphIiku
dXRmOCgpLmRhdGEoKSk7Ci19Ci0KLVRFU1RfRihMb2NhbGl6ZWREYXRlSUNVVGVzdCwgbG9jYWxp
emVkRGF0ZUZvcm1hdFRleHQpCi17Ci0gICAgLy8gTm90ZTogRVhQRUNUX0VRKFN0cmluZywgU3Ry
aW5nKSBkb2Vzbid0IHByaW50IHJlc3VsdCBhcyBzdHJpbmcuCi0gICAgRVhQRUNUX1NUUkVRKCJo
Om1tOnNzIGEiLCBsb2NhbGl6ZWREYXRlRm9ybWF0VGV4dCgiZW5fVVMiKS51dGY4KCkuZGF0YSgp
KTsKLSAgICBFWFBFQ1RfU1RSRVEoIkhIOm1tOnNzIiwgbG9jYWxpemVkRGF0ZUZvcm1hdFRleHQo
ImZyIikudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJIOm1tOnNzIiwgbG9jYWxp
emVkRGF0ZUZvcm1hdFRleHQoImphIikudXRmOCgpLmRhdGEoKSk7Ci19Ci0KLVRFU1RfRihMb2Nh
bGl6ZWREYXRlSUNVVGVzdCwgbG9jYWxpemVkU2hvcnREYXRlRm9ybWF0VGV4dCkKLXsKLSAgICBF
WFBFQ1RfU1RSRVEoImg6bW0gYSIsIGxvY2FsaXplZFNob3J0RGF0ZUZvcm1hdFRleHQoImVuX1VT
IikudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJISDptbSIsIGxvY2FsaXplZFNo
b3J0RGF0ZUZvcm1hdFRleHQoImZyIikudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVR
KCJIOm1tIiwgbG9jYWxpemVkU2hvcnREYXRlRm9ybWF0VGV4dCgiamEiKS51dGY4KCkuZGF0YSgp
KTsKLX0KLQotVEVTVF9GKExvY2FsaXplZERhdGVJQ1VUZXN0LCBzdGFuZEFsb25lTW9udGhMYWJl
bHMpCi17Ci0gICAgRVhQRUNUX1NUUkVRKCJKYW51YXJ5Iiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwo
ImVuX1VTIiwgMCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJKdW5lIiwgc3Rh
bmRBbG9uZU1vbnRoTGFiZWwoImVuX1VTIiwgNSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNU
X1NUUkVRKCJEZWNlbWJlciIsIHN0YW5kQWxvbmVNb250aExhYmVsKCJlbl9VUyIsIDExKS51dGY4
KCkuZGF0YSgpKTsKLQotICAgIEVYUEVDVF9TVFJFUSgiamFudmllciIsIHN0YW5kQWxvbmVNb250
aExhYmVsKCJmcl9GUiIsIDApLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgianVp
biIsIHN0YW5kQWxvbmVNb250aExhYmVsKCJmcl9GUiIsIDUpLnV0ZjgoKS5kYXRhKCkpOwotICAg
IEVYUEVDVF9TVFJFUSgiZFx4QzNceEE5IiAiY2VtYnJlIiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwo
ImZyX0ZSIiwgMTEpLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgRVhQRUNUX1NUUkVRKCIxXHhFNlx4
OUNceDg4Iiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwoImphX0pQIiwgMCkudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCI2XHhFNlx4OUNceDg4Iiwgc3RhbmRBbG9uZU1vbnRoTGFiZWwo
ImphX0pQIiwgNSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCIxMlx4RTZceDlD
XHg4OCIsIHN0YW5kQWxvbmVNb250aExhYmVsKCJqYV9KUCIsIDExKS51dGY4KCkuZGF0YSgpKTsK
LQotICAgIEVYUEVDVF9TVFJFUSgiXHhEMFx4OUNceEQwXHhCMFx4RDFceDgwXHhEMVx4ODIiLCBz
dGFuZEFsb25lTW9udGhMYWJlbCgicnVfUlUiLCAyKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoIlx4RDBceDlDXHhEMFx4QjBceEQwXHhCOSIsIHN0YW5kQWxvbmVNb250aExhYmVs
KCJydV9SVSIsIDQpLnV0ZjgoKS5kYXRhKCkpOwotfQotCi1URVNUX0YoTG9jYWxpemVkRGF0ZUlD
VVRlc3QsIHNob3J0TW9udGhMYWJlbHMpCi17Ci0gICAgRVhQRUNUX1NUUkVRKCJKYW4iLCBzaG9y
dE1vbnRoTGFiZWwoImVuX1VTIiwgMCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVR
KCJKYW4iLCBzaG9ydFN0YW5kQWxvbmVNb250aExhYmVsKCJlbl9VUyIsIDApLnV0ZjgoKS5kYXRh
KCkpOwotICAgIEVYUEVDVF9TVFJFUSgiRGVjIiwgc2hvcnRNb250aExhYmVsKCJlbl9VUyIsIDEx
KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkRlYyIsIHNob3J0U3RhbmRBbG9u
ZU1vbnRoTGFiZWwoImVuX1VTIiwgMTEpLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgRVhQRUNUX1NU
UkVRKCJqYW52LiIsIHNob3J0TW9udGhMYWJlbCgiZnJfRlIiLCAwKS51dGY4KCkuZGF0YSgpKTsK
LSAgICBFWFBFQ1RfU1RSRVEoImphbnYuIiwgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbCgiZnJf
RlIiLCAwKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoImRceEMzXHhBOSIgImMu
Iiwgc2hvcnRNb250aExhYmVsKCJmcl9GUiIsIDExKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoImRceEMzXHhBOSIgImMuIiwgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbCgiZnJf
RlIiLCAxMSkudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIjFceEU2XHg5Q1x4
ODgiLCBzaG9ydE1vbnRoTGFiZWwoImphX0pQIiwgMCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQ
RUNUX1NUUkVRKCIxXHhFNlx4OUNceDg4Iiwgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbCgiamFf
SlAiLCAwKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjEyXHhFNlx4OUNceDg4
Iiwgc2hvcnRNb250aExhYmVsKCJqYV9KUCIsIDExKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoIjEyXHhFNlx4OUNceDg4Iiwgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbCgiamFf
SlAiLCAxMSkudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIlx4RDBceEJDXHhE
MFx4QjBceEQxXHg4MFx4RDFceDgyXHhEMFx4QjAiLCBzaG9ydE1vbnRoTGFiZWwoInJ1X1JVIiwg
MikudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJceEQwXHhCQ1x4RDBceEIwXHhE
MVx4ODBceEQxXHg4MiIsIHNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWwoInJ1X1JVIiwgMikudXRm
OCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJceEQwXHhCQ1x4RDBceEIwXHhEMVx4OEYi
LCBzaG9ydE1vbnRoTGFiZWwoInJ1X1JVIiwgNCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNU
X1NUUkVRKCJceEQwXHhCQ1x4RDBceEIwXHhEMFx4QjkiLCBzaG9ydFN0YW5kQWxvbmVNb250aExh
YmVsKCJydV9SVSIsIDQpLnV0ZjgoKS5kYXRhKCkpOwotfQotCi1URVNUX0YoTG9jYWxpemVkRGF0
ZUlDVVRlc3QsIHRpbWVBTVBNTGFiZWxzKQotewotICAgIEVYUEVDVF9FUShsYWJlbHMoIkFNIiwg
IlBNIiksIHRpbWVBTVBNTGFiZWxzKCJlbl9VUyIpKTsKLSAgICBFWFBFQ1RfRVEobGFiZWxzKCJB
TSIsICJQTSIpLCB0aW1lQU1QTUxhYmVscygiZnIiKSk7Ci0KLSAgICBVQ2hhciBqYUFNWzNdID0g
eyAweDUzNDgsIDB4NTI0ZCwgMCB9OwotICAgIFVDaGFyIGphUE1bM10gPSB7IDB4NTM0OCwgMHg1
RjhDLCAwIH07Ci0gICAgRVhQRUNUX0VRKGxhYmVscyhTdHJpbmcoamFBTSksIFN0cmluZyhqYVBN
KSksIHRpbWVBTVBNTGFiZWxzKCJqYSIpKTsKLX0KLQotI2VuZGlmCg==
</data>
<flag name="review"
          id="185002"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>