<?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>112690</bug_id>
          
          <creation_ts>2013-03-19 06:25:45 -0700</creation_ts>
          <short_desc>Web Inspector: [DataGrid] Refactorings.</short_desc>
          <delta_ts>2013-03-20 04:32:49 -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>1</everconfirmed>
          <reporter name="Eugene Klyuchnikov">eustas</reporter>
          <assigned_to name="Eugene Klyuchnikov">eustas</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>858215</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-19 06:25:45 -0700</bug_when>
    <thetext>1. Avoid using string literals;
2. Remove unused notifications;
3. Replace some getters with regular functions;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858222</commentid>
    <comment_count>1</comment_count>
      <attachid>193809</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-19 06:30:06 -0700</bug_when>
    <thetext>Created attachment 193809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859203</commentid>
    <comment_count>2</comment_count>
      <attachid>193809</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 02:48:56 -0700</bug_when>
    <thetext>Comment on attachment 193809
Patch

Rejecting attachment 193809 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--non-interactive&apos;, 193809, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

/mnt/git/webkit-commit-queue/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-commit-queue.appspot.com/results/17223347</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859244</commentid>
    <comment_count>3</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-20 04:32:49 -0700</bug_when>
    <thetext>Committed r146325: &lt;http://trac.webkit.org/changeset/146325&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193809</attachid>
            <date>2013-03-19 06:30:06 -0700</date>
            <delta_ts>2013-03-20 02:48:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112690-20130319172556.patch</filename>
            <type>text/plain</type>
            <size>46275</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTVkNTIxZmIwMDliOTNi
MDdiZjdlMjNiYTNkZWQzNDYwYjM1NDA0Ny4uYzNlOTY0N2IzNzg1YjYwMGQwMGMwODMwOGU0ZGUx
MjQ2ODNmZWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTE5ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtEYXRhR3JpZF0gUmVmYWN0b3JpbmdzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgMS4gQXZvaWQgdXNpbmcgc3RyaW5nIGxpdGVyYWxzOwor
ICAgICAgICAyLiBSZW1vdmUgdW51c2VkIG5vdGlmaWNhdGlvbnM7IHR1cm4gInBvcHVsYXRlIiB0
byBtZXRob2QgaW52b2NhdGlvbjsKKyAgICAgICAgMy4gUmVwbGFjZSBzb21lIGdldHRlcnMgd2l0
aCByZWd1bGFyIGZ1bmN0aW9ucy4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGF0
YUdyaWQuanM6IEFwcGxpZWQgcmVmYWN0b3JpbmdzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qczogQWRvcHRlZCBjaGFuZ2VzLgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpz
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3Lmpz
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmls
ZVZpZXcuanM6IERpdHRvLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1Rh
YmxlLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNv
bnRlbnRWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBT
bmFwc2hvdERhdGFHcmlkcy5qczogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RHcmlkTm9kZXMuanM6IERpdHRvLgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczogRGl0dG8uCisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzOiBEaXR0by4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3LmpzOiBEaXR0
by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RvcERvd25Qcm9maWxlRGF0YUdyaWRU
cmVlLmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2RhdGFHcmlkLmNz
czogRGl0dG8uCisKIDIwMTMtMDMtMTkgIEFuZHJleSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtDb2RlTWlycm9yXSBhZGQgc21h
cnQgYnJhY2VzIGZ1bmN0aW9uYWxpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcwppbmRl
eCA3Y2MzYmNiNjM5NWI3MTAwYWVmODYyNzc0YjM5MTVhZDQxNmNhMjljLi4wMTYzOWI5NWMwMjQ5
ODg3Njg3MWVkMWQ3N2RmM2Q0MDlkZWIwMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3
LmpzCkBAIC0xOTcsMTkgKzE5NywxOSBAQCBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0
ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2NyZWF0ZURhdGFHcmlkOiBmdW5jdGlvbigpCiAg
ICAgewogICAgICAgICB2YXIgY29sdW1ucyA9IFsKLSAgICAgICAgICAgIHt0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJSZXNvdXJjZSIpLCBzb3J0OiAiYXNjZW5kaW5nIiwgc29ydGFibGU6
IHRydWV9LAorICAgICAgICAgICAge3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlc291
cmNlIiksIHNvcnQ6IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5PcmRlci5Bc2NlbmRpbmcsIHNvcnRh
YmxlOiB0cnVlfSwKICAgICAgICAgICAgIHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJU
eXBlIiksIHNvcnRhYmxlOiB0cnVlfSwKLSAgICAgICAgICAgIHt0aXRsZTogV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJTaXplIiksIGFsaWduZWQ6ICJyaWdodCIsIHNvcnRhYmxlOiB0cnVlfQorICAg
ICAgICAgICAge3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKSwgYWxpZ246IFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5BbGlnbi5SaWdodCwgc29ydGFibGU6IHRydWV9CiAgICAgICAg
IF07CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChj
b2x1bW5zKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvdyh0aGlzLmVsZW1lbnQpOwotICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKCJzb3J0aW5nIGNoYW5nZWQiLCB0
aGlzLl9wb3B1bGF0ZURhdGFHcmlkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnRzLlNvcnRpbmdDaGFuZ2Vk
LCB0aGlzLl9wb3B1bGF0ZURhdGFHcmlkLCB0aGlzKTsKICAgICB9LAogCiAgICAgX3BvcHVsYXRl
RGF0YUdyaWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBzZWxlY3RlZFJlc291cmNl
ID0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlID8gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWRO
b2RlLnJlc291cmNlIDogbnVsbDsKLSAgICAgICAgdmFyIHNvcnREaXJlY3Rpb24gPSB0aGlzLl9k
YXRhR3JpZC5zb3J0T3JkZXIgPT09ICJhc2NlbmRpbmciID8gMSA6IC0xOworICAgICAgICB2YXIg
c29ydERpcmVjdGlvbiA9IHRoaXMuX2RhdGFHcmlkLmlzU29ydE9yZGVyQXNjZW5kaW5nKCkgPyAx
IDogLTE7CiAKICAgICAgICAgZnVuY3Rpb24gbnVtYmVyQ29tcGFyZShmaWVsZCwgcmVzb3VyY2Ux
LCByZXNvdXJjZTIpCiAgICAgICAgIHsKQEAgLTIyMSw3ICsyMjEsNyBAQCBXZWJJbnNwZWN0b3Iu
QXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAg
ICAgICB2YXIgY29tcGFyYXRvcjsKLSAgICAgICAgc3dpdGNoIChwYXJzZUludCh0aGlzLl9kYXRh
R3JpZC5zb3J0Q29sdW1uSWRlbnRpZmllciwgMTApKSB7CisgICAgICAgIHN3aXRjaCAocGFyc2VJ
bnQodGhpcy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXIoKSwgMTApKSB7CiAgICAgICAg
ICAgICBjYXNlIDA6IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJlLmJpbmQodGhpcywgIm5hbWUi
KTsgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDE6IGNvbXBhcmF0b3IgPSBsb2NhbGVDb21wYXJl
LmJpbmQodGhpcywgInR5cGUiKTsgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDI6IGNvbXBhcmF0
b3IgPSBudW1iZXJDb21wYXJlLmJpbmQodGhpcywgInNpemUiKTsgYnJlYWs7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JvdHRvbVVwUHJvZmlsZURhdGFH
cmlkVHJlZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQm90dG9tVXBQ
cm9maWxlRGF0YUdyaWRUcmVlLmpzCmluZGV4IDZiODY0MzBlNjg3MmYxOWI3NmZiZjEyOGE2OGU5
MzY3ZTU1ZGY5NWQuLjEzZDE1OGIyN2QwMTU2NjU2ZjM5MDI4NmJjNDdlZjVjMDk4Njk4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQm90dG9tVXBQcm9m
aWxlRGF0YUdyaWRUcmVlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzCkBAIC03MCw3ICs3MCw3IEBAIFdlYklu
c3BlY3Rvci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIF9l
eGNsdWRlOiBmdW5jdGlvbihhQ2FsbFVJRCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9yZW1h
aW5pbmdOb2RlSW5mb3MpCi0gICAgICAgICAgICB0aGlzLl9wb3B1bGF0ZSgpOworICAgICAgICAg
ICAgdGhpcy5wb3B1bGF0ZSgpOwogCiAgICAgICAgIHRoaXMuX3NhdmUoKTsKIApAQCAtMjI0LDcg
KzIyNCw3IEBAIFdlYkluc3BlY3Rvci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZFRyZWUgPSBmdW5j
dGlvbihwcm9maWxlVmlldywgcm9vdFByb2ZpbGVOb2RlCiAgICAgLy8gUG9wdWxhdGUgdGhlIHRv
cCBsZXZlbCBub2Rlcy4KICAgICB2YXIgYW55ID0gLyoqIEB0eXBleyp9ICovKHRoaXMpOwogICAg
IHZhciBub2RlID0gLyoqIEB0eXBle1dlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlfSAq
LyhhbnkpOwotICAgIFdlYkluc3BlY3Rvci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZE5vZGUucHJv
dG90eXBlLl9wb3B1bGF0ZS5jYWxsKG5vZGUpOworICAgIFdlYkluc3BlY3Rvci5Cb3R0b21VcFBy
b2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlLnBvcHVsYXRlLmNhbGwobm9kZSk7CiAKICAgICBy
ZXR1cm4gdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0NQVVByb2ZpbGVWaWV3LmpzCmluZGV4IDM5ZTJlNjY1MTJjOGE2OGNkMjM4ZmVmMDc1N2Iw
OGI1ODk3ODUyNWMuLjZjZGU2YzNhMmVmNWJjNjkwOTI3YTMwMTIyODc2ZjliNGRiYzU2MDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxl
Vmlldy5qcwpAQCAtNDAsNyArNDAsNyBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcgPSBm
dW5jdGlvbihwcm9maWxlKQogICAgIHRoaXMuX3ZpZXdUeXBlID0gV2ViSW5zcGVjdG9yLnNldHRp
bmdzLmNyZWF0ZVNldHRpbmcoImNwdVByb2ZpbGVyVmlldyIsIFdlYkluc3BlY3Rvci5DUFVQcm9m
aWxlVmlldy5fVHlwZUhlYXZ5KTsKIAogICAgIHZhciBjb2x1bW5zID0gW107Ci0gICAgY29sdW1u
cy5wdXNoKHtpZDogInNlbGYiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxmIiks
IHdpZHRoOiAiNzJweCIsIHNvcnQ6ICJkZXNjZW5kaW5nIiwgc29ydGFibGU6IHRydWV9KTsKKyAg
ICBjb2x1bW5zLnB1c2goe2lkOiAic2VsZiIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNlbGYiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydDogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLk9yZGVy
LkRlc2NlbmRpbmcsIHNvcnRhYmxlOiB0cnVlfSk7CiAgICAgY29sdW1ucy5wdXNoKHtpZDogInRv
dGFsIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVG90YWwiKSwgd2lkdGg6ICI3MnB4
Iiwgc29ydGFibGU6IHRydWV9KTsKICAgICBpZiAoIUNhcGFiaWxpdGllcy5zYW1wbGluZ0NQVVBy
b2ZpbGVyKSB7CiAgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJhdmVyYWdlIiwgdGl0bGU6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiQXZlcmFnZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTog
dHJ1ZX0pOwpAQCAtNDksNyArNDksNyBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcgPSBm
dW5jdGlvbihwcm9maWxlKQogICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJmdW5jdGlvbiIsIHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZ1bmN0aW9uIiksIGRpc2Nsb3N1cmU6IHRydWUsIHNv
cnRhYmxlOiB0cnVlfSk7CiAKICAgICB0aGlzLmRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5E
YXRhR3JpZChjb2x1bW5zKTsKLSAgICB0aGlzLmRhdGFHcmlkLmFkZEV2ZW50TGlzdGVuZXIoInNv
cnRpbmcgY2hhbmdlZCIsIHRoaXMuX3NvcnRQcm9maWxlLCB0aGlzKTsKKyAgICB0aGlzLmRhdGFH
cmlkLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cy5Tb3J0aW5n
Q2hhbmdlZCwgdGhpcy5fc29ydFByb2ZpbGUsIHRoaXMpOwogICAgIHRoaXMuZGF0YUdyaWQuZWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9tb3VzZURvd25JbkRhdGFH
cmlkLmJpbmQodGhpcyksIHRydWUpOwogCiAgICAgaWYgKFdlYkluc3BlY3Rvci5leHBlcmltZW50
c1NldHRpbmdzLmNwdUZsYW1lQ2hhcnQuaXNFbmFibGVkKCkpIHsKQEAgLTQ5Niw4ICs0OTYsOCBA
QCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgX3NvcnRQ
cm9maWxlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgc29ydEFzY2VuZGluZyA9IHRo
aXMuZGF0YUdyaWQuc29ydE9yZGVyID09PSAiYXNjZW5kaW5nIjsKLSAgICAgICAgdmFyIHNvcnRD
b2x1bW5JZGVudGlmaWVyID0gdGhpcy5kYXRhR3JpZC5zb3J0Q29sdW1uSWRlbnRpZmllcjsKKyAg
ICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLmRhdGFHcmlkLmlzU29ydE9yZGVyQXNjZW5k
aW5nKCk7CisgICAgICAgIHZhciBzb3J0Q29sdW1uSWRlbnRpZmllciA9IHRoaXMuZGF0YUdyaWQu
c29ydENvbHVtbklkZW50aWZpZXIoKTsKICAgICAgICAgdmFyIHNvcnRQcm9wZXJ0eSA9IHsKICAg
ICAgICAgICAgICAgICAiYXZlcmFnZSI6ICJhdmVyYWdlVGltZSIsCiAgICAgICAgICAgICAgICAg
InNlbGYiOiAic2VsZlRpbWUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2ZpbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2ZpbGVWaWV3LmpzCmluZGV4IDI1N2UzNzIw
NmIxMWZhM2M0ZmI0NzE0ZTc4ZGQwNzMyODM0OGM2OGYuLjgxMzQxNWIxY2VjYjJiMDg0ODAwZGYw
NWU5ZWJhZTQzYjUwNzc2MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMKQEAgLTk1LDEzICs5
NSwxMyBAQCBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JQcm9maWxlVmlldyA9IGZ1bmN0aW9uKHBy
b2ZpbGUpCiAgICAgdmFyIGNvbHVtbnMgPSBbCiAgICAgICAgIHtpZDogInNlbGVjdG9yIiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZWN0b3IiKSwgd2lkdGg6ICI1NTBweCIsIHNv
cnRhYmxlOiB0cnVlfSwKICAgICAgICAge2lkOiAic291cmNlIiwgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiU291cmNlIiksIHdpZHRoOiAiMTAwcHgiLCBzb3J0YWJsZTogdHJ1ZX0sCi0g
ICAgICAgIHtpZDogInRpbWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCIp
LCB3aWR0aDogIjcycHgiLCBzb3J0OiAiZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlfSwKKyAg
ICAgICAge2lkOiAidGltZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRvdGFsIiks
IHdpZHRoOiAiNzJweCIsIHNvcnQ6IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5PcmRlci5EZXNjZW5k
aW5nLCBzb3J0YWJsZTogdHJ1ZX0sCiAgICAgICAgIHtpZDogIm1hdGNoZXMiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJNYXRjaGVzIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0
cnVlfQogICAgIF07CiAKICAgICB0aGlzLmRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRh
R3JpZChjb2x1bW5zKTsKICAgICB0aGlzLmRhdGFHcmlkLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
c2VsZWN0b3ItcHJvZmlsZS12aWV3Iik7Ci0gICAgdGhpcy5kYXRhR3JpZC5hZGRFdmVudExpc3Rl
bmVyKCJzb3J0aW5nIGNoYW5nZWQiLCB0aGlzLl9zb3J0UHJvZmlsZSwgdGhpcyk7CisgICAgdGhp
cy5kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudHMu
U29ydGluZ0NoYW5nZWQsIHRoaXMuX3NvcnRQcm9maWxlLCB0aGlzKTsKICAgICB0aGlzLmRhdGFH
cmlkLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fbW91c2VEb3du
SW5EYXRhR3JpZC5iaW5kKHRoaXMpLCB0cnVlKTsKICAgICB0aGlzLmRhdGFHcmlkLnNob3codGhp
cy5lbGVtZW50KTsKIApAQCAtMTkyLDggKzE5Miw4IEBAIFdlYkluc3BlY3Rvci5DU1NTZWxlY3Rv
clByb2ZpbGVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9zb3J0UHJvZmlsZTogZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLmRhdGFHcmlkLnNvcnRP
cmRlciA9PT0gImFzY2VuZGluZyI7Ci0gICAgICAgIHZhciBzb3J0Q29sdW1uSWRlbnRpZmllciA9
IHRoaXMuZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXI7CisgICAgICAgIHZhciBzb3J0QXNj
ZW5kaW5nID0gdGhpcy5kYXRhR3JpZC5pc1NvcnRPcmRlckFzY2VuZGluZygpOworICAgICAgICB2
YXIgc29ydENvbHVtbklkZW50aWZpZXIgPSB0aGlzLmRhdGFHcmlkLnNvcnRDb2x1bW5JZGVudGlm
aWVyKCk7CiAKICAgICAgICAgZnVuY3Rpb24gc2VsZWN0b3JDb21wYXJhdG9yKGEsIGIpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29v
a2llc1RhYmxlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVz
VGFibGUuanMKaW5kZXggMmE0OTc4NzY1ODU0ZWFmMGUyODI1MjhiNmI3MzdlNWYxYTljNjZmZS4u
NzU2ZGJhZjZhNWNmMjZiY2NjNmI2M2ZlZTk2ZTg3YThmOTk4YzEzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKQEAgLTQzLDE4
ICs0MywxOCBAQCBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlID0gZnVuY3Rpb24oZXhwYW5kYWJs
ZSwgcmVmcmVzaENhbGxiYWNrKQogICAgIHRoaXMuX3JlZnJlc2hDYWxsYmFjayA9IHJlZnJlc2hD
YWxsYmFjazsKIAogICAgIHZhciBjb2x1bW5zID0gWwotICAgICAgICB7aWQ6ICJuYW1lIiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLCBzb3J0YWJsZTogdHJ1ZSwgZGlzY2xv
c3VyZTogZXhwYW5kYWJsZSwgc29ydDogImFzY2VuZGluZyIsIHdpZHRoOiAiMjQlIn0sCisgICAg
ICAgIHtpZDogIm5hbWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIiksIHNv
cnRhYmxlOiB0cnVlLCBkaXNjbG9zdXJlOiBleHBhbmRhYmxlLCBzb3J0OiBXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQuT3JkZXIuQXNjZW5kaW5nLCB3aWR0aDogIjI0JSJ9LAogICAgICAgICB7aWQ6ICJ2
YWx1ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZhbHVlIiksIHNvcnRhYmxlOiB0
cnVlLCB3aWR0aDogIjM0JSJ9LAogICAgICAgICB7aWQ6ICJkb21haW4iLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJEb21haW4iKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiNyUifSwK
ICAgICAgICAge2lkOiAicGF0aCIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdGgi
KSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiNyUifSwKICAgICAgICAge2lkOiAiZXhwaXJlcyIs
IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV4cGlyZXMgLyBNYXgtQWdlIiksIHNvcnRh
YmxlOiB0cnVlLCB3aWR0aDogIjclIn0sCi0gICAgICAgIHtpZDogInNpemUiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTaXplIiksIHNvcnRhYmxlOiB0cnVlLCBhbGlnbmVkOiAicmln
aHQiLCB3aWR0aDogIjclIn0sCi0gICAgICAgIHtpZDogImh0dHBPbmx5IiwgdGl0bGU6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiSFRUUCIpLCBzb3J0YWJsZTogdHJ1ZSwgYWxpZ25lZDogImNlbnRl
cmVkIiwgd2lkdGg6ICI3JSJ9LAotICAgICAgICB7aWQ6ICJzZWN1cmUiLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJTZWN1cmUiKSwgc29ydGFibGU6IHRydWUsIGFsaWduZWQ6ICJjZW50
ZXJlZCIsIHdpZHRoOiAiNyUifQorICAgICAgICB7aWQ6ICJzaXplIiwgdGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiU2l6ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgYWxpZ246IFdlYkluc3BlY3Rv
ci5EYXRhR3JpZC5BbGlnbi5SaWdodCwgd2lkdGg6ICI3JSJ9LAorICAgICAgICB7aWQ6ICJodHRw
T25seSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhUVFAiKSwgc29ydGFibGU6IHRy
dWUsIGFsaWduOiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuQWxpZ24uQ2VudGVyLCB3aWR0aDogIjcl
In0sCisgICAgICAgIHtpZDogInNlY3VyZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNlY3VyZSIpLCBzb3J0YWJsZTogdHJ1ZSwgYWxpZ246IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5B
bGlnbi5DZW50ZXIsIHdpZHRoOiAiNyUifQogICAgIF07CiAKICAgICB0aGlzLl9kYXRhR3JpZCA9
IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQoY29sdW1ucywgbnVsbCwgcmVhZE9ubHkgPyBudWxs
IDogdGhpcy5fb25EZWxldGVDb29raWUuYmluZCh0aGlzKSwgcmVmcmVzaENhbGxiYWNrKTsKLSAg
ICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKCJzb3J0aW5nIGNoYW5nZWQiLCB0aGlz
Ll9yZWJ1aWxkVGFibGUsIHRoaXMpOworICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cy5Tb3J0aW5nQ2hhbmdlZCwgdGhpcy5fcmVi
dWlsZFRhYmxlLCB0aGlzKTsKIAogICAgIHRoaXMuX25leHRTZWxlY3RlZENvb2tpZSA9IC8qKiBA
dHlwZSB7P1dlYkluc3BlY3Rvci5Db29raWV9ICovIChudWxsKTsKIApAQCAtMTQ5LDcgKzE0OSw3
IEBAIFdlYkluc3BlY3Rvci5Db29raWVzVGFibGUucHJvdG90eXBlID0gewogICAgICAqLwogICAg
IF9zb3J0Q29va2llczogZnVuY3Rpb24oY29va2llcykKICAgICB7Ci0gICAgICAgIHZhciBzb3J0
RGlyZWN0aW9uID0gdGhpcy5fZGF0YUdyaWQuc29ydE9yZGVyID09PSAiYXNjZW5kaW5nIiA/IDEg
OiAtMTsKKyAgICAgICAgdmFyIHNvcnREaXJlY3Rpb24gPSB0aGlzLl9kYXRhR3JpZC5pc1NvcnRP
cmRlckFzY2VuZGluZygpID8gMSA6IC0xOwogCiAgICAgICAgIGZ1bmN0aW9uIGNvbXBhcmVUbyhn
ZXR0ZXIsIGNvb2tpZTEsIGNvb2tpZTIpCiAgICAgICAgIHsKQEAgLTE3Nyw3ICsxNzcsNyBAQCBX
ZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAg
ICAgIHZhciBjb21wYXJhdG9yOwotICAgICAgICBzd2l0Y2ggKHRoaXMuX2RhdGFHcmlkLnNvcnRD
b2x1bW5JZGVudGlmaWVyKSB7CisgICAgICAgIHN3aXRjaCAodGhpcy5fZGF0YUdyaWQuc29ydENv
bHVtbklkZW50aWZpZXIoKSkgewogICAgICAgICAgICAgY2FzZSAibmFtZSI6IGNvbXBhcmF0b3Ig
PSBjb21wYXJlVG8uYmluZChudWxsLCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZS5uYW1l
KTsgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICJ2YWx1ZSI6IGNvbXBhcmF0b3IgPSBjb21wYXJl
VG8uYmluZChudWxsLCBXZWJJbnNwZWN0b3IuQ29va2llLnByb3RvdHlwZS52YWx1ZSk7IGJyZWFr
OwogICAgICAgICAgICAgY2FzZSAiZG9tYWluIjogY29tcGFyYXRvciA9IGNvbXBhcmVUby5iaW5k
KG51bGwsIFdlYkluc3BlY3Rvci5Db29raWUucHJvdG90eXBlLmRvbWFpbik7IGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMKaW5kZXggMWQw
ZThiNTg2NmM3NjNiZDM2N2NlZGU4OTFmNmI4MjE3ZGQ3NjJlZi4uOTg4YzE3NjJhZWY0M2U4ZTFj
ZWJlNzA2ZWIwZjJhZmVjOTk1NjIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RhdGFHcmlkLmpzCkBAIC02MCw4ICs2MCw2IEBAIFdlYkluc3BlY3Rvci5EYXRh
R3JpZCA9IGZ1bmN0aW9uKGNvbHVtbnNBcnJheSwgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFj
aywgcmVmCiAgICAgdGhpcy5fZGVsZXRlQ2FsbGJhY2sgPSBkZWxldGVDYWxsYmFjazsKICAgICB0
aGlzLl9yZWZyZXNoQ2FsbGJhY2sgPSByZWZyZXNoQ2FsbGJhY2s7CiAKLSAgICB0aGlzLmFsaWdu
ZWQgPSB7fTsKLQogICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lci5jbGFzc05hbWUgPSAiZGF0
YS1jb250YWluZXIiOwogICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlz
Ll9kYXRhVGFibGUpOwpAQCAtMTE1LDkgKzExMyw2IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9
IGZ1bmN0aW9uKGNvbHVtbnNBcnJheSwgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFjaywgcmVm
CiAgICAgICAgICAgICBjZWxsLmFkZFN0eWxlQ2xhc3MoInNvcnRhYmxlIik7CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAoY29sdW1uLmFsaWduZWQpCi0gICAgICAgICAgICB0aGlzLmFsaWduZWRb
Y29sdW1uSWRlbnRpZmllcl0gPSBjb2x1bW4uYWxpZ25lZDsKLQogICAgICAgICBoZWFkZXJSb3cu
YXBwZW5kQ2hpbGQoY2VsbCk7CiAgICAgICAgIGZpbGxlclJvdy5jcmVhdGVDaGlsZCgidGQiLCBj
b2x1bW5JZGVudGlmaWVyICsgIi1jb2x1bW4iKTsKICAgICB9CkBAIC0xNDEsMTIgKzEzNiwyNiBA
QCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5zQXJyYXksIGVkaXRDYWxs
YmFjaywgZGVsZXRlQ2FsbGJhY2ssIHJlZgogICAgIHRoaXMuX2NvbHVtbldpZHRoc0luaXRpYWxp
emVkID0gZmFsc2U7CiB9CiAKLS8qKiBAdHlwZWRlZiB7e2lkOj9zdHJpbmcsIGVkaXRhYmxlOmJv
b2xlYW4sIHNvcnQ6c3RyaW5nLCBzb3J0YWJsZTpib29sZWFuLCBhbGlnbmVkOnN0cmluZ319ICov
CisvKiogQHR5cGVkZWYge3tpZDogP3N0cmluZywgZWRpdGFibGU6IGJvb2xlYW4sIHNvcnQ6IFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5PcmRlciwgc29ydGFibGU6IGJvb2xlYW4sIGFsaWduOiBXZWJJ
bnNwZWN0b3IuRGF0YUdyaWQuQWxpZ259fSAqLwogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkNvbHVt
bkRlc2NyaXB0b3I7CiAKIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudHMgPSB7CiAgICAgU2Vs
ZWN0ZWROb2RlOiAiU2VsZWN0ZWROb2RlIiwKLSAgICBEZXNlbGVjdGVkTm9kZTogIkRlc2VsZWN0
ZWROb2RlIgorICAgIERlc2VsZWN0ZWROb2RlOiAiRGVzZWxlY3RlZE5vZGUiLAorICAgIFNvcnRp
bmdDaGFuZ2VkOiAiU29ydGluZ0NoYW5nZWQiLAorICAgIENvbHVtbnNSZXNpemVkOiAiQ29sdW1u
c1Jlc2l6ZWQiCit9CisKKy8qKiBAZW51bSB7c3RyaW5nfSAqLworV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLk9yZGVyID0geworICAgIEFzY2VuZGluZzogImFzY2VuZGluZyIsCisgICAgRGVzY2VuZGlu
ZzogImRlc2NlbmRpbmciCit9CisKKy8qKiBAZW51bSB7c3RyaW5nfSAqLworV2ViSW5zcGVjdG9y
LkRhdGFHcmlkLkFsaWduID0geworICAgIENlbnRlcjogImNlbnRlciIsCisgICAgUmlnaHQ6ICJy
aWdodCIKIH0KIAogLyoqCkBAIC0xNzksMTMgKzE4OCwxMyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQuY3JlYXRlU29ydGFibGVEYXRhR3JpZCA9IGZ1bmN0aW9uKGNvbHVtbk5hbWVzLCB2YWx1ZXMp
CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKICAgICAgICAgZGF0YUdyaWQu
cm9vdE5vZGUoKS5hcHBlbmRDaGlsZChub2Rlc1tpXSk7CiAKLSAgICBkYXRhR3JpZC5hZGRFdmVu
dExpc3RlbmVyKCJzb3J0aW5nIGNoYW5nZWQiLCBzb3J0RGF0YUdyaWQsIHRoaXMpOworICAgIGRh
dGFHcmlkLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cy5Tb3J0
aW5nQ2hhbmdlZCwgc29ydERhdGFHcmlkLCB0aGlzKTsKIAogICAgIGZ1bmN0aW9uIHNvcnREYXRh
R3JpZCgpCiAgICAgewogICAgICAgICB2YXIgbm9kZXMgPSBkYXRhR3JpZC5fcm9vdE5vZGUuY2hp
bGRyZW4uc2xpY2UoKTsKLSAgICAgICAgdmFyIHNvcnRDb2x1bW5JZGVudGlmaWVyID0gZGF0YUdy
aWQuc29ydENvbHVtbklkZW50aWZpZXI7Ci0gICAgICAgIHZhciBzb3J0RGlyZWN0aW9uID0gZGF0
YUdyaWQuc29ydE9yZGVyID09PSAiYXNjZW5kaW5nIiA/IDEgOiAtMTsKKyAgICAgICAgdmFyIHNv
cnRDb2x1bW5JZGVudGlmaWVyID0gZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXIoKTsKKyAg
ICAgICAgdmFyIHNvcnREaXJlY3Rpb24gPSBkYXRhR3JpZC5pc1NvcnRPcmRlckFzY2VuZGluZygp
ID8gMSA6IC0xOwogICAgICAgICB2YXIgY29sdW1uSXNOdW1lcmljID0gdHJ1ZTsKIAogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7CkBAIC00MDAsNyArNDA5
LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAg
KiBAcmV0dXJuIHs/c3RyaW5nfQogICAgICAqLwotICAgIGdldCBzb3J0Q29sdW1uSWRlbnRpZmll
cigpCisgICAgc29ydENvbHVtbklkZW50aWZpZXI6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IGlmICghdGhpcy5fc29ydENvbHVtbkNlbGwpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKQEAg
LTQxMCwxNSArNDE5LDIzIEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAg
ICAgLyoqCiAgICAgICogQHJldHVybiB7P3N0cmluZ30KICAgICAgKi8KLSAgICBnZXQgc29ydE9y
ZGVyKCkKKyAgICBzb3J0T3JkZXI6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhp
cy5fc29ydENvbHVtbkNlbGwgfHwgdGhpcy5fc29ydENvbHVtbkNlbGwuaGFzU3R5bGVDbGFzcygi
c29ydC1hc2NlbmRpbmciKSkKLSAgICAgICAgICAgIHJldHVybiAiYXNjZW5kaW5nIjsKKyAgICAg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuT3JkZXIuQXNjZW5kaW5nOwogICAg
ICAgICBpZiAodGhpcy5fc29ydENvbHVtbkNlbGwuaGFzU3R5bGVDbGFzcygic29ydC1kZXNjZW5k
aW5nIikpCi0gICAgICAgICAgICByZXR1cm4gImRlc2NlbmRpbmciOworICAgICAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5PcmRlci5EZXNjZW5kaW5nOwogICAgICAgICByZXR1
cm4gbnVsbDsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAg
ICAgKi8KKyAgICBpc1NvcnRPcmRlckFzY2VuZGluZzogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuICF0aGlzLl9zb3J0Q29sdW1uQ2VsbCB8fCB0aGlzLl9zb3J0Q29sdW1uQ2VsbC5o
YXNTdHlsZUNsYXNzKCJzb3J0LWFzY2VuZGluZyIpOworICAgIH0sCisKICAgICBnZXQgaGVhZGVy
VGFibGVCb2R5KCkKICAgICB7CiAgICAgICAgIGlmICgiX2hlYWRlclRhYmxlQm9keSIgaW4gdGhp
cykKQEAgLTU3NCw3ICs1OTEsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgdGhpcy5fY29sdW1uV2lkdGhzSW5pdGlhbGl6ZWQgPSB0cnVlOwogICAg
ICAgICB9CiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uUmVzaXplcnMoKTsKLSAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoIndpZHRoIGNoYW5nZWQiKTsKKyAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cy5Db2x1
bW5zUmVzaXplZCk7CiAgICAgfSwKIAogICAgIGFwcGx5Q29sdW1uV2VpZ2h0czogZnVuY3Rpb24o
KQpAQCAtNTk1LDcgKzYxMiw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9wb3NpdGlvblJlc2l6ZXJzKCk7Ci0gICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJ3aWR0aCBjaGFuZ2VkIik7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVu
dHMuQ29sdW1uc1Jlc2l6ZWQpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTg1NSwyNSArODcyLDIz
IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghY2Vs
bCB8fCAhY2VsbC5jb2x1bW5JZGVudGlmaWVyIHx8ICFjZWxsLmhhc1N0eWxlQ2xhc3MoInNvcnRh
YmxlIikpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHNvcnRPcmRlciA9IHRo
aXMuc29ydE9yZGVyOworICAgICAgICB2YXIgc29ydE9yZGVyID0gV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLk9yZGVyLkFzY2VuZGluZzsKKyAgICAgICAgaWYgKChjZWxsID09PSB0aGlzLl9zb3J0Q29s
dW1uQ2VsbCkgJiYgdGhpcy5pc1NvcnRPcmRlckFzY2VuZGluZygpKQorICAgICAgICAgICAgc29y
dE9yZGVyID0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkLk9yZGVyLkRlc2NlbmRpbmc7CiAKICAgICAg
ICAgaWYgKHRoaXMuX3NvcnRDb2x1bW5DZWxsKQogICAgICAgICAgICAgdGhpcy5fc29ydENvbHVt
bkNlbGwucmVtb3ZlTWF0Y2hpbmdTdHlsZUNsYXNzZXMoInNvcnQtXFx3KyIpOwotCi0gICAgICAg
IGlmIChjZWxsID09IHRoaXMuX3NvcnRDb2x1bW5DZWxsKSB7Ci0gICAgICAgICAgICBpZiAoc29y
dE9yZGVyID09PSAiYXNjZW5kaW5nIikKLSAgICAgICAgICAgICAgICBzb3J0T3JkZXIgPSAiZGVz
Y2VuZGluZyI7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgc29ydE9yZGVyID0g
ImFzY2VuZGluZyI7Ci0gICAgICAgIH0KLQogICAgICAgICB0aGlzLl9zb3J0Q29sdW1uQ2VsbCA9
IGNlbGw7CiAKICAgICAgICAgY2VsbC5hZGRTdHlsZUNsYXNzKCJzb3J0LSIgKyBzb3J0T3JkZXIp
OwogCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJzb3J0aW5nIGNoYW5n
ZWQiKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9y
LkRhdGFHcmlkLkV2ZW50cy5Tb3J0aW5nQ2hhbmdlZCk7CiAgICAgfSwKIAorICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBjb2x1bW5JZGVudGlmaWVyCisgICAgICogQHBhcmFtIHshV2Vi
SW5zcGVjdG9yLkRhdGFHcmlkLk9yZGVyfSBzb3J0T3JkZXIKKyAgICAgKi8KICAgICBtYXJrQ29s
dW1uQXNTb3J0ZWRCeTogZnVuY3Rpb24oY29sdW1uSWRlbnRpZmllciwgc29ydE9yZGVyKQogICAg
IHsKICAgICAgICAgaWYgKHRoaXMuX3NvcnRDb2x1bW5DZWxsKQpAQCAtMTAzMSwxMyArMTA0Niwx
MyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMu
X3Bvc2l0aW9uUmVzaXplcnMoKTsKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoIndpZHRoIGNoYW5nZWQiKTsKKyAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRhdGFHcmlk
LkV2ZW50cy5Db2x1bW5zUmVzaXplZCk7CiAgICAgfSwKIAogICAgIF9lbmRSZXNpemVyRHJhZ2dp
bmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fY3VycmVudFJlc2l6ZXIg
PSBudWxsOwotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygid2lkdGggY2hh
bmdlZCIpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuRGF0YUdyaWQuRXZlbnRzLkNvbHVtbnNSZXNpemVkKTsKICAgICB9LAogCiAgICAgQ29sdW1u
UmVzaXplUGFkZGluZzogMTAsCkBAIC0xMjYwLDcgKzEyNzUsNyBAQCBXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgY2VsbC5jbGFzc05hbWUgPSBjb2x1bW5J
ZGVudGlmaWVyICsgIi1jb2x1bW4iOwogICAgICAgICBjZWxsLmNvbHVtbklkZW50aWZpZXJfID0g
Y29sdW1uSWRlbnRpZmllcjsKIAotICAgICAgICB2YXIgYWxpZ25tZW50ID0gdGhpcy5kYXRhR3Jp
ZC5hbGlnbmVkW2NvbHVtbklkZW50aWZpZXJdOworICAgICAgICB2YXIgYWxpZ25tZW50ID0gdGhp
cy5kYXRhR3JpZC5jb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdLmFsaWduOwogICAgICAgICBpZiAo
YWxpZ25tZW50KQogICAgICAgICAgICAgY2VsbC5hZGRTdHlsZUNsYXNzKGFsaWdubWVudCk7CiAK
QEAgLTE0MzcsOCArMTQ1Miw2IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBl
ID0gewogCiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jaGlsZHJlbi5sZW5ndGg7
ICsraSkKICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5baV0ucmV2ZWFsZWQgPSBmYWxzZTsKLQot
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygiY29sbGFwc2VkIik7CiAgICAg
fSwKIAogICAgIGNvbGxhcHNlUmVjdXJzaXZlbHk6IGZ1bmN0aW9uKCkKQEAgLTE0NTEsNiArMTQ2
NCw4IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICB9
CiAgICAgfSwKIAorICAgIHBvcHVsYXRlOiBmdW5jdGlvbigpIHsgfSwKKwogICAgIGV4cGFuZDog
ZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLmhhc0NoaWxkcmVuIHx8IHRoaXMu
ZXhwYW5kZWQpCkBAIC0xNDY2LDcgKzE0ODEsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2Rl
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jaGls
ZHJlbi5sZW5ndGg7ICsraSkKICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuW2ldLl9kZXRh
Y2goKTsKIAotICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoInBvcHVs
YXRlIik7CisgICAgICAgICAgICB0aGlzLnBvcHVsYXRlKCk7CiAKICAgICAgICAgICAgIGlmICh0
aGlzLl9hdHRhY2hlZCkgewogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhp
cy5jaGlsZHJlbi5sZW5ndGg7ICsraSkgewpAQCAtMTQ4NCw4ICsxNDk5LDYgQEAgV2ViSW5zcGVj
dG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50
LmFkZFN0eWxlQ2xhc3MoImV4cGFuZGVkIik7CiAKICAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSB0
cnVlOwotCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJleHBhbmRlZCIp
OwogICAgIH0sCiAKICAgICBleHBhbmRSZWN1cnNpdmVseTogZnVuY3Rpb24oKQpAQCAtMTUwOSw4
ICsxNTIyLDYgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIH0KIAogICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZChmYWxz
ZSk7Ci0KLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoInJldmVhbGVkIik7
CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTUzMCwxMCArMTU0MSw4IEBAIFdlYkluc3BlY3Rvci5E
YXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fZWxlbWVudCkKICAg
ICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKIAotICAg
ICAgICBpZiAoIXN1cHJlc3NTZWxlY3RlZEV2ZW50KSB7Ci0gICAgICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycygic2VsZWN0ZWQiKTsKKyAgICAgICAgaWYgKCFzdXByZXNzU2Vs
ZWN0ZWRFdmVudCkKICAgICAgICAgICAgIHRoaXMuZGF0YUdyaWQuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudHMuU2VsZWN0ZWROb2RlKTsKLSAgICAg
ICAgfQogICAgIH0sCiAKICAgICByZXZlYWxBbmRTZWxlY3Q6IGZ1bmN0aW9uKCkKQEAgLTE1NTgs
MTAgKzE1NjcsOCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKHRoaXMuX2VsZW1lbnQpCiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnJlbW92
ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAKLSAgICAgICAgaWYgKCFzdXByZXNzRGVzZWxlY3Rl
ZEV2ZW50KSB7Ci0gICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygiZGVz
ZWxlY3RlZCIpOworICAgICAgICBpZiAoIXN1cHJlc3NEZXNlbGVjdGVkRXZlbnQpCiAgICAgICAg
ICAgICB0aGlzLmRhdGFHcmlkLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQuRXZlbnRzLkRlc2VsZWN0ZWROb2RlKTsKLSAgICAgICAgfQogICAgIH0sCiAKICAg
ICAvKioKQEAgLTE1NzQsNyArMTU4MSw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJv
dG90eXBlID0gewogICAgIHRyYXZlcnNlTmV4dE5vZGU6IGZ1bmN0aW9uKHNraXBIaWRkZW4sIHN0
YXlXaXRoaW4sIGRvbnRQb3B1bGF0ZSwgaW5mbykKICAgICB7CiAgICAgICAgIGlmICghZG9udFBv
cHVsYXRlICYmIHRoaXMuaGFzQ2hpbGRyZW4pCi0gICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycygicG9wdWxhdGUiKTsKKyAgICAgICAgICAgIHRoaXMucG9wdWxhdGUoKTsK
IAogICAgICAgICBpZiAoaW5mbykKICAgICAgICAgICAgIGluZm8uZGVwdGhDaGFuZ2UgPSAwOwpA
QCAtMTYxNSwxMSArMTYyMiwxMSBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlw
ZSA9IHsKICAgICB7CiAgICAgICAgIHZhciBub2RlID0gKCFza2lwSGlkZGVuIHx8IHRoaXMucmV2
ZWFsZWQpID8gdGhpcy5wcmV2aW91c1NpYmxpbmcgOiBudWxsOwogICAgICAgICBpZiAoIWRvbnRQ
b3B1bGF0ZSAmJiBub2RlICYmIG5vZGUuaGFzQ2hpbGRyZW4pCi0gICAgICAgICAgICBub2RlLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycygicG9wdWxhdGUiKTsKKyAgICAgICAgICAgIG5vZGUucG9w
dWxhdGUoKTsKIAogICAgICAgICB3aGlsZSAobm9kZSAmJiAoKCFza2lwSGlkZGVuIHx8IChub2Rl
LnJldmVhbGVkICYmIG5vZGUuZXhwYW5kZWQpKSA/IG5vZGUuY2hpbGRyZW5bbm9kZS5jaGlsZHJl
bi5sZW5ndGggLSAxXSA6IG51bGwpKSB7CiAgICAgICAgICAgICBpZiAoIWRvbnRQb3B1bGF0ZSAm
JiBub2RlLmhhc0NoaWxkcmVuKQotICAgICAgICAgICAgICAgIG5vZGUuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKCJwb3B1bGF0ZSIpOworICAgICAgICAgICAgICAgIG5vZGUucG9wdWxhdGUoKTsK
ICAgICAgICAgICAgIG5vZGUgPSAoKCFza2lwSGlkZGVuIHx8IChub2RlLnJldmVhbGVkICYmIG5v
ZGUuZXhwYW5kZWQpKSA/IG5vZGUuY2hpbGRyZW5bbm9kZS5jaGlsZHJlbi5sZW5ndGggLSAxXSA6
IG51bGwpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGlyZWN0b3J5Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNvbnRlbnRWaWV3LmpzCmluZGV4IGU5NjBjZGE0Njgz
YWVkNWJlZjNhMTc2ZDM1MjVmMWExZGIyOTcwM2IuLmFiZDk2OWFhOGYyMjk3NTgyNGZlYzZlNTlj
NDE4NDRhN2Q2YTgwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGlyZWN0b3J5Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EaXJlY3RvcnlDb250ZW50Vmlldy5qcwpAQCAtMzYsNyArMzYsNyBAQCBX
ZWJJbnNwZWN0b3IuRGlyZWN0b3J5Q29udGVudFZpZXcgPSBmdW5jdGlvbigpCiB7CiAgICAgY29u
c3QgaW5kZXhlcyA9IFdlYkluc3BlY3Rvci5EaXJlY3RvcnlDb250ZW50Vmlldy5jb2x1bW5JbmRl
eGVzOwogICAgIHZhciBjb2x1bW5zID0gWwotICAgICAgICB7aWQ6IGluZGV4ZXMuTmFtZSwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLCBzb3J0YWJsZTogdHJ1ZSwgc29ydDog
ImFzY2VuZGluZyIsIHdpZHRoOiAiMjAlIn0sCisgICAgICAgIHtpZDogaW5kZXhlcy5OYW1lLCB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIiksIHNvcnRhYmxlOiB0cnVlLCBzb3J0
OiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuT3JkZXIuQXNjZW5kaW5nLCB3aWR0aDogIjIwJSJ9LAog
ICAgICAgICB7aWQ6IGluZGV4ZXMuVVJMLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJV
UkwiKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiMjAlIn0sCiAgICAgICAgIHtpZDogaW5kZXhl
cy5UeXBlLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBlIiksIHNvcnRhYmxlOiB0
cnVlLCB3aWR0aDogIjE1JSJ9LAogICAgICAgICB7aWQ6IGluZGV4ZXMuU2l6ZSwgdGl0bGU6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIxMCUi
fSwKQEAgLTQ0LDcgKzQ0LDcgQEAgV2ViSW5zcGVjdG9yLkRpcmVjdG9yeUNvbnRlbnRWaWV3ID0g
ZnVuY3Rpb24oKQogICAgIF07CiAKICAgICBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuY2FsbCh0aGlz
LCBjb2x1bW5zKTsKLSAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInNvcnRpbmcgY2hhbmdlZCIs
IHRoaXMuX3NvcnQsIHRoaXMpOworICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRGF0YUdyaWQuRXZlbnRzLlNvcnRpbmdDaGFuZ2VkLCB0aGlzLl9zb3J0LCB0aGlzKTsKIH0K
IAogV2ViSW5zcGVjdG9yLkRpcmVjdG9yeUNvbnRlbnRWaWV3LmNvbHVtbkluZGV4ZXMgPSB7CkBA
IC02OSw4ICs2OSw4IEBAIFdlYkluc3BlY3Rvci5EaXJlY3RvcnlDb250ZW50Vmlldy5wcm90b3R5
cGUgPSB7CiAKICAgICBfc29ydDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdmFyIGNvbHVt
biA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAodGhpcy5zb3J0Q29sdW1uSWRlbnRpZmllcik7Ci0g
ICAgICAgIHRoaXMuc29ydE5vZGVzKFdlYkluc3BlY3Rvci5EaXJlY3RvcnlDb250ZW50Vmlldy5O
b2RlLmNvbXBhcmF0b3IoY29sdW1uLCB0aGlzLnNvcnRPcmRlciA9PT0gImRlc2NlbmRpbmciKSwg
ZmFsc2UpOworICAgICAgICB2YXIgY29sdW1uID0gLyoqIEB0eXBlIHtzdHJpbmd9ICovICh0aGlz
LnNvcnRDb2x1bW5JZGVudGlmaWVyKCkpOworICAgICAgICB0aGlzLnNvcnROb2RlcyhXZWJJbnNw
ZWN0b3IuRGlyZWN0b3J5Q29udGVudFZpZXcuTm9kZS5jb21wYXJhdG9yKGNvbHVtbiwgIXRoaXMu
aXNTb3J0T3JkZXJBc2NlbmRpbmcoKSksIGZhbHNlKTsKICAgICB9LAogCiAgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCmlu
ZGV4IDAxMTk2MWY2Njc4NjFmNDI3ZTU0MDcxYmNjZWQ0MWFjZTEwMzc0N2IuLjY2ZGViNWI0YTMy
OGRmNmE1Y2MzMWQ4ZjlmYjBiYjgwODE3OTljNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCkBA
IC00OSw3ICs0OSw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFHcmlk
ID0gZnVuY3Rpb24oY29sdW1ucykKICAgICAgKi8KICAgICB0aGlzLl9wb3B1bGF0ZWRBbmRTb3J0
ZWQgPSBmYWxzZTsKICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInNvcnRpbmcgY29tcGxldGUi
LCB0aGlzLl9zb3J0aW5nQ29tcGxldGUsIHRoaXMpOwotICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5l
cigic29ydGluZyBjaGFuZ2VkIiwgdGhpcy5zb3J0aW5nQ2hhbmdlZCwgdGhpcyk7CisgICAgdGhp
cy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudHMuU29ydGluZ0No
YW5nZWQsIHRoaXMuc29ydGluZ0NoYW5nZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90U29ydGFibGVEYXRhR3JpZC5FdmVudHMgPSB7CkBAIC0xODcsOCArMTg3LDggQEAg
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWQucHJvdG90eXBlID0gewog
CiAgICAgc29ydGluZ0NoYW5nZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBzb3J0
QXNjZW5kaW5nID0gdGhpcy5zb3J0T3JkZXIgPT09ICJhc2NlbmRpbmciOwotICAgICAgICB2YXIg
c29ydENvbHVtbklkZW50aWZpZXIgPSB0aGlzLnNvcnRDb2x1bW5JZGVudGlmaWVyOworICAgICAg
ICB2YXIgc29ydEFzY2VuZGluZyA9IHRoaXMuaXNTb3J0T3JkZXJBc2NlbmRpbmcoKTsKKyAgICAg
ICAgdmFyIHNvcnRDb2x1bW5JZGVudGlmaWVyID0gdGhpcy5zb3J0Q29sdW1uSWRlbnRpZmllcigp
OwogICAgICAgICBpZiAodGhpcy5fbGFzdFNvcnRDb2x1bW5JZGVudGlmaWVyID09PSBzb3J0Q29s
dW1uSWRlbnRpZmllciAmJiB0aGlzLl9sYXN0U29ydEFzY2VuZGluZyA9PT0gc29ydEFzY2VuZGlu
ZykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdGhpcy5fbGFzdFNvcnRDb2x1bW5JZGVu
dGlmaWVyID0gc29ydENvbHVtbklkZW50aWZpZXI7CkBAIC00MzIsNyArNDMyLDcgQEAgV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdENvbnRhaW5tZW50RGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5z
KQogICAgIGNvbHVtbnMgPSBjb2x1bW5zIHx8IFsKICAgICAgICAge2lkOiAib2JqZWN0IiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0IiksIGRpc2Nsb3N1cmU6IHRydWUsIHNv
cnRhYmxlOiB0cnVlfSwKICAgICAgICAge2lkOiAic2hhbGxvd1NpemUiLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRhYmxl
OiB0cnVlfSwKLSAgICAgICAge2lkOiAicmV0YWluZWRTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUmV0YWluZWQgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydGFibGU6IHRy
dWUsIHNvcnQ6ICJkZXNjZW5kaW5nIn0KKyAgICAgICAge2lkOiAicmV0YWluZWRTaXplIiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmV0YWluZWQgU2l6ZSIpLCB3aWR0aDogIjEyMHB4
Iiwgc29ydGFibGU6IHRydWUsIHNvcnQ6IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5PcmRlci5EZXNj
ZW5kaW5nfQogICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0
YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKIH0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCBXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90UmV0YWlubWVudERhdGFHcmlkID0gZnVuY3Rpb24oKQogICAgICAg
ICB7aWQ6ICJvYmplY3QiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPYmplY3QiKSwg
ZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWV9LAogICAgICAgICB7aWQ6ICJzaGFsbG93
U2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNoYWxsb3cgU2l6ZSIpLCB3aWR0
aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWV9LAogICAgICAgICB7aWQ6ICJyZXRhaW5lZFNpemUi
LCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAi
MTIwcHgiLCBzb3J0YWJsZTogdHJ1ZX0sCi0gICAgICAgIHtpZDogImRpc3RhbmNlIiwgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzdGFuY2UiKSwgd2lkdGg6ICI4MHB4Iiwgc29ydGFi
bGU6IHRydWUsIHNvcnQ6ICJhc2NlbmRpbmcifQorICAgICAgICB7aWQ6ICJkaXN0YW5jZSIsIHRp
dGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRpc3RhbmNlIiksIHdpZHRoOiAiODBweCIsIHNv
cnRhYmxlOiB0cnVlLCBzb3J0OiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuT3JkZXIuQXNjZW5kaW5n
fQogICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnRhaW5tZW50RGF0YUdy
aWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKIH0KQEAgLTUwNSw3ICs1MDUsNyBAQCBXZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90Q29uc3RydWN0b3JzRGF0YUdyaWQgPSBmdW5jdGlvbigpCiAgICAgICAg
IHtpZDogImRpc3RhbmNlIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzdGFuY2Ui
KSwgd2lkdGg6ICI5MHB4Iiwgc29ydGFibGU6IHRydWV9LAogICAgICAgICB7aWQ6ICJjb3VudCIs
IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVjdHMgQ291bnQiKSwgd2lkdGg6ICI5
MHB4Iiwgc29ydGFibGU6IHRydWV9LAogICAgICAgICB7aWQ6ICJzaGFsbG93U2l6ZSIsIHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNoYWxsb3cgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwg
c29ydGFibGU6IHRydWV9LAotICAgICAgICB7aWQ6ICJyZXRhaW5lZFNpemUiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0
OiAiZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlfQorICAgICAgICB7aWQ6ICJyZXRhaW5lZFNp
emUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRo
OiAiMTIwcHgiLCBzb3J0OiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuT3JkZXIuRGVzY2VuZGluZywg
c29ydGFibGU6IHRydWV9CiAgICAgXTsKICAgICBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Vmll
d3BvcnREYXRhR3JpZC5jYWxsKHRoaXMsIGNvbHVtbnMpOwogICAgIHRoaXMuX3Byb2ZpbGVJbmRl
eCA9IC0xOwpAQCAtNjEzLDcgKzYxMyw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3REaWZm
RGF0YUdyaWQgPSBmdW5jdGlvbigpCiAgICAgICAgIHtpZDogImFkZGVkQ291bnQiLCB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIjIE5ldyIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTog
dHJ1ZX0sCiAgICAgICAgIHtpZDogInJlbW92ZWRDb3VudCIsIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIiMgRGVsZXRlZCIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTogdHJ1ZX0sCiAg
ICAgICAgIHtpZDogImNvdW50RGVsdGEiLCB0aXRsZTogIiMgRGVsdGEiLCB3aWR0aDogIjY0cHgi
LCBzb3J0YWJsZTogdHJ1ZX0sCi0gICAgICAgIHtpZDogImFkZGVkU2l6ZSIsIHRpdGxlOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkFsbG9jLiBTaXplIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxl
OiB0cnVlLCBzb3J0OiAiZGVzY2VuZGluZyJ9LAorICAgICAgICB7aWQ6ICJhZGRlZFNpemUiLCB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBbGxvYy4gU2l6ZSIpLCB3aWR0aDogIjcycHgi
LCBzb3J0YWJsZTogdHJ1ZSwgc29ydDogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLk9yZGVyLkRlc2Nl
bmRpbmd9LAogICAgICAgICB7aWQ6ICJyZW1vdmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkZyZWVkIFNpemUiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWV9LAog
ICAgICAgICB7aWQ6ICJzaXplRGVsdGEiLCB0aXRsZTogIlNpemUgRGVsdGEiLCB3aWR0aDogIjcy
cHgiLCBzb3J0YWJsZTogdHJ1ZX0KICAgICBdOwpAQCAtNjk3LDcgKzY5Nyw3IEBAIFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3REb21pbmF0b3JzRGF0YUdyaWQgPSBmdW5jdGlvbigpCiAgICAgdmFy
IGNvbHVtbnMgPSBbCiAgICAgICAgIHtpZDogIm9iamVjdCIsIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIk9iamVjdCIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZX0sCiAg
ICAgICAgIHtpZDogInNoYWxsb3dTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2hhbGxvdyBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZX0sCi0gICAgICAg
IHtpZDogInJldGFpbmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJldGFp
bmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnQ6ICJkZXNjZW5kaW5nIiwgc29ydGFibGU6
IHRydWV9CisgICAgICAgIHtpZDogInJldGFpbmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJldGFpbmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnQ6IFdlYkluc3Bl
Y3Rvci5EYXRhR3JpZC5PcmRlci5EZXNjZW5kaW5nLCBzb3J0YWJsZTogdHJ1ZX0KICAgICBdOwog
ICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFHcmlkLmNhbGwodGhpcywg
Y29sdW1ucyk7CiAgICAgdGhpcy5fb2JqZWN0SWRUb1NlbGVjdCA9IG51bGw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdEdyaWROb2Rl
cy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90R3Jp
ZE5vZGVzLmpzCmluZGV4IDE1NTYxYzAyMjZhNGFmN2VhODViNWIzMTM5M2EzMTUzMGUwYTQyYzMu
LmZlYmE3OTQ4ZTJiY2NiNmZkNmIwNGE2ZjA4NTk1OTQ4MWE2MjYwMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90R3JpZE5vZGVzLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90R3Jp
ZE5vZGVzLmpzCkBAIC00Niw3ICs0Niw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlk
Tm9kZSA9IGZ1bmN0aW9uKHRyZWUsIGhhc0NoaWxkcmVuKQogICAgICAqIFBvc2l0aW9uIGlzIGFu
IGl0ZW0gcG9zaXRpb24gaW4gdGhlIHByb3ZpZGVyLgogICAgICAqLwogICAgIHRoaXMuX3JldHJp
ZXZlZENoaWxkcmVuUmFuZ2VzID0gW107Ci0gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCJwb3B1
bGF0ZSIsIHRoaXMuX3BvcHVsYXRlLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdEdyaWROb2RlLnByb3RvdHlwZSA9IHsKQEAgLTE0OCw5ICsxNDcsMTIgQEAgV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdEdyaWROb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGNl
bGw7CiAgICAgfSwKIAotICAgIF9wb3B1bGF0ZTogZnVuY3Rpb24oZXZlbnQpCisgICAgcG9wdWxh
dGU6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3Rl
bmVyKCJwb3B1bGF0ZSIsIHRoaXMuX3BvcHVsYXRlLCB0aGlzKTsKKyAgICAgICAgaWYgKHRoaXMu
X3BvcHVsYXRlZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGhpcy5fcG9wdWxhdGVk
ID0gdHJ1ZTsKKwogICAgICAgICBmdW5jdGlvbiBzb3J0ZWQoKQogICAgICAgICB7CiAgICAgICAg
ICAgICB0aGlzLl9wb3B1bGF0ZUNoaWxkcmVuKCk7CkBAIC0xNjAsOCArMTYyLDggQEAgV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdEdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGV4cGFuZFdp
dGhvdXRQb3B1bGF0ZTogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICAvLyBNYWtl
IHN1cmUgZGVmYXVsdCBfcG9wdWxhdGUgd29uJ3QgYmUgaW52b2tlZC4KLSAgICAgICAgdGhpcy5y
ZW1vdmVFdmVudExpc3RlbmVyKCJwb3B1bGF0ZSIsIHRoaXMuX3BvcHVsYXRlLCB0aGlzKTsKKyAg
ICAgICAgLy8gTWFrZSBzdXJlIGRlZmF1bHQgcG9wdWxhdGUgd29uJ3QgdGFrZSBhY3Rpb24uCisg
ICAgICAgIHRoaXMuX3BvcHVsYXRlZCA9IHRydWU7CiAgICAgICAgIHRoaXMuZXhwYW5kKCk7CiAg
ICAgICAgIHRoaXMuX3Byb3ZpZGVyKCkuc29ydEFuZFJld2luZCh0aGlzLmNvbXBhcmF0b3IoKSwg
Y2FsbGJhY2spOwogICAgIH0sCkBAIC01ODUsOCArNTg3LDggQEAgV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdE9iamVjdE5vZGUucHJvdG90eXBlID0gewogCiAgICAgY29tcGFyYXRvcjogZnVuY3Rp
b24oKQogICAgIHsKLSAgICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLl9kYXRhR3JpZC5z
b3J0T3JkZXIgPT09ICJhc2NlbmRpbmciOwotICAgICAgICB2YXIgc29ydENvbHVtbklkZW50aWZp
ZXIgPSB0aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1uSWRlbnRpZmllcjsKKyAgICAgICAgdmFyIHNv
cnRBc2NlbmRpbmcgPSB0aGlzLl9kYXRhR3JpZC5pc1NvcnRPcmRlckFzY2VuZGluZygpOworICAg
ICAgICB2YXIgc29ydENvbHVtbklkZW50aWZpZXIgPSB0aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1u
SWRlbnRpZmllcigpOwogICAgICAgICB2YXIgc29ydEZpZWxkcyA9IHsKICAgICAgICAgICAgIG9i
amVjdDogWyIhZWRnZU5hbWUiLCBzb3J0QXNjZW5kaW5nLCAicmV0YWluZWRTaXplIiwgZmFsc2Vd
LAogICAgICAgICAgICAgY291bnQ6IFsiIWVkZ2VOYW1lIiwgdHJ1ZSwgInJldGFpbmVkU2l6ZSIs
IGZhbHNlXSwKQEAgLTY4Miw4ICs2ODQsOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5z
dGFuY2VOb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGNvbXBhcmF0b3I6IGZ1bmN0aW9uKCkKICAg
ICB7Ci0gICAgICAgIHZhciBzb3J0QXNjZW5kaW5nID0gdGhpcy5fZGF0YUdyaWQuc29ydE9yZGVy
ID09PSAiYXNjZW5kaW5nIjsKLSAgICAgICAgdmFyIHNvcnRDb2x1bW5JZGVudGlmaWVyID0gdGhp
cy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXI7CisgICAgICAgIHZhciBzb3J0QXNjZW5k
aW5nID0gdGhpcy5fZGF0YUdyaWQuaXNTb3J0T3JkZXJBc2NlbmRpbmcoKTsKKyAgICAgICAgdmFy
IHNvcnRDb2x1bW5JZGVudGlmaWVyID0gdGhpcy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZp
ZXIoKTsKICAgICAgICAgdmFyIHNvcnRGaWVsZHMgPSB7CiAgICAgICAgICAgICBvYmplY3Q6IFsi
IWVkZ2VOYW1lIiwgc29ydEFzY2VuZGluZywgInJldGFpbmVkU2l6ZSIsIGZhbHNlXSwKICAgICAg
ICAgICAgIGRpc3RhbmNlOiBbImRpc3RhbmNlIiwgc29ydEFzY2VuZGluZywgInJldGFpbmVkU2l6
ZSIsIGZhbHNlXSwKQEAgLTY5OCw3ICs3MDAsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
SW5zdGFuY2VOb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIF9lbXB0eURhdGE6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiB7Y291bnQ6IiIsIGNvdW50RGVsdGE6IiIsIHNpemVEZWx0
YTogIiJ9OworICAgICAgICByZXR1cm4ge2NvdW50OiAiIiwgY291bnREZWx0YTogIiIsIHNpemVE
ZWx0YTogIiJ9OwogICAgIH0sCiAKICAgICBfZW5oYW5jZURhdGE6IGZ1bmN0aW9uKGRhdGEpCkBA
IC04MDEsOCArODAzLDggQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnN0cnVjdG9yTm9k
ZS5wcm90b3R5cGUgPSB7CiAKICAgICBjb21wYXJhdG9yOiBmdW5jdGlvbigpCiAgICAgewotICAg
ICAgICB2YXIgc29ydEFzY2VuZGluZyA9IHRoaXMuX2RhdGFHcmlkLnNvcnRPcmRlciA9PT0gImFz
Y2VuZGluZyI7Ci0gICAgICAgIHZhciBzb3J0Q29sdW1uSWRlbnRpZmllciA9IHRoaXMuX2RhdGFH
cmlkLnNvcnRDb2x1bW5JZGVudGlmaWVyOworICAgICAgICB2YXIgc29ydEFzY2VuZGluZyA9IHRo
aXMuX2RhdGFHcmlkLmlzU29ydE9yZGVyQXNjZW5kaW5nKCk7CisgICAgICAgIHZhciBzb3J0Q29s
dW1uSWRlbnRpZmllciA9IHRoaXMuX2RhdGFHcmlkLnNvcnRDb2x1bW5JZGVudGlmaWVyKCk7CiAg
ICAgICAgIHZhciBzb3J0RmllbGRzID0gewogICAgICAgICAgICAgb2JqZWN0OiBbImlkIiwgc29y
dEFzY2VuZGluZywgInJldGFpbmVkU2l6ZSIsIGZhbHNlXSwKICAgICAgICAgICAgIGRpc3RhbmNl
OiBbImRpc3RhbmNlIiwgdHJ1ZSwgInJldGFpbmVkU2l6ZSIsIGZhbHNlXSwKQEAgLTk4MSw4ICs5
ODMsOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RGlmZk5vZGUucHJvdG90eXBlID0gewog
CiAgICAgY29tcGFyYXRvcjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdmFyIHNvcnRBc2Nl
bmRpbmcgPSB0aGlzLl9kYXRhR3JpZC5zb3J0T3JkZXIgPT09ICJhc2NlbmRpbmciOwotICAgICAg
ICB2YXIgc29ydENvbHVtbklkZW50aWZpZXIgPSB0aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1uSWRl
bnRpZmllcjsKKyAgICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLl9kYXRhR3JpZC5pc1Nv
cnRPcmRlckFzY2VuZGluZygpOworICAgICAgICB2YXIgc29ydENvbHVtbklkZW50aWZpZXIgPSB0
aGlzLl9kYXRhR3JpZC5zb3J0Q29sdW1uSWRlbnRpZmllcigpOwogICAgICAgICB2YXIgc29ydEZp
ZWxkcyA9IHsKICAgICAgICAgICAgIG9iamVjdDogWyJpZCIsIHNvcnRBc2NlbmRpbmcsICJzZWxm
U2l6ZSIsIGZhbHNlXSwKICAgICAgICAgICAgIGFkZGVkQ291bnQ6IFsic2VsZlNpemUiLCBzb3J0
QXNjZW5kaW5nLCAiaWQiLCB0cnVlXSwKQEAgLTEwOTIsOCArMTA5NCw4IEBAIFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3REb21pbmF0b3JPYmplY3ROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGNv
bXBhcmF0b3I6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBzb3J0QXNjZW5kaW5nID0g
dGhpcy5fZGF0YUdyaWQuc29ydE9yZGVyID09PSAiYXNjZW5kaW5nIjsKLSAgICAgICAgdmFyIHNv
cnRDb2x1bW5JZGVudGlmaWVyID0gdGhpcy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXI7
CisgICAgICAgIHZhciBzb3J0QXNjZW5kaW5nID0gdGhpcy5fZGF0YUdyaWQuaXNTb3J0T3JkZXJB
c2NlbmRpbmcoKTsKKyAgICAgICAgdmFyIHNvcnRDb2x1bW5JZGVudGlmaWVyID0gdGhpcy5fZGF0
YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXIoKTsKICAgICAgICAgdmFyIHNvcnRGaWVsZHMgPSB7
CiAgICAgICAgICAgICBvYmplY3Q6IFsiaWQiLCBzb3J0QXNjZW5kaW5nLCAicmV0YWluZWRTaXpl
IiwgZmFsc2VdLAogICAgICAgICAgICAgc2hhbGxvd1NpemU6IFsic2VsZlNpemUiLCBzb3J0QXNj
ZW5kaW5nLCAiaWQiLCB0cnVlXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKaW5kZXggNzNk
YWUyMDEyODQ0NmYzMTFhMWM0YmM2OWU4ODFkODk2ODMzYWYxYy4uMTg1YWMxZTk3NjAzNDY0M2Fj
M2Q4ZDcwMDI1MzMzYzJlYzhhYWMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKQEAg
LTU3LDcgKzU3LDcgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZVNuYXBzaG90RGF0YUdyaWQgPSBmdW5j
dGlvbihwcm9maWxlKQogewogICAgIHZhciBjb2x1bW5zID0gWwogICAgICAgICB7aWQ6ICJuYW1l
IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0IiksIHdpZHRoOiAiMjAwcHgi
LCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZX0sCi0gICAgICAgIHtpZDogInNpemUi
LCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaXplIiksIHNvcnRhYmxlOiB0cnVlLCBz
b3J0OiAiZGVzY2VuZGluZyJ9LAorICAgICAgICB7aWQ6ICJzaXplIiwgdGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiU2l6ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgc29ydDogV2ViSW5zcGVjdG9y
LkRhdGFHcmlkLk9yZGVyLkRlc2NlbmRpbmd9LAogICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkRh
dGFHcmlkLmNhbGwodGhpcywgY29sdW1ucyk7CiAgICAgdGhpcy5fcHJvZmlsZSA9IHByb2ZpbGU7
CkBAIC02OCw5ICs2OCw5IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdERhdGFHcmlkID0g
ZnVuY3Rpb24ocHJvZmlsZSkKICAgICAgICAgdGhpcy5fdG90YWxOb2RlLmV4cGFuZCgpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIHRoaXMuc2V0Um9vdE5vZGUodGhpcy5fdG90YWxOb2RlKTsKLSAg
ICAgICAgdGhpcy5fdG90YWxOb2RlLl9wb3B1bGF0ZSgpOworICAgICAgICB0aGlzLl90b3RhbE5v
ZGUucG9wdWxhdGUoKTsKICAgICB9Ci0gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCJzb3J0aW5n
IGNoYW5nZWQiLCB0aGlzLnNvcnRpbmdDaGFuZ2VkLmJpbmQodGhpcyksIHRoaXMpOworICAgIHRo
aXMuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnRzLlNvcnRpbmdD
aGFuZ2VkLCB0aGlzLnNvcnRpbmdDaGFuZ2VkLmJpbmQodGhpcyksIHRoaXMpOwogfQogCiBXZWJJ
bnNwZWN0b3IuTmF0aXZlU25hcHNob3REYXRhR3JpZC5wcm90b3R5cGUgPSB7CkBAIC03OSw3ICs3
OSw3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdERhdGFHcmlkLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdmFyIGV4cGFuZGVkTm9kZXMgPSB7fTsKICAgICAgICAgdGhpcy5fdG90YWxOb2Rl
Ll9zdG9yZVN0YXRlKGV4cGFuZGVkTm9kZXMpOwogICAgICAgICB0aGlzLl90b3RhbE5vZGUucmVt
b3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgdGhpcy5fdG90YWxOb2RlLl9wb3B1bGF0ZSgpOworICAg
ICAgICB0aGlzLl90b3RhbE5vZGUucG9wdWxhdGUoKTsKICAgICAgICAgdGhpcy5fdG90YWxOb2Rl
Ll9zaG91bGRSZWZyZXNoQ2hpbGRyZW4gPSB0cnVlOwogICAgICAgICB0aGlzLl90b3RhbE5vZGUu
X3Jlc3RvcmVTdGF0ZShleHBhbmRlZE5vZGVzKTsKICAgICB9LApAQCAtOTAsOCArOTAsOCBAQCBX
ZWJJbnNwZWN0b3IuTmF0aXZlU25hcHNob3REYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgX3NvcnRpbmdGdW5jdGlvbjogZnVuY3Rpb24obm9kZUEsIG5vZGVCKQogICAgIHsKLSAg
ICAgICAgdmFyIHNvcnRDb2x1bW5JZGVudGlmaWVyID0gdGhpcy5zb3J0Q29sdW1uSWRlbnRpZmll
cjsKLSAgICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLnNvcnRPcmRlciA9PT0gImFzY2Vu
ZGluZyI7CisgICAgICAgIHZhciBzb3J0Q29sdW1uSWRlbnRpZmllciA9IHRoaXMuc29ydENvbHVt
bklkZW50aWZpZXIoKTsKKyAgICAgICAgdmFyIHNvcnRBc2NlbmRpbmcgPSB0aGlzLmlzU29ydE9y
ZGVyQXNjZW5kaW5nKCk7CiAgICAgICAgIHZhciBmaWVsZDEgPSBub2RlQVtzb3J0Q29sdW1uSWRl
bnRpZmllcl07CiAgICAgICAgIHZhciBmaWVsZDIgPSBub2RlQltzb3J0Q29sdW1uSWRlbnRpZmll
cl07CiAgICAgICAgIHZhciByZXN1bHQgPSBmaWVsZDEgPCBmaWVsZDIgPyAtMSA6IChmaWVsZDEg
PiBmaWVsZDIgPyAxIDogMCk7CkBAIC0xMTYsNyArMTE2LDYgQEAgV2ViSW5zcGVjdG9yLk5hdGl2
ZVNuYXBzaG90Tm9kZSA9IGZ1bmN0aW9uKG5vZGVEYXRhLCBwcm9maWxlKQogICAgIHZhciBkYXRh
ID0geyBuYW1lOiB2aWV3UHJvcGVydGllcy5fZGVzY3JpcHRpb24sIHNpemU6IHRoaXMuX25vZGVE
YXRhLnNpemUgfTsKICAgICB2YXIgaGFzQ2hpbGRyZW4gPSB0aGlzLl9hZGRDaGlsZHJlbkZyb21H
cmFwaCgpOwogICAgIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUuY2FsbCh0aGlzLCBkYXRhLCBo
YXNDaGlsZHJlbik7Ci0gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCJwb3B1bGF0ZSIsIHRoaXMu
X3BvcHVsYXRlLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLk5hdGl2ZVNuYXBzaG90Tm9kZS5w
cm90b3R5cGUgPSB7CkBAIC0yMTcsOCArMjE2LDEwIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFw
c2hvdE5vZGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gY2VsbDsKICAgICB9LAogCi0g
ICAgX3BvcHVsYXRlOiBmdW5jdGlvbigpIHsKLSAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3Rl
bmVyKCJwb3B1bGF0ZSIsIHRoaXMuX3BvcHVsYXRlLCB0aGlzKTsKKyAgICBwb3B1bGF0ZTogZnVu
Y3Rpb24oKSB7CisgICAgICAgIGlmICh0aGlzLl9wb3B1bGF0ZWQpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIHRoaXMuX3BvcHVsYXRlZCA9IHRydWU7CiAgICAgICAgIGlmICh0aGlzLl9u
b2RlRGF0YS5jaGlsZHJlbikKICAgICAgICAgICAgIHRoaXMuX2FkZENoaWxkcmVuKCk7CiAgICAg
fSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFu
ZWwuanMKaW5kZXggYjA1MDhiNTc1NTkyNDM4NjdlNmYxMmRmMTVjZTM0ZWUyOTliNmUyMC4uMDli
NDU0ZDZhYzY5NTlmMDY1NjI1YzYzZjFjYjQ4Yzk2NDE1NWFmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKQEAgLTIwOCw3ICsy
MDgsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29va2llcyIpLAogICAgICAgICAg
ICAgc29ydGFibGU6IHRydWUsCiAgICAgICAgICAgICB3ZWlnaHQ6IDYsCi0gICAgICAgICAgICBh
bGlnbmVkOiAicmlnaHQiCisgICAgICAgICAgICBhbGlnbjogV2ViSW5zcGVjdG9yLkRhdGFHcmlk
LkFsaWduLlJpZ2h0CiAgICAgICAgIH0pOwogCiAgICAgICAgIGNvbHVtbnMucHVzaCh7CkBAIC0y
MTYsNyArMjE2LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNldC1Db29raWVzIiks
CiAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKICAgICAgICAgICAgIHdlaWdodDogNiwKLSAg
ICAgICAgICAgIGFsaWduZWQ6ICJyaWdodCIKKyAgICAgICAgICAgIGFsaWduOiBXZWJJbnNwZWN0
b3IuRGF0YUdyaWQuQWxpZ24uUmlnaHQKICAgICAgICAgfSk7CiAKICAgICAgICAgY29sdW1ucy5w
dXNoKHsKQEAgLTIyNSw3ICsyMjUsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJv
dG90eXBlID0gewogICAgICAgICAgICAgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6
ZSIpLAogICAgICAgICAgICAgc29ydGFibGU6IHRydWUsCiAgICAgICAgICAgICB3ZWlnaHQ6IDYs
Ci0gICAgICAgICAgICBhbGlnbmVkOiAicmlnaHQiCisgICAgICAgICAgICBhbGlnbjogV2ViSW5z
cGVjdG9yLkRhdGFHcmlkLkFsaWduLlJpZ2h0CiAgICAgICAgIH0pOwogCiAgICAgICAgIGNvbHVt
bnMucHVzaCh7CkBAIC0yMzQsNyArMjM0LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlRpbWUiKSwKICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAogICAgICAgICAgICAgd2VpZ2h0
OiA2LAotICAgICAgICAgICAgYWxpZ25lZDogInJpZ2h0IgorICAgICAgICAgICAgYWxpZ246IFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5BbGlnbi5SaWdodAogICAgICAgICB9KTsKIAogICAgICAgICBj
b2x1bW5zLnB1c2goewpAQCAtMjQzLDcgKzI0Myw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJUaW1lbGluZSIpLAogICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLAogICAgICAgICAg
ICAgd2VpZ2h0OiA0MCwKLSAgICAgICAgICAgIHNvcnQ6ICJhc2NlbmRpbmciCisgICAgICAgICAg
ICBzb3J0OiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuT3JkZXIuQXNjZW5kaW5nCiAgICAgICAgIH0p
OwogCiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChj
b2x1bW5zKTsKQEAgLTI1Myw4ICsyNTMsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcu
cHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93KHRoaXMuZWxlbWVudCk7
CiAKICAgICAgICAgLy8gRXZlbnQgbGlzdGVuZXJzIG5lZWQgdG8gYmUgYWRkZWQgX2FmdGVyXyB3
ZSBhdHRhY2ggdG8gdGhlIGRvY3VtZW50LCBzbyB0aGF0IG93bmVyIGRvY3VtZW50IGlzIHByb3Bl
cmx5IHVwZGF0ZS4KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcigic29y
dGluZyBjaGFuZ2VkIiwgdGhpcy5fc29ydEl0ZW1zLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fZGF0
YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcigid2lkdGggY2hhbmdlZCIsIHRoaXMuX3VwZGF0ZURpdmlk
ZXJzSWZOZWVkZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudHMuU29ydGluZ0NoYW5nZWQsIHRoaXMuX3Nv
cnRJdGVtcywgdGhpcyk7CisgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cy5Db2x1bW5zUmVzaXplZCwgdGhpcy5fdXBkYXRl
RGl2aWRlcnNJZk5lZWRlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNjcm9sbENv
bnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB0aGlzLl91cGRhdGVPZmZzY3JlZW5S
b3dzLmJpbmQodGhpcykpOwogCiAgICAgICAgIHRoaXMuX3BhdGNoVGltZWxpbmVIZWFkZXIoKTsK
QEAgLTM0Niw3ICszNDYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBl
ID0gewogICAgIF9zb3J0SXRlbXM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3Jl
bW92ZUFsbE5vZGVIaWdobGlnaHRzKCk7Ci0gICAgICAgIHZhciBjb2x1bW5JZGVudGlmaWVyID0g
dGhpcy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXI7CisgICAgICAgIHZhciBjb2x1bW5J
ZGVudGlmaWVyID0gdGhpcy5fZGF0YUdyaWQuc29ydENvbHVtbklkZW50aWZpZXIoKTsKICAgICAg
ICAgaWYgKGNvbHVtbklkZW50aWZpZXIgPT09ICJ0aW1lbGluZSIpIHsKICAgICAgICAgICAgIHRo
aXMuX3NvcnRCeVRpbWVsaW5lKCk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zNTUsNyArMzU1
LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAg
aWYgKCFzb3J0aW5nRnVuY3Rpb24pCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhp
cy5fZGF0YUdyaWQuc29ydE5vZGVzKHNvcnRpbmdGdW5jdGlvbiwgdGhpcy5fZGF0YUdyaWQuc29y
dE9yZGVyID09PSAiZGVzY2VuZGluZyIpOworICAgICAgICB0aGlzLl9kYXRhR3JpZC5zb3J0Tm9k
ZXMoc29ydGluZ0Z1bmN0aW9uLCAhdGhpcy5fZGF0YUdyaWQuaXNTb3J0T3JkZXJBc2NlbmRpbmco
KSk7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lU29ydFNlbGVjdG9yLnNlbGVjdGVkSW5kZXggPSAw
OwogICAgICAgICB0aGlzLl91cGRhdGVPZmZzY3JlZW5Sb3dzKCk7CiAKQEAgLTM2NCw3ICszNjQs
NyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBX
ZWJJbnNwZWN0b3Iubm90aWZpY2F0aW9ucy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLlVzZXJNZXRyaWNzLlVzZXJBY3Rpb24sIHsKICAgICAgICAgICAgIGFjdGlvbjogV2Vi
SW5zcGVjdG9yLlVzZXJNZXRyaWNzLlVzZXJBY3Rpb25OYW1lcy5OZXR3b3JrU29ydCwKICAgICAg
ICAgICAgIGNvbHVtbjogY29sdW1uSWRlbnRpZmllciwKLSAgICAgICAgICAgIHNvcnRPcmRlcjog
dGhpcy5fZGF0YUdyaWQuc29ydE9yZGVyCisgICAgICAgICAgICBzb3J0T3JkZXI6IHRoaXMuX2Rh
dGFHcmlkLnNvcnRPcmRlcigpCiAgICAgICAgIH0pOwogICAgIH0sCiAKQEAgLTM4NCw3ICszODQs
NyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVHcmlkLmhpZGVFdmVudERpdmlkZXJzKCk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lR3JpZC5zaG93RXZlbnREaXZpZGVycygpOwotICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5tYXJrQ29sdW1uQXNTb3J0ZWRCeSgidGltZWxpbmUiLCAiYXNj
ZW5kaW5nIik7CisgICAgICAgIHRoaXMuX2RhdGFHcmlkLm1hcmtDb2x1bW5Bc1NvcnRlZEJ5KCJ0
aW1lbGluZSIsIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5PcmRlci5Bc2NlbmRpbmcpOwogICAgICAg
ICB0aGlzLl91cGRhdGVPZmZzY3JlZW5Sb3dzKCk7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpz
CmluZGV4IDBjMDI2ODM0MWVhOGNjMDk1NTI1MmJlNDVjOThkMzAzNTczYzgzOTkuLjUyY2FlMTRi
ODU5ZmFmZjZiM2NiYWNmY2RlMDA3MGIwMjliZDEwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZURhdGFHcmlkVHJlZS5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVEYXRhR3JpZFRyZWUuanMKQEAg
LTM2LDggKzM2LDYgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZE5vZGUgPSBmdW5jdGlv
bihwcm9maWxlTm9kZSwgb3duaW5nVHJlZSwgaGFzQ2hpbGRyZW4KIAogICAgIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZE5vZGUuY2FsbCh0aGlzLCBudWxsLCBoYXNDaGlsZHJlbik7CiAKLSAgICB0aGlz
LmFkZEV2ZW50TGlzdGVuZXIoInBvcHVsYXRlIiwgdGhpcy5fcG9wdWxhdGUsIHRoaXMpOwotCiAg
ICAgdGhpcy50cmVlID0gb3duaW5nVHJlZTsKIAogICAgIHRoaXMuY2hpbGRyZW5CeUNhbGxVSUQg
PSB7fTsKQEAgLTIzNSw4ICsyMzMsMTIgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZE5v
ZGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQgIT09IHRoaXMuZGF0
YUdyaWQgPyB0aGlzLnBhcmVudCA6IHRoaXMudHJlZTsKICAgICB9LAogCi0gICAgX3BvcHVsYXRl
OiBmdW5jdGlvbigpCisgICAgcG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIGlm
ICh0aGlzLl9wb3B1bGF0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRoaXMuX3Bv
cHVsYXRlZCA9IHRydWU7CisKICAgICAgICAgdGhpcy5fc2hhcmVkUG9wdWxhdGUoKTsKIAogICAg
ICAgICBpZiAodGhpcy5fcGFyZW50KSB7CkBAIC0yNDUsOSArMjQ3LDYgQEAgV2ViSW5zcGVjdG9y
LlByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKGN1cnJl
bnRDb21wYXJhdG9yKQogICAgICAgICAgICAgICAgIHRoaXMuc29ydChjdXJyZW50Q29tcGFyYXRv
ciwgdHJ1ZSk7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAodGhpcy5yZW1vdmVFdmVudExpc3Rl
bmVyKQotICAgICAgICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3B1bGF0ZSIsIHRo
aXMuX3BvcHVsYXRlLCB0aGlzKTsKICAgICB9LAogCiAgICAgLy8gV2hlbiBmb2N1c2luZyBhbmQg
Y29sbGFwc2luZyB3ZSBtb2RpZnkgbG90cyBvZiBub2RlcyBpbiB0aGUgdHJlZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VXZWJTb2NrZXRG
cmFtZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
V2ViU29ja2V0RnJhbWVWaWV3LmpzCmluZGV4IDg4YzZiZjM5OTg0OTNkMDMwOTNmMjMwY2Y1NDg4
ZTU2YTMxMjU1YzEuLjVlYjQyZjk3ZTQyYzAyNWJiMGYzYmE0ZjRkZGNhNTQ3YzJiYTg3MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VXZWJT
b2NrZXRGcmFtZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZVdlYlNvY2tldEZyYW1lVmlldy5qcwpAQCAtMjksNyArMjksNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VXZWJTb2NrZXRGcmFtZVZpZXcgPSBmdW5jdGlvbihyZXNvdXJjZSkKIAog
ICAgIHZhciBkYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQoWwogICAgICAgICB7
aWQ6ICJkYXRhIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGF0YSIpLCBzb3J0YWJs
ZTogZmFsc2V9LAotICAgICAgICB7aWQ6ICJsZW5ndGgiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJMZW5ndGgiKSwgc29ydGFibGU6IGZhbHNlLCBhbGlnbmVkOiAicmlnaHQiLCB3aWR0
aDogIjUwcHgifSwKKyAgICAgICAge2lkOiAibGVuZ3RoIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTGVuZ3RoIiksIHNvcnRhYmxlOiBmYWxzZSwgYWxpZzogV2ViSW5zcGVjdG9yLkRh
dGFHcmlkLkFsaWduLlJpZ2h0LCB3aWR0aDogIjUwcHgifSwKICAgICAgICAge2lkOiAidGltZSIs
IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWUiKSwgd2lkdGg6ICI3MHB4In0KICAg
ICBdKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
b3BEb3duUHJvZmlsZURhdGFHcmlkVHJlZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVG9wRG93blByb2ZpbGVEYXRhR3JpZFRyZWUuanMKaW5kZXggMDI5MjM5ODc1MmZh
NTU5ZDZmMmQ2MTk4NjY2M2IzMjI5ZjkwMjU2MS4uODAzNGZlOTUxNWRlZDQyNWMxZjlhNzEyYWMx
ZTY0NmY1MmIwOTM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Ub3BEb3duUHJvZmlsZURhdGFHcmlkVHJlZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RvcERvd25Qcm9maWxlRGF0YUdyaWRUcmVlLmpzCkBAIC01Myw3
ICs1Myw3IEBAIFdlYkluc3BlY3Rvci5Ub3BEb3duUHJvZmlsZURhdGFHcmlkTm9kZS5wcm90b3R5
cGUgPSB7CiAgICAgX2V4Y2x1ZGU6IGZ1bmN0aW9uKGFDYWxsVUlEKQogICAgIHsKICAgICAgICAg
aWYgKHRoaXMuX3JlbWFpbmluZ0NoaWxkcmVuKQotICAgICAgICAgICAgdGhpcy5fcG9wdWxhdGUo
KTsKKyAgICAgICAgICAgIHRoaXMucG9wdWxhdGUoKTsKIAogICAgICAgICB0aGlzLl9zYXZlKCk7
CiAKQEAgLTg2LDcgKzg2LDcgQEAgV2ViSW5zcGVjdG9yLlRvcERvd25Qcm9maWxlRGF0YUdyaWRU
cmVlID0gZnVuY3Rpb24ocHJvZmlsZVZpZXcsIHJvb3RQcm9maWxlTm9kZSkKIAogICAgIHZhciBh
bnkgPSAvKiogQHR5cGV7Kn0gKi8odGhpcyk7CiAgICAgdmFyIG5vZGUgPSAvKiogQHR5cGV7V2Vi
SW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZE5vZGV9ICovKGFueSk7Ci0gICAgV2ViSW5zcGVjdG9y
LlRvcERvd25Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fcG9wdWxhdGUuY2FsbChub2Rl
KTsKKyAgICBXZWJJbnNwZWN0b3IuVG9wRG93blByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBl
LnBvcHVsYXRlLmNhbGwobm9kZSk7CiB9CiAKIFdlYkluc3BlY3Rvci5Ub3BEb3duUHJvZmlsZURh
dGFHcmlkVHJlZS5wcm90b3R5cGUgPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2RhdGFHcmlkLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvZGF0YUdyaWQuY3NzCmluZGV4IDk3MDQyODFjYThhYzlkMjkzOTc2ZGYwYWYzMjFj
MDE1YmEwNjM5ZDguLjgxMDNiMDFlNDMzYmYxZDhmZjk1ODI3Yzc4ZDc2YmM1OWE1MjM4MmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZGF0YUdyaWQuY3Nz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZGF0YUdyaWQuY3NzCkBA
IC0xMjAsNyArMTIwLDcgQEAKICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwOwogfQogCi0uZGF0YS1n
cmlkIC5jZW50ZXJlZCBkaXYgeworLmRhdGEtZ3JpZCAuY2VudGVyIGRpdiB7CiAgICAgdGV4dC1h
bGlnbjogY2VudGVyOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTljNDAyZTE2ZTY0NWMwNTdhNDU3NGM5MTNlMGE0
OGEzZGJiYzNmYy4uMWYxOGMyNzU1ZjIzMzEwYzVjZDdmMjJmYmMyNDQwZTUyZWY5OThlMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAzLTE5ICBFdWdlbmUgS2x5dWNobmlrb3YgIDxldXN0
YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtEYXRhR3JpZF0gUmVm
YWN0b3JpbmdzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEyNjkwCisKKyAgICAgICAgQWRvcHRlZCBjaGFuZ2VzLgorCisgICAgICAgICogaW5zcGVj
dG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qczogQWRvcHRlZCBjaGFuZ2VzLgorCiAy
MDEzLTAzLTE5ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCmluZGV4IDI5Y2E3
NjFlOTNiMWQzNzM5ZmIzNmQzOWYwNmU2YzcxNmU0MTRkMGUuLmNkY2QyMDIzNzE0NjVhM2IxNGNl
OGUzZWMzYTJmOTZkYmI4N2YwNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcwpAQCAtMzIyLDggKzMyMiw4IEBAIEluc3Bl
Y3RvclRlc3QuY2xpY2tDb2x1bW4gPSBmdW5jdGlvbihjb2x1bW4sIGNhbGxiYWNrKQogICAgIGZ1
bmN0aW9uIHNvcnRpbmdDb21wbGV0ZSgpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0Ll9j
dXJyZW50R3JpZCgpLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNvcnRpbmcgY29tcGxldGUiLCBzb3J0
aW5nQ29tcGxldGUsIHRoaXMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhj
b2x1bW4uaWRlbnRpZmllciwgdGhpcy5fY3VycmVudEdyaWQoKS5zb3J0Q29sdW1uSWRlbnRpZmll
ciwgInVuZXhwZWN0ZWQgc29ydGluZyIpOwotICAgICAgICBjb2x1bW4uc29ydCA9IHRoaXMuX2N1
cnJlbnRHcmlkKCkuc29ydE9yZGVyOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cyhjb2x1bW4uaWRlbnRpZmllciwgdGhpcy5fY3VycmVudEdyaWQoKS5zb3J0Q29sdW1uSWRlbnRp
ZmllcigpLCAidW5leHBlY3RlZCBzb3J0aW5nIik7CisgICAgICAgIGNvbHVtbi5zb3J0ID0gdGhp
cy5fY3VycmVudEdyaWQoKS5zb3J0T3JkZXIoKTsKICAgICAgICAgZnVuY3Rpb24gY2FsbENhbGxi
YWNrKCkKICAgICAgICAgewogICAgICAgICAgICAgY2FsbGJhY2soY29sdW1uKTsK
</data>
<flag name="review"
          id="215415"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="215696"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>