<?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>87491</bug_id>
          
          <creation_ts>2012-05-25 04:57:01 -0700</creation_ts>
          <short_desc>[CSS Regions]Rename NamedFlow::overflow to NamedFlow::overset</short_desc>
          <delta_ts>2012-05-29 06:40:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>
          
          <blocked>87640</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrei Bucur">abucur</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>633831</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-25 04:57:01 -0700</bug_when>
    <thetext>The CSS Regions spec renamed the CSSOM property &quot;overflow&quot; available on the NamedFlow object to &quot;overset&quot;. WebKit needs to update the name as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635097</commentid>
    <comment_count>1</comment_count>
      <attachid>144321</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 03:36:23 -0700</bug_when>
    <thetext>Created attachment 144321
Patch and test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635218</commentid>
    <comment_count>2</comment_count>
      <attachid>144359</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 07:50:47 -0700</bug_when>
    <thetext>Created attachment 144359
Updated patch and test that actually applies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635228</commentid>
    <comment_count>3</comment_count>
      <attachid>144363</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 08:10:11 -0700</bug_when>
    <thetext>Created attachment 144363
The final version of the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635232</commentid>
    <comment_count>4</comment_count>
      <attachid>144365</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 08:14:07 -0700</bug_when>
    <thetext>Created attachment 144365
Patch that&apos;s not actually grabbed from browser cache...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635239</commentid>
    <comment_count>5</comment_count>
      <attachid>144369</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 08:21:31 -0700</bug_when>
    <thetext>Created attachment 144369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635267</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-28 08:54:32 -0700</bug_when>
    <thetext>The relevant spec info:
http://www.w3.org/TR/2012/WD-css3-regions-20120503/#dom-named-flow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635268</commentid>
    <comment_count>7</comment_count>
      <attachid>144369</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-05-28 08:58:18 -0700</bug_when>
    <thetext>Comment on attachment 144369
Patch

r=me, but please add the spec link to the ChangeLog, as well as a little blurb saying that this is the correct new property name per the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635782</commentid>
    <comment_count>8</comment_count>
      <attachid>144491</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-05-29 02:34:25 -0700</bug_when>
    <thetext>Created attachment 144491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635963</commentid>
    <comment_count>9</comment_count>
      <attachid>144491</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 06:40:11 -0700</bug_when>
    <thetext>Comment on attachment 144491
Patch

Clearing flags on attachment: 144491

Committed r118767: &lt;http://trac.webkit.org/changeset/118767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635964</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 06:40:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144321</attachid>
            <date>2012-05-28 03:36:23 -0700</date>
            <delta_ts>2012-05-28 07:50:47 -0700</delta_ts>
            <desc>Patch and test</desc>
            <filename>namedflow_overset.patch</filename>
            <type>text/plain</type>
            <size>14273</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZjQ1ZjBhLi5iN2I4YTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjggIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdp
b25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6b3ZlcnNldAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0OTEKKworICAg
ICAgICBUaGUgdGVzdCB3YXMgcmVmYWN0b3JlZCB0byBiZSBtb3JlIHNpbWlsYXIgdG8gdGhlIG90
aGVyIHNjcmlwdCB0ZXN0cyAoYnkgdXNpbmcgbWFrZS1uZXctc2NyaXB0LXRlc3QpCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2Via2l0LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1l
ZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzJkMzNkZi4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotVGVzdCBmb3IgW0NTU1JlZ2lvbnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6b3ZlcmZs
b3cKLQotT24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy4K
LQotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ct
b3ZlcmZsb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxNGI2NS4uMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBodG1s
PgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgotICAgICAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzdHlsZT4KLSAgICAgICAgICAg
IGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Ci0gICAgICAgICAgICAuZmxvdyB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93IH0KLSAgICAgICAgICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQotICAgICAgICAgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVp
Z2h0OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1
MHB4OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAg
ICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4ODAiPgotICAgICAgICBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdzwvYT48L3A+Ci0gICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEg
c2VyaWVzIG9mIFBBU1MgYmVsb3cuPC9wPgotICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSIgY2xhc3M9ImZsb3ciPgotICAgICAgICAgICAg
PHA+Q29udGVudCBpbnNpZGUgYXJ0aWNsZTwvcD4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0K
LSAgICAgICAgICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBoYXZlIGFueSByZWdpb25zIHll
dAotICAgICAgICAgICAgdmFyIG5hbWVkRmxvdyA9IGRvY3VtZW50LndlYmtpdEdldEZsb3dCeU5h
bWUoImZsb3ciKTsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFs
c2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UgZm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMi
KTsKLQotICAgICAgICAgICAgLy8gQWRkIGEgcmVnaW9uIHRvIHRha2UgdGhlIGNvbnRlbnQsIG92
ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXJzdCB0aGUgcmVnaW9u
cy4KLSAgICAgICAgICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKLSAgICAg
ICAgICAgIHJlZ2lvbi5pZCA9ICJyZWdpb24iOwotICAgICAgICAgICAgcmVnaW9uLmNsYXNzTmFt
ZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBm
YWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIHRo
ZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBtb3JlIGNvbnRlbnQgdG8gdGhlIGZs
b3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAgdmFyIHAgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJwIik7Ci0gICAgICAgICAgICBwLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJDb250ZW50IGluc2lkZSBhcnRpY2xlIikpOwotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKLSAgICAg
ICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1
ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIGFub3RoZXIgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UKLSAg
ICAgICAgICAgIHZhciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOwotICAgICAgICAg
ICAgcmVnaW9uMi5pZCA9ICJyZWdpb24yIjsKLSAgICAgICAgICAgIHJlZ2lvbjIuY2xhc3NOYW1l
ID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZh
bHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4g
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdywgb3Zl
cmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHggbGltZSI7Ci0gICAg
ICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IGluIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4K
LSAgICAgICAgICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjMpOwotICAgICAg
ICAgICAgcmVnaW9uMy5pZCA9ICJyZWdpb24zIjsKLSAgICAgICAgICAgIHJlZ2lvbjMuY2xhc3NO
YW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09
IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMg
aW4gcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBm
cm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIHJlZ2lv
bi5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cs
ICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQg
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20g
dGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4KLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBh
c3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlIHNpbmNlIHRoZSBmbG93IGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTsKLQotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS52aXNpYmlsaXR5
ID0gImhpZGRlbiI7Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVy
c2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43ZDYzYWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1Rlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MSBb
Q1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVy
c2V0LiBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWNz
czMtcmVnaW9ucy0yMDEyMDUwMy8KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMg
ZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1ZQorUEFTUyBuYW1lZEZsb3cub3Zl
cnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVk
Rmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mYWVjZGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApAQCAtMCwwICsxLDky
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgIC5m
bG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQorICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQorICAgICNyZWdpb24geyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBw
eDsgfQorICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAj
cmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+CisgICAgPHA+Q29udGVu
dCBpbnNpZGUgYXJ0aWNsZTwvcD4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigi
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxIFtD
U1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJz
ZXQuIFwKKyAgICAgICAgICAgICAgICBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDEyL1dELWNzczMtcmVnaW9ucy0yMDEyMDUwMy8iKTsKKworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAvLyBGbG93IGFydGljbGUgZG9lcyBub3QgaGF2ZSBh
bnkgcmVnaW9ucyB5ZXQKKyAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBh
IGZsb3cgd2l0aG91dCByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0Iiwg
ImZhbHNlIik7CisKKyAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVudCwgb3Zl
cmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSByZWdpb25z
LgorICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbik7CisgICAgcmVnaW9uLmlkID0gInJlZ2lv
biI7CisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgdGhlIHJlZ2lvbnMKKyAgICBz
aG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBtb3Jl
IGNvbnRlbnQgdG8gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHZhciBw
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgIHAuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKKworICAgIC8vIE92
ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUg
cmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJ0cnVlIik7CisKKyAg
ICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZQorICAgIHZh
ciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyZWdpb24yKTsKKyAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwor
ICAgIHJlZ2lvbjIuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91
bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBpbiB0aGUgcmVnaW9ucworICAgIHNo
b3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRkIHZpc3Vh
bCBvdmVyZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9IjBweCA1MHB4IGxpbWUi
OworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9l
cyBub3QgZml0IGluIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAi
dHJ1ZSIpOworCisgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBi
ZSBmYWxzZS4KKyAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7CisgICAgcmVnaW9uMy5p
ZCA9ICJyZWdpb24zIjsKKyAgICByZWdpb24zLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4gcmVn
aW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBmaXJzdCByZWdpb24gZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxk
IGJlIHRydWUuCisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICIiOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25z
CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8vIFJl
bW92ZSB0aGUgY29udGVudCBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5v
dCBoYXZlIGFueSBjb250ZW50CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZh
bHNlIik7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAg
cmVnaW9uMi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjMuc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdk
Y2NhYzUuLjhhMDIzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNS0yOCAg
QW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNd
UmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9u
cy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKKworICAgICAgICAqIGRvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0
KToKKyAgICAgICAgKiBkb20vV2ViS2l0TmFtZWRGbG93Lmg6CisgICAgICAgIChXZWJLaXROYW1l
ZEZsb3cpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaWRsOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
b3dUaHJlYWQ6OlJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorCiAyMDEyLTA1LTIyICBFbWlsIEEgRWtsdW5kICA8
ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyQmxvY2sgdG8gdXNlciBS
ZW5kZXJCb3gvUmVuZGVySW5saW5lIHdyaXRpbmcgbW9kZSBsb2dpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcAppbmRleCA0Y2ZiYjRjLi4wM2U3OTgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcApAQCAtNDUsMTAgKzQ1LDEwIEBAIFdlYktpdE5hbWVk
Rmxvdzo6fldlYktpdE5hbWVkRmxvdygpCiB7CiB9CiAKLWJvb2wgV2ViS2l0TmFtZWRGbG93Ojpv
dmVyZmxvdygpIGNvbnN0Citib29sIFdlYktpdE5hbWVkRmxvdzo6b3ZlcnNldCgpIGNvbnN0CiB7
CiAgICAgbV9wYXJlbnRGbG93VGhyZWFkLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICByZXR1cm4gbV9wYXJlbnRGbG93VGhyZWFkLT5vdmVy
ZmxvdygpOworICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJzZXQoKTsKIH0KIAog
UGFzc1JlZlB0cjxOb2RlTGlzdD4gV2ViS2l0TmFtZWRGbG93OjpnZXRSZWdpb25zQnlDb250ZW50
Tm9kZShOb2RlKiBjb250ZW50Tm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaApp
bmRleCAwYzVkNWVhLi5mZDE2OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TmFtZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAot
ICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdDsKKyAgICBib29sIG92ZXJzZXQoKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShOb2RlKik7CiAg
ICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gY29udGVudE5vZGVzKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKaW5kZXggMGQzMjRhNC4uMGMzZGQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKQEAgLTMxLDcgKzMxLDcgQEAgbW9kdWxl
IGNvcmUgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAg
ICAgXSBXZWJLaXROYW1lZEZsb3cgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBvdmVyZmxvdzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb3ZlcnNldDsK
ICAgICAgICAgTm9kZUxpc3QgZ2V0UmVnaW9uc0J5Q29udGVudE5vZGUoaW4gTm9kZSBjb250ZW50
Tm9kZSk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBjb250ZW50Tm9kZXM7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cAppbmRleCAyZTA0YTZiLi4zMjFlOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01MSw3ICs1MSw3IEBAIFJlbmRlckZsb3dUaHJlYWQ6
OlJlbmRlckZsb3dUaHJlYWQoTm9kZSogbm9kZSkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVk
KGZhbHNlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgodHJ1ZSkKICAg
ICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCh0cnVlKQotICAgICwgbV9vdmVy
ZmxvdyhmYWxzZSkKKyAgICAsIG1fb3ZlcnNldChmYWxzZSkKICAgICAsIG1fcmVnaW9uTGF5b3V0
VXBkYXRlRXZlbnRUaW1lcih0aGlzLCAmUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBk
YXRlRXZlbnRUaW1lckZpcmVkKQogewogICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpLT5jc3NS
ZWdpb25zRW5hYmxlZCgpKTsKQEAgLTcyOCw3ICs3MjgsNyBAQCB2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVudEFm
dGVyRQogCiAgICAgLy8gV2l0aCB0aGUgcmVnaW9ucyBvdmVyZmxvdyBzdGF0ZSBjb21wdXRlZCB3
ZSBjYW4gYWxzbyBzZXQgdGhlIG92ZXJmbG93IGZvciB0aGUgbmFtZWQgZmxvdy4KICAgICBSZW5k
ZXJSZWdpb24qIGxhc3RSZWcgPSBsYXN0UmVnaW9uKCk7Ci0gICAgbV9vdmVyZmxvdyA9IGxhc3RS
ZWcgJiYgKGxhc3RSZWctPnJlZ2lvblN0YXRlKCkgPT0gUmVuZGVyUmVnaW9uOjpSZWdpb25PdmVy
Zmxvdyk7CisgICAgbV9vdmVyc2V0ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUo
KSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKIH0KIAogdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyRmxv
d1RocmVhZD4qKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgK
aW5kZXggOTUzOTM5Yy4uOGExOTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgY29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0
ZXJFZGdlKTsKIAotICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
OyB9CisgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAKICAg
ICAvLyBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGluIHJlZ2lvbiBhbmQgdGhlIHJlZ2lvbiBpcyBw
YXJ0IG9mIHRoaXMgZmxvdyB0aHJlYWQuCiAgICAgYm9vbCBvYmplY3RJbkZsb3dSZWdpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyUmVnaW9uKikgY29uc3Q7CkBAIC0xNjksNyAr
MTY5LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQ7CiAgICAg
Ym9vbCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsKICAgICBib29sIG1fcmVnaW9u
c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodDsKLSAgICBib29sIG1fb3ZlcmZsb3c7CisgICAgYm9v
bCBtX292ZXJzZXQ7CiAgICAgVGltZXI8UmVuZGVyRmxvd1RocmVhZD4gbV9yZWdpb25MYXlvdXRV
cGRhdGVFdmVudFRpbWVyOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144359</attachid>
            <date>2012-05-28 07:50:47 -0700</date>
            <delta_ts>2012-05-28 08:10:11 -0700</delta_ts>
            <desc>Updated patch and test that actually applies</desc>
            <filename>namedflow_overset.patch</filename>
            <type>text/plain</type>
            <size>28705</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZjQ1ZjBhLi5iN2I4YTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjggIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdp
