<?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>68524</bug_id>
          
          <creation_ts>2011-09-21 05:50:34 -0700</creation_ts>
          <short_desc>Web Inspector: migrate RawSourceCode clients to SourceMapping class.</short_desc>
          <delta_ts>2011-09-27 05:05:46 -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 Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</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>470728</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-21 05:50:34 -0700</bug_when>
    <thetext>Web Inspector: migrate RawSourceCode clients to SourceMapping class.

Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470730</commentid>
    <comment_count>1</comment_count>
      <attachid>108139</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-21 05:52:26 -0700</bug_when>
    <thetext>Created attachment 108139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473856</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-27 05:05:46 -0700</bug_when>
    <thetext>Committed r96097: &lt;http://trac.webkit.org/changeset/96097&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108139</attachid>
            <date>2011-09-21 05:52:26 -0700</date>
            <delta_ts>2011-09-23 02:45:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68524-20110921165223.patch</filename>
            <type>text/plain</type>
            <size>28733</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU1MjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZDVlZTE0Yzk0NmExZDBjOTUyMDY1
Y2Q1OWM2N2RjNDBiMDU2YzNiLi5iZjYzMWE5NDNlYWY0MTE4OWE3OWI3YzM3MzY4NTBmN2I5MzBj
YTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMjEgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbWlncmF0
ZSBSYXdTb3VyY2VDb2RlIGNsaWVudHMgdG8gU291cmNlTWFwcGluZyBjbGFzcy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTI0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdn
ZXIvYnJlYWtwb2ludC1tYW5hZ2VyLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2Vy
L3Jhdy1zb3VyY2UtY29kZS5odG1sOgorCiAyMDExLTA5LTA5ICBQYXZlbCBQb2Rpdmlsb3YgIDxw
b2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVu
dCByZXZlcnNlIG1hcHBpbmcgZm9yIGNvbXBpbGVyIHNvdXJjZSBtYXBzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci5odG1sCmlu
ZGV4IGZhZDgzMzE2MmQyMmU2ODIyOWNiMDYyZDJkYWQwMjI3OGM1ZTliZTkuLjgyNTUwNzIxYjI5
MmJmNjU0NWI0NzQ3MWE3MDI1N2YxZjRlZjZhODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLmh0bWwKQEAgLTU4LDIzICs1
OCwyMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzZXJpYWxpemVkQnJlYWtwb2ludHMucHVzaChj
cmVhdGVCcmVha3BvaW50KCJhLmpzIiwgMjAsICIiLCBmYWxzZSkpOwogICAgIHNlcmlhbGl6ZWRC
cmVha3BvaW50cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImIuanMiLCAzLCAiIiwgdHJ1ZSkpOwog
Ci0gICAgdmFyIHVpU291cmNlQ29kZUEgPSB7Ci0gICAgICAgIGlkOiAiYS5qcyIsCi0gICAgICAg
IHVybDogImEuanMiLAotICAgICAgICByYXdTb3VyY2VDb2RlOiB7Ci0gICAgICAgICAgICByYXdM
b2NhdGlvblRvVUlMb2NhdGlvbjogZnVuY3Rpb24ocmF3TG9jYXRpb24pIHsgcmV0dXJuIHJhd0xv
Y2F0aW9uOyB9LAotICAgICAgICAgICAgdWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9u
KGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikgeyByZXR1cm4geyBzY3JpcHRJZDogImEuanMiLCBs
aW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVtbk51bWJlciB9OyB9Ci0g
ICAgICAgIH0KLSAgICB9OwotICAgIHZhciB1aVNvdXJjZUNvZGVCID0gewotICAgICAgICBpZDog
ImIuanMiLAotICAgICAgICB1cmw6ICJiLmpzIiwKLSAgICAgICAgcmF3U291cmNlQ29kZTogewot
ICAgICAgICAgICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0aW9u
KSB7IHJldHVybiByYXdMb2NhdGlvbjsgfSwKLSAgICAgICAgICAgIHVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpIHsgcmV0dXJuIHsgc2Ny
aXB0SWQ6ICJiLmpzIiwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1
bW5OdW1iZXIgfTsgfQotICAgICAgICB9CisgICAgZnVuY3Rpb24gY3JlYXRlVUlTb3VyY2VDb2Rl
KGlkLCB1cmwsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uLCB1aUxvY2F0aW9uVG9SYXdMb2NhdGlv
bikKKyAgICB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBpZDogaWQsCisgICAgICAg
ICAgICB1cmw6IHVybCwKKyAgICAgICAgICAgIHJhd1NvdXJjZUNvZGU6IHsgc291cmNlTWFwcGlu
ZyA6IHsgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uLCB1
aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogdWlMb2NhdGlvblRvUmF3TG9jYXRpb24gfSB9CisgICAg
ICAgIH07CiAgICAgfQogCisgICAgdmFyIHVpU291cmNlQ29kZUEgPSBjcmVhdGVVSVNvdXJjZUNv
ZGUoImEuanMiLCAiYS5qcyIsCisgICAgICAgICAgICBmdW5jdGlvbihyYXdMb2NhdGlvbikgeyBy
ZXR1cm4gcmF3TG9jYXRpb247IH0sCisgICAgICAgICAgICBmdW5jdGlvbihsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIpIHsgcmV0dXJuIHsgc2NyaXB0SWQ6ICJhLmpzIiwgbGluZU51bWJlcjogbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfTsgfSk7CisgICAgdmFyIHVpU291
cmNlQ29kZUIgPSBjcmVhdGVVSVNvdXJjZUNvZGUoImIuanMiLCAiYi5qcyIsCisgICAgICAgICAg
ICBmdW5jdGlvbihyYXdMb2NhdGlvbikgeyByZXR1cm4gcmF3TG9jYXRpb247IH0sCisgICAgICAg
ICAgICBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpIHsgcmV0dXJuIHsgc2NyaXB0
SWQ6ICJiLmpzIiwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5O
dW1iZXIgfTsgfSk7CisKICAgICBmdW5jdGlvbiBjcmVhdGVCcmVha3BvaW50TWFuYWdlcihicmVh
a3BvaW50cykKICAgICB7CiAgICAgICAgIGJyZWFrcG9pbnRTdG9yYWdlLnNldChicmVha3BvaW50
cyk7CkBAIC0yMDQsMjMgKzIwMywxMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgZnVuY3Rp
b24gdGVzdEZvcm1hdHRpbmcobmV4dCkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIGJyZWFr
cG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoW2NyZWF0ZUJyZWFrcG9pbnQo
ImMuanMiLCA0LCAiIiwgdHJ1ZSldKTsKLQotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZUMg
PSB7Ci0gICAgICAgICAgICAgICAgaWQ6ICJjLmpzIiwKLSAgICAgICAgICAgICAgICB1cmw6ICJj
LmpzIiwKLSAgICAgICAgICAgICAgICByYXdTb3VyY2VDb2RlOiB7Ci0gICAgICAgICAgICAgICAg
ICAgIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbikgeyByZXR1
cm4gcmF3TG9jYXRpb247IH0sCi0gICAgICAgICAgICAgICAgICAgIHVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpIHsgcmV0dXJuIHsgc2Ny
aXB0SWQ6ICJjLmpzIiwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1
bW5OdW1iZXIgfTsgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICB2YXIgdWlTb3VyY2VDb2RlQ0Zvcm1hdHRlZCA9IHsKLSAgICAgICAgICAgICAgICBpZDog
ImRlb2JmdXNjYXRlZDpjLmpzIiwKLSAgICAgICAgICAgICAgICB1cmw6ICJjLmpzIiwKLSAgICAg
ICAgICAgICAgICByYXdTb3VyY2VDb2RlOiB7Ci0gICAgICAgICAgICAgICAgICAgIHJhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbikgeyByZXR1cm4geyBsaW5lTnVt
YmVyOiByYXdMb2NhdGlvbi5saW5lTnVtYmVyICogMiwgY29sdW1uTnVtYmVyOiByYXdMb2NhdGlv
bi5jb2x1bW5OdW1iZXIgKiAyIH07IH0sCi0gICAgICAgICAgICAgICAgICAgIHVpTG9jYXRpb25U
b1Jhd0xvY2F0aW9uOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpIHsgcmV0dXJu
IHsgc2NyaXB0SWQ6ICJjLmpzIiwgbGluZU51bWJlcjogTWF0aC5mbG9vcihsaW5lTnVtYmVyIC8g
MiksIGNvbHVtbk51bWJlcjogTWF0aC5mbG9vcihjb2x1bW5OdW1iZXIgLyAyKSB9OyB9Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIHVpU291cmNlQ29k
ZUMgPSBjcmVhdGVVSVNvdXJjZUNvZGUoImMuanMiLCAiYy5qcyIsCisgICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKHJhd0xvY2F0aW9uKSB7IHJldHVybiByYXdMb2NhdGlvbjsgfSwKKyAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1uTnVtYmVyKSB7IHJldHVy
biB7IHNjcmlwdElkOiAiYy5qcyIsIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJl
cjogY29sdW1uTnVtYmVyIH07IH0pOworICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZUNGb3Jt
YXR0ZWQgPSBjcmVhdGVVSVNvdXJjZUNvZGUoImRlb2JmdXNjYXRlZDpjLmpzIiwgImMuanMiLAor
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyYXdMb2NhdGlvbikgeyByZXR1cm4geyBsaW5l
TnVtYmVyOiByYXdMb2NhdGlvbi5saW5lTnVtYmVyICogMiwgY29sdW1uTnVtYmVyOiByYXdMb2Nh
dGlvbi5jb2x1bW5OdW1iZXIgKiAyIH07IH0sCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikgeyByZXR1cm4geyBzY3JpcHRJZDogImMuanMiLCBs
aW5lTnVtYmVyOiBNYXRoLmZsb29yKGxpbmVOdW1iZXIgLyAyKSwgY29sdW1uTnVtYmVyOiBNYXRo
LmZsb29yKGNvbHVtbk51bWJlciAvIDIpIH07IH0pOwogCiAgICAgICAgICAgICBicmVha3BvaW50
TWFuYWdlci51aVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGVDKTsKICAgICAgICAgICAgIHNl
dFRpbWVvdXQoZm9ybWF0LCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbAppbmRleCA0MTBlMGQyY2E5Yjk3MmY1MjJlZTM5ZTQw
NjVhMjRmM2NjZjMwNDkwLi41Njk5OWRlNmMyNjcwZjQ2OWFhYTQyMzUwNjA4MWQwNTZiOTE0OWEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJjZS1j
b2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2Ut
Y29kZS5odG1sCkBAIC0xMDUsMTMgKzEwNSwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ICAgIHZhciBzY3JpcHQgPSBjcmVhdGVTY3JpcHRNb2NrKCJmb28uanMiLCAwLCAwLCB0cnVlLCAi
PHNjcmlwdCBzb3VyY2U+Iik7CiAgICAgICAgICAgICB2YXIgcmF3U291cmNlQ29kZSA9IGNyZWF0
ZVJhd1NvdXJjZUNvZGUoc2NyaXB0LCBudWxsKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKCEhcmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGUpOwotICAgICAgICAgICAg
dmFyIHVpU291cmNlQ29kZSA9IHJhd1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlOworICAgICAgICAg
ICAgdmFyIHNvdXJjZU1hcHBpbmcgPSByYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmc7CisgICAg
ICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGU7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiZm9vLmpzIiwgdWlTb3VyY2VD
b2RlLnVybCk7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0cnVlLCB1
aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0KTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0RXF1YWxzKHJhd1NvdXJjZUNvZGUsIHVpU291cmNlQ29kZS5yYXdTb3VyY2VDb2RlKTsK
LSAgICAgICAgICAgIGNoZWNrVUlMb2NhdGlvbih1aVNvdXJjZUNvZGUsIDAsIDUsIHJhd1NvdXJj
ZUNvZGUucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMCwgNSkpKTsK
LSAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAwLCAxMCwgcmF3U291cmNlQ29k
ZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbigwLCAxMCkpOworICAgICAgICAgICAgY2hlY2tVSUxv
Y2F0aW9uKHVpU291cmNlQ29kZSwgMCwgNSwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlM
b2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigwLCA1KSkpOworICAgICAgICAgICAgY2hlY2tSYXdM
b2NhdGlvbihzY3JpcHQsIDAsIDEwLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0
aW9uKDAsIDEwKSk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQoZGlk
UmVxdWVzdENvbnRlbnQpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVu
dChtaW1lVHlwZSwgY29udGVudCkKQEAgLTEyOSwxNCArMTI5LDE0IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgICAgICAgICAgdmFyIHJlc291cmNlID0gY3JlYXRlUGVuZGluZ1Jlc291cmNlTW9jaygi
ZG9jdW1lbnQiLCAiPHJlc291cmNlIGNvbnRlbnQ+Iik7CiAgICAgICAgICAgICB2YXIgcmF3U291
cmNlQ29kZSA9IGNyZWF0ZVJhd1NvdXJjZUNvZGUoc2NyaXB0MSwgcmVzb3VyY2UpOwogCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXJhd1NvdXJjZUNvZGUudWlTb3VyY2VD
b2RlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmF3U291cmNlQ29k
ZS5zb3VyY2VNYXBwaW5nKTsKICAgICAgICAgICAgIHdhaXRGb3JTb3VyY2VNYXBwaW5nRXZlbnQo
cmF3U291cmNlQ29kZSwgbWFwcGluZ1JlYWR5KTsKICAgICAgICAgICAgIHJlc291cmNlLmZpbmlz
aCgpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBtYXBwaW5nUmVhZHkoZXZlbnQpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFldmVudC5k
YXRhLm9sZFNvdXJjZUNvZGUpOwotICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBy
YXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZTsKKyAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlID0gcmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZTsKICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiaW5kZXguaHRtbCIsIHVpU291cmNl
Q29kZS51cmwpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGZh
bHNlLCB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0KTsKICAgICAgICAgICAgICAgICB1aVNv
dXJjZUNvZGUucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQpOwpAQCAtMTYwLDggKzE2
MCw4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgdmFyIHJlc291cmNlID0gY3JlYXRl
RmluaXNoZWRSZXNvdXJjZU1vY2soImRvY3VtZW50IiwgIjxyZXNvdXJjZSBjb250ZW50PiIpOwog
ICAgICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSBjcmVhdGVSYXdTb3VyY2VDb2RlKHNjcmlw
dDEsIHJlc291cmNlKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCEh
cmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGUpOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29k
ZSA9IHJhd1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlOworICAgICAgICAgICAgdmFyIHNvdXJjZU1h
cHBpbmcgPSByYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmc7CisgICAgICAgICAgICB2YXIgdWlT
b3VyY2VDb2RlID0gc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGU7CiAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscygiaW5kZXguaHRtbCIsIHVpU291cmNlQ29kZS51cmwpOwog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoZmFsc2UsIHVpU291cmNlQ29k
ZS5pc0NvbnRlbnRTY3JpcHQpOwogICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250
ZW50KGRpZFJlcXVlc3RDb250ZW50KTsKQEAgLTE3Myw5ICsxNzMsOSBAQCBmdW5jdGlvbiB0ZXN0
KCkKIAogICAgICAgICAgICAgICAgIHJhd1NvdXJjZUNvZGUuYWRkU2NyaXB0KHNjcmlwdDIpOwog
ICAgICAgICAgICAgICAgIHJhd1NvdXJjZUNvZGUuZm9yY2VVcGRhdGVTb3VyY2VNYXBwaW5nKCk7
Ci0gICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZSwgMSwgMjAsIHJh
d1NvdXJjZUNvZGUucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMSwg
MjApKSk7Ci0gICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQxLCAxLCAyMCwg
cmF3U291cmNlQ29kZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbigxLCAyMCkpOwotICAgICAgICAg
ICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0MiwgNiwgMiwgcmF3U291cmNlQ29kZS51aUxv
Y2F0aW9uVG9SYXdMb2NhdGlvbig2LCAyKSk7CisgICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0
aW9uKHVpU291cmNlQ29kZSwgMSwgMjAsIHNvdXJjZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9j
YXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMSwgMjApKSk7CisgICAgICAgICAgICAgICAgY2hlY2tS
YXdMb2NhdGlvbihzY3JpcHQxLCAxLCAyMCwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdM
b2NhdGlvbigxLCAyMCkpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3TG9jYXRpb24oc2NyaXB0
MiwgNiwgMiwgc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbig2LCAyKSk7CiAK
ICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9CkBAIC0xODcsOCArMTg3LDkg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBjcmVhdGVGaW5p
c2hlZFJlc291cmNlTW9jaygic2NyaXB0IiwgIjxyZXNvdXJjZSBjb250ZW50PiIpOwogICAgICAg
ICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSBjcmVhdGVSYXdTb3VyY2VDb2RlKHNjcmlwdCwgcmVz
b3VyY2UpOwogCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoISFyYXdTb3Vy
Y2VDb2RlLnVpU291cmNlQ29kZSk7Ci0gICAgICAgICAgICByYXdTb3VyY2VDb2RlLnVpU291cmNl
Q29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudCk7CisgICAgICAgICAgICB2YXIg
c291cmNlTWFwcGluZyA9IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZzsKKyAgICAgICAgICAg
IHZhciB1aVNvdXJjZUNvZGUgPSBzb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZTsKKyAgICAgICAg
ICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudCk7CiAKICAg
ICAgICAgICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KG1pbWVUeXBlLCBjb250ZW50KQog
ICAgICAgICAgICAgewpAQCAtMjAyLDcgKzIwMyw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBtYXBwaW5nUmVhZHlBZnRlckVkaXQoKQogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHJhd1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50
KGRpZFJlcXVlc3RDb250ZW50QWZ0ZXJFZGl0KTsKKyAgICAgICAgICAgICAgICByYXdTb3VyY2VD
b2RlLnNvdXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RD
b250ZW50QWZ0ZXJFZGl0KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24g
ZGlkUmVxdWVzdENvbnRlbnRBZnRlckVkaXQobWltZVR5cGUsIGNvbnRlbnQpCkBAIC0yMjEsMTMg
KzIyMiwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IGNy
ZWF0ZVBlbmRpbmdSZXNvdXJjZU1vY2soImRvY3VtZW50IiwgIjxyZXNvdXJjZSBjb250ZW50PiIp
OwogICAgICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSBjcmVhdGVSYXdTb3VyY2VDb2RlKHNj
cmlwdDEsIHJlc291cmNlKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVl
KCFyYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydFRydWUoIXJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZyk7CiAgICAgICAgICAgICB3
YWl0Rm9yU291cmNlTWFwcGluZ0V2ZW50KHJhd1NvdXJjZUNvZGUsIHJlcXVlc3RDb250ZW50KTsK
ICAgICAgICAgICAgIHJhd1NvdXJjZUNvZGUuZm9yY2VVcGRhdGVTb3VyY2VNYXBwaW5nKCk7CiAK
ICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RDb250ZW50KCkKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICByYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChk
aWRSZXF1ZXN0Q29udGVudE9uZVNjcmlwdCk7CisgICAgICAgICAgICAgICAgcmF3U291cmNlQ29k
ZS5zb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29u
dGVudE9uZVNjcmlwdCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRp
ZFJlcXVlc3RDb250ZW50T25lU2NyaXB0KG1pbWVUeXBlLCBjb250ZW50KQpAQCAtMjQzLDcgKzI0
NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0Q29u
dGVudFR3b1NjcmlwdHMoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJhd1NvdXJj
ZUNvZGUudWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50VHdvU2Ny
aXB0cyk7CisgICAgICAgICAgICAgICAgcmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnVpU291
cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudFR3b1NjcmlwdHMpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudFR3b1Nj
cmlwdHMobWltZVR5cGUsIGNvbnRlbnQpCkBAIC0yNTgsNyArMjU5LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RDb250ZW50UmVzb3VyY2UoKQogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJhd1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlLnJl
cXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50UmVzb3VyY2UpOworICAgICAgICAgICAgICAg
IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQo
ZGlkUmVxdWVzdENvbnRlbnRSZXNvdXJjZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50UmVzb3VyY2UobWltZVR5cGUsIGNvbnRlbnQpCkBA
IC0yNzksMTAgKzI4MCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciByZXNv
dXJjZSA9IGNyZWF0ZUZpbmlzaGVkUmVzb3VyY2VNb2NrKCJzY3JpcHQiLCAiPHJlc291cmNlIGNv
bnRlbnQ+Iik7CiAgICAgICAgICAgICB2YXIgcmF3U291cmNlQ29kZSA9IGNyZWF0ZVJhd1NvdXJj
ZUNvZGUoc2NyaXB0LCByZXNvdXJjZSwgZmFsc2UpOwogCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydFRydWUoISFyYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSk7Ci0gICAgICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlID0gcmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGU7Ci0gICAgICAg
ICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlLCAxLCAyLCByYXdTb3VyY2VDb2RlLnJh
d0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xvY2F0aW9uKDEsIDIpKSk7Ci0gICAgICAg
ICAgICBjaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwgMiwgcmF3U291cmNlQ29kZS51aUxvY2F0
aW9uVG9SYXdMb2NhdGlvbigxLCAyKSk7CisgICAgICAgICAgICB2YXIgc291cmNlTWFwcGluZyA9
IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZzsKKyAgICAgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSBzb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZTsKKyAgICAgICAgICAgIGNoZWNrVUlMb2Nh
dGlvbih1aVNvdXJjZUNvZGUsIDEsIDIsIHNvdXJjZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9j
YXRpb24oY3JlYXRlUmF3TG9jYXRpb24oMSwgMikpKTsKKyAgICAgICAgICAgIGNoZWNrUmF3TG9j
YXRpb24oc2NyaXB0LCAxLCAyLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9u
KDEsIDIpKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1
ZXN0Q29udGVudCk7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KG1p
bWVUeXBlLCBjb250ZW50KQpAQCAtMjk3LDkgKzI5OCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAog
ICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZvcm1hdHRlZENvbnRlbnQoKQogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSByYXdTb3VyY2VDb2RlLnVp
U291cmNlQ29kZTsKLSAgICAgICAgICAgICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2Rl
LCAyLCA0LCByYXdTb3VyY2VDb2RlLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xv
Y2F0aW9uKDEsIDIpKSk7Ci0gICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQs
IDEsIDIsIHJhd1NvdXJjZUNvZGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMiwgNCkpOworICAg
ICAgICAgICAgICAgIHZhciBzb3VyY2VNYXBwaW5nID0gcmF3U291cmNlQ29kZS5zb3VyY2VNYXBw
aW5nOworICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBzb3VyY2VNYXBwaW5nLnVp
U291cmNlQ29kZTsKKyAgICAgICAgICAgICAgICBjaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2Rl
LCAyLCA0LCBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNyZWF0ZVJhd0xv
Y2F0aW9uKDEsIDIpKSk7CisgICAgICAgICAgICAgICAgY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQs
IDEsIDIsIHNvdXJjZU1hcHBpbmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMiwgNCkpOwogICAg
ICAgICAgICAgICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Rm9ybWF0
dGVkQ29udGVudCk7CiAgICAgICAgICAgICB9CiAKQEAgLTMxNCw5ICszMTYsMTAgQEAgZnVuY3Rp
b24gdGVzdCgpCiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3ROb3RGb3JtYXR0ZWRDb250
ZW50KCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
cmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGU7Ci0gICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0
aW9uKHVpU291cmNlQ29kZSwgMSwgMiwgcmF3U291cmNlQ29kZS5yYXdMb2NhdGlvblRvVUlMb2Nh
dGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyKSkpOwotICAgICAgICAgICAgICAgIGNoZWNrUmF3
TG9jYXRpb24oc2NyaXB0LCAxLCAyLCByYXdTb3VyY2VDb2RlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0
aW9uKDEsIDIpKTsKKyAgICAgICAgICAgICAgICB2YXIgc291cmNlTWFwcGluZyA9IHJhd1NvdXJj
ZUNvZGUuc291cmNlTWFwcGluZzsKKyAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
c291cmNlTWFwcGluZy51aVNvdXJjZUNvZGU7CisgICAgICAgICAgICAgICAgY2hlY2tVSUxvY2F0
aW9uKHVpU291cmNlQ29kZSwgMSwgMiwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2Nh
dGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyKSkpOworICAgICAgICAgICAgICAgIGNoZWNrUmF3
TG9jYXRpb24oc2NyaXB0LCAxLCAyLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0
aW9uKDEsIDIpKTsKICAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQo
ZGlkUmVxdWVzdE5vdEZvcm1hdHRlZENvbnRlbnQpOwogICAgICAgICAgICAgfQogCkBAIC0zMzUs
MTYgKzMzOCwxNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciByZXNvdXJjZSA9
IGNyZWF0ZVBlbmRpbmdSZXNvdXJjZU1vY2soInNjcmlwdCIsICI8cmVzb3VyY2UgY29udGVudD4i
KTsKICAgICAgICAgICAgIHZhciByYXdTb3VyY2VDb2RlID0gY3JlYXRlUmF3U291cmNlQ29kZShz
Y3JpcHQsIHJlc291cmNlLCB0cnVlKTsKIAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRUcnVlKCFyYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSk7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydFRydWUoIXJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZyk7CiAgICAgICAg
ICAgICByZXNvdXJjZS5maW5pc2goKTsKICAgICAgICAgICAgIHdhaXRGb3JTb3VyY2VNYXBwaW5n
RXZlbnQocmF3U291cmNlQ29kZSwgY2hlY2tNYXBwaW5nKTsKICAgICAgICAgICAgIHJhd1NvdXJj
ZUNvZGUuX2Zvcm1hdHRlci5maW5pc2goKTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tN
YXBwaW5nKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2Rl
ID0gcmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGU7Ci0gICAgICAgICAgICAgICAgY2hlY2tVSUxv
Y2F0aW9uKHVpU291cmNlQ29kZSwgMiwgNCwgcmF3U291cmNlQ29kZS5yYXdMb2NhdGlvblRvVUlM
b2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyKSkpOwotICAgICAgICAgICAgICAgIGNoZWNr
UmF3TG9jYXRpb24oc2NyaXB0LCAxLCAyLCByYXdTb3VyY2VDb2RlLnVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uKDIsIDQpKTsKKyAgICAgICAgICAgICAgICB2YXIgc291cmNlTWFwcGluZyA9IHJhd1Nv
dXJjZUNvZGUuc291cmNlTWFwcGluZzsKKyAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2Rl
ID0gc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGU7CisgICAgICAgICAgICAgICAgY2hlY2tVSUxv
Y2F0aW9uKHVpU291cmNlQ29kZSwgMiwgNCwgc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlM
b2NhdGlvbihjcmVhdGVSYXdMb2NhdGlvbigxLCAyKSkpOworICAgICAgICAgICAgICAgIGNoZWNr
UmF3TG9jYXRpb24oc2NyaXB0LCAxLCAyLCBzb3VyY2VNYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xv
Y2F0aW9uKDIsIDQpKTsKICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YmM2MjIxYjk4NTc4NTM4MTIyZDA4Y2RmOWM4OGYzZmEz
NDI5Y2RlLi5iOTU3YTI2ZmYyYmE1Nzg5NDU3ZWU1ZTk0ZTQ4OGI1OTkwMmZiOTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDktMjEgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2
aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbWlncmF0ZSBSYXdT
b3VyY2VDb2RlIGNsaWVudHMgdG8gU291cmNlTWFwcGluZyBjbGFzcy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTI0CisKKyAgICAgICAgQ2xpZW50
cyBzaG91bGQgdXNlIHVpU291cmNlQ29kZSgpLCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbigpLCB1
aUxvY2F0aW9uVG9SYXdMb2NhdGlvbigpIG1ldGhvZHMgb2YgU291cmNlTWFwcGluZyBjbGFzcy4K
KyAgICAgICAgSW5pdGlhbGx5LCBSYXdTb3VyY2VDb2RlIG1heSBub3QgaGF2ZSBhc3NvY2lhdGVk
IFNvdXJjZU1hcHBpbmcsIHNvIGl0IGlzIG5hdHVyYWwgdG8gZXh0cmFjdCB0aGlzIG1ldGhvZHMg
YW5kIGFzc29jaWF0ZWQgc3RhdGUgdG8gYSBzZXBhcmF0ZSBjbGFzcy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
QnJlYWtwb2ludE1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1h
bmFnZXIucHJvdG90eXBlLl9tYXRlcmlhbGl6ZUJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fYnJlYWtwb2ludERlYnVnZ2VyTG9j
YXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5wcm90b3R5cGUubGlua2lmeUxvY2F0aW9uLnVwZGF0ZUFuY2hvcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUubGlu
a2lmeUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLnByb3RvdHlwZS5fYWRkU2NyaXB0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fdXBkYXRlU291cmNlTWFwcGluZyk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUu
X3Jlc3RvcmVCcmVha3BvaW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3Jlc3RvcmVDb25zb2xlTWVzc2FnZXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9jb25z
b2xlTWVzc2FnZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLnByb3RvdHlwZS5fY3JlYXRlUHJlc2VudGF0aW9uTWVzc2FnZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuY29udGlu
dWVUb0xpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByZXNlbnRhdGlvbkNhbGxGcmFtZS5w
cm90b3R5cGUuZ2V0IHVybCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQ2Fs
bEZyYW1lLnByb3RvdHlwZS5zb3VyY2VMaW5lLnNvdXJjZU1hcHBpbmdVcGRhdGVkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5QcmVzZW50YXRpb25DYWxsRnJhbWUucHJvdG90eXBlLnNvdXJjZUxp
bmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxSZXNv
dXJjZUJpbmRpbmcucHJvdG90eXBlLmNhblNldENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxSZXNvdXJjZUJpbmRpbmcucHJvdG90eXBlLnNl
dENvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRmlsZS5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLnByb3RvdHlwZS5nZXQgc291cmNl
TWFwcGluZyk6CisKIDIwMTEtMDktMDkgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVtZW50IHJldmVyc2UgbWFw
cGluZyBmb3IgY29tcGlsZXIgc291cmNlIG1hcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcwppbmRleCA2MGVjMzcx
NzMwNWIyMjdkZTdkYzk3MjVhNTcyYzY1OWM3ZWEwYTFjLi41NTI4ZjQ0MGZlZjI0NDA2ZTYzMjZl
OGI3YWMxMWI3NzEyMGY1ZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKQEAgLTk1LDcgKzk1LDcgQEAgV2Vi
SW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICBicmVha3BvaW50Ll9tYXRlcmlhbGl6ZWQgPSB0cnVlOwotICAgICAg
ICB2YXIgcmF3TG9jYXRpb24gPSBicmVha3BvaW50LnVpU291cmNlQ29kZS5yYXdTb3VyY2VDb2Rl
LnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKGJyZWFrcG9pbnQubGluZU51bWJlciwgMCk7CisgICAg
ICAgIHZhciByYXdMb2NhdGlvbiA9IGJyZWFrcG9pbnQudWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNv
ZGUuc291cmNlTWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbihicmVha3BvaW50LmxpbmVO
dW1iZXIsIDApOwogICAgICAgICB0aGlzLl9zZXRCcmVha3BvaW50SW5EZWJ1Z2dlcihicmVha3Bv
aW50LCByYXdMb2NhdGlvbik7CiAgICAgfSwKIApAQCAtMTAzLDcgKzEwMyw3IEBAIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAo
IWJyZWFrcG9pbnQudWlTb3VyY2VDb2RlKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB2
YXIgdWlMb2NhdGlvbiA9IGJyZWFrcG9pbnQudWlTb3VyY2VDb2RlLnJhd1NvdXJjZUNvZGUucmF3
TG9jYXRpb25Ub1VJTG9jYXRpb24oYnJlYWtwb2ludC5fZGVidWdnZXJMb2NhdGlvbik7CisgICAg
ICAgIHZhciB1aUxvY2F0aW9uID0gYnJlYWtwb2ludC51aVNvdXJjZUNvZGUucmF3U291cmNlQ29k
ZS5zb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGJyZWFrcG9pbnQuX2RlYnVn
Z2VyTG9jYXRpb24pOwogICAgICAgICBpZiAodWlMb2NhdGlvbi5saW5lTnVtYmVyID09PSBicmVh
a3BvaW50LmxpbmVOdW1iZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5qcwppbmRleCAwYmVjYjUxNjNjMzE3ZTYzM2ZjODAyMjc1ODZhNzY2ZTI2OTMz
YzRjLi5kYTVlNTQ5OTRiZTg5NTBjY2M1ODRjODRhOThmYzNkMTY5NGI0ODI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dl
clByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC04MCwxMyArODAsMTMgQEAgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIGZ1bmN0aW9u
IHVwZGF0ZUFuY2hvcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciB1aUxvY2F0aW9uID0g
cmF3U291cmNlQ29kZS5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbih7IGxpbmVOdW1iZXI6IGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlcjogY29sdW1uTnVtYmVyIH0pOworICAgICAgICAgICAgdmFyIHVp
TG9jYXRpb24gPSByYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9j
YXRpb24oeyBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVtbk51bWJl
ciB9KTsKICAgICAgICAgICAgIGFuY2hvci50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5mb3Jt
YXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9jYXRpb24ubGluZU51
bWJlcik7CiAgICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwi
LCAic2NyaXB0cyIpOwogICAgICAgICAgICAgYW5jaG9yLnVpU291cmNlQ29kZSA9IHVpTG9jYXRp
b24udWlTb3VyY2VDb2RlOwogICAgICAgICAgICAgYW5jaG9yLmxpbmVOdW1iZXIgPSB1aUxvY2F0
aW9uLmxpbmVOdW1iZXI7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHJhd1NvdXJjZUNvZGUudWlT
b3VyY2VDb2RlKQorICAgICAgICBpZiAocmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nKQogICAg
ICAgICAgICAgdXBkYXRlQW5jaG9yLmNhbGwodGhpcyk7CiAgICAgICAgIHJhd1NvdXJjZUNvZGUu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5FdmVudHMuU291cmNl
TWFwcGluZ1VwZGF0ZWQsIHVwZGF0ZUFuY2hvciwgdGhpcyk7CiAgICAgICAgIHJldHVybiBhbmNo
b3I7CkBAIC0xMTYsNyArMTE2LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3Iu
bmV0d29ya01hbmFnZXIuaW5mbGlnaHRSZXNvdXJjZUZvclVSTChzY3JpcHQuc291cmNlVVJMKSB8
fCBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCk7CiAgICAgICAg
IHJhd1NvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUocmF3U291cmNl
Q29kZUlkLCBzY3JpcHQsIHJlc291cmNlLCB0aGlzLl9mb3JtYXR0ZXIsIHRoaXMuX2Zvcm1hdFNv
dXJjZSk7CiAgICAgICAgIHRoaXMuX3Jhd1NvdXJjZUNvZGVbcmF3U291cmNlQ29kZUlkXSA9IHJh
d1NvdXJjZUNvZGU7Ci0gICAgICAgIGlmIChyYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSkKKyAg
ICAgICAgaWYgKHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZykKICAgICAgICAgICAgIHRoaXMu
X3VwZGF0ZVNvdXJjZU1hcHBpbmcocmF3U291cmNlQ29kZSwgbnVsbCk7CiAgICAgICAgIHJhd1Nv
dXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5FdmVu
dHMuU291cmNlTWFwcGluZ1VwZGF0ZWQsIHRoaXMuX3NvdXJjZU1hcHBpbmdVcGRhdGVkLCB0aGlz
KTsKICAgICB9LApAQCAtMTMwLDggKzEzMCw2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKIAogICAgIF91cGRhdGVTb3VyY2VNYXBwaW5nOiBm
dW5jdGlvbihyYXdTb3VyY2VDb2RlLCBvbGRVSVNvdXJjZUNvZGUpCiAgICAgewotICAgICAgICB2
YXIgdWlTb3VyY2VDb2RlID0gcmF3U291cmNlQ29kZS51aVNvdXJjZUNvZGU7Ci0KICAgICAgICAg
aWYgKG9sZFVJU291cmNlQ29kZSkgewogICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gdGhp
cy5fYnJlYWtwb2ludE1hbmFnZXIuYnJlYWtwb2ludHNGb3JVSVNvdXJjZUNvZGUob2xkVUlTb3Vy
Y2VDb2RlKTsKICAgICAgICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgaW4gYnJlYWtwb2ludHMp
IHsKQEAgLTE0MSw5ICsxMzksMTAgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAg
dGhpcy5fcmVzdG9yZUJyZWFrcG9pbnRzKHVpU291cmNlQ29kZSk7Ci0gICAgICAgIHRoaXMuX3Jl
c3RvcmVDb25zb2xlTWVzc2FnZXModWlTb3VyY2VDb2RlKTsKKyAgICAgICAgdGhpcy5fcmVzdG9y
ZUJyZWFrcG9pbnRzKHJhd1NvdXJjZUNvZGUpOworICAgICAgICB0aGlzLl9yZXN0b3JlQ29uc29s
ZU1lc3NhZ2VzKHJhd1NvdXJjZUNvZGUpOwogCisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBy
YXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlOwogICAgICAgICBpZiAoIW9s
ZFVJU291cmNlQ29kZSkKICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5VSVNvdXJjZUNv
ZGVBZGRlZCwgdWlTb3VyY2VDb2RlKTsKICAgICAgICAgZWxzZSB7CkBAIC0xNTIsMTkgKzE1MSwy
MCBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX3Jlc3RvcmVCcmVha3BvaW50czogZnVuY3Rpb24o
dWlTb3VyY2VDb2RlKQorICAgIF9yZXN0b3JlQnJlYWtwb2ludHM6IGZ1bmN0aW9uKHJhd1NvdXJj
ZUNvZGUpCiAgICAgeworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gcmF3U291cmNlQ29kZS5z
b3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZTsKICAgICAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFn
ZXIudWlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKTsKICAgICAgICAgdmFyIGJyZWFrcG9p
bnRzID0gdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuYnJlYWtwb2ludHNGb3JVSVNvdXJjZUNvZGUo
dWlTb3VyY2VDb2RlKTsKICAgICAgICAgZm9yICh2YXIgbGluZU51bWJlciBpbiBicmVha3BvaW50
cykKICAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRBZGRlZChicmVha3BvaW50c1tsaW5lTnVt
YmVyXSk7CiAgICAgfSwKIAotICAgIF9yZXN0b3JlQ29uc29sZU1lc3NhZ2VzOiBmdW5jdGlvbih1
aVNvdXJjZUNvZGUpCisgICAgX3Jlc3RvcmVDb25zb2xlTWVzc2FnZXM6IGZ1bmN0aW9uKHJhd1Nv
dXJjZUNvZGUpCiAgICAgewotICAgICAgICB2YXIgbWVzc2FnZXMgPSB1aVNvdXJjZUNvZGUucmF3
U291cmNlQ29kZS5tZXNzYWdlczsKKyAgICAgICAgdmFyIG1lc3NhZ2VzID0gcmF3U291cmNlQ29k
ZS5tZXNzYWdlczsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7
ICsraSkKLSAgICAgICAgICAgIG1lc3NhZ2VzW2ldLl9wcmVzZW50YXRpb25NZXNzYWdlID0gdGhp
cy5fY3JlYXRlUHJlc2VudGF0aW9uTWVzc2FnZShtZXNzYWdlc1tpXSwgdWlTb3VyY2VDb2RlKTsK
KyAgICAgICAgICAgIG1lc3NhZ2VzW2ldLl9wcmVzZW50YXRpb25NZXNzYWdlID0gdGhpcy5fY3Jl
YXRlUHJlc2VudGF0aW9uTWVzc2FnZShtZXNzYWdlc1tpXSwgcmF3U291cmNlQ29kZS5zb3VyY2VN
YXBwaW5nKTsKICAgICB9LAogCiAgICAgY2FuRWRpdFNjcmlwdFNvdXJjZTogZnVuY3Rpb24odWlT
b3VyY2VDb2RlKQpAQCAtMjU0LDE4ICsyNTQsMTggQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIHJhd1NvdXJjZUNvZGUubWVzc2FnZXMucHVzaChtZXNzYWdlKTsKLSAgICAgICAgaWYgKHJh
d1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlKSB7Ci0gICAgICAgICAgICBtZXNzYWdlLl9wcmVzZW50
YXRpb25NZXNzYWdlID0gdGhpcy5fY3JlYXRlUHJlc2VudGF0aW9uTWVzc2FnZShtZXNzYWdlLCBy
YXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSk7CisgICAgICAgIGlmIChyYXdTb3VyY2VDb2RlLnNv
dXJjZU1hcHBpbmcpIHsKKyAgICAgICAgICAgIG1lc3NhZ2UuX3ByZXNlbnRhdGlvbk1lc3NhZ2Ug
PSB0aGlzLl9jcmVhdGVQcmVzZW50YXRpb25NZXNzYWdlKG1lc3NhZ2UsIHJhd1NvdXJjZUNvZGUu
c291cmNlTWFwcGluZyk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQ29uc29sZU1l
c3NhZ2VBZGRlZCwgbWVzc2FnZS5fcHJlc2VudGF0aW9uTWVzc2FnZSk7CiAgICAgICAgIH0KICAg
ICB9LAogCi0gICAgX2NyZWF0ZVByZXNlbnRhdGlvbk1lc3NhZ2U6IGZ1bmN0aW9uKG1lc3NhZ2Us
IHVpU291cmNlQ29kZSkKKyAgICBfY3JlYXRlUHJlc2VudGF0aW9uTWVzc2FnZTogZnVuY3Rpb24o
bWVzc2FnZSwgc291cmNlTWFwcGluZykKICAgICB7CiAgICAgICAgIC8vIEZJWE1FKDYyNzI1KTog
c3RhY2sgdHJhY2UgbGluZS9jb2x1bW4gbnVtYmVycyBhcmUgb25lLWJhc2VkLgogICAgICAgICB2
YXIgbGluZU51bWJlciA9IG1lc3NhZ2Uuc3RhY2tUcmFjZSA/IG1lc3NhZ2Uuc3RhY2tUcmFjZVsw
XS5saW5lTnVtYmVyIC0gMSA6IG1lc3NhZ2UubGluZSAtIDE7CiAgICAgICAgIHZhciBjb2x1bW5O
dW1iZXIgPSBtZXNzYWdlLnN0YWNrVHJhY2UgPyBtZXNzYWdlLnN0YWNrVHJhY2VbMF0uY29sdW1u
TnVtYmVyIC0gMSA6IDA7Ci0gICAgICAgIHZhciB1aUxvY2F0aW9uID0gdWlTb3VyY2VDb2RlLnJh
d1NvdXJjZUNvZGUucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oeyBsaW5lTnVtYmVyOiBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVtbk51bWJlciB9KTsKKyAgICAgICAgdmFyIHVpTG9jYXRp
b24gPSBzb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKHsgbGluZU51bWJlcjog
bGluZU51bWJlciwgY29sdW1uTnVtYmVyOiBjb2x1bW5OdW1iZXIgfSk7CiAgICAgICAgIHZhciBw
cmVzZW50YXRpb25NZXNzYWdlID0ge307CiAgICAgICAgIHByZXNlbnRhdGlvbk1lc3NhZ2UudWlT
b3VyY2VDb2RlID0gdWlMb2NhdGlvbi51aVNvdXJjZUNvZGU7CiAgICAgICAgIHByZXNlbnRhdGlv
bk1lc3NhZ2UubGluZU51bWJlciA9IHVpTG9jYXRpb24ubGluZU51bWJlcjsKQEAgLTI4Miw3ICsy
ODIsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUg
PSB7CiAKICAgICBjb250aW51ZVRvTGluZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVt
YmVyKQogICAgIHsKLSAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0gdWlTb3VyY2VDb2RlLnJhd1Nv
dXJjZUNvZGUudWlMb2NhdGlvblRvUmF3TG9jYXRpb24obGluZU51bWJlciwgMCk7CisgICAgICAg
IHZhciByYXdMb2NhdGlvbiA9IHVpU291cmNlQ29kZS5yYXdTb3VyY2VDb2RlLnNvdXJjZU1hcHBp
bmcudWlMb2NhdGlvblRvUmF3TG9jYXRpb24obGluZU51bWJlciwgMCk7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNvbnRpbnVlVG9Mb2NhdGlvbihyYXdMb2NhdGlvbik7CiAg
ICAgfSwKIApAQCAtNDQ5LDggKzQ0OSw4IEBAIFdlYkluc3BlY3Rvci5QcmVzZW50YXRpb25DYWxs
RnJhbWUucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHVybCgpCiAgICAgewotICAgICAgICBpZiAo
dGhpcy5fcmF3U291cmNlQ29kZSAmJiB0aGlzLl9yYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZSkK
LSAgICAgICAgICAgIHJldHVybiB0aGlzLl9yYXdTb3VyY2VDb2RlLnVpU291cmNlQ29kZS51cmw7
CisgICAgICAgIGlmICh0aGlzLl9yYXdTb3VyY2VDb2RlICYmIHRoaXMuX3Jhd1NvdXJjZUNvZGUu
c291cmNlTWFwcGluZykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9yYXdTb3VyY2VDb2RlLnNv
dXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlLnVybDsKICAgICB9LAogCiAgICAgZ2V0IHNjb3BlQ2hh
aW4oKQpAQCAtNTAwLDggKzUwMCw4IEBAIFdlYkluc3BlY3Rvci5QcmVzZW50YXRpb25DYWxsRnJh
bWUucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAg
ICAgaWYgKHRoaXMuX3Jhd1NvdXJjZUNvZGUudWlTb3VyY2VDb2RlKSB7Ci0gICAgICAgICAgICB2
YXIgdWlMb2NhdGlvbiA9IHRoaXMuX3Jhd1NvdXJjZUNvZGUucmF3TG9jYXRpb25Ub1VJTG9jYXRp
b24ocmF3TG9jYXRpb24pOworICAgICAgICBpZiAodGhpcy5fcmF3U291cmNlQ29kZS5zb3VyY2VN
YXBwaW5nKSB7CisgICAgICAgICAgICB2YXIgdWlMb2NhdGlvbiA9IHRoaXMuX3Jhd1NvdXJjZUNv
ZGUuc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihyYXdMb2NhdGlvbik7CiAg
ICAgICAgICAgICBjYWxsYmFjayh1aUxvY2F0aW9uLnVpU291cmNlQ29kZSwgdWlMb2NhdGlvbi5s
aW5lTnVtYmVyKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNTA5LDcgKzUw
OSw3IEBAIFdlYkluc3BlY3Rvci5QcmVzZW50YXRpb25DYWxsRnJhbWUucHJvdG90eXBlID0gewog
ICAgICAgICBmdW5jdGlvbiBzb3VyY2VNYXBwaW5nVXBkYXRlZCgpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHRoaXMuX3Jhd1NvdXJjZUNvZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuUmF3U291cmNlQ29kZS5FdmVudHMuU291cmNlTWFwcGluZ1VwZGF0ZWQsIHNvdXJjZU1hcHBp
bmdVcGRhdGVkLCB0aGlzKTsKLSAgICAgICAgICAgIHZhciB1aUxvY2F0aW9uID0gdGhpcy5fcmF3
U291cmNlQ29kZS5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihyYXdMb2NhdGlvbik7CisgICAgICAg
ICAgICB2YXIgdWlMb2NhdGlvbiA9IHRoaXMuX3Jhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy5y
YXdMb2NhdGlvblRvVUlMb2NhdGlvbihyYXdMb2NhdGlvbik7CiAgICAgICAgICAgICBjYWxsYmFj
ayh1aUxvY2F0aW9uLnVpU291cmNlQ29kZSwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKICAgICAg
ICAgfQogICAgICAgICB0aGlzLl9yYXdTb3VyY2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlJhd1NvdXJjZUNvZGUuRXZlbnRzLlNvdXJjZU1hcHBpbmdVcGRhdGVkLCBzb3VyY2VN
YXBwaW5nVXBkYXRlZCwgdGhpcyk7CkBAIC01MzIsNyArNTMyLDcgQEAgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxSZXNvdXJjZUJpbmRpbmcucHJvdG90eXBlID0gewogICAg
ICAgICB2YXIgcmF3U291cmNlQ29kZSA9IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLl9yYXdTb3Vy
Y2VDb2RlRm9yU2NyaXB0KHJlc291cmNlLnVybCkKICAgICAgICAgaWYgKCFyYXdTb3VyY2VDb2Rl
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdGhpcy5fcHJlc2Vu
dGF0aW9uTW9kZWwuY2FuRWRpdFNjcmlwdFNvdXJjZShyYXdTb3VyY2VDb2RlLnVpU291cmNlQ29k
ZSk7CisgICAgICAgIHJldHVybiB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5jYW5FZGl0U2NyaXB0
U291cmNlKHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy51aVNvdXJjZUNvZGUpOwogICAgIH0s
CiAKICAgICBzZXRDb250ZW50OiBmdW5jdGlvbihyZXNvdXJjZSwgY29udGVudCwgbWFqb3JDaGFu
Z2UsIHVzZXJDYWxsYmFjaykKQEAgLTU0Niw3ICs1NDYsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbFJlc291cmNlQmluZGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICByZXNvdXJjZS5yZXF1ZXN0Q29udGVu
dCh0aGlzLl9zZXRDb250ZW50V2l0aEluaXRpYWxDb250ZW50LmJpbmQodGhpcywgcmF3U291cmNl
Q29kZS51aVNvdXJjZUNvZGUsIGNvbnRlbnQsIHVzZXJDYWxsYmFjaykpOworICAgICAgICByZXNv
dXJjZS5yZXF1ZXN0Q29udGVudCh0aGlzLl9zZXRDb250ZW50V2l0aEluaXRpYWxDb250ZW50LmJp
bmQodGhpcywgcmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnVpU291cmNlQ29kZSwgY29udGVu
dCwgdXNlckNhbGxiYWNrKSk7CiAgICAgfSwKIAogICAgIF9zZXRDb250ZW50V2l0aEluaXRpYWxD
b250ZW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGNvbnRlbnQsIHVzZXJDYWxsYmFjaywgb2xk
Q29udGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlRmlsZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
RmlsZS5qcwppbmRleCA0ZGM4YmIxMzZmMDlmNzY4MjlhOWQ1YzE0NjBkZDU4OGNhMDVkMWNiLi4w
ZjQ3NjE1MTIzNjczYjk2NjJkNDZmMjdiYTRiY2QxMzY5MGE5NTJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZpbGUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGaWxlLmpzCkBAIC02NSwxMCArNjUs
OSBAQCBXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX2hhc05ld1NjcmlwdHMgPSB0cnVlOwogICAgIH0sCiAKLSAgICBnZXQgdWlTb3VyY2VDb2Rl
KCkKKyAgICBnZXQgc291cmNlTWFwcGluZygpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogY2xp
ZW50cyBzaG91bGQgdXNlIHNvdXJjZU1hcHBpbmcgZGlyZWN0bHkuCi0gICAgICAgIHJldHVybiB0
aGlzLl9zb3VyY2VNYXBwaW5nICYmIHRoaXMuX3NvdXJjZU1hcHBpbmcudWlTb3VyY2VDb2RlOwor
ICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlTWFwcGluZzsKICAgICB9LAogCiAgICAgc2V0Rm9y
bWF0dGVkOiBmdW5jdGlvbihmb3JtYXR0ZWQpCkBAIC05MCwxOCArODksNiBAQCBXZWJJbnNwZWN0
b3IuUmF3U291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVNvdXJj
ZU1hcHBpbmcoKTsKICAgICB9LAogCi0gICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IGZ1bmN0
aW9uKHJhd0xvY2F0aW9uKQotICAgIHsKLSAgICAgICAgLy8gRklYTUU6IGNsaWVudHMgc2hvdWxk
IHVzZSBzb3VyY2VNYXBwaW5nIGRpcmVjdGx5LgotICAgICAgICByZXR1cm4gdGhpcy5fc291cmNl
TWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihyYXdMb2NhdGlvbik7Ci0gICAgfSwKLQot
ICAgIHVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5O
dW1iZXIpCi0gICAgewotICAgICAgICAvLyBGSVhNRTogY2xpZW50cyBzaG91bGQgdXNlIHNvdXJj
ZU1hcHBpbmcgZGlyZWN0bHkuCi0gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VNYXBwaW5nLnVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uKGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7Ci0gICAgfSwK
LQogICAgIF9zY3JpcHRGb3JSYXdMb2NhdGlvbjogZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1u
TnVtYmVyKQogICAgIHsKICAgICAgICAgdmFyIGNsb3Nlc3RTY3JpcHQgPSB0aGlzLl9zY3JpcHRz
WzBdOwo=
</data>
<flag name="review"
          id="105034"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>