<?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>102455</bug_id>
          
          <creation_ts>2012-11-15 18:55:53 -0800</creation_ts>
          <short_desc>IndexedDB: setVersion excision batch 9</short_desc>
          <delta_ts>2012-11-16 16:53:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>768818</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-15 18:55:53 -0800</bug_when>
    <thetext>IndexedDB: setVersion excision batch 9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768822</commentid>
    <comment_count>1</comment_count>
      <attachid>174588</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-15 19:03:03 -0800</bug_when>
    <thetext>Created attachment 174588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768825</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-15 19:05:23 -0800</bug_when>
    <thetext>Josh, could you take a look?  I think this is the last batch of regular tests.  The rest were broken in the conversion, were already disabled, or specifically test setversion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769652</commentid>
    <comment_count>3</comment_count>
      <attachid>174588</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-16 13:58:16 -0800</bug_when>
    <thetext>Comment on attachment 174588
Patch

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

lgtm...

&gt; LayoutTests/storage/indexeddb/resources/transaction-basics.js:228
&gt; +//    trans.addEventListener(&apos;complete&apos;, completeCallback, false);

Delete this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769658</commentid>
    <comment_count>4</comment_count>
      <attachid>174588</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 14:01:58 -0800</bug_when>
    <thetext>Comment on attachment 174588
Patch

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

&gt;&gt; LayoutTests/storage/indexeddb/resources/transaction-basics.js:228
&gt;&gt; +//    trans.addEventListener(&apos;complete&apos;, completeCallback, false);
&gt; 
&gt; Delete this line?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769662</commentid>
    <comment_count>5</comment_count>
      <attachid>174756</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 14:06:38 -0800</bug_when>
    <thetext>Created attachment 174756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769663</commentid>
    <comment_count>6</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-16 14:07:10 -0800</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769746</commentid>
    <comment_count>7</comment_count>
      <attachid>174756</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 16:03:48 -0800</bug_when>
    <thetext>Comment on attachment 174756
Patch

Rejecting attachment 174756 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ICT (content): Merge conflict in Source/WebKit2/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Source/WebKit/win: [WinCairo] Unreviewed build fix after r134960.

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 154.

Full output: http://queues.webkit.org/results/14847951</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769774</commentid>
    <comment_count>8</comment_count>
      <attachid>174756</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 16:53:03 -0800</bug_when>
    <thetext>Comment on attachment 174756
Patch

Clearing flags on attachment: 174756

Committed r135018: &lt;http://trac.webkit.org/changeset/135018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769775</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 16:53:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174588</attachid>
            <date>2012-11-15 19:03:03 -0800</date>
            <delta_ts>2012-11-16 14:06:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102455-20121115190059.patch</filename>
            <type>text/plain</type>
            <size>33033</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0ODcwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjM0OWRlMGIwMmQyYWY2ZTEyOGY5
