<?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>100244</bug_id>
          
          <creation_ts>2012-10-24 06:47:33 -0700</creation_ts>
          <short_desc>Web Inspector: Introduce workspace provider as a content providing backend for project.</short_desc>
          <delta_ts>2012-10-24 07:19:47 -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="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749616</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 06:47:33 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749619</commentid>
    <comment_count>1</comment_count>
      <attachid>170384</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 06:54:04 -0700</bug_when>
    <thetext>Created attachment 170384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749640</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-24 07:19:47 -0700</bug_when>
    <thetext>Committed r132348: &lt;http://trac.webkit.org/changeset/132348&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170384</attachid>
            <date>2012-10-24 06:54:04 -0700</date>
            <delta_ts>2012-10-24 06:59:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100244-20121024175238.patch</filename>
            <type>text/plain</type>
            <size>40120</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY5OTUyMmQzNDgxMzZl
ZjA2NmEyNTE3ODdmYjAzYmU3MDI4NDRhYS4uNjYzY2YwY2ZiYzZhZDIyZDRiODZmNDhhNWYwZjky
YmI5NDMyYTU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDEyLTEwLTI0ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEludHJvZHVjZSB3b3Jrc3BhY2UgcHJvdmlkZXIgYXMgYSBjb250ZW50IHByb3ZpZGluZyBi
YWNrZW5kIGZvciBwcm9qZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwMjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW50cm9kdWNlZCBXb3Jrc3BhY2VQcm92aWRlciBpbnRlcmZhY2UgYXMgYSBj
b250ZW50IHByb3ZpZGluZyBiYWNrZW5kIGZvciBwcm9qZWN0LgorICAgICAgICBBZGRlZCBOZXR3
b3JrV29ya3NwYWNlUHJvdmlkZXIgYXMgYSBuZXR3b3JrIGJhc2VkIChkZWZhdWx0KSBpbXBsZW1l
bnRhdGlvbi4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1l
bmQucHk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBp
bmcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS5fcGFyc2Vk
U2NyaXB0U291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2Rl
UHJvdmlkZXIucHJvdG90eXBlLl9yZXNvdXJjZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlLl9hZGRGaWxlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qczogQWRk
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlLnJl
cXVlc3RGaWxlQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFj
ZVByb3ZpZGVyLnByb3RvdHlwZS5zZXRGaWxlQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5zZWFyY2hJbkZpbGVDb250ZW50
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIucHJvdG90
eXBlLmFkZEZpbGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92
aWRlci5wcm90b3R5cGUucmVtb3ZlRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
QVNTU291cmNlTWFwcGluZyk6CisgICAgICAgIChfYmluZFVJU291cmNlQ29kZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBlLl9hZGRTY3JpcHRTbmlwcGV0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9Xb3Jrc3BhY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZURlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUucmVxdWVzdEZpbGVDb250
ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUu
c2VhcmNoSW5GaWxlQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJv
dmlkZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LldvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0
LnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5
cGUuX2ZpbGVBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUu
X2ZpbGVSZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlwZS5y
ZXF1ZXN0RmlsZUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90
eXBlLnNlYXJjaEluRmlsZUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFj
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya3NwYWNlLnByb3RvdHlwZS5hZGRQcm9qZWN0
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UucHJvdG90eXBlLnByb2plY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKKzIwMTItMTAtMjQgIFZzZXZvbG9k
IFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
VWlTb3VyY2VDb2RlIHNob3VsZCByZWx5IG9uIHRoZSB3b3Jrc3BhY2UgYXMgYSBjb250ZW50IHBy
b3ZpZGVyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMjE2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlN2Q0YTI3ODI4NGNhMTk5ZDMwZGIwYWYyOGQw
NzRiZDRkNDk2NzNjLi44OGM3NzcxMTdiYTMxOGVmNWNkNzc2YTE3NDMzY2EzMWM5OGRmYTY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC02NDMyLDYgKzY0MzIsNyBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmV0d29ya0xvZy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9OZXR3b3JrUGFuZWxEZXNjcmlwdG9yLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL05ldHdvcmtSZXF1ZXN0LmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qcycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0LmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL09iamVjdFBvcG92ZXJIZWxwZXIuanMnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkY2UyMjJkMDQxNDgxOWUzZmM4
ZDg1N2Q3YmZiNDAxODE0NzBmYmY0Li44MDYyNDM0ZDFhZGZjMzRkODNhNDYwNDA5MTNkNzBiODU5
YTJkNjY5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agpAQCAtNzY1NDYsMTEgKzc2NTQ2LDE1IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtSZXF1
ZXN0LmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMi
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxp
bnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtSZXF1ZXN0LmpzIgorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLmpzIgogCQkJ
CQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Y29tcGlsZS1mcm9udC1lbmQucHkKaW5kZXggMTcxMGMzYzZhNjgxZjExNjRjYzA3NDg1MGE4MDRk
NjZmMDEzODljYi4uOWJmMzk1Y2ZhZTQwOTNlZjI4OTBjYTZjOGU4MTc3MGUxMDc0NjA2NyAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAtODQs
NiArODQsNyBAQCBtb2R1bGVzID0gWwogICAgICAgICAgICAgIkxpbmtpZmllci5qcyIsCiAgICAg
ICAgICAgICAiTmV0d29ya0xvZy5qcyIsCiAgICAgICAgICAgICAiTmV0d29ya1VJU291cmNlQ29k
ZVByb3ZpZGVyLmpzIiwKKyAgICAgICAgICAgICJOZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuanMi
LAogICAgICAgICAgICAgIlByZXNlbnRhdGlvbkNvbnNvbGVNZXNzYWdlSGVscGVyLmpzIiwKICAg
ICAgICAgICAgICJSdW50aW1lTW9kZWwuanMiLAogICAgICAgICAgICAgIlNBU1NTb3VyY2VNYXBw
aW5nLmpzIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29tcGlsZXJTY3JpcHRNYXBwaW5nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db21waWxlclNjcmlwdE1hcHBpbmcuanMKaW5kZXggNjU4N2I0MmU1NjJiYWJjMzNhODhj
M2EwYjEwOWM5ZTZmZTdlY2QyOS4uYjBhOWZjMjJhNzAwNzc0YTA3ZDY2Y2UwYjlhMWY4YmMxOWYx
Y2UzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21w
aWxlclNjcmlwdE1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db21waWxlclNjcmlwdE1hcHBpbmcuanMKQEAgLTMyLDEwICszMiwxMiBAQAogICogQGNv
bnN0cnVjdG9yCiAgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLlNvdXJjZU1hcHBpbmd9CiAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2V9IHdvcmtzcGFjZQorICogQHBhcmFtIHtX
ZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyfSBuZXR3b3JrV29ya3NwYWNlUHJv
dmlkZXIKICAqLwotV2ViSW5zcGVjdG9yLkNvbXBpbGVyU2NyaXB0TWFwcGluZyA9IGZ1bmN0aW9u
KHdvcmtzcGFjZSkKK1dlYkluc3BlY3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcgPSBmdW5jdGlv
bih3b3Jrc3BhY2UsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKIHsKICAgICB0aGlzLl93b3Jr
c3BhY2UgPSB3b3Jrc3BhY2U7CisgICAgdGhpcy5fbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0g
bmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyOwogICAgIC8qKiBAdHlwZSB7T2JqZWN0LjxzdHJpbmcs
IFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBQYXJzZXI+fSAqLwogICAgIHRoaXMuX3NvdXJjZU1hcEZv
clNvdXJjZU1hcFVSTCA9IHt9OwogICAgIC8qKiBAdHlwZSB7T2JqZWN0LjxzdHJpbmcsIFdlYklu
c3BlY3Rvci5Tb3VyY2VNYXBQYXJzZXI+fSAqLwpAQCAtMTE3LDcgKzExOSw3IEBAIFdlYkluc3Bl
Y3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAg
IGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVy
KFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgc291cmNlQ29udGVudCk7CiAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYklu
c3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdDb250ZW50UHJvdmlkZXIoc291cmNlVVJMKTsK
LSAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHNv
dXJjZVVSTCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuX25ldHdv
cmtXb3Jrc3BhY2VQcm92aWRlci5hZGRGaWxlKHNvdXJjZVVSTCwgY29udGVudFByb3ZpZGVyLCB0
cnVlKTsKICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlT
b3VyY2VDb2RlRm9yVVJMKHNvdXJjZVVSTCk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0
U291cmNlTWFwcGluZyh0aGlzKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRT
Y3JpcHQgPSBzY3JpcHQuaXNDb250ZW50U2NyaXB0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclNjcmlwdE1hcHBpbmcuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcwppbmRl
eCAxMmNlOTI4MDExZDk2ZjIwNDVmYzlkNmI1NWRkNWFmODhmY2QyYjA0Li45OGEwNTVlMzMxNzI4
NmU1MDBkOGU3YTY2M2FlOGU1NjY5MjNkMmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcwpAQCAt
MzAsMTQgKzMwLDE2IEBACiAKIC8qKgogICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0ge1dlYklu
c3BlY3Rvci5Xb3Jrc3BhY2V9IHdvcmtzcGFjZQorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuTmV0
d29ya1dvcmtzcGFjZVByb3ZpZGVyfSBuZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIKICAqLwotV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyU2NyaXB0TWFwcGluZyA9IGZ1bmN0aW9uKHdvcmtzcGFjZSkKK1dl
Ykluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIG5l
dHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKIHsKICAgICB0aGlzLl9tYXBwaW5ncyA9IFtdOwogICAK
ICAgICB0aGlzLl9yZXNvdXJjZU1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2Ny
aXB0TWFwcGluZyh3b3Jrc3BhY2UpOwogICAgIHRoaXMuX21hcHBpbmdzLnB1c2godGhpcy5fcmVz
b3VyY2VNYXBwaW5nKTsKLSAgICB0aGlzLl9jb21waWxlck1hcHBpbmcgPSBuZXcgV2ViSW5zcGVj
dG9yLkNvbXBpbGVyU2NyaXB0TWFwcGluZyh3b3Jrc3BhY2UpOworICAgIHRoaXMuX2NvbXBpbGVy
TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nKHdvcmtzcGFj
ZSwgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKICAgICB0aGlzLl9tYXBwaW5ncy5wdXNoKHRo
aXMuX2NvbXBpbGVyTWFwcGluZyk7CiAgICAgdGhpcy5fc25pcHBldE1hcHBpbmcgPSBXZWJJbnNw
ZWN0b3Iuc2NyaXB0U25pcHBldE1vZGVsLnNjcmlwdE1hcHBpbmc7CiAgICAgdGhpcy5fbWFwcGlu
Z3MucHVzaCh0aGlzLl9zbmlwcGV0TWFwcGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3Zp
ZGVyLmpzCmluZGV4IDYzYzFkY2FkMzgyMzM5OTNlMzA3NTI0MzljMzgwMWEzYmVhYmQ2YzYuLmMy
ZDBmMDM4NTkyOGI1NTQ2ZTA5OWM5NmMxM2RlODI4ZTg5MjYzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291
cmNlQ29kZVByb3ZpZGVyLmpzCkBAIC0zMSwxMCArMzEsMTIgQEAKIC8qKgogICogQGNvbnN0cnVj
dG9yCiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2V9IHdvcmtzcGFjZQorICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyfSBuZXR3b3JrV29ya3Nw
YWNlUHJvdmlkZXIKICAqLwotV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRl
ciA9IGZ1bmN0aW9uKHdvcmtzcGFjZSkKK1dlYkluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2Rl
UHJvdmlkZXIgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcikK
IHsKICAgICB0aGlzLl93b3Jrc3BhY2UgPSB3b3Jrc3BhY2U7CisgICAgdGhpcy5fbmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyID0gbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyOwogICAgIFdlYkluc3Bl
Y3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLlJlc291cmNlQWRkZWQsIHRoaXMuX3Jlc291cmNlQWRk
ZWQsIHRoaXMpOwogICAgIHRoaXMuX3dvcmtzcGFjZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlByb2plY3RXaWxsUmVzZXQsIHRoaXMuX3Byb2plY3RXaWxs
UmVzZXQsIHRoaXMpOwogICAgIHRoaXMuX3dvcmtzcGFjZS5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlByb2plY3REaWRSZXNldCwgdGhpcy5fcHJvamVjdERp
ZFJlc2V0LCB0aGlzKTsKQEAgLTgzLDcgKzg1LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNv
dXJjZUNvZGVQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoIXBhcnNlZFVS
TC5ob3N0KQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICB0aGlz
Ll9hZGRVSVNvdXJjZUNvZGUoc2NyaXB0LnNvdXJjZVVSTCwgc2NyaXB0LCBzY3JpcHQuaXNDb250
ZW50U2NyaXB0KTsKKyAgICAgICAgdGhpcy5fYWRkRmlsZShzY3JpcHQuc291cmNlVVJMLCBzY3Jp
cHQsIHNjcmlwdC5pc0NvbnRlbnRTY3JpcHQpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTkyLDcg
Kzk0LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5wcm90b3R5
cGUgPSB7CiAgICAgX3Jlc291cmNlQWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAg
ICAgdmFyIHJlc291cmNlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9ICovIGV2
ZW50LmRhdGE7Ci0gICAgICAgIHRoaXMuX2FkZFVJU291cmNlQ29kZShyZXNvdXJjZS51cmwsIHJl
c291cmNlKTsKKyAgICAgICAgdGhpcy5fYWRkRmlsZShyZXNvdXJjZS51cmwsIHJlc291cmNlKTsK
ICAgICB9LAogCiAgICAgLyoqCkBAIC0xMDAsNyArMTAyLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtVSVNvdXJjZUNvZGVQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuQ29udGVudFByb3ZpZGVyfSBjb250ZW50UHJvdmlkZXIKICAgICAgKiBAcGFyYW0g
e2Jvb2xlYW49fSBpc0NvbnRlbnRTY3JpcHQKICAgICAgKi8KLSAgICBfYWRkVUlTb3VyY2VDb2Rl
OiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNDb250ZW50U2NyaXB0KQorICAgIF9h
ZGRGaWxlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNDb250ZW50U2NyaXB0KQog
ICAgIHsKICAgICAgICAgdmFyIHR5cGUgPSBjb250ZW50UHJvdmlkZXIuY29udGVudFR5cGUoKTsK
ICAgICAgICAgaWYgKHR5cGUgIT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hl
ZXQgJiYgdHlwZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQgJiYgdHlw
ZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KQpAQCAtMTA5LDcgKzExMSw3
IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl9wcm9jZXNzZWRVUkxzW3VybF0g
PSB0cnVlOwogICAgICAgICB2YXIgaXNFZGl0YWJsZSA9IHR5cGUgIT09IFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVR5cGVzLkRvY3VtZW50OwotICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgp
LmFkZFVJU291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSwgaXNDb250
ZW50U2NyaXB0KTsKKyAgICAgICAgdGhpcy5fbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLmFkZEZp
bGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCk7CiAg
ICAgfSwKIAogICAgIF9wcm9qZWN0V2lsbFJlc2V0OiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtXb3Jrc3BhY2VQcm92aWRl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1dvcmtzcGFj
ZVByb3ZpZGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ODEyYWRmZmFiMWUzZmMxZTNjMDY1NjZkMDNjMTU5
NGMzODBmMWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL05ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qcwpAQCAtMCwwICsxLDEwOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qKgor
ICogQGNvbnN0cnVjdG9yCisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLldvcmtzcGFjZVBy
b3ZpZGVyfQorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5PYmplY3R9CisgKi8KK1dlYkluc3Bl
Y3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIgPSBmdW5jdGlvbigpCit7CisgICAgLyoqIEB0
eXBlIHtPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcj59ICovCisg
ICAgdGhpcy5fY29udGVudFByb3ZpZGVycyA9IHt9OworfQorCitXZWJJbnNwZWN0b3IuTmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gcGF0aAorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyxib29sZWFuLHN0
cmluZyl9IGNhbGxiYWNrCisgICAgICovCisgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5jdGlv
bihwYXRoLCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSB0
aGlzLl9jb250ZW50UHJvdmlkZXJzW3BhdGhdOworICAgICAgICBjb250ZW50UHJvdmlkZXIucmVx
dWVzdENvbnRlbnQoY2FsbGJhY2spOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gcGF0aAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdDb250ZW50CisgICAgICog
QHBhcmFtIHtmdW5jdGlvbig/c3RyaW5nKX0gY2FsbGJhY2sKKyAgICAgKi8KKyAgICBzZXRGaWxl
Q29udGVudDogZnVuY3Rpb24ocGF0aCwgbmV3Q29udGVudCwgY2FsbGJhY2spCisgICAgeworICAg
ICAgICBjYWxsYmFjayhudWxsKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtz
dHJpbmd9IHF1ZXJ5CisgICAgICogQHBhcmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCisgICAg
ICogQHBhcmFtIHtib29sZWFufSBpc1JlZ2V4CisgICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJh
eS48V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFyY2hNYXRjaD4pfSBjYWxsYmFjawor
ICAgICAqLworICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHBhdGgsIHF1ZXJ5LCBj
YXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHZhciBjb250
ZW50UHJvdmlkZXIgPSB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3BhdGhdOworICAgICAgICBjb250
ZW50UHJvdmlkZXIuc2VhcmNoSW5Db250ZW50KHF1ZXJ5LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4
LCBjYWxsYmFjayk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBw
YXRoCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyfSBjb250ZW50
UHJvdmlkZXIKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRWRpdGFibGUKKyAgICAgKiBAcGFy
YW0ge2Jvb2xlYW49fSBpc0NvbnRlbnRTY3JpcHQKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBp
c1NuaXBwZXQKKyAgICAgKi8KKyAgICBhZGRGaWxlOiBmdW5jdGlvbihwYXRoLCBjb250ZW50UHJv
dmlkZXIsIGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCwgaXNTbmlwcGV0KQorICAgIHsKKyAg
ICAgICAgdmFyIGZpbGVEZXNjcmlwdG9yID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlRGVzY3JpcHRv
cihwYXRoLCBjb250ZW50UHJvdmlkZXIuY29udGVudFR5cGUoKSwgaXNFZGl0YWJsZSwgaXNDb250
ZW50U2NyaXB0LCBpc1NuaXBwZXQpOworICAgICAgICB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3Bh
dGhdID0gY29udGVudFByb3ZpZGVyOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJvdmlkZXIuRXZlbnRzLkZpbGVBZGRlZCwgZmls
ZURlc2NyaXB0b3IpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30g
cGF0aAorICAgICAqLworICAgIHJlbW92ZUZpbGU6IGZ1bmN0aW9uKHBhdGgpCisgICAgeworICAg
ICAgICBkZWxldGUgdGhpcy5fY29udGVudFByb3ZpZGVyc1twYXRoXTsKKyAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyLkV2
ZW50cy5GaWxlUmVtb3ZlZCwgcGF0aCk7CisgICAgfSwKKworICAgIHJlc2V0OiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB0aGlzLl9jb250ZW50UHJvdmlkZXJzID0ge307CisgICAgfSwKKyAg
ICAKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CisKKy8q
KgorICogQHR5cGUgez9XZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyfQorICov
CitXZWJJbnNwZWN0b3IubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0gbnVsbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5n
LmpzCmluZGV4IDZkNWJmMzk5MzlhODQ3ZjM2MzgyNGRmOWI3N2ZmZTkwYzk0NWRkNjQuLmMwOGY4
OGExNjU2MjRhOWZjOTgyOTY3ZTA5NTUwNjUxMjY3OWVkNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpAQCAt
MzIsMTAgKzMyLDEyIEBACiAgKiBAY29uc3RydWN0b3IKICAqIEBpbXBsZW1lbnRzIHtXZWJJbnNw
ZWN0b3IuU291cmNlTWFwcGluZ30KICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLldvcmtzcGFjZX0g
d29ya3NwYWNlCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlk
ZXJ9IG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcgogICovCi1XZWJJbnNwZWN0b3IuU0FTU1NvdXJj
ZU1hcHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2UpCitXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1h
cHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKIHsK
ICAgICB0aGlzLl93b3Jrc3BhY2UgPSB3b3Jrc3BhY2U7CisgICAgdGhpcy5fbmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyID0gbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyOwogICAgIHRoaXMuX3VpTG9j
YXRpb25zID0ge307CiAgICAgdGhpcy5fY3NzVVJMc0ZvclNBU1NVUkwgPSB7fTsKICAgICB0aGlz
Ll90aW1lb3V0Rm9yVVJMID0ge307CkBAIC0xNTUsNyArMTU3LDcgQEAgV2ViSW5zcGVjdG9yLlNB
U1NTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGUp
IHsKICAgICAgICAgICAgIHZhciBjb250ZW50ID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkodXJsKTsKICAgICAgICAgICAgIHZhciBjb250ZW50UHJvdmlk
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0LCBjb250ZW50LCAidGV4dC94LXNjc3MiKTsKLSAgICAg
ICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHVybCwgY29u
dGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuX25ldHdvcmtXb3Jrc3BhY2VQ
cm92aWRlci5hZGRGaWxlKHVybCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKICAgICAgICAgICAg
IHVpU291cmNlQ29kZSA9IHRoaXMuX3dvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JVUkwodXJsKTsK
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5zZXRTb3VyY2VNYXBwaW5nKHJhd1VS
TCwgdGhpcyk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKaW5kZXggMDdlYjYyZTUwNThkZTli
N2YzZWUzNzdiMjA2NzUxMmQ4MGRiMzBjYi4uYmQxZjQ1YjhmZDgwYWI5NWU1Zjg3NmU1OTI5ZTBk
MGQ3MjMxZjMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKQEAgLTMyLDEwICszMiwxMiBAQAogICogQGNv
bnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLldvcmtzcGFjZX0gd29ya3NwYWNlCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXJ9IG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcgogICov
Ci1XZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsID0gZnVuY3Rpb24od29ya3NwYWNlKQor
V2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBwZXRNb2RlbCA9IGZ1bmN0aW9uKHdvcmtzcGFjZSwgbmV0
d29ya1dvcmtzcGFjZVByb3ZpZGVyKQogewogICAgIHRoaXMuX3dvcmtzcGFjZSA9IHdvcmtzcGFj
ZTsKKyAgICB0aGlzLl9uZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIgPSBuZXR3b3JrV29ya3NwYWNl
UHJvdmlkZXI7CiAgICAgdGhpcy5fdWlTb3VyY2VDb2RlRm9yU2NyaXB0SWQgPSB7fTsKICAgICB0
aGlzLl9zY3JpcHRGb3JVSVNvdXJjZUNvZGUgPSBuZXcgTWFwKCk7CiAgICAgdGhpcy5fdWlTb3Vy
Y2VDb2RlRm9yU25pcHBldElkID0ge307CkBAIC04Miw3ICs4NCw3IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9hZGRTY3JpcHRT
bmlwcGV0OiBmdW5jdGlvbihzbmlwcGV0KQogICAgIHsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNl
LnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoc25pcHBldC5uYW1lLCBuZXcgV2ViSW5zcGVjdG9y
LlNuaXBwZXRDb250ZW50UHJvdmlkZXIoc25pcHBldCksIHRydWUsIGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgdGhpcy5fbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLmFkZEZpbGUoc25pcHBldC5uYW1l
LCBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRDb250ZW50UHJvdmlkZXIoc25pcHBldCksIHRydWUs
IGZhbHNlLCB0cnVlKTsKICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHRoaXMuX3dvcmtzcGFj
ZS51aVNvdXJjZUNvZGVGb3JVUkwoc25pcHBldC5uYW1lKTsKICAgICAgICAgdmFyIHNjcmlwdEZp
bGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRTY3JpcHRGaWxlKHRoaXMsIHVpU291cmNlQ29k
ZSk7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTY3JpcHRGaWxlKHNjcmlwdEZpbGUpOwpAQCAt
MTA0LDcgKzEwNiw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9yZWxlYXNlU25pcHBldFNjcmlwdCh1aVNvdXJjZUNvZGUpOwog
ICAgICAgICBkZWxldGUgdGhpcy5fdWlTb3VyY2VDb2RlRm9yU25pcHBldElkW3NuaXBwZXQuaWRd
OwogICAgICAgICB0aGlzLl9zbmlwcGV0SWRGb3JVSVNvdXJjZUNvZGUucmVtb3ZlKHVpU291cmNl
Q29kZSk7Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkucmVtb3ZlVUlTb3VyY2VD
b2RlKHNuaXBwZXQubmFtZSk7CisgICAgICAgIHRoaXMuX25ldHdvcmtXb3Jrc3BhY2VQcm92aWRl
ci5yZW1vdmVGaWxlKHNuaXBwZXQubmFtZSk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDQ2N2VlNjZkZDNl
Y2UyMDQ0YWI2NGRmZDk0ZTljMmFlZTRlYjljMzkuLjMzOGZmODliZmQ0NDZhOGNmNDVhOWU1ZTg5
Y2I1NGJmMTk5MGQ0MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dlYktpdC5xcmMKQEAgLTExMiwxMSArMTEyLDEyIEBACiAgICAgPGZpbGU+TmF2aWdhdG9yVmll
dy5qczwvZmlsZT4KICAgICA8ZmlsZT5OZXR3b3JrSXRlbVZpZXcuanM8L2ZpbGU+CiAgICAgPGZp
bGU+TmV0d29ya0xvZy5qczwvZmlsZT4KLSAgICA8ZmlsZT5OZXR3b3JrVUlTb3VyY2VDb2RlUHJv
dmlkZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+TmV0d29ya01hbmFnZXIuanM8L2ZpbGU+CiAgICAg
PGZpbGU+TmV0d29ya1BhbmVsLmpzPC9maWxlPgogICAgIDxmaWxlPk5ldHdvcmtQYW5lbERlc2Ny
aXB0b3IuanM8L2ZpbGU+CiAgICAgPGZpbGU+TmV0d29ya1JlcXVlc3QuanM8L2ZpbGU+CisgICAg
PGZpbGU+TmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzPC9maWxlPgorICAgIDxmaWxlPk5l
dHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5PYmplY3QuanM8L2Zp
bGU+CiAgICAgPGZpbGU+T2JqZWN0UG9wb3ZlckhlbHBlci5qczwvZmlsZT4KICAgICA8ZmlsZT5P
YmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanMKaW5kZXggYjhjZmQwMmY4MTViYmNkNThlZWU3
M2NiNDBhNzY5ZWZhZmI0MmRjMS4uYWM4MTEzMGFlYTY2NjA2YjFmMTFlMmIwYTVhOWNlMjNkNGU5
ZDZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jr
c3BhY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3Bh
Y2UuanMKQEAgLTU3LDU5ICs1NywxMDkgQEAgV2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xs
ZXIucHJvdG90eXBlID0gewogfQogCiAvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtz
dHJpbmd9IHBhdGgKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlc291cmNlVHlwZX0gY29udGVu
dFR5cGUKKyAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNFZGl0YWJsZQorICogQHBhcmFtIHtib29sZWFu
PX0gaXNDb250ZW50U2NyaXB0CisgKiBAcGFyYW0ge2Jvb2xlYW49fSBpc1NuaXBwZXQKKyAqLwor
V2ViSW5zcGVjdG9yLkZpbGVEZXNjcmlwdG9yID0gZnVuY3Rpb24ocGF0aCwgY29udGVudFR5cGUs
IGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCwgaXNTbmlwcGV0KQoreworICAgIHRoaXMucGF0
aCA9IHBhdGg7CisgICAgdGhpcy5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOworICAgIHRoaXMu
aXNFZGl0YWJsZSA9IGlzRWRpdGFibGU7CisgICAgdGhpcy5pc0NvbnRlbnRTY3JpcHQgPSBpc0Nv
bnRlbnRTY3JpcHQgfHwgZmFsc2U7CisgICAgdGhpcy5pc1NuaXBwZXQgPSBpc1NuaXBwZXQgfHwg
ZmFsc2U7Cit9CisKKy8qKgorICogQGludGVyZmFjZQorICovCitXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlUHJvdmlkZXIgPSBmdW5jdGlvbigpIHsgfQorCitXZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJv
dmlkZXIuRXZlbnRzID0geworICAgIEZpbGVBZGRlZDogIkZpbGVBZGRlZCIsCisgICAgRmlsZVJl
bW92ZWQ6ICJGaWxlUmVtb3ZlZCIKK30KKworV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVy
LnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aAorICAg
ICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyxib29sZWFuLHN0cmluZyl9IGNhbGxiYWNrCisg
ICAgICovCisgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5jdGlvbihwYXRoLCBjYWxsYmFjaykg
eyB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICogQHBh
cmFtIHtib29sZWFufSBjYXNlU2Vuc2l0aXZlCisgICAgICogQHBhcmFtIHtib29sZWFufSBpc1Jl
Z2V4CisgICAgICogQHBhcmFtIHtmdW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLkNvbnRlbnRQ
cm92aWRlci5TZWFyY2hNYXRjaD4pfSBjYWxsYmFjaworICAgICAqLworICAgIHNlYXJjaEluRmls
ZUNvbnRlbnQ6IGZ1bmN0aW9uKHBhdGgsIHF1ZXJ5LCBjYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBj
YWxsYmFjaykgeyB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50VHlw
ZQorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLkV2ZW50KX0gbGlzdGVuZXIK
KyAgICAgKiBAcGFyYW0ge09iamVjdD19IHRoaXNPYmplY3QKKyAgICAgKi8KKyAgICBhZGRFdmVu
dExpc3RlbmVyOiBmdW5jdGlvbihldmVudFR5cGUsIGxpc3RlbmVyLCB0aGlzT2JqZWN0KSB7IH0s
CisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRUeXBlCisgICAgICogQHBh
cmFtIHtmdW5jdGlvbihXZWJJbnNwZWN0b3IuRXZlbnQpfSBsaXN0ZW5lcgorICAgICAqIEBwYXJh
bSB7T2JqZWN0PX0gdGhpc09iamVjdAorICAgICAqLworICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6
IGZ1bmN0aW9uKGV2ZW50VHlwZSwgbGlzdGVuZXIsIHRoaXNPYmplY3QpIHsgfQorfQorCisvKioK
ICAqIEB0eXBlIHs/V2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xsZXJ9CiAgKi8KIFdlYklu
c3BlY3Rvci53b3Jrc3BhY2VDb250cm9sbGVyID0gbnVsbDsKIAogLyoqCiAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5Xb3Jrc3BhY2V9IHdvcmtzcGFjZQorICogQHBhcmFtIHtXZWJJbnNwZWN0b3Iu
V29ya3NwYWNlUHJvdmlkZXJ9IHdvcmtzcGFjZVByb3ZpZGVyCiAgKiBAY29uc3RydWN0b3IKICAq
LwotV2ViSW5zcGVjdG9yLlByb2plY3QgPSBmdW5jdGlvbih3b3Jrc3BhY2UpCitXZWJJbnNwZWN0
b3IuUHJvamVjdCA9IGZ1bmN0aW9uKHdvcmtzcGFjZSwgd29ya3NwYWNlUHJvdmlkZXIpCiB7CiAg
ICAgdGhpcy5fdWlTb3VyY2VDb2RlcyA9IFtdOwogICAgIHRoaXMuX3dvcmtzcGFjZSA9IHdvcmtz
cGFjZTsKLSAgICAvKiogQHR5cGUge09iamVjdC48c3RyaW5nLCBXZWJJbnNwZWN0b3IuQ29udGVu
dFByb3ZpZGVyPn0gKi8KLSAgICB0aGlzLl9jb250ZW50UHJvdmlkZXJzID0ge307CisgICAgdGhp
cy5fd29ya3NwYWNlUHJvdmlkZXIgPSB3b3Jrc3BhY2VQcm92aWRlcjsKKyAgICB0aGlzLl93b3Jr
c3BhY2VQcm92aWRlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2VQcm92
aWRlci5FdmVudHMuRmlsZUFkZGVkLCB0aGlzLl9maWxlQWRkZWQsIHRoaXMpOworICAgIHRoaXMu
X3dvcmtzcGFjZVByb3ZpZGVyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLldvcmtzcGFj
ZVByb3ZpZGVyLkV2ZW50cy5GaWxlUmVtb3ZlZCwgdGhpcy5fZmlsZVJlbW92ZWQsIHRoaXMpOwog
fQogCiBXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUgPSB7CiAgICAgcmVzZXQ6IGZ1bmN0
aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMuX3dvcmtzcGFjZVByb3ZpZGVyLnJlc2V0KCk7CiAg
ICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMgPSBbXTsKICAgICB9LAogCi0gICAgLyoqCi0gICAg
ICogQHBhcmFtIHtzdHJpbmd9IHVybAotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvbnRl
bnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVyCi0gICAgICogQHBhcmFtIHtib29sZWFufSBpc0Vk
aXRhYmxlCi0gICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNDb250ZW50U2NyaXB0Ci0gICAgICog
QHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0Ci0gICAgICovCi0gICAgYWRkVUlTb3VyY2VDb2Rl
OiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSwgaXNDb250ZW50U2Ny
aXB0LCBpc1NuaXBwZXQpCisgICAgX2ZpbGVBZGRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewot
ICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gdGhpcy51aVNvdXJjZUNvZGVGb3JVUkwodXJsKTsK
KyAgICAgICAgdmFyIGZpbGVEZXNjcmlwdG9yID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRmls
ZURlc2NyaXB0b3J9ICovIGV2ZW50LmRhdGE7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0
aGlzLnVpU291cmNlQ29kZUZvclVSTChmaWxlRGVzY3JpcHRvci5wYXRoKTsKICAgICAgICAgaWYg
KHVpU291cmNlQ29kZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudAogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlKHRoaXMuX3dvcmtzcGFjZSwgdXJsLCBjb250ZW50UHJvdmlk
ZXIuY29udGVudFR5cGUoKSwgaXNFZGl0YWJsZSk7Ci0gICAgICAgIHVpU291cmNlQ29kZS5pc0Nv
bnRlbnRTY3JpcHQgPSBpc0NvbnRlbnRTY3JpcHQ7Ci0gICAgICAgIHVpU291cmNlQ29kZS5pc1Nu
aXBwZXQgPSBpc1NuaXBwZXQ7CisgICAgICAgIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlKHRoaXMuX3dvcmtzcGFjZSwgZmlsZURlc2NyaXB0b3IucGF0aCwgZmls
ZURlc2NyaXB0b3IuY29udGVudFR5cGUsIGZpbGVEZXNjcmlwdG9yLmlzRWRpdGFibGUpOworICAg
ICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gZmlsZURlc2NyaXB0b3IuaXNDb250
ZW50U2NyaXB0OworICAgICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0ID0gZmlsZURlc2NyaXB0
b3IuaXNTbmlwcGV0OwogICAgICAgICB0aGlzLl91aVNvdXJjZUNvZGVzLnB1c2godWlTb3VyY2VD
b2RlKTsKLSAgICAgICAgdGhpcy5fY29udGVudFByb3ZpZGVyc1t1cmxdID0gY29udGVudFByb3Zp
ZGVyOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2UuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2RlQWRkZWQs
IHVpU291cmNlQ29kZSk7CiAgICAgfSwKIAotICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5n
fSB1cmwKLSAgICAgKi8KLSAgICByZW1vdmVVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVybCkKKyAg
ICBfZmlsZVJlbW92ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIHVpU291
cmNlQ29kZSA9IHRoaXMudWlTb3VyY2VDb2RlRm9yVVJMKHVybCk7CisgICAgICAgIHZhciBwYXRo
ID0gLyoqIEB0eXBlIHtzdHJpbmd9ICovIGV2ZW50LmRhdGE7CisgICAgICAgIHZhciB1aVNvdXJj
ZUNvZGUgPSB0aGlzLnVpU291cmNlQ29kZUZvclVSTChwYXRoKTsKICAgICAgICAgaWYgKCF1aVNv
dXJjZUNvZGUpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9jb250
ZW50UHJvdmlkZXJzW3VybF07CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMuc3BsaWNlKHRo
aXMuX3VpU291cmNlQ29kZXMuaW5kZXhPZih1aVNvdXJjZUNvZGUpLCAxKTsKICAgICAgICAgdGhp
cy5fd29ya3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZVJlbW92ZWQsIHVpU291cmNlQ29kZSk7
CiAgICAgfSwKQEAgLTE0MSw3ICsxOTEsNyBAQCBXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5
cGUgPSB7CiAgICAgICovCiAgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5jdGlvbihwYXRoLCBj
YWxsYmFjaykKICAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRQcm92aWRlcnNbcGF0aF0ucmVx
dWVzdENvbnRlbnQoY2FsbGJhY2spOworICAgICAgICB0aGlzLl93b3Jrc3BhY2VQcm92aWRlci5y
ZXF1ZXN0RmlsZUNvbnRlbnQocGF0aCwgY2FsbGJhY2spOwogICAgIH0sCiAKICAgICAvKioKQEAg
LTE1Miw3ICsyMDIsNyBAQCBXZWJJbnNwZWN0b3IuUHJvamVjdC5wcm90b3R5cGUgPSB7CiAgICAg
ICovCiAgICAgc2VhcmNoSW5GaWxlQ29udGVudDogZnVuY3Rpb24ocGF0aCwgcXVlcnksIGNhc2VT
ZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgdGhpcy5fY29udGVu
dFByb3ZpZGVyc1twYXRoXS5zZWFyY2hJbkNvbnRlbnQocXVlcnksIGNhc2VTZW5zaXRpdmUsIGlz
UmVnZXgsIGNhbGxiYWNrKTsKKyAgICAgICAgdGhpcy5fd29ya3NwYWNlUHJvdmlkZXIuc2VhcmNo
SW5GaWxlQ29udGVudChwYXRoLCBxdWVyeSwgY2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJh
Y2spOwogICAgIH0KIH0KIApAQCAtMTYzLDcgKzIxMyw2IEBAIFdlYkluc3BlY3Rvci5Qcm9qZWN0
LnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLldvcmtzcGFjZSA9IGZ1bmN0aW9uKCkK
IHsKLSAgICB0aGlzLl9wcm9qZWN0ID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9qZWN0KHRoaXMpOwog
ICAgIC8qKiBAdHlwZSB7T2JqZWN0LjxzdHJpbmcsIFdlYkluc3BlY3Rvci5Db250ZW50UHJvdmlk
ZXI+fSAqLwogICAgIHRoaXMuX3RlbXBvcmFyeUNvbnRlbnRQcm92aWRlcnMgPSBuZXcgTWFwKCk7
CiB9CkBAIC0xODUsMTEgKzIzNCwyMCBAQCBXZWJJbnNwZWN0b3IuV29ya3NwYWNlLnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3RO
YW1lCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJvdmlkZXJ9IHdvcmtz
cGFjZVByb3ZpZGVyCisgICAgICovCisgICAgYWRkUHJvamVjdDogZnVuY3Rpb24ocHJvamVjdE5h
bWUsIHdvcmtzcGFjZVByb3ZpZGVyKQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IHN1cHBvcnQg
bXVsdGlwbGUgcHJvamVjdHMgaWRlbnRpZmllZCBieSBwcm9qZWN0IG5hbWUuCisgICAgICAgIHRo
aXMuX3Byb2plY3QgPSBuZXcgV2ViSW5zcGVjdG9yLlByb2plY3QodGhpcywgd29ya3NwYWNlUHJv
dmlkZXIpOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3Iu
UHJvamVjdH0KICAgICAgKi8KICAgICBwcm9qZWN0OiBmdW5jdGlvbigpCiAgICAgewotICAgICAg
ICAvLyBGSVhNRTogc3VwcG9ydCBzZXZlcmFsIHByb2plY3RzLgogICAgICAgICByZXR1cm4gdGhp
cy5fcHJvamVjdDsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCBjMjRkNTNjZTljZWMyOGU0Y2NmMTM1NjE2OGRk
YzQ4MGU4MTAxNGQzLi4yYWM3NDlhMTcyYjQ4OGEwMDA1MzkwZjQ4NzlkMTc5Yjg3MzVjMmJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwKQEAgLTEzNiw2ICsxMzYsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IkxpbmtpZmllci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGVidWdnZXJTY3JpcHRNYXBwaW5nLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQcmVzZW50YXRpb25D
b25zb2xlTWVzc2FnZUhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJXb3Jrc3BhY2UuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkJyZWFrcG9p
bnRNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJDb250ZW50UHJvdmlkZXJzLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggZDJhNGQzYTJkOTlmYzVi
MGJkZDM4NzhjMDFmYzczNDBmNWU3ZGVmMC4uYWE1ZjhjNTBiYTk0YzUzYzFmMGViOWQ4YjNmMzRj
MWQ0MGM1ZTRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKQEAgLTQyMywxOCArNDIzLDIwIEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWRE
b25lV2l0aENhcGFiaWxpdGllcyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLm9wZW5BbmNob3JMb2Nh
dGlvblJlZ2lzdHJ5ID0gbmV3IFdlYkluc3BlY3Rvci5IYW5kbGVyUmVnaXN0cnkob3BlbkFuY2hv
ckxvY2F0aW9uU2V0dGluZyk7CiAgICAgdGhpcy5vcGVuQW5jaG9yTG9jYXRpb25SZWdpc3RyeS5y
ZWdpc3RlckhhbmRsZXIoYXV0b3NlbGVjdFBhbmVsLCBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNl
OyB9KTsKIAorICAgIHRoaXMubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3Bl
Y3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIoKTsKICAgICB0aGlzLndvcmtzcGFjZSA9IG5l
dyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7CisgICAgdGhpcy53b3Jrc3BhY2UuYWRkUHJvamVj
dCgibmV0d29yayIsIHRoaXMubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKICAgICB0aGlzLndv
cmtzcGFjZUNvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xsZXIo
dGhpcy53b3Jrc3BhY2UpOwogCiAgICAgdGhpcy5icmVha3BvaW50TWFuYWdlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmJyZWFrcG9p
bnRzLCB0aGlzLmRlYnVnZ2VyTW9kZWwsIHRoaXMud29ya3NwYWNlKTsKIAotICAgIHRoaXMuc2Ny
aXB0U25pcHBldE1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRTbmlwcGV0TW9kZWwodGhp
cy53b3Jrc3BhY2UpOwotICAgIG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJTY3JpcHRNYXBwaW5n
KHRoaXMud29ya3NwYWNlKTsKKyAgICB0aGlzLnNjcmlwdFNuaXBwZXRNb2RlbCA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsKHRoaXMud29ya3NwYWNlLCB0aGlzLm5ldHdvcmtX
b3Jrc3BhY2VQcm92aWRlcik7CisgICAgbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1h
cHBpbmcodGhpcy53b3Jrc3BhY2UsIHRoaXMubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKICAg
ICB0aGlzLnN0eWxlQ29udGVudEJpbmRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlN0eWxlQ29udGVu
dEJpbmRpbmcodGhpcy5jc3NNb2RlbCk7Ci0gICAgbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrVUlT
b3VyY2VDb2RlUHJvdmlkZXIodGhpcy53b3Jrc3BhY2UpOworICAgIG5ldyBXZWJJbnNwZWN0b3Iu
TmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyKHRoaXMud29ya3NwYWNlLCB0aGlzLm5ldHdvcmtX
b3Jrc3BhY2VQcm92aWRlcik7CiAgICAgbmV3IFdlYkluc3BlY3Rvci5TdHlsZXNTb3VyY2VNYXBw
aW5nKHRoaXMud29ya3NwYWNlKTsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmV4cGVyaW1lbnRzU2V0
dGluZ3Muc2Fzcy5pc0VuYWJsZWQoKSkKLSAgICAgICAgbmV3IFdlYkluc3BlY3Rvci5TQVNTU291
cmNlTWFwcGluZyh0aGlzLndvcmtzcGFjZSk7CisgICAgICAgIG5ldyBXZWJJbnNwZWN0b3IuU0FT
U1NvdXJjZU1hcHBpbmcodGhpcy53b3Jrc3BhY2UsIHRoaXMubmV0d29ya1dvcmtzcGFjZVByb3Zp
ZGVyKTsKIAogICAgIG5ldyBXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQ29uc29sZU1lc3NhZ2VI
ZWxwZXIodGhpcy53b3Jrc3BhY2UpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWY5YzM2ZjMzNDM1MDNkNGY2NmMxM2Rj
OTMwNTQzNTUwOWFkMmI0My4uMDBkYzczMmE2MDYwMWVhZGQ3NjA3ZWZhOTMwZDA3NGQ5NWQ2MDBk
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEyLTEwLTI0ICBWc2V2b2xvZCBWbGFzb3YgIDx2
c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEludHJvZHVjZSB3
b3Jrc3BhY2UgcHJvdmlkZXIgYXMgYSBjb250ZW50IHByb3ZpZGluZyBiYWNrZW5kIGZvciBwcm9q
ZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
MjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3dvcmtzcGFjZS10ZXN0LmpzOgorICAgICAgICAoaW5p
dGlhbGl6ZV9Xb3Jrc3BhY2VUZXN0Lkluc3BlY3RvclRlc3QuY3JlYXRlV29ya3NwYWNlKToKKyAg
ICAgICAgKGluaXRpYWxpemVfV29ya3NwYWNlVGVzdC5JbnNwZWN0b3JUZXN0LmFkZE1vY2tVSVNv
dXJjZUNvZGVUb1dvcmtzcGFjZSk6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL25ldHdv
cmstdWlzb3VyY2Vjb2RlLXByb3ZpZGVyLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdC1zbmlwcGV0LW1vZGVsLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtcGFuZWwuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdWlzb3VyY2Vjb2Rl
LXJldmlzaW9ucy5odG1sOgorCisyMDEyLTEwLTI0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVpU291cmNlQ29kZSBzaG91
bGQgcmVseSBvbiB0aGUgd29ya3NwYWNlIGFzIGEgY29udGVudCBwcm92aWRlci4KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDIxNgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFw
cGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc2Ny
aXB0LW1hcHBpbmcuaHRtbAppbmRleCA1MTEyNmNhYmIxOTlkODM4N2IyMmVmZDAxNDdjOThmMjg2
NGNjZjYxLi5lYmRlMDRmMTY0ZDRiZmU0MTE2MTE4OTNlYzdiYmY5MmYwNjU2ZTkwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFw
cGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVy
LXNjcmlwdC1tYXBwaW5nLmh0bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXJTY3JpcHRNYXBwaW5nKCkKICAgICB7CiAgICAgICAg
IEluc3BlY3RvclRlc3QuY3JlYXRlV29ya3NwYWNlKCk7Ci0gICAgICAgIHZhciBjb21waWxlclNj
cmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbXBpbGVyU2NyaXB0TWFwcGluZyhJbnNw
ZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UpOworICAgICAgICB2YXIgY29tcGlsZXJTY3JpcHRNYXBw
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVz
dC50ZXN0V29ya3NwYWNlLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNlUHJvdmlk
ZXIpOwogICAgICAgICB2YXIgcmVzb3VyY2VTY3JpcHRNYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlKTsKICAg
ICAgICAgcmV0dXJuIGNvbXBpbGVyU2NyaXB0TWFwcGluZzsKICAgICB9CkBAIC0yNDAsNyArMjQw
LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3Muc291cmNlTWFwc0VuYWJsZWQuc2V0KHRydWUpOwogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Jlc2V0KCk7CisgICAgICAgICAgICB2YXIgbmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJv
dmlkZXIoKTsKICAgICAgICAgICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldv
cmtzcGFjZSgpOworICAgICAgICAgICAgd29ya3NwYWNlLmFkZFByb2plY3QoIm5ldHdvcmsiLCBu
ZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIpOworCiAgICAgICAgICAgICB2YXIgZGVidWdnZXJTY3Jp
cHRNYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcod29ya3Nw
YWNlKTsKIAogICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2Ny
aXB0TW9jaygiY29tcGlsZWQuanMiLCAwLCAwLCB0cnVlLCAiIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93b3Jrc3BhY2UtdGVzdC5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3dvcmtzcGFjZS10ZXN0LmpzCmluZGV4IGU1MmZiOWI1
NjM3YzEzNmM0NzZjOTFmZDk2NWVhNmUzZmM5ZTg1ZDYuLjNkNGU4ZGZjZDBmOWQ5ZWVhMjQzZjI4
ZDI0YzdhZWFiZTViNWQyODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3dvcmtzcGFjZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3dvcmtzcGFjZS10ZXN0LmpzCkBAIC0zLDcgKzMsOSBAQCB2YXIgaW5pdGlhbGl6ZV9X
b3Jrc3BhY2VUZXN0ID0gZnVuY3Rpb24oKSB7CiBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2U7
CiBJbnNwZWN0b3JUZXN0LmNyZWF0ZVdvcmtzcGFjZSA9IGZ1bmN0aW9uKCkKIHsKKyAgICBJbnNw
ZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcigpOwogICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtz
cGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7CisgICAgSW5zcGVjdG9yVGVzdC50
ZXN0V29ya3NwYWNlLmFkZFByb2plY3QoIm5ldHdvcmsiLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3
b3JrV29ya3NwYWNlUHJvdmlkZXIpOwogICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMu
VUlTb3VyY2VDb2RlQWRkZWQsIEluc3BlY3RvclRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92
aWRlckV2ZW50SGFuZGxlcik7CiAgICAgSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNv
dXJjZUNvZGVSZW1vdmVkLCBJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlTb3VyY2VDb2RlUHJvdmlk
ZXJFdmVudEhhbmRsZXIpOwogICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVGVtcG9y
YXJ5VUlTb3VyY2VDb2RlQWRkZWQsIEluc3BlY3RvclRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQ
cm92aWRlckV2ZW50SGFuZGxlcik7CkBAIC01Myw3ICs1NSw3IEBAIEluc3BlY3RvclRlc3QuYWRk
TW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlID0gZnVuY3Rpb24odXJsLCB0eXBlLCBjb250ZW50
KQogewogICAgIHZhciBpc0RvY3VtZW50ID0gdHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNl
VHlwZXMuRG9jdW1lbnQ7CiAgICAgdmFyIG1vY2tDb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcih0eXBlLCBjb250ZW50KTsKLSAgICBJbnNwZWN0
b3JUZXN0LnRlc3RXb3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1cmwsIG1vY2tD
b250ZW50UHJvdmlkZXIsICFpc0RvY3VtZW50KTsKKyAgICBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3
b3JrV29ya3NwYWNlUHJvdmlkZXIuYWRkRmlsZSh1cmwsIG1vY2tDb250ZW50UHJvdmlkZXIsICFp
c0RvY3VtZW50KTsKIH0KIAogSW5zcGVjdG9yVGVzdC5fZGVmYXVsdFVJU291cmNlQ29kZVByb3Zp
ZGVyRXZlbnRIYW5kbGVyID0gZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvbmV0d29yay11aXNvdXJjZWNvZGUtcHJvdmlkZXIuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9uZXR3b3JrLXVpc291cmNlY29kZS1wcm92
aWRlci5odG1sCmluZGV4IDNhM2MxYTEzZjU1YzI0N2YxM2I4ZjRhNDk5NjNhYzQyNmM5N2Y2Yzcu
LmNhOGI3NWQwMDJmMmYyMmNhMWU3YzUxNTQ5MjliMzllNWQ4MjZmMGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9uZXR3b3JrLXVpc291cmNlY29kZS1wcm92aWRl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9uZXR3b3JrLXVpc291
cmNlY29kZS1wcm92aWRlci5odG1sCkBAIC01Niw3ICs1Niw3IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVXb3Jrc3BhY2UoKTsKICAgICAgICAg
V2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5PYmplY3Qo
KTsKLSAgICAgICAgdmFyIG5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyKEluc3BlY3RvclRlc3QudGVzdFdvcmtz
cGFjZSk7CisgICAgICAgIHZhciBuZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlcihJbnNwZWN0b3JUZXN0LnRlc3RX
b3Jrc3BhY2UsIEluc3BlY3RvclRlc3QudGVzdE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7CiAg
ICAgICAgIHJldHVybiBuZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXI7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LXNuaXBwZXQtbW9k
ZWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtc25pcHBldC1t
b2RlbC5odG1sCmluZGV4IGYzZWQ5NTU4MDJiODk4Mjc0YTcwODJjOGEzOWViNmM0NmViNzYxMWQu
Ljg1YmJlNzNhODAyNjAzODcxYjNmMjhlMzliYzk1NmY0YjI3Mjc1MTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtc25pcHBldC1tb2RlbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtc25pcHBldC1tb2RlbC5o
dG1sCkBAIC0xNCw5ICsxNCwxMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAvLyBGSVhNRTogUmVt
b3ZlIG9uY2Ugc25pcHBldHMgYXJlIHRha2VuIG91dCBvZiBleHBlcmltZW50cy4KICAgICBXZWJJ
bnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy5zbmlwcGV0c1N1cHBvcnQgPSB7fTsKICAgICBX
ZWJJbnNwZWN0b3IuZXhwZXJpbWVudHNTZXR0aW5ncy5zbmlwcGV0c1N1cHBvcnQuaXNFbmFibGVk
ID0gZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9OworICAgIHZhciBuZXR3b3JrV29ya3NwYWNl
UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcigpOwog
ICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOworICAgIHdv
cmtzcGFjZS5hZGRQcm9qZWN0KCJuZXR3b3JrIiwgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsK
ICAgICB2YXIgd29ya3NwYWNlQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNl
Q29udHJvbGxlcih3b3Jrc3BhY2UpOwotICAgIFdlYkluc3BlY3Rvci5zY3JpcHRTbmlwcGV0TW9k
ZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBwZXRNb2RlbCh3b3Jrc3BhY2UpOworICAg
IFdlYkluc3BlY3Rvci5zY3JpcHRTbmlwcGV0TW9kZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlw
dFNuaXBwZXRNb2RlbCh3b3Jrc3BhY2UsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7CisgICAg
CiAgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCiAgICAgICAgIGZ1bmN0
aW9uIHRlc3RXb3Jrc3BhY2VSZXNldChuZXh0KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRleCBhY2Y3MGNkNmJl
NmEwNDdhNjc4ZTY2NTE2NjI5ZDFjNmQ2ODljNDQxLi5kOGY4ZWRiZmE2Y2NlM2Y5OTA5N2YwY2Ey
MWIyZDJiZmNmYjYzYjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTE5LDEyICsxOSwxNSBAQCBmdW5jdGlvbiB0ZXN0KCkK
IAogICAgIGZ1bmN0aW9uIGNyZWF0ZU1vY2tXb3Jrc3BhY2UoKQogICAgIHsKKyAgICAgICAgdmFy
IG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyKCk7CiAgICAgICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9y
LldvcmtzcGFjZSgpOworICAgICAgICB3b3Jrc3BhY2UuYWRkUHJvamVjdCgibmV0d29yayIsIG5l
dHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7CiAgICAgICAgIHdvcmtzcGFjZS5yZXF1ZXN0RmlsZUNv
bnRlbnQgPSBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGNhbGxiYWNrKQogICAgICAgICB7CiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU291cmNlIHJlcXVlc3RlZCBmb3IgIiAr
IHVpU291cmNlQ29kZS51cmwpOwogICAgICAgICAgICAgY2FsbGJhY2soIiIpOwogICAgICAgICB9
OworICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0gbmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyOwogICAgICAgICByZXR1cm4gd29ya3NwYWNlOwogICAgIH0KIApAQCAt
MzMsMTQgKzM2LDE0IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CiAgICAgICAgICAgICB2
YXIgd29ya3NwYWNlID0gY3JlYXRlTW9ja1dvcmtzcGFjZSgpOwogCi0gICAgICAgICAgICB3b3Jr
c3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9vYmFyLmpzIiwgY29udGVudFByb3Zp
ZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtzcGFjZVByb3Zp
ZGVyLmFkZEZpbGUoImZvb2Jhci5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOwogCiAgICAg
ICAgICAgICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCh3b3Jrc3Bh
Y2UpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygpOwogCi0gICAgICAgICAgICB3b3Jrc3BhY2Uu
cHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9vLmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxz
ZSk7Ci0gICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmFy
LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7Ci0gICAgICAgICAgICB3b3Jrc3BhY2UucHJv
amVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmF6LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7
CisgICAgICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyLmFkZEZpbGUo
ImZvby5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOworICAgICAgICAgICAgd29ya3NwYWNl
Lm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5hZGRGaWxlKCJiYXIuanMiLCBjb250ZW50UHJvdmlk
ZXIsIGZhbHNlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5uZXR3b3JrV29ya3NwYWNlUHJvdmlk
ZXIuYWRkRmlsZSgiYmF6LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7CiAKICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7
CiAKQEAgLTU4LDE0ICs2MSwxNCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciBw
YW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKHdvcmtzcGFjZSk7CiAgICAgICAg
ICAgICBwYW5lbC5zaG93KCk7CiAKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRk
VUlTb3VyY2VDb2RlKCJmb28uanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKLSAgICAgICAg
ICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKCJiYXIuanMiLCBjb250ZW50
UHJvdmlkZXIsIGZhbHNlKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlT
b3VyY2VDb2RlKCJiYXouanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAgICAgICAgICAg
IHdvcmtzcGFjZS5uZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuYWRkRmlsZSgiZm9vLmpzIiwgY29u
dGVudFByb3ZpZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyLmFkZEZpbGUoImJhci5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOwor
ICAgICAgICAgICAgd29ya3NwYWNlLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5hZGRGaWxlKCJi
YXouanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKIAogICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2NyaXB0c05hdmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKIAogICAgICAgICAg
ICAgd29ya3NwYWNlQ29udHJvbGxlci5fbWFpbkZyYW1lTmF2aWdhdGVkKCk7Ci0gICAgICAgICAg
ICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmFyLmpzIiwgY29udGVudFBy
b3ZpZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtzcGFjZVBy
b3ZpZGVyLmFkZEZpbGUoImJhci5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOwogICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05hdmlnYXRvcihwYW5lbC5fbmF2aWdhdG9y
KTsKIAogICAgICAgICAgICAgcGFuZWwuZGV0YWNoKCk7CkBAIC03OCwxMyArODEsMTMgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgICAgICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNj
cmlwdHNQYW5lbCh3b3Jrc3BhY2UpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygpOwogCi0gICAg
ICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9vLmpzIiwgY29u
dGVudFByb3ZpZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UubmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyLmFkZEZpbGUoImZvby5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOwog
ICAgICAgICAgICAgdmFyIHRlbXBvcmFyeVVJU291cmNlQ29kZSA9IHdvcmtzcGFjZS5hZGRUZW1w
b3JhcnlVSVNvdXJjZUNvZGUoImNvbXBpbGVkLmpzIiwgY29udGVudFByb3ZpZGVyKTsKIAogICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05hdmlnYXRvcihwYW5lbC5fbmF2aWdh
dG9yKTsKIAogICAgICAgICAgICAgLy8gUGx1ZyBjb21waWxlciBzb3VyY2UgbWFwcGluZy4KLSAg
ICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKCJzb3VyY2UuanMi
LCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5uZXR3b3Jr
V29ya3NwYWNlUHJvdmlkZXIuYWRkRmlsZSgic291cmNlLmpzIiwgY29udGVudFByb3ZpZGVyLCBm
YWxzZSk7CiAgICAgICAgICAgICB3b3Jrc3BhY2UucmVtb3ZlVGVtcG9yYXJ5VUlTb3VyY2VDb2Rl
KHRlbXBvcmFyeVVJU291cmNlQ29kZSk7CiAKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNjcmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdWlzb3VyY2Vjb2RlLXJldmlzaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3Vpc291cmNlY29kZS1yZXZpc2lvbnMuaHRtbAppbmRleCA3NDkyZGU2ODEzM2Q5
M2NjNmRiZjZkMGQyNWYzYjAxNmEyMDViYjAxLi44OTA5NzBiY2U1OGYzZWVjODdjY2Y2ODcwMjNh
NjYxMjAzYTRkYWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdWlzb3VyY2Vj
b2RlLXJldmlzaW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91aXNvdXJjZWNv
ZGUtcmV2aXNpb25zLmh0bWwKQEAgLTgsNyArOCw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAg
ZnVuY3Rpb24gY3JlYXRlTW9ja1dvcmtzcGFjZSgpCiAgICAgeworICAgICAgICB2YXIgbmV0d29y
a1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJv
dmlkZXIoKTsKICAgICAgICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlKCk7CisgICAgICAgIHdvcmtzcGFjZS5hZGRQcm9qZWN0KCJuZXR3b3JrIiwgbmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyKTsKICAgICAgICAgd29ya3NwYWNlLnJlcXVlc3RGaWxlQ29udGVudCA9
IGZ1bmN0aW9uKHBhdGgsIGNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICBjYWxsYmFj
aygiPHNjcmlwdCBjb250ZW50PiIsIGZhbHNlLCAidGV4dC9qYXZhc2NyaXB0Iik7Cg==
</data>
<flag name="review"
          id="183971"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>