<?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>76353</bug_id>
          
          <creation_ts>2012-01-15 18:18:58 -0800</creation_ts>
          <short_desc>[Shadow DOM] ShadowRoot should have Web facing API.</short_desc>
          <delta_ts>2012-01-20 02:29:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>
          <dependson>76358</dependson>
          <blocked>63601</blocked>
    
    <blocked>76354</blocked>
    
    <blocked>76439</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>hayato</cc>
    
    <cc>ojan</cc>
    
    <cc>shinyak</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>536316</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-15 18:18:58 -0800</bug_when>
    <thetext>We&apos;re going to add ShadowRoot.idl here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538530</commentid>
    <comment_count>1</comment_count>
      <attachid>123085</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 00:17:50 -0800</bug_when>
    <thetext>Created attachment 123085
wip. Can not get ShadowRoot JS binding yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538557</commentid>
    <comment_count>2</comment_count>
      <attachid>123085</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-19 01:51:23 -0800</bug_when>
    <thetext>Comment on attachment 123085
wip. Can not get ShadowRoot JS binding yet

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

&gt; Source/WebCore/testing/Internals.idl:33
&gt;          Node ensureShadowRoot(in Element host) raises (DOMException);

We need to align the returned type between ensureShadowRoot() and shadowRoot().
Without that, we different type of wrapper object is created for each method call which breaks our assumption.
For example, ensureShadowRoot() create Node wrapper and implicitly cache it, then shadowRoot() returns the cached Node wrapper
regardless we are expecting a ShadowRoot wrapper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539221</commentid>
    <comment_count>3</comment_count>
      <attachid>123235</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 18:28:01 -0800</bug_when>
    <thetext>Created attachment 123235
ready for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539234</commentid>
    <comment_count>4</comment_count>
      <attachid>123235</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-01-19 18:51:24 -0800</bug_when>
    <thetext>Comment on attachment 123235
ready for review

Attachment 123235 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11253659</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539250</commentid>
    <comment_count>5</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 19:32:55 -0800</bug_when>
    <thetext>Let me add APIs for windows.Internals so that setShadowDomEnabled from JS and set the flag to false in default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539257</commentid>
    <comment_count>6</comment_count>
      <attachid>123235</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-19 20:12:58 -0800</bug_when>
    <thetext>Comment on attachment 123235
ready for review

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

&gt; Source/WebCore/dom/ShadowRoot.idl:33
&gt; +        readonly attribute Element shadowHost;

This should be named &quot;host&quot;
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539274</commentid>
    <comment_count>7</comment_count>
      <attachid>123252</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 22:21:42 -0800</bug_when>
    <thetext>Created attachment 123252
Set Runtime flag in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539276</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-19 22:24:56 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539278</commentid>
    <comment_count>9</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 22:28:01 -0800</bug_when>
    <thetext>Done. Instead of adding custom binding, I simply added host() member function to C++ class of ShadowRoot. I am not sure which is widely used technique. If there is a convention, please let me know.

Other changes from the previous patch:
  - Runtime flag for ShadowDOM is not false on default. DRT sets it true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539279</commentid>
    <comment_count>10</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 22:29:16 -0800</bug_when>
    <thetext>[Correction]
&gt;   - Runtime flag for ShadowDOM is not false on default. DRT sets it true.

- Runtime flag for ShadowDOM becomes false on default. DRT sets it to true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539280</commentid>
    <comment_count>11</comment_count>
      <attachid>123252</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-19 22:37:25 -0800</bug_when>
    <thetext>Comment on attachment 123252
Set Runtime flag in DRT.

Attachment 123252 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11127340</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539282</commentid>
    <comment_count>12</comment_count>
      <attachid>123252</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-01-19 22:38:48 -0800</bug_when>
    <thetext>Comment on attachment 123252
Set Runtime flag in DRT.

Attachment 123252 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11247319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539285</commentid>
    <comment_count>13</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 22:42:11 -0800</bug_when>
    <thetext>Let me try fix build errors on other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539292</commentid>
    <comment_count>14</comment_count>
      <attachid>123252</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-01-19 23:08:28 -0800</bug_when>
    <thetext>Comment on attachment 123252
Set Runtime flag in DRT.

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

&gt; Source/WebKit/chromium/public/WebRuntimeFeatures.h:124
&gt; +    WEBKIT_EXPORT static void enableShadowDom(bool);

I think WebKit style is to capitalize acronyms unless they appear at the beginning of a function or variable name.
So, enableShadowDOM and isShadowDOMEnabled would be correct style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539293</commentid>
    <comment_count>15</comment_count>
      <attachid>123255</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-19 23:09:09 -0800</bug_when>
    <thetext>Created attachment 123255
change ShadowRoot to Node if disabled in Internals.{h,cpp} to fix builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539303</commentid>
    <comment_count>16</comment_count>
      <attachid>123255</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-19 23:45:55 -0800</bug_when>
    <thetext>Comment on attachment 123255
change ShadowRoot to Node if disabled in Internals.{h,cpp} to fix builds

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

&gt; Source/WebCore/testing/Internals.h:59
&gt; +    ShadowRoot* ensureShadowRoot(Element* host, ExceptionCode&amp;);

Could you hide these type difference by typedef-ing them?
That would minimize the number of ifdefs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539324</commentid>
    <comment_count>17</comment_count>
      <attachid>123264</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-20 00:37:33 -0800</bug_when>
    <thetext>Created attachment 123264
typedef done. dom -&gt; DOM. Build hopufilly fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539328</commentid>
    <comment_count>18</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-01-20 00:39:56 -0800</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #14)
&gt; I think WebKit style is to capitalize acronyms unless they appear at the beginning of a function or variable name.
&gt; So, enableShadowDOM and isShadowDOMEnabled would be correct style.

Done. I&apos;ve renamed the names.

