<?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>40220</bug_id>
          
          <creation_ts>2010-06-07 01:26:05 -0700</creation_ts>
          <short_desc>Web Inspector: should be possible to distinguish extension scripts from main world scripts</short_desc>
          <delta_ts>2010-06-07 23:15:33 -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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</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>234738</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-07 01:26:05 -0700</bug_when>
    <thetext>There are two types of scripts associated with web page: the scripts from the page itself and content scripts injected by browser extensions. There should be a way to discriminate between them in Web Inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234744</commentid>
    <comment_count>1</comment_count>
      <attachid>58002</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-07 02:14:06 -0700</bug_when>
    <thetext>Created attachment 58002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234752</commentid>
    <comment_count>2</comment_count>
      <attachid>58002</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-07 02:58:22 -0700</bug_when>
    <thetext>Comment on attachment 58002
Patch

Clearing flags on attachment: 58002

Committed r60771: &lt;http://trac.webkit.org/changeset/60771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234753</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-07 02:58:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235107</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-06-07 19:49:32 -0700</bug_when>
    <thetext>Now that Safari has extensions, we should make this cross-browser not just Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235141</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-07 23:01:48 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Now that Safari has extensions, we should make this cross-browser not just Chromium.

Well, the point of this change was to make the functionality generic and available to Safari. Looks like Yury has implemented the JSC part and it should work for you already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235144</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-06-07 23:15:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Now that Safari has extensions, we should make this cross-browser not just Chromium.
&gt; 
&gt; Well, the point of this change was to make the functionality generic and available to Safari. Looks like Yury has implemented the JSC part and it should work for you already.

Yes, current implementation should work equally well in Safari.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58002</attachid>
            <date>2010-06-07 02:14:06 -0700</date>
            <delta_ts>2010-06-07 02:58:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40220-20100607131402.patch</filename>
            <type>text/plain</type>
            <size>25292</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGYyNDM0MjliYzYxNmRiZGJjMjBmYmUyNzE2OWQzOWEyMzhlODVlZS4uZDA2Y2E3Zjg1YjhmYTU5
