<?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>127659</bug_id>
          
          <creation_ts>2014-01-26 14:06:29 -0800</creation_ts>
          <short_desc>Move history item visit count handling to WebKit</short_desc>
          <delta_ts>2014-01-26 14:17:32 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972248</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-26 14:06:29 -0800</bug_when>
    <thetext>Move history item visit count handling to WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972250</commentid>
    <comment_count>1</comment_count>
      <attachid>222285</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-26 14:08:08 -0800</bug_when>
    <thetext>Created attachment 222285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972251</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-26 14:17:32 -0800</bug_when>
    <thetext>Committed r162808: &lt;http://trac.webkit.org/changeset/162808&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222285</attachid>
            <date>2014-01-26 14:08:08 -0800</date>
            <delta_ts>2014-01-26 14:14:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127659-20140126140807.patch</filename>
            <type>text/plain</type>
            <size>30804</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyMmZhOTZmZGVmODMy
YmUxZTBhNjM4NzIwNGFkOTFjMGIzNjVjMS4uNzNlZTIzZmNkYzlkYjBmN2I1MGM1OGFiYTBjYjY1
MjM4NzM3OTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE0LTAxLTI2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBoaXN0b3J5
IGl0ZW0gdmlzaXQgY291bnQgaGFuZGxpbmcgdG8gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2NTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgYWxsIG1lbWJlcnMgZGVhbGluZyB3
aXRoIHZpc2l0IGhhbmRsaW5nIC0gdGhleSdyZSBnb2luZyBiYWNrIHRvIFdlYktpdC4KKworICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKToKKyAgICAgICAg
KFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5
SXRlbTo6ZGVjb2RlQmFja0ZvcndhcmRUcmVlKToKKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJ
dGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6Y3JlYXRlKToKKworMjAxNC0w
MS0yNiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIE1v
dmUgbGFzdFZpc2l0V2FzSFRUUE5vbkdldCBvdXQgdG8gV2ViSGlzdG9yeUl0ZW0KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzY1NwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggNjViMjNlZmIyZjMwYTQwZTY2M2FhY2E3NDg3NTllNWNjNDUxZjE4NS4uNjcz
Y2QyYzQ4NDYyMzE4ZjY5NzdlNmQ1YjczNTUwNWUyM2E1ZGM4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDMzIEBACiAyMDE0LTAxLTI2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBoaXN0b3J5IGl0ZW0gdmlzaXQgY291bnQgaGFuZGxp
bmcgdG8gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjc2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlIGNvZGUgdG8gZGVhbCB3aXRoIHZpc2l0IGNvdW50IGFuZCB2aXNpdCBkYXRlcyBo
ZXJlIGZyb20gV2ViQ29yZS4KKworICAgICAgICAqIEhpc3RvcnkvSGlzdG9yeVByb3BlcnR5TGlz
dC5tbToKKyAgICAgICAgKEhpc3RvcnlQcm9wZXJ0eUxpc3RXcml0ZXI6OndyaXRlSGlzdG9yeUl0
ZW0pOgorICAgICAgICAqIEhpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW06CisgICAgICAgICgtW1dl
Ykhpc3RvcnlJdGVtIGluaXRXaXRoVVJMU3RyaW5nOnRpdGxlOmxhc3RWaXNpdGVkVGltZUludGVy
dmFsOl0pOgorICAgICAgICAoLVtXZWJIaXN0b3J5SXRlbSBjb3B5V2l0aFpvbmU6XSk6CisgICAg
ICAgICgtW1dlYkhpc3RvcnlJdGVtIGxhc3RWaXNpdGVkVGltZUludGVydmFsXSk6CisgICAgICAg
ICgtW1dlYkhpc3RvcnlJdGVtIGluaXRXaXRoVVJMU3RyaW5nOnRpdGxlOmRpc3BsYXlUaXRsZTps
YXN0VmlzaXRlZFRpbWVJbnRlcnZhbDpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeUl0ZW0gc2V0
VmlzaXRDb3VudDpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeUl0ZW0gX21lcmdlQXV0b0NvbXBs
ZXRlSGludHM6XSk6CisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVtIGluaXRGcm9tRGljdGlvbmFy
eVJlcHJlc2VudGF0aW9uOl0pOgorICAgICAgICAoLVtXZWJIaXN0b3J5SXRlbSBfdmlzaXRlZFdp
dGhUaXRsZTppbmNyZWFzZVZpc2l0Q291bnQ6XSk6CisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVt
IF9yZWNvcmRJbml0aWFsVmlzaXRdKToKKyAgICAgICAgKHRpbWVUb0RheSk6CisgICAgICAgICgt
W1dlYkhpc3RvcnlJdGVtIF9wYWREYWlseUNvdW50c0Zvck5ld1Zpc2l0Ol0pOgorICAgICAgICAo
LVtXZWJIaXN0b3J5SXRlbSBfY29sbGFwc2VEYWlseVZpc2l0c1RvV2Vla2x5XSk6CisgICAgICAg
ICgtW1dlYkhpc3RvcnlJdGVtIF9yZWNvcmRWaXNpdEF0VGltZTppbmNyZWFzZVZpc2l0Q291bnQ6
XSk6CisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVtIF9zZXRMYXN0VmlzaXRlZFRpbWVJbnRlcnZh
bDpdKToKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtSW50ZXJuYWwuaDoKKworMjAx
NC0wMS0yNiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAg
IEZpeCBidWlsZC4KIAogICAgICAgICBQYXNzIGEgV2ViSGlzdG9yeUl0ZW0gdG8gd3JpdGVIaXN0
b3J5SXRlbSBzbyB3ZSBjYW4gZXh0cmFjdCBfbGFzdFZpc2l0V2FzSFRUUE5vbkdldCBmcm9tIGl0
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAyNjc0MmE5NDM0MGYxMTViOGI3YjUwN2EyYzk1NWM4
NDNkOWY5ZWM2Li4wYTI1YTE4NDVjYTUyZTVlYjUzNWExZTE2MzhiN2JmZGFkMTgzNWQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTQ3LDI1ICsxNDcsMTkgQEAgX19aTjdXZWJDb3JlMTFIaXN0
b3J5SXRlbTExc2V0UmVmZXJyZXJFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxMUhpc3Rv
cnlJdGVtMTJhZGRDaGlsZEl0ZW1FTjNXVEYxMFBhc3NSZWZQdHJJUzBfRUUKIF9fWk43V2ViQ29y
ZTExSGlzdG9yeUl0ZW0xMnNldFVSTFN0cmluZ0VSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZTExSGlzdG9yeUl0ZW0xMnNldFZpZXdTdGF0ZUVQMTFvYmpjX29iamVjdAotX19aTjdXZWJDb3Jl
MTFIaXN0b3J5SXRlbTEzc2V0VmlzaXRDb3VudEVpCiBfX1pON1dlYkNvcmUxMUhpc3RvcnlJdGVt
MTRhZGRSZWRpcmVjdFVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0
ZW0xNHNldFNjcm9sbFBvaW50RVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlMTFIaXN0b3J5
SXRlbTE1c2V0SXNUYXJnZXRJdGVtRWIKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xNXNldFJl
ZGlyZWN0VVJMc0VOU3QzX18xMTB1bmlxdWVfcHRySU4zV1RGNlZlY3RvcklOUzNfNlN0cmluZ0VM
bTBFTlMzXzE1Q3Jhc2hPbk92ZXJmbG93RUVFTlMxXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVFRQot
X19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbTE2YWRvcHRWaXNpdENvdW50c0VSTjNXVEY2VmVjdG9y
SWlMbTBFTlMxXzE1Q3Jhc2hPbk92ZXJmbG93RUVFUzVfCiBfX1pON1dlYkNvcmUxMUhpc3RvcnlJ
dGVtMTZzZXREb2N1bWVudFN0YXRlRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVOUzFf
MTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xN3NldEFsdGVy
bmF0ZVRpdGxlRVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbTE4cmVj
b3JkSW5pdGlhbFZpc2l0RXYKLV9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0xOHNldExhc3RWaXNp
dGVkVGltZUVkCiBfX1pON1dlYkNvcmUxMUhpc3RvcnlJdGVtMjBzZXRPcmlnaW5hbFVSTFN0cmlu
Z0VSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0yMHNldFRyYW5zaWVu
dFByb3BlcnR5RVJLTjNXVEY2U3RyaW5nRVAxMW9iamNfb2JqZWN0CiBfX1pON1dlYkNvcmUxMUhp
c3RvcnlJdGVtMjFkZWNvZGVCYWNrRm9yd2FyZFRyZWVFUktOM1dURjZTdHJpbmdFUzRfUzRfUk5T
MV83RGVjb2RlckUKLV9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW0yMm1lcmdlQXV0b0NvbXBsZXRl
SGludHNFUFMwXwotX19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbTd2aXNpdGVkRVJLTjNXVEY2U3Ry
aW5nRWROU18xOFZpc2l0Q291bnRCZWhhdmlvckUKIF9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW04
Zm9ybURhdGFFdgogX19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbThzZXRUaXRsZUVSS04zV1RGNlN0
cmluZ0UKLV9fWk43V2ViQ29yZTExSGlzdG9yeUl0ZW1DMUVSS04zV1RGNlN0cmluZ0VTNF9TNF9k
Ci1fX1pON1dlYkNvcmUxMUhpc3RvcnlJdGVtQzFFUktOM1dURjZTdHJpbmdFUzRfZAorX19aTjdX
ZWJDb3JlMTFIaXN0b3J5SXRlbUMxRVJLTjNXVEY2U3RyaW5nRVM0XworX19aTjdXZWJDb3JlMTFI
aXN0b3J5SXRlbUMxRVJLTjNXVEY2U3RyaW5nRVM0X1M0XwogX19aTjdXZWJDb3JlMTFIaXN0b3J5
SXRlbUMxRVJLTlNfM1VSTEVSS04zV1RGNlN0cmluZ0VTN19TN18KIF9fWk43V2ViQ29yZTExSGlz
dG9yeUl0ZW1DMUV2CiBfX1pON1dlYkNvcmUxMUhpc3RvcnlJdGVtRDFFdgpAQCAtMTQzOCw3ICsx
NDMyLDYgQEAgX19aTks3V2ViQ29yZTExRnJhbWVMb2FkZXIxN25ldHdvcmtpbmdDb250ZXh0RXYK
IF9fWk5LN1dlYkNvcmUxMUZyYW1lTG9hZGVyMjBhY3RpdmVEb2N1bWVudExvYWRlckV2CiBfX1pO
SzdXZWJDb3JlMTFGcmFtZUxvYWRlcjI3bnVtUGVuZGluZ09yTG9hZGluZ1JlcXVlc3RzRWIKIF9f
Wk5LN1dlYkNvcmUxMUZyYW1lTG9hZGVyOGxvYWRUeXBlRXYKLV9fWk5LN1dlYkNvcmUxMUhpc3Rv
cnlJdGVtMTB2aXNpdENvdW50RXYKIF9fWk5LN1dlYkNvcmUxMUhpc3RvcnlJdGVtMTFoYXNDaGls
ZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTExb3JpZ2luYWxVUkxFdgogX19aTks3
V2ViQ29yZTExSGlzdG9yeUl0ZW0xMXNjcm9sbFBvaW50RXYKQEAgLTE0NDYsNyArMTQzOSw2IEBA
IF9fWk5LN1dlYkNvcmUxMUhpc3RvcnlJdGVtMTJpc1RhcmdldEl0ZW1FdgogX19aTks3V2ViQ29y
ZTExSGlzdG9yeUl0ZW0xMnJlZGlyZWN0VVJMc0V2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRl
bTEzZG9jdW1lbnRTdGF0ZUV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTE0YWx0ZXJuYXRl
VGl0bGVFdgotX19aTks3V2ViQ29yZTExSGlzdG9yeUl0ZW0xNWxhc3RWaXNpdGVkVGltZUV2CiBf
X1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbTE1cGFnZVNjYWxlRmFjdG9yRXYKIF9fWk5LN1dlYkNv
cmUxMUhpc3RvcnlJdGVtMTdvcmlnaW5hbFVSTFN0cmluZ0V2CiBfX1pOSzdXZWJDb3JlMTFIaXN0
b3J5SXRlbTE5Y2hpbGRJdGVtV2l0aFRhcmdldEVSS04zV1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggMTg3M2YzNWM3NDczNmQzODg5ZWYzZjhkMTg2
MGJkODVhOWVjNzVkZi4uOGNlMDg0MWI5MDQ0YzQ1YjUwNTI2MTk4ZGYyNzQ2ZWM5NzE5ZTI3MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTYwLDExICs2MCw5IEBA
IHN0YXRpYyB2b2lkIGRlZmF1bHROb3RpZnlIaXN0b3J5SXRlbUNoYW5nZWQoSGlzdG9yeUl0ZW0q
KQogdm9pZCAoKm5vdGlmeUhpc3RvcnlJdGVtQ2hhbmdlZCkoSGlzdG9yeUl0ZW0qKSA9IGRlZmF1
bHROb3RpZnlIaXN0b3J5SXRlbUNoYW5nZWQ7CiAKIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbSgp
Ci0gICAgOiBtX2xhc3RWaXNpdGVkVGltZSgwKQotICAgICwgbV9wYWdlU2NhbGVGYWN0b3IoMCkK
KyAgICA6IG1fcGFnZVNjYWxlRmFjdG9yKDApCiAgICAgLCBtX2xhc3RWaXNpdFdhc0ZhaWx1cmUo
ZmFsc2UpCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShmYWxzZSkKLSAgICAsIG1fdmlzaXRDb3VudCgw
KQogICAgICwgbV9pdGVtU2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQog
ICAgICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkK
ICAgICAsIG1fbmV4dCgwKQpAQCAtNzcsMTUgKzc1LDEzIEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5
SXRlbSgpCiB7CiB9CiAKLUhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBTdHJpbmcmIHVy
bFN0cmluZywgY29uc3QgU3RyaW5nJiB0aXRsZSwgZG91YmxlIHRpbWUpCitIaXN0b3J5SXRlbTo6
SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUp
CiAgICAgOiBtX3VybFN0cmluZyh1cmxTdHJpbmcpCiAgICAgLCBtX29yaWdpbmFsVVJMU3RyaW5n
KHVybFN0cmluZykKICAgICAsIG1fdGl0bGUodGl0bGUpCi0gICAgLCBtX2xhc3RWaXNpdGVkVGlt
ZSh0aW1lKQogICAgICwgbV9wYWdlU2NhbGVGYWN0b3IoMCkKICAgICAsIG1fbGFzdFZpc2l0V2Fz
RmFpbHVyZShmYWxzZSkKICAgICAsIG1faXNUYXJnZXRJdGVtKGZhbHNlKQotICAgICwgbV92aXNp
dENvdW50KDApCiAgICAgLCBtX2l0ZW1TZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVt
YmVyKCkpCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51
bWJlcigpKQogICAgICwgbV9uZXh0KDApCkBAIC05OSwxNiArOTUsMTQgQEAgSGlzdG9yeUl0ZW06
Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBkb3VibGUgdGkKICAgICBpY29uRGF0YWJhc2UoKS5yZXRhaW5JY29uRm9yUGFnZVVSTChtX3Vy
bFN0cmluZyk7CiB9CiAKLUhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBTdHJpbmcmIHVy
bFN0cmluZywgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBhbHRlcm5hdGVUaXRs
ZSwgZG91YmxlIHRpbWUpCitIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29uc3QgU3RyaW5nJiB1
cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYWx0ZXJuYXRlVGl0
bGUpCiAgICAgOiBtX3VybFN0cmluZyh1cmxTdHJpbmcpCiAgICAgLCBtX29yaWdpbmFsVVJMU3Ry
aW5nKHVybFN0cmluZykKICAgICAsIG1fdGl0bGUodGl0bGUpCiAgICAgLCBtX2Rpc3BsYXlUaXRs
ZShhbHRlcm5hdGVUaXRsZSkKLSAgICAsIG1fbGFzdFZpc2l0ZWRUaW1lKHRpbWUpCiAgICAgLCBt
X3BhZ2VTY2FsZUZhY3RvcigwKQogICAgICwgbV9sYXN0VmlzaXRXYXNGYWlsdXJlKGZhbHNlKQog
ICAgICwgbV9pc1RhcmdldEl0ZW0oZmFsc2UpCi0gICAgLCBtX3Zpc2l0Q291bnQoMCkKICAgICAs
IG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAgICAsIG1f
ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBt
X25leHQoMCkKQEAgLTEyOCwxMSArMTIyLDkgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBwYXIKICAg
ICAsIG1fdGFyZ2V0KHRhcmdldCkKICAgICAsIG1fcGFyZW50KHBhcmVudCkKICAgICAsIG1fdGl0
bGUodGl0bGUpCi0gICAgLCBtX2xhc3RWaXNpdGVkVGltZSgwKQogICAgICwgbV9wYWdlU2NhbGVG
YWN0b3IoMCkKICAgICAsIG1fbGFzdFZpc2l0V2FzRmFpbHVyZShmYWxzZSkKICAgICAsIG1faXNU
YXJnZXRJdGVtKGZhbHNlKQotICAgICwgbV92aXNpdENvdW50KDApCiAgICAgLCBtX2l0ZW1TZXF1
ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX2RvY3VtZW50U2Vx
dWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1ZW5jZU51bWJlcigpKQogICAgICwgbV9uZXh0KDApCkBA
IC0xNjEsMTQgKzE1MywxMCBAQCBpbmxpbmUgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0
IEhpc3RvcnlJdGVtJiBpdGVtKQogICAgICwgbV9wYXJlbnQoaXRlbS5tX3BhcmVudCkKICAgICAs
IG1fdGl0bGUoaXRlbS5tX3RpdGxlKQogICAgICwgbV9kaXNwbGF5VGl0bGUoaXRlbS5tX2Rpc3Bs
YXlUaXRsZSkKLSAgICAsIG1fbGFzdFZpc2l0ZWRUaW1lKGl0ZW0ubV9sYXN0VmlzaXRlZFRpbWUp
CiAgICAgLCBtX3Njcm9sbFBvaW50KGl0ZW0ubV9zY3JvbGxQb2ludCkKICAgICAsIG1fcGFnZVNj
YWxlRmFjdG9yKGl0ZW0ubV9wYWdlU2NhbGVGYWN0b3IpCiAgICAgLCBtX2xhc3RWaXNpdFdhc0Zh
aWx1cmUoaXRlbS5tX2xhc3RWaXNpdFdhc0ZhaWx1cmUpCiAgICAgLCBtX2lzVGFyZ2V0SXRlbShp
dGVtLm1faXNUYXJnZXRJdGVtKQotICAgICwgbV92aXNpdENvdW50KGl0ZW0ubV92aXNpdENvdW50
KQotICAgICwgbV9kYWlseVZpc2l0Q291bnRzKGl0ZW0ubV9kYWlseVZpc2l0Q291bnRzKQotICAg
ICwgbV93ZWVrbHlWaXNpdENvdW50cyhpdGVtLm1fd2Vla2x5VmlzaXRDb3VudHMpCiAgICAgLCBt
X2l0ZW1TZXF1ZW5jZU51bWJlcihpdGVtLm1faXRlbVNlcXVlbmNlTnVtYmVyKQogICAgICwgbV9k
b2N1bWVudFNlcXVlbmNlTnVtYmVyKGl0ZW0ubV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKQogICAg
ICwgbV9mb3JtQ29udGVudFR5cGUoaXRlbS5tX2Zvcm1Db250ZW50VHlwZSkKQEAgLTIwOCwxMyAr
MTk2LDggQEAgdm9pZCBIaXN0b3J5SXRlbTo6cmVzZXQoKQogICAgIG1fdGl0bGUgPSBTdHJpbmco
KTsKICAgICBtX2Rpc3BsYXlUaXRsZSA9IFN0cmluZygpOwogCi0gICAgbV9sYXN0VmlzaXRlZFRp
bWUgPSAwOwotCiAgICAgbV9sYXN0VmlzaXRXYXNGYWlsdXJlID0gZmFsc2U7CiAgICAgbV9pc1Rh
cmdldEl0ZW0gPSBmYWxzZTsKLSAgICBtX3Zpc2l0Q291bnQgPSAwOwotICAgIG1fZGFpbHlWaXNp
dENvdW50cy5jbGVhcigpOwotICAgIG1fd2Vla2x5VmlzaXRDb3VudHMuY2xlYXIoKTsKIAogICAg
IG1fcmVkaXJlY3RVUkxzID0gbnVsbHB0cjsKIApAQCAtMjU2LDExICsyMzksNiBAQCBib29sIEhp
c3RvcnlJdGVtOjpoYXNDYWNoZWRQYWdlRXhwaXJlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2Fj
aGVkUGFnZSA/IG1fY2FjaGVkUGFnZS0+aGFzRXhwaXJlZCgpIDogZmFsc2U7CiB9CiAKLWRvdWJs
ZSBIaXN0b3J5SXRlbTo6bGFzdFZpc2l0ZWRUaW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9s
YXN0VmlzaXRlZFRpbWU7Ci19Ci0KIFVSTCBIaXN0b3J5SXRlbTo6dXJsKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gVVJMKFBhcnNlZFVSTFN0cmluZywgbV91cmxTdHJpbmcpOwpAQCAtMzM5LDk0ICsz
MTcsNiBAQCB2b2lkIEhpc3RvcnlJdGVtOjpzZXRQYXJlbnQoY29uc3QgU3RyaW5nJiBwYXJlbnQp
CiAgICAgbV9wYXJlbnQgPSBwYXJlbnQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHRpbWVUb0Rh
eShkb3VibGUgdGltZSkKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihjZWlsKHRpbWUg
LyBzZWNvbmRzUGVyRGF5KSk7Ci19Ci0KLXZvaWQgSGlzdG9yeUl0ZW06OnBhZERhaWx5Q291bnRz
Rm9yTmV3VmlzaXQoZG91YmxlIHRpbWUpCi17Ci0gICAgaWYgKG1fZGFpbHlWaXNpdENvdW50cy5p
c0VtcHR5KCkpCi0gICAgICAgIG1fZGFpbHlWaXNpdENvdW50cy5pbnNlcnQoMCwgbV92aXNpdENv
dW50KTsKLQotICAgIGludCBkYXlzRWxhcHNlZCA9IHRpbWVUb0RheSh0aW1lKSAtIHRpbWVUb0Rh
eShtX2xhc3RWaXNpdGVkVGltZSk7Ci0KLSAgICBpZiAoZGF5c0VsYXBzZWQgPCAwKQotICAgICAg
ICBkYXlzRWxhcHNlZCA9IDA7Ci0KLSAgICBWZWN0b3I8aW50LCAzMj4gcGFkZGluZzsKLSAgICBw
YWRkaW5nLmZpbGwoMCwgZGF5c0VsYXBzZWQpOwotICAgIG1fZGFpbHlWaXNpdENvdW50cy5pbnNl
cnRWZWN0b3IoMCwgcGFkZGluZyk7Ci19Ci0KLXN0YXRpYyBjb25zdCBzaXplX3QgZGF5c1Blcldl
ZWsgPSA3Owotc3RhdGljIGNvbnN0IHNpemVfdCBtYXhEYWlseUNvdW50cyA9IDIgKiBkYXlzUGVy
V2VlayAtIDE7Ci1zdGF0aWMgY29uc3Qgc2l6ZV90IG1heFdlZWtseUNvdW50cyA9IDU7Ci0KLXZv
aWQgSGlzdG9yeUl0ZW06OmNvbGxhcHNlRGFpbHlWaXNpdHNUb1dlZWtseSgpCi17Ci0gICAgd2hp
bGUgKG1fZGFpbHlWaXNpdENvdW50cy5zaXplKCkgPiBtYXhEYWlseUNvdW50cykgewotICAgICAg
ICBpbnQgb2xkZXN0V2Vla1RvdGFsID0gMDsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBkYXlzUGVyV2VlazsgaSsrKQotICAgICAgICAgICAgb2xkZXN0V2Vla1RvdGFsICs9IG1fZGFp
bHlWaXNpdENvdW50c1ttX2RhaWx5VmlzaXRDb3VudHMuc2l6ZSgpIC0gZGF5c1BlcldlZWsgKyBp
XTsKLSAgICAgICAgbV9kYWlseVZpc2l0Q291bnRzLnNocmluayhtX2RhaWx5VmlzaXRDb3VudHMu
c2l6ZSgpIC0gZGF5c1BlcldlZWspOwotICAgICAgICBtX3dlZWtseVZpc2l0Q291bnRzLmluc2Vy
dCgwLCBvbGRlc3RXZWVrVG90YWwpOwotICAgIH0KLQotICAgIGlmIChtX3dlZWtseVZpc2l0Q291
bnRzLnNpemUoKSA+IG1heFdlZWtseUNvdW50cykKLSAgICAgICAgbV93ZWVrbHlWaXNpdENvdW50
cy5zaHJpbmsobWF4V2Vla2x5Q291bnRzKTsKLX0KLQotdm9pZCBIaXN0b3J5SXRlbTo6cmVjb3Jk
VmlzaXRBdFRpbWUoZG91YmxlIHRpbWUsIFZpc2l0Q291bnRCZWhhdmlvciB2aXNpdENvdW50QmVo
YXZpb3IpCi17Ci0gICAgcGFkRGFpbHlDb3VudHNGb3JOZXdWaXNpdCh0aW1lKTsKLQotICAgIG1f
bGFzdFZpc2l0ZWRUaW1lID0gdGltZTsKLQotICAgIGlmICh2aXNpdENvdW50QmVoYXZpb3IgPT0g
SW5jcmVhc2VWaXNpdENvdW50KSB7Ci0gICAgICAgICsrbV92aXNpdENvdW50OwotICAgICAgICAr
K21fZGFpbHlWaXNpdENvdW50c1swXTsKLSAgICB9Ci0KLSAgICBjb2xsYXBzZURhaWx5VmlzaXRz
VG9XZWVrbHkoKTsKLX0KLQotdm9pZCBIaXN0b3J5SXRlbTo6c2V0TGFzdFZpc2l0ZWRUaW1lKGRv
dWJsZSB0aW1lKQotewotICAgIGlmIChtX2xhc3RWaXNpdGVkVGltZSAhPSB0aW1lKQotICAgICAg
ICByZWNvcmRWaXNpdEF0VGltZSh0aW1lKTsKLX0KLQotdm9pZCBIaXN0b3J5SXRlbTo6dmlzaXRl
ZChjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUgdGltZSwgVmlzaXRDb3VudEJlaGF2aW9yIHZp
c2l0Q291bnRCZWhhdmlvcikKLXsKLSAgICBtX3RpdGxlID0gdGl0bGU7Ci0gICAgcmVjb3JkVmlz
aXRBdFRpbWUodGltZSwgdmlzaXRDb3VudEJlaGF2aW9yKTsKLX0KLQotaW50IEhpc3RvcnlJdGVt
Ojp2aXNpdENvdW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV92aXNpdENvdW50OwotfQotCi12
b2lkIEhpc3RvcnlJdGVtOjpyZWNvcmRJbml0aWFsVmlzaXQoKQotewotICAgIEFTU0VSVCghbV92
aXNpdENvdW50KTsKLSAgICByZWNvcmRWaXNpdEF0VGltZShtX2xhc3RWaXNpdGVkVGltZSk7Ci19
Ci0KLXZvaWQgSGlzdG9yeUl0ZW06OnNldFZpc2l0Q291bnQoaW50IGNvdW50KQotewotICAgIG1f
dmlzaXRDb3VudCA9IGNvdW50OwotfQotCi12b2lkIEhpc3RvcnlJdGVtOjphZG9wdFZpc2l0Q291
bnRzKFZlY3RvcjxpbnQ+JiBkYWlseUNvdW50cywgVmVjdG9yPGludD4mIHdlZWtseUNvdW50cykK
LXsKLSAgICBtX2RhaWx5VmlzaXRDb3VudHMuY2xlYXIoKTsKLSAgICBtX2RhaWx5VmlzaXRDb3Vu
dHMuc3dhcChkYWlseUNvdW50cyk7Ci0gICAgbV93ZWVrbHlWaXNpdENvdW50cy5jbGVhcigpOwot
ICAgIG1fd2Vla2x5VmlzaXRDb3VudHMuc3dhcCh3ZWVrbHlDb3VudHMpOwotfQotCiBjb25zdCBJ
bnRQb2ludCYgSGlzdG9yeUl0ZW06OnNjcm9sbFBvaW50KCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9zY3JvbGxQb2ludDsKQEAgLTY2NSwxNiArNTU1LDYgQEAgYm9vbCBIaXN0b3J5SXRlbTo6aXND
dXJyZW50RG9jdW1lbnQoRG9jdW1lbnQqIGRvYykgY29uc3QKICAgICByZXR1cm4gZXF1YWxJZ25v
cmluZ0ZyYWdtZW50SWRlbnRpZmllcih1cmwoKSwgZG9jLT51cmwoKSk7CiB9CiAKLXZvaWQgSGlz
dG9yeUl0ZW06Om1lcmdlQXV0b0NvbXBsZXRlSGludHMoSGlzdG9yeUl0ZW0qIG90aGVySXRlbSkK
LXsKLSAgICAvLyBGSVhNRTogdGhpcyBpcyBicm9rZW4gLSB3ZSBzaG91bGQgYmUgbWVyZ2luZyB0
aGUgZGFpbHkgY291bnRzCi0gICAgLy8gc29tZWhvdy4gIGJ1dCB0aGlzIGlzIHRvIHN1cHBvcnQg
QVBJIHRoYXQncyBub3QgcmVhbGx5IHVzZWQgaW4KLSAgICAvLyBwcmFjdGljZSBzbyBsZWF2ZSBp
dCBicm9rZW4gZm9yIG5vdy4KLSAgICBBU1NFUlQob3RoZXJJdGVtKTsKLSAgICBpZiAob3RoZXJJ
dGVtICE9IHRoaXMpCi0gICAgICAgIG1fdmlzaXRDb3VudCArPSBvdGhlckl0ZW0tPm1fdmlzaXRD
b3VudDsKLX0KLQogdm9pZCBIaXN0b3J5SXRlbTo6YWRkUmVkaXJlY3RVUkwoY29uc3QgU3RyaW5n
JiB1cmwpCiB7CiAgICAgaWYgKCFtX3JlZGlyZWN0VVJMcykKQEAgLTgyNSw3ICs3MDUsNyBAQCBQ
YXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBIaXN0b3J5SXRlbTo6ZGVjb2RlQmFja0ZvcndhcmRUcmVl
KGNvbnN0IFN0cmluZyYgdG9wVVJMUwogICAgIFZlY3RvcjxEZWNvZGVSZWN1cnNpb25TdGFja0Vs
ZW1lbnQsIDE2PiByZWN1cnNpb25TdGFjazsKIAogcmVjdXJzZToKLSAgICBSZWZQdHI8SGlzdG9y
eUl0ZW0+IG5vZGUgPSBjcmVhdGUodXJsU3RyaW5nLCB0aXRsZSwgMCk7CisgICAgUmVmUHRyPEhp
c3RvcnlJdGVtPiBub2RlID0gY3JlYXRlKHVybFN0cmluZywgdGl0bGUpOwogCiAgICAgbm9kZS0+
c2V0T3JpZ2luYWxVUkxTdHJpbmcob3JpZ2luYWxVUkxTdHJpbmcpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L0hpc3RvcnlJdGVtLmgKaW5kZXggZGE5YjA0YTM3ZjY0ZWVlMmNjZWVhM2Q1MmUzNWYwYTFk
MmMzYTMwYy4uOWFlNzJhZmEwOWI2ZTk2NTA1MTQ4NGNkNWJjMTQzYTRhMmNmYWI2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApAQCAtNTgsMjMgKzU4LDE4IEBAIHR5cGVkZWYg
VmVjdG9yPFJlZlB0cjxIaXN0b3J5SXRlbT4+IEhpc3RvcnlJdGVtVmVjdG9yOwogCiBleHRlcm4g
dm9pZCAoKm5vdGlmeUhpc3RvcnlJdGVtQ2hhbmdlZCkoSGlzdG9yeUl0ZW0qKTsKIAotZW51bSBW
aXNpdENvdW50QmVoYXZpb3IgewotICAgIEluY3JlYXNlVmlzaXRDb3VudCwKLSAgICBEb05vdElu
Y3JlYXNlVmlzaXRDb3VudAotfTsKLQogY2xhc3MgSGlzdG9yeUl0ZW0gOiBwdWJsaWMgUmVmQ291
bnRlZDxIaXN0b3J5SXRlbT4gewogICAgIGZyaWVuZCBjbGFzcyBQYWdlQ2FjaGU7CiAKIHB1Ymxp
YzogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBIaXN0b3J5SXRlbSk7IH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXN0
b3J5SXRlbT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBkb3VibGUgbGFzdFZpc2l0ZWQpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SGlzdG9yeUl0
ZW0+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiB0aXRsZSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSGlzdG9yeUl0ZW0odXJsU3RyaW5n
LCB0aXRsZSwgbGFzdFZpc2l0ZWQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIaXN0
b3J5SXRlbSh1cmxTdHJpbmcsIHRpdGxlKSk7CiAgICAgfQotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEhpc3RvcnlJdGVtPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYWx0ZXJuYXRlVGl0bGUsIGRvdWJsZSBsYXN0VmlzaXRl
ZCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGFsdGVybmF0
ZVRpdGxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIaXN0b3J5SXRlbSh1
cmxTdHJpbmcsIHRpdGxlLCBhbHRlcm5hdGVUaXRsZSwgbGFzdFZpc2l0ZWQpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBIaXN0b3J5SXRlbSh1cmxTdHJpbmcsIHRpdGxlLCBhbHRlcm5h
dGVUaXRsZSkpOwogICAgIH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gY3Jl
YXRlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBw
YXJlbnQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgewpAQCAtOTksOSArOTQsNyBAQCBwdWJs
aWM6CiAgICAgCiAgICAgYm9vbCBpc0luUGFnZUNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9jYWNo
ZWRQYWdlLmdldCgpOyB9CiAgICAgYm9vbCBoYXNDYWNoZWRQYWdlRXhwaXJlZCgpIGNvbnN0Owot
ICAgIAotICAgIGRvdWJsZSBsYXN0VmlzaXRlZFRpbWUoKSBjb25zdDsKLSAgICAKKwogICAgIHZv
aWQgc2V0QWx0ZXJuYXRlVGl0bGUoY29uc3QgU3RyaW5nJiBhbHRlcm5hdGVUaXRsZSk7CiAgICAg
Y29uc3QgU3RyaW5nJiBhbHRlcm5hdGVUaXRsZSgpIGNvbnN0OwogICAgIApAQCAtMTE1LDExICsx
MDgsOCBAQCBwdWJsaWM6CiAgICAgRm9ybURhdGEqIGZvcm1EYXRhKCk7CiAgICAgU3RyaW5nIGZv
cm1Db250ZW50VHlwZSgpIGNvbnN0OwogICAgIAotICAgIGludCB2aXNpdENvdW50KCkgY29uc3Q7
CiAgICAgYm9vbCBsYXN0VmlzaXRXYXNGYWlsdXJlKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0Vmlz
aXRXYXNGYWlsdXJlOyB9CiAKLSAgICB2b2lkIG1lcmdlQXV0b0NvbXBsZXRlSGludHMoSGlzdG9y
eUl0ZW0qIG90aGVySXRlbSk7Ci0gICAgCiAgICAgY29uc3QgSW50UG9pbnQmIHNjcm9sbFBvaW50
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTY3JvbGxQb2ludChjb25zdCBJbnRQb2ludCYpOwogICAg
IHZvaWQgY2xlYXJTY3JvbGxQb2ludCgpOwpAQCAtMTUzLDkgKzE0Myw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEZvcm1EYXRhKFBhc3NSZWZQdHI8Rm9ybURhdGE+KTsKICAgICB2b2lkIHNldEZv
cm1Db250ZW50VHlwZShjb25zdCBTdHJpbmcmKTsKIAotICAgIHZvaWQgcmVjb3JkSW5pdGlhbFZp
c2l0KCk7Ci0KLSAgICB2b2lkIHNldFZpc2l0Q291bnQoaW50KTsKICAgICB2b2lkIHNldExhc3RW
aXNpdFdhc0ZhaWx1cmUoYm9vbCB3YXNGYWlsdXJlKSB7IG1fbGFzdFZpc2l0V2FzRmFpbHVyZSA9
IHdhc0ZhaWx1cmU7IH0KIAogICAgIHZvaWQgYWRkQ2hpbGRJdGVtKFBhc3NSZWZQdHI8SGlzdG9y
eUl0ZW0+KTsKQEAgLTE3MSwxMSArMTU4LDYgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRG9T
YW1lRG9jdW1lbnROYXZpZ2F0aW9uVG8oSGlzdG9yeUl0ZW0qIG90aGVySXRlbSkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNTYW1lRnJhbWVzKEhpc3RvcnlJdGVtKiBvdGhlckl0ZW0pIGNvbnN0OwogCi0g
ICAgLy8gVGhpcyBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBmb3IgSGlzdG9yeUl0ZW1z
IHRoYXQgYXJlIGFscmVhZHkgaW5jbHVkZWQKLSAgICAvLyBpbiBHbG9iYWxIaXN0b3J5LiBUaGUg
V2ViS2l0IGFwaSBmb3IgdGhpcyBpcyB0byB1c2UgLVtXZWJIaXN0b3J5IHNldExhc3RWaXNpdGVk
VGltZUludGVydmFsOmZvckl0ZW06XSBpbnN0ZWFkLgotICAgIHZvaWQgc2V0TGFzdFZpc2l0ZWRU
aW1lKGRvdWJsZSk7Ci0gICAgdm9pZCB2aXNpdGVkKGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJs
ZSB0aW1lLCBWaXNpdENvdW50QmVoYXZpb3IpOwotCiAgICAgdm9pZCBhZGRSZWRpcmVjdFVSTChj
b25zdCBTdHJpbmcmKTsKICAgICBWZWN0b3I8U3RyaW5nPiogcmVkaXJlY3RVUkxzKCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRSZWRpcmVjdFVSTHMoc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxTdHJpbmc+
Pik7CkBAIC0xOTcsMTAgKzE3OSw2IEBAIHB1YmxpYzoKICAgICBpbnQgc2hvd1RyZWVXaXRoSW5k
ZW50KHVuc2lnbmVkIGluZGVudExldmVsKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBhZG9w
dFZpc2l0Q291bnRzKFZlY3RvcjxpbnQ+JiBkYWlseUNvdW50cywgVmVjdG9yPGludD4mIHdlZWts
eUNvdW50cyk7Ci0gICAgY29uc3QgVmVjdG9yPGludD4mIGRhaWx5VmlzaXRDb3VudHMoKSBjb25z
dCB7IHJldHVybiBtX2RhaWx5VmlzaXRDb3VudHM7IH0KLSAgICBjb25zdCBWZWN0b3I8aW50PiYg
d2Vla2x5VmlzaXRDb3VudHMoKSBjb25zdCB7IHJldHVybiBtX3dlZWtseVZpc2l0Q291bnRzOyB9
Ci0KICNpZiBQTEFURk9STShJT1MpCiAgICAgZmxvYXQgc2NhbGUoKSBjb25zdCB7IHJldHVybiBt
X3NjYWxlOyB9CiAgICAgYm9vbCBzY2FsZUlzSW5pdGlhbCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nh
bGVJc0luaXRpYWw7IH0KQEAgLTIyMSwxNiArMTk5LDEyIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICBIaXN0b3J5SXRlbSgpOwotICAgIEhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUgbGFzdFZpc2l0ZWQpOwotICAgIEhpc3Rv
cnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGFsdGVybmF0ZVRpdGxlLCBkb3VibGUgbGFzdFZpc2l0ZWQpOworICAgIEhpc3Rv
cnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKKyAg
ICBIaXN0b3J5SXRlbShjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiB0aXRs
ZSwgY29uc3QgU3RyaW5nJiBhbHRlcm5hdGVUaXRsZSk7CiAgICAgSGlzdG9yeUl0ZW0oY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBTdHJpbmcmIHBhcmVudCwg
Y29uc3QgU3RyaW5nJiB0aXRsZSk7CiAKICAgICBleHBsaWNpdCBIaXN0b3J5SXRlbShjb25zdCBI
aXN0b3J5SXRlbSYpOwogCi0gICAgdm9pZCBwYWREYWlseUNvdW50c0Zvck5ld1Zpc2l0KGRvdWJs
ZSB0aW1lKTsKLSAgICB2b2lkIGNvbGxhcHNlRGFpbHlWaXNpdHNUb1dlZWtseSgpOwotICAgIHZv
aWQgcmVjb3JkVmlzaXRBdFRpbWUoZG91YmxlLCBWaXNpdENvdW50QmVoYXZpb3IgPSBJbmNyZWFz
ZVZpc2l0Q291bnQpOwotICAgIAogICAgIGJvb2wgaGFzU2FtZURvY3VtZW50VHJlZShIaXN0b3J5
SXRlbSogb3RoZXJJdGVtKSBjb25zdDsKIAogICAgIEhpc3RvcnlJdGVtKiBmaW5kVGFyZ2V0SXRl
bSgpOwpAQCAtMjQ2LDggKzIyMCw2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdGl0bGU7CiAg
ICAgU3RyaW5nIG1fZGlzcGxheVRpdGxlOwogICAgIAotICAgIGRvdWJsZSBtX2xhc3RWaXNpdGVk
VGltZTsKLQogICAgIEludFBvaW50IG1fc2Nyb2xsUG9pbnQ7CiAgICAgZmxvYXQgbV9wYWdlU2Nh
bGVGYWN0b3I7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9kb2N1bWVudFN0YXRlOwpAQCAtMjU2LDkg
KzIyOCw2IEBAIHByaXZhdGU6CiAgICAgCiAgICAgYm9vbCBtX2xhc3RWaXNpdFdhc0ZhaWx1cmU7
CiAgICAgYm9vbCBtX2lzVGFyZ2V0SXRlbTsKLSAgICBpbnQgbV92aXNpdENvdW50OwotICAgIFZl
Y3RvcjxpbnQ+IG1fZGFpbHlWaXNpdENvdW50czsKLSAgICBWZWN0b3I8aW50PiBtX3dlZWtseVZp
c2l0Q291bnRzOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxTdHJpbmc+PiBtX3JlZGly
ZWN0VVJMczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9IaXN0b3J5
UHJvcGVydHlMaXN0Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9IaXN0b3J5UHJvcGVy
dHlMaXN0Lm1tCmluZGV4IDNlM2VlYTdkNzZlNzJiZTAyNmQ4M2Q4MDFhZDMzNjYwNDNjZjZhZWQu
LmFiYWRlZTIyN2FhNzU2NDNhYmFmNTJhODM5MzUyZDdkYWU1ZTNiNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvSGlzdG9yeVByb3BlcnR5TGlzdC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9IaXN0b3J5L0hpc3RvcnlQcm9wZXJ0eUxpc3QubW0KQEAgLTkzLDExICs5
MywxMSBAQCB2b2lkIEhpc3RvcnlQcm9wZXJ0eUxpc3RXcml0ZXI6OndyaXRlSGlzdG9yeUl0ZW0o
QmluYXJ5UHJvcGVydHlMaXN0T2JqZWN0U3RyZWFtJgogCiAgICAgY29uc3QgU3RyaW5nJiB0aXRs
ZSA9IGl0ZW0tPnRpdGxlKCk7CiAgICAgY29uc3QgU3RyaW5nJiBkaXNwbGF5VGl0bGUgPSBpdGVt
LT5hbHRlcm5hdGVUaXRsZSgpOwotICAgIGRvdWJsZSBsYXN0VmlzaXRlZERhdGUgPSBpdGVtLT5s
YXN0VmlzaXRlZFRpbWUoKTsKLSAgICBpbnQgdmlzaXRDb3VudCA9IGl0ZW0tPnZpc2l0Q291bnQo
KTsKKyAgICBkb3VibGUgbGFzdFZpc2l0ZWREYXRlID0gd2ViSGlzdG9yeUl0ZW0tPl9wcml2YXRl
LT5fbGFzdFZpc2l0ZWRUaW1lOworICAgIGludCB2aXNpdENvdW50ID0gd2ViSGlzdG9yeUl0ZW0t
Pl9wcml2YXRlLT5fdmlzaXRDb3VudDsKICAgICBWZWN0b3I8U3RyaW5nPiogcmVkaXJlY3RVUkxz
ID0gaXRlbS0+cmVkaXJlY3RVUkxzKCk7Ci0gICAgY29uc3QgVmVjdG9yPGludD4mIGRhaWx5Vmlz
aXRDb3VudHMgPSBpdGVtLT5kYWlseVZpc2l0Q291bnRzKCk7Ci0gICAgY29uc3QgVmVjdG9yPGlu
dD4mIHdlZWtseVZpc2l0Q291bnRzID0gaXRlbS0+d2Vla2x5VmlzaXRDb3VudHMoKTsKKyAgICBj
b25zdCBWZWN0b3I8aW50PiYgZGFpbHlWaXNpdENvdW50cyA9IHdlYkhpc3RvcnlJdGVtLT5fcHJp
dmF0ZS0+X2RhaWx5VmlzaXRDb3VudHM7CisgICAgY29uc3QgVmVjdG9yPGludD4mIHdlZWtseVZp
c2l0Q291bnRzID0gd2ViSGlzdG9yeUl0ZW0tPl9wcml2YXRlLT5fd2Vla2x5VmlzaXRDb3VudHM7
CiAKICAgICAvLyBrZXlzCiAgICAgc3RyZWFtLndyaXRlU3RyaW5nKG1fdXJsS2V5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCmluZGV4IDg4ZTRkMzU5M2Qx
NDNjN2IxZDI5ODViYzdlMzRjZjI1ZTNkZjUyOTcuLmUwMWU0YjUzNDE5ZDUxMDBjYjMxZDkzYzRm
ZDdkZjVlZjQ4Mzg3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2Vi
SGlzdG9yeUl0ZW0ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5
SXRlbS5tbQpAQCAtMTQxLDcgKzE0MSwxMSBAQCB2b2lkIFdLTm90aWZ5SGlzdG9yeUl0ZW1DaGFu
Z2VkKEhpc3RvcnlJdGVtKikKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFVSTFN0cmluZzooTlNT
dHJpbmcgKilVUkxTdHJpbmcgdGl0bGU6KE5TU3RyaW5nICopdGl0bGUgbGFzdFZpc2l0ZWRUaW1l
SW50ZXJ2YWw6KE5TVGltZUludGVydmFsKXRpbWUKIHsKICAgICBXZWJDb3JlVGhyZWFkVmlvbGF0
aW9uQ2hlY2tSb3VuZE9uZSgpOwotICAgIHJldHVybiBbc2VsZiBpbml0V2l0aFdlYkNvcmVIaXN0
b3J5SXRlbTpIaXN0b3J5SXRlbTo6Y3JlYXRlKFVSTFN0cmluZywgdGl0bGUsIHRpbWUpXTsKKwor
ICAgIFdlYkhpc3RvcnlJdGVtICppdGVtID0gW3NlbGYgaW5pdFdpdGhXZWJDb3JlSGlzdG9yeUl0
ZW06SGlzdG9yeUl0ZW06OmNyZWF0ZShVUkxTdHJpbmcsIHRpdGxlKV07CisgICAgaXRlbS0+X3By
aXZhdGUtPl9sYXN0VmlzaXRlZFRpbWUgPSB0aW1lOworCisgICAgcmV0dXJuIGl0ZW07CiB9CiAK
IC0gKHZvaWQpZGVhbGxvYwpAQCAtMTcyLDYgKzE3NiwxMSBAQCB2b2lkIFdLTm90aWZ5SGlzdG9y
eUl0ZW1DaGFuZ2VkKEhpc3RvcnlJdGVtKikKICAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hl
Y2tSb3VuZE9uZSgpOwogICAgIFdlYkhpc3RvcnlJdGVtICpjb3B5ID0gW1tbc2VsZiBjbGFzc10g
YWxsb2NdIGluaXRXaXRoV2ViQ29yZUhpc3RvcnlJdGVtOmNvcmUoX3ByaXZhdGUpLT5jb3B5KCld
OwogCisgICAgY29weS0+X3ByaXZhdGUtPl9sYXN0VmlzaXRlZFRpbWUgPSBfcHJpdmF0ZS0+X2xh
c3RWaXNpdGVkVGltZTsKKyAgICBjb3B5LT5fcHJpdmF0ZS0+X3Zpc2l0Q291bnQgPSBfcHJpdmF0
ZS0+X3Zpc2l0Q291bnQ7CisgICAgY29weS0+X3ByaXZhdGUtPl9kYWlseVZpc2l0Q291bnRzID0g
X3ByaXZhdGUtPl9kYWlseVZpc2l0Q291bnRzOworICAgIGNvcHktPl9wcml2YXRlLT5fd2Vla2x5
VmlzaXRDb3VudHMgPSBfcHJpdmF0ZS0+X3dlZWtseVZpc2l0Q291bnRzOworCiAgICAgY29weS0+
X3ByaXZhdGUtPl9sYXN0VmlzaXRXYXNIVFRQTm9uR2V0ID0gX3ByaXZhdGUtPl9sYXN0VmlzaXRX
YXNIVFRQTm9uR2V0OwogCiAgICAgaGlzdG9yeUl0ZW1XcmFwcGVycygpLnNldChjb3JlKGNvcHkt
Pl9wcml2YXRlKSwgY29weSk7CkBAIC0yMjAsNyArMjI5LDcgQEAgdm9pZCBXS05vdGlmeUhpc3Rv
cnlJdGVtQ2hhbmdlZChIaXN0b3J5SXRlbSopCiAtIChOU1RpbWVJbnRlcnZhbClsYXN0VmlzaXRl
ZFRpbWVJbnRlcnZhbAogewogICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwotICAgIHJldHVybiBj
b3JlKF9wcml2YXRlKS0+bGFzdFZpc2l0ZWRUaW1lKCk7CisgICAgcmV0dXJuIF9wcml2YXRlLT5f
bGFzdFZpc2l0ZWRUaW1lOwogfQogCiAtIChOU1VJbnRlZ2VyKWhhc2gKQEAgLTI3MSwxMCArMjgw
LDYgQEAgdm9pZCBXS05vdGlmeUhpc3RvcnlJdGVtQ2hhbmdlZChIaXN0b3J5SXRlbSopCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV2ViSGlzdG9yeUl0
ZW0gKFdlYkludGVybmFsKQotCiBIaXN0b3J5SXRlbSogY29yZShXZWJIaXN0b3J5SXRlbSAqaXRl
bSkKIHsKICAgICBpZiAoIWl0ZW0pCkBAIC0zMDksNyArMzE0LDExIEBAIFdlYkhpc3RvcnlJdGVt
ICpraXQoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAKIC0gKGlkKWluaXRXaXRoVVJMU3RyaW5nOihOU1N0
cmluZyAqKVVSTFN0cmluZyB0aXRsZTooTlNTdHJpbmcgKil0aXRsZSBkaXNwbGF5VGl0bGU6KE5T
U3RyaW5nICopZGlzcGxheVRpdGxlIGxhc3RWaXNpdGVkVGltZUludGVydmFsOihOU1RpbWVJbnRl
cnZhbCl0aW1lCiB7Ci0gICAgcmV0dXJuIFtzZWxmIGluaXRXaXRoV2ViQ29yZUhpc3RvcnlJdGVt
Okhpc3RvcnlJdGVtOjpjcmVhdGUoVVJMU3RyaW5nLCB0aXRsZSwgZGlzcGxheVRpdGxlLCB0aW1l
KV07CisgICAgV2ViSGlzdG9yeUl0ZW0gKml0ZW0gPSBbc2VsZiBpbml0V2l0aFdlYkNvcmVIaXN0
b3J5SXRlbTpIaXN0b3J5SXRlbTo6Y3JlYXRlKFVSTFN0cmluZywgdGl0bGUsIGRpc3BsYXlUaXRs
ZSldOworCisgICAgaXRlbS0+X3ByaXZhdGUtPl9sYXN0VmlzaXRlZFRpbWUgPSB0aW1lOworCisg
ICAgcmV0dXJuIGl0ZW07CiB9CiAKIC0gKGlkKWluaXRXaXRoV2ViQ29yZUhpc3RvcnlJdGVtOihQ
YXNzUmVmUHRyPEhpc3RvcnlJdGVtPilpdGVtCkBAIC0zNDAsNyArMzQ5LDcgQEAgV2ViSGlzdG9y
eUl0ZW0gKmtpdChIaXN0b3J5SXRlbSogaXRlbSkKIAogLSAodm9pZClzZXRWaXNpdENvdW50Oihp
bnQpY291bnQKIHsKLSAgICBjb3JlKF9wcml2YXRlKS0+c2V0VmlzaXRDb3VudChjb3VudCk7Cisg
ICAgX3ByaXZhdGUtPl92aXNpdENvdW50ID0gY291bnQ7CiB9CiAKIC0gKHZvaWQpc2V0Vmlld1N0
YXRlOihpZClzdGF0ZVBMaXN0CkBAIC0zNTEsNyArMzYwLDEyIEBAIFdlYkhpc3RvcnlJdGVtICpr
aXQoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAtICh2b2lkKV9tZXJnZUF1dG9Db21wbGV0ZUhpbnRzOihX
ZWJIaXN0b3J5SXRlbSAqKW90aGVySXRlbQogewogICAgIEFTU0VSVF9BUkcob3RoZXJJdGVtLCBv
dGhlckl0ZW0pOwotICAgIGNvcmUoX3ByaXZhdGUpLT5tZXJnZUF1dG9Db21wbGV0ZUhpbnRzKGNv
cmUob3RoZXJJdGVtLT5fcHJpdmF0ZSkpOworCisgICAgLy8gRklYTUU6IHRoaXMgaXMgYnJva2Vu
IC0gd2Ugc2hvdWxkIGJlIG1lcmdpbmcgdGhlIGRhaWx5IGNvdW50cworICAgIC8vIHNvbWVob3cu
ICBidXQgdGhpcyBpcyB0byBzdXBwb3J0IEFQSSB0aGF0J3Mgbm90IHJlYWxseSB1c2VkIGluCisg
ICAgLy8gcHJhY3RpY2Ugc28gbGVhdmUgaXQgYnJva2VuIGZvciBub3cuCisgICAgaWYgKG90aGVy
SXRlbSAhPSBzZWxmKQorICAgICAgICBfcHJpdmF0ZS0+X3Zpc2l0Q291bnQgKz0gb3RoZXJJdGVt
LT5fcHJpdmF0ZS0+X3Zpc2l0Q291bnQ7CiB9CiAKIC0gKGlkKWluaXRGcm9tRGljdGlvbmFyeVJl
cHJlc2VudGF0aW9uOihOU0RpY3Rpb25hcnkgKilkaWN0CkBAIC0zODQsNyArMzk4LDcgQEAgV2Vi
SGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5SXRlbSogaXRlbSkKICAgICAgICAgTE9HX0VSUk9SKCJ2
aXNpdCBjb3VudCBmb3IgaGlzdG9yeSBpdGVtIFwiJUBcIiBpcyBuZWdhdGl2ZSAoJWQpLCB3aWxs
IGJlIHJlc2V0IHRvIDEiLCBVUkxTdHJpbmcsIHZpc2l0Q291bnQpOwogICAgICAgICB2aXNpdENv
dW50ID0gMTsKICAgICB9Ci0gICAgY29yZShfcHJpdmF0ZSktPnNldFZpc2l0Q291bnQodmlzaXRD
b3VudCk7CisgICAgX3ByaXZhdGUtPl92aXNpdENvdW50ID0gdmlzaXRDb3VudDsKIAogICAgIGlm
IChbZGljdCBfd2Via2l0X2Jvb2xGb3JLZXk6bGFzdFZpc2l0V2FzRmFpbHVyZUtleV0pCiAgICAg
ICAgIGNvcmUoX3ByaXZhdGUpLT5zZXRMYXN0VmlzaXRXYXNGYWlsdXJlKHRydWUpOwpAQCAtNDEz
LDggKzQyNyw5IEBAIFdlYkhpc3RvcnlJdGVtICpraXQoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAg
ICAgICAgICBjb3JlRGFpbHlDb3VudHNbaV0gPSBzdGQ6Om1heChbW2RhaWx5Q291bnRzIF93ZWJr
aXRfbnVtYmVyQXRJbmRleDppXSBpbnRWYWx1ZV0sIDApOwogICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGNvcmVXZWVrbHlDb3VudHMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBjb3Jl
V2Vla2x5Q291bnRzW2ldID0gc3RkOjptYXgoW1t3ZWVrbHlDb3VudHMgX3dlYmtpdF9udW1iZXJB
dEluZGV4OmldIGludFZhbHVlXSwgMCk7Ci0gICAgCi0gICAgICAgIGNvcmUoX3ByaXZhdGUpLT5h
ZG9wdFZpc2l0Q291bnRzKGNvcmVEYWlseUNvdW50cywgY29yZVdlZWtseUNvdW50cyk7CisKKyAg
ICAgICAgX3ByaXZhdGUtPl9kYWlseVZpc2l0Q291bnRzID0gc3RkOjptb3ZlKGNvcmVEYWlseUNv
dW50cyk7CisgICAgICAgIF9wcml2YXRlLT5fd2Vla2x5VmlzaXRDb3VudHMgPSBzdGQ6Om1vdmUo
Y29yZVdlZWtseUNvdW50cyk7CiAgICAgfQogCiAgICAgTlNBcnJheSAqY2hpbGREaWN0cyA9IFtk
aWN0IG9iamVjdEZvcktleTpjaGlsZHJlbktleV07CkBAIC00NjAsMTIgKzQ3NSw2OCBAQCBXZWJI
aXN0b3J5SXRlbSAqa2l0KEhpc3RvcnlJdGVtKiBpdGVtKQogCiAtICh2b2lkKV92aXNpdGVkV2l0
aFRpdGxlOihOU1N0cmluZyAqKXRpdGxlIGluY3JlYXNlVmlzaXRDb3VudDooQk9PTClpbmNyZWFz
ZVZpc2l0Q291bnQKIHsKLSAgICBjb3JlKF9wcml2YXRlKS0+dmlzaXRlZCh0aXRsZSwgW05TRGF0
ZSB0aW1lSW50ZXJ2YWxTaW5jZVJlZmVyZW5jZURhdGVdLCBpbmNyZWFzZVZpc2l0Q291bnQgPyBJ
bmNyZWFzZVZpc2l0Q291bnQgOiBEb05vdEluY3JlYXNlVmlzaXRDb3VudCk7CisgICAgY29yZShf
cHJpdmF0ZSktPnNldFRpdGxlKHRpdGxlKTsKKworICAgIFtzZWxmIF9yZWNvcmRWaXNpdEF0VGlt
ZTpbTlNEYXRlIHRpbWVJbnRlcnZhbFNpbmNlUmVmZXJlbmNlRGF0ZV0gaW5jcmVhc2VWaXNpdENv
dW50OmluY3JlYXNlVmlzaXRDb3VudF07CiB9CiAKIC0gKHZvaWQpX3JlY29yZEluaXRpYWxWaXNp
dAogewotICAgIGNvcmUoX3ByaXZhdGUpLT5yZWNvcmRJbml0aWFsVmlzaXQoKTsKKyAgICBBU1NF
UlQoIV9wcml2YXRlLT5fdmlzaXRDb3VudCk7CisgICAgW3NlbGYgX3JlY29yZFZpc2l0QXRUaW1l
Ol9wcml2YXRlLT5fbGFzdFZpc2l0ZWRUaW1lIGluY3JlYXNlVmlzaXRDb3VudDpZRVNdOworfQor
CitzdGF0aWMgaW5saW5lIGludCB0aW1lVG9EYXkoZG91YmxlIHRpbWUpCit7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGludD4oY2VpbCh0aW1lIC8gc2Vjb25kc1BlckRheSkpOworfQorCistICh2
b2lkKV9wYWREYWlseUNvdW50c0Zvck5ld1Zpc2l0OihOU1RpbWVJbnRlcnZhbCl0aW1lCit7Cisg
ICAgaWYgKF9wcml2YXRlLT5fZGFpbHlWaXNpdENvdW50cy5pc0VtcHR5KCkpCisgICAgICAgIF9w
cml2YXRlLT5fZGFpbHlWaXNpdENvdW50cy5pbnNlcnQoMCwgX3ByaXZhdGUtPl92aXNpdENvdW50
KTsKKworICAgIGludCBkYXlzRWxhcHNlZCA9IHRpbWVUb0RheSh0aW1lKSAtIHRpbWVUb0RheShf
cHJpdmF0ZS0+X2xhc3RWaXNpdGVkVGltZSk7CisKKyAgICBpZiAoZGF5c0VsYXBzZWQgPCAwKQor
ICAgICAgICBkYXlzRWxhcHNlZCA9IDA7CisKKyAgICBWZWN0b3I8aW50LCAzMj4gcGFkZGluZzsK
KyAgICBwYWRkaW5nLmZpbGwoMCwgZGF5c0VsYXBzZWQpOworCisgICAgX3ByaXZhdGUtPl9kYWls
eVZpc2l0Q291bnRzLmluc2VydFZlY3RvcigwLCBwYWRkaW5nKTsKK30KKworc3RhdGljIGNvbnN0
IHNpemVfdCBkYXlzUGVyV2VlayA9IDc7CitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heERhaWx5Q291
bnRzID0gMiAqIGRheXNQZXJXZWVrIC0gMTsKK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4V2Vla2x5
Q291bnRzID0gNTsKKworLSAodm9pZClfY29sbGFwc2VEYWlseVZpc2l0c1RvV2Vla2x5Cit7Cisg
ICAgd2hpbGUgKF9wcml2YXRlLT5fZGFpbHlWaXNpdENvdW50cy5zaXplKCkgPiBtYXhEYWlseUNv
dW50cykgeworICAgICAgICBpbnQgb2xkZXN0V2Vla1RvdGFsID0gMDsKKyAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBkYXlzUGVyV2VlazsgaSsrKQorICAgICAgICAgICAgb2xkZXN0V2Vl
a1RvdGFsICs9IF9wcml2YXRlLT5fZGFpbHlWaXNpdENvdW50c1tfcHJpdmF0ZS0+X2RhaWx5Vmlz
aXRDb3VudHMuc2l6ZSgpIC0gZGF5c1BlcldlZWsgKyBpXTsKKyAgICAgICAgX3ByaXZhdGUtPl9k
YWlseVZpc2l0Q291bnRzLnNocmluayhfcHJpdmF0ZS0+X2RhaWx5VmlzaXRDb3VudHMuc2l6ZSgp
IC0gZGF5c1BlcldlZWspOworICAgICAgICBfcHJpdmF0ZS0+X3dlZWtseVZpc2l0Q291bnRzLmlu
c2VydCgwLCBvbGRlc3RXZWVrVG90YWwpOworICAgIH0KKworICAgIGlmIChfcHJpdmF0ZS0+X3dl
ZWtseVZpc2l0Q291bnRzLnNpemUoKSA+IG1heFdlZWtseUNvdW50cykKKyAgICAgICAgX3ByaXZh
dGUtPl93ZWVrbHlWaXNpdENvdW50cy5zaHJpbmsobWF4V2Vla2x5Q291bnRzKTsKK30KKworLSAo
dm9pZClfcmVjb3JkVmlzaXRBdFRpbWU6KE5TVGltZUludGVydmFsKXRpbWUgaW5jcmVhc2VWaXNp
dENvdW50OihCT09MKWluY3JlYXNlVmlzaXRDb3VudAoreworICAgIFtzZWxmIF9wYWREYWlseUNv
dW50c0Zvck5ld1Zpc2l0OnRpbWVdOworCisgICAgX3ByaXZhdGUtPl9sYXN0VmlzaXRlZFRpbWUg
PSB0aW1lOworCisgICAgaWYgKGluY3JlYXNlVmlzaXRDb3VudCkgeworICAgICAgICArK19wcml2
YXRlLT5fdmlzaXRDb3VudDsKKyAgICAgICAgKytfcHJpdmF0ZS0+X2RhaWx5VmlzaXRDb3VudHNb
MF07CisgICAgfQorCisgICAgW3NlbGYgX2NvbGxhcHNlRGFpbHlWaXNpdHNUb1dlZWtseV07CiB9
CiAKIEBlbmQKQEAgLTQ3Nyw2ICs1NDgsMTQgQEAgV2ViSGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5
SXRlbSogaXRlbSkKICAgICByZXR1cm4gW3NlbGYgaW5pdFdpdGhVUkxTdHJpbmc6W1VSTCBfd2Vi
X29yaWdpbmFsRGF0YUFzU3RyaW5nXSB0aXRsZTp0aXRsZSBsYXN0VmlzaXRlZFRpbWVJbnRlcnZh
bDowXTsKIH0KIAorLy8gVGhpcyBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBmb3IgV2Vi
SGlzdG9yeUl0ZW1zIHRoYXQgYXJlIGFscmVhZHkgaW5jbHVkZWQKKy8vIGluIFdlYkhpc3Rvcnku
IFVzZSAtW1dlYkhpc3Rvcnkgc2V0TGFzdFZpc2l0ZWRUaW1lSW50ZXJ2YWw6Zm9ySXRlbTpdIGlu
c3RlYWQuCistICh2b2lkKV9zZXRMYXN0VmlzaXRlZFRpbWVJbnRlcnZhbDooTlNUaW1lSW50ZXJ2
YWwpdGltZQoreworICAgIGlmIChfcHJpdmF0ZS0+X2xhc3RWaXNpdGVkVGltZSAhPSB0aW1lKQor
ICAgICAgICBbc2VsZiBfcmVjb3JkVmlzaXRBdFRpbWU6dGltZSBpbmNyZWFzZVZpc2l0Q291bnQ6
WUVTXTsKK30KKwogLy8gRklYTUU6IFRoZSBvbmx5IGlPUyBkaWZmZXJlbmNlIGhlcmUgc2hvdWxk
IGJlIHdoZXRoZXIgWUVTIG9yIE5PIGlzIHBhc3NlZCB0byBkaWN0aW9uYXJ5UmVwcmVzZW50YXRp
b25JbmNsdWRpbmdDaGlsZHJlbjoKICNpZiBQTEFURk9STShJT1MpCiAtIChOU0RpY3Rpb25hcnkg
KilkaWN0aW9uYXJ5UmVwcmVzZW50YXRpb24KQEAgLTUwMCwxMyArNTc5LDEzIEBAIFdlYkhpc3Rv
cnlJdGVtICpraXQoSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAgICAgIFtkaWN0IHNldE9iamVjdDoo
TlNTdHJpbmcqKWNvcmVJdGVtLT50aXRsZSgpIGZvcktleTp0aXRsZUtleV07CiAgICAgaWYgKCFj
b3JlSXRlbS0+YWx0ZXJuYXRlVGl0bGUoKS5pc0VtcHR5KCkpCiAgICAgICAgIFtkaWN0IHNldE9i
amVjdDooTlNTdHJpbmcqKWNvcmVJdGVtLT5hbHRlcm5hdGVUaXRsZSgpIGZvcktleTpkaXNwbGF5
VGl0bGVLZXldOwotICAgIGlmIChjb3JlSXRlbS0+bGFzdFZpc2l0ZWRUaW1lKCkgIT0gMC4wKSB7
CisgICAgaWYgKF9wcml2YXRlLT5fbGFzdFZpc2l0ZWRUaW1lKSB7CiAgICAgICAgIC8vIFN0b3Jl
IGFzIGEgc3RyaW5nIHRvIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuIChTZWUgMzI0
NTc5MykKLSAgICAgICAgW2RpY3Qgc2V0T2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OkAiJS4xbGYiLCBjb3JlSXRlbS0+bGFzdFZpc2l0ZWRUaW1lKCldCisgICAgICAgIFtkaWN0IHNl
dE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiUuMWxmIiwgX3ByaXZhdGUtPl9s
YXN0VmlzaXRlZFRpbWVdCiAgICAgICAgICAgICAgICAgIGZvcktleTpsYXN0VmlzaXRlZFRpbWVJ
bnRlcnZhbEtleV07CiAgICAgfQotICAgIGlmIChjb3JlSXRlbS0+dmlzaXRDb3VudCgpKQotICAg
ICAgICBbZGljdCBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhJbnQ6Y29yZUl0ZW0tPnZp
c2l0Q291bnQoKV0gZm9yS2V5OnZpc2l0Q291bnRLZXldOworICAgIGlmIChfcHJpdmF0ZS0+X3Zp
c2l0Q291bnQpCisgICAgICAgIFtkaWN0IHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aElu
dDpfcHJpdmF0ZS0+X3Zpc2l0Q291bnRdIGZvcktleTp2aXNpdENvdW50S2V5XTsKICAgICBpZiAo
Y29yZUl0ZW0tPmxhc3RWaXNpdFdhc0ZhaWx1cmUoKSkKICAgICAgICAgW2RpY3Qgc2V0T2JqZWN0
OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdIGZvcktleTpsYXN0VmlzaXRXYXNGYWlsdXJl
S2V5XTsKICAgICBpZiAoX3ByaXZhdGUtPl9sYXN0VmlzaXRXYXNIVFRQTm9uR2V0KSB7CkBAIC01
MjMsNyArNjAyLDcgQEAgV2ViSGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5SXRlbSogaXRlbSkKICAg
ICAgICAgW3Jlc3VsdCByZWxlYXNlXTsKICAgICB9CiAgICAgCi0gICAgY29uc3QgVmVjdG9yPGlu
dD4mIGRhaWx5VmlzaXRDb3VudHMgPSBjb3JlSXRlbS0+ZGFpbHlWaXNpdENvdW50cygpOworICAg
IGNvbnN0IFZlY3RvcjxpbnQ+JiBkYWlseVZpc2l0Q291bnRzID0gX3ByaXZhdGUtPl9kYWlseVZp
c2l0Q291bnRzOwogICAgIGlmIChkYWlseVZpc2l0Q291bnRzLnNpemUoKSkgewogICAgICAgICBO
U011dGFibGVBcnJheSAqYXJyYXkgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aENh
cGFjaXR5OjEzXTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYWlseVZpc2l0Q291
bnRzLnNpemUoKTsgKytpKQpAQCAtNTMyLDcgKzYxMSw3IEBAIFdlYkhpc3RvcnlJdGVtICpraXQo
SGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAgICAgIFthcnJheSByZWxlYXNlXTsKICAgICB9CiAgICAg
Ci0gICAgY29uc3QgVmVjdG9yPGludD4mIHdlZWtseVZpc2l0Q291bnRzID0gY29yZUl0ZW0tPndl
ZWtseVZpc2l0Q291bnRzKCk7CisgICAgY29uc3QgVmVjdG9yPGludD4mIHdlZWtseVZpc2l0Q291
bnRzID0gX3ByaXZhdGUtPl93ZWVrbHlWaXNpdENvdW50czsKICAgICBpZiAod2Vla2x5VmlzaXRD
b3VudHMuc2l6ZSgpKSB7CiAgICAgICAgIE5TTXV0YWJsZUFycmF5ICphcnJheSA9IFtbTlNNdXRh
YmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6NV07CiAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgd2Vla2x5VmlzaXRDb3VudHMuc2l6ZSgpOyArK2kpCkBAIC01OTIsNyArNjcx
LDcgQEAgV2ViSGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5SXRlbSogaXRlbSkKIC0gKGludCl2aXNp
dENvdW50CiB7CiAgICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7Ci0gICAgcmV0dXJuIGNvcmUoX3By
aXZhdGUpLT52aXNpdENvdW50KCk7CisgICAgcmV0dXJuIF9wcml2YXRlLT5fdmlzaXRDb3VudDsK
IH0KIAogLSAoTlNTdHJpbmcgKilSU1NGZWVkUmVmZXJyZXIKQEAgLTYzNSwxMyArNzE0LDYgQEAg
V2ViSGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5SXRlbSogaXRlbSkKICAgICByZXR1cm4gdXJsOwog
fQogCi0vLyBUaGlzIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGZvciBXZWJIaXN0b3J5
SXRlbXMgdGhhdCBhcmUgYWxyZWFkeSBpbmNsdWRlZAotLy8gaW4gV2ViSGlzdG9yeS4gVXNlIC1b
V2ViSGlzdG9yeSBzZXRMYXN0VmlzaXRlZFRpbWVJbnRlcnZhbDpmb3JJdGVtOl0gaW5zdGVhZC4K
LS0gKHZvaWQpX3NldExhc3RWaXNpdGVkVGltZUludGVydmFsOihOU1RpbWVJbnRlcnZhbCl0aW1l
Ci17Ci0gICAgY29yZShfcHJpdmF0ZSktPnNldExhc3RWaXNpdGVkVGltZSh0aW1lKTsKLX0KLQog
LSAoV2ViSGlzdG9yeUl0ZW0gKil0YXJnZXRJdGVtCiB7ICAgIAogICAgIEFTU0VSVF9NQUlOX1RI
UkVBRCgpOwpAQCAtNjk1LDE2ICs3NjcsMTQgQEAgV2ViSGlzdG9yeUl0ZW0gKmtpdChIaXN0b3J5
SXRlbSogaXRlbSkKIAogLSAoc2l6ZV90KV9nZXREYWlseVZpc2l0Q291bnRzOihjb25zdCBpbnQq
Kiljb3VudHMKIHsKLSAgICBIaXN0b3J5SXRlbSogY29yZUl0ZW0gPSBjb3JlKF9wcml2YXRlKTsK
LSAgICAqY291bnRzID0gY29yZUl0ZW0tPmRhaWx5VmlzaXRDb3VudHMoKS5kYXRhKCk7Ci0gICAg
cmV0dXJuIGNvcmVJdGVtLT5kYWlseVZpc2l0Q291bnRzKCkuc2l6ZSgpOworICAgICpjb3VudHMg
PSBfcHJpdmF0ZS0+X2RhaWx5VmlzaXRDb3VudHMuZGF0YSgpOworICAgIHJldHVybiBfcHJpdmF0
ZS0+X2RhaWx5VmlzaXRDb3VudHMuc2l6ZSgpOwogfQogCiAtIChzaXplX3QpX2dldFdlZWtseVZp
c2l0Q291bnRzOihjb25zdCBpbnQqKiljb3VudHMKIHsKLSAgICBIaXN0b3J5SXRlbSogY29yZUl0
ZW0gPSBjb3JlKF9wcml2YXRlKTsKLSAgICAqY291bnRzID0gY29yZUl0ZW0tPndlZWtseVZpc2l0
Q291bnRzKCkuZGF0YSgpOwotICAgIHJldHVybiBjb3JlSXRlbS0+d2Vla2x5VmlzaXRDb3VudHMo
KS5zaXplKCk7CisgICAgKmNvdW50cyA9IF9wcml2YXRlLT5fd2Vla2x5VmlzaXRDb3VudHMuZGF0
YSgpOworICAgIHJldHVybiBfcHJpdmF0ZS0+X3dlZWtseVZpc2l0Q291bnRzLnNpemUoKTsKIH0K
IAogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3Rv
cnkvV2ViSGlzdG9yeUl0ZW1JbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9X
ZWJIaXN0b3J5SXRlbUludGVybmFsLmgKaW5kZXggODgwY2I3Y2U2M2ZlNmVlYzhiNzdjNWUxMjRh
ZTQyNzExNjkxNzhhOC4uNTE2YmQ1MTcxNGRjZDI4ZjM0ZTE5NWQ4NzQwMmVjNGY4OGRmMGIxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbUludGVy
bmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbUludGVy
bmFsLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbXBvcnQgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgog
I2ltcG9ydCAiV2ViSGlzdG9yeUl0ZW1Qcml2YXRlLmgiCiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+
CisjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBIaXN0b3J5SXRlbTsKQEAgLTM5LDcgKzQwLDcgQEAgV2ViSGlzdG9yeUl0ZW0gKmtpdChXZWJD
b3JlOjpIaXN0b3J5SXRlbSogaXRlbSk7CiAKIGV4dGVybiB2b2lkIFdLTm90aWZ5SGlzdG9yeUl0
ZW1DaGFuZ2VkKFdlYkNvcmU6Okhpc3RvcnlJdGVtKik7CiAKLUBpbnRlcmZhY2UgV2ViSGlzdG9y
eUl0ZW0gKFdlYkludGVybmFsKQorQGludGVyZmFjZSBXZWJIaXN0b3J5SXRlbSAoKQogCiArIChX
ZWJIaXN0b3J5SXRlbSAqKWVudHJ5V2l0aFVSTDooTlNVUkwgKilVUkw7CiAKQEAgLTYzLDYgKzY0
LDExIEBAIGV4dGVybiB2b2lkIFdLTm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkKFdlYkNvcmU6Okhp
c3RvcnlJdGVtKik7CiBAcGFja2FnZQogICAgIFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4g
X2hpc3RvcnlJdGVtOwogCisgICAgTlNUaW1lSW50ZXJ2YWwgX2xhc3RWaXNpdGVkVGltZTsKKyAg
ICBpbnQgX3Zpc2l0Q291bnQ7CisgICAgVmVjdG9yPGludD4gX2RhaWx5VmlzaXRDb3VudHM7Cisg
ICAgVmVjdG9yPGludD4gX3dlZWtseVZpc2l0Q291bnRzOworCiAgICAgYm9vbCBfbGFzdFZpc2l0
V2FzSFRUUE5vbkdldDsKIH0KIEBlbmQK
</data>
<flag name="review"
          id="246265"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>