(In reply to comment #16)
&gt; Could you hide these type difference by typedef-ing them?
&gt; That would minimize the number of ifdefs.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539338</commentid>
    <comment_count>19</comment_count>
      <attachid>123264</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-01-20 01:13:33 -0800</bug_when>
    <thetext>Comment on attachment 123264
typedef done. dom -&gt; DOM. Build hopufilly fixed

Finally it&apos;s coming!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539363</commentid>
    <comment_count>20</comment_count>
      <attachid>123264</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 02:29:30 -0800</bug_when>
    <thetext>Comment on attachment 123264
typedef done. dom -&gt; DOM. Build hopufilly fixed

Clearing flags on attachment: 123264

Committed r105500: &lt;http://trac.webkit.org/changeset/105500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539364</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 02:29:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123085</attachid>
            <date>2012-01-19 00:17:50 -0800</date>
            <delta_ts>2012-01-19 18:27:56 -0800</delta_ts>
            <desc>wip. Can not get ShadowRoot JS binding yet</desc>
            <filename>bug-76353-20120119171748.patch</filename>
            <type>text/plain</type>
            <size>15188</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MDYxYjljOTEzZGUx
ZjFkYzQ5ZjgyYTZhMTRkYjhlODUxMzIzZS4uMGYyMzU4NmRlNjkyNjAwNDQ5YjAxN2I5NzE1Mzdj
MzJhMDU5YmNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAxLTE4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBT
aGFkb3dSb290LmlkbCwgd2hpY2ggaXMgZW5hYmxlZCBvbmx5IG9uIGNocm9taXVtIHBvcnQgc2lu
Y2UgdGhpcyBpcworICAgICAgICB1bmRlciBkZXZlbG9wbWVudCBmZWF0dXJlLgorICAgICAgICBT
aGFkb3dSb290LmlkbCBjb250YWlucyBtaW5pbXVtIEFQSSBzbyB0aGF0IHdlIGNhbiB0ZXN0IGl0
LgorICAgICAgICBPdGhlciBBUElzIHNob3VsZCBiZSBhZGRlZCBvbiBvdGhlciBjaGFuZ2VzIHNv
IHRoYXQgd2UgY2FuIGlzb2xhdGUgaXNzdWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFkb3dEb21FbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFNoYWRvd0RvbUVu
YWJsZWQpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzaGFk
b3dSb290KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wMS0xOCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogSW52YWxpZCBrZXlzIHlpZWxkZWQgYnkg
a2V5IHBhdGhzIHNob3VsZCByYWlzZSBleGNlcHRpb25zLCBub3QgZXJyb3IgY2FsbGJhY2tzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDViMjEyOTkyMzA1ZDNkMTNmZjQ1ODg5NTE2MGFl
ZTA2NjYzZjI3YWEuLmMyOTJiNGYzMTI4ZjM2MWJlN2ZlNzkxYjRiMmNmZmU1MjVhMzFjOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDEtMTkgIEhh
eWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBTaGFkb3dSb290
LmlkbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IFNoYWRvd1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBz
aW5jZSB0aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAg
IFNoYWRvd1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3Qg
aXQuCisgICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMg
c28gdGhhdCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBp
OgorCiAyMDEyLTAxLTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gbW92ZSBUb29scy5neXAsIHN3aXRjaCBidWlsZC13ZWJraXQgLS1j
aHJvbWl1bSB0byBBbGwuZ3lwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMWVlYTIwN2Q0YTllNzUwZjEx
ZDI5ZGI2MzE2ZTZhYWFmNTdlYjk2Ni4uYTJkZjViNzkzYmNiMzg2NDQ2Njk4OGY2ODM4ZDdiMjFl
OGJlZDU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTIzMSw2ICsxMjMxLDcgQEAKICAgICAgICAg
ICAgICdkb20vUmFuZ2UuaWRsJywKICAgICAgICAgICAgICdkb20vUmFuZ2VFeGNlcHRpb24uaWRs
JywKICAgICAgICAgICAgICdkb20vUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsJywK
KyAgICAgICAgICAgICdkb20vU2hhZG93Um9vdC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9TdHJp
bmdDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2RvbS9UZXh0LmlkbCcsCiAgICAgICAgICAg
ICAnZG9tL1RleHRFdmVudC5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggNWRiMmExMDU4
MWE3YTRhZjFkZTc0YzY0ZTM0YThlM2U3MmRjNmFkYy4uOTQ3ZGM0NDkzZTFkOGI4NjkwMGNjNzFm
MjA0YjYwYjJhOTUyOWEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC0xODAsNCArMTgwLDkg
QEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc01lZGlhU291cmNlRW5hYmxlZCA9IGZh
bHNlOwogI2VuZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorYm9vbCBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NoYWRvd0RvbUVuYWJsZWQgPSB0cnVlOworI2VuZGlmCisK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBjZTJlZTQzOWM3
MmE4YWY1ODQ0NGU0Mjk0MjA2MzZiZWE5ODFkOThjLi41YTkyY2NkOTQ5NDg2MzAyMjViZmFkNWNm
ZmNlNjBlMmMwMTEzYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTkxLDYgKzE5MSwxMSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0V2Via2l0VmlkZW9UcmFja0VuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgaXNWaWRlb1RyYWNrRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBzdGF0aWMgYm9vbCBzaGFkb3dEb21FbmFibGVk
KCkgeyByZXR1cm4gaXNTaGFkb3dEb21FbmFibGVkOyB9CisgICAgc3RhdGljIHZvaWQgc2V0U2hh
ZG93RG9tRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1NoYWRvd0RvbUVuYWJsZWQgPSBpc0Vu
YWJsZWQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIC8vIE5ldmVyIGluc3RhbnRpYXRlLgog
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTI0Nyw2ICsyNTIsMTAgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgc3RhdGljIGJvb2wgaXNWaWRlb1Ry
YWNrRW5hYmxlZDsKICNlbmRpZgorCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgc3RhdGlj
IGJvb2wgaXNTaGFkb3dEb21FbmFibGVkOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFjMDg2YWFiN2Ey
MzZmMTI4ZGQzOTRkNDgzYzBjYjdjM2MzNjc5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUg
eworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwKKyAg
ICAgICAgRW5hYmxlZEF0UnVudGltZT1zaGFkb3dEb20KKyAgICBdIFNoYWRvd1Jvb3QgOiBOb2Rl
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgc2hhZG93SG9zdDsKKyAgICB9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggOGMzMTg1YTMyNGRk
MjRmYmU2MTYzNTU2ZGJlMTU5YjFmYTlmZjg4Mi4uZjIyMmQwOWFjZDQ1OGM1ZDVhMWQ2YWMyYjRj
NTE2NjUzZGRmM2Q0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTc0
LDcgKzE3NCwxMiBAQCBOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCog
aG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGhvc3QtPmVuc3VyZVNoYWRvd1Jv
b3QoKTsKIH0KIAorCisjaWYgRU5BQkxFKFNIQURPV19ET00pCitTaGFkb3dSb290KiBJbnRlcm5h
bHM6OnNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCisjZWxzZQog
Tm9kZSogSW50ZXJuYWxzOjpzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUm
IGVjKQorI2VuZGlmCiB7CiAgICAgaWYgKCFob3N0KSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9B
Q0NFU1NfRVJSOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZjU4Y2M0YzE3MGM3
NTM4YjVjZjdjYzk1MjlhNzcxMDE0YzhlM2IzZi4uZGNlOTk3ZTkxOWQyNjRkMGI4MjQ1MmQ5Mjli
ZTA4MTA5NTViZWZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0zOSw2ICsz
OSw3IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIE5vZGU7CiBjbGFz
cyBSYW5nZTsKK2NsYXNzIFNoYWRvd1Jvb3Q7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7
CiAKQEAgLTU1LDcgKzU2LDEzIEBAIHB1YmxpYzoKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3Vt
ZW50KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCiAgICAgTm9kZSogZW5zdXJlU2hhZG93Um9vdChF
bGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CisKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KyAgICBTaGFkb3dSb290KiBzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUm
KTsKKyNlbHNlCiAgICAgTm9kZSogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJik7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3QoRWxlbWVudCog
aG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIEVsZW1lbnQqIGluY2x1ZGVyRm9yKE5vZGUqLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgU3RyaW5nIHNoYWRvd1BzZXVkb0lkKEVsZW1lbnQqLCBFeGNl
cHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNjZjOWVh
NTE5OWM4Y2JmZjg3ODJlNWM1ZGMyNThmOTVhNzg1NjEwMy4uMGVmMGVkMTFhMmViYmMxOTE4MmMz
YmRiMWMxZGVlM2Y5NTU1NWFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMzEsNyArMzEsMTMgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGJvb2xlYW4gaXNQcmVs
b2FkZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyB1cmwpOwogCiAgICAgICAg
IE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKKworI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pCisgICAgICAgIFNoYWRvd1Jv
b3Qgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyNl
bHNlCiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKKyNlbmRpZgorCiAgICAgICAgIEVsZW1lbnQgaW5jbHVkZXJGb3IoaW4gTm9k
ZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgcmVtb3ZlU2hhZG93
Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9N
U3RyaW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBp
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IDlkMmUwNjA0NzUy
NjY2ZTc5MDUyMTk2NDRiMGQ3ZTdmODBlZDgyYWIuLmU3ZWYxOGY4ZGZhYTJlMDlhMjAwN2MxYTNh
MjI3MDg4NjM5MGUxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVy
ZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTgx
LDYgKzgxLDcgQEAKICAgICAgICdFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU9MScsCiAg
ICAgICAnRU5BQkxFX1JVQlk9MScsCiAgICAgICAnRU5BQkxFX1NBTkRCT1g9MScsCisgICAgICAn
RU5BQkxFX1NIQURPV19ET009MScsCiAgICAgICAnRU5BQkxFX1NIQVJFRF9XT1JLRVJTPTEnLAog
ICAgICAgJ0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEnLAogICAgICAgJ0VOQUJMRV9TUUxfREFU
QUJBU0U9MScsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNTgzZWYyZWFmMmZjN2VlYjhiMjE5MDk0OTAxMDk4NmJlMDZjYTA0
ZC4uZTg1OTA5ZTdjZmRiNjU5MGE2ODdlMTUxYmQxNDQxOGNhMDhmZDhhMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTAxLTE4ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4K
KworICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBTaGFkb3dSb290LmlkbCwgd2hpY2ggaXMgZW5hYmxl
ZCBvbmx5IG9uIGNocm9taXVtIHBvcnQgc2luY2UgdGhpcyBpcworICAgICAgICB1bmRlciBkZXZl
bG9wbWVudCBmZWF0dXJlLgorICAgICAgICBTaGFkb3dSb290LmlkbCBjb250YWlucyBtaW5pbXVt
IEFQSSBzbyB0aGF0IHdlIGNhbiB0ZXN0IGl0LgorICAgICAgICBPdGhlciBBUElzIHNob3VsZCBi
ZSBhZGRlZCBvbiBvdGhlciBjaGFuZ2VzIHNvIHRoYXQgd2UgY2FuIGlzb2xhdGUgaXNzdWVzLgor
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGku
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgorCiAyMDEyLTAxLTE4
ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERC
OiBJbnZhbGlkIGtleXMgeWllbGRlZCBieSBrZXkgcGF0aHMgc2hvdWxkIHJhaXNlIGV4Y2VwdGlv
bnMsIG5vdCBlcnJvciBjYWxsYmFja3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGQ2OWYzZmMzOTJlYjk3OTQ3N2JiNjZlNDA4NDg1ZjIzMzcwMjM3YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgU2hhZG93Um9vdCdz
IGlkbC4gIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1h
cGkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjU3OGRmOTIzNDM2MGI3ODBkNDQ1Y2M4YTA0Njk4ZTAxMGEyMGUy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWpzLWFwaS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRoYXQgU2hhZG93Um9vdCdzIGlk
bC4gIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIHNo
YWRvd0hvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2ludGVybmFscy5lbnN1
cmVTaGFkb3dSb290KHNoYWRvd0hvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hh
ZG93Um9vdChzaGFkb3dIb3N0KTsKK2NvbnNvbGUubG9nKCdzaGFkb3dSb290OiAnICsgc2hhZG93
Um9vdCk7CitzaG91bGRCZSgic2hhZG93SG9zdCIsICJzaGFkb3dSb290LnNoYWRvd0hvc3QiKTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVk
CmluZGV4IDEwOTg0NDgyNWViYTc5NmQwNDVjYTU4NzE1OWRlYmYwNzk3M2Y2NjYuLjFjYjBiMTVk
ODFiNTQxZmRiMTczMjRiYzRhMTAzNGYxZGVjNDFjNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lw
cGVkCkBAIC0xODk5LDYgKzE4OTksOSBAQCBmYXN0L2Nzcy1ncmlkLWxheW91dAogIyA8c3R5bGUg
c2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNDkxNDIKIGZh
c3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4K
K2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCiAjIENTUyBGaWx0ZXJz
IHN1cHBvcnQgbm90IHlldCBlbmFibGVkIChuZWVkcyBFTkFCTEVfQ1NTX0ZJTFRFUlMpLgogIyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NjkKIGNzczMvZmlsdGVy
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAwZjkyMjIyZWM3MzIyOGExOWIwNzJlYzZj
YzE5M2E4MzA2ZDY3MzI0Li5mNWExMjFkN2E4N2U5ZWEyYmM5YTE5ZWU4NDdlYjc4YzIzMDkxNGM2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMzQ5LDYgKzM0OSw5IEBAIGZhc3QvY3Nz
LWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDov
L3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNI
QURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93
ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CmluZGV4IDg1MzRkYmQxN2E0Mjg2YjBkYjYyNTljMzUyNTRmNjVlZDQ3OWE0OTguLmVkMGViZjY1
MjQ2ZWZmODFiMWMzZmYzZDNiMDBiZjFjZWUyYWU1NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkCkBAIC00MTMsNiArNDEzLDkgQEAgZmFzdC9jc3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNj
b3BlZD4gaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0
L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKKwogIyBKU0MgZG9lcyBub3Qg
c3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4gKGh0dHA6Ly93ZWJraXQub3Jn
L2IvNjE1NDApCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvY3Jvc3Mtb3JpZ2lu
LXhoci5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDUwYjVmYWU0MGVkM2YwYzI0
M2JkZDIxM2JlZjRhZmU0NmM1NWUxNDcuLjQ4NmQ2NmI2OTY0YjlkNzE0N2VmYjlmNTI3YjhiMGJm
OTUyZDE2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTYxLDEyICsxNjEsMTQgQEAg
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBF
TkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtanMtYXBpLmh0bWwKKwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4g
aHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCiAKICMgQ1NTIEV4Y2x1c2lv
bnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTEKIGZh
c3QvZXhjbHVzaW9ucwotCiAjIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpIGlzIG5vdCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82ODcyOQogZmFzdC9tdXRhdGlvbgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDJiYzFkMTc3ZTkzZWExOTIyYzk2NzNiNjllYmE1NmIz
YTg0YTIxZjQuLjQ3Y2NjZDk3ODdjYjBkZTc1MTAwZGNlZjk1ZWI3MDZiMGI3ODJjMjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDIyLDYgKzE0MjIsOSBAQCBmYXN0L2Nzcy1ncmlk
LWxheW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJr
aXQub3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1df
RE9NKSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRt
bAorCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0
Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Nr
aXBwZWQKaW5kZXggYmI2NWIzMDUzZWQ3ZmRlMDdkZDk1Mzg0MTNkOWFiNTQ5NjhhYmUzNS4uYzYw
NzI2OWQyYTAyNmNiMzI0ZGE3NDdiMGY2NmM2NDZmZTVjMDAzNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xOTYwLDYgKzE5NjAsOSBAQCBmYXN0L2Nzcy1ncmlkLWxh
eW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQu
b3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9N
KSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAor
CiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123235</attachid>
            <date>2012-01-19 18:28:01 -0800</date>
            <delta_ts>2012-01-19 22:21:36 -0800</delta_ts>
            <desc>ready for review</desc>
            <filename>bug-76353-20120120112759.patch</filename>
            <type>text/plain</type>
            <size>15505</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MDYxYjljOTEzZGUx
ZjFkYzQ5ZjgyYTZhMTRkYjhlODUxMzIzZS4uODdkMzMxY2ZlMGMyMDFjYzg5MDg3Nzg3NzgzZjQ4
ZGQzYjBkMzc0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAxLTE4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBT
aGFkb3dSb290LmlkbCwgd2hpY2ggaXMgZW5hYmxlZCBvbmx5IG9uIGNocm9taXVtIHBvcnQgc2lu
Y2UgdGhpcyBpcworICAgICAgICB1bmRlciBkZXZlbG9wbWVudCBmZWF0dXJlLgorICAgICAgICBT
aGFkb3dSb290LmlkbCBjb250YWlucyBtaW5pbXVtIEFQSSBzbyB0aGF0IHdlIGNhbiB0ZXN0IGl0
LgorICAgICAgICBPdGhlciBBUElzIHNob3VsZCBiZSBhZGRlZCBvbiBvdGhlciBjaGFuZ2VzIHNv
IHRoYXQgd2UgY2FuIGlzb2xhdGUgaXNzdWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgor
ICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFkb3dEb21FbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFNoYWRvd0RvbUVu
YWJsZWQpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjplbnN1
cmVTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2hhZG93Um9vdCk6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5IGtleSBwYXRo
cyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCA1YjIxMjk5MjMwNWQzZDEzZmY0NTg4OTUxNjBhZWUwNjY2M2Yy
N2FhLi5jMjkyYjRmMzEyOGYzNjFiZTdmZTc5MWI0YjJjZmZlNTI1YTMxYzliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTE5ICBIYXlhdG8gSXRv
ICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBTaGFkb3dS
b290LmlkbCwgd2hpY2ggaXMgZW5hYmxlZCBvbmx5IG9uIGNocm9taXVtIHBvcnQgc2luY2UgdGhp
cyBpcworICAgICAgICB1bmRlciBkZXZlbG9wbWVudCBmZWF0dXJlLgorICAgICAgICBTaGFkb3dS
b290LmlkbCBjb250YWlucyBtaW5pbXVtIEFQSSBzbyB0aGF0IHdlIGNhbiB0ZXN0IGl0LgorICAg
ICAgICBPdGhlciBBUElzIHNob3VsZCBiZSBhZGRlZCBvbiBvdGhlciBjaGFuZ2VzIHNvIHRoYXQg
d2UgY2FuIGlzb2xhdGUgaXNzdWVzLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToKKwogMjAx
Mi0wMS0xOCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
Y2hyb21pdW1dIG1vdmUgVG9vbHMuZ3lwLCBzd2l0Y2ggYnVpbGQtd2Via2l0IC0tY2hyb21pdW0g
dG8gQWxsLmd5cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDFlZWEyMDdkNGE5ZTc1MGYxMWQyOWRiNjMx
NmU2YWFhZjU3ZWI5NjYuLmEyZGY1Yjc5M2JjYjM4NjQ0NjY5ODhmNjgzOGQ3YjIxZThiZWQ1NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTEyMzEsNiArMTIzMSw3IEBACiAgICAgICAgICAgICAnZG9t
L1JhbmdlLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbCcsCisgICAgICAg
ICAgICAnZG9tL1NoYWRvd1Jvb3QuaWRsJywKICAgICAgICAgICAgICdkb20vU3RyaW5nQ2FsbGJh
Y2suaWRsJywKICAgICAgICAgICAgICdkb20vVGV4dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9U
ZXh0RXZlbnQuaWRsJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4IDVkYjJhMTA1ODFhN2E0YWYx
ZGU3NGM2NGUzNGE4ZTNlNzJkYzZhZGMuLjk0N2RjNDQ5M2UxZDhiODY5MDBjYzcxZjIwNGI2MGIy
YTk1MjlhMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtMTgwLDQgKzE4MCw5IEBAIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNNZWRpYVNvdXJjZUVuYWJsZWQgPSBmYWxzZTsKICNl
bmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKK2Jvb2wgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6aXNTaGFkb3dEb21FbmFibGVkID0gdHJ1ZTsKKyNlbmRpZgorCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggY2UyZWU0MzljNzJhOGFmNTg0
NDRlNDI5NDIwNjM2YmVhOTgxZDk4Yy4uNWE5MmNjZDk0OTQ4NjMwMjI1YmZhZDVjZmZjZTYwZTJj
MDExM2E5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTE5MSw2ICsxOTEsMTEgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdFZpZGVvVHJhY2tFbmFibGVkKGJvb2wgaXNFbmFibGVk
KSB7IGlzVmlkZW9UcmFja0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKFNIQURPV19ET00pCisgICAgc3RhdGljIGJvb2wgc2hhZG93RG9tRW5hYmxlZCgpIHsgcmV0
dXJuIGlzU2hhZG93RG9tRW5hYmxlZDsgfQorICAgIHN0YXRpYyB2b2lkIHNldFNoYWRvd0RvbUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNTaGFkb3dEb21FbmFibGVkID0gaXNFbmFibGVkOyB9
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICAvLyBOZXZlciBpbnN0YW50aWF0ZS4KICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzKCkgeyB9CkBAIC0yNDcsNiArMjUyLDEwIEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHN0YXRpYyBib29sIGlzVmlkZW9UcmFja0VuYWJs
ZWQ7CiAjZW5kaWYKKworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIHN0YXRpYyBib29sIGlz
U2hhZG93RG9tRW5hYmxlZDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhYzA4NmFhYjdhMjM2ZjEyOGRk
Mzk0ZDQ4M2MwY2I3YzNjMzY3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVNIQURPV19ET00sCisgICAgICAgIEVu
YWJsZWRBdFJ1bnRpbWU9c2hhZG93RG9tCisgICAgXSBTaGFkb3dSb290IDogTm9kZSB7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IHNoYWRvd0hvc3Q7CisgICAgfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDhjMzE4NWEzMjRkZDI0ZmJlNjE2
MzU1NmRiZTE1OWIxZmE5ZmY4ODIuLmMxOGI1NDNkMGJjNmMzNjZkZDQyM2Q0ODM4Mjg3MTNkYjYz
MWIxNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE2NCw3ICsxNjQs
NyBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBl
bGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gcmVwcmVzZW50YXRpb247CiB9
CiAKLU5vZGUqIEludGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNl
cHRpb25Db2RlJiBlYykKK1NoYWRvd1Jvb3QqIEludGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdChF
bGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWhvc3QpIHsKICAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CkBAIC0xNzQsNyArMTc0LDcgQEAgTm9kZSog
SW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogICAgIHJldHVybiBob3N0LT5lbnN1cmVTaGFkb3dSb290KCk7CiB9CiAKLU5vZGUqIElu
dGVybmFsczo6c2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKK1No
YWRvd1Jvb3QqIEludGVybmFsczo6c2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBpZiAoIWhvc3QpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VT
U19FUlI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmNThjYzRjMTcwYzc1Mzhi
NWNmN2NjOTUyOWE3NzEwMTRjOGUzYjNmLi5jN2IyYTJmNmYzNjM3ZDQ4ZjhkZDM2ZDYyMDIyNzhh
YTJmNGIwOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTM5LDYgKzM5LDcg
QEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJh
bmdlOworY2xhc3MgU2hhZG93Um9vdDsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIApA
QCAtNTQsOCArNTUsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50
KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCi0gICAgTm9kZSogZW5zdXJlU2hhZG93Um9vdChFbGVt
ZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgTm9kZSogc2hhZG93Um9vdChFbGVtZW50
KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CisgICAgU2hhZG93Um9vdCogZW5zdXJlU2hhZG93Um9v
dChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CisgICAgU2hhZG93Um9vdCogc2hhZG93
Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCByZW1vdmVTaGFk
b3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBFbGVtZW50KiBpbmNs
dWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9J
ZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCmluZGV4IDY2YzllYTUxOTljOGNiZmY4NzgyZTVjNWRjMjU4Zjk1YTc4NTYxMDMuLjg3NDg1
NzkyZGQ2MjM4MDczMzE4NGQxZTY0NDdjN2EwOTE3ZTEyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKQEAgLTMwLDggKzMwLDE0IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAg
ICBET01TdHJpbmcgZWxlbWVudFJlbmRlclRyZWVBc1RleHQoaW4gRWxlbWVudCBlbGVtZW50KSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgYm9vbGVhbiBpc1ByZWxvYWRlZChpbiBEb2N1
bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIHVybCk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9T
SEFET1dfRE9NKQorICAgICAgICBTaGFkb3dSb290IGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVu
dCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFNoYWRvd1Jvb3Qgc2hhZG93
Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyNlbHNlCiAgICAg
ICAgIE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKICAgICAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworI2VuZGlmCisKICAgICAgICAgRWxlbWVudCBpbmNsdWRlckZvcihp
biBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCByZW1vdmVT
aGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAg
ICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVz
Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggOWQyZTA2
MDQ3NTI2NjZlNzkwNTIxOTY0NGIwZDdlN2Y4MGVkODJhYi4uZTdlZjE4ZjhkZmFhMmUwOWEyMDA3
YzFhM2EyMjcwODg2MzkwZTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpA
QCAtODEsNiArODEsNyBAQAogICAgICAgJ0VOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRT0x
JywKICAgICAgICdFTkFCTEVfUlVCWT0xJywKICAgICAgICdFTkFCTEVfU0FOREJPWD0xJywKKyAg
ICAgICdFTkFCTEVfU0hBRE9XX0RPTT0xJywKICAgICAgICdFTkFCTEVfU0hBUkVEX1dPUktFUlM9
MScsCiAgICAgICAnRU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MScsCiAgICAgICAnRU5BQkxFX1NR
TF9EQVRBQkFTRT0xJywKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODNlZjJlYWYyZmM3ZWViOGIyMTkwOTQ5MDEwOTg2YmUw
NmNhMDRkLi5lODU5MDllN2NmZGI2NTkwYTY4N2UxNTFiZDE0NDE4Y2EwOGZkOGExIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTItMDEtMTggIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIEFkZCBTaGFkb3dSb290LmlkbC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRvd1Jvb3QuaWRsLCB3aGljaCBpcyBl
bmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0aGlzIGlzCisgICAgICAgIHVuZGVy
IGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRvd1Jvb3QuaWRsIGNvbnRhaW5zIG1p
bmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisgICAgICAgIE90aGVyIEFQSXMgc2hv
dWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhhdCB3ZSBjYW4gaXNvbGF0ZSBpc3N1
ZXMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpz
LWFwaS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBl
ZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTIt
MDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRl
eGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5IGtleSBwYXRocyBzaG91bGQgcmFpc2UgZXhj
ZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lZjdmMWViNmU2Y2FiMWU2MjQ3NzI3Y2JlYzY1NmQ2ZGY0MjcxY2Q1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgZm9yIFNoYWRvd1Jvb3QgSlMgQVBJ
cy4gQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgc2hhZG93SG9zdCBpcyBzaGFkb3dSb290LnNoYWRvd0hvc3QKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Mzk0ODIxMzQ0NWY5ZGZiZDMyOTdjNmY2N2Q3YTkyYWE2YzNkNDU4MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3RzIGZvciBTaGFkb3dSb290IEpTIEFQSXMuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJU
Iik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIHNoYWRvd0hvc3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKK2ludGVybmFscy5lbnN1cmVTaGFkb3dSb290KHNoYWRvd0hvc3QpOwor
dmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdChzaGFkb3dIb3N0KTsKK3Nob3Vs
ZEJlKCJzaGFkb3dIb3N0IiwgInNoYWRvd1Jvb3Quc2hhZG93SG9zdCIpOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggMTA5ODQ0
ODI1ZWJhNzk2ZDA0NWNhNTg3MTU5ZGViZjA3OTczZjY2Ni4uMWNiMGIxNWQ4MWI1NDFmZGIxNzMy
NGJjNGExMDM0ZjFkZWM0MWM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTE4OTks
NiArMTg5OSw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5v
dCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3Qg
eWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1NfRklMVEVSUykuCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2OQogY3NzMy9maWx0ZXJzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCmluZGV4IDBmOTIyMjJlYzczMjI4YTE5YjA3MmVjNmNjMTkzYTgzMDZkNjcz
MjQuLmY1YTEyMWQ3YTg3ZTllYTJiYzlhMTllZTg0N2ViNzhjMjMwOTE0YzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCkBAIC0zNDksNiArMzQ5LDkgQEAgZmFzdC9jc3MtZ3JpZC1sYXlvdXQK
ICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9i
LzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMg
ZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKKwogIyBD
U1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81
NzMxMgogZmFzdC9yZWdpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggODUzNGRi
ZDE3YTQyODZiMGRiNjI1OWMzNTI1NGY2NWVkNDc5YTQ5OC4uZWQwZWJmNjUyNDZlZmY4MWIxYzNm
ZjNkM2IwMGJmMWNlZTJhZTU1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQxMyw2
ICs0MTMsOSBAQCBmYXN0L2Nzcy1ncmlkLWxheW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3Qg
eWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNj
b3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCiAjIEpTQyBkb2VzIG5vdCBzdXBwb3J0IHNldElz
b2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbiAoaHR0cDovL3dlYmtpdC5vcmcvYi82MTU0MCkKIGh0
dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNTBiNWZhZTQwZWQzZjBjMjQzYmRkMjEzYmVmNGFm
ZTQ2YzU1ZTE0Ny4uZDllYjBlMjQ5ZDFmZjMyYmNhNzk3YmIzYTgwNzEyOGMyMzNhZTk4NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNjEsNiArMTYxLDkgQEAgZmFzdC9jc3MtZ3JpZC1s
YXlvdXQKICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0
Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RP
TSkgaXMgZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwK
KwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5v
cmcvYi81NzMxMgogZmFzdC9yZWdpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXgg
MmJjMWQxNzdlOTNlYTE5MjJjOTY3M2I2OWViYTU2YjNhODRhMjFmNC4uNDdjY2NkOTc4N2NiMGRl
NzUxMDBkY2VmOTVlYjcwNmIwYjc4MmMyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAg
LTE0MjIsNiArMTQyMiw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+
IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9y
dCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9u
cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRleCBiYjY1YjMwNTNlZDdm
ZGUwN2RkOTUzODQxM2Q5YWI1NDk2OGFiZTM1Li5jNjA3MjY5ZDJhMDI2Y2IzMjRkYTc0N2IwZjY2
YzY0NmZlNWMwMDM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE5
NjAsNiArMTk2MCw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlz
IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBu
b3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123252</attachid>
            <date>2012-01-19 22:21:42 -0800</date>
            <delta_ts>2012-01-19 23:09:02 -0800</delta_ts>
            <desc>Set Runtime flag in DRT.</desc>
            <filename>bug-76353-20120120152141.patch</filename>
            <type>text/plain</type>
            <size>19510</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MDYxYjljOTEzZGUx
ZjFkYzQ5ZjgyYTZhMTRkYjhlODUxMzIzZS4uMDVlMjZhNThhMGU1NzBjNTg0ZTdiZDM3ZjY0N2Fj
ODFiZDc3ODA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAxLTE4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYWRvd0RvbUVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0U2hhZG93RG9tRW5hYmxl
ZCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6Omhvc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDogQWRkZWQuCisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
OjplbnN1cmVTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2hhZG93
Um9vdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5IGtl
eSBwYXRocyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1YjIxMjk5MjMwNWQzZDEzZmY0NTg4OTUxNjBhZWUw
NjY2M2YyN2FhLi40MTdiZGIwZWMwNWVjZWE4MGNhNjRjNzI4MjY1M2ZlMzIwNjcyODFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTE5ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorICAg
ICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVu
dGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjpl
bmFibGVTaGFkb3dEb20pOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6Omlz
U2hhZG93RG9tRW5hYmxlZCk6CisKIDIwMTItMDEtMTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBtb3ZlIFRvb2xzLmd5cCwgc3dpdGNo
IGJ1aWxkLXdlYmtpdCAtLWNocm9taXVtIHRvIEFsbC5neXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAx
ZWVhMjA3ZDRhOWU3NTBmMTFkMjlkYjYzMTZlNmFhYWY1N2ViOTY2Li5hMmRmNWI3OTNiY2IzODY0
NDY2OTg4ZjY4MzhkN2IyMWU4YmVkNTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMjMxLDYgKzEy
MzEsNyBAQAogICAgICAgICAgICAgJ2RvbS9SYW5nZS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9S
YW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9TaGFkb3dSb290LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RleHQu
aWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50LmlkbCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAppbmRleCA1ZGIyYTEwNTgxYTdhNGFmMWRlNzRjNjRlMzRhOGUzZTcyZGM2YWRjLi4xZDhkNzU5
OWJiNjhhZTJhZDdhMjg3ZDkxMTc3YTk1M2M1YzJiZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAK
QEAgLTE4MCw0ICsxODAsOSBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFT
b3VyY2VFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCitib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU2hhZG93RG9tRW5hYmxlZCA9
IGZhbHNlOworI2VuZGlmCisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAppbmRleCBjZTJlZTQzOWM3MmE4YWY1ODQ0NGU0Mjk0MjA2MzZiZWE5ODFkOThjLi41YTkyY2Nk
OTQ5NDg2MzAyMjViZmFkNWNmZmNlNjBlMmMwMTEzYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAt
MTkxLDYgKzE5MSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0V2Via2l0VmlkZW9U
cmFja0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNWaWRlb1RyYWNrRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBzdGF0aWMgYm9v
bCBzaGFkb3dEb21FbmFibGVkKCkgeyByZXR1cm4gaXNTaGFkb3dEb21FbmFibGVkOyB9CisgICAg
c3RhdGljIHZvaWQgc2V0U2hhZG93RG9tRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1NoYWRv
d0RvbUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIC8vIE5l
dmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTI0
Nyw2ICsyNTIsMTAgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgc3Rh
dGljIGJvb2wgaXNWaWRlb1RyYWNrRW5hYmxlZDsKICNlbmRpZgorCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCisgICAgc3RhdGljIGJvb2wgaXNTaGFkb3dEb21FbmFibGVkOworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBjNWJj
MGRiY2I1ZDBjZGI5YTgzNDViZDlhMWY5MjE3ZTIzMDJhYzA4Li5kYWU4OTVjYTczNzI2ZDRkNGNj
YTk5ODQ3YjkwOWUwMWQ3ODU4M2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTUwLDYg
KzUwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhcHBseUF1dGhvclNoZWV0cygpIGNv
bnN0OwogICAgIHZvaWQgc2V0QXBwbHlBdXRob3JTaGVldHMoYm9vbCk7CiAKKyAgICBFbGVtZW50
KiBob3N0KCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpOyB9CisKICAgICBDb250ZW50SW5j
bHVzaW9uU2VsZWN0b3IqIGluY2x1c2lvbnMoKSBjb25zdDsKICAgICBDb250ZW50SW5jbHVzaW9u
U2VsZWN0b3IqIGVuc3VyZUluY2x1c2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE4NzBhNjg2YWM2MGI0ZmFjNjA5NDhkZTFlOWU0OTBkMTU2MjYzYzQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPVNIQURPV19ET00sCisgICAgICAgIEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RG9t
CisgICAgXSBTaGFkb3dSb290IDogTm9kZSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBF
bGVtZW50IGhvc3Q7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDhjMzE4NWEzMjRkZDI0ZmJlNjE2MzU1NmRiZTE1OWIxZmE5ZmY4ODIuLmMxOGI1NDNk
MGJjNmMzNjZkZDQyM2Q0ODM4Mjg3MTNkYjYzMWIxNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTE2NCw3ICsxNjQsNyBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50
UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAg
ICByZXR1cm4gcmVwcmVzZW50YXRpb247CiB9CiAKLU5vZGUqIEludGVybmFsczo6ZW5zdXJlU2hh
ZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKK1NoYWRvd1Jvb3QqIElu
dGVybmFsczo6ZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBpZiAoIWhvc3QpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7
CkBAIC0xNzQsNyArMTc0LDcgQEAgTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVs
ZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiBob3N0LT5lbnN1cmVT
aGFkb3dSb290KCk7CiB9CiAKLU5vZGUqIEludGVybmFsczo6c2hhZG93Um9vdChFbGVtZW50KiBo
b3N0LCBFeGNlcHRpb25Db2RlJiBlYykKK1NoYWRvd1Jvb3QqIEludGVybmFsczo6c2hhZG93Um9v
dChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWhvc3QpIHsK
ICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAppbmRleCBmNThjYzRjMTcwYzc1MzhiNWNmN2NjOTUyOWE3NzEwMTRjOGUzYjNmLi5jN2Iy
YTJmNmYzNjM3ZDQ4ZjhkZDM2ZDYyMDIyNzhhYTJmNGIwOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVt
ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOworY2xhc3MgU2hhZG93Um9vdDsKIAogdHlw
ZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIApAQCAtNTQsOCArNTUsOCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCi0gICAg
Tm9kZSogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgTm9kZSogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CisgICAg
U2hhZG93Um9vdCogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2Rl
Jik7CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCByZW1vdmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDY2YzllYTUxOTljOGNiZmY4Nzgy
ZTVjNWRjMjU4Zjk1YTc4NTYxMDMuLmVkZGMwNjdhNTM0ZWE2MDc4OTRhMzQzODg1OTFkODg5MmZi
ZmYyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMwLDggKzMwLDE1
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBET01TdHJpbmcgZWxlbWVudFJlbmRlclRyZWVB
c1RleHQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
Ym9vbGVhbiBpc1ByZWxvYWRlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIHVy
bCk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1dfRE9NKQorICAgICAgICBTaGFkb3dSb290
IGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CisgICAgICAgIFNoYWRvd1Jvb3Qgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKKyNlbHNlCisgICAgICAgIC8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmls
aXR5LCBsZWF2ZSB0aGVzZSBmdW5jdGlvbnMgd2hpY2ggcmV0dXJuIE5vZGUuCiAgICAgICAgIE5v
ZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKICAgICAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01F
eGNlcHRpb24pOworI2VuZGlmCisKICAgICAgICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBOb2Rl
IG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCByZW1vdmVTaGFkb3dS
b290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBET01T
dHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggOWQyZTA2MDQ3NTI2
NjZlNzkwNTIxOTY0NGIwZDdlN2Y4MGVkODJhYi4uZTdlZjE4ZjhkZmFhMmUwOWEyMDA3YzFhM2Ey
MjcwODg2MzkwZTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtODEs
NiArODEsNyBAQAogICAgICAgJ0VOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRT0xJywKICAg
ICAgICdFTkFCTEVfUlVCWT0xJywKICAgICAgICdFTkFCTEVfU0FOREJPWD0xJywKKyAgICAgICdF
TkFCTEVfU0hBRE9XX0RPTT0xJywKICAgICAgICdFTkFCTEVfU0hBUkVEX1dPUktFUlM9MScsCiAg
ICAgICAnRU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MScsCiAgICAgICAnRU5BQkxFX1NRTF9EQVRB
QkFTRT0xJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1
bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGlt
ZUZlYXR1cmVzLmgKaW5kZXggNWZmZjk4OWU1Y2ZmYThmOWMyZjY2NzkwZWMwNDRkZDM0MDJjZmM0
Mi4uYjljNTUzZGRmZWQ5YjBlYzM1M2NkZWFhOTM4ZTc4MGQ3YjIzMDc1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKQEAgLTEy
MSw2ICsxMjEsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFi
bGVHYW1lcGFkKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNHYW1lcGFk
RW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVTaGFkb3dE
b20oYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1NoYWRvd0RvbUVuYWJs
ZWQoKTsKKwogcHJpdmF0ZToKICAgICBXZWJSdW50aW1lRmVhdHVyZXMoKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAppbmRleCBk
ZTZjZGExODZmZjRlYjc2NjBhOTc0YTNkNDExYjgzNTMxZjMwZTU2Li5mZTMyMjk1ZDJjOTI0Zjkz
MmJiN2U5MmVjNTI1NzBiOThjN2RmNzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKQEAgLTQzMiw0ICs0MzIsMjMgQEAgYm9vbCBX
ZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJsZWQoKQogI2VuZGlmCiB9CiAKK3ZvaWQg
V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVTaGFkb3dEb20oYm9vbCBlbmFibGUpCit7CisjaWYg
RU5BQkxFKFNIQURPV19ET00pCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0U2hhZG93
RG9tRW5hYmxlZChlbmFibGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKKyNl
bmRpZgorfQorCitib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNTaGFkb3dEb21FbmFibGVkKCkK
K3sKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhZG93RG9tRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYTY2MTc3NjAxYmM0MWJjNDY4M2U1MWQ4MmZi
ZmRhMmVhYmE2YjRmLi45OThiYmJjZWMwNjRlYjNhMDU1OWM1ZDZlZTA0NjhiMTdlODlkNjE5IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTItMDEtMTkgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEFkZCBTaGFkb3dSb290LmlkbCB3aGljaCBpcyBlbmFibGVkIGJ5IG5ld2x5IGlu
dHJvZHVjZWQgU0hBRE9XX0RPTSBmbGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwsIHdoaWNoIGlzIGVuYWJsZWQgb25s
eSBvbiBjaHJvbWl1bSBwb3J0IHNpbmNlIHRoaXMgaXMKKyAgICAgICAgdW5kZXIgZGV2ZWxvcG1l
bnQgZmVhdHVyZS4KKyAgICAgICAgU2hhZG93Um9vdC5pZGwgY29udGFpbnMgbWluaW11bSBBUEkg
c28gdGhhdCB3ZSBjYW4gdGVzdCBpdC4KKyAgICAgICAgT3RoZXIgQVBJcyBzaG91bGQgYmUgYWRk
ZWQgb24gb3RoZXIgY2hhbmdlcyBzbyB0aGF0IHdlIGNhbiBpc29sYXRlIGlzc3Vlcy4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChU
ZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisKIDIwMTItMDEtMTggIERpcmsgUHJhbmtlICA8ZHByYW5r
ZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBtb3ZlIFRvb2xzLmd5cCwgc3dp
dGNoIGJ1aWxkLXdlYmtpdCAtLWNocm9taXVtIHRvIEFsbC5neXAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDE1YTkzODkwZjkzYjFjYjRmODdlZGU0
ZjEzZGJkNWU5ZDE4MGZmZDguLjkwYzZjNWI5MjUwZWE5OTFkM2E2MDgzN2Y1MDhlYWFkNzg2ZGFj
MDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAt
MTI3LDYgKzEyNyw3IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxsKGJvb2wgdGVzdFNoZWxsTW9kZSkK
ICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVdlYkF1ZGlvKHRydWUpOyAKICAgICBXZWJS
dW50aW1lRmVhdHVyZXM6OmVuYWJsZVZpZGVvVHJhY2sodHJ1ZSk7CiAgICAgV2ViUnVudGltZUZl
YXR1cmVzOjplbmFibGVHYW1lcGFkKHRydWUpOworICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5h
YmxlU2hhZG93RG9tKHRydWUpOwogCiAgICAgbV93ZWJQZXJtaXNzaW9ucyA9IGFkb3B0UHRyKG5l
dyBXZWJQZXJtaXNzaW9ucyh0aGlzKSk7CiAgICAgbV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciA9
IGFkb3B0UHRyKG5ldyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcih0aGlzKSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTgz
ZWYyZWFmMmZjN2VlYjhiMjE5MDk0OTAxMDk4NmJlMDZjYTA0ZC4uNzgwMjEzZjcxZDczYThjNzI0
MzdhNWM2NWE4MDI4MWQxMjQ0ZjUxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAxLTE4
ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93
Um9vdC5pZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00g
ZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IFNoYWRvd1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBz
aW5jZSB0aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAg
IFNoYWRvd1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3Qg
aXQuCisgICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMg
c28gdGhhdCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5
IGtleSBwYXRocyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
anMtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTA0Y2NjYWZjYjM2Y2UxYTlhYzc0MjQ5
MmM4OGI5NDY1YzdmN2JjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
VGVzdHMgZm9yIFNoYWRvd1Jvb3QgSlMgQVBJcy4gQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc2hhZG93SG9zdCBpcyBzaGFkb3dS
b290Lmhvc3QKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
anMtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q2YzQ0NmYyYTg4ZjA1NmFmZmZlNDA1NDgyOWQxMWMyZjQ0
N2M0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1qcy1hcGkuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTaGFkb3dSb290IEpTIEFQSXMuIENh
biBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIHNoYWRvd0hv
c3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2ludGVybmFscy5lbnN1cmVTaGFk
b3dSb290KHNoYWRvd0hvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9v
dChzaGFkb3dIb3N0KTsKK3Nob3VsZEJlKCJzaGFkb3dIb3N0IiwgInNoYWRvd1Jvb3QuaG9zdCIp
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBw
ZWQKaW5kZXggMTA5ODQ0ODI1ZWJhNzk2ZDA0NWNhNTg3MTU5ZGViZjA3OTczZjY2Ni4uMWNiMGIx
NWQ4MWI1NDFmZGIxNzMyNGJjNGExMDM0ZjFkZWM0MWM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKQEAgLTE4OTksNiArMTg5OSw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHls
ZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0Mgog
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVk
LgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIEZpbHRl
cnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1NfRklMVEVSUykuCiAj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2OQogY3NzMy9maWx0
ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDBmOTIyMjJlYzczMjI4YTE5YjA3MmVj
NmNjMTkzYTgzMDZkNjczMjQuLmY1YTEyMWQ3YTg3ZTllYTJiYzlhMTllZTg0N2ViNzhjMjMwOTE0
YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNDksNiArMzQ5LDkgQEAgZmFzdC9j
c3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVkLiBodHRw
Oi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBFTkFCTEUo
U0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLmh0bWwKKwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDov
L3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQKaW5kZXggODUzNGRiZDE3YTQyODZiMGRiNjI1OWMzNTI1NGY2NWVkNDc5YTQ5OC4uZWQwZWJm
NjUyNDZlZmY4MWIxYzNmZjNkM2IwMGJmMWNlZTJhZTU1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKQEAgLTQxMyw2ICs0MTMsOSBAQCBmYXN0L2Nzcy1ncmlkLWxheW91dAogIyA8c3R5bGUg
c2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNDkxNDIKIGZh
c3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4K
K2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCiAjIEpTQyBkb2VzIG5v
dCBzdXBwb3J0IHNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbiAoaHR0cDovL3dlYmtpdC5v
cmcvYi82MTU0MCkKIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmln
aW4teGhyLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNTBiNWZhZTQwZWQzZjBj
MjQzYmRkMjEzYmVmNGFmZTQ2YzU1ZTE0Ny4uZDllYjBlMjQ5ZDFmZjMyYmNhNzk3YmIzYTgwNzEy
OGMyMzNhZTk4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNjEsNiArMTYxLDkgQEAg
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVk
LiBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBF
TkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtanMtYXBpLmh0bWwKKwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4g
aHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKaW5kZXggMmJjMWQxNzdlOTNlYTE5MjJjOTY3M2I2OWViYTU2YjNhODRhMjFmNC4u
NDdjY2NkOTc4N2NiMGRlNzUxMDBkY2VmOTVlYjcwNmIwYjc4MmMyNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKQEAgLTE0MjIsNiArMTQyMiw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAj
IDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80
OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRp
c2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NT
IFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRl
eCBiYjY1YjMwNTNlZDdmZGUwN2RkOTUzODQxM2Q5YWI1NDk2OGFiZTM1Li5jNjA3MjY5ZDJhMDI2
Y2IzMjRkYTc0N2IwZjY2YzY0NmZlNWMwMDM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1NraXBwZWQKQEAgLTE5NjAsNiArMTk2MCw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxz
dHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0
MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2Fi
bGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIFJl
Z2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIK
IGZhc3QvcmVnaW9ucwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123255</attachid>
            <date>2012-01-19 23:09:09 -0800</date>
            <delta_ts>2012-01-20 00:37:26 -0800</delta_ts>
            <desc>change ShadowRoot to Node if disabled in Internals.{h,cpp} to fix builds</desc>
            <filename>bug-76353-20120120160907.patch</filename>
            <type>text/plain</type>
            <size>19634</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MDYxYjljOTEzZGUx
ZjFkYzQ5ZjgyYTZhMTRkYjhlODUxMzIzZS4uMDVlMjZhNThhMGU1NzBjNTg0ZTdiZDM3ZjY0N2Fj
ODFiZDc3ODA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAxLTE4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYWRvd0RvbUVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0U2hhZG93RG9tRW5hYmxl
ZCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6Omhvc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDogQWRkZWQuCisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
OjplbnN1cmVTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2hhZG93
Um9vdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5IGtl
eSBwYXRocyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1YjIxMjk5MjMwNWQzZDEzZmY0NTg4OTUxNjBhZWUw
NjY2M2YyN2FhLi40MTdiZGIwZWMwNWVjZWE4MGNhNjRjNzI4MjY1M2ZlMzIwNjcyODFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTE5ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorICAg
ICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVu
dGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjpl
bmFibGVTaGFkb3dEb20pOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6Omlz
U2hhZG93RG9tRW5hYmxlZCk6CisKIDIwMTItMDEtMTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBtb3ZlIFRvb2xzLmd5cCwgc3dpdGNo
IGJ1aWxkLXdlYmtpdCAtLWNocm9taXVtIHRvIEFsbC5neXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAx
ZWVhMjA3ZDRhOWU3NTBmMTFkMjlkYjYzMTZlNmFhYWY1N2ViOTY2Li5hMmRmNWI3OTNiY2IzODY0
NDY2OTg4ZjY4MzhkN2IyMWU4YmVkNTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMjMxLDYgKzEy
MzEsNyBAQAogICAgICAgICAgICAgJ2RvbS9SYW5nZS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9S
YW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9TaGFkb3dSb290LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RleHQu
aWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50LmlkbCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAppbmRleCA1ZGIyYTEwNTgxYTdhNGFmMWRlNzRjNjRlMzRhOGUzZTcyZGM2YWRjLi4xZDhkNzU5
OWJiNjhhZTJhZDdhMjg3ZDkxMTc3YTk1M2M1YzJiZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAK
QEAgLTE4MCw0ICsxODAsOSBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFT
b3VyY2VFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCitib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU2hhZG93RG9tRW5hYmxlZCA9
IGZhbHNlOworI2VuZGlmCisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAppbmRleCBjZTJlZTQzOWM3MmE4YWY1ODQ0NGU0Mjk0MjA2MzZiZWE5ODFkOThjLi41YTkyY2Nk
OTQ5NDg2MzAyMjViZmFkNWNmZmNlNjBlMmMwMTEzYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAt
MTkxLDYgKzE5MSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0V2Via2l0VmlkZW9U
cmFja0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNWaWRlb1RyYWNrRW5hYmxlZCA9IGlzRW5h
YmxlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBzdGF0aWMgYm9v
bCBzaGFkb3dEb21FbmFibGVkKCkgeyByZXR1cm4gaXNTaGFkb3dEb21FbmFibGVkOyB9CisgICAg
c3RhdGljIHZvaWQgc2V0U2hhZG93RG9tRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1NoYWRv
d0RvbUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIC8vIE5l
dmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTI0
Nyw2ICsyNTIsMTAgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgc3Rh
dGljIGJvb2wgaXNWaWRlb1RyYWNrRW5hYmxlZDsKICNlbmRpZgorCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCisgICAgc3RhdGljIGJvb2wgaXNTaGFkb3dEb21FbmFibGVkOworI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBjNWJj
MGRiY2I1ZDBjZGI5YTgzNDViZDlhMWY5MjE3ZTIzMDJhYzA4Li5kYWU4OTVjYTczNzI2ZDRkNGNj
YTk5ODQ3YjkwOWUwMWQ3ODU4M2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTUwLDYg
KzUwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhcHBseUF1dGhvclNoZWV0cygpIGNv
bnN0OwogICAgIHZvaWQgc2V0QXBwbHlBdXRob3JTaGVldHMoYm9vbCk7CiAKKyAgICBFbGVtZW50
KiBob3N0KCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpOyB9CisKICAgICBDb250ZW50SW5j
bHVzaW9uU2VsZWN0b3IqIGluY2x1c2lvbnMoKSBjb25zdDsKICAgICBDb250ZW50SW5jbHVzaW9u
U2VsZWN0b3IqIGVuc3VyZUluY2x1c2lvbnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE4NzBhNjg2YWM2MGI0ZmFjNjA5NDhkZTFlOWU0OTBkMTU2MjYzYzQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPVNIQURPV19ET00sCisgICAgICAgIEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RG9t
CisgICAgXSBTaGFkb3dSb290IDogTm9kZSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBF
bGVtZW50IGhvc3Q7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDhjMzE4NWEzMjRkZDI0ZmJlNjE2MzU1NmRiZTE1OWIxZmE5ZmY4ODIuLjFlN2I0ZGI2
ODRiYjY1ZjAzM2VjZmE1YjJlZmZhM2IwMjgxN2VhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTE2NCw3ICsxNjQsMTEgQEAgU3RyaW5nIEludGVybmFsczo6ZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAg
ICAgcmV0dXJuIHJlcHJlc2VudGF0aW9uOwogfQogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCitT
aGFkb3dSb290KiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCisjZWxzZQogTm9kZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290
KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQorI2VuZGlmCiB7CiAgICAgaWYgKCFo
b3N0KSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwpAQCAtMTc0LDcgKzE3OCwx
MSBAQCBOb2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGhvc3QtPmVuc3VyZVNoYWRvd1Jvb3QoKTsKIH0K
IAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorU2hhZG93Um9vdCogSW50ZXJuYWxzOjpzaGFkb3dS
b290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQorI2Vsc2UKIE5vZGUqIEludGVy
bmFsczo6c2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKKyNlbmRp
ZgogewogICAgIGlmICghaG9zdCkgewogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGY1OGNjNGMxNzBjNzUzOGI1Y2Y3Y2M5
NTI5YTc3MTAxNGM4ZTNiM2YuLjJjYmI5ZTNiM2IzMGMyMzQ3MDJkNzU0NjUxNGI3ODIxNjRmMzMw
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzksNiArMzksNyBAQCBjbGFz
cyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7Citj
bGFzcyBTaGFkb3dSb290OwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBAIC01NCw4
ICs1NSwxMyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29u
c3QgU3RyaW5nJiB1cmwpOwogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgU2hhZG93Um9v
dCogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CisgICAg
U2hhZG93Um9vdCogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7Cisj
ZWxzZQogICAgIE5vZGUqIGVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIE5vZGUqIHNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29k
ZSYpOworI2VuZGlmICAgIAogICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdChFbGVtZW50KiBob3N0
LCBFeGNlcHRpb25Db2RlJik7CiAgICAgRWxlbWVudCogaW5jbHVkZXJGb3IoTm9kZSosIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2VwdGlv
bkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2NmM5ZWE1MTk5
YzhjYmZmODc4MmU1YzVkYzI1OGY5NWE3ODU2MTAzLi5lZGRjMDY3YTUzNGVhNjA3ODk0YTM0Mzg4
NTkxZDg4OTJmYmZmMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0z
MCw4ICszMCwxNSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRE9NU3RyaW5nIGVsZW1lbnRS
ZW5kZXJUcmVlQXNUZXh0KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiAgICAgICAgIGJvb2xlYW4gaXNQcmVsb2FkZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERP
TVN0cmluZyB1cmwpOwogCisjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkKKyAgICAgICAg
U2hhZG93Um9vdCBlbnN1cmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01F
eGNlcHRpb24pOworICAgICAgICBTaGFkb3dSb290IHNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisjZWxzZQorICAgICAgICAvLyBGb3IgYmFja3dhcmQg
Y29tcGF0aWJpbGl0eSwgbGVhdmUgdGhlc2UgZnVuY3Rpb25zIHdoaWNoIHJldHVybiBOb2RlLgog
ICAgICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgorCiAgICAgICAgIEVsZW1lbnQgaW5jbHVkZXJG
b3IoaW4gTm9kZSBub2RlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgcmVt
b3ZlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICAgICAgRE9NU3RyaW5nIHNoYWRvd1BzZXVkb0lkKGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0
dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IDlk
MmUwNjA0NzUyNjY2ZTc5MDUyMTk2NDRiMGQ3ZTdmODBlZDgyYWIuLmU3ZWYxOGY4ZGZhYTJlMDlh
MjAwN2MxYTNhMjI3MDg4NjM5MGUxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5
cGkKQEAgLTgxLDYgKzgxLDcgQEAKICAgICAgICdFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUU9MScsCiAgICAgICAnRU5BQkxFX1JVQlk9MScsCiAgICAgICAnRU5BQkxFX1NBTkRCT1g9MScs
CisgICAgICAnRU5BQkxFX1NIQURPV19ET009MScsCiAgICAgICAnRU5BQkxFX1NIQVJFRF9XT1JL
RVJTPTEnLAogICAgICAgJ0VOQUJMRV9TTU9PVEhfU0NST0xMSU5HPTEnLAogICAgICAgJ0VOQUJM
RV9TUUxfREFUQUJBU0U9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlJ1bnRpbWVGZWF0dXJlcy5oCmluZGV4IDVmZmY5ODllNWNmZmE4ZjljMmY2Njc5MGVjMDQ0
ZGQzNDAyY2ZjNDIuLmI5YzU1M2RkZmVkOWIwZWMzNTNjZGVhYTkzOGU3ODBkN2IyMzA3NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJl
cy5oCkBAIC0xMjEsNiArMTIxLDkgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IHZvaWQgZW5hYmxlR2FtZXBhZChib29sKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29s
IGlzR2FtZXBhZEVuYWJsZWQoKTsKIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5h
YmxlU2hhZG93RG9tKGJvb2wpOworICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNTaGFk
b3dEb21FbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAKaW5kZXggZGU2Y2RhMTg2ZmY0ZWI3NjYwYTk3NGEzZDQxMWI4MzUzMWYzMGU1Ni4uZmUzMjI5
NWQyYzkyNGY5MzJiYjdlOTJlYzUyNTcwYjk4YzdkZjcxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC00MzIsNCArNDMyLDIz
IEBAIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKCkKICNlbmRpZgog
fQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlU2hhZG93RG9tKGJvb2wgZW5hYmxl
KQoreworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNldFNoYWRvd0RvbUVuYWJsZWQoZW5hYmxlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVu
YWJsZSk7CisjZW5kaWYKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzU2hhZG93RG9t
RW5hYmxlZCgpCit7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgcmV0dXJuIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYWRvd0RvbUVuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2E2NjE3NzYwMWJjNDFiYzQ2
ODNlNTFkODJmYmZkYTJlYWJhNmI0Zi4uOTk4YmJiY2VjMDY0ZWIzYTA1NTljNWQ2ZWUwNDY4YjE3
ZTg5ZDYxOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTE5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwgd2hpY2ggaXMgZW5hYmxlZCBi
eSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRvd1Jvb3QuaWRsLCB3aGljaCBpcyBl
bmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0aGlzIGlzCisgICAgICAgIHVuZGVy
IGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRvd1Jvb3QuaWRsIGNvbnRhaW5zIG1p
bmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisgICAgICAgIE90aGVyIEFQSXMgc2hv
dWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhhdCB3ZSBjYW4gaXNvbGF0ZSBpc3N1
ZXMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwOgor
ICAgICAgICAoVGVzdFNoZWxsOjpUZXN0U2hlbGwpOgorCiAyMDEyLTAxLTE4ICBEaXJrIFByYW5r
ZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gbW92ZSBUb29s
cy5neXAsIHN3aXRjaCBidWlsZC13ZWJraXQgLS1jaHJvbWl1bSB0byBBbGwuZ3lwCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCAxNWE5Mzg5MGY5M2Ix
Y2I0Zjg3ZWRlNGYxM2RiZDVlOWQxODBmZmQ4Li45MGM2YzViOTI1MGVhOTkxZDNhNjA4MzdmNTA4
ZWFhZDc4NmRhYzA5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHAKQEAgLTEyNyw2ICsxMjcsNyBAQCBUZXN0U2hlbGw6OlRlc3RTaGVsbChib29sIHRlc3RT
aGVsbE1vZGUpCiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVXZWJBdWRpbyh0cnVlKTsg
CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVWaWRlb1RyYWNrKHRydWUpOwogICAgIFdl
YlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlR2FtZXBhZCh0cnVlKTsKKyAgICBXZWJSdW50aW1lRmVh
dHVyZXM6OmVuYWJsZVNoYWRvd0RvbSh0cnVlKTsKIAogICAgIG1fd2ViUGVybWlzc2lvbnMgPSBh
ZG9wdFB0cihuZXcgV2ViUGVybWlzc2lvbnModGhpcykpOwogICAgIG1fYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIgPSBhZG9wdFB0cihuZXcgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIodGhpcykpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDU4M2VmMmVhZjJmYzdlZWI4YjIxOTA5NDkwMTA5ODZiZTA2Y2EwNGQuLjc4MDIxM2Y3
MWQ3M2E4YzcyNDM3YTVjNjVhODAyODFkMTI0NGY1MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAxMi0wMS0xOCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
QWRkIFNoYWRvd1Jvb3QuaWRsIHdoaWNoIGlzIGVuYWJsZWQgYnkgbmV3bHkgaW50cm9kdWNlZCBT
SEFET1dfRE9NIGZsYWcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NjM1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBTaGFkb3dSb290LmlkbCwgd2hpY2ggaXMgZW5hYmxlZCBvbmx5IG9uIGNocm9t
aXVtIHBvcnQgc2luY2UgdGhpcyBpcworICAgICAgICB1bmRlciBkZXZlbG9wbWVudCBmZWF0dXJl
LgorICAgICAgICBTaGFkb3dSb290LmlkbCBjb250YWlucyBtaW5pbXVtIEFQSSBzbyB0aGF0IHdl
IGNhbiB0ZXN0IGl0LgorICAgICAgICBPdGhlciBBUElzIHNob3VsZCBiZSBhZGRlZCBvbiBvdGhl
ciBjaGFuZ2VzIHNvIHRoYXQgd2UgY2FuIGlzb2xhdGUgaXNzdWVzLgorCisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZv
cm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgorCiAyMDEyLTAxLTE4ICBKb3NodWEgQmVsbCAg
PGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBJbnZhbGlkIGtleXMg
eWllbGRlZCBieSBrZXkgcGF0aHMgc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbnMsIG5vdCBlcnJvciBj
YWxsYmFja3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUwNGNjY2FmY2IzNmNl
MWE5YWM3NDI0OTJjODhiOTQ2NWM3ZjdiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK1Rlc3RzIGZvciBTaGFkb3dSb290IEpTIEFQSXMuIENhbiBvbmx5IHJ1biB3aXRo
aW4gRFJUCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNoYWRvd0hvc3Qg
aXMgc2hhZG93Um9vdC5ob3N0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWpzLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkNmM0NDZmMmE4OGYwNTZhZmZmZTQwNTQ4
MjlkMTFjMmY0NDdjNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBmb3IgU2hhZG93Um9vdCBK
UyBBUElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVCIpOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3Zh
ciBzaGFkb3dIb3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitpbnRlcm5hbHMu
ZW5zdXJlU2hhZG93Um9vdChzaGFkb3dIb3N0KTsKK3ZhciBzaGFkb3dSb290ID0gaW50ZXJuYWxz
LnNoYWRvd1Jvb3Qoc2hhZG93SG9zdCk7CitzaG91bGRCZSgic2hhZG93SG9zdCIsICJzaGFkb3dS
b290Lmhvc3QiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9Ta2lwcGVkCmluZGV4IDEwOTg0NDgyNWViYTc5NmQwNDVjYTU4NzE1OWRlYmYwNzk3M2Y2
NjYuLjFjYjBiMTVkODFiNTQxZmRiMTczMjRiYzRhMTAzNGYxZGVjNDFjNTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkCkBAIC0xODk5LDYgKzE4OTksOSBAQCBmYXN0L2Nzcy1ncmlkLWxheW91
dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9NKSBp
cyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorCiAj
IENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90IHlldCBlbmFibGVkIChuZWVkcyBFTkFCTEVfQ1NTX0ZJ
TFRFUlMpLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NjkK
IGNzczMvZmlsdGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAwZjkyMjIyZWM3MzIy
OGExOWIwNzJlYzZjYzE5M2E4MzA2ZDY3MzI0Li5mNWExMjFkN2E4N2U5ZWEyYmM5YTE5ZWU4NDdl
Yjc4YzIzMDkxNGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMzQ5LDYgKzM0OSw5
IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5h
YmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAK
KyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJs
ZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCmluZGV4IDg1MzRkYmQxN2E0Mjg2YjBkYjYyNTljMzUyNTRmNjVlZDQ3OWE0
OTguLmVkMGViZjY1MjQ2ZWZmODFiMWMzZmYzZDNiMDBiZjFjZWUyYWU1NWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCkBAIC00MTMsNiArNDEzLDkgQEAgZmFzdC9jc3MtZ3JpZC1sYXlvdXQK
ICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9i
LzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMg
ZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKKwogIyBK
U0MgZG9lcyBub3Qgc3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4gKGh0dHA6
Ly93ZWJraXQub3JnL2IvNjE1NDApCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQv
Y3Jvc3Mtb3JpZ2luLXhoci5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDUwYjVm
YWU0MGVkM2YwYzI0M2JkZDIxM2JlZjRhZmU0NmM1NWUxNDcuLmQ5ZWIwZTI0OWQxZmYzMmJjYTc5
N2JiM2E4MDcxMjhjMjMzYWU5ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTYxLDYg
KzE2MSw5IEBAIGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5
ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkCiAKKyMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDJiYzFkMTc3ZTkzZWExOTIyYzk2NzNiNjllYmE1NmIz
YTg0YTIxZjQuLjQ3Y2NjZDk3ODdjYjBkZTc1MTAwZGNlZjk1ZWI3MDZiMGI3ODJjMjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDIyLDYgKzE0MjIsOSBAQCBmYXN0L2Nzcy1ncmlk
LWxheW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJr
aXQub3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1df
RE9NKSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRt
bAorCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0
Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Nr
aXBwZWQKaW5kZXggYmI2NWIzMDUzZWQ3ZmRlMDdkZDk1Mzg0MTNkOWFiNTQ5NjhhYmUzNS4uYzYw
NzI2OWQyYTAyNmNiMzI0ZGE3NDdiMGY2NmM2NDZmZTVjMDAzNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xOTYwLDYgKzE5NjAsOSBAQCBmYXN0L2Nzcy1ncmlkLWxh
eW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQu
b3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1dfRE9N
KSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAor
CiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123264</attachid>
            <date>2012-01-20 00:37:33 -0800</date>
            <delta_ts>2012-01-20 02:29:30 -0800</delta_ts>
            <desc>typedef done. dom -&gt; DOM. Build hopufilly fixed</desc>
            <filename>bug-76353-20120120173731.patch</filename>
            <type>text/plain</type>
            <size>19699</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MDYxYjljOTEzZGUx
ZjFkYzQ5ZjgyYTZhMTRkYjhlODUxMzIzZS4uMmQ0ZDIxYTM3NTk0NjdmOTYwNWY3OWUyNzNmM2M0
MDljOTVmOGRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAxLTE4ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYWRvd0RPTUVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0U2hhZG93RE9NRW5hYmxl
ZCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6Omhvc3QpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDogQWRkZWQuCisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
OjplbnN1cmVTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2hhZG93
Um9vdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMDEtMTggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFsaWQga2V5cyB5aWVsZGVkIGJ5IGtl
eSBwYXRocyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90IGVycm9yIGNhbGxiYWNrcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1YjIxMjk5MjMwNWQzZDEzZmY0NTg4OTUxNjBhZWUw
NjY2M2YyN2FhLi4zOTVmYTliMTE4ZGQyYjg3NDNhOTIwYjk5OWYxMTllOGMzNjQxYTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTE5ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5p
ZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRyb2R1Y2VkIFNIQURPV19ET00gZmxhZy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzUzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNoYWRv
d1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkgb24gY2hyb21pdW0gcG9ydCBzaW5jZSB0
aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50IGZlYXR1cmUuCisgICAgICAgIFNoYWRv
d1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNvIHRoYXQgd2UgY2FuIHRlc3QgaXQuCisg
ICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVkIG9uIG90aGVyIGNoYW5nZXMgc28gdGhh
dCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorICAg
ICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVu
dGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjpl
bmFibGVTaGFkb3dET00pOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6Omlz
U2hhZG93RE9NRW5hYmxlZCk6CisKIDIwMTItMDEtMTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBtb3ZlIFRvb2xzLmd5cCwgc3dpdGNo
IGJ1aWxkLXdlYmtpdCAtLWNocm9taXVtIHRvIEFsbC5neXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAx
ZWVhMjA3ZDRhOWU3NTBmMTFkMjlkYjYzMTZlNmFhYWY1N2ViOTY2Li5hMmRmNWI3OTNiY2IzODY0
NDY2OTg4ZjY4MzhkN2IyMWU4YmVkNTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMjMxLDYgKzEy
MzEsNyBAQAogICAgICAgICAgICAgJ2RvbS9SYW5nZS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9S
YW5nZUV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ2RvbS9TaGFkb3dSb290LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1N0cmluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RleHQu
aWRsJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50LmlkbCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAppbmRleCA1ZGIyYTEwNTgxYTdhNGFmMWRlNzRjNjRlMzRhOGUzZTcyZGM2YWRjLi41OWU4YjBm
NjRmODk4N2ZjNTI2MjM3ZDZjNDk3MDQ4OThiZDU3NmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAK
QEAgLTE4MCw0ICsxODAsOCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFT
b3VyY2VFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCitib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU2hhZG93RE9NRW5hYmxlZCA9
IGZhbHNlOworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgK
aW5kZXggY2UyZWU0MzljNzJhOGFmNTg0NDRlNDI5NDIwNjM2YmVhOTgxZDk4Yy4uNjczMmNiMWYw
YjBjNDAyNThhY2U3NzU1ZjJjOWZjNTRjZjg5ZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTE5
MSw2ICsxOTEsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdFZpZGVvVHJh
Y2tFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzVmlkZW9UcmFja0VuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgc3RhdGljIGJvb2wg
c2hhZG93RE9NRW5hYmxlZCgpIHsgcmV0dXJuIGlzU2hhZG93RE9NRW5hYmxlZDsgfQorICAgIHN0
YXRpYyB2b2lkIHNldFNoYWRvd0RPTUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNTaGFkb3dE
T01FbmFibGVkID0gaXNFbmFibGVkOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICAvLyBOZXZl
ciBpbnN0YW50aWF0ZS4KICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCkgeyB9CkBAIC0yNDcs
NiArMjUyLDEwIEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHN0YXRp
YyBib29sIGlzVmlkZW9UcmFja0VuYWJsZWQ7CiAjZW5kaWYKKworI2lmIEVOQUJMRShTSEFET1df
RE9NKQorICAgIHN0YXRpYyBib29sIGlzU2hhZG93RE9NRW5hYmxlZDsKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggYzViYzBk
YmNiNWQwY2RiOWE4MzQ1YmQ5YTFmOTIxN2UyMzAyYWMwOC4uZGFlODk1Y2E3MzcyNmQ0ZDRjY2E5
OTg0N2I5MDllMDFkNzg1ODNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC01MCw2ICs1
MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYXBwbHlBdXRob3JTaGVldHMoKSBjb25z
dDsKICAgICB2b2lkIHNldEFwcGx5QXV0aG9yU2hlZXRzKGJvb2wpOwogCisgICAgRWxlbWVudCog
aG9zdCgpIGNvbnN0IHsgcmV0dXJuIHNoYWRvd0hvc3QoKTsgfQorCiAgICAgQ29udGVudEluY2x1
c2lvblNlbGVjdG9yKiBpbmNsdXNpb25zKCkgY29uc3Q7CiAgICAgQ29udGVudEluY2x1c2lvblNl
bGVjdG9yKiBlbnN1cmVJbmNsdXNpb25zKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dSb290LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45YTgwOTMzNThiZGMwZmZmMDFjODY5NzM1ZTBhNDNmZDIzMDNhMTNjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1TSEFET1dfRE9NLAorICAgICAgICBFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTQor
ICAgIF0gU2hhZG93Um9vdCA6IE5vZGUgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxl
bWVudCBob3N0OworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA4YzMxODVhMzI0ZGQyNGZiZTYxNjM1NTZkYmUxNTliMWZhOWZmODgyLi43ZTQ4MWNhNTdi
MmIwNzZhOTA4MDFmZDBjNDliOGIwYzRhY2M5ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0xNjQsNyArMTY0LDcgQEAgU3RyaW5nIEludGVybmFsczo6ZWxlbWVudFJl
bmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAg
cmV0dXJuIHJlcHJlc2VudGF0aW9uOwogfQogCi1Ob2RlKiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRv
d1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYgZWMpCitJbnRlcm5hbHM6OlNoYWRv
d1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6ZW5zdXJlU2hhZG93Um9v
dChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWhvc3QpIHsK
ICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CkBAIC0xNzQsNyArMTc0LDcgQEAgTm9k
ZSogSW50ZXJuYWxzOjplbnN1cmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgIHJldHVybiBob3N0LT5lbnN1cmVTaGFkb3dSb290KCk7CiB9CiAKLU5vZGUq
IEludGVybmFsczo6c2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJiBlYykK
K0ludGVybmFsczo6U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxz
OjpzaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlm
ICghaG9zdCkgewogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCmluZGV4IGY1OGNjNGMxNzBjNzUzOGI1Y2Y3Y2M5NTI5YTc3MTAxNGM4
ZTNiM2YuLjNlMjgxYmRlMTI5OTllYTM5NzkyNzUwYjc3MzIyNDE3NDg5M2RjZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CitjbGFzcyBTaGFkb3dS
b290OwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBAIC01NCw4ICs1NSwxMyBAQCBw
dWJsaWM6CiAKICAgICBib29sIGlzUHJlbG9hZGVkKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB1
cmwpOwogCi0gICAgTm9kZSogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRp
b25Db2RlJik7Ci0gICAgTm9kZSogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25D
b2RlJik7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgdHlwZWRlZiBTaGFkb3dSb290IFNo
YWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGU7CisjZWxzZQorICAgIHR5cGVkZWYgTm9k
ZSBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlOworI2VuZGlmCisgICAgU2hhZG93
Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogZW5zdXJlU2hhZG93Um9vdChFbGVtZW50KiBo
b3N0LCBFeGNlcHRpb25Db2RlJik7CisgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9y
Tm9kZSogc2hhZG93Um9vdChFbGVtZW50KiBob3N0LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9p
ZCByZW1vdmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBF
bGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBz
aGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDY2YzllYTUxOTljOGNiZmY4NzgyZTVjNWRjMjU4Zjk1YTc4
NTYxMDMuLjg3NDg1NzkyZGQ2MjM4MDczMzE4NGQxZTY0NDdjN2EwOTE3ZTEyOGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMwLDggKzMwLDE0IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBET01TdHJpbmcgZWxlbWVudFJlbmRlclRyZWVBc1RleHQoaW4gRWxlbWVu
dCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgYm9vbGVhbiBpc1ByZWxv
YWRlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIHVybCk7CiAKKyNpZiBkZWZp
bmVkKEVOQUJMRV9TSEFET1dfRE9NKQorICAgICAgICBTaGFkb3dSb290IGVuc3VyZVNoYWRvd1Jv
b3QoaW4gRWxlbWVudCBob3N0KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFNoYWRv
d1Jvb3Qgc2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
KyNlbHNlCiAgICAgICAgIE5vZGUgZW5zdXJlU2hhZG93Um9vdChpbiBFbGVtZW50IGhvc3QpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgTm9kZSBzaGFkb3dSb290KGluIEVsZW1lbnQg
aG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOworI2VuZGlmCisKICAgICAgICAgRWxlbWVudCBp
bmNsdWRlckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
dm9pZCByZW1vdmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogICAgICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkK
aW5kZXggOWQyZTA2MDQ3NTI2NjZlNzkwNTIxOTY0NGIwZDdlN2Y4MGVkODJhYi4uZTdlZjE4Zjhk
ZmFhMmUwOWEyMDA3YzFhM2EyMjcwODg2MzkwZTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaQpAQCAtODEsNiArODEsNyBAQAogICAgICAgJ0VOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRT0xJywKICAgICAgICdFTkFCTEVfUlVCWT0xJywKICAgICAgICdFTkFCTEVfU0FO
REJPWD0xJywKKyAgICAgICdFTkFCTEVfU0hBRE9XX0RPTT0xJywKICAgICAgICdFTkFCTEVfU0hB
UkVEX1dPUktFUlM9MScsCiAgICAgICAnRU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MScsCiAgICAg
ICAnRU5BQkxFX1NRTF9EQVRBQkFTRT0xJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggNWZmZjk4OWU1Y2ZmYThmOWMyZjY2
NzkwZWMwNDRkZDM0MDJjZmM0Mi4uN2UyOWFiMGRiODk4NzVlMzZmM2Y1OTMxZGE0OWFiNDAyMmE3
MmI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGlt
ZUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGlt
ZUZlYXR1cmVzLmgKQEAgLTEyMSw2ICsxMjEsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9S
VCBzdGF0aWMgdm9pZCBlbmFibGVHYW1lcGFkKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3Rh
dGljIGJvb2wgaXNHYW1lcGFkRW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMg
dm9pZCBlbmFibGVTaGFkb3dET00oYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9v
bCBpc1NoYWRvd0RPTUVuYWJsZWQoKTsKKwogcHJpdmF0ZToKICAgICBXZWJSdW50aW1lRmVhdHVy
ZXMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50
aW1lRmVhdHVyZXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZl
YXR1cmVzLmNwcAppbmRleCBkZTZjZGExODZmZjRlYjc2NjBhOTc0YTNkNDExYjgzNTMxZjMwZTU2
Li4zODk2M2I1MjE3MTNjZjlhODI1NDk3YTFjOTE0MWVkNGIxMDJjMTFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKQEAgLTQzMiw0
ICs0MzIsMjMgQEAgYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJsZWQoKQog
I2VuZGlmCiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVTaGFkb3dET00oYm9v
bCBlbmFibGUpCit7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0U2hhZG93RE9NRW5hYmxlZChlbmFibGUpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oZW5hYmxlKTsKKyNlbmRpZgorfQorCitib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNT
aGFkb3dET01FbmFibGVkKCkKK3sKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICByZXR1cm4g
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhZG93RE9NRW5hYmxlZCgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYTY2MTc3NjAx
YmM0MWJjNDY4M2U1MWQ4MmZiZmRhMmVhYmE2YjRmLi45OThiYmJjZWMwNjRlYjNhMDU1OWM1ZDZl
ZTA0NjhiMTdlODlkNjE5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDEtMTkgIEhheWF0byBJdG8gIDxoYXlh
dG9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBTaGFkb3dSb290LmlkbCB3aGljaCBpcyBl
bmFibGVkIGJ5IG5ld2x5IGludHJvZHVjZWQgU0hBRE9XX0RPTSBmbGFnLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwsIHdo
aWNoIGlzIGVuYWJsZWQgb25seSBvbiBjaHJvbWl1bSBwb3J0IHNpbmNlIHRoaXMgaXMKKyAgICAg
ICAgdW5kZXIgZGV2ZWxvcG1lbnQgZmVhdHVyZS4KKyAgICAgICAgU2hhZG93Um9vdC5pZGwgY29u
dGFpbnMgbWluaW11bSBBUEkgc28gdGhhdCB3ZSBjYW4gdGVzdCBpdC4KKyAgICAgICAgT3RoZXIg
QVBJcyBzaG91bGQgYmUgYWRkZWQgb24gb3RoZXIgY2hhbmdlcyBzbyB0aGF0IHdlIGNhbiBpc29s
YXRlIGlzc3Vlcy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisKIDIwMTItMDEtMTggIERp
cmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBt
b3ZlIFRvb2xzLmd5cCwgc3dpdGNoIGJ1aWxkLXdlYmtpdCAtLWNocm9taXVtIHRvIEFsbC5neXAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDE1YTkz
ODkwZjkzYjFjYjRmODdlZGU0ZjEzZGJkNWU5ZDE4MGZmZDguLjQ1Y2JjMWUxYWE2NGI5M2Y1NDZk
YTdjNjEyZTJjMTk3NDVhMmFkYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcApAQCAtMTI3LDYgKzEyNyw3IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxsKGJv
b2wgdGVzdFNoZWxsTW9kZSkKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVdlYkF1ZGlv
KHRydWUpOyAKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVZpZGVvVHJhY2sodHJ1ZSk7
CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKHRydWUpOworICAgIFdlYlJ1
bnRpbWVGZWF0dXJlczo6ZW5hYmxlU2hhZG93RE9NKHRydWUpOwogCiAgICAgbV93ZWJQZXJtaXNz
aW9ucyA9IGFkb3B0UHRyKG5ldyBXZWJQZXJtaXNzaW9ucyh0aGlzKSk7CiAgICAgbV9hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcih0
aGlzKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNTgzZWYyZWFmMmZjN2VlYjhiMjE5MDk0OTAxMDk4NmJlMDZjYTA0ZC4u
NzgwMjEzZjcxZDczYThjNzI0MzdhNWM2NWE4MDI4MWQxMjQ0ZjUxMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI0IEBACisyMDEyLTAxLTE4ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBBZGQgU2hhZG93Um9vdC5pZGwgd2hpY2ggaXMgZW5hYmxlZCBieSBuZXdseSBpbnRy
b2R1Y2VkIFNIQURPV19ET00gZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc2MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIFNoYWRvd1Jvb3QuaWRsLCB3aGljaCBpcyBlbmFibGVkIG9ubHkg
b24gY2hyb21pdW0gcG9ydCBzaW5jZSB0aGlzIGlzCisgICAgICAgIHVuZGVyIGRldmVsb3BtZW50
IGZlYXR1cmUuCisgICAgICAgIFNoYWRvd1Jvb3QuaWRsIGNvbnRhaW5zIG1pbmltdW0gQVBJIHNv
IHRoYXQgd2UgY2FuIHRlc3QgaXQuCisgICAgICAgIE90aGVyIEFQSXMgc2hvdWxkIGJlIGFkZGVk
IG9uIG90aGVyIGNoYW5nZXMgc28gdGhhdCB3ZSBjYW4gaXNvbGF0ZSBpc3N1ZXMuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDEtMTggIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludmFs
aWQga2V5cyB5aWVsZGVkIGJ5IGtleSBwYXRocyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucywgbm90
IGVycm9yIGNhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTA0Y2Nj
YWZjYjM2Y2UxYTlhYzc0MjQ5MmM4OGI5NDY1YzdmN2JjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorVGVzdHMgZm9yIFNoYWRvd1Jvb3QgSlMgQVBJcy4gQ2FuIG9ubHkg
cnVuIHdpdGhpbiBEUlQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc2hh
ZG93SG9zdCBpcyBzaGFkb3dSb290Lmhvc3QKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q2YzQ0NmYyYTg4ZjA1NmFm
ZmZlNDA1NDgyOWQxMWMyZjQ0N2M0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbApAQCAtMCwwICsxLDIxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBTaGFk
b3dSb290IEpTIEFQSXMuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJUIik7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwordmFyIHNoYWRvd0hvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2lu
dGVybmFscy5lbnN1cmVTaGFkb3dSb290KHNoYWRvd0hvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBp
bnRlcm5hbHMuc2hhZG93Um9vdChzaGFkb3dIb3N0KTsKK3Nob3VsZEJlKCJzaGFkb3dIb3N0Iiwg
InNoYWRvd1Jvb3QuaG9zdCIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggMTA5ODQ0ODI1ZWJhNzk2ZDA0NWNhNTg3MTU5ZGVi
ZjA3OTczZjY2Ni4uMWNiMGIxNWQ4MWI1NDFmZGIxNzMyNGJjNGExMDM0ZjFkZWM0MWM1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTE4OTksNiArMTg5OSw5IEBAIGZhc3QvY3NzLWdy
aWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dl
YmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNIQURP
V19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5o
dG1sCisKICMgQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJM
RV9DU1NfRklMVEVSUykuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02ODQ2OQogY3NzMy9maWx0ZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDBmOTIy
MjJlYzczMjI4YTE5YjA3MmVjNmNjMTkzYTgzMDZkNjczMjQuLmY1YTEyMWQ3YTg3ZTllYTJiYzlh
MTllZTg0N2ViNzhjMjMwOTE0YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNDks
NiArMzQ5LDkgQEAgZmFzdC9jc3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNjb3BlZD4gaXMgbm90
IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9zdHlsZS1z
Y29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKKwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5
ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggODUzNGRiZDE3YTQyODZiMGRiNjI1OWMzNTI1NGY2
NWVkNDc5YTQ5OC4uZWQwZWJmNjUyNDZlZmY4MWIxYzNmZjNkM2IwMGJmMWNlZTJhZTU1YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQxMyw2ICs0MTMsOSBAQCBmYXN0L2Nzcy1ncmlk
LWxheW91dAogIyA8c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJr
aXQub3JnL2IvNDkxNDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCisjIEVOQUJMRShTSEFET1df
RE9NKSBpcyBkaXNhYmxlZC4KK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRt
bAorCiAjIEpTQyBkb2VzIG5vdCBzdXBwb3J0IHNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdp
biAoaHR0cDovL3dlYmtpdC5vcmcvYi82MTU0MCkKIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0
ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggNTBiNWZhZTQwZWQzZjBjMjQzYmRkMjEzYmVmNGFmZTQ2YzU1ZTE0Ny4uZDllYjBlMjQ5ZDFm
ZjMyYmNhNzk3YmIzYTgwNzEyOGMyMzNhZTk4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBA
IC0xNjEsNiArMTYxLDkgQEAgZmFzdC9jc3MtZ3JpZC1sYXlvdXQKICMgPHN0eWxlIHNjb3BlZD4g
aXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5MTQyCiBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQKIAorIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCitmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKKwogIyBDU1MgUmVnaW9ucyBzdXBwb3J0
IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25z
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMmJjMWQxNzdlOTNlYTE5MjJjOTY3M2I2
OWViYTU2YjNhODRhMjFmNC4uNDdjY2NkOTc4N2NiMGRlNzUxMDBkY2VmOTVlYjcwNmIwYjc4MmMy
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTE0MjIsNiArMTQyMiw5IEBAIGZhc3Qv
Y3NzLWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxF
KFNIQURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpz
LWFwaS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6
Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vU2tpcHBlZAppbmRleCBiYjY1YjMwNTNlZDdmZGUwN2RkOTUzODQxM2Q5YWI1NDk2OGFi
ZTM1Li5jNjA3MjY5ZDJhMDI2Y2IzMjRkYTc0N2IwZjY2YzY0NmZlNWMwMDM0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE5NjAsNiArMTk2MCw5IEBAIGZhc3QvY3Nz
LWdyaWQtbGF5b3V0CiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDov
L3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKKyMgRU5BQkxFKFNI
QURPV19ET00pIGlzIGRpc2FibGVkLgorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFw
aS5odG1sCisKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93
ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>