NzI5NDFiN2IwNWIyZDE2NjE3ZS4uNDAzNjI5NWQyOWUxNDFjNzViZWY5MDMwNjgzNmU0N2UyYmQx
NTMxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTExLTE1ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNldFZlcnNpb24gZXhj
aXNpb24gYmF0Y2ggOQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZXJzaXN0ZW5jZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlcnNpc3RlbmNlLmpzOgorICAgICAg
ICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAgICAgTGl0dGxlIGF3a3dhcmRuZXNzIHRvIGdldCB0
aGUgaW5pdGlhbCB2ZXJzaW9uIG51bWJlciB0byBiZSAwIChhY3R1YWxseSwKKyAgICAgICAgYmVj
YXVzZSBvZiBhIGJ1ZyBpdCdzICIiKSBzbyB0aGF0IGZpcnN0KCkgd2lsbCB0cmlnZ2VyIGEKKyAg
ICAgICAgdmVyc2lvbmNoYW5nZS4KKyAgICAgICAgKGZpcnN0KToKKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9ibG9ja2VkLmpzOgorICAgICAgICAg
IFNtYWxsICJibG9ja2VkIiB0ZXN0LiBJdCdzIHByb2JhYmx5IHJlZHVuZGFudCBkdWUgdG8gb3Vy
IGNyYXppZXIKKyAgICAgICAgICB0ZXN0cywgYnV0IGl0IGlzIG5pY2UgdG8gaGF2ZSBhIHN1Y2Np
bmN0IHRlc3QgdGhhdCBjaGVja3Mgb25lIHRoaW5nLgorCisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qczoKKyAgICAgICAgKHVuZXhwZWN0ZWRCbG9ja2VkQ2Fs
bGJhY2spOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlv
bi1iYXNpY3MuanM6CisgICAgICAgICAgVGhpcyB0ZXN0IGlzIGEgbWVzcywgb2J2aW91c2x5IHdy
aXR0ZW4gbmVhciB0aGUgZGF3biBvZiBJREIgd2hlbiBubworICAgICAgICAgIG9uZSBrbmV3IGhv
dyB0byB3cml0ZSBhbiBlZmZlY3RpdmUgdGVzdCBmb3IgaXQuIEluIHRoZSBpbnRlcmVzdHMgb2YK
KyAgICAgICAgICBwcmV2ZW50aW5nIHRoZSBkaWZmIGZyb20gZXhwbG9kaW5nIEkgZGlkbid0IHRh
a2UgYWxsIHRoZQorICAgICAgICAgIGNsYXJpZmljYXRpb24gb3Bwb3J0dW5pdGllcyB0aGF0IHdl
cmUgdGhlcmUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNh
Y3Rpb24tZXJyb3IuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25f
YmxvY2tlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1lcnJvci1leHBlY3RlZC50eHQ6CisKIDIwMTItMTEtMTUgIEtlbmljaGkgSXNo
aWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVzZSBjb21wbGV4IHBhdGgg
Zm9yIHRoZSByZWZlcmVuY2UgdGV4dCBpbiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9jb21iaW5p
bmctbWFya3MtcG9zaXRpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcGVyc2lzdGVuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcGVyc2lzdGVuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDAwNWNiZmNhZmZlYWNkODE2
ODRiYjQ2MWYzY2NiZWRlYzEzYjNjYzMuLjZlN2RhNTU5Y2E0OTFkOGY1MzBiYjYyNDcyYTg4ZGZi
YWNjMWY3YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlcnNp
c3RlbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9w
ZXJzaXN0ZW5jZS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6
IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1v
dmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBNRVNT
QUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUg
cmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLUNPTlNPTEUg
TUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxs
IGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05T
T0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQg
d2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgot
Q09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQg
YW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVh
ZC4KIFRlc3QgSW5kZXhlZERCIHBlcnNpc3RlbmNlCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KQEAgLTEwLDI1ICs1LDI1IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWRE
QiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5k
ZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1kYm5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lCitkYm5hbWUgPSAicGVyc2lzdGVuY2UuaHRtbCIKK2lu
ZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiAK
LXJlcXVlc3QgPSBpbmRleGVkREIub3BlbignZGJuYW1lJykKK3JlcXVlc3QgPSBpbmRleGVkREIu
b3BlbihkYm5hbWUsIDEpCiBkYiA9IHJlcXVlc3QucmVzdWx0CiBQQVNTIGRiIGlzIG5vbi1udWxs
LgotZGIuc2V0VmVyc2lvbigiMSIpCi1QQVNTIGRiLnZlcnNpb24gaXMgIjEiCi1QQVNTIGRiLm5h
bWUgaXMgImRibmFtZSIKK1BBU1MgZGIudmVyc2lvbiBpcyAxCitQQVNTIGRiLm5hbWUgaXMgInBl
cnNpc3RlbmNlLmh0bWwiCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKIGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCBpcyAxCiBkYi5jbG9zZSgpCiAKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbignZGJuYW1l
JykKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCiBkYiA9IHJlcXVlc3QucmVz
dWx0CiBQQVNTIGRiIGlzIG5vbi1udWxsLgotZGIuc2V0VmVyc2lvbigiMiIpCi1QQVNTIGRiLnZl
cnNpb24gaXMgIjIiCi1QQVNTIGRiLm5hbWUgaXMgImRibmFtZSIKK1BBU1MgZGIudmVyc2lvbiBp
cyAyCitQQVNTIGRiLm5hbWUgaXMgInBlcnNpc3RlbmNlLmh0bWwiCiBQQVNTIGRiLm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIGlzIDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygn
c3RvcmUxJykgaXMgdHJ1ZQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicpCkBAIC0zNywx
MiArMzIsMTEgQEAgUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSBp
cyB0cnVlCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMicpIGlzIHRy
dWUKIGRiLmNsb3NlKCkKIAotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCdkYm5hbWUnKQorcmVx
dWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykKIGRiID0gcmVxdWVzdC5yZXN1bHQKIFBB
U1MgZGIgaXMgbm9uLW51bGwuCi1kYi5zZXRWZXJzaW9uKCIzIikKLVBBU1MgZGIudmVyc2lvbiBp
cyAiMyIKLVBBU1MgZGIubmFtZSBpcyAiZGJuYW1lIgorUEFTUyBkYi52ZXJzaW9uIGlzIDMKK1BB
U1MgZGIubmFtZSBpcyAicGVyc2lzdGVuY2UuaHRtbCIKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGggaXMgMgogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEn
KSBpcyB0cnVlCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMicpIGlz
IHRydWUKQEAgLTUyLDEyICs0NiwxMSBAQCBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFp
bnMoJ3N0b3JlMScpIGlzIGZhbHNlCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMo
J3N0b3JlMicpIGlzIHRydWUKIGRiLmNsb3NlKCkKIAotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVu
KCdkYm5hbWUnKQorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgNCkKIGRiID0gcmVx
dWVzdC5yZXN1bHQKIFBBU1MgZGIgaXMgbm9uLW51bGwuCi1kYi5zZXRWZXJzaW9uKCI0IikKLVBB
U1MgZGIudmVyc2lvbiBpcyAiNCIKLVBBU1MgZGIubmFtZSBpcyAiZGJuYW1lIgorUEFTUyBkYi52
ZXJzaW9uIGlzIDQKK1BBU1MgZGIubmFtZSBpcyAicGVyc2lzdGVuY2UuaHRtbCIKIFBBU1MgZGIu
b2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNv
bnRhaW5zKCdzdG9yZTEnKSBpcyBmYWxzZQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRh
aW5zKCdzdG9yZTInKSBpcyB0cnVlCkBAIC02NywxMiArNjAsMTEgQEAgUEFTUyBkYi5vYmplY3RT
dG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSBpcyBmYWxzZQogUEFTUyBkYi5vYmplY3RTdG9y
ZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTInKSBpcyBmYWxzZQogZGIuY2xvc2UoKQogCi1yZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4oJ2RibmFtZScpCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lLCA1KQogZGIgPSByZXF1ZXN0LnJlc3VsdAogUEFTUyBkYiBpcyBub24tbnVsbC4KLWRiLnNl
dFZlcnNpb24oIjUiKQotUEFTUyBkYi52ZXJzaW9uIGlzICI1IgotUEFTUyBkYi5uYW1lIGlzICJk
Ym5hbWUiCitQQVNTIGRiLnZlcnNpb24gaXMgNQorUEFTUyBkYi5uYW1lIGlzICJwZXJzaXN0ZW5j
ZS5odG1sIgogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCiBQQVNTIGRiLm9i
amVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIGlzIGZhbHNlCiBQQVNTIGRiLm9iamVj
dFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMicpIGlzIGZhbHNlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVyc2lzdGVuY2UuanMgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvcGVyc2lzdGVuY2UuanMKaW5kZXgg
NmQyZTZlM2QwODQ4ZGMwMjcwZDliY2ZlMDgzZWM5NWRkODczMGY4ZC4uOWQxY2IwZDY3NWRlZjlj
ZGQ4YWU5NWMzNTJmM2EwOWRlODJkZmVlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlcnNpc3RlbmNlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZXJzaXN0ZW5jZS5qcwpAQCAtNSwxNSArNSwyNSBA
QCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWRE
QiBwZXJzaXN0ZW5jZSIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFy
ZURhdGFiYXNlLCB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrKTsKK2Z1bmN0aW9uIHByZXBhcmVE
YXRhYmFzZSgpCiB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBldmFsQW5kTG9n
KCJkYm5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lIik7CisgICAgcmVxdWVzdCA9IGV2ZW50
LnRhcmdldDsKKyAgICB2YXIgZGIgPSByZXF1ZXN0LnJlc3VsdDsKKyAgICB2YXIgdHJhbnMgPSBy
ZXF1ZXN0LnRyYW5zYWN0aW9uOworICAgIHRyYW5zLmFib3J0KCk7CisgICAgcmVxdWVzdC5vbmVy
cm9yID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGRiLmNsb3NlKCk7CisgICAgICAgIGZpcnN0KCk7
CisgICAgfTsKK30KIAotICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKCIxIiwgZnVuY3Rpb24gKGNv
bm5lY3Rpb24pIHsKK2Z1bmN0aW9uIGZpcnN0KCkKK3sKKyAgICBvcGVuQW5kQ2hhbmdlVmVyc2lv
bigxLCBmdW5jdGlvbiAoY29ubmVjdGlvbikgewogICAgICAgICBkYiA9IGNvbm5lY3Rpb247Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICIxIik7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIubmFtZSIsICJkYm5hbWUiKTsKKyAgICAgICAgc2hv
dWxkQmUoImRiLnZlcnNpb24iLCAiMSIpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRiLm5hbWUiLCBkYm5hbWUpOwogICAgICAgICBzaG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGgiLCAiMCIpOwogICAgICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmUxJykiKTsKICAgICAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVu
Z3RoIiwgIjEiKTsKQEAgLTIyLDEwICszMiwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogZnVuY3Rp
b24gc2Vjb25kKCkKIHsKLSAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbigiMiIsIGZ1bmN0aW9uIChj
b25uZWN0aW9uKSB7CisgICAgb3BlbkFuZENoYW5nZVZlcnNpb24oMiwgZnVuY3Rpb24gKGNvbm5l
Y3Rpb24pIHsKICAgICAgICAgZGIgPSBjb25uZWN0aW9uOwotICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRiLnZlcnNpb24iLCAiMiIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRiLm5hbWUiLCAiZGJuYW1lIik7CisgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwg
IjIiKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi5uYW1lIiwgZGJuYW1lKTsK
ICAgICAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjEiKTsKICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEn
KSIpOwogICAgICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJyki
KTsKQEAgLTM3LDEwICs0NywxMCBAQCBmdW5jdGlvbiBzZWNvbmQoKQogCiBmdW5jdGlvbiB0aGly
ZCgpCiB7Ci0gICAgb3BlbkFuZENoYW5nZVZlcnNpb24oIjMiLCBmdW5jdGlvbiAoY29ubmVjdGlv
bikgeworICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKDMsIGZ1bmN0aW9uIChjb25uZWN0aW9uKSB7
CiAgICAgICAgIGRiID0gY29ubmVjdGlvbjsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkYi52ZXJzaW9uIiwgIjMiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi5u
YW1lIiwgImRibmFtZSIpOworICAgICAgICBzaG91bGRCZSgiZGIudmVyc2lvbiIsICIzIik7Cisg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIubmFtZSIsIGRibmFtZSk7CiAgICAgICAg
IHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7CiAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykiKTsKICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTIn
KSIpOwpAQCAtNTMsMTAgKzYzLDEwIEBAIGZ1bmN0aW9uIHRoaXJkKCkKIAogZnVuY3Rpb24gZm91
cnRoKCkKIHsKLSAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbigiNCIsIGZ1bmN0aW9uIChjb25uZWN0
aW9uKSB7CisgICAgb3BlbkFuZENoYW5nZVZlcnNpb24oNCwgZnVuY3Rpb24gKGNvbm5lY3Rpb24p
IHsKICAgICAgICAgZGIgPSBjb25uZWN0aW9uOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImRiLnZlcnNpb24iLCAiNCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRi
Lm5hbWUiLCAiZGJuYW1lIik7CisgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjQiKTsK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi5uYW1lIiwgZGJuYW1lKTsKICAgICAg
ICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjEiKTsKICAgICAgICAg
c2hvdWxkQmVGYWxzZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJykiKTsK
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9y
ZTInKSIpOwpAQCAtNjksMTAgKzc5LDEwIEBAIGZ1bmN0aW9uIGZvdXJ0aCgpCiAKIGZ1bmN0aW9u
IGZpZnRoKCkKIHsKLSAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbigiNSIsIGZ1bmN0aW9uIChjb25u
ZWN0aW9uKSB7CisgICAgb3BlbkFuZENoYW5nZVZlcnNpb24oNSwgZnVuY3Rpb24gKGNvbm5lY3Rp
b24pIHsKICAgICAgICAgZGIgPSBjb25uZWN0aW9uOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRiLnZlcnNpb24iLCAiNSIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRiLm5hbWUiLCAiZGJuYW1lIik7CisgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjUi
KTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi5uYW1lIiwgZGJuYW1lKTsKICAg
ICAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsKICAgICAg
ICAgc2hvdWxkQmVGYWxzZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUxJyki
KTsKICAgICAgICAgc2hvdWxkQmVGYWxzZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygn
c3RvcmUyJykiKTsKQEAgLTgzLDIzICs5MywxNiBAQCBmdW5jdGlvbiBmaWZ0aCgpCiBmdW5jdGlv
biBvcGVuQW5kQ2hhbmdlVmVyc2lvbih2ZXJzaW9uLCBjYWxsYmFjaywgbmV4dCkKIHsKICAgICBk
ZWJ1ZygiIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCdkYm5h
bWUnKSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUs
ICIgKyB2ZXJzaW9uICsgIikiKTsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7CisgICAgcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGV2YWxBbmRMb2coImRi
ID0gcmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkYiIpOwotICAg
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbigiICsgSlNPTi5zdHJpbmdp
ZnkodmVyc2lvbikgKyAiKSIpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnJlc3VsdDsKLSAgICAgICAgICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICAgICAgICAgIGNhbGxi
YWNrKGRiKTsKLSAgICAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgICAgICAgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOwotICAgICAgICAgICAgICAg
IG5leHQoKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgIH07CisgICAgICAgIGNhbGxiYWNrKGRi
KTsKICAgICB9OworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0KIH0KLQot
dGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL3NldF92ZXJzaW9uX2Jsb2NrZWQuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvc2V0X3ZlcnNpb25fYmxvY2tlZC5qcwppbmRleCBhMjlhYTVjZGE2NjE5ZmVk
M2ExYzdhMWEzMDk1NjQwMTY1MmVkOGI2Li4yY2M1Y2M1NjhlNWIzYTlhNGRiOWU0NTNlNWU2YTRj
MjFmZGU5YWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvc2V0X3ZlcnNpb25fYmxvY2tlZC5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvc2V0X3ZlcnNpb25fYmxvY2tlZC5qcwpAQCAtNSwzMyArNSwxNyBA
QCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJBbiBvcGVuIGNvbm5l
Y3Rpb24gYmxvY2tzIGEgc2VwYXJhdGUgY29ubmVjdGlvbidzIHNldFZlcnNpb24gY2FsbCIpOwog
Ci1jb25uZWN0aW9ucyA9IFtdCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFy
ZURhdGFiYXNlLCBvcGVuQW5vdGhlcik7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewot
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgb3BlbkRCQ29ubmVjdGlvbigpOwotfQot
Ci1mdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKLXsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4oJ3NldC12ZXJzaW9uLWJsb2NrZWQnKSIpOwotICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgY29ubmVjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiB9
CiAKLWZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK2Z1bmN0aW9uIG9wZW5Bbm90aGVyKCkKIHsKLSAg
ICBjb25uZWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICBjb25uZWN0aW9ucy5wdXNo
KGNvbm5lY3Rpb24pOwotICAgIG9yaWdpbmFsX3ZlcnNpb24gPSBjb25uZWN0aW9uLnZlcnNpb247
Ci0gICAgaWYgKGNvbm5lY3Rpb25zLmxlbmd0aCA8IDIpCi0gICAgICAgIG9wZW5EQkNvbm5lY3Rp
b24oKTsKLSAgICBlbHNlIHsKLSAgICAgICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0ID0gZXZh
bEFuZExvZygiY29ubmVjdGlvbnNbMF0uc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKLSAgICAg
ICAgdmVyc2lvbkNoYW5nZVJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwotICAgICAgICB2ZXJzaW9uQ2hhbmdlUmVxdWVzdC5vbnN1Y2Nlc3MgPSBpblNldFZlcnNpb247
Ci0gICAgICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uYmxvY2tlZCA9IGJsb2NrZWQ7Ci0gICAg
fQorICAgIG9wZW5SZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKTsKKyAgICBvcGVu
UmVxdWVzdC5vbmJsb2NrZWQgPSBibG9ja2VkOworICAgIG9wZW5SZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IGluU2V0VmVyc2lvbjsKIH0KIAogc2Vlbl9ibG9ja2VkX2V2ZW50ID0gZmFsc2U7CkBA
IC0zOSwxNyArMjMsMTYgQEAgZnVuY3Rpb24gYmxvY2tlZCgpCiB7CiAgICAgZXZhbEFuZExvZygi
c2Vlbl9ibG9ja2VkX2V2ZW50ID0gdHJ1ZSIpOwogICAgIGJsb2NrZWRfZXZlbnQgPSBldmVudDsK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImJsb2NrZWRfZXZlbnQudmVyc2lvbiIsICJ2ZXJz
aW9uIDEiKTsKKyAgICBzaG91bGRCZSgiYmxvY2tlZF9ldmVudC5vbGRWZXJzaW9uIiwgIjEiKTsK
KyAgICBzaG91bGRCZSgiYmxvY2tlZF9ldmVudC5uZXdWZXJzaW9uIiwgIjIiKTsKICAgICBzaG91
bGRFdmFsdWF0ZVRvKCJibG9ja2VkX2V2ZW50LnRhcmdldC5yZWFkeVN0YXRlIiwgIidwZW5kaW5n
JyIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb25zWzFdLmNsb3NlKCkiKTsKKyAgICBldmFs
QW5kTG9nKCJjb25uZWN0aW9uLmNsb3NlKCkiKTsKIH0KIAogZnVuY3Rpb24gaW5TZXRWZXJzaW9u
KCkKIHsKICAgICBkZWJ1ZygiaW4gc2V0VmVyc2lvbi5vbnN1Y2Nlc3MiKTsKICAgICBzaG91bGRC
ZVRydWUoInNlZW5fYmxvY2tlZF9ldmVudCIpOwotICAgIGRlbGV0ZUFsbE9iamVjdFN0b3Jlcyhj
b25uZWN0aW9uc1swXSk7CisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGNvbm5lY3Rpb24pOwog
ICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qcwppbmRleCAxZGZjYWM5MWQyMmZjMGE1
OGIwOGM4M2JiYTE2MjhiMWVmNWRhZGFhLi42YzNjZWM5ZmU2Y2Q5ZmNmYWNmMTFjMjJhMzgxMGJi
YjFlNzYzYzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvc2hhcmVkLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9zaGFyZWQuanMKQEAgLTY0LDkgKzY0LDkgQEAgZnVuY3Rpb24gdW5leHBlY3RlZENvbXBs
ZXRlQ2FsbGJhY2soKQogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiB1bmV4cGVj
dGVkQmxvY2tlZENhbGxiYWNrKCkKK2Z1bmN0aW9uIHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2so
ZSkKIHsKLSAgICB0ZXN0RmFpbGVkKCJvbmJsb2NrZWQgY2FsbGVkIHVuZXhwZWN0ZWRseSIpOwor
ICAgIHRlc3RGYWlsZWQoIm9uYmxvY2tlZCBjYWxsZWQgdW5leHBlY3RlZGx5LiBvbGRWZXJzaW9u
ID0gIiArIGUub2xkVmVyc2lvbiArICIsIG5ld1ZlcnNpb24gPSAiICsgZS5uZXdWZXJzaW9uKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWJhc2ljcy5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1iYXNpY3MuanMKaW5kZXgg
ZjkxNTMyYmYzODRhOTI0ZDkxZTJlYzA0NjdjYmU1MzI5MGI5Mzg2My4uY2NkODUwMzNiNGFkNmVl
ZGMyZTNjODU4YWQzNmRkYTY5ODFmMDRkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWJhc2ljcy5qcworKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYmFzaWNzLmpzCkBA
IC01LDQzICs1LDI3IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24o
IlRlc3QgSW5kZXhlZERCIHRyYW5zYWN0aW9uIGJhc2ljcy4iKTsKIAotZnVuY3Rpb24gdGVzdCgp
CitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFzZSwgdGVzdFNldFZlcnNpb25BYm9ydDEpOwor
ZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwotCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd0cmFuc2FjdGlv
bi1iYXNpY3MnKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9u
IG9wZW5TdWNjZXNzKCkKLXsKLSAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICBzZWxm
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwot
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKLSAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gY2xlYW5EYXRhYmFz
ZSgpCi17Ci0gICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiLCBjaGVja01ldGFkYXRhRW1wdHkp
OwotICAgIGV2ZW50LnRhcmdldC5yZXN1bHQub25jb21wbGV0ZSA9IHRlc3RTZXRWZXJzaW9uQWJv
cnQxOworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKIH0KIAogZnVuY3Rpb24gdGVzdFNl
dFZlcnNpb25BYm9ydDEoKQogewogICAgIGNoZWNrTWV0YWRhdGFFbXB0eSgpOwotICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwn
KSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRkUmVtb3ZlSURCT2JqZWN0czsKKyAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0ID0gbmV3Q29ubmVjdGlvbigpIik7CisgICAgcmVxdWVzdC5vbnVw
Z3JhZGVuZWVkZWQgPSBhZGRSZW1vdmVJREJPYmplY3RzOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0ZXN0
U2V0VmVyc2lvbkFib3J0MjsKIH0KIAogZnVuY3Rpb24gYWRkUmVtb3ZlSURCT2JqZWN0cygpCiB7
CiAgICAgZGVidWcoImFkZFJlbW92ZUlEQk9iamVjdHMoKToiKTsKLSAgICB2YXIgdHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQudHJh
bnNhY3Rpb24iKTsKICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7Ci0gICAgdHJhbnMuYWRk
RXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0ZXN0U2V0VmVyc2lvbkFib3J0MiwgdHJ1ZSk7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrOwogCiAgICAgdmFy
IHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVG
YWlsJywgbnVsbCkiKTsKQEAgLTU4LDE0ICs0MiwxNiBAQCBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lv
bkFib3J0MigpCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJ0ZXN0U2V0VmVyc2lvbkFib3J0
MigpOiIpOwogICAgIGNoZWNrTWV0YWRhdGFFbXB0eSgpOwotICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKSIpOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gYWRkUmVtb3ZlQWRkSURCT2JqZWN0czsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gbmV3Q29ubmVjdGlvbigpIik7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBhZGRSZW1vdmVBZGRJREJPYmplY3RzOworICAgIHJlcXVlc3Qub25lcnJvciA9IG51bGw7
CiB9CiAKIGZ1bmN0aW9uIGFkZFJlbW92ZUFkZElEQk9iamVjdHMoKQogewogICAgIGRlYnVnKCJh
ZGRSZW1vdmVBZGRJREJPYmplY3RzKCk6Iik7Ci0gICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVz
dWx0OworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnRy
YW5zYWN0aW9uIik7CiAgICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwogICAgIHRyYW5zLmFk
ZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgdGVzdFNldFZlcnNpb25BYm9ydDMsIGZhbHNlKTsKICAg
ICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CkBAIC04OCwx
NSArNzQsMTggQEAgZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydDMoKQogICAgIGRlYnVnKCJ0
ZXN0U2V0VmVyc2lvbkFib3J0MygpOiIpOwogICAgIHNob3VsZEJlRmFsc2UoImV2ZW50LmNhbmNl
bGFibGUiKTsKICAgICBjaGVja01ldGFkYXRhRW1wdHkoKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygicmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykiKTsKLSAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZElEQk9iamVjdHM7CisgICAgZXZhbEFuZExvZygicmVxdWVz
dCA9IG5ld0Nvbm5lY3Rpb24oKSIpOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gYWRk
SURCT2JqZWN0czsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2Fs
bGJhY2s7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdGVzdFNldFZlcnNpb25BYm9ydDQ7CiB9CiAK
IGZ1bmN0aW9uIGFkZElEQk9iamVjdHMoKQogewogICAgIGRlYnVnKCJhZGRJREJPYmplY3RzKCk6
Iik7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgIHNob3VsZEJlRmFsc2UoImV2
ZW50LmNhbmNlbGFibGUiKTsKLSAgICB2YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICB2YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbiIpOwogICAgIHNob3VsZEJlTm9uTnVsbCgidHJhbnMi
KTsKICAgICB0cmFucy5vbmFib3J0ID0gdGVzdEluYWN0aXZlQWJvcnRlZFRyYW5zYWN0aW9uOwog
ICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKQEAgLTEy
Myw4ICsxMTIsNiBAQCBmdW5jdGlvbiB0ZXN0SW5hY3RpdmVBYm9ydGVkVHJhbnNhY3Rpb24oKQog
ICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNsZWFyKCkiLCAiSURCRGF0YWJhc2VF
eGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwgIidUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3InIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KDApIiwgIklE
QkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIsICInVHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yJyIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLm9w
ZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9F
UlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciciKTsKLQotICAgIHRlc3RTZXRWZXJzaW9u
QWJvcnQ0KCk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCkKQEAgLTEzMiwx
NCArMTE5LDE3IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCkKICAgICBkZWJ1Zygi
Iik7CiAgICAgZGVidWcoInRlc3RTZXRWZXJzaW9uQWJvcnQ0KCk6Iik7CiAgICAgY2hlY2tNZXRh
ZGF0YUVtcHR5KCk7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdGFydFNl
dFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhZGRJ
REJPYmplY3RzQW5kQ29tbWl0OworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBuZXdDb25uZWN0
aW9uKCkiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGFkZElEQk9iamVjdHNBbmRD
b21taXQ7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0ZXN0U2V0VmVyc2lvbkFib3J0NTsKIH0KIAogZnVuY3Rp
b24gYWRkSURCT2JqZWN0c0FuZENvbW1pdCgpCiB7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVz
dWx0OwogICAgIGRlYnVnKCJhZGRJREJPYmplY3RzQW5kQ29tbWl0KCk6Iik7Ci0gICAgdmFyIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgdmFy
IHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24iKTsK
ICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogCkBAIC0xNjUsOCArMTU1LDYgQEAgZnVuY3Rpb24gdGVzdElu
YWN0aXZlQ29tcGxldGVkVHJhbnNhY3Rpb24oKQogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmNsZWFyKCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJ
VkVfRVJSIiwgIidUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InIik7CiAgICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigic3RvcmUuZ2V0KDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNU
SU9OX0lOQUNUSVZFX0VSUiIsICInVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJyIpOwogICAgIGV2
YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLm9wZW5DdXJzb3IoKSIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVF
cnJvciciKTsKLQotICAgIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCk7CiB9CiAKIGZ1bmN0aW9uIHRl
c3RTZXRWZXJzaW9uQWJvcnQ1KCkKQEAgLTE3NCwxNiArMTYyLDE4IEBAIGZ1bmN0aW9uIHRlc3RT
ZXRWZXJzaW9uQWJvcnQ1KCkKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInRlc3RTZXRWZXJz
aW9uQWJvcnQ1KCk6Iik7CiAgICAgY2hlY2tNZXRhZGF0YUV4aXN0aW5nT2JqZWN0U3RvcmUoKTsK
LSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVy
c2lvbiBmYWlsJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHJlbW92ZUlEQk9iamVjdHM7
CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKSIpOworICAgIHJlcXVl
c3Qub251cGdyYWRlbmVlZGVkID0gcmVtb3ZlSURCT2JqZWN0czsKKyAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmVycm9yID0g
dGVzdFNldFZlcnNpb25BYm9ydDY7CiB9CiAKIGZ1bmN0aW9uIHJlbW92ZUlEQk9iamVjdHMoKQog
eworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBkZWJ1ZygicmVtb3ZlSURCT2Jq
ZWN0cygpOiIpOwotICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uIik7CiAgICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwotICAg
IHRyYW5zLm9uYWJvcnQgPSB0ZXN0U2V0VmVyc2lvbkFib3J0NjsKICAgICB0cmFucy5vbmNvbXBs
ZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAKICAgICB2YXIgc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKSIpOwpAQCAtMTk4
LDE0ICsxODgsOSBAQCBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lvbkFib3J0NigpCiAgICAgZGVidWco
IiIpOwogICAgIGRlYnVnKCJ0ZXN0U2V0VmVyc2lvbkFib3J0NigpOiIpOwogICAgIGNoZWNrTWV0
YWRhdGFFeGlzdGluZ09iamVjdFN0b3JlKCk7Ci0gICAgc2V0TmV3VmVyc2lvbigpOwotfQotCi1m
dW5jdGlvbiBzdGFydFNldFZlcnNpb24odmVyc2lvbk5hbWUpCi17Ci0gICAgcmVxdWVzdCA9IGRi
LnNldFZlcnNpb24odmVyc2lvbk5hbWUpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotICAgIHJldHVybiByZXF1ZXN0OworICAgIGV2YWxBbmRMb2coInJl
cXVlc3QgPSBuZXdDb25uZWN0aW9uKCkiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IHNldFZlcnNpb25TdWNjZXNzOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY29tcGxldGVDYWxs
YmFjazsKIH0KIAogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUVtcHR5KCkKQEAgLTIyMiwyMiArMjA3
LDI1IEBAIGZ1bmN0aW9uIGNoZWNrTWV0YWRhdGFFeGlzdGluZ09iamVjdFN0b3JlKCkKICAgICBz
aG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykiLCAidHJ1
ZSIpOwogfQogCi1mdW5jdGlvbiBzZXROZXdWZXJzaW9uKCkKK3ZhciB2ZXJzaW9uID0gMTsKK2Z1
bmN0aW9uIG5ld0Nvbm5lY3Rpb24oKQogewotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5z
ZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRW
ZXJzaW9uU3VjY2VzczsKKyAgICBkYi5jbG9zZSgpOworICAgIHZhciByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAiICsgKCsrdmVyc2lvbikgKyAiKSIpOwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qu
b25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXR1cm4gcmVxdWVz
dDsKIH0KIAogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogeworICAgIGRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdDsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNj
ZXNzKCk6Iik7Ci0gICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnRyYW5z
YWN0aW9uIik7CiAgICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICB0cmFucy5hZGRFdmVudExpc3RlbmVy
KCdjb21wbGV0ZScsIGNvbXBsZXRlQ2FsbGJhY2ssIGZhbHNlKTsKLSAgICBzZWxmLmNvbXBsZXRl
RXZlbnRGaXJlZCA9IGZhbHNlOworLy8gICAgdHJhbnMuYWRkRXZlbnRMaXN0ZW5lcignY29tcGxl
dGUnLCBjb21wbGV0ZUNhbGxiYWNrLCBmYWxzZSk7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9y
ZXMoZGIpOwogCkBAIC0yNDYsNiArMjM0LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3Mo
KQogCiBmdW5jdGlvbiBjb21wbGV0ZUNhbGxiYWNrKCkKIHsKKyAgICBwcmVhbWJsZSgpOwogICAg
IHNob3VsZEJlRmFsc2UoImV2ZW50LmNhbmNlbGFibGUiKTsKICAgICB0ZXN0UGFzc2VkKCJjb21w
bGV0ZSBldmVudCBmaXJlZCIpOwogICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJh
bnNhY3Rpb24oWydzdG9yZU5hbWUnXSkiKTsKQEAgLTI3Miw3ICsyNjEsNyBAQCBmdW5jdGlvbiB0
ZXN0RE9NU3RyaW5nTGlzdCgpCiAgICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zYWN0aW9uLm9i
amVjdFN0b3JlKCIgKyBKU09OLnN0cmluZ2lmeShkYi5vYmplY3RTdG9yZU5hbWVzW2ldKSArICIp
Iik7CiAgICAgfQogICAgIHRlc3RQYXNzZWQoImFsbCBzdG9yZXMgcHJlc2VudCBpbiB0cmFuc2Fj
dGlvbiIpOwotICAgIHRlc3RJbnZhbGlkTW9kZSgpOworICAgIHRyYW5zYWN0aW9uLm9uY29tcGxl
dGUgPSB0ZXN0SW52YWxpZE1vZGU7CiB9CiAKIGZ1bmN0aW9uIHRlc3RJbnZhbGlkTW9kZSgpCkBA
IC0yOTEsMTAgKzI4MCwxMSBAQCBmdW5jdGlvbiB0ZXN0RGVnZW5lcmF0ZU5hbWVzKCkKICAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihudWxsKSIsICJET01FeGNlcHRp
b24uTk9UX0ZPVU5EX0VSUiIsICInTm90Rm91bmRFcnJvciciKTsKICAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbih1bmRlZmluZWQpIiwgIkRPTUV4Y2VwdGlvbi5OT1Rf
Rk9VTkRfRVJSIiwgIidOb3RGb3VuZEVycm9yJyIpOwogCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImRiLnNldFZlcnNpb24oJ2Z1bm55IG5hbWVzJykiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1
ZXN0ID0gbmV3Q29ubmVjdGlvbigpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0g
ICAgICAgIHZhciB0cmFucyA9IHJlcXVlc3QucmVzdWx0OworICAgIHJlcXVlc3Qub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnRyYW5z
YWN0aW9uOworICAgICAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdudWxsJykiKTsKICAgICAgICAgZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3VuZGVmaW5lZCcpIik7CiAgICAgICAgIHRyYW5zLm9u
Y29tcGxldGUgPSB2ZXJpZnlEZWdlbmVyYXRlTmFtZXM7CkBAIC0zMDcsNSArMjk3LDMgQEAgZnVu
Y3Rpb24gdGVzdERlZ2VuZXJhdGVOYW1lcygpCiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAg
IH0KIH0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWVycm9yLmpzCmluZGV4IDU4MWRjMTFhNDQx
M2Y5YWFiNjdiNmVlNTcwNmUwMjk5Nzk1MmY1ZWEuLjU2MDYyOWJjY2FmOWZiZDFlMGI5OGNmMjQ3
NzJmYjM5ZWIwOGUzOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy90cmFuc2FjdGlvbi1lcnJvci5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tZXJyb3IuanMKQEAgLTUsMzIgKzUsMTMg
QEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVzdCBJREJUcmFu
c2FjdGlvbi5lcnJvciBjYXNlcy4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0
KHByZXBhcmVEYXRhYmFzZSwgc3RhcnRUZXN0KTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgp
CiB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQotICAgIGV2YWxBbmRMb2coImRibmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWUiKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uYmxvY2tl
ZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVz
dWx0OworICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAn
a2V5JykiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
LSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwotICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5y
ZXN1bHQiKTsKLSAgICAgICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9u
KCcxJykiKTsKLSAgICAgICAgICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2Nr
ZWRDYWxsYmFjazsKLSAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotICAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKLSAgICAgICAgICAgICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2s7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykiKTsKLSAgICAgICAgICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICAgICAgICAgIHRyYW5z
Lm9uY29tcGxldGUgPSBzdGFydFRlc3Q7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotICAg
IH07CiB9CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCkBAIC0xMTUsMTEgKzk2LDEyIEBAIGZ1bmN0
aW9uIHRlc3RFcnJvckZyb21Db21taXQoKQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV2YWxB
bmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcyJykiKTsKLSAgICAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgICAgIGRiLmNsb3NlKCk7Cisg
ICAgICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7
CisgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CiAg
ICAgICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAg
ICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGV2YWxB
bmRMb2coInRyYW5zID0gcmVxdWVzdC5yZXN1bHQiKTsKKyAgICAgICAgcmVxdWVzdC5vbnVwZ3Jh
ZGVuZWVkZWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0g
cmVxdWVzdC50cmFuc2FjdGlvbiIpOwogICAgICAgICAgICAgZGVidWcoIlRoaXMgc2hvdWxkIGZh
aWwgZHVlIHRvIHRoZSB1bmlxdWUgY29uc3RyYWludDoiKTsKICAgICAgICAgICAgIGV2YWxBbmRM
b2coInRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKS5jcmVhdGVJbmRleCgnaW5kZXhOYW1l
JywgJ2lkJywge3VuaXF1ZTogdHJ1ZX0pIik7CiAgICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRl
ID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CkBAIC0xMzQsNSArMTE2LDMgQEAgZnVuY3Rp
b24gdGVzdEVycm9yRnJvbUNvbW1pdCgpCiAgICAgICAgIH07CiAgICAgfTsKIH0KLQotdGVzdCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25f
YmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRf
dmVyc2lvbl9ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCA3NGZjNDk4Yjg1M2NlYjNiMzg5MWZm
NjdhMmI0N2UzMzYxNDA3YjQ5Li4wMDU0ZDMzM2ZhYzVhMmQ0MTFmNTg3N2FmMDM5MTRhMWE2YTIy
NWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lv
bl9ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9zZXRfdmVyc2lvbl9ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNP
TEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3
aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBB
biBvcGVuIGNvbm5lY3Rpb24gYmxvY2tzIGEgc2VwYXJhdGUgY29ubmVjdGlvbidzIHNldFZlcnNp
b24gY2FsbAogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC02LDEzICs1LDE0IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNl
bGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVk
REIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tYmxv
Y2tlZCcpCi1pbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tYmxvY2tlZCcpCi1jb25uZWN0aW9u
c1swXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQorZGJuYW1lID0gInNldF92ZXJzaW9uX2Jsb2Nr
ZWQuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3Bl
bihkYm5hbWUpCiBzZWVuX2Jsb2NrZWRfZXZlbnQgPSB0cnVlCi1QQVNTIGJsb2NrZWRfZXZlbnQu
dmVyc2lvbiBpcyAidmVyc2lvbiAxIgorUEFTUyBibG9ja2VkX2V2ZW50Lm9sZFZlcnNpb24gaXMg
MQorUEFTUyBibG9ja2VkX2V2ZW50Lm5ld1ZlcnNpb24gaXMgMgogUEFTUyBibG9ja2VkX2V2ZW50
LnRhcmdldC5yZWFkeVN0YXRlIGlzICdwZW5kaW5nJwotY29ubmVjdGlvbnNbMV0uY2xvc2UoKQor
Y29ubmVjdGlvbi5jbG9zZSgpCiBpbiBzZXRWZXJzaW9uLm9uc3VjY2VzcwogUEFTUyBzZWVuX2Js
b2NrZWRfZXZlbnQgaXMgdHJ1ZQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0CmluZGV4IDY5ZGEwZWQ3MDMyZDQ1YzkwYWFmZDUxOWYzNDE5NDNlZGYw
ODljMjYuLjc4ZjBjNmJlZjMwNjc5ZWFhODNiMDI3YTA0NjkzOWI3MDcyY2NlMmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhl
IHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQu
IFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQiB0
cmFuc2FjdGlvbiBiYXNpY3MuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsMTcg
KzUsMTYgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRl
eGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2Vs
Zi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWREQi5vcGVuKCd0cmFu
c2FjdGlvbi1iYXNpY3MnKQotb3BlblN1Y2Nlc3MoKToKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCi1EZWxldGVkIGFsbCBvYmpl
Y3Qgc3RvcmVzLgorZGJuYW1lID0gInRyYW5zYWN0aW9uLWJhc2ljcy5odG1sIgoraW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIFBBU1Mgc2Vs
Zi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGggaXMgMAogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0
b3JlRmFpbCcpIGlzIGZhbHNlCi1yZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZh
aWwnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCAy
KQogYWRkUmVtb3ZlSURCT2JqZWN0cygpOgotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Cit0
cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgogUEFTUyB0cmFucyBpcyBub24tbnVsbC4K
IHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9
IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpCkBAIC0zMCw5ICsyOCwxMCBAQCB0
ZXN0U2V0VmVyc2lvbkFib3J0MigpOgogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMgaXMg
W10KIFBBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCiBQQVNTIHNlbGYu
ZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKLXJlcXVl
c3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcpCityZXF1ZXN0ID0gbmV3Q29ubmVj
dGlvbigpCitpbmRleGVkREIub3BlbihkYm5hbWUsIDMpCiBhZGRSZW1vdmVBZGRJREJPYmplY3Rz
KCk6Ci10cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnRy
YW5zYWN0aW9uCiBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4RmFpbCcsICd4JykKQEAgLTQ5LDEwICs0OCwxMSBAQCBQQVNTIGV2ZW50LmNhbmNlbGFibGUg
aXMgZmFsc2UKIFBBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHNlbGYu
ZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3Jl
TmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCi1yZXF1ZXN0ID0gc3RhcnRTZXRW
ZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhl
ZERCLm9wZW4oZGJuYW1lLCA0KQogYWRkSURCT2JqZWN0cygpOgogUEFTUyBldmVudC5jYW5jZWxh
YmxlIGlzIGZhbHNlCi10cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uCiBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4RmFpbCcsICd4JykKQEAgLTEwNyw5ICsxMDcsMTAgQEAgdGVzdFNldFZlcnNp
b25BYm9ydDQoKToKIFBBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHNl
bGYuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAogUEFTUyBzZWxmLmRiLm9iamVjdFN0
b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCi1yZXF1ZXN0ID0gc3RhcnRT
ZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5k
ZXhlZERCLm9wZW4oZGJuYW1lLCA1KQogYWRkSURCT2JqZWN0c0FuZENvbW1pdCgpOgotdHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgog
UEFTUyB0cmFucyBpcyBub24tbnVsbC4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAn
eCcpCkBAIC0xNjQsOSArMTY1LDEwIEBAIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCk6CiBQQVNTIGRi
Lm9iamVjdFN0b3JlTmFtZXMgaXMgWydzdG9yZUZhaWwnXQogUEFTUyBkYi5vYmplY3RTdG9yZU5h
bWVzLmxlbmd0aCBpcyAxCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3Jl
RmFpbCcpIGlzIHRydWUKLXJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcp
CityZXF1ZXN0ID0gbmV3Q29ubmVjdGlvbigpCitpbmRleGVkREIub3BlbihkYm5hbWUsIDYpCiBy
ZW1vdmVJREJPYmplY3RzKCk6Ci10cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0g
ZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uCiBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUg
PSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVGYWlsJykKIHN0b3JlLmRlbGV0ZUluZGV4KCdpbmRl
eEZhaWwnKQpAQCAtMTc2LDEzICsxNzgsMTYgQEAgdGVzdFNldFZlcnNpb25BYm9ydDYoKToKIFBB
U1MgZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbJ3N0b3JlRmFpbCddCiBQQVNTIGRiLm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIGlzIDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygn
c3RvcmVGYWlsJykgaXMgdHJ1ZQotZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorcmVxdWVz
dCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCA3KQogCiBzZXRWZXJz
aW9uU3VjY2VzcygpOgotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFucyA9IGV2ZW50
LnRhcmdldC50cmFuc2FjdGlvbgogUEFTUyB0cmFucyBpcyBub24tbnVsbC4KIERlbGV0ZWQgYWxs
IG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkK
KworY29tcGxldGVDYWxsYmFjaygpOgogUEFTUyBldmVudC5jYW5jZWxhYmxlIGlzIGZhbHNlCiBQ
QVNTIGNvbXBsZXRlIGV2ZW50IGZpcmVkCiBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQpA
QCAtMjEyLDcgKzIxNyw4IEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlv
bih1bmRlZmluZWQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERP
TUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiBQQVNTIGVuYW1lIGlzICdOb3RGb3VuZEVycm9yJwot
ZGIuc2V0VmVyc2lvbignZnVubnkgbmFtZXMnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQor
aW5kZXhlZERCLm9wZW4oZGJuYW1lLCA4KQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ251bGwnKQog
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3VuZGVmaW5lZCcpCiBQQVNTIHRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24obnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1leHBl
Y3RlZC50eHQKaW5kZXggZDM0MTM4NTlhZDczODZiYTYzZDNiN2RkN2Y5NzMxMTBlMmUyMTUzMi4u
ODA5MTIzNzJmMzI0MmQ5NGZlYTNjNjUyZTFlMjI2Njk4NGE3ZTExNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXJyb3ItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNp
b24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUg
InVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTI6
IFVuY2F1Z2h0IEVycm9yOiBUaGlzIHNob3VsZCAqTk9UKiBiZSBjYXVnaHQhCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNzM6IFVuY2F1Z2h0IEVycm9yOiBUaGlzIHNob3VsZCAqTk9UKiBiZSBjYXVn
aHQhCiBUZXN0IElEQlRyYW5zYWN0aW9uLmVycm9yIGNhc2VzLgogCiBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCkBAIC03LDEyICs2LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5k
ZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5t
b3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWRi
bmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWUKK2RibmFtZSA9ICJ0cmFuc2FjdGlvbi1lcnJv
ci5odG1sIgogaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVu
KGRibmFtZSkKLWRiID0gcmVxdWVzdC5yZXN1bHQKLWRiLnNldFZlcnNpb24oJzEnKQotdHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0CiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQogc3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKQogCkBAIC00OSw4ICs0NSw4IEBAIElm
IHRoZSB0cmFuc2FjdGlvbiBpcyBhYm9ydGVkIGR1ZSB0byBhbiBlcnJvciBkdXJpbmcgY29tbWl0
LCBJREJUcmFuc2FjdGlvbi5lcnJvCiB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUn
LCAncmVhZHdyaXRlJykKIHJlcXVlc3QgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJyku
YWRkKHtpZDogMX0sICdyZWNvcmQxJykKIHJlcXVlc3QgPSB0cmFucy5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykuYWRkKHtpZDogMX0sICdyZWNvcmQyJykKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9u
KCcyJykKLXRyYW5zID0gcmVxdWVzdC5yZXN1bHQKK3JlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Ym5hbWUsIDIpCit0cmFucyA9IHJlcXVlc3QudHJhbnNhY3Rpb24KIFRoaXMgc2hvdWxkIGZhaWwg
ZHVlIHRvIHRoZSB1bmlxdWUgY29uc3RyYWludDoKIHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJ2lkJywge3VuaXF1ZTogdHJ1ZX0pCiBUcmFu
c2FjdGlvbiByZWNlaXZlZCBhYm9ydCBldmVudC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174756</attachid>
            <date>2012-11-16 14:06:38 -0800</date>
            <delta_ts>2012-11-16 16:53:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102455-20121116140433.patch</filename>
            <type>text/plain</type>
            <size>32901</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTY2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjRkYzg5MDQwYWMwYzRiNWY3YzYw
