<?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>114415</bug_id>
          
          <creation_ts>2013-04-11 00:31:31 -0700</creation_ts>
          <short_desc>Remove webkitpy code to roll Chromium DEPS</short_desc>
          <delta_ts>2013-04-11 00:38:57 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>alancutter</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>dpranke</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>873589</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-11 00:31:31 -0700</bug_when>
    <thetext>Remove webkitpy code to roll Chromium DEPS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873591</commentid>
    <comment_count>1</comment_count>
      <attachid>197515</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-11 00:34:22 -0700</bug_when>
    <thetext>Created attachment 197515
Remove webkitpy to roll DEPS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873592</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-11 00:38:57 -0700</bug_when>
    <thetext>Committed r148180: &lt;http://trac.webkit.org/changeset/148180&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197515</attachid>
            <date>2013-04-11 00:34:22 -0700</date>
            <delta_ts>2013-04-11 00:37:37 -0700</delta_ts>
            <desc>Remove webkitpy to roll DEPS</desc>
            <filename>bug-114415-20130411003405.patch</filename>
            <type>text/plain</type>
            <size>35598</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE0ODE3OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM3IEBACisyMDEzLTA0LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFJlbW92ZSB3ZWJraXRweSBjb2RlIHRvIHJvbGwgQ2hyb21pdW0gREVQUworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NDE1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUg
Y29kZSB0byByb2xsIENocm9taXVtIERFUFMgaW4gV2ViS2l0LgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXQucHk6CisgICAgICAgIChDaGVja291
dC5idWdfaWRfZm9yX3RoaXNfY29tbWl0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5OgorICAgICAgICAoTW9ja0NoZWNrb3V0LmNv
bW1pdF9tZXNzYWdlX2Zvcl90aGlzX2NvbW1pdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHk6CisgICAgICAgIChDaGVja291
dFRlc3QudGVzdF9zdWdnZXN0ZWRfcmV2aWV3ZXJzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9kZXBzLnB5OiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHNfbW9jay5weTogUmVtb3ZlZC4KKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5OgorICAgICAgICAoUm9s
bENocm9taXVtREVQUyk6IFRlYWNoIHdlYmtpdGJvdCBhIHNlbnNlIG9mIGh1bW9yLgorICAgICAg
ICAoUm9sbENocm9taXVtREVQUy5leGVjdXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2lyY19jb21tYW5kX3VuaXR0ZXN0LnB5OgorICAgICAgICAoSVJDQ29tbWFuZFRl
c3QudGVzdF9jcmVhdGVfYnVnKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2lyY2JvdF91bml0dGVzdC5weToKKyAgICAgICAgKElSQ0JvdFRlc3QudGVzdF9yZXZlcnQpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZi5weToKKyAgICAgICAg
KFNoZXJpZmYucG9zdF9yb2xsb3V0X3BhdGNoKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3JvbGwucHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3JvbGxfdW5pdHRlc3QucHk6IFJlbW92ZWQuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL19faW5pdF9fLnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9yZGVwc3JvbGwucHk6IFJlbW92
ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNocm9taXVt
ZGVwcy5weTogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
dXBkYXRlY2hyb21pdW1kZXBzX3VuaXR0ZXN0LnB5OiBSZW1vdmVkLgorCiAyMDEzLTA0LTExICBH
bGVubiBBZGFtcyAgPGdsZW5uQHNreW5hdi5jb20+CiAKICAgICAgICAgW3dlYmtpdHB5XSBTVk5U
ZXN0IGZhaWxzIGZvdXIgdGVzdHMgd2hlbiB1c2luZyBzdWJ2ZXJzaW9uIGNsaWVudCAxLjcgb3Ig
bGF0ZXIKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNr
b3V0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2NoZWNrb3V0LnB5CShyZXZpc2lvbiAxNDgxNzYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weQkod29ya2luZyBjb3B5KQpAQCAtMzIsNyAr
MzIsNiBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IHVybHMKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nLCBwYXJzZV9i
dWdfaWRfZnJvbV9jaGFuZ2Vsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmNvbW1p
dGluZm8gaW1wb3J0IENvbW1pdEluZm8KIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNj
bSBpbXBvcnQgQ29tbWl0TWVzc2FnZQotZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuZGVw
cyBpbXBvcnQgREVQUwogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9p
emVkCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRF
cnJvcgogCkBAIC0xNDYsOSArMTQ1LDYgQEAgY2xhc3MgQ2hlY2tvdXQob2JqZWN0KToKICAgICAg
ICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgogICAgICAgICAgICAgcGFzcyAjIFdlIG1pZ2h0IG5v
dCBoYXZlIENoYW5nZUxvZ3MuCiAKLSAgICBkZWYgY2hyb21pdW1fZGVwcyhzZWxmKToKLSAgICAg
ICAgcmV0dXJuIERFUFMoc2VsZi5fc2NtLmFic29sdXRlX3BhdGgoc2VsZi5fZmlsZXN5c3RlbS5q
b2luKCJTb3VyY2UiLCAiV2ViS2l0IiwgImNocm9taXVtIiwgIkRFUFMiKSkpCi0KICAgICBkZWYg
YXBwbHlfcGF0Y2goc2VsZiwgcGF0Y2gpOgogICAgICAgICAjIEl0J3MgcG9zc2libGUgdGhhdCB0
aGUgcGF0Y2ggd2FzIG5vdCBtYWRlIGZyb20gdGhlIHJvb3QgZGlyZWN0b3J5LgogICAgICAgICAj
IFdlIHNob3VsZCBkZXRlY3QgYW5kIGhhbmRsZSB0aGF0IGNhc2UuCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X21vY2su
cHkJKHJldmlzaW9uIDE0ODE3NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L2NoZWNrb3V0X21vY2sucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAK
ICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gLmRlcHNfbW9jayBpbXBvcnQg
TW9ja0RFUFMKIGZyb20gLmNvbW1pdGluZm8gaW1wb3J0IENvbW1pdEluZm8KIAogIyBGSVhNRTog
VGhlc2UgaW1wb3J0cyBhcmUgd3JvbmcsIHdlIHNob3VsZCB1c2UgYSBzaGFyZWQgTW9ja0NvbW1p
dHRlcnNMaXN0LgpAQCAtMTAzLDkgKzEwMiw2IEBAIGNsYXNzIE1vY2tDaGVja291dChvYmplY3Qp
OgogICAgIGRlZiBjb21taXRfbWVzc2FnZV9mb3JfdGhpc19jb21taXQoc2VsZiwgZ2l0X2NvbW1p
dCwgY2hhbmdlZF9maWxlcz1Ob25lKToKICAgICAgICAgcmV0dXJuIE1vY2tDb21taXRNZXNzYWdl
KCkKIAotICAgIGRlZiBjaHJvbWl1bV9kZXBzKHNlbGYpOgotICAgICAgICByZXR1cm4gTW9ja0RF
UFMoKQotCiAgICAgZGVmIGFwcGx5X3BhdGNoKHNlbGYsIHBhdGNoKToKICAgICAgICAgcGFzcwog
CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF91
bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dF91bml0dGVzdC5weQkocmV2aXNpb24gMTQ4MTc2KQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTI0NywxMSArMjQ3LDYgQEAgY2xhc3MgQ2hlY2tvdXRUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcmV2aWV3ZXJfbmFtZXMgPSBbcmV2aWV3ZXIuZnVsbF9u
YW1lIGZvciByZXZpZXdlciBpbiByZXZpZXdlcnNdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cmV2aWV3ZXJfbmFtZXMsIFt1J1RvciBBcm5lIFZlc3RiXHhmOCddKQogCi0gICAgZGVmIHRlc3Rf
Y2hyb21pdW1fZGVwcyhzZWxmKToKLSAgICAgICAgY2hlY2tvdXQgPSBzZWxmLl9tYWtlX2NoZWNr
b3V0KCkKLSAgICAgICAgY2hlY2tvdXQuX3NjbS5jaGVja291dF9yb290ID0gIi9mb28vYmFyIgot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNoZWNrb3V0LmNocm9taXVtX2RlcHMoKS5fcGF0aCwg
Jy9mb28vYmFyL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUycpCi0KICAgICBkZWYgdGVzdF9h
cHBseV9wYXRjaChzZWxmKToKICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLl9tYWtlX2NoZWNrb3V0
KCkKICAgICAgICAgY2hlY2tvdXQuX2V4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoc2hvdWxkX2xv
Zz1UcnVlKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGVw
cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9kZXBzLnB5CShyZXZpc2lvbiAxNDgxNzYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9kZXBzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYxICswLDAgQEAKLSMg
Q29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwot
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0jCi0jICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQotIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0jIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSMgZGlzdHJpYnV0aW9uLgot
IyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCi0jIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCi0jIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0jIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0jIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAotIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSMKLSMgV2ViS2l0J3MgUHl0aG9uIG1vZHVsZSBmb3IgcGFyc2luZyBh
bmQgbW9kaWZ5aW5nIENoYW5nZUxvZyBmaWxlcwotCi1pbXBvcnQgY29kZWNzCi1pbXBvcnQgZmls
ZWlucHV0Ci1pbXBvcnQgcmUKLWltcG9ydCB0ZXh0d3JhcAotCi0KLWNsYXNzIERFUFMob2JqZWN0
KToKLQotICAgIF92YXJpYWJsZV9yZWdleHAgPSByIlxzKyclcyc6XHMrJyg/UDx2YWx1ZT5cZCsp
JyIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKLSAgICAgICAgIyBGSVhNRTogVGhp
cyBzaG91bGQgdGFrZSBhIEZpbGVTeXN0ZW0gb2JqZWN0LgotICAgICAgICBzZWxmLl9wYXRoID0g
cGF0aAotCi0gICAgZGVmIHJlYWRfdmFyaWFibGUoc2VsZiwgbmFtZSk6Ci0gICAgICAgIHBhdHRl
cm4gPSByZS5jb21waWxlKHNlbGYuX3ZhcmlhYmxlX3JlZ2V4cCAlIG5hbWUpCi0gICAgICAgIGZv
ciBsaW5lIGluIGZpbGVpbnB1dC5GaWxlSW5wdXQoc2VsZi5fcGF0aCk6Ci0gICAgICAgICAgICBt
YXRjaCA9IHBhdHRlcm4ubWF0Y2gobGluZSkKLSAgICAgICAgICAgIGlmIG1hdGNoOgotICAgICAg
ICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoInZhbHVlIikpCi0KLSAgICBkZWYgd3Jp
dGVfdmFyaWFibGUoc2VsZiwgbmFtZSwgdmFsdWUpOgotICAgICAgICBwYXR0ZXJuID0gcmUuY29t
cGlsZShzZWxmLl92YXJpYWJsZV9yZWdleHAgJSBuYW1lKQotICAgICAgICByZXBsYWNlbWVudF9s
aW5lID0gIiAgJyVzJzogJyVzJyIgJSAobmFtZSwgdmFsdWUpCi0gICAgICAgICMgaW5wbGFjZT0x
IGNyZWF0ZXMgYSBiYWNrdXAgZmlsZSBhbmQgcmUtZGlyZWN0cyBzdGRvdXQgdG8gdGhlIGZpbGUK
LSAgICAgICAgZm9yIGxpbmUgaW4gZmlsZWlucHV0LkZpbGVJbnB1dChzZWxmLl9wYXRoLCBpbnBs
YWNlPTEpOgotICAgICAgICAgICAgaWYgcGF0dGVybi5tYXRjaChsaW5lKToKLSAgICAgICAgICAg
ICAgICBwcmludCByZXBsYWNlbWVudF9saW5lCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAg
ICAgICAgICAgICMgVHJhaWxpbmcgY29tbWEgc3VwcHJlc3NlcyBwcmludGluZyBuZXdsaW5lCi0g
ICAgICAgICAgICBwcmludCBsaW5lLApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvZGVwc19tb2NrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHNfbW9jay5weQkocmV2aXNpb24gMTQ4MTc2KQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGVwc19tb2NrLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDM5ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0jIG1ldDoKLSMKLSMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotIyBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0jIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKLSMgZGlzdHJpYnV0aW9uLgotIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1pbXBvcnQgbG9nZ2lu
ZwotCi1fbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0KLQotY2xhc3MgTW9ja0RF
UFMob2JqZWN0KToKLSAgICBkZWYgcmVhZF92YXJpYWJsZShzZWxmLCBuYW1lKToKLSAgICAgICAg
cmV0dXJuIDY1NjQKLQotICAgIGRlZiB3cml0ZV92YXJpYWJsZShzZWxmLCBuYW1lLCB2YWx1ZSk6
Ci0gICAgICAgIF9sb2cuaW5mbygiTU9DSzogTW9ja0RFUFMud3JpdGVfdmFyaWFibGUoJXMsICVz
KSIgJSAobmFtZSwgdmFsdWUpKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Jv
dC9pcmNfY29tbWFuZC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L2lyY19jb21tYW5kLnB5CShyZXZpc2lvbiAxNDgxNzYpCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMzAs
NDkgKzEzMCwxNCBAQCBjbGFzcyBSZXN0YXJ0KElSQ0NvbW1hbmQpOgogCiBjbGFzcyBSb2xsQ2hy
b21pdW1ERVBTKElSQ0NvbW1hbmQpOgogICAgIHVzYWdlX3N0cmluZyA9ICJyb2xsLWNocm9taXVt
LWRlcHMgUkVWSVNJT04iCi0gICAgaGVscF9zdHJpbmcgPSAiUm9sbHMgV2ViS2l0J3MgQ2hyb21p
dW0gREVQUyB0byB0aGUgZ2l2ZW4gcmV2aXNpb24uIEdpdmUgTEtHUiBhcyB0aGUgcmV2aXNpb24g
bnVtYmVyIHRvIHVzZSB0aGUgbGFzdCBrbm93biBnb29kIHJldmlzaW9uLiBUaGlzIGxhbmRzIGFu
IHVucmV2aWV3ZWQgcGF0Y2ggYW5kIHByb3ZpZGVzIHRoZSBidWcgVVJMLiIKLQotICAgIGRlZiBf
cGFyc2VfYXJncyhzZWxmLCBhcmdzKToKLSAgICAgICAgaWYgbm90IGFyZ3M6Ci0gICAgICAgICAg
ICByZXR1cm4gTm9uZQotICAgICAgICByZXZpc2lvbiA9IGFyZ3NbMF0ubHN0cmlwKCJyIikKLSAg
ICAgICAgaWYgcmV2aXNpb24gPT0gIkxLR1IiIG9yIHJldmlzaW9uLmlzZGlnaXQoKToKLSAgICAg
ICAgICAgIHJldHVybiByZXZpc2lvbgotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgZGVmIF9l
eHBhbmRfaXJjX25pY2tuYW1lKHNlbGYsIG5pY2spOgotICAgICAgICBjb250cmlidXRvciA9IENv
bW1pdHRlckxpc3QoKS5jb250cmlidXRvcl9ieV9pcmNfbmlja25hbWUobmljaykKLSAgICAgICAg
aWYgY29udHJpYnV0b3I6Ci0gICAgICAgICAgICByZXR1cm4gc3RyKGNvbnRyaWJ1dG9yKQotICAg
ICAgICByZXR1cm4gbmljaworICAgIGhlbHBfc3RyaW5nID0gIlJvbGxzIFdlYktpdCdzIENocm9t
aXVtIERFUFMgdG8gdGhlIGdpdmVuIHJldmlzaW9uPz8/IgogCiAgICAgZGVmIGV4ZWN1dGUoc2Vs
ZiwgbmljaywgYXJncywgdG9vbCwgc2hlcmlmZik6CiAgICAgICAgIHJldmlzaW9uID0gc2VsZi5f
cGFyc2VfYXJncyhhcmdzKQogICAgICAgICBpZiBub3QgcmV2aXNpb246CiAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi51c2FnZShuaWNrKQogCi0gICAgICAgIHJvbGxfdGFyZ2V0ID0gInIlcyIgJSBy
ZXZpc2lvbiBpZiByZXZpc2lvbi5pc2RpZ2l0KCkgZWxzZSAibGFzdC1rbm93biBnb29kIHJldmlz
aW9uIgotICAgICAgICB0b29sLmlyYygpLnBvc3QoIiVzOiBSb2xsaW5nIENocm9taXVtIERFUFMg
dG8gJXMiICUgKG5pY2ssIHJvbGxfdGFyZ2V0KSkKLSAgICAgICAgY2hhbmdlbG9nX21lc3NhZ2Ug
PSAiVW5yZXZpZXdlZC4gIFJvbGxlZCBDaHJvbWl1bSBERVBTIHRvICVzLiAgUmVxdWVzdGVkIGJ5
ICVzIHZpYSAlcy5cblxuIiAlIChyb2xsX3RhcmdldCwgc2VsZi5fZXhwYW5kX2lyY19uaWNrbmFt
ZShuaWNrKSwgc2hlcmlmZi5uYW1lKCkpCi0KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgYnVn
X2lkID0gc2hlcmlmZi5wb3N0X2Nocm9taXVtX2RlcHNfcm9sbChyZXZpc2lvbiwgcm9sbF90YXJn
ZXQsIGNoYW5nZWxvZ19tZXNzYWdlKQotICAgICAgICAgICAgYnVnX3VybCA9IHRvb2wuYnVncy5i
dWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKQotICAgICAgICAgICAgcmV0dXJuICIlczogQ3JlYXRl
ZCBERVBTIHJvbGw6ICVzIiAlIChuaWNrLCBidWdfdXJsKQotICAgICAgICBleGNlcHQgU2NyaXB0
RXJyb3IsIGU6Ci0gICAgICAgICAgICB0b29sLmlyYygpLnBvc3QoIiVzOiBGYWlsZWQgdG8gY3Jl
YXRlIERFUFMgcm9sbDoiICUgbmljaykKLSAgICAgICAgICAgIHByZV9idWdfZXJyb3JfbWVzc2Fn
ZXMgPSBbCi0gICAgICAgICAgICAgICAgciJDdXJyZW50IENocm9taXVtIERFUFMgcmV2aXNpb24g
XGQrIGlzIG5ld2VyIHRoYW4gXGQrXC4iLAotICAgICAgICAgICAgICAgIHIiVW5hYmxlIHRvIHVw
ZGF0ZSBDaHJvbWl1bSBERVBTXC4iLAotICAgICAgICAgICAgICAgIHIiVW5hYmxlIHRvIHBhcnNl
IExLR1IgZnJvbTogLioiLAotICAgICAgICAgICAgICAgIHIiVW5hYmxlIHRvIHJlYWNoIExLR1Ig
c291cmNlOiAuKiIsCi0gICAgICAgICAgICAgICAgciJJbnZhbGlkIHJldmlzaW9uIG51bWJlclwu
IiwKLSAgICAgICAgICAgIF0KLSAgICAgICAgICAgIGZvciBtZXNzYWdlIGluIHByZV9idWdfZXJy
b3JfbWVzc2FnZXM6Ci0gICAgICAgICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gobWVzc2FnZSwg
ZS5vdXRwdXQpCi0gICAgICAgICAgICAgICAgaWYgbWF0Y2g6Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybiAiJXM6ICVzIiAlIChuaWNrLCBtYXRjaC5ncm91cCgwKSkKLSAgICAgICAgICAgIF9w
b3N0X2Vycm9yX2FuZF9jaGVja19mb3JfYnVnX3VybCh0b29sLCBuaWNrLCBlKQorICAgICAgICB0
b29sLmlyYygpLnBvc3QoIiVzOiBUaGFuayBZb3UuIiAlIG5pY2spCiAKIAogY2xhc3MgUm9sbG91
dChJUkNDb21tYW5kKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJj
X2NvbW1hbmRfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9pcmNfY29tbWFuZF91bml0dGVzdC5weQkocmV2aXNpb24gMTQ4MTc2KQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZF91bml0dGVzdC5weQko
d29ya2luZyBjb3B5KQpAQCAtMTAzLDE2ICsxMDMsNiBAQCBjbGFzcyBJUkNDb21tYW5kVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInRvbTogRmFpbGVk
IHRvIGNyZWF0ZSBidWc6XG5FeGNlcHRpb24gZnJvbSBidWd6aWxsYSEiLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVfYnVnLmV4ZWN1dGUoInRvbSIsIGV4YW1wbGVfYXJncywgdG9v
bCwgTm9uZSkpCiAKLSAgICBkZWYgdGVzdF9yb2xsX2Nocm9taXVtX2RlcHMoc2VsZik6Ci0gICAg
ICAgIHJvbGwgPSBSb2xsQ2hyb21pdW1ERVBTKCkKLSAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUo
cm9sbC5fcGFyc2VfYXJncyhbXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJvbGwuX3Bh
cnNlX2FyZ3MoWyJpbnZhbGlkIl0pKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCIxMjM0Iiwg
cm9sbC5fcGFyc2VfYXJncyhbIjEyMzQiXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjEy
MzQiLCByb2xsLl9wYXJzZV9hcmdzKFsicjEyMzQiXSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoIkxLR1IiLCByb2xsLl9wYXJzZV9hcmdzKFsiTEtHUiJdKSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgnIkFsYW4gQ3V0dGVyIiA8YWxhbmN1dHRlckBjaHJvbWl1bS5vcmc+Jywgcm9sbC5f
ZXhwYW5kX2lyY19uaWNrbmFtZSgiYWxhbmN1dHRlciIpKQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKCJ1bmtub3duX2lyY19uaWNrbmFtZSIsIHJvbGwuX2V4cGFuZF9pcmNfbmlja25hbWUoInVu
a25vd25faXJjX25pY2tuYW1lIikpCi0KICAgICBkZWYgdGVzdF9yb2xsb3V0X3VwZGF0ZXNfd29y
a2luZ19jb3B5KHNlbGYpOgogICAgICAgICByb2xsb3V0ID0gUm9sbG91dCgpCiAgICAgICAgIHRv
b2wgPSBNb2NrVG9vbCgpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ly
Y2JvdF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L2lyY2JvdF91bml0dGVzdC5weQkocmV2aXNpb24gMTQ4MTc2KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNib3RfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkK
QEAgLTEwNiwxNCArMTA2LDYgQEAgY2xhc3MgSVJDQm90VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUHJl
cGFyaW5nIHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU0
IC4uLlxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljaywgYWJhcnRoLCBkYXJpbiwgZXNlaWRlbDog
Q3JlYXRlZCByb2xsb3V0OiBodHRwOi8vZXhhbXBsZS5jb20vMzY5MzZcbiIKICAgICAgICAgT3V0
cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJldmVydCAyMTY1
NCBUaGlzIHBhdGNoIGJyb2tlIHRoZSB3b3JsZCJdLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MpCiAKLSAgICBkZWYgdGVzdF9yb2xsX2Nocm9taXVtX2RlcHMoc2VsZik6Ci0gICAgICAgIGV4
cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogUm9sbGluZyBDaHJvbWl1
bSBERVBTIHRvIHIyMTY1NFxuTU9DSzogaXJjLnBvc3Q6IG1vY2tfbmljazogQ3JlYXRlZCBERVBT
IHJvbGw6IGh0dHA6Ly9leGFtcGxlLmNvbS8zNjkzNlxuIgotICAgICAgICBPdXRwdXRDYXB0dXJl
KCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcnVuLCBhcmdzPVsicm9sbC1jaHJvbWl1bS1kZXBzIDIx
NjU0Il0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKLQotICAgIGRlZiB0ZXN0X3JvbGxf
Y2hyb21pdW1fZGVwc190b19sa2dyKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1P
Q0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6IFJvbGxpbmcgQ2hyb21pdW0gREVQUyB0byBsYXN0LWtu
b3duIGdvb2QgcmV2aXNpb25cbk1PQ0s6IGlyYy5wb3N0OiBtb2NrX25pY2s6IENyZWF0ZWQgREVQ
UyByb2xsOiBodHRwOi8vZXhhbXBsZS5jb20vMzY5MzZcbiIKLSAgICAgICAgT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJvbGwtY2hyb21pdW0tZGVwcyBM
S0dSIl0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKLQogICAgIGRlZiB0ZXN0X211bHRp
X3JvbGxvdXQoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSzogaXJjLnBvc3Q6
IG1vY2tfbmljazogUHJlcGFyaW5nIHJvbGxvdXQgZm9yIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzIxNjU0LCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTY1NSwg
YW5kIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxNjU2IC4uLlxuTU9DSzogaXJj
LnBvc3Q6IG1vY2tfbmljaywgYWJhcnRoLCBkYXJpbiwgZXNlaWRlbDogQ3JlYXRlZCByb2xsb3V0
OiBodHRwOi8vZXhhbXBsZS5jb20vMzY5MzZcbiIKICAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHJ1biwgYXJncz1bInJvbGxvdXQgMjE2NTQgMjE2NTUgMjE2NTYg
VGhpcyAyMTY1NCBwYXRjaCBicm9rZSB0aGUgd29ybGQiXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3Rl
ZF9sb2dzKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9zaGVyaWZmLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZi5w
eQkocmV2aXNpb24gMTQ4MTc2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9z
aGVyaWZmLnB5CSh3b3JraW5nIGNvcHkpCkBAIC05MSwxOCArOTEsNiBAQCBjbGFzcyBTaGVyaWZm
KG9iamVjdCk6CiAgICAgICAgIF0pCiAgICAgICAgIHJldHVybiB1cmxzLnBhcnNlX2J1Z19pZChv
dXRwdXQpCiAKLSAgICBkZWYgcG9zdF9jaHJvbWl1bV9kZXBzX3JvbGwoc2VsZiwgcmV2aXNpb24s
IHJldmlzaW9uX25hbWUsIGNoYW5nZWxvZ19tZXNzYWdlKToKLSAgICAgICAgYXJncyA9IFsKLSAg
ICAgICAgICAgICJwb3N0LWNocm9taXVtLWRlcHMtcm9sbCIsCi0gICAgICAgICAgICAiLS1mb3Jj
ZS1jbGVhbiIsCi0gICAgICAgICAgICAiLS1ub24taW50ZXJhY3RpdmUiLAotICAgICAgICAgICAg
Ii0tcGFyZW50LWNvbW1hbmQ9c2hlcmlmZi1ib3QiLAotICAgICAgICBdCi0gICAgICAgICMgcmV2
aXNpb24gY2FuIGJlIE5vbmUsIGJ1dCByZXZpc2lvbl9uYW1lIGlzIGFsd2F5cyBzb21ldGhpbmcg
bWVhbmluZ2Z1bC4KLSAgICAgICAgYXJncyArPSBbcmV2aXNpb24sIHJldmlzaW9uX25hbWUsIGNo
YW5nZWxvZ19tZXNzYWdlXQotICAgICAgICBvdXRwdXQgPSBzZWxmLl9zaGVyaWZmYm90LnJ1bl93
ZWJraXRfcGF0Y2goYXJncykKLSAgICAgICAgcmV0dXJuIHVybHMucGFyc2VfYnVnX2lkKG91dHB1
dCkKLQogICAgIGRlZiBwb3N0X2JsYW1lX2NvbW1lbnRfb25fYnVnKHNlbGYsIGNvbW1pdF9pbmZv
LCBidWlsZGVycywgdGVzdHMpOgogICAgICAgICBpZiBub3QgY29tbWl0X2luZm8uYnVnX2lkKCk6
CiAgICAgICAgICAgICByZXR1cm4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvX19pbml0X18ucHkJKHJldmlzaW9uIDE0ODE3NikKKysrIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpA
QCAtMTgsNyArMTgsNiBAQCBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMucXVlcmllcyBpbXBv
CiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMucXVldWVzIGltcG9ydCAqCiBmcm9tIHdlYmtp
dHB5LnRvb2wuY29tbWFuZHMucmViYXNlbGluZSBpbXBvcnQgUmViYXNlbGluZQogZnJvbSB3ZWJr
aXRweS50b29sLmNvbW1hbmRzLnJlYmFzZWxpbmVzZXJ2ZXIgaW1wb3J0IFJlYmFzZWxpbmVTZXJ2
ZXIKLWZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5yb2xsIGltcG9ydCAqCiBmcm9tIHdlYmtp
dHB5LnRvb2wuY29tbWFuZHMuc2hlcmlmZmJvdCBpbXBvcnQgKgogZnJvbSB3ZWJraXRweS50b29s
LmNvbW1hbmRzLnVwbG9hZCBpbXBvcnQgKgogZnJvbSB3ZWJraXRweS50b29sLmNvbW1hbmRzLnN1
Z2dlc3Rub21pbmF0aW9ucyBpbXBvcnQgKgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3JvbGwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3JvbGwucHkJKHJldmlzaW9uIDE0ODE3NikKKysrIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yb2xsLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDc5
ICswLDAgQEAKLSMgQ29weXJpZ2h0IChjKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0jIG1ldDoKLSMKLSMgICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0jIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSMgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotIyBkaXN0
cmlidXRpb24uCi0jICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKLSMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1mcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMu
YWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kIGltcG9ydCBBYnN0cmFjdFNlcXVlbmNlZENvbW1hbmQK
LQotZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBzdGVwcwotCi0KLWRlZmF1bHRfY2hhbmdlbG9n
X21lc3NhZ2UgPSAiVW5yZXZpZXdlZC4gIFJvbGxlZCBERVBTLlxuXG4iCi0KLWNsYXNzIFJvbGxD
aHJvbWl1bURFUFMoQWJzdHJhY3RTZXF1ZW5jZWRDb21tYW5kKToKLSAgICBuYW1lID0gInJvbGwt
Y2hyb21pdW0tZGVwcyIKLSAgICBoZWxwX3RleHQgPSAiVXBkYXRlcyBDaHJvbWl1bSBERVBTIChM
S0dSIGFzIHRoZSByZXZpc2lvbiB3aWxsIHVzZSB0aGUgbGFzdC1rbm93biBnb29kIHJldmlzaW9u
IG9mIENocm9taXVtKSIKLSAgICBhcmd1bWVudF9uYW1lcyA9ICJDSFJPTUlVTV9SRVZJU0lPTiIK
LSAgICBzdGVwcyA9IFsKLSAgICAgICAgc3RlcHMuVXBkYXRlQ2hyb21pdW1ERVBTLAotICAgICAg
ICBzdGVwcy5QcmVwYXJlQ2hhbmdlTG9nRm9yREVQU1JvbGwsCi0gICAgICAgIHN0ZXBzLkNvbmZp
cm1EaWZmLAotICAgICAgICBzdGVwcy5Db21taXQsCi0gICAgXQotCi0gICAgZGVmIF9wcmVwYXJl
X3N0YXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgotICAgICAgICByZXR1cm4gewotICAg
ICAgICAgICAgImNocm9taXVtX3JldmlzaW9uIjogKGFyZ3MgYW5kIGFyZ3NbMF0pLAotICAgICAg
ICAgICAgImNoYW5nZWxvZ19tZXNzYWdlIjogZGVmYXVsdF9jaGFuZ2Vsb2dfbWVzc2FnZSwKLSAg
ICAgICAgfQotCi0KLWNsYXNzIFBvc3RDaHJvbWl1bURFUFNSb2xsKEFic3RyYWN0U2VxdWVuY2Vk
Q29tbWFuZCk6Ci0gICAgbmFtZSA9ICJwb3N0LWNocm9taXVtLWRlcHMtcm9sbCIKLSAgICBoZWxw
X3RleHQgPSAiUG9zdHMgYSBwYXRjaCB0byB1cGRhdGUgQ2hyb21pdW0gREVQUyAoTEtHUiBhcyB0
aGUgcmV2aXNpb24gd2lsbCB1c2UgdGhlIGxhc3Qta25vd24gZ29vZCByZXZpc2lvbiBvZiBDaHJv
bWl1bSkiCi0gICAgYXJndW1lbnRfbmFtZXMgPSAiQ0hST01JVU1fUkVWSVNJT04gQ0hST01JVU1f
UkVWSVNJT05fTkFNRSBbQ0hBTkdFTE9HX01FU1NBR0VdIgotICAgIHN0ZXBzID0gWwotICAgICAg
ICBzdGVwcy5DbGVhbldvcmtpbmdEaXJlY3RvcnksCi0gICAgICAgIHN0ZXBzLlVwZGF0ZSwKLSAg
ICAgICAgc3RlcHMuVXBkYXRlQ2hyb21pdW1ERVBTLAotICAgICAgICBzdGVwcy5QcmVwYXJlQ2hh
bmdlTG9nRm9yREVQU1JvbGwsCi0gICAgICAgIHN0ZXBzLkNyZWF0ZUJ1ZywKLSAgICAgICAgc3Rl
cHMuUG9zdERpZmYsCi0gICAgXQotCi0gICAgZGVmIF9wcmVwYXJlX3N0YXRlKHNlbGYsIG9wdGlv
bnMsIGFyZ3MsIHRvb2wpOgotICAgICAgICBvcHRpb25zLnJldmlldyA9IEZhbHNlCi0gICAgICAg
IG9wdGlvbnMucmVxdWVzdF9jb21taXQgPSBUcnVlCi0KLSAgICAgICAgY2hyb21pdW1fcmV2aXNp
b24gPSBhcmdzWzBdCi0gICAgICAgIGNocm9taXVtX3JldmlzaW9uX25hbWUgPSBhcmdzWzFdCi0g
ICAgICAgIGNoYW5nZWxvZ19tZXNzYWdlID0gYXJnc1syXSBpZiBsZW4oYXJncykgPj0gMyBlbHNl
IGRlZmF1bHRfY2hhbmdlbG9nX21lc3NhZ2UKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAg
ICJjaHJvbWl1bV9yZXZpc2lvbiI6IGNocm9taXVtX3JldmlzaW9uLAotICAgICAgICAgICAgImNo
YW5nZWxvZ19tZXNzYWdlIjogY2hhbmdlbG9nX21lc3NhZ2UsCi0gICAgICAgICAgICAiYnVnX3Rp
dGxlIjogIlJvbGwgQ2hyb21pdW0gREVQUyB0byAlcyIgJSBjaHJvbWl1bV9yZXZpc2lvbl9uYW1l
LAotICAgICAgICAgICAgImJ1Z19kZXNjcmlwdGlvbiI6ICJBIERFUFMgcm9sbCBhIGRheSBrZWVw
cyB0aGUgYnVpbGQgYnJlYWsgYXdheS4iLAotICAgICAgICB9CkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcm9sbF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcm9sbF91bml0dGVzdC5weQkocmV2
aXNpb24gMTQ4MTc2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3Jv
bGxfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEsNjYgKzAsMCBAQAotIyBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCi0jIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotIyBkaXN0cmlidXRpb24uCi0jICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotIyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
IyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0KLWZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5tb2NrIGltcG9ydCBNb2NrCi1mcm9tIHdl
YmtpdHB5LnRvb2wuY29tbWFuZHMuY29tbWFuZHRlc3QgaW1wb3J0IENvbW1hbmRzVGVzdAotZnJv
bSB3ZWJraXRweS50b29sLmNvbW1hbmRzLnJvbGwgaW1wb3J0ICoKLWZyb20gd2Via2l0cHkudG9v
bC5tb2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMsIE1vY2tUb29sCi0KLQotY2xhc3MgUm9sbENv
bW1hbmRzVGVzdChDb21tYW5kc1Rlc3QpOgotICAgIGRlZiB0ZXN0X3VwZGF0ZV9jaHJvbWl1bV9k
ZXBzKHNlbGYpOgotICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiVXBkYXRpbmcgQ2hyb21pdW0g
REVQUyB0byA2NzY0Ci1NT0NLOiBNb2NrREVQUy53cml0ZV92YXJpYWJsZShjaHJvbWl1bV9yZXYs
IDY3NjQpCi1NT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxlOi8vLi4uCi1XYXMgdGhhdCBkaWZmIGNv
cnJlY3Q/Ci1Db21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvNDk4MjQ+Ci0iIiIKLSAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKG5vbl9pbnRlcmFj
dGl2ZT1GYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFJvbGxDaHJv
bWl1bURFUFMoKSwgWzY3NjRdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0
ZWRfbG9ncykKLQotICAgIGRlZiB0ZXN0X3VwZGF0ZV9jaHJvbWl1bV9kZXBzX29sZGVyX3Jldmlz
aW9uKHNlbGYpOgotICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMobm9uX2ludGVyYWN0aXZl
PUZhbHNlKQotICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiQ3VycmVudCBDaHJvbWl1bSBERVBT
IHJldmlzaW9uIDY1NjQgaXMgbmV3ZXIgdGhhbiA1NzY0LgotVW5hYmxlIHRvIHVwZGF0ZSBDaHJv
bWl1bSBERVBTLgotIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhSb2xs
Q2hyb21pdW1ERVBTKCksIFs1NzY0XSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9sb2dzPWV4
cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2V4Y2VwdGlvbj1TeXN0ZW1FeGl0KQotCi0KLWNsYXNzIFBv
c3RSb2xsQ29tbWFuZHNUZXN0KENvbW1hbmRzVGVzdCk6Ci0gICAgZGVmIHRlc3RfcHJlcGFyZV9z
dGF0ZShzZWxmKToKLSAgICAgICAgcG9zdHJvbGwgPSBQb3N0Q2hyb21pdW1ERVBTUm9sbCgpCi0g
ICAgICAgIG9wdGlvbnMgPSBNb2NrT3B0aW9ucygpCi0gICAgICAgIHRvb2wgPSBNb2NrVG9vbCgp
Ci0gICAgICAgIGxrZ3Jfc3RhdGUgPSBwb3N0cm9sbC5fcHJlcGFyZV9zdGF0ZShvcHRpb25zLCBb
Tm9uZSwgImxhc3Qta25vd24gZ29vZCByZXZpc2lvbiJdLCB0b29sKQotICAgICAgICBzZWxmLmFz
c2VydElzTm9uZShsa2dyX3N0YXRlWyJjaHJvbWl1bV9yZXZpc2lvbiJdKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKCJSb2xsIENocm9taXVtIERFUFMgdG8gbGFzdC1rbm93biBnb29kIHJldmlz
aW9uIiwgbGtncl9zdGF0ZVsiYnVnX3RpdGxlIl0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
IlVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy5cblxuIiwgbGtncl9zdGF0ZVsiY2hhbmdlbG9nX21l
c3NhZ2UiXSkKLSAgICAgICAgcmV2aXNpb25fc3RhdGUgPSBwb3N0cm9sbC5fcHJlcGFyZV9zdGF0
ZShvcHRpb25zLCBbIjEyMzQiLCAicjEyMzQiLCAidGVzdCBtZXNzYWdlIl0sIHRvb2wpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjEyMzQiLCByZXZpc2lvbl9zdGF0ZVsiY2hyb21pdW1fcmV2
aXNpb24iXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiUm9sbCBDaHJvbWl1bSBERVBTIHRv
IHIxMjM0IiwgcmV2aXNpb25fc3RhdGVbImJ1Z190aXRsZSJdKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCJ0ZXN0IG1lc3NhZ2UiLCByZXZpc2lvbl9zdGF0ZVsiY2hhbmdlbG9nX21lc3NhZ2Ui
XSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9fX2luaXRfXy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvX19pbml0X18u
cHkJKHJldmlzaW9uIDE0ODE3NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBmcm9tIHdlYmtp
dHB5LnRvb2wuc3RlcHMucG9zdGRpZmYgaW1wb3J0CiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMu
cG9zdGRpZmZmb3Jjb21taXQgaW1wb3J0IFBvc3REaWZmRm9yQ29tbWl0CiBmcm9tIHdlYmtpdHB5
LnRvb2wuc3RlcHMucG9zdGRpZmZmb3JyZXZlcnQgaW1wb3J0IFBvc3REaWZmRm9yUmV2ZXJ0CiBm
cm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMucHJlcGFyZWNoYW5nZWxvZyBpbXBvcnQgUHJlcGFyZUNo
YW5nZUxvZwotZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLnByZXBhcmVjaGFuZ2Vsb2dmb3JkZXBz
cm9sbCBpbXBvcnQgUHJlcGFyZUNoYW5nZUxvZ0ZvckRFUFNSb2xsCiBmcm9tIHdlYmtpdHB5LnRv
b2wuc3RlcHMucHJlcGFyZWNoYW5nZWxvZ2ZvcnJldmVydCBpbXBvcnQgUHJlcGFyZUNoYW5nZUxv
Z0ZvclJldmVydAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLnByb21wdGZvcmJ1Z29ydGl0bGUg
aW1wb3J0IFByb21wdEZvckJ1Z09yVGl0bGUKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5yZW9w
ZW5idWdhZnRlcnJvbGxvdXQgaW1wb3J0IFJlb3BlbkJ1Z0FmdGVyUm9sbG91dApAQCAtNjEsNiAr
NjAsNSBAQCBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMucnVudGVzdHMgaW1wb3J0CiBmcm9tIHdl
YmtpdHB5LnRvb2wuc3RlcHMuc3VnZ2VzdHJldmlld2VycyBpbXBvcnQgU3VnZ2VzdFJldmlld2Vy
cwogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLnVwZGF0ZSBpbXBvcnQgVXBkYXRlCiBmcm9tIHdl
YmtpdHB5LnRvb2wuc3RlcHMudXBkYXRlY2hhbmdlbG9nc3dpdGhyZXZpZXdlciBpbXBvcnQgVXBk
YXRlQ2hhbmdlTG9nc1dpdGhSZXZpZXdlcgotZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLnVwZGF0
ZWNocm9taXVtZGVwcyBpbXBvcnQgVXBkYXRlQ2hyb21pdW1ERVBTCiBmcm9tIHdlYmtpdHB5LnRv
b2wuc3RlcHMudmFsaWRhdGVjaGFuZ2Vsb2dzIGltcG9ydCBWYWxpZGF0ZUNoYW5nZUxvZ3MKIGZy
b20gd2Via2l0cHkudG9vbC5zdGVwcy52YWxpZGF0ZXJldmlld2VyIGltcG9ydCBWYWxpZGF0ZVJl
dmlld2VyCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNo
YW5nZWxvZ2ZvcmRlcHNyb2xsLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9yZGVwc3JvbGwucHkJKHJldmlzaW9uIDE0
ODE3NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdl
bG9nZm9yZGVwc3JvbGwucHkJKHdvcmtpbmcgY29weSkKQEAgLTEsMzggKzAsMCBAQAotIyBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0KLWZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBv
cnQgQ2hhbmdlTG9nCi1mcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9y
dCBBYnN0cmFjdFN0ZXAKLQotCi1jbGFzcyBQcmVwYXJlQ2hhbmdlTG9nRm9yREVQU1JvbGwoQWJz
dHJhY3RTdGVwKToKLSAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKLSAgICAgICAgc2VsZi5fdG9v
bC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9w
b3J0KCkucHJlcGFyZV9jaGFuZ2Vsb2dfY29tbWFuZCgpKQotICAgICAgICBjaGFuZ2Vsb2dfcGF0
aHMgPSBzZWxmLl90b29sLmNoZWNrb3V0KCkubW9kaWZpZWRfY2hhbmdlbG9ncyhnaXRfY29tbWl0
PU5vbmUpCi0gICAgICAgIGZvciBjaGFuZ2Vsb2dfcGF0aCBpbiBjaGFuZ2Vsb2dfcGF0aHM6Ci0g
ICAgICAgICAgICBDaGFuZ2VMb2coY2hhbmdlbG9nX3BhdGgpLnVwZGF0ZV93aXRoX3VucmV2aWV3
ZWRfbWVzc2FnZShzdGF0ZVsiY2hhbmdlbG9nX21lc3NhZ2UiXSkKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaHJvbWl1bWRlcHMucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNocm9taXVtZGVwcy5w
eQkocmV2aXNpb24gMTQ4MTc2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3VwZGF0ZWNocm9taXVtZGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMSwxMDAgKzAsMCBAQAot
IyBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMK
LSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
IyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4K
LSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0KLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgc3lzCi1pbXBvcnQgdXJs
bGliMgotCi1mcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0
cmFjdFN0ZXAKLWZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5vcHRpb25zIGltcG9ydCBPcHRpb25z
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IHVybHMKLWZyb20gd2Via2l0cHku
Y29tbW9uLm5ldC5uZXR3b3JrdHJhbnNhY3Rpb24gaW1wb3J0IE5ldHdvcmtUaW1lb3V0Ci0KLV9s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLQotCi1jbGFzcyBVcGRhdGVDaHJvbWl1
bURFUFMoQWJzdHJhY3RTdGVwKToKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgb3B0aW9ucyhj
bHMpOgotICAgICAgICByZXR1cm4gQWJzdHJhY3RTdGVwLm9wdGlvbnMoKSArIFsKLSAgICAgICAg
ICAgIE9wdGlvbnMubm9uX2ludGVyYWN0aXZlLAotICAgICAgICBdCi0KLSAgICAjIE5vdGljZSB0
aGF0IHRoaXMgbWV0aG9kIHRocm93cyBsb3RzIG9mIGV4Y2l0aW5nIGV4Y2VwdGlvbnMhCi0gICAg
ZGVmIF9mZXRjaF9sYXN0X2tub3duX2dvb2RfcmV2aXNpb24oc2VsZik6Ci0gICAgICAgIHJldHVy
biBpbnQoc2VsZi5fdG9vbC53ZWIuZ2V0X2JpbmFyeSh1cmxzLmNocm9taXVtX2xrZ3JfdXJsKSkK
LQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBfcGFyc2VfcmV2aXNpb25fbnVtYmVyKGNscywg
cmV2aXNpb24pOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKHJldmlz
aW9uLCBpbnQpOgotICAgICAgICAgICAgICAgIHJldHVybiByZXZpc2lvbgotICAgICAgICAgICAg
aWYgaXNpbnN0YW5jZShyZXZpc2lvbiwgc3RyKToKLSAgICAgICAgICAgICAgICByZXR1cm4gaW50
KHJldmlzaW9uLmxzdHJpcCgncicpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAg
ZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgZGVmIF92
YWxpZGF0ZV9yZXZpc2lvbnMoc2VsZiwgY3VycmVudF9jaHJvbWl1bV9yZXZpc2lvbiwgbmV3X2No
cm9taXVtX3JldmlzaW9uKToKLSAgICAgICAgaWYgbmV3X2Nocm9taXVtX3JldmlzaW9uIDwgY3Vy
cmVudF9jaHJvbWl1bV9yZXZpc2lvbjoKLSAgICAgICAgICAgIG1lc3NhZ2UgPSAiQ3VycmVudCBD
aHJvbWl1bSBERVBTIHJldmlzaW9uICVzIGlzIG5ld2VyIHRoYW4gJXMuIiAlIChjdXJyZW50X2No
cm9taXVtX3JldmlzaW9uLCBuZXdfY2hyb21pdW1fcmV2aXNpb24pCi0gICAgICAgICAgICBpZiBz
ZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgICAgICBfbG9nLmVycm9y
KG1lc3NhZ2UpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKLSAgICAgICAgICAgIF9sb2cu
aW5mbyhtZXNzYWdlKQotICAgICAgICAgICAgbmV3X2Nocm9taXVtX3JldmlzaW9uID0gc2VsZi5f
dG9vbC51c2VyLnByb21wdCgiRW50ZXIgbmV3IGNocm9taXVtIHJldmlzaW9uIChlbnRlciBub3Ro
aW5nIHRvIGNhbmNlbCk6XG4iKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG5l
d19jaHJvbWl1bV9yZXZpc2lvbiA9IGludChuZXdfY2hyb21pdW1fcmV2aXNpb24pCi0gICAgICAg
ICAgICBleGNlcHQgVmFsdWVFcnJvciwgVHlwZUVycm9yOgotICAgICAgICAgICAgICAgIG5ld19j
aHJvbWl1bV9yZXZpc2lvbiA9IE5vbmUKLSAgICAgICAgICAgIGlmIG5vdCBuZXdfY2hyb21pdW1f
cmV2aXNpb246Ci0gICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiVW5hYmxlIHRvIHVwZGF0ZSBD
aHJvbWl1bSBERVBTLiIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIGRlZiBy
dW4oc2VsZiwgc3RhdGUpOgotICAgICAgICBuZXdfY2hyb21pdW1fcmV2aXNpb24gPSBzdGF0ZVsi
Y2hyb21pdW1fcmV2aXNpb24iXQotICAgICAgICBpZiBuZXdfY2hyb21pdW1fcmV2aXNpb24gPT0g
IkxLR1IiOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG5ld19jaHJvbWl1bV9y
ZXZpc2lvbiA9IHNlbGYuX2ZldGNoX2xhc3Rfa25vd25fZ29vZF9yZXZpc2lvbigpCi0gICAgICAg
ICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJVbmFi
bGUgdG8gcGFyc2UgTEtHUiBmcm9tOiAiLCB1cmxzLmNocm9taXVtX2xrZ3JfdXJsKQotICAgICAg
ICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBleGNlcHQgTmV0d29ya1RpbWVvdXQ6
Ci0gICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiVW5hYmxlIHRvIHJlYWNoIExLR1Igc291cmNl
OiAiLCB1cmxzLmNocm9taXVtX2xrZ3JfdXJsKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KDEp
Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBuZXdfY2hyb21pdW1fcmV2aXNpb24gPSBzZWxm
Ll9wYXJzZV9yZXZpc2lvbl9udW1iZXIobmV3X2Nocm9taXVtX3JldmlzaW9uKQotICAgICAgICAg
ICAgaWYgbm90IG5ld19jaHJvbWl1bV9yZXZpc2lvbjoKLSAgICAgICAgICAgICAgICBfbG9nLmVy
cm9yKCJJbnZhbGlkIHJldmlzaW9uIG51bWJlci4iKQotICAgICAgICAgICAgICAgIHN5cy5leGl0
KDEpCi0KLSAgICAgICAgZGVwcyA9IHNlbGYuX3Rvb2wuY2hlY2tvdXQoKS5jaHJvbWl1bV9kZXBz
KCkKLSAgICAgICAgY3VycmVudF9jaHJvbWl1bV9yZXZpc2lvbiA9IGRlcHMucmVhZF92YXJpYWJs
ZSgiY2hyb21pdW1fcmV2IikKLSAgICAgICAgc2VsZi5fdmFsaWRhdGVfcmV2aXNpb25zKGN1cnJl
bnRfY2hyb21pdW1fcmV2aXNpb24sIG5ld19jaHJvbWl1bV9yZXZpc2lvbikKLSAgICAgICAgX2xv
Zy5pbmZvKCJVcGRhdGluZyBDaHJvbWl1bSBERVBTIHRvICVzIiAlIG5ld19jaHJvbWl1bV9yZXZp
c2lvbikKLSAgICAgICAgZGVwcy53cml0ZV92YXJpYWJsZSgiY2hyb21pdW1fcmV2IiwgbmV3X2No
cm9taXVtX3JldmlzaW9uKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3VwZGF0ZWNocm9taXVtZGVwc191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hyb21pdW1kZXBzX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAxNDgxNzYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBk
YXRlY2hyb21pdW1kZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM5ICswLDAg
QEAKLSMgQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0jIG1ldDoKLSMKLSMgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0jICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0jIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSMgZGlzdHJpYnV0aW9u
LgotIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKLSMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KLSMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotCi1pbXBvcnQgdW5pdHRlc3QyIGFzIHVuaXR0ZXN0Ci0KLWZyb20g
d2Via2l0cHkudG9vbC5zdGVwcy51cGRhdGVjaHJvbWl1bWRlcHMgaW1wb3J0IFVwZGF0ZUNocm9t
aXVtREVQUwotCi0KLWNsYXNzIFVwZGF0ZUNocm9taXVtREVQU1Rlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgotICAgIGRlZiB0ZXN0X3BhcnNlX3JldmlzaW9uX251bWJlcihzZWxmKToKLSAgICAgICAg
c2VsZi5hc3NlcnRJc05vbmUoVXBkYXRlQ2hyb21pdW1ERVBTLl9wYXJzZV9yZXZpc2lvbl9udW1i
ZXIoTm9uZSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKFVwZGF0ZUNocm9taXVtREVQUy5f
cGFyc2VfcmV2aXNpb25fbnVtYmVyKCJpbnZhbGlkIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoMTIzNCwgVXBkYXRlQ2hyb21pdW1ERVBTLl9wYXJzZV9yZXZpc2lvbl9udW1iZXIoIjEyMzQi
KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxMjM0LCBVcGRhdGVDaHJvbWl1bURFUFMuX3Bh
cnNlX3JldmlzaW9uX251bWJlcigicjEyMzQiKSkK
</data>
<flag name="review"
          id="219469"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>