<?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>56252</bug_id>
          
          <creation_ts>2011-03-12 09:14:18 -0800</creation_ts>
          <short_desc>Web Inspector: re-implement xhr breakpoints</short_desc>
          <delta_ts>2011-03-15 09:33:40 -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>
          <dependson>56313</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>366587</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-12 09:14:18 -0800</bug_when>
    <thetext>Web Inspector: re-implement xhr breakpoints

- restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
- store xhr breakpoints in a separate separate setting
- move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366589</commentid>
    <comment_count>1</comment_count>
      <attachid>85595</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-12 09:16:56 -0800</bug_when>
    <thetext>Created attachment 85595
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366997</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-14 08:28:36 -0700</bug_when>
    <thetext>Committed r81026: &lt;http://trac.webkit.org/changeset/81026&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367017</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-14 09:37:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81026 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367705</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-15 09:33:40 -0700</bug_when>
    <thetext>Committed r81136: &lt;http://trac.webkit.org/changeset/81136&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85595</attachid>
            <date>2011-03-12 09:16:56 -0800</date>
            <delta_ts>2011-03-14 07:50:05 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>34873</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMTk1ZWZkLi5jNWM5NGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMt
MTIgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmUt
aW1wbGVtZW50IHhociBicmVha3BvaW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU2MjUyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIv
eGhyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9y
L2RlYnVnZ2VyL3hoci1icmVha3BvaW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgor
CiAyMDExLTAzLTEwICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kZWJ1Z2dlci94aHItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwM2EyMGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyBYSFIgYnJlYWtwb2ludHMuCisKK0RlYnVnZ2Vy
IHdhcyBlbmFibGVkLgorCitSdW5uaW5nOiB0ZXN0WEhSQnJlYWtwb2ludAorU2NyaXB0IGV4ZWN1
dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIHNlbmRSZXF1ZXN0ICh4aHItYnJlYWtw
b2ludHMuaHRtbDoxMSkKKyAgICAxKSAgKDoxKQorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgor
CitSdW5uaW5nOiB0ZXN0UGF1c2VPbkFueVhIUgorRGVidWdnZXIgd2FzIGRpc2FibGVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI4YWIzZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci94aHItYnJlYWtwb2ludHMu
aHRtbApAQCAtMCwwICsxLDgyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHNlbmRSZXF1ZXN0KHVybCkKK3sKKyAgICB2YXIg
cmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiR0VUIiwg
dXJsLCB0cnVlKTsKKyAgICByZXF1ZXN0LnNlbmQoKQorfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICB2YXIgcGFuZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5zaWRlYmFyUGFuZXMu
eGhyQnJlYWtwb2ludHM7CisgICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShb
CisgICAgICAgIGZ1bmN0aW9uIHRlc3RYSFJCcmVha3BvaW50KG5leHQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHBhbmUuX3NldEJyZWFrcG9pbnQoImZvbyIsIHRydWUpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDEpOworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJzZW5kUmVxdWVzdCgnL2Zvbz9hPWIn
KSIpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShjYWxsRnJhbWVzKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2Fs
bEZyYW1lcyk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24o
c3RlcDIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgic2VuZFJlcXVlc3QoJy9iYXI/YT1iJykiLCBzdGVwMyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBwYW5lLl9yZW1vdmVCcmVha3BvaW50KCJmb28iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZW5kUmVxdWVzdCgnL2Zvbz9hPWInKSIsIG5leHQpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RQYXVzZU9u
QW55WEhSKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBhbmUuX3NldEJyZWFrcG9pbnQo
IiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2VuZFJlcXVl
c3QoJy9mb28/YT1iJykiLCBwYXVzZWRGb28pOworCisgICAgICAgICAgICBmdW5jdGlvbiBwYXVz
ZWRGb28oY2FsbEZyYW1lcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBmdW5jdGlv
biByZXN1bWVkKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNlbmRSZXF1ZXN0KCcvYmFyP2E9YicpIiwgcGF1c2Vk
QmFyKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5y
ZXN1bWVFeGVjdXRpb24ocmVzdW1lZCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHBhdXNlZEJhcihjYWxsRnJhbWVzKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlc3VtZWQoKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgcGFuZS5fcmVtb3ZlQnJlYWtwb2ludCgiIik7CisgICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNlbmRSZXF1ZXN0KCcvYmF6P2E9YicpIiwgbmV4
dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucmVz
dW1lRXhlY3V0aW9uKHJlc3VtZWQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgXSk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD4KK1Rlc3RzIFhIUiBicmVha3BvaW50cy4KKzwvcD4KKworPGRpdiBpZD0icm9vdEVsZW1lbnQi
PgorPGRpdiBpZD0iZWxlbWVudFRvUmVtb3ZlIj48L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDcxOWQxNGQuLjcxMmE4MjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0xMTY0LDYgKzExNjQsNyBAQCBzcHV0bmlrL1Vu
aWNvZGUvVW5pY29kZV81MTAvUzcuNl9BNS4zX1QyLmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzMzIKIGluc3BlY3Rvci9kZWJ1Z2dlci9kb20tYnJl
YWtwb2ludHMuaHRtbAoraW5zcGVjdG9yL2RlYnVnZ2VyL3hoci1icmVha3BvaW50cy5odG1sCiAK
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzAwCiBpbnNwZWN0
b3IvZGVidWdnZXIvbGl2ZS1lZGl0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXgg
OTdhODE2MS4uNzUxZGY3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTIzMyw2ICsy
MzMsNyBAQCBhbmltYXRpb25zL3BsYXktc3RhdGUuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMzMgogaW5zcGVjdG9yL2RlYnVnZ2VyL2RvbS1icmVh
a3BvaW50cy5odG1sCitpbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLmh0bWwKIAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3BlY3Rv
ci9kZWJ1Z2dlci9saXZlLWVkaXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMmNm
ZDBjMS4uMGI2YmVhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xMDEsNiArMTAxLDcg
QEAgZmFzdC90ZXh0L2h5cGhlbnMuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MzMzMgogaW5zcGVjdG9yL2RlYnVnZ2VyL2RvbS1icmVha3BvaW50cy5o
dG1sCitpbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLmh0bWwKIAogIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3BlY3Rvci9kZWJ1Z2dl
ci9saXZlLWVkaXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBkNDc0ZDhiLi42
NmEyNjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTA4OCw2ICsxMDg4LDcgQEAg
aHR0cC90ZXN0cy9hcHBjYWNoZS9vcmlnaW4tcXVvdGEuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMzMgogaW5zcGVjdG9yL2RlYnVnZ2VyL2RvbS1i
cmVha3BvaW50cy5odG1sCitpbnNwZWN0b3IvZGVidWdnZXIveGhyLWJyZWFrcG9pbnRzLmh0bWwK
IAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3Bl
Y3Rvci9kZWJ1Z2dlci9saXZlLWVkaXQuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ4OTI3OWEuLjVlOTBh
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxMS0wMy0xMiAgUGF2ZWwgUG9kaXZp
bG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZS1pbXBsZW1lbnQgeGhyIGJy
ZWFrcG9pbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTYyNTIKKworICAgICAgICAtIHJlc3RvcmUgeGhyIGJyZWFrcG9pbnRzIG9uZSBieSBvbmUg
aW5zdGVhZCBvZiB1c2luZyBzZXRBbGxCcm93c2VyQnJlYWtwb2ludHMKKyAgICAgICAgLSBzdG9y
ZSB4aHIgYnJlYWtwb2ludHMgaW4gYSBzZXBhcmF0ZSBzZXR0aW5nCisgICAgICAgIC0gbW92ZSBw
cmVzZW50YXRpb24tcmVsYXRlZCBjb2RlIGZyb20gQnJlYWtwb2ludE1hbmFnZXIgdG8gWEhSQnJl
YWtwb2ludHNTaWRlYmFyUGFuZQorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kZWJ1Z2dlci94
aHItYnJlYWtwb2ludHMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJyb3dzZXJE
ZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6aW5zcGVjdGVkVVJMQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6cmVz
dG9yZVN0aWNreUJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQ6OnNldFhIUkJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnJlbW92ZVhIUkJyZWFrcG9pbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OndpbGxTZW5kWE1MSHR0
cFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdl
bnQ6OmNsZWFyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRNYW5hZ2Vy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5z
ZXRYSFJCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdl
ci5wcm90b3R5cGUucmVtb3ZlWEhSQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
QnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLmJyZWFrcG9pbnRWaWV3Rm9yRXZlbnREYXRhKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90b3R5cGUuX3Byb2pl
Y3RDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90
b3R5cGUuX3ZhbGlkYXRlQnJlYWtwb2ludHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fY3JlYXRlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRJZCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9h
ZGRCdXR0b25DbGlja2VkLmZpbmlzaEVkaXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlhI
UkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9hZGRCdXR0b25DbGlja2VkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5f
c2V0QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX3JlbW92ZUJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9jb250ZXh0TWVudS5yZW1v
dmVCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGVi
YXJQYW5lLnByb3RvdHlwZS5fY29udGV4dE1lbnUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlhI
UkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9jaGVja2JveENsaWNrZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9s
YWJlbENsaWNrZWQuZmluaXNoRWRpdGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuWEhSQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2xhYmVsQ2xpY2tlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuaGlnaGxpZ2h0
QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFy
UGFuZS5wcm90b3R5cGUuY2xlYXJCcmVha3BvaW50SGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fc2F2ZUJyZWFrcG9p
bnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnBy
b3RvdHlwZS5fcmVzdG9yZUJyZWFrcG9pbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5YSFJC
cmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fcHJvamVjdENoYW5nZWQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLl94aHJC
cmVha3BvaW50SGl0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2RlYnVnZ2VyUGF1c2VkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9jbGVhckludGVyZmFjZSk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IucmVzZXRGb2N1c0VsZW1lbnQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLnNldCBhdHRhY2hlZCk6CisKIDIwMTEtMDMtMTEgIFJvbGFuZCBT
dGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgUnlvc3VrZSBOaXdhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggMGNiYTc3NS4uYjYyZDQ3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QnJvd3NlckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC02NCw2ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogbmFtZXNwYWNlIEJyb3dzZXJEZWJ1Z2dlckFnZW50U3RhdGUgewogc3RhdGljIGNv
bnN0IGNoYXIgYnJvd3NlckJyZWFrcG9pbnRzW10gPSAiYnJvd3NlckJyZWFrcG9pbnRzIjsKK3N0
YXRpYyBjb25zdCBjaGFyIHBhdXNlT25BbGxYSFJzW10gPSAicGF1c2VPbkFsbFhIUnMiOworc3Rh
dGljIGNvbnN0IGNoYXIgeGhyQnJlYWtwb2ludHNbXSA9ICJ4aHJCcmVha3BvaW50cyI7CiB9CiAK
IFBhc3NPd25QdHI8SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ+IEluc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbnNwZWN0b3JET01BZ2Vu
dCogZG9tQWdlbnQsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQsIEluc3Bl
Y3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCkKQEAgLTc3LDcgKzc5LDYgQEAgSW5zcGVjdG9yQnJv
d3NlckRlYnVnZ2VyQWdlbnQ6Okluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMKICAgICAsIG1fZG9tQWdlbnQoZG9tQWdlbnQpCiAgICAgLCBtX2RlYnVnZ2Vy
QWdlbnQoZGVidWdnZXJBZ2VudCkKICAgICAsIG1faW5zcGVjdG9yQWdlbnQoaW5zcGVjdG9yQWdl
bnQpCi0gICAgLCBtX2hhc1hIUkJyZWFrcG9pbnRXaXRoRW1wdHlVUkwoZmFsc2UpCiB7CiAgICAg
bV9kZWJ1Z2dlckFnZW50LT5zZXRMaXN0ZW5lcih0aGlzKTsKIH0KQEAgLTEyNyw4ICsxMjgsNiBA
QCB2b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpzZXRBbGxCcm93c2VyQnJlYWtw
b2ludHMoRXJyb3JTdHJpbmcqLCBQYXNzUgogdm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJB
Z2VudDo6aW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBtX2V2
ZW50TGlzdGVuZXJCcmVha3BvaW50cy5jbGVhcigpOwotICAgIG1fWEhSQnJlYWtwb2ludHMuY2xl
YXIoKTsKLSAgICBtX2hhc1hIUkJyZWFrcG9pbnRXaXRoRW1wdHlVUkwgPSBmYWxzZTsKIAogICAg
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGFsbEJyZWFrcG9pbnRzID0gbV9pbnNwZWN0b3JTdGF0
ZS0+Z2V0T2JqZWN0KEJyb3dzZXJEZWJ1Z2dlckFnZW50U3RhdGU6OmJyb3dzZXJCcmVha3BvaW50
cyk7CiAgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBicmVha3BvaW50cyA9IGFsbEJyZWFrcG9p
bnRzLT5nZXRBcnJheSh1cmwpOwpAQCAtMTYwLDEzICsxNTksNiBAQCB2b2lkIEluc3BlY3RvckJy
b3dzZXJEZWJ1Z2dlckFnZW50OjpyZXN0b3JlU3RpY2t5QnJlYWtwb2ludChQYXNzUmVmUHRyPElu
c3BlY3RvcgogICAgICAgICBpZiAoIWNvbmRpdGlvbi0+Z2V0U3RyaW5nKCJldmVudE5hbWUiLCAm
ZXZlbnROYW1lKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgc2V0RXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnQoJmVycm9yLCBldmVudE5hbWUpOwotICAgIH0gZWxzZSBpZiAodHlwZSA9PSB4
aHJOYXRpdmVCcmVha3BvaW50VHlwZSkgewotICAgICAgICBpZiAoIWVuYWJsZWQpCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIFN0cmluZyB1cmw7Ci0gICAgICAgIGlmICghY29uZGl0aW9u
LT5nZXRTdHJpbmcoInVybCIsICZ1cmwpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBz
ZXRYSFJCcmVha3BvaW50KCZlcnJvciwgdXJsKTsKICAgICB9CiB9CiAKQEAgLTM2OSwxOCArMzYx
LDI2IEBAIHZvaWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnBhdXNlT25OYXRpdmVF
dmVudElmTmVlZGVkKGNvbnN0IFN0cmluZyYgY2F0CiAKIHZvaWQgSW5zcGVjdG9yQnJvd3NlckRl
YnVnZ2VyQWdlbnQ6OnNldFhIUkJyZWFrcG9pbnQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcm
IHVybCkKIHsKLSAgICBpZiAodXJsLmlzRW1wdHkoKSkKLSAgICAgICAgbV9oYXNYSFJCcmVha3Bv
aW50V2l0aEVtcHR5VVJMID0gdHJ1ZTsKLSAgICBlbHNlCi0gICAgICAgIG1fWEhSQnJlYWtwb2lu
dHMuYWRkKHVybCk7CisgICAgaWYgKHVybC5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV9pbnNwZWN0
b3JTdGF0ZS0+c2V0Qm9vbGVhbihCcm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjpwYXVzZU9uQWxs
WEhScywgdHJ1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiB4aHJCcmVha3BvaW50cyA9IG1faW5zcGVjdG9yU3RhdGUtPmdldE9iamVjdChC
cm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjp4aHJCcmVha3BvaW50cyk7CisgICAgeGhyQnJlYWtw
b2ludHMtPnNldEJvb2xlYW4odXJsLCB0cnVlKTsKKyAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRP
YmplY3QoQnJvd3NlckRlYnVnZ2VyQWdlbnRTdGF0ZTo6eGhyQnJlYWtwb2ludHMsIHhockJyZWFr
cG9pbnRzKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6cmVtb3Zl
WEhSQnJlYWtwb2ludChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdXJsKQogewotICAgIGlm
ICh1cmwuaXNFbXB0eSgpKQotICAgICAgICBtX2hhc1hIUkJyZWFrcG9pbnRXaXRoRW1wdHlVUkwg
PSBmYWxzZTsKLSAgICBlbHNlCi0gICAgICAgIG1fWEhSQnJlYWtwb2ludHMucmVtb3ZlKHVybCk7
CisgICAgaWYgKHVybC5pc0VtcHR5KCkpIHsKKyAgICAgICAgbV9pbnNwZWN0b3JTdGF0ZS0+c2V0
Qm9vbGVhbihCcm93c2VyRGVidWdnZXJBZ2VudFN0YXRlOjpwYXVzZU9uQWxsWEhScywgZmFsc2Up
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
eGhyQnJlYWtwb2ludHMgPSBtX2luc3BlY3RvclN0YXRlLT5nZXRPYmplY3QoQnJvd3NlckRlYnVn
Z2VyQWdlbnRTdGF0ZTo6eGhyQnJlYWtwb2ludHMpOworICAgIHhockJyZWFrcG9pbnRzLT5yZW1v
dmUodXJsKTsKKyAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRPYmplY3QoQnJvd3NlckRlYnVnZ2Vy
QWdlbnRTdGF0ZTo6eGhyQnJlYWtwb2ludHMsIHhockJyZWFrcG9pbnRzKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6d2lsbFNlbmRYTUxIdHRwUmVxdWVzdChjb25z
dCBTdHJpbmcmIHVybCkKQEAgLTM5MCwxMiArMzkwLDEzIEBAIHZvaWQgSW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQ6OndpbGxTZW5kWE1MSHR0cFJlcXVlc3QoY29uc3QgU3RyaW5nJiB1cmwp
CiAgICAgICAgIHJldHVybjsKIAogICAgIFN0cmluZyBicmVha3BvaW50VVJMOwotICAgIGlmICht
X2hhc1hIUkJyZWFrcG9pbnRXaXRoRW1wdHlVUkwpCisgICAgaWYgKG1faW5zcGVjdG9yU3RhdGUt
PmdldEJvb2xlYW4oQnJvd3NlckRlYnVnZ2VyQWdlbnRTdGF0ZTo6cGF1c2VPbkFsbFhIUnMpKQog
ICAgICAgICBicmVha3BvaW50VVJMID0gIiI7CiAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAoSGFz
aFNldDxTdHJpbmc+OjppdGVyYXRvciBpdCA9IG1fWEhSQnJlYWtwb2ludHMuYmVnaW4oKTsgaXQg
IT0gbV9YSFJCcmVha3BvaW50cy5lbmQoKTsgKytpdCkgewotICAgICAgICAgICAgaWYgKHVybC5j
b250YWlucygqaXQpKSB7Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludFVSTCA9ICppdDsKKyAg
ICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4geGhyQnJlYWtwb2ludHMgPSBtX2luc3BlY3Rv
clN0YXRlLT5nZXRPYmplY3QoQnJvd3NlckRlYnVnZ2VyQWdlbnRTdGF0ZTo6eGhyQnJlYWtwb2lu
dHMpOworICAgICAgICBmb3IgKEluc3BlY3Rvck9iamVjdDo6aXRlcmF0b3IgaXQgPSB4aHJCcmVh
a3BvaW50cy0+YmVnaW4oKTsgaXQgIT0geGhyQnJlYWtwb2ludHMtPmVuZCgpOyArK2l0KSB7Cisg
ICAgICAgICAgICBpZiAodXJsLmNvbnRhaW5zKGl0LT5maXJzdCkpIHsKKyAgICAgICAgICAgICAg
ICBicmVha3BvaW50VVJMID0gaXQtPmZpcnN0OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CkBAIC00MTUsOCArNDE2LDYgQEAgdm9pZCBJbnNwZWN0b3JC
cm93c2VyRGVidWdnZXJBZ2VudDo6Y2xlYXIoKQogewogICAgIG1fZG9tQnJlYWtwb2ludHMuY2xl
YXIoKTsKICAgICBtX2V2ZW50TGlzdGVuZXJCcmVha3BvaW50cy5jbGVhcigpOwotICAgIG1fWEhS
QnJlYWtwb2ludHMuY2xlYXIoKTsKLSAgICBtX2hhc1hIUkJyZWFrcG9pbnRXaXRoRW1wdHlVUkwg
PSBmYWxzZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaAppbmRl
eCA3YzBiYzhkLi43ZmQyZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaApAQCAtMTA5LDggKzEwOSw2IEBA
IHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAgICAgSGFz
aE1hcDxOb2RlKiwgdWludDMyX3Q+IG1fZG9tQnJlYWtwb2ludHM7CiAgICAgSGFzaFNldDxTdHJp
bmc+IG1fZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzOwotICAgIEhhc2hTZXQ8U3RyaW5nPiBtX1hI
UkJyZWFrcG9pbnRzOwotICAgIGJvb2wgbV9oYXNYSFJCcmVha3BvaW50V2l0aEVtcHR5VVJMOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanMKaW5kZXggYjYyODIwZS4u
NzVhZTc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9C
cmVha3BvaW50TWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0JyZWFrcG9pbnRNYW5hZ2VyLmpzCkBAIC01Miw3ICs1Miw2IEBAIFdlYkluc3BlY3Rvci5C
cmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMgPSB7CiBXZWJJbnNwZWN0b3IuQnJlYWtw
b2ludE1hbmFnZXIuRXZlbnRzID0gewogICAgIERPTUJyZWFrcG9pbnRBZGRlZDogImRvbS1icmVh
a3BvaW50LWFkZGVkIiwKICAgICBFdmVudExpc3RlbmVyQnJlYWtwb2ludEFkZGVkOiAiZXZlbnQt
bGlzdGVuZXItYnJlYWtwb2ludC1hZGRlZCIsCi0gICAgWEhSQnJlYWtwb2ludEFkZGVkOiAieGhy
LWJyZWFrcG9pbnQtYWRkZWQiLAogICAgIFByb2plY3RDaGFuZ2VkOiAicHJvamVjdC1jaGFuZ2Vk
IgogfQogCkBAIC05OSwyMiArOTgsMTQgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2Vy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5FdmVudExpc3RlbmVyQnJlYWtwb2lu
dEFkZGVkLCBicmVha3BvaW50LnZpZXcpOwogICAgIH0sCiAKLSAgICBjcmVhdGVYSFJCcmVha3Bv
aW50OiBmdW5jdGlvbih1cmwpCisgICAgc2V0WEhSQnJlYWtwb2ludDogZnVuY3Rpb24odXJsKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fY3JlYXRlWEhSQnJlYWtwb2ludCh1cmwsIHRydWUsIGZhbHNl
KTsKKyAgICAgICAgQnJvd3NlckRlYnVnZ2VyQWdlbnQuc2V0WEhSQnJlYWtwb2ludCh1cmwpOwog
ICAgIH0sCiAKLSAgICBfY3JlYXRlWEhSQnJlYWtwb2ludDogZnVuY3Rpb24odXJsLCBlbmFibGVk
LCByZXN0b3JlZCkKKyAgICByZW1vdmVYSFJCcmVha3BvaW50OiBmdW5jdGlvbih1cmwpCiAgICAg
ewotICAgICAgICB2YXIgYnJlYWtwb2ludElkID0gdGhpcy5fY3JlYXRlWEhSQnJlYWtwb2ludElk
KHVybCk7Ci0gICAgICAgIGlmIChicmVha3BvaW50SWQgaW4gdGhpcy5fYnJlYWtwb2ludHMpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBuZXcgV2ViSW5z
cGVjdG9yLlhIUkJyZWFrcG9pbnQodXJsKTsKLSAgICAgICAgdGhpcy5fc2V0QnJlYWtwb2ludChi
cmVha3BvaW50SWQsIGJyZWFrcG9pbnQsIGVuYWJsZWQsIHJlc3RvcmVkKTsKLQotICAgICAgICBi
cmVha3BvaW50LnZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRWaWV3KHRoaXMs
IGJyZWFrcG9pbnRJZCwgZW5hYmxlZCwgdXJsKTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5YSFJCcmVh
a3BvaW50QWRkZWQsIGJyZWFrcG9pbnQudmlldyk7CisgICAgICAgIEJyb3dzZXJEZWJ1Z2dlckFn
ZW50LnJlbW92ZVhIUkJyZWFrcG9pbnQodXJsKTsKICAgICB9LAogCiAgICAgX3NldEJyZWFrcG9p
bnQ6IGZ1bmN0aW9uKGJyZWFrcG9pbnRJZCwgYnJlYWtwb2ludCwgZW5hYmxlZCwgcmVzdG9yZWQp
CkBAIC0xNTcsOCArMTQ4LDYgQEAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGJyZWFrcG9pbnRJZCA9IHRoaXMuX2NyZWF0ZURPTUJyZWFr
cG9pbnRJZChldmVudERhdGEubm9kZUlkLCBldmVudERhdGEudHlwZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGV2ZW50RGF0YS5icmVha3BvaW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRN
YW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5FdmVudExpc3RlbmVyKQogICAgICAgICAgICAgYnJlYWtw
b2ludElkID0gdGhpcy5fY3JlYXRlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRJZChldmVudERhdGEu
ZXZlbnROYW1lKTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnREYXRhLmJyZWFrcG9pbnRUeXBlID09
PSBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuQnJlYWtwb2ludFR5cGVzLlhIUikKLSAg
ICAgICAgICAgIGJyZWFrcG9pbnRJZCA9IHRoaXMuX2NyZWF0ZVhIUkJyZWFrcG9pbnRJZChldmVu
dERhdGEuYnJlYWtwb2ludFVSTCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybjsK
IApAQCAtMjAyLDggKzE5MSw2IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IGJyZWFrcG9pbnRzW2ldOwog
ICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9p
bnRNYW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5FdmVudExpc3RlbmVyKQogICAgICAgICAgICAgICAg
IHRoaXMuX2NyZWF0ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KGJyZWFrcG9pbnQuY29uZGl0aW9u
LmV2ZW50TmFtZSwgYnJlYWtwb2ludC5lbmFibGVkLCB0cnVlKTsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKGJyZWFrcG9pbnQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJy
ZWFrcG9pbnRUeXBlcy5YSFIpCi0gICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlWEhSQnJlYWtw
b2ludChicmVha3BvaW50LmNvbmRpdGlvbi51cmwsIGJyZWFrcG9pbnQuZW5hYmxlZCwgdHJ1ZSk7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX2JyZWFrcG9pbnRzUHVzaGVkVG9Gcm9u
dGVuZCkgewpAQCAtMjkyLDEyICsyNzksOSBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFn
ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY29uZGl0aW9uLmV2
ZW50TmFtZSAhPT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgICAgIGlkICs9IGNvbmRpdGlvbi5ldmVudE5hbWU7Ci0gICAgICAgICAgICB9IGVs
c2UgaWYgKGJyZWFrcG9pbnQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2Vy
LkJyZWFrcG9pbnRUeXBlcy5YSFIpIHsKLSAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbmRp
dGlvbi51cmwgIT09ICJzdHJpbmciKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgICAgICBpZCArPSBjb25kaXRpb24udXJsOwogICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGlmIChpZCBpbiBicmVha3Bv
aW50c1NldCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGJyZWFrcG9p
bnRzU2V0W2lkXSA9IHRydWU7CkBAIC0zMTQsMTEgKzI5OCw2IEBAIFdlYkluc3BlY3Rvci5CcmVh
a3BvaW50TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgX2NyZWF0ZUV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50SWQ6IGZ1bmN0aW9uKGV2ZW50TmFtZSkKICAgICB7CiAgICAgICAgIHJldHVybiAiZXZl
bnRMaXN0bmVyOiIgKyBldmVudE5hbWU7Ci0gICAgfSwKLQotICAgIF9jcmVhdGVYSFJCcmVha3Bv
aW50SWQ6IGZ1bmN0aW9uKHVybCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAieGhyOiIgKyB1cmw7
CiAgICAgfQogfQogCkBAIC0zNzIsMzAgKzM1MSw2IEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3Rl
bmVyQnJlYWtwb2ludC5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1XZWJJbnNwZWN0b3IuWEhS
QnJlYWtwb2ludCA9IGZ1bmN0aW9uKHVybCkKLXsKLSAgICB0aGlzLl91cmwgPSB1cmw7Ci19Ci0K
LVdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50LnByb3RvdHlwZSA9IHsKLSAgICBfZW5hYmxlOiBm
dW5jdGlvbigpCi0gICAgewotICAgICAgICBCcm93c2VyRGVidWdnZXJBZ2VudC5zZXRYSFJCcmVh
a3BvaW50KHRoaXMuX3VybCk7Ci0gICAgfSwKLQotICAgIF9kaXNhYmxlOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICBCcm93c2VyRGVidWdnZXJBZ2VudC5yZW1vdmVYSFJCcmVha3BvaW50KHRo
aXMuX3VybCk7Ci0gICAgfSwKLQotICAgIF9zZXJpYWxpemVUb0pTT046IGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciB0eXBlID0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJy
ZWFrcG9pbnRUeXBlcy5YSFI7Ci0gICAgICAgIHJldHVybiB7IHR5cGU6IHR5cGUsIGNvbmRpdGlv
bjogeyB1cmw6IHRoaXMuX3VybCB9IH07Ci0gICAgfQotfQotCi0KIAogV2ViSW5zcGVjdG9yLk5h
dGl2ZUJyZWFrcG9pbnRWaWV3ID0gZnVuY3Rpb24obWFuYWdlciwgaWQsIGVuYWJsZWQpCiB7CkBA
IC01NzgsNDMgKzUzMyw2IEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludFZp
ZXcucHJvdG90eXBlID0gewogCiBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRW
aWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludFZp
ZXcucHJvdG90eXBlOwogCi1XZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludFZpZXcgPSBmdW5jdGlv
bihtYW5hZ2VyLCBpZCwgZW5hYmxlZCwgdXJsKQotewotICAgIFdlYkluc3BlY3Rvci5OYXRpdmVC
cmVha3BvaW50Vmlldy5jYWxsKHRoaXMsIG1hbmFnZXIsIGlkLCBlbmFibGVkKTsKLSAgICB0aGlz
Ll91cmwgPSB1cmw7Ci19Ci0KLVdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50Vmlldy5wcm90b3R5
cGUgPSB7Ci0gICAgY29tcGFyZVRvOiBmdW5jdGlvbihvdGhlcikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9jb21wYXJlKHRoaXMuX3VybCwgb3RoZXIuX3VybCk7Ci0gICAgfSwKLQotICAg
IHBvcHVsYXRlRWRpdEVsZW1lbnQ6IGZ1bmN0aW9uKGVsZW1lbnQpCi0gICAgewotICAgICAgICBl
bGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5fdXJsOwotICAgIH0sCi0KLSAgICBwb3B1bGF0ZUxh
YmVsRWxlbWVudDogZnVuY3Rpb24oZWxlbWVudCkKLSAgICB7Ci0gICAgICAgIHZhciBsYWJlbDsK
LSAgICAgICAgaWYgKCF0aGlzLl91cmwubGVuZ3RoKQotICAgICAgICAgICAgbGFiZWwgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkFueSBYSFIiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
bGFiZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlVSTCBjb250YWlucyBcIiVzXCIiLCB0aGlz
Ll91cmwpOwotICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKGxhYmVsKSk7Ci0gICAgICAgIGVsZW1lbnQuYWRkU3R5bGVDbGFzcygiY3Vyc29yLWF1dG8i
KTsKLSAgICB9LAotCi0gICAgcG9wdWxhdGVTdGF0dXNNZXNzYWdlRWxlbWVudDogZnVuY3Rpb24o
ZWxlbWVudCkKLSAgICB7Ci0gICAgICAgIHZhciBzdGF0dXMgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlBhdXNlZCBvbiBhIFhNTEh0dHBSZXF1ZXN0LiIpOwotICAgICAgICBlbGVtZW50LmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0YXR1cykpOwotICAgIH0KLX0KLQotV2Vi
SW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuTmF0aXZlQnJlYWtwb2ludFZpZXcucHJvdG90eXBlOwotCiBXZWJJbnNwZWN0b3IuRE9N
QnJlYWtwb2ludFR5cGVzID0gewogICAgIFN1YnRyZWVNb2RpZmllZDogMCwKICAgICBBdHRyaWJ1
dGVNb2RpZmllZDogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwppbmRleCA1YmI3ZjA0Li43MzI3
ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFr
cG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC0yNzYsNjEgKzI3NiwxNzcgQEAgV2Vi
SW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBmdW5jdGlvbigpCiB7CiAgICAg
V2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuY2FsbCh0aGlzLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlhIUiBCcmVha3BvaW50cyIpKTsKIAotICAgIGZ1bmN0aW9uIGFk
ZEJ1dHRvbkNsaWNrZWQoZXZlbnQpCi0gICAgewotICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRp
b24oKTsKLSAgICAgICAgdGhpcy5fc3RhcnRFZGl0aW5nQnJlYWtwb2ludChudWxsKTsKLSAgICB9
CisgICAgdGhpcy5fYnJlYWtwb2ludEVsZW1lbnRzID0ge307CiAKICAgICB2YXIgYWRkQnV0dG9u
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CiAgICAgYWRkQnV0dG9uLmNsYXNz
TmFtZSA9ICJhZGQiOwotICAgIGFkZEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFk
ZEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIGFkZEJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2FkZEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFs
c2UpOwogICAgIHRoaXMudGl0bGVFbGVtZW50LmFwcGVuZENoaWxkKGFkZEJ1dHRvbik7CisKKyAg
ICB0aGlzLl9yZXN0b3JlQnJlYWtwb2ludHMoKTsKIH0KIAogV2ViSW5zcGVjdG9yLlhIUkJyZWFr
cG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewotICAgIGFkZEJyZWFrcG9pbnRJdGVtOiBm
dW5jdGlvbihicmVha3BvaW50SXRlbSkKKyAgICBfYWRkQnV0dG9uQ2xpY2tlZDogZnVuY3Rpb24o
ZXZlbnQpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludHNTaWRl
YmFyUGFuZS5wcm90b3R5cGUuYWRkQnJlYWtwb2ludEl0ZW0uY2FsbCh0aGlzLCBicmVha3BvaW50
SXRlbSk7Ci0gICAgICAgIGJyZWFrcG9pbnRJdGVtLl9sYWJlbEVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiZGJsY2xpY2siLCB0aGlzLl9zdGFydEVkaXRpbmdCcmVha3BvaW50LmJpbmQodGhpcywg
YnJlYWtwb2ludEl0ZW0pLCBmYWxzZSk7CisgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigp
OworCisgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlOworCisgICAgICAgIHZhciBpbnB1dEVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIGlucHV0RWxl
bWVudC5jbGFzc05hbWUgPSAiYnJlYWtwb2ludC1jb25kaXRpb24gZWRpdGluZyI7CisgICAgICAg
IHRoaXMuX2FkZExpc3RFbGVtZW50KGlucHV0RWxlbWVudCwgdGhpcy5saXN0RWxlbWVudC5maXJz
dENoaWxkKTsKKworICAgICAgICBmdW5jdGlvbiBmaW5pc2hFZGl0aW5nKGFjY2VwdCwgZSwgdGV4
dCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlTGlzdEVsZW1lbnQoaW5wdXRF
bGVtZW50KTsKKyAgICAgICAgICAgIGlmIChhY2NlcHQpIHsKKyAgICAgICAgICAgICAgICB0aGlz
Ll9zZXRCcmVha3BvaW50KHRleHQsIHRydWUpOworICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVC
cmVha3BvaW50cygpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgV2ViSW5z
cGVjdG9yLnN0YXJ0RWRpdGluZyhpbnB1dEVsZW1lbnQsIHsKKyAgICAgICAgICAgIGNvbW1pdEhh
bmRsZXI6IGZpbmlzaEVkaXRpbmcuYmluZCh0aGlzLCB0cnVlKSwKKyAgICAgICAgICAgIGNhbmNl
bEhhbmRsZXI6IGZpbmlzaEVkaXRpbmcuYmluZCh0aGlzLCBmYWxzZSkKKyAgICAgICAgfSk7CiAg
ICAgfSwKIAotICAgIF9zdGFydEVkaXRpbmdCcmVha3BvaW50OiBmdW5jdGlvbihicmVha3BvaW50
SXRlbSkKKyAgICBfc2V0QnJlYWtwb2ludDogZnVuY3Rpb24odXJsLCBlbmFibGVkKQogICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX2VkaXRpbmdCcmVha3BvaW50KQorICAgICAgICBpZiAodXJsIGlu
IHRoaXMuX2JyZWFrcG9pbnRFbGVtZW50cykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
dGhpcy5fZWRpdGluZ0JyZWFrcG9pbnQgPSB0cnVlOwogCi0gICAgICAgIGlmICghdGhpcy5leHBh
bmRlZCkKLSAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlOworICAgICAgICB2YXIgZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgIGVsZW1lbnQuX3Vy
bCA9IHVybDsKKyAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIs
IHRoaXMuX2NvbnRleHRNZW51LmJpbmQodGhpcywgdXJsKSwgdHJ1ZSk7CisKKyAgICAgICAgdmFy
IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CisgICAg
ICAgIGNoZWNrYm94RWxlbWVudC5jbGFzc05hbWUgPSAiY2hlY2tib3gtZWxlbSI7CisgICAgICAg
IGNoZWNrYm94RWxlbWVudC50eXBlID0gImNoZWNrYm94IjsKKyAgICAgICAgY2hlY2tib3hFbGVt
ZW50LmNoZWNrZWQgPSBlbmFibGVkOworICAgICAgICBjaGVja2JveEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCB0aGlzLl9jaGVja2JveENsaWNrZWQuYmluZCh0aGlzLCB1cmwpLCBm
YWxzZSk7CisgICAgICAgIGVsZW1lbnQuX2NoZWNrYm94RWxlbWVudCA9IGNoZWNrYm94RWxlbWVu
dDsKKyAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChjaGVja2JveEVsZW1lbnQpOworCisgICAg
ICAgIHZhciBsYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Cisg
ICAgICAgIGlmICghdXJsKQorICAgICAgICAgICAgbGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBbnkgWEhSIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGxhYmVsRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVVJM
IGNvbnRhaW5zIFwiJXNcIiIsIHVybCk7CisgICAgICAgIGxhYmVsRWxlbWVudC5hZGRTdHlsZUNs
YXNzKCJjdXJzb3ItYXV0byIpOworICAgICAgICBsYWJlbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigiZGJsY2xpY2siLCB0aGlzLl9sYWJlbENsaWNrZWQuYmluZCh0aGlzLCB1cmwpLCBmYWxzZSk7
CisgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobGFiZWxFbGVtZW50KTsKKworICAgICAgICB2
YXIgY3VycmVudEVsZW1lbnQgPSB0aGlzLmxpc3RFbGVtZW50LmZpcnN0Q2hpbGQ7CisgICAgICAg
IHdoaWxlIChjdXJyZW50RWxlbWVudCkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50
Ll91cmwgJiYgY3VycmVudEVsZW1lbnQuX3VybCA8IGVsZW1lbnQuX3VybCkKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gY3VycmVudEVsZW1lbnQu
bmV4dFNpYmxpbmc7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fYWRkTGlzdEVsZW1lbnQoZWxl
bWVudCwgY3VycmVudEVsZW1lbnQpOworICAgICAgICB0aGlzLl9icmVha3BvaW50RWxlbWVudHNb
dXJsXSA9IGVsZW1lbnQ7CisgICAgICAgIGlmIChlbmFibGVkKQorICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmJyZWFrcG9pbnRNYW5hZ2VyLnNldFhIUkJyZWFrcG9pbnQodXJsKTsKKyAgICB9LAog
CisgICAgX3JlbW92ZUJyZWFrcG9pbnQ6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIHZh
ciBlbGVtZW50ID0gdGhpcy5fYnJlYWtwb2ludEVsZW1lbnRzW3VybF07CisgICAgICAgIGlmICgh
ZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9yZW1vdmVMaXN0
RWxlbWVudChlbGVtZW50KTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2JyZWFrcG9pbnRFbGVtZW50
c1t1cmxdOworICAgICAgICBpZiAoZWxlbWVudC5fY2hlY2tib3hFbGVtZW50LmNoZWNrZWQpCisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIucmVtb3ZlWEhSQnJlYWtw
b2ludCh1cmwpOworICAgIH0sCisKKyAgICBfY29udGV4dE1lbnU6IGZ1bmN0aW9uKHVybCwgZXZl
bnQpCisgICAgeworICAgICAgICB2YXIgY29udGV4dE1lbnUgPSBuZXcgV2ViSW5zcGVjdG9yLkNv
bnRleHRNZW51KCk7CisgICAgICAgIGZ1bmN0aW9uIHJlbW92ZUJyZWFrcG9pbnQoKQorICAgICAg
ICB7CisgICAgICAgICAgICB0aGlzLl9yZW1vdmVCcmVha3BvaW50KHVybCk7CisgICAgICAgICAg
ICB0aGlzLl9zYXZlQnJlYWtwb2ludHMoKTsKKyAgICAgICAgfQorICAgICAgICBjb250ZXh0TWVu
dS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVtb3ZlIEJyZWFrcG9pbnQiKSwg
cmVtb3ZlQnJlYWtwb2ludC5iaW5kKHRoaXMpKTsKKyAgICAgICAgY29udGV4dE1lbnUuc2hvdyhl
dmVudCk7CisgICAgfSwKKworICAgIF9jaGVja2JveENsaWNrZWQ6IGZ1bmN0aW9uKHVybCwgZXZl
bnQpCisgICAgeworICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQpCisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIuc2V0WEhSQnJlYWtwb2ludCh1cmwpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIu
cmVtb3ZlWEhSQnJlYWtwb2ludCh1cmwpOworICAgICAgICB0aGlzLl9zYXZlQnJlYWtwb2ludHMo
KTsKKyAgICB9LAorCisgICAgX2xhYmVsQ2xpY2tlZDogZnVuY3Rpb24odXJsKQorICAgIHsKKyAg
ICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLl9icmVha3BvaW50RWxlbWVudHNbdXJsXTsKICAgICAg
ICAgdmFyIGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAg
ICAgICAgaW5wdXRFbGVtZW50LmNsYXNzTmFtZSA9ICJicmVha3BvaW50LWNvbmRpdGlvbiBlZGl0
aW5nIjsKLSAgICAgICAgaWYgKGJyZWFrcG9pbnRJdGVtKSB7Ci0gICAgICAgICAgICBicmVha3Bv
aW50SXRlbS5wb3B1bGF0ZUVkaXRFbGVtZW50KGlucHV0RWxlbWVudCk7Ci0gICAgICAgICAgICB0
aGlzLmxpc3RFbGVtZW50Lmluc2VydEJlZm9yZShpbnB1dEVsZW1lbnQsIGJyZWFrcG9pbnRJdGVt
LmVsZW1lbnQpOwotICAgICAgICAgICAgYnJlYWtwb2ludEl0ZW0uZWxlbWVudC5hZGRTdHlsZUNs
YXNzKCJoaWRkZW4iKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0aGlzLl9hZGRMaXN0
RWxlbWVudChpbnB1dEVsZW1lbnQsIHRoaXMubGlzdEVsZW1lbnQuZmlyc3RDaGlsZCk7CisgICAg
ICAgIGlucHV0RWxlbWVudC50ZXh0Q29udGVudCA9IHVybDsKKyAgICAgICAgdGhpcy5saXN0RWxl
bWVudC5pbnNlcnRCZWZvcmUoaW5wdXRFbGVtZW50LCBlbGVtZW50KTsKKyAgICAgICAgZWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKworICAgICAgICBmdW5jdGlvbiBmaW5pc2hFZGl0
aW5nKGFjY2VwdCwgZSwgdGV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy5fcmVtb3Zl
TGlzdEVsZW1lbnQoaW5wdXRFbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChhY2NlcHQpIHsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVCcmVha3BvaW50KHVybCk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fc2V0QnJlYWtwb2ludCh0ZXh0LCBlbGVtZW50Ll9jaGVja2JveEVsZW1lbnQuY2hl
Y2tlZCk7CisgICAgICAgICAgICAgICAgdGhpcy5fc2F2ZUJyZWFrcG9pbnRzKCk7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhp
ZGRlbiIpOworICAgICAgICB9CiAKLSAgICAgICAgdmFyIGNvbW1pdEhhbmRsZXIgPSB0aGlzLl9o
aWRlRWRpdEJyZWFrcG9pbnREaWFsb2cuYmluZCh0aGlzLCBpbnB1dEVsZW1lbnQsIHRydWUsIGJy
ZWFrcG9pbnRJdGVtKTsKLSAgICAgICAgdmFyIGNhbmNlbEhhbmRsZXIgPSB0aGlzLl9oaWRlRWRp
dEJyZWFrcG9pbnREaWFsb2cuYmluZCh0aGlzLCBpbnB1dEVsZW1lbnQsIGZhbHNlLCBicmVha3Bv
aW50SXRlbSk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcoaW5wdXRFbGVtZW50
LCB7Ci0gICAgICAgICAgICBjb21taXRIYW5kbGVyOiBjb21taXRIYW5kbGVyLAotICAgICAgICAg
ICAgY2FuY2VsSGFuZGxlcjogY2FuY2VsSGFuZGxlcgorICAgICAgICAgICAgY29tbWl0SGFuZGxl
cjogZmluaXNoRWRpdGluZy5iaW5kKHRoaXMsIHRydWUpLAorICAgICAgICAgICAgY2FuY2VsSGFu
ZGxlcjogZmluaXNoRWRpdGluZy5iaW5kKHRoaXMsIGZhbHNlKQogICAgICAgICB9KTsKICAgICB9
LAogCi0gICAgX2hpZGVFZGl0QnJlYWtwb2ludERpYWxvZzogZnVuY3Rpb24oaW5wdXRFbGVtZW50
LCBhY2NlcHQsIGJyZWFrcG9pbnRJdGVtKQorICAgIGhpZ2hsaWdodEJyZWFrcG9pbnQ6IGZ1bmN0
aW9uKHVybCkKKyAgICB7CisgICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5fYnJlYWtwb2ludEVs
ZW1lbnRzW3VybF07CisgICAgICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7CisgICAgICAgIGVsZW1lbnQuYWRkU3R5bGVD
bGFzcygiYnJlYWtwb2ludC1oaXQiKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRFbGVtZW50
ID0gZWxlbWVudDsKKyAgICB9LAorCisgICAgY2xlYXJCcmVha3BvaW50SGlnaGxpZ2h0OiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRFbGVtZW50KSB7Cisg
ICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRlZEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiYnJl
YWtwb2ludC1oaXQiKTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9oaWdobGlnaHRlZEVsZW1l
bnQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgX3NhdmVCcmVha3BvaW50czogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRzID0gW107CisgICAgICAgIGZvciAodmFy
IHVybCBpbiB0aGlzLl9icmVha3BvaW50RWxlbWVudHMpCisgICAgICAgICAgICBicmVha3BvaW50
cy5wdXNoKHsgdXJsOiB1cmwsIGVuYWJsZWQ6IHRoaXMuX2JyZWFrcG9pbnRFbGVtZW50c1t1cmxd
Ll9jaGVja2JveEVsZW1lbnQuY2hlY2tlZCB9KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRp
bmdzLnhockJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7CisgICAgfSwKKworICAgIF9yZXN0b3Jl
QnJlYWtwb2ludHM6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBicmVha3BvaW50cyA9
IFdlYkluc3BlY3Rvci5zZXR0aW5ncy54aHJCcmVha3BvaW50czsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBicmVha3BvaW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGJy
ZWFrcG9pbnQgPSBicmVha3BvaW50c1tpXTsKKyAgICAgICAgICAgIGlmIChicmVha3BvaW50ICYm
IHR5cGVvZiBicmVha3BvaW50LnVybCA9PT0gInN0cmluZyIpCisgICAgICAgICAgICAgICAgdGhp
cy5fc2V0QnJlYWtwb2ludChicmVha3BvaW50LnVybCwgYnJlYWtwb2ludC5lbmFibGVkKTsKKyAg
ICAgICAgfQorICAgIH0sCisKKyAgICBfcHJvamVjdENoYW5nZWQ6IGZ1bmN0aW9uKCkKICAgICB7
Ci0gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RFbGVtZW50KGlucHV0RWxlbWVudCk7Ci0gICAgICAg
IHRoaXMuX2VkaXRpbmdCcmVha3BvaW50ID0gZmFsc2U7Ci0gICAgICAgIGlmIChhY2NlcHQpIHsK
LSAgICAgICAgICAgIGlmIChicmVha3BvaW50SXRlbSkKLSAgICAgICAgICAgICAgICBicmVha3Bv
aW50SXRlbS5yZW1vdmUoKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50TWFu
YWdlci5jcmVhdGVYSFJCcmVha3BvaW50KGlucHV0RWxlbWVudC50ZXh0Q29udGVudC50b0xvd2Vy
Q2FzZSgpKTsKLSAgICAgICAgfSBlbHNlIGlmIChicmVha3BvaW50SXRlbSkKLSAgICAgICAgICAg
IGJyZWFrcG9pbnRJdGVtLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nh
bGxTdGFja1NpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcwppbmRleCA5YTg2OTA5Li5mYWYyNzk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQ
YW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNr
U2lkZWJhclBhbmUuanMKQEAgLTg3LDggKzg3LDEyIEBAIFdlYkluc3BlY3Rvci5DYWxsU3RhY2tT
aWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYgKGRldGFpbHMuYnJlYWtwb2lu
dCkKICAgICAgICAgICAgIHRoaXMuX3NjcmlwdEJyZWFrcG9pbnRIaXQoKTsKLSAgICAgICAgZWxz
ZSBpZiAoZGV0YWlscy5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5EZWJ1Z2dlckV2ZW50VHlw
ZXMuTmF0aXZlQnJlYWtwb2ludCkKLSAgICAgICAgICAgIHRoaXMuX25hdGl2ZUJyZWFrcG9pbnRI
aXQoZGV0YWlscy5ldmVudERhdGEpOworICAgICAgICBlbHNlIGlmIChkZXRhaWxzLmV2ZW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkRlYnVnZ2VyRXZlbnRUeXBlcy5OYXRpdmVCcmVha3BvaW50KSB7
CisgICAgICAgICAgICBpZiAoZGV0YWlscy5ldmVudERhdGEuYnJlYWtwb2ludFR5cGUgPT09IFdl
Ykluc3BlY3Rvci5CcmVha3BvaW50TWFuYWdlci5CcmVha3BvaW50VHlwZXMuWEhSKQorICAgICAg
ICAgICAgICAgIHRoaXMuX3hockJyZWFrcG9pbnRIaXQoKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICB0aGlzLl9uYXRpdmVCcmVha3BvaW50SGl0KGRldGFpbHMuZXZlbnREYXRh
KTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICBzZXQgc2VsZWN0ZWRDYWxsRnJhbWUoeCkKQEAg
LTE4Niw2ICsxOTAsMTQgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZChzdGF0dXNNZXNz
YWdlRWxlbWVudCk7CiAgICAgfSwKIAorICAgIF94aHJCcmVha3BvaW50SGl0OiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB2YXIgc3RhdHVzTWVzc2FnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgc3RhdHVzTWVzc2FnZUVsZW1lbnQuY2xhc3NOYW1l
ID0gImluZm8iOworICAgICAgICBzdGF0dXNNZXNzYWdlRWxlbWVudC50ZXh0Q29udGVudCA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiUGF1c2VkIG9uIGEgWE1MSHR0cFJlcXVlc3QuIik7CisgICAg
ICAgIHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3RhdHVzTWVzc2FnZUVsZW1lbnQpOwor
ICAgIH0sCisKICAgICBfbmF0aXZlQnJlYWtwb2ludEhpdDogZnVuY3Rpb24oZXZlbnREYXRhKQog
ICAgIHsKICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1h
bmFnZXIuYnJlYWtwb2ludFZpZXdGb3JFdmVudERhdGEoZXZlbnREYXRhKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggOTcx
MzY0MC4uMWI0NjVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTE0NSw3ICsxNDUsNyBAQCBXZWJJbnNwZWN0b3IuU2Ny
aXB0c1BhbmVsID0gZnVuY3Rpb24oKQogICAgIHRoaXMuc2lkZWJhclBhbmVzLmpzQnJlYWtwb2lu
dHMgPSBuZXcgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lKHRo
aXMuX3ByZXNlbnRhdGlvbk1vZGVsKTsKICAgICBpZiAoUHJlZmVyZW5jZXMubmF0aXZlSW5zdHJ1
bWVudGF0aW9uRW5hYmxlZCkgewogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3Bv
aW50cyA9IFdlYkluc3BlY3Rvci5jcmVhdGVET01CcmVha3BvaW50c1NpZGViYXJQYW5lKCk7Ci0g
ICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9yLmNy
ZWF0ZVhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFu
ZXMueGhyQnJlYWtwb2ludHMgPSBuZXcgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJh
clBhbmUoKTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFrcG9p
bnRzID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFu
ZSgpOwogICAgIH0KIApAQCAtNDIzLDcgKzQyMyw4IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFu
ZWwucHJvdG90eXBlID0gewogCiAgICAgX2RlYnVnZ2VyUGF1c2VkOiBmdW5jdGlvbihldmVudCkK
ICAgICB7Ci0gICAgICAgIHZhciBjYWxsRnJhbWVzID0gZXZlbnQuZGF0YS5jYWxsRnJhbWVzOwor
ICAgICAgICB2YXIgZGV0YWlscyA9IGV2ZW50LmRhdGE7CisgICAgICAgIHZhciBjYWxsRnJhbWVz
ID0gZGV0YWlscy5jYWxsRnJhbWVzOwogCiAgICAgICAgIHRoaXMuX3BhdXNlZCA9IHRydWU7CiAg
ICAgICAgIHRoaXMuX3dhaXRpbmdUb1BhdXNlID0gZmFsc2U7CkBAIC00MzYsOCArNDM3LDEzIEBA
IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnNp
ZGViYXJQYW5lcy5jYWxsc3RhY2sudXBkYXRlKGV2ZW50LmRhdGEpOwogICAgICAgICB0aGlzLnNp
ZGViYXJQYW5lcy5jYWxsc3RhY2suc2VsZWN0ZWRDYWxsRnJhbWUgPSBjYWxsRnJhbWVzWzBdOwog
Ci0gICAgICAgIHZhciBzb3VyY2VMb2NhdGlvbiA9IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNl
bGVjdGVkQ2FsbEZyYW1lLnNvdXJjZUxvY2F0aW9uOwotICAgICAgICB0aGlzLnNpZGViYXJQYW5l
cy5qc0JyZWFrcG9pbnRzLmhpZ2hsaWdodEJyZWFrcG9pbnQoc291cmNlTG9jYXRpb24uc291cmNl
RmlsZUlkLCBzb3VyY2VMb2NhdGlvbi5saW5lTnVtYmVyKTsKKyAgICAgICAgaWYgKGRldGFpbHMu
ZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnZXJFdmVudFR5cGVzLk5hdGl2ZUJyZWFr
cG9pbnQpIHsKKyAgICAgICAgICAgIGlmIChkZXRhaWxzLmV2ZW50RGF0YS5icmVha3BvaW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkJyZWFrcG9pbnRUeXBlcy5YSFIp
CisgICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMueGhyQnJlYWtwb2ludHMuaGlnaGxp
Z2h0QnJlYWtwb2ludChkZXRhaWxzLmV2ZW50RGF0YS5icmVha3BvaW50VVJMKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHZhciBzb3VyY2VMb2NhdGlvbiA9IHRoaXMuX3ByZXNlbnRh
dGlvbk1vZGVsLnNlbGVjdGVkQ2FsbEZyYW1lLnNvdXJjZUxvY2F0aW9uOworICAgICAgICAgICAg
dGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cy5oaWdobGlnaHRCcmVha3BvaW50KHNvdXJj
ZUxvY2F0aW9uLnNvdXJjZUZpbGVJZCwgc291cmNlTG9jYXRpb24ubGluZU51bWJlcik7CisgICAg
ICAgIH0KIAogICAgICAgICB3aW5kb3cuZm9jdXMoKTsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmJyaW5nVG9Gcm9udCgpOwpAQCAtNzk3LDYgKzgwMyw3IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxs
c3RhY2sudXBkYXRlKG51bGwpOwogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5zY29wZWNoYWlu
LnVwZGF0ZShudWxsKTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cy5j
bGVhckJyZWFrcG9pbnRIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMueGhy
QnJlYWtwb2ludHMuY2xlYXJCcmVha3BvaW50SGlnaGxpZ2h0KCk7CiAKICAgICAgICAgdGhpcy5f
Y2xlYXJDdXJyZW50RXhlY3V0aW9uTGluZSgpOwogICAgICAgICB0aGlzLl91cGRhdGVEZWJ1Z2dl
ckJ1dHRvbnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2V0dGluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRp
bmdzLmpzCmluZGV4IDBiMWZjZTguLmU3MDZmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwpAQCAtNzEsNiArNzEsNyBAQCBXZWJJbnNwZWN0
b3IuU2V0dGluZ3MgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5pbnN0YWxsQXBwbGljYXRpb25TZXR0
aW5nKCJzaG93VXNlckFnZW50U3R5bGVzIiwgdHJ1ZSk7CiAgICAgdGhpcy5pbnN0YWxsQXBwbGlj
YXRpb25TZXR0aW5nKCJ3YXRjaEV4cHJlc3Npb25zIiwgW10pOwogICAgIHRoaXMuaW5zdGFsbEFw
cGxpY2F0aW9uU2V0dGluZygiYnJlYWtwb2ludHMiLCBbXSk7CisgICAgdGhpcy5pbnN0YWxsQXBw
bGljYXRpb25TZXR0aW5nKCJ4aHJCcmVha3BvaW50cyIsIFtdKTsKIAogICAgIHRoaXMuaW5zdGFs
bFByb2plY3RTZXR0aW5nKCJuYXRpdmVCcmVha3BvaW50cyIsIFtdKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggYjRjM2ZkYS4u
ZjdiN2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKQEAgLTE0MSw3ICsxNDEsNyBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgIHJl
c2V0Rm9jdXNFbGVtZW50OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLmN1cnJlbnRG
b2N1c0VsZW1lbnQgPSBudWxsOwotICAgICAgICB0aGlzLl9wcmV2aW91c0ZvY3VzRWxlbWVudCA9
IG51bGw7ICAgICAgICAKKyAgICAgICAgdGhpcy5fcHJldmlvdXNGb2N1c0VsZW1lbnQgPSBudWxs
OwogICAgIH0sCiAKICAgICBnZXQgY3VycmVudFBhbmVsKCkKQEAgLTE4MiwxNyArMTgyLDYgQEAg
dmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgcmV0dXJuIHBhbmU7CiAgICAgfSwKIAotICAg
IGNyZWF0ZVhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIHZhciBwYW5lID0gbmV3IFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5l
KCk7Ci0gICAgICAgIGZ1bmN0aW9uIGJyZWFrcG9pbnRBZGRlZChldmVudCkKLSAgICAgICAgewot
ICAgICAgICAgICAgcGFuZS5hZGRCcmVha3BvaW50SXRlbShuZXcgV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRJdGVtKGV2ZW50LmRhdGEpKTsKLSAgICAgICAgfQotICAgICAgICBXZWJJbnNwZWN0b3Iu
YnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dE1hbmFnZXIuRXZlbnRzLlhIUkJyZWFrcG9pbnRBZGRlZCwgYnJlYWtwb2ludEFkZGVkKTsKLSAg
ICAgICAgcmV0dXJuIHBhbmU7Ci0gICAgfSwKLQogICAgIF9jcmVhdGVQYW5lbHM6IGZ1bmN0aW9u
KCkKICAgICB7CiAgICAgICAgIHZhciBoaWRkZW5QYW5lbHMgPSAoSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmhpZGRlblBhbmVscygpIHx8ICIiKS5zcGxpdCgnLCcpOwpAQCAtMjQ3LDcgKzIzNiw3IEBA
IHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgICAgICAgICBkb2NrVG9nZ2xlQnV0dG9uLnRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEb2NrIHRvIG1haW4gd2luZG93LiIpOwogICAgICAg
ICB9CiAKLSAgICAgICAgLy8gVGhpcyBtYXkgYmUgY2FsbGVkIGJlZm9yZSBvbkxvYWRlZERvbmUs
IGhlbmNlIHRoZSBidWxrIG9mIGluc3BlY3RvciBvYmplY3RzIG1heSAKKyAgICAgICAgLy8gVGhp
cyBtYXkgYmUgY2FsbGVkIGJlZm9yZSBvbkxvYWRlZERvbmUsIGhlbmNlIHRoZSBidWxrIG9mIGlu
c3BlY3RvciBvYmplY3RzIG1heQogICAgICAgICAvLyBub3QgYmUgY3JlYXRlZCB5ZXQuCiAgICAg
ICAgIGlmIChXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlcikKICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLnVwZGF0ZVNlYXJjaExhYmVsKCk7Cg==
</data>
<flag name="review"
          id="77741"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>