b25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6b3ZlcnNldAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0OTEKKworICAg
ICAgICBUaGUgdGVzdCB3YXMgcmVmYWN0b3JlZCB0byBiZSBtb3JlIHNpbWlsYXIgdG8gdGhlIG90
aGVyIHNjcmlwdCB0ZXN0cyAoYnkgdXNpbmcgbWFrZS1uZXctc2NyaXB0LXRlc3QpCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2Via2l0LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1l
ZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzJkMzNkZi4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotVGVzdCBmb3IgW0NTU1JlZ2lvbnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6b3ZlcmZs
b3cKLQotT24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy4K
LQotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ct
b3ZlcmZsb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxNGI2NS4uMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBodG1s
PgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgotICAgICAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzdHlsZT4KLSAgICAgICAgICAg
IGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Ci0gICAgICAgICAgICAuZmxvdyB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93IH0KLSAgICAgICAgICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQotICAgICAgICAgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVp
Z2h0OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1
MHB4OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAg
ICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4ODAiPgotICAgICAgICBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdzwvYT48L3A+Ci0gICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEg
c2VyaWVzIG9mIFBBU1MgYmVsb3cuPC9wPgotICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSIgY2xhc3M9ImZsb3ciPgotICAgICAgICAgICAg
PHA+Q29udGVudCBpbnNpZGUgYXJ0aWNsZTwvcD4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0K
LSAgICAgICAgICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBoYXZlIGFueSByZWdpb25zIHll
dAotICAgICAgICAgICAgdmFyIG5hbWVkRmxvdyA9IGRvY3VtZW50LndlYmtpdEdldEZsb3dCeU5h
bWUoImZsb3ciKTsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFs
c2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UgZm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMi
KTsKLQotICAgICAgICAgICAgLy8gQWRkIGEgcmVnaW9uIHRvIHRha2UgdGhlIGNvbnRlbnQsIG92
ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXJzdCB0aGUgcmVnaW9u
cy4KLSAgICAgICAgICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKLSAgICAg
ICAgICAgIHJlZ2lvbi5pZCA9ICJyZWdpb24iOwotICAgICAgICAgICAgcmVnaW9uLmNsYXNzTmFt
ZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBm
YWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIHRo
ZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBtb3JlIGNvbnRlbnQgdG8gdGhlIGZs
b3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAgdmFyIHAgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJwIik7Ci0gICAgICAgICAgICBwLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJDb250ZW50IGluc2lkZSBhcnRpY2xlIikpOwotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKLSAgICAg
ICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1
ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIGFub3RoZXIgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UKLSAg
ICAgICAgICAgIHZhciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOwotICAgICAgICAg
ICAgcmVnaW9uMi5pZCA9ICJyZWdpb24yIjsKLSAgICAgICAgICAgIHJlZ2lvbjIuY2xhc3NOYW1l
ID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZh
bHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4g
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdywgb3Zl
cmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHggbGltZSI7Ci0gICAg
ICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IGluIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4K
LSAgICAgICAgICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjMpOwotICAgICAg
ICAgICAgcmVnaW9uMy5pZCA9ICJyZWdpb24zIjsKLSAgICAgICAgICAgIHJlZ2lvbjMuY2xhc3NO
YW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09
IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMg
aW4gcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBm
cm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIHJlZ2lv
bi5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cs
ICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQg
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20g
dGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4KLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBh
c3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlIHNpbmNlIHRoZSBmbG93IGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTsKLQotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS52aXNpYmlsaXR5
ID0gImhpZGRlbiI7Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVy
c2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43ZDYzYWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1Rlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MSBb
Q1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVy
c2V0LiBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWNz
czMtcmVnaW9ucy0yMDEyMDUwMy8KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMg
ZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1ZQorUEFTUyBuYW1lZEZsb3cub3Zl
cnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVk
Rmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mYWVjZGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApAQCAtMCwwICsxLDky
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgIC5m
bG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQorICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQorICAgICNyZWdpb24geyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBw
eDsgfQorICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAj
cmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+CisgICAgPHA+Q29udGVu
dCBpbnNpZGUgYXJ0aWNsZTwvcD4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigi
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxIFtD
U1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJz
ZXQuIFwKKyAgICAgICAgICAgICAgICBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDEyL1dELWNzczMtcmVnaW9ucy0yMDEyMDUwMy8iKTsKKworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAvLyBGbG93IGFydGljbGUgZG9lcyBub3QgaGF2ZSBh
bnkgcmVnaW9ucyB5ZXQKKyAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBh
IGZsb3cgd2l0aG91dCByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0Iiwg
ImZhbHNlIik7CisKKyAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVudCwgb3Zl
cmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSByZWdpb25z
LgorICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbik7CisgICAgcmVnaW9uLmlkID0gInJlZ2lv
biI7CisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgdGhlIHJlZ2lvbnMKKyAgICBz
aG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBtb3Jl
IGNvbnRlbnQgdG8gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHZhciBw
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgIHAuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKKworICAgIC8vIE92
ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUg
cmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJ0cnVlIik7CisKKyAg
ICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZQorICAgIHZh
ciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyZWdpb24yKTsKKyAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwor
ICAgIHJlZ2lvbjIuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91
bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBpbiB0aGUgcmVnaW9ucworICAgIHNo
b3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRkIHZpc3Vh
bCBvdmVyZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9IjBweCA1MHB4IGxpbWUi
OworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9l
cyBub3QgZml0IGluIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAi
dHJ1ZSIpOworCisgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBi
ZSBmYWxzZS4KKyAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7CisgICAgcmVnaW9uMy5p
ZCA9ICJyZWdpb24zIjsKKyAgICByZWdpb24zLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4gcmVn
aW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBmaXJzdCByZWdpb24gZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxk
IGJlIHRydWUuCisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICIiOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25z
CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8vIFJl
bW92ZSB0aGUgY29udGVudCBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5v
dCBoYXZlIGFueSBjb250ZW50CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZh
bHNlIik7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAg
cmVnaW9uMi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjMuc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdk
Y2NhYzUuLjhhMDIzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNS0yOCAg
QW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNd
UmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9u
cy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKKworICAgICAgICAqIGRvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0
KToKKyAgICAgICAgKiBkb20vV2ViS2l0TmFtZWRGbG93Lmg6CisgICAgICAgIChXZWJLaXROYW1l
ZEZsb3cpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaWRsOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
b3dUaHJlYWQ6OlJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorCiAyMDEyLTA1LTIyICBFbWlsIEEgRWtsdW5kICA8
ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyQmxvY2sgdG8gdXNlciBS
ZW5kZXJCb3gvUmVuZGVySW5saW5lIHdyaXRpbmcgbW9kZSBsb2dpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcAppbmRleCA0Y2ZiYjRjLi4wM2U3OTgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcApAQCAtNDUsMTAgKzQ1LDEwIEBAIFdlYktpdE5hbWVk
Rmxvdzo6fldlYktpdE5hbWVkRmxvdygpCiB7CiB9CiAKLWJvb2wgV2ViS2l0TmFtZWRGbG93Ojpv
dmVyZmxvdygpIGNvbnN0Citib29sIFdlYktpdE5hbWVkRmxvdzo6b3ZlcnNldCgpIGNvbnN0CiB7
CiAgICAgbV9wYXJlbnRGbG93VGhyZWFkLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICByZXR1cm4gbV9wYXJlbnRGbG93VGhyZWFkLT5vdmVy
ZmxvdygpOworICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJzZXQoKTsKIH0KIAog
UGFzc1JlZlB0cjxOb2RlTGlzdD4gV2ViS2l0TmFtZWRGbG93OjpnZXRSZWdpb25zQnlDb250ZW50
Tm9kZShOb2RlKiBjb250ZW50Tm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaApp
bmRleCAwYzVkNWVhLi5mZDE2OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TmFtZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAot
ICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdDsKKyAgICBib29sIG92ZXJzZXQoKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShOb2RlKik7CiAg
ICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gY29udGVudE5vZGVzKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKaW5kZXggMGQzMjRhNC4uMGMzZGQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKQEAgLTMxLDcgKzMxLDcgQEAgbW9kdWxl
IGNvcmUgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAg
ICAgXSBXZWJLaXROYW1lZEZsb3cgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBvdmVyZmxvdzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb3ZlcnNldDsK
ICAgICAgICAgTm9kZUxpc3QgZ2V0UmVnaW9uc0J5Q29udGVudE5vZGUoaW4gTm9kZSBjb250ZW50
Tm9kZSk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBjb250ZW50Tm9kZXM7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cAppbmRleCAyZTA0YTZiLi4zMjFlOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01MSw3ICs1MSw3IEBAIFJlbmRlckZsb3dUaHJlYWQ6
OlJlbmRlckZsb3dUaHJlYWQoTm9kZSogbm9kZSkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVk
KGZhbHNlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgodHJ1ZSkKICAg
ICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCh0cnVlKQotICAgICwgbV9vdmVy
ZmxvdyhmYWxzZSkKKyAgICAsIG1fb3ZlcnNldChmYWxzZSkKICAgICAsIG1fcmVnaW9uTGF5b3V0
VXBkYXRlRXZlbnRUaW1lcih0aGlzLCAmUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBk
YXRlRXZlbnRUaW1lckZpcmVkKQogewogICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpLT5jc3NS
ZWdpb25zRW5hYmxlZCgpKTsKQEAgLTcyOCw3ICs3MjgsNyBAQCB2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVudEFm
dGVyRQogCiAgICAgLy8gV2l0aCB0aGUgcmVnaW9ucyBvdmVyZmxvdyBzdGF0ZSBjb21wdXRlZCB3
ZSBjYW4gYWxzbyBzZXQgdGhlIG92ZXJmbG93IGZvciB0aGUgbmFtZWQgZmxvdy4KICAgICBSZW5k
ZXJSZWdpb24qIGxhc3RSZWcgPSBsYXN0UmVnaW9uKCk7Ci0gICAgbV9vdmVyZmxvdyA9IGxhc3RS
ZWcgJiYgKGxhc3RSZWctPnJlZ2lvblN0YXRlKCkgPT0gUmVuZGVyUmVnaW9uOjpSZWdpb25PdmVy
Zmxvdyk7CisgICAgbV9vdmVyc2V0ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUo
KSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKIH0KIAogdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyRmxv
d1RocmVhZD4qKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgK
aW5kZXggOTUzOTM5Yy4uOGExOTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgY29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0
ZXJFZGdlKTsKIAotICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
OyB9CisgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAKICAg
ICAvLyBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGluIHJlZ2lvbiBhbmQgdGhlIHJlZ2lvbiBpcyBw
YXJ0IG9mIHRoaXMgZmxvdyB0aHJlYWQuCiAgICAgYm9vbCBvYmplY3RJbkZsb3dSZWdpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyUmVnaW9uKikgY29uc3Q7CkBAIC0xNjksNyAr
MTY5LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQ7CiAgICAg
Ym9vbCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsKICAgICBib29sIG1fcmVnaW9u
c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodDsKLSAgICBib29sIG1fb3ZlcmZsb3c7CisgICAgYm9v
bCBtX292ZXJzZXQ7CiAgICAgVGltZXI8UmVuZGVyRmxvd1RocmVhZD4gbV9yZWdpb25MYXlvdXRV
cGRhdGVFdmVudFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhkNmUzNjMuLjljODA5OWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wNS0yOCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNv
bT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8g
TmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAgIFRoZSB0ZXN0IHdhcyByZWZhY3RvcmVkIHRvIGJl
IG1vcmUgc2ltaWxhciB0byB0aGUgb3RoZXIgc2NyaXB0IHRlc3RzIChieSB1c2luZyBtYWtlLW5l
dy1zY3JpcHQtdGVzdCkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJmbG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0y
OCAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBodHRwL3Rlc3RzL2NhY2hlL2NhbmNlbC1pbi1wcm9ncmVzcy1sb2FkLmh0bWwgaXMgZmxh
a3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3MmQzM2RmLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNSArMCwwIEBACi1UZXN0IGZvciBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdwotCi1PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIHNlcmllcyBvZiBQQVNTIGJl
bG93LgotCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi0K
LQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZs
b3ctb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyZmxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzE0YjY1
Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcyI+Ci0gICAgICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHN0eWxlPgotICAgICAg
ICAgICAgYm9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KLSAgICAgICAgICAgIC5mbG93
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQotICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9Ci0gICAgICAgICAgICAjcmVnaW9uIHsgd2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBo
ZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWln
aHQ6IDUwcHg7IH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0g
ICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODg4MCI+Ci0gICAgICAgIFtDU1NSZWdpb25zXUltcGxlbWVudCBOYW1lZEZs
b3c6Om92ZXJmbG93PC9hPjwvcD4KLSAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBz
ZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy48L3A+Ci0gICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+Ci0gICAgICAg
ICAgICA8cD5Db250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgotICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLQotICAgICAgICAgICAgLy8gRmxvdyBhcnRpY2xlIGRvZXMgbm90IGhhdmUgYW55IHJlZ2lv
bnMgeWV0Ci0gICAgICAgICAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9
PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBmb3IgYSBmbG93IHdpdGhvdXQgcmVn
aW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVu
dCwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSBy
ZWdpb25zLgotICAgICAgICAgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24pOwot
ICAgICAgICAgICAgcmVnaW9uLmlkID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICByZWdpb24uY2xh
c3NOYW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93
ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZp
dHMgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIG1vcmUgY29udGVudCB0byB0
aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICB2YXIgcCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKLSAgICAgICAgICAgIHAuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOwot
ICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdywgIk92ZXJmbG93IHNob3VsZCBi
ZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxz
ZQotICAgICAgICAgICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMik7Ci0gICAg
ICAgICAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwotICAgICAgICAgICAgcmVnaW9uMi5jbGFz
c05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cg
PT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0
cyBpbiB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93
LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhcnRpY2xlIikuc3R5bGUud2Via2l0Qm94U2hhZG93PSIwcHggNTBweCBsaW1lIjsK
LSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQg
YmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlLgotICAgICAgICAgICAgdmFyIHJlZ2lvbjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7Ci0g
ICAgICAgICAgICByZWdpb24zLmlkID0gInJlZ2lvbjMiOwotICAgICAgICAgICAgcmVnaW9uMy5j
bGFzc05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZs
b3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQg
Zml0cyBpbiByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmlyc3QgcmVn
aW9uIGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAg
cmVnaW9uLmNsYXNzTmFtZSA9ICIiOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVy
ZmxvdywgIk92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90
IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGNvbnRlbnQg
ZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlLgotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAg
ICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQg
YmUgZmFsc2Ugc2luY2UgdGhlIGZsb3cgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudCIpOwotCi0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLnZpc2li
aWxpdHkgPSAiaGlkZGVuIjsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjdkNjNhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NDkxIFtDU1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6
Om92ZXJzZXQuIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIv
V0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNl
dCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVkRmxv
dy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BBU1Mg
bmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1
ZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZWNkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCkBAIC0wLDAg
KzEsOTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorICAgIGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Cisg
ICAgLmZsb3cgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdyB9CisgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9CisgICAgI3JlZ2lvbjIgeyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQor
ICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImFydGljbGUiIGNsYXNzPSJmbG93Ij4KKyAgICA8cD5D
b250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0
aW9uKCJUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0
OTEgW0NTUyBSZWdpb25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6
b3ZlcnNldC4gXAorICAgICAgICAgICAgICAgIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTIvV0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLyIpOworCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBo
YXZlIGFueSByZWdpb25zIHlldAorICAgIHZhciBuYW1lZEZsb3cgPSBkb2N1bWVudC53ZWJraXRH
ZXRGbG93QnlOYW1lKCJmbG93Iik7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ug
Zm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJz
ZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBhIHJlZ2lvbiB0byB0YWtlIHRoZSBjb250ZW50
LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZmlyc3QgdGhlIHJl
Z2lvbnMuCisgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKKyAgICByZWdpb24uaWQgPSAi
cmVnaW9uIjsKKyAgICByZWdpb24uY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyB0aGUgcmVnaW9ucwor
ICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRk
IG1vcmUgY29udGVudCB0byB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAg
dmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CisgICAgcC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQ29udGVudCBpbnNpZGUgYXJ0aWNsZSIpKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0
IHRoZSByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsK
KworICAgIC8vIEFkZCBhbm90aGVyIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlCisg
ICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOworICAgIHJlZ2lvbjIuaWQgPSAicmVnaW9u
MiI7CisgICAgcmVnaW9uMi5jbGFzc05hbWUgPSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93
IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIGluIHRoZSByZWdpb25zCisg
ICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisKKyAgICAvLyBBZGQg
dmlzdWFsIG92ZXJmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHgg
bGltZSI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVu
dCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNl
dCIsICJ0cnVlIik7CisKKyAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hv
dWxkIGJlIGZhbHNlLgorICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24zKTsKKyAgICByZWdp
b24zLmlkID0gInJlZ2lvbjMiOworICAgIHJlZ2lvbjMuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisK
KyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBp
biByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisK
KyAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBz
aG91bGQgYmUgdHJ1ZS4KKyAgICByZWdpb24uY2xhc3NOYW1lID0gIiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJl
Z2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAidHJ1ZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBm
YWxzZS4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmNsYXNzTmFtZSA9
ICIiOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBmbG93IGRv
ZXMgbm90IGhhdmUgYW55IGNvbnRlbnQKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQi
LCAiZmFsc2UiKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICByZWdpb24uc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KyAgICByZWdpb24yLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uMy5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNGViZDUwZC4uMDdkYmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1
LTI4ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbAorCisgICAgICAgICogZG9tL1dl
YktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lZEZsb3c6Om92
ZXJzZXQpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaDoKKyAgICAgICAgKFdlYktp
dE5hbWVkRmxvdyk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5pZGw6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTItMDUtMjggIEtlaXNoaSBIYXR0
b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXhwb3NlIHZhbHVlIGxvY2FsaXph
dGlvbiBmdW5jdGlvbiBvZiBIVE1MSW5wdXRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwCmluZGV4IDlhMjcxNjQuLjE5ZTEyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01MCwxMCArNTAsMTAgQEAgU3RyaW5nIFdlYktpdE5hbWVk
Rmxvdzo6bmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+Zmxvd1Ro
cmVhZE5hbWUoKTsKIH0KIAotYm9vbCBXZWJLaXROYW1lZEZsb3c6Om92ZXJmbG93KCkgY29uc3QK
K2Jvb2wgV2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0KCkgY29uc3QKIHsKICAgICBtX3BhcmVudEZs
b3dUaHJlYWQtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOwotICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJmbG93KCk7CisgICAgcmV0
dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+b3ZlcnNldCgpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBXZWJLaXROYW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqIGNvbnRl
bnROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5oCmluZGV4IDVkMWU2YTcuLmI4
MWU1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAogICAgIFN0cmluZyBuYW1lKCkg
Y29uc3Q7Ci0gICAgYm9vbCBvdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgb3ZlcnNldCgpIGNv
bnN0OwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5v
ZGUqKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBjb250ZW50Tm9kZXMoKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAppbmRleCA2YjMwNjZjLi4wZGE5MGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbApAQCAtMzIsNyArMzIsNyBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAgXSBXZWJL
aXROYW1lZEZsb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJmbG93OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvdmVyc2V0OwogICAgICAgICBOb2RlTGlzdCBnZXRS
ZWdpb25zQnlDb250ZW50Tm9kZShpbiBOb2RlIGNvbnRlbnROb2RlKTsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE5vZGVMaXN0IGNvbnRlbnROb2RlczsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDNjZmZhMzQuLjIyNmU2
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAK
QEAgLTUxLDcgKzUxLDcgQEAgUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2Rl
KiBub2RlKQogICAgICwgbV9yZWdpb25zSW52YWxpZGF0ZWQoZmFsc2UpCiAgICAgLCBtX3JlZ2lv
bnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCh0cnVlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZv
cm1Mb2dpY2FsSGVpZ2h0KHRydWUpCi0gICAgLCBtX292ZXJmbG93KGZhbHNlKQorICAgICwgbV9v
dmVyc2V0KGZhbHNlKQogICAgICwgbV9yZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyKHRoaXMs
ICZSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiB7
CiAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVkKCkpOwpAQCAt
NzI5LDcgKzcyOSw3IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3Rh
dGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFCiAKICAgICAvLyBXaXRoIHRo
ZSByZWdpb25zIG92ZXJmbG93IHN0YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3Zl
cmZsb3cgZm9yIHRoZSBuYW1lZCBmbG93LgogICAgIFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxh
c3RSZWdpb24oKTsKLSAgICBtX292ZXJmbG93ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9u
U3RhdGUoKSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKKyAgICBtX292ZXJzZXQg
PSBsYXN0UmVnICYmIChsYXN0UmVnLT5yZWdpb25TdGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVn
aW9uT3ZlcmZsb3cpOwogfQogCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVw
ZGF0ZUV2ZW50VGltZXJGaXJlZChUaW1lcjxSZW5kZXJGbG93VGhyZWFkPiopCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMGEyNjliLi5hZWE3NDFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3dTdGF0
ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpOwogCi0gICAgYm9vbCBv
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIG92ZXJzZXQo
KSBjb25zdCB7IHJldHVybiBtX292ZXJzZXQ7IH0KIAogICAgIC8vIENoZWNrIGlmIHRoZSBvYmpl
Y3QgaXMgaW4gcmVnaW9uIGFuZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVh
ZC4KICAgICBib29sIG9iamVjdEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJSZWdpb24qKSBjb25zdDsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX3JlZ2lvbnNJbnZhbGlkYXRlZDsKICAgICBib29sIG1fcmVnaW9uc0hhdmVVbmlm
b3JtTG9naWNhbFdpZHRoOwogICAgIGJvb2wgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVp
Z2h0OwotICAgIGJvb2wgbV9vdmVyZmxvdzsKKyAgICBib29sIG1fb3ZlcnNldDsKICAgICBib29s
IG1faGFzUmVnaW9uc1dpdGhTdHlsaW5nOwogICAgIFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+IG1f
cmVnaW9uTGF5b3V0VXBkYXRlRXZlbnRUaW1lcjsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144363</attachid>
            <date>2012-05-28 08:10:11 -0700</date>
            <delta_ts>2012-05-28 08:14:07 -0700</delta_ts>
            <desc>The final version of the patch</desc>
            <filename>namedflow_overset.patch</filename>
            <type>text/plain</type>
            <size>28705</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZjQ1ZjBhLi5iN2I4YTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjggIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdp
b25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6b3ZlcnNldAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0OTEKKworICAg
ICAgICBUaGUgdGVzdCB3YXMgcmVmYWN0b3JlZCB0byBiZSBtb3JlIHNpbWlsYXIgdG8gdGhlIG90
aGVyIHNjcmlwdCB0ZXN0cyAoYnkgdXNpbmcgbWFrZS1uZXctc2NyaXB0LXRlc3QpCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2Via2l0LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1l
ZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzJkMzNkZi4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotVGVzdCBmb3IgW0NTU1JlZ2lvbnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6b3ZlcmZs
b3cKLQotT24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy4K
LQotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ct
b3ZlcmZsb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxNGI2NS4uMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBodG1s
PgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgotICAgICAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzdHlsZT4KLSAgICAgICAgICAg
IGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Ci0gICAgICAgICAgICAuZmxvdyB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93IH0KLSAgICAgICAgICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQotICAgICAgICAgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVp
Z2h0OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1
MHB4OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAg
ICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4ODAiPgotICAgICAgICBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdzwvYT48L3A+Ci0gICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEg
c2VyaWVzIG9mIFBBU1MgYmVsb3cuPC9wPgotICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSIgY2xhc3M9ImZsb3ciPgotICAgICAgICAgICAg
PHA+Q29udGVudCBpbnNpZGUgYXJ0aWNsZTwvcD4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0K
LSAgICAgICAgICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBoYXZlIGFueSByZWdpb25zIHll
dAotICAgICAgICAgICAgdmFyIG5hbWVkRmxvdyA9IGRvY3VtZW50LndlYmtpdEdldEZsb3dCeU5h
bWUoImZsb3ciKTsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFs
c2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UgZm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMi
KTsKLQotICAgICAgICAgICAgLy8gQWRkIGEgcmVnaW9uIHRvIHRha2UgdGhlIGNvbnRlbnQsIG92
ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXJzdCB0aGUgcmVnaW9u
cy4KLSAgICAgICAgICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKLSAgICAg
ICAgICAgIHJlZ2lvbi5pZCA9ICJyZWdpb24iOwotICAgICAgICAgICAgcmVnaW9uLmNsYXNzTmFt
ZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBm
YWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIHRo
ZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBtb3JlIGNvbnRlbnQgdG8gdGhlIGZs
b3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAgdmFyIHAgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJwIik7Ci0gICAgICAgICAgICBwLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJDb250ZW50IGluc2lkZSBhcnRpY2xlIikpOwotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKLSAgICAg
ICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1
ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIGFub3RoZXIgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UKLSAg
ICAgICAgICAgIHZhciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOwotICAgICAgICAg
ICAgcmVnaW9uMi5pZCA9ICJyZWdpb24yIjsKLSAgICAgICAgICAgIHJlZ2lvbjIuY2xhc3NOYW1l
ID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZh
bHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4g
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdywgb3Zl
cmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHggbGltZSI7Ci0gICAg
ICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IGluIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4K
LSAgICAgICAgICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjMpOwotICAgICAg
ICAgICAgcmVnaW9uMy5pZCA9ICJyZWdpb24zIjsKLSAgICAgICAgICAgIHJlZ2lvbjMuY2xhc3NO
YW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09
IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMg
aW4gcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBm
cm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIHJlZ2lv
bi5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cs
ICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQg
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20g
dGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4KLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBh
c3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlIHNpbmNlIHRoZSBmbG93IGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTsKLQotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS52aXNpYmlsaXR5
ID0gImhpZGRlbiI7Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVy
c2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43ZDYzYWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1Rlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MSBb
Q1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVy
c2V0LiBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWNz
czMtcmVnaW9ucy0yMDEyMDUwMy8KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMg
ZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1ZQorUEFTUyBuYW1lZEZsb3cub3Zl
cnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVk
Rmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mYWVjZGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApAQCAtMCwwICsxLDky
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgIC5m
bG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQorICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQorICAgICNyZWdpb24geyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBw
eDsgfQorICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAj
cmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+CisgICAgPHA+Q29udGVu
dCBpbnNpZGUgYXJ0aWNsZTwvcD4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigi
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxIFtD
U1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJz
ZXQuIFwKKyAgICAgICAgICAgICAgICBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDEyL1dELWNzczMtcmVnaW9ucy0yMDEyMDUwMy8iKTsKKworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAvLyBGbG93IGFydGljbGUgZG9lcyBub3QgaGF2ZSBh
bnkgcmVnaW9ucyB5ZXQKKyAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBh
IGZsb3cgd2l0aG91dCByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0Iiwg
ImZhbHNlIik7CisKKyAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVudCwgb3Zl
cmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSByZWdpb25z
LgorICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbik7CisgICAgcmVnaW9uLmlkID0gInJlZ2lv
biI7CisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgdGhlIHJlZ2lvbnMKKyAgICBz
aG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBtb3Jl
IGNvbnRlbnQgdG8gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHZhciBw
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgIHAuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKKworICAgIC8vIE92
ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUg
cmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJ0cnVlIik7CisKKyAg
ICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZQorICAgIHZh
ciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyZWdpb24yKTsKKyAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwor
ICAgIHJlZ2lvbjIuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91
bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBpbiB0aGUgcmVnaW9ucworICAgIHNo
b3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRkIHZpc3Vh
bCBvdmVyZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9IjBweCA1MHB4IGxpbWUi
OworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9l
cyBub3QgZml0IGluIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAi
dHJ1ZSIpOworCisgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBi
ZSBmYWxzZS4KKyAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7CisgICAgcmVnaW9uMy5p
ZCA9ICJyZWdpb24zIjsKKyAgICByZWdpb24zLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4gcmVn
aW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBmaXJzdCByZWdpb24gZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxk
IGJlIHRydWUuCisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICIiOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25z
CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8vIFJl
bW92ZSB0aGUgY29udGVudCBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5v
dCBoYXZlIGFueSBjb250ZW50CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZh
bHNlIik7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAg
cmVnaW9uMi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjMuc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdk
Y2NhYzUuLjhhMDIzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNS0yOCAg
QW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNd
UmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9u
cy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKKworICAgICAgICAqIGRvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0
KToKKyAgICAgICAgKiBkb20vV2ViS2l0TmFtZWRGbG93Lmg6CisgICAgICAgIChXZWJLaXROYW1l
ZEZsb3cpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaWRsOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
b3dUaHJlYWQ6OlJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorCiAyMDEyLTA1LTIyICBFbWlsIEEgRWtsdW5kICA8
ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyQmxvY2sgdG8gdXNlciBS
ZW5kZXJCb3gvUmVuZGVySW5saW5lIHdyaXRpbmcgbW9kZSBsb2dpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcAppbmRleCA0Y2ZiYjRjLi4wM2U3OTgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcApAQCAtNDUsMTAgKzQ1LDEwIEBAIFdlYktpdE5hbWVk
Rmxvdzo6fldlYktpdE5hbWVkRmxvdygpCiB7CiB9CiAKLWJvb2wgV2ViS2l0TmFtZWRGbG93Ojpv
dmVyZmxvdygpIGNvbnN0Citib29sIFdlYktpdE5hbWVkRmxvdzo6b3ZlcnNldCgpIGNvbnN0CiB7
CiAgICAgbV9wYXJlbnRGbG93VGhyZWFkLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICByZXR1cm4gbV9wYXJlbnRGbG93VGhyZWFkLT5vdmVy
ZmxvdygpOworICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJzZXQoKTsKIH0KIAog
UGFzc1JlZlB0cjxOb2RlTGlzdD4gV2ViS2l0TmFtZWRGbG93OjpnZXRSZWdpb25zQnlDb250ZW50
Tm9kZShOb2RlKiBjb250ZW50Tm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaApp
bmRleCAwYzVkNWVhLi5mZDE2OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TmFtZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAot
ICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdDsKKyAgICBib29sIG92ZXJzZXQoKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShOb2RlKik7CiAg
ICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gY29udGVudE5vZGVzKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKaW5kZXggMGQzMjRhNC4uMGMzZGQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKQEAgLTMxLDcgKzMxLDcgQEAgbW9kdWxl
IGNvcmUgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAg
ICAgXSBXZWJLaXROYW1lZEZsb3cgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBvdmVyZmxvdzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb3ZlcnNldDsK
ICAgICAgICAgTm9kZUxpc3QgZ2V0UmVnaW9uc0J5Q29udGVudE5vZGUoaW4gTm9kZSBjb250ZW50
Tm9kZSk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBjb250ZW50Tm9kZXM7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cAppbmRleCAyZTA0YTZiLi4zMjFlOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01MSw3ICs1MSw3IEBAIFJlbmRlckZsb3dUaHJlYWQ6
OlJlbmRlckZsb3dUaHJlYWQoTm9kZSogbm9kZSkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVk
KGZhbHNlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgodHJ1ZSkKICAg
ICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCh0cnVlKQotICAgICwgbV9vdmVy
ZmxvdyhmYWxzZSkKKyAgICAsIG1fb3ZlcnNldChmYWxzZSkKICAgICAsIG1fcmVnaW9uTGF5b3V0
VXBkYXRlRXZlbnRUaW1lcih0aGlzLCAmUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBk
YXRlRXZlbnRUaW1lckZpcmVkKQogewogICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpLT5jc3NS
ZWdpb25zRW5hYmxlZCgpKTsKQEAgLTcyOCw3ICs3MjgsNyBAQCB2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVudEFm
dGVyRQogCiAgICAgLy8gV2l0aCB0aGUgcmVnaW9ucyBvdmVyZmxvdyBzdGF0ZSBjb21wdXRlZCB3
ZSBjYW4gYWxzbyBzZXQgdGhlIG92ZXJmbG93IGZvciB0aGUgbmFtZWQgZmxvdy4KICAgICBSZW5k
ZXJSZWdpb24qIGxhc3RSZWcgPSBsYXN0UmVnaW9uKCk7Ci0gICAgbV9vdmVyZmxvdyA9IGxhc3RS
ZWcgJiYgKGxhc3RSZWctPnJlZ2lvblN0YXRlKCkgPT0gUmVuZGVyUmVnaW9uOjpSZWdpb25PdmVy
Zmxvdyk7CisgICAgbV9vdmVyc2V0ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUo
KSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKIH0KIAogdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyRmxv
d1RocmVhZD4qKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgK
aW5kZXggOTUzOTM5Yy4uOGExOTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgY29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0
ZXJFZGdlKTsKIAotICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
OyB9CisgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAKICAg
ICAvLyBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGluIHJlZ2lvbiBhbmQgdGhlIHJlZ2lvbiBpcyBw
YXJ0IG9mIHRoaXMgZmxvdyB0aHJlYWQuCiAgICAgYm9vbCBvYmplY3RJbkZsb3dSZWdpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyUmVnaW9uKikgY29uc3Q7CkBAIC0xNjksNyAr
MTY5LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQ7CiAgICAg
Ym9vbCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsKICAgICBib29sIG1fcmVnaW9u
c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodDsKLSAgICBib29sIG1fb3ZlcmZsb3c7CisgICAgYm9v
bCBtX292ZXJzZXQ7CiAgICAgVGltZXI8UmVuZGVyRmxvd1RocmVhZD4gbV9yZWdpb25MYXlvdXRV
cGRhdGVFdmVudFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhkNmUzNjMuLjljODA5OWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wNS0yOCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNv
bT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8g
TmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAgIFRoZSB0ZXN0IHdhcyByZWZhY3RvcmVkIHRvIGJl
IG1vcmUgc2ltaWxhciB0byB0aGUgb3RoZXIgc2NyaXB0IHRlc3RzIChieSB1c2luZyBtYWtlLW5l
dy1zY3JpcHQtdGVzdCkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJmbG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0y
OCAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBodHRwL3Rlc3RzL2NhY2hlL2NhbmNlbC1pbi1wcm9ncmVzcy1sb2FkLmh0bWwgaXMgZmxh
a3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3MmQzM2RmLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNSArMCwwIEBACi1UZXN0IGZvciBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdwotCi1PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIHNlcmllcyBvZiBQQVNTIGJl
bG93LgotCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi0K
LQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZs
b3ctb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyZmxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzE0YjY1
Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcyI+Ci0gICAgICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHN0eWxlPgotICAgICAg
ICAgICAgYm9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KLSAgICAgICAgICAgIC5mbG93
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQotICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9Ci0gICAgICAgICAgICAjcmVnaW9uIHsgd2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBo
ZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWln
aHQ6IDUwcHg7IH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0g
ICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODg4MCI+Ci0gICAgICAgIFtDU1NSZWdpb25zXUltcGxlbWVudCBOYW1lZEZs
b3c6Om92ZXJmbG93PC9hPjwvcD4KLSAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBz
ZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy48L3A+Ci0gICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+Ci0gICAgICAg
ICAgICA8cD5Db250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgotICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLQotICAgICAgICAgICAgLy8gRmxvdyBhcnRpY2xlIGRvZXMgbm90IGhhdmUgYW55IHJlZ2lv
bnMgeWV0Ci0gICAgICAgICAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9
PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBmb3IgYSBmbG93IHdpdGhvdXQgcmVn
aW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVu
dCwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSBy
ZWdpb25zLgotICAgICAgICAgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24pOwot
ICAgICAgICAgICAgcmVnaW9uLmlkID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICByZWdpb24uY2xh
c3NOYW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93
ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZp
dHMgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIG1vcmUgY29udGVudCB0byB0
aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICB2YXIgcCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKLSAgICAgICAgICAgIHAuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOwot
ICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdywgIk92ZXJmbG93IHNob3VsZCBi
ZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxz
ZQotICAgICAgICAgICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMik7Ci0gICAg
ICAgICAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwotICAgICAgICAgICAgcmVnaW9uMi5jbGFz
c05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cg
PT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0
cyBpbiB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93
LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhcnRpY2xlIikuc3R5bGUud2Via2l0Qm94U2hhZG93PSIwcHggNTBweCBsaW1lIjsK
LSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQg
YmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlLgotICAgICAgICAgICAgdmFyIHJlZ2lvbjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7Ci0g
ICAgICAgICAgICByZWdpb24zLmlkID0gInJlZ2lvbjMiOwotICAgICAgICAgICAgcmVnaW9uMy5j
bGFzc05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZs
b3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQg
Zml0cyBpbiByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmlyc3QgcmVn
aW9uIGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAg
cmVnaW9uLmNsYXNzTmFtZSA9ICIiOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVy
ZmxvdywgIk92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90
IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGNvbnRlbnQg
ZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlLgotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAg
ICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQg
YmUgZmFsc2Ugc2luY2UgdGhlIGZsb3cgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudCIpOwotCi0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLnZpc2li
aWxpdHkgPSAiaGlkZGVuIjsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjdkNjNhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NDkxIFtDU1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6
Om92ZXJzZXQuIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIv
V0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNl
dCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVkRmxv
dy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BBU1Mg
bmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1
ZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZWNkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCkBAIC0wLDAg
KzEsOTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorICAgIGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Cisg
ICAgLmZsb3cgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdyB9CisgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9CisgICAgI3JlZ2lvbjIgeyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQor
ICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImFydGljbGUiIGNsYXNzPSJmbG93Ij4KKyAgICA8cD5D
b250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0
aW9uKCJUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0
OTEgW0NTUyBSZWdpb25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6
b3ZlcnNldC4gXAorICAgICAgICAgICAgICAgIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTIvV0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLyIpOworCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBo
YXZlIGFueSByZWdpb25zIHlldAorICAgIHZhciBuYW1lZEZsb3cgPSBkb2N1bWVudC53ZWJraXRH
ZXRGbG93QnlOYW1lKCJmbG93Iik7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ug
Zm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJz
ZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBhIHJlZ2lvbiB0byB0YWtlIHRoZSBjb250ZW50
LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZmlyc3QgdGhlIHJl
Z2lvbnMuCisgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKKyAgICByZWdpb24uaWQgPSAi
cmVnaW9uIjsKKyAgICByZWdpb24uY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyB0aGUgcmVnaW9ucwor
ICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRk
IG1vcmUgY29udGVudCB0byB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAg
dmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CisgICAgcC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQ29udGVudCBpbnNpZGUgYXJ0aWNsZSIpKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0
IHRoZSByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsK
KworICAgIC8vIEFkZCBhbm90aGVyIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlCisg
ICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOworICAgIHJlZ2lvbjIuaWQgPSAicmVnaW9u
MiI7CisgICAgcmVnaW9uMi5jbGFzc05hbWUgPSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93
IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIGluIHRoZSByZWdpb25zCisg
ICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisKKyAgICAvLyBBZGQg
dmlzdWFsIG92ZXJmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHgg
bGltZSI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVu
dCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNl
dCIsICJ0cnVlIik7CisKKyAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hv
dWxkIGJlIGZhbHNlLgorICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24zKTsKKyAgICByZWdp
b24zLmlkID0gInJlZ2lvbjMiOworICAgIHJlZ2lvbjMuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisK
KyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBp
biByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisK
KyAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBz
aG91bGQgYmUgdHJ1ZS4KKyAgICByZWdpb24uY2xhc3NOYW1lID0gIiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJl
Z2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAidHJ1ZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBm
YWxzZS4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmNsYXNzTmFtZSA9
ICIiOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBmbG93IGRv
ZXMgbm90IGhhdmUgYW55IGNvbnRlbnQKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQi
LCAiZmFsc2UiKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICByZWdpb24uc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KyAgICByZWdpb24yLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uMy5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNGViZDUwZC4uMDdkYmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1
LTI4ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbAorCisgICAgICAgICogZG9tL1dl
YktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lZEZsb3c6Om92
ZXJzZXQpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaDoKKyAgICAgICAgKFdlYktp
dE5hbWVkRmxvdyk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5pZGw6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTItMDUtMjggIEtlaXNoaSBIYXR0
b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXhwb3NlIHZhbHVlIGxvY2FsaXph
dGlvbiBmdW5jdGlvbiBvZiBIVE1MSW5wdXRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwCmluZGV4IDlhMjcxNjQuLjE5ZTEyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01MCwxMCArNTAsMTAgQEAgU3RyaW5nIFdlYktpdE5hbWVk
Rmxvdzo6bmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+Zmxvd1Ro
cmVhZE5hbWUoKTsKIH0KIAotYm9vbCBXZWJLaXROYW1lZEZsb3c6Om92ZXJmbG93KCkgY29uc3QK
K2Jvb2wgV2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0KCkgY29uc3QKIHsKICAgICBtX3BhcmVudEZs
b3dUaHJlYWQtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOwotICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJmbG93KCk7CisgICAgcmV0
dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+b3ZlcnNldCgpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBXZWJLaXROYW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqIGNvbnRl
bnROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5oCmluZGV4IDVkMWU2YTcuLmI4
MWU1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAogICAgIFN0cmluZyBuYW1lKCkg
Y29uc3Q7Ci0gICAgYm9vbCBvdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgb3ZlcnNldCgpIGNv
bnN0OwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5v
ZGUqKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBjb250ZW50Tm9kZXMoKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAppbmRleCA2YjMwNjZjLi4wZGE5MGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbApAQCAtMzIsNyArMzIsNyBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAgXSBXZWJL
aXROYW1lZEZsb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJmbG93OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvdmVyc2V0OwogICAgICAgICBOb2RlTGlzdCBnZXRS
ZWdpb25zQnlDb250ZW50Tm9kZShpbiBOb2RlIGNvbnRlbnROb2RlKTsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE5vZGVMaXN0IGNvbnRlbnROb2RlczsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDNjZmZhMzQuLjIyNmU2
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAK
QEAgLTUxLDcgKzUxLDcgQEAgUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2Rl
KiBub2RlKQogICAgICwgbV9yZWdpb25zSW52YWxpZGF0ZWQoZmFsc2UpCiAgICAgLCBtX3JlZ2lv
bnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCh0cnVlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZv
cm1Mb2dpY2FsSGVpZ2h0KHRydWUpCi0gICAgLCBtX292ZXJmbG93KGZhbHNlKQorICAgICwgbV9v
dmVyc2V0KGZhbHNlKQogICAgICwgbV9yZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyKHRoaXMs
ICZSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiB7
CiAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVkKCkpOwpAQCAt
NzI5LDcgKzcyOSw3IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3Rh
dGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFCiAKICAgICAvLyBXaXRoIHRo
ZSByZWdpb25zIG92ZXJmbG93IHN0YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3Zl
cmZsb3cgZm9yIHRoZSBuYW1lZCBmbG93LgogICAgIFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxh
c3RSZWdpb24oKTsKLSAgICBtX292ZXJmbG93ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9u
U3RhdGUoKSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKKyAgICBtX292ZXJzZXQg
PSBsYXN0UmVnICYmIChsYXN0UmVnLT5yZWdpb25TdGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVn
aW9uT3ZlcmZsb3cpOwogfQogCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVw
ZGF0ZUV2ZW50VGltZXJGaXJlZChUaW1lcjxSZW5kZXJGbG93VGhyZWFkPiopCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMGEyNjliLi5hZWE3NDFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3dTdGF0
ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpOwogCi0gICAgYm9vbCBv
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIG92ZXJzZXQo
KSBjb25zdCB7IHJldHVybiBtX292ZXJzZXQ7IH0KIAogICAgIC8vIENoZWNrIGlmIHRoZSBvYmpl
Y3QgaXMgaW4gcmVnaW9uIGFuZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVh
ZC4KICAgICBib29sIG9iamVjdEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJSZWdpb24qKSBjb25zdDsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX3JlZ2lvbnNJbnZhbGlkYXRlZDsKICAgICBib29sIG1fcmVnaW9uc0hhdmVVbmlm
b3JtTG9naWNhbFdpZHRoOwogICAgIGJvb2wgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVp
Z2h0OwotICAgIGJvb2wgbV9vdmVyZmxvdzsKKyAgICBib29sIG1fb3ZlcnNldDsKICAgICBib29s
IG1faGFzUmVnaW9uc1dpdGhTdHlsaW5nOwogICAgIFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+IG1f
cmVnaW9uTGF5b3V0VXBkYXRlRXZlbnRUaW1lcjsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144365</attachid>
            <date>2012-05-28 08:14:07 -0700</date>
            <delta_ts>2012-05-28 08:21:21 -0700</delta_ts>
            <desc>Patch that&apos;s not actually grabbed from browser cache...</desc>
            <filename>namedflow_overset2.patch</filename>
            <type>text/plain</type>
            <size>28705</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZjQ1ZjBhLi5iN2I4YTNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjggIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdp
b25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6b3ZlcnNldAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0OTEKKworICAg
ICAgICBUaGUgdGVzdCB3YXMgcmVmYWN0b3JlZCB0byBiZSBtb3JlIHNpbWlsYXIgdG8gdGhlIG90
aGVyIHNjcmlwdCB0ZXN0cyAoYnkgdXNpbmcgbWFrZS1uZXctc2NyaXB0LXRlc3QpCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
d2Via2l0LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMjIgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1l
ZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzJkMzNkZi4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotVGVzdCBmb3IgW0NTU1JlZ2lvbnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6b3ZlcmZs
b3cKLQotT24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy4K
LQotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotUEFTUwotCi0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ct
b3ZlcmZsb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxNGI2NS4uMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cmZsb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBodG1s
PgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgotICAgICAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2hlbHBlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzdHlsZT4KLSAgICAgICAgICAg
IGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Ci0gICAgICAgICAgICAuZmxvdyB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93IH0KLSAgICAgICAgICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQotICAgICAgICAgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVp
Z2h0OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9Ci0gICAgICAgICAgICAjcmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1
MHB4OyB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAg
ICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg4ODAiPgotICAgICAgICBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdzwvYT48L3A+Ci0gICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEg
c2VyaWVzIG9mIFBBU1MgYmVsb3cuPC9wPgotICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLSAgICAgICAgPGRpdiBpZD0iYXJ0aWNsZSIgY2xhc3M9ImZsb3ciPgotICAgICAgICAgICAg
PHA+Q29udGVudCBpbnNpZGUgYXJ0aWNsZTwvcD4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0K
LSAgICAgICAgICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBoYXZlIGFueSByZWdpb25zIHll
dAotICAgICAgICAgICAgdmFyIG5hbWVkRmxvdyA9IGRvY3VtZW50LndlYmtpdEdldEZsb3dCeU5h
bWUoImZsb3ciKTsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFs
c2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UgZm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMi
KTsKLQotICAgICAgICAgICAgLy8gQWRkIGEgcmVnaW9uIHRvIHRha2UgdGhlIGNvbnRlbnQsIG92
ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXJzdCB0aGUgcmVnaW9u
cy4KLSAgICAgICAgICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKLSAgICAg
ICAgICAgIHJlZ2lvbi5pZCA9ICJyZWdpb24iOwotICAgICAgICAgICAgcmVnaW9uLmNsYXNzTmFt
ZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBm
YWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIHRo
ZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBtb3JlIGNvbnRlbnQgdG8gdGhlIGZs
b3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAgdmFyIHAgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJwIik7Ci0gICAgICAgICAgICBwLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJDb250ZW50IGluc2lkZSBhcnRpY2xlIikpOwotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKLSAgICAg
ICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1
ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIGFub3RoZXIgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UKLSAg
ICAgICAgICAgIHZhciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0g
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOwotICAgICAgICAg
ICAgcmVnaW9uMi5pZCA9ICJyZWdpb24yIjsKLSAgICAgICAgICAgIHJlZ2lvbjIuY2xhc3NOYW1l
ID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZh
bHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4g
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdywgb3Zl
cmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHggbGltZSI7Ci0gICAg
ICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IGluIHJlZ2lvbnMiKTsKLQotICAgICAg
ICAgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4K
LSAgICAgICAgICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjMpOwotICAgICAg
ICAgICAgcmVnaW9uMy5pZCA9ICJyZWdpb24zIjsKLSAgICAgICAgICAgIHJlZ2lvbjMuY2xhc3NO
YW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09
IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMg
aW4gcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBm
cm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIHJlZ2lv
bi5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cs
ICJPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQg
dGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20g
dGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZS4KLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBh
c3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlIHNpbmNlIHRoZSBmbG93IGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTsKLQotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS52aXNpYmlsaXR5
ID0gImhpZGRlbiI7Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVy
c2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43ZDYzYWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
K1Rlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MSBb
Q1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVy
c2V0LiBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWNz
czMtcmVnaW9ucy0yMDEyMDUwMy8KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMg
ZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1ZQorUEFTUyBuYW1lZEZsb3cub3Zl
cnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVk
Rmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BB
U1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mYWVjZGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbApAQCAtMCwwICsxLDky
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQorICAgIC5m
bG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQorICAgIC5yZWdpb24geyAtd2Via2l0LWZs
b3ctZnJvbTogZmxvdzsgfQorICAgICNyZWdpb24geyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBw
eDsgfQorICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAj
cmVnaW9uMyB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+CisgICAgPHA+Q29udGVu
dCBpbnNpZGUgYXJ0aWNsZTwvcD4KKzwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigi
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxIFtD
U1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJz
ZXQuIFwKKyAgICAgICAgICAgICAgICBGb3IgbW9yZSBkZXRhaWxzIHNlZSBodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDEyL1dELWNzczMtcmVnaW9ucy0yMDEyMDUwMy8iKTsKKworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICAvLyBGbG93IGFydGljbGUgZG9lcyBub3QgaGF2ZSBh
bnkgcmVnaW9ucyB5ZXQKKyAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBh
IGZsb3cgd2l0aG91dCByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0Iiwg
ImZhbHNlIik7CisKKyAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVudCwgb3Zl
cmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSByZWdpb25z
LgorICAgIHZhciByZWdpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbik7CisgICAgcmVnaW9uLmlkID0gInJlZ2lv
biI7CisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgdGhlIHJlZ2lvbnMKKyAgICBz
aG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBtb3Jl
IGNvbnRlbnQgdG8gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHZhciBw
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgIHAuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5hcHBlbmRDaGlsZChwKTsKKworICAgIC8vIE92
ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUg
cmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJ0cnVlIik7CisKKyAg
ICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZQorICAgIHZh
ciByZWdpb24yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyZWdpb24yKTsKKyAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwor
ICAgIHJlZ2lvbjIuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91
bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBpbiB0aGUgcmVnaW9ucworICAgIHNo
b3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRkIHZpc3Vh
bCBvdmVyZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9IjBweCA1MHB4IGxpbWUi
OworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9l
cyBub3QgZml0IGluIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAi
dHJ1ZSIpOworCisgICAgLy8gQWRkIHRoZSB0aGlyZCByZWdpb24sIG92ZXJmbG93IHNob3VsZCBi
ZSBmYWxzZS4KKyAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7CisgICAgcmVnaW9uMy5p
ZCA9ICJyZWdpb24zIjsKKyAgICByZWdpb24zLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4gcmVn
aW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBmaXJzdCByZWdpb24gZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxk
IGJlIHRydWUuCisgICAgcmVnaW9uLmNsYXNzTmFtZSA9ICIiOworCisgICAgLy8gT3ZlcmZsb3cg
c2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25z
CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8vIFJl
bW92ZSB0aGUgY29udGVudCBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5v
dCBoYXZlIGFueSBjb250ZW50CisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZh
bHNlIik7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAg
cmVnaW9uMi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjMuc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdk
Y2NhYzUuLjhhMDIzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNS0yOCAg
QW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNd
UmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9u
cy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKKworICAgICAgICAqIGRvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0
KToKKyAgICAgICAgKiBkb20vV2ViS2l0TmFtZWRGbG93Lmg6CisgICAgICAgIChXZWJLaXROYW1l
ZEZsb3cpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaWRsOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
b3dUaHJlYWQ6OlJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorCiAyMDEyLTA1LTIyICBFbWlsIEEgRWtsdW5kICA8
ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgUmVuZGVyQmxvY2sgdG8gdXNlciBS
ZW5kZXJCb3gvUmVuZGVySW5saW5lIHdyaXRpbmcgbW9kZSBsb2dpYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcAppbmRleCA0Y2ZiYjRjLi4wM2U3OTgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcApAQCAtNDUsMTAgKzQ1LDEwIEBAIFdlYktpdE5hbWVk
Rmxvdzo6fldlYktpdE5hbWVkRmxvdygpCiB7CiB9CiAKLWJvb2wgV2ViS2l0TmFtZWRGbG93Ojpv
dmVyZmxvdygpIGNvbnN0Citib29sIFdlYktpdE5hbWVkRmxvdzo6b3ZlcnNldCgpIGNvbnN0CiB7
CiAgICAgbV9wYXJlbnRGbG93VGhyZWFkLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICByZXR1cm4gbV9wYXJlbnRGbG93VGhyZWFkLT5vdmVy
ZmxvdygpOworICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJzZXQoKTsKIH0KIAog
UGFzc1JlZlB0cjxOb2RlTGlzdD4gV2ViS2l0TmFtZWRGbG93OjpnZXRSZWdpb25zQnlDb250ZW50
Tm9kZShOb2RlKiBjb250ZW50Tm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaApp
bmRleCAwYzVkNWVhLi5mZDE2OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2Vi
S2l0TmFtZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAot
ICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdDsKKyAgICBib29sIG92ZXJzZXQoKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShOb2RlKik7CiAg
ICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gY29udGVudE5vZGVzKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKaW5kZXggMGQzMjRhNC4uMGMzZGQ5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKQEAgLTMxLDcgKzMxLDcgQEAgbW9kdWxl
IGNvcmUgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAg
ICAgXSBXZWJLaXROYW1lZEZsb3cgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBvdmVyZmxvdzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb3ZlcnNldDsK
ICAgICAgICAgTm9kZUxpc3QgZ2V0UmVnaW9uc0J5Q29udGVudE5vZGUoaW4gTm9kZSBjb250ZW50
Tm9kZSk7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBjb250ZW50Tm9kZXM7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cAppbmRleCAyZTA0YTZiLi4zMjFlOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC01MSw3ICs1MSw3IEBAIFJlbmRlckZsb3dUaHJlYWQ6
OlJlbmRlckZsb3dUaHJlYWQoTm9kZSogbm9kZSkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVk
KGZhbHNlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgodHJ1ZSkKICAg
ICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCh0cnVlKQotICAgICwgbV9vdmVy
ZmxvdyhmYWxzZSkKKyAgICAsIG1fb3ZlcnNldChmYWxzZSkKICAgICAsIG1fcmVnaW9uTGF5b3V0
VXBkYXRlRXZlbnRUaW1lcih0aGlzLCAmUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBk
YXRlRXZlbnRUaW1lckZpcmVkKQogewogICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpLT5jc3NS
ZWdpb25zRW5hYmxlZCgpKTsKQEAgLTcyOCw3ICs3MjgsNyBAQCB2b2lkIFJlbmRlckZsb3dUaHJl
YWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhMYXlvdXRVbml0IG9sZENsaWVudEFm
dGVyRQogCiAgICAgLy8gV2l0aCB0aGUgcmVnaW9ucyBvdmVyZmxvdyBzdGF0ZSBjb21wdXRlZCB3
ZSBjYW4gYWxzbyBzZXQgdGhlIG92ZXJmbG93IGZvciB0aGUgbmFtZWQgZmxvdy4KICAgICBSZW5k
ZXJSZWdpb24qIGxhc3RSZWcgPSBsYXN0UmVnaW9uKCk7Ci0gICAgbV9vdmVyZmxvdyA9IGxhc3RS
ZWcgJiYgKGxhc3RSZWctPnJlZ2lvblN0YXRlKCkgPT0gUmVuZGVyUmVnaW9uOjpSZWdpb25PdmVy
Zmxvdyk7CisgICAgbV9vdmVyc2V0ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUo
KSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKIH0KIAogdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyRmxv
d1RocmVhZD4qKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgK
aW5kZXggOTUzOTM5Yy4uOGExOTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgY29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0
ZXJFZGdlKTsKIAotICAgIGJvb2wgb3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
OyB9CisgICAgYm9vbCBvdmVyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyc2V0OyB9CiAKICAg
ICAvLyBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGluIHJlZ2lvbiBhbmQgdGhlIHJlZ2lvbiBpcyBw
YXJ0IG9mIHRoaXMgZmxvdyB0aHJlYWQuCiAgICAgYm9vbCBvYmplY3RJbkZsb3dSZWdpb24oY29u
c3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyUmVnaW9uKikgY29uc3Q7CkBAIC0xNjksNyAr
MTY5LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQ7CiAgICAg
Ym9vbCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsKICAgICBib29sIG1fcmVnaW9u
c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodDsKLSAgICBib29sIG1fb3ZlcmZsb3c7CisgICAgYm9v
bCBtX292ZXJzZXQ7CiAgICAgVGltZXI8UmVuZGVyRmxvd1RocmVhZD4gbV9yZWdpb25MYXlvdXRV
cGRhdGVFdmVudFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhkNmUzNjMuLjljODA5OWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wNS0yOCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNv
bT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8g
TmFtZWRGbG93OjpvdmVyc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzQ5MQorCisgICAgICAgIFRoZSB0ZXN0IHdhcyByZWZhY3RvcmVkIHRvIGJl
IG1vcmUgc2ltaWxhciB0byB0aGUgb3RoZXIgc2NyaXB0IHRlc3RzIChieSB1c2luZyBtYWtlLW5l
dy1zY3JpcHQtdGVzdCkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJmbG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0y
OCAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBodHRwL3Rlc3RzL2NhY2hlL2NhbmNlbC1pbi1wcm9ncmVzcy1sb2FkLmh0bWwgaXMgZmxh
a3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0
LW5hbWVkLWZsb3ctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3MmQzM2RmLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxNSArMCwwIEBACi1UZXN0IGZvciBbQ1NTUmVnaW9uc11JbXBsZW1lbnQgTmFtZWRGbG93Ojpv
dmVyZmxvdwotCi1PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIHNlcmllcyBvZiBQQVNTIGJl
bG93LgotCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi1QQVNTCi0K
LQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZs
b3ctb3ZlcmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQt
Zmxvdy1vdmVyZmxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzE0YjY1
Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyZmxvdy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcyI+Ci0gICAgICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvaGVscGVyLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHN0eWxlPgotICAgICAg
ICAgICAgYm9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KLSAgICAgICAgICAgIC5mbG93
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cgfQotICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9Ci0gICAgICAgICAgICAjcmVnaW9uIHsgd2lkdGg6IDI1MHB4
OyBoZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24yIHsgd2lkdGg6IDI1MHB4OyBo
ZWlnaHQ6IDUwcHg7IH0KLSAgICAgICAgICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWln
aHQ6IDUwcHg7IH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0g
ICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03ODg4MCI+Ci0gICAgICAgIFtDU1NSZWdpb25zXUltcGxlbWVudCBOYW1lZEZs
b3c6Om92ZXJmbG93PC9hPjwvcD4KLSAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBz
ZWUgYSBzZXJpZXMgb2YgUEFTUyBiZWxvdy48L3A+Ci0gICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotICAgICAgICA8ZGl2IGlkPSJhcnRpY2xlIiBjbGFzcz0iZmxvdyI+Ci0gICAgICAg
ICAgICA8cD5Db250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgotICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLQotICAgICAgICAgICAgLy8gRmxvdyBhcnRpY2xlIGRvZXMgbm90IGhhdmUgYW55IHJlZ2lv
bnMgeWV0Ci0gICAgICAgICAgICB2YXIgbmFtZWRGbG93ID0gZG9jdW1lbnQud2Via2l0R2V0Rmxv
d0J5TmFtZSgiZmxvdyIpOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9
PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBmb3IgYSBmbG93IHdpdGhvdXQgcmVn
aW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgYSByZWdpb24gdG8gdGFrZSB0aGUgY29udGVu
dCwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpcnN0IHRoZSBy
ZWdpb25zLgotICAgICAgICAgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24pOwot
ICAgICAgICAgICAgcmVnaW9uLmlkID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICByZWdpb24uY2xh
c3NOYW1lID0gInJlZ2lvbiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93
ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZp
dHMgdGhlIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gQWRkIG1vcmUgY29udGVudCB0byB0
aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICB2YXIgcCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKLSAgICAgICAgICAgIHAuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIkNvbnRlbnQgaW5zaWRlIGFydGljbGUiKSk7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOwot
ICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdywgIk92ZXJmbG93IHNob3VsZCBi
ZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgYW5vdGhlciByZWdpb24sIG92ZXJmbG93IHNob3VsZCBiZSBmYWxz
ZQotICAgICAgICAgICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMik7Ci0gICAg
ICAgICAgICByZWdpb24yLmlkID0gInJlZ2lvbjIiOwotICAgICAgICAgICAgcmVnaW9uMi5jbGFz
c05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cg
PT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0
cyBpbiB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93
LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhcnRpY2xlIikuc3R5bGUud2Via2l0Qm94U2hhZG93PSIwcHggNTBweCBsaW1lIjsK
LSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3csICJPdmVyZmxvdyBzaG91bGQg
YmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucyIpOwotCi0g
ICAgICAgICAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZh
bHNlLgotICAgICAgICAgICAgdmFyIHJlZ2lvbjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMyk7Ci0g
ICAgICAgICAgICByZWdpb24zLmlkID0gInJlZ2lvbjMiOwotICAgICAgICAgICAgcmVnaW9uMy5j
bGFzc05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZs
b3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQg
Zml0cyBpbiByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgZmlyc3QgcmVn
aW9uIGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAg
cmVnaW9uLmNsYXNzTmFtZSA9ICIiOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVy
ZmxvdywgIk92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90
IGZpdCB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGNvbnRlbnQg
ZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlLgotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5jbGFzc05hbWUgPSAiIjsKLSAgICAgICAg
ICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQg
YmUgZmFsc2Ugc2luY2UgdGhlIGZsb3cgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudCIpOwotCi0g
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLnZpc2li
aWxpdHkgPSAiaGlkZGVuIjsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJzZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1u
YW1lZC1mbG93LW92ZXJzZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjdkNjNhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NDkxIFtDU1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6
Om92ZXJzZXQuIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTIv
V0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNl
dCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVkRmxv
dy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BBU1Mg
bmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1
ZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZWNkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC5odG1sCkBAIC0wLDAg
KzEsOTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorICAgIGJvZHkgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9Cisg
ICAgLmZsb3cgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdyB9CisgICAgLnJlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgI3JlZ2lvbiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0
OiA1MHB4OyB9CisgICAgI3JlZ2lvbjIgeyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQor
ICAgICNyZWdpb24zIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImFydGljbGUiIGNsYXNzPSJmbG93Ij4KKyAgICA8cD5D
b250ZW50IGluc2lkZSBhcnRpY2xlPC9wPgorPC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0
aW9uKCJUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0
OTEgW0NTUyBSZWdpb25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6
b3ZlcnNldC4gXAorICAgICAgICAgICAgICAgIEZvciBtb3JlIGRldGFpbHMgc2VlIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTIvV0QtY3NzMy1yZWdpb25zLTIwMTIwNTAzLyIpOworCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIC8vIEZsb3cgYXJ0aWNsZSBkb2VzIG5vdCBo
YXZlIGFueSByZWdpb25zIHlldAorICAgIHZhciBuYW1lZEZsb3cgPSBkb2N1bWVudC53ZWJraXRH
ZXRGbG93QnlOYW1lKCJmbG93Iik7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ug
Zm9yIGEgZmxvdyB3aXRob3V0IHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJz
ZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCBhIHJlZ2lvbiB0byB0YWtlIHRoZSBjb250ZW50
LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZmlyc3QgdGhlIHJl
Z2lvbnMuCisgICAgdmFyIHJlZ2lvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uKTsKKyAgICByZWdpb24uaWQgPSAi
cmVnaW9uIjsKKyAgICByZWdpb24uY2xhc3NOYW1lID0gInJlZ2lvbiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyB0aGUgcmVnaW9ucwor
ICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRk
IG1vcmUgY29udGVudCB0byB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCisgICAg
dmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CisgICAgcC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQ29udGVudCBpbnNpZGUgYXJ0aWNsZSIpKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmFwcGVuZENoaWxkKHApOworCisgICAg
Ly8gT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0
IHRoZSByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsK
KworICAgIC8vIEFkZCBhbm90aGVyIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlCisg
ICAgdmFyIHJlZ2lvbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbjIpOworICAgIHJlZ2lvbjIuaWQgPSAicmVnaW9u
MiI7CisgICAgcmVnaW9uMi5jbGFzc05hbWUgPSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93
IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIGluIHRoZSByZWdpb25zCisg
ICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisKKyAgICAvLyBBZGQg
dmlzdWFsIG92ZXJmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLnN0eWxlLndlYmtpdEJveFNoYWRvdz0iMHB4IDUwcHgg
bGltZSI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVu
dCBkb2VzIG5vdCBmaXQgaW4gcmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNl
dCIsICJ0cnVlIik7CisKKyAgICAvLyBBZGQgdGhlIHRoaXJkIHJlZ2lvbiwgb3ZlcmZsb3cgc2hv
dWxkIGJlIGZhbHNlLgorICAgIHZhciByZWdpb24zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24zKTsKKyAgICByZWdp
b24zLmlkID0gInJlZ2lvbjMiOworICAgIHJlZ2lvbjMuY2xhc3NOYW1lID0gInJlZ2lvbiI7CisK
KyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyBp
biByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7CisK
KyAgICAvLyBSZW1vdmUgdGhlIGZpcnN0IHJlZ2lvbiBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBz
aG91bGQgYmUgdHJ1ZS4KKyAgICByZWdpb24uY2xhc3NOYW1lID0gIiI7CisKKyAgICAvLyBPdmVy
ZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJl
Z2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAidHJ1ZSIpOworCisgICAg
Ly8gUmVtb3ZlIHRoZSBjb250ZW50IGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSBm
YWxzZS4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmNsYXNzTmFtZSA9
ICIiOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBmbG93IGRv
ZXMgbm90IGhhdmUgYW55IGNvbnRlbnQKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQi
LCAiZmFsc2UiKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICByZWdpb24uc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KyAgICByZWdpb24yLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgcmVnaW9uMy5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNGViZDUwZC4uMDdkYmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1
LTI4ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbAorCisgICAgICAgICogZG9tL1dl
YktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lZEZsb3c6Om92
ZXJzZXQpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaDoKKyAgICAgICAgKFdlYktp
dE5hbWVkRmxvdyk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5pZGw6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTItMDUtMjggIEtlaXNoaSBIYXR0
b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXhwb3NlIHZhbHVlIGxvY2FsaXph
dGlvbiBmdW5jdGlvbiBvZiBIVE1MSW5wdXRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRO
YW1lZEZsb3cuY3BwCmluZGV4IDlhMjcxNjQuLjE5ZTEyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01MCwxMCArNTAsMTAgQEAgU3RyaW5nIFdlYktpdE5hbWVk
Rmxvdzo6bmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+Zmxvd1Ro
cmVhZE5hbWUoKTsKIH0KIAotYm9vbCBXZWJLaXROYW1lZEZsb3c6Om92ZXJmbG93KCkgY29uc3QK
K2Jvb2wgV2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0KCkgY29uc3QKIHsKICAgICBtX3BhcmVudEZs
b3dUaHJlYWQtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOwotICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJmbG93KCk7CisgICAgcmV0
dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+b3ZlcnNldCgpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBXZWJLaXROYW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqIGNvbnRl
bnROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5oCmluZGV4IDVkMWU2YTcuLmI4
MWU1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAogICAgIFN0cmluZyBuYW1lKCkg
Y29uc3Q7Ci0gICAgYm9vbCBvdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgb3ZlcnNldCgpIGNv
bnN0OwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5v
ZGUqKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBjb250ZW50Tm9kZXMoKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAppbmRleCA2YjMwNjZjLi4wZGE5MGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbApAQCAtMzIsNyArMzIsNyBA
QCBtb2R1bGUgY29yZSB7CiAgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAgXSBXZWJL
aXROYW1lZEZsb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJmbG93OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvdmVyc2V0OwogICAgICAgICBOb2RlTGlzdCBnZXRS
ZWdpb25zQnlDb250ZW50Tm9kZShpbiBOb2RlIGNvbnRlbnROb2RlKTsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE5vZGVMaXN0IGNvbnRlbnROb2RlczsKICAgICB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDNjZmZhMzQuLjIyNmU2
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAK
QEAgLTUxLDcgKzUxLDcgQEAgUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2Rl
KiBub2RlKQogICAgICwgbV9yZWdpb25zSW52YWxpZGF0ZWQoZmFsc2UpCiAgICAgLCBtX3JlZ2lv
bnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCh0cnVlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZv
cm1Mb2dpY2FsSGVpZ2h0KHRydWUpCi0gICAgLCBtX292ZXJmbG93KGZhbHNlKQorICAgICwgbV9v
dmVyc2V0KGZhbHNlKQogICAgICwgbV9yZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyKHRoaXMs
ICZSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiB7
CiAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVkKCkpOwpAQCAt
NzI5LDcgKzcyOSw3IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3Rh
dGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFCiAKICAgICAvLyBXaXRoIHRo
ZSByZWdpb25zIG92ZXJmbG93IHN0YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3Zl
cmZsb3cgZm9yIHRoZSBuYW1lZCBmbG93LgogICAgIFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxh
c3RSZWdpb24oKTsKLSAgICBtX292ZXJmbG93ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9u
U3RhdGUoKSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKKyAgICBtX292ZXJzZXQg
PSBsYXN0UmVnICYmIChsYXN0UmVnLT5yZWdpb25TdGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVn
aW9uT3ZlcmZsb3cpOwogfQogCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVw
ZGF0ZUV2ZW50VGltZXJGaXJlZChUaW1lcjxSZW5kZXJGbG93VGhyZWFkPiopCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMGEyNjliLi5hZWE3NDFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEy
NCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3dTdGF0
ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpOwogCi0gICAgYm9vbCBv
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIG92ZXJzZXQo
KSBjb25zdCB7IHJldHVybiBtX292ZXJzZXQ7IH0KIAogICAgIC8vIENoZWNrIGlmIHRoZSBvYmpl
Y3QgaXMgaW4gcmVnaW9uIGFuZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVh
ZC4KICAgICBib29sIG9iamVjdEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJSZWdpb24qKSBjb25zdDsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX3JlZ2lvbnNJbnZhbGlkYXRlZDsKICAgICBib29sIG1fcmVnaW9uc0hhdmVVbmlm
b3JtTG9naWNhbFdpZHRoOwogICAgIGJvb2wgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVp
Z2h0OwotICAgIGJvb2wgbV9vdmVyZmxvdzsKKyAgICBib29sIG1fb3ZlcnNldDsKICAgICBib29s
IG1faGFzUmVnaW9uc1dpdGhTdHlsaW5nOwogICAgIFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+IG1f
cmVnaW9uTGF5b3V0VXBkYXRlRXZlbnRUaW1lcjsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144369</attachid>
            <date>2012-05-28 08:21:31 -0700</date>
            <delta_ts>2012-05-29 02:34:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87491-20120528182130.patch</filename>
            <type>text/plain</type>
            <size>15186</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGViZDUwZDUyNjlmOTll
MmU3ZWQ1ODVjZjBjODllYWRlNzU4ZDZmZS4uMDdkYmVjZTczMmE2ZWZhNjNhZjQ4OTI5MTU5ODFi
MDkwOGMzNDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTI4ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc11SZW5h
bWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25zL3dl
YmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbAorCisgICAgICAgICogZG9tL1dlYktpdE5hbWVk
Rmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lZEZsb3c6Om92ZXJzZXQpOgor
ICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaDoKKyAgICAgICAgKFdlYktpdE5hbWVkRmxv
dyk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5pZGw6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1Ro
cmVhZDo6UmVuZGVyRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhy
ZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTItMDUtMjggIEtlaXNoaSBIYXR0b3JpICA8a2Vp
c2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXhwb3NlIHZhbHVlIGxvY2FsaXphdGlvbiBmdW5j
dGlvbiBvZiBIVE1MSW5wdXRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cu
Y3BwCmluZGV4IDlhMjcxNjRkYzllZTE1OWM4M2UwN2RlZGQwMDZmNzUzZjFlYzEwMGYuLjE5ZTEy
MjkyMmMzMDE5YWIyZGY2ZWZmNjI4NWQwMzY5MzdhOGViZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9X
ZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01MCwxMCArNTAsMTAgQEAgU3RyaW5nIFdlYktpdE5hbWVk
Rmxvdzo6bmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+Zmxvd1Ro
cmVhZE5hbWUoKTsKIH0KIAotYm9vbCBXZWJLaXROYW1lZEZsb3c6Om92ZXJmbG93KCkgY29uc3QK
K2Jvb2wgV2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0KCkgY29uc3QKIHsKICAgICBtX3BhcmVudEZs
b3dUaHJlYWQtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOwotICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92ZXJmbG93KCk7CisgICAgcmV0
dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+b3ZlcnNldCgpOwogfQogCiBQYXNzUmVmUHRyPE5vZGVM
aXN0PiBXZWJLaXROYW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqIGNvbnRl
bnROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5oCmluZGV4IDVkMWU2YTc0ZGQ4
YzI3NmYzOGQyMzkyNGZlNjVhZjRhZDZiOGM2YzMuLmI4MWU1YTRiMDI3ZDMxZGQ3NTU5MDczODgy
NjAwOTA4ZjhjMjdiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1l
ZEZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmgKQEAgLTUw
LDcgKzUwLDcgQEAgcHVibGljOgogICAgIH5XZWJLaXROYW1lZEZsb3coKTsKIAogICAgIFN0cmlu
ZyBuYW1lKCkgY29uc3Q7Ci0gICAgYm9vbCBvdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgb3Zl
cnNldCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IGdldFJlZ2lvbnNCeUNvbnRl
bnROb2RlKE5vZGUqKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0PiBjb250ZW50Tm9kZXMoKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAppbmRleCA2YjMwNjZj
YTkzMmE1ODA5YmQ2YjM0ZjUyMmIxMmMxZTU1MzhkODQyLi4wZGE5MGUwMGNjNmRjODY3MDNiZGE5
NzU4YzczMGJlYjIwNTMyNTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TmFtZWRGbG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93Lmlk
bApAQCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIEpTR2VuZXJhdGVUb0pT
T2JqZWN0CiAgICAgXSBXZWJLaXROYW1lZEZsb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92
ZXJmbG93OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvdmVyc2V0OwogICAg
ICAgICBOb2RlTGlzdCBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShpbiBOb2RlIGNvbnRlbnROb2Rl
KTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0IGNvbnRlbnROb2RlczsKICAg
ICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmlu
ZGV4IDNjZmZhMzRkMGE0MzUxNDVhMjU2ZTg3NmJkYjU3Nzg4NmEyMjE2MWIuLjIyNmU2OGU4YmE2
ZWMwOWFmODgzY2M3ODUzMzZiMzZkNWQ3YjVkMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgUmVuZGVyRmxvd1Ro
cmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2RlKiBub2RlKQogICAgICwgbV9yZWdpb25zSW52YWxp
ZGF0ZWQoZmFsc2UpCiAgICAgLCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCh0cnVl
KQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0KHRydWUpCi0gICAgLCBt
X292ZXJmbG93KGZhbHNlKQorICAgICwgbV9vdmVyc2V0KGZhbHNlKQogICAgICwgbV9yZWdpb25M
YXlvdXRVcGRhdGVFdmVudFRpbWVyKHRoaXMsICZSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25MYXlv
dXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiB7CiAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCkt
PmNzc1JlZ2lvbnNFbmFibGVkKCkpOwpAQCAtNzI5LDcgKzcyOSw3IEBAIHZvaWQgUmVuZGVyRmxv
d1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKExheW91dFVuaXQgb2xkQ2xp
ZW50QWZ0ZXJFCiAKICAgICAvLyBXaXRoIHRoZSByZWdpb25zIG92ZXJmbG93IHN0YXRlIGNvbXB1
dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3ZlcmZsb3cgZm9yIHRoZSBuYW1lZCBmbG93LgogICAg
IFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxhc3RSZWdpb24oKTsKLSAgICBtX292ZXJmbG93ID0g
bGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUoKSA9PSBSZW5kZXJSZWdpb246OlJlZ2lv
bk92ZXJmbG93KTsKKyAgICBtX292ZXJzZXQgPSBsYXN0UmVnICYmIChsYXN0UmVnLT5yZWdpb25T
dGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVnaW9uT3ZlcmZsb3cpOwogfQogCiB2b2lkIFJlbmRl
ckZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50VGltZXJGaXJlZChUaW1lcjxSZW5k
ZXJGbG93VGhyZWFkPiopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuaAppbmRleCBmMGEyNjliMDk3YThmMmU5N2Q0YjBlOTUyNmYyZjNiNzBiYTliNWY1Li5hZWE3
NDFlYzE5MDhjY2QyNjg3MjJlMTc2MzNhM2QzMDQzNmM0ZDhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6
CiAgICAgCiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0VW5p
dCBvbGRDbGllbnRBZnRlckVkZ2UpOwogCi0gICAgYm9vbCBvdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIG92ZXJzZXQoKSBjb25zdCB7IHJldHVybiBtX292
ZXJzZXQ7IH0KIAogICAgIC8vIENoZWNrIGlmIHRoZSBvYmplY3QgaXMgaW4gcmVnaW9uIGFuZCB0
aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVhZC4KICAgICBib29sIG9iamVjdElu
Rmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJSZWdpb24qKSBjb25z
dDsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3JlZ2lvbnNJbnZh
bGlkYXRlZDsKICAgICBib29sIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoOwogICAg
IGJvb2wgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OwotICAgIGJvb2wgbV9vdmVy
ZmxvdzsKKyAgICBib29sIG1fb3ZlcnNldDsKICAgICBib29sIG1faGFzUmVnaW9uc1dpdGhTdHls
aW5nOwogICAgIFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+IG1fcmVnaW9uTGF5b3V0VXBkYXRlRXZl
bnRUaW1lcjsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGQ2ZTM2MzFhMmJlMzJiYmMxMTcyZTU3OGI3OTBjMWI2NWY5
ZjUxYS4uOWM4MDk5Y2FjZDlhNmJkMDE5MjYyZjI2NGYwNzkzZmE0ZDJhMjcxMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA1LTI4ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29t
PgorCisgICAgICAgIFtDU1MgUmVnaW9uc11SZW5hbWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBO
YW1lZEZsb3c6Om92ZXJzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3NDkxCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIHJlZmFjdG9yZWQgdG8gYmUg
bW9yZSBzaW1pbGFyIHRvIHRoZSBvdGhlciBzY3JpcHQgdGVzdHMgKGJ5IHVzaW5nIG1ha2UtbmV3
LXNjcmlwdC10ZXN0KQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ct
b3ZlcmZsb3cuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LW5h
bWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVn
aW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTI4
ICBNYXJjdXMgQnVsYWNoICA8YnVsYWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21p
dW1dIGh0dHAvdGVzdHMvY2FjaGUvY2FuY2VsLWluLXByb2dyZXNzLWxvYWQuaHRtbCBpcyBmbGFr
eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93
LW92ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQt
bmFtZWQtZmxvdy1vdmVyZmxvdy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDcyZDMzZGY1ZjA5NmVmZmM4NjI2OWU5ZTczYjE2ZDU3ZGFmN2IzNjMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLVRlc3QgZm9yIFtDU1NSZWdpb25zXUltcGxlbWVudCBOYW1l
ZEZsb3c6Om92ZXJmbG93Ci0KLU9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEgc2VyaWVzIG9m
IFBBU1MgYmVsb3cuCi0KLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MK
LVBBU1MKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQt
bmFtZWQtZmxvdy1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtp
dC1uYW1lZC1mbG93LW92ZXJmbG93Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRjMTRiNjU3MjRlZjI1ZTczNmEwOTE1NjliNDk1ZGEwNWE3MDJiMzcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MyAr
MCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9yZWdpb24tc3R5bGUuY3NzIj4KLSAg
ICAgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgICAg
ICA8c3R5bGU+Ci0gICAgICAgICAgICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQot
ICAgICAgICAgICAgLmZsb3cgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdyB9Ci0gICAgICAgICAg
ICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KLSAgICAgICAgICAgICNyZWdp
b24geyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQotICAgICAgICAgICAgI3JlZ2lvbjIg
eyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQotICAgICAgICAgICAgI3JlZ2lvbjMgeyB3
aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsgfQotICAgICAgICA8L3N0eWxlPgotICAgIDwvaGVh
ZD4KLSAgICA8Ym9keT4KLSAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODgwIj4KLSAgICAgICAgW0NTU1JlZ2lvbnNd
SW1wbGVtZW50IE5hbWVkRmxvdzo6b3ZlcmZsb3c8L2E+PC9wPgotICAgICAgICA8cD5PbiBzdWNj
ZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIHNlcmllcyBvZiBQQVNTIGJlbG93LjwvcD4KLSAgICAgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0gICAgICAgIDxkaXYgaWQ9ImFydGljbGUiIGNsYXNz
PSJmbG93Ij4KLSAgICAgICAgICAgIDxwPkNvbnRlbnQgaW5zaWRlIGFydGljbGU8L3A+Ci0gICAg
ICAgIDwvZGl2PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgICAgICAgICAvLyBGbG93IGFydGljbGUgZG9lcyBu
b3QgaGF2ZSBhbnkgcmVnaW9ucyB5ZXQKLSAgICAgICAgICAgIHZhciBuYW1lZEZsb3cgPSBkb2N1
bWVudC53ZWJraXRHZXRGbG93QnlOYW1lKCJmbG93Iik7Ci0gICAgICAgICAgICBhc3NlcnQobmFt
ZWRGbG93Lm92ZXJmbG93ID09IGZhbHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBh
IGZsb3cgd2l0aG91dCByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBhIHJlZ2lvbiB0
byB0YWtlIHRoZSBjb250ZW50LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNv
bnRlbnQgZmlyc3QgdGhlIHJlZ2lvbnMuCi0gICAgICAgICAgICB2YXIgcmVnaW9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJlZ2lvbik7Ci0gICAgICAgICAgICByZWdpb24uaWQgPSAicmVnaW9uIjsKLSAgICAg
ICAgICAgIHJlZ2lvbi5jbGFzc05hbWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChu
YW1lZEZsb3cub3ZlcmZsb3cgPT0gZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2lu
Y2UgdGhlIGNvbnRlbnQgZml0cyB0aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQg
bW9yZSBjb250ZW50IHRvIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAg
ICAgICAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOwotICAgICAgICAgICAg
cC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQ29udGVudCBpbnNpZGUgYXJ0
aWNsZSIpKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIiku
YXBwZW5kQ2hpbGQocCk7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAi
T3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRo
ZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBhbm90aGVyIHJlZ2lvbiwgb3ZlcmZs
b3cgc2hvdWxkIGJlIGZhbHNlCi0gICAgICAgICAgICB2YXIgcmVnaW9uMiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyZWdpb24yKTsKLSAgICAgICAgICAgIHJlZ2lvbjIuaWQgPSAicmVnaW9uMiI7Ci0gICAgICAg
ICAgICByZWdpb24yLmNsYXNzTmFtZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5h
bWVkRmxvdy5vdmVyZmxvdyA9PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5j
ZSB0aGUgY29udGVudCBmaXRzIGluIHRoZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFk
ZCB2aXN1YWwgb3ZlcmZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9
IjBweCA1MHB4IGxpbWUiOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdywg
Ik92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCBp
biByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCB0aGUgdGhpcmQgcmVnaW9uLCBvdmVy
ZmxvdyBzaG91bGQgYmUgZmFsc2UuCi0gICAgICAgICAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyZWdpb24zKTsKLSAgICAgICAgICAgIHJlZ2lvbjMuaWQgPSAicmVnaW9uMyI7Ci0gICAg
ICAgICAgICByZWdpb24zLmNsYXNzTmFtZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0
KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBz
aW5jZSB0aGUgY29udGVudCBmaXRzIGluIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVt
b3ZlIHRoZSBmaXJzdCByZWdpb24gZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUuCi0gICAgICAgICAgICByZWdpb24uY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBhc3Nl
cnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhl
IGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIFJl
bW92ZSB0aGUgY29udGVudCBmcm9tIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmNsYXNzTmFt
ZSA9ICIiOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBmYWxzZSwg
Ik92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5vdCBoYXZlIGFu
eSBjb250ZW50Iik7Ci0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRp
Y2xlIikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwotICAgICAgICA8L3NjcmlwdD4KLSAg
ICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
d2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2Q2M2FkMDNmYjRiNmJjZDJhMTk0NzNiYWY1YTQzZTA1YTgyNzE1MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0IGZvciBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc0OTEgW0NTUyBSZWdpb25zXVJlbmFtZSBOYW1lZEZs
b3c6Om92ZXJmbG93IHRvIE5hbWVkRmxvdzo6b3ZlcnNldC4gRm9yIG1vcmUgZGV0YWlscyBzZWUg
aHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1jc3MzLXJlZ2lvbnMtMjAxMjA1MDMvCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIGZh
bHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVy
c2V0IGlzIHRydWUKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRG
bG93Lm92ZXJzZXQgaXMgdHJ1ZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFT
UyBuYW1lZEZsb3cub3ZlcnNldCBpcyB0cnVlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIGZh
bHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1v
dmVyc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFlY2RiYmFjYWVkZGZjZDlkOWQ4YjBiYzkxZjVlOGI5
M2ZiYTg2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJr
aXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAg
Ym9keSB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0KKyAgICAuZmxvdyB7IC13ZWJraXQtZmxv
dy1pbnRvOiBmbG93IH0KKyAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0K
KyAgICAjcmVnaW9uIHsgd2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAjcmVnaW9u
MiB7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyB9CisgICAgI3JlZ2lvbjMgeyB3aWR0aDog
MjUwcHg7IGhlaWdodDogNTBweDsgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iYXJ0aWNsZSIgY2xhc3M9ImZsb3ciPgorICAgIDxwPkNvbnRlbnQgaW5zaWRlIGFydGljbGU8
L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgZm9yIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzQ5MSBbQ1NTIFJlZ2lvbnNdUmVuYW1l
IE5hbWVkRmxvdzo6b3ZlcmZsb3cgdG8gTmFtZWRGbG93OjpvdmVyc2V0LiBcCisgICAgICAgICAg
ICAgICAgRm9yIG1vcmUgZGV0YWlscyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1j
c3MzLXJlZ2lvbnMtMjAxMjA1MDMvIik7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCisgICAgLy8gRmxvdyBhcnRpY2xlIGRvZXMgbm90IGhhdmUgYW55IHJlZ2lvbnMgeWV0Cisg
ICAgdmFyIG5hbWVkRmxvdyA9IGRvY3VtZW50LndlYmtpdEdldEZsb3dCeU5hbWUoImZsb3ciKTsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBmb3IgYSBmbG93IHdpdGhvdXQgcmVn
aW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAg
Ly8gQWRkIGEgcmVnaW9uIHRvIHRha2UgdGhlIGNvbnRlbnQsIG92ZXJmbG93IHNob3VsZCBiZSBm
YWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXJzdCB0aGUgcmVnaW9ucy4KKyAgICB2YXIgcmVnaW9u
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyZWdpb24pOworICAgIHJlZ2lvbi5pZCA9ICJyZWdpb24iOworICAgIHJlZ2lvbi5j
bGFzc05hbWUgPSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBz
aW5jZSB0aGUgY29udGVudCBmaXRzIHRoZSByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxv
dy5vdmVyc2V0IiwgImZhbHNlIik7CisKKyAgICAvLyBBZGQgbW9yZSBjb250ZW50IHRvIHRoZSBm
bG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KKyAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInAiKTsKKyAgICBwLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCJDb250ZW50IGluc2lkZSBhcnRpY2xlIikpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJhcnRpY2xlIikuYXBwZW5kQ2hpbGQocCk7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUg
dHJ1ZSBzaW5jZSB0aGUgY29udGVudCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMKKyAgICBzaG91
bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAidHJ1ZSIpOworCisgICAgLy8gQWRkIGFub3RoZXIg
cmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UKKyAgICB2YXIgcmVnaW9uMiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cmVnaW9uMik7CisgICAgcmVnaW9uMi5pZCA9ICJyZWdpb24yIjsKKyAgICByZWdpb24yLmNsYXNz
TmFtZSA9ICJyZWdpb24iOworCisgICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNl
IHRoZSBjb250ZW50IGZpdHMgaW4gdGhlIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93
Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3csIG92ZXJm
bG93IHNob3VsZCBiZSB0cnVlLgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xl
Iikuc3R5bGUud2Via2l0Qm94U2hhZG93PSIwcHggNTBweCBsaW1lIjsKKworICAgIC8vIE92ZXJm
bG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCBpbiByZWdp
b25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8v
IEFkZCB0aGUgdGhpcmQgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UuCisgICAgdmFy
IHJlZ2lvbjMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJlZ2lvbjMpOworICAgIHJlZ2lvbjMuaWQgPSAicmVnaW9uMyI7Cisg
ICAgcmVnaW9uMy5jbGFzc05hbWUgPSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93IHNob3Vs
ZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIGluIHJlZ2lvbnMKKyAgICBzaG91bGRC
ZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsKKworICAgIC8vIFJlbW92ZSB0aGUgZmly
c3QgcmVnaW9uIGZyb20gdGhlIGZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHJl
Z2lvbi5jbGFzc05hbWUgPSAiIjsKKworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNp
bmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCB0aGUgcmVnaW9ucworICAgIHNob3VsZEJlKCJu
YW1lZEZsb3cub3ZlcnNldCIsICJ0cnVlIik7CisKKyAgICAvLyBSZW1vdmUgdGhlIGNvbnRlbnQg
ZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlLgorICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuY2xhc3NOYW1lID0gIiI7CisKKyAgICAvLyBPdmVyZmxv
dyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGZsb3cgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVu
dAorICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFydGljbGUiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
ICAgIHJlZ2lvbi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjIuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKyAgICByZWdpb24zLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144491</attachid>
            <date>2012-05-29 02:34:25 -0700</date>
            <delta_ts>2012-05-29 06:40:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87491-20120529123423.patch</filename>
            <type>text/plain</type>
            <size>15564</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGViZDUwZDUyNjlmOTll
