<?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>69529</bug_id>
          
          <creation_ts>2011-10-06 08:56:29 -0700</creation_ts>
          <short_desc>Web Inspector: add Styles and Metrics sidebars to the compilation.</short_desc>
          <delta_ts>2011-10-06 09:31:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479185</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 08:56:29 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479188</commentid>
    <comment_count>1</comment_count>
      <attachid>109965</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 08:59:53 -0700</bug_when>
    <thetext>Created attachment 109965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479192</commentid>
    <comment_count>2</comment_count>
      <attachid>109965</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-06 09:09:51 -0700</bug_when>
    <thetext>Comment on attachment 109965
Patch

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

&gt; Source/WebCore/inspector/front-end/inspector.js:516
&gt; +    WebInspector.CSSCompletions.requestCSSNameCompletions();

This shouldn&apos;t be called every time, e.g. workers don&apos;t need this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479197</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 09:18:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 109965 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109965&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:516
&gt; &gt; +    WebInspector.CSSCompletions.requestCSSNameCompletions();
&gt; 
&gt; This shouldn&apos;t be called every time, e.g. workers don&apos;t need this.

We&apos;ll sort it out when we go through the doLoadedDone for workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479203</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 09:31:09 -0700</bug_when>
    <thetext>Committed r96817: &lt;http://trac.webkit.org/changeset/96817&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109965</attachid>
            <date>2011-10-06 08:59:53 -0700</date>
            <delta_ts>2011-10-06 09:09:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69529-20111006195951.patch</filename>
            <type>text/plain</type>
            <size>32156</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY4MDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzQwZGNkMDk1YjUwM2Qy