MzRjMzhjMmU3YTZhNTU2MDY3Yi4uMGQ5MDM5MGE1MmEzMjI2OGZiN2FhYTAzOTg1MTBhMTk1M2Fm
ZjA4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTExLTE1ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHNldFZlcnNpb24gZXhj
aXNpb24gYmF0Y2ggOQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9wZXJzaXN0ZW5jZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3BlcnNpc3RlbmNlLmpzOgorICAgICAg
ICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAgICAgTGl0dGxlIGF3a3dhcmRuZXNzIHRvIGdldCB0
aGUgaW5pdGlhbCB2ZXJzaW9uIG51bWJlciB0byBiZSAwIChhY3R1YWxseSwKKyAgICAgICAgYmVj
YXVzZSBvZiBhIGJ1ZyBpdCdzICIiKSBzbyB0aGF0IGZpcnN0KCkgd2lsbCB0cmlnZ2VyIGEKKyAg
ICAgICAgdmVyc2lvbmNoYW5nZS4KKyAgICAgICAgKGZpcnN0KToKKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zZXRfdmVyc2lvbl9ibG9ja2VkLmpzOgorICAgICAgICAg
IFNtYWxsICJibG9ja2VkIiB0ZXN0LiBJdCdzIHByb2JhYmx5IHJlZHVuZGFudCBkdWUgdG8gb3Vy
IGNyYXppZXIKKyAgICAgICAgICB0ZXN0cywgYnV0IGl0IGlzIG5pY2UgdG8gaGF2ZSBhIHN1Y2Np
bmN0IHRlc3QgdGhhdCBjaGVja3Mgb25lIHRoaW5nLgorCisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL3NoYXJlZC5qczoKKyAgICAgICAgKHVuZXhwZWN0ZWRCbG9ja2VkQ2Fs
bGJhY2spOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlv
bi1iYXNpY3MuanM6CisgICAgICAgICAgVGhpcyB0ZXN0IGlzIGEgbWVzcywgb2J2aW91c2x5IHdy
aXR0ZW4gbmVhciB0aGUgZGF3biBvZiBJREIgd2hlbiBubworICAgICAgICAgIG9uZSBrbmV3IGhv
dyB0byB3cml0ZSBhbiBlZmZlY3RpdmUgdGVzdCBmb3IgaXQuIEluIHRoZSBpbnRlcmVzdHMgb2YK
KyAgICAgICAgICBwcmV2ZW50aW5nIHRoZSBkaWZmIGZyb20gZXhwbG9kaW5nIEkgZGlkbid0IHRh
a2UgYWxsIHRoZQorICAgICAgICAgIGNsYXJpZmljYXRpb24gb3Bwb3J0dW5pdGllcyB0aGF0IHdl
cmUgdGhlcmUuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvdHJhbnNh
Y3Rpb24tZXJyb3IuanM6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25f
YmxvY2tlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1lcnJvci1leHBlY3RlZC50eHQ6CisKIDIwMTItMTEtMTYgIFJvYmVydCBGbGFj
ayAgPGZsYWNrckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGFuZGxlIGdlc3R1cmUgZXZlbnRz
IG9uIHNjcm9sbGJhcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9wZXJzaXN0ZW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9wZXJzaXN0ZW5jZS1leHBlY3RlZC50eHQKaW5kZXggMDA1Y2JmY2FmZmVhY2Q4MTY4NGJiNDYx
ZjNjY2JlZGVjMTNiM2NjMy4uNmU3ZGE1NTljYTQ5MWQ4ZjUzMGJiNjI0NzJhODhkZmJhY2MxZjdj
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcGVyc2lzdGVuY2Ut
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3BlcnNpc3Rl
bmNlLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNl
dFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVz
ZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IFRo
ZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVk
LiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdF
OiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVt
b3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLUNPTlNPTEUgTUVT
U0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJl
IHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xF
IE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2ls
bCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVz
dCBJbmRleGVkREIgcGVyc2lzdGVuY2UKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAt
MTAsMjUgKzUsMjUgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2Vs
Zi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIg
fHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWRibmFtZSA9IHNlbGYu
bG9jYXRpb24ucGF0aG5hbWUKK2RibmFtZSA9ICJwZXJzaXN0ZW5jZS5odG1sIgoraW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIAotcmVxdWVz
dCA9IGluZGV4ZWREQi5vcGVuKCdkYm5hbWUnKQorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRi
bmFtZSwgMSkKIGRiID0gcmVxdWVzdC5yZXN1bHQKIFBBU1MgZGIgaXMgbm9uLW51bGwuCi1kYi5z
ZXRWZXJzaW9uKCIxIikKLVBBU1MgZGIudmVyc2lvbiBpcyAiMSIKLVBBU1MgZGIubmFtZSBpcyAi
ZGJuYW1lIgorUEFTUyBkYi52ZXJzaW9uIGlzIDEKK1BBU1MgZGIubmFtZSBpcyAicGVyc2lzdGVu
Y2UuaHRtbCIKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAogZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlMScpCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlz
IDEKIGRiLmNsb3NlKCkKIAotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCdkYm5hbWUnKQorcmVx
dWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKIGRiID0gcmVxdWVzdC5yZXN1bHQKIFBB
U1MgZGIgaXMgbm9uLW51bGwuCi1kYi5zZXRWZXJzaW9uKCIyIikKLVBBU1MgZGIudmVyc2lvbiBp
cyAiMiIKLVBBU1MgZGIubmFtZSBpcyAiZGJuYW1lIgorUEFTUyBkYi52ZXJzaW9uIGlzIDIKK1BB
U1MgZGIubmFtZSBpcyAicGVyc2lzdGVuY2UuaHRtbCIKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGggaXMgMQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEn
KSBpcyB0cnVlCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJykKQEAgLTM3LDEyICszMiwx
MSBAQCBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIGlzIHRydWUK
IFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUyJykgaXMgdHJ1ZQogZGIu
Y2xvc2UoKQogCi1yZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oJ2RibmFtZScpCityZXF1ZXN0ID0g
aW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKQogZGIgPSByZXF1ZXN0LnJlc3VsdAogUEFTUyBkYiBp
cyBub24tbnVsbC4KLWRiLnNldFZlcnNpb24oIjMiKQotUEFTUyBkYi52ZXJzaW9uIGlzICIzIgot
UEFTUyBkYi5uYW1lIGlzICJkYm5hbWUiCitQQVNTIGRiLnZlcnNpb24gaXMgMworUEFTUyBkYi5u
YW1lIGlzICJwZXJzaXN0ZW5jZS5odG1sIgogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0
aCBpcyAyCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIGlzIHRy
dWUKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUyJykgaXMgdHJ1ZQpA
QCAtNTIsMTIgKzQ2LDExIEBAIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3Rv
cmUxJykgaXMgZmFsc2UKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUy
JykgaXMgdHJ1ZQogZGIuY2xvc2UoKQogCi1yZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oJ2RibmFt
ZScpCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0KQogZGIgPSByZXF1ZXN0LnJl
c3VsdAogUEFTUyBkYiBpcyBub24tbnVsbC4KLWRiLnNldFZlcnNpb24oIjQiKQotUEFTUyBkYi52
ZXJzaW9uIGlzICI0IgotUEFTUyBkYi5uYW1lIGlzICJkYm5hbWUiCitQQVNTIGRiLnZlcnNpb24g
aXMgNAorUEFTUyBkYi5uYW1lIGlzICJwZXJzaXN0ZW5jZS5odG1sIgogUEFTUyBkYi5vYmplY3RT
dG9yZU5hbWVzLmxlbmd0aCBpcyAxCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMo
J3N0b3JlMScpIGlzIGZhbHNlCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0
b3JlMicpIGlzIHRydWUKQEAgLTY3LDEyICs2MCwxMSBAQCBQQVNTIGRiLm9iamVjdFN0b3JlTmFt
ZXMuY29udGFpbnMoJ3N0b3JlMScpIGlzIGZhbHNlCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMu
Y29udGFpbnMoJ3N0b3JlMicpIGlzIGZhbHNlCiBkYi5jbG9zZSgpCiAKLXJlcXVlc3QgPSBpbmRl
eGVkREIub3BlbignZGJuYW1lJykKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDUp
CiBkYiA9IHJlcXVlc3QucmVzdWx0CiBQQVNTIGRiIGlzIG5vbi1udWxsLgotZGIuc2V0VmVyc2lv
bigiNSIpCi1QQVNTIGRiLnZlcnNpb24gaXMgIjUiCi1QQVNTIGRiLm5hbWUgaXMgImRibmFtZSIK
K1BBU1MgZGIudmVyc2lvbiBpcyA1CitQQVNTIGRiLm5hbWUgaXMgInBlcnNpc3RlbmNlLmh0bWwi
CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKIFBBU1MgZGIub2JqZWN0U3Rv
cmVOYW1lcy5jb250YWlucygnc3RvcmUxJykgaXMgZmFsc2UKIFBBU1MgZGIub2JqZWN0U3RvcmVO
YW1lcy5jb250YWlucygnc3RvcmUyJykgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZXJzaXN0ZW5jZS5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9wZXJzaXN0ZW5jZS5qcwppbmRleCA2ZDJlNmUz
ZDA4NDhkYzAyNzBkOWJjZmUwODNlYzk1ZGQ4NzMwZjhkLi45ZDFjYjBkNjc1ZGVmOWNkZDhhZTk1
YzM1MmYzYTA5ZGU4MmRmZWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvcGVyc2lzdGVuY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVzb3VyY2VzL3BlcnNpc3RlbmNlLmpzCkBAIC01LDE1ICs1LDI1IEBAIGlmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCIHBlcnNp
c3RlbmNlIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJh
c2UsIHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2spOworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNl
KCkKIHsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwotICAgIGV2YWxBbmRMb2coImRibmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWUiKTsKKyAgICByZXF1ZXN0ID0gZXZlbnQudGFyZ2V0
OworICAgIHZhciBkYiA9IHJlcXVlc3QucmVzdWx0OworICAgIHZhciB0cmFucyA9IHJlcXVlc3Qu
dHJhbnNhY3Rpb247CisgICAgdHJhbnMuYWJvcnQoKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgZGIuY2xvc2UoKTsKKyAgICAgICAgZmlyc3QoKTsKKyAgICB9
OworfQogCi0gICAgb3BlbkFuZENoYW5nZVZlcnNpb24oIjEiLCBmdW5jdGlvbiAoY29ubmVjdGlv
bikgeworZnVuY3Rpb24gZmlyc3QoKQoreworICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKDEsIGZ1
bmN0aW9uIChjb25uZWN0aW9uKSB7CiAgICAgICAgIGRiID0gY29ubmVjdGlvbjsKLSAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgIjEiKTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkYi5uYW1lIiwgImRibmFtZSIpOworICAgICAgICBzaG91bGRCZSgi
ZGIudmVyc2lvbiIsICIxIik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIubmFt
ZSIsIGRibmFtZSk7CiAgICAgICAgIHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0
aCIsICIwIik7CiAgICAgICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9y
ZTEnKSIpOwogICAgICAgICBzaG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAi
MSIpOwpAQCAtMjIsMTAgKzMyLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogCiBmdW5jdGlvbiBzZWNv
bmQoKQogewotICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKCIyIiwgZnVuY3Rpb24gKGNvbm5lY3Rp
b24pIHsKKyAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbigyLCBmdW5jdGlvbiAoY29ubmVjdGlvbikg
ewogICAgICAgICBkYiA9IGNvbm5lY3Rpb247Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZGIudmVyc2lvbiIsICIyIik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIu
bmFtZSIsICJkYm5hbWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiMiIpOwor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLm5hbWUiLCBkYm5hbWUpOwogICAgICAg
ICBzaG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMSIpOwogICAgICAgICBz
aG91bGRCZVRydWUoImRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIik7CiAg
ICAgICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTInKSIpOwpAQCAt
MzcsMTAgKzQ3LDEwIEBAIGZ1bmN0aW9uIHNlY29uZCgpCiAKIGZ1bmN0aW9uIHRoaXJkKCkKIHsK
LSAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbigiMyIsIGZ1bmN0aW9uIChjb25uZWN0aW9uKSB7Cisg
ICAgb3BlbkFuZENoYW5nZVZlcnNpb24oMywgZnVuY3Rpb24gKGNvbm5lY3Rpb24pIHsKICAgICAg
ICAgZGIgPSBjb25uZWN0aW9uOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLnZl
cnNpb24iLCAiMyIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLm5hbWUiLCAi
ZGJuYW1lIik7CisgICAgICAgIHNob3VsZEJlKCJkYi52ZXJzaW9uIiwgIjMiKTsKKyAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi5uYW1lIiwgZGJuYW1lKTsKICAgICAgICAgc2hvdWxk
QmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjIiKTsKICAgICAgICAgc2hvdWxkQmVU
cnVlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOwogICAgICAgICBz
aG91bGRCZVRydWUoImRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMicpIik7CkBA
IC01MywxMCArNjMsMTAgQEAgZnVuY3Rpb24gdGhpcmQoKQogCiBmdW5jdGlvbiBmb3VydGgoKQog
ewotICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKCI0IiwgZnVuY3Rpb24gKGNvbm5lY3Rpb24pIHsK
KyAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbig0LCBmdW5jdGlvbiAoY29ubmVjdGlvbikgewogICAg
ICAgICBkYiA9IGNvbm5lY3Rpb247Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIu
dmVyc2lvbiIsICI0Iik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIubmFtZSIs
ICJkYm5hbWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiNCIpOworICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLm5hbWUiLCBkYm5hbWUpOwogICAgICAgICBzaG91
bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMSIpOwogICAgICAgICBzaG91bGRC
ZUZhbHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOwogICAgICAg
ICBzaG91bGRCZVRydWUoImRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMicpIik7
CkBAIC02OSwxMCArNzksMTAgQEAgZnVuY3Rpb24gZm91cnRoKCkKIAogZnVuY3Rpb24gZmlmdGgo
KQogewotICAgIG9wZW5BbmRDaGFuZ2VWZXJzaW9uKCI1IiwgZnVuY3Rpb24gKGNvbm5lY3Rpb24p
IHsKKyAgICBvcGVuQW5kQ2hhbmdlVmVyc2lvbig1LCBmdW5jdGlvbiAoY29ubmVjdGlvbikgewog
ICAgICAgICBkYiA9IGNvbm5lY3Rpb247Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZGIudmVyc2lvbiIsICI1Iik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIubmFt
ZSIsICJkYm5hbWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImRiLnZlcnNpb24iLCAiNSIpOworICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRiLm5hbWUiLCBkYm5hbWUpOwogICAgICAgICBz
aG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMCIpOwogICAgICAgICBzaG91
bGRCZUZhbHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOwogICAg
ICAgICBzaG91bGRCZUZhbHNlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZTIn
KSIpOwpAQCAtODMsMjMgKzkzLDE2IEBAIGZ1bmN0aW9uIGZpZnRoKCkKIGZ1bmN0aW9uIG9wZW5B
bmRDaGFuZ2VWZXJzaW9uKHZlcnNpb24sIGNhbGxiYWNrLCBuZXh0KQogewogICAgIGRlYnVnKCIi
KTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oJ2RibmFtZScpIik7
CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgIiArIHZl
cnNpb24gKyAiKSIpOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRD
YWxsYmFjazsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
LSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKKyAgICByZXF1ZXN0Lm9udXBn
cmFkZW5lZWRlZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgZXZhbEFuZExvZygiZGIgPSByZXF1
ZXN0LnJlc3VsdCIpOwogICAgICAgICBzaG91bGRCZU5vbk51bGwoImRiIik7Ci0gICAgICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCIgKyBKU09OLnN0cmluZ2lmeSh2ZXJz
aW9uKSArICIpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgIHZhciB0cmFucyA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgICAgICAgdHJhbnMub25h
Ym9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwotICAgICAgICAgICAgY2FsbGJhY2soZGIp
OwotICAgICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7Ci0gICAgICAgICAgICAgICAgbmV4dCgp
OwotICAgICAgICAgICAgfTsKLSAgICAgICAgfTsKKyAgICAgICAgY2FsbGJhY2soZGIpOwogICAg
IH07CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZXZhbEFu
ZExvZygiZGIuY2xvc2UoKSIpOworICAgICAgICBuZXh0KCk7CisgICAgfQogfQotCi10ZXN0KCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvc2V0
X3ZlcnNpb25fYmxvY2tlZC5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9zZXRfdmVyc2lvbl9ibG9ja2VkLmpzCmluZGV4IGEyOWFhNWNkYTY2MTlmZWQzYTFjN2Ex
YTMwOTU2NDAxNjUyZWQ4YjYuLjJjYzVjYzU2OGU1YjNhOWE0ZGI5ZTQ1M2U1ZTZhNGMyMWZkZTlh
ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9z
ZXRfdmVyc2lvbl9ibG9ja2VkLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9zZXRfdmVyc2lvbl9ibG9ja2VkLmpzCkBAIC01LDMzICs1LDE3IEBAIGlmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIkFuIG9wZW4gY29ubmVjdGlvbiBi
bG9ja3MgYSBzZXBhcmF0ZSBjb25uZWN0aW9uJ3Mgc2V0VmVyc2lvbiBjYWxsIik7CiAKLWNvbm5l
Y3Rpb25zID0gW10KLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJh
c2UsIG9wZW5Bbm90aGVyKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBvcGVuREJDb25uZWN0aW9uKCk7Ci19Ci0KLWZ1bmN0
aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQotewotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3Blbignc2V0LXZlcnNpb24tYmxvY2tlZCcpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKKyAgICBjb25uZWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKIH0KIAotZnVu
Y3Rpb24gb3BlblN1Y2Nlc3MoKQorZnVuY3Rpb24gb3BlbkFub3RoZXIoKQogewotICAgIGNvbm5l
Y3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgIGNvbm5lY3Rpb25zLnB1c2goY29ubmVj
dGlvbik7Ci0gICAgb3JpZ2luYWxfdmVyc2lvbiA9IGNvbm5lY3Rpb24udmVyc2lvbjsKLSAgICBp
ZiAoY29ubmVjdGlvbnMubGVuZ3RoIDwgMikKLSAgICAgICAgb3BlbkRCQ29ubmVjdGlvbigpOwot
ICAgIGVsc2UgewotICAgICAgICB2YXIgdmVyc2lvbkNoYW5nZVJlcXVlc3QgPSBldmFsQW5kTG9n
KCJjb25uZWN0aW9uc1swXS5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwotICAgICAgICB2ZXJz
aW9uQ2hhbmdlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAg
ICAgIHZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyA9IGluU2V0VmVyc2lvbjsKLSAgICAg
ICAgdmVyc2lvbkNoYW5nZVJlcXVlc3Qub25ibG9ja2VkID0gYmxvY2tlZDsKLSAgICB9CisgICAg
b3BlblJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpOworICAgIG9wZW5SZXF1ZXN0
Lm9uYmxvY2tlZCA9IGJsb2NrZWQ7CisgICAgb3BlblJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
aW5TZXRWZXJzaW9uOwogfQogCiBzZWVuX2Jsb2NrZWRfZXZlbnQgPSBmYWxzZTsKQEAgLTM5LDE3
ICsyMywxNiBAQCBmdW5jdGlvbiBibG9ja2VkKCkKIHsKICAgICBldmFsQW5kTG9nKCJzZWVuX2Js
b2NrZWRfZXZlbnQgPSB0cnVlIik7CiAgICAgYmxvY2tlZF9ldmVudCA9IGV2ZW50OwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiYmxvY2tlZF9ldmVudC52ZXJzaW9uIiwgInZlcnNpb24gMSIp
OworICAgIHNob3VsZEJlKCJibG9ja2VkX2V2ZW50Lm9sZFZlcnNpb24iLCAiMSIpOworICAgIHNo
b3VsZEJlKCJibG9ja2VkX2V2ZW50Lm5ld1ZlcnNpb24iLCAiMiIpOwogICAgIHNob3VsZEV2YWx1
YXRlVG8oImJsb2NrZWRfZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUiLCAiJ3BlbmRpbmcnIik7Ci0g
ICAgZXZhbEFuZExvZygiY29ubmVjdGlvbnNbMV0uY2xvc2UoKSIpOworICAgIGV2YWxBbmRMb2co
ImNvbm5lY3Rpb24uY2xvc2UoKSIpOwogfQogCiBmdW5jdGlvbiBpblNldFZlcnNpb24oKQogewog
ICAgIGRlYnVnKCJpbiBzZXRWZXJzaW9uLm9uc3VjY2VzcyIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
c2Vlbl9ibG9ja2VkX2V2ZW50Iik7Ci0gICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGNvbm5lY3Rp
b25zWzBdKTsKKyAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoY29ubmVjdGlvbik7CiAgICAgZmlu
aXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9zaGFyZWQuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvc2hhcmVkLmpzCmluZGV4IDFkZmNhYzkxZDIyZmMwYTU4YjA4Yzgz
YmJhMTYyOGIxZWY1ZGFkYWEuLjZjM2NlYzlmZTZjZDlmY2ZhY2YxMWMyMmEzODEwYmJiMWU3NjNj
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9z
aGFyZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3No
YXJlZC5qcwpAQCAtNjQsOSArNjQsOSBAQCBmdW5jdGlvbiB1bmV4cGVjdGVkQ29tcGxldGVDYWxs
YmFjaygpCiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIHVuZXhwZWN0ZWRCbG9j
a2VkQ2FsbGJhY2soKQorZnVuY3Rpb24gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjayhlKQogewot
ICAgIHRlc3RGYWlsZWQoIm9uYmxvY2tlZCBjYWxsZWQgdW5leHBlY3RlZGx5Iik7CisgICAgdGVz
dEZhaWxlZCgib25ibG9ja2VkIGNhbGxlZCB1bmV4cGVjdGVkbHkuIG9sZFZlcnNpb24gPSAiICsg
ZS5vbGRWZXJzaW9uICsgIiwgbmV3VmVyc2lvbiA9ICIgKyBlLm5ld1ZlcnNpb24pOwogICAgIGZp
bmlzaEpTVGVzdCgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYmFzaWNzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWJhc2ljcy5qcwppbmRleCBmOTE1MzJi
ZjM4NGE5MjRkOTFlMmVjMDQ2N2NiZTUzMjkwYjkzODYzLi44ZWI3NTYzNDUwZTNhMjAzMmU5NmUw
N2QyMGQ0MzVlNjA2YjQwMmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYmFzaWNzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1iYXNpY3MuanMKQEAgLTUsNDMg
KzUsMjcgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVzdCBJ
bmRleGVkREIgdHJhbnNhY3Rpb24gYmFzaWNzLiIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4
ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlLCB0ZXN0U2V0VmVyc2lvbkFib3J0MSk7CitmdW5jdGlv
biBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9uLWJhc2lj
cycpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQotewotICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOwotICAgIHNlbGYuZGIgPSBl
dmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKLXsK
LSAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIsIGNoZWNrTWV0YWRhdGFFbXB0eSk7Ci0gICAg
ZXZlbnQudGFyZ2V0LnJlc3VsdC5vbmNvbXBsZXRlID0gdGVzdFNldFZlcnNpb25BYm9ydDE7Cisg
ICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwogfQogCiBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lv
bkFib3J0MSgpCiB7CiAgICAgY2hlY2tNZXRhZGF0YUVtcHR5KCk7Ci0gICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhZGRSZW1vdmVJREJPYmplY3RzOworICAgIGV2YWxBbmRM
b2coInJlcXVlc3QgPSBuZXdDb25uZWN0aW9uKCkiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5l
ZWRlZCA9IGFkZFJlbW92ZUlEQk9iamVjdHM7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4
cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOworICAgIHJlcXVlc3Qub25lcnJvciA9IHRlc3RTZXRWZXJz
aW9uQWJvcnQyOwogfQogCiBmdW5jdGlvbiBhZGRSZW1vdmVJREJPYmplY3RzKCkKIHsKICAgICBk
ZWJ1ZygiYWRkUmVtb3ZlSURCT2JqZWN0cygpOiIpOwotICAgIHZhciB0cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlv
biIpOwogICAgIHNob3VsZEJlTm9uTnVsbCgidHJhbnMiKTsKLSAgICB0cmFucy5hZGRFdmVudExp
c3RlbmVyKCdhYm9ydCcsIHRlc3RTZXRWZXJzaW9uQWJvcnQyLCB0cnVlKTsKICAgICB0cmFucy5v
bmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAKICAgICB2YXIgc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnLCBu
dWxsKSIpOwpAQCAtNTgsMTQgKzQyLDE2IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQy
KCkKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInRlc3RTZXRWZXJzaW9uQWJvcnQyKCk6Iik7
CiAgICAgY2hlY2tNZXRhZGF0YUVtcHR5KCk7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJl
cXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcpIik7Ci0gICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBhZGRSZW1vdmVBZGRJREJPYmplY3RzOworICAgIGV2YWxBbmRMb2coInJlcXVl
c3QgPSBuZXdDb25uZWN0aW9uKCkiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGFk
ZFJlbW92ZUFkZElEQk9iamVjdHM7CisgICAgcmVxdWVzdC5vbmVycm9yID0gbnVsbDsKIH0KIAog
ZnVuY3Rpb24gYWRkUmVtb3ZlQWRkSURCT2JqZWN0cygpCiB7CiAgICAgZGVidWcoImFkZFJlbW92
ZUFkZElEQk9iamVjdHMoKToiKTsKLSAgICB2YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Cisg
ICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQudHJhbnNhY3Rp
b24iKTsKICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CiAgICAgdHJhbnMuYWRkRXZlbnRM
aXN0ZW5lcignYWJvcnQnLCB0ZXN0U2V0VmVyc2lvbkFib3J0MywgZmFsc2UpOwogICAgIHRyYW5z
Lm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKQEAgLTg4LDE1ICs3NCwx
OCBAQCBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lvbkFib3J0MygpCiAgICAgZGVidWcoInRlc3RTZXRW
ZXJzaW9uQWJvcnQzKCk6Iik7CiAgICAgc2hvdWxkQmVGYWxzZSgiZXZlbnQuY2FuY2VsYWJsZSIp
OwogICAgIGNoZWNrTWV0YWRhdGFFbXB0eSgpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKSIpOwotICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gYWRkSURCT2JqZWN0czsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gbmV3
Q29ubmVjdGlvbigpIik7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBhZGRJREJPYmpl
Y3RzOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0ZXN0U2V0VmVyc2lvbkFib3J0NDsKIH0KIAogZnVuY3Rp
b24gYWRkSURCT2JqZWN0cygpCiB7CiAgICAgZGVidWcoImFkZElEQk9iamVjdHMoKToiKTsKKyAg
ICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgc2hvdWxkQmVGYWxzZSgiZXZlbnQuY2Fu
Y2VsYWJsZSIpOwotICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uIik7CiAgICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB0ZXN0SW5hY3RpdmVBYm9ydGVkVHJhbnNhY3Rpb247CiAgICAgdHJh
bnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrOwpAQCAtMTIzLDggKzEx
Miw2IEBAIGZ1bmN0aW9uIHRlc3RJbmFjdGl2ZUFib3J0ZWRUcmFuc2FjdGlvbigpCiAgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY2xlYXIoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlv
bi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIiLCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcici
KTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5nZXQoMCkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSIiwgIidUcmFuc2FjdGlvbkluYWN0
aXZlRXJyb3InIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUub3BlbkN1cnNv
cigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIsICIn
VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJyIpOwotCi0gICAgdGVzdFNldFZlcnNpb25BYm9ydDQo
KTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydDQoKQpAQCAtMTMyLDE0ICsxMTks
MTcgQEAgZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydDQoKQogICAgIGRlYnVnKCIiKTsKICAg
ICBkZWJ1ZygidGVzdFNldFZlcnNpb25BYm9ydDQoKToiKTsKICAgICBjaGVja01ldGFkYXRhRW1w
dHkoKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lv
bigndmVyc2lvbiBmYWlsJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZElEQk9iamVj
dHNBbmRDb21taXQ7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKSIp
OworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gYWRkSURCT2JqZWN0c0FuZENvbW1pdDsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHRlc3RTZXRWZXJzaW9uQWJvcnQ1OwogfQogCiBmdW5jdGlvbiBhZGRJ
REJPYmplY3RzQW5kQ29tbWl0KCkKIHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAg
ICAgZGVidWcoImFkZElEQk9iamVjdHNBbmRDb21taXQoKToiKTsKLSAgICB2YXIgdHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICB2YXIgdHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbiIpOwogICAgIHNo
b3VsZEJlTm9uTnVsbCgidHJhbnMiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CiAKQEAgLTE2NSw4ICsxNTUsNiBAQCBmdW5jdGlvbiB0ZXN0SW5hY3RpdmVD
b21wbGV0ZWRUcmFuc2FjdGlvbigpCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUu
Y2xlYXIoKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5UUkFOU0FDVElPTl9JTkFDVElWRV9FUlIi
LCAiJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciciKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJzdG9yZS5nZXQoMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5B
Q1RJVkVfRVJSIiwgIidUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InIik7CiAgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigic3RvcmUub3BlbkN1cnNvcigpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUiIsICInVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJyIp
OwotCi0gICAgdGVzdFNldFZlcnNpb25BYm9ydDUoKTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZl
cnNpb25BYm9ydDUoKQpAQCAtMTc0LDE2ICsxNjIsMTggQEAgZnVuY3Rpb24gdGVzdFNldFZlcnNp
b25BYm9ydDUoKQogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygidGVzdFNldFZlcnNpb25BYm9y
dDUoKToiKTsKICAgICBjaGVja01ldGFkYXRhRXhpc3RpbmdPYmplY3RTdG9yZSgpOwotICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZh
aWwnKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gcmVtb3ZlSURCT2JqZWN0czsKKyAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0ID0gbmV3Q29ubmVjdGlvbigpIik7CisgICAgcmVxdWVzdC5vbnVw
Z3JhZGVuZWVkZWQgPSByZW1vdmVJREJPYmplY3RzOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
dW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0ZXN0U2V0
VmVyc2lvbkFib3J0NjsKIH0KIAogZnVuY3Rpb24gcmVtb3ZlSURCT2JqZWN0cygpCiB7CisgICAg
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgIGRlYnVnKCJyZW1vdmVJREJPYmplY3RzKCk6
Iik7Ci0gICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
dHJhbnNhY3Rpb24iKTsKICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7Ci0gICAgdHJhbnMu
b25hYm9ydCA9IHRlc3RTZXRWZXJzaW9uQWJvcnQ2OwogICAgIHRyYW5zLm9uY29tcGxldGUgPSB1
bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKIAogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2co
InN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcpIik7CkBAIC0xOTgsMTQgKzE4
OCw5IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uQWJvcnQ2KCkKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoInRlc3RTZXRWZXJzaW9uQWJvcnQ2KCk6Iik7CiAgICAgY2hlY2tNZXRhZGF0YUV4
aXN0aW5nT2JqZWN0U3RvcmUoKTsKLSAgICBzZXROZXdWZXJzaW9uKCk7Ci19Ci0KLWZ1bmN0aW9u
IHN0YXJ0U2V0VmVyc2lvbih2ZXJzaW9uTmFtZSkKLXsKLSAgICByZXF1ZXN0ID0gZGIuc2V0VmVy
c2lvbih2ZXJzaW9uTmFtZSk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Ci0gICAgcmV0dXJuIHJlcXVlc3Q7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9
IG5ld0Nvbm5lY3Rpb24oKSIpOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gc2V0VmVy
c2lvblN1Y2Nlc3M7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjb21wbGV0ZUNhbGxiYWNrOwog
fQogCiBmdW5jdGlvbiBjaGVja01ldGFkYXRhRW1wdHkoKQpAQCAtMjIyLDIyICsyMDcsMjQgQEAg
ZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUV4aXN0aW5nT2JqZWN0U3RvcmUoKQogICAgIHNob3VsZEJl
KCJkYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSIsICJ0cnVlIik7CiB9
CiAKLWZ1bmN0aW9uIHNldE5ld1ZlcnNpb24oKQordmFyIHZlcnNpb24gPSAxOworZnVuY3Rpb24g
bmV3Q29ubmVjdGlvbigpCiB7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNp
b24oJ25ldyB2ZXJzaW9uJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb25T
dWNjZXNzOworICAgIGRiLmNsb3NlKCk7CisgICAgdmFyIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihkYm5hbWUsICIgKyAoKyt2ZXJzaW9uKSArICIpIik7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2Nr
ZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOworICAgIHJldHVybiByZXF1ZXN0OwogfQog
CiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CisgICAgZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0OwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToi
KTsKLSAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24i
KTsKICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVu
ZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwotICAgIHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBs
ZXRlJywgY29tcGxldGVDYWxsYmFjaywgZmFsc2UpOwotICAgIHNlbGYuY29tcGxldGVFdmVudEZp
cmVkID0gZmFsc2U7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCkBAIC0yNDYs
NiArMjMzLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogCiBmdW5jdGlvbiBjb21w
bGV0ZUNhbGxiYWNrKCkKIHsKKyAgICBwcmVhbWJsZSgpOwogICAgIHNob3VsZEJlRmFsc2UoImV2
ZW50LmNhbmNlbGFibGUiKTsKICAgICB0ZXN0UGFzc2VkKCJjb21wbGV0ZSBldmVudCBmaXJlZCIp
OwogICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5h
bWUnXSkiKTsKQEAgLTI3Miw3ICsyNjAsNyBAQCBmdW5jdGlvbiB0ZXN0RE9NU3RyaW5nTGlzdCgp
CiAgICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCIgKyBKU09O
LnN0cmluZ2lmeShkYi5vYmplY3RTdG9yZU5hbWVzW2ldKSArICIpIik7CiAgICAgfQogICAgIHRl
c3RQYXNzZWQoImFsbCBzdG9yZXMgcHJlc2VudCBpbiB0cmFuc2FjdGlvbiIpOwotICAgIHRlc3RJ
bnZhbGlkTW9kZSgpOworICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB0ZXN0SW52YWxpZE1v
ZGU7CiB9CiAKIGZ1bmN0aW9uIHRlc3RJbnZhbGlkTW9kZSgpCkBAIC0yOTEsMTAgKzI3OSwxMSBA
QCBmdW5jdGlvbiB0ZXN0RGVnZW5lcmF0ZU5hbWVzKCkKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJkYi50cmFuc2FjdGlvbihudWxsKSIsICJET01FeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIs
ICInTm90Rm91bmRFcnJvciciKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFu
c2FjdGlvbih1bmRlZmluZWQpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIiwgIidOb3RG
b3VuZEVycm9yJyIpOwogCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24o
J2Z1bm55IG5hbWVzJykiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gbmV3Q29ubmVjdGlv
bigpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciB0cmFucyA9
IHJlcXVlc3QucmVzdWx0OworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24g
KCkgeworICAgICAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uOworICAgICAgICBk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdudWxsJykiKTsKICAgICAgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3VuZGVmaW5lZCcpIik7CiAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSB2ZXJpZnlE
ZWdlbmVyYXRlTmFtZXM7CkBAIC0zMDcsNSArMjk2LDMgQEAgZnVuY3Rpb24gdGVzdERlZ2VuZXJh
dGVOYW1lcygpCiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KIH0KLQotdGVzdCgpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5z
YWN0aW9uLWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L3RyYW5zYWN0aW9uLWVycm9yLmpzCmluZGV4IDU4MWRjMTFhNDQxM2Y5YWFiNjdiNmVlNTcwNmUw
Mjk5Nzk1MmY1ZWEuLjU2MDYyOWJjY2FmOWZiZDFlMGI5OGNmMjQ3NzJmYjM5ZWIwOGUzOTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2Fj
dGlvbi1lcnJvci5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvdHJhbnNhY3Rpb24tZXJyb3IuanMKQEAgLTUsMzIgKzUsMTMgQEAgaWYgKHRoaXMuaW1wb3J0
U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVzdCBJREJUcmFuc2FjdGlvbi5lcnJvciBjYXNl
cy4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFzZSwg
c3RhcnRUZXN0KTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAgcmVtb3ZlVmVu
ZG9yUHJlZml4ZXMoKTsKLQotICAgIGV2YWxBbmRMb2coImRibmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWUiKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURh
dGFiYXNlKGRibmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9j
a2VkQ2FsbGJhY2s7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIGV2YWxBbmRM
b2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4oZGJuYW1lKSIpOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAg
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCcxJykiKTsKLSAgICAgICAg
ICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAg
ICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAg
ICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICAgICAgICAgICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICAg
ICAgZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJyki
KTsKLSAgICAgICAgICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKCd2YWx1
ZScsICdrZXknKSIpOwotICAgICAgICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSBzdGFy
dFRlc3Q7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotICAgIH07CiB9CiAKIGZ1bmN0aW9u
IHN0YXJ0VGVzdCgpCkBAIC0xMTUsMTEgKzk2LDEyIEBAIGZ1bmN0aW9uIHRlc3RFcnJvckZyb21D
b21taXQoKQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5v
bmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBk
Yi5zZXRWZXJzaW9uKCcyJykiKTsKLSAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgICAgIGRiLmNsb3NlKCk7CisgICAgICAgIGV2YWxBbmRMb2co
InJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CisgICAgICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CiAgICAgICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gcmVx
dWVzdC5yZXN1bHQiKTsKKyAgICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gcmVxdWVzdC50cmFuc2FjdGlv
biIpOwogICAgICAgICAgICAgZGVidWcoIlRoaXMgc2hvdWxkIGZhaWwgZHVlIHRvIHRoZSB1bmlx
dWUgY29uc3RyYWludDoiKTsKICAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJ2lkJywge3VuaXF1ZTog
dHJ1ZX0pIik7CiAgICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBs
ZXRlQ2FsbGJhY2s7CkBAIC0xMzQsNSArMTE2LDMgQEAgZnVuY3Rpb24gdGVzdEVycm9yRnJvbUNv
bW1pdCgpCiAgICAgICAgIH07CiAgICAgfTsKIH0KLQotdGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLWV4
cGVjdGVkLnR4dAppbmRleCA3NGZjNDk4Yjg1M2NlYjNiMzg5MWZmNjdhMmI0N2UzMzYxNDA3YjQ5
Li4wMDU0ZDMzM2ZhYzVhMmQ0MTFmNTg3N2FmMDM5MTRhMWE2YTIyNWUyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9j
a2VkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNl
dFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVz
ZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBBbiBvcGVuIGNvbm5lY3Rpb24g
YmxvY2tzIGEgc2VwYXJhdGUgY29ubmVjdGlvbidzIHNldFZlcnNpb24gY2FsbAogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCkBAIC02LDEzICs1LDE0IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERC
IHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhl
ZERCOwogCi1pbmRleGVkREIub3Blbignc2V0LXZlcnNpb24tYmxvY2tlZCcpCi1pbmRleGVkREIu
b3Blbignc2V0LXZlcnNpb24tYmxvY2tlZCcpCi1jb25uZWN0aW9uc1swXS5zZXRWZXJzaW9uKCd2
ZXJzaW9uIDEnKQorZGJuYW1lID0gInNldF92ZXJzaW9uX2Jsb2NrZWQuaHRtbCIKK2luZGV4ZWRE
Qi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBzZWVuX2Js
b2NrZWRfZXZlbnQgPSB0cnVlCi1QQVNTIGJsb2NrZWRfZXZlbnQudmVyc2lvbiBpcyAidmVyc2lv
biAxIgorUEFTUyBibG9ja2VkX2V2ZW50Lm9sZFZlcnNpb24gaXMgMQorUEFTUyBibG9ja2VkX2V2
ZW50Lm5ld1ZlcnNpb24gaXMgMgogUEFTUyBibG9ja2VkX2V2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzICdwZW5kaW5nJwotY29ubmVjdGlvbnNbMV0uY2xvc2UoKQorY29ubmVjdGlvbi5jbG9zZSgp
CiBpbiBzZXRWZXJzaW9uLm9uc3VjY2VzcwogUEFTUyBzZWVuX2Jsb2NrZWRfZXZlbnQgaXMgdHJ1
ZQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY5ZGEwZWQ3MDMyZDQ1YzkwYWFmZDUxOWYzNDE5NDNlZGYwODljMjYuLjc4ZjBjNmJlZjMw
Njc5ZWFhODNiMDI3YTA0NjkzOWI3MDcyY2NlMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRo
b2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVu
ZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQiB0cmFuc2FjdGlvbiBiYXNpY3Mu
CiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsMTcgKzUsMTYgQEAgT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJr
aXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBz
ZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWREQi5vcGVuKCd0cmFuc2FjdGlvbi1iYXNpY3MnKQot
b3BlblN1Y2Nlc3MoKToKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24gMScpCi1EZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGJuYW1l
ID0gInRyYW5zYWN0aW9uLWJhc2ljcy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIFBBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5h
bWVzIGlzIFtdCiBQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAogUEFT
UyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNl
Ci1yZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQorcmVxdWVzdCA9IG5l
d0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQogYWRkUmVtb3ZlSURCT2Jq
ZWN0cygpOgotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFucyA9IGV2ZW50LnRhcmdl
dC50cmFuc2FjdGlvbgogUEFTUyB0cmFucyBpcyBub24tbnVsbC4KIHN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4
KCdpbmRleEZhaWwnLCAneCcpCkBAIC0zMCw5ICsyOCwxMCBAQCB0ZXN0U2V0VmVyc2lvbkFib3J0
MigpOgogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KIFBBU1Mgc2VsZi5kYi5v
YmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCiBQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKLXJlcXVlc3QgPSBzdGFydFNldFZlcnNp
b24oJ3ZlcnNpb24gZmFpbCcpCityZXF1ZXN0ID0gbmV3Q29ubmVjdGlvbigpCitpbmRleGVkREIu
b3BlbihkYm5hbWUsIDMpCiBhZGRSZW1vdmVBZGRJREJPYmplY3RzKCk6Ci10cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uCiBQQVNTIHRy
YW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWls
JywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JykKQEAg
LTQ5LDEwICs0OCwxMSBAQCBQQVNTIGV2ZW50LmNhbmNlbGFibGUgaXMgZmFsc2UKIFBBU1Mgc2Vs
Zi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGggaXMgMAogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0
b3JlRmFpbCcpIGlzIGZhbHNlCi1yZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZh
aWwnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0
KQogYWRkSURCT2JqZWN0cygpOgogUEFTUyBldmVudC5jYW5jZWxhYmxlIGlzIGZhbHNlCi10cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9u
CiBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcs
ICd4JykKQEAgLTEwNyw5ICsxMDcsMTAgQEAgdGVzdFNldFZlcnNpb25BYm9ydDQoKToKIFBBU1Mg
c2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCiBQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVO
YW1lcy5sZW5ndGggaXMgMAogUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMo
J3N0b3JlRmFpbCcpIGlzIGZhbHNlCi1yZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9u
IGZhaWwnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJuYW1l
LCA1KQogYWRkSURCT2JqZWN0c0FuZENvbW1pdCgpOgotdHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Cit0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgogUEFTUyB0cmFucyBpcyBub24t
bnVsbC4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51bGwpCiBp
bmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpCkBAIC0xNjQsOSArMTY1
LDEwIEBAIHRlc3RTZXRWZXJzaW9uQWJvcnQ1KCk6CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMg
aXMgWydzdG9yZUZhaWwnXQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAxCiBQ
QVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIHRydWUKLXJl
cXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFpbCcpCityZXF1ZXN0ID0gbmV3Q29u
bmVjdGlvbigpCitpbmRleGVkREIub3BlbihkYm5hbWUsIDYpCiByZW1vdmVJREJPYmplY3RzKCk6
Ci10cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQudGFyZ2V0LnRyYW5z
YWN0aW9uCiBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVGYWlsJykKIHN0b3JlLmRlbGV0ZUluZGV4KCdpbmRleEZhaWwnKQpAQCAtMTc2LDEz
ICsxNzgsMTYgQEAgdGVzdFNldFZlcnNpb25BYm9ydDYoKToKIFBBU1MgZGIub2JqZWN0U3RvcmVO
YW1lcyBpcyBbJ3N0b3JlRmFpbCddCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlz
IDEKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgdHJ1
ZQotZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24o
KQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCA3KQogCiBzZXRWZXJzaW9uU3VjY2VzcygpOgotdHJh
bnMgPSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlv
bgogUEFTUyB0cmFucyBpcyBub24tbnVsbC4KIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKKworY29tcGxldGVDYWxsYmFj
aygpOgogUEFTUyBldmVudC5jYW5jZWxhYmxlIGlzIGZhbHNlCiBQQVNTIGNvbXBsZXRlIGV2ZW50
IGZpcmVkCiBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQpAQCAtMjEyLDcgKzIxNyw4IEBA
IEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbih1bmRlZmluZWQpCiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5OT1RfRk9V
TkRfRVJSCiBQQVNTIGVuYW1lIGlzICdOb3RGb3VuZEVycm9yJwotZGIuc2V0VmVyc2lvbignZnVu
bnkgbmFtZXMnKQorcmVxdWVzdCA9IG5ld0Nvbm5lY3Rpb24oKQoraW5kZXhlZERCLm9wZW4oZGJu
YW1lLCA4KQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ251bGwnKQogZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3VuZGVmaW5lZCcpCiBQQVNTIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24obnVsbCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1leHBlY3RlZC50eHQKaW5kZXggZDM0
MTM4NTlhZDczODZiYTYzZDNiN2RkN2Y5NzMxMTBlMmUyMTUzMi4uODA5MTIzNzJmMzI0MmQ5NGZl
YTNjNjUyZTFlMjI2Njk4NGE3ZTExNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9u
LXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2
ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTI6IFVuY2F1Z2h0IEVycm9yOiBU
aGlzIHNob3VsZCAqTk9UKiBiZSBjYXVnaHQhCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzM6IFVu
Y2F1Z2h0IEVycm9yOiBUaGlzIHNob3VsZCAqTk9UKiBiZSBjYXVnaHQhCiBUZXN0IElEQlRyYW5z
YWN0aW9uLmVycm9yIGNhc2VzLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC03LDEy
ICs2LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRl
eGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2Vs
Zi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWRibmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWUKK2RibmFtZSA9ICJ0cmFuc2FjdGlvbi1lcnJvci5odG1sIgogaW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSkKLWRiID0gcmVx
dWVzdC5yZXN1bHQKLWRiLnNldFZlcnNpb24oJzEnKQotdHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0CiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuYWRk
KCd2YWx1ZScsICdrZXknKQogCkBAIC00OSw4ICs0NSw4IEBAIElmIHRoZSB0cmFuc2FjdGlvbiBp
cyBhYm9ydGVkIGR1ZSB0byBhbiBlcnJvciBkdXJpbmcgY29tbWl0LCBJREJUcmFuc2FjdGlvbi5l
cnJvCiB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKIHJl
cXVlc3QgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHtpZDogMX0sICdyZWNv
cmQxJykKIHJlcXVlc3QgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHtpZDog
MX0sICdyZWNvcmQyJykKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcyJykKLXRyYW5zID0gcmVx
dWVzdC5yZXN1bHQKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCit0cmFucyA9
IHJlcXVlc3QudHJhbnNhY3Rpb24KIFRoaXMgc2hvdWxkIGZhaWwgZHVlIHRvIHRoZSB1bmlxdWUg
Y29uc3RyYWludDoKIHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKS5jcmVhdGVJbmRleCgn
aW5kZXhOYW1lJywgJ2lkJywge3VuaXF1ZTogdHJ1ZX0pCiBUcmFuc2FjdGlvbiByZWNlaXZlZCBh
Ym9ydCBldmVudC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>