NTBmZWYzM2ExODc0Y2VlNzA2OWM2ZjFkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMC0wNi0wNyAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG91bGQgYmUgcG9z
c2libGUgdG8gZGlzdGluZ3Vpc2ggZXh0ZW5zaW9uIHNjcmlwdHMgZnJvbSBtYWluIHdvcmxkIHNj
cmlwdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQw
MjIwCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHA6IHJlbW92
ZSBnbG9iYWwgbGlzdGVuZXJzIHNldCB3aGljaCBpcyBub3QgdXNlZCBhbnltb3JlLgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFyc2VTb3VyY2UpOiBw
YXNzIHNjcmlwdCB3cm9sZCB0eXBlIHRvIHRoZSBsaXN0ZW5lcnMuCisgICAgICAgIChXZWJDb3Jl
OjpjdXJyZW50V29ybGRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVy
Ojpzb3VyY2VQYXJzZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVy
Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFyc2VTb3VyY2UpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFBhcnNlU291cmNlKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZDo6
cGFyc2VkU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oOiBwYXNzIHR5
cGUgb2YgdGhlIGlzb2xhdGVkIHdvcmxkIHdoZXJlIHRoZSBzY3JpcHQgd2FzIGNvbXBpbGVkIHRv
IGRpZFBhcnNlU291cmNlLgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAgICAgICAoaW5qZWN0ZWRTY3JpcHRD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHQuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwu
cHJvdG90eXBlLmFkZFNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZS5fYWRkU2NyaXB0VG9GaWxlc01lbnUpOiB1c2UgZGlmZmVyZW50IHN0eWxlIHRv
IGhpZ2hsaWdodCBjb250ZW50IHNjcmlwdHMuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoI3NjcmlwdHMtZmlsZXMgb3B0aW9uLmV4dGVuc2lv
bi1zY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLnBhcnNlZFNjcmlwdFNvdXJjZSk6CisKIDIwMTAtMDYtMDYg
IE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdk
LCBDaHJvbWl1bSB3aW5kb3dzIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRE
ZWJ1Z1NlcnZlci5jcHAKaW5kZXggOTRkN2U3M2Y4NjA0M2VlNDAyYWI0ODcyMjMxNjI0MjgzZjZm
YTU4OC4uMTYyZjM2ZGYzYmJlNzQwNjc4YWUzZWE3MDEzMDUwZjUxNTEzYTkyNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTEzMCw5ICsxMzAsNiBAQCBi
b29sIFNjcmlwdERlYnVnU2VydmVyOjpoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKFBhZ2Uq
IHBhZ2UpCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdlLCBwYWdlKTsKIAotICAgIGlmIChoYXNHbG9i
YWxMaXN0ZW5lcnMoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICByZXR1cm4gbV9wYWdl
TGlzdGVuZXJzTWFwLmNvbnRhaW5zKHBhZ2UpOwogfQogCkBAIC0yNTcsNyArMjU0LDcgQEAgdm9p
ZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRDb250aW51ZShTY3JpcHREZWJ1Z0xpc3Rl
bmVyKiBsaXN0ZW5lcikKICAgICBsaXN0ZW5lci0+ZGlkQ29udGludWUoKTsKIH0KIAotdm9pZCBT
Y3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0Y2hEaWRQYXJzZVNvdXJjZShjb25zdCBMaXN0ZW5lclNl
dCYgbGlzdGVuZXJzLCBjb25zdCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSkKK3ZvaWQgU2NyaXB0
RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJTZXQmIGxp
c3RlbmVycywgY29uc3QgSlNDOjpTb3VyY2VDb2RlJiBzb3VyY2UsIFNjcmlwdFdvcmxkVHlwZSB3
b3JsZFR5cGUpCiB7CiAgICAgU3RyaW5nIHNvdXJjZUlEID0gdXN0cmluZ1RvU3RyaW5nKEpTQzo6
VVN0cmluZzo6ZnJvbShzb3VyY2UucHJvdmlkZXIoKS0+YXNJRCgpKSk7CiAgICAgU3RyaW5nIHVy
bCA9IHVzdHJpbmdUb1N0cmluZyhzb3VyY2UucHJvdmlkZXIoKS0+dXJsKCkpOwpAQCAtMjY3LDcg
KzI2NCw3IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFyc2VTb3VyY2Uo
Y29uc3QgTGlzdGVuZXJTZXQmIGxpc3RlbmVycywgY29uCiAgICAgVmVjdG9yPFNjcmlwdERlYnVn
TGlzdGVuZXIqPiBjb3B5OwogICAgIGNvcHlUb1ZlY3RvcihsaXN0ZW5lcnMsIGNvcHkpOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29weS5zaXplKCk7ICsraSkKLSAgICAgICAgY29weVtp
XS0+ZGlkUGFyc2VTb3VyY2Uoc291cmNlSUQsIHVybCwgZGF0YSwgZmlyc3RMaW5lKTsKKyAgICAg
ICAgY29weVtpXS0+ZGlkUGFyc2VTb3VyY2Uoc291cmNlSUQsIHVybCwgZGF0YSwgZmlyc3RMaW5l
LCB3b3JsZFR5cGUpOwogfQogCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaXNwYXRjaEZhaWxl
ZFRvUGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJTZXQmIGxpc3RlbmVycywgY29uc3QgU291cmNl
Q29kZSYgc291cmNlLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkK
QEAgLTI5MSw2ICsyODgsMTMgQEAgc3RhdGljIFBhZ2UqIHRvUGFnZShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogICAgIHJldHVybiBmcmFtZSA/IGZyYW1lLT5wYWdlKCkgOiAwOwogfQog
CitzdGF0aWMgU2NyaXB0V29ybGRUeXBlIGN1cnJlbnRXb3JsZFR5cGUoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGlmIChjdXJyZW50V29ybGQoZXhlYykgPT0gbWFpblRocmVhZE5vcm1hbFdvcmxk
KCkpCisgICAgICAgIHJldHVybiBNQUlOX1dPUkxEOworICAgIHJldHVybiBFWFRFTlNJT05TX1dP
UkxEOworfQorCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkZXRhY2goSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKICAgICAvLyBJZiB3ZSdyZSBkZXRhY2hpbmcgZnJvbSB0aGUgY3Vy
cmVudGx5IGV4ZWN1dGluZyBnbG9iYWwgb2JqZWN0LCBtYW51YWxseSB0ZWFyIGRvd24gb3VyCkBA
IC0zMTMsMjMgKzMxNywxOCBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpzb3VyY2VQYXJzZWQo
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsCiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm47CiAKKyAgICBTY3JpcHRXb3JsZFR5cGUgd29ybGRUeXBlID0gY3Vy
cmVudFdvcmxkVHlwZShleGVjKTsKKwogICAgIG1fY2FsbGluZ0xpc3RlbmVycyA9IHRydWU7CiAK
ICAgICBib29sIGlzRXJyb3IgPSBlcnJvckxpbmUgIT0gLTE7CiAKLSAgICBpZiAoaGFzR2xvYmFs
TGlzdGVuZXJzKCkpIHsKLSAgICAgICAgaWYgKGlzRXJyb3IpCi0gICAgICAgICAgICBkaXNwYXRj
aEZhaWxlZFRvUGFyc2VTb3VyY2UobV9saXN0ZW5lcnMsIHNvdXJjZSwgZXJyb3JMaW5lLCB1c3Ry
aW5nVG9TdHJpbmcoZXJyb3JNZXNzYWdlKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRp
c3BhdGNoRGlkUGFyc2VTb3VyY2UobV9saXN0ZW5lcnMsIHNvdXJjZSk7Ci0gICAgfQotCiAgICAg
aWYgKExpc3RlbmVyU2V0KiBwYWdlTGlzdGVuZXJzID0gbV9wYWdlTGlzdGVuZXJzTWFwLmdldChw
YWdlKSkgewogICAgICAgICBBU1NFUlQoIXBhZ2VMaXN0ZW5lcnMtPmlzRW1wdHkoKSk7CiAgICAg
ICAgIGlmIChpc0Vycm9yKQogICAgICAgICAgICAgZGlzcGF0Y2hGYWlsZWRUb1BhcnNlU291cmNl
KCpwYWdlTGlzdGVuZXJzLCBzb3VyY2UsIGVycm9yTGluZSwgdXN0cmluZ1RvU3RyaW5nKGVycm9y
TWVzc2FnZSkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBkaXNwYXRjaERpZFBhcnNlU291
cmNlKCpwYWdlTGlzdGVuZXJzLCBzb3VyY2UpOworICAgICAgICAgICAgZGlzcGF0Y2hEaWRQYXJz
ZVNvdXJjZSgqcGFnZUxpc3RlbmVycywgc291cmNlLCB3b3JsZFR5cGUpOwogICAgIH0KIAogICAg
IG1fY2FsbGluZ0xpc3RlbmVycyA9IGZhbHNlOwpAQCAtMzUyLDggKzM1MSw2IEBAIHZvaWQgU2Ny
aXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRnVuY3Rpb25Ub0xpc3RlbmVycyhKYXZhU2NyaXB0RXhl
Y3V0aW9uQ2FsbGJhY2sKIAogICAgIEFTU0VSVChoYXNMaXN0ZW5lcnMoKSk7CiAKLSAgICBkaXNw
YXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMobV9saXN0ZW5lcnMsIGNhbGxiYWNrKTsKLQogICAgIGlm
IChMaXN0ZW5lclNldCogcGFnZUxpc3RlbmVycyA9IG1fcGFnZUxpc3RlbmVyc01hcC5nZXQocGFn
ZSkpIHsKICAgICAgICAgQVNTRVJUKCFwYWdlTGlzdGVuZXJzLT5pc0VtcHR5KCkpOwogICAgICAg
ICBkaXNwYXRjaEZ1bmN0aW9uVG9MaXN0ZW5lcnMoKnBhZ2VMaXN0ZW5lcnMsIGNhbGxiYWNrKTsK
QEAgLTU3NCw3ICs1NzEsNyBAQCB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaWRBZGRMaXN0ZW5l
cihQYWdlKiBwYWdlKQogCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjpkaWRSZW1vdmVMaXN0ZW5l
cihQYWdlKiBwYWdlKQogewotICAgIGlmIChoYXNHbG9iYWxMaXN0ZW5lcnMoKSB8fCAocGFnZSAm
JiBoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKHBhZ2UpKSkKKyAgICBpZiAocGFnZSAmJiBo
YXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKHBhZ2UpKQogICAgICAgICByZXR1cm47CiAKICAg
ICByZWNvbXBpbGVBbGxKU0Z1bmN0aW9uc1Nvb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCBjZmFkYTI3ZGJmMzY5NTdkMGRiZGQ2MDExNzM4YzllNDIxNTc4
YWY0Li4zZDk5YzcwMWE0NjI3Y2FmMmExYTRkNDY0NzRlYmUyMGNkNWE3NGI1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zMiw2ICszMiw3IEBACiAKICNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIAorI2luY2x1ZGUgIlNjcmlwdERlYnVnTGlzdGVu
ZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNjcmlwdEJyZWFr
cG9pbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtOTYsOCArOTcsNyBAQCBwcml2YXRlOgog
ICAgIH5TY3JpcHREZWJ1Z1NlcnZlcigpOwogCiAgICAgYm9vbCBoYXNCcmVha3BvaW50KGludHB0
cl90IHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lTnVtYmVyKSBjb25zdDsKLSAgICBib29sIGhhc0xp
c3RlbmVycygpIGNvbnN0IHsgcmV0dXJuICFtX2xpc3RlbmVycy5pc0VtcHR5KCkgfHwgIW1fcGFn
ZUxpc3RlbmVyc01hcC5pc0VtcHR5KCk7IH0KLSAgICBib29sIGhhc0dsb2JhbExpc3RlbmVycygp
IGNvbnN0IHsgcmV0dXJuICFtX2xpc3RlbmVycy5pc0VtcHR5KCk7IH0KKyAgICBib29sIGhhc0xp
c3RlbmVycygpIGNvbnN0IHsgcmV0dXJuICFtX3BhZ2VMaXN0ZW5lcnNNYXAuaXNFbXB0eSgpOyB9
CiAgICAgYm9vbCBoYXNMaXN0ZW5lcnNJbnRlcmVzdGVkSW5QYWdlKFBhZ2UqKTsKIAogICAgIHZv
aWQgc2V0SmF2YVNjcmlwdFBhdXNlZChjb25zdCBQYWdlR3JvdXAmLCBib29sIHBhdXNlZCk7CkBA
IC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoRnVuY3Rpb25Ub0xp
c3RlbmVycyhjb25zdCBMaXN0ZW5lclNldCYgbGlzdGVuZXJzLCBKYXZhU2NyaXB0RXhlY3V0aW9u
Q2FsbGJhY2sgY2FsbGJhY2spOwogICAgIHZvaWQgZGlzcGF0Y2hEaWRQYXVzZShTY3JpcHREZWJ1
Z0xpc3RlbmVyKik7CiAgICAgdm9pZCBkaXNwYXRjaERpZENvbnRpbnVlKFNjcmlwdERlYnVnTGlz
dGVuZXIqKTsKLSAgICB2b2lkIGRpc3BhdGNoRGlkUGFyc2VTb3VyY2UoY29uc3QgTGlzdGVuZXJT
ZXQmIGxpc3RlbmVycywgY29uc3QgSlNDOjpTb3VyY2VDb2RlJiBzb3VyY2UpOworICAgIHZvaWQg
ZGlzcGF0Y2hEaWRQYXJzZVNvdXJjZShjb25zdCBMaXN0ZW5lclNldCYgbGlzdGVuZXJzLCBjb25z
dCBKU0M6OlNvdXJjZUNvZGUmIHNvdXJjZSwgZW51bSBTY3JpcHRXb3JsZFR5cGUpOwogICAgIHZv
aWQgZGlzcGF0Y2hGYWlsZWRUb1BhcnNlU291cmNlKGNvbnN0IExpc3RlbmVyU2V0JiBsaXN0ZW5l
cnMsIGNvbnN0IEpTQzo6U291cmNlQ29kZSYgc291cmNlLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSk7CiAKICAgICB2b2lkIHBhdXNlSWZOZWVkZWQoUGFnZSopOwpA
QCAtMTMzLDcgKzEzMyw2IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludHB0cl90
LCBTb3VyY2VCcmVha3BvaW50cz4gQnJlYWtwb2ludHNNYXA7CiAKICAgICBQYWdlTGlzdGVuZXJz
TWFwIG1fcGFnZUxpc3RlbmVyc01hcDsKLSAgICBMaXN0ZW5lclNldCBtX2xpc3RlbmVyczsKICAg
ICBib29sIG1fY2FsbGluZ0xpc3RlbmVyczsKICAgICBQYXVzZU9uRXhjZXB0aW9uc1N0YXRlIG1f
cGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZTsKICAgICBib29sIG1fcGF1c2VPbk5leHRTdGF0ZW1lbnQ7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcCBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGZkYmIyNmIy
NTdhY2UwNmNiNWRlYWFiZjczYmVhYzI0YzlhZWM1YmEuLmIzYWZmZjJlMGIxODQ1MWY1ZTViNmIw
MmZjNzQ0Zjg2YzE4YmRjYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwCkBAIC0zMjAsNyArMzIwLDggQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlzcGF0
Y2hEaWRQYXJzZVNvdXJjZShTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5lciwgdjgKICAgICAg
ICAgdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxPclVuZGVmaW5lZENoZWNrKG9iamVjdC0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiaWQiKSkpLAogICAgICAgICB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbE9y
VW5kZWZpbmVkQ2hlY2sob2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJuYW1lIikpKSwKICAg
ICAgICAgdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxPclVuZGVmaW5lZENoZWNrKG9iamVjdC0+R2V0
KHY4OjpTdHJpbmc6Ok5ldygic291cmNlIikpKSwKLSAgICAgICAgb2JqZWN0LT5HZXQodjg6OlN0
cmluZzo6TmV3KCJsaW5lT2Zmc2V0IikpLT5Ub0ludGVnZXIoKS0+VmFsdWUoKSk7CisgICAgICAg
IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygibGluZU9mZnNldCIpKS0+VG9JbnRlZ2VyKCkt
PlZhbHVlKCksCisgICAgICAgIHN0YXRpY19jYXN0PFNjcmlwdFdvcmxkVHlwZT4ob2JqZWN0LT5H
ZXQodjg6OlN0cmluZzo6TmV3KCJzY3JpcHRXb3JsZFR5cGUiKSktPkludDMyVmFsdWUoKSkpOwog
fQogCiB2b2lkIFNjcmlwdERlYnVnU2VydmVyOjplbnN1cmVEZWJ1Z2dlclNjcmlwdENvbXBpbGVk
KCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNjZmYjI5
YmZhZmE1ODU2ZThmNjU4N2U1NWEwNWJhOTMyMmU4NjFjYy4uN2IyY2Q3Y2EyMDE4NDNmMjgxOTYy
ZmIxYWJmNTFlODg2MjhiYTU0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKQEAgLTE2NTMsOSArMTY1Myw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
cmVtb3ZlQnJlYWtwb2ludChjb25zdCBTdHJpbmcmIHNvdXJjZUlELCB1bnNpZ25lZCBsaW5lCiAK
IC8vIEphdmFTY3JpcHREZWJ1Z0xpc3RlbmVyIGZ1bmN0aW9ucwogCi12b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmRpZFBhcnNlU291cmNlKGNvbnN0IFN0cmluZyYgc291cmNlSUQsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUpCit2b2lkIEluc3Bl
Y3RvckNvbnRyb2xsZXI6OmRpZFBhcnNlU291cmNlKGNvbnN0IFN0cmluZyYgc291cmNlSUQsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUsIFNjcmlw
dFdvcmxkVHlwZSB3b3JsZFR5cGUpCiB7Ci0gICAgbV9mcm9udGVuZC0+cGFyc2VkU2NyaXB0U291
cmNlKHNvdXJjZUlELCB1cmwsIGRhdGEsIGZpcnN0TGluZSk7CisgICAgbV9mcm9udGVuZC0+cGFy
c2VkU2NyaXB0U291cmNlKHNvdXJjZUlELCB1cmwsIGRhdGEsIGZpcnN0TGluZSwgd29ybGRUeXBl
KTsKIAogICAgIGlmICh1cmwuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggYTJjOGE3NzQ2NDgxMjM4MTY1M2UzYjk2
M2MzODg2ZmU1MTM5MDk1Mi4uYmI2YzM4ODU1NTk4ZGViN2IzZTBiZTBlZTQzNTUyZjgzZDFiMjU1
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMjQzLDcgKzI0
Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVzdW1lRGVidWdnZXIoKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBkaWRQYXJzZVNvdXJjZShjb25zdCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiBkYXRhLCBpbnQgZmlyc3RMaW5lKTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUGFyc2VTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgZGF0YSwgaW50IGZpcnN0TGluZSwgU2NyaXB0V29ybGRUeXBl
KTsKICAgICB2aXJ0dWFsIHZvaWQgZmFpbGVkVG9QYXJzZVNvdXJjZShjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiBkYXRhLCBpbnQgZmlyc3RMaW5lLCBpbnQgZXJyb3JMaW5lLCBjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFBhdXNlKFNjcmlw
dFN0YXRlKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbnRpbnVlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKaW5kZXggZmI2NmNhZGFhZjZmYTI3NDI4YjA2MjI3YTUy
NjM2ODcyODhmM2E1OS4uMzkwZWRhYmY5ZjdhMWNjYWQwNzk0MjY3Y2IwNDY0NmJkMjllNjc5NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcApAQCAtMzA1LDcgKzMwNSw3
IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OmRlYnVnZ2VyV2FzRGlzYWJsZWQoKQogICAgIGNh
bGxTaW1wbGVGdW5jdGlvbigiZGVidWdnZXJXYXNEaXNhYmxlZCIpOwogfQogCi12b2lkIEluc3Bl
Y3RvckZyb250ZW5kOjpwYXJzZWRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgZGF0YSwgaW50IGZpcnN0TGluZSkKK3Zv
aWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnBhcnNlZFNjcmlwdFNvdXJjZShjb25zdCBTdHJpbmcmIHNv
dXJjZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBkYXRhLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc2NyaXB0V29ybGRUeXBlKQogewogICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5j
dGlvbihtX3dlYkluc3BlY3RvciwgImRpc3BhdGNoIik7IAogICAgIGZ1bmN0aW9uLmFwcGVuZEFy
Z3VtZW50KCJwYXJzZWRTY3JpcHRTb3VyY2UiKTsKQEAgLTMxMyw2ICszMTMsNyBAQCB2b2lkIElu
c3BlY3RvckZyb250ZW5kOjpwYXJzZWRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJ
RCwgY29uc3QgU3RyaW5nJgogICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KHVybCk7CiAgICAg
ZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoZGF0YSk7CiAgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1l
bnQoZmlyc3RMaW5lKTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChzY3JpcHRXb3JsZFR5
cGUpOwogICAgIGZ1bmN0aW9uLmNhbGwoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kLmgKaW5kZXggZmE3NTJhYTNmM2U1MGIyZTdlOWNjODBkMjgyZDQwYjliNmE3NjhjYS4u
YjlmODdlZmEwOTBiMmE2OWI5OGRiOWVmY2MyNzU1YTg1ZTIzMjVlZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZC5oCkBAIC05Miw3ICs5Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZWJ1Z2dlcldhc0VuYWJsZWQoKTsKICAgICAgICAgdm9pZCBkZWJ1
Z2dlcldhc0Rpc2FibGVkKCk7CiAKLSAgICAgICAgdm9pZCBwYXJzZWRTY3JpcHRTb3VyY2UoY29u
c3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgZGF0
YSwgaW50IGZpcnN0TGluZSk7CisgICAgICAgIHZvaWQgcGFyc2VkU2NyaXB0U291cmNlKGNvbnN0
IFN0cmluZyYgc291cmNlSUQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEs
IGludCBmaXJzdExpbmUsIGludCBzY3JpcHRXb3JsZFR5cGUpOwogICAgICAgICB2b2lkIHJlc3Rv
cmVkQnJlYWtwb2ludChjb25zdCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTdHJpbmcmIHVybCwg
aW50IGxpbmUsIGJvb2wgZW5hYmxlZCwgY29uc3QgU3RyaW5nJiBjb25kaXRpb24pOwogICAgICAg
ICB2b2lkIGZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgZGF0YSwgaW50IGZpcnN0TGluZSwgaW50IGVycm9yTGluZSwgY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UpOwogICAgICAgICB2b2lkIHBhdXNlZFNjcmlwdChTZXJpYWxpemVkU2Ny
aXB0VmFsdWUqIGNhbGxGcmFtZXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0RGVidWdMaXN0ZW5lci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5l
ci5oCmluZGV4IGM2NjlmNWVlODEzMTkyZWNlNzcyNjYzOGQwNWIxODBjMWU0MzhjMzguLjUzOWIw
MDBjNWUyMDFlYmUzYzU5Yzg5ODg0NjhmOWQ4YTgzZjEwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9T
Y3JpcHREZWJ1Z0xpc3RlbmVyLmgKQEAgLTM4LDExICszOCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFN0cmluZzsKIAorZW51bSBTY3JpcHRXb3JsZFR5cGUgeworTUFJTl9XT1JM
RCA9IDAsCitFWFRFTlNJT05TX1dPUkxECit9OworCiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVy
IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TY3JpcHREZWJ1Z0xpc3RlbmVyKCkgeyB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUGFyc2VTb3VyY2UoY29uc3QgU3RyaW5nJiAgc291cmNlSUQsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkUGFyc2VTb3VyY2UoY29uc3QgU3RyaW5nJiAgc291cmNlSUQs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUsIFNj
cmlwdFdvcmxkVHlwZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmYWlsZWRUb1BhcnNlU291cmNl
KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGRhdGEsIGludCBmaXJzdExpbmUsIGlu
dCBlcnJvckxpbmUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFBhdXNlKFNjcmlwdFN0YXRlKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRD
b250aW51ZSgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNj
cmlwdC5qcwppbmRleCBhMmMyNTc0ZDc4YWZjNWI2YTUyZGMwNGYxOGU2ZTliZjUyOTViN2I5Li40
MDAyZTIzMjAwMjdkMjcyZWE0MzllNTExYWZiYTIzYjExM2JjODE1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzCkBAIC0xMDE3LDE1ICsxMDE3LDE1
IEBAIEluamVjdGVkU2NyaXB0Ll9jbGFzc05hbWUgPSBmdW5jdGlvbihvYmopCiAgICAgLy8gQm90
aCBvZiB0aGUgbWV0aG9kcyBiZWxvdyByZXN1bHQgaW4gIk9iamVjdCIgbmFtZXMgb24gdGhlIGZv
cmVpZ24gZW5naW5lIGJpbmRpbmdzLgogICAgIC8vIEkgZ2F2ZSB1cCBhbmQgYW0gdXNpbmcgYSBj
aGVjayBiZWxvdyB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBlZ2luZSBiaW5naW5ncy4KIAot
ICAgIGlmICh0eXBlb2YgRG9jdW1lbnQgPT09ICJvYmplY3QiKSB7Ci0gICAgICAgIC8vIEpTQwor
ICAgIGlmIChqc0VuZ2luZSA9PSAiSlNDIikgewogICAgICAgICB2YXIgc3RyID0gaW5zcGVjdGVk
V2luZG93Lk9iamVjdCA/IGluc3BlY3RlZFdpbmRvdy5PYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwob2JqKSA6IEluamVjdGVkU2NyaXB0Ll90b1N0cmluZyhvYmopOwogICAgICAgICByZXR1
cm4gc3RyLnJlcGxhY2UoL15cW29iamVjdCAoLiopXF0kL2ksICIkMSIpOworICAgIH0gZWxzZSB7
CisgICAgICAgIC8vIFY4CisgICAgICAgIGlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikKKyAg
ICAgICAgICAgIHJldHVybiAibnVsbCI7CisgICAgICAgIHJldHVybiBvYmouY29uc3RydWN0b3Iu
bmFtZSB8fCAiT2JqZWN0IjsKICAgICB9Ci0gICAgLy8gVjgKLSAgICBpZiAodHlwZW9mIG9iaiAh
PT0gIm9iamVjdCIpCi0gICAgICAgIHJldHVybiAibnVsbCI7Ci0gICAgcmV0dXJuIG9iai5jb25z
dHJ1Y3Rvci5uYW1lIHx8ICJPYmplY3QiOwogfQogCiBJbmplY3RlZFNjcmlwdC5fZXNjYXBlQ2hh
cmFjdGVycyA9IGZ1bmN0aW9uKHN0ciwgY2hhcnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdC5qcwppbmRleCA3OTAwNGYzNDQyYzMwZDc5NzZiZGE2ZDEyMDFiN2U2MzY5MGE5MDIyLi41
NmNhNDU3M2MyMjFlYmViMTdiM2Q4ODAzMTg5MGEwOWMzNTI1YzA0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHQuanMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotV2ViSW5zcGVjdG9yLlNjcmlwdCA9IGZ1bmN0aW9uKHNvdXJjZUlELCBzb3VyY2VVUkws
IHNvdXJjZSwgc3RhcnRpbmdMaW5lLCBlcnJvckxpbmUsIGVycm9yTWVzc2FnZSkKK1dlYkluc3Bl
Y3Rvci5TY3JpcHQgPSBmdW5jdGlvbihzb3VyY2VJRCwgc291cmNlVVJMLCBzb3VyY2UsIHN0YXJ0
aW5nTGluZSwgZXJyb3JMaW5lLCBlcnJvck1lc3NhZ2UsIHdvcmxkVHlwZSkKIHsKICAgICB0aGlz
LnNvdXJjZUlEID0gc291cmNlSUQ7CiAgICAgdGhpcy5zb3VyY2VVUkwgPSBzb3VyY2VVUkw7CkBA
IC0zMSw2ICszMSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHQgPSBmdW5jdGlvbihzb3VyY2VJRCwg
c291cmNlVVJMLCBzb3VyY2UsIHN0YXJ0aW5nTGluZSwgZXJyb3JMCiAgICAgdGhpcy5zdGFydGlu
Z0xpbmUgPSBzdGFydGluZ0xpbmU7CiAgICAgdGhpcy5lcnJvckxpbmUgPSBlcnJvckxpbmU7CiAg
ICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7CisgICAgdGhpcy53b3JsZFR5cGUg
PSB3b3JsZFR5cGU7CiAKICAgICAvLyBpZiBubyBVUkwsIGxvb2sgZm9yICIvL0Agc291cmNlVVJM
PSIgZGVjb3JhdG9yCiAgICAgLy8gbm90ZSB0aGF0IHRoaXMgc291cmNlVVJMIGNvbW1lbnQgZGVj
b3JhdG9yIGlzIGJlaGF2aW9yIHRoYXQgRmlyZUJ1ZyBhZGRlZApAQCAtNDYsNiArNDcsMTEgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdCA9IGZ1bmN0aW9uKHNvdXJjZUlELCBzb3VyY2VVUkwsIHNvdXJj
ZSwgc3RhcnRpbmdMaW5lLCBlcnJvckwKICAgICB9CiB9CiAKK1dlYkluc3BlY3Rvci5TY3JpcHQu
V29ybGRUeXBlID0geworICAgIE1BSU5fV09STEQ6IDAsCisgICAgRVhURU5TSU9OU19XT1JMRDog
MQorfQorCiBXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICBnZXQgbGluZXND
b3VudCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKaW5kZXggZDYzY2Y4Y2ZhYTJjZWEyYTlhMGJjY2ZiYzRhODFiOTBiMzVkZjY4OS4uZjZlYmM0
MjRlODBjZWJiMzY2NGE3M2NlMTAwMDI4NGY4MjdiMmRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0yNDEsOSArMjQxLDkgQEAgV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLnRvZ2ds
ZUJyZWFrcG9pbnRzQnV0dG9uLnRvZ2dsZWQ7CiAgICAgfSwKIAotICAgIGFkZFNjcmlwdDogZnVu
Y3Rpb24oc291cmNlSUQsIHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUsIGVycm9yTGlu
ZSwgZXJyb3JNZXNzYWdlKQorICAgIGFkZFNjcmlwdDogZnVuY3Rpb24oc291cmNlSUQsIHNvdXJj
ZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUsIGVycm9yTGluZSwgZXJyb3JNZXNzYWdlLCBzY3Jp
cHRXb3JsZFR5cGUpCiAgICAgewotICAgICAgICB2YXIgc2NyaXB0ID0gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHQoc291cmNlSUQsIHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUsIGVycm9y
TGluZSwgZXJyb3JNZXNzYWdlKTsKKyAgICAgICAgdmFyIHNjcmlwdCA9IG5ldyBXZWJJbnNwZWN0
b3IuU2NyaXB0KHNvdXJjZUlELCBzb3VyY2VVUkwsIHNvdXJjZSwgc3RhcnRpbmdMaW5lLCBlcnJv
ckxpbmUsIGVycm9yTWVzc2FnZSwgc2NyaXB0V29ybGRUeXBlKTsKICAgICAgICAgdGhpcy5fc291
cmNlSURNYXBbc291cmNlSURdID0gc2NyaXB0OwogCiAgICAgICAgIHZhciByZXNvdXJjZSA9IFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVVSTE1hcFtzb3VyY2VVUkxdOwpAQCAtNzM3LDYgKzczNyw5IEBA
IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYg
KHVybCAmJiB1cmwgPT09IGxhc3RVUkwpCiAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd1Njcmlw
dE9yUmVzb3VyY2Uob3B0aW9uLnJlcHJlc2VudGVkT2JqZWN0LCB7aW5pdGlhbExvYWQ6IHRydWV9
KTsKICAgICAgICAgfQorCisgICAgICAgIGlmIChzY3JpcHQud29ybGRUeXBlID09PSBXZWJJbnNw
ZWN0b3IuU2NyaXB0LldvcmxkVHlwZS5FWFRFTlNJT05TX1dPUkxEKQorICAgICAgICAgICAgc2Ny
aXB0LmZpbGVzU2VsZWN0T3B0aW9uLmFkZFN0eWxlQ2xhc3MoImV4dGVuc2lvbi1zY3JpcHQiKTsK
ICAgICB9LAogCiAgICAgX2NsZWFyQ3VycmVudEV4ZWN1dGlvbkxpbmU6IGZ1bmN0aW9uKCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggZWYzNGYyYzgwZWRh
ODI1NmY2OTllMzY0ZjRiODZlOTk2YzFiZDdhNC4uNjM1ZjZiNzk3N2Y0MjQzZjVhMGNiNDIxMGU2
ZDU0NWFhYzc5NTZlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5j
c3MKQEAgLTIzNTEsNiArMjM1MSwxMCBAQCBidXR0b24uZW5hYmxlLXRvZ2dsZS1zdGF0dXMtYmFy
LWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggewogICAgIG1heC13aWR0aDogMjUwcHg7CiB9CiAKKyNz
Y3JpcHRzLWZpbGVzIG9wdGlvbi5leHRlbnNpb24tc2NyaXB0IHsKKyAgICBjb2xvcjogcmdiKDcw
LCAxMzQsIDI0MCk7Cit9CisKICNzY3JpcHRzLWZ1bmN0aW9ucyB7CiAgICAgbWF4LXdpZHRoOiAx
NTBweDsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDkz
YjA1YzBhZTUwYTM2NmNiYmI4ZmYyMDEwY2Y5YzYwNmZkZjM2ZjYuLjhhNzhjZDIwOGM4Y2UwNTAx
MTNjYjY1ODRlZGUzNjRiYmFlZTM1OWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qcwpAQCAtMTMxOSw5ICsxMzE5LDkgQEAgV2ViSW5zcGVjdG9yLnByb2ZpbGVyV2Fz
RGlzYWJsZWQgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5wYW5lbHMucHJvZmlsZXMucHJvZmlsZXJX
YXNEaXNhYmxlZCgpOwogfQogCi1XZWJJbnNwZWN0b3IucGFyc2VkU2NyaXB0U291cmNlID0gZnVu
Y3Rpb24oc291cmNlSUQsIHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUpCitXZWJJbnNw
ZWN0b3IucGFyc2VkU2NyaXB0U291cmNlID0gZnVuY3Rpb24oc291cmNlSUQsIHNvdXJjZVVSTCwg
c291cmNlLCBzdGFydGluZ0xpbmUsIHNjcmlwdFdvcmxkVHlwZSkKIHsKLSAgICB0aGlzLnBhbmVs
cy5zY3JpcHRzLmFkZFNjcmlwdChzb3VyY2VJRCwgc291cmNlVVJMLCBzb3VyY2UsIHN0YXJ0aW5n
TGluZSk7CisgICAgdGhpcy5wYW5lbHMuc2NyaXB0cy5hZGRTY3JpcHQoc291cmNlSUQsIHNvdXJj
ZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbmUsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBzY3JpcHRX
b3JsZFR5cGUpOwogfQogCiBXZWJJbnNwZWN0b3IucmVzdG9yZWRCcmVha3BvaW50ID0gZnVuY3Rp
b24oc291cmNlSUQsIHNvdXJjZVVSTCwgbGluZSwgZW5hYmxlZCwgY29uZGl0aW9uKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggMGZiMjJjMWFlYzYwOTNjNGQ2MGYzOTg3M2RhMzdkM2YyYTA4OTRkYS4uNzI2MTk0
OWQzZjkyNDEzMjYxMmRlM2FhZmQwNDFhYTdkY2YxOTBhYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTAtMDYtMDcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Vi
IEluc3BlY3Rvcjogc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGV4dGVuc2lvbiBz
Y3JpcHRzIGZyb20gbWFpbiB3b3JsZCBzY3JpcHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDIyMAorCisgICAgICAgICogc3JjL2pzL0RlYnVnZ2Vy
QWdlbnQuanM6CisgICAgICAgIChkZXZ0b29scy5EZWJ1Z2dlckFnZW50LnByb3RvdHlwZS5pbml0
VUkpOgorICAgICAgICAoZGV2dG9vbHMuRGVidWdnZXJBZ2VudC5wcm90b3R5cGUuYWRkU2NyaXB0
SW5mb18pOgorICAgICAgICAoZGV2dG9vbHMuRGVidWdnZXJBZ2VudC5wcm90b3R5cGUuZm9ybWF0
Q2FsbEZyYW1lXyk6CisgICAgICAgIChkZXZ0b29scy5TY3JpcHRJbmZvLnByb3RvdHlwZS53b3Js
ZFR5cGUpOgorICAgICAgICAqIHNyYy9qcy9EZWJ1Z2dlclNjcmlwdC5qczoKKyAgICAgICAgKGRl
YnVnZ2VyU2NyaXB0Q29uc3RydWN0b3IuRGVidWdnZXJTY3JpcHQuZ2V0U2NyaXB0cyk6IHVzZSBv
bmx5IGNvbnRleHQgaWQgd2l0aG91dCBjb250ZXh0IHR5cGUKKyAgICAgICAgd2hlbiBmaWx0ZXJp
bmcgc2NyaXB0cyBzbyB0aGF0IGV4dGVuc2lvbiBzY3JpcHRzIGFyZSBhbHNvIGluY2x1ZGVkLgor
ICAgICAgICAoZGVidWdnZXJTY3JpcHRDb25zdHJ1Y3Rvci5EZWJ1Z2dlclNjcmlwdC5fZm9ybWF0
U2NyaXB0KToKKyAgICAgICAgKiBzcmMvanMvZGV2VG9vbHMuY3NzOgorCiAyMDEwLTA2LTA0ICBK
YXkgQ2l2ZWxsaSAgPGpjaXZlbGxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0Rl
YnVnZ2VyQWdlbnQuanMgYi9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RlYnVnZ2VyQWdlbnQuanMK
aW5kZXggNjdlNTRhYWVlNTA0ZTY3ZjcyOTVkNjI0NTYwMTAyMTJlYjI4OGNhMC4uNDg3ZjJiMWFm
ZTU0YWYxMDlkNzU1Njk3MzQ4MGEyNmY5MTAyNjJhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9qcy9EZWJ1Z2dlckFnZW50LmpzCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvanMv
RGVidWdnZXJBZ2VudC5qcwpAQCAtMTgxLDcgKzE4MSw3IEBAIGRldnRvb2xzLkRlYnVnZ2VyQWdl
bnQucHJvdG90eXBlLmluaXRVSSA9IGZ1bmN0aW9uKCkKICAgICAgICAgLy8gcGVuZGluZyBhZGRp
dGlvbiBpbnRvIHRoZSBVSS4KICAgICAgICAgZm9yICh2YXIgc2NyaXB0SWQgaW4gdGhpcy5wYXJz
ZWRTY3JpcHRzXykgewogICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLnBhcnNlZFNjcmlwdHNf
W3NjcmlwdElkXTsKLSAgICAgICAgICBXZWJJbnNwZWN0b3IucGFyc2VkU2NyaXB0U291cmNlKHNj
cmlwdElkLCBzY3JpcHQuZ2V0VXJsKCksIHVuZGVmaW5lZCAvKiBzY3JpcHQgc291cmNlICovLCBz
Y3JpcHQuZ2V0TGluZU9mZnNldCgpICsgMSk7CisgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhcnNl
ZFNjcmlwdFNvdXJjZShzY3JpcHRJZCwgc2NyaXB0LmdldFVybCgpLCB1bmRlZmluZWQgLyogc2Ny
aXB0IHNvdXJjZSAqLywgc2NyaXB0LmdldExpbmVPZmZzZXQoKSArIDEsIHNjcmlwdC53b3JsZFR5
cGUoKSk7CiAgICAgICAgICAgdGhpcy5yZXN0b3JlQnJlYWtwb2ludHNfKHNjcmlwdElkLCBzY3Jp
cHQuZ2V0VXJsKCkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKQEAgLTk0OCwxNyArOTQ4
LDE3IEBAIGRldnRvb2xzLkRlYnVnZ2VyQWdlbnQucHJvdG90eXBlLmhhbmRsZUFmdGVyQ29tcGls
ZUV2ZW50XyA9IGZ1bmN0aW9uKG1zZykKIGRldnRvb2xzLkRlYnVnZ2VyQWdlbnQucHJvdG90eXBl
LmFkZFNjcmlwdEluZm9fID0gZnVuY3Rpb24oc2NyaXB0LCBtc2cpCiB7CiAgICAgdmFyIGNvbnRl
eHQgPSBtc2cubG9va3VwKHNjcmlwdC5jb250ZXh0LnJlZik7Ci0gICAgdmFyIGNvbnRleHRUeXBl
OwogICAgIC8vIEZpbmQgdGhlIHR5cGUgZnJvbSBjb250ZXh0IGRhdGEuIFRoZSBjb250ZXh0IGRh
dGEgaGFzIHRoZSBmb3JtYXQKICAgICAvLyAidHlwZSxpZCIuCiAgICAgdmFyIGNvbW1hID0gY29u
dGV4dC5kYXRhLmluZGV4T2YoIiwiKTsKICAgICBpZiAoY29tbWEgPCAwKQotICAgICAgICByZXR1
cm4KLSAgICBjb250ZXh0VHlwZSA9IGNvbnRleHQuZGF0YS5zdWJzdHJpbmcoMCwgY29tbWEpOwot
ICAgIHRoaXMucGFyc2VkU2NyaXB0c19bc2NyaXB0LmlkXSA9IG5ldyBkZXZ0b29scy5TY3JpcHRJ
bmZvKHNjcmlwdC5pZCwgc2NyaXB0Lm5hbWUsIHNjcmlwdC5saW5lT2Zmc2V0LCBjb250ZXh0VHlw
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB2YXIgY29udGV4dFR5cGUgPSBjb250ZXh0LmRhdGEu
c3Vic3RyaW5nKDAsIGNvbW1hKTsKKyAgICB2YXIgaW5mbyA9IG5ldyBkZXZ0b29scy5TY3JpcHRJ
bmZvKHNjcmlwdC5pZCwgc2NyaXB0Lm5hbWUsIHNjcmlwdC5saW5lT2Zmc2V0LCBjb250ZXh0VHlw
ZSk7CisgICAgdGhpcy5wYXJzZWRTY3JpcHRzX1tzY3JpcHQuaWRdID0gaW5mbzsKICAgICBpZiAo
dGhpcy5zY3JpcHRzUGFuZWxJbml0aWFsaXplZF8pIHsKICAgICAgICAgLy8gT25seSByZXBvcnQg
c2NyaXB0IGFzIHBhcnNlZCBhZnRlciBzY3JpcHRzIHBhbmVsIGhhcyBiZWVuIHNob3duLgotICAg
ICAgICBXZWJJbnNwZWN0b3IucGFyc2VkU2NyaXB0U291cmNlKHNjcmlwdC5pZCwgc2NyaXB0Lm5h
bWUsIHNjcmlwdC5zb3VyY2UsIHNjcmlwdC5saW5lT2Zmc2V0ICsgMSk7CisgICAgICAgIFdlYklu
c3BlY3Rvci5wYXJzZWRTY3JpcHRTb3VyY2Uoc2NyaXB0LmlkLCBzY3JpcHQubmFtZSwgc2NyaXB0
LnNvdXJjZSwgc2NyaXB0LmxpbmVPZmZzZXQgKyAxLCBpbmZvLndvcmxkVHlwZSgpKTsKICAgICAg
ICAgdGhpcy5yZXN0b3JlQnJlYWtwb2ludHNfKHNjcmlwdC5pZCwgc2NyaXB0Lm5hbWUpOwogICAg
IH0KIH07CkBAIC0xMDQ0LDcgKzEwNDQsNyBAQCBkZXZ0b29scy5EZWJ1Z2dlckFnZW50LnByb3Rv
dHlwZS5mb3JtYXRDYWxsRnJhbWVfID0gZnVuY3Rpb24oc3RhY2tGcmFtZSkKICAgICB2YXIgZXhp
c3RpbmdTY3JpcHQgPSB0aGlzLnBhcnNlZFNjcmlwdHNfW3NvdXJjZUlkXTsKICAgICBpZiAoIWV4
aXN0aW5nU2NyaXB0KSB7CiAgICAgICAgIHRoaXMucGFyc2VkU2NyaXB0c19bc291cmNlSWRdID0g
bmV3IGRldnRvb2xzLlNjcmlwdEluZm8oc291cmNlSWQsIG51bGwgLyogbmFtZSAqLywgMCAvKiBs
aW5lICovLCAidW5rbm93biIgLyogdHlwZSAqLywgdHJ1ZSAvKiB1bnJlc29sdmVkICovKTsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLnBhcnNlZFNjcmlwdFNvdXJjZShzb3VyY2VJZCwgbnVsbCwgbnVs
bCwgMCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYXJzZWRTY3JpcHRTb3VyY2Uoc291cmNlSWQs
IG51bGwsIG51bGwsIDAsIFdlYkluc3BlY3Rvci5TY3JpcHQuV29ybGRUeXBlLk1BSU5fV09STEQp
OwogICAgIH0KIAogICAgIHZhciBmdW5jTmFtZSA9IGZ1bmMubmFtZSB8fCBmdW5jLmluZmVycmVk
TmFtZSB8fCAiKGFub255bW91cyBmdW5jdGlvbikiOwpAQCAtMTI1Nyw2ICsxMjU3LDE0IEBAIGRl
dnRvb2xzLlNjcmlwdEluZm8ucHJvdG90eXBlLmlzVW5yZXNvbHZlZCA9IGZ1bmN0aW9uKCkKIH07
CiAKIAorZGV2dG9vbHMuU2NyaXB0SW5mby5wcm90b3R5cGUud29ybGRUeXBlID0gZnVuY3Rpb24o
KQoreworICAgIGlmICh0aGlzLmNvbnRleHRUeXBlXyA9PT0gImluamVjdGVkIikKKyAgICAgICAg
cmV0dXJuIFdlYkluc3BlY3Rvci5TY3JpcHQuV29ybGRUeXBlLkVYVEVOU0lPTlNfV09STEQ7Cisg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5TY3JpcHQuV29ybGRUeXBlLk1BSU5fV09STEQ7Cit9Owor
CisKIC8qKgogICogQHBhcmFtIHtudW1iZXJ9IGxpbmUgMC1iYXNlZCBsaW5lIG51bWJlciBpbiB0
aGUgc2NyaXB0LgogICogQHJldHVybiB7P2RldnRvb2xzLkJyZWFrcG9pbnRJbmZvfSBJbmZvcm1h
dGlvbiBvbiBhIGJyZWFrcG9pbnQgYXQgdGhlCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL2pzL0RlYnVnZ2VyU2NyaXB0LmpzIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZWJ1Z2dl
clNjcmlwdC5qcwppbmRleCA3ZTViNDMwYjI1MzI5ZjgxMmQ4ZjM5ZTAxMzk5Yjk5ZTE3NTg2YmQ0
Li5jZTMwZGUwNjIwOWNkZDMzZTI1ZTM2YWY5YjgzNWI4MmQ4MDlmYzgwIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RlYnVnZ2VyU2NyaXB0LmpzCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvanMvRGVidWdnZXJTY3JpcHQuanMKQEAgLTM5LDYgKzM5LDExIEBAIERlYnVnZ2Vy
U2NyaXB0LlBhdXNlT25FeGNlcHRpb25zU3RhdGUgPSB7CiAgICAgUGF1c2VPblVuY2F1Z2h0RXhj
ZXB0aW9uczogMgogfTsKIAorRGVidWdnZXJTY3JpcHQuU2NyaXB0V29ybGRUeXBlID0geworICAg
IE1haW5Xb3JsZCA6IDAsCisgICAgRXh0ZW5zaW9uc1dvcmxkIDogMQorfTsKKwogRGVidWdnZXJT
Y3JpcHQuX3BhdXNlT25FeGNlcHRpb25zU3RhdGUgPSBEZWJ1Z2dlclNjcmlwdC5QYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlLkRvbnRQYXVzZU9uRXhjZXB0aW9uczsKIERlYnVnLmNsZWFyQnJlYWtPbkV4
Y2VwdGlvbigpOwogRGVidWcuY2xlYXJCcmVha09uVW5jYXVnaHRFeGNlcHRpb24oKTsKQEAgLTUw
LDExICs1NSwyMSBAQCBEZWJ1Z2dlclNjcmlwdC5nZXRBZnRlckNvbXBpbGVTY3JpcHQgPSBmdW5j
dGlvbihldmVudERhdGEpCiAKIERlYnVnZ2VyU2NyaXB0LmdldFNjcmlwdHMgPSBmdW5jdGlvbihj
b250ZXh0RGF0YSkKIHsKLSAgICB2YXIgc2NyaXB0cyA9IERlYnVnLnNjcmlwdHMoKTsKICAgICB2
YXIgcmVzdWx0ID0gW107CisKKyAgICBpZiAoIWNvbnRleHREYXRhKQorICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIHZhciBjb21tYSA9IGNvbnRleHREYXRhLmluZGV4T2YoIiwiKTsKKyAgICBp
ZiAoY29tbWEgPT09IC0xKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIC8vIENvbnRleHQg
ZGF0YSBpcyBhIHN0cmluZyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKyAgICAvLyAoInBhZ2Ui
fCJpbmplY3RlZCIpIiwiPHBhZ2UgaWQ+CisgICAgdmFyIGlkU3VmZml4ID0gY29udGV4dERhdGEu
c3Vic3RyaW5nKGNvbW1hKTsgLy8gaW5jbHVkaW5nIHRoZSBjb21tYQorCisgICAgdmFyIHNjcmlw
dHMgPSBEZWJ1Zy5zY3JpcHRzKCk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxl
bmd0aDsgKytpKSB7CiAgICAgICAgIHZhciBzY3JpcHQgPSBzY3JpcHRzW2ldOwotICAgICAgICBp
ZiAoY29udGV4dERhdGEgPT09IHNjcmlwdC5jb250ZXh0X2RhdGEpCisgICAgICAgIGlmIChzY3Jp
cHQuY29udGV4dF9kYXRhICYmIHNjcmlwdC5jb250ZXh0X2RhdGEubGFzdEluZGV4T2YoaWRTdWZm
aXgpICE9IC0xKQogICAgICAgICAgICAgcmVzdWx0LnB1c2goRGVidWdnZXJTY3JpcHQuX2Zvcm1h
dFNjcmlwdChzY3JpcHQpKTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTYyLDEzICs3
NywxNiBAQCBEZWJ1Z2dlclNjcmlwdC5nZXRTY3JpcHRzID0gZnVuY3Rpb24oY29udGV4dERhdGEp
CiAKIERlYnVnZ2VyU2NyaXB0Ll9mb3JtYXRTY3JpcHQgPSBmdW5jdGlvbihzY3JpcHQpCiB7Cisg
ICAgdmFyIHNjcmlwdFdvcmxkVHlwZSA9IERlYnVnZ2VyU2NyaXB0LlNjcmlwdFdvcmxkVHlwZS5N
YWluV29ybGQ7CisgICAgaWYgKHNjcmlwdC5jb250ZXh0X2RhdGEgJiYgc2NyaXB0LmNvbnRleHRf
ZGF0YS5pbmRleE9mKCJpbmplY3RlZCIpID09IDApCisgICAgICAgIHNjcmlwdFdvcmxkVHlwZSA9
IERlYnVnZ2VyU2NyaXB0LlNjcmlwdFdvcmxkVHlwZS5FeHRlbnNpb25zV29ybGQ7CiAgICAgcmV0
dXJuIHsKICAgICAgICAgaWQ6IHNjcmlwdC5pZCwKICAgICAgICAgbmFtZTogc2NyaXB0Lm5hbWUs
CiAgICAgICAgIHNvdXJjZTogc2NyaXB0LnNvdXJjZSwKICAgICAgICAgbGluZU9mZnNldDogc2Ny
aXB0LmxpbmVfb2Zmc2V0LAogICAgICAgICBsaW5lQ291bnQ6IHNjcmlwdC5saW5lQ291bnQoKSwK
LSAgICAgICAgY29udGV4dERhdGE6IHNjcmlwdC5jb250ZXh0X2RhdGEKKyAgICAgICAgc2NyaXB0
V29ybGRUeXBlOiBzY3JpcHRXb3JsZFR5cGUKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vc3JjL2pzL2RldlRvb2xzLmNzcyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvanMv
ZGV2VG9vbHMuY3NzCmluZGV4IDJjYjRhYjMyY2ZjMDUyZmRkNWE5MjhlN2VkMTc5ZDllZDZiY2E3
MWUuLjBlNmQyODRkNWExNGUyNzMxNDQ4ZDNmM2U0ZjBmOGVkNjE3Njc1ZGMgMTAwNzU1Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvanMvZGV2VG9vbHMuY3NzCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvanMvZGV2VG9vbHMuY3NzCkBAIC0xLDcgKzEsMyBAQAotI3NjcmlwdHMtZmlsZXMgb3B0
aW9uLmluamVjdGVkIHsKLSAgICBjb2xvcjogcmdiKDcwLCAxMzQsIDI0MCk7Ci19Ci0KIC5kYXRh
LWdyaWQgdGFibGUgewogICAgIGxpbmUtaGVpZ2h0OiAxMjAlOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>