MmU3ZWQ1ODVjZjBjODllYWRlNzU4ZDZmZS4uY2U4NTc1OGRmZTk3YTZkYWUxZDAxOTVjOTA1OTU3
NTI1OWU1OGIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA1LTI4ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc11SZW5h
bWUgTmFtZWRGbG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAgICAgICAgVGhp
cyBwYXRjaCB1cGRhdGVzIHRoZSBDU1NPTSBwcm9wZXJ0eSBuYW1lIG92ZXJmbG93IHRvIG92ZXJz
ZXQuIFRoZXJlIGFyZSBubyBjaGFuZ2VzIGluIGZ1bmN0aW9uYWxpdHkuCisgICAgICAgIExpbmsg
dG8gc3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1jc3MzLXJlZ2lvbnMtMjAxMjA1
MDMvCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbAorCisgICAgICAg
ICogZG9tL1dlYktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1l
ZEZsb3c6Om92ZXJzZXQpOgorICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaDoKKyAgICAg
ICAgKFdlYktpdE5hbWVkRmxvdyk6CisgICAgICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5pZGw6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTItMDUtMjggIEtl
aXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXhwb3NlIHZhbHVl
IGxvY2FsaXphdGlvbiBmdW5jdGlvbiBvZiBIVE1MSW5wdXRFbGVtZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9XZWJLaXROYW1lZEZsb3cuY3BwCmluZGV4IDlhMjcxNjRkYzllZTE1OWM4M2UwN2RlZGQwMDZm
NzUzZjFlYzEwMGYuLjE5ZTEyMjkyMmMzMDE5YWIyZGY2ZWZmNjI4NWQwMzY5MzdhOGViZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuY3BwCkBAIC01MCwxMCArNTAsMTAgQEAg
U3RyaW5nIFdlYktpdE5hbWVkRmxvdzo6bmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFyZW50
Rmxvd1RocmVhZC0+Zmxvd1RocmVhZE5hbWUoKTsKIH0KIAotYm9vbCBXZWJLaXROYW1lZEZsb3c6
Om92ZXJmbG93KCkgY29uc3QKK2Jvb2wgV2ViS2l0TmFtZWRGbG93OjpvdmVyc2V0KCkgY29uc3QK
IHsKICAgICBtX3BhcmVudEZsb3dUaHJlYWQtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIHJldHVybiBtX3BhcmVudEZsb3dUaHJlYWQtPm92
ZXJmbG93KCk7CisgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1RocmVhZC0+b3ZlcnNldCgpOwogfQog
CiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBXZWJLaXROYW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRl
bnROb2RlKE5vZGUqIGNvbnRlbnROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdE5hbWVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5o
CmluZGV4IDVkMWU2YTc0ZGQ4YzI3NmYzOGQyMzkyNGZlNjVhZjRhZDZiOGM2YzMuLmI4MWU1YTRi
MDI3ZDMxZGQ3NTU5MDczODgyNjAwOTA4ZjhjMjdiMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0
TmFtZWRGbG93LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIH5XZWJLaXROYW1lZEZs
b3coKTsKIAogICAgIFN0cmluZyBuYW1lKCkgY29uc3Q7Ci0gICAgYm9vbCBvdmVyZmxvdygpIGNv
bnN0OworICAgIGJvb2wgb3ZlcnNldCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+
IGdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqKTsKICAgICBQYXNzUmVmUHRyPE5vZGVMaXN0
PiBjb250ZW50Tm9kZXMoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdE5hbWVkRmxvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93
LmlkbAppbmRleCA2YjMwNjZjYTkzMmE1ODA5YmQ2YjM0ZjUyMmIxMmMxZTU1MzhkODQyLi4wZGE5
MGUwMGNjNmRjODY3MDNiZGE5NzU4YzczMGJlYjIwNTMyNTY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmlkbApAQCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAg
ICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiAgICAgXSBXZWJLaXROYW1lZEZsb3cgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIG92ZXJmbG93OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBvdmVyc2V0OwogICAgICAgICBOb2RlTGlzdCBnZXRSZWdpb25zQnlDb250ZW50Tm9kZShp
biBOb2RlIGNvbnRlbnROb2RlKTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGVMaXN0
IGNvbnRlbnROb2RlczsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuY3BwCmluZGV4IDNjZmZhMzRkMGE0MzUxNDVhMjU2ZTg3NmJkYjU3Nzg4NmEy
MjE2MWIuLjIyNmU2OGU4YmE2ZWMwOWFmODgzY2M3ODUzMzZiMzZkNWQ3YjVkMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTUxLDcgKzUx
LDcgQEAgUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2RlKiBub2RlKQogICAg
ICwgbV9yZWdpb25zSW52YWxpZGF0ZWQoZmFsc2UpCiAgICAgLCBtX3JlZ2lvbnNIYXZlVW5pZm9y
bUxvZ2ljYWxXaWR0aCh0cnVlKQogICAgICwgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVp
Z2h0KHRydWUpCi0gICAgLCBtX292ZXJmbG93KGZhbHNlKQorICAgICwgbV9vdmVyc2V0KGZhbHNl
KQogICAgICwgbV9yZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyKHRoaXMsICZSZW5kZXJGbG93
VGhyZWFkOjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpCiB7CiAgICAgQVNTRVJU
KG5vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVkKCkpOwpAQCAtNzI5LDcgKzcyOSw3
IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25z
KExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFCiAKICAgICAvLyBXaXRoIHRoZSByZWdpb25zIG92
ZXJmbG93IHN0YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3ZlcmZsb3cgZm9yIHRo
ZSBuYW1lZCBmbG93LgogICAgIFJlbmRlclJlZ2lvbiogbGFzdFJlZyA9IGxhc3RSZWdpb24oKTsK
LSAgICBtX292ZXJmbG93ID0gbGFzdFJlZyAmJiAobGFzdFJlZy0+cmVnaW9uU3RhdGUoKSA9PSBS
ZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93KTsKKyAgICBtX292ZXJzZXQgPSBsYXN0UmVnICYm
IChsYXN0UmVnLT5yZWdpb25TdGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVnaW9uT3ZlcmZsb3cp
OwogfQogCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50VGlt
ZXJGaXJlZChUaW1lcjxSZW5kZXJGbG93VGhyZWFkPiopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMGEyNjliMDk3YThmMmU5N2Q0YjBlOTUyNmYy
ZjNiNzBiYTliNWY1Li5hZWE3NDFlYzE5MDhjY2QyNjg3MjJlMTc2MzNhM2QzMDQzNmM0ZDhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTEyNCw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3dTdGF0ZUZv
clJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UpOwogCi0gICAgYm9vbCBvdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIG92ZXJzZXQoKSBj
b25zdCB7IHJldHVybiBtX292ZXJzZXQ7IH0KIAogICAgIC8vIENoZWNrIGlmIHRoZSBvYmplY3Qg
aXMgaW4gcmVnaW9uIGFuZCB0aGUgcmVnaW9uIGlzIHBhcnQgb2YgdGhpcyBmbG93IHRocmVhZC4K
ICAgICBib29sIG9iamVjdEluRmxvd1JlZ2lvbihjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBS
ZW5kZXJSZWdpb24qKSBjb25zdDsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
Ym9vbCBtX3JlZ2lvbnNJbnZhbGlkYXRlZDsKICAgICBib29sIG1fcmVnaW9uc0hhdmVVbmlmb3Jt
TG9naWNhbFdpZHRoOwogICAgIGJvb2wgbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0
OwotICAgIGJvb2wgbV9vdmVyZmxvdzsKKyAgICBib29sIG1fb3ZlcnNldDsKICAgICBib29sIG1f
aGFzUmVnaW9uc1dpdGhTdHlsaW5nOwogICAgIFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+IG1fcmVn
aW9uTGF5b3V0VXBkYXRlRXZlbnRUaW1lcjsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGQ2ZTM2MzFhMmJlMzJiYmMx
MTcyZTU3OGI3OTBjMWI2NWY5ZjUxYS4uOTM4MDkwOWNkNzBlM2FlM2UwZWJlZTRhZjk4NjVhYzY5
M2U1OWY0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTI4ICBBbmRyZWkgQnVjdXIg
IDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc11SZW5hbWUgTmFtZWRG
bG93OjpvdmVyZmxvdyB0byBOYW1lZEZsb3c6Om92ZXJzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NDkxCisKKyAgICAgICAgVGhpcyBwYXRjaCB1
cGRhdGVzIHRoZSBDU1NPTSBwcm9wZXJ0eSBuYW1lIG92ZXJmbG93IHRvIG92ZXJzZXQuIFRoZXJl
IGFyZSBubyBjaGFuZ2VzIGluIGZ1bmN0aW9uYWxpdHkuCisgICAgICAgIExpbmsgdG8gc3BlYzog
aHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1jc3MzLXJlZ2lvbnMtMjAxMjA1MDMvCisKKyAg
ICAgICAgVGhlIHRlc3Qgd2FzIHJlZmFjdG9yZWQgdG8gYmUgbW9yZSBzaW1pbGFyIHRvIHRoZSBv
dGhlciBzY3JpcHQgdGVzdHMgKGJ5IHVzaW5nIG1ha2UtbmV3LXNjcmlwdC10ZXN0KQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25z
L3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcmZsb3cuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3ZlcnNldC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxv
dy1vdmVyc2V0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTI4ICBNYXJjdXMgQnVsYWNoICA8YnVs
YWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGh0dHAvdGVzdHMvY2FjaGUv
Y2FuY2VsLWluLXByb2dyZXNzLWxvYWQuaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyZDMzZGY1ZjA5NmVm
ZmM4NjI2OWU5ZTczYjE2ZDU3ZGFmN2IzNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1m
bG93LW92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAK
LVRlc3QgZm9yIFtDU1NSZWdpb25zXUltcGxlbWVudCBOYW1lZEZsb3c6Om92ZXJmbG93Ci0KLU9u
IHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEgc2VyaWVzIG9mIFBBU1MgYmVsb3cuCi0KLVBBU1MK
LVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLVBBU1MKLQotCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyZmxvdy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJmbG93
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMTRiNjU3MjRlZjI1ZTczNmEw
OTE1NjliNDk1ZGEwNWE3MDJiMzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92
ZXJmbG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9InJlc291cmNlcy9yZWdpb24tc3R5bGUuY3NzIj4KLSAgICAgICAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy9oZWxwZXIuanMiPjwvc2NyaXB0PgotICAgICAgICA8c3R5bGU+Ci0gICAgICAgICAg
ICBib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQotICAgICAgICAgICAgLmZsb3cgeyAt
d2Via2l0LWZsb3ctaW50bzogZmxvdyB9Ci0gICAgICAgICAgICAucmVnaW9uIHsgLXdlYmtpdC1m
bG93LWZyb206IGZsb3c7IH0KLSAgICAgICAgICAgICNyZWdpb24geyB3aWR0aDogMjUwcHg7IGhl
aWdodDogNTBweDsgfQotICAgICAgICAgICAgI3JlZ2lvbjIgeyB3aWR0aDogMjUwcHg7IGhlaWdo
dDogNTBweDsgfQotICAgICAgICAgICAgI3JlZ2lvbjMgeyB3aWR0aDogMjUwcHg7IGhlaWdodDog
NTBweDsgfQotICAgICAgICA8L3N0eWxlPgotICAgIDwvaGVhZD4KLSAgICA8Ym9keT4KLSAgICAg
ICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc4ODgwIj4KLSAgICAgICAgW0NTU1JlZ2lvbnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6
b3ZlcmZsb3c8L2E+PC9wPgotICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBh
IHNlcmllcyBvZiBQQVNTIGJlbG93LjwvcD4KLSAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0gICAgICAgIDxkaXYgaWQ9ImFydGljbGUiIGNsYXNzPSJmbG93Ij4KLSAgICAgICAgICAg
IDxwPkNvbnRlbnQgaW5zaWRlIGFydGljbGU8L3A+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8
c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgICAgICAgICAvLyBGbG93IGFydGljbGUgZG9lcyBub3QgaGF2ZSBhbnkgcmVnaW9ucyB5
ZXQKLSAgICAgICAgICAgIHZhciBuYW1lZEZsb3cgPSBkb2N1bWVudC53ZWJraXRHZXRGbG93QnlO
YW1lKCJmbG93Iik7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93ID09IGZh
bHNlLCAiT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIGZvciBhIGZsb3cgd2l0aG91dCByZWdpb25z
Iik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBhIHJlZ2lvbiB0byB0YWtlIHRoZSBjb250ZW50LCBv
dmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZmlyc3QgdGhlIHJlZ2lv
bnMuCi0gICAgICAgICAgICB2YXIgcmVnaW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lvbik7Ci0gICAg
ICAgICAgICByZWdpb24uaWQgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIHJlZ2lvbi5jbGFzc05h
bWUgPSAicmVnaW9uIjsKLSAgICAgICAgICAgIGFzc2VydChuYW1lZEZsb3cub3ZlcmZsb3cgPT0g
ZmFsc2UsICJPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2luY2UgdGhlIGNvbnRlbnQgZml0cyB0
aGUgcmVnaW9ucyIpOwotCi0gICAgICAgICAgICAvLyBBZGQgbW9yZSBjb250ZW50IHRvIHRoZSBm
bG93LCBvdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZS4KLSAgICAgICAgICAgIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicCIpOwotICAgICAgICAgICAgcC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiQ29udGVudCBpbnNpZGUgYXJ0aWNsZSIpKTsKLSAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuYXBwZW5kQ2hpbGQocCk7Ci0gICAg
ICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRy
dWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0IHRoZSByZWdpb25zIik7Ci0KLSAgICAg
ICAgICAgIC8vIEFkZCBhbm90aGVyIHJlZ2lvbiwgb3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlCi0g
ICAgICAgICAgICB2YXIgcmVnaW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwot
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24yKTsKLSAgICAgICAg
ICAgIHJlZ2lvbjIuaWQgPSAicmVnaW9uMiI7Ci0gICAgICAgICAgICByZWdpb24yLmNsYXNzTmFt
ZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBm
YWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRzIGlu
IHRoZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3csIG92
ZXJmbG93IHNob3VsZCBiZSB0cnVlLgotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFydGljbGUiKS5zdHlsZS53ZWJraXRCb3hTaGFkb3c9IjBweCA1MHB4IGxpbWUiOwotICAg
ICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdywgIk92ZXJmbG93IHNob3VsZCBiZSB0
cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCBpbiByZWdpb25zIik7Ci0KLSAgICAg
ICAgICAgIC8vIEFkZCB0aGUgdGhpcmQgcmVnaW9uLCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Uu
Ci0gICAgICAgICAgICB2YXIgcmVnaW9uMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24zKTsKLSAgICAg
ICAgICAgIHJlZ2lvbjMuaWQgPSAicmVnaW9uMyI7Ci0gICAgICAgICAgICByZWdpb24zLmNsYXNz
TmFtZSA9ICJyZWdpb24iOwotICAgICAgICAgICAgYXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9
PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRz
IGluIHJlZ2lvbnMiKTsKLQotICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBmaXJzdCByZWdpb24g
ZnJvbSB0aGUgZmxvdywgb3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUuCi0gICAgICAgICAgICByZWdp
b24uY2xhc3NOYW1lID0gIiI7Ci0gICAgICAgICAgICBhc3NlcnQobmFtZWRGbG93Lm92ZXJmbG93
LCAiT3ZlcmZsb3cgc2hvdWxkIGJlIHRydWUgc2luY2UgdGhlIGNvbnRlbnQgZG9lcyBub3QgZml0
IHRoZSByZWdpb25zIik7Ci0KLSAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgY29udGVudCBmcm9t
IHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UuCi0gICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYXJ0aWNsZSIpLmNsYXNzTmFtZSA9ICIiOwotICAgICAgICAgICAg
YXNzZXJ0KG5hbWVkRmxvdy5vdmVyZmxvdyA9PSBmYWxzZSwgIk92ZXJmbG93IHNob3VsZCBiZSBm
YWxzZSBzaW5jZSB0aGUgZmxvdyBkb2VzIG5vdCBoYXZlIGFueSBjb250ZW50Iik7Ci0KLSAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuc3R5bGUudmlzaWJpbGl0
eSA9ICJoaWRkZW4iOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVkLWZsb3ctb3Zl
cnNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LW5hbWVk
LWZsb3ctb3ZlcnNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q2M2FkMDNmYjRiNmJjZDJh
MTk0NzNiYWY1YTQzZTA1YTgyNzE1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE3IEBACitUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc0OTEgW0NTUyBSZWdpb25zXVJlbmFtZSBOYW1lZEZsb3c6Om92ZXJmbG93IHRvIE5hbWVk
Rmxvdzo6b3ZlcnNldC4gRm9yIG1vcmUgZGV0YWlscyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIv
MjAxMi9XRC1jc3MzLXJlZ2lvbnMtMjAxMjA1MDMvCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5v
dmVyc2V0IGlzIGZhbHNlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIHRydWUKK1BBU1MgbmFt
ZWRGbG93Lm92ZXJzZXQgaXMgZmFsc2UKK1BBU1MgbmFtZWRGbG93Lm92ZXJzZXQgaXMgdHJ1ZQor
UEFTUyBuYW1lZEZsb3cub3ZlcnNldCBpcyBmYWxzZQorUEFTUyBuYW1lZEZsb3cub3ZlcnNldCBp
cyB0cnVlCitQQVNTIG5hbWVkRmxvdy5vdmVyc2V0IGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3dlYmtpdC1uYW1lZC1mbG93LW92ZXJzZXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmFlY2RiYmFjYWVkZGZjZDlkOWQ4YjBiYzkxZjVlOGI5M2ZiYTg2NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtbmFtZWQtZmxvdy1vdmVyc2V0
Lmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgYm9keSB7IGZvbnQtZmFtaWx5OiBt
b25vc3BhY2U7IH0KKyAgICAuZmxvdyB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93IH0KKyAgICAu
cmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAjcmVnaW9uIHsgd2lkdGg6
IDI1MHB4OyBoZWlnaHQ6IDUwcHg7IH0KKyAgICAjcmVnaW9uMiB7IHdpZHRoOiAyNTBweDsgaGVp
Z2h0OiA1MHB4OyB9CisgICAgI3JlZ2lvbjMgeyB3aWR0aDogMjUwcHg7IGhlaWdodDogNTBweDsg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iYXJ0aWNsZSIgY2xhc3M9ImZs
b3ciPgorICAgIDxwPkNvbnRlbnQgaW5zaWRlIGFydGljbGU8L3A+Cis8L2Rpdj4KKzxzY3JpcHQ+
CisgICAgZGVzY3JpcHRpb24oIlRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzQ5MSBbQ1NTIFJlZ2lvbnNdUmVuYW1lIE5hbWVkRmxvdzo6b3ZlcmZsb3cg
dG8gTmFtZWRGbG93OjpvdmVyc2V0LiBcCisgICAgICAgICAgICAgICAgRm9yIG1vcmUgZGV0YWls
cyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1jc3MzLXJlZ2lvbnMtMjAxMjA1MDMv
Iik7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICB3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgLy8gRmxvdyBhcnRp
Y2xlIGRvZXMgbm90IGhhdmUgYW55IHJlZ2lvbnMgeWV0CisgICAgdmFyIG5hbWVkRmxvdyA9IGRv
Y3VtZW50LndlYmtpdEdldEZsb3dCeU5hbWUoImZsb3ciKTsKKworICAgIC8vIE92ZXJmbG93IHNo
b3VsZCBiZSBmYWxzZSBmb3IgYSBmbG93IHdpdGhvdXQgcmVnaW9ucworICAgIHNob3VsZEJlKCJu
YW1lZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgLy8gQWRkIGEgcmVnaW9uIHRvIHRh
a2UgdGhlIGNvbnRlbnQsIG92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVu
dCBmaXJzdCB0aGUgcmVnaW9ucy4KKyAgICB2YXIgcmVnaW9uID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZWdpb24pOworICAg
IHJlZ2lvbi5pZCA9ICJyZWdpb24iOworICAgIHJlZ2lvbi5jbGFzc05hbWUgPSAicmVnaW9uIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUgY29udGVudCBmaXRz
IHRoZSByZWdpb25zCisgICAgc2hvdWxkQmUoIm5hbWVkRmxvdy5vdmVyc2V0IiwgImZhbHNlIik7
CisKKyAgICAvLyBBZGQgbW9yZSBjb250ZW50IHRvIHRoZSBmbG93LCBvdmVyZmxvdyBzaG91bGQg
YmUgdHJ1ZS4KKyAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKKyAgICBw
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJDb250ZW50IGluc2lkZSBhcnRp
Y2xlIikpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuYXBwZW5kQ2hp
bGQocCk7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgdHJ1ZSBzaW5jZSB0aGUgY29udGVu
dCBkb2VzIG5vdCBmaXQgdGhlIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJz
ZXQiLCAidHJ1ZSIpOworCisgICAgLy8gQWRkIGFub3RoZXIgcmVnaW9uLCBvdmVyZmxvdyBzaG91
bGQgYmUgZmFsc2UKKyAgICB2YXIgcmVnaW9uMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVnaW9uMik7CisgICAgcmVnaW9u
Mi5pZCA9ICJyZWdpb24yIjsKKyAgICByZWdpb24yLmNsYXNzTmFtZSA9ICJyZWdpb24iOworCisg
ICAgLy8gT3ZlcmZsb3cgc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHRoZSBjb250ZW50IGZpdHMgaW4g
dGhlIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQiLCAiZmFsc2UiKTsK
KworICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xlIikuc3R5bGUud2Via2l0Qm94U2hh
ZG93PSIwcHggNTBweCBsaW1lIjsKKworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNp
bmNlIHRoZSBjb250ZW50IGRvZXMgbm90IGZpdCBpbiByZWdpb25zCisgICAgc2hvdWxkQmUoIm5h
bWVkRmxvdy5vdmVyc2V0IiwgInRydWUiKTsKKworICAgIC8vIEFkZCB0aGUgdGhpcmQgcmVnaW9u
LCBvdmVyZmxvdyBzaG91bGQgYmUgZmFsc2UuCisgICAgdmFyIHJlZ2lvbjMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlZ2lv
bjMpOworICAgIHJlZ2lvbjMuaWQgPSAicmVnaW9uMyI7CisgICAgcmVnaW9uMy5jbGFzc05hbWUg
PSAicmVnaW9uIjsKKworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSBmYWxzZSBzaW5jZSB0aGUg
Y29udGVudCBmaXRzIGluIHJlZ2lvbnMKKyAgICBzaG91bGRCZSgibmFtZWRGbG93Lm92ZXJzZXQi
LCAiZmFsc2UiKTsKKworICAgIC8vIFJlbW92ZSB0aGUgZmlyc3QgcmVnaW9uIGZyb20gdGhlIGZs
b3csIG92ZXJmbG93IHNob3VsZCBiZSB0cnVlLgorICAgIHJlZ2lvbi5jbGFzc05hbWUgPSAiIjsK
KworICAgIC8vIE92ZXJmbG93IHNob3VsZCBiZSB0cnVlIHNpbmNlIHRoZSBjb250ZW50IGRvZXMg
bm90IGZpdCB0aGUgcmVnaW9ucworICAgIHNob3VsZEJlKCJuYW1lZEZsb3cub3ZlcnNldCIsICJ0
cnVlIik7CisKKyAgICAvLyBSZW1vdmUgdGhlIGNvbnRlbnQgZnJvbSB0aGUgZmxvdywgb3ZlcmZs
b3cgc2hvdWxkIGJlIGZhbHNlLgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcnRpY2xl
IikuY2xhc3NOYW1lID0gIiI7CisKKyAgICAvLyBPdmVyZmxvdyBzaG91bGQgYmUgZmFsc2Ugc2lu
Y2UgdGhlIGZsb3cgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudAorICAgIHNob3VsZEJlKCJuYW1l
ZEZsb3cub3ZlcnNldCIsICJmYWxzZSIpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImFydGljbGUiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbi5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworICAgIHJlZ2lvbjIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICBy
ZWdpb24zLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>