<?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>128661</bug_id>
          
          <creation_ts>2014-02-12 00:57:32 -0800</creation_ts>
          <short_desc>Web Inspector: Modernize missed inspector files</short_desc>
          <delta_ts>2014-02-12 10:10:31 -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>WebCore Misc.</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>979797</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-12 00:57:32 -0800</bug_when>
    <thetext>It seems modernization missed InspectorCSSAgent.cpp and InspectorFrontendClientLocal.h for override / final / nullptrs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979798</commentid>
    <comment_count>1</comment_count>
      <attachid>223950</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-12 00:59:36 -0800</bug_when>
    <thetext>Created attachment 223950
[PATCH] Proposed Fix

Threw in a few ASCIILiterals as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979895</commentid>
    <comment_count>2</comment_count>
      <attachid>223950</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 10:10:24 -0800</bug_when>
    <thetext>Comment on attachment 223950
[PATCH] Proposed Fix

Clearing flags on attachment: 223950

Committed r163962: &lt;http://trac.webkit.org/changeset/163962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979896</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 10:10:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223950</attachid>
            <date>2014-02-12 00:59:36 -0800</date>
            <delta_ts>2014-02-12 10:10:24 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>modernize.patch</filename>
            <type>text/plain</type>
            <size>20318</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNDdjMDRjLi5hYjVlNTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjgg
QEAKIDIwMTQtMDItMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBNb2Rlcm5pemUgbWlzc2VkIGluc3BlY3RvciBmaWxlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NjYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZpbmFs
LCBvdmVycmlkZSwgYW5kIHVzZSBudWxscHRyIHdoZXJlIGFwcHJvcHJpYXRlLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNTU0FnZW50Ojphc0NTU1N0eWxlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDU1NBZ2VudDo6ZGlzY2FyZEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50OjpkaXNhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50
OjpnZXRJbmxpbmVTdHlsZXNGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNT
U0FnZW50OjpnZXRDb21wdXRlZFN0eWxlRm9yTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDU1NBZ2VudDo6YXNJbnNwZWN0b3JTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNTU0FnZW50OjplbGVtZW50Rm9ySWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ1NTQWdlbnQ6OnZpYUluc3BlY3RvclN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OmFzc2VydFN0eWxlU2hlZXRGb3JJZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6YnVpbGRPYmplY3RGb3JSdWxlKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpidWlsZE9iamVjdEZvckF0dHJpYnV0ZXNTdHls
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaDoK
KworMjAxNC0wMi0xMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbmFtZSBQYWdlSW5qZWN0ZWRTY3JpcHQqIHRvIFdlYklu
amVjdGVkU2NyaXB0KgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NjYwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NT
QWdlbnQuY3BwCmluZGV4IGY4MjJhYjUuLjkzMzliYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMjI3LDIzICsyMjcsMjMgQEAgcHJv
dGVjdGVkOgogICAgIFJlZlB0cjxJbnNwZWN0b3JTdHlsZVNoZWV0PiBtX3N0eWxlU2hlZXQ7CiB9
OwogCi1jbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDo6U2V0U3R5bGVTaGVldFRleHRBY3Rpb24gOiBw
dWJsaWMgSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24geworY2xhc3MgSW5zcGVj
dG9yQ1NTQWdlbnQ6OlNldFN0eWxlU2hlZXRUZXh0QWN0aW9uIGZpbmFsIDogcHVibGljIEluc3Bl
Y3RvckNTU0FnZW50OjpTdHlsZVNoZWV0QWN0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTZXRTdHlsZVNoZWV0VGV4dEFjdGlvbik7CiBwdWJsaWM6CiAgICAgU2V0U3R5bGVTaGVldFRl
eHRBY3Rpb24oSW5zcGVjdG9yU3R5bGVTaGVldCogc3R5bGVTaGVldCwgY29uc3QgU3RyaW5nJiB0
ZXh0KQotICAgICAgICA6IEluc3BlY3RvckNTU0FnZW50OjpTdHlsZVNoZWV0QWN0aW9uKCJTZXRT
dHlsZVNoZWV0VGV4dCIsIHN0eWxlU2hlZXQpCisgICAgICAgIDogSW5zcGVjdG9yQ1NTQWdlbnQ6
OlN0eWxlU2hlZXRBY3Rpb24oQVNDSUlMaXRlcmFsKCJTZXRTdHlsZVNoZWV0VGV4dCIpLCBzdHls
ZVNoZWV0KQogICAgICAgICAsIG1fdGV4dCh0ZXh0KQogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0
dWFsIGJvb2wgcGVyZm9ybShFeGNlcHRpb25Db2RlJiBlYykKKyAgICB2aXJ0dWFsIGJvb2wgcGVy
Zm9ybShFeGNlcHRpb25Db2RlJiBlYykgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmICghbV9z
dHlsZVNoZWV0LT5nZXRUZXh0KCZtX29sZFRleHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICByZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIHVu
ZG8oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29k
ZSYgZWMpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9zdHlsZVNoZWV0LT5zZXRUZXh0
KG1fb2xkVGV4dCwgZWMpKSB7CiAgICAgICAgICAgICBtX3N0eWxlU2hlZXQtPnJlcGFyc2VTdHls
ZVNoZWV0KG1fb2xkVGV4dCk7CkBAIC0yNTIsNyArMjUyLDcgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29k
ZSYgZWMpCisgICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRl
CiAgICAgewogICAgICAgICBpZiAobV9zdHlsZVNoZWV0LT5zZXRUZXh0KG1fdGV4dCwgZWMpKSB7
CiAgICAgICAgICAgICBtX3N0eWxlU2hlZXQtPnJlcGFyc2VTdHlsZVNoZWV0KG1fdGV4dCk7CkBA
IC0yNjEsMTIgKzI2MSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIFN0cmluZyBtZXJnZUlkKCkKKyAgICB2aXJ0dWFsIFN0cmluZyBtZXJn
ZUlkKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiU2V0
U3R5bGVTaGVldFRleHQgJXMiLCBtX3N0eWxlU2hlZXQtPmlkKCkudXRmOCgpLmRhdGEoKSk7CiAg
ICAgfQogCi0gICAgdmlydHVhbCB2b2lkIG1lcmdlKFBhc3NPd25QdHI8QWN0aW9uPiBhY3Rpb24p
CisgICAgdmlydHVhbCB2b2lkIG1lcmdlKFBhc3NPd25QdHI8QWN0aW9uPiBhY3Rpb24pIG92ZXJy
aWRlCiAgICAgewogICAgICAgICBBU1NFUlQoYWN0aW9uLT5tZXJnZUlkKCkgPT0gbWVyZ2VJZCgp
KTsKIApAQCAtMjc5LDcgKzI3OSw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fb2xkVGV4dDsK
IH07CiAKLWNsYXNzIEluc3BlY3RvckNTU0FnZW50OjpTZXRTdHlsZVRleHRBY3Rpb24gOiBwdWJs
aWMgSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24geworY2xhc3MgSW5zcGVjdG9y
Q1NTQWdlbnQ6OlNldFN0eWxlVGV4dEFjdGlvbiBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDU1NB
Z2VudDo6U3R5bGVTaGVldEFjdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0U3R5
bGVUZXh0QWN0aW9uKTsKIHB1YmxpYzoKICAgICBTZXRTdHlsZVRleHRBY3Rpb24oSW5zcGVjdG9y
U3R5bGVTaGVldCogc3R5bGVTaGVldCwgY29uc3QgSW5zcGVjdG9yQ1NTSWQmIGNzc0lkLCBjb25z
dCBTdHJpbmcmIHRleHQpCkBAIC0yODksMjggKzI4OSwyOCBAQCBwdWJsaWM6CiAgICAgewogICAg
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZp
cnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUmIGVjKSBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHJlZG8oZWMpOwogICAgIH0KIAotICAgIHZpcnR1YWwgYm9vbCB1bmRvKEV4
Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZpcnR1YWwgYm9vbCB1bmRvKEV4Y2VwdGlvbkNvZGUmIGVj
KSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVldC0+c2V0U3R5bGVU
ZXh0KG1fY3NzSWQsIG1fb2xkVGV4dCwgMCwgZWMpOworICAgICAgICByZXR1cm4gbV9zdHlsZVNo
ZWV0LT5zZXRTdHlsZVRleHQobV9jc3NJZCwgbV9vbGRUZXh0LCBudWxscHRyLCBlYyk7CiAgICAg
fQogCi0gICAgdmlydHVhbCBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgdmlydHVh
bCBib29sIHJlZG8oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBy
ZXR1cm4gbV9zdHlsZVNoZWV0LT5zZXRTdHlsZVRleHQobV9jc3NJZCwgbV90ZXh0LCAmbV9vbGRU
ZXh0LCBlYyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgbWVyZ2VJZCgpCisgICAgdmly
dHVhbCBTdHJpbmcgbWVyZ2VJZCgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBBU1NFUlQobV9z
dHlsZVNoZWV0LT5pZCgpID09IG1fY3NzSWQuc3R5bGVTaGVldElkKCkpOwogICAgICAgICByZXR1
cm4gU3RyaW5nOjpmb3JtYXQoIlNldFN0eWxlVGV4dCAlczoldSIsIG1fc3R5bGVTaGVldC0+aWQo
KS51dGY4KCkuZGF0YSgpLCBtX2Nzc0lkLm9yZGluYWwoKSk7CiAgICAgfQogCi0gICAgdmlydHVh
bCB2b2lkIG1lcmdlKFBhc3NPd25QdHI8QWN0aW9uPiBhY3Rpb24pCisgICAgdmlydHVhbCB2b2lk
IG1lcmdlKFBhc3NPd25QdHI8QWN0aW9uPiBhY3Rpb24pIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBBU1NFUlQoYWN0aW9uLT5tZXJnZUlkKCkgPT0gbWVyZ2VJZCgpKTsKIApAQCAtMzI0LDExICsz
MjQsMTEgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9vbGRUZXh0OwogfTsKIAotY2xhc3MgSW5z
cGVjdG9yQ1NTQWdlbnQ6OlNldFByb3BlcnR5VGV4dEFjdGlvbiA6IHB1YmxpYyBJbnNwZWN0b3JD
U1NBZ2VudDo6U3R5bGVTaGVldEFjdGlvbiB7CitjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDo6U2V0
UHJvcGVydHlUZXh0QWN0aW9uIGZpbmFsIDogcHVibGljIEluc3BlY3RvckNTU0FnZW50OjpTdHls
ZVNoZWV0QWN0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXRQcm9wZXJ0eVRleHRB
Y3Rpb24pOwogcHVibGljOgogICAgIFNldFByb3BlcnR5VGV4dEFjdGlvbihJbnNwZWN0b3JTdHls
ZVNoZWV0KiBzdHlsZVNoZWV0LCBjb25zdCBJbnNwZWN0b3JDU1NJZCYgY3NzSWQsIHVuc2lnbmVk
IHByb3BlcnR5SW5kZXgsIGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBvdmVyd3JpdGUpCi0gICAg
ICAgIDogSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24oIlNldFByb3BlcnR5VGV4
dCIsIHN0eWxlU2hlZXQpCisgICAgICAgIDogSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRB
Y3Rpb24oQVNDSUlMaXRlcmFsKCJTZXRQcm9wZXJ0eVRleHQiKSwgc3R5bGVTaGVldCkKICAgICAg
ICAgLCBtX2Nzc0lkKGNzc0lkKQogICAgICAgICAsIG1fcHJvcGVydHlJbmRleChwcm9wZXJ0eUlu
ZGV4KQogICAgICAgICAsIG1fdGV4dCh0ZXh0KQpAQCAtMzM2LDIzICszMzYsMjMgQEAgcHVibGlj
OgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpCisgICAgdmly
dHVhbCBTdHJpbmcgdG9TdHJpbmcoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIG1l
cmdlSWQoKSArICI6ICIgKyBtX29sZFRleHQgKyAiIC0+ICIgKyBtX3RleHQ7CiAgICAgfQogCi0g
ICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgdmlydHVhbCBi
b29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBy
ZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9u
Q29kZSYgZWMpCisgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJy
aWRlCiAgICAgewogICAgICAgICBTdHJpbmcgcGxhY2Vob2xkZXI7CiAgICAgICAgIHJldHVybiBt
X3N0eWxlU2hlZXQtPnNldFByb3BlcnR5VGV4dChtX2Nzc0lkLCBtX3Byb3BlcnR5SW5kZXgsIG1f
b3ZlcndyaXRlID8gbV9vbGRUZXh0IDogIiIsIHRydWUsICZwbGFjZWhvbGRlciwgZWMpOwogICAg
IH0KIAotICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZpcnR1
YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
U3RyaW5nIG9sZFRleHQ7CiAgICAgICAgIGJvb2wgcmVzdWx0ID0gbV9zdHlsZVNoZWV0LT5zZXRQ
cm9wZXJ0eVRleHQobV9jc3NJZCwgbV9wcm9wZXJ0eUluZGV4LCBtX3RleHQsIG1fb3ZlcndyaXRl
LCAmb2xkVGV4dCwgZWMpOwpAQCAtMzY0LDEyICszNjQsMTIgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHZpcnR1YWwgU3RyaW5nIG1lcmdlSWQoKQorICAg
IHZpcnR1YWwgU3RyaW5nIG1lcmdlSWQoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJu
IFN0cmluZzo6Zm9ybWF0KCJTZXRQcm9wZXJ0eVRleHQgJXM6JXU6JXMiLCBtX3N0eWxlU2hlZXQt
PmlkKCkudXRmOCgpLmRhdGEoKSwgbV9wcm9wZXJ0eUluZGV4LCBtX292ZXJ3cml0ZSA/ICJ0cnVl
IiA6ICJmYWxzZSIpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBtZXJnZShQYXNzT3duUHRy
PEFjdGlvbj4gYWN0aW9uKQorICAgIHZpcnR1YWwgdm9pZCBtZXJnZShQYXNzT3duUHRyPEFjdGlv
bj4gYWN0aW9uKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgQVNTRVJUKGFjdGlvbi0+bWVyZ2VJ
ZCgpID09IG1lcmdlSWQoKSk7CiAKQEAgLTM4NSwyOCArMzg1LDI4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX292ZXJ3cml0ZTsKIH07CiAKLWNsYXNzIEluc3BlY3RvckNTU0FnZW50OjpUb2dnbGVQ
cm9wZXJ0eUFjdGlvbiA6IHB1YmxpYyBJbnNwZWN0b3JDU1NBZ2VudDo6U3R5bGVTaGVldEFjdGlv
biB7CitjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDo6VG9nZ2xlUHJvcGVydHlBY3Rpb24gZmluYWwg
OiBwdWJsaWMgSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24gewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRvZ2dsZVByb3BlcnR5QWN0aW9uKTsKIHB1YmxpYzoKICAgICBUb2dn
bGVQcm9wZXJ0eUFjdGlvbihJbnNwZWN0b3JTdHlsZVNoZWV0KiBzdHlsZVNoZWV0LCBjb25zdCBJ
bnNwZWN0b3JDU1NJZCYgY3NzSWQsIHVuc2lnbmVkIHByb3BlcnR5SW5kZXgsIGJvb2wgZGlzYWJs
ZSkKLSAgICAgICAgOiBJbnNwZWN0b3JDU1NBZ2VudDo6U3R5bGVTaGVldEFjdGlvbigiVG9nZ2xl
UHJvcGVydHkiLCBzdHlsZVNoZWV0KQorICAgICAgICA6IEluc3BlY3RvckNTU0FnZW50OjpTdHls
ZVNoZWV0QWN0aW9uKEFTQ0lJTGl0ZXJhbCgiVG9nZ2xlUHJvcGVydHkiKSwgc3R5bGVTaGVldCkK
ICAgICAgICAgLCBtX2Nzc0lkKGNzc0lkKQogICAgICAgICAsIG1fcHJvcGVydHlJbmRleChwcm9w
ZXJ0eUluZGV4KQogICAgICAgICAsIG1fZGlzYWJsZShkaXNhYmxlKQogICAgIHsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybShFeGNlcHRpb25Db2RlJiBlYykKKyAgICB2aXJ0dWFs
IGJvb2wgcGVyZm9ybShFeGNlcHRpb25Db2RlJiBlYykgb3ZlcnJpZGUKICAgICB7CiAgICAgICAg
IHJldHVybiByZWRvKGVjKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgdW5kbyhFeGNlcHRp
b25Db2RlJiBlYykKKyAgICB2aXJ0dWFsIGJvb2wgdW5kbyhFeGNlcHRpb25Db2RlJiBlYykgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIHJldHVybiBtX3N0eWxlU2hlZXQtPnRvZ2dsZVByb3BlcnR5
KG1fY3NzSWQsIG1fcHJvcGVydHlJbmRleCwgIW1fZGlzYWJsZSwgZWMpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgYm9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZpcnR1YWwgYm9vbCBy
ZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
c3R5bGVTaGVldC0+dG9nZ2xlUHJvcGVydHkobV9jc3NJZCwgbV9wcm9wZXJ0eUluZGV4LCBtX2Rp
c2FibGUsIGVjKTsKICAgICB9CkBAIC00MTcsMTcgKzQxNywxNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9kaXNhYmxlOwogfTsKIAotY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQ6OlNldFJ1bGVTZWxl
Y3RvckFjdGlvbiA6IHB1YmxpYyBJbnNwZWN0b3JDU1NBZ2VudDo6U3R5bGVTaGVldEFjdGlvbiB7
CitjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDo6U2V0UnVsZVNlbGVjdG9yQWN0aW9uIGZpbmFsIDog
cHVibGljIEluc3BlY3RvckNTU0FnZW50OjpTdHlsZVNoZWV0QWN0aW9uIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTZXRSdWxlU2VsZWN0b3JBY3Rpb24pOwogcHVibGljOgogICAgIFNldFJ1
bGVTZWxlY3RvckFjdGlvbihJbnNwZWN0b3JTdHlsZVNoZWV0KiBzdHlsZVNoZWV0LCBjb25zdCBJ
bnNwZWN0b3JDU1NJZCYgY3NzSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IpCi0gICAgICAgIDog
SW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24oIlNldFJ1bGVTZWxlY3RvciIsIHN0
eWxlU2hlZXQpCisgICAgICAgIDogSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24o
QVNDSUlMaXRlcmFsKCJTZXRSdWxlU2VsZWN0b3IiKSwgc3R5bGVTaGVldCkKICAgICAgICAgLCBt
X2Nzc0lkKGNzc0lkKQogICAgICAgICAsIG1fc2VsZWN0b3Ioc2VsZWN0b3IpCiAgICAgewogICAg
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZp
cnR1YWwgYm9vbCBwZXJmb3JtKEV4Y2VwdGlvbkNvZGUmIGVjKSBvdmVycmlkZQogICAgIHsKICAg
ICAgICAgbV9vbGRTZWxlY3RvciA9IG1fc3R5bGVTaGVldC0+cnVsZVNlbGVjdG9yKG1fY3NzSWQs
IGVjKTsKICAgICAgICAgaWYgKGVjKQpAQCAtNDM1LDEyICs0MzUsMTIgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIHVuZG8oRXhj
ZXB0aW9uQ29kZSYgZWMpCisgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMp
IG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gbV9zdHlsZVNoZWV0LT5zZXRSdWxlU2Vs
ZWN0b3IobV9jc3NJZCwgbV9vbGRTZWxlY3RvciwgZWMpOwogICAgIH0KIAotICAgIHZpcnR1YWwg
Ym9vbCByZWRvKEV4Y2VwdGlvbkNvZGUmIGVjKQorICAgIHZpcnR1YWwgYm9vbCByZWRvKEV4Y2Vw
dGlvbkNvZGUmIGVjKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fc3R5bGVTaGVl
dC0+c2V0UnVsZVNlbGVjdG9yKG1fY3NzSWQsIG1fc2VsZWN0b3IsIGVjKTsKICAgICB9CkBAIC00
NTEsMjYgKzQ1MSwyNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX29sZFNlbGVjdG9yOwogfTsK
IAotY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQ6OkFkZFJ1bGVBY3Rpb24gOiBwdWJsaWMgSW5zcGVj
dG9yQ1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24geworY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQ6
OkFkZFJ1bGVBY3Rpb24gZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQ1NTQWdlbnQ6OlN0eWxlU2hl
ZXRBY3Rpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFkZFJ1bGVBY3Rpb24pOwogcHVi
bGljOgogICAgIEFkZFJ1bGVBY3Rpb24oSW5zcGVjdG9yU3R5bGVTaGVldCogc3R5bGVTaGVldCwg
Y29uc3QgU3RyaW5nJiBzZWxlY3RvcikKLSAgICAgICAgOiBJbnNwZWN0b3JDU1NBZ2VudDo6U3R5
bGVTaGVldEFjdGlvbigiQWRkUnVsZSIsIHN0eWxlU2hlZXQpCisgICAgICAgIDogSW5zcGVjdG9y
Q1NTQWdlbnQ6OlN0eWxlU2hlZXRBY3Rpb24oQVNDSUlMaXRlcmFsKCJBZGRSdWxlIiksIHN0eWxl
U2hlZXQpCiAgICAgICAgICwgbV9zZWxlY3RvcihzZWxlY3RvcikKICAgICB7CiAgICAgfQogCi0g
ICAgdmlydHVhbCBib29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgdmlydHVhbCBi
b29sIHBlcmZvcm0oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBy
ZXR1cm4gcmVkbyhlYyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9u
Q29kZSYgZWMpCisgICAgdmlydHVhbCBib29sIHVuZG8oRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJy
aWRlCiAgICAgewogICAgICAgICByZXR1cm4gbV9zdHlsZVNoZWV0LT5kZWxldGVSdWxlKG1fbmV3
SWQsIGVjKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgcmVkbyhFeGNlcHRpb25Db2RlJiBl
YykKKyAgICB2aXJ0dWFsIGJvb2wgcmVkbyhFeGNlcHRpb25Db2RlJiBlYykgb3ZlcnJpZGUKICAg
ICB7CiAgICAgICAgIENTU1N0eWxlUnVsZSogY3NzU3R5bGVSdWxlID0gbV9zdHlsZVNoZWV0LT5h
ZGRSdWxlKG1fc2VsZWN0b3IsIGVjKTsKICAgICAgICAgaWYgKGVjKQpAQCAtNDkxLDcgKzQ5MSw3
IEBAIHByaXZhdGU6CiBDU1NTdHlsZVJ1bGUqIEluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0eWxl
UnVsZShDU1NSdWxlKiBydWxlKQogewogICAgIGlmIChydWxlLT50eXBlKCkgIT0gQ1NTUnVsZTo6
U1RZTEVfUlVMRSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUqPihydWxlKTsKIH0KIApAQCAtNTI1
LDggKzUyNSw4IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb24pCiAKIHZvaWQgSW5zcGVjdG9yQ1NT
QWdlbnQ6OmRpc2NhcmRBZ2VudCgpCiB7Ci0gICAgbV9kb21BZ2VudC0+c2V0RE9NTGlzdGVuZXIo
MCk7Ci0gICAgbV9kb21BZ2VudCA9IDA7CisgICAgbV9kb21BZ2VudC0+c2V0RE9NTGlzdGVuZXIo
bnVsbHB0cik7CisgICAgbV9kb21BZ2VudCA9IG51bGxwdHI7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
Q1NTQWdlbnQ6OnJlc2V0KCkKQEAgLTU1NSw3ICs1NTUsNyBAQCB2b2lkIEluc3BlY3RvckNTU0Fn
ZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQogCiB2b2lkIEluc3BlY3RvckNTU0FnZW50OjpkaXNh
YmxlKEVycm9yU3RyaW5nKikKIHsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3Bl
Y3RvckNTU0FnZW50KDApOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9y
Q1NTQWdlbnQobnVsbHB0cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6Om1lZGlhUXVl
cnlSZXN1bHRDaGFuZ2VkKCkKQEAgLTc1MCw3ICs3NTAsNyBAQCB2b2lkIEluc3BlY3RvckNTU0Fn
ZW50OjpnZXRJbmxpbmVTdHlsZXNGb3JOb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50
IG5vZAogCiAgICAgaW5saW5lU3R5bGUgPSBzdHlsZVNoZWV0LT5idWlsZE9iamVjdEZvclN0eWxl
KGVsZW1lbnQtPnN0eWxlKCkpOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpD
U1M6OkNTU1N0eWxlPiBhdHRyaWJ1dGVzID0gYnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVzU3R5bGUo
ZWxlbWVudCk7Ci0gICAgYXR0cmlidXRlc1N0eWxlID0gYXR0cmlidXRlcyA/IGF0dHJpYnV0ZXMu
cmVsZWFzZSgpIDogMDsKKyAgICBhdHRyaWJ1dGVzU3R5bGUgPSBhdHRyaWJ1dGVzID8gYXR0cmli
dXRlcy5yZWxlYXNlKCkgOiBudWxscHRyOwogfQogCiB2b2lkIEluc3BlY3RvckNTU0FnZW50Ojpn
ZXRDb21wdXRlZFN0eWxlRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2Rl
SWQsIFJlZlB0cjxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5cGVC
dWlsZGVyOjpDU1M6OkNTU0NvbXB1dGVkU3R5bGVQcm9wZXJ0eT4+JiBzdHlsZSkKQEAgLTc2MCw3
ICs3NjAsNyBAQCB2b2lkIEluc3BlY3RvckNTU0FnZW50OjpnZXRDb21wdXRlZFN0eWxlRm9yTm9k
ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBubwogICAgICAgICByZXR1cm47CiAKICAg
ICBSZWZQdHI8Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBjb21wdXRlZFN0eWxlSW5mbyA9
IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKGVsZW1lbnQsIHRydWUpOwotICAg
IFJlZlB0cjxJbnNwZWN0b3JTdHlsZT4gaW5zcGVjdG9yU3R5bGUgPSBJbnNwZWN0b3JTdHlsZTo6
Y3JlYXRlKEluc3BlY3RvckNTU0lkKCksIGNvbXB1dGVkU3R5bGVJbmZvLCAwKTsKKyAgICBSZWZQ
dHI8SW5zcGVjdG9yU3R5bGU+IGluc3BlY3RvclN0eWxlID0gSW5zcGVjdG9yU3R5bGU6OmNyZWF0
ZShJbnNwZWN0b3JDU1NJZCgpLCBjb21wdXRlZFN0eWxlSW5mbywgbnVsbHB0cik7CiAgICAgc3R5
bGUgPSBpbnNwZWN0b3JTdHlsZS0+YnVpbGRBcnJheUZvckNvbXB1dGVkU3R5bGUoKTsKIH0KIApA
QCAtOTYzLDkgKzk2Myw5IEBAIEluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxpbmVTdHlsZSogSW5z
cGVjdG9yQ1NTQWdlbnQ6OmFzSW5zcGVjdG9yU3R5bGVTaGVldChFbGVtCiB7CiAgICAgTm9kZVRv
SW5zcGVjdG9yU3R5bGVTaGVldDo6aXRlcmF0b3IgaXQgPSBtX25vZGVUb0luc3BlY3RvclN0eWxl
U2hlZXQuZmluZChlbGVtZW50KTsKICAgICBpZiAoaXQgPT0gbV9ub2RlVG9JbnNwZWN0b3JTdHls
ZVNoZWV0LmVuZCgpKSB7Ci0gICAgICAgIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlID0gZWxl
bWVudC0+aXNTdHlsZWRFbGVtZW50KCkgPyBlbGVtZW50LT5zdHlsZSgpIDogMDsKKyAgICAgICAg
Q1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUgPSBlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSA/
IGVsZW1lbnQtPnN0eWxlKCkgOiBudWxscHRyOwogICAgICAgICBpZiAoIXN0eWxlKQotICAgICAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBT
dHJpbmcgbmV3U3R5bGVTaGVldElkID0gU3RyaW5nOjpudW1iZXIobV9sYXN0U3R5bGVTaGVldElk
KyspOwogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlPiBp
bnNwZWN0b3JTdHlsZVNoZWV0ID0gSW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlOjpj
cmVhdGUobV9kb21BZ2VudC0+cGFnZUFnZW50KCksIG5ld1N0eWxlU2hlZXRJZCwgZWxlbWVudCwg
SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpTdHlsZVNoZWV0T3JpZ2luOjpSZWd1bGFyLCB0
aGlzKTsKQEAgLTk4MiwxMSArOTgyLDExIEBAIEVsZW1lbnQqIEluc3BlY3RvckNTU0FnZW50Ojpl
bGVtZW50Rm9ySWQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQogICAgIE5v
ZGUqIG5vZGUgPSBtX2RvbUFnZW50LT5ub2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUp
IHsKICAgICAgICAgKmVycm9yU3RyaW5nID0gIk5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZCI7
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAg
aWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAgICAgKmVycm9yU3RyaW5nID0gIk5v
dCBhbiBlbGVtZW50IG5vZGUiOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSk7CiB9CkBAIC0xMDMxLDEx
ICsxMDMxLDExIEBAIEluc3BlY3RvclN0eWxlU2hlZXQqIEluc3BlY3RvckNTU0FnZW50Ojp2aWFJ
bnNwZWN0b3JTdHlsZVNoZWV0KERvY3VtZW50KiBkb2N1bWVuCiB7CiAgICAgaWYgKCFkb2N1bWVu
dCkgewogICAgICAgICBBU1NFUlQoIWNyZWF0ZUlmQWJzZW50KTsKLSAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmICghZG9jdW1lbnQtPmlz
SFRNTERvY3VtZW50KCkgJiYgIWRvY3VtZW50LT5pc1NWR0RvY3VtZW50KCkpCi0gICAgICAgIHJl
dHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JT
dHlsZVNoZWV0PiBpbnNwZWN0b3JTdHlsZVNoZWV0ID0gbV9kb2N1bWVudFRvSW5zcGVjdG9yU3R5
bGVTaGVldC5nZXQoZG9jdW1lbnQpOwogICAgIGlmIChpbnNwZWN0b3JTdHlsZVNoZWV0IHx8ICFj
cmVhdGVJZkFic2VudCkKQEAgLTEwNTMsMjIgKzEwNTMsMjIgQEAgSW5zcGVjdG9yU3R5bGVTaGVl
dCogSW5zcGVjdG9yQ1NTQWdlbnQ6OnZpYUluc3BlY3RvclN0eWxlU2hlZXQoRG9jdW1lbnQqIGRv
Y3VtZW4KICAgICAgICAgZWxzZSBpZiAoZG9jdW1lbnQtPmJvZHkoKSkKICAgICAgICAgICAgIHRh
cmdldE5vZGUgPSBkb2N1bWVudC0+Ym9keSgpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIElubGluZVN0
eWxlT3ZlcnJpZGVTY29wZSBvdmVycmlkZVNjb3BlKGRvY3VtZW50KTsKICAgICAgICAgdGFyZ2V0
Tm9kZS0+YXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50LCBlYyk7CiAgICAgfQogICAgIGlmIChlYykK
LSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQ1NTU3R5
bGVTaGVldCogY3NzU3R5bGVTaGVldCA9IDA7CisgICAgQ1NTU3R5bGVTaGVldCogY3NzU3R5bGVT
aGVldCA9IG51bGxwdHI7CiAgICAgaWYgKHN0eWxlRWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQog
ICAgICAgICBjc3NTdHlsZVNoZWV0ID0gdG9IVE1MU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudC5n
ZXQoKSktPnNoZWV0KCk7CiAgICAgZWxzZSBpZiAoc3R5bGVFbGVtZW50LT5pc1NWR0VsZW1lbnQo
KSkKICAgICAgICAgY3NzU3R5bGVTaGVldCA9IHRvU1ZHU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVu
dC5nZXQoKSktPnNoZWV0KCk7CiAKICAgICBpZiAoIWNzc1N0eWxlU2hlZXQpCi0gICAgICAgIHJl
dHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFN0cmluZyBpZCA9IFN0cmlu
Zzo6bnVtYmVyKG1fbGFzdFN0eWxlU2hlZXRJZCsrKTsKICAgICBpbnNwZWN0b3JTdHlsZVNoZWV0
ID0gSW5zcGVjdG9yU3R5bGVTaGVldDo6Y3JlYXRlKG1fZG9tQWdlbnQtPnBhZ2VBZ2VudCgpLCBp
ZCwgY3NzU3R5bGVTaGVldCwgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpTdHlsZVNoZWV0
T3JpZ2luOjpJbnNwZWN0b3IsIEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVSTFN0cmluZyhk
b2N1bWVudCksIHRoaXMpOwpAQCAtMTA4Myw3ICsxMDgzLDcgQEAgSW5zcGVjdG9yU3R5bGVTaGVl
dCogSW5zcGVjdG9yQ1NTQWdlbnQ6OmFzc2VydFN0eWxlU2hlZXRGb3JJZChFcnJvclN0cmluZyog
ZXJyb3IKICAgICBJZFRvSW5zcGVjdG9yU3R5bGVTaGVldDo6aXRlcmF0b3IgaXQgPSBtX2lkVG9J
bnNwZWN0b3JTdHlsZVNoZWV0LmZpbmQoc3R5bGVTaGVldElkKTsKICAgICBpZiAoaXQgPT0gbV9p
ZFRvSW5zcGVjdG9yU3R5bGVTaGVldC5lbmQoKSkgewogICAgICAgICAqZXJyb3JTdHJpbmcgPSAi
Tm8gc3R5bGUgc2hlZXQgd2l0aCBnaXZlbiBpZCBmb3VuZCI7Ci0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgcmV0dXJuIGl0LT52YWx1ZS5nZXQo
KTsKIH0KQEAgLTExMDYsMjUgKzExMDYsMjUgQEAgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NT
OjpTdHlsZVNoZWV0T3JpZ2luOjpFbnVtIEluc3BlY3RvckNTU0FnZW50OjpkZXRlY3RPcmkKIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpDU1NSdWxlPiBJbnNwZWN0b3JD
U1NBZ2VudDo6YnVpbGRPYmplY3RGb3JSdWxlKFN0eWxlUnVsZSogc3R5bGVSdWxlLCBTdHlsZVJl
c29sdmVyJiBzdHlsZVJlc29sdmVyKQogewogICAgIGlmICghc3R5bGVSdWxlKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAvLyBTdHlsZVJ1bGVzIHJl
dHVybmVkIGJ5IFN0eWxlUmVzb2x2ZXI6OnN0eWxlUnVsZXNGb3JFbGVtZW50IGxhY2sgcGFyZW50
IHBvaW50ZXJzIHNpbmNlIHRoYXQgaW5mb21hdGlvbiBpcyBub3QgY2hlYXBseSBhdmFpbGFibGUu
CiAgICAgLy8gU2luY2UgdGhlIGluc3BlY3RvciB3YW50cyB0byB3YWxrIHRoZSBwYXJlbnQgY2hh
aW4sIHdlIGNvbnN0cnVjdCB0aGUgZnVsbCB3cmFwcGVycyBoZXJlLgogICAgIENTU1N0eWxlUnVs
ZSogY3Nzb21XcmFwcGVyID0gc3R5bGVSZXNvbHZlci5pbnNwZWN0b3JDU1NPTVdyYXBwZXJzKCku
Z2V0V3JhcHBlckZvclJ1bGVJblNoZWV0cyhzdHlsZVJ1bGUsIHN0eWxlUmVzb2x2ZXIuZG9jdW1l
bnQoKS5zdHlsZVNoZWV0Q29sbGVjdGlvbigpKTsKICAgICBpZiAoIWNzc29tV3JhcHBlcikKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIEluc3BlY3RvclN0
eWxlU2hlZXQqIGluc3BlY3RvclN0eWxlU2hlZXQgPSBiaW5kU3R5bGVTaGVldChjc3NvbVdyYXBw
ZXItPnBhcmVudFN0eWxlU2hlZXQoKSk7Ci0gICAgcmV0dXJuIGluc3BlY3RvclN0eWxlU2hlZXQg
PyBpbnNwZWN0b3JTdHlsZVNoZWV0LT5idWlsZE9iamVjdEZvclJ1bGUoY3Nzb21XcmFwcGVyKSA6
IDA7CisgICAgcmV0dXJuIGluc3BlY3RvclN0eWxlU2hlZXQgPyBpbnNwZWN0b3JTdHlsZVNoZWV0
LT5idWlsZE9iamVjdEZvclJ1bGUoY3Nzb21XcmFwcGVyKSA6IG51bGxwdHI7CiB9CiAKIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpDU1NSdWxlPiBJbnNwZWN0b3JDU1NB
Z2VudDo6YnVpbGRPYmplY3RGb3JSdWxlKENTU1N0eWxlUnVsZSogcnVsZSkKIHsKICAgICBpZiAo
IXJ1bGUpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
IEFTU0VSVChydWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkpOwogICAgIEluc3BlY3RvclN0eWxlU2hl
ZXQqIGluc3BlY3RvclN0eWxlU2hlZXQgPSBiaW5kU3R5bGVTaGVldChydWxlLT5wYXJlbnRTdHls
ZVNoZWV0KCkpOwotICAgIHJldHVybiBpbnNwZWN0b3JTdHlsZVNoZWV0ID8gaW5zcGVjdG9yU3R5
bGVTaGVldC0+YnVpbGRPYmplY3RGb3JSdWxlKHJ1bGUpIDogMDsKKyAgICByZXR1cm4gaW5zcGVj
dG9yU3R5bGVTaGVldCA/IGluc3BlY3RvclN0eWxlU2hlZXQtPmJ1aWxkT2JqZWN0Rm9yUnVsZShy
dWxlKSA6IG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6
QXJyYXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpDU1NSdWxlPj4gSW5zcGVjdG9yQ1NT
QWdlbnQ6OmJ1aWxkQXJyYXlGb3JSdWxlTGlzdChDU1NSdWxlTGlzdCogcnVsZUxpc3QpCkBAIC0x
MTc1LDE3ICsxMTc1LDE3IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6QXJy
YXk8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6Q1NTOjpSdWxlTWF0Y2g+CiBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkNTUzo6Q1NTU3R5bGU+IEluc3BlY3RvckNTU0FnZW50Ojpi
dWlsZE9iamVjdEZvckF0dHJpYnV0ZXNTdHlsZShFbGVtZW50KiBlbGVtZW50KQogewogICAgIGlm
ICghZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgIC8vIEZJWE1FOiBVZ2xpbmVzcyBiZWxvdy4KICAgICBT
dHlsZVByb3BlcnRpZXMqIGF0dHJpYnV0ZVN0eWxlID0gY29uc3RfY2FzdDxTdHlsZVByb3BlcnRp
ZXMqPih0b1N0eWxlZEVsZW1lbnQoZWxlbWVudCktPnByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxl
KCkpOwogICAgIGlmICghYXR0cmlidXRlU3R5bGUpCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KGF0dHJpYnV0ZVN0eWxlLT5pc011dGFibGUoKSk7CiAgICAgTXV0YWJsZVN0eWxlUHJvcGVydGll
cyogbXV0YWJsZUF0dHJpYnV0ZVN0eWxlID0gc3RhdGljX2Nhc3Q8TXV0YWJsZVN0eWxlUHJvcGVy
dGllcyo+KGF0dHJpYnV0ZVN0eWxlKTsKIAotICAgIFJlZlB0cjxJbnNwZWN0b3JTdHlsZT4gaW5z
cGVjdG9yU3R5bGUgPSBJbnNwZWN0b3JTdHlsZTo6Y3JlYXRlKEluc3BlY3RvckNTU0lkKCksIG11
dGFibGVBdHRyaWJ1dGVTdHlsZS0+ZW5zdXJlQ1NTU3R5bGVEZWNsYXJhdGlvbigpLCAwKTsKKyAg
ICBSZWZQdHI8SW5zcGVjdG9yU3R5bGU+IGluc3BlY3RvclN0eWxlID0gSW5zcGVjdG9yU3R5bGU6
OmNyZWF0ZShJbnNwZWN0b3JDU1NJZCgpLCBtdXRhYmxlQXR0cmlidXRlU3R5bGUtPmVuc3VyZUNT
U1N0eWxlRGVjbGFyYXRpb24oKSwgbnVsbHB0cik7CiAgICAgcmV0dXJuIGluc3BlY3RvclN0eWxl
LT5idWlsZE9iamVjdEZvclN0eWxlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IGI2NTRmNzAu
LmVkMmNmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtNTgsMjUgKzU4LDI1IEBAIHB1YmxpYzoKICAg
ICBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdl
KiwgUGFzc093blB0cjxTZXR0aW5ncz4pOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwoKTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgd2luZG93T2JqZWN0Q2xlYXJl
ZCgpOwotICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZExvYWRlZCgpOworICAgIHZpcnR1YWwgdm9p
ZCB3aW5kb3dPYmplY3RDbGVhcmVkKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGZyb250
ZW5kTG9hZGVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGZs
b2F0IHgsIGZsb2F0IHkpOworICAgIHZpcnR1YWwgdm9pZCBtb3ZlV2luZG93QnkoZmxvYXQgeCwg
ZmxvYXQgeSkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRl
KERvY2tTaWRlKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlQXR0YWNoZWRXaW5kb3dIZWlnaHQo
dW5zaWduZWQpOwotICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd1dpZHRoKHVu
c2lnbmVkKTsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJs
KTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmly
dHVhbCB2b2lkIHNhdmUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCkg
eyB9Ci0gICAgdmlydHVhbCB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKERvY2tTaWRlKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlQXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWdu
ZWQpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd1dpZHRo
KHVuc2lnbmVkKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0
IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpICBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzYXZlKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwg
dm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGUgeyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KERvY2tTaWRlKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRldGFjaFdpbmRvdygpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZW5kTWVzc2Fn
ZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworICAgIHZpcnR1YWwgdm9pZCBzZW5k
TWVzc2FnZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlOwogCi0gICAg
dmlydHVhbCBib29sIGlzVW5kZXJUZXN0KCk7CisgICAgdmlydHVhbCBib29sIGlzVW5kZXJUZXN0
KCkgb3ZlcnJpZGU7CiAKICAgICBib29sIGNhbkF0dGFjaFdpbmRvdygpOwogICAgIHZvaWQgc2V0
RG9ja2luZ1VuYXZhaWxhYmxlKGJvb2wpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>