MjVlMGVlYTFhYjlmZDlmMjU4MDhlYmFhLi44NWI0ODEyYzcxNzRjMTE5MDNmNTdmM2NkOGEwYmNk
ZWFjZTRkNmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDYgQEAKIDIwMTEtMTAtMDYgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IGFkZCBTdHlsZXMgYW5kIE1ldHJpY3Mgc2lkZWJhcnMgdG8gdGhlIGNvbXBpbGF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MjkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9j
b21waWxlLWZyb250LWVuZC5zaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0Nv
bXBsZXRpb25zLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnJlcXVl
c3RDU1NOYW1lQ29tcGxldGlvbnMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NT
S2V5d29yZENvbXBsZXRpb25zLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRD
b21wbGV0aW9ucy5mb3JQcm9wZXJ0eSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTS2V5d29y
ZENvbXBsZXRpb25zLmlzQ29sb3JBd2FyZVByb3BlcnR5KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NoZWNrYm94LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxl
bWVudHNQYW5lbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRl
YmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJv
dG90eXBlLl91cGRhdGVNZXRyaWNzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZXRyaWNzU2lk
ZWJhclBhbmUucHJvdG90eXBlLnN0YXJ0RWRpdGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZS5faGFuZGxlS2V5RG93bik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1Np
ZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxl
c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fcmVidWlsZFVwZGF0ZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlLl9yZWJ1aWxkU2VjdGlvbnNGb3JTdHls
ZVJ1bGVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZS5vbnBvcHVsYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRp
ZXNTZWN0aW9uLnByb3RvdHlwZS5zdGFydEVkaXRpbmdTZWxlY3Rvcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUuZWRpdGluZ1NlbGVjdG9y
Q29tbWl0dGVkLnN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQ
cm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUuZWRpdGluZ1NlbGVjdG9yQ29tbWl0dGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db21wdXRlZFN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90
eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJsYW5rU3R5bGVQcm9wZXJ0
aWVzU2VjdGlvbi5wcm90b3R5cGUubWFrZU5vcm1hbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS51cGRhdGVUaXRsZS5saW5raWZ5VVJM
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90
eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKToKKyAgICAgICAgKEVsZW1lbnQu
cHJvdG90eXBlLnNjcm9sbEludG9WaWV3SWZOZWVkZWQpOgorICAgICAgICAoRWxlbWVudC5wcm90
b3R5cGUuc2VsZWN0aW9uTGVmdE9mZnNldCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMu
anM6CisKKzIwMTEtMTAtMDYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgor
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJhY3QgRE9NUHJlc2VudGF0aW9uLCBtYWtlIEV2
ZW50TGlzdGVuZXJzU2lkZWJhciBjb21waWxlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTUyNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2ggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Y29tcGlsZS1mcm9udC1lbmQuc2gKaW5kZXggOTAyNDQxYjk1ZjFlMDFhODg4OTQwN2JhMzJmODRi
Zjk2YTUyZmJiMy4uOGVhN2Q5NmU0Y2RhNTMyMmRhNTc5ZGVmZWYzMjJmZTI3MTBhMzEwMCAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnNoCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaApAQCAtNzEs
NyArNzEsNyBAQCBqYXZhIC1qYXIgfi9jbG9zdXJlL2NvbXBpbGVyLmphciAtLWNvbXBpbGF0aW9u
X2xldmVsIFNJTVBMRV9PUFRJTUlaQVRJT05TIC0td2FybgogICAgICAgICAtLWpzIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMgXAogICAgICAgICAtLWpzIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMgXAogICAg
ICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2Rl
LmpzIFwKLSAgICAtLW1vZHVsZSBqc21vZHVsZV91aTozNTpqc21vZHVsZV9jb21tb24gXAorICAg
IC0tbW9kdWxlIGpzbW9kdWxlX3VpOjM3OmpzbW9kdWxlX2NvbW1vbiBcCiAgICAgICAgIC0tanMg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DaGVja2JveC5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBcCiAgICAg
ICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZXh0TWVudS5q
cyBcCkBAIC0xMjAsNiArMTIwLDcgQEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIg
LS1jb21waWxhdGlvbl9sZXZlbCBTSU1QTEVfT1BUSU1JWkFUSU9OUyAtLXdhcm4KICAgICAgICAg
LS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5q
cyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZh
U2NyaXB0Q29udGV4dE1hbmFnZXIuanMgXAorICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzIFwKICAgICAgICAgLS1qcyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtJdGVtVmlldy5qcyBcCiAg
ICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQb3Bv
dmVySGVscGVyLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIFwKQEAgLTEzMiw2ICsxMzMsNyBAQCBq
YXZhIC1qYXIgfi9jbG9zdXJlL2NvbXBpbGVyLmphciAtLWNvbXBpbGF0aW9uX2xldmVsIFNJTVBM
RV9PUFRJTUlaQVRJT05TIC0td2FybgogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUaW1pbmdWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBc
CisgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNT
aWRlYmFyUGFuZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZUFnZW50LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5qcwogCkBAIC0xNDEsOCArMTQzLDYg
QEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1jb21waWxhdGlvbl9sZXZlbCBT
SU1QTEVfT1BUSU1JWkFUSU9OUyAtLXdhcm4KICMKICMgRWxlbWVudHNQYW5lbAogIyBCcmVha3Bv
aW50c1NpZGViYXJQYW5lCi0jIE1ldHJpY3NTaWRlYmFyUGFuZQotIyBTdHlsZXNTaWRlYmFyUGFu
ZQogIyBET01CcmVha3BvaW50c1NpZGViYXJQYW5lCiAjCiAjIFtSZXNvdXJjZXNdCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qcwpp
bmRleCAwMjUwYzY2OTRmZmQ5Y2JlMDljNTQxZmUwMGYzYjdhMDc0MjcwMjBmLi4zZGJkMDUzOWFi
MGUxYzc0YmQ4MDUwYTcwZTUyNzUxNzVkNTE5MDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29tcGxldGlvbnMuanMKQEAgLTQwLDYgKzQwLDIy
IEBAIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucyA9IGZ1bmN0aW9uKHZhbHVlcywgYWNjZXB0
RW1wdHlQcmVmaXgpCiAgICAgdGhpcy5fYWNjZXB0RW1wdHlQcmVmaXggPSBhY2NlcHRFbXB0eVBy
ZWZpeDsKIH0KIAorCisvKioKKyAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnN9
CisgKi8KK1dlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NOYW1lQ29tcGxldGlvbnMgPSBu
dWxsOworCitXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucmVxdWVzdENTU05hbWVDb21wbGV0
aW9ucyA9IGZ1bmN0aW9uKCkKK3sKKyAgICBmdW5jdGlvbiBwcm9wZXJ0eU5hbWVzQ2FsbGJhY2so
ZXJyb3IsIG5hbWVzKQorICAgIHsKKyAgICAgICAgaWYgKCFlcnJvcikKKyAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NOYW1lQ29tcGxldGlvbnMgPSBuZXcgV2ViSW5z
cGVjdG9yLkNTU0NvbXBsZXRpb25zKG5hbWVzLCBmYWxzZSk7CisgICAgfQorICAgIENTU0FnZW50
LmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMocHJvcGVydHlOYW1lc0NhbGxiYWNrKTsKK30KKwog
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnByb3RvdHlwZSA9IHsKICAgICBzdGFydHNXaXRo
OiBmdW5jdGlvbihwcmVmaXgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwppbmRleCA5YmQx
Y2ZhNGEwZTM5YzU1Y2MxY2QzM2MwNTY5ZjQxMjhkOGQ0ZDY2Li42YjY1MTNlZTUyZDFhZjc3MTAz
MTUxNGRhMTdkM2MyNDJmMzljYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwpAQCAtMjgsMjcg
KzI4LDI0IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLS8qKgotICogQGNvbnN0cnVjdG9yCi0g
Ki8KLVdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMgPSB7Ci0gICAgZm9yUHJvcGVy
dHk6IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSkKLSAgICB7Ci0gICAgICAgIHZhciBhY2NlcHRlZEtl
eXdvcmRzID0gWyJpbml0aWFsIl07Ci0gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5z
cGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcGVydHlLZXl3b3JkTWFwKQotICAgICAg
ICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KFdlYkluc3Bl
Y3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX3Byb3BlcnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5h
bWVdKTsKLSAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBpbiBXZWJJbnNwZWN0b3IuQ1NTS2V5d29y
ZENvbXBsZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllcykKLSAgICAgICAgICAgIGFjY2VwdGVk
S2V5d29yZHMgPSBhY2NlcHRlZEtleXdvcmRzLmNvbmNhdChXZWJJbnNwZWN0b3IuQ1NTS2V5d29y
ZENvbXBsZXRpb25zLl9jb2xvcnMpOwotICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIFdlYklu
c3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuSW5oZXJpdGVkUHJvcGVydGllcykKLSAgICAg
ICAgICAgIGFjY2VwdGVkS2V5d29yZHMucHVzaCgiaW5oZXJpdCIpOwotICAgICAgICByZXR1cm4g
bmV3IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucyhhY2NlcHRlZEtleXdvcmRzLCB0cnVlKTsK
LSAgICB9LAorV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucyA9IHt9CisKK1dlYklu
c3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuZm9yUHJvcGVydHkgPSBmdW5jdGlvbihwcm9w
ZXJ0eU5hbWUpCit7CisgICAgdmFyIGFjY2VwdGVkS2V5d29yZHMgPSBbImluaXRpYWwiXTsKKyAg
ICBpZiAocHJvcGVydHlOYW1lIGluIFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMu
X3Byb3BlcnR5S2V5d29yZE1hcCkKKyAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVk
S2V5d29yZHMuY29uY2F0KFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX3Byb3Bl
cnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKKyAgICBpZiAocHJvcGVydHlOYW1lIGluIFdl
Ykluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX2NvbG9yQXdhcmVQcm9wZXJ0aWVzKQor
ICAgICAgICBhY2NlcHRlZEtleXdvcmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQoV2ViSW5z
cGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fY29sb3JzKTsKKyAgICBpZiAocHJvcGVydHlO
YW1lIGluIFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuSW5oZXJpdGVkUHJvcGVy
dGllcykKKyAgICAgICAgYWNjZXB0ZWRLZXl3b3Jkcy5wdXNoKCJpbmhlcml0Iik7CisgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMoYWNjZXB0ZWRLZXl3b3JkcywgdHJ1
ZSk7Cit9CiAKLSAgICBpc0NvbG9yQXdhcmVQcm9wZXJ0eTogZnVuY3Rpb24ocHJvcGVydHlOYW1l
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlv
bnMuX2NvbG9yQXdhcmVQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gPT09IHRydWU7Ci0gICAgfQot
fTsKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuaXNDb2xvckF3YXJlUHJvcGVy
dHkgPSBmdW5jdGlvbihwcm9wZXJ0eU5hbWUpCit7CisgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5D
U1NLZXl3b3JkQ29tcGxldGlvbnMuX2NvbG9yQXdhcmVQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0g
PT09IHRydWU7Cit9CiAKIC8vIFRha2VuIGZyb20gaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEv
cHJvcGlkeC5odG1sLgogV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5Jbmhlcml0
ZWRQcm9wZXJ0aWVzID0gWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9DaGVja2JveC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q2hlY2tib3guanMKaW5kZXggYzIyYmY4ODUzMTUwNzlkNWJjOWE1ZmVjY2ZhMjg1ODc3ODQxYWVk
OC4uZWI5NjMyYjg5NzcyMmE2NTVmZmQ3MjVhNGYwYTZiYTQ4NTRhMzFiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DaGVja2JveC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NoZWNrYm94LmpzCkBAIC0yNSw2ICsyNSw3
IEBACiAKIC8qKgogICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0ge3N0cmluZz19IHRvb2x0aXAK
ICAqLwogV2ViSW5zcGVjdG9yLkNoZWNrYm94ID0gZnVuY3Rpb24obGFiZWwsIGNsYXNzTmFtZSwg
dG9vbHRpcCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RWxlbWVudHNQYW5lbC5qcwppbmRleCAyNjA4NTQ5MDFlMTU2ZThmZDY3NzA3NWZlMzRkMWVmOTRm
YzdkOGVjLi45Y2IyZjM0MjQ4MTA5YjA1YzYxYjY4MzMwNjhkYjhhOTEzMDk0YWE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpz
CkBAIC0zNzcsMTEgKzM3Nyw2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKLSAgICByZW5hbWVTZWxlY3RvcjogZnVuY3Rpb24o
b2xkSWRlbnRpZmllciwgbmV3SWRlbnRpZmllciwgb2xkU2VsZWN0b3IsIG5ld1NlbGVjdG9yKQot
ICAgIHsKLSAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IFNoaWZ0aW5nIHRoZSBvbGRTZWxlY3Rv
ciwgYW5kIGl0cyBjb250ZW50cyB0byBhIG5ld1NlbGVjdG9yCi0gICAgfSwKLQogICAgIHNlbGVj
dGVkRE9NTm9kZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMudHJlZU91
dGxpbmUuc2VsZWN0ZWRET01Ob2RlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzCmluZGV4IDE4YmU4MTNjZTBh
ZDI3YTIxMjJmZThkMGUxYzA0ZWIwNDJiZmVjMTEuLjRlZjQ1MmJmMDg4MjdkMTYwYjk3Mzg1YTE0
NzBjNWE2MTY2YmIwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzCkBAIC0yNiw2ICsyNiwxMCBAQAogICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZX0KKyAqLwogV2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFu
ZSA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlz
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk1ldHJpY3MiKSk7CkBAIC0zNiw2ICs0MCw5IEBAIFdl
Ykluc3BlY3Rvci5NZXRyaWNzU2lkZWJhclBhbmUgPSBmdW5jdGlvbigpCiB9CiAKIFdlYkluc3Bl
Y3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLkRPTU5vZGU9fSBub2RlCisgICAgICovCiAgICAgdXBkYXRlOiBm
dW5jdGlvbihub2RlKQogICAgIHsKICAgICAgICAgaWYgKG5vZGUpCkBAIC0yMDgsNyArMjE1LDcg
QEAgV2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuQ29sb3IuZnJvbVJHQkEoMCwgMCwgMCwgMCkKICAgICAgICAgXTsK
ICAgICAgICAgdmFyIGJveExhYmVscyA9IFtXZWJJbnNwZWN0b3IuVUlTdHJpbmcoImNvbnRlbnQi
KSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJwYWRkaW5nIiksIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiYm9yZGVyIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygibWFyZ2luIiksIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygicG9zaXRpb24iKV07Ci0gICAgICAgIHZhciBwcmV2aW91c0JveDsKKyAgICAg
ICAgdmFyIHByZXZpb3VzQm94ID0gbnVsbDsKICAgICAgICAgdGhpcy5fYm94RWxlbWVudHMgPSBb
XTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBib3hlcy5sZW5ndGg7ICsraSkgewogICAg
ICAgICAgICAgdmFyIG5hbWUgPSBib3hlc1tpXTsKQEAgLTI4MCwxMSArMjg3LDEzIEBAIFdlYklu
c3BlY3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICB0YXJnZXRF
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBib3VuZEtleURvd24sIGZhbHNlKTsK
IAogICAgICAgICB0aGlzLl9pc0VkaXRpbmdNZXRyaWNzID0gdHJ1ZTsKLSAgICAgICAgV2ViSW5z
cGVjdG9yLnN0YXJ0RWRpdGluZyh0YXJnZXRFbGVtZW50LCB7Ci0gICAgICAgICAgICBjb250ZXh0
OiBjb250ZXh0LAotICAgICAgICAgICAgY29tbWl0SGFuZGxlcjogdGhpcy5lZGl0aW5nQ29tbWl0
dGVkLmJpbmQodGhpcyksCi0gICAgICAgICAgICBjYW5jZWxIYW5kbGVyOiB0aGlzLmVkaXRpbmdD
YW5jZWxsZWQuYmluZCh0aGlzKQotICAgICAgICB9KTsKKworICAgICAgICB2YXIgY29uZmlnID0g
bmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKCk7CisgICAgICAgIGNvbmZpZy5zZXRDb250
ZXh0KGNvbnRleHQpOworICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcih0aGlzLmVkaXRp
bmdDb21taXR0ZWQuYmluZCh0aGlzKSk7CisgICAgICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5kbGVy
KHRoaXMuZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVjdG9y
LnN0YXJ0RWRpdGluZyh0YXJnZXRFbGVtZW50LCBjb25maWcpOworCiAgICAgICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRhcmdldEVsZW1lbnQsIDAsIHRhcmdldEVs
ZW1lbnQsIDEpOwogICAgIH0sCiAKQEAgLTMwOSw5ICszMTgsOSBAQCBXZWJJbnNwZWN0b3IuTWV0
cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIG1hdGNoZXMgPSAvKC4q
PykoLT8oPzpcZCsoPzpcLlxkKyk/fFwuXGQrKSkoLiopLy5leGVjKHdvcmRTdHJpbmcpOwogICAg
ICAgICB2YXIgcmVwbGFjZW1lbnRTdHJpbmc7CiAgICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNo
ZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgICBwcmVmaXggPSBtYXRjaGVzWzFdOwotICAgICAgICAg
ICAgc3VmZml4ID0gbWF0Y2hlc1szXTsKLSAgICAgICAgICAgIG51bWJlciA9IFdlYkluc3BlY3Rv
ci5TdHlsZXNTaWRlYmFyUGFuZS5hbHRlcmVkRmxvYXROdW1iZXIocGFyc2VGbG9hdChtYXRjaGVz
WzJdKSwgZXZlbnQpOworICAgICAgICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07CisgICAg
ICAgICAgICB2YXIgc3VmZml4ID0gbWF0Y2hlc1szXTsKKyAgICAgICAgICAgIHZhciBudW1iZXIg
PSBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuYWx0ZXJlZEZsb2F0TnVtYmVyKHBhcnNl
RmxvYXQobWF0Y2hlc1syXSksIGV2ZW50KTsKICAgICAgICAgICAgIGlmIChudW1iZXIgPT09IG51
bGwpIHsKICAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNoZWNrIGZvciBudWxsIGV4cGxpY2l0
bHkuCiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzY5LDcgKzM3OCw2IEBAIFdlYkluc3Bl
Y3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYg
KCF0aGlzLmlubGluZVN0eWxlKSB7CiAgICAgICAgICAgICAvLyBFbGVtZW50IGhhcyBubyByZW5k
ZXJlci4KLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm9yaWdpbmFsUHJvcGVydHlWYWx1ZTsKICAg
ICAgICAgICAgIHJldHVybiB0aGlzLmVkaXRpbmdDYW5jZWxsZWQoZWxlbWVudCwgY29udGV4dCk7
IC8vIG5vdGhpbmcgY2hhbmdlZCwgc28gY2FuY2VsCiAgICAgICAgIH0KIApAQCAtMzkxLDggKzM5
OSw3IEBAIFdlYkluc3BlY3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGlmIChjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoImJveC1zaXppbmciKSA9
PT0gImJvcmRlci1ib3giICYmIChzdHlsZVByb3BlcnR5ID09PSAid2lkdGgiIHx8IHN0eWxlUHJv
cGVydHkgPT09ICJoZWlnaHQiKSkgewogICAgICAgICAgICAgaWYgKCF1c2VySW5wdXQubWF0Y2go
L3B4JC8pKSB7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZygiRm9yIGVsZW1lbnRz
IHdpdGggYm94LXNpemluZzogYm9yZGVyLWJveCwgb25seSBhYnNvbHV0ZSBjb250ZW50IGFyZWEg
ZGltZW5zaW9ucyBjYW4gYmUgYXBwbGllZCIsIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlTGV2ZWwuRXJyb3IpOwotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93Q29u
c29sZSgpOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2coIkZvciBlbGVtZW50cyB3
aXRoIGJveC1zaXppbmc6IGJvcmRlci1ib3gsIG9ubHkgYWJzb2x1dGUgY29udGVudCBhcmVhIGRp
bWVuc2lvbnMgY2FuIGJlIGFwcGxpZWQiLCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVz
c2FnZUxldmVsLkVycm9yLCB0cnVlKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlQ1NTVG9rZW5pemVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKaW5kZXggYTAwMWU4M2JmMTA4MjA4ZTliMzljYzQ5NTBh
OGEzMjU2OGUxZGRmYi4uZDI3YWI5OTgzYTk0MjdjOTlmYTg4NjkxZThjMzk4ZGRmMjk0YTgzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NU
b2tlbml6ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VDU1NUb2tlbml6ZXIuanMKQEAgLTQ5LDcgKzQ5LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5p
emVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVj
dG9yLmNzc05hbWVDb21wbGV0aW9ucy5rZXlTZXQoKTsKKyAgICB0aGlzLl9wcm9wZXJ0eUtleXdv
cmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc05hbWVDb21wbGV0aW9ucy5rZXlT
ZXQoKTsKIAogICAgIHRoaXMuX3ZhbHVlS2V5d29yZHMgPSBbCiAgICAgICAgICJhYm92ZSIsICJh
YnNvbHV0ZSIsICJhY3RpdmVib3JkZXIiLCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVy
LXdoaXRlLXNwYWNlIiwgImFoZWFkIiwgImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9r
ZW5pemVyLnJlMmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VD
U1NUb2tlbml6ZXIucmUyanMKaW5kZXggMjU2NWU0OWJiZmQ5YWUwZDBkOGE4NWNlN2MxODY2OGVl
ZDIxNGRhZi4uYWJiNTFhYzgxYzMyYmFlOTJiMTRmNDk3MzQ5OTVjMjQzM2VlYjU3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6
ZXIucmUyanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VD
U1NUb2tlbml6ZXIucmUyanMKQEAgLTQ4LDcgKzQ4LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5p
emVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVj
dG9yLmNzc05hbWVDb21wbGV0aW9ucy5rZXlTZXQoKTsKKyAgICB0aGlzLl9wcm9wZXJ0eUtleXdv
cmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc05hbWVDb21wbGV0aW9ucy5rZXlT
ZXQoKTsKIAogICAgIHRoaXMuX3ZhbHVlS2V5d29yZHMgPSBbCiAgICAgICAgICJhYm92ZSIsICJh
YnNvbHV0ZSIsICJhY3RpdmVib3JkZXIiLCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVy
LXdoaXRlLXNwYWNlIiwgImFoZWFkIiwgImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJh
clBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGVi
YXJQYW5lLmpzCmluZGV4IGU2MGFkMDM2YjIwNTJkOTQ0NjI2OTU5ZDc1Njg0Y2ZmNGU5MzVmMzYu
LmEwYWQ3YjRjNGRjYWNkNjBhNGI1OTIzMTIxZDRjOGNlOGY5ZmViOTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cwpAQCAtMjcsNiArMjcsMTAgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLyoqCisgKiBAY29uc3Ry
dWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmV9CisgKi8KIFdlYklu
c3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKGNvbXB1dGVkU3R5bGVQYW5lKQog
ewogICAgIFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU3R5bGVzIikpOwpAQCAtMzksNyArNDMsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVz
U2lkZWJhclBhbmUgPSBmdW5jdGlvbihjb21wdXRlZFN0eWxlUGFuZSkKICAgICBvcHRpb24ubGFi
ZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVU
aXRsZXMoKSA/ICJBcyBhdXRob3JlZCIgOiAiQXMgQXV0aG9yZWQiKTsKICAgICB0aGlzLnNldHRp
bmdzU2VsZWN0RWxlbWVudC5hcHBlbmRDaGlsZChvcHRpb24pOwogCi0gICAgdmFyIG9wdGlvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICAgIG9wdGlvbiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwogICAgIG9wdGlvbi52YWx1ZSA9IFdlYkluc3BlY3Rv
ci5TdHlsZXNTaWRlYmFyUGFuZS5Db2xvckZvcm1hdC5IRVg7CiAgICAgb3B0aW9uLmxhYmVsID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJIZXggQ29sb3JzIik7CiAgICAgdGhpcy5zZXR0aW5nc1Nl
bGVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uKTsKQEAgLTIyNiw5ICsyMzAsMTMgQEAgV2Vi
SW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgbm9kZSA9IHRoaXMubm9kZTsKIAotICAgICAgICB0aGlzLl9pbm5lclVwZGF0
ZShyZWZyZXNoLCBudWxsKTsKKyAgICAgICAgdGhpcy5faW5uZXJVcGRhdGUocmVmcmVzaCk7CiAg
ICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVy
dGllc1NlY3Rpb249fSBlZGl0ZWRTZWN0aW9uCisgICAgICogQHBhcmFtIHtmdW5jdGlvbigpPX0g
dXNlckNhbGxiYWNrCisgICAgICovCiAgICAgX2lubmVyVXBkYXRlOiBmdW5jdGlvbihyZWZyZXNo
LCBlZGl0ZWRTZWN0aW9uLCB1c2VyQ2FsbGJhY2spCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9
IHRoaXMubm9kZTsKQEAgLTMyOCw3ICszMzYsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJh
clBhbmUucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdXNlZFByb3BlcnRpZXMgPSB7fTsKICAg
ICAgICAgdmFyIGRpc2FibGVkQ29tcHV0ZWRQcm9wZXJ0aWVzID0ge307CiAgICAgICAgIHRoaXMu
X21hcmtVc2VkUHJvcGVydGllcyhzdHlsZVJ1bGVzLCB1c2VkUHJvcGVydGllcywgZGlzYWJsZWRD
b21wdXRlZFByb3BlcnRpZXMpOwotICAgICAgICB0aGlzLnNlY3Rpb25zWzBdID0gdGhpcy5fcmVi
dWlsZFNlY3Rpb25zRm9yU3R5bGVSdWxlcyhzdHlsZVJ1bGVzLCB1c2VkUHJvcGVydGllcywgZGlz
YWJsZWRDb21wdXRlZFByb3BlcnRpZXMsIDApOworICAgICAgICB0aGlzLnNlY3Rpb25zWzBdID0g
dGhpcy5fcmVidWlsZFNlY3Rpb25zRm9yU3R5bGVSdWxlcyhzdHlsZVJ1bGVzLCB1c2VkUHJvcGVy
dGllcywgZGlzYWJsZWRDb21wdXRlZFByb3BlcnRpZXMsIDAsIG51bGwpOwogICAgICAgICB2YXIg
YW5jaG9yRWxlbWVudCA9IHRoaXMuc2VjdGlvbnNbMF0uaW5oZXJpdGVkUHJvcGVydGllc1NlcGFy
YXRvckVsZW1lbnQ7CiAgICAgICAgIC8vIFRyYWNlIHRoZSBjb21wdXRlZCBzdHlsZS4KICAgICAg
ICAgdGhpcy5zZWN0aW9uc1swXVswXS5yZWJ1aWxkQ29tcHV0ZWRUcmFjZSh0aGlzLnNlY3Rpb25z
WzBdKTsKQEAgLTU5OCw3ICs2MDYsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGVkaXRhYmxlID0gdHJ1ZTsKIAogICAgICAg
ICAgICAgaWYgKGNvbXB1dGVkU3R5bGUpCi0gICAgICAgICAgICAgICAgdmFyIHNlY3Rpb24gPSBu
ZXcgV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbihzdHlsZVJ1bGUs
IHVzZWRQcm9wZXJ0aWVzLCBkaXNhYmxlZENvbXB1dGVkUHJvcGVydGllcywgc3R5bGVSdWxlcyk7
CisgICAgICAgICAgICAgICAgdmFyIHNlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkNvbXB1dGVk
U3R5bGVQcm9wZXJ0aWVzU2VjdGlvbihzdHlsZVJ1bGUsIHVzZWRQcm9wZXJ0aWVzLCBkaXNhYmxl
ZENvbXB1dGVkUHJvcGVydGllcyk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
dmFyIHNlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24odGhp
cywgc3R5bGVSdWxlLCBlZGl0YWJsZSwgc3R5bGVSdWxlLmlzSW5oZXJpdGVkLCBsYXN0V2FzU2Vw
YXJhdG9yKTsKICAgICAgICAgICAgIHNlY3Rpb24ucGFuZSA9IHRoaXM7CkBAIC04MDgsNiArODE2
LDEwIEBAIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAKIFdl
Ykluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAq
IEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmV9CisgKi8KIFdlYkluc3BlY3Rvci5D
b21wdXRlZFN0eWxlU2lkZWJhclBhbmUgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9y
LlNpZGViYXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb21wdXRlZCBT
dHlsZSIpKTsKQEAgLTgzMyw2ICs4NDUsMTAgQEAgV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVT
aWRlYmFyUGFuZSA9IGZ1bmN0aW9uKCkKIAogV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnBy
b3RvdHlwZTsKIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0
b3IuUHJvcGVydGllc1NlY3Rpb259CisgKi8KIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNT
ZWN0aW9uID0gZnVuY3Rpb24ocGFyZW50UGFuZSwgc3R5bGVSdWxlLCBlZGl0YWJsZSwgaXNJbmhl
cml0ZWQsIGlzRmlyc3RTZWN0aW9uKQogewogICAgIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2Vj
dGlvbi5jYWxsKHRoaXMsICIiKTsKQEAgLTEwMzgsNyArMTA1NCw3IEBAIFdlYkluc3BlY3Rvci5T
dHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChzaG9y
dGhhbmQpIHsKICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA9IHN0eWxlLmdldExpdmVQcm9wZXJ0
eShzaG9ydGhhbmQpOwogICAgICAgICAgICAgICAgIGlmICghcHJvcGVydHkpCi0gICAgICAgICAg
ICAgICAgICAgIHByb3BlcnR5ID0gbmV3IFdlYkluc3BlY3Rvci5DU1NQcm9wZXJ0eShzdHlsZSwg
c3R5bGUuYWxsUHJvcGVydGllcy5sZW5ndGgsIHNob3J0aGFuZCwgc3R5bGUuZ2V0U2hvcnRoYW5k
VmFsdWUoc2hvcnRoYW5kKSwgc3R5bGUuZ2V0U2hvcnRoYW5kUHJpb3JpdHkoc2hvcnRoYW5kKSwg
InN0eWxlIiwgdHJ1ZSwgdHJ1ZSwgIiIpOworICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA9
IG5ldyBXZWJJbnNwZWN0b3IuQ1NTUHJvcGVydHkoc3R5bGUsIHN0eWxlLmFsbFByb3BlcnRpZXMu
bGVuZ3RoLCBzaG9ydGhhbmQsIHN0eWxlLmdldFNob3J0aGFuZFZhbHVlKHNob3J0aGFuZCksIHN0
eWxlLmdldFNob3J0aGFuZFByaW9yaXR5KHNob3J0aGFuZCksICJzdHlsZSIsIHRydWUsIHRydWUs
ICIiLCB1bmRlZmluZWQpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB2YXIgaXNTaG9y
dGhhbmQgPSAhIShwcm9wZXJ0eS5pc0xpdmUgJiYgKHNob3J0aGFuZCB8fCBzaG9ydGhhbmROYW1l
c1twcm9wZXJ0eS5uYW1lXSkpOwpAQCAtMTA2Miw2ICsxMDc4LDkgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gbnVsbDsK
ICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtudW1iZXI9fSBvcHRpb25hbEluZGV4
CisgICAgICovCiAgICAgYWRkTmV3QmxhbmtQcm9wZXJ0eTogZnVuY3Rpb24ob3B0aW9uYWxJbmRl
eCkKICAgICB7CiAgICAgICAgIHZhciBzdHlsZSA9IHRoaXMuc3R5bGVSdWxlLnN0eWxlOwpAQCAt
MTA3NCw3ICsxMDkzLDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJv
dG90eXBlID0gewogICAgICAgICByZXR1cm4gaXRlbTsKICAgICB9LAogCi0gICAgX2RlYnVnU2hv
d1N0eWxlOiBmdW5jdGlvbihhbmNob3IpCisgICAgX2RlYnVnU2hvd1N0eWxlOiBmdW5jdGlvbihl
dmVudCkKICAgICB7CiAgICAgICAgIHZhciBib3VuZEhhbmRsZXI7CiAgICAgICAgIGZ1bmN0aW9u
IHJlbW92ZVN0eWxlQm94KGVsZW1lbnQsIGV2ZW50KQpAQCAtMTE1MiwxMSArMTE3MSwxMiBAQCBX
ZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LnNjcm9sbEludG9W
aWV3SWZOZWVkZWQoZmFsc2UpOwotICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKHRo
aXMuX3NlbGVjdG9yRWxlbWVudCwgewotICAgICAgICAgICAgY29udGV4dDogbnVsbCwKLSAgICAg
ICAgICAgIGNvbW1pdEhhbmRsZXI6IHRoaXMuZWRpdGluZ1NlbGVjdG9yQ29tbWl0dGVkLmJpbmQo
dGhpcyksCi0gICAgICAgICAgICBjYW5jZWxIYW5kbGVyOiB0aGlzLmVkaXRpbmdTZWxlY3RvckNh
bmNlbGxlZC5iaW5kKHRoaXMpCi0gICAgICAgIH0pOworCisgICAgICAgIHZhciBjb25maWcgPSBu
ZXcgV2ViSW5zcGVjdG9yLkVkaXRpbmdDb25maWcoKTsKKyAgICAgICAgY29uZmlnLnNldENvbW1p
dEhhbmRsZXIodGhpcy5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQuYmluZCh0aGlzKSk7CisgICAg
ICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5kbGVyKHRoaXMuZWRpdGluZ1NlbGVjdG9yQ2FuY2VsbGVk
LmJpbmQodGhpcykpOworICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKHRoaXMuX3Nl
bGVjdG9yRWxlbWVudCwgY29uZmlnKTsKKwogICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
c2V0QmFzZUFuZEV4dGVudChlbGVtZW50LCAwLCBlbGVtZW50LCAxKTsKICAgICB9LAogCkBAIC0x
MTg3LDMzICsxMjA3LDI5IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgaWYgKG5ld0NvbnRlbnQgPT09IG9sZENvbnRlbnQpCiAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5fbW92ZUVkaXRvckZyb21TZWxlY3Rvcihtb3ZlRGlyZWN0aW9u
KTsKIAotICAgICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0KICAgICAgICAgZnVuY3Rpb24gc3VjY2Vz
c0NhbGxiYWNrKG5ld1J1bGUsIGRvZXNBZmZlY3RTZWxlY3RlZE5vZGUpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICghZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSkgewotICAgICAgICAgICAgICAg
IHNlbGYubm9BZmZlY3QgPSB0cnVlOwotICAgICAgICAgICAgICAgIHNlbGYuZWxlbWVudC5hZGRT
dHlsZUNsYXNzKCJuby1hZmZlY3QiKTsKKyAgICAgICAgICAgICAgICB0aGlzLm5vQWZmZWN0ID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygibm8tYWZm
ZWN0Iik7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGRlbGV0ZSBzZWxm
Lm5vQWZmZWN0OwotICAgICAgICAgICAgICAgIHNlbGYuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJuby1hZmZlY3QiKTsKKyAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5ub0FmZmVjdDsKKyAg
ICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygibm8tYWZmZWN0Iik7
CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHNlbGYucnVsZSA9IG5ld1J1bGU7Ci0gICAg
ICAgICAgICBzZWxmLnN0eWxlUnVsZSA9IHsgc2VjdGlvbjogc2VsZiwgc3R5bGU6IG5ld1J1bGUu
c3R5bGUsIHNlbGVjdG9yVGV4dDogbmV3UnVsZS5zZWxlY3RvclRleHQsIHNvdXJjZVVSTDogbmV3
UnVsZS5zb3VyY2VVUkwsIHJ1bGU6IG5ld1J1bGUgfTsKKyAgICAgICAgICAgIHRoaXMucnVsZSA9
IG5ld1J1bGU7CisgICAgICAgICAgICB0aGlzLnN0eWxlUnVsZSA9IHsgc2VjdGlvbjogdGhpcywg
c3R5bGU6IG5ld1J1bGUuc3R5bGUsIHNlbGVjdG9yVGV4dDogbmV3UnVsZS5zZWxlY3RvclRleHQs
IHNvdXJjZVVSTDogbmV3UnVsZS5zb3VyY2VVUkwsIHJ1bGU6IG5ld1J1bGUgfTsKIAogICAgICAg
ICAgICAgdmFyIG9sZElkZW50aWZpZXIgPSB0aGlzLmlkZW50aWZpZXI7Ci0gICAgICAgICAgICBz
ZWxmLmlkZW50aWZpZXIgPSBuZXdSdWxlLnNlbGVjdG9yVGV4dCArICI6IiArIHNlbGYuc3VidGl0
bGVFbGVtZW50LnRleHRDb250ZW50OwotCi0gICAgICAgICAgICBzZWxmLnBhbmUudXBkYXRlKCk7
CisgICAgICAgICAgICB0aGlzLmlkZW50aWZpZXIgPSBuZXdSdWxlLnNlbGVjdG9yVGV4dCArICI6
IiArIHRoaXMuc3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50OwogCi0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnJlbmFtZVNlbGVjdG9yKG9sZElkZW50aWZpZXIsIHRo
aXMuaWRlbnRpZmllciwgb2xkQ29udGVudCwgbmV3Q29udGVudCk7CisgICAgICAgICAgICB0aGlz
LnBhbmUudXBkYXRlKCk7CiAKLSAgICAgICAgICAgIHNlbGYuX21vdmVFZGl0b3JGcm9tU2VsZWN0
b3IobW92ZURpcmVjdGlvbik7CisgICAgICAgICAgICB0aGlzLl9tb3ZlRWRpdG9yRnJvbVNlbGVj
dG9yKG1vdmVEaXJlY3Rpb24pOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIHNlbGVjdGVkTm9k
ZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2VsZWN0ZWRET01Ob2RlKCk7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5zZXRSdWxlU2VsZWN0b3IodGhpcy5ydWxlLmlkLCBz
ZWxlY3RlZE5vZGUgPyBzZWxlY3RlZE5vZGUuaWQgOiAwLCBuZXdDb250ZW50LCBzdWNjZXNzQ2Fs
bGJhY2ssIG1vdmVUb05leHRJZk5lZWRlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLmNzc01vZGVsLnNldFJ1bGVTZWxlY3Rvcih0aGlzLnJ1bGUuaWQsIHNlbGVjdGVkTm9kZSA/
IHNlbGVjdGVkTm9kZS5pZCA6IDAsIG5ld0NvbnRlbnQsIHN1Y2Nlc3NDYWxsYmFjay5iaW5kKHRo
aXMpLCB0aGlzLl9tb3ZlRWRpdG9yRnJvbVNlbGVjdG9yLmJpbmQodGhpcywgbW92ZURpcmVjdGlv
bikpOwogICAgIH0sCiAKICAgICBlZGl0aW5nU2VsZWN0b3JDYW5jZWxsZWQ6IGZ1bmN0aW9uKCkK
QEAgLTEyMjQsNiArMTI0MCwxMCBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2VjdGlv
bi5wcm90b3R5cGUgPSB7CiAKIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24ucHJvdG90
eXBlOwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5Q
cm9wZXJ0aWVzU2VjdGlvbn0KKyAqLwogV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVQcm9wZXJ0
aWVzU2VjdGlvbiA9IGZ1bmN0aW9uKHN0eWxlUnVsZSwgdXNlZFByb3BlcnRpZXMsIGRpc2FibGVk
Q29tcHV0ZWRQcm9wZXJ0aWVzKQogewogICAgIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlv
bi5jYWxsKHRoaXMsICIiKTsKQEAgLTEyNzksNyArMTI5OSw3IEBAIFdlYkluc3BlY3Rvci5Db21w
dXRlZFN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHVuaXF1ZVByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAg
IHZhciBwcm9wZXJ0eSA9IHVuaXF1ZVByb3BlcnRpZXNbaV07CiAgICAgICAgICAgICB2YXIgaW5o
ZXJpdGVkID0gdGhpcy5faXNQcm9wZXJ0eUluaGVyaXRlZChwcm9wZXJ0eS5uYW1lKTsKLSAgICAg
ICAgICAgIHZhciBpdGVtID0gbmV3IFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1l
bnQodGhpcy5fcGFyZW50UGFuZSwgdGhpcy5zdHlsZVJ1bGUsIHN0eWxlLCBwcm9wZXJ0eSwgZmFs
c2UsIGluaGVyaXRlZCwgZmFsc2UpOworICAgICAgICAgICAgdmFyIGl0ZW0gPSBuZXcgV2ViSW5z
cGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudChudWxsLCB0aGlzLnN0eWxlUnVsZSwgc3R5
bGUsIHByb3BlcnR5LCBmYWxzZSwgaW5oZXJpdGVkLCBmYWxzZSk7CiAgICAgICAgICAgICB0aGlz
LnByb3BlcnRpZXNUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChpdGVtKTsKICAgICAgICAgICAgIHRo
aXMuX3Byb3BlcnR5VHJlZUVsZW1lbnRzW3Byb3BlcnR5Lm5hbWVdID0gaXRlbTsKICAgICAgICAg
fQpAQCAtMTMyNiw2ICsxMzQ2LDEwIEBAIFdlYkluc3BlY3Rvci5Db21wdXRlZFN0eWxlUHJvcGVy
dGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogCiBXZWJJbnNwZWN0b3IuQ29tcHV0ZWRTdHlsZVBy
b3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvcGVy
dGllc1NlY3Rpb24ucHJvdG90eXBlOwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVu
ZHMge1dlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9ufQorICovCiBXZWJJbnNwZWN0
b3IuQmxhbmtTdHlsZVByb3BlcnRpZXNTZWN0aW9uID0gZnVuY3Rpb24ocGFyZW50UGFuZSwgZGVm
YXVsdFNlbGVjdG9yVGV4dCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2Vj
dGlvbi5jYWxsKHRoaXMsIHBhcmVudFBhbmUsIHtzZWxlY3RvclRleHQ6IGRlZmF1bHRTZWxlY3Rv
clRleHQsIHJ1bGU6IHtpc1ZpYUluc3BlY3RvcjogdHJ1ZX19LCB0cnVlLCBmYWxzZSwgZmFsc2Up
OwpAQCAtMTM3MCwxMiArMTM5NCwxNiBAQCBXZWJJbnNwZWN0b3IuQmxhbmtTdHlsZVByb3BlcnRp
ZXNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5zdHlsZVJ1bGUgPSBzdHlsZVJ1
bGU7CiAgICAgICAgIHRoaXMucnVsZSA9IHN0eWxlUnVsZS5ydWxlOwogICAgICAgICB0aGlzLmlk
ZW50aWZpZXIgPSBzdHlsZVJ1bGUuc2VsZWN0b3JUZXh0ICsgIjp2aWEgaW5zcGVjdG9yIjsKLSAg
ICAgICAgdGhpcy5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2VjdGlv
bi5wcm90b3R5cGU7CiAgICAgfQogfQogCiBXZWJJbnNwZWN0b3IuQmxhbmtTdHlsZVByb3BlcnRp
ZXNTZWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0
aWVzU2VjdGlvbi5wcm90b3R5cGU7CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5k
cyB7VHJlZUVsZW1lbnR9CisgKiBAcGFyYW0gez9XZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBh
bmV9IHBhcmVudFBhbmUKKyAqLwogV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVu
dCA9IGZ1bmN0aW9uKHBhcmVudFBhbmUsIHN0eWxlUnVsZSwgc3R5bGUsIHByb3BlcnR5LCBzaG9y
dGhhbmQsIGluaGVyaXRlZCwgb3ZlcmxvYWRlZCkKIHsKICAgICB0aGlzLl9wYXJlbnRQYW5lID0g
cGFyZW50UGFuZTsKQEAgLTE1MzMsNyArMTU2MSw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3Bl
cnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBocmVmVXJs
ID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVVJMRm9yUmVsYXRlZE5vZGUoV2ViSW5zcGVjdG9yLnBh
bmVscy5lbGVtZW50cy5zZWxlY3RlZERPTU5vZGUoKSwgaHJlZlVybCk7CiAgICAgICAgICAgICAg
ICAgdmFyIGhhc1Jlc291cmNlID0gISFXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoaHJlZlVy
bCk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNO
b2RlKCkgc2hvdWxkIHJlYWxseSB1c2UgYmFzZVVSSS4KLSAgICAgICAgICAgICAgICBjb250YWlu
ZXIuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUoaHJlZlVybCwgdXJs
LCBudWxsLCAhaGFzUmVzb3VyY2UpKTsKKyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5k
Q2hpbGQoV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUoaHJlZlVybCwgdXJsLCB1bmRlZmlu
ZWQsICFoYXNSZXNvdXJjZSkpOwogICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiKSIpKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
Y29udGFpbmVyOwogICAgICAgICAgICAgfQpAQCAtMTg3NCwxNSArMTkwMiwxNiBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5fcGFyZW50UGFuZS5faXNFZGl0aW5nU3R5bGUgPSB0cnVlOwogICAgICAgICBpZiAoc2VsZWN0
RWxlbWVudC5wYXJlbnRFbGVtZW50KQogICAgICAgICAgICAgc2VsZWN0RWxlbWVudC5wYXJlbnRF
bGVtZW50LnNjcm9sbEludG9WaWV3SWZOZWVkZWQoZmFsc2UpOwotICAgICAgICBXZWJJbnNwZWN0
b3Iuc3RhcnRFZGl0aW5nKHNlbGVjdEVsZW1lbnQsIHsKLSAgICAgICAgICAgIGNvbnRleHQ6IGNv
bnRleHQsCi0gICAgICAgICAgICBjb21taXRIYW5kbGVyOiB0aGlzLmVkaXRpbmdDb21taXR0ZWQu
YmluZCh0aGlzKSwKLSAgICAgICAgICAgIGNhbmNlbEhhbmRsZXI6IHRoaXMuZWRpdGluZ0NhbmNl
bGxlZC5iaW5kKHRoaXMpLAotICAgICAgICAgICAgY3VzdG9tRmluaXNoSGFuZGxlcjogbmFtZVZh
bHVlRmluaXNoSGFuZGxlci5iaW5kKHRoaXMsIGNvbnRleHQsIGlzRWRpdGluZ05hbWUpLAotICAg
ICAgICAgICAgcGFzdGVIYW5kbGVyOiBpc0VkaXRpbmdOYW1lID8gcGFzdGVIYW5kbGVyLmJpbmQo
dGhpcywgY29udGV4dCkgOiBudWxsCi0gICAgICAgIH0pOwotCi0gICAgICAgIHRoaXMuX3Byb21w
dCA9IG5ldyBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuQ1NTUHJvcGVydHlQcm9tcHQo
c2VsZWN0RWxlbWVudCwgaXNFZGl0aW5nTmFtZSA/IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxl
dGlvbnMgOiBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KHRo
aXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQpKTsKKworICAgICAgICB2YXIgY29uZmlnID0gbmV3
IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKCk7CisgICAgICAgIGNvbmZpZy5zZXRDb250ZXh0
KGNvbnRleHQpOworICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcih0aGlzLmVkaXRpbmdD
b21taXR0ZWQuYmluZCh0aGlzKSk7CisgICAgICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5kbGVyKHRo
aXMuZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgY29uZmlnLnNldEN1c3Rv
bUZpbmlzaEhhbmRsZXIobmFtZVZhbHVlRmluaXNoSGFuZGxlci5iaW5kKHRoaXMsIGNvbnRleHQs
IGlzRWRpdGluZ05hbWUpKTsKKyAgICAgICAgY29uZmlnLnNldFBhc3RlSGFuZGxlcihpc0VkaXRp
bmdOYW1lID8gcGFzdGVIYW5kbGVyLmJpbmQodGhpcywgY29udGV4dCkgOiBudWxsKTsKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLnN0YXJ0RWRpdGluZyhzZWxlY3RFbGVtZW50LCBjb25maWcpOworCisg
ICAgICAgIHRoaXMuX3Byb21wdCA9IG5ldyBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
Q1NTUHJvcGVydHlQcm9tcHQoc2VsZWN0RWxlbWVudCwgaXNFZGl0aW5nTmFtZSA/IFdlYkluc3Bl
Y3Rvci5DU1NDb21wbGV0aW9ucy5jc3NOYW1lQ29tcGxldGlvbnMgOiBXZWJJbnNwZWN0b3IuQ1NT
S2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRl
bnQpKTsKICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoc2Vs
ZWN0RWxlbWVudCwgMCwgc2VsZWN0RWxlbWVudCwgMSk7CiAgICAgfSwKIApAQCAtMTg5Myw3ICsx
OTIyLDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIGlmICh0aGlzLl9oYW5kbGVVcE9yRG93bktleVByZXNzZWQoZXZlbnQpKQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2FwcGx5RnJlZUZsb3dTdHlsZVRl
eHRFZGl0KCk7CisgICAgICAgIHRoaXMuX2FwcGx5RnJlZUZsb3dTdHlsZVRleHRFZGl0KGZhbHNl
KTsKICAgICB9LAogCiAgICAgX2FwcGx5RnJlZUZsb3dTdHlsZVRleHRFZGl0OiBmdW5jdGlvbihu
b3cpCkBAIC0xOTAzLDcgKzE5MzIsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICBmdW5jdGlvbiBhcHBseSgpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIHRoaXMuYXBwbHlTdHlsZVRleHQodGhpcy5uYW1lRWxlbWVudC50ZXh0
Q29udGVudCArICI6ICIgKyB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgICAg
ICAgICB0aGlzLmFwcGx5U3R5bGVUZXh0KHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQgKyAi
OiAiICsgdGhpcy52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQsIGZhbHNlLCBmYWxzZSwgZmFsc2Up
OwogICAgICAgICB9CiAgICAgICAgIGlmIChub3cpCiAgICAgICAgICAgICBhcHBseS5jYWxsKHRo
aXMpOwpAQCAtMTk3Niw3ICsyMDA1LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVl
RWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgp
OwogCiAgICAgICAgICAgICAvLyBTeW50aGVzaXplIHByb3BlcnR5IHRleHQgZGlzcmVnYXJkaW5n
IGFueSBjb21tZW50cywgY3VzdG9tIHdoaXRlc3BhY2UgZXRjLgotICAgICAgICAgICAgdGhpcy5h
cHBseVN0eWxlVGV4dCh0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50ICsgIjogIiArIHRoaXMu
dmFsdWVFbGVtZW50LnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIHRoaXMuYXBwbHlTdHlsZVRl
eHQodGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCArICI6ICIgKyB0aGlzLnZhbHVlRWxlbWVu
dC50ZXh0Q29udGVudCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfSwKQEAgLTIwNTksNyArMjA4OCw3IEBAIFdlYkluc3BlY3Rvci5T
dHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlUZXh0ID0gdGhpcy5uYW1lRWxlbWVudC50
ZXh0Q29udGVudCArICI6ICIgKyB1c2VySW5wdXQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB0aGlzLmFwcGx5U3R5bGVUZXh0KHByb3BlcnR5VGV4dCwgdHJ1ZSwgdHJ1ZSk7CisgICAgICAg
ICAgICB0aGlzLmFwcGx5U3R5bGVUZXh0KHByb3BlcnR5VGV4dCwgdHJ1ZSwgdHJ1ZSwgZmFsc2Up
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKCFpc0RhdGFQYXN0ZWQgJiYgIXRo
aXMuX25ld1Byb3BlcnR5KQogICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGl0bGUoKTsKQEAg
LTIyMDksNiArMjIzOCwxMCBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50
LnByb3RvdHlwZSA9IHsKIAogV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5w
cm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOwogCisvKioKKyAqIEBj
b25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5UZXh0UHJvbXB0fQorICovCiBX
ZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuQ1NTUHJvcGVydHlQcm9tcHQgPSBmdW5jdGlv
bihlbGVtZW50LCBjc3NDb21wbGV0aW9ucykKIHsKICAgICBXZWJJbnNwZWN0b3IuVGV4dFByb21w
dC5jYWxsKHRoaXMsIGVsZW1lbnQsIHRoaXMuX2J1aWxkUHJvcGVydHlDb21wbGV0aW9ucy5iaW5k
KHRoaXMpLCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuU3R5bGVWYWx1ZURlbGltaXRl
cnMsIHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9leHRlcm5zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5z
LmpzCmluZGV4IDliNDQ5MmZkNjJjNWI1MTAzMzQ0ZTUwOWE1NTVjNTVlYjU5NDY0NDkuLjk2OThm
ZjgzMDdmYTkwNzAyMzcwMmZmNDFlODUwMzY3Yzk1YmFkYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKQEAgLTUwLDYgKzUwLDEyIEBAIFdlYklu
c3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudCA9IGZ1bmN0aW9uKHVybCkge30KIFdlYklu
c3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudFdpdGhDdXN0b21MaW5raWZpZXIgPSBmdW5j
dGlvbih1cmwsIGxpbmtpZmllcikge30KIAogLyoqCisgKiBAcGFyYW0ge3N0cmluZz19IGNsYXNz
ZXMKKyAqIEBwYXJhbSB7c3RyaW5nPX0gdG9vbHRpcFRleHQKKyAqLworV2ViSW5zcGVjdG9yLmxp
bmtpZnlSZXNvdXJjZUFzTm9kZSA9IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwgY2xhc3Nlcywg
dG9vbHRpcFRleHQpIHt9CisKKy8qKgogICogQHBhcmFtIHtzdHJpbmd9IHVybAogICogQHBhcmFt
IHtudW1iZXJ9IGxpbmVOdW1iZXIKICAqLwpAQCAtODEsNyArODcsMTYgQEAgSlNPTi5wYXJzZSA9
IGZ1bmN0aW9uKHN0cikge30KIC8qKiBAcmV0dXJuIHtzdHJpbmd9ICovCiBKU09OLnN0cmluZ2lm
eSA9IGZ1bmN0aW9uKHN0cikge30KIAotRWxlbWVudC5wcm90b3R5cGUuc2Nyb2xsSW50b1ZpZXdJ
Zk5lZWRlZCA9IGZ1bmN0aW9uKCkge30KKy8qKgorICogQHBhcmFtIHtib29sZWFuPX0gcGFyYW0K
KyAqLworRWxlbWVudC5wcm90b3R5cGUuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCA9IGZ1bmN0aW9u
KHBhcmFtKSB7fQorCisvKioKKyAqIEByZXR1cm4ge251bWJlcn0KKyAqLworRWxlbWVudC5wcm90
b3R5cGUuc2VsZWN0aW9uTGVmdE9mZnNldCA9IGZ1bmN0aW9uKCkge30KKwogCiAvKioKICAqIEBw
YXJhbSB7Ym9vbGVhbj19IG9ubHlGaXJzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCBiYzAzY2M3MWZlYjE5NWM1YTg5YTdkZTNkNTBh
MzcyZjE1NzRkYmZlLi5mNGQ5Nzk3MTg0YmY5OWYwOWE5NDA3MmQwZWZlMTY1Y2M0ZjQyOWE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpA
QCAtNTEzLDEzICs1MTMsNyBAQCBXZWJJbnNwZWN0b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24o
KQogCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbChXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubGFz
dEFjdGl2ZVBhbmVsLmdldCgpKTsKIAotICAgIGZ1bmN0aW9uIHByb3BlcnR5TmFtZXNDYWxsYmFj
ayhlcnJvciwgbmFtZXMpCi0gICAgewotICAgICAgICBpZiAoIWVycm9yKQotICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmNzc05hbWVDb21wbGV0aW9ucyA9IG5ldyBXZWJJbnNwZWN0b3IuQ1NTQ29t
cGxldGlvbnMobmFtZXMpOwotICAgIH0KLSAgICAvLyBBcyBhIERPTUFnZW50IG1ldGhvZCwgdGhp
cyBuZWVkcyB0byBoYXBwZW4gYWZ0ZXIgdGhlIGZyb250ZW5kIGhhcyBsb2FkZWQgYW5kIHRoZSBh
Z2VudCBpcyBhdmFpbGFibGUuCi0gICAgQ1NTQWdlbnQuZ2V0U3VwcG9ydGVkQ1NTUHJvcGVydGll
cyhwcm9wZXJ0eU5hbWVzQ2FsbGJhY2spOworICAgIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9u
cy5yZXF1ZXN0Q1NTTmFtZUNvbXBsZXRpb25zKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5hZGRQYW5l
bCA9IGZ1bmN0aW9uKHBhbmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC91dGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL3V0aWxpdGllcy5qcwppbmRleCAwMDNmMTdiM2EwYjFhNmUwZDkxNTIwMjMwMjMxNjEzZTQ1
M2M3MjcwLi5kMWZmYTUyY2I5ZDcxMzljZDZiMmM4ZmE0ZGZlMDlhNTUwMzY1OTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtNDUs
NiArNDUsOSBAQCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKHRoaXNPYmplY3Qp
CiAgICAgcmV0dXJuIGJvdW5kOwogfQogCisvKioKKyAqIEBwYXJhbSB7c3RyaW5nPX0gZGlyZWN0
aW9uCisgKi8KIE5vZGUucHJvdG90eXBlLnJhbmdlT2ZXb3JkID0gZnVuY3Rpb24ob2Zmc2V0LCBz
dG9wQ2hhcmFjdGVycywgc3RheVdpdGhpbk5vZGUsIGRpcmVjdGlvbikKIHsKICAgICB2YXIgc3Rh
cnROb2RlOwo=
</data>
<flag name="review"
          id="107324"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>