<?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>48608</bug_id>
          
          <creation_ts>2010-10-28 19:20:05 -0700</creation_ts>
          <short_desc>Add text-combine property support to CSS parser</short_desc>
          <delta_ts>2010-11-03 02:51:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>48538</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Takumi Takano">takano</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301538</commentid>
    <comment_count>0</comment_count>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-10-28 19:20:05 -0700</bug_when>
    <thetext>Add text-combine property to our property list. Reflect the setting to a RenderStyle object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301651</commentid>
    <comment_count>1</comment_count>
      <attachid>72306</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-10-29 02:43:48 -0700</bug_when>
    <thetext>Created attachment 72306
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302007</commentid>
    <comment_count>2</comment_count>
      <attachid>72306</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-29 13:29:54 -0700</bug_when>
    <thetext>Comment on attachment 72306
Proposed patch

I would prefer it if TextCombine was put in StyleRareNonInheritedData instead.  In general we&apos;re trying to keep the CSS3 stuff out of the original set of inherited/noninherited flags, since they will be rarely used.  I let writing-mode slide originally, since I figured it would end up unprefixed eventually and be compatible with WinIE, but text-combine is going to be pretty obscure, so let&apos;s put it in the rare struct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302235</commentid>
    <comment_count>3</comment_count>
      <attachid>72427</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-10-29 19:30:24 -0700</bug_when>
    <thetext>Created attachment 72427
New patch

Moved textCombine into StyleRareNonInheritedData as Dave suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302236</commentid>
    <comment_count>4</comment_count>
      <attachid>72428</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-10-29 19:32:18 -0700</bug_when>
    <thetext>Created attachment 72428
(forgot to set review flag...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303489</commentid>
    <comment_count>5</comment_count>
      <attachid>72428</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-02 11:05:27 -0700</bug_when>
    <thetext>Comment on attachment 72428
(forgot to set review flag...)

looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303789</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-02 16:45:24 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 72428:

webarchive/test-link-rel-icon.html

Please file bugs against the tests.  These tests were authored by ddkilzer@webkit.org.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303790</commentid>
    <comment_count>7</comment_count>
      <attachid>72428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-02 16:46:51 -0700</bug_when>
    <thetext>Comment on attachment 72428
(forgot to set review flag...)

Rejecting patch 72428 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--ignore-builders&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 72428]&quot; exit_code: 2
Last 500 characters of output:
ng/style/StyleRareNonInheritedData.h
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:

    The following files contain tab characters:

        trunk/LayoutTests/fast/text/international/text-combine-parser-test.html

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
 at /usr/local/git/libexec/git-core/git-svn line 572


Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/4906020</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303903</commentid>
    <comment_count>8</comment_count>
      <attachid>72791</attachid>
    <who name="Takumi Takano">takano</who>
    <bug_when>2010-11-02 23:56:13 -0700</bug_when>
    <thetext>Created attachment 72791
