<?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>74353</bug_id>
          
          <creation_ts>2011-12-12 15:05:41 -0800</creation_ts>
          <short_desc>De-virtualize destructors part 7</short_desc>
          <delta_ts>2011-12-18 12:23:13 -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>JavaScriptCore</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>
          <dependson>74350</dependson>
          <blocked>74331</blocked>
    
    <blocked>74355</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519545</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-12-12 15:05:41 -0800</bug_when>
    <thetext>Same as bug 74341, just moving the static destroy functions down another level in the hierarchy and leaving behind any necessary destroy functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519546</commentid>
    <comment_count>1</comment_count>
      <attachid>118871</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-12-12 15:06:24 -0800</bug_when>
    <thetext>Created attachment 118871
De-virtualize destructors part 7

No changelog (see bug 74331).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519592</commentid>
    <comment_count>2</comment_count>
      <attachid>118871</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-12-12 15:33:26 -0800</bug_when>
    <thetext>Comment on attachment 118871
De-virtualize destructors part 7

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118871</attachid>
            <date>2011-12-12 15:06:24 -0800</date>
            <delta_ts>2011-12-12 15:33:26 -0800</delta_ts>
            <desc>De-virtualize destructors part 7</desc>
            <filename>0013-Finished-removing-remaining-virtual-destructors.patch</filename>
            <type>text/plain</type>
            <size>27770</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">RnJvbSAyOTVlYWZjZWRjMjIwM2U2Njg2YmExOTVjMDdjZDhhZDJiYTA1MmYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIEhhaG5lbmJlcmcgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KRGF0ZTogV2VkLCA3IERlYyAyMDExIDE4OjQxOjMwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAx
My8xOF0gRmluaXNoZWQgcmVtb3ZpbmcgcmVtYWluaW5nIHZpcnR1YWwgZGVzdHJ1Y3RvcnMuCgot
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgICAgICAgICAgIHwg
ICAgNCArLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDYgKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5oICAgICB8ICAgIDUgKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5jcHAgICAgIHwgICAgOSAtLS0tLS0tLS0KIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oICAgICAgIHwgICAgNyArKysrKy0tCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmggICAgICAgICAgICB8ICAgIDcgKysrKysr
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwICAgfCAg
ICA0ICsrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmgg
ICAgIHwgICAgNyArKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bFRoaXMuY3BwICAgICB8ICAgIDkgLS0tLS0tLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbFRoaXMuaCAgICAgICB8ICAgIDggKysrKystLS0KIC4uLi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaCAgIHwgICAgNSArKysrKwogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHAgfCAgICA2ICsrKy0t
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oICAgfCAg
ICA4ICsrKysrKystCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVz
QXJyYXkuaCB8ICAgIDUgKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNw
cCAgICAgICAgICAgICAgIHwgICAgNSArKysrKwogU291cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVu
LmggICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrKysrCiBTb3VyY2UvSmF2YVNjcmlwdEds
dWUvVXNlck9iamVjdEltcC5oICAgICAgICAgICAgICB8ICAgIDcgKysrKysrLQogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaCAgICAgfCAgICA1ICsrKysrCiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCAgICAgICB8ICAgIDUg
KysrKysKIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwICAg
IHwgICAgNiArLS0tLS0KIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuaCAgICAgIHwgICAgNiArKysrKy0KIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29y
a2VyQ29udGV4dEJhc2UuaCAgIHwgICAgNSArKysrKwogU291cmNlL1dlYkNvcmUvYnJpZGdlL2Mv
Q1J1bnRpbWVPYmplY3QuY3BwICAgICAgICAgfCAgICA5IC0tLS0tLS0tLQogU291cmNlL1dlYkNv
cmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaCAgICAgICAgICAgfCAgICA4ICsrKysrLS0tCiBT
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oICB8ICAgIDUg
KysrKysKIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0LmggICAg
IHwgICAgNyArKysrKy0tCiBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9i
amVjdC5tbSAgICB8ICAgIDQgLS0tLQogU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJy
YXkuY3BwICAgICAgICAgICAgfCAgICAyICstCiBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9hcnJheS5oICAgICAgICAgICAgICB8ICAgIDcgKysrKysrLQogU291cmNlL1dlYkNvcmUvYnJp
ZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCAgICAgICAgICAgfCAgICA5ICsrKy0tLS0tLQogU291cmNl
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmggICAgICAgICAgICAgfCAgICA2ICsrKysr
LQogMzEgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGUwNzQ2YzYuLjIw
NTNkOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5l
eHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTQ5
LDggKzE0OSw2IEBAIF9fWk4zSlNDMTJKU0dsb2JhbERhdGE2Y3JlYXRlRU5TXzE1VGhyZWFkU3Rh
Y2tUeXBlRU5TXzhIZWFwU2l6ZUUKIF9fWk4zSlNDMTJKU0dsb2JhbERhdGFEMUV2CiBfX1pOM0pT
QzEySlNHbG9iYWxUaGlzMTN2aXNpdENoaWxkcmVuRVBOU182SlNDZWxsRVJOU18xMVNsb3RWaXNp
dG9yRQogX19aTjNKU0MxMkpTR2xvYmFsVGhpczZzX2luZm9FCi1fX1pOM0pTQzEySlNHbG9iYWxU
aGlzN2Rlc3Ryb3lFUE5TXzZKU0NlbGxFCi1fX1pOM0pTQzEySlNHbG9iYWxUaGlzRDJFdgogX19a
TjNKU0MxMlJlZ0V4cE9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxPYmplY3RF
CiBfX1pOM0pTQzEyUmVnRXhwT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJSZWdFeHBPYmplY3RD
MUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUVQTlNfNlJlZ0V4cEUKQEAgLTE2
OSw2ICsxNjcsNyBAQCBfX1pOM0pTQzEzU3RhdGVtZW50Tm9kZTZzZXRMb2NFaWkKIF9fWk4zSlND
MTRKU0dsb2JhbE9iamVjdDEwZ2xvYmFsRXhlY0V2CiBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3Qx
MmRlZmluZUdldHRlckVQTlNfOEpTT2JqZWN0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlm
aWVyRVMyX2oKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDEyZGVmaW5lU2V0dGVyRVBOU184SlNP
YmplY3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUzJfagorX19aTjNKU0MxNEpT
R2xvYmFsT2JqZWN0MTJ2dGFibGVBbmNob3JFdgogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTNj
bGVhclJhcmVEYXRhRVBOU182SlNDZWxsRQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTN2aXNp
dENoaWxkcmVuRVBOU182SlNDZWxsRVJOU18xMVNsb3RWaXNpdG9yRQogX19aTjNKU0MxNEpTR2xv
YmFsT2JqZWN0MTZhZGRTdGF0aWNHbG9iYWxzRVBOUzBfMThHbG9iYWxQcm9wZXJ0eUluZm9FaQpA
QCAtNjI2LDcgKzYyNSw2IEBAIF9fWk5LM1dURjZTdHJpbmc4dG9JbnRQdHJFUGIKIF9fWk5LM1dU
RjZTdHJpbmc4dG9VSW50NjRFUGIKIF9fWk5LM1dURjZTdHJpbmc5c3Vic3RyaW5nRWpqCiBfX1pO
SzNXVEY4Q29sbGF0b3I3Y29sbGF0ZUVQS3RtUzJfbQotX19aVFZOM0pTQzEySlNHbG9iYWxUaGlz
RQogX19aVFZOM0pTQzEyU3RyaW5nT2JqZWN0RQogX19aVFZOM0pTQzEzSlNGaW5hbE9iamVjdEUK
IF9fWlRWTjNKU0MxNEpTR2xvYmFsT2JqZWN0RQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCBmYzBj
NTYwLi4xNzc1ZWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTQzLDYgKzE0Myw5IEBAIGxv
bmcgU3RvcFdhdGNoOjpnZXRFbGFwc2VkTVMoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxsb25n
PigobV9zdG9wVGltZSAtIG1fc3RhcnRUaW1lKSAqIDEwMDApOwogfQogCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9u
LXZpcnR1YWwtZHRvciIKKwogY2xhc3MgR2xvYmFsT2JqZWN0IDogcHVibGljIEpTR2xvYmFsT2Jq
ZWN0IHsKIHByaXZhdGU6CiAgICAgR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYsIFN0cnVjdHVy
ZSopOwpAQCAtMTk5LDYgKzIwMiw5IEBAIHByb3RlY3RlZDoKICAgICAgICAgcHV0RGlyZWN0KGds
b2JhbERhdGEsIGlkZW50aWZpZXIsIEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxFeGVjKCksIHRo
aXMsIGFyZ3VtZW50cywgaWRlbnRpZmllciwgZnVuY3Rpb24pKTsKICAgICB9CiB9OworCisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIENPTVBJTEVfQVNTRVJUKCFJc0ludGVnZXI8R2xv
YmFsT2JqZWN0Pjo6dmFsdWUsIFdURl9Jc0ludGVnZXJfR2xvYmFsT2JqZWN0X2ZhbHNlKTsKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoR2xvYmFsT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmgKaW5kZXggM2ZlMWFlYi4uYzdkN2Rh
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5o
CkBAIC0yNiw2ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZp
cnR1YWwtZHRvciIKKwogICAgIGNsYXNzIEFycmF5UHJvdG90eXBlIDogcHVibGljIEpTQXJyYXkg
ewogICAgIHByaXZhdGU6CiAgICAgICAgIEFycmF5UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CkBAIC01NCw2ICs1Nyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgfTsKIAorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHBvcAorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEFy
cmF5UHJvdG90eXBlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2
YXRpb24uY3BwCmluZGV4IDVjYTgyZjkuLmRiNmI1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcApAQCAtNjYsMTUgKzY2LDYgQEAgdm9pZCBK
U0FjdGl2YXRpb246OmZpbmFsaXplKEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxTaGFy
ZWRTeW1ib2xUYWJsZSo+KGpzQ2FzdDxKU0FjdGl2YXRpb24qPihjZWxsKS0+bV9zeW1ib2xUYWJs
ZSktPmRlcmVmKCk7CiB9CiAKLUpTQWN0aXZhdGlvbjo6fkpTQWN0aXZhdGlvbigpCi17Ci19Ci0K
LXZvaWQgSlNBY3RpdmF0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKLXsKLSAgICBqc0Nhc3Q8
SlNBY3RpdmF0aW9uKj4oY2VsbCktPn5KU0FjdGl2YXRpb24oKTsKLX0KLQogdm9pZCBKU0FjdGl2
YXRpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
IHsKICAgICBKU0FjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBY3RpdmF0aW9uKj4o
Y2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2
YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCmlu
ZGV4IGI1NmRiYWUuLjYxZjI2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5oCkBAIC0zOSw2ICszOSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNs
YXNzIEFyZ3VtZW50czsKICAgICBjbGFzcyBSZWdpc3RlcjsKICAgICAKKyNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdub24t
dmlydHVhbC1kdG9yIgorCiAgICAgY2xhc3MgSlNBY3RpdmF0aW9uIDogcHVibGljIEpTVmFyaWFi
bGVPYmplY3QgewogICAgIHByaXZhdGU6CiAgICAgICAgIEpTQWN0aXZhdGlvbihDYWxsRnJhbWUq
LCBGdW5jdGlvbkV4ZWN1dGFibGUqKTsKQEAgLTUzLDggKzU2LDYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgICAgICByZXR1cm4gYWN0aXZhdGlvbjsKICAgICAgICAgfQogCi0gICAgICAgIHZp
cnR1YWwgfkpTQWN0aXZhdGlvbigpOwotICAgICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2Vs
bCopOwogICAgICAgICBzdGF0aWMgdm9pZCBmaW5hbGl6ZShKU0NlbGwqKTsKIAogICAgICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CkBAIC05Nyw2
ICs5OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBpbnQgbV9hcmd1bWVudHNSZWdpc3Rl
cjsKICAgICB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKICAgICBKU0FjdGl2
YXRpb24qIGFzQWN0aXZhdGlvbihKU1ZhbHVlKTsKIAogICAgIGlubGluZSBKU0FjdGl2YXRpb24q
IGFzQWN0aXZhdGlvbihKU1ZhbHVlIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheS5oCmluZGV4IDQzM2VkNDQuLjEyNTE2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmgKQEAgLTU3LDYgKzU3LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICBlbnVtIEFycmF5Q3JlYXRpb25Nb2RlIHsgQ3JlYXRlQ29tcGFjdCwgQ3JlYXRlSW5pdGlhbGl6
ZWQgfTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkICItV25vbi12aXJ0dWFsLWR0b3IiCisKICAgICBjbGFzcyBKU0FycmF5
IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgICAgICBmcmllbmQgY2xhc3MgV2Fsa2Vy
OwogCkBAIC03Miw3ICs3NSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB0eXBlZGVmIEpT
Tm9uRmluYWxPYmplY3QgQmFzZTsKIAogICAgICAgICBKU0FycmF5KFZQdHJTdGVhbGluZ0hhY2tU
eXBlKTsKLSAgICAgICAgdmlydHVhbCB+SlNBcnJheSgpOworICAgICAgICB+SlNBcnJheSgpOwog
ICAgICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiAgICAgICAgIHN0YXRpYyBK
U0FycmF5KiBjcmVhdGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKQEAgLTIwNCw2ICsyMDcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQXJyYXlT
dG9yYWdlICptX3N0b3JhZ2U7CiAgICAgfTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBv
cAorCiAgICAgSlNBcnJheSogYXNBcnJheShKU1ZhbHVlKTsKIAogICAgIGlubGluZSBKU0FycmF5
KiBhc0FycmF5KEpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA0MjBiYzg5Li42MjkxNzA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0xMjcs
NiArMTI3LDEwIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQog
ICAgIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGNlbGwpLT5KU0dsb2JhbE9iamVjdDo6fkpTR2xv
YmFsT2JqZWN0KCk7CiB9CiAKK3ZvaWQgSlNHbG9iYWxPYmplY3Q6OnZ0YWJsZUFuY2hvcigpCit7
Cit9CisKIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoSlNPYmplY3QqIHRoaXNWYWx1ZSkKIHsK
ICAgICBBU1NFUlQoSlNMb2NrOjpjdXJyZW50VGhyZWFkSXNIb2xkaW5nTG9jaygpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDc4MmUz
YTMuLmNmMjQ1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaApAQCAtNjYsNiArNjYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU2hv
dWxkSW50ZXJydXB0U2NyaXB0RnVuY3Rpb25QdHIgc2hvdWxkSW50ZXJydXB0U2NyaXB0OwogICAg
IH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1kdG9yIgorCiAgICAgY2xhc3MgSlNHbG9iYWxP
YmplY3QgOiBwdWJsaWMgSlNWYXJpYWJsZU9iamVjdCB7CiAgICAgcHJpdmF0ZToKICAgICAgICAg
dHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxPcGFxdWVKU1dlYWtPYmplY3RNYXA+ID4gV2Vha01hcFNl
dDsKQEAgLTgwLDYgKzgzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBwcm9maWxlR3JvdXA7CiAgICAgICAgIH07CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIHZ0YWJs
ZUFuY2hvcigpOworCiAgICAgcHJvdGVjdGVkOgogCiAgICAgICAgIFJlZlB0cjxKU0dsb2JhbERh
dGE+IG1fZ2xvYmFsRGF0YTsKQEAgLTM0Nyw2ICszNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgc3RhdGljIHZvaWQgY2xlYXJSYXJlRGF0YShKU0NlbGwqKTsKICAgICB9OwogCisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKICAgICBKU0dsb2JhbE9iamVjdCogYXNHbG9iYWxP
YmplY3QoSlNWYWx1ZSk7CiAKICAgICBpbmxpbmUgSlNHbG9iYWxPYmplY3QqIGFzR2xvYmFsT2Jq
ZWN0KEpTVmFsdWUgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbFRoaXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxUaGlzLmNwcAppbmRleCBmZTdmNTg5Li44NWJmYjdhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbFRoaXMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5jcHAKQEAgLTM0LDE1ICszNCw2IEBAIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNHbG9iYWxUaGlzKTsKIAogY29uc3QgQ2xhc3NJbmZv
IEpTR2xvYmFsVGhpczo6c19pbmZvID0geyAiSlNHbG9iYWxUaGlzIiwgJkJhc2U6OnNfaW5mbywg
MCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0dsb2JhbFRoaXMpIH07CiAKLUpTR2xvYmFsVGhp
czo6fkpTR2xvYmFsVGhpcygpCi17Ci19Ci0KLXZvaWQgSlNHbG9iYWxUaGlzOjpkZXN0cm95KEpT
Q2VsbCogY2VsbCkKLXsKLSAgICBqc0Nhc3Q8SlNHbG9iYWxUaGlzKj4oY2VsbCktPn5KU0dsb2Jh
bFRoaXMoKTsKLX0KLQogdm9pZCBKU0dsb2JhbFRoaXM6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBj
ZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBKU0dsb2JhbFRoaXMqIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNHbG9iYWxUaGlzKj4oY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbFRoaXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5oCmluZGV4IGMwYTg3NjAuLmQxZmY4OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsVGhpcy5oCkBAIC0zMCw2ICszMCw5
IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwog
Y2xhc3MgSlNHbG9iYWxUaGlzIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgog
ICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwpAQCAtNjEsOSArNjQsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogICAgIH0K
IAotICAgIHZpcnR1YWwgfkpTR2xvYmFsVGhpcygpOwotICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3ko
SlNDZWxsKik7Ci0KICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNWaXNpdENoaWxkcmVuIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBzdGF0
aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CkBAIC03MSw2ICs3
MSw4IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8SlNHbG9iYWxPYmplY3Q+IG1fdW53
cmFwcGVkT2JqZWN0OwogfTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCiB9IC8v
IG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEpTR2xvYmFsVGhpc19oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKaW5kZXggZGUw
YjgxNi4uYTQ4MTMxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNTdGF0aWNTY29wZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RhdGljU2NvcGVPYmplY3QuaApAQCAtMzAsNiArMzAsOSBAQAogCiBuYW1lc3BhY2UgSlND
ewogICAgIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkICItV25vbi12aXJ0dWFsLWR0b3IiCisKICAgICBjbGFzcyBKU1N0YXRp
Y1Njb3BlT2JqZWN0IDogcHVibGljIEpTVmFyaWFibGVPYmplY3QgewogICAgIHB1YmxpYzoKICAg
ICAgICAgdHlwZWRlZiBKU1ZhcmlhYmxlT2JqZWN0IEJhc2U7CkBAIC03NCw2ICs3Nyw4IEBAIG5h
bWVzcGFjZSBKU0N7CiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBtX3JlZ2lzdGVyU3Rv
cmU7CiAgICAgfTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCiAgICAgaW5saW5l
IGJvb2wgSlNTdGF0aWNTY29wZU9iamVjdDo6aXNEeW5hbWljU2NvcGUoYm9vbCYpIGNvbnN0CiAg
ICAgewogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuY3BwCmluZGV4IGUyMzRmMjMuLjJjYjlmZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3Qu
Y3BwCkBAIC0zNywxMyArMzcsMTMgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUpTVmFyaWFibGVP
YmplY3Q6On5KU1ZhcmlhYmxlT2JqZWN0KCkKK3ZvaWQgSlNWYXJpYWJsZU9iamVjdDo6ZGVzdHJv
eShKU0NlbGwqIGNlbGwpCiB7CisgICAganNDYXN0PEpTVmFyaWFibGVPYmplY3QqPihjZWxsKS0+
SlNWYXJpYWJsZU9iamVjdDo6fkpTVmFyaWFibGVPYmplY3QoKTsKIH0KIAotdm9pZCBKU1Zhcmlh
YmxlT2JqZWN0OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3ZvaWQgSlNWYXJpYWJsZU9iamVjdDo6
dnRhYmxlQW5jaG9yKCkKIHsKLSAgICBqc0Nhc3Q8SlNWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5+
SlNWYXJpYWJsZU9iamVjdCgpOwogfQogCiBib29sIEpTVmFyaWFibGVPYmplY3Q6OmRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1ZhcmlhYmxlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Zhcmlh
YmxlT2JqZWN0LmgKaW5kZXggZGU3MzlhNy4uODFkMDM3MiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuaApAQCAtNDAsNiArNDAsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ2lzdGVyOwogCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZp
cnR1YWwtZHRvciIKKwogICAgIGNsYXNzIEpTVmFyaWFibGVPYmplY3QgOiBwdWJsaWMgSlNOb25G
aW5hbE9iamVjdCB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAKQEAgLTQ4LDcgKzUxLDYg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKCkg
Y29uc3QgeyByZXR1cm4gKm1fc3ltYm9sVGFibGU7IH0KIAotICAgICAgICB2aXJ0dWFsIH5KU1Zh
cmlhYmxlT2JqZWN0KCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAK
ICAgICAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgcHV0V2l0aEF0dHJp
YnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwg
dW5zaWduZWQgYXR0cmlidXRlcyk7CkBAIC04NSw2ICs4Nyw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPikg
PT0gc2l6ZW9mKFJlZ2lzdGVyKSwgUmVnaXN0ZXJfc2hvdWxkX2JlX3NhbWVfc2l6ZV9hc19Xcml0
ZUJhcnJpZXIpOwogICAgICAgICB9CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIHZ0YWJsZUFuY2hv
cigpOworCiAgICAgICAgIFBhc3NPd25BcnJheVB0cjxXcml0ZUJhcnJpZXI8VW5rbm93bj4gPiBj
b3B5UmVnaXN0ZXJBcnJheShKU0dsb2JhbERhdGEmLCBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHNy
Yywgc2l6ZV90IGNvdW50LCBzaXplX3QgY2FsbGZyYW1lU3RhcnRzKTsKICAgICAgICAgdm9pZCBz
ZXRSZWdpc3RlcnMoV3JpdGVCYXJyaWVyPFVua25vd24+KiByZWdpc3RlcnMsIFBhc3NPd25BcnJh
eVB0cjxXcml0ZUJhcnJpZXI8VW5rbm93bj4gPiByZWdpc3RlckFycmF5KTsKIApAQCAtOTksNiAr
MTAzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE93bkFycmF5UHRyPFdyaXRlQmFycmll
cjxVbmtub3duPiA+IG1fcmVnaXN0ZXJBcnJheTsgLy8gSW5kZXBlbmRlbnQgY29weSBvZiByZWdp
c3RlcnMsIHVzZWQgd2hlbiBhIHZhcmlhYmxlIG9iamVjdCBjb3BpZXMgaXRzIHJlZ2lzdGVycyBv
dXQgb2YgdGhlIHJlZ2lzdGVyIGZpbGUuCiAgICAgfTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAorCiAgICAgaW5saW5lIGJvb2wgSlNWYXJpYWJsZU9iamVjdDo6c3ltYm9sVGFibGVH
ZXQoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiAg
ICAgewogICAgICAgICBTeW1ib2xUYWJsZUVudHJ5IGVudHJ5ID0gc3ltYm9sVGFibGUoKS5pbmxp
bmVHZXQocHJvcGVydHlOYW1lLmltcGwoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCmluZGV4IDFjMTE3YjAuLmJmOTZhN2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJh
eS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJh
eS5oCkBAIC0yNCw2ICsyNCw5IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9u
LXZpcnR1YWwtZHRvciIKKwogICAgIGNsYXNzIFJlZ0V4cE1hdGNoZXNBcnJheSA6IHB1YmxpYyBK
U0FycmF5IHsKICAgICBwcml2YXRlOgogICAgICAgICBSZWdFeHBNYXRjaGVzQXJyYXkoRXhlY1N0
YXRlKik7CkBAIC0xMTgsNiArMTIxLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZmlsbEFycmF5SW5zdGFuY2UoRXhlY1N0YXRlKik7CiB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdu
b3N0aWMgcG9wCisKIH0KIAogI2VuZGlmIC8vIFJlZ0V4cE1hdGNoZXNBcnJheV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAKaW5kZXggN2Y5ZmE3YS4uOTJjMzFjNiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RSZWdFeHAuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNwcApAQCAtMTA4LDYgKzEwOCw5IEBAIHN0cnVjdCBSZWdF
eHBUZXN0IHsKICAgICBWZWN0b3I8aW50LCAzMj4gZXhwZWN0VmVjdG9yOwogfTsKIAorI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVk
ICItV25vbi12aXJ0dWFsLWR0b3IiCisKIGNsYXNzIEdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0ds
b2JhbE9iamVjdCB7CiBwcml2YXRlOgogICAgIEdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmLCBT
dHJ1Y3R1cmUqLCBjb25zdCBWZWN0b3I8VVN0cmluZz4mIGFyZ3VtZW50cyk7CkBAIC0xMzUsNiAr
MTM4LDggQEAgcHJvdGVjdGVkOgogICAgIH0KIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKKwogQ09NUElMRV9BU1NFUlQoIUlzSW50ZWdlcjxHbG9iYWxPYmplY3Q+Ojp2YWx1ZSwg
V1RGX0lzSW50ZWdlcl9HbG9iYWxPYmplY3RfZmFsc2UpOwogQVNTRVJUX0NMQVNTX0ZJVFNfSU5f
Q0VMTChHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUv
SlNSdW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5oCmluZGV4IDQxOTllODUuLmJi
YzVmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5oCkBAIC0zNCw2ICszNCw5IEBACiAjaW5jbHVkZSAi
SlNVdGlscy5oIgogI2luY2x1ZGUgIlVzZXJPYmplY3RJbXAuaCIKIAorI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV25vbi12
aXJ0dWFsLWR0b3IiCisKIGNsYXNzIEpTR2x1ZUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2Jh
bE9iamVjdCB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEpTR2xvYmFsT2JqZWN0IEJh
c2U7CkBAIC01Niw2ICs1OSw4IEBAIGNsYXNzIEpTR2x1ZUdsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U0dsb2JhbE9iamVjdCB7CiAgICAgICAgIFN0cm9uZzxTdHJ1Y3R1cmU+IG1fdXNlck9iamVjdFN0
cnVjdHVyZTsKIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogY2xhc3MgSlNS
dW4gOiBwdWJsaWMgSlNCYXNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTUnVuKENGU3RyaW5n
UmVmIHNvdXJjZSwgSlNGbGFncyBpbkZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0R2x1ZS9Vc2VyT2JqZWN0SW1wLmggYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvVXNlck9iamVj
dEltcC5oCmluZGV4IGIxYjM0OTguLjAwNjk1MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0R2x1ZS9Vc2VyT2JqZWN0SW1wLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL1VzZXJP
YmplY3RJbXAuaApAQCAtMzQsNiArMzQsOSBAQAogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNUeXBlLmg+CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1k
dG9yIgorCiBjbGFzcyBVc2VyT2JqZWN0SW1wIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewog
cHVibGljOgogICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwpAQCAtNDUsNyArNDgs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgfQogICAgIAotICAgIHZp
cnR1YWwgflVzZXJPYmplY3RJbXAoKTsKKyAgICB+VXNlck9iamVjdEltcCgpOwogICAgIHN0YXRp
YyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNf
aW5mbzsKQEAgLTc3LDQgKzgwLDYgQEAgcHJpdmF0ZToKICAgICBKU1VzZXJPYmplY3QqIGZKU1Vz
ZXJPYmplY3Q7CiB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5kZXgg
ZmQ0NzQzNi4uN2U2NGZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUdsb2JhbE9iamVjdC5oCkBAIC00Miw2ICs0Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmll
cjxKU0M6OlN0cnVjdHVyZT4gPiBKU0RPTVN0cnVjdHVyZU1hcDsKICAgICB0eXBlZGVmIEhhc2hN
YXA8Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0
PiA+IEpTRE9NQ29uc3RydWN0b3JNYXA7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNo
CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1kdG9yIgor
CiAgICAgY2xhc3MgSlNET01HbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVj
dCB7CiAgICAgICAgIHR5cGVkZWYgSlNDOjpKU0dsb2JhbE9iamVjdCBCYXNlOwogICAgIHByb3Rl
Y3RlZDoKQEAgLTg5LDYgKzkyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBKU0M6
OldyaXRlQmFycmllcjxKU09iamVjdD4gbV9pbmplY3RlZFNjcmlwdDsKICAgICB9OwogCisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3Rv
ckNsYXNzPgogICAgIGlubGluZSBKU0M6OkpTT2JqZWN0KiBnZXRET01Db25zdHJ1Y3RvcihKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCmlu
ZGV4IGI1ODBkNDEuLjZmMTk1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oCkBAIC0zNCw2ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEpTRE9NV2luZG93QmFzZVByaXZhdGU7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25v
c3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVh
bC1kdG9yIgorCiAgICAgY2xhc3MgSlNET01XaW5kb3dCYXNlIDogcHVibGljIEpTRE9NR2xvYmFs
T2JqZWN0IHsKICAgICAgICAgdHlwZWRlZiBKU0RPTUdsb2JhbE9iamVjdCBCYXNlOwogICAgIHBy
b3RlY3RlZDoKQEAgLTg1LDYgKzg4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBT
dHJpbmcgY3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2UoY29uc3QgSlNDOjpKU0dsb2JhbE9i
amVjdCopIGNvbnN0OwogICAgIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwog
ICAgIC8vIFJldHVybnMgYSBKU0RPTVdpbmRvdyBvciBqc051bGwoKQogICAgIC8vIEpTRE9NR2xv
YmFsT2JqZWN0KiBpcyBpZ25vcmVkLCBhY2Nlc3NpbmcgYSB3aW5kb3cgaW4gYW55IGNvbnRleHQg
d2lsbAogICAgIC8vIHVzZSB0aGF0IERPTVdpbmRvdydzIHByb3RvdHlwZSBjaGFpbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNWQw
YzVhOS4uZDk2Zjg0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5jcHAKQEAgLTU3LDEzICs1Nyw5IEBAIHZvaWQgSlNET01XaW5kb3dTaGVsbDo6
ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBQYXNzUmVmUHRyPERPTVdp
CiAgICAgc2V0V2luZG93KHdpbmRvdyk7CiB9CiAKLUpTRE9NV2luZG93U2hlbGw6On5KU0RPTVdp
bmRvd1NoZWxsKCkKLXsKLX0KLQogdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpkZXN0cm95KEpTQ2Vs
bCogY2VsbCkKIHsKLSAgICBqc0Nhc3Q8SlNET01XaW5kb3dTaGVsbCo+KGNlbGwpLT5+SlNET01X
aW5kb3dTaGVsbCgpOworICAgIGpzQ2FzdDxKU0RPTVdpbmRvd1NoZWxsKj4oY2VsbCktPkpTRE9N
V2luZG93U2hlbGw6On5KU0RPTVdpbmRvd1NoZWxsKCk7CiB9CiAKIHZvaWQgSlNET01XaW5kb3dT
aGVsbDo6c2V0V2luZG93KFBhc3NSZWZQdHI8RE9NV2luZG93PiBkb21XaW5kb3cpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKaW5kZXggYWE1M2U1MS4u
MmE1MDFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuaApAQCAtMzcsMTEgKzM3LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBE
T01XaW5kb3c7CiAgICAgY2xhc3MgRnJhbWU7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
dXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1kdG9y
IgorCiAgICAgY2xhc3MgSlNET01XaW5kb3dTaGVsbCA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsVGhp
cyB7CiAgICAgICAgIHR5cGVkZWYgSlNDOjpKU0dsb2JhbFRoaXMgQmFzZTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEpTRE9NV2luZG93U2hlbGwoUGFzc1JlZlB0cjxET01XaW5kb3c+LCBKU0M6OlN0
cnVjdHVyZSosIERPTVdyYXBwZXJXb3JsZCopOwotICAgICAgICB2aXJ0dWFsIH5KU0RPTVdpbmRv
d1NoZWxsKCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKICAgICAg
ICAgSlNET01XaW5kb3cqIHdpbmRvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEpTRE9N
V2luZG93Kj4obV91bndyYXBwZWRPYmplY3QuZ2V0KCkpOyB9CkBAIC05NCw2ICs5Niw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV93b3Js
ZDsKICAgICB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKICAgICBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEZyYW1lKik7CiAgICAgSlNET01XaW5kb3dTaGVs
bCogdG9KU0RPTVdpbmRvd1NoZWxsKEZyYW1lKiwgRE9NV3JhcHBlcldvcmxkKik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dEJhc2UuaAppbmRleCA2
YTA5MWRhLi5lZjUwZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckNvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJDb250ZXh0QmFzZS5oCkBAIC0zOCw2ICszOCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBKU1dvcmtlckNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV25vbi12aXJ0dWFsLWR0b3IiCisKICAgICBjbGFzcyBKU1dvcmtlckNvbnRleHRC
YXNlIDogcHVibGljIEpTRE9NR2xvYmFsT2JqZWN0IHsKICAgICAgICAgdHlwZWRlZiBKU0RPTUds
b2JhbE9iamVjdCBCYXNlOwogICAgIHB1YmxpYzoKQEAgLTYxLDYgKzY0LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8V29ya2VyQ29udGV4dD4gbV9pbXBsOwogICAgIH07
CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogICAgIC8vIFJldHVybnMgYSBKU1dv
cmtlckNvbnRleHQgb3IganNOdWxsKCkKICAgICAvLyBBbHdheXMgaWdub3JlcyB0aGUgZXhlY1N0
YXRlIGFuZCBwYXNzZWQgZ2xvYmFsT2JqZWN0LCBXb3JrZXJDb250ZXh0IGlzIGl0c2VsZiBhIGds
b2JhbE9iamVjdCBhbmQgd2lsbCBhbHdheXMgdXNlIGl0cyBvd24gcHJvdG90eXBlIGNoYWluLgog
ICAgIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
LCBXb3JrZXJDb250ZXh0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9D
UnVudGltZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVj
dC5jcHAKaW5kZXggNmFkYjU2Zi4uNmRjMTdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9j
L0NSdW50aW1lT2JqZWN0LmNwcApAQCAtNDgsMTUgKzQ4LDYgQEAgdm9pZCBDUnVudGltZU9iamVj
dDo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICBBU1NF
UlQoaW5oZXJpdHMoJnNfaW5mbykpOwogfQogCi1DUnVudGltZU9iamVjdDo6fkNSdW50aW1lT2Jq
ZWN0KCkKLXsKLX0KLQotdm9pZCBDUnVudGltZU9iamVjdDo6ZGVzdHJveShKU0NlbGwqIGNlbGwp
Ci17Ci0gICAganNDYXN0PENSdW50aW1lT2JqZWN0Kj4oY2VsbCktPn5DUnVudGltZU9iamVjdCgp
OwotfQotCiBDSW5zdGFuY2UqIENSdW50aW1lT2JqZWN0OjpnZXRJbnRlcm5hbENJbnN0YW5jZSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENJbnN0YW5jZSo+KGdldEludGVybmFs
SW5zdGFuY2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9DUnVudGlt
ZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuaAppbmRl
eCAyZjVjYjE3Li40YWE1NTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9D
UnVudGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2Jq
ZWN0LmgKQEAgLTM2LDYgKzM2LDkgQEAgbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAogY2xhc3MgQ0lu
c3RhbmNlOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwogY2xhc3MgQ1J1bnRpbWVP
YmplY3QgOiBwdWJsaWMgUnVudGltZU9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBSdW50
aW1lT2JqZWN0IEJhc2U7CkBAIC01MCw5ICs1Myw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IG9iamVjdDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5DUnVudGltZU9iamVjdCgpOwotICAgIHN0
YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7Ci0KICAgICBDSW5zdGFuY2UqIGdldEludGVybmFs
Q0luc3RhbmNlKCkgY29uc3Q7CiAKICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsK
QEAgLTY3LDYgKzY3LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xv
YmFsT2JqZWN0Kik7CiB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0
LmgKaW5kZXggODQ5YTAwNy4uNjhiZWZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oCkBAIC0zNCw2ICszNCw5IEBAIG5hbWVzcGFj
ZSBCaW5kaW5ncyB7CiAKIGNsYXNzIEphdmFJbnN0YW5jZTsKIAorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV25vbi12aXJ0
dWFsLWR0b3IiCisKIGNsYXNzIEphdmFSdW50aW1lT2JqZWN0IDogcHVibGljIFJ1bnRpbWVPYmpl
Y3QgewogcHVibGljOgogICAgIHR5cGVkZWYgUnVudGltZU9iamVjdCBCYXNlOwpAQCAtNjIsNiAr
NjUsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
KTsKIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVudGltZU9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QuaAppbmRleCAyZGFiZmM0
Li45ZWUxMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9PYmpDUnVu
dGltZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1l
T2JqZWN0LmgKQEAgLTMzLDYgKzMzLDkgQEAgbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAogY2xhc3Mg
T2JqY0luc3RhbmNlOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwogY2xhc3MgT2Jq
Q1J1bnRpbWVPYmplY3QgOiBwdWJsaWMgUnVudGltZU9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBSdW50aW1lT2JqZWN0IEJhc2U7CkBAIC00Nyw4ICs1MCw2IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5PYmpDUnVudGltZU9iamVj
dCgpOwotCiAgICAgT2JqY0luc3RhbmNlKiBnZXRJbnRlcm5hbE9iakNJbnN0YW5jZSgpIGNvbnN0
OwogCiAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CkBAIC02Myw2ICs2NCw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCopOwogfTsK
IAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCiB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0KaW5kZXggYjkyNGZhZC4uN2Ji
MTc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVP
YmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmpl
Y3QubW0KQEAgLTQ2LDEwICs0Niw2IEBAIHZvaWQgT2JqQ1J1bnRpbWVPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgQVNTRVJUKGluaGVyaXRz
KCZzX2luZm8pKTsKIH0KIAotT2JqQ1J1bnRpbWVPYmplY3Q6On5PYmpDUnVudGltZU9iamVjdCgp
Ci17Ci19Ci0KIE9iamNJbnN0YW5jZSogT2JqQ1J1bnRpbWVPYmplY3Q6OmdldEludGVybmFsT2Jq
Q0luc3RhbmNlKCkgY29uc3QKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8T2JqY0luc3RhbmNl
Kj4oZ2V0SW50ZXJuYWxJbnN0YW5jZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX2FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2Fy
cmF5LmNwcAppbmRleCA3YTgyZDJiLi43ZGVkNjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfYXJyYXkuY3BwCkBAIC01Niw3ICs1Niw3IEBAIFJ1bnRpbWVBcnJheTo6flJ1bnRpbWVB
cnJheSgpCiAKIHZvaWQgUnVudGltZUFycmF5OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIHsKLSAg
ICBqc0Nhc3Q8UnVudGltZUFycmF5Kj4oY2VsbCktPn5SdW50aW1lQXJyYXkoKTsKKyAgICBqc0Nh
c3Q8UnVudGltZUFycmF5Kj4oY2VsbCktPlJ1bnRpbWVBcnJheTo6flJ1bnRpbWVBcnJheSgpOwog
fQogCiBKU1ZhbHVlIFJ1bnRpbWVBcnJheTo6bGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFs
dWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXImKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X2FycmF5LmgKaW5kZXggNmRmNTJlZS4uMWY5YzcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9hcnJheS5oCkBAIC0zMiw2ICszMiw5IEBACiAKIG5hbWVzcGFjZSBKU0MgewogICAgIAor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV25vbi12aXJ0dWFsLWR0b3IiCisKIGNsYXNzIFJ1bnRpbWVBcnJheSA6IHB1Ymxp
YyBKU0FycmF5IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQXJyYXkgQmFzZTsKQEAgLTQ3LDcg
KzUwLDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHR5cGVkZWYgQmluZGluZ3M6OkFycmF5IEJp
bmRpbmdzQXJyYXk7Ci0gICAgdmlydHVhbCB+UnVudGltZUFycmF5KCk7CisgICAgflJ1bnRpbWVB
cnJheSgpOwogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKICAgICBzdGF0aWMg
dm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlO
YW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUpOwpAQCAtODcsNiArOTAsOCBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyBKU1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIHVuc2ln
bmVkKTsKIH07CiAgICAgCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gUlVOVElNRV9BUlJBWV9IXwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX29iamVjdC5jcHAKaW5kZXggOGRlZmYxZS4uN2VjMDg3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC00OSwxNCArNDksMTEgQEAgdm9p
ZCBSdW50aW1lT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7CiB9CiAKLVJ1bnRpbWVPYmplY3Q6
On5SdW50aW1lT2JqZWN0KCkKLXsKLSAgICBBU1NFUlQoIW1faW5zdGFuY2UpOwotfQotCiB2b2lk
IFJ1bnRpbWVPYmplY3Q6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogewotICAgIGpzQ2FzdDxSdW50
aW1lT2JqZWN0Kj4oY2VsbCktPn5SdW50aW1lT2JqZWN0KCk7CisgICAgUnVudGltZU9iamVjdCog
dGhpc09iamVjdCA9IGpzQ2FzdDxSdW50aW1lT2JqZWN0Kj4oY2VsbCk7CisgICAgQVNTRVJUKCF0
aGlzT2JqZWN0LT5tX2luc3RhbmNlKTsKKyAgICB0aGlzT2JqZWN0LT5SdW50aW1lT2JqZWN0Ojp+
UnVudGltZU9iamVjdCgpOwogfQogCiB2b2lkIFJ1bnRpbWVPYmplY3Q6OmludmFsaWRhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAppbmRleCBmNWU1ODg4Li42NzUxNTU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApAQCAtMzIsNiArMzIsOSBA
QAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgQmluZGluZ3MgewogCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9u
LXZpcnR1YWwtZHRvciIKKwogY2xhc3MgUnVudGltZU9iamVjdCA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKQEAg
LTQzLDcgKzQ2LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KIAot
ICAgIHZpcnR1YWwgflJ1bnRpbWVPYmplY3QoKTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpT
Q2VsbCopOwogCiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4
ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7
CkBAIC04Nyw2ICs4OSw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEluc3RhbmNlPiBtX2luc3Rh
bmNlOwogfTsKICAgICAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogfQogfQogCi0t
IAoxLjcuNC40Cgo=
</data>
<flag name="review"
          id="118731"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>