<?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>84730</bug_id>
          
          <creation_ts>2012-04-24 08:27:02 -0700</creation_ts>
          <short_desc>Web Inspector: a bunch of heap profiler cleanups</short_desc>
          <delta_ts>2012-04-24 08:38:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>608690</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-24 08:27:02 -0700</bug_when>
    <thetext>Pass provider as a parameter to HeapSnapshotGridNode constructor, remove dead code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608700</commentid>
    <comment_count>1</comment_count>
      <attachid>138567</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-24 08:30:25 -0700</bug_when>
    <thetext>Created attachment 138567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608705</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-24 08:38:13 -0700</bug_when>
    <thetext>Committed r115063: &lt;http://trac.webkit.org/changeset/115063&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138567</attachid>
            <date>2012-04-24 08:30:25 -0700</date>
            <delta_ts>2012-04-24 08:36:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84730-20120424193024.patch</filename>
            <type>text/plain</type>
            <size>21676</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5ODQwMGIyYTc3MmI0
MGNlYWNmZjc3ZTk1OWQ5NjczNzc4YWQ5ZS4uMDVlMmQxMjVlM2JhYTM4M2VlN2Q4ZGJmNmQwNzIz
NDdlNjNlMGE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA0LTI0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGEgYnVuY2ggb2YgaGVhcCBwcm9maWxlciBjbGVhbnVwcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ3MzAKKworICAgICAgICAtIEhlYXBTbmFw
c2hvdFByb3ZpZGVyUHJveHkgcGFzc2VkIGV4cGxpY2l0ZWx5IGFzIGEgcGFyYW1ldGVyIHRvIEhl
YXBTbmFwc2hvdEdyaWROb2RlCisgICAgICAgIGNvbnN0cnVjdG9yCisgICAgICAgIC0gUmVtb3Zl
ZCBkZWFkIGNvZGUKKyAgICAgICAgLSBSZW1vdmVkIHVudXNlZCBwYXJhbWV0ZXJzCisgICAgICAg
IC0gQWRkZWQgbW9yZSBjbG9zdXJlIGNvbXBpbGVyIGFubm90YXRpb25zCisgICAgICAgIC0gRXh0
cmFjdGVkIGNvZGUgZmluZGluZyBjeWNsZWQgYW1vbmcgbm9kZSBhbmNlc3RvcnMgaW50byBhIHNl
cGFyYXRlIG1ldGhvZAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZS5jcmVhdGVFZGdlc1Byb3ZpZGVyKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLmNyZWF0ZVJldGFp
bmluZ0VkZ2VzUHJvdmlkZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5w
cm90b3R5cGUuY3JlYXRlTm9kZXNQcm92aWRlckZvckRvbWluYXRvcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90RWRnZXNQcm92aWRlcik6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9IZWFwU25hcHNob3REYXRhR3JpZHMuanM6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9IZWFwU25hcHNob3RHcmlkTm9kZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90R3JpZE5vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdEdlbmVyaWNPYmplY3ROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3RPYmplY3ROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RPYmplY3RO
b2RlLnByb3RvdHlwZS5fZmluZEFuY2VzdG9yV2l0aFNhbWVTbmFwc2hvdE5vZGVJZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3RDb25zdHJ1Y3Rvck5vZGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdERpZmZOb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3REaWZmTm9kZS5fY3JlYXRlUHJvdmlkZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdERvbWluYXRvck9iamVjdE5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvSGVhcFNuYXBzaG90UHJveHkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90V29ya2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RQcm94
eS5wcm90b3R5cGUuY3JlYXRlTm9kZXNQcm92aWRlckZvckRvbWluYXRvcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanM6CisKIDIwMTItMDQtMjQgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
cmVtb3ZlIHB1cmUgZGVsZWdhdGlvbiBjb2RlIGZyb20gRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25h
cHNob3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hv
dC5qcwppbmRleCBhOTkwM2E4NzU0YmE1MGFlNDVmZDYzNDY2YWM1ZGYzMGNhM2Q1NjRlLi5kNDc3
OWExMmFjODA1ZTc0NWNhZmVhNzE3YWQ5YWVmOWU4YjI2MzUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwpAQCAtMTYxOSwxMyAr
MTYxOSwxMyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAgICBj
cmVhdGVFZGdlc1Byb3ZpZGVyOiBmdW5jdGlvbihub2RlSW5kZXgsIGZpbHRlcikKICAgICB7CiAg
ICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2RlKHRoaXMs
IG5vZGVJbmRleCk7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dEVkZ2VzUHJvdmlkZXIodGhpcywgbm9kZUluZGV4LCB0aGlzLl9wYXJzZUZpbHRlcihmaWx0ZXIp
LCBub2RlLmVkZ2VzKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90RWRnZXNQcm92aWRlcih0aGlzLCB0aGlzLl9wYXJzZUZpbHRlcihmaWx0ZXIpLCBub2RlLmVk
Z2VzKTsKICAgICB9LAogCiAgICAgY3JlYXRlUmV0YWluaW5nRWRnZXNQcm92aWRlcjogZnVuY3Rp
b24obm9kZUluZGV4LCBmaWx0ZXIpCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZSh0aGlzLCBub2RlSW5kZXgpOwotICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RFZGdlc1Byb3ZpZGVyKHRoaXMsIG5vZGVJ
bmRleCwgdGhpcy5fcGFyc2VGaWx0ZXIoZmlsdGVyKSwgbm9kZS5yZXRhaW5lcnMpOworICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RFZGdlc1Byb3ZpZGVyKHRoaXMs
IHRoaXMuX3BhcnNlRmlsdGVyKGZpbHRlciksIG5vZGUucmV0YWluZXJzKTsKICAgICB9LAogCiAg
ICAgY3JlYXRlQWRkZWROb2Rlc1Byb3ZpZGVyOiBmdW5jdGlvbihiYXNlU25hcHNob3RJZCwgY2xh
c3NOYW1lKQpAQCAtMTY0MCwyMCArMTY0MCwxNSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90Tm9kZXNQcm92aWRlcih0aGlzLCBudWxsLCBub2RlSW5kZXhlcyk7CiAgICAgfSwKIAotICAg
IGNyZWF0ZU5vZGVzUHJvdmlkZXI6IGZ1bmN0aW9uKGZpbHRlcikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGVzUHJvdmlkZXIodGhpcywgdGhp
cy5fcGFyc2VGaWx0ZXIoZmlsdGVyKSk7Ci0gICAgfSwKLQogICAgIGNyZWF0ZU5vZGVzUHJvdmlk
ZXJGb3JDbGFzczogZnVuY3Rpb24oY2xhc3NOYW1lLCBhZ2dyZWdhdGVzS2V5KQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZXNQcm92aWRlcih0
aGlzLCBudWxsLCB0aGlzLmFnZ3JlZ2F0ZXMoZmFsc2UsIGFnZ3JlZ2F0ZXNLZXkpW2NsYXNzTmFt
ZV0uaWR4cyk7CiAgICAgfSwKIAotICAgIGNyZWF0ZU5vZGVzUHJvdmlkZXJGb3JEb21pbmF0b3I6
IGZ1bmN0aW9uKG5vZGVJbmRleCwgZmlsdGVyKQorICAgIGNyZWF0ZU5vZGVzUHJvdmlkZXJGb3JE
b21pbmF0b3I6IGZ1bmN0aW9uKG5vZGVJbmRleCkKICAgICB7CiAgICAgICAgIHZhciBub2RlID0g
bmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2RlKHRoaXMsIG5vZGVJbmRleCk7Ci0gICAg
ICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGVzUHJvdmlkZXIodGhp
cywgdGhpcy5fcGFyc2VGaWx0ZXIoZmlsdGVyKSwgdGhpcy5fZG9taW5hdGVkTm9kZXNPZk5vZGUo
bm9kZSkpOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2Rl
c1Byb3ZpZGVyKHRoaXMsIG51bGwsIHRoaXMuX2RvbWluYXRlZE5vZGVzT2ZOb2RlKG5vZGUpKTsK
ICAgICB9LAogCiAgICAgdXBkYXRlU3RhdGljRGF0YTogZnVuY3Rpb24oKQpAQCAtMTc5Niw3ICsx
NzkxLDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEZpbHRlcmVkT3JkZXJlZEl0ZXJhdG9y
LnByb3RvdHlwZS5jcmVhdGVDb21wYXJhdG9yID0gZnUKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4
dGVuZHMge1dlYkluc3BlY3Rvci5IZWFwU25hcHNob3RGaWx0ZXJlZE9yZGVyZWRJdGVyYXRvcn0K
ICAqLwotV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEVkZ2VzUHJvdmlkZXIgPSBmdW5jdGlvbihz
bmFwc2hvdCwgbm9kZUluZGV4LCBmaWx0ZXIsIGVkZ2VzSXRlcikKK1dlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RFZGdlc1Byb3ZpZGVyID0gZnVuY3Rpb24oc25hcHNob3QsIGZpbHRlciwgZWRnZXNJ
dGVyKQogewogICAgIHRoaXMuc25hcHNob3QgPSBzbmFwc2hvdDsKICAgICBXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90RmlsdGVyZWRPcmRlcmVkSXRlcmF0b3IuY2FsbCh0aGlzLCBlZGdlc0l0ZXIs
IGZpbHRlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCmluZGV4IDk1MGYwZTkxN2Y3OWI4ZGYwZjEy
YWIyNmI2MGE2ODUyZTk4MzIwMjguLjJmODIzYzQwNDQ2YTA0NTgxNDQzMDdlODU0N2U3NjQ2MjFj
NzI3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVh
cFNuYXBzaG90RGF0YUdyaWRzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCkBAIC0zMDEsNDMgKzMwMSw2IEBAIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RDb250YWlubWVudERhdGFHcmlkID0gZnVuY3Rpb24oY29sdW1u
cykKIH0KIAogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnRhaW5tZW50RGF0YUdyaWQucHJv
dG90eXBlID0gewotICAgIGV4cGFuZFJvdXRlOiBmdW5jdGlvbihyb3V0ZSkKLSAgICB7Ci0gICAg
ICAgIGZ1bmN0aW9uIG5leHRTdGVwKHBhcmVudCwgaG9wSW5kZXgpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmIChob3BJbmRleCA+PSByb3V0ZS5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBw
YXJlbnQuZWxlbWVudC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKHRydWUpOwotICAgICAgICAgICAg
ICAgIHBhcmVudC5zZWxlY3QoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB2YXIgbm9kZUluZGV4ID0gcm91dGVbaG9wSW5kZXhdOwotICAgICAg
ICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gcGFyZW50LmNoaWxkcmVuW2ldOwot
ICAgICAgICAgICAgICAgIGlmIChjaGlsZC5zbmFwc2hvdE5vZGVJbmRleCA9PT0gbm9kZUluZGV4
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5leHBhbmRlZCkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG5leHRTdGVwKGNoaWxkLCBob3BJbmRleCArIDEpOwotICAgICAgICAgICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFmdGVyRXhw
YW5kKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGlsZC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3B1bGF0ZSBjb21wbGV0ZSIsIGFmdGVy
RXhwYW5kLCBudWxsKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGFzdENoaWxk
ID0gY2hpbGQuY2hpbGRyZW5bY2hpbGQuY2hpbGRyZW4ubGVuZ3RoIC0gMV07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCFsYXN0Q2hpbGQuc2hvd0FsbCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbmV4dFN0ZXAoY2hpbGQsIGhvcEluZGV4ICsgMSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNoaWxkLmFkZEV2ZW50TGlzdGVuZXIoInBvcHVsYXRlIGNvbXBsZXRlIiwgYWZ0ZXJFeHBh
bmQsIG51bGwpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Q2hpbGQuc2hv
d0FsbC5jbGljaygpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmFkZEV2ZW50TGlz
dGVuZXIoInBvcHVsYXRlIGNvbXBsZXRlIiwgYWZ0ZXJFeHBhbmQsIG51bGwpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgY2hpbGQuZXhwYW5kKCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIG5leHRTdGVwKHRoaXMucm9vdE5vZGUoKSwgMCk7Ci0gICAg
fSwKLQogICAgIHNldERhdGFTb3VyY2U6IGZ1bmN0aW9uKHNuYXBzaG90Vmlldywgc25hcHNob3Qs
IG5vZGVJbmRleCkKICAgICB7CiAgICAgICAgIHRoaXMuc25hcHNob3RWaWV3ID0gc25hcHNob3RW
aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFw
U25hcHNob3RHcmlkTm9kZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdEdyaWROb2Rlcy5qcwppbmRleCA1MDE5OWRiYmIyMDg0Nzk4Yzc3NWFkODVk
YjFmZDRiMjdmNjYxZGJjLi4wYWM3NmUyZDI2ZTJiMGE3NjM5Y2Y5YmMzZmNjOTgxODAyNTZlOGFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFw
c2hvdEdyaWROb2Rlcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdEdyaWROb2Rlcy5qcwpAQCAtMzMsMTQgKzMzLDE1IEBACiAgKiBAZXh0ZW5k
cyB7V2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZX0KICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWR9IHRyZWUKICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGFz
Q2hpbGRyZW4KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3ZpZGVyUHJv
eHl8V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEl0ZXJhdG9yc1R1cGxlfSBwcm92aWRlcgogICov
Ci1XZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90R3JpZE5vZGUgPSBmdW5jdGlvbih0cmVlLCBoYXND
aGlsZHJlbikKK1dlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlkTm9kZSA9IGZ1bmN0aW9uKHRy
ZWUsIGhhc0NoaWxkcmVuLCBwcm92aWRlcikKIHsKICAgICBXZWJJbnNwZWN0b3IuRGF0YUdyaWRO
b2RlLmNhbGwodGhpcywgbnVsbCwgaGFzQ2hpbGRyZW4pOwogICAgIC8qKgotICAgICAqIEB0eXBl
IHtXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJvdmlkZXJQcm94eX0KKyAgICAgKiBAdHlwZSB7
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3ZpZGVyUHJveHl8V2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdEl0ZXJhdG9yc1R1cGxlfQogICAgICAqLwotICAgIHRoaXMuX3Byb3ZpZGVyID0gbnVs
bDsKKyAgICB0aGlzLl9wcm92aWRlciA9IHByb3ZpZGVyOwogICAgIHRoaXMuX2RhdGFHcmlkID0g
dHJlZTsKICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInBvcHVsYXRlIiwgdGhpcy5fcG9wdWxh
dGUsIHRoaXMpOwogfQpAQCAtMjIwLDEwICsyMjEsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdEdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWRO
b2QKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdEdyaWROb2RlfQorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJv
dmlkZXJQcm94eX0gcHJvdmlkZXIKICAqLwotV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEdlbmVy
aWNPYmplY3ROb2RlID0gZnVuY3Rpb24odHJlZSwgbm9kZSkKK1dlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RHZW5lcmljT2JqZWN0Tm9kZSA9IGZ1bmN0aW9uKHRyZWUsIG5vZGUsIHByb3ZpZGVyKQog
ewotICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlkTm9kZS5jYWxsKHRoaXMsIHRyZWUs
IGZhbHNlKTsKKyAgICBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90R3JpZE5vZGUuY2FsbCh0aGlz
LCB0cmVlLCBmYWxzZSwgcHJvdmlkZXIpOwogICAgIC8vIG5vZGUgaXMgbnVsbCBmb3IgRGF0YUdy
aWQgcm9vdCBub2Rlcy4KICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTM5MSwz
MyArMzkzLDUxIEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9kZS5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkhlCiAvKioKICAqIEBjb25zdHJ1Y3Rv
cgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9k
ZX0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWR9
IHRyZWUKKyAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNGcm9tQmFzZVNuYXBzaG90CiAgKi8KIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RPYmplY3ROb2RlID0gZnVuY3Rpb24odHJlZSwgaXNGcm9tQmFz
ZVNuYXBzaG90LCBlZGdlLCBwYXJlbnRHcmlkTm9kZSkKIHsKLSAgICBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90R2VuZXJpY09iamVjdE5vZGUuY2FsbCh0aGlzLCB0cmVlLCBlZGdlLm5vZGUpOwor
ICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9kZS5jYWxsKHRoaXMs
IHRyZWUsIGVkZ2Uubm9kZSwKKyAgICAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE9iamVj
dE5vZGUuX2NyZWF0ZVByb3ZpZGVyKGlzRnJvbUJhc2VTbmFwc2hvdCwgZWRnZS5ub2RlSW5kZXgs
IHRyZWUpKTsKICAgICB0aGlzLl9yZWZlcmVuY2VOYW1lID0gZWRnZS5uYW1lOwogICAgIHRoaXMu
X3JlZmVyZW5jZVR5cGUgPSBlZGdlLnR5cGU7CiAgICAgdGhpcy5fcHJvcGVydHlBY2Nlc3NvciA9
IGVkZ2UucHJvcGVydHlBY2Nlc3NvcjsKICAgICB0aGlzLl9kaXN0YW5jZVRvV2luZG93ID0gZWRn
ZS5kaXN0YW5jZVRvV2luZG93OwogICAgIHRoaXMuc2hvd1JldGFpbmluZ0VkZ2VzID0gdHJlZS5z
aG93UmV0YWluaW5nRWRnZXM7CiAgICAgdGhpcy5faXNGcm9tQmFzZVNuYXBzaG90ID0gaXNGcm9t
QmFzZVNuYXBzaG90OwotICAgIHRoaXMuX3Byb3ZpZGVyID0gdGhpcy5fY3JlYXRlUHJvdmlkZXIo
IWlzRnJvbUJhc2VTbmFwc2hvdCA/IHRyZWUuc25hcHNob3QgOiB0cmVlLmJhc2VTbmFwc2hvdCwg
ZWRnZS5ub2RlSW5kZXgsIHRyZWUpOwotICAgIHRoaXMudXBkYXRlSGFzQ2hpbGRyZW4ocGFyZW50
R3JpZE5vZGUpOworCisgICAgdGhpcy5fcGFyZW50R3JpZE5vZGUgPSBwYXJlbnRHcmlkTm9kZTsK
KyAgICB0aGlzLl9jeWNsZWRXaXRoQW5jZXN0b3JHcmlkTm9kZSA9IHRoaXMuX2ZpbmRBbmNlc3Rv
cldpdGhTYW1lU25hcHNob3ROb2RlSWQoKTsKKyAgICBpZiAoIXRoaXMuX2N5Y2xlZFdpdGhBbmNl
c3RvckdyaWROb2RlKQorICAgICAgICB0aGlzLnVwZGF0ZUhhc0NoaWxkcmVuKCk7Cit9CisKK1dl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3RPYmplY3ROb2RlLl9jcmVhdGVQcm92aWRlciA9IGZ1bmN0
aW9uKGlzRnJvbUJhc2VTbmFwc2hvdCwgbm9kZUluZGV4LCB0cmVlKQoreworICAgIHZhciBzaG93
SGlkZGVuRGF0YSA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zaG93SGVhcFNuYXBzaG90T2JqZWN0
c0hpZGRlblByb3BlcnRpZXMuZ2V0KCk7CisgICAgdmFyIGZpbHRlciA9ICJmdW5jdGlvbihlZGdl
KSB7XG4iICsKKyAgICAgICAgIiAgICByZXR1cm4gIWVkZ2UuaXNJbnZpc2libGVcbiIgKworICAg
ICAgICAiICAgICAgICAmJiAoIiArICF0cmVlLnNob3dSZXRhaW5pbmdFZGdlcyArICIgfHwgKGVk
Z2Uubm9kZS5pZCAhPT0gMSAmJiAhZWRnZS5ub2RlLmlzU3ludGhldGljKSlcbiIgKworICAgICAg
ICAiICAgICAgICAmJiAoIiArIHNob3dIaWRkZW5EYXRhICsgIiB8fCAoIWVkZ2UuaXNIaWRkZW4g
JiYgIWVkZ2Uubm9kZS5pc0hpZGRlbikpO1xuIiArCisgICAgICAgICJ9XG4iOworICAgIHZhciBz
bmFwc2hvdCA9IGlzRnJvbUJhc2VTbmFwc2hvdCA/IHRyZWUuYmFzZVNuYXBzaG90IDogdHJlZS5z
bmFwc2hvdDsKKyAgICBpZiAodHJlZS5zaG93UmV0YWluaW5nRWRnZXMpCisgICAgICAgIHJldHVy
biBzbmFwc2hvdC5jcmVhdGVSZXRhaW5pbmdFZGdlc1Byb3ZpZGVyKG5vZGVJbmRleCwgZmlsdGVy
KTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBzbmFwc2hvdC5jcmVhdGVFZGdlc1Byb3ZpZGVy
KG5vZGVJbmRleCwgZmlsdGVyKTsKIH0KIAogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE9iamVj
dE5vZGUucHJvdG90eXBlID0gewotICAgIHVwZGF0ZUhhc0NoaWxkcmVuOiBmdW5jdGlvbihwYXJl
bnRHcmlkTm9kZSkKKyAgICBfZmluZEFuY2VzdG9yV2l0aFNhbWVTbmFwc2hvdE5vZGVJZDogZnVu
Y3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fcGFyZW50R3JpZE5vZGUgPSBwYXJlbnRHcmlk
Tm9kZTsKLSAgICAgICAgdmFyIGFuY2VzdG9yID0gcGFyZW50R3JpZE5vZGU7CisgICAgICAgIHZh
ciBhbmNlc3RvciA9IHRoaXMuX3BhcmVudEdyaWROb2RlOwogICAgICAgICB3aGlsZSAoYW5jZXN0
b3IpIHsKLSAgICAgICAgICAgIGlmIChhbmNlc3Rvci5zbmFwc2hvdE5vZGVJZCA9PT0gdGhpcy5z
bmFwc2hvdE5vZGVJZCkgewotICAgICAgICAgICAgICAgIHRoaXMuX2N5Y2xlZFdpdGhBbmNlc3Rv
ckdyaWROb2RlID0gYW5jZXN0b3I7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgaWYgKGFuY2VzdG9yLnNuYXBzaG90Tm9kZUlkID09PSB0aGlzLnNu
YXBzaG90Tm9kZUlkKQorICAgICAgICAgICAgICAgIHJldHVybiBhbmNlc3RvcjsKICAgICAgICAg
ICAgIGFuY2VzdG9yID0gYW5jZXN0b3IuX3BhcmVudEdyaWROb2RlOwogICAgICAgICB9Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9kZS5wcm90b3R5cGUu
dXBkYXRlSGFzQ2hpbGRyZW4uY2FsbCh0aGlzKTsKKyAgICAgICAgcmV0dXJuIG51bGw7CiAgICAg
fSwKIAogICAgIF9jcmVhdGVDaGlsZE5vZGU6IGZ1bmN0aW9uKGl0ZW0pCkBAIC00MjUsMjAgKzQ0
NSw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RPYmplY3ROb2RlLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90T2JqZWN0Tm9kZSh0
aGlzLl9kYXRhR3JpZCwgdGhpcy5faXNGcm9tQmFzZVNuYXBzaG90LCBpdGVtLCB0aGlzKTsKICAg
ICB9LAogCi0gICAgX2NyZWF0ZVByb3ZpZGVyOiBmdW5jdGlvbihzbmFwc2hvdCwgbm9kZUluZGV4
LCB0cmVlKQotICAgIHsKLSAgICAgICAgdmFyIHNob3dIaWRkZW5EYXRhID0gV2ViSW5zcGVjdG9y
LnNldHRpbmdzLnNob3dIZWFwU25hcHNob3RPYmplY3RzSGlkZGVuUHJvcGVydGllcy5nZXQoKTsK
LSAgICAgICAgdmFyIGZpbHRlciA9ICJmdW5jdGlvbihlZGdlKSB7XG4iICsKLSAgICAgICAgICAg
ICIgICAgcmV0dXJuICFlZGdlLmlzSW52aXNpYmxlXG4iICsKLSAgICAgICAgICAgICIgICAgICAg
ICYmICgiICsgIXRoaXMuc2hvd1JldGFpbmluZ0VkZ2VzICsgIiB8fCAoZWRnZS5ub2RlLmlkICE9
PSAxICYmICFlZGdlLm5vZGUuaXNTeW50aGV0aWMpKVxuIiArCi0gICAgICAgICAgICAiICAgICAg
ICAmJiAoIiArIHNob3dIaWRkZW5EYXRhICsgIiB8fCAoIWVkZ2UuaXNIaWRkZW4gJiYgIWVkZ2Uu
bm9kZS5pc0hpZGRlbikpO1xuIiArCi0gICAgICAgICAgICAifVxuIjsKLSAgICAgICAgaWYgKHRy
ZWUuc2hvd1JldGFpbmluZ0VkZ2VzKQotICAgICAgICAgICAgcmV0dXJuIHNuYXBzaG90LmNyZWF0
ZVJldGFpbmluZ0VkZ2VzUHJvdmlkZXIobm9kZUluZGV4LCBmaWx0ZXIpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICByZXR1cm4gc25hcHNob3QuY3JlYXRlRWRnZXNQcm92aWRlcihub2RlSW5k
ZXgsIGZpbHRlcik7Ci0gICAgfSwKLQogICAgIF9jaGlsZEhhc2hGb3JFbnRpdHk6IGZ1bmN0aW9u
KGVkZ2UpCiAgICAgewogICAgICAgICB2YXIgcHJlZml4ID0gdGhpcy5zaG93UmV0YWluaW5nRWRn
ZXMgPyBlZGdlLm5vZGUuaWQgKyAiIyIgOiAiIjsKQEAgLTUxOCwyOSArNTI0LDI5IEBAIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RPYmplY3ROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzCiAgKi8KIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RJbnN0YW5j
ZU5vZGUgPSBmdW5jdGlvbih0cmVlLCBiYXNlU25hcHNob3QsIHNuYXBzaG90LCBub2RlKQogewot
ICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9kZS5jYWxsKHRoaXMs
IHRyZWUsIG5vZGUpOworICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0
Tm9kZS5jYWxsKHRoaXMsIHRyZWUsIG5vZGUsCisgICAgICAgIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RJbnN0YW5jZU5vZGUuX2NyZWF0ZVByb3ZpZGVyKGJhc2VTbmFwc2hvdCB8fCBzbmFwc2hv
dCwgbm9kZS5ub2RlSW5kZXgpKTsKICAgICB0aGlzLl9pc0RlbGV0ZWROb2RlID0gISFiYXNlU25h
cHNob3Q7Ci0gICAgdGhpcy5fcHJvdmlkZXIgPSB0aGlzLl9jcmVhdGVQcm92aWRlcihiYXNlU25h
cHNob3QgfHwgc25hcHNob3QsIG5vZGUubm9kZUluZGV4KTsKICAgICB0aGlzLnVwZGF0ZUhhc0No
aWxkcmVuKCk7CiB9OwogCitXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlLl9j
cmVhdGVQcm92aWRlciA9IGZ1bmN0aW9uKHNuYXBzaG90LCBub2RlSW5kZXgpCit7CisgICAgdmFy
IHNob3dIaWRkZW5EYXRhID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dIZWFwU25hcHNob3RP
YmplY3RzSGlkZGVuUHJvcGVydGllcy5nZXQoKTsKKyAgICByZXR1cm4gc25hcHNob3QuY3JlYXRl
RWRnZXNQcm92aWRlcigKKyAgICAgICAgbm9kZUluZGV4LAorICAgICAgICAiZnVuY3Rpb24oZWRn
ZSkgeyIgKworICAgICAgICAiICAgIHJldHVybiAhZWRnZS5pc0ludmlzaWJsZSIgKworICAgICAg
ICAiICAgICAgICAmJiAoIiArIHNob3dIaWRkZW5EYXRhICsgIiB8fCAoIWVkZ2UuaXNIaWRkZW4g
JiYgIWVkZ2Uubm9kZS5pc0hpZGRlbikpOyIgKworICAgICAgICAifSIpOworfQorCiBXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlLnByb3RvdHlwZSA9IHsKICAgICBfY3JlYXRl
Q2hpbGROb2RlOiBmdW5jdGlvbihpdGVtKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90T2JqZWN0Tm9kZSh0aGlzLl9kYXRhR3JpZCwgdGhpcy5faXNE
ZWxldGVkTm9kZSwgaXRlbSwgbnVsbCk7CiAgICAgfSwKIAotICAgIF9jcmVhdGVQcm92aWRlcjog
ZnVuY3Rpb24oc25hcHNob3QsIG5vZGVJbmRleCkKLSAgICB7Ci0gICAgICAgIHZhciBzaG93SGlk
ZGVuRGF0YSA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zaG93SGVhcFNuYXBzaG90T2JqZWN0c0hp
ZGRlblByb3BlcnRpZXMuZ2V0KCk7Ci0gICAgICAgIHJldHVybiBzbmFwc2hvdC5jcmVhdGVFZGdl
c1Byb3ZpZGVyKAotICAgICAgICAgICAgbm9kZUluZGV4LAotICAgICAgICAgICAgImZ1bmN0aW9u
KGVkZ2UpIHsiICsKLSAgICAgICAgICAgICIgICAgcmV0dXJuICFlZGdlLmlzSW52aXNpYmxlIiAr
Ci0gICAgICAgICAgICAiICAgICAgICAmJiAoIiArIHNob3dIaWRkZW5EYXRhICsgIiB8fCAoIWVk
Z2UuaXNIaWRkZW4gJiYgIWVkZ2Uubm9kZS5pc0hpZGRlbikpOyIgKwotICAgICAgICAgICAgIn0i
KTsKLSAgICB9LAotCiAgICAgX2NoaWxkSGFzaEZvckVudGl0eTogZnVuY3Rpb24oZWRnZSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBlZGdlLnR5cGUgKyAiIyIgKyBlZGdlLm5hbWU7CkBAIC02MDIs
MTMgKzYwOCwxMyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuSGVhcFNuYQogICovCiBXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90Q29uc3RydWN0b3JOb2RlID0gZnVuY3Rpb24odHJlZSwgY2xhc3NOYW1lLCBh
Z2dyZWdhdGUsIGFnZ3JlZ2F0ZXNLZXkpCiB7Ci0gICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dEdyaWROb2RlLmNhbGwodGhpcywgdHJlZSwgYWdncmVnYXRlLmNvdW50ID4gMCk7CisgICAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdEdyaWROb2RlLmNhbGwodGhpcywgdHJlZSwgYWdncmVnYXRl
LmNvdW50ID4gMCwKKyAgICAgICAgdHJlZS5zbmFwc2hvdC5jcmVhdGVOb2Rlc1Byb3ZpZGVyRm9y
Q2xhc3MoY2xhc3NOYW1lLCBhZ2dyZWdhdGVzS2V5KSk7CiAgICAgdGhpcy5fbmFtZSA9IGNsYXNz
TmFtZTsKICAgICB0aGlzLl9kaXN0YW5jZVRvV2luZG93ID0gYWdncmVnYXRlLmRpc3RhbmNlVG9X
aW5kb3c7CiAgICAgdGhpcy5fY291bnQgPSBhZ2dyZWdhdGUuY291bnQ7CiAgICAgdGhpcy5fc2hh
bGxvd1NpemUgPSBhZ2dyZWdhdGUuc2VsZjsKICAgICB0aGlzLl9yZXRhaW5lZFNpemUgPSBhZ2dy
ZWdhdGUubWF4UmV0OwotICAgIHRoaXMuX3Byb3ZpZGVyID0gdGhpcy5fY3JlYXRlTm9kZXNQcm92
aWRlcih0cmVlLnNuYXBzaG90LCBjbGFzc05hbWUsIGFnZ3JlZ2F0ZXNLZXkpOwogfQogCiBXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90Q29uc3RydWN0b3JOb2RlLnByb3RvdHlwZSA9IHsKQEAgLTYy
NSwxMSArNjMxLDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnN0cnVjdG9yTm9kZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dEluc3RhbmNlTm9kZSh0aGlzLl9kYXRhR3JpZCwgbnVsbCwgdGhpcy5fZGF0YUdyaWQuc25hcHNo
b3QsIGl0ZW0pOwogICAgIH0sCiAKLSAgICBfY3JlYXRlTm9kZXNQcm92aWRlcjogZnVuY3Rpb24o
c25hcHNob3QsIGNsYXNzTmFtZSwgYWdncmVnYXRlc0tleSkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBzbmFwc2hvdC5jcmVhdGVOb2Rlc1Byb3ZpZGVyRm9yQ2xhc3MoY2xhc3NOYW1lLCBhZ2dyZWdh
dGVzS2V5KTsKLSAgICB9LAotCiAgICAgY29tcGFyYXRvcjogZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLl9kYXRhR3JpZC5zb3J0T3JkZXIgPT09ICJh
c2NlbmRpbmciOwpAQCAtNzI0LDcgKzcyNSw4IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RJ
dGVyYXRvcnNUdXBsZS5wcm90b3R5cGUgPSB7CiAgKi8KIFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3REaWZmTm9kZSA9IGZ1bmN0aW9uKHRyZWUsIGNsYXNzTmFtZSwgZGlmZkZvckNsYXNzKQogewot
ICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlkTm9kZS5jYWxsKHRoaXMsIHRyZWUsIHRy
dWUpOworICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlkTm9kZS5jYWxsKHRoaXMsIHRy
ZWUsIHRydWUsCisgICAgICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3REaWZmTm9kZS5fY3Jl
YXRlUHJvdmlkZXIodHJlZSwgY2xhc3NOYW1lLCBkaWZmRm9yQ2xhc3MuZGVsZXRlZEluZGV4ZXMp
KTsKICAgICB0aGlzLl9uYW1lID0gY2xhc3NOYW1lOwogCiAgICAgdGhpcy5fYWRkZWRDb3VudCA9
IGRpZmZGb3JDbGFzcy5hZGRlZENvdW50OwpAQCAtNzMzLDEzICs3MzUsMTYgQEAgV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdERpZmZOb2RlID0gZnVuY3Rpb24odHJlZSwgY2xhc3NOYW1lLCBkaWZm
Rm9yQ2xhc3MpCiAgICAgdGhpcy5fYWRkZWRTaXplID0gZGlmZkZvckNsYXNzLmFkZGVkU2l6ZTsK
ICAgICB0aGlzLl9yZW1vdmVkU2l6ZSA9IGRpZmZGb3JDbGFzcy5yZW1vdmVkU2l6ZTsKICAgICB0
aGlzLl9zaXplRGVsdGEgPSBkaWZmRm9yQ2xhc3Muc2l6ZURlbHRhOworfQogCi0gICAgdGhpcy5f
ZGVsZXRlZEluZGV4ZXMgPSBkaWZmRm9yQ2xhc3MuZGVsZXRlZEluZGV4ZXM7Ci0KLSAgICAvKioK
LSAgICAgKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEl0ZXJhdG9yc1R1cGxlfQot
ICAgICAqLwotICAgIHRoaXMuX3Byb3ZpZGVyID0gdGhpcy5fY3JlYXRlTm9kZXNQcm92aWRlcih0
cmVlLmJhc2VTbmFwc2hvdCwgdHJlZS5zbmFwc2hvdCk7CitXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90RGlmZk5vZGUuX2NyZWF0ZVByb3ZpZGVyID0gZnVuY3Rpb24odHJlZSwgY2xhc3NOYW1lLCBk
ZWxldGVkSW5kZXhlcykKK3sKKyAgICB2YXIgcmVzdWx0ID0gIG5ldyBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90SXRlcmF0b3JzVHVwbGUoCisgICAgICAgIHRyZWUuc25hcHNob3QuY3JlYXRlQWRk
ZWROb2Rlc1Byb3ZpZGVyKHRyZWUuYmFzZVNuYXBzaG90LnVpZCwgY2xhc3NOYW1lKSwKKyAgICAg
ICAgdHJlZS5iYXNlU25hcHNob3QuY3JlYXRlRGVsZXRlZE5vZGVzUHJvdmlkZXIoZGVsZXRlZElu
ZGV4ZXMpLAorICAgICAgICB0cmVlLmJhc2VTbmFwc2hvdCwKKyAgICAgICAgdHJlZS5zbmFwc2hv
dCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdERp
ZmZOb2RlLnByb3RvdHlwZSA9IHsKQEAgLTc1MSwxNiArNzU2LDYgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdERpZmZOb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybiBuZXcg
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEluc3RhbmNlTm9kZSh0aGlzLl9kYXRhR3JpZCwgdGhp
cy5fcHJvdmlkZXIuYmFzZVNuYXBzaG90LCBudWxsLCBpdGVtKTsKICAgICB9LAogCi0gICAgX2Ny
ZWF0ZU5vZGVzUHJvdmlkZXI6IGZ1bmN0aW9uKGJhc2VTbmFwc2hvdCwgc25hcHNob3QpCi0gICAg
ewotICAgICAgICB2YXIgY2xhc3NOYW1lID0gdGhpcy5fbmFtZTsKLSAgICAgICAgcmV0dXJuIG5l
dyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SXRlcmF0b3JzVHVwbGUoCi0gICAgICAgICAgICBz
bmFwc2hvdC5jcmVhdGVBZGRlZE5vZGVzUHJvdmlkZXIoYmFzZVNuYXBzaG90LnVpZCwgY2xhc3NO
YW1lKSwKLSAgICAgICAgICAgIGJhc2VTbmFwc2hvdC5jcmVhdGVEZWxldGVkTm9kZXNQcm92aWRl
cih0aGlzLl9kZWxldGVkSW5kZXhlcyksCi0gICAgICAgICAgICBiYXNlU25hcHNob3QsCi0gICAg
ICAgICAgICBzbmFwc2hvdCk7Ci0gICAgfSwKLQogICAgIF9jaGlsZEhhc2hGb3JFbnRpdHk6IGZ1
bmN0aW9uKG5vZGUpCiAgICAgewogICAgICAgICByZXR1cm4gbm9kZS5pZDsKQEAgLTgzOCw4ICs4
MzMsOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RGlmZk5vZGUucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFdlYkluc3BlY3Rvci5IZWFwU25hcHNobwogICovCiBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90RG9taW5hdG9yT2JqZWN0Tm9kZSA9IGZ1bmN0aW9uKHRyZWUsIG5vZGUpCiB7Ci0gICAg
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEdlbmVyaWNPYmplY3ROb2RlLmNhbGwodGhpcywgdHJl
ZSwgbm9kZSk7Ci0gICAgdGhpcy5fcHJvdmlkZXIgPSB0aGlzLl9jcmVhdGVQcm92aWRlcih0cmVl
LnNuYXBzaG90LCBub2RlLm5vZGVJbmRleCk7CisgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dEdlbmVyaWNPYmplY3ROb2RlLmNhbGwodGhpcywgdHJlZSwgbm9kZSwKKyAgICAgICAgdHJlZS5z
bmFwc2hvdC5jcmVhdGVOb2Rlc1Byb3ZpZGVyRm9yRG9taW5hdG9yKG5vZGUubm9kZUluZGV4KSk7
CiAgICAgdGhpcy51cGRhdGVIYXNDaGlsZHJlbigpOwogfTsKIApAQCAtODQ5LDEyICs4NDQsNiBA
QCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RG9taW5hdG9yT2JqZWN0Tm9kZS5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdERvbWluYXRv
ck9iamVjdE5vZGUodGhpcy5fZGF0YUdyaWQsIGl0ZW0pOwogICAgIH0sCiAKLSAgICBfY3JlYXRl
UHJvdmlkZXI6IGZ1bmN0aW9uKHNuYXBzaG90LCBub2RlSW5kZXgpCi0gICAgewotICAgICAgICBy
ZXR1cm4gc25hcHNob3QuY3JlYXRlTm9kZXNQcm92aWRlckZvckRvbWluYXRvcihub2RlSW5kZXgs
Ci0gICAgICAgICAgICAiZnVuY3Rpb24gKG5vZGUpIHsgcmV0dXJuIHRydWU7IH0iKTsKLSAgICB9
LAotCiAgICAgX2NoaWxkSGFzaEZvckVudGl0eTogZnVuY3Rpb24obm9kZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBub2RlLmlkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9IZWFwU25hcHNob3RQcm94eS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSGVhcFNuYXBzaG90UHJveHkuanMKaW5kZXggYTMyMmRjNGY4MTNiY2FkMmUz
MzNlYjYyNzgxNGYyNDUzNWM3ZWI1NS4uMjFkZjk0Yjg0NTAxZTM4ODViYTliOTRiYjJhMzY1NTJh
NzQ1ZmI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3RQcm94eS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdFByb3h5LmpzCkBAIC0xMjQsNyArMTI0LDcgQEAgV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFdvcmtlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9jYWxsYmFja3MgPSBb
XTsKICAgICB0aGlzLl9wcmV2aW91c0NhbGxiYWNrcyA9IFtdOwogICAgIC8vIFRoZXJlIGlzIG5v
IHN1cHBvcnQgZm9yIHdvcmtlcnMgaW4gQ2hyb21pdW0gRFJULgotICAgIHRoaXMuX3dvcmtlciA9
IHR5cGVvZiBJbnNwZWN0b3JUZXN0ID09PSAidW5kZWZpbmVkIiA/IG5ldyBXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90UmVhbFdvcmtlcigpIDogbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RG
YWtlV29ya2VyKCk7CisgICAgdGhpcy5fd29ya2VyID0gLyogdHlwZW9mIEluc3BlY3RvclRlc3Qg
PT09ICJ1bmRlZmluZWQiID8gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RSZWFsV29ya2Vy
KCkgOiovIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RmFrZVdvcmtlcigpOwogICAgIHRo
aXMuX3dvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdGhpcy5fbWVzc2FnZVJlY2Vp
dmVkLCB0aGlzKTsKIH0KIApAQCAtNDEyLDkgKzQxMiw5IEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RQcm94eS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLmNhbGxGYWN0b3J5
TWV0aG9kKG51bGwsICJjcmVhdGVOb2Rlc1Byb3ZpZGVyRm9yQ2xhc3MiLCAiV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFByb3ZpZGVyUHJveHkiLCBjbGFzc05hbWUsIGFnZ3JlZ2F0ZXNLZXkpOwog
ICAgIH0sCiAKLSAgICBjcmVhdGVOb2Rlc1Byb3ZpZGVyRm9yRG9taW5hdG9yOiBmdW5jdGlvbihu
b2RlSW5kZXgsIGZpbHRlcikKKyAgICBjcmVhdGVOb2Rlc1Byb3ZpZGVyRm9yRG9taW5hdG9yOiBm
dW5jdGlvbihub2RlSW5kZXgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5jYWxsRmFjdG9y
eU1ldGhvZChudWxsLCAiY3JlYXRlTm9kZXNQcm92aWRlckZvckRvbWluYXRvciIsICJXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90UHJvdmlkZXJQcm94eSIsIG5vZGVJbmRleCwgZmlsdGVyKTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuY2FsbEZhY3RvcnlNZXRob2QobnVsbCwgImNyZWF0ZU5vZGVzUHJv
dmlkZXJGb3JEb21pbmF0b3IiLCAiV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3ZpZGVyUHJv
eHkiLCBub2RlSW5kZXgpOwogICAgIH0sCiAKICAgICBkaXNwb3NlOiBmdW5jdGlvbigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCmluZGV4IGM2
MDQ2MzkxYzNiZWU3NTcyNzI1NzEwMGVlNzQ5MmE5YTE1NzVhM2EuLmFiMzNjNDBjNzAzM2E0OGU0
MTg2NWJhMGUxZTg0M2M5YzI3YThkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCkBAIC0yMTgsOCArMjE4LDggQEAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInVwcGVyQm91bmQiLAogICAgIH0KIH0pOwogCi1P
YmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicGFydGl0aW9uIiwKLXsKKyhm
dW5jdGlvbigpIHsKK3ZhciBwYXJ0aXRpb24gPSB7CiAgICAgLyoqCiAgICAgICogQHRoaXMge0Fy
cmF5LjxudW1iZXI+fQogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyLG51bWJlcik6Ym9v
bGVhbn0gY29tcGFyYXRvcgpAQCAtMjQ4LDEwICsyNDgsMTEgQEAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KEFycmF5LnByb3RvdHlwZSwgInBhcnRpdGlvbiIsCiAgICAgICAgIHN3YXAodGhpcywgcmln
aHQsIHN0b3JlSW5kZXgpOwogICAgICAgICByZXR1cm4gc3RvcmVJbmRleDsKICAgICB9Ci19KTsK
K307CitPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicGFydGl0aW9uIiwg
cGFydGl0aW9uKTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShVaW50MzJBcnJheS5wcm90b3R5cGUs
ICJwYXJ0aXRpb24iLCBwYXJ0aXRpb24pOwogCi1PYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXku
cHJvdG90eXBlLCAic29ydFJhbmdlIiwKLXsKK3ZhciBzb3J0UmFuZ2UgPSB7CiAgICAgLyoqCiAg
ICAgICogQHRoaXMge0FycmF5LjxudW1iZXI+fQogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24obnVt
YmVyLG51bWJlcik6Ym9vbGVhbn0gY29tcGFyYXRvcgpAQCAtMjc4LDcgKzI3OSwxMCBAQCBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAic29ydFJhbmdlIiwKICAgICAgICAg
ICAgIHF1aWNrU29ydEZpcnN0Syh0aGlzLCBjb21wYXJhdG9yLCBsZWZ0Qm91bmQsIHJpZ2h0Qm91
bmQsIGspOwogICAgICAgICByZXR1cm4gdGhpczsKICAgICB9Ci19KTsKK30KK09iamVjdC5kZWZp
bmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJzb3J0UmFuZ2UiLCBzb3J0UmFuZ2UpOworT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KFVpbnQzMkFycmF5LnByb3RvdHlwZSwgInNvcnRSYW5nZSIsIHNv
cnRSYW5nZSk7Cit9KSgpOwogCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBl
LCAicXNlbGVjdCIsCiB7Cg==
</data>
<flag name="review"
          id="143961"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>