Fixed commit error. (Removed tab chars from my test.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303911</commentid>
    <comment_count>9</comment_count>
      <attachid>72791</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-03 00:45:41 -0700</bug_when>
    <thetext>Comment on attachment 72791
Fixed commit error. (Removed tab chars from my test.)

Clearing flags on attachment: 72791

Committed r71218: &lt;http://trac.webkit.org/changeset/71218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303912</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-03 00:45:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303939</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-03 02:15:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/71218 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
svg/css/getComputedStyle-basic.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303954</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-11-03 02:51:31 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; http://trac.webkit.org/changeset/71218 might have broken GTK Linux 64-bit Debug
&gt; The following tests are not passing:
&gt; svg/css/getComputedStyle-basic.xhtml

Committed fix in changeset 71225 &lt;http://trac.webkit.org/changeset/71225&gt;; removed platform-specific GTK results so that GTK DRT uses the platform-independent results.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72306</attachid>
            <date>2010-10-29 02:43:48 -0700</date>
            <delta_ts>2010-10-29 19:30:24 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>WK48608Patch_101029.txt</filename>
            <type>text/plain</type>
            <size>16423</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDg1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxpc3QuIFJlZmxl
Y3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAgIFRlc3Q6IGZh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFRleHRD
b21iaW5lKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Ok5vbkluaGVyaXRl
ZEZsYWdzOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRCaXREZWZhdWx0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dENv
bWJpbmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHRDb21iaW5l
KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsVGV4dENvbWJpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorCiAy
MDEwLTEwLTI5ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gNzA4NTApCisrKyBXZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTEsNiArMjExLDcgQEAgc3RhdGljIGNvbnN0IGludCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IAog
ICAgIENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRQ
ZXJzcGVjdGl2ZU9yaWdpbiwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFJ0bE9yZGVyaW5nLAorICAg
IENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0
RGVjb3JhdGlvbnNJbkVmZmVjdCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRGaWxsQ29sb3Is
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0U2VjdXJpdHksCkBAIC0xNDY0LDYgKzE0NjUsOCBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjCiAgICAgICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+Y29sb3JTcGFjZSgpKTsKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyaXRpbmdNb2RlOgogICAgICAgICAgICAgcmV0
dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPndyaXRpbmdNb2RlKCkpOworICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmU6CisgICAgICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dGV4dENvbWJpbmUoKSk7CiAgICAg
ICAgIAogICAgICAgICAvKiBTaG9ydGhhbmQgcHJvcGVydGllcywgY3VycmVudGx5IG5vdCBzdXBw
b3J0ZWQgc2VlIGJ1ZyAxMzY1OCovCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5k
OgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA3MDg1MCkKKysrIFdlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODYsNiArMTc4NiwxMSBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBiCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRDb21iaW5lOgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lIHx8IGlkID09IENTU1Zh
bHVlQ2x1c3RlciB8fCBpZCA9PSBDU1NWYWx1ZVVwcmlnaHQpCisgICAgICAgICAgICB2YWxpZFBy
aW1pdGl2ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworCiAjaWYgRU5BQkxFKFNWRykKICAgICBk
ZWZhdWx0OgogICAgICAgICByZXR1cm4gcGFyc2VTVkdWYWx1ZShwcm9wSWQsIGltcG9ydGFudCk7
CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZpc2lvbiA3
MDg1MCkKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA0MCw2ICsyMDQwLDM4IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpvcGUKICAgICB9CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShUZXh0Q29tYmluZSBlKQorICAgIDogbV90eXBlKENT
U19JREVOVCkKKyAgICAsIG1faGFzQ2FjaGVkQ1NTVGV4dChmYWxzZSkKK3sKKyAgICBzd2l0Y2gg
KGUpIHsKKyAgICBjYXNlIFRleHRDb21iaW5lTm9uZToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9
IENTU1ZhbHVlTm9uZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBUZXh0Q29tYmluZUNsdXN0
ZXI6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUNsdXN0ZXI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgVGV4dENvbWJpbmVVcHJpZ2h0OgorICAgICAgICBtX3ZhbHVlLmlkZW50
ID0gQ1NTVmFsdWVVcHJpZ2h0OworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0Q29tYmluZSgpIGNvbnN0
Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1ZU5vbmU6
CisgICAgICAgIHJldHVybiBUZXh0Q29tYmluZU5vbmU7CisgICAgY2FzZSBDU1NWYWx1ZUNsdXN0
ZXI6CisgICAgICAgIHJldHVybiBUZXh0Q29tYmluZUNsdXN0ZXI7CisgICAgY2FzZSBDU1NWYWx1
ZVVwcmlnaHQ6CisgICAgICAgIHJldHVybiBUZXh0Q29tYmluZVVwcmlnaHQ7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBUZXh0Q29t
YmluZU5vbmU7CisgICAgfQorfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRVBvaW50ZXJFdmVudHMgZSkKICAgICA6IG1fdHlwZShDU1Nf
SURFTlQpCiAgICAgLCBtX2hhc0NhY2hlZENTU1RleHQoZmFsc2UpCkluZGV4OiBXZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4JKHJldmlzaW9uIDcwODUwKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjc2LDYgKzI3Niw3IEBAIHotaW5kZXgKIC13ZWJr
aXQtcGVyc3BlY3RpdmUtb3JpZ2luLXgKIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luLXkKIC13
ZWJraXQtcnRsLW9yZGVyaW5nCistd2Via2l0LXRleHQtY29tYmluZQogLXdlYmtpdC10ZXh0LWRl
Y29yYXRpb25zLWluLWVmZmVjdAogLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IKIC13ZWJraXQtdGV4
dC1zZWN1cml0eQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDcwODUw
KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2MDQsNiArNTYwNCwxMSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHko
aW50CiAgICAgICAgICAgICBtX2ZvbnREaXJ0eSA9IHRydWU7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmU6CisgICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodGV4dENvbWJpbmUsIFRleHRD
b21iaW5lKQorICAgICAgICByZXR1cm47CisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGRlZmF1bHQ6
CiAgICAgICAgIC8vIFRyeSB0aGUgU1ZHIHByb3BlcnRpZXMKSW5kZXg6IFdlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbgkocmV2aXNpb24gNzA4NTApCisrKyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC03NjQsMyArNzY0LDcgQEAgaG9yaXpvbnRhbC10YgogdmVy
dGljYWwtcmwKIHZlcnRpY2FsLWxyCiBob3Jpem9udGFsLWJ0CisKKyMgLXdlYmtpdC10ZXh0LWNv
bWJpbmUKK2NsdXN0ZXIKK3VwcmlnaHQKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAJKHJldmlzaW9uIDcwODUwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjMsNiArNDYzLDEwIEBAIFN0eWxl
RGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCAKICAgICBpZiAoaW5oZXJpdGVkX2Zs
YWdzLm1fd3JpdGluZ01vZGUgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2Rl
KQogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwogCisgICAgLy8gQ2hlY2sg
dGV4dCBjb21iaW5lIG1vZGUuCisgICAgaWYgKG5vbmluaGVyaXRlZF9mbGFncy5tX3RleHRDb21i
aW5lICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MubV90ZXh0Q29tYmluZSkKKyAgICAgICAg
cmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKKwogICAgIC8vIE92ZXJmbG93IHJldHVybnMg
YSBsYXlvdXQgaGludC4KICAgICBpZiAobm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1ggIT0g
b3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYIHx8CiAgICAgICAgIG5vbmluaGVy
aXRlZF9mbGFncy5fb3ZlcmZsb3dZICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJm
bG93WSkKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24g
NzA4NTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMzIsNyArMjMyLDggQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgICAgICYm
IF9hZmZlY3RlZEJ5RHJhZyA9PSBvdGhlci5fYWZmZWN0ZWRCeURyYWcKICAgICAgICAgICAgICAg
ICAmJiBfcHNldWRvQml0cyA9PSBvdGhlci5fcHNldWRvQml0cwogICAgICAgICAgICAgICAgICYm
IF91bmljb2RlQmlkaSA9PSBvdGhlci5fdW5pY29kZUJpZGkKLSAgICAgICAgICAgICAgICAmJiBf
aXNMaW5rID09IG90aGVyLl9pc0xpbms7CisgICAgICAgICAgICAgICAgJiYgX2lzTGluayA9PSBv
dGhlci5faXNMaW5rCisgICAgICAgICAgICAgICAgJiYgbV90ZXh0Q29tYmluZSA9PSBvdGhlci5t
X3RleHRDb21iaW5lOwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0
IE5vbkluaGVyaXRlZEZsYWdzJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhl
cik7IH0KQEAgLTI1OSw2ICsyNjAsMTAgQEAgcHJvdGVjdGVkOgogICAgICAgICB1bnNpZ25lZCBf
dW5pY29kZUJpZGkgOiAyOyAvLyBFVW5pY29kZUJpZGkKICAgICAgICAgYm9vbCBfaXNMaW5rIDog
MTsKICAgICAgICAgLy8gNTAgYml0cworCisgICAgICAgIC8vIENTUyBUZXh0IExheW91dCBNb2R1
bGUgTGV2ZWwgMzogVmVydGljYWwgd3JpdGluZyBzdXBwb3J0CisgICAgICAgIHVuc2lnbmVkIG1f
dGV4dENvbWJpbmUgOiAyOyAvLyB0ZXh0LWNvbWJpbmUgcHJvcGVydHkKKyAgICAgICAgLy8gNTIg
Yml0cwogICAgIH0gbm9uaW5oZXJpdGVkX2ZsYWdzOwogCiAvLyAhRU5EIFNZTkMhCkBAIC0zMDMs
NiArMzA4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3BzZXVk
b0JpdHMgPSAwOwogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNvZGVCaWRpID0gaW5p
dGlhbFVuaWNvZGVCaWRpKCk7CiAgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5faXNMaW5rID0g
ZmFsc2U7CisgICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5tX3RleHRDb21iaW5lID0gaW5pdGlh
bFRleHRDb21iaW5lKCk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtNzU4LDYgKzc2NCw4IEBAIHB1
YmxpYzoKICAgICBib29sIGlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSBjb25zdCB7IHJldHVy
biB3cml0aW5nTW9kZSgpID09IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUgfHwgd3JpdGluZ01vZGUo
KSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlOyB9CiAgICAgYm9vbCBpc0ZsaXBwZWRCbG9ja3NX
cml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRX
cml0aW5nTW9kZSB8fCB3cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0K
IAorICAgIFRleHRDb21iaW5lIHRleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8VGV4dENvbWJpbmU+KG5vbmluaGVyaXRlZF9mbGFncy5tX3RleHRDb21iaW5lKTsgfQorCiAg
ICAgRVNwZWFrIHNwZWFrKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVNwZWFrPihyYXJlSW5oZXJp
dGVkRGF0YS0+c3BlYWspOyB9CiAgICAgICAgIAogLy8gYXR0cmlidXRlIHNldHRlciBtZXRob2Rz
CkBAIC0xMTM3LDYgKzExNDUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdm9pZCBzZXRXcml0
aW5nTW9kZShXcml0aW5nTW9kZSB2KSB7IGluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2RlID0g
djsgfQorICAgIHZvaWQgc2V0VGV4dENvbWJpbmUoVGV4dENvbWJpbmUgdikgeyBub25pbmhlcml0
ZWRfZmxhZ3MubV90ZXh0Q29tYmluZSA9IHY7IH0KIAogICAgIC8vIFRvIHRlbGwgaWYgdGhpcyBz
dHlsZSBtYXRjaGVkIGF0dHJpYnV0ZSBzZWxlY3RvcnMuIFRoaXMgbWFrZXMgaXQgaW1wb3NzaWJs
ZSB0byBzaGFyZS4KICAgICBib29sIGFmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMoKSBjb25z
dCB7IHJldHVybiBtX2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnM7IH0KQEAgLTExNzgsNiAr
MTE4Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUNsZWFyIGluaXRpYWxDbGVhcigpIHsgcmV0
dXJuIENOT05FOyB9CiAgICAgc3RhdGljIFRleHREaXJlY3Rpb24gaW5pdGlhbERpcmVjdGlvbigp
IHsgcmV0dXJuIExUUjsgfQogICAgIHN0YXRpYyBXcml0aW5nTW9kZSBpbml0aWFsV3JpdGluZ01v
ZGUoKSB7IHJldHVybiBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlOyB9CisgICAgc3RhdGljIFRleHRD
b21iaW5lIGluaXRpYWxUZXh0Q29tYmluZSgpIHsgcmV0dXJuIFRleHRDb21iaW5lTm9uZTsgfQog
ICAgIHN0YXRpYyBFRGlzcGxheSBpbml0aWFsRGlzcGxheSgpIHsgcmV0dXJuIElOTElORTsgfQog
ICAgIHN0YXRpYyBFRW1wdHlDZWxsIGluaXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1cm4gU0hPVzsg
fQogICAgIHN0YXRpYyBFRmxvYXQgaW5pdGlhbEZsb2F0aW5nKCkgeyByZXR1cm4gRk5PTkU7IH0K
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aAkocmV2aXNpb24gNzA4NTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDEwIEBAIGVudW0gV3Jp
dGluZ01vZGUgewogICAgIFRvcFRvQm90dG9tV3JpdGluZ01vZGUsIFJpZ2h0VG9MZWZ0V3JpdGlu
Z01vZGUsIExlZnRUb1JpZ2h0V3JpdGluZ01vZGUsIEJvdHRvbVRvVG9wV3JpdGluZ01vZGUKIH07
CiAKK2VudW0gVGV4dENvbWJpbmUgeworICAgIFRleHRDb21iaW5lTm9uZSwgVGV4dENvbWJpbmVD
bHVzdGVyLCBUZXh0Q29tYmluZVVwcmlnaHQKK307CisKIGVudW0gRUZpbGxBdHRhY2htZW50IHsK
ICAgICBTY3JvbGxCYWNrZ3JvdW5kQXR0YWNobWVudCwgTG9jYWxCYWNrZ3JvdW5kQXR0YWNobWVu
dCwgRml4ZWRCYWNrZ3JvdW5kQXR0YWNobWVudAogfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDcwODUz
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEuYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXh0
LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxpc3QuIFJlZmxlY3QgdGhlIHNldHRp
bmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgcmVzdWx0LgorICAg
ICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1y
ZW5kZXJlci1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgcmVzdWx0LgorICAgICAgICAqIGZhc3QvdGV4
dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJz
ZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4
dDogVXBkYXRlZCByZXN1bHQuCisgICAgICAgICogc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJh
c2ljLWV4cGVjdGVkLnR4dDogVXBkYXRlZCByZXN1bHQuCisKIDIwMTAtMTAtMjkgIE1paGFpIFBh
cnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRh
bSBCYXJ0aC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MDg1MikKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDcgQEAg
em9vbTogMTsKIC13ZWJraXQtcGVyc3BlY3RpdmU6IG5vbmU7CiAtd2Via2l0LXBlcnNwZWN0aXZl
LW9yaWdpbjogMzkycHggMjg4cHg7CiAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKKy13
ZWJraXQtdGV4dC1jb21iaW5lOiBub25lOwogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVm
ZmVjdDogbm9uZTsKIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAtd2Vi
a2l0LXRleHQtc2VjdXJpdHk6IG5vbmU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwODUy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHls
ZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYg
KzE1Niw3IEBAIENvbXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAt
d2Via2l0LXBlcnNwZWN0aXZlOiBub25lCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46
IDUwJSA1MCUKICAgICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbAorICAgIC13ZWJraXQt
dGV4dC1jb21iaW5lOiBub25lCiAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVj
dDogbm9uZQogICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCkKICAgICAt
d2Via2l0LXRleHQtc2VjdXJpdHk6IG5vbmUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5l
LXBhcnNlci10ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK3RleHQtY29tYmluZSBwYXJzZXIgdGVz
dAorCistd2Via2l0LXRleHQtY29tYmluZTpub25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVz
dGVyCistd2Via2l0LXRleHQtY29tYmluZTp1cHJpZ2h0CitPa2F5IGlmIC13ZWJraXQtdGV4dC1j
b21iaW5lIHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLgorCistd2Via2l0LXRl
eHQtY29tYmluZTpub25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0LXRl
eHQtY29tYmluZTp1cHJpZ2h0CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwv
dGV4dC1jb21iaW5lLXBhcnNlci10ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT50ZXh0LWNvbWJpbmUg
cGFyc2VyIHRlc3Q8L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHByaW50KG1lc3NhZ2UpCit7
CisgICAgdmFyIHBhcmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAg
cGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFn
cmFwaCk7Cit9CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
Kwl2YXIgdGV4dENvbWJpbmVWYWx1ZXMgPSBbIm5vbmUiLCAiY2x1c3RlciIsICJ1cHJpZ2h0Il07
CisJdmFyIHBFbGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKKwlm
b3IgKCBpID0gMCA7IGkgPCBwRWxlbXMubGVuZ3RoIDsgKytpICkKKwl7CisJCXZhciBlbGVtID0g
cEVsZW1zW2ldOworCQllbGVtLnN0eWxlLndlYmtpdFRleHRDb21iaW5lID0gdGV4dENvbWJpbmVW
YWx1ZXNbaV07CisJCXByaW50KCItd2Via2l0LXRleHQtY29tYmluZToiICsgZWxlbS5zdHlsZS53
ZWJraXRUZXh0Q29tYmluZSk7CisJfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKSI+Cis8cD50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8L3A+Cis8ZGl2Pi13ZWJr
aXQtdGV4dC1jb21iaW5lOm5vbmU8L2Rpdj4KKzxkaXY+LXdlYmtpdC10ZXh0LWNvbWJpbmU6Y2x1
c3RlcjwvZGl2PgorPGRpdj4td2Via2l0LXRleHQtY29tYmluZTp1cHJpZ2h0PC9kaXY+Cis8cD5P
a2F5IGlmIC13ZWJraXQtdGV4dC1jb21iaW5lIHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRo
ZSBzYW1lLjwvcD4KKzxocj4KKzxwPjxvbCBpZD1jb25zb2xlPjwvb2w+PC9wPgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDcwODUyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTE1Niw2ICsxNTYsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVt
ZW50IHdob3NlIHBhcmVuCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogbm9uZQogICAgIC13ZWJr
aXQtcGVyc3BlY3RpdmUtb3JpZ2luOiA1MCUgNTAlCiAgICAgLXdlYmtpdC1ydGwtb3JkZXJpbmc6
IGxvZ2ljYWwKKyAgICAtd2Via2l0LXRleHQtY29tYmluZTogbm9uZQogICAgIC13ZWJraXQtdGV4
dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3Q6IG5vbmUKICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xv
cjogcmdiKDAsIDAsIDApCiAgICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBub25lCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDcwODUyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRD
b21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzEyLDYg
KzMxMiw4IEBAIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1wZXIKIHJlY3Q6
IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4pIDog
W29iamVjdCBDU1NWYWx1ZUxpc3RdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJr
aXQtcnRsLW9yZGVyaW5nKSA6IGxvZ2ljYWwKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoLXdlYmtpdC1ydGwtb3JkZXJpbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3Jl
Y3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWNvbWJpbmUpIDogbm9uZQor
cmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXRleHQtY29tYmluZSkgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgt
d2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0KSA6IG5vbmUKIHJlY3Q6IHN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgt
d2Via2l0LXRleHQtZmlsbC1jb2xvcikgOiByZ2IoMCwgMCwgMCkKQEAgLTczNCw2ICs3MzYsOCBA
QCBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcGVyc3BlCiBnOiBzdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luKSA6IFtvYmplY3QgQ1NT
VmFsdWVMaXN0XQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJ0bC1vcmRlcmlu
ZykgOiBsb2dpY2FsCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcnRsLW9y
ZGVyaW5nKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKC13ZWJraXQtdGV4dC1jb21iaW5lKSA6IG5vbmUKK2c6IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoLXdlYmtpdC10ZXh0LWNvbWJpbmUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWlu
LWVmZmVjdCkgOiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtdGV4
dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6
IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IpIDogcmdiKDAs
IDAsIDApCg==
</data>
<flag name="review"
          id="62540"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72427</attachid>
            <date>2010-10-29 19:30:24 -0700</date>
            <delta_ts>2010-10-29 19:32:18 -0700</delta_ts>
            <desc>New patch</desc>
            <filename>WK48608Patch_101030.txt</filename>
            <type>text/plain</type>
            <size>17950</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxpc3QuIFJlZmxl
Y3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAgIFRlc3Q6IGZh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuY3BwOiBBZGRlZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgc3VwcG9ydC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaDogQWRkZWQgYSBwcmltaXRpdmUgdmFsdWUgbWFwcGVyIGZvciB0
ZXh0LWNvbWJpbmUKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgVGV4dENvbWJpbmUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRl
ZCAidGV4dC1jb21iaW5lIi4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6IEFk
ZGVkIHRleHQtY29tYmluZSBwcm9wZXJ0eSBzdXBwb3J0LgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW46IEFkZGVkIHZhbHVlcyBmb3IgdGV4dC1jb21iaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6ZGlmZik6IEFkZGVkIGNoZWNrIG9mIHRleHQtY29tYmluZSB2YWx1ZS4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogQWRkZWQgYWNjZXNzb3JzIGZvciB0ZXh0LWNv
bWJpbmUuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dENvbWJpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHRDb21iaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsVGV4dENvbWJpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6IEFkZGVkIHRleHQtY29t
YmluZSBlbnRyeSBmb3IgUmVuZGVyU3R5bGUgb2JqZWN0IGhlcmUuCisKIDIwMTAtMTAtMjkgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggYnVpbGQu
CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJl
dmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw3IEBAIHN0YXRpYyBjb25zdCBpbnQg
Y29tcHV0ZWRQcm9wZXJ0aWVzW10gPSAKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZl
LAogICAgIENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW4sCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRSdGxPcmRlcmluZywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRDb21iaW5lLAog
ICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QsCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRUZXh0RmlsbENvbG9yLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFNlY3Vy
aXR5LApAQCAtMTQ2NCw2ICsxNDY1LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0
ZWRTdHlsZURlYwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUo
c3R5bGUtPmNvbG9yU3BhY2UoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcml0
aW5nTW9kZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT53cml0aW5nTW9kZSgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRD
b21iaW5lOgorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5
bGUtPnRleHRDb21iaW5lKCkpOwogICAgICAgICAKICAgICAgICAgLyogU2hvcnRoYW5kIHByb3Bl
cnRpZXMsIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIHNlZSBidWcgMTM2NTgqLwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZDoKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gNzA5
NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg2
LDYgKzE3ODYsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYgog
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKIAorICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0Q29tYmluZToKKyAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlTm9uZSB8fCBpZCA9PSBDU1NWYWx1ZUNsdXN0ZXIgfHwgaWQgPT0gQ1NTVmFsdWVVcHJp
Z2h0KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsK
KwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZH
VmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNDAsNiArMjA0MCwzOCBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgfQogfQogCit0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoVGV4dENv
bWJpbmUgZSkKKyAgICA6IG1fdHlwZShDU1NfSURFTlQpCisgICAgLCBtX2hhc0NhY2hlZENTU1Rl
eHQoZmFsc2UpCit7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBUZXh0Q29tYmluZU5vbmU6
CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU5vbmU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVGV4dENvbWJpbmVDbHVzdGVyOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVDbHVzdGVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRleHRDb21iaW5lVXByaWdo
dDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlVXByaWdodDsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgVGV4dENvbWJpbmUoKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25l
OworICAgIGNhc2UgQ1NTVmFsdWVDbHVzdGVyOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVD
bHVzdGVyOworICAgIGNhc2UgQ1NTVmFsdWVVcHJpZ2h0OgorICAgICAgICByZXR1cm4gVGV4dENv
bWJpbmVVcHJpZ2h0OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25lOworICAgIH0KK30KKwogdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZl
bnRzIGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5UKQogICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0
KGZhbHNlKQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2
ICsyNzYsNyBAQCB6LWluZGV4CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi14CiAtd2Via2l0
LXBlcnNwZWN0aXZlLW9yaWdpbi15CiAtd2Via2l0LXJ0bC1vcmRlcmluZworLXdlYmtpdC10ZXh0
LWNvbWJpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4
dC1maWxsLWNvbG9yCiAtd2Via2l0LXRleHQtc2VjdXJpdHkKSW5kZXg6IFdlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjA0LDYgKzU2MDQsMTEgQEAgdm9pZCBDU1NTdHls
ZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICAgICAgbV9mb250RGlydHkgPSB0
cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRDb21iaW5lOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJ
TUlUSVZFKHRleHRDb21iaW5lLCBUZXh0Q29tYmluZSkKKyAgICAgICAgcmV0dXJuOworCiAjaWYg
RU5BQkxFKFNWRykKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBUcnkgdGhlIFNWRyBwcm9wZXJ0
aWVzCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlzaW9uIDcwOTY1KQorKysgV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzY0LDMgKzc2
NCw3IEBAIGhvcml6b250YWwtdGIKIHZlcnRpY2FsLXJsCiB2ZXJ0aWNhbC1scgogaG9yaXpvbnRh
bC1idAorCisjIC13ZWJraXQtdGV4dC1jb21iaW5lCitjbHVzdGVyCit1cHJpZ2h0CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDYzLDYgKzQ2MywxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29u
c3QgCiAgICAgaWYgKGluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2RlICE9IG90aGVyLT5pbmhl
cml0ZWRfZmxhZ3MubV93cml0aW5nTW9kZSkKICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5j
ZUxheW91dDsKIAorICAgIC8vIENoZWNrIHRleHQgY29tYmluZSBtb2RlLgorICAgIGlmIChyYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV90ZXh0Q29tYmluZSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fdGV4dENvbWJpbmUpCisgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlv
dXQ7CisKICAgICAvLyBPdmVyZmxvdyByZXR1cm5zIGEgbGF5b3V0IGhpbnQuCiAgICAgaWYgKG5v
bmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3Mu
X292ZXJmbG93WCB8fAogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJmbG93WSAhPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1kpCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzE3LDYgKzcxNyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFBhZ2VTY2FsZVRyYW5zZm9ybShmbG9hdCk7CiAKICAgICBi
b29sIGhhc01hc2soKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tYXNr
Lmhhc0ltYWdlKCkgfHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbWFza0JveEltYWdlLmhhc0lt
YWdlKCk7IH0KKworICAgIFRleHRDb21iaW5lIHRleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VGV4dENvbWJpbmU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHRDb21i
aW5lKTsgfQogICAgIC8vIEVuZCBDU1MzIEdldHRlcnMKIAogICAgIC8vIEFwcGxlLXNwZWNpZmlj
IHByb3BlcnR5IGdldHRlciBtZXRob2RzCkBAIC0xMDUzLDYgKzEwNTUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRUcmFuc2Zvcm1PcmlnaW5ZKExlbmd0aCBsKSB7IFNFVF9WQVIocmFyZU5vbklu
aGVyaXRlZERhdGEuYWNjZXNzKCktPm1fdHJhbnNmb3JtLCBtX3ksIGwpOyB9CiAgICAgdm9pZCBz
ZXRUcmFuc2Zvcm1PcmlnaW5aKGZsb2F0IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV90cmFuc2Zvcm0sIG1feiwgZik7IH0KICAgICB2b2lkIHNldFNwZWFrKEVT
cGVhayBzKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHNwZWFrLCBzKTsgfQorICAgIHZv
aWQgc2V0VGV4dENvbWJpbmUoVGV4dENvbWJpbmUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3RleHRDb21iaW5lLCB2KTsgfQogICAgIC8vIEVuZCBDU1MzIFNldHRlcnMKIAog
ICAgIC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKQEAgLTExNzgsNiArMTE4MSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUNsZWFyIGluaXRpYWxDbGVhcigpIHsgcmV0dXJuIENO
T05FOyB9CiAgICAgc3RhdGljIFRleHREaXJlY3Rpb24gaW5pdGlhbERpcmVjdGlvbigpIHsgcmV0
dXJuIExUUjsgfQogICAgIHN0YXRpYyBXcml0aW5nTW9kZSBpbml0aWFsV3JpdGluZ01vZGUoKSB7
IHJldHVybiBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlOyB9CisgICAgc3RhdGljIFRleHRDb21iaW5l
IGluaXRpYWxUZXh0Q29tYmluZSgpIHsgcmV0dXJuIFRleHRDb21iaW5lTm9uZTsgfQogICAgIHN0
YXRpYyBFRGlzcGxheSBpbml0aWFsRGlzcGxheSgpIHsgcmV0dXJuIElOTElORTsgfQogICAgIHN0
YXRpYyBFRW1wdHlDZWxsIGluaXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1cm4gU0hPVzsgfQogICAg
IHN0YXRpYyBFRmxvYXQgaW5pdGlhbEZsb2F0aW5nKCkgeyByZXR1cm4gRk5PTkU7IH0KSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2
aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDEwIEBAIGVudW0gV3JpdGluZ01v
ZGUgewogICAgIFRvcFRvQm90dG9tV3JpdGluZ01vZGUsIFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUs
IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUsIEJvdHRvbVRvVG9wV3JpdGluZ01vZGUKIH07CiAKK2Vu
dW0gVGV4dENvbWJpbmUgeworICAgIFRleHRDb21iaW5lTm9uZSwgVGV4dENvbWJpbmVDbHVzdGVy
LCBUZXh0Q29tYmluZVVwcmlnaHQKK307CisKIGVudW0gRUZpbGxBdHRhY2htZW50IHsKICAgICBT
Y3JvbGxCYWNrZ3JvdW5kQXR0YWNobWVudCwgTG9jYWxCYWNrZ3JvdW5kQXR0YWNobWVudCwgRml4
ZWRCYWNrZ3JvdW5kQXR0YWNobWVudAogfTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCShyZXZpc2lvbiA3MDk2
NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZU5vbkkKICAgICAsIG1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29s
b3IoUmVuZGVyU3R5bGU6OmluaXRpYWxNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yKCkp
CiAgICAgLCBtX2FwcGVhcmFuY2UoUmVuZGVyU3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpCiAg
ICAgLCBtX2JvcmRlckZpdChSZW5kZXJTdHlsZTo6aW5pdGlhbEJvcmRlckZpdCgpKQorICAgICwg
bV90ZXh0Q29tYmluZShSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRDb21iaW5lKCkpCiAgICAgLCBt
X2NvdW50ZXJJbmNyZW1lbnQoMCkKICAgICAsIG1fY291bnRlclJlc2V0KDApCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtNzgsNiArNzksNyBAQCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25JCiAgICAgLCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90
ZUNvbG9yKG8ubWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcikKICAgICAsIG1fYXBwZWFy
YW5jZShvLm1fYXBwZWFyYW5jZSkKICAgICAsIG1fYm9yZGVyRml0KG8ubV9ib3JkZXJGaXQpCisg
ICAgLCBtX3RleHRDb21iaW5lKG8ubV90ZXh0Q29tYmluZSkKICAgICAsIG1fY291bnRlckluY3Jl
bWVudChvLm1fY291bnRlckluY3JlbWVudCkKICAgICAsIG1fY291bnRlclJlc2V0KG8ubV9jb3Vu
dGVyUmVzZXQpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtMTIzLDYgKzEy
NSw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICAgICAgICAg
JiYgbWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvciA9PSBvLm1hdGNoTmVhcmVzdE1haWxC
bG9ja3F1b3RlQ29sb3IKICAgICAgICAgJiYgbV9hcHBlYXJhbmNlID09IG8ubV9hcHBlYXJhbmNl
CiAgICAgICAgICYmIG1fYm9yZGVyRml0ID09IG8ubV9ib3JkZXJGaXQKKyAgICAgICAgJiYgbV90
ZXh0Q29tYmluZSA9PSBvLm1fdGV4dENvbWJpbmUKICAgICAgICAgJiYgbV9jb3VudGVySW5jcmVt
ZW50ID09IG8ubV9jb3VudGVySW5jcmVtZW50CiAgICAgICAgICYmIG1fY291bnRlclJlc2V0ID09
IG8ubV9jb3VudGVyUmVzZXQKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBA
IHB1YmxpYzoKICAgICB1bnNpZ25lZCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yIDog
MTsgLy8gRU1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IsIEZJWE1FOiBUaGlzIHByb3Bl
cnR5IG5lZWRzIHRvIGJlIGVsaW1pbmF0ZWQuIEl0IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gYWRk
ZWQuCiAgICAgdW5zaWduZWQgbV9hcHBlYXJhbmNlIDogNjsgLy8gRUFwcGVhcmFuY2UKICAgICB1
bnNpZ25lZCBtX2JvcmRlckZpdCA6IDE7IC8vIEVCb3JkZXJGaXQKKyAgICB1bnNpZ25lZCBtX3Rl
eHRDb21iaW5lIDogMjsgLy8gQ1NTMyB0ZXh0LWNvbWJpbmUgcHJvcGVydGllcwogICAgIAogICAg
IHNob3J0IG1fY291bnRlckluY3JlbWVudDsKICAgICBzaG9ydCBtX2NvdW50ZXJSZXNldDsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDcwOTY3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWth
bm8xQGFzaWEuYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxp
c3QuIFJlZmxlY3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6
IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJpbmUtcGFyc2VyLXRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJp
bmUtcGFyc2VyLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBl
Y3RlZC50eHQ6IFVwZGF0ZWQuCisgICAgICAgICogc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJh
c2ljLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAxMC0xMC0yOSAgSmFtZXMgUm9iaW5zb24g
IDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVwZGF0ZSBwaXhlbCBleHBlY3RhdGlv
bnMgZm9yIFNub3cgTGVvcGFyZCBmb3IgdGVzdHMgaW4gdGFibGVzL21vemlsbGEvYnVncy4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk2NikKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDcgQEAgem9vbTogMTsKIC13
ZWJraXQtcGVyc3BlY3RpdmU6IG5vbmU7CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogMzky
cHggMjg4cHg7CiAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKKy13ZWJraXQtdGV4dC1j
b21iaW5lOiBub25lOwogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZTsK
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAtd2Via2l0LXRleHQtc2Vj
dXJpdHk6IG5vbmU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
d2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJl
bmRlcmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIENv
bXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAtd2Via2l0LXBlcnNw
ZWN0aXZlOiBub25lCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IDUwJSA1MCUKICAg
ICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbAorICAgIC13ZWJraXQtdGV4dC1jb21iaW5l
OiBub25lCiAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZQogICAg
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCkKICAgICAtd2Via2l0LXRleHQt
c2VjdXJpdHk6IG5vbmUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5lLXBhcnNlci10ZXN0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTEgQEAKK3RleHQtY29tYmluZSBwYXJzZXIgdGVzdAorCistd2Via2l0
LXRleHQtY29tYmluZTpub25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0
LXRleHQtY29tYmluZTp1cHJpZ2h0CitPa2F5IGlmIC13ZWJraXQtdGV4dC1jb21iaW5lIHZhbHVl
cyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLgorCistd2Via2l0LXRleHQtY29tYmluZTpu
b25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0LXRleHQtY29tYmluZTp1
cHJpZ2h0CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQt
Y29tYmluZS1wYXJzZXItdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5l
LXBhcnNlci10ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8
L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHByaW50KG1lc3NhZ2UpCit7CisgICAgdmFyIHBh
cmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgcGFyYWdyYXBoLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7Cit9Citm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKwl2YXIgdGV4dENv
bWJpbmVWYWx1ZXMgPSBbIm5vbmUiLCAiY2x1c3RlciIsICJ1cHJpZ2h0Il07CisJdmFyIHBFbGVt
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKKwlmb3IgKCBpID0gMCA7
IGkgPCBwRWxlbXMubGVuZ3RoIDsgKytpICkKKwl7CisJCXZhciBlbGVtID0gcEVsZW1zW2ldOwor
CQllbGVtLnN0eWxlLndlYmtpdFRleHRDb21iaW5lID0gdGV4dENvbWJpbmVWYWx1ZXNbaV07CisJ
CXByaW50KCItd2Via2l0LXRleHQtY29tYmluZToiICsgZWxlbS5zdHlsZS53ZWJraXRUZXh0Q29t
YmluZSk7CisJfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
Cis8cD50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8L3A+Cis8ZGl2Pi13ZWJraXQtdGV4dC1jb21i
aW5lOm5vbmU8L2Rpdj4KKzxkaXY+LXdlYmtpdC10ZXh0LWNvbWJpbmU6Y2x1c3RlcjwvZGl2Pgor
PGRpdj4td2Via2l0LXRleHQtY29tYmluZTp1cHJpZ2h0PC9kaXY+Cis8cD5Pa2F5IGlmIC13ZWJr
aXQtdGV4dC1jb21iaW5lIHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLjwvcD4K
Kzxocj4KKzxwPjxvbCBpZD1jb25zb2xlPjwvb2w+PC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE1Niw2ICsxNTYsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBh
cmVuCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogbm9uZQogICAgIC13ZWJraXQtcGVyc3BlY3Rp
dmUtb3JpZ2luOiA1MCUgNTAlCiAgICAgLXdlYmtpdC1ydGwtb3JkZXJpbmc6IGxvZ2ljYWwKKyAg
ICAtd2Via2l0LXRleHQtY29tYmluZTogbm9uZQogICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9u
cy1pbi1lZmZlY3Q6IG5vbmUKICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiKDAsIDAs
IDApCiAgICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBub25lCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxl
LWJhc2ljLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzEyLDYgKzMxMiw4IEBAIHJl
Y3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1wZXIKIHJlY3Q6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4pIDogW29iamVjdCBDU1NW
YWx1ZUxpc3RdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcnRsLW9yZGVy
aW5nKSA6IGxvZ2ljYWwKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1y
dGwtb3JkZXJpbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWNvbWJpbmUpIDogbm9uZQorcmVjdDogc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXRleHQtY29tYmluZSkgOiBbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQt
ZGVjb3JhdGlvbnMtaW4tZWZmZWN0KSA6IG5vbmUKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQt
ZmlsbC1jb2xvcikgOiByZ2IoMCwgMCwgMCkKQEAgLTczNCw2ICs3MzYsOCBAQCBnOiBzdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcGVyc3BlCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luKSA6IFtvYmplY3QgQ1NTVmFsdWVMaXN0XQog
Zzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJ0bC1vcmRlcmluZykgOiBsb2dpY2Fs
CiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcnRsLW9yZGVyaW5nKSA6IFtv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJr
aXQtdGV4dC1jb21iaW5lKSA6IG5vbmUKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdl
YmtpdC10ZXh0LWNvbWJpbmUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBu
b25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtdGV4dC1kZWNvcmF0aW9u
cy1pbi1lZmZlY3QpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IpIDogcmdiKDAsIDAsIDApCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72428</attachid>
            <date>2010-10-29 19:32:18 -0700</date>
            <delta_ts>2010-11-02 23:56:13 -0700</delta_ts>
            <desc>(forgot to set review flag...)</desc>
            <filename>WK48608Patch_101030.txt</filename>
            <type>text/plain</type>
            <size>17950</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxpc3QuIFJlZmxl
Y3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAgIFRlc3Q6IGZh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuY3BwOiBBZGRlZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgc3VwcG9ydC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaDogQWRkZWQgYSBwcmltaXRpdmUgdmFsdWUgbWFwcGVyIGZvciB0
ZXh0LWNvbWJpbmUKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgVGV4dENvbWJpbmUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRl
ZCAidGV4dC1jb21iaW5lIi4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6IEFk
ZGVkIHRleHQtY29tYmluZSBwcm9wZXJ0eSBzdXBwb3J0LgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW46IEFkZGVkIHZhbHVlcyBmb3IgdGV4dC1jb21iaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6ZGlmZik6IEFkZGVkIGNoZWNrIG9mIHRleHQtY29tYmluZSB2YWx1ZS4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogQWRkZWQgYWNjZXNzb3JzIGZvciB0ZXh0LWNv
bWJpbmUuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dENvbWJpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHRDb21iaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsVGV4dENvbWJpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6IEFkZGVkIHRleHQtY29t
YmluZSBlbnRyeSBmb3IgUmVuZGVyU3R5bGUgb2JqZWN0IGhlcmUuCisKIDIwMTAtMTAtMjkgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggYnVpbGQu
CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJl
dmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw3IEBAIHN0YXRpYyBjb25zdCBpbnQg
Y29tcHV0ZWRQcm9wZXJ0aWVzW10gPSAKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZl
LAogICAgIENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW4sCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRSdGxPcmRlcmluZywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRDb21iaW5lLAog
ICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QsCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRUZXh0RmlsbENvbG9yLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFNlY3Vy
aXR5LApAQCAtMTQ2NCw2ICsxNDY1LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0
ZWRTdHlsZURlYwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUo
c3R5bGUtPmNvbG9yU3BhY2UoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcml0
aW5nTW9kZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT53cml0aW5nTW9kZSgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRD
b21iaW5lOgorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5
bGUtPnRleHRDb21iaW5lKCkpOwogICAgICAgICAKICAgICAgICAgLyogU2hvcnRoYW5kIHByb3Bl
cnRpZXMsIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIHNlZSBidWcgMTM2NTgqLwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZDoKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gNzA5
NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg2
LDYgKzE3ODYsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYgog
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKIAorICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0Q29tYmluZToKKyAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlTm9uZSB8fCBpZCA9PSBDU1NWYWx1ZUNsdXN0ZXIgfHwgaWQgPT0gQ1NTVmFsdWVVcHJp
Z2h0KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsK
KwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZH
VmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNDAsNiArMjA0MCwzOCBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgfQogfQogCit0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoVGV4dENv
bWJpbmUgZSkKKyAgICA6IG1fdHlwZShDU1NfSURFTlQpCisgICAgLCBtX2hhc0NhY2hlZENTU1Rl
eHQoZmFsc2UpCit7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBUZXh0Q29tYmluZU5vbmU6
CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU5vbmU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVGV4dENvbWJpbmVDbHVzdGVyOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVDbHVzdGVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRleHRDb21iaW5lVXByaWdo
dDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlVXByaWdodDsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgVGV4dENvbWJpbmUoKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25l
OworICAgIGNhc2UgQ1NTVmFsdWVDbHVzdGVyOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVD
bHVzdGVyOworICAgIGNhc2UgQ1NTVmFsdWVVcHJpZ2h0OgorICAgICAgICByZXR1cm4gVGV4dENv
bWJpbmVVcHJpZ2h0OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25lOworICAgIH0KK30KKwogdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZl
bnRzIGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5UKQogICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0
KGZhbHNlKQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2
ICsyNzYsNyBAQCB6LWluZGV4CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi14CiAtd2Via2l0
LXBlcnNwZWN0aXZlLW9yaWdpbi15CiAtd2Via2l0LXJ0bC1vcmRlcmluZworLXdlYmtpdC10ZXh0
LWNvbWJpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4
dC1maWxsLWNvbG9yCiAtd2Via2l0LXRleHQtc2VjdXJpdHkKSW5kZXg6IFdlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjA0LDYgKzU2MDQsMTEgQEAgdm9pZCBDU1NTdHls
ZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICAgICAgbV9mb250RGlydHkgPSB0
cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRDb21iaW5lOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJ
TUlUSVZFKHRleHRDb21iaW5lLCBUZXh0Q29tYmluZSkKKyAgICAgICAgcmV0dXJuOworCiAjaWYg
RU5BQkxFKFNWRykKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBUcnkgdGhlIFNWRyBwcm9wZXJ0
aWVzCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlzaW9uIDcwOTY1KQorKysgV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzY0LDMgKzc2
NCw3IEBAIGhvcml6b250YWwtdGIKIHZlcnRpY2FsLXJsCiB2ZXJ0aWNhbC1scgogaG9yaXpvbnRh
bC1idAorCisjIC13ZWJraXQtdGV4dC1jb21iaW5lCitjbHVzdGVyCit1cHJpZ2h0CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDYzLDYgKzQ2MywxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29u
c3QgCiAgICAgaWYgKGluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2RlICE9IG90aGVyLT5pbmhl
cml0ZWRfZmxhZ3MubV93cml0aW5nTW9kZSkKICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5j
ZUxheW91dDsKIAorICAgIC8vIENoZWNrIHRleHQgY29tYmluZSBtb2RlLgorICAgIGlmIChyYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV90ZXh0Q29tYmluZSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fdGV4dENvbWJpbmUpCisgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlv
dXQ7CisKICAgICAvLyBPdmVyZmxvdyByZXR1cm5zIGEgbGF5b3V0IGhpbnQuCiAgICAgaWYgKG5v
bmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3Mu
X292ZXJmbG93WCB8fAogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJmbG93WSAhPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1kpCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzE3LDYgKzcxNyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFBhZ2VTY2FsZVRyYW5zZm9ybShmbG9hdCk7CiAKICAgICBi
b29sIGhhc01hc2soKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tYXNr
Lmhhc0ltYWdlKCkgfHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbWFza0JveEltYWdlLmhhc0lt
YWdlKCk7IH0KKworICAgIFRleHRDb21iaW5lIHRleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VGV4dENvbWJpbmU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHRDb21i
aW5lKTsgfQogICAgIC8vIEVuZCBDU1MzIEdldHRlcnMKIAogICAgIC8vIEFwcGxlLXNwZWNpZmlj
IHByb3BlcnR5IGdldHRlciBtZXRob2RzCkBAIC0xMDUzLDYgKzEwNTUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRUcmFuc2Zvcm1PcmlnaW5ZKExlbmd0aCBsKSB7IFNFVF9WQVIocmFyZU5vbklu
aGVyaXRlZERhdGEuYWNjZXNzKCktPm1fdHJhbnNmb3JtLCBtX3ksIGwpOyB9CiAgICAgdm9pZCBz
ZXRUcmFuc2Zvcm1PcmlnaW5aKGZsb2F0IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV90cmFuc2Zvcm0sIG1feiwgZik7IH0KICAgICB2b2lkIHNldFNwZWFrKEVT
cGVhayBzKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHNwZWFrLCBzKTsgfQorICAgIHZv
aWQgc2V0VGV4dENvbWJpbmUoVGV4dENvbWJpbmUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3RleHRDb21iaW5lLCB2KTsgfQogICAgIC8vIEVuZCBDU1MzIFNldHRlcnMKIAog
ICAgIC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKQEAgLTExNzgsNiArMTE4MSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUNsZWFyIGluaXRpYWxDbGVhcigpIHsgcmV0dXJuIENO
T05FOyB9CiAgICAgc3RhdGljIFRleHREaXJlY3Rpb24gaW5pdGlhbERpcmVjdGlvbigpIHsgcmV0
dXJuIExUUjsgfQogICAgIHN0YXRpYyBXcml0aW5nTW9kZSBpbml0aWFsV3JpdGluZ01vZGUoKSB7
IHJldHVybiBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlOyB9CisgICAgc3RhdGljIFRleHRDb21iaW5l
IGluaXRpYWxUZXh0Q29tYmluZSgpIHsgcmV0dXJuIFRleHRDb21iaW5lTm9uZTsgfQogICAgIHN0
YXRpYyBFRGlzcGxheSBpbml0aWFsRGlzcGxheSgpIHsgcmV0dXJuIElOTElORTsgfQogICAgIHN0
YXRpYyBFRW1wdHlDZWxsIGluaXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1cm4gU0hPVzsgfQogICAg
IHN0YXRpYyBFRmxvYXQgaW5pdGlhbEZsb2F0aW5nKCkgeyByZXR1cm4gRk5PTkU7IH0KSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2
aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDEwIEBAIGVudW0gV3JpdGluZ01v
ZGUgewogICAgIFRvcFRvQm90dG9tV3JpdGluZ01vZGUsIFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUs
IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUsIEJvdHRvbVRvVG9wV3JpdGluZ01vZGUKIH07CiAKK2Vu
dW0gVGV4dENvbWJpbmUgeworICAgIFRleHRDb21iaW5lTm9uZSwgVGV4dENvbWJpbmVDbHVzdGVy
LCBUZXh0Q29tYmluZVVwcmlnaHQKK307CisKIGVudW0gRUZpbGxBdHRhY2htZW50IHsKICAgICBT
Y3JvbGxCYWNrZ3JvdW5kQXR0YWNobWVudCwgTG9jYWxCYWNrZ3JvdW5kQXR0YWNobWVudCwgRml4
ZWRCYWNrZ3JvdW5kQXR0YWNobWVudAogfTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCShyZXZpc2lvbiA3MDk2
NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZU5vbkkKICAgICAsIG1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29s
b3IoUmVuZGVyU3R5bGU6OmluaXRpYWxNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yKCkp
CiAgICAgLCBtX2FwcGVhcmFuY2UoUmVuZGVyU3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpCiAg
ICAgLCBtX2JvcmRlckZpdChSZW5kZXJTdHlsZTo6aW5pdGlhbEJvcmRlckZpdCgpKQorICAgICwg
bV90ZXh0Q29tYmluZShSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRDb21iaW5lKCkpCiAgICAgLCBt
X2NvdW50ZXJJbmNyZW1lbnQoMCkKICAgICAsIG1fY291bnRlclJlc2V0KDApCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtNzgsNiArNzksNyBAQCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25JCiAgICAgLCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90
ZUNvbG9yKG8ubWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcikKICAgICAsIG1fYXBwZWFy
YW5jZShvLm1fYXBwZWFyYW5jZSkKICAgICAsIG1fYm9yZGVyRml0KG8ubV9ib3JkZXJGaXQpCisg
ICAgLCBtX3RleHRDb21iaW5lKG8ubV90ZXh0Q29tYmluZSkKICAgICAsIG1fY291bnRlckluY3Jl
bWVudChvLm1fY291bnRlckluY3JlbWVudCkKICAgICAsIG1fY291bnRlclJlc2V0KG8ubV9jb3Vu
dGVyUmVzZXQpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtMTIzLDYgKzEy
NSw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICAgICAgICAg
JiYgbWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvciA9PSBvLm1hdGNoTmVhcmVzdE1haWxC
bG9ja3F1b3RlQ29sb3IKICAgICAgICAgJiYgbV9hcHBlYXJhbmNlID09IG8ubV9hcHBlYXJhbmNl
CiAgICAgICAgICYmIG1fYm9yZGVyRml0ID09IG8ubV9ib3JkZXJGaXQKKyAgICAgICAgJiYgbV90
ZXh0Q29tYmluZSA9PSBvLm1fdGV4dENvbWJpbmUKICAgICAgICAgJiYgbV9jb3VudGVySW5jcmVt
ZW50ID09IG8ubV9jb3VudGVySW5jcmVtZW50CiAgICAgICAgICYmIG1fY291bnRlclJlc2V0ID09
IG8ubV9jb3VudGVyUmVzZXQKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBA
IHB1YmxpYzoKICAgICB1bnNpZ25lZCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yIDog
MTsgLy8gRU1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IsIEZJWE1FOiBUaGlzIHByb3Bl
cnR5IG5lZWRzIHRvIGJlIGVsaW1pbmF0ZWQuIEl0IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gYWRk
ZWQuCiAgICAgdW5zaWduZWQgbV9hcHBlYXJhbmNlIDogNjsgLy8gRUFwcGVhcmFuY2UKICAgICB1
bnNpZ25lZCBtX2JvcmRlckZpdCA6IDE7IC8vIEVCb3JkZXJGaXQKKyAgICB1bnNpZ25lZCBtX3Rl
eHRDb21iaW5lIDogMjsgLy8gQ1NTMyB0ZXh0LWNvbWJpbmUgcHJvcGVydGllcwogICAgIAogICAg
IHNob3J0IG1fY291bnRlckluY3JlbWVudDsKICAgICBzaG9ydCBtX2NvdW50ZXJSZXNldDsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDcwOTY3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWth
bm8xQGFzaWEuYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxp
c3QuIFJlZmxlY3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6
IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJpbmUtcGFyc2VyLXRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJp
bmUtcGFyc2VyLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBl
Y3RlZC50eHQ6IFVwZGF0ZWQuCisgICAgICAgICogc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJh
c2ljLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAxMC0xMC0yOSAgSmFtZXMgUm9iaW5zb24g
IDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVwZGF0ZSBwaXhlbCBleHBlY3RhdGlv
bnMgZm9yIFNub3cgTGVvcGFyZCBmb3IgdGVzdHMgaW4gdGFibGVzL21vemlsbGEvYnVncy4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk2NikKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDcgQEAgem9vbTogMTsKIC13
ZWJraXQtcGVyc3BlY3RpdmU6IG5vbmU7CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogMzky
cHggMjg4cHg7CiAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKKy13ZWJraXQtdGV4dC1j
b21iaW5lOiBub25lOwogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZTsK
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAtd2Via2l0LXRleHQtc2Vj
dXJpdHk6IG5vbmU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
d2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJl
bmRlcmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIENv
bXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAtd2Via2l0LXBlcnNw
ZWN0aXZlOiBub25lCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IDUwJSA1MCUKICAg
ICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbAorICAgIC13ZWJraXQtdGV4dC1jb21iaW5l
OiBub25lCiAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZQogICAg
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCkKICAgICAtd2Via2l0LXRleHQt
c2VjdXJpdHk6IG5vbmUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5lLXBhcnNlci10ZXN0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTEgQEAKK3RleHQtY29tYmluZSBwYXJzZXIgdGVzdAorCistd2Via2l0
LXRleHQtY29tYmluZTpub25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0
LXRleHQtY29tYmluZTp1cHJpZ2h0CitPa2F5IGlmIC13ZWJraXQtdGV4dC1jb21iaW5lIHZhbHVl
cyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLgorCistd2Via2l0LXRleHQtY29tYmluZTpu
b25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0LXRleHQtY29tYmluZTp1
cHJpZ2h0CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQt
Y29tYmluZS1wYXJzZXItdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5l
LXBhcnNlci10ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8
L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHByaW50KG1lc3NhZ2UpCit7CisgICAgdmFyIHBh
cmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgcGFyYWdyYXBoLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7Cit9Citm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKwl2YXIgdGV4dENv
bWJpbmVWYWx1ZXMgPSBbIm5vbmUiLCAiY2x1c3RlciIsICJ1cHJpZ2h0Il07CisJdmFyIHBFbGVt
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKKwlmb3IgKCBpID0gMCA7
IGkgPCBwRWxlbXMubGVuZ3RoIDsgKytpICkKKwl7CisJCXZhciBlbGVtID0gcEVsZW1zW2ldOwor
CQllbGVtLnN0eWxlLndlYmtpdFRleHRDb21iaW5lID0gdGV4dENvbWJpbmVWYWx1ZXNbaV07CisJ
CXByaW50KCItd2Via2l0LXRleHQtY29tYmluZToiICsgZWxlbS5zdHlsZS53ZWJraXRUZXh0Q29t
YmluZSk7CisJfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
Cis8cD50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8L3A+Cis8ZGl2Pi13ZWJraXQtdGV4dC1jb21i
aW5lOm5vbmU8L2Rpdj4KKzxkaXY+LXdlYmtpdC10ZXh0LWNvbWJpbmU6Y2x1c3RlcjwvZGl2Pgor
PGRpdj4td2Via2l0LXRleHQtY29tYmluZTp1cHJpZ2h0PC9kaXY+Cis8cD5Pa2F5IGlmIC13ZWJr
aXQtdGV4dC1jb21iaW5lIHZhbHVlcyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLjwvcD4K
Kzxocj4KKzxwPjxvbCBpZD1jb25zb2xlPjwvb2w+PC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE1Niw2ICsxNTYsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBh
cmVuCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogbm9uZQogICAgIC13ZWJraXQtcGVyc3BlY3Rp
dmUtb3JpZ2luOiA1MCUgNTAlCiAgICAgLXdlYmtpdC1ydGwtb3JkZXJpbmc6IGxvZ2ljYWwKKyAg
ICAtd2Via2l0LXRleHQtY29tYmluZTogbm9uZQogICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9u
cy1pbi1lZmZlY3Q6IG5vbmUKICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiKDAsIDAs
IDApCiAgICAgLXdlYmtpdC10ZXh0LXNlY3VyaXR5OiBub25lCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxl
LWJhc2ljLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzEyLDYgKzMxMiw4IEBAIHJl
Y3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1wZXIKIHJlY3Q6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4pIDogW29iamVjdCBDU1NW
YWx1ZUxpc3RdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcnRsLW9yZGVy
aW5nKSA6IGxvZ2ljYWwKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1y
dGwtb3JkZXJpbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWNvbWJpbmUpIDogbm9uZQorcmVjdDogc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXRleHQtY29tYmluZSkgOiBbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQt
ZGVjb3JhdGlvbnMtaW4tZWZmZWN0KSA6IG5vbmUKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQt
ZmlsbC1jb2xvcikgOiByZ2IoMCwgMCwgMCkKQEAgLTczNCw2ICs3MzYsOCBAQCBnOiBzdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcGVyc3BlCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luKSA6IFtvYmplY3QgQ1NTVmFsdWVMaXN0XQog
Zzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJ0bC1vcmRlcmluZykgOiBsb2dpY2Fs
CiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcnRsLW9yZGVyaW5nKSA6IFtv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJr
aXQtdGV4dC1jb21iaW5lKSA6IG5vbmUKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdl
YmtpdC10ZXh0LWNvbWJpbmUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBu
b25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtdGV4dC1kZWNvcmF0aW9u
cy1pbi1lZmZlY3QpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IpIDogcmdiKDAsIDAsIDApCg==
</data>
<flag name="review"
          id="62677"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
    <flag name="commit-queue"
          id="63056"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72791</attachid>
            <date>2010-11-02 23:56:13 -0700</date>
            <delta_ts>2010-11-03 00:45:41 -0700</delta_ts>
            <desc>Fixed commit error. (Removed tab chars from my test.)</desc>
            <filename>WK48608Patch_101103.txt</filename>
            <type>text/plain</type>
            <size>17983</size>
            <attacher name="Takumi Takano">takano</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWthbm8xQGFzaWEu
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxpc3QuIFJlZmxl
Y3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAgIFRlc3Q6IGZh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuY3BwOiBBZGRlZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgc3VwcG9ydC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaDogQWRkZWQgYSBwcmltaXRpdmUgdmFsdWUgbWFwcGVyIGZvciB0
ZXh0LWNvbWJpbmUKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgVGV4dENvbWJpbmUpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOiBBZGRl
ZCAidGV4dC1jb21iaW5lIi4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6IEFk
ZGVkIHRleHQtY29tYmluZSBwcm9wZXJ0eSBzdXBwb3J0LgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW46IEFkZGVkIHZhbHVlcyBmb3IgdGV4dC1jb21iaW5lLgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6ZGlmZik6IEFkZGVkIGNoZWNrIG9mIHRleHQtY29tYmluZSB2YWx1ZS4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogQWRkZWQgYWNjZXNzb3JzIGZvciB0ZXh0LWNv
bWJpbmUuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6dGV4dENvbWJpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFRleHRDb21iaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsVGV4dENvbWJpbmUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDogQWRkZWQgdGV4dC1j
b21iaW5lIHByb3BlcnR5IHN1cHBvcnQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6IEFkZGVkIHRleHQtY29t
YmluZSBlbnRyeSBmb3IgUmVuZGVyU3R5bGUgb2JqZWN0IGhlcmUuCisKIDIwMTAtMTAtMjkgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggYnVpbGQu
CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJl
dmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw3IEBAIHN0YXRpYyBjb25zdCBpbnQg
Y29tcHV0ZWRQcm9wZXJ0aWVzW10gPSAKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZl
LAogICAgIENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW4sCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRSdGxPcmRlcmluZywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRDb21iaW5lLAog
ICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QsCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRUZXh0RmlsbENvbG9yLAogICAgIENTU1Byb3BlcnR5V2Via2l0VGV4dFNlY3Vy
aXR5LApAQCAtMTQ2NCw2ICsxNDY1LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0
ZWRTdHlsZURlYwogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUo
c3R5bGUtPmNvbG9yU3BhY2UoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcml0
aW5nTW9kZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT53cml0aW5nTW9kZSgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRD
b21iaW5lOgorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5
bGUtPnRleHRDb21iaW5lKCkpOwogICAgICAgICAKICAgICAgICAgLyogU2hvcnRoYW5kIHByb3Bl
cnRpZXMsIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIHNlZSBidWcgMTM2NTgqLwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZDoKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gNzA5
NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg2
LDYgKzE3ODYsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYgog
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBicmVhazsKIAorICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0Q29tYmluZToKKyAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlTm9uZSB8fCBpZCA9PSBDU1NWYWx1ZUNsdXN0ZXIgfHwgaWQgPT0gQ1NTVmFsdWVVcHJp
Z2h0KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsK
KwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZH
VmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNDAsNiArMjA0MCwzOCBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlCiAgICAgfQogfQogCit0ZW1w
bGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoVGV4dENv
bWJpbmUgZSkKKyAgICA6IG1fdHlwZShDU1NfSURFTlQpCisgICAgLCBtX2hhc0NhY2hlZENTU1Rl
eHQoZmFsc2UpCit7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBUZXh0Q29tYmluZU5vbmU6
CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU5vbmU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVGV4dENvbWJpbmVDbHVzdGVyOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVDbHVzdGVyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFRleHRDb21iaW5lVXByaWdo
dDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlVXByaWdodDsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgVGV4dENvbWJpbmUoKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkg
eworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25l
OworICAgIGNhc2UgQ1NTVmFsdWVDbHVzdGVyOgorICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVD
bHVzdGVyOworICAgIGNhc2UgQ1NTVmFsdWVVcHJpZ2h0OgorICAgICAgICByZXR1cm4gVGV4dENv
bWJpbmVVcHJpZ2h0OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gVGV4dENvbWJpbmVOb25lOworICAgIH0KK30KKwogdGVtcGxhdGU8
PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEVQb2ludGVyRXZl
bnRzIGUpCiAgICAgOiBtX3R5cGUoQ1NTX0lERU5UKQogICAgICwgbV9oYXNDYWNoZWRDU1NUZXh0
KGZhbHNlKQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2
ICsyNzYsNyBAQCB6LWluZGV4CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi14CiAtd2Via2l0
LXBlcnNwZWN0aXZlLW9yaWdpbi15CiAtd2Via2l0LXJ0bC1vcmRlcmluZworLXdlYmtpdC10ZXh0
LWNvbWJpbmUKIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QKIC13ZWJraXQtdGV4
dC1maWxsLWNvbG9yCiAtd2Via2l0LXRleHQtc2VjdXJpdHkKSW5kZXg6IFdlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjA0LDYgKzU2MDQsMTEgQEAgdm9pZCBDU1NTdHls
ZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAogICAgICAgICAgICAgbV9mb250RGlydHkgPSB0
cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQorCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRDb21iaW5lOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJ
TUlUSVZFKHRleHRDb21iaW5lLCBUZXh0Q29tYmluZSkKKyAgICAgICAgcmV0dXJuOworCiAjaWYg
RU5BQkxFKFNWRykKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBUcnkgdGhlIFNWRyBwcm9wZXJ0
aWVzCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlzaW9uIDcwOTY1KQorKysgV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzY0LDMgKzc2
NCw3IEBAIGhvcml6b250YWwtdGIKIHZlcnRpY2FsLXJsCiB2ZXJ0aWNhbC1scgogaG9yaXpvbnRh
bC1idAorCisjIC13ZWJraXQtdGV4dC1jb21iaW5lCitjbHVzdGVyCit1cHJpZ2h0CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiA3MDk2NSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDYzLDYgKzQ2MywxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29u
c3QgCiAgICAgaWYgKGluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2RlICE9IG90aGVyLT5pbmhl
cml0ZWRfZmxhZ3MubV93cml0aW5nTW9kZSkKICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5j
ZUxheW91dDsKIAorICAgIC8vIENoZWNrIHRleHQgY29tYmluZSBtb2RlLgorICAgIGlmIChyYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV90ZXh0Q29tYmluZSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fdGV4dENvbWJpbmUpCisgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlv
dXQ7CisKICAgICAvLyBPdmVyZmxvdyByZXR1cm5zIGEgbGF5b3V0IGhpbnQuCiAgICAgaWYgKG5v
bmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dYICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3Mu
X292ZXJmbG93WCB8fAogICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX292ZXJmbG93WSAhPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1kpCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDcwOTY1KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzE3LDYgKzcxNyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFBhZ2VTY2FsZVRyYW5zZm9ybShmbG9hdCk7CiAKICAgICBi
b29sIGhhc01hc2soKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tYXNr
Lmhhc0ltYWdlKCkgfHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbWFza0JveEltYWdlLmhhc0lt
YWdlKCk7IH0KKworICAgIFRleHRDb21iaW5lIHRleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VGV4dENvbWJpbmU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RleHRDb21i
aW5lKTsgfQogICAgIC8vIEVuZCBDU1MzIEdldHRlcnMKIAogICAgIC8vIEFwcGxlLXNwZWNpZmlj
IHByb3BlcnR5IGdldHRlciBtZXRob2RzCkBAIC0xMDUzLDYgKzEwNTUsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRUcmFuc2Zvcm1PcmlnaW5ZKExlbmd0aCBsKSB7IFNFVF9WQVIocmFyZU5vbklu
aGVyaXRlZERhdGEuYWNjZXNzKCktPm1fdHJhbnNmb3JtLCBtX3ksIGwpOyB9CiAgICAgdm9pZCBz
ZXRUcmFuc2Zvcm1PcmlnaW5aKGZsb2F0IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV90cmFuc2Zvcm0sIG1feiwgZik7IH0KICAgICB2b2lkIHNldFNwZWFrKEVT
cGVhayBzKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHNwZWFrLCBzKTsgfQorICAgIHZv
aWQgc2V0VGV4dENvbWJpbmUoVGV4dENvbWJpbmUgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3RleHRDb21iaW5lLCB2KTsgfQogICAgIC8vIEVuZCBDU1MzIFNldHRlcnMKIAog
ICAgIC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKQEAgLTExNzgsNiArMTE4MSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUNsZWFyIGluaXRpYWxDbGVhcigpIHsgcmV0dXJuIENO
T05FOyB9CiAgICAgc3RhdGljIFRleHREaXJlY3Rpb24gaW5pdGlhbERpcmVjdGlvbigpIHsgcmV0
dXJuIExUUjsgfQogICAgIHN0YXRpYyBXcml0aW5nTW9kZSBpbml0aWFsV3JpdGluZ01vZGUoKSB7
IHJldHVybiBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlOyB9CisgICAgc3RhdGljIFRleHRDb21iaW5l
IGluaXRpYWxUZXh0Q29tYmluZSgpIHsgcmV0dXJuIFRleHRDb21iaW5lTm9uZTsgfQogICAgIHN0
YXRpYyBFRGlzcGxheSBpbml0aWFsRGlzcGxheSgpIHsgcmV0dXJuIElOTElORTsgfQogICAgIHN0
YXRpYyBFRW1wdHlDZWxsIGluaXRpYWxFbXB0eUNlbGxzKCkgeyByZXR1cm4gU0hPVzsgfQogICAg
IHN0YXRpYyBFRmxvYXQgaW5pdGlhbEZsb2F0aW5nKCkgeyByZXR1cm4gRk5PTkU7IH0KSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAkocmV2
aXNpb24gNzA5NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMzLDEwIEBAIGVudW0gV3JpdGluZ01v
ZGUgewogICAgIFRvcFRvQm90dG9tV3JpdGluZ01vZGUsIFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUs
IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUsIEJvdHRvbVRvVG9wV3JpdGluZ01vZGUKIH07CiAKK2Vu
dW0gVGV4dENvbWJpbmUgeworICAgIFRleHRDb21iaW5lTm9uZSwgVGV4dENvbWJpbmVDbHVzdGVy
LCBUZXh0Q29tYmluZVVwcmlnaHQKK307CisKIGVudW0gRUZpbGxBdHRhY2htZW50IHsKICAgICBT
Y3JvbGxCYWNrZ3JvdW5kQXR0YWNobWVudCwgTG9jYWxCYWNrZ3JvdW5kQXR0YWNobWVudCwgRml4
ZWRCYWNrZ3JvdW5kQXR0YWNobWVudAogfTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCShyZXZpc2lvbiA3MDk2
NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZU5vbkkKICAgICAsIG1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29s
b3IoUmVuZGVyU3R5bGU6OmluaXRpYWxNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yKCkp
CiAgICAgLCBtX2FwcGVhcmFuY2UoUmVuZGVyU3R5bGU6OmluaXRpYWxBcHBlYXJhbmNlKCkpCiAg
ICAgLCBtX2JvcmRlckZpdChSZW5kZXJTdHlsZTo6aW5pdGlhbEJvcmRlckZpdCgpKQorICAgICwg
bV90ZXh0Q29tYmluZShSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRDb21iaW5lKCkpCiAgICAgLCBt
X2NvdW50ZXJJbmNyZW1lbnQoMCkKICAgICAsIG1fY291bnRlclJlc2V0KDApCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtNzgsNiArNzksNyBAQCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25JCiAgICAgLCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90
ZUNvbG9yKG8ubWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcikKICAgICAsIG1fYXBwZWFy
YW5jZShvLm1fYXBwZWFyYW5jZSkKICAgICAsIG1fYm9yZGVyRml0KG8ubV9ib3JkZXJGaXQpCisg
ICAgLCBtX3RleHRDb21iaW5lKG8ubV90ZXh0Q29tYmluZSkKICAgICAsIG1fY291bnRlckluY3Jl
bWVudChvLm1fY291bnRlckluY3JlbWVudCkKICAgICAsIG1fY291bnRlclJlc2V0KG8ubV9jb3Vu
dGVyUmVzZXQpCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpAQCAtMTIzLDYgKzEy
NSw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3IKICAgICAgICAg
JiYgbWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvciA9PSBvLm1hdGNoTmVhcmVzdE1haWxC
bG9ja3F1b3RlQ29sb3IKICAgICAgICAgJiYgbV9hcHBlYXJhbmNlID09IG8ubV9hcHBlYXJhbmNl
CiAgICAgICAgICYmIG1fYm9yZGVyRml0ID09IG8ubV9ib3JkZXJGaXQKKyAgICAgICAgJiYgbV90
ZXh0Q29tYmluZSA9PSBvLm1fdGV4dENvbWJpbmUKICAgICAgICAgJiYgbV9jb3VudGVySW5jcmVt
ZW50ID09IG8ubV9jb3VudGVySW5jcmVtZW50CiAgICAgICAgICYmIG1fY291bnRlclJlc2V0ID09
IG8ubV9jb3VudGVyUmVzZXQKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCShyZXZpc2lvbiA3MDk2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBA
IHB1YmxpYzoKICAgICB1bnNpZ25lZCBtYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yIDog
MTsgLy8gRU1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IsIEZJWE1FOiBUaGlzIHByb3Bl
cnR5IG5lZWRzIHRvIGJlIGVsaW1pbmF0ZWQuIEl0IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gYWRk
ZWQuCiAgICAgdW5zaWduZWQgbV9hcHBlYXJhbmNlIDogNjsgLy8gRUFwcGVhcmFuY2UKICAgICB1
bnNpZ25lZCBtX2JvcmRlckZpdCA6IDE7IC8vIEVCb3JkZXJGaXQKKyAgICB1bnNpZ25lZCBtX3Rl
eHRDb21iaW5lIDogMjsgLy8gQ1NTMyB0ZXh0LWNvbWJpbmUgcHJvcGVydGllcwogICAgIAogICAg
IHNob3J0IG1fY291bnRlckluY3JlbWVudDsKICAgICBzaG9ydCBtX2NvdW50ZXJSZXNldDsKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDcwOTY3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTAtMjkgIHRha2FubyB0YWt1bWkgIDx0YWth
bm8xQGFzaWEuYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXh0LWNvbWJpbmUgcHJvcGVydHkgdG8gb3VyIHByb3BlcnR5IGxp
c3QuIFJlZmxlY3QgdGhlIHNldHRpbmcgdG8gYSBSZW5kZXJTdHlsZSBvYmplY3QuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODYwOAorCisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6
IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJpbmUtcGFyc2VyLXRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJp
bmUtcGFyc2VyLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBl
Y3RlZC50eHQ6IFVwZGF0ZWQuCisgICAgICAgICogc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJh
c2ljLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAxMC0xMC0yOSAgSmFtZXMgUm9iaW5zb24g
IDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVwZGF0ZSBwaXhlbCBleHBlY3RhdGlv
bnMgZm9yIFNub3cgTGVvcGFyZCBmb3IgdGVzdHMgaW4gdGFibGVzL21vemlsbGEvYnVncy4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk2NikKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDcgQEAgem9vbTogMTsKIC13
ZWJraXQtcGVyc3BlY3RpdmU6IG5vbmU7CiAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogMzky
cHggMjg4cHg7CiAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbDsKKy13ZWJraXQtdGV4dC1j
b21iaW5lOiBub25lOwogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZTsK
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAtd2Via2l0LXRleHQtc2Vj
dXJpdHk6IG5vbmU7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
d2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJl
bmRlcmVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIENv
bXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAtd2Via2l0LXBlcnNw
ZWN0aXZlOiBub25lCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IDUwJSA1MCUKICAg
ICAtd2Via2l0LXJ0bC1vcmRlcmluZzogbG9naWNhbAorICAgIC13ZWJraXQtdGV4dC1jb21iaW5l
OiBub25lCiAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdDogbm9uZQogICAg
IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2IoMCwgMCwgMCkKICAgICAtd2Via2l0LXRleHQt
c2VjdXJpdHk6IG5vbmUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5lLXBhcnNlci10ZXN0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTEgQEAKK3RleHQtY29tYmluZSBwYXJzZXIgdGVzdAorCistd2Via2l0
LXRleHQtY29tYmluZTpub25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0
LXRleHQtY29tYmluZTp1cHJpZ2h0CitPa2F5IGlmIC13ZWJraXQtdGV4dC1jb21iaW5lIHZhbHVl
cyBhYm92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLgorCistd2Via2l0LXRleHQtY29tYmluZTpu
b25lCistd2Via2l0LXRleHQtY29tYmluZTpjbHVzdGVyCistd2Via2l0LXRleHQtY29tYmluZTp1
cHJpZ2h0CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQt
Y29tYmluZS1wYXJzZXItdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1wYXJzZXItdGVzdC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5l
LXBhcnNlci10ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT50ZXh0LWNvbWJpbmUgcGFyc2VyIHRlc3Q8
L3RpdGxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHByaW50KG1lc3NhZ2UpCit7CisgICAgdmFyIHBh
cmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgcGFyYWdyYXBoLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7Cit9Citm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGV4
dENvbWJpbmVWYWx1ZXMgPSBbIm5vbmUiLCAiY2x1c3RlciIsICJ1cHJpZ2h0Il07CisgICAgdmFy
IHBFbGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKKyAgICBmb3Ig
KCBpID0gMCA7IGkgPCBwRWxlbXMubGVuZ3RoIDsgKytpICkKKyAgICB7CisgICAgICAgIHZhciBl
bGVtID0gcEVsZW1zW2ldOworICAgICAgICBlbGVtLnN0eWxlLndlYmtpdFRleHRDb21iaW5lID0g
dGV4dENvbWJpbmVWYWx1ZXNbaV07CisgICAgICAgIHByaW50KCItd2Via2l0LXRleHQtY29tYmlu
ZToiICsgZWxlbS5zdHlsZS53ZWJraXRUZXh0Q29tYmluZSk7CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cD50ZXh0LWNvbWJpbmUgcGFyc2Vy
IHRlc3Q8L3A+Cis8ZGl2Pi13ZWJraXQtdGV4dC1jb21iaW5lOm5vbmU8L2Rpdj4KKzxkaXY+LXdl
YmtpdC10ZXh0LWNvbWJpbmU6Y2x1c3RlcjwvZGl2PgorPGRpdj4td2Via2l0LXRleHQtY29tYmlu
ZTp1cHJpZ2h0PC9kaXY+Cis8cD5Pa2F5IGlmIC13ZWJraXQtdGV4dC1jb21iaW5lIHZhbHVlcyBh
Ym92ZSBhbmQgYmVsb3cgYXJlIHRoZSBzYW1lLjwvcD4KKzxocj4KKzxwPjxvbCBpZD1jb25zb2xl
Pjwvb2w+PC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5k
ZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJl
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5k
ZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw2ICsxNTYsNyBAQCBDb21w
dXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVuCiAgICAgLXdlYmtpdC1wZXJzcGVj
dGl2ZTogbm9uZQogICAgIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiA1MCUgNTAlCiAgICAg
LXdlYmtpdC1ydGwtb3JkZXJpbmc6IGxvZ2ljYWwKKyAgICAtd2Via2l0LXRleHQtY29tYmluZTog
bm9uZQogICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3Q6IG5vbmUKICAgICAt
d2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiKDAsIDAsIDApCiAgICAgLXdlYmtpdC10ZXh0LXNl
Y3VyaXR5OiBub25lCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUt
YmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTY2KQorKysgTGF5
b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMzEyLDYgKzMxMiw4IEBAIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFs
dWUoLXdlYmtpdC1wZXIKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1w
ZXJzcGVjdGl2ZS1vcmlnaW4pIDogW29iamVjdCBDU1NWYWx1ZUxpc3RdCiByZWN0OiBzdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcnRsLW9yZGVyaW5nKSA6IGxvZ2ljYWwKIHJlY3Q6IHN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ydGwtb3JkZXJpbmcpIDogW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10
ZXh0LWNvbWJpbmUpIDogbm9uZQorcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Vi
a2l0LXRleHQtY29tYmluZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0KSA6
IG5vbmUKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC10ZXh0LWRlY29y
YXRpb25zLWluLWVmZmVjdCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXRleHQtZmlsbC1jb2xvcikgOiByZ2IoMCwgMCwg
MCkKQEAgLTczNCw2ICs3MzYsOCBAQCBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQt
cGVyc3BlCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcGVyc3BlY3RpdmUt
b3JpZ2luKSA6IFtvYmplY3QgQ1NTVmFsdWVMaXN0XQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgtd2Via2l0LXJ0bC1vcmRlcmluZykgOiBsb2dpY2FsCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKC13ZWJraXQtcnRsLW9yZGVyaW5nKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
CitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtdGV4dC1jb21iaW5lKSA6IG5vbmUK
K2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC10ZXh0LWNvbWJpbmUpIDogW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtp
dC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCkgOiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QpIDogW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC10ZXh0
LWZpbGwtY29sb3IpIDogcmdiKDAsIDAsIDApCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>