<?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>72035</bug_id>
          
          <creation_ts>2011-11-10 11:03:47 -0800</creation_ts>
          <short_desc>De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject</short_desc>
          <delta_ts>2011-11-11 11:37:07 -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>
          
          
          <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>500054</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-10 11:03:47 -0800</bug_when>
    <thetext>We&apos;re trying to de-virtualize JSGlobalObject, so in order to do that we need to de-virtualize these three functions.  One way to do that would be to provide a method table just for JSGlobalObject to prevent pollution of the primary MethodTable in ClassInfo just for the sake of JSGlobalObject (and JSDOMWindowBase).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500102</commentid>
    <comment_count>1</comment_count>
      <attachid>114538</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-10 12:09:48 -0800</bug_when>
    <thetext>Created attachment 114538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500354</commentid>
    <comment_count>2</comment_count>
      <attachid>114538</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-11-10 15:44:04 -0800</bug_when>
    <thetext>Comment on attachment 114538
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=114538&amp;action=review

r=me

&gt; Source/WebCore/bindings/js/JSDOMWindowBase.cpp:60
&gt; +    m_globalObjectMethodTable = &amp;s_globalObjectMethodTable;

Initialization syntax is better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500973</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-11 11:37:07 -0800</bug_when>
    <thetext>Committed r99997: &lt;http://trac.webkit.org/changeset/99997&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114538</attachid>
            <date>2011-11-10 12:09:48 -0800</date>
            <delta_ts>2011-11-10 15:44:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72035-20111110120946.patch</filename>
            <type>text/plain</type>
            <size>18013</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk4NzMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDYw
YzFmZjAzMTRmMDcwNTRhODIzY2IyN2U1NzRjZjVmNDgwMmU3ZTguLjdmNGEwMzRhMWQ4OGE5ZjNi
MTVhZGU3ZGU4ZWQyMzc1NjA1ZTQ3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDExLTExLTEwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBzdXBwb3J0c1Byb2ZpbGluZywgc3VwcG9y
dHNSaWNoU291cmNlSW5mbywgc2hvdWxkSW50ZXJydXB0U2NyaXB0IGluIEpTR2xvYmFsT2JqZWN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlLXZpcnR1
YWxpemVkIHRoZSBtZXRob2RzIHRocm91Z2ggdGhlIHVzZSBvZiBhIG5ldyBtZXRob2QgdGFibGUg
anVzdCBmb3IgSlNHbG9iYWxPYmplY3QgYW5kIHN1YmNsYXNzZXMuCisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwOiBDaGFuZ2VkIGNhbGwgc2l0ZXMgdG8gdXNlIHRoZSBuZXcgR2xvYmFs
T2JqZWN0TWV0aG9kVGFibGUuCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRl
Y29kZUdlbmVyYXRvcik6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOiBE
aXR0by4KKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1dGUpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOiBBZGRlZCBhIHN0YXRpYyBjb25zdCBHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSB3aXRoIHRoZSBjb3JyZWN0IGZ1bmN0aW9uIHBvaW50ZXJzLgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDogQWRkZWQgYSBmaWVsZCBpbiBKU0dsb2JhbE9i
amVjdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IG1ldGhvZCB0YWJsZS4KKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6Omdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKTogVGhlIG5ldyBzdHJ1Y3QgdG8g
Y29udGFpbiB0aGUgZnVuY3Rpb24gcG9pbnRlcnMuCisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjpzdXBwb3J0c1Byb2ZpbGluZyk6IE1hZGUgc3RhdGljIHRvIHB1dCBpbiB0aGUgbWV0aG9k
IHRhYmxlLgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6c3VwcG9ydHNSaWNoU291cmNl
SW5mbyk6IERpdHRvLgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6c2hvdWxkSW50ZXJy
dXB0U2NyaXB0KTogRGl0dG8uCisgICAgICAgICogcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHA6
IENoYW5nZWQgY2FsbCBzaXRlcyB0byB1c2UgdGhlIG5ldyBHbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSBmb3IgbG9va3VwLgorICAgICAgICAoSlNDOjpUaW1lb3V0Q2hlY2tlcjo6ZGlkVGltZU91dCk6
CisKIDIwMTEtMTEtMTAgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFtDTUFLRV0gUmVmYWN0b3JpbmcgQ01ha2VMaXN0cyR7UE9SVH0udHh0IHRvIFBsYXRm
b3JtJHtQT1JUfS5jbWFrZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBiZmY2YjQ3ZTdjZjhhNGEyMTJkMjVhY2Q5
NDlmZWQxYmM3NmE2YmUuLmU3Yjc1YjIzZjljMTllOTBhMDU1MGEyMmMyOTI1MGVjOGEwMDI3YjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMS0xMCAgTWFyayBIYWhuZW5iZXJn
ICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIERlLXZpcnR1YWxpemUgc3VwcG9y
dHNQcm9maWxpbmcsIHN1cHBvcnRzUmljaFNvdXJjZUluZm8sIHNob3VsZEludGVycnVwdFNjcmlw
dCBpbiBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzIwMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuY3BwOiBBZGRlZCBzdGF0aWMgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUg
YW5kIGZpbGxlZCBpdCBpbiB3aXRoIHRoZSBwcm9wZXIgZnVuY3Rpb24gcG9pbnRlcnMuCisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uKTogQ2hhbmdlZCB0
aGUgcG9pbnRlciBkZWNsYXJlZCBpbiBKU0dsb2JhbE9iamVjdCB0byBwb2ludCAKKyAgICAgICAg
YXQgdGhlIGNvcnJlY3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgZm9yIEpTRE9NV2luZG93QmFz
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcp
OiBDaGFuZ2VkIHRvIHN0YXRpYyB0byBwdXQgaW4gdGhlIG1ldGhvZCB0YWJsZS4KKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNSaWNoU291cmNlSW5mbyk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpzaG91bGRJbnRlcnJ1cHRTY3Jp
cHQpOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKwog
MjAxMS0xMS0xMCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
U2hyaW5rIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAKaW5kZXggYWZiY2I2NDUzNDMxYjAwZTRjZWU2N2E5YjBiOGNkMjhl
YzUzMjZkMC4uNDNmYjFiOTdiMDhmNTI2ODdlOWEwNTczNTQ0MDNhMTk3MjQ2MmUyMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xNzMsNiArMTczLDcgQEAg
X19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTZhZGRTdGF0aWNHbG9iYWxzRVBOUzBfMThHbG9iYWxQ
cm9wZXJ0eUluZm9FaQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRl
c0VQTlNfOEpTT2JqZWN0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1Zh
bHVlRWoKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDE4Z2V0T3duUHJvcGVydHlTbG90RVBOU182
SlNDZWxsRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xMlByb3BlcnR5U2xv
dEUKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBO
U184SlNPYmplY3RFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUk5TXzE4UHJvcGVy
dHlEZXNjcmlwdG9yRQorX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MjVzX2dsb2JhbE9iamVjdE1l
dGhvZFRhYmxlRQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0M3B1dEVQTlNfNkpTQ2VsbEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0
eVNsb3RFCiBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3Q0aW5pdEVQTlNfOEpTT2JqZWN0RQogX19a
TjNKU0MxNEpTR2xvYmFsT2JqZWN0NnNfaW5mb0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggMGMyNzllMzA2YmJkNjBhNTVkNzI4
ZjJkYzdiMWYxNjJiZDlhMGIzMi4uMWYyY2I4NmY5M2NkYjU2MTY4MTFjOGI3NTEwMDFkMzgzN2Fk
YjY3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
cHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5kZWYKQEAgLTI4NSw2ICsyODUsNyBAQCBFWFBPUlRTCiAgICAgP3Jlc3RvcmVBbGxAUHJv
ZmlsZUBKU0NAQFFBRVhYWgogICAgID9yZXRyaWV2ZUNhbGxlckBJbnRlcnByZXRlckBKU0NAQFFC
RT9BVkpTVmFsdWVAMkBQQVZFeGVjU3RhdGVAMkBQQVZKU0Z1bmN0aW9uQDJAQFoKICAgICA/cmV0
cmlldmVMYXN0Q2FsbGVyQEludGVycHJldGVyQEpTQ0BAUUJFWFBBVkV4ZWNTdGF0ZUAyQEFBSDFB
QVZVU3RyaW5nQDJAQUFWSlNWYWx1ZUAyQEBaCisgICAgP3NfZ2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGVASlNHbG9iYWxPYmplY3RASlNDQEAxVUdsb2JhbE9iamVjdE1ldGhvZFRhYmxlQDJAQgogICAg
ID9zZXRBY2Nlc3NvckRlc2NyaXB0b3JAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAUUFFWFZKU1Zh
bHVlQDJAMElAWgogICAgID9zZXRDb25maWd1cmFibGVAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BA
UUFFWF9OQFoKICAgICA/c2V0RGVzY3JpcHRvckBQcm9wZXJ0eURlc2NyaXB0b3JASlNDQEBRQUVY
VkpTVmFsdWVAMkBJQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZDk3YzExMzgwNmQzZGI5ZDhiM2Ni
ZTNlZmFiY2RhOGNhN2VjMTBiYi4uZGI5Y2VkYTg1MzM0ODU0Mjg3YzEwOTZhYzhlMjMzYWYxYTE2
NTUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE5Niw4ICsxOTYsOCBAQCB2b2lkIEJ5dGVjb2Rl
R2VuZXJhdG9yOjpwcmVzZXJ2ZUxhc3RWYXIoKQogCiBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNv
ZGVHZW5lcmF0b3IoUHJvZ3JhbU5vZGUqIHByb2dyYW1Ob2RlLCBTY29wZUNoYWluTm9kZSogc2Nv
cGVDaGFpbiwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBQcm9ncmFtQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIENvbXBpbGF0aW9uS2luZCBjb21waWxhdGlvbktpbmQpCiAgICAgOiBtX3Nob3VsZEVt
aXREZWJ1Z0hvb2tzKHNjb3BlQ2hhaW4tPmdsb2JhbE9iamVjdC0+ZGVidWdnZXIoKSkKLSAgICAs
IG1fc2hvdWxkRW1pdFByb2ZpbGVIb29rcyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QtPnN1cHBv
cnRzUHJvZmlsaW5nKCkpCi0gICAgLCBtX3Nob3VsZEVtaXRSaWNoU291cmNlSW5mbyhzY29wZUNo
YWluLT5nbG9iYWxPYmplY3QtPnN1cHBvcnRzUmljaFNvdXJjZUluZm8oKSkKKyAgICAsIG1fc2hv
dWxkRW1pdFByb2ZpbGVIb29rcyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QtPmdsb2JhbE9iamVj
dE1ldGhvZFRhYmxlKCktPnN1cHBvcnRzUHJvZmlsaW5nKHNjb3BlQ2hhaW4tPmdsb2JhbE9iamVj
dC5nZXQoKSkpCisgICAgLCBtX3Nob3VsZEVtaXRSaWNoU291cmNlSW5mbyhzY29wZUNoYWluLT5n
bG9iYWxPYmplY3QtPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPnN1cHBvcnRzUmljaFNvdXJj
ZUluZm8oc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LmdldCgpKSkKICAgICAsIG1fc2NvcGVDaGFp
bigqc2NvcGVDaGFpbi0+Z2xvYmFsRGF0YSwgc2NvcGVDaGFpbikKICAgICAsIG1fc3ltYm9sVGFi
bGUoc3ltYm9sVGFibGUpCiAgICAgLCBtX3Njb3BlTm9kZShwcm9ncmFtTm9kZSkKQEAgLTI2Nyw4
ICsyNjcsOCBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoUHJvZ3JhbU5v
ZGUqIHByb2dyYW1Ob2RlLCBTY29wZUNoYWluTm9kZSogcwogCiBCeXRlY29kZUdlbmVyYXRvcjo6
Qnl0ZWNvZGVHZW5lcmF0b3IoRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb25Cb2R5LCBTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbiwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBDb2RlQmxvY2sq
IGNvZGVCbG9jaywgQ29tcGlsYXRpb25LaW5kKQogICAgIDogbV9zaG91bGRFbWl0RGVidWdIb29r
cyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QtPmRlYnVnZ2VyKCkpCi0gICAgLCBtX3Nob3VsZEVt
aXRQcm9maWxlSG9va3Moc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5zdXBwb3J0c1Byb2ZpbGlu
ZygpKQotICAgICwgbV9zaG91bGRFbWl0UmljaFNvdXJjZUluZm8oc2NvcGVDaGFpbi0+Z2xvYmFs
T2JqZWN0LT5zdXBwb3J0c1JpY2hTb3VyY2VJbmZvKCkpCisgICAgLCBtX3Nob3VsZEVtaXRQcm9m
aWxlSG9va3Moc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5nbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSgpLT5zdXBwb3J0c1Byb2ZpbGluZyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QuZ2V0KCkpKQor
ICAgICwgbV9zaG91bGRFbWl0UmljaFNvdXJjZUluZm8oc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0
LT5nbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpLT5zdXBwb3J0c1JpY2hTb3VyY2VJbmZvKHNjb3Bl
Q2hhaW4tPmdsb2JhbE9iamVjdC5nZXQoKSkpCiAgICAgLCBtX3Njb3BlQ2hhaW4oKnNjb3BlQ2hh
aW4tPmdsb2JhbERhdGEsIHNjb3BlQ2hhaW4pCiAgICAgLCBtX3N5bWJvbFRhYmxlKHN5bWJvbFRh
YmxlKQogICAgICwgbV9zY29wZU5vZGUoZnVuY3Rpb25Cb2R5KQpAQCAtNDI5LDggKzQyOSw4IEBA
IEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihGdW5jdGlvbkJvZHlOb2RlKiBm
dW5jdGlvbkJvZHksIFNjb3BlQ2hhaW5OCiAKIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdl
bmVyYXRvcihFdmFsTm9kZSogZXZhbE5vZGUsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluLCBT
eW1ib2xUYWJsZSogc3ltYm9sVGFibGUsIEV2YWxDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29tcGls
YXRpb25LaW5kKQogICAgIDogbV9zaG91bGRFbWl0RGVidWdIb29rcyhzY29wZUNoYWluLT5nbG9i
YWxPYmplY3QtPmRlYnVnZ2VyKCkpCi0gICAgLCBtX3Nob3VsZEVtaXRQcm9maWxlSG9va3Moc2Nv
cGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5zdXBwb3J0c1Byb2ZpbGluZygpKQotICAgICwgbV9zaG91
bGRFbWl0UmljaFNvdXJjZUluZm8oc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5zdXBwb3J0c1Jp
Y2hTb3VyY2VJbmZvKCkpCisgICAgLCBtX3Nob3VsZEVtaXRQcm9maWxlSG9va3Moc2NvcGVDaGFp
bi0+Z2xvYmFsT2JqZWN0LT5nbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpLT5zdXBwb3J0c1Byb2Zp
bGluZyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QuZ2V0KCkpKQorICAgICwgbV9zaG91bGRFbWl0
UmljaFNvdXJjZUluZm8oc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0LT5nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZSgpLT5zdXBwb3J0c1JpY2hTb3VyY2VJbmZvKHNjb3BlQ2hhaW4tPmdsb2JhbE9iamVj
dC5nZXQoKSkpCiAgICAgLCBtX3Njb3BlQ2hhaW4oKnNjb3BlQ2hhaW4tPmdsb2JhbERhdGEsIHNj
b3BlQ2hhaW4pCiAgICAgLCBtX3N5bWJvbFRhYmxlKHN5bWJvbFRhYmxlKQogICAgICwgbV9zY29w
ZU5vZGUoZXZhbE5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAppbmRleCA5NTRkNWU1OTI0Njg0NWQxMTYzZTFhMTYzM2U5YWYwZmE4
OWE0Njg0Li40ZGM0MzU1NzgyMjA0N2MwMDA5NTRhMzBhMDJmZDE0MzFhYmFjYzI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTc5MCwxMCArNzkwLDEwIEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoUHJvZ3JhbUV4
ZWN1dGFibGUqIHByb2dyYW0sIENhbGxGcmFtZSogY2FsbEZyYW1lLCBTCiAgICAgY29uc3QgVVN0
cmluZyBwcm9ncmFtU291cmNlID0gcHJvZ3JhbS0+c291cmNlKCkudG9TdHJpbmcoKTsKICAgICBp
ZiAocHJvZ3JhbVNvdXJjZS5pczhCaXQoKSkgewogICAgICAgICBMaXRlcmFsUGFyc2VyPExDaGFy
PiBsaXRlcmFsUGFyc2VyKGNhbGxGcmFtZSwgcHJvZ3JhbVNvdXJjZS5jaGFyYWN0ZXJzOCgpLCBw
cm9ncmFtU291cmNlLmxlbmd0aCgpLCBKU09OUCk7Ci0gICAgICAgIHBhcnNlUmVzdWx0ID0gbGl0
ZXJhbFBhcnNlci50cnlKU09OUFBhcnNlKEpTT05QRGF0YSwgc2NvcGVDaGFpbi0+Z2xvYmFsT2Jq
ZWN0LT5zdXBwb3J0c1JpY2hTb3VyY2VJbmZvKCkpOworICAgICAgICBwYXJzZVJlc3VsdCA9IGxp
dGVyYWxQYXJzZXIudHJ5SlNPTlBQYXJzZShKU09OUERhdGEsIHNjb3BlQ2hhaW4tPmdsb2JhbE9i
amVjdC0+Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+c3VwcG9ydHNSaWNoU291cmNlSW5mbyhz
Y29wZUNoYWluLT5nbG9iYWxPYmplY3QuZ2V0KCkpKTsKICAgICB9IGVsc2UgewogICAgICAgICBM
aXRlcmFsUGFyc2VyPFVDaGFyPiBsaXRlcmFsUGFyc2VyKGNhbGxGcmFtZSwgcHJvZ3JhbVNvdXJj
ZS5jaGFyYWN0ZXJzMTYoKSwgcHJvZ3JhbVNvdXJjZS5sZW5ndGgoKSwgSlNPTlApOwotICAgICAg
ICBwYXJzZVJlc3VsdCA9IGxpdGVyYWxQYXJzZXIudHJ5SlNPTlBQYXJzZShKU09OUERhdGEsIHNj
b3BlQ2hhaW4tPmdsb2JhbE9iamVjdC0+c3VwcG9ydHNSaWNoU291cmNlSW5mbygpKTsgICAgICAg
IAorICAgICAgICBwYXJzZVJlc3VsdCA9IGxpdGVyYWxQYXJzZXIudHJ5SlNPTlBQYXJzZShKU09O
UERhdGEsIHNjb3BlQ2hhaW4tPmdsb2JhbE9iamVjdC0+Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUo
KS0+c3VwcG9ydHNSaWNoU291cmNlSW5mbyhzY29wZUNoYWluLT5nbG9iYWxPYmplY3QuZ2V0KCkp
KTsKICAgICB9CiAKICAgICBpZiAocGFyc2VSZXN1bHQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA0ODVhZGZjMjRhMjg1YTM3
YjBkNTBjNzkwNTgwYWQ4ZjY0YjdlMmU0Li4zZGI1MGFhNWQwOGM3YjRmZTU5MjRlZjc5YTFmM2Q2
MTdlMGU1MjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCkBAIC03OCw2ICs3OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBD
bGFzc0luZm8gSlNHbG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgIkdsb2JhbE9iamVjdCIsICZKU1Zh
cmlhYmxlT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6Z2xvYmFsT2JqZWN0VGFibGUsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNHbG9iYWxPYmplY3QpIH07CiAKK2NvbnN0IEdsb2JhbE9iamVj
dE1ldGhvZFRhYmxlIEpTR2xvYmFsT2JqZWN0OjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0g
eyAmc3VwcG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50
ZXJydXB0U2NyaXB0IH07CisKIC8qIFNvdXJjZSBmb3IgSlNHbG9iYWxPYmplY3QubHV0LmgKIEBi
ZWdpbiBnbG9iYWxPYmplY3RUYWJsZQogICBwYXJzZUludCAgICAgICAgICAgICAgZ2xvYmFsRnVu
Y1BhcnNlSW50ICAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAyCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBiOGNiZDE2YTdhNDM5
YzkyMDVjMjJiNzI5YmYyNmMxNGNjNjQyNzc3Li5kNTIzMmFjYjYxOGNkY2Y3NTcxNWJmNWVhZGEy
MDk1MzA4YjllYzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKQEAgLTU1LDYgKzU1LDE3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdHlw
ZWRlZiBWZWN0b3I8RXhlY1N0YXRlKiwgMTY+IEV4ZWNTdGF0ZVN0YWNrOwogICAgIAorICAgIHN0
cnVjdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSB7CisgICAgICAgIHR5cGVkZWYgYm9vbCAoKlN1
cHBvcnRzUHJvZmlsaW5nRnVuY3Rpb25QdHIpKGNvbnN0IEpTR2xvYmFsT2JqZWN0Kik7IAorICAg
ICAgICBTdXBwb3J0c1Byb2ZpbGluZ0Z1bmN0aW9uUHRyIHN1cHBvcnRzUHJvZmlsaW5nOworCisg
ICAgICAgIHR5cGVkZWYgYm9vbCAoKlN1cHBvcnRzUmljaFNvdXJjZUluZm9GdW5jdGlvblB0ciko
Y29uc3QgSlNHbG9iYWxPYmplY3QqKTsKKyAgICAgICAgU3VwcG9ydHNSaWNoU291cmNlSW5mb0Z1
bmN0aW9uUHRyIHN1cHBvcnRzUmljaFNvdXJjZUluZm87CisKKyAgICAgICAgdHlwZWRlZiBib29s
ICgqU2hvdWxkSW50ZXJydXB0U2NyaXB0RnVuY3Rpb25QdHIpKGNvbnN0IEpTR2xvYmFsT2JqZWN0
Kik7CisgICAgICAgIFNob3VsZEludGVycnVwdFNjcmlwdEZ1bmN0aW9uUHRyIHNob3VsZEludGVy
cnVwdFNjcmlwdDsKKyAgICB9OworCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMg
SlNWYXJpYWJsZU9iamVjdCB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoU2V0
PFJlZlB0cjxPcGFxdWVKU1dlYWtPYmplY3RNYXA+ID4gV2Vha01hcFNldDsKQEAgLTEzMyw2ICsx
NDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIG1fZXZhbEVuYWJsZWQ7CiAK
KyAgICAgICAgc3RhdGljIEpTX0VYUE9SVERBVEEgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUgc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZTsKKyAgICAgICAgY29uc3QgR2xvYmFsT2JqZWN0
TWV0aG9kVGFibGUqIG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGU7CisKICAgICAgICAgdm9pZCBj
cmVhdGVSYXJlRGF0YUlmTmVlZGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKG1fcmFy
ZURhdGEpCkBAIC0xNjAsNiArMTc0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAs
IG1fZ2xvYmFsU2NvcGVDaGFpbigpCiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNp
Z25lZD46Om1heCgpICsgMS4wKSkpCiAgICAgICAgICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkK
KyAgICAgICAgICAgICwgbV9nbG9iYWxPYmplY3RNZXRob2RUYWJsZSgmc19nbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTI2MiwxNCArMjc3LDE2IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBEZWJ1Z2dlciogZGVidWdnZXIoKSBjb25zdCB7IHJl
dHVybiBtX2RlYnVnZ2VyOyB9CiAgICAgICAgIHZvaWQgc2V0RGVidWdnZXIoRGVidWdnZXIqIGRl
YnVnZ2VyKSB7IG1fZGVidWdnZXIgPSBkZWJ1Z2dlcjsgfQogCi0gICAgICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c1Byb2ZpbGluZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQorICAgICAgICBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlOyB9CisK
KyAgICAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNQcm9maWxpbmcoY29uc3QgSlNHbG9iYWxPYmpl
Y3QqKSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1JpY2hT
b3VyY2VJbmZvKGNvbnN0IEpTR2xvYmFsT2JqZWN0KikgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAg
ICAgIFNjb3BlQ2hhaW5Ob2RlKiBnbG9iYWxTY29wZUNoYWluKCkgeyByZXR1cm4gbV9nbG9iYWxT
Y29wZUNoYWluLmdldCgpOyB9CiAKICAgICAgICAgRXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAK
LSAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlwdCgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KKyAgICAgICAgc3RhdGljIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0KGNv
bnN0IEpTR2xvYmFsT2JqZWN0KikgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBhbGxvd3NBY2Nlc3NGcm9tKGNvbnN0IEpTR2xvYmFsT2JqZWN0KikgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
aW1lb3V0Q2hlY2tlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UaW1lb3V0
Q2hlY2tlci5jcHAKaW5kZXggMTI4NzhkNjVjYzM3ZjM1NzIwNjc1YjZiY2M5ZmFkNDg0NGI3MGQ4
MC4uMzA2NWM5OWVkZDcyNDc2ZDIwZmU5OWM5NjQ4ZTUzNWRmMzhiODExMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGltZW91dENoZWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcApAQCAtMTMwLDcg
KzEzMCw3IEBAIGJvb2wgVGltZW91dENoZWNrZXI6OmRpZFRpbWVPdXQoRXhlY1N0YXRlKiBleGVj
KQogICAgICAgICBtX3RpY2tzVW50aWxOZXh0Q2hlY2sgPSB0aWNrc1VudGlsRmlyc3RDaGVjazsK
ICAgICAKICAgICBpZiAobV90aW1lb3V0SW50ZXJ2YWwgJiYgbV90aW1lRXhlY3V0aW5nID4gbV90
aW1lb3V0SW50ZXJ2YWwpIHsKLSAgICAgICAgaWYgKGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3Qo
KS0+c2hvdWxkSW50ZXJydXB0U2NyaXB0KCkpCisgICAgICAgIGlmIChleGVjLT5keW5hbWljR2xv
YmFsT2JqZWN0KCktPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPnNob3VsZEludGVycnVwdFNj
cmlwdChleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCkpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIAogICAgICAgICByZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggMmQzMTUyMDY3MDk0OGU2YmM3ZWM4Yjcz
ZmIyOTEzNjdjYWI3ZTFhZS4uMDhjMzkyMDhhNzZhMjVkMmEyOGJjODlhOWVmYjc2MzRhNzMzZjVl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
CkBAIC00Myw2ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgQ2xhc3NJbmZv
IEpTRE9NV2luZG93QmFzZTo6c19pbmZvID0geyAiV2luZG93IiwgJkpTRE9NR2xvYmFsT2JqZWN0
OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNET01XaW5kb3dCYXNlKSB9Owog
Citjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU0RPTVdpbmRvd0Jhc2U6OnNfZ2xvYmFs
T2JqZWN0TWV0aG9kVGFibGUgPSB7ICZzdXBwb3J0c1Byb2ZpbGluZywgJnN1cHBvcnRzUmljaFNv
dXJjZUluZm8sICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQgfTsKKwogSlNET01XaW5kb3dCYXNlOjpK
U0RPTVdpbmRvd0Jhc2UoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywgSlNET01XaW5kb3dTaGVsbCogc2hl
bGwpCiAgICAgOiBKU0RPTUdsb2JhbE9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIHNoZWxs
LT53b3JsZCgpKQogICAgICwgbV9pbXBsKHdpbmRvdykKQEAgLTU1LDYgKzU3LDggQEAgdm9pZCBK
U0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNET01XaW5kb3dTaGVsbCoKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhLCBz
aGVsbCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKIAorICAgIG1fZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUgPSAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZTsKKwogICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyhJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgImRvY3VtZW50IiksIGpzTnVsbCgpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oSWRlbnRpZmll
cihnbG9iYWxFeGVjKCksICJ3aW5kb3ciKSwgbV9zaGVsbCwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KQpAQCAtODUsMTIgKzg5LDEzIEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpwcmludEVycm9yTWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGNvbnN0CiAgICAgcHJpbnRFcnJvck1lc3NhZ2VG
b3JGcmFtZShpbXBsKCktPmZyYW1lKCksIG1lc3NhZ2UpOwogfQogCi1ib29sIEpTRE9NV2luZG93
QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdAorYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1
cHBvcnRzUHJvZmlsaW5nKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QpCiB7CiAjaWYgIUVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSB8fCAhRU5BQkxFKElOU1BFQ1RPUikKICAgICByZXR1
cm4gZmFsc2U7CiAjZWxzZQotICAgIEZyYW1lKiBmcmFtZSA9IGltcGwoKS0+ZnJhbWUoKTsKKyAg
ICBjb25zdCBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxjb25zdCBK
U0RPTVdpbmRvd0Jhc2UqPihvYmplY3QpOworICAgIEZyYW1lKiBmcmFtZSA9IHRoaXNPYmplY3Qt
PmltcGwoKS0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTEwMiwxMiArMTA3LDEzIEBAIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1By
b2ZpbGluZygpIGNvbnN0CiAjZW5kaWYKIH0KIAotYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBv
cnRzUmljaFNvdXJjZUluZm8oKSBjb25zdAorYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRz
UmljaFNvdXJjZUluZm8oY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjdCkKIHsKICNpZiAhRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpIHx8ICFFTkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVy
biBmYWxzZTsKICNlbHNlCi0gICAgRnJhbWUqIGZyYW1lID0gaW1wbCgpLT5mcmFtZSgpOworICAg
IGNvbnN0IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PGNvbnN0IEpT
RE9NV2luZG93QmFzZSo+KG9iamVjdCk7CisgICAgRnJhbWUqIGZyYW1lID0gdGhpc09iamVjdC0+
aW1wbCgpLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IApAQCAtMTE2LDE2ICsxMjIsMTcgQEAgYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRzUmlj
aFNvdXJjZUluZm8oKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGVu
YWJsZWQgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmVuYWJsZWQoKTsKLSAgICBBU1NF
UlQoZW5hYmxlZCB8fCAhZGVidWdnZXIoKSk7Ci0gICAgQVNTRVJUKGVuYWJsZWQgfHwgIXN1cHBv
cnRzUHJvZmlsaW5nKCkpOworICAgIEFTU0VSVChlbmFibGVkIHx8ICF0aGlzT2JqZWN0LT5kZWJ1
Z2dlcigpKTsKKyAgICBBU1NFUlQoZW5hYmxlZCB8fCAhc3VwcG9ydHNQcm9maWxpbmcodGhpc09i
amVjdCkpOwogICAgIHJldHVybiBlbmFibGVkOwogI2VuZGlmCiB9CiAKLWJvb2wgSlNET01XaW5k
b3dCYXNlOjpzaG91bGRJbnRlcnJ1cHRTY3JpcHQoKSBjb25zdAorYm9vbCBKU0RPTVdpbmRvd0Jh
c2U6OnNob3VsZEludGVycnVwdFNjcmlwdChjb25zdCBKU0dsb2JhbE9iamVjdCogb2JqZWN0KQog
ewotICAgIEFTU0VSVChpbXBsKCktPmZyYW1lKCkpOwotICAgIFBhZ2UqIHBhZ2UgPSBpbXBsKCkt
PmZyYW1lKCktPnBhZ2UoKTsKKyAgICBjb25zdCBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3Qg
PSBzdGF0aWNfY2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihvYmplY3QpOworICAgIEFTU0VS
VCh0aGlzT2JqZWN0LT5pbXBsKCktPmZyYW1lKCkpOworICAgIFBhZ2UqIHBhZ2UgPSB0aGlzT2Jq
ZWN0LT5pbXBsKCktPmZyYW1lKCktPnBhZ2UoKTsKIAogICAgIC8vIFNlZSA8cmRhcjovL3Byb2Js
ZW0vNTQ3OTQ0Mz4uIFdlIGRvbid0IHRoaW5rIHRoYXQgcGFnZSBjYW4gZXZlciBiZSBOVUxMCiAg
ICAgLy8gaW4gdGhpcyBjYXNlLCBidXQgaWYgaXQgaXMsIHdlJ3ZlIGdvdHRlbiBpbnRvIGEgc3Rh
dGUgd2hlcmUgd2UgbWF5IGhhdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmgKaW5kZXggNDk5NDdjNjE1ZTUwMGY5NjRhMmUzOWYzZTUzZGE0N2EwMjQxZWVk
Mi4uYmQxOWIxMjFlM2YxNGY4ZDMzNWRkMzE1M2ExZDdkNmUxNDgyZGI3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTU2LDkgKzU2LDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6
Y3JlYXRlKGdsb2JhbERhdGEsIDAsIHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Okdsb2Jh
bE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAg
ICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzUmljaFNvdXJjZUluZm8oKSBjb25zdDsKLSAgICAgICAgdmlydHVh
bCBib29sIHNob3VsZEludGVycnVwdFNjcmlwdCgpIGNvbnN0OworICAgICAgICBzdGF0aWMgY29u
c3QgSlNDOjpHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxl
OworCisgICAgICAgIHN0YXRpYyBib29sIHN1cHBvcnRzUHJvZmlsaW5nKGNvbnN0IEpTQzo6SlNH
bG9iYWxPYmplY3QqKTsKKyAgICAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNSaWNoU291cmNlSW5m
byhjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CisgICAgICAgIHN0YXRpYyBib29sIHNob3Vs
ZEludGVycnVwdFNjcmlwdChjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICAgICAg
Ym9vbCBhbGxvd3NBY2Nlc3NGcm9tKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7CiAgICAgICAgIGJv
b2wgYWxsb3dzQWNjZXNzRnJvbU5vRXJyb3JNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKikgY29uc3Q7
Cg==
</data>
<flag name="review"
          